Aller au contenu principal

Routing

Statut

Document de cadrage frontend — version initiale.

Vue d'ensemble

Le routing frontend diffère selon les applications :

  • dmv-public utilise le routing fichier de Next.js App Router ;
  • dmv_backoffice utilise react-router-dom dans une SPA Vite.

Routes publiques visibles

Dans dmv-public, les routes visibles incluent notamment :

  • /
  • /[commune]
  • /[commune]/acteur/[slug]
  • /[commune]/contributeur/[slug]
  • /mon-espace
  • /mon-espace/connexion
  • /mon-espace/acteur
  • /mon-espace/profil
  • /mon-espace/tarifs
  • /mon-espace/reset-password
  • /a-propos
  • /contact
  • /cgu
  • /confidentialite
  • /mentions-legales

Les pages communales et mini-sites utilisent des paramètres dynamiques.

Routes backoffice visibles

Le backoffice expose notamment :

  • /login
  • /signup
  • /forgot-password
  • /reset-password
  • /pending
  • /
  • /profile
  • /publications
  • /acteurs
  • /communes
  • /users
  • /stats
  • /contributors
  • /groupes
  • /messages
  • /actor-requests
  • /claims
  • /plans
  • /souscriptions
  • /administration/medias-defaults
  • /administration/feature-tabs

Le backoffice applique des guards selon session, profil, statut et rôle admin.

Principes

  • Les routes publiques doivent être lisibles, stables et SEO-friendly.
  • Les routes backoffice doivent privilégier la clarté opérationnelle.
  • Les redirections doivent rester explicites.
  • Les routes dynamiques doivent gérer notFound ou état absent proprement.
  • Les routes protégées doivent être contrôlées côté backend en plus des guards frontend.

SEO et routing

Le site public utilise :

  • metadata dans les pages ;
  • generateMetadata pour des pages dynamiques ;
  • robots.ts ;
  • sitemap.ts ;
  • trailing slash via next.config.mjs.

Ces éléments confirment une intention SEO sur les pages publiques.

Vision cible

La cible est de maintenir :

  • routes publiques courtes et compréhensibles ;
  • routes backoffice organisées par domaine métier ;
  • redirections minimales ;
  • gestion claire des erreurs ;
  • compatibilité PWA ;
  • compatibilité future avec l'API Laravel centrale.

Points à clarifier

  • Convention finale des URLs mairie, PlayLoop et AssoSuite côté frontend.
  • Politique de redirection lors de migrations d'URL.
  • Gestion des slugs et collisions.
  • Stratégie multi-communes à grande échelle.