Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ADR-005 - Fastify pour le serveur backend

  • Statut : Accepté
  • Date : 2026-04-05

Contexte

Le backend doit exposer une API performante, typée, avec un bon support TypeScript et Bun. L’équipe cherche un framework léger permettant une mise en place rapide sans imposer une structure trop rigide.

Décision

Nous utilisons Fastify comme framework HTTP pour le serveur backend.

Alternatives considérées

  • Express.js : très répandu et bien documenté, mais moins performant, peu opiniated sur TypeScript, pas de support natif des schémas de validation
  • NestJS : structure imposée, DI intégrée, adapté aux grandes équipes, mais sur-ingénierie pour ce projet et compatibilité Bun non garantie
  • Hono : très léger, excellente compatibilité Bun, mais écosystème de plugins moins riche que Fastify
  • Spring Boot : inadapté à l’écosystème TypeScript du projet

Conséquences

  • Performances élevées (l’un des frameworks Node.js/Bun les plus rapides)
  • Validation intégrée via JSON Schema (complémentaire à Zod via oRPC)
  • Système de plugins (@fastify/cors) pour étendre les fonctionnalités
  • Bonne compatibilité avec Bun
  • Moins de structure imposée que NestJS : la discipline d’organisation repose sur l’équipe
  • Certains plugins Fastify peuvent ne pas être totalement compatibles avec Bun
  • Communauté plus petite qu’Express