Bienvenue dans la formation COBOL

Apprenez les bases du COBOL et développez vos compétences en programmation legacy avec une approche moderne.

Info : Ce module vous permet d’accéder rapidement aux contenus essentiels de la formation COBOL.
Retour au plan général

Comprendre la structure d’un programme COBOL

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.

Une architecture très hiérarchisée

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 :

  • Le programme contient des divisions, dont chacune a une responsabilité précise.
  • Les divisions peuvent contenir des sections, puis des paragraphes, puis des phrases, puis des instructions.
  • Les paragraphes sont souvent identifiés par un nom suivi d’un point, ce qui aide à structurer la lecture et à localiser une logique.

Le format “colonnes” et le format libre

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.

Les 4 divisions à connaître dès le départ

  •  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.

Exemple commenté : squelette complet

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.
        

Focus : ce que met réellement la division d’identification

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é.

Focus : ce que prépare la division d’environnement

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.

Focus : ce que contient la division des données

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 :

  • La FILE SECTION. pour décrire les enregistrements échangés avec des fichiers (formats, champs, longueurs).
  • La 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.

↑ Haut