Gabera Alert — serveur : OK. Reçoit (POST, JSON) : /api/enroll · /api/register-token · /api/ack · /api/heartbeat · /api/unacknowledged Diffuser une alerte : POST /api/dispatch { id, level, message, senderEmail? } Approuver / rejeter : POST /api/alerts/{id}/approve · /api/alerts/{id}/reject { byEmail } Utilisateurs / rôles : GET /api/users · POST /api/users/{id}/role { byEmail, role } Retards du jour : GET /api/lateness/today?email= (admins) · POST /api/lateness Temps réel (SignalR) : /hub/realtime — canaux : alert, pending, decision, ack, sms, presence, lateness Visualiser : GET /dashboard · /api/health · /api/status · /api/tokens · /api/alerts/pending