X-Git-Url: http://git.euphorik.ch/?a=blobdiff_plain;f=doc%2Fprotocole3.txt;h=c9411c245870270ac319cbcb52f3687165879de3;hb=7104a1fd2d69ecbe294470fa79f41452a88ed5a0;hp=fdb68df11f4cb4ae038def96a7e32dd31f03819b;hpb=b5878679d51e91e8a86dd042251c91290bf8caf2;p=euphorik.git diff --git a/doc/protocole3.txt b/doc/protocole3.txt index fdb68df..c9411c2 100644 --- a/doc/protocole3.txt +++ b/doc/protocole3.txt @@ -1,15 +1,13 @@ Euphorik - Protocole v3 ----------------------- -A. Introduction ---------------- +== Introduction == Ce document a pour but de décrire la communication client-serveur du site euphorik. Les messages échangés sont basés sur le format JSON. Ce document remplace 'protocole2.txt'. -B. Principes ------------- +== Principes == Enregistrement: * Permet de créer un compte, un cookie est donné en retour. Ce cookie doit être stocké par le client pour pouvoir s'authentifier par la suite. @@ -23,8 +21,7 @@ Rafraichissement: * Dès qu'un nouveau message arrive, le serveur débloque la connexion et envoie le ou les messages manquants. -C. Protocole ------------- +== Protocole == c : client s : server Les messages client vers serveur sont envoyés par HTTP-POST. @@ -43,9 +40,9 @@ Message ok g } -C.1. Login ----------- +=== Login === Le mot de passe est hashé en md5. +L'action 'register' permet de créer un nouvel utilisateur. c -> s { @@ -75,18 +72,11 @@ s -> c "login" : "paul49", "email" : "paul@pierre.com", "css" : "css/3/euphorik.css", - "main_page" : 1, - "conversations" : [ - { - "root" : 123, - "page" : 1 - } - ] + "main_page" : 1 } -C.2. Logout ------------ +=== Logout === c -> s { "action" : "logout", @@ -94,9 +84,7 @@ c -> s } -C.3. Profile ------------- - +=== Profile === c -> s { "action" : "set_profile", @@ -106,23 +94,23 @@ c -> s "pseudo" : "Paul", "email" : "paul@pierre.com", "css" : "css/3/euphorik.css", - "main_page" : 1, - "conversations" : [ - { - "root" : 123, - "page" : 1 - } - ] + "main_page" : 1 } s -> c ou - + + +TODO : +c -> s + { + "action" : "set_conversation", + + } -C.4. Wait event ---------------------- +=== Wait event === Si "last_message_id" est absent alors le client ne possède pas de message. Les conversations données sont définies dans le profile. @@ -131,14 +119,8 @@ c -> s "action" : "wait_event", "cookie" : "LKJDLAKSJBFLKASN", "message_count" : 10, - "last_message_id" : 163, - "main_page" : 1, - "conversations" : [ - { - "root" : 123, - "page" : 1 - } - ] + "troll" : 45, + "last_message_id" : 163 } s -> c @@ -181,9 +163,7 @@ ou } -C.5. Envoie troll -------------------- - +=== Envoie d'un troll === c -> s { "action" : "put_troll", @@ -196,10 +176,17 @@ s -> c "reply" : "ok" | "error", "error_message" : "blabla" } - + +=== Modification d'un troll === +TODO +=== Demande de trolls === +TODO +=== Suppression d'un troll === +TODO +=== Noter un troll === +TODO -C.6. Envoie message -------------------- +=== Envoie message === Le client envoie un message, le message peut répondre à un certain nombre d'autres messages. "answer_to" n'est pas obligatoire. @@ -220,8 +207,7 @@ s -> c } -C.7. Ajout d'une correction d'un messages ----------------------------------------- +=== 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