refactor(docs): réorganiser ADR et règles métier pour clarté
**Changements majeurs** : 1. **Suppression ADR-010 (Commandes volant et likes)** : - Contenu consolidé dans Règle 05 (section 5.3) - Raison : ADR-010 était du métier déguisé en architecture - Section "Implémentation Technique" ajoutée à Règle 05 - Pattern correct (addition) vs incorrect (multiplication) 2. **Déplacement ADR-011 → Compliance** : - `docs/adr/011-conformite-stores.md` → `docs/compliance/stores-submission.md` - Raison : Nature opérationnelle/légale, pas architecture technique - Nouveau dossier `/docs/compliance/` créé 3. **Renumérotation ADR (010-022)** : - Combler les trous de numérotation (010 et 011) - ADR-012→010, ADR-013→011, ..., ADR-024→022 - 22 ADR numérotés en continu (001-022) - Historique Git préservé (git mv) 4. **Mise à jour références** : - Règle 03 : ADR-010 → Règle 05 (section 5.3) - Règle 09 : ADR-010 → Règle 05 (section 5.3) - INCONSISTENCIES-ANALYSIS.md : toutes références mises à jour - Incohérence #15 annulée (faux problème : modes séparés) **Résultat** : - ✅ Séparation claire ADR (technique) vs Règles métier (fonctionnel) - ✅ Documentation compliance séparée - ✅ Numérotation ADR continue sans trous - ✅ Single Source of Truth (pas de redondance) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
65
docs/adr/015-hebergement.md
Normal file
65
docs/adr/015-hebergement.md
Normal file
@@ -0,0 +1,65 @@
|
||||
# ADR-015 : Hébergement
|
||||
|
||||
**Statut** : Accepté
|
||||
**Date** : 2025-01-25
|
||||
|
||||
## Contexte
|
||||
|
||||
RoadWave nécessite une infrastructure cloud hébergée dans l'UE (conformité RGPD) avec PostgreSQL+PostGIS, Redis et stockage objet. L'objectif est de minimiser les coûts en phase MVP tout en gardant une évolutivité vers des services managés.
|
||||
|
||||
## Décision
|
||||
|
||||
**OVH VPS** avec services self-hosted via Docker Compose pour le MVP.
|
||||
Migration vers **Scaleway** (services managés) prévue en phase de croissance.
|
||||
|
||||
## Alternatives considérées
|
||||
|
||||
| Solution | Coût MVP/mois | Simplicité ops | PostGIS | Redis managé | RGPD |
|
||||
|----------|---------------|----------------|---------|--------------|------|
|
||||
| **OVH VPS** | ~14€ | Moyenne | Self-hosted | Self-hosted | Oui |
|
||||
| Scaleway managé | ~67€ | Élevée | Oui | Oui | Oui |
|
||||
| Clever Cloud | ~120€ | Très élevée | Oui | Oui | Oui |
|
||||
| Infomaniak | ~50€ | Élevée | Non | Non | Suisse |
|
||||
|
||||
## Justification
|
||||
|
||||
- **Économie** : 5x moins cher que les services managés (~14€ vs ~67€)
|
||||
- **Suffisant pour MVP** : VPS 4GB RAM supporte facilement 10-20K users
|
||||
- **Docker Compose** : Stack reproductible, backups automatisables
|
||||
- **RGPD** : Datacenters OVH en France
|
||||
- **Migration simple** : Passage vers Scaleway managé sans refonte
|
||||
|
||||
## Stack MVP
|
||||
|
||||
```
|
||||
OVH VPS Essential (12.50€/mois)
|
||||
├── Go + Fiber (app)
|
||||
├── PostgreSQL 16 + PostGIS 3.4 (Docker)
|
||||
├── Redis 7 (Docker)
|
||||
├── NGINX Cache (distribution HLS)
|
||||
└── Backups quotidiens (cron + pg_dump)
|
||||
|
||||
OVH Object Storage (~1.20€/100GB)
|
||||
└── Fichiers audio source
|
||||
```
|
||||
|
||||
## Roadmap Infrastructure
|
||||
|
||||
| Phase | Users | Infrastructure | Coût | Trigger migration |
|
||||
|-------|-------|----------------|------|-------------------|
|
||||
| **MVP** | 0-20K | OVH VPS + Docker Compose | ~14€ | Aucun |
|
||||
| **Croissance** | 20-100K | Scaleway services managés (PostgreSQL, Redis) | ~100€ | CPU > 70% OU MRR > 2000€ |
|
||||
| **Scale** | 100K+ | Scaleway Kubernetes (Kapsule) | ~500€ | Auto-scaling OU multi-région |
|
||||
|
||||
**Triggers détaillés** :
|
||||
- **Phase 2** : CPU > 70% (7j), latence p99 > 100ms, backups > 1h/semaine, MRR > 2000€
|
||||
- **Phase 3** : Auto-scaling horizontal requis, multi-région Europe, DevOps dédié, > 5 services
|
||||
|
||||
**Note** : Migrations déclenchées par métriques réelles, pas calendrier fixe.
|
||||
|
||||
## Conséquences
|
||||
|
||||
- Backups PostgreSQL à automatiser (cron + pg_dump)
|
||||
- Monitoring basique requis (Uptime Kuma ou alertes OVH)
|
||||
- Sécurité serveur à configurer (UFW, Fail2ban)
|
||||
- Migration vers services managés à planifier dès revenus stables
|
||||
Reference in New Issue
Block a user