X-Git-Url: http://git.euphorik.ch/index.cgi?a=blobdiff_plain;ds=inline;f=doc%2FTODO.txt;h=42f132c07b170adecec02b7e6ad020651db2ed2c;hb=c021866458e347a8c704217247ba207ad99c5cb7;hp=e9452f0f575efe5fd5302eaccd09c0c227267830;hpb=00f9e2153808b4f03a455958489c786d2ae24489;p=euphorik.git
diff --git a/doc/TODO.txt b/doc/TODO.txt
index e9452f0..42f132c 100755
--- a/doc/TODO.txt
+++ b/doc/TODO.txt
@@ -1,37 +1,24 @@
== TODO ==
=== v1.0 ===
-* Rendre compatible IE 7 (pfff..)
-* 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)
-* 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/
-* 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?"
-* 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)
- * Une page "admin" avec :
- * Trolls : La liste des trolls proposés. L'admin peut éditer ses propres trolls.
- * Les ip bannis : avec la date d'échéance et le pseudo. Un admin peut décider de débannir un utilisateur
- * 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)
- * Un kick : l'utilisateur (ip) est kické et bannis pour 15 min
- * Un ban : l'utilisateur (ip) est kické et bannis pour 3 jours
- * Modification de la BD -> ajouter une relation "banned_ip"
-* Traiter les tags TODO et FIXME dans le code
- * Mettre les constantes au niveau du serveur dans euphorik_defines.hrl (par exemple les temps lié au flood)
+* Corriger les bugs de niveau [1] et [2]
* Cleaner le code (erl, js, xhtml, css) et eventuellement profiler un peu (le refresh est lent sous opera)
-* Restructurer le code Erlang : déplacer certaines fonctions d'un module à l'autre (ev. créer des modules)
-* Choisir une licence et la mettre un peu partout dans les sources, voir : http://www.gnu.org/licenses/gpl-howto.fr.html
-* Finir le script de mise en production
- * Make des modules.
- * Compactage 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*;;;.*$/
- * Virer les commentaires dans les pages HTML
=== v1.1 ===
+* Mettre un icon (genre sablier ou truc qui tourne à la apple) lorsque le chat se charge (également lors d'un changement de page par exemple)
+ * Simuler un réseau lent
+* Création d'un script ruby dans /tool pour apposer automatiquement une entête concernant la licence voir : http://www.gnu.org/licenses/gpl-howto.fr.html
+ * Eventuellement mettre à jour automatiquement le Copyright (date) et les personnes responsables
+* Mise à jour automatique de la version dans le about en fonction du tag/branche courant ?
+* Modération des messages : les modos peuvent les supprimer
* 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 et FIXME dans le code
* Pouvoir récupérer son mdp (ou en générer un autre) via son email
=== v1.2 ===
* 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?)
+ * Masquer systématiquement ceux qui dépassent une certaine taille en pixel
=== V1.3 ===
* Shift-enter pour ajouter une ligne dans la ligne de saisie (retour à la ligne)
* Crée un
XHTML (lf -> br coté client)
@@ -148,35 +135,71 @@
[ok] Tester avec des caractères exotiques (jap, coréen, etc..)
[ok] Modifier la syntaxe des smiles actuels (pour pas qu'ils entre en conflit avec totoz)
[ok] Trouver un moyen pour éviter la création à la suite de plusieurs comptes (via register).
-
-
+[ok] Restructurer le code Erlang : déplacer certaines fonctions d'un module à l'autre (ev. créer des modules)
+[ok] remplacer lightbox par : http://leandrovieira.com/projects/jquery/lightbox/
+[ok] Problème des images dans les trolls
+[ok] Finir l'édition (mémoriser le contenu) des trolls
+[ok] Est-ce que client.dernierMessageErreur est vraiment utile ??
+[ok] marquer lors de l'affichage des login dans le chat pour les personnes n'en ayant pas : finalement il n'affiche tout simplement pas les logins
+[ok] 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?"
+[ok] 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)
+ * Une page "admin" avec :
+ * Trolls : La liste des trolls proposés. L'admin peut éditer ses propres trolls.
+ * Les ip bannis : avec la date d'échéance et le pseudo. Un admin peut décider de débannir un utilisateur
+ * 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)
+ * Un kick : l'utilisateur (ip) est kické et bannis pour 15 min
+ * Un ban : l'utilisateur (ip) est kické et bannis pour 3 jours
+ * Modification de la BD -> ajouter une relation "banned_ip"
+[ok] Passer à jQuery 1.2.4
+[ok] La largeur de la ligne de saisie doit corresponde à la largeur de la fenêtre
+[ok] Lorsqu'un troll de la semaine est posté un message l'est également par le sys formant la racine de la conversation lié au troll
+ * Il est alors possible de voir la conversation lié au troll en cliquant sur le troll de la page principale
+[ok] Faire des infos bulles à la facebook
+[ok] Mettre les constantes au niveau du serveur dans euphorik_defines.hrl (par exemple les temps lié au flood)
+[ok] Créer un style common puis adapter les CSS (classic et cold -> web2.0)
+ * Alignement du menu, du troll et des trolls de la partie admin à l'aide de line-height
+[ok] Finir les options d'affichage des bulles et des dates
+[ok] Stocker quelque part la version de la BD
+ * Créer une table "proprietes" contenant des tuples {propriete, nom, val}
+[ok] Définir la bonne feuille de style au chargement de la page pour éviter le "clignotement" pas beau
+ * Le cookie envoyé par le client doit permettre de retrouver le user
+[ok] Finir le script de mise en production
+ * Make des modules.
+ * Compactage 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*;;.*$/
+ * Virer les commentaires dans les pages HTML
+ * processus :
+ 1) copie des fichiers (+minimisation)
+ 2) Execution d'un scripte erlang pour recharger tous les modules au sein du noeud
+ 3) Executer euphorik_bd:update() pour mettre à jour la BD
+[ok] 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/
+
=== Bugs ===
1 : Critique
2 : Urgent
3 : Peu grave
-
-[1] Bug rafraichissement des conversations, exemple :
- - la page 2 de la conv est affiché (mess 1 à 10) et la conv principale contient les mess de 11 à 2.
- - lors de l'ajout d'un mess dans la conv celle ci n'est pas rafraichit.
- - trouver une solution : donné un idDernierMess pour chaque conv ou supprimer cet idDernierMess et jouer sur le fait que l'on recoit un message après l'autre (orientation des messages après attente)
-[1] Lors de l'extraction d'une conv il arrive que la conv extractée 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
-[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é
-[2] cliquer sur les smiles ne marche pas sous IE
-[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] Le changement de page sous Firefox (pas essayé avec d'autre nav) es plutot moche, le texte est d'abors affiché puis le style est appliqué.
+
+[2] Le changement de skin n'est pas mémorisé lorsque l'on est pas connecté (normal puisque le style est mémorisé dans le profil)
+ * solution 1 : permettre le changement de skin uniquement pour les personnes enregistré ?
+ * solution 2 : mémoriser le skin courant dans un cookie
+[2] Après l'ajout d'une image il n'est pas possible de naviger depuis celle ci vers les autres images en utilisant Next et Prev de lightbox après l'avoir affich
+[2] Plein de bugs sous MS internet explorer 7
+ * click sur le lien du conv insère sont id systématiquement au début du message
+ * le changement de skin foire complétement
+[2] griser le login dans le profil pour montrer qu'on ne peut pas l'éditer
+[3] Quand on revient en arrière dans firefox le message en rédaction est perdu
+ * Pas sous Opera, apparemment Firefox recharge toute la page (donc impossible qu'il puisse remettre le message)
+ * Eventuellement sauvegarder le message en rédaction dans le profile...
+[3] Le changement de page sous Firefox (pas essayé avec d'autre nav) est plutot moche, le texte est d'abors affiché puis le style est appliqué.
+[3] Quelques fichiers sont encore en iso-8859-1 (Makefile, euphorik_bd.hrl, etc..) tout passer en UTF-8
[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)
+ i) Il s'enregistre 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] Traiter le cas ou le cookie n'existe pas coté serveur (et plus généralement traiter tous les cas d'inputs exeptionnels)
+ * Afficher un message dans le cas ou le navigateur du client ne supporte pas les cookies en lui disant que la session ne pourra pas être autmatiquement restoré à la prochaine utilisation
[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
@@ -191,8 +214,29 @@
[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()
-
+[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()
+[ok] Bug rafraichissement des conversations, exemple :
+ - la page 2 de la conv est affiché (mess 1 à 10) et la conv principale contient les mess de 11 à 2.
+ - lors de l'ajout d'un mess dans la conv celle ci n'est pas rafraichit.
+ - trouver une solution : donné un idDernierMess pour chaque conv ou supprimer cet idDernierMess et jouer sur le fait que l'on recoit un message après l'autre (orientation des messages après attente)
+[ok] En changeant de page puis en revenant sur la page principale les smiles ne sont plus highlightés lorsque le curseur les survol
+ * Plus reproduit
+[ok] 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é)
+ * Plus reproduit
+[ok] 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é
+[ok] 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.
+[ok] Les smiles ne devraient pas dépasser de la fenêtre lorsqu'ils sont affichés
+[ok] Les processus en attente ne se termine pas lorsque le socket est fermé (pour l'instant un timeout de 1heure est appliqué)
+[ok] Possibilité d'enregistrer plusieurs users avec le même login
+[ok] le return ne marche pas sous IE
+[ok] Lors du click sur le bouton slap/kick/ban il faut fermer la mini fenêtre
+[ok] Lors de l'extraction d'une conv il arrive que la conv extractée soit bien créée mais vide, le bouton ne ferme pas la conv (très étrange, bug de firefox?)
+ * Arrive une fois sur 20 environ
+ * Jamais reproduit avec Opera
+ * Peut être un bug lié à jQuery
+ * Reproduit sur Firefox 2 et 3 !
+[ok] Lors d'un logout il faut faire un full refresh (pour mettre à jour les messages auquel on répond par exemple)
=== Idées ===
Une fois l'idée validée elle est déplacée dans une version à venir.
@@ -217,8 +261,14 @@ ok : Implémenté
* Possibilité d'utiliser les balises , , , (quoted text)
* Utiliser la syntaxe de mediaWiki
* La balise pour mettre des spoilers
+[2] Une option dans le profile pour se délogger automatiquement lorsque l'on quitte le site
[2] Pouvoir cacher les dates
[3] Gestion de l'historique (calendrier)
+[3] Idée de bernie :
+ * Pouvoir STFUER des personnes, lorsqu'elle envoie un message un autre truc à la con est écrit à la place
+ * la phrase à la con est piché parmis une liste éditable depuis le panneau d'admin
+ * La stfuation se fait depuis le panel de bannissement (slap, stfu, kick, ban)
+[4] Unifier tout le code en anglais (sauf les commentaires)
[4] Inscrire le nom de l'image dans les les liens vers des images (Ã la place de simplement [jpg] ou [gif])
[4] Réduire les pseudos trop long en mettant un ".." à la fin et permettre de le voir en entier lorsque le curseur le survol.
[4] Compatible OpenID pour l'identification
@@ -233,14 +283,16 @@ ok : Implémenté
* Voir description.txt pour plus d'info sur les trolls
[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 :))
+[4] Créer un gamebot pour lancer des jeux
+ * Définir une interface pour la création de nouveau jeu au sein du serveur
+ * Jeu d'énigmes
+ * jeu du pendu
+ * Jeu des chiffres et des lettres : "[Lettres tirées] - E N X U L S Z C M I - (trouvez le mot de plus long avec ces lettres)"
[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
[4] Bot de traduction
-[4] Bot de jeu (jeu du pendu par exemple)
[4] RSS
[4] Système de vote sur les messages, + ou - qui donne des points aux messages...
-[4] Voir les personnes connectées
+[4] Voir les personnes connectées + un statut
[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] Système de trolls. Voir decription.txt.