> Tech > 4. Pas assez de commandes?

4. Pas assez de commandes?

Tech - Par iTPro - Publié le 24 juin 2010
email

i5/OS V5R3 est livré avec plus de 1 500 commandes CL. L'autre vingtaine de produits logiciels IBM qui fonctionnent sur la V5R3 contiennent environ 700 commandes CL de plus. Mais il y a toujours place pour quelques bonnes commandes supplémentaires ! Depuis le premier jour, les utilisateurs ont eu la

4. Pas assez de commandes?

possibilité de définir leurs propres commandes CL, lesquelles
pourraient se comporter exactement comme les
commandes CL fournies par IBM. Vous pouviez inviter tous
les objets de commandes en utilisant les mêmes prompteurs
CL, et si la commande avait de l’aide online stockée dans un
objet groupe de panneau d’aide, le support d’aide de commandes
online fonctionnait de la même manière. La conséquence
directe était que les clients et les partenaires iSeries
pouvaient étendre le jeu de commandes disponibles de manière
plus libre que sur d’autres plates-formes de systèmes
d’exploitation. Sur les autres plates-formes, les commandes
accompagnant le système d’exploitation utilisaient des mécanismes
dont ne disposaient pas les commandes écrites par
les utilisateurs.
Certains d’entre vous se demandent peut-être : n’est-ce
pas beaucoup de travail que de créer mes propres commandes
? Et vous avez peut-être entendu parler de, voire essayé
vous-mêmes, la création d’une aide de commandes online
et constaté que ça n’avait rien d’une sinécure. Il est vrai
que concevoir une « bonne » commande, ou un « bon » jeu
de commandes constitue un vrai défi. Mais pas beaucoup
plus que concevoir un « bon » jeu d’API appelables ou un
« bon » jeu de panneaux GUI. Fournir vos propres commandes
CL présente le même avantage que
les commandes fournies par IBM. Jugez-en :
la plus grande partie de la vérification de syntaxe
des paramètres d’entrée peut être faite
par le support de commandes CL du système
d’exploitation, les panneaux permettant
d’entrer l’information de commande sont
construits à  l’aide du support du prompteur
de commandes et l’aide de commandes online
sensible au curseur peut être visible, si
l’utilisateur de la commande le souhaite.
Dès lors qu’on s’habitue à  l’idée que chaque instruction
d’un programme CL est définie par une commande CL ou
une autre commande (provenant de la commande PGM
(Program) au début jusqu’à  la commande ENDPGM (End
Program) à  la fin), on ne s’étonnera pas d’apprendre qu’une
commande CL est définie à  l’aide d’instructions qui sont des
commandes spécialisées. Comme avec les commandes CL
utilisées pour les instructions de langage CL, cela permet aux
instructions de définition de commandes d’être sollicitées
par invite, comme n’importe quelle autre commande.
La source de la définition de commande commence par
une instruction CMD (Command) simple, suivie d’une instruction
PARM (Parameter) pour chaque paramètre à  passer
vers le programme de traitement des commandes. De
simples paramètres scalaires et de simples paramètres de
liste peuvent être complètement décrits dans une instruction
PARM, tandis que des paramètres structurés plus complexes
exigent que PARM fasse référence à  un ensemble
d’instructions ELEM (Element). Les paramètres de nom
d’objet ou de nom de job qualifiés demandent deux ou trois
instructions QUAL (Qualifier).
Les instructions DEP (Dependency) permettent de définir
des vérifications de syntaxe entre deux paramètres ou
plus, et on dispose des instructions PMTCTL (Prompt
Control) s’il semble que l’invite conditionnelle rendra la
commande plus facile à  utiliser. La figure 4 montre un
exemple de source de définition de commandes permettant
de créer une commande nommée DSPOBJL (Display Object
List).
Etablir le lien entre une commande et son aide online,
qui est stockée dans un objet de groupe panneau (*PNLGRP),
est une opération en deux phases. Premièrement, la
commande doit indiquer qu’elle a de l’aide online. On fait
cela en spécifiant HLPID(*CMD) sur la commande CRTCMD
et en spécifiant le nom du groupe panneau d’aide (paramètre
HLPPNLGRP) où les prompteurs CL devront rechercher
l’aide de commande. Le groupe panneau n’existe pas
forcément au moment où l’on crée la commande. La figure 5
est un panneau d’invite de commande CRTCMD qui montre
les paramètres HLPPNLGRP et HLPID.
La seconde phase consiste à  créer l’aide en ligne, ce qui
demande d’écrire la source d’aide en ligne en utilisant le langage
tag UIM (User Interface Manager). Cela a toujours été
une tâche ardue que la V5R3 a grandement simplifiée grâce
au support du système d’exploitation, qui peut générer un fichier
source de commande UIM contenant une ébauche de
l’aide online de commandes, basée sur un objet de définition
de commande (*CMD). Pour plus d’informations, voir le
chapitre 10 du manuel V5R3 CL Programming (SC41-5721) à 
l’iSeries Information Center, ou bien lire l’aide en ligne
concernant la commande GENCMDDOC (Generate
Command Documentation).

Téléchargez gratuitement cette ressource

Endpoint Security : Guide de Mise en œuvre

Endpoint Security : Guide de Mise en œuvre

Détournement d’applications légitimes, élévation de privilèges, logiciels malveillants furtifs : comment les solutions de Endpoint Security permettent elles de faire face aux nouvelles techniques d'attaques complexes ? Découvrez, dans ce Guide Endpoint Security, les perspectives associées à leur mise en œuvre.

Tech - Par iTPro - Publié le 24 juin 2010