X-Git-Url: http://git.euphorik.ch/?a=blobdiff_plain;f=doc%2Fprotocole.txt;h=7710c87c4e69e4de93bbe82162825dbe4d651985;hb=20c5327d1229313b2a6bda46a74459f70614306d;hp=2ae4681cc9f7fa3fd6b202a030b863fb8c0ad33c;hpb=35f69bce3bd696c6830b358933e1992a3df6a7df;p=euphorik.git diff --git a/doc/protocole.txt b/doc/protocole.txt index 2ae4681..7710c87 100755 --- a/doc/protocole.txt +++ b/doc/protocole.txt @@ -4,43 +4,21 @@ Euphorik - minichat A. Introduction --------------- -Le minichat utilise AJAX. Tous les messages sont au format XML -Eventuellement utiliser comet comme décrit ici - : http://www.zeitoun.net/index.php?2007/06/22/46-how-to-implement-comet-with-php +Ce document a pour but de décrire la communication client-serveur du site euphorik. -Structure : ------------ - -Les objets globaux : - - Messages (liste des messages actuellement affichés, permet de recupérer les nouveaux messages) - - Connexion (Information sur la connexion, information sur le user actuel) - - B. Principe ----------- -Termes : serveur, client, utilisateur - 1 Chargement de la page html. - 2 Le client écoute les derniers messages au serveur (asynchrone). - 3 Le client est initialement déconnecté, il regarde si un cookie existe sur la machine cliente : - a Si oui : il tente un login avec le cookie, si ok alors le client est connecté sinon il reste dans l'état déconnecté. - b Si non : il demande au serveur la génération d'un captcha et l'affiche. - 4 L'utilisateur peut alors envoyer un message. Il doit saisir le captcha s'il l'état et déconnecté. - a Si le captcha a été saisie le client envoie une requête de login - 5 Le message est posté +Enregistrement: +Authentification: -Principe concernant le rafraichissement: - * Le client envoie une demande au serveur avec l'id du dernier message (via XMLHttpRequest ou un méthode de JQuery) +Rafraichissement: + * Le client envoie une demande au serveur avec l'id du dernier message (via XMLHttpRequest ou un function de JQuery) * Le serveur maintient la connexion bloqué si le client est à jour. - * Dès que le serveur n'est plus à jours, il envoie les messages manquants. - -Problème : - * Comment faire de l'attente passive sur le serveur en écoutant l'arrivée d'un nouveau message au niveau de la bd - -> en utilisant le "event handling" de mnesia : http://www.erlang.org//doc/apps/mnesia/part_frame.html - chapitre 5.7 et 5.7.2 - + * Dès qu'un nouveau message arrive, le serveurs débloque la connexion est envoie le ou les messages manquants. + C. Protocole ------------ @@ -49,6 +27,7 @@ s : server C.1. Demande de génération d'un nouveau captcha : ----------------------------------------------- +Obsolète : les captchas ne sont plus utilisés c -> s @@ -65,7 +44,7 @@ C.2. Login : le message du client est posté par la méthode POST et se nomme 'action'. c -> s -(nouveau user) (obsolète) +(nouveau user) (Obsolète) b1b1b4e72e6f3d00e477cf37cced5851 LKJDLA @@ -84,11 +63,6 @@ ou IJKJDHHSAD9081238 - - Paul - IJKJDHHSAD9081238 - - ou (login et password peuvent être omis) Paul