JetBrains a annoncé le nouveau mode Junie /demo dans l’outil Junie CLI, afin d’automatiser la partie interactive de la vérification des modifications de code. Au lieu de se contenter d’exécuter les tests, le développeur peut décrire le scénario souhaité ; Junie construit alors l’application, la lance, interagit avec son interface, puis produit un rapport HTML comprenant le résultat, des captures d’écran et une vidéo de l’exécution.
Comment fonctionne le nouveau mode ?
Junie analyse le projet et propose un plan de construction et d’exécution, puis crée les fichiers de configuration après approbation de l’utilisateur. Il est possible de sélectionner les modifications depuis la branche, la session, l’arbre de travail ou le dernier commit, avant de saisir une demande précisant les actions et les résultats attendus. Dans l’exemple présenté par JetBrains, l’agent identifie deux tâches dans un outil de suivi des tâches, change leur état en Done, vérifie la modification des compteurs, puis recharge la page pour confirmer que le résultat persiste.
L’utilisateur peut suivre directement l’exécution pendant que l’agent navigue dans l’interface. La vidéo comprend des diapositives d’introduction pour chaque scénario et une diapositive finale consacrée aux résultats, ainsi que des sous-titres explicatifs activables ou désactivables. JetBrains précise qu’un modèle analyse les captures d’écran après l’enregistrement afin de préparer ces diapositives, tandis qu’une narration audio pourrait être ajoutée dans une prochaine mise à jour.
De la démonstration manuelle à la revue auditable
Le rapport HTML regroupe la demande initiale, le résultat, la vidéo, les captures d’écran et les étapes exécutées, en indiquant les tests réussis, échoués ou restés incomplets. Les résultats peuvent ainsi être examinés par un développeur, un ingénieur assurance qualité ou un membre de l’équipe souhaitant voir le comportement de la fonctionnalité plutôt que de lire uniquement la modification du code.
certi.news estime que la valeur pratique ne réside pas ici dans le remplacement des tests automatisés, mais dans l’ajout d’une preuve visuelle du comportement de l’interface. Le jugement sur la préparation de la modification reste du ressort du réviseur ; le bon déroulement de l’agent ne signifie pas automatiquement que la vérification est réussie. C’est pourquoi les exemples de JetBrains demandent à Junie de produire un verdict explicite et ne transmettent le résultat que si PASS est écrit, tandis que des valeurs telles que FAIL et PARTIAL, ou l’absence de résultat, entraînent l’échec de la vérification du résultat.
Intégration à GitHub Actions et coût
JetBrains a utilisé le mode en interne avec GitHub Actions sur plus de 1 500 demandes de fusion uniques et a créé plus de 2 100 vidéos de démonstration. Elle l’a également utilisé dans 22 scénarios de tests smoke sur des branches de version, pour un total de plus de 1 300 tests internes. L’entreprise fournit deux exemples de fichiers YAML pouvant être adaptés : l’un pour vérifier les modifications qui méritent une démonstration et ajouter les liens vers les éléments de preuve à la demande de fusion, l’autre pour les tests de version exécutés lors d’un push ou manuellement.
Les exemples reposent sur GitHub Artifacts et ne nécessitent donc pas de service distinct pour héberger la vidéo. JetBrains indique que l’exécution de 22 cas lors d’une mesure interne a coûté 19,94 dollars en utilisant GPT-5.6 SOL, selon la conversion de l’abonnement utilisé par l’entreprise, hors coût de l’environnement d’exécution de la CI. Ces chiffres sont internes et dépendent de l’application, des étapes de construction et de la formulation des demandes ; ils ne constituent pas une estimation générale pour tous les projets.
Environnement et limites opérationnelles
Le mode fonctionne dans un conteneur Docker basé sur Debian Bookworm, comprenant Chromium, Node.js, Xvfb, un gestionnaire de fenêtres et des outils tels que xdotool et ffmpeg. Il utilise un modèle prenant en charge Computer Use pour contrôler les clics, le clavier et les captures d’écran. Les dépôts complexes peuvent définir plusieurs modèles de machines virtuelles, avec des paramètres distincts pour les services et les interfaces.
L’exécution ne démarre pas sans modèle pris en charge. Junie utilise le modèle actif s’il est disponible et prend en charge Computer Use ; sinon, il en choisit un dans une liste comprenant GPT-5.6 SOL et GPT-6 Astra, puis GPT-5.5 et GPT-5.4, avec le réglage High reasoning effort dans le mode /demo. L’exécution prend également plusieurs minutes, et son principal intérêt reste de transférer la vérification interactive répétitive vers un processus contrôlable, plutôt que de garantir l’exactitude du résultat sans revue humaine.