On connaissait déjà le bug de l'an 2000 anticipé lors des années 80. On se retrouve à peu prêt dans la même situation, avec un nouveau bug général de nos chers ordinateurs, cette fois-ci prévu pour 2038 ! D'ailleurs, on sait même très précisément quand il aura lieu. Il va arriver le 19 janvier 2038, à 3 heures, 14 minutes et 7 secondes en se calant sur le temps universel.
Comment le sait-on ? La réponse se trouve dans la façon dont est conçue la norme "POSIX" qu'utilisent énormément de logiciels et de systèmes d'exploitation. Dans cette fameuse norme "POSIX", la date est calculée en comptant le nombre de secondes écoulées depuis le 1er Janvier 1970 à minuit. Jusque là, tout va bien.
Le problème réside dans la façon dont est traduite cette date pour l'ordinateur. La machine utilise le binaire pour calculer sa date, c'est à dire une série de caractères (appelés "bits") pouvant valoir 0 ou 1. Dans la norme "POSIX", une date est représentée sur 32 bits, et ne peut pas donc dépasser la valeur binaire de 01111111 11111111 11111111 11111111. En valeur décimale (celle que nous utilisons tous), cela signifie 2 147 483 647.
Source photo : reddit
Tout ça pour dire que les logiciels utilisant cette norme ne pourront pas "comprendre" une date située 2 147 483 647 secondes après le 1er janvier 1970 à minuit. Et justement, cette date sera atteinte le 19 janvier 2038, à 3 heures, 14 minutes et 7 secondes. Une seconde plus tard, elle prendra une valeur négative en binaire, et nos ordinateurs nous afficheront la date du 13 décembre 1901.
Rien de bien grave, même si les conséquences d'un tel bug sont assez aléatoires. Reste à voir si il existe un moyen de le contourner. Il nous reste 22 ans !
Si cet article vous a plu, n'hésitez pas à le partager !
Bonus vidéo : Une source inconnue se prépare à détruire internet !
COMMENTER AVEC FACEBOOK