ADD avancement sur la possibilité de réduire une conversation (pas fini)
[euphorik.git] / doc / protocole3.txt
index 0af2cce..dc3ff4b 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
    }
 
 
    }
 
 
@@ -65,7 +65,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"
@@ -93,15 +93,15 @@ ou
       "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],
-      "ek_master" : true | false
+      "conversations" : [{"root" : 3, "minimized" : true},
+      "ek_master" : true | false,
+      "ostentatious_master" : "invisible" | "light" | "heavy"
    }
  
  
 === Logout ===
 c -> s
    }
  
  
 === Logout ===
 c -> s
-   {\r
+   {
       "header" : {action : "logout", version : 3},
       "cookie" : "LKJDLAKSJBFLKASN"
    }
       "header" : {action : "logout", version : 3},
       "cookie" : "LKJDLAKSJBFLKASN"
    }
@@ -109,7 +109,7 @@ c -> s
  
 === Profile ===
 c -> s
  
 === Profile ===
 c -> s
-   {\r
+   {
       "header" : {action : "set_profile", version : 3},
       "cookie" : "LKJDLAKSJBFLKASN",
       "login" : "paul49",
       "header" : {action : "set_profile", version : 3},
       "cookie" : "LKJDLAKSJBFLKASN",
       "login" : "paul49",
@@ -120,8 +120,8 @@ c -> s
       "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"
    }
       
 s -> c
    }
       
 s -> c
@@ -134,28 +134,29 @@ 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"
+   }
 
 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 +177,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>, .. ]
          }
       ]
@@ -205,7 +207,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 +249,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 +263,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 +278,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 +295,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 +311,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 +326,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 +342,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 +367,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 +385,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"