Files
roadwave/docs/domains/moderation/rules/moderation-communautaire.md
jpgiannetti 35aaa105d0 docs: améliorer rendu markdown et navigation mkdocs
- Ajouter ADR-018 (librairies Go) dans TECHNICAL.md
- Transformer Shared en menu dépliable dans mkdocs (cohérence avec autres domaines)
- Corriger listes markdown (ajout lignes vides avant listes)
- Corriger line breaks dans génération BDD (étapes "Et" sur nouvelles lignes)
- Ajouter script fix-markdown-lists.sh pour corrections futures

Impacte 86 fichiers de documentation et 164 fichiers BDD générés.
2026-02-09 20:49:52 +01:00

15 KiB
Raw Blame History

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 :

-- 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