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
- ✅
Créer features UI modération mobile
- ✅
Créer features dashboard modérateur
- ⏳ Implémenter step definitions backend (Godog)
- ⏳ Implémenter step definitions mobile (flutter_gherkin)
- ⏳ Créer dashboard admin React + implémenter step definitions (Cucumber.js)
- ⏳ Intégrer dans CI/CD (make test-bdd)
Commandes de Test
Documentation Liée
Dernière mise à jour : 2026-02-02
Statut : ✅ Features complètes - Implémentation en cours