Apprivoiser LaTeX - 4 - Tableaux

Cette série d'articles a pour but de démontrer que LaTeX est accessible au plus grand nombre, que LaTeX n'est pas élitiste et qu'avec un peu de bonne volonté et un coup de pouce, tout le monde peut s'en sortir. Ces articles assurent le coup de pouce aux débutants, à vous de fournir la volonté.
Ce mois-ci nous allons apprendre à concevoir des tableaux.

Tout d'abord je vais corriger une négligence de ma part remarquée un lecteur. Cela concerne l'utilisation de babel pour la gestion de la langue française. Dans les exemples des mois précédents, nous écrivions en en-tête de source :

\usepackage[french]{babel}
Ceci est l'écriture généraliste. Il se trouve qu'il existe plusieurs modules d'extentions pour gérer la langue française. Mais vous ne pourrez en utiliser qu'un seul à la fois. Par exemple, french de Bernard Gaulle qui ne gère que le français et qui se trouve être un shareware (donc non libre et payant). Si french est présent dans votre système, babel l'utilisera à la place de son module.

Pour spécifier que vous voulez utiliser babel pour la langue française, il est plus prudent d'écrire :

\usepackage[francais]{babel}
(attention à ne pas mettre de cédille) ou encore
\usepackage[frenchb]{babel}

Toutefois, french n'est pas installé par défaut avec LaTeX, cela doit nécessiter une action de votre part. Mais, pour plus de rigueur et afin de savoir exactement ce que l'on fait, je vous conseille de modifier vos en-têtes de source. De plus, babel peut provoquer des conflits avec un autre module ; pour éviter ce genre de problèmes, il vaut mieux charger babel en dernier.

Ce mois-ci je me suis résolu à créer un glossaire pour les mots qu'il me semble bon de définir. Vous le trouverez en fin d'article.

Les bases

La réalisation de tableaux se fait au moyen de l'environnement tabular. A l'intérieur de cet environnement, vous n'avez qu'à entrer vos données de manière structurée : une esperluète (&) vous permet de séparer deux cellules et deux contre-obliques (\\) servent à passer à la ligne suivante (les contre-obliques sont obligatoires dans tous les cas, même pour la dernière ligne).

L'environnement tabular prend en paramètre une chaîne de caractères décrivant le formattage (et par la même occasion le nombre) des colonnes. Une colonne est représentée par une lettre. Cette lettre indique l'alignement du texte à l'intérieur de la colonne. Ainsi, l désigne une colonne dont le contenu est aligné à gauche, r à droite et c pour un contenu centré. Prenons comme exemple une facture de matériel informatique :

\begin{tabular}{lcc}
Désignation & Prix HT & Prix TTC \\
Processeur & 160\euro & \ttc{160}\euro \\
Ventilateur & 20\euro & \ttc{20}\euro \\
Carte mère & 163\euro & \ttc{163}\euro \\
Carte vidéo & 230\euro & \ttc{230}\euro \\
\end{tabular}

Note importante à propos de l'euro : pour utiliser le symbole €, vous devrez charger le module eurosym.

Nous pouvons maintenant rajouter des traits horizontaux et verticaux pour délimiter chaque ligne et chaque colonne. Pour les colonnes, cela se fait avec le caractère « | » (pipe en anglais, ou tube en français accessible par la combinaison de touche « AltGr 6 ») inséré dans la chaîne de formattage partout où vous en avez besoin. Les traits horizontaux sont donnés par la commande \hline.

\begin{tabular}{|l|c|c|}
\hline
Désignation & Prix HT & Prix TTC \\
\hline
Processeur & 160\euro & \ttc{160}\euro \\
Ventilateur & 20\euro & \ttc{20}\euro \\
Carte mère & 163\euro & \ttc{163}\euro \\
Carte vidéo & 230\euro & \ttc{230}\euro \\
\hline
\end{tabular}

Notez que vous pouvez mettre autant de pipe et de \hline que vous voulez. Si vous souhaitez n'avoir de trait horizontal que sous certaines cellules, la commande \cline vous exaucera. Sa syntaxe est :

\cline{cdeb-cfin}

Vous pouvez l'employer plusieurs fois par ligne ; par exemple, pour un trait allant de la colonne 1 à la colonne 3 puis un autre de la colonne 6 à la 8, écrivez :

\cline{1-3}\cline{6-8}

Vous avez également d'utiliser des colonnes de taille fixe ; le texte sera automatiquement justifié et réparti sur plusieurs lignes pour respecter la limite de largeur. Pour créer une colonne de taille fixe, il faut utiliser le caractère p (pour « paragraph ») suivi de la largeur voulue dans une paire d'accolades.

Enfin, lorsque vous avez plusieurs colonnes à la suite dont le format est identique, vous pouvez simplifier (ou factoriser) l'écriture. La syntaxe est la suivante :

*{nombre de colonnes ou facteur}{format d'une colonne}

Voici notre exemple résumant toutes ces notions :

\begin{tabular}{||p{3cm}|*{2}{c|}|}
\hline
Désignation & Prix HT & Prix TTC \\
\hline
\hline
Processeur dernier cri pour épater la galerie & 160\euro & \ttc{160}\euro \\
\cline{1-1}
Ventilateur & 20\euro & \ttc{20}\euro \\
\cline{2-3}
Carte mère & 163\euro & \ttc{163}\euro \\
\cline{1-1}\cline{3-3}
Carte vidéo & 230\euro & \ttc{230}\euro \\
\hline
\end{tabular}

Maintenant nous allons insérer du texte ou un symbole particulier entre deux colonnes. Il faut pour cela, rajouter la syntaxe suivante dans la chaîne de formattage des colonnes :

@{texte}

Le texte texte sera inséré entre les deux colonnes dont les lettres encadrent cette chaîne, et cela, pour toutes les lignes. Comme il remplace l'espace inter-colonnes, il sera directement accolé aux cellules qui l'encadrent, d'où la nécessité parfois que le texte contienne des espaces (une tabulation) au début et à la fin. La tabulation s'obtient par l'appel de la commande \quad.

Reprenons notre exemple de facture et rajoutons une flèche entre le prix sans TVA et celui avec TVA, comme pour symboliser la conversion.

\begin{tabular}{lc@{\quad $\rightarrow$ \quad}c}
Processeur & 160\euro & \ttc{160}\euro \\
...
\end{tabular}

Enfin, posons-nous la question du positionnement du tableau par rapport à la ligne de base, c'est à dire dans le cas où il n'y a pas de saut de ligne entre une ligne de texte et un tableau. Par défaut, cela donne ceci :

Le texte est centré verticalement par rapport au tableau. Un paramètre optionnel de l'environnement tabular nous permet de faire un choix différent. Avec t (pour « top »), le texte se trouvera aligné avec le sommet du tableau et b (pour « bottom ») placera le texte au niveau de sa base.

Oh, le beau tableau
\begin{tabular}[t]{|c|c|}
...

Oh, le beau tableau
\begin{tabular}[b]{|c|c|}
...

Fusion de cellules

Une cellule fusionnée est une cellule s'étendant sur plusieurs colonnes ou plusieurs lignes. LaTeX propose de base le multicolonnage (cellule sur plusieurs colonnes) avec la commande \multicolumn dont la syntaxe est :

\multicolumn{nb_colonnes}{format}{contenu}

L'appel à \multicolumn doit se faire en lieu et place des colonnes fusionnées à l'intérieur de l'environnement tabular. Reprenons notre exemple de facture et modifions les deux colonnes de prix. Une cellule à cheval sur les deux colonnes contient le texte « Prix », et sur la ligne du dessous les textes « HT » et « TTC » ont chacun leur cellule :

\begin{tabular}{|l|c|c|}
\hline
Désignation & \multicolumn{2}{c|}{ Prix } \\
\cline{2-3}
 & HT & TTC \\
\hline
Processeur & 160\euro & \ttc{160}\euro \\
Ventilateur & 20\euro & \ttc{20}\euro \\
Carte mère & 163\euro & \ttc{163}\euro \\
Carte vidéo & 230\euro & \ttc{230}\euro \\
\hline
\end{tabular}

La chaîne de formattage de \multicolumn (deuxième paramètre) ne concerne ici qu'une seule cellule, donc vous ne devez mettre qu'une seule lettre symbolisant une colonne. Concernant les symboles impliquant le tracé de trait, la règle spécifie que le trait « appartenant » à une cellule est celui situé à sa droite (sauf pour la première qui possède aussi celui de gauche). Cela se traduit, dans notre exemple ci-dessus, par la nécessité d'écrire {c|} si nous voulons un trait à droite. Celui de gauche étant fourni par le formattage par défaut de la première cellule.

L'utilisation de \multicolumn entraine une redéfinition du format définie pour le tableau. D'où l'idée d'utiliser \multicolumn pour redéfinir une cellule (alignement du texte, traits de séparation). Il suffit de « fusionner » une seule colonne (le premier paramètre est 1). Dans cet exemple, le texte « Désignation » est centré dans sa cellule qui est elle-même limitée par un trait à droite.

\begin{tabular}{|lcc|}
\hline
\multicolumn{1}{|c|}{Désignation} & \multicolumn{2}{c|}{ Prix } \\
\cline{2-3}
\multicolumn{1}{|c|}{ } & HT & TTC \\
\hline
Processeur & 160\euro & \ttc{160}\euro \\
Ventilateur & 20\euro & \ttc{20}\euro \\
Carte mère & 163\euro & \ttc{163}\euro \\
Carte vidéo & 230\euro & \ttc{230}\euro \\
\hline
\end{tabular}

La cellule contenant le texte « Désignation » n'est pas, contrairement aux apparences, le fruit d'une fusion sur deux lignes. Il y a bien deux cellules, dont une vide, comme l'atteste le code de la deuxième ligne où le dernier paramètre de \multicolumn est vide.

\multicolumn{1}{|c|}{ } & HT & TTC \\
D'ailleurs l'apparence est renforcée par \cline{2-3} qui fait qu'il n'y aie pas de trait de séparation entre les deux cellules.

LaTeX ne propose pas par défaut la fusion de ligne, il faut utiliser le module multirow qui propose une commande \multirow. La syntaxe est sensiblement la même que pour \multicolumn (si l'on fait abstraction des deux paramètres optionnels, ce qui est notre cas) :

\multirow{nb_lignes}{largeur}{texte}

Il y a deux possibilités pour rédiger un tel tableau : soit, la cellule multi-lignes se trouve sur le bord gauche du tableau, alors vous commencez par écrire la cellule en question (\multirow), puis vous achevez chacune des lignes que cette cellule débute. Le premier paramètre de \multirow est le nombre de ces lignes.

Soit la cellule fusionnée se trouve sur le bord droit du tableau et là il faut faire l'inverse de la méthode précédente. D'abord écrire les débuts de lignes concernées par la fusion en n'oubliant pas le symbole de fin de ligne « » pour chacun d'entre elles sauf la dernière. En effet, sur la dernière ligne vous utilisez \multirow et après vous finissez la ligne. Le premier paramètre de \multirow est le nombre de lignes précédé du signe moins.

Pour l'occasion prenons un nouvel exemple : un tableau recensant les mois de l'année (note : les saisons sont arrondies au mois).

\begin{tabular}{|c|l|l|}
\hline
Saison & Mois & Nb de jours\\
\hline
\multirow{3}{2cm}{Hiver}
 & Janvier   & 31 \\  \cline{2-3}
 & Février   & 28 \\  \cline{2-3}
 & Mars      & 31 \\
\hline
\multirow{3}{2cm}{Printemps}
 & Avril     & 30 \\  \cline{2-3}
 & Mai       & 31 \\  \cline{2-3}
 & Juin      & 30 \\
\hline
\multirow{3}{2cm}{Eté}
 & Juillet   & 31 \\  \cline{2-3}
 & Août      & 31 \\  \cline{2-3}
 & Septembre & 30 \\
\hline
\multirow{3}{2cm}{Automne}
 & Octobre   & 31 \\  \cline{2-3}
 & Novembre  & 30 \\  \cline{2-3}
 & Décembre  & 31 \\
\hline
\end{tabular}

Et dans l'autre sens :

\begin{tabular}{|l|l|c|}
\hline
Mois & Nb de jours & Saison \\
\hline
Janvier   & 31 &  \\  \cline{1-2}
Février   & 28 &  \\  \cline{1-2}
Mars      & 31 & \multirow{-3}{2cm}{Hiver} \\
\hline
\end{tabular}

Bien qu'elle soit obligatoire, la largeur peut être laissée aux bons soins de LaTeX en la remplaçant par un astérisque sans accolades comme ceci :

\multirow{3}*{Automne}

L'alignement du texte de la cellule multi-lignes n'est pas affecté par celui déclaré en préambule du tableau dans la chaîne de formattage. En fait, il est déterminé par la commande \multirowsetup qu'il suffit de redéfinir pour le modifier. Par défaut, \multirowsetup équivaut à \raggedright. \raggedright signifie « déchiqueté à droite » par opposition au côté gauche bien aligné. Retenez donc que \raggedright signifie « aligné à gauche » et donc \raggedleft pour « aligné à droite ». La troisième commande possible est \centering, plus évidente à comprendre.

Donc, si nous voulons aligner le texte des cellules multi-lignes à droite par exemple, nous écrirons la redéfinition ainsi :

\renewcommand{\multirowsetup}{\raggedleft}

Enfin, cerise sur le gâteau, je me suis dis que vous seriez intéressés par savoir comment incliner du texte à 90. Il faut utiliser la commande \rotatebox du module graphics avec en option dvips. Sa syntaxe est simple, elle prend deux paramètres : l'angle de rotation en degrés, puis le contenu à faire tourner (qui n'est pas forcément du texte).

\renewcommand{\multirowsetup}{\raggedleft}
\begin{tabular}{|c|l|l|}
\hline
Saison & Mois & Nb de jours\\
\hline
\multirow{3}*{\rotatebox{90}{Hiver}}
 & Janvier & 31 \\  \cline{2-3}
 & Février & 28 \\  \cline{2-3}
 & Mars    & 31 \\
\hline
\end{tabular}

Seulement, il y a un petit souci avec xdvi : il ne vous montrera pas la rotation du texte. Pour afficher un document fidèle à l'impression, vous devez ouvrir le fichier Postscript (après la conversion du fichier Dvi par dvips). Pour cela le mieux est d'utiliser gv, ou au pire ghostview si gv n'est pas installé (sous Debian, il a son propre paquet où il est tout seul) en ligne de commandes :

$ gv document.ps
ou
$ ghostview document.ps

Le module array

Ce module offre de nouvelles possibilités rendant ainsi la création de tableaux plus facile. Pour l'utiliser, vous devrez charger le module array dans le préambule du fichier source. Il ne crée pas de nouvel environnement mais modifie ceux existants déjà : tabular qui fait l'objet d'une attention particulière depuis le début de l'article, et array qui n'est utilisé qu'en mode mathématique. Attention donc à ne pas confondre le module array et l'environnement array (qui sera abordé dans un prochain article consacré aux mathématiques). Afin d'éviter toute confusion, à partir de là, je ne parlerai que du module array et non de l'environnement.

Le module array offre de nouvelles options de formattage de colonne en plus de celles déjà disponibles (l, r, c, p et @).

La lettre p induit des cellules de taille fixe mais dont le texte est verticalement aligné en haut. Pour bien comprendre, observez cet exemple :

\begin{tabular}{|p{2cm}|p{4cm}|}

Deux nouvelles lettres sont introduites dans array : m qui place le contenu de la cellule au milieu (verticalement) et b qui le place en bas.

\begin{tabular}{|b{2cm}|b{4cm}|}

Le symbole ! permet de faire la même chose que @ à la différence que l'élément introduit s'ajoute à l'espace inter-colonnes au lieu de le remplacer. Voici un exemple comparant les deux cas :

\begin{tabular}{|r!{=}l|r@{=}l|}
\hline
a & b & a & b\\
\hline
\end{tabular}

L'élaboration de tableaux avec l'environnement tabular de base peut s'avérer fastidieuse dans certains cas. Imaginons que vous vouliez que le texte d'une colonne (chaque cellule de la colonne) soit en italique. Vous devrez traiter toutes les cellules, une par une. array propose d'introduire des commandes dans la chaîne de formattage afin qu'elles soient appliquées à toute la colonne. Ainsi, >{commande(s)} permet d'appliquer une ou plusieurs commandes avant l'écriture de la cellule (la portée des commandes étant limitée à la cellule). De même, <{commande(s)} permet d'appliquer des commandes en fin de rédaction de cellule. Reprenons notre exemple de facture en mettant en gras et italique la colonne « Désignation » et en encadrant chaque prix TTC d'une paire de crochets :

\begin{tabular}{|>{\itshape\bfseries}l|c|>{[}c<{]}|}

On commence à avoir des chaînes de formattage plutôt chargées et difficile à lire. Nous allons donc définir de nouvelles lettres de formattage que nous pourrons ensuite utiliser pour plusieurs tableaux. Entrez les lignes suivantes dans le préambule de votre source :

\newcolumntype{d}{>{\itshape\bfseries}l}
\newcolumntype{C}{>{[}c<{]}}

et vous pourrez remplacer la déclaration du tableau précédent par :

\begin{tabular}{|d|c|C|}

Notez que vous pouvez utiliser n'importe quelle lettre du moment qu'elle n'est pas déjà utilisée.

Le module tabularx

Ce module offre un nouvel environnement : tabularx. Il permet d'imposer une largeur au tableau. LaTeX propose de base un environnement capable d'étendre la largeur d'un tableau : tabular* (l'astérisque fait partie du nom). Pour cela il élargit l'espace entre les colonnes. Le problème est qu'il ne propose rien pour empêcher le texte de sortir s'il est trop long.

L'environnement tabularx joue sur la largeur de certaines colonnes : il peut soit les réduire, soit les étendre afin de respecter la largeur imposée du tableau. Les colonnes extensibles doivent être marquées d'un X. D'ailleurs, l'environnement tabularx n'est intéressant que si vous utilisez au moins une colonne extensible. La largeur du tableau se déclare dans le préambule de ce dernier comme ceci :

\begin{tabularx}{7cm}{|l|X|}
\hline
Cellule test & Cellule remplie à raz bord pour qu'elle occupe beaucoup de place \\
\hline
\end{tabularx}

Si une colonne contient beaucoup de texte, il est vivement conseillé de la rendre extensible afin qu'elle soit transformée en une colonne p de la bonne taille. S'il y a plusieurs colonnes X, la largeur disponible sera répartie de manière équitable pour chacune d'entre-elles. Cependant, il peut arriver que la largeur adéquate calculée soit négative. Reprenons l'exemple précédent (les formats de colonnes ont été échangés) :

\begin{tabularx}{7cm}{|X|l|}
\hline
Cellule test & Cellule remplie à raz bord pour qu'elle occupe beaucoup de place \\
\hline
\end{tabularx}

Le texte de la deuxième colonne occupe largement plus de 7cm (le texte étant disposé sur une seule ligne), donc la soustraction pour calculer la largeur de la colonne X donne un résultat négatif. Le résultat se trouve loin de vos espérances et en prime LaTeX vous envoie un message d'alerte à la compilation :

Package tabularx Warning: X Columns too narrow (table too wide)
(tabularx)                 on input line 584.

De plus, le module tabularx utilise automatiquement le module array donc l'utilisation conjointe des deux ne pose aucun problème. En fait, tabularx est une extension à array ; il suffit d'inclure tabularx dans le préambule de votre source pour que array le soit aussi.

Signalons un problème dans l'utilisation simultanée de colonnes de taille fixe (p, m, b et donc aussi X car cette dernière est transformée en colonne de type p après calcul) et d'une commande d'alignement (\raggedright, \centering et \raggedleft). Il se trouve que les commandes d'alignement redéfinissent la commande \\ de retour à la ligne. Le problème se produit donc uniquement lorsque la largeur du contenu d'une colonne de taille fixe dépasse cette taille (il y a donc retour à la ligne à l'intérieur de la cellule ce qui est l'intérêt de ce type de colonne). Le module tabularx (mais pas array pourtant également concerné) propose une commande pour pallier à ce souci, \arraybackslash qui doit être utilisée comme ceci :

\begin{tabularx}{7cm}{|l|>{\raggedleft\arraybackslash}X|}
\hline
Cellule test & Cellule remplie à raz bord pour qu'elle occupe beaucoup de place \\
\hline
\end{tabularx}

Nous aurons ainsi une colonne extensible dont le contenu est aligné à droite.

Une colonne X c'est donc en fait une colonne p dont la taille est calculée. C'est l'oeuvre de la commande \tabularxcolumn. Et comme pour toutes les commandes il est possible de modifier sa définition. La définition originale étant :

\newcommand{\tabularxcolumn}[1]{p{#1}}

on peut écrire :

\renewcommand{\tabularxcolumn}[1]{>{\sffamily\centering\arraybackslash}m{#1}}

pour produire des cellules extensibles dont le contenu est centré verticalement (m) et horizontalement (\centering), et, en plus, utilise une police sans empattements (\sffamily).

Et pour en finir avec tabularx voyons comment influencer sur la largeur finale des colonnes extensibles. En termes clairs, vous pouvez spécifier qu'une colonne X occupe plus de place qu'une autre. Ceci n'est évidemment valable qu'à partir de deux colonnes X. Pour cela il faut introduire en tant que commande dans la chaîne de formattage, une réaffectation de la largeur. Concrètement, ça se passe comme ça :

>{\hsize=coefficient\hsize}X

Cependant, il faut veiller à ce que la somme des coefficients soit égale au nombre de colonnes X.

Si vous souhaitez, par exemple, avoir deux colonnes X et que la seconde occupe trois fois plus de place que la première, il faudra déclarer votre tableau comme ceci :

\begin{tabularx}{7cm}{|>{\hsize=0.5\hsize}X|>{\hsize=1.5\hsize}X|}

Ici, la somme des coefficients (0,5 + 1,5) est bien égale au nombre de colonnes X.

Bonus hors sujet

Quelques explications au sujet de la commande \ttc créée et utilisée pour l'exemple de la facture. Attention, ceci sort du cadre de l'article et n'est pas d'un niveau « débutant ». Mais il ne coûte rien aux débutants de le lire.

La commande \ttc sert donc à convertir un prix hors taxe en un prix avec TVA, soit tout simplement à multiplier un nombre par 1,196 (TVA à 19,6%). Attention, elle est rudimentaire, elle ne gère pas les centimes, c'est juste pour un exemple. Voici le code source commenté de la commande ; celui-ci doit être placé dans le préambule de votre fichier source (avant \begin{document}). De plus, vous devrez inclure à votre source, le module d'extension calc qui permet de gérer les opérateurs arithmétiques sur les variables (aussi appelées compteurs).

% inclusion du module nécessaire aux calculs
\usepackage{calc}

% déclaration des variables
\newcounter{prixht}
\newcounter{prixttc}

% définition de la commande à un paramètre
\newcommand{\ttc}[1] 
{
  % affectation du texte passé en paramètre à la
  % variable prixht
  \setcounter{prixht}{#1}
	
  % calcul de prixttc
  \setcounter{prixttc}{\value{prixht}*\real{1.196}}
	
  % affichage de prixttc
  \theprixttc
}

Je n'en dis pas plus, à vous de faire travailler vos méninges.

Voilà, j'ai été un peu long, mais je tenais à vous donner plus qu'un échantillon des possibilités offertes par les tableaux. Pour le prochain épisode (dans deux mois) à priori je parlerai de notes de bas de page, de références (du genre vous pourrez écrire « cf. section 3.2 page 10 » sans vous soucier de savoir si la section 3.2 est bien à la page 10) et de table des matières. N'hésitez pas à me faire part de vos remarques, reproches, conseils par e-mail.

Dimitri ROBERT
dimitri-robert CHEZ wanadoo.fr

Glossaire

Source
abréviation pour « code source » ; il désigne le contenu du fichier (dont l'extension est .tex) regroupant votre texte ainsi que les commandes de mise en forme. Le fichier est donc dénommé « fichier source ».
Document
c'est votre texte mis en forme par LaTeX, le produit final.
Module d'extension
(en anglais, package) élément, se présentant sous la forme d'un fichier, qui, inclus au source, offre la possibilité d'utiliser de nouvelles commandes, de nouveaux environnements, donc, d'étendre les possibilités de base de LaTeX. Pour inclure un module vous devez rajouter usepackage[option_facultative]{nom(s)_module(s)} dans le préambule de votre source. Si plusieurs noms sont donnés, ils sont séparés pas des virgules.
Cellule
plus petit élément d'un tableau, c'est l'intersection d'une ligne et d'une colonne.
Chaîne, chaîne de caractères
terme générique désignant un ensemble de caractères (lettres, chiffres, symboles). Un mot est une chaîne de caractères.
$
symbole de l'invite de commande du shell (bash, tcsh, zsh, etc.). Le shell est directement accessible au travers d'une console texte (Eterm, Xterm, gnome-terminal, Konsole, etc.) et, par défaut, en attente d'une commande de votre part.

Liens