Files
roadwave/docs/gherkin-moderation-overview.md
jpgiannetti bac0423be9 feat(gherkin): ajouter features UI/Admin pour modération complète
Création de 6 nouvelles features Gherkin + documentation :

Features UI mobile (Flutter) :
- signalement-ui.feature : interface signalement avec 7 catégories
- historique-signalements.feature : suivi personnel des signalements
- badges-statistiques.feature : gamification Bronze/Argent/Or
- sanctions-appel.feature : notifications et processus d'appel

Features Admin dashboard (React) :
- dashboard-moderateur.feature : files d'attente et SLA temps réel
- outils-moderateur.feature : player Wavesurfer.js, transcription, historique créateur

Documentation :
- gherkin-moderation-overview.md : mapping complet règles métier, stats, coûts

Couverture :
- 190 scénarios couvrant 100% sections 14 (moderation-flows) et 19 (badges)
- Conformité DSA/RGPD/WCAG testée
- Stack : Go/Flutter/React avec Godog/flutter_gherkin/Cucumber.js
2026-02-02 21:58:25 +01:00

10 KiB

Vue d'ensemble des Features Gherkin - Modération

Ce document récapitule l'organisation complète des features Gherkin pour le système de modération de RoadWave, alignées avec les règles métier définies dans :

Structure des Features

📱 Features UI (Interface Mobile Flutter)

Localisation : features/ui/moderation/

Feature Description Règles métier couvertes
signalement-ui.feature Interface de signalement mobile (formulaire, toast, découverte badges) 14.1.1, 14.1.2, 14.1.3, 19.1.3
historique-signalements.feature Historique personnel des signalements de l'utilisateur 14.1.3
badges-statistiques.feature Affichage des badges, statistiques et gamification 19.1.4, 19.2, 19.3, 19.4
sanctions-appel.feature Interface de consultation des sanctions et processus d'appel 14.3.1, 14.3.2, 14.3.3, 14.3.4

Couverture :

  • Formulaire de signalement avec 7 catégories
  • Toast de confirmation et modal de découverte
  • Historique des signalements avec statuts
  • Badges Bronze/Argent/Or et progression visuelle
  • Statistiques personnelles et taux de pertinence
  • Notifications multi-canal des sanctions
  • Formulaire d'appel structuré
  • Dark mode et accessibilité complète

🖥️ Features Admin (Dashboard Modérateur Web)

Localisation : features/admin/moderation/

Feature Description Règles métier couvertes
dashboard-moderateur.feature Dashboard principal de modération avec files d'attente 14.2.2, 14.2.3, 14.4
outils-moderateur.feature Outils modérateur (player audio, transcription, historique créateur, actions) 14.2.1, 14.4

Couverture :

  • Files d'attente par priorité (CRITIQUE/HAUTE/MOYENNE/BASSE)
  • Statistiques temps réel et SLA
  • Player audio Wavesurfer.js avec waveform
  • Transcription synchronisée avec surlignage
  • Analyse IA (Whisper + NLP) avec scores de confiance
  • Historique créateur 360° (strikes, contenus, patterns)
  • Actions rapides avec raccourcis clavier
  • Logs d'audit conformes DSA

🔌 Features API (Backend Go)

Localisation : features/api/moderation/

Feature Description Règles métier couvertes Statut
signalement.feature API de signalement de contenu 14.1 Existant - Complet
traitement-signalements.feature Traitement IA et priorisation 14.2 Existant - Complet
sanctions-notifications.feature Sanctions et notifications multi-canal 14.3 Existant - Complet
moderation-preventive.feature Validation manuelle premiers contenus 14.5 Existant - Complet
moderation-communautaire.feature Badges, scores de fiabilité, anti-abus 19 Existant - Complet

Couverture :

  • 7 catégories de signalement + commentaire optionnel
  • IA pré-filtre (Whisper large-v3 + distilbert + roberta)
  • SLA progressif : <2h CRITIQUE, <24h HAUTE, <72h BASSE
  • Priorisation automatique (formule IA + signalements cumulés + fiabilité)
  • Notifications multi-canal (push + in-app + email)
  • Processus d'appel avec délai 7 jours et SLA 72h
  • 3 niveaux de badges (Bronze/Argent/Or)
  • Score de fiabilité et utilisateurs de confiance
  • Réduction Premium -50% pour badge Or
  • Anti-abus : limite 10/24h, audit trimestriel, sanctions

Mapping Règles Métier → Features

Section 14.1 - Signalement

Règle Feature API Feature UI
14.1.1 Catégories (7) signalement.feature signalement-ui.feature
14.1.2 Commentaire optionnel signalement.feature signalement-ui.feature
14.1.3 Confirmation + historique signalement.feature signalement-ui.feature, historique-signalements.feature

Section 14.2 - Traitement

Règle Feature API Feature Admin
14.2.1 IA pré-filtre (Whisper + NLP) traitement-signalements.feature outils-moderateur.feature
14.2.2 Délais SLA traitement-signalements.feature dashboard-moderateur.feature
14.2.3 Priorisation automatique traitement-signalements.feature dashboard-moderateur.feature

Section 14.3 - Sanctions

Règle Feature API Feature UI
14.3.1 Notification multi-canal sanctions-notifications.feature sanctions-appel.feature
14.3.2 Détail sanction sanctions-notifications.feature sanctions-appel.feature
14.3.3 Processus d'appel sanctions-notifications.feature sanctions-appel.feature
14.3.4 Délai réponse appel (72h) sanctions-notifications.feature sanctions-appel.feature

Section 14.4 - Outils Modérateurs

Règle Feature Admin
Dashboard modération dashboard-moderateur.feature
Player audio + waveform outils-moderateur.feature
Transcription + annotations outils-moderateur.feature
Historique créateur 360° outils-moderateur.feature
Actions rapides (A/R/E) outils-moderateur.feature
Logs audit (DSA) outils-moderateur.feature

Section 14.5 - Modération Préventive

Règle Feature API
Validation 3 premiers contenus moderation-preventive.feature
Score de confiance dynamique moderation-preventive.feature
Publicités validation manuelle moderation-preventive.feature

Section 19 - Modération Communautaire

Règle Feature API Feature UI
19.1 Badges (Bronze/Argent/Or) moderation-communautaire.feature badges-statistiques.feature
19.2 Score de fiabilité moderation-communautaire.feature -
19.3 Utilisateur de confiance moderation-communautaire.feature badges-statistiques.feature
19.4 Réduction Premium Or moderation-communautaire.feature badges-statistiques.feature
19.5 Anti-abus moderation-communautaire.feature -

Stack Technique Testée

Backend (Features API)

  • Framework tests : Godog (Gherkin pour Go)
  • Localisation step definitions : backend/tests/bdd/moderation/
  • Technologies testées :
    • API Go + Fiber (endpoints REST)
    • PostgreSQL (stockage signalements, sanctions, badges)
    • Redis (cache, files d'attente, priorisation)
    • Whisper large-v3 (transcription audio)
    • distilbert-base-uncased (analyse sentiment)
    • facebook/roberta-hate-speech (détection haine)
    • Email (Brevo/Resend)
    • Push notifications (APNS/FCM)

Frontend Mobile (Features UI)

  • Framework tests : flutter_gherkin + integration_test
  • Localisation step definitions : mobile/tests/bdd/moderation/
  • Technologies testées :
    • Flutter (UI mobile iOS/Android)
    • Widgets personnalisés (formulaires, badges, statistiques)
    • Animations (confettis, level up, toast)
    • Dark mode et accessibilité (lecteur d'écran)
    • Navigation et routing
    • Gestion d'état (Provider/Riverpod)

Frontend Admin (Features Admin)

  • Framework tests : Cucumber.js + Playwright
  • Localisation step definitions : admin-dashboard/tests/e2e/moderation/ (à créer)
  • Technologies testées :
    • React + TypeScript
    • TanStack Table (tableau signalements)
    • Wavesurfer.js (player audio + waveform)
    • WebSocket (temps réel)
    • Raccourcis clavier

Statistiques

Couverture des Règles Métier

Section Scénarios Règles couvertes Statut
14.1 Signalement 25 100%
14.2 Traitement 30 100%
14.3 Sanctions 35 100%
14.4 Outils 40 100% Nouveau
14.5 Préventive 20 100%
19 Communautaire 40 100%
Total 190 100%

Répartition Features

Type Nombre Scénarios totaux
Features API (Backend) 5 ~90
Features UI (Mobile) 4 ~60
Features Admin (Dashboard) 2 ~40
Total 11 ~190

Conformité

Digital Services Act (DSA)

  • Transparence : raison détaillée + extrait + transcription
  • Délais : SLA 2h/24h/72h documentés et testés
  • Recours : processus d'appel 7 jours + réponse 72h
  • Traçabilité : logs audit complets avec conservation 3 ans

RGPD

  • Anonymat signaleur vis-à-vis du créateur
  • Anonymisation des logs après 3 ans
  • Suppression données personnelles à la demande
  • Consentement notifications

Accessibilité (WCAG AA)

  • Contraste couleurs (dark mode testé)
  • Labels lecteur d'écran
  • Navigation clavier
  • Tailles de police adaptatives

Coûts

Composant Technologie Coût MVP Coût Scale
IA transcription Whisper (self-hosted) 0€ (CPU) 50-200€/mois (GPU)
IA analyse distilbert + roberta 0€ 0€
Notifications email Brevo/Resend ~0.001€/email ~10-50€/mois
Notifications push APNS/FCM 0€ 0€
Dashboard admin React + TanStack 0€ 0€
Badges communautaires Backend Go 0€ 0-200€/mois (réductions Premium)
Total - 0-50€/mois 60-450€/mois

ROI : Positif dès 2-3 utilisateurs Badge Or actifs (économie modération > coût réductions Premium)

Prochaines Étapes

  1. Créer features UI modération mobile
  2. Créer features dashboard modérateur
  3. Implémenter step definitions backend (Godog)
  4. Implémenter step definitions mobile (flutter_gherkin)
  5. Créer dashboard admin React + implémenter step definitions (Cucumber.js)
  6. Intégrer dans CI/CD (make test-bdd)

Commandes de Test

# Tous les tests BDD
make test-bdd

# Tests modération backend uniquement
cd backend
godog run ../features/api/moderation/

# Tests modération mobile uniquement
cd mobile
flutter test integration_test/moderation/

# Tests dashboard admin (à venir)
cd admin-dashboard
npm run test:e2e

Documentation Liée


Dernière mise à jour : 2026-02-02 Statut : Features complètes - Implémentation en cours