Files
jpgiannetti 852f6d5e16 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>
2026-02-01 14:34:12 +01:00
..
2026-01-31 11:45:11 +01:00
2026-01-31 11:45:11 +01:00
2026-01-31 11:45:11 +01:00
2026-01-31 11:45:11 +01:00
2026-01-31 11:45:11 +01:00
2026-01-31 11:45:11 +01:00
2026-01-31 11:45:11 +01:00
2026-01-31 11:45:11 +01:00
2026-01-31 11:45:11 +01:00
2026-01-31 11:45:11 +01:00
2026-01-31 11:45:11 +01:00
2026-01-31 11:45:11 +01:00
2026-01-31 11:45:11 +01:00

Règles métier RoadWave

Documentation complète des règles métier validées pour l'application RoadWave. Chaque section détaille les comportements, flux et décisions techniques.


📋 Table des matières


🏗️ Fondations & Compte utilisateur

01. Authentification & Inscription

Contenu : Inscription, connexion, récupération de compte

  • Inscription : email/password uniquement (pas d'OAuth tiers)
  • Vérification email : optionnelle auditeurs (limite 5 contenus), obligatoire créateurs (lien expire 7j)
  • Connexion : 5 tentatives max, blocage 15 min, refresh token 30j
  • Récupération mot de passe : email, lien expire 1h

02. Conformité RGPD

Contenu : Consentements, anonymisation, export, suppression

  • Consentement : Tarteaucitron.js + PostgreSQL versioning
  • GPS précis : 24h puis geohash 5 (~5km²)
  • Export : JSON + HTML + audio → ZIP, génération asynchrone sous 48h, expire 7j
  • Suppression : grace period 30j, contenus créés anonymisés (créateur = "Utilisateur supprimé")
  • Analytics : Matomo self-hosted, IP anonymisées, 0 cookie tiers
  • DPO : fondateur formé CNIL (non obligatoire <250 employés)

🎧 Consommation de contenu (Auditeur)

03. Centres d'intérêt et jauges

Contenu : Évolution jauges, valeurs initiales

  • Like automatique : écoute ≥80% → +2%, écoute 30-79% → +1%
  • Like explicite (manuel) : +2% (cumulable avec auto)
  • Abonnement : +5%
  • Skip rapide (<10s) : -0.5%
  • Valeur initiale : 50% (neutre)
  • Limites : 0-100% stricte, pas de dégradation temporelle

04. Algorithme de recommandation

Contenu : Scoring, géolocalisation, orientation politique, mode Kids

  • Classification géo : Ancré (70%) / Contextuel (50%) / Neutre (20%)
  • Engagement : 20%, Aléatoire : 10%
  • Orientation politique : 5 niveaux, équilibre imposé (40/40/20)
  • Mode Kids : 4 tranches (3-6 / 6-9 / 9-12 / 13-15 ans), activation auto <13 ans
  • Historique : >80% jamais reproposer, <10s ne pas reproposer

05. Interactions et navigation

Contenu : Commandes Suivant/Précédent, interactions volant, lecture en boucle

  • Suivant : pré-calcul 5 contenus, recalcul >10km ou 10 min
  • Précédent : <10s → contenu avant, ≥10s → replay début
  • Commandes volant : Suivant, Précédent, Play/Pause uniquement
  • Like automatique : ≥80% écoute → +2 points, 30-79% → +1 point
  • Actions manuelles : bouton cœur (arrêt véhicule) ou vocal (CarPlay/Android Auto)
  • Passage auto après 2s (1s mode Kids)

06. Audio-guides multi-séquences

Contenu : Modes déplacement, navigation, déclenchement GPS, publicités

  • 4 modes : 🚶 Piéton (manuel) / 🚗 Voiture (GPS auto + manuel) / 🚴 Vélo / 🚌 Transport
  • Mode Piéton : pause auto après chaque séquence, user clique Suivant, navigation libre
  • Mode Voiture : déclenchement GPS auto (rayon 30m), boutons manuels actifs, warning sécurité >10 km/h
  • Affichage voiture : distance temps réel + ETA + direction (flèche) + vitesse
  • Rayons : Voiture 30m, Vélo 50m, Transport 100m (configurable créateur 10-200m)
  • Publicités : 1/5 séquences tous modes, auto-play, skippable 5s
  • Reprise : sauvegarde auto (séquence + position exacte), popup si <30j, multi-device (sync cloud)

07. Contenus géolocalisés voiture

Contenu : Expérience voiture, UI minimaliste, sécurité

  • Interface voiture : minimaliste, boutons larges (80×80px min), lecture auto-play
  • Commandes vocales : OK Google/Siri + CarPlay/Android Auto
  • Notifications : in-app uniquement (pas de push), badge discret
  • Sécurité : warning si interaction manuelle >10 km/h
  • Mode nuit : automatique selon luminosité GPS ou heure (22h-6h)

08. Mode offline

Contenu : Téléchargement, validité, synchronisation

  • Zone géographique : choix manuel (autour de moi / ville / département / région)
  • Nombre contenus : gratuit 50 max, Premium illimité
  • WiFi par défaut, mobile avec confirmation + estimation volume
  • Validité : 30 jours, renouvellement auto si WiFi (contenus >25 jours)
  • Sync : likes/abonnements batch auto à reconnexion, queue actions 7j max

09. Abonnements et notifications

Contenu : Impact algorithme, notifications, audio-guides, limites

  • Boost +30% au score final (pas priorité absolue)
  • Détection contexte : <5 km/h piéton, >10 km/h voiture
  • Voiture : in-app uniquement, Piéton : push actives
  • Limite 10 notifications push/jour (5-20), mode silencieux 22h-8h
  • Audio-guide piéton : détection <100m lieu, page sélection, navigation manuelle
  • Max 200 abonnements, +5% jauges tous tags créateur

10. Gestion des erreurs

Contenu : Aucun contenu, contenu supprimé, perte réseau, GPS désactivé

  • Aucun contenu : élargissement auto 50km → 100km → département → région → national
  • Contenu supprimé : laisser terminer, passage auto suivant après 2s
  • Perte réseau : buffer adaptatif (WiFi 5-120s, 4G 10-120s, 3G 30-300s), retry 5s max 6×
  • GPS désactivé : mode dégradé (contenu national + neutre + téléchargé)

🎙️ Création de contenu (Créateur)

11. Création et publication de contenu

Contenu : Upload, métadonnées, validation, modification

  • Formats : MP3, AAC (.mp3, .aac, .m4a), max 200 MB, 4h
  • Métadonnées obligatoires : titre, type géo, zone, tags (1-3), classification âge
  • Validation 3 premiers contenus : 24-48h (modération RoadWave)
  • Modification : métadonnées uniquement, pas audio/zone/classification

12. Radio live

Contenu : Démarrage, arrêt, comportement auditeur

  • Buffer 15s avant diffusion publique, durée max 8h
  • Notification push abonnés dans zone géo uniquement
  • Arrêt : compte à rebours 5s (manuel) ou auto si déco ≥60s
  • Enregistrement auto MP3 256 kbps → replay sous 5-10 min
  • Auditeur : buffer 15s, continuation si sortie zone, AUCUN chat

13. Détection de contenu protégé

Contenu : Droits d'auteur, détection musique, sanctions, fair use

  • Périmètre MVP : musique uniquement (films/livres exclus)
  • Fair use : extraits ≤30s autorisés si usage transformatif (critique/analyse)
  • Détection : manuelle lors des 3 premiers contenus (coût 0€)
  • Sanctions progressives : Avertissement → Strike 1 (3j) → Strike 2 (7j) → Strike 3 (30j) → Strike 4 (ban)
  • Réhabilitation : -1 strike tous les 6 mois sans incident
  • Appel : réutilise processus section 14, délai 72h, preuve licence acceptée
  • Post-MVP : Chromaprint + MusicBrainz si >50 signalements/mois (50-100€/mois)

🛡️ Modération & Sécurité

14. Modération - Flows opérationnels

Contenu : Signalement, traitement, sanctions

  • Signalement : 7 catégories (haine, sexuel, illégalité, droits auteur, spam, fake news, autre)
  • IA pré-filtre : Whisper large-v3 (transcription) + NLP open source (1-10 min)
  • SLA : Critique <2h (24/7), Haute/Moyenne <24h, Basse <72h
  • Notification sanction : email + push + in-app (détail complet : catégorie, timestamp, transcription)
  • Appel : formulaire in-app, délai 7j max, réponse 72h garanti (standard)

15. Modération Communautaire - Badges et Récompenses

Contenu : Système badges, score fiabilité, récompenses, anti-abus

  • 3 niveaux badges : 🥉 Bronze (5 validés), 🥈 Argent (20 validés), 🥇 Or (50 validés)
  • Modal découverte : affichage unique au 1er signalement, message gratifiant
  • Score fiabilité : calcul auto pour priorisation algorithme (0-100 points)
  • Utilisateurs de confiance : statut auto Argent/Or, traitement prioritaire <12h
  • Réduction Premium Or : -50% pendant 3 mois (2.49€ au lieu de 4.99€), Post-MVP
  • Anti-abus : limite 10 signalements/24h, audit trimestriel, révocation badges
  • ROI : positif dès 2-3 utilisateurs Or (économie modération > coût réductions)
  • Coût MVP : 0€ / Coût Post-MVP : 0-200€/mois

💰 Monétisation & Business

16. Publicités

Contenu : Campagnes, fréquence, insertion, facturation

  • Interface self-service, budget min 50€, étalement paramétrable
  • Fréquence : 1/5 contenus (gratuits uniquement)
  • Durée : 10-60s (recommandé 15-30s), skippable après 5s
  • Validation manuelle 24-48h, prépaiement Mangopay
  • Facturation : écoute complète 0.05€, skip après 5s : 0.02€, skip immédiat : 0€

17. Premium

Contenu : Offre, multi-devices, avantages, gestion abonnement

  • Prix : 4.99€/mois OU 49.99€/an (4.16€/mois effectif)
  • Pas d'essai gratuit, pas de partage familial (MVP)
  • Multi-devices : 1 seul stream actif, détection connexion simultanée
  • Avantages : 0 pub, contenus exclusifs 👑, qualité 64 kbps Opus, offline illimité
  • Paiement : Mangopay (web) ou IAP iOS/Android 5.99€/mois (+30% commission)

18. Monétisation créateurs

Contenu : Activation, KYC, sources revenus, paiement

  • Conditions : compte ≥3 mois, ≥500 abonnés, ≥10K écoutes, 0 strike, ≥5 contenus/90j
  • KYC via Mangopay Connect : SIRET, TVA, RIB pro, pièce ID, Kbis <3 mois
  • Revenus pub : 3€ / 1000 écoutes complètes (6% CA pub)
  • Revenus Premium : 70% créateur, 30% plateforme (proportionnel temps écoute)
  • Paiement : seuil 50€, mensuel (15 du mois suivant), SEPA Mangopay

🔧 Fonctionnalités transverses

19. Autres comportements

Contenu : Partage, profil créateur, recherche

  • Partage : bouton partout, lien roadwave.fr/share/c/[id], web player + deep link
  • Profil créateur : @pseudo, bio (300 car), stats publiques arrondies, badge vérifié ✓
  • Badge vérifié : KYC validé OU célébrité OU >10K abonnés
  • Recherche : full-text PostgreSQL (français, stemming), recherche géo (Nominatim OSM)
  • Filtres : type, durée, âge, géo, tags, date, premium (combinables)
  • Affichage : liste enrichie (20/page, infinite scroll) + vue carte Leaflet

🗂️ Organisation

Chaque fichier de règles métier suit la structure :

  1. Décisions : choix validés avec justifications
  2. Comportements détaillés : flux utilisateur, cas limites
  3. Paramètres : valeurs exactes, seuils, durées
  4. Points d'attention Gherkin : éléments à tester

🚀 Utilisation

Ces documents servent de référence unique pour :

  • Développement backend/frontend
  • Écriture des tests Gherkin (BDD)
  • Validation QA
  • Documentation produit

Prochaine étape : Création des fichiers .feature Gherkin dans features/ basés sur ces règles.


📊 Statistiques

  • 19 sections validées
  • ~14 500 lignes de spécifications détaillées
  • Coût infrastructure MVP : ~50-250€/mois (hors salaires)
  • Coût Post-MVP : +0-200€/mois (réductions Premium contributeurs Or)
  • Technologies : 100% open source (sauf Mangopay paiements)

Dernière mise à jour : Janvier 2026 Statut : Toutes sections validées + Modération communautaire ajoutée