Aller au contenu principal

Découpage par domaines

Statut

Document de cadrage backend — version initiale.

Position

DMV utilise une organisation inspirée du découpage par domaines métier. Le projet n'applique pas nécessairement un Domain-Driven Design strict, mais il sépare déjà les responsabilités par modules fonctionnels.

L'objectif est pragmatique : rendre le backend lisible, maintenable et aligné sur les applications de l'écosystème.

Domaines visibles

DomaineResponsabilité
IdentityAuthentification, profils, utilisateur courant, rôles.
TerritoryCommunes, élus, collectes, informations communales.
ActorActeurs locaux, tags, documents, claims, XP.
PublicationPublications, types, scopes, modération, signalements.
CommunityContributeurs, groupes, favoris.
MonetizationPlans, abonnements, boosts, Stripe.
SettingsParamètres applicatifs, feature tabs.
AnalyticsStatistiques et agrégats.
PlayLoopDevices, playlists, médias, campagnes.
AssoSuiteMembres, cotisations, invitations, projets, publications associatives.
ChatSalons, messages, read receipts.
MairieAlertes, services, publications mairie.
AdminAdministration transversale.

Principes de dépendance

  • Un module doit exposer ses capacités via services et routes.
  • Un module ne doit pas manipuler directement les détails internes d'un autre sans convention claire.
  • Les dépendances transverses doivent rester explicites.
  • Les modules applicatifs ne doivent pas contourner Identity, Authorization ou Policies.

Frontières métier

Une frontière métier est nécessaire quand :

  • les règles évoluent indépendamment ;
  • les droits sont différents ;
  • les données ont un cycle de vie propre ;
  • l'application cible est différente ;
  • les tests peuvent être organisés séparément.

État actuel vs cible

SujetÉtat actuelCible
ModulesDossiers par domaine visibles.Frontières et dépendances documentées.
ServicesPrésents dans la plupart des domaines.Cas d'usage métier isolés et testables.
PoliciesPrésentes sur plusieurs modules.Autorisations systématiques sur écritures sensibles.
ContextPrésent dans Publication.Contextes métier explicites quand les scopes sont complexes.

Points à clarifier

  • Cartographie des dépendances autorisées entre modules.
  • Règles communes pour les scopes de publication.
  • Place des services transverses : médias, notifications, IA Gateway.
  • Gouvernance des données partagées entre modules.