                Gestion prcise de l'heure et de la date

  Version franaise du Managing Accurate Date and Time

  Avi Alkalay

   IBM quipe Impact Linux : http://ibm.com/linux
   [http://ibm.com/linux]
   Consultant Linux et normes ouvertes : architecte en chef
   informatique et logiciels

   <avi CHEZ
   unix POINT sh>

   Suggestion d'utiliser pool.ntp.org et des serveurs publics de
   temps NTP de strate 2  : Brad Knowles

   Suggestion d'utiliser ntpq au lieu de ntpdc : Kent Borg

   Explication des informations donnes par ntpq et ntpdc : Yura
   Moron

   Adaptation japonaise
   [http://www.linux.or.jp/JF/JFdocs/TimePrecision-HOWTO/] : Takeo
   Nakano

   Adaptation russe
   [http://computerlib.narod.ru/html/linuxtime.htm] : SHAKI

   Adaptation hongroise
   [http://tldp.fsf.hu/HOWTO/TimePrecision-HOWTO-hu/index.html], la
   section chrony et la toute premire section : Mihaly Gyulai

   Adaptation franaise
   [http://www.traduc.org/docs/HOWTO/lecture/TimePrecision-HOWTO.html] :
   Philippe Wautelet

   Relecture de la version franaise : Raphal Semeteys

   Prparation de la publication de la v.f. : Jean-Philippe Gurard

   Version : 1.0.9.fr.1.0

   Copyright  2002, 2003, 2004 Avi Alkalay

   Copyright  2004, 2005 Philippe Wautelet, Raphal Semeteys,
   Jean-Philippe Gurard

   2005-09-24

   +----------------------------------------------------------------+
   | Historique des versions                                        |
   |----------------------------------------------------------------|
   | Version 1.0.9.fr.1.0        | 2005-09-24      | PW, RS, JPG    |
   |----------------------------------------------------------------|
   | Adaptation franaise de la version 1.0.9.                      |
   |----------------------------------------------------------------|
   | Version 1.0.9               | 2005-05-03      | Avi            |
   |----------------------------------------------------------------|
   | Inclusion d'un lien vers la traduction franaise (Included     |
   | link to french translation).                                   |
   |----------------------------------------------------------------|
   | Version 1.0.8               | 2004-10-29      | MG             |
   |----------------------------------------------------------------|
   | Adaptation hongroise, la section chrony et la toute premire   |
   | section (Hungarian translation, the chrony section and the     |
   | very first section).                                           |
   |----------------------------------------------------------------|
   | Version 1.0.7.fr.1.0        | 2005-03-22      | PW, RS, JPG    |
   |----------------------------------------------------------------|
   | Premire traduction franaise.                                 |
   |----------------------------------------------------------------|
   | Version 1.0.7               | 2004-07-09      | AVI            |
   |----------------------------------------------------------------|
   | Note prs de la licence pour signaler qu'il n'est pas          |
   | ncessaire de demander une autorisation pour traduire ce       |
   | document ; petites corrections pour plusieurs phrases          |
   | (Disclaimer near to license, to let people know they can       |
   | translate without asking permission; Small fixes in some       |
   | phrases).                                                      |
   |----------------------------------------------------------------|
   | Version 1.0.6               | 2004-02-25      | AVI            |
   |----------------------------------------------------------------|
   | Ajout remerciements et lien vers la traduction russe          |
   | (Included credits and link to russian translation).            |
   |----------------------------------------------------------------|
   | Version 1.0.5               | 2003-07-05      | AVI            |
   |----------------------------------------------------------------|
   | Chang l'adresse vers les serveurs de temps publics et ajout  |
   | pool.ntp.org (Changed public time servers list URL. Added      |
   | pool.ntp.org).                                                 |
   |----------------------------------------------------------------|
   | Version 1.0.4               | 2002-12-21      | AVI            |
   |----------------------------------------------------------------|
   | Ajout remerciements et lien vers la traduction japonaise      |
   | (Added japanese translation link and credits).                 |
   |----------------------------------------------------------------|
   | Version 1.0.3               | 2002-08-24      | AVI            |
   |----------------------------------------------------------------|
   | Corrig les largeurs d'crans et de listings (Fixed wrong      |
   | screen and programlisting widths).                             |
   |----------------------------------------------------------------|
   | Version 1.0.2               | 2002-08-04      | AVI            |
   |----------------------------------------------------------------|
   | Lien vers une page de serveurs de temps publics (Link to       |
   | public time servers page).                                     |
   |----------------------------------------------------------------|
   | Version 1.0.1               | 2002-05-07      | AVI            |
   |----------------------------------------------------------------|
   | Conversion finale en XML et rorganisation des fichiers (Final |
   | XML conversion. Files reorganization).                         |
   |----------------------------------------------------------------|
   | Version 1.0                 | 2002-04-28      | AVI            |
   |----------------------------------------------------------------|
   | Image termine (Finalized image).                              |
   |----------------------------------------------------------------|
   | Version 0.8                 | 2002-04-27      | AVI            |
   |----------------------------------------------------------------|
   | Remplac ntpdc par ntpq dans l'exemple (Switched from ntpdc    |
   | example to ntpq, based on contributions).                      |
   |----------------------------------------------------------------|
   | Version 0.8.1               | 2002-04-20      | AVI            |
   |----------------------------------------------------------------|
   | Graphique amlior et liens vers d'autres documents (Improved  |
   | graphic. Links to other doc locations).                        |
   |----------------------------------------------------------------|
   | Version 0.8                 | 2002-04-14      | AVI            |
   |----------------------------------------------------------------|
   | Amlioration de la figure NTP (Better tuning of NTP graphic).  |
   |----------------------------------------------------------------|
   | Version 0.76                | 2002-04-13      | AVI            |
   |----------------------------------------------------------------|
   | Ajout une figure sur l'architecture (Inclusion of             |
   | architecture graphic).                                         |
   |----------------------------------------------------------------|
   | Version 0.75                | 2002-04-10      | AVI            |
   |----------------------------------------------------------------|
   | Correction orthographe et utilisation DocBook XSLT 1.50 (Spell |
   | checked. Using DocBook XSLT 1.50).                             |
   |----------------------------------------------------------------|
   | Version 0.65                | 2002-03-31      | AVI            |
   |----------------------------------------------------------------|
   | Pass au format XML 4.1.2 DocBook (Upgraded to XML 4.1.2       |
   | DocBook format).                                               |
   |----------------------------------------------------------------|
   | Version 0.6                 | 2002-03-29      | AVI            |
   |----------------------------------------------------------------|
   | Termin le mcanisme des fuseaux horaires sur Linux. Cr      |
   | l'annexe. Il ne reste plus que les dessins. (Finished timezone |
   | mechanism on Linux. Created appendix. Now only drawings are    |
   | needed).                                                       |
   |----------------------------------------------------------------|
   | Version 0.4                 | 2002-03-24      | AVI            |
   |----------------------------------------------------------------|
   | Toute la structure est dfinie. Tous les exemples de commandes |
   | sont crits (All skeleton defined. All command examples        |
   | written).                                                      |
   |----------------------------------------------------------------|
   | Version 0.2                 | 2002-03-19      | AVI            |
   |----------------------------------------------------------------|
   | Premire version DocBook (First DocBook version).              |
   +----------------------------------------------------------------+

   Rsum

   Ce document prsente la gestion de la date et de l'heure sous
   Linux. Il explique galement comment rgler la date et l'heure de
   votre systme et comment synchroniser votre machine via le
   protocole NTP.

   ------------------------------------------------------------------

   Table des matires

   1. Pourquoi avoir une horloge prcise ?

                1.1. De quels facteurs dpend l'horloge matrielle ?

   2. L'heure et la date en informatique

   3. Qu'est-ce qu'un fuseau horaire ?

                3.1. L'heure d't

                3.2. Exemples de fuseaux horaires

                3.3. Les fuseaux horaires et Linux

   4. Les paramtres corrects pour votre machine Linux

                4.1. Slection du fuseau horaire

                4.2. Rgler l'horloge matrielle

   5. Synchronisation prcise de l'heure

                5.1. NTP : protocole de diffusion du temps en rseau
                (Network Time Protocol)

                5.2. Construire une architecture simple de
                synchronisation de l'heure

                5.3. Configuration NTP

                5.4. Observer votre machine se synchroniser

                5.5. Lancer automatiquement NTP au dmarrage

   6. Une horloge prcise avec le programme chrony

                6.1. En quoi chrony diffre de ntp ?

                6.2. Comment utiliser chrony ?

   A.  propos de ce document

1. Pourquoi avoir une horloge prcise ?

   Si votre ordinateur ne se connecte jamais  d'autres ordinateurs
   (ou  d'autres appareils utilisant une horloge), la prcision de
   l'horloge n'est pas critique en elle-mme, elle dpend des besoins
   de l'utilisateur. Cependant, les programmes qui d'une faon ou
   l'autre utilisent internet dpendent d'une date et d'une heure
   prcises. Voici quelques situations o vous pourriez en avoir
   besoin :

     o Pour des logiciels effectuant des transactions ;

     o Pour des applications commerciales (p.ex. eBay) ;

     o Pour des clients et serveurs de messagerie ;

     o Pour des sites web qui utilisent des cookies ;

     o Pour des applications web distibues ;

     o Pour certains services web ;

     o Pour des applications distribues  base de composants telles
       que J2EE, .NET, etc ;

     o Pour des systmes de fichiers modernes avancs et parallles
       tels que AFS, DFS, GFS, GPFS, etc.

   Et bien sr, pour utiliser votre ordinateur pour rgler votre
   montre.

  1.1. De quels facteurs dpend l'horloge matrielle ?

   Ici, nous allons un peu parler de la prcision de l'horloge
   matrielle.

   Dans les PC, des oscillateurs  quartz grent l'horloge
   matrielle. La frquence de l'oscillateur est divise et
   finalement on obtient un compteur qui est incrment d'une unit
   toutes les secondes (en ralit c'est plus compliqu que , mais
   c'est suffisant pour nous). L'oscillateur fonctionne mme lorsque
   l'ordinateur est teint. Ds lors, au dmarrage de l'ordinateur
   (et de Linux), l'horloge matrielle peut donner l'heure actuelle.
   La stabilit de cette horloge dpend principalement de la
   temprature de son environnement mais aussi de la pression
   atmosphrique et de la stabilit de la tension de son alimentation
   lectrique. L'horloge matrielle est fiable  court terme.
   Cependant,  long terme, elle drive par rapport  l'heure exacte.
   Puisque l'on peut continuellement comparer la frquence de notre
   horloge matrielle  celle d'une horloge exacte, on peut calculer
   la frquence de l'horloge matrielle et ainsi reconstituer l'heure
   exacte. Si cette horloge exacte se trouve dans notre rseau local,
   la prcision de l'horloge de votre machine Linux sera de l'ordre
   de 0.01s. Si vous utilisez plutt internet, votre horloge sera au
   plus  0.2s de l'heure exacte.

2. L'heure et la date en informatique

   Pour dterminer l'heure actuelle en un endroit donn de la
   plante, un ordinateur a besoin d'exactement deux informations :

    1. l'heure UTC exacte (en franais Temps Universel Coordonn --
       qui a remplac l'heure GMT) ;

    2. le fuseau horaire local.

   Pour les ordinateurs, il y a aussi une horloge matrielle interne
   qui sert de temps de base pour le systme d'exploitation.

   La date et l'heure du systme d'exploitation (nous n'utiliserons
   plus que le terme date ou heure pour exprimer les deux  partir de
   maintenant) sont rgles au dmarrage par un script qui lit
   l'horloge matrielle et l'ajuste en fonction du fuseau horaire (il
   n'est pas stock dans le BIOS). Aprs cette synchronisation, les
   heures du BIOS et du systme d'exploitation sont compltement
   indpendantes. Ds lors, aprs un certain temps, il peut y avoir
   plusieurs secondes de dcalage. Laquelle est correcte ? Sans
   prcautions particulires, aucune.

   Nous allons maintenant discuter comment les rendre toutes les deux
   100% fiables.

3. Qu'est-ce qu'un fuseau horaire ?

   Les fuseaux horaires sont des divisions gographiques du globe
   terrestre tous les 15 de longitude, commenant  Greenwich en
   Angleterre, cres pour aider les gens  dterminer l'heure qu'il
   est partout dans le monde.

   De nos jours, il s'agit plus de divisions politiques que
   gographiques, parce que parfois les gens ont besoin d'avoir la
   mme heure que d'autres en des lieux pas trop loigns. Et pour
   faire des conomies d'nergies, nous avons aujourd'hui l'heure
   d't qui correspond  un changement de fuseau horaire.

   Les fuseaux horaires sont gnralement dfinis par les
   gouvernements ou par un institut d'astronomie et sont reprsents
   par un code de 3 ou 4 lettres. Voir Section 3.2,  Exemples de
   fuseaux horaires  pour des exemples.

   Si vous voulez connatre l'heure actuelle n'importe o dans le
   monde, vous pouvez utiliser les sites web timezoneconverter.com
   [http://www.timezoneconverter.com/] (en anglais) ou
   horlogeparlante.com [http://www.horlogeparlante.com/] (en
   franais)

  3.1. L'heure d't

   Pour faire des conomies d'nergie, les gouvernements ont cr
   l'heure d't (appele en anglais Daylight Savings Time ou DST).
   Nos horloges sont avances d'une heure et cela fait sembler nos
   journes plus longues. En fait, cela revient seulement  changer
   de fuseau horaire. Le temps primitif (UTC) est encore, et restera
   toujours, le mme.

   Nous verrons plus tard comment activer ou dsactiver
   automatiquement l'heure d't dans Linux.

  3.2. Exemples de fuseaux horaires

   Il n'y a rien de plus parlant que des exemples :

   Tableau 1. Fuseaux horaires du Brsil. Dcalage par rapport 
   l'heure UTC

   +----------------------------------------------------------------+
   | Nom et dcalage | Nom et dcalage |           Lieux            |
   |                 |   heure d't   |                            |
   |-----------------+-----------------+----------------------------|
   | BREST -2:00     | BREDT -1:00     | Fernando de Noronha        |
   |-----------------+-----------------+----------------------------|
   |                 |                 | Sao Paulo, Rio, Brasilia,  |
   | BRST -3:00      | BRDT -2:00      | Minas Gerais, Rgion       |
   |                 |                 | Nord-Est, Rgion Sud, et   |
   |                 |                 | ctera                     |
   |-----------------+-----------------+----------------------------|
   | BRWST -4:00     | BRWDT -3:00     | Rgion Ouest               |
   |-----------------+-----------------+----------------------------|
   | BRAST -5:00     | BRADT -4:00     | Acre                       |
   +----------------------------------------------------------------+

   Si vous avez une table telle que celle-ci pour les USA ou
   l'Europe, envoyez-la moi s'il-vous-plat.

  3.3. Les fuseaux horaires et Linux

   Les systmes Linux utilisent les fuseaux horaires dynamiques GLIBC
   bass sur /etc/localtime. Ce fichier est un lien vers (ou une
   copie) d'un fichier d'information de fuseau horaire situ
   gnralement dans le rpertoire /usr/share/zoneinfo.

   D'un point de vue gophysique, il y a seulement 360/15=24
   fuseaux horaires dans le monde. Mais pour rendre les choses
   faciles pour tous et pour tenir compte de toutes les variations
   politiques (comme l'heure d't), vous trouverez des centaines de
   fichiers d'information de fuseau horaire dans /usr/share/zoneinfo,
   chacun valable pour une ville, un pays, et ctera.

   Certains pays, comme le Brsil, n'ont pas un jour fixe pour passer
    l'heure d't. Il est dfini chaque anne quelques mois avant
   l't et peut vous obliger  changer votre fichier d'information
   de fuseau horaire qui peut tre compil avec la commande zic 
   partir d'un fichier comme celui-ci.

   Exemple 1. Fichier d'information de fuseau horaire pour le Brsil

 # Fuseaux horaires du Brsil
 #
 # Les fuseaux horaires brsiliens sont :
 # BREST: Est de Brasilia. Fernando de Noronha.
 # BRST:  Brasilia, Sao Paulo, Rio, Nord-est, Sud, etc
 # BRWST: Ouest de Brasilia. Mato Grosso, Manaus
 # BRAST: Acre.
 #
 # En heure d't, la lettre 'S' devient 'D'.
 #
 # Pour installer, excuter :
 #
 # # zic Brazil.txt
 #
 # Les fichiers de fuseaux horaires seront installs dans
 # /usr/share/zoneinfo (dpend de votre distribution). Ensuite,
 # crez un lien symbolique de votre zone vers /etc/localtime :
 #
 # # ln -sf /usr/share/zoneinfo/Brazil/Brasilia /etc/localtime
 #
 #
 # Si vous avez des mises  jour ou de nouveaux standards pour ce
 # fichier, envoyez-les en anglais 
 #
 # Avi Alkalay <avi @ unix.sh>
 #
 # Dernire mise  jour : 18 Nov 2000
 # Ce fichier est disponible sur http://avi.alkalay.net/linux/zoneinfo/
 #

 # Rule  NAME    FROM  TO    TYPE  IN    ON   AT    SAVE   LETTER/S
 Rule    Brazil  1931  1932  -     Oct   3    0:00  1:00   D
 Rule    Brazil  1932  1933  -     Mar   31   0:00  0      S
 Rule    Brazil  1949  only  -     Dec   1    0:00  1:00   D
 Rule    Brazil  1950  only  -     Apr   30   0:00  0      S
 Rule    Brazil  1950  1952  -     Dec   1    0:00  1:00   D
 Rule    Brazil  1951  only  -     Apr   16   0:00  0      S
 Rule    Brazil  1952  only  -     Mar   31   0:00  0      S
 Rule    Brazil  1953  only  -     Feb   28   0:00  0      S
 Rule    Brazil  1963  only  -     Oct   23   0:00  1:00   D
 Rule    Brazil  1964  only  -     Mar   1    0:00  0      S
 Rule    Brazil  1965  only  -     Jan   31   0:00  1:00   D
 Rule    Brazil  1965  only  -     Mar   31   0:00  0      S
 Rule    Brazil  1965  only  -     Dec   1    0:00  1:00   D
 Rule    Brazil  1966  1968  -     Mar   1    0:00  0      S
 Rule    Brazil  1966  1967  -     Nov   1    0:00  1:00   D
 Rule    Brazil  1984  only  -     Nov   2    0:00  1:00   D
 Rule    Brazil  1985  only  -     Mar   15   0:00  0      S
 Rule    Brazil  1985  only  -     Nov   2    0:00  1:00   D
 Rule    Brazil  1986  only  -     Mar   15   0:00  0      S
 Rule    Brazil  1986  only  -     Oct   25   0:00  1:00   D
 Rule    Brazil  1987  only  -     Feb   14   0:00  0      S
 Rule    Brazil  1987  only  -     Oct   25   0:00  1:00   D
 Rule    Brazil  1988  only  -     Feb   7    0:00  0      S
 Rule    Brazil  1988  only  -     Oct   16   0:00  1:00   D
 Rule    Brazil  1989  only  -     Jan   29   0:00  0      S
 Rule    Brazil  1989  only  -     Oct   15   0:00  1:00   D
 Rule    Brazil  1990  only  -     Feb   11   0:00  0      S
 Rule    Brazil  1990  only  -     Oct   21   0:00  1:00   D
 Rule    Brazil  1991  only  -     Feb   17   0:00  0      S
 Rule    Brazil  1991  only  -     Oct   20   0:00  1:00   D
 Rule    Brazil  1992  only  -     Feb   9    0:00  0      S
 Rule    Brazil  1992  only  -     Oct   25   0:00  1:00   D
 Rule    Brazil  1993  only  -     Jan   31   0:00  0      S
 Rule    Brazil  1993  only  -     Oct   17   0:00  1:00   D
 Rule    Brazil  1994  only  -     Feb   20   0:00  0      S
 Rule    Brazil  1994  only  -     Oct   16   0:00  1:00   D
 Rule    Brazil  1995  only  -     Feb   19   0:00  0      S
 Rule    Brazil  1995  only  -     Oct   15   0:00  1:00   D
 Rule    Brazil  1996  only  -     Feb   11   0:00  0      S
 Rule    Brazil  1996  only  -     Oct   06   0:00  1:00   D
 Rule    Brazil  1997  only  -     Feb   16   0:00  0      S
 Rule    Brazil  1997  only  -     Oct   06   0:00  1:00   D
 Rule    Brazil  1998  only  -     Mar   01   0:00  0      S
 Rule    Brazil  1998  only  -     Oct   11   0:00  1:00   D
 Rule    Brazil  1999  only  -     Feb   21   0:00  0      S
 Rule    Brazil  1999  only  -     Oct   03   0:00  1:00   D
 Rule    Brazil  2000  only  -     Feb   27   0:00  0      S
 Rule    Brazil  2000  only  -     Oct   8    0:00  1:00   D
 Rule    Brazil  2001  only  -     Feb   18   0:00  0      S


 # Zone  NAME                          GMTOFF  RULES/SAVE    FORMAT  [UNTIL]
 Zone    Brazil/DeNoronha              -2:00   Brazil        BRE%sT
 Zone    posix/Brazil/DeNoronha        -2:00   Brazil        BRE%sT
 Zone    right/Brazil/DeNoronha        -2:00   Brazil        BRE%sT
 Zone    Brazil/East                   -2:00   Brazil        BRE%sT
 Zone    posix/Brazil/East             -2:00   Brazil        BRE%sT
 Zone    right/Brazil/East             -2:00   Brazil        BRE%sT

 Zone    America/Sao_Paulo             -3:00   Brazil        BR%sT
 Zone    America/Rio_de_Janeiro        -3:00   Brazil        BR%sT
 Zone    America/Brasilia              -3:00   Brazil        BR%sT
 Zone    posix/America/Sao_Paulo       -3:00   Brazil        BR%sT
 Zone    posix/America/Rio_de_Janeiro  -3:00   Brazil        BR%sT
 Zone    posix/America/Salvador        -3:00   Brazil        BR%sT
 Zone    posix/America/Brasilia        -3:00   Brazil        BR%sT
 Zone    posix/Brazil/Central          -3:00   Brazil        BR%sT
 Zone    posix/Brazil/Brasilia         -3:00   Brazil        BR%sT
 Zone    posix/Brazil/Sao_Paulo        -3:00   Brazil        BR%sT
 Zone    posix/Brazil/Salvador         -3:00   Brazil        BR%sT
 Zone    posix/Brazil/Rio_de_Janeiro   -3:00   Brazil        BR%sT
 Zone    right/America/Sao_Paulo       -3:00   Brazil        BR%sT
 Zone    right/America/Rio_de_Janeiro  -3:00   Brazil        BR%sT
 Zone    right/America/Salvador        -3:00   Brazil        BR%sT
 Zone    right/America/Brasilia        -3:00   Brazil        BR%sT
 Zone    right/Brazil/Central          -3:00   Brazil        BR%sT
 Zone    right/Brazil/Brasilia         -3:00   Brazil        BR%sT
 Zone    right/Brazil/Sao_Paulo        -3:00   Brazil        BR%sT
 Zone    right/Brazil/Salvador         -3:00   Brazil        BR%sT
 Zone    right/Brazil/Rio_de_Janeiro   -3:00   Brazil        BR%sT
 Zone    Brazil/Central                -3:00   Brazil        BR%sT
 Zone    Brazil/Brasilia               -3:00   Brazil        BR%sT
 Zone    Brazil/Sao_Paulo              -3:00   Brazil        BR%sT
 Zone    Brazil/Rio_de_Janeiro         -3:00   Brazil        BR%sT
 Zone    Brazil/Salvador               -3:00   Brazil        BR%sT

 Zone    Brazil/West                   -4:00   Brazil        BRW%sT
 Zone    Brazil/Manaus                 -4:00   Brazil        BRW%sT
 Zone    Brazil/Rondonia               -4:00   Brazil        BRW%sT
 Zone    Brazil/Roraima                -4:00   Brazil        BRW%sT
 Zone    Brazil/Mato_Grosso            -4:00   Brazil        BRW%sT
 Zone    posix/Brazil/Manaus           -4:00   Brazil        BRW%sT
 Zone    posix/Brazil/Mato_Grosso      -4:00   Brazil        BRW%sT
 Zone    right/Brazil/Manaus           -4:00   Brazil        BRW%sT
 Zone    right/Brazil/Mato_Grosso      -4:00   Brazil        BRW%sT
 Zone    posix/America/Manaus          -4:00   Brazil        BRW%sT
 Zone    right/America/Manaus          -4:00   Brazil        BRW%sT

 Zone    Brazil/Acre                   -5:00   Brazil        BRA%sT

   Une ligne Rule dfinit la date et l'heure  laquelle s'effectue un
   changement de fuseau horaire, tandis qu'une ligne Zone rfrence
   la rgle (Rule) qui la grera. Notez que le nom de la Zone est en
   fait le nom du fichier dans le rpertoire /usr/share/zoneinfo et
   qu'il peut y avoir plusieurs noms pour le mme fuseau horaire afin
   qu'il soit plus facile de trouver sa propre zone.

   Les commentaires du fichier expliquent comment installer ces
   fuseaux horaires en utilisant le compilateur de fichier
   d'information de fuseau horaire zic. Pour le rendre effectif, vous
   n'avez plus qu' crer un lien (ou copier) du fichier
   d'information de fuseau horaire vers /etc/localtime. Pour
   certaines distributions, il y a une mthode de niveau suprieur
   (et prfrable) pour rgler le fuseau horaire dcrite dans
   Section 4.1,  Slection du fuseau horaire .

   Aprs avoir fait pointer /etc/localtime vers le fichier de fuseau
   horaire correct, les rgles de cette zone s'appliquent dj et les
   changements de fuseau sont automatiques ; vous n'avez plus 
   changer l'heure manuellement.

   La squence suivante de commandes illustre la dynamique de la
   gestion des fuseaux horaires sous Linux. Notez qu'elles ont toutes
   t excutes en moins d'une minute :

 bash$ ls -al /etc/localtime
 lrwxrwxrwx  1 root root 35 May 22  2001 /etc/localtime -> /usr/share/zoneinfo/Brazil/Brasilia
 bash$ date
 Fri Mar 29 20:13:38 BRST 2002
 bash# ln -sf /usr/share/zoneinfo/GMT /etc/localtime
 bash$ date
 Fri Mar 29 23:13:47 GMT 2002
 bash# ln -sf /usr/share/zoneinfo/Brazil/Brasilia /etc/localtime
 bash$ date
 Fri Mar 29 20:14:03 BRST 2002

    20:13, j'tais dans le fuseau horaire par dfaut du Brsil
   (BRST) ; ensuite, je suis pass  l'heure GMT et l'horloge du
   systme est passe  23:13 ! Quand votre fuseau horaire passera 
   l'heure d't, vous verrez un effet similaire, mais cette fois les
   rgles sont toutes  l'intrieur de votre fichier /etc/localtime
   (qui ne change pas au contraire de cet exemple).

   Une application tournant sur cette machine (par exemple un serveur
   web gnrant des fichiers journaux) sera sensible  ce changement
   ; il est donc trs important pour les dveloppeurs de se souvenir
   que l'heure locale est gale  l'heure universelle actuelle plus
   le fuseau horaire actuel, comme dcrit dans Section 2,  L'heure
   et la date en informatique .

   Finalement, je suis revenu  mon fuseau horaire de dpart.

4. Les paramtres corrects pour votre machine Linux

   Quel que soit le systme que vous voulez installer, vous devez
   connatre votre fuseau horaire. Il peut tre dtermin par une
   ville, une rgion ou un pays. Vous devez aussi dcider comment
   rgler l'heure du BIOS. Ici, vous pouvez suivre deux stratgies :

   Machine avec seulement Linux

           Dans ce cas, vous pouvez mettre l'heure du BIOS  l'heure
           UTC. Les changements de fuseaux horaires seront grs
           dynamiquement comme expliqu dans Section 3.3,  Les
           fuseaux horaires et Linux .

   Machine avec Linux et MS Windows

           Windows manipule l'heure d'une manire plus primitive que
           Linux. Pour Windows, l'heure du BIOS correspond toujours 
           l'heure locale, les changements de fuseaux sont donc plus
           agressifs car ils changent directement l'horloge
           matrielle. Et puisque Linux et Windows initialisent tous
           deux leur heure  partir de l'horloge matrielle, si les
           deux sont prsents, Linux doit la manipuler de la mme
           faon. Dans ce cas, vous devez mettre votre BIOS  l'heure
           locale.

  4.1. Slection du fuseau horaire

   Sur les systmes Red Hat Linux et drivs, vous pouvez rgler la
   stratgie pour l'horloge matrielle et les fuseaux horaires grce
    la commande timeconfig, qui utilise une interface conviviale.
   Vous pouvez aussi le faire de faon non-interactive :

   Exemple 2. Outil de configuration de l'heure

 bash# timeconfig "Brasil/East"         # rgle l'horloge matrielle  l'heure locale
 bash#                                  # et le fuseau horaire sur la zone est du Brsil
 bash#
 bash# timeconfig --utc "Brasil/East"   # rgle l'horloge matrielle  l'heure UTC
 bash#                                  # et le fuseau horaire sur la zone est du Brsil

   De toute faon, cela change le fichier /etc/sysconfig/clock qui
   est lu au dmarrage. Vous pouvez l'diter manuellement. Il
   ressemble  ceci :

   Exemple 3. /etc/sysconfig/clock file

 ZONE="Brazil/East"
 UTC=true
 ARC=false

  4.2. Rgler l'horloge matrielle

   Je vous conseille de ne changer votre horloge matrielle que si
   vous comprenez comment obtenir l'heure exacte, comme expliqu dans
   Section 5,  Synchronisation prcise de l'heure .

   La commande hwclock lit ou rgle l'horloge matrielle en fonction
   des paramtres que vous lui donnez et qui sont documents dans son
   manuel. Mais vous n'avez normalement pas  l'utiliser si vous avez
   une distribution moderne. Aprs avoir choisi votre stratgie pour
   l'horloge matrielle et les fuseaux horaires, vous pouvez utiliser
   la commande de haut niveau setclock pour rgler correctement votre
   horloge matrielle. Vous n'avez pas besoin de passer de paramtres
   car setclock appelle intelligemment hwclock pour rgler le BIOS en
   se basant sur l'heure courante de votre systme d'exploitation.
   Vous devriez donc toujours utiliser la commande setclock.

   Mais si vous tes minimaliste et prfrez la faon complique,
   voici quelques exemples d'utilisation de hwclock :

   Exemple 4. Utilisation de setclock et hwclock

 bash# setclock                                  # La manire simple de rgler l'horloge matrielle
 bash#
 bash# hwclock                                   # Lit l'horloge matrielle
 bash#
 bash# hwclock --systohc --utc                   # Rgle l'horloge matrielle avec l'heure UTC
 bash#                                           # base sur l'heure actuelle du systme
 bash#
 bash# hwclock --systohc                         # Rgle l'horloge matrielle avec l'heure actuelle
 bash#                                           # base sur l'heure actuelle du systme
 bash#
 bash# hwclock --set --date "21 Oct 2004 21:17"  # Rgle l'horloge matrielle avec l'heure spcifie

   Puisque l'heure du systme est indpendante de l'horloge
   matrielle, tout changement dans le BIOS n'apparatra que lors du
   dmarrage suivant.

   Une autre option pour changer l'horloge matrielle est de
   redmarrer l'ordinateur et d'accder  l'cran de configuration du
   BIOS. Sur les plates-formes IBM e-server zSeries
   [http://ibm.com/servers/eserver/zseries/os/linux/] vous devez le
   faire au niveau de z/VM parce que Linux tourne sur des machines
   virtuelles cres par z/VM.

5. Synchronisation prcise de l'heure

   Avoir l'heure exacte sur tous vos systmes est aussi important que
   d'avoir une stratgie solide de la scurit du rseau (ce qui est
   bien plus qu'utiliser des pare-feu). C'est un des lments
   essentiels d'une administration systme base sur de bonnes
   pratiques qui mne  des systmes bien organiss et srs. Une
   heure prcise est particulirement ncessaire lorsqu'on travaille
   avec des applications distribues, des services web ou des outils
   distribus de surveillance rseau.

  5.1. NTP : protocole de diffusion du temps en rseau (Network Time
  Protocol)

   Nous ne dcrirons pas ici le protocole, mais comment cette
   magnifique invention, ajoute  la prsence envahissante
   d'internet, peut nous tre utile. Vous pouvez en apprendre plus
   sur www.ntp.org [http://www.ntp.org/].

   Une fois le systme configur, NTP arrivera  garder l'heure
   exacte en ne faisant que de trs petits ajustements pour ne pas
   perturber les applications en cours d'excution.

   L'heure exacte peut tre obtenue en utilisant des appareils bass
   sur la frquence lectronique des atomes. Il existe aussi une
   mthode base sur le systme de satellites GPS. La premire est
   plus fiable, mais la seconde n'est pas si mauvaise. Les deux
   ncessitent un matriel trs spcifique et trs cher, mais leurs
   propritaires (en gnral des universits ou des laboratoires de
   recherche) les connectent  des ordinateurs qui font tourner un
   serveur NTP qui sont connects  internet et qui vous laissent y
   accder gratuitement. Et c'est grce  eux que nous
   synchroniserons nos systmes.

  5.2. Construire une architecture simple de synchronisation de l'heure

   Vous aurez besoin de  :

    1. Une connexion directe ou indirecte ( travers un pare-feu) 
       internet.

    2. Choisir des serveurs NTP. Vous pouvez utiliser le serveur
       public pool.ntp.org [http://www.fortytwo.ch/time/] ou en
       choisir dans la deuxime strate de serveurs de temps publics
       [http://www.eecis.udel.edu/~mills/ntp/clock2a.html] sur le
       site web de NTP. Si vous n'avez pas d'accs  internet, votre
       administrateur WAN (ce doit tre un type intelligent) peut
       probablement vous donner des adresses internes.

    3. Avoir le logiciel NTP install sur tous les systmes que vous
       voulez synchroniser. Vous pouvez trouver les RPM sur les
       cdroms de votre distribution Linux favorite ou faire une
       recherche
       [http://rpmfind.net/linux/rpm2html/search.php?query=ntp] sur
       http://rpmfind.net/ [http://rpmfind.net/].

   Voici un exemple d'une bonne architecture :

   Figure 1. Serveurs relais locaux pour NTP

                          [1]Architecture NTP

   Si vous avez plusieurs machines  synchroniser, ne les faites pas
   toutes accder aux serveurs NTP externes que vous avez choisis.
   Seuls deux de vos serveurs doivent accder aux serveurs NTP
   externes. Les autres machines se synchroniseront sur ces deux
   dernires. Nous les appellerons serveurs relais.

   Vos serveurs relais peuvent tre n'importe lesquelles de vos
   machines dj disponibles sur votre rseau. NTP consomme trs peu
   de mmoire et de processeur. Vous n'avez pas besoin d'une machine
   ddie  cette fonction.

   [2][Astuce] Astuce
               Crer des alias pour les noms d'htes de vos serveurs
               relais locaux est une bonne ide. Vous pouvez dfinir
               par exemple ntp1.mon-domaine.fr et
               ntp2.mon-domaine.fr. Puis n'utilisez que ces noms en
               configurant les machines clientes. De cette faon,
               vous pouvez dplacer la fonctionnalit NTP vers un
               nouveau serveur relais (avec un adresse IP et un nom
               d'hte diffrents) sans avoir  reconfigurer les
               clients. Demandez  votre administrateur DNS de crer
               ces alias.

  5.3. Configuration NTP

   Pour vos serveurs relais

           ditez /etc/ntp.conf et ajoutez les serveurs distants que
           vous avez choisis :

           Exemple 5. Fichier /etc/ntp.confdes machines relais

 server  ntp.cnrs.fr        # Un serveur de strate 1 de cnrs.fr
 server  autre-ntp.gouv.fr  # Un serveur de strate 2 de gouv.fr

           De nouveau, vous pouvez utiliser le serveur public
           pool.ntp.org [http://www.fortytwo.ch/time/] ou obtenir une
           liste de serveurs de temps publics
           [http://www.eecis.udel.edu/~mills/ntp/clock2a.html] sur le
           site web de NTP.

   Pour vos clients

           ditez /etc/ntp.conf et ajoutez vos serveurs relais avec
           un nom standard :

           Exemple 6. Fichier /etc/ntp.conf des machines clientes

 server  ntp1.mon-domaine.fr   # Mon premier serveur relais local
 server  ntp2.mon-domaine.fr   # Mon deuxime serveur relais local

   Si votre machine a une heure UTC diffrente de plusieurs minutes
   par rapport aux serveurs NTP, NTP ne fonctionnera pas. Dans ce
   cas, vous devez d'abord faire un synchronisation complte. Je vous
   recommande de le faire en dehors des heures de production. Vous
   n'avez besoin de le faire que lors de l'initialisation de votre
   configuration NTP, jamais plus aprs :

   Exemple 7. Premire synchronisation

 bash# ntpdate autre-ntp.gouv.fr       [3]1
 24 Mar 18:16:36 ntpdate[10254]: step time server 200.100.20.10 offset -15.266188 sec
 bash# ntpdate autre-ntp.gouv.fr       [4]2
 24 Mar 18:16:43 ntpdate[10255]: adjust time server 200.100.20.10 offset -0.000267 sec

   [5]1 Premire synchronisation complte. L'horloge retardait de 15
        secondes.
   [6]2 Deuxime synchronisation complte, juste pour tre sr.
        Maintenant, nous ne retardons pratiquement plus, ce qui est
        une bonne chose.

   La dernire tape consiste  dmarrer ou  redmarrer le dmon NTP
   sur chaque machine :

 bash# service ntpd restart

  5.4. Observer votre machine se synchroniser

   Maintenant que tout est configur, NTP va garder l'heure de votre
   machine synchronise. Vous pouvez observer ce processus en
   utilisant la commande d'interrogation NTP (ntpq) :

   Exemple 8. Un exemple d'interrogation de l'tat de la
   synchronisation temporelle

 bash# ntpq -p
      remote           refid      st t when poll reach   delay   offset  jitter
 ==============================================================================
 -jj.cs.umb.edu   gandalf.sigmaso  3 u   95 1024  377   31.681  -18.549   1.572
  milo.mcs.anl.go ntp0.mcs.anl.go  2 u  818 1024  125   41.993  -15.264   1.392
 -mailer1.psc.edu ntp1.usno.navy.  2 u  972 1024  377   38.206   19.589  28.028
 -dr-zaius.cs.wis ben.cs.wisc.edu  2 u  502 1024  357   55.098    3.979   0.333
 +taylor.cs.wisc. ben.cs.wisc.edu  2 u  454 1024  347   54.127    3.379   0.047
 -ntp0.cis.strath harris.cc.strat  3 u  507 1024  377  115.274   -5.025   1.642
 *clock.via.net   .GPS.            1 u  426 1024  377  107.424   -3.018   2.534
  ntp1.conectiv.c 0.0.0.0         16 u    - 1024    0    0.000    0.000 4000.00
 +bonehed.lcs.mit .GPS.            1 u  984 1024  377   25.126    0.131  30.939
 -world.std.com   204.34.198.40    2 u  119 1024  377   24.229   -6.884   0.421

   La signification de chaque colonne

   remote

           Est le nom du serveur NTP distant. Si vous utilisez
           l'option -n, vous verrez les adresses IP de ces serveurs 
           la place de leurs noms.

   refid

           Indique d'o chaque serveur obtient son heure. Il peut
           s'agir d'un nom d'hte ou de quelque chose comme .GPS.,
           indiquant une source GPS (Global Positioning System).

   st

           La strate est un nombre allant de 1  16 qui indique la
           prcision du serveur distant. 1 est le plus fiable, 16
           signifie que le serveur n'est pas disponible. Votre strate
           sera gale  celle du serveur distant le plus fiable plus
           1. Ne vous connectez jamais  un serveur de la strate 1,
           utilisez ceux de niveau 2 ! Ces serveurs sont largement
           suffisants pour nos besoins, et cette politique permet de
           rduire le trafic vers les serveurs de la premire strate.

   poll

           L'intervalle (en secondes) entre deux requtes de temps.
           La valeur sera comprise entre les valeurs minimales et
           maximales autorises. Initialement la valeur sera petite
           pour permettre une synchronisation rapide. Une fois que
           les horloges sont synchrones, le temps entre deux requtes
           augmentera pour diminuer le trafic rseau et la charge sur
           les serveurs de temps populaires.

   reach

           C'est une reprsentation en base 8 d'un tableau de 8 bits
           reprsentant les 8 dernires fois que la machine a essay
           d'atteindre le serveur. Le bit est mis  1 si le serveur
           distant a pu tre atteint.

   delay

           Le dlai (en secondes) ncessaire pour recevoir une
           rponse  une demande de "quelle heure est-il ?".

   offset

           La valeur la plus importante. Le dcalage de temps entre
           le serveur local et le serveur distant. Pendant la
           synchronisation, le dcalage diminue, indiquant que
           l'horloge locale devient plus prcise.

   jitter

           Cette colonne indique la dispersion, qui est une mesure de
           la variance statistique du dcalage pendant plusieurs
           paires de requte/rponse successives. Des valeurs faibles
           de la dispersion sont meilleures que des valeurs leves.
           Plus elles sont faibles, plus la synchronisation
           temporelle sera prcise.

   Signification des signes devant les noms de serveur

   -

           Signifie que le service NTP local n'aime pas beaucoup ce
           serveur

   +

           Signifie que le service NTP local aime ce serveur

   x

           Marque un mauvais serveur

   *

           Indique le serveur prfr actuel

  5.5. Lancer automatiquement NTP au dmarrage

   Si vous voulez toujours avoir le service NTP sur votre machine
   mme si vous la redmarrez, faites ceci sur chaque machine :

 bash# chkconfig --level 2345 ntpd on

   Cela garantira un dmarrage automatique.

   Si votre machine fonctionne longtemps sans redmarrage (des mois
   ou des annes), vous remarquerez une importante diffrence entre
   la trs imprcise horloge matrielle et l'heure systme
   (maintenant trs prcise). Les distributions Linux modernes
   copient l'heure systme dans l'horloge matrielle chaque fois que
   le systme est arrt en utilisant un mcanisme similaire  la
   commande setclock. De cette faon, au dmarrage suivant, vous
   obtiendrez une date et une heure presque aussi prcises que ce
   qu'elles taient lors de l'arrt de votre ordinateur.

6. Une horloge prcise avec le programme chrony

  6.1. En quoi chrony diffre de ntp ?

   Chrony utilise aussi le protocole NTP et est aussi conu pour
   rendre l'horloge de Linux plus fiable. Il est aussi adapt  des
   systmes qui n'ont pas de connexion internet. La source d'heure
   exacte peut donc tre n'importe quelle horloge prcise  partir de
   laquelle on puisse lire l'heure et la transmettre au programme. De
   plus, il est galement capable d'estimer la drive de l'horloge
   matrielle et, en se basant sur celle-ci, d'ajuster l'horloge
   matrielle au dmarrage de l'ordinateur.

   La version 1.20 de chrony ne supporte pas encore les horloges
   internes de type GPS ou les rcepteurs radio DCF, mais la
   structure du programme rend de telles extensions possibles.

  6.2. Comment utiliser chrony ?

   Chrony est constitu de deux parties : le dmon chronyd et
   l'interface utilisateurchronyc.

   Vous pouvez trouver chrony sur chrony.sunsite.dk/index.php
   [http://chrony.sunsite.dk/index.php/]

A.  propos de ce document

   Copyright 2002, 2003, 2004 Avi Alkalay.

   Copyright 2004, 2005 Philippe Wautelet et copyright 2005 Raphal
   Semeteys pour la traduction franaise.

   This document must be distributed under the terms of [7]GNU Free
   Documentation License. Please translate, adapt, improve,
   redistrubute using the original XML DocBook source right bellow.
   Let me know if you want me to put a link to your
   translation/adaptation/improvement here.

   Ce document doit tre distribu sous les termes de la licence de
   documentation libre GNU (GFDL)
   [http://www.gnu.org/copyleft/fdl.html]. Traduisez, adaptez,
   amliorez ou redistribuez SVP en utilisant le fichier source
   original ci-dessous au format XML DocBook. Faites-moi savoir si
   vous voulez que j'ajoute un lien ici vers votre version traduite,
   adapte ou amliore.

   Ce document est disponible aux endroits suivants :

     o Site officiel de la version originale
       [http://avi.alkalay.net/linux/docs/TimePrecision/] [Code
       source XML DocBook
       [http://avi.alkalay.net/linux/docs/TimePrecision/timeprecision.tar.gz]]
       ;

     o LinuxDoc, en tant que guide pratique (version anglaise)
       [http://en.tldp.org/HOWTO/TimePrecision-HOWTO/] [une seule
       page
       [http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/TimePrecision-HOWTO.html]]
       [PDF
       [http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/pdf/TimePrecision-HOWTO.pdf]]
       ;

     o Takeo Nakano <nakano CHEZ apm POINT seikei POINT ac POINT jp>
       traduction japonaise
       [http://www.linux.or.jp/JF/JFdocs/TimePrecision-HOWTO/]
       [version texte
       [http://www.linux.or.jp/JF/JFdocs/TimePrecision-HOWTO.txt]] ;

     o SHAKI <sha-ki CHEZ narod POINT ru> traduction russe
       [http://computerlib.narod.ru/html/linuxtime.htm] ;

     o Mihaly Gyulai <gyulai CHEZ fbi POINT hu> traduction hongroise
       [http://tldp.fsf.hu/HOWTO/TimePrecision-HOWTO-hu/index.html] ;

     o Dernire version franaise de ce document
       [http://www.traduc.org/docs/howto/lecture/TimePrecision-HOWTO.html]
       [Code source XML DocBook
       [http://www.traduc.org/cgi-bin/viewcvs.cgi/guides_pratiques/TimePrecision-HOWTO.xml]].

