Aller au contenu

COBOL : COmmon Business-Oriented Language

Infrastructure

COBOL : COmmon Business-Oriented Language, langage de programmation conçu en 1959 pour la gestion. « Le langage dans lequel tourne encore une part de l'argent du monde, écrit par des gens qui sont pour beaucoup partis à la retraite sans laisser leur adresse », par analogie avec une cathédrale dont on ne connaît plus l'architecte mais où l'on célèbre la messe tous les jours.

Origine : Défini en 1959 par le comité CODASYL (Conference on Data Systems Languages), sous l'impulsion du gouvernement américain et dans la lignée des travaux de Grace Hopper. Il est normalisé par l'ISO sous la référence ISO/IEC 1989 et reste très présent sur les ordinateurs centraux des banques, assurances et administrations.

Héritage : Les programmes COBOL traitent souvent des lots nocturnes et des transactions servies à des terminaux 3270. L'âge n'est pas un défaut en soi ; le danger vient des programmes sans propriétaire, sans documentation ni tests, que plus personne n'ose modifier, même pour une correction de sécurité.

Exposition moderne : Ces applications sont de plus en plus exposées via des API ou des passerelles web. Le code d'origine supposait un terminal interne et un utilisateur authentifié par le système central ; la passerelle peut faire disparaître ces hypothèses sans que le programme s'en aperçoive, ce qu'il n'a d'ailleurs jamais été conçu pour faire.

Ce qui arrive si on s'en passe

Un programme COBOL dont plus personne ne connaît le fonctionnement ne reçoit plus de correctifs, ni de revue de droits, ni de tests de reprise ; il fonctionne parfaitement jusqu'au jour où il faut le modifier en urgence. Exposé par une API ajoutée sans revoir ses contrôles, il peut accepter des transactions que l'ancien terminal interdisait, ou faire confiance à un identifiant d'utilisateur transmis par la passerelle sans vérification. L'incident se traite alors avec une documentation absente et un expert introuvable, ce qui allonge la reprise d'activité de manière spectaculaire.

Explication de la marmotte

COBOL est un langage de programmation créé en 1959 pour les tâches de gestion : comptes bancaires, paies, impôts. Beaucoup de grandes entreprises l'utilisent encore sur de gros ordinateurs appelés mainframes, car ces programmes fonctionnent et coûteraient très cher à réécrire. Le problème n'est pas son âge, mais le fait que peu de personnes savent encore le lire et le modifier. Un programme que personne n'ose toucher finit par ne plus être corrigé ni surveillé.

Où ce terme est utilisé

← Tout le glossaire