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.
This commit is contained in:
107
docs/diagrammes/entites/modele-moderation.md
Normal file
107
docs/diagrammes/entites/modele-moderation.md
Normal file
@@ -0,0 +1,107 @@
|
||||
# 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`
|
||||
Reference in New Issue
Block a user