- Entités: 7 nouveaux schémas (sessions, devices, consents, location-history, interest-gauges, reports, exports) - États: 5 diagrammes lifecycles (compte, contenu, session, signalement, export) - Séquences: 6 flows (auth, refresh token, modération, signalement, export, suppression) - Renommage: modele-global.md → entities-overview.md - MkDocs: organisation hiérarchique par catégories Format concis: diagrammes Mermaid + règles essentielles uniquement
52 lines
1.5 KiB
Markdown
52 lines
1.5 KiB
Markdown
# Séquence - Signalement de contenu
|
|
|
|
## Diagramme
|
|
|
|
```mermaid
|
|
sequenceDiagram
|
|
participant U as Utilisateur
|
|
participant API as Backend API
|
|
participant DB as PostgreSQL
|
|
participant M as Modérateur
|
|
participant C as Créateur
|
|
participant N as Notification
|
|
|
|
U->>API: POST /reports (content_id, category, comment)
|
|
API->>DB: INSERT report (status=pending)
|
|
API->>DB: UPDATE contents.reports_count++
|
|
|
|
alt Priorité haute (3+ reports)
|
|
API->>N: Alerte modérateurs
|
|
end
|
|
|
|
API-->>U: Signalement enregistré
|
|
|
|
M->>API: GET /moderation/reports/pending
|
|
API-->>M: Reports triés par priorité
|
|
|
|
M->>API: PUT /reports/{id} (status=under_review)
|
|
M->>M: Écoute contenu + contexte
|
|
|
|
alt Violation confirmée
|
|
M->>API: POST /moderation/action (action_taken)
|
|
API->>DB: UPDATE content.status=moderated
|
|
API->>DB: UPDATE report.status=actioned
|
|
API->>DB: INSERT strike (créateur)
|
|
API->>N: Notification créateur + signaleur
|
|
N-->>C: Contenu retiré (motif + appel)
|
|
N-->>U: Action prise
|
|
else Infondé
|
|
M->>API: PUT /reports/{id} (status=dismissed)
|
|
API->>DB: UPDATE report
|
|
API->>N: Notification signaleur
|
|
N-->>U: Signalement rejeté
|
|
end
|
|
```
|
|
|
|
## Légende
|
|
|
|
**Priorité haute** : 3+ signalements ou catégories critiques (hate_speech, violence)
|
|
**Délai** : < 24h priorité haute, < 48h normale
|
|
**Anti-abus** : > 5 dismissed → warning signaleur
|
|
**Appel** : Créateur peut contester 7j après moderation
|