Le lundi 28 août, le système de distribution automatique des plans de vol aux positions de contrôle est tombé en panne, obligeant les contrôleurs à gérer en mode dégradé les transferts entre secteurs et réduisant en conséquence drastiquement leur capacité à écouler le trafic, d'où des centaines de vols très retardés ou carrément annulés.
Le NATS a expliqué qu'il s'agissait d'une erreur dans un plan de vol soumis par une compagnie française (ah, ces mangeurs de grenouilles...), plan de vol dans lequel aurait été inclus deux fois un point de passage situé en dehors de l'espace britannique (voir Source 1)
Après avoir joyeusement tapé sur ces mangeurs de grenouilles qui, non contents de nous envoyer plein de petits bateaux plein de migrants, ne font décidément rien correctement, les plus lucides des commentateurs se sont quand même posés quelques questions: comment une simple erreur dans un plan de vol peut-elle provoquer une telle panne du système tout entier ? Pourquoi cette erreur n'a-t-elle pas été détectée, provoquant le rejet du plan erroné, comme cela se produit plusieurs fois par jour ?
Le NATS a fourni quelques explications vaseuses comme quoi il y avait 1 chance sur 15 millions (sic: voir source 2) que cette bogue se produise. mais après enquête, la vérité a fini par émerger: c'est en fait la base de données statique du NATS décrivant la structure de l'espace aérien qui était vérolée car contenant un point-zombie situé à 4000 milles d'un autre point portant par erreur le même nom (voir Source 3.)
Je subodore donc que l'erreur contenue dans le plan de vol consistant à inclure deux fois le même point n'a pas été détectée car le système aurait pris en compte successivement le vrai point puis le point-zombie, ce qui l'a empêché de rejeter le plan de vol comme erroné: pour lui, il n'y avait pas deux fois le même point mais deux points différents, ce qui est normal. Que le point mal codé et dédoublé dans la base de données se trouve en dehors de l'espace aérien britannique n'est pas réellement pertinent, même si la coïncidence d'une identique erreur de codage de la part des mangeurs de grenouilles (qui, rappelons-le, ne font rien qu'à embêter les rosbifs) provoquant le plantage est effectivement assez fascinante.
Le fond du problème est que la Navigation Aérienne britannique subit les conséquences de sa politique qui a consisté, en ce domaine comme en beaucoup d'autres, à se mettre à la remorque des Étatsuniens pendant des décennies.
Dans les années 1960, le NATS décida de recourir aux (coûteux) services de la société américaine Lockheed-Martin qui lui fourgua une adaptation bidouillée d'un système qu'ils avaient développé pour l'Aviation Civile étatsunienne, alors que la DNA française développait de manière autonome son propre système baptisé CAUTRA.
Pendant plusieurs décennies, les deux systèmes ont évolué cahin-caha en parallèle avec du logiciel sur mesure car nécessitant à l'époque pour leur fonctionnement temps réel des langages spécifiques (les ordinateurs d'aujourd'hui disposent d'une fiabilité et d'une puissance qui permettent de s'appuyer sur des systèmes opérationnels et des progiciels génériques disponibles sur étagère).
Lockheed-Martin forma donc des programmeurs britanniques au langage JOVIAL qui avait au départ été développé pour les militaires. En France, la société SYSECA (filiale de Thomson devenu Thales) avait développé le LTR (Langage Temps Réel) qui était fonctionnellement l'équivalent du JOVIAL transatlantique.
Je me souviens qu'au début des années 2000, le NATS, qui avait besoin de mettre des rustines à son vieux système, fit des ponts d'or à des programmeurs retraités pour qu'ils reviennent faire des modifications au cœur du système. Des collègues anglais d'une boîte de Cambridge avec qui je travaillais alors sur un projet européen m'avaient dit en rigolant qu'ils envisageaient une reconversion à la programmation JOVIAL car le NATS rémunérait ses précieux retraités au tarif de 1000 £/jour.
Depuis quelques années, toutes les agences européennes ont modernisé leurs systèmes dans le cadre du programme dit "Ciel Unique Européen" en faisant appel aux deux industriels qui se partagent l'essentiel du marché mondial: le français Thales associé à l'italien Selex, et l'espagnol INDRA.
Le déploiement en France du nouveau système de Thales dénommé 4-Flight, dont le développement a pris 6 ans, a commencé début décembre 2022 dans les centres de Reims et d'Aix (on fait toujours ce genre de déploiement en hiver, quand il y a le moins de trafic afin de minimiser les perturbations opérationnelles en cas de problèmes) et se poursuivra dans les autres centres de contrôle français jusqu'en 2025 (le centre d'Athis-Mons est programmé pour décembre 2023 ou janvier 2024, Brest et Bordeaux suivront l'année suivante.)
C'est un système moderne reposant sur une architecture d'intergiciel CORBA permettant de gérer dynamiquement la répartition de la charge de calcul au sein du système et de se reconfigurer automatiquement en cas de panne d'une machine. Le système d'INDRA qui a été récemment déployé en Allemagne offre des caractéristiques fonctionnelles et techniques équivalentes.
Un des paradoxes de la politique britannique est qu'il a fallu attendre le Brexit pour que le NATS se décide à s'équiper d'un système européen (ils ont évidemment choisi le système d'INDRA, parce qu'ils n'allaient quand même pas se fournir chez les mangeurs de grenouilles...)
Le problème est que leur nouveau système n'est pas encore au point (un premier déploiement fonctionne depuis plusieurs années à Prestwick en Ecosse mais c'est un centre de contrôle en route océanique ayant une faible complexité structurelle) car le NATS a décidé de remanier la structure de la partie la plus dense de son espace aérien. Ils ont dû faire récemment des mises à jour dans leur base de données décrivant statiquement l'espace aérien (routes, points de report, découpage en secteurs, fréquences radio etc.) et c'est sans doute à ce moment-là qu'un point-zombie s'est faufilé dans le tas, devenant le grain de sable qui a provoqué l'énorme plantage de fin août.
Source 1: https://simpleflying.com/nats-atc-failure-cause-revealed/