32 lines
772 B
Markdown
32 lines
772 B
Markdown
|
|
# ADR-001: Choix de Go pour le Backend API
|
||
|
|
|
||
|
|
**Date**: 2025-01-01
|
||
|
|
**Status**: Accepted
|
||
|
|
**Source**: ORIGIN_MASTER_ARCHITECTURE.md
|
||
|
|
|
||
|
|
## Contexte
|
||
|
|
|
||
|
|
Besoin d'un langage performant, typé, avec bonne concurrence pour API REST haute charge.
|
||
|
|
|
||
|
|
## Décision
|
||
|
|
|
||
|
|
Utiliser Go 1.23+ avec framework Gin pour le Backend API.
|
||
|
|
|
||
|
|
## Conséquences
|
||
|
|
|
||
|
|
**Positives**:
|
||
|
|
- Compilation rapide, binaire unique
|
||
|
|
- Goroutines pour concurrence
|
||
|
|
- Typage fort, pas de runtime errors
|
||
|
|
- Excellent pour microservices
|
||
|
|
|
||
|
|
**Négatives**:
|
||
|
|
- Verbosité du code (error handling)
|
||
|
|
- Écosystème moins riche que Node.js
|
||
|
|
|
||
|
|
## Alternatives rejetées
|
||
|
|
|
||
|
|
- **Node.js**: Single-threaded, performance inférieure
|
||
|
|
- **Python**: GIL, performance médiocre pour API haute charge
|
||
|
|
- **Java**: Trop lourd, démarrage lent, complexité
|