zds-site
zds-site copied to clipboard
L'estimation du temps de lecture est ambigü
Description du bug
Lorsqu'on a un tutoriel (un big tuto, la plupart du temps), qui est assez long, on affiche l'estimation du temps de lecture comme "1jour 6heures" par exemple. Le problème c'est que pour le lecteur lambda "1jour" c'est un peu ambigü : est-ce une journée de travail normal (7h)? une journée astronomique (24h?) une journée "à la louche" (du réveil au couché)?
Techniquement nous avons simplement besoin de limiter notre conversion aux heures : dans le cas précédent 30h de lecture, pour un big tuto qui fait 600pages en PDF c'est une estimation normale (une page toutes les trois minutes sachant qu'on demande aux gens de tester etc. c'est plutôt acceptable) alors que 1jour 6h est ambigüe.
Comment reproduire ?
La liste des étapes qui permet de reproduire le bug :
- Prendre l'archive du tutoriel arduino
- Le publier
- Regarder l'estimation du temps de lecture
- Constatez que c'est 1 jour 6h
Comportement attendu
L'estimation est de 30h.
Informations techniques
- Version/environnement de zds: versions 29.1 ou inférieures
Petit guide pour intervenir sur ce bug:
L'affichage de la durée est calculée à la ligne 118 du fichier templates/tutorialv2/includes/tags_authors.part.html
{% if online and reading_time and not is_part_or_chapter %}
{% trans "Temps de lecture estimé : " %}{{ reading_time|minute_to_duration }}
{% elif online and not is_part_or_chapter %}
{% trans "Temps de lecture estimé à moins d’une minute." %}
{% endif %}
La fonction qui est utilisée est minute_to_duration
qui est définie dans zds.utils.templatetags.minute_to_duration
.
On remarque que cette fonction appelle un filtre django appelé timesince. C'est ce dernier qui fait le calcul et impose que nous ayons forcément la journée.
L'idée serait de se passer de cette méthode pour n'afficher que le nombre de minutes et d'heures sauf si value > 24 * 60 où on ne garde que les heures.
Salut ! J'aimerai m'occuper de cette issue, je peux ou est ce que c'est plus pour des membres qui commencent vraiment ?
Tu peux, fais toi plaiz
Salut ! J'aimerai m'occuper de cette issue, je peux ou est ce que c'est plus pour des membres qui commencent vraiment ?
@ToxicScorpius Souhaites-tu toujours travailler dessus ? Je demande pour savoir si je peux t'attribuer la tâche. Ne t'en fais pas, si tu ne peux plus ou si tu ne veux plus, on peut supprimer l'attribution !
On remarque que cette fonction appelle un filtre django appelé timesince. C'est ce dernier qui fait le calcul et impose que nous ayons forcément la journée.
L'idée serait de se passer de cette méthode pour n'afficher que le nombre de minutes et d'heures sauf si value > 24 * 60 où on ne garde que les heures.
Faut-il créer un nouveau filtre personnalisé ?
ça peut être une solution, en effet;
L'idée du filtre a été écartée car trop complexe pour rien.
Par ailleurs, il faudra réécrire son test.
Je finalise le truc ou on laisse tomber ?
C'est toujours ouvert donc il est encore temps de finaliser. :-)
Je suis confus, elle est toujours ouverte ?
oui car la PR de toxic n'a pas été mergée
Pour info, le travail de Toxic est en attente de reprise, donc n'importe qui peut reprendre ce sujet, quitte à s'inspirer de son travail.