Skip to content

Published on 19/10/2026

Chaque nuit à 3h, des agents IA testent mon plugin sur trois OS

Pendant que la plupart d'entre nous dorment, mon infrastructure CI/CD s'active. Chaque nuit, à 3 heures précises, un pipeline déclenche une série d'opérations peu conventionnelle : sur trois machines virtuelles distinctes (Ubuntu, macOS et Windows), de véritables agents de code autonomes prennent le contrôle d'environnements de développement pour utiliser, éprouver et tenter de casser mon plugin.

Au-delà des tests unitaires traditionnels

Les tests unitaires et d'intégration classiques sont indispensables, mais ils souffrent d'un biais majeur : ils ne testent que ce que nous avons anticipé. Un test automatisé vérifie qu'une fonction retourne le bon résultat face à une entrée donnée. En revanche, il ne reproduit jamais l'imprévisibilité d'un développeur qui enchaîne des commandes inhabituelles, modifie un fichier en plein traitement ou navigue avec des extensions tierces conflictuelles.

Pour mon plugin, j'ai voulu franchir un cap. Plutôt que de simplement simuler des mocks statiques, j'ai configuré des agents de code basés sur des LLMs légers pour accomplir des scénarios réels : initialiser un projet, configurer le plugin, invoquer ses fonctionnalités via le terminal ou l'éditeur, et analyser les sorties générées.

Trois systèmes d'exploitation, trois mondes

Développer un outil destiné aux ingénieurs implique de supporter leur diversité matérielle. Un script qui s'exécute parfaitement sous Linux peut échouer lamentablement sur une machine Windows à cause d'une gestion différente des séparateurs de chemin ou des fins de ligne.

La matrice nocturne déploie le plugin simultanément sur trois environnements :

  • Ubuntu : la référence serveur et conteneurisée, rapide et prévisible.
  • macOS : le standard de prédilection de nombreux développeurs frontend et full-stack, avec ses spécificités liées aux permissions Unix et à l'architecture ARM/x86.
  • Windows : le banc d'essai le plus exigeant, particulièrement pour la gestion des processus fils, de PowerShell et du système de fichiers NTFS.

Ce que les agents découvrent avant mes utilisateurs

La valeur de cette approche se mesure aux incidents évités en production. Récemment, un agent exécuté sur Windows a rencontré une erreur silencieuse : un verrou de fichier persistait lors du rechargement à chaud, bloquant l'exécution du plugin. Aucun de mes tests unitaires Linux n'avait levé cette alerte.

Quelques jours plus tard, un agent sous macOS a tenté d'appeler une commande avec des arguments mal échappés contenant des espaces, reproduisant un cas limite qu'aucun testeur humain n'avait formulé dans le backlog.

Une sérénité opérationnelle au réveil

Le matin, mon café s'accompagne d'un rapide coup d'œil au tableau de bord. Si les agents ont validé le flux de travail complet sur les trois OS, je sais que le dépôt est prêt pour une nouvelle version. Dans le cas contraire, les traces d'exécution et les logs générés par l'agent fournissent un rapport de reproduction précis et contextualisé.

Intégrer des agents d'intelligence artificielle dans une chaîne de livraison logicielle ne relève pas du gadget. C'est une extension pragmatique de l'ingénierie qualité : automatiser non seulement les vérifications déterministes, mais aussi l'exploration réaliste de nos outils.