Version : Discourse 2026.1.5 (ESR), plugin discourse-calendar
Résumé
Les nouveaux événements créés avec un fuseau horaire défini (timezone="Europe/Berlin" et showLocalTime="true") affichent une heure incorrecte, en avance de +1 heure, lors du téléchargement du fichier .ics et de son importation dans Outlook (Windows). L’heure est correcte sur le forum lui-même. Seuls les nouveaux événements sont concernés, c’est-à-dire l’importation via le fichier .ics.
Reproduction
- Créer un événement (aujourd’hui, en heure d’été CEST/UTC+2) : 17h00 – 19h15 heure de Berlin.
[event start="2026-08-11 17:00" status="public" name="testevent 2" timezone="Europe/Berlin" showLocalTime="true" end="2026-08-11 19:15"]
[/event]
- « Ajouter au calendrier » → télécharger le fichier
.ics. - Importer le fichier dans Outlook.
Attendu : 11.08.2026, 17h00 – 19h15
Réel : 11.08.2026, 18h00 – 20h15 (+1 heure)
Contenu ICS (pertinent) :
DTSTART;TZID=Europe/Berlin:20260811T170000
DTEND;TZID=Europe/Berlin:20260811T191500
(Le fichier ne contient pas de bloc VTIMEZONE pour Europe/Berlin.)
Analyse / Cause suspectée
L’exportation spécifie l’heure localement avec TZID=Europe/Berlin (nom IANA) au lieu de l’UTC (...Z). Outlook ne comprend pas les noms de fuseaux horaires IANA (il utilise des identifiants Windows tels que « W. Europe Standard Time ») et, en l’absence de définition VTIMEZONE, utilise le décalage fixe UTC+1 (CET/heure d’hiver). Pendant l’heure d’été (CEST = UTC+2), cela entraîne exactement un décalage de +1 heure. Vérification croisée : l’importation du même fichier dans Google Calendar (qui comprend nativement les fuseaux horaires IANA) affiche correctement 17h00.
Suggestion : l’exportation ICS devrait soit utiliser des horodatages UTC avec Z, soit générer un bloc VTIMEZONE complet incluant les règles d’heure d’été (voir également la discussion sur la conformité à la spécification ICS dans LOCATION n’est pas disponible dans l’exportation ICS complète).
Observation supplémentaire : Lorsque le même événement est créé sans timezone=/showLocalTime, le fichier .ics exporté utilise l’UTC et Outlook affiche +2 heures (puisque 17h00 UTC = 19h00 CEST). C’est le comportement UTC documenté, mais cela illustre davantage que la gestion des fuseaux horaires autour de l’exportation ICS est confuse pour les utilisateurs qui s’attendent à voir des heures locales.