Euphorik - minichat - Protocole v2 ---------------------------------- A. Introduction --------------- Ce document a pour but de décrire la communication client-serveur du site euphorik. Ce document remplace 'protocole.txt' qui était la première version du protocol. B. Principe ----------- Enregistrement: Authentification: Rafraichissement: * Le client envoie une demande au serveur avec l'id du dernier message (via XMLHttpRequest ou un function de JQuery) * Le serveur maintient la connexion bloqué si le client est à jour. * Dès qu'un nouveau message arrive, le serveurs débloque la connexion est envoie le ou les messages manquants. C. Protocole ------------ c : client s : server Chaque message est numéroté #. Les messages client vers serveur sont envoyé par HTTP-POST C.1. Login ---------- c -> s #1 Paul IJKJDHHSAD9081238 ou #2 ( et peuvent être omis) Paul IJKJDHHSAD9081238 s -> c #3 ( et pas obligatoire) enregistre|identifie|erreur LKJDLAKSJBFLKASN 7ZS Paul paul49 paul@pierre.com css/lite.css blabla C.2. Logout ----------- c -> s LKJDLAKSJBFLKASN C.3. Profile ------------ modification du profile, seul 'cookie' est obligatoire c -> s LKJDLAKSJBFLKASN paul49 IJKJDHHSAD9081238 Paul paul@pierre.com css/dark.css s -> c ok|pas ok balbla> C.4. Refresh messages --------------------- Si dernierMessageId est absent alors le client ne possède pas de message. Page peut être omis, il a alors la valeur 1 (première page) dernierMessageId est en base 36 (l'histoire de rigoler un peu) c -> s LKJDLAKSJBFLKASN 10 6ZR 1 RE 1 s -> c true Hier 17:26:54 Paul paul_22 Salut ou Salut ++ poulpe ou raison C.5. Envoie message ------------------- Le client envoie un message, le message peut répondre à un certain nombre d'autres messages. n'est pas obligatoire. c -> s LKJDLAKSJBFLKASN Paul Bonjour s -> c ok|pas ok C.6 Ajout d'une correction d'un messages ---------------------------------------- Le client envoie un correctif sous la forme de texte supplémentaire à appondre au dernier messages. Le message est appondu avec un " +++ " devant, par exemple : > Gnome c'est mieux que KDE +++ Euh non ok, c'est faux c -> s LKJDLAKSJBFLKASN Euh non ok, c'est faux s -> c ok|pas ok