Je ne résiste pas à poursuivre l’analyse de tranches de vie que je reçois :
Hier matin, nouvelle génération : Ca plante toujours à la compilation. Conclusion : quand y a un mec qui dit dans son mail de mise- à-disposition des entrées « attention j’ai modifié le nom d’un fichier, faut mettre à jour les scripts » c’est pas pour faire chier, c’est bien parce qu’il faut mettre à jour les scripts.
C’est bien plus court que la fois précédente, et pourtant c’est toujours aussi riche en enseignements. Sur chaque projet, il ya un processus plus ou moins officiel de livraison : méls, bordereau de livraison, etc. Ils permettent deux choses :
- À celui qui le rédige, de vérifier qu’il n’oublie rien avant de passer le relais ;
- À celui qui le reçoit, de prendre connaissance d’informations complémentaires éventuelles en plus des informations habituelles qui permettent d’adresser le travail quotidien.
Du coup, négliger cet acte de livraison, par l’un ou l’autre des parties, est nécessairement source de soucis.
Deuxième point, plus directement destiné à l’intégrateur : les index de production, c’est la lie ! Quel est le but premier d’un index de production ? Lister les fichiers qui seront pris en compte dans l’exécutable final. À l’origine, l’intention est louable : ça donne l’illusion de maîtriser son périmètre de production. Je dis illusion parce que ça ne fait pas tout : identifier un nom de fichier ne permet pas d’en donner la version. Et puis surtout, avec le temps, un index de production, ça sert aussi à plein d’autres choses. Ça sert à filtrer le contenu du système de fichiers. Ça sert à ranger proprement ce qui ne l’est effectivement pas dans le système de fichier. Ça sert à cacher ce qui ne devrait pas être visible de tous. Ça sert d’excuse quand ce n’est pas à jour. Un vrai cache-misère. D’autant plus que par construction un index de production est obsolète et un frein à la productivité. Une surcouche inutile à l’encontre de la logique, qui fait bien souvent dire « mais il est là mon fichier, vas-y, compile, [propos ordurier exclusivement destiné au sélectionneur de l'Équipe de France, donc censuré]«
Quel outil doit être le garant du contour de la production, c’est-à-dire la liste des fichiers et leurs versions ? Il y a un piège, il faut deux outils :
- Le gestionnaire de version de code source, qui permet toujours de retrouver un certain état global du projet à partir d’un identifiant approprié pour peu qu’il ait été posé ;
- La chaîne de production, basée sur des règles simples, comme par exemple : tout fichier dans SRC est compilé, et tout entête trouvé dans le répertoire INC est public.
Utilisez les outils pour ce qu’ils sont sensés faire, et tout de suite, ça ira mieux.