1 Euphorik - minichat - Protocole v2
\r
2 ----------------------------------
\r
7 Ce document a pour but de décrire la communication client-serveur du site euphorik.
\r
8 Ce document remplace 'protocole.txt' qui était la première version du protocol.
\r
18 * Le client envoie une demande au serveur avec l'id du dernier message (via XMLHttpRequest ou un function de JQuery)
\r
19 * Le serveur maintient la connexion bloqué si le client est à jour.
\r
20 * Dès qu'un nouveau message arrive, le serveurs débloque la connexion est envoie le ou les messages manquants.
\r
27 Chaque message est numéroté #<num>.
\r
28 Les messages client vers serveur sont envoyé par HTTP-POST
\r
38 <password>IJKJDHHSAD9081238</password>
42 #2 (<login> et <password> peuvent être omis)
43 <action name="register">
45 <password>IJKJDHHSAD9081238</password>
49 #3 (<information> et <pseudo> pas obligatoire)
\r
50 <reponse name="login">
\r
51 <statut>enregistre|identifie|erreur</statut>
\r
52 <cookie>LKJDLAKSJBFLKASN</cookie>
\r
53 <id>7ZS</id> <!-- l'id est en base 36 -->
\r
56 <email>paul@pierre.com</email>
57 <css>css/lite.css</css>
\r
58 <information>blabla</information>
\r
65 <action name="logout">
\r
66 <cookie>LKJDLAKSJBFLKASN</cookie>
\r
71 modification du profile, seul 'cookie' est obligatoire
74 <action name="profile">
75 <cookie>LKJDLAKSJBFLKASN</cookie>
77 <password>IJKJDHHSAD9081238</password>
79 <email>paul@pierre.com</email>
80 <css>css/dark.css</css>
84 <reponse name="profile">
85 <statut>ok|pas ok</statut>
86 <information>balbla></information>
90 C.4. Attente evenement
\r
91 ----------------------
\r
93 Si dernierMessageId est absent alors le client ne possède pas de message.
\r
94 Page peut être omis, il a alors la valeur 1 (première page)
\r
95 dernierMessageId est en base 36 (l'histoire de rigoler un peu)
98 <action name="attenteEvenement">
99 <cookie>LKJDLAKSJBFLKASN</cookie>
\r
100 <dernierMessageId>6ZR</dernierMessageId>
\r
101 <nombreMessage>10</nombreMessage>
\r
106 <reponse name="attenteEvenement" evenement="nouveauxMessages">
\r
107 <nbPage>4</nbPage> <!-- le nombre de page total -->
109 <date>Hier 17:26:54</date>
110 <systeme></system> <!-- est-ce un message système ? -->
\r
111 <proprietaire></proprietaire> <!-- est-ce que le message appartient à l'utilisateur courant ? "true" ou "false" -->
\r
112 <repondu></repondu> <!-- est-ce que l'utilisateur courant a répondu à ce message ? "true" ou "false" -->
\r
113 <reponse></reponse> <!-- est-ce que c'est une réponse à un message de l'utilisateur courant ? "true" ou "false" -->
\r
114 <pseudo>Paul</pseudo>
115 <login>paul_22</login>
\r
116 <contenu>Salut</contenu>
\r
118 <!-- id est l'id d'un message -->
\r
119 <id id="DE2" pseudo="Pierre" login="pierre_45">
127 <reponse name="attenteEvenement" evenement="modificationMessage">
\r
132 <reponse name="refreshMessages">
\r
133 <erreur>raison</erreur>
\r
136 C.5. Envoie message
\r
137 -------------------
\r
139 Un client envoie un message, le message peut répondre à un certain nombre d'autres messages.
\r
140 <reponses> n'est pas obligatoire.
\r
142 <action name="message">
\r
143 <cookie>LKJDLAKSJBFLKASN</cookie>
\r
144 <pseudo>Paul</pseudo> <!-- il est possible que la personne change de pseudo -->
\r
145 <contenu>Bonjour</contenu>
\r
147 <reponse id="RT5" />
\r
148 <reponse id="39K" />
\r
154 <reponse name="message">
\r
155 <statut>ok|pas ok</statut>
\r
159 C.5. Envoie message
\r
160 -------------------
\r