ManPage
Comment faire une page man ?
Introduction
Lors de la première étape de mon projet en entreprise, j'ai du faire un script qui récupère et trie des informations. Ce script contient quelques options (-s / -r / -h) qu'il a fallu expliquer et documenter. J'ai donc décidé de créer ma première page de manuel Linux.
Catégorie
La catégorie de votre ManPage, que vous devez préciser dans le .TH, est importante ! Pour savoir la catégorie de la page MAN que vous voulez rédiger : Fiez-vous à ce tableau :
| Num. Catégorie | Description |
|---|---|
| 1 | Commandes générales |
| 2 | Appels Systèmes |
| 3 | Librairies |
| 4 | Fichiers spéciaux et pilotes |
| 5 | Formats de fichiers |
| 6 | Jeux |
| 7 | Divers |
| 8 | Commandes d'administration système |
| o.o |
Syntaxe
La syntaxe d'une page de manuel est très particulière : Il faut toujours préciser ce que va être la ligne avant de l'écrire. Par exemple :
.SH NAME
Cette ligne va précise qu'il s'agit d'un grand titre, d'une nouvelle section (.SH) qui se nommera NAME. C'était un simple exemple, je vais mettre tout ce qu'il faut savoir dans un tableau :
| Syntaxe | Description |
|---|---|
.\" |
Permet d'ajouter un commentaire |
.TH |
Spécifie ce qui servira d'en-tête à la page de manuel. Voici le format : |
.SH |
Annonce une nouvelle section, s'affiche comme un grand titre |
.TP |
Nouveau paragraphe avec titre ! Indente le texte qui vient deux lignes après :) |
.PP |
Annonce un nouveau paragraphe. |
.B |
Caractères gras. |
.I |
Italique. |
.SM |
Taille réduite. |
.SB |
Gras, taille réduite. |
| o.o |
Exemple
En guise d'exemple, je vais insérer le code que j'ai écrit pour créer ma page man.
.TH ARTEMIS 1
.SH NAME
Artemis \- Détruit et reconstruit la base de données Artemis.
.SH SYNOPSIS
.B ./Artemis.sh
[\-r]
[\-\-rapport]
[\-s PATH]
[\-\-structure PATH]
[\-h]
[\-\-help]
.SH DESCRIPTION
.B Artemis
Script permettant de détruire et reconstruire la base de données répertoriant chaque volume ainsi que sa méthode et son lieu de sauvegarde.
.SH OPTIONS
.TP
.BR \-r ", " \-\-rapport
Active la fonction rapport. Un rapport SQL apparaîtra à la fin du script.
.TP
.BR \-s ", " \-\-structure
Permet à l'utilisateur de préciser où trouver le fichier SQL qui servira à créer la base de données après son drop.
.TP
.BR \-h ", " \-\-help
Petite aide syntaxique pour l'utilisateur.
Exemple 2
.TH BLACK_MESA 1
.SH NAME
BLACK_MESA \- Projet en plusieurs étapes qui permettra la migration des anciennes données NetWorker vers NetBackup
.SH SYNOPSIS
.B ./Neverland.sh
[\-N]
[\-\-Neverland]
[\-h]
[\-\-help]
.SH DESCRIPTION ETAPE 1
.B Neverland
Correspond à la première étape de BLACK_MESA : Retire les bandes considérées comme 'inutiles' du robot.
.SH OPTIONS NEVERLAND
.TP
.BR \-N ", " \-\-Neverland
Interroge la base de données BLACK_MESA et trouve les bandes devant être retirées du robot. Une fois trouvées, les bandes sont retirées et placées dans la localisation Neverland.
.TP
.BR \-h ", " \-\-help
Affiche l'aide permettant d'apprendre à utiliser le script Neverland.