Le 19 janvier 2038, à 3h 14 min et 7 sec (heure universelle), le monde risque gros. À l'heure où les systèmes informatiques sont omniprésents, des milliards de machines risquent un dysfonctionnement majeur. Systèmes bancaires, transport, santé... ces domaines pourraient être touchés par cette panne de grande ampleur qui se profile.
Vers une planète à l'arrêt dans 12 ans ? Le monde de l'informatique pourrait être mis à mal le 19 janvier 2038, à 3h 14 min et 7 sec (heure universelle), à cause du programme utilisé pour développer les appareils électroniques. Afin de passer le deuxième millénaire sans encombre, des pays du monde entier avaient dépensé des centaines de milliards (150 milliards d'euros juste pour l'Europe) pour trouver une solution et modifier les programmes informatiques, afin que tout rentre en ordre.
Pourquoi un tel problème ?
Ces machines répondent à un programme qui mesure le temps avec un nombre entier codé sur 32 bits (soit 0, soit 1, sur 32 chiffres à la suite). Initialement, de nombreux systèmes respectent la représentation POSIX du temps, c'est-à-dire que pour se repérer dans le temps, le décompte a commencé le 1er janvier 1970 à minuit.
Le problème étant que celui-ci s'arrête 2.147.483.647 secondes plus tard, ce qui nous amène au 19 janvier 2038, à 3h 14 min et 7 sec (temps universel).
Quels risques ?
Les appareils critiques ou sensibles, tels que les appareils médicaux, les satellites ou les systèmes bancaires ne peuvent pas se permettre de dysfonctionnement sur la durée. Si les programmes sont modifiés, ces appareils pourraient être victimes de pannes massives : des satellites perdus dans l'espace, des réseaux bancaires gelés, des transports bloqués, des capteurs de maison désactivés...
Au Japon, Kenji Kono, professeur en informatique à l’université de Keio, a mené l’étude sur 32.921 projets programmés en langage C et publiés sur la plateforme GitHub, entre 2012 et 2018 : 7,35 % d’entre eux étaient vulnérables au bug de 2038 et, suivant les programmes, les différents effets étaient suffisamment dangereux pour entraîner des plantages de systèmes logiciels.
Quelles solutions à l'heure actuelle ?
Pour s'y prémunir, une solution en apparence simple serait de modifier les programmes, afin qu'ils opèrent en 64 bits, ce qui rendrait la date butoir à...292 milliards d'années.
Mais il y a un problème : si les programmes sont modifiés en 64 bits, il faut également que le matériel soit compatible, ce qui n'est pas le cas actuellement avec un risque de panne, arrêt ou erreur. Quelques exceptions sont à noter cependant, comme avec Apple par exemple qui, dès 2015, a annoncé préparé ses appareils et logiciels, ce qui montrerait que la tâche ne soit pas impossible.
Pour l'instant, les solutions n'ont pas été trouvées pour bon nombre de secteurs qui ne se sont pas penchés sur la question (ou du moins ne l'ont pas communiqué).