📘 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


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