Introduction
- 1 - Le " Bug de l'an 2000 " Doit-on en avoir peur ?
- 2 - Origine du mot " Bug "
- 3 - Pourquoi le "Bug de l'an
2000"
Cliquer ici pour revenir au Home
Page
- 1 -
Le
" Bug de l'an 2000 " Doit-on en avoir peur ?
A l'approche de l'An 2000, les frayeurs que nos ancetres connurent il y
a 1000 ans ressurgissent. S'il est vrai que des catastrophes naturelles
(tremblements de terre, eruptions volcaniques, collisions avec des corps
celestes,...) sont possibles a tout moment, pour elles et pour l'histoire
de l'Univers, le premier janvier de l'An 2000 ne signifie rien ; nous ne
risquerons donc pas davantage notre vie ce jour la, du moins, pas pour
ces raisons. Malgre cela, cette fois, les craintes sont justifiees : ce
n'est plus le ciel qui risque de nous tomber sur la tete, mais nos ordinateurs
qui risquent d'agir de facon imprevisible lors du passage du 31/12/1999
au 01/01/2000 (et peut-etre meme plus tot...).
Tout a commence avec l'informatique dans les annees soixante : la memoire des ordinateurs etait une denree rare et couteuse (une memoire de 32 kilo-octets et des disques de moins d'un mega-octet etaient alors consideres comme standards). Certaines de ces machines ne possedaient comme "memoires externes" que des bandes magnetiques, voire des rubans perfores...Il fallait donc économiser.
Notons au prealable, que par abus de langage, nous appelerons par la suite pseudo-numero de siecle les deux premiers chiffres d'une annee alors qu'en toute generalite, ceux-ci ne designent veritablement le siecle que pour les annees seculaires (c'est-a-dire divisibles par 100) dont la representation decimale contient exactement quatre chiffres : ainsi, l'annee 1900 appartient encore au dix-neuvieme siecle, alors que 1901 est la premiere annee du vingtieme siecle.
Tout invitait a economiser l'usage qui etait fait des octets, tant en memoire centrale que sur les disques. Or, quoi de plus naturel, lorsque l'on redige une lettre ou remplit un cheque, que de rendre implicite le pseudo-numero du siecle (par exemple, 20/03/97 pour 20/03/1997) ? Alors pourquoi ne pas etendre et systematiser cette methode (pratiquee donc anterieurement a l'apparition des ordinateurs) ?
La majorité des systèmes informatiques utilisent deux caractères pour identifier l'année. Selon vous, 00 réfère à l'an 1900 ou à l'an 2000 ?
Les systèmes développés dans les années 70 et 80, reposent sur des programmes qui ont été conçus pour être le plus court possible car le temps machine coûtait très cher. Le temps économisé à ne programmer que 2 chiffres au lieu de 4, par exemple 98 plutôt que 1998, était primordial. À l'échelle planétaire, des centaines de milliards de dollars ont ainsi été économisés. Personne ne croyait à cette époque, que ces mêmes systèmes seraient encore utilisés à l'aube de l'an 2000.
Mais le bogue ne se limite pas à l'informatique. Des milliards de petites puces (processeurs intégrés aux équipements) risquent de mal fonctionner car 3 puces sur 4 comportent une horloge interne non conforme au 21ième siècle. Puisqu'il est extrêmement difficile de répertorier ces puces dans les différents équipements, le problème des processeurs intégrés pourrait bien s'avérer plus important que celui des programmes informatiques.
- 2 - Origine du mot " Bug "
L'origine du mot " bug " pour parler des
problèmes informatiques n'est pas clairement établie. Voici
les explications j'ai recensés :
L'amirale Grace Murray Hopper, pionnière dans le domaine de l'informatique, aimait raconter qu'en 1945, un technicien avait résolu un problème dans une machine en retirant un papillon de nuit long de 2 pouces coincé dans un relais. Depuis, le mot " bug " a été utilisé pour désigner les problèmes dans le domaine de l'informatique.
Le carnet de bord dans lequel cet incident a été
relaté, ainsi que le papillon de nuit qui l'aurait causé,
ont été enregistrés dans les Annales de l'histoire
de l'informatique (" Annals of the History of Computing ", Vol. 3 No. 3,
July 1981, pp. 285-286). Cependant à la lecture de ce texte, datant
du 9 septembre 1947, on comprend que le mot " bug " était déjà
utilisé auparavant. Mais, pour la première fois, il était
illustré par un vrai insecte !
.
À l'époque de Thomas Edison, à
la fin du 19e siècle, on utilisait le mot bug pour désigner
des problèmes électriques ou télégraphiques.
Dans un manuel d'électricité datant de 1896 (" Hawkin's New
Catechism of Electricity ", Theo. Audel &Co.), on retrouve la note
suivante : " Le terme " bug " est utilisé de façon limitée
pour désigner un défaut ou un problème dans les connections
ou le fonctionnement des appareils électriques … on attribue son
origine à la télégraphie en quadruplex, il a ensuite
été appliqué à tous les appareils électriques
". Par la suite, le mot " bug " a été utilisé par
les compagnies de téléphone pour expliquer la friture sur
les lignes, causée par des insectes. De même, on utilise parfois
en français l'expression " parasites sur les lignes ".
.
À l'époque de Shakespeare, le mot
" bug " désignait déjà des " objets effrayants, des
spectres marchants " (1ère édition du Dictionnaire de Samuel
Johnson). Cette utilisation proviendrait d'un mot gallois "bugbear" qui
désignait des monstres mythologiques. Ces monstres ont récemment
été réintroduits dans notre vocabulaire par l'intermédiaire
des jeux de rôles fantastiques.
- 3 - Pourquoi
le "Bug de l'an 2000"
Depuis des siècles, la notation des années s'est réduite
à l'utilisation de deux chiffres.
De façon quasi universelle, chacun comprend
que 01/12/98 correspond au 1er décembre 1998.
L'inconvénient est qu'il en est de même
pour la plupart des ordinateurs et des logiciels.
Le problème est tout simplement mathématique (langage compris par les ordinateurs). Les ordinateurs et les logiciels utilisent généralement deux chiffres pour les années, tant lors du stockage qu'à l'affichage des informations. Lors du passage à l'an 2000, les données dont vous disposerez seront à cheval sur deux siècles. Pour cette raison, il faut utiliser quatre chiffres pour différencier les années de ces deux siècles, les trier, effectuer des calculs… Chacun comprend très rapidement que 00 fait référence à l'an 2000 et que 95 se rapporte à l'année 1995. Devant une telle évidence, il est très probable que le format de date affiché à l'écran restera à deux chiffres. En revanche, le mode de stockage et de calcul des dates doit changer.
L'utilisation
d'un format à deux chiffres est suffisant tant que les dates appartiennent
à un même siècle. Or, lors du passage à l'an
2000, des problèmes de calcul surviendront si les ordinateurs n'utilisent
pas quatre chiffres pour les années. Par exemple, lorsqu'un ordinateur
devra soustraire 06/01/95 de 06/01/05 pour déterminer l'âge
d'une personne, un ordinateur utilisant deux chiffres uniquement trouvera
un résultat incorrect de -90 au lieu de 10.
En quoi le passage à l'an 2000 constitue-t-il un problème qu'il est si urgent de résoudre ?
L'an 2000 est une date-clé puisqu'elle ouvre les portes d'un nouveau millénaire. Pour l'informatique, elle est de première importance car à la seconde près ou nous changerons de millénaire, les ordinateurs du monde entier testeront la compatibilité avec le passage à l'an 2000. L'urgence d'une adaptation des ordinateurs et des logiciels au passage à l'an 2000 vient du fait que cette échéance ne peut pas être repoussée. Le fait de retarder les horloges n'apporterait en effet aucune solution car les données perdraient toute leur fiabilité.
Les ordinateurs et logiciels prendront-ils correctement en charge ce passage à l'an 2000 ? Ou bien vont-ils soudainement se tromper dans le calcul des dates et reconfigurer l'horloge des ordinateurs sur une date qui n'aura de sens que pour les seuls développeurs, comme le 1er janvier 1990 ou le 4 janvier 1980 par exemple ? Ou pire encore, les ordinateurs vont-ils tout simplement s'arrêter de fonctionner ? Toutes ces éventualités sont à envisager. Ce problème est d'autant plus considérable qu'il concerne tout aussi bien les sphères publiques politique ou économique que les utilisateurs individuels.
A titre
d'exemple, les agences gouvernementales des Etats-Unis estiment qu'elles
devront, pour cette raison, investir 2,3 milliards de dollars entre 1996
et 2000 pour permettre à leurs systèmes informatiques d'être
prêts lors du passage à l'an 2000. La résolution de
ce problème est à ce jour l'exemple le plus large de coopération
international. A cet égard, la prise en charge du passage à
l'an 2000 pour tous les systèmes informatiques sera en soi un événement
à célébrer.
Quel sont les problèmes informatiques liés au passage à l'an 2000 ?
Si le problème du passage à l'an 2000 se pose aujourd'hui, il est directement issu d'une décision prise il y a dix ou vingt ans par les ingénieurs et les informaticiens. Tous étaient bien sûr conscients de l'imminence du changement de millénaire, mais ils pensaient alors que la durée de vie de leurs produits ne dépasserait pas cinq à dix ans. Le matériel devient rapidement obsolète et les logiciels sont régulièrement mis à jour (à cette époque, environ une nouvelle version par an était mise sur le marché). D'autre facteurs ont, dès cette époque, favorisé l'utilisation d'un format d'année à deux chiffres. La zone d'affichage de l'écran a toujours été d'une importance capitale. La méthode standard de notation des dates (à la main ou sur des formulaires pré-imprimés) utilisait également les deux derniers chiffres de l'année. Pour toutes ces raisons, et d'autres encore liées aux contraintes de stockage des dates, les informaticiens ont opté pour une représentation à deux chiffres des années (ainsi 93 correspond à 1993, 86 à 1986, etc.).
Tous les ingénieurs
étaient alors persuadés que leurs produits ne seraient plus
d'actualité en l'an 2000. Ce que ces ingénieurs n'avaient
pas prévu, c'est que les méthodes standard de stockage des
dates qu'il n'avaient pas envisagé que, pour des raisons de coûts,
leur matériel et leurs logiciels seraient toujours utilisés
bien après leur mise sur le marché. Ils n'imaginaient pas
non plus que l'utilisation d'une notation à deux chiffres entraînerait
une réaction en chaîne impliquant l'anticipation de la compatibilité
et, par conséquent, un arrêt en matière d'innovation
qui obligerait un jour les ingénieurs à rechercher et à
corriger dans le monde entier le moindre matériel ou logiciel ne
prenant pas en charge le passage à l'an.2000