From: Greg Burri Date: Wed, 5 Dec 2007 14:56:27 +0000 (+0000) Subject: MOD restructuration de la doc X-Git-Tag: 1.0.0^2~207 X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=commitdiff_plain;h=35f69bce3bd696c6830b358933e1992a3df6a7df MOD restructuration de la doc --- diff --git a/doc/fonctionnement_minichat.txt b/doc/fonctionnement_minichat.txt deleted file mode 100755 index 2ae4681..0000000 --- a/doc/fonctionnement_minichat.txt +++ /dev/null @@ -1,203 +0,0 @@ -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 - - -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é - - -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) - * 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 - - -C. Protocole ------------- -c : client -s : server - -C.1. Demande de génération d'un nouveau captcha : ------------------------------------------------ - -c -> s - - - -s -> c - - img/tmp/b1b1b4e72e6f3d00e477cf37cced5851.jpg - b1b1b4e72e6f3d00e477cf37cced5851 - - -C.2. Login : ------------- -le message du client est posté par la méthode POST et se nomme 'action'. - -c -> s -(nouveau user) (obsolète) - - b1b1b4e72e6f3d00e477cf37cced5851 - LKJDLA - - -ou -(ne sert pour l'instant qu'a mettre à jour user.date_derniere_connexion) -(si le login est faut, une temporisation est effectuée) - - LKJDLAKSJBFLKASN - - -ou - - Paul - IJKJDHHSAD9081238 - - - - Paul - IJKJDHHSAD9081238 - - -ou (login et password peuvent être omis) - - Paul - IJKJDHHSAD9081238 - - -s -> c -( et pas obligatoire) - - enregistre|identifie|erreur - LKJDLAKSJBFLKASN - 7ZS - Paul - paul49 - paul@pierre.com - css/lite.css - blabla - - - -C.3. Logout : -------------- -c -> s - - LKJDLAKSJBFLKASN - - -C.4. Profile : --------------- -modification du profile, seul 'cookie' est obligatoire - -c -> s - - LKJDLAKSJBFLKASN - paul49 - IJKJDHHSAD9081238 - Paul - paul@pierre.com - css/dark.css - - -s -> c - - ok|pas ok - balbla> - - - -C.5. Refresh messages : ------------------------ - -Si dernierMessageId est absent alors le client ne possède pas de message. -Page peut être omis, il a alors la valeur 1 (première page) -dernierMessageId est en base 36 (l'histoire de rigoler un peu) - -c -> s - - LKJDLAKSJBFLKASN - 6ZR - 10 - 1 - - -s -> c - - 4 - - Hier 17:26:54 - - - - - Paul - paul_22 - Salut - - - - - - - - - -ou - - - raison - - -C.6. Envoie message : ---------------------- - -Un client envoie un message, le message peut répondre à un certain nombre d'autres messages. - n'est pas obligatoire. -c -> s - - LKJDLAKSJBFLKASN - Paul - Bonjour - - - - - - - -s -> c - - ok|pas ok - - diff --git a/doc/fond.xcf b/doc/fond.xcf deleted file mode 100755 index 96e905f..0000000 Binary files a/doc/fond.xcf and /dev/null differ diff --git a/doc/graphiques/fond.xcf b/doc/graphiques/fond.xcf new file mode 100755 index 0000000..96e905f Binary files /dev/null and b/doc/graphiques/fond.xcf differ diff --git a/doc/graphiques/icones/exclamation.xcf b/doc/graphiques/icones/exclamation.xcf new file mode 100755 index 0000000..96381e0 Binary files /dev/null and b/doc/graphiques/icones/exclamation.xcf differ diff --git a/doc/graphiques/icones/fermer.xcf b/doc/graphiques/icones/fermer.xcf new file mode 100755 index 0000000..9dc1f7b Binary files /dev/null and b/doc/graphiques/icones/fermer.xcf differ diff --git a/doc/graphiques/icones/information.xcf b/doc/graphiques/icones/information.xcf new file mode 100755 index 0000000..a44fedb Binary files /dev/null and b/doc/graphiques/icones/information.xcf differ diff --git a/doc/graphiques/icones/interrogation.xcf b/doc/graphiques/icones/interrogation.xcf new file mode 100755 index 0000000..8b7cfd8 Binary files /dev/null and b/doc/graphiques/icones/interrogation.xcf differ diff --git a/doc/graphiques/logo_1.xcf b/doc/graphiques/logo_1.xcf new file mode 100755 index 0000000..f4993a8 Binary files /dev/null and b/doc/graphiques/logo_1.xcf differ diff --git a/doc/graphiques/logo_2.xcf b/doc/graphiques/logo_2.xcf new file mode 100755 index 0000000..dc069c9 Binary files /dev/null and b/doc/graphiques/logo_2.xcf differ diff --git a/doc/graphiques/old.xcf b/doc/graphiques/old.xcf new file mode 100755 index 0000000..ac44d56 Binary files /dev/null and b/doc/graphiques/old.xcf differ diff --git a/doc/graphiques/old_piedpage.xcf b/doc/graphiques/old_piedpage.xcf new file mode 100755 index 0000000..9975be0 Binary files /dev/null and b/doc/graphiques/old_piedpage.xcf differ diff --git a/doc/graphiques/return.xcf b/doc/graphiques/return.xcf new file mode 100755 index 0000000..086db3a Binary files /dev/null and b/doc/graphiques/return.xcf differ diff --git a/doc/icones/exclamation.xcf b/doc/icones/exclamation.xcf deleted file mode 100755 index 96381e0..0000000 Binary files a/doc/icones/exclamation.xcf and /dev/null differ diff --git a/doc/icones/fermer.xcf b/doc/icones/fermer.xcf deleted file mode 100755 index 9dc1f7b..0000000 Binary files a/doc/icones/fermer.xcf and /dev/null differ diff --git a/doc/icones/information.xcf b/doc/icones/information.xcf deleted file mode 100755 index a44fedb..0000000 Binary files a/doc/icones/information.xcf and /dev/null differ diff --git a/doc/icones/interrogation.xcf b/doc/icones/interrogation.xcf deleted file mode 100755 index 8b7cfd8..0000000 Binary files a/doc/icones/interrogation.xcf and /dev/null differ diff --git a/doc/logo_1.xcf b/doc/logo_1.xcf deleted file mode 100755 index f4993a8..0000000 Binary files a/doc/logo_1.xcf and /dev/null differ diff --git a/doc/logo_2.xcf b/doc/logo_2.xcf deleted file mode 100755 index dc069c9..0000000 Binary files a/doc/logo_2.xcf and /dev/null differ diff --git a/doc/old.xcf b/doc/old.xcf deleted file mode 100755 index ac44d56..0000000 Binary files a/doc/old.xcf and /dev/null differ diff --git a/doc/old_piedpage.xcf b/doc/old_piedpage.xcf deleted file mode 100755 index 9975be0..0000000 Binary files a/doc/old_piedpage.xcf and /dev/null differ diff --git a/doc/protocole.txt b/doc/protocole.txt new file mode 100755 index 0000000..2ae4681 --- /dev/null +++ b/doc/protocole.txt @@ -0,0 +1,203 @@ +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 + + +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é + + +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) + * 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 + + +C. Protocole +------------ +c : client +s : server + +C.1. Demande de génération d'un nouveau captcha : +----------------------------------------------- + +c -> s + + + +s -> c + + img/tmp/b1b1b4e72e6f3d00e477cf37cced5851.jpg + b1b1b4e72e6f3d00e477cf37cced5851 + + +C.2. Login : +------------ +le message du client est posté par la méthode POST et se nomme 'action'. + +c -> s +(nouveau user) (obsolète) + + b1b1b4e72e6f3d00e477cf37cced5851 + LKJDLA + + +ou +(ne sert pour l'instant qu'a mettre à jour user.date_derniere_connexion) +(si le login est faut, une temporisation est effectuée) + + LKJDLAKSJBFLKASN + + +ou + + Paul + IJKJDHHSAD9081238 + + + + Paul + IJKJDHHSAD9081238 + + +ou (login et password peuvent être omis) + + Paul + IJKJDHHSAD9081238 + + +s -> c +( et pas obligatoire) + + enregistre|identifie|erreur + LKJDLAKSJBFLKASN + 7ZS + Paul + paul49 + paul@pierre.com + css/lite.css + blabla + + + +C.3. Logout : +------------- +c -> s + + LKJDLAKSJBFLKASN + + +C.4. Profile : +-------------- +modification du profile, seul 'cookie' est obligatoire + +c -> s + + LKJDLAKSJBFLKASN + paul49 + IJKJDHHSAD9081238 + Paul + paul@pierre.com + css/dark.css + + +s -> c + + ok|pas ok + balbla> + + + +C.5. Refresh messages : +----------------------- + +Si dernierMessageId est absent alors le client ne possède pas de message. +Page peut être omis, il a alors la valeur 1 (première page) +dernierMessageId est en base 36 (l'histoire de rigoler un peu) + +c -> s + + LKJDLAKSJBFLKASN + 6ZR + 10 + 1 + + +s -> c + + 4 + + Hier 17:26:54 + + + + + Paul + paul_22 + Salut + + + + + + + + + +ou + + + raison + + +C.6. Envoie message : +--------------------- + +Un client envoie un message, le message peut répondre à un certain nombre d'autres messages. + n'est pas obligatoire. +c -> s + + LKJDLAKSJBFLKASN + Paul + Bonjour + + + + + + + +s -> c + + ok|pas ok + + diff --git a/doc/return.xcf b/doc/return.xcf deleted file mode 100755 index 086db3a..0000000 Binary files a/doc/return.xcf and /dev/null differ