La perspective du passage à l’an 2000 avait mis en exergue un « défaut » de conception des systèmes informatiques. S’il n’a pas eu de conséquences directes, il a coûté plusieurs centaines de milliards de dollars. Mais si ce bug relevait d’un manque d’anticipation sur le format des dates, celui qui va avoir lieu en 2038 risque d’avoir des conséquences bien plus dramatiques.
L’expression du « bug de l’an 2000 » est quelque peu trompeuse. Ce dysfonctionnement informatique, s’il a animé bon nombre de fantasmes, n’est qu’un simple oubli dans le format des dates d’une partie des ordinateurs. En 1960, le stockage des données coûtait cher. Afin d’économiser de la place, le format de l’année en cours fut réduit à son minimum, les chiffres des dizaines et des unités.
Tout cela fonctionna parfaitement jusqu’au jour où le monde changea de siècle. Les deux derniers chiffres ne suffisaient plus à caractériser une date. La communauté internationale se mobilisa à partir de 1995. Si elle dut dépenser plusieurs centaines de milliards de dollars, elle contribua au fait qu’aucun trouble n’eut été à déplorer.
Alors, quel est ce nouveau problème qui menace un monde bien plus connecté qu’à l’aube du deuxième millénaire ?
Comprendre le bug de l’an 2038
Une représentation du temps POSIX est un décompte du nombre de temps écoulé depuis une date choisie, celle du 1er janvier 1970 à 00h00mn00s UTC. On l’utilise afin de calculer et définir le temps dans les systèmes informatiques sans avoir à prendre en compte les paramètres environnementaux inhérents à la date elle-même (fuseaux horaires, années bissextiles, calendrier différents…).
Ce format, très largement répandu, est codé sur 32 bits et équivaut à une valeur maximale de 2 147 483 647. Or, le 19 janvier 2038, à 3h14min7s se seront écoulés 2 147 483 647 secondes depuis le 1er janvier 1970. Le chiffre étant au maximum, il deviendra – 2 147 483 648 la seconde d’après, et l’ordinateur comprendra que nous sommes en 1901.
Il n’y a pas encore de solution universelle à ce problème. Cependant, certains chercheurs s’y penchent déjà. Le noyau Linux, utilisé dans de nombreux systèmes d’exploitation, a sorti un correctif au début de l’année 2020. S’il nécessite plus qu’une simple mise à jour, il permet d’anticiper le problème.
Dans les faits, le fonctionnement des logiciels et systèmes en 64 bits s’est largement démocratisé. S’il devient la norme d’ici 18 ans, ce problème ne paraîtra plus. Coder le temps en 64 bits permettra de durer jusqu’en l’an 292 277 026 596. Cela nous laisserait quelques 292 277 024 millénaires pour s’attaquer au problème.
S’il est une réelle menace pour un monde ultra-connecté, le « bug de l’an 2038 » est largement connu par les concepteurs des systèmes informatiques. Ceux-ci travaillant désormais sur des unités de codage bien plus grandes qu’auparavant. Cela laisse bon espoir de voir venir la menace. Le questionnement de la pérennité des appareils 32 bits d’aujourd’hui se pose tout de même, puisqu’il faudrait non seulement travailler sur les solutions des technologies futures, mais aussi trouver des réponses à l’obsolescence des ordinateurs actuels.
Sources :
- Wikipédia : Bug de l’an 2038
- Unix : l’apocalypse n’aura finalement pas lieu en 2038 pour les systèmes en 32 bits
- Le «bug de l’an 2000» se reproduira en 2038 dans le monde Linux. Mais c’est maintenant qu’il faut s’inquiéter selon Jon Corbet
- Wikipédia : Passage informatique à l’an 2000
- Wikipédia : Heure Unix
2 Replies to “Le « bug de l’an 2038 » : plus fort que celui de l’an 2000 ?”