Le gouvernement des États-Unis, par le biais du tout nouveau Département de l’Efficacité Gouvernementale (DOGE), a lancé une initiative qui alerte la communauté technologique : réécrire le code de base des systèmes de la Sécurité Sociale (SSA) en seulement quelques mois. Cette annonce suscite des inquiétudes parmi les ingénieurs logiciels, les spécialistes des systèmes hérités et les experts en infrastructures critiques, qui jugent le plan non seulement précipité mais potentiellement désastreux.
La raison sous-jacente est bien connue : le cœur du système qui gère les pensions et prestations sociales de plus de 70 millions de personnes aux États-Unis est codé en COBOL (Common Business Oriented Language), un langage de programmation créé en 1959 pour les applications de comptabilité, finances et traitement de données massives. Son design orienté vers la lisibilité et la fiabilité en a fait la norme pour les institutions financières et gouvernementales pendant une grande partie du XXe siècle.
Au fil des décennies, le COBOL s’est imposé comme un pilier du logiciel critique. Selon les estimations sectorielles, plus de 800 milliards de lignes de code COBOL sont encore en activité dans le monde, beaucoup dans des systèmes où les pannes ne sont pas envisageables : banques, compagnies d’assurance, compagnies aériennes, et bien sûr, agences gouvernementales. Dans le cas de la Sécurité Sociale américaine, le système comprend des dizaines de millions de lignes écrites en COBOL, interconnectées avec des bases de données, des archives historiques et des processus automatisés fonctionnant sans interruption depuis plus de 40 ans.
Une migration complexe et à haut risque
Changer ce système pour un nouveau n’est pas aussi simple que de traduire un code. Cela implique de recréer toute la logique commerciale et les règles de traitement, ligne par ligne, avec une précision extrême. « Il s’agit de décennies de validations, de calculs actuariels, d’ajustements juridiques et de gestion des exceptions soigneusement codées au fil du temps », explique une experte en modernisation des systèmes gouvernementaux. « Toute erreur peut interrompre les paiements, doubler les prestations ou même supprimer des dossiers ».
De plus, le savoir institutionnel sur le COBOL est de plus en plus rare. Beaucoup des ingénieurs qui maîtrisaient ce langage ont pris leur retraite ou changé de secteur. Le manque de personnel qualifié rend toute migration nécessitant des efforts supplémentaires en documentation, ingénierie inverse et validation parallèle. Tenter de faire cela en quelques mois, comme le propose le DOGE, contredit l’expérience accumulée dans le secteur, qui recommande des processus allant de 3 à 7 ans pour des transitions sécurisées dans les systèmes hérités critiques.
Un exemple récent illustre les risques : pendant la pandémie de COVID-19, plusieurs systèmes de prestations de chômage écrits en COBOL se sont effondrés en raison de l’afflux de demandes, et le manque de personnel qualifié a empêché une adaptation rapide du logiciel. À la suite de cette crise, certaines agences ont lancé des projets pilotes de modernisation progressive, intégrant des couches intermédiaires et des API sans éliminer totalement le noyau COBOL. Cette approche hybride s’est révélée plus sûre et durable que la réécriture immédiate totale.
Pourquoi ne pas simplement « moderniser » ?
L’une des raisons pour lesquelles les systèmes COBOL continuent de fonctionner est leur fiabilité éprouvée. Beaucoup d’applications critiques écrites en COBOL affichent des taux d’erreur inférieurs à 0,1 %, un chiffre que de nombreux développements modernes n’ont pas encore atteint. De plus, étant conçu pour exécuter des tâches séquentielles massives, le COBOL demeure efficace dans les opérations de calcul intensif, comme celles requises par la SSA.
La modernisation peut prendre diverses formes : de l’émulation dans le cloud à la réécriture modulaire par microservices ou à l’intégration progressive de nouvelles interfaces. Cependant, toutes les approches partagent un principe : respecter le temps nécessaire pour auditer, valider, tester et former le personnel technique. Le plan du DOGE, en revanche, propose une transition immédiate, soulevant des craintes quant à des erreurs non détectées, une perte de données historiques ou même des failles de sécurité.
Une question de politique technologique
Le contexte de cette décision est également politique. Sous le discours de « l’efficacité gouvernementale » et de modernisation, le DOGE tente de montrer une administration agile et axée sur les résultats. Cependant, plusieurs analystes mettent en garde contre le risque de confondre rapidité et efficacité, surtout dans des contextes où la stabilité du système est une priorité absolue.
En effet, la réécriture des systèmes en COBOL est devenue l’un des grands débats de l’ingénierie logicielle dans la fonction publique. Des pays comme l’Allemagne ou le Japon ont choisi de maintenir le COBOL avec des renforts progressifs, tandis que d’autres nations ont échoué dans leurs tentatives de remplacement complet, comme le système fiscal du Canada dans les années 2000, qui après une décennie et des milliards de dollars investis, a finalement retrouvé son architecture COBOL.
Conclusion
À un moment où la société dépend plus que jamais de services numériques stables, la migration du code de base de la Sécurité Sociale américaine doit être abordée avec responsabilité technique, vision à long terme et sans raccourcis. Le COBOL, malgré ses décennies d’existence, continue de remplir sa fonction avec efficacité et robustesse.
La proposition du DOGE, au lieu de représenter un bond vers la modernisation, pourrait se transformer en un pari dangereux aux conséquences incalculables. Comme le rappellent de nombreux ingénieurs vétérans : « Si ce n’est pas cassé, ne réécris pas à la hâte ».
Le compte à rebours de la sécurité numérique : comment l’informatique quantique défie l’IoT et le cloud