# language: fr

@moderation @reporting
Fonctionnalité: Signalement de contenu inapproprié

  # 14.1 - Signalement utilisateur

  Contexte:
    Étant donné que je suis un utilisateur connecté
    Et que je suis en train d'écouter un contenu

  # 14.1.1 - Catégories de signalement

  Scénario: Affichage du formulaire de signalement
    Étant donné que j'écoute un contenu inapproprié
    Quand j'ouvre le menu du contenu
    Et que je clique sur "Signaler"
    Alors un formulaire de signalement s'affiche
    Et le formulaire contient une liste déroulante "Catégorie du problème"
    Et le formulaire contient un champ texte "Commentaire (optionnel)"
    Et le formulaire contient un bouton "Envoyer le signalement"

  Scénario: Liste des 7 catégories prédéfinies
    Étant donné que le formulaire de signalement est affiché
    Quand je clique sur la liste déroulante "Catégorie du problème"
    Alors je vois les 7 catégories suivantes:
      | icône | catégorie               | description                                       |
      | 🚫    | Haine & violence        | Incitation à la haine, discrimination, menaces    |
      | 🔞    | Contenu sexuel          | Pornographie, contenu explicite                   |
      | ⚖️    | Illégalité              | Terrorisme, apologie de crimes                    |
      | 🎵    | Droits d'auteur         | Musique/contenu protégé non autorisé (voir Section 18) |
      | 📧    | Spam                    | Publicité non sollicitée, répétition              |
      | ❌    | Fausse information      | Désinformation sur santé, sécurité routière       |
      | 🔧    | Autre                   | Champ texte obligatoire si sélectionné            |
    Et chaque catégorie a une description claire
    Et la catégorie "Droits d'auteur" renvoie vers les règles détaillées de détection automatique

  Scénario: Sélection de la catégorie "Haine & violence"
    Étant donné que le formulaire de signalement est affiché
    Quand je sélectionne la catégorie "🚫 Haine & violence"
    Alors la catégorie est sélectionnée
    Et la description "Incitation à la haine, discrimination, menaces" s'affiche
    Et je peux passer au champ commentaire

  Scénario: Catégorie "Autre" nécessite un commentaire obligatoire
    Étant donné que le formulaire de signalement est affiché
    Quand je sélectionne la catégorie "🔧 Autre"
    Alors le champ "Commentaire" devient obligatoire
    Et un message s'affiche: "Veuillez décrire le problème (obligatoire)"
    Et le placeholder change en "Décrivez le problème rencontré"
    Et je ne peux pas envoyer le signalement sans commentaire

  # 14.1.2 - Commentaire du signaleur

  Scénario: Champ commentaire optionnel avec incitation
    Étant donné que le formulaire de signalement est affiché
    Et que j'ai sélectionné une catégorie autre que "Autre"
    Quand je consulte le champ "Commentaire"
    Alors le champ est optionnel (pas d'astérisque rouge)
    Et le placeholder indique "Décrivez le problème (optionnel mais recommandé)"
    Et la limite de caractères est de 500
    Et un compteur affiche "0/500"

  Scénario: Envoi de signalement sans commentaire
    Étant donné que j'ai sélectionné la catégorie "📧 Spam"
    Et que je n'ai pas rempli le champ commentaire
    Quand je clique sur "Envoyer le signalement"
    Alors le signalement est envoyé avec succès
    Et aucune erreur de validation ne s'affiche
    Et le commentaire est enregistré comme vide

  Scénario: Envoi de signalement avec commentaire
    Étant donné que j'ai sélectionné la catégorie "🚫 Haine & violence"
    Et que j'ai saisi le commentaire "Le créateur tient des propos discriminatoires à 2:30"
    Quand je clique sur "Envoyer le signalement"
    Alors le signalement est envoyé avec succès
    Et le commentaire est enregistré avec le signalement
    Et il sera visible par les modérateurs

  Scénario: Limite de 500 caractères pour le commentaire
    Étant donné que le formulaire de signalement est affiché
    Quand je saisis un commentaire de 501 caractères
    Alors le champ limite automatiquement à 500 caractères
    Et le compteur affiche "500/500"
    Et les caractères supplémentaires ne sont pas acceptés

  # 14.1.3 - Confirmation après signalement

  Scénario: Toast de confirmation après signalement
    Étant donné que j'ai envoyé un signalement
    Quand le signalement est enregistré
    Alors un toast notification s'affiche
    Et le toast contient le message "✓ Signalement envoyé. Nous l'examinerons sous 24-48h."
    Et le toast s'affiche pendant 5 secondes
    Et le toast contient un bouton "Voir mes signalements"
    Et je peux fermer le toast manuellement avec un bouton X

  Scénario: Accès à l'historique des signalements via le toast
    Étant donné que le toast de confirmation est affiché
    Quand je clique sur "Voir mes signalements"
    Alors je suis redirigé vers la page "Mes signalements"
    Et je vois la liste de tous mes signalements
    Et le signalement que je viens d'envoyer apparaît en premier

  Scénario: Historique personnel des signalements
    Étant donné que j'ai envoyé 3 signalements précédemment
    Quand j'ouvre "Profil > Mes signalements"
    Alors je vois la liste de mes 3 signalements
    Et chaque signalement affiche:
      | information           | description                              |
      | Titre du contenu      | "Podcast #42"                            |
      | Créateur              | @pseudo_createur                         |
      | Catégorie             | 🚫 Haine & violence                      |
      | Date                  | 15/01/2026                               |
      | Statut                | En cours / Traité / Rejeté               |
      | Mon commentaire       | Texte que j'ai saisi                     |
    Et les signalements sont triés par date décroissante

  Plan du Scénario: Statuts possibles d'un signalement
    Étant donné que j'ai envoyé un signalement
    Quand le statut du signalement est "<statut>"
    Alors le badge affiché est "<badge>"
    Et la couleur du badge est "<couleur>"

    Exemples:
      | statut      | badge           | couleur |
      | En cours    | En cours        | orange  |
      | Traité      | Traité ✓        | vert    |
      | Rejeté      | Rejeté ✗        | rouge   |

  Scénario: Notification in-app si action prise
    Étant donné que j'ai signalé un contenu il y a 24h
    Quand le modérateur traite mon signalement
    Et que le contenu est effectivement retiré
    Alors je reçois une notification in-app
    Et la notification indique "Votre signalement a été traité. Le contenu a été retiré."
    Et le statut de mon signalement passe à "Traité ✓"
    Et je peux voir les détails de l'action prise

  Scénario: Notification si signalement rejeté
    Étant donné que j'ai signalé un contenu
    Quand le modérateur rejette mon signalement
    Alors je reçois une notification in-app
    Et la notification indique "Votre signalement a été examiné. Le contenu ne viole pas les règles de la communauté."
    Et le statut de mon signalement passe à "Rejeté ✗"
    Et je peux voir la raison du rejet

  # Signalements multiples du même contenu

  Scénario: Un contenu peut être signalé plusieurs fois
    Étant donné qu'un contenu a déjà été signalé par 5 autres utilisateurs
    Quand je signale le même contenu
    Alors mon signalement est enregistré indépendamment
    Et le compteur de signalements du contenu passe à 6
    Et mon signalement rejoint la file d'attente de modération
    Et les signalements cumulés augmentent la priorité de traitement

  Scénario: Limite de signalements par utilisateur
    Étant donné que j'ai déjà signalé le même contenu il y a 2 jours
    Quand j'essaie de signaler à nouveau le même contenu
    Alors un message m'informe "Vous avez déjà signalé ce contenu"
    Et le formulaire de signalement n'est pas affiché
    Et je peux consulter le statut de mon signalement précédent

  # Signalements abusifs

  Scénario: Détection de signalements abusifs répétés
    Étant donné que j'ai envoyé 10 signalements ce mois-ci
    Et que 8 d'entre eux ont été rejetés comme infondés
    Quand j'essaie d'envoyer un nouveau signalement
    Alors mon compte est marqué comme "signaleur suspect"
    Et un avertissement s'affiche:
      """
      Attention: vos signalements récents ont été majoritairement rejetés.
      Les signalements abusifs peuvent entraîner des sanctions.
      """
    Et je peux toujours envoyer le signalement
    Mais mes futurs signalements auront une priorité réduite

  Scénario: Sanction pour signalements abusifs graves
    Étant donné que j'ai envoyé 20 signalements abusifs en 1 mois
    Et que tous ont été rejetés comme volontairement faux
    Quand le modérateur détecte le pattern abusif
    Alors mon compte reçoit un avertissement formel
    Et je perds la possibilité de signaler pendant 30 jours
    Et je reçois un email m'expliquant la sanction

  # Signalement depuis différents points de l'app

  Scénario: Signalement depuis le player audio
    Étant donné que j'écoute un contenu
    Quand j'ouvre le menu "⋮" du player
    Alors je vois l'option "Signaler"
    Et je peux ouvrir le formulaire de signalement

  Scénario: Signalement depuis la page de détails du contenu
    Étant donné que je consulte la page de détails d'un contenu
    Quand je clique sur le bouton "⋮" en haut à droite
    Alors je vois l'option "Signaler"
    Et je peux ouvrir le formulaire de signalement

  Scénario: Signalement depuis l'historique d'écoute
    Étant donné que je consulte mon historique d'écoute
    Quand je clique sur "⋮" à côté d'un contenu passé
    Alors je vois l'option "Signaler"
    Et je peux signaler ce contenu même si je ne l'écoute plus actuellement

  # Anonymat du signaleur

  Scénario: Identité du signaleur anonyme pour le créateur
    Étant donné que j'ai signalé un contenu
    Quand le créateur est notifié de la modération
    Alors mon identité reste anonyme
    Et le créateur ne peut pas savoir qui a signalé
    Et seuls les modérateurs ont accès à l'identité du signaleur

  # Coût de la solution

  Scénario: Coût du système de signalement
    Étant donné que le système de signalement est en place
    Quand on calcule le coût
    Alors le coût est de 0€
    Et le formulaire est développé en interne
    Et aucun service tiers n'est utilisé
    Et les notifications in-app sont gratuites
