DocumentationTemps réel
WebSocket temps réel
Une connexion par utilisateur : /ws/{user_id}
const ws = new WebSocket("wss://" + location.host + "/ws/" + userId);
ws.onmessage = e => console.log(JSON.parse(e.data));
ws.send(JSON.stringify({ type: "ping" }));
Tous les messages sont des objets JSON avec un champ type.
Messages du client vers le serveur
| type | Usage |
|---|---|
ping / pong | Maintien de connexion |
message | Envoyer un message privé |
voice_message | Message vocal (receiver_id, audio_data en base64) |
typing / stop_typing | Indicateur de saisie (receiver_id, is_typing) |
call_offer, call_answer, call_ice_candidate, call_reject, call_end | Signalisation d'appel (WebRTC) |
join_live, live_comment, leave_live | Lives : rejoindre, commenter, quitter |
join_project, project_update | Collaboration sur un projet audio |
Messages du serveur vers le client (exemples)
| type | Quand |
|---|---|
new_message | Message reçu (message_id, sender_id, content, msg_type) |
message_sent | Confirmation à l'expéditeur |
typing | L'interlocuteur écrit |
project_updated | Modification d'un projet par un collaborateur |
error | Échec d'une action |
La liste exacte des champs évolue : le code source du serveur fait foi.