- 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.
15 KiB
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 :
- Priorisation signalements : traités avant signalements standards (même score IA)
- Badge visible : affichage "Utilisateur de confiance" sur profil public
- 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 :
- Recalcul taux pertinence sur période glissante 6 mois
- Vérification critères :
- Bronze : minimum 70% pertinence
- Argent : minimum 80% pertinence
- Or : minimum 90% pertinence
- Révocation badge si taux insuffisant
- 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