# 📕 Standards de Développement Backend ## 1. Objectif du document Ce document définit les standards de développement backend basés sur NestJS et les bonnes pratiques associées. Il vise à garantir : * Une API stable et compréhensible * Une logique métier claire et maîtrisée * Une maintenance facilitée --- ## 2. Principes généraux * Respect des conventions NestJS * Code simple, explicite et testable * Structure modulaire orientées fonctionnalités * Sécurité intégrée par défaut --- ## 3. Stack Technique Standard * **Framework** : NestJS * **Langage** : TypeScript (`strict: true` obligatoire) * **Base de données** : * PostgreSQL (relationnel) * MongoDB (documents si nécessaire) * **ORM** : TypeORM ou Prisma * **API** : REST * **Conteneurisation** : Docker, Docker Compose --- ## 4. Organisation du Code ### Modules NestJS * Un module par fonctionnalité métier * Chaque module peut contenir : * Controller * Service * DTOs * Repository (si nécessaire) ### Règles * Les controllers gèrent uniquement HTTP et validation * La logique métier est dans les services * Les accès base de données sont isolés --- ## 5. Structure de Projet * Respect de la structure standard NestJS et de notre template * Organisation par modules métier * Pas de dépendances circulaires ### Notre template de la structure d'un projet backend avec nest.js [https://github.com/kaeyros-analytics-org/nestjs-starter](https://github.com/kaeyros-analytics-org/nestjs-starter) --- ## 6. Conventions de Nommage * Fichiers : `kebab-case.ts` * Dossiers : `kebab-case` * Classes : `PascalCase` * Fonctions et variables : `camelCase` --- ## 7. Gestion des Données * Validation obligatoire avec DTOs * Pas d’exposition directe des entités ORM * Mapping explicite entre entités et réponses API --- ## 8. Gestion des Erreurs * Exceptions NestJS standardisées * Messages clairs côté API * Logs exploitables côté serveur --- ## 9. Sécurité * Authentification JWT * Hashage des mots de passe (bcrypt) * Protection des routes sensibles * Validation stricte des entrées --- ## 10. Tests * Tests unitaires des services * Tests d’intégration sur les endpoints clés * Tests E2E si application critique --- ## 11. DevOps & Exploitation * Dockerfile obligatoire * Environnements : dev, staging, production * Pipeline CI : lint → test → build → deploy --- ## 12. Bonnes Pratiques * Une responsabilité par service * Code lisible avant optimisation * Dette technique suivie et maîtrisée --- ## ✔️ Fin du document Backend