Performance frontend
Statut
Document de cadrage frontend — version initiale.
Objectif
La performance frontend doit garantir une expérience rapide et stable, surtout sur mobile et connexions variables.
DMV ne doit pas sacrifier la rapidité pour des effets visuels ou une accumulation de scripts.
État actuel visible
Le repo montre plusieurs éléments favorables :
- Next.js pour le site public ;
- export statique en production dans
next.config.mjs; - routes publiques avec
dynamic = "force-static"sur plusieurs pages ; - lazy loading des pages backoffice ;
manualChunksVite pour React et Supabase ;- usage dynamique des cartes Leaflet avec SSR désactivé ;
- Tailwind CSS ;
- manifest PWA ;
- SWR ponctuel.
Principes
- Optimiser d'abord le mobile.
- Réduire le JavaScript public inutile.
- Charger les cartes seulement quand nécessaire.
- Optimiser images, logos et médias.
- Garder les pages publiques SEO rapides.
- Préférer le rendu statique quand les données le permettent.
- Éviter les dépendances lourdes sans besoin clair.
Points sensibles
| Sujet | Risque |
|---|---|
| Cartes Leaflet | Bundle lourd, rendu client uniquement. |
| Médias acteurs | Images ou documents trop lourds. |
| Backoffice | Pages riches et tables volumineuses. |
| Supabase direct | Requêtes dispersées et difficiles à optimiser. |
| Analytics | Mesures trop fréquentes si non limitées. |
| PWA cache | Invalidation incorrecte ou données obsolètes. |
Backoffice
Le backoffice peut accepter plus de complexité que le public, mais doit rester efficace :
- lazy loading maintenu ;
- pagination ou filtres sur grandes listes ;
- requêtes parallèles maîtrisées ;
- loaders compréhensibles ;
- erreurs visibles.
Vision cible
La cible performance inclut :
- budgets de performance mobile ;
- mesure Core Web Vitals côté public ;
- optimisation des images ;
- cache API/CDN maîtrisé ;
- réduction des accès directs dispersés ;
- monitoring frontend raisonnable ;
- tests sur appareils modestes.
Points à clarifier
- Budget de bundle par application.
- Stratégie image complète.
- Mesures Core Web Vitals effectives.
- Impact de React Leaflet.
- Cache entre Next, Cloudflare et API Laravel.
- Performance des pages backoffice les plus lourdes.