man-pages
Conventions pour l'écriture des pages de manuel Linux
- Provided by: manpages-fr (Version: 3.65d1p1-1)
- Report a bug
Conventions pour l'écriture des pages de manuel Linux
man [section] titre
Cette page décrit les conventions utilisées pour les pages de manuel du projet man-pages pour Linux, qui documente l'interface de programmation en espace utilisateur fournie par le noyau Linux et la bibliothèque C de GNU. Le projet fournit donc la plupart des pages de la section 2, ainsi que de nombreuses pages qui apparaissent dans les sections 3, 4, 5 et 7 des pages de manuel sur un système Linux. Les conventions décrites sur cette page peuvent aussi être utiles aux auteurs de pages de manuels pour d'autres projets.
Les sections du manuel sont traditionnellement les suivantes :
Les nouvelles pages de manuel doivent être mises en forme en utilisant le paquet groff an.tmac décrit dans man(7). Ce choix est principalement destiné à assurer une cohérence : la plupart des pages de manuel Linux sont mises en forme avec ces macros.
Veuillez limiter la longueur des lignes dans le source à environ 75 caractères, autant que faire se peut. Cela permet d'éviter les retours à la ligne ajoutés par les clients de mail lorsque des patches sont soumis par ce moyen.
Chaque phrase doit commencer une ligne. Cela permet de voir plus facilement l'effet des patches, qui s'appliquent souvent au niveau d'une phrase.
La première commande d'une page de manuel doit être une commande TH
.TH titre section date source manuel,
Pour les quelques pages de man-pages dans les sections 1 et 8, il est conseillé d'écrire GNU.
Pour les appels système, écrivez simplement Linux. Précédemment, il était courant d'écrire aussi le numéro de version du noyau pour laquelle la page de manuel était écrite. Cependant, cela n'était pas fait de façon systématique, et était donc pire que d'omettre simplement le numéro de version. N'incluez donc pas de numéro de version.
Pour les fonctions de bibliothèque de glibc ou de l'une des bibliothèques GNU standards, utilisez GNU C Library, GNU, ou une chaîne vide.
Pour les pages de la section 4, utilisez Linux.
En cas d'hésitation, écrivez Linux ou GNU.
La liste ci‐dessous indique les sections habituelles ou
suggérées. La plupart des pages devraient contenir au moins
les sections mises en évidence. Dans les nouvelles
pages de manuel, placez les sections dans l'ordre indiqué dans la
liste.
Nom anglais Nom français Notes NAME NOM SYNOPSIS SYNOPSIS CONFIGURATION CONFIGURATION [En général en section 4] DESCRIPTION DESCRIPTION OPTIONS OPTIONS [En général en sections 1, 8] EXIT STATUS CODE DE RETOUR [En général en sections 1, 8] RETURN VALUE VALEUR RENVOYÉE [En général en sections 2, 3] ERRORS ERREURS [Typiquement en sections 2, 3] ENVIRONMENT ENVIRONNEMENT FILES FICHIERS VERSIONS VERSIONS [En général en sections 2, 3] ATTRIBUTES ATTRIBUTS [En général en sections 2, 3] CONFORMING TO CONFORMITÉ NOTES NOTES BUGS BOGUES EXAMPLE EXEMPLE SEE ALSO VOIR AUSSI
Lorsque l'une des sections traditionnelles s'applique, utilisez-la ; cette cohérence rend l'information plus facile à comprendre. Si cela est nécessaire, vous pouvez créer vos propres titres de sections si cela rend les choses plus compréhensibles (particulièrement pour les pages des sections 4 et 5). Cependant, avant de faire cela, vérifiez qu'aucun des titres de sections traditionnels ne peut être utilisé, avec des sous‐sections (.SS).
La liste suivante décrit le contenu de chacune des sections ci‐dessus.
Si une macro de test de fonctionnalité doit être définie pour obtenir la déclaration d'une fonction (ou d'une variable) dans un fichier d'en-tête, alors la section SYNOPSIS doit l'indiquer, comme décrit dans feature_test_macros(7).
La description d'un nouveau comportement ou de nouveaux drapeaux d'un appel système ou d'une fonction d'une bibliothèque doit préciser la version du noyau ou de la bibliothèque C qui a introduit ce changement. Il est recommandé de noter cette information à propos des drapeaux sous la forme d'une liste .TP, comme ci-dessous dans le cas d'un drapeau d'appel système :
La page de manuel syscalls(2) fournit également des informations de versions de noyau dans lesquelles sont apparus les appels système.
Si la fonction n'est gouvernée par aucune norme, mais existe sur d'autres systèmes, mentionnez‐les. Si elle est spécifique à Linux, notez‐le.
Si cette section ne consiste qu'en une liste de normes (ce qui est d'habitude le cas), terminez la liste par un point (« . »).
Les sous-sections suivantes décrivent le style préféré pour le projet man-pages. Pour des précisions sur les points non couverts ci-dessous, le « Chicago Manual of Style » est globalement une source de qualité. Essayez également de parcourir les pages existantes dans l’arborescence des sources du projet pour prendre connaissance des habitudes actuelles.
Autant que possible, utilisez le pluriel de genre neutre (en anglais) dans le texte des pages de manuel. L’utilisation de « they » (« them », « themself », « their ») en tant que pronom singulier de genre neutre est acceptable.
Pour les fonctions, les arguments sont toujours indiqués en italique, même dans le paragraphe SYNOPSIS, où le reste de la fonction est en caractères gras :
int mafonction(int argc, char **argv);
Les noms de variables devraient, tout comme les noms de paramètres, être formatés en italique.
Les noms de fichiers, que ce soit des chemins ou des références à des fichiers d’en-tête) sont toujours en italique (par exemple <stdio.h>), sauf dans le paragraphe SYNOPSIS, où les fichiers inclus sont en gras (par exemple #include <stdio.h>). Lorsque vous faites référence à un fichier d'en-tête standard, indiquez le fichier d'en-tête entouré avec les symboles inférieur et supérieur, de la même manière que dans un fichier source C (par exemple, <stdio.h>).
Les macros, généralement en majuscules, sont en gras (par exemple MAXINT). Exception : NULL ne doit pas être en gras.
Dans l'énumération d'une liste de code d'erreurs, les codes sont en gras, et la liste utilise normalement la macro .TP.
Les commandes complètes devraient, si elles sont longues,
être écrites sous forme indentée,
précédées et suivies d’une ligne vide, par
exemple :
man 7 man-pages
Les expressions, si elles ne sont pas écrites sur une ligne indentée, devraient être mises en italique. Ici aussi, l'utilisation d'espaces insécables est appropriée si l'expression est mélangée à du texte normal.
Toute référence au sujet de la page de manuel courante doit être écrite en gras. Si le sujet est une fonction (c'est‐à‐dire s'il s'agit d'une page de section 2 ou 3), le nom doit être suivi d'une paire de parenthèses en caractères romains (normaux). Par exemple, dans la page fcntl(2), les références au sujet de la page sont écrites fcntl(). La façon d'écrire cela dans le fichier source est :
.BR fcntl ()
(avec ce format au lieu de « \fB...\fP() » le
travail d'outils qui parcourent les sources des pages de manuel est plus
facile)
Toute référence à une autre page de manuel, ou au sujet principal de la page en cours, est en gras, et toujours suivi du numéro de section, en caractères romains (normaux), sans espace (par exemple intro(2)). Dans le source, c’est habituellement écrit de cette façon :
.BR intro (2)
(inclure le numéro de section dans les références
croisées permet à des outils comme man2html(1) de
créer des liens hypertexte appropriés)
Les caractères de contrôle devraient être écrits en gras, sans guillemets. Par exemple : ^X.
Depuis la version 2.59, la version anglaise de man-pages suit les conventions orthographiques américaines (auparavant, un mélange aléatoire de conventions britanniques et américaines existait) ; veuillez écrire les nouvelles pages et les correctifs en suivants ces conventions.
En plus des différences de conventions bien connues, quelques autres subtilités sont à surveiller :
Le schéma classique d’écriture des numéros de version BSD est x.yBSD, où x.y est un numéro de version (par exemple 4.2BSD). Éviter les formes du genre BSD 4.3.
Dans les titres de sous-section (« SS »), le premier mot commence par une majuscule, mais le reste devraient être en minuscule, sauf si l'anglais (par exemple les noms propres) ou les exigences du langage de programmation imposent autre chose. Par exemple :
.SS Unicode sous Linux
Lorsque des définitions de structure, des sorties de session d'interpréteur, etc. sont inclues en corps de texte, indentez-les avec quatre espaces (c'est-à-dire un bloc entouré par .in +4n et .in).
Le tableau suivant indique les termes préférés à utiliser dans les pages de manuel, principalement pour s’assurer de la cohérence entres les pages.
| Terme | Éviter | Notes |
| masque de bits (bit mask) | bitmask | |
| interne, intégré (built-in) | builtin | |
| époque (Epoch) | epoch | Pour l’époque UNIX (1er janvier 1970 à 00:00:00 (UTC)) |
| nom de fichier (filename) | file name | |
| système de fichiers (filesystem) | file system | |
| nom d’hôte (hostname) | host name | |
| inœud (inode) | i-node | |
| minuscule (lowercase) | lower case, lower-case | |
| chemin (pathname) | path name | |
| pseudoterminal | pseudo-terminal | |
| port privilégié (privileged port) | reserved port, system port | |
| temps-réel (real-time) | realtime, real time | |
| exécution (run time) | runtime | |
| Set-GID sauvegardé (saved set-group-ID) | saved group ID, saved set-GID | |
| Set-UID sauvegardé (saved set-user-ID) | saved user ID, saved set-UID | |
| Set-GID (set-group-ID) | set-GID, setgid | |
| Set-UID (set-user-ID) | set-UID, setuid | |
| superutilisateur (superuser) | super user, super-user | |
| superbloc (superbloc) | super block, super-block | |
| horodatage (timestamp) | time stamp | |
| fuseau horaire (timezone) | time zone | |
| majuscule (uppercase) | upper case, upper-case | |
| utilisable (useable) | useable | |
| espace utilisateur (user space) | userspace | |
| identifiant (username) | user name | |
| zéros (zeros) | zeroes |
Consultez la section Écriture des mot composés ci-dessous.
Le tableau suivant indique les termes à éviter dans les pages de manuel, avec quelques suggestions d’alternatives, principalement pour s’assurer de la cohérence entres les pages.
| Éviter | Préférer | Notes |
| 32bit | 32 bits (32-bit) | de même pour 8 bits, 16 bits, etc. |
| current process | processus appelant (calling process) | Une erreur commune des programmeurs du noyau qui écrivent des pages de manuel |
| manpage | page de manuel (man page, manual page) | |
| minus infinity | infini négatif (negative infinity) | |
| non-root | utilisateur ordinaire (unprivileged user) | |
| non-superuser | utilisateur ordinaire (unprivileged user) | |
| nonprivileged | non privilégié (unprivileged) | |
| OS | système d’exploitation (operating system) | |
| plus infinity | infini positif (positive infinity) | |
| pty | pseudoterminal | |
| tty | terminal | |
| Unices | systèmes UNIX (UNIX systems) | |
| Unixes | systèmes UNIX (UNIX systems) |
Utiliser l’orthographe et la casse adéquates pour les marques déposées. Voici une liste des orthographes adéquates de quelques marques déposées parfois mal orthographiées :
DG/UX
HP-UX
UNIX
UnixWare
Un pointeur NULL est un pointeur qui ne pointe nulle part, et est habituellement indiqué par la constante NULL. D’un autre côté, NUL est l’octet NULL : un octet de valeur nulle, représenté en C à l’aide de la constante caractère « \0 ».
Le terme à préférer pour le pointeur est « pointeur NULL » ou simplement « NULL » ; la version anglaise préfère « null pointer ».
Le terme à préférer pour l’octet est « octet NULL ». Évitez d’écrire « NUL » car cela pourrait être facilement confondu avec « NULL ». Évitez aussi les termes « octet zéro » et « caractère NULL ». L’octet qui termine une chaîne en C devrait être décrit comme l’« octet NULL final » ; les chaînes peuvent être décrites comme « terminées par NULL », mais évitez « terminées par NUL ».
Pour les liens hypertextes, utilisez la paire de macro .UR et .UE (consultez groff_man(7)). Cela produit des liens propres qui peuvent être utilisés dans des navigateurs web, lors du rendu de pages, avec par exemple :
BROWSER=firefox man -H nomdepage
En général, l’utilisation d’abréviations comme « p.ex. », « c.-à-d. » devrait être évitée, en préférant les formulations complètes (« par exemple », « c’est-à-dire »).
Le seul endroit où ce genre d’abréviation pourrait être acceptable est dans les courtes parenthèses.
Toujours inclure les points dans ces abréviations comme ici. En anglais, « e.g. » et « i.e. » doivent toujours êtres suivies d’une virgule.
Les tirets long sont rendus en anglais à l’aide de la macro « \(em », mais en français les caractères UTF-8 sont préférés directement.
En anglais, les mots composés sont utilisés pour qualifier des noms, mais ce n’est pas le cas en français. Certaines formulations sont au pluriel en français, comme les premier et dernier exemples suivants :
valeur sur 32 bits (32-bit value)
argument de ligne de commande (command-line argument)
nombre à virgule flottante (floating-point number)
vérification lors de l’exécution (run-time check)
fonction en espace utilisateur (user-space function)
chaîne de caractères larges (wide-character string)
La tendance générale en anglais moderne est de ne pas utiliser de tirets après les préfixes comme « multi », « non », « pre », « re », « sub », etc. Les pages de manuels devrait normalement suivre cette règles quand ces préfixes sont utilisés dans des constructions anglaises naturelles avec de simples suffixes. La liste suivante donne des exemples de forme préférés. En français, la convention est similaire pour les véritables préfixes (comme « multi- », « pré- », « re- », « ré- ») qui s’écrivent sans tiret, mais les mots composés, avec « sous- » par exemple, gardent le tiret et les expressions avec « non » laissent ce mot à part :
interprocessus (interprocess)
multithreadé (multithreaded)
multiprocessus (multiprocess)
non bloquant (nonblocking)
autre que par défaut (nondefault)
non vide (nonempty)
non interactive (noninteractive)
positif (nonnegative)
non portable (nonportable)
non nul (nonzero)
préalloué (preallocated)
précréé (precreate)
préenregistré (prerecorded)
rétabli (reestablished)
réinitialiser (reinitialize)
réarmer (rearm)
relire (reread)
sous-composant (subcomponent)
sous-répertoire (subdirectory)
sous-système (subsystem)
Les tirets sont gardés en anglais lorsque les préfixes sont utilisés dans des mots anglais non standards, avec les marques déposées, les noms propres, les acronymes ou les mots composés. Quelques exemples :
non ASCII (non-ASCII)
non anglais (non-English)
non NULL (non-NULL)
non temps-réel (non-real-time)
pseudo-UNIX
Enfin, remarquez qu’en anglais « re-create »(recréer) et « recreate » (s’amuser) sont deux mots différents et que c’est sans doute le premier qu’il faut utiliser.
Quand un véritable caractère moins est nécessaire (par exemple pour les nombres comme -1 ou pour écrire des option qui commencent par un tiret comme dans ls -l), utilisez la forme suivante dans les sources de page de manuel :
\-
Ce guide s’applique aussi aux exemples de code.
Pour produire des guillemets simples qui rendront aussi bien en ASCII qu’en UTF-8, utilisez la forme suivante pour les constantes caractère dans les sources de page de manuel :
\(aqC\(aq
où C est le caractère protégé. Ce guide s’applique aussi aux constantes caractères utilisés dans les exemples de code. En français, si possible, préférez la forme typographique en vigueur (par exemple : « C »).
Les pages de manuel peuvent contenir des programmes permettant de montrer comment utiliser un appel système ou une fonction de bibliothèque. Cependant, veuillez respecter les points suivants.
exit(EXIT_SUCCESS);
exit(EXIT_FAILURE);
Évitez d’utiliser les formes suivantes pour terminer un programme :
exit(0);
exit(1);
return n;
.SS Source du programme
Toujours faire comme cela si le texte d’explication contient un journal de session d’interpréteur.
Si vous incluez un journal de session d'interpréteur de commandes pour démontrer l'utilisation d'un programme ou d'autres fonctionnalités système :
Pour voir à quoi les programmes d'exemples devraient ressembler, consultez wait(2) et pipe(2).
Pour des exemples canoniques de pages de manuel du paquet man-pages, consultez pipe(2) et fcntl(2).
man(1), man2html(1), groff(7), groff_man(7), man(7), mdoc(7)
Cette page fait partie de la publication 3.65 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.
Julien Cristau et l'équipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en écrivant à <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C <section> <page_de_man> ».