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