Atlantico, c'est qui? c'est quoi ?
Lundi 11 Décembre 2017 | Créer un compte | Connexion
Extra

Code informatique : vous avez craint le bug de l’an 2000, attendez de voir celui de 2038

Le 1er janvier 2000, les systèmes informatiques ont fait face à une erreur systémique qui a, somme toute, réinitialisé une boucle temporelle. Ainsi, les horloges des différents ordinateurs dans le monde qui n'avaient pas été actualisées ont été réinitialisées, occasionnant un certain nombre de problèmes. Or, en 2038 se produira une erreur du même ordre, toujours basée sur la représentation informatique du temps.

Crash généralisé

Publié le - Mis à jour le 30 Mai 2014
Code informatique : vous avez craint le bug de l’an 2000, attendez de voir celui de 2038

Le premier janvier 2000, les systèmes informatiques ont fait face à une erreur systémique qui a, somme toute, réinitialisé une boucle temporelle.  Crédit Reuters

Atlantico : En l'an 2000 est survenu un bug informatique, qui tenait davantage de l'erreur systémique que du bug. Le 1er janvier 2000 était codé de la même façon que le 1er janvier 1900, et plutôt que de passer à un nouveau millénaire, la base de données des ordinateurs se réinitialisait et redémarrait une boucle. Aujourd'hui, le temps est affiché au travers des systèmes de 32bits, dont la limite temporelle est fixée à 2038. Quels sont, concrètement, les risques ? Faut-il s'attendre à ce que la boucle redémarre de nouveau ?

Jean-Gabriel Ganascia : Ce n'est pas tout à fait le même problème, bien que ça y ressemble. En fait, le soucis que l'on pourrait rencontrer en 2038 est bien plus spécifique à une notation interne utilisée par certains systèmes informatiques. Le bug de l'an 2000 venait du fait que beaucoup d'éléments étaient basés sur le siècle, dans leur notation. On utilisait, notamment, les deux derniers chiffres de l'année pour la distinguer. Ici, dans le "bug de l'an 2038", tout repose sur la méthode de représentation interne de la date, nommée timestamp, qui peut est généralement représentée au travers de mots de 32 bits signés.

Cette notation reprend le nombre de secondes écoulées depuis le 1er janvier 1970. En considérant la façon dont est calculé le timestamp, lorsqu'on arrivera en 2038 la zone de 32 bits réservée sera dépassée et la boucle reprendra à zéro.  Le calcul est assez complexe, mais concrètement on multiplie le nombre d'années écoulées – 68 ans entre 1970 et 2038 – que l'on multiplie d'abord par le nombre de jours durant l'an, 365, puis par le nombre d'heures dans une journée et enfin par le nombre de secondes dans une heure. On tombe sur un nombre démentiel, que l'on peut globalement assimiler à 2 exposant 31, à partir de quoi la boucle redémarre. Bien évidemment, depuis la mise en place de ce système, un certain nombre d'arrangements ont été fait, donc il est possible que certaines erreurs viennent se glisser, mais c'est à cet ordre de grandeur qu'il faut s'en tenir. Et il y aura nécessairement un moment où un débordement surviendra, ce qui peut évidement poser problème si on n'y prend pas garde.

Pour autant, 2038, c'est loin d'être tout proche et d'ici 24 ans, il est plus que probable que l'on soit passé sur des machines plus performantes, qui compteront le temps en 64 bits. Dès lors, le problème ne devrait plus exister. D'autant plus que l'on cherche toujours à améliorer nos capacités mémorielles, ce qui entraîne nécessairement un passage à 64 bits, ou plus, le système 32 bits étant limité à des fichiers de 4Go. 

Dans le cadre du bug de l'an 2000, il avait fallu mettre à jour l'ensemble des logiciels et des périphériques. Cela devrait-il arriver aujourd'hui ? Le nombre d'ordinateurs ayant largement augmenté, quelle serait l'ampleur du phénomène ?

C'est indéniable. Cependant, en l'an 2000, on commençait d'ores et déjà à voir des ordinateurs un peu partout ! Ceci étant, il est plus que probable que d'ici la date fatidique, une large partie du parc des ordinateurs soit amenée changer naturellement, à mesure que les utilisateurs et internautes changent de machines. Finalement, ne seraient concernés que les ordinateurs dont le système d'exploitation aurait conservé cette représentation du temps que nous présentions tout à l'heure, en 32 bits. C'est, par ailleurs, une des premières différences avec le bug de l'an 2000 : on avait alors affaire à une représentation lisible du temps, tandis qu'il est ici question de représentation interne, qui ne concerne que le système d'exploitation.

 
Commentaires

Nos articles sont ouverts aux commentaires sur une période de 7 jours.
Face à certains abus et dérives, nous vous rappelons que cet espace a vocation à partager vos avis sur nos contenus et à débattre mais en aucun cas à proférer des propos calomnieux, violents ou injurieux. Nous vous rappelons également que nous modérons ces commentaires et que nous pouvons être amenés à bloquer les comptes qui contreviendraient de façon récurrente à nos conditions d'utilisation.

  • Par LouisArmandCremet - 27/05/2014 - 13:28 - Signaler un abus Autres bugs..

    Il y a parfois des autres bugs non préus comme celui de l'an 2010 où en Allemagne, 1/3 des cartes bancaires se sont retrouvées désactivées. il s'agissait d'un collatéral du bug de l'an 2000, la rustine mise en place ne fonctionnait que 10 ans !

Pour commenter :

Depuis son lancement Atlantico avait fait le choix de laisser ouvert à tous la possibilité de commenter ses articles avec un système de modération a posteriori. Sous couvert d'anonymat, une minorité d'internautes a trop souvent détourné l’esprit constructif et respectueux de cet espace d’échanges. Suite aux nombreuses remarques de nos lecteurs, nous avons décidé de réserver les commentaires à notre communauté d’abonnés.

Jean-Gabriel Ganascia

Jean-Gabriel Ganascia est professeur à l'université Pierre et Marie Curie (Paris VI) où il enseigne principalement l'informatique, l'intelligence artificielle et les sciences cognitives. Il poursuit des recherches au sein du LIP6, dans le thème APA du pôle IA où il anime l'équipe ACASA .
 

Voir la bio en entier

Je m'abonne
à partir de 4,90€