Le code ne reflète pas le métier
Les dossiers sont organisés par couches techniques, mais les règles, responsabilités et cas d'usage métier sont dispersés.
DDD & Architecture hexagonale
LRJI aide les équipes à utiliser le DDD et l'architecture hexagonale pour clarifier les responsabilités, isoler le domaine, réduire le couplage et rendre les décisions d'architecture visibles dans le code.
L'objectif n'est pas d'imposer un vocabulaire. Le travail consiste à trouver les bonnes frontières, les bons ports/adapters et le bon niveau de discipline pour des équipes TypeScript, Node.js, NestJS ou full-stack qui doivent continuer à livrer.
Signaux
Ces approches sont pertinentes quand elles corrigent un problème réel de compréhension, de couplage ou de delivery. Sinon, elles ajoutent surtout du vocabulaire.
Les dossiers sont organisés par couches techniques, mais les règles, responsabilités et cas d'usage métier sont dispersés.
Produit, engineering, data, support et intégrations ne décrivent pas les mêmes domaines ni les mêmes responsabilités.
ORM, framework, broker, API externe ou fournisseur identity imposent leur structure aux règles métier.
Si tester une règle métier demande base, broker, HTTP ou framework complet, la frontière domaine est probablement trop faible.
On parle d'entities, services, repositories ou ports, mais la maintenabilité et la vitesse de changement ne s'améliorent pas.
Périmètre
Le travail part du système réel. On garde ce qui aide la delivery et on élimine les abstractions qui ne paient pas leur coût.
Position
Le DDD est utile quand il améliore les décisions et le code. L'architecture hexagonale est utile quand elle protège le domaine sans rigidifier l'équipe.
On ne découpe pas pour respecter un diagramme. On découpe là où le couplage, l'ambiguïté ou les changements fréquents coûtent cher.
Entity, aggregate, repository, port ou adapter doivent résoudre un problème précis. Sinon, on retire.
Une bonne frontière permet de tester plus vite, plus localement et avec moins d'infrastructure obligatoire.
L'introduction doit se faire par incréments utilisables, pas par réorganisation massive qui bloque la roadmap.
Format
Le format peut être diagnostic, cadrage ou accompagnement hands-on. Le fil reste le même : clarifier, prouver dans le code, puis transmettre.
Cas d'usage, événements, règles, données, intégrations et responsabilités d'équipe sont cartographiés ensemble.
Les zones à fort effet sont priorisées : celles qui changent souvent, cassent souvent ou bloquent la compréhension.
Un module, un cas d'usage, un port ou un adapter servent de référence concrète plutôt qu'un document théorique.
Conventions, tests, exemples, ADRs ou revues guident l'équipe pour continuer sans dépendre du consultant.
Livrables
Les livrables doivent se voir dans la codebase et dans les décisions d'équipe.
Preuves
Le DDD et l'hexagonal ont été utiles quand ils ont clarifié des plateformes réelles, pas quand ils ont ajouté du jargon.
Hexa
Architecture hexagonale autour de Keycloak, abstraction fournisseur et frontières applicatives plus testables.
0 -> prod
Socle TypeScript et tRPC avec domaines explicites, contrats full-stack et pratiques shift-left.
7 -> 1
Migration vers un déployable principal plus maintenable, avec réduction de coordination et meilleure cohérence de delivery.
Suites possibles
DDD et hexagonal peuvent être le sujet central ou une partie d'un chantier architecture, migration ou event-driven.
Cadrer l'architecture logicielle globale avant de figer les frontières du domaine.
Voir l'accompagnement en architecture logicielleIntroduire les frontières progressivement dans une migration legacy plutôt que réorganiser toute la codebase.
Migration legacyRelier domain events, integration events, contrats et ownership au vrai modèle domaine.
Voir l'architecture evenementielleAuditer les frontières existantes avant d'introduire de nouveaux patterns.
Commencer par un audit d'architectureFAQ
Non. C'est souvent plus utile sur des produits existants, à condition de l'introduire progressivement et de cibler les zones où les frontières faibles coûtent vraiment cher.
Non. Le vocabulaire ne vaut que s'il améliore la communication et le code. LRJI privilégie les concepts qui produisent un effet mesurable sur la maintenabilité et la delivery.
Oui. Le framework peut rester l'adapter d'entrée. Le point clé est de ne pas laisser le framework devenir le modèle domaine.
Prochaine étape
LRJI aide à transformer cette zone en modèle plus clair, structure applicative plus stable et trajectoire d'introduction que l'équipe peut réellement suivre.