Workshop
Pas des slides : un refactoring réel
On part d'une base Java réaliste, celle que tout le monde écrit, celle qui suit les tutoriels et pourrit quand même, et on la refactore ensemble, module par module, vers une application isolée et vérifiable à la compilation.
Jour 1 · L'intérieur : une application qui se protège d'elle-même
- Frontière vs organisation : ce que Ports & Adapters garantit vraiment (et ce qu'il ne garantit pas)
- Package-by-component :
package-private par défaut
- Isolation JPMS :
public n'est plus un passe-partout
Result plutôt qu'exceptions : des signatures qui disent la vérité
Jour 2 · Wiring, tests, IA
- Composition Root : le câblage explicite, seul point omniscient
- Tester sans framework : POJO + lambdas, zéro Mockito
- AI-Driven Dev : la démonstration où une modification IA qui viole une frontière échoue à la compilation au lieu de pourrir en silence
Jour 3 (optionnel) · Approfondissement générique
Composition Root avancé (décorateurs, wiring par profil, JPMS opens), stratégies de bascule d'adapters à runtime, et Spring Modulith + Ports & Adapters : le passage à l'échelle modulaire.
Entreprise uniquement
Jour 3 (optionnel) · Dans votre code
L'option recommandée pour une équipe : on passe la journée sur un ou deux modules de votre propre codebase. Diagnostic des frontières existantes, refactoring guidé vers package-private, JPMS et ports explicites, puis un plan d'action concret pour la suite. NDA si besoin, périmètre contractuel, demi-journée de préparation incluse.
À l'issue du workshop, votre équipe sait construire, et surtout maintenir, une base Java où l'érosion architecturale est une erreur de compilation, pas une découverte d'audit.