aboutsummaryrefslogtreecommitdiff
path: root/fr_FR.ISO8859-1/books/handbook/printing/chapter.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'fr_FR.ISO8859-1/books/handbook/printing/chapter.sgml')
-rwxr-xr-xfr_FR.ISO8859-1/books/handbook/printing/chapter.sgml5375
1 files changed, 0 insertions, 5375 deletions
diff --git a/fr_FR.ISO8859-1/books/handbook/printing/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/printing/chapter.sgml
deleted file mode 100755
index 0767427ef8..0000000000
--- a/fr_FR.ISO8859-1/books/handbook/printing/chapter.sgml
+++ /dev/null
@@ -1,5375 +0,0 @@
-<!--
- The FreeBSD Documentation Project
- The FreeBSD French Documentation Project
-
- $FreeBSD$
- Original revision: n.nn
--->
-
-<chapter id="printing">
- <title>Imprimer</title>
-
- <para><emphasis>Contribution de &a.kelly;<!-- <br> -->30 Septembre
- 1995</emphasis></para>
- &trans.a.haby;
-
- <para>Pour imprimer avec FreeBSD, vous devrez configurer l'utilisation de
- vos imprimantes avec le gestionnaire de queues d'impression de
- Berkeley, connu aussi sous le nom de gestionnaire d'impression
- (&ldquo;spooling system&rdquo;) LPD (&ldquo;Line Printer
- Daemon&rdquo;). C'est le gestionnaire d'impression standard de BSD.
- Cette section d&eacute;crit le gestionnaire d'impression LPD&nbsp;-&nbsp;souvent
- abr&eacute;g&eacute; en LPD.</para>
-
- <para>Si vous connaissez d&eacute;j&agrave; LPD ou un autre gestionnaire de files
- d'impression, vous pouvez passer directement &agrave; la section
- <link linkend="printing-intro-setup">Configurer le gestionnaire
- d'impression</link>.</para>
-
- <sect1 id="printing-intro-spooler">
- <title>Que fait le gestionnaire d'impression ?</title>
-
- <para>LPD contr&ocirc;le tout ce qui concerne les imprimantes. Il assume
- un certain nombre de fonctions:</para>
-
- <itemizedlist>
-
- <listitem>
- <para>Il contr&ocirc;le l'acc&egrave;s aux imprimantes locales et aux imprimantes
- connect&eacute;es &agrave; d'autres machines du r&eacute;seau.</para>
- </listitem>
-
- <listitem>
- <para>Il permet aux utilisateurs de soumettre des fichiers &agrave;
- l'impression; Ces demandes d'impression sont appel&eacute;es
- <emphasis>travaux</emphasis>.</para>
- </listitem>
-
- <listitem>
- <para>Il emp&ecirc;che l'acc&egrave;s simultan&eacute; de plusieurs utilisateurs &agrave; une
- m&ecirc;me imprimante en g&eacute;rant une <emphasis>queue</emphasis> pour
- chaque imprimante.</para>
- </listitem>
-
- <listitem>
- <para>Il peut imprimer <emphasis>des pages d'en-t&ecirc;te</emphasis>
- (appel&eacute;es aussi <emphasis>banni&egrave;res</emphasis> ou pages
- &ldquo;burst&rdquo; (qui sautent aux yeux) de fa&ccedil;on &agrave; ce que
- les utilisateurs retrouvent facilement leurs travaux au milieu
- d'une pile de documents imprim&eacute;s.</para>
- </listitem>
-
- <listitem>
- <para>Il g&egrave;re les param&egrave;tres de communication pour les imprimantes
- raccord&eacute;es sur un port s&eacute;rie.</para>
- </listitem>
-
- <listitem>
- <para>Il peut envoyer des travaux au gestionnaire LPD d'une autre
- machine du r&eacute;seau.</para>
- </listitem>
-
- <listitem>
- <para>Il peut ex&eacute;cuter des filtres pour formater les impressions
- en fonction des possibilit&eacute;s et du langage compris par les
- diff&eacute;rentes imprimantes.</para>
- </listitem>
-
- <listitem>
- <para>Il peut comptabiliser l'utilisation d'une imprimante.</para>
- </listitem>
-
- </itemizedlist>
-
- <para>Avec un fichier de configuration et en fournissant les programmes
- de filtrage sp&eacute;cifiques, vous pouvez confier &agrave; LPD tout ou une partie
- de ces t&acirc;ches, pour une large gamme de mat&eacute;riels d'impression.</para>
- </sect1>
-
- <sect1 id="printing-intro-why">
- <title>Pourquoi faut-il utiliser le gestionnaire d'impression ?</title>
-
- <para>Si vous &ecirc;tes l'unique utilisateur de votre syst&egrave;me, vous pouvez
- vous demander pourquoi vous devriez vous compliquer la vie en
- utilisant le gestionnaire d'impression, alors que vous n'avez pas
- besoin de contr&ocirc;le d'acc&egrave;s, de pages d'en-t&ecirc;te ou de comptabilit&eacute;.
- Bien qu'il soit possible d'acc&eacute;der directement &agrave; l'imprimante, il
- vaut mieux passer malgr&eacute; tout par le gestionnaire d'impression parce
- que:</para>
-
- <itemizedlist>
-
- <listitem>
- <para>LPD imprime les travaux en t&acirc;ches de fond; vous n'avez pas
- besoin d'attendre que l'imprimante ait re&ccedil;u vos donn&eacute;es.</para>
- </listitem>
-
- <listitem>
- <para>LPD peut appliquer des filtres aux travaux pour ajouter des
- en-t&ecirc;tes avec la date et l'heure ou convertir des fichiers d'un
- format particulier (comme les fichiers DVI de TeX) vers un format
- compr&eacute;hensible par l'imprimante. Vous n'avez pas besoin de faire
- tout cela &agrave; la main.</para>
- </listitem>
-
- <listitem>
- <para>De nombreux logiciels libres ou commerciaux disposent d'une
- fonctionnalit&eacute; d'impression pr&eacute;vue pour utiliser le gestionnaire
- d'impression. En installant le gestionnaire d'impression, vous
- aurez moins de probl&egrave;mes avec les logiciels que vous installerez
- ensuite ou qui sont d&eacute;j&agrave; sur votre syst&egrave;me.</para>
- </listitem>
-
- </itemizedlist>
-
- </sect1>
-
- <sect1 id="printing-intro-setup">
- <title>Configurer le gestionnaire d'impression</title>
-
- <para>Pour imprimer avec le gestionnaire d'impression, il vous faut
- configurer et vos imprimantes et le logiciel LPD. Ce document d&eacute;crit
- les deux &eacute;tapes de cette configuration:</para>
-
- <itemizedlist>
-
- <listitem>
- <para>Lisez la section
- <link linkend="printing-simple">Configuration simple d'une imprimante</link>
- pour apprendre &agrave; connecter une imprimante, dire &agrave; LPD comment
- communiquer avec et imprimer des fichiers texte.</para>
- </listitem>
-
- <listitem>
- <para>Lisez la section
- <link linkend="printing-advanced">Configuration avanc&eacute;e d'une imprimante</link>
- pour savoir comment imprimer
- diff&eacute;rents formats de fichiers, imprimer des pages d'en-t&ecirc;te,
- imprimer via le r&eacute;seau, contr&ocirc;ler l'acc&egrave;s aux imprimantes et
- comptabiliser leur utilisation.</para>
- </listitem>
-
- </itemizedlist>
-
- </sect1>
-
- <sect1 id="printing-simple">
- <title>Configuration simple d'une imprimante</title>
-
- <para>Cette section vous explique comment configurer l'imprimante et le
- logiciel LPD pour pouvoir imprimer. Elle vous fournit les informations
- de base:</para>
-
- <itemizedlist>
-
- <listitem>
- <para>La section <link linkend="printing-hardware">Configuration du mat&eacute;riel</link>
- vous donne des indications sur la
- connexion de l'imprimante &agrave; votre ordinateur.</para>
- </listitem>
-
- <listitem>
- <para>La section <link linkend="printing-software">Configuration du logiciel</link>
- vous explique comment renseigner le fichier
- de configuration <filename>/etc/printcap</filename> de LPD.</para>
- </listitem>
-
- </itemizedlist>
-
- <para>Si vous installez une imprimante qui utilise une protocole r&eacute;seau
- pour recevoir les donn&eacute;es &agrave; imprimer et non une imprimante sur
- l'interface s&eacute;rie ou parall&egrave;le, reportez-vous &agrave; la section
- <link linkend="printing-advanced-network-net-if">Imprimantes avec une interface
- r&eacute;seau</link>.</para>
-
- <para>Bien que cette section soit intitul&eacute;e &ldquo;Configuration simple
- d'une imprimante&rdquo;, elle est en fait assez complexe. Arriver &agrave; faire
- fonctionner l'imprimante avec votre ordinateur et le gestionnaire
- d'impression LPD est le plus difficile. Les options avanc&eacute;es comme les
- pages d'en-t&ecirc;te et la comptabilit&eacute; sont faciles &agrave; mettre en place une
- fois que l'impression fonctionne.</para>
-
- <sect2 id="printing-hardware">
- <title>Configuration du mat&eacute;riel</title>
-
- <para>Cette section vous d&eacute;taille les diff&eacute;rentes fa&ccedil;ons de
- connecter une imprimante &agrave; votre PC. Elle traite des types de
- ports et de c&acirc;bles et de la mani&egrave;re de configurer votre noyau
- pour que FreeBSD puisse communiquer avec l'imprimante.</para>
-
- <para>Si votre imprimante est d&eacute;j&agrave; connect&eacute;e et que vous pouvez
- imprimer avec un autre syst&egrave;me d'exploitation, vous pouvez
- peut-&ecirc;tre passer directement &agrave; la section
- <link linkend="printing-software">Configuration du logiciel</link>.</para>
-
- <sect3 id="printing-ports">
- <title>Ports et C&acirc;bles</title>
-
- <para>Pratiquement toutes les imprimantes actuelles pour PC
- supportent l'une ou l'autre interface suivante
- &nbsp;-&nbsp;ou les deux:</para>
-
- <itemizedlist>
-
- <listitem>
- <para>Les interfaces <emphasis>s&eacute;rie</emphasis> utilisent un
- des ports s&eacute;rie de votre ordinateur pour envoyer des
- donn&eacute;es &agrave; l'imprimante. Les interfaces s&eacute;rie sont
- courantes dans l'industrie informatique et les c&acirc;bles
- existent pr&ecirc;ts &agrave; l'emploi et sont faciles &agrave; r&eacute;aliser
- soi-m&ecirc;me. Certaines interfaces s&eacute;rie ont besoin de c&acirc;bles
- particuliers ou d'une configuration un peu complexe des
- options de communication.</para>
- </listitem>
-
- <listitem>
- <para>Les interfaces <emphasis>parall&egrave;les</emphasis> utilisent
- un port parall&egrave;le de votre ordinateur pour envoyer des
- donn&eacute;es &agrave; l'imprimante. Les interfaces parall&egrave;les sont
- courantes sur le march&eacute; des PCs. Les c&acirc;bles existent pr&ecirc;ts &agrave;
- l'emploi, mais sont plus difficiles &agrave; faire soi-m&ecirc;me. Il
- n'y a habituellement pas d'option de communication
- particuli&egrave;re pour les interfaces parall&egrave;les, leur
- configuration est donc extr&ecirc;mement simple.</para>
-
- <para>Les interfaces parall&egrave;les sont parfois appel&eacute;es
- interfaces &ldquo;Centronics&rdquo;, du nom du type de
- connecteur de l'imprimante.</para>
- </listitem>
-
- </itemizedlist>
-
- <para>D'une fa&ccedil;on g&eacute;n&eacute;rale, les interfaces s&eacute;rie sont plus lentes
- que les interfaces parall&egrave;les. Les interfaces parall&egrave;les ne
- permettent normalement la communication que dans un seul sens
- (de l'ordinateur vers l'imprimante) alors que la communication
- est bi-directionnelle avec les interfaces s&eacute;rie. De nombreux
- ports parall&egrave;les r&eacute;cents peuvent aussi recevoir des donn&eacute;es de
- l'imprimante, mais seules quelques imprimantes savent renvoyer
- des donn&eacute;es &agrave; l'ordinateur. Et FreeBSD ne supporte pas la
- communication parall&egrave;le bi-directionnelle.</para>
-
- <para>Normalement, vous n'avez besoin de communication
- bi-directionnelle qu'avec les imprimantes qui parlent PostScript.
- Les imprimantes PostScript peuvent &ecirc;tre tr&egrave;s bavardes. En fait,
- les travaux PostScript sont des programmes envoy&eacute;s &agrave;
- l'imprimante; ils ne produisent pas n&eacute;cessairement d'impression
- et peuvent renvoyer directement leurs r&eacute;sultats &agrave; l'ordinateur.
- PostScript utilise aussi la communication bi-directionnelle pour
- avertir l'ordinateur de probl&egrave;mes, d'erreurs dans le programme
- PostScript ou d'un bourrage papier, par exemple. Cela peut &ecirc;tre
- tr&egrave;s appr&eacute;ci&eacute; de vos utilisateurs. De plus, la fa&ccedil;on la plus
- efficace de g&eacute;rer la comptabilit&eacute; avec une imprimante PostScript
- passe par un dialogue avec l'imprimante: vous lui demandez la
- valeur de son compteur de pages (combien de pages elle a d&eacute;j&agrave;
- imprim&eacute;es dans sa vie) puis envoyez le travail de l'utilisateur
- et lui redemandez ensuite la valeur de son compteur de pages.
- La diff&eacute;rence entre les deux valeurs vous donne le nombre de
- pages &agrave; facturer &agrave; l'utilisateur.</para>
-
- <para>Quelle interface devez-vous donc utiliser?</para>
-
- <itemizedlist>
-
- <listitem>
- <para>Si vous avez besoin de la communication
- bi-directionnelle, utilisez le port s&eacute;rie. FreeBSD ne
- supporte pas encore la communication bi-directionnelle sur
- le port parall&egrave;le.</para>
- </listitem>
-
- <listitem>
- <para>Si vous n'avez pas besoin de la communication parall&egrave;le
- et avez le choix entre le port s&eacute;rie et le port parall&egrave;le,
- pr&eacute;f&eacute;rez le port parall&egrave;le. Le port s&eacute;rie reste alors
- disponible pour d'autres p&eacute;riph&eacute;riques&nbsp;-&nbsp;comme un
- terminal ou un modem&nbsp;-&nbsp;et le port parall&egrave;le est la
- plupart du temps plus rapide. Il est aussi plus facile &agrave;
- configurer.</para>
- </listitem>
-
- <listitem>
- <para>En dernier lieu, utilisez ce qui fonctionne.</para>
- </listitem>
-
- </itemizedlist>
-
- </sect3>
-
- <sect3 id="printing-parallel">
- <title>Ports parall&egrave;les</title>
-
- <para>Pour brancher l'imprimante sur l'interface parall&egrave;le,
- reliez-la &agrave; l'ordinateur avec un c&acirc;ble Centronics. La
- documentation de l'ordinateur, de l'imprimante, ou les deux,
- devraient vous donner toutes les indications n&eacute;cessaires.</para>
-
- <para>Rappelez-vous quel port parall&egrave;le vous avez utilis&eacute;. FreeBSD
- conna&icirc;t le premier port parall&egrave;le sous le nom
- <filename>/dev/lpt0</filename>; le second comme
- <filename>/dev/lpt1</filename>, et ainsi de suite.</para>
-
- </sect3>
-
- <sect3 id="printing-serial">
- <title>Ports s&eacute;rie</title>
-
- <para>Pour brancher l'imprimante sur l'interface s&eacute;rie,
- reliez-la &agrave; l'ordinateur avec le c&acirc;ble s&eacute;rie appropri&eacute;. La
- documentation de l'ordinateur, de l'imprimante, ou les deux,
- devrait vous donner toutes les indications n&eacute;cessaires.</para>
-
- <para>Si vous n'&ecirc;tes pas certain de quel est &ldquo;le c&acirc;ble s&eacute;rie
- appropri&eacute;&rdquo;, vous pouvez tester une des possibilit&eacute;s
- suivantes:</para>
-
- <itemizedlist>
-
- <listitem>
- <para>Un c&acirc;ble <emphasis>modem</emphasis> connecte directement
- chaque broche d'une des extr&eacute;mit&eacute; de la liaison &agrave; la broche
- correspondante de l'autre extr&eacute;mit&eacute;. On appelle aussi ce
- type de c&acirc;ble &ldquo;DTE-&agrave;-DCE&rdquo;.</para>
- </listitem>
-
- <listitem>
- <para>Un c&acirc;ble &ldquo;<emphasis>null-modem</emphasis>&rdquo;
- connecte certaines broches directement, en intervertit
- d'autres (donn&eacute;e &eacute;mise vers donn&eacute;e re&ccedil;ue) et en
- court-circuite certaines &agrave; chaque extr&eacute;mit&eacute;. On appelle
- aussi ce type de c&acirc;ble &ldquo;DTE-&agrave;-DTE&rdquo;.</para>
- </listitem>
-
- <listitem>
- <para>Un c&acirc;ble pour <emphasis>imprimante s&eacute;rie</emphasis>,
- dont ont besoin certaines imprimantes non standard, est
- semblable &agrave; un c&acirc;ble &ldquo;null-modem&rdquo; mais
- transmet certains signaux broche &agrave; broche au lieu de les
- court-circuiter.</para>
- </listitem>
-
- </itemizedlist>
-
- <para>Vous devrez aussi d&eacute;finir les param&egrave;tres de communication de
- l'imprimante, soit avec le panneau de contr&ocirc;le frontal, soit par
- l'interm&eacute;diaire de commutateurs DIP. Choisissez la vitesse en bps
- (bits par seconde, on dit parfois <emphasis>vitesse en
- bauds</emphasis>) la plus rapide que votre ordinateur et votre
- imprimante acceptent tous les deux. Choisissez entre des donn&eacute;es
- 7 ou 8 bits, une parit&eacute; paire, impaire ou pas de contr&ocirc;le de
- parit&eacute;; et un ou deux bits de fin. S&eacute;lectionnez aussi le
- protocole de contr&ocirc;le de flux: soit aucun, soit XON/XOFF (appel&eacute;
- aussi &ldquo;en ligne&rdquo; ou &ldquo;logiciel&rdquo;). Notez
- bien ces param&egrave;tres pour l'&eacute;tape suivante de configuration du
- logiciel.</para>
-
- </sect3>
- </sect2>
-
- <sect2 id="printing-software">
- <title>Configuration du logiciel</title>
-
- <para>Cette section explique comment configurer le logiciel pour
- imprimer sous FreeBSD avec le gestionnaire d'impression LPD.</para>
-
- <para>Voici un r&eacute;sum&eacute; des &eacute;tapes n&eacute;cessaires:</para>
-
- <procedure>
- <step>
- <para>Recompiler votre noyau au besoin pour le port sur lequel
- vous connectez votre imprimante; la section
- <link linkend="printing-kernel">Configuration du noyau</link>
- vous dit ce que vous devez faire.</para>
- </step>
- <step>
- <para>D&eacute;finir le mode de communication du port parall&egrave;le,
- si c'est celui que vous utilisez; la section <link
- linkend="printing-parallel-port-mode">D&eacute;finir le mode de
- communication avec le port parall&egrave;le</link> vous
- d&eacute;crit cette &eacute;tape en d&eacute;tails.</para>
- </step>
-
- <step>
- <para>V&eacute;rifier que le syst&egrave;me d'exploitation peut envoyer des
- donn&eacute;es &agrave; l'imprimante; la section
- <link linkend="printing-testing">Tester la communication avec
- l'imprimante</link> vous donne
- quelques indications pour cela.</para>
- </step>
-
- <step>
- <para>Configurer LPD pour cette imprimante en modifiant le
- fichier <filename>/etc/printcap</filename>; la section <link
- linkend="printing-printcap">Activer le gestionnaire d'impression : le
- fichier <filename>/etc/printcap</filename></link>
- vous explique comment.</para>
- </step>
-
- </procedure>
-
- <sect3
- id="printing-kernel">
- <title>Configuration du noyau</title>
-
- <para>Le noyau du syst&egrave;me d'exploitation est compil&eacute; pour
- fonctionner avec une s&eacute;lection de p&eacute;riph&eacute;riques donn&eacute;e. Les
- interfaces s&eacute;rie ou parall&egrave;le de l'imprimante en font partie.
- En cons&eacute;quence, il peut &ecirc;tre n&eacute;cessaire d'ajouter le suppport
- d'un port s&eacute;rie ou parall&egrave;le si votre noyau n'est pas d&eacute;j&agrave;
- configur&eacute; pour cela.</para>
-
- <para>Pour savoir si le noyau que vous utilisez supporte une interface
- s&eacute;rie, tapez:</para>
-
- <informalexample>
- <screen>&prompt.root; <userinput>dmesg | grep sio<replaceable>N</replaceable></userinput></screen>
- </informalexample>
- <para>o&ugrave; <replaceable>N</replaceable> est le num&eacute;ro
- du port s&eacute;rie, z&eacute;ro ou plus. Si vous obtenez quelque chose qui
- ressemble &agrave;:</para>
-
- <informalexample>
- <screen>sio2 at 0x3e8-0x3ef irq 5 on isa
- sio2: type 16550A</screen>
- </informalexample> <para>alors le port est bien configur&eacute; dans le
- noyau.</para>
-
- <para>Pour savoir si le noyau que vous utilisez supporte une interface
- parall&egrave;le, tapez:</para>
-
- <informalexample>
- <screen>&prompt.root; <userinput>dmesg | grep lpt<replaceable>N</replaceable></userinput></screen>
- </informalexample> <para>o&ugrave; <replaceable>N</replaceable> est le num&eacute;ro
- du port parall&egrave;le, z&eacute;ro ou plus. Si vous obtenez quelque chose qui
- ressemble &agrave;:</para>
-
- <informalexample>
- <screen>lpt0 at 0x378-0x37f on isa</screen>
- </informalexample> <para>alors le port est bien configur&eacute; dans le
- noyau.</para>
-
- <para>Vous devrez peut-&ecirc;tre reconfigurer votre noyau pour que
- le syst&egrave;me d'exploitation reconnaisse et puisse utiliser le
- port s&eacute;rie ou parall&egrave;le que vous affectez &agrave; votre
- imprimante.</para>
-
- <para>Pour ajouter le support d'un port s&eacute;rie, reportez-vous
- au chapitre <link linkend="kernelconfig">Configurer le noyau de
- FreeBSD</link>. Pour ajouter le
- support d'un port parall&egrave;le, reportez-vous au chapitre sur
- la configuration du noyau <emphasis>et</emphasis> lisez la
- section suivante.</para>
-
- <sect4
- id="printing-dev-ports">
- <title>Ajouter les entr&eacute;es pour les ports
- dans le r&eacute;pertoire <filename>/dev</filename></title>
-
-
- <para>M&ecirc;me si le noyau supporte d&eacute;j&agrave; les communications
- sur le port s&eacute;rie ou parall&egrave;le, il vous faut encore
- une interface logicielle pour que les programmes
- puissent envoyer et recevoir des donn&eacute;es. C'est &agrave; cela
- que servent les entr&eacute;es du r&eacute;pertoire
- <filename>/dev</filename>.</para>
-
- <para><emphasis>Pour ajouter une entr&eacute;e pour un port au
- r&eacute;pertoire <filename>/dev</filename>:</emphasis></para>
-
- <procedure>
-
- <step>
- <para>Devenez super-utilisateur avec la commande <citerefentry>
- <refentrytitle>su</refentrytitle></citerefentry>.
- Entrez le mot de passe super-utilisateur quand on vous le
- demande.</para>
- </step>
-
- <step>
- <para>Allez dans le r&eacute;pertoire <filename>/dev</filename>:
-
- <informalexample>
- <screen>&prompt.root; cd /dev</screen>
- </informalexample></para>
- </step>
-
- <step>
- <para>Tapez:
-
- <informalexample>
- <screen>&prompt.root; <userinput>./MAKEDEV <replaceable>port</replaceable></userinput></screen>
- </informalexample> o&ugrave; <replaceable>port</replaceable> est l'entr&eacute;e (fichier sp&eacute;cial de p&eacute;riph&eacute;rique) que vous voulez
- cr&eacute;er. Utilisez <literal>lpt0</literal> pour le premier
- port parall&egrave;le, <literal>lpt1</literal> pour le second, et
- ainsi de suite; utilisez <literal>ttyd0</literal> pour le
- premier port s&eacute;rie, <literal>ttyd1</literal>
- pour le second, etc...</para>
- </step>
-
- <step>
- <para>Tapez:
-
- <informalexample>
- <screen>&prompt.root; <userinput>ls -l <replaceable>port</replaceable></userinput></screen>
- </informalexample>pour vous assurer que l'entr&eacute;e a bien
- &eacute;t&eacute; cr&eacute;&eacute;e.</para>
- </step>
-
- </procedure>
-
- </sect4>
-
- <sect4
- id="printing-parallel-port-mode">
- <title>D&eacute;finir le mode de communication avec le port
- parall&egrave;le</title>
-
- <para>Si vous utilisez l'interface parall&egrave;le, vous pouvez
- choisir que FreeBSD communique avec l'imprimante en
- l'interrogeant r&eacute;guli&egrave;rement ou par interruptions.</para>
-
-
- <itemizedlist>
-
- <listitem>
- <para>La m&eacute;thode
- <emphasis>pilot&eacute;e par interruptions</emphasis> est la
- m&eacute;thode par d&eacute;faut du noyau GENERIC. Le syst&egrave;me
- d'exploitation utilise dans ce cas une ligne IRQ pour
- savoir si l'imprimante est pr&ecirc;te &agrave; recevoir des
- donn&eacute;es.</para>
- </listitem>
-
- <listitem>
- <para>La m&eacute;thode
- <emphasis>par interrogations</emphasis> demande au
- syst&egrave;me d'interroger &agrave; intervalles r&eacute;guliers l'imprimante
- pour savoir si elle peut accepter de nouvelles donn&eacute;es.
- D&egrave;s que la r&eacute;ponse est positive, le noyau lui envoie
- de nouvelles donn&eacute;es.</para>
- </listitem>
-
- </itemizedlist>
-
-
- <para>La m&eacute;thode par interruptions est plus rapide mais mobilise
- une ligne IRQ pr&eacute;cieuse. Utilisez ce qui fonctionne.</para>
-
- <para>Vous pouvez d&eacute;finir le mode de communication de deux
- fa&ccedil;ons: en configurant le noyau ou avec la commande
- <citerefentry><refentrytitle>lptcontrol</refentrytitle></citerefentry>.</para>
-
- <para><emphasis>Pour d&eacute;finir le mode de communication &agrave; la
- configuration du noyau:</emphasis></para>
-
- <procedure>
-
- <step>
- <para>Editez votre fichier de configuration du noyau
- et cherchez ou ajoutez l'entr&eacute;e <literal>lpt0</literal>.
- Si vous utilisez le second port parall&egrave;le, mettez
- <literal>lpt1</literal> &agrave; la place,
- <literal>lpt2</literal> pour le troisi&egrave;me port, et ainsi
- de suite.
- <itemizedlist>
-
- <listitem>
- <para>Si vous voulez utiliser le mode par
- interruptions, ajoutez l'indicateur
- <literal>irq</literal>:
-
- <programlisting>
- device lpt0 at isa? port? tty irq <replaceable>N</replaceable> vector lptintr
- </programlisting>o&ugrave; <replaceable>N</replaceable>
- est le num&eacute;ro d'IRQ du port parall&egrave;le de votre
- ordinateur.</para>
- </listitem>
-
- <listitem>
- <para>Si vous voulez le mode par interrogations,
- ne mettez pas l'indicateur
- <literal>irq</literal>:
-
- <programlisting>
- device lpt0 at isa? port? tty vector lptintr
- </programlisting></para>
- </listitem>
-
- </itemizedlist>
- </para>
- </step>
-
- <step>
- <para>Sauvegardez le fichier. Puis configurez, compilez et
- installez le noyau, et red&eacute;marrez votre syst&egrave;me.
- Reportez-vous au chapitre
- <link linkend="kernelconfig">Configurer le noyau de FreeBSD</link>
- pour plus de d&eacute;tails.</para>
- </step>
-
- </procedure>
-
- <para><emphasis>Pour d&eacute;finir le mode de communication avec le
- programme</emphasis> <citerefentry>
- <refentrytitle>lptcontrol</refentrytitle></citerefentry>:</para>
-
- <procedure>
-
- <step>
- <para>Tapez:
-
- <informalexample>
- <screen>&prompt.root; <userinput>lptcontrol -i -u <replaceable>N</replaceable></userinput></screen>
- </informalexample> pour utiliser le mode par interruptions
- avec
- <literal>lpt<replaceable>N</replaceable></literal>.</para>
- </step>
-
- <step>
- <para>Tapez:
-
- <informalexample>
- <screen>&prompt.root; <userinput>lptcontrol -p -u <replaceable>N</replaceable></userinput></screen>
- </informalexample> pour utiliser le mode par
- interrogations avec
- <literal>lpt<replaceable>N</replaceable></literal>.</para>
- </step>
-
- </procedure>
-
- <para>Vous pouvez introduire ces commandes dans votre fichier
- <filename>/etc/rc.local</filename> pour d&eacute;finir le mode
- &agrave; chaque red&eacute;marrage. Voyez <citerefentry><refentrytitle>lptcontrol</refentrytitle><manvolnum>8</manvolnum></citerefentry> pour plus
- d'informations.</para>
-
- </sect4>
-
- <sect4
- id="printing-testing">
- <title>Tester la communication avec l'imprimante</title>
-
- <para>Avant de passer &agrave; la configuration du gestionnaire
- d'impression, vous devriez vous assurer que le syst&egrave;me
- d'exploitation arrive &agrave; envoyer des donn&eacute;es &agrave; l'imprimante.
- Il est plus facile de mettre s&eacute;parement au point la
- communication avec l'imprimante et la configuration du gestionnaire
- d'impression.</para>
-
- <para>Pour tester l'imprimante, nous lui enverrons du texte. Pour
- les imprimantes qui impriment imm&eacute;diatement les caract&egrave;res qu'on
- leur envoie, le programme
- <citerefentry>
- <refentrytitle>lptest</refentrytitle></citerefentry>
- est id&eacute;al: il g&eacute;n&egrave;re les 96 caract&egrave;res ASCII imprimables sur
- 96 lignes.</para>
-
- <para>Pour une imprimante PostScript (ou tout autre imprimante
- utilisant un langage), il nous faut un test plus sophistiqu&eacute;.
- Un petit programme PostScript, comme celui qui suit, fera l'affaire:
-
- <programlisting>
- %!PS
- 100 100 moveto 300 300 lineto stroke
- 310 310 moveto /Helvetica findfont 12 scalefont setfont
- (Is this thing working?) show
- showpage
- </programlisting>
- </para>
-
- <note>
- <para>Quand dans ce document j'utilise l'expression
- &ldquo;langage d'impression&rdquo;, je me r&eacute;f&egrave;re &agrave;
- un langage du type PostScript et non du genre PCL de
- Hewlett Packard, bien que PCL ait d'excellentes
- fonctionnalit&eacute;s&nbsp;-&nbsp;on peut ins&eacute;rer du texte au milieu
- de ses s&eacute;quences d'&eacute;chappement. PostScript ne peut
- imprimer directement du texte, et c'est pour ce genre
- de langage qu'il y a des mesures particuli&egrave;res &agrave;
- prendre.</para>
- </note>
-
- <sect5
- id="printing-checking-parallel">
- <title>Tester une imprimante parall&egrave;le</title>
-
- <para>Cette section vous explique comment tester si FreeBSD
- peut communiquer avec une imprimante connect&eacute;e sur un port
- parall&egrave;le.</para>
-
- <para><emphasis>Pour tester une imprimante sur un port
- parall&egrave;le:</emphasis></para>
-
- <procedure>
-
- <step>
- <para>Devenez super-utilisateur avec <citerefentry>
- <refentrytitle>su</refentrytitle></citerefentry>.</para>
- </step>
-
- <step>
- <para>Envoyez des donn&eacute;es &agrave; l'imprimante.
- <itemizedlist>
-
- <listitem>
- <para>Si l'imprimante accepte directement du texte,
- utilisez <citerefentry>
- <refentrytitle>lptest</refentrytitle></citerefentry>. Tapez:
-
- <informalexample>
- <screen>&prompt.root; <userinput>lptest &gt; /dev/lpt<replaceable>N</replaceable></userinput></screen>
- </informalexample> o&ugrave; <replaceable>N</replaceable>
- est le num&eacute;ro du port parall&egrave;le, &agrave; partir de
- z&eacute;ro.</para>
- </listitem>
-
- <listitem>
- <para>Si l'imprimante comprend PostScript ou un
- autre langage d'impression, alors envoyez-lui un
- petit programme. Tapez:
-
- <informalexample>
- <screen>&prompt.root; <userinput>cat &gt; /dev/lpt<replaceable>N</replaceable></userinput></screen>
- </informalexample> Puis tapez votre programme
- ligne &agrave; ligne
- <emphasis>avec soin</emphasis> car vous ne pouvez
- pas corriger la ligne une fois que vous avez tap&eacute;
- Entr&eacute;e. Quand vous avez fini de saisir votre
- programme, tapez CONTROL+D, ou une autre
- combinaison particuli&egrave;re de touches,
- pour indiquer la fin du fichier.</para>
-
- <para>Vous pouvez aussi mettre votre programme dans
- un fichier et taper:
-
- <informalexample>
- <screen>&prompt.root; <userinput>cat <replaceable>fichier</replaceable> &gt; /dev/lpt<replaceable>N</replaceable></userinput></screen>
- </informalexample> o&ugrave; <replaceable>fichier</replaceable>
- est le nom du fichier contenant le programme que
- vous voulez envoyer &agrave; l'imprimante.</para>
- </listitem>
-
- </itemizedlist>
- </para>
- </step>
-
- </procedure>
-
- <para>Vous devriez obtenir une impression. Ne vous inqui&eacute;tez pas
- si le texte ne s'imprime pas correctement; nous r&eacute;glerons ces
- probl&egrave;mes ensuite.</para>
-
- </sect5>
-
- <sect5
- id="printing-checking-serial">
- <title>Tester une imprimante s&eacute;rie</title>
-
- <para>Cette section vous explique comment tester si FreeBSD
- peut communiquer avec une imprimante connect&eacute;e sur un port
- s&eacute;rie.</para>
-
- <para><emphasis>Pour tester une imprimante sur un port
- s&eacute;rie:</emphasis></para>
-
- <procedure>
-
- <step>
- <para>Devenez super-utilisateur avec <citerefentry>
- <refentrytitle>su</refentrytitle></citerefentry>.</para>
- </step>
-
- <step>
- <para>Editez le fichier <filename>/etc/remote</filename>.
- Ajoutez la ligne suivante:
-
- <programlisting>
- printer:dv=/dev/<replaceable>port</replaceable>:br#<replaceable>bps</replaceable>:pa=<replaceable>parit&eacute;</replaceable>
- </programlisting> o&ugrave; <replaceable>port</replaceable>
- est le fichier sp&eacute;cial de p&eacute;riph&eacute;rique pour le port
- s&eacute;rie (<literal>ttyd0</literal>,
- <literal>ttyd1</literal>, etc...), <replaceable>bps</replaceable> est la vitesse de communication en bits par seconde,
- et <replaceable>parit&eacute;</replaceable> est la parit&eacute;
- requise par l'imprimante
- (soit <literal>even</literal> (paire), <literal>odd</literal> (impaire), <literal>none</literal> (aucune), ou <literal>zero</literal> (toujours nulle) ).</para>
-
- <para>Voici un exemple pour une imprimante connect&eacute;e par
- une ligne s&eacute;rie au troisi&egrave;me port s&eacute;rie, &agrave; 19200 bps,
- sans contr&ocirc;le de parit&eacute;:
-
- <programlisting>
- printer:dv=/dev/ttyd2:br#19200:pa=none
- </programlisting></para>
- </step>
-
- <step>
- <para>Connectez-vous &agrave; l'imprimante avec <citerefentry>
- <refentrytitle>tip</refentrytitle></citerefentry>. Tapez:
- <informalexample>
- <screen>&prompt.root; <userinput>tip printer</userinput></screen>
- </informalexample> Si cela ne marche pas, &eacute;ditez de
- nouveau le fichier <filename>/etc/remote</filename>
- et essayez de remplacer
- <filename>/dev/ttyd<replaceable>N</replaceable></filename> par <filename>/dev/cuaa<replaceable>N</replaceable></filename>.</para>
- </step>
-
- <step>
- <para>Envoyez des donn&eacute;es &agrave; l'imprimante.
- <itemizedlist>
-
- <listitem>
- <para>Si l'imprimante accepte directement du texte,
- utilisez <citerefentry>
- <refentrytitle>lptest</refentrytitle></citerefentry>. Tapez:
-
- <informalexample>
- <screen><prompt>~</prompt><userinput>$lptest</userinput></screen>
- </informalexample></para>
- </listitem>
-
- <listitem>
- <para>Si votre imprimante comprend PostScript ou
- un autre langage d'impression, envoyez-lui alors
- un petit programme. Tapez le programme, ligne
- &agrave; ligne, en faisant
- <emphasis>tr&egrave;s attention</emphasis> car le retour
- arri&egrave;re ou d'autres touches d'&eacute;ditions peuvent
- vouloir dire autre chose pour l'imprimante.
- Vous devrez peut-&ecirc;tre aussi utiliser un caract&egrave;re
- particulier de fin de fichier pour que
- l'imprimante sache qu'elle a re&ccedil;u tout le
- programme. Pour les imprimantes PostScript,
- tapez CONTROL+D.</para>
-
- <para>Vous pouvez aussi enregistrer votre programme
- dans un fichier et taper:
-
- <informalexample>
- <screen><prompt>~</prompt><userinput>&gt;<replaceable>fichier</replaceable></userinput></screen>
- </informalexample> o&ugrave; <replaceable>fichier</replaceable> est le nom du fichier contenant le programme. Apr&egrave;s que
- <citerefentry>
- <refentrytitle>tip</refentrytitle></citerefentry> ait envoy&eacute; le fichier, appuyez sur la touche de fin de fichier ad&eacute;quate.</para>
- </listitem>
-
- </itemizedlist>
- </para>
- </step>
-
- </procedure>
-
- <para>Vous devriez obtenir une impression. Ne vous inqui&eacute;tez pas
- si le texte ne s'imprime pas correctement; nous r&eacute;glerons ces
- probl&egrave;mes ensuite.</para>
-
- </sect5>
- </sect4>
- </sect3>
-
- <sect3
- id="printing-printcap">
- <title>Activer le gestionnaire d'impression: Le
- fichier <filename>/etc/printcap</filename>
- </title>
-
- <para>A ce stade, votre imprimante devrait &ecirc;tre connect&eacute;e, votre
- noyau configur&eacute; (au besoin) pour communiquer avec, et vous devriez
- avoir r&eacute;ussi &agrave; lui envoyer un minimum de donn&eacute;es. Nous sommes
- maintenant pr&ecirc;t &agrave; configurer LPD pour qu'il contr&ocirc;le l'acc&egrave;s &agrave;
- votre imprimante.</para>
-
- <para>Vous configurez LPD en &eacute;ditant le fichier
- <filename>/etc/printcap</filename>. Le gestionnaire d'impression
- LPD lit ce fichier chaque fois qu'il est fait appel &agrave; lui, les
- modifications s'appliquent donc imm&eacute;diatement.</para>
-
- <para>Le format du fichier <citerefentry>
- <refentrytitle>printcap</refentrytitle></citerefentry> est
- explicite. Utilisez votre &eacute;diteur de texte pr&eacute;f&eacute;r&eacute; pour le
- modifier. Son format est similaire &agrave; celui des fichiers
- associ&eacute;s &agrave; d'autres utilitaires comme
- <filename>/usr/share/misc/termcap</filename> et
- <filename>/etc/remote</filename>. Pour une description compl&egrave;te
- de ce format, reportez-vous &agrave;
- <citerefentry><refentrytitle>cgetent</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para>
-
- <para>Une configuration de base du gestionnaire d'impression passe
- par les &eacute;tapes suivantes:</para>
-
- <procedure>
-
- <step>
- <para>Choisissez un nom (et quelques alias utiles) pour
- l'imprimante et introduisez-le(s) dans le fichier
- <filename>/etc/printcap</filename>; reportez-vous &agrave;
- la section <link
- linkend="printing-naming">Donner un nom &agrave; l'imprimante</link>.</para>
- </step>
-
- <step>
- <para>D&eacute;sactivez l'impression des pages d'en-t&ecirc;te (qui sont
- en service par d&eacute;faut) en ins&eacute;rant la fonctionnalit&eacute;
- <literal>sh</literal>;
- reportez-vous &agrave; la section
- <link linkend="printing-no-header-pages">Supprimer l'impression des pages
- d'en-t&ecirc;te</link>.</para>
- </step>
-
- <step>
- <para>Cr&eacute;ez un r&eacute;pertoire pour la file d'attente, et indiquez
- o&ugrave; il se trouve avec l'option <literal>sd</literal>;
- reportez-vous &agrave; la section <link linkend="printing-spooldir">Cr&eacute;er
- le r&eacute;pertoire tampon</link>.</para>
- </step>
-
- <step>
- <para>Identifiez l'entr&eacute;e <filename>/dev</filename> &agrave; utiliser
- avec cette imprimante et reportez-la dans le fichier
- <filename>/etc/printcap</filename> avec l'option
- <literal>lp</literal>; reportez-vous &agrave; la section
- <link
- linkend="printing-device">D&eacute;finir le p&eacute;riph&eacute;rique
- associ&eacute; &agrave; l'imprimante</link>. Si l'imprimante est sur un port s&eacute;rie, vous
- devez aussi pr&eacute;ciser les param&egrave;tres de communication
- avec les options
- <literal>fs</literal>, <literal>fc</literal>,
- <literal>xs</literal>, et <literal>xc</literal>;
- reportez-vous &agrave; la section <link
- linkend="printing-commparam">Configurer les param&egrave;tres
- de communication du gestionnaire d'impression</link>.</para>
- </step>
-
- <step>
- <para>Installez un filtre pour l'impression de fichiers texte;
- reportez-vous &agrave; la section <link
- linkend="printing-textfilter">Installer le filtre texte</link>.</para>
- </step>
-
- <step>
- <para>Testez la configuration en imprimant quelque chose avec
- la commande
- <citerefentry>
- <refentrytitle>lpr</refentrytitle></citerefentry>;
- reportez-vous aux sections
- <link linkend="printing-trying">Tester la configuration</link>
- et <link linkend="printing-troubleshooting">R&eacute;gler
- les probl&egrave;mes</link>.</para>
- </step>
-
- </procedure>
-
- <note>
- <para>Les imprimantes qui utilisent un langage, comme les
- imprimantes PostScript, ne savent pas imprimer directement
- du texte. La configuration simple r&eacute;sum&eacute;e ci-desssus, et
- d&eacute;crite dans ce qui suit, suppose que si vous installez
- ce type d'imprimante, vous lui enverrez uniquement des
- fichiers qu'elle comprenne.</para>
- </note>
-
- <para>Les utilisateurs s'attendent souvent &agrave; pouvoir imprimer
- du texte simple sur toutes les imprimantes de votre syst&egrave;me.
- Les programmes qui font appel &agrave; LPD font la m&ecirc;me supposition.
- Si vous installez ce type d'imprimante et que vous voulez
- utiliser le langage d'impression <emphasis>et</emphasis>
- imprimer aussi des fichiers texte, je vous conseille fortement
- d'ajouter une &eacute;tape suppl&eacute;mentaire &agrave; la proc&eacute;dure r&eacute;sum&eacute;e
- ci-dessus: installez un filtre de conversion automatique des
- fichiers texte en PostScript (ou tout autre langage d'impression).
- La section <link
- linkend="printing-advanced-if-conversion">Imprimer du texte
- sur des imprimantes PostScript</link> vous explique comment
- faire.</para>
-
-
- <sect4
- id="printing-naming">
- <title>Donner un nom &agrave; l'imprimante</title>
-
- <para>La premi&egrave;re &eacute;tape (facile) consiste &agrave; donner
- un nom &agrave; l'imprimante. Cela n'a pas d'importance que vous lui
- donniez un nom fonctionnel ou nom bizarre parce que vous
- pouvez aussi d&eacute;finir un certain nombre d'alias.</para>
-
- <para>Au moins l'une des imprimantes que vous d&eacute;finirez dans
- le fichier <filename>/etc/printcap</filename> devrait s'appeler
- <literal>lp</literal>. C'est le nom de l'imprimante par d&eacute;faut.
- Si les utilisateurs ne d&eacute;finissent pas leur variable
- d'environnement PRINTER et ne pr&eacute;cisent pas le nom de
- l'imprimante avec une des commandes de LPD, alors
- <literal>lp</literal> est l'imprimante par d&eacute;faut &agrave; laquelle ils
- s'adressent.</para>
-
- <para>Il est aussi d'usage que le dernier alias d'une imprimante
- la d&eacute;crive compl&egrave;tement, marque et mod&egrave;le y compris.</para>
-
- <para>Un fois que vous avez choisi un nom et quelques alias
- courants, introduisez-les dans le fichier
- <filename>/etc/printcap</filename>. Le nom de l'imprimante
- doit &ecirc;tre &eacute;crit au d&eacute;but de la ligne. S&eacute;parez chaque alias
- par une barre verticale et mettez un &ldquo;:&rdquo; apr&egrave;s
- le dernier alias.</para>
-
- <para>L'exemple suivant montre un fichier
- <filename>/etc/printcap</filename> de base, qui d&eacute;finit deux
- imprimantes (une imprimante ligne Diablo 630 et une imprimante
- laser PostScript Panasonic KX-P4455):
-
- <programlisting>
- #
- # /etc/printcap pour la machine rose
- #
- rattan|line|diablo|lp|Imprimante Ligne Diablo 630:
-
- bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:
- </programlisting>
- Dans cet exemple, la premi&egrave;re imprimante s'appelle
- <literal>rattan</literal> et a pour alias
- <literal>line</literal>, <literal>diablo</literal>,
- <literal>lp</literal>, et <literal>Imprimante Ligne Diablo
- 630</literal>. Comme <literal>lp</literal> est un de ses alias,
- c'est aussi l'imprimante par d&eacute;faut. La seconde s'appelle
- <literal>bamboo</literal>, et a pour alias <literal>ps</literal>,
- <literal>PS</literal>, <literal>S</literal>,
- <literal>panasonic</literal>, et <literal>Panasonic KX-P4455 PostScript
- v51.4</literal>.</para>
-
- </sect4>
-
- <sect4
- id="printing-no-header-pages">
- <title>Supprimer l'impression de pages d'en-t&ecirc;te</title>
-
- <para>Le gestionnaire d'impression g&eacute;n&eacute;rera par d&eacute;faut
- une page d'en-t&ecirc;te pour chaque travail d'impression. La page
- d'en-t&ecirc;te affiche le nom de l'utilisateur qui l'a soumis,
- le nom de la machine d'o&ugrave; il a &eacute;t&eacute; lanc&eacute; et le nom du
- travail d'impression, le tout en grosses lettres.
- Malheureusement, tout ce texte suppl&eacute;mentaire complique la
- mise au point de la configuration des imprimantes, aussi
- supprimerons-nous les pages d'en-t&ecirc;te.</para>
-
- <para>Pour supprimer les pages d'en-t&ecirc;te,
- ajoutez la fonctionnalit&eacute;
- <literal>sh</literal> &agrave; l'entr&eacute;e associ&eacute;e &agrave; l'imprimante dans
- le fichier <filename>/etc/printcap</filename>. Voici un exemple
- de fichier <filename>/etc/printcap</filename> o&ugrave; l'on a ajout&eacute;
- <literal>sh</literal>:</para>
-
- <programlisting>
- #
- # /etc/printcap pour la machine rose - pas de pages d'en-t&ecirc;te
- #
- rattan|line|diablo|lp|Imprimante Ligne Diablo 630:\
- :sh:
-
- bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:
- </programlisting>
-
- <para>Notez bien le format correct. La premi&egrave;re ligne commence
- imm&eacute;diatement &agrave; gauche, et les lignes suivantes sont indent&eacute;es
- avec un seul caract&egrave;re Tab. Chaque ligne d'une m&ecirc;me entr&eacute;e, sauf
- la derni&egrave;re, se termine par une barre oblique inverse.</para>
-
- </sect4>
-
- <sect4
- id="printing-spooldir">
- <title>Cr&eacute;er le r&eacute;pertoire tampon</title>
-
- <para>L'&eacute;tape suivante de la configuration de base du gestionnaire
- d'impression consiste &agrave; cr&eacute;er un
- <emphasis>r&eacute;pertoire tampon</emphasis>, o&ugrave; les travaux
- d'impression attendent d'&ecirc;tre trait&eacute;s et o&ugrave; se trouvent aussi
- un certain nombre de fichiers n&eacute;cessaires au gestionnaire
- d'impression.</para>
-
- <para>Comme le contenu de ces r&eacute;pertoires tampon est transitoire,
- il est habituel de les mettre dans le r&eacute;pertoire
- <filename>/var/spool</filename>. Ces r&eacute;pertoires n'ont pas non
- plus besoin d'&ecirc;tre archiv&eacute;s. Il suffit d'un simple
- <citerefentry>
- <refentrytitle>mkdir</refentrytitle></citerefentry> pour
- les recr&eacute;er.</para>
-
- <para>L'usage veut que l'on donne au r&eacute;pertoire le m&ecirc;me nom
- qu'&agrave; l'imprimante, comme ci-dessous:
-
- <informalexample>
- <screen>&prompt.root; <userinput>mkdir /var/spool/<replaceable>imprimante</replaceable></userinput></screen>
- </informalexample> Cependant, s'il y a beaucoup d'imprimantes
- sur votre r&eacute;seau, vous voudrez peut-&ecirc;tre regrouper tous les
- r&eacute;pertoires tampon dans un seul r&eacute;pertoire qui sera r&eacute;serv&eacute;
- &agrave; l'impression par LPD. C'est ce que nous ferons pour nos deux
- imprimantes <literal>rattan</literal> et
- <literal>bamboo</literal>:
-
- <informalexample>
- <screen>&prompt.root; <userinput>mkdir /var/spool/lpd</userinput>
- &prompt.root; <userinput>mkdir /var/spool/lpd/rattan</userinput>
- &prompt.root; <userinput>mkdir /var/spool/lpd/bamboo</userinput></screen>
- </informalexample></para>
-
- <note>
- <para>Si la confidentialit&eacute; des travaux d'impression de
- vos utilisateurs vous pr&eacute;occuppe, vous pouvez prot&eacute;ger
- le r&eacute;pertoire tampon pour qu'il ne soit pas accessible
- &agrave; tout le monde. Les r&eacute;pertoires tampon doivent appartenir,
- &ecirc;tre accessibles en lecture et en &eacute;criture et pouvoir &ecirc;tre
- parcourus par l'utilisateur <username>daemon</username> et le
- groupe <username>daemon</username>. C'est ce que nous ferons
- pour les imprimantes de notre exemple:</para>
-
-
- <informalexample>
- <screen>&prompt.root; <userinput>chown daemon.daemon /var/spool/lpd/rattan</userinput>
- &prompt.root; <userinput>chown daemon.daemon /var/spool/lpd/bamboo</userinput>
- &prompt.root; <userinput>chmod 770 /var/spool/lpd/rattan</userinput>
- &prompt.root; <userinput>chmod 770 /var/spool/lpd/bamboo</userinput></screen>
- </informalexample>
- </note>
-
- <para>En dernier lieu, il faut donner &agrave; LPD les noms de ces
- r&eacute;pertoires par l'interm&eacute;diaire du fichier
- <filename>/etc/printcap</filename>. Cela se fait avec
- la fonctionnalit&eacute;
- <literal remap="tt">sd</literal>:</para>
-
- <programlisting>
- #
- # /etc/printcap pour la machine rose - ajout des r&eacute;pertoires tampon
- #
- rattan|line|diablo|lp|Imprimante Ligne Diablo 630:\
- :sh:sd=/var/spool/lpd/rattan:
-
- bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:
- </programlisting>
-
- <para>Notez bien que le nom de l'imprimante commence en premi&egrave;re
- colonne, que toutes les autres lignes doivent &ecirc;tre indent&eacute;es
- par une tabulation et que toutes les lignes sauf la derni&egrave;re
- se terminent par une barre oblique inverse.</para>
-
- <para>Si vous ne d&eacute;finissez pas le r&eacute;pertoire tampon avec
- <literal>sd</literal>, le gestionnaire d'impression utilisera
- <filename>/var/spool/lpd</filename> par d&eacute;faut.</para>
-
- </sect4>
-
- <sect4 id="printing-device">
- <title>D&eacute;finir le p&eacute;riph&eacute;rique associ&eacute; &agrave; l'imprimante</title>
-
- <para>Dans la section <link linkend="printing-dev-ports">Ajouter
- les entr&eacute;es pour les ports dans le r&eacute;pertoire <filename>/dev</filename></link>,
- nous avons identifi&eacute; l'entr&eacute;e du r&eacute;pertoire <filename>/dev</filename>
- via laquelle FreeBSD communiquera avec l'imprimante. Il faut
- maintenant donner cette information &agrave; LPD. Quand le gestionnaire
- aura un travail &agrave; imprimer, il ouvrira le fichier sp&eacute;cial
- pour les besoins du programme filtre (qui envoie les donn&eacute;es
- &agrave; l'imprimante).</para>
-
- <para>Indiquez l'entr&eacute;e <filename>/dev</filename> utilis&eacute;e avec
- la fonctionnalit&eacute; <literal>lp</literal> dans le fichier
- <filename>/etc/printcap</filename>.</para>
-
- <para>Supposons que, dans notre exemple, l'imprimante
- <hostid>rattan</hostid> soit sur le premier port parall&egrave;le et
- et l'imprimante <hostid>bamboo</hostid> sur le sixi&egrave;me; voici
- ce qu'il faut ajouter au fichier
- <filename>/etc/printcap</filename>:</para>
-
- <programlisting>
- #
- # /etc/printcap pour la machine rose
- # d&eacute;finition des p&eacute;riph&eacute;riques &agrave; utiliser
- #
- rattan|line|diablo|lp|Imprimante Ligne Diablo 630:\
- :sh:sd=/var/spool/lpd/rattan:\
- :lp=/dev/lpt0:
-
- bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:\
- :lp=/dev/ttyd5:
- </programlisting>
-
- <para>Si vous ne donnez pas de valeur
- <emphasis remap=tt>lp</emphasis> &agrave; une imprimante
- dans le fichier
- <filename>/etc/printcap</filename>, LPD utilise
- <filename>/dev/lp</filename> par d&eacute;faut.
- <filename>/dev/lp</filename> n'existe actuellement pas sous
- FreeBSD.</para>
-
- <para>Si l'imprimante est connect&eacute;e &agrave; un port parall&egrave;le, allez
- directement &agrave; la section <link
- linkend="printing-textfilter">Installer le filtre texte</link>.
- Sinon, suivez bien les instructions de
- la prochaine section.</para>
-
- </sect4>
-
- <sect4
- id="printing-commparam">
- <title>Configurer les param&egrave;tres de communication du gestionnaire
- d'impression</title>
-
- <para>Pour les imprimantes sur des ports s&eacute;rie, LPD peut d&eacute;finir
- la vitesse en bps, la parit&eacute; et les autres param&egrave;tres de
- communication s&eacute;rie, pour les besoins du programme filtre, qui
- envoie les donn&eacute;es &agrave; l'imprimante. C'est int&eacute;ressant parce que:
-
- <itemizedlist>
-
- <listitem>
- <para>Cela vous permet de tester des valeurs diff&eacute;rentes
- des param&egrave;tres en modifiant simplement le fichier
- <filename>/etc/printcap</filename>; vous n'avez pas
- besoin de recompiler le programme filtre.</para>
- </listitem>
-
- <listitem>
- <para>Cela permet au gestionnaire d'impression d'utiliser
- le m&ecirc;me programme filtre pour diff&eacute;rentes imprimantes
- qui n'ont pas les m&ecirc;mes param&egrave;tres de
- communication.</para>
- </listitem>
-
- </itemizedlist>
- </para>
-
- <para>Les fonctionnalit&eacute;s suivantes de
- <filename>/etc/printcap</filename>
- contr&ocirc;lent les param&egrave;tres de communication s&eacute;rie du p&eacute;riph&eacute;rique
- sp&eacute;cifi&eacute; avec la fonctionnalit&eacute;
- <emphasis remap=tt>lp</emphasis>:
-
- <variablelist>
- <varlistentry><term><literal>br#<replaceable>vitesse_en_bps</replaceable></literal></term>
- <listitem>
- <para>Fixe la vitesse de communication &agrave;
- <replaceable>vitesse_en_bps</replaceable>, o&ugrave;
- <replaceable>vitesse_en_bps</replaceable>
- peut prendre les valeurs 50, 75,
- 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800,
- 9600, 19200, ou 38400 bits par seconde.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><literal>fc#<replaceable>bits_&agrave;_r&eacute;initialiser</replaceable></literal></term>
-
- <listitem>
- <para>R&eacute;initialise les indicateurs
- <replaceable>bits_&agrave;_r&eacute;initialiser</replaceable> de la
- structure <replaceable>sgttyb</replaceable>
- apr&egrave;s avoir ouvert le fichier sp&eacute;cial de
- p&eacute;riph&eacute;rique.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><literal>fs#<replaceable>bits_&agrave;_positionner</replaceable></literal></term>
-
- <listitem>
- <para>Positionne les indicateurs
- <replaceable>bits_&agrave;_positionner</replaceable> de la
- structure <replaceable>sgttyb</replaceable>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><literal>xc#<replaceable>bits_&agrave;_r&eacute;initialiser</replaceable></literal></term>
-
- <listitem>
- <para>R&eacute;initialise les indicateurs du mode local
- <replaceable>bits_&agrave;_r&eacute;nitialiser</replaceable>
- apr&egrave;s avoir ouvert le fichier sp&eacute;cial de
- p&eacute;riph&eacute;rique.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><literal>xs#<replaceable>bits_&agrave;_positionner</replaceable></literal></term>
-
- <listitem>
- <para>Positionne les indicateurs du mode local
- <replaceable>bits_&agrave;_positionner</replaceable>.</para>
- </listitem>
- </varlistentry>
- </variablelist> Pour plus d'informations sur les bits manipul&eacute;s
- par les fonctionnalit&eacute;s
- <literal>fc</literal>, <literal>fs</literal>, <literal>xc</literal>,
- et <literal>xs</literal>, reportez-vous au fichier
- <filename>/usr/include/sys/ioctl_compat.h</filename>.</para>
-
- <para>Quand LPD ouvre le p&eacute;riph&eacute;rique d&eacute;fini par la fonctionnalit&eacute;
- <literal>lp</literal>, il lit les indicateurs de la structure
- <literal>sgttyb</literal>; il r&eacute;initialise les bits d&eacute;finis
- par la fonctionnalit&eacute; <literal remap="tt">fc</literal>,
- puis positionne ceux d&eacute;finis par la fonctionnalit&eacute;
- <literal>fs</literal> et applique le param&egrave;trage ainsi d&eacute;fini.
- Il fait de m&ecirc;me pour les indicateurs du mode local.</para>
-
- <para>Compl&eacute;tons notre exemple pour l'imprimante sur le
- sixi&egrave;me port s&eacute;rie. Nous fixerons la vitesse &agrave; 38400 bps.
- Nous positionnerons les indicateurs
- TANDEM, ANYP, LITOUT, FLUSHO, et PASS8, et les indicateurs
- du mode local LITOUT et PASS8:
-
- <programlisting>
- bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:\
- :lp=/dev/ttyd5:fs#0x82000c1:xs#0x820:
- </programlisting></para>
-
- </sect4>
-
- <sect4
- id="printing-textfilter">
- <title>Installer le filtre texte</title>
-
- <para>Nous sommes maintenant pr&ecirc;ts &agrave; dire &agrave; LPD quel filtre
- texte utiliser pour envoyer les travaux &agrave; l'imprimante.
- Un <emphasis>filtre texte</emphasis>, aussi appel&eacute;
- <emphasis>filtre d'entr&eacute;e</emphasis>, est un programme que LPD
- ex&eacute;cute quand il a un travail &agrave; imprimer. Quand LPD
- ex&eacute;cute un filtre texte pour une imprimante, il affecte
- &agrave; l'entr&eacute;e standard du filtre le travail &agrave; imprimer et &agrave;
- sa sortie standard le fichier sp&eacute;cial de p&eacute;riph&eacute;rique
- d&eacute;fini par la fonctionnalit&eacute; <literal>lp</literal>.
- Le filtre est
- suppos&eacute; lire le travail sur l'entr&eacute;e standard, effectuer le
- transcodage n&eacute;cessaire et envoyer le r&eacute;sultat sur la sortie
- standard. Pour plus d'informations sur les filtres texte,
- reportez-vous &agrave; la section <link
- linkend="printing-advanced-filters">Comment
- fonctionnent les filtres</link>.</para>
-
- <para>Pour notre exemple de configuration simple, le filtre texte
- peut &ecirc;tre une petite proc&eacute;dure qui ex&eacute;cute seulement
- <command>/bin/cat</command> pour envoyer le travail &agrave;
- l'imprimante. FreeBSD est livr&eacute; avec un autre filtre appel&eacute;
- <filename>lpf</filename> qui g&egrave;re les retours arri&egrave;re et les
- soulign&eacute;s pour les imprimantes qui ne traitent pas bien ces
- caract&egrave;res de contr&ocirc;le. Et, bien s&ucirc;r, vous pouvez utilisez le
- filtre que vous voulez. Le filtre <command>lpf</command> est
- d&eacute;crit en d&eacute;tail &agrave; la section
- <link linkend="printing-advanced-lpf"><command>lpf</command>: un
- filtre texte</link>.</para>
-
- <para>Cr&eacute;ons d'abord le filtre texte &eacute;l&eacute;mentaire
- <filename>/usr/local/libexec/if-simple</filename>.
- Avec votre &eacute;diteur de texte favori, donnez &agrave; ce fichier
- le contenu suivant:
-
- <programlisting>
- #!/bin/sh
- #
- # if-simple - filtre texte &eacute;l&eacute;mentaire pour lpd
- # fichier /usr/local/libexec/if-simple
- #
- # copie simplement stdin dans stdout. Ne prend aucun argument.
-
- /bin/cat &amp;&amp; exit 0
- exit 2
- </programlisting>
- Mettez les droits d'ex&eacute;cution sur le fichier:
-
- <informalexample>
- <screen>&prompt.root; <userinput>chmod 555 /usr/local/libexec/if-simple</userinput></screen>
- </informalexample></para>
-
- <para>Et pr&eacute;cisez maintenant &agrave; LPD de l'utiliser
- avec la fonctionnalit&eacute;
- <literal>if</literal> de
- <filename>/etc/printcap</filename>. Nous l'affecterons aux deux
- imprimantes que nous avons d&eacute;j&agrave; dans notre exemple de
- <filename>/etc/printcap</filename>:</para>
-
- <programlisting>
- #
- # /etc/printcap pour la machine rose - ajout du filtre texte
- #
- rattan|line|diablo|lp|Imprimante Ligne Diablo 630:\
- :sh:sd=/var/spool/lpd/rattan:\ :lp=/dev/lpt0:\
- :if=/usr/local/libexec/if-simple:
-
- bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:\
- :lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:\
- :if=/usr/local/libexec/if-simple:
- </programlisting>
-
- </sect4>
-
- <sect4
- id="printing-trying">
- <title>Tester la configuration</title>
-
- <para>Vous avez termin&eacute; la configuration simple de LPD.
- Malheureusement, les f&eacute;licitations ne sont pas encore de mise,
- il nous faut d'abord faire une essai et r&eacute;gler tous les
- probl&egrave;mes. Pour tester la configuration, essayez d'imprimer
- quelque chose. Pour imprimer avec le gestionnaire LPD, vous
- invoquez la commande <citerefentry>
- <refentrytitle>lpr</refentrytitle></citerefentry>,
- qui soumet un travail d'impression.</para>
-
- <para>Vous pouvez combiner <citerefentry>
- <refentrytitle>lpr</refentrytitle></citerefentry>
- et le programme <citerefentry>
- <refentrytitle>lptest</refentrytitle></citerefentry>,
- dont nous avons parl&eacute; &agrave; la section
- <link linkend="printing-testing">Tester la communication avec
- l'imprimante</link>, pour g&eacute;n&eacute;rer du
- texte pour le test.</para>
-
- <para><emphasis>Tester la configuration simple de
- LPD:</emphasis></para>
-
- <para>Tapez:
-
- <informalexample>
- <screen>&prompt.root; <userinput>lptest 20 5 | lpr -P<replaceable>imprimante</replaceable></userinput></screen>
- </informalexample> o&ugrave; <emphasis
- remap=it>imprimante</emphasis> est le nom d'une imprimante
- (ou un alias) d&eacute;finie dans <filename>/etc/printcap</filename>.
- Pour tester l'imprimante par d&eacute;faut, tapez <citerefentry>
- <refentrytitle>lpr</refentrytitle></citerefentry>
- sans argument <option>-P</option>. Encore une fois, si vous
- tester une imprimante qui attend du PostScript, envoyez-lui
- un programme PostScript au lieu d'utiliser
- <citerefentry>
- <refentrytitle>lptest</refentrytitle></citerefentry>. Vous
- pouvez le faire en mettant ce programme dans un fichier et en
- tapant <command>lpr <replaceable>fichier</replaceable></command>.</para>
-
- <para>Avec une imprimante PostScript, vous devriez voir les
- r&eacute;sultats du programme. Si vous utilisez <citerefentry>
- <refentrytitle>lptest</refentrytitle></citerefentry>,
- alors le r&eacute;sultat devrait ressembler &agrave; ce qui suit:</para>
-
- <programlisting>
- !"#$%&amp;'()*+,-./01234
- "#$%&amp;'()*+,-./012345
- #$%&amp;'()*+,-./0123456
- $%&amp;'()*+,-./01234567
- %&amp;'()*+,-./012345678
- </programlisting>
-
- <para>Pour faire d'autres essais, envoyez des programmes plus
- longs (aux imprimantes qui comprennent un langage) ou
- ex&eacute;cutez <citerefentry>
- <refentrytitle>lptest</refentrytitle></citerefentry> avec
- d'autres arguments. Par exemple, <command>lptest 80 60</command> qui g&eacute;n&eacute;rera 60 lignes de 80 caract&egrave;res chacune.</para>
-
- <para>Si l'imprimante ne fonctionne pas, voyez la section suivante <link
- linkend="printing-troubleshooting">R&eacute;gler les probl&egrave;mes</link>.</para>
-
- </sect4>
-
- <sect4
- id="printing-troubleshooting">
- <title>R&eacute;gler les probl&egrave;mes</title>
-
- <para>Apr&egrave;s le test &eacute;l&eacute;mentaire avec <citerefentry>
- <refentrytitle>lptest</refentrytitle></citerefentry>, vous
- pouvez avoir rencontr&eacute; l'un des probl&egrave;mes suivants, au lieu
- d'obtenir une impression correcte:</para>
-
- <variablelist>
- <varlistentry><term>Cela a march&eacute; quelque temps; ou,
- l'imprimante n'a pas &eacute;ject&eacute; la page.</term>
- <listitem>
- <para>L'imprimante a bien imprim&eacute; les r&eacute;sultats du
- test ci-dessus, puis s'est arr&ecirc;t&eacute;e et n'a rien fait.
- Il vous aurait peut &ecirc;tre fallu appuyer sur le bouton
- &ldquo;Avance Papier&rdquo; ou &ldquo;Continuer
- l'Impression&rdquo; pour obtenir la suite.</para>
-
- <para>Dans ce cas, l'imprimante attendait probablement
- la suite de votre travail avant d'imprimer quoi que
- ce soit. Pour r&eacute;gler le probl&egrave;me, vous pouvez modifier
- le filtre texte pour qu'il envoie un caract&egrave;re de saut
- de page (&ldquo;FORM FEED&rdquo;)&nbsp;-&nbsp;ou tout autre
- caract&egrave;re n&eacute;cessaire&nbsp;-&nbsp;&agrave; l'imprimante. Cela suffit
- g&eacute;n&eacute;ralement pour que l'imprimante traite imm&eacute;diatement
- le texte qu'elle a encore en m&eacute;moire. C'est aussi
- utile pour &ecirc;tre s&ucirc;r que chaque travail d'impression
- se termine sur une page compl&egrave;te, de sorte que le
- travail suivant ne commence pas sur la derni&egrave;re page
- du travail qui le pr&eacute;c&egrave;de.</para>
-
- <para>Voici une proc&eacute;dure
- <filename>/usr/local/libexec/if-simple</filename>
- modifi&eacute;e qui envoie un saut de page &agrave; la fin du
- travail d'impression:
-
- <programlisting>
- #!/bin/sh
- #
- # if-simple - filtre texte &eacute;l&eacute;mentaire pour lpd
- # fichier /usr/local/libexec/if-simple
- #
- # copie simplement stdin dans stdout. Ne prend aucun argument.
- # envoie un caract&egrave;re de saut de page (\f) en fin d'impression.
-
- /bin/cat &amp;&amp; printf "\f" &amp;&amp; exit 0
- exit 2
- </programlisting></para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term>Le texte s'est imprim&eacute; &ldquo;en
- escalier.&rdquo;</term>
-
- <listitem>
- <para>Si vous obtenez ce qui suit:
-
- <programlisting>
- !"#$%&amp;'()*+,-./01234
- "#$%&amp;'()*+,-./012345
- $%&amp;'()*+,-./0123456
- </programlisting>
- vous &ecirc;tes la nouvelle victime de
- l'<emphasis>effet d'escalier</emphasis>, d&ucirc; &agrave; une
- interpr&eacute;tation divergente des caract&egrave;res de saut de
- ligne. Les syst&egrave;mes d'exploitation de type Unix
- utilisent un seul caract&egrave;re: le code ASCII 10, ou
- saut de ligne (LF&nbsp;-&nbsp;&ldquo;Line Feed&rdquo;).
- MS-DOS, OS/2 et d'autres utilisent deux caract&egrave;res,
- le code ASCII 10 <emphasis>et</emphasis> le code ASCII
- 13 (le retour-chariot ou CR&nbsp;-&nbsp;&ldquo;Carriage Return&rdquo;).
- De nombreuses imprimantes emploient les conventions
- MS-DOS pour passer &agrave; la ligne.</para>
-
- <para>Quand vous imprimez avec FreeBSD, votre texte ne
- contient que le caract&egrave;re de saut de ligne. L'imprimante
- passe alors &agrave; la ligne suivante, mais ne revient pas
- en d&eacute;but de ligne. C'est &agrave; cela que sert le
- retour-chariot: revenir au d&eacute;but de ligne avant
- d'imprimer le prochain caract&egrave;re.</para>
-
- <!-- This para needs to be rewritten - Nik -->
- <para>Voici ce que FreeBSD attend de votre imprimante:</para>
-
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>L'imprimante re&ccedil;oit</entry>
- <entry>L'imprimante imprime</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>CR</entry>
- <entry>CR</entry>
- </row>
-
- <row>
- <entry>LF</entry>
- <entry>CR + LF</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Il y a plusieurs fa&ccedil;ons d'y arriver:
- <itemizedlist>
-
- <listitem>
- <para>Utilisez les interrupteurs du panneau de
- contr&ocirc;le de l'imprimante pour modifier la fa&ccedil;on
- dont elle interpr&egrave;te ces caract&egrave;res. Voyez le
- mode d'emploi de votre imprimante pour savoir
- comment faire.</para>
-
- <note>
- <para>Si vous utilisez aussi sur votre machine
- d'autres syst&egrave;mes d'exploitation que FreeBSD,
- vous devrez peut-&ecirc;tre
- <emphasis>configurer</emphasis> votre
- imprimante pour qu'elle interpr&egrave;te CR et LF
- en fonction de la mani&egrave;re dont ces autres
- syst&egrave;mes d'exploitation les utilisent. Vous
- pr&eacute;f&eacute;rerez alors une des autres solutions
- ci-dessous.</para>
- </note>
- </listitem>
-
- <listitem>
- <para>Faire en sorte que le pilote de liaison s&eacute;rie
- de FreeBSD convertisse les LF en CR+LF. Cela ne
- marche, bien entendu, <emphasis>qu'avec</emphasis>
- les imprimantes sur des ports s&eacute;rie. Pour cela,
- positionnez le bit CRMOD de la fonctionnalit&eacute;
- <emphasis remap="tt">fs</emphasis> de l'imprimante dans
- le fichier
- <filename>/etc/printcap</filename>.</para>
- </listitem>
-
- <listitem>
- <para>Envoyer une
- <emphasis>s&eacute;quence d'&eacute;chappement</emphasis> &agrave;
- l'imprimante pour qu'elle traite temporairement
- les caract&egrave;res LF de fa&ccedil;on diff&eacute;rente. Consultez
- la documentation de votre imprimante pour
- conna&icirc;tre la commande ad&eacute;quate. Une fois que vous
- l'avez trouv&eacute;e, modifiez le filtre pour qu'il
- envoie cette commande avant le travail
- d'impression.</para>
-
- <para>Voici un exemple de filtre texte pour les
- imprimantes qui acceptent les s&eacute;quences
- d'&eacute;chappement du langage PCL de Hewlett-Packard.
- Ce filtre envoie la commande qui dit &agrave;
- l'imprimante de traiter les caract&egrave;res LF comme
- un CR et un LF, puis le travail d'impression et
- enfin un saut de page pour &eacute;jecter la derni&egrave;re
- page. Il devrait &ecirc;tre utilisable avec presque
- toutes les imprimantes Hewlett-Packard.</para>
-
- <programlisting>
- #!/bin/sh
- #
- # hpif - filtre texte &eacute;l&eacute;mentaire pour lpd
- # pour les imprimantes compatibles HP-PCL
- # fichier /usr/local/libexec/hpif
- #
- # copie simplement stdin dans stdout. Ne prend aucun argument.
- # dit &agrave; l'imprimante de traiter LF comme un CR+LF
-# envoie un caractere de saut de page (\f) en fin d'impression.
-
-printf "\033&amp;k2G" &amp;&amp; cat &amp;&amp; printf "\f" &amp;&amp; exit 0
-exit 2
- </programlisting>
-
- <para>Voici un exemple de fichier
- <filename>/etc/printcap</filename> pour une
- machine appel&eacute;e orchid. Elle a une seule
- imprimante sur son premier port parall&egrave;le, une
- LaserJet 3Si Hewlett-Packard appel&eacute;e
- <hostid>teak</hostid>. Elle utilise la proc&eacute;dure
- ci-dessus comme filtre texte:
-
- <programlisting>
- #
- # /etc/printcap pour la machine orchid
- #
- teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
- :lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\
- :if=/usr/local/libexec/hpif:
- </programlisting></para>
- </listitem>
-
- </itemizedlist>
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term>Les lignes se superposent.</term>
-
- <listitem>
- <para>L'imprimante n'a jamais avanc&eacute; d'une ligne.
- Toutes les lignes sont imprim&eacute;es les unes sur les
- autres.</para>
-
- <para>C'est le probl&egrave;me &ldquo;inverse&rdquo; de l'effet
- d'escalier d&eacute;crit ci-dessus, et c'est plus rare. Pour
- une raison quelconque, les caract&egrave;res LF que FreeBSD
- emploie en fin de ligne sont compris comme des
- caract&egrave;res CR de retour en d&eacute;but de ligne, sans passage
- &agrave; la ligne.</para>
-
- <!-- Need to rewrite this para -->
- <para>Utilisez les interrupteurs du panneau de
- contr&ocirc;le de l'imprimante pour modifier comme suit
- son interpr&eacute;tation des caract&egrave;res LF et CR.</para>
-
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>L'imprimante re&ccedil;oit</entry>
- <entry>L'imprimante imprime</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>CR</entry>
- <entry>CR</entry>
- </row>
-
- <row>
- <entry>LF</entry>
- <entry>CR + LF</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </listitem>
- </varlistentry>
-
- <varlistentry><term>L'imprimante perd des caract&egrave;res.</term>
-
- <listitem>
- <para>En cours d'impression, l'imprimante perd
- quelques caract&egrave;res de chaque ligne. Cela peut aller
- de mal en pis, de plus en plus de caract&egrave;res se
- perdent.</para>
-
- <para>Le probl&egrave;me tient &agrave; ce que l'imprimante ne
- suit pas le rythme auquel l'ordinateur lui envoie
- des donn&eacute;es sur la ligne s&eacute;rie. (Ce probl&egrave;me ne
- devrait pas se produire avec les imprimantes sur
- des ports parall&egrave;les.) Il y a deux fa&ccedil;ons de
- r&eacute;soudre ce probl&egrave;me:
- <itemizedlist>
-
- <listitem>
- <para>Si l'imprimante g&egrave;re le contr&ocirc;le de flux
- XON/XOFF, faites en sorte que FreeBSD l'utilise
- en positionnant le bit TANDEM de la
- fonctionnalit&eacute;
- <literal>fs</literal>.</para>
- </listitem>
-
- <listitem>
- <para>Si l'imprimante g&egrave;re le contr&ocirc;le de flux
- mat&eacute;riel, positionnez le bit MDMBUF de la
- fonctionnalit&eacute; <literal>fs</literal>. V&eacute;rifiez
- que le c&acirc;ble qui relie l'imprimante &agrave;
- l'ordinateur est bien con&ccedil;u pour transmettre
- les signaux de contr&ocirc;le de flux (CTS/RTS).</para>
- </listitem>
-
- <listitem>
- <para>Si l'imprimante ne g&egrave;re aucun protocole de
- contr&ocirc;le de flux, utilisez la bonne combinaison
- de bits NLDELAY, TBDELAY, CRDELAY, VTDELAY, et
- BSDELAY de la fonctionnalit&eacute;
- <literal>fs</literal> pour introduire les d&eacute;lais
- appropri&eacute;s dans le flot de donn&eacute;es
- envoy&eacute; &agrave; l'imprimante.</para>
- </listitem>
-
- </itemizedlist>
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term>Cela imprime n'importe quoi.</term>
-
- <listitem>
- <para>Ce qui s'imprime ressemble &agrave; tout, sauf au
- texte attendu.</para>
-
- <para>C'est en g&eacute;n&eacute;ral un autre sympt&ocirc;me d'un param&eacute;trage
- incorrect de la communication avec une imprimante s&eacute;rie.
- V&eacute;rifiez la vitesse en bps de la fonctionnalit&eacute;
- <literal>br</literal>, et les bits de parit&eacute;
- des fonctionnalit&eacute;s <literal>fs</literal> et
- <literal>fc</literal>; assurez-vous que l'imprimante
- utilise les m&ecirc;mes param&egrave;tres que ceux d&eacute;finis dans le
- fichier <filename>/etc/printcap</filename>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term>Il ne se passe rien.</term>
-
- <listitem>
- <para>S'il ne se passe rien, le probl&egrave;me vient
- probablement de FreeBSD et non du mat&eacute;riel. Ajoutez
- la fonctionnalit&eacute; de trace
- (<literal>lf</literal>) &agrave; l'entr&eacute;e associ&eacute;e &agrave;
- l'imprimante que vous testez, dans le fichier
- <filename>/etc/printcap</filename>. Par exemple,
- voici l'entr&eacute;e pour <literal>rattan</literal>, avec
- la fonctionnalit&eacute; <literal>lf</literal>:
-
- <programlisting>
- rattan|line|diablo|lp|Imprimante Ligne Diablo 630:\
- :sh:sd=/var/spool/lpd/rattan:\
- :lp=/dev/lpt0:\ :if=/usr/local/libexec/if-simple:\
- :lf=/var/log/rattan.log
- </programlisting>
- Refaites ensuite un essai d'impression et consultez le
- fichier de trace
- (<filename>/var/log/rattan.log</filename>, dans notre
- exemple) pour voir s'il y a des messages d'erreur.
- Essayez ensuite de corriger le probl&egrave;me au vu de
- ces messages.</para>
-
- <para>Si vous n'utilisez pas la fonctionnalit&eacute;
- <literal>lf</literal>, LPD utilise
- <filename>/dev/console</filename> par d&eacute;faut.</para>
-
- </listitem>
- </varlistentry>
- </variablelist>
-
- </sect4>
- </sect3>
- </sect2>
- </sect1>
-
- <sect1
- id="printing-using">
- <title>Utiliser les imprimantes</title>
-
- <para>Cette section vous explique comment utiliser les imprimantes
- que vous avez configur&eacute;es pour FreeBSD. Voici un r&eacute;sum&eacute; des
- commandes utilisateur:</para>
-
- <variablelist>
- <varlistentry><term><citerefentry>
- <refentrytitle>lpr</refentrytitle></citerefentry></term>
- <listitem>
- <para>Imprime les travaux.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><citerefentry>
- <refentrytitle>lpq</refentrytitle></citerefentry></term>
-
- <listitem>
- <para>Consulte la file d'attente.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><citerefentry>
- <refentrytitle>lprm</refentrytitle></citerefentry></term>
-
- <listitem>
- <para>Retire des travaux de la file d'attente.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Il y a aussi une commande d'administration, <citerefentry>
- <refentrytitle>lpc</refentrytitle></citerefentry>,
- d&eacute;crite dans la section <link linkend="printing-lpc">Administrer
- les imprimantes</link>,
- qui sert &agrave; g&eacute;rer les imprimantes et leurs
- files d'attente.</para>
-
- <para>Chacune des trois commandes <citerefentry>
- <refentrytitle>lpr</refentrytitle></citerefentry>, <citerefentry>
- <refentrytitle>lprm</refentrytitle></citerefentry>, et
- <citerefentry>
- <refentrytitle>lpq</refentrytitle></citerefentry>
- accepte l'option <option>-P <replaceable>imprimante</replaceable></option> pour pr&eacute;ciser &agrave; quelle imprimante/file d'attente,
- d&eacute;finie dans le fichier <filename>/etc/printcap</filename>,
- elle s'applique. Vous pouvez alors soumettre, annuler et
- consulter l'&eacute;tat de vos travaux sur les diff&eacute;rentes imprimantes.
- Si vous omettez l'option <option>-P</option>, ces commandes
- s'appliquent &agrave; l'imprimante d&eacute;finie par la variable
- d'environnement <envar>PRINTER</envar>. En dernier ressort, si
- vous n'avez pas d&eacute;fini la variable d'environnement
- <envar>PRINTER</envar>, ces commandes s'appliquent par d&eacute;faut &agrave;
- l'imprimante appel&eacute;e <emphasis remap=tt>lp</emphasis>.</para>
-
- <para>Dans ce qui suit, le terme
- <emphasis>imprimante par d&eacute;faut</emphasis> d&eacute;signe donc
- l'imprimante d&eacute;finie par la variable d'environnement
- <envar>PRINTER</envar>, ou l'imprimante appel&eacute;e
- <literal>lp</literal> s'il n'y a pas de variable d'environnement
- <envar>PRINTER</envar>.</para>
-
-
- <sect2
- id="printing-lpr">
- <title>Imprimer</title>
-
- <para>Pour imprimer des fichiers, tapez:
-
- <informalexample>
- <screen>&prompt.user; <userinput>lpr <replaceable>fichier</replaceable> <replaceable>...</replaceable></userinput></screen>
- </informalexample> Cela imprime chacun des fichiers indiqu&eacute;s sur
- l'imprimante par d&eacute;faut. Si vous ne donnez pas de nom de fichier,
- <citerefentry><refentrytitle>lpr</refentrytitle></citerefentry>
- lit les donn&eacute;es &agrave; imprimer sur l'entr&eacute;e standard. Par exemple,
- la commande:
-
- <informalexample>
- <screen>&prompt.user; <userinput>lpr /etc/host.conf /etc/hosts.equiv</userinput></screen>
- </informalexample> imprime des fichiers syst&egrave;me importants. Pour
- choisir l'imprimante, tapez:
-
- <informalexample>
- <screen>&prompt.user; <userinput>lpr -P <replaceable>imprimante</replaceable> <replaceable>fichier</replaceable> <replaceable>...</replaceable></userinput></screen>
- </informalexample> Cet exemple imprime la liste longue du r&eacute;pertoire
- courant sur l'imprimante appel&eacute;e <literal>rattan</literal>:
-
- <informalexample>
- <screen>&prompt.user; <userinput>ls -l | lpr -P rattan</userinput></screen>
- </informalexample> Comme on n'a pas donn&eacute; de nom de fichier &agrave; la
- commande
- <citerefentry>
- <refentrytitle>lpr</refentrytitle></citerefentry>,
- elle lit les donn&eacute;es &agrave; imprimer sur l'entr&eacute;e standard, qui est ici
- le r&eacute;sultat de la commande <command>ls -l</command>.</para>
-
- <para>La commande <citerefentry>
- <refentrytitle>lpr</refentrytitle></citerefentry> accepte une
- grande vari&eacute;t&eacute; d'options pour contr&ocirc;ler le format, convertir
- les fichiers, imprimer plusieurs copies et ainsi de suite. Pour
- plus d'informations, reportez-vous &agrave; la section
- <link linkend="printing-lpr-options">Au-del&agrave; du simple texte : options
- d'impression</link>.</para>
-
- </sect2>
-
- <sect2
- id="printing-lpq">
- <title>Consulter l'&eacute;tat de la file d'attente</title>
-
- <para>Quand vous imprimez avec <citerefentry>
- <refentrytitle>lpr</refentrytitle></citerefentry>, les
- donn&eacute;es que vous voulez imprimer sont regroup&eacute;es dans un
- &ldquo;travail d'impression&rdquo;, qui est envoy&eacute; au gestionnaire
- LPD. Chaque imprimante a sa file d'attente des travaux d'impression,
- et le votre y est mis en attente avec vos autres travaux et ceux des
- autres utilisateurs. L'imprimante les traite sur la base du premier
- arriv&eacute;, premier servi.</para>
-
- <para>Pour conna&icirc;tre l'&eacute;tat de la file d'attente de l'imprimante par
- d&eacute;faut, tapez:
- <citerefentry>
- <refentrytitle>lpq</refentrytitle></citerefentry>. Pour une
- imprimante particuli&egrave;re, utilisez l'option <option>-P</option>. Par
- exemple, la commande:
-
- <informalexample>
- <screen>&prompt.user; <userinput>lpq -P bamboo</userinput></screen>
- </informalexample>affiche la file d'attente de l'imprimante appel&eacute;e
- <hostid>bamboo</hostid>. Voici un exemple de r&eacute;sultat de la
- commande <command>lpq</command>:
-
- <informalexample>
- <screen>bamboo is ready and printing
- Rank Owner Job Files Total Size
- active kelly 9 /etc/host.conf, /etc/hosts.equiv 88 bytes
- 2nd kelly 10 (standard input) 1635 bytes
- 3rd mary 11 ... 78519 bytes</screen>
- </informalexample> Il y a trois travaux dans la file d'attente de
- <literal>bamboo</literal>. Le premier, soumis par l'utilisateur
- kelly, a &eacute;t&eacute; affect&eacute; du &ldquo;num&eacute;ro de travail&rdquo; 9. A chaque
- travail est attribu&eacute; un num&eacute;ro de travail unique. La plupart du
- temps, vous n'avez pas besoin de le conna&icirc;tre, sauf si vous voulez
- annuler l'impression; reportez-vous &agrave; la section
- <link linkend="printing-lprm">Annuler des impressions</link> pour plus de
- d&eacute;tails.</para>
-
- <para>Le travail num&eacute;ro neuf comporte deux fichiers &agrave; imprimer;
- lorsque plusieurs noms de fichiers sont donn&eacute;s en param&egrave;tres de
- la commande <citerefentry>
- <refentrytitle>lpr</refentrytitle></citerefentry>,
- ils sont trait&eacute;s en un seul travail d'impression. C'est le travail
- en cours (ce qu'indique la mention <literal>active</literal>
- dans la colonne &ldquo;Rank&rdquo;), ce qui signifie que
- l'imprimante devrait &ecirc;tre en train de l'imprimer.</para>
-
- <para>Le deuxi&egrave;me travail est constitu&eacute; par des donn&eacute;es pass&eacute;es
- de l'entr&eacute;e standard &agrave; la commande <citerefentry>
- <refentrytitle>lpr</refentrytitle></citerefentry>.
- Le troisi&egrave;me travail vient de l'utilisateur mary; il est bien
- plus volumineux. Les noms des fichiers qu'elle veut imprimer
- sont trop longs, c'est pourquoi la commande <citerefentry>
- <refentrytitle>lpq</refentrytitle></citerefentry> n'affiche
- que trois points.</para>
-
- <para>La premi&egrave;re ligne du r&eacute;sultat de <citerefentry>
- <refentrytitle>lpq</refentrytitle></citerefentry> est aussi
- utile: elle dit ce que l'imprimante est en train de faire (ou
- tout du moins, ce que LPD pense qu'elle est en train de
- faire).</para>
-
- <para>La commande <citerefentry>
- <refentrytitle>lpq</refentrytitle></citerefentry> accepte
- aussi l'option <option>-l</option> qui g&eacute;n&egrave;re une sortie
- d&eacute;taill&eacute;e. Voici un exemple de r&eacute;sultat de
- <command>lpq -l</command>:</para>
-
- <informalexample>
- <screen>waiting for bamboo to become ready (offline ?)
- kelly: 1st [job 009rose]
- /etc/host.conf 73 bytes
- /etc/hosts.equiv 15 bytes
-
- kelly: 2nd [job 010rose]
- (standard input) 1635 bytes
-
- mary: 3rd [job 011rose]
- /home/orchid/mary/research/venus/alpha-regio/mapping 78519 bytes</screen>
- </informalexample>
-
- </sect2>
-
- <sect2
- id="printing-lprm">
- <title>Annuler des impressions</title>
-
- <para>Si vous changez d'avis quant &agrave; un travail d'impression, vous
- pouvez le retirer de la file d'attente avec la commande
- <citerefentry>
- <refentrytitle>lprm</refentrytitle></citerefentry>.
- La plupart du temps, vous pouvez m&ecirc;me utiliser <citerefentry>
- <refentrytitle>lprm</refentrytitle></citerefentry> pour
- annuler une impression en cours, mais il se peut que tout ou une
- partie du travail soit malgr&eacute; tout imprim&eacute;.</para>
-
- <para>Pour annuler une impression sur l'imprimante par d&eacute;faut,
- utilisez
- <citerefentry>
- <refentrytitle>lpq</refentrytitle></citerefentry> pour conna&icirc;tre
- le num&eacute;ro du travail. Puis tapez:
- <informalexample>
- <screen>&prompt.user; <userinput>lprm <replaceable>num&eacute;ro_du_travail</replaceable></userinput></screen>
- </informalexample></para>
-
- <para>Pour annuler une impression sur une imprimante donn&eacute;e, ajoutez
- l'option <option>-P</option>. La commande qui suit retire le travail
- d'impression num&eacute;ro 10 de la file d'attente de l'imprimante
- <hostid>bamboo</hostid>:</para>
-
- <informalexample>
- <screen>&prompt.user; <userinput>lprm -P bamboo 10</userinput></screen>
- </informalexample>
-
- <para>La commande <citerefentry>
- <refentrytitle>lprm</refentrytitle></citerefentry>
- accepte diff&eacute;rents raccourcis:</para>
-
- <variablelist>
- <varlistentry><term>lprm -</term>
- <listitem>
- <para>Annule tous les travaux (sur l'imprimante par d&eacute;faut)
- qui vous appartiennent.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term>lprm <replaceable>utilisateur</replaceable></term>
-
- <listitem>
- <para>Annule tous les travaux (sur l'imprimante par d&eacute;faut)
- qui appartiennent &agrave; l'<replaceable>utilisateur</replaceable>. Le
- super-utilisateur peut annuler les travaux d'impression
- des autres utilisateurs; vous ne pouvez retirer que vos
- propres travaux.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term>lprm</term>
-
- <listitem>
- <para>Sans num&eacute;ro de travail, nom d'utilisateur, ou
- <option>-</option> sur la ligne de commande,
- <citerefentry>
- <refentrytitle>lprm</refentrytitle></citerefentry> retire
- le travail en cours de la file d'attente de l'imprimante
- par d&eacute;faut, s'il vous appartient. Le super-utilisateur
- peut annuler n'importe quel travail en cours.</para>
-
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Employez simplement l'option <option>-P</option> avec les
- raccourcis ci-dessus pour les appliquer &agrave; une autre imprimante
- que l'imprimante par d&eacute;faut. La commande suivante, par exemple,
- retire tous les travaux de l'utilisateur courant de la file
- d'attente de l'imprimante appel&eacute;e <literal>rattan</literal>:</para>
-
- <informalexample>
- <screen>&prompt.user; <userinput>lprm -P rattan -</userinput></screen>
- </informalexample>
-
- <note>
- <para>Si vous travaillez dans un environnement en r&eacute;seau, vous
- ne pourrez annuler de travaux avec
- <citerefentry>
- <refentrytitle>lprm</refentrytitle></citerefentry>
- que depuis la machine &agrave; partir de laquelle ils ont &eacute;t&eacute; soumis,
- m&ecirc;me si l'imprimante concern&eacute;e est accessible depuis d'autres
- machines. C'est ce qu'illustre la s&eacute;quence suivante:</para>
-
- <informalexample>
- <screen>&prompt.user; <userinput>lpr -P rattan myfile</userinput>
- &prompt.user; <userinput>rlogin orchid</userinput>
- &prompt.user; <userinput>lpq -P rattan</userinput>
- Rank Owner Job Files Total Size
- active seeyan 12 ... 49123 bytes
- 2nd kelly 13 myfile 12 bytes
- &prompt.user; <userinput>lprm -P rattan 13</userinput>
- rose: Permission denied
- &prompt.user; <userinput>logout</userinput>
- &prompt.user; <userinput>lprm -P rattan 13</userinput>
- dfA013rose dequeued
- cfA013rose dequeued
- </screen>
- </informalexample>
- </note>
- </sect2>
-
- <sect2
- id="printing-lpr-options">
- <title>Au-del&agrave; du simple texte: options d'impression</title>
-
- <para>La commande <citerefentry>
- <refentrytitle>lpr</refentrytitle></citerefentry> accepte
- un certain nombre d'options qui contr&ocirc;lent la mise en page,
- la conversion des graphiques et d'autres formats de
- fichiers, le nombre de copies, et autres. Cette section
- d&eacute;crit ces options.</para>
-
- <sect3
- id="printing-lpr-options-format">
- <title>Options de mise en page et de conversion</title>
-
- <para>Les options de <citerefentry>
- <refentrytitle>lpr</refentrytitle></citerefentry>
- ci-dessous contr&ocirc;lent la mise en page des fichiers d'un travail
- d'impression. Utilisez-les si vos fichiers ne contiennent pas
- uniquement du texte ou si vous voulez formater du texte avec
- l'utilitaire <citerefentry>
- <refentrytitle>pr</refentrytitle></citerefentry>.</para>
-
- <para>Par exemple, la commande suivante imprime un fichier DVI
- (produit par le traitement de texte TeX) appel&eacute;
- <filename>rapport-poissons.dvi</filename> sur l'imprimante appel&eacute;e
- <literal>bamboo</literal>:</para>
- <informalexample>
- <screen>&prompt.user; <userinput>lpr -P bamboo -d rapports-poissons.dvi</userinput></screen>
- </informalexample>
-
- <para>Ces options sont valables pour tous les fichiers du travail
- d'impression, vous ne pouvez donc pas m&eacute;langer des fichiers
- DVI et ditroff (par exemple). Vous devez les soumettre dans des
- travaux s&eacute;par&eacute;s avec des options de conversion diff&eacute;rentes pour
- chaque travail.</para>
-
- <note>
- <para>Toutes ces options, sauf <option>-p</option> et
- <option>-T</option> impliquent que les filtres de conversion
- soient install&eacute;s pour les imprimantes utilis&eacute;es. Pour l'option
- <option>-d</option>, par exemple, il faut le filtre de
- conversion DVI. La section <link
- linkend="printing-advanced-convfilters">Filtres de conversion</link>
- vous explique cela en d&eacute;tail.</para>
- </note>
-
-
- <variablelist>
- <varlistentry><term><option>-c</option></term>
- <listitem>
- <para>Imprime des fichiers cifplot.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><option>-d</option></term>
-
- <listitem>
- <para>Imprime des fichiers DVI.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><option>-f</option></term>
-
- <listitem>
- <para>Imprime des programmes FORTRAN.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><option>-g</option></term>
-
- <listitem>
- <para>Imprime des graphiques pour un traceur (&ldquo;plot&rdquo;).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><option>-i<replaceable>nombre</replaceable></option></term>
-
- <listitem>
- <para>Indente la sortie de <replaceable>nombre</replaceable> de colonnes; si vous ne pr&eacute;cisez pas
- <replaceable>nombre</replaceable>, indente de 8
- colonnes. Cette option ne s'applique qu'&agrave; certains filtres
- de conversion.</para>
-
- <note>
- <para>Ne mettez pas de blanc entre
- <option>-i</option> et le nombre.</para>
- </note>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><option>-l</option></term>
-
- <listitem>
- <para>Imprime le texte tel quel, y compris les caract&egrave;res
- de contr&ocirc;le.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><option>-n</option></term>
-
- <listitem>
- <para>Imprime des donn&eacute;es ditroff (troff ind&eacute;pendant du
- p&eacute;riph&eacute;rique&nbsp;-&nbsp;&ldquo;device independent troff&rdquo;).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term>-p</term>
-
- <listitem>
- <para>Formate du texte avec <citerefentry>
- <refentrytitle>pr</refentrytitle></citerefentry>
- avant de l'imprimer. Voyez <citerefentry><refentrytitle>pr</refentrytitle><manvolnum>1</manvolnum></citerefentry> pour plus informations.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><option>-T
- <replaceable>titre</replaceable></option></term>
-
- <listitem>
- <para>Utilise <replaceable>titre</replaceable> comme en-t&ecirc;te
- <citerefentry>
- <refentrytitle>pr</refentrytitle></citerefentry>
- au lieu du nom de fichier. Cette option ne s'applique qu'avec
- l'option <option>-p</option>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><option>-t</option></term>
-
- <listitem>
- <para>Imprime des donn&eacute;es troff.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><option>-v</option></term>
-
- <listitem>
- <para>Imprime des images point par point.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
-
- <para>Voici un exemple: cette commande imprime une version proprement
- format&eacute;e des pages de manuel de <citerefentry>
- <refentrytitle>ls</refentrytitle></citerefentry>
- sur l'imprimante par d&eacute;faut:</para>
-
- <informalexample>
- <screen>&prompt.user; <userinput>zcat /usr/share/man/man1/ls.1.gz | troff -t -man | lpr -t</userinput></screen>
- </informalexample>
-
- <para>La commande <citerefentry>
- <refentrytitle>zcat</refentrytitle></citerefentry>
- d&eacute;compresse le source des pages de manuel de <citerefentry>
- <refentrytitle>ls</refentrytitle></citerefentry> et les passe
- &agrave; la commande <citerefentry>
- <refentrytitle>troff</refentrytitle></citerefentry>,
- qui les convertit au format GNU troff et le passe &agrave;
- <citerefentry>
- <refentrytitle>lpr</refentrytitle></citerefentry>,
- qui soumet le travail au gestionnaire d'impression. Comme nous avons
- utilis&eacute; l'option <option>-t</option> de la commande
- <citerefentry>
- <refentrytitle>lpr</refentrytitle></citerefentry>, le gestionnaire
- d'impression convertira le format GNU troff en un format compr&eacute;hensible
- par l'imprimante.</para>
-
- </sect3>
-
- <sect3
- id="printing-lpr-options-job-handling">
- <title>Options de traitement</title>
-
- <para>Les options <citerefentry>
- <refentrytitle>lpr</refentrytitle></citerefentry> qui suivent
- indiquent &agrave; LPD les traitements particuliers &agrave; appliquer &agrave; un
- travail d'impression:</para>
-
- <para>
- <variablelist>
- <varlistentry><term>-# <replaceable>nombre</replaceable></term>
- <listitem>
- <para>Produit le <replaceable>nombre</replaceable> de copies
- de chaque fichier du travail d'impression, au lieu d'une
- seule. L'administrateur peut d&eacute;sactiver cette option pour
- r&eacute;duire l'usure de l'imprimante et encourager l'utilisation
- de la photocopieuse. Reportez-vous &agrave; la section <link
- linkend="printing-advanced-restricting-copies">Restreindre
- l'impression de plusieurs exemplaires</link>.</para>
-
- <para>Cet exemple imprime trois exemplaires du fichier
- <filename>analyseur.c</filename> suivis de trois exemplaires
- de <filename>analyseur.h</filename> sur l'imprimante par
- d&eacute;faut:</para>
-
- <informalexample>
- <screen>&prompt.user; <userinput>lpr -#3 analyseur.c analyseur.h</userinput></screen>
- </informalexample>
- </listitem>
- </varlistentry>
-
- <varlistentry><term>-m</term>
-
- <listitem>
- <para>Envoie un courrier &eacute;lectronique &agrave; la fin du travail
- d'impression. Avec cette option, LPD vous envoie un
- courrier &eacute;lectronique quand il a fini de traiter votre
- travail d'impression. Son message vous dit si le travail
- s'est normalement d&eacute;roul&eacute; ou s'il y a eu une erreur, et
- (la plupart du temps) quelle &eacute;tait l'erreur.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term>-s</term>
-
- <listitem>
- <para>Ne recopie pas les fichiers dans le r&eacute;pertoire tampon, mais
- utilise des liens symboliques.</para>
-
- <para>Vous utiliserez certainement cette option si vous avez
- des travaux d'impression volumineux. Cela fait gagner de la place
- dans le r&eacute;pertoire tampon (votre travail pourrait saturer le
- syst&egrave;me de fichiers o&ugrave; se trouve le r&eacute;pertoire tampon). Cela fait
- aussi gagner du temps, car LPD n'a pas besoin de recopier votre
- travail d'impression dans le r&eacute;pertoire tampon.</para>
-
- <para>Il y a cependant une restriction: comme LPD utilisera les
- fichiers d'origine, vous ne pourrez pas les modifier ou les
- supprimer avant qu'ils aient &eacute;t&eacute; imprim&eacute;s.</para>
-
- <note>
- <para>Si vous imprimez sur une imprimante &agrave; distance, LPD
- copiera les fichiers de la machine locale
- vers la machine distante, donc l'option <option>-s</option>
- ne fera gagner de place que sur la machine locale,
- mais pas sur la machine distante. Cela reste n&eacute;anmoins
- utile.</para>
- </note>
- </listitem>
- </varlistentry>
-
- <varlistentry><term>-r</term>
-
- <listitem>
- <para>D&eacute;truit les fichiers apr&egrave;s les avoir copi&eacute;s dans le
- r&eacute;pertoire tampon, ou apr&egrave;s les avoir imprim&eacute;s avec l'option
- <option>-s</option>. Soyez prudents avec cette
- option!</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </para>
-
- </sect3>
-
- <sect3
- id="printing-lpr-options-misc">
- <title>Options pour la page d'en-t&ecirc;te</title>
-
- <para>Ces options de <citerefentry>
- <refentrytitle>lpr</refentrytitle></citerefentry>
- influent sur le texte qui est normalement imprim&eacute; sur la page
- d'en-t&ecirc;te du travail d'impression. Si les pages d'en-t&ecirc;te sont
- d&eacute;sactiv&eacute;es pour l'imprimante destinataire, ces options n'ont
- pas d'effet. Voyez la section <link
- linkend="printing-advanced-header-pages">Pages d'en-t&ecirc;te</link>
- pour savoir comment g&eacute;rer les pages d'en-t&ecirc;te.</para>
-
-
- <variablelist>
- <varlistentry><term>-C <replaceable>texte</replaceable></term>
- <listitem>
- <para>Remplace le nom de machine sur la page d'en-t&ecirc;te par
- <replaceable>texte</replaceable>. Le nom de machine est
- normalement celui de la machine d'o&ugrave; le travail a &eacute;t&eacute;
- soumis.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term>-J <replaceable>texte</replaceable></term>
-
- <listitem>
- <para>Remplace le nom du travail sur la page d'en-t&ecirc;te par
- <replaceable>texte</replaceable>. Le nom du travail est
- normalement le nom du premier fichier &agrave; imprimer, ou
- <filename>stdin</filename> si vous imprimez depuis l'entr&eacute;e
- standard.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term>-h</term>
-
- <listitem>
- <para>N'imprime pas de page d'en-t&ecirc;te.</para>
-
- <note>
- <para>Sur certains sites, cette option n'a pas d'effet, selon
- la fa&ccedil;on dont les pages d'en-t&ecirc;te sont g&eacute;n&eacute;r&eacute;es. Voyez la section
- <link
- linkend="printing-advanced-header-pages">Pages d'en-t&ecirc;te</link>
- pour plus de d&eacute;tails.</para>
- </note>
- </listitem>
- </varlistentry>
- </variablelist>
-
-
- </sect3>
-</sect2>
-
-<sect2
- id="printing-lpc">
- <title>Administrer les imprimantes</title>
-
- <para>En tant qu'administrateur de vos imprimantes, vous avez d&ucirc; les
- installer, les configurer et les tester. Avec la commande <citerefentry>
- <refentrytitle>lpc</refentrytitle></citerefentry>,
- vous pouvez encore agir d'autres fa&ccedil;ons sur vos imprimantes. Avec
- <citerefentry>
- <refentrytitle>lpc</refentrytitle></citerefentry>, vous
- pouvez:</para>
-
- <para>
- <itemizedlist>
-
- <listitem>
- <para>D&eacute;marrer et arr&ecirc;ter les imprimantes.</para>
- </listitem>
-
- <listitem>
- <para>Activer et d&eacute;sactiver leurs files d'attente.</para>
- </listitem>
-
- <listitem>
- <para>R&eacute;ordonner les travaux de chaque file d'attente.</para>
- </listitem>
-
- </itemizedlist>
- </para>
-
- <para>Une remarque tout d'abord sur la terminologie: si une imprimante est
- <emphasis>arr&ecirc;t&eacute;e</emphasis>, elle n'imprimera plus rien de ce qui se trouve
- dans sa file d'attente. Les utilisateurs peuvent toujours soumettre leurs
- travaux, qui attendront dans la file d'attente que l'imprimante soit
- <emphasis>red&eacute;marr&eacute;e</emphasis> ou la file d'attente vid&eacute;e.</para>
-
- <para>Si une file d'attente est <emphasis>d&eacute;sactiv&eacute;e</emphasis>, aucun
- utilisateur (sauf le super-utilisateur) ne peut soumettre de travail &agrave; cette imprimante. Une
- file d'attente <emphasis>active</emphasis> autorise la soumission de
- travaux d'impression. Une imprimante peut &ecirc;tre <emphasis>d&eacute;marr&eacute;e</emphasis>
- pour une file d'attente inactive, auquel cas, elle continue &agrave; imprimer les
- travaux jusqu'&agrave; ce que la file d'attente soit vid&eacute;e.</para>
-
- <para>En g&eacute;n&eacute;ral, vous devrez avoir les droits du super-utilisateur pour utiliser la
- commande <citerefentry>
- <refentrytitle>lpc</refentrytitle></citerefentry>. Les utilisateurs
- ordinaires ne peuvent utiliser <citerefentry>
- <refentrytitle>lpc</refentrytitle></citerefentry> que pour interroger
- l'&eacute;tat d'une imprimante et red&eacute;marrer une imprimante qui s'est
- interrompue.</para>
-
- <para>Voici un r&eacute;sum&eacute; des commandes <citerefentry>
- <refentrytitle>lpc</refentrytitle></citerefentry>.
- La plupart de ces commandes prennent un argument
- <replaceable>imprimante</replaceable> qui dit &agrave; quelle imprimante
- elles s'appliquent. Vous pouvez utiliser l'argument <literal>all</literal>
- comme <replaceable>imprimante</replaceable> pour qu'elles s'appliquent
- &agrave; toutes les imprimantes list&eacute;es dans le fichier
- <filename>/etc/printcap</filename>.</para>
-
-
- <variablelist>
- <varlistentry><term><command>abort
- <replaceable>imprimante</replaceable></command></term>
- <listitem>
- <para>Annule le travail en cours et arr&ecirc;te l'imprimante.
- Les utilisateurs peuvent toujours soumettre leurs travaux si la
- file d'attente est active.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><command>clean
- <replaceable>imprimante</replaceable></command></term>
-
- <listitem>
- <para>Nettoie le repertoire tampon. Il arrive que les fichiers
- associ&eacute;s &agrave; un travail d'impression ne soient pas correctement
- supprim&eacute;s par LPD, en particulier s'il s'est produit des
- erreurs lors de l'impression ou s'il y a eu beaucoup d'activit&eacute;
- d'administration. Cette commande recherche les fichiers qui
- n'ont plus lieu d'&ecirc;tre dans le r&eacute;pertoire tampon et les
- supprime.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><command>disable
- <replaceable>imprimante</replaceable></command></term>
-
- <listitem>
- <para>Interdit la mise en file d'attente de nouveaux travaux. Si
- l'imprimante est active, elle continuera &agrave; imprimer les travaux
- qui y sont d&eacute;j&agrave;. Le super-utilisateur (root) peut toujours
- soumettre des travaux d'impression, m&ecirc;me &agrave; une file d'attente
- d&eacute;sactiv&eacute;e.</para>
-
- <para>Cette commande est utile si vous testez une nouvelle
- imprimante ou un nouveau filtre: d&eacute;sactivez la file
- d'attente et soumettez vos travaux en &eacute;tant super-utilisateur. Les
- autres utilisateurs ne pourront pas soumettre de travaux
- tant que vous n'aurez pas fini vos tests et r&eacute;activ&eacute; la
- file d'attente avec la commande <command>enable</command>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><command remap="tt">down
- <replaceable>imprimante</replaceable>
- <replaceable>message</replaceable></command></term>
-
- <listitem>
- <para>Arr&ecirc;te compl&egrave;tement une imprimante. C'est l'&eacute;quivalent de
- <command>disable</command> suivie de
- <command>stop</command>. Le <replaceable>message</replaceable>
- est affich&eacute; quand un utilisateur interroge l'&eacute;tat de la file
- d'attente avec la commande <citerefentry>
- <refentrytitle>lpq</refentrytitle></citerefentry>
- ou <command>lpc status</command>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><command>enable
- <replaceable>imprimante</replaceable></command></term>
-
- <listitem>
- <para>Active la file d'attente d'une imprimante. Les utilisateurs
- peuvent soumettre leurs travaux, mais ils ne seront imprim&eacute;s que
- quand l'imprimante aura &eacute;t&eacute; d&eacute;marr&eacute;e.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><command remap="tt">help
- <replaceable>commande</replaceable></command></term>
-
- <listitem>
- <para>Affiche de l'aide sur la
- <replaceable>commande</replaceable>. Sans
- <replaceable>commande</replaceable>, affiche un r&eacute;sum&eacute; des
- commandes disponibles.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><command>restart
- <replaceable>imprimante</replaceable></command></term>
-
- <listitem>
- <para>D&eacute;marre l'imprimante. Les utilisateurs normaux peuvent utiliser
- cette commande si des circonstances extraordinaires interrompent
- le bon fonctionnement de LPD, mais ils ne peuvent pas l'employer
- pour red&eacute;marrer une imprimante arr&ecirc;t&eacute;e avec la commande
- <command>stop</command> ou <command>down</command>.
- La commande <command>restart</command>
- est l'&eacute;quivalent de <command>abort</command> suivie de
- <command>start</command>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><command>start
- <replaceable>imprimante</replaceable></command></term>
-
- <listitem>
- <para>D&eacute;marre l'imprimante. Elle imprimera les travaux de sa file
- d'attente.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><command>stop
- <replaceable>imprimante</replaceable></command></term>
-
- <listitem>
- <para>Arr&ecirc;te l'imprimante. Elle terminera l'impression du travail en
- cours puis cessera d'imprimer ce qui se trouve dans sa file
- d'attente. M&ecirc;me si l'imprimante est arr&ecirc;t&eacute;e, les utilisateurs
- peuvent toujours soumettre des travaux &agrave; une file d'attente
- active.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><command>topq
- <replaceable>imprimante</replaceable>
- <replaceable>travaux_ou_utilisateur</replaceable></command></term>
-
- <listitem>
- <para>R&eacute;ordonne la file d'attente de
- l'<replaceable>imprimante</replaceable> en pla&ccedil;ant les
- <replaceable>travaux</replaceable> dont les num&eacute;ros sont donn&eacute;s
- ou ceux qui appartiennent &agrave; l'<replaceable>utilisateur</replaceable>
- en t&ecirc;te de la file. Vous ne pouvez pas utiliser
- <literal>all</literal> comme <replaceable>imprimante</replaceable>
- avec cette commande.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><command>up
- <replaceable>imprimante</replaceable></command></term>
-
- <listitem>
- <para> Met en service une <replaceable>imprimante</replaceable>. C'est
- l'inverse de la commande <command>down</command> et &eacute;quivaut &agrave;
- <command>start</command> suivie de <command>enable</command>.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
-
- <para><citerefentry>
- <refentrytitle>lpc</refentrytitle></citerefentry> accepte toutes les
- commandes pr&eacute;c&eacute;dentes depuis la ligne de commande. Si vous ne donnez
- aucune commande, <citerefentry>
- <refentrytitle>lpc</refentrytitle></citerefentry> passe en mode interactif
- et vous pouvez entrer vos commandes jusqu'&agrave; ce que vous tapiez
- <command>exit</command>, <command>quit</command>, ou fin_de_fichier.</para>
-
-</sect2>
-</sect1>
-
-<sect1
-id="printing-advanced">
-<title>Configuration avanc&eacute;e d'une imprimante</title>
-
-<para>Cette section d&eacute;crit les filtres pour des formatages particuliers,
- les pages d'en-t&ecirc;te, l'impression en r&eacute;seau, les restrictions et la
- comptabilisation de l'utilisation des imprimantes.</para>
-
-
-<sect2
- id="printing-advanced-filter-intro">
- <title>Filtres</title>
-
- <para>Bien que LPD prenne en charge le protocole r&eacute;seau, la gestion de la
- file d'attente, le contr&ocirc;le d'acc&egrave;s et d'autres aspects des t&acirc;ches
- d'impression, la plupart du travail <emphasis>effectif</emphasis> est
- confi&eacute; aux <emphasis>filtres</emphasis>. Les filtres sont des programmes
- qui communiquent avec l'imprimante et se chargent de leurs caract&eacute;ristiques
- et exigences particuli&egrave;res. Lors de la configuration simple, nous avons
- install&eacute; un filtre texte&nbsp;-&nbsp;un filtre tr&egrave;s &eacute;l&eacute;mentaire qui devrait
- marcher avec la plupart des imprimantes.
- (cf. section <link linkend="printing-textfilter">Installer le filtre
- texte</link>).</para>
-
- <para>Cependant, pour profiter de la conversion de format, de la
- comptabilisation des impressions, des particularit&eacute;s de certaines
- imprimantes, et ainsi de suite, il est utile de comprendre comment
- fonctionnent les filtres. En dernier ressort, ce sont les filtres
- qui g&egrave;reront ces fonctionnalit&eacute;s. La mauvaise nouvelle est que la
- plupart du temps, <emphasis>vous</emphasis> devrez vous-m&ecirc;me fournir
- ces filtres. La bonne nouvelle est que beaucoup sont d&eacute;j&agrave; disponibles;
- quand ce n'est pas le cas, ils sont en g&eacute;n&eacute;ral faciles &agrave; &eacute;crire.</para>
-
- <para>FreeBSD est aussi livr&eacute; avec un filtre,
- <filename>/usr/libexec/lpr/lpf</filename>, qui fonctionne avec nombre
- d'imprimantes capables d'imprimer du texte. (Il g&egrave;re les retours arri&egrave;re,
- les tabulations et la comptabilit&eacute;, mais c'est &agrave; peu pr&egrave;s tout ce qu'il
- fait.) Il y a aussi plusieurs filtres ou composants de filtres au catalogue
- des logiciels port&eacute;s.</para>
-
- <para>Voici ce que vous trouverez dans cette section:</para>
-
- <itemizedlist>
-
- <listitem>
- <para>La section <link linkend="printing-advanced-filters">Comment
- fonctionnent les filtres</link> essaie de vous donner une vue d'ensemble
- du r&ocirc;le du filtre dans le processus d'impression. Vous devriez
- lire cette section pour comprendre ce qui se passe
- &ldquo;dans la coulisse&rdquo; quand LPD utilise les filtres. Cela
- peut vous aider &agrave; anticiper et rem&eacute;dier aux probl&egrave;mes que vous
- rencontrerez au fur et &agrave; mesure que vous installerez de plus en
- plus de filtres sur chacune de vos imprimantes.</para>
- </listitem>
-
- <listitem>
- <para>LPD s'attend &agrave; ce que, par d&eacute;faut, chaque imprimante soit
- capable d'imprimer du texte. C'est un probl&egrave;me avec les
- imprimantes PostScript (ou d'autres imprimantes qui utilisent
- un langage d'impression), qui ne savent pas imprimer
- directement du texte. La section <link
- linkend="printing-advanced-if-conversion">Imprimer
- du texte sur des imprimantes PostScript</link>
- vous explique comment r&eacute;soudre ce probl&egrave;me.
- Je vous recommande de la lire si vous avez une imprimante
- PostScript.</para>
- </listitem>
-
- <listitem>
- <para>PostScript est un format de sortie populaire pour
- beaucoup de programmes. Certaines personnes (moi y-compris)
- &eacute;crivent directement du code PostScript. Mais les imprimantes
- PostScript sont ch&egrave;res. La section
- <link linkend="printing-advanced-ps">Emuler
- PostScript sur des imprimantes Non-PostScript</link>
- vous explique comment vous pouvez ajuster le filtre texte
- d'une imprimante pour accepter et imprimer des donn&eacute;es
- PostScript sur une imprimante qui n'est
- <emphasis>pas PostScript</emphasis>. Je vous recommande
- de le lire si vous n'avez pas d'imprimante PostScript.</para>
- </listitem>
-
- <listitem>
- <para>La section <link linkend="printing-advanced-convfilters">Filtres
- de conversion</link> vous donne une m&eacute;thode pour
- automatiser la conversion de formats de fichiers particuliers,
- comme des donn&eacute;es graphiques ou issues d'un traitement de
- texte, vers un format compr&eacute;hensible pour votre imprimante.
- Apr&egrave;s avoir lu cette section, vous devriez &ecirc;tre capable de
- configurer vos imprimantes pour que les utilisateurs puissent
- taper <command>lpr -t</command> pour imprimer des donn&eacute;es
- troff, <command>lpr -d</command> pour imprimer des donn&eacute;es
- DVI produit par TeX, ou <command>lpr -v</command>
- pour imprimer des images point &agrave; point, et ainsi de suite. Je
- conseille la lecture de cette section.</para>
- </listitem>
-
- <listitem>
- <para>La section <link linkend="printing-advanced-of">Filtres
- de sortie</link> introduit une possibilit&eacute;
- rarement utilis&eacute;e de LPD: les filtres de sortie. A moins
- que vous n'imprimiez des pages d'en-t&ecirc;te (voyez la section <link
- linkend="printing-advanced-header-pages">Pages d'en-t&ecirc;te</link>),
- vous pouvez probablement sauter
- cette section.</para>
- </listitem>
-
- <listitem>
- <para>La section <link linkend="printing-advanced-lpf"><command>lpf</command>:
- un filtre texte</link> d&eacute;crit <command>lpf</command>,
- un filtre texte assez complet, quoique simple, pour les
- imprimantes ligne (et les imprimantes laser qui fonctionnent
- comme des imprimantes ligne) et qui est livr&eacute; avec FreeBSD.
- S'il vous faut un moyen simple pour comptabiliser le
- fonctionnement d'une imprimante en mode texte, ou si vous
- avez une imprimante qui fume lorsqu'elle aper&ccedil;oit un retour
- arri&egrave;re, vous devriez absolument envisager d'utiliser
- <command>lpf</command>.</para>
- </listitem>
-
- </itemizedlist>
-
- <sect3
- id="printing-advanced-filters">
- <title>Comment fonctionnent les filtres</title>
-
- <para>Comme expliqu&eacute; plus haut, un filtre est un programme
- ex&eacute;cut&eacute; par LPD pour g&eacute;rer ce qui d&eacute;pend de l'imprimante
- dans la communication avec celle-ci.</para>
-
- <para>Quand LPD veut imprimer un fichier appartenant &agrave; un travail
- d'impression, il d&eacute;marre un programme de filtre. Il affecte &agrave;
- l'entr&eacute;e standard du filtre le fichier &agrave; imprimer, &agrave; sa sortie
- standard l'imprimante et &agrave; son fichier d'erreur standard le
- fichier de trace (d&eacute;fini par la fonctionnalit&eacute;
- <literal>lf</literal> de <filename>/etc/printcap</filename>, ou
- <filename>/dev/console</filename> par d&eacute;faut).</para>
-
- <para>Quel filtre LPD utilise et avec quels arguments d&eacute;pend du
- contenu du fichier <filename>/etc/printcap</filename> et des
- arguments qu'a donn&eacute;s l'utilisateur sur la ligne de commande de
- <citerefentry>
- <refentrytitle>lpr</refentrytitle></citerefentry> pour ce
- travail d'impression. Par exemple, s'il a utilis&eacute;
- <command>lpr -t</command>, LPD d&eacute;marrera le filtre troff, indiqu&eacute;
- par la fonctionnalit&eacute; <literal>tf</literal> pour l'imprimante
- destinataire. Si l'utilisateur veut imprimer du texte, il lancera
- le filtre <literal>if</literal> (c'est vrai la plupart du temps,
- voyez la section <link linkend="printing-advanced-of">Filtres de sortie</link>
- pour plus de d&eacute;tails).</para>
-
- <para>Il y a trois sortes de filtres que vous pouvez d&eacute;finir dans
- <filename>/etc/printcap</filename>:</para>
-
- <itemizedlist>
-
- <listitem>
- <para>Le <emphasis>filtre texte</emphasis>, inexactement
- appel&eacute; <emphasis>filtre d'entr&eacute;e</emphasis> dans la
- documentation de LPD, se charge de l'impression du texte
- ordinaire. Consid&eacute;rez-le comme le filtre par d&eacute;faut. LPD
- suppose que toutes les imprimantes savent par d&eacute;faut
- imprimer du texte, et c'est le r&ocirc;le du filtre texte
- de faire en sorte que les retours arri&egrave;re, tabulations
- et autres caract&egrave;res sp&eacute;ciaux ne posent pas de probl&egrave;mes
- &agrave; l'imprimante. Si vous &ecirc;tes dans un environnement o&ugrave; vous
- devez comptabiliser l'utilisation des imprimantes, le
- filtre texte doit aussi s'en charger, habituellement en
- comptant le nombre de lignes et en le comparant au nombre
- de lignes par page accept&eacute; par l'imprimante. Le filtre texte
- est ex&eacute;cut&eacute; avec les arguments suivants:
-
- <cmdsynopsis>
- <command>nom_du_filtre</command>
- <arg>-c</arg>
- <arg choice="plain">-w<replaceable>largeur</replaceable></arg>
- <arg choice="plain">-l<replaceable>hauteur</replaceable></arg>
- <arg choice="plain">-i<replaceable>indentation</replaceable></arg>
- <arg choice="plain">-n <replaceable>utilisateur</replaceable></arg>
- <arg choice="plain">-h <replaceable>h&ocirc;te</replaceable></arg>
- <arg choice="plain"><replaceable>fichier_comptable</replaceable></arg>
- </cmdsynopsis> o&ugrave;:
-
- <variablelist>
- <varlistentry><term><option>-c</option></term>
- <listitem>
- <para>est utilis&eacute; si le travail a &eacute;t&eacute; soumis par
- <command>lpr -l</command>,</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><replaceable>largeur</replaceable></term>
-
- <listitem>
- <para>est la valeur donn&eacute;e avec la fonctionnalit&eacute;
- <literal>pw</literal> (largeur de page&nbsp;-&nbsp;&ldquo;page width&rdquo;)
- dans <filename>/etc/printcap</filename>,
- 132 par d&eacute;faut,</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><replaceable>length</replaceable></term>
-
- <listitem>
- <para>est la valeur indiqu&eacute;e par la fonctionnalit&eacute;
- <literal>pl</literal> (hauteur de page&nbsp;-&nbsp;&ldquo;page length&rdquo;), 66 par
- d&eacute;faut,</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><replaceable>indentation</replaceable></term>
-
- <listitem>
- <para>indentation pr&eacute;cis&eacute;e par
- <command>lpr -i</command>, 0 par d&eacute;faut,</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><replaceable>utilisateur</replaceable></term>
-
- <listitem>
- <para>est le nom (de session) de l'utilisateur imprimant le fichier,</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><replaceable>h&ocirc;te</replaceable></term>
-
- <listitem>
- <para>est le nom de la machine d'o&ugrave; le travail a &eacute;t&eacute;
- soumis,</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><replaceable>fichier_comptable</replaceable></term>
-
- <listitem>
- <para>est le nom du fichier de comptabilit&eacute; sp&eacute;cif&eacute;
- par la fonctionnalit&eacute; <literal>af</literal>.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- </para>
- </listitem>
-
- <listitem>
- <para>Un <emphasis>filtre de conversion</emphasis> convertit
- un format de fichier particulier en un format que
- l'imprimante comprend. Par exemple, des donn&eacute;es provenant
- du traitement de texte ditroff ne peuvent pas &ecirc;tre
- imprim&eacute;es directement, mais vous pouvez installer un
- filtre de conversion pour les fichiers ditroff pour
- transformer les fichiers ditroff de fa&ccedil;on &agrave; ce que
- l'imprimante les dig&egrave;re et les imprime. La section
- <link linkend="printing-advanced-convfilters">Filtres de conversion</link>
- vous dit tout ce que vous
- devez savoir sur ces filtres. Les filtres de conversion
- doivent aussi g&eacute;rer la comptabilit&eacute;, si vous en avez besoin.
- Les filtres de conversion sont ex&eacute;cut&eacute;s avec les arguments
- suivants:
-
- <cmdsynopsis>
- <command>nom_du_filtre</command>
- <arg
- choice="plain">-x<replaceable>largeur_du_pixel</replaceable></arg>
- <arg choice="plain">-y<replaceable>hauteur_du_pixel</replaceable></arg>
- <arg choice="plain">-n <replaceable>utilisateur</replaceable></arg>
- <arg choice="plain">-h <replaceable>h&ocirc;te</replaceable></arg>
- <arg choice="plain"><replaceable>fichier_comptable</replaceable></arg>
- </cmdsynopsis> o&ugrave; <replaceable>largeur_du_pixel</replaceable> est la valeur
- d&eacute;finie par la fonctionnalit&eacute;
- <literal>px</literal> (0 par d&eacute;faut)
- et <replaceable>hauteur_du_pixel</replaceable> celle d&eacute;finie
- par <literal>py</literal>
- (0 par d&eacute;faut).</para>
- </listitem>
-
- <listitem>
- <para>Le <emphasis>filtre de sortie</emphasis> n'est utilis&eacute;
- que s'il n'y a pas de filtre texte, ou que les pages
- d'en-t&ecirc;te sont activ&eacute;es. D'apr&egrave;s mon exp&eacute;rience personnelle,
- les filtres de sortie sont rarement utilis&eacute;s. La section
- <link linkend="printing-advanced-of">Filtres de sortie</link>
- les d&eacute;crit. Un filtre de sortie n'a que deux
- arguments:
-
- <cmdsynopsis>
- <command>nom_du_filtre</command>
- <arg choice="plain">-w<replaceable>largeur</replaceable></arg>
- <arg choice="plain">-l<replaceable>hauteur</replaceable></arg>
- </cmdsynopsis> qui sont identiques aux arguments
- <option>-w</option> et <option>-l</option>
- du filtre texte.</para>
- </listitem>
-
- </itemizedlist>
-
- <para>Les filtres doivent aussi retourner
- (&ldquo;exit&rdquo;) avec l'un des codes retour
- suivants:</para>
-
- <variablelist>
- <varlistentry><term>exit 0</term>
- <listitem>
- <para>Le filtre a correctement imprim&eacute; le fichier.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term>exit 1</term>
-
- <listitem>
- <para>Le filtre n'a pas pu imprimer le fichier mais veut
- que LPD tente une nouvelle impression. LPD relancera
- le filtre s'il retourne ce code.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term>exit 2</term>
-
- <listitem>
- <para>Le filtre n'a pas pu imprimer le fichier et ne veut
- pas que LPD relance l'impression. LPD supprimera le
- fichier de la file d'attente.</para>
-
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Le filtre texte livr&eacute; avec la distribution de FreeBSD,
- <filename>/usr/libexec/lpr/lpf</filename>, utilise les arguments
- d&eacute;finissant la largeur et la hauteur de page pour d&eacute;terminer
- quand envoyer un saut de page et pour g&eacute;rer la comptabilit&eacute;. Il
- se sert du nom d'utilisateur, du nom de machine et de celui du
- fichier comptable pour tenir &agrave; jour les enregistrements
- comptables.</para>
-
- <para>Si vous cherchez des filtres, v&eacute;rifiez qu'ils sont
- compatibles avec LPD. S'ils le sont, ils doivent accepter les
- arguments d&eacute;crits ci-dessus. Si vous envisagez d'&eacute;crire des
- filtres, vous devez faire en sorte qu'ils acceptent ces arguments
- et g&egrave;rent les bons codes retour.</para>
-
- </sect3>
-
- <sect3
- id="printing-advanced-if-conversion">
- <title>Imprimer du texte sur des imprimantes PostScript
- </title>
-
- <para>Si vous &ecirc;tes le seul utilisateur de votre ordinateur et d'une
- imprimante PostScript (ou d'une autre imprimante fonctionnant
- avec un langage d'impression) et &ecirc;tes certain de ne jamais envoyer
- de simples fichiers texte &agrave; l'imprimante ou de ne jamais utiliser
- les options de diff&eacute;rents programmes qui feraient de m&ecirc;me, alors
- vous n'avez pas besoin de vous pr&eacute;occuper du contenu de cette
- section.</para>
-
- <para>Mais, si vous voulez envoyer et du PostScript et de simples
- fichiers texte &agrave; l'imprimante, alors je vous conjure d'adapter
- la configuration de votre imprimante. Pour cela, nous ferons en
- sorte que le filtre texte distingue entre les travaux d'impression
- qui envoient du texte et ceux qui envoient du PostScript. Tous les
- travaux PostScript commencent par <literal>%!</literal> (pour les
- autres langages, consultez la documentation de votre imprimante).
- Si nous avons ces deux caract&egrave;res au d&eacute;but du travail d'impression,
- alors c'est du PostScript, et nous pouvons l'envoyer tel quel.
- Sinon, le filtre convertira le texte en PostScript et imprimera
- le r&eacute;sultat.</para>
-
- <para>Comment r&eacute;aliser cela?</para>
-
- <para>Avec une imprimante s&eacute;rie, il suffit d'installer
- <command>lprps</command>. <command>lprps</command> est un filtre
- d'impression PostScript qui dialogue avec l'imprimante. Il met &agrave;
- jour le fichier d'&eacute;tat de l'imprimante en fonction des
- informations que celle-ci lui fournit, les utilisateurs et les
- administrateurs peuvent donc savoir exactement quel est l'&eacute;tat
- de l'imprimante (comme <errorname>manque d'encre</errorname> ou
- <errorname>bourrage</errorname>). Mais, c'est plus int&eacute;ressant,
- il comporte un programme appel&eacute; <command>psif</command> qui
- d&eacute;tecte si le prochain travail est du texte et invoque
- <command>textps</command> (un autre programme qui fait partie de
- <command>lprps</command>) pour le convertir en PostScript. Il
- utilise ensuite <command>lprps</command> pour l'envoyer &agrave;
- l'imprimante.</para>
-
- <para><command>lprps</command> fait partie du catalogue des
- logiciels port&eacute;s de FreeBSD (voyez le chapitre
- <link linkend="ports">Installer des Logiciels au &ldquo;Catalogue des
- Logiciels Port&eacute;s&rdquo;</link>). Vous
- pouvez le t&eacute;l&eacute;charger, le compiler et
- l'installer vous-m&ecirc;me, bien s&ucirc;r. Apr&egrave;s avoir install&eacute;
- <command>lprps</command>, donnez juste le chemin d'acc&egrave;s au
- programme <command>psif</command> qui fait partie de
- <command>lprps</command>. Si vous avez install&eacute;
- <command>lprps</command> depuis le catalogue des logiciels port&eacute;s,
- utilisez ce qui suit dans la d&eacute;finition de l'imprimante s&eacute;rie
- PostScript dans <filename>/etc/printcap</filename>:</para>
-
- <programlisting>
-:if=/usr/local/libexec/psif:
- </programlisting>
-
- <para>Vous devez aussi activer la fonctionnalit&eacute;
- <literal>rw</literal> qui dit &agrave; LPD d'ouvrir l'imprimante
- en lecture/&eacute;criture.</para>
-
- <para>Si vous avez une imprimante PostScript parall&egrave;le (et donc
- ne pouvez pas communiquer dans les deux sens avec l'imprimante,
- ce qui est indispensable &agrave; <command>lprps</command>), vous pouvez
- utilisez la proc&eacute;dure qui suit comme filtre texte:</para>
-
- <programlisting>
-#!/bin/sh
-#
-# psif - Imprime du PostScript ou du texte
-# version Proc&eacute;dure; Ce N'EST PAS la version qui accompagne lprs
-# fichier /usr/local/libexec/psif
-#
-
-read first_line
-first_two_chars=`expr "$first_line" : '\(..\)'`
-
-if [ "$first_two_chars" = "%!" ]; then
- #
- # Travail PostScript; l'imprimer.
- #
- echo $first_line &amp;&amp; cat &amp;&amp; printf "\004" &amp;&amp; exit 0
- exit 2
-else
- #
- # Texte simple, le convertir, puis l'imprimer.
- #
- ( echo $first_line; cat ) | /usr/local/bin/textps &amp;&amp; printf "\004" &amp;&amp; exit 0
- exit 2
-fi
- </programlisting>
-
- <para>Dans la proc&eacute;dure ci-dessus, <command>textps</command> est un
- programme que nous avons install&eacute; s&eacute;par&eacute;ment pour convertir
- du texte en PostScript. Vous pouvez utiliser le programme de
- conversion de votre choix. Le catalogue des logiciels port&eacute;s de FreeBSD
- (voyez le chapitre <link linkend="ports">Installer des Logiciels
- au &ldquo;Catalogue des Logiciels Port&eacute;s&rdquo;</link>)
- comporte un programme complet de conversion de
- texte en PostScript appel&eacute; <citerefentry>
- <refentrytitle>a2ps</refentrytitle></citerefentry> auquel vous
- pourriez jeter un coup d'oeil.</para>
-
- </sect3>
-
- <sect3
- id="printing-advanced-ps">
- <title>Emuler PostScript sur des imprimantes Non-PostScript
- </title>
-
- <para>PostScript est le standard <emphasis>de facto</emphasis>
- du traitement de texte et de l'impression de qualit&eacute;. PostScript
- est, toutefois, un standard <emphasis>co&ucirc;teux</emphasis>.
- Heureusement, Alladin Enterprises fournit un &eacute;mulateur PostScript
- libre, appel&eacute; <application>Ghostscript</application>, qui
- fonctionne sous FreeBSD. Ghostscript peut lire
- la plupart des fichiers PostScript
- et les convertir pour divers mod&egrave;les d'imprimantes dont de
- nombreuses imprimantes non-PostScript. En installant Ghostscript
- et avec un filtre texte adapt&eacute; &agrave; votre imprimante, vous pouvez
- utiliser votre imprimante comme une vraie imprimante
- PostScript.</para>
-
- <para>Ghostscript devrait &ecirc;tre dans le catalogue des logiciels port&eacute;s
- de FreeBSD, d'o&ugrave; vous pouvez l'installer. Vous pouvez aussi
- facilement le t&eacute;l&eacute;charger, le compiler et l'installer.</para>
-
- <para>Pour &eacute;muler PostScript, nous ferons en sorte que le filtre
- texte reconnaisse les fichiers PostScript. Quand ce n'est pas le
- cas, le filtre enverra directement le fichier &agrave; l'imprimante.
- Sinon, il utilisera Ghostscript pour convertir le fichier
- en un format que l'imprimante comprenne.</para>
-
- <para>Voici un exemple: cette proc&eacute;dure est un filtre texte pour les
- imprimantes Hewlett Packard DeskJet 500. Pour d'autres
- imprimantes, modifiez l'argument de l'option
- <option>-sDEVICE</option> de la commande
- <citerefentry>
- <refentrytitle>gs</refentrytitle></citerefentry> (Ghostscript).
- (Tapez <command>gs -h</command> pour avoir la liste des
- p&eacute;riph&eacute;riques support&eacute;s par la version courante de
- Ghostscript.)</para>
-
- <programlisting>
-#!/bin/sh
-#
-# ifhp - Imprime du PostSCript &eacute;mul&eacute; par Ghostscript sur une DeskJet 500
-# fichier /usr/local/libexec/hpif
-#
-# traiter LF comme CR+LF:
-#
-printf "\033&amp;k2G" || exit 2
-
-#
-# Lit les deux premiers caract&egrave;res du fichier
-#
-read first_line
-first_two_chars=`expr "$first_line" : '\(..\)'`
-
-if [ "$first_two_chars" = "%!" ]; then
- #
- # Si c'est du PostScript; utiliser Ghostscript pour convertir, et imprimer.
- #
- /usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=djet500 -sOutputFile=- - \
- &amp;&amp; exit 0
-else
- #
- # Texte ou HP/PCL, donc, imprimer directement; envoyer ensuite un saut
- # de page pour &eacute;jecter la derni&egrave;re page.
- #
- echo $first_line &amp;&amp; cat &amp;&amp; printf "\f" &amp;&amp; exit 0
-fi
-
-exit 2
- </programlisting>
-
- <para>Pour finir, il faut sp&eacute;cifier le filtre &agrave; LPD avec
- la fonctionnalit&eacute; <literal remap="tt">if</literal>:
- <programlisting>
-:if=/usr/local/libexec/hpif:
- </programlisting> C'est tout. Vous pouvez maintenant taper
- <command>lpr texte.simple</command> et <command>lpr
- quoique-ce-soit.ps</command> et les deux devraient
- s'imprimer.</para>
-
- </sect3>
-
- <sect3
- id="printing-advanced-convfilters">
- <title>Filtres de conversion</title>
-
- <para>Apr&egrave;s avoir termin&eacute; l'&eacute;tape de
- <link linkend="printing-simple">Configuration simple d'une imprimante</link>, la
- premi&egrave;re chose que vous voudrez probablement faire sera
- d'installer des filtres de conversion pour vos formats de
- fichiers favoris (autres que le simple texte ASCII).</para>
-
-
- <sect4>
- <title>Pourquoi installer des filtres de conversion?</title>
-
- <para>Les filtres de conversion facilitent l'impression de
- diff&eacute;rents types de fichiers. Supposons, par exemple, que
- nous utilisions beaucoup le logiciel de traitement de texte
- TeX, et que nous ayons une imprimante PostScript. Chaque fois
- que nous g&eacute;n&eacute;rons un fichier DVI avec TeX, nous ne pouvons
- l'imprimer directement sans le convertir auparavant en
- PostScript. La s&eacute;quence de commande pour le faire est la
- suivante:</para>
-
- <informalexample>
- <screen>&prompt.user; <userinput>dvips anaylse-algues.dvi</userinput>
-&prompt.user; <userinput>lpr analyse-algues.ps</userinput></screen>
- </informalexample>
-
- <para>En installant un filtre de conversion pour les fichiers
- DVI, nous pourrons nous dispenser de la conversion manuelle
- &agrave; chaque fois, en laissant LPD le faire &agrave; notre place. Quand nous aurons
- un fichier DVI, l'impression se fera en une seule &eacute;tape:</para>
-
- <informalexample>
- <screen>&prompt.user; <userinput>lpr -d analyse-algues.dvi</userinput></screen>
- </informalexample>
-
- <para>L'option <option>-d</option> dit &agrave; LPD que c'est un
- fichier DVI &agrave; convertir. La section
- <link
- linkend="printing-lpr-options-format">Options de mise en page et de conversion</link>
- liste les options de conversion.</para>
-
- <para>Pour chaque option de conversion que vous voulez que
- l'imprimante supporte, installez un
- <emphasis>filtre de conversion</emphasis> et donnez son chemin
- d'acc&egrave;s dans <filename>/etc/printcap</filename>. Un
- filtre de conversion est similaire au filtre texte de notre
- configuration simple
- (voir section <link linkend="printing-textfilter">Installer
- le filtre texte</link>) sinon qu'au lieu
- d'imprimer du texte, il convertit le fichier en un format
- compr&eacute;hensible pour l'imprimante.</para>
-
- </sect4>
-
- <sect4>
- <title>Quels filtres de conversion dois-je installer?
- </title>
-
- <para>Installez les filtres de conversion que vous pr&eacute;voyez
- d'utiliser. Si vous avez beaucoup de donn&eacute;es DVI, un filtre
- de conversion DVI s'impose. Si vous voulez imprimer beaucoup
- de troff, c'est une bonne id&eacute;e d'installer un filtre
- troff.</para>
-
- <para>La table ci-dessous r&eacute;sume les caract&eacute;ristiques des filtres
- que LPD utilise, elle donne le type de fichier,
- la fonctionnalit&eacute; correspondante dans le fichier
- <filename>/etc/printcap</filename> et l'option
- &agrave; utiliser avec la commande <command>lpr</command>.</para>
-
- <informaltable frame="none">
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Type de fichier</entry>
- <entry>Fonctionnalit&eacute; <filename>/etc/printcap</filename>
- </entry>
- <entry>Option de <command>lpr</command></entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>cifplot</entry>
- <entry><literal>cf</literal></entry>
- <entry><option>-c</option></entry>
- </row>
-
- <row>
- <entry>DVI</entry>
- <entry><literal>df</literal></entry>
- <entry><option>-d</option></entry>
- </row>
-
- <row>
- <entry>format traceur (&ldquo;plot&rdquo;)</entry>
- <entry><literal>gf</literal></entry>
- <entry><option>-g</option></entry>
- </row>
-
- <row>
- <entry>ditroff</entry>
- <entry><literal>nf</literal></entry>
- <entry><option>-n</option></entry>
- </row>
-
- <row>
- <entry>programme FORTRAN</entry>
- <entry><literal>rf</literal></entry>
- <entry><option>-f</option></entry>
- </row>
-
- <row>
- <entry>troff</entry>
- <entry><literal>rf</literal></entry>
- <entry><option>-f</option></entry>
- </row>
-
- <row>
- <entry>image point &agrave; point (&ldquo;raster&rdquo;)</entry>
- <entry><literal>vf</literal></entry>
- <entry><option>-v</option></entry>
- </row>
-
- <row>
- <entry>texte</entry>
- <entry><literal>if</literal></entry>
- <entry>aucune, <option>-p</option>, ou <option>-l</option></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Dans notre exemple, la commande
- <command>lpr -d</command> signifie que l'imprimante doit
- invoquer la fonctionnalit&eacute; <literal>df</literal> de sa
- d&eacute;finition dans <filename>/etc/printcap</filename>.</para>
-
- <para>Malgr&eacute; ce que d'aucuns en pensent, des formats tels que
- FORTRAN ou &ldquo;traceur&rdquo; sont
- probablement obsol&egrave;tes. Sur votre
- site, vous pouvez changer la signification de ces options, ou
- de n'importe quelle option de conversion, en installant des
- filtres personnalis&eacute;s. Imaginons, par exemple, que vous
- vouliez imprimer directement des fichiers Printerleaf (des
- fichiers cr&eacute;&eacute;s avec le logiciel de Publication Assist&eacute;e par
- Ordinateur Interleaf), mais n'imprimerez jamais de fichier
- traceur. Vous pouvez installer un filtre de conversion
- Printerleaf pour la fonctionnalit&eacute; <literal>gf</literal> et
- pr&eacute;venir vos utilisateur que <command>lpr -g</command>
- signifie &ldquo;imprimer des fichiers
- Printerleaf.&rdquo;</para>
-
- </sect4>
-
- <sect4>
- <title>Installer des filtres de conversion</title>
-
- <para>Les filtres de conversion sont des programmes qui ne
- font pas partie de la distribution standard de FreeBSD, ils
- ont logiquement leur place dans
- <filename>/usr/local</filename>. Le r&eacute;pertoire
- <filename>/usr/local/libexec</filename> est l'endroit habituel
- o&ugrave; les mettre, parce que ce sont des programmes r&eacute;serv&eacute;s &agrave; LPD
- que les utilisateurs ordinaires ne devraient jamais
- employer.</para>
-
- <para>Pour mettre en service un filtre de conversion, indiquez
- son chemin d'acc&egrave;s &agrave; la fonctionnalit&eacute; correspondante pour
- l'imprimante destinatrice dans
- <filename>/etc/printcap</filename>.</para>
-
- <para>Nous allons ajouter &agrave; notre exemple un filtre de conversion
- DVI pour l'imprimante appel&eacute;e <literal>bamboo</literal>. Voici
- notre nouveau fichier <filename>/etc/printcap</filename> avec
- la fonctionnalit&eacute; <literal>df</literal> pour l'imprimante
- <literal>bamboo</literal>:</para>
-
- <programlisting>
-#
-# /etc/printcap pour la machine rose - ajout du filtre df pour bamboo
-#
-rattan|line|diablo|lp|Imprimante Ligne Diablo 630:\
- :sh:sd=/var/spool/lpd/rattan:\
- :lp=/dev/lpt0:\
- :if=/usr/local/libexec/if-simple:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:\
- :lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:\
- :if=/usr/local/libexec/psif:\
- :df=/usr/local/libexec/psdf:
- </programlisting>
-
- <para>Le filtre DVI est une proc&eacute;dure appel&eacute;e
- <filename>/usr/local/libexec/psdf</filename>. Voici cette
- proc&eacute;dure:</para>
-
- <programlisting>
-#!bin/sh
-#
-# psdf - filtre de conversion de DVI en PostScript
-# fichier /usr/local/libexec/psdf
-#
-# appel&eacute; quand l'utilisateur invoque lpr -d
-#
-exec /usr/local/bin/dvips -f | /usr/local/libexec/lprps "$@"
- </programlisting>
-
- <para>Cette proc&eacute;dure ex&eacute;cute <citerefentry>
- <refentrytitle>dvips</refentrytitle></citerefentry> en mode
- filtre (l'argument <option>-f</option>) sur l'entr&eacute;e standard,
- qui est le travail d'impression. Elle lance ensuite le filtre
- d'impression PostScript <command>lprps</command> (reportez-vous
- &agrave; la section <link linkend="printing-advanced-if-conversion">Imprimer
- du texte sur des imprimantes PostScript</link>)
- en lui passant les arguments donn&eacute;s &agrave; LPD.
- <command>lprps</command> utilisera ces arguments pour
- comptabiliser les pages imprim&eacute;es.</para>
-
- </sect4>
-
- <sect4>
- <title>Autres exemples de filtres de conversion</title>
-
- <para>La m&eacute;thode pour installer des filtres de conversion n'&eacute;tant
- pas toujours la m&ecirc;me, il vaut mieux que je vous donne d'autres
- exemples, dont vous pourrez vous inspirer pour mettre en oeuvre
- vos propres filtres. Utilisez-les tels quels, au besoin.</para>
-
- <para>Voici une proc&eacute;dure pour convertir des fichiers graphiques point &agrave; point
- (en fait, des fichiers GIF) pour une imprimante
- Hewlett Packard LaserJet III-Si:</para>
-
- <programlisting>
-#!/bin/sh
-#
-# hpvf - Convertit des fichiers GIF en HP/PCL, et les imprime
-# fichier /usr/local/libexec/hpvf
-
-PATH=/usr/X11R6/bin:$PATH; export PATH giftopnm | ppmtopgm | pgmtopbm | pbmtolj -resolution 300 \
- &amp;&amp; exit 0 \
- || exit 2
- </programlisting>
-
- <para>Elle convertit le fichier GIF en format portable universel, puis
- en format portable noir et blanc, puis en format portable
- &ldquo;bitmap&rdquo; et enfin en donn&eacute;es compatibles
- LaserJet/PCL.</para>
-
- <para>Voici le fichier <filename>/etc/printcap</filename> avec
- une entr&eacute;e pour une imprimante utilisant ce filtre:</para>
-
- <programlisting>
-#
-# /etc/printcap pour la machine rose
-#
-teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
- :lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\
- :if=/usr/local/libexec/hpif:\
- :vf=/usr/local/libexec/hpvf:
- </programlisting>
-
- <para>La proc&eacute;dure suivante convertit des donn&eacute;es troff produites
- par le traitement de texte groff pour l'imprimante PostScript
- <literal>bamboo</literal>:</para>
-
- <programlisting>
-#!/bin/sh
-#
-# pstf - Convertit des donn&eacute;es troff de groff en PS, et les imprime
-# fichier /usr/local/libexec/pstf
-#
-exec grops | /usr/local/libexec/lprps "$@"
- </programlisting>
-
- <para>Cette proc&eacute;dure utilise de nouveau <command>lprps</command>
- pour communiquer avec l'imprimante. Si l'imprimante &eacute;tait sur
- un port parall&egrave;le, il faudrait utiliser une autre
- m&eacute;thode:</para>
-
- <programlisting>
-#!/bin/sh
-#
-# pstf - Convertit des donnees troff de groff en PS, et les imprime
-# fichier /usr/local/libexec/pstf
-#
-exec grops
- </programlisting>
-
- <para>C'est tout. Voici ce qu'il faut mettre dans
- <filename>/etc/printcap</filename> pour utiliser ce
- filtre:</para>
-
- <programlisting>
-:tf=/usr/local/libexec/pstf:
- </programlisting>
-
- <para>Voici un exemple qui prend en charge la sauce FORTRAN. C'est un filtre
- pour les programmes FORTRAN pour n'importe quelle imprimante
- capable d'imprimer directement du texte. Nous l'installerons
- pour l'imprimante
- <literal>teak</literal>:</para>
-
- <programlisting>
-#!/bin/sh
-#
-# hprf - filtre de conversion pour FORTRAN pour LaserJet 3si:
-# fichier /usr/local/libexec/hprf
-#
-
-printf "\033&amp;k2G" &amp;&amp; fpr &amp;&amp; printf "\f" &amp;&amp; exit 0
-exit 2
- </programlisting>
-
- <para>Et nous mettrons la ligne suivante dans
- <filename>/etc/printcap</filename> pour l'imprimante
- <literal>teak</literal> pour activer ce filtre:</para>
-
- <programlisting>
-:rf=/usr/local/libexec/hprf:
- </programlisting>
-
- <para>Voici un dernier exemple, quelque peu plus complexe. Nous
- allons installer un filtre DVI pour l'imprimante LaserJet
- <literal>teak</literal> de l'exemple pr&eacute;c&eacute;dent. Commen&ccedil;ons
- par le plus facile: mettre &agrave; jour
- <filename>/etc/printcap</filename> en lui donnant le chemin
- d'acc&egrave;s au filtre DVI:</para>
-
- <programlisting>
-:df=/usr/local/libexec/hpdf:
- </programlisting>
-
- <para>Et maintenant, la partie compliqu&eacute;e: cr&eacute;er le filtre. Il
- nous faut un programme de conversion de DVI en
- PCL pour LaserJet. Il y en a un au catalogue des logiciels
- port&eacute;s de FreeBSD (voyez le chapitre <link linkend="ports">Installer
- des Logiciels au &ldquo;Catalogue des Logiciels Port&eacute;s&rdquo;</link>):
- <citerefentry>
- <refentrytitle>dvi2xx</refentrytitle></citerefentry> est le
- nom du logiciel. En l'installant, nous r&eacute;cup&eacute;rons le programme
- dont nous avons besoin, <citerefentry>
- <refentrytitle>dvilj2p</refentrytitle></citerefentry>, qui
- convertit du DVI en instructions compatibles LaserJet IIp,
- LaserJet III et LaserJet 2000.</para>
-
- <para><citerefentry>
- <refentrytitle>dvilj2p</refentrytitle></citerefentry> rend
- le filtre <command>hpdf</command> assez complexe, parce que
- <citerefentry>
- <refentrytitle>dvilj2p</refentrytitle></citerefentry> ne
- sait pas lire sur l'entr&eacute;e standard. Il lui faut un nom de
- fichier. Pire encore, ce fichier doit avoir l'extension
- <filename>.dvi</filename>, nous ne pouvons donc pas utiliser
- <filename>/dev/fd/0</filename> qui correspond &agrave; l'entr&eacute;e
- standard. Nous contournons le probl&egrave;me avec un lien
- (symbolique) d'un fichier temporaire (avec l'extension
- <filename>.dvi</filename>) vers <filename>/dev/fd/0</filename>,
- for&ccedil;ant ainsi <citerefentry>
- <refentrytitle>dvilj2p</refentrytitle></citerefentry> &agrave; lire
- l'entr&eacute;e standard.</para>
-
- <para>Il y a cependant une mouche dans le potage. Nous ne pouvons
- pas cr&eacute;er de lien symbolique temporaire dans
- <filename>/tmp</filename>. Les liens symboliques appartiennent
- &agrave; l'utilisateur et au groupe <username>bin</username>.
- Le filtre est ex&eacute;cut&eacute; par l'utilisateur
- <username>daemon</username>. Et le bit &ldquo;sticky (persistant)&rdquo;
- du r&eacute;pertoire <filename>/tmp</filename> est positionn&eacute;. Le
- filtre peut cr&eacute;er le lien, mais ne pourra pas le d&eacute;truire
- apr&egrave;s avoir fait son travail, puisque le lien appartient
- &agrave; un autre utilisateur.</para>
-
- <para>Le filtre cr&eacute;era donc le lien dans le r&eacute;pertoire courant,
- qui est le r&eacute;pertoire tampon pour la file d'attente des
- travaux d'impression
- (d&eacute;fini par la fonctionnalit&eacute; <literal>sd</literal> dans
- <filename>/etc/printcap</filename>). C'est l'endroit id&eacute;al
- pour que les filtres accomplissent leur t&acirc;che, en particulier
- parce qu'il y a (parfois) plus de place dans le r&eacute;pertoire
- tampon que dans <filename>/tmp</filename>.</para>
-
- <para>Voici, enfin, le filtre:</para>
-
- <programlisting>
-#!/bin/sh
-#
-# hpdf - Imprime du DVI sur une imprimante HP/PCL
-# fichier /usr/local/libexec/hpdf
-
-PATH=/usr/local/bin:$PATH; export PATH
-
-#
-# D&eacute;finit une fonction pour d&eacute;truire nos fichiers temporaires. Ces fichiers
-# sont dans le r&eacute;pertoire courant, qui est le r&eacute;pertoire de file d'attente de
-# l'imprimante
-#
-cleanup() {
- rm -f hpdf$$.dvi
-}
-
-#
-# D&eacute;finit une fonction de gestion des erreurs fatales : imprime le message
-# d'erreur et retourne le code d'erreur 2. Ce code dit &agrave; LPD de ne pas
-# relancer le travail d'impression.
-#
-fatal() {
- echo "$@" 1&gt;&amp;2
- cleanup
- exit 2
-}
-
-#
-# Si l'utilisateur annule le travail d'impression, LPD envoie SIGINT,
-# il faut donc capturer SIGINT (et quelques autres signaux)
-# pour faire ensuite le m&eacute;nage nous-m&ecirc;mes.
-#
-trap cleanup 1 2 15
-
-#
-# Assurons-nous de ne pas avoir de conflit de nom avec des fichiers existants.
-#
-cleanup
-
-#
-# Lien symbolique du fichier DVI sur l'entr&eacute;e standard (fichier &agrave; imprimer).
-#
-ln -s /dev/fd/0 hpdf$$.dvi || fatal "Cannot symlink /dev/fd/0"
-
-#
-# LF = CR+LF
-#
-printf "\033&amp;k2G" || fatal "Cannot initialize printer"
-
-#
-# Convertit et imprime. Le code retour de dvilj2p ne semble pas fiable,
-# nous l'ignorons.
-#
-dvilj2p -M1 -q -e- dfhp$$.dvi
-
-#
-# Fait le m&eacute;nage et termine la proc&eacute;dure
-#
-cleanup
-exit 0
- </programlisting>
-
- </sect4>
-
- <sect4
- id="printing-advanced-autoconv">
- <title>La conversion automatique: une alternative aux filtres de
- conversion
- </title>
-
- <para>Tous ces filtres de conversion am&eacute;liorent votre
- environnement d'impression, mais ils obligent l'utilisateur
- &agrave; pr&eacute;ciser (sur la ligne de commande de <citerefentry>
- <refentrytitle>lpr</refentrytitle></citerefentry>)
- lequel utiliser. Si vos utilisateurs ne sont pas
- particuli&egrave;rement comp&eacute;tents en informatique, cela leur sera
- une g&ecirc;ne. Pire encore, une erreur d'option de filtrage
- peut lancer un filtre sur le mauvais type de fichier et
- provoquer l'impression de centaines de pages inutiles.</para>
-
- <para>Au lieu d'installer des filtres de conversion, vous pouvez
- essayer de faire en sorte que le filtre texte (qui est le
- filtre par d&eacute;faut) reconnaisse le type de fichier qu'il doit
- imprimer et ex&eacute;cute automatiquement le filtre de conversion
- ad&eacute;quat. Des utilitaires comme <command>file</command> peuvent
- &ecirc;tre employ&eacute;s pour cela. Il sera bien s&ucirc;r difficile de faire
- la diff&eacute;rence entre <emphasis>certains</emphasis> types de
- fichiers&nbsp;-&nbsp;dans ce cas, vous pouvez toujours fournir des
- filtres de conversion juste pour ces fichiers.</para>
-
- <para>Le catalogue des logiciels port&eacute;s de FreeBSD inclut un
- filtre texte appel&eacute; <citerefentry>
- <refentrytitle>apsfilter</refentrytitle></citerefentry>
- qui effectue la conversion automatique. Il sait reconna&icirc;tre les
- fichiers texte, PostScript et DVI, effectuer la
- conversion ad&eacute;quate et imprimer.</para>
-
- </sect4>
- </sect3>
-
- <sect3
- id="printing-advanced-of">
- <title>Filtres de sortie</title>
-
- <para>Le gestionnaire d'impression LPD supporte encore un autre
- type de filtre dont nous n'avons pas encore parl&eacute;: le filtre
- de sortie. Un filtre de sortie sert &agrave; imprimer du texte
- uniquement, comme le filtre texte, mais il est grandement
- simplifi&eacute;. Si vous utilisez un filtre de sortie, et pas de
- filtre texte, alors:
- <itemizedlist>
-
- <listitem>
- <para>LPD ex&eacute;cute le filtre de sortie une seule fois par
- travail d'impression et non une fois pour chaque fichier
- d'un travail d'impression.</para>
- </listitem>
-
- <listitem>
- <para>LPD ne s'inqui&egrave;te pas de d&eacute;tecter le d&eacute;but et la fin
- de chaque fichier pour les besoins du filtre de
- sortie.</para>
- </listitem>
-
- <listitem>
- <para>LPD ne passe pas le nom de la machine et de
- l'utilisateur au filtre, qui ne peut donc &ecirc;tre utilis&eacute;
- pour la comptabilit&eacute;. De fait, il n'a que deux arguments:
-
- <cmdsynopsis>
- <command>nom_du_filtre</command>
- <arg choice="plain">-w<replaceable>largeur</replaceable></arg>
- <arg choice="plain">-l<replaceable>hauteur</replaceable></arg>
- </cmdsynopsis> o&ugrave; <replaceable>largeur</replaceable> est
- la valeur d&eacute;finie par la fonctionnalit&eacute;
- <literal>pw</literal> et
- <replaceable>hauteur</replaceable> est
- la valeur d&eacute;finie par la fonctionnalit&eacute;
- <literal>pl</literal> associ&eacute;e &agrave; l'imprimante en
- question.</para>
- </listitem>
-
- </itemizedlist>
- </para>
-
- <para>Ne soyez pas abus&eacute; par la simplicit&eacute; du filtre de sortie. Si
- vous voulez que chaque fichier d'un travail d'impression commence
- sur une nouvelle page, le filtre de sortie
- <emphasis>ne convient pas</emphasis>. Utilisez un filtre texte
- (appel&eacute; aussi filtre d'entr&eacute;e); voyez la section <link
- linkend="printing-textfilter">Installer le filtre texte</link>.
- De plus, un filtre de sortie est en fait plus complexe
- car il doit examiner le flot de donn&eacute;es pour voir s'il contient
- des caract&egrave;res sp&eacute;ciaux et s'envoyer des signaux &agrave; lui-m&ecirc;me
- au lieu que ce soit LPD qui le fasse.</para>
-
- <para>Un filtre de sortie est toutefois
- <emphasis>n&eacute;cessaire</emphasis> si vous voulez avoir des pages
- d'en-t&ecirc;te et devez envoyer des s&eacute;quences d'&eacute;chappement ou d'autres
- commandes d'initialisation pour pouvoir imprimer ces pages
- d'en-t&ecirc;te. (Il est cependant <emphasis>inutilisable</emphasis> si vous
- voulez facturer ces pages d'en-t&ecirc;te &agrave; l'utilisateur,
- puisque LPD ne donne pas d'informations sur l'utilisateur et
- la machine au filtre de sortie.)</para>
-
- <para>Pour une m&ecirc;me imprimante, LPD vous autorise &agrave; avoir &agrave; la fois
- un filtre texte, un filtre de sortie et d'autres filtres. Dans ce
- cas, LPD utilisera le filtre de sortie pour imprimer la page
- d'en-t&ecirc;te (voyez la section <link
- linkend="printing-advanced-header-pages">Pages d'en-t&ecirc;te</link>)
- uniquement. LPD s'attend &agrave; ce que le filtre de sortie
- <emphasis>s'interrompe ensuite lui-m&ecirc;me</emphasis> quand il lui envoie les
- deux octets: ASCII 031 suivi de ASCII 001. Quand un filtre de
- sortie re&ccedil;oit cette s&eacute;quence (031, 001), il doit s'interrompre en
- s'envoyant le signal SIGSTOP. Quand LPD en a fini avec les autres
- filtres, il r&eacute;active le filtre de sortie en lui envoyant un
- SIGCONT.</para>
-
- <para>S'il y a un filtre de sortie mais <emphasis>pas</emphasis>
- de filtre texte et que LPD traite une impression de texte, LPD
- se sert du filtre de sortie pour faire le travail. Comme d&eacute;j&agrave; dit
- plus haut, le filtre de sortie imprimera les fichiers en continu,
- sans saut de page ou autre commande d'avance papier entre eux, ce
- qui n'est probablement <emphasis>pas</emphasis> ce que vous
- attendez. Dans la plupart des cas, vous aurez besoin d'un filtre
- texte.</para>
-
- <para>Le programme <command>lpf</command>, que nous avons cit&eacute;
- auparavant comme filtre texte, peut aussi &ecirc;tre utilis&eacute; comme
- filtre de sortie. Si vous avez besoin d'un filtre de sortie
- grossier et ne voulez pas &eacute;crire le code pour tester les
- octets et envoyer les signaux, essayez <command>lpf</command>.
- Vous pouvez aussi encapsuler <command>lpf</command> dans une
- proc&eacute;dure qui prenne en charge les codes d'initialisation
- dont l'imprimante aurait besoin.</para>
-
- </sect3>
-
- <sect3
- id="printing-advanced-lpf">
- <title><command>lpf</command>: un filtre texte</title>
-
- <para>Le programme <filename>/usr/libexec/lpr/lpf</filename> qui
- fait partie de la distribution de FreeBSD est un filtre texte
- (filtre d'entr&eacute;e) qui sait indenter le r&eacute;sultat
- (commande <command>lpr -i</command>), imprimer litt&eacute;ralement le
- texte (commande <command>lpr -l</command>), se positionner
- &agrave; la bonne colonne d'impression pour g&eacute;rer les retours arri&egrave;re
- et les tabulations et comptabiliser les pages imprim&eacute;es. Il peut
- aussi servir de filtre de sortie.</para>
-
- <para><command>lpf</command> convient &agrave; de nombreux environnements
- d'impression. Et bien qu'il ne sache pas envoyer de s&eacute;quences
- d'initialisation &agrave; l'imprimante, il est facile d'&eacute;crire une
- proc&eacute;dure qui effectue les initialisations requises et ex&eacute;cute
- ensuite <command>lpf</command>.</para>
-
- <para>Pour que <command>lpf</command> comptabilise correctement les
- pages, il faut que les valeurs d&eacute;finies par les fonctionnalit&eacute;s
- <literal>pw</literal> et <literal>pl</literal> du fichier
- <filename>/etc/printcap</filename> soient correctement
- renseign&eacute;es. Ces valeurs sont utilis&eacute;es pour savoir quelle
- quantit&eacute; de texte tient sur une page, et combien de pages
- comporte le travail d'impression d'un utilisateur. Pour plus
- d'informations sur la comptabilisation des impressions, voyez
- la section <link linkend="printing-advanced-acct">Comptabiliser
- l'utilisation des imprimantes</link>.</para>
-
- </sect3>
- </sect2>
-
- <sect2
- id="printing-advanced-header-pages">
- <title>Pages d'en-t&ecirc;te</title>
-
- <para>Si vous avez <emphasis>beaucoup</emphasis> d'utilisateurs,
- employant tous diff&eacute;rentes imprimantes, alors vous devrez
- envisager les <emphasis>pages d'en-t&ecirc;te</emphasis> comme un
- mal n&eacute;cessaire.</para>
-
- <para>Les pages d'en-t&ecirc;te, appel&eacute;es aussi
- <emphasis>banni&egrave;res</emphasis> ou
- pages qui sautent aux yeux (<emphasis>burst</emphasis>)
- identifient les propri&eacute;taires des
- travaux apr&egrave;s qu'ils aient &eacute;t&eacute; imprim&eacute;s. Elles sont g&eacute;n&eacute;ralement
- imprim&eacute;es en gros caract&egrave;res gras, parfois encadr&eacute;s, de fa&ccedil;on &agrave;
- ce qu'elles se distinguent facilement des documents eux-m&ecirc;mes
- dans une pile d'impressions. Elles permettent aux utilisateurs
- de r&eacute;p&eacute;rer rapidement leurs propres travaux. L'inconv&eacute;nient en est
- que cela fait une page suppl&eacute;mentaire &agrave; imprimer &agrave; chaque fois,
- d'usage &eacute;ph&eacute;m&egrave;re&nbsp;-&nbsp;quelques minutes au plus, et qui finissent
- &agrave; la corbeille ou au recyclage. (Notez que comme il n'y a qu'une
- page d'en-t&ecirc;te par travail d'impression et non une pour chaque
- fichier, le gaspillage n'est peut-&ecirc;tre pas si grave.)</para>
-
- <para>Le syst&egrave;me LPD peut g&eacute;n&eacute;rer automatiquement les pages d'en-t&ecirc;te
- si votre imprimante sait imprimer directement du texte. Si vous
- avez une imprimante PostScript, il vous faudra un programme
- suppl&eacute;mentaire pour les g&eacute;n&eacute;rer; reportez-vous &agrave; la section
- <link linkend="printing-advanced-header-pages-ps">Pages
- d'en-t&ecirc;te sur les imprimantes PostScript</link>.</para>
-
- <sect3 id="printing-advanced-header-pages-enabling">
- <title>Activer les pages d'en-t&ecirc;te</title>
-
- <para>Dans la <link linkend="printing-simple">Configuration
- simple d'une imprimante</link>, nous avons supprim&eacute; l'impression
- des pages d'en-t&ecirc;te en ajoutant
- <literal>sh</literal> (pour &ldquo;suppress
- header&rdquo;&nbsp;-&nbsp;supprimer les en-t&ecirc;tes) dans le fichier
- <filename>/etc/printcap</filename>. Pour les mettre en service
- sur une imprimante, il suffit d'enlever la fonctionnalit&eacute;
- <literal>sh</literal>.</para>
-
- <para>Cela parait trop facile, non?</para>
-
- <para>Vous avez raison. Vous devrez <emphasis>peut-&ecirc;tre</emphasis>
- fournir un filtre de sortie pour envoyer une s&eacute;quence
- d'initialisation &agrave; votre imprimante. Voici un exemple de filtre
- de sortie pour une imprimante compatible avec le langage PCL
- de Hewlett Packard:</para>
-
- <programlisting>
-#!/bin/sh
-#
-# hpof - filtre de sortie pour les imprimantes compatibles Hewlett Packard PCL
-# fichier /usr/local/libexec/hpof
-
-printf "\033&amp;k2G" || exit 2 exec
-/usr/libexec/lpr/lpf
- </programlisting>
-
- <para>Donnez le chemin d'acc&egrave;s du filtre de sortie avec la
- fonctionnalit&eacute;
- <literal remap="tt">of</literal>. Voyez la section <link
- linkend="printing-advanced-of">Filtres de sortie</link>
- pour plus d'informations.</para>
-
- <para>Voici par exemple le fichier
- <filename>/etc/printcap</filename> pour l'imprimante
- <literal>teak</literal> d&eacute;j&agrave; utilis&eacute;e plus haut; nous
- mettons en service les pages d'en-t&ecirc;te et ajoutons le
- filtre de sortie ci-dessus:</para>
-
- <programlisting>
-#
-# /etc/printcap pour la machine orchid
-#
-teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
- :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\
- :if=/usr/local/libexec/hpif:\
- :vf=/usr/local/libexec/hpvf:\
- :of=/usr/local/libexec/hpof:
- </programlisting>
-
- <para>Maintenant, quand nous utilisateurs imprimeront sur
- <literal>teak</literal>, ils auront une page d'en-t&ecirc;te
- pour chaque travail. S'ils pr&eacute;f&eacute;rent perdre du temps &agrave;
- retrouver leurs impressions, ils peuvent supprimer les
- pages d'en-t&ecirc;te en soumettant leurs travaux avec
- <command>lpr -h</command>; voyez la section <link
- linkend="printing-lpr-options-misc">Options pour la page
- d'en-t&ecirc;te</link> pour conna&icirc;tre les autres options
- de <citerefentry>
- <refentrytitle>lpr</refentrytitle></citerefentry>.</para>
-
- <note>
- <para>LPD imprime un caract&egrave;re de saut de page apr&egrave;s chaque page
- d'en-t&ecirc;te. Si votre imprimante utilise un caract&egrave;re ou une
- s&eacute;quence diff&eacute;rente pour &eacute;jecter une page, pr&eacute;cisez-la avec
- la fonctionnalit&eacute; <literal>ff</literal> dans
- <filename>/etc/printcap</filename>.</para>
- </note>
-
- </sect3>
-
- <sect3
- id="printing-advanced-header-pages-controlling">
- <title>Configurer les pages d'en-t&ecirc;te</title>
-
- <para>Si les pages d'en-t&ecirc;te sont actives, LPD produira un
- <emphasis>en-t&ecirc;te long</emphasis>, une page enti&egrave;re en
- gros caract&egrave;res, donnant le nom de l'utilisateur, de la
- machine et du travail d'impression. En voici un exemple
- (kelly a imprim&eacute; un travail appel&eacute; outline depuis la
- machine rose):</para>
-
- <programlisting>
- k ll ll
- k l l
- k l l
- k k eeee l l y y
- k k e e l l y y
- k k eeeeee l l y y
- kk k e l l y y
- k k e e l l y yy
- k k eeee lll lll yyy y
- y
- y y
- yyyy
-
-
- ll
- t l i
- t l
- oooo u u ttttt l ii n nnn eeee
- o o u u t l i nn n e e
- o o u u t l i n n eeeeee
- o o u u t l i n n e
- o o u uu t t l i n n e e
- oooo uuu u tt lll iii n n eeee
-
-
-
-
-
-
-
-
-
- r rrr oooo ssss eeee
- rr r o o s s e e
- r o o ss eeeeee
- r o o ss e
- r o o s s e e
- r oooo ssss eeee
-
-
-
-
-
-
-
- Job: outline
- Date: Sun Sep 17 11:04:58 1995
- </programlisting>
-
- <para>LPD ajoute un saut de page apr&egrave;s ce texte de sorte que le
- travail commence en d&eacute;but de page (&agrave; moins que vous n'ayez mis
- <literal>sf</literal>&nbsp;-&nbsp;supprimer les sauts de
- page&nbsp;-&nbsp;dans l'entr&eacute;e
- correspondant &agrave; l'imprimante destinatrice dans
- <filename>/etc/printcap</filename>).</para>
-
- <para>Si vous le pr&eacute;f&eacute;rez, LPD peut g&eacute;n&eacute;rer des <emphasis>en-t&ecirc;tes
- courts</emphasis>; sp&eacute;cifiez <literal>sb</literal>
- (en-t&ecirc;te court&nbsp;-&nbsp;&ldquo;short banner&rdquo;) dans le
- fichier <filename>/etc/printcap</filename>.
- La page d'en-t&ecirc;te ressemblera alors &agrave; ceci:</para>
-
- <programlisting>
-rose:kelly Job: outline Date: Sun Sep 17 11:07:51 1995
- </programlisting>
-
- <para>Par d&eacute;faut, LPD imprime la page d'en-t&ecirc;te avant le contenu
- du travail. Vous pouvez faire l'inverse avec
- <literal>hl</literal> (en-t&ecirc;te &agrave; la fin&nbsp;-&nbsp;&ldquo;header
- last&rdquo;) dans
- <filename>/etc/printcap</filename>.</para>
-
- </sect3>
-
- <sect3 id="printing-advanced-header-pages-accounting">
- <title>Comptabiliser les pages d'en-t&ecirc;te</title>
-
- <para>Avec les pages d'en-t&ecirc;te pr&eacute;-programm&eacute;es de LPD, vous
- en &ecirc;tes r&eacute;duits &agrave; appliquer la politique suivante: les pages
- d'en-t&ecirc;te doivent &ecirc;tre <emphasis>gratuites</emphasis>.</para>
-
- <para>Pourquoi?</para>
-
- <para>Le filtre de sortie est le seul programme additionnel
- qui puisse savoir quand sont imprim&eacute;es les pages d'en-t&ecirc;te
- et comme il ne connait <emphasis>ni l'utilisateur, ni la
- machine</emphasis>, pas plus que le nom du fichier comptable,
- il ne peut pas savoir qui facturer. Il ne suffit pas
- de simplement &ldquo;ajouter une page&rdquo; par l'interm&eacute;diaire
- du filtre texte ou de l'un des filtres de conversion (qui
- connaissent l'utilisateur et la machine), puisque les utilisateurs
- peuvent supprimer les pages d'en-t&ecirc;te avec
- <command>lpr -h</command>. Ils seraient alors factur&eacute;s pour des
- pages d'en-t&ecirc;te qu'ils n'ont pas imprim&eacute;es. Les utilisateurs
- &eacute;cologistes pr&eacute;f&eacute;reront employer <command>lpr -h</command>, mais
- vous n'avez pas moyen de les y inciter.</para>
-
- <para>Il ne suffit <emphasis>pas non plus</emphasis> de faire
- g&eacute;n&eacute;rer les pages d'en-t&ecirc;te par les diff&eacute;rents filtres (ce
- qui permet de les facturer). Si les utilisateurs veulent
- alors les supprimer avec <command>lpr -h</command>, ils
- les auront malgr&eacute; tout et seront factur&eacute;s pour, parce que LPD
- ne passe l'information fournie par l'option
- <option>-h</option> &agrave; aucun des filtres.</para>
-
- <para>Que pouvez-vous donc faire?</para>
-
- <para>Vous pouvez :
- <itemizedlist>
-
- <listitem>
- <para>Accepter la politique de LPD et ne pas facturer les
- pages d'en-t&ecirc;te.</para>
- </listitem>
-
- <listitem>
- <para>Installer l'une des alternatives &agrave; LPD, comme
- LPDng ou PLP.
- La section
- <link linkend="printing-lpd-alternatives">Alternatives au
- gestionnaire d'impression standard</link> vous
- en dit plus sur les autres gestionnaires d'impression
- qui peuvent se substituer &agrave; LPD.</para>
- </listitem>
-
- <listitem>
- <para>Ecrire un filtre de sortie
- <emphasis>intelligent</emphasis>. Le filtre de sortie
- n'a normalement rien d'autre &agrave; faire que d'initialiser
- l'imprimante et effectuer quelques conversions simples
- de caract&egrave;res. Il convient pour les pages d'en-t&ecirc;te et
- l'impression de textes (quand il n'y a pas de filtre
- texte&nbsp;-&nbsp;ou d'entr&eacute;e). Mais, s'il y a un filtre
- texte, le filtre de sortie n'est utilis&eacute; que pour les
- pages d'en-t&ecirc;te. Le filtre de sortie peut alors
- d&eacute;terminer quel utilisateur ou quelle machine facturer
- en fonction du contenu de la page d'en-t&ecirc;te. Le seul
- probl&egrave;me avec cette m&eacute;thode est que l'on ne sait toujours
- pas quel est le fichier comptable (son nom, d&eacute;fini par
- la fonctionnalit&eacute; <literal>af</literal>, n'est pas
- transmis au filtre de sortie), mais si son nom est
- standard, vous pouvez le codez &ldquo;en dur&rdquo;
- dans le filtre de sortie. Pour faciliter l'analyse du
- contenu de la page d'en-t&ecirc;te, utilisez la fonctionnalit&eacute;
- <literal>sh</literal> (en-t&ecirc;te courte) dans
- <filename>/etc/printcap</filename>. Cependant,
- c'est peut-&ecirc;tre se donner beaucoup de mal, alors que
- les utilisateurs appr&eacute;cieront certainement plus
- l'administrateur syst&egrave;me qui leur fait cadeau des
- pages d'en-t&ecirc;te.</para>
- </listitem>
-
- </itemizedlist>
- </para>
-
- </sect3>
-
- <sect3
- id="printing-advanced-header-pages-ps">
- <title>Pages d'en-t&ecirc;te sur les imprimantes PostScript</title>
-
- <para>Comme d&eacute;crit ci-dessus, LPD peut g&eacute;n&eacute;rer une page
- d'en-t&ecirc;te texte qui convient pour de nombreuses imprimantes.
- PostScript ne peut pas imprimer directement du texte, donc
- dans ce cas, les pages d'en-t&ecirc;te de LPD sont
- inutilisables&nbsp;-&nbsp;ou presque.</para>
-
- <para>Une m&eacute;thode triviale pour obtenir des pages d'en-t&ecirc;te est
- de confier leur g&eacute;n&eacute;ration &agrave; chaque filtre de conversion et
- au filtre texte. Ces filtres se serviront des noms d'utilisateur
- et de machine pour remplir correctement la page d'en-t&ecirc;te.
- L'inconv&eacute;nient de cette m&eacute;thode est que les utilisateurs
- auront toujours une page d'en-t&ecirc;te, m&ecirc;me s'ils soumettent
- leurs travaux avec <command>lpr -h</command>.</para>
-
- <para>Voyons comment cela fonctionne. La proc&eacute;dure ci-dessous a
- trois arguments (le nom de l'utilisateur, celui de la machine et
- celui du travail d'impression) et g&eacute;n&egrave;re une page d'en-t&ecirc;te
- PostScript simple:</para>
-
- <programlisting>
-#!/bin/sh
-#
-# make-ps-header - affiche une page d'en-t&ecirc;te PostScript sur la sortie standard
-# fichier /usr/local/libexec/make-ps-header
-#
-
-#
-# Ce sont les unit&eacute;s PostScript (72 par pouce).
-# A modifier pour le format A4 ou autre.
-#
-page_width=612
-page_height=792
-border=72
-
-#
-# contr&ocirc;le des arguments
-#
-if [ $# -ne 3 ]; then
- echo "Usage: `basename $0` &lt;user&gt; &lt;host&gt; &lt;job&gt;" 1&gt;&amp;2
- exit 1
-fi
-
-#
-# Les m&eacute;moriser, pour la lisibilit&eacute; du code PostScript qui suit.
-#
-user=$1
-host=$2
-job=$3
-date=`date`
-
-#
-# Envoyer le code PostScript sur la sortie standard.
-#
-exec cat &lt;&lt;EOF
-%!PS
-
-%
-% Pour ne pas interf&eacute;rer avec le travail de l'utilisateur qui suivra.
-%
-save
-
-%
-% Un cadre large et d&eacute;sagr&eacute;able autour de la page.
-%
-$border $border moveto
-$page_width $border 2 mul sub 0 rlineto
-0 $page_height $border 2 mul sub rlineto
-currentscreen 3 -1 roll pop 100 3 1 roll setscreen
-$border 2 mul $page_width sub 0 rlineto closepath
-0.8 setgray 10 setlinewidth stroke 0 setgray
-
-%
-% Le nom de l'utilisateur en gros caract&egrave;res.
-%
-/Helvetica-Bold findfont 64 scalefont setfont
-$page_width ($user) stringwidth pop sub 2 div $page_height 200 sub moveto
-($user) show
-
-%
-% Les caract&eacute;ristiques ennuyeuses
-%
-/Helvetica findfont 14 scalefont setfont
-/y 200 def
-[ (Job:) (Host:) (Date:) ] {
-200 y moveto show /y y 18 sub def }
-forall
-
-/Helvetica-Bold findfont 14 scalefont setfont
-/y 200 def
-[ ($job) ($host) ($date) ] {
- 270 y moveto show /y y 18 sub def
-} forall
-
-%
-% C'est tout.
-%
-restore
-showpage
-EOF
- </programlisting>
-
- <para>Chacun des filtres de conversion et le filtre texte peuvent
- maintenant utiliser cette proc&eacute;dure pour produire les pages
- d'en-t&ecirc;te avant d'imprimer le travail de l'utilisateur. Voici
- le filtre de conversion DVI d&eacute;crit plus haut dans ce chapitre,
- modifi&eacute; pour inclure la g&eacute;n&eacute;ration des pages d'en-t&ecirc;te:</para>
-
- <programlisting>
-#!/bin/sh
-#
-# psdf - filtre de conversion de DVI en PostScript
-# fichier /usr/local/libexec/psdf
-#
-# Utilis&eacute; par lpd quand l'utilisateur emploie lpr -d
-#
-
-orig_args="$@"
-
-fail() {
- echo "$@" 1&gt;&amp;2
- exit 2
-}
-
-while getopts "x:y:n:h:" option; do
- case $option in
- x|y) ;; # Ignore
- n) login=$OPTARG ;;
- h) host=$OPTARG ;;
- *) echo "LPD started `basename $0` wrong." 1&gt;&amp;2
- exit 2
- ;;
- esac
-done
-
-[ "$login" ] || fail "Pas de nom d'utilisateur"
-[ "$host" ] || fail "Pas de nom de machine"
-
-( /usr/local/libexec/make-ps-header $login $host "DVI File"
- /usr/local/bin/dvips -f ) | eval /usr/local/libexec/lprps $orig_args
- </programlisting>
-
- <para>Remarquez la fa&ccedil;on dont le filtre analyse les arguments
- pour conna&icirc;tre le nom de l'utilisateur et celui de la machine.
- Ce serait la m&ecirc;me pour les autres filtres de conversion. Le
- filtre texte a un jeu d'arguments l&eacute;g&egrave;rement diff&eacute;rent (voyez
- la section <link linkend="printing-advanced-filters">Comment
- fonctionnent les filtres</link>).</para>
-
- <para>Comme nous l'avons d&eacute;j&agrave; dit, cette m&eacute;thode, quoique assez
- simple, emp&ecirc;che d'utiliser l'option de
- &ldquo;suppression de la page d'en-t&ecirc;te&rdquo; (l'option
- <option>-h</option>) de la commande <command>lpr</command>. Si
- les utilisateurs voulaient &eacute;pargner un arbre (ou quelques
- centimes, si vous facturez les pages d'en-t&ecirc;te), ils ne pourront
- pas, puisque tous les filtres imprimeront une page d'en-t&ecirc;te
- pour chaque travail.</para>
-
- <para>Pour permettre aux utilisateurs de d&eacute;sactiver les pages
- d'en-t&ecirc;te, vous devrez utiliser l'astuce d&eacute;crite &agrave; la section
- <link
- linkend="printing-advanced-header-pages-accounting">Comptabiliser
- les pages d'en-t&ecirc;te</link>: &eacute;crire un filtre de
- sortie qui analyse la page d'en-t&ecirc;te g&eacute;n&eacute;r&eacute;e par LPD et en
- produire une version PostScript. Si l'utilisateur soumet son
- travail avec <command>lpr -h</command>, LPD ne g&eacute;n&egrave;re pas
- de page d'en-t&ecirc;te, et donc le filtre de sortie non plus.
- Dans le cas contraire, votre filtre de sortie lira le texte
- produit par LPD et enverra le code PostScript de la page
- d'en-t&ecirc;te &agrave; l'imprimante.</para>
-
- <para>Si votre imprimante PostScript est sur une interface
- s&eacute;rie, vous pouvez utiliser <command>lprps</command>, qui
- inclut un filtre de sortie, <command>psof</command>, qui
- se charge de cela. Remarquez que <command>psof</command>
- ne facture pas les pages d'en-t&ecirc;te.</para>
-
- </sect3>
- </sect2>
-
- <sect2
- id="printing-advanced-network-printers">
- <title>Impression en r&eacute;seau</title>
-
- <para>FreeBSD supporte l'impression en r&eacute;seau pour envoyer des travaux
- sur des imprimantes distantes. Imprimer en r&eacute;seau veut en g&eacute;n&eacute;ral
- dire deux choses diff&eacute;rentes:
- <itemizedlist>
-
- <listitem>
- <para>Acc&eacute;der &agrave; une imprimante connect&eacute;e &agrave; une machine distante.
- Vous installez une imprimante avec une interface s&eacute;rie ou
- parall&egrave;le classique sur une machine. Vous pouvez alors
- configurer LPD pour permettre l'acc&egrave;s &agrave; cette imprimante
- depuis d'autres machines du r&eacute;seau. La section <link
- linkend="printing-advanced-network-rm">Imprimantes
- install&eacute;es sur des machines distantes</link>
- vous explique comment
- faire.</para>
- </listitem>
-
- <listitem>
- <para>Acc&eacute;der &agrave; une imprimante connect&eacute;e directement au r&eacute;seau.
- L'imprimante a une interface r&eacute;seau en plus (ou &agrave; la place)
- de l'interface s&eacute;rie ou parall&egrave;le habituelle. Une imprimante
- de ce type peut fonctionner comme suit:
-
- <itemizedlist>
-
- <listitem>
- <para>Elle peut comprendre le protocole LPD, voire m&ecirc;me
- g&eacute;rer une file d'attente de travaux venant de machines
- distantes. Dans ce cas, elle se comporte comme une
- machine distante ex&eacute;cutant LPD. Suivez la m&ecirc;me proc&eacute;dure
- qu'&agrave; la section <link
- linkend="printing-advanced-network-rm">Imprimantes
- install&eacute;es sur des machines distantes</link> pour
- configurer ce type d'imprimante.</para>
- </listitem>
-
- <listitem>
- <para>Elle ne peut que recevoir un flot de donn&eacute;es
- venant du r&eacute;seau. Dans ce cas,
- vous la &ldquo;reliez&rdquo; &agrave; une machine du r&eacute;seau
- en confiant &agrave; cette machine la gestion de la file
- d'attente et l'envoi des travaux &agrave; l'imprimante. La
- section <link
- linkend="printing-advanced-network-net-if">Imprimantes
- avec une interface r&eacute;seau</link> donne
- quelques indications sur
- l'installation de ce type d'imprimante.</para>
- </listitem>
-
- </itemizedlist>
- </para>
- </listitem>
-
- </itemizedlist>
- </para>
-
- <sect3 id="printing-advanced-network-rm">
- <title>Imprimantes install&eacute;es sur des machines distantes</title>
-
- <para>Le syst&egrave;me LPD inclut ce qu'il faut pour envoyer des
- travaux sur d'autres machines qui ex&eacute;cutent aussi LPD (ou
- sont compatibles avec). Cela vous permet d'installer une
- imprimante sur une machine et de la rendre accessible &agrave;
- d'autres machines. Cela marche aussi avec les imprimantes
- qui ont une interface r&eacute;seau qui comprend le protocole
- LPD.</para>
-
- <para>Pour utiliser ce type d'impression en r&eacute;seau, installez
- d'abord l'imprimante sur une machine, la <emphasis>machine
- d'impression</emphasis>, en utilisant la <link
- linkend="printing-simple">Configuration simple d'une
- imprimante</link>.
- Utilisez les options n&eacute;cessaires de la
- <link linkend="printing-advanced">Configuration avanc&eacute;e
- d'une imprimante</link>. Veillez &agrave; tester l'imprimante
- et vous assurez qu'elle marche avec les options de LPD que vous
- avez choisies.</para>
-
- <para>Si vous utilisez une imprimante avec une interface r&eacute;seau
- compatible avec LPD, alors la <emphasis>machine
- d'impression</emphasis> dont nous parlerons ci-dessous est
- l'imprimante elle-m&ecirc;me, et le <emphasis>nom de
- l'imprimante</emphasis> est le nom que vous avez utilis&eacute; pour
- configurer votre imprimante. Consultez la documentation de
- votre imprimante ou de son interface r&eacute;seau.</para>
-
- <para>Ensuite, sur les autres machines depuis lesquelles vous voulez
- pouvoir acc&eacute;der &agrave; cette imprimante, ajouter une entr&eacute;e dans leurs
- fichiers <filename>/etc/printcap</filename> de la fa&ccedil;on suivante:
- <orderedlist>
-
- <listitem>
- <para>Nommez cette entr&eacute;e comme vous voulez. Pour plus de
- simplicit&eacute;, vous utiliserez &eacute;ventuellement le m&ecirc;me nom
- et les m&ecirc;mes alias que sur la machine d'impression.</para>
- </listitem>
-
- <listitem>
- <para>Laissez explicitement la fonctionnalit&eacute;
- <literal>lp</literal> non renseign&eacute;e
- (<literal>:lp=:</literal>).</para>
- </listitem>
-
- <listitem>
- <para>Cr&eacute;ez un r&eacute;pertoire tampon et donnez son chemin d'acc&egrave;s
- avec la fonctionnalit&eacute; <literal>sd</literal>. LPD y
- mettra les travaux avant de les envoyer &agrave; la machine
- d'impression.</para>
- </listitem>
-
- <listitem>
- <para>Donnez le nom de l'imprimante avec la fonctionnalit&eacute;
- <literal>rm</literal>.</para>
- </listitem>
-
- <listitem>
- <para>Donnez le nom de l'imprimante telle qu'elle est connue
- sur la <emphasis>machine
- d'impression</emphasis> avec la fonctionnalit&eacute;
- <literal>rp</literal>.</para>
- </listitem>
-
- </orderedlist>C'est tout. Vous n'avez pas besoin de pr&eacute;ciser
- les filtres, les dimensions de la page ou quoi que ce soit
- d'autre dans le fichier
- <filename>/etc/printcap</filename>.</para>
-
- <para>Voici un exemple. Il y a deux imprimantes sur la machine
- <hostid>rose</hostid>,
- <literal>bamboo</literal> et <literal>rattan</literal>. Nous
- allons permettre aux utilisateurs de la machine
- <hostid>orchid</hostid> d'utiliser ces imprimantes. Voici le
- fichier <filename>/etc/printcap</filename> de la
- machine <hostid>orchid</hostid> (repris de la section
- <link linkend="printing-advanced-header-pages-enabling">Activer
- les pages d'en-t&ecirc;te</link>). Il contenait d&eacute;j&agrave; une entr&eacute;e
- pour l'imprimante <literal>teak</literal>; nous avons ajout&eacute;
- les entr&eacute;es pour les deux imprimantes de la machine
- <hostid>rose</hostid>:</para>
-
- <programlisting>
-#
-# /etc/printcap pour la machine orchid
-# ajout des imprimantes (distantes) sur rose
-#
-# teak est locale; elle est connect&eacute;e directement &agrave; orchid:
-#
-teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
- :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\
- :if=/usr/local/libexec/ifhp:\
- :vf=/usr/local/libexec/vfhp:\
- :of=/usr/local/libexec/ofhp:
-
-#
-# rattan est connect&eacute;e &agrave; rose; envoyer les travaux pour rattan &agrave; rose:
-#
-rattan|line|diablo|lp|Imprimante Ligne Diablo 630:\
- :lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan:
-
-#
-# bamboo est aussi connect&eacute;e &agrave; rose:
-#
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:
- </programlisting>
-
- <para>Nous n'avons plus qu'&agrave; cr&eacute;er les r&eacute;pertoires
- tampon sur <hostid>orchid</hostid>:</para>
-
- <informalexample>
- <screen>&prompt.root; <userinput>mkdir -p /var/spool/lpd/rattan /var/spool/lpd/bamboo</userinput>
-&prompt.root; <userinput>chmod 770 /var/spool/lpd/rattan /var/spool/lpd/bamboo</userinput>
-&prompt.root; <userinput>chown daemon.daemon /var/spool/lpd/rattan /var/spool/lpd/bamboo</userinput></screen>
- </informalexample>
-
- <para>Les utilisateurs d'<hostid>orchid</hostid> peuvent maintenant
- imprimer sur <literal>rattan</literal>
- et <literal>bamboo</literal>. Si, par exemple, un utilisateur
- d'<hostid>orchid</hostid> tape:
-
- <informalexample>
- <screen>&prompt.user; <userinput>lpr -P bamboo -d appreciations-sushi.dvi</userinput></screen>
- </informalexample> Le syst&egrave;me LPD d'orchid copiera le travail dans
- le r&eacute;pertoire tampon
- <filename>/var/spool/lpd/bamboo</filename> et notera que c'est
- un travail DVI. D&egrave;s qu'il y aura de la place dans le r&eacute;pertoire
- tampon pour <hostid>bamboo</hostid> sur la machine rose, les deux
- LPD transf&egrave;reront le fichier sur rose. Il attendra d'&ecirc;tre imprim&eacute;
- dans la file d'attente de rose. La conversion de DVI en
- PostScript (puisque bamboo est une imprimante PostScript)
- sera faite par rose.</para>
-
- </sect3>
-
- <sect3
- id="printing-advanced-network-net-if">
- <title>Imprimantes avec une interface r&eacute;seau</title>
-
- <para>La plupart du temps, quand vous achetez une carte d'interface
- r&eacute;seau pour une imprimante, vous avez le choix entre deux
- versions: l'une (la plus ch&egrave;re) &eacute;mule un gestionnaire
- d'impression, l'autre (la moins ch&egrave;re) ne vous permet que de lui
- envoyer des donn&eacute;es comme si elle &eacute;tait sur un port parall&egrave;le ou
- s&eacute;rie. C'est l'utilisation de cette derni&egrave;re que d&eacute;crit la
- pr&eacute;sente section. Pour la version la plus ch&egrave;re, voyez la
- section pr&eacute;c&eacute;dente, <link
- linkend="printing-advanced-network-rm">Imprimantes install&eacute;es
- sur des machines distantes</link>.</para>
-
- <para>Le format du fichier <filename>/etc/printcap</filename>
- vous permet d'indiquer quelle interface s&eacute;rie ou parall&egrave;le
- utiliser, et (si vous utilisez une interface s&eacute;rie), quelle
- est la vitesse en baud, s'il faut utiliser un contr&ocirc;le de
- flux, les d&eacute;lais pour les tabulations, la conversion des
- sauts de ligne, et ainsi de suite. Mais il n'y a rien pour
- d&eacute;crire la connexion d'une imprimante qui &eacute;coute sur un port
- TCP/IP ou un autre port r&eacute;seau.</para>
-
- <para>Pour envoyer des donn&eacute;es &agrave; une imprimante r&eacute;seau, il vous
- faut un programme de communication qui soit appel&eacute; par le
- filtre texte et les filtres de conversion. En voici une
- exemple: la proc&eacute;dure <command>netprint</command> r&eacute;cup&egrave;re
- toutes les donn&eacute;es qui arrivent sur l'entr&eacute;e standard et
- les envoie &agrave; une imprimante r&eacute;seau. Nous donnons comme
- premier argument de <command>netprint</command>
- le nom de machine de l'imprimante et comme deuxi&egrave;me argument
- le num&eacute;ro du port auquel se connecter. Remarquez que la
- communication est &agrave; sens unique (de FreeBSD vers l'imprimante);
- nombre d'imprimantes r&eacute;seau sont capables de communiquer dans
- les deux sens, et vous voudrez peut-&ecirc;tre en profiter (pour
- conna&icirc;tre l'&eacute;tat de l'imprimante, g&eacute;rer la comptabilit&eacute;,
- etc.).</para>
-
- <programlisting>
-#!/usr/bin/perl
-#
-# netprint - filtre texte pour une imprimante r&eacute;seau
-# fichier /usr/local/libexec/netprint
-#
-$#ARGV eq 1 || die "Usage: $0 &lt;printer-hostname&gt; &lt;port-number&gt;";
-
-$printer_host = $ARGV[0];
-$printer_port = $ARGV[1];
-
-require 'sys/socket.ph';
-
-($ignore, $ignore, $protocol) = getprotobyname('tcp');
-($ignore, $ignore, $ignore, $ignore, $address)
- = gethostbyname($printer_host);
-
-$sockaddr = pack('S n a4 x8', &amp;AF_INET, $printer_port, $address);
-
-socket(PRINTER, &amp;PF_INET, &amp;SOCK_STREAM, $protocol)
- || die "Impossible de cr&eacute;er la socket TCP/IP: $!";
-connect(PRINTER, $sockaddr) || die "Impossible de contacter $printer_host: $!";
-while (&lt;STDIN&gt;) { print PRINTER; }
-exit 0;
- </programlisting>
-
- <para>Nous pouvons utiliser cette proc&eacute;dure avec diff&eacute;rents
- filtres. Supposons que nous ayons une imprimante ligne
- Diablo 750-N sur notre r&eacute;seau. Cette imprimante re&ccedil;oit les donn&eacute;es
- &agrave; imprimer sur le port 5100. Son nom de machine est scrivener.
- Voici le filtre texte pour cette imprimante:</para>
-
- <programlisting>
-#!/bin/sh
-#
-# diablo-if-net - filtre texte pour l'imprimante Diablo `scrivener' &agrave; l'&eacute;coute
-# sur le port 5100. fichier /usr/local/libexec/diablo-if-net
-/usr/libexec/lpr/lpf "$@" | /usr/local/libexec/netprint scrivener 5100
- </programlisting>
-
- </sect3>
- </sect2>
-
- <sect2 id="printing-advanced-restricting">
- <title>Restreindre l'acc&egrave;s aux imprimantes</title>
-
- <para>Cette section vous donne des informations sur les
- restrictions d'acc&egrave;s aux imprimantes. Le syst&egrave;me LPD
- vous permet de contr&ocirc;ler quels sont les utilisateurs
- qui peuvent acc&eacute;der aux imprimantes, locales et distantes,
- s'ils ont le droit d'imprimer en plusieurs exemplaires,
- quelle taille peut avoir leurs travaux, et quelle peut
- &ecirc;tre la taille maximale de la file d'attente.</para>
-
-
- <sect3 id="printing-advanced-restricting-copies">
- <title>Restreindre l'impression de plusieurs exemplaires</title>
-
- <para>Avec le syst&egrave;me LPD, il est facile pour les utilisateurs
- d'imprimer en plusieurs exemplaires. Il leur suffit d'utiliser
- <command>lpr -#5</command> (par exemple) pour obtenir 5
- exemplaires de chaque fichier de leur travail d'impression.
- C'est &agrave; vous de d&eacute;cider si c'est une bonne chose.</para>
-
- <para>Si vous pensez que les impressions multiples usent
- inutilement vos imprimantes, vous pouvez d&eacute;sactiver
- l'option <option>-#</option> de
- <citerefentry><refentrytitle>lpr</refentrytitle></citerefentry>
- en ajoutant la fonctionnalit&eacute; <literal>sc</literal> au fichier
- <filename>/etc/printcap</filename>. Quand les utilisateurs
- soumettront des travaux avec l'option <option>-#</option>,
- ils auront le message :
-
- <informalexample>
- <screen>lpr: multiple copies are not allowed</screen>
- </informalexample></para>
-
- <para>(L'impression en plusieurs exemplaires n'est pas
- autoris&eacute;e.)</para>
- <para>Notez bien que si vous avez d&eacute;fini une entr&eacute;e pour une
- imprimante distante
- (voyez la section
- <link linkend="printing-advanced-network-rm">Imprimantes
- install&eacute;es sur des machines distantes</link>), vous devrez aussi
- d&eacute;finir la fonctionnalit&eacute; <literal>sc</literal> dans le fichier
- <filename>/etc/printcap</filename> de la machine, ou bien les
- autres utilisateurs pourrons envoyer des impressions multiples
- depuis d'autres machines.</para>
-
- <para>Voici un exemple. C'est le fichier
- <filename>/etc/printcap</filename> de la machine
- <hostid>rose</hostid>. L'imprimante <literal>rattan</literal>
- est assez robuste, nous y autoriserons les impressions multiples,
- mais l'imprimante laser <literal>bamboo</literal> est un peu plus
- fragile, nous y d&eacute;sactiverons donc les impressions en plusieurs
- exemplaires en ajoutant la fonctionnalit&eacute;
- <literal remap="tt">sc</literal>:</para>
-
- <programlisting>
-#
-# /etc/printcap pour la machine rose
-# interdire plusieurs exemplaires sur bamboo
-#
-rattan|line|diablo|lp|Imprimante Ligne Diablo 630:\
- :sh:sd=/var/spool/lpd/rattan:\
- :lp=/dev/lpt0:\
- :if=/usr/local/libexec/if-simple:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:sc:\
- :lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:\
- :if=/usr/local/libexec/psif:\
- :df=/usr/local/libexec/psdf:
- </programlisting>
-
- <para>Il nous faut encore ajouter la fonctionnalit&eacute;
- <literal>sc</literal> dans <filename>/etc/printcap</filename>
- sur la machine <hostid>orchid</hostid> (et pendant que nous y
- sommes, d&eacute;sactivons les exemplaires multiples sur l'imprimante
- <literal>teak</literal>):</para>
-
- <programlisting>
-#
-# /etc/printcap pour la machine orchid - pas d'impression en plusieurs
-# exemplaires sur l'imprimante locale teak ni sur l'imprimante distante bamboo
-#
-teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
- :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:sc:\
- :if=/usr/local/libexec/ifhp:\
- :vf=/usr/local/libexec/vfhp:\
- :of=/usr/local/libexec/ofhp:
-
-rattan|line|diablo|lp|Imprimante Ligne Diablo 630:\
- :lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:sc:
- </programlisting>
-
- <para>Avec la fonctionnalit&eacute; <literal>sc</literal>,
- nous emp&ecirc;chons d'utiliser la commande <command>lpr -#</command>,
- mais cela n'&eacute;vite pas que les utilisateurs ex&eacute;cutent plusieurs
- fois <citerefentry>
- <refentrytitle>lpr</refentrytitle></citerefentry>,
- ou soumettent plusieurs fois les m&ecirc;mes fichiers dans un m&ecirc;me
- travail, comme ceci:</para>
-
- <informalexample>
- <screen>&prompt.user; <userinput>lpr a-vendre.annonce a-vendre.annonce a-vendre.annonce</userinput></screen>
- </informalexample>
-
- <para>Il y a de nombreux moyens d'emp&ecirc;cher ce type d'abus
- que vous &ecirc;tes libre d'essayer (y compris l'ignorer).</para>
-
- </sect3>
-
- <sect3
- id="printing-advanced-restricting-access">
- <title>Restreindre l'acc&egrave;s aux imprimantes</title>
-
- <para>Vous pouvez contr&ocirc;ler qui imprime sur quelle imprimante
- avec le m&eacute;canisme des groupes d'UNIX et la fonctionnalit&eacute;
- <literal>rg</literal> dans <filename>/etc/printcap</filename>.
- D&eacute;finissez les utilisateurs auxquels vous voulez autoriser l'acc&egrave;s
- &agrave; une imprimante dans un groupe pr&eacute;cis et donnez ce groupe
- en param&egrave;tre de la fonctionnalit&eacute; <literal>rg</literal>.</para>
-
- <para>Les utilisateurs qui n'appartiennent pas &agrave; ce
- groupe (y compris le super-utilisateur) seront accueillis par:</para>
-
- <informalexample>
- <screen>lpr: Not a member of the restricted group</screen>
- </informalexample>
-
- <para>(Vous n'appartenez pas au groupe autoris&eacute;.)
- s'ils essaient d'utiliser l'imprimante en question.</para>
-
- <para>De m&ecirc;me que pour la fonctionnalit&eacute; <literal>sc</literal>
- (suppressions des exemplaires multiples), vous devez sp&eacute;cifier
- <literal>rg</literal> sur les machines distantes qui ont acc&egrave;s
- &agrave; l'imprimante, si cela vous para&icirc;t indiqu&eacute; (voyez la section
- <link linkend="printing-advanced-network-rm">Imprimantes
- install&eacute;es sur des machines distantes</link>).</para>
-
- <para>Par exemple, nous ne laisserons pas tout le monde imprimer sur
- <literal>rattan</literal>, mais seuls les utilisateurs du groupe
- <literal>artists</literal> pourront utiliser
- <literal>bamboo</literal>. Voici notre habituel fichier
- <filename>/etc/printcap</filename>
- pour la machine <hostid>rose</hostid>:</para>
-
- <programlisting>
-#
-# /etc/printcap pour la machine rose - restriction d'acc&egrave;s &agrave; bamboo
-#
-rattan|line|diablo|lp|Imprimante Ligne Diablo 630:\
- :sh:sd=/var/spool/lpd/rattan:\
- :lp=/dev/lpt0:\
- :if=/usr/local/libexec/if-simple:
-
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:\
- :lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:\
- :if=/usr/local/libexec/psif:\
- :df=/usr/local/libexec/psdf:
- </programlisting>
-
- <para>Laissons tel quel l'autre fichier
- <filename>/etc/printcap</filename> (de la machine
- <hostid>orchid</hostid>). Bien s&ucirc;r, tous les utilisateurs
- d'<hostid>orchid</hostid> peuvent alors imprimer sur
- <literal>bamboo</literal>. Selon le cas, nous voudrons
- restreindre ou non l'acc&egrave;s &agrave; certains utilisateurs
- d'<hostid>orchid</hostid>.</para>
-
- <note>
- <para>Avec cette fonctionnalit&eacute;, il ne peut y avoir qu'un seul
- groupe d'utilisateurs autoris&eacute; par imprimante.</para>
- </note>
- </sect3>
-
- <sect3
- id="printing-advanced-restricting-sizes">
- <title>Contr&ocirc;ler la taille des travaux soumis</title>
-
- <para>Si de nombreux utilisateurs acc&egrave;dent &agrave; vos imprimantes,
- vous voudrez probablement limiter la taille des fichiers
- qu'ils peuvent imprimer. Apr&egrave;s tout, l'espace disponible
- sur les syst&egrave;mes de fichiers o&ugrave; se trouvent les files
- d'attente n'est pas illimit&eacute;, et vous devez aussi faire en
- sorte qu'il y ait de la place pour les travaux de tous les
- utilisateurs.</para>
-
- <para>LPD vous permet de d&eacute;finir une taille maximum en octets
- que peut avoir un fichier &agrave; imprimer gr&acirc;ce &agrave; la fonctionnalit&eacute;
- <literal>mx</literal>. L'unit&eacute; est le bloc BUFSIZ, qui est de
- 1024 octets. Si vous donnez en param&egrave;tre de cette fonctionnalit&eacute;
- la valeur z&eacute;ro, la taille des fichiers ne sera pas limit&eacute;e.</para>
-
- <note>
- <para>Cette limite s'applique &agrave; la taille des
- <emphasis>fichiers</emphasis> d'un travail d'impression,
- et <emphasis>non</emphasis> au volume total du travail.</para>
- </note>
-
- <para>LPD ne refusera pas d'imprimer un fichier trop volumineux.
- Il en mettra autant que la limite
- donn&eacute;e dans la file d'attente. Cette
- partie sera imprim&eacute;e, le reste sera ignor&eacute;. Est-ce la bonne
- m&eacute;thode, le d&eacute;bat reste ouvert.</para>
-
- <para>Ajoutons des limites aux imprimantes
- <literal>rattan</literal> et <literal>bamboo</literal>
- de notre exemple. Comme les fichiers PostScript de nos artistes
- sont assez volumineux, nous les limiterons &agrave; 5 m&eacute;ga-octets. Nous
- ne mettrons pas de limitation &agrave; l'utilisation de l'imprimante
- texte:</para>
-
- <programlisting>
-#
-# /etc/printcap pour la machine rose
-#
-
-#
-# Pas de limite &agrave; la taille des fichiers:
-#
-rattan|line|diablo|lp|Imprimante Ligne Diablo 630:\
- :sh:sd=/var/spool/lpd/rattan:\
- :lp=/dev/lpt0:\
- :if=/usr/local/libexec/if-simple:
-
-#
-# Pas plus de 5 m&eacute;ga-octets
-#
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\
- :lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:\
- :if=/usr/local/libexec/psif:\
- :df=/usr/local/libexec/psdf:
- </programlisting>
-
- <para>Encore une fois, ces limitations s'appliquent aux
- utilisateurs locaux. Si ces imprimantes sont accessibles
- &agrave; distance, les utilisateurs distants ne seront pas
- assujettis &agrave; ces limites. Il vous faut aussi introduire la
- fonctionnalit&eacute; <literal>mx</literal> dans les fichiers
- <filename>/etc/printcap</filename> des machines distantes. Voyez
- la section <link
- linkend="printing-advanced-network-rm">Imprimantes install&eacute;es
- sur des machines distantes</link> pour plus d'informations sur
- l'impression &agrave; distance.</para>
-
- <para>Il y a un autre moyen de limiter le volume des travaux
- d'impression &agrave; distance; voyez la section <link
- linkend="printing-advanced-restricting-remote">Contr&ocirc;ler les
- impressions &agrave; distance</link>.</para>
-
- </sect3>
-
- <sect3
- id="printing-advanced-restricting-remote">
- <title>Contr&ocirc;ler les impressions &agrave; distance</title>
-
- <para>Le syst&egrave;me LPD fournit diff&eacute;rents moyens de contr&ocirc;ler
- les impressions depuis des machines distantes:</para>
-
-
- <variablelist>
- <varlistentry><term>Restrictions selon les machines</term>
- <listitem>
- <para>Vous pouvez contr&ocirc;ler de quelles machines distantes
- le &ldquo;d&eacute;mon&rdquo; LPD local acceptera des requ&ecirc;tes
- d'impression gr&acirc;ce aux fichiers
- <filename>/etc/hosts.equiv</filename> et
- <filename>/etc/hosts.lpd</filename>. LPD v&eacute;rifie si la
- requ&ecirc;te vient d'une machine mentionn&eacute;e dans l'un de ces
- deux fichiers. Si ce n'est pas le cas, il refuse la
- requ&ecirc;te.</para>
-
- <para>Le format de ces fichiers est trivial: un nom de
- machine par ligne. Notez que le fichier
- <filename>/etc/hosts.equiv</filename> est aussi utilis&eacute;
- par le protocole
- <citerefentry><refentrytitle>ruserok</refentrytitle><manvolnum>3</manvolnum></citerefentry>, et affecte des programmes comme
- <citerefentry>
- <refentrytitle>rsh</refentrytitle></citerefentry> et
- <citerefentry>
- <refentrytitle>rcp</refentrytitle></citerefentry>,
- faites donc attention.</para>
-
- <para>Voici par exemple le fichier
- <filename>/etc/hosts.lpd</filename> de la machine
- <hostid>rose</hostid>:
-
- <programlisting>
-orchid
-violet
-madrigal.fishbaum.de
- </programlisting>
-
- Ce qui signifie que <hostid>rose</hostid> acceptera
- les demandes qui viennent des machines
- <hostid>orchid</hostid>,
- <hostid>violet</hostid>
- et <hostid role="fqdn">madrigal.fishbaum.de</hostid>.
- Si une autre machine fait appel au LPD de
- <hostid>rose</hostid>, il lui refusera l'acc&egrave;s.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term>Restrictions de volume</term>
-
- <listitem>
- <para>Vous pouvez contr&ocirc;ler combien il doit rester
- d'espace libre sur le syst&egrave;me de fichiers o&ugrave; se
- trouve le r&eacute;pertoire de file d'attente. Cr&eacute;ez un
- fichier appel&eacute; <filename>minfree</filename> dans
- le r&eacute;pertoire de file d'attente de l'imprimante
- local. Mettez-y un nombre de blocs disque (512 octets)
- qui sera l'espace qui devra &ecirc;tre disponible pour
- qu'un travail d'impression &agrave; distance soit accept&eacute;.</para>
-
- <para>Vous vous assurez ainsi que les utilisateurs distants
- ne satureront pas votre syst&egrave;me de fichiers. Vous pouvez
- aussi utiliser cette possibilit&eacute; pour donner une certaine
- priorit&eacute; aux utilisateurs locaux: ils pourront mettre des
- travaux en attente bien apr&egrave;s que l'espace disponible
- soit descendu en dessous de la valeur indiqu&eacute;e par
- le fichier <filename>minfree</filename>.</para>
-
- <para>D&eacute;finissons par exemple un fichier
- <filename>minfree</filename> pour l'imprimante
- <hostid>bamboo</hostid>. Nous regardons dans
- <filename>/etc/printcap</filename> pour savoir
- quel est son r&eacute;pertoire de file d'attente. Voici l'entr&eacute;e
- pour <hostid>bamboo</hostid>:</para>
-
- <programlisting>
-bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
- :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\
- :lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:mx#5000:\
- :if=/usr/local/libexec/psif:\
- :df=/usr/local/libexec/psdf:
- </programlisting>
-
- <para>Le r&eacute;pertoire de file d'attente est d&eacute;fini par la
- fonctionnalit&eacute; <literal>sd</literal>. Nous fixerons &agrave;
- trois m&eacute;ga-octets (soit 6144 blocs disque) l'espace
- qui doit &ecirc;tre libre pour que LPD accepte des impressions
- distantes:</para>
-
- <informalexample>
- <screen>&prompt.root; <userinput>echo 6144 &gt; /var/spool/lpd/bamboo/minfree</userinput></screen>
- </informalexample>
-
- </listitem>
- </varlistentry>
-
- <varlistentry><term>Restrictions sur les utilisateurs</term>
-
- <listitem>
- <para>Vous pouvez contr&ocirc;ler quels utilisateurs distants
- peuvent utiliser les imprimantes locales avec la
- fonctionnalit&eacute; <literal>rs</literal> dans
- <filename>/etc/printcap</filename>. Quand
- <literal>rs</literal> est mentionn&eacute;e dans l'entr&eacute;e
- correspondant &agrave; une imprimante locale, LPD acceptera
- les impressions venant de machines distantes
- <emphasis>si et seulement si</emphasis> l'utilisateur
- qui soumet le travail a un compte sous le m&ecirc;me nom
- sur la machine locale. Sinon, le travail d'impression
- sera refus&eacute;.</para>
-
- <para>Cette fonctionnalit&eacute; est particuli&egrave;rement utile
- lorsque (par exemple) plusieurs d&eacute;partements partagent un r&eacute;seau
- et certains utilisateurs sont &agrave; cheval sur plusieurs
- d&eacute;partements. En leur ouvrant un compte sur vos
- syst&egrave;mes, ils peuvent utiliser les imprimantes de
- leur propre d&eacute;partement. Si vous pr&eacute;f&eacute;rez qu'ils
- n'utilisent que <emphasis>vos</emphasis> imprimantes, mais
- pas vos machines, vous pouvez leur ouvrir des comptes
- &ldquo;jeton&rdquo;, sans r&eacute;pertoire utilisateur et
- avec un interpr&eacute;teur de commandes inutilisable tel que
- <filename>/usr/bin/false</filename>.</para>
-
- </listitem>
- </varlistentry>
- </variablelist>
-
-
- </sect3>
- </sect2>
-
- <sect2
- id="printing-advanced-acct">
- <title>Comptabiliser l'utilisation des imprimantes</title>
-
- <para>Donc, vous voulez facturer les impressions. Et pourquoi pas?
- Le papier et l'encre co&ucirc;tent de l'argent. Il y a aussi les co&ucirc;ts
- de maintenance. Les imprimantes ont des pi&egrave;ces mobiles qui ont
- tendance &agrave; casser. Vous avez fait un bilan du co&ucirc;t de vos
- imprimantes, consommables et frais de maintenance et avez
- calcul&eacute; un coup &agrave; la page (ou au m&egrave;tre, ou toute autre unit&eacute;).
- Comment faites-vous maintenant pour comptabiliser les
- impressions?</para>
-
- <para>Bien, la mauvaise nouvelle est que le gestionnaire
- d'impression LPD n'aide pas beaucoup dans ce domaine. La
- facturation d&eacute;pend dans une large mesure du type d'imprimante,
- du format utilis&eacute;, et de <emphasis>votre</emphasis> politique
- de facturation de l'utilisation des imprimantes.</para>
-
- <para>Pour mettre en oeuvre la facturation, vous devez modifier le
- filtre texte de l'imprimante (pour facturer l'impression de
- fichiers texte) et les filtres de conversion (pour les autres
- formats de fichiers), pour qu'ils comptent les pages ou interrogent
- l'imprimante pour conna&icirc;tre le nombre de pages imprim&eacute;es. Vous
- ne pouvez pas vous en sortir avec un simple filtre de sortie, qui
- n'est pas capable de g&eacute;rer la comptabilit&eacute;. Voyez la section
- <link
- linkend="printing-advanced-filter-intro">Filtres</link>.</para>
-
- <para>D'une fa&ccedil;on g&eacute;n&eacute;rale, il y a deux m&eacute;thodes de faire la
- facturation:
- <itemizedlist>
-
- <listitem>
- <para>La <emphasis>facturation p&eacute;riodique</emphasis> est la
- m&eacute;thode la plus courante, probablement parce que c'est la
- plus facile. Chaque fois que quelqu'un imprime, le filtre
- enregistre dans le fichier comptable le nom de l'utilisateur,
- celui de la machine et le nombre de pages imprim&eacute;es. Tous
- les mois, semestres, ann&eacute;es, ou avec la p&eacute;riodicit&eacute; que vous
- voulez, vous r&eacute;cup&eacute;rez les fichiers comptables des diff&eacute;rentes
- imprimantes et facturez leur utilisation. Vous r&eacute;initialisez
- ensuite ces fichiers, et repartez &agrave; z&eacute;ro pour la p&eacute;riode
- suivante.</para>
- </listitem>
-
- <listitem>
- <para>La <emphasis>facturation &agrave; la vol&eacute;e</emphasis> est moins
- utilis&eacute;e, certainement parce qu'elle est plus d&eacute;licate. Avec
- cette m&eacute;thode, les filtres facturent les utilisateurs d&egrave;s
- qu'ils utilisent les imprimantes. Comme pour les quotas
- d'espace disque, la comptabilit&eacute; est imm&eacute;diate, Vous pouvez
- interdire aux utilisateurs d'imprimer d&egrave;s qu'ils sont dans le
- rouge et leur fournir un moyen de consulter et modifier
- leurs &ldquo;quotas d'impression&rdquo;. Mais cette
- m&eacute;thode demande de mettre en oeuvre une base de donn&eacute;es
- pour g&eacute;rer les utilisateurs et leurs quotas.</para>
- </listitem>
-
- </itemizedlist>
- </para>
-
- <para>Le gestionnaire d'impression LPD permet de mettre facilement en
- oeuvre les deux m&eacute;thodes: de m&ecirc;me que vous devez fournir des filtres
- (la plupart du temps, au moins), vous devez aussi &eacute;crire le code
- de facturation. Mais cela a un avantage: vous avez &eacute;normement de
- souplesse pour la m&eacute;thode. Par exemple, vous pouvez choisir entre
- la facturation p&eacute;riodique ou &agrave; la vol&eacute;e. Vous pouvez choisir quelles
- informations utiliser: le nom d'utilisateur, le nom de
- machine, le type d'impression, le nombre de pages, la surface ou
- la quantit&eacute; de papier utilis&eacute;e, le temps qu'a pris l'impression, et
- ainsi de suite. Vous faites cela en modifiant le filtre pour qu'il
- archive ces informations.</para>
-
- <sect3>
- <title>Facturation simplifi&eacute;e</title>
-
- <para>FreeBSD inclut deux programmes que vous pouvez imm&eacute;diatement
- configurer pour une facturation p&eacute;riodique de base. Ce sont le
- filtre texte <command>lpf</command>, d&eacute;crit &agrave; la section
- <link linkend="printing-advanced-lpf"><command>lpf</command>:
- un filtre texte</link>, et <citerefentry>
- <refentrytitle>pac</refentrytitle></citerefentry>, un programme
- qui rassemble et globalise les donn&eacute;es des fichiers
- comptables.</para>
-
- <para>Comme indiqu&eacute; &agrave; la section sur les filtres (<link
- linkend="printing-advanced-filters">Filtres</link>), LPD
- ex&eacute;cute le filtre texte et les filtres de conversion en leur
- donnant en argument le nom du fichier comptable. Les filtres
- peuvent utiliser ce param&egrave;tre pour savoir o&ugrave; &eacute;crire
- l'enregistrement comptable. Le nom du fichier est pr&eacute;cis&eacute; par
- la fonctionnalit&eacute; <literal>af</literal> du fichier
- <filename>/etc/printcap</filename>, avec un chemin d'acc&egrave;s
- absolu ou relatif au r&eacute;pertoire de file d'attente.</para>
-
- <para>LPD ex&eacute;cute <command>lpf</command> avec comme param&egrave;tres
- la largeur et la hauteur de page (d&eacute;finies par les
- fonctionnalit&eacute;s <literal>pw</literal> et <literal>pl</literal>).
- <command>lpf</command> utilise ces arguments pour savoir combien
- il faudra de papier. Apr&egrave;s avoir envoy&eacute; le fichier &agrave; l'imprimante,
- il g&eacute;n&egrave;re alors un enregistrement dans le fichier comptable. Cet
- enregistrement ressemble &agrave; ce qui suit:</para>
-
- <programlisting>
-2.00 rose:andy
-3.00 rose:kelly
-3.00 orchid:mary
-5.00 orchid:mary
-2.00 orchid:zhang</programlisting>
-
- <para>Il faut utiliser un fichier comptable diff&eacute;rent pour
- chaque imprimante, car <command>lpf</command> ne sait pas
- verrouiller les fichiers, et deux <command>lpf</command>
- pourraient corrompre leurs enregistrements respectifs
- s'ils &eacute;crivaient en m&ecirc;me temps dans le m&ecirc;me fichier. Une fa&ccedil;on
- simple d'&ecirc;tre s&ucirc;r que l'on a des fichiers diff&eacute;rents pour chaque
- imprimante est d'utiliser <literal>af=acct</literal> dans
- <filename>/etc/printcap</filename>. On a alors dans les
- r&eacute;pertoires de file d'attente de chaque imprimante, un fichier
- comptable appel&eacute; <filename>acct</filename>.</para>
-
- <para>Quand vous voulez facturer les utilisateurs,
- ex&eacute;cutez le programme <citerefentry>
- <refentrytitle>pac</refentrytitle></citerefentry>.
- Allez simplement dans le r&eacute;pertoire de file d'attente
- de l'imprimante dont vous voulez r&eacute;cup&eacute;rer les informations
- comptables et tapez <citerefentry>
- <refentrytitle>pac</refentrytitle></citerefentry>. Vous
- obtiendrez un r&eacute;sum&eacute; (en dollars) des co&ucirc;ts:</para>
-
- <informalexample>
- <screen> Login pages/feet runs price
-orchid:kelly 5.00 1 $ 0.10
-orchid:mary 31.00 3 $ 0.62
-orchid:zhang 9.00 1 $ 0.18
-rose:andy 2.00 1 $ 0.04
-rose:kelly 177.00 104 $ 3.54
-rose:mary 87.00 32 $ 1.74
-rose:root 26.00 12 $ 0.52
-
-total 337.00 154 $ 6.74</screen>
- </informalexample>
-
- <para>Voici les arguments qu'attend <citerefentry>
- <refentrytitle>pac</refentrytitle></citerefentry>:</para>
-
- <variablelist>
- <varlistentry><term><option>-P<replaceable>imprimante</replaceable></option></term>
- <listitem>
- <para>L'<replaceable>imprimante</replaceable> dont on
- veut le r&eacute;sum&eacute; comptable. Cette option ne fonctionne
- que si l'on a donn&eacute; un chemin d'acc&egrave;s absolu &agrave; la
- fonctionnalit&eacute; <literal>af</literal>
- dans <filename>/etc/printcap</filename>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><option>-c</option></term>
-
- <listitem>
- <para>Trier par co&ucirc;ts au lieu d'utiliser l'ordre
- alphab&eacute;tique des noms d'utilisateurs.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><option>-m</option></term>
-
- <listitem>
- <para>Ne pas tenir compte du nom de machine indiqu&eacute; pour la
- comptabilit&eacute;. Avec cette option, l'utilisateur
- <username>smith</username> sur la machine
- <hostid>alpha</hostid> est le m&ecirc;me utilisateur que
- <username>smith</username> sur la machine
- <hostid>gamma</hostid>. Sinon, ils sont consid&eacute;r&eacute;s comme
- des utilisateurs diff&eacute;rents.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><option>-p<replaceable>prix</replaceable></option></term>
-
- <listitem>
- <para>Calculer les co&ucirc;ts sur la base du
- <replaceable>prix</replaceable> en dollars par page ou par
- pied (&ldquo;ft&rdquo;) au lieu d'utiliser la valeur donn&eacute;e
- avec la fonctionnalit&eacute; <literal>pc</literal> dans
- <filename>/etc/printcap</filename>, ou deux
- centimes (la valeur par d&eacute;faut).
- <replaceable>prix</replaceable> peut &ecirc;tre un nombre en
- virgule flottante.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><option>-r</option></term>
-
- <listitem>
- <para>Trier dans l'ordre inverse.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><option>-s</option></term>
-
- <listitem>
- <para>Editer le r&eacute;sum&eacute; comptable et tronquer le
- fichier.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term><replaceable>nom</replaceable> <replaceable>...</replaceable></term>
-
- <listitem>
- <para>N'imprimer les informations comptables que pour
- l'utilisateur <replaceable>nom</replaceable>.</para>
-
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Dans le r&eacute;sum&eacute; que produit <citerefentry>
- <refentrytitle>pac</refentrytitle></citerefentry>
- par d&eacute;faut, vous avez le nombre de pages imprim&eacute;es par
- chaque utilisateur sur chaque machine.Si, sur votre site,
- les machines n'ont pas d'importance (parce que les
- utilisateurs peuvent se servir de n'importe laquelle),
- utilisez <command>pac -m</command>, pour obtenir un
- r&eacute;capitulatif qui ressemble &agrave;:</para>
-
- <informalexample>
- <screen> Login pages/feet runs price
-andy 2.00 1 $ 0.04
-kelly 182.00 105 $ 3.64
-mary 118.00 35 $ 2.36
-root 26.00 12 $ 0.52
-zhang 9.00 1 $ 0.18
-
-total 337.00 154 $ 6.74</screen>
- </informalexample>
-
- <para>Pour calculer la facture en dollars,
- <citerefentry>
- <refentrytitle>pac</refentrytitle></citerefentry> utilise
- la fonctionnalit&eacute; <literal>pc</literal> du fichier
- <filename>/etc/printcap</filename> (200 par d&eacute;faut, soit 2
- centimes par page). Donnez, en centi&egrave;mes de centimes, le prix
- par page ou par pied que vous voulez facturer. Cette valeur
- peut &ecirc;tre red&eacute;finie quand vous utilisez
- <citerefentry>
- <refentrytitle>pac</refentrytitle></citerefentry> avec
- l'option <option>-p</option>. Avec l'option
- <option>-p</option>, l'unit&eacute; est le dollar et non plus
- le centi&egrave;me de centime. Par exemple:
-
- <informalexample>
- <screen>&prompt.root; <userinput>pac -p1.50</userinput></screen>
- </informalexample>
-
- facture chaque page un dollar cinquante centimes. Vous pouvez
- vraiment faire des affaires avec cette option.</para>
-
- <para>Enfin, utiliser <command>pac -s</command> sauvegardera le
- r&eacute;sum&eacute; dans un fichier comptable r&eacute;capitulatif, de m&ecirc;me nom
- que le fichier comptable associ&eacute; &agrave; l'imprimante, mais suffix&eacute;
- par <literal>_sum</literal>. Le fichier comptable est ensuite
- tronqu&eacute;. La prochaine fois que vous utiliserez
- <citerefentry><refentrytitle>pac</refentrytitle></citerefentry>,
- ce fichier r&eacute;capitulatif sera relu et pris en compte pour
- recalculer les totaux, en y ajoutant ce qui est comptabilis&eacute;
- dans le fichier comptable normal.</para>
-
- </sect3>
-
- <sect3>
- <title>Comment compter le nombre de pages imprim&eacute;es?</title>
-
- <para>Pour comptabliser correctement les impressions, m&ecirc;me &agrave;
- distance, vous devez pouvoir calculer la quantit&eacute; de papier
- consomm&eacute;e par chaque travail. C'est la difficult&eacute; principale
- li&eacute;e &agrave; la facturation des impressions.</para>
-
- <para>Pour les impressions en mode texte, la difficult&eacute; n'est
- pas si grande: vous comptez le nombre de lignes &agrave; imprimer
- et le comparer au nombre de lignes que l'imprimante peut
- &eacute;diter par page. N'oubliez pas de prendre les retours arri&egrave;re
- en compte, lorsqu'il y a sur-impression, de m&ecirc;me que les lignes
- trop longues qui s'impriment sur plus d'une ligne.</para>
-
- <para>Le filtre texte <command>lpf</command>
- (d&eacute;crit dans <link
- linkend="printing-advanced-lpf"><command>lpf</command>: un filtre
- texte</link>) prend tout cela en compte lorsqu'il g&egrave;re
- la comptabilit&eacute;. Si vous &eacute;crivez un filtre texte qui doit prendre
- la facturation en charge, vous devriez jeter un oeil au code
- source de <command>lpf</command>.</para>
-
- <para>Comment prendre les autres formats en compte?</para>
-
- <para>Pour les conversions de DVI en LaserJet ou PostScript,
- le filtre peut analyser la sortie de
- <citerefentry>
- <refentrytitle>dvilj</refentrytitle></citerefentry> ou
- <citerefentry>
- <refentrytitle>dvips</refentrytitle></citerefentry>
- pour y lire le nombre de pages converties. Vous devriez
- &ecirc;tre en mesure de faire de m&ecirc;me avec d'autres formats de fichiers
- et d'autres programmes de conversion.</para>
-
- <para>Ces m&eacute;thodes sont toutefois limit&eacute;es parce qu'elles ne
- prennent pas en compte le fait que l'imprimante n'imprimera
- peut-&ecirc;tre pas toutes ces pages. Il peut par exemple y avoir
- bourrage ou manque d'encre&nbsp;-&nbsp;et l'utilisateur sera malgr&eacute;
- tout factur&eacute;.</para>
-
- <para>Que pouvez-vous alors faire?</para>
-
- <para>Il n'y a qu'une seule m&eacute;thode <emphasis>s&ucirc;re</emphasis>
- pour tenir une comptabilit&eacute; <emphasis>pr&eacute;cise</emphasis>.
- Faire dire &agrave; l'imprimante combien de papier elle utilise, et
- la connecter sur un port s&eacute;rie ou directement sur le r&eacute;seau.
- Pratiquement toutes les imprimantes PostScript offrent cette
- possibilit&eacute;. C'est aussi faisable avec d'autres mod&egrave;les (les
- imprimantes laser r&eacute;seau Imagen, par exemple). Modifiez les
- filtres de ces imprimantes pour lire le nombre de pages
- imprim&eacute;es &agrave; la fin de chaque travail et reportez dans le
- fichier comptable des informations qui se basent
- <emphasis>uniquement</emphasis> l&agrave;-dessus. Il n'y a alors pas besoin
- de compter les lignes ou d'un examen des fichiers qui peut
- &ecirc;tre source d'erreurs.</para>
-
- <para>Vous pouvez toujours en d&eacute;finitive vous montrer g&eacute;n&eacute;reux et
- instituer la gratuit&eacute; des impressions.</para>
-
- </sect3>
- </sect2>
- </sect1>
-
- <sect1
- id="printing-lpd-alternatives">
- <title>Alternatives au gestionnaire d'impression standard</title>
-
- <para>Si vous avez lu int&eacute;gralement ce document jusqu'ici,
- vous savez maintenant &agrave; peu pr&egrave;s tout ce qu'il faut savoir sur
- le gestionnaire d'impression LPD qui est livr&eacute; avec FreeBSD. Vous
- pouvez juger de ses limitations, ce qui vous am&egrave;ne tout naturellement
- &agrave; vous demander s'il existe d'autres gestionnaires d'impression
- (qui fonctionnent sous FreeBSD).</para>
-
- <para>Malheureusement, je n'ai trouv&eacute; que <emphasis>deux</emphasis>
- alternatives&nbsp;-&nbsp;et elles sont quasiment semblables! Ce sont:</para>
-
- <variablelist>
- <varlistentry><term>PLP, le &ldquo;Portable Line Printer
- Spooler&rdquo;
- (gestionnaire d'impression en ligne portable)</term>
- <listitem>
- <para>PLP est bas&eacute; sur un logiciel d&eacute;velopp&eacute; par Patrick Powell
- puis maintenu par un groupe de d&eacute;veloppeurs sur Internet. Le
- site de r&eacute;f&eacute;rence pour ce logiciel est <ulink
- url="ftp://ftp.iona.ie/pub/plp">ftp://ftp.iona.ie/pub/plp</ulink>.
- Il y a aussi une <ulink url="http://www.iona.ie:8000/www/hyplan/jmason/plp.html">page Web</ulink>.</para>
-
- <para>Il ressemble beaucoup au gestionnaire LPD de BSD, mais
- en am&eacute;liore un grand nombre de fonctionnalit&eacute;s, dont:
- <itemizedlist>
-
- <listitem>
- <para>Meilleur support r&eacute;seau, dont le support int&eacute;gr&eacute;
- des imprimantes r&eacute;seau,
- fichiers <filename>printcap</filename> g&eacute;r&eacute;s par NIS,
- et montage NFS des r&eacute;pertoires tampons.</para>
- </listitem>
-
- <listitem>
- <para>Gestion sophistiqu&eacute;e des files d'attentes,
- permettant d'avoir plusieurs imprimantes sur la m&ecirc;me
- file, le transfert de travaux d'une file &agrave; une autre,
- et la redirection des files d'attente.</para>
- </listitem>
-
- <listitem>
- <para>Fonctions de contr&ocirc;le &agrave; distance des
- imprimantes.</para>
- </listitem>
-
- <listitem>
- <para>Gestion des priorit&eacute;s des travaux.</para>
- </listitem>
-
- <listitem>
- <para>Extensions aux options d'acc&egrave;s et de s&eacute;curit&eacute;.</para>
- </listitem>
-
- </itemizedlist>
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term>LPRng</term>
-
- <listitem>
- <para>LPRng, qui signifie &ldquo;LPR: the Next
- Generation&rdquo; (LPR : la g&eacute;n&eacute;ration suivante) est une
- r&eacute;&eacute;criture compl&egrave;te de PLP. Patrick Powell
- et Justin Mason (le principal responsable de la maintenance
- de PLP) ont coop&eacute;r&eacute; pour r&eacute;aliser LPRng. Le site de
- r&eacute;f&eacute;rence de LPRng est <ulink
- url="ftp://dickory.sdsu.edu/pub/LPRng">ftp://dickory.sdsu.edu/pub/LPRng</ulink>.</para>
-
- </listitem>
- </varlistentry>
- </variablelist>
-
- </sect1>
-
- <sect1><title>Remerciements</title>
-
- <para>Je voudrais remercier les personnes suivantes pour l'aide
- qu'elles m'ont apport&eacute;e pour r&eacute;aliser ce document:</para>
-
- <variablelist>
- <varlistentry><term>Daniel Eischen
- <email>deischen@iworks.interworks.org</email></term>
- <listitem>
- <para>Qui a fourni une pl&eacute;thore de programmes de filtre HP
- que j'ai pu r&eacute;utiliser.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term>&a.jehamby;</term>
-
- <listitem>
- <para>Pour le filtre de conversion Ghostscript pour HP.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry><term>Ma femme, Mary Kelly
- <email>urquhart@argyre.colorado.edu</email></term>
-
- <listitem>
- <para>Pour m'avoir laiss&eacute; passer plus de temps avec FreeBSD
- qu'avec elle.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- </sect1>
- </chapter>
-<!--
- Local Variables:
- mode: sgml
- sgml-declaration: "../chapter.decl"
- sgml-indent-data: t
- sgml-omittag: nil
- sgml-shorttag: nil
- sgml-always-quote-attributes: t
- sgml-minimize-attributes: max
- sgml-parent-document: ("../handbook.sgml" "part" "chapter")
- End:
--->