Files
roadwave/docs/domains/_shared/sequences/moderation-contenu.md
jpgiannetti 62fe0ed5eb docs: renommer fichiers EN→FR pour cohérence linguistique
Entités:
- entities-overview.md → vue-ensemble.md

États (Lifecycles):
- user-account-lifecycle.md → compte-utilisateur.md
- content-lifecycle.md → contenu.md
- session-lifecycle.md → session.md
- report-lifecycle.md → signalement.md
- export-lifecycle.md → export-donnees.md
- parental-consent-lifecycle.md → consentement-parental.md
- account-deletion-lifecycle.md → suppression-compte.md
- breach-incident-lifecycle.md → incident-breach.md

Séquences:
- authentication-flow.md → authentification.md
- token-refresh.md → refresh-token.md (terme technique conservé)
- content-moderation.md → moderation-contenu.md
- content-report.md → signalement.md
2026-02-08 18:17:48 +01:00

1.2 KiB

Séquence - Modération de contenu

Diagramme

sequenceDiagram
    participant C as Créateur
    participant API as Backend API
    participant DB as PostgreSQL
    participant Q as Queue
    participant M as Modérateur
    participant N as Notification

    C->>API: POST /contents (3 premiers contenus)
    API->>DB: INSERT content (status=pending_review)
    API->>Q: Ajout file modération
    API-->>C: Contenu soumis

    Q->>M: Notification nouveau contenu
    M->>API: GET /moderation/contents/pending
    API-->>M: Liste contenus à modérer

    M->>M: Écoute + vérification

    alt Validation
        M->>API: POST /moderation/approve/{id}
        API->>DB: UPDATE status=published
        API->>N: Email + push créateur
        N-->>C: Contenu publié ✓
    else Rejet
        M->>API: POST /moderation/reject/{id} (motif)
        API->>DB: UPDATE status=rejected
        API->>DB: INSERT strike (si grave)
        API->>N: Email créateur (motif)
        N-->>C: Contenu rejeté + motif
    end

Légende

Modération préalable : 3 premiers contenus uniquement Après validation : Publication directe (modération a posteriori via signalements) Délai : 48h maximum Strike : +1 si violation grave