Styles

jeudi 29 janvier 2009

Disque dur externe et capitalisation

Pourquoi faire simple quand on peut faire compliqué. Étant en possession d’un disque dur externe de 120Go Western Digital (il n'en font plus des comme ça, le remplaçant étant le Western Digital My Passport Essential), j’ai pour objectif d’y déposer tout mon environnement de travail, que ce soit les applications ou les données que j’utilise au jour le jour.

Mon but est de ne plus avoir besoin de quoi que ce soit sur le disque dur interne du PC sur lequel je travaille, de considérer réellement le PC comme un terminal banalisé, interchangeable de façon transparente avec n’importe quel autre PC Wintel compatible.

Mais pourquoi tant d’efforts pour être indépendant de la machine ? Tout simplement parce que je suis parti du constat suivant :

- tout d’abord entre mes lieux de travail (j’en ai plusieurs), chez moi, chez des amis ou la famille, je suis amené à travailler avec 8 PC différents :
  • 3 PC au travail (1 desktop pour le développement, 1 ordi portable, 1 desktop chez le(s) client(s) )
  • 4 ordinateurs chez moi (3 ordi portable + 1 vieux PC de 1998)
  • 1 PC différent par ami ou la famille

- Sur tout ces PC, des systèmes d’exploitations différents sont installés (principalement Windows et Linux, mais aussi un OpenBSD).

- Quand je change de projet, de mission ou de client, quand le temps passe et que mes PC deviennent obsolètes, je dois les changer et me retrouve avec des PC vierge de toute installation environ tous les deux ans.

- J’aime travailler avec des environnements riches en outils (130 applications installées sur mon disque dur externe pour le moment)

Bref, l’installation d’environnements complets entièrement adaptés à mes besoins prend beaucoup de temps et je ne peux pas me permettre d’installer certains outils sur tous les PC que je rencontre.

Ainsi, il est apparu bien pratique de posséder un disque dur externe d’une capacité suffisante pour y stocker :

- toutes les applications de bureautique, de développement (y compris des serveurs comme par exemple Jboss Server, Apache httpd/php/mysql), de loisirs dont j'ai besoin

- Toutes mes données de travail, et ce de façon sécurisée et facilement backupable.

Globalement, sur le disque dur externe, j’ai :

- à la racine, un fichier script d’initialisation par type d’environnement (1 pour Windows, 1 pour Linux, etc.) qui s’exécute au branchement sur le PC du disque dur et configure le PC d’une certaine manière pour me permettre de lancer n’importe quelle application sans problème. Il s’agit notamment de déclarer des variables d’environnement utilisées par les outils.

- Dans un répertoire soft non-crypté, j’ai rassemblé l’ensemble des applications Windows de mon environnement. Chaque application est dans son répertoire dont le nom est construit de la manière suivante : nomduproduit-version (par exemple emacs-22.2). Les applications sont la plupart du temps déposées directement dans ce répertoire, sans configuration particulière. Je ne backup pas le répertoire soft, considérant que si le disque dur est défaillant, je pourrai toujours retrouver les applications sur internet et les réinstaller.

- Je crée des volumes truecrypt (plusieurs s’il le faut) pour y stocker toutes mes données de travail. Ces volumes sont encryptés avec un mot de passe dur. Je crée des volumes truecrypt d’une taille de 4Go histoire de pouvoir facilement les graver sur un DVD-ROM pour faire des backups, et formatés en FAT32 histoire de ne pas avoir de sécurité associée à tous les fichiers et pouvoir ainsi passer de PC en PC sans problème. Les scripts de démarrage me demandent mon mot de passe et montent automatiquement ces volumes sur le système hôte. L'intérêt de truecrypt, c'est qu'il fonctionne aussi sous linux, ça permet d'ouvrir mes volumes truecrypt quelque soit le système d'exploitation.

- Un script de fermeture (appelé « stop ») permet de déconfigurer proprement l’environnement pour le remettre comme précédemment, d’arrêter toutes les applications issues du disque dur externe et de démonter les volumes truecrypt

- Un menu avec des liens vers toutes les applications installées sur mon DD externe est placé dans le menu Démarrer / Programme de l’utilisateur en cours. Cela permet de retrouver des liens pour lancer toutes les applications disponibles.

- J’ai même mis un Raccourci vers Emacs dans le menu contextuel SendTo (Envoyer vers) histoire de pouvoir envoyer n’importe quel fichier vers mon éditeur préféré.

Concrètement, lorsque je branche mon DD externe sur un machine Wintel, une fenêtre me demande automatiquement mon mot de passe truecrypt, puis monte les volumes truecrypt grâce à ce mot de passe et configure tout l’environnement pour permettre à toutes les applications de fonctionner.

Je lance automatiquement svnserve sur un repository placé sur un disque crypté. J’ai ainsi tout un environnement de développement avec versionning prêt à l’emploi et configuré pour s’intégrer avec Emacs.

Ainsi, dès que j’ai une nouvelle application à essayer, des nouveaux composants emacs lisp à installer, le temps que je passe à installer les composants sur le disque dur externe est capitalisé pour l’avenir et je n’ai pas à refaire toutes les manipulations sur chaque PC que j’utilise.

Pour ce qui est des applications Windows qui doivent absolument utiliser la base de registre, j’utilise l’outil sandboxie qui permet de faire fonctionner toute application dans un bac à sable entièrement fermé. Mais finalement, après 2 ans d’utilisation de mon disque dur externe, je m’aperçois que je n’utilise jamais d’application de ce type, et donc je ne recours jamais à sandboxie.

Quand mon installation prend un certain nombre d’opérations manuelles non évidentes, ou pas très bien décrites dans le manuel utilisateur, je me construis une check-list reprenant l’ensemble des étapes que j’ai réalisé pour installer le logiciel. Cela m’assure que si mon disque dur externe plante, je peux très rapidement réinstaller le logiciel sans trop réfléchir.


Globalement, je ne regrette vraiment pas d’avoir tout passé sur ce disque dur externe. Avec 5400RPM sur USB 2.0 (480Mb/s), la vitesse de transfert me suffit amplement pour travailler correctement.

Aucun commentaire: