Apprenez les bases du COBOL et développez vos compétences en programmation legacy avec une approche moderne.
COBOL est un langage orienté gestion, très encadré dans sa forme, conçu pour décrire des traitements centrés sur les données. Cette rigueur peut surprendre au début, mais elle aide à lire et maintenir des applications qui vivent longtemps.
Un programme COBOL n’est pas un simple “fichier de code” : il suit une organisation imbriquée. On peut retenir la hiérarchie suivante, du plus grand au plus petit :
Historiquement, COBOL a été pensé pour des supports comme les cartes perforées. Dans ce modèle “colonnes”, les premiers caractères d’une ligne avaient des rôles particuliers : une zone pour la numérotation de séquence, une zone pour marquer un commentaire, puis la zone de code.
Aujourd’hui, beaucoup d’environnements autorisent un mode plus souple via la directive
>>SOURCE FORMAT FREE ,
qui réduit fortement les contraintes de positionnement et rend le code plus agréable à écrire pour débuter.
IDENTIFICATION DIVISION.
décrit le programme (nom, informations d’identification, parfois auteur et date).
ENVIRONMENT DIVISION.
précise des éléments liés au contexte d’exécution (notamment les fichiers et périphériques, selon les cas).
DATA DIVISION.
définit les données manipulées, en particulier les variables et les descriptions de fichiers.
PROCEDURE DIVISION.
contient la logique : les traitements, l’ordre d’exécution, les actions.
L’exemple suivant montre un squelette réaliste. Il ne cherche pas à faire “beaucoup de choses” : il sert surtout à reconnaître les blocs et à comprendre où placer chaque partie. Remarquez la présence d’un paragraphe dans la partie traitement, et la séparation nette entre définition des données et logique.
>>SOURCE FORMAT FREE
IDENTIFICATION DIVISION.
PROGRAM-ID. DEMO-STRUCTURE.
AUTHOR. FORMATION-COBOL.
DATE-WRITTEN. 2026-01-17.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT OPTIONAL FICHIER-CLIENT
ASSIGN TO "clients.txt"
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD FICHIER-CLIENT.
01 ENREG-CLIENT.
05 CLI-ID PIC 9( 6 ).
05 CLI-NOM PIC X( 30 ).
WORKING-STORAGE SECTION.
01 WS-LIGNE-AFF PIC X( 80 ).
PROCEDURE DIVISION.
DEBUT-TRAITEMENT.
DISPLAY "Lecture de la structure COBOL : divisions et sections".
STOP RUN.
La IDENTIFICATION DIVISION.
sert à “présenter” le programme.
Le point central est le nom défini par PROGRAM-ID. :
c’est ce nom qui correspond au programme que l’on compile et que l’on exécute.
Vous pouvez aussi rencontrer des lignes d’information comme AUTHOR.
ou DATE-WRITTEN. .
Selon les environnements, ces informations peuvent être facultatives, mais elles sont utiles dans une formation,
car elles rendent le code plus “lisible” et plus documenté.
La ENVIRONMENT DIVISION.
varie beaucoup selon le contexte.
Dans certains projets, elle est minimaliste ; dans d’autres, elle décrit clairement les fichiers et leurs affectations,
via une structure du type INPUT-OUTPUT SECTION. puis FILE-CONTROL. .
L’idée est simple : quand un programme dépend d’entrées/sorties (fichiers, périphériques, conventions), COBOL aime que cette dépendance soit “déclarée” dans une zone dédiée, avant d’écrire la logique métier.
La DATA DIVISION.
n’est pas un “détail” : elle matérialise l’approche orientée données.
On y trouve souvent plusieurs sections, dont deux apparaissent très tôt en apprentissage :
FILE SECTION. pour décrire les enregistrements échangés avec des fichiers (formats, champs, longueurs).
WORKING-STORAGE SECTION. pour définir les variables internes du programme (zones mémoire de travail).
D’autres sections existent selon les besoins, par exemple pour échanger des données entre programmes ou générer des états. Vous les approfondirez plus tard, quand la structure de base sera automatisée.