From 0609f380fff031349b9f6a5f808b4e47de3c524f Mon Sep 17 00:00:00 2001 From: jpgiannetti Date: Sun, 1 Feb 2026 15:24:22 +0100 Subject: [PATCH] =?UTF-8?q?docs:=20accepter=20incoh=C3=A9rence=20Firebase?= =?UTF-8?q?=20pour=20MVP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- INCONSISTENCIES.md | 58 ++++++++++++++++++++++++++-------------------- 1 file changed, 33 insertions(+), 25 deletions(-) diff --git a/INCONSISTENCIES.md b/INCONSISTENCIES.md index 62dc9da..f39c114 100644 --- a/INCONSISTENCIES.md +++ b/INCONSISTENCIES.md @@ -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-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** -**Détails** : -- Les tokens FCM sont stockés chez Google (hors EU) -- Nécessite Data Processing Agreement (DPA) Google -- Contradictoire avec la promesse de souveraineté +**Décision** : ✅ **Accepté pour MVP** (2026-02-01) +- Cible MVP : terminaux Android équipés (environnement contrôlé) +- Firebase FCM gratuit et fiable pour phase initiale +- 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 : -- Abstraction layer `NotificationProvider` pour faciliter migration -- Exit path vers solution custom < 1 sprint -- Probabilité de changement : faible (gratuit, fiable) +**Mitigation technique** : +- Abstraction layer `NotificationProvider` pour faciliter migration future +- Exit path vers solution custom < 1 sprint si besoin +- 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 ``` @@ -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 ``` @@ -250,7 +252,7 @@ Contenu suggéré : | **Scaling** | 40% | ⚠️ Minimal | **ADR-027 recommandé** | | **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 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é - 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) -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 -6. **🔴 TODO** : Créer **ADR-024 : Monitoring et Ops** +7. **🔴 TODO** : Créer **ADR-024 : Monitoring et Ops** - 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 ### 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 -9. **🟡 TODO** : Créer **ADR-027 : Stratégie Scaling** - - Sharding DB, cache invalidation, load balancing multi-région -10. **🟡 TODO** : Ajouter glossaire dans CLAUDE.md +10. **🟡 TODO** : Créer **ADR-027 : Stratégie Scaling** + - Sharding DB, cache invalidation, load balancing multi-région +11. **🟡 TODO** : Ajouter glossaire dans CLAUDE.md - OAuth2 PKCE vs Providers - MVP vs Phase 2 vs Post-MVP - Cache strategies (hot/cold, TTL) @@ -292,12 +295,17 @@ Contenu suggéré : **Score santé documentaire cible** : **95%** avant démarrage Sprint 3 **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é) - 🎯 Atteindre score 95% dans tous les domaines critiques **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