<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://lea-linux.org/docs/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Evilash</id>
	<title>Lea Linux - Contributions [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://lea-linux.org/docs/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Evilash"/>
	<link rel="alternate" type="text/html" href="https://lea-linux.org/documentations/Sp%C3%A9cial:Contributions/Evilash"/>
	<updated>2026-04-18T08:24:17Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Discussion_Trucs:Supprimer_les_%5EM_dans_les_fichiers_ASCII&amp;diff=11289</id>
		<title>Discussion Trucs:Supprimer les ^M dans les fichiers ASCII</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Discussion_Trucs:Supprimer_les_%5EM_dans_les_fichiers_ASCII&amp;diff=11289"/>
		<updated>2006-01-06T18:14:30Z</updated>

		<summary type="html">&lt;p&gt;Evilash : /* Pour ceux qui n&amp;#039;on vraiment pas de bol ;) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pour ceux qui n&#039;on vraiment pas de bol ;) ==&lt;br /&gt;
&lt;br /&gt;
Si d&#039;aventure vous vous retrouvez avec un fichier sur une seule ligne, et qu&#039;au vu des commentaire précédents vous obtenez un fichier vidé de ses &amp;lt;span style=&amp;quot;color:#0000FF;&amp;quot;&amp;gt;^M&amp;lt;/span&amp;gt; mais toujours sur une ligne, reprenez le fichier brut (pas celui dans lequel on ne distingue plus les fins de lignes, autrement dit le fichier sur lequel vous n&#039;avez appliqué aucune des précédentes méthodes) :  &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 $ vim lefichierenquestion&lt;br /&gt;
&lt;br /&gt;
une fois sous vim :&lt;br /&gt;
&lt;br /&gt;
 :%s/{ctrl-v}{ctrl-m}/{ctrl-v}{entrée}/g&lt;br /&gt;
&lt;br /&gt;
et voilà!&lt;br /&gt;
:Ajoute cette ruse carrément dans l’article et non dans les commentaires. [[Utilisateur:Nicola|Nicola]] 5 jan 2006 à 19:03 (CET)&lt;/div&gt;</summary>
		<author><name>Evilash</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Epson_Perfection_3490_Photo&amp;diff=11288</id>
		<title>Epson Perfection 3490 Photo</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Epson_Perfection_3490_Photo&amp;diff=11288"/>
		<updated>2006-01-06T17:29:00Z</updated>

		<summary type="html">&lt;p&gt;Evilash : /* Pré requis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Catégorie:Imprimantes_et_scanners]]&lt;br /&gt;
Le scanner Epson Perfection 3490 n&#039;est officiellement pas supporté par le [http://www.sane-project.org/sane-mfgs.html#Z-EPSON sane-projet.org].&lt;br /&gt;
&lt;br /&gt;
Pour autant, il est possible de le faire fonctionner sous linux en utilisant les pilotes fournis par Epson.&lt;br /&gt;
&lt;br /&gt;
Bien que je ne l&#039;ai pas essayé, il semblerait que le scanner Perfection 3590 ne soit qu&#039;un clone du 3490 et que la configuration soit la même.&lt;br /&gt;
&lt;br /&gt;
La section de ce document concerne la gestion des droits sur les scanners USB et devrait pouvoir être adaptable à tous les scanners usb.&lt;br /&gt;
&lt;br /&gt;
== Pré requis ==&lt;br /&gt;
#noyau 2.6.12 ou supérieur avec udev&lt;br /&gt;
#libusb&lt;br /&gt;
#libsane&lt;br /&gt;
#xsane&lt;br /&gt;
#le module « scanner » ne doit PAS être installé&lt;br /&gt;
&lt;br /&gt;
libsane est nécessaire, car le pilote fourni par Epson s&#039;appuie sur l&#039;architecture de sane.&lt;br /&gt;
La configuration sur laquelle ce scanner a été installé est une debian sarge ( stable ) avec noyau 2.6.12 en provenance de debian sid ( unstable )&lt;br /&gt;
&lt;br /&gt;
Par rapport au module scanner, tout en n&#039;étant pas installé, il peut arriver qu&#039;il existe un fichier /etc/modprobe.d/libsane qui génère des messages d&#039;erreur au boot.&amp;lt;br&amp;gt;&lt;br /&gt;
Commenter les deux ligne qu&#039;il contient, ou carrément détruire le fichier.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Pour l’installation c’est pas trop compliqué : &lt;br /&gt;
&lt;br /&gt;
#Un câble USB2 à mettre sur votre ordinateur. Ca marche aussi en USB1 ou USB1.1 .&lt;br /&gt;
#un câble d’alimentation électrique&lt;br /&gt;
&lt;br /&gt;
== Installer les pilotes fournis par Epson ==&lt;br /&gt;
Vu qu&#039;Epson nous met à disposition les pilotes, on va aller les chercher [http://www.avasys.jp/english/linux_e/index.html sur leur site internet].&lt;br /&gt;
&lt;br /&gt;
Il y a deux drivers différents ( selon le compilateur utilisé pour le noyau ). Dans mon cas, le deux ont marché de façon indifférente. Il semblerait que les utilisateurs Red Hat doivent utiliser la version pour GCC 3.2&lt;br /&gt;
&lt;br /&gt;
=== Utilisateurs dont le gestionnaire de paquetages utilise des rpm ===&lt;br /&gt;
Installer directement le paquetage ( en tant que root ) :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
rpm -i iscan-1.17.0-1.c2.i386.rpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Utilisateurs dont le gestionnaire de paquetages utilise des .deb ===&lt;br /&gt;
Les utilisateurs de debian et assimilables doivent convertir le .rpm en .deb par la commande alien ( installer alien au besoin ), puis installer le paquetage ( en tant que root ) :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
alien -i iscan-1.17.0-1.c2.i386.rpm&amp;lt;br&amp;gt;&lt;br /&gt;
dpkg -i iscan_1.14.0-4_i386.deb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Donner accès en lecture aux pilotes Epson ===&lt;br /&gt;
Les droits par défaut livrés avec les pilotes fournis par Epson ne permettent pas l&#039;acquisition de données.&lt;br /&gt;
&lt;br /&gt;
Il faut changer ces droits et/ou le propriétaire .&lt;br /&gt;
Le plus simple :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod 444 /usr/share/iscan/*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configurer sane ==&lt;br /&gt;
Indiquer que les scanners de marque « epkowa » sont autorisés en rajoutant epkowa dans le fichier suivant :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
vi /etc/sane.d/dll.conf&lt;br /&gt;
&lt;br /&gt;
epkowa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour forcer un chargement du module fourni par Epson, débrancher et rebrancher le scanner.&lt;br /&gt;
&lt;br /&gt;
Pour vérifier l&#039;efficacité de cette manoueuvre, en tant que root, taper :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
root@mimosa:~$ sane-find-scanner&lt;br /&gt;
  # sane-find-scanner will now attempt to detect your scanner. If the&lt;br /&gt;
  # result is different from what you expected, first make sure your&lt;br /&gt;
  # scanner is powered up and properly connected to your computer.&lt;br /&gt;
&lt;br /&gt;
  # No SCSI scanners found. If you expected something different, make sure that&lt;br /&gt;
  # you have loaded a SCSI driver for your SCSI adapter.&lt;br /&gt;
  # Also you need support for SCSI Generic (sg) in your operating system.&lt;br /&gt;
  # If using Linux, try &amp;quot;modprobe sg&amp;quot;.&lt;br /&gt;
found USB scanner (vendor=0x04b8 [EPSON], product=0x0122 [EPSON Scanner]) at libusb:001:002&lt;br /&gt;
  # Your USB scanner was (probably) detected. It may or may not be supported by&lt;br /&gt;
  # SANE. Try scanimage -L and read the backend&#039;s manpage.&lt;br /&gt;
&lt;br /&gt;
  # Not checking for parallel port scanners.&lt;br /&gt;
&lt;br /&gt;
  # Most Scanners connected to the parallel port or other proprietary ports&lt;br /&gt;
  # can&#039;t be detected by this program.&lt;br /&gt;
&lt;br /&gt;
  # You may want to run this program as root to find all devices. Once you&lt;br /&gt;
  # found the scanner devices, be sure to adjust access permissions as&lt;br /&gt;
  # necessary.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Notre scanner a bien été reconnu.&amp;lt;br&amp;gt;&lt;br /&gt;
Nous allons vérifier qu&#039;il est bien supporté par sane :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
root@mimosa:~$ scanimage -L&lt;br /&gt;
device `epkowa:libusb:001:002&#039; is a Epson Perfection 3490/3590 flatbed scanner&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Notre scanner est bien supporté désormais par sane ( si cette étape échoue, inutile de continuer ).&lt;br /&gt;
&lt;br /&gt;
Vérifier qu&#039;un utilisateur normal peut se connecter, en utilisant les mêmes commandes.&lt;br /&gt;
Si il y a un pb, cf plus bas.&lt;br /&gt;
&lt;br /&gt;
Dans tous les cas, afin d&#039;améliorer la sécurité du système, il est préconisé d&#039;effectuer les tâches de sécurisation décrites ci-après.&lt;br /&gt;
&lt;br /&gt;
== Gérer proprement les droits ==&lt;br /&gt;
Cette section s&#039;applique à tous les scanners usb, quelle que soit la marque et le modèle.&lt;br /&gt;
Cela évite d&#039;avoir à se torturer en ce qui concerne la gestion des droits d&#039;accès.&lt;br /&gt;
&lt;br /&gt;
Sous debian, les utilisateurs du scanner sont ceux qui font partie du groupe « scanner ».&lt;br /&gt;
Commencer donc par vérifier que vos utilisateurs habilités à l&#039;utilisation du scanner font partie de ce groupe.&lt;br /&gt;
&lt;br /&gt;
Si un utilisateur déjà loggé est ajouté à un groupe, il doit se délogguer et se relogguer pour que la modification prenne effet.&lt;br /&gt;
&lt;br /&gt;
Il faut commencer par demander à lsusb quel est le modèle de notre scanner :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
root@mimosa:~$ lsusb&lt;br /&gt;
Bus 002 Device 001: ID 0000:0000&lt;br /&gt;
Bus 001 Device 002: ID 04b8:0122 Seiko Epson Corp.&lt;br /&gt;
Bus 001 Device 001: ID 0000:0000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;ID du vendeur est 04b8 ( normal, c&#039;est un epson )&amp;lt;br&amp;gt;&lt;br /&gt;
L&#039;ID du scanner est 0122&amp;lt;br&amp;gt;&lt;br /&gt;
Le scanner est sur le bus 001 et de device 002.&amp;lt;br&amp;gt;&lt;br /&gt;
Le bus est donc : /proc/bus/usb/001&amp;lt;br&amp;gt;&lt;br /&gt;
Le périphérique est le fichier 002 contenu dans ce répertoire.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple :&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
martin@mimosa:~$ ls -lrt /proc/bus/usb/001/002&lt;br /&gt;
-rw-rw-rw-  1 root root 57 2005-12-17 19:55 002&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
On voit que les droits sont assez larges : rw- pour tous : tout le monde peut accéder au scanner.&lt;br /&gt;
&lt;br /&gt;
Editer le fichier suivant ( en tant que root ) :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
vi /etc/sane.d/hotplug/libsane.db&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rajouter les lignes suivantes :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
 # Epson Corp.|Perfection 3490/3590&lt;br /&gt;
0x04b8  0x0122  root:scanner    0660&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Ces lignes peuvent êtres rajoutées juste en dessous du scanner Perfection 2480, par exemple, qui a le numéro de produit précédent (0121 ).&lt;br /&gt;
&lt;br /&gt;
D&#039;une façon générale, la syntaxe est la suivante :&amp;lt;br&amp;gt;&lt;br /&gt;
0x+IdVendeur Ox+IdScanner propriétaire:groupe droits&lt;br /&gt;
&lt;br /&gt;
On reconnaît dans les deux premières positions l&#039;ID du vendeur ( précédé de 0x ) et l&#039;ID du scanner ( précédé de 0x )&amp;lt;br&amp;gt;&lt;br /&gt;
On indique que le périphérique sera créé avec l&#039;utilisateur root et le groupe scanner, avec des droits rw-rw---- ( 660 )&lt;br /&gt;
&lt;br /&gt;
Débrancher et rebrancher le scanner :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
martin@mimosa:~$ ls -lrt /proc/bus/usb/001/&lt;br /&gt;
total 0&lt;br /&gt;
-rw-r--r--  1 root root    43 2005-12-17 19:43 001&lt;br /&gt;
-rw-rw----  1 root scanner 57 2005-12-17 20:04 003&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On constate que :&amp;lt;br&amp;gt;&lt;br /&gt;
suite au débranchement du scanner, le numéro de périphérique a changé&lt;br /&gt;
seuls l&#039;utilisateur root et le groupe scanner ont désormais accès au périphérique&lt;br /&gt;
&lt;br /&gt;
Pour les personnes utilisant le driver iscan, fourni par Epson, les droits par défaut sont gérés dans le fichier :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
vi /etc/hotplug/usb/iscan-device&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Remplacer :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
DEFAULT_OWNER=root&lt;br /&gt;
DEFAULT_GROUP=root&lt;br /&gt;
DEFAULT_PERMS=0666&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
par :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
DEFAULT_OWNER=root&lt;br /&gt;
#DEFAULT_GROUP=root&lt;br /&gt;
#DEFAULT_PERMS=0666&lt;br /&gt;
DEFAULT_GROUP=scanner&lt;br /&gt;
DEFAULT_PERMS=0660&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce sont les droits par défaut qui étaient responsable de la largesse des droits octroyés avant de déclarer le scanner dans libsane.db.&lt;br /&gt;
&lt;br /&gt;
il y a un autre fichier de conf qu&#039;il est possible de renseigner, et qui devrait intéresser justement ceux qui n&#039;utilisent pas iscan :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
vi /etc/udev/libsane.rules&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
rajouter les lignes suivantes :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
# Epson Corp.|Perfection 3490&lt;br /&gt;
SYSFS{idVendor}==&amp;quot;04b8&amp;quot;, SYSFS{idProduct}==&amp;quot;0122&amp;quot;, MODE=&amp;quot;660&amp;quot;, GROUP=&amp;quot;scanner&amp;quot;, RUN+=&amp;quot;/etc/hotplug.d/usb/libsane.hotplug&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
d&#039;une façon plus générale :&amp;lt;br&amp;gt;&lt;br /&gt;
SYSFS{idVendor}==&amp;quot;IdVendeur&amp;quot;, SYSFS{idProduct}==&amp;quot;IdScanner, MODE=&amp;quot;droits&amp;quot;, GROUP=&amp;quot;groupe&amp;quot;, RUN+=&amp;quot;/etc/hotplug.d/usb/libsane.hotplug&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Noter l&#039;absence du 0x devant les id dans ce fichier&lt;br /&gt;
&lt;br /&gt;
Le script /etc/hotplug.d/usb/libsane.hotplug se charge, entre autre, de gérer les bons droits sur le périphérique. Il est redondant avec /etc/hotplug/usb/iscan-device. Il faut éditer soit l&#039;un, soit l&#039;autre.&lt;br /&gt;
&lt;br /&gt;
Enfin, si on veut vraiement gérer proprement les droits, ceux que nous avons octroyés aux bibliothèques fournis par Epson sont un peu larges.&amp;lt;br&amp;gt;&lt;br /&gt;
On va d&#039;abord changer le groupe de ces fichiers : ce sera désormais &amp;quot;scanner&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
On va réduire les droits en lecture au propiétaire et au groupe.&amp;lt;br&amp;gt;&lt;br /&gt;
Ces deux opérations ne peuvent se faire qu&#039;avec les droits root.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
chgrp scanner /usr/share/iscan/*&lt;br /&gt;
chmod 440 /usr/share/iscan/*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Logiciels d&#039;accès au scanner==&lt;br /&gt;
Le plus couremment utilisé est xsane, auquel on peut accéder directement comme une extension de Gimp.&amp;lt;br&amp;gt;&lt;br /&gt;
Avec ses drivers, Epson fourni iscan, qui offre une interface simple mais efficace au scanner.&lt;br /&gt;
Il est possible de rendre iscan accessible depuis gimp :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
ln -s /usr/bin/iscan ~/.gimp2.2/plug-ins&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
== Exemples de fichiers de conf ( extraits ) ==&lt;br /&gt;
/etc/sane.d/dll.conf&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/sane.d/dll.conf - Configuration file for the SANE dynamic backend loader&lt;br /&gt;
#&lt;br /&gt;
# On Debian systems, the dll backend will also look for pieces of configuration&lt;br /&gt;
# in the /etc/sane.d/dll.d directory -- packages providing backends should drop&lt;br /&gt;
# a config file similar to dll.conf in this directory.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# enable the next line if you want to allow access through the network:&lt;br /&gt;
net&lt;br /&gt;
abaton&lt;br /&gt;
agfafocus&lt;br /&gt;
[...]&lt;br /&gt;
dmc&lt;br /&gt;
epson&lt;br /&gt;
epkowa&lt;br /&gt;
fujitsu&lt;br /&gt;
#gphoto2&lt;br /&gt;
[...]&lt;br /&gt;
hp5400&lt;br /&gt;
ibm&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/sane.d/hotplug/libsane.db&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/sane.d/dll.conf - Configuration file for the SANE dynamic backend loader&lt;br /&gt;
# This file is part of the SANE distribution&lt;br /&gt;
#&lt;br /&gt;
# USB Vendor/Product IDs for scanners supported by SANE&lt;br /&gt;
#&lt;br /&gt;
# 0xVVVV&amp;lt;tab&amp;gt;0xPPPP&amp;lt;tab&amp;gt;root:scanner&amp;lt;tab&amp;gt;0660&amp;lt;tab&amp;gt;[/usr/local/bin/foo.sh]&lt;br /&gt;
#&lt;br /&gt;
# The following list already contains a lot of scanners. If your scanner&lt;br /&gt;
# isn&#039;t mentioned there, add it as explained above and mail the entry to&lt;br /&gt;
# the sane-devel mailing list.&lt;br /&gt;
#&lt;br /&gt;
# Hewlett-Packard|ScanJet 4100C&lt;br /&gt;
0x03f0  0x0101  root:scanner    0660&lt;br /&gt;
[...]&lt;br /&gt;
# Epson Corp.|Perfection 2480&lt;br /&gt;
0x04b8  0x0121  root:scanner    0660&lt;br /&gt;
# Epson Corp.|Perfection 3490/3590&lt;br /&gt;
0x04b8  0x0122  root:scanner    0660&lt;br /&gt;
# Epson Corp.|GT-15000 (ES-7000)&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/hotplug/usb/iscan-device.&amp;lt;br&amp;gt;&lt;br /&gt;
Ce fichier fait partie des éléments fournis par Epson dans son paquetage iscan.&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# iscan-device -- modifies device permissions for supported devices&lt;br /&gt;
# Copyright (C) 2005  SEIKO EPSON Corporation&lt;br /&gt;
&lt;br /&gt;
# This file is part of &amp;quot;Image Scan! for Linux&amp;quot;.&lt;br /&gt;
# You can redistribute it and/or modify it under the terms of the GNU&lt;br /&gt;
# General Public License as published by the Free Software Foundation;&lt;br /&gt;
# either version 2 of the License or at your option any later version.&lt;br /&gt;
#&lt;br /&gt;
# This program is distributed in the hope that it will be useful, but&lt;br /&gt;
# WITHOUT ANY WARRANTY;  without even the implied warranty of FITNESS&lt;br /&gt;
# FOR A PARTICULAR PURPOSE or MERCHANTABILITY.&lt;br /&gt;
# See the GNU General Public License for more details.&lt;br /&gt;
#&lt;br /&gt;
# You should have received a verbatim copy of the GNU General Public&lt;br /&gt;
# License along with this program; if not, write to:&lt;br /&gt;
#&lt;br /&gt;
#      Free Software Foundation, Inc.&lt;br /&gt;
#      59 Temple Place, Suite 330&lt;br /&gt;
#      Boston, MA  02111-1307  USA&lt;br /&gt;
&lt;br /&gt;
# This script changes the permissions and ownership of a USB device&lt;br /&gt;
# under /proc/bus/usb to grant access to the device to users.  This&lt;br /&gt;
# will be done according to system policy wherever possible, but as&lt;br /&gt;
# a fallback access will be granted to _all_ users.&lt;br /&gt;
&lt;br /&gt;
# Of course, fallback behaviour can be customised ;-)&lt;br /&gt;
#&lt;br /&gt;
DEFAULT_OWNER=root&lt;br /&gt;
DEFAULT_GROUP=scanner&lt;br /&gt;
DEFAULT_PERMS=0660&lt;br /&gt;
&lt;br /&gt;
# Rely on the sane-backends script (or a vendor specific script) if&lt;br /&gt;
# available.  Distributors have probably modified it to suit system&lt;br /&gt;
# policy.  Following is a list of scripts out there in the wild and&lt;br /&gt;
# some notes on where they have been observed.&lt;br /&gt;
#&lt;br /&gt;
#   libusbscanner       sane-backends (&amp;gt;= 1.0.14)&lt;br /&gt;
#   usbscanner          Mandrake 10&lt;br /&gt;
#   desktopdev          SUSE 9.1 Pro&lt;br /&gt;
#&lt;br /&gt;
USB_SCRIPTS=&amp;quot;libusbscanner&lt;br /&gt;
             usbscanner&lt;br /&gt;
             desktopdev&lt;br /&gt;
            &amp;quot;&lt;br /&gt;
for script in $USB_SCRIPTS; do&lt;br /&gt;
    if [ -x $HOTPLUG_DIR/$TYPE/$script ]; then&lt;br /&gt;
        exec $HOTPLUG_DIR/$TYPE/$script&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# Activate fallback settings&lt;br /&gt;
#&lt;br /&gt;
if [ &amp;quot;$ACTION&amp;quot; == add -a &amp;quot;$TYPE&amp;quot; == &amp;quot;usb&amp;quot; ]; then&lt;br /&gt;
    chown $DEFAULT_OWNER:$DEFAULT_GROUP &amp;quot;$DEVICE&amp;quot;&lt;br /&gt;
    chmod $DEFAULT_PERMS &amp;quot;$DEVICE&amp;quot;&lt;br /&gt;
fi                                                                         &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/udev/libsane.rules&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file is part of the SANE distribution&lt;br /&gt;
#&lt;br /&gt;
# udev rules file for supported scanners&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# For now, only USB scanners are listed/supported by this set of rules;&lt;br /&gt;
# feel free to add support for other busses.&lt;br /&gt;
#&lt;br /&gt;
# To add an USB scanner, add a rule to the list below between the SUBSYSTEM...&lt;br /&gt;
# and LABEL... lines.&lt;br /&gt;
#&lt;br /&gt;
# To run a script when your scanner is plugged in, add RUN=&amp;quot;/path/to/script&amp;quot;&lt;br /&gt;
# to the appropriate rule.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
SUBSYSTEM!=&amp;quot;usb_device&amp;quot;, ACTION!=&amp;quot;add&amp;quot;, GOTO=&amp;quot;libsane_rules_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Hewlett-Packard|ScanJet 4100C&lt;br /&gt;
SYSFS{idVendor}==&amp;quot;03f0&amp;quot;, SYSFS{idProduct}==&amp;quot;0101&amp;quot;, MODE=&amp;quot;660&amp;quot;, GROUP=&amp;quot;scanner&amp;quot;, RUN+=&amp;quot;/etc/hotplug.d/usb/libsane.hotplug&amp;quot;&lt;br /&gt;
# Hewlett-Packard|PhotoSmart S20&lt;br /&gt;
SYSFS{idVendor}==&amp;quot;03f0&amp;quot;, SYSFS{idProduct}==&amp;quot;0102&amp;quot;, MODE=&amp;quot;660&amp;quot;, GROUP=&amp;quot;scanner&amp;quot;, RUN+=&amp;quot;/etc/hotplug.d/usb/libsane.hotplug&amp;quot;&lt;br /&gt;
# Hewlett-Packard|ScanJet 4200C&lt;br /&gt;
[...]# Epson Corp.|Perfection 2480&lt;br /&gt;
SYSFS{idVendor}==&amp;quot;04b8&amp;quot;, SYSFS{idProduct}==&amp;quot;0121&amp;quot;, MODE=&amp;quot;660&amp;quot;, GROUP=&amp;quot;scanner&amp;quot;, RUN+=&amp;quot;/etc/hotplug.d/usb/libsane.hotplug&amp;quot;&lt;br /&gt;
# Epson Corp.|Perfection 3490&lt;br /&gt;
SYSFS{idVendor}==&amp;quot;04b8&amp;quot;, SYSFS{idProduct}==&amp;quot;0122&amp;quot;, MODE=&amp;quot;660&amp;quot;, GROUP=&amp;quot;scanner&amp;quot;, RUN+=&amp;quot;/etc/hotplug.d/usb/libsane.hotplug&amp;quot;&lt;br /&gt;
# Epson Corp.|GT-15000 (ES-7000)&lt;br /&gt;
SYSFS{idVendor}==&amp;quot;04b8&amp;quot;, SYSFS{idProduct}==&amp;quot;0126&amp;quot;, MODE=&amp;quot;660&amp;quot;, GROUP=&amp;quot;scanner&amp;quot;, RUN+=&amp;quot;/etc/hotplug.d/usb/libsane.hotplug&amp;quot;&lt;br /&gt;
[...]&lt;br /&gt;
&lt;br /&gt;
LABEL=&amp;quot;libsane_rules_end&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
{{Copy|Décembre 2005|[[Utilisateur:Martin.riondet|Martin.riondet]]|CC-BY-SA}}&lt;/div&gt;</summary>
		<author><name>Evilash</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Utiliser_groff&amp;diff=11287</id>
		<title>Utiliser groff</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Utiliser_groff&amp;diff=11287"/>
		<updated>2006-01-06T17:26:28Z</updated>

		<summary type="html">&lt;p&gt;Evilash : /* Les forces et faiblesses de groff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Comme Monsieur Jourdain fait de la prose, la plupart des nouveaux utilisateurs et utilisatrices de notre OS libre préféré utilisent un puissant outil de formatage et génération de documents. Cet outil a tendance à se faire oublier, tellement il est discret malgré sa participation vitale au quotidien de tout utilisateur ou utilisatrice, et cela concerne même les plus chevronné(e)s. Cet outil, c&#039;est &amp;lt;code&amp;gt;groff&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Que peut-on faire avec groff ? ==&lt;br /&gt;
&lt;br /&gt;
La commande &#039;&#039;&#039;groff&#039;&#039;&#039; permet à partir d&#039;une même source de :&lt;br /&gt;
&lt;br /&gt;
* générer des documents mis en page : livre, lettre, documentation, rapport...etc.&lt;br /&gt;
* créer des images de ces documents en format : postscript, man (Latin 1 formatés), html, dvi, Textes (Latin1 formatés)...&lt;br /&gt;
&lt;br /&gt;
== Quelles sont ses origines ? ==&lt;br /&gt;
&lt;br /&gt;
Au départ, cet environnement de formatage de documents appelé &#039;&#039;&#039;troff&#039;&#039;&#039; a été développé en assembleur par Joe Ossanna vers 1973, pour piloter une imprimante graphique (Graphic System CAT Typesetter) branchée sur un bon vieux PDP-11. Il fut porté en C vers 1975, mais malheureusement, Joe Ossanna décède en 1977.&lt;br /&gt;
&lt;br /&gt;
C&#039;est le célèbre Brian Kernighan qui reprend le flambeau en 1979 et modifie &#039;&#039;&#039;troff&#039;&#039;&#039; afin de le rendre compatible avec d&#039;autres formats de sortie. de 1979 à 1989, les sources de &#039;&#039;&#039;troff&#039;&#039;&#039; ont été modestement retouchées de manière à laisser la quasi totalité du code intacte en mémoire de Joe Ossanna. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;groff&#039;&#039;&#039; est donc en quelque sorte une oeuvre postume  trouvant ses d&#039;origines à quelques pas de l&#039;OS &#039;&#039;&#039;UNIX&#039;&#039;&#039;. Cet utilitaire extrèmement efficace est aujourd&#039;hui porté sur les systèmes d&#039;exploitations les plus novateurs tels que &#039;&#039;&#039;plan 9&#039;&#039;&#039;, &#039;&#039;&#039;inferno&#039;&#039;&#039; ou encore &#039;&#039;&#039;Amoeba&#039;&#039;&#039;.&lt;br /&gt;
Dans ces différents portages, il se fait parfois appeler &#039;&#039;&#039;roff&#039;&#039;&#039;, &#039;&#039;&#039;nroff&#039;&#039;&#039;, &#039;&#039;&#039;troff&#039;&#039;&#039;, mais est toujours présent sur tout système de philosophie UNIX.&lt;br /&gt;
&lt;br /&gt;
Il présente parfois de légères différences selon les spécificités des plateformes afin d&#039;en tirer le meilleur parti, mais semble toujours compatible car les développeurs d&#039;environnement ont prévu des équivalences afin de toujours pourvoir générer des documents propres.&lt;br /&gt;
Même &#039;&#039;&#039;MINIX&#039;&#039;&#039; célèbre petit OS didactique développé par Andrew Tenenbaum (MINIX mais il fait le maximum...) dispose de cette commande !&lt;br /&gt;
&lt;br /&gt;
== Les forces et faiblesses de groff ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Forces :&#039;&#039;&#039;&lt;br /&gt;
*Très rapide à assimiler comparé a son &#039;grand frêre&#039; &#039;&#039;&#039;L&amp;lt;sup&amp;gt;A&amp;lt;/sup&amp;gt;T&amp;lt;sub&amp;gt;E&amp;lt;/sub&amp;gt;X&#039;&#039;&#039;.&lt;br /&gt;
*Grande robustesse et génération toujours fidèle aux attentes de l&#039;utilisateur.&lt;br /&gt;
*Très léger, il permet un traitement rapide des informations même sur des petites configurations ne *disposant pas d&#039;une interface X-Windows.&lt;br /&gt;
*Personnalisable&lt;br /&gt;
&#039;&#039;&#039;Faiblesses : &#039;&#039;&#039;(il en faut bien pour rester objectif)&lt;br /&gt;
*Son langage macro est un peu rébarbatif (mais après un petit effort, il devient vite familier).&lt;br /&gt;
*Un peu plus rigide que &#039;&#039;&#039;L&amp;lt;sup&amp;gt;A&amp;lt;/sup&amp;gt;T&amp;lt;sub&amp;gt;E&amp;lt;/sub&amp;gt;X&#039;&#039;&#039; losque l&#039;on souhaite personnaliser un document.&lt;br /&gt;
*Peu de documentations sont disponibles étant donné son grand âge.&lt;br /&gt;
&lt;br /&gt;
== Un exemple ! un exemple ! un exemple... ==&lt;br /&gt;
&lt;br /&gt;
Comme mentionné précédemment, &#039;&#039;&#039;groff&#039;&#039;&#039; est présent sur votre ordinateur, et vous disposez déjà d&#039;exemples sources ! Il vous suffit par exemple d&#039;ouvrir un fichier de type man, pour cela, il vous suffit de choisir un petit exemple parmi les centaines de documentations man.&lt;br /&gt;
&lt;br /&gt;
=== Comment procéder ? ===&lt;br /&gt;
# Trouver l&#039;emplacement des sources des fichiers de documentations du système.&lt;br /&gt;
# Copier une commande dans votre répertoire de travail habituel.&lt;br /&gt;
# Décompresser le fichier.&lt;br /&gt;
# Ouvrir le fichier dans votre éditeur de texte habituel.&lt;br /&gt;
# Contempler...&lt;br /&gt;
&lt;br /&gt;
==== En pratique ====&lt;br /&gt;
Bien que je sois persuadé que la plupart d&#039;entre-vous ont directement &amp;quot;switché&amp;quot; en mode console et sont déjà en train de tripatouiller un fichier juste pour voir, je vous donne ici les grandes directions qui vous permettront de trouver ces fichiers.&lt;br /&gt;
==== Trouver les fichiers sources man ====&lt;br /&gt;
Vous pouvez les chercher à la main, en changeant de répertoire. Généralement, on les trouve dans les parages de &amp;lt;tt&amp;gt;/usr/man&amp;lt;/tt&amp;gt; ou encore &amp;lt;tt&amp;gt;/usr/share/man&amp;lt;/tt&amp;gt; ou encore &amp;lt;tt&amp;gt;/usr/local/man&amp;lt;/tt&amp;gt; et bien d&#039;autres endroits. &lt;br /&gt;
&lt;br /&gt;
Choisissez un répertoire parmi &#039;&#039;man1&#039;&#039;,&#039;&#039;man2&#039;&#039;,...,&#039;&#039;mann&#039;&#039; situés dans le répertoire &#039;&#039;/.../man/&#039;&#039; ou &#039;&#039;/.../man/fr/&#039;&#039;.&lt;br /&gt;
&amp;lt;code multi&amp;gt;&lt;br /&gt;
[mujma@localhost]#ls -l /usr/share/man&lt;br /&gt;
total 300&lt;br /&gt;
drwxr-xr-x   4 root root   4096 aoû 17 20:12 bg&lt;br /&gt;
drwxr-xr-x   2 root root   4096 aoû 17 20:26 cat1&lt;br /&gt;
drwxr-xr-x   2 root root   4096 aoû 17 20:26 cat5&lt;br /&gt;
drwxr-xr-x   5 root root   4096 aoû 17 20:12 cs&lt;br /&gt;
...&lt;br /&gt;
drwxr-xr-x  11 root man    4096 aoû 17 20:16 fr&lt;br /&gt;
...&lt;br /&gt;
drwxr-xr-x   2 root root  40960 nov 16 22:51 man1&lt;br /&gt;
drwxr-xr-x   2 root root   4096 jan  5  2004 man2&lt;br /&gt;
drwxr-xr-x   2 root root 114688 nov  8 08:47 man3&lt;br /&gt;
drwxr-xr-x   2 root root   4096 aoû 18 14:23 man4&lt;br /&gt;
drwxr-xr-x   2 root root   8192 nov 16 22:51 man5&lt;br /&gt;
drwxr-xr-x   2 root root   4096 aoû 17 20:20 man6&lt;br /&gt;
drwxr-xr-x   2 root root   4096 oct 20 18:20 man7&lt;br /&gt;
drwxr-xr-x   2 root root  12288 nov  2 15:07 man8&lt;br /&gt;
drwxr-xr-x   2 root root   4096 jan  5  2004 man9&lt;br /&gt;
drwxr-xr-x   2 root root   8192 aoû 17 20:29 mann&lt;br /&gt;
drwxr-xr-x   5 root root   4096 aoû 17 20:12 nl&lt;br /&gt;
...&lt;br /&gt;
drwxr-xr-x   4 root root   4096 aoû 17 20:12 sl&lt;br /&gt;
drwxr-xr-x   3 root root   4096 aoû 17 20:10 uk&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En listant le répertoire désiré on obtient donc la liste des commandes :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code multi&amp;gt;&lt;br /&gt;
[mujma@localhost]#ls -l /usr/share/man/fr/man1/&lt;br /&gt;
total 4036&lt;br /&gt;
-rw-r--r--  1 root man    962 jan 31  1999 3ds2m.1.bz2&lt;br /&gt;
-rw-r--r--  1 root man    967 jul 03  1999 3dsdump.1.bz2&lt;br /&gt;
-rw-r--r--  1 root man   1641 jun 13  2001 9wm.1.bz2&lt;br /&gt;
...&lt;br /&gt;
-rw-r--r--  1 root man   6531 aoû 10  2003 ls.1.bz2 &amp;lt;-------- On va copier ce fichier dans le répertoire $HOME&lt;br /&gt;
...&lt;br /&gt;
-rw-r--r--  1 root man   2251 apr 08  1989 zmore.1.bz2&lt;br /&gt;
-rw-r--r--  1 root man    751 apr 08  1989 znew.1.bz2&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enfin on peut copier le fichier et le décompresser :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code multi&amp;gt;&lt;br /&gt;
[mujma@localhost]#cp /usr/share/man/fr/man1/ls.1.bz2 $HOME&lt;br /&gt;
[mujma@localhost]#bunzip2 ls.1.bz2&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Ouvrir un exemple ====&lt;br /&gt;
Enfin, si on ouvre ce fichier dans un éditeur de texte on obtient :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code multi&amp;gt;&lt;br /&gt;
.\&amp;quot; Traduction 19/12/1996 par Christophe Blaess (ccb@club-internet.fr)&lt;br /&gt;
.\&amp;quot; màj 04/01/1999 - LDP man-pages 1.22&lt;br /&gt;
.\&amp;quot; màj 03/01/2000&lt;br /&gt;
.\&amp;quot; màj 26/06/2000 - LDP man-pages 1.30&lt;br /&gt;
.\&amp;quot; màj 30/05/2001 - LDP man-pages 1.36&lt;br /&gt;
.\&amp;quot; màj 22/10/2002 - LDP man-pages 1.53&lt;br /&gt;
.\&amp;quot; MàJ 25/07/2003 LDP-1.56&lt;br /&gt;
.TH LS 1L &amp;quot;25 juillet 2003&amp;quot; LDP &amp;quot;Manuel de l&#039;utilisateur Linux&amp;quot;&lt;br /&gt;
.SH NOM&lt;br /&gt;
ls, dir, vdir \- Afficher le contenu d&#039;un répertoire.&lt;br /&gt;
.SH SYNOPSIS&lt;br /&gt;
.BI &amp;quot;ls [&amp;quot; options &amp;quot;] [&amp;quot; fichier... ]&lt;br /&gt;
.br&lt;br /&gt;
.BI &amp;quot;dir [&amp;quot; fichier... ]&lt;br /&gt;
.br&lt;br /&gt;
.BI &amp;quot;vdir [&amp;quot; fichier... ]&lt;br /&gt;
.sp&lt;br /&gt;
Options POSIX :&lt;br /&gt;
.BI &amp;quot;[\-CFRacdilqrtu1] [\-\-]&amp;quot;&lt;br /&gt;
.sp&lt;br /&gt;
Options GNU (forme courte) :&lt;br /&gt;
.B [\-1abcdfgiklmnopqrstuvwxABCDFGHLNQRSUX]&lt;br /&gt;
.BI &amp;quot;[\-w &amp;quot; cols ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ... &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cette page documente la version de&lt;br /&gt;
.B ls&lt;br /&gt;
du paquetage fileutils-4.0. D&#039;autres versions peuvent diverger légèrement.&lt;br /&gt;
 &lt;br /&gt;
.SH TRADUCTION&lt;br /&gt;
Christophe Blaess, 1996-2003.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Faire un petit tour de groff ====&lt;br /&gt;
Avant de réellement comprendre la signification des codes étranges et barbares parfois situés en début de ligne, je vous invite maintenant à quitter votre éditeur pour rejoindre votre console.&lt;br /&gt;
&lt;br /&gt;
Nous allons maintenant faire quelques manipulations pratique sur le fichier ls.1 que nous avons recopié tout dernièrement dans notre répertoire de travail habituel.&lt;br /&gt;
&lt;br /&gt;
Tapez la commande suivante :&lt;br /&gt;
&amp;lt;code&amp;gt;[mujma@localhost]#groff -Tps -man ls.1 &amp;gt; ls.1.ps&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si groff est correctement installé (et il y a 99,9% de chances qu&#039;il le soit), vous devriez voir apparaître le fichier &amp;lt;tt&amp;gt;ls.1.ps&amp;lt;/tt&amp;gt; dans le répertoire courant.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez le visualiser avec n&#039;importe quel afficheur postscript.&lt;br /&gt;
&lt;br /&gt;
Maintenant nous allons faire encore plus fort ! Pour cela tapez la commande :&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[mujma@localhost]#groff -Thtml -man ls.1 &amp;gt; ls.1.html&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De manière identique à la commande précédente, vous venez de générer un fichier html. Ouvrez-le vite... Oui, c&#039;est bien la documentation au format html.&lt;br /&gt;
Vous pouvez procéder ainsi avec toutes les pages de manuel linux !&lt;br /&gt;
En fait, groff est un préprocesseur. Il permet de générer les formats suivants à partir d&#039;une seule source :&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;dvi&#039;&#039;&#039; :  Pour ceux qui connaissent, c&#039;est le format TeX/LaTeX DVI.&lt;br /&gt;
; &#039;&#039;&#039;html&#039;&#039;&#039; : c&#039;est le format bien connu dont le nom signifie Hyper Text Markup Language et non, contrairement à ce que certains sous entendent parfois Hautes Technologies Mais Limitées.&lt;br /&gt;
; &#039;&#039;&#039;lbp&#039;&#039;&#039; : Format CAPSL pour les imprimantes laser Canon de type lbp-4 ou lpb-8.&lt;br /&gt;
; &#039;&#039;&#039;lj4&#039;&#039;&#039; : Format PCL5 pour imprimantes HP et compatibles.&lt;br /&gt;
; &#039;&#039;&#039;ps&#039;&#039;&#039; : Du vrai postscript bien de chez nous !&lt;br /&gt;
; &#039;&#039;&#039;ascii&#039;&#039;&#039; : C&#039;est le format ASCII 7-Bits, je le testerai peut-être cet hiver s&#039;il y a de la neige.&lt;br /&gt;
; &#039;&#039;&#039;cp1047&#039;&#039;&#039; : Historiquement destiné à certains serveurs internet et autres mainframes qui n&#039;ont toujours pas étés concurrencés par un certain Bill G. qui impose au monde le cp1250 dans les clicodrômes vitrés depuis la version nonante cinq , mais aussi langage natif de l&#039;imprimante qui vous sert peut-être aujourd&#039;hui de bac à fleurs, ce format implémente le jeux de caractères latin-1 en EBCDIC.&lt;br /&gt;
; &#039;&#039;&#039;latin1&#039;&#039;&#039; : C&#039;est le jeu de caractères ISO 8859-1 utilisé par exemple pour afficher des symboles mystérieux appartenant à l&#039;obscur langage qu&#039;étaient le François et le Français. On notera au passage qu&#039;il offre aussi l&#039;avantage d&#039;afficher des messages en &amp;quot;verlan&amp;quot; et en &amp;quot;nique ta m...&amp;quot; ou encore &amp;quot;nique ta r...&amp;quot; dialectes évolués de notre époque concurrençant le &amp;quot;slang&amp;quot; parlé dans les prisons anglo-saxonnes.&lt;br /&gt;
; &#039;&#039;&#039;utf8&#039;&#039;&#039; : C&#039;est le jeu de caractères Unicode UTF-8, similaire à celui du bios de votre machine.&lt;br /&gt;
&lt;br /&gt;
== groff et ses environnements ==&lt;br /&gt;
&lt;br /&gt;
Si l&#039;on se réfère à l&#039;invocation de &#039;&#039;&#039;groff&#039;&#039;&#039; dans l&#039;exemple précédent, groff est invoqué avec 3 paramètres en ligne de commande.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;groff -Thtml -m man ls.1 &amp;gt; ls.1.html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
de manière plus générale on peut invoquer groff de la manière suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;groff -T&#039;&amp;lt;format_sortie&amp;gt;&#039; -m &#039;&amp;lt;format_entrée&amp;gt;&#039; &amp;gt; ls.1.html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&amp;lt;format_sortie&amp;gt;&#039; correspond aux formats de sorties évoqués précédemment.&lt;br /&gt;
&lt;br /&gt;
&#039;&amp;lt;format_entrée&amp;gt;&#039; correspond au format utilisé pour écrire le source.&lt;br /&gt;
&lt;br /&gt;
Pour groff un format de sortie ou un format d&#039;entrée n&#039;est ni plus ni moins qu&#039;un ensemble de macros correspondant à des environnements.&lt;br /&gt;
&lt;br /&gt;
On trouve généralement les environnements (ou format d&#039;entrée) suivants avec le paquet groff :&lt;br /&gt;
&lt;br /&gt;
Les environnement macro dédiés au système de documentation :&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;man&#039;&#039;&#039; : format traditionnel des pages de manuel.&lt;br /&gt;
; &#039;&#039;&#039;mdoc&#039;&#039;&#039; : format BSD des pages de manuel.&lt;br /&gt;
; &#039;&#039;&#039;mandoc&#039;&#039;&#039; : cet environnement encapsule man et mdoc et permet de reconnaître le format du fichier d&#039;origine automatiquement.&lt;br /&gt;
&lt;br /&gt;
Pour des documents plus courants :&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;me&#039;&#039;&#039;, &#039;&#039;&#039;mm&#039;&#039;&#039; et &#039;&#039;&#039;ms&#039;&#039;&#039; : des environnements de génération de documents plus classiques (livres, rapports...).&lt;br /&gt;
&lt;br /&gt;
Pour générer des pages Web :&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;www&#039;&#039;&#039; : pour générer des documents &#039;HTML&#039;.&lt;br /&gt;
&lt;br /&gt;
== Où peut-on trouver des informations sur groff ==&lt;br /&gt;
&lt;br /&gt;
Les sites suivants vous apporterons diverses ressources pour &#039;&#039;&#039;groff&#039;&#039;&#039;:&lt;br /&gt;
* http://www.gnu.org/software/groff/groff.html&lt;br /&gt;
* http://www.troff.org/&lt;br /&gt;
* http://www.kohala.com/start/troff/troff.html&lt;br /&gt;
&lt;br /&gt;
{{Copy|2005|Marc UJMA|CC-BY-SA}}&lt;/div&gt;</summary>
		<author><name>Evilash</name></author>
	</entry>
</feed>