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
Pas en tapant plus vite. Je n'ai même pas ouvert mon IDE. J'ai piloté une flotte d'agents IA pendant que je définissais l'architecture, faisais les reviews et donnais le cap.
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
📦 Open source sur github.com/jdubois/boot-ui · documentation sur julien-dubois.com/boot-ui
📐 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
Une cadence de ~20 PRs/jour avec un agent IA co-auteur des commits est impossible à atteindre à la main. L'agent a tapé le code ; l'humain a lancé de nombreuses tâches asynchrones en parallèle.
🔍 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
🧮 Vérification croisée : une estimation COCOMO « organique » sur ~50 KLOC donne plus de 100 mois-personnes, ce qui est trop élevé car une grande partie du code est du scaffolding répétitif. Pour un expert du domaine travaillant seul, environ 7,5 mois reste un compromis défendable.
🗂️ Sans l'IA : où passent ~7 mois
Semaines estimées par phase · un développeur senior, sans génération de code par IA.
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 calendaireEffort humain
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
De plusieurs mois de travail en solo à 11 jours de livraison assistée par des agents.
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
Après 12 semaines et 552 PRs mergées de plus, la taxe de maintenance n'est toujours pas tombée. C'est le harness qui rembourse son coût initial.
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é
Vous ne pouvez pas lire chaque ligne de 223 PRs. Un build vert auquel vous faites confiance, c'est ce qui permet de passer autant de PRs en review.
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
Skills, serveurs MCP et outils connectent les agents à la documentation, aux données et aux systèmes externes.
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
Vous donnez la direction. Les agents font le travail. Vous relisez le résultat.
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.
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>