|
|
Le bogue de l'an 2000 était une série de failles dans les programmes et même de certains composants utilisés en informatiques qui causaient des erreurs dans les traitements des dates après le 1er janvier de l'an 2000. La très grande médiatisation de ce problème sommes toute mineur, a ammené une grande partie de la population mondiale à croirent que des industries critiques (électricité, finances, etc.) et des fonctions du gouvernements pouvait s'arrêter de fonctionner à 00h00, le 1er janvier 2000 et à d'autres dates critiques.
Y2K (Year 2K) fut le sigle anglais pour nommer le problème. Le terme bogue du millénaire a aussi été utilisé, même si, strictement, le nouveau millénaire commence seulement en 2001.
On pensait parfois à raison que les programmes informatiques pouvaient arrêter de fonctionner ou produiraient des résultats erronés. Cela parce que les années étaient stockées avec seulement les deux dernier chiffres. Ainsi, l'année 2000 serait représentée par 00 et ne suivrait pas 1999 (99) dans une séquence numérique. Ceci créeait des comparaisons de données donnant des résultats incorrects. On pensait que les systèmes embarqués, faisant l'utilisation de logique similaire, pourraient ne plus fonctionner, ce qui causerait le disfonctionnement d'outils et d'autres infrastructures cruciales.
On également parlé de bogue de l'an 1999, la séquence « 99 », ayant été parfois utilisée par les programmeurs pour marquer la fin de fichier. Enfin on redoutait également le 29 février de l'année 2000. C'était en effet une année bissextile bien que soit 2000 divisible par 100.
Dans les années précédant 2000, quelques entreprises et gouvernements, lorsqu'ils ont fait des tests pour déterminer les impacts potentiels, ont rapportés que des sytèmes critiques auraient besoin de grandes réparations ou risqueraient des problèmes sérieux. De 1997 à 1998, des estimations incertaines et alarmiste rapportaients à propos d'entreprises et d'industries une faible préparation de l'événement. L'imprécision de ces rapports et l'incertitude des possibilités que le bogue de l'an 2000 se produise ainsi --que des centaines de milliards de dollars soit dépensés dans la correction du problème,-- furent une raison majeure de la peur du public. Des commités spéciaux furent établis par les gouvernements pour analyser les travaux nécessaires pour éviter le bogue, particulièrement pour les infrastructures cruciales comme les télécommunications, afin d'assurer que la plupart des services critiques soient prêts au le 1er janvier. À partir de 1999, même si les mêmes organisations et gouvernements prétendaient être bien préparées, la confiance du public n'y était plus.
Le problème a alors été surxploité par les médias qui y ont sans doute vu un moyen commode d'exprimer les craintes millénaristes diffuses. Certains estiment même que cette psychose aurait été volontairement alimentée par des entreprises informatiques dans le but de pousser les consommateurs et les professionnels à s'équiper de matériel informatique plus récent. Un label « compatible an 2000 » fut créé et attribué aux matériels informatiques censés ne pas souffrir du passage à l'an 2000.
Ce n'est que le passage sans problèmes à l'année 2000 qui a complétement écarté les craintes du public.
| Table of contents |
|
2 La faille composants 3 Aspect économique 4 Lien externe |
La faille des programmes
Le problème de programmation derrière le bogue de l'an 2000 était bien véritable. Dans les années 1960, la mémoire et l'entreposage des données en informatique étaient coûteux et rares, et la plupart des traitements étaient faits sur des cartes à perforer représentant le texte sur des lignes de 80 colonnes seulement. Les langages de programmation du temps, comme le COBOL et le RPG, traitaient les nombres à partir de leur représentation ASCII ou EBCDIC. Ils utilisaient parfois un bit supplémentaire appelé "zone de perforation" pour garder un caractère pour les nombres négatifs, ou compressaient parfois deux chiffres en un sous une forme appelée décimal codé binaire, mais sinon traitaient les nombres comme du texte ordinaire. Au fil du temps, les cartes à perforer furent remplacées par des rubans magnétiques, des fichiers sur disque, puis des bases de données simples comme ISAM, mais la structure des programmes ne changeait habituellement pas beaucoup. Des logiciels populaires ont continué la pratique de stocker les dates comme du texte.Rares étaient les logiciels utilisant les bases de données qui stockaient ou même prenaient en compte les deux chiffres du siécle, ceux-ci étaient presque systématiquement extrapolés.
Économiser deux caractères pour chaque champ de date était jusqu'aux années 90 une économie vitale pour certain systèmes. La plupart des programmeurs du temps ne s'attendaient pas à ce que leurs travaux demeurrent en utilisation durant plusieurs décénies, et ne considèraient donc pas cela comme un problème important.Le problème a été reconnu pour la première fois en 1958 par Bob Bemer par le résultat d'un travail sur un logiciel de généalogie. Il passa les 20 années suivantes à essayer de sensibiliser les programmeurs, IBM, le gouvernement des États-Unis et l'ISO au problème, avec peu de résultats. Ceci incluait la recommendation d'utiliser quatre chiffres dans les clauses PICTURE de COBOL pour les années. Cela aurait pu être fait par les programmeurs à n'importe quel moment à partir de la version initiale du premier compilateur COBOL en 1961. Toutefois, l'indifférence et le manque de vision à long terme a empêché ce conseil d'être suivi. Malgré des articles de magazines sur le sujet à partir de 1970, la majorité des programmeurs ont seulement commencé à reconnaître l'année 2000 comme un problème dans les années 1990, mais même alors, il a été grandement ignoré jusqu'aux toutes dernières années de la décénie.
En pratique le codage des dates sur deux chiffres est toujours utilisé sans grand problèmes en 2003 dans de nombreux systèmes, les programmeurs utilisant des techniques de fenêtrage pour déduire le siècle.
Un problème connexe devrait affecter les systèmes Unix en 2038. En effet ces ordinateurs utilisent le nombre de secondes écoulé depuis le 1er janvier 1970 pour exprimer les dates, et en 2038 le nombre de seconde écoulés devrait dépasser les capacités de stockages des nombres signés sur quatre octets.
Des rustines logiciel furent distribuées pour être mise en place avant le jour fatidique.
Le traitement du bogue de l'an 2000 a créé un important appel d'air sur le marché de l'emploi informatique, d'autant que cette échéance était simultanée à la bulle internet, et en Europe au passage à l'euro. Les sociétés de services en informatique ont alors fortement augmenté leurs effectifs.
La faille composants
Quelques fabricants du circuit faisant fonction d'horloge électronique dans les micro-ordinateur avaient fabriqué des composants se trouvant incapable de stoker ou d'exploiter les deux chiffre du siècle.Ceux-ci était comme pour les programmes extrapolés comme étant 19. Evidement de tels cicuits et par conséquent les micro_ordinateur et leur logiciels, pouvait difficilement passer avec succès le 01/01/2000 sans commettre une erreur d'interprétation de date.
Ceux-ci ce retrouvaient dans nombre de micro-ordinateur vétustes, mais pas seulement. Certain contructeurs peu scrupuleux ou ignorant avaient continué à utiliser ses composants connus comme bogués mais beaucoup moins cher.
Aspect économique
Lien externe