Le bug de l’an 2020 et ensuite, celui de 2038

Certains d’entre vous se souviennent encore de l’effervescence parfois paranoïaque qui s’est développée à l’approche de l’an 2000. Un gros bug informatique était en effet à prévoir, pas mal de logiciels très anciens remontant aux débuts de l’informatique, mais toujours utilisés, ayant choisi de stocker les dates en n’utilisant que les deux derniers chiffres de l’année pour gagner de la place en mémoire. Du coup, l’année 2000 allait devenir l’année 00, ce qui aurait voulu dire que toutes les opérations basées sur une différence de dates quelle qu’elle soit seraient fausses. Des centaines de milliers de programmeurs ont tout fait pour corriger ces vieux logiciels à temps (certains écrits dans des langages disparus depuis longtemps, pour ne rien arranger). Et le passage à l’an 2000 s’est plutôt bien passé, en particulier sur tout ce qui concerne les transactions bancaires mondiales.

Le problème, c’est que, sur 80 % des ordinateurs, les logiciels modifiés ont juste décalé la source de l’erreur au lieu de vraiment la corriger : il a été décidé de régler l’ambiguïté de la date « 00 » en définissant les années comme allant de façon explicite 1920 à 2019 au lieu de 1900-1999. L’hypothèse très imprudente qui avait été retenue était que les logiciels concernés ne seraient plus du tout utilisés d’ici 2020. Ce qui n’a pas été le cas. Résultat : depuis le 1er janvier, pas mal de caisses enregistreuses (surtout localisées aux USA) se sont mises à débloquer, des parcmètres se sont plantés et, ironiquement, un jeu vidéo intitulé 2020 (nom complet WWE 2K20) n’a plus fonctionné du tout (c’est ballot). Au lieu de l’année 2020, ils ont cru être en 1920, ce qui impacte par exemple la durée pendant laquelle votre voiture est restée garée disons du 31 décembre 2019 au 1er janvier 2020 : environ 100 ans au lieu d’un ou deux jours, ce qui change sensiblement le montant de la note à régler. Corriger à nouveau les logiciels concernés est un cauchemar technique et va prendre du temps (sauf pour le jeu vidéo, qui a très vite trouvé une solution).

Et, vous allez rire, ce n’est pas fini. Une nouvelle date fatidique se profile déjà : le 19 janvier 2038, à 3 heures 14 minutes et 7 secondes, les ordinateurs 32 bits se retrouveront à l’an 1901. La raison est qu’ils ne disposeront plus d’assez de capacité de stockage de date pour dépasser cette date, du fait que sur une large majorité d’ordinateurs, les dates sont calculées à partir de la durée en secondes écoulée depuis le 1er janvier 1970, date arbitraire choisie comme référence depuis des décennies. Ce qui fera exactement 2 147 483 647 secondes, plus grand nombre positif possible sur 32 bits, au 19 janvier 2038 à l’heure dite. On croise les doigts pour qu’il n’existe plus un seul PC 32 bits d’ici là…

Très belle journée à vous

(Cette note est basée sur un article paru dans 20 Minutes)

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *