zic(8) | Manuel de l'administrateur Linux | zic(8) |
zic - Compilation des informations de fuseau horaire
zic [ option ... ] [ fichier ... ]
Zic lit le texte dans les fichiers indiqués sur la ligne de commande et crée les fichiers d'information pour les conversions horaires indiquées dans ces fichiers. Si un nom de fichier est “-”, l’entrée standard est lue
Link fuseau_horaire heure_locale
Link fuseau_horaire règles_posix
Cette fonctionnalité est obsolète et faiblement prise en charge. Entre autres choses, elle ne devrait pas être utilisée pour les estampilles temporelles après l’année 2037, et elle ne devrait pas être combinée avec -b slim si les transitions de fuseau_horaire sont au temps standard ou universel (UT) au lieu du temps local.
L’entrée indique un lien pour un lien.
Une année apparaissant dans un fichier de données est en dehors de l’intervalle représentable.
Un temps de 24:00 ou plus apparaît dans l’entrée. Les versions avant 1998 de zic interdisaient 24:00 et celles avant 2007 un temps de plus de 24:00.
Une règle conduit avant le début du mois ou après sa fin. Les versions avant 2004 de zic interdisaient cela.
Une abréviation de fuseau horaire utilise le format %z. Les versions avant 2015 de zic ne le prennent pas en charge.
Une estampille temporelle contient des fractions de seconde. Les versions avant 2018 de zic ne les prennent pas en charge.
L’entrée contient des abréviations qui sont mal gérées par les versions avant 2018 de zic à cause d’un vieux bogue de code. Ces abréviations incluent “L” pour “Link”, “mi” pour “min”, “Sa” pour “Sat”, et “Su” pour “Sun”.
Le fichier de sortie ne contient pas toutes les informations pour le futur d’un fuseau horaire, car le futur ne peut être synthétisé sous forme de chaîne TZ POSIX étendue. Par exemple, en 2019 ce problème s’est produit pour les règles de jour d’été pour la prévision du futur, car ces règles sont basées sur le calendrier iranien qui ne peut être représenté.
La sortie contient des données qui ne peuvent être gérées correctement par le code du client, conçu pour les anciens formats de sortie de zic. Ces problèmes de compatibilité affectent seulement les estampilles temporelles d’avant 1970 ou d’après le début de 2038.
Le fichier de sortie contient plus de 1200 transitions, qui pourraient être mal gérées par quelques clients. Le client de référence actuel gère au plus 2000 transitions. Les versions d’avant 2014 du client de référence gèrent au plus 1200 transitions.
Une abréviation de fuseau horaire est de moins de trois caractères ou de plus de six caractères. POSIX en requiert au moins trois et requiert que les implémentations en gèrent au moins six.
Un nom de fichier contient un octet qui n’est pas une lettre ASCII. “-”, “/”, ou “_”; ou il contient un composant de nom de plus de 14 octets ou commençant par “-”.
Les fichiers d’entrée utilisent le format décrit dans cette section. Les fichiers de sortie utilisent le format de tzfile(5).
Les fichiers d’entrée doivent être des fichiers texte, c'est-à-dire, ils doivent être une série de zéro ou plus de lignes, chacune se terminant par un octet de nouvelle ligne, contenant au plus 511 octets et sans octet NULL. L’encodage du texte d’entrée est classiquement en UTF-8 ou ASCII. Il doit avoir une représentation monooctet pour PPCS (POSIX Portable Character Set ⟨http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap06.html⟩ et les caractères sur plusieurs octets doivent consister entièrement d’octets non PPCS. Ces caractères non PPCS apparaissent classiquement dans les commentaires : bien que tous les noms de fichier et toutes les abréviations de fuseau horaire puissent contenir n’importe quel caractère, d’autres logiciels fonctionneront mieux s’ils sont limités à la syntaxe restreinte décrite dans l’option -v.
Les lignes d'entrées sont composées de champs, séparés les uns des autres par un ou plusieurs caractères blancs. Les caractères blancs sont : espace, saut de page, retour chariot, nouvelle ligne, tabulation et tabulation verticale. Les espaces en début et fin de ligne sont ignorées. Un caractère dièse « # » non protégé en entrée introduit un commentaire qui s'étend jusqu'à la fin de la ligne où il apparaît. Les caractères blancs et les dièses peuvent être inclus entre guillemets « " » lorsqu'ils doivent faire partie d'un champ. Toute ligne vide (après suppression des commentaires) est ignorée. Les lignes non vides peuvent être de trois types : les lignes de règle, de zone et de lien.
Les noms doivent être en anglais et sont indifférents à la casse. Ils apparaissent dans plusieurs contextes et incluent les noms de mois, de fin de semaine et des mots-clés tels que maximum, only, Rolling et Zone. Un nom peut être abrégé par son commencement, mais toute abréviation ne doit pas être ambiguë pour le contexte.
Une ligne de règle est de la forme :
Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Par exemple : Rule US 1967 1973 - Apr lastSun 2:00w 1:00d DLes champs composant une ligne de règle sont :
5 Le 5 du mois lastSun Le dernier dimanche du mois lastMon Le dernier lundi du mois Sun>=8 Le premier dimanche après ou le 8 Sun<=25 Le dernier dimanche avant ou le 25
Un nom de jour (par exemple, Sunday) ou un nom précédé par “last” (par exemple, lastSunday) peuvent être abrégés ou complètement libellés. Il ne doit pas y avoir d'espace au sein du champ ON. Les constructions “<=” et “>=” peuvent aboutir à un jour dans le mois voisin. Par exemple, la combinaison IN-ON “Oct Sun>=31” positionne au premier dimanche suivant ou après le 31 octobre même si ce dimanche arrive en novembre.
2 temps en heures 2:00 temps en heures et minutes 01:28:14 temps en heures, minutes et secondes 00:19:32.13 temps avec des secondes fractionnaires 12:00 midi, 12 heures après 00:00 15:00 3 après-midi, 15 heures après 00:00 24:00 fin du jour, 24 heures après 00:00 260:00 260 heures après 00:00 -2:30 2,5 heures avant 00:00 - équivalent à 0
Bien que zic arrondisse les temps à la seconde entière la plus proche, (en cas d’égalité à la valeur entière paire), les fractions peuvent être utiles pour des applications nécessitant une précision supérieure. Le format du source ne spécifie aucune précision maximale. Toutes ses formes peuvent être suivies par la lettre w si le temps indiqué est local ou de “wall clock” s si le temps indiqué est le temps standard sans ajustement pour l’heure d’été ou u (ou g ou z) si le temps indiqué est le temps universel. En l’absence d’indicateur, l’heure locale (horloge) est supposée. Ces formes ignorent les secondes additionnelles. Par exemple, si une seconde intercalaire est ajoutée à l’heure locale 00:59:60, “1:00” correspond à 3601 secondes après le minuit local au lieu des 3600 secondes habituelles. Le but est que la ligne de règle décrive l’instant auquel une horloge ou un calendrier définis pour le type de temps précisé dans le champ AT afficherait la date et l’heure du jour.
Une ligne de zone est de la forme :
Zone NAME STDOFF RULES FORMAT [UNTIL] Par exemple : Zone Asia/Amman 2:00 Jordan EE%sT 2017 Oct 27 01:00Les champs constituant une ligne de zone sont les suivants :
Si une zone change au même moment qu’une règle aurait pris effet dans la zone précédente ou dans la ligne de continuation, la règle est ignorée. Une zone ou une ligne de continuation L avec un ensemble de règles nommé débute avec le temps standard par défaut : c'est-à-dire, n’importe quelle estampille temporelle de L précédant la règle de L précédente utilise la règle en usage après la première transition de L dans le temps standard. Dans une même zone, c’est une erreur si deux règles prennent effet au même moment ou si deux modifications de zone se produisent au même moment.
Une ligne de lien est de la forme :
Link CIBLE NOM-LIEN Par exemple : Link Europe/Istanbul Asia/IstanbulLe champ CIBLE doit exister sous forme de champ NAME dans une ligne de zone. Le champ NOM-LIEN sert de lien alternatif pour cette zone. Il possède la même syntaxe que le champ NAME de la ligne de zone.
Sauf pour celles de continuation, les lignes peuvent apparaitre dans n’importe quel ordre dans l’entrée. Cependant, le comportement est indéfini si plusieurs lignes de zone ou de lien définissent le même nom ou si la source d’un lien est la cible de l’autre.
Le fichier décrivant les secondes de rattrapage périodique peut comporter une ligne de saut et une ligne d’expiration. Les lignes de rattrapage ont la forme suivante :
Leap YEAR MONTH DAY HH:MM:SS CORR R/S Par exemple : Leap 2016 Dec 31 23:59:60 + SLes champs YEAR, MONTH, DAY et HH:MM:SS indiquent quand la seconde de rattrapage se produit. Le champ CORR doit être “+” si une seconde a été ajoutée ou “-” si une seconde a été sautée. Le champ R/S doit être (une abréviation de) “Stationary” si le temps de la seconde de rattrapage indiqué par les autres champs doit être interprété comme UTC ou (une abréviation de) “Rolling” si le temps de la seconde de rattrapage indiqué par les autres champs doit être interprété comme celui local (horloge).
Une ligne d’expiration, si elle existe, est de la forme :
Expires YEAR MONTH DAY HH:MM:SS Par exemple : Expires 2020 Dec 28 00:00:00Les champs YEAR, MONTH, DAY et HH:MM:SS indiquent l’estampille temporelle d’expiration en UTC pour la table des secondes de rattrapage. zic produit cette estampille temporelle en tronquant la fin du fichier de sortie pour l’estampille temporelle. S’il n’existe pas de ligne d’expiration, zic accepte aussi un commentaire “#expires E ..."” où E est l’estampille temporelle d’expiration sous forme de nombre entier décimal depuis l’Époque, sans tenir compte des secondes de rattrapage. Cependant, le commentaire “#expires” est une fonctionnalité obsolète et le fichier de secondes de rattrapage devrait utiliser une ligne d’expiration plutôt que de reposer sur un commentaire.
Voici un exemple étendu d’entrée de
zic, conçu pour illustrer la plupart de ses
fonctionnalités. Dans cet exemple, les règles EU valent pour
L’Union européenne et pour son prédécesseur, La
Communauté européenne.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Swiss 1941 1942 - May Mon>=1 1:00 1:00 S Rule Swiss 1941 1942 - Oct Mon>=1 2:00 0 - Rule EU 1977 1980 - Apr Sun>=1 1:00u 1:00 S Rule EU 1977 only - Sep lastSun 1:00u 0 - Rule EU 1978 only - Oct 1 1:00u 0 - Rule EU 1979 1995 - Sep lastSun 1:00u 0 - Rule EU 1981 max - Mar lastSun 1:00u 1:00 S Rule EU 1996 max - Oct lastSun 1:00u 0 - # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Europe/Zurich 0:34:08 - LMT 1853 Jul 16 0:29:45.50 - BMT 1894 Jun 1:00 Swiss CE%sT 1981 1:00 EU CE%sT Link Europe/Zurich Europe/Vaduz
Dans cet exemple le fuseau horaire est appelé Europe/Zurich mais il a un alias, Europe/Vaduz. Cet exemple indique que Zurich était 34 minutes et 8 secondes à l’est du TU jusqu’au 16/07/1853 à 00:00, quand le décalage officiel a été changé à 7°26′22.50″, qui mène au résultat 0:29:45.50. zic le traite en l’arrondissant à 0:29:46. Après le 01/06/1894 à 00:00, le décalage du TU est devenu une heure et les règles suisses d’heure d’été (définies par les lignes commençant avec “Rule Swiss”) ont été appliquées. De 1981 à maintenant, les règles d’heure d’été de l’EU ont été appliquées et le décalage de TU est demeuré d’une heure.
En 1941 et 1942, l’heure d’été s’est appliquée du premier lundi de mai à 01:00 jusqu’au premier lundi d’octobre à 02:00. Les règles d’heure d’été de l’UE avant 1981 n’ont aucun effet ici mais sont incluses pour complétude. Depuis 1981, l’heure d’été commence le dernier dimanche de mars à 01:00 UTC et se terminait le dernier dimanche de septembre à 01:00 UTC, mais cela a changé pour le dernier dimanche d’octobre depuis 1996.
Dans un but d’affichage, “LMT” et “BMT” ont été initialement utilisés respectivement. Depuis que les règles suisses et plus tard les règles de l’UE ont été appliquées, l’abréviation de fuseau horaire a été CET pour le temps standard et CEST pour l’heure d’été.
Pour les zones ayant plus de deux types d'heure locale, il peut être nécessaire d'utiliser l'heure locale standard dans le champ AT de la première règle de transition pour s'assurer que la première heure de transition du fichier compilé soit correcte.
Si, pour une zone horaire, une avance d’horloge provoquée par le début de l’heure d’été coïncide et est égal avec un recul d’horloge provoqué par un changement de décalage de TU, zic produit une transition unique vers l’heure d’été au nouveau décalage de TU sans modification du temps local (horloge). Pour obtenir des transitions séparées, plusieurs lignes de continuation de zone, précisant les moments de transition au temps universel, sont à utiliser.
tzfile(5), zdump(8)
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.
13 août 2020 |