(no commit message)
[euphorik.git] / doc / TODO.txt
index f0b48ff..0d7b61e 100755 (executable)
@@ -1,9 +1,9 @@
--- TODO --\r
-[ok] Réaliser la structure suivante :\r
+== TODO ==\r
+[ok] Réaliser la structure suivante :\r
    * Table minichat : {id, auteur_id, date, pseudo, contenu, reponses_minichat_id} reponses_minichat_id peut être null\r
    * Table reponse_minichat : {id, minichat_id} la clef est (id, minichat_id)\r
    * Table user : {id, cookie, pseudo, date_creation, date_derniere_connexion, css}\r
-[ok] Implémenter le protocol dans 'fonctionnement_minichat.txt'\r
+[ok] Implémenter le protocole dans 'fonctionnement_minichat.txt'\r
 [ok] Trier la requête et limiter à N le nombre de messages affichés\r
 [ok] réaliser un controller sous la forme d'une application pour receptionner tout ce qui vient des formulaires\r
 [ok] Ajouter un lien minichat.iduser -> user.id\r
@@ -33,7 +33,7 @@
 [ok] Virer les balises html des messages et pseudo lors du stockage du message (et trimer).\r
 [ok] afficher les pseudo des messages auquels un message répond (modification du protocole, il faut ajouter une liste de pseudo pour chaque message)\r
 [ok] Possibilité de logout\r
-[ok] Filtrer les { et } dans les pseudo sur la page profile
+[ok] Filtrer les { et } dans les pseudo sur la page profile\r
 [ok] différentier [url] [gif] [png] et le reste des url. utiliser lightbox pour les images\r
 [ok] Déplacer le formatage des messages du coté du client -> permet de demander à lightbox de reparser lors de l'ajout d'une image\r
 [ok] Demander une confirmation lors d'un logout (are you sure jane ?) (vie la système de messagebox)\r
 [ok] Pouvoir modifier la css (dark/light)\r
  * Créer le style lite\r
  * Créer le style old (avec le style de l'ancien site)   \r
-[ok] Ne pas afficher la css dans le profile
+[ok] Ne pas afficher la css dans le profile\r
 [ok] Ne pas effacer le message (dans le <input>) si l'on recoit un "pas ok" lors de l'envoie\r
 \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)
-* Problème d'utf-8 avec opera
-* Utiliser une listbox pour la liste de css
-* Ralentir volontairement le connexion lors d'un mauvais login \r
-* Shift-enter pour ajouter une ligne dans la ligne de saisie (retour à la ligne)\r
-  * Crée un <br /> XHTML\r
+* Utiliser une listbox pour la liste de 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 firefox et konqueror (voir peut être du coté de <script charset="utf-8"...)\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
 * Rendre compatible IE 7\r
-* Pouvoir switcher entre un affichage "pseudo" ou "pseudo (login)"
 * 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, par exemple \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" ("ca fait envie") : http://forum-images.hardware.fr/images/perso/huit.gif\r
    * "agreed" : http://forum-images.hardware.fr/icones/smilies/jap.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
-* Cleaner le code et eventuellement profiler un peu (le refresh est lent sous opera)\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
-   * Cacher systématiquement ceux qui dépassent d'une certaine taille\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 (lors changement d'un changement de page par exemple)\r
-* traitementComplet() de euphorik.js est très très lent à executer\r
-* gestin des timezone (fuseaux horaire)\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)\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
-* Ajouter un skin "simple" sans images ni fioritures\r
 \r
--- Bugs --\r
+== Bugs ==\r
 1 : Critique\r
 2 : Urgent\r
 3 : Peu grave\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)
+[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
 \r
 [3] Amélioration des requêtes MNESIA, voir : http://mail.google.com/mail/#label/Erlang+mailing-list/117f688280569a58\r
 [2] Quand on revient en arrière dans firefox le message en rédaction est perdu\r
-[2] En changeant de page puis en revenant sur la page principale les smiles ne sont plus highlighté lorsque le curseur les survol\r
+[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] 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
 [3] "Return" ne marche pas sous safari\r
 [1] 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
 [3] après le login un '?' s'ajoute à l'adresse (opera, firefox)\r
 \r
 \r
--- Idées --\r
+== Idées ==\r
 1 : A implémenter tout de suite !\r
 2 : A implémenter dans un futur proche\r
 3 : Ca peut attendre\r
 4 : Faut en discuter, est-ce réellement utile ?\r
 5 : Abandonné\r
 \r
-[5] smiles personnalisé, on peut en ajouter dans la préférence utilisateur.\r
+[5] smiles personnalisés, on peut en ajouter dans la préférence utilisateur.\r
 \r
+[2] 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.\r
+   * Il est possible d'ouvrir plusieurs conversation\r
+   * Les messages faisant partie des conversations ne sont plus visibles dans le flux général\r
+   * (une colonne peut avoir le focus, dans ce cas on répond automatiquement à la dernière personne qui nous a répondu)\r
 [2] Raccourcis pour répondre à des messages (genre CTRL+2 pour répondre au deuxième)\r
 [2] Possibilité d'utiliser les balises <i> et <b>\r
 [2] La balise <hide> pour mettre des spoilers\r
    * Il est possible d'ouvrir plusieurs conversation\r
    * Les messages faisant partie des conversations ne sont plus visibles dans le flux général\r
    * (une colonne peut avoir le focus, dans ce cas on répond automatiquement à la dernière personne qui nous a répondu)\r
-   \r
+   * Chaque colonne possède une entête avec trois boutons\r
+      * un pour copier l'id de la conversation dans la textbox (voir point suivant) \r
+      * un pour fermer la conversation\r
+      * un pour créer une url vers cette conversation (un peu à la manière de google maps)\r
+[2] Pouvoir insérer des tags qui sont des liens vers des conversations, par exemple : {R4}\r
 [1] Avoir un thème de discussion affiché en haut des messages genre appellé "troll de la semaine" : "troll de la semaine : linux sera-t-il desktop ready en 2008?"\r
 [2] Pouvoir cacher les dates\r
 [4] Pouvoir choisir une couleur pour son pseudo\r
 [3] Gestion de l'historique (calendrier)\r
 [4] Créer un gamebot pour lancer des jeux. Par exemple un jeu d'énigmes\r
-[4] Utiliser XMLRPC ou SOAP ou JSON pour la communication client -> serveur\r
+[4] Utiliser XMLRPC ou SOAP ou JSON pour la communication client -> serveur (boah, faut pas déconner :))\r
 [4] Image animée à la http://www.google.co.kr/ cf http://www.google.co.kr//ig/f/AaEyQnOaAr4/intl/ALL_kr/svc_sprite_all.gif\r
 [4] Bot de traduction\r
 [4] RSS\r
 [4] Voir les personnes connectées\r
+[4] Avoir une liste d'amis\r
 [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.\r
 [4] Plusieurs canaux\r
 \r
 \r
--- Concurrents --\r
+== Concurrents ==\r
 http://www.phpfreechat.net/demo.fr.html\r
 http://moules.org/board\r
 http://hadoken.free.fr/board/index#b\r