Greg's Devblog Par un développeur, pour les développeurs

24sept/100

Les machines virtuelles et le développement

Installation rapide

Quand je suis arrivé dans ma boite, je pensais passer 1 ou 2 jours à installer le PC (enfin non, le Mac, mais ça ne change rien) pour mettre dessus tous les outils de développements (IDEs qui vont bien), les librairies tierces à utiliser, les compilos adaptés au développement sur eBook, etc... Au final, rien de tout ça : on a installé Parallels sur ma machine, le patron m'a filé une copie de sa VM Parallels, et voilà, en 30 minutes (le temps de transférer tout ça par ethernet :s), j'avais une copie parfaite de son environnement à lui...

Copie tellement parfaite que j'avais même son terminal dans l'état où il l'avait laissé, avec les dernières commandes lancées et tout et tout (compilation + upload en ligne de commande oblige). Ca me parait être un avantage indéniable pour tout "installer" rapidement quand on débarque !

De façon analogue, quand je suis passé en télé-travail, qu'ai-je eu à faire ? Rien de particulier ! Plutôt que d'avoir à tout installer et importer les 30 projets par SVN, j'ai juste balancé une autre copie de la VM sur mon Mac, et voilà !

Travail immédiat

Autre avantage : quand je pars, je mets la VM en mode "suspendu", j'éteins le Mac, et le lendemain matin quand je rouvre, je relance la VM et je retrouve tout l'environnement en l'état. Quel intérêt me direz-vous ? Et bien en fait j'ai pas mal de trucs ouverts :

  • Netbeans pour une partie des projets
  • Eclipse pour 4 autres projets
  • gedit avec quelques fichiers de config et de logs dedans
  • Un terminal avec 5 tabs (3 pour les projets Eclipse qui doivent être compilés en ligne de commande, 1 pour le projet Android, 1 déjà dans le bon chemin pour lancer le projet dans le simulateur d'eBook), avec surtout dans chaque tab l'historique des commandes (compiler pour ARM, compiler pour x86, en release ou debug, etc...).

Au final, tout rouvrir, relancer les terminaux dans les bons dossiers, et retrouver les commandes, ça prendrait du temps. Là, j'allume, et pouf, je suis dans le même état que la veille (avec le curseur de la souris sur la même ligne du même fichier que quand je suis parti). Plutôt pas mal :)

Oui, mais ?

Bon, tout cela parait un poil trop idyllique... Il doit bien y avoir un souci quelque part, non ? Le souci va se situer au niveau des performances globales de la machine, qui peuvent dans certains cas être un peu dégardées. En fait, au niveau CPU, aucun souci. De toute façon l'iMac possède un quad-core, donc en dédier 2 à la VM ne pose aucun souci. Par contre, niveau RAM, malgré les 4Go, si j'en alloue 2 à la VM l'ensemble de la machine est super lent. Donc j'en alloue un peu moins, et parfois (de façon surprenante) ça peut être limite avec Netbeans (et ses 30 projets) et Eclipse (et sa tripotée de projets aussi) d'ouverts...

Un autre souci est la place que prend la VM : créée avec un disque dur virtuel de 60Go, elle prend donc, sur le disque... 60Go. Je n'ai pas testé l'option de compression du disque dur pour voir si on gagne beaucoup (en espérant ne pas trop perdre en performance), ça pourrait peut-être corriger le souci.

Mais en-dehors de ça, je pense que la VM pour le développement est tout de même une excellente solution. Je devrais probablement le faire un peu plus généralement pour mes autres développement, puisque ça permet de faire des snapshot de son environnement de développement, ce qui évite les réinstallations foireuses en cas de coup dur ^^

Commentaires (0) Trackbacks (0)

Aucun commentaire pour l'instant


Laisser un commentaire


Aucun trackbacks pour l'instant