Euphorik - Protocole v3
-----------------------
-A. Introduction
----------------
+== Introduction ==
Ce document a pour but de décrire la communication client-serveur du site euphorik.\r
Les messages échangés sont basés sur le format JSON.
Ce document remplace 'protocole2.txt'.
\r
-B. Principes
-------------
+== Principes ==
Enregistrement:\r
* 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.
* 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.
}
-C.1. Login
-----------
+=== Login ===
Le mot de passe est hashé en md5.\r
+L'action 'register' permet de créer un nouvel utilisateur.\r
c -> s\r
{ \r
"login" : "paul49",\r
"email" : "paul@pierre.com",\r
"css" : "css/3/euphorik.css",\r
- "main_page" : 1,\r
- "conversations" : [\r
- {\r
- "root" : 123,\r
- "page" : 1\r
- }\r
- ]\r
+ "main_page" : 1\r
}
\r
-C.2. Logout
------------
+=== Logout ===
c -> s\r
{\r
"action" : "logout",\r
}
\r
-C.3. Profile
-------------
-
+=== Profile ===
c -> s\r
{\r
"action" : "set_profile",\r
"pseudo" : "Paul",\r
"email" : "paul@pierre.com",\r
"css" : "css/3/euphorik.css",\r
- "main_page" : 1,\r
- "conversations" : [\r
- {\r
- "root" : 123,\r
- "page" : 1\r
- }\r
- ]\r
+ "main_page" : 1\r
}\r
s -> c
<ok>
ou
- <error>
+ <error>\r
+\r
+TODO : \r
+c -> s\r
+ {\r
+ "action" : "set_conversation",\r
+ \r
+ }
-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.
"action" : "wait_event",\r
"cookie" : "LKJDLAKSJBFLKASN",\r
"message_count" : 10,\r
- "last_message_id" : 163,
- "main_page" : 1,
- "conversations" : [
- {
- "root" : 123,
- "page" : 1
- }
- ]\r
+ "troll" : 45,\r
+ "last_message_id" : 163\r
}
s -> c\r
}
\r
\r
-C.5. Envoie troll\r
--------------------\r
-\r
+=== Envoie d'un troll ===\r
c -> s\r
{\r
"action" : "put_troll",\r
"reply" : "ok" | "error",\r
"error_message" : "blabla"\r
}\r
-
+ \r
+=== Modification d'un troll ===\r
+TODO\r
+=== Demande de trolls ===\r
+TODO\r
+=== Suppression d'un troll ===\r
+TODO\r
+=== Noter un troll ===\r
+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.\r
}
\r
\r
-C.7. Ajout d'une correction d'un messages\r
-----------------------------------------\r
+=== Ajout d'une correction d'un messages ===\r
Le client envoie un correctif sous la forme de texte supplémentaire à appondre au dernier messages.\r
Le message est appondu avec un " +++ " devant, par exemple :\r
> Gnome c'est mieux que KDE +++ Euh non ok, c'est faux\r