Initial commit
This commit is contained in:
296
docs/regles-metier/README.md
Normal file
296
docs/regles-metier/README.md
Normal file
@@ -0,0 +1,296 @@
|
||||
# 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](01-authentification-inscription.md)
|
||||
|
||||
**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](02-conformite-rgpd.md)
|
||||
|
||||
**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](03-centres-interet-jauges.md)
|
||||
|
||||
**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](04-algorithme-recommandation.md)
|
||||
|
||||
**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](05-interactions-navigation.md)
|
||||
|
||||
**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](06-audio-guides-multi-sequences.md)
|
||||
|
||||
**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](07-contenus-geolocalises-voiture.md)
|
||||
|
||||
**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](08-mode-offline.md)
|
||||
|
||||
**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](09-abonnements-notifications.md)
|
||||
|
||||
**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](10-gestion-erreurs.md)
|
||||
|
||||
**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](11-creation-publication-contenu.md)
|
||||
|
||||
**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](12-radio-live.md)
|
||||
|
||||
**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é](13-detection-contenu-protege.md)
|
||||
|
||||
**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](14-moderation-flows.md)
|
||||
|
||||
**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](15-moderation-communautaire.md)
|
||||
|
||||
**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](16-publicites.md)
|
||||
|
||||
**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](17-premium.md)
|
||||
|
||||
**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](18-monetisation-createurs.md)
|
||||
|
||||
**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](19-autres-comportements.md)
|
||||
|
||||
**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
|
||||
Reference in New Issue
Block a user