Android Lab Test : Le capteur gyroscope (français)
Mainframe TSO
1. Bruno Delb http://www.brunodelb.com Date : 11/04/1997
Mainframe TSO
Sommaire
SESSION TSO................................................................................................................................................ 2
PRINCIPE..................................................................................................................................................... 2
GESTION DES FICHIERS..............................................................................................................................2
MISE EN OEUVRE DE PROGRAMMES ..........................................................................................................2
PRÉSENTATION D'ISPF............................................................................................................................. 2
APPORT D'ISPF..........................................................................................................................................3
EDITEUR..................................................................................................................................................... 3
FONCTIONS DE DÉFILEMENT (SCROLLING) DU FICHIER À L'ÉCRAN .................................................................3
COMMANDES PRIMAIRES..............................................................................................................................3
TYPES D'ÉCRANS.......................................................................................................................................... 4
COMMANDES LIGNE..................................................................................................................................... 4
POSTE DE DÉVELOPPEMENT .......................................................................................................................4
STRUCTURE PHYSIQUE D'UN DIALOGUE.....................................................................................................4
IPSTART.................................................................................................................................................... 4
SELECT...................................................................................................................................................... 4
BIBLIOTHÈQUES D'ISPF.............................................................................................................................5
ISPPLIB POUR LES PANELS..........................................................................................................................5
SYSPROC ET ISPLLIB POUR LES FONCTIONS DE DIALOGUE........................................................................5
ISPMLIB POUR LES MESSAGES....................................................................................................................5
ISPTLIB ET ISPTABL POUR LES TABLES ISPF............................................................................................5
ISPSLIB ET ISPFILE POUR LES SQUELETTES ET LES FICHIERS GÉNÉRÉS À PARTIR DE CES SQUELETTES........5
ISPPROF POUR LES FICHIERS CONTENANT DES DONNÉES PROPRES À CHAQUE UTILISATEUR (USER TSO). . .5
EXEMPLE DE DIALOGUE......................................................................................................................... 5
DÉFINITION ET STRUCTURE D'UN PANEL...................................................................................................5
)ATTR - DÉFINIT DES ATTRIBUTS.................................................................................................................5
)BODY - DÉFINIT LE FORMAT DE L'ÉCRAN...................................................................................................5
)MODEL - AFFICHE UNE TABLE ISPF (RÉSERVÉ AUX TABLES).....................................................................5
)INIT - INITIALISE DES VARIABLES (OPTIONNEL)...........................................................................................6
)PROC - CONTRÔLE DES VARIABLES (OPTIONNEL).......................................................................................6
)END - TERMINE UN PANEL.........................................................................................................................6
VARIABLES ET POOLS DES VARIABLES.......................................................................................................6
APPLICATION PROFILE POOL (POOL DU PROFIL DE L'APPLICATION)................................................................6
SHARED POOL (POOL PARTAGÉ)...................................................................................................................6
FUNCTION POOL (POOL DES FONCTIONS)......................................................................................................6
VARIABLES DU SYSTÈME..............................................................................................................................6
SERVICES ISPF............................................................................................................................................ 7
MISE EN OEUVRE DE PANELS........................................................................................................................7
UTILISATION D'UNE TABLE............................................................................................................................7
SQUELETTE................................................................................................................................................. 8
COMMANDES...............................................................................................................................................8
INITIALISATION D'UNE SESSION.....................................................................................................................8
TERMINAISON D'UNE SESSION TSO...............................................................................................................8
GESTION DU FICHIER DES SQUELETTES.........................................................................................................8
1
2. Bruno Delb http://www.brunodelb.com Date : 11/04/1997
Mainframe TSO
Session TSO
Principe
Grâce à TSO, l'utilisateur peut travailler, seul, avec l'ordinateur. Pour cela, il doit initialiser TSO. Cela se fait
simplement en faisant une demande de travail.
TSO (Time Sharing Option) permet de partager des ressources machines simultanément et en
conversationnel entre plusieurs utilisateurs. On parle de temps partagé.
Comme les temps de réponse de l'ordinateur sont beaucoup plus rapides que ceux de l'utilisateur, celui-ci a
l'impression d'être seul.
L'utilisateur doit :
• initialiser une session TSO,
• exécuter des fonctions de TSO,
• terminer une sessions TSO.
Gestion des fichiers
Soit un fichier.
Le nom de ce fichier sur le disque dur s'appelle " nom physique ".
Le nom de ce fichier dans le programme s'appelle " nom logique ".
TSO travaille avec le nom logique.
TSO permet :
• la création d'un fichier
• La commande ALLOC permet de créer le lien entre le nom logique et le nom physique.
• La syntaxe est : ALLOC F(nom_logique) DA(nom_physique) options
• la concaténation de fichiers
• La concaténation consiste en la création d'un lien entre un nom logique et plusieurs noms
physiques.
• l'allocation de fichiers
• La commande NEW permet l'allocation d'un fichier. Cette ération correspond en réalité à la
création du fichier physique.
• Il faut alors indiquer certaines options :
• l'option SHR indique que le fichier est en lecture seulement, et l'accès peut être en partagé.
• l'option OLD indique que le fichier est en mise à jour, et l'accès et réservé en demandeur.
Une bibliothèque (ou fichier partitionné) est constitué d'un répertoire et d'un membre qui
sont des fichiers séquentiels. Le répertoire contient la liste (triée en ordre croissant) des
noms des membres.
• Attention : ne pas oublier de libérer le fichier à la fin de la mise à jour.
• la libération de fichier
Mise en oeuvre de programmes
La commande CALL permet de mettre en oeuvre un programme.
Cette opération passe par plusieurs étapes :
• Recherche du programme dans un bibliothèque
• dans les bibliothèques de programmes exécutables, définies en appel automatique, lors de la
commande LOGON
• dans la bibliothèque spécifiée dans la commande CALL
• Chargement du programme en mémoire (du disque vers la mémoire)
• Exécution du programme sous TSO (considéré comme un sous-programme de TSO)
• Déchargement du programme (libération de la mémoire)
La syntaxe est : CALL nom_bibliothèque (nomprogramme) 'paramètres'
Les paramètres permettent de donner des informations variables et courtes au sous-programme.
Présentation d'ISPF
2
3. Bruno Delb http://www.brunodelb.com Date : 11/04/1997
Mainframe TSO
Apport d'ISPF
MVS est le système d'exploitation de l'ordinateur.
TSO fonctionne sous MVS.
ISPF (Interactive System Productivity Facility) fonctionne sous TSO.
ISPF met à la disposition de l'utilisateur :
• des fonctionnalités
ISPF permet :
• de simplifier l'utilisateur de TSO à l'utilisateur
• d'enchaîner des écrans (-> notion de dialogue)
• d'offrir des outils standards : éditeur, utilitaires
• de construire son propre dialogue
• des fonctions :
• HELP
La commande HELP permet d'appeler une aide (ou tutorial). Elle explique :
• les options possibles
• le contenu des zones à renseigner
• SPLIT
La commande SPLIT permet de découper l'écran " physique " en deux écrans " logiques ".
Chacun des écrans logiques est alors considéré comme un terminal.
• PFK
Le principe est simple :
• le panel s'affiche avec des " cases " à remplir (nom du programme, ...)
• l'utilisateur remplit ces cases
• une liste de commandes TSO (ALLOC, CALL, FREE) sont générées automatiquement
Editeur
Fonctions de défilement (scrolling) du fichier à l'écran
En général, la taille du fichier dépasse la taille de l'écran. On utilise donc la notion de scrolling pour pouvoir
visualier le fichier page par page.
Touche Description
PF 7 (UP) Monte d'une page
PF 8 (DOWN) Descend d'une page
PF10 (LEFT) Va à gauche
PF11 (RIGHT) Va à droite
Commandes primaires
Elles agissent sur l'ensemble ou sur une partie du fichier.
Au niveau du champs " COMMAND INPUT ", entrer :
Commande Fonction Description
FIND Rechercher une chaîne de caractères La syntaxe est : F chaîne (à condition que la chaîne ne contienne ni
espace ni ') ou F 'chaîne' ou F chaîne ALL pour agir sur toutes les
occurences.
CHANGE Remplacer une chaîne de caractères par La syntaxe est : C chaîne1 chaîne2 (à condition que la chaîne ne
une autre. contienne ni espace ni ') ou C 'chaîne1' 'chaîne2' ou C chaîne1 chaîne2
ALL pour agir sur toutes les occurences).
COPY Copier une chaîne de caractères. La commande COPY permet d'insérer des données stockées dans un
autre fichier et de les insérer à l'endroit indique par la commande ligne B
(Before) ou A (After). La syntaxe est : COPY nom_membre si le membre
appartient au même fichier partitionné, COPY sinon, et répondre aux
questions posées par ISPF.
CREATE Crée un fichier. La commande CREATE permet de créer un nouveau fichier séquentiel
ou un nouveau membre d'un fichier partitionné. Les commandes lignes C
ou CC (Copy) et M ou MM (Move) permettent d'indiquer les lignes à partir
desquelles le nouveau fichier doit être créé. La syntaxe est : CREATE
nom_membre pour créer le membre dans le même fichier partitionné,
CREATE sinon, et répondre aux questions posées par ISPF
SUBMIT Soumet un job. La commande SUBMIT permet de soumettre des jobs (texte JCL, Job
Control Language) en traitement batch.
3
4. Bruno Delb http://www.brunodelb.com Date : 11/04/1997
Mainframe TSO
SAVE Sauvegarde. La commande SAVE permet de sauvegarder le contenu de l'écran. Un
conseil : utilisez souvent cette commande, afin de prévenir toute coupure
de courant, ... sous risque de perdre les modifications.
FREE Libère un fichier. Plus précisément, elle permet de libérer :
• soit un nom logique de la liaison qui le lie à un ou
plusieurs noms physiques
• soit un nom physique de la liaison qui le lie à tous
les noms logiques qui lui sont attachés.
La syntaxe est : "FREE DA(nom_physique)" ou "ou FREE
F(nom_logique)"
CANCEL Abandonne. La commande CANCEL permet au contraire d'abandonner les
modifications effectuées.
Types d'écrans
On distingue :
• les écrans standards :
• l'éditeur pour éditer des fichiers
• les utilitaires pour imprimer, supprimer des fichiers, ...
• les écrans spécifiques à chaque site
Commandes ligne
Commande Fonction Description
I Insertion. La commande I (Insert) insère une nouvelle ligne après la ligne o• la commande est tapée. In insère
n lignes.
D Suppression. La commande D (Delete) supprime la ligne désignée. Dn supprime n lignes. DD/DD supprimer un
groupe de lignes.
C Copie. La commande C (Copy) copie une ligne. Cn copie n lignes. CC/CC copie un groupe de lignes.
A (After) indique que les lignes seront copiées après la ligne désignée.
B (Before) indique que les lignes seront copiées avant la ligne désignée.
M Déplacement. La commande M (Move) déplace une ligne. Mn déplace n lignes. MM/MM déplace un groupe de
lignes. Les paramètres A (After) et B (Before) sont aussi valides.
R Répétition. La commande R (Repeat) répète une ligne une fois. Rn répère une ligne n fois. RR/RR répète un
groupe de lignes une fois. RRn/RR répète un groupe de lignes n fois.
Poste de développement
Le poste de développement permet de créer un dialogue spécifique à un site informatique.
Un dialogue peut être créé de plusieurs manières.
En général, on créée un panel primaire (qui joue le rôle de menu principal). Suivant le choix effectué,
l'utilisateur appelle une fonction de dialogue (programme ou CLIST) afin d'exécuter un traitement ou
d'afficher un panel secondaire (qui joue le rôle de menu secondaire).
La touche PF4 (touche " RETURN ") permet de retourner progressivement au menu principal.
En cas d'erreur de saisie dans un panel, un message d'erreur (standard ou propre au site informatique) est
créé. En plus, une aide est disponible pour plus de précisions.
Structure physique d'un dialogue
IPSTART
La commande IPSTART permet de démarrer une application d'ISPF sous TSO.
Elle permet de démarrer une application d'ISPF sous TSO, et plus précisemment de :
• afficher un menu
• exécuter une CLIST
• exécuter un programme
• et ainsi de commencer le dialogue.
Cette commande est souvent incluse dans la procédure de LOGON. Mais elle peut aussi être appelée à
partir d'une CLIST.
SELECT
Le service SELECT permet de définir un niveau hiérarchique dans le dialogue.
Il permet de définir un niveau hiérarchique dans le dialogue, c'est-à-dire de :
• définir un nouveau niveau hiérarchique de l'application
• afficher des menus ou exécuter des fonctions de dialogue
Ainsi, SELECT mémorise les liens qui relient les panels et les fonctions entre eux, c'est-à-dire toute la
structure logique du dialogue.
4
5. Bruno Delb http://www.brunodelb.com Date : 11/04/1997
Mainframe TSO
Remarque : un CALL n'est pas considéré comme un changement de niveau hiérarchique. Le service
SELECT n'est donc pas demandé. Même chose pour l'afficher d'un panel par la commande DISPLAY.
Les variables de dialogue sont les variables qui contiennent les données saisies dans les panels. Ainsi, des
données peuvent être partagées par plusieurs panels.
Bibliothèques d'ISPF
On distingue les bibliothèques suivantes :
ISPPLIB pour les panels
Un panel effectue les opérations suivantes :
• initialisation des variables utilisées avant la saisie
• contrôle des valeurs saisies
• envoi de messages en cas d'erreur
• appel d'aide
SYSPROC et ISPLLIB pour les fonctions de dialogue
On y trouve les modules exécutables des programmes utilisés par ISPF et les CLIST TSO utilisées par les
applications.
ISPMLIB pour les messages
Chaque message comprend un libellé court et un libellé long pour indiquer la nature de l'erreur.
ISPTLIB et ISPTABL pour les tables ISPF
Les tables ISPF contiennent les différentes valeurs des différentes variables.
La lecture est faite par les programmes, les CLISTs ou par les squelettes dans le ISPTLIB.
Lors des MAJ (Mise A Jour), elles sont sauvegardées dans le fichier ISPTABLE.
ISPSLIB et ISPFILE pour les squelettes et les fichiers générés à partir de ces
squelettes
Un squelette est un fichier dont la structure est paramétréepar des variables de dialogue. Ils jouent donc le
rôle de modèles. Les fichiers générés sont stockés dans ISPFILE.
ISPPROF pour les fichiers contenant des données propres à chaque utilisateur
(USER TSO)
On trouve ici les données qui doivent être conservées d'une sessions à l'autre (valeur des touches de
fonction, ...). Elles sont lues en début de session et écrites en fin de sessions.
Exemple de dialogue
Définition et structure d'un panel
• affichage de la table (format et contenu de l'écran à afficher)
• contenu de la table ISPF (table des programmes utilisée)
• structure du panel (structure du panel utilisé)
Cet exemple affiche donc à l'écran une table ISPF dont chaque poste contient le nom d'un programme suivi
des renseignements le concernant.
Un panel est constitué de :
)ATTR - Définit des attributs
On définit ici des caractères spéciaux qui caractériseront certains champs :
• Le caractère spécial '_141_$_' définit le champs.
• en sortie (OUTPUT), donc non modifiable
• en simple brillance (LOW INTENSITY)
• Le caractère spécial '_142_!_' définit le champs.
• en entrée (INPUT)
• double brillance (HIGH INTENSITY)
• Les attributs par défaut sont :
L'attribut '%' correspond à un texte en double brillance.
L'attribut '+' correspond à un texte en simple brillance.
L'attribut '_' correspond à une entrée en simple brillance.
• "texte" est ici un texte à afficher, c'est-à-dire une constante.
)BODY - Définit le format de l'écran
C'est le corps du panel, le dessin de l'écran.
)MODEL - Affiche une table ISPF (réservé aux tables)
5
6. Bruno Delb http://www.brunodelb.com Date : 11/04/1997
Mainframe TSO
Cette section permet d'afficher les variables d'une table ISPF, pour chaque poste de cette table. Il faut
spécifier chaque variable à afficher.
)INIT - Initialise des variables (optionnel)
Les opérations indiquées dans la section INIT sont exécutées avant l'affichage (initialisation des variables,
définition des appels d'aide).
Les opérations indiquées dans la section PROC sont exécutées après l'affichage et la saisie (contrôle des
données, envoi de messages d'erreur, définition des appels d'aide).
Même chose que pour PROC.
)PROC - Contrôle des variables (optionnel)
Les opérations indiquées dans la section INIT sont exécutées avant l'affichage (initialisation des variables,
définition des appels d'aide).
Les opérations indiquées dans la section PROC sont exécutées après l'affichage et la saisie (contrôle des
données, envoi de messages d'erreur, définition des appels d'aide).
Une variable est précédée de '&'.
Exemple :
NOM est constante, tandis que &NOM est une variable.
• +.ZVARS='(ZSCML LGPGM)' fait la correspondance entre les Z utilisés dans les sections BODY et
MODEL et ceux de la liste des variables ZSCML et LGPGM.
• ARS est utilisé quand la longueur du nom de la variable est supérieure à la longueur du champ à
afficher ou à saisir.
• ZSCML=PAGE initialise la variable à PAGE.
• HELP=TUTOR1 appelle l'aide (tutorial) TUTOR1 quand l'utilisateur exécute la commande HELP.
De plus :
• la commande VER permet de vérifier le contenu des variables
• la commande IF permet l'utilisation de conditions dans les contrôles
• la commande TRUNC permet de tronquer des variables
• la commabde TRAIL permet de décomposer des variables
Exemple : De &VAR=12345, on peut obtenir &VAR=123 et =REST=45.
- la commande TRANS translate les valeurs dans une même zone
Exemple : Si &REP=O après une saisie, alors après TRANS, &REP=OUI.
Même chose que pour INIT.
)END - Termine un panel
Cela permet de terminer un panel.
Variables et pools des variables
Il est aussi constitué de variables de dialogue.
Les variables de dialogue permettent de transmettre des informations tout au long d'un dialogue.
Application Profile Pool (pool du profil de l'application)
On définit ici les variables présentes à chaque session de TSO (donc propres à chaque utilisateur). Elle est
disponible dès le début de la session.
Shared Pool (pool partagé)
On définit ici les variables utilisées au cours d'une application (donc propres à chaque session). Elle est
disponible dès le début de l'application, mais sont perdues lors du lancement d'une autre session.
Function Pool (pool des fonctions)
On définit ici les variables utilisées par une fonction de dialogue :
• variable explicite : C'est une variable définie par le service VDEFINE.
• variable implicite : C'est une variable définie dans un panel (sans l'utilisation de VDEFINE).
Variables du système
Les variables dont le nom commence par un 'Z' sont des variables du systèmes.
Exemple : ZCMD et ZSCML.
Variable Description
ZD Caractérise le scrolling. Dans le panel, elle est initialisée à PAGE. L'utilisateur peut lui affecter par CRS, HALF, ...
ZCMD Transmet des commandes. Elle définit, en entrée, le champ des commandes.
ZSEL Permet de sélectionner des écrans ou des fonctions de dialogue de niveau hiérarchique inférieur.
ZCEL Fait appel au service SELECT.
ZDATE Affiche la date.
ZTIME Affiche l'heure.
6
7. Bruno Delb http://www.brunodelb.com Date : 11/04/1997
Mainframe TSO
ZUSER Affiche l'identité de l'utilisateur TSO.
Services ISPF
Service offer Description
VDEFINE Définit une variable explicite.
VCOPY Retourne la valeur d'une variable implicite dans un programme.
VREPLACE Modifie la valeur d'une variable.
VDELETE Supprime une variable.
Mise en oeuvre de panels
SERVICE SELECT
Le SERVICE SELECT définit un nouveau niveau hiérarchique, et l'affichage d'un écran à partir d'une
fonction de dialogue ou un menu.
Il peut être utilisé :
• dans une liste de commandes TSO: ISPEXEC SELECT PANEL (nom_panel)
• dans un panel
Utiliser une interface entre TSO et le langage.
• dans la commande ISPSTART : ISPSTART PANEL (nom_panel) dans une CLIST
• par l'intermédiaire de la variable ZSEL (dans une procédure de contrôle d'un menu) :
ZSEL='PANEL (nom_panel)' . Cette variable agit alors comme le service SELECT.
SERVICE DISPLAY
Il affiche un écran à partir d'une fonction de dialogue.
Il peut être utilisé dans une CLIST : ISPEXEC DISPLAY PANEL (nom_panel)
Pour renvoyer simultanément un message et un panel : ISPEXEC DISPLAY PANEL (nom_panel) MSG
(nom_msg)
Utilisation d'une table
Une table peut être traitée :
• au niveau d'une _27_table entière_ :
- ouverture
• fermeture
• création
• suppression
• au niveau d'un poste de la table :
• mise à jour
• création
• suppression
Le service TBCREATE permet de créer une table du type " liste des programmes d'une application ". Plus
précisemment, il permet de :
• nommer la table
• donner la liste des variables. Elles sont utilisées uniquement comme arguments de recherche, et
pas comme critères de tri.
• définir (éventuellement) les champs-clés
• déclarer la table permanente ou temporaire
Service Description
TBOPEN Lecture d'une table permanente (déjà existante).
TBCLOSE Fermeture et sauvegarde en table.
TBERASE Supprerssion d'une table entière du fichier ISPTABL.
ISPF utilise un pointeur (numéro de rang dans la table) vers le rang à modifier, supprimer ou à créer,
nommé CRP.
Service Description
TBWUERY Retourne la valeur du CRP.
TBTOP Fait pointer le CRP en début de table.
TBBOTTOM Fait pointer le CRP en fin de table.
TBSKIP Fait avancer ou reculer d'un certain nombre de positions.
TBADD Ajoute un rang dans la table, immédiatement après le CRP.
7
8. Bruno Delb http://www.brunodelb.com Date : 11/04/1997
Mainframe TSO
TBMOD Met à jour un poste :
• pour une table avec clé : la modification a lieu en fonction du champ-clé utilisé
comme argument de recherche. Si le rang est trouvé, il y a MAJ. Sinon, TBMOD est
équivalent à TBADD.
• pour une table sans clé : TBMOD est équivalent à TBADD.
TBPUT Met à jour un rang :
• pour une table avec clé : si le champ-clé est égal à celui spécifié dans la commande,
alors le CRP est modifié. Sinon, TBPUT n'est pas exécuté.
• pour une table sans clé : le CRP est modifié.
TBGET Cherche un rang :
• pour une table avec clé : le champ-clé est utilisé comme argument de recherche.
• pour une table sans clé : le rang pointé par le CRP est recherché.
TBDELETE Supprime un rang :
• pour une table avec clé : le champ-clé est utilisé comme argument de recherche.
• pour une table sans clé : le rang pointé par le CRP est supprimé.
Squelette
Le squelette génère des fichiers grâce à sa structure paramétrée.
Il existe deux types de lignes :
• les lignes qui génèrent les enregistrements en sortie
• les lignes qui contrôlent la génération des enregistrements par des ordres
Nous allons étudier ici le deuxième cas.
Les ordres commencent par le caractères ')'.
Commandes
Commande Description
)SEL expression_relation Si la relation est vérifiée, alors les enregistrements situés entre )
(enregistrement_à_générer) )ENDSEL SEL et )ENDSEL sont générés.
)DOT nom_table (enregistrement_à_générer) Génère les enregistrements indiqués pour chaque poste de la
)ENDDOT table.
)SET variable=expression Affecte une valeur à une variable de dialogue.
)TB valeur1 valeur2 ... valeur8 Tabule la ligne à générer.
)IM nom_squelette Appelle un squelette (de la même manière qu'un appel à un sous-
programme).
)CM commentaire Permet d'introduire un commentaire.
Initialisation d'une session
• l'utilisateur rentre au clavier LOGON
• l'utilisateur doit s'identifier
• TSO alloue un espace-adresse (ou zone de travail)
• TSO alloue des fichiers (nécessaires à TSO + d'autres indiqués par l'utilisateur)
Grâce à TSO, l'utilisateur peut :
• utiliser de la mémoire
• allouer des fichiers
• libérer des fichiers
• exécuter des programmes
• mettre en oeuvre d'atres logiciels (ISPF, ...)
C'est à l'utilisateur de décider d'allouer de nouveaux fichiers et de libérer ceux qui ne sont plus nécessaires.
Cependant, il peut parfois arriver qu'il doive taper des séquences d'instructions répétitives.
Pour éviter cela, il peut utiliser les CLIST (listes de commandes).
Terminaison d'une session TSO
• l'utilisateur rentre au clavier LOGOFF
• TSO désalloue l'espace-adresse
• TSO désalloue les fichiers
Gestion du fichier des squelettes
Pour pouvoir générer des fichiers en sortie, le fichier des squelettes doit être ouvert.
Le service FTOPEN ouvrer le fichier des squelettes.
Le service FTINCL appelle le squelette.
8
9. Bruno Delb http://www.brunodelb.com Date : 11/04/1997
Mainframe TSO
Le service FTCLOSE ferme le fichier des squelettes.
)TB 8 20 40
LISTE !DES ! PROGRAMMES.
'LISTE' commence en colonne 8.
'DES' commence en colonne 20.
'PROGRAMMES' commence en colonne 4.
9