Mainframe
Image may be NSFW.Clik here to view.

Le DOGE veut migrer les systèmes de la Sécurité sociale des États-Unis en quelques mois. Ces derniers sont codés en COBOL, un langage ancien et désormais peu programmé, mais réputé pour sa robustesse.
Le « département de l’efficacité gouvernementale » des États-Unis (DOGE) est en train de constituer une équipe pour migrer l’intégralité des systèmes de la Sécurité Social locale en quelques mois. L’idée : se défaire des langages de programmation anciens sur lesquels ces systèmes reposent.
Le risque, comme le rapporte Wired : menacer l’intégrité de la totalité de l’architecture, et les allocations perçues par des dizaines de millions de personnes au passage. En pratique, le fidèle d’Elon Musk Steve Davis travaille déjà à sortir les systèmes de leur dépendance au langage COBOL.
COBOL : 66 bougies
À la suite des censures opérées par le gouvernement Trump, au moins un des sites qui saluait le travail de Grace Hopper est désormais hors ligne. Mais c’est bien cette docteure en mathématiques devenue informaticienne dans la Marine états-unienne qui a créé en 1959, avec les équipes du consortium sur les langages de systèmes de données (CODASYL), le COBOL (Common business oriented language). Comme son nom l’indique, il s’agissait de fournir un langage commun aux applications professionnelles.
Dans les vingt années qui suivent, le COBOL, standardisé en 1968, est adopté dans les administrations, le secteur bancaire, l’aviation, et ailleurs. 66 ans plus tard (et deux ans après sa dernière mise à jour ISO/IEC 1989:2023), il a été délaissé au profit de langages plus simples à manier pour quantités d’applications. Il garde toutefois de fidèles adeptes dans des secteurs critiques, dont les banques ou les administrations (y compris nos impôts ou notre Caisse d’Allocations familiales). En 2020, 80 % des transactions interpersonnelles réalisées aux États-Unis reposaient sur du COBOL, d’après Wealthsimple Magazine.
Les raisons du maintien du langage sont doubles : des enjeux de sécurité et de performance – COBOL a notamment été créé pour gérer rapidement de très grosses sommes de « transactions » – et son usage même, qui concerne généralement des applications centrales, vouées à rester en place une fois créées.
Le problème que cela pose : la pénurie de connaisseurs du COBOL force certaines entreprises à sortir d’anciens programmeurs de leur retraite pour les aider à faire évoluer leurs systèmes. Pour se représenter l’enjeu, des personnes qui sortaient du lycée en 1969 et devenaient programmeuses de COBOL partaient généralement à la retraite à la fin des années 2000, une fois la soixantaine atteinte.
5 ans pour le précédent projet de migration
C’est pour toutes ces raisons que le projet du DOGE soulève des questions. Auprès de Wired, de nombreux experts soulignent qu’une migration de l’ampleur prévue serait, de toutes manières, un projet énorme et risqué – l’infrastructure de la Sécurité sociale contient plus de 60 millions de lignes de codes en COBOL. Sa logique interne – c’est-à-dire les procédés qui fournissent des codes de Sécurité sociale, gèrent les paiements et calculent les montants à verser – est elle-même écrite en COBOL.
Dans le contexte actuel, la Sécurité sociale états-unienne est déjà sous pression : visée par des accusations de fraudes par Elon Musk lui-même – dont plusieurs des allégations se sont néanmoins prouvées, au mieux, trompeuses –, l’institution est spécifiquement visée par d’intenses coupes budgétaires. Depuis quelques semaines, son site web se retrouve fréquemment hors ligne, et l’attente téléphonique s’allonge, au point que le Washington Post parle de « chaos ».
Surtout, de précédents projets de migration ont déjà été envisagés, et la tâche s’avérait alors bien plus ardue qu’un projet de quelques mois. En 2017, l’agence avait elle-même annoncé un projet de remplacement de son système cœur, pour lequel elle cherchait des financements de centaines de millions de dollars. La durée annoncée du chantier, remplacé par des projets plus orientés vers le public en raison de la pandémie, était de cinq ans.
Et puis vient la question de l’efficacité, comme le détaille le journaliste Clive Thompson. Si des acteurs bancaires ou administratifs maintiennent leurs activités en COBOL malgré son ancienneté, c’est bien qu’ils ont pesé les risques. Le langage, on l’a dit, est très rapide. Par ailleurs, un nouveau système créé en quelques mois pour la Sécurité sociale a toutes les chances d’être plein de bugs, donc de planter en de multiples endroits. L’ancienneté du COBOL, en la matière, joue en sa faveur : au fil des décennies, les programmeurs ont eu le temps de débuger régulièrement.
Chez Next, on aimerait bien discuter avec des mainteneurs de mainframes et autres adeptes de COBOL français ou européens. Des contacts à nous recommander ?