# 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 : - [14-moderation-flows.md](domains/moderation/rules/moderation-flows.md) - [15-moderation-communautaire.md](domains/moderation/rules/moderation-communautaire.md) ## 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 ```bash # 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 - [Règles métier - Modération Flows](domains/moderation/rules/moderation-flows.md) - [Règles métier - Modération Communautaire](domains/moderation/rules/moderation-communautaire.md) - [ADR-023 - Architecture Modération](adr/023-architecture-moderation.md) - [ADR-013 - Stratégie Tests](adr/013-strategie-tests.md) --- **Dernière mise à jour** : 2026-02-02 **Statut** : ✅ Features complètes - Implémentation en cours