1 Euphorik - minichat - Protocole v2
2 ----------------------------------
7 Ce document a pour but de décrire la communication client-serveur du site euphorik.
8 Ce document remplace 'protocole.txt' qui était la première version du protocol.
18 * Le client envoie une demande au serveur avec l'id du dernier message (via XMLHttpRequest ou un function de JQuery)
19 * Le serveur maintient la connexion bloqué si le client est à jour.
20 * Dès qu'un nouveau message arrive, le serveurs débloque la connexion est envoie le ou les messages manquants.
27 Chaque message est numéroté #<num>.
28 Les messages client vers serveur sont envoyé par HTTP-POST
37 <password>IJKJDHHSAD9081238</password>
42 <cookie>LKJDLAKSJBFLKASN</cookie>
46 <action name="register">
48 <password>IJKJDHHSAD9081238</password>
52 (<information> et <pseudo> pas obligatoire)
53 <reponse name="login">
54 <statut>enregistre|identifie|erreur</statut>
55 <cookie>LKJDLAKSJBFLKASN</cookie>
56 <id>7ZS</id> <!-- l'id est en base 36 -->
59 <email>paul@pierre.com</email>
60 <css>css/lite.css</css>
61 <pagePrincipale>1</pagePrincipale> <!-- facultatif -->
62 <!-- L'ordre des conversations est le même que lors de la sauvegarde du profile -->
68 <information>blabla</information>
75 <action name="logout">
76 <cookie>LKJDLAKSJBFLKASN</cookie>
81 modification du profile, seul 'cookie' est obligatoire
84 <action name="profile">
85 <cookie>LKJDLAKSJBFLKASN</cookie>
87 <password>IJKJDHHSAD9081238</password>
89 <email>paul@pierre.com</email>
90 <css>css/dark.css</css>
91 <pagePrincipale>1</pagePrincipale> <!-- facultatif -->
100 <reponse name="profile">
101 <statut>ok|pas ok</statut>
102 <information>balbla</information>
106 C.4. Refresh messages
107 ---------------------
109 Si dernierMessageId est absent alors le client ne possède pas de message.
110 Page peut être omis, il a alors la valeur 1 (première page).
111 dernierMessageId est en base 36 (l'histoire de rigoler un peu).
112 Les conversations données sont définies dans le profile.
115 <action name="refreshMessages">
116 <cookie>LKJDLAKSJBFLKASN</cookie>
117 <nombreMessage>10</nombreMessage>
118 <dernierMessageId>6ZR</dernierMessageId>
122 <reponse name="refreshMessages">
123 <conversation> <!-- les conversations sont ordrées, la première est la conversation principale -->
124 <autresPages>true</autresPages> <!-- possède une ou plusieurs autres pages ? "true" ou "false" -->
126 <date>Hier 17:26:54</date> <!-- date du message (format non formel) -->
127 <systeme></system> <!-- est-ce un message système ? "true" ou "false" -->
128 <proprietaire></proprietaire> <!-- est-ce que le message appartient à l'utilisateur courant ? "true" ou "false" -->
129 <repondu></repondu> <!-- est-ce que l'utilisateur courant a répondu à ce message ? "true" ou "false" -->
130 <reponse></reponse> <!-- est-ce que c'est une réponse à un message de l'utilisateur courant ? "true" ou "false" -->
131 <pseudo>Paul</pseudo>
132 <login>paul_22</login>
133 <contenu>Salut</contenu>
135 <!-- id est l'id d'un message -->
136 <id id="DE2" pseudo="Pierre" login="pierre_45">
145 <!-- modification d'un message -->
146 <reponse name="modMessage">
148 <contenu>Salut ++ poulpe</contenu> <!-- contient le message complet -->
\r
152 <reponse name="refreshMessages">
153 <erreur>raison</erreur>
160 Le client envoie un message, le message peut répondre à un certain nombre d'autres messages.
161 <reponses> n'est pas obligatoire.
\r
164 <action name="message">
165 <cookie>LKJDLAKSJBFLKASN</cookie>
166 <pseudo>Paul</pseudo> <!-- il est possible que la personne change de pseudo -->
167 <contenu>Bonjour</contenu>
176 <reponse name="message">
177 <statut>ok|pas ok</statut>
181 C.6 Ajout d'une correction d'un messages
\r
182 ----------------------------------------
\r
184 Le client envoie un correctif sous la forme de texte supplémentaire à appondre au dernier messages.
\r
185 Le message est appondu avec un " +++ " devant, par exemple :
\r
186 > Gnome c'est mieux que KDE +++ Euh non ok, c'est faux
\r
189 <action name="correction">
\r
190 <cookie>LKJDLAKSJBFLKASN</cookie>
\r
191 <correctif>Euh non ok, c'est faux</correctif>
\r
195 <reponse name="correction">
\r
196 <statut>ok|pas ok</statut> <!-- pas ok en général lorsque l'utilisateur n'a pas encore posté de message -->
\r