Aller au contenu principal

ADR-011 — Wall Engine & Context Engine

Statut

Accepted

Date

2026-06-27

Contexte

DMV évolue d'un produit historiquement centré sur un mur communal public vers une application utilisateur plus large dans dmv-public, utilisable en mode anonyme ou connecté.

Dans le même temps :

  • dmv-public devient l'application utilisateur ;
  • dmv-workspace reste l'outil de gestion métier ;
  • Mon espace doit revenir fonctionnellement dans dmv-public ;
  • plusieurs besoins de consultation reposent en réalité sur la même mécanique.

Ces besoins sont notamment :

  • mur d'une commune ;
  • mur personnalisé ;
  • vue acteur ;
  • vue association ;
  • vue territoire ;
  • recherche intelligente ;
  • agenda ;
  • favoris ;
  • événements.

Objectif :

  • éviter la duplication de plusieurs murs spécialisés ;
  • garder un seul moteur d'affichage ;
  • faire de dmv-public l'application utilisateur unifiée ;
  • réserver dmv-workspace à la gestion.

Décision

DMV adopte une architecture cible progressive fondée sur deux briques :

  • Context Engine pour résoudre le contexte de consultation ;
  • Wall Engine pour afficher un flux unifié à partir de ce contexte.

MurVille devient un cas particulier du Wall Engine pour le contexte commune.

Mon espace devient l'accueil connecté de dmv-public, basé sur le même moteur avec un contexte personnel.

Le principe territorial commun devient communeIds[], y compris pour une commune unique.

Conséquences

Effets attendus :

  • une seule logique d'affichage ;
  • une seule logique de contexte ;
  • un seul moteur de mur ;
  • moins de duplication frontend ;
  • meilleure cohérence pour la recherche intelligente ;
  • séparation plus nette entre consultation utilisateur et gestion.

Contraintes :

  • la migration reste progressive ;
  • cette architecture est une cible, pas un état déjà entièrement livré ;
  • les contextes doivent converger vers une base territoriale commune, notamment communeIds[].

Alternatives envisagées

AlternativeRaison de non-priorisation
Multiplier plusieurs murs dédiésDuplication de logique, maintenance plus coûteuse.
Garder MurVille comme composant principal et ajouter des variantes ad hocÉvolutivité faible et architecture peu lisible.
Mettre la logique de contexte directement dans chaque pageRisque élevé de divergence entre parcours.

Risques

  • glissement vers une abstraction trop complexe ;
  • migration partielle laissant coexister plusieurs logiques concurrentes ;
  • confusion entre consultation utilisateur dans dmv-public et gestion dans dmv-workspace.

Liens associés

  • docs/06-architecture/wall-engine/README.md
  • docs/06-architecture/wall-engine/02-context-engine.md
  • docs/06-architecture/wall-engine/03-wall-engine.md
  • docs/06-architecture/wall-engine/08-workspace-boundary.md