Des petits outils internes qui changent le quotidien
Alexandre Jeffroy
Ingénieur logiciel
Quand on parle d'automatisation, on pense tout de suite à de gros systèmes. La réalité que j'observe sur le terrain est plus modeste : ce sont de petits outils internes, parfois quelques dizaines de lignes, qui font gagner du temps à toute une équipe.
Repérer la tâche qui revient toujours
La bonne candidate à l'automatisation, c'est la tâche fastidieuse que l'on refait sans cesse. Renommer des fichiers, vérifier un format, extraire une information d'un journal : autant de gestes qu'on répète sans y penser. Dès qu'une tâche revient plus de deux ou trois fois, je me demande si un script ne ferait pas le travail à ma place.
Exemple : une vérification automatisée en Python
Voici un petit script qui vérifie que chaque fichier source porte bien son en-tête.
1#!/usr/bin/env python3
2"""Verifie la presence de l'en-tete de licence dans les sources."""
3from pathlib import Path
4
5HEADER = "// Copyright"
6
7def fichiers_sans_entete(racine: str):
8 for chemin in Path(racine).rglob("*.cpp"):
9 texte = chemin.read_text(encoding="utf-8", errors="ignore")
10 if HEADER not in texte:
11 yield chemin
12
13if __name__ == "__main__":
14 import sys
15 manquants = list(fichiers_sans_entete("src"))
16 for chemin in manquants:
17 print(f"[manquant] {chemin}")
18 sys.exit(1 if manquants else 0)Branché sur l'intégration continue, ce contrôle devient automatique et sort complètement de la tête des développeurs.
Un outil n'a pas besoin d'être parfait
Un outil interne n'est pas un produit. Il doit simplement rendre service. Un script imparfait qui fait gagner dix minutes par jour vaudra toujours mieux qu'un outil parfait qu'on ne finit jamais.
L'effet d'entraînement
Quand un outil rend service, les collègues s'en emparent. Ils l'améliorent, l'adaptent à leurs besoins, et finissent souvent par en proposer d'autres. De fil en aiguille, l'équipe automatise ses gestes routiniers et se libère du temps pour les sujets à vraie valeur ajoutée.
Une question d'habitude
Outiller son travail, c'est prendre soin de l'équipe autant que du produit. Chez moi, ce n'est plus vraiment une décision : c'est un réflexe que j'emporte de mission en mission.
Autres articles
Workbench : mon couteau suisse pour éliminer les actions répétitives
Workbench est l'outil qui sert de socle à toute ma démarche d'outillage interne. Une interface graphique unique qui regroupe les actions répétitives du quotidien et remplace une poignée de commandes fastidieuses par quelques clics.
SonarQube : maîtriser la qualité et la dette technique
Dans des secteurs où la fiabilité n'est pas négociable, comment s'assurer que des centaines de milliers de lignes de code respectent les standards les plus élevés ? SonarQube est devenu un allié indispensable sur mes projets.