Incident CI et SonarQube

Le pipeline d'intégration continue a stoppé la construction d'une branche à cause d'une alerte SonarQube sur la complexité cyclomatique du fichier App.tsx. Ce fichier ne contenait que trente lignes, dont quinze étaient des composants générés par Codex et écrits sur une seule ligne. Malgré la petite taille apparente, chaque composant incorporait une logique métier suffisante pour faire grimper le score de complexité au-delà du seuil défini par l'outil. Après formatage avec prettier, le développeur a constaté que la complexité était justifiée par les exigences fonctionnelles, mais que la lisibilité était compromise.

Fonctionnement des agents de génération de code

Codex, modèle de génération de code d'OpenAI, a produit les composants en une ligne, ignorant les conventions de style et les métriques de qualité. L'agent a ensuite refactoré le même fichier en le découpant en dix modules distincts, répondant ainsi à la règle SonarQube et permettant le passage du CI. Cette capacité à réécrire du code à la volée montre que les agents peuvent optimiser des critères automatisés (formatage, découpage) sans garantir une architecture cohérente à long terme. Le processus repose sur des prompts qui décrivent le résultat souhaité (« make SonarQube happy »), laissant le modèle choisir les transformations internes.

Implications pour la maintenance et la formation

Le cas illustre le glissement de la responsabilité du développeur : il ne s'agit plus de connaître chaque ligne de code, mais de savoir identifier rapidement les dérives – ici, une complexité masquée par un format compact. La métaphore des « divebots » souligne que les ingénieurs doivent surveiller des systèmes générés à grande vitesse, tout en conservant la capacité d'intervenir lorsqu'un outil d'analyse signale une anomalie. Cette nouvelle dynamique remet en cause le modèle traditionnel d'apprentissage, qui repose sur des années de lecture et de débogage manuel. Former les juniors à « savoir quand creuser » devient prioritaire, au détriment d'une maîtrise exhaustive du code source.

Limites et perspectives

Si les agents accélèrent la production, ils introduisent des risques de dette technique invisible : la complexité peut être répartie sur de multiples fichiers sans documentation explicite, rendant la traçabilité difficile. De plus, la dépendance à des métriques automatisées (SonarQube, tests unitaires) peut masquer des défauts fonctionnels non détectés par les outils. Les organisations devront donc combiner des revues de code humaines, des stratégies de monitoring des métriques et des formations ciblées sur la lecture critique des artefacts générés par IA.