## Table des matières 1. [Introduction et Concepts](#introduction-et-concepts) 2. [Architecture du Temps sous Linux](#architecture-du-temps-sous-linux) 3. [Prérequis](#prérequis) 4. [Vérifier la Configuration Actuelle](#vérifier-la-configuration-actuelle) 5. [Configurer le Fuseau Horaire](#configurer-le-fuseau-horaire) 6. [Synchronisation NTP](#synchronisation-ntp) 7. [Configuration Manuelle](#configuration-manuelle) 8. [Horloge Matérielle (RTC)](#horloge-matérielle-rtc) 9. [Dépannage](#dépannage) 10. [Bonnes Pratiques](#bonnes-pratiques) --- ## Introduction et Concepts ### Pourquoi le Fuseau Horaire est Important ? La configuration correcte du fuseau horaire est essentielle pour : - **Logs système** : horodatage précis des événements - **Tâches planifiées (cron)** : exécution à l'heure prévue - **Certificats SSL** : validation des dates d'expiration - **Bases de données** : cohérence des timestamps - **Applications** : affichage correct de l'heure aux utilisateurs ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ IMPORTANCE DU FUSEAU HORAIRE │ └─────────────────────────────────────────────────────────────────────────────┘ SERVEUR MAL CONFIGURÉ SERVEUR BIEN CONFIGURÉ ───────────────────── ────────────────────── ┌─────────────────────────────┐ ┌─────────────────────────────┐ │ Heure système : 14:00 UTC │ │ Heure système : 14:00 UTC │ │ Fuseau : UTC (incorrect) │ │ Fuseau : Europe/Paris │ └──────────────┬──────────────┘ └──────────────┬──────────────┘ │ │ ┌─────────┴─────────┐ ┌─────────┴─────────┐ ▼ ▼ ▼ ▼ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ Cron │ │ Logs │ │ Cron │ │ Logs │ │ 14:00 │ │ 14:00 │ │ 15:00 │ │ 15:00 │ │ (UTC) │ │ (UTC) │ │ (Paris) │ │ (Paris) │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ │ │ │ ▼ ▼ ▼ ▼ ┌─────────────────────────────┐ ┌─────────────────────────────┐ │ ❌ Tâches décalées de 1h │ │ ✅ Tâches à l'heure locale │ │ ❌ Logs difficiles à lire │ │ ✅ Logs cohérents │ │ ❌ Debug complexe │ │ ✅ Debug facilité │ └─────────────────────────────┘ └─────────────────────────────┘ ``` ### Concepts Clés ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ CONCEPTS DE TEMPS SOUS LINUX │ └─────────────────────────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────────────────────────┐ │ │ │ UTC (Coordinated Universal Time) │ │ ───────────────────────────────── │ │ • Temps universel de référence │ │ • Ne change jamais (pas d'heure d'été) │ │ • Base pour tous les fuseaux horaires │ │ │ │ ──────────────────────────────────────────────────────────────────────── │ │ │ │ Fuseau Horaire (Timezone) │ │ ───────────────────────── │ │ • Décalage par rapport à UTC │ │ • Format : Continent/Ville (ex: Europe/Paris) │ │ • Gère automatiquement l'heure d'été (DST) │ │ │ │ ──────────────────────────────────────────────────────────────────────── │ │ │ │ Horloge Système vs Horloge Matérielle │ │ ───────────────────────────────────── │ │ • Système : gérée par le noyau Linux (en mémoire) │ │ • Matérielle (RTC) : dans le BIOS, fonctionne même éteint │ │ │ └─────────────────────────────────────────────────────────────────────────────┘ ``` --- ## Architecture du Temps sous Linux ### Vue d'Ensemble ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ ARCHITECTURE DU TEMPS LINUX │ └─────────────────────────────────────────────────────────────────────────────┘ SERVEURS NTP (time.google.com, etc.) │ │ Synchronisation ▼ ┌─────────────────────────────────────────────────────────────────────┐ │ ESPACE UTILISATEUR │ │ │ │ ┌───────────────────────────────────────────────────────────┐ │ │ │ timedatectl │ │ │ │ (Interface principale) │ │ │ │ │ │ │ │ • Afficher/modifier le fuseau horaire │ │ │ │ • Activer/désactiver NTP │ │ │ │ • Modifier la date et l'heure │ │ │ └───────────────────────────────────────────────────────────┘ │ │ │ │ │ ┌───────────────┼───────────────┐ │ │ ▼ ▼ ▼ │ │ ┌─────────────────┐ ┌─────────────┐ ┌─────────────────┐ │ │ │ systemd- │ │ chronyd │ │ ntpd │ │ │ │ timesyncd │ │ │ │ │ │ │ │ (client NTP │ │ (client │ │ (client NTP │ │ │ │ par défaut) │ │ NTP) │ │ classique) │ │ │ └─────────────────┘ └─────────────┘ └─────────────────┘ │ │ │ │ └──────────────────────────────┼──────────────────────────────────────┘ │ ═══════════════════════════════╪════════════════════════════════════════ │ ┌──────────────────────────────┼──────────────────────────────────────┐ │ ▼ ESPACE NOYAU │ │ ┌───────────────────────────────────────────────────────────┐ │ │ │ HORLOGE SYSTÈME │ │ │ │ (System Clock / Kernel) │ │ │ │ │ │ │ │ • Compte les secondes depuis le 1er janvier 1970 │ │ │ │ • Stockée en mémoire (se perd à l'arrêt) │ │ │ │ • Temps en UTC en interne │ │ │ └───────────────────────────────────────────────────────────┘ │ │ │ │ └──────────────────────────────┼──────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────┐ │ HORLOGE MATÉRIELLE (RTC) │ │ (BIOS/UEFI) │ │ │ │ • Alimentée par pile (fonctionne serveur éteint) │ │ • Synchronisée au démarrage avec l'horloge système │ │ • Peut être en UTC ou en heure locale │ └─────────────────────────────────────────────────────────────────────┘ ``` ### Fichiers de Configuration ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ FICHIERS DE CONFIGURATION │ └─────────────────────────────────────────────────────────────────────────────┘ /etc/ ├── localtime → Lien symbolique vers le fuseau horaire actif │ (pointe vers /usr/share/zoneinfo/...) │ ├── timezone → Fichier texte contenant le nom du fuseau │ (ex: "Europe/Paris") │ └── systemd/ └── timesyncd.conf → Configuration du client NTP /usr/share/zoneinfo/ ├── Africa/ │ ├── Abidjan │ ├── Algiers │ └── ... ├── America/ │ ├── New_York │ ├── Los_Angeles │ └── ... ├── Asia/ │ ├── Tokyo │ ├── Shanghai │ └── ... ├── Europe/ │ ├── Paris ← Fuseau horaire France │ ├── London │ ├── Berlin │ └── ... └── ... Exemple de lien symbolique : /etc/localtime → /usr/share/zoneinfo/Europe/Paris ``` --- ## Prérequis ### Configuration Requise ``` ┌─────────────────────────────────────────────────────────────────┐ │ PRÉREQUIS SYSTÈME │ ├─────────────────────┬───────────────────────────────────────────┤ │ Élément │ Requis │ ├─────────────────────┼───────────────────────────────────────────┤ │ Système │ Ubuntu 18.04+ / Debian 9+ / CentOS 7+ │ │ Accès │ root ou sudo │ │ Systemd │ Oui (timedatectl nécessite systemd) │ │ Réseau │ Connexion Internet (pour NTP) │ └─────────────────────┴───────────────────────────────────────────┘ ``` ### Vérifications Préalables ```bash # Vérifier que systemd est installé systemctl --version # Vérifier les droits sudo sudo whoami # Vérifier la connectivité réseau (pour NTP) ping -c 3 time.google.com ``` --- ## Vérifier la Configuration Actuelle ### Commande timedatectl ```bash # Afficher toutes les informations de temps timedatectl ``` ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ SORTIE DE TIMEDATECTL │ └─────────────────────────────────────────────────────────────────────────────┘ $ timedatectl Local time: sam. 2025-01-25 15:30:45 CET Universal time: sam. 2025-01-25 14:30:45 UTC RTC time: sam. 2025-01-25 14:30:45 Time zone: Europe/Paris (CET, +0100) System clock synchronized: yes NTP service: active RTC in local TZ: no ┌─────────────────────────────────────────────────────────────────────────────┐ │ EXPLICATION DES CHAMPS : │ │ │ │ Local time → Heure locale (avec fuseau horaire appliqué) │ │ Universal time → Heure UTC (référence mondiale) │ │ RTC time → Heure de l'horloge matérielle (BIOS) │ │ Time zone → Fuseau horaire actuel (Continent/Ville) │ │ System clock synchronized → Synchronisation NTP active ? │ │ NTP service → Service de synchronisation actif ? │ │ RTC in local TZ → L'horloge matérielle est-elle en heure locale ? │ │ │ └─────────────────────────────────────────────────────────────────────────────┘ ``` ### Autres Méthodes de Vérification ```bash # Afficher la date et l'heure date # Afficher uniquement le fuseau horaire cat /etc/timezone # Voir le lien symbolique localtime ls -la /etc/localtime # Afficher l'heure UTC date -u ``` --- ## Configurer le Fuseau Horaire ### Méthode 1 : Avec timedatectl (Recommandée) #### Étape 1 : Lister les Fuseaux Horaires Disponibles ```bash # Lister tous les fuseaux horaires timedatectl list-timezones # Filtrer par région (Europe) timedatectl list-timezones | grep Europe # Filtrer par pays (France) timedatectl list-timezones | grep Paris # Filtrer par continent timedatectl list-timezones | grep America timedatectl list-timezones | grep Asia timedatectl list-timezones | grep Africa ``` ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ FUSEAUX HORAIRES COURANTS │ └─────────────────────────────────────────────────────────────────────────────┘ ┌─────────────────────────┬───────────┬────────────────────────────────────────┐ │ Fuseau Horaire │ Décalage │ Pays/Région │ ├─────────────────────────┼───────────┼────────────────────────────────────────┤ │ Europe/Paris │ UTC+1/+2 │ France, Belgique, Luxembourg │ │ Europe/London │ UTC+0/+1 │ Royaume-Uni, Irlande │ │ Europe/Berlin │ UTC+1/+2 │ Allemagne, Autriche │ │ Europe/Madrid │ UTC+1/+2 │ Espagne │ │ Europe/Rome │ UTC+1/+2 │ Italie │ │ Europe/Zurich │ UTC+1/+2 │ Suisse │ ├─────────────────────────┼───────────┼────────────────────────────────────────┤ │ America/New_York │ UTC-5/-4 │ États-Unis (Est) │ │ America/Los_Angeles │ UTC-8/-7 │ États-Unis (Ouest) │ │ America/Chicago │ UTC-6/-5 │ États-Unis (Centre) │ │ America/Toronto │ UTC-5/-4 │ Canada (Est) │ │ America/Montreal │ UTC-5/-4 │ Québec, Canada │ ├─────────────────────────┼───────────┼────────────────────────────────────────┤ │ Asia/Tokyo │ UTC+9 │ Japon │ │ Asia/Shanghai │ UTC+8 │ Chine │ │ Asia/Dubai │ UTC+4 │ Émirats Arabes Unis │ │ Asia/Singapore │ UTC+8 │ Singapour │ ├─────────────────────────┼───────────┼────────────────────────────────────────┤ │ Africa/Casablanca │ UTC+1 │ Maroc │ │ Africa/Tunis │ UTC+1 │ Tunisie │ │ Africa/Algiers │ UTC+1 │ Algérie │ ├─────────────────────────┼───────────┼────────────────────────────────────────┤ │ Pacific/Tahiti │ UTC-10 │ Polynésie française │ │ Indian/Reunion │ UTC+4 │ La Réunion │ │ America/Martinique │ UTC-4 │ Martinique │ │ America/Guadeloupe │ UTC-4 │ Guadeloupe │ └─────────────────────────┴───────────┴────────────────────────────────────────┘ ``` #### Étape 2 : Définir le Fuseau Horaire ```bash # Définir le fuseau horaire sur Paris sudo timedatectl set-timezone Europe/Paris # Vérifier le changement timedatectl ``` ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ PROCESSUS DE CHANGEMENT DE FUSEAU HORAIRE │ └─────────────────────────────────────────────────────────────────────────────┘ AVANT APRÈS ───── ───── Time zone: UTC (+0000) Time zone: Europe/Paris (CET, +0100) ┌─────────────────────┐ ┌─────────────────────┐ │ /etc/localtime │ │ /etc/localtime │ │ │ │ │ │ │ │ ▼ │ │ ▼ │ │ /usr/share/zoneinfo/│ ────────▶ │ /usr/share/zoneinfo/│ │ Etc/UTC │ timedatectl │ Europe/Paris │ └─────────────────────┘ set-timezone └─────────────────────┘ Local time: 14:30:00 Local time: 15:30:00 (+1 heure en hiver) ``` ### Méthode 2 : Avec dpkg-reconfigure (Debian/Ubuntu) ```bash # Interface interactive sudo dpkg-reconfigure tzdata ``` ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ INTERFACE DPKG-RECONFIGURE │ └─────────────────────────────────────────────────────────────────────────────┘ ┌────────────────────────────────────────────────────────────────┐ │ Configuring tzdata │ │ │ │ Please select the geographic area in which you live. │ │ │ │ Africa │ │ America │ │ Antarctica │ │ Asia │ │ Atlantic │ │ Australia │ │ ▶ Europe │ │ Indian │ │ Pacific │ │ │ │ │ └────────────────────────────────────────────────────────────────┘ │ ▼ ┌────────────────────────────────────────────────────────────────┐ │ Configuring tzdata │ │ │ │ Please select the city or region corresponding to your │ │ time zone. │ │ │ │ Oslo │ │ ▶ Paris │ │ Podgorica │ │ Prague │ │ │ │ │ └────────────────────────────────────────────────────────────────┘ ``` ### Méthode 3 : Manuelle (Lien Symbolique) ```bash # Supprimer l'ancien lien sudo rm /etc/localtime # Créer le nouveau lien sudo ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime # Mettre à jour /etc/timezone echo "Europe/Paris" | sudo tee /etc/timezone # Vérifier date ``` --- ## Synchronisation NTP ### Comprendre NTP ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ FONCTIONNEMENT DE LA SYNCHRONISATION NTP │ └─────────────────────────────────────────────────────────────────────────────┘ SERVEURS NTP STRATRUM 1 (Horloges atomiques, GPS, etc.) │ ┌─────────────┼─────────────┐ ▼ ▼ ▼ ┌───────────┐ ┌───────────┐ ┌───────────┐ │ Stratum 2 │ │ Stratum 2 │ │ Stratum 2 │ │ Server │ │ Server │ │ Server │ └─────┬─────┘ └─────┬─────┘ └─────┬─────┘ │ │ │ └─────────────┼─────────────┘ │ ┌──────────────────┼──────────────────┐ ▼ ▼ ▼ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ │ time.google.com │ │ pool.ntp.org │ │ time.cloudflare │ │ Stratum 2-3 │ │ Stratum 2-3 │ │ Stratum 2-3 │ └────────┬─────────┘ └────────┬─────────┘ └────────┬─────────┘ │ │ │ └────────────────────┼────────────────────┘ │ ▼ ┌─────────────────────────┐ │ VOTRE SERVEUR │ │ │ │ systemd-timesyncd │ │ ou chronyd │ │ ou ntpd │ │ │ │ ┌───────────────────┐ │ │ │ Horloge Système │ │ │ │ Synchronisée │ │ │ └───────────────────┘ │ └─────────────────────────┘ Précision typique : quelques millisecondes ``` ### Activer la Synchronisation NTP ```bash # Activer la synchronisation NTP sudo timedatectl set-ntp true # Vérifier le statut timedatectl # Voir le statut détaillé du service systemctl status systemd-timesyncd ``` ### Configurer les Serveurs NTP ```bash # Éditer la configuration sudo nano /etc/systemd/timesyncd.conf ``` ```ini # /etc/systemd/timesyncd.conf [Time] # Serveurs NTP principaux NTP=time.google.com time.cloudflare.com # Serveurs de secours FallbackNTP=0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org ``` ```bash # Redémarrer le service sudo systemctl restart systemd-timesyncd # Vérifier la synchronisation timedatectl timesync-status ``` ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ SORTIE TIMESYNC-STATUS │ └─────────────────────────────────────────────────────────────────────────────┘ $ timedatectl timesync-status Server: 216.239.35.0 (time.google.com) Poll interval: 34min 8s (min: 32s; max 34min 8s) Leap: normal Version: 4 Stratum: 1 Reference: GOOG Precision: 1us (-20) Root distance: 335us (max: 5s) Offset: +2.156ms Delay: 15.533ms Jitter: 1.234ms Packet count: 12 ``` --- ## Configuration Manuelle ### Modifier la Date et l'Heure Manuellement ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ ⚠️ ATTENTION │ │ │ │ Pour modifier manuellement la date/heure, vous DEVEZ d'abord │ │ désactiver la synchronisation NTP ! │ │ │ │ Sinon, le système corrigera automatiquement vos modifications. │ └─────────────────────────────────────────────────────────────────────────────┘ ``` ```bash # 1. Désactiver NTP sudo timedatectl set-ntp false # 2. Modifier la date et l'heure # Format : AAAA-MM-JJ HH:MM:SS sudo timedatectl set-time "2025-01-25 15:30:00" # OU modifier uniquement l'heure sudo timedatectl set-time "15:30:00" # OU modifier uniquement la date sudo timedatectl set-time "2025-01-25" # 3. Vérifier timedatectl # 4. Réactiver NTP (recommandé) sudo timedatectl set-ntp true ``` ### Utiliser la Commande date ```bash # Afficher la date actuelle date # Afficher en format personnalisé date "+%Y-%m-%d %H:%M:%S" # Modifier la date (nécessite NTP désactivé) sudo date -s "2025-01-25 15:30:00" # Modifier uniquement l'heure sudo date +%T -s "15:30:00" ``` --- ## Horloge Matérielle (RTC) ### Comprendre l'Horloge RTC ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ HORLOGE SYSTÈME vs HORLOGE MATÉRIELLE │ └─────────────────────────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────────────────┐ │ HORLOGE SYSTÈME │ │ (System Clock) │ │ │ │ • Gérée par le noyau Linux │ │ • Stockée en RAM │ │ • Se perd à l'extinction │ │ • Temps en UTC en interne │ │ • Convertie en heure locale pour l'affichage │ └─────────────────────────────────────────────────────────────────────┘ │ │ hwclock --systohc │ (système → matériel) │ │ hwclock --hctosys │ (matériel → système) ▼ ┌─────────────────────────────────────────────────────────────────────┐ │ HORLOGE MATÉRIELLE │ │ (RTC - Real Time Clock) │ │ │ │ • Dans le BIOS/UEFI │ │ • Alimentée par pile bouton (CR2032) │ │ • Fonctionne serveur éteint │ │ • Peut être en UTC ou heure locale │ │ • Utilisée au démarrage pour initialiser l'horloge système │ └─────────────────────────────────────────────────────────────────────┘ ``` ### Commande hwclock ```bash # Afficher l'heure de l'horloge matérielle sudo hwclock --show # Synchroniser l'horloge matérielle avec le système sudo hwclock --systohc # Synchroniser le système avec l'horloge matérielle sudo hwclock --hctosys # Définir l'horloge matérielle en UTC (recommandé) sudo hwclock --systohc --utc # Définir l'horloge matérielle en heure locale sudo hwclock --systohc --localtime ``` ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ RTC EN UTC vs HEURE LOCALE │ └─────────────────────────────────────────────────────────────────────────────┘ RTC EN UTC (Recommandé) RTC EN HEURE LOCALE ─────────────────────── ──────────────────── ✅ Pas de problème avec ❌ Problèmes avec l'heure l'heure d'été d'été (DST) ✅ Compatible dual-boot ❌ Conflits avec Windows avec Linux (qui utilise l'heure locale) ✅ Standard sur serveurs ❌ Décalages possibles ✅ Cohérent quelle que soit ❌ Dépend du fuseau horaire la configuration ``` --- ## Dépannage ### Problèmes Courants ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ ARBRE DE DÉCISION - DÉPANNAGE │ └─────────────────────────────────────────────────────────────────────────────┘ ┌─────────────────────────┐ │ L'heure est incorrecte │ └───────────┬─────────────┘ │ ┌───────────────────┼───────────────────┐ ▼ ▼ ▼ ┌───────────────┐ ┌───────────────┐ ┌───────────────┐ │ Décalage de │ │ Heure totale- │ │ Heure correcte│ │ quelques │ │ ment fausse │ │ mais mauvais │ │ secondes │ │ │ │ fuseau │ └───────┬───────┘ └───────┬───────┘ └───────┬───────┘ │ │ │ ▼ ▼ ▼ ┌───────────────┐ ┌───────────────┐ ┌───────────────┐ │ Vérifier NTP │ │ Vérifier RTC │ │ Changer le │ │ timedatectl │ │ hwclock --show│ │ fuseau horaire│ │ set-ntp true │ │ │ │ │ └───────────────┘ └───────────────┘ └───────────────┘ ``` ### Commandes de Diagnostic ```bash # Vérifier le statut complet timedatectl status # Vérifier le service NTP systemctl status systemd-timesyncd # Voir les logs de synchronisation journalctl -u systemd-timesyncd # Vérifier l'horloge matérielle sudo hwclock --show # Comparer avec un serveur NTP ntpdate -q pool.ntp.org # Vérifier le fichier timezone cat /etc/timezone # Vérifier le lien localtime ls -la /etc/localtime ``` ### Résolution des Problèmes ```bash # Problème : NTP ne synchronise pas # Solution : sudo systemctl restart systemd-timesyncd sudo timedatectl set-ntp true # Problème : Fuseau horaire ne change pas # Solution : sudo timedatectl set-timezone Europe/Paris sudo systemctl restart systemd-timesyncd # Problème : Horloge RTC décalée # Solution : sudo hwclock --systohc --utc # Problème : Erreur "Failed to set time" # Solution : Désactiver NTP d'abord sudo timedatectl set-ntp false sudo timedatectl set-time "2025-01-25 15:30:00" ``` --- ## Bonnes Pratiques ### Recommandations ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ BONNES PRATIQUES │ └─────────────────────────────────────────────────────────────────────────────┘ ✅ Toujours activer la synchronisation NTP sur les serveurs ✅ Utiliser UTC pour l'horloge matérielle (RTC) ✅ Configurer le bon fuseau horaire dès l'installation ✅ Utiliser des serveurs NTP fiables (Google, Cloudflare, pool.ntp.org) ✅ Vérifier régulièrement la synchronisation (monitoring) ✅ Documenter le fuseau horaire choisi pour l'équipe ✅ Pour les applications critiques, utiliser des timestamps UTC ✅ Synchroniser tous les serveurs d'un cluster sur le même NTP ``` ### Checklist de Configuration ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ CHECKLIST │ └─────────────────────────────────────────────────────────────────────────────┘ [ ] Fuseau horaire correct configuré [ ] NTP activé et synchronisé [ ] Horloge RTC en UTC [ ] Serveurs NTP configurés [ ] Service systemd-timesyncd actif [ ] Vérification : timedatectl montre "System clock synchronized: yes" ``` --- ## Récapitulatif des Commandes ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ AIDE-MÉMOIRE COMMANDES │ └─────────────────────────────────────────────────────────────────────────────┘ ┌────────────────────────────────────────┬────────────────────────────────────┐ │ Commande │ Description │ ├────────────────────────────────────────┼────────────────────────────────────┤ │ timedatectl │ Afficher la configuration │ │ timedatectl list-timezones │ Lister les fuseaux horaires │ │ timedatectl list-timezones | grep X │ Filtrer les fuseaux │ ├────────────────────────────────────────┼────────────────────────────────────┤ │ sudo timedatectl set-timezone X │ Définir le fuseau horaire │ │ sudo timedatectl set-ntp true │ Activer NTP │ │ sudo timedatectl set-ntp false │ Désactiver NTP │ │ sudo timedatectl set-time "..." │ Définir date/heure manuellement │ ├────────────────────────────────────────┼────────────────────────────────────┤ │ date │ Afficher date/heure │ │ date -u │ Afficher en UTC │ │ sudo date -s "..." │ Modifier date/heure │ ├────────────────────────────────────────┼────────────────────────────────────┤ │ sudo hwclock --show │ Afficher l'heure RTC │ │ sudo hwclock --systohc │ Sync système → RTC │ │ sudo hwclock --hctosys │ Sync RTC → système │ ├────────────────────────────────────────┼────────────────────────────────────┤ │ systemctl status systemd-timesyncd │ Statut du service NTP │ │ journalctl -u systemd-timesyncd │ Logs du service NTP │ └────────────────────────────────────────┴────────────────────────────────────┘ ``` --- ## Exemples Pratiques ### Serveur en France ```bash # Configuration complète pour un serveur français sudo timedatectl set-timezone Europe/Paris sudo timedatectl set-ntp true sudo hwclock --systohc --utc timedatectl ``` ### Serveur au Québec ```bash # Configuration pour le Québec sudo timedatectl set-timezone America/Montreal sudo timedatectl set-ntp true timedatectl ``` ### Serveur Multi-Régional (UTC) ```bash # Pour un serveur servant plusieurs régions, utiliser UTC sudo timedatectl set-timezone UTC sudo timedatectl set-ntp true timedatectl ```