TimeZone - différence entre serveur et heure client - Erreur module "Agenda"

Bonjour,

J’ai un décallage que je ne comprends pas entre l’heure client et l’heure serveur :

Quand je créé un évènement, les heures sont décalées de 2h.

Capeazeaeture

Pourtant mon Windows est bien à l’heure.

Ce bug n’est pas reproductible sur demo.dolibarr, donc il s’agirait plutôt d’un problème de conf serveur.

MariaDB et PHP sont à la bonne horaire

Une idée d’où Dolibarr va chercher son « heure client » ?

Bonjour,
votre idée est bonne, il y a semble qu’il y ait bien une différence entre le fuseau horaire du serveur web et celui de la basse donnée ou du serveur, si vous regardez dans Accueil->Outils d’administration->information base de donnée->system_time_zone (et donc la time zone du serveur) et Accueil->Outils d’administration-> php->Default timezone et Timezone Database. Normalement si tous ce petit monde est sur le même fuseau horaire, il ne devrait pas y avoir de problème, ou alors se serais une anomalie Dolibarr qui force la time zone à GMT (c’est le cas dans quelques bouts de code, mais vos exemples ne semble pas concernés)

Base de données - system_time_zone : CEST

PHP : |« Olson » Timezone Database Version|0.system|
|Timezone Database|internal|
|Default timezone|Europe/Paris|

Europe/Paris et CEST c’est pareil non ?

Salut,

oui, normalement c’est la même chose, sauf s’il y a une interprétation différentes dans dolibarr.

question très bête : tes serveurs et tes clients sont sur le même fuseau ?
(j’ai déjà vu des trucs foireux avec ça)

Oui, j’ai vérifié sur ma config Windows et les clients de ceux qui m’ont remonté le problème sont également sur le bon fuseau horaire.

J’ai trouvé ceci sur le git : TimeZone · Issue #10885 · Dolibarr/dolibarr · GitHub

Il semblerait qu’il faille rentrer l’heure UTC puis le décalage par rapport à UTC ?

Sur vos serveurs, est-ce que vous utilisez CEST ou UTC ?

Capture

A gauche l’heure de ma dernière connexion sur mon instance, à droite sur le server demo.

Problème identifié : un paramètre $_SESSION n’était pas passé correctement au moment de la connexion à cause d’un module perso.