Comprendre le bug de l'an 2038
Le bug de l'an 2038 est un problème informatique connu, lié à la façon dont de nombreux systèmes mesurent le temps.
Le temps Unix
De nombreux systèmes informatiques comptent le temps comme le nombre de secondes écoulées depuis une date de référence : le 1er janvier 1970.
L'epoch Unix
Cette date de référence — le 1er janvier 1970 à minuit UTC — s'appelle l'epoch Unix. C'est le « temps zéro » des ordinateurs.
Le timestamp
Le nombre de secondes depuis l'epoch s'appelle un timestamp (horodatage). C'est un grand entier qui augmente de 1 chaque seconde.
Le stockage sur 32 bits
Historiquement, ce nombre est stocké dans un entier signé sur 32 bits, capable de représenter des valeurs limitées.
La limite des 32 bits
Un entier signé sur 32 bits ne peut pas dépasser $2^{31} - 1$, soit 2 147 483 647.
La date fatidique
Ce nombre maximal de secondes sera atteint le 19 janvier 2038. Au-delà, le compteur ne peut plus augmenter normalement.
Le débordement
Quand le compteur dépasse sa valeur maximale, il « déborde » : il bascule vers une valeur négative. C'est le cœur du bug.
L'effet du débordement
Un système touché interpréterait alors la date comme se situant en 1901, et non en 2038.
Un cousin du bug de l'an 2000
Le bug de 2038 rappelle le bug de l'an 2000 : dans les deux cas, une représentation trop courte du temps atteint sa limite.
Un problème connu et anticipé
Contrairement à une catastrophe surprise, le bug de 2038 est identifié de longue date et largement anticipé.
Pourquoi s'y intéresser
Comprendre ce bug aide à saisir comment les ordinateurs mesurent le temps et pourquoi le choix des formats compte.
Conclusion
Le bug de l'an 2038 vient de la limite des entiers 32 bits utilisés pour compter les secondes depuis 1970. Notre Calculatrice du bug Unix 2038 illustre ce décompte.
🧮 Utilisez l'outil : Calculatrice du bug Unix 2038 — calcul instantané avec explication pas à pas.