Crash de l’AF447 et les limites de l’informatique embarquée

par Homme Champignon
samedi 11 juillet 2009

Alors que le BEA a rendu son premier rapport et qu’il semble maintenant certain que les enregistreurs de vols ne seront jamais retrouvés, quelle sont les directions prises par les enquêteurs ?

Les seuls faits avérés sont les messages d’alertes envoyés par l’avion au contrôle au sol d’Air France.

Rappelons que ces messages ne sont pas destinés à assurer la sécurité mais à prévenir les services techniques au sol afin de se préparer à intervenir sur l’appareil. Par exemple si un dispositif est en panne le dispositif de secours est automatiquement activé et un message est envoyé afin qu’un composant de remplacement soit prêt dès que l’avion atterrira.

La lecture de ces alertes (informations brutes) suggère à tout spécialiste des logiciels qu’une défaillance des ordinateurs semble être liée au crash. Cela fait froid dans le dos car ce genre de logiciel est omniprésent dans les avions mais aussi dans les trains, les automobiles modernes, les dispositifs médicaux…

Cette hypothèse semble se concrétiser. Ainsi le « Wall Street Journal » dans un article intitulé « Computer Failures Are Probed in Jet Crash » détaille comment les jets modernes (A330, B777…) sont de plus en plus dépendants de leurs ordinateurs de bord et comment ces ordinateurs pourraient être à l’origine du crash de l’AF447.

Regardons de plus près ces logiciels. Au départ, de simples automates destinés aider les pilotes à garder l’avion dans le « domaine de vol » (sécurité, confort, consommation de carburant), ils sont devenus d’énormes « usines à gaz » gérant l’avion dans son ensemble. A titre d’exemple un avion moderne comme l’Airbus A380 est contrôlé par plusieurs ordinateurs dont les logiciels totalisent plus de 18 millions de lignes de code. Un logiciel d’une telle taille contient forcément des bugs. De plus ils sont maintenant liés aux systèmes dits de divertissement (la vidéo qui s’affiche sur le petit écran LCD du passager avec la position, la vitesse de l’avion) avec les risques, même minimes, que cela comporte.

L’aviation civile a donc mis en place des protocoles de qualité et de tests très rigoureux décrits par le protocole DO-178B. Cependant un protocole, aussi rigoureux soit- t’il, ne garantira jamais une absence totale d’erreurs. Il suffit d’imaginer le nombre de variables « en entrée » de ces systèmes (vitesse, altitude, vitesse de rotation des moteurs, pression d’huile, GPS, informations données par le pilote, température…) et de calculer le nombre de combinaisons possibles. On s’aperçoit que l’on arrive rapidement à un nombre de cas de tests quasiment infini.

La solution serait-elle alors de prévoir un débrayage total des systèmes embarqués, avec reprise en main entièrement manuelle de l’avion ? Est-ce la bonne solution ? Probablement pas. D’une part ces aides à la navigation ont diminué le nombre d’accidents, mais surtout l’architecture même des avions modernes ne permet plus l’interaction directe, que ce soit dans le sens pilote-avion (du manche à balais aux gouvernes par exemple), ni dans le sens environnement-pilote (de la sonde de vitesse à l’affichage en cabine).

Il faudrait alors encore améliorer la qualité de ces logiciels… Est-ce possible ? Ces logiciels sont développés par de grandes entreprises assez peu nombreuses sur le marché (Thales, Honeywell, Northrop Grumman) qui gardent jalousement leurs procédés de fabrication. Leurs logiciels sont validés par les organismes de normalisation et des protocoles tels que DO-178B mais leurs codes source restent secret.

Soyons iconoclaste et demandons-nous si le mode de développement utilisé par les projets « open-source » ne serait pas mieux adapté. Ils ont prouvé leur fiabilité dans le cas, par exemple, du couple Linux / Apache (plus de 60% des serveurs web dans le monde). Il a été prouvé par de nombreuses enquêtes qu’Apache était moins sujet aux logiciels malveillants que IIS (le serveur Web de Microsoft). Il y a cependant tout un mécanisme à mettre en place afin d’assurer le respect de la propriété des entreprises sur leurs logiciels et, éventuellement, de rémunérer les « découvreurs » de bugs.

La multiplication des logiciels embarqués amène donc des avancées mais aussi des risques supplémentaires. Les pilotes sont de plus en plus formés à ces systèmes et de moins en moins au pilotage « à la main » (plus informaticiens et moins pilotes). Ces systèmes automatisés ont provoqué la disparition du « troisième homme » : le mécanicien naviguant (Rappelez-vous les mouvements sociaux chez Air Inter à la sortie de l’Airbus A 320). Il serait peut être judicieux de repenser à créer un nouveau troisième homme en embarquant un « ingénieur système navigant ». Un homme (une femme) spécialiste des logiciels de contrôle de vols et qui serait à même de surveiller et éventuellement de déconnecter tout élément logiciel défaillant. Le pilote redeviendrait alors un pilote à part entière (plus pilote qu’informaticien) et recevrait une formation le rendant capable de poser son avion « à la main » dans les circonstances critiques.

Quoi qu’il en soit, le bouleversement apporté par les nouveaux systèmes de contrôle automatique obligera les organismes internationaux à se pencher sur ce problème mais la solution prendra des années à se mettre en place. Rassurons-nous tout de même, car hormis le crash de l’AF 447 ,les avions modernes montrent tous les jours leur fiabilité !


Lire l'article complet, et les commentaires