‚ŹĪ Time to read: 2 mins 49 secs

Développeurs! Tous Up avec Vagrant

On a¬†des choix √©normes¬†pour¬†construire notre¬†environnement de d√©veloppement web. L’habitude √©tait¬†d’installer des pr√©-construits “tout-en-un” programmes¬†serveurs, tels que WAMPP (Windows Apache MySQL PHP¬†Protocole¬†ou¬†XAMP la¬†version “friendly” pour Linux¬†et Mac. En mode expert, on peut installer les logiciels directement et ce casser la t√™te √† la configuration.
Pour travaillez sur différents projets comme PHP 5.6 et PHP 7, MySQL, SQLite, MongoDB, NodeJS, Postgres, PEAR, PHPUnit, Rails 3.1, etc on installe tous ces outils sur notre ordinateur ce qui lui rend trop lent et peut devenir infernal.
Il est pr√©f√©rable d’avoir une machine en locale, en l’utilisant comme un serveur sur le r√©seau avec les partages Samba ou un serveur SSH. Cette derni√®re peut conduire √† des temps de latence sur les fichiers I/O, qui sont extr√™mement ennuyeux. Cette id√©e peut √™tre utile et¬†extr√™mement importante de nous assurer que notre environnement de d√©veloppement est identique √† l’environnement de production, et qui correspond √† la m√™me architecture syst√®me¬†de point de vue RAM, Nombre de coeurs et la connexion Internet.
Si vous venez de penser √† installer Apache, PHP et My Sql, il faut penser √† un facteur tr√®s important. Si vous d√©veloppez sur Windows8 et d√©ployait sur un syst√®me Ubuntu, vous remarquerez qu’il y a des probl√®mes li√©s aux fichiers commen√ßant par une capitalisation. Ce qui est commun dans Cakephp, quand quelqu’un d√©veloppe¬†un plugin avec une premi√®re lettre en minuscule. Il le chargera bien s√Ľr sur OSX/Win8, mais √ßa va briser lorsqu’il est d√©ploy√© √† la production(Linux). Le processus de d√©veloppement aurait pu simplement vous perdre certaines affaires, √† cause de la diff√©rence des OS que personne ne pensaient jusqu’√† ce qu’il soit trop tard.
Alors, quelle est la solution? Forcer tous vos d√©veloppeurs √† jeter leurs diff√©rents outils et de d√©velopper sur le m√™me mod√®le exact de l’ordinateur portable?
Vous pouvez utiliser Linux, dans ce cas¬†il faut se battre sur la¬†distribution √† utiliser. Forcer les d√©veloppeurs √† utiliser le m√™me syst√®me d’exploitation va entra√ģner des probl√®mes¬†et la¬†r√©duction de la productivit√©. Un d√©veloppeur qui utilise Ubuntu/Debian se trouve mal √† l’aise sur Red Hat ou¬†Arch Linux et surtout que la majorit√© aime Windows.
La virtualisation est la r√©ponse, mais quand les gens pensent de la¬†virtualisation, ils pensent¬†souvent des probl√®mes de performance et leurs ventilateurs tourner follement alors que leur ordinateur portable tente d√©sesp√©r√©ment d’ex√©cuter deux syst√®mes d’exploitation.
Cela peut √™tre encore le cas en essayant d’ex√©cuter Windows sur une machine de faible puissance, mais ces jours-ci, un PC¬†en moyenne dispose de 4 Go de RAM hors de la bo√ģte, ce qui est plus que suffisant pour alimenter une installation d’un serveur Ubuntu fonctionnant en mode ligne de commande et tous vos outils habituels de d√©veloppement (IDE, navigateur, outils de¬†d√©boggage, etc). Il¬†ya¬†quelques options pour¬†la¬†virtualisation, mais je pr√©f√®re VirtualBox d’Oracle (qui est gratuit). Ce logiciel fait tout le levage lourd pour la¬†virtualisation, puis un outil appel√© Vagrant peut g√©rer tous ces cas.

PS: Si votre ordinateur est vieux vous risquez de le nuire avec Vagrant.