Skip to main content

Alertes & signalement confidentiel

frontend/src/views/public/Alerte.vue + backend/src/controllers/alerte.controller.js.

Dernière vérification contre le code

Vérifié le 2026-08-12.

Ce que c'est

Canal de signalement confidentiel générique — "signaler une fraude ou poser une question urgente", pas uniquement de la fraude. Le formulaire n'exige aucune identification réelle : le frontend envoie systématiquement first_name: 'Anonyme', last_name: ' ', email: 'anonyme@utb.tg', même si le backend accepterait des champs d'identité arbitraires.

Lecture des signalements accessible sans authentification

GET /api/alertes et GET /api/alertes/:id n'ont aucun middleware verifyToken, contrairement à PUT/PATCH/DELETE qui en ont un. N'importe qui peut donc lister l'intégralité des signalements confidentiels (email, nom, sujet, message complet) sans être connecté. Une protection Turnstile existe sur une branche distante non fusionnée à ce jour, mais elle ne couvre que la création (POST), pas la lecture. Voir Bugs & failles actives connues.

Workflow

Soumission publique (POST /, sans authentification, cohérent avec l'usage anonyme) → apparition côté backoffice → changement de statut (PATCH /:id/statut) et suppression (DELETE /:id) réservés aux utilisateurs authentifiés.