Quand le GPS ne sait plus compter
Or, le numéro de la semaine est transmis dans un espace de stockage 10 bits,
dont la limite est le nombre 1 024. Au-delà, un dépassement d’entier se produit,
car la valeur maximale qui peut être représentée en 10 bits est 1 024. C’est là
que se trouve l’origine du souci qui affectera peut-être certains GPS. Comme le
nombre 1 024 concerne des semaines, ce bug est censé revenir pratiquement tous
les vingt ans (19,7 ans environ).
En l’espèce, le calendrier des GPS se remet à zéro lors du WNRO. Dans la mesure
où c’est la date du 6 janvier 1980 qui a été retenue pour démarrer le compteur
des semaines, c’est dans la nuit du 21 au 22 août 1999 — à une époque où les GPS
étaient assez peu répandus — que le premier dépassement d’entier a eu lieu. Le
deuxième va donc avoir lieu en théorie 1 024 semaines plus tard, le 6 avril
2019.
Prochaine échéance : l’an 2137
Alors, problème définitivement résolu : oui… en partie. En réalité, la solution
qui a été trouvée pour échapper au bug a consisté à passer sur un espace de
stockage 13 bits, qui permet d’inscrire une valeur maximale de 8 192. En somme,
cela permet d’espacer les remises à zéro de 8 192 semaines, soit environ 157 ans
et demi. En fixant 1980 comme point de départ, cette remise à zéro surviendra en
l’an… 2137.
Reste une question : pourquoi ne pas avoir mis un espace de stockage encore plus
étendu, pour repousser le problème aux calendes grecques ?
Deux réponses peuvent être avancées : d’abord, rien n’interdira de sortir un
correctif similaire lorsque le souci pointera à l’horizon. Or, celui-ci arrivera
dans plus d’un siècle. Rien ne presse. Ensuite, il est plus que probable que les
flottes de satellites pour la géolocalisation seront renouvelées d’ici là. C’est
typiquement le cas de la constellation du GPS, qui est régulièrement actualisée
avec de nouveaux engins.