"Conversion README en markdown"

This commit is contained in:
Doug Le Tough 2017-07-22 02:50:29 +02:00
parent 482f16c120
commit 8a11f8236b

212
README.md
View File

@ -324,8 +324,8 @@ Exemple de déclaration valide :
* **<var>**: nom de la variable dans laquelle sera stockée le(s) argument(s) * **<var>**: nom de la variable dans laquelle sera stockée le(s) argument(s)
si plusieurs arguments alors un tableau sera initialisé **<var[n]>** si plusieurs arguments alors un tableau sera initialisé **<var[n]>**
L'index [n] commence à zero. L'index [n] commence à zero.
Le nombre d'arguments effectivement passés à la commande est **${#<var>[\*]}**. Le nombre d'arguments effectivement passés à la commande est **${#&lt;var&gt;[\*]}**.
La valeur max de l'index [n] est **${#<var>[\*]} - 1**. La valeur max de l'index [n] est **${#&lt;var&gt;[\*]} - 1**.
* **&lt;nb\_arg&gt;**: nombre d'arguments attendus de la forme "**min/max**", "**min/**", "**max**" ou "" * **&lt;nb\_arg&gt;**: nombre d'arguments attendus de la forme "**min/max**", "**min/**", "**max**" ou ""
si vide ou "0" alors l'option est booléene. si vide ou "0" alors l'option est booléene.
@ -339,10 +339,10 @@ Fonctionne si **&lt;nb\_arg&gt;** vaut 0/1 1/1
* **&lt;OptI&gt;**: Liste des options inclusives séparées par une virgule. * **&lt;OptI&gt;**: Liste des options inclusives séparées par une virgule.
Lors de l'initialisation les marqueurs "**@OPT**" sont lues et analysées. Lors de l'initialisation les marqueurs "**@OPT**" sont lues et analysées.
Le résultat est comparé aux arguments et options sousmis au script et les variables suivantes son initialisées ... Le résultat est comparé aux arguments et options sousmis au script et les variables suivantes sont initialisées ...
* **SH\_OPTION\_&lt;nom&gt;**: Initialisée à "1" (Vrai) ou "0" (Faux) selon que l'option est respectivement utilisée ou non. * **SH\_OPTION\_&lt;nom&gt;**: Initialisée à "1" (Vrai) ou "0" (Faux) selon que l'option est respectivement utilisée ou non.
Il existe toujours une variable par option déclarée. Ceci concerne aussi les options par défaut géré par la bibliothèque params.lib Il existe toujours une variable par option déclarée. Ceci concerne aussi les options par défaut gérées par la bibliothèque **params.lib**.**-h**, **-log**, **-hist**, **-cpt**, **-s** et **-dbg****
* **SH\_ARG\_&lt;nom&gt;**: Cette variable existe uniquement si le champ **&lt;var&gt;** est null et si le type n'est pas booléen. * **SH\_ARG\_&lt;nom&gt;**: Cette variable existe uniquement si le champ **&lt;var&gt;** est null et si le type n'est pas booléen.
Par défaut elle est initialisée à **null** ou avec la valeur **&lt;def\_val&gt;** Par défaut elle est initialisée à **null** ou avec la valeur **&lt;def\_val&gt;**
@ -351,7 +351,7 @@ Si l'option associée peut prendre plusieurs arguments, alors les variables **SH
sont des tableaux dont l'index commence a zéro. La taille du tableau peut etre récuperée via sont des tableaux dont l'index commence a zéro. La taille du tableau peut etre récuperée via
**${#SH\_ARG\_&lt;nom&gt;[\*]}** ou **${#&lt;var&gt;[\*]}**. **${#SH\_ARG\_&lt;nom&gt;[\*]}** ou **${#&lt;var&gt;[\*]}**.
Les options -h, -s, -log [id], -hist [N] et -dbg N sont prises en charge automatiquement. Ces noms sont donc reservées. Les options **-h**, **-s**, **-log [id]**, **-hist [N]** et **-dbg N** sont prises en charge automatiquement. Ces noms sont donc reservées.
Les options par défaut réalisent les actions suivantes : Les options par défaut réalisent les actions suivantes :
@ -365,19 +365,20 @@ Les options par défaut réalisent les actions suivantes :
dont l'option -debug est utilisée. dont l'option -debug est utilisée.
* Arguments : La déclaration des argument du script n'est pas obligatoire * **Arguments**: La déclaration des arguments du script n'est pas obligatoire
**Attention: Si aucune option "@OPT:" n'est déclarée alors il n y aura pas de prise en charge des arguments.**
Attention : Si aucune option "@OPT:" n'est déclarée alors il n y aura pas de prise en charge des arguments.
Si votre script ne nécessite pas d'option, mais qu'il presente des arguments, il faudra alors déclarer une Si votre script ne nécessite pas d'option, mais qu'il presente des arguments, il faudra alors déclarer une
option bidon : option bidon :
# @OPT: f:bidon:::::: # @OPT: f:bidon::::::
La déclaration est réalisé dans le paragraphe "Liste des options et arguments". La déclaration est réalisé dans le paragraphe "**Liste des options et arguments**".
Elle est identifiée par l'entête de ligne "# @ARG:" suivi de la description. Elle est identifiée par l'entête de ligne "**# @ARG:**" suivi de la description.
Il ne peut y avoir qu'une ligne de description pour les arguments. (Si plusieurs lignes avec le Il ne peut y avoir qu'une ligne de description pour les arguments. (Si plusieurs lignes avec le
marqueur @ARG existent, alors seule la premiere est prise en compte). marqueur **@ARG** existent, alors seule la premiere est prise en compte).
La description consiste en une liste de paramètres séparés par ":" La description consiste en une liste de paramètres séparés par ":"
@ -385,33 +386,32 @@ La description consiste en une liste de paramètres séparés par ":"
L'ordre des paramètres est figé et tous doivent être présents. L'ordre des paramètres est figé et tous doivent être présents.
* &lt;type&gt; : Propriéte de l'attribu défini par l'aggrégation des lettres suivantes: * **&lt;type&**: Propriéte de l'attribu défini par l'aggrégation des lettres suivantes:
f -> Argument falcultative f -> Argument falcultative
o -> Argument obligatoire o -> Argument obligatoire
M -> Argument transforme en majuscule M -> Argument transforme en majuscule
* &lt;var&gt; : nom de la variable dans laquelle sera stockée le(s) argument(s) * **&lt;var&gt;**: nom de la variable dans laquelle sera stockée le(s) argument(s)
si plusieurs arguments alors un tableau sera initialisé &lt;var[n]&gt; si plusieurs arguments alors un tableau sera initialisé **&lt;var[n]&gt;**
L'index [n] commence à zero. L'index [n] commence à zero.
Le nombre d'arguments effectivement passés à la commande est ${#&lt;var&gt;[\*]}. Le nombre d'arguments effectivement passés à la commande est **${#&lt;var&gt;[\*]}**.
La valeur max de l'index [n] est ${#&lt;var&gt;[\*]} - 1. La valeur max de l'index [n] est **${#&lt;var&gt;[\*]} - 1**.
Si &lt;var&gt; n'est pas renseigné alors la variable SH\_ARGS[] est initialisée Si **&lt;var&gt;** n'est pas renseigné alors la variable **SH\_ARGS[]** est initialisée
* &lt;nb\_arg&gt; : nombre d'arguments attendus de la forme "min/max", "min/", "max" ou "". * **&lt;nb\_arg&gt;**: nombre d'arguments attendus de la forme "**min/max**", "**min/**", "**max**" ou "".
si vide alors on considère que le nombre d'arguments est a minima de 1. si vide alors on considère que le nombre d'arguments est a minima de 1.
la forme "min/" considère le nombre est a minima de "min". la forme "**min/**" considère le nombre est a minima de "**min**".
* &lt;def\_val&gt; : Valeur par défaut assignée a &lt;var&gt; * **&lt;def\_val&gt;**: Valeur par défaut assignée à **&lt;var&gt;**
Fonctionne si &lt;nb\_arg&gt; vaut 0/1 1/1 Fonctionne si **&lt;nb\_arg&gt;** vaut 0/1 1/1
ATTENTION: **Attention: Si le caractère "**&**" est présent dans la valeur d'un argument, alors cette valeur doit être encadrée
Si le caractère "&" est présent dans la valeur d'un argument, alors cette valeur doit être encadrée par une simple quote et le caractère "&" doit être protégé par un anti-slash "\".**
par une simple quote et le caractère "&" doit être protégé par un anti-slash "\".
Dans le cas contraire le shell génèrera un fils qui tentera l'execution d'un script portant le nom de la valeur si le caractère "**&**" n'est pas protégé le shell génèrera un fils qui tentera l'execution d'un script portant
de l'argument. le nom de la valeur de l'argument ! Effet de bord garanti !
#### 1.2 Versionnement sémantique #### 1.2 Versionnement sémantique
@ -423,15 +423,15 @@ place de dépendances et de déterminer les impacts d'un changement.
##### 1.2.2 Format ##### 1.2.2 Format
Le format utilisé est le suivant: X.Y.Z Le format utilisé est le suivant: **X.Y.Z**
* X est l'identifiant de version majeure. * X est l'identifiant de **version majeure**.
* Y est l'identifiant de version mineure. * Y est l'identifiant de **version mineure**.
* Z est l'identifiant de version de correction. * Z est l'identifiant de **version de correction**.
##### 1.2.3 Sémantique ##### 1.2.3 Sémantique
* Version majeure X : Il vaut "0" lors du développement, le script est considéré non valide et ne * **Version majeure X**: Il vaut "0" lors du développement, le script est considéré non valide et ne
devrait pas être appelé par d'autres scripts. Une fois le script valide la version doit etre 1.0.0 devrait pas être appelé par d'autres scripts. Une fois le script valide la version doit etre 1.0.0
(première version stable). (première version stable).
@ -439,11 +439,11 @@ Il doit etre incrementé si des changements dans le code n'assure plus la compat
Les identifiants de version mineure et de correction doivent etre remis à zero quand l'identifiant Les identifiants de version mineure et de correction doivent etre remis à zero quand l'identifiant
de version majeure est incrementé. de version majeure est incrementé.
* Version mineur Y : Doit être incrementé lors de l'ajout de nouvelles fonctionnalités ou d'amélioration * **Version mineur Y**: Doit être incrementé lors de l'ajout de nouvelles fonctionnalités ou d'amélioration
du code qui n'ont pas d'impact sur la compatibilité ascendante. L'identifiant de version de correction doit du code qui n'ont pas d'impact sur la compatibilité ascendante. L'identifiant de version de correction doit
être remis a zero lorsque l'identifiant de version mineure est incrementé. être remis a zero lorsque l'identifiant de version mineure est incrementé.
* Version de correction Z : Doit être incrementé si seules des corrections rétro-compatibles sont introduites. * **Version de correction Z**: Doit être incrementé si seules des corrections rétro-compatibles sont introduites.
Une correction est définie comme un changement interne qui corrige un comportement incorrect. Une correction est définie comme un changement interne qui corrige un comportement incorrect.
Il peut être incrementé lors de correction typographique ou grammaticale. Il peut être incrementé lors de correction typographique ou grammaticale.
@ -453,9 +453,9 @@ Il peut être incrementé lors de correction typographique ou grammaticale.
Par défaut les bibliothèques du socle sont chargées à la connexion. Mais pour qu'elles puissent être operationnelles Par défaut les bibliothèques du socle sont chargées à la connexion. Mais pour qu'elles puissent être operationnelles
il faut initialiser les variables de session. il faut initialiser les variables de session.
Ceci est réalisé en sourcant le fichier "${NC\_EXPL\_CFG}/init.conf" au debut du script : Ceci est réalisé en sourcant le fichier "**${NC\_EXPL\_CFG}/init.conf**" au debut du script :
Remarque: L'analyse des options et arguments est aussi réalisée par "${NC\_EXPL\_CFG}/init.conf". Remarque: L'analyse des options et arguments est aussi réalisée par "**${NC\_EXPL\_CFG}/init.conf**".
+----------------------------------------------------------------------------------------------------+ +----------------------------------------------------------------------------------------------------+
| | | |
@ -539,25 +539,25 @@ assurer une homogénéite dans l'ensemble du socle.
fct_erreur 0 fct_erreur 0
Note : La construction G\_VAR1=${G\_AVR1:="Valeur par défaut"} permet de définir une variable avec une **Note**: La construction **G\_VAR1=${G\_AVR1:="Valeur par défaut"}** permet de définir une variable avec une
valeur par défaut, qui peut être surchargée dans le fichier de configuration {NC\_EXPL\_CFG}/&lt;Nom\_du\_script&gt;.conf valeur par défaut, qui peut être surchargée dans le fichier de configuration **${NC\_EXPL\_CFG}/&lt;Nom\_du\_script&gt;.conf**
Concernant les fonctions **fct\_message** et **fct\_erreur** voir le chapitre V. Concernant les fonctions **fct\_message** et **fct\_erreur** voir le chapitre V.
### 4 - Actions réalisées au lancement d'un script ### 4 - Actions réalisées au lancement d'un script
Le script commence par le chargement de la configuration ". ${NC\_EXPL\_CFG}/init.conf" Le script commence par le chargement de la configuration "**. ${NC\_EXPL\_CFG}/init.conf**"
un certain nombre d'actions sont effectuées par défaut en plus de l'initialisation des variables de session. un certain nombre d'actions sont effectuées par défaut en plus de l'initialisation des variables de session.
* Initialisation des variables de session (Cf. II.3) * Initialisation des variables de session (Cf. II.3)
* Génération d'un numéro de session unique sous la varable ${SH\_SESSION\_ID} * Génération d'un numéro de session unique sous la varable **${SH\_SESSION\_ID}**
* Chargement du fichier ${SH\_FICCFG} * Chargement du fichier **${SH\_FICCFG}**
* Rotation des fichiers ${SH\_FICLOG} et ${SH\_FICCPT} selon les rétentions respective ${SH\_RETENTION\_LOG} et ${SH\_RETENTION\_CPT} * Rotation des fichiers **${SH\_FICLOG}** et **${SH\_FICCPT}** selon les rétentions respective **${SH\_RETENTION\_LOG}** et **${SH\_RETENTION\_CPT}**
* Purge des fichiers temporaires (${NC\_EXP\_ROOT}/tmp) antérieurs selon la retentions ${SH\_RETENTION\_LOG} et * Purge des fichiers temporaires (${NC\_EXP\_ROOT}/tmp) antérieurs selon la retentions **${SH\_RETENTION\_LOG}** et
suppression des fichiers générés par le script utilsant le socle dans ${NC\_EXP\_ROOT}/log et ${NC\_EXP\_ROOT}/cpt suppression des fichiers générés par le script utilsant le socle dans **${NC\_EXP\_ROOT}/log** et **${NC\_EXP\_ROOT}/cpt**
* Ecriture dans le fichier ${SH\_FICTRC} de la date de début exécution ainsi que les arguments passés au script * Ecriture dans le fichier **${SH\_FICTRC}** de la date de début exécution ainsi que les arguments passés au script
* Initialisation du fichier ${SH\_FICLOG} à vide * Initialisation du fichier **${SH\_FICLOG}** à vide
* Analyse des paramètres passés au script * Analyse des paramètres passés au script
Cette analyse ne fonctionne que si les options ont été déclarées dans l'entête du script (Cf. III.1.1.2) Cette analyse ne fonctionne que si les options ont été déclarées dans l'entête du script (Cf. III.1.1.2)
@ -568,11 +568,11 @@ Cette analyse ne fonctionne que si les options ont été déclarées dans l'ent
### 1 - Fichiers temporaires ### 1 - Fichiers temporaires
Les fichiers temporaires doivent etre écrits dans le répertoire ${NC\_EXPL\_TMP}. Les fichiers temporaires doivent etre écrits dans le répertoire **${NC\_EXPL\_TMP}**.
Les noms des fichiers temporaires sont de la forme : &lt;Libre&gt;\_${SH\_SESSION\_ID}.tmp Les noms des fichiers temporaires sont de la forme : **&lt;Libre&gt;\_${SH\_SESSION\_ID}.tmp**
De cette facon il seront gérés par le socle (Suppresion automatique). De cette facon il seront gérés par le socle (Suppresion automatique).
### 2 - Nom des exécutables (fichiers du dossier ${EXPL\_ROOT}/bin ) ### 2 - Nom des exécutables (fichiers du dossier **${EXPL\_ROOT}/bin** )
Les noms des fichiers doivent être de la forme : Les noms des fichiers doivent être de la forme :
@ -582,32 +582,32 @@ Les noms des fichiers doivent être de la forme :
<app>_<descr>.<language> <app>_<descr>.<language>
* &lt;pre&gt; : est une des valeurs suivantes : "sys", "dba", "exp", "ctl", "aud", "int" * **&lt;pre&gt;**: est une des valeurs suivantes : "**sys**", "**dba**", "**exp**", "**ctl**", "**aud**", "**int**"
* "sys" : Scrits d'administration système. * "**sys**": Scrits d'administration système.
* "dba" : Scripts d'administration base de données * "**dba**": Scripts d'administration base de données
Ces scripts peuvent présenter des risques et doivent faire l'objet d'une attention particulière Ces scripts peuvent présenter des risques et doivent faire l'objet d'une attention particulière
lors de leurs exécution. lors de leurs exécution.
* "exp" : Scripts d'exploitation dévolus principalement aux traitements réccurents * "**exp**" : Scripts d'exploitation dévolus principalement aux traitements réccurents
Ces scripts sont réservés à l'exploitation courante. Il peuvent modifier le système dans le cadres de Ces scripts sont réservés à l'exploitation courante. Il peuvent modifier le système dans le cadres de
traitements réccurents. traitements réccurents.
Leurs exécution est de risque modére, comme respecter une date d'execution. Leurs exécution est de risque modére, comme respecter une date d'execution.
Il sont reservés à l'exploitation système uniquement. Il sont reservés à l'exploitation système uniquement.
Dans le cas d'un traitement réccurrent pour le compte d'une application le nom doit Dans le cas d'un traitement réccurrent pour le compte d'une application le nom doit
être de la forme <app>\_<descr>.<language> être de la forme <app>\_<descr>.<language>
* "int" : Scripts dédiés aux interfaces entre applications * "**int**" : Scripts dédiés aux interfaces entre applications
Ces scripts doivent faire l'objet d'une attention particulière car il peuvent modifier Ces scripts doivent faire l'objet d'une attention particulière car il peuvent modifier
les données applicatives et peuvent être contraints par des conditions d'execution. les données applicatives et peuvent être contraints par des conditions d'execution.
* "ctl" : Script de contrôle (dévolu principalement au système de monitoring) * "**ctl**" : Script de contrôle (dévolu principalement au système de monitoring)
* "aud" : Script d'audit ne modifiant pas le système. * "**aud**" : Script d'audit ne modifiant pas le système.
Ces scripts peuvent être executés sans aucun risque. Ces scripts peuvent être executés sans aucun risque.
* &lt;descr&gt; est libre, doit refléter si possible la fonction du script. * **&lt;descr&gt;** est libre, doit refléter si possible la fonction du script.
* &lt;language&gt; est une des valeurs suivantes : * **&lt;language&gt;** est une des valeurs suivantes :
"sh" : Script Bash. "**sh**" : Script Bash.
* &lt;app&gt; est le nom de l'application à laquelle le script est dédié. * **&lt;app&gt;** est le nom de l'application à laquelle le script est dédié.
Ces scripts sont réservés à une application particulière dans le cadres de l'exploitation Ces scripts sont réservés à une application particulière dans le cadres de l'exploitation
réccurente de l'application. réccurente de l'application.
@ -616,38 +616,38 @@ réccurente de l'application.
### 1 - fct\_message ### 1 - fct\_message
* Syntaxe : fct\_message [-cpt] [-hist] [-nolog] [-debug N] [-color Couleur] "&lt;Message à ecrire&gt;" * **Syntaxe**: fct\_message [-cpt] [-hist] [-nolog] [-debug N] [-color Couleur] "&lt;Message à ecrire&gt;"
* Usage : Cette fonction est à utiliser en remplacement de la commande "echo". * **Usage**: Cette fonction est à utiliser en remplacement de la commande "echo".
Elle ajoute l'horadatage au message et gère la ventilation des écritures dans les differents fichiers de traces. Elle ajoute l'horadatage au message et gère la ventilation des écritures dans les differents fichiers de traces.
* Fonction : Par défaut le message est affiché sur le terminal et est écrit dans le fichier journal ${NC\_EXPL\_LOG}/&lt;nom\_du\_script&gt;.log * **Fonction**: Par défaut le message est affiché sur le terminal et est écrit dans le fichier journal **${NC\_EXPL\_LOG}/&lt;nom\_du\_script&gt;.log**
Les options modifient la destination de l'écriture : Les options modifient la destination de l'écriture :
* -cpt : Écrit en plus du journal dans le fichier de compte-rendu ${NC\_EXPL\_CPT}/&lt;nom\_du\_script&gt;.cpt * **-cpt**: Écrit en plus du journal dans le fichier de compte-rendu **${NC\_EXPL\_CPT}/&lt;nom\_du\_script&gt;.cpt**
* -hist : Écrit uniquement dans le fichier d'historique des exécutions ${NC\_EXPL\_TRC}/&lt;nom\_du\_script&gt;.hist * **-hist**: Écrit uniquement dans le fichier d'historique des exécutions **${NC\_EXPL\_TRC}/&lt;nom\_du\_script&gt;.hist**
* -nolog : Inhibe l'écritutre dans le fichier journal * **-nolog**: Inhibe l'écritutre dans le fichier journal
* -debug N : N'affiche pas le message sur le terminal mais uniquement dans le fichier journal, à condition * **-debug N**: N'affiche pas le message sur le terminal mais uniquement dans le fichier journal, à condition
que le script soit execute en mode debug de niveau equivalent à "N" via l'option "-dbg N". que le script soit execute en mode debug de niveau equivalent à "N" via l'option "**-dbg N**".
Par défaut le niveau de debug est 0, ainsi si "N" vaut zero alors le message est écrit uniquement dans le fichier journal. Par défaut le niveau de debug est 0, ainsi si "N" vaut zero alors le message est écrit uniquement dans le fichier journal.
* -color : Affiche le message en couleur. Les couleurs reconues sont : vert,rouge,bleu,cyan,jaune,orange,blanc et noir * **-color**: Affiche le message en couleur. Les couleurs reconues sont : vert, rouge, bleu, cyan, jaune, orange, blanc et noir
### 2 - fct\_affiche\_ligne ### 2 - fct\_affiche\_ligne
* Syntaxe : fct\_affiche\_ligne [entete|pied] &lt;elements&gt; * **Syntaxe**: fct\_affiche\_ligne [entete|pied] &lt;elements&gt;
* Usage : Affiche un tableau sur la sortie standard et dans le fichier compte-rendu ${NC\_EXPL\_ROOT}/&lt;script&gt;.cpt * **Usage**: Affiche un tableau sur la sortie standard et dans le fichier compte-rendu **${NC\_EXPL\_ROOT}/&lt;script&gt;.cpt**
* **Fonction**: 3 étapes sont nécéssaires pour créer un tableau :
* Fonction : 3 étapes sont nécéssaires pour créer un tableau :
* Définition du tableau * Définition du tableau
* Affichage des éléments * Affichage des éléments
* Fermeture du tableau * Fermeture du tableau
Ces étapes doivent impérativement être suivies et dans cet ordre. Ces étapes doivent impérativement être suivies et dans cet ordre.
Il n'est pas possible d'imbriquer des tableaux.
* Définition: Elle est réalisée par l'appel de la fonction fct\_affiche\_ligne avec l'argument entête. La forme est alors la suivante : **Il n'est pas possible d'imbriquer des tableaux.**
* **Définition**: Elle est réalisée par l'appel de la fonction **fct\_affiche\_ligne** avec l'argument entête. La forme est alors la suivante :
fct_affiche_ligne entete "{Titre}" "{Colonne_1},{Taille_1}" "{Colonne_2},{Taille_2}" "{Colonne_3},{Taille_3}" "{Colonne_4},{Taille_4}" ... fct_affiche_ligne entete "{Titre}" "{Colonne_1},{Taille_1}" "{Colonne_2},{Taille_2}" "{Colonne_3},{Taille_3}" "{Colonne_4},{Taille_4}" ...
@ -706,10 +706,10 @@ Il n'est pas possible d'imbriquer des tableaux.
### 3 - fct\_erreur ### 3 - fct\_erreur
* Syntaxe : fct\_erreur &lt;N&gt; * **Syntaxe**: fct\_erreur &lt;N&gt;
* Usage : Gestion des erreurs d'un script * **Usage**: Gestion des erreurs d'un script
* Fonction : Cette fonction doit etre appelée pour sortir d'un script du socle. * **Fonction**: Cette fonction doit etre appelée pour sortir d'un script du socle.
Elle affiche le message d'erreur associé au code qui est lu dans le fichier ${NC\_EXPL\_MSG}/&lt;script&gt;.msg Elle affiche le message d'erreur associé au code qui est lu dans le fichier **${NC\_EXPL\_MSG}/&lt;script&gt;.msg**
Elle exécute éventuellement une fonction rattachée, spécifiée dans ce même fichier. Elle exécute éventuellement une fonction rattachée, spécifiée dans ce même fichier.
Elle ferme les fichiers de traces, supprime les fichiers temporaires, libère les semaphores et Elle ferme les fichiers de traces, supprime les fichiers temporaires, libère les semaphores et
renvoie un code retour au script appelant. renvoie un code retour au script appelant.
@ -727,65 +727,65 @@ N est un entier positif dont les valeurs suivantes sont reservées :
* Le fichier &lt;script&gt;.msg: Contient les descriptions des codes erreur. * Le fichier **&lt;script&gt;.msg**: Contient les descriptions des codes erreur.
* Un code par ligne de la forme: * Un code par ligne de la forme:
<NumErreur> | <type> | <action> | <message> ou <fonction> <NumErreur> | <type> | <action> | <message> ou <fonction>
* &lt;NumErreur&gt; : Entier positif identifiant l'erreur * **&lt;NumErreur&gt;**: Entier positif identifiant l'erreur
* &lt;type&gt; : prend les valeurs erreur, alert ou info. Colorise le message en fonction * **&lt;type&gt;**: prend les valeurs erreur, alert ou info. Colorise le message en fonction
du type respectivement rouge, orange et bleu du type respectivement rouge, orange et bleu
* &lt;action&gt; : Action à realiser (continu, stop, exec) * **&lt;action&gt;**: Action à realiser (continu, stop, exec)
* continu : Affiche le message puis rend la main au script * **continu**: Affiche le message puis rend la main au script
* stop : Affiche le message puis sort en erreur * **stop**: Affiche le message puis sort en erreur
* exec : exécute la fonction puis rend la main au script * **exec**: exécute la fonction puis rend la main au script
* &lt;fonction&gt; : Fonction à exécuter. Ce champs peut contenir des variables qui seront valorisées. * **&lt;fonction&gt;**: Fonction à exécuter. Ce champs peut contenir des variables qui seront valorisées.
* &lt;message&gt; : Message à afficher (dans les traces et sur la sortie standard). Ce champs peut contenir * **&lt;message&gt;**: Message à afficher (dans les traces et sur la sortie standard). Ce champs peut contenir
des variables qui seront valorisées. des variables qui seront valorisées.
### 4 - fct\_unique\_exec ### 4 - fct\_unique\_exec
* Syntaxe : fct\_unique\_exec [&lt;nom&gt;] [&lt;Occurences&gt;] * **Syntaxe**: fct\_unique\_exec [&lt;nom&gt;] [&lt;Occurences&gt;]
* Usage : Empeche l'exécution multiple d'un code par l'acquisition de sémaphore * **Usage**: Empeche l'exécution multiple d'un code par l'acquisition de sémaphore
* Fonction : [DOCUMENTATION MANQUANTE] * **Fonction**: [DOCUMENTATION MANQUANTE]
### 5 - fct\_libere\_exec ### 5 - fct\_libere\_exec
* Syntaxe : fct\_libere\_exec [&lt;nom&gt;] * **Syntaxe**: fct\_libere\_exec [&lt;nom&gt;]
* Usage : Libère les sémaphores * **Usage**: Libère les sémaphores
* Fonction : [DOCUMENTATION MANQUANTE] * **Fonction**: [DOCUMENTATION MANQUANTE]
### 6 - fct\_usage ### 6 - fct\_usage
* Syntaxe : fct\_usage * **Syntaxe**: fct\_usage
* Usage : Affiche l'aide du script. Ce sont les lignes du cartouche commencant par "##" * **Usage**: Affiche l'aide du script. Ce sont les lignes du cartouche commencant par "##"
* Fonction : Cette fonction est uniquement à usage interne du socle. Elle est intégrée à la fonction fct\_params. * **Fonction**: Cette fonction est uniquement à usage interne du socle. Elle est intégrée à la fonction fct\_params.
### 7 - fct\_rotation ### 7 - fct\_rotation
* Syntaxe : [DOCUMENTATION MANQUANTE] * **Syntaxe**: [DOCUMENTATION MANQUANTE]
* Usage : [DOCUMENTATION MANQUANTE] * **Usage**: [DOCUMENTATION MANQUANTE]
* Fonction : Cette fonction est uniquement à usage interne du socle * **Fonction**: Cette fonction est uniquement à usage interne du socle
### 8 - fctpath ### 8 - fctpath
* Syntaxe : [DOCUMENTATION MANQUANTE] * **Syntaxe**: [DOCUMENTATION MANQUANTE]
* Usage : [DOCUMENTATION MANQUANTE] * **Usage**: [DOCUMENTATION MANQUANTE]
* Fonction : Cette fonction est uniquement à usage interne du socle * **Fonction**: Cette fonction est uniquement à usage interne du socle
### 9 - fct\_params ### 9 - fct\_params
* Syntaxe: fct\_params * **Syntaxe**: fct\_params
* Usage: Gestion des options et arguments du script * **Usage**: Gestion des options et arguments du script
* Fonction : Cette fonction est uniquement à usage interne du socle. * **Fonction**: Cette fonction est uniquement à usage interne du socle.
Elle est appelée à l'initialisation des variables de session lors du chargement du fichier ${NC\_EXPL\_CFG}/init.conf Elle est appelée à l'initialisation des variables de session lors du chargement du fichier **${NC\_EXPL\_CFG}/init.conf**
Cette fonction extrait les lignes de déclaration "# OPT:" et les compare aux arguments sousmis au script. Cette fonction extrait les lignes de déclaration "# OPT:" et les compare aux arguments sousmis au script.
Pour plus d information voir le paragraphe III-1.1.2 Pour plus d'information voir le paragraphe III-1.1.2