ADD page "about" (possède également la FAQ)
[euphorik.git] / doc / TODO.txt
index a9000be..3b591e7 100755 (executable)
@@ -1,29 +1,18 @@
 == TODO ==\r
 \r
 === v1.0 ===\r
-[80%] 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
-   [ok] Navigation vers les pages précédentes\r
-   [ok] Lien vers une conversation dans les messages sous 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
-   [ok] Mettre à jour la CSS de chaque skin 
-* Flush le profil lors du déchargement de la page
-* Envoyer les infos des conversations avec l'attente d'events
-* Problème de rafraichissement des couleurs des messages auquels on répond\r
-* Remplacer l'XML par du JSON. gain en simplicité et en temps d'execution.\r
-   * Tester sur un prototype : l'authentification\r
-   * Si concluant passage complet à JSON\r
-   * Les id ne sont plus passés en base 36
-* Changer les noms des css : Light -> Cold, Old -> Classic\r
-* Utiliser une listbox pour la liste des css\r
-* 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?"\r
+* Rendre compatible IE 7\r
+* Tester avec des caractères accentués sur Firefox, Safari, Opera et IE7. Les messages doivent être envoyés en UTF8.\r
+* Tester avec des caractères exotiques (jap, coréen, etc..)\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
 * 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
-* Mettre un icone (genre sablier) lorsque le chat se charge (également lors d'un changement de page par exemple)\r
-* Tester avec des caractères exotiques (jap, coréen, etc..)\r
-* Rendre compatible IE 7\r
+* Pouvoir afficher le login et/ou le pseudo. Avoir dans le profile une liste box avec ces choix :\r
+   * pseudo\r
+   * login\r
+   * pseudo(login)\r
+* Réduire les pseudos trop long en mettant un ".." à la fin et permettre de le voir en entier lorsque le curseur le survol.\r
+* Mettre un icone (genre sablier ou truc qui tourne à la apple) lorsque le chat se charge (également lors d'un changement de page par exemple)\r
+* Modifier la syntaxe des smiles actuels (pour pas qu'ils entre en conflit avec totoz)\r
 * Créer un favicon (joli)\r
 * Ajouter dans la FAQ et/ou dans la page d'enregistrement les conditions d'utilisation, genre "chacun est responsable de ses dires" https://linuxfr.org/bouchot/\r
 * Inscrire le nom de l'image dans les les liens vers des images (à la place de simplement [jpg] ou [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
+* 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?"\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
-* Finir le script de mise en production\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.
-   * modifier le script pour virer les lignes matchant /^\W*;;;.*$/\r
+   * Une page pour voir les trolls de la semaine et pouvoir en ajouter et modifier les siens (page "admin")\r
+   * Pouvoir kick/ban un user (directement depuis le chat, lors du survol du pseudo d'un user des options sont présentés sous la forme de petits boutons)\r
+      * Un kick : l'utilisateur (ip) est kické et bannis pour 15 min\r
+      * Un ban : l'utilisateur (ip) est kické et bannis pour 3 jours
+      * Modification de la BD -> ajouter une relation "banned_ip"\r
 * Traiter les tags TODO et FIXME dans le code\r
 * Cleaner le code (erl, js, xhtml, css) et eventuellement profiler un peu (le refresh est lent sous opera)\r
 * Restructurer le code Erlang : déplacer certaines fonctions d'un module à l'autre (ev. créer des modules)\r
 * Choisir une licence et la mettre un peu partout dans les sources\r
 * Créer une page 'about'\r
+* Trouver un moyen pour éviter la création à la suite de plusieurs comptes (via register). \r
+* Finir le script de mise en production\r
+   * Make des modules.\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
+      * Modifier le script pour virer les lignes matchant /^\W*;;;.*$/
+   * Virer les commentaires dans les pages HTML\r
 === v1.1 ===\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
 * 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
 === V1.3 ===\r
 * Shift-enter pour ajouter une ligne dans la ligne de saisie (retour à la ligne)\r
    * Crée un <br /> XHTML (lf -> br coté client)\r
    * A chaque Shift-enter la textbox s'agrandit d'une ligne\r
+   * Pouvoir activer pas défaut la présentation multi-ligne via le profile\r
 * Système de commande /<commande>\r
    * /nick : changer de pseudo\r
    * /me : "*<pseudo> <message>"\r
  * Créer le style lite
  * Créer le style old (avec le style de l'ancien site)   
 [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
-
+[ok] Ne pas effacer le message (dans le <input>) si l'on recoit un "pas ok" lors de l'envoie\r
+[ok] 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
+   [ok] Navigation vers les pages précédentes\r
+   [ok] Lien vers une conversation dans les messages sous 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
+   [ok] Mettre à jour la CSS de chaque skin \r
+[ok] Remplacer l'XML par du JSON. gain en simplicité et en temps d'execution.\r
+   [ok] Tester sur un prototype : l'authentification -> concluant\r
+   [ok] Si concluant passage complet à JSON\r
+   [ok] Les id ne sont plus passés en base 36\r
+   [ok] Flusher le profil lors du déchargement de la page ? -> oui\r
+   [ok] Envoyer les infos des conversations avec l'attente d'events ? -> oui
+[ok] Problème de rafraichissement des couleurs des messages auquels on répond
+[ok] Problème dans l'alternance des couleurs des messages
+[ok] Utiliser une listbox pour la liste des css
+[ok] Changer les noms des css : Light -> Cold, Old -> Classic
 
 === Bugs ===
 1 : Critique
 2 : Urgent
 3 : Peu grave\r
-\r
-[1] Problème d'utf-8 avec opera, firefox et konqueror, le prologue (<?xml charset="utf8"...) n'est pas supporté par certains navigateur
+
 [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?)
 [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] 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
+[2] Lors d'un login ou d'un logout il faut faire un full refresh
+[2] jQuery définit l'option "X-Requested-With" à "XMLHttpRequest dans l'entête HTTP. De ce fait Yaws exige absolument de l'xml...
+   Solution actuelle : jquery.js est modifié pour ne plus définir cette option. Trouver un autre moyen plus élégant.
+[3] Un message envoyé sans être authentifié ne sera pas taggé comme appartenant à l'utilisateur.
+   a) L'utilisateur attend des messages SANS donné de cookie car il n'est pas authentifié
+   b) L'utilisateur envoie un message
+      i) Il se register sans login/pass (réalisé automatiquement)
+      ii) Il envoie le message (put_message)
+   c) Le serveur réagie au nouveau message et débloque la connexion, à ce moment le serveur n'a pas le cookie car pas donné, voir a)
 [3] Traiter le cas ou le cookie n'existe pas coté serveur (et plus généralement traiter tous les cas d'inputs exeptionnels)
-[3] "Return" ne marche pas sous safari\r
+[3] "Return" ne marche pas sous safari
+[3] Le "cachage" des messages ne marche pas sous Konqueror, voir : "#page.minichat #conversations div.cache {" dans pageMinichat.css.
+       "-khtml-opacity: 0.3;" ne fonctionne pas\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] Comme le json du client est encapsulé dans de l'xml il faut utiliser des xml entities pour les charactères <, > et &. Il faudrait, absolument éviter cette encapsulation moisie.\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
@@ -168,7 +192,7 @@ Une fois l'idée validée elle est déplacée dans une version à venir.
 1 : A implémenter tout de suite !
 2 : A implémenter dans un futur proche
 3 : Ca peut attendre
-4 : Faut en discuter, est-ce réellement utile ?
+4 : A discuter
 A : Abandonné
 ok : Implémenté
 
@@ -185,10 +209,17 @@ ok : Implémenté
    * Possibilité d'utiliser les balises <i>, <b>, <code>, <q> (quoted text)
    * La balise <hide> pour mettre des spoilers
 [2] Pouvoir cacher les dates\r
-[3] Gestion de l'historique (calendrier)
+[3] Gestion de l'historique (calendrier)\r
+[4] Outil de localisation des personnes un peu comme ca : http://bouchot.org/cps
 [4] Pouvoir voir le profile des personnes.
    * Voir leurs derniers messages
-   * Une page de recherche de personne
+   * Une page de recherche de personne\r
+[4] Chaque user possède un Blog (ne pas utiliser le terme 'Blog') Dans lequel il peut poster des "Troll", sorte de "sujet" de forum.\r
+   * Ce système est utilisé dans le chat principal (avec le troll de la semaine posté par un admin).\r
+   * Chaque troll possède un certain nombre de tag.\r
+   * il est possible de faire une recherche sur l'ensemble des users.\r
+   * Voir description.txt pour plus d'info sur les trolls\r
+[4] Pouvoir privatiser une conversation entre 2 ou plusieurs personnes
 [4] Pouvoir choisir une couleur pour son pseudo
 [4] Créer un gamebot pour lancer des jeux. Par exemple un jeu d'énigmes
 [4] Utiliser XMLRPC ou SOAP ou JSON pour la communication client -> serveur (boah, faut pas déconner :))
@@ -200,7 +231,7 @@ ok : Implémenté
 [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\r
+[4] Système de trolls. Voir decription.txt.\r
 \r
 [A] smiles personnalisés, on peut en ajouter dans la préférence utilisateur.
 [ok] Pouvoir insérer des tags qui sont des liens vers des conversations, par exemple : {R4S} =~ /\{\w+\}/