Zephyr (./147) :Euh, je sais pas ce qui l’a rendue inutilisable de ton côté, mais pour moi, j’ai pu virer les 2 mails avec HTML directement par l’interface.
hum, en essayant de mettre de l'html à la place de mon adresse mail j'ai rendu l'appli inutilisable, désolé, faudrait virer le mec dont le mail est "<!--"
Par contre, je n’avais effectivement pas pensé au HTML dans les mails/noms de candidats, et l’utilisation de trucs comme </body></html> donne de drôles de résultats (mais qui ne sont pas irréparables, même avec la seule interface Web).
Sally (./146) :Si tu mets min>max, mais tous 2 dans la fourchette 0–max_candidats, ils sont juste échangés.
— ça se comporte bizarrement si je mets un nombre minimal de candidats à choisir supérieur au nombre maximal. Le résultat est toujours cohérent au sens où min <= max mais ça met un peu n'importe quoi (et j'ai pas de message d'erreur, c'est juste que les valeurs changent). Par ailleurs si je mets des nombres cohérents mais supérieurs au nombre actuel de candidats ils se retrouvent mis au nombre actuel de candidats (y compris pour le nombre max)... et ça ne change pas si je rajoute des candidats.
Quand au message d’erreur, j’ai préféré forcer les valeurs à des quantités valides plutôt que bombarder l’admin de messages d’erreur sans toucher à ses chiffres.
Mais je ne dis pas que c’est le meilleur choix…
En fait, la règle, c’est :
¤ les 2 valeurs entrées sont triés dans l’ordre
¤ la plus petite valeur est ramenée entre 0 et max_candidats
¤ la plus grande est ramenée entre 1 et max_candidats
Par contre, si tu as 5 candidats, que tu autorise 5 votes, et que tu ajoutes des candidats, il n’y a aucun moyen de décider si le max autorisé doit rester à 5 ou doit suivre : il faudrait ajouter un mot clé genre « max », pour dire que l’on suit le nombre de candidats.
Par contre, si on met plein de candidats, que l’on autorise un grand nombre de choix et que l’on redescend le nombre de candidats sous cette valeur, elle reste supérieure au nombre de candidats (du moins tant que l’on ne touche pas à l’« onglet » des paramètres).
Sally (./146) :Pareil qu’au-dessus : plutôt que balancer des fenêtre d’alerte, j’ai préféré recadrer les valeurs entrées pour qu’elles collent avec les règles.
— si j'essaie de fixer la date d'ouverture dans le passé ça la met automatiquement dans 5 minutes (et le seul message que j'ai est attention ça commence dans moins de 30 minutes, je préférerais avoir attention vous avez entré n'importe quoi ^^)
— si j'essaie de fixer la date de clôture moins d'une heure après la date d'ouverture ça la met une heure après, mais si j'essaie de la fixer carrément dans le passé ça met la date d'ouverture dans 5 minutes et la date de clôture à 23 h 00 (pourquoi 23 h 00 ???)
Sally (./146) :C’est un manque de documentation : si une date est invalide, elle devient « now » (puis la règle des 5 minutes + 1h est appliquée).
— plus gênant : si j'entre une date "invalide", par exemple en écrivant 0:00 au lieu de 00:00, ça se comporte exactement comme si j'avais mis une date passée ! (donc dans 5 minutes pour l'heure d'ouverture, et à 23 h 00 pour l'heure de clôture...) Et toujours seulement le même message me disant que l'ouverture est dans moins de 30 minutes
Sally (./146) :Hum, oui, j’ai peut-être fait une erreur en partant du principe que l’utilisateur revérifiera les valeurs entrées, et qu’il verra donc qu’elles sont modifiées automatiquement pour suivre les règles…
(par ailleurs il n'est pas en rouge ni rien, bon il y a écrit Attention en gras certes mais... et puis il se peut que j'aie fait exprès de fixer l'heure de début dans moins d'une demi-heure, auquel cas ce message ne m'indique rien que je ne sache pas déjà et si je ne fais pas attention je ne vois pas que les dates ont été changées par rapport à ce que j'ai entré)
Et il y a aussi que ça commençait à me gonfler de copier-coller du <?php if(…):?><script type="text/javascript">alert(…);</script><?php endif;?> à tout bout de champ ^^"…
Bon, puisque j’ai le temps, je vais améliorer le bastringue au niveau de l’ergonomie, et aussi de la réutilisabilité du code (y’a encore des fichiers qui contiennent à la fois du code générique et du code spécifique au projet, c’est pas joli).