📕 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


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