## 19. Modération Communautaire - Badges et Récompenses **Contexte** : Système de gamification pour encourager les utilisateurs à signaler du contenu inapproprié de manière pertinente et qualitative. **Objectifs** : - Améliorer la qualité des signalements (réduire les signalements abusifs) - Réduire la charge de travail des modérateurs (priorisation automatique) - Récompenser les contributeurs actifs et fiables --- ### 19.1 Système de badges **Décision** : 3 niveaux de badges selon l'historique de signalements validés #### 19.1.1 Badges et critères | Badge | Nom | Critères | Avantages | |-------|-----|----------|-----------| | 🥉 | **Contributeur Bronze** | 5 signalements validés + 70% taux pertinence | Signalements prioritaires (+10 points algorithme) | | 🥈 | **Contributeur Argent** | 20 signalements validés + 80% taux pertinence | Signalements prioritaires (+20 points) + Badge visible profil | | 🥇 | **Contributeur Or** | 50 signalements validés + 90% taux pertinence | Signalements prioritaires (+30 points) + Badge visible + Réduction Premium | **Règles d'éligibilité** : - Minimum **10 signalements envoyés** pour être éligible aux badges - Les signalements "En cours" ne comptent pas dans le calcul - Les signalements rejetés font baisser le taux de pertinence **Calcul du taux de pertinence** : ``` Taux de pertinence = (Signalements validés / Total signalements envoyés) × 100 ``` **Période de calcul** : - Seuls les **6 derniers mois** comptent (période glissante) - Évite que les utilisateurs se reposent sur leurs lauriers **Justification** : - **Simple** : 3 niveaux seulement (pas d'over-engineering) - **Gratuit** : logique backend + affichage frontend - **Efficace** : incite la qualité plutôt que la quantité --- #### 19.1.2 Délai entre obtention badges **Décision** : Délai minimum entre niveaux | Transition | Délai minimum | |------------|---------------| | **Bronze → Argent** | 30 jours | | **Argent → Or** | 60 jours | **Justification** : - Évite la montée en badge trop rapide (anti-farming) - Force une contribution régulière sur la durée - Détecte les patterns suspects (audit modérateur si trop rapide) --- #### 19.1.3 Découverte du système **IMPORTANT** : L'utilisateur doit être informé du système de récompenses **dès son premier signalement**. **Moment d'affichage** : - Après avoir envoyé le **premier signalement** - Juste après le toast de confirmation standard - **2 secondes de délai** avant affichage de la modal **Modal d'information** (affichage unique, ne se réaffiche jamais) : ``` ┌─────────────────────────────────────────────┐ │ 🎯 Bravo ! Vous contribuez à une │ │ communauté plus saine │ ├─────────────────────────────────────────────┤ │ │ │ En signalant ce contenu, vous participez │ │ activement à améliorer l'expérience de │ │ tous les utilisateurs RoadWave. │ │ │ │ Vos contributions de qualité sont │ │ valorisées et récompensées : │ │ │ │ 🥉 Bronze : 5 signalements validés │ │ → Signalements prioritaires │ │ │ │ 🥈 Argent : 20 signalements validés │ │ → Badge visible + priorité accrue │ │ │ │ 🥇 Or : 50 signalements validés │ │ → Réduction Premium -50% pendant 3 mois │ │ │ │ 💡 Votre taux de pertinence compte ! │ │ Signalements validés ÷ Total × 100 │ │ │ │ Continuez à nous aider, chaque │ │ signalement pertinent compte ! 🙏 │ │ │ │ [En savoir plus] [J'ai compris] │ └─────────────────────────────────────────────┘ ``` **Lien "En savoir plus"** : - Redirection vers page dédiée expliquant : - Calcul détaillé du taux de pertinence - Critères d'obtention pour chaque badge - Avantages détaillés de chaque niveau - Règles anti-abus (limite 10 signalements/24h) - Durée de validité des badges (audit trimestriel) **Coût** : **0€** (modal one-time, logique backend simple) --- #### 19.1.4 Affichage badges et statistiques **Badge visible** : - **Profil utilisateur** : visible par tous les autres utilisateurs - **Historique signalements** : visible uniquement par l'utilisateur lui-même - **Toast après obtention** : - 🥉 Bronze : "🎉 Félicitations ! Vous êtes désormais Contributeur Bronze. Merci de rendre RoadWave meilleur !" - 🥈 Argent : "🎉 Impressionnant ! Badge Contributeur Argent obtenu. Votre engagement fait la différence !" - 🥇 Or : "🎉 Exceptionnel ! Vous êtes Contributeur Or. La communauté vous remercie pour votre aide précieuse !" **Statistiques personnelles** (page Profil > Mes signalements) : ``` 📊 Vos statistiques de modération Signalements envoyés : 27 Validés : 23 ✅ Rejetés : 4 ❌ Taux de pertinence : 85% Badge actuel : 🥈 Contributeur Argent Prochain palier : 🥇 Contributeur Or (30 signalements validés restants) ``` **Toast après traitement signalement** : - Si validé : "✅ Bravo ! Votre signalement a aidé la communauté. Progression : 3/5 pour badge Bronze 🥉" - Si rejeté : "❌ Signalement non retenu. Taux de pertinence : 60%. Continuez vos efforts !" **Justification** : - **Transparence totale** : l'utilisateur voit sa progression en temps réel - **Motivation** : gamification saine (pas de pression, juste encouragement) - **Gratifiant** : messages positifs valorisant la contribution --- ### 19.2 Score de fiabilité **Décision** : Score interne utilisé pour prioriser les signalements dans l'algorithme #### 19.2.1 Formule ``` Score fiabilité = min(100, (Validés × 10 - Rejetés × 5 + Bonus_Or × 20)) ``` **Détails** : - **Validés** : nombre de signalements validés par modérateurs - **Rejetés** : nombre de signalements rejetés - **Bonus_Or** : +20 points si badge Or actif - **Plafond** : maximum 100 points **Exemples** : | Cas | Validés | Rejetés | Badge | Score | |-----|---------|---------|-------|-------| | Nouvel utilisateur fiable | 10 | 1 | Aucun | 95 | | Utilisateur moyen | 15 | 8 | Bronze | 70 | | Contributeur Or | 50 | 3 | Or | 100 (plafonné) | | Signaleur abusif | 2 | 20 | Aucun | 0 (min 0) | --- #### 19.2.2 Utilisation dans l'algorithme de priorisation **Rappel formule Section 14.2.3** : ``` Priorité = (Score_IA × 0.7) + (Signalements_cumulés × 0.2) + (Fiabilité_signaleur × 0.1) ``` **Intégration** : - **Fiabilité_signaleur** = Score fiabilité / 100 (normalisé 0-1) - Les signalements des utilisateurs avec badge Argent/Or passent automatiquement devant les autres (même score IA) **Affichage à l'utilisateur** : - **NON affiché** publiquement (risque de gamification abusive) - **Visible** uniquement dans les stats personnelles : ``` Votre score de fiabilité : 85/100 → Vos signalements sont traités en priorité ``` **Coût** : **0€** (calcul automatique lors du traitement) --- ### 19.3 Statut "Utilisateur de confiance" **Décision** : Statut automatique pour utilisateurs Badge Argent ou Or **Critère** : - Badge **Argent OU Or** actif = automatiquement "Utilisateur de confiance" **Avantages** : 1. **Priorisation signalements** : traités avant signalements standards (même score IA) 2. **Badge visible** : affichage "Utilisateur de confiance" sur profil public 3. **Notification différée** : résultats sous 12h (au lieu de 24-48h standards) **Révocation** : - Perte badge Argent/Or → perte statut confiance automatique - Retour au statut normal, aucune sanction supplémentaire **Coût** : **0€** (simple flag booléen calculé automatiquement) --- ### 19.4 Réduction Premium pour badge Or **Décision** : Seuls les utilisateurs **Contributeur Or** (top contributeurs) obtiennent une réduction Premium #### 19.4.1 Conditions | Critère | Valeur | |---------|--------| | **Montant** | **-50% pendant 3 mois** (2.49€/mois au lieu de 4.99€) | | **Éligibilité** | Badge Or actif + pas déjà Premium | | **Durée** | 3 mois à partir de l'activation | | **Renouvellement** | Prix normal (4.99€/mois) après 3 mois | | **Cumul** | Non cumulable avec offre annuelle | | **Délai activation** | 30 jours après obtention badge Or | --- #### 19.4.2 Notification **Email + Push + In-app** dès obtention badge Or : ``` 🎉 Exceptionnel ! Vous avez obtenu le badge Contributeur Or Vous faites partie des meilleurs contributeurs de RoadWave. Grâce à votre engagement et votre vigilance, vous aidez des milliers d'utilisateurs à profiter d'une expérience audio de qualité. La communauté vous remercie ! 🙏 En reconnaissance de votre aide précieuse, vous bénéficiez de : ✨ 3 mois d'abonnement Premium à -50% → 2.49€/mois au lieu de 4.99€ [Profiter de l'offre] Cette offre est valable pendant 30 jours. Merci de contribuer à rendre RoadWave meilleur chaque jour ! ``` **Rappels** : - Email + Push J-7 : "Il vous reste 7 jours pour profiter de votre réduction Premium -50%" - Email + Push J-1 : "Dernière chance ! Votre réduction Premium -50% expire demain" **Si non activée après 30 jours** : - Offre expirée (notification : "Votre offre Premium -50% a expiré") - Badge Or conservé (seule l'offre expire, pas le badge) --- #### 19.4.3 Perte du badge Or **Conditions** : - Taux de pertinence descend sous **90%** après audit trimestriel - Signalements abusifs détectés (voir Section 19.5) **Conséquences** : - **Badge Or révoqué** immédiatement - **Abonnement Premium en cours** reste actif jusqu'à sa fin normale - **Nouvelle souscription** à prix normal (4.99€/mois) - **Pas de nouvelle offre -50%** même si badge Or réobtenu ultérieurement **Justification** : - Maintien qualité badges sur le long terme - Évite abus système --- #### 19.4.4 ROI et justification **Coût maximum** : **200€/mois** (si 50 utilisateurs Or simultanés avec réduction active) **ROI attendu** : - **1 utilisateur Or** = économie ~5-10h modération/mois = 75-150€ économisés (taux horaire modérateur ~15€/h) - **10 utilisateurs Or actifs** = 750-1500€ économisés > 200€ coût réductions - **ROI positif dès 2-3 utilisateurs Or actifs** **Justification** : - **Incitation forte** pour meilleurs contributeurs uniquement - **Conversion** : utilisateurs gratuits très engagés → Premium payant après 3 mois - **Risque limité** : coût max plafonné, largement compensé par économie modération --- ### 19.5 Anti-abus **CRITIQUE** : Système de protection contre les comportements abusifs #### 19.5.1 Limite temporelle **Décision** : Maximum 10 signalements / 24h par utilisateur **Règles** : - Au-delà de 10 signalements/24h → signalements automatiquement rejetés - Alerte modérateur automatique (enquête manuelle) - Message utilisateur : "Limite quotidienne atteinte (10 signalements/24h). Réessayez demain." **Justification** : - Évite signalement massif (farming) - 10/jour = largement suffisant pour usage légitime - Coût : 0€ --- #### 19.5.2 Détection patterns suspects **Audit automatique hebdomadaire** : ```sql -- Détection signaleurs suspects SELECT user_id, COUNT(*) as total FROM reports WHERE created_at > NOW() - INTERVAL '7 days' GROUP BY user_id HAVING COUNT(*) > 30 ``` **Action** : - Enquête manuelle modérateur - Révocation badge si abus confirmé **Patterns détectés** : - Signalement massif (>30/semaine) - Taux de pertinence <50% malgré volume élevé - Signalements tous rejetés sur période 7 jours - Signalements ciblant toujours même créateur (harcèlement) --- #### 19.5.3 Audit trimestriel automatique **Décision** : Tous les 3 mois, recalcul badges et révocation si critères non respectés **Processus** : 1. Recalcul taux pertinence sur période glissante 6 mois 2. Vérification critères : - Bronze : minimum 70% pertinence - Argent : minimum 80% pertinence - Or : minimum 90% pertinence 3. Révocation badge si taux insuffisant 4. Email notification **7 jours avant audit** : ``` Votre badge Contributeur Argent sera audité dans 7 jours. Taux de pertinence actuel : 78% Minimum requis : 80% Continuez à signaler du contenu pertinent pour conserver votre badge ! ``` **Après audit** : - Email résultat : "Badge conservé ✓" ou "Badge révoqué ✗" - Possibilité de réobtenir badge ultérieurement (pas de ban) **Justification** : - Maintien qualité badges sur le long terme - Évite repos sur lauriers - Coût : 0€ (script automatique) --- #### 19.5.4 Sanctions abus détecté | Gravité | Abus détecté | Sanction | |---------|--------------|----------| | **Mineur** | >10 signalements/jour pendant 1 jour | Avertissement + limite 5/jour pendant 7 jours | | **Modéré** | >30 signalements/semaine avec <50% pertinence | Révocation badge + interdiction signalement 30 jours | | **Grave** | Signalements massifs coordonnés (farming) | Ban permanent fonctionnalité signalement + révocation tous badges | **Notification sanction** : - Email + Push + In-app - Explication détaillée de l'abus détecté - Durée sanction - **Pas de recours** pour sanctions graves (farming confirmé) --- ## Récapitulatif Section 19 | Point | Décision | Coût | |-------|----------|------| | **Badges (3 niveaux)** | Bronze (5), Argent (20), Or (50) signalements validés | 0€ | | **Modal découverte** | Affichage unique au 1er signalement | 0€ | | **Score fiabilité** | Calcul automatique pour priorisation | 0€ | | **Utilisateurs de confiance** | Statut auto Argent/Or | 0€ | | **Réduction Premium Or** | -50% pendant 3 mois (Post-MVP) | 0-200€/mois | | **Limite temporelle** | Max 10 signalements/24h | 0€ | | **Audit trimestriel** | Révocation si critères non respectés | 0€ | | **Sanctions abus** | Mineur/Modéré/Grave selon pattern | 0€ | **Coût total MVP** : **0€** **Coût total Post-MVP** : **0-200€/mois** (réductions Premium Or) **ROI** : **Positif dès 2-3 utilisateurs Or actifs** (économie modération > coût réductions) --- **Conformité** : - ✅ RGPD : données modération anonymisées après 3 ans - ✅ Transparence : utilisateur informé dès le 1er signalement - ✅ Anti-discrimination : système accessible à tous, basé uniquement sur pertinence **Scalabilité** : - 0-100 utilisateurs actifs : système automatique, 0€ - 100-1000 utilisateurs actifs : 0-50€/mois (quelques badges Or) - 1000+ utilisateurs actifs : 50-200€/mois (max 50 badges Or simultanés) --- **Prochaine section à clarifier** : Section 20 (si nécessaire) ou validation complète règles métier