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.