Playground WebSocket — Notifications & Présence

Testez les notifications (/notifications) et la présence en ligne (/presence) — deux namespaces Socket.io distincts.

Notifications : déconnecté Présence : déconnecté JWT : non renseigné Boîte : 0 notification En ligne : 0
Étape 1 Comprendre : le serveur pousse des alertes vers votre navigateur via /notifications.
Étape 2 Obtenir un JWT (connexion rapide ou copier depuis Swagger).
Étape 3 Se connecter aux namespaces /notifications et /presence.
Étape 4 Envoyer une notification test et la voir apparaître instantanément.
Sur localhost sans tenant : utilisez le mode Admin plateforme (compte créé via pnpm run admin:create). Les identifiants admin ne fonctionnent pas sur /auth/login — c'est normal. CORS autorise automatiquement TENANT_FRONTEND_BASE_DOMAIN, ses sous-domaines et ADMIN_FRONTEND_URL.

1. Configuration & authentification

L'URL de base est pré-remplie automatiquement. Le JWT est le même access_token que pour les appels REST (header Authorization: Bearer …).

Connexion rapide (email + mot de passe)

2. Connexion WebSocket

Deux namespaces distincts : /notifications (alertes) et /presence (en ligne / hors ligne). Le bouton principal connecte les deux. La présence envoie un presence:ping automatique toutes les 30 s.

Enregistre le JWT et reconnecte les deux WebSockets après F5.

/notifications

Événements : notification:connected, NEW_NOTIFICATION

/presence

Événements : presence:connected, presence:online, presence:offline

Utilisateurs en ligne (présence)

Mise à jour via WebSocket presence:online/offline ou l'API GET /api/v1/presence/online (tenant requis).

Connectez le namespace /presence pour voir qui est en ligne.

3. Envoyer une notification test

Déclenche une vraie notification via le canal choisi. Disponible uniquement en environnement de développement.

Traitement immédiat — visible tout de suite.

4. Boîte de réception (temps réel)

Chaque NEW_NOTIFICATION reçue s'affiche ici, comme la cloche de l'application.

Aucune notification pour l'instant.
Connectez-vous puis envoyez un test.

5. Tester un vrai endpoint métier

Appelle le vrai contrôleur (permissions, résolution des destinataires, notification incluse) au lieu du port bas niveau ci-dessus. Nécessite un JWT utilisateur tenant — un JWT admin plateforme est rejeté par ces routes.

Options avancées (accusé de réception, enregistrement client)

notification:ack : confirmer la lecture d'une notification (remplacez l'UUID par une vraie notification_id).
push:register : enregistre un identifiant de session client web (pas une notification mobile FCM).

Référence des événements

Événement Direction Description
notification:connected Serveur → vous Connexion acceptée. Contient userId et tenantId.
NEW_NOTIFICATION Serveur → vous Nouvelle alerte (titre, description, lien, icône…).
notification:ack Vous → serveur Accusé de lecture. Réponse : notification:ack:received.
push:register Vous → serveur Enregistre le client web. Réponse : push:registered.
Namespace /presence
presence:connected Serveur → vous Connexion présence acceptée.
presence:online Serveur → tenant Un utilisateur vient de se connecter.
presence:offline Serveur → tenant Un utilisateur vient de se déconnecter.
presence:ping Vous → serveur Heartbeat. Réponse : presence:pong.