Aller au contenu
OneKitly

Le même fichier .ics peut désigner cinq heures différentes

Publié le 07/09/2026 · 5 min de lecture · Outils fichiers

Daniel Okonkwo

Daniel OkonkwoDéveloppeur front-end et rédacteur Tech chez OneKitly

Performance web · Formats de fichiers

Vérifié à partir de 3 sources

Voir le profil
En bref

Une ligne DTSTART prend trois formes. DTSTART:20260908T080000Z se termine par Z : c'est un instant en UTC — le même moment pour tout le monde, et la seule forme que rien ne peut mal lire. DTSTART;TZID=Europe/Paris:20260907T140000 est une heure de pendule accompagnée du nom du fuseau auquel elle appartient, ce qui n'est juste que si le lecteur connaît ce fuseau. DTSTART:20260907T140000, sans Z ni TZID, est une heure flottante : quatorze heures là où tu te trouves, ce qu'on veut pour un compte à rebours du Nouvel An et presque jamais pour une réunion. Le cas dangereux est le deuxième traité sans soin : retire le TZID, garde les chiffres, et l'heure de pendule se réancre sur la machine qui lit. Le visualiseur t'indique ici laquelle des trois tu as sous les yeux avant toute conversion, et les convertisseurs transmettent le fuseau intact plutôt que de deviner.

L'iCalendar écrit une heure de début de trois façons, et une seule est sans ambiguïté. Une réunion écrite avec un fuseau nommé, convertie sur des machines à Paris, New York et Honolulu, s'est étalée sur dix-neuf heures et a changé de jour.

Pourquoi le fichier nomme un fuseau plutôt qu'un décalage

Écrire +02:00 fixerait la réunion à un nombre qui cesse d'être vrai deux fois par an. Un rendez-vous hebdomadaire à 14h00 à Paris vaut +02:00 en septembre et +01:00 en novembre, et tout l'intérêt d'un événement récurrent est qu'il reste à quatorze heures des deux côtés du changement. Nommer Europe/Paris dit quel règlement appliquer ; le décalage se lit ensuite, date par date, dans une base de fuseaux mise à jour chaque fois qu'un pays déplace ses pendules.

C'est aussi pourquoi convertir une heure TZID en UTC n'est pas une soustraction qu'on fait de tête, et pourquoi un outil sans base de fuseaux ne devrait pas s'y risquer. Garder le nom et les chiffres de pendule exactement comme le fichier les a écrits ne perd rien ; les remplacer par un instant calculé depuis le mauvais fuseau, si — et c'est le genre d'erreur qui paraît normale à l'écran jusqu'à ce que quelqu'un rejoigne une visio avec une heure de retard.

L'événement d'une journée, qui n'est pas une heure

Un anniversaire, un jour férié ou un jour de congé s'écrit DTSTART;VALUE=DATE:20261225 — huit chiffres, pas d'heure, et le paramètre qui le dit. Cela signifie tout le 25 décembre là où se trouve le lecteur, ce qui est exactement juste pour Noël et serait faux comme instant. Réécris-le en date-heure et il devient minuit UTC, soit encore le 25 en Europe et déjà le 24 partout à l'ouest de Greenwich. Le marqueur VALUE=DATE est transmis tel quel ici, plutôt que résolu en une heure.

Ce qu'il faut vérifier avant de se fier à un agenda importé

Ouvre le fichier dans le visualiseur et regarde un événement dont tu connais l'heure réelle. Si elle est juste là, le fichier est juste, et tout désaccord ultérieur vient de l'application dans laquelle tu as importé. Trois habitudes couvrent presque tout : préfère la forme Z quand tu publies un agenda auquel d'autres s'abonneront, garde le TZID quand tu déplaces ton propre agenda d'une application à l'autre, et ne modifie jamais une heure de début à la main dans un éditeur de texte sans regarder dans laquelle des trois formes la ligne est écrite.

Une réunion écrite TZID=Europe/Paris, réancrée sur la machine qui lit
Machine qui lit le fichierCe que devient 14h00Écart
Europe/Paris20260907T120000Zcorrect
UTC20260907T140000Z+2 h
America/New_York20260907T180000Z+6 h
Asia/Tokyo20260907T050000Z-7 h
Pacific/Honolulu20260908T000000Z+12 h, le lendemain
Visionneuse ICSOuvre une invitation ou un export de calendrier et lis ses événements avant d'importer.Essayer l'outil

Questions fréquentes

Mes événements importés sont tous décalés d'une ou deux heures. Que s'est-il passé ?
Un décalage constant sur tous les événements est la signature d'un fuseau retiré puis remplacé. Ouvre le .ics d'origine dans le visualiseur : si les heures de début y semblent justes, le fichier a gardé son fuseau et c'est l'application d'import qui en applique un autre — vérifie son réglage de fuseau d'agenda, distinct de celui du système. Un décalage qui varie d'un événement à l'autre est un autre problème, en général un mélange d'heures Z et flottantes dans un même fichier.
Quelle forme utiliser quand je publie un agenda ?
Z pour tout ce qui a un instant fixe — un webinaire, un match, une échéance — parce que rien ne peut le mal lire et qu'aucune base de fuseaux n'est nécessaire à l'arrivée. TZID pour un agenda que des gens vivent localement, comme un emploi du temps scolaire ou les horaires d'un bureau, où c'est l'heure de pendule qui doit rester en place au changement d'heure. VALUE=DATE pour les journées entières. Les heures flottantes seulement quand tu veux vraiment dire l'heure locale partout, ce qui en pratique se limite au Nouvel An ou presque.
Le visualiseur modifie-t-il mon fichier ?
Non. Il lit le fichier dans ton navigateur et montre ce qu'il contient ; le fichier sur le disque n'est pas touché, et rien n'est envoyé nulle part. C'est tout l'intérêt de regarder avant de convertir : tu peux trancher une discussion sur une heure de début sans t'engager à quoi que ce soit.

Articles qui pourraient t'intéresser

Tous les guides
ExplicationUn événement récurrent fait une ligne dans le CSV, pas douzeUn fichier .ics range une réunion hebdomadaire une seule fois, avec une règle attachée. À l'export CSV tu obtiens une ligne pour toute la série — c'est le fichier qui est honnête, pas le convertisseur qui perd des lignes.TutorielOuvrir un fichier .eml sans prévenir l'expéditeurUn message enregistré est un fichier texte lisible partout. Le hic, c'est qu'ouvrir ce fichier dans un logiciel qui charge les images distantes annonce l'instant où tu l'as fait — c'est précisément à quoi sert un pixel espion.TutorielDécouper un fichier trop gros pour être envoyéLe dernier recours quand plus rien ne peut être compressé. Cela fonctionne, avec trois arêtes vives : les morceaux ne servent à rien seuls, l'ordre est absolu, et le mégaoctet que tu régles n'est pas celui de la limite.ExplicationPourquoi compresser deux fois ne divise pas deux fois par deuxLa première passe enlève 30 % et la seconde n'enlève rien. Ce n'est pas un outil cassé — c'est la différence entre retirer de la redondance et retirer de l'information, et savoir laquelle tu fais te dit quand t'arrêter et ce qu'une seconde tentative coûte réellement.GuideDébranche : quels outils de fichiers en ligne téléversent vraiment ton documentTous les outils de fichiers en ligne promettent que ton document est en sécurité. Presque aucun ne dit s'il quitte ta machine. Il existe un test de cinq secondes qui tranche sans lire une seule politique de confidentialité, et il marche sur n'importe quel outil — y compris celui-ci.ExplicationUne pièce jointe grossit d'un tiers dans l'e-mailLe courrier transporte les fichiers en texte, trois octets écrits en quatre caractères. Une pièce jointe de 10 Mio occupe 13,68 Mio du message — d'où le fait qu'une limite de 25 Mo signifie en réalité environ 18 Mio de fichiers.

Outils similaires

Sources

Tu as repéré une erreur dans cet article ?