Page d'accueil encyclopedie-enligne.com en page d'accueil
Liste Articles: [0-A] [A-C] [C-F] [F-J] [J-M] [M-P] [P-S] [S-Z] | Liste Catégories | Une page au hasard | Pages liées

Bogue de l'an 2000


Le bogue de l'an 2000 était une série de failles dans les programmes et même de certains composants utilisés en informatique 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 somme toute mineur, a amené une grande partie de la population mondiale à croire que des industries critiques (électricité, finances, etc.) et des fonctions du gouvernement pouvaient 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.

Sommaire

Description

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 derniers 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éerait 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 dysfonctionnement d'outils et d'autres infrastructures cruciales.

On a é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é 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 alarmistes rapportaient à 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 soient dépensés dans la correction du problème,-- furent une raison majeure de la peur du public. Des comité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 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é surexploité 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.

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écennie.

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. Sur les variantes d'Unix représentant ce nombre de secondes avec des entiers non-signés, ce qui pour des raisons techniques est peu fréquent, le probléme se posera en 2106. Pour éviter ce problème il faut stocker la date sur un plus grand nombre de bits, usuellement avec l'arrivé de processeurs 64 bits, ce passage sur 64 bits permet de stocker des dates à plus de 250 milliards d'années dans le futur.


La faille des composants

Quelques fabricants du circuit faisant fonction d'horloge électronique dans les micro-ordinateurs avaient fabriqué des composants incapables de stocker ou d'exploiter les deux chiffres du siècle. Ceux-ci valaient 19 par défaut, comme pour les programmes extrapolés. Évidemment, de tels cicuits, et par conséquent les micro-ordinateurs et leurs logiciels, pouvaient difficilement passer avec succès le 01/01/2000 sans commettre une erreur d'interprétation de date. Ceux-ci se retrouvaient dans nombre de micro-ordinateurs vétustes, mais pas seulement ceux-là. Certains constructeurs peu scrupuleux ou ignorants avaient continué à utiliser des composants connus comme bogués mais beaucoup moins chers.

Des rustines logicielles furent distribuées à l'envi pour être mises en place avant le jour fatidique.

Aspect économique

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.

Lien externe

Portail Informatique et Internet - Accédez d'un seul coup d’œil à toute la série des articles de Wikipédia concernant l'Informatique et Internet.


This site support the Wikimedia Foundation. This Article originally from Wikipedia. All text is available under the terms of the GNU Free Documentation License Page HistoryOriginal ArticleWikipedia