Qui parle encore le Cobol, l'un des plus vieux langages informatiques ? Majoritairement cinquantenaires, les derniers développeurs partent petit à petit à la retraite, sans qu'ils soient remplacés. Problème : le Cobol est encore utilisé dans des infrastructures critiques, comme les banques.

« Nous sommes en l’an 3000, et l’humanité a enfin trouvé un moyen de ressusciter les personnes qui ont été cryogénisées », commence la blague. « La première femme à être ramenée est une développeuse, et elle n’en revient pas ! Elle pose beaucoup de questions, mais le médecin en chef arrive en courant et la coupe, ‘C’est urgent ! Une question de vie ou de mort ! Est ce que vous savez coder en Cobol ?’ ». Le Cobol, c’est de l’histoire ancienne, résument ceux qui savent encore l’écrire, un des tout premiers langages informatiques, un ancêtre vieux de plus de 60 ans, que peu de gens aujourd’hui maîtrisent.

Pourtant, le Cobol est partout : plus de 220 milliards de lignes de code existent encore aujourd’hui, auxquelles sont ajoutées plusieurs millions d’autres tous les ans. Aux États-Unis, où le Cobol structure la majorité des sites gouvernementaux, le manque d’experts du langage a entraîné de nombreux problèmes. À cause de la pandémie de Covid-19, un nombre record d’Américains se sont connectés sur l’équivalent de Pôle Emploi, faisant crasher le système. Seulement, personne n’a su le remettre en place dans l’immédiat, créant la panique au sein de certaines administrations et retardant de plusieurs semaines l’arrivée des aides financières.

En France, les demandes d’aides financières se sont faites par mail, en fournissant à l’organisme correspondant un formulaire comportant diverses informations. Il n’y a de ce fait pas eu de problèmes de saturation des sites du gouvernement, bien que le site de la sécurité sociale soit programmé en Cobol. La situation pourrait cependant vite devenir problématique : l’âge moyen des développeurs se situe autour de 55 ans.

Un langage universel

Le Cobol, abréviation de « common business-oriented language » et traduisible par « langage courant pour les affaires », est une création de l’armée américaine. En 1959, elle souhaite développer un langage commun aux premiers ordinateurs qui permettrait lui-même d’écrire de nouveaux programmes, ce qui était impossible jusque-là avec les langages existants. Le groupe de travail mis en place souhaite cependant que son utilisation ne soit pas réservée à l’armée et veut doter le Cobol de fonctions lui permettant d’être largement utilisé, et surtout simple à comprendre. La capitaine de l’armée Grace Hopper, qui sera surnommée plus tard la « grand-mère du Cobol », prévoit d’utiliser des commandes basées sur l’anglais plutôt que sur des expressions algébriques, le rendant facile à lire.

« Par exemple, si on veut retrouver un jeu de données en particulier, on utilise SEARCH, et si on veut l’afficher on utiliser DISPLAY, c’est plutôt intuitif », explique Véronique Gianfermi, une développeuse Cobol indépendante qui travaille dans les systèmes bancaires. « C’est un langage simple, efficace et robuste ». Ce sont ces qualités qui feront sa popularité : entre 1960 et 1980, le Cobol est le langage de référence, utilisé par les banques, les assurances, les compagnies aériennes, les impôts… Si sa popularité diminue au fil du temps avec l’arrivée de langages plus modernes, le Cobol reste toujours là, à faire tourner les back offices.

Aujourd’hui encore, plus de 70 % des distributeurs de billets et entre 60 et 80 % des activités des entreprises reposent sur des applications Cobol. « Une personne lambda a recours au moins 8 fois par jour à un système géré en Cobol, sans en avoir conscience », indique Philippe Fraysse, un spécialiste du Cobol qui édite un logiciel de développement pour le langage. C’est tout un écosystème, d’une complexité édifiante, qui a été construit depuis plus de 60 ans et représente aujourd’hui l’un des socles de l’informatique.

La pénurie ?

Alors pourquoi y a-t-il une pénurie de développeurs aux États-Unis ? Parce que le Cobol est dépassé. « Ça fait 30 ans qu’on dit que le Cobol est mort. Il est toujours là, mais ça fait 30 ans que personne ne veut en faire », résume Philippe à Numerama. C’est partout le même son de cloche : « les jeunes ne veulent pas faire ça », faisant que « les cobolistes », comme ils se surnomment, sont en grande majorité cinquantenaires, approchant de la retraite. Et personne ne se bouscule pour prendre leur place.

« Il n’y a cependant pas encore de pénurie en France », rassure Alain Dubois. Âgé de 71 ans, ce développeur admet cependant que son profil est recherché, et qu’il n’a jamais eu de mal à trouver du travail, malgré son âge. Véronique confirme : si elle n’a « jamais été accueillie comme le messie » en arrivant dans une entreprise, les missions Cobol sont légion. Ils ont tous les deux été formés au Cobol lors de son âge d’or, quand la « demande explosait et qu’on formait des gens en masse pour y répondre ».

Pour se former, il faut dans la plupart du temps « apprendre sur le tas ».

Beaucoup de jeunes ayant suivi des études scientifiques, comme des biologistes ou des chimistes n’arrivant pas à trouver du travail à la sortie se tournent vers ces formations, dispensées de manière expéditive en seulement quelques mois. Encore un avantage du Cobol : grâce à sa syntaxe intuitive, pas besoin d’avoir au préalable de « bagage en informatique », détaille Véronique.

Aujourd’hui, les écoles ne dispensent plus de formation en Cobol. Pour se former, il faut dans la plupart du temps « apprendre sur le tas ». « Lors de mon apprentissage dans une filiale du Crédit Agricole, on m’a mis sur une mission d’archivage de relevé bancaire », raconte Momar Ndiaye. « Tous les systèmes déjà mis en place étaient en Cobol, du coup j’ai été obligé de m’y mettre ». Aujourd’hui âgé de 29 ans, il travaille comme consultant chez LCL et estime que les profils juniors sont une minorité, représentant seulement « 10 % des personnes connaissant le langage ».

Comme un minitel

« Personne ne veut travailler sur des missions Cobol en sortie d’école », déclare-t-il, « ils veulent des postes plus intéressants, sur du développement web ou des applications ». Il faut dire que le Cobol souffre d’une mauvaise image. « Ceux qui ne travaillent pas directement avec le langage sont persuadés que c’est un truc de vieux, que ce n’est pas une compétence d’avenir ». L’interface Cobol leur donne raison. Police de caractères austère, vert fluo sur fond noir, pas de souris… « L’aspect minitel refroidit les potentiels étudiants », reconnaît Serge Gueguen, un formateur Cobol depuis 20 ans.

De plus, « les missions Cobol ne sont pas mises en avant sur les sites de recrutement », reprend Momar, « parce que ce n’est pas un boulot tendance ». Les missions proposées peuvent sembler rébarbatives. Beaucoup de mises à jour, peu de développement, ou alors sur des projets de back-office bancaires… On ne peut pas créer de « trucs cool » en Cobol. « Mon fils commence déjà à me dire que Java est dépassé, qu’il veut travailler sur des langages développés par Google, alors le Cobol… », complète Véronique.

Momar a cependant fait le choix de continuer. « Je me suis vite dit que c’était intéressant de parler ce langage. Les banques ont beau développer de nouvelles applications en Java, la base reste en Cobol. Tout le monde a besoin de ce langage, les gens ne se rendent pas compte de l’étendue qu’il a dans la vie de tous les jours ». S’il a décidé de poursuivre, c’est également par calcul. « Pour l’instant, les missions Cobol sont mal payées, mais les développeurs vieillissent. Dans 10 ans, il n’y aura plus personne, et à ce moment-là, les banques seront prêtes à payer une fortune pour mes compétences ».

Des formations existent toujours, mais ne séduisent pas

Si les écoles ne forment plus au Cobol, il existe encore des formations disponibles pour les nouveaux cobolistes. Ils ne sont souvent pas là par choix. « On remarque que certaines entreprises recrutent des gens sans leur dire qu’ils vont faire du Cobol », annonce Serge. « On les affecte sur ces projets par surprise, forcément ils n’apprécient pas du tout ». Il travaille également avec beaucoup de particuliers en reconversion, « profils scientifiques à bac +5, qui décident de se mettre à l’informatique, mais qui n’ont aucune expérience préalable ». Comme beaucoup de leurs prédécesseurs, formés dans les années 80.

Mais ce n’est cette fois-ci pas parce que la demande explose, au contraire. « Nous avons moins de demandes depuis à peu près 5 ans. En 2019, nous avons formé 6 personnes. En 2018, personne ». Le peu de personnes formées est ensuite majoritairement embauché par des ESN (Entreprises de Service Numériques, anciennes SS2I), qui placent ensuite leurs cobolistes dans des banques afin d’assurer des mises à jour ponctuelles ou de nouveaux projets de développement. « On ne voit pas vraiment les nouveaux formés remplacer ceux qui partent à la retraite ».

Formés, mais pas experts

C’est justement là que le bât blesse : « les entreprises ont pris conscience du problème et forment leurs ingénieurs, mais ce sont des formations express, au rabais », explique Serge. La relative facilité d’apprentissage du Cobol cache un autre problème : la complexité de tout l’écosystème construit autour de ses applications. Chaque entreprise ayant son organisation propre, « un développeur très compétent met tout de même près de 4 ans à être optimal sur un autre système, qui aura d’autres règles de fonctionnement ».

De vieilles structures, construites sur des dizaines d’années par couches successives, des développeurs différents (« qui laissent parfois des passages codés de manière dégueulasse », nous confie l’un d’eux), et sans documentation. « La situation est pire lorsqu’il y a eu des rachats et des fusions. Les systèmes sont empilés de manière très complexe, avec beaucoup d’interactions entre eux », détaille François Chaix, qui développe des applications pour les institutions financières et côtoie le Cobol depuis plus d’une dizaine d’années . « Les systèmes informatiques, c’est le carbone 14 des banques ».

« Quand tout le monde te dit qu’un langage est mort, ça ne motive pas à rester »

Pour certains environnements très complexes, François reconnaît qu’il ne reste parfois « qu’un seul coboliste qui s’y connaît, mais pour d’autres il y en a 50 de disponibles ». « Le manque se situe seulement sur des parties très spéciales. Pour l’instant, je n’ai jamais vu quelqu’un qui ne savait pas vers qui se tourner », tempère-t-il. « Mais ça pourrait peut-être changer ».

Il est difficile de garder les gens sur des missions Cobol. Les profils juniors veulent autre chose, il y a beaucoup de turn over. Au total, les projets comptent en moyenne 8 ans de retard, selon François. « Quand tout le monde te dit qu’un langage est mort, ça ne motive pas à rester », résume Momar.

Trop compliqué de migrer

Alors, pourquoi continuer en Cobol ? Migrer l’ensemble des données d’une banque vers un nouveau système informatique présente plusieurs problèmes d’envergure. Tout d’abord, le prix : « une opération comme ça coûterait plusieurs dizaines de millions d’euros, voire des centaines », estime François. Un changement de système nécessiterait en effet au préalable des années de travail, et représenterait un casse-tête. Serge est d’ailleurs catégorique, ces migrations sont extrêmement risquées. « Ce sont de vieilles lignes de codes, très peu documentées : il suffit qu’on oublie de remplacer une petite partie pour que tout soit perdu ».

En 2018, la banque anglaise TSB en a fait l’expérience. Après une erreur, près de 1,9 million de clients n’ont pas eu accès à leurs comptes pendant presque un mois, d’autres n’ont pas pu d’utiliser leurs cartes bancaires, tandis que certains ont eu accès pendant plusieurs jours aux comptes d’autres personnes. Une catastrophe, qui a coûté à TSB 330 millions de livres et plus de 80 000 clients.

« La même chose va arriver à Java d’ici 20 ans »

Enfin, « pourquoi changer une méthode qui marche ? », demande Véronique. « Le Cobol est ultra robuste, quand tu as besoin de traiter des millions d’informations rapidement, c’est super solide et très rassurant ». Une machine de guerre, qui marche toujours 60 ans après sa conception. « La technologie peut sembler vieillotte, mais sur les nouvelles applications que nous développons, à chaque fois qu’il y a un problème, ça vient de la partie Java. Jamais du Cobol ».

Destiné à mourir, mais toujours vivant, le Cobol est un code à part entière chez les développeurs, à mi-chemin entre créature mythique et Renault 4L. « À un moment où à un autre, il n’y aura plus suffisamment de développeurs Cobol », confie Caroline Couturier, qui travaille à la direction informatique de LCL, « on s’y prépare ». « Il y a 5 ans, tout le monde disait que la pénurie arriverait maintenant. Nous y sommes, et tout va bien pour l’instant », déclare Serge, avant de lancer : « La date est impossible à prévoir, mais elle arrive ».

Peut-être pas aujourd’hui, ni demain, mais sûrement. « C’est normal, c’est le progrès. La même chose va arriver à Java d’ici 20 ans », prophétise-t-il.