# 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