-== TODO ==
+== TODO ==\r
+\r
+[50%] Conversations : \r
+ [ok] implémenter coté serveur et client la sauvegarde et la restauration des conversations\r
+ [ok] Supprimer l'envoie de la description des conversations lors du refresh ainsi que modifié la manière de créer les conversations (maj des diagrammes de séquence)\r
+ * Navigation vers les pages précédentes\r
+ * Mettre à jour l'HTML/CSS de chaque skin\r
+ * Url vers conversation(s) + également un bouton sur chaque conversation pour obtenir l'url vers celle ci\r
+ * Lien vers une conversation dans les messages sou s cette forme {5F}. Le clic dessus ouvre la conversation. Egalement un bouton sur chaque conversation pour insérer son lien dans le message en cours de rédaction\r
+* Utiliser une listbox pour la liste des css\r
+* Ralentir volontairement le connexion lors d'un mauvais login (ou après n mauvais login)\r
+* Pouvoir switcher entre un affichage "pseudo" ou "pseudo (login)"\r
+* réduire les pseudo trop long en mettant un ".." à la fin et permettre de le voir en entier lorsque le curseur le survol.\r
+* Problème d'utf-8 avec opera, firefox et konqueror, le prologue (<?xml charset="utf8"...) n'est pas supporté par certains navigateur\r
+* Transfert des messages XML (AJAX) en https et le noter dans la faq (même la mafia chinoise ne peut pas sniffer les messages)\r
+* Tester avec des caractères exotiques (jap, coréen, etc..)\r
+* Shift-enter pour ajouter une ligne dans la ligne de saisie (retour à la ligne)\r
+ * Crée un <br /> XHTML\r
+ * A chaque Shift-enter la textbox s'agrandit d'une ligne\r
+* Rendre compatible IE 7\r
+* Faire une page faq et raconter n'importe quoi (entre autre la limitation avec firefox) "pourquoi ce site à des couleurs qui ne veulent rien dire ?"\r
+* Créer un favicon (joli)\r
+* Système de commande /<commande>\r
+ * /nick : changer de pseudo\r
+ * /me : "*<pseudo> <message>"\r
+ * /blam <login> : permet d'envoyer un blame à qqun (uniquement depuis un modo vers un non-modo) \r
+ * /+ blabla Pourvoir ajouter du texte (correctif en général) à son dernier message par une commande. Le texte ajouté est mise en évidence. Ceci peut être fait plusieurs fois.\r
+* Ajouter de nouveaux smiles :\r
+ * "slurp" : http://forum-images.hardware.fr/images/perso/huit.gif\r
+ * "agreed" : http://forum-images.hardware.fr/icones/smilies/jap.gif\r
+ * "dodo" (tete avec un bonnet de nuit et des ZZZZ)\r
+ * "hum?" : http://forum-images.hardware.fr/icones/smilies/heink.gif\r
+ * "pas reveillé" avec une tasse de café et des cernes : http://forum-images.hardware.fr/images/perso/elmoricq.gif\r
+ * "interrogation" genre http://forum-images.hardware.fr/icones/confused.gif\r
+ * http://forum-images.hardware.fr/images/perso/dao.gif ou http://forum-images.hardware.fr/icones/redface.gif\r
+ * http://forum-images.hardware.fr/icones/ohwell.gif\r
+* Ajouter un skin "simple" sans images ni fioritures (éventuellement le proposer par défaut)\r
+* Cleaner le code (erl, js, xhtml, css) et eventuellement profiler un peu (le refresh est lent sous opera)\r
+* Gestion de l'historique au niveau du navigateur (pouvoir revenir aux pages précédentes)\r
+* Intégrer les totoz : http://www.totoz.eu/ (avec une limite de 3 par messages par exemple) \r
+ * avoir une option pour les cacher ou les voir\r
+ * Masquer systématiquement ceux qui dépassent d'une certaine taille (en pixel?)\r
+ * modifier la syntaxe des smiles actuels (pour pas qu'ils entre en conflit avec totoz)\r
+* Mettre un icone (genre sablier) lorsque le chat se charge (également lors d'un changement de page par exemple)\r
+* gestion des timezone (fuseaux horaire) :\r
+ * L'utilisateur peut simplement définit une timezone dans son profil, les dates sont alors affichées en fonction de sa zone (en option)\r
+* Créer un style "super old school" (couleur 8 bit, pas de smiles/images, font fixe)\r
+* Un statut "EK" avec plein de privilège à la con. (avoir une petite étoile à coté de son nick ou le nick d'une certaine couleur)\r
+* Tests de monter en charge coté serveur, analyse de la complexité (regarder du coté des TODO dans le code). Utiliser eventuellement Tsung\r
+* Profiling pour améliorer les performances (client et serveur)\r
+ * traitementComplet() de euphorik.js est très très lent à executer\r
+* Traiter les tags TODO dans le code\r
+* Compatage des js lors de la mise en production (afin d'optimiser la bande passante lors de l'accès au site), regarder comment fait jQuery.\r
+* Elaborer une stratégie de mise à jour de la structure de la BD quand celle ci est modifiée (voir euphorik_bd:vers_version())\r
+* Inscrire le nom de l'image dans les les liens vers des images (à la place de simplement [jpg] ou [gif])\r
+
[ok] Réaliser la structure suivante :
* Table minichat : {id, auteur_id, date, pseudo, contenu, reponses_minichat_id} reponses_minichat_id peut être null
* Table reponse_minichat : {id, minichat_id} la clef est (id, minichat_id)
[ok] Ne pas afficher la css dans le profile
[ok] Ne pas effacer le message (dans le <input>) si l'on recoit un "pas ok" lors de l'envoie
-* Conversations :
- a) implémenter coté serveur et client la sauvegarde et la restauration des conversations
- b) Supprimer l'envoie de la description des conversations lors du refresh ainsi que modifié la manière de créer les conversations (maj des diagrammes de séquence)
- c) Navigation vers les pages précédentes
- c) Mettre à jour l'HTML/CSS de chaque skin en fonction
-* Utiliser une listbox pour la liste des css
-* Ralentir volontairement le connexion lors d'un mauvais login (ou après n mauvais login)
-* Pouvoir switcher entre un affichage "pseudo" ou "pseudo (login)"
-* réduire les pseudo trop long en mettant un ".." à la fin et permettre de le voir en entier lorsque le curseur le survol.
-* Problème d'utf-8 avec opera, firefox et konqueror, le prologue (<?xml charset="utf8"...) n'est pas supporté par certains navigateur
-* Transfert des messages XML (AJAX) en https et le noter dans la faq (même la mafia chinoise ne peut pas sniffer les messages)
-* Tester avec des caractères exotiques (jap, coréen, etc..)
-* Shift-enter pour ajouter une ligne dans la ligne de saisie (retour à la ligne)
- * Crée un <br /> XHTML
- * A chaque Shift-enter la textbox s'agrandit d'une ligne
-* Rendre compatible IE 7
-* Faire une page faq et raconter n'importe quoi (entre autre la limitation avec firefox) "pourquoi ce site à des couleurs qui ne veulent rien dire ?"
-* Créer un favicon (joli)
-* Système de commande /<commande>
- * /nick : changer de pseudo
- * /me : "*<pseudo> <message>"
- * /blam <login> : permet d'envoyer un blame à qqun (uniquement depuis un modo vers un non-modo)
- * /+ blabla Pourvoir ajouter du texte (correctif en général) à son dernier message par une commande. Le texte ajouté est mise en évidence. Ceci peut être fait plusieurs fois.
-* Ajouter de nouveaux smiles :
- * "slurp" : http://forum-images.hardware.fr/images/perso/huit.gif
- * "agreed" : http://forum-images.hardware.fr/icones/smilies/jap.gif
- * "dodo" (tete avec un bonnet de nuit et des ZZZZ)
- * "hum?" : http://forum-images.hardware.fr/icones/smilies/heink.gif
- * "pas reveillé" avec une tasse de café et des cernes : http://forum-images.hardware.fr/images/perso/elmoricq.gif
- * "interrogation" genre http://forum-images.hardware.fr/icones/confused.gif
- * http://forum-images.hardware.fr/images/perso/dao.gif ou http://forum-images.hardware.fr/icones/redface.gif
- * http://forum-images.hardware.fr/icones/ohwell.gif
-* Ajouter un skin "simple" sans images ni fioritures (éventuellement le proposer par défaut)
-* Cleaner le code (erl, js, xhtml, css) et eventuellement profiler un peu (le refresh est lent sous opera)
-* Gestion de l'historique au niveau du navigateur (pouvoir revenir aux pages précédentes)
-* Intégrer les totoz : http://www.totoz.eu/ (avec une limite de 3 par messages par exemple)
- * avoir une option pour les cacher ou les voir
- * Masquer systématiquement ceux qui dépassent d'une certaine taille (en pixel?)
- * modifier la syntaxe des smiles actuels (pour pas qu'ils entre en conflit avec totoz)
-* Mettre un icone (genre sablier) lorsque le chat se charge (également lors d'un changement de page par exemple)
-* gestion des timezone (fuseaux horaire) :
- * L'utilisateur peut simplement définit une timezone dans son profil, les dates sont alors affichées en fonction de sa zone (en option)
-* Créer un style "super old school" (couleur 8 bit, pas de smiles/images, font fixe)
-* Un statut "EK" avec plein de privilège à la con. (avoir une petite étoile à coté de son nick ou le nick d'une certaine couleur)
-* Tests de monter en charge coté serveur, analyse de la complexité (regarder du coté des TODO dans le code). Utiliser eventuellement Tsung
-* Profiling pour améliorer les performances (client et serveur)
- * traitementComplet() de euphorik.js est très très lent à executer
-* Traiter les tags TODO dans le code
-* Compatage des js lors de la mise en production (afin d'optimiser la bande passante lors de l'accès au site)
-* Elaborer une stratégie de mise à jour de la structure de la BD quand celle ci est modifié (voir euphorik_bd:vers_version())
-
-== Bugs ==
+=== Bugs ===
1 : Critique
2 : Urgent
-3 : Peu grave
-
-[ok] Au bout d'un moment opera n'écoute plus rien... et donc n'affiche plus les nouveaux messages..
-[ok] La méthod traiterSmiles est très lourde ! (4 secondes pour 80 appels (une page normale))
-[ok] Utiliser Alpha truc à la place d'opacity sous explorer
-[ok] les heures sont formatées par le serveur avec un espace devant : " 12.30:10", zarb
-[ok] un undefined est mis lorsque l'on répond à qqun qui n'a pas de pseudo (traiter ces pseudo par le formateur)
-[ok] On ne peut pas réponde aux messages du système
-[ok] Apparement les process liés aux connexions ne sont jamais terminé même quand l'utilisateur coupe la connexion à cause de minichat:attends_nouveau_messages()
+3 : Peu grave\r
[1] Lors de l'extraction d'une conv il arrive que la conv extracté soit bien créée mais vide, le bouton ne ferme pas la conv (très étrange, bug de firefox?)
-[3] Amélioration des requêtes MNESIA, voir : http://mail.google.com/mail/#label/Erlang+mailing-list/117f688280569a58
[2] Quand on revient en arrière dans firefox le message en rédaction est perdu
[2] En changeant de page puis en revenant sur la page principale les smiles ne sont plus highlightés lorsque le curseur les survol\r
[2] Dans certains cas (à déterminer) les message-box (message d'information affiché tout en haut de la page) ne s'affiche plus (on ne voit que un petit bout dépassé)
-[2] Après un register le pseudo est effacé - le pseudo n'est pas mémorisé dans le profil lors d'un envoie de mess en l'ayant changé
-[3] "Return" ne marche pas sous safari
-[2] cliquer sur les smiles ne marche pas sous IE
+[2] Après un register le pseudo est effacé - le pseudo n'est pas mémorisé dans le profil lors d'un envoie de mess en l'ayant changé\r
+[2] cliquer sur les smiles ne marche pas sous IE\r
[2] le return ne marche pas sous IE
+[3] "Return" ne marche pas sous safari\r
+[3] Amélioration des requêtes MNESIA, voir : http://mail.google.com/mail/#label/Erlang+mailing-list/117f688280569a58
[3] la page est completement rechargé après avoir submité le profile dans opera
[3] après le login un '?' s'ajoute à l'adresse (opera, firefox)
+\r
+[ok] Au bout d'un moment opera n'écoute plus rien... et donc n'affiche plus les nouveaux messages..\r
+[ok] La méthod traiterSmiles est très lourde ! (4 secondes pour 80 appels (une page normale))\r
+[ok] Utiliser Alpha truc à la place d'opacity sous explorer\r
+[ok] les heures sont formatées par le serveur avec un espace devant : " 12.30:10", zarb\r
+[ok] un undefined est mis lorsque l'on répond à qqun qui n'a pas de pseudo (traiter ces pseudo par le formateur)\r
+[ok] On ne peut pas réponde aux messages du système\r
+[ok] Apparement les process liés aux connexions ne sont jamais terminé même quand l'utilisateur coupe la connexion à cause de minichat:attends_nouveau_messages()\r
-== Idées ==
+=== Idées ===
1 : A implémenter tout de suite !
2 : A implémenter dans un futur proche
3 : Ca peut attendre
A : Abandonné
ok : Implémenté
-[A] smiles personnalisés, on peut en ajouter dans la préférence utilisateur.
-
-[60%] Possibilité d'extraire une conversation, on click (par l'intermediaire d'un petit bouton par exemple) sur un message et l'arbre de réponses correspondant s'affiche dans une colonne sur la gauche.
+[1] Possibilité d'extraire une conversation, on click (par l'intermediaire d'un petit bouton par exemple) sur un message et l'arbre de réponses correspondant s'affiche dans une colonne sur la gauche.
* Il est possible d'ouvrir plusieurs conversations
* Les messages faisant partie des conversations ne sont plus visibles dans le flux général
* (une colonne peut avoir le focus, dans ce cas on répond automatiquement à la dernière personne qui nous a répondu)
* Chaque colonne possède une entête avec le message d'origine et trois boutons :
* un pour copier l'id de la conversation dans la textbox (voir point suivant)
* un pour fermer la conversation
- * un pour créer une url vers cette conversation (un peu à la manière de google maps)
-\r
+ * un pour créer une url vers cette conversation (un peu à la manière de google maps)\r
[1] Avoir un thème de discussion affiché en haut des messages genre appellé "troll de la semaine : linux sera-t-il desktop ready en 2008?"
[2] Pouvoir insérer des tags qui sont des liens vers des conversations, par exemple : {R4S} =~ /\{\w+\}/
[2] Raccourcis pour répondre à des messages (genre CTRL+2 pour répondre au deuxième)
[4] Voir les personnes connectées
[4] Avoir une liste d'amis
[4] Restreindre la consultation d'un message posté à un ou plusieurs utilisateurs définis. Les messages de la conversation ne sont alors vus que par cet ensemble d'utilisateurs.
-[4] Plusieurs canaux
+[4] Plusieurs canaux\r
+\r
+[A] smiles personnalisés, on peut en ajouter dans la préférence utilisateur.
-== Concurrents ==
+=== Concurrents ===
http://www.phpfreechat.net/demo.fr.html
http://moules.org/board
http://hadoken.free.fr/board/index#b