# language: fr @ui @moderation @historique Fonctionnalité: Historique des signalements utilisateur (Mobile) En tant qu'utilisateur Je veux consulter l'historique de mes signalements Afin de suivre leur traitement et comprendre les décisions prises # 14.1.3 - Historique personnel des signalements Contexte: Étant donné que je suis connecté à l'application mobile Et que j'ai envoyé des signalements précédemment # Accès à l'historique Scénario: Accéder à l'historique depuis le profil Étant donné que je suis dans mon profil utilisateur Quand je scroll vers le bas Alors je vois une section "📊 Modération" Et je vois l'option "Mes signalements" Et je vois le nombre de signalements en badge: "(12)" Et je peux cliquer pour accéder à l'historique Scénario: Accéder à l'historique depuis le toast de confirmation Étant donné que je viens d'envoyer un signalement Et que le toast de confirmation est affiché Quand je clique sur "Voir mes signalements" Alors je suis redirigé vers la page "Mes signalements" Et la page s'affiche en moins de 500ms Et mon dernier signalement est en tête de liste # Affichage de la liste des signalements Scénario: Affichage de l'historique vide Étant donné que je n'ai jamais envoyé de signalement Quand j'ouvre "Mes signalements" Alors je vois un message: """ Aucun signalement pour le moment Vous pouvez signaler un contenu inapproprié depuis le menu de n'importe quel contenu. """ Et je vois une illustration vide sympathique Et un bouton "Découvrir les règles de la communauté" Scénario: Liste des signalements avec informations clés Étant donné que j'ai envoyé 5 signalements Quand j'ouvre "Mes signalements" Alors je vois une liste de 5 cartes de signalements Et chaque carte affiche: | information | exemple | position | | Statut badge | "En cours 🔍" (orange) | Haut à droite | | Titre du contenu | "Podcast #42" | Titre | | Créateur | "@pseudo_createur" | Sous-titre | | Catégorie | "🚫 Haine & violence" | Ligne 1 | | Date | "Il y a 2 jours" ou "15/01/2026" | Ligne 2 | | Mon commentaire | "Propos discriminatoires à 2:30" | Ligne 3 (si rempli) | Et les cartes sont triées par date décroissante (plus récent en haut) Plan du Scénario: Couleur du badge selon statut Étant donné que j'ai un signalement avec le statut "" Quand j'affiche l'historique Alors le badge affiché est "" Et la couleur du badge est "" Exemples: | statut | badge | couleur | | En cours | En cours 🔍 | Orange | | Traité | Traité ✓ | Vert | | Rejeté | Rejeté ✗ | Rouge | Scénario: Affichage de la date relative Étant donné que j'ai envoyé des signalements à différentes dates Quand j'affiche l'historique Alors les dates récentes s'affichent en format relatif: | date signalement | affichage | | Il y a 5 minutes | "À l'instant" | | Il y a 2 heures | "Il y a 2h" | | Il y a 1 jour | "Hier" | | Il y a 3 jours | "Il y a 3j" | | Il y a 10 jours | "15/01/2026" | Et les dates anciennes (>7 jours) sont en format absolu # Détails d'un signalement Scénario: Consulter les détails d'un signalement Étant donné que j'ai envoyé un signalement il y a 3 jours Quand je clique sur la carte du signalement Alors une page de détails s'affiche Et je vois toutes les informations: | section | contenu | | En-tête | Titre du contenu + lien vers le contenu | | Créateur | Pseudo + lien vers profil créateur | | Ma catégorie | 🚫 Haine & violence | | Mon commentaire | "Propos discriminatoires à 2:30" | | Date d'envoi | "Envoyé le 15/01/2026 à 14:32" | | Statut actuel | "En cours 🔍 - En attente de traitement" | | Délai estimé | "Traitement sous 24-48h" | Et je vois un bouton "Retour à mes signalements" Scénario: Lien vers le contenu signalé Étant donné que je consulte les détails d'un signalement Et que le contenu signalé est toujours en ligne Quand je clique sur le titre du contenu Alors je suis redirigé vers la page du contenu Et je peux réécouter le contenu si besoin Et un badge "Signalé par vous" s'affiche discrètement Scénario: Contenu supprimé suite au signalement Étant donné que le contenu que j'ai signalé a été supprimé Quand je consulte les détails du signalement Alors le titre du contenu est affiché en gris barré Et un message s'affiche: "Ce contenu a été retiré de la plateforme" Et je ne peux pas accéder au contenu Et le statut est "Traité ✓" # Notifications de changement de statut Scénario: Notification quand un signalement est traité Étant donné que j'ai signalé un contenu il y a 24h Quand le modérateur traite mon signalement Et que le contenu est retiré Alors je reçois une notification push: """ ✓ Votre signalement a été traité Le contenu a été retiré de la plateforme. """ Et je reçois une notification in-app identique Et le statut dans mon historique passe à "Traité ✓" Et un badge (1) apparaît sur l'onglet "Mes signalements" Scénario: Notification quand un signalement est rejeté Étant donné que j'ai signalé un contenu Quand le modérateur rejette mon signalement Alors je reçois une notification: """ Votre signalement a été examiné Le contenu ne viole pas les règles de la communauté. """ Et le statut dans mon historique passe à "Rejeté ✗" Et je peux voir la raison du rejet dans les détails Scénario: Affichage de la raison du rejet Étant donné que mon signalement a été rejeté Quand je consulte les détails du signalement Alors je vois une section "Raison du rejet": """ Après examen, le contenu ne viole pas nos règles. Le passage mentionné est dans un contexte éducatif. """ Et la raison est claire et compréhensible Et je peux apprendre pour améliorer mes futurs signalements # Filtres et recherche Scénario: Filtrer les signalements par statut Étant donné que j'ai 20 signalements avec différents statuts Quand j'ouvre l'historique Alors je vois des onglets de filtres: | onglet | nombre | | Tous (20) | 20 | | En cours (8)| 8 | | Traités (9) | 9 | | Rejetés (3) | 3 | Et je peux cliquer sur un onglet pour filtrer Et la liste se met à jour instantanément Scénario: Rechercher dans mes signalements Étant donné que j'ai 50 signalements Quand j'ouvre la barre de recherche Et que je tape "podcast" Alors seuls les signalements contenant "podcast" s'affichent: | recherche dans | | Titre du contenu | | Pseudo du créateur | | Mon commentaire | Et les résultats sont mis en évidence Et la recherche est instantanée (pas de délai) # Pull-to-refresh Scénario: Actualiser la liste des signalements Étant donné que je suis sur la page "Mes signalements" Quand je tire vers le bas (pull-to-refresh) Alors un spinner de chargement s'affiche Et la liste est actualisée depuis le serveur Et les nouveaux statuts sont affichés Et un toast s'affiche: "✓ Mis à jour" # Pagination et performance Scénario: Chargement progressif des signalements (pagination) Étant donné que j'ai 100 signalements Quand j'ouvre "Mes signalements" Alors seuls les 20 premiers signalements sont chargés Et quand je scroll en bas de liste Alors les 20 suivants sont chargés automatiquement Et un loader discret s'affiche pendant le chargement Et l'UX est fluide sans saccade Scénario: Performance de la liste Étant donné que j'ai 100 signalements Quand j'ouvre l'historique Alors le premier affichage prend <500ms Et le scroll est fluide (60 FPS) Et les images/avatars se chargent en lazy loading Et la mémoire utilisée reste <100 MB # État vide pour chaque filtre Scénario: Aucun signalement "En cours" Étant donné que tous mes signalements ont été traités Quand je clique sur l'onglet "En cours" Alors je vois un message: """ Aucun signalement en cours Tous vos signalements ont été traités. """ Et je vois une illustration vide Scénario: Aucun signalement "Rejeté" Étant donné que tous mes signalements ont été acceptés Quand je clique sur l'onglet "Rejetés" Alors je vois un message: """ Aucun signalement rejeté Tous vos signalements étaient pertinents ! 🎉 """ Et je vois un message encourageant # Dark mode et accessibilité Scénario: Support du dark mode Étant donné que j'ai activé le dark mode Quand j'affiche "Mes signalements" Alors les couleurs s'adaptent: | élément | couleur light | couleur dark | | Fond page | Blanc | Noir (#121212) | | Cartes | Gris clair | Gris foncé | | Texte principal | Noir | Blanc | | Badge "En cours" | Orange (#FF8C00) | Orange (#FFA500) | | Badge "Traité" | Vert (#28A745) | Vert (#34D058) | | Badge "Rejeté" | Rouge (#DC3545) | Rouge (#F85149) | Et le contraste reste suffisant (WCAG AA) Scénario: Accessibilité pour lecteur d'écran Étant donné que j'utilise un lecteur d'écran Quand je navigue dans l'historique Alors chaque carte est annoncée clairement: """ Signalement du contenu "Podcast #42" par @pseudo. Catégorie: Haine et violence. Statut: En cours d'examen. Envoyé il y a 2 jours. """ Et je peux naviguer au clavier entre les cartes Et tous les boutons ont des labels descriptifs # Gestion d'erreur Scénario: Erreur réseau lors du chargement Étant donné que je n'ai pas de connexion internet Quand j'ouvre "Mes signalements" Alors un message d'erreur s'affiche: """ Impossible de charger vos signalements Vérifiez votre connexion internet """ Et un bouton "Réessayer" est affiché Et je peux cliquer pour réessayer Scénario: Cache local pour consultation hors ligne Étant donné que j'ai consulté mes signalements hier Et que je n'ai pas de connexion internet aujourd'hui Quand j'ouvre "Mes signalements" Alors les signalements en cache s'affichent Et un message discret indique: """ 📡 Mode hors ligne - Données mises en cache """ Et je peux consulter les détails Mais les statuts peuvent ne pas être à jour # Coût et conformité Scénario: Coût de la fonctionnalité Étant donné que l'historique des signalements est en place Quand on évalue le coût Alors le développement est 100% interne (Flutter) Et aucun service tiers n'est utilisé Et le coût opérationnel est de 0€ Et les notifications in-app sont gratuites Scénario: Conformité RGPD Étant donné que mes données de signalement sont stockées Quand je supprime mon compte Alors tous mes signalements sont anonymisés Et mes commentaires personnels sont supprimés Et seules les métadonnées nécessaires sont conservées (conformité DSA) Et je suis informé de cette procédure