# 📘 Standards de DĂ©veloppement Frontend ## 1. Objectif du document Ce document dĂ©finit les standards et bonnes pratiques applicables aux projets frontend basĂ©s sur Next.js et l’écosystĂšme React. L’objectif est d’assurer : * Une base de code cohĂ©rente et lisible * Une maintenance simple dans le temps * Une expĂ©rience dĂ©veloppeur fluide --- ## 2. Principes gĂ©nĂ©raux * Respect strict des conventions du framework Next.js * SimplicitĂ© et clartĂ© avant sophistication * SĂ©paration raisonnable des responsabilitĂ©s sans sur‑abstraction * PrioritĂ© Ă  la lisibilitĂ© et Ă  l’évolutivitĂ© --- ## 3. Stack Technique Standard * **Framework** : Next.js (App Router) * **Langage** : TypeScript (`strict: true` obligatoire) * **Data fetching** : TanStack Query et Axios * **État UI / local** : Zustand ou Redux Toolkit * **Styling** : TailwindCSS * **Composants UI** : shadcn/ui --- ## 4. Organisation du Code ### Principes * Les pages et layouts suivent la structure App Router * Les composants sont organisĂ©s par fonctionnalitĂ© ou par domaine UI * Les hooks encapsulent la logique rĂ©utilisable * Les appels API sont centralisĂ©s dans des services dĂ©diĂ©s ### RĂšgles * Pas d’appels HTTP directs dans les composants visuels * Pas de logique complexe dans les fichiers `page.tsx` * Les composants doivent rester simples et prĂ©visibles --- ## 5. Structure de Projet * Utiliser la structure recommandĂ©e par notre template * DĂ©couper chaque couche (components, hooks, services) par features * Éviter les abstractions inutiles ### Notre template de la structure d'un projet frontend avec next.js [https://github.com/kaeyros-analytics-org/nextjs-starter-template](https://github.com/kaeyros-analytics-org/nextjs-starter-template) --- ## 6. Conventions de Nommage * Composants React : `PascalCase` * Fichiers de composants : `PascalCase.tsx` * Hooks : `useCamelCase` * Fonctions et variables : `camelCase` * Dossiers : `snake-case` --- ## 7. Gestion de l’État * **TanStack Query** * Toute donnĂ©e venant du backend * Gestion du cache, du loading et des erreurs * **Zustand / Redux Toolkit** * État UI * États temporaires ou locaux --- ## 8. Gestion des Erreurs * Les erreurs API doivent ĂȘtre gĂ©rĂ©es explicitement * Affichage utilisateur clair et non technique * Utilisation d’Error Boundaries si nĂ©cessaire --- ## 9. QualitĂ© UI & Performance * Utiliser les composants shadcn avant d’en crĂ©er de nouveaux * Responsive design obligatoire * Éviter les re‑renders inutiles * Exploiter les mĂ©canismes natifs de Next.js (RSC, caching, streaming) --- ## 10. Tests * Tests unitaires sur les hooks et fonctions critiques * Tests E2E pour les parcours utilisateurs majeurs --- ## 11. Bonnes Pratiques * Un composant = une responsabilitĂ© * Code explicite avant commentaire * Refactor rĂ©gulier encouragĂ© --- ## ✔ Fin du document Frontend