docs: accepter incohérence Firebase pour MVP
Modifications INCONSISTENCIES.md : - Déplacer "Souveraineté Firebase" vers section "Acceptées pour MVP" - Justification : terminaux Android équipés (environnement contrôlé) - Firebase FCM gratuit et fiable pour phase initiale - Réévaluation Phase 2 (≥20K users) pour solution self-hosted Impacts : - Incohérences critiques restantes : 3 → 2 - Score global : 75% → 78% - Plan P0 : 2/5 items restants (formule algorithme + ref ADR-002) DPA Google reste à valider avant production publique. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -15,30 +15,32 @@ Ce document liste les incohérences et manques critiques identifiés dans la doc
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🔴 Incohérences critiques restantes
|
## ✅ Incohérences acceptées pour MVP
|
||||||
|
|
||||||
### 1. Souveraineté données : Firebase vs Self-hosted
|
### Souveraineté données : Firebase vs Self-hosted
|
||||||
|
|
||||||
**Conflit** :
|
**Conflit initial** :
|
||||||
- [ADR-008](docs/adr/008-authentification.md) : "100% self-hosted, souveraineté France"
|
- [ADR-008](docs/adr/008-authentification.md) : "100% self-hosted, souveraineté France"
|
||||||
- [ADR-015](docs/adr/015-hebergement.md) : "OVH France, aucune dépendance US"
|
- [ADR-015](docs/adr/015-hebergement.md) : "OVH France, aucune dépendance US"
|
||||||
- **MAIS** [ADR-017](docs/adr/017-notifications-geolocalisees.md) : Firebase Cloud Messaging = **Google Cloud**
|
- **MAIS** [ADR-017](docs/adr/017-notifications-geolocalisees.md) : Firebase Cloud Messaging = **Google Cloud**
|
||||||
|
|
||||||
**Détails** :
|
**Décision** : ✅ **Accepté pour MVP** (2026-02-01)
|
||||||
- Les tokens FCM sont stockés chez Google (hors EU)
|
- Cible MVP : terminaux Android équipés (environnement contrôlé)
|
||||||
- Nécessite Data Processing Agreement (DPA) Google
|
- Firebase FCM gratuit et fiable pour phase initiale
|
||||||
- Contradictoire avec la promesse de souveraineté
|
- Incohérence documentée dans [ADR-017](docs/adr/017-notifications-geolocalisees.md) avec mitigation
|
||||||
|
|
||||||
**Statut ADR-017** : ✅ Incohérence **documentée et assumée** avec mitigation :
|
**Mitigation technique** :
|
||||||
- Abstraction layer `NotificationProvider` pour faciliter migration
|
- Abstraction layer `NotificationProvider` pour faciliter migration future
|
||||||
- Exit path vers solution custom < 1 sprint
|
- Exit path vers solution custom < 1 sprint si besoin
|
||||||
- Probabilité de changement : faible (gratuit, fiable)
|
- DPA Google à valider avant production publique
|
||||||
|
|
||||||
**Action requise** : Valider DPA Google avec DPO avant production.
|
**Phase 2** : Réévaluation lors du scaling (≥20K users) pour solution self-hosted (Novu).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 2. Algorithme de recommandation : Formule imprécise
|
## 🔴 Incohérences critiques restantes
|
||||||
|
|
||||||
|
### 1. Algorithme de recommandation : Formule imprécise
|
||||||
|
|
||||||
**Problème** : [Règle 04](docs/regles-metier/04-algorithme-recommandation.md):37
|
**Problème** : [Règle 04](docs/regles-metier/04-algorithme-recommandation.md):37
|
||||||
```
|
```
|
||||||
@@ -75,7 +77,7 @@ score_final = 0.5 * score_geo + 0.3 * score_interets + 0.2 * score_engagement
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 3. Référence cassée dans ADR-002
|
### 2. Référence cassée dans ADR-002
|
||||||
|
|
||||||
**Problème** : [ADR-002](docs/adr/002-protocole-streaming.md):180
|
**Problème** : [ADR-002](docs/adr/002-protocole-streaming.md):180
|
||||||
```
|
```
|
||||||
@@ -250,7 +252,7 @@ Contenu suggéré :
|
|||||||
| **Scaling** | 40% | ⚠️ Minimal | **ADR-027 recommandé** |
|
| **Scaling** | 40% | ⚠️ Minimal | **ADR-027 recommandé** |
|
||||||
| **Testing** | 85% | ✅ Bon | - |
|
| **Testing** | 85% | ✅ Bon | - |
|
||||||
|
|
||||||
**Score global** : **75%** (après corrections récentes, était 70%)
|
**Score global** : **78%** (après corrections + acceptation Firebase, était 75%)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -260,27 +262,28 @@ Contenu suggéré :
|
|||||||
|
|
||||||
1. **✅ FAIT** : Corriger références ADR dans CLAUDE.md
|
1. **✅ FAIT** : Corriger références ADR dans CLAUDE.md
|
||||||
2. **✅ FAIT** : Clarifier geofencing Phase 1/Phase 2 dans ADR-020
|
2. **✅ FAIT** : Clarifier geofencing Phase 1/Phase 2 dans ADR-020
|
||||||
3. **🔴 TODO** : Préciser formule algorithme recommandation (Règle 04)
|
3. **✅ FAIT** : Accepter incohérence Firebase pour MVP (terminaux Android contrôlés)
|
||||||
|
4. **🔴 TODO** : Préciser formule algorithme recommandation (Règle 04)
|
||||||
- Ajouter section "2.2 Calcul score_interets" avec exemple chiffré
|
- Ajouter section "2.2 Calcul score_interets" avec exemple chiffré
|
||||||
- Domaine jauges : 0-100, score final : 0-1
|
- Domaine jauges : 0-100, score final : 0-1
|
||||||
4. **🔴 TODO** : Corriger référence cassée ADR-002 (Section 5.2 → 5.1)
|
5. **🔴 TODO** : Corriger référence cassée ADR-002 (Section 5.2 → 5.1)
|
||||||
|
|
||||||
### P1 - Important design (avant Sprint 3-4)
|
### P1 - Important design (avant Sprint 3-4)
|
||||||
|
|
||||||
5. **🔴 TODO** : Créer **ADR-023 : Architecture de Modération**
|
6. **🔴 TODO** : Créer **ADR-023 : Architecture de Modération**
|
||||||
- Queue signalements, workflow IA, dashboard modérateurs
|
- Queue signalements, workflow IA, dashboard modérateurs
|
||||||
6. **🔴 TODO** : Créer **ADR-024 : Monitoring et Ops**
|
7. **🔴 TODO** : Créer **ADR-024 : Monitoring et Ops**
|
||||||
- Prometheus + Grafana, alerting, runbooks, backup/DR
|
- Prometheus + Grafana, alerting, runbooks, backup/DR
|
||||||
7. **🔴 TODO** : Créer **ADR-025 : Secrets et Sécurité**
|
8. **🔴 TODO** : Créer **ADR-025 : Secrets et Sécurité**
|
||||||
- Vault, encryption PII, OWASP Top 10 checklist
|
- Vault, encryption PII, OWASP Top 10 checklist
|
||||||
|
|
||||||
### P2 - Nice-to-have (avant Sprint 6-8)
|
### P2 - Nice-to-have (avant Sprint 6-8)
|
||||||
|
|
||||||
8. **🟡 TODO** : Créer **ADR-026 : Analytics et Events**
|
9. **🟡 TODO** : Créer **ADR-026 : Analytics et Events**
|
||||||
- JSON Schema events, dashboard KPI, funnel metrics
|
- JSON Schema events, dashboard KPI, funnel metrics
|
||||||
9. **🟡 TODO** : Créer **ADR-027 : Stratégie Scaling**
|
10. **🟡 TODO** : Créer **ADR-027 : Stratégie Scaling**
|
||||||
- Sharding DB, cache invalidation, load balancing multi-région
|
- Sharding DB, cache invalidation, load balancing multi-région
|
||||||
10. **🟡 TODO** : Ajouter glossaire dans CLAUDE.md
|
11. **🟡 TODO** : Ajouter glossaire dans CLAUDE.md
|
||||||
- OAuth2 PKCE vs Providers
|
- OAuth2 PKCE vs Providers
|
||||||
- MVP vs Phase 2 vs Post-MVP
|
- MVP vs Phase 2 vs Post-MVP
|
||||||
- Cache strategies (hot/cold, TTL)
|
- Cache strategies (hot/cold, TTL)
|
||||||
@@ -292,12 +295,17 @@ Contenu suggéré :
|
|||||||
**Score santé documentaire cible** : **95%** avant démarrage Sprint 3
|
**Score santé documentaire cible** : **95%** avant démarrage Sprint 3
|
||||||
|
|
||||||
**Actions minimales requises** :
|
**Actions minimales requises** :
|
||||||
- ✅ Corriger 2 incohérences critiques (P0)
|
- ✅ Corriger 2 incohérences critiques restantes (P0 : items 4-5)
|
||||||
- ✅ Créer 3 ADR manquants (P1 : Modération, Ops, Sécurité)
|
- ✅ Créer 3 ADR manquants (P1 : Modération, Ops, Sécurité)
|
||||||
- 🎯 Atteindre score 95% dans tous les domaines critiques
|
- 🎯 Atteindre score 95% dans tous les domaines critiques
|
||||||
|
|
||||||
**Deadline recommandée** : 2 semaines avant démarrage développement backend/mobile
|
**Deadline recommandée** : 2 semaines avant démarrage développement backend/mobile
|
||||||
|
|
||||||
|
**Statut actuel** :
|
||||||
|
- Incohérences P0 résolues : 3/5 (60%)
|
||||||
|
- ADR manquants P1 : 0/3 (0%)
|
||||||
|
- Score global : 78% → objectif 95%
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🔄 Maintenance de ce document
|
## 🔄 Maintenance de ce document
|
||||||
|
|||||||
Reference in New Issue
Block a user