- Ajouter ADR-018 (librairies Go) dans TECHNICAL.md - Transformer Shared en menu dépliable dans mkdocs (cohérence avec autres domaines) - Corriger listes markdown (ajout lignes vides avant listes) - Corriger line breaks dans génération BDD (étapes "Et" sur nouvelles lignes) - Ajouter script fix-markdown-lists.sh pour corrections futures Impacte 86 fichiers de documentation et 164 fichiers BDD générés.
77 lines
3.4 KiB
Markdown
77 lines
3.4 KiB
Markdown
# ADR-016 : Service d'Emailing Transactionnel
|
|
|
|
**Statut** : Accepté
|
|
**Date** : 2026-01-26
|
|
|
|
## Contexte
|
|
|
|
RoadWave nécessite un service d'envoi d'emails **techniques uniquement** (pas de notifications sociales, alertes marketing, promotions).
|
|
|
|
**Périmètre strict** :
|
|
|
|
- ✅ **Authentification** : Vérification email (inscription), réinitialisation mot de passe, changement email
|
|
- ✅ **Sécurité** : Alertes connexion inhabituelle, changement password
|
|
- ✅ **Modération** : Strikes, suspensions, bannissements
|
|
- ✅ **RGPD** : Confirmation suppression compte, export données
|
|
- ❌ **Pas de notifications sociales** (écoutes, likes, commentaires, nouveaux abonnés)
|
|
- ❌ **Pas d'alertes marketing** (nouvelles sorties, recommandations personnalisées)
|
|
- ❌ **Pas de newsletters/promotions**
|
|
|
|
**Justification** : Gérer un service d'emailing complet (notifications, newsletters, segmentation) est un produit à part entière (délivrabilité, spam, désabonnements, conformité). RoadWave se concentre sur le strict minimum technique pour réduire la complexité et les coûts.
|
|
|
|
**Volume estimé MVP** : 2800-3500 emails/mois (~93-116 emails/jour en régime stable).
|
|
|
|
**Contraintes** : Souveraineté préférée (France/UE), RGPD natif, coût maîtrisé, API simple pour Go.
|
|
|
|
## Décision
|
|
|
|
**Brevo (ex-Sendinblue)** comme service d'emailing transactionnel et SMS.
|
|
|
|
## Alternatives considérées
|
|
|
|
| Service | Localisation | Prix gratuit | Prix 100K emails/mois | SMS disponible |
|
|
|---------|--------------|--------------|----------------------|----------------|
|
|
| **Brevo** | 🇫🇷 France | 300 emails/jour (~9K/mois) | ~49€ | ✅ Oui |
|
|
| Scaleway TEM | 🇫🇷 France | 300 emails/mois | ~25€ | ❌ Non |
|
|
| Mailjet | 🇫🇷 France | 200 emails/jour (~6K/mois) | ~50-100€ | ❌ Non |
|
|
| Postal | 🏠 Self-hosted | Illimité (coût VPS) | ~20-50€ | ❌ Non |
|
|
|
|
## Justification
|
|
|
|
- **Plan gratuit généreux** : 300 emails/jour (9000/mois) vs 300/mois chez Scaleway → coût 0 en MVP
|
|
- **SMS natif** : Vérification anti-spam post-MVP (emails temporaires)
|
|
- **Souverain français** : Hébergé France/UE, RGPD natif
|
|
- **CRM intégré** : Gestion contacts, segmentation pour newsletters futures
|
|
- **Simplicité** : API REST standard, SDK disponibles, documentation complète
|
|
|
|
## Architecture
|
|
|
|
```
|
|
Backend Go → Brevo API REST → Utilisateurs
|
|
├── Emails transactionnels
|
|
├── Templates HTML
|
|
├── Webhooks (bounces, opens)
|
|
└── [Post-MVP] SMS
|
|
```
|
|
|
|
## Projection de coûts
|
|
|
|
| Phase | Users | Emails/jour | Coût Brevo |
|
|
|-------|-------|-------------|------------|
|
|
| **MVP** | 0-10K | ~93/jour | **Gratuit** ✅ (< 300/jour) |
|
|
| **Growth** | 10K-50K | ~467/jour | 19€/mois (Lite) |
|
|
| **Scale** | 50K-100K | ~933/jour | 49€/mois (Business) |
|
|
|
|
**Calcul** : ~0.28 emails/user/mois (vérification, reset password, sécurité, modération)
|
|
|
|
**Gestion pics** : Rate limiting 250 emails/h, Redis queue, upgrade temporaire si > 300/jour sur 3+ jours
|
|
|
|
## Conséquences
|
|
|
|
- Coût MVP : 0€ (93 emails/jour << 300/jour gratuit)
|
|
- Rate limiting requis en cas de pic inscription (> 300/jour)
|
|
- Configuration DNS (SPF, DKIM, DMARC) pour délivrabilité
|
|
- Wrapper Go custom (pas de SDK officiel)
|
|
- **Aucun email** pour interactions sociales (à communiquer dans UX)
|
|
- **Aucun email** pour paiements créateurs (Mangopay gère, dashboard in-app suffit)
|