Vision frontend globale
Statut
Document de cadrage frontend — version initiale.
Vision
Le frontend DMV doit rendre l'écosystème local simple, lisible et rapide à utiliser.
Il doit servir deux besoins complémentaires :
- une expérience publique mobile-first pour les habitants, acteurs et communes ;
- une expérience backoffice efficace pour administrer les contenus, données, droits et opérations.
État actuel visible
Le workspace montre deux frontends principaux :
| Application | Stack visible | Rôle |
|---|---|---|
dmv-public | Next.js App Router, React 19, Tailwind CSS, Supabase JS, SWR, Leaflet / React Leaflet | Site public DMV, pages communales, annuaire, mini-sites, espace utilisateur, PWA. |
dmv_backoffice | React 19, Vite, React Router, Tailwind CSS, Supabase JS, Leaflet, Recharts | Administration des communes, acteurs, publications, utilisateurs, plans, statistiques, messages et paramètres. |
Le site public expose aussi un manifest.json, des icônes PWA, un robots.ts, un sitemap.ts et des métadonnées Next.
Principes directeurs
- Mobile-first avant mobile natif.
- Interfaces sobres et lisibles.
- Navigation simple.
- Contenu local prioritaire.
- Chargement rapide sur mobile.
- Accessibilité intégrée aux composants.
- Pas de dark patterns.
- Pas de surcharge visuelle.
- Réutilisation des composants et conventions.
- État frontend limité à ce qui sert l'expérience.
Vision cible
La cible est un système frontend cohérent entre applications :
- DMV public comme porte d'entrée locale ;
- backoffice comme outil de pilotage et maintenance ;
- futures interfaces PlayLoop, AssoSuite et Mairie capables de partager les principes UI ;
- API Laravel comme source cible des règles métier ;
- Supabase JS documenté comme état actuel/historique à rationaliser progressivement ;
- design system commun, sans sur-ingénierie.
Expérience attendue
| Public | Expérience cible |
|---|---|
| Habitant | Trouver rapidement information locale, acteur, publication, favori ou alerte. |
| Acteur | Comprendre et maintenir sa présence locale sans complexité. |
| Commune | Publier ou maintenir des informations avec des parcours simples. |
| Administrateur | Traiter les données et contenus avec efficacité, contrôle et visibilité. |
Risques et points à clarifier
- Harmonisation entre le site public et le backoffice.
- Rôle futur de Supabase JS côté frontend face à l'API Laravel centrale.
- Niveau réel de PWA/offline livré.
- Partage éventuel de composants entre applications.
- Gouvernance du design system.
- Compatibilité entre style Cupertino cible et accessibilité web.