431 lines
15 KiB
Markdown
431 lines
15 KiB
Markdown
## 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
|