7 Ce document a pour but de décrire la communication client-serveur du site euphorik.
\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
28 C.1. Demande de génération d'un nouveau captcha :
\r
29 -----------------------------------------------
\r
30 Obsolète : les captchas ne sont plus utilisés
\r
33 <action name="generationCaptcha">
\r
37 <reponse name="generationCaptcha">
\r
38 <chemin>img/tmp/b1b1b4e72e6f3d00e477cf37cced5851.jpg</chemin>
\r
39 <captchaCrypt>b1b1b4e72e6f3d00e477cf37cced5851</captchaCrypt>
\r
44 le message du client est posté par la méthode POST et se nomme 'action'.
\r
47 (nouveau user) (Obsolète)
\r
48 <action name="loginCaptcha">
\r
49 <captchaCrypt>b1b1b4e72e6f3d00e477cf37cced5851</captchaCrypt>
\r
50 <captchaInput>LKJDLA</captchaInput>
\r
54 (ne sert pour l'instant qu'a mettre à jour user.date_derniere_connexion)
\r
55 (si le login est faut, une temporisation est effectuée)
\r
56 <action name="login">
\r
57 <cookie>LKJDLAKSJBFLKASN</cookie>
\r
63 <password>IJKJDHHSAD9081238</password>
66 ou (login et password peuvent être omis)
67 <action name="register">
69 <password>IJKJDHHSAD9081238</password>
73 (<information> et <pseudo> pas obligatoire)
\r
74 <reponse name="login">
\r
75 <statut>enregistre|identifie|erreur</statut>
\r
76 <cookie>LKJDLAKSJBFLKASN</cookie>
\r
77 <id>7ZS</id> <!-- l'id est en base 36 -->
\r
80 <email>paul@pierre.com</email>
81 <css>css/lite.css</css>
\r
82 <information>blabla</information>
\r
89 <action name="logout">
\r
90 <cookie>LKJDLAKSJBFLKASN</cookie>
\r
95 modification du profile, seul 'cookie' est obligatoire
98 <action name="profile">
99 <cookie>LKJDLAKSJBFLKASN</cookie>
100 <login>paul49</login>
101 <password>IJKJDHHSAD9081238</password>
102 <pseudo>Paul</pseudo>
103 <email>paul@pierre.com</email>
104 <css>css/dark.css</css>
108 <reponse name="profile">
109 <statut>ok|pas ok</statut>
110 <information>balbla></information>
114 C.5. Refresh messages :
\r
115 -----------------------
\r
117 Si dernierMessageId est absent alors le client ne possède pas de message.
\r
118 Page peut être omis, il a alors la valeur 1 (première page)
\r
119 dernierMessageId est en base 36 (l'histoire de rigoler un peu)
122 <action name="refreshMessages">
123 <cookie>LKJDLAKSJBFLKASN</cookie>
\r
124 <dernierMessageId>6ZR</dernierMessageId>
\r
125 <nombreMessage>10</nombreMessage>
\r
130 <reponse name="refreshMessages">
\r
131 <nbPage>4</nbPage> <!-- le nombre de page total -->
133 <date>Hier 17:26:54</date>
134 <systeme></system> <!-- est-ce un message système ? -->
\r
135 <proprietaire></proprietaire> <!-- est-ce que le message appartient à l'utilisateur courant ? "true" ou "false" -->
\r
136 <repondu></repondu> <!-- est-ce que l'utilisateur courant a répondu à ce message ? "true" ou "false" -->
\r
137 <reponse></reponse> <!-- est-ce que c'est une réponse à un message de l'utilisateur courant ? "true" ou "false" -->
\r
138 <pseudo>Paul</pseudo>
139 <login>paul_22</login>
\r
140 <contenu>Salut</contenu>
\r
142 <!-- id est l'id d'un message -->
\r
143 <id id="DE2" pseudo="Pierre" login="pierre_45">
152 <reponse name="refreshMessages">
\r
153 <erreur>raison</erreur>
\r
156 C.6. Envoie message :
\r
157 ---------------------
\r
159 Un client envoie un message, le message peut répondre à un certain nombre d'autres messages.
\r
160 <reponses> n'est pas obligatoire.
\r
162 <action name="message">
\r
163 <cookie>LKJDLAKSJBFLKASN</cookie>
\r
164 <pseudo>Paul</pseudo> <!-- il est possible que la personne change de pseudo -->
\r
165 <contenu>Bonjour</contenu>
\r
167 <reponse id="RT5" />
\r
168 <reponse id="39K" />
\r
174 <reponse name="message">
\r
175 <statut>ok|pas ok</statut>
\r