J’organise mes répertoires de travail

Date de publication:
Durée de lecture estimée:

J'ai eu l'occasion pour un projet de travailler avec le langage Go et j'avoue que je l'ai trouvé séduisant. Il y a de nombreuses bonnes idées dans ce langage qui finalement est assez proche de Perl en terme de finalités. Comme Perl, il se destine à l'écriture d'utilitaires système ou aux développements de services web. Ils peuvent d'ailleurs combiner leurs forces car il est aisé d'appeler des fonctions écrites en Go à partir de Perl. Cette expérience m'a donné envie de reprendre certains concepts comme l'organisation des répertoires de travail.

En effet, en Go, l’environnement de travail est défini par le langage. Votre code, vos librairies ou encore vos fichiers binaires ont un emplacement bien précis au sein d’une arborescence standardisée. Un répertoire nommé go contient vos sous-répertoires de travail. Cette organisation peut paraître rigide mais elle présente de nombreux avantages. Ainsi, si vous travaillez avec plusieurs ordinateurs, l’arborescence de travail sera toujours la même quelque soit la machine ou le système utilisé. Si vous travaillez en équipe, l’ensemble des membres du projet partagera la même arborescence. Cela facilite grandement l’écriture de scripts utilitaires ou encore celle de fichiers de type makefile exploitant des variables d’environnement.

Les répertoires de travail

Partant de cette constatation, je me suis dit qu’il était parfaitement possible de faire la même chose avec Perl. Pour ma part, j’ai créé un répertoire perl placé dans mon répertoire utilisateur. Il est organisé de la façon suivante :

perl
├── bin
├── lib
└── src

Le répertoire bin est destiné à des scripts Perl transformés en exécutable à l’aide de PAR::Packer, Le répertoire lib contient des libraries ou des modules que j’utilise pour mes projets. Enfin, le répertoire src regroupe l’ensemble des codes sources de mes projets.

Définition des variables d’environnement

Pour naviguer aisément au sein de cette arborescence, j’ai défini trois variables d’environnement nommées PLSRC, PLLIB et PLBIN. Sous Linux, elles sont définies dans le fichier de configuration .profile :

export PLSRC=~/perl/src/
export PLBIN=~/perl/bin/
export PLLIB=~/perl/lib/

Si vous travaillez sous Windows, vous pouvez utiliser la même organisation des répertoires. Par contre, les variables d’environnement devront être définies à l’aide des paramètres système avancés du panneau de configuration.

Organisation de mes codes sources

Comme beaucoup de développeurs, je travaille souvent sur mes propres projets mais aussi sur des projets professionnels. En reprenant le modèle utilisé par Go, j’ai subdivisé le répertoire src en sous-répertoires pour regrouper les différents projets en fonction de leur origine. Chacun de ces répertoires est nommé avec l’identité du “propriétaire” suivie de l’extension .pl.

perl
├── bin
├── lib
└── src
    ├── olivier.pl
    └── travail.pl

Enfin, chaque projet est placé dans un sous-répertoire dédié.

perl
├── bin
├── lib
└── src
    ├── olivier.pl
    │   ├── monautreprojet
    │   └── monprojet
    └── travail.pl
        └── unprojetpro

Cette organisation est simple à mettre en oeuvre. Elle permet d’éviter le chaos. Je l’utilise depuis plusieurs mois et elle me facilite vraiment la vie.