LE BUG DE L'AN 2038


Le bug de l'an 2038, n'est pas le premier un bug informatique, il y a le plus connu est le bug de l'an 2000. A l'époque où les premiers programmes informatiques sont écrits la mémoire coutait extrêmement chère.Donc les programmeurs essayaient au maximum de l'économiser allant jusqu'à retirer 2 chiffres lors du codage de la date. La date etait compacté en 6 chiffres jours, mois, deux derniers chiffres de l'année(31/12/99). Ce n'était pas un problème lorsque l'on était encore dans les années 1900 mais passé l'an 2000 cela aurait posé problème, puisque les logiciels n'auraient pas distingué les "00" correspondant à celui de 2000 des "00" de 1900, faisant retourner tous les ordinateurs et logiciels en 1900. Cela entraina une panique terrible dans le monde entier qui voyait déjà la fin du monde par l'explosion d'usines ou autres scénarios encore plus fous et effrayants. Heureusement, les sytèmes d'informations ont été remplacé par des logiciel adéquats (codant la date avec 8 chiffres 31/12/1999), mais qu'en sera-t-il pour le bug 2038?

EXPOSITION DU BUG L'AN 2038

Le 19 janvier 2038 à 03h14:07, un énorme bug causera un dysfonctionnement des systèmes d'information, entrainant un dérèglement des ordinateurs ou autres appreils connectés.

LES CAUSES DE CE BUG

Tous les ordinateurs tractent le temps en utilisant un système de repésentation du temps,l'UNIX (ou timestamp), qui compte les secondes depuis le 1er janvier 1970(date de création), en utilisant un language de 32 bits. Le problème avec le temps unix est sa limitation, le chiffre maximmum supporté par ce système est 2 147 183 647 (secondes) qui correspond au 1eer janvier 2038 à 3h14:07.

LES CONSEQUENCES LIEES

De ce fait, à la date fatidique le logiciel de 32 bits restaurera la date du 13 décembre 1901. En effet, le 13 décembre 1901 et non pas le 1er janvier 1970 qui est la date création du temps UNIX. Il faut comprendre que en temps UNIX cette date correspond à -2 147 183 647, ayant atteint sa limite le temps passe au négatif allant alors en dessous de 0 avant même la date de création de l'UNIX. Etant basé sur du binaire, on voit que 2 147 183 647 se lit aussi: 01111111 11111111 11111111 11111111, alors la seconde qui suivra fera se déplacer le zéro : 10000000 00000000 00000000 00000000, rendant le temps incorrect et négatif. Cela aura donc de lourdes conséquences sur le monde de l'informatique au niveau:

-des clés USB qui utilise le temps en 32 bits
-des fichiers ZIP
-des bases de donnés
-des logiciels
-des languages comme SQL et Php utilisés sur des centaines de millions de sites web
Ce bug entrainera un faussement de billions de données enregistrées, ce qui soulève une question importante, comment éviter ce désastre?

LES SOLUTIONS ENVISAGEABLES

Afin d'éviter toutes ces retombés,il n'existe pas solutions faciles puisque par exemple les appareils comme les voitures ou encore le four à micro-ondes ont des systèmes embarqués,qui sont fabriqués de manière à fonctionner en autonomie, c'est-à-dire sans nécéssiter de mise à jour de logiciel, ne pourront pas être modifier. Contrairement aux appareils connectés qui peuvent eux être mis à jour avec un logiciel. On pourrait faire passer les sytèmes de date d'entier de 32 bit signé en sytème d 'entier de 32 bit non-signé repoussant la date butoir du prochain bug à 2106 mais pour tous les systèmes qui datent d'avant 1970 auront des problèmes à accéder aux données. Il est aussi possible d'augmenter le stockage de données de 32 à 64 bits repoussant la date du prochain bug à l'an 292 277 026 596 mais ici encore il y auraient un problème de compatibilité de stockage avec les systèmes plus anciens qui utilisent encore le stockage de données de 32bit.

CONCLUSION

Enfin, il n'y a pas de solutions universelles, même les solutions les plus évidentes et connues ont des problèmes sur certains points. Toutefois , il y a de bonnes nouvelles les nouveaux appareils électroniques sont fabriqués en utilisant le systeme de stockage de 64bit repoussant le prochain bug à l'an 292 277 026 596 à 15:30:08s,le dimanche 4 décembre. Ce bug est bien connu et est étudié par de nombreux ingénieurs qui trouveront rapidement une solution à ces problèmes.

VOCABULAIRE


Language binaire: le language binaire aussi appelé code binaire est un système de numération utilisant la base 2 avec un nombre exprimé sous forme de série de 0 et de 1.

Systeme d'exploitation: Le systeme d'exploitation est un ensemble de programmes permettant de faire fonctionner et contrôler un appareil informatique.

Timestamp: Le timestamp représente le nombre de seconde qui s'est écoulé depuis le 1er janvier 1970 (début de l'heure UNIX).

Unix: L'heure Unix ou heure Posix (aussi appelée Unix timestamp) est une mesure du temps basée sur le nombre de secondes écoulées depuis le 1er janvier 1970 00:00:00 UTC,

QUIZZ

Quizz du bug de l'an 2038

Quelle est la conséquence possible suite au bug :
Les telephones exploseront
Internet n'existera plus
Les sites ne fonctionneront plus

Que signifie UNIX :
un logiciel
un système d'exploitation multi-couches
un réseau social

Quelle date est prévu pour ce bug ?
Le 19/01/2038
Le 10/08/2038
Le 22/12/2038


ANNEXE


Aller sur Google

Aller sur Google

Aller sur Google