![Programmation shell sous Unix/Linux - eni - 9782409038020 -](https://www.unitheque.com/Intermediaire3/CouvertureP/R/9782409038020-programmation-shell-sous-unix-linux_g.jpg)
Programmation shell sous Unix/Linux
ksh, bash, norme POSIX (avec exercices corrigés)
Ce livre sur la programmation shell s'adresse aux utilisateurs et administrateurs des systèmes Unix/Linux souhaitant se former à l'écriture de scripts shell. Les fonctionnalités des shells ksh88, ksh93 et bash sont détaillées et leurs différences signalées. Le cas échéant, la conformité à la norme POSIX est mentionnée. Il en sera de même pour la [...]
[lire le résumé du livre]
Auteur : Christine DEFFAIX RéMY
Editeur : Eni
Collection : Expert IT
Date parution : 12/2022 7e éditionCB Google/Apple Pay, Chèque, Virement
Quel est le sujet du livre "Programmation shell sous Unix/Linux"
Ce livre sur la programmation shell s'adresse aux utilisateurs et administrateurs des systèmes Unix/Linux souhaitant se former à l'écriture de scripts shell. Les fonctionnalités des shells ksh88, ksh93 et bash sont détaillées et leurs différences signalées. Le cas échéant, la conformité à la norme POSIX est mentionnée. Il en sera de même pour la compatibilité avec le shell historique Bourne. Les thèmes sont présentés de manière progressive et pédagogique, ce qui fait de cet ouvrage un support idéal destiné aussi bien à la formation professionnelle qu'à l'autoformation.
Les premiers chapitres sont consacrés au fonctionnement du shell : lancement d'une commande, caractères spéciaux du shell couramment employés (redirections, tubes…), paramétrage de l'environnement de travail de l'utilisateur (variables et fichiers d'environnement…).
La suite de l'ouvrage est dédiée à la programmation proprement dite. Les bases de la programmation (variables, structures de contrôle, commandes de test et de calculs…) sont présentées et illustrées par de nombreux exemples. Sont ensuite détaillés les aspects avancés de la programmation shell (gestion des fichiers, fonctions…).
Les mécanismes internes du shell sont expliqués en détail et illustrés par de nombreux schémas.
La dernière partie de l'ouvrage traite des outils annexes indispensables au traitement de chaînes de caractères et de fichiers texte : les expressions régulières basiques et étendues, l'éditeur non interactif sed, un panorama étendu du langage awk enrichi de fonctionnalités gawk, ainsi que les principales commandes filtres des systèmes Unix. Le chapitre Comment faire résume les principales problématiques et présente différentes méthodes de résolution.
Des exercices permettront au lecteur de pratiquer l'écriture de scripts shell tout au long de l'ouvrage. Les solutions sont présentées dans le dernier chapitre. Les exemples de scripts présentés dans l'ouvrage, ainsi que les scripts solutions des exercices sont disponibles en téléchargement sur le site www.editions-eni.fr. Téléchargements
Ingénieure informatique au sein de la société Ociensa Technologies, spécialiste en développement informatique notamment dans les environnements Unix et Linux, Christine Deffaix Rémy intervient sur des missions de développement et de formation auprès de grands comptes. Sa solide expérience s'allie à ses qualités pédagogiques pour fournir au lecteur un ouvrage réellement efficace sur l'apprentissage de l'écriture de scripts shell.
En suivant ce lien, retrouvez tous les livres dans la spécialité Linux-Unix.
Sommaire et contenu du livre "Programmation shell sous Unix/Linux - ksh, bash, norme POSIX (avec exercices corrigés)"
Introduction
- 1. Définition du shell
- 2. Caractéristiques d'un interpréteur de commandes
- 3. Interpréteurs de commandes (shells)
- 3.1 Historique
- 3.2 Avec quel shell faut-il programmer ?
- 3.3 Nom des exécutables à invoquer
- 4. Shells abordés dans cet ouvrage
Mécanismes essentiels du shell
- 1. Présentation
- 2. Commandes internes et externes
- 2.1 Les commandes externes
- 2.2 Les commandes internes
- 2.3 Implémentation interne et implémentation externe
- 3. Affichage à l'écran
- 3.1 La commande echo
- 3.1.1 Le caractère n
- 3.1.2 Le caractère c
- 3.1.3 Le caractère t
- 3.1 La commande echo
- 3.2 Les commandes print et printf
- 6.1 Expressions basiques
- 6.1.1 Le caractère *
- 6.1.2 Le caractère ?
- 6.1.3 Les caractères [ ]
- 6.2.1 ? (expression)
- 6.2.2 *(expression)
- 6.2.3 +(expression)
- 6.2.4 @(expression)
- 6.2.5 !(expression)
- 6.2.6 Alternatives
- 8.1 Entrée et sorties standards des processus
- 8.1.1 Entrée standard
- 8.1.2 Sortie standard
- 8.1.3 Sortie d'erreur standard
- 8.3.1 Sortie standard
- 8.3.2 Sortie d'erreur standard
- 8.3.3 Sortie standard et sortie d'erreur standard
- 8.3.4 Se protéger d’un écrasement involontaire de fichier
- 8.3.5 Éliminer les affichages
- 8.3.6 Mécanisme interne
- 9.1 Commandes ne lisant pas leur entrée standard
- 9.2 Commandes lisant leur entrée standard
- 9.2.1 Exemples triviaux
- 9.2.2 Cas des filtres
- 9.3.1 Enchaîner des tubes
- 9.3.2 Dupliquer les sorties
- 9.3.3 Envoyer la sortie standard et la sortie d'erreur standard dans le tube
- 10.1 Les parenthèses
- 10.2 Les accolades
- 10.3 Conclusion
- 11.1 Principe
- 11.2 Contrôle de tâches (jobs)
- 12.1 Fonctionnalités diverses
- 12.1.1 Exercice 1 : commandes internes et externes
- 12.1.2 Exercice 2 : génération de noms de fichiers
- 12.1.3 Exercice 3 : séparateur de commandes
- 12.2.1 Exercice 1
- 12.2.2 Exercice 2
- 12.2.3 Exercice 3
- 12.2.4 Exercice 4
- 12.2.5 Exercice 5
- 12.2.6 Exercice 6
- 12.3.1 Exercice 1
- 12.3.2 Exercice 2
- 12.3.3 Exercice 3
- 12.3.4 Exercice 4
Paramétrage de l'environnement de travail
- 1. Présentation
- 2. Variables d'environnement
- 2.1 Liste des variables
- 2.2 Affichage de la valeur d'une variable
- 2.3 Modification de la valeur d'une variable
- 2.4 Principales variables
- 2.4.1 HOME
- 2.4.2 PATH
- 2.4.3 PWD
- 2.4.4 PS1
- 2.4.5 PS2
- 2.4.6 SHELL
- 2.4.7 TMOUT
- 2.4.8 TERM
- 2.4.9 LOGNAME
- 2.4.10 BASHOPTS
- 2.5 Processus et variables d'environnement
- 2.6 Exportation des variables du shell
- 2.6.1 Liste des variables exportées
- 2.6.2 Variables devant être exportées
- 2.6.3 Exporter une variable
- 3.1 Activer et désactiver une option du shell
- 3.2 Visualiser la liste des options
- 3.3 Principales options
- 3.3.1 ignoreeof
- 3.3.2 noclobber
- 3.3.3 emacs et vi
- 3.3.4 xtrace
- 4.1 Définir un alias
- 4.2 Visualiser la liste des alias
- 4.2.1 Visualiser tous les alias
- 4.2.2 Visualiser un alias en particulier
- 5.1 Paramétrer le rappel de commandes en ksh
- 5.1.1 Option vi
- 5.1.2 Option emacs
- 5.3.1 La complétion du bash
- 5.3.2 La complétion du ksh
- 5.3.3 Tableau récapitulatif
- 6.1 Caractéristiques des fichiers d'environnement
- 6.1.1 Shell de connexion
- 6.1.2 Fichiers d'environnement lus par le shell de connexion
- 7.1 Variables d'environnement
- 7.1.1 Exercice 1
- 7.1.2 Exercice 2
- 7.2.1 Exercice 1
- 7.2.2 Exercice 2
Les bases de la programmation shell
- 1. Présentation
- 2. Les variables utilisateur
- 2.1 Nommer une variable
- 2.2 Définir une variable
- 2.2.1 Affecter une valeur à une variable
- 2.2.2 Affecter une valeur contenant au moins un espace
- 2.2.3 Variable indéfinie
- 2.2.4 Retirer la définition d'une variable
- 2.2.5 Isoler le nom d'une variable
- 2.2.6 Variables numériques
- 2.2.7 Variables complexes
- 2.2.8 Variables accessibles en lecture seule
- 2.3 Substitution de variables
- 4.1 Les apostrophes (simples quotes)
- 4.2 Le caractère
- 4.3 Les guillemets
- 7.1 Définition
- 7.2 Exécution d'un script par un shell enfant
- 7.3 Exécution d'un script par le shell courant
- 7.4 Commentaires
- 8.1 Les paramètres positionnels
- 8.2 La commande shift
- 8.2.1 Syntaxe
- 8.2.2 Principe
- 8.3.1 La variable $ ?
- 8.3.2 La commande exit
- 8.4.1 PID du shell interpréteur
- 8.4.2 PID du dernier processus lancé en arrière-plan
- 9.1 Syntaxe
- 9.2 Lectures au clavier
- 9.3 Code de retour
- 9.4 La variable IFS
- 10.1 Introduction
- 10.2 La commande [[ ]]
- 10.2.1 Syntaxes
- 10.2.2 Tests sur les fichiers
- 10.2.3 Tests sur les chaînes de caractères
- 10.2.4 Tests numériques
- 10.2.5 Les opérateurs
- 10.2.6 Exemple concret d'utilisation
- 10.3.1 Syntaxe
- 10.3.2 Tests sur les fichiers
- 10.3.3 Tests sur les chaînes de caractères
- 10.3.4 Tests sur les nombres
- 10.3.5 Les opérateurs logiques
- 10.3.6 Exemple concret d'utilisation
- 11.1 Évaluation de l'opérateur &&
- 11.2 Évaluation de l'opérateur ||
- 11.3 Inverser le code de retour d’une commande
- 12.1 La commande (( ))
- 12.1.1 Syntaxe
- 12.1.2 Opérateurs
- 12.3.1 Syntaxe
- 12.3.2 Opérateurs
- 14.1 ksh93
- 14.2 Autres shells
- 15.1 Option -x
- 15.2 Autres options
- 16.1 if
- 16.2 case
- 16.2.1 Syntaxe
- 16.2.2 Principe
- 16.2.3 Utilisation
- 16.3.1 Syntaxe classique
- 16.3.2 Autre syntaxe
- 16.4.1 Syntaxe
- 16.4.2 Utilisation
- 16.4.3 Boucle infinie
- 16.5.1 Syntaxe
- 16.5.2 Utilisation
- 17.1 Variables, caractères spéciaux
- 17.1.1 Exercice 1 : variables
- 17.1.2 Exercice 2 : variables
- 17.1.3 Exercice 3 : substitution de commande
- 17.1.4 Exercice 4 : caractères de protection
- 17.2.1 Exercice 1 : variables
- 17.2.2 Exercice 2 : paramètres positionnels
- 17.2.3 Exercice 3 : lectures clavier
- 17.3.1 Exercice 1 : tests sur des fichiers
- 17.3.2 Exercice 2 : tests de chaînes de caractères
- 17.3.3 Exercice 3 : tests numériques
- 17.3.4 Exercice 4 : arithmétique
- 17.3.5 Exercice 5 : opérateurs logiques des commandes [ ] et [[ ]] et opérateurs logiques du shell
- 17.4.1 Exercice 1 : les commandes [ ] et [[ ]], la structure de contrôle if
- 17.4.2 Exercice 2 : structures de contrôle case, boucle for
- 17.5.1 Exercice 1 : boucle for, commande tr
- 17.5.2 Exercice 2 : boucle for, arithmétique
- 17.5.3 Exercice 3 : boucles for, while
Aspects avancés de la programmation shell
- 1. Présentation
- 2. Comparatif des variables $ * et $ @
- 2.1 Utilisation de $ * et de $ @ sans guillemets
- 2.2 Utilisation de " $ *" entre guillemets
- 2.3 Utilisation de " $ @" entre guillemets
- 3. Manipulation de variables
- 3.1 Longueur de la valeur contenue dans une variable
- 3.2 Retirer le plus petit fragment en début de chaîne
- 3.3 Retirer le plus grand fragment en début de chaîne
- 3.4 Retirer le plus petit fragment en fin de chaîne
- 3.5 Retirer le plus grand fragment en fin de chaîne
- 4. Tableaux indicés numériquement
- 4.1 Définition et initialisation d’un tableau
- 4.2 Assigner un élément de tableau
- 4.3 Valeur d’un élément
- 4.4 Référencer tous les éléments d'un tableau
- 4.5 Obtenir le nombre d'éléments d'un tableau
- 4.6 Obtenir la longueur d'un élément d'un tableau
- 4.7 Parcourir un tableau indicé numériquement
- 5. Tableaux associatifs
- 5.1 Définition et initialisation d’un tableau associatif
- 5.2 Afficher la valeur associée à une clé
- 5.3 Afficher la liste des clés
- 5.4 Afficher la liste des valeurs
- 5.5 Boucler sur un tableau associatif
- 6. Initialisation des paramètres positionnels avec set
- 7. Les fonctions
- 7.1 Définition d'une fonction
- 7.2 Code de retour d'une fonction
- 7.3 Portée des variables
- 7.4 Définition de variables locales
- 7.5 Passage d'arguments
- 7.6 Variable référence
- 7.7 Exploiter l'affichage d'une fonction
- 8. Commandes d'affichage
- 8.1 La commande print
- 8.1.1 Utilisation simple
- 8.1.2 Suppression du saut de ligne naturel de print
- 8.1.3 Afficher des arguments commençant par le caractère "-"
- 8.1.4 Écrire sur un descripteur particulier
- 8.1 La commande print
- 8.2 La commande printf
- 9.1 Redirection des entrées/sorties standards
- 9.2 Gestion de fichiers
- 9.2.1 Descripteurs de fichiers
- 9.2.2 Ouverture de fichier
- 9.2.3 Lecture à partir d'un fichier ouvert
- 9.2.4 Écriture dans un fichier ouvert
- 9.2.5 Fermeture d'un fichier
- 9.3.1 Informations préalables
- 9.3.2 Les différentes façons d'exploiter un fichier
- 9.3.3 Découper une ligne en champs
- 9.3.4 Lire plusieurs lignes avec un appel à read
- 9.3.5 Modifier le séparateur de ligne
- 11.1 Principaux signaux
- 11.2 Ignorer un signal
- 11.3 Modifier le traitement associé à un signal
- 11.4 Repositionner le traitement par défaut du shell vis-à-vis d'un signal
- 11.5 Utiliser trap à partir d'un script shell
- 15.1 Récupérer le nom du shell interpréteur du script
- 15.2 Gestion des séquences d’échappement avec echo
- 15.3 Gestion des caractères étendus
- 15.4 Script complet
- 16.1 Objectif
- 16.2 Le fichier uploadBackup.sh
- 16.3 Le fichier fonctions.inc.sh
- 17.1 Fonctions
- 17.1.1 Exercice 1 : fonctions simples
- 17.1.2 Exercice 2 : fonctions simples, statut de retour
- 17.1.3 Exercice 3 : passage de paramètres, retour de valeur
- 17.1.4 Exercice 4 : fichiers
- 17.1.5 Exercice 5 : fichiers, fonctions, menu select
- 17.1.6 Exercice 6 : fichiers, tableaux associatifs (bash 4, ksh93)
Les expressions régulières
- 1. Présentation
- 2. Caractères communs aux ERb et ERe
- 3. Caractères spécifiques aux ERb
- 4. Caractères spécifiques aux ERe
- 5. Exploitation des expressions régulières par les commandes
- 5.1 La commande vi
- 5.2 La commande grep
- 5.3 La commande expr
- 5.4 sed et awk
- 6. Exercices
- 6.1 Expressions régulières
- 6.1.1 Exercice 1 : expressions régulières avec vi
- 6.1.2 Exercice 2 : grep
- 6.1 Expressions régulières
La commande sed
- 1. Présentation
- 2. Utilisation de la commande sed
- 3. Exemples
- 3.1 Utilisation de sed en ligne de commande
- 3.1.1 La commande d (delete)
- 3.1.2 La commande p (print)
- 3.1.3 La commande w (write)
- 3.1.4 Négation d'une commande (!)
- 3.1.5 La commande s (substitution)
- 3.1 Utilisation de sed en ligne de commande
- 3.2 Script sed
- 4.1 Expressions régulières
- 4.1.1 Exercice 1 : insertion de balises dans un fichier
- 4.1.2 Exercice 2 : formatage de fichier
Le langage de programmation awk
- 1. Présentation
- 1.1 Syntaxe
- 1.2 Version de gawk
- 1.3 Variables spéciales
- 1.3.1 Variables prédéfinies dès le lancement de awk
- 1.3.2 Variables initialisées lors du traitement d'une ligne
- 1.3.3 Exemples simples
- 1.4 Critères de sélection
- 1.4.1 Expressions régulières
- 1.4.2 Tests logiques
- 1.4.3 Intervalles de lignes
- 1.5 Structure d'un script awk
- 1.5.1 BEGIN
- 1.5.2 Sections intermédiaires
- 1.5.3 END
- 1.5.4 Commentaires
- 1.5.5 Variables
- 1.5.6 Exemple
- 6.1 if
- 6.2 switch
- 6.3 for
- 6.4 while
- 6.5 do-while
- 6.6 break
- 6.7 continue
- 8.1 Tableaux indicés par un nombre
- 8.2 Tableaux indicés par une chaîne de caractères
- 8.3 Tester l'existence d'un élément
- 8.4 Supprimer un élément
- 8.5 Nombre d'éléments d'un tableau
- 8.6 Ordre de parcours des éléments
- 8.7 Trier un tableau
- 9.1 Simulation de tableaux multidimensionnels
- 9.2 Vrais tableaux multidimensionnels
- 9.3 Tester si une variable est un tableau
- 11.1 Fonctions travaillant sur les chaînes
- 11.2 Fonctions mathématiques
- 11.3 Fonctions liées aux tableaux
- 11.4 Autres fonctions
- 11.4.1 La fonction getline
- 11.4.2 La fonction close
- 11.4.3 La fonction system
- 14.1 awk en ligne de commande
- 14.1.1 Exercice 1 : awk et autres filtres
- 14.1.2 Exercice 2 : critères de sélection
- 14.1.3 Exercice 3 : critères de sélection, affichage de champs, sections BEGIN et END
- 14.2.1 Exercice 4 : fonctions
- 14.2.2 Exercice 5 : analyse d'un fichier de log
- 14.2.3 Exercice 6 : génération d'un fichier d'étiquettes
Les commandes filtres
- 1. Présentation
- 2. Syntaxe d'appel des commandes filtres
- 3. Visualisation de données
- 3.1 Consultation de données, création de fichiers : cat
- 3.2 Valeur des octets d'un flux de données : od
- 3.3 Filtrage de lignes : grep
- 3.4 Dernières lignes d'un flux de données : tail
- 3.5 Premières lignes d'un flux de données : head
- 3.6 Duplication de la sortie standard : tee
- 3.7 Numérotation de lignes : nl
- 3.8 Présentation d'un flux de données : pr
- 4. Traitement de données
- 4.1 Comptage de lignes, de mots et de caractères : wc
- 4.2 Extraction de caractères : cut
- 4.3 Tri de données : sort
- 4.4 paste
- 4.5 split
- 4.6 Transformation de caractères : tr
- 4.7 Dédoublonnage : uniq
- 5. Compressions, archivages et conversions
- 5.1 Compressions : gzip, bzip2
- 5.2 Archives tar
- 5.3 Archives cpio
- 5.4 Copie physique, transformations : dd
- 5.5 Changement d'encodage : iconv
- 6. Commandes réseau sécurisées
- 6.1 Connexion à distance : ssh
- 6.2 Transfert de fichier : sftp
- 6.2.1 Commandes de sftp s'exécutant sur la machine locale
- 6.2.2 Commandes s'exécutant sur la machine distante
- 6.2.3 Commandes de transfert
- 6.2.4 Connexion automatique sans mot de passe
- 7.1 La commande xargs
- 7.2 Comparer deux fichiers : cmp
- 7.3 Lignes communes à deux fichiers : comm
Comment faire... (synthèse)
- 1. Présentation
- 2. Informations
- 3. Modèles de noms de fichiers
- 4. Tester le code retour d'une commande
- 5. Test d'égalité entre deux chaînes
- 6. Test d'inégalité entre deux chaînes
- 7. Correspondance d'une variable par rapport à un modèle
- 8. Non-correspondance d'une variable par rapport à un modèle
- 9. Retirer le début ou la fin d'une chaîne
- 10. Calculer la longueur d'une chaîne
- 11. Récupérer le champ d'une ligne
- 12. Ne pas afficher certaines lignes d'un flux
- 13. Tests numériques
- 14. Calculs
- 15. Lancer un script d'un autre langage à partir d'un shell
- 16. Accéder à une base MySQL à partir d'un shell
Compléments sur les mécanismes internes du shell
- 1. Présentation
- 2. Redirection des descripteurs 1 et 2 vers le même fichier
- 3. Regroupement de commandes avec les parenthèses
- 4. Regroupement de commandes avec les accolades
- 5. Interprétation d’un script par un shell enfant
Annexes
- 1. Caractères spéciaux du shell
- 2. Commandes internes au shell
- 3. Classes de caractères POSIX
- 4. Ordre d'interprétation d'une commande
Solutions des exercices
- 1. Solutions du chapitre Mécanismes essentiels du shell
- 1.1 Fonctionnalités diverses
- 1.1.1 Exercice 1 : commandes internes et externes
- 1.1.2 Exercice 2 : génération de noms de fichiers
- 1.1.3 Exercice 3 : séparateur de commandes
- 1.1 Fonctionnalités diverses
- 1.2 Redirections
- 1.2.1 Exercice 1
- 1.2.2 Exercice 2
- 1.2.3 Exercice 3
- 1.2.4 Exercice 4
- 1.2.5 Exercice 5
- 1.2.6 Exercice 6
- 1.3 Tubes de communication
- 1.3.1 Exercice 1
- 1.3.2 Exercice 2
- 1.3.3 Exercice 3
- 1.3.4 Exercice 4
- 2.1 Variables d'environnement
- 2.1.1 Exercice 1
- 2.1.2 Exercice 2
- 2.2.1 Exercice 1
- 2.2.2 Exercice 2
- 3.1 Variables, caractères spéciaux
- 3.1.1 Exercice 1 : variables
- 3.1.2 Exercice 2 : variables
- 3.1.3 Exercice 3 : substitution de commande
- 3.1.4 Exercice 4 : caractères de protection
- 3.2.1 Exercice 1 : variables
- 3.2.2 Exercice 2 : paramètres positionnels
- 3.2.3 Exercice 3 : lectures clavier
- 3.3.1 Exercice 1 : tests sur des fichiers
- 3.3.2 Exercice 2 : tests de chaînes de caractères
- 3.3.3 Exercice 3 : tests numériques
- 3.3.4 Exercice 4 : arithmétique
- 3.3.5 Exercice 5 : opérateurs logiques des commandes [ ] et [[ ]] et opérateurs logiques du shell
- 3.4.1 Exercice 1 : les commandes [ ] et [[ ]], la structure de contrôle if
- 3.4.2 Exercice 2 : structures de contrôle case, boucle for
- 3.5.1 Exercice 1 : boucle for, commande tr
- 3.5.2 Exercice 2 : boucle for, arithmétique
- 3.5.3 Exercice 3 : boucles for, while
- 4.1 Fonctions
- 4.1.1 Exercice 1 : fonctions simples
- 4.1.2 Exercice 2 : fonctions simples, statut de retour
- 4.1.3 Exercice 3 : passage de paramètres, retour de valeur
- 4.1.4 Exercice 4 : fichiers
- 4.1.5 Exercice 5 : fichiers, fonctions, menu select
- 4.1.6 Exercice 6 : fichiers, tableaux associatifs (bash 4, ksh93)
- 5.1 Expressions régulières
- 5.1.1 Exercice 1 : expressions régulières avec vi
- 5.1.2 Exercice 2 : grep
- 6.1 Expressions régulières
- 6.1.1 Exercice 1 : insertion de balises dans un fichier
- 6.1.2 Exercice 2 : formatage de fichier
- 7.1 awk en ligne de commande
- 7.1.1 Exercice 1 : awk et autres filtres
- 7.1.2 Exercice 2 : critères de sélection
- 7.1.3 Exercice 3 : critères de sélection, affichage de champs, sections BEGIN et END
- 7.2.1 Exercice 4 : fonctions
- 7.2.2 Exercice 5 : analyse d'un fichier de log
- 7.2.3 Exercice 6 : génération d'un fichier d'étiquettes
- Index