(no commit message)
[euphorik.git] / doc / protocole3.txt
index 0af2cce..2eb81a6 100644 (file)
@@ -37,14 +37,14 @@ Message ok générique :
 <ok>
    {
       "reply" : "ok"
 <ok>
    {
       "reply" : "ok"
-   }\r
-\r
-Entete des messages clients :\r
-Si la version du protocole n'est pas similaire du coté serveur la requête est refusée\r
-<client_header>\r
-   {\r
-      "action" : <action>,\r
-      "version" : 3\r
+   }
+
+Entete des messages clients :
+Si la version du protocole n'est pas similaire du coté serveur la requête est refusée
+<client_header>
+   {
+      "action" : <action>,
+      "version" : 3
    }
 
 
    }
 
 
@@ -55,9 +55,10 @@ Le mot de passe est hashé en md5.
 
 c -> s
    { 
 
 c -> s
    { 
-      "header" : {action : "authentification", version : 3},
+      "header" : {action : "register", version : 3},
       "login" : "paul",
       "login" : "paul",
-      "password" : "IJKJDHHSAD9081238"
+      "password" : "IJKJDHHSAD9081238",
+      "profile" : { .. } // voir <profile>
    }
 ou
    {
    }
 ou
    {
@@ -65,7 +66,7 @@ ou
       "cookie" : "LKJDLAKSJBFLKASN"
    }
 ou
       "cookie" : "LKJDLAKSJBFLKASN"
    }
 ou
-   {\r
+   {
       "header" : {action : "authentification", version : 3},
       "login" : "paul",
       "password" : "IJKJDHHSAD9081238"
       "header" : {action : "authentification", version : 3},
       "login" : "paul",
       "password" : "IJKJDHHSAD9081238"
@@ -74,54 +75,44 @@ ou
 s -> c
    {
       "reply" : "register" | "authentification",
 s -> c
    {
       "reply" : "register" | "authentification",
-      "status" : "auth_not_registered",
-      "cookie" : "LKJDLAKSJBFLKASN",
-      "id" : 193,
-      "css" : "css/1/euphorik.css",
-      "main_page" : 1
-   }
-ou
-   {
-      "reply" : "register" | "authentification",
-      "status" : "auth_registered",
+      "status" : "auth_registered" | "auth_not_registered",
       "cookie" : "LKJDLAKSJBFLKASN",
       "id" : 193,
       "cookie" : "LKJDLAKSJBFLKASN",
       "id" : 193,
-      "nick" : "Paul",
       "login" : "paul49",
       "login" : "paul49",
-      "email" : "paul@pierre.com",
-      "css" : "css/3/euphorik.css",
-      "nick_format" : "nick" | "login" | "nick_login",
-      "view_times" : true | false,
-      "view_tooltips" : true | false,
-      // "main_page" : 1,
-      "conversations" : [3, 8],
-      "ek_master" : true | false
+      "ek_master" : true | false,
+      "profile" : <profile>
    }
  
  
 === Logout ===
 c -> s
    }
  
  
 === Logout ===
 c -> s
-   {\r
+   {
       "header" : {action : "logout", version : 3},
       "cookie" : "LKJDLAKSJBFLKASN"
    }
  
  
 === Profile ===
       "header" : {action : "logout", version : 3},
       "cookie" : "LKJDLAKSJBFLKASN"
    }
  
  
 === Profile ===
-c -> s
-   {\r
-      "header" : {action : "set_profile", version : 3},
-      "cookie" : "LKJDLAKSJBFLKASN",
-      "login" : "paul49",
-      "password" : "IJKJDHHSAD9081238",
+<profile>
+   {
       "nick" : "Paul",
       "email" : "paul@pierre.com",
       "css" : "css/3/euphorik.css",
       "nick" : "Paul",
       "email" : "paul@pierre.com",
       "css" : "css/3/euphorik.css",
+      "chat_order" : "chrono" | "reverse",
       "nick_format" : "nick" | "login" | "nick_login",
       "view_times" : true | false,
       "view_tooltips" : true | false,
       "nick_format" : "nick" | "login" | "nick_login",
       "view_times" : true | false,
       "view_tooltips" : true | false,
-      "main_page" : 1,
-      "conversations" : [3, 8]
+      "conversations" : [{"root" : 3, "minimized" : true},
+      "ostentatious_master" : "invisible" | "light" | "heavy"
+   }
+
+c -> s
+   {
+      "header" : {action : "set_profile", version : 3},
+      "cookie" : "LKJDLAKSJBFLKASN",
+      "login" : "paul49",
+      "password" : "IJKJDHHSAD9081238",
+      "profile" : <profile>
    }
       
 s -> c
    }
       
 s -> c
@@ -134,28 +125,30 @@ ou
 Si "last_message_id" est absent alors le client ne possède pas de message.
 Si "main_page" est absent alors est vaut 1.
 "cookie" n'est pas obligatoire.
 Si "last_message_id" est absent alors le client ne possède pas de message.
 Si "main_page" est absent alors est vaut 1.
 "cookie" n'est pas obligatoire.
-\r
-<message>\r
-   {\r
-      "id" : 54,\r
-      "user_id" : 344,\r
-      "date" : "Hier 17:26:54",\r
-      "system" : true | false,\r
-      "owner" : true | false,\r
-      "answered" : true | false,\r
-      "is_a_reply" : true | false,\r
-      "nick" : "Paul",\r
-      "login" : "paul_22",\r
-      "content" : "Salut",\r
-      "root" : 453,\r
-      "answer_to" : [\r
-         { "id" : 123, "nick" : "Pierre", "login" : "pierre_45" }\r
-      ]\r
-      "ek_master" : true | false\r
-   }\r
+
+<message>
+   {
+      "id" : 54,
+      "user_id" : 344,
+      "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",
+      "root" : 453,
+      "answer_to" : [
+         { "id" : 123, "nick" : "Pierre", "login" : "pierre_45" }
+      ],
+      "ek_master" : true | false,
+      "ostentatious_master" : "invisible" | "light" | "heavy",
+      "last_modification" : "Hier 17:26:54"
+   }
 
 c -> s
 
 c -> s
-   {\r
+   {
       "header" : {action : "wait_event", version : 3},
       "page" : "chat"
       "cookie" : "LKJDLAKSJBFLKASN",
       "header" : {action : "wait_event", version : 3},
       "page" : "chat"
       "cookie" : "LKJDLAKSJBFLKASN",
@@ -176,12 +169,13 @@ s -> c
 La première conversation est la principale (main).
 L'ordre des conversation est le même que celui des données de l'utilisateur.
 Le format de la date n'est pas formel.
 La première conversation est la principale (main).
 L'ordre des conversation est le même que celui des données de l'utilisateur.
 Le format de la date n'est pas formel.
+first correpond au premier message de la conversation, vaut 'null' pour la conversation principale ainsi que pour les conversations vides.
    {
       "reply" : "new_message",
       "conversations" : [
          {
    {
       "reply" : "new_message",
       "conversations" : [
          {
-            "last_page" : true | false,\r
-            "first" : <message>,
+            "last_page" : true | false,
+            "first" : <message> | null,
             "messages" : [ <message>, .. ]
          }
       ]
             "messages" : [ <message>, .. ]
          }
       ]
@@ -190,7 +184,8 @@ ou
    {
       "reply" : "message_updated",
       "message_id" : 123,
    {
       "reply" : "message_updated",
       "message_id" : 123,
-      "content" : "Salut +++ poulpe"
+      "content" : "Salut poulpe",
+      "last_modification" : "Hier 17:26:54"
    }
 ou
    {
    }
 ou
    {
@@ -205,7 +200,7 @@ ou
 
 === Wait event (page = admin) ===
 c -> s
 
 === Wait event (page = admin) ===
 c -> s
-   {\r
+   {
       "header" : {action : "wait_event", version : 3},
       "page" : "admin",
       "last_troll" : 5
       "header" : {action : "wait_event", version : 3},
       "page" : "admin",
       "last_troll" : 5
@@ -247,7 +242,7 @@ s -> c
 
 === Envoie d'un troll ===
 c -> s
 
 === Envoie d'un troll ===
 c -> s
-   {\r
+   {
       "header" : {action : "put_troll", version : 3},
       "cookie" : "LKJDLAKSJBFLKASN",
       "content" : "Un bon troll velu !"
       "header" : {action : "put_troll", version : 3},
       "cookie" : "LKJDLAKSJBFLKASN",
       "content" : "Un bon troll velu !"
@@ -261,7 +256,7 @@ ou
    
 === Modification d'un troll ===
 c -> s
    
 === Modification d'un troll ===
 c -> s
-   {\r
+   {
       "header" : {action : "mod_troll", version : 3},
       "cookie" : "LKJDLAKSJBFLKASN",
       "troll_id" : 3,
       "header" : {action : "mod_troll", version : 3},
       "cookie" : "LKJDLAKSJBFLKASN",
       "troll_id" : 3,
@@ -276,7 +271,7 @@ ou
    
 === Suppression d'un troll ===
 c -> s
    
 === Suppression d'un troll ===
 c -> s
-   {\r
+   {
       "header" : {action : "del_troll", version : 3},
       "cookie" : "LKJDLAKSJBFLKASN",
       "troll_id" : 3
       "header" : {action : "del_troll", version : 3},
       "cookie" : "LKJDLAKSJBFLKASN",
       "troll_id" : 3
@@ -293,7 +288,7 @@ Le client envoie un message, le message peut répondre à un certain nombre d'au
 "answer_to" n'est pas obligatoire.
 
 c -> s
 "answer_to" n'est pas obligatoire.
 
 c -> s
-   {\r
+   {
       "header" : {action : "put_message", version : 3},
       "cookie" : "LKJDLAKSJBFLKASN",
       "nick" : "Paul",
       "header" : {action : "put_message", version : 3},
       "cookie" : "LKJDLAKSJBFLKASN",
       "nick" : "Paul",
@@ -309,7 +304,7 @@ ou
 
 === Slapage ===
 c -> s
 
 === Slapage ===
 c -> s
-   {\r
+   {
       "header" : {action : "slap", version : 3},
       "cookie" :  "LKJDLAKSJBFLKASN",
       "user_id" : 67,
       "header" : {action : "slap", version : 3},
       "cookie" :  "LKJDLAKSJBFLKASN",
       "user_id" : 67,
@@ -324,7 +319,7 @@ ou
 
 === Bannissement ===
 c -> s
 
 === Bannissement ===
 c -> s
-   {\r
+   {
       "header" : {action : "ban", version : 3},
       "cookie" : "LKJDLAKSJBFLKASN",
       "duration" : 15, // en minute
       "header" : {action : "ban", version : 3},
       "cookie" : "LKJDLAKSJBFLKASN",
       "duration" : 15, // en minute
@@ -340,7 +335,7 @@ ou
    
 === Liste des ip bannis ===
 c -> s
    
 === Liste des ip bannis ===
 c -> s
-   {\r
+   {
       "header" : {action : "list_banned_ips", version : 3},
       "cookie" : "LKJDLAKSJBFLKASN"
    }
       "header" : {action : "list_banned_ips", version : 3},
       "cookie" : "LKJDLAKSJBFLKASN"
    }
@@ -365,7 +360,7 @@ s -> c
 
 === Débannissement ===
 c -> s
 
 === Débannissement ===
 c -> s
-   {\r
+   {
       "header" : {action : "unban", version : 3},
       "cookie" : "LKJDLAKSJBFLKASN"
       "ip" : "192.168.1.2"
       "header" : {action : "unban", version : 3},
       "cookie" : "LKJDLAKSJBFLKASN"
       "ip" : "192.168.1.2"
@@ -383,7 +378,7 @@ Le message est appondu avec un " +++ " devant, par exemple :
 > Gnome c'est mieux que KDE +++ Euh non ok, c'est faux
 
 c -> s
 > Gnome c'est mieux que KDE +++ Euh non ok, c'est faux
 
 c -> s
-   {\r
+   {
       "header" : {action : "correction", version : 3},
       "cookie" : "LKJDLAKSJBFLKASN",
       "content" : "Euh non ok, c'est faux"
       "header" : {action : "correction", version : 3},
       "cookie" : "LKJDLAKSJBFLKASN",
       "content" : "Euh non ok, c'est faux"