Ticket #902 (closed defect: fixed)
Date et heure de dernière modification : Blog vs Billet
Reported by: | franck | Owned by: | xave |
---|---|---|---|
Priority: | normal | Milestone: | 2.2 |
Component: | module:core | Version: | 2.1 |
Severity: | normal | Keywords: | |
Cc: |
Description
Il y a un décalage d'une heure (dans mon cas, c'est peut-être lié à la TZ) entre la date et heure de mise à jour globale d'un blog et la date et heure de dernière mise à jour d'un billet.
- Contexte
- J'ai créé un billet et l'ai publié à la date suivante : 10/02/2010 10:13 (heure de Paris)
- Mon blog est réglé sur le fuseau horaire Europe/Paris?
- Mes préférences utilisateurs sont réglées sur le fuseau horaire Europe/Paris?
- Constats
- Dans la liste des blogs, ce blog affiche la date et heure de dernière modification suivante : 10/02/2010 09:13 (ça ne devrait pas être ajusté en fonction du réglage utilisateur, soit plutôt 10:13 ?)
- Dans la liste des billets, le billet en question affiche la date suivante : 10/02/2010 10:13
- Les flux ATOM et RSS ont comme date de dernière modification (visiblement correcte) : 2010-02-10T09:13:15+01:00
- Le dernier billet publié dans ces flux a comme date de dernière modification : 2010-02-10T10:13:15+01:00
- Le serveur d'hébergement m'affiche une heure conforme (heure de Paris)
- Côté base de données
Le blog à cette valeur :
- blog_upddt = 2010-02-10 09:13:15
Le billet en question a ces valeurs :
- post_dt = 2010-02-10 10:13:15
- post_creadt = 2010-02-10 09:13:15
- post_upddt = 2010-02-10 09:13:15
- post_tz = Europe/Paris?
- Conclusion
Y'a un blème chef :-)
Change History
comment:2 follow-up: ↓ 4 Changed 14 years ago by franck
Ok pour la correction, si elle est appliquée, mais il faudra revoir en conséquence la gestion de la date et heure côté édition et publication (xhtml et xml)
De plus quid de la gestion de la programmation…
M'est avis qu'il va falloir prendre ça avec des pincettes :-)
Il faut également vérifier si on a pas le même problème avec les autres objets datés (commentaires par exemple)
comment:3 Changed 14 years ago by bruno
En fait l'offset est finalement doublé pour post_dt, vu qu'il est stocké dans la timezone en base, puis converti à nouveau dans la timezone dans class.dc.rs.extensions.php.
comment:4 in reply to: ↑ 2 Changed 14 years ago by Jean-Michel
Replying to franck:
Il faut également vérifier si on a pas le même problème avec les autres objets datés (commentaires par exemple)
Pour ma part, je rencontre ce problème en ce moment sur le flux RSS de mon blog, certains anciens commentaires sont republiés (comme "non lu") plusieurs fois de suite.
comment:5 Changed 14 years ago by Tomtom33
Je pense qu'il faut stocker les toutes les dates hors timezone, ça permettra de calculer la date avec le tz stocké en base et éventuellement celui du navigateur de l'utilisateur
comment:6 Changed 14 years ago by xave
Je ne suis pas sûr : si j'écris mon billet à 13:37, j'ai envie que ce soit *mon* heure qui s'affiche. Celle de la TZ du blog. Et j'ai aussi envie que cette heure continue à s'afficher même si je change la TZ parce que je déménage aux antipodes.
comment:7 Changed 14 years ago by xave
Bon, en fait, après avoir tourné un peu, tout ça est correct, mais pourrait l'être plus.
Il y a deux sortes de dates : -La date de publication de billets et commentaires, qui est l'heure interne + la TZ. -Toutes les autres : l'heure interne.
Donc ça se tient. Sauf que ça pourrait être bien 1) que la date de maj d'un blog dans l'admin soit affichée avec la TZ de l'utilisateur. 2) que les dates des flux tiennent compte de la TZ du blog. 3) qu'on crée les balises correspondant à la date de MJ d'un post pour les flux, en prenant en compte les tags <published/> et <updated/>
Exact, il y a un souci de cohérence : seul post_dt est adaptée à la timezone (cd class.dc.blog.php, lignes 1486 et 1487), les autres dates sont stockées hors timezone.
M'est d'avis qu'il faudrait supprimer ce calcul d'offset dans class.dc.blog.php, vu que post_tz dans la table permet de recalculer l'heure.