# Processus d'appel de modération

📖 Voir [Règles métier - Section 14 : Modération Flows](../rules/moderation-flows.md)

## Diagramme

```mermaid
sequenceDiagram
    actor Créateur
    participant App as Application Mobile
    participant API as Backend API
    participant Email as Service Email
    actor ModSenior as Modérateur Senior

    Note over Créateur,ModSenior: Notification sanction initiale

    API->>Créateur: Email + Push + In-app<br/>(catégorie + raison + extrait)

    Note over Créateur,ModSenior: Soumission appel (J+0 à J+7)

    Créateur->>App: Clique "Contester cette décision"
    App->>Créateur: Affiche formulaire d'appel

    Créateur->>App: Remplit formulaire + preuves
    App->>API: POST /appeals

    API->>API: Génère ticket #MOD-2026-XXXXX

    API->>Email: Email confirmation
    Email->>Créateur: "Appel traité sous 72h"

    Note over Créateur,ModSenior: Examen modérateur senior (J+0 à J+3)

    ModSenior->>API: Consulte appel
    API-->>ModSenior: Données complètes<br/>(signalement + arguments + historique)

    alt Appel accepté
        ModSenior->>API: Accepter appel
        API->>Email: Email créateur
        Email->>Créateur: "✅ Appel accepté<br/>Strike retiré"
    else Appel rejeté
        ModSenior->>API: Rejeter appel
        API->>Email: Email créateur
        Email->>Créateur: "❌ Appel rejeté<br/>Décision définitive"
    end

    opt Cas complexe (J+3)
        API->>Email: Email intermédiaire
        Email->>Créateur: "Examen approfondi<br/>Réponse sous 2 jours"
    end
```

## Légende

**Phases** :
1. **Notification sanction** : Multi-canal (Email + Push + In-app)
2. **Soumission appel** : Délai 7 jours max après sanction, formulaire obligatoire (raison + arguments), preuves optionnelles (max 5 fichiers, 10 MB)
3. **Examen senior** : 72h standard, 5 jours si complexe avec notification intermédiaire J+3
4. **Décision** : Accepté (strike retiré, contenu rétabli) ou Rejeté (définitif, pas de second appel)
