Files
roadwave/docs/diagrammes/entites/modele-moderation.md
jpgiannetti bd724dcb8e doc(diagrammes): ajouter diagrammes Mermaid pour modération
Structure minimaliste :
- docs/diagrammes/flux/ : Flowcharts
- docs/diagrammes/etats/ : State diagrams
- docs/diagrammes/sequence/ : Sequence diagrams
- docs/diagrammes/entites/ : Entity-Relationship diagrams

Exemples créés pour modération (Section 14) :
- Flux de signalement complet
- Cycle de vie d'un signalement (13 états)
- Processus d'appel créateur
- Modèle de données modération (8 entités)

Chaque fichier contient uniquement :
- Référence vers règle métier
- Diagramme Mermaid détaillé
- Légende courte

Intégration dans navigation MkDocs.
2026-02-07 15:56:48 +01:00

108 lines
2.6 KiB
Markdown

# Modèle de données - Modération
📖 Voir [Règles métier - Section 14 : Modération Flows](../../regles-metier/14-moderation-flows.md)
## Diagramme
```mermaid
erDiagram
USERS ||--o{ REPORTS : "signale"
USERS ||--o{ CONTENTS : "crée"
USERS ||--o{ MODERATION_BADGES : "possède"
USERS ||--o{ APPEALS : "soumet"
CONTENTS ||--o{ REPORTS : "concerne"
CONTENTS ||--o{ SANCTIONS : "sanctionné par"
REPORTS ||--o| SANCTIONS : "génère"
REPORTS ||--o| APPEALS : "fait l'objet de"
REPORTS }o--|| MODERATORS : "traité par"
APPEALS }o--|| MODERATORS : "examiné par"
SANCTIONS ||--o{ STRIKES : "crée"
USERS {
uuid id PK
string email UK
string pseudo UK
int trust_score
string role
}
CONTENTS {
uuid id PK
uuid creator_id FK
string title
string status
point geo_location
boolean is_moderated
}
REPORTS {
uuid id PK
uuid content_id FK
uuid reporter_id FK
uuid moderator_id FK
string category
string status
int ai_score
int priority
string decision
}
SANCTIONS {
uuid id PK
uuid report_id FK
uuid content_id FK
uuid creator_id FK
string sanction_type
int duration_days
boolean is_active
}
STRIKES {
uuid id PK
uuid creator_id FK
uuid sanction_id FK
int strike_number
boolean is_active
}
APPEALS {
uuid id PK
uuid report_id FK
uuid creator_id FK
uuid moderator_id FK
string ticket_number UK
string status
string decision
}
MODERATORS {
uuid id PK
string name
string role
}
MODERATION_BADGES {
uuid id PK
uuid user_id FK
string badge_type
int reports_validated
decimal accuracy_rate
boolean is_active
}
```
## Légende
**Entités** :
- **REPORTS** : Signalements - 7 catégories (haine, sexuel, illégal, copyright, spam, désinformation, autre), scoring IA 0-100%, priorité CRITIQUE/HAUTE/MOYENNE/BASSE
- **SANCTIONS** : Strike (avertissement), Suspension (7j/30j), Ban permanent
- **APPEALS** : Appels créateurs - ticket #MOD-YYYY-XXXXX, délai 7j, examen 72h
- **STRIKES** : Compteur créateur 1/4 à 4/4 (Strike 4 = ban permanent, expiration 6 mois)
- **MODERATION_BADGES** : Bronze (5 validés, 70%), Argent (20 validés, 80%), Or (50 validés, 90%)
**Statuts REPORTS** : `received``transcribing``analyzing``pending_review``in_review``validated`/`rejected``closed`