- Ajouter ADR-018 (librairies Go) dans TECHNICAL.md - Transformer Shared en menu dépliable dans mkdocs (cohérence avec autres domaines) - Corriger listes markdown (ajout lignes vides avant listes) - Corriger line breaks dans génération BDD (étapes "Et" sur nouvelles lignes) - Ajouter script fix-markdown-lists.sh pour corrections futures Impacte 86 fichiers de documentation et 164 fichiers BDD générés.
283 lines
10 KiB
Markdown
283 lines
10 KiB
Markdown
# RoadWave
|
|
|
|
Réseau social audio géolocalisé pour les usagers de la route.
|
|
|
|
## Concept
|
|
|
|
RoadWave permet aux conducteurs d'écouter du contenu audio contextuel pendant leurs trajets. La navigation se fait par commandes au volant (suivant/précédent), inspirée des réseaux à scroll infini.
|
|
|
|
Le contenu est diffusé en fonction de la position géographique de l'utilisateur et de ses centres d'intérêt.
|
|
|
|
---
|
|
|
|
## Cas d'usage
|
|
|
|
| Utilisateur | Scénario |
|
|
|-------------|----------|
|
|
| **Conducteur** | Écoute contenu audio en conduisant, navigation par commandes au volant (suivant/précédent), reçoit notifications géolocalisées en passant près de points d'intérêt |
|
|
| **Routier** | Écoute podcasts et radios live pendant ses trajets longue distance |
|
|
| **Touriste à pied** | Visite guidée audio d'un musée, monument ou ville : choisit parmi plusieurs guides, navigue entre séquences à son rythme (tactile/vocal), reçoit notification push quand un audio-guide est disponible à proximité |
|
|
| **Commerçant** | Diffuse une publicité audio ciblée GPS devant son commerce |
|
|
| **Passionné auto** | Découvre du contenu automobile près de circuits ou concessionnaires |
|
|
| **Habitant local** | Partage anecdotes ou bons plans géolocalisés dans son quartier |
|
|
| **Média traditionnel** | Le Monde, Le Parisien diffusent actualités géolocalisées ou nationales |
|
|
|
|
---
|
|
|
|
## Utilisateurs
|
|
|
|
Tout utilisateur peut écouter et créer du contenu (rôle flexible).
|
|
|
|
| Rôle | Description |
|
|
|------|-------------|
|
|
| **Auditeur** | Écoute, like, s'abonne à des créateurs, signale des contenus |
|
|
| **Créateur** | Publie du contenu audio géolocalisé (individus, médias traditionnels) |
|
|
| **Publicitaire** | Diffuse des publicités ciblées géographiquement |
|
|
| **Modérateur** | Valide et modère les contenus signalés |
|
|
|
|
---
|
|
|
|
## Types de contenu
|
|
|
|
| Type | Description |
|
|
|------|-------------|
|
|
| **Contenu court** | Audio de quelques secondes à quelques minutes |
|
|
| **Podcast** | Épisodes plus longs, séries thématiques |
|
|
| **Radio live** | Diffusion en direct avec synchronisation approximative entre auditeurs |
|
|
| **Audio-guide** | Visite guidée multiséquence (musée, monument, ville) : plusieurs séquences numérotées, navigation manuelle entre pistes, liste complète visible, guidage vocal entre points d'intérêt |
|
|
|
|
---
|
|
|
|
## Géolocalisation
|
|
|
|
Le créateur définit la zone de diffusion de son contenu :
|
|
|
|
| Niveau | Portée |
|
|
|--------|--------|
|
|
| **Point GPS** | Rayon précis autour d'une coordonnée |
|
|
| **Ville** | Diffusion dans une ville |
|
|
| **Département** | Diffusion départementale |
|
|
| **Région** | Diffusion régionale |
|
|
| **Pays** | Diffusion nationale |
|
|
|
|
**Priorité de diffusion** : plus la zone est précise, plus le contenu a de chances d'être diffusé (GPS > ville > département > région > pays).
|
|
|
|
---
|
|
|
|
## Algorithme de recommandation
|
|
|
|
Le contenu proposé est calculé via un **score combiné** :
|
|
|
|
- **Proximité géographique** : distance entre l'utilisateur et la zone du contenu
|
|
- **Pertinence des intérêts** : correspondance avec les centres d'intérêt de l'utilisateur
|
|
|
|
Lorsque plusieurs contenus sont disponibles dans une zone, **seul le plus pertinent est diffusé**.
|
|
|
|
---
|
|
|
|
## Centres d'intérêt
|
|
|
|
Chaque utilisateur possède des **jauges d'intérêt** qui évoluent dynamiquement :
|
|
|
|
### Catégories
|
|
|
|
- Automobile
|
|
- Voyage
|
|
- Famille
|
|
- Amour
|
|
- Musique
|
|
- Économie
|
|
- Cryptomonnaie
|
|
- Politique
|
|
- *... (extensible)*
|
|
|
|
### Évolution des jauges
|
|
|
|
| Action | Effet |
|
|
|--------|-------|
|
|
| Temps d'écoute long | Augmente la jauge |
|
|
| Like | Augmente la jauge |
|
|
| Abonnement | Augmente fortement la jauge |
|
|
| Skip rapide | Diminue la jauge |
|
|
|
|
Les créateurs taguent leur contenu avec des centres d'intérêt. L'algorithme privilégie les correspondances mais n'exclut pas les utilisateurs sans correspondance.
|
|
|
|
---
|
|
|
|
## Interactions
|
|
|
|
### Commandes au volant (conduite)
|
|
|
|
Interactions simplifiées pour sécurité routière maximale :
|
|
|
|
| Commande | Action |
|
|
|----------|--------|
|
|
| **Suivant** | Passer au contenu suivant |
|
|
| **Précédent** | Revenir au contenu précédent |
|
|
| **Play/Pause** | Mettre en pause / reprendre la lecture |
|
|
|
|
**Like automatique** : Le système détecte automatiquement vos préférences selon votre temps d'écoute :
|
|
|
|
- Écoute ≥80% du contenu → Like renforcé (+2 points jauge)
|
|
- Écoute 30-79% du contenu → Like standard (+1 point jauge)
|
|
- Skip après <10s → Signal négatif (-0.5 point)
|
|
---
|
|
|
|
## Publicités
|
|
|
|
- Insertion **entre deux contenus** uniquement (jamais d'interruption)
|
|
- Ciblage géographique : point GPS, ville, département, région ou national
|
|
- Interface dédiée pour les publicitaires
|
|
|
|
---
|
|
|
|
## Radio live
|
|
|
|
- Diffusion en direct par des créateurs
|
|
- **Buffering** pour garantir une écoute fluide
|
|
- **Synchronisation approximative** entre les auditeurs (quelques secondes de décalage possible)
|
|
|
|
---
|
|
|
|
## Modération
|
|
|
|
Approche hybride combinant participation communautaire, IA et modérateurs dédiés.
|
|
|
|
### Contenus prohibés
|
|
|
|
| Catégorie | Description |
|
|
|-----------|-------------|
|
|
| **Haine et violence** | Incitation à la haine, violence, discrimination |
|
|
| **Contenu sexuel** | Pornographie ou contenu sexuellement explicite |
|
|
| **Illégalité** | Apologie du terrorisme, actes criminels |
|
|
| **Désinformation dangereuse** | Fausses informations sur la santé, sécurité routière |
|
|
| **Harcèlement** | Menaces, intimidation, doxxing |
|
|
| **Droits d'auteur** | Violation de propriété intellectuelle |
|
|
| **Fraude** | Arnaques, escroqueries |
|
|
|
|
### Rôles de modération
|
|
|
|
| Rôle | Capacités |
|
|
|------|-----------|
|
|
| **Auditeur lambda** | Signaler un contenu (1 clic) |
|
|
| **Auditeur de confiance** | Signalements priorisés après historique positif |
|
|
| **Modérateur junior** | Traiter signalements simples (spam, contenu évident) |
|
|
| **Modérateur senior** | Cas complexes, appels, décisions de ban |
|
|
| **Admin modération** | Définir les règles, superviser l'équipe |
|
|
|
|
### Flux de modération
|
|
|
|
```
|
|
1. Auditeur signale → File d'attente
|
|
2. IA pré-filtre → Cas évidents traités automatiquement
|
|
3. Modérateur junior → Traite 80% des cas restants
|
|
4. Modérateur senior → Cas complexes + recours
|
|
```
|
|
|
|
### Outils de modération automatique
|
|
|
|
| Outil | Fonction |
|
|
|-------|----------|
|
|
| **Transcription audio** | Conversion automatique en texte pour analyse |
|
|
| **Analyse vocale IA** | Détection de ton agressif, cris, insultes |
|
|
| **Empreinte audio** | Détection de contenus déjà modérés (réupload) |
|
|
| **Détection droits d'auteur** | Identification automatique de musique protégée |
|
|
| **Filtrage mots-clés** | Liste noire de termes inappropriés |
|
|
|
|
### Modération préventive
|
|
|
|
- **Nouveaux créateurs** : validation manuelle des 3 premiers contenus
|
|
- **Score de confiance** : évolution selon l'historique du créateur
|
|
- **Publicités** : validation manuelle obligatoire avant diffusion
|
|
|
|
### Système de strikes
|
|
|
|
| Strike | Sanction | Durée suspension |
|
|
|--------|----------|------------------|
|
|
| **Strike 1** | Avertissement + suppression contenu + suspension upload | 3 jours |
|
|
| **Strike 2** | Suppression contenu + suspension upload | 7 jours |
|
|
| **Strike 3** | Suppression contenu + suspension upload | 30 jours |
|
|
| **Strike 4** | Ban définitif du compte créateur | Permanent |
|
|
|
|
**Notes** :
|
|
|
|
- **Tolérance 1ère fois** (droits d'auteur uniquement) : avertissement sans strike
|
|
- **Violations graves** (haine, illégalité, violence) : strike immédiat sans tolérance
|
|
- **Réhabilitation** : -1 strike tous les 6 mois sans nouvelle violation
|
|
|
|
### Priorisation des signalements
|
|
|
|
| Priorité | Type de contenu |
|
|
|----------|-----------------|
|
|
| **CRITIQUE** | Violence, suicide, mise en danger immédiate |
|
|
| **HAUTE** | Harcèlement, haine, désinformation |
|
|
| **MOYENNE** | Spam, contenu inapproprié |
|
|
| **BASSE** | Qualité audio, tags incorrects |
|
|
|
|
### Transparence et recours
|
|
|
|
- **Notification explicite** lors de suppression (raison détaillée)
|
|
- **Processus d'appel** : le créateur peut contester une décision
|
|
- **Délai de traitement** : 48-72h pour les recours
|
|
- **Historique** : tableau de bord des sanctions pour le créateur
|
|
|
|
### Modération communautaire
|
|
|
|
- **Utilisateurs de confiance** : signalements priorisés après historique positif
|
|
- **Récompenses** : badges, réduction premium pour signalements pertinents
|
|
- Lutte contre les signalements abusifs (sanctions possibles)
|
|
|
|
---
|
|
|
|
## Modèle économique
|
|
|
|
### Offres
|
|
|
|
| Formule | Description |
|
|
|---------|-------------|
|
|
| **Gratuit** | Accès complet avec publicités entre les contenus |
|
|
| **Premium** | Sans publicité + accès aux contenus exclusifs |
|
|
|
|
### Monétisation créateurs
|
|
|
|
- **Partage des revenus pub** : rémunération basée sur le nombre d'écoutes
|
|
- **Pourboires** : les auditeurs peuvent faire des dons aux créateurs
|
|
|
|
---
|
|
|
|
## Conformité RGPD
|
|
|
|
### Permissions GPS
|
|
|
|
RoadWave adapte ses permissions selon l'usage :
|
|
|
|
| Mode | Permission GPS | Fonctionnalités |
|
|
|------|----------------|-----------------|
|
|
| **Mode voiture** | "When In Use" uniquement | Écoute contenu géolocalisé pendant conduite |
|
|
| **Mode piéton** | "Always Location" optionnelle | Notifications audio-guides en arrière-plan |
|
|
|
|
**Important** : La permission "Always Location" est **optionnelle** et réservée au mode piéton pour recevoir des notifications push lorsqu'un audio-guide est disponible à proximité. Elle n'est jamais requise pour l'usage principal en voiture.
|
|
### Données collectées
|
|
|
|
| Donnée | Finalité | Base légale |
|
|
|--------|----------|-------------|
|
|
| **Position GPS** | Diffusion de contenu géolocalisé | Consentement |
|
|
| **Historique d'écoute** | Personnalisation des recommandations | Intérêt légitime |
|
|
| **Centres d'intérêt** | Algorithme de recommandation | Consentement |
|
|
| **Identité créateur** | Publication de contenu | Exécution du contrat |
|
|
|
|
### Droits des utilisateurs
|
|
|
|
- **Accès** : consulter toutes ses données personnelles
|
|
- **Rectification** : modifier ses informations
|
|
- **Suppression** : supprimer son compte et toutes ses données
|
|
- **Portabilité** : exporter ses données dans un format standard
|
|
- **Opposition** : désactiver le profilage publicitaire
|
|
|
|
### Mesures techniques
|
|
|
|
- Consentement explicite requis pour la géolocalisation
|
|
- Anonymisation des données de localisation après 24h (sauf historique personnel)
|
|
- Possibilité d'utiliser l'app en mode dégradé (sans géolocalisation précise)
|
|
- Données hébergées dans l'UE
|