jpgiannetti 5986286c3d feat(adr): créer 3 ADR P1 manquants + atteindre score 95%
Création des ADR critiques pour phase pré-implémentation :

- ADR-023 : Architecture de Modération
  * PostgreSQL LISTEN/NOTIFY + Redis cache priorisation
  * Whisper large-v3 (transcription) + NLP (distilbert, roberta)
  * Dashboard React + Wavesurfer.js + workflow automatisé
  * SLA 2h/24h/72h selon priorité, conformité DSA

- ADR-024 : Monitoring et Observabilité
  * Prometheus + Grafana + Loki (stack self-hosted)
  * Alerting multi-canal : Email (Brevo) + Webhook (Slack/Discord)
  * Backup PostgreSQL : WAL-E continuous (RTO 1h, RPO 15min)
  * Runbooks incidents + dashboards métriques + uptime monitoring

- ADR-025 : Secrets et Sécurité
  * HashiCorp Vault (self-hosted) pour secrets management
  * AES-256-GCM encryption PII (emails, GPS précis)
  * Let's Encrypt TLS 1.3 (wildcard certificate)
  * OWASP Top 10 mitigation complète + rate limiting

Impact INCONSISTENCIES.md :
- Score Modération : 20% → 95%
- Score Ops & Monitoring : 30% → 95%
- Score Sécurité : 40% → 95%
- Score global : 82% → 95%  OBJECTIF ATTEINT

Phase P0 + P1 TERMINÉES : documentation prête pour Sprint 3 !

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-01 16:44:21 +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

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)

Voir ADR-010 pour les détails techniques


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.

Voir ADR-011 pour les détails techniques

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
Description
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.
Readme 3.7 MiB
Languages
Makefile 80.8%
Dockerfile 11.6%
Shell 7.6%