Bug de l’an 2038 : quel est ce problème qui va mettre à l’arrêt huit lignes de métro à Paris et le RER A

 
Un « défaut logiciel grave » a été signalé par Alstom concernant le matériel roulant dans les transports parisiens. Un problème pourtant connu de longue date.
Un métro parisien à quai // Source : Jonathan Ferreira sur Unsplash

Une « bombe à retardement numérique », c’est en ces termes que Le Parisien décrit le bug signalé par le constructeur Alstom concernant les logiciels embarqués dans les rames du métro parisien.

Impossible d’aller au-delà de 2038

Le sujet est visiblement sur la table depuis 2017 lorsque les équipes de la RATP découvrent l’impossibilité de configurer les logiciels d’un train au-delà de l’an 2038. L’option est bloquée logiciellement par Alstom, mais c’est pour mieux masquer un vrai bug technique.

Il concerne plus d’un tiers du réseau RATP et la totalité du matériel roulant Alstom : les lignes 1, 2, 4, 5, 6, 9, 11 et 14 du métro parisien, ainsi que le RER A et six lignes de tramways : T3, T3b, T5, T6, T7, et T8.

En l’état, impossible de faire rouler le matériel concerné à partir du 18 janvier 2038. Le Parisien précise que le tribunal a jugé le défaut de « vice caché » et donne cinq ans à Alstom pour résoudre le problème.

C’est quoi le bug de l’an 2038 ?

Il est étonnant qu’une telle affaire prenne cette ampleur dans la mesure où le bug de l’année 2038 est un bug très connu dans le secteur informatique.

En fait, les systèmes Unix (tournant sous Linux ou macOS) calculent la date du calendrier à partir d’une année 0 fixée au 1er janvier 1970. Pour faire simple, votre ordinateur affiche la date du jour comme le résultat d’une addition : 1er janvier 1970 + le nombre de secondes écoulées depuis lors. Ce nombre de secondes est stocké dans un entier codé sur 32 bits.

On appelle cela le temps Unix et c’est pour cela qu’un ordinateur mal configuré voit sa date se réinitialiser au 1er janvier 1970.

Problème : ce système de calcul a une limite. En 2038, le 19 janvier à 3:14:07 pour être précis, l’entier sauvegardant la date arrivera à son maximum possible.

La solution : le passage au 64 bits

Une solution existe à ce problème, il « suffit » de stocker la date sur un entier en 64 bits. À ce moment-là, la date peut monter jusqu’à 292 milliards d’années (l’an 292 277 026 596 pour être précis). Autant dire que le temps que les ordinateurs arrivent à cette date, l’humanité aura d’autres préoccupations.

Sur nos ordinateurs modernes, le problème est donc déjà réglé depuis longtemps, mais sur les systèmes embarqués comme un train roulant, le problème est plus complexe.

Il n’est pas certain que le matériel embarqué dans les trains Alstom puisse être mis à jour vers un système 64 bits, et sans altérer les logiciels conçus pour ce système.


Retrouvez un résumé du meilleur de l’actu tech tous les matins sur WhatsApp, c’est notre nouveau canal de discussion Frandroid que vous pouvez rejoindre dès maintenant !

Recherche IA boostée par
Perplexity