- Corriger règle 1.4 : appliquer logique standard de classification par âge (13-15 ans: Tout public + 13+, 16-17 ans: + 16+, 18+: tous) - Mettre à jour classification-age.feature avec nouvelles règles de diffusion - Mettre à jour inscription.feature pour cohérence avec classification - Ajouter gestion-compte.feature avec 28 scénarios (déconnexion, changement mot de passe, changement email, changement pseudo, consultation compte)
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 :
- Décisions : choix validés avec justifications
- Comportements détaillés : flux utilisateur, cas limites
- Paramètres : valeurs exactes, seuils, durées
- 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