# Comment configurer la date et l'heure sous Debian 12 ?
L’horloge est indispensable pour la **planification, la mesure du temps, la synchronisation et la traçabilité** dans un système d’exploitation.
La procédure ci-dessous est réalisée sur un système Debian. Il existe un équivalent pour [[kb-win-timezone-ntp|configurer l'horloge d'un OS Windows]].
Dans l'article ci-dessous, vous découvrirez comment réaliser les actions suivantes :
- [[#Vérifier la configuration de l'horloge]]
- [[#Changer le fuseau horaire (Time Zone)]]
- [[#Changer la date et l'heure]]
- [[#Synchroniser l'horloge automatiquement (ntpsec)]]
> [!danger] Attention !<span style="font-weight: normal; color: var(--text-normal)"> Les outils historiques **`ntpdate`** et **`ntpd`** sont aujourd’hui considérés comme **obsolètes**. Il est préconisé d'utiliser ntpsec à la place.</span>
# Vérifier la configuration de l'horloge
Pour vérifier la configuration actuelle de l'horloge système, utilisez la commande `timedatectl` :
```bash
timedatectl
```
On récupère ainsi plusieurs informations importantes :
- **Heure locale** (heure système avec fuseau horaire)
- **Heure UTC** (heure universelle sans fuseau)
- **Fuseau horaire** configuré (Time Zone)
- **Synchronisation NTP** (activation/désactivation)
Exemple de sortie de cette commande :
![[_img-kb-lnx-timezone-ntp-1.png]]
> [!info] À savoir !<span style="font-weight: normal; color: var(--text-normal)"> Sous les versions récentes de Debian, c’est souvent **systemd-timesyncd** ou **ntpd** qui synchronisent l’heure automatiquement.</span>
>
# Changer le fuseau horaire (Time Zone)
Pour modifier le fuseau horaire de façon interactive, utilisez la commande :
```bash
sudo dpkg-reconfigure tzdata
```
Suivez les étapes pour sélectionner le bon fuseau horaire :
- Sélectionnez le lieu géographique : "Europe"
- Choisissez la ville ou la région : "Paris"
Puis vérifiez à nouveau le fuseau horaire [[#Vérifier la configuration de l'horloge|comme expliqué précédemment]] avec `timedatectl`.
# Changer la date et l'heure
La commande `date` permet d’afficher et de modifier l’heure système. Pour changer l’heure, il faut être **administrateur (root)**. La syntaxe est `sudo date MMDDhhmmYYYY`
Par exemple, pour mettre la date au **18 août 2025 à 11:57** :
```bash
sudo date 081811572025
```
Pour vérifier que la modification a bien été prise en compte :
```bash
date
```
> [!danger] Attention !<span style="font-weight: normal; color: var(--text-normal)"> Cette modification est **temporaire** si votre système utilise un service de synchronisation automatique de l'horloge comme **ntpd** ou **systemd-timesyncd**.</span>
# Synchroniser l'horloge automatiquement (ntpsec)
Le service **ntpsec** est le successeur sécurisé du démon **ntpd** (Network Time Protocol Daemon).
C'est un service qui synchronise automatiquement l’horloge d’un système avec des serveurs de temps de référence afin de garantir une heure précise et cohérente sur le réseau.
## Vérification préalable
Avant de poursuivre, assurez-vous manuellement que la machine est à l'heure [[#Vérifier la date et l'heure actuelle|comme expliqué précédemment]] avec la commande `timedatectl` ou avec la commande `date`.
> [!info] À savoir !<span style="font-weight: normal; color: var(--text-normal)"> La première synchronisation peut échouer si le système client présente un décalage d'horloge supérieur à 5 minutes.</span>
Pour voir si la synchronisation est activée :
``` bash
timedatectl status
```
Regardez la ligne **NTP service** ou **System clock synchronized**. Dans l'exemple ci-dessous, aucun service de synchronisation d'horloge n'est activé :
![[_img-kb-lnx-timezone-ntp-2.png]]
## Installer et configurer ntpsec
Installez le service ntpsec :
```bash
sudo apt update && sudo apt install ntpsec -y
```
Pour vérifier que le service ntpsec est installé et opérationnel, utilisez la commande
```bash
sudo service ntpsec status
```
Voici un exemple de sortie de commande :
![[_img-kb-lnx-timezone-ntp-3.png]]
## Configurer les serveurs de temps fr.pool.ntp.org
Un **serveur de temps (NTP)** est service qui fournit l’heure exacte à d’autres machines pour assurer la synchronisation des horloges sur un réseau.
Par défaut, ntpsec utilise les serveurs NTP `0.debian.pool.ntp.org`, etc.
> [!info] À savoir !<span style="font-weight: normal; color: var(--text-normal)"> Pour un système en France, **fr.pool.ntp.org** est recommandé pour une meilleure précision et résilience réseau.</span>
Éditez le fichier "*ntp.conf*" :
```bash
sudo nano /etc/ntpsec/ntp.conf
```
Dans la section "*Specify one or more NTP servers*", remplacez les serveurs `debian.pool.ntp.org` par :
```bash
pool 0.fr.pool.ntp.org iburst
pool 1.fr.pool.ntp.org iburst
pool 2.fr.pool.ntp.org iburst
pool 3.fr.pool.ntp.org iburst
```
> [!info] À savoir !<span style="font-weight: normal; color: var(--text-normal)"> L'option `iburst` permet un démarrage rapide et initialisation immédiate de la synchronisation.</span>
Voici un exemple du résultat ci-dessous :
![[_img-kb-lnx-timezone-ntp-4.png]]
Pour finir, enregistrez les modifications, fermez le fichier `ntp.conf` puis redémarrez le service ntpsec :
```bash
sudo service ntpsec restart
```
## Tester la synchronisation avec les serveurs NTP
Pour vérifier les serveurs utilisés :
```bash
ntpq -p
```
Pour afficher l'état du service :
```bash
sudo service ntpsec status
```
Pour tester un serveur spécifique (mode test sans modifier l'horloge) :
```bash
sudo ntpsec-ntpdate -q 0.fr.pool.ntp.org
```
Vous pouvez aussi retarder volontairement l’horloge de 3 minutes :
```bash
sudo date --set="$(date --date='3 minutes ago' '+%Y-%m-%d %H:%M:%S')"
```
Ensuite constatez la synchronisation d'horloge à l'aide de la commande `watch` :
```bash
sudo service ntpsec restart && watch date
```
Après quelques secondes, l'heure devrait être de nouveau correcte.
# Conclusion
> [!done] Félicitations ! <span style="font-weight: normal; color: var(--text-normal)"> Vous savez configurer votre horloge sur votre machine Debian ! </span>
Bien que rapide à configurer, cette étape est **cruciale pour la stabilité et la sécurité** de votre système. Vous savez maintenant :
- régler l’horloge **manuellement** (`date`, `timedatectl`) ;
- automatiser la synchronisation avec **NTPsec** et des serveurs publics (`pool.ntp.org`).
Pour une alternative avec **systemd-timesyncd**, consultez l’article sur [IT-CONNECT](https://www.it-connect.fr/configurer-un-client-ntp-sous-linux/).