Un produit large, pas une simple maquette
Landing, comptes, sessions, réservation, paiement simulé, administration, droits, arrivée publique, assets, direct et post-tournage ont été réunis dans un parcours cohérent.
Retour d’expérience KRT · 28 août 2026
Le projet a avancé très vite et a produit un périmètre fonctionnel large. Le problème n’a pas été l’absence de résultat. Il a été de transformer ce résultat rapide en un produit que l’on pouvait modifier sans travailler à l’aveugle.
Constat central
Après chaque modification IA, il fallait vérifier bien plus que la demande initiale. La recette révélait parfois un autre problème, qui imposait une consolidation, de nouveaux tests, puis une nouvelle vérification.
01 · Le résultat
La vitesse initiale n’est pas fictive. Elle a permis de passer rapidement d’une interface locale à un produit couvrant plusieurs parcours reliés entre eux.
Landing, comptes, sessions, réservation, paiement simulé, administration, droits, arrivée publique, assets, direct et post-tournage ont été réunis dans un parcours cohérent.
Les domaines métier, la persistance, les contrats entre modules, les contrôles d’architecture et les tests automatisés constituent aujourd’hui une base beaucoup plus explicite.
Le sujet n’est donc pas « l’IA n’a rien su faire ». Elle a beaucoup produit. La difficulté est que la structure permettant de comprendre et de faire évoluer ce volume est arrivée après lui.
02 · Le point de départ
app.js au commit intitulé « first commit ».Rendu, état, événements, droits, données et appels serveur partageaient de grandes portées. Une petite modification pouvait donc avoir des effets que ni le nom du fichier ni la demande initiale ne rendaient visibles.
La taille ne prouve pas à elle seule un mauvais code. Elle prouve ici une surface de changement difficile à isoler.
03 · Le coût de reprise
Modifier directement aurait signifié déplacer des règles sans savoir précisément ce qui dépendait d’elles. Le projet a donc dû être repris par lots sécurisés.
Inventorier les comportements existants avant de les déplacer.
Écrire des tests qui figent le résultat actuel, même imparfait.
Déplacer une responsabilité métier complète, pas seulement des lignes.
Maintenir les anciennes routes et données pendant la transition.
Relancer architecture, tests ciblés et parcours complets.
Un lot d’établissement des domaines a touché 302 fichiers : 14 636 insertions et 6 414 suppressions.
La finalisation suivante a encore touché 104 fichiers : 6 119 insertions et 5 287 suppressions.
Résultat utile : le point d’entrée serveur est passé de 9 408 lignes à une délégation d’une ligne, des frontières sont contrôlées automatiquement et 338 fichiers de test sont présents. Limite persistante : la complexité n’a pas disparu ; le contrôleur client compte encore 8 151 lignes et la racine de composition 2 209.
04 · Le coût récurrent
La difficulté n’était pas seulement de faire la modification. Elle était de démontrer ensuite que rien d’autre n’avait bougé dans une base où les dépendances restaient difficiles à prévoir.
La demande ciblée est appliquée dans le code.
Le cas demandé fonctionne dans son chemin direct.
Les parcours voisins, droits, données et écrans sont rejoués.
Une régression ou une incohérence non prévue apparaît ailleurs.
Le problème est corrigé et ajouté au filet de tests, puis la boucle repart.
Un domaine, des contrats et des tests de sortie donnaient à l’IA un périmètre explicite. Le travail pouvait être long tout en restant compréhensible.
Le rayon réel n’était découvert qu’au recettage. Un détail pouvait toucher navigation, autorisation, persistance, calcul, affichage ou responsive sans que la demande le laisse prévoir.
Le surcoût venait de la répétition de cette boucle, pas d’un exemple particulier. La direction artistique n’en est qu’une manifestation secondaire parmi d’autres.
05 · Le filet de consolidation
À mesure que les problèmes indirects étaient découverts, il fallait transformer chacun d’eux en preuve reproductible. Le filet s’est donc élargi avec le produit et avec les défauts rencontrés pendant les modifications.
fichiers de test suivis dans le corpus actuel
fichiers faisant référence à la caractérisation
fichiers dans la suite navigateur E2E
scénarios E2E nommés dans cette suite
Ces volumes ne signifient pas que chaque test a été créé à cause d’une régression. Ils montrent que la confiance ne pouvait plus venir d’une vérification locale : elle devait être reconstruite par plusieurs niveaux de recette à chaque changement sensible.
06 · Faire la part des choses
07 · Ce qui aurait évité le détour
| Fondation absente | Conséquence | Travail compensatoire | À poser dès le départ |
|---|---|---|---|
| Frontières métier | Modification à grand rayon | Migration par domaines et compatibilités | Tranches verticales petites et propriétaires clairs |
| Tests avec la croissance | Comportement difficile à déplacer sûrement | Caractérisation avant chaque extraction | Parcours critique testé au moment de sa création |
| Carte des effets | Le rayon d’une modification reste inconnu | Recette élargie et analyse après chaque changement | Contrats explicites entre règles, données, écrans et effets |
| Références transversales | Le cas direct passe mais un parcours voisin casse | E2E, intégration, responsive et tests de droits | Baseline par parcours, état et responsabilité |
| Intention explicite | L’IA applique la lettre, pas la forme générale | Allers-retours et corrections successives | Décrire invariant, surfaces, états et exclusions |
08 · Pour les prochaines demandes
Expliquer l’effet général recherché, pas seulement le bouton à changer.
Lister pages, composants voisins, états et tailles d’écran concernés.
Capturer le rendu et les comportements qui ne doivent pas bouger.
Faire une tranche courte, vérifiable et facile à annuler.
Valider humainement la page, ses voisines, le mobile et les états limites.
Formulation utile
« Modifie cette action sans changer les droits, la navigation, les données ni les autres parcours. Identifie d’abord les consommateurs et effets indirects. Ajoute le test du cas demandé, puis rejoue les parcours voisins. Si un comportement non défini apparaît, arrête-toi au lieu d’inventer. »
Conclusion
KRT montre qu’une IA peut produire vite un ensemble impressionnant, puis aider à mener de gros travaux de restructuration. Elle montre surtout que le coût se répète lorsque chaque modification oblige à redécouvrir son rayon réel par une recette élargie.
Les tests de caractérisation et les lots de consolidation n’étaient pas du travail accessoire : ils ont compensé ce qui n’avait pas été posé au départ. La prochaine économie consiste à rendre les dépendances et comportements explicites assez tôt pour qu’une modification ne déclenche plus systématiquement une enquête sur tout le produit.
Chiffres recalculés sur l’état Git suivi au 28 août 2026 et sur les commits historiques cités par leur contenu. Les modifications locales non validées ont été exclues. Les volumes de lignes, fichiers et règles sont des indicateurs de surface de changement, pas des mesures de qualité ni des estimations d’heures. Aucun test applicatif, environnement distant ou entretien humain n’a été utilisé pour ce bilan.