doc(business-rules): ajout d'alertes post mvp

This commit is contained in:
jpgiannetti
2026-02-07 11:03:27 +01:00
parent 477630d216
commit e82ed63904

View File

@@ -660,6 +660,322 @@
--- ---
## 7. Contenus prioritaires et comptes officiels
> ⚠️ **Reporté post-MVP** - Système d'alertes critiques et intégration sources officielles (gestionnaires autoroutes, Météo France, préfectures).
### Contexte du report
**Raisons** :
- **Masse critique requise** : Partenariats avec organismes officiels nécessitent base utilisateurs solide (>50K MAU)
- **Complexité technique** : Intégration APIs externes, système de priorités, TTS automatisé
- **Responsabilité légale** : Diffusion alertes sécurité = engagement fort, nécessite infrastructure stable
- **Focus MVP** : Priorité sur contenu créateurs communautaires
- **ROI incertain** : Valeur ajoutée forte mais sans revenus directs (service public)
**Version MVP** (actuelle) :
- Tous contenus = créateurs classiques
- Pas de système de priorité
- Pas de comptes officiels vérifiés
- Pas d'interruption de contenu en cours
---
### Spécifications complètes (future implémentation)
**Problématique** : Certaines informations (obstacle sur autoroute, alerte météo dangereuse) doivent être diffusées en **priorité absolue**, indépendamment de l'algorithme de recommandation.
**Solution** : Système de contenus prioritaires avec comptes officiels vérifiés et interruption conditionnelle du flux audio.
#### A) Nouveau type de compte : Compte Officiel
| Type compte | Validation | Badge | Priorité | Modération |
|-------------|-----------|-------|----------|------------|
| **Créateur classique** | Email + KYC (si monétisation) | - | Normale | 3 premiers contenus |
| **Créateur vérifié** | KYC validé OU >10K abonnés | ✓ | Normale | A posteriori |
| **Compte Officiel** | Validation RoadWave manuelle + contrat partenariat | 🏛️ | **Configurable (0-3)** | **Aucune** |
**Exemples comptes officiels** :
- **Gestionnaires autoroutes** : SANEF, Vinci Autoroutes, APRR, ASF
- **Services météo** : Météo France, vigilance.gouv.fr
- **Sécurité civile** : Préfectures, Plan alerte enlèvement
- **Services publics** : Bison Futé, Sécurité Routière
- **Médias publics** : France Info, France Inter (déjà créateurs, passage en Officiel)
**Processus de validation** :
1. Demande partenariat → contact commercial RoadWave
2. Vérification identité organisme (SIRET, documents officiels)
3. Signature convention partenariat (gratuit, service d'intérêt public)
4. Création compte Officiel avec badge 🏛️
5. Configuration API Webhook pour contenus automatisés
---
#### B) Système de priorité des contenus
**Nouveau champ DB** : `priority_level`
```sql
ALTER TABLE contents ADD COLUMN priority_level INT DEFAULT 0 CHECK (priority_level BETWEEN 0 AND 3);
-- 0 = Normal (créateurs classiques, algo standard)
-- 1 = Élevé (infos trafic importantes, boost algo)
-- 2 = Urgent (obstacle imminent, injection forcée)
-- 3 = Critique (danger immédiat, interruption autorisée)
```
**Comportement selon priorité** :
| Priorité | Nom | Comportement | Bypass quota 6/h | Interruption contenu en cours |
|----------|-----|--------------|------------------|-------------------------------|
| **0** | Normal | Algo standard (score géo + intérêts + engagement) | Non | Non |
| **1** | Élevé | Boost score final +0.3 (favorisé mais pas forcé) | Non | Non |
| **2** | Urgent | Injection forcée en **prochaine position** file d'attente | Oui | Non (attend fin contenu actuel) |
| **3** | Critique | **Interruption immédiate avec countdown 5s** | Oui | **Oui** (pause contenu, overlay, lecture alerte) |
**Cas d'usage par priorité** :
```
🟢 Priorité 0 - Normal
├─ Tous contenus créateurs classiques
└─ Algorithme de recommandation standard
🟡 Priorité 1 - Élevé
├─ Info trafic général (bouchon prévu, travaux)
├─ Événement local impactant circulation (match, concert)
└─ Météo défavorable non dangereuse (pluie modérée)
🟠 Priorité 2 - Urgent
├─ Accident récent avec impact circulation
├─ Route coupée / déviation obligatoire
├─ Péage fermé de façon imprévue
└─ Alerte pollution temporaire
🔴 Priorité 3 - Critique
├─ Obstacle sur voie (objet, véhicule arrêté)
├─ Alerte météo orange/rouge (tempête, inondation, neige)
├─ Alerte enlèvement (Plan alerte enlèvement)
├─ Fermeture tunnel/pont pour sécurité
└─ Contre-sens signalé
```
---
#### C) Flow interruption (priorité 3)
**Interface utilisateur** :
```
User écoute podcast normal à 30 km/h sur A7
Contenu priorité 3 détecté dans zone 500m devant
Overlay rouge translucide apparaît sur écran :
┌─────────────────────────────────────┐
│ ⚠️ ALERTE SÉCURITÉ │
│ │
│ Obstacle signalé A7 voie gauche │
│ km 125 │
│ │
│ Diffusion dans 5... 4... 3... │
│ │
│ [Ignorer l'alerte] │
└─────────────────────────────────────┘
Countdown 5 secondes (annulable)
Podcast actuel → PAUSE automatique
Son d'alerte : Bip urgent (0.5s)
Alerte TTS : "Attention, obstacle signalé sur voie de gauche, autoroute A7, kilomètre 125. Réduisez votre vitesse."
Alerte se termine (15-30 secondes max)
Podcast reprend automatiquement à position exacte
```
**Paramètres techniques** :
- **Rayon déclenchement** : 500m-2km selon vitesse (calcul dynamique)
- **Son d'alerte** : Bip distinctif (pas agressif, mais audible)
- **Durée max alerte** : 30 secondes (format court, info essentielle)
- **Cooldown** : même alerte pas reproposée avant 10 minutes
- **Annulation** : bouton "Ignorer" disponible pendant countdown (mais déconseillé)
**Traçabilité** :
- Log : `user_id`, `alert_id`, `action` (played / ignored), `timestamp`
- Statistiques : taux d'écoute alertes vs taux ignore (KPI efficacité)
---
#### D) Intégration APIs externes et TTS automatisé
**Partenariats cibles** :
| Partenaire | API | Type contenu | Priorité | Coût | Disponibilité |
|-----------|-----|--------------|----------|------|---------------|
| **Météo France** | API Vigilance | Alertes météo orange/rouge | 3 | Gratuit (service public) | ✅ API publique |
| **Bison Futé** | API Trafic | Info trafic temps réel | 1-2 | Gratuit | ✅ API publique |
| **Gestionnaires autoroutes** | APIs propriétaires | Obstacles, fermetures | 2-3 | Gratuit (partenariat) | ⚠️ Négociation |
| **Sécurité Routière** | Données ouvertes | Zones accidentogènes, campagnes | 1 | Gratuit | ✅ Open Data |
| **Waze / Coyote** | API (si accessible) | Dangers signalés users | 2 | Négociation | ❌ APIs fermées |
**Flow automatisé (exemple Météo France)** :
```
1. API Météo France → Webhook RoadWave
Données : {
"departement": "83",
"vigilance": "orange",
"phenomene": "pluie-inondation",
"debut": "2026-01-20T14:00:00Z",
"fin": "2026-01-20T23:00:00Z"
}
2. Backend RoadWave (worker Go) traite webhook :
- Récupère polygon département 83 (PostGIS)
- Génère texte alerte : "Alerte météo orange dans le Var : fortes pluies et risque d'inondations. Soyez prudents."
- Appelle TTS (Google Cloud TTS ou AWS Polly)
- Génère fichier audio MP3 + segments HLS
3. Création automatique contenu :
├─ Titre : "⚠️ Alerte Météo Orange - Var"
├─ Audio : Fichier TTS généré
├─ Zone : Polygon département 83
├─ Priority : 3 (critique)
├─ Durée vie : 12h (expiration automatique)
├─ Créateur : Compte "Météo France" (officiel)
└─ Tags : ["Météo", "Sécurité"]
4. Diffusion immédiate :
- Tous users dans département 83
- Interruption flux audio (countdown 5s)
- Diffusion alerte
- Reprise contenu normal
```
**TTS (Text-to-Speech)** :
- **Fournisseur** : Google Cloud TTS WaveNet (voix neurale professionnelle)
- **Coût** : ~0.016€/1000 caractères
- **Voix** : "Léa" (féminine, française, ton calme mais ferme pour alertes)
- **Normalisation audio** : -14 LUFS (comme autres contenus)
**Expiration automatique** :
- Alertes météo : 12h après fin vigilance
- Obstacles autoroute : 2h après signalement (si non mis à jour)
- Alertes enlèvement : 48h ou jusqu'à résolution officielle
---
#### E) Dashboard admin (gestion alertes)
**Interface modérateur RoadWave** :
```
┌────────────────────────────────────────────────┐
│ 🏛️ Gestion contenus officiels │
├────────────────────────────────────────────────┤
│ │
│ Alertes actives (3) │
│ │
│ 🔴 CRITIQUE - Obstacle A7 km 125 │
│ Source : SANEF │
│ Diffusions : 1,247 | Ignores : 23 (1.8%) │
│ Expire : dans 1h32 │
│ [Prolonger] [Arrêter maintenant] │
│ │
│ 🔴 CRITIQUE - Alerte météo orange Var │
│ Source : Météo France │
│ Diffusions : 8,921 | Ignores : 156 (1.7%) │
│ Expire : dans 9h12 │
│ [Modifier] [Arrêter] │
│ │
│ 🟠 URGENT - Bouchon A6 Lyon │
│ Source : Bison Futé │
│ Diffusions : 2,104 | Ignores : 312 (14.8%) │
│ Expire : dans 3h05 │
│ [Modifier] [Arrêter] │
│ │
├────────────────────────────────────────────────┤
│ │
│ [+ Créer alerte manuelle] │
│ │
│ Historique (7 derniers jours) │
│ · 127 alertes diffusées │
│ · 98.2% taux écoute moyen │
│ · 1.8% taux ignore moyen │
│ │
└────────────────────────────────────────────────┘
```
**Création alerte manuelle** :
- Use case : information non automatisée (événement exceptionnel)
- Champs : Texte (TTS auto), Zone (carte), Priorité (1-3), Durée vie
- Validation admin RoadWave requise (pas auto-publication)
---
### Avantages
-**Sécurité routière** : diffusion info critique temps réel
-**Valeur ajoutée** : différenciation vs Waze/Coyote (audio automatique)
-**Partenariats gagnant-gagnant** : visibilité organismes publics, service utilisateurs
-**Coût maîtrisé** : APIs gratuites + TTS ponctuel (~50€/mois max)
-**Réutilisation infra** : HLS, PostGIS, backend Go déjà en place
### Contraintes
-**Responsabilité légale** : diffusion alertes = engagement fort (info exacte, à jour)
-**Partenariats longs** : négociations avec organismes publics (6-12 mois)
-**Maintenance APIs** : dépendance externe, risque coupure service
-**Modération réactive** : si alerte erronée, correction manuelle urgente
-**Interruption UX** : priorité 3 peut frustrer si trop fréquent (nécessite calibration)
---
### Conditions de réintégration
**Prérequis** :
1. Base utilisateurs stable >50K MAU (argumentaire crédible pour partenariats)
2. Chiffre affaires positif (infrastructure fiable = confiance partenaires)
3. Équipe support disponible 24/7 pour gestion alertes critiques
4. Validation juridique responsabilité (assurance RC pro couvre diffusion alertes)
5. Tests A/B réussis sur interruption priorité 3 (acceptabilité utilisateurs)
**Chronologie estimée** :
- Phase 1 (Post-MVP+6 mois) : Développement système priorités + dashboard admin + TTS
- Phase 2 (Post-MVP+9 mois) : Premier partenariat (Météo France, API publique simple)
- Phase 3 (Post-MVP+12 mois) : Tests bêta alertes météo avec utilisateurs volontaires
- Phase 4 (Post-MVP+15 mois) : Extension autres partenaires (Bison Futé, gestionnaires autoroutes)
- Phase 5 (Post-MVP+18 mois) : Déploiement complet si KPI positifs
**KPI de succès** :
- Taux écoute alertes priorité 3 : >95% (faible taux ignore)
- Satisfaction utilisateurs : >80% jugent alertes utiles (sondage post-alerte)
- Taux faux positifs : <2% (alerte diffusée à tort ou obsolète)
- Réduction incidents : mesure impact (accidents évités, détours anticipés) → difficile mais qualitatif fort
- Partenariats actifs : >3 organismes officiels connectés
**Budget estimé** (base 100K MAU) :
| Composant | Coût mensuel |
|-----------|--------------|
| **TTS alertes auto** | ~50€ (10-20 alertes/mois, textes courts) |
| **Stockage audio alertes** | ~5€ (fichiers temporaires, expiration auto) |
| **Modération alertes** | ~200€ (part-time, monitoring dashboard) |
| **APIs externes** | 0€ (gratuites, services publics) |
| **Bande passante** | Inclus infrastructure existante |
| **Total** | **~255€/mois** |
**ROI** :
- Pas de revenus directs (service public)
- Valeur indirecte : **différenciation produit majeure**
- Argument commercial : "RoadWave vous protège en temps réel"
- Rétention utilisateurs : +5-10% (feature killer)
- Presse/médias : couverture positive (innovation sécurité routière)
---
## Autres fonctionnalités candidates Post-MVP ## Autres fonctionnalités candidates Post-MVP
Liste non exhaustive de fonctionnalités évoquées mais non encore spécifiées : Liste non exhaustive de fonctionnalités évoquées mais non encore spécifiées :