GitHub

223 pull requests
en 11 jours

La recette pour construire du vrai logiciel avec des agents IA.

Pilotez une flotte d'agents le jour, quelques plans approfondis la nuit. Mergez les réussites devant un café. ☕

  • Le playbook du builder
  • GitHub Copilot
  • Vrai logiciel · vraies métriques
Julien Dubois
Principal Manager, Developer Relations at GitHub / Microsoft
github.com/jdubois · julien-dubois.com

Qui suis-je ?

Julien Dubois

Julien Dubois

Principal Manager, Developer Relations at GitHub / Microsoft

Java Champion GitHub / Microsoft JHipster 22k+ IA × code
  • Créateur de JHipster · 22 000+ ⭐
  • 200+ conférences internationales (Devoxx, SpringOne, Microsoft Build…)
  • Aujourd'hui : je livre de vrais projets en pilotant des agents IA

💭 Le projet que je n'avais jamais eu le temps de construire

J'ai toujours voulu une vraie interface développeur pour Spring Boot.

🔭 L'envie

  • Chaque application Spring est une boîte noire en développement
  • Actuator vous donne du JSON brut, pas une console
  • Je voulais la santé, les métriques, la sécurité et le tracing dans une seule interface embarquée

🧱 Le hic : c'est énorme

  • ~40 panneaux, chacun = backend + frontend + tests
  • Une intégration profonde avec une dizaine de sous-systèmes de la JVM
  • À la main, un seul dev expérimenté : 6,5 à 8,5 mois
J'en avais livré une partie dans JHipster il y a des années, mais seulement pour les applications générées. Une vraie console pour n'importe quelle application Spring Boot est restée sur ma wishlist pendant des années. Trop gros pour être justifié, jusqu'à ce que j'arrête d'écrire le code moi-même.

⚡ Puis je l'ai fait en 11 jours

223
pull requests mergées
11
jours calendaires · v1 en < 2 semaines
~20
PRs mergées par jour
83k
lignes de code livrées
Les agents ont fait le scaffolding, les panneaux et les tests. Moi, j'ai apporté le jugement.

🖥️ Ce que j'ai construit : BootUI

Un starter Spring Boot 4 de qualité production qui ajoute à votre application une console développeur embarquée, accessible uniquement en local.

🧩 Multi-module & profondément intégré

  • Build Maven à 5 modules · Spring Boot 4 / Java 17
  • Actuator, Spring Security, Flyway/Liquibase, Hibernate
  • Micrometer/OTLP, GraalVM, OSV scanning, ArchUnit
  • Publication sur Maven Central · CI complète

🎛️ ~40 panneaux fonctionnels

  • Une SPA Vue 3 embarquée, packagée dans le starter
  • Chaque panneau = endpoints + vue + tests
  • Santé, métriques, advisor sécurité, vulnérabilités, tracing…
  • La plus grande source de répétition structurelle

📐 Les faits mesurés · v1.0.0

Issus de l'historique git, des métadonnées des PRs et des métriques de code, pas de relevés de temps.

~264
commits sur main
~223
PRs mergées en squash (jusqu'à #239)
~50k
lignes Java · ~461 fichiers · ~81 classes de test
~52
composants Vue · ~40 panneaux · ~35 specs e2e
~83k
lignes de source suivies au total
~116
suites de tests (~81 Java + ~35 Playwright)
~5 800
lignes de doc + un site VuePress
5
modules Maven · 1.0.0 publiée

👥 Un seul pilote humain + l'agent Copilot (~44 commits), avec dependabot, github-actions & un contributeur.

01

Calculer les gains de performance

11 jours d'agents vs. l'estimation honnête d'un travail à la main.

Partie 01 · La preuve

✅ Avec l'IA : le bilan

Construit jusqu'à une release 1.0.0 taguée, par un seul développeur pilotant l'agent de code GitHub Copilot.

~11 jours
de temps calendaire, jusqu'à la 1.0.0
~80–110 h
d'effort humain réel · ≈ 2 semaines intenses en solo
~20 / jour
PRs mergées · ~223 en ~11 jours

🔍 Avec l'IA : les preuves

📈 Vélocité

  • ~223 PRs mergées / ~10,8 jours (~264 commits)
  • Les commits s'étalent de ~5 h à minuit la plupart des jours
  • Cohérent avec des tâches asynchrones en parallèle, pas une frappe continue

🤖 La signature des commits

  • « Copilot » apparaît nommément comme auteur de commits / PRs (~44 commits)
  • Le dépôt contient copilot-instructions.md + des conventions par panneau
  • Le workflow était explicitement orienté agents

🚢 Même le jour de la release

  • Site de documentation VuePress + tableau de bord du scanner Overview
  • Graphiques de tokens, un correctif pour Hikari derrière un proxy, un refactoring de la doc
  • Des finitions qui représentent à elles seules plusieurs jours de travail en solo

🧭 Où est passé le temps humain

  • Écrire les prompts, relire & merger ~223 PRs
  • Résoudre les échecs de CI (Spring Boot 4, Flyway 11, OTLP)
  • Relire et orchestrer, pas écrire chaque ligne

🛠️ Sans l'IA : l'estimation honnête

Un développeur Spring Boot + Vue expérimenté, sans génération de code par IA, jusqu'à la même 1.0.0 aboutie.

6,5–8,5
mois de travail à temps plein · ~28–36 semaines
~1 100–1 450
heures d'effort réel
~40
panneaux fonctionnels = le coût principal

🗂️ Sans l'IA : où passent ~7 mois

Semaines estimées par phase · un développeur senior, sans génération de code par IA.

Travail estimé sans IA, par phase Mise en place du projet et architecture : 1 à 1,5 semaine. Socle frontend : 1,5 à 2 semaines. Panneaux de base : 5 à 6 semaines. Intégrations complexes : 12 à 16 semaines. Sûreté et sécurité : 1 à 1,5 semaine. Tests : 3 à 4 semaines. CI/CD et release : 1 à 1,5 semaine. Documentation : 2,5 à 3,5 semaines. Intégration et finitions : 2 à 3 semaines. Toutes les barres partent de zéro sur la même échelle de 0 à 16 semaines. L'ambre plein atteint l'estimation basse ; les extrémités plus claires vont jusqu'à l'estimation haute. Mise en place & architecture 1–1,5 sem. Socle frontend 1,5–2 sem. Panneaux de base (~15) 5–6 sem. Intégrations complexes (~20 panneaux) 12–16 sem. Sûreté & sécurité 1–1,5 sem. Tests 3–4 sem. CI/CD & release 1–1,5 sem. Documentation 2,5–3,5 sem. Intégration & finitions 2–3 sem.

Les extrémités plus claires des barres indiquent les fourchettes.

Estimation globale~28–36 sem. ≈ 6,5–8,5 mois

⚖️ Le verdict : avec vs. sans IA

Avec l'IA : chiffres du projet. Sans l'IA : estimation d'un travail en solo pour la même release 1.0.0.

Temps calendaire
Temps calendaire avec et sans IA Avec l'IA : environ 11 jours. Sans l'IA : 6,5 à 8,5 mois estimés. Les deux barres partent de zéro sur une échelle de 0 à 9 mois, avec des mois de 30 jours. Avec l'IA ~11 jours Sans l'IA ~6,5–8,5 mois
Effort humain
Effort humain avec et sans IA Avec l'IA : environ 80 à 110 heures. Sans l'IA : 1 100 à 1 450 heures estimées. Les deux barres partent de zéro sur une échelle de 0 à 1 500 heures. Avec l'IA ~80–110 heures Sans l'IA ~1 100–1 450 heures

Les extrémités plus claires des barres indiquent les fourchettes. L'échelle calendaire utilise des mois de 30 jours.

Débit

~20 PRs/jour, en parallèle
vs. quelques fonctionnalités/semaine, en série

Rôle de l'humain

Architecte + relecteur
vs. auteur de chaque ligne

40 panneaux

Quasi gratuits à reproduire
vs. la répétition comme premier coût

02

Comment le faire vous-même

Six ingrédients pour l'ingénierie agentique.

Partie 02 · La recette

De l'ingénierie agentique, pas du vibe coding

~2 000 $ de tokens sur tout le sprint — environ 9 $ par PR mergée. C'est la partie bon marché. La vraie question, c'est quand vous payez pour ce code.

🎲 Vibe coding — peu cher au départ

  • Pas de specs, pas de harness : vous commencez à livrer immédiatement
  • Vous payez en boucles de retry, puis à nouveau six mois plus tard en rétro-ingénierie d'un code que personne ne comprend
  • C'est la taxe de maintenance — invisible le premier jour

🏗️ Ingénierie agentique — payer d'abord

  • Specs, tests et CI vous coûtent de vraies journées avant que le premier agent ne tourne
  • Ils poussent votre agent à itérer vers une solution solide, plutôt que de livrer à la hâte une réponse incorrecte
  • Le harness demande un vrai investissement initial, mais s'en passer coûte plus cher ensuite
1
Ingrédient

Choisir le bon modèle pour la tâche

🧠 Le modèle principal

GPT-5.5 en raisonnement Extra-High assure l'essentiel du travail, ~90 % des tokens servis depuis le cache.

🎯 Les parties délicates

Claude Opus 4.8 et Gemini 3.1 Pro. Trois modèles puissants qui se vérifient mutuellement pour trouver le meilleur correctif.

⚡ Les tâches faciles

Un modèle plus petit ou le mode « Auto » pour les tâches simples et mécaniques. Rapide et peu cher.

💰 La facture complète

~2,7 Md
tokens au total
~95 %
servis depuis le cache
120 M
input hors cache · 15 M output
~2 000 $
coût total
2
Ingrédient

Écrire les spécifications

📜 Standards techniques · AGENTS.md

  • Définir les conventions une fois : stack, build, tests, style
  • Les instructions du dépôt définissent les règles, pas la procédure de chaque tâche
  • Des conventions par panneau pour que les 40 panneaux soient cohérents

🎯 Des spécifications métier complètes et claires

  • Quoi construire, où, et ce que signifie « terminé »
  • Des tests d'acceptation que l'implémentation doit passer, même en utilisant un skill
  • Petites, autonomes, sans dépendances cachées
La spec, c'est désormais le produit. Plus le brief est précis, moins vous avez à surveiller.
3
Ingrédient

Construire le harness de tests

✅ Un build + des tests qu'ils peuvent lancer

  • Une seule commande lance la compilation, les tests unitaires et e2e : vert ou rouge
  • Les agents lancent les vérifications après avoir utilisé les skills et les outils, avant d'ouvrir une PR
  • Pas de tests = impossible de faire confiance au résultat

🛡️ La CI est la couche de confiance

  • ~116 suites de tests · ~81 Java + ~35 Playwright
  • CodeQL + e2e valident chaque PR vers main
  • C'est ce qui permet de merger ~20 PRs/jour en toute sécurité
4
Ingrédient

Équiper vos agents

Tiré de mes sessions BootUI récentes : des skills réutilisables pour le workflow, du code intelligence Java au besoin.

📚 Skills : des workflows réutilisables

  • Impeccable — créer de beaux designs Web, corriger les problèmes d'accessibilité
  • orchestrate — coordonner les audits des advisors entre sessions
  • agent-merge — suivi des revues de PR, de la CI et des conflits
  • bootui-release — un skill sur mesure écrit spécifiquement pour guider une release de BootUI

🔎 LSP Java : du code intelligence au cas par cas

  • Interroger le serveur de langage sur des symboles, pas seulement une recherche textuelle
  • Utilisé pour explorer des modules Java avancés et inspecter le code pendant les revues
  • Le projet doit d'abord être indexé par le serveur de langage

Exemples enregistrés du 9 août au 8 septembre 2026, plus le skill de release sur mesure ; ils ne décrivent pas le sprint d'origine.

5
Ingrédient

Découper le travail, lancer les agents en parallèle

🧩 Préparer le travail en parallèle

  • ~40 panneaux quasi identiques = parfaits à paralléliser
  • Une tâche par agent : périmètre réduit, objectif clair
  • Une branche et un worktree par agent, sans conflits

🚀 Une flotte, pas une seule conversation

  • GitHub Copilot App : de nombreux agents tournent sur une seule machine
  • Application mobile : des agents dans des conteneurs Docker, en déplacement
  • Votre débit, ce n'est pas votre clavier. Ce sont vos briefs.
Tout l'intérêt, c'est le parallélisme. Ne surveillez pas un agent. Lancez-en dix.

🧑‍✈️ Le changement d'état d'esprit

Je n'ai pas ouvert mon IDE. Je n'étais pas le développeur. J'étais le manager.

🧑‍✈️ Vous · le manager
🎛️ Panneaux
dupliquer les ~40 panneaux fonctionnels
🔌 Intégrations
les sous-systèmes profonds de la JVM
🎨 Frontend
la SPA Vue embarquée
🏗️ CI & docs
release, tests, VuePress

De nombreux agents en parallèle. Vous briefez, relisez, mergez.

Vous ne tapez pas plus vite. Vous livrez ce qui prenait des mois.

6
Ingrédient · La boucle quotidienne

Piloter la boucle quotidienne

⚡ l'essentiel du travail : vous, aux commandes de la flotte
9h11h14h17h19h↻
☕ MergeMerger les résultats des plans de la nuit
Spécifier & lancerBriefer les tâches, répartir le travail
PiloterRelire, merger, réassigner, en direct
PiloterLa plupart des PRs sont mergées avant le soir
🌙 Mettre en fileQuelques plans approfondis pour la nuit
↻ Recommencer×~11 jours → v1.0.0

Le jour : le moteur

Aux commandes toute la journée : spécifier, lancer, relire, merger, réassigner. La plupart des ~20 PRs quotidiennes sont mergées ici.

Le soir : passer le relais

Mettez en file quelques plans longs et approfondis avant de partir.

La nuit : le bonus

Une poignée d'exécutions autonomes approfondies sont terminées au réveil. Une minorité, pas le moteur.

📋 Les six ingrédients de l'ingénierie agentique

1Choisir le bon modèle pour la tâche — équilibrer capacités, rapidité et coût.
2Écrire les spécifications — règles du dépôt, tâches bien délimitées et critères d'acceptation.
3Construire le harness de tests — des tests exécutables et des vérifications de CI avant le merge.
4Équiper vos agents — des skills pour les workflows, des outils pour le code intelligence et l'exécution.
5Découper le travail, lancer les agents en parallèle — une tâche et une branche chacun ; vous briefez, relisez et orientez.
6Piloter la boucle quotidienne — pilotez le jour, laissez quelques plans approfondis tourner la nuit, mergez les résultats devant un café.
S'il n'y a qu'une slide à prendre en photo, c'est celle-ci.

🖥️ Construisez avec GitHub Copilot App

L'application que nous avons utilisée tout au long du projet BootUI.

Votre espace de travail pour les agents de code IA

  • Planifiez les tâches et lancez des agents en parallèle, dans des worktrees isolés
  • Laissez les agents modifier le code et lancer les tests ; inspectez leurs diffs et relisez les PRs
  • Gardez planification, implémentation et maintenance au même endroit
Scannez pour télécharger GitHub Copilot App depuis sa page GitHub officielle
Télécharger GitHub Copilot App
Encore une chose…

BootUI n'est pas qu'une étude de cas

Une console développeur locale pour Spring Boot 4 (MVC & WebFlux) et Quarkus.
Ajoutez la dépendance correspondante, lancez en mode développement, puis ouvrez /bootui.

🔎 Voyez l'intérieur de votre application

  • Routes HTTP, beans, configuration, caches, traces SQL, messaging et diagnostics JVM
  • Nouvelle CLI bootui : interrogez les mêmes diagnostics depuis des scripts ou un terminal

🩺 Des advisors qui vous disent ce qui ne va pas

  • Sécurité, mémoire, bases de données, Hibernate, REST, architecture et readiness native-image
  • Vérification des CVE en direct via le flux OSV, sur votre véritable arbre de dépendances

🤖 Et il rend vos agents plus intelligents

  • Serveur MCP optionnel : les agents lisent les diagnostics d'exécution et lancent les advisors
  • Fonctionne avec Coffilot dans la Copilot App pour builder, lancer et scanner votre application
<!-- Starter Spring Boot MVC · à utiliser uniquement en développement --> <dependency> <groupId>com.julien-dubois.bootui</groupId> <artifactId>bootui-spring-boot-starter</artifactId> <version>1.16.0</version> </dependency>
GitHub

Retrouvez mes conférences

Scannez le QR code pour les conférences actuelles, les slides et les informations sur les ateliers.

julien-dubois.com/conferences
Scannez pour ouvrir la page des conférences de Julien Dubois