X-Git-Url: http://git.euphorik.ch/?a=blobdiff_plain;f=doc%2Fprotocole3.txt;h=2ce1a9e6be98db6146fcd4b6b0a2636489057a08;hb=816b7ea27dba76b6816b34991bb0325339e21a64;hp=c3c2e6af86947583ade712f43ab3658d7ccfd136;hpb=ccb7fdfe9914f47cc38f96e5973851f2c6f0c4b6;p=euphorik.git diff --git a/doc/protocole3.txt b/doc/protocole3.txt index c3c2e6a..2ce1a9e 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,8 +40,7 @@ Message ok g } -C.1. Login ----------- +=== Login === Le mot de passe est hashé en md5. c -> s @@ -85,8 +81,7 @@ s -> c } -C.2. Logout ------------ +=== Logout === c -> s { "action" : "logout", @@ -94,8 +89,7 @@ c -> s } -C.3. Profile ------------- +=== Profile === c -> s { @@ -121,8 +115,7 @@ ou -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. @@ -148,21 +141,24 @@ Le format de la date n'est pas formel. { "reply" : "new_messages", "conversations" : [ - "last_page" : true | false, - "messages" : [ - "id" : 54, - "date" : "Hier 17:26:54", - "system" : true | false, - "owner" : true | false, - "answered" : true | false, - "is_a_reply" : true | false, - "nick" : "Paul", - "login" : "paul_22", - "content" : "Salut", - "answer_to" : [ - { "id" : 123, "pseudo" : "Pierre", "login" : "pierre_45" } + { + "last_page" : true | false, + "messages" : [ + "id" : 54, + "date" : "Hier 17:26:54", + "system" : true | false, + "owner" : true | false, + "answered" : true | false, + "is_a_reply" : true | false, + "nick" : "Paul", + "login" : "paul_22", + "content" : "Salut", + "answer_to" : [ + { "id" : 123, "pseudo" : "Pierre", "login" : "pierre_45" } + ] ] - ] + } + ... ] } ou @@ -178,9 +174,7 @@ ou } -C.5. Envoie troll -------------------- - +=== Envoie d'un troll === c -> s { "action" : "put_troll", @@ -193,10 +187,15 @@ s -> c "reply" : "ok" | "error", "error_message" : "blabla" } - + +=== Modification d'un troll === +TODO +=== Demande de trolls === +TODO +=== Suppression d'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. @@ -217,8 +216,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