Quelqu'un lève un appareil photo vers le panneau d'accueil de l'École Centrale de Nantes. Il est 12 h 09, le 3 janvier 2000. Des lettres rouges sur fond noir : « Bienvenue à l'École Centrale de Nantes, 12 heures 09, 3 janvier 1900. » Trois jours plus tôt, les avions devaient tomber, les banques planter, les centrales s'emballer. Et voilà le désastre : un afficheur de hall qui a reculé d'un siècle. Entre ce panneau et la décision, prise quarante ans plus tôt, d'écrire les années sur deux chiffres, il y a quelque chose comme 300 à 600 milliards de dollars.
Deux chiffres pour économiser des bits
Dans les années 1960, la mémoire se paie au bit : les mémoires à tores coûtent de l'ordre d'un dollar le bit, et un IBM 1401 se livre avec 2 kilooctets. Alors on stocke « 65 » plutôt que « 1965 », et le siècle est sous-entendu. Le piège se referme à la soustraction : pour calculer un âge, un intérêt, un délai, le programme fait 00 moins 99 et obtient -99. Rien ne se voit tant que le calendrier reste dans les années 1900. Alan Greenspan, patron de la Réserve fédérale, l'a raconté devant le Congrès en 1998 :
Je suis l'un des coupables qui ont créé ce problème. J'écrivais ces programmes dans les années 1960 et 1970, et j'étais fier d'avoir grappillé quelques cases de mémoire en n'écrivant pas le 19 devant l'année.
Quelqu'un avait prévenu. Bob Bemer, qui avait siégé au comité de l'ASCII et à celui dont est sorti COBOL, publie « What's the Date ? » en 1971 dans le Honeywell Computer Journal, puis « Time and the Computer » en 1979 dans Interface Age. Rien ne bouge. L'an 2000 est à vingt ans, et les programmes, pense-t-on, ne vivront pas si longtemps. Ils ont vécu.
Doomsday 2000, trois pages dans Computerworld
Le 6 septembre 1993, Peter de Jager, un Canadien né en Afrique du Sud, signe trois pages dans Computerworld. Titre : « Doomsday 2000 ». Il chiffre la remise en état entre 50 et 70 milliards de dollars, et se trompe d'un ordre de grandeur, par en dessous. Au milieu des années 1990, le cabinet Gartner lâche le chiffre qui fera le tour des conseils d'administration : entre 300 et 600 milliards de dollars pour le monde.
En 1996, la correction est estimée à 1 ou 2 dollars par ligne de code sur grand système, avec 4 dollars annoncés pour 1998, faute de bras. Il faut des gens qui lisent le COBOL, et les universités l'enseignent de moins en moins. En juillet 1998, Government Executive décrit « des centaines, peut-être des milliers » de programmeurs COBOL retraités « délogés de leur retraite sous des climats plus ensoleillés » et ramenés au bureau à prix d'or.
Un tsar, un sénat, 8 milliards
Le 4 février 1998, Bill Clinton crée par décret le President's Council on Year 2000 Conversion et le confie à John Koskinen. Le Sénat se dote d'une commission spéciale, présidée par Robert Bennett avec Christopher Dodd comme vice-président.
Les tests, eux, ne rassurent pas. À la mi-1997, Chrysler avance les horloges de son usine de Sterling Heights au 31 décembre 1999 : le système de sécurité se verrouille, plus moyen d'entrer ni de sortir, et les pointeuses ne permettent plus de payer qui que ce soit, racontera le PDG Robert Eaton. Le budget fédéral américain finira à 8,34 milliards de dollars, dont 3,6 milliards pour le seul Pentagone et ses 7 600 systèmes. Le ministère du Commerce estimera la facture nationale, publique et privée, à 100 milliards.
Ce qui est vraiment tombé en panne
Le bug n'a pas attendu minuit. Le 28 décembre 1999, au Royaume-Uni, 20 000 terminaux de paiement fabriqués par Racal, dont 14 000 fournis par la banque HSBC, refusent les cartes : programmés pour regarder quatre jours ouvrés en avant, ils comparent le 28 décembre 1999 au 1er janvier 1900 et concluent à une anomalie. Le 30 décembre, dans trois hippodromes du Delaware, des machines à sous qui regardent trois jours devant s'arrêtent net : 150 selon le premier bilan de Koskinen, 800 dans le rapport final du Sénat.
À minuit GMT, les ordinateurs d'une station au sol du National Reconnaissance Office, près de Fort Belvoir en Virginie, cessent de traiter les données d'un système de satellites de renseignement. La panne dure deux à trois heures ; le fonctionnement normal ne revient que le 3 janvier. À Onagawa, au Japon, une alarme se déclenche à 0 h 02 sur les calculateurs des réacteurs 1 et 2 et s'efface d'elle-même à 0 h 12 : des données de surveillance non transmises, dont la température de l'eau de mer, rien côté sûreté. Des valideurs de bus tombent en panne dans deux États australiens. Météo-France date une carte de son site du 01/01/19100.
L'un des dommages les plus graves documentés arrive plus tard et sans bruit. Entre le 4 janvier et le 24 mai 2000, à l'hôpital Northern General de Sheffield, un logiciel de laboratoire calcule mal l'âge des mères et sous-estime le risque de trisomie 21 pour plus de 150 femmes. Quatre enfants naîtront trisomiques sans que leurs parents aient été alertés à temps ; deux grossesses seront interrompues. Aucune prophétie n'avait prévu cela, et c'est la seule ligne du bilan qui compte des vies.
Du vent, ou la preuve que ça a marché
Le 29 février 2000, la commission Bennett-Dodd se dissout et publie son rapport final, Y2K Aftermath: Crisis Averted. La plupart des incidents recensés aux États-Unis ont été « mineurs, localisés et de courte durée ». Le Sénat relève aussi que des pays partis tard, l'Italie, l'Espagne, la Russie, ont dépensé moins par habitant, et que le ciel ne leur est pas tombé sur la tête non plus.
C'est l'argument des sceptiques. L'économiste australien John Quiggin le pousse en 2004 : l'Australie a dépensé 12 milliards de dollars australiens ; l'organisme italien chargé du bug ne s'est réuni pour la première fois qu'en février 1999, et à quelques mois de l'échéance, 15 % des Italiens savaient seulement de quoi il s'agissait. Dire que l'Italie était moins informatisée, écrit Quiggin, est « absurde ». Pour lui, l'argent a surtout été gaspillé.
En face, ceux qui ont fait le travail. Martyn Thomas, qui dirigeait les services an 2000 de Deloitte et a audité le contrôle aérien britannique, aligne les pannes trouvées avant l'heure : le missile antiaérien Rapier qui n'aurait pas riposté, un terminal Visa sur dix qui refusait les cartes expirant après 1999. Et il explique pourquoi l'Italie s'en est sortie : le coût par ligne de code, annoncé à 4 dollars, est tombé à quelques cents grâce aux outils automatiques, et les retardataires ont rattrapé le temps perdu avec les logiciels des autres. Koskinen tranche le 18 janvier 2000 :
Si rien de plus n'avait été fait au-delà de ce qui l'était déjà il y a deux ans, le monde tel que nous le connaissions aurait pris fin. La Bourse de New York n'aurait pas pu ouvrir le 3 janvier.
Les deux camps se disputent un contrefactuel : on ne rejoue pas le 1er janvier 2000 sans les 100 milliards. C'est le paradoxe de toute prévention. Réussie, elle ne laisse rien à montrer, et son absence de trace devient l'argument de ceux qui la jugeaient inutile.
Une catastrophe évitée ne laisse pas de ruines à photographier, seulement des factures.
Rendez-vous le 19 janvier 2038
Le rapport du Sénat glisse une ligne sur 2038, quand « les compteurs de certains systèmes Unix feront le tour ». Même mécanisme, en binaire : Unix compte les secondes depuis le 1er janvier 1970 à 0 h 00 UTC dans un entier signé de 32 bits, maximum 2 147 483 647. Le compteur déborde le 19 janvier 2038 à 3 h 14 min 07 s UTC. Les programmeurs de 1970 ont fait le même pari que ceux de 1965 : d'ici là, on aura changé de machine.
Peter de Jager, lui, avait passé la nuit du 31 décembre 1999 en l'air, entre Chicago et Londres, pour prouver que les avions ne tomberaient pas. À Nantes, trois jours plus tard, quelqu'un a photographié un panneau qui croyait vivre en 1900, avant le passage du technicien. On ne sait pas qui a corrigé l'afficheur, ni quand. On sait seulement que la seule ruine de l'an 2000 tient en 640 pixels de large.