aboutsummaryrefslogtreecommitdiff
path: root/fr_FR.ISO_8859-1
diff options
context:
space:
mode:
authorNik Clayton <nik@FreeBSD.org>1999-11-10 21:29:15 +0000
committerNik Clayton <nik@FreeBSD.org>1999-11-10 21:29:15 +0000
commit0f9e3260d70b88672037b1ccf761db8079500840 (patch)
treef8ad8659aabb0980cf651bc5b5bfdf2d9b8337cb /fr_FR.ISO_8859-1
parent212679edca0d1e666ee1cffbbd82e2ddba57c69a (diff)
downloaddoc-0f9e3260d70b88672037b1ccf761db8079500840.tar.gz
doc-0f9e3260d70b88672037b1ccf761db8079500840.zip
French translation tree, meet CVS, CVS, this is the French translation
tree. A round of applause, please, for Sebastien Gioria, Frederic Haby, and the other volunteers on the French FreeBSD Documentation Project. I haven't turned this on in the top level Makefile yet because I've almost certainly missed something. I want to be able to grab a copy of the tree after I've committed it and build it from scratch to make sure everything works before I break the website. . .
Notes
Notes: svn path=/head/; revision=6043
Diffstat (limited to 'fr_FR.ISO_8859-1')
-rw-r--r--fr_FR.ISO_8859-1/Makefile9
-rw-r--r--fr_FR.ISO_8859-1/articles/Makefile24
-rw-r--r--fr_FR.ISO_8859-1/articles/Makefile.inc9
-rw-r--r--fr_FR.ISO_8859-1/articles/diskless-x/Makefile20
-rw-r--r--fr_FR.ISO_8859-1/articles/diskless-x/article.sgml298
-rw-r--r--fr_FR.ISO_8859-1/articles/fonts/Makefile20
-rwxr-xr-xfr_FR.ISO_8859-1/articles/fonts/article.sgml775
-rw-r--r--fr_FR.ISO_8859-1/articles/formatting-media/Makefile20
-rwxr-xr-xfr_FR.ISO_8859-1/articles/formatting-media/article.sgml557
-rw-r--r--fr_FR.ISO_8859-1/articles/ip-aliasing/Makefile20
-rwxr-xr-xfr_FR.ISO_8859-1/articles/ip-aliasing/article.sgml277
-rw-r--r--fr_FR.ISO_8859-1/articles/make-world/Makefile20
-rwxr-xr-xfr_FR.ISO_8859-1/articles/make-world/article.sgml1376
-rw-r--r--fr_FR.ISO_8859-1/articles/mh/Makefile20
-rw-r--r--fr_FR.ISO_8859-1/articles/mh/article.sgml744
-rw-r--r--fr_FR.ISO_8859-1/articles/multi-os/Makefile20
-rwxr-xr-xfr_FR.ISO_8859-1/articles/multi-os/article.sgml700
-rw-r--r--fr_FR.ISO_8859-1/articles/new-users/Makefile20
-rwxr-xr-xfr_FR.ISO_8859-1/articles/new-users/article.sgml827
-rw-r--r--fr_FR.ISO_8859-1/articles/ntfs/Makefile20
-rw-r--r--fr_FR.ISO_8859-1/articles/ntfs/article.sgml490
-rw-r--r--fr_FR.ISO_8859-1/articles/ppp/Makefile20
-rwxr-xr-xfr_FR.ISO_8859-1/articles/ppp/article.sgml1894
-rw-r--r--fr_FR.ISO_8859-1/articles/programming-tools/Makefile20
-rwxr-xr-xfr_FR.ISO_8859-1/articles/programming-tools/article.sgml2001
-rw-r--r--fr_FR.ISO_8859-1/books/Makefile15
-rw-r--r--fr_FR.ISO_8859-1/books/Makefile.inc9
-rw-r--r--fr_FR.ISO_8859-1/books/faq/Makefile45
-rw-r--r--fr_FR.ISO_8859-1/books/faq/acknowledgments.sgml92
-rw-r--r--fr_FR.ISO_8859-1/books/faq/admin.sgml893
-rw-r--r--fr_FR.ISO_8859-1/books/faq/applications.sgml149
-rw-r--r--fr_FR.ISO_8859-1/books/faq/book.sgml93
-rw-r--r--fr_FR.ISO_8859-1/books/faq/commercial.sgml254
-rw-r--r--fr_FR.ISO_8859-1/books/faq/hackers.sgml299
-rw-r--r--fr_FR.ISO_8859-1/books/faq/hardware.sgml478
-rw-r--r--fr_FR.ISO_8859-1/books/faq/includes.sgml10
-rw-r--r--fr_FR.ISO_8859-1/books/faq/install.sgml860
-rw-r--r--fr_FR.ISO_8859-1/books/faq/kernelconfig.sgml147
-rw-r--r--fr_FR.ISO_8859-1/books/faq/misc.sgml353
-rw-r--r--fr_FR.ISO_8859-1/books/faq/network.sgml1588
-rw-r--r--fr_FR.ISO_8859-1/books/faq/preface.sgml785
-rw-r--r--fr_FR.ISO_8859-1/books/faq/serial.sgml626
-rw-r--r--fr_FR.ISO_8859-1/books/faq/troubleshoot.sgml640
-rw-r--r--fr_FR.ISO_8859-1/books/faq/x.sgml475
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/Makefile67
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/advanced-networking/chapter.sgml1124
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/backups/chapter.sgml774
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/basics/chapter.sgml163
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/bibliography/chapter.sgml498
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/book.sgml142
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/chapter.decl1
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/chapters.ent53
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/contrib/chapter.sgml5888
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/cutting-edge/chapter.sgml2628
-rwxr-xr-xfr_FR.ISO_8859-1/books/handbook/disks/chapter.sgml191
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/eresources/chapter.sgml1357
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/hw/chapter.sgml5780
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/in-progress.sgml9
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/install/chapter.sgml1298
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/internals/chapter.sgml2141
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/introduction/chapter.sgml727
-rwxr-xr-xfr_FR.ISO_8859-1/books/handbook/kernelconfig/chapter.sgml1876
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/kerneldebug/chapter.sgml682
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/kernelopts/chapter.sgml200
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/l10n/chapter.sgml376
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/linuxemu/chapter.sgml973
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/mail/chapter.sgml653
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/mailing-lists.ent110
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/mirrors/chapter.sgml1420
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/pgpkeys/chapter.sgml627
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/policies/chapter.sgml404
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/ports/chapter.sgml5197
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/ppp-and-slip/chapter.sgml2783
-rwxr-xr-xfr_FR.ISO_8859-1/books/handbook/printing/chapter.sgml5375
-rwxr-xr-xfr_FR.ISO_8859-1/books/handbook/quotas/chapter.sgml284
-rwxr-xr-xfr_FR.ISO_8859-1/books/handbook/security/chapter.sgml1894
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/serialcomms/chapter.sgml2351
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/staff/chapter.sgml859
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/todo.sgml9
-rw-r--r--fr_FR.ISO_8859-1/books/handbook/x11/chapter.sgml29
-rw-r--r--fr_FR.ISO_8859-1/share/sgml/abstract.ent15
-rw-r--r--fr_FR.ISO_8859-1/share/sgml/artheader.ent14
-rw-r--r--fr_FR.ISO_8859-1/share/sgml/bookinfo.ent16
-rw-r--r--fr_FR.ISO_8859-1/share/sgml/copyright.sgml13
-rw-r--r--fr_FR.ISO_8859-1/share/sgml/disclaimer.sgml19
-rw-r--r--fr_FR.ISO_8859-1/share/sgml/legalnotice.sgml14
-rw-r--r--fr_FR.ISO_8859-1/share/sgml/license.sgml27
-rw-r--r--fr_FR.ISO_8859-1/share/sgml/translators.ent46
-rw-r--r--fr_FR.ISO_8859-1/share/sgml/urls.ent22
89 files changed, 67141 insertions, 0 deletions
diff --git a/fr_FR.ISO_8859-1/Makefile b/fr_FR.ISO_8859-1/Makefile
new file mode 100644
index 0000000000..1097bbc7d9
--- /dev/null
+++ b/fr_FR.ISO_8859-1/Makefile
@@ -0,0 +1,9 @@
+# $FreeBSD$
+
+SUBDIR = articles
+SUBDIR+= books
+
+COMPAT_SYMLINK = fr
+
+DOC_PREFIX?= ${.CURDIR}/..
+.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/fr_FR.ISO_8859-1/articles/Makefile b/fr_FR.ISO_8859-1/articles/Makefile
new file mode 100644
index 0000000000..ab5bfabee6
--- /dev/null
+++ b/fr_FR.ISO_8859-1/articles/Makefile
@@ -0,0 +1,24 @@
+#
+# The FreeBSD Documentation Project
+# The FreeBSD French Documentation Project
+#
+# $FreeBSD$
+# Original revision: 1.3
+#
+
+SUBDIR = diskless-x
+SUBDIR+= fonts
+SUBDIR+= formatting-media
+SUBDIR+= ip-aliasing
+SUBDIR+= make-world
+SUBDIR+= mh
+SUBDIR+= multi-os
+SUBDIR+= new-users
+SUBDIR+= ntfs
+SUBDIR+= ppp
+SUBDIR+= programming-tools
+
+ROOT_SYMLINKS+= new-users
+
+DOC_PREFIX?= ${.CURDIR}/../..
+.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/fr_FR.ISO_8859-1/articles/Makefile.inc b/fr_FR.ISO_8859-1/articles/Makefile.inc
new file mode 100644
index 0000000000..3e2eea4dc7
--- /dev/null
+++ b/fr_FR.ISO_8859-1/articles/Makefile.inc
@@ -0,0 +1,9 @@
+#
+# The FreeBSD Documentation Project
+# The FreeBSD French Documentation Project
+#
+# $FreeBSD$
+# Original revision: 1.2
+#
+
+DESTDIR?= ${DOCDIR}/fr_FR.ISO_8859-1/books/${.CURDIR:T}
diff --git a/fr_FR.ISO_8859-1/articles/diskless-x/Makefile b/fr_FR.ISO_8859-1/articles/diskless-x/Makefile
new file mode 100644
index 0000000000..72c1d9b8c9
--- /dev/null
+++ b/fr_FR.ISO_8859-1/articles/diskless-x/Makefile
@@ -0,0 +1,20 @@
+#
+# The FreeBSD Documentation Project
+# The FreeBSD French Documentation Project
+#
+# $FreeBSD$
+# Original revision: 1.4
+#
+
+DOC?= article
+
+FORMATS?= html
+
+INSTALL_COMPRESSED?=gz
+INSTALL_ONLY_COMPRESSED?=
+
+SRCS= article.sgml
+
+DOC_PREFIX?= ${.CURDIR}/../../..
+
+.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/fr_FR.ISO_8859-1/articles/diskless-x/article.sgml b/fr_FR.ISO_8859-1/articles/diskless-x/article.sgml
new file mode 100644
index 0000000000..fdbd117e7c
--- /dev/null
+++ b/fr_FR.ISO_8859-1/articles/diskless-x/article.sgml
@@ -0,0 +1,298 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+<!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN" [
+<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> %man;
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES Common Document URL Entities//FR"> %urls;
+<!ENTITY % abstract PUBLIC "-//FreeBSD//ENTITIES DocBook Abstract Entities//FR"> %abstract;
+<!ENTITY % artheader PUBLIC "-//FreeBSD//ENTITIES DocBook ArtHeader Entities//FR"> %artheader;
+<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//FR"> %translators;
+
+<!ENTITY % authors SYSTEM "../../../en_US.ISO_8859-1/books/handbook/authors.ent"> %authors;
+<!ENTITY % mailing-lists SYSTEM "../../books/handbook/mailing-lists.ent"> %mailing-lists;
+ <!ENTITY rel.current CDATA "3.2">
+]>
+
+<article lang="fr">
+ <artheader>
+ <title>Mise en oeuvre d'un terminal X sans disque dur</title>
+
+ <authorgroup>
+ <author>
+ <firstname> Jerry</firstname>
+ <surname>Kendall</surname>
+ <affiliation>
+ <address>
+ <email>jerry@kcis.com</email>
+ </address>
+ </affiliation>
+ </author></authorgroup>
+
+ <pubdate>28 D&eacute;cembre 1996</pubdate>
+
+ <copyright>
+ <year>1996</year>
+ <holder>Jerry Kendall</holder>
+ </copyright>
+
+ <abstract>
+ <para>Avec l'aide de quelques amis de la &a.hackers;, j'ai pu mettre en service un terminal X sans disque dur. Pour cela, j'ai d'abord d&ucirc; installer une station sans disque qui dispose d'un minimum d'utilitaires mont&eacute;s par NFS. J'ai r&eacute;p&eacute;t&eacute; l'op&eacute;ration pour disposer de deux syst&egrave;mes sans disque. Pour les deux, j'ai proc&eacute;d&eacute; de la m&ecirc;me fa&ccedil;on. Le premier est <hostid role="fqdn">altair.kcis.com</hostid>. C'est un terminal X sur mon vieux 386DX-40. Il a bien un disque dur de 340 Mo, mais je ne voulais pas y toucher. Il d&eacute;marre donc &agrave; partir de <hostid role="fqdn">antares.kcis.com</hostid> sur le r&eacute;seau Ethernet. Le second est un 486DX2-66. J'ai install&eacute; un syst&egrave;me FreeBSD (complet) qui n'utilise pas de disque local. Le serveur de d&eacute;marrage est un Sun 670MP sous SunOs 4.1.3. Les deux syst&egrave;mes FreeBSD sont configur&eacute;s de la m&ecirc;me fa&ccedil;on.</para>
+
+ <para>Je suis s&ucirc;r qu'il y a des choses &agrave; ajouter &agrave; ce document. Faites-moi s'il vous pla&icirc;t part de vos commentaires.</para>
+
+ &abstract.license;
+ &abstract.disclaimer;
+ &trans.a.haby;
+ </abstract>
+ </artheader>
+
+ <sect1>
+ <title>Pr&eacute;paration de la disquette de d&eacute;marrage (sur le syst&egrave;me sans disque)</title>
+
+ <para>Les gestionnaires de d&eacute;marrage via le r&eacute;seau ne sont pas compatibles avec les TSRs et autres qu'utilise MS-DOS, il est pr&eacute;f&eacute;rable de pr&eacute;parer une disquette de d&eacute;marrage, ou, si vous le pouvez, de mettre en place un menu MS-DOS qui (par l'interm&eacute;diaire des fichiers <filename>config.sys</filename>/<filename>autoexec.bat</filename>) vous demande au d&eacute;marrage quelle configuration charger. C'est cette derni&egrave;re m&eacute;thode que j'ai utilis&eacute;e et elle fonctionne &agrave; merveille. Voici mon menu MS-DOS&nbsp;:</para>
+
+ <example>
+ <title><filename>config.sys</filename></title>
+
+ <programlisting>[menu]
+menuitem=normal, normal
+menuitem=unix, unix
+[normal]
+....
+config.sys habituel
+...
+[unix]</programlisting>
+ </example>
+
+ <example>
+ <title><filename>autoexec.bat</filename></title>
+
+ <programlisting>@ECHO OFF
+goto %config%
+
+:normal
+...
+autoexec.bat habituel
+...
+goto end
+
+:unix
+cd \netboot
+nb8390.com
+
+:end</programlisting>
+ </example>
+ </sect1>
+
+ <sect1>
+ <title>G&eacute;n&eacute;rer les programmes de d&eacute;marrage en r&eacute;seau (sur le serveur)</title>
+
+ <para>Compilez les programmes de &ldquo;d&eacute;marrage en r&eacute;seau&rdquo; que vous trouverez dans <filename>/usr/src/sys/i386/boot/netboot</filename>. Lisez les commentaires au d&eacute;but du <filename>Makefile</filename>. Faites les modifications n&eacute;cessaires. Faites une sauvegarde de l'original, pour vous pr&eacute;munir en cas de probl&egrave;mes. Apr&egrave;s compilation, vous devriez obtenir deux ex&eacute;cutables, <filename>nb8390.com</filename> et <filename>nb3c509.com</filename>. C'est l'un de ces programmes que vous devrez ex&eacute;cuter sur la machine sans disque. Il chargera le noyau depuis le serveur de d&eacute;marrage. Recopiez alors ces deux programmes sur la disquette de d&eacute;marrage que vous avez cr&eacute;&eacute;e auparavant.</para>
+ </sect1>
+
+ <sect1>
+ <title>D&eacute;terminer le programme &agrave; utiliser (sur la machine sans disque)</title>
+
+ <para>Si vous savez quel composant utilise votre carte Ethernet, c'est facile. Si vous avez un circuit NS8390 ou &eacute;quivalent, servez vous de <filename>nb8390.com</filename>. Si vous avez un circuit de type 3Com 509, utilisez le programme de d&eacute;marrage <filename>nb3C509.com</filename>. Si vous ne savez pas, essayez l'un et si vous avez le message &ldquo;<errorname>No adapter found</errorname>&rdquo;, essayez avec l'autre. Si rien ne marche, vous &ecirc;tes livr&eacute; &agrave; vous-m&ecirc;me.</para>
+ </sect1>
+
+ <sect1>
+ <title>D&eacute;marrer en r&eacute;seau</title>
+
+ <para>D&eacute;marrez la station sans disque sans fichiers <filename>config.sys/autoexec.bat</filename>. Essayez d'ex&eacute;cuter le programme de d&eacute;marrage qui correspond &agrave; votre carte Ethernet.</para>
+
+ <para>Ma carte Ethernet utilise le mode 16bit WD8013 16bit, j'ex&eacute;cute donc
+ <filename>nb8390.com</filename>&nbsp;:</para>
+
+ <screen><prompt>C:&gt;</prompt> <userinput>cd \netboot</userinput>
+<prompt>C:&gt</prompt> <userinput>nb8390</userinput>
+
+<prompt>Boot from Network (Y/N) ?</prompt> <userinput>Y</userinput>
+
+BOOTP/TFTP/NFS bootstrap loader ESC for menu
+
+Searching for adapter..
+WD8013EBT base 0x0300, memory 0x000D8000, addr 00:40:01:43:26:66
+
+Searching for server...</screen>
+
+ <para>La machine sans disque essaye maintenant de trouver un serveur de d&eacute;marrage. Notez la valeur de <literal>addr</literal> sur l'avant derni&egrave;re ligne, vous en aurez besoin ensuire. Red&eacute;marrez la machine sans disque et modifiez vos
+fichiers <filename>config.sys</filename> et <filename>autoexec.bat</filename> pour qu'ils fassent automatiquement ce que vous venez de faire &agrave; la main. Peut-&ecirc;tre avec un menu. Si vous aviez d&ucirc; utiliser <command>nb3c509.com</command> au lieu de <command>nb8390.com</command>, les messages seraient identiques. Si vous obtenez le message &ldquo;<errorname>No adapter found</errorname>&rdquo; apr&egrave;s &ldquo;<literal>Searching for adapter...</literal>&rdquo;, v&eacute;rifiez que vous avez d&eacute;fini les bonnes valeurs dans le <filename>Makefile</filename> au moment de compiler.</para>
+ </sect1>
+
+ <sect1>
+ <title>Permettre aux syst&egrave;mes de d&eacute;marrer via le r&eacute;seau (sur le serveur)</title>
+
+ <para>V&eacute;rifiez qu'il y a bien des entr&eacute;es pour <citerefentry><refentrytitle>tftp</refentrytitle></citerefentry> et <citerefentry><refentrytitle>bootps</refentrytitle></citerefentry> dans le fichier <filename>/etc/inetd.conf</filename>. Voici le mien&nbsp;:</para>
+
+ <programlisting>tftp dgram udp wait nobody /usr/libexec/tftpd tftpd
+#
+# Ajout de qui que vous soyez
+bootps dgram udp wait root /usr/libexec/bootpd bootpd /etc/bootptab</programlisting>
+
+ <para>Si vous devez modifier le fichier <filename>/etc/inetd.conf</filename>, envoyez ensuite un signal <literal>HUP</literal> &agrave; <citerefentry><refentrytitle>inetd</refentrytitle></citerefentry>. Pour cela, utilisez la commande <command>ps -ax | grep inetd | grep -v grep</command> pour conna&icirc;tre le num&eacute;ro de processus d'<citerefentry><refentrytitle>inetd</refentrytitle></citerefentry>. Une fois que vous l'avez, envoyez lui le signal HUP. Cela se fait avec <command>kill -HUP &lt;pid&gt;</command>. Cela obligera <citerefentry><refentrytitle>inetd</refentrytitle></citerefentry> &agrave; relire ses fichiers de configuration.</para>
+
+ <para>Vous avez bien not&eacute; la valeur de <literal>addr</literal> dans les messages du programme de d&eacute;marrage sur la machine sans disque&nbsp;? C'est maintenant que vous allez en avoir besoin.</para>
+
+ <para>Ajoutez une entr&eacute;e &agrave; <literal>/etc/bootptab</literal> (vous devrez peut-&ecirc;tre cr&eacute;er ce fichier). Voici &agrave; quoi elle doit ressembler&nbsp;:</para>
+
+ <programlisting>altair:\
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:ht=ether:\
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:ha=004001432666:\
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:sm=255.255.255.0:\
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:hn:\
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:ds=199.246.76.1:\
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:ip=199.246.76.2:\
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:gw=199.246.76.1:\
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:vm=rfc1048:</programlisting>
+
+ <para>Ce qui, ligne par ligne, signifie&nbsp;:</para>
+
+ <informaltable frame="none">
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry><literal>altair</literal></entry>
+ <entry>nom du syst&egrave;me sans disque, sans nom de domaine</entry>
+ </row>
+
+ <row>
+ <entry><literal>ht=ether</literal></entry>
+ <entry>type mat&eacute;riel &ldquo;ethernet&rdquo;</entry>
+ </row>
+
+ <row>
+ <entry><literal>ha=004001432666</literal></entry>
+ <entry>adresse mat&eacute;rielle (le nombre que vous avez not&eacute; auparavant)</entry>
+ </row>
+
+ <row>
+ <entry><literal>sm=255.255.255.0</literal></entry>
+ <entry>masque de sous-r&eacute;seau</entry>
+ </row>
+
+ <row>
+ <entry><literal>hn</literal></entry>
+ <entry>dit au serveur de donner au client son nom de machine</entry>
+ </row>
+
+ <row>
+ <entry><literal>ds=199.246.76.1</literal></entry>
+ <entry>dit au client quel est son serveur de noms de domaine</entry>
+ </row>
+
+ <row>
+ <entry><literal>ip=199.246.76.2</literal></entry>
+ <entry>dit au client quelle est son adresse IP</entry>
+ </row>
+
+ <row>
+ <entry><literal>gw=199.246.76.1</literal></entry>
+ <entry>dit au client quelle est sa passerelle par d&eacute;faut</entry>
+ </row>
+
+ <row>
+ <entry><literal>vm=...</literal></entry>
+ <entry>laissez cela tel que</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <note>
+ <para>Veillez &agrave; bien d&eacute;finir les adresses IP, j'ai invent&eacute; celles de l'exemple.</para>
+
+ </note>
+
+ <para>Cr&eacute;ez le r&eacute;pertoire <filename>/tftpboot</filename> sur le serveur. Il contiendra les fichiers de configuration pour les syst&egrave;mes sans disque dont ce sera le serveur de d&eacute;marrage. Ces fichiers s'appeleront <filename>cfg.&lt;ip&gt;</filename>, o&ugrave; &lt;ip&gt; est l'adresse IP de la machine sans disque. Le fichier de configuration pour &ldquo;altair&rdquo; est <filename>/tftpboot/cfg.199.246.76.2</filename>. Voici son contenu&nbsp;:</para>
+
+ <programlisting>rootfs 199.246.76.1:/DiskLess/rootfs/altair
+hostname altair.kcis.com</programlisting>
+
+ <para>La ligne <literal>hostname altair.kcis.com</literal> indique seulement au syst&egrave;me sans disque quel est son nom qualifi&eacute;.</para>
+
+ <para>La ligne <literal>rootfs 199.246.76.1:/DiskLess/rootfs/altair</literal> lui dit o&ugrave; est son syst&egrave;me de fichiers racine qui sera mont&eacute; par NFS.</para>
+
+ <note>
+ <para>Ce syst&egrave;me de fichiers racine sera mont&eacute; en <emphasis>lecture seule</emphasis> par NFS.</para>
+ </note>
+
+ <para>L'arborescence de la machine sans disque peut ensuite &ecirc;tre remont&eacute;e pour autoriser les op&eacute;rations de lecture/&eacute;criture.</para>
+
+ <para>J'utilise mon 386DX-40 comme terminal X d&eacute;di&eacute;.</para>
+
+ <para>Voici l'arborescence d'&ldquo;altair&rdquo;&nbsp;:</para>
+
+ <literallayout>/
+/bin
+/etc
+/tmp
+/sbin
+/dev
+/dev/fd
+/usr
+/var
+/var/run</literallayout>
+
+ <para>Et la liste des fichiers qu'elle contient&nbsp;:</para>
+
+ <screen>-r-xr-xr-x 1 root wheel 779984 Dec 11 23:44 ./kernel
+-r-xr-xr-x 1 root bin 299008 Dec 12 00:22 ./bin/sh
+-rw-r--r-- 1 root wheel 499 Dec 15 15:54 ./etc/rc
+-rw-r--r-- 1 root wheel 1411 Dec 11 23:19 ./etc/ttys
+-rw-r--r-- 1 root wheel 157 Dec 15 15:42 ./etc/hosts
+-rw-r--r-- 1 root bin 1569 Dec 15 15:26 ./etc/XF86Config.altair
+-r-x------ 1 bin bin 151552 Jun 10 1995 ./sbin/init
+-r-xr-xr-x 1 bin bin 176128 Jun 10 1995 ./sbin/ifconfig
+-r-xr-xr-x 1 bin bin 110592 Jun 10 1995 ./sbin/mount_nfs
+-r-xr-xr-x 1 bin bin 135168 Jun 10 1995 ./sbin/reboot
+-r-xr-xr-x 1 root bin 73728 Dec 13 22:38 ./sbin/mount
+-r-xr-xr-x 1 root wheel 1992 Jun 10 1995 ./dev/MAKEDEV.local
+-r-xr-xr-x 1 root wheel 24419 Jun 10 1995 ./dev/MAKEDEV</screen>
+
+ <para>N'oubliez pas d'ex&eacute;cuter <command>MAKEDEV all</command> dans le r&eacute;pertoire <filename>dev</filename>.</para>
+
+ <para>Voici enfin mon <filename>/etc/rc</filename> pour <hostid>altair</hostid>&nbsp;:</para>
+
+<programlisting>#!/bin/sh
+#
+PATH=/bin:/
+export PATH
+#
+# configurer l'interface &ldquo;en boucle&rdquo;
+/sbin/ifconfig lo0 127.0.0.1
+#
+# configurer la carte Ethernet
+/sbin/ifconfig ed0 199.246.76.2 netmask 0xffffff00
+#
+# monter le syst&egrave;me de fichiers racine via NFS
+/sbin/mount antares:/DiskLess/rootfs/altair /
+#
+# monter le syst&egrave;me de fichiers /usr via NFS
+/sbin/mount antares:/DiskLess/usr /usr
+#
+/usr/X11R6/bin/XF86_SVGA -query antares -xf86config /etc/XF86Config.altair > /dev/null 2>&1
+#
+# R&eacute;demarrer lorsque l'on quitte X
+/sbin/reboot
+#
+# Nous avons plant&eacute; ...
+exit 1</programlisting>
+
+ <para>Vos commentaires et questions sont bienvenus.</para>
+ </sect1>
+</article>
+
+<!--
+ Local Variables:
+ mode: sgml
+ sgml-indent-data: t
+ sgml-omittag: nil
+ sgml-always-quote-attributes: t
+ End:
+-->
diff --git a/fr_FR.ISO_8859-1/articles/fonts/Makefile b/fr_FR.ISO_8859-1/articles/fonts/Makefile
new file mode 100644
index 0000000000..72c1d9b8c9
--- /dev/null
+++ b/fr_FR.ISO_8859-1/articles/fonts/Makefile
@@ -0,0 +1,20 @@
+#
+# The FreeBSD Documentation Project
+# The FreeBSD French Documentation Project
+#
+# $FreeBSD$
+# Original revision: 1.4
+#
+
+DOC?= article
+
+FORMATS?= html
+
+INSTALL_COMPRESSED?=gz
+INSTALL_ONLY_COMPRESSED?=
+
+SRCS= article.sgml
+
+DOC_PREFIX?= ${.CURDIR}/../../..
+
+.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/fr_FR.ISO_8859-1/articles/fonts/article.sgml b/fr_FR.ISO_8859-1/articles/fonts/article.sgml
new file mode 100755
index 0000000000..146bd45422
--- /dev/null
+++ b/fr_FR.ISO_8859-1/articles/fonts/article.sgml
@@ -0,0 +1,775 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+<!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN" [
+<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> %man;
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES Common Document URL Entities//FR"> %urls;
+<!ENTITY % abstract PUBLIC "-//FreeBSD//ENTITIES DocBook Abstract Entities//FR"> %abstract;
+<!ENTITY % artheader PUBLIC "-//FreeBSD//ENTITIES DocBook ArtHeader Entities//FR"> %artheader;
+<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//FR"> %translators;
+
+<!ENTITY % authors SYSTEM "../../../en_US.ISO_8859-1/books/handbook/authors.ent"> %authors;
+<!ENTITY % mailing-lists SYSTEM "../../books/handbook/mailing-lists.ent"> %mailing-lists;
+ <!ENTITY rel.current CDATA "3.2">
+]>
+
+<article lang="fr">
+ <artheader>
+ <title>FreeBSD et les polices de caract&egrave;res</title>
+ <subtitle>Un guide utilisateur</subtitle>
+ <authorgroup>
+ <author>
+ <firstname>Dave</firstname>
+ <surname>Bodenstab</surname>
+ </author>
+ </authorgroup>
+ &artheader.copyright;
+ <abstract>
+ <para><email>imdave@synet.net</email></para>
+ <para>Mercredi 7 Aout 1996</para>
+ <para>Ce document d&eacute;crit les diff&eacute;rents fichiers de polices de caract&egrave;res
+ qui peuvent &ecirc;tre utilis&eacute;s avec FreeBSD et le pilote syscons, X11,
+ GhostScript et Groff. Des exemples imm&eacute;diatement applicables sont donn&eacute;s
+ pour passer l'affichage &agrave; la console en mode 80x60 et pour se servir des
+ polices &ldquo;Type 1&rdquo; avec les programmes d'application
+ pr&eacute;cit&eacute;s.</para>
+ &abstract.license;
+ &abstract.disclaimer;
+ &trans.a.haby;
+ </abstract>
+ </artheader>
+ <sect1>
+ <title>Introduction</title>
+ <para>Il y a de nombreuses sources de polices de caract&egrave;res disponibles,
+ et l'on peut se demander comment les utiliser avec FreeBSD. La
+ r&eacute;ponse peut &ecirc;tre obtenue en d&eacute;taillant attentivement la
+ documentation du composant voulu. Cela peut prendre beaucoup de
+ temps, ce guide essaie donc de fournir un raccourci pour les autres
+ personnes que cela int&eacute;resserait.</para>
+ </sect1>
+ <sect1>
+ <title>Terminologie &eacute;l&eacute;mentaire</title>
+ <para>Il y a de nombreux formats de polices de caract&egrave;res avec chacun
+ son propre suffixe de nom de fichier. Quelques uns d'entre eux
+ seront discut&eacute;s dans ce document:</para>
+ <variablelist>
+ <varlistentry>
+ <term><filename>.pfa</filename>, <filename>.pfb</filename></term>
+ <listitem>
+ <para>Polices PostScript &ldquo;Type 1&rdquo;.
+ <filename>.pfa</filename> est le format <emphasis>A</emphasis>scii
+ et <filename>.pfb</filename> le format
+ <emphasis>B</emphasis>inaire.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>.afm</filename></term>
+ <listitem>
+ <para>Le fichier de dimensions d'une police
+ &ldquo;Type 1&rdquo;.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>.pfm</filename></term>
+ <listitem>
+ <para>Le fichier de dimensions pour l'impression d'une police
+ &ldquo;Type 1&rdquo;.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>.ttf</filename></term>
+ <listitem>
+ <para>Police &ldquo;True Type&rdquo;.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>.fot</filename></term>
+ <listitem>
+ <para>R&eacute;f&eacute;rence indirecte &agrave; une police &ldquo;True Type&rdquo; (ce
+ n'est pas la police elle-m&ecirc;me).</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>.fon</filename>, <filename>.fnt</filename></term>
+ <listitem>
+ <para>Police de caract&egrave;res &ldquo;bitmap&rdquo; pour affichage &agrave;
+ l'&eacute;cran.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>Les fichiers <filename>.fot</filename> sont employ&eacute;s par Windows un
+ peu de la m&ecirc;me fa&ccedil;on que des liens symboliques vers le fichiers de police
+ &ldquo;True Type&rdquo; (<filename>.ttf</filename>). Les fichiers
+ <filename>.fon</filename> sont aussi utilis&eacute;s par Windows. Je ne
+ connais pas de moyen de se servir de ces fichiers avec FreeBSD.</para>
+ </sect1>
+ <sect1>
+ <title>Quels formats de polices de caract&egrave;res puis-je utiliser?</title>
+ <para>Le format de fichier de police de caract&egrave;res utile d&eacute;pend de
+ l'application. FreeBSD lui-m&ecirc;me n'utilise pas de police de
+ caract&egrave;res. Ce sont les programmes d'application et/ou les pilotes
+ qui se servent &eacute;ventuellement de ces fichiers. Voici un petit tableau
+ associant application/pilote de p&eacute;riph&eacute;rique et suffixe des fichiers de
+ police de caract&egrave;res:</para>
+ <informaltable>
+ <tgroup cols="6">
+ <thead>
+ <row>
+ <entry></entry>
+ <entry><filename>.fnt</filename></entry>
+ <entry><filename>.pfa</filename></entry>
+ <entry><filename>.pfb</filename></entry>
+ <entry><filename>.ttf</filename></entry>
+ <entry><filename>.afm</filename></entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>Pilote <devicename>syscons</devicename></entry>
+ <entry>Oui</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry><application>GhostScript</application></entry>
+ <entry></entry>
+ <entry>Oui</entry>
+ <entry>Oui</entry>
+ <entry>Oui</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>X11</entry>
+ <entry></entry>
+ <entry>Oui</entry>
+ <entry>Oui</entry>
+ <entry></entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry><application>Groff</application></entry>
+ <entry></entry>
+ <entry>Oui</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry>Oui</entry>
+ </row>
+ <row>
+ <entry><application>Povray</application></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry>Oui</entry>
+ <entry></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ <para>Le suffixe <filename>.fnt</filename> est assez fr&eacute;quemment utilis&eacute;.
+ Je soup&ccedil;onne que lorsque quelqu'un veut cr&eacute;er un fichier de police de
+ caract&egrave;res sp&eacute;cialis&eacute; pour son application, il choisit la plupart du temps
+ ce suffixe. Il y a donc des chances pour que des fichiers avec ce
+ suffixe n'aient pas tous le m&ecirc;me format; en particulier, les fichiers
+ <filename>.fnt</filename> utilis&eacute;s par le pilote syscons de FreeBSD
+ n'auront peut-&ecirc;tre pas le m&ecirc;me format qu'un fichier
+ <filename>.fnt</filename> utilis&eacute; dans l'environnement DOS/Windows. Je
+ n'ai jamais essay&eacute; d'utiliser d'autres fichiers <filename>.fnt</filename>
+ que ceux fournis avec FreeBSD.</para>
+ </sect1>
+ <sect1>
+ <title>Configurer une console virtuelle en mode 80x60 lignes</title>
+ <para>Il faut d'abord charger une police de caract&egrave;res 8x8. Le fichier
+ <filename>/etc/sysconfig</filename><footnote><para>N.d.T.:
+ <filename>/etc/rc.conf</filename> dans les versions r&eacute;centes de
+ FreeBSD.</para></footnote> doit donc contenir les lignes:</para>
+ <programlisting>
+# choose font 8x8 from /usr/share/syscons/fonts/* (or NO for default)
+font8x8=/usr/share/syscons/fonts/cp437-8x8.fnt
+ </programlisting>
+ <para>La commande pour changer de mode d'affichage est
+ <citerefentry><refentrytitle>vidcontrol</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>:</para>
+ <informalexample>
+<screen><prompt>bash$</prompt> <userinput>vidcontrol VGA_80x60</userinput></screen>
+ </informalexample>
+ <para>Diff&eacute;rents programmes en mode plein-&eacute;cran, tel
+ <citerefentry><refentrytitle>vi</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>,
+ doivent pouvoir d&eacute;terminer la taille actuelle de l'&eacute;cran. Elle peut &ecirc;tre
+ configur&eacute;e avec
+ <citerefentry><refentrytitle>stty</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>:</para>
+ <informalexample>
+<screen><prompt>bash$</prompt> <userinput>stty crt rows 60 columns 80</userinput></screen>
+ </informalexample>
+ <para>Pour rendre cela moins fastidieux, ces commandes peuvent &ecirc;tre
+ introduites dans une proc&eacute;dure ex&eacute;cut&eacute;e au d&eacute;marrage du syst&egrave;me. Voici une
+ fa&ccedil;on de le faire:</para>
+ <orderedlist>
+ <listitem>
+ <para>Modifiez <filename>/etc/sysconfig</filename> comme expliqu&eacute; plus
+ haut,</para>
+ </listitem>
+ <listitem>
+ <para>Ajoutez les lignes suivantes &agrave;
+ <filename>/etc/rc.local</filename>:</para>
+ <programlisting>
+for tty in /dev/ttyv?
+do
+ vidcontrol VGA_80x60 <$tty >/dev/null 2>&1
+done
+ </programlisting>
+ </listitem>
+ <listitem>
+ <para>Ajoutez les lignes suivantes &agrave;
+ <filename>/etc/profile</filename>:</para>
+ <programlisting>
+TTYNAME=`basename \`tty\``
+if expr "$TTYNAME" : 'ttyv' > /dev/null
+then
+ stty crt rows 60 columns 80
+fi
+ </programlisting>
+ </listitem>
+ </orderedlist>
+ <para>R&eacute;f&eacute;rences:
+ <citerefentry><refentrytitle>stty</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>vidcontrol</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>.</para>
+ </sect1>
+ <sect1>
+ <title>X11 et les polices &ldquo;Type 1&rdquo;</title>
+ <para>X11 peut employer les formats de police de caract&egrave;res
+ <filename>.pfa</filename> et <filename>.pfb</filename>. Il y a une
+ r&eacute;f&eacute;rence crois&eacute;e de chaque fichier sur son nom X11 par l'interm&eacute;diaire du
+ fichier <filename>fonts.dir</filename> de chaque r&eacute;pertoire.</para>
+ <para>Il y a d&eacute;j&agrave; un r&eacute;pertoire appel&eacute; <filename>Type1</filename>. La fa&ccedil;on
+ la plus imm&eacute;diate d'ajouter une police de caract&egrave;res est de la mettre dans
+ ce r&eacute;pertoire. Une meilleure mani&egrave;re de proc&eacute;der est de mettre toutes les
+ nouvelle polices dans un r&eacute;pertoire distinct et d'utiliser un lien
+ symbolique sur ces nouvelles polices. Il est alors plus facile de
+ distinguer ses propres polices de celles qui sont fournies d'origine. Par
+ exemple:</para>
+ <itemizedlist>
+ <listitem>
+ <para><emphasis>Cr&eacute;er un repertoire pour les fichiers de police de
+ caract&egrave;res.</emphasis></para>
+ <informalexample>
+<screen><prompt>bash$</prompt> <userinput>mkdir -p /usr/local/share/fonts/type1</userinput>
+<prompt>bash$</prompt> <userinput>cd /usr/local/share/fonts/type1</userinput></screen>
+ </informalexample>
+ </listitem>
+ <listitem>
+ <para><emphasis>Y mettre les fichiers <filename>.pfa</filename>,
+ <filename>.pfb</filename> et <filename>.afm</filename>. On peut aussi
+ vouloir y conserver les fichiers <filename>README</filename> et autres
+ documentations concernant les polices de caract&egrave;res.</emphasis></para>
+ <informalexample>
+<screen><prompt>bash$</prompt> <userinput>cp /cdrom/fonts/atm/showboat/showboat.pfb .</userinput>
+<prompt>bash$</prompt> <userinput>cp /cdrom/fonts/atm/showboat/showboat.afm .</userinput></screen>
+ </informalexample>
+ </listitem>
+ <listitem>
+ <para><emphasis>Tenir &agrave; jour un index pour cr&eacute;er les r&eacute;f&eacute;rences crois&eacute;es
+ sur les polices.</emphasis></para>
+ <informalexample>
+<screen><prompt>bash$</prompt> <userinput>echo showboat - InfoMagic CICA, Dec 1994, /fonts/atm/showboat >>INDEX</userinput></screen>
+ </informalexample>
+ </listitem>
+ </itemizedlist>
+ <para>Pour pouvoir maintenant utiliser une nouvelle police de caract&egrave;res, il
+ faut mettre le fichier &agrave; disposition, et mettre &agrave; jour le fichier des
+ noms de polices. Les noms de police X11 se pr&eacute;sentent comme suit:</para>
+ <programlisting>
+-bitstream-charter-medium-r-normal-xxx-0-0-0-0-p-0-iso8859-1
+ | | | | | | | | | | | | \ \
+ | | | | | \ \ \ \ \ \ \ +----+- jeu de caract&egrave;res
+ | | | | \ \ \ \ \ \ \ +- largeur moyenne
+ | | | | \ \ \ \ \ \ +- espacement
+ | | | \ \ \ \ \ \ +- r&eacute;solution verticale
+ | | | \ \ \ \ \ +- r&eacute;solution horizontale
+ | | | \ \ \ \ +- points
+ | | | \ largeur \ +- pixels
+ | | | \ \
+ casse famille graisse inclinaison style suppl&eacute;mentaire
+ </programlisting>
+ <para>Il faut cr&eacute;er un nouveau nom pour chaque nouvelle police. Si la
+ documentation qui l'accompagne vous donne quelques informations, elle
+ peut servir de base pour d&eacute;finir ce nom. Si vous n'avez aucune
+ information, vous pouvez utiliser la commande
+ <citerefentry><refentrytitle>strings</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> sur le fichier de police. Par
+ exemple:</para>
+ <informalexample>
+<screen><prompt>bash$</prompt> <userinput>strings showboat.pfb | more</userinput></screen>
+ </informalexample>
+ <programlisting>
+%!FontType1-1.0: Showboat 001.001
+%%CreationDate: 1/15/91 5:16:03 PM
+%%VMusage: 1024 45747
+% Generated by Fontographer 3.1
+% Showboat
+ 1991 by David Rakowski. Alle Rechte Vorbehalten.
+FontDirectory/Showboat known{/Showboat findfont dup/UniqueID known{dup
+/UniqueID get 4962377 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+12 dict begin
+/FontInfo 9 dict dup begin
+ /version (001.001) readonly def
+ /FullName (Showboat) readonly def
+ /FamilyName (Showboat) readonly def
+ /Weight (Medium) readonly def
+ /ItalicAngle 0 def
+ /isFixedPitch false def
+ /UnderlinePosition -106 def
+ /UnderlineThickness 16 def
+ /Notice (Showboat
+ 1991 by David Rakowski. Alle Rechte Vorbehalten.) readonly def
+end readonly def
+/FontName /Showboat def
+--stdin--
+ </programlisting>
+ <para>A partir de ces informations, le nom pourrait &ecirc;tre:</para>
+ <programlisting>
+-type1-Showboat-medium-r-normal-decorative-0-0-0-0-p-0-iso8859-1
+ </programlisting>
+ <para>Les composantes de ce nom sont:</para>
+ <variablelist>
+ <varlistentry>
+ <term>Casse</term>
+ <listitem>
+ <para>Appelons simplement toutes nos nouvelles polices
+ <literal>type1</literal>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Famille</term>
+ <listitem>
+ <para>Le nom de la police.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Graisse</term>
+ <listitem>
+ <para>Normal, gras, m&eacute;dium, semi-gras, etc. D'apr&egrave;s les r&eacute;sultats
+ de <citerefentry><refentrytitle>strings</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> ci-dessus, la police a une
+ graisse <emphasis>m&eacute;dium</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Inclinaison</term>
+ <listitem>
+ <para><emphasis>r</emphasis>oman, <emphasis>i</emphasis>talique ou
+ <emphasis>o</emphasis>blique. Comme
+ <emphasis>ItaliqueAngle</emphasis> vaut 0, nous utiliserons
+ <emphasis>roman</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Largeur</term>
+ <listitem>
+ <para>Normale, large, condens&eacute;e, &eacute;tendue, etc. Jusqu'&agrave; ce que nous la
+ d&eacute;terminions &agrave; l'usage, nous supposerons qu'elle est
+ <emphasis>normale</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Style suppl&eacute;mentaire</term>
+ <listitem>
+ <para>Habituellement non renseign&eacute;, mais nous nous en servons pour
+ indiquer que la police contient des majuscules d&eacute;coratives.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Espacement</term>
+ <listitem>
+ <para>Proportionnel ou fixe. Comme <emphasis>isFixedPitch</emphasis>
+ est faux, nous utilisons <emphasis>Proportionnel</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para> Tous ces noms sont arbitraires, mais il faut essayer de rester
+ compatible avec les conventions existantes. Une police est connue d'une
+ application X11 sous un nom qui peut &eacute;ventuellement comporter des
+ caract&egrave;res de substitution, il faut donc choisir un nom significatif. On
+ peut commencer en utilisant simplement:</para>
+ <programlisting>
+...-normal-r-normal-...-p-...
+ </programlisting>
+ <para>comme nom, puis se servir de
+ <citerefentry><refentrytitle>xfontsel</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> pour visualiser la police et
+ affiner son nom en fonction de ce &agrave; quoi elle ressemble.</para>
+ <para>Donc, pour compl&eacute;ter notre exemple:</para>
+ <itemizedlist>
+ <listitem>
+ <para><emphasis>Rendre la police accessible &agrave; X11</emphasis></para>
+ <informalexample>
+<screen><prompt>bash$</prompt> <userinput>cd /usr/X11R6/lib/X11/fonts/Type1</userinput>
+<prompt>bash$</prompt> <userinput>ln -s /usr/local/share/fonts/type1/showboat.pfb .</userinput></screen>
+ </informalexample>
+ </listitem>
+ <listitem>
+ <para><emphasis>Editer <filename>fonts.scale</filename> et
+ <filename>fonts.dir</filename> pour y ajouter une ligne d&eacute;crivant la
+ nouvelle police et incr&eacute;menter le nombre de polices qui est d&eacute;fini en
+ premi&egrave;re ligne</emphasis></para>
+ <informalexample>
+<screen><prompt>bash$</prompt> <userinput>ex fonts.dir</userinput>
+<userinput>:1p</userinput>
+<userinput>25</userinput>
+<userinput>:1c</userinput>
+<userinput>26</userinput>
+<userinput>.</userinput>
+<userinput>:$a</userinput>
+<userinput>showboat.pfb -type1-showboat-medium-r-normal-decorative-0-0-0-0-p-0-iso8859-1</userinput>
+<userinput>.</userinput>
+<userinput>:wq</userinput></screen>
+ </informalexample>
+ </listitem>
+ <listitem>
+ <para><emphasis><filename>fonts.scale</filename> et
+ <filename>fonts.dir</filename> sont apparemment
+ identiques</emphasis></para>
+ <informalexample>
+<screen><prompt>bash$</prompt> <userinput>cp fonts.dir fonts.scale</userinput></screen>
+ </informalexample>
+ </listitem>
+ <listitem>
+ <para><emphasis>Informer X11 des modifications</emphasis></para>
+ <informalexample>
+<screen><prompt>bash$</prompt> <userinput>xset fp rehash</userinput></screen>
+ </informalexample>
+ </listitem>
+ <listitem>
+ <para><emphasis>Visualiser la nouvelle police</emphasis></para>
+ <informalexample>
+<screen><prompt>bash$</prompt> <userinput>xfontsel -pattern -type1-*</userinput></screen>
+ </informalexample>
+ </listitem>
+ </itemizedlist>
+ <para>R&eacute;f&eacute;rences: <citerefentry><refentrytitle>xfontsel</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>xset</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>, <emphasis>The X Window System
+ in a Nutshell</emphasis>, <ulink url="http://www.ora.com">O'Reilly &amp;
+ Associates</ulink>.</para>
+ </sect1>
+ <sect1>
+ <title>Utiliser les polices &ldquo;Type 1&rdquo; avec GhostScript</title>
+ <para>GhostScript r&eacute;f&eacute;rence les polices via son fichier
+ <filename>Fontmap</filename>. Il doit donc &ecirc;tre modifi&eacute; de la m&ecirc;me fa&ccedil;on
+ que le fichier X11 <filename>fonts.dir</filename>. GhostScript peut
+ utiliser des fichiers de police de caract&egrave;res aux formats
+ <filename>.pfa</filename> ou <filename>.pfb</filename>. Voici comment nous
+ utiliserions la police de l'exemple pr&eacute;c&eacute;dent avec GhostScript:</para>
+ <itemizedlist>
+ <listitem>
+ <para><emphasis>Mettre la police dans le r&eacute;pertoire des polices de
+ GhostScript</emphasis></para>
+ <informalexample>
+<screen><prompt>bash$</prompt> <userinput>cd /usr/local/share/ghostscript/fonts</userinput>
+<prompt>bash$</prompt> <userinput>ln -s /usr/local/share/fonts/type1/showboat.pfb .</userinput></screen>
+ </informalexample>
+ </listitem>
+ <listitem>
+ <para><emphasis>Editer le fichier <filename>Fontmap</filename> pour que
+ GhostScript ait connaissance de la nouvelle police</emphasis></para>
+ <informalexample>
+<screen><prompt>bash$</prompt> <userinput>cd /usr/local/share/ghostscript/4.01</userinput>
+<prompt>bash$</prompt> <userinput>ex Fontmap</userinput>
+<userinput>:$a</userinput>
+<userinput>/Showboat (showboat.pfb) ; % From CICA /fonts/atm/showboat</userinput>
+<userinput>:wq</userinput></screen>
+ </informalexample>
+ </listitem>
+ <listitem>
+ <para><emphasis>Utiliser GhostScript pour visualiser la
+ police</emphasis></para>
+ <informalexample>
+<screen><prompt>bash$</prompt> <userinput>gs prfont.ps</userinput></screen>
+ </informalexample>
+ <programlisting>
+Aladdin Ghostscript 4.01 (1996-7-10)
+Copyright (C) 1996 Aladdin Enterprises, Menlo Park, CA. All rights
+reserved.
+This software comes with NO WARRANTY: see the file PUBLIC for details.
+Loading Times-Roman font from /usr/local/share/ghostscript/fonts/tir_____.pfb...
+ /1899520 581354 1300084 13826 0 done.
+ </programlisting>
+ <informalexample>
+<screen><prompt>GS&gt;</prompt> <userinput>Showboat DoFont</userinput></screen>
+ </informalexample>
+ <programlisting>
+Loading Showboat font from /usr/local/share/ghostscript/fonts/showboat.pfb...
+ 1939688 565415 1300084 16901 0 done.
+&gt;&gt;showpage, press &lt;return&gt; to continue&lt;&lt;
+&gt;&gt;showpage, press &lt;return&gt; to continue&lt;&lt;
+&gt;&gt;showpage, press &lt;return&gt; to continue&lt;&lt;
+ </programlisting>
+ <informalexample>
+<screen><prompt>GS&gt;</prompt> <userinput>quit</userinput></screen>
+ </informalexample>
+ </listitem>
+ </itemizedlist>
+ <para>R&eacute;f&eacute;rences: <filename>fonts.txt</filename> de la distribution de
+ GhostScript 4.01.</para>
+ </sect1>
+ <sect1>
+ <title>Utiliser les polices &ldquo;Type 1&rdquo; avec Groff</title>
+ <para>Maintenant que nous pouvons utiliser la nouvelle police avec X11 et
+ GhostScript, comment faire pour s'en servir aussi avec groff? Tout
+ d'abord, comme nous nous occupons de polices PostScript
+ &ldquo;Type 1&rdquo;, le p&eacute;riph&eacute;rique groff &agrave; utiliser est
+ <devicename>ps</devicename>. Il faut cr&eacute;er un fichier de police pour
+ chaque police utilis&eacute;e par groff. Le nom d'une police groff se r&eacute;sume &agrave; un
+ fichier dans le r&eacute;pertoire
+ <filename>/usr/share/groff_font/devps</filename>. Dans notre exemple, ce
+ pourrait &ecirc;tre <filename>/usr/share/groff_font/devps/SHOWBOAT</filename>.
+ Il faut cr&eacute;er ce fichier avec les outils fournis par groff.</para>
+ <para>Le premier outil est <filename>afmtodit</filename>. Il n'est pas
+ normalement install&eacute; et doit donc &ecirc;tre extrait de la distribution sous
+ forme de sources. Je me suis aper&ccedil;u qu'il fallait modifier la premi&egrave;re
+ ligne du fichier, voici donc ce que j'ai fait:</para>
+ <informalexample>
+<screen><prompt>bash$</prompt> <userinput>cp /usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.pl /tmp</userinput>
+<prompt>bash$</prompt> <userinput>ex /tmp/afmtodit.pl</userinput>
+<userinput>:1c</userinput>
+<userinput>#!/usr/bin/perl -P-</userinput>
+<userinput>.</userinput>
+<userinput>:wq</userinput></screen>
+ </informalexample>
+ <para>Cet outil cr&eacute;e le fichier de police groff &agrave; partir du fichier de
+ dimensions de la police (suffixe <filename>.afm</filename>). Pour
+ continuer avec notre exemple:</para>
+ <itemizedlist>
+ <listitem>
+ <para><emphasis>De nombreux fichiers <filename>.afm</filename> sont au
+ format Mac... avec des lignes termin&eacute;es par des ^M</emphasis></para>
+ <para>Il faut les convertir au style Unix avec des lignes termin&eacute;es par
+ des ^J</para>
+ <informalexample>
+<screen><prompt>bash$</prompt> <userinput>cd /tmp</userinput>
+<prompt>bash$</prompt> <userinput>cat /usr/local/share/fonts/type1/showboat.afm |</userinput>
+ <userinput>tr '\015' '\012' >showboat.afm</userinput></screen>
+ </informalexample>
+ </listitem>
+ <listitem>
+ <para><emphasis>Cr&eacute;ons maintenant le fichier de police
+ groff</emphasis></para>
+ <informalexample>
+<screen><prompt>bash$</prompt> <userinput>cd /usr/share/groff_font/devps</userinput>
+<prompt>bash$</prompt> <userinput>/tmp/afmtodit.pl -d DESC -e text.enc /tmp/showboat.afm generate/textmap SHOWBOAT</userinput></screen>
+ </informalexample>
+ </listitem>
+ </itemizedlist>
+ <para>La police peut maintenant &ecirc;tre r&eacute;f&eacute;renc&eacute;e par le nom SHOWBOAT.</para>
+ <para>Si l'on utilise GhostScript pour piloter les imprimantes du syst&egrave;me,
+ il n'y a rien d'autre &agrave; faire. Si, par contre, l'on utilise de vraies
+ imprimantes PostScript, il faut alors charger la police sur l'imprimante
+ pour pouvoir l'utiliser (&agrave; moins que l'imprimante ne dispose de la police
+ &ldquo;showboat&rdquo; en interne ou sur une disquette de polices
+ accessible). La derni&egrave;re &eacute;tape consiste &agrave; cr&eacute;er la police chargeable.
+ L'outil <filename>pfbtops</filename> est utilis&eacute; pour cr&eacute;er le format
+ <filename>.pfa</filename> de la police et le fichier
+ <filename>download</filename> est modifi&eacute; pour faire r&eacute;f&eacute;rence &agrave; la
+ nouvelle police. Le fichier <filename>download</filename> doit indiquer le
+ nom interne de la police. Ce nom peut &ecirc;tre facilement connu &agrave; l'aide du
+ fichier de police groff, comme le montre l'exemple:</para>
+ <itemizedlist>
+ <listitem>
+ <para><emphasis>Cr&eacute;er le fichier de police
+ <filename>.pfa</filename></emphasis></para>
+ <informalexample>
+<screen><prompt>bash$</prompt> <userinput>fgrep internalname SHOWBOAT</userinput>
+internalname Showboat</screen>
+ </informalexample>
+ </listitem>
+ <listitem>
+ <para><emphasis>Dire &agrave; groff qu'il faut charger la
+ police</emphasis></para>
+ <informalexample>
+<screen><prompt>bash$</prompt> <userinput>ex download</userinput>
+<userinput>:$a</userinput>
+<userinput>Showboat showboat.pfa</userinput>
+<userinput>.</userinput>
+<userinput>:wq</userinput></screen>
+ </informalexample>
+ </listitem>
+ </itemizedlist>
+ <para>Pour tester la police:</para>
+ <informalexample>
+<screen><prompt>bash$</prompt> <userinput>cd /tmp</userinput>
+<prompt>bash$</prompt> <userinput>cat &gt;exemple.t &lt;&lt;EOF</userinput>
+<userinput>.sp 5</userinput>
+<userinput>.ps 15</userinput>
+<userinput>C'est un exemple de police Showboat:</userinput>
+<userinput>.br</userinput>
+<userinput>.ps 48</userinput>
+<userinput>.vs (\n(.s+2)p</userinput>
+<userinput>.sp</userinput>
+<userinput>.ft SHOWBOAT</userinput>
+<userinput>ABCDEFGHI</userinput>
+<userinput>.br</userinput>
+<userinput>JKLMNOPQR</userinput>
+<userinput>.br</userinput>
+<userinput>STUVWXYZ</userinput>
+<userinput>.sp</userinput>
+<userinput>.ps 16</userinput>
+<userinput>.vs (\n(.s+2)p</userinput>
+<userinput>.fp 5 SHOWBOAT</userinput>
+<userinput>.ft 5</userinput>
+<userinput>Utilis&eacute;e comme premi&egrave;re lettre d'un paragraphe. Cela ressemblera &agrave;:</userinput>
+<userinput>.sp50p</userinput>
+<userinput>\s(48\f5V\s0\fRoici la premi&egrave;re phrase d'un paragraphe qui utilise</userinput>
+<userinput>la police showboat pour sa premi&egrave;re lettre. Il faut augmenter</userinput>
+<userinput>l'espacement vertical pour laisser de la place pour la premi&egrave;re</userinput>
+<userinput>lettre.</userinput>
+<userinput>EOF</userinput>
+<prompt>bash$</prompt> <userinput>groff -Tps exemple.t &gt;exemple.ps</userinput></screen>
+ </informalexample>
+ <itemizedlist>
+ <listitem>
+ <para><emphasis>Pour utiliser GhostScript/GhostView</emphasis></para>
+ <informalexample>
+<screen><prompt>bash$</prompt> <userinput>ghostview exemple.ps</userinput></screen>
+ </informalexample>
+ </listitem>
+ <listitem>
+ <para><emphasis>Pour l'imprimer</emphasis></para>
+ <informalexample>
+<screen><prompt>bash$</prompt> <userinput>lpr -Ppostscript exemple.ps</userinput></screen>
+ </informalexample>
+ </listitem>
+ </itemizedlist>
+ <para>R&eacute;f&eacute;rences:
+ <filename>/usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.man</filename>,
+ <citerefentry><refentrytitle>groff_font</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>groff_char</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>pfbtops</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>.</para>
+ </sect1>
+ <sect1>
+ <title>Peut-on utiliser des polices &ldquo;True Type&rdquo;?</title>
+ <para>Le format de police &ldquo;True Type&rdquo; est utilis&eacute;e par Windows,
+ Windows 95 et le Macintosh. Il est assez r&eacute;pandu et il y a de nombreuses
+ polices de ce format disponibles.</para>
+ <para>Malheureusement, je connais peu d'applications qui puissent utiliser
+ ce format: GhostScript et Povray viennent &agrave; l'esprit. Le support par
+ GhostScript est, d'apr&egrave;s la documentation, assez rudimentaire et il y a
+ des chances que le r&eacute;sultat soit moins bon qu'avec les polices
+ &ldquo;Type 1&rdquo;. Povray version 3 est aussi capable d'utiliser des
+ des polices &ldquo;True Type&rdquo;, mais je doute que beaucoup de
+ personnes cr&eacute;ent des documents sous forme de pages g&eacute;n&eacute;r&eacute;es par lancer de
+ rayon :-).</para>
+ <para>Il est difficile d'utiliser une police &ldquo;True Type&rdquo; avec
+ groff parce que groff a besoin d'un fichier de description de la police,
+ et je ne connais pas d'outil pour d&eacute;terminer les dimensions d'une police
+ &ldquo;True Type&rdquo;. De plus, il faudrait charger la police sur les
+ imprimantes PostScript avec le format appropri&eacute; et, de nouveau, groff ne
+ peut g&eacute;rer de cette fa&ccedil;on les polices &ldquo;True Type&rdquo;.</para>
+ <para>Cette situation plut&ocirc;t d&eacute;solante changera peut-&ecirc;tre bient&ocirc;t. Le
+ <ulink url="http://www.freetype.org">Projet FreeType</ulink> d&eacute;veloppe
+ actuellement un ensemble d'utilitaire FreeType:</para>
+ <itemizedlist>
+ <listitem>
+ <para>Le serveur de polices <filename>xfsft</filename> pour X11 peut
+ g&eacute;rer les polices &ldquo;TrueType&rdquo; en plus des polices
+ ordinaires. Bien que ce soit encore une version b&eacute;ta, elle a la
+ r&eacute;putation d'&ecirc;tre &agrave; peu pr&egrave;s utilisable. Voyez
+ <ulink url="http://www.dcs.ed.sc.uk/home/jec/programs/xfsft">la page de
+ Juliusz Chroboczek</ulink> pour plus d'informations. Il y a des
+ instructions de portage sous FreeBSD sur
+ <ulink url="http://math.missouri.edu/~stephen/software">la page
+ logicielle de Stephen Montgomery</ulink>.</para>
+ </listitem>
+ <listitem>
+ <para><filename>xfstt</filename> est un autre serveur X11, disponible
+ sur <ulink url="ftp://sunsite.unc.edu/pub/Linux/X11/fonts">ftp://sunsite.unc.edu/pub/Linux/X11/fonts</ulink>.</para>
+ </listitem>
+ <listitem>
+ <para>Il y a un programme appel&eacute; <filename>ttf2bdf</filename> qui peut
+ cr&eacute;er des fichiers BDF utilisables en environnement X &agrave; partir de
+ fichiers &ldquo;TrueType&rdquo;. Les binaires pour Linux sont cens&eacute;s
+ &ecirc;tre disponibles sur
+ <ulink url="ftp://crl.nmsu.edu/CLR/multiling/General/">ftp://crl.nmsu.edu/CLR/multiling/General/</ulink>.</para>
+ </listitem>
+ <listitem>
+ <para>Pour les personnes qui ont besoin de polices &ldquo;True
+ Type&rdquo; asiatiques, il peut valoir la peine de jetter un coup
+ d'oeil au serveur de polices <filename>XTT</filename>. Il y a des
+ informations sur <filename>XTT</filename> &agrave; l'adresse:
+ <ulink url="http://hawk.ise.chuo-u.ac.jp/student/person/tshiozak/study/freebsd-at-random/x-tt/index-en.html">http://hawk.ise.chuo-u.ac.jp/student/person/tshiozak/study/freebsd-at-random/x-tt/index-en.html</ulink>.</para>
+ </listitem>
+ <listitem>
+ <para>et d'autres ...</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+ <sect1>
+ <title>O&ugrave; peut-on trouver des polices suppl&eacute;mentaires?</title>
+ <para>Il y a de nombreuses polices disponibles sur l'Internet. Elles sont
+ soit compl&egrave;tement gratuites ou en &ldquo;partagiciel&rdquo;. Il y a aussi
+ de nombreux CD-ROMs peux on&eacute;reux qui contiennent beaucoup de polices.
+ Voici quelques sites Internet (au mois d'Ao&ucirc;t 1996):</para>
+ <itemizedlist>
+ <listitem>
+ <para><ulink url="ftp://ftp.winsite.com">ftp://ftp.winsite.com</ulink>
+ (auparavant CICA),</para>
+ </listitem>
+ <listitem>
+ <para><ulink url="http://www.simtel.net/simcgi-bin/dosfind.cgi">http://www.simtel.net/simcgi-bin/dosfind.cgi</ulink>,</para>
+ </listitem>
+ <listitem>
+ <para><ulink url="ftp://ftp.coast.net/">ftp://ftp.coast.net/</ulink>,</para>
+ </listitem>
+ <listitem>
+ <para><ulink url="http://af-pc-plloyd.ecel.uwa.edu.au/fonts/index.html">http://af-pc-plloyd.ecel.uwa.edu.au/fonts/index.html</ulink>,</para>
+ </listitem>
+ <listitem>
+ <para><ulink url="http://www.esselte.com/letraset/index.html">http://www.esselte.com/letraset/index.html</ulink>,</para>
+ </listitem>
+ <listitem>
+ <para><ulink url="http://www.inil.com/users/elfring/esf.htm">http://www.inil.com/users/elfring/esf.htm</ulink>.</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+ <sect1>
+ <title>D'autres questions</title>
+ <itemizedlist>
+ <listitem>
+ <para>Que sont que les fichiers <filename>.pfm</filename>?</para>
+ </listitem>
+ <listitem>
+ <para>Peut-on g&eacute;n&eacute;rer des fichiers <filename>.afm</filename> &agrave; partir de
+ fichiers <filename>.pfa</filename> ou
+ <filename>.pfb</filename>?</para>
+ </listitem>
+ <listitem>
+ <para>Comment g&eacute;n&eacute;rer des fichiers de correspondance de caract&egrave;res pour
+ groff pour les polices PostScript dont les caract&egrave;res ont des noms qui
+ ne sont pas standard?</para>
+ </listitem>
+ <listitem>
+ <para>Les p&eacute;riph&eacute;riques <filename>xditview</filename> et
+ <devicename>devX??</devicename> peuvent-ils &ecirc;tre configur&eacute;s pour
+ acc&eacute;der aux nouvelles polices?</para>
+ </listitem>
+ <listitem>
+ <para>Il serait bien d'avoir des exemples d'utilisation de polices
+ &ldquo;True Type&rdquo; avec GhostScript et Povray.</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+</article>
diff --git a/fr_FR.ISO_8859-1/articles/formatting-media/Makefile b/fr_FR.ISO_8859-1/articles/formatting-media/Makefile
new file mode 100644
index 0000000000..72c1d9b8c9
--- /dev/null
+++ b/fr_FR.ISO_8859-1/articles/formatting-media/Makefile
@@ -0,0 +1,20 @@
+#
+# The FreeBSD Documentation Project
+# The FreeBSD French Documentation Project
+#
+# $FreeBSD$
+# Original revision: 1.4
+#
+
+DOC?= article
+
+FORMATS?= html
+
+INSTALL_COMPRESSED?=gz
+INSTALL_ONLY_COMPRESSED?=
+
+SRCS= article.sgml
+
+DOC_PREFIX?= ${.CURDIR}/../../..
+
+.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/fr_FR.ISO_8859-1/articles/formatting-media/article.sgml b/fr_FR.ISO_8859-1/articles/formatting-media/article.sgml
new file mode 100755
index 0000000000..f58946b2fd
--- /dev/null
+++ b/fr_FR.ISO_8859-1/articles/formatting-media/article.sgml
@@ -0,0 +1,557 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+<!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN" [
+<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> %man;
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES Common Document URL Entities//FR"> %urls;
+<!ENTITY % abstract PUBLIC "-//FreeBSD//ENTITIES DocBook Abstract Entities//FR"> %abstract;
+<!ENTITY % artheader PUBLIC "-//FreeBSD//ENTITIES DocBook ArtHeader Entities//FR"> %artheader;
+<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//FR"> %translators;
+
+<!ENTITY % authors SYSTEM "../../../en_US.ISO_8859-1/books/handbook/authors.ent"> %authors;
+<!ENTITY % mailing-lists SYSTEM "../../books/handbook/mailing-lists.ent"> %mailing-lists;
+ <!ENTITY rel.current CDATA "3.2">
+]>
+
+<article lang="fr">
+ <artheader>
+ <title>Formatage des supports pour FreeBSD 2.2-RELEASE</title>
+ <subtitle>Un guide</subtitle>
+ <authorgroup>
+ <author>
+ <firstname>Doug</firstname>
+ <surname>White</surname>
+ </author>
+ </authorgroup>
+ &artheader.copyright;
+ <abstract>
+ <para><email>dwhite@resnet.uoregon.edu</email></para>
+ <para>Mars 1997</para>
+ <para>Ce document d&eacute;crit comment d&eacute;couper, partitionner et formater les
+ disques durs et autres supports similaires pour les utiliser avec
+ FreeBSD. Les exemples propos&eacute;s ont &eacute;t&eacute; test&eacute;s avec FreeBSD 2.2-GAMMA et
+ devraient &ecirc;tre applicables &agrave; d'autres versions.</para>
+ &abstract.license;
+ &abstract.disclaimer;
+ &trans.a.haby;
+ </abstract>
+ </artheader>
+ <sect1>
+ <title>Introduction et d&eacute;finitions</title>
+ <sect2>
+ <title>R&eacute;sum&eacute;</title>
+ <para>R&eacute;ussir &agrave; ajouter des disques &agrave; un syst&egrave;me existant est la
+ marque d'un administrateur syst&egrave;me exp&eacute;riment&eacute;. D&eacute;couper, partitionner
+ et ajouter des disques requiert de combiner avec soin commande
+ ad&eacute;quate et syntaxe de nommage. Une frappe malheureuse et un disque
+ entier peut dispara&icirc;tre en quelques secondes. Ce document est une
+ tentative pour simplifier le processus et &eacute;viter les accidents.
+ Heureusement, les outils existants (tout particuli&egrave;rement
+ <citerefentry><refentrytitle>sysinstall</refentrytitle></citerefentry>)
+ ont notablement am&eacute;lior&eacute; ce processus dans les derni&egrave;res versions de
+ FreeBSD.</para>
+ <para>Il y a deux possibilit&eacute;s de formatage d'un disque:</para>
+ <itemizedlist>
+ <listitem>
+ <para><emphasis>mode compatible</emphasis>: Configurer un disque
+ pour qu'il ait une table des
+ tranches&nbsp;-&nbsp;&ldquo;<foreignphrase>slices</foreignphrase>&rdquo;&nbsp;-&nbsp;utilisable
+ avec d'autres syst&egrave;mes d'exploitation.</para>
+ </listitem>
+ <listitem>
+ <para><emphasis>mode dangeureusement d&eacute;di&eacute;</emphasis>: Formater un
+ disque sans table des
+ tranches&nbsp;-&nbsp;&ldquo;<foreignphrase>slices</foreignphrase>&rdquo;.
+ Cela facilite l'ajout de disques, mais des syst&egrave;mes d'exploitation
+ autres que FreeBSD risquent de ne pas reconna&icirc;tre de tels
+ disques.</para>
+ </listitem>
+ </itemizedlist>
+ <para>Dans la plupart des cas, le mode d&eacute;di&eacute; est le plus facile &agrave; mettre
+ en oeuvre et &agrave; utiliser sur des syst&egrave;mes existants, auquel cas le
+ nouveau disque est en g&eacute;n&eacute;ral enti&egrave;rement d&eacute;di&eacute; &agrave; FreeBSD. Cependant,
+ le mode compatible garantit le maximum d'interop&eacute;rabilit&eacute; avec des
+ installations ult&eacute;rieures, au prix d'une plus grande complexit&eacute;.</para>
+ <para>En plus du choix du mode, il existe deux m&eacute;thodes pour d&eacute;couper le
+ disque. La premi&egrave;re est d'utiliser l'outil
+ <citerefentry><refentrytitle>/stand/sysinstall</refentrytitle></citerefentry>
+ d'installation du syst&egrave;me. A partir de la version 2.1.7-RELEASE de
+ FreeBSD,
+ <citerefentry><refentrytitle>sysinstall</refentrytitle></citerefentry>
+ contient du code qui facilite la
+ configuration de disques en cours d'op&eacute;ration normale du syst&egrave;me,
+ donnant essentiellement acc&egrave;s aux &eacute;diteurs de labels et de partitions,
+ et comportant un fonctionnalit&eacute; d'&eacute;criture qui ne met &agrave; jour que le
+ disque s&eacute;lectionn&eacute; sans toucher aux autres disques. La seconde m&eacute;thode
+ consiste &agrave; employer les utilitaires, &agrave; la main, depuis la ligne de
+ commande, en session sous le compte super-utilisateur
+ <username>root</username>. Pour le mode dangeureusement d&eacute;di&eacute;, il n'y
+ a que trois ou quatre commandes concern&eacute;es, alors que
+ <citerefentry><refentrytitle>sysinstall</refentrytitle></citerefentry>
+ demande quelques manipulations.</para>
+ </sect2>
+ <sect2>
+ <title>D&eacute;finitions</title>
+ <para>La gestion de disques Unix a, au fil des si&egrave;cles, invent&eacute; de
+ nombreuses nouvelles d&eacute;finitions pour d'anciens mots. Le glossaire
+ ci-dessous donne les d&eacute;finitions des expressions utilis&eacute;es dans
+ ce document et (esp&eacute;rons-le) pour ce qui concerne FreeBSD en
+ g&eacute;n&eacute;ral.</para>
+ <itemizedlist>
+ <listitem>
+ <para><emphasis>mode compatible</emphasis>: Configurer un disque
+ pour qu'il ait une table des
+ tranches&nbsp;-&nbsp;&ldquo;<foreignphrase>slices</foreignphrase>&rdquo;&nbsp;-&nbsp;utilisable
+ avec d'autres syst&egrave;mes d'exploitation. C'est le contraire du mode
+ dangeureusement d&eacute;di&eacute;.</para>
+ </listitem>
+ <listitem>
+ <para><emphasis>mode dangeureusement d&eacute;di&eacute;</emphasis>: Formater un
+ disque sans table des
+ tranches&nbsp;-&nbsp;&ldquo;<foreignphrase>slices</foreignphrase>&rdquo;.
+ Cela facilite l'ajout de disques, mais des syst&egrave;mes d'exploitation
+ autres que FreeBSD risquent de ne pas reconna&icirc;tre de tels
+ disques. C'est le contraire du mode compatible.</para>
+ </listitem>
+ <listitem>
+ <para>disque: un disque circulaire recouvert d'un mat&eacute;riau magn&eacute;tique
+ ou &eacute;quivalent, qui tourne, m&ucirc; par un moteur, devant une t&ecirc;te de
+ lecture. Les donn&eacute;es sont enregistr&eacute;es sur le disque en modifiant
+ la magn&eacute;tisation du support, et peuvent &ecirc;tre ensuite relues. Les
+ disques durs, CD-ROMs, disques magn&eacute;to-optiques et supports
+ amovibles Zip ou Jaz, sont des exemples de disques.</para>
+ </listitem>
+ <listitem>
+ <para>tranche&nbsp;-&nbsp;&ldquo;<foreignphrase>slice</foreignphrase>&rdquo;:
+ une subdivision du disque. Il peut y avoir jusqu'&agrave; quatre tranches
+ sur un disque d'apr&egrave;s le standard PC. Les tranches sont constitu&eacute;es
+ de secteurs adjacents. Les tranches sont d&eacute;crites par une
+ &ldquo;table des tranches&rdquo; utilis&eacute;e par le BIOS du syst&egrave;me
+ pour localiser les partitions d&eacute;marrables. La table des tranches
+ est habituellement appel&eacute;e &ldquo;table des partitions&rdquo; en
+ langage DOS. Les tranches sont g&eacute;r&eacute;es par l'utilitaire
+ <citerefentry><refentrytitle>fdisk</refentrytitle></citerefentry>.</para>
+ </listitem>
+ <listitem>
+ <para>partition: une subdivision de la
+ tranche&nbsp;-&nbsp;&ldquo;<foreignphrase>slice</foreignphrase>&rdquo;.
+ Habituellement utilis&eacute;e pour d&eacute;signer les divisions de la tranche
+ FreeBSD du disque. Chaque syst&egrave;me de fichiers et espace de
+ pagination r&eacute;side sur une partition. Les partitions sont g&eacute;r&eacute;es par
+ l'utilitaire
+ <citerefentry><refentrytitle>disklabel</refentrytitle></citerefentry>.</para>
+ </listitem>
+ <listitem>
+ <para>secteur: la plus petite subdivision d'un disque. Un secteur
+ contient habituellement 512 octets de donn&eacute;es.</para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+ <sect2>
+ <title>Avertissements et pi&egrave;ges &agrave; &eacute;viter</title>
+ <para>Installer des disques n'est pas quelque chose &agrave; prendre &agrave; la
+ l&eacute;g&egrave;re. Il est tout &agrave; fait possible de d&eacute;truire le contenu d'autres
+ disques de votre syst&egrave;me si vous ne prenez pas les pr&eacute;cautions
+ n&eacute;cessaires.</para>
+ <para><emphasis>V&eacute;rifiez avec soin ce que vous faites</emphasis>. Il est
+ tr&egrave;s facile d'effacer le mauvais disque quand vous utilisez ces
+ commandes. En cas de doute, consultez les messages de d&eacute;marrage du
+ noyau pour conna&icirc;tre le nom exact du p&eacute;riph&eacute;rique.</para>
+ <para>Inutile de pr&eacute;ciser que nous ne serions en rien responsable des
+ d&eacute;gats que vous causeriez &agrave; vos donn&eacute;es ou &agrave; votre mat&eacute;riel. Vous
+ travaillez &agrave; vos risques et p&eacute;rils.</para>
+ </sect2>
+ <sect2>
+ <title>Zip, Jaz et autres disques amovibles</title>
+ <para>Les disques amovibles peuvent &ecirc;tre format&eacute;s de la m&ecirc;me fa&ccedil;on que les
+ disques durs ordinaires. Il est indispensable que le lecteur soit
+ connect&eacute; et qu'il y ait un disque dedans au d&eacute;marrage du syst&egrave;me, pour
+ que le noyau puisse d&eacute;terminer la g&eacute;om&eacute;trie du disque. Consultez les
+ r&eacute;sultats de
+ <citerefentry><refentrytitle>dmesg</refentrytitle></citerefentry>
+ et v&eacute;rifiez que le disque et sa taille y figurent. Si le noyau &eacute;met le
+ message:</para>
+ <programlisting>
+Can't get the size
+ </programlisting>
+ <para>c'est que le disque n'&eacute;tait pas dans le lecteur. Dans ce cas, vous
+ devrez red&eacute;marrer la machine avant de formater des disques.</para>
+ </sect2>
+ </sect1>
+ <sect1>
+ <title>Formater des disques en mode d&eacute;di&eacute;</title>
+ <sect2>
+ <title>Introduction</title>
+ <para>Cette section explique en d&eacute;tail comment configurer des disques
+ enti&egrave;rement d&eacute;di&eacute;s &agrave; FreeBSD. N'oubliez pas que des disques en mode
+ d&eacute;di&eacute; ne peuvent pas &ecirc;tre utilis&eacute;s par l'architecture PC pour d&eacute;marrer
+ le syst&egrave;me.</para>
+ </sect2>
+ <sect2>
+ <title>Formater des disques en mode d&eacute;di&eacute; avec Sysinstall</title>
+ <para><filename>/stand/sysinstall</filename>, l'utilitaire
+ d'installation du syst&egrave;me, a &eacute;t&eacute; am&eacute;lior&eacute; dans les versions r&eacute;centes
+ pour rendre le processus de d&eacute;coupage propre des disques moins
+ p&eacute;nible. Les &eacute;diteurs
+ <citerefentry><refentrytitle>fdisk</refentrytitle></citerefentry> et
+ <citerefentry><refentrytitle>disklabel</refentrytitle></citerefentry>
+ inclus dans
+ <citerefentry><refentrytitle>sysinstall</refentrytitle></citerefentry>
+ sont des outils interactifs qui
+ dissipent une bonne partie de la confusion li&eacute;e aux op&eacute;rations de
+ d&eacute;coupage de disques en &ldquo;tranches&rdquo;. Avec FreeBSD 2.1.7 et
+ ult&eacute;rieur, c'est probablement la m&eacute;thode la plus simple pour le
+ faire.</para>
+ <orderedlist>
+ <listitem>
+ <para>Lancez
+ <citerefentry><refentrytitle>sysinstall</refentrytitle></citerefentry>
+ en tant que super-utilisateur <username>root</username> en
+ tapant:</para>
+ <informalexample>
+<screen>&prompt.root; <userinput>/stand/sysinstall</userinput></screen>
+ </informalexample>
+ <para>sur la ligne de commande.</para>
+ </listitem>
+ <listitem>
+ <para>S&eacute;lectionnez <option>Index</option>.</para>
+ </listitem>
+ <listitem>
+ <para>S&eacute;lectionnez <option>Partition</option>.</para>
+ </listitem>
+ <listitem>
+ <para>S&eacute;lectionnez le disque &agrave; configurer avec les touches Fl&egrave;ches et
+ la barre d'espacement.</para>
+ </listitem>
+ <listitem>
+ <para>Si vous utilisez tout le disque pour FreeBSD, s&eacute;lectionnez
+ <option>A</option>.</para>
+ </listitem>
+ <listitem>
+ <para>A la question:</para>
+ <programlisting>
+Do you want to do this with a true partition entry so as to remain
+cooperative with any future possible operating systems on the
+drive(s)?
+
+[Voulez-vous cr&eacute;er une vraie entr&eacute;e de partition pour rester
+compatible avec d'&eacute;ventuels futurs syst&egrave;mes d'exploitation
+sur le(s) disque(s)?]
+ </programlisting>
+ <para>r&eacute;pondez <option>No</option> (Non).</para>
+ </listitem>
+ <listitem>
+ <para>Quand on vous demande si vous voulez continuer, r&eacute;pondez
+ <option>Yes</option> (Oui).</para>
+ </listitem>
+ <listitem>
+ <para>S&eacute;lectionnez <option>Write</option> (Ecrire).</para>
+ </listitem>
+ <listitem>
+ <para>A l'avertissement &agrave; propos de l'&eacute;criture sur des syst&egrave;mes
+ d&eacute;j&agrave; install&eacute;s, r&eacute;pondez <option>Yes</option> (Oui).</para>
+ </listitem>
+ <listitem>
+ <para><option>Quit</option>tez l'&eacute;diteur
+ <citerefentry><refentrytitle>fdisk</refentrytitle></citerefentry>
+ et revenez au menu d'<option>Index</option> avec
+ <keycap>Echap</keycap>.</para>
+ </listitem>
+ <listitem>
+ <para>S&eacute;lectionnez <option>Label</option> dans le menu
+ d'<option>Index</option>.</para>
+ </listitem>
+ <listitem>
+ <para>Libellez le disque comme vous le souhaitez. Si vous ne voulez
+ qu'une seule partition, tapez <keycap>C</keycap> pour cr&eacute;er une
+ partition, validez la taille propos&eacute;e par d&eacute;faut, prenez comme
+ type de partition <option>Filesystem</option> (syst&egrave;me de fichiers)
+ et indiquez un point de montage (qui dans ce cas ne sert &agrave;
+ rien).</para>
+ </listitem>
+ <listitem>
+ <para>Tapez <keycap>W</keycap> une fois que vous avez termin&eacute;. Le
+ syst&egrave;me de fichiers sera initialis&eacute; avec
+ <citerefentry><refentrytitle>newfs</refentrytitle></citerefentry>
+ sans que vous n'ayez autre chose &agrave; faire, &agrave; moins que vous ne
+ fassiez un autre choix (pour les nouvelles partitions, il faut
+ initialiser le syst&egrave;me de fichiers!). Vous aurez un message
+ d'erreur:</para>
+ <programlisting>
+Error mounting /mnt/dev/wd2s1e on /mnt/blah : No such file or directory
+ </programlisting>
+ <para>Ne vous en occupez pas.</para>
+ </listitem>
+ <listitem>
+ <para>Quittez le programme, en utilisant &agrave; plusieurs reprises la
+ touche <keycap>Echap</keycap>.</para>
+ </listitem>
+ </orderedlist>
+ </sect2>
+ <sect2>
+ <title>Formater des disques en mode d&eacute;di&eacute; depuis la ligne de
+ commande</title>
+ <para>Ex&eacute;cutez les commandes suivantes, en substituant &agrave;
+ <devicename>wd2</devicename> le nom de votre disque. Les lignes
+ qui commencent par <literal>#</literal> sont des commentaires.</para>
+ <informalexample>
+<screen><userinput>dd if=/dev/zero of=/dev/rwd2 count=2</userinput>
+<userinput>disklabel /dev/rwd2 | disklabel -B -R -r wd2 /dev/stdin</userinput>
+# Nous ne voulons qu'une partition, utiliser la tranche 'c' devrait aller:
+<userinput>newfs /dev/rwd2c</userinput></screen>
+ </informalexample>
+ <para>Si vous avez besoin de modifier le label du disque pour cr&eacute;er
+ plusieurs partitions (pour la pagination par exemple), utilisez la
+ s&eacute;quence suivante:</para>
+ <informalexample>
+<screen><userinput>dd if=/dev/zero of=/dev/rwd2 count=2</userinput>
+<userinput>disklabel /dev/r$d > /tmp/label</userinput>
+# Modifiez le label du disque pour ajouter des partitions:
+<userinput>vi /tmp/label</userinput>
+<userinput>disklabel -B -R -r wd2 /tmp/label</userinput>
+# Cr&eacute;ez les syst&egrave;mes de fichiers sur les partitions avec newfs selon les besoins</screen>
+ </informalexample>
+ <para>Votre disque est maintenant pr&ecirc;t &agrave; &ecirc;tre utilis&eacute;.</para>
+ </sect2>
+ </sect1>
+ <sect1>
+ <title>Formater des disques en mode compatible</title>
+ <sect2>
+ <title>Introduction</title>
+ <para>Travailler depuis la ligne de commande est la mani&egrave;re la plus facile
+ de formater des disques d&eacute;di&eacute;s, et la pire pour formater des disques
+ compatibles. L'utilitaire en ligne de commande
+ <citerefentry><refentrytitle>fdisk</refentrytitle></citerefentry>
+ demande une bonne connaissance des math&eacute;matiques et une compr&eacute;hension en
+ profondeur de la structure de la table des &ldquo;tranches&rdquo;, qui
+ d&eacute;passent ce dont la plupart des gens souhaitent se pr&eacute;occuper. Utilisez
+ <citerefentry><refentrytitle>sysinstall</refentrytitle></citerefentry>
+ comme d&eacute;crit dans ce qui suit.</para>
+ </sect2>
+ <sect2>
+ <title>Formater des disques en mode compatible avec Sysinstall</title>
+ <orderedlist>
+ <listitem>
+ <para>Lancez
+ <citerefentry><refentrytitle>sysinstall</refentrytitle></citerefentry>
+ en tant que super-utilisateur <username>root</username> en
+ tapant:</para>
+ <informalexample>
+<screen>&prompt.root; <userinput>/stand/sysinstall</userinput></screen>
+ </informalexample>
+ <para>sur la ligne de commande.</para>
+ </listitem>
+ <listitem>
+ <para>S&eacute;lectionnez <option>Index</option>.</para>
+ </listitem>
+ <listitem>
+ <para>S&eacute;lectionnez <option>Partition</option>.</para>
+ </listitem>
+ <listitem>
+ <para>S&eacute;lectionnez le disque &agrave; configurer avec les touches Fl&egrave;ches et
+ la barre d'espacement.</para>
+ </listitem>
+ <listitem>
+ <para>Si vous utilisez tout le disque pour FreeBSD, s&eacute;lectionnez
+ <option>A</option>.</para>
+ </listitem>
+ <listitem>
+ <para>A la question:</para>
+ <programlisting>
+Do you want to do this with a true partition entry so as to remain
+cooperative with any future possible operating systems on the
+drive(s)?
+
+[Voulez-vous cr&eacute;er une vraie entr&eacute;e de partition pour rester
+compatible avec d'&eacute;ventuels futurs syst&egrave;mes d'exploitation
+sur le(s) disque(s)?]
+ </programlisting>
+ <para>r&eacute;pondez <option>Yes</option> (Oui).</para>
+ </listitem>
+ <listitem>
+ <para>S&eacute;lectionnez <option>Write</option> (Ecrire).</para>
+ </listitem>
+ <listitem>
+ <para><option>Quit</option>tez l'&eacute;diteur
+ <citerefentry><refentrytitle>fdisk</refentrytitle></citerefentry>.</para>
+ </listitem>
+ <listitem>
+ <para>A la question &agrave; propos du gestionnaire de d&eacute;marrage, r&eacute;pondez
+ encore <option>None</option> (aucun).</para>
+ </listitem>
+ <listitem>
+ <para>S&eacute;lectionnez <option>Label</option> dans le menu
+ d'<option>Index</option>.</para>
+ </listitem>
+ <listitem>
+ <para>Libellez le disque comme vous le souhaitez. Si vous ne voulez
+ qu'une seule partition, validez la taille propos&eacute;e par
+ d&eacute;faut, prenez comme type de partition <option>Filesystem</option>
+ (syst&egrave;me de fichiers) et indiquez un point de montage (qui dans ce
+ cas ne sert &agrave; rien).</para>
+ </listitem>
+ <listitem>
+ <para>Le syst&egrave;me de fichiers sera initialis&eacute; avec
+ <citerefentry><refentrytitle>newfs</refentrytitle></citerefentry>
+ sans que vous n'ayez autre chose &agrave; faire, &agrave; moins que vous ne
+ fassiez un autre choix (pour les nouvelles partitions, il faut
+ initialiser le syst&egrave;me de fichiers!). Vous aurez un message
+ d'erreur:</para>
+ <programlisting>
+Error mounting /mnt/dev/wd2s1e on /mnt/blah : No such file or directory
+ </programlisting>
+ <para>Ne vous en occupez pas.</para>
+ </listitem>
+ <listitem>
+ <para>Quittez le programme, en utilisant &agrave; plusieurs reprises la
+ touche <keycap>Echap</keycap>.</para>
+ </listitem>
+ </orderedlist>
+ <para>Votre nouveau disque est pr&ecirc;t &agrave; &ecirc;tre utilis&eacute;.</para>
+ </sect2>
+ </sect1>
+ <sect1>
+ <title>Autres op&eacute;rations sur les disques</title>
+ <sect2>
+ <title>Ajout d'espace de pagination</title>
+ <para>Au fur et &agrave; mesure que le syst&egrave;me grossit, ses besoins d'espace de
+ pagination peuvent aussi augmenter. Alors qu'il est tr&egrave;s difficile
+ d'ajouter de l'espace de pagination &agrave; des disques en service, un nouveau
+ disque peut &ecirc;tre partitionn&eacute; pour mettre en oeuvre de l'espace de
+ pagination suppl&eacute;mentaire.</para>
+ <para>Pour ajouter de l'espace de pagination au moment de l'installation
+ d'un nouveau disque:</para>
+ <orderedlist>
+ <listitem>
+ <para>Au moment de partitionner le disque, &eacute;ditez son label et
+ allouer la quantit&eacute; d'espace de pagination voulue en ajoutant une
+ partition 'b' et en affectant le reste &agrave; une autre partition,
+ telle que 'a' ou 'e'. La taille est &agrave; donner en blocs de 512
+ octets.</para>
+ </listitem>
+ <listitem>
+ <para>Au moment de cr&eacute;er les syst&egrave;mes de fichiers avec
+ <citerefentry><refentrytitle>newfs</refentrytitle></citerefentry>,
+ ne formatez pas la partition 'c'. Formatez &agrave; la place la partition
+ qui n'est pas r&eacute;serv&eacute;e &agrave; la pagination.</para>
+ </listitem>
+ <listitem>
+ <para>Ajoutez la ligne qui suit &agrave;
+ <filename>/etc/fstab</filename>:</para>
+ <programlisting>
+/dev/wd0b none swap sw 0 0
+ </programlisting>
+ <para>En remplacant <filename>/dev/wd0b</filename> par le nom du
+ nouvel espace de pagination.</para>
+ </listitem>
+ <listitem>
+ <para>Pour que l'espace de pagination soit imm&eacute;diatement utilisable,
+ utilisez la commande
+ <citerefentry><refentrytitle>newfs</refentrytitle></citerefentry>:</para>
+ <informalexample>
+<screen>&prompt.user; <userinput>swapon /dev/sd0b</userinput>
+swapon: added /dev/sd0b as swap space</screen>
+ </informalexample>
+ </listitem>
+ </orderedlist>
+ </sect2>
+ <sect2>
+ <title>Copier le contenu d'un disque sur un autre</title>
+ <para>Propos&eacute; par: Renauld Waldura
+ <email>renaud@softway.com</email>.</para>
+ <para>Pour d&eacute;placer le contenu d'un disque sur un nouveau, faites:</para>
+ <informalexample>
+<screen>&prompt.root; <userinput>mount /dev/wd2 /mnt</userinput>
+&prompt.root; <userinput>pax -r -w -p e /usr/home /mnt</userinput>
+&prompt.root; <userinput>umount /mnt</userinput>
+&prompt.root; <userinput>rm -rf /usr/home/*</userinput>
+&prompt.root; <userinput>mount /dev/wd2 /usr/home</userinput></screen>
+ </informalexample>
+ </sect2>
+ <sect2>
+ <title>Cr&eacute;er des disques &agrave; &eacute;critures r&eacute;parties avec
+ <devicename>ccd</devicename></title>
+ <para>Commandes transmises par: Stan Brown
+ <email>stanb@awod.com</email>.</para>
+ <para>Le pilote de disques
+ concat&eacute;n&eacute;s&nbsp;-&nbsp;&ldquo;<foreignphrase>Concatenated Disk
+ Driver</foreignphrase>&rdquo;, ou CCD&nbsp;-&nbsp;vous permet
+ d'utiliser plusieurs disques comme s'il s'agissait d'un seul. Les
+ &eacute;critures r&eacute;parties peuvent augmenter les performances disque en
+ distribuant les lectures et les &eacute;critures sur plusieurs disques.
+ Voyez les pages de manuel de
+ <citerefentry><refentrytitle>ccd</refentrytitle>
+ <manvolnum>4</manvolnum></citerefentry> et
+ <citerefentry><refentrytitle>ccdconfig</refentrytitle>
+ <manvolnum>4</manvolnum></citerefentry> ou la
+ <ulink url="http://stampede.cs.berkeley.edu/ccd/">page de
+ CCD</ulink>, pour plus d'informations.</para>
+ <para>Pour cr&eacute;er un nouveau CCD, ex&eacute;cutez les commandes ci-dessous.
+ Elles d&eacute;crivent comment concat&eacute;ner trois disques; ajoutez ou
+ supprimez des p&eacute;riph&eacute;riques selon vos besoins. Rappelez-vous
+ que les disques sur lequels se fera la r&eacute;partition doivent &ecirc;tre
+ <emphasis>identiques</emphasis>.</para>
+ <para>Avant d'ex&eacute;cuter ces commandes, v&eacute;rifiez que vous avez bien
+ ajout&eacute; la ligne:</para>
+ <programlisting>
+pseudo-device ccd 4
+ </programlisting>
+ <para>&agrave; la configuration de votre noyau.</para>
+ <informalexample>
+<screen>&prompt.root; <userinput>cd /dev ; sh MAKDEV ccd0</userinput></screen>
+ </informalexample>
+ <informalexample>
+<screen>&prompt.root; <userinput>disklabel -r -w sd0 auto</userinput>
+&prompt.root; <userinput>disklabel -r -w sd1 auto</userinput>
+&prompt.root; <userinput>disklabel -r -w sd2 auto</userinput></screen>
+ </informalexample>
+ <informalexample>
+<screen>&prompt.root; <userinput>disklabel -e sd0c</userinput> # changer le type en 4.2BSD
+&prompt.root; <userinput>disklabel -e sd1c</userinput> # changer le type en 4.2BSD
+&prompt.root; <userinput>disklabel -e sd2c</userinput> # changer le type en 4.2BSD</screen>
+ </informalexample>
+ <informalexample>
+<screen>&prompt.root; <userinput>ccdconfig ccd0 32 0 /dev/sd0c /dev/sd1c /dev/sd2c</userinput></screen>
+ </informalexample>
+ <informalexample>
+<screen>&prompt.root; <userinput>newfs /dev/rccd0c</userinput></screen>
+ </informalexample>
+ <para>Vous pouvez maintenant monter et utiliser votre CCD en le
+ r&eacute;f&eacute;ren&ccedil;ant comme p&eacute;riph&eacute;rique
+ <filename>/dev/ccd0c</filename>.</para>
+ </sect2>
+ </sect1>
+ <sect1>
+ <title>Remerciements</title>
+ <para>L'auteur aimerait remercier les personnes suivantes pour leur
+ contribution &agrave; ce projet:</para>
+ <itemizedlist>
+ <listitem>
+ <para>Darryl Okahata <email>darrylo@hpnmhjw.sr.hp.com</email>,
+ pour sa documentation simple sur la configuration de
+ disques en mode d&eacute;di&eacute;, que j'ai utilis&eacute;e &agrave; plusieurs reprises
+ sur la &a.questions;.</para>
+ </listitem>
+ <listitem>
+ <para>&a.jkh; pour avoir rendu
+ <citerefentry><refentrytitle>sysinstall</refentrytitle></citerefentry>
+ utile &agrave; ce type de t&acirc;ches.</para>
+ </listitem>
+ <listitem>
+ <para>John Fieber <email>jfieber@indiana.edu</email> pour avoir
+ mis au point la documentation et les exemples d'utilisation de
+ la <foreignphrase>DTD Docbook</foreignphrase> utilis&eacute;e
+ pour mettre en forme ce document.</para>
+ </listitem>
+ <listitem>
+ <para>&a.grog; pour avoir contr&ocirc;l&eacute; mon travail et mentionn&eacute; les
+ inexactitudes, ainsi que pour son concours sur divers points.</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+</article>
diff --git a/fr_FR.ISO_8859-1/articles/ip-aliasing/Makefile b/fr_FR.ISO_8859-1/articles/ip-aliasing/Makefile
new file mode 100644
index 0000000000..72c1d9b8c9
--- /dev/null
+++ b/fr_FR.ISO_8859-1/articles/ip-aliasing/Makefile
@@ -0,0 +1,20 @@
+#
+# The FreeBSD Documentation Project
+# The FreeBSD French Documentation Project
+#
+# $FreeBSD$
+# Original revision: 1.4
+#
+
+DOC?= article
+
+FORMATS?= html
+
+INSTALL_COMPRESSED?=gz
+INSTALL_ONLY_COMPRESSED?=
+
+SRCS= article.sgml
+
+DOC_PREFIX?= ${.CURDIR}/../../..
+
+.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/fr_FR.ISO_8859-1/articles/ip-aliasing/article.sgml b/fr_FR.ISO_8859-1/articles/ip-aliasing/article.sgml
new file mode 100755
index 0000000000..149e58a4da
--- /dev/null
+++ b/fr_FR.ISO_8859-1/articles/ip-aliasing/article.sgml
@@ -0,0 +1,277 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+<!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN" [
+<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> %man;
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES Common Document URL Entities//FR"> %urls;
+<!ENTITY % abstract PUBLIC "-//FreeBSD//ENTITIES DocBook Abstract Entities//FR"> %abstract;
+<!ENTITY % artheader PUBLIC "-//FreeBSD//ENTITIES DocBook ArtHeader Entities//FR"> %artheader;
+<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//FR"> %translators;
+
+<!ENTITY % authors SYSTEM "../../../en_US.ISO_8859-1/books/handbook/authors.ent"> %authors;
+<!ENTITY % mailing-lists SYSTEM "../../books/handbook/mailing-lists.ent"> %mailing-lists;
+ <!ENTITY rel.current CDATA "3.2">
+]>
+
+<article lang="fr">
+ <artheader>
+ <title>Alias IP avec FreeBSD 2.x</title>
+ <authorgroup>
+ <author>
+ <firstname>Ben</firstname>
+ <surname>Black</surname>
+ </author>
+ </authorgroup>
+ &artheader.copyright;
+ <abstract>
+ <para><email>black@cypher.net</email></para>
+ &abstract.license;
+ &abstract.disclaimer;
+ &trans.a.haby;
+ </abstract>
+ </artheader>
+ <sect1>
+ <title>Introduction</title>
+ <para>D&eacute;finir des <emphasis>alias IP</emphasis> consiste &agrave; affecter plus
+ d'une adresse IP &agrave; une interface r&eacute;seau. Les alias IP sont typiquement
+ employ&eacute;s pour h&eacute;berger des serveurs Web et FTP virtuels et pour
+ r&eacute;organiser ses serveurs sans avoir &agrave; mettre &agrave; jour d'autres machines
+ (ce dernier usage est particuli&egrave;rement utile avec les serveurs de noms
+ de domaines). Voyez un alias IP comme un petit enfant perch&eacute; sur le
+ dos de son interface parente (qui est l'adresse primaire de l'interface
+ physique).</para>
+ <para>Les alias IP <emphasis>n'ont rien &agrave; voir</emphasis> avec la notion
+ de <emphasis>multi-h&eacute;bergement</emphasis>&nbsp;-&nbsp;&ldquo;<foreignphrase>multi-homing</foreignphrase>&rdquo;
+ (lorsqu'une machine dispose de plus d'une interface r&eacute;seau active), sauf
+ au cas o&ugrave; une machine sur plusieurs r&eacute;seaux fournit des services tels que
+ ceux list&eacute;s plus haut. La confusion entre les deux notions est une erreur
+ propag&eacute;e du monde Macintosh et vous seriez avis&eacute; de ne pas les suivre sur
+ ce point.</para>
+ <para>Il y a deux commandes essentielles &agrave; la mise en place d'alias IP sur
+ FreeBSD (et sur tous les autres syst&egrave;mes Unix que j'aie jamais utilis&eacute;s),
+ ce sont <command>ifconfig</command> et <command>route</command>.
+ L'utilisation correcte de ces commandes est d&eacute;crite ci-dessous. Pour
+ conna&icirc;tre toutes les subtilit&eacute;s de leur emploi, reportez-vous aux pages de
+ manuel correspondantes. Il y a deux autres commandes utiles pour v&eacute;rifier
+ que tout fonctionne comme il se doit et pour mettre les choses au point
+ si ce n'est pas le cas. <command>netstat</command> vous permet de
+ consulter la table de routage du noyau (entre autres choses utiles), et
+ ping est un appr&eacute;ciable petit outil pour tester l'acc&egrave;s &agrave; votre nouvel
+ alias (comme &agrave; toute autre adresse IP).</para>
+ <important>
+ <para>Vous <emphasis>devez</emphasis> &ecirc;tre en session sous le compte
+ super-utilisateur <username>root</username> pour pouvoir ex&eacute;cuter la
+ plupart des commandes d&eacute;crites dans ce qui suit.</para>
+ </important>
+ </sect1>
+ <sect1>
+ <title>Utiliser <command>ifconfig</command></title>
+ <para><citerefentry><refentrytitle>ifconfig</refentrytitle></citerefentry>
+ sert &agrave; configuer les diff&eacute;rentes caract&eacute;ristiques d'une interface r&eacute;seau
+ (adresse, protocole, masque de r&eacute;seau, etc.).
+ <citerefentry><refentrytitle>ifconfig</refentrytitle></citerefentry> nous
+ servira ici &agrave; ajouter (et parfois &agrave; supprimer) les adresses des alias des
+ interfaces.</para>
+ <para>Dans l'exemple ci-dessous, nous supposerons que notre machine n'a
+ qu'une seule interface Ethernet 3Com 3C509 (<devicename>ep0</devicename>)
+ d'adresse <hostid role="ipaddr">192.168.57.82</hostid> avec comme masque
+ de sous-r&eacute;seau <hostid role="netmask">255.255.255.0</hostid>, en plus
+ de l'interface &ldquo;en boucle&rdquo; standard
+ <hostid role="ipaddr">127.0.0.1</hostid>. Vous devrez bien s&ucirc;r remplacer
+ ces valeurs par l'adresse et le masque de sous-r&eacute;seau de votre(vos)
+ interface(s). L'adresse et le masque de sous-r&eacute;seau de l'interface
+ &ldquo;en boucle&rdquo; sont les m&ecirc;mes sur toutes les machines.</para>
+ <para>Pour ajouter un alias &agrave; <devicename>ep0</devicename>, nous passons
+ simplement une commande du style:</para>
+ <informalexample>
+<screen>&prompt.root; <userinput>ifconfig ep0 inet 192.168.57.10 netmask 255.255.255.255 alias</userinput></screen>
+ </informalexample>
+ <para>Ce qui dit &agrave; FreeBSD que nous d&eacute;finissons une adresse IP
+ (<literal>inet</literal>) pour la carte 3Com
+ (<devicename>ep0</devicename>) avec comme adresse
+ <hostid role="ipaddr">192.168.57.10</hostid>, comme masque de
+ sous-r&eacute;seau (<literal>netmask</literal>)
+ <hostid role="netmask">255.255.255.255</hostid> (i.e., tous
+ les bits &agrave; 1) pour &eacute;viter que le syst&egrave;me d'exploitation ne proteste qu'il
+ y a d&eacute;j&agrave; une adresse affect&eacute;e &agrave; cette interface, et que c'est un alias
+ pour cette interface (<literal>alias</literal>).</para>
+ <para>Vous pouvez aussi omettre le masque de sous-r&eacute;seau (ou lui donner une
+ autre valeur). Jusqu'&agrave; FreeBSD 2.1.0 compris, il y a n&eacute;anmoins un bogue
+ qui fait que les commandes <command>ifconfig alias</command> &eacute;chouent &agrave;
+ la premi&egrave;re tentative, mais r&eacute;ussissent &agrave; la seconde, si vous n'indiquez
+ pas <hostid role="netmask">255.255.255.255</hostid> comme masque de
+ sous-r&eacute;seau. Si vous ne donnez pas ce masque de sous-r&eacute;seau de
+ <hostid role="netmask">255.255.255.255</hostid>, vous devrez aussi ajouter
+ une route manuellement, comme d&eacute;crit ci-dessous.</para>
+ <para>Pour supprimer l'alias, nous ex&eacute;cutons une commande tr&egrave;s
+ similaire:</para>
+ <informalexample>
+<screen>&prompt.root; <userinput>ifconfig ep0 inet 192.168.57.10 -alias</userinput></screen>
+ </informalexample>
+ <para>Il n'y a pas besoin de param&egrave;tres suppl&eacute;mentaires, tels que le masque
+ de sous-r&eacute;seau, parce que l'alias est enti&egrave;rement d&eacute;fini par l'adresse IP,
+ de sorte que FreeBSD peut supprimer toutes les ressources associ&eacute;es en se
+ basant sur cette adresse.</para>
+ </sect1>
+ <sect1>
+ <title>Utiliser <command>route</command></title>
+ <para><citerefentry><refentrytitle>route</refentrytitle></citerefentry> sert
+ &agrave; modifier &agrave; la main la table de routage du noyau. Pour nos besoins, une
+ fois que nous avons donn&eacute; &agrave; FreeBSD l'alias pour l'interface, nous devons
+ d&eacute;finir une route IP vers cet alias. Si vous avez pr&eacute;cis&eacute; le masque de
+ sous-r&eacute;seau de <hostid role="netmask">255.255.255.255</hostid> avec la
+ commande pr&eacute;c&eacute;dente, vous pouvez vous dispenser de cette &eacute;tape.</para>
+ <para>Pour ajouter une route vers notre nouvelle interface, nous
+ ex&eacute;cutons:</para>
+ <informalexample>
+<screen>&prompt.root; <userinput>route add -host 192.168.57.10 127.0.0.1 0</userinput></screen>
+ </informalexample>
+ <para>Cela dit &agrave; FreeBSD que pour arriver &agrave; la machine
+ <hostid role="ipaddr">192.168.57.10</hostid>, les paquets doivent &ecirc;tre
+ envoy&eacute;s sur l'interface &ldquo;en boucle&rdquo;
+ (<hostid role="ipaddr">127.0.0.1</hostid> aussi appel&eacute;e
+ <hostid role="hostname">localhost</hostid> et que la distance (d&eacute;compte
+ de noeuds interm&eacute;diaires) est de <literal>0</literal>, ce qui signifie
+ que c'est la machine locale.</para>
+ <para>Pour supprimer cette route, nous ex&eacute;cutons:</para>
+ <informalexample>
+<screen>&prompt.root; <userinput>route delete -host 192.168.57.10</userinput></screen>
+ </informalexample>
+ <para>De nouveau, comme la route est enti&egrave;rement d&eacute;finie par les param&egrave;tres
+ indiqu&eacute;s, nous pouvons laisser de c&ocirc;t&eacute; les autres donn&eacute;es telles que
+ le masque de sous-r&eacute;seau et la distance. Pour des informations compl&egrave;tes
+ sur la commande
+ <citerefentry><refentrytitle>route</refentrytitle></citerefentry>,
+ voyez les pages de manuel.</para>
+ </sect1>
+ <sect1>
+ <title>Tester notre travail</title>
+ <para>Maintenant que nous avons (esp&eacute;rons-le) un alias d&eacute;fini et accessible,
+ nous devons v&eacute;rifier qu'il fonctionne correctement. Nous examinerons
+ d'abord la table de routage du noyau, pour v&eacute;rifier que la route vers
+ l'alias est bien pr&eacute;sente, puis nous utiliserons
+ <citerefentry><refentrytitle>ping</refentrytitle></citerefentry> pour
+ nous assurer que des paquets peuvent l'atteindre.</para>
+ <para>Pour voir la table de routage du noyau, sous forme num&eacute;rique,
+ tapons:</para>
+ <informalexample>
+<screen>&prompt.user; <userinput>netstat -nr</userinput></screen>
+ </informalexample>
+ <para>Dans notre exemple, voici &agrave; quoi ressemblerait le r&eacute;sultat:</para>
+ <programlisting>
+Routing tables
+
+Internet:
+Destination Gateway Flags Refs Use Netif Expire
+default 192.168.57.1 UGSc 4 964 ep0
+127.0.0.1 127.0.0.1 UH 1 39 lo0
+192.168.57 link#2 UC 0 0
+192.168.57.10/32 link#2 UC 0 0
+192.168.57.82 127.0.0.1 UGHS 0 0 lo0
+224/4 link#2 UCS 0 0
+ </programlisting>
+ <para>Nous y voyons la route par d&eacute;faut, la route vers l'interface
+ &ldquo;en boucle&rdquo;, la route vers notre r&eacute;seau local et une curieuse
+ route vers notre alias. Le <literal>/32</literal> qui suit l'adresse de
+ l'alias donne la longueur du masque de sous-r&eacute;seau (le nombre de 1, en
+ partant de la gauche). Comme nous avons utilis&eacute; un masque de sous-r&eacute;seau
+ de <hostid role="netmask">255.255.255.255</hostid>, la longueur de
+ celui-ci (le nombre de 1) est de 32.</para>
+ <para>Maintenant que nous avons v&eacute;rifi&eacute; que la route est bien dans la table
+ de routage du noyau, nous pouvons effectuer un contr&ocirc;le rapide pour nous
+ assurer que cette route fonctionne bien. Ex&eacute;cutons une commande
+ <citerefentry><refentrytitle>ping</refentrytitle></citerefentry> comme
+ ci-dessous:</para>
+ <informalexample>
+<screen>&prompt.user; <userinput>ping 192.168.57.10</userinput></screen>
+ </informalexample>
+ <para>Si tout va bien, voici ce que nous verrions:</para>
+ <programlisting>
+PING 192.168.57.10 (192.168.57.10): 56 data bytes
+64 bytes from 192.168.57.10: icmp_seq=0 ttl=255 time=0.313 ms
+64 bytes from 192.168.57.10: icmp_seq=1 ttl=255 time=0.197 ms
+64 bytes from 192.168.57.10: icmp_seq=2 ttl=255 time=0.190 ms
+ </programlisting>
+ <para>Appuyons simplement sur
+ <keycombo><keycap>Ctrl</keycap><keycap>C</keycap></keycombo> pour arr&ecirc;ter
+ <citerefentry><refentrytitle>ping</refentrytitle></citerefentry> si tout
+ para&icirc;t satisfaisant. Il nous &ldquo;crachera&rdquo; alors quelques
+ statistiques, que nous pouvons normalement ignorer. S'il n'y a pas de
+ retour ou s'il y a des messages d'erreur, quelque chose ne va pas.
+ Reprenez tout du d&eacute;but et lisez les pages de manuel (non, vraiment,
+ <emphasis>allez lire les pages de manuel</emphasis>), et, finalement,
+ posez vos questions sur la &a.questions;.</para>
+ </sect1>
+ <sect1>
+ <title>Tout mettre en place</title>
+ <para>Maintenant que nous avons compris comment utiliser les commandes
+ <citerefentry><refentrytitle>ifconfig</refentrytitle></citerefentry> et
+ <citerefentry><refentrytitle>route</refentrytitle></citerefentry> pour
+ ajouter et supprimer des alias IP, faisons en sorte que la machine
+ ex&eacute;cute les commandes voulues au d&eacute;marrage de fa&ccedil;on &agrave; ce que l'alias soit
+ toujours actif.</para>
+ <para>Vers la fin de notre fichier <filename>/etc/rc.local</filename>, nous
+ ajouterons la ligne:</para>
+ <programlisting>
+ifconfig ep0 inet 192.168.57.10 netmask 255.255.255.255 alias
+ </programlisting>
+ <para>Si nous utilisons un autre masque de sous-r&eacute;seau que
+ <hostid role="netmask">255.255.255.255</hostid>, nous devrons aussi
+ utiliser la commande
+ <citerefentry><refentrytitle>route</refentrytitle></citerefentry> comme
+ expliqu&eacute; plus haut. Il est possible d'ajouter de cette fa&ccedil;on autant
+ d'alias que l'on veut (en supposant que nous disposons de suffisamment
+ d'adresses allou&eacute;es). Il suffit de mettre plusieurs commandes comme
+ la pr&eacute;c&eacute;dente dans <filename>/etc/rc.local</filename>, avec les adresses
+ appropri&eacute;es. Il est m&ecirc;me possible de d&eacute;finir comme alias des adresses
+ d'un autre r&eacute;seau IP, si ce r&eacute;seau est aussi rout&eacute; sur nous. C'est une
+ situation diff&eacute;rente de celle d'une machine avec plusieurs interfaces
+ <emphasis>physiques</emphasis> qui doivent <emphasis>toujours</emphasis>
+ avoir des adresses sur des r&eacute;seaux IP diff&eacute;rents.</para>
+ <para>Il y a un certains nombre de points &agrave; conna&icirc;tre lorsque l'on utilise
+ un grand nombre d'alias (plus de ~10), que je citerai.</para>
+ <para>Tout d'abord, il y a un bogue dans toutes les distributions de
+ <application>bind</application> (le serveur DNS
+ <application>named</application> fait partie de
+ <application>BIND</application>) qui emp&ecirc;che le d&eacute;marrage correct de
+ <application>named</application> lorsqu'il y a plus de 64 alias sur
+ une interface. Il n'y a pas de palliatif particuli&egrave;rement simple, je ne
+ les mentionnerai donc pas ici.</para>
+ <para>En second lieu, pour &eacute;viter de truffer votre fichier
+ <filename>/etc/rc.local</filename> de quantit&eacute;
+ d'<citerefentry><refentrytitle>ifconfig</refentrytitle></citerefentry>, je
+ vous sugg&egrave;re d'utiliser un fichier &agrave; part dans <filename>/etc</filename>
+ pour les y mettre. Cr&eacute;ez par exemple un fichier
+ <filename>ifconfig.ep0</filename> et mettez-y tous les
+ <literal>ifconfig alias</literal>. Puis dans
+ <filename>/etc/rc.local</filename>, ajoutez les lignes suivantes:</para>
+ <programlisting>
+if [ -x /sbin/ifconfig ]; then
+ echo -n 'Adding local ifconfigs '
+ . /etc/ifconfig.ep0
+ echo ' done.'
+fi
+ </programlisting>
+ <para>Ce fragment de proc&eacute;dure provient d'un fichier
+ <filename>/etc/rc.local</filename> fourni par Neil Fowler Wright
+ <email>neil@corpex.com</email>. Le bricoleur trouvera moyen d'y mettre
+ des boucles s'il y a plusieurs interfaces dont les alias sont d&eacute;finis
+ dans diff&eacute;rents fichiers <filename>ifconfig.*</filename>.</para>
+ </sect1>
+ <sect1>
+ <title>O&ugrave; trouver plus d'aide</title>
+ <para>M'envoyer directement un courrier &eacute;lectronique n'est probablement pas
+ le meilleur moyen d'obtenir de l'aide sur les probl&egrave;mes d'alias IP. Je
+ suis assez occup&eacute; la plupart du temps, et ai tendance &agrave; devenir assez
+ rousp&eacute;teur. N&eacute;anmoins, les participants de la &a.questions; sont
+ amicaux et secourables et r&eacute;pondront &agrave; vos questions plus rapidement que
+ je ne le ferais.</para>
+ <para>Cette page a grandement b&eacute;n&eacute;fici&eacute; des suggestions de Neil Fowler
+ Wright, Paul DuBois, Gabe Schuyler, et de Brodie le chat.</para>
+ </sect1>
+</article>
diff --git a/fr_FR.ISO_8859-1/articles/make-world/Makefile b/fr_FR.ISO_8859-1/articles/make-world/Makefile
new file mode 100644
index 0000000000..72c1d9b8c9
--- /dev/null
+++ b/fr_FR.ISO_8859-1/articles/make-world/Makefile
@@ -0,0 +1,20 @@
+#
+# The FreeBSD Documentation Project
+# The FreeBSD French Documentation Project
+#
+# $FreeBSD$
+# Original revision: 1.4
+#
+
+DOC?= article
+
+FORMATS?= html
+
+INSTALL_COMPRESSED?=gz
+INSTALL_ONLY_COMPRESSED?=
+
+SRCS= article.sgml
+
+DOC_PREFIX?= ${.CURDIR}/../../..
+
+.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/fr_FR.ISO_8859-1/articles/make-world/article.sgml b/fr_FR.ISO_8859-1/articles/make-world/article.sgml
new file mode 100755
index 0000000000..dd12d95e46
--- /dev/null
+++ b/fr_FR.ISO_8859-1/articles/make-world/article.sgml
@@ -0,0 +1,1376 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: 1.39
+-->
+
+<!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN" [
+<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> %man;
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES Common Document URL Entities//FR"> %urls;
+<!ENTITY % abstract PUBLIC "-//FreeBSD//ENTITIES DocBook Abstract Entities//FR"> %abstract;
+<!ENTITY % artheader PUBLIC "-//FreeBSD//ENTITIES DocBook ArtHeader Entities//FR"> %artheader;
+<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//FR"> %translators;
+
+<!ENTITY % authors SYSTEM "../../../en_US.ISO_8859-1/books/handbook/authors.ent"> %authors;
+<!ENTITY % mailing-lists SYSTEM "../../books/handbook/mailing-lists.ent"> %mailing-lists;
+ <!ENTITY rel.current CDATA "3.2">
+]>
+
+<article lang="fr">
+ <artheader>
+ <title>Refaire votre monde (avec &ldquo;make world&rdquo;)</title>
+ <authorgroup>
+ <author>
+ <firstname/Nik/
+ <surname/Clayton/
+ <affiliation>
+ <address><email/Nik.Clayton@nothing-going-on.demon.co.uk/</address>
+ </affiliation>
+ </author>
+ </authorgroup>
+ <pubdate>10 Juillet 1997</pubdate>
+
+ <abstract>
+ <para>Ce document pr&eacute;suppose que vous ayez install&eacute; une version du code
+ source de FreeBSD dans le r&eacute;pertoire <filename>/usr/src</filename>.
+ Ce peut &ecirc;tre la derni&egrave;re version de la branche en cours de
+ d&eacute;veloppement -current, &agrave; moins que vous ne restiez simplement &agrave; niveau
+ sur la branche -stable. Vous pouvez avoir t&eacute;l&eacute;charg&eacute; l'instantan&eacute; le plus
+ r&eacute;cent, ou bien rester &agrave; jour en utilisant les m&eacute;canismes fournis
+ par CVSup ou CTM.</para>
+
+ <para>Dans les deux cas, vous diposez du code source et voulez maintenant
+ mettre &agrave; jour votre syst&egrave;me.</para>
+
+ <para>Il y a un certain nombre d'&eacute;tapes &agrave; effectuer pour y arriver,
+ et quelques pi&egrave;ges &agrave; &eacute;viter en cours de route. Ce document vous
+ guide pas &agrave; pas &agrave; chacune de ces &eacute;tapes.</para>
+
+ <para>Il existe aussi des <link linkend="translations">Traductions</link>
+ de ce document dans d'autres langues.</para>
+ &trans.a.haby;
+ </abstract>
+</artheader>
+
+<sect1>
+ <title>Avertissements pr&eacute;alables</title>
+ <note>
+ <title>Faites une sauvegarde</title>
+
+ <para>Je n'insisterai jamais assez sur l'importance de faire un sauvegarde
+ de votre syst&egrave;me <emphasis>avant</emphasis> toute autre chose. Bien qu'il
+ soit facile de &ldquo;refaire le monde&rdquo;
+ (N.d.T.: recompiler FreeBSD)&nbsp;-&nbsp;si
+ vous suivez ces instructions, vous ferez forc&eacute;ment des erreurs &agrave; un moment
+ ou &agrave; un autre, sans compter les erreurs des autres dans l'arborescence des
+ sources qui emp&ecirc;cheraient votre syst&egrave;me de red&eacute;marrer.</para>
+
+ <para>Assurez-vous que vous avez bien fait une sauvegarde. Ayez une
+ disquette de maintenance &agrave; port&eacute;e de la main. Je n'ai jamais eu &agrave; les
+ utiliser, et, je touche du bois, esp&egrave;re ne jamais devoir m'en servir,
+ mais prudence est m&egrave;re de s&ucirc;ret&eacute;.</para>
+ </note>
+
+ <note>
+ <title>Abonnez-vous &agrave; la bonne liste de diffusion</title>
+
+ <para>Les branches -stable et -current du code de FreeBSD sont, par nature,
+ <emphasis>en d&eacute;veloppement</emphasis>. Les gens qui participent au projet
+ FreeBSD sont humains, et des erreurs se produisent parfois.</para>
+
+ <para>Ces erreurs sont parfois b&eacute;nignes. Votre syst&egrave;me affiche simplement
+ un nouveau message d'avertissement. Elles peuvent aussi &ecirc;tre
+ catastrophiques, et emp&ecirc;cher votre syt&egrave;me de red&eacute;marrer, d&eacute;truire vos
+ syst&egrave;mes de fichiers (ou pire).</para>
+
+ <para>Quand de tels probl&egrave;mes se produisent, un avertissement
+ &ldquo;heads up&rdquo; est post&eacute; sur la liste de diffusion appropri&eacute;e,
+ d&eacute;crivant le probl&egrave;me et les machines concern&eacute;es. Un message
+ &ldquo;all clear&rdquo; est diffus&eacute; quand le probl&egrave;me est
+ r&eacute;solu.</Para>
+
+ <para>Si vous restez &agrave; niveau sur -stable ou -current et ne lisez pas
+ <email>FreeBSD-stable@FreeBSD.ORG</email> ou
+ <email>FreeBSD-current@FreeBSD.ORG</email>, vous allez au devant
+ d'ennuis.</para>
+ </note>
+
+ <important>
+ <para>S'il vous pla&icirc;t, ne me posez pas de questions que vous devriez poster
+ sur les listes -questions, -current, ou -stable. Je n'ai ni le temps
+ ni l'environnement n&eacute;cessaire pour diagnostiquer des probl&egrave;mes
+ sp&eacute;cifiques, et n'ai probablement pas votre r&eacute;ponse. Les membres de
+ ces listes de diffusion sont nombreux, exp&eacute;riment&eacute;s et serviables, aussi,
+ posez leur vos questions. Adressez-moi cependant vos commentaires,
+ r&eacute;ponses et corrections<footnote><para>En anglais !</para></footnote>.
+ Si vous vous adressez &agrave; moi au sujet de ce
+ document, <emphasis>merci</emphasis> de m'indiquer le num&eacute;ro de version
+ qui se trouve en haut de cette page, que je sache &agrave; quelle version vous
+ faites r&eacute;f&eacute;rence.</para>
+
+ <para>Ce document est un effort collectif. De nombreuses personnes y ont
+ particip&eacute;, elles sont mentionn&eacute;es dans les
+ <link linkend="contributors">Contributions</link>
+ en fin de document.</para>
+
+ <para>Copyright (c) 1997, 1998 Nik Clayton, All rights reserved.</para>
+
+ <para>Vous pouvez redistribuer et utiliser ce document sous forme
+ de source (SGML DocBook) ou 'compil&eacute;' (HTML, PDF, PostScript, RTF,
+ etc..) avec ou sans modifications &agrave; la condition suivante:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Le document redistribu&eacute; doit inclure la notice de copyright
+ ci-dessus et l'avertissement ci-dessous, avant le corps du
+ document.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>THIS TUTORIAL IS PROVIDED BY NIK CLAYTON &ldquo;AS IS&rdquo; AND ANY
+ EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NIK CLAYTON BE LIABLE FOR ANY
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ ANY WAY OUT OF THE USE OF THIS TUTORIAL, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.</para>
+
+ <para>CE DOCUMENT EST FOURNI PAR NIK CLAYTON &ldquo;TEL QUEL&rdquo; ET
+ AUCUNE GARANTIE EXPRESSE OU IMPLICITE, Y COMPRIS, MAIS NON LIMITEE,
+ GARANTIES IMPLICITES DE COMMERCIABILITE ET D'ADEQUATION A UN BUT
+ PARTICULIER N'EST DONNEE. EN AUCUN CAS NIK CLAYTON NE
+ SAURAIT ETRE TENU RESPONSABLE
+ DES DOMMAGES DIRECTS, INDIRECTS, ACCIDENTELS, SPECIAUX OU CONSEQUENTS
+ (Y COMPRIS, MAIS SANS LIMITATION, LA FOURNITURE DE BIENS ET SERVICES
+ ANNEXES; DEFAUT D'UTILISABILITE, PERTE DE DONNEES OU DE PROFITS; OU
+ INTERRUPTION DE TRAVAIL) QUELLE QU'EN SOIT LA CAUSE ET SELON TOUTE
+ DEFINITION DE RESPONSABILITE, SOIT PAR CONTRAT, RESPONSABILITE STRICTE,
+ OU PREJUDICE (Y COMPRIS NEGLIGENCE OU AUTRES) IMPUTABLE D'UNE FACON
+ OU D'UNE AUTRE A L'UTILISATION DE CE DOCUMENT, MEME APRES AVOIR ETE AVISE
+ DE LA POSSIBILITE D'UN TEL DOMMAGE.</para>
+ </important>
+</sect1>
+
+ <sect1>
+ <title>Examinez <filename>/etc/make.conf</filename></title>
+
+ <para>Reportez-vous au fichier <filename>/etc/make.conf</filename>.
+ Il contient les valeurs par d&eacute;faut utilis&eacute;es par la commande
+ <command/make/, qui sera employ&eacute;e pour la recompilation. Elles sont aussi
+ utilis&eacute;es toutes les fois que vous invoquez <command/make/, il est donc
+ bon de vous assurer qu'elles comportent les valeurs appropri&eacute;es &agrave; votre
+ syst&egrave;me.</para>
+
+ <para>Tout y est, par d&eacute;faut, en commentaire. Activez les options qui
+ vous para&icirc;ssent utiles. Pour un utilisateur normal (qui ne d&eacute;veloppe
+ pas), il faut probalement utiliser les d&eacute;finitions de CFLAGS et
+ NOPROFILE.</para>
+
+ <note>
+ <title/Version 2.1.7 et ant&eacute;rieures/
+
+ <para>Si votre machine dispose d'une unit&eacute; de calcul en virgule
+ flottante (386DX, 486DX, Pentium et ult&eacute;rieurs) vous pouvez aussi
+ activer l'option HAVE_FPU.</para>
+
+ <para>Cette d&eacute;finition a disparu depuis la version 2.2.2 de
+ FreeBSD.</para>
+ </note>
+
+ <para>Examinez les autres d&eacute;finitions (COPTFLAGS, NOPORTDOCS et ainsi de
+ suite) et d&eacute;cidez de celles qui vous conviennent.</para>
+ </sect1>
+
+ <sect1>
+ <title>Mettez &agrave; jour le fichier <filename>/etc/group</filename></title>
+
+ <para>Le r&eacute;pertoire <filename>/etc</filename> contient la plupart des
+ informations de configuration de votre syst&egrave;me, ainsi que ses proc&eacute;dures
+ de d&eacute;marrage. Certaines de ces proc&eacute;dures changent d'une version &agrave; l'autre
+ de FreeBSD.</para>
+
+ <para>Certains fichiers de configuration sont aussi utilis&eacute;s en permanence
+ par le syst&egrave;me. En particulier, <filename>/etc/group</filename>.</para>
+
+ <para>Il est arriv&eacute; que la phase d'installation de &ldquo;make
+ world&rdquo; ait besoin que certains utilisateurs et groupes existent.
+ Il y a de fortes chances qu'ils n'aient pas &eacute;t&eacute; d&eacute;finis avant la mise
+ &agrave; jour. C'est une source de probl&egrave;mes.</para>
+
+ <para>L'exemple le plus r&eacute;cent concerne l'ajout du groupe &ldquo;ppp&rdquo;
+ (renomm&eacute; par la suite &ldquo;network&rdquo;). Les utilisateurs ont vu leur
+ mise &agrave; jour avorter &agrave; l'installation du sous-syt&egrave;me
+ <filename>ppp</filename> sous un groupe inexistant (chez eux).</para>
+
+ <para>La solution consiste &agrave; examiner le fichier
+ <filename>/usr/src/etc/group</filename> et &agrave; le comparer &agrave; votre propre
+ liste de groupes. S'il y a des groupes dans le nouveau fichier qui ne
+ sont pas dans votre fichier, copiez-les. De m&ecirc;me, vous devez renommer
+ tout groupe de votre fichier <filename>/etc/group</filename> qui a le
+ m&ecirc;me GID, mais un nom diff&eacute;rent, qu'un groupe du fichier
+ <filename>/usr/src/etc/group</filename>.</para>
+
+ <tip>
+ <para>Si vous &ecirc;tes particuli&egrave;rement parano&iuml;aque, vous pouvez contr&ocirc;ler
+ votre syst&egrave;me pour trouver les fichiers appartenant au groupe que vous
+ renommez ou supprimez. Une commande du type:
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>find / -group <replaceable>GID</replaceable> -print</userinput></screen>
+ </informalexample>
+
+ vous donnera la liste des fichiers appartenant au groupe
+ <replaceable>GID</replaceable>
+ (qui peut &ecirc;tre un nom de groupe ou un identifiant num&eacute;rique).</para>
+ </tip>
+ </sect1>
+
+ <sect1>
+ <title/Passez en mode mono-utilisateur/
+
+ <para>Il vaut mieux recompiler le syst&egrave;me en mode mono-utilisateur. En
+ dehors du fait que cela ira un peu plus vite, la r&eacute;installation va
+ modifier un grand nombre de fichiers syst&egrave;mes importants, tous les
+ binaires de base, les biblioth&egrave;ques, les fichiers inclus et ainsi de
+ suite. Les modifier quand le syst&egrave;me est en service (en particulier
+ s'il y a des utilisateurs connect&eacute;s &agrave; ce moment l&agrave;), c'est aller au devant
+ de probl&egrave;mes.</para>
+
+ <para>Cela dit, si vous avez confiance en vous, vous pouvez vous en
+ passer.</para>
+
+ <note>
+ <title>Version 2.2.5 et ult&eacute;rieure</title>
+
+ <para>Comme d&eacute;crit plus bas, la version 2.2.5 et les suivantes de
+ FreeBSD s&eacute;parent la recompilation et l'installation. Vous pouvez
+ d&egrave;s lors <emphasis>compiler</emphasis> le nouveau syst&egrave;me en mode
+ multi-utilisateurs et passer en mode mono-utilisateur juste pour
+ l'installer.</para>
+ </note>
+
+ <para>En tant que super-utilisateur, vous pouvez passer la commande:
+
+ <informalexample>
+<screen><prompt/#/ <userinput/shutdown now/</screen>
+ </informalexample>
+
+ sur un syst&egrave;me en fonctionnement, pour passer en mode
+ mono-utilisateur.</para>
+
+ <para>Ou bien, red&eacute;marrez le syst&egrave;me, et, &agrave; l'invite de d&eacute;marrage, entrez
+ l'indicateur <option>-s</option>. Le syst&egrave;me red&eacute;marrera en mode
+ mono-utilisateur. A l'invite de l'interpr&eacute;teur de commandes, ex&eacute;cutez:
+
+ <informalexample>
+<screen><prompt/#/ <userinput/fsck -p/
+<prompt/#/ <userinput>mount -u /</userinput>
+<prompt/#/ <userinput/mount -a -t ufs/
+<prompt/#/ <userinput/swapon -a/</screen>
+ </informalexample>
+
+ pour effectuer la v&eacute;rification des syst&egrave;mes de fichiers, remontez
+ <filename>/</filename> en mode lecture/&eacute;criture, et monter tous les
+ autres syst&egrave;mes de fichiers UFS list&eacute;s dans le fichier
+ <filename>/etc/fstab</filename>, puis activez la pagination.</para>
+ </sect1>
+
+ <sect1>
+ <title>Effacez <filename>/usr/obj</filename></title>
+
+ <para>Les composants du syst&egrave;me reconstruit sont au fur et &agrave; mesure plac&eacute;s
+ dans les sous-r&eacute;pertoires de <filename>/usr/obj</filename> (par d&eacute;faut).
+ Ces r&eacute;pertoires masquent ceux de <filename>/usr/src</filename>.</para>
+
+ <para>Vous pouvez acc&eacute;l&eacute;rer le travail de &ldquo;make world&rdquo;,
+ et peut-&ecirc;tre vous &eacute;viter quelques maux de t&ecirc;te en supprimant aussi
+ le r&eacute;pertoire <filename>/usr/obj</filename>.</para>
+
+ <para>Certains fichiers dans <filename>/usr/obj</filename> sont marqu&eacute;s
+ immuables (reportez-vous aux pages de manuel de
+ <command>chflags(1)</command> pour plus de d&eacute;tails). Il faut d'abord
+ supprimer cet indicateur.</para>
+
+ <para><informalexample>
+<screen><prompt/#/ <userinput>cd /usr/obj</userinput>
+<prompt/#/ <userinput/chflags -R noschg */
+<prompt/#/ <userinput/rm -rf */</screen></informalexample></para>
+ </sect1>
+
+ <sect1>
+ <title/Recompilez les sources et installez le nouveau syst&egrave;me/
+
+ <sect2>
+ <title>Toutes versions</title>
+
+ <para>Vous devez &ecirc;tre dans le r&eacute;pertoire <filename>/usr/src</filename>,
+ donc:
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>cd /usr/src</userinput></screen>
+ </informalexample>
+
+ (&agrave; moins, bien s&ucirc;r, que votre code source soit ailleurs, auquel cas vous
+ devez aller dans le r&eacute;pertoire correspondant).</para>
+
+ <para>Pour recompiler le syst&egrave;me, vous utilisez la commande <citerefentry>
+ <refentrytitle>make</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </citerefentry>. Cette commande lit ses instructions dans le fichier
+ <filename>Makefile</filename>, qui d&eacute;crit comment reconstruire les
+ modules qui constituent FreeBSD, dans quel ordre,
+ et ainsi de suite.</para>
+
+ <para>Le format g&eacute;n&eacute;ral de la commande que vous taperez sera:
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>make <option>-<replaceable/x/</option> <option>-D<replaceable>VARIABLE</replaceable></option> <replaceable>cible</replaceable></userinput></screen>
+ </informalexample>
+ </para>
+
+ <para>Dans cet exemple, <option>-<replaceable>x</replaceable></option> est
+ une option que vous donnez &agrave; <citerefentry>
+ <refentrytitle>make</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </citerefentry>. Reportez-vous aux pages de manuel pour conna&icirc;tre les
+ options disponibles.</para>
+
+ <para><option>-D<replaceable>VARIABLE</replaceable></option> transmet une
+ variable au fichier <filename>Makefile</filename>. Le comportement de
+ <filename>Makefile</filename> est d&eacute;fini par ces variables. Ce sont les
+ m&ecirc;mes variables que l'on trouve dans
+ <filename>/etc/make.conf</filename>, et c'est un autre moyen de les
+ positionner.</para>
+
+ <para>Par exemple:
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>make -DNOPROFILE=true <replaceable>cible</replaceable></userinput></screen>
+ </informalexample>
+
+ est une autre mani&egrave;re de dire qu'il ne faut pas compiler les
+ biblioth&egrave;ques profil&eacute;es et correspond aux lignes:
+
+ <programlisting>NOPROFILE= true
+# Avoid compiling profiled librairies
+# Ne pas compiler les biblioth&egrave;ques profil&eacute;es
+ </programlisting>
+
+ du fichier <filename>/etc/make.conf</filename>.</para>
+
+ <para><replaceable>cible</replaceable> dit &agrave; <citerefentry>
+ <refentrytitle>make</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </citerefentry> ce que vous voulez faire. Chaque
+ <filename>Makefile</filename> d&eacute;finit un certains nombre de
+ &ldquo;cibles&rdquo; diff&eacute;rentes, et votre choix de cibles d&eacute;termine
+ ce qui se passe.</para>
+
+ <para>Il y a des cibles d&eacute;finies dans le fichier
+ <filename>Makefile</filename> que
+ vous n'avez pas &agrave; employer. Ce sont des &eacute;tapes interm&eacute;diaires utilis&eacute;es
+ par le processus de recompilation pour d&eacute;composer les &eacute;tapes en
+ sous-&eacute;tapes.</para>
+
+ <para>La plupart du temps, vous n'aurez pas besoin de donner d'options &agrave;
+ <citerefentry>
+ <refentrytitle>make</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </citerefentry>, et votre commande sera simplement:
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>make <replaceable>cible</replaceable></userinput></screen>
+ </informalexample>
+ </para>
+ </sect2>
+
+ <sect2>
+ <title>Enregistrez le r&eacute;sultat</title>
+
+ <para>C'est une bonne id&eacute;e d'enregistrer le r&eacute;sultat de
+ <citerefentry>
+ <refentrytitle>make</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </citerefentry> dans un ficher. Si quelque chose se passe mal, vous
+ aurez une trace des messages d'erreur, et la liste compl&egrave;te de ce qui
+ a &eacute;t&eacute; fait. M&ecirc;me si cela ne vous aide pas &agrave; diagnostiquer ce qui n'a pas
+ march&eacute;, cela peut aider les autres si vous soumettez votre probl&egrave;me sur
+ une des listes de diffusion de FreeBSD.</para>
+
+ <para>La meilleure fa&ccedil;on de faire cela est d'utiliser la commande
+ <citerefentry><refentrytitle>script</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </citerefentry>, avec en param&egrave;tre le nom du fichier o&ugrave; enregistrer
+ les r&eacute;sultats. Vous devez faire cela juste avant de recompiler le
+ syst&egrave;me, et taper <userinput>exit</userinput> une fois que c'est
+ termin&eacute;.</para>
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>script /var/tmp/mw.out</userinput>
+Script started, output file is /var/tmp/mw.out
+<prompt/#/ <userinput/make world/
+<emphasis>&hellip; compile, compile, compile &hellip;</emphasis>
+<prompt/#/ <userinput/exit/
+Script done, &hellip;
+ </screen>
+ </informalexample>
+
+ <para>Si vous le faites, <emphasis>n'enregistrez pas</emphasis> les
+ r&eacute;sultats dans <filename>/tmp</filename>. Ce r&eacute;pertoire peut &ecirc;tre vid&eacute;
+ au prochain red&eacute;marrage du syt&egrave;me. Il vaut mieux les mettre dans
+ <filename>/var/tmp</filename>
+ (comme dans l'exemple pr&eacute;c&eacute;dent) ou dans le r&eacute;pertoire utilisateur de
+ root.</para>
+ </sect2>
+
+ <sect2>
+ <title>Version 2.2.2 et ant&eacute;rieure</title>
+
+ <para><filename>/usr/src/Makefile</filename> contient la cible
+ &ldquo;world&rdquo;, qui recompile tout le syst&egrave;me et
+ l'installe.</para>
+
+ <para>Utilisez donc:
+ <informalexample>
+ <screen><prompt/#/ <userinput>make world</userinput></screen>
+ </informalexample>
+ </para>
+ </sect2>
+
+ <sect2>
+ <title>Version 2.2.5 et ult&eacute;rieure</title>
+
+ <para>A partir de la version 2.2.5 de FreeBSD (de fait, c'est la premi&egrave;re
+ version &agrave; avoir &eacute;t&eacute; cr&eacute;&eacute;e sur la branche -current, puis rapatri&eacute;e dans
+ la branche -stable entre les versions 2.2.2 et 2.2.5) la cible
+ &ldquo;world&rdquo; a &eacute;t&eacute; d&eacute;compos&eacute;e en deux: &ldquo;buildworld&rdquo;
+ et &ldquo;installworld&rdquo;.</para>
+
+ <para>Comme leurs noms l'indiquent, &ldquo;buildworld&rdquo; reconstruit
+ la nouvelle arborescence dans <filename>/usr/obj</filename>, et
+ &ldquo;installworld&rdquo; l'installe sur la
+ machine.</para>
+
+ <para>C'est tr&egrave;s utile pour deux raisons. Tout d'abord, vous pouvez
+ recompiler en toute s&ucirc;ret&eacute;, sans toucher aux composants du syst&egrave;me
+ actuel. Le processus est &ldquo;autonome&rdquo;. Vous pouvez donc
+ ex&eacute;cuter &ldquo;buildworld&rdquo; sur une machine en mode
+ multi-utilisateurs
+ sans redouter d'effets f&acirc;cheux. Je vous recommande n&eacute;anmoins de toujours
+ ex&eacute;cuter l'&eacute;tape &ldquo;installworld&rdquo; en mode
+ mono-utilisateur.</para>
+
+ <para>En second lieu, cela vous permet d'utiliser des syst&egrave;mes de fichiers
+ mont&eacute;s par NFS pour mettre &agrave; jour les autres machines de votre r&eacute;seau.
+ Si vous avez trois machines, A, B, et C que vous voulez mettre &agrave; jour,
+ ex&eacute;cutez <command>make buildworld</command> et
+ <command>make installworld</command> sur A. B et C doivent alors monter
+ par NFS <filename>/usr/src</filename> et <filename>/usr/obj</filename>
+ depuis A, et vous pouvez alors ex&eacute;cuter
+ <command>make installworld</command> pour
+ installer le syst&egrave;me recompil&eacute; sur B et C.</para>
+
+ <para>La cible &ldquo;world&rdquo; existe toujours
+ et vous pouvez l'utiliser
+ exactement comme avec la version 2.2.2.
+ <command>make world</command> ex&eacute;cute
+ <command>make buildworld</command> suivi de <command>make
+ installworld</command>.</para>
+
+ <note>
+ <para>Si vous utilisez s&eacute;parement <command>make buildworld</command> et
+ <command>make installworld</command>, vous devez donner &agrave; chaque fois
+ les m&ecirc;mes param&egrave;tres &agrave; <citerefentry>
+ <refentrytitle>make</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </citerefentry>.</para>
+
+ <para>Par exemple, si vous ex&eacute;cutez:
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>make -DNOPROFILE=true buildworld</userinput></screen>
+ </informalexample>
+
+ vous devrez ensuite installer les r&eacute;sultats avec:
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>make -DNOPROFILE=true installworld</userinput></screen>
+ </informalexample>
+
+ sinon il essayera d'installer les biblioth&egrave;ques profil&eacute;es
+ qui n'ont pas &eacute;t&eacute; recompil&eacute;es &agrave; l'&eacute;tape
+ <command>make buildworld</command>.</para>
+ </note>
+ </sect2>
+
+ <sect2>
+ <title>-current et ult&eacute;rieure</title>
+
+ <para>Si vous &ecirc;tes sur la branche -current, vous pouvez aussi donner
+ l'option <option>-j</option> &agrave; <command>make</command>. Cela permet &agrave;
+ <command>make</command> d'ex&eacute;cuter plusieurs programmes
+ simultan&eacute;ment.</para>
+
+ <para>C'est particuli&egrave;rement utile sur une machine avec plusieurs
+ processeurs. N&eacute;anmoins, comme la compilation est plus gourmande en
+ Entr&eacute;es/Sorties qu'en CPU, c'est aussi
+ utile sur une machine mono-processeur.</para>
+
+ <para>Typiquement, sur une machine mono-processeur, vous ex&eacute;cuteriez:
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>make -j4 <replaceable>cible</replaceable></userinput></screen>
+ </informalexample>
+
+ pour autoriser
+ <citerefentry>
+ <refentrytitle>make</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </citerefentry> &agrave; ex&eacute;cuter 4 programmes simultan&eacute;ment.
+ Les constatations empiriques post&eacute;es sur les listes de diffusion
+ montrent que c'est en g&eacute;n&eacute;ral ce qui apporte le plus de gain en
+ performances.</para>
+
+ <para>Si vous avez une machine multi-processeurs et que vous avez
+ configur&eacute; un noyau SMP, essayez des valeurs entre 6 et 10 et voyez quel
+ b&eacute;n&eacute;fice vous en tirez.</para>
+
+ <para>N'oubliez pas que c'est toujours exp&eacute;rimental (au moment o&ugrave; j'&eacute;cris
+ ceci), et que des modifications de l'arborescence des sources rendent
+ parfois cette possibilit&eacute; inutilisable. Si vous n'arrivez pas &agrave; recompiler
+ avec ce param&egrave;tre, essayez sans avant de signaler votre probl&egrave;me.</para>
+ </sect2>
+
+ <sect2>
+ <title/Dur&eacute;e/
+
+ <para>En supposant que tout ce passe bien, il vous faudra attendre
+ entre une heure et demie et une demi-journ&eacute;e.</para>
+
+ <para>En r&egrave;gle g&eacute;n&eacute;rale, un P6 200MHz avec plus de 32MB de RAM
+ et des disques SCSI corrects ex&eacute;cutera <command>make world</command>
+ en environ une heure et demie. Un P133 32MB prendra 5 &agrave; 6
+ heures. Revoyez ces chiffres &agrave; la baisse si vos machines sont
+ plus lentes&hellip;</para>
+ </sect2>
+ </sect1>
+
+ <sect1>
+ <title>Mettez &agrave; jour <filename>/etc</filename></title>
+
+ <para>Recompiler le syst&egrave;me ne met pas &agrave; jour certains r&eacute;pertoires (en
+ particulier, <filename>/etc</filename>, <filename>/var</filename> et
+ <filename>/usr</filename>) pour y installer des fichiers de configuration
+ nouveaux ou modifi&eacute;s.
+ Il vous faudra le faire &agrave; la main, &agrave; vue, et en utilisant &agrave; bon escient
+ la commande <command/diff/.</para>
+
+ <para>Vous ne pouvez pas vous contenter de copier les fichiers de
+ <filename>/usr/src/etc</filename> dans <filename>/etc</filename> pour
+ que cela marche. Certains de ces fichiers doivent d'abord &ecirc;tre
+ &ldquo;install&eacute;s&rdquo;.
+ En effet le r&eacute;pertoire <filename>/usr/src/etc</filename>
+ <emphasis>n'est pas</emphasis> une simple copie de ce que devrait
+ contenir votre r&eacute;pertoire<filename>/etc</filename>. De plus, il y a
+ des fichiers qui doivent &ecirc;tre dans <filename>/etc</filename> et ne
+ sont pas dans <filename>/usr/src/etc</filename>.</para>
+
+ <para>La fa&ccedil;on la plus simple de proc&eacute;der est d'installer les fichiers
+ dans un nouveau r&eacute;pertoire, puis de passer en revue les diff&eacute;rences.</para>
+
+ <note>
+ <title>Sauvegardez vos fichiers actuels dans
+ <filename>/etc</filename></title>
+
+ <para>Bien qu'en principe rien ne sera modifi&eacute; automatiquement dans ce
+ r&eacute;pertoire, prudence est m&egrave;re de s&ucirc;ret&eacute;. Copiez donc votre r&eacute;pertoire
+ <filename>/etc</filename> dans un endroit s&ucirc;r.
+ Quelque chose du genre:</para>
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>cp -Rp /etc /etc.old</userinput></screen>
+ </informalexample>
+
+ <para>fera l'affaire (<option>-R</option> fait une copie r&eacute;cursive,
+ <option>-p</option> conserve la date, les autorisations des fichiers
+ et ainsi de suite).</para>
+ </note>
+
+ <para>Vous devez cr&eacute;er un jeu de r&eacute;pertoires provisoires pour y installer
+ les fichiers de <filename>/etc</filename> et autres. En g&eacute;n&eacute;ral,
+ je les mets dans <filename>/var/tmp/root</filename>;
+ il y a un certain nombre de sous-r&eacute;pertoires &agrave; cr&eacute;er. Pour ce faire,
+ ex&eacute;cutez:
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>mkdir /var/tmp/root</userinput>
+<prompt/#/ <userinput>cd /usr/src/etc</userinput>
+<prompt/#/ <userinput>make DESTDIR=/var/tmp/root distrib-dirs distribution</userinput></screen>
+ </informalexample>
+
+ qui va cr&eacute;er l'arborescence n&eacute;cessaire et y installera les fichiers. Un
+ grand nombre des sous-r&eacute;pertoires cr&eacute;&eacute;s dans
+ <filename>/var/tmp/root</filename> seront vides et devront &ecirc;tre
+ supprim&eacute;s. La fa&ccedil;on la plus simple de le faire est:
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>cd /var/tmp/root</userinput>
+<prompt/#/ <userinput>find -d . -type d | /usr/bin/perl -lne \
+ 'opendir(D,$_);@f=readdir(D);rmdir if $#f == 1;closedir(D);'</userinput></screen>
+ </informalexample>
+
+ qui fait une recherche en profondeur, examine chaque r&eacute;pertoire, et s'il
+ ne contient que 2 fichiers (&ldquo;1&rdquo; n'est pas une faute de frappe
+ dans la proc&eacute;dure), i.e. &ldquo;<filename>.</filename>&rdquo; et
+ &ldquo;<filename>..</filename>&rdquo; supprime le r&eacute;pertoire.</para>
+
+ <para><filename>/var/tmp/root</filename> contient maintenant tous les
+ fichiers &agrave; installer &agrave; l'endroit requis sous
+ <filename>/</filename>. Vous devez ensuite examiner chacun de ces
+ fichiers pour voir en quoi ils diff&egrave;rent de vos propres fichiers.</para>
+
+ <para>Notez que certains des fichiers qui ont &eacute;t&eacute; install&eacute;s dans
+ <filename>/var/tmp/root</filename> commencent par un &ldquo;.&rdquo; Au
+ moment o&ugrave; j'&eacute;cris ceci, les seuls fichiers concern&eacute;s sont les fichiers
+ d'initialisation des interpr&eacute;teurs de commandes dans
+ <filename>/var/tmp/root/</filename> et
+ <filename>/var/tmp/root/root/</filename>, mais il pourrait y en
+ avoir d'autres
+ (cela d&eacute;pend de quand vous lirez ces lignes). Assurez-vous d'utiliser
+ <command/ls -a/ pour ne pas les oublier.</para>
+
+ <para>La mani&egrave;re la plus simple de proc&eacute;der est d'utiliser la commande
+ <command/diff/ pour comparer deux fichiers.</para>
+
+ <para>Par exemple:
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>diff /etc/shells /var/tmp/root/etc/shells</userinput></screen>
+ </informalexample>
+
+ vous indiquera les diff&eacute;rences entre votre fichier
+ <filename>/etc/shells</filename> et le nouveau fichier
+ <filename>/etc/shells</filename>. A partir de l&agrave;, d&eacute;cidez si vous
+ allez reporter les modifications que vous y avez apport&eacute;es ou si vous
+ allez simplement recopier le nouveau fichier.</para>
+
+ <para><ulink url="http://www.nothing-going-on.demon.co.uk/FreeBSD/make-world/dircmp.pl"><filename>http://www.nothing-going-on.demon.co.uk/FreeBSD/make-world/dircmp.pl</filename></ulink> est une
+ petite proc&eacute;dure Perl (Perl 4.036, qui est install&eacute; par d&eacute;faut &agrave; partir de
+ la version 2.0 de FreeBSD) qui compare les fichiers de deux r&eacute;pertoires
+ (<filename>/etc</filename> et
+ <filename>/var/tmp/root/etc</filename> par d&eacute;faut) et liste les fichiers
+ absents ou diff&eacute;rents dans les deux r&eacute;pertoires.</para>
+
+ <tip>
+ <title>Donnez au nouveau r&eacute;pertoire
+ (<filename>/var/tmp/root</filename>) un nom qui inclue une date, pour
+ pouvoir facilement comparer diff&eacute;rentes versions</title>
+
+ <para>Si vous recompilez fr&eacute;quemment votre syst&egrave;me, vous devrez aussi
+ souvent mettre &agrave; jour <filename>/etc</filename>, ce qui peut devenir
+ une vrai corv&eacute;e.</para>
+
+ <para>Vous pouvez acc&eacute;l&eacute;rer le processus en gardant une copie du dernier
+ jeu de fichiers report&eacute;s dans <filename>/etc</filename>. La
+ proc&eacute;dure suivante vous sugg&egrave;re comment faire.</para>
+
+ <procedure>
+ <step>
+ <para>Recompilez le syst&egrave;me comme d'habitude. Au moment de mettre &agrave;
+ jour <filename>/etc</filename> et les autres r&eacute;pertoires, donnez au
+ r&eacute;pertoire cible un nom bas&eacute; sur la date du jour. Si vous faisiez
+ cela le 14 F&eacute;vrier 1998, vous pouviez proc&eacute;der comme suit:</para>
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>mkdir /var/tmp/root-980214</userinput>
+<prompt/#/ <userinput>cd /usr/src/etc</userinput>
+<prompt/#/ <userinput>make DESTDIR=/var/tmp/root-980214 \
+ distrib-dirs distribution</userinput></screen>
+ </informalexample>
+ </step>
+
+ <step>
+ <para>Reportez les modifications depuis ce r&eacute;pertoire comme d&eacute;crit
+ plus haut.</para>
+
+ <para><emphasis>Ne supprimez pas</emphasis> le r&eacute;pertoire
+ <filename>/var/tmp/root-980214</filename> quand vous aurez
+ termin&eacute;.</para>
+ </step>
+
+ <step>
+ <para>Quand vous chargerez la version la plus r&eacute;cente des sources et
+ la recompilerez, faites de m&ecirc;me. Vous aurez alors un nouveau
+ r&eacute;pertoire,
+ <filename>/var/tmp/root-980221</filename> par exemple
+ (si vous faites une mise &agrave; jour chaque semaine).</para>
+ </step>
+
+ <step>
+ <para>Vous pouvez maintenant voir les modifications intervenues
+ d'une semaine &agrave; l'autre avec quelque chose comme:
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>cd /var/tmp</userinput>
+<prompt/#/ <userinput>diff -r root-980214 root-980221</userinput></screen>
+ </informalexample>
+
+ qui vous donnera les diff&eacute;rences entre tous les fichiers des deux
+ r&eacute;pertoires.</para>
+
+ <para>Typiquement, il y aura beaucoup moins de diff&eacute;rences
+ qu'entre <filename>/var/tmp/root-980221/etc</filename>
+ et <filename>/etc</filename>. Comme il y a beaucoup moins de
+ diff&eacute;rences, il est beaucoup plus facile de les reporter dans
+ le r&eacute;pertoire <filename>/etc</filename>.</para>
+ </step>
+
+ <step>
+ <para>Vous pouvez maintenant supprimer le plus ancien des deux
+ r&eacute;pertoires <filename>/var/tmp/root-*</filename>:
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>rm -rf /var/tmp/root-980214</userinput></screen>
+ </informalexample>
+ </para>
+ </step>
+
+ <step>
+ <para>R&eacute;p&eacute;tez l'op&eacute;ration chaque fois que vous devez reporter
+ des modifications dans <filename>/etc</filename>.</para>
+ </step>
+ </procedure>
+
+ <para>Vous pouvez utiliser la commande <command>date(1)</command> pour
+ automatiser la g&eacute;n&eacute;ration des noms de r&eacute;pertoires. Par exemple:
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>mkdir /var/tmp/root-`date "+%y%m%d"`</userinput></screen>
+ </informalexample>
+
+ cr&eacute;e un r&eacute;pertoire dont le nom d&eacute;pend de l'ann&eacute;e, du mois et
+ du jour.</para>
+ </tip>
+ </sect1>
+
+ <sect1>
+ <title>Mettez &agrave; jour <filename>/dev</filename></title>
+
+ <note>
+ <title>DEVFS</title>
+
+ <para>Si vous utilisez DEVFS ce qui suit ne vous concerne probalement
+ pas.</para>
+ </note>
+
+ <para>Pour des raisons de s&eacute;curit&eacute;, cette mise &agrave; jour se fait en plusieurs
+ &eacute;tapes.</para>
+
+ <para>Copiez tout d'abord <filename>/var/tmp/root/dev/MAKEDEV</filename>
+ dans <filename>/dev</filename>.
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>cp /var/tmp/root/dev/MAKEDEV /dev</userinput></screen>
+ </informalexample></para>
+
+ <para>Prenez maintenant un instantan&eacute; de l'&eacute;tat de votre r&eacute;pertoire
+ <filename>/dev</filename>. Il doit indiquer
+ les propri&eacute;taires, les droits et les codes majeur et mineur de chaque
+ fichier sp&eacute;cial de p&eacute;riph&eacute;rique, mais pas leur date de derni&egrave;re mise &agrave; jour.
+ La fa&ccedil;on la plus facile de proc&eacute;der est d'utiliser
+ la commande <command>awk</command> pour &eacute;liminer les informations inutiles:
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>cd /dev</userinput>
+<prompt/#/ <userinput>ls -l | awk '{print $1, $2, $3, $4, $5, $6, $NF}' > /var/tmp/dev.out</userinput></screen>
+ </informalexample></para>
+
+ <para>Ensuite, recr&eacute;ez tous les fichiers sp&eacute;ciaux de p&eacute;riph&eacute;riques:.
+
+ <informalexample>
+ <screen><prompt/#/ <userinput/sh MAKEDEV all/</screen>
+ </informalexample></para>
+
+ <para>Reprenez un instantan&eacute; de l'&eacute;tat de votre r&eacute;pertoire, cette fois-ci
+ dans <filename>/var/tmp/dev2.out</filename>. Comparez maintenant ces deux
+ instantan&eacute;s pour voir si certains fichiers sp&eacute;ciaux de p&eacute;riph&eacute;riques
+ n'ont pas &eacute;t&eacute; recr&eacute;&eacute;s. Il ne devrait pas en manquer, mais prudence est
+ m&egrave;re de s&ucirc;ret&eacute;.
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>diff /var/tmp/dev.out /var/tmp/dev2.out</userinput></screen>
+ </informalexample></para>
+
+ <para>Il manquera peut-&ecirc;tre des descripteurs de partitions,
+ il vous faudra alors ex&eacute;cuter des commandes du type :
+
+ <informalexample>
+<screen><prompt/#/ <userinput>sh MAKEDEV sd0s1</userinput>
+</screen>
+ </informalexample>
+
+ pour les recr&eacute;er. Les d&eacute;tails d&eacute;pendent de votre installation.</para>
+ </sect1>
+
+ <sect1>
+ <title>Mettez &agrave; jour <filename>/stand</filename></title>
+
+ <note>
+ <para>Cette &eacute;tape n'est d&eacute;crite que pour &ecirc;tre exhaustif, elle peut &ecirc;tre
+ omise sans danger.</para>
+ </note>
+
+ <para>Pour &ecirc;tre exhaustif, vous pouvez aussi mettre &agrave; jour les fichiers de
+ <filename>/stand</filename>. Ces fichiers sont des liens physiques sur
+ le programme <filename>/stand/sysinstall</filename>. L'&eacute;dition de liens
+ de cet ex&eacute;cutable doit &ecirc;tre statique, pour qu'on puisse l'utiliser sans
+ qu'aucun autre syst&egrave;me de fichiers (et en particulier
+ <filename>/usr</filename>) ne soit mont&eacute;.</para>
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>cd /usr/src/release/sysinstall</userinput>
+<prompt/#/ <userinput>make all install</userinput></screen>
+ </informalexample>
+
+ <note>
+ <title>Sources ant&eacute;rieurs au 2 Avril 1998</title>
+
+ <para>Si votre code source date d'avant le 2 Avril 1998, ou que
+ la version de votre <filename>Makefile</filename> est inf&eacute;rieure &agrave;
+ 1.68 (pour FreeBSD-current et les syst&egrave;mes 3.x) ou &agrave; 1.48.2.21
+ (pour les syst&egrave;mes 2.2.x), vous devrez ajouter l'option
+ <userinput>NOSHARED=yes</userinput> comme suit:</para>
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>make NOSHARED=yes all install</userinput></screen>
+ </informalexample>
+
+ </note>
+ </sect1>
+
+ <sect1>
+ <title/Compilez et installez un nouvau noyau/
+
+ <para>Pour tirer pleinement parti de votre nouveau syst&egrave;me, vous devez
+ recompiler le noyau. C'est pratiquement indispensable, parce que des
+ structures de donn&eacute;es peuvent avoir chang&eacute;, et des programmes
+ comme <command/ps/ et <command/top/ ne marcheront pas
+ tant que le syst&egrave;me et le noyau ne seront pas au m&ecirc;me niveau
+ de version.</para>
+
+ <para>Suivez les instructions du "manuel" pour compiler un nouveau
+ noyau. Si vous avez d&eacute;j&agrave; recompil&eacute; un noyau personnalis&eacute;
+ examinez en d&eacute;tail le fichier de configuration
+ <filename/LINT/ pour voir s'il y a de nouvelles options dont vous
+ pourriez tirer parti.</para>
+
+ <para>Une version pr&eacute;c&eacute;dente de ce document sugg&eacute;rait de red&eacute;marrer
+ le syst&egrave;me avant de recompiler le noyau. C'est un erreur parce
+ que :</para>
+
+ <itemizedlist>
+ <listitem><para>Des commandes comme <command/ps/, <command/ifconfig/ and
+ <command/sysctl/ peuvent ne plus fonctionner. Dans ce cas, votre
+ machine ne peut plus se connecter au r&eacute;seau.</para></listitem>
+
+ <listitem><para>De m&ecirc;me, des utilitaires essentiels comme
+ <command/mount/ peuvent aussi &ecirc;tre inutilisables,
+ auquel cas <filename>/</filename>, <filename>/usr</filename> et ainsi
+ de suite, ne peuvent plus &ecirc;tre mont&eacute;s. Il y a peu de chances
+ que cela arrive si vous &ecirc;tes sur la branche -stable, mais c'est plus
+ probable sur la branche -current apr&egrave;s des modifications
+ importantes.</para></listitem>
+
+ <listitem>
+ <para>Les LKMs ("Loadable Kernel Modules"&nbsp;-&nbsp;modules du noyau &agrave; chargement
+ dynamique) reconstruits en m&ecirc;me temps que &ldquo;world&rdquo;
+ peuvent "planter" un noyau plus ancien.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Pour toutes ces raisons, il vaut mieux recompiler et installer un
+ nouveau noyau avant de red&eacute;marrer.</para>
+
+ <para>Vous devez recompiler le noyau apr&egrave;s avoir termin&eacute;
+ <userinput>make world</userinput> (ou <userinput>make
+ installworld</userinput>). Si vous ne le faites pas (peut-&ecirc;tre
+ voulez-vous vous assurer que le noyau compile avant de mettre &agrave;
+ jour le syst&egrave;me), vous pourriez avoir des probl&egrave;mes. Cela parce que
+ votre commande <command>config</command> n'est pas &agrave; niveau
+ avec les sources du noyau.</para>
+
+ <para>Dans ce cas, ex&eacute;cutez:
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>/usr/obj/usr/src/usr.sbin/config <replaceable>NOM_DU_NOYAU</replaceable></userinput></screen>
+ </informalexample>
+
+ pour recompiler le noyau avec la nouvelle version de
+ <command>config</command>. Cela ne marchera peut-&ecirc;tre pas &agrave; tous les
+ coups. Il est recommand&eacute; d'en finir avec
+ <userinput>make world</userinput> (ou
+ <userinput>make installworld</userinput>) avant de compiler un nouveau
+ noyau.</para>
+ </sect1>
+
+ <sect1>
+ <title/Red&eacute;marrez/
+
+ <para>Vous en avez fini. Apr&egrave;s avoir v&eacute;rifi&eacute; que tout semble &ecirc;tre en
+ place, vous pouvez maintenant red&eacute;marrez votre syst&egrave;me. Un simple
+ <citerefentry>
+ <refentrytitle>fastboot</refentrytitle>
+ <manvolnum>8</manvolnum>
+ </citerefentry> devrait suffire.</para>
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>fastboot</userinput></screen>
+ </informalexample>
+ </sect1>
+
+ <sect1>
+ <title>C'est fini</title>
+
+ <para>Vous devriez maintenant avoir mis &agrave; jour avec succ&egrave;s votre syst&egrave;me
+ FreeBSD.
+ F&eacute;licitations.</para>
+
+ <para>Vous aurez peut-&ecirc;tre de petits probl&egrave;mes si des d&eacute;tails vous
+ ont &eacute;chapp&eacute;s. Par
+ exemple, il m'est arriv&eacute; d'effacer le fichier
+ <filename>/etc/magic</filename> au moment de la mise &agrave; jour de
+ <filename>/etc</filename>, de ce fait, la commande
+ <command>file</command> ne marchait plus. Un petit moment de r&eacute;flexion
+ et j'ai trouv&eacute; que:
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>cd /usr/src/usr.bin/file</userinput>
+<prompt/#/ <userinput/make all install/</screen>
+ </informalexample>
+
+ suffisait &agrave; r&eacute;gler ce probl&egrave;me.</para>
+ </sect1>
+
+ <sect1>
+ <title/Questions?/
+
+ <sect2>
+ <title/Dois-je refaire le monde &agrave; chaque &eacute;volution?/
+
+ <para>Il n'y a pas de r&eacute;ponse toute faite &agrave; cette question, tout d&eacute;pend
+ de la nature des &eacute;volutions. Je viens juste, par exemple, d'ex&eacute;cuter
+ CVSup, et les fichiers suivants ont &eacute;t&eacute; modifi&eacute;s depuis ma derni&egrave;re
+ recompilation:</para>
+
+ <informalexample>
+<screen><filename>src/games/cribbage/instr.c</filename>
+<filename>src/games/sail/pl_main.c</filename>
+<filename>src/release/sysinstall/config.c</filename>
+<filename>src/release/sysinstall/media.c</filename>
+<filename>src/share/mk/bsd.port.mk</filename></screen>
+ </informalexample>
+
+ <para>Il n'y a pas l&agrave; mati&egrave;re &agrave; ce que je recompile mon syst&egrave;me. Je
+ vais simplement aller dans les bons sous-r&eacute;pertoires et ex&eacute;cuter
+ <command/make all
+ install/, et c'est &agrave; peu pr&egrave;s tout. Mais s'il y a des &eacute;volutions
+ importantes, par
+ exemple sur <filename>src/lib/libc/stdlib</filename> alors ou je
+ referais, le monde, ou je recompilerais au moins toutes les parties
+ du syst&egrave;me qui sont li&eacute;es statiquement
+ (de m&ecirc;me que tout ce que je pourrais avoir ajout&eacute; qui serait li&eacute;
+ statiquement).</para>
+
+ <para>En fin de journ&eacute;e, c'est &agrave; vous de voir.
+ Vous pr&eacute;f&eacute;rerez peut-&ecirc;tre recompiler votre syst&egrave;me tous les quinze
+ jours, et laisser les modifications s'empiler pendant ces quinze jours.
+ Ou bien vous pr&eacute;f&eacute;rez ne recompiler que ce qui a chang&eacute; et vous faire
+ confiance pour rep&eacute;rer ce qui en d&eacute;pend.</para>
+
+ <para>Et, bien s&ucirc;r, cela d&eacute;pend de la fr&eacute;quence avec laquelle vous voulez
+ faire vos mises &agrave; jour, et de si vous &ecirc;tes sur la branche -stable ou
+ sur la branche -current.</para>
+ </sect2>
+
+ <sect2>
+ <title>Ma compilation &eacute;choue avec de nombreuses erreurs "signal 12"
+ (ou tout autre num&eacute;ro de signal)</title>
+
+ <para>Cela indique g&eacute;n&eacute;ralement un probl&egrave;me mat&eacute;riel. (Re)faire le
+ monde est un bon moyen de mettre votre mat&eacute;riel sous pression, et
+ mettra souvent en &eacute;vidence des d&eacute;faillances de la m&eacute;moire vive. Cela se
+ manifeste normalement de soi-m&ecirc;me: le compilation &eacute;choue en recevant
+ de myst&eacute;rieux signaux.</para>
+
+ <para>Vous pouvez vous en assurer si vous relancer la compilation
+ et qu'elle &eacute;choue en un endroit diff&eacute;rent.</para>
+
+ <para>Dans ce cas, vous ne pouvez gu&egrave;re faire autre chose que
+ d'intervertir les diff&eacute;rents composants de votre mat&eacute;riel pour d&eacute;terminer
+ lequel est en cause.</para>
+ </sect2>
+
+ <sect2>
+ <title>Puis-je d&eacute;truire <filename>/usr/obj</filename> apr&egrave;s avoir
+ fini?</title>
+
+ <para>Tout d&eacute;pend de comment vous voulez refaire le monde par
+ la suite.</para>
+
+ <para><filename>/usr/obj</filename> contient tous les fichiers objets
+ g&eacute;n&eacute;r&eacute;s &agrave; la compilation. Normalement, une des premi&egrave;res &eacute;tapes de
+ &ldquo;make world&rdquo; est de supprimer ce r&eacute;pertoire
+ et de repartir &agrave; z&eacute;ro. Dans ce cas, conserver ce r&eacute;pertoire
+ <filename>/usr/obj</filename> apr&egrave;s en avoir termin&eacute; ne sert pas &agrave;
+ grand chose, alors que vous &eacute;conomiseriez pas mal d'espace disque
+ (au jour d'aujourd'hui
+ environ 150Mo).</para>
+
+ <para>N&eacute;anmoins, si vous savez ce que vous faites, vous pouvez faire en
+ sorte que &ldquo;make
+ world&rdquo; saute cette &eacute;tape. Les reconstructions ult&eacute;rieures seront
+ beaucoup plus rapides, car la plupart des sources n'auront pas besoin
+ d'&ecirc;tre recompil&eacute;s. Le revers de la m&eacute;daille est que des
+ probl&egrave;mes de d&eacute;pendance subtils peuvent se manifester, provoquant
+ l'&eacute;chec de votre recompilation de mani&egrave;re &eacute;trange. Cela g&eacute;n&egrave;re
+ fr&eacute;quemment du bruit sur les listes de diffusion de FreeBSD,
+ quand quelqu'un se plaint que sa mise &agrave; jour a &eacute;chou&eacute;, sans r&eacute;aliser
+ qu'il a tent&eacute; de br&ucirc;ler les &eacute;tapes.</para>
+
+ <para>Si vous aimez vivre dangereusement, passez le param&egrave;tre
+ &ldquo;NOCLEAN&rdquo; &agrave; <command/make/, comme suit:
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>make -DNOCLEAN world</userinput></screen>
+ </informalexample>
+ </para>
+ </sect2>
+
+ <sect2>
+ <title>Une recompilation interrompue peut-elle &ecirc;tre reprise?</title>
+
+ <para>Tout d&eacute;pend de jusqu'o&ugrave; vous &ecirc;tes all&eacute; avant de rencontrer un
+ probl&egrave;me.</para>
+
+ <para><emphasis>En g&eacute;n&eacute;ral</emphasis> (mais ce n'est pas une r&egrave;gle
+ absolue) &ldquo;make world&rdquo; cr&eacute;e de nouveaux exemplaires
+ des utilitaires de base (comme <command>gcc</command>, et
+ <command>make</command>) et des biblioth&egrave;ques syst&egrave;me. Ces outils et
+ biblioth&egrave;ques sont ensuite install&eacute;s. Ils sont ensuite utilis&eacute;s
+ pour se reconstruire eux-m&ecirc;mes, et install&eacute;s de nouveau. Le syst&egrave;me
+ entier (y compris maintenant les outils usuels, comme
+ <command>ls</command> ou
+ <command>grep</command>) est ensuite recompil&eacute; avec les nouveaux
+ outils et biblioth&egrave;ques de base.</para>
+
+ <para>Si vous en &ecirc;tes &agrave; cette derni&egrave;re &eacute;tape, et que vous le savez
+ (parce que vous avez consult&eacute; les r&eacute;sultats que vous avez enregistr&eacute;s)
+ alors vous pouvez (avec une bonne chance de r&eacute;ussite) faire:
+
+ <informalexample>
+ <screen><emphasis>&hellip; r&eacute;gler le probl&egrave;me &hellip;</emphasis>
+<prompt/#/ <userinput>cd /usr/src</userinput>
+<prompt/#/ <userinput/make -DNOCLEAN all/
+ </screen>
+ </informalexample>
+
+ qui ne d&eacute;truira pas les r&eacute;sultats du travail qu'a d&eacute;j&agrave; effectu&eacute;
+ &ldquo;make world&rdquo;.</para>
+
+ <para>Si vous voyez le message :
+
+<screen>
+--------------------------------------------------------------
+ Building everything..
+--------------------------------------------------------------
+</screen>
+
+ dans les comptes-rendus de &ldquo;make world&rdquo;, cette fa&ccedil;on de
+ proc&eacute;der est probablement s&ucirc;re.</para>
+
+ <para>Si vous ne voyez pas ce message, ou doutez de vous, alors prudence
+ est m&egrave;re de s&ucirc;ret&eacute;, et il vaut mieux tout reprendre depuis le
+ d&eacute;but.</para>
+ </sect2>
+
+ <sect2>
+ <title/Puis-je utiliser une seule machine de <emphasis/r&eacute;f&eacute;rence/ pour
+ mettre &agrave; jour plusieurs machines (NFS)?/
+
+ <para>On pose souvent la question sur les listes de diffusion de FreeBSD
+ de savoir s'il est possible de tout compiler sur une seule machine
+ puis d'installer les r&eacute;sultats de cette compilation sur d'autres
+ machines du r&eacute;seau avec <command/make install/.</para>
+
+ <para>C'est quelque chose que je n'ai jamais fait, aussi les indications
+ qui suivent m'ont-elles &eacute;t&eacute; donn&eacute;es par d'autres ou d&eacute;duites des
+ <filename>Makefile</filename>s.</para>
+
+ <para>La marche exacte &agrave; suivre d&eacute;pend de votre version de FreeBSD.</para>
+
+ <note>
+ <para>Vous devrez encore mettre &agrave; jour <filename>/etc</filename> et
+ <filename>/dev</filename> sur les machines cibles apr&egrave;s cette
+ &eacute;tape.</para>
+ </note>
+
+ <sect3>
+ <title>Version 2.1.7 et ant&eacute;rieures</title>
+
+ <para>Dans un message adress&eacute; &agrave; questions@freebsd.org,
+ Antonio Bemfica a sugg&eacute;r&eacute; la m&eacute;thode suivante:</para>
+
+<screen>
+Date: Thu, 20 Feb 1997 14:05:01 -0400 (AST)
+From: Antonio Bemfica &lt;bemfica@militzer.me.tuns.ca&gt;
+To: freebsd-questions@freebsd.org
+Message-ID: &lt;Pine.BSI.3.94.970220135725.245C-100000@militzer.me.tuns.ca&gt;
+
+Josef Karthauser a demand&eacute;:
+
+&gt; Quelqu'un a-t-il la bonne m&eacute;thode pour mettre &agrave; jour
+&gt; les machines d'un r&eacute;seau?
+
+D'abord <command>make world</command>, etc... sur votre machine de r&eacute;f&eacute;rence
+Ensuite, montez <filename>/</filename> and <filename>/usr</filename> sur la machine distante:
+
+machine_de_r&eacute;f&eacute;rence% mount machine_distante:/ /mnt
+machine_de_r&eacute;f&eacute;rence% mount machine_distante:/usr /mnt/usr
+
+Ensuite, faites <command>make install</command> avec <filename>/mnt</filename> comme cible:
+
+machine_de_r&eacute;f&eacute;rence% make install DESTDIR=/mnt
+
+R&eacute;p&eacute;tez cela pour chaque machine de votre r&eacute;seau.
+Cela marche tr&egrave;s bien dans mon cas.
+
+Antonio
+</screen>
+
+ <para>Ce m&eacute;canisme ne fonctionne (autant que je sache) que si
+ vous pouvez &eacute;crire sur <filename>/usr/src</filename> sur le serveur
+ NFS, car ce devait &ecirc;tre la cible d'&ldquo;install&rdquo; avec la
+ version 2.1.7 et les pr&eacute;c&eacute;dentes.</para>
+ </sect3>
+
+ <sect3>
+ <title>Version 2.2.0 and ult&eacute;rieures</title>
+
+ <para>Entre les versions 2.1.7 et 2.2.0 la cible
+ &ldquo;reinstall&rdquo; a &eacute;t&eacute; introduite. Vous pouvez utiliser
+ la m&eacute;thode d&eacute;crite ci-dessus pour
+ la version 2.1.7, en rempla&ccedil;ant &ldquo;install&rdquo; par
+ &ldquo;reinstall&rdquo;.</para>
+
+ <para>Cela <emphasis>ne demande plus</emphasis> de droits d'&eacute;criture
+ sur le r&eacute;pertoire <filename>/usr/src</filename> du serveur NFS.</para>
+ <note>
+ <para>Un bogue est apparu avec cette cible entre les versions
+ 1.68 et 1.107 du <filename>Makefile</filename>, qui impliquait
+ qu'il <emphasis>fallait</emphasis>
+ avoir les droits d'&eacute;criture. Ce bogue a &eacute;t&eacute; corrig&eacute; avant la
+ diffusion de la version 2.2.0 de FreeBSD, mais peut encore poser
+ probl&egrave;me si vous avez un vieux serveur sous -stable de cette
+ &eacute;poque.</para>
+ </note>
+ </sect3>
+
+ <sect3>
+ <title>Version 2.2.5 et ult&eacute;rieure</title>
+
+ <para>Comme d&eacute;crit plus haut, les cibles &ldquo;buildworld&rdquo; et
+ &ldquo;installworld&rdquo; peuvent &ecirc;tre employ&eacute;es pour recompiler
+ sur une machine, puis monter par NFS
+ <filename>/usr/src</filename> et <filename>/usr/obj</filename> sur
+ la machine distante et y installer le nouveau syst&egrave;me.</para>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Comment puis-je acc&eacute;l&eacute;rer <command>make world</command>?</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>Passez en mode mono-utilisateur.</para>
+ </listitem>
+
+ <listitem>
+ <para>Mettez les r&eacute;pertoires <filename>/usr/src</filename> et
+ <filename>/usr/obj</filename> sur des syst&egrave;mes de fichiers
+ et des disques diff&eacute;rents. Si possible, installez ces disques
+ sur des contr&ocirc;leurs diff&eacute;rents.</para>
+ </listitem>
+
+ <listitem>
+ <para>Mieux encore, mettez ces syst&egrave;mes de fichiers sur
+ plusieurs disques et utilisez &ldquo;ccd&rdquo;
+ ("concatenated disk driver" = pilote de disques concat&eacute;n&eacute;s).</para>
+ </listitem>
+
+ <listitem>
+ <para>Ne compilez pas les biblioth&egrave;ques profil&eacute;es
+ (mettez &ldquo;NOPROFILE=true&rdquo; dans
+ <filename>/etc/make.conf</filename>). Vous n'en avez certainement
+ pas besoin.</para>
+ </listitem>
+
+ <listitem>
+ <para>Dans <filename>/etc/make.conf</filename>, positionnez aussi
+ &ldquo;CFLAGS&rdquo; &agrave; quelque chose comme &ldquo;-O -pipe&rdquo;.
+ L'optimisation &ldquo;-O2&rdquo; est bien plus lente, et la
+ diff&eacute;rence d'optimisation entre &ldquo;-O&rdquo; et
+ &ldquo;-O2&rdquo; est en g&eacute;n&eacute;ral n&eacute;gligeable. &ldquo;-pipe&rdquo;
+ dit au compilateur d'utiliser des tuyaux (&ldquo;pipes&rdquo;)
+ &agrave; la place de fichiers, ce qui &eacute;conomise des acc&egrave;s disque
+ (mais utilise plus de m&eacute;moire).</para>
+ </listitem>
+
+ <listitem>
+ <para>Donnez l'option <option>-j&lt;n&gt;</option> au compilateur
+ (Si vous avez une version suffisamment r&eacute;cente de FreeBSD)
+ pour ex&eacute;cuter plusieurs programmes en parall&egrave;le. Cela am&eacute;liore
+ les choses, que vous ayez une machine mono- ou
+ multi-processeurs. </para>
+ </listitem>
+
+ <listitem><para>Le syst&egrave;me de fichiers qui contient
+ <filename>/usr/src</filename> peut &ecirc;tre mont&eacute; (ou remont&eacute;) avec l'option
+ &ldquo;noatime&rdquo;. De cette mani&egrave;re, les dates de dernier acc&egrave;s
+ aux fichiers ne sont pas enregistr&eacute;es sur disque. Vous n'avez de toute
+ fa&ccedil;on probablement pas besoin de cette information.
+
+ <note>
+ <para>&ldquo;noatime&rdquo; existe &agrave; partir de la version
+ 2.2.0.</para>
+ </note>
+
+ <informalexample>
+ <screen><prompt/#/ <userinput>mount -u -o noatime /usr/src</userinput></screen>
+ </informalexample>
+
+ <note>
+ <para>Cet exemple suppose que <filename>/usr/src</filename>
+ constitue &agrave; lui seul un syst&egrave;me de fichiers. Si ce n'est
+ pas le cas (s'il fait partie de
+ <filename>/usr</filename> par exemple) vous devez indiquez
+ le point de montage de ce syst&egrave;me de fichiers, et non
+ <filename>/usr/src</filename>.</para>
+ </note></para>
+ </listitem>
+
+ <listitem><para>Le syst&egrave;me de fichiers o&ugrave; se trouve
+ <filename>/usr/obj</filename>
+ peut &ecirc;tre mont&eacute; (ou remont&eacute;) avec l'option &ldquo;async&rdquo;.
+ Les &eacute;critures sur disque se font alors de fa&ccedil;on asynchrone. En
+ d'autres termes, le programme reprend imm&eacute;diatement la main,
+ mais l'&eacute;criture se fait quelques secondes apr&egrave;s. Les acc&egrave;s
+ disque sont ainsi group&eacute;s, et le gain en performances est
+ spectaculaire.</para>
+
+ <note>
+ <para>Rappelez-vous que cette option rend votre syst&egrave;me de
+ fichiers plus fragile. Avec cette option, les risques sont accrus
+ qu'en cas de coupure d'alimentation, le syst&egrave;me de fichiers soit
+ irr&eacute;cup&eacute;rable quand la machine red&eacute;marrera.</para>
+
+ <para>S'il n'y a que <filename>/usr/obj</filename> sur ce syst&egrave;me
+ de fichiers, ce n'est pas un probl&egrave;me. S'il contient des
+ informations
+ plus sensibles, assurez-vous que vos sauvegardes soient &agrave; jour
+ avant d'activer cette option.</para>
+ </note>
+
+ <para><informalexample>
+ <screen><prompt/#/ <userinput>mount -u -o async /usr/obj</userinput></screen>
+ </informalexample>
+
+ <note>
+ <para>Comme auparavant, si <filename>/usr/obj</filename> ne
+ constitue pas un syst&egrave;me de fichiers en soit,
+ remplacez-le dans l'exemple par le nom du point
+ de montage qui convient.</para>
+ </note></para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+ </sect1>
+
+ <sect1 id="translations">
+ <title>Traductions</title>
+
+ <sect2>
+ <title>Document original</title>
+ <para>L'original de ce document se trouve sur
+ <ulink url="http://www.nothing-going-on.demon.co.uk/FreeBSD/make-world/make-world.html">http://www.nothing-going-on.demon.co.uk/FreeBSD/make-world/make-world.html</ulink>.</para>
+ </sect2>
+ <sect2>
+ <title>Japonais</title>
+
+ <para>MAEKAWA Masahide a traduit ce document en
+ Japonais. Sa traduction est disponible &agrave; l'adresse <ulink
+ url="http://www.rr.iij4u.or.jp/~bishop/FreeBSD/mw.html">http://www.rr.iij4u.or.jp/~bishop/FreeBSD/mw.html</ulink>.</para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="contributors">
+ <title>Contributions</title>
+
+ <para>Les personnes suivantes ont contribu&eacute; d'une fa&ccedil;on ou d'une autre &agrave; la
+ r&eacute;daction de ce document. Soit directement en sugg&eacute;rant des modifications
+ ou des am&eacute;liorations ou en signalant des erreurs, soit par leurs messages
+ sur les listes de diffusion de FreeBSD, o&ugrave; j'ai puis&eacute; sans scrupule de
+ l'information. Mes remerciements &agrave; tous.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Antonio Bemfica, <ulink url="mailto:bemfica@militzer.me.tuns.ca">bemfica@militzer.me.tuns.ca</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para>Sue Blake, <ulink url="mailto:sue@welearn.com.au">sue@welearn.com.au</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para>Brian Haskin, <ulink url="mailto:haskin@ptway.com">haskin@ptway.com</ulink></para>
+ </listitem>
+ <listitem>
+ <para>Kees Jan Koster, <ulink url="mailto:kjk1@ukc.ac.uk">kjk1@ukc.ac.uk</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para>A Joseph Kosy, <ulink url="mailto:koshy@india.hp.com">koshy@india.hp.com</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para>Greg Lehey, <ulink url="mailto:grog@lemis.com">grog@lemis.com</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para>Wes Peters, <ulink
+ url="mailto:softweyr@xmission.com">softweyr@xmission.com</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para>Joseph Stein, <ulink url="mailto:joes@wstein.com">joes@wstein.com</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para>Studded, <ulink url="mailto:studded@dal.net">studded@dal.net</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para>Axel Thimm <ulink url="mailto:Axel.Thimm@physik.fu-berlin.de">Axel.Thimm@physik.fu-berlin.de</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para>Matthew Thyer <ulink url="mailto:Matthew.Thyer@dsto.defence.gov.au">Matthew.Thyer@dsto.defence.gov.au</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+</article>
diff --git a/fr_FR.ISO_8859-1/articles/mh/Makefile b/fr_FR.ISO_8859-1/articles/mh/Makefile
new file mode 100644
index 0000000000..72c1d9b8c9
--- /dev/null
+++ b/fr_FR.ISO_8859-1/articles/mh/Makefile
@@ -0,0 +1,20 @@
+#
+# The FreeBSD Documentation Project
+# The FreeBSD French Documentation Project
+#
+# $FreeBSD$
+# Original revision: 1.4
+#
+
+DOC?= article
+
+FORMATS?= html
+
+INSTALL_COMPRESSED?=gz
+INSTALL_ONLY_COMPRESSED?=
+
+SRCS= article.sgml
+
+DOC_PREFIX?= ${.CURDIR}/../../..
+
+.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/fr_FR.ISO_8859-1/articles/mh/article.sgml b/fr_FR.ISO_8859-1/articles/mh/article.sgml
new file mode 100644
index 0000000000..26763e00a3
--- /dev/null
+++ b/fr_FR.ISO_8859-1/articles/mh/article.sgml
@@ -0,0 +1,744 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: 1.2
+-->
+
+<!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN" [
+<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> %man;
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES Common Document URL Entities//FR"> %urls;
+<!ENTITY % abstract PUBLIC "-//FreeBSD//ENTITIES DocBook Abstract Entities//FR"> %abstract;
+<!ENTITY % artheader PUBLIC "-//FreeBSD//ENTITIES DocBook ArtHeader Entities//FR"> %artheader;
+<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//FR"> %translators;
+
+<!ENTITY % authors SYSTEM "../../../en_US.ISO_8859-1/books/handbook/authors.ent"> %authors;
+<!ENTITY % mailing-lists SYSTEM "../../books/handbook/mailing-lists.ent"> %mailing-lists;
+ <!ENTITY rel.current CDATA "3.2">
+]>
+<article id="mh" LANG="fr">
+ <artheader>
+ <title>Introduction &agrave; MH</title>
+ <authorgroup>
+ <author>
+ <firstname>Matt</firstname>
+ <surname>Midboe</surname>
+ <affiliation>
+ <address><email>matt@garply.com</email></address>
+ </affiliation>
+ </author>
+ </authorgroup>
+ <pubdate>v1.0, 16 Janvier 1996</pubdate>
+ &artheader.copyright;
+ <abstract>
+ <para>Ce document est une introduction sur la fa&ccedil;on d'utiliser MH
+ sous FreeBSD.</para>
+ &abstract.license;
+ &abstract.disclaimer;
+ &trans.a.gioria;
+ </abstract>
+ </artheader>
+ <sect1>
+ <title>Introduction</title>
+ <para>MH d&eacute;buta en 1977 dans la soci&eacute;t&eacute; RAND
+ Corporation, o&ucirc; la philosophie MH fut d&eacute;velopp&eacute;e. MH
+ n'est pas seulement un programme monolithique de courrier
+ &eacute;lectronique mais plut&ocirc;t une philosophie sur la meilleure
+ fa&ccedil;on de d&eacute;velopper des outils permettant de lire son
+ courrier. Les d&eacute;veloppeurs de MH ont fourni un logiciel superbe
+ tout en adh&eacute;rent au concept <acronym>KISS</acronym>&nbsp;:
+ &ldquo;Keep It Simple Stupid&rdquo; (Rester le plus simple
+ possible).</para>
+ <para>Plut&ocirc;t que de disposer d'un seul et complexe logiciel pour
+ lire, envoyer et g&eacute;rer ses courriers &eacute;lectroniques, ils
+ ont &eacute;crit une multitude de petits programmes
+ sp&eacute;cialis&eacute;s. Certains aimeront MH pour cette
+ sp&eacute;cificit&eacute;, d'autres non. Chaque outil de MH effectue une
+ action, et l'effectue tr&egrave;s bien.</para>
+ <para>En plus de tous les outils de gestion des courriers
+ &eacute;lectroniques, chaque outil MH comporte un m&eacute;canisme de
+ configuration uniforme. En fait, si vous ne savez pas vraiment comment
+ marche un outil, ou de quels arguments il dispose, vous vous en sortez
+ g&eacute;n&eacute;ralement tr&egrave;s facilement. Toutes les commandes
+ de MH g&egrave;rent de fa&ccedil;on identique les fichiers de
+ configuration et les arguments de la ligne de commande. La chose la plus
+ importante est de se souvenir que vous pouvez toujours passer l'option
+ <option>-help</option> &agrave; une commande pour afficher toutes les
+ options disponibles.</para>
+ <para>Pour commencer, assurez vous que vous avez install&eacute; les
+ programmes de MH sur votre machine. Si vous disposez d'un CDROM vous
+ devez pouvoir l'installer en ex&eacute;cutant la commande
+ suivante&nbsp;:</para>
+ <informalexample>
+<screen>#<userinput>>pkg_add /cdrom/packages/mh-6.8.3.tgz</userinput></screen>
+ </informalexample>
+ <para>Vous verrez alors la cr&eacute;ation d'un r&eacute;pertoire
+ <filename>/usr/local/lib/mh</filename> ainsi que l'ajout de
+ diff&eacute;rents binaires dans le r&eacute;pertoire
+ <filename>/usr/local/bin</filename>. Si vous pr&eacute;f&eacute;rez le
+ compiler vous m&ecirc;me, vous pouvez t&eacute;l&eacute;charger les
+ sources en ftp anonyme depuis
+ <ulink url="ftp://ftp.ics.uci.edu/">ftp.ics.uci.edu</ulink> ou
+ <ulink url="ftp://louie.udel.edu/">louie.udel.edu</ulink>.</para>
+ <para>Cette introduction n'est pas une explication d&eacute;taill&eacute;e
+ de la fa&ccedil;on de fonctionner de MH. Elle vous permettra juste
+ d&eacute;marrer sur la route de la fa&ccedil;on la plus rapide de lire vos emails. Vous devrez
+surement consulter les pages de manuels des diff&eacute;rentes commandes par
+la suite. De m&ecirc;me il serait bon de lire le <ulink
+URL="http://www.cis.ohio-state.edu/hypertext/faq/usenet/mh-faq/part1/faq.html">FAQ
+sur MH</ulink> et de vous abonnez au forum de discussion <ulink
+URL="news:comp.mail.mh">comp.mail.mh</ulink>. Cependant la meilleur
+ressource sur MH est le livre &eacute;crit par Jerry Peek aux &eacute;ditions
+O'Reilly et Associates.</para>
+</sect1>
+<sect1>
+<title>Lire le courrier</title>
+<para>Ce chapitre explique les commandes <command>inc</command>,
+<command>show</command>, <command>scan</command>, <command>next</command>,
+<command>prev</>, <command>rmm</command>, <command>rmf</command>, and
+<command>msgchk</command>. Le meilleur atout de MH est la consistence de
+l'interface entre les diff&eacute;rents programmes. La chose la plus
+importante &agrave; retenir lorsque l'on utilise les diff&eacute;rentes commandes,
+est la fa&ccedil;on de sp&eacute;cifier une liste de messages. Dans le cas de la
+commande <command>inc</command> cela n'a aucun sens mais avec des commandes
+comme <command>show</command> c'est plus qu'utile.</para>
+
+<para>Une liste de messages consiste en quelque chose comme <parameter>23 20
+16</parameter>, qui corresponds aux messages 23, 20 et 16. C'est vraiment tr&egrave;s
+simple, mais vous pouvez avoir des choses plus utiles comme
+<parameter>23-30</parameter> correspondant &agrave; tous les messages entre le message
+23 et le message 30. Vous pouvez aussi sp&eacute;cifier <parameter>cur:10</parameter>,
+qui correspond au message courant et aux 9 messages suivants. Les
+messages <parameter>cur</parameter><parameter>last</parameter>, et <parameter>first</parameter>
+sont des messages sp&eacute;ciaux ref&eacute;rant au message courant, dernier
+message, et premier message du dossier.</para>
+
+<sect2 id="inc">
+<title><command>inc</command>, <command>msgchk</command>&mdash;lire ou v&eacute;rifier vos
+messages</title>
+
+<para>Si vous tapez la commande <userinput>inc</userinput> sans arguments, vous
+d&eacute;butez sur la bonne voie pour lire votre courrier avec MH. La
+premi&egrave;re fois ou vous utilisez <command>inc</command>, il configurera votre
+compte pour utilisez toutes les valeurs par d&eacute;faut de MH et vous
+demandera la cr&eacute;ation d'un r&eacute;pertoire Mail. Si vous avez des messages
+et attente de t&eacute;l&eacute;chargement, vous verrez quelque chose qui peut
+ressembler &agrave; ceci:
+<informalexample>
+<screen> 29 01/15 Doug White Re: Another Failed to boot problem&lt;&lt;On Mon, 15 J
+ 30 01/16 "Jordan K. Hubbar Re: FBSD 2.1&lt;&lt;&gt; Do you want a library instead of
+ 31 01/16 Bruce Evans Re: location of bad144 table&lt;&lt;&gt;&gt; &gt;It would appea
+ 32 01/16 "Jordan K. Hubbar Re: video is up&lt;&lt;&gt; Anyway, mrouted won't run, ev
+ 33 01/16 Michael Smith Re: FBSD 2.1&lt;&lt;Nate Williams stands accused of sa</screen>
+</informalexample>
+Vous obtenez la m&ecirc;me vue que si vous utilisiez la commande <command>scan</command> (voir
+<xref linkend="scan">). Si vous lancez <command>inc</command> sans arguments
+, cela vous affiche juste le courrier qui vous est destin&eacute;.</para>
+
+<para>Enorm&eacute;ment de personnes utilisent le protocole POP pour lire
+leur mail. MH sait utiliser le protocole POP pour rapatrier les emails
+sur votre poste. Vous devez passer plusieurs arguments &agrave;
+<command>inc</command> pour cela.
+<informalexample>
+<screen>tempest% <userinput>inc -host mail.pop.org -user <replaceable>NomUtilisateur</replaceable> -norpop</userinput></screen>
+</informalexample>
+Cela invoque la commande <command>inc</command> en lui disant d'aller
+t&eacute;l&eacute;charger le courrier sur le serveur <parameter>mail.pop.org</parameter>,
+avec comme nom d'utilisateur <replaceable>NomUtilisateur</replaceable>. L'option
+<option>-norpop</option> demande &agrave; la commande <command>inc</command> de
+t&eacute;l&eacute;charger le courrier en clair suivant le protocole POP3. MH
+supporte plusieurs variantes du protocole POP3. Vous n'utiliserez pas
+dans la plupart des cas les autres variantes. Vous pouvez effectuer
+des taches plus complexes avec <command>inc</command> comme, auditer des
+fichiers ou parcourir des fichiers formatt&eacute;s
+</para>
+<para>La commande <command>msgchk</command> vous permet de savoir si
+vous avez ou non de nouveaux messages dans votre
+boite.<command>msgchk</command> accepte les m&ecirc;mes options
+,<option>-host</option> et <option>-user</option>, que la commande
+<command>inc</command>.</para>
+</sect2>
+<sect2 id="show">
+<title><command>show</command>, <command>next</command> et <command>prev</command>&mdash;afficher un message et se d&eacute;placer dans une boite.</title>
+<para><command>show</command> vous permet de visualiser un courrier de votre boite. Comme <command>inc</command>,<command>show</command> est une commande assez franche.Si vous tapez <userinput>show</userinput> sans param&egrave;tres elle affiche le message courant. Vous pouvez aussi demander l'affichage de messages particuliers en donnant son num&eacute;ro &agrave; <command>show</command>:
+<informalexample>
+<screen>tempest% <userinput>show 32 45 56</></screen>
+</informalexample>
+Cela affichera les fichiers num&eacute;ros 32 45 56 &agrave; la suite l'un de
+l'autre. Si vous changez rien &agrave; la configuration par d&eacute;faut,
+<command>show</command> ne fera rien d'autre qu'un
+<command>more</command> sur le fichier contenant votre message.</para>
+
+<para><command>next</command> s'utilise pour se d&eacute;placer au message
+suivant et <command>prev</command> pour revenir au message
+pr&eacute;cedent. Ces deux commandes executent automatiquement un
+<command>show</command> ce qui vous permet de lire automatiquement le
+message suivant ou pr&eacute;c&eacute;dant.</para>
+</sect2>
+
+<sect2 id="scan">
+<title><command>scan</command>&mdash;Afficher un r&eacute;sum&eacute; de vos
+messages</title>
+<para><command>scan</command> affiche un bref descriptif de tous les
+messages de votre r&eacute;pertoire courant. Voici un exemple d'affichage de
+la commande <command>show</command>:
+<informalexample>
+<screen> 30+ 01/16 "Jordan K. Hubbar Re: FBSD 2.1&lt;&lt;&gt; Do you want a library instead of
+ 31 01/16 Bruce Evans Re: location of bad144 table&lt;&lt;&gt;&gt; &gt;It would appea
+ 32 01/16 "Jordan K. Hubbar Re: video is up&lt;&lt;&gt; Anyway, mrouted won't run, ev
+ 33 01/16 Michael Smith Re: FBSD 2.1&lt;&lt;Nate Williams stands accused of sa</screen>
+</informalexample>
+Comme tout dans MH, l'affichage est compl&egrave;tement configurable. Ce qui
+est fournit dans l'exemple ci-dessus est l'affichage par d&eacute;faut. Il
+vous permet de visualiser le num&eacute;ro du message, la date d'envoi,
+l'envoyeur, le sujet et une partie du d&eacute;but du message. Le caract&egrave;re
+<literal>+</literal> vous indique le message courant donc si vous
+tapez la commande <command>show</command> vous visualiserez ce
+message.</para>
+<para>Une option tr&egrave;s utile de <command>scan</command> est l'option
+<option>-reverse</option>. Cette option permet de lister l'ensemble de
+vos messages en affichant en premier le message ayant le num&eacute;ro le
+plus &eacute;lev&eacute;. Une autre option tr&egrave;s interessante de
+<command>scan</command> lui permet de lire les donn&eacute;es depuis un
+fichier. Si vous d&eacute;sirez parcourir votre boite aux lettres de courrier
+entrant sans avoir &agrave; lancer la commande <command>inc</command>, il
+vous suffit de faire <command>scan -file
+/var/mail/<replaceable>nom_d_utilisateur</replaceable></command>. Cela
+peut etre fait sur n'importe quel fichier au format
+<database>mbox</database>.</para>
+</sect2>
+
+<sect2 id="rmm">
+<title><command>rmm</command> et <command>rmf</command>&mdash; Effacer
+le message courant ou le dossier</title>
+
+<para><command>rmm</command> est utilis&eacute; pour effacer un message. Par
+d&eacute;faut le message n'est pas vraiment d&eacute;truit mais renomm&eacute; en un
+fichier dont le nom est ignor&eacute; par les commandes de MH. Vous devrez
+effacer physiquement de fa&ccedil;on p&eacute;riodique les messages
+&ldquo;effac&eacute;s&rdquo;.</para>
+<para>La commande <command>rmf</command> permet d'effacer un
+dossier. Cela ne renomme pas les fichiers mais les efface du disque
+dur, vous devez donc faire extr&egrave;mement attention lorsque vous
+l'utilisez.</para>
+</sect2>
+<sect2 id="samplereading">
+<title>Un session typique de lecture avec MH</title>
+<para>La premi&egrave;re chose que vous ferez sera de lancer la commande
+<command>inc</command>. Donc sous l'interpr&eacute;teur de commandes tapez
+<command>inc</command> et la touche <keycap>entr&eacute;e</keycap>.
+<informalexample>
+<screen>tempest% <userinput>inc</userinput>
+Incorporating new mail into inbox...
+
+ 36+ 01/19 "Stephen L. Lange Request...&lt;&lt;Please remove me as contact for pind
+ 37 01/19 Matt Thomas Re: kern/950: Two PCI bridge chips fail (multipl
+ 38 01/19 "Amancio Hasty Jr Re: FreeBSD and VAT&lt;&lt;&gt;&gt;&gt; Bill Fenner said: &gt; In
+tempest%</screen>
+</informalexample>
+Cela vous permet de visualiser les nouveaux messages rapatri&eacute;s dans
+votre boite aux lettres. La commande suivante a &eacute;x&eacute;cuter est
+<command>show</command> pour vous permettre de les visualiser et de
+vous d&eacute;placer dans votre liste de messages.
+<informalexample>
+<screen>tempest% <userinput>show</>
+Received: by sashimi.wwa.com (Smail3.1.29.1 #2)
+ id m0tdMZ2-001W2UC; Fri, 19 Jan 96 13:33 CST
+Date: Fri, 19 Jan 1996 13:33:31 -0600 (CST)
+From: "Stephen L. Lange" &lt;stvlange@wwa.com&gt;
+To: matt@garply.com
+Subject: Request...
+Message-Id: &lt;Pine.BSD.3.91.960119133211.824A-100000@sashimi.wwa.com&gt;
+Mime-Version: 1.0
+Content-Type: TEXT/PLAIN; charset=US-ASCII
+
+
+Please remove me as contact for pindat.com
+
+tempest% <userinput>rmm</>
+tempest% <userinput>next</>
+Received: from localhost (localhost [127.0.0.1]) by whydos.lkg.dec.com (8.6.11/8
+.6.9) with SMTP id RAA24416; Fri, 19 Jan 1996 17:56:48 GMT
+Message-Id: &lt;199601191756.RAA24416@whydos.lkg.dec.com&gt;
+X-Authentication-Warning: whydos.lkg.dec.com: Host localhost didn't use HELO pro
+tocol
+To: hsu@clinet.fi
+Cc: hackers@FreeBSD.org
+Subject: Re: kern/950: Two PCI bridge chips fail (multiple multiport ethernet
+ boards)
+In-Reply-To: Your message of "Fri, 19 Jan 1996 00:18:36 +0100."
+ &lt;199601182318.AA11772@Sysiphos&gt;
+X-Mailer: exmh version 1.5omega 10/6/94
+Date: Fri, 19 Jan 1996 17:56:40 +0000
+From: Matt Thomas &lt;matt@lkg.dec.com&gt;
+Sender: owner-hackers@FreeBSD.org
+Precedence: bulk
+
+
+This is due to a typo in pcireg.h (to
+which I am probably the guilty party).</screen>
+</informalexample></para>
+<para>La commande <command>rmm</command> efface le message courant et
+la commande <command>next</command> permet de d&eacute;placer le num&eacute;ro du
+message courant au message suivant. Maintenant vous d&eacute;sirez visualiser les
+dix courriers les plus r&eacute;cents, pour choisir lequel vous d&eacute;sirez lire:
+<informalexample>
+<screen>tempest% <userinput>scan last:10</>
+ 26 01/16 maddy Re: Testing some stuff&lt;&lt;yeah, well, Trinity has
+ 27 01/17 Automatic digest NET-HAPPENINGS Digest - 16 Jan 1996 to 17 Jan 19
+ 28 01/17 Evans A Criswell Re: Hey dude&lt;&lt;&gt;From matt@tempest.garply.com Tue
+ 29 01/16 Karl Heuer need configure/make volunteers&lt;&lt;The FSF is looki
+ 30 01/18 Paul Stephanouk Re: [alt.religion.scientology] Raw Meat (humor)&lt;
+ 31 01/18 Bill Lenherr Re: Linux NIS Solaris&lt;&lt;--- On Thu, 18 Jan 1996 1
+ 34 01/19 John Fieber Re: Stuff for the email section?&lt;&lt;On Fri, 19 Jan
+ 35 01/19 support@foo.garpl [garply.com #1138] parlor&lt;&lt;Hello. This is the Ne
+ 37+ 01/19 Matt Thomas Re: kern/950: Two PCI bridge chips fail (multipl
+ 38 01/19 "Amancio Hasty Jr Re: FreeBSD and VAT&lt;&lt;&gt;&gt;&gt; Bill Fenner said: &gt; In
+tempest%</screen>
+</informalexample>
+Maintenant vous voulez lire le message num&eacute;ro 27, donc vous
+tapez<userinput>show 27</userinput> et il s'affiche. Comme vous pouvez
+le voir apr&egrave;s ce court exemple MH est tr&egrave;s simple &agrave; utiliser pour
+visualiser et lire votre courrier et est de plus tr&egrave;s intuitif.
+</para>
+</sect2>
+</sect1>
+
+
+<sect1>
+<title>Chercher parmis les messages et les dossiers</title>
+
+<para>Toute personne qui a beaucoup de mails aime &agrave; pouvoir mettre des
+priorit&eacute;s, marquer les messages, les num&eacute;roter de diff&eacute;rentes
+fa&ccedil;ons. MH permet de faire toutes ces taches de fa&ccedil;ons tr&egrave;s simple
+comme d'habitude. Une chose dont nous n'avons pas encore parl&eacute; est le
+concept de dossier. Vous avez surement utilis&eacute; le concept de dossier
+avec d'autres programmes de lecture de courrier &eacute;l&eacute;ctronique. MH a
+aussi des dossiers. MH peut aussi avoir des sous-dossiers de
+dossiers. Un chose que vous devez avoir &agrave; l'esprit quand vous utilisez
+la commande <command>inc</command>, pour la premi&egrave;re fois, est qu'elle
+demande si vous voulez cr&eacute;er le r&eacute;pertoire <filename>Mail</filename>,
+et qu'elle enregistre tout dans ce r&eacute;pertoire. Si vous regardez ce
+qu'il se trouve dans ce r&eacute;pertoire, vous verrez un r&eacute;pertoire
+<filename>inbox</filename>. Ce r&eacute;pertoire comporte tous vos nouveaux
+messages qui n'ont pas encore &eacute;t&eacute; d&eacute;plac&eacute;s dans un autre
+dossier.</para>
+
+<para>Lorsque vous cr&eacute;ez un nouveau dossier, un r&eacute;pertoire est cr&eacute;e
+sous votre r&eacute;pertoire <filename>Mail</filename> et les messages &agrave;
+destination de se dossier sont stock&eacute;s dans ce r&eacute;pertoire. Lorsque un
+nouveau message arrive, il est d&eacute;pos&eacute; dans votre r&eacute;pertoire
+<filename>inbox</filename> avec comme nom le num&eacute;ro du message. Donc
+m&ecirc;me si vous n'avez pas les outils MH pour lire votre courrier,
+vous pouvez utiliser les commandes standards UNIX pour vous d&eacute;placer
+parmis les dossiers et visualiser vos messages. C'est cette simplicit&eacute;
+qui vous donne autant de puissance dans le traitement de vos
+messages.</para>
+
+<para>De la meme fa&ccedil;on ou vous pouvez utiliser une liste de messages,
+comme <parameter>23 16 42</parameter>, avec la plupart des commandes
+MH; il y a une option utilisable avec toutes les commandes MH vous
+permettant de travailler dans le dossier sp&eacute;cifi&eacute;. Si vous essayer
+<command>scan +freebsd</command>, vous allez parcourir le dossier
+<filename>freebsd</filename>. Si vous faites un <command>show +freebsd
+23 16 42</command>, la commande <command>show</command> affichera les
+messages 23, 26 et 42 du dossier <filename>freebsd</filename>. Donc
+souvenez vous que la syntaxe
+<option>+<replaceable>dossier</replaceable></option>. Vous en aurez besoin pour
+lancer les commandes dans les diff&eacute;rents dossiers. Souvenez vous aussi
+que votre dossier de courrier entrant par d&eacute;faut est
+<filename>inbox</filename>, donc en faisant un <command>folder
++inbox</command> vous aurez la liste de vos nouveaux messages. Bien
+sur grace &agrave; la flexibilit&eacute; de MH, vous pourriez changer ce dossier,
+mais il y a peu d'interet &agrave; le faire.</para>
+
+<sect2>
+<title><command>pick</command>&mdash; recherche par crit&egrave;res dans les
+messages</title>
+<para><command>pick</command> est une des commandes les plus
+compliqu&eacute;es de MH. Je ne saurais pas mieux vous conseiller que d'aller
+voir la page de manuel de
+<citerefentry><refentrytitle>pick</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+pour bien la comprendre. La plus simple fa&ccedil;on de s'en servir est la
+suivante:
+<informalexample>
+<screen>tempest% <userinput>pick -search pci</userinput>
+15
+42
+55
+56
+57</screen>
+</informalexample>
+Cela vous permet de trouver les num&eacute;ros de tous les messages
+comprenant le mot <literal>pci</literal> dans une des lignes du
+message. Vous pouvez ensuite lancer la commande
+<command>show</command> sur ces messages pour les lire ou
+<command>rmm</command> pour les effacer. Vous devrez bien sur lancer
+la commande suivante <command>show 15 42 55-57</command> pour les voir
+tous. Une fa&ccedil;on un peu plus compliqu&eacute;e d'utiliser
+<command>pick</command> serait la suivante:
+<informalexample>
+<screen>tempest% <userinput>pick -search pci -seq pick</userinput>
+5 hits
+tempest% <userinput>show pick</userinput></screen>
+</informalexample>
+Cela vous permet de voir les memes messages que pr&eacute;c&eacute;demment sans vous
+fatiguer. L'option <option>-seq</option> n'est rien de plus qu'une
+abr&eacute;viation de l'option<option>-sequence</option> et la commande
+<command>pick</command> n'est rien de plus qu'une sequence comportant
+les num&eacute;ros des messages v&eacute;rifiant le crit&egrave;re. Vous pouvez aussi
+utiliser la commande <command>rmm pick</command> pour effacer tous les
+messages qui r&eacute;pondent au crit&egrave;re. Le nom de la sequence n'est pas
+signifiant. Si vous relancez la commande <command>pick</command> de
+nouveau, l'ancienne s&eacute;quence sera effac&eacute;e si vous utilisez le meme
+nom.</para>
+
+<para>Si vous n'utilisiez que la commande <command>pick
+-search</command>, cela peut prendre plus de temps que de chercher un
+message entre un destinataire et un envoyeur. La commande
+<command>pick</command> dispose donc de certains crit&egrave;res pr&eacute;d&eacute;finis:
+<variablelist>
+
+<varlistentry>
+<term><option>-to</option></term>
+<listitem>
+<para>recherche sur le destinataire</para>
+</listitem>
+</varlistentry>
+
+
+<varlistentry>
+<term><option>-cc</option></term>
+<listitem>
+<para>recherche dans le champ cc du message</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-from</option></term>
+<listitem>
+<para>recherche sur l'exp&eacute;diteur du message</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-subject</option></term>
+<listitem>
+<para>recherche dans le sujet du message</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-date</option></term>
+<listitem>
+<para>recherche par rapport &agrave; la date du message</para>
+</listitem>
+</varlistentry>
+
+
+<varlistentry>
+<term><option>--<replaceable>component</replaceable></option></term>
+<listitem>
+<para>recherche sur un quelconque autre entete. (ex:
+<option>--reply-to</option> pour rechercher dans les entetes reply-to
+des messages)</para>
+</listitem>
+</varlistentry></variablelist></para>
+
+<para>Cela permet d'avoir des requetes de ce type:
+<informalexample>
+<screen>tempest% <userinput>pick -to freebsd-hackers@freebsd.org -seq hackers</userinput></screen>
+</informalexample>
+pour avoir tous les messages envoy&eacute;s &agrave; la liste de diffusion hackers
+de FreeBSD. <command>pick</command> vous permet de grouper de
+diff&eacute;rentes fa&ccedil;on en fonctiondu crit&egrave;re.
+<itemizedlist>
+
+<listitem>
+<para>&hellip; <option>-and</option> &hellip;</para>
+</listitem>
+
+<listitem>
+<para>&hellip; <option>-or</option> &hellip</para>
+</listitem>
+
+<listitem>
+<para><option>-not</option> &hellip;</para>
+</listitem>
+
+<listitem>
+<para><option>-lbrace</option> &hellip; <option>-rbrace</option></para>
+</listitem>
+</itemizedlist>
+Ces options permettent de faire des choses comme ceci:
+<informalexample>
+<screen>tempest% <userinput>pick -to freebsd-hackers -and -cc freebsd-hackers</userinput></screen>
+</informalexample>
+Cela vous permet de retrouver tous les messages envoy&eacute;s &agrave; la liste
+freebsd-hackers ou mis en copie &agrave; cette liste. Les options <option>lbrace</option> et
+<option>rbrace</option> vous permettent de grouper les crit&egrave;res ensemble. Cela peut
+etre util dans certaines situations, comme dans l'exemple suivant:
+<informalexample>
+<screen>tempest% <userinput>pick -lbrace -to freebsd-hackers -and
+ -not -cc freebsd-questions -rbrace -and -subject pci</></screen>
+</informalexample></para>
+
+<para>Cet exemple vous permet d'extraire tous les mails destin&eacute;s &agrave; <quote>la
+liste freebsd-hackers (mais qui ne sont pas mis en copie pour la liste
+freebsd-questions) et dont le sujet est pci</quote>. Normalement vous
+vous poseriez la question; mais quelle est la pr&eacute;c&eacute;dence des
+op&eacute;rateurs ? Vous vous rappelez qu'en math&eacute;matiques les expressions
+sont &eacute;valu&eacute;es de gauche &agrave; droite et que la multiplication et la
+division ont plus de poids que les additions et les soustractions. MH
+utilise les memes r&egrave;gles pour la commande <command>pick</command>. Les
+combinaisons peuvent etre tr&egrave;s complexes, donc lisez la page de manuel
+pour plus d'informations. Ce document est juste la pour vous aider &agrave;
+d&eacute;couvrir MH.</para>
+</sect2>
+
+<sect2>
+<title><command>folder</command>, <command>folders</command>,
+<command>refile</command>&mdash; trois programmes utiles pour g&eacute;rer vos
+dossiers.</title>
+
+<para>Il y a trois programmes vous permettant de g&eacute;rer de fa&ccedil;on
+primitive vos dossiers. Le programme <command>folder</command> est
+utilis&eacute; pour changer de dossiers, lister leur contenu. Vous pouvez
+lancer la commande <command>folder
++<replaceable>dossier2</replaceable></command> et automatiquement,
+vous vous retrouverez dans le dossier
+<replaceable>dossier2</replaceable>. Alors toutes les commandes MH,
+telles que
+<command>comp</command>,<command>repl</command>,<command>scan</command>,
+et <command>show</command> utiliserons le dossier <filename>dossier2</filename>.</para>
+
+<para>Quelques fois lorsque vous lisez et effacez dans messages vous
+avez des <quote>discontinuit&eacute;es</quote> dans vos dossiers. Si vous faites un
+<command>scan</command> vous pouvez voir les messages 34, 35, 36, 43,
+55, 56, 57, 80. Si vous faites un <command>folder -pack</command>,
+cela vous permet de renum&eacute;roter tous vos messages, et vous n'aurez
+plus de disccontinuit&eacute;es. Cela n'efface aucun message. Vous devez donc
+p&eacute;riodiquement faire des <command>rmm</command> sur vos
+messages.</para>
+
+<para>Si vous desirez des statistiques sur vos dossiers, vous pouvez
+faire des <command>folders</command> ou des <command>folder
+-all</command> pour obtenir la liste de vos dossiers, combien de
+messages comporte chaque dossier et quel est le message courant dans
+chacun. La ligne de statistique affich&eacute;e est la meme que celle que
+vous avez lorsque vous changez de dossier avec la commande
+<command>folder +dossier2</>. Un exemple de la commande
+<command>folders</command> pourrait etre:
+<informalexample>
+<screen> Folder # of messages ( range ); cur msg (other files)
+ announce has 1 message ( 1- 1).
+ drafts has no messages.
+ f-hackers has 43 messages ( 1- 43).
+ f-questions has 16 messages ( 1- 16).
+ inbox+ has 35 messages ( 1- 38); cur= 37.
+ lists has 8 messages ( 1- 8).
+ netfuture has 1 message ( 1- 1).
+ out has 31 messages ( 1- 31).
+ personal has 6 messages ( 1- 6).
+ todo has 58 messages ( 1- 58); cur= 1.
+
+ TOTAL= 199 messages in 13 folders.
+</screen>
+</informalexample></para>
+
+<para>La commande <command>refile</command> vous permet de deplacer
+les messages entre les dossiers. Si vous faites un <command>refile 23
++nouveaudossier</command>, le message 23 sera d&eacute;placer dans le dossier
+<filename>nouveaudossier</filename>. Vous pouvez tout aussi bien faire
+un <command>refile 23 +nouveaudossier/sousdossier1</command> qui
+d&eacute;placera le message 23 dans le un sous
+dossier,<filename>sousdossier1</filename>, du dossier
+<filename>nouveaudossier</filename>. Si vous voulez garder un message
+dans le dossier courant tout en le mettant dans un autre, vous devez
+lancer la commande <command>refile -link 23 +nouveaudossier</command>,
+qui gardera le message dans le dossier <filename>inbox</filename> tout
+en le listant dans le dossier
+<filename>nouveaudossier</filename>. Cela vous permet de r&eacute;aliser
+toutes les choses merveilleuses que vous pouvez faire avec MH.</para>
+</sect2>
+</sect1>
+
+<sect1>
+<title>Envoyer des messages</title>
+<para>L'email est pour beaucoup de gens, comme une rue a double sens,
+vous voudrez donc r&eacute;pondre a certains messages. La fa&ccedil;on qu'emploie MH
+pour envoyer des messages peut etre difficile a comprendre au d&eacute;but,
+mais il permet une &eacute;norme flexibilit&eacute;e.La premi&egrave;re chose que fait MH,
+est de copier un "composant" dans votre file de messages sortant. Un
+"composant" est en fait un squelette de message comportant les entetes
+<filename>To:</filename> et <filename>Subject:</filename>. Le syst&egrave;me
+lance ensuite votre &eacute;diteur favori ou vous pouvez remplir les entetes
+et composer le corps du message sous les pointill&eacute;s dans le
+message. Ensuite vous lancez la commande
+<command>whatnow</command>. Et lorsque vous avez le prompt
+<prompt>What now?</prompt>, vous pouvez r&eacute;pondre par une des commandes
+suivante <command>send</command>, <command>list</command>, <command>edit</command>,
+<command>edit</command>, <command>push</command>, and
+<command>quit</command>. La plupart des commandes pr&eacute;c&eacute;dentes
+s'expliquent d'elles meme. Donc le processus d'envoi de message est le
+suivant; copie du fichier "composant", &eacute;dition de votre message, et
+lancement de la commande <command>whatnow</command> en lui indiquant
+quoi faire de votre message.</para>
+
+<sect2>
+<title><command>comp</>, <command>forw</>,
+<command>reply</>&mdash;composer, faire suivre ou r&eacute;pondre &agrave; un
+message</title>
+
+<para>La commande <command>comp</command> comporte quelques options de
+la ligne de commande int&eacute;ressantes. La plus importante est
+<option>-editor</option>.Lorsque vous installez MH, un programme
+appell&eacute; <command>prompter</command> est utiliser comme &eacute;diteur de
+texte par d&eacute;faut. Ce n'est pas un &eacute;diteur tr&egrave;s interessant. Donc
+lorsque vous composez un message, vous utiliserez surement
+<command>comp -editor /usr/bin/vi</command> ou <command>comp -editor
+/usr/local/bin/pico</command> a la place. Apr&egrave;s avoir lancer
+<emphasis>comp</emphasis>, vous vous trouvez dans votre &eacute;diteur de
+texte favori et vous voyez quelque chose qui ressemble &agrave; ceci:
+<informalexample>
+<screen>To:
+cc:
+Subject:
+--------
+</screen>
+</informalexample></para>
+<para>Vous devez ajoutez l'addresse de votre destinataire apres le mot
+<literal>To:</literal>. Vous devez remplir de la meme mani&egrave;re les
+autres entetes, donc vous devez mettre le sujet apr&egrave;s le mot
+<literal>Subject:</literal>. Vous pouvez ensuite ajouter le corps de
+votre message apr&egrave;s les lignes pointill&eacute;es. Cela peut vous sembler un
+peu simpliste par rapport a d'autres programmes de messagerie qui vous
+pose des questions et remplissent automatiquement les diff&eacute;rents
+entete, mais cela vous apporte une excellente flexibilit&eacute;.
+<informalexample>
+<screen>To:<userinput>freebsd-rave@freebsd.org</userinput>
+cc:
+Subject:<userinput>Et le 8&egrave;me jour, Dieu cr&eacute;a le bureau des directeurs de FreeBSD</userinput>
+--------
+<userinput>Ouah, c'est un super syst&egrave;me d'exploitation. Merci !</userinput></screen>
+</informalexample>
+Vous pouvez ensuite, sauvegarder le message et quitter votre
+&eacute;diteur. Vous aurez alors le prompt <prompt>What now?</prompt> et vous
+pourrez taper <userinput>send</userinput> ou <userinput>s</userinput>
+et appuyer sur la touche <keycap>entr&eacute;e</keycap>. Alors l'&eacute;quipe
+principal de d&eacute;veloppemet de FreeBSD recevra votre gratitude. Comme
+mentionn&eacute; pr&eacute;cedemment vous pouvez utiliser une des autres r&eacute;ponse,
+par exemple <command>quit</command> si vous ne voulez pas envoyer ce
+message.</para>
+
+<para>La commande <command>forw</command> s'utilise de fa&ccedil;on
+similaire. La principal diff&eacute;rence est que le message que vous envoyez
+comprends dans son corps le message courant. Lorsque vous utilisez la
+commande <command>forw</command>, vous faites suivre le message
+courant a un autre destinataire. Vous pouvez faire suivre un autre
+message en utilisant de la fa&ccedil;on suivante <command>forw 23</command>
+la commande <command>forw</command>, ainsi le message 23 sera ajoute
+dans le corps du message compos&eacute;. A part ces simples diff&eacute;rences, la
+commande <command>forw</command>, fonctionne de la meme fa&ccedil;on que la
+commande <command>comp</command>. </para>
+
+<para>La commande <command>repl</command> vous permet de r&eacute;pondre au
+message courant, sauf si vous lui indiquez un autre num&eacute;ro de
+message. La commande <command>repl</command> essaye de remplir au
+mieux les diff&eacute;rents champs de l'entete en fonction de ce qui se
+trouve dans le message de base. Vous noterez donc que le
+champ<literal> To:</literal> de l'entete comporte deja l'adresse du
+destinataire et que la ligne <literal>Subject:</literal> est deja
+remplie. Ensuite vous composez de la fa&ccedil;on habituelle votre
+message. Un option interessante de cette commande est
+<option>-cc</option>. Vous pouvez utiliser comme parametre
+<parameter>all</parameter>, <parameter>to</parameter>,
+<parameter>cc</parameter>,<parameter>me</parameter> avec cette option;
+cela vous permet d'ajouter de fa&ccedil;on simple, les adresses en copie du
+message original. Vous noterez que le message original n'est pas inclu
+par d&eacute;faut. C'est le comportement par d&eacute;faut de la plupart des
+configuration de MH.
+</para>
+</sect2>
+
+<sect2>
+<title><filename>components</filename>, et
+<filename>replcomps</filename>&mdash;les fichiers de composition pour
+<command>comp</> and <command>repl</></title>
+
+<para>Le fichier <filename>components</filename> se trouve la plupart
+du temps dans le r&eacute;pertoire
+<filename>/usr/local/lib/mh</filename>. Vous pouvez copier ce fichier
+dans votre r&eacute;pertoire de MH et l'&eacute;diter pour ajouter ce que vous
+voulez. Vous avez certaines lignes d'entete de mail par d&eacute;faut au
+d&eacute;but, une ligne pointill&eacute;e et puis plus rien. La commande
+<command>comp</command> ne fait que copier ce fichier et vous permet
+ensuite de l'&eacute;diter. Vous pouvez ajouter n'importe quel entete valide
+(RFC822). Par exemple, vous pourriez avoir le fichier
+<filename>components</filename> suivant:
+<informalexample>
+<screen>To:
+Fcc: out
+Subject:
+X-Mailer: MH 6.8.3
+X-Comment: FreeBSD the power to serve
+X-Home-Page: http://www.freebsd-fr.org/
+-------</screen>
+</informalexample>
+MH copiera donc ce fichier et vous enverra dans votre &eacute;diteur
+favori. Le fichier <filename>components</filename> est tr&egrave;s simple. Si
+vous d&eacute;sirez inclure une signature, il vous suffit de l'ajouter dans
+ce fichier.</para>
+
+<para>Le fichier <filename>replcomps</filename> est un peu plus
+complexe. Son contenu par d&eacute;faut ressemble &agrave; ceci:
+<informalexample>
+<screen>%(lit)%(formataddr %&lt;{reply-to}%?{from}%?{sender}%?{return-path}%&gt;)\
+%&lt;(nonnull)%(void(width))%(putaddr To: )\n%&gt;\
+%(lit)%(formataddr{to})%(formataddr{cc})%(formataddr(me))\
+%&lt;(nonnull)%(void(width))%(putaddr cc: )\n%&gt;\
+%&lt;{fcc}Fcc: %{fcc}\n%&gt;\
+%&lt;{subject}Subject: Re: %{subject}\n%&gt;\
+%&lt;{date}In-reply-to: Your message of "\
+%&lt;(nodate{date})%{date}%|%(pretty{date})%&gt;."%&lt;{message-id}
+ %{message-id}%&gt;\n%&gt;\
+--------
+</screen>
+</informalexample></para>
+
+<para>Ce fichier a le meme format de base que le fichier
+<filename>components</filename> mais il comporte un peu plus de codes
+de mise en forme. La commande <literal>%(lit)</literal> cr&eacute;e l'espace
+n&eacute;cessaire pour l'adresse. La commande <literal>%(formataddr</literal>
+est une fonction qui retourne une adresse e-mail coh&eacute;rente. Le morceau
+suivant <literal>%&lt;</literal> permet de remplir le champ de
+l'adresse avec l'adresse correspondante dans le cas ou elle se trouve
+dans le champ <literal>{reply-to}</literal> du message de
+l'emetteur. Cela sera donc transfom&eacute; de la mani&egrave;re suivante:
+<informalexample>
+<screen>%&lt;<emphasis remap=bf>si</emphasis> {reply-to} <emphasis
+remap=bf> dans le message original ou trouve un champ reply-to</emphasis>
+alors la mettre dans le champ formataddr, %? <emphasis remap=bf>sinon
+prendre le contenu du champ </emphasis> {from} <emphasis
+remap=bf></emphasis>, %? <emphasis remap=bf>sinon</emphasis> prendre
+le champ {sender} <emphasis remap=bf></emphasis>, %?
+<emphasis remap=bf>et en dernier lieu prendre le champ </emphasis> {return-path} <emphasis remap=bf></emphasis>, %&gt; <emphasis remap=bf>endif</emphasis>.</screen>
+</informalexample></para>
+
+<para>Comme vous pouvez le voir, le formattage des champs de MH peut
+etre largement &eacute;tendu. Vous pourrez surment d&eacute;crypter le maximum des
+autres fonctions et des noms de variables. Toutes les autres
+informations sur le fa&ccedil;on d'&eacute;crire ces chaines de formattage se trouve
+dans la page de manuel de MH. Donc lorsque vous aurez finit de creer
+votre fichier <filename>replcomps</filename> vous n'aurez plus besoin
+d'y toucher. Aucun autre programme ne vous donne autant de flexibilit&eacute;
+et de pouvoir que MH.</para>
+</sect2>
+
+</sect1>
+
+
+
+</article>
+
diff --git a/fr_FR.ISO_8859-1/articles/multi-os/Makefile b/fr_FR.ISO_8859-1/articles/multi-os/Makefile
new file mode 100644
index 0000000000..72c1d9b8c9
--- /dev/null
+++ b/fr_FR.ISO_8859-1/articles/multi-os/Makefile
@@ -0,0 +1,20 @@
+#
+# The FreeBSD Documentation Project
+# The FreeBSD French Documentation Project
+#
+# $FreeBSD$
+# Original revision: 1.4
+#
+
+DOC?= article
+
+FORMATS?= html
+
+INSTALL_COMPRESSED?=gz
+INSTALL_ONLY_COMPRESSED?=
+
+SRCS= article.sgml
+
+DOC_PREFIX?= ${.CURDIR}/../../..
+
+.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/fr_FR.ISO_8859-1/articles/multi-os/article.sgml b/fr_FR.ISO_8859-1/articles/multi-os/article.sgml
new file mode 100755
index 0000000000..994298fd4a
--- /dev/null
+++ b/fr_FR.ISO_8859-1/articles/multi-os/article.sgml
@@ -0,0 +1,700 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+<!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN" [
+<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> %man;
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES Common Document URL Entities//FR"> %urls;
+<!ENTITY % abstract PUBLIC "-//FreeBSD//ENTITIES DocBook Abstract Entities//FR"> %abstract;
+<!ENTITY % artheader PUBLIC "-//FreeBSD//ENTITIES DocBook ArtHeader Entities//FR"> %artheader;
+<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//FR"> %translators;
+
+<!ENTITY % authors SYSTEM "../../../en_US.ISO_8859-1/books/handbook/authors.ent"> %authors;
+<!ENTITY % mailing-lists SYSTEM "../../books/handbook/mailing-lists.ent"> %mailing-lists;
+ <!ENTITY rel.current CDATA "3.2">
+]>
+
+<article lang="fr">
+ <artheader>
+ <title>Installer et utiliser FreeBSD en m&ecirc;me temps que d'autres syst&egrave;mes d'exploitation</title>
+ <authorgroup>
+ <author>
+ <firstname>Jay</firstname>
+ <surname>Richmond</surname>
+ </author>
+ </authorgroup>
+ &artheader.copyright;
+ <abstract>
+ <para><email>jayrich@sysc.com</email></para>
+ <para>6 Aout 1996</para>
+ <para>Ce document explique comment faire cohabiter proprement FreeBSD et
+ d'autres syst&egrave;mes d'exploitation courants tels que Linux, MS-DOS, OS/2
+ et Windows 95. Remerciements particuliers &agrave; Annelise Anderson
+ <email>andrsn@stanford.edu</email>, Randall Hopper
+ <email>rhh@ct.picker.com</email> et Jordan K. Hubbard
+ <email>jkh@time.cdrom.com</email>.</para>
+ &abstract.license;
+ &abstract.disclaimer;
+ &trans.a.haby;
+ </abstract>
+ </artheader>
+ <sect1>
+ <title>R&eacute;sum&eacute;</title>
+ <para>La plupart des gens n'arrivent pas &agrave; faire cohabiter leurs divers
+ syst&egrave;mes d'exploitation sans des disques de grande capacit&eacute;,
+ des informations sur les gros disques EIDE sont donc incluses. Comme il
+ y a de nombreuses combinaisons possibles de syst&egrave;mes d'exploitation et
+ de configurations de disques durs, la section
+ <link linkend="examples">Exemples</link> sera peut-&ecirc;tre celle
+ qui vous sera la plus utile. Elle d&eacute;crit plusieurs configurations
+ d'ordinateurs utilisant plusieurs syst&egrave;mes d'exploitation.</para>
+ <para>Ce document suppose que vous avez d&eacute;j&agrave; pr&eacute;par&eacute; de la place sur votre
+ disque dur pour un syst&egrave;me d'exploitation suppl&eacute;mentaire. Chaque fois que
+ vous repartitionnez votre disque dur, vous prenez le risque de d&eacute;truire
+ les donn&eacute;es qui se trouvent sur les partitions existantes. Toutefois, si
+ votre disque est enti&egrave;rement occup&eacute; par DOS, vous trouverez peut-&ecirc;tre le
+ programme FIPS (qui se trouve sur le CD-ROM FreeBSD dans le r&eacute;pertoire
+ <filename>\TOOLS</filename> ou que vous pouvez t&eacute;l&eacute;charger par
+ <ulink url="ftp://ftp.freebsd.org/pub/FreeBSD/tools">ftp</ulink>) utile.
+ Il vous permet de repartitionner votre disque sans d&eacute;truire les donn&eacute;es
+ qui s'y trouvent. Il existe aussi une programme commercial appel&eacute;
+ Partition Magic, qui vous permet de dimensionner et de supprimer des
+ partitions sans d&eacute;g&acirc;t.</para>
+ </sect1>
+ <sect1 id="boot-managers">
+ <title>Revue des gestionnaires de d&eacute;marrage</title>
+ <para>Ce ne sont que de br&egrave;ves descriptions des diff&eacute;rents gestionnaires
+ de d&eacute;marrage que vous rencontrerez. Selon la configuration de votre
+ ordinateur, vous pourrez trouver utile d'en employer plus d'un sur le
+ m&ecirc;me syst&egrave;me.</para>
+ <variablelist>
+ <varlistentry>
+ <term>Boot Easy</term>
+ <listitem>
+ <para>C'est le gestionnaire de d&eacute;marrage par d&eacute;faut de FreeBSD. Il
+ peut d&eacute;marrer &agrave; peu pr&egrave;s n'importe quoi, y compris BSD, OS/2
+ (HPFS), Windows 95 (FAT et FAT32) et Linux. Les partitions sont
+ s&eacute;lectionn&eacute;es &agrave; l'aide des touches fonction.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><foreignphrase>OS/2 Boot Manager</foreignphrase></term>
+ <listitem>
+ <para>Il d&eacute;marrera depuis la FAT, HPFS, FFS (FreeBSD) et EXT2
+ (Linux). Il peut aussi d&eacute;marrer depuis des partitions FAT32.
+ Les partitions sont s&eacute;lectionn&eacute;es avec les touches Fl&egrave;ches.
+ Le gestionnaire de d&eacute;marrage
+ <foreignphrase>OS/2 Boot Manager</foreignphrase> est le
+ seul &agrave; utiliser sa propre partition distincte, &agrave; l'inverse des
+ autres qui utilisent l'enregistrement principal de d&eacute;marrage
+ (<foreignphrase>Master Boot
+ Record</foreignphrase>&nbsp;-&nbsp;MBR). Il doit donc &ecirc;tre
+ install&eacute; dans les 1024 premiers cylindres pour &eacute;viter des
+ probl&egrave;mes de d&eacute;marrage. Il peut charger Linux en utilisant LILO
+ lorsque ce dernier se trouve sur le secteur de d&eacute;marrage et non sur
+ le MBR. Allez sur les
+ <ulink url="http://www.freenix.fr/linux/HOWTO">HOWTO Linux</ulink>
+ sur le World Wide Web pour plus d'informations sur le d&eacute;marrage
+ de Linux avec le gestionnaire de d&eacute;marrage d'OS/2.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>OS-BS</term>
+ <listitem>
+ <para>C'est une alternative &agrave; Boot Easy. Il vous donne plus de
+ contr&ocirc;le sur le processus de d&eacute;marrage, avec la possibilit&eacute; de
+ s&eacute;lectionner la partition &agrave; d&eacute;marrer par d&eacute;faut et le d&eacute;lai de
+ d&eacute;marrage. La version b&eacute;ta de ce programme vous permet de
+ s&eacute;lectionner le syst&egrave;me d'exploitation &agrave; d&eacute;marrer avec les
+ touches Fl&egrave;ches. Il est inclus sur le CD-ROM FreeBSD dans le
+ r&eacute;pertoire <filename>\TOOLS</filename> et vous pouvez le
+ t&eacute;l&eacute;charger par
+ <ulink url="ftp://ftp.freebsd.org/pub/FreeBSD/tools">ftp</ulink>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>LILO, ou LInux LOader (&ldquo;chargeur Linux&rdquo;)</term>
+ <listitem>
+ <para>C'est un gestionnaire de d&eacute;marrage limit&eacute;. Il peut d&eacute;marrer
+ FreeBSD, mais il faut acommoder son fichier de configuration.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <informaltable>
+ <tgroup cols="1">
+ <tbody>
+ <row>
+ <entry><emphasis>A propos de la FAT32:</emphasis> La FAT32
+ remplace le syst&egrave;me de fichiers FAT depuis la version Microsoft
+ OEM SR2 B&eacute;ta, qui sera utilis&eacute;e sur les ordinateurs avec Windows
+ 95 pr&eacute;-install&eacute; vers la fin de 1996. Elle convertit le syst&egrave;me
+ de fichiers FAT habituel et permet d'utiliser des tailles
+ d'agr&eacute;gat&nbsp;-&nbsp;&ldquo;<foreignphrase>cluster</foreignphrase>&rdquo;&nbsp;-&nbsp;plus
+ petites sur de plus gros disques. La FAT32 modifie aussi le
+ secteur de d&eacute;marrage et la table d'allocation habituels de la FAT,
+ ce qui la rend incompatible avec certains gestionnaires de
+ d&eacute;marrage.</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect1>
+ <sect1 id="typical">
+ <title>Une configuration typique</title>
+ <para>Supposons que nous ayons deux gros disques EIDE, et que nous
+ voulions y installer FreeBSD, Linux et Windows 95.</para>
+ <para>Voici comment je proc&eacute;derais avec ces disques durs:</para>
+ <itemizedlist>
+ <listitem>
+ <para><filename>/dev/wd0</filename> (premier disque dur
+ physique),</para>
+ </listitem>
+ <listitem>
+ <para><filename>/dev/wd1</filename> (second disque dur).</para>
+ </listitem>
+ </itemizedlist>
+ <para>Ils ont tous deux 1416 cylindres.</para>
+ <orderedlist>
+ <listitem>
+ <para>Je d&eacute;marre avec une disquette de d&eacute;marrage MS-DOS ou
+ Windows qui contient l'utilitaire <filename>FDISK.EXE</filename>
+ et cr&eacute;e une petite partition primaire de 50 Mo (35-40 pour Windows
+ 95 et un peu d'espace libre) sur le premier disque. Je cr&eacute;e aussi
+ une partition plus importante sur le second disque pour mes
+ applications et mes donn&eacute;es Windows.</para>
+ </listitem>
+ <listitem>
+ <para>Je red&eacute;marre et installe Windows 95 (plus facile &agrave; dire qu'&agrave;
+ faire) sur la partition <filename>C:</filename>.</para>
+ </listitem>
+ <listitem>
+ <para>J'installe ensuite Linux. Je ne suis pas certain pour qui
+ concerne toutes les distributions de Linux, mais la Slackware
+ comprend LILO (voyez la section
+ <link linkend="boot-managers">Revue des gestionnaires de
+ d&eacute;marrage</link>). Au moment de partitionner mon disque dur
+ avec l'utilitaire <filename>fdisk</filename> de Linux,
+ je mets tout Linux sur le premier disque (peut-&ecirc;tre 300 Mo
+ pour une partition racine confortable et de l'espace de
+ pagination).</para>
+ </listitem>
+ <listitem>
+ <para>Apr&egrave;s avoir install&eacute; Linux, et quand on me demande si je veux
+ installer LILO, je fais <emphasis>attention</emphasis> &agrave; l'installer
+ sur le secteur de d&eacute;marrage de ma partition racine Linux, et non
+ sur le MBR (<foreignphrase>Master Boot
+ Record</foreignphrase>&nbsp;-&nbsp;enregistrement principal de
+ d&eacute;marrage).</para>
+ </listitem>
+ <listitem>
+ <para>L'espace restant disponible sur le disque peut servir &agrave;
+ FreeBSD. Je v&eacute;rifie aussi que la
+ tranche&nbsp;-&nbsp;&ldquo;<foreignphrase>slice</foreignphrase>&rdquo;&nbsp;-&nbsp;racine
+ de FreeBSD ne d&eacute;borde pas de la limite des 1024 cylindres (1024
+ cylindres correspond &agrave; 528 Mo &agrave; partir du d&eacute;but du disque sur nos
+ hypoth&eacute;tiques disques de 720 Mo). J'utiliserai &eacute;ventuellement le
+ reste du disque dur (environ 270 Mo) pour les tranches
+ <filename>/usr</filename> et <filename>/var</filename>. Le
+ reste du second
+ disque (l'espace disponible d&eacute;pend de la taille de ma partition
+ d'applications/donn&eacute;es Windows que j'ai cr&eacute;&eacute;e &agrave; l'&eacute;tape 1) peut &ecirc;tre
+ utilis&eacute; pour la tranche <filename>/usr/src</filename> et l'espace
+ de pagination.</para>
+ </listitem>
+ <listitem>
+ <para>Vus de l'utilitaire <filename>fdisk</filename> de Windows 95, mes
+ disques ressembleraient &agrave; ceci:</para>
+ <programlisting>
+---------------------------------------------------------------------
+
+ Display Partition Information
+
+Current fixed disk drive: 1
+
+Partition Status Type Volume_Label Mbytes System Usage
+C: 1 A PRI DOS 50 FAT** 7%
+ 2 A Non-DOS (Linux) 300 43%
+
+Total disk space is 696 Mbytes (1 Mbyte = 1048576 bytes)
+
+Press Esc to continue
+
+---------------------------------------------------------------------
+
+ Display Partition Information
+
+Current fixed disk drive: 2
+
+Partition Status Type Volume_Label Mbytes System Usage
+D: 1 A PRI DOS 420 FAT** 60%
+
+Total disk space is 696 Mbytes (1 Mbyte = 1048576 bytes)
+
+Press Esc to continue
+
+---------------------------------------------------------------------
+ </programlisting>
+ <para>Disons FAT16, ou FAT32 si vous utilisez la mise &agrave; jour
+ OEM SR2 (voyez la section
+ <link linkend="boot-managers">Revue des gestionnaires de
+ d&eacute;marrage</link>).</para>
+ </listitem>
+ <listitem>
+ <para>J'installe FreeBSD. Je veille &agrave; d&eacute;marrer avec le premier
+ disque dur d&eacute;fini comme &ldquo;NORMAL&rdquo; dans le param&eacute;trage
+ du BIOS. Sans cela, je devrais indiquer la g&eacute;om&eacute;trie r&eacute;elle de mon
+ disque au d&eacute;marrage (pour la conna&icirc;tre, d&eacute;marrez Windows 95 et
+ consultez les diagnostics Microsoft (<filename>MSD.EXE</filename>)
+ ou allez voir dans le BIOS) avec le param&egrave;tre
+ <literal>hd0=1416,16,63</literal> o&ugrave; <replaceable>1416</replaceable>
+ est le nombre de cylindres de mon disque dur,
+ <replaceable>16</replaceable> est le nombre de t&ecirc;tes par piste et
+ <replaceable>63</replaceable> est le nombre de secteurs par
+ t&ecirc;te.</para>
+ </listitem>
+ <listitem>
+ <para>Au moment de partitionner le disque dur, je fais attention &agrave;
+ bien installer Boot Easy sur le premier disque. Je ne m'occupe pas
+ du second disque, &agrave; partir duquel rien n'est d&eacute;marr&eacute;.</para>
+ </listitem>
+ <listitem>
+ <para>Au red&eacute;marrage, Boot Easy devrait reconna&icirc;tre mes trois
+ partitions d&eacute;marrables comme DOS (Windows 95), Linux et BSD
+ (FreeBSD)</para>
+ </listitem>
+ </orderedlist>
+ </sect1>
+ <sect1 id="special">
+ <title>Consid&eacute;rations particuli&egrave;res</title>
+ <para>La plupart des syst&egrave;mes d'exploitation sont tr&egrave;s chatouilleux sur la
+ fa&ccedil;on et l'endroit o&ugrave; ils sont install&eacute;s sur le disque dur. Windows 95 et
+ DOS doivent &ecirc;tre sur la premi&egrave;re partition primaire du premier disque dur.
+ OS/2 fait exception. Il peut &ecirc;tre sur le premier ou le second disque et
+ sur une partition primaire ou &eacute;tendue. Si vous n'&ecirc;tes pas s&ucirc;r de vous,
+ gardez le d&eacute;but des partitions d&eacute;marrables avant le 1024&egrave;me
+ cylindre.</para>
+ <para>Si vous installez Windows 95 sur un syst&egrave;me BSD existant, cela va
+ &ldquo;&eacute;craser&rdquo; le MBR, et vous devrez r&eacute;installer votre pr&eacute;c&eacute;dent
+ gestionnaire de d&eacute;marrage. Boot Easy peut &ecirc;tre r&eacute;install&eacute; avec
+ l'utilitaire <filename>BOOTINST.EXE</filename> qui se trouve dans le
+ r&eacute;pertoire <filename>\TOOLS</filename> du CD-ROM, ou peut &ecirc;tre t&eacute;l&eacute;charg&eacute;
+ par <ulink url="ftp://ftp.freebsd.org/pub/FreeBSD/tools">ftp</ulink>.
+ Vous pouvez aussi relancer le processus d'installation et aller dans
+ l'&eacute;diteur de partitions. De l&agrave;, indiquez que la partition FreeBSD est
+ d&eacute;marrable, choisissez l'option <option>Boot Manager</option>
+ (gestionnaire de d&eacute;marrage) et tapez
+ <literal>W</literal> pour &eacute;crire les informations sur le MBR. Vous
+ pouvez maintenant red&eacute;marrer, et Boot Easy reconna&icirc;tra votre Windows 95
+ en tant que DOS.</para>
+ <para>N'oubliez pas s'il vous pla&icirc;t qu'OS/2 peut lire les partitions FAT
+ et HPFS, mais pas les partitions FFS (FreeBSD) ou EXT2 (Linux). De m&ecirc;me,
+ Windows 95 ne peut que lire et &eacute;crire sur les partitions FAT et FAT32
+ (voyez la section <link linkend="boot-managers">Revue des gestionnaire
+ de d&eacute;marrage</link>). FreeBSD peut lire la plupart des syst&egrave;mes de
+ fichiers, mais ne sait pas actuellement lire les partitions HPFS. Linux
+ peut lire les partitions HPFS, mais ne peut pas y &eacute;crire. Les versions
+ r&eacute;centes du noyau Linux (2.x) peuvent lire et &eacute;crire les partitions VFAT
+ de Windows 95 (La VFAT est ce qui permet &agrave; Windows d'utiliser des noms
+ de fichiers longs&nbsp;-&nbsp;c'est &agrave; peu pr&egrave;s la m&ecirc;me chose que la
+ FAT). Linux peut lire et &eacute;crire sur la plupart des syst&egrave;mes de fichiers.
+ Pig&eacute;? Je l'esp&egrave;re.</para>
+ </sect1>
+ <sect1 id="examples">
+ <title>Exemples</title>
+ <para><emphasis>(Cette section a besoin d'&ecirc;tre revue, envoyez s'il vous
+ pla&icirc;t vos exemples &agrave; <email>jayrich@sysc.com</email>.)</emphasis></para>
+ <para>FreeBSD + Windows 95: Si vous avez install&eacute; FreeBSD apr&egrave;s Windows 95,
+ vous devriez voir la mention <literal>DOS</literal> sur le menu de Boot
+ Easy. C'est Windows 95. Si vous avez install&eacute; Windows 95 apr&egrave;s FreeBSD,
+ lisez la section <link linkend="special">Consid&eacute;rations
+ particuli&egrave;res</link> ci-dessus. Tant que votre disque n'a pas 1024
+ cylindres, vous ne devriez pas avoir de probl&egrave;mes pour d&eacute;marrer. Si
+ toutefois une de vos partitions va au-del&agrave; du 1024&egrave;me cylindre, et que
+ vous avez des messages du type <literal>invalid system disk</literal>
+ sous DOS (Windows 95) et que FreeBSD ne d&eacute;marre pas, cherchez dans les
+ param&egrave;tres de configuration de votre BIOS quelque chose appel&eacute;
+ &ldquo;<literal>&gt; 1024 cylinder support</literal>&rdquo; ou
+ mode &ldquo;<literal>NORMAL/LBA</literal>&rdquo;. DOS peut avoir besoin
+ du LBA (<foreignphrase>Logical Block
+ Adressing</foreignphrase>&nbsp;-&nbsp;Adressage de bloc logique) pour
+ d&eacute;marrer correctement. Si la perspective de modifier les param&egrave;tres du
+ BIOS &agrave; chaque d&eacute;marrage ne vous enchante pas, vous pouvez d&eacute;marrer
+ FreeBSD depuis DOS avec l'utilitaire <filename>FBSDBOOT.EXE</filename>
+ du CD (il devrait reconna&icirc;tre votre partition FreeBSD et la
+ d&eacute;marrer).</para>
+ <para>FreeBSD + OS/2 + Windows: Rien de nouveau dans ce cas. Le gestionnaire
+ de d&eacute;marrage d'OS/2 peut d&eacute;marrer tous ces syst&egrave;mes d'exploitation, il ne
+ devrait pas y avoir de probl&egrave;me.</para>
+ <para>FreeBSD + Linux: Vous pouvez aussi utiliser Boot Easy pour d&eacute;marrer
+ les deux syst&egrave;mes d'exploitation.</para>
+ <para>FreeBSD + Linux + Windows 95: (voyez la section
+ <link linkend="typical">Une installation typique</link>).</para>
+ </sect1>
+ <sect1 id="help">
+ <title>Autres endroits o&ugrave; trouver de l'aide</title>
+ <para>Il y a de nombreux
+ <ulink url="http://www.freenix.fr/linux/HOWTO">HOWTO Linux</ulink>
+ qui traitent des syst&egrave;mes d'exploitation multiples sur un m&ecirc;me
+ disque.</para>
+ <para>Le
+ <ulink url="http://www.linuxresources.com/LDP/HOWTO/mini/Linux+DOS+Win95+OS2.html">mini-HOWTO
+ Linux+DOS+Win95+OS2</ulink> donne des indications sur la configuration
+ du gestionnaire de d&eacute;marrage d'OS/2, et le
+ <ulink url="http://www.freenix.fr/linux/HOWTO/mini/Linux+FreeBSD.html">mini-HOWTO
+ Linux+FreeBSD</ulink> peut aussi vous int&eacute;resser.
+ L'<ulink url="http://www.in.net/~jkatz/win95/Linux-HOWTO.html">HOWTO
+ Linux</ulink> est aussi utile.</para>
+ <para>Le
+ <ulink url="http://www.dorsal.org/~dcl/publications/NTLDR_hacking">Guide
+ de programmation du chargeur NT</ulink> fournit des informations
+ int&eacute;ressantes sur le d&eacute;marrage de Windows NT, 95 et DOS avec d'autres
+ syst&egrave;mes d'exploitation.</para>
+ <para>Le jeu de documents d'Hale Landis, &ldquo;Comment &ccedil;a marche&rdquo;,
+ contient de bonnes informations sur toutes sortes de g&eacute;om&eacute;tries de disques
+ et autres sujets li&eacute;s au d&eacute;marrage. Voici quelques liens qui peuvent vous
+ aider &agrave; le trouver:</para>
+ <itemizedlist>
+ <listitem>
+ <para><ulink url="ftp://fission.dt.wdc.com/pub/otherdocs/pc_systems/how_it_works/allhiw.zip">ftp://fission.dt.wdc.com/pub/otherdocs/pc_systems/how_it_works/allhiw.zip</ulink>,</para>
+ </listitem>
+ <listitem>
+ <para><ulink url="http://www.cs.yorku.ca/People/frank/docs/">http://www.cs.yorku.ca/People/frank/docs/</ulink>.</para>
+ </listitem>
+ </itemizedlist>
+ <para>Enfin, ne n&eacute;gligez pas la documentation du noyau de FreeBSD sur le
+ processus de d&eacute;marrage, disponible dans la distribution du source du
+ noyau (elle est install&eacute;e dans
+ <ulink url="file:/usr/src/sys/i386/boot/biosboot/README.386BSD">file:/usr/src/sys/i386/boot/biosboot/README.386BSD</ulink>).</para>
+ </sect1>
+ <sect1>
+ <title>D&eacute;tails Techniques</title>
+ <para><emphasis>(Contribution de Randall Hopper
+ <email>rhh@ct.picker.com</email>)</emphasis></para>
+ <para>Cette section tente de vous donner assez d'informations de base
+ sur vos disques durs et sur le processus de d&eacute;marrage &agrave; partir d'un
+ disque pour vous permettre de r&eacute;gler la plupart des probl&egrave;mes que vous
+ pourriez rencontrer lorsque vous configurerez le d&eacute;marrage de plusieurs
+ syst&egrave;mes d'exploitation. Elle commence par des choses relativement
+ &eacute;l&eacute;mentaires, vous pr&eacute;f&eacute;rerez donc peut-&ecirc;tre la parcourir en diagonale
+ jusqu'&agrave; ce que les points abord&eacute;s vous paraissent moins familiers et
+ commencer alors &agrave; la lire en d&eacute;tail.</para>
+ <sect2>
+ <title>Introduction aux disques</title>
+ <para>Trois termes fondamentaux d&eacute;crivent la localisation des donn&eacute;es
+ sur vos disques durs: Cylindres, T&ecirc;tes et Secteurs. Il n'est pas tr&egrave;s
+ important de savoir &agrave; quoi ils se rapportent sinon qu'ensemble, ils
+ d&eacute;finissent o&ugrave; sont physiquement les donn&eacute;es sur le disque.</para>
+ <para>Votre disque a un nombre donn&eacute; de cylindres, de t&ecirc;tes, et de
+ secteurs par t&ecirc;te-cylindre (un doublet t&ecirc;te-cylindre est aussi appel&eacute;
+ une piste). Ensemble, ces informations d&eacute;finissent la &ldquo;g&eacute;om&eacute;trie
+ physique&rdquo; de votre disque. Il y a typiquement 512 octets par
+ secteur et 63 secteurs par pistes, le nombre de cylindres et de t&ecirc;tes
+ variant tr&egrave;s largement d'un disque &agrave; l'autre. Vous pouvez alors
+ calculer la quantit&eacute; d'informations que peut enregistrer votre disque
+ par la formule:</para>
+ <programlisting>
+nombre de cylindres X nombre de t&ecirc;tes X 63 secteurs/piste X 512 octets/secteur
+ </programlisting>
+ <para>Par exemple, pour mon disque Western Digital AC31600 EIDE de 1,6 Go,
+cela donne:</para>
+ <programlisting>
+3148 cylindres X 16 t&ecirc;tes X 63 secteurs/piste X 512 octets/secteur
+ </programlisting>
+ <para>c'est-&agrave;-dire 1.624.670.208 octets, ou environ 1,6 Go.</para>
+ <para>Vous pouvez conna&icirc;tre la g&eacute;om&eacute;trie physique de votre disque dur
+ (nombre de cylindres, de t&ecirc;tes et de secteurs par piste) avec ATAID
+ ou d'autres programmes que vous trouverez sur l'Internet. Ces
+ informations sont peut-&ecirc;tre aussi fournies avec votre disque. Faites
+ cependant attention: si vous utilisez le LBA du BIOS (voyez la section
+ <link linkend="limits">Restrictions pour le d&eacute;marrage et
+ avertissements</link>), vous ne pouvez pas vous servir de n'importe
+ quel programme pour conna&icirc;tre la g&eacute;om&eacute;trie physique. Cela parce que de
+ nombreux programmes (e.g., <filename>MSD.EXE</filename> ou
+ le <filename>fdisk</filename> de FreeBSD) ne reconnaissent pas la
+ g&eacute;om&eacute;trie physique, ils listent &agrave; la place la <emphasis>g&eacute;om&eacute;trie
+ red&eacute;finie</emphasis> (des valeurs virtuelles dues &agrave; l'utilisation
+ du LBA). Continuez &agrave; lire pour savoir ce que cela veut dire.</para>
+ <para>Une autre chose &agrave; savoir &agrave; propos de ces termes. 3
+ valeurs&nbsp;-&nbsp;un num&eacute;ro de cylindre, un num&eacute;ro de t&ecirc;te, et un
+ num&eacute;ro du secteur sur la piste&nbsp;-&nbsp;identifient l'adresse absolue
+ d'un secteur sur votre disque. Les cylindres et les t&ecirc;tes sont
+ num&eacute;rot&eacute;s &agrave; partir de 0, et les num&eacute;ros de secteurs commencent &agrave;
+ 1.</para>
+ <para>Ceux que des d&eacute;tails plus techniques int&eacute;ressent peuvent
+ trouver un peu partout sur l'Internet des informations sur la g&eacute;om&eacute;trie
+ des disques, les secteurs de d&eacute;marrage, les BIOS, etc. Faites une
+ recherche sur Yahoo, Lycos, etc. pour <literal>boot sector</literal> ou
+ <literal>master boot record</literal>. Parmi les choses utiles que vous
+ trouverez, il y a le jeu de documents
+ &ldquo;Comment &ccedil;a marche&rdquo;&nbsp;-&nbsp;<foreignphrase>How It
+ Works</foreignphrase> de Hale Landis. Voyez la section
+ <link linkend="help">Autres endroits o&ugrave; trouver de l'aide</link> pour
+ avoir quelques pointeurs vers ces documents.</para>
+ <para>OK, assez de terminologie. Nous sommes cens&eacute;s parler de d&eacute;marrage
+ ici.</para>
+ </sect2>
+ <sect2 id="booting">
+ <title>Le processus de d&eacute;marrage</title>
+ <para>Sur le premier secteur de votre disque (cylindre 0, t&ecirc;te 0,
+ secteur 1) se trouve l'enregistrement principal de
+ d&eacute;marrage&nbsp;-&nbsp;<foreignphrase>Master Boot
+ Record</foreignphrase> (MBR). Il contient une carte de votre disque.
+ Il identifie jusqu'&agrave; <emphasis>4 partitions</emphasis>, chacune d'elle
+ &eacute;tant un espace contigu sur ce disque. FreeBSD appelle les partitions
+ des tranches&nbsp;-&nbsp;<foreignphrase>slices</foreignphrase>&nbsp;-&nbsp;pour
+ &eacute;viter la confusion avec ses propres partitions, mais nous
+ n'utiliserons pas ici ce terme. Chaque partition peut contenir son
+ propre syst&egrave;me d'exploitation.</para>
+ <para>Chaque entr&eacute;e de partition dans le MBR comprend un
+ <emphasis>IDentifiant de partition</emphasis>, un
+ <emphasis>Cylindre/T&ecirc;te/Secteur de D&eacute;but</emphasis> et un
+ <emphasis>Cylindre/T&ecirc;te/Secteur de Fin</emphasis>. L'IDentifiant de
+ partition dit de quel type de partition il s'agit (de quel OS) et le
+ D&eacute;but/Fin dit o&ugrave; elle se trouve. La table des
+ <link linkend="partitions">IDs de partitions</link> liste un
+ &eacute;chantillon d'identifiants de partitions usuels.</para>
+ <informaltable id="partitions">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>ID (hex)</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>01</entry>
+ <entry>DOS12 primaire (FAT 12-bit)</entry>
+ </row>
+ <row>
+ <entry>04</entry>
+ <entry>DOS16 primaire (FAT 16-bit)</entry>
+ </row>
+ <row>
+ <entry>05</entry>
+ <entry>DOS12 &eacute;tendue</entry>
+ </row>
+ <row>
+ <entry>06</entry>
+ <entry>DOS primaire large (&gt; 32 Mo)</entry>
+ </row>
+ <row>
+ <entry>0A</entry>
+ <entry>OS/2</entry>
+ </row>
+ <row>
+ <entry>83</entry>
+ <entry>Linux (EXT2FS)</entry>
+ </row>
+ <row>
+ <entry>A5</entry>
+ <entry>FreeBSD, NetBSD, 386BSD (UFS)</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ <note>
+ <para>Toutes les partitions ne dont pas d&eacute;marrables (e.g. DOS &eacute;tendue).
+ Certaines le sont&nbsp;-&nbsp;d'autres ne le sont pas. Ce qui rend
+ une partition d&eacute;marrable est la configuration du secteur de d&eacute;marrage
+ de la
+ partition&nbsp;-&nbsp;<foreignphrase>Partition Boot Sector</foreignphrase>&nbsp;-&nbsp;qui
+ est toujours pr&eacute;sent au d&eacute;but de chaque partition.</para>
+ </note>
+ <para>Quand vous configurez votre gestionnaire de d&eacute;marrage favori, il
+ consulte les entr&eacute;es dans les tables de partitions du MBR de tous vos
+ disques et vous donne la possibilit&eacute; de donner un nom &agrave; ces entr&eacute;es.
+ Quand vous d&eacute;marrez ensuite, le gestionnaire de d&eacute;marrage
+ est appel&eacute; par du code pr&eacute;vu pour cela &agrave; partir secteur principal de
+ d&eacute;marrage&nbsp;-&nbsp;<foreignphrase>Master Boot Sector</foreignphrase>&nbsp;-&nbsp;du
+ premier disque trouv&eacute; sur votre syst&egrave;me. Le gestionnaire consulte
+ l'entr&eacute;e de la table de partitions du MBR correspondant &agrave; la partition
+ que vous avez choisie, charge le secteur de d&eacute;marrage de cette partition
+ et lui passe le contr&ocirc;le. Ce secteur de d&eacute;marrage de la partition
+ elle-m&ecirc;me contient suffisamment d'informations pour commencer &agrave; charger
+ le syst&egrave;me d'exploitation qui se trouve sur cette partition.</para>
+ <para>Il y a une chose importante &agrave; savoir dont nous n'avons pas encore
+ parl&eacute;. Tous vos disques durs ont un MBR. Toutefois, celui qui est
+ important est celui qui se trouve sur le premier disque reconnu par le
+ BIOS. Si vous n'avez que des disques durs IDE, c'est le premier disque
+ IDE (e.g. le disque ma&icirc;tre sur le premier contr&ocirc;leur). De m&ecirc;me pour les
+ syst&egrave;mes enti&egrave;rement SCSI. Si vous avez et des disques durs IDE et des
+ disques durs SCSI, le disque IDE est habituellement le premier disque
+ dont la pr&eacute;sence est test&eacute;e par le BIOS, le premier disque IDE est donc
+ le premier disque reconnu. Le gestionnaire de d&eacute;marrage que vous
+ installerez sera impl&eacute;ment&eacute; sur le premier disque dur reconnu comme
+ nous venons de l'expliquer.</para>
+ </sect2>
+ <sect2 id="limits">
+ <title>Restrictions pour le d&eacute;marrage et avertissements</title
+ <para>Voici maintenant les choses int&eacute;ressantes auxquelles il faut
+ faire attention.</para>
+ <sect3>
+ <title>La redoutable limitation &agrave; 1024 cylindres et en quoi le LBA du
+ BIOS peut &ecirc;tre utile</title>
+ <para>La premi&egrave;re partie du processus de d&eacute;marrage est enti&egrave;rement
+ confi&eacute;e au BIOS, (si ce terme est nouveau pour vous, le BIOS est
+ un circuit &eacute;lectronique sur votre carte m&egrave;re qui contient le
+ code de d&eacute;marrage de votre ordinateur). C'est pourquoi cette
+ premi&egrave;re partie du processus est soumise aux limitations du
+ BIOS.</para>
+ <para>L'interface BIOS utilis&eacute;e pour lire le disque dur durant
+ cette phase (INT 13H, Sous-fonction 2) alloue 10 bits pour le
+ num&eacute;ro de cylindre, 8 bits pour le num&eacute;ro de t&ecirc;te, et 6 bits
+ pour le num&eacute;ro de secteur. Cela limite les utilisateurs de
+ cette interface (i.e. les gestionnaires de d&eacute;marrage impl&eacute;ment&eacute;s
+ sur le MBR du disque ainsi que les chargeurs de syst&egrave;mes
+ d'exploitation impl&eacute;ment&eacute;s sur les secteurs de d&eacute;marrage) &agrave;:</para>
+ <itemizedlist>
+ <listitem>
+ <para>1024 cylindres au plus,</para>
+ </listitem>
+ <listitem>
+ <para>256 t&ecirc;tes au plus,</para>
+ </listitem>
+ <listitem>
+ <para>64 secteurs/piste au plus, (en fait 63, 0 n'est pas
+ disponible).</para>
+ </listitem>
+ </itemizedlist>
+ <para>Or les diques durs de grande capacit&eacute; ont beaucoup de
+ cylindres et peu de t&ecirc;tes, le nombre de cylindres de ces disques
+ est donc invariablement sup&eacute;rieurs &agrave; 1024. De ce fait et &agrave; cause
+ de l'interface BIOS telle qu'elle est, vous ne pouvez pas d&eacute;marrer
+ n'importe o&ugrave; sur votre disque dur. Le code de d&eacute;marrage (le
+ gestionnaire de d&eacute;marrage et le chargeur du syst&egrave;me d'exploitation
+ impl&eacute;ment&eacute; sur les secteurs de d&eacute;marrage de chaque partition
+ d&eacute;marrable) doivent se situer avant le 1024&egrave;me cylindre. Si votre
+ disque dur est standard et a 16 t&ecirc;tes, cela &eacute;quivaut &agrave;:</para>
+ <programlisting>
+1024 cylindres/disque X 16 t&ecirc;tes/disque X 63 secteurs/piste X 512 octets
+ </programlisting>
+ <para>c'est-&agrave;-dire la limite souvent cit&eacute;e de 528 Mo.</para>
+ <para>C'est l&agrave; qu'intervient le LBA (<foreignphrase>Logical Block
+ Adressing</foreignphrase>&nbsp;-&nbsp;&ldquo;adressage de bloc
+ logique&rdquo;) du BIOS. Le LBA du BIOS donne &agrave; l'utilisateur
+ des routines de l'API (<foreignphrase>Application Programming
+ Interface</foreignphrase>&nbsp;-&nbsp;&ldquo;interface de
+ programmation&rdquo;) du BIOS, la possibilit&eacute; d'acc&eacute;der aux
+ cylindres au-del&agrave; de 1024 avec les interfaces du BIOS en
+ red&eacute;finissant le cylindre. Cela signifie qu'il construit une
+ nouvelle g&eacute;om&eacute;trie de vos cylindres et t&ecirc;tes, faisant croire
+ au BIOS que votre disque a moins de cylindres et plus de t&ecirc;tes
+ qu'en r&eacute;alit&eacute;. En d'autres termes, il profite du fait que les
+ disques ont relativement peu de t&ecirc;tes et beaucoup de cylindres,
+ pour modifier le rapport entre nombre de cylindres et nombre de
+ t&ecirc;tes de fa&ccedil;on &agrave; ce que tous deux soient inf&eacute;rieurs aux limites
+ mentionn&eacute;es ci-dessus (1024 cylindres, 256 t&ecirc;tes).</para>
+ <para>Pour prendre de nouveau l'exemple de mon Western Digital 1,6
+ Go, il a pour g&eacute;om&eacute;trie physique:</para>
+ <programlisting>
+(3148 cylindres, 16 t&ecirc;tes, 63 secteurs/piste, 512 octets/secteur)
+ </programlisting>
+ <para>Alors que le LBA du BIOS la red&eacute;finit comme suit:</para>
+ <programlisting>
+( 787 cylindres, 64 t&ecirc;tes, 63 secteurs/piste, 512 octets/secteur)
+ </programlisting>
+ <para>ce qui correspond &agrave; la m&ecirc;me capacit&eacute; physique, mais avec des
+ nombres de cylindres et de t&ecirc;tes dans les limites acceptables par
+ les API du BIOS. (Au passage, j'ai sur l'un de mes disques, et
+ Linux et FreeBSD au-del&agrave; du 1024&egrave;me cylindre, et les deux d&eacute;marrent
+ sans probl&egrave;me, gr&acirc;ce au LBA du BIOS.)</para>
+ </sect3>
+ <sect3>
+ <title>Gestionnaires de d&eacute;marrage et allocation de l'espace
+ disque</title>
+ <para>Une autre chose &agrave; laquelle il faut faire attention lorsque vous
+ installez un gestionnaire de d&eacute;marrage est l'allocation d'espace
+ disque pour ce gestionnaire. Il vaut mieux &ecirc;tre inform&eacute; de cette
+ question avant de commencer pour vous &eacute;viter d'avoir &agrave; r&eacute;installer un
+ ou plusieurs de vos syst&egrave;mes d'exploitation.</para>
+ <para>Si vous avez suivi ce qui a &eacute;t&eacute; dit sur le
+ <link linkend="booting">processus de d&eacute;marrage</link>
+ &agrave; propos du secteur principal de d&eacute;marrage (o&ugrave; se trouve le MBR),
+ des secteurs de d&eacute;marrage des partitions et du processus de d&eacute;marrage,
+ vous vous &ecirc;tes peut-&ecirc;tre demand&eacute; o&ugrave; va se trouver ce foutu
+ gestionnaire de d&eacute;marrage. Bien, certains gestionnaires de d&eacute;marrage
+ sont suffisament l&eacute;gers pour tenir enti&egrave;rement dans le secteur
+ principal de d&eacute;marrage (cylindre 0, t&ecirc;te 0, secteur 1) avec la table
+ de partitions. D'autres ont besoin d'un peu plus d'espace et d&eacute;bordent
+ en fait de quelques secteurs apr&egrave;s le secteur principal de d&eacute;marrage
+ sur la piste cylindre 0 t&ecirc;te 0, qui sont normalement libres...
+ normalement.</para>
+ <para>L&agrave; est le hic... Certains syst&egrave;mes d'exploitation (y compris
+ FreeBSD) vous permettent de faire d&eacute;buter vos partitions juste apr&egrave;s
+ le secteur principal de d&eacute;marrage au cylindre 0, t&ecirc;te 0, secteur 2,
+ si vous le voulez. En fait, si vous donnez au programme
+ <citerefentry><refentrytitle>sysinstall</refentrytitle></citerefentry>
+ de FreeBSD, un disque dont le d&eacute;but est vierge ou un disque totalement
+ vide, c'est l&agrave; qu'il fera commencer par d&eacute;faut la partition FreeBSD
+ (c'est tout du moins ce qu'il a fait quand je suis tomb&eacute; dans ce
+ pi&egrave;ge). Quand vous installez ensuite le gestionnaire de d&eacute;marrage, si
+ c'est l'un de ceux qui occupent quelques secteurs suppl&eacute;mentaires
+ apr&egrave;s le MBR, il &eacute;crase les donn&eacute;es qui se trouvent au d&eacute;but de la
+ premi&egrave;re partie. Dans le cas de FreeBSD, cela &eacute;crase le label du
+ disque et emp&ecirc;che de d&eacute;marrer votre partition FreeBSD.</para>
+ <para>Le moyen facile d'&eacute;viter ce probl&egrave;me (et de vous garder le
+ possibilit&eacute; d'essayer diff&eacute;rents gestionnaires de d&eacute;marrage par la
+ suite) est de ne pas allouer la premi&egrave;re piste du disque quand vous le
+ partitionnez. Cela r&eacute;serve l'espace entre le cylindre 0, t&ecirc;te 0,
+ secteur 2 et le cylindre 0, t&ecirc;te 0, secteur 63, et votre partition
+ commence au cylindre 1, t&ecirc;te 1, secteur 1. Pour ce que cela vaut,
+ quand vous cr&eacute;ez une partition DOS au d&eacute;but de votre disque, DOS
+ laisse par d&eacute;faut cet espace inoccup&eacute; (c'est pourquoi certains
+ gestionnaires de d&eacute;marrage font l'hypoth&egrave;se qu'il est disponible).
+ Mettre une partition DOS au d&eacute;but de votre disque vous permet aussi
+ d'&eacute;viter le probl&egrave;me. C'est ce que je pr&eacute;f&egrave;re personnellement faire,
+ mettre une partition DOS de 1 Mo au d&eacute;but, parce que cela &eacute;vite
+ aussi que la lettre d&eacute;signant mon disque DOS primaire soit modifi&eacute;e
+ ensuite quand je repartitionne.</para>
+ <para>Pour servir de r&eacute;f&eacute;rence, les gestionnaires de d&eacute;marrage
+ suivants n'utilisent que le secteur principal de d&eacute;marrage pour
+ mettre leur code et leurs donn&eacute;es:</para>
+ <itemizedlist>
+ <listitem>
+ <para>OS-BS 1.35,</para>
+ </listitem>
+ <listitem>
+ <para>Boot Easy,</para>
+ </listitem>
+ <listitem>
+ <para>LILO.</para>
+ </listitem>
+ </itemizedlist>
+ <para>Ces gestionnaires de d&eacute;marrage occupent quelques secteurs
+ suppl&eacute;mentaires apr&egrave;s le secteur principal de d&eacute;marrage:</para>
+ <itemizedlist>
+ <listitem>
+ <para>OS-BS 2.0 B&eacute;ta 8 (secteurs 2-5),</para>
+ </listitem>
+ <listitem>
+ <para>gestionnaire de d&eacute;marrage d'OS/2.</para>
+ </listitem>
+ </itemizedlist>
+ </sect3>
+ <sect3>
+ <title>Que faire si votre syst&egrave;me ne d&eacute;marre pas?</title>
+ <para>Il se peut qu'&agrave; un moment donn&eacute;
+ de l'installation d'un gestionnaire
+ de d&eacute;marrage, vous laissiez le MBR dans un &eacute;tat tel que votre machine
+ ne red&eacute;marre plus. C'est peu probable, mais possible lorsque vous
+ refaites un FDISK alors qu'il y a d&eacute;j&agrave; un gestionnaire de d&eacute;marrage
+ install&eacute;.</para>
+ <para>Si vous avez une partition DOS d&eacute;marrable, vous pouvez d&eacute;marrer
+ avec une disquette de d&eacute;marrage DOS, et lancer:</para>
+ <informalexample>
+<screen><prompt>A:\></prompt> <userinput>FDISK /MBR</userinput></screen>
+ </informalexample>
+ <para>pour r&eacute;installer le code d'origine de d&eacute;marrage simple du DOS
+ seul sur le syst&egrave;me. Vous pouvez alors d&eacute;marrer DOS (et DOS
+ uniquement) depuis le disque dur. Une autre solution consiste &agrave;
+ r&eacute;ex&eacute;cuter le programme d'installation de votre gestionnaire de
+ d&eacute;marrage &agrave; partir d'une disquette d&eacute;marrable.</para>
+ </sect3>
+ </sect2>
+ </sect1>
+</article>
diff --git a/fr_FR.ISO_8859-1/articles/new-users/Makefile b/fr_FR.ISO_8859-1/articles/new-users/Makefile
new file mode 100644
index 0000000000..72c1d9b8c9
--- /dev/null
+++ b/fr_FR.ISO_8859-1/articles/new-users/Makefile
@@ -0,0 +1,20 @@
+#
+# The FreeBSD Documentation Project
+# The FreeBSD French Documentation Project
+#
+# $FreeBSD$
+# Original revision: 1.4
+#
+
+DOC?= article
+
+FORMATS?= html
+
+INSTALL_COMPRESSED?=gz
+INSTALL_ONLY_COMPRESSED?=
+
+SRCS= article.sgml
+
+DOC_PREFIX?= ${.CURDIR}/../../..
+
+.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/fr_FR.ISO_8859-1/articles/new-users/article.sgml b/fr_FR.ISO_8859-1/articles/new-users/article.sgml
new file mode 100755
index 0000000000..50a698babe
--- /dev/null
+++ b/fr_FR.ISO_8859-1/articles/new-users/article.sgml
@@ -0,0 +1,827 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+<!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN" [
+<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> %man;
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES Common Document URL Entities//FR"> %urls;
+<!ENTITY % abstract PUBLIC "-//FreeBSD//ENTITIES DocBook Abstract Entities//FR"> %abstract;
+<!ENTITY % artheader PUBLIC "-//FreeBSD//ENTITIES DocBook ArtHeader Entities//FR"> %artheader;
+<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//FR"> %translators;
+
+<!ENTITY % authors SYSTEM "../../../en_US.ISO_8859-1/books/handbook/authors.ent"> %authors;
+<!ENTITY % mailing-lists SYSTEM "../../books/handbook/mailing-lists.ent"> %mailing-lists;
+ <!ENTITY rel.current CDATA "3.2">
+]>
+
+<article lang="fr">
+<artheader>
+<title>Pour les Nouveaux Venus &agrave; FreeBSD et Unix</title>
+<authorgroup>
+<author>
+<firstname>Annelise</firstname>
+<surname>Anderson</surname>
+<affiliation>
+<address><email>andrsn@hoover.stanford.edu</email></address>
+</affiliation>
+</author>
+</authorgroup>
+<pubdate>15 Ao&ucirc;t 1997</pubdate>
+&artheader.copyright;
+<abstract>
+<para>F&eacute;licitations pour avoir install&eacute; FreeBSD! Cette
+introduction concerne les nouveaux venus &agrave; la fois &agrave; FreeBSD
+<emphasis>et</emphasis> &agrave; Unix&nbsp;-&nbsp;elle commence donc par les bases. Elle
+suppose que vous utilisiez la version 2.0.5 ou une version ult&eacute;rieure de
+FreeBSD telle que distribu&eacute;e par Walnut Creek ou FreeBSD.ORG, que votre
+syst&egrave;me n'a (jusqu'&agrave; pr&eacute;sent) qu'un seul utilisateur (vous)&nbsp;-&nbsp;et que vous
+&ecirc;tes probablement &agrave; l'aise avec DOS/Windows ou OS/2.</para>
+&abstract.license;
+&abstract.disclaimer;
+&trans.a.haby;
+</abstract>
+</artheader>
+<sect1>
+<title>Initialiser et Terminer une Session Utilisateur</title>
+<para>Ouvrez une session (quand vous obtenez &agrave; l'&eacute;cran l'invite <systemitem
+class=prompt>login:</systemitem>) avec le compte utilisateur que vous avez
+d&eacute;fini &agrave; l'installation ou sous le compte super-utilisateur
+ <firstterm>root</firstterm>. (FreeBSD a d&eacute;j&agrave; cr&eacute;&eacute; le compte root lors de
+l'installation; root peut acc&eacute;der &agrave; tous les r&eacute;pertoires et tout faire, y
+compris effacer des fichiers essentiels, donc soyez prudents!). Les symboles %
+et # dans les exemples sont l'invite du syst&egrave;me (la votre peut &ecirc;tre diff&eacute;rente),
+o&ugrave; % correspond &agrave; un utilisateur normal et # distingue le compte root.</para>
+<para>Pour terminer la session (vous obtiendrez &agrave; nouveau l'invite
+<systemitem class=prompt>login:</systemitem>), tapez:
+<informalexample>
+<screen># <userinput>exit</userinput></screen>
+</informalexample>
+autant de fois que n&eacute;cessaire. Bien s&ucirc;r, n'oubliez pas la touche
+<keysym>Entr&eacute;e</keysym> &agrave; la fin des commandes, et rappelez-vous qu'Unix
+fait la distinction entre les majuscules et les
+minuscules&nbsp;-&nbsp;<command>exit</command>, mais pas
+<command>EXIT</command>.</para>
+<para>Pour arr&ecirc;tez l'ordinateur, tapez:
+<informalexample>
+<screen># <userinput>/sbin/shutdown -h now</userinput></screen>
+</informalexample>
+Ou, pour le red&eacute;marrer, tapez:
+<informalexample>
+<screen># <userinput>/sbin/shutdown -r now</userinput></screen>
+</informalexample>
+ou:
+<informalexample>
+<screen># <userinput>/sbin/reboot</userinput></screen>
+</informalexample>
+</para>
+<para>Vous pouvez aussi red&eacute;marrer avec:
+<keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Delete</keycap></keycombo>.
+Laissez au syst&egrave;me un peu de temps pour faire son travail. Cette s&eacute;quence est,
+dans les plus r&eacute;centes versions de FreeBSD, l'&eacute;quivalent de la commande
+<command>/sbin/reboot</command>, et il est nettement pr&eacute;f&eacute;rable de l'employer
+que d'utiliser l'interrupteur de r&eacute;initialisation de votre machine. A moins que
+vous ne vouliez tout r&eacute;installer ?</para>
+</sect1>
+<sect1>
+<title>Cr&eacute;er un Nouveau Compte Utilisateur avec les M&ecirc;mes Droits que Root</title>
+<para>Si vous n'avez pas cr&eacute;&eacute; de compte utilisateur au moment de l'installation,
+et utilisez donc le compte root, vous devriez maintenant d&eacute;finir un nouvel
+utilisateur avec:
+<informalexample>
+<screen># <userinput>adduser</userinput></screen>
+</informalexample>
+La premi&egrave;re fois que vous utiliserez adduser, le programme vous demandera
+peut-&ecirc;tre de lui indiquer des options par d&eacute;faut qu'il sauvegardera. Par
+exemple, vous pr&eacute;f&eacute;rez peut-&ecirc;tre que l'interpr&eacute;teur de commandes soit csh, s'il
+vous propose l'interpr&eacute;teur sh. Sinon, tapez simplement Entr&eacute;e pour conserver
+les valeurs par d&eacute;faut. Celles-ci sont enregistr&eacute;es dans le fichier
+<filename>/etc/adduser.conf</filename>, que vous pouvez &eacute;diter.
+Supposons que vous ayez cr&eacute;&eacute; l'utilisateur <emphasis>jacques</emphasis> dont
+le nom est <emphasis>Jacques Dupont</emphasis>. Attribuez un mot de passe
+&agrave; jacques si la s&eacute;curit&eacute; (pourquoi pas, m&ecirc;me des enfants pourraient pianoter
+sur le clavier) vous pr&eacute;occupe. Quand le programme vous demande si vous
+voulez que jacques appartienne &agrave; d'autres groupes, r&eacute;pondez:
+<informalexample>
+<screen>Login group is ``jacques''. Invite jacques into other groups: <userinput>wheel</userinput></screen>
+</informalexample>
+Vous pourrez alors ouvrir une session avec le compte
+<emphasis>jacques</emphasis> puis utiliser la commande
+<command>su</command> pour devenir root. Vous n'aurez dor&eacute;navant
+plus besoin d'ouvrir imm&eacute;diatement une session avec le compte root.</para>
+<para>Vous pouvez quitter <command>adduser</command> &agrave; tout moment en tapant
+<keycombo><keycap>Ctrl</keycap><keycap>C</keycap></keycombo>, et
+pour finir vous pourrez valider le nouveau compte utilisateur ou simplement
+taper <keycap>n</keycap> pour non. Peut-&ecirc;tre voudrez vous cr&eacute;er un second
+compte utilisateur (jeanne?), vous aurez ainsi une issue de secours si vous
+modifiez les fichiers de configuration de jacques et que quelque chose tourne
+mal.</para>
+<para>Une fois que vous avez fini, utilisez <command>exit</command>
+pour revenir &agrave; l'invite <systemitem class=prompt>login:</systemitem>
+et ouvrez une session sous le compte <emphasis>jacques</emphasis>. Il est
+toujours pr&eacute;f&eacute;rable de travailler autant que possible avec un compte utilisateur
+ordinaire qui n'a pas autant de droits&nbsp;-&nbsp;et donc ne pr&eacute;sente pas autant de
+risques&nbsp;-&nbsp;que root.</para>
+<para>Si vous avez d&eacute;j&agrave; cr&eacute;&eacute; un compte et que vous voulez que cet utilisateur
+puisse utiliser <command>su</command> pour devenir root, vous pouvez devenir
+root et &eacute;diter le fichier <filename>/etc/group</filename>, pour y ajouter
+jacques &agrave; la premi&egrave;re ligne (le groupe wheel). Familiarisez-vous d'abord avec
+l'&eacute;diteur de texte <command>vi</command>&nbsp;-&nbsp; ou utilisez l'&eacute;diteur plus
+simple <command>ee</command>, pr&eacute;sent sur les versions les plus r&eacute;centes
+de FreeBSD.</para>
+</sect1>
+<sect1>
+<title>Tour d'Horizon</title>
+<para>Sous une session utilisateur ordinaire, faites un tour d'horizon et
+essayez quelques commandes qui vous fourniront des informations et de l'aide
+quand vous utiliserez FreeBSD.</para>
+<para>Voici quelques commandes et ce qu'elles font :
+<variablelist>
+<varlistentry><term><command>id</command></term>
+<listitem>
+<para>Vous dit qui vous &ecirc;tes!</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>pwd</command></term>
+<listitem>
+<para>Vous dit o&ugrave; vous &ecirc;tes&nbsp;-&nbsp;le r&eacute;pertoire de travail
+courant.</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>ls</command></term>
+<listitem>
+<para>Donne la liste des fichiers du r&eacute;pertoire courant.</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>ls <option>-F</option></command></term>
+<listitem>
+<para>Donne la liste des fichiers du r&eacute;pertoire courant suivis d'une
+<literal>*</literal> pour les ex&eacute;cutables, d'un <literal>/</literal> pour
+les r&eacute;pertoires, et d'une <literal>@</literal> pour les liens
+symboliques.</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>ls <option>-l</option></command></term>
+<listitem>
+<para>Donne la liste d&eacute;taill&eacute;e des fichiers du r&eacute;pertoire courant&nbsp;-&nbsp;taille,
+date, autorisations.</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>ls <option>-a</option></command></term>
+<listitem>
+<para>Liste tous les fichiers, y compris les fichiers &ldquo;.&rdquo;
+cach&eacute;s. Si vous &ecirc;tes root, les fichiers &ldquo;.&rdquo; sont visibles
+sans l'option <option>-a</option>.</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>cd</command></term>
+<listitem>
+<para>Change de r&eacute;pertoire courant. <command>cd
+<parameter>..</parameter></command> remonte d'un niveau dans l'arborescence;
+notez l'espace apr&egrave;s <command>cd</command>. <command>cd
+<parameter>/usr/local</parameter></command> va dans ce r&eacute;pertoire. <command>cd
+<parameter>~</parameter></command> va dans le r&eacute;pertoire de
+l'utilisateur courant&nbsp;-&nbsp;e.g., <filename>/usr/home/jacques</filename>.
+Essayez <command>cd <parameter>/cdrom</parameter></command>, puis
+<command>ls</command>, pour voir si votre CDROM est mont&eacute; et fonctionne.</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>view <replaceable>nom_de fichier</replaceable></command></term>
+<listitem>
+<para>Vous permet de visualiser le fichier
+<replaceable>nom_de_fichier</replaceable> sans le modifier. Essayez
+<command>view <parameter>/etc/fstab</parameter></command>.
+<command>:q</command> pour quitter.</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>cat <replaceable>nom_de_fichier</replaceable></command></term>
+<listitem>
+<para>Liste <replaceable>nom_de_fichier</replaceable> &agrave; l'&eacute;cran. S'il
+est trop long et que vous n'en voyez que la fin, appuyez sur
+<keycap>Arr&ecirc;t D&eacute;fil</keycap> et utilisez <keycap>fl&egrave;che-vers-le-haut</keycap>
+pour revenir en arri&egrave;re; vous pouvez aussi utiliser <keycap>Arr&ecirc;t D&eacute;fil</keycap>
+avec les pages de manuel. Appuyez &agrave; nouveau sur
+<keycap>Arr&ecirc;t D&eacute;fil</keycap> pour
+terminer votre lecture. Essayez <command>cat</command> sur quelques fichiers
+&ldquo;.&rdquo; de votre r&eacute;pertoire utilisateur&nbsp;-&nbsp;<command>cat
+<parameter>.cshrc</parameter></command>, <command>cat
+<parameter>.login</parameter></command>, <command>cat
+<parameter>.profile</parameter></command>.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+Notez les alias de quelques commandes <command>ls</command>
+dans le fichier <filename>.cshrc</filename> (ils sont tr&egrave;s pratiques).
+Vous pouvez cr&eacute;er d'autres alias en &eacute;ditant le fichier
+<filename>.cshrc</filename>. Vous pouvez aussi les mettre &agrave; disposition
+de tous les utilisateurs en les d&eacute;finissant dans le fichier de configuration
+g&eacute;n&eacute;ral <filename>/etc/csh.cshrc</filename>.</para>
+</sect1>
+<sect1>
+<title>Obtenir de l'Aide et de l'Information</title>
+<para>Voici quelques moyens d'obtenir de l'aide.
+<replaceable>Texte</replaceable> d&eacute;signe quelque chose de votre choix
+&nbsp;-&nbsp;normalement une commande ou un nom de fichier&nbsp;-&nbsp;que vous
+tapez.</para>
+<variablelist>
+<varlistentry><term><command>apropos <replaceable>texte</replaceable></command></term>
+<listitem>
+<para>Tout ce qui contient la cha&icirc;ne <replaceable>texte</replaceable>
+dans la <database>base de donn&eacute;es whatis</database>.</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>man <replaceable>texte</replaceable></command></term>
+<listitem>
+<para>La page de manuel pour <replaceable>texte</replaceable>. C'est la
+principale source de documentation des syst&egrave;mes Unix. <command>man
+<parameter>ls</parameter></command> vous expliquera toutes les possibilit&eacute;s
+d'utilisation de la commande <command>ls</command>. Utilisez
+<keycap>Entr&eacute;e</keycap> pour faire d&eacute;filer le texte,
+<keycombo><keycap>Ctrl</keycap><keycap>b</keycap></keycombo> pour remonter
+d'une page, <keycombo><keycap>Ctrl</keycap><keycap>f</keycap></keycombo> pour
+passer &agrave; la page suivante, et <keycap>q</keycap> ou
+<keycombo><keycap>Ctrl</keycap><keycap>c</keycap></keycombo> pour
+quitter.</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>which <replaceable>texte</replaceable></command></term>
+<listitem>
+<para>Vous dit o&ugrave; se trouve la commande
+<replaceable>texte</replaceable>
+dans vos chemins d'acc&egrave;s.</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>locate <replaceable>texte</replaceable></command></term>
+<listitem>
+<para>Tous les r&eacute;pertoires o&ugrave; l'on trouve la cha&icirc;ne
+<replaceable>texte</replaceable>.</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>whatis <replaceable>texte</replaceable></command></term>
+<listitem>
+<para>Vous dit ce qu'est la commande <replaceable>texte</replaceable>
+et o&ugrave; se trouve la page de manuel correspondante.</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>whereis <replaceable>text</replaceable></command></term>
+<listitem>
+<para>Cherche le fichier <replaceable>texte</replaceable>, et vous en donne
+le chemin d'acc&egrave;s complet.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+<para>Essayez la commande <command>whatis</command> sur quelques utilitaires
+d'usage courant comme <command>cat</command>,
+<command>more</command>, <command>grep</command>,
+<command>mv</command>, <command>find</command>,
+<command>tar</command>, <command>chmod</command>,
+<command>chown</command>, <command>date</command> et
+<command>script</command>. <command>more</command> vous permet de lire
+une page &agrave; la fois comme sous DOS, e.g., <command>ls -l |
+more</command> ou <command>more
+<replaceable>nom_de_fichier</replaceable></command>.
+<literal>*</literal> sert de caract&egrave;re de substitution&nbsp;-&nbsp;e.g., <command>ls
+w*</command> vous donnera la liste de tous les fichiers commen&ccedil;ant par
+<literal>w</literal>.</para>
+<para>Certaines de ces commandes ne fonctionnent pas correctement?
+<command>locate</command> et <command>whatis</command>
+interrogent une base de donn&eacute;es qui est reconstruite chaque semaine.
+Si votre machine n'est pas en service le weekend (et sous FreeBSD), vous
+devrez peut-&ecirc;tre ex&eacute;cuter les commandes de maintenance quotidienne, hebdomadaire
+et mensuelle de temps &agrave; autre. Faites-le sous le compte root et attendez qu'elles se terminent avant de lancer la suivante.
+<informalexample>
+<screen># <userinput>/etc/daily</userinput>
+<lineannotation>sortie non mentionn&eacute;e</lineannotation>
+# <userinput>/etc/weekly</userinput>
+<lineannotation>sortie non mentionn&eacute;e</lineannotation>
+# <userinput>/etc/monthly</userinput>
+<lineannotation>sortie non mentionn&eacute;e</lineannotation>
+</screen></informalexample></para>
+<para>Si vous &ecirc;tes las d'attendre, appuyez sur
+<keycombo><keycap>Alt</keycap><keycap>F2</keycap></keycombo> pour obtenir une
+nouvelle <firstterm>console virtuelle</firstterm>, et rouvrir une session.
+Apr&egrave;s tout, c'est un syst&egrave;me multi-utilisateurs, multi-t&acirc;ches. Ces
+commandes afficheront probablement des messages &agrave; l'&eacute;cran pendant
+qu'elles s'ex&eacute;cutent; vous pouvez taper <command>clear</command> pour effacer
+l'&eacute;cran. Une fois qu'elles auront termin&eacute;, regardez le contenu des fichiers
+<filename>/var/mail/root</filename> et
+<filename>/var/log/messages</filename>.</para>
+<para>Utiliser de telles commandes est une des t&acirc;ches d'administration
+syst&egrave;me&nbsp;-&nbsp;&eacute;tant seul utilisateur d'un syst&egrave;me Unix, vous &ecirc;tes votre
+propre administrateur syst&egrave;me. Pratiquement tout ce que vous aurez &agrave; faire
+sous le compte root sera l'administration de votre syst&egrave;me. Ces t&acirc;ches
+sont souvent mal d&eacute;crites dans les ouvrages volumineux sur Unix
+qui passent plus de temps &agrave; d&eacute;tailler les menus des gestionnaires de fen&ecirc;tres.
+Procurez-vous l'un des deux ouvrages de r&eacute;f&eacute;rence sur l'administration syst&egrave;me,
+soit Evi Nemeth et.al.'s <citetitle>UNIX System
+Administration Handbook</citetitle> (Prentice-Hall, 1995, ISBN
+0-13-15051-7)&nbsp;-&nbsp;deuxi&egrave;me &eacute;dition avec une couverture rouge; ou
+&AElig;leen Frisch's <citetitle>Essential System
+Administration</citetitle> (O'Reilly &amp; Associates, 1993, ISBN
+0-937175-80-3)<footnote><para>N.d.T.: traduit en fran&ccedil;ais sous le titre
+<citetitle>Les Bases de l'Administration Syst&egrave;me</citetitle>, chez le m&ecirc;me
+&eacute;diteur.</para></footnote>. J'ai personnellement utilis&eacute; Nemeth.</para>
+</sect1>
+<sect1>
+<title>Editer des Fichiers Texte</title>
+<para>Pour configurer votre syst&egrave;me, vous devez &eacute;diter des fichiers texte. Ils
+sont presque tous dans le r&eacute;pertoire <filename>/etc</filename>; vous devrez
+utiliser la commande <command>su</command> pour devenir root pour les
+modifier. Vous pouvez vous servir de l'&eacute;diteur simple <command>ee</command>,
+mais &agrave; long terme, cela vaut la peine d'apprendre &agrave; utiliser
+<command>vi</command>. Il y a une excellente introduction &agrave; vi dans
+<filename>/usr/src/contrib/nvi/docs/tutorial</filename> si vous l'avez
+install&eacute;. Sinon vous pouvez le t&eacute;l&eacute;charger par ftp sur
+<ulink url="ftp://ftp.cdrom.com">ftp://ftp.cdrom.com</ulink>
+dans le r&eacute;pertoire
+<filename>FreeBSD/FreeBSD-current/src/contrib/nvi/tutorial</filename>.</para>
+<para>Avant d'&eacute;diter un fichier, faites-en une copie de sauvegarde. Supposons
+que vous vouliez modifier le fichier <filename>/etc/rc.conf</filename>. Avec
+la commande <command>cd /etc</command> vous allez dans le r&eacute;pertoire
+<filename>/etc</filename>, puis tapez:
+<informalexample>
+<screen># <userinput>cp rc.conf rc.conf.orig</userinput></screen>
+</informalexample>
+pour recopier le fichier <filename>rc.conf</filename> dans
+<filename>rc.conf.orig</filename>, de fa&ccedil;on &agrave; pouvoir ensuite
+recopier <filename>rc.conf.orig</filename> dans <emphasis
+remap=tt>rc.conf</emphasis> pour revenir &agrave; la version originale. Il serait
+encore mieux de le d&eacute;placer (renommer) puis de faire la copie en sens inverse:
+<informalexample>
+<screen># <userinput>mv rc.conf rc.conf.orig</userinput>
+# <userinput>cp rc.conf.orig rc.conf</userinput></screen>
+</informalexample>
+parce que la commande <command>mv</command> conserve la date et le nom du
+propri&eacute;taire d'origine du fichier. Vous pouvez maintenant &eacute;diter le fichier
+<filename>rc.conf</filename>. Si vous voulez revenir &agrave; la version d'origine,
+utilisez alors <userinput>mv rc.conf rc.conf.myedit</userinput>
+(en supposant que vous vouliez conserver la version que vous avez modifi&eacute;e)
+puis:
+<informalexample>
+<screen># <userinput>mv rc.conf.orig rc.conf</userinput></screen>
+</informalexample>
+pour remettre l'original &agrave; sa place.</para>
+<para>Pour &eacute;diter un fichier, tapez:
+<informalexample>
+<screen># <userinput>vi <replaceable>nom_de_fichier</replaceable></userinput></screen>
+</informalexample>
+d&eacute;placez vous dans le fichier avec les touches fl&egrave;ches. <keycap>Echap</keycap> (la touche d'&eacute;chappement) met <command>vi</command> en mode commande. Voici
+quelques-unes de ces commandes:
+<variablelist>
+<varlistentry><term><command>x</command></term>
+<listitem>
+<para>efface le caract&egrave;re sur lequel se trouve le curseur.</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>dd</command></term>
+<listitem>
+<para>efface toute la ligne (m&ecirc;me si elle d&eacute;passe la largeur de l'&eacute;cran et
+s'affiche sur plus d'une ligne).</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>i</command></term>
+<listitem>
+<para>permet d'ins&eacute;rer du texte devant la position du curseur.</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>a</command></term>
+<listitem>
+<para>permet d'ins&eacute;rer du texte apr&egrave;s la position du curseur.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+Apr&egrave;s avoir tap&eacute; <command>i</command> ou <command>a</command>,
+vous pouvez ins&eacute;rer du texte. <command>Echap</command> vous ram&egrave;ne en mode
+commande. Vous pouvez alors taper:
+<variablelist>
+<varlistentry><term><command>:w</command></term>
+<listitem>
+<para>pour enregistrer le fichier modifi&eacute; sur disque et continuer &agrave;
+l'&eacute;diter,</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>:wq</command></term>
+<listitem>
+<para>pour enregistrer le fichier modifi&eacute; sur disque et quitter
+l'&eacute;diteur,</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>:q!</command></term>
+<listitem>
+<para>pour quitter l'&eacute;diteur sans enregistrer vos modifications,</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>/<replaceable>texte</replaceable></command></term>
+<listitem>
+<para>recherche la prochaine occurence de <replaceable>texte</replaceable> et
+y positionne le curseur; <command>/<keycap>Entr&eacute;e</keycap></command> (la touche
+Entr&eacute;e) recherche ensuite la prochaine occurrence de <replaceable>texte</replaceable>,</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>G</command></term>
+<listitem>
+<para>va &agrave; la fin du fichier,</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command><replaceable>n</replaceable>G</command></term>
+<listitem>
+<para>va &agrave; la <replaceable>n</replaceable>i&egrave;me ligne du fichier,</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><keycombo><keycap>Ctrl</><keycap>L</></keycombo></term>
+<listitem>
+<para>rafra&icirc;chit l'affichage,</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><keycombo><keycap>Ctrl</><keycap>b</></> et <keycombo><keycap>Ctrl</><keycap>f</></></term>
+<listitem>
+<para>remonte ou descend d'une page, de la m&ecirc;me fa&ccedil;on qu'avec les utilitaires
+<command>more</> et <command>view</>.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</para>
+<para>Entra&icirc;nez-vous &agrave; utiliser <command>vi</> dans votre r&eacute;pertoire utilisateur
+en cr&eacute;ant un nouveau fichier avec <command>vi
+<replaceable>nom_de_fichier</></> puis ajoutez-y et effacez du texte,
+enregistrez le ficher et r&eacute;&eacute;ditez-le. <command>vi</> peut vous r&eacute;server
+des surprises parce qu'il est assez complexe, et il vous arrivera de taper
+accidentellement des commandes au r&eacute;sultat inattendu. (Certains aiment
+vraiment <command>vi</>&nbsp;-&nbsp;il est bien plus puissant qu'EDIT
+de DOS&nbsp;-&nbsp;voyez par exemple la commande <command>:r</> command.) Utilisez
+<keycap>Echap</> une ou plusieurs fois pour &ecirc;tre s&ucirc;r que vous &ecirc;tes en mode
+commande quand vous &ecirc;tes dans l'embarras, enregistrez r&eacute;guli&egrave;rement vos
+modifications avec la commande <command>:w</>, et utilisez la commande
+<command>:q!</> pour sortir et r&eacute;&eacute;diter la derni&egrave;re version enregistr&eacute;e
+avec <command>:w</> au besoin.</para>
+<para>Vous pouvez maintenant <command>cd</> vers <filename>/etc</filename>,
+<command>su</> pour devenir root, utiliser <command>vi</> pour &eacute;diter le
+fichier <filename>/etc/group</filename>, et ajouter un utilisateur au groupe
+wheel pour qu'il ait les m&ecirc;mes droits que root. Ajoutez juste une virgule puis
+le nom de l'utilisateur &agrave; la fin de la premi&egrave;re ligne, appuyez sur
+<keycap>Echap</>, et utilisez la commande <command>:wq</> pour enregistrer
+le fichier et quitter l'&eacute;diteur. La modification est aussit&ocirc;t prise en compte
+par le syst&egrave;me. (vous n'avez pas mis de blanc apr&egrave;s la virgule,
+n'est-ce-pas?)</para>
+</sect1>
+<sect1>
+<title>Imprimer des fichiers DOS</title>
+<para>A ce stade, vous n'avez probablement pas encore configur&eacute; FreeBSD
+pour pouvoir utiliser votre imprimante. Voici donc une m&eacute;thode pour
+cr&eacute;er un fichier &agrave; partir d'une page de manuel, l'enregistrer sur disquette
+et l'imprimer sous DOS. Si par exemple, vous voulez lire dans le d&eacute;tail
+ce qui concerne la modification des droits d'acc&egrave;s aux fichiers (c'est assez
+important), la commande man chmod vous affiche la page de manuel. La commande:
+<informalexample>
+<screen># <userinput>man chmod &gt; chmod.txt</></screen>
+</informalexample>
+recopie la page de manuel dans le fichier <filename>chmod.txt</filename> au lieu
+de l'afficher &agrave; l'&eacute;cran. Mettez maintenant une disquette format&eacute;e DOS dans le
+lecteur de disquettes A:, <command>su</> pour devenir root, et tapez:
+<informalexample>
+<screen># <userinput>/sbin/mount -t msdos /dev/fd0 /mnt</></screen>
+</informalexample>
+pour monter le lecteur de disquettes dans le r&eacute;pertoire
+<filename>/mnt</filename>.</para>
+<para>Ensuite (plus besoin d'&ecirc;tre root, vous pouvez utiliser
+<command>exit</> pour redevenir l'utilisateur jacques), vous pouvez aller
+dans le r&eacute;pertoire o&ugrave; vous avez cr&eacute;&eacute; le fichier chmod.txt et le recopier
+sur la disquette avec la commande:
+<informalexample>
+<screen>% <userinput>cp chmod.txt /mnt</></screen>
+</informalexample>
+puis utiliser <command>ls /mnt</command> pour lister le contenu du r&eacute;pertoire
+<filename>/mnt</filename>, o&ugrave; devrait figurer le fichier
+<filename>chmod.txt</filename>.</para>
+<para>En particulier, il vous sera utile de cr&eacute;er un fichier &agrave; partir du
+r&eacute;sultat de la commande
+<filename>/sbin/dmesg</filename> en tapant:
+<informalexample>
+<screen>% <userinput>/sbin/dmesg &gt; dmesg.txt</></screen>
+</informalexample>
+et en copiant <filename>dmesg.txt</filename> sur la disquette.
+<command>/sbin/dmesg</command> liste les informations affich&eacute;es au d&eacute;marrage
+du syst&egrave;me, qu'il est utile de comprendre, parce qu'elles d&eacute;crivent la
+configuration mat&eacute;rielle reconnue par FreeBSD au d&eacute;marrage.
+Si vous posez des questions sur <email>freebsd-questions@FreeBSD.ORG</> ou
+dans un forum USENET&nbsp;-&nbsp;du type &ldquo;FreeBSD ne reconna&icirc;t pas mon
+lecteur de bande, que faire ? &rdquo;&nbsp;-&nbsp;on vous demandera ce qu'indique
+<command>dmesg</> sur votre syst&egrave;me.</para>
+<para>Vous pouvez maintenant d&eacute;monter le lecteur de disquette (sous le compte
+root) pour retirer la disquette avec la commande:
+<informalexample>
+<screen># <userinput>/sbin/umount /mnt</></screen>
+</informalexample>
+et red&eacute;marrer la machine pour passer sous DOS. Copiez ces fichiers dans un
+r&eacute;pertoire DOS, &eacute;ditez-les avec DOS EDIT, Windows Notepad, ou un traitement
+de texte, faites une petite modification pour avoir &agrave; les enregistrer et
+imprimez-les comme d'habitude sous DOS ou Windows. J'esp&egrave;re que cela marche!
+Les pages de manuel s'impriment mieux avec la commande <command>print</command>
+du DOS. (Copier des fichiers de FreeBSD vers une partition DOS mont&eacute;e est
+dans certains cas encore un peu risqu&eacute;).</para>
+<para>Pour pouvoir imprimer depuis FreeBSD, il faut d&eacute;finir l'imprimante dans
+le fichier <filename>/etc/printcap</filename> et cr&eacute;er le r&eacute;pertoire tampon
+correspondant dans <filename>/var/spool/output</filename>. Si votre imprimante
+est sur le port <hardware>lpt0</hardware> (qui s'appelle <hardware>LPT1</hardware> sous DOS),
+il suffit d'aller dans le r&eacute;pertoire <filename>/var/spool/output</filename> et
+(sous le compte root) de cr&eacute;er le r&eacute;pertoire <filename>lpd</>, s'il n'existe
+pas, en tapant:
+<informalexample>
+<screen># <userinput>mkdir lpd</></screen>
+</informalexample>
+L'imprimante devrait alors r&eacute;pondre si elle &eacute;tait sous tension au d&eacute;marrage du
+syst&egrave;me et les commandes lp ou lpr devraient envoyer un fichier &agrave;
+l'imprimante. Que le fichier s'imprime ou non d&eacute;pend de la
+configuration de l'imprimante, qui est d&eacute;crite dans le
+<ulink url="&url.handbook;index.html">manuel FreeBSD.</></para>
+</sect1>
+<sect1>
+<title>D'autres Commandes Utiles</title>
+<para>
+<variablelist>
+<varlistentry><term><command>df</></term>
+<listitem>
+<para>liste les syst&egrave;mes de fichiers mont&eacute;s, leur taille et leur utilisation.</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>ps aux</></term>
+<listitem>
+<para>liste les processus actifs. <command>ps ax</> en est une forme abreg&eacute;e.</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>rm <replaceable>nom_de_fichier</></></term>
+<listitem>
+<para>efface le fichier <replaceable>nom_de_fichier.</></para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>rm -R <replaceable>r&eacute;pertoire</></></term>
+<listitem>
+<para>efface le r&eacute;pertoire <replaceable>r&eacute;pertoire</> et tous ses
+sous-r&eacute;pertoires&nbsp;-&nbsp;attention!</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>ls -R</command></term>
+<listitem>
+<para>liste les fichiers du r&eacute;pertoire courant et de tous ses sous-r&eacute;pertoires;
+j'en utilisais une variante, <command>ls -AFR &gt; where.txt</command>,
+pour avoir la liste de tous les fichiers du r&eacute;pertoire racine
+<filename>/</filename> et (ind&eacute;pendamment) du r&eacute;pertoire
+<filename>/usr</filename> avant de trouver un meilleur moyen pour rechercher
+des fichiers.</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>passwd</></term>
+<listitem>
+<para>pour changer le mot de passe d'un utilisateur
+(ou le mot de passe root).</para>
+</listitem>
+</varlistentry>
+<varlistentry><term><command>man hier</></term>
+<listitem>
+<para>pages de manuel du syst&egrave;me de fichier Unix.</para>
+</listitem>
+</varlistentry>
+</variablelist></para>
+<para>Avec le commande <command>find</> vous pouvez localiser le fichier
+<replaceable>nom_de_fichier</replaceable> dans <filename>/usr</filename> ou un
+de ses sous-r&eacute;pertoires:
+<informalexample>
+<screen>% <userinput>find /usr -name "<replaceable>nom_de_fichier</>"</></screen>
+</informalexample>
+Vous pouvez employer <literal>*</literal> comme caract&egrave;re de substitution dans
+<parameter>"<replaceable>nom_de_fichier</>"</> (qui doit &ecirc;tre entre guillemets).
+Si vous demandez &agrave; <command>find</command> d'effectuer la recherche dans <filename>/</filename>
+au lieu de <filename>/usr</filename>, il va parcourir tous les syst&egrave;mes de
+fichiers mont&eacute;s, y compris le CDROM et la partition DOS.</para>
+<para>Voici un excellent livre qui d&eacute;taille les commandes et les utilitaires
+du syst&egrave;me Unix:
+Abrahams &amp; Larson, <citetitle>Unix for the Impatient</citetitle>
+(2nd ed., Addison-Wesley, 1996). Vous trouverez aussi beaucoup d'informations
+sur Unix sur l'Internet. Essayez l'
+<ulink url="http://www.eecs.nwu.edu/unix.html">Unix Reference
+Desk</ulink>.</para>
+</sect1>
+<sect1>
+<title>Etapes Suivantes</title>
+<para>Vous avez maintenant les outils n&eacute;cessaires &agrave; l'exploration du syst&egrave;me et
+&agrave; l'&eacute;dition de fichiers. Il y a &eacute;normement d'informations dans le
+<ulink url="&url.handbook;index.html">manuel FreeBSD
+</ulink> (que vous avez probablement aussi sur votre disque
+dur) et sur le
+<ulink url="http://www.freebsd.org/">
+site Internet de FreeBSD</ulink>. Il y a un grand nombre de logiciels sur le
+CDROM de <ulink url="http://www.cdrom.com/">Walnut Creek</ulink> et sur leur
+site Internet. Le "manuel" vous explique comment les utiliser
+(installer le logiciel s'il existe, avec <command>pkg_add
+/cdrom/packages/All/<replaceable>nom_du_logiciel</></>,
+o&ugrave; <replaceable>nom_du_logiciel</replaceable> est le nom du fichier
+correspondant au logiciel voulu). Le CDROM donne la liste des logiciels
+pr&eacute;-compil&eacute;s ou non <footnote><para>N.d.T: Les logiciels pr&eacute;vus pour &ecirc;tre utilis&eacute;s avec FreeBSD peuvent &ecirc;tre pr&eacute;-compil&eacute;s (&ldquo;packages&rdquo;) ou
+disponibles sous forme de code source (&ldquo;ports&rdquo;) livr&eacute; avec
+les proc&eacute;dures n&eacute;cessaires &agrave; sa compilation.</para></footnote> avec une
+courte description de
+chacun dans <filename>/cdrom/packages/index</filename>,
+<filename>/cdrom/packages/index.txt</filename> et
+<filename>/cdrom/ports/index</filename>. Il y a des descriptifs plus d&eacute;taill&eacute;s
+dans <filename>/cdrom/ports/*/*/pkg/DESCR</filename>, o&ugrave; les
+<literal>*</literal>s d&eacute;signent respectivement les sous-r&eacute;pertoires regroupant
+les logiciels par cat&eacute;gories et les noms des logiciels.</para>
+<para>Si vous trouvez le "manuel" trop subtil (avec ses commandes
+<command>lndir</> et ainsi de suite) en ce qui concerne l'installation des
+logiciel &agrave; compiler, voici une m&eacute;thode qui fonctionne habituellement:</para>
+<para>Trouvez le logiciel que vous voulez, par exemple <command>kermit</>. Il
+y aura un sous-r&eacute;pertoire correspondant sur le CDROM. Copiez ce sous-r&eacute;pertoire
+dans <filename>/usr/local</filename> (l&agrave; o&ugrave; l'on met g&eacute;n&eacute;ralement les logiciels
+que l'on installe pour les mettre &agrave; la disposition de tous les utilisateurs)
+avec:
+<informalexample>
+<screen># <userinput>cp -R /cdrom/ports/comm/kermit /usr/local</></screen>
+</informalexample>
+Ceci cr&eacute;e normalement un sous-r&eacute;pertoire <filename>/usr/local/kermit</filename>
+qui contient tous les fichiers du sous-r&eacute;pertoire
+<command>kermit</command> du CDROM.</para>
+<para>Recherchez ensuite dans le r&eacute;pertoire
+<filename>/cdrom/ports/distfiles</filename> un fichier dont le nom
+indique que c'est le logiciel que vous voulez installer. Copiez ce fichier dans
+<filename>/usr/ports/distfiles</filename>; avec les versions r&eacute;centes,
+vous pouvez sauter cette &eacute;tape, FreeBSD s'en chargera.
+Dans le cas de <command>kermit</>, il n'y a aucun fichier associ&eacute; dans
+<filename>/cdrom/ports/distfiles</filename>.</para>
+<para>Puis <command>cd</> dans le sous-r&eacute;pertoire de
+<filename>/usr/local/kermit</filename> qui contient le fichier
+<filename>Makefile</>. Tapez:
+<informalexample>
+<screen># <userinput>make all install</></screen>
+</informalexample>
+</para>
+<para>Pendant l'installation, le syst&egrave;me ira chercher par ftp les
+fichiers compress&eacute;s qu'il ne trouve pas dans
+<filename>/usr/ports/distfiles</filename>. Si vous n'&ecirc;tes pas
+encore connect&eacute; &agrave; l'Internet et que le fichier correspondant au
+logiciel n'existe pas dans
+<filename>/cdrom/ports/distfiles</filename>, vous devrez r&eacute;cup&eacute;rer
+ce fichier sur une autre machine et le copier dans
+<filename>/usr/ports/distfiles</filename> depuis une disquette ou
+votre partition Dos. Lisez <filename>Makefile</> (Avec <command>cat</>,
+<command>more</> ou <command>view</>) pour trouver sur quel site (le
+"master distribution site"&nbsp;-&nbsp;site de distribution d'origine) aller pour
+r&eacute;cup&eacute;rer le fichier et pour conna&icirc;tre
+son nom. Ce nom sera tronqu&eacute; si vous t&eacute;l&eacute;chargez le fichier sous DOS, et
+vous devrez redonner au fichier son nom d'origine apr&egrave;s l'avoir recopi&eacute;
+dans <filename>/usr/ports/distfiles</filename>
+(avec la commande <command>mv</>) pour que FreeBSD le trouve.
+(Utilisez le transfert de fichier en mode binaire!) Revenez ensuite dans
+<filename>/usr/local/kermit</filename>, trouvez le sous-r&eacute;pertoire o&ugrave; est
+<filename>Makefile</>, et tapez <command>make all install</>.</para>
+<para>Il peut aussi arriver quand vous installez des logiciels pr&eacute;-compil&eacute;s ou
+non qu'un autre logiciel soit n&eacute;cessaire. Si l'installation s'interrompt avec
+un message du style <errorname>can't find unzip</errorname>, vous devez d'abord
+installer le logiciel unzip avant de continuer.</para>
+<para>Un fois le logiciel install&eacute;, tapez <command>rehash</> pour que FreeBSD
+relise la liste des fichiers dans les chemins d'acc&egrave;s par d&eacute;faut, de fa&ccedil;on
+&agrave; ce qu'il sache ce qui s'y trouve. (Si vous obtenez de nombreux messages
+d'erreur <errorname>path not found</> avec les commandes
+<command>whereis</> ou <command>which</command>, ajoutez les r&eacute;pertoires
+n&eacute;cessaires &agrave; la liste des chemins d'acc&egrave;s par d&eacute;faut d&eacute;finis dans le
+fichier <filename>.cshrc</filename> de votre r&eacute;pertoire utilisateur. L'instruction
+path d'Unix fonctionne de la m&ecirc;me fa&ccedil;on que sous DOS, &agrave; ceci pr&egrave;s que, pour des
+raisons de s&eacute;curit&eacute;, le r&eacute;pertoire courant n'y est pas d&eacute;fini (par d&eacute;faut); si
+le programme que vous cherchez se trouve dans le r&eacute;pertoire courant, vous devrez
+faire pr&eacute;c&eacute;der le nom du programme de <filename>./</filename> pour l'ex&eacute;cuter
+(pas d'espace apr&egrave;s le &ldquo;<filename>/</filename>&rdquo;.) </para>
+<para>Vous voudrez peut-&ecirc;tre installer la version la plus r&eacute;cente de Netscape
+depuis leur <ulink url="ftp://ftp.netscape.com">site ftp</ulink>. (Netscape
+a besoin du gestionnaire graphique X Window.) Il vous faut la version
+&ldquo;unknown bsd&rdquo;. Appliquez au fichier t&eacute;l&eacute;charg&eacute; les commandes
+<command>gunzip <replaceable>nom_de_fichier</></> puis <command>tar xvf
+<replaceable>nom_de_fichier</></>, recopiez l'ex&eacute;cutable dans
+<filename>/usr/local/bin</filename> ou dans tout autre r&eacute;pertoire o&ugrave; vous mettez les programmes, <command>rehash</>, et ajoutez les lignes suivantes aux fichiers
+<filename>.cshrc</filename> dans les r&eacute;pertoires de tous les
+utilisateurs ou (plus simplement) au fichier
+<filename>/etc/csh.cshrc</filename> de d&eacute;marrage de l'interpr&eacute;teur de commandes
+csh applicable &agrave; tous les utilisateurs:
+<informalexample>
+<programlisting>setenv XKEYSYMDB /usr/X11R6/lib/X11/XKeysymDB
+setenv XNLSPATH /usr/X11R6/lib/X11/nls</>
+</informalexample>
+Ce qui pr&eacute;suppose que les fichiers <filename>XKeysymDB</> et le r&eacute;pertoire
+<filename>nls</> existent dans <filename>/usr/X11R6/lib/X11</filename>; s'ils
+n'y sont pas, trouvez-les et recopiez-les dans ce r&eacute;pertoire.</para>
+
+<para>Si vous aviez auparavant install&eacute; Netscape depuis le CDROM (ou par
+ftp), ne remplacez pas <filename>/usr/local/bin/netscape</filename> par
+le nouveau binaire; ce fichier n'est qu'une proc&eacute;dure qui positionne des
+variables d'environnement. Au lieu de cela, renommez le nouveau fichier
+binaire en <filename>netscape.bin</filename> et installez-le &agrave; la place
+de l'ancien, qui s'appelle <filename>/usr/local/lib/netscape/netscape.bin</filename>.</para>
+</sect1>
+<sect1>
+<title>Votre Environnement de Travail</title>
+<para>Votre interpr&eacute;teur de commandes est la composante la plus importante de
+votre environnement de travail. C'est l'&eacute;quivalent de COMMAND.COM sous DOS.
+C'est lui qui analyse les commandes que vous tapez au clavier et communique
+avec le reste du syst&egrave;me d'exploitation. Vous pouvez aussi &eacute;crire des
+proc&eacute;dures, qui sont l'&eacute;quivalent des fichiers .BAT de DOS.</para>
+<para>Deux interpr&eacute;teurs de commandes sont pr&eacute;-install&eacute;s par FreeBSD : csh et
+sh. csh est utile pour le travail en ligne de commande, mais vous devriez mieux
+&eacute;crire vos proc&eacute;dures pour sh (ou bash). <command>echo $SHELL</command> vous
+retourne le nom de l'interpr&eacute;teur que vous utilisez actuellement.</para>
+<para>L'interpr&eacute;teur csh est commode, mais tcsh fait tout ce que fait csh et
+plus encore. Il vous permet de rappeler des commandes avec les touches fl&egrave;ches
+et de les &eacute;diter. Il sait compl&eacute;ter les noms de fichiers avec la touche Tab (csh
+utilise la touche Echap) et il vous permet de revenir dans le r&eacute;pertoire o&ugrave; vous
+&eacute;tiez auparavant avec <command>cd -</command>. Il est aussi plus facile de
+modifier l'invite du syst&egrave;me avec tcsh. Il vous rend la vie beaucoup plus
+facile.</para>
+<para>Voici les trois &eacute;tapes pour installer un nouvel interpr&eacute;teur de
+commandes:</para>
+<para>Installez l'interpr&eacute;teur, pr&eacute;-compil&eacute; ou non, comme vous le feriez pour
+n'importe quel autre logiciel. Utilisez <command>rehash</command> puis
+<command>which tcsh</command> (en supposant que vous installiez tcsh) pour vous
+assurer qu'il est bien install&eacute;.</para>
+<para>Sous le compte root, &eacute;ditez le fichier <filename>/etc/shells</filename>,
+ajoutez-y une ligne pour le nouvel interpr&eacute;teur, dans notre cas
+/usr/local/bin/tcsh, et enregistrez votre modification. (certaines proc&eacute;dures
+d'installation font cela pour vous.)</para>
+<para>Utilisez <command>chsh</command> pour changer de fa&ccedil;on permanente
+d'interpr&eacute;teur de commandes, ou tapez <command>tcsh</command> sous l'invite
+du syst&egrave;me pour changer d'interpr&eacute;teur sans ouvrir de nouvelle session.</para>
+<para>Note: Il peut &ecirc;tre dangereux de changer l'interpr&eacute;teur de commandes du
+compte root en autre chose que sh ou csh avec les premi&egrave;res versions de FreeBSD
+et de nombreuses autres versions d'Unix; vous pourriez ne plus avoir
+d'interpr&eacute;teur de commandes quand le syst&egrave;me passe en mode mono-utilisateur.
+La solution est d'utiliser <command>su -m</command> pour devenir root et
+disposer de tcsh, parce que l'interpr&eacute;teur de commandes est partie int&eacute;grante
+de l'environnement. Vous pouvez rendre ce fonctionnement d&eacute;finitif en ajoutant
+un alias dans votre fichier <filename>.tchsrc</filename>:</para>
+<informalexample><screen>alias su su -m</screen>
+</informalexample>
+<para>Quand tcsh d&eacute;marre, il lit les fichiers
+<filename>/etc/csh.cshrc</filename> et <filename>/etc/csh.login</filename>.
+Il lit aussi le fichier <filename>.login</filename> de votre r&eacute;pertoire
+utilisateur, ainsi que le fichier <filename>.cshrc</filename>, &agrave; moins que vous
+n'ayez un fichier <filename>.tchsrc</filename>. Vous pouvez facilement en
+cr&eacute;er un en copiant simplement <filename>.cshrc</filename> dans
+<filename>.tcshrc</filename>.</para>
+<para>Maintenant que vous avez install&eacute; tcsh, vous pouvez modifier l'invite
+du syst&egrave;me. Vous trouverez plus de d&eacute;tails dans les pages de manuel de tcsh,
+mais voici une ligne que vous pouvez mettre dans votre fichier
+<filename>.tchsrc</filename>, qui vous dira combien de commandes vous avez
+tap&eacute;es, quelle heure il est, et dans quel r&eacute;pertoire vous vous
+trouvez. Un > sera aussi
+affich&eacute; si vous &ecirc;tes un utilisateur ordinaire et un # si vous &ecirc;tes root, mais
+tcsh fait cela de toute fa&ccedil;on:</para>
+<informalexample><screen>set prompt = "%h %t %~ %#"</screen>
+</informalexample>
+<para>Mettez cette ligne &agrave; la place de la ligne "set prompt" s'il y en a d&eacute;j&agrave;
+une, ou apr&egrave;s la ligne "if($?prompt) then" sinon. Mettez l'ancienne ligne en
+commentaire; vous pourrez toujours y revenir si vous le souhaitez. N'oubliez
+pas les espaces et les guillemets. Vous pouvez forcer la relecture du fichier
+<filename>.tchsrc</filename> en tapant <command>source .tcshrc</command>.</para>
+<para>Vous pouvez obtenir la liste des autres variables d'environnement qui ont
+&eacute;t&eacute; positionn&eacute;es avec la commande <command>env</command>. Le r&eacute;sultat vous
+indiquera entre autres quels sont votre &eacute;diteur et votre gestionnaire de page
+affich&eacute;e par d&eacute;faut, et quel type de terminal vous utilisez. Une
+commande utile si vous vous connectez &agrave; distance et ne pouvez ex&eacute;cuter un
+programme parce que le terminal n'est pas adapt&eacute; est
+<command>setenv TERM vt100</command>.</para>
+</sect1>
+<sect1>
+<title>Autres</title>
+<para>En tant que root, vous pouvez d&eacute;monter le CDROM avec <command>/sbin/umount
+/cdrom</>, le sortir du lecteur, en mettre un autre, et monter ce dernier avec
+<command>/sbin/mount_cd9660 /dev/cd0a /cdrom</> en supposant que
+<hardware>cd0a</> est le nom du p&eacute;riph&eacute;rique associ&eacute; &agrave; votre lecteur de
+CDROMs.</para>
+<para>Le syst&egrave;me de fichier actif&nbsp;-&nbsp;le deuxi&egrave;me CDROM de la
+distribution de FreeBSD&nbsp;-&nbsp;est utile si vous manquez d'espace disque.
+Vous pouvez essayez d'utiliser <command>emacs</> ou des jeux depuis le
+cdrom. Vous devrez utiliser <command>lndir</>, qui est install&eacute; en m&ecirc;me temps
+que le gestionnaire graphique X Window, pour dire au(x) programme(s)
+o&ugrave; trouver les fichiers dont il a besoin, parce qu'ils se trouvent dans le
+syst&egrave;me de fichiers <filename>/cdrom</filename> et non dans
+<filename>/usr</filename> et ses sous-r&eacute;pertoires, o&ugrave; ils devraient
+normalement &ecirc;tre. Lisez <command>man lndir</>.</para>
+<para>Vous pouvez supprimer un utilisateur (par example, jacques) en utilisant
+la commande <command>vipw</> pour &eacute;diter le fichier <filename>master.passwd</filename>
+(n'utilisez pas <command>vi</> directement sur le fichier
+<filename>master.passwd</filename>); effacez la ligne pour jacques et sauvez le
+fichier. Editez ensuite <filename>/etc/group</filename> et supprimez toutes
+les occurences de jacques.
+Enfin, allez dans <filename>/usr/home</filename> et utilisez
+<command>rm -R jacques</command> (pour effacer les fichiers et sous-r&eacute;pertoires
+du r&eacute;pertoire utilisateur de jacques).</para>
+</sect1>
+<sect1>
+<title>Vos Commentaires sont la Bienvenue</title>
+<para>Si vous utilisez ce guide, je suis interess&eacute;e de savoir o&ugrave; il ne vous est
+pas suffisament clair et ce que vous trouvez qu'il y manque, et aussi s'il vous
+a &eacute;t&eacute; utile. <footnote><para>N.d.T.: en anglais !</para></footnote>
+Mes remerciements &agrave; Eugene W. Stark, professeur d'informatique
+&agrave; SUNY-Stony Brook, et &agrave; John Fieber pour ses commentaires pertinents.</para>
+<para>Annelise Anderson, <email>andrsn@hoover.stanford.edu</></para>
+</sect1>
+</article>
diff --git a/fr_FR.ISO_8859-1/articles/ntfs/Makefile b/fr_FR.ISO_8859-1/articles/ntfs/Makefile
new file mode 100644
index 0000000000..72c1d9b8c9
--- /dev/null
+++ b/fr_FR.ISO_8859-1/articles/ntfs/Makefile
@@ -0,0 +1,20 @@
+#
+# The FreeBSD Documentation Project
+# The FreeBSD French Documentation Project
+#
+# $FreeBSD$
+# Original revision: 1.4
+#
+
+DOC?= article
+
+FORMATS?= html
+
+INSTALL_COMPRESSED?=gz
+INSTALL_ONLY_COMPRESSED?=
+
+SRCS= article.sgml
+
+DOC_PREFIX?= ${.CURDIR}/../../..
+
+.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/fr_FR.ISO_8859-1/articles/ntfs/article.sgml b/fr_FR.ISO_8859-1/articles/ntfs/article.sgml
new file mode 100644
index 0000000000..a1922b42a2
--- /dev/null
+++ b/fr_FR.ISO_8859-1/articles/ntfs/article.sgml
@@ -0,0 +1,490 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+<!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN" [
+<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> %man;
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES Common Document URL Entities//FR"> %urls;
+<!ENTITY % abstract PUBLIC "-//FreeBSD//ENTITIES DocBook Abstract Entities//FR"> %abstract;
+<!ENTITY % artheader PUBLIC "-//FreeBSD//ENTITIES DocBook ArtHeader Entities//FR"> %artheader;
+<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//FR"> %translators;
+
+<!ENTITY % authors SYSTEM "../../../en_US.ISO_8859-1/books/handbook/authors.ent"> %authors;
+<!ENTITY % mailing-lists SYSTEM "../../books/handbook/mailing-lists.ent"> %mailing-lists;
+ <!ENTITY rel.current CDATA "3.2">
+]>
+
+<article id="ntfs" lang="fr">
+ <artheader>
+ <title>Installer le pilote NTFS pour FreeBSD</title>
+ &artheader.copyright;
+ <abstract>
+ &abstract.license;
+ &abstract.disclaimer;
+ &trans.a.laurand;
+ </abstract>
+ </artheader>
+
+ <sect1>
+ <title>Installer le pilote NTFS pour FreeBSD 3.x</title>
+
+ <para>Pour installer ce pilote, vous aurez besoin de recompiler un noyau car
+ les fichiers d'en-t&ecirc;te utilis&eacute;s seront mis &agrave; niveau.
+ Pour autant, aucun changement dans le fichier de configuration ne sera
+ n&eacute;cessaire. Si vous n'avez pas install&eacute; les sources du
+ noyau, vous pouvez soit recourir &agrave; <filename>sysinstall</filename>,
+ ou bien entrer successivement en tant que
+ <username>root</username>&nbsp;:</para>
+
+ <informalexample>
+<screen>&prompt.root <userinput>mount -t cd9660 /dev/cd0c /mnt</userinput>
+&prompt.root <userinput> cd /mnt/src</userinput>
+&prompt.root <userinput> cat ssys.?? | tar --unlink -zxpvf - -C /usr/src</userinput></screen>
+ </informalexample>
+
+ <para>Le pilote requiert &eacute;galement le fichier
+ <filename>mntopt.h</filename> de l'archive source. Pour
+ extraire son contenu&nbsp;:</para>
+
+ <informalexample>
+<screen>&prompt.root <userinput> cd /mnt/src</userinput>
+&prompt.root <userinput> cat ssbin.?? | tar --unlink -zxpvf - -C /usr/src sbin/mount</userinput></screen>
+ </informalexample>
+
+ <para>Ensuite, en tant que <username>root</username>, cr&eacute;ez un
+ r&eacute;pertoire pour y extraire le contenu de l'archive du pilote
+ ntfs&nbsp;:</para>
+
+ <informalexample>
+<screen>&prompt.root <userinput> cd /tmp</userinput>
+&prompt.root <userinput> mkdir ntfs</userinput></screen>
+ </informalexample>
+
+ <para>T&eacute;l&eacute;chargez le fichier d'archive compress&eacute;
+ contenant le code source du pilote ainsi que son fichier de mise &agrave;
+ niveau&nbsp;-&nbsp;<foreignphrase>patch</foreignphrase>&nbsp;-&nbsp;dans
+ <filename>/tmp/ntfs</filename>. Les deux fichiers dont vous avez besoin
+ sont <filename>ntfs-0.17beta.tgz</filename> et
+ <filename>ntfs.0.17beta-0.18beta.diff</filename>.</para>
+
+ <para>Extrayez le contenu du fichier d'archive&nbsp;:</para>
+
+ <informalexample>
+<screen>&prompt.root <userinput> cd /tmp/ntfs</userinput>
+&prompt.root <userinput> tar xzvf ntfs-0.17beta.tgz</userinput></screen>
+ </informalexample>
+
+ <para>Il se peut que le num&eacute;ro de version (0.17beta) soit
+ diff&eacute;rent.</para>
+
+ <para>Ensuite, appliquez la mise &agrave; niveau de la version 0.17 &agrave;
+ la version 0.18.</para>
+
+ <informalexample>
+<screen>&prompt.root <userinput> cd /tmp/ntfs/src/sys/ntfs</userinput>
+&prompt.root <userinput> patch < /tmp/ntfs/ntfs.0.17beta-0.18beta.diff</userinput></screen>
+ </informalexample>
+
+ <para>Prenez garde &agrave; ce qu'aucune partie ne fasse d&eacute;faut.
+ <citerefentry><refentrytitle>patch</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> g&eacute;n&egrave;re des copies de
+ sauvegarde des fichiers qu'il met &agrave; jour (avec l'extension
+ <filename>.orig</filename>), par cons&eacute;quent, si un probl&egrave;me
+ survient, recopiez les fichiers <filename>.orig</filename>, et
+ recherchez-en la cause.</para>
+
+ <para>Recopiez maintenant les fichiers sources l&agrave; o&ugrave; ils
+ doivent normalement &ecirc;tre&nbsp;:</para>
+
+ <informalexample>
+<screen>&prompt.root <userinput>cd /tmp/ntfs</userinput>
+&prompt.root <userinput>cp -p -R -i src /usr/</userinput></screen>
+ </informalexample>
+
+ <para>Il faut ensuite mettre &agrave; jour
+ <filename>vnode.h</filename>&nbsp;:</para>
+
+ <informalexample>
+<screen>&prompt.root <userinput>cd /usr/src/sys/sys</userinput>
+&prompt.root <userinput>patch < /tmp/ntfs/diff/vnode.h.diff</userinput></screen>
+ </informalexample>
+
+ <para>Encore une fois, v&eacute;rifiez que la mise &agrave; niveau s'est
+ bien pass&eacute;e, vous devriez avoir&nbsp;:</para>
+
+ <programlisting>
+Hmm... Looks like a new-style context diff to me...
+The text leading up to this was:
+--------------------------
+|*** ./sys/sys/vnode.h.orig Fri Jan 1 06:12:51 1999
+|--- ./sys/sys/vnode.h Wed Dec 2 12:31:31 1998
+--------------------------
+Patching file vnode.h using Plan A...
+Hunk #1 succeeded at 62.
+done
+ </programlisting>
+
+ <para>Vous allez maintenant pouvoir maintenant compiler l'ex&eacute;cutable
+ <filename>mount_ntfs</filename>&nbsp;:</para>
+
+ <informalexample>
+<screen>&prompt.root <userinput>cd /usr/src/sbin/mount_ntfs</userinput>
+&prompt.root <userinput>make</userinput>
+&prompt.root <userinput>make install</userinput></screen>
+ </informalexample>
+
+<para>ainsi que le module du noyau&nbsp;:</para>
+
+ <informalexample>
+<screen>&prompt.root <userinput>cd /usr/src/sys/modules/ntfs</userinput>
+&prompt.root <userinput>make</userinput>
+&prompt.root <userinput>make install</userinput></screen>
+ </informalexample>
+
+ <para>Pour finir, il faudra aussi recompiler le noyau (parce que
+ <filename>vnode.h</filename> a &eacute;t&eacute; modifi&eacute;). Si vous
+ utilisez le noyau <filename>GENERIC</filename>, faites une copie
+ du fichier de configuration du noyau <filename>GENERIC</filename> (ce
+ n'est pas absolument n&eacute;cessaire, mais de cette mani&egrave;re le
+ nom du noyau sera mis &agrave; jour, et il sera plus facile d'identifier
+ celui avec lequel vous d&eacute;marrez). J'ai pour habitude d'utiliser
+ des noms assez repr&eacute;sentatifs, aussi
+ <filename>GENERIC_NTFS</filename> me semble-t-il
+ appropri&eacute;&nbsp;:</para>
+
+ <informalexample>
+<screen>&prompt.root <userinput>cd /usr/src/sys/i386/conf</userinput>
+&prompt.root <userinput>cp GENERIC GENERIC_NTFS</userinput>
+&prompt.root <userinput>/usr/sbin/config GENERIC_NTFS</userinput>
+&prompt.root <userinput>cd ../../compile/GENERIC_NTFS</userinput>
+&prompt.root <userinput>make depend</userinput>
+&prompt.root <userinput>make</userinput>
+&prompt.root <userinput>make install</userinput></screen>
+ </informalexample>
+
+ <para>Ok, parfait, mais avant de red&eacute;marrer avec votre nouveau noyau,
+ il faut identifier la
+ tranche&nbsp;-&nbsp;<foreignphrase>slice</foreignphrase>&nbsp;-&nbsp;NTFS.
+ Le num&eacute;ro de cette tranche va d&eacute;pendre du format de votre
+ disque. Pour l'instant, si vous avez une tranche FAT suivie d'une tranche
+ NTFS et que votre tranche FreeBSD est la derni&egrave;re, elles seront
+ num&eacute;rot&eacute;es (&ldquo;<literal>da</literal>&rdquo; ou
+ peut-&ecirc;tre &ldquo;<literal>sd</literal>&rdquo; pour les disques SCSI,
+ si vous avez mis &agrave; jour votre syst&egrave;me 2.2.x pour passer en
+ 3.1, et ce sera &ldquo;<literal>wd</literal>&rdquo; si vous avez des
+ disques IDE)&nbsp;:</para>
+
+ <programlisting>
+FAT - da0s1
+NTFS - da0s2
+FreeBSD - da0s3
+ </programlisting>
+
+ <para>Si votre tranche NTFS et votre tranche FreeBSD sont invers&eacute;es
+ et que vous avez install&eacute; NT avant FreeBSD, ce qui est d'ailleurs la m&eacute;thode recommand&eacute;e, vos num&eacute;ros de
+ tranches seront les m&ecirc;mes, mais pas dans le m&ecirc;me
+ ordre&nbsp;:</para>
+
+ <programlisting>
+FAT - da0s1
+FreeBSD - da0s3
+NTFS - da0s2
+ </programlisting>
+
+ <para>Vous pouvez jeter un coup d'oeil au fichier
+ <filename>/etc/fstab</filename> pour &ecirc;tre s&ucirc;r du num&eacute;ro
+ de la tranche de FreeBSD (et &eacute;galement de celui de la tranche
+ FAT).</para>
+
+ <para>Il y a cependant une exception &agrave; tout cela, lorsque votre
+ tranche NTFS est une &ldquo;partition logique&rdquo; dans une
+ &ldquo;partition &eacute;tendue&rdquo;. Les &ldquo;partitions
+ logiques&rdquo; sont toujours num&eacute;rot&eacute;es &agrave; partir de
+ 5, peut importe le nombre de &ldquo;partitions&rdquo; sur le disque. Mon
+ disque, par exemple, est agenc&eacute; comme ceci&nbsp;:</para>
+
+ <programlisting>
+FAT - da0s1
+FreeBSD - da0s3
+Extended partition - da0s2
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NTFS - da0s5
+ </programlisting>
+
+ <para>Notez qu'une &ldquo;partition &eacute;tendue;&rdquo; se voit attribuer
+ une
+ tranche&nbsp;-&nbsp;&ldquo;<foreignphrase>slice</foreignphrase>&rdquo;,
+ mais celle-ci ne peut pas &ecirc;tre utilis&eacute;e en tant que telle,
+ c'est-&agrave;-dire que vous ne pouvez pas la monter.</para>
+
+ <para>Apr&egrave;s avoir identifi&eacute; la tranche NTFS, vous pouvez
+ ajouter une entr&eacute;e dans le fichier
+ <filename>/etc/fstab</filename>. Notez que l'option <literal>ro</literal>
+ signifie que le montage se fera en lecture seule (souvenez-vous que le
+ pilote est en lecture seule). Cette entr&eacute;e provoquera le montage
+ automatique de la tranche NTFS lors du d&eacute;marrage. Si vous voulez
+ d&eacute;sactiver cette derni&egrave;re option, modifiez
+ <literal>ro</literal> en <literal>ro,noauto</literal>, sans aucun espace
+ ni avant ni apr&egrave;s la virgule&nbsp;! Vous aurez &eacute;galement
+ besoin d'un point de montage, <filename>/ntfs</filename> dans cet
+ exemple, ou si vous pr&eacute;ferez, <filename>/mnt</filename> &agrave;
+ la place de <filename>/ntfs</filename> dans le fichier
+ <filename>/etc/fstab</filename>&nbsp;:</para>
+
+ <programlisting>
+# Device Mountpoint FStype Options Dump Pass#
+/dev/da0s5 /ntfs ntfs ro 0 0
+ </programlisting>
+
+ <para>Si vous pr&eacute;ferez ne pas monter la &ldquo;partition&rdquo; au
+ d&eacute;marrage, montez-la ensuite en tant que <username>root</username>
+ avec la commande&nbsp;:</para>
+
+ <informalexample>
+<screen>&prompt.root <userinput>mount -t ntfs /dev/da0s5 /ntfs</userinput></screen>
+ </informalexample>
+
+ <para>Bien entendu, ajustez le fichier de pilote de
+ p&eacute;riph&eacute;rique ainsi que le point de montage &agrave; votre
+ syst&egrave;me.</para>
+
+ <para>C'est fait&nbsp;! Il ne reste plus qu'&agrave;
+ red&eacute;marrer.</para>
+
+ <para>Bon courage&nbsp;! </para>
+
+ </sect1>
+
+ <sect1>
+ <title>Installation du pilote NTFS sous FreeBSD 2.2.X</title>
+
+ <para>Pour installer ce pilote, vous aurez besoin de recompiler un noyau car
+ les fichiers d'en-t&ecirc;te utilis&eacute;s seront mis &agrave; niveau.
+ Pour autant, aucun changement dans le fichier de configuration ne sera
+ n&eacute;cessaire. Si vous n'avez pas install&eacute; les sources du
+ noyau, vous pouvez soit recourir &agrave; <filename>sysinstall</filename>,
+ ou bien entrer successivement en tant que
+ <username>root</username>&nbsp;:</para>
+
+ <informalexample>
+<screen>&prompt.root <userinput>mount -t cd9660 /dev/cd0c /mnt</userinput>
+&prompt.root <userinput> cd /mnt/src</userinput>
+&prompt.root <userinput> cat ssys.?? | tar --unlink -zxpvf - -C /usr/src</userinput></screen>
+ </informalexample>
+
+ <para>Le pilote requiert &eacute;galement les fichiers
+ <filename>mntopt.h</filename> de l'archive source. Pour extraire son
+ contenu, tapez&nbsp;:</para>
+
+ <informalexample>
+<screen>&prompt.root <userinput> cd /mnt/src</userinput>
+&prompt.root <userinput> cat ssbin.?? | tar --unlink -zxpvf - -C /usr/src sbin/mount</userinput></screen>
+ </informalexample>
+
+ <para>Ensuite, en tant que <username>root</username>, cr&eacute;ez un
+ r&eacute;pertoire pour extraire le contenu de l'archive du pilote
+ ntfs&nbsp;:</para>
+
+ <informalexample>
+<screen>&prompt.root <userinput> cd /tmp</userinput>
+&prompt.root <userinput> mkdir ntfs</userinput></screen>
+ </informalexample>
+
+ <para>T&eacute;l&eacute;chargez le fichier d'archive compress&eacute;
+ contenant le code source du pilote ainsi que son fichier de mise &agrave;
+ jour dans <filename>/tmp/ntfs</filename>.</para>
+
+ <para>Extrayez le contenu de l'archive&nbsp;:</para>
+
+ <informalexample>
+<screen>&prompt.root <userinput> cd /tmp/ntfs</userinput>
+&prompt.root <userinput> tar xzvf ntfs-releng22-0.12beta.tgz</userinput></screen>
+ </informalexample>
+
+ <para>Il se peut que le num&eacute;ro de version (0.12beta) soit
+ diff&eacute;rent.</para>
+
+ <para>Recopiez maintenant les fichiers sources &agrave; l'endroit
+ ad&eacute;quat&nbsp;:</para>
+
+ <informalexample>
+<screen>&prompt.root <userinput>cd src</userinput>
+&prompt.root <userinput>cp -p -r * /usr/src</userinput></screen>
+ </informalexample>
+
+ <para>Ensuite, vous devez mettre &agrave; niveau les 3 fichiers
+ d'en-t&ecirc;te du syst&egrave;me. Utilisez l'option <option>-l</option>
+ (L minuscule) qui permet d'ignorer la diff&eacute;rence d'espacement, car
+ j'ai remarqu&eacute; que l'utilisation des touches <keycap>TAB</keycap>
+ et <keycap>Espace</keycap> rendait incompatible les fichiers originaux et
+ les fichiers <filename>diff</filename>.</para>
+
+ <informalexample>
+<screen>&prompt.root <userinput>cd /usr/src/sys/sys</userinput>
+&prompt.root <userinput>patch -l malloc.h /tmp/ntfs/diff/malloc.h.diff</userinput>
+&prompt.root <userinput>patch -l mount.h /tmp/ntfs/diff/mount.h.diff</userinput>
+&prompt.root <userinput>patch -l vnode.h /tmp/ntfs/diff/vnode.h.diff</userinput></screen>
+ </informalexample>
+
+ <para>Si cette op&eacute;ration r&eacute;ussit, vous verrez s'afficher
+ quelque chose de similaire &agrave;&nbsp;:</para>
+
+ <programlisting>
+Hmm... Looks like a new-style context diff to me...
+The text leading up to this was:
+--------------------------
+|*** ./sys/sys/vnode.h.orig Fri Jan 1 00:17:30 1999
+|--- ./sys/sys/vnode.h Fri Jan 1 00:17:35 1999
+--------------------------
+Patching file vnode.h using Plan A...
+Hunk #1 succeeded at 58.
+done
+ </programlisting>
+
+ <para>Si malencontreusement, un (ou plusieurs) fichier de mise &agrave;
+ jour faisait d&eacute;faut, sachez que
+ <citerefentry><refentrytitle>patch</refentrytitle></citerefentry>
+ fait toujours des copies des fichiers originaux avec le m&ecirc;me nom
+ suivi de l'extension <filename>.orig</filename>.</para>
+
+ <para>Maintenant, vous pouvez compiler le pilote. Il est n&eacute;cessaire
+ d'ajouter <literal>BINDIR=/usr/sbin</literal> qui n'est pas
+ d&eacute;fini dans le <filename>Makefile</filename>.</para>
+
+ <informalexample>
+<screen>&prompt.root <userinput>cd /usr/src/sbin/i386/mount_ntfs</userinput>
+&prompt.root <userinput>make</userinput>
+&prompt.root <userinput>make BINDIR=/usr/sbin install</userinput></screen>
+ </informalexample>
+
+ <para>Compilez ensuite les modules du noyau&nbsp;:</para>
+
+ <informalexample>
+<screen>&prompt.root <userinput>cd /usr/src/lkm</userinput>
+&prompt.root <userinput>make</userinput>
+&prompt.root <userinput>make install</userinput></screen>
+ </informalexample>
+
+ <para>Pour finir, vous devez recompiler le noyau. Si vous utilisez le noyau
+ <filename>GENERIC</filename>, faites une copie du fichier de configuration
+ du noyau <filename>GENERIC</filename> (ce n'est pas absolument
+ n&eacute;cessaire, mias de cette mani&egrave;re le nom du noyau sera mis
+ &agrave; jour, et ce sera plus facile pour identifier le noyau avec lequel
+ vous d&eacute;marrez). J'ai pour habitude d'utiliser des noms assez
+ repr&eacute;sentatifs, aussi <filename>GENERIC_NTFS</filename> me semble
+ appropri&eacute;&nbsp;:</para>
+
+ <informalexample>
+<screen>&prompt.root <userinput>cd /usr/src/sys/i386/conf</userinput>
+&prompt.root <userinput>cp GENERIC GENERIC_NTFS</userinput>
+&prompt.root <userinput>/usr/sbin/config GENERIC_NTFS</userinput>
+&prompt.root <userinput>cd ../../compile/GENERIC_NTFS</userinput>
+&prompt.root <userinput>make depend</userinput>
+&prompt.root <userinput>make</userinput>
+&prompt.root <userinput>make install</userinput></screen>
+ </informalexample>
+
+ <para>Ok, parfait, mais avant de red&eacute;marrer avec votre nouveau noyau,
+ il faut identifier la
+ tranche&nbsp;-&nbsp;<foreignphrase>slice</foreignphrase>&nbsp;-&nbsp;NTFS.
+ Le num&eacute;ro de cette tranche va d&eacute;pendre du format de votre
+ disque. Pour l'instant, si vous avez une tranche FAT suivie d'une tranche
+ NTFS et que votre tranche FreeBSD est la derni&egrave;re, elles seront
+ num&eacute;rot&eacute;es (remplacez &ldquo;<literal>w</literal>&rdquo; par
+ &ldquo;<literal>s</literal>&rdquo; pour les disques SCSI)&nbsp;:</para>
+
+ <programlisting>
+FAT - wd0s1
+NTFS - wd0s2
+FreeBSD - wd0s3
+ </programlisting>
+
+ <para>Si votre tranche NTFS et votre tranche FreeBSD sont invers&eacute;es
+ et que vous avez install&eacute; NT avant FreeBSD, ce qui est d'ailleurs la m&eacute;thode recommand&eacute;e, vos num&eacute;ros de
+ tranches seront les m&ecirc;mes, mais pas dans le m&ecirc;me
+ ordre&nbsp;:</para>
+
+ <programlisting>
+FAT - wd0s1
+FreeBSD - wd0s3
+NTFS - wd0s2
+ </programlisting>
+
+ <para>Vous pouvez jeter un coup d'oeil au fichier
+ <filename>/etc/fstab</filename> pour &ecirc;tre s&ucirc;r du num&eacute;ro
+ de la tranche FreeBSD (et &eacute;galement de celui de la tranche
+ FAT).</para>
+
+ <para>Il y a cependant une exception &agrave; tout cela, lorsque votre
+ tranche NTFS est une &ldquo;partition logique&rdquo; dans une
+ &ldquo;partition &eacute;tendue&rdquo;. Les &ldquo;partitions
+ logiques&rdquo; sont toujours num&eacute;rot&eacute;es &agrave; partir de
+ 5, peut importe le nombre de &ldquo;partitions&rdquo; sur le disque. Mon
+ disque, par exemple, est agenc&eacute; comme ceci&nbsp;:</para>
+
+ <programlisting>
+FAT - sd0s1
+FreeBSD - sd0s3
+Extended partition - sd0s2
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NTFS - sd0s5
+ </programlisting>
+
+ <para>Notez qu'une &ldquo;partition &eacute;tendue&rdquo; se voit attribuer
+ une
+ tranche&nbsp;-&nbsp;&ldquo;<foreignphrase>slice</foreignphrase>&rdquo;,
+ mais celle-ci ne peut pas &ecirc;tre utilis&eacute;e en tant que telle,
+ c'est-&agrave;-dire que vous ne pouvez pas la monter.</para>
+
+ <para>Apr&egrave;s avoir identifi&eacute; la tranche NTFS, vous pouvez
+ ajouter une entr&eacute;e dans le fichier
+ <filename>/etc/fstab</filename>. Notez que l'option <literal>ro</literal>
+ signifie que le montage se fera en lecture seule (souvenez-vous que le
+ pilote est en lecture seule). Cette entr&eacute;e provoquera le montage
+ automatique de la tranche NTFS lors du d&eacute;marrage. Si vous voulez
+ d&eacute;sactiver cette derni&egrave;re option, modifiez
+ <literal>ro</literal> en <literal>ro,noauto</literal>, sans aucun espace
+ ni avant ni apr&egrave;s la virgule&nbsp;! Vous aurez &eacute;galement
+ besoin d'un point de montage, <filename>/ntfs</filename> dans cet
+ exemple, ou si vous pr&eacute;ferez, <filename>/mnt</filename> &agrave;
+ la place de <filename>/ntfs</filename> dans le fichier
+ <filename>/etc/fstab</filename>&nbsp;:</para>
+
+ <programlisting>
+# Device Mountpoint FStype Options Dump Pass#
+/dev/sd0s5 /ntfs ntfs ro 0 0
+ </programlisting>
+
+ <para>Si vous pr&eacute;ferez ne pas monter la &ldquo;partition&rdquo; au
+ d&eacute;marrage, montez-la ensuite en tant que <username>root</username>
+ avec la commande&nbsp;:</para>
+
+ <informalexample>
+<screen>&prompt.root <userinput>mount -t ntfs /dev/sd0s5 /ntfs</userinput></screen>
+ </informalexample>
+
+ <para>Bien entendu, ajustez le fichier de pilote de
+ p&eacute;riph&eacute;rique ainsi que le point de montage &agrave; votre
+ syst&egrave;me.</para>
+
+ <para>C'est fait&nbsp;! Il ne reste plus qu'&agrave;
+ red&eacute;marrer. Si vous avez choisi de monter la
+ &ldquo;partition&rdquo; au d&eacute;marrage, vous verrez s'afficher
+ quelques messages de diagnostic tout &agrave; fait
+ inoffensifs&nbsp;:</para>
+
+ <programlisting>
+ntfs_init():
+ntfs_mountfs(): bps: 512, spc: 1, media: f8, mftrecsz: 2 (2 sects)
+ntfs_mountfs(): mftcn: 0x315e5|0x287245
+ntfs_mountfs(): case-sens., uid: 0, gid: 0, mode: 777
+ntfs_iget(): read &#36;MFT ntnode
+ntfs_mountfs(): reading &#36;UpCase....OK
+ </programlisting>
+
+ <para>Bon courage&nbsp;! </para>
+
+ </sect1>
+</article>
diff --git a/fr_FR.ISO_8859-1/articles/ppp/Makefile b/fr_FR.ISO_8859-1/articles/ppp/Makefile
new file mode 100644
index 0000000000..72c1d9b8c9
--- /dev/null
+++ b/fr_FR.ISO_8859-1/articles/ppp/Makefile
@@ -0,0 +1,20 @@
+#
+# The FreeBSD Documentation Project
+# The FreeBSD French Documentation Project
+#
+# $FreeBSD$
+# Original revision: 1.4
+#
+
+DOC?= article
+
+FORMATS?= html
+
+INSTALL_COMPRESSED?=gz
+INSTALL_ONLY_COMPRESSED?=
+
+SRCS= article.sgml
+
+DOC_PREFIX?= ${.CURDIR}/../../..
+
+.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/fr_FR.ISO_8859-1/articles/ppp/article.sgml b/fr_FR.ISO_8859-1/articles/ppp/article.sgml
new file mode 100755
index 0000000000..100f07af58
--- /dev/null
+++ b/fr_FR.ISO_8859-1/articles/ppp/article.sgml
@@ -0,0 +1,1894 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+<!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN" [
+<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> %man;
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES Common Document URL Entities//FR"> %urls;
+<!ENTITY % abstract PUBLIC "-//FreeBSD//ENTITIES DocBook Abstract Entities//FR"> %abstract;
+<!ENTITY % artheader PUBLIC "-//FreeBSD//ENTITIES DocBook ArtHeader Entities//FR"> %artheader;
+<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//FR"> %translators;
+
+<!ENTITY % authors SYSTEM "../../../en_US.ISO_8859-1/books/handbook/authors.ent"> %authors;
+<!ENTITY % mailing-lists SYSTEM "../../books/handbook/mailing-lists.ent"> %mailing-lists;
+ <!ENTITY rel.current CDATA "3.2">
+]>
+
+<article lang="fr">
+<artheader>
+<title>P&eacute;dants Principes PPP</title>
+&artheader.copyright;
+<abstract>
+&abstract.license;
+&abstract.disclaimer;
+&trans.a.haby;
+</abstract>
+</artheader>
+<sect1>
+<title>Introduction</title>
+<para>Le protocole de connexion PPP en mode utilisateur de la version 2.2 de
+FreeBSD (appel&eacute; aussi &ldquo;IIJ-PPP&rdquo;) supporte maintenant
+la r&eacute;&eacute;criture de paquets pour les connexions &agrave; l'Internet. Cette possibilit&eacute;,
+connue aussi sous le nom de &ldquo;Mascarade (Masquerading)&rdquo;,
+&ldquo;Alias IP (IP Aliasing)&rdquo;, ou &ldquo;Traduction d'Adresse
+R&eacute;seau (Network Adresse Translation)&rdquo;, permet &agrave; un syst&egrave;me FreeBSD
+d'interagir comme routeur de connexion &agrave; la demande entre un r&eacute;seau local
+et un fournisseur d'acc&egrave;s &agrave; Internet. Les machines du r&eacute;seau local peuvent
+utiliser l'unique connexion de la machine FreeBSD &agrave; l'Internet pour &eacute;changer
+des informations avec ce dernier.</para>
+<sect2>
+<title>But de ce document</title>
+<para>Ce document<footnote><para>N.d.T: Si vous souhaitez consulter le document
+original en langue anglaise, il se trouve sur
+<ulink url="http://www.FreeBSD.org/tutorials/ppp/ppp.html">http://www.FreeBSD.org/ppp/ppp.html</ulink>.</para></footnote>
+vous explique comment:</para>
+<itemizedlist>
+<listitem><para>Configurer le syst&egrave;me FreeBSD pour permettre les connexions
+vers l'ext&eacute;rieur,</para></listitem>
+<listitem><para>Partager une seule connexion vers l'ext&eacute;rieur avec les autres
+machines du r&eacute;seau,</para></listitem>
+<listitem><para>Configurer les machines Windows pour utiliser la machine
+FreeBSD comme passerelle vers l'Internet.</para></listitem>
+</itemizedlist>
+<para>Bien que l'objectif de ce document soit avant tout d'expliquer comment
+configurer la traduction d'adresses IP, il fournit aussi des exemples
+d'installation et de configuration des autres composants. Chaque section
+est ind&eacute;pendante et peut &ecirc;tre utilis&eacute;e pour configurer divers aspects d'une
+passerelle FreeBSD entre plusieurs r&eacute;seaux.</para>
+</sect2>
+</sect1>
+<sect1 id="sect2">
+<title>Mise en oeuvre du r&eacute;seau local</title>
+<para>Bien que le programme <command>ppp</command> puisse, et soit g&eacute;n&eacute;ralement
+utilis&eacute; pour fournir des services &agrave; la <emphasis>seule</emphasis> machine
+FreeBSD, il peut aussi servir &agrave; en faire une &ldquo;passerelle&rdquo; ou
+&ldquo;routeur&rdquo; entre les autres dispositifs reli&eacute;s au r&eacute;seau local
+et l'Internet ou tout autre service connect&eacute;.</para>
+<sect2>
+<title>Topologie classique du r&eacute;seau</title>
+<para>Ce document s'applique &agrave; un r&eacute;seau local dont la
+topologie est&nbsp;-&nbsp;classiquement&nbsp;-&nbsp;la suivante:</para>
+<programlisting>
+
++=========+ =======> Connexion &agrave; Internet ( Wanadoo, AOL, etc. )
+| | \
+| FreeBSD |=======
+| "Curly" |
+| |
++====+====+
+ |
+|=================+============+====| <== R&eacute;seau Local Ethernet
+ | | |
++====+====+ +====+====+ +====+====+
+| | | | | |
+| Win95 | | WFW | | WinNT |
+| "Larry" | | "Moe" | | "Shemp" |
+| | | | | |
++=========+ +=========+ +=========+
+
+</programlisting>
+</sect2>
+<sect2>
+<title>Hypoth&egrave;ses sur le r&eacute;seau local</title>
+<para>Pour les besoins de notre exemple, nous supposerons que :</para>
+<para>Il y a trois stations et un serveur reli&eacute;s par le r&eacute;seau Ethernet
+local:</para>
+<itemizedlist>
+<listitem><para>un serveur FreeBSD (&ldquo;Curly&rdquo;) avec un contr&ocirc;leur
+Ethernet NE-2000 configur&eacute; sur &ldquo;ed0&rdquo;,</para></listitem>
+<listitem><para>une station de travail Windows 95 (&ldquo;Larry&rdquo;) avec
+les pilotes TCP/IP 32-bits natifs de Microsoft,</para></listitem>
+<listitem><para>une station de travail Windows for Workgroups
+(&ldquo;Larry&rdquo;) avec les extension TCP/IP 16-bits de
+Microsoft,</para></listitem>
+<listitem><para>une station de travail Windows NT (&ldquo;Larry&rdquo;) avec
+les pilotes TCP/IP 32-bits natifs de Microsoft.</para></listitem>
+</itemizedlist>
+<para>Les adresses IP du r&eacute;seau Ethernet sur lequel se base notre exemple
+ont &eacute;t&eacute; attribu&eacute;es dans l'espace d'adresses priv&eacute;es d&eacute;fini par la RFC-1597,
+comme suit:</para>
+<programlisting>
+Nom Adresse IP
+"Curly" 192.168.1.1 # La machine FreeBSD
+"Larry" 192.168.1.2 # La machine Windows 95
+"Moe" 192.168.1.3 # La machine Windows for Workgroups
+"Shemp" 192.168.1.4 # La machine Windows NT
+</programlisting>
+<para>Nous supposerons aussi que le modem est connect&eacute; sur le premier port s&eacute;rie
+(<filename>/dev/cuaa0</filename> ou <filename>COM1:</filename> selon la
+terminologie DOS) de la machine FreeBSD.</para>
+<para>Enfin, nous supposerons que notre fournisseur d'acc&egrave;s Internet nous
+fournit automatiquement les adresses IP des deux extr&eacute;mit&eacute;s de la liaison PPP
+(point &agrave; point) : celle de notre machine FreeBSD et celle de la machine du c&ocirc;t&eacute;
+du fournisseur (adressage dynamique). Les d&eacute;tails de configuration de la
+connexion de la machine FreeBSD &agrave; l'ext&eacute;rieur sont donn&eacute;s au chapitre
+<link linkend="chap3">Configuration du syst&egrave;me FreeBSD</link>.</para>
+</sect2>
+</sect1>
+<sect1 id="chap3">
+<title>Configuration du syst&egrave;me FreeBSD</title>
+<para>Il y a trois informations &agrave; fournir au syst&egrave;me FreeBSD avant de le relier
+au r&eacute;seau local de notre exemple:</para>
+<itemizedlist>
+<listitem><para>Son nom de machine (<filename>hostname</filename>),
+&ldquo;Curly&rdquo; dans notre exemple,</para></listitem>
+<listitem><para>La configuration de son interface r&eacute;seau,</para></listitem>
+<listitem><para>Le fichier <filename>/etc/hosts</filename> (qui liste les noms
+et les adresses IP des autres machines du r&eacute;seau).</para></listitem>
+</itemizedlist>
+<para>Si vous avez install&eacute; FreeBSD via une connexion r&eacute;seau, il
+est possible que certaines de ces informations soient d&eacute;j&agrave; d&eacute;finies.</para>
+<para>M&ecirc;me si vous pensez que votre syst&egrave;me FreeBSD a d&eacute;j&agrave; &eacute;t&eacute; correctement
+configur&eacute; au moment de l'installation, il vous mieux vous assurer de la
+validit&eacute; de chacune de ces informations pour vous &eacute;viter des ennuis par la
+suite.</para>
+<sect2 id="sect31">
+<title>Contr&ocirc;ler le nom de la machine FreeBSD</title>
+<para>Il est possible que le nom de la machine FreeBSD ait &eacute;t&eacute; d&eacute;fini et
+enregistr&eacute; lors de l'installation du syst&egrave;me. Pour le v&eacute;rifier, entrez,
+&agrave; l'invite du syst&egrave;me, la commande suivante:</para>
+<para>
+<userinput>
+<prompt>#</prompt> hostname
+</userinput>
+</para>
+<para>Le nom de la machine FreeBSD sera affich&eacute; sur une seule ligne. Si ce nom
+para&icirc;t correct (c'est tr&egrave;s subjectif :-), vous pouvez passer au paragraphe
+<link linkend="sect32">Contr&ocirc;ler la configuration de l'interface Ethernet</link>.</para>
+<para>Dans notre exemple, le r&eacute;sultat de la commande <command>hostname</command>
+devrait &ecirc;tre &ldquo;curly.my.domain&rdquo; si le nom de la machine a &eacute;t&eacute;
+correctement d&eacute;fini &agrave; l'installation, ou ensuite. (A ce stade, ne vous
+pr&eacute;occupez pas du suffixe &ldquo;.my.domain&rdquo;, nous verrons cela par la
+suite. Ce qui compte maintenant est le nom qui pr&eacute;c&egrave;de le premier
+&ldquo;.&rdquo;)</para>
+<para>Si le nom de machine n'a pas &eacute;t&eacute; d&eacute;fini &agrave; l'installation, la r&eacute;ponse de
+<command>hostname</command> sera probablement &ldquo;myname.my.domain&rdquo;.
+Vous devez alors &eacute;diter le fichier <filename>/etc/rc.conf</filename> pour
+d&eacute;finir le nom du syst&egrave;me.</para>
+<sect3>
+<title>D&eacute;finir le nom de la machine FreeBSD</title>
+<note>
+<para>Vous devez &ecirc;tre en session sous &ldquo;root&rdquo; pour &eacute;diter les
+fichiers de configuration du syst&egrave;me.</para>
+</note>
+<note>
+<para>Si vous introduisez des erreurs dans les fichiers de configuration, il y
+a de fortes chances que votre syst&egrave;me <emphasis>ne red&eacute;marre</emphasis> pas
+correctement! Soyez prudents !</para>
+</note>
+<para>Le nom de machine du syst&egrave;me FreeBSD est d&eacute;fini au d&eacute;marrage par le
+fichier <filename>/etc/rc.conf</filename>. Utilisez l'&eacute;diteur par d&eacute;faut
+(&ldquo;ee&rdquo;) pour &eacute;diter ce fichier.</para>
+<para>Sous une session &ldquo;root&rdquo;, visualisez le fichier dans l'&eacute;diteur
+avec la commande:</para>
+<para>
+<userinput>
+<prompt>#</prompt> ee /etc/rc.conf
+</userinput>
+</para>
+<para>Avec les touches fl&egrave;ches, allez jusqu'&agrave; la ligne qui d&eacute;finit le nom de
+machine du syst&egrave;me FreeBSD. Par d&eacute;faut, vous y trouvez:</para>
+<literallayout>
+---
+### Basic network options: ###
+hostname="myname.my.domain" # Set this !
+---
+</literallayout>
+<para>Remplacez ces lignes, par exemple, par:</para>
+<literallayout>
+---
+### Basic network options: ###
+hostname="curly.my.domain" # Set this !
+---
+</literallayout>
+<para>Une fois la modification faite, appuyez sur la touche
+<keycap>Echap</keycap> pour aller dans le menu de commandes de
+l'&eacute;diteur. Choisissez
+&ldquo;leave editor&rdquo; (quitter l'&eacute;diteur) et s&eacute;lectionnez bien l'option
+&ldquo;save changes&rdquo; (enregistrer les modifications) quand la question
+vous est pos&eacute;e.</para>
+</sect3>
+</sect2>
+<sect2 id="sect32">
+<title>Contr&ocirc;ler la configuration de l'interface Ethernet</title>
+<para>Rappelons nos hypoth&egrave;ses : l'interface Ethernet de la machine s'appelle
+&ldquo;ed0&rdquo;. C'est la valeur par d&eacute;faut pour les contr&ocirc;leurs NE-1000,
+NE-2000, WD/SMC mod&egrave;les 8003, 8013 et Elite Ultra (8216).</para>
+<para>Les fichiers d'interface d'autres mod&egrave;les de contr&ocirc;leurs peuvent
+avoir d'autres noms sous FreeBSD. Si vous n'&ecirc;tes pas certain du nom
+correspondant &agrave; votre contr&ocirc;leur, consultez les Questions Fr&eacute;quemment Pos&eacute;es
+&agrave; propos de
+FreeBSD (&ldquo;FAQ&rdquo;) et substituez la bonne valeur dans les exemples
+qui suivent.</para>
+<para>De la m&ecirc;me fa&ccedil;on que pour le nom de la machine, l'interface Ethernet du
+syst&egrave;me FreeBSD a peut-&ecirc;tre &eacute;t&eacute; configur&eacute;e &agrave; l'installation.</para>
+<para>Pour consulter la configuration des interfaces (Ethernet et autres) de
+votre syst&egrave;me FreeBSD), utilisez la commande suivante:</para>
+<screen>
+<prompt>#</prompt> <userinput>ifconfig -a</userinput>
+</screen>
+<para>Soit en clair: "Donnes-moi la CONFIGuration des InterFaces de mes
+p&eacute;riph&eacute;riques r&eacute;seau."</para>
+<para>Par exemple:</para>
+<screen>
+<prompt>#</prompt> <userinput>ifconfig -a</userinput>
+ed0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
+inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
+ether 01:02:03:04:05:06
+lp0: flags=8810&lt;POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
+tun0: flags=8050&lt;POINTOPOINT,RUNNING, MULTICAST> mtu 1500
+l0: flags=c010&lt;OINTOPOINT,LINK2,MULTICAST> mtu 552
+ppp0: flags=8010&lt;POINTOPOINT,MULTICAST> mtu 1500
+lo0: flags=8049&lt;UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
+inet 127.0.0.1 netmask 0xff000000
+<prompt>#</prompt>
+</screen>
+<para>Sur cet exemple, les p&eacute;riph&eacute;riques suivants sont reconnus :</para>
+<itemizedlist>
+<listitem><para><filename>ed0</filename>: l'interface
+Ethernet,</para></listitem>
+<listitem><para><filename>lp0</filename>: l'interface parall&egrave;le
+(que nous n'utiliserons pas ici),</para></listitem>
+<listitem><para><filename>tun0</filename>: l'interface SLIP (IP sur ligne s&eacute;rie,
+que nous n'utiliserons pas ici),</para></listitem>
+<listitem><para><filename>ppp0</filename>: un autre interface PPP
+(pour le module <command>ppp</command> int&eacute;gr&eacute; au noyau, que n'utiliserons pas
+ici),</para></listitem>
+<listitem><para><filename>lp0</filename>: l'interface
+"en boucle"&nbsp;-&nbsp;"loopback"&nbsp;-&nbsp;que
+nous n'utiliserons pas non plus).</para></listitem>
+</itemizedlist>
+<para>Dans l'exemple, l'interface &ldquo;ed0&rdquo; est active
+(&ldquo;UP&rdquo;) et fonctionne (&ldquo;RUNNING&rdquo;). Les indications
+importantes sont:</para>
+<orderedlist>
+<listitem><para>L'interface est active (&ldquo;UP&rdquo;),</para></listitem>
+<listitem><para>Elle a une adresse Ethernet (&ldquo;inet&rdquo;), dans notre
+cas: 192.168.1.1,</para></listitem>
+<listitem><para>Elle a un masque de sous-r&eacute;seau (&ldquo;netmask&rdquo;;
+0xffffff00 qui &eacute;quivaut &agrave; 255.255.255.0) correct,</para></listitem>
+<listitem><para>Elle a une adresse de diffusion (&ldquo;broadcast&rdquo;;
+ici, 192.168.1.255) valide.</para></listitem>
+</orderedlist>
+<para>Si la ligne d&eacute;crivant l'interface Ethernet mentionne quelque chose
+comme:</para>
+<programlisting>
+ed0: flags=8802&lt;BROADCAST,SIMPLEX,MULTICAST> mtu 1500
+ether 01:02:03:04:05:06
+</programlisting>
+<para>c'est que cette interface n'est pas encore configur&eacute;e.</para>
+<para>Si l'interface Ethernet est d&eacute;j&agrave; configur&eacute;e, vous pouvez passer
+directement au paragraphe <link linkend="sect34">Renseigner la liste des
+autres machines du r&eacute;seau</link>.
+Sinon, continuez en s&eacute;quence.</para>
+<sect3>
+<title>Configurer votre interface Ethernet</title>
+<note>
+<para>Vous devez &ecirc;tre en session sous &ldquo;root&rdquo; pour &eacute;diter les
+fichiers de configuration du syst&egrave;me.</para>
+</note>
+<note>
+<para>Si vous introduisez des erreurs dans les fichiers de configuration, il y
+a de fortes chances que votre syst&egrave;me <emphasis>ne red&eacute;marre</emphasis> pas
+correctement! Soyez prudents !</para>
+</note>
+<para>Les param&egrave;tres de configuration des interfaces r&eacute;seau sont d&eacute;finis au
+d&eacute;marrage par le fichier <filename>/etc/rc.conf</filename>. Utilisez l'&eacute;diteur
+par d&eacute;faut (&ldquo;ee&rdquo;) pour &eacute;diter ce fichier.</para>
+<para>Sous une session &ldquo;root&rdquo;, visualisez le fichier dans l'&eacute;diteur
+avec la commande:</para>
+<para>
+<userinput>
+<prompt>#</prompt> ee /etc/rc.conf
+</userinput>
+</para>
+<para>Vers la vingti&egrave;me ligne environ du fichier, se trouve la section qui
+d&eacute;finit quelles interfaces r&eacute;seau doivent &ecirc;tre mises en service au
+d&eacute;marrage. Le fichier de configuration par d&eacute;faut contient la ligne :</para>
+<programlisting>
+network_interfaces="lo0" # List of network interfaces (lo0 is loopback)
+</programlisting>
+<para>que vous devrez modifier pour dire &agrave; FreeBSD que vous voulez ajouter un
+autre p&eacute;riph&eacute;rique, en l'occurence l'interface &ldquo;ed0&rdquo;, en:</para>
+<programlisting>
+network_interfaces="lo0 ed0" # List of network interfaces (lo0 is loopback)
+</programlisting>
+<para>(Faites attention &agrave; l'espace entre la d&eacute;finition de l'interface en boucle
+&ldquo;lo0&rdquo; et l'interface Ethernet &ldquo;ed0&rdquo;.)</para>
+<note>
+<para>Si le nom correspondant &agrave; votre interface n'est pas &ldquo;ed0&rdquo;,n'oubliez pas de mettre la valeur ad&eacute;quate &agrave; la place.</para>
+</note>
+<para>Si vous avez install&eacute; FreeBSD via une connexion r&eacute;seau, la ligne
+&ldquo;<filename>network_interfaces</filename>&rdquo; comporte peut-&ecirc;tre
+d&eacute;j&agrave; un r&eacute;f&eacute;rence &agrave; votre carte Ethernet. Dans ce cas, assurez vous que son nom
+soit correct.</para>
+<para>Les lignes qui suivent celles o&ugrave; sont list&eacute;es les interfaces &agrave; mettre en
+service d&eacute;crivent les param&egrave;tres de chacune de ces interfaces. Dans le fichier
+<filename>/etc/rc.conf</filename> par d&eacute;faut, il n'y a qu'un seule ligne qui
+dit:</para>
+<programlisting>
+ifconfig_lo0="inet 127.0.0.1" # default loopback device configuration
+</programlisting>
+<para>Vous devrez ajouter une ligne qui d&eacute;finisse les caract&eacute;ristiques de
+votre interface &ldquo;ed0&rdquo;.</para>
+<para>Si vous avez install&eacute; FreeBSD via une connexion r&eacute;seau, la ligne
+&ldquo;<filename>ifconfig_ed0=</filename>&rdquo; existe peut-&ecirc;tre
+d&eacute;j&agrave;. V&eacute;rifiez alors qu'elle contienne bien les bonnes valeurs.</para>
+<para>En nous r&eacute;f&eacute;rant &agrave; notre exemple, nous ins&eacute;rerons la ligne suivante,
+imm&eacute;diatement apr&egrave;s la d&eacute;finition de l'interface
+&ldquo;en boucle&rdquo;:</para>
+<programlisting>
+ifconfig_ed0="inet 192.168.1.1 netmask 255.255.255.0"
+</programlisting>
+<para>Apr&egrave;s modification, cette section du fichier
+<filename>/etc/rc.conf</filename> doit ressembler &agrave;:</para>
+<programlisting>
+---
+network_interfaces="lo0 ed0" # List of network interfaces (lo0 is loopback)
+ifconfig_lo0="inet 127.0.0.1" # default loopback device configuration
+ifconfig_ed0="inet 192.168.1.1 netmask 255.255.255.0"
+---
+</programlisting>
+<para>Un fois que vous avez fait toutes les modifications n&eacute;cessaires,
+appuyez sur la touche
+<keycap>Echap</keycap> pour aller dans le menu de commandes de
+l'&eacute;diteur. Choisissez
+&ldquo;leave editor&rdquo; (quitter l'&eacute;diteur) et s&eacute;lectionnez bien l'option
+&ldquo;save changes&rdquo; (enregistrer les modifications) quand la question
+vous est pos&eacute;e.</para>
+</sect3>
+</sect2>
+<sect2 id="sect33">
+<title>Autoriser la transmission de paquets</title>
+<para>Par d&eacute;faut, FreeBSD n'active pas le transmission de paquets
+entre les diff&eacute;rentes interfaces r&eacute;seau d'une machine. En d'autres
+termes, les fonctions de routage (aussi appel&eacute;es de passerelle)
+ne sont pas disponibles.</para>
+<para>Si vous voulez utiliser le programme <command>ppp</command>
+comme poste Internet autonome et non comme passerelle entre le
+r&eacute;seau local et votre fournisseur d'acc&egrave;s &agrave; Internet, vous pouvez
+passer directement au paragraphe
+<link linkend="sect34">Renseigner la liste des autres machines du r&eacute;seau</link>.</para>
+<para>Si vous voulez utiliser le programme <command>ppp</command>
+pour connecter &agrave; la fois votre machine FreeBSD (pour servir de
+routeur) et les autres postes du r&eacute;seau local, vous devez autoriser
+la transmission de paquets IP.</para>
+<para>Pour cela, vous devez &eacute;diter le fichier
+<filename>/etc/rc.conf</filename>. Visualisez le fichier dans l'&eacute;diteur
+avec la commande:</para>
+<para>
+<userinput>
+<prompt>#</prompt> ee /etc/rc.conf
+</userinput>
+</para>
+<para>Vers la quatre-vingt-cinqui&egrave;me ligne environ, vous trouverez la section
+qui contr&ocirc;le la transmission de paquets. Elle ressemblera a ceci:</para>
+<literallayout>
+---
+gateway_enable="NO" # Set to YES if the host will be a gateway
+---
+</literallayout>
+<para>Modifiez-la en:</para>
+<para>
+<literallayout>
+---
+gateway_enable="YES" # Set to YES if the host will be a gateway
+---
+</literallayout>
+</para>
+<para>et quittez l'&eacute;diteur (en enregistrant vos modifications!).</para>
+<note>
+<para>Cette ligne contient peut-&ecirc;tre d&eacute;j&agrave;
+<command>gateway_enable="YES"</command>
+si la transmission de paquets IP a &eacute;t&eacute; autoris&eacute;e au moment de l'installation
+du syst&egrave;me FreeBSD.</para>
+</note>
+</sect2>
+<sect2 id="sect34">
+<title>Renseigner la liste des autres machines du r&eacute;seau
+(<filename>/etc/hosts</filename>)</title>
+<para>La derni&egrave;re &eacute;tape de la configuration du r&eacute;seau local vu de la machine
+FreeBSD consiste &agrave; cr&eacute;er la liste des noms et des adresses TCP/IP des
+diff&eacute;rentes machines raccord&eacute;es au r&eacute;seau local. Cette liste est d&eacute;finie dans le
+fichier <filename>/etc/hosts</filename>.</para>
+<para>Par d&eacute;faut, ce fichier ne contient qu'une ligne: le nom et l'adresse
+de l'interface &ldquo;en boucle&rdquo;. Par convention, ce nom est toujours
+&ldquo;localhost&rdquo; et son adresse 127.0.0.1. (Reportez-vous &agrave; l'exemple
+de configuration des interfaces au paragraphe
+<link linkend="sect32">Contr&ocirc;ler la configuration de l'interface Ethernet</link>.)</para>
+<para>Pour &eacute;diter le fichier <filename>/etc/hosts</filename>, tapez la
+commande:</para>
+<para>
+<userinput>
+<prompt>#</prompt> ee /etc/hosts
+</userinput>
+</para>
+<para>Allez jusqu'&agrave; la fin du fichier (en lisant au passage les commentaires,
+ce sont des informations utiles!) et ajoutez (toujours dans le cas du
+r&eacute;seau de notre exemple) les noms et les adresses IP suivantes:</para>
+<programlisting>
+192.168.1.1 curly curly.my.domain # machine FreeBSD
+192.168.1.2 larry larry.my.domain # machine Windows 95
+192.168.1.3 moe moe.my.domain # machine Windows for Workgroups
+192.168.1.4 shemp shemp.my.domain # machine Windows NT
+</programlisting>
+<para>(Vous ne devez pas modifier la ligne
+&ldquo;<command>127.0.0.1 localhost</command>&rdquo;.)</para>
+<para>Une fois que vous avez ajout&eacute; ces lignes, appuyez sur la touche
+<keycap>Echap</keycap> pour aller dans le menu de commandes de
+l'&eacute;diteur. Choisissez
+&ldquo;leave editor&rdquo; (quitter l'&eacute;diteur) et s&eacute;lectionnez bien l'option
+&ldquo;save changes&rdquo; (enregistrer les modifications) quand la question
+vous est pos&eacute;e.</para>
+</sect2>
+<sect2 id="sect35">
+<title>Tester le syst&egrave;me FreeBSD</title>
+<para>F&eacute;licitations! Une fois que vous en &ecirc;tes arriv&eacute; l&agrave;, votre machine
+FreeBSD est maintenant une machine UNIX connect&eacute;e au r&eacute;seau! Si vous avez
+d&ucirc; modifier votre fichier <filename>/etc/rc.conf</filename>, il faut
+red&eacute;marrer votre machine FreeBSD. Cela va faire deux choses importantes:</para>
+<itemizedlist>
+<listitem><para>Appliquer les modifications de configuration des interfaces,
+et:</para></listitem>
+<listitem><para>V&eacute;rifier que le syst&egrave;me red&eacute;marre sans erreur de configuration
+flagrante.</para></listitem>
+</itemizedlist>
+<sect3>
+<title>V&eacute;rifier le bon fonctionnement de l'interface
+&ldquo;en boucle&rdquo;</title>
+<para>Pour v&eacute;rifier que l'interface &ldquo;en boucle&rdquo; est correctement
+configur&eacute;e, ouvrez une session sous &ldquo;root&rdquo; et tapez:</para>
+<para>
+<userinput><prompt>#</prompt> ping localhost</userinput>
+</para>
+<para>Vous devriez voir d&eacute;filer des messages du type:</para>
+<para>
+<userinput><prompt>#</prompt> ping localhost</userinput>
+<programlisting>
+PING localhost.my.domain. (127.0.0.1): 56 bytes
+64 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=0.219 ms
+64 bytes from 127.0.0.1: icmp_seq=1 ttl=255 time=0.200 ms
+64 bytes from 127.0.0.1: icmp_seq=2 ttl=255 time=0.187 ms
+[...]
+</programlisting>
+</para>
+<para>jusqu'&agrave; ce que vous tapiez
+<keycombo><keycap>Ctrl</keycap><keycap>C</keycap></keycombo>
+pour arr&ecirc;ter ce d&eacute;lire.</para>
+</sect3>
+<sect3>
+<title>V&eacute;rifier le bon fonctionnement de l'interface Ethernet</title>
+<para>Pour v&eacute;rifier que l'interface Ethernet est correctement
+configur&eacute;e, tapez:</para>
+<para>
+<userinput><prompt>#</prompt> ping curly</userinput>
+</para>
+<para>Vous devriez voir:</para>
+<para>
+<userinput><prompt>#</prompt> ping curly</userinput>
+<programlisting>
+PING curly.my.domain. (192.168.1.1): 56 bytes
+64 bytes from 192.168.1.1: icmp_seq=0 ttl=255 time=0.219 ms
+64 bytes from 192.168.1.1: icmp_seq=1 ttl=255 time=0.200 ms
+64 bytes from 192.168.1.1: icmp_seq=2 ttl=255 time=0.187 ms
+[...]
+</programlisting>
+</para>
+<para>L'information importante dans ces deux exemples est que les noms
+(&ldquo;localhost&rdquo; et &ldquo;curly&rdquo;) correspondent bien
+&agrave; leurs adresses IP (127.0.0.1 et 192.168.1.1). Cela confirme que le fichier
+<filename>/etc/hosts</filename> est correct.</para>
+<para>Si les noms et les adresses appara&icirc;ssent correctement dans les r&eacute;sultats
+de la commande <command>ping</command> mais que des messages d'erreur sont
+affich&eacute;s, quelque chose ne va pas dans la configuration des interfaces.
+Retournez au paragraphe <link linkend="sect31">Contr&ocirc;ler le nom de la machine FreeBSD</link> et
+v&eacute;rifiez de nouveau votre configuration.</para>
+<para>Si maintenant, tout va bien, passez &agrave; la section suivante.</para>
+</sect3>
+</sect2>
+</sect1>
+<sect1>
+<title>Configurer la liaison PPP vers l'ext&eacute;rieur</title>
+<para>Il y a deux fa&ccedil;ons d'utiliser le programme <command>ppp</command>: en
+mode &ldquo;Interactif&rdquo; et en mode &ldquo;Automatique&rdquo;.</para>
+<para>En mode Interactif, vous:</para>
+<itemizedlist>
+<listitem>
+<para>Etablissez manuellement la connexion avec votre fournisseur d'acc&egrave;s
+Internet,</para>
+</listitem>
+<listitem>
+<para>Surfez, transf&eacute;rez des fichiers et envoyez du courrier
+&eacute;lectronique, etc.</para>
+</listitem>
+<listitem>
+<para>Coupez manuellement la connexion avec votre fournisseur d'acc&egrave;s
+Internet.</para>
+</listitem>
+</itemizedlist>
+<para>En mode Automatique, le programme <command>ppp</command> surveille
+silencieusement les op&eacute;rations du syst&egrave;me FreeBSD et se connecte et se
+d&eacute;connecte automagiquement &agrave; votre fournisseur d'acc&egrave;s selon le besoin,
+int&eacute;grant de fa&ccedil;on transparente l'Internet &agrave; votre r&eacute;seau.</para>
+<sect2>
+<title>Sauvegarder vos fichiers de configuration <command>ppp</command>
+d'origine</title>
+<para>Avant de modifier les fichiers qu'utilise <command>ppp</command>, il
+est bon de sauvegarder les fichiers par d&eacute;faut cr&eacute;&eacute;s &agrave; l'installation de
+FreeBSD.</para>
+<para>Ouvrez une session sous le compte &ldquo;root&rdquo;, et suivez la
+proc&eacute;dure ci-dessous:</para>
+<para>Allez dans le r&eacute;pertoire <filename>/etc</filename>:</para>
+<para>
+<userinput>
+<prompt>#</prompt> cd etc
+</userinput>
+</para>
+<para>Faites un copie des fichiers d'origine du r&eacute;pertoire
+<filename>ppp</filename>:</para>
+<para>
+<userinput>
+<prompt>#</prompt> cp -R ppp ppp.ORIGINAL
+</userinput>
+</para>
+<para>Vous devriez maintenant avoir un r&eacute;pertoire <filename>ppp</filename>
+et un r&eacute;pertoire <filename>ppp.ORIGINAL</filename> dans le r&eacute;pertoire
+<filename>etc</filename>.</para>
+</sect2>
+<sect2>
+<title>Cr&eacute;er vos propres fichiers de configuration de
+<command>ppp</command></title>
+<para>Par d&eacute;faut, la proc&eacute;dure d'installation de FreeBSD cr&eacute;e un certain
+nombre de fichiers d'exemple dans le r&eacute;pertoire <filename>/etc/ppp</filename>.
+Prenez un peu de temps pour parcourir ces fichiers. Ce sont des exemples
+emprunt&eacute;s &agrave; des syst&egrave;mes qui fonctionnent et ils illustrent les diff&eacute;rentes
+possibilit&eacute;s du programme <command>ppp</command>.</para>
+<para>Je vous encourage <emphasis>fortement</emphasis> &agrave; &eacute;tudier ces exemples
+et &agrave; les adapter &agrave; votre configuration.</para>
+<para>Pour plus d'informations sur le programme <command>ppp</command>, lisez
+les pages de manuel:</para>
+<para>
+<userinput>
+<prompt>#</prompt> man ppp
+</userinput>
+</para>
+<para>Pour plus d'informations sur le langage <command>chat</command>, utilis&eacute;
+par <command>ppp</command> pour &eacute;tablir la connexion, lisez les pages de
+manuel:</para>
+<para>
+<userinput>
+<prompt>#</prompt> man chat
+</userinput>
+</para>
+<para>La suite de ce chapitre d&eacute;crit le contenu recommand&eacute; des fichiers
+de configurations de <command>ppp</command>.</para>
+<sect3>
+<title>Le fichier <filename>/etc/ppp/ppp.conf</filename></title>
+<para>Le fichier <filename>/etc/ppp/ppp.conf</filename> contient les
+informations et les param&egrave;tres n&eacute;cessaires pour &eacute;tablir une connexion
+vers l'ext&eacute;rieur. Le
+<ulink url="&url.handbook;index.html">Manuel
+FreeBSD</ulink> d&eacute;crit en d&eacute;tail le contenu et la syntaxe de ce fichier.</para>
+<para>N'est d&eacute;crite ici que la configuration minimale n&eacute;cessaire pour arriver
+&agrave; &eacute;tablir une connexion.</para>
+<para>Voici le fichier <filename>/etc/ppp/ppp.conf</filename> que nous
+utiliserons sur notre passerelle entre le r&eacute;seau local et l'Internet:</para>
+<para>
+<programlisting>
+####################################################################
+# Fichier de Configuration de PPP ('/etc/ppp/ppp.conf')
+#
+# Param&egrave;tres par d&eacute;faut: Ces commandes sont toujours ex&eacute;cut&eacute;es
+# quand PPP est appel&eacute; et s'appliquent &agrave; toutes les configurations
+####################################################################
+default:
+set device /dev/cuaa0
+set speed 57600
+disable pred1
+deny pred1
+disable lqr
+deny lqr
+set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATE1Q0M0
+OK-AT-OK\\dATDT\\T TIMEOUT 40 CONNECT"
+set redial 3 10
+#
+#
+####################################################################
+#
+# Configuration utilis&eacute;e en mode interactif :
+#
+# appel&eacute;e par: `ppp -alias interactive`
+#
+####################################################################
+interactive:
+set authname Your_User_ID_On_Remote_System
+set authkey Your_Password_On_Remote_System
+set phone 1-800-123-4567
+set timeout 300
+set openmode active
+accept chap
+#
+####################################################################
+#
+# Configuration utilis&eacute;e en mode &agrave; la demande ( automatique)
+#
+# appel&eacute;e par: 'ppp -auto -alias demand'
+#
+####################################################################
+demand:
+set authname Your_User_ID_On_Remote_System
+set authkey Your_Password_On_Remote_System
+set phone 1-800-123-4567
+set timeout 300
+set openmode active
+accept chap
+set ifaddr 127.1.1.1/0 127.2.2.2/0 255.255.255.0
+add 0 0 127.2.2.2
+################################################################
+# Fin de /etc/ppp/ppp.conf
+</programlisting>
+</para>
+<para>Ce fichier, recopi&eacute; tel quel d'un syst&egrave;me op&eacute;rationnel, comporte trois
+parties:</para>
+<sect4>
+<title>La section &ldquo;default&rdquo;</title>
+<para> La section &ldquo;default:&rdquo; contient les informations et
+param&egrave;tres utilis&eacute;s par toutes les autres sections du fichier. Cette section
+est donc implicitement ajout&eacute;e &agrave; toutes les autres.</para>
+<para>C'est l'endroit id&eacute;al pour d&eacute;finir les valeurs par d&eacute;faut qui s'appliquent
+&agrave; toutes les connexions vers l'ext&eacute;rieur; en particulier, la configuration
+du modem et le dialogue d'initialisation de la connexion, qui ne changent
+pas, quel que soit le syst&egrave;me distant auquel vous vous connectez.</para>
+<para>Voici le d&eacute;tail de chacune des lignes de la section
+&ldquo;default:&rdquo; du fichier
+<filename>/etc/ppp/ppp.conf</filename>:</para>
+<para>
+<programlisting>
+set device /dev/cuaa0
+</programlisting>
+</para>
+<para>Cette instruction dit au programme <command>ppp</command> d'utiliser le
+premier port s&eacute;rie. Sous FreeBSD, le p&eacute;riph&eacute;rique &ldquo;/dev/cuaa0&rdquo;
+correspond au port appel&eacute; &ldquo;COM1:&rdquo; de DOS, Windows, Windows 95,
+etc.</para>
+<para>Si votre modem est sur le port &ldquo;COM2&rdquo;: vous devrez mettre
+&ldquo;/dev/cuaa1&rdquo;. &ldquo;/dev/cuaa2&rdquo; serait le port
+&ldquo;COM3:&rdquo;.</para>
+<para>
+<programlisting>
+set speed 57600
+</programlisting>
+</para>
+<para>Cette ligne indique au programme <command>ppp</command> la vitesse
+en &eacute;mission et en r&eacute;ception entre le port s&eacute;rie et le modem. Bien que le modem
+de notre configuration fonctionne &agrave; 28.8 Kbps, donner la valeur 56000 permet
+&agrave; la liaison s&eacute;rie de fonctionner suffisamment vite pour g&eacute;rer la compression de
+donn&eacute;es int&eacute;gr&eacute;e aux modems les plus r&eacute;cents.</para>
+<para>Si vous avez des probl&egrave;mes pour dialoguer avec votre modem &agrave; cette
+vitesse, descendez &agrave; une valeur inf&eacute;rieure: 38400, voir aussi faible que
+19200.</para>
+<para>
+<programlisting>
+disable pred1
+deny pred1
+</programlisting>
+</para>
+<para>Ces deux lignes d&eacute;sactivent la compression &ldquo;CCP/Predictor 1&rdquo;
+dont est capable le programme <command>ppp</command>. La version actuelle
+de <command>ppp</command> supporte la compression de donn&eacute;es selon la
+d&eacute;finition provisoire des standards Internet. Malheureusement, de nombreux
+fournisseurs d'acc&egrave;s ont des &eacute;quipements qui n'offrent pas cette possibilit&eacute;.
+Comme la plupart des modems r&eacute;cents sont capables de compression &agrave; la vol&eacute;e,
+vous ne perdrez probablement pas grand-chose en termes de performances en
+d&eacute;sactivant cette possibilit&eacute; sur votre machine FreeBSD et en interdisant
+au site distant de vous la r&eacute;clamer.</para>
+<para>
+<programlisting>
+disable lqr
+deny lqr
+</programlisting>
+</para>
+<para>Ces deux lignes contr&ocirc;lent l'&ldquo;audit de la qualit&eacute; de la
+liaison (Link Quality Reporting)&rdquo; qui est partie int&eacute;grante des
+sp&eacute;cifications du protocole PPP.
+(Voyez la RFC-1989 pour plus de d&eacute;tails.)</para>
+<para>La premi&egrave;re ligne, &ldquo;disable lqr&rdquo; instruit le programme
+<command>ppp</command> de ne pas &eacute;mettre de demandes de contr&ocirc;le de la
+qualit&eacute; de la liaison &agrave; la machine distante.</para>
+<para>La seconde ligne, &ldquo;deny lqr&rdquo; instruit le progamme
+<command>ppp</command> de ne pas accepter de demandes de contr&ocirc;le de la
+qualit&eacute; de la liaison de la machine distante.</para>
+<para>Comme la plupart des modems ont des proc&eacute;dures int&eacute;gr&eacute;es de d&eacute;tection et
+de correction d'erreur et que l'audit LQR est rarement int&eacute;gralement
+impl&eacute;ment&eacute;e par les constructeurs, il vaut en g&eacute;n&eacute;ral mieux ne pas utiliser
+cette possibilit&eacute;.</para>
+<para>
+<programlisting>
+set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATE1Q0M0 OK-AT-OK\\dATADT\\T TIMEOUT 40 CONNECT"
+</programlisting>
+</para>
+<note>
+<para>(Cette instruction doit &ecirc;tre &eacute;crite sur une seule ligne; ne tenez
+pas compte du formatage sur deux lignes, si elle se pr&eacute;sente ainsi dans ce
+document.)</para>
+</note>
+<para>Cette ligne d&eacute;crit le dialogue entre le programme <command>ppp</command>
+et le modem qui doit permettre d'&eacute;tablir la connexion et fournit des
+instructions rudimentaires sur la marche &agrave; suivre:</para>
+<itemizedlist>
+<listitem>
+<para>Une tentative d'appel &eacute;choue si le modem renvoie le code d'erreur
+&ldquo;BUSY (occup&eacute;)&rdquo;,</para>
+<para>Une tentative d'appel &eacute;choue aussi si le modem renvoie le code d'erreur
+&ldquo;NO CARRIER (pas de porteuse),&rdquo;,</para>
+<para>Le programme <command>ppp</command> doit constater, avec
+un d&eacute;lai maximum de cinq secondes entre chaque &eacute;v&eacute;nement, la s&eacute;quence
+d'&eacute;v&eacute;nements suivants:</para>
+</listitem>
+<listitem>
+<itemizedlist>
+<listitem>
+<para>Initialement, le programme <command>ppp</command> n'attend pas de
+r&eacute;ponse du modem (c'est le sens de la cha&icirc;ne <literal>\"\"</literal> dans
+l'instruction),</para>
+</listitem>
+<listitem>
+<para>Le programme enverra au modem la cha&icirc;ne &ldquo;ATE1Q0M0&rdquo; et
+attendra la r&eacute;ponse &ldquo;OK&rdquo;. Si cette r&eacute;ponse n'arrive pas, il enverra
+la commande d'interrogation &ldquo;AT&rdquo; et attendra &agrave; nouveau une r&eacute;ponse
+&ldquo;OK&rdquo;,</para>
+</listitem>
+<listitem>
+<para>Le programme devra attendre une seconde (c'est le sens de la cha&icirc;ne
+&ldquo;\\d&rdquo; dans l'instruction), et envoyer la s&eacute;quence d'appel au
+modem. Le pr&eacute;fixe &ldquo;ATDT&rdquo; est la commande d'appel standard pour
+les lignes t&eacute;l&eacute;phoniques &agrave; fr&eacute;quences vocales. Si vous n'avez pas de ligne
+&agrave; fr&eacute;quence vocale, remplacez &ldquo;ATDT&rdquo; par &ldquo;ATDP&rdquo;.
+La cha&icirc;ne &ldquo;\\T&rdquo; sera remplac&eacute;e par le num&eacute;ro
+de t&eacute;l&eacute;phone r&eacute;el (qui sera d&eacute;fini plus loin par la ligne
+&ldquo;set dial&rdquo;).</para>
+</listitem>
+</itemizedlist>
+</listitem>
+<listitem>
+<para>Pour finir, avec un d&eacute;lai d'attente de quarante secondes au maximum,
+le programme <command>ppp</command> doit recevoir un code d'acquittement
+&ldquo;CONNECT&rdquo; du modem.</para>
+</listitem>
+</itemizedlist>
+<para>Un &eacute;chec &agrave; une phase quelconque de ce dialogue sera interpret&eacute; comme
+un &eacute;chec d'appel et la connexion ne sera pas &eacute;tablie.</para>
+<para>(Pour avoir une description d&eacute;taill&eacute;e du mini-langage de commande
+utilis&eacute; par <command>ppp</command>, reportez-vous aux pages de manuel de
+<command>chat</command>.)</para>
+<para>
+<programlisting>
+set redial 3 10
+</programlisting>
+</para>
+<para>Cette ligne indique au programme <command>ppp</command> qu'en cas d'&eacute;chec,
+il peut faire jusqu'&agrave; trois nouvelles tentatives avec un temps d'attente de dix
+secondes entre chaque nouvel appel.</para>
+</sect4>
+<sect4 id="sect4122">
+<title>La section &ldquo;interactive&rdquo;</title>
+<para>La section &ldquo;interactive:&rdquo; contient les valeurs et les
+param&egrave;tres utilis&eacute;s par les connexions PPP interactives avec un syst&egrave;me
+distant particulier. Les lignes de la section &ldquo;default:&rdquo; sont
+automatiquement incluses dans cette section.</para>
+<para>L'exemple donn&eacute; ci-dessous suppose que vous vous connectiez &agrave; un syst&egrave;me
+qui sait identifier un utilisateur sans avoir &agrave; utiliser une s&eacute;rie de commandes
+baroques. Nous supposerons que le protocole CHAP est utilis&eacute; pour initialiser
+la session.</para>
+<para>A priori, si un syst&egrave;me Windows 95 peut &eacute;tablir la connexion d'un simple
+clic sur le bouton &ldquo;Connecter&rdquo;, la configuration donn&eacute;e en exemple
+devrait fonctionner.</para>
+<para>Si, &agrave; l'inverse, quand vous vous connectez chez votre fournisseur d'acc&egrave;s
+avec les utilitaires de Microsoft Windows 95, vous devez utiliser l'option
+&ldquo;Utiliser des proc&eacute;dures de connexion&rdquo;<footnote><para>N.d.T: ne
+disposant du mat&eacute;riel n&eacute;cessaire au contr&ocirc;le de certains de ces libell&eacute;s dans
+les versions fran&ccedil;is&eacute;es de Windows, ils ont &eacute;t&eacute; traduits du document en langue
+anglaise. En cas d'inexactitude, le lecteur voudra bien rectifier de
+lui-m&ecirc;me.</para></footnote>. il vous faudra alors
+lire les pages de manuel de <command>ppp</command> pour trouver des exemples
+de fichiers de configuration de PPP comportant des proc&eacute;dures
+&ldquo;expect / reponse&rdquo; pour &eacute;tablir votre connexion et vous devrez
+utiliser la commande &ldquo;set login&rdquo; &agrave; cet effet.</para>
+<para>Ou mieux, trouvez-vous un fournisseur d'acc&egrave;s qui offre l'authentification
+par PAP ou CHAP!</para>
+<para>La configuration donn&eacute;e en exemple a &eacute;t&eacute; utilis&eacute;e avec succ&egrave;s pour se
+connecter:</para>
+<itemizedlist>
+<listitem>
+<para>&agrave; Divers Shiva LanRovers,</para>
+</listitem>
+<listitem>
+<para>au r&eacute;seau IBM
+(<ulink url="http://www.ibm.net">http://www.ibm.net</ulink>),</para>
+</listitem>
+<listitem>
+<para>&agrave; AT&amp;T WorlNet
+(<ulink url="http://www.att.com/worldnet">http://www.att.com/worldnet</ulink>),</para>
+</listitem>
+<listitem>
+<para>&agrave; Erol's
+(<ulink url="http://www.erols.com">http://www.erols.com</ulink>).</para>
+</listitem>
+</itemizedlist>
+<para>Voici la description de chacune des lignes de la section
+&ldquo;interactive:&rdquo; du fichier <filename>/etc/ppp/ppp.conf</filename>
+de l'exemple:</para>
+<para>
+<programlisting>
+set authname Votre_Nom_d_Utilisateur_du_Syst&egrave;me_Distant
+</programlisting>
+</para>
+<para>Cette ligne d&eacute;finit avec quel nom d'utilisateur vous vous connectez au
+syst&egrave;me distant.</para>
+<para>
+<programlisting>
+set authkey Votre_Mot_de_Passe_Utilisateur_du_Syst&egrave;me_Distant
+</programlisting>
+</para>
+<para>Cette ligne d&eacute;finit le mot de passe que vous utilisez pour vous connecter
+au syst&egrave;me distant.</para>
+<para>
+<programlisting>
+set phone 012345678789
+</programlisting>
+</para>
+<para>C'est le num&eacute;ro de t&eacute;l&eacute;phone avec lequel vous joignez le syst&egrave;me
+distant.</para>
+<para>
+<programlisting>
+set timeout 300
+</programlisting>
+</para>
+<para>Cette ligne indique au programme <command>ppp</command> de couper la ligne
+s'il n'y a aucun &eacute;change pendant cinq minutes (300 secondes). Vous pouvez
+adapter cette ligne &agrave; votre besoin particulier.</para>
+<para>
+<programlisting>
+set openmode active
+</programlisting>
+</para>
+<para>Cette ligne dit au programme <command>ppp</command> de n&eacute;gocier la
+connexion d&egrave;s que la liaison entre les modems est &eacute;tablie. Certains sites
+distants le font automatiquement, d'autres non. Cette instruction permet
+&agrave; votre site d'initialiser la n&eacute;gociation.</para>
+<para>
+<programlisting>
+accept chap
+</programlisting>
+</para>
+<para>Cette ligne dit au programme <command>ppp</command> d'utiliser le
+protocole CHAP &ldquo;Challenge Handsake Autentification Protocole
+(protocole d'authentification par poign&eacute;e de main avec d&eacute;fi de
+d&eacute;cryptage)&rdquo; pour vous authentifier. Les valeurs &eacute;chang&eacute;es entre le
+syst&egrave;me local et le syst&egrave;me distant pour transmettre le nom d'utilisateur
+et le mot de passe sont d&eacute;finies par les lignes &ldquo;authname&rdquo; et
+&ldquo;authkey&rdquo;.</para>
+</sect4>
+<sect4>
+<title>La section &ldquo;demand&rdquo;</title>
+<para>La section &ldquo;demand:&rdquo; contient les valeurs et les
+param&egrave;tres utilis&eacute;s par les connexions PPP automatiques avec un syst&egrave;me
+distant particulier. Les lignes de la section &ldquo;default:&rdquo; sont
+automatiquement incluses dans cette section.</para>
+<para>A l'exception des deux derni&egrave;res lignes, cette section est identique &agrave;
+la section qui d&eacute;finit la configuration &ldquo;interactive&rdquo;.</para>
+<para>Comme indiqu&eacute; au paragraphe
+<link linkend="sect4122">La section &ldquo;interactive&rdquo;</link>, l'exemple donn&eacute;
+ci-dessous suppose que vous vous connectiez &agrave; un syst&egrave;me
+qui comprenne le protocole CHAP pour initialiser
+la session.</para>
+<para>Voici la description de chacune des lignes de la section
+&ldquo;demand:&rdquo; du fichier <filename>/etc/ppp/ppp.conf</filename>
+de l'exemple:</para>
+<para>
+<programlisting>
+set authname Votre_Nom_d_Utilisateur_du_Syst&egrave;me_Distant
+</programlisting>
+</para>
+<para>Cette ligne d&eacute;finit avec quel nom d'utilisateur vous vous connectez au
+syst&egrave;me distant.</para>
+<para>
+<programlisting>
+set authkey Votre_Mot_de_Passe_Utilisateur_du_Syst&egrave;me_Distant
+</programlisting>
+</para>
+<para>Cette ligne d&eacute;finit le mot de passe que vous utilisez pour vous connecter
+au syst&egrave;me distant.</para>
+<para>
+<programlisting>
+set phone 012345678789
+</programlisting>
+</para>
+<para>C'est le num&eacute;ro de t&eacute;l&eacute;phone avec lequel vous joignez le syst&egrave;me
+distant.</para>
+<para>
+<programlisting>
+set timeout 300
+</programlisting>
+</para>
+<para>Cette ligne indique au programme <command>ppp</command> de couper la ligne
+s'il n'y a aucun &eacute;change pendant cinq minutes (300 secondes). Vous pouvez
+adapter cette ligne &agrave; votre besoin particulier.</para>
+<para>
+<programlisting>
+set openmode active
+</programlisting>
+</para>
+<para>Cette ligne dit au programme <command>ppp</command> de n&eacute;gocier la
+connexion d&egrave;s que la liaison entre les modems est &eacute;tablie. Certains sites
+distants le font automatiquement, d'autres non. Cette instruction permet
+&agrave; votre site d'initialiser la n&eacute;gociation.</para>
+<para>
+<programlisting>
+accept chap
+</programlisting>
+</para>
+<para>Cette ligne dit au programme <command>ppp</command> d'utiliser le
+protocole CHAP &ldquo;Challenge Handsake Autentification Protocole
+(protocole d'authentification par poign&eacute;e de
+main avec d&eacute;fi de d&eacute;cryptage)&rdquo;
+pour vous authentifier. Les valeurs &eacute;chang&eacute;es entre le syst&egrave;me local et le
+syst&egrave;me distant pour transmettre le nom d'utilisateur et le mot de passe
+sont d&eacute;finies par les lignes &ldquo;authname&rdquo; et
+&ldquo;authkey&rdquo;</para>
+<para>
+<programlisting>
+set ifaddr 127.1.1.1/0 127.2.2.2/0 255.255.255.0
+</programlisting>
+</para>
+<para>Cette commande d&eacute;finit une paire d'adresses IP fictives pour les deux
+extr&eacute;mit&eacute;s de la liaison point-&agrave;-point. Elle dit au programme
+<command>ppp</command> d'utiliser l'adresse 127.1.1.1 pour l'extr&eacute;mit&eacute; locale
+de la liaison g&eacute;r&eacute;e par le pilote de p&eacute;riph&eacute;rique
+&ldquo;tun0 (tunnel)&rdquo;(Reportez-vous au <ulink url="&url.handbook;index.html">manuel FreeBSD</ulink> pour une
+description de ce pilote) et l'adresse 127.2.2.2 pour l'extr&eacute;mit&eacute; distante.
+Le &ldquo;/0&rdquo; qui les suit pr&eacute;cise le nombre de digits significatifs de
+ces adresses, qui peuvent, (et doivent en fait) &ecirc;tre n&eacute;goci&eacute;es entre les
+deux syst&egrave;mes une fois la liaison &eacute;tablie. 255.255.255.0 est le masque de
+sous-r&eacute;seau qui s'applique &agrave; ces deux pseudo-interfaces.</para>
+<para>Rappelez-vous, nous avons suppos&eacute; que votre fournisseur d'acc&egrave;s vous
+assigne les adresses des deux extr&eacute;mit&eacute;s de la ligne! Si votre fournisseur
+vous a donn&eacute; une adresse particuli&egrave;re, vous pouvez la mentionner sur cette
+ligne <emphasis>&agrave; la place</emphasis> de l'adresse 127.1.1.1.</para>
+<para>Inversement, si votre fournisseur vous a donn&eacute; une adresse particuli&egrave;re
+pour son c&ocirc;t&eacute; de la liaison, vous pouvez la mentionner sur cette
+ligne <emphasis>&agrave; la place</emphasis> de l'adresse 127.2.2.2.</para>
+<para>Dans les deux cas, il vaut mieux conserver le &ldquo;/0&rdquo; apr&egrave;s les
+deux adresses. Cela laisse la possibilit&eacute; au programme <command>ppp</command>
+de changer d'adresse(s) <emphasis>s'il en a besoin</emphasis>.</para>
+<para>
+<programlisting>
+add 0 0 127.2.2.2
+</programlisting>
+</para>
+<para>Cette derni&egrave;re ligne dit au programme <command>ppp</command> d'ajouter une
+route par d&eacute;faut pour le trafic vers l'adresse (fictive) 127.2.2.2 du
+fournisseur d'acc&egrave;s.</para>
+<note>
+<para>Si vous avez donn&eacute;e l'adresse que vous a indiqu&eacute; votre fournisseur d'acc&egrave;s
+&agrave; la place de l'adresse 127.2.2.2 &agrave; la ligne &ldquo;set ifaddr&rdquo;, vous
+devez utiliser la m&ecirc;me adresse ici, &agrave; la place de 127.2.2.2.</para>
+</note>
+<para>En ajoutant cette route &ldquo;fictive&rdquo; pour le trafic IP, le
+programme <command>ppp</command> peut, successivement, avant et au moment
+d'&eacute;tablir la liaison:</para>
+<itemizedlist>
+<listitem>
+<para>Accepter des paquets que FreeBSD ne sait pas encore comment
+rediriger,</para>
+</listitem>
+<listitem>
+<para>Etablir la connexion avec votre fournisseur d'acc&egrave;s,</para>
+</listitem>
+<listitem>
+<para>Reconfigurer les adresses IP des deux c&ocirc;t&eacute;s de la ligne,</para>
+</listitem>
+<listitem>
+<para>Transmettre les paquets entre votre syt&egrave;me local et votre fournisseur
+d'acc&egrave;s,</para>
+</listitem>
+</itemizedlist>
+<para>automatiquement!</para>
+<para>Une fois le nombre de secondes d&eacute;fini par l'instruction
+&ldquo;timeout&rdquo; de la section &ldquo;default&rdquo; &eacute;coul&eacute; sans
+trafic TCP/IP, le programme <command>ppp</command> coupe automatiquement la
+connexion, et le processus peut recommencer.</para>
+</sect4>
+</sect3>
+<sect3>
+<title>Le fichier <filename>/etc/ppp/ppp.linkup</filename></title>
+<para>L'autre fichier n&eacute;cessaire &agrave; la configuration de <command>ppp</command>
+est <filename>/etc/ppp/ppp.linkup</filename>. Ce fichier contient les
+instructions qui d&eacute;finissent ce que <command>ppp</command> doit faire une
+fois que la connexion est &eacute;tablie.</para>
+<para>Dans le cas d'une connexion &agrave; la demande, le programme
+<command>ppp</command> doit supprimer la route par d&eacute;faut vers l'adresse IP
+fictive du syst&egrave;me distant (127.2.2.2 dans notre exemple plus haut) et
+d&eacute;finir une nouvelle route vers l'adresse IP r&eacute;elle de ce syst&egrave;me (obtenue
+&agrave; l'&eacute;tablissement de la connexion).</para>
+<para>Voici un bon exemple de fichier
+<filename>/etc/ppp/ppp.linkup</filename>:</para>
+<para>
+<programlisting>
+#########################################################################=
+#
+# Fichier PPP Link Up ('/etc/ppp/ppp.linkup')
+#
+# Ce fichier est consult&eacute; une fois que PPP a &eacute;tabli une connexion
+#
+# Ce fichier est lu dans l'ordre suivant :
+#
+# 1) En premier, l'adresse IP qui nous a &eacute;t&eacute; assign&eacute;e est recherch&eacute;e
+# et la/les commande(s) associ&eacute;e(s) ex&eacute;cut&eacute;e(s)
+#
+# 2) Si l'adresse IP n'est pas trouv&eacute;e, alors l'&eacute;tiquette donn&eacute;e au
+# d&eacute;marrage de PPP est recherch&eacute;e, et la/les commande(s) associ&eacute;e(s)
+# ex&eacute;cut&eacute;e(s)
+#
+# 3) Si ni l'une ni l'autre n'ont &eacute;t&eacute; trouv&eacute;es, les commandes associ&eacute;es
+# &agrave; l'&eacute;tiquette 'MYADDR:' sont ex&eacute;cut&eacute;es.
+#
+#########################################################################=
+
+#
+# Cette section correspond &agrave; la configuration "demand" de
+# /etc/ppp/ppp.conf:
+demand:
+delete ALL
+add 0 0 HISADDR
+#
+# Toutes les autres configurations de /etc/ppp/ppp.conf utilisent
+# ce qui suit:
+#
+MYADDR:
+add 0 0 HISADDR
+########################################################################
+# Fin de /etc/ppp/ppp.linkup
+</programlisting>
+</para>
+<para>Remarquez qu'une section de ce fichier s'appelle &ldquo;demand:&rdquo;,
+tout comme dans le fichier <filename>/etc/ppp/ppp.conf</filename>. Cette section
+dit au programme <command>ppp</command> ce qu'il doit faire, une fois la
+connexion &agrave; la demande &eacute;tablie:</para>
+<orderedlist>
+<listitem>
+<para>Supprimer toutes les informations de routage qu'il a d&eacute;j&agrave; cr&eacute;&eacute;es,</para>
+</listitem>
+<listitem>
+<para>Ajouter une route par d&eacute;faut vers l'adresse r&eacute;elle de la machine
+distante.</para>
+</listitem>
+</orderedlist>
+<para>Il est capital que les configurations d&eacute;finies dans le fichier
+<filename>/etc/ppp/ppp.conf</filename> et qui comportent les lignes
+&ldquo;set ifaddr&rdquo; et &ldquo;add 0 0&rdquo; (i.e.: les configurations
+de connexion &agrave; la demande) ex&eacute;cutent les instructions &ldquo;delete ALL&rdquo;
+et &ldquo;add 0 0 HISADDR&rdquo; du fichier
+<filename>/etc/ppp/ppp.linkup.</filename></para>
+<para><emphasis>C'est le m&eacute;canisme qui contr&ocirc;le la configuration de la liaison
+dans le cas d'une connexion &agrave; la demande.</emphasis></para>
+<para>Toutes les configurations qui ne sont pas explicitement d&eacute;finies dans
+le fichier <filename>/etc/ppp/ppp.linkup</filename> utiliseront les commandes
+list&eacute;es dans la section &ldquo;MYADDR:&rdquo; de ce fichier. C'est ce que
+feront les connexions manuelles (comme dans notre exemple
+&ldquo;interactive:&rdquo;). Cette section ajoute simplement une route par
+d&eacute;faut vers l'adresse IP du fournisseur d'acc&egrave;s (&agrave; l'autre extr&eacute;mit&eacute; de la
+ligne).</para>
+</sect3>
+</sect2>
+<sect2>
+<title>Alias IP</title>
+<para>Toutes les &eacute;tapes pr&eacute;c&eacute;dentes s'appliquent &agrave; un systeme FreeBSD utilis&eacute;
+pour se connecter &agrave; la demande &agrave; un fournisseur d'acc&egrave;s Internet.</para>
+<para>Si vous cherchez simplement, en lisant ce guide, &agrave; connecter votre
+systeme FreeBSD &agrave; l'Internet, vous pouvez passer directement au chapitre
+<link linkend="sect6">Tester le r&eacute;seau</link>.</para>
+<para>Une possibilit&eacute; tr&egrave;s int&eacute;ressante du programme <command>ppp</command>
+en mode &ldquo;connexion &agrave; la demande&rdquo; est sa capacit&eacute; &agrave; aiguiller
+automatiquement le trafic vers les autres syst&egrave;mes du r&eacute;seau local. On donne
+&agrave; cela des noms divers &ldquo;alias IP (IP Aliasing)&rdquo;,
+&ldquo;traduction d'adresse r&eacute;seau (Network Adress Translation)&rdquo;,
+&ldquo;mascarade d'adresse (Adress Masquerading)&rdquo; ou
+&ldquo;mandatement transparent (Transparent Proxying)&rdquo;.</para>
+<para>Quelle que soit la terminologie employ&eacute;e, ce fonctionnement n'est
+cependant pas automatique. Si le programme <command>ppp</command> est d&eacute;marr&eacute;
+de fa&ccedil;on habituelle, il ne fera pas transiter de paquets entre l'interface avec
+le r&eacute;seau local et la liaison vers l'ext&eacute;rieur. En effet, seul le syst&egrave;me
+FreeBSD est connect&eacute; &agrave; l'Internet; les autres syst&egrave;mes ne peuvent pas partager
+la m&ecirc;me connexion.</para>
+<para>Par exemple, si le programme <command>ppp</command> est lanc&eacute; par:</para>
+<para>
+<userinput>
+<prompt>#</prompt> ppp interactive
+</userinput>
+</para>
+<para>ou:</para>
+<para>
+<userinput>
+<prompt>#</prompt> ppp -auto demand
+</userinput>
+</para>
+<para>correspondant respectivement aux modes manuel et automatique, alors
+il &eacute;tablira une connexion &agrave; l'Internet pour la <emphasis>seule</emphasis>
+machine FreeBSD.</para>
+<para>Pour d&eacute;marrer le programme <command>ppp</command> pour l'utiliser comme
+passerelle entre le r&eacute;seau local et l'Internet, il faut utiliser l'une des
+commandes suivantes:</para>
+<para>
+<userinput>
+<prompt>#</prompt> ppp -alias interactive
+</userinput>
+</para>
+<para>ou:</para>
+<para>
+<userinput>
+<prompt>#</prompt> ppp -auto -alias demand
+</userinput>
+</para>
+<para>Alternativement, vous pouvez utiliser l'instruction &ldquo;alias enable
+yes&rdquo; dans votre fichier de configuration de <command>ppp</command>
+(Reportez-vous aux pages de manuel pour plus de d&eacute;tails).</para>
+<para>Gardez cela pr&eacute;sent &agrave; l'esprit si vous passez maintenant au chapitre
+<link linkend="sect5">Configurer les syst&egrave;mes Windows</link>.</para>
+</sect2>
+</sect1>
+<sect1 id="sect5">
+<title>Configurer les Syst&egrave;mes Windows</title>
+<para>Comme indiqu&eacute; au Chapitre <link linkend="sect2">Mise en oeuvre du r&eacute;seau local</link>,
+le r&eacute;seau de notre exemple
+comporte un syst&egrave;me FreeBSD (&ldquo;Curly&rdquo;) qui sert de passerelle
+(ou routeur) pour un r&eacute;seau local compos&eacute; de trois moutures diff&eacute;rentes
+de syst&egrave;mes Windows. Pour que ces stations puissent utiliser Curly comme
+routeur, elles doivent &ecirc;tre correctement configur&eacute;es. Notez bien que l'on
+ne vous explique pas ici comment configurer les postes Windows pour qu'ils
+puissent se connecter eux-m&ecirc;mes. Si vous cherchez de bonnes explications sur
+le sujet, voyez
+<ulink url="http://www.aladdin.co.uk/techweb">http://www.aladdin.co.uk/techweb</ulink>.</para>
+<sect2>
+<title>Configurer Windows 95</title>
+<para>Il est relativement simple de configurer Windows 95 pour relier un poste
+&agrave; votre r&eacute;seau local. Le configuration r&eacute;seau Windows 95 doit &ecirc;tre l&eacute;g&eacute;rement
+modifi&eacute;e pour pouvoir utiliser le syst&egrave;me FreeBSD comme passerelle par d&eacute;faut
+vers votre fournisseur d'acc&egrave;s. Effectuez les &eacute;tapes suivantes:</para>
+<sect3>
+<title>Cr&eacute;er le fichier Windows 95 <filename>hosts</filename></title>
+<para>Pour vous connecter aux autres postes TCP/IP du r&eacute;seau local, vous devrez
+installer une copie du fichier <filename>hosts</filename> que vous avez cr&eacute;&eacute;
+sur votre syst&egrave;me FreeBSD au paragraphe
+<link linkend="sect34">Renseigner la liste des autres machines du r&eacute;seau</link>.</para>
+<itemizedlist>
+<listitem><para>Cliquez sur le bouton &ldquo;D&eacute;marrer&rdquo;, choisissez
+&ldquo;Ex&eacute;cuter ...&rdquo;, lancez
+<userinput>notepad \WINDOWS\HOSTS</userinput>
+et cliquez sur &ldquo;OK&rdquo;,</para></listitem>
+<listitem><para>Sous l'&eacute;diteur, entrez les noms et les adresses des machines
+recopi&eacute;s du fichier <filename>hosts</filename> du paragraphe
+<link linkend="sect34">Renseigner la liste des autres machines du r&eacute;seau</link>,</para></listitem>
+<listitem><para>Une fois que c'est fait, quittez <command>notepad</command>
+(assurez-vous d'avoir enregistr&eacute; le fichier!).</para></listitem>
+</itemizedlist>
+</sect3>
+<sect3>
+<title>D&eacute;finir le configuration r&eacute;seau TCP/IP Windows 95</title>
+<itemizedlist>
+<listitem><para>Cliquez sur le bouton &ldquo;D&eacute;marrer&rdquo; de la barre de
+t&acirc;ches, Choisissez &ldquo;Param&egrave;tres&rdquo; et
+&ldquo;Panneau de Configuration&rdquo;,</para></listitem>
+<listitem><para>Double-cliquez sur l'ic&ocirc;ne r&eacute;seau pour
+l'ouvrir.</para>
+<para>Les param&egrave;tres des &eacute;l&eacute;ments du r&eacute;seau sont tous
+affich&eacute;s.</para></listitem>
+<listitem><para>S&eacute;lectionnez l'option &ldquo;Configuration&rdquo; et faites
+d&eacute;filer la liste des composants install&eacute;s pour choisir la ligne
+&ldquo;TCP/IP -><replaceable>votre interface</replaceable>&rdquo; (o&ugrave;
+<replaceable>votre interface</replaceable> est le nom ou le mod&egrave;le de
+votre contr&ocirc;leur Ethernet),</para>
+<para>Si &ldquo;TCP/IP&rdquo; ne figure pas dans la liste des composants
+r&eacute;seau install&eacute;s, cliquez sur le bouton &ldquo;Ajouter&rdquo; pour
+l'installer avant de continuer</para>
+<tip><para>Ajouter | Protocoles | Microsoft | TCP/IP | OK.</para></tip>
+</listitem>
+<listitem><para>Cliquez sur le bouton &ldquo;Propri&eacute;t&eacute;s&rdquo; pour afficher
+la liste des param&egrave;tres associ&eacute;s au composant TCP.</para></listitem>
+</itemizedlist>
+</sect3>
+<sect3>
+<title>Configurer les informations relatives &agrave; l'adresse IP</title>
+<itemizedlist>
+<listitem><para>Choisissez l'onglet &ldquo;Adresse IP&rdquo;</para></listitem>
+<listitem><para>Enfoncez le bouton &ldquo;Sp&eacute;cifier une adresse
+IP&rdquo;.</para>
+<para>(Dans notre exemple, le syst&egrave;me Windows 95 est celui que nous avons
+appel&eacute; &ldquo;Larry&rdquo;.)</para></listitem>
+<listitem><para>Dans la zone &ldquo;Adresse IP&rdquo;, entrez
+&ldquo;192.168.1.2&rdquo;,</para></listitem>
+<listitem><para>Entrez &ldquo;255.255.255.0&rdquo; dans le zone
+&ldquo;Masque de Sous-r&eacute;seau&rdquo;.</para></listitem>
+</itemizedlist>
+</sect3>
+<sect3>
+<title>Configurer les informations relatives &agrave; la passerelle</title>
+<itemizedlist>
+<listitem><para>Cliquez sur l'onglet &ldquo;Passerelle&rdquo;.</para>
+<para>Dans le r&eacute;seau de notre exemple, c'est le syst&egrave;me FreeBSD qui sera notre
+passerelle vers l'Internet (routant les paquets entre le r&eacute;seau local Ethernet
+et la connexion PPP). Entrez l'adresse IP de l'interface Ethernet de la
+machine FreeBSD, &ldquo;192.168.1.1&rdquo;, dans la zone
+&ldquo;Nouvelle Passerelle&rdquo; et cliquez sur le bouton
+&ldquo;Ajouter&rdquo;. S'il y a d'autres passerelles d&eacute;finies dans les
+&ldquo;Passerelles Install&eacute;es&rdquo;, peut-&ecirc;tre devrez-vous les
+supprimer.</para></listitem>
+</itemizedlist>
+</sect3>
+<sect3>
+<title>Configurer les informations relatives au DNS</title>
+<para>Nous supposons que votre fournisseur d'acc&egrave;s Internet vous a donn&eacute; une
+liste de serveurs de noms de domaines (Domain Name Servers)&nbsp;-&nbsp;ou
+&ldquo;Serveurs DNS&rdquo;&nbsp;-&nbsp;que vous devez utiliser. Si vous voulez
+mettre en service un serveur DNS sur votre machine FreeBSD, reportez-vous au
+chapitre
+<link linkend="sect7">Exercices pour l'&eacute;tudiant int&eacute;ress&eacute;</link> pour avoir des indications sur
+l'installation d'un serveur DNS sur une machine FreeBSD.</para>
+<itemizedlist>
+<listitem><para>Cliquez sur l'onglet &ldquo;Configuration DNS&rdquo;,</para>
+</listitem>
+<listitem><para>Assurez-vous que l'option &ldquo;Activer DNS&rdquo; est
+bien s&eacute;lectionn&eacute;e,</para>
+<para>(Si cette option n'est pas s&eacute;lectionn&eacute;e, seules les machines d&eacute;finies dans
+votre fichier <filename>hosts</filename> seront accessibles et vous ne pourrez
+pas &ldquo;surfer&rdquo; comme vous le souhaitez!)</para></listitem>
+<listitem><para>Dans la zone &ldquo;H&ocirc;te&rdquo;, entrez le nom du poste
+Windows 95, dans notre cas : &ldquo;Larry&rdquo;,</para></listitem>
+<listitem><para>Dans la zone &ldquo;Domaine&rdquo;, entrez le nom du r&eacute;seau
+local, dans notre cas : &ldquo;my.domain&rdquo;,</para></listitem>
+<listitem><para>Dans la zone &ldquo;Ordre de recherche DNS&rdquo;,
+entrez les adresses
+IP des serveurs DNS que votre fournisseur vous a donn&eacute;es, cliquez sur
+&ldquo;Ajouter&rdquo; &agrave; chaque adresse que vous d&eacute;finissez. R&eacute;p&eacute;tez l'op&eacute;ration
+autant de fois que n&eacute;cessaire pour entrer toutes les adresses que votre
+fournisseur vous a indiqu&eacute;es.</para></listitem>
+</itemizedlist>
+</sect3>
+<sect3>
+<title>Autres options TCP/IP Windows 95</title>
+<para>Pour nos besoins, les param&egrave;tres des sections &ldquo;Avanc&eacute;es&rdquo;,
+&ldquo;Configuration WINS&rdquo; et &ldquo;Liens&rdquo; sont inutiles.</para>
+<para>Si vous souhaitez utiliser le service de noms Internet de Windows
+(Windows Internet Naming Service&nbsp;-&nbsp;&ldquo;WINS&rdquo;), vous trouverez
+plus d'informations sur
+<ulink url="http://www.localnet.org">http://www.localnet.org</ulink>,
+en particulier en ce qui concerne le partage de fichiers de fa&ccedil;on transparente
+&agrave; travers l'Internet.</para>
+</sect3>
+<sect3>
+<title>Pour finir</title>
+<itemizedlist>
+<listitem><para>Cliquez sur &ldquo;OK&rdquo; pour fermer la fen&ecirc;tre
+&ldquo;Propri&eacute;t&eacute;s TCP/IP&rdquo;,</para></listitem>
+<listitem><para>Cliquez sur &ldquo;OK&rdquo; pour fermer la fen&ecirc;tre
+&ldquo;Panneau de Contr&ocirc;le R&eacute;seau&rdquo;,</para></listitem>
+<listitem><para>Red&eacute;marrez votre ordinateur si on vous le demande.</para>
+</listitem>
+</itemizedlist>
+<para>C'est tout!</para>
+</sect3>
+</sect2>
+<sect2>
+<title>Configurer Windows NT</title>
+<para>Il est relativement simple de configurer Windows NT pour relier un poste
+&agrave; votre r&eacute;seau local. Les proc&eacute;dures sont semblables &agrave; celles suivies pour
+Windows 95 &agrave; quelques diff&eacute;rences pr&egrave;s quant &agrave; l'interface utilisateur.</para>
+<para>Les &eacute;tapes d&eacute;crites ci-dessous s'appliquent &agrave; Windows NT 4.0 Workstation,
+mais les principes sont les m&ecirc;mes pour Windows NT 3.5x. Si vous installez un
+poste Windows NT 3.5x, vous pouvez vous r&eacute;f&eacute;rer
+au paragraphe <link linkend="sect53">Configurer Windows for Workgroups</link>, en
+effet, l'interface utilisateur est la m&ecirc;me pour NT 3.5x et WfW.</para>
+<para>Effectuez les op&eacute;rations suivantes:</para>
+<sect3>
+<title>Cr&eacute;er le fichier Windows NT <filename>hosts</filename></title>
+<para>Pour vous connecter aux autres postes TCP/IP du r&eacute;seau local, vous devrez
+installer une copie du fichier <filename>hosts</filename> que vous avez cr&eacute;&eacute;
+sur votre syst&egrave;me FreeBSD au paragraphe
+<link linkend="sect34">Configurer Windows for Workgroups</link>.</para>
+<itemizedlist>
+<listitem><para>Cliquez sur le bouton &ldquo;D&eacute;marrer&rdquo;, choisissez
+&ldquo;Ex&eacute;cuter ...&rdquo;, lancez
+<userinput>notepad \WINDOWS\SYSTEM\DRIVERS\ETC\HOSTS</userinput>
+et cliquez sur &ldquo;OK&rdquo;,</para></listitem>
+<listitem><para>Sous l'&eacute;diteur, entrez les noms et les adresses des machines
+recopi&eacute;s du fichier <filename>hosts</filename> du paragraphe
+<link linkend="sect34">Renseigner la liste des autres machines du r&eacute;seau</link>,</para></listitem>
+<listitem><para>Une fois que c'est fait, quittez <command>notepad</command>
+(assurez-vous d'avoir enregistr&eacute; le fichier!).</para></listitem>
+</itemizedlist>
+</sect3>
+<sect3>
+<title>D&eacute;finir le configuration r&eacute;seau TCP/IP Windows NT</title>
+<itemizedlist>
+<listitem><para>Cliquez sur le bouton &ldquo;D&eacute;marrer&rdquo; de la barre de
+t&acirc;ches, Choisissez &ldquo;Param&egrave;tres&rdquo; et
+&ldquo;Panneau de Configuration&rdquo;,</para></listitem>
+<listitem><para>Double-cliquez sur l'ic&ocirc;ne r&eacute;seau pour
+l'ouvrir,</para></listitem>
+<listitem><para>Dans l'onglet &ldquo;Identification&rdquo;,
+v&eacute;rifiez les informations des zones &ldquo;Nom d'Ordinateur&rdquo; et
+&ldquo;Workgroup&rdquo;. Dans notre exemple, &ldquo;Shemp&rdquo; sera
+le nom de la machine, et &ldquo;Stooges&rdquo; celui du groupe de travail.
+Choisissez &ldquo;Modifier&rdquo; pour corriger ces valeurs au
+besoin,</para></listitem>
+<listitem><para>Choisissez l'onglet &ldquo;Protocoles&rdquo;.</para>
+<para>Les Protocoles R&eacute;seau install&eacute;s seront affich&eacute;s. Il peut y en avoir un
+certain nombre, mais le seul qui nous int&eacute;resse ici est le
+&ldquo;Protocole TCP/IP&rdquo;. Si le &ldquo;Protocole TCP/IP&rdquo;
+n'appara&icirc;t pas dans la liste, cliquez sur le bouton &ldquo;Ajouter&rdquo;
+pour l'installer.</para>
+<tip><para>Ajouter | Protocole TCP/IP | OK.</para></tip>
+</listitem>
+<listitem><para>S&eacute;lectionnez &ldquo;Protocole TCP/IP&rdquo; et cliquez sur le
+bouton &ldquo;Propri&eacute;t&eacute;s&rdquo;.</para>
+<para>Les diff&eacute;rentes propri&eacute;t&eacute;s associ&eacute;es &agrave; TCP/IP appara&icirc;tront.</para>
+</listitem>
+</itemizedlist>
+</sect3>
+<sect3>
+<title>Configurer les informations relatives &agrave; l'adresse IP</title>
+<para>V&eacute;rifiez que l'interface Ethernet est bien d&eacute;finie dans la zone
+&ldquo;Carte R&eacute;seau&rdquo;; si ce n'est pas le cas, parcourez la
+liste des contr&ocirc;leurs jusqu'&agrave; ce que l'interface ad&eacute;quate soit affich&eacute;e.</para>
+<itemizedlist>
+<listitem><para>Choisissez l'option &ldquo;Sp&eacute;cifier une Adresse IP&rdquo;
+pour activer les trois zones de texte,</para>
+<para>Dans notre exemple, le poste Windows NT est celui qui s'appele
+&ldquo;Shemp&rdquo;.</para></listitem>
+<listitem><para>Dans la zone &ldquo;Adresse IP&rdquo;, entrez
+&ldquo;192.168.1.4&rdquo;,</para></listitem>
+<listitem><para>Entrez &ldquo;255.255.255.0&rdquo; dans le zone
+&ldquo;Masque de Sous-r&eacute;seau.&rdquo;.</para></listitem>
+</itemizedlist>
+</sect3>
+<sect3>
+<title>Configurer les informations relatives &agrave; la passerelle</title>
+<para>Dans le r&eacute;seau de notre exemple, c'est le syst&egrave;me FreeBSD qui sera notre
+passerelle vers l'Internet (routant les paquets entre le r&eacute;seau local Ethernet
+et la connexion PPP).</para>
+<itemizedlist>
+<listitem><para>S'il n'y a rien encore dans la zone &ldquo;Nouvelle
+Passerelle&rdquo;, entrez l'adresse IP de l'interface Ethernet de la
+machine FreeBSD, &ldquo;192.168.1.1&rdquo;, dans cette zone
+et cliquez sur le bouton &ldquo;Ajouter&rdquo;. Sinon, utilisez le bouton
+"Avanc&eacute;es" et la fonction &ldquo;Ajouter&rdquo; pour ajouter cette nouvelle
+passerelle.</para>
+<para>S'il y a d'autres passerelles d&eacute;finies dans les
+&ldquo;Passerelles Install&eacute;es&rdquo;, peut-&ecirc;tre devrez-vous les
+supprimer.</para></listitem>
+</itemizedlist>
+</sect3>
+<sect3>
+<title>Configurer les informations relatives au DNS</title>
+<para>Nous supposons que votre fournisseur d'acc&egrave;s Internet vous a donn&eacute; une
+liste de serveurs de noms de domaines (Domain Name Servers)&nbsp;-&nbsp;ou
+&ldquo;Serveurs DNS&rdquo;&nbsp;-&nbsp;que vous devez utiliser.</para>
+<para>Si vous voulez
+mettre en service un serveur DNS sur votre machine FreeBSD, reportez-vous
+au chapitre
+<link linkend="sect7">Exercices pour l'&eacute;tudiant int&eacute;ress&eacute;</link> pour avoir des indications sur
+l'installation d'un serveur DNS sur une machine FreeBSD.</para>
+<itemizedlist>
+<listitem><para>Cliquez sur le bouton &ldquo;DNS&rdquo;,</para>
+</listitem>
+<listitem><para>Dans la zone &ldquo;Nom d'H&ocirc;te&rdquo;, entrez le nom du poste
+Windows NT, dans notre cas : &ldquo;Shemp&rdquo;,</para></listitem>
+<listitem><para>Dans la zone &ldquo;Domaine&rdquo;, entrez le nom du r&eacute;seau
+local, dans notre cas : &ldquo;my.domain&rdquo;,</para></listitem>
+<listitem><para>Dans la zone &ldquo;Ordre de recherche du service DNS&rdquo;,
+entrez les adresses
+IP des serveurs DNS que votre fournisseur vous a donn&eacute;es, cliquez sur
+&ldquo;Ajouter&rdquo; &agrave; chaque adresse que vous d&eacute;finissez. R&eacute;p&eacute;tez l'op&eacute;ration
+autant de fois que n&eacute;cessaire pour entrer toutes les adresses que votre
+fournisseur vous a indiqu&eacute;es.</para></listitem>
+</itemizedlist>
+</sect3>
+<sect3>
+<title>Autres options TCP/IP Windows NT</title>
+<para>Pour nos besoins, les param&egrave;tres des sections
+&ldquo;Adresses WINS&rdquo; et &ldquo;Routage&rdquo; sont inutiles.</para>
+<para>Si vous souhaitez utiliser le service de noms Internet de Windows
+(Windows Internet Naming Service&nbsp;-&nbsp;&ldquo;WINS&rdquo;), vous trouverez
+plus d'informations sur
+<ulink url="http://www.localnet.org">http://www.localnet.org</ulink>,
+en particulier en ce qui concerne le partage de fichiers de fa&ccedil;on transparente
+&agrave; travers l'Internet.</para>
+</sect3>
+<sect3>
+<title>Pour finir</title>
+<itemizedlist>
+<listitem><para>Cliquez sur &ldquo;OK&rdquo; pour fermer la fen&ecirc;tre
+&ldquo;Propri&eacute;t&eacute;s TCP/IP&rdquo;,</para></listitem>
+<listitem><para>Cliquez sur &ldquo;OK&rdquo; pour fermer la fen&ecirc;tre
+&ldquo;Panneau de Contr&ocirc;le R&eacute;seau&rdquo;,</para></listitem>
+<listitem><para>Red&eacute;marrez votre ordinateur si on vous le demande.</para>
+</listitem>
+</itemizedlist>
+<para>C'est tout!</para>
+</sect3>
+</sect2>
+<sect2 id="sect53">
+<title>Configurer Windows for Workgroups</title>
+<para>Pour qu'un poste Windows for Workgroups puisse &ecirc;tre utilis&eacute; en r&eacute;seau, il
+faut avoir install&eacute; les pilotes qui sont sur la disquette Microsoft TCP/IP. Ces
+pilotes ne sont pas inclus avec WfW et les disquettes qui vont avec. S'il vous
+en faut une copie, ils sont disponibles sur
+<ulink url="ftp://ftp.microsoft.com/peropsys/windows/public/tcpip">ftp://ftp.microsoft.com/peropsys/windows/public/tcpip.</ulink></para>
+<para>Une fois que les pilotes TCP/IP ont &eacute;t&eacute; install&eacute;s, effectuez les
+op&eacute;rations suivantes:</para>
+<sect3>
+<title>Cr&eacute;er le fichier Windows for Workgroups
+<filename>hosts</filename></title>
+<para>Pour vous connecter aux autres postes TCP/IP du r&eacute;seau local, vous devrez
+installer une copie du fichier <filename>hosts</filename> que vous avez cr&eacute;&eacute;
+sur votre syst&egrave;me FreeBSD au paragraphe
+<link linkend="sect34">Renseigner la liste des autres machines du r&eacute;seau</link>.</para>
+<itemizedlist>
+<listitem><para>Dans le Gestionnaire de Programmes, cliquez sur le bouton
+&ldquo;Fichier&rdquo;, choisissez &ldquo;Ex&eacute;cuter ...&rdquo;, lancez
+<userinput>notepad \WINDOWS\HOSTS</userinput>
+et cliquez sur &ldquo;OK&rdquo;,</para></listitem>
+<listitem><para>Sous l'&eacute;diteur, entrez les noms et les adresses des machines
+recopi&eacute;s du fichier <filename>hosts</filename> de
+<link linkend="sect34">Renseigner la liste des autres machines du r&eacute;seau</link>,</para></listitem>
+<listitem><para>Une fois que c'est fait, quittez <command>notepad</command>
+(assurez-vous d'avoir enregistr&eacute; le fichier!).</para></listitem>
+</itemizedlist>
+</sect3>
+<sect3>
+<title>D&eacute;finir le configuration r&eacute;seau TCP/IP Windows for Workgroups</title>
+<itemizedlist>
+<listitem><para>Dans le Gestionnaire de Programmes, ouvrez le groupe
+&ldquo;R&eacute;seau&rdquo; en double-cliquant sur l'ic&ocirc;ne,</para></listitem>
+<listitem><para>Double-cliquez sur l'ic&ocirc;ne &ldquo;Param&egrave;tres
+R&eacute;seau&rdquo;,</para></listitem>
+<listitem><para>Dans la bo&icirc;te de dialogue &ldquo;Pilotes R&eacute;seau&rdquo;,
+double-cliquez sur l'option &ldquo;Microsoft TCP/IP-32&rdquo;.</para>
+</listitem>
+</itemizedlist>
+</sect3>
+<sect3>
+<title>Configurer les informations relatives &agrave; l'adresse IP</title>
+<para>V&eacute;rifiez que l'interface Ethernet est bien d&eacute;finie dans la liste
+&ldquo;Carte R&eacute;seau&rdquo;; si ce n'est pas le cas, parcourez la
+liste des contr&ocirc;leurs jusqu'&agrave; ce que l'interface ad&eacute;quate soit affich&eacute;e
+et s&eacute;lectionnez-la en cliquant dessus.</para>
+<itemizedlist>
+<listitem><para>V&eacute;rifiez que l'option &ldquo;Activer la Configuration DHCP
+Automatique&rdquo; n'est pas s&eacute;lectionn&eacute;e. Si c'est le cas, cliquez dessus
+pour effacer le &ldquo;X&rdquo;.</para></listitem>
+<listitem><para>Dans notre exemple, le poste Windows for Workgroups est celui
+qui s'appelle &ldquo;Moe&rdquo;; dans la zone &ldquo;Adresse IP&rdquo;, entrez
+&ldquo;192.168.1.3&rdquo;,</para></listitem>
+<listitem><para>Entrez &ldquo;255.255.255.0&rdquo; dans le zone
+&ldquo;Masque de Sous-r&eacute;seau&rdquo;.</para></listitem>
+</itemizedlist>
+</sect3>
+<sect3>
+<title>Configurer les informations relatives &agrave; la passerelle</title>
+<para>Dans le r&eacute;seau de notre exemple, c'est le syst&egrave;me FreeBSD qui sera notre
+passerelle vers l'Internet (routant les paquets entre le r&eacute;seau local Ethernet
+et la connexion PPP).</para>
+<itemizedlist>
+<listitem><para>Entrez l'adresse IP de l'interface Ethernet de la
+machine FreeBSD, &ldquo;192.168.1.1&rdquo;, dans la zone
+&ldquo;Passerelle par D&eacute;faut&rdquo;.</para></listitem>
+</itemizedlist>
+</sect3>
+<sect3>
+<title>Configurer les informations relatives au DNS</title>
+<para>Nous supposons toujours que votre fournisseur d'acc&egrave;s Internet vous a
+donn&eacute; une liste de serveurs de noms de domaines (Domain Name Servers)&nbsp;-&nbsp;ou
+&ldquo;Serveurs DNS&rdquo;&nbsp;-&nbsp;que vous devez utiliser.</para>
+<para>Si vous voulez
+mettre en service un serveur DNS sur votre machine FreeBSD, reportez-vous
+au chapitre
+<link linkend="sect7">Exercices pour l'&eacute;tudiant int&eacute;ress&eacute;</link> pour avoir des indications sur
+l'installation d'un serveur DNS sur une machine FreeBSD.</para>
+<itemizedlist>
+<listitem><para>Cliquez sur l'onglet &ldquo;Configuration DNS&rdquo;,</para>
+</listitem>
+<listitem><para>Dans la zone &ldquo;H&ocirc;te&rdquo;, entrez le nom du poste
+Windows for Workgroups, dans notre cas : &ldquo;Moe&rdquo;,</para></listitem>
+<listitem><para>Dans la zone &ldquo;Domaine&rdquo;, entrez le nom du r&eacute;seau
+local, dans notre cas : &ldquo;my.domain&rdquo;,</para></listitem>
+<listitem><para>Dans la zone &ldquo;Ordre de recherche DNS&rdquo;,
+entrez les adresses
+IP des serveurs DNS que votre fournisseur vous a donn&eacute;es, cliquez sur
+&ldquo;Ajouter&rdquo; &agrave; chaque adresse que vous d&eacute;finissez. R&eacute;p&eacute;tez l'op&eacute;ration
+autant de fois que n&eacute;cessaire pour entrer toutes les adresses que votre
+fournisseur vous a indiqu&eacute;es,</para></listitem>
+<listitem><para>Cliquez sur &ldquo;OK&rdquo; pour fermer la fen&ecirc;tre
+&ldquo;Configuration DNS&rdquo;.</para></listitem>
+</itemizedlist>
+</sect3>
+<sect3>
+<title>Pour finir</title>
+<itemizedlist>
+<listitem><para>Cliquez sur &ldquo;OK&rdquo; pour fermer la fen&ecirc;tre
+&ldquo;Propri&eacute;t&eacute;s TCP/IP&rdquo;,</para></listitem>
+<listitem><para>Cliquez sur &ldquo;OK&rdquo; pour fermer la fen&ecirc;tre
+&ldquo;Panneau de Contr&ocirc;le R&eacute;seau&rdquo;,</para></listitem>
+<listitem><para>Red&eacute;marrez votre ordinateur si on vous le demande.</para>
+</listitem>
+</itemizedlist>
+<para>C'est tout!</para>
+</sect3>
+</sect2>
+</sect1>
+<sect1 id="sect6">
+<title>Tester le r&eacute;seau</title>
+<para>Une fois que vous aurez termin&eacute; les op&eacute;rations n&eacute;cessaires d&eacute;crites plus
+haut, votre passerelle PPP vers l'Internet devrait &ecirc;tre op&eacute;rationnelle.</para>
+<sect2>
+<title>Tester la connexion vers l'ext&eacute;rieur</title>
+<para>La premi&egrave;re chose &agrave; v&eacute;rifier est que la connexion s'&eacute;tablisse entre votre
+modem et votre fournisseur d'acc&egrave;s.</para>
+</sect2>
+<sect2>
+<title>Tester le r&eacute;seau local</title>
+<para>*** &agrave; faire ***</para>
+</sect2>
+</sect1>
+<sect1 id="sect7">
+<title>Exercices pour l'&eacute;tudiant int&eacute;ress&eacute;</title>
+<sect2>
+<title>G&eacute;rer un mini-DNS</title>
+<para>Bien que g&eacute;rer une hi&eacute;rarchie du service de noms de domaines
+(&ldquo;Domain Name Service&rdquo;&nbsp;-&nbsp;DNS) puisse &ecirc;tre une t&acirc;che
+diabolique, il est tout &agrave; fait faisable d'installer un mini-serveur
+DNS sur le syt&egrave;me FreeBSD qui vous sert aussi de passerelle vers votre
+fournisseur d'acc&egrave;s.</para>
+<para>A partir des fichiers existants dans <filename>/etc/namedb</filename>
+apr&egrave;s installation de FreeBSD, il est possible de d&eacute;finir un serveur DNS qui
+ait autorit&eacute; sur le r&eacute;seau de notre exemple et serve d'interface avec
+l'architecture DNS de l'Internet.</para>
+<para>Pour cette configuration minimale, il suffit de trois fichiers:</para>
+<itemizedlist>
+<listitem><para><filename>/etc/namedb/named.boot</filename></para></listitem>
+<listitem><para><filename>/etc/namedb/named.root</filename></para></listitem>
+<listitem><para><filename>/etc/namedb/mydomain.db</filename></para></listitem>
+</itemizedlist>
+<para>Le fichier <filename>/etc/namedb/named.root</filename> est automatiquement
+initialis&eacute; &agrave; l'installation de FreeBSD, les deux autres fichiers doivent &ecirc;tre
+renseign&eacute;s manuellement.</para>
+<sect3>
+<title>Le fichier <filename>/etc/namedb/named.boot</filename></title>
+<para>Le fichier <filename>/etc/namedb/named.boot</filename> d&eacute;crit la
+configuration initiale du serveur DNS. Essentiellement, il indique au
+serveur de noms:</para>
+<orderedlist>
+<listitem><para>O&ugrave; sont les fichiers de configuration,</para></listitem>
+<listitem><para>De quels &ldquo;noms de domaines&rdquo; il a la
+responsabilit&eacute;,</para></listitem>
+<listitem><para>O&ugrave; trouver les autres serveurs DNS.</para></listitem>
+</orderedlist>
+<para>Avec l'&eacute;diteur <command>ee</command>, cr&eacute;ez un fichier
+<filename>/etc/namedb/named.boot</filename> comme suit:</para>
+<para>
+<programlisting>
+
+; fichier de d&eacute;marrage pour un mini-serveur de noms de domaines
+
+directory /etc/namedb
+
+; type domain source machine/fichier fichier de sauvegarde
+
+cache . named.root
+primary my.domain. mydomain.db
+</programlisting>
+</para>
+<para>Les lignes qui commencent par un point-virgule sont des commentaires.
+Voici la signification des autres lignes:</para>
+<itemizedlist>
+<listitem>
+<para>
+<programlisting>
+directory /etc/namedb
+</programlisting>
+</para>
+<para>Dit au serveur de noms o&ugrave; trouver les fichiers de configuration r&eacute;f&eacute;renc&eacute;s
+dans la suite du fichier <filename>/etc/namedb/named.boot</filename>.</para>
+</listitem>
+<listitem>
+<para>
+<programlisting>
+cache . named.root
+</programlisting>
+</para>
+<para>Dit au serveur de noms que la liste des serveurs de la racine (&ldquo;Root
+Servers&rdquo;) se trouve dans le fichier <filename>named.root</filename>. (Ce
+fichier est inclus dans l'installation standard et n'est pas d&eacute;crit ici.)</para>
+</listitem>
+<listitem>
+<para>
+<programlisting>
+primary my.domain mydomain.db
+</programlisting>
+</para>
+<para>Dit au serveur de noms qu'il a &ldquo;autorit&eacute;&rdquo; sur un domaine DNS
+appel&eacute; &ldquo;my.domain&rdquo; et que la liste des adresses IP des machines
+du domaine &ldquo;my.domain&rdquo; (le r&eacute;seau local) se trouve dans le fichier
+<filename>/etc/namedb/mydomain.db</filename>.
+</para>
+</listitem>
+</itemizedlist>
+<para>Une fois cr&eacute;&eacute; et sauvegard&eacute; le fichier
+<filename>/etc/namedb/named.boot</filename>, passez &agrave; l'&eacute;tape suivante pour
+cr&eacute;er le fichier <filename>/etc/namedb/named.db</filename>.</para>
+</sect3>
+<sect3>
+<title>Le fichier <filename>/etc/namedb/named.db</filename></title>
+<para>Le fichier <filename>/etc/namedb/named.boot</filename> liste les noms
+et les adresses IP de <emphasis>toutes</emphasis> les machines du r&eacute;seau
+local.</para>
+<para><emphasis>Pour une description d&eacute;taill&eacute;e des instructions de ce fichier,
+reportez-vous aux pages de manuel de <command>named</command></emphasis>.</para>
+<para>Le fichier <filename>/etc/namedb/named.boot</filename> de notre serveur
+DNS minimum contient les lignes suivantes:</para>
+<para>
+<programlisting>
+@ IN SOA my.domain. root.my.domain. (
+ 961230 ; Serial
+ 3600 ; Refresh
+ 300 ; Retry
+ 3600000 ; Expire
+ 3600 ) ; Minimum
+ IN NS curly.my.domain.
+
+curly.my.domain. IN A 192.168.1.1 # The FreeBSD box
+larry.my.domain. IN A 192.168.1.2 # The Win'95 box
+moe.my.domain. IN A 192.168.1.3 # The WfW box
+shemp.my.domain. IN A 192.168.1.4 # The Windows NT box
+
+$ORIGIN 1.168.192.IN-ADDR.ARPA
+ IN NS curly.my.domain.
+1 IN PTR curly.my.domain.
+2 IN PTR larry.my.domain.
+3 IN PTR moe.my.domain.
+4 IN PTR shemp.my.domain.
+
+$ORIGIN 0.0.127.IN-ADDR.ARPA
+ IN NS curly.my.domain.
+1 IN PTR localhost.my.domain.
+</programlisting>
+</para>
+<para>Bri&egrave;vement, ce fichier d&eacute;clare que le serveur DNS local est:</para>
+<itemizedlist>
+<listitem><para>Le &ldquo;D&eacute;but d'Autorit&eacute;&rdquo; (Start Of Authority) pour
+le domaine appel&eacute; &ldquo;my.domain&rdquo;,</para></listitem>
+<listitem><para>Le serveur de noms (Name Server&nbsp;-&nbsp;&ldquo;NS&rdquo;) pour
+&ldquo;my.domain&rdquo;,</para></listitem>
+<listitem><para>Responsable de la r&eacute;solution inverse des adresses IP qui
+commencent par &ldquo;192.168.1&rdquo; et &ldquo;127.0.0&rdquo;
+(&ldquo;$ORIGIN ...&rdquo;).</para></listitem>
+</itemizedlist>
+<para>Pour ajouter de nouvelles machines, vous devez ajouter deux lignes pour
+chaque syst&egrave;me; une dans la section du haut o&ugrave; les noms des syst&egrave;mes sont
+associ&eacute;s aux adresses Internet (&ldquo;IN A&rdquo;), et une autre ligne qui
+associe inversement l'adresse au nom de la machine (&ldquo;IN PTR&rdquo;),
+dans la section
+&ldquo;$ORIGIN 1.168.192.IN-ADDR.ARPA&rdquo;.</para>
+</sect3>
+<sect3>
+<title>D&eacute;marrer le serveur DNS</title>
+<para>Par d&eacute;faut, le serveur DNS (<filename>/etc/sbin/named</filename>) n'est
+pas lanc&eacute; au d&eacute;marrage du syst&egrave;me. Vous pouvez modifier ce comportement en
+rectifiant une seule ligne dans le fichier <filename>/etc/rc.conf</filename>,
+comme suit:</para>
+<para>Avec l'&eacute;diteur <command>ee</command>, visualisez le fichier
+<filename>/etc/rc.conf</filename>. Descendez d'une quarantaine de lignes jusqu'&agrave;
+ce que vous trouviez la section qui dit:</para>
+<para>
+<programlisting>
+---
+named_enable="NO" # Run named, the DNS server (or NO).
+named_flags="-b /etc/namedb/named.boot" # Flags to named (if enabled).
+---
+</programlisting>
+</para>
+<para>et modifiez-la en:</para>
+<para>
+<programlisting>
+---
+named_enable="YES" # Run named, the DNS server (or NO).
+named_flags="-b /etc/namedb/named.boot" # Flags to named (if enabled).
+---
+</programlisting>
+</para>
+<para>Sauvegardez le fichier et red&eacute;marrez le syst&egrave;me.</para>
+<para>Vous pouvez aussi d&eacute;marrer le serveur DNS avec la commande
+suivante:</para>
+<para>
+<userinput>
+<prompt>#</prompt> named -b /etc/namedb/named.boot
+</userinput>
+</para>
+<para>Chaque fois que vous modifiez les fichiers du r&eacute;pertoire
+<filename>/etc/namedb/named.boot</filename>, vous devez faire relire ces
+modifications par le serveur DNS avec la commande suivante:</para>
+<para>
+<userinput>
+<prompt>#</prompt> kill -HUP `cat /var/run/named.pid`
+</userinput>
+</para>
+</sect3>
+</sect2>
+<sect2>
+<title>Essayer les filtres PPP</title>
+<para>Le programme <command>ppp</command> a la capacit&eacute; d'appliquer des r&egrave;gles
+de filtrage au trafic qu'il route. Bien que cela ne soit pas aussi s&eacute;curis&eacute;
+qu'un v&eacute;ritable coupe-feu, cela autorise quelques contr&ocirc;les d'acc&egrave;s &agrave; la
+liaison.</para>
+<para>(&ldquo;<filename>man ipfw</filename>&rdquo; pour plus
+d'informations sur la configuration d'un syst&egrave;me FreeBSD plus s&eacute;curis&eacute;.)</para>
+<para>La documentation compl&egrave;te des diff&eacute;rents filtres et r&egrave;gles utilisables
+avec le programme <command>ppp</command> se trouve dans les pages de manuel
+de <command>ppp</command>.</para>
+<para>Il y a quatre classes de filtres qui s'appliquent au programme
+<command>ppp</command>:</para>
+<itemizedlist>
+<listitem>
+<para><filename>afilter</filename>&nbsp;-&nbsp;filtre compteur d'acc&egrave;s
+(ou &ldquo;Keep Alive&rdquo;&nbsp;-&nbsp;garder en vie)</para>
+<para>Ils d&eacute;finissent quels &eacute;v&eacute;nements sont ignor&eacute;s par l'instruction
+<filename>set timeout=</filename>.</para>
+</listitem>
+<listitem>
+<para><filename>dfilter</filename>&nbsp;-&nbsp;filtre d'appel</para>
+<para>Ils d&eacute;finissent quels &eacute;v&eacute;nements sont ignor&eacute;s par <command>ppp</command>
+en mode connexion &agrave; la demande.</para>
+</listitem>
+<listitem>
+<para><filename>ifilter</filename>&nbsp;-&nbsp;filtre d'entr&eacute;e</para>
+<para>Ils d&eacute;finissent quels paquets entrants sont accept&eacute;s ou
+refus&eacute;s par le programme <command>ppp</command>.</para>
+</listitem>
+<listitem>
+<para><filename>ofilter</filename>&nbsp;-&nbsp;filtre de sortie</para>
+<para>Ils d&eacute;finissent quels paquets sortants sont accept&eacute;s ou
+refus&eacute;s par le programme <command>ppp</command>.</para>
+</listitem>
+</itemizedlist>
+<para>L'exemple qui suit est un extrait de la configuration d'un syst&egrave;me
+op&eacute;rationnel qui donne une bonne base pour un fonctionnement Internet
+&ldquo;normal&rdquo;, tout en emp&ecirc;chant que <command>ppp</command> accepte
+n'importe quoi sur la liaison. Les commentaires d&eacute;crivent la logique de
+chaque jeu de r&egrave;gles.:</para>
+<para>
+<programlisting>
+ #
+ # filtres KeepAlive
+ # ne pa prendre en compte les paquets ICMP,DNS et RIP
+ #
+ set afilter 0 deny icmp
+ set afilter 1 deny udp src eq 53
+ set afilter 2 deny udp dst eq 53
+ set afilter 3 deny udp src eq 520
+ set afilter 4 deny udp dst eq 520
+ set afilter 5 permit 0/0 0/0
+ #
+ # filtre d'appel:
+ # Note: ICMP &eacute;tablira la connexion dans cette configuration!
+ #
+ set dfilter 0 permit 0/0 0/0
+ #
+ # autoriser les paquets ident
+ #
+ set ifilter 0 permit tcp dst eq 113
+ set ofilter 0 permit tcp src eq 113
+ #
+ # autoriser les connexions telnet &agrave; l'Internet
+ #
+ set ifilter 1 permit tcp src eq 23 estab
+ set ofilter 1 permit tcp dst eq 23
+ #
+ # autoriser l'acc&egrave;s ftp &agrave; l'Internet
+ #
+ set ifilter 2 permit tcp src eq 21 estab
+ set ofilter 2 permit tcp dst eq 21
+ set ifilter 3 permit tcp src eq 20 dst gt 1023
+ set ofilter 3 permit tcp dst eq 20
+ #
+ # autoriser les requ&ecirc;tes DNS
+ #
+ set ifilter 4 permit udp src eq 53
+ set ofilter 4 permit udp dst eq 53
+ #
+ # autoriser les transferts de zone DNS
+ #
+ set ifilter 5 permit tcp src eq 53
+ set ofilter 5 permit tcp dst eq 53
+ #
+ # autoriser l'acc&egrave;s depuis/vers le r&eacute;seau local
+ #
+ set ifilter 6 permit 0/0 192.168.1.0/24
+ set ofilter 6 permit 192.168.1.0/24 0/0
+ #
+ # autoriser les r&eacute;ponses au ping et traceroute
+ #
+ set ifilter 7 permit icmp
+ set ofilter 7 permit icmp
+ set ifilter 8 permit udp dst gt 33433
+ set ofilter 9 permit udp dst gt 33433
+ #
+ # autoriser cvsup
+ #
+ set ifilter 9 permit tcp src eq 5998
+ set ofilter 9 permit tcp dst eq 5998
+ set ifilter 10 permit tcp src eq 5999
+ set ofilter 10 permit tcp dst eq 5999
+ #
+ # autoriser NTP pour la synchronization des horloges
+ #
+ set ifilter 11 permit tcp src eq 123 dst eq 123
+ set ofilter 11 permit tcp src eq 123 dst eq 123
+ set ifilter 12 permit udp src eq 123 dst eq 123
+ set ofilter 12 permit udp src eq 123 dst eq 123
+ #
+ # SMTP serait une bonne id&eacute;e!
+ #
+ set ifilter 13 permit tcp src eq 25
+ set ofilter 13 permit tcp dst eq 25
+ #
+ #
+ # nous utilisons beaucoup whois, donc nous le laissons passer
+ #
+ set ifilter 14 permit tcp src eq 43
+ set ofilter 14 permit tcp dst eq 43
+ set ifilter 15 permit udp src eq 43
+ set ofilter 15 permit udp dst eq 43
+ #
+ # si aucune des conditions ci-dessus n'est remplie, le paquet est refus&eacute;
+ #-------
+</programlisting>
+</para>
+<para>Il peut y avoir jusqu'&agrave; vingt r&egrave;gles dans chaque classe de filtres. Dans
+chaque classe, les r&egrave;gles sont num&eacute;rot&eacute;es s&eacute;quentiellement de 0 &agrave; 20,
+<emphasis>mais aucune r&egrave;gle dans une classe particuli&egrave;re n'est appliqu&eacute;e tant
+que la r&egrave;gle &ldquo;0&rdquo; n'est pas d&eacute;finie!</emphasis></para>
+<para>Si vous d&eacute;cidez de <emphasis>ne pas</emphasis> utiliser de r&egrave;gles de
+filtrage dans votre configuration du programme <command>ppp</command>, alors
+<emphasis>TOUT</emphasis> le trafic de/vers votre syst&egrave;me sera accept&eacute; lorsqu'il
+est connect&eacute; &agrave; votre fournisseur d'acc&egrave;s.</para>
+<para>Si vous d&eacute;cidez d'appliquer des r&egrave;gles de filtrages, ajoutez les lignes
+pr&eacute;c&eacute;dentes &agrave; votre fichier <filename>/etc/ppp/ppp.conf</filename> dans l'une
+des sections &ldquo;default&rdquo;, &ldquo;demand&rdquo; ou
+&ldquo;interactive&rdquo; (ou &agrave; toutes&nbsp;-&nbsp;c'est &agrave; vous de voir).</para>
+</sect2>
+</sect1>
+</article>
diff --git a/fr_FR.ISO_8859-1/articles/programming-tools/Makefile b/fr_FR.ISO_8859-1/articles/programming-tools/Makefile
new file mode 100644
index 0000000000..72c1d9b8c9
--- /dev/null
+++ b/fr_FR.ISO_8859-1/articles/programming-tools/Makefile
@@ -0,0 +1,20 @@
+#
+# The FreeBSD Documentation Project
+# The FreeBSD French Documentation Project
+#
+# $FreeBSD$
+# Original revision: 1.4
+#
+
+DOC?= article
+
+FORMATS?= html
+
+INSTALL_COMPRESSED?=gz
+INSTALL_ONLY_COMPRESSED?=
+
+SRCS= article.sgml
+
+DOC_PREFIX?= ${.CURDIR}/../../..
+
+.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/fr_FR.ISO_8859-1/articles/programming-tools/article.sgml b/fr_FR.ISO_8859-1/articles/programming-tools/article.sgml
new file mode 100755
index 0000000000..064144f61c
--- /dev/null
+++ b/fr_FR.ISO_8859-1/articles/programming-tools/article.sgml
@@ -0,0 +1,2001 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+<!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN" [
+<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> %man;
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES Common Document URL Entities//FR"> %urls;
+<!ENTITY % abstract PUBLIC "-//FreeBSD//ENTITIES DocBook Abstract Entities//FR"> %abstract;
+<!ENTITY % artheader PUBLIC "-//FreeBSD//ENTITIES DocBook ArtHeader Entities//FR"> %artheader;
+<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//FR"> %translators;
+
+<!ENTITY % authors SYSTEM "../../../en_US.ISO_8859-1/books/handbook/authors.ent"> %authors;
+<!ENTITY % mailing-lists SYSTEM "../../books/handbook/mailing-lists.ent"> %mailing-lists;
+ <!ENTITY rel.current CDATA "3.2">
+]>
+
+<article LANG="fr">
+ <artheader>
+ <title>Les outils de d&eacute;veloppement sous FreeBSD : Guide de
+ l'utilisateur</title>
+ <authorgroup>
+ <author>
+ <firstname>James</firstname>
+ <surname>Raynard</surname>
+ <affiliation>
+ <address>
+ <email>jraynard@freebsd.org</email>
+ </address>
+ </affiliation>
+ </author>
+ </authorgroup>
+ <abstract>
+ <para>17 Ao&ucirc;t 1997</para>
+ <para>Copyright &copy; James Raynard, 1997.</para>
+ <para>Ce document est une introduction &agrave; l'utilisation de
+ quelques-uns des outils de programmation fournis avec FreeBSD,
+ quoique l'essentiel reste aussi valable pour de nombreuses autres
+ versions d'Unix. Il ne cherche <emphasis>pas</emphasis> &agrave;
+ expliquer en d&eacute;tail comment coder. La plus grande partie du
+ document suppose que vous n'avez aucune ou peu de notions
+ pr&eacute;alables de programmation, bien que l'on esp&egrave;re
+ que la plupart des programmeurs y trouveront quelque chose qui leur
+ sera utile.</para>
+ &abstract.disclaimer;
+ &trans.a.haby;
+ </abstract>
+ </artheader>
+ <sect1>
+ <title>Introduction<anchor id=foo></title>
+ <para>FreeBSD fournit un excellent environnement de d&eacute;veloppement.
+ Le syst&egrave;me de base comprend des compilateurs C, C++ et Fortran,
+ et un assembleur, pour ne pas mentionner l'interpr&eacute;teur Perl et
+ les outils Unix classiques comme <command>sed</command> et
+ <command>awk</command>. Si cela ne vous suffit pas, il y a beaucoup
+ d'autres compilateurs et interpr&eacute;teurs au catalogue des logiciels
+ port&eacute;s. FreeBSD est tr&egrave;s largement compatible avec les
+ standards comme <acronym>POSIX</acronym> et <acronym>ANSI</acronym> C,
+ de m&ecirc;me qu'avec son propre h&eacute;ritage BSD, il est donc
+ possible d'&eacute;crire des applications qui compilent et
+ s'ex&eacute;cutent sur une grande vari&eacute;t&eacute; de
+ plates-formes.</para>
+ <para>Toute cette puissance, toutefois, peut submerger au premier abord,
+ si vous n'avez jamais auparavant &eacute;crit de programme sur une
+ plate-forme Unix. Ce document vise &agrave; vous aider &agrave; vous
+ y mettre, sans approfondir trop les questions les plus avanc&eacute;es.
+ L'intention est de vous fournir suffisamment de bases pour vous
+ permettre de tirer ensuite profit de la documentation.</para>
+ <para>La plus grande partie du document ne demande aucune ou peu de
+ connaissance de la programmation mais suppose une comp&eacute;tence de
+ base dans l'utilisation d'Unix et la volont&eacute; d'apprendre!</para>
+ </sect1>
+ <sect1>
+ <title>Introduction &agrave; la programmation</title>
+ <para>Un programme est une s&eacute;rie d'instructions qui dit &agrave;
+ l'ordinateur de faire des choses diverses; l'instruction qu'il doit
+ ex&eacute;cuter d&eacute;pend parfois de ce qui s'est pass&eacute;
+ lorsqu'il a ex&eacute;cut&eacute; une instruction
+ pr&eacute;c&eacute;dente. Cette section vous donne un aper&ccedil;u
+ des deux principales m&eacute;thodes pour transmettre ces instructions,
+ ou &ldquo;commandes&rdquo; comme on les appellent. L'une est d'utiliser
+ un <firstterm>interpr&eacute;teur</firstterm>, l'autre de se servir d'un
+ <firstterm>compilateur</firstterm>. Comme les langues humaines sont trop
+ compliqu&eacute;es pour &ecirc;tre comprises sans ambigu&iuml;t&eacute;
+ par un ordinateur, les commandes sont g&eacute;n&eacute;ralement
+ &eacute;crites dans l'un ou l'autre des languages sp&eacute;cialement
+ con&ccedil;us &agrave; cet effet.</para>
+ <sect2>
+ <title>Interpr&eacute;teurs</title>
+ <para>Dans le cas d'un interpr&eacute;teur, le langage s'accompagne d'un
+ environnement, sous lequel vous tapez des commandes &agrave; son invite
+ et qui les ex&eacute;cute pour vous. Pour des programmes plus
+ compliqu&eacute;s, vous pouvez saisir les commandes dans un fichier
+ et le faire charger et ex&eacute;cuter les commandes qu'il contient par
+ l'interpr&eacute;teur. Si quelque chose se passe mal, la plupart des
+ interpr&eacute;teurs passeront le contr&ocirc;le &agrave; un
+ d&eacute;bogueur pour vous aider &agrave; trouver l'origine du
+ probl&egrave;me.</para>
+ <para>Cela a l'avantage de vous permettre de voir imm&eacute;diatement
+ le r&eacute;sultat de vos commandes et de corriger sur le champ vos
+ erreurs. Le principal inconv&eacute;nient survient lorsque vous voulez
+ partager vos programmes avec d'autres. Il faut qu'ils aient le
+ m&ecirc;me interpr&eacute;teur que vous ou que vous ayez le moyen de
+ leur fournir cet interpr&eacute;teur; il faut aussi qu'ils comprennent
+ comment s'en servir. Les utilisateurs peuvent aussi ne pas
+ appr&eacute;cier de se retrouver sous un d&eacute;bogueur s'ils
+ appuyent sur la mauvaise touche! Du point de vue de la performance,
+ les interpr&eacute;teurs utilisent parfois beaucoup de m&eacute;moire
+ et ne g&eacute;n&eacute;rent habituellement pas le code aussi
+ efficacement que les compilateurs.</para>
+ <para>A mon avis, les langages interpr&eacute;t&eacute;s sont le meilleur
+ moyen de d&eacute;buter si vous n'avez jamais programm&eacute;
+ auparavant. On trouve typiquement ce genre d'environnement avec des
+ langages tels que Lisp, Smalltalk, Perl et Basic. On peut aussi
+ avancer que le <foreignphrase>shell</foreignphrase> Unix est
+ lui-m&ecirc;me un interpr&eacute;teur, beaucoup &eacute;crivent en fait
+ avec des
+ proc&eacute;dures&nbsp;-&nbsp;<foreignphrase>scripts</foreignphrase>&nbsp;-&nbsp;pour
+ se faciliter le travail d'administration de leur machine. De fait,
+ une partie de la philosphie d'origine d'Unix &eacute;tait de fournir
+ nombre de petits programmes utilitaires qui puissent &ecirc;tre
+ utilis&eacute;s de concert dans des proc&eacute;dures pour effectuer
+ des t&acirc;ches utiles.</para>
+ </sect2>
+ <sect2>
+ <title>Interpr&eacute;teurs disponibles pour FreeBSD</title>
+
+ <para>Voici une liste des interpr&eacute;teurs disponibles sous forme de
+ <ulink URL="ftp://ftp.freebsd.org/pub/FreeBSD/packages/">&ldquo;paquetages&rdquo;</ulink>
+ FreeBSD, accompagn&eacute;e d'une br&egrave;ve description des langages
+ interpr&eacute;t&eacute;s les plus r&eacute;pandus.</para>
+ <para>Pour vous procurer l'un de ces &ldquo;paquetages&rdquo;, il vous
+ suffit de cliquer sur le lien correspondant et d'ex&eacute;cuter
+ ensuite:</para>
+<screen>&prompt.root; <userinput>pkg_add <replaceable>nom_du_paquetage</replaceable></userinput></screen>
+ <para>sous le compte super-utilisateur <username>root</username>. Il faut
+ bien &eacute;videmment que vous ayez un syst&egrave;me FreeBSD 2.1.0
+ ou ult&eacute;rieur en &eacute;tat de marche pour que le logiciel
+ fonctionne.</para>
+ <variablelist>
+ <varlistentry>
+ <term><acronym>BASIC</acronym></term>
+ <listitem>
+ <para>Abr&eacute;viation pour &ldquo;<foreignphrase>Beginner's
+ All-purpose Symbolic Instruction
+ Code</foreignphrase>&rdquo;&nbsp;-&nbsp;code d'instructions
+ symbolique universel pour les d&eacute;butants.
+ D&eacute;velopp&eacute; dans les ann&eacute;es 50 pour apprendre
+ la programmation aux &eacute;tudiants des Universit&eacute;s et
+ fourni avec tout ordinateur personnel qui se respectait dans les
+ ann&eacute;es 80, <acronym>BASIC</acronym> a &eacute;t&eacute; le
+ premier langage pour de nombreux programmeurs. C'est aussi la base
+ de <trademark>Visual Basic</trademark>.</para>
+ <para>L'<ulink URL="ftp://ftp.freebsd.org/pub/FreeBSD/packages/lang/bwbasic-2.10.tgz">interpr&eacute;teur
+ Basic Bywater</ulink> et
+ l'<ulink URL="ftp://ftp.freebsd.org/pub/FreeBSD/packages/lang/pbasic-2.0.tgz">interpr&eacute;teur
+ Basic de Phil Cockroft</ulink> (appel&eacute; auparavant
+ &ldquo;Rabbit Basic&rdquo;) sont disponibles sous forme de
+ <ulink URL="ftp://ftp.freebsd.org/pub/FreeBSD/packages/">&ldquo;paquetages&rdquo;
+ FreeBSD</ulink>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Lisp</term>
+ <listitem>
+ <para>Un langage d&eacute;velopp&eacute; &agrave; la fin des
+ ann&eacute;es 1950 comme alternative aux langages
+ &ldquo;d&eacute;voreurs de nombres&rdquo; qui e&acute;taient
+ populaires &agrave; l'&eacute;poque. Au lieu d'&ecirc;tre
+ bas&eacute; sur les nombres, Lisp repose sur les listes; de fait,
+ son nom est une abr&eacute;viation pour &ldquo;<foreignphrase>List
+ Processing</foreignphrase>&rdquo;&nbsp;-&nbsp;traitement de
+ listes. Tr&eacute;s r&eacute;pandu dans les milieux de l'IA
+ (Intelligence Artificielle).</para>
+ <para>Lisp est un langage tr&egrave;s puissant et
+ sophistiqu&eacute;, mais peut &ecirc;tre assez lourd et
+ bavard.</para>
+ <para>FreeBSD dispose de
+ <ulink URL="ftp://ftp.freebsd.org/pub/FreeBSD/packages/gcl-2.0.tgz">GNU
+ Common Lisp</ulink> sous forme de &ldquo;paquetage&rdquo;.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Perl</term>
+ <listitem>
+ <para>Tr&egrave;s employ&eacute; par les administrateurs
+ syst&egrave;me pour &eacute;crire des proc&eacute;dures; et
+ souvent aussi sur les serveurs <foreignphrase>World Wide
+ Web</foreignphrase> pour &eacute;crire des proc&eacute;dures
+ <acronym>CGI</acronym>.</para>
+ <para>La Version 4, qui est probablement encore la version la plus
+ largement r&eacute;pandue est fournie avec FreeBSD; le plus
+ r&eacute;cent
+ <ulink URL="ftp://ftp.freebsd.org/pub/FreeBSD/packages/lang/perl-5.001.tgz">Perl
+ Version 5</ulink> est disponible sous forme de
+ &ldquo;paquetage&rdquo;.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Scheme</term>
+ <listitem>
+ <para>Un dialecte de Lisp qui est plut&ocirc;t plus compact et plus
+ propre que Common Lisp. Courant dans les Universit&eacute;s parce
+ qu'il est assez facile &agrave; enseigner en premier cycle comme
+ langage d'initiation et pr&eacute;sente un niveau d'abstraction
+ suffisant pour &ecirc;tre utilis&eacute; pour du travail de
+ recherche.</para>
+ <para>FreeBSD offre en &ldquo;paquetages&rdquo;
+ l'<ulink URL="ftp://ftp.freebsd.org/pub/FreeBSD/packages/lang/elk-3.0.tgz">Interpr&eacute;teur
+ Scheme Elk</ulink>,
+ l'<ulink URL="ftp://ftp.freebsd.org/pub/FreeBSD/packages/lang/mit-scheme-7.3.tgz">Interpr&eacute;teur Scheme du MIT</ulink> et
+ l'<ulink URL="ftp://ftp.freebsd.org/pub/FreeBSD/packages/lang/scm-4e1.tgz">Interpr&eacute;teur
+ Scheme SCM</ulink>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Icon</term>
+ <listitem>
+ <para><ulink URL="ftp://ftp.freebsd.org/pub/FreeBSD/packages/lang/icon-9.0.tgz">Le
+ langage de programmation Icon</ulink>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Logo</term>
+ <listitem>
+ <para><ulink URL="ftp://ftp.freebsd.org:pub/FreeBSD/packages/lang/ucblogo-3.3.tgz">L'interpr&eacute;teur
+ LOGO de Brian Harvey</ulink>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>Python</term>
+ <listitem>
+ <para><ulink URL="ftp://ftp.freebsd.org/pub/FreeBSD/packages/lang/python-1.2">Le
+ langage de programmation orient&eacute; objet Python</ulink>.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect2>
+ <sect2>
+ <title>Compilateurs</title>
+ <para>Les compilateurs sont assez diff&eacute;rents. Vous &eacute;crivez
+ d'abord votre code dans un(des) fichiers(s) &agrave; l'aide d'un
+ &eacute;diteur. Vous ex&eacute;cutez ensuite le compilateur et voyez
+ s'il valide votre programme. S'il ne le compile pas, serrez les dents et
+ retournez sous l'&eacute;diteur. S'il le compile et vous en fait un
+ programme, vous pouvez l'utiliser soit &agrave; l'invite de
+ l'interpr&eacute;teur de commande, soit en vous servant d'un
+ d&eacute;bogueur pour voir s'il fonctionne
+ correctement<footnote><para>Dans
+ le cas contraire, si vous l'ex&eacute;cutez sur la ligne de commande, il
+ peut &eacute;ventuellement
+ planter&nbsp;-&nbsp;&ldquo;<foreignphrase>core
+ dump</foreignphrase>&rdquo;.</para></footnote>.</para>
+ <para>Ce n'est &eacute;videmment pas aussi imm&eacute;diat que de se
+ servir d'un interpr&eacute;teur. Cela vous permet cependant de faire
+ beaucoup de choses qui sont tr&egrave;s difficiles ou m&ecirc;me
+ irr&eacute;alisables avec un interpr&eacute;teur, comme &eacute;crire
+ du code qui interagisse &eacute;troitement avec le syst&egrave;me
+ d'exploitation&nbsp;-&nbsp; ou m&ecirc;me &eacute;crire votre propre
+ syst&egrave;me d'exploitation! C'est aussi utile si vous avez besoin
+ d'&eacute;crire du code tr&egrave;s efficace, parce que le compilateur
+ peut prendre son temps et optimiser le code, ce qui ne serait pas
+ acceptable d'un interpr&eacute;teur. Distribuer un programme
+ &eacute;crit pour un compilateur est g&eacute;n&eacute;ralement plus
+ facile&nbsp;-&nbsp;il suffit de livrer une copie de l'ex&eacute;cutable,
+ en supposant que les destinataires aient le m&ecirc;me syst&egrave;me
+ d'exploitation que vous.</para>
+ <para>Les langages compil&eacute;s incluent Pascal, C et C++. C et C++
+ sont des langages qui pardonnent assez peu, et plus adapt&eacute;s aux
+ programmeurs plus exp&eacute;riment&eacute;s. Pascal, d'un autre
+ c&ocirc;t&eacute;, a &eacute;t&eacute; con&ccedil;u pour l'enseignement,
+ et est un assez bon langage avec lequel commencer. Malheureusement,
+ FreeBSD n'a aucun support pour Pascal, &agrave; l'exception d'un
+ convertisseur de Pascal en C, au catalogue des logiciels
+ port&eacute;s.</para>
+ <para>Comme le cycle
+ &ldquo;&eacute;dition-compilation-ex&eacute;cution-d&eacute;bogage&rdquo;
+ est assez fastidieux, de nombreux fournisseurs de compilateurs
+ commerciaux
+ ont produit des Environnements de D&eacute;veloppement
+ Int&eacute;gr&eacute;s (<acronym>EDI</acronym> en abr&eacute;g&eacute;).
+ FreeBSD ne dispose pas d'<acronym>EDI</acronym> en tant que tel; il est
+ cependant possible d'utiliser Emacs &agrave; cet effet. C'est
+ expliqu&eacute; &agrave; la section <link linkend="emacs">Utiliser
+ Emacs comme environnement de d&eacute;veloppement</link>.</para>
+ </sect2>
+ </sect1>
+ <sect1>
+ <title>Compiler avec <command>cc</command></title>
+ <para>Cette section ne s'occupe que du compilateur GNU pour C et C++, qui
+ est fourni de base avec le syst&egrave;me FreeBSD. Il peut &ecirc;tre
+ appel&eacute; soit avec la commande <command>cc</command>, soit avec
+ <command>gcc</command>. Les d&eacute;tails de la r&eacute;alisation
+ d'un programme avec un interpr&eacute;teur varient consid&eacute;rablement
+ d'un interpr&eacute;teur &agrave; l'autre, est sont
+ g&eacute;n&eacute;ralement bien d&eacute;crits par l'aide en ligne de
+ l'interpr&eacute;teur.</para>
+ <para>Une fois que vous avez &eacute;crit votre chef-d'oeuvre,
+ l'&eacute;tape suivante consiste &agrave; le convertir en quelque chose
+ qui (esp&eacute;rons-le!) s'ex&eacute;cutera sous FreeBSD. Cela demande
+ habituellement plusieurs op&eacute;rations successives, dont chacune est
+ confi&eacute;e &agrave; un programme diff&eacute;rent.</para>
+ <procedure>
+ <step>
+ <para>Pr&eacute;-processer votre code source pour en &eacute;liminer les
+ commentaires et faire diverses autres choses, comme la substitution
+ des macros-instructions en C.</para>
+ </step>
+ <step>
+ <para>V&eacute;rifier la syntaxe de votre code pour s'assurer que vous
+ avez respect&eacute; les r&egrave;gles du langage. Si ce n'est pas le
+ cas, il rousp&eacute;tera.</para>
+ </step>
+ <step>
+ <para>Convertir le code source en langage
+ assembleur&nbsp;-&nbsp;c'est tr&egrave;s proche du code machine, mais
+ encore compr&eacute;hensible par des &ecirc;tres humains. C'est du
+ moins ce que l'on pr&eacute;tend<footnote><para>Pour &ecirc;tre
+ rigoureusement exact, <command>cc</command> convertit le code source
+ en un <firstterm>P-code</firstterm> qui lui est propre, et ne
+ d&eacute;pend pas de la machine, et non en assembleur &agrave; ce
+ stade.</para></footnote>.</para>
+ </step>
+ <step>
+ <para>Convertir le langage assembleur en code machine&nbsp;-&nbsp;oui,
+ nous parlons ici de bits et d'octets, de z&eacute;ros et de
+ uns.</para>
+ </step>
+ <step>
+ <para>V&eacute;rifier que vous avez utilis&eacute; de fa&ccedil;on
+ coh&eacute;rente les fonctions et les variables globales. Si, par
+ exemple, vous avez appel&eacute; une fonction qui n'existe pas, il
+ s'en plaindra.</para>
+ </step>
+ <step>
+ <para>Si vous essayez de g&eacute;n&eacute;rer un programme &agrave;
+ partir de plusieurs fichiers de source, faire ce qu'il faut pour
+ les regrouper.</para>
+ </step>
+ <step>
+ <para>S'arranger pour produire quelque chose que le chargeur de
+ programmes du syst&egrave;me pourra mettre en m&eacute;moire et
+ ex&eacute;cuter.</para>
+ </step>
+ </procedure>
+ <para>Le mot <firstterm>compiler</firstterm> est souvent utilis&eacute; pour
+ ne d&eacute;signer que les &eacute;tapes 1 &agrave; 4&nbsp;-&nbsp;les
+ autres sont appel&eacute;es <firstterm>&eacute;dition de
+ liens</firstterm>. L'&eacute;tape 1 est parfois appel&eacute;e
+ <firstterm>pr&eacute;-processer</firstterm> et les &eacute;tapes 3-4
+ <firstterm>assembler</firstterm>.</para>
+ <para>Heureusement, pratiquement tous ces d&eacute;tails vous sont
+ transparents, car la commande <command>cc</command> est une interface
+ qui g&egrave;re pour vous l'appel de ces diff&eacute;rents programmes
+ avec les bons arguments; taper simplement:</para>
+<screen>&prompt.user; <userinput>cc foobar.c</userinput></screen>
+ <para>effectue la compilation de <filename>foobar.c</filename> en passant
+ par toutes les &eacute;tapes d&eacute;crites ci-dessus. Si vous avez
+ &agrave; compiler plus d'un fichier, faites simplement quelque chose
+ comme:</para>
+<screen>&prompt.user; <userinput>cc foo.c bar.c</></screen>
+ <para>Notez que la v&eacute;rification syntaxique ne consiste qu'en cela:
+ v&eacute;rifier la syntaxe. Il n'y aura pas de contr&ocirc;le sur les
+ erreurs logiques que vous auriez commises, comme faire ex&eacute;cuter
+ au programme une boucle infinie ou utiliser un tri &agrave; bulles au lieu
+ d'un tri par arbre binaire<footnote><para>Au cas o&ugrave; vous ne le
+ sauriez pas, un tri par arbre binaire est une mani&egrave;re efficace
+ d'ordonner des donn&eacute;es, ce qui n'est pas le cas du tri
+ &agrave; bulles.</para></footnote>.</para>
+ <para><command>cc</command> dispose d'une quantit&eacute; d'options, qui
+ sont toutes d&eacute;crites dans les pages de manuel. En voici
+ quelques-unes des plus importantes, et la fa&ccedil;on de les
+ utiliser.</para>
+ <variablelist>
+ <varlistentry>
+ <term><option>-o <replaceable>nom_de_fichier</replaceable></option></term>
+ <listitem>
+ <para>Le nom du fichier r&eacute;sultat. Si vous n'utilisez pas cette
+ option, <command>cc</command> g&eacute;n&eacute;rera un
+ ex&eacute;cutable appel&eacute;
+ <filename>a.out</filename><footnote><para>Les raisons de cela se
+ sont perdues dans les brumes de
+ l'histoire.</para></footnote>.</para>
+ <informalexample>
+<screen>&prompt.user; <userinput>cc foobar.c</userinput> <lineannotation>l'ex&eacute;cutable est <filename>a.out</filename></lineannotation>
+&prompt.user; <userinput>cc -o foobar foobar.c</userinput> <lineannotation>l'ex&eacute;cutable est <filename>foobar</filename></lineannotation></screen>
+ </informalexample>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-c</option></term>
+ <listitem>
+ <para>Uniquement compiler le fichier, ne pas faire l'&eacute;dition de
+ liens. Utile pour des programmes d'essai, quand vous voulez
+ simplement v&eacute;rifier la syntaxe, ou si vous vous servez d'un
+ <filename>Makefile</filename>.</para>
+ <informalexample>
+<screen>&prompt.user; <userinput>cc -c foobar.c</userinput></screen>
+ </informalexample>
+ <para>Cela g&eacute;n&eacute;rera un <firstterm>fichier
+ objet</firstterm> (et non un ex&eacute;cutable) appel&eacute;
+ <filename>foobar.o</filename>. Il pourra &ecirc;tre li&eacute; avec
+ d'autres fichiers objet pour constituer un ex&eacute;cutable.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-g</option></term>
+ <listitem>
+ <para>Cr&eacute;e une version d&eacute;bogable de l'ex&eacute;cutable
+ Le compilateur inclut alors dans l'ex&eacute;cutable des
+ informations de correspondance entre les num&eacute;ros de ligne du
+ fichier source et les fonctions appel&eacute;es. Un d&eacute;bogueur
+ peut alors utiliser ces informations pour vous afficher le code
+ source tandis que vous ex&eacute;cutez pas &agrave; pas le
+ programme, ce qui est <emphasis>tr&egrave;s</emphasis> utile;
+ l'inconv&eacute;nient est que toutes ces informations augmentent
+ consid&eacute;rablement la taille du programme. Normalement, vous
+ compilez avec <option>-g</option> quand vous d&eacute;veloppez le
+ programme, et compilez ensuite une &ldquo;version de
+ livraison&rdquo; quand vous &ecirc;tes satisfait parce qu'il
+ fonctionne correctement.</para>
+ <informalexample>
+<screen>&prompt.user; <userinput>cc -g foobar.c</userinput></screen>
+ </informalexample>
+ <para>Cela produira une version d&eacute;bogable du
+ programme<footnote><para>Remarquez que nous n'avons pas
+ utilis&eacute; l'indicateur <option>-o</option> pour pr&eacute;ciser
+ le nom de l'ex&eacute;cutable, celui-ci s'appelera donc
+ <filename>a.out</filename>. G&eacute;n&eacute;rer une version
+ d&eacute;bogable appel&eacute;e <filename>foobar</filename> est
+ laiss&eacute; &agrave; titre d'exercice aux soins du
+ lecteur!</para></footnote>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-O</option></term>
+ <listitem>
+ <para>G&eacute;n&egrave;re une version optimis&eacute;e de
+ l'ex&eacute;cutable. Le compilateur effectue alors diverses
+ op&eacute;rations bien pens&eacute;es pour essayer de construire
+ un programme qui aille plus vite que normalement. Vous pouvez
+ faire suivre <option>-O</option> d'un nombre pour demander un
+ degr&eacute; plus important d'optimisation, mais cela met souvent
+ en &eacute;vidence des bogues dans l'optimiseur du compilateur.
+ Par exemple, on sait que la version de <command>cc</command> de
+ FreeBSD 2.1.0 produit du code incorrect avec l'option
+ <option>-O2</option> dans certaines circonstances.</para>
+ <para>On n'active en g&eacute;n&eacute;ral l'optimisation
+ qu'&agrave; la compilation de la version de livraison.</para>
+ <informalexample>
+<screen>&prompt.user; <userinput>cc -O -o foobar foobar.c</userinput></screen>
+ </informalexample>
+ <para>Cela construira une version optimis&eacute;e de
+ <filename>foobar</filename>.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>Les trois indicateurs suivants demanderont &agrave;
+ <command>cc</command> de v&eacute;rifier que votre code est conforme
+ &agrave; la norme internationale, souvent appel&eacute;e norme
+ <acronym>ANSI</acronym>, bien que ce soit &agrave; proprement parler
+ une norme <acronym>ISO</acronym>.</para>
+ <variablelist>
+ <varlistentry>
+ <term><option>-Wall</option></term>
+ <listitem>
+ <para>Active tous les messages d'avertissement que les auteurs du
+ compilateur <command>cc</command> ont jug&eacute;s
+ int&eacute;ressants. Malgr&eacute; son nom
+ (&ldquo;<foreignphrase>all</foreignphrase>&rdquo;&nbsp;-&nbsp;tous),
+ cela n'active pas tous les messages d'avertissement dont le
+ compilateur est capable.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-ansi</option></term>
+ <listitem>
+ <para>D&eacute;sactive la plupart, mais pas toutes, les
+ possibilit&eacute;s non-<acronym>ANSI</>&nbsp;C fournies par
+ <command>cc</command>. Malgr&eacute; son nom, cela ne garantit pas
+ absolument que votre code soit conforme &agrave; la norme.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-pedantic</option></term>
+ <listitem>
+ <para>D&eacute;sactive <emphasis>toutes</emphasis> les
+ possibilit&eacute;s non-<acronym>ANSI</>&nbsp;C de
+ <command>cc</command>.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>Sans ces indicateurs, <command>cc</command> vous permet d'utiliser
+ ses extensions non-standard de la norme. Quelques-unes sont tr&egrave;s
+ utiles, mais ne se retrouveront pas sur d'autres
+ compilateurs&nbsp;-&nbsp;de fait, l'un des objectifs principaux de la
+ norme est de permettre l'&eacute;criture de code qui puissent &ecirc;tre
+ r&eacute;utilis&eacute; avec n'importe quel compilateur sur n'importe
+ quel syst&egrave;me. C'est cela que l'on appelle du <firstterm>code
+ portable</firstterm>.</para>
+ <para>En g&eacute;n&eacute;ral, vous devriez vous efforcer de rendre votre
+ code aussi portable que possible, sans quoi vous risquez de devoir
+ r&eacute;&eacute;crire enti&egrave;rement votre programme par la suite
+ pour qu'il fonctionne ailleurs&nbsp;-&nbsp;et qui peut dire ce que vous
+ utiliserez dans quelques ann&eacute;es?</para>
+ <informalexample>
+<screen>&prompt.user; <userinput>cc -Wall -ansi -pedantic -o foobar foobar.c</userinput></screen>
+ </informalexample>
+ <para>Cela g&eacute;n&eacute;rera un ex&eacute;cutable
+ <filename>foobar</filename> apr&egrave;s avoir v&eacute;rifi&eacute; que
+ <filename>foobar.c</filename> respecte la norme.</para>
+ <variablelist>
+
+ <varlistentry>
+ <term><option>-l<replaceable>biblioth&egrave;que</replaceable></option></term>
+ <listitem>
+ <para>D&eacute;finit une biblioth&egrave;que de fonctions &agrave;
+ utiliser pour l'&eacute;dition de liens.</para>
+ <para>L'exemple le plus courant est la compilation d'un programme
+ qui utilise certaines des fonctions math&eacute;matiques de C. A
+ l'inverse de la plupart des autres plates-formes, ces fonctions
+ sont dans une biblioth&egrave;que diff&eacute;rente de la
+ biblioth&egrave;que C standard et vous devez pr&eacute;ciser au
+ compilateur qu'il doit l'utiliser.</para>
+ <para>La r&egrave;gle est que si la biblioth&egrave;que s'appelle
+ <filename>lib<replaceable>quelque_chose</replaceable>.a</filename>,
+ vous donnez &agrave; <command>cc</command> l'argument
+ <option>-l<replaceable>quelque_chose</replaceable></option>. Par
+ exemple, la biblioth&egrave;que math&eacute;matique s'appelle
+ <filename>libm.a</filename>, vous donnez donc &agrave;
+ <command>cc</command> l'argument <option>-lm</option>. Un
+ d&eacute;tail &agrave; conna&icirc;tre &agrave; propos de la
+ biblioth&egrave;que math&eacute;matique est que ce doit
+ g&eacute;n&eacute;ralement &ecirc;tre la derni&egrave;re sur
+ la ligne de commande.</para>
+ <informalexample>
+<screen>&prompt.user; <userinput>cc -o foobar foobar.c -lm</userinput></screen>
+ </informalexample>
+ <para>Cela ajoutera &agrave; l'&eacute;dition de liens de
+ <filename>foobar</filename> des fonctions de la
+ biblioth&egrave;que math&eacute;matique.</para>
+ <para>Si vous compilez du code C++, vous devrez ajouter
+ <option>-lg++</option>, ou <option>-lstdc++</option> si vous
+ utilisez la version 2.2 de FreeBSD ou une version
+ ult&eacute;rieure, &agrave; la ligne de commande pour
+ &eacute;diter les liens avec les fonctions de la
+ biblioth&egrave;que C++. Au lieu de cela, vous pouvez utiliser la
+ commande <command>c++</command> au lieu de <command>cc</command>,
+ qui fera la m&ecirc;me chose &agrave; votre place. Sous FreeBSD,
+ <command>c++</command> peut aussi &ecirc;tre appell&eacute; avec
+ <command>g++</command>.</para>
+ <informalexample>
+<screen>&prompt.user; <userinput>cc -o foobar foobar.cc -lg++</userinput> <lineannotation>Avec FreeBSD 2.1.6 et ant&eacute;rieurs</lineannotation>
+&prompt.user; <userinput>cc -o foobar foobar.cc -lstdc++</userinput> <lineannotation>Avec FreeBSD 2.2 et ult&eacute;rieurs</lineannotation>
+&prompt.user; <userinput>c++ -o foobar foobar.cc</userinput></screen>
+ </informalexample>
+
+ <para>Chacun de ces exemples construira un ex&eacute;cutable
+ <filename>foobar</filename> &agrave; partir du fichier source C++
+ <filename>foobar.cc</filename>. Remarquez que, sur les
+ syst&egrave;mes Unix, les fichiers sources C++ ont
+ traditionnellement l'extension <filename>.C</filename>,
+ <filename>.cxx</filename> ou <filename>.cc</filename>,
+ plut&ocirc;t que l'extension <filename>.cpp</filename>
+ de sytle <trademark>MS-DOS</trademark> (qui est d&eacute;j&agrave;
+ utilis&eacute;e pour autre chose). <command>gcc</command> se
+ fiait autrefois &agrave; l'extension pour savoir quel type de
+ compilateur utiliser avec le fichier source, mais cette
+ restriction ne s'applique plus, vous pouvez donc appeler vos
+ fichiers C++ <filename>.cpp</filename> en toute
+ impunit&eacute;!</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <sect2>
+ <title>Questions et probl&egrave;mes <command>cc</command></title>
+ <para>Q. J'essaie d'&eacute;crire un programme qui utilise la fonction
+ <function>sin()</function> et j'obtiens une erreur qui ressemble
+ &agrave; ce qui suit. Qu'est-ce que cela veut dire?
+ <informalexample>
+<screen>/var/tmp/cc0143941.o: Undefined symbol `_sin' referenced from text segment</screen>
+ </informalexample>
+ </para>
+ <para>R. Quand vous utilisez des fonctions math&eacute;matiques telles
+ que <function>sin()</function>, vous devez dire &agrave;
+ <command>cc</command> d'inclure la biblioth&egrave;que
+ math&eacute;matique &agrave; l'&eacute;dition de liens, comme ceci:
+ <informalexample>
+<screen>&prompt.user; <userinput>cc -o foobar foobar.c -lm</userinput></screen>
+ </informalexample></para>
+
+ <para>Q. D'accord, j'ai &eacute;crit ce petit programme pour
+ m'entra&icirc;ner &agrave; utiliser <option>-lm</option>. Il ne fait
+ que calculer 2.1 &agrave; la puissance 6:
+ <informalexample>
+ <programlisting>
+#include &lt;stdio.h&gt;
+
+int main() {
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float f;
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f = pow(2.1, 6);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("2.1 ^ 6 = %f\n", f);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0;
+}
+ </programlisting>
+ </informalexample>
+ et l'ai compil&eacute; comme ceci:
+ <informalexample>
+<screen>&prompt.user; <userinput>cc temp.c -lm</userinput></screen>
+ </informalexample>
+ comme vous avez dit qu'il fallait le faire, mais voil&agrave; ce que
+ j'obtiens &agrave; l'ex&eacute;cution:
+ <informalexample>
+<screen>&prompt.user; <userinput>./a.out</userinput>
+2.1 ^ 6 = 1023.000000</screen>
+ </informalexample></para>
+ <para>Ce n'est <emphasis>pas</emphasis> la bonne r&eacute;ponse! Que se
+ passe-t-il?</para>
+ <para>R. Quand le compilateur voit que vous appelez une fonction, il
+ regarde s'il en a d&eacute;j&agrave; vu un prototype. Si ce n'est pas
+ le cas, il suppose que la fonction retourne un
+ <type>int</type>&nbsp;-&nbsp;<foreignphrase>entier</foreignphrase>, ce
+ qui n'est &eacute;videmment pas ce que vous souhaitez dans ce
+ cas.</para>
+ <para>Q. Comment alors r&eacute;gler ce probl&egrave;me?</para>
+ <para>R. Les prototypes des fonctions math&eacute;matiques sont dans
+ <filename>math.h</filename>. Si vous incluez ce fichier, le
+ compilateur trouvera le prototype et cessera de vous fournir un
+ r&eacute;sultat bizarre!
+ <informalexample>
+ <programlisting>
+#include &lt;math.h&gt;
+#include &lt;stdio.h&gt;
+
+int main() {
+...
+ </programlisting>
+ </informalexample>
+ </para>
+ <para>Apr&egrave;s l'avoir recompil&eacute; de la m&ecirc;me
+ fa&ccedil;on qu'auparavant, ex&eacute;cutez-le:
+ <informalexample>
+<screen>&prompt.user; <userinput>./a.out</userinput>
+2.1 ^ 6 = 85.766121</screen>
+ </informalexample>
+ </para>
+ <para>Si vous utilisez la moindre fonction math&eacute;matique, incluez
+ <emphasis>toujours</emphasis> <filename>math.h</filename> et n'oubliez
+ pas d'utiliser la biblioth&egrave;que math&eacute;matique &agrave;
+ l'&eacute;dition de liens.</para>
+ <para>Q. J'ai compil&eacute; un fichier appel&eacute;
+ <filename>foobar.c</filename> et je ne trouve pas d'ex&eacute;cutable
+ appel&eacute; <filename>foobar</filename>. O&ugrave; est-il
+ pass&eacute;?</para>
+ <para>R. N'oubliez pas, <command>cc</command> appelera
+ l'ex&eacute;cutable <filename>a.out</filename> &agrave; moins que vous
+ ne lui disiez de faire autrement. Utilisez l'option
+ <option>-o&nbsp;<replaceable>nom_de_fichier</replaceable></option>:
+ <informalexample>
+<screen>&prompt.user; <userinput>cc -o foobar foobar.c</userinput></screen>
+ </informalexample>
+ </para>
+ <para>Q. OK, si j'ai un ex&eacute;cutable appel&eacute;
+ <filename>foobar</filename>, je le vois avec <command>ls</command>,
+ mais quand je tape <command>foobar</command> sur la ligne de commande,
+ il me dit que le fichier n'existe pas. Pourquoi ne le trouve-t-il
+ pas?</para>
+ <para>R. A l'inverse de <trademark>MS-DOS</trademark>, Unix ne regarde
+ pas dans le r&eacute;pertoire courant quand il cherche le programme
+ que vous voulez ex&eacute;cuter, &agrave; moins que vous ne le lui
+ disiez. Soit tapez <command>./foobar</command>, ce qui veut dire
+ &ldquo;ex&eacute;cuter le fichier appel&eacute;
+ <filename>foobar</filename> du r&eacute;pertoire courant&rdquo;, ou
+ modifiez votre variable d'environnement
+ <systemitem class=environvar>PATH</systemitem> pour qu'elle ressemble
+ &agrave;:
+ <informalexample>
+<screen>bin:/usr/bin:/usr/local/bin:.</screen>
+ </informalexample>
+ Le dernier point signifie &ldquo;chercher dans le r&eacute;pertoire
+ courant si le fichier n'est pas dans les autres
+ r&eacute;pertoires&rdquo;.</para>
+ <para>Q. J'ai appel&eacute; mon ex&eacute;cutable
+ <filename>test</filename>, mais il ne se passe rien quand je le
+ lance. Pourquoi?</para>
+ <para>R. Il y a un programme appel&eacute; <command>test</command> dans
+ <filename>/usr/bin</filename> sur la plupart des syst&egrave;mes Unix
+ et c'est celui-l&agrave; que trouve l'interpr&eacute;teur de commandes
+ avant de regarder dans le r&eacute;pertoire courant. Soit tapez:
+ <informalexample>
+<screen>&prompt.user; <userinput>./test</userinput></screen>
+ </informalexample>
+ ou choisissez un meilleur nom pour votre programme!</para>
+ <para>Q. J'ai compil&eacute; et tout a commenc&eacute; &agrave;
+ fonctionner correctement, puis il y a eu une erreur et il m'a dit
+ quelque chose &agrave; propos de <errorname>core dumped</errorname>.
+ Qu'est-ce que cela veut dire?</para>
+ <para>A. L'expression <firstterm>core dump</firstterm> date des tous
+ premiers jours d'Unix, quand les machines utilisaient la
+ m&eacute;moire
+ centrale&nbsp;-&nbsp;&ldquo;<foreignphrase>core memory</foreignphrase>&rdquo;
+ pour stocker les informations. Essentiellement, si le programme
+ &ldquo;plantait&rdquo; dans certaines conditions, le syst&egrave;me
+ enregistrait sur disque le contenu de la m&eacute;moire centrale
+ dans un fichier appel&eacute; <filename>core</filename>, que le
+ programmeur pouvait ensuite diss&eacute;quer pour trouver
+ o&ugrave; les choses avaient mal tourn&eacute;es.</para>
+ <para>Q. Fascinant, mais que suis-je cens&eacute; faire
+ maintenant?</para>
+ <para>A. Servez-vous de <command>gdb</command> pour analyser l'image
+ m&eacute;moire (Reportez-vous &agrave; la section
+ <link linkend="debugging">D&eacute;boguer</link>).</para>
+ <para>R. Quand mon programme a g&eacute;n&eacute;r&eacute; une image
+ m&eacute;moire, il a dit quelque chose &agrave; propose de
+ <errorname>segmentation fault</errorname>&nbsp;-&nbsp;&ldquo;erreur
+ de segmentation&rdquo;. Qu'est-ce que c'est?</para>
+ <para>Q. Cela signifie essentiellement que votre programme a
+ essay&eacute; d'effectuer une quelconque op&eacute;ration
+ ill&eacute;gale sur la m&eacute;moire; Unix est con&ccedil;u pour
+ prot&eacute;ger le syst&egrave;me d'exploitation des programmes
+ mal &eacute;duqu&eacute;s.</para>
+ <para>Les raisons les plus courantes en sont:
+ <itemizedlist>
+ <listitem>
+ <para>Essayer d'&eacute;crire en m&eacute;moire adress&eacute;e par
+ un pointeur <symbol>NULL</symbol>, e.g.:
+ <programlisting>
+char *foo = NULL;
+strcpy(foo, "bang!");
+ </programlisting>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Utiliser un pointeur qui n'a pas &eacute;t&eacute;
+ initialis&eacute;, e.g.:
+ <programlisting>
+char *foo;
+strcpy(foo, "bang!");
+ </programlisting>
+ Le pointeur aura une valeur al&eacute;atoire qui, avec de la
+ chance, adressera une zone m&eacute;moire non accessible &agrave;
+ votre programme, de sorte que le noyau tuera ce dernier avant
+ qu'il ne provoque de d&eacute;gat. Si vous manquez de chance,
+ il pointera quelque part &agrave; l'int&eacute;rieur de votre
+ programme et endommagera l'une de vos structures de
+ donn&eacute;es, provoquant un dysfonctionnement myst&eacute;rieux
+ de votre programme.</para>
+ </listitem>
+ <listitem>
+ <para>Tenter d'acc&eacute;der au-del&agrave; du dernier
+ &eacute;l&eacute;ment d'un tableau, e.g.:
+ <programlisting>
+int bar[20];
+bar[27] = 6;
+ </programlisting>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Essayer d'enregistrer quelque chose dans une zone de
+ m&eacute;moire accessible en lecture seule, e.g.:
+ <programlisting>
+char *foo = "Mon texte";
+strcpy(foo, "bang!");
+ </programlisting>
+ Les compilateurs Unix stockent souvent les cha&icirc;nes de
+ caract&egrave;res constantes comme <literal>"Mon texte"</literal>
+ en m&eacute;moire accessible en lecture seule.</para>
+ </listitem>
+ <listitem>
+ <para>Utiliser incorrectement les fonctions
+ <function>malloc()</function> et <function>free()</function>,
+ e.g.:
+ <programlisting>
+char bar[80];
+free(bar);
+ </programlisting>
+ ou:
+ <programlisting>
+char *foo = malloc(27);
+free(foo);
+free(foo);
+ </programlisting>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <para>Commettre l'une de ces fautes ne provoquera pas toujours une erreur,
+ mais ce sont malgr&eacute; tout des choses &agrave; ne pas faire.
+ Certains syst&egrave;mes et compilateurs sont plus tol&eacute;rants que
+ d'autres, ce qui fait que des programmes qui s'ex&eacute;cutent
+ correctement sur un syst&egrave;me peuvent ne plus fonctionner sur un
+ autre.</para>
+ <para>Q. Parfois, le programme provoque la g&eacute;n&eacute;ration d'une
+ image m&eacute;moire avec le message <errorname>bus error</errorname>.
+ Mon manuel Unix dit qu'il s'agit d'un erreur mat&eacute;riel, mais
+ l'ordinateur fonctionne apparemment correctement. Est-ce vrai?</para>
+ <para>R. Fort heureusement, non (&agrave; moins bien s&ucirc;r que vous
+ n'ayez aussi un probl&egrave;me mat&eacute;riel). C'est habituellement
+ une autre fa&ccedil;on de dire que vous avez acc&eacute;d&eacute;
+ incorrectement &agrave; la m&eacute;moire.</para>
+ <para>Q. Il me semble que cette histoire de <foreignphrase>core
+ dump</foreignphrase> peut &ecirc;tre tr&egrave;s utile, si je peux la
+ provoquer quand je veux. Est-ce possible, ou dois-je attendre qu'il se
+ produise une erreur?</para>
+ <para>R. Oui, allez simplement sur une autre console ou fen&ecirc;tre
+ <application>xterm</application> et tapez:
+ <screen>&prompt.user; <userinput>ps</userinput></screen> pour
+ conna&icirc;tre l'IDentifiant de processus de votre programme, puis:
+ <screen>&prompt.user; <userinput>kill -ABRT <replaceable>pid</replaceable></userinput></screen>
+ o&ugrave; <parameter><replaceable>pid</replaceable></parameter> est
+ l'ID de processus que vous avez recherch&eacute;.</para>
+ <para>C'est par exemple utile si votre programme est parti dans une boucle
+ infinie. Au cas o&ugrave; votre programme pi&eacute;gerait les
+ interruptions <symbol>SIGABRT</symbol>, il y a plusieurs autres signaux
+ qui auront le m&ecirc;me effet.</para>
+ </sect2>
+ </sect1>
+ <sect1>
+ <title>Make</title>
+ <sect2>
+ <title>Qu'est-ce que <command>make</command>?</title>
+ <para>Lorsque vous travaillez sur un programme simple avec seulement un
+ ou deux fichiers de source, taper:
+<screen>&prompt.user; <userinput>cc fichier1.c fichier2.c</userinput></screen>
+ n'est pas trop g&ecirc;nant, mais cela devient rapidement tr&egrave;s
+ fastidieux lorsqu'il y a plusieurs fichiers&nbsp;-&nbsp;et cela peut
+ aussi mettre du temps &agrave; compiler.</para>
+ <para>Un fa&ccedil;on d'&eacute;viter ces probl&egrave;mes est
+ d'utiliser des fichiers <firstterm>objets</firstterm> et de ne
+ recompiler que les fichiers de source dont le contenu a chang&eacute;.
+ Nous pourrions alors avoir quelque chose du style:
+<screen>&prompt.user; <userinput>cc fichier1.o fichier2.o</userinput> &hellip; <userinput>file37.c</userinput> &hellip</screen>
+ si nous avons modif&eacute; <filename>fichier37.c</filename>, et
+ celui-l&agrave; uniquement, depuis notre compilation
+ pr&eacute;c&eacute;dente. Cela peut s&eacute;rieusement
+ acc&eacute;l&eacute;rer la compilation, mais ne r&eacute;soud pas le
+ probl&egrave;me de saisie &agrave; r&eacute;p&eacute;tition de la
+ commande.</para>
+ <para>Nous pourrions aussi &eacute;crire une proc&eacute;dure pour
+ r&eacute;soudre ce dernier probl&egrave;me, mais ne ne pourrions alors
+ que lui faire tout recompiler, ce qui serait tr&egrave;s peu efficace
+ sur un gros projet.</para>
+ <para>Que ce passe-t-il si nous avons des centaines de fichiers de
+ sources? Si nous travaillons en &eacute;quipe et que d'autres
+ oublient de nous pr&eacute;venir des modifications qu'ils ont
+ apport&eacute;es &agrave; un des fichiers que nous utilisons?</para>
+ <para>Peut-&ecirc;tre pourrions-nous rassembler les deux solutions et
+ &eacute;crire quelque chose qui ressemble &agrave; une
+ proc&eacute;dure et comporte une sorte de r&egrave;gle magique
+ qui dise quand tel fichier de source doit &ecirc;tre compil&eacute;.
+ Nous n'aurions plus besoin que d'un programme qui comprennent ces
+ r&egrave;gles, parce que c'est un peu trop compliqu&eacute; pour une
+ proc&eacute;dure.</para>
+ <para>Ce programme s'appelle <command>make</command>. Il lit un fichier,
+ qu'on appelle un <firstterm>makefile</firstterm>, qui lui dit quelles
+ sont les d&eacute;pendances entre les diff&eacute;rents fichiers, et
+ en d&eacute;duit lesquels ont besoin ou non d'&ecirc;tre
+ recompil&eacute;s. Par exemple, une r&egrave;gle peut signifier
+ quelque chose comme &ldquo;si <filename>fromboz.o</filename> est plus
+ ancien que <filename>fromboz.c</filename>, cela veut dire que
+ <filename>fromboz.c</filename> doit avoir &eacute;t&eacute;
+ modifi&eacute;, il faut donc le recompiler&rdquo;. Le fichier
+ &ldquo;<foreignphrase>makefile</foreignphrase>&rdquo; inclut aussi
+ des r&egrave;gles qui lui disent <emphasis>comment</emphasis>
+ recompiler, ce qui en fait un outil encore plus puissant.</para>
+ <para>Ces fichiers &ldquo;makefiles&rdquo; sont habituellement
+ rang&eacute;s dans le m&ecirc;me r&eacute;pertoire que les sources
+ auxquels ils s'appliquent, et peuvent &ecirc;tre appel&eacute;s
+ <filename>makefile</filename>, <filename>Makefile</filename> ou
+ <filename>MAKEFILE</filename>. La plupart des programmeurs utilisent
+ le nom <filename>Makefile</filename>, ce qui fait qu'ils se trouvent
+ alors vers le d&eacute;but de la liste des fichiers et sont ainsi
+ facilement rep&eacute;rables <footnote><para>Ils n'utilisent pas la
+ variante <filename>MAKEFILE</filename> parce que les noms en
+ majuscules servent souvent &agrave; d&eacute;signer les fichiers de
+ documentation comme
+ <filename>README</filename>.</para></footnote>.</para>
+ </sect2>
+ <sect2>
+ <title>Exemple d'utilisation de <command>make</command></title>
+ <para>Voici un fichier <filename>Makefile</filename>
+ &eacute;l&eacute;mentaire :
+ <programlisting>
+foo: foo.c
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cc -o foo foo.c
+ </programlisting>
+ Il contient deux lignes, une pour la d&eacute;pendance et une
+ pour la g&eacute;n&eacute;ration.</para>
+ <para>La ligne d&eacute;crivant la d&eacute;pendance contient le
+ nom du programme (qu'on appelle la <firstterm>cible</firstterm>),
+ suivi de &ldquo;deux points&rdquo;, puis d'un blanc et du nom
+ du fichier source. Quand <command>make</command> lit cette ligne,
+ il regarde si <filename>foo</filename> existe; s'il existe, il
+ compare la date de derni&egrave;re modification de
+ <filename>foo</filename> &agrave; celle de derni&egrave;re
+ modification de <filename>foo.c</filename>. Si
+ <filename>foo</filename> n'existe pas, ou s'il est ant&eacute;rieur
+ &agrave; <filename>foo.c</filename>, il regarde alors la ligne de
+ g&eacute;n&eacute;ration pour savoir ce qu'il faut faire. En
+ d'autres termes, c'est la r&egrave;gle &agrave; appliquer pour
+ savoir si <filename>foo.c</filename> doit &ecirc;tre
+ recompil&eacute;.</para>
+ <para>La ligne de g&eacute;n&eacute;ration commence par une
+ <token>tabulation</token> (appuyez sur la touche
+ <keycap>Tab</keycap>) suivie de la commande que vous taperiez
+ pour compiler <filename>foo</filename> si vous le faisiez sur
+ la ligne de commande. Si <filename>foo</filename> n'est pas
+ &agrave; jour ou s'il n'existe pas, <command>make</command>
+ ex&eacute;cute alors cette commande pour le cr&eacute;er. En
+ d'autres termes, c'est la r&egrave;gle qui dit &agrave;
+ <command>make</command> comment recompiler
+ <filename>foo.c</filename>.</para>
+ <para>Ainsi, quand vous tapez <userinput>make</userinput>, il
+ fera en sorte que <filename>foo</filename> soit en phase avec les
+ derni&egrave;res modifications que vous avez apport&eacute;es &agrave;
+ <filename>foo.c</filename>. Ce principe s'&eacute;tend aux
+ <filename>Makefile</filename>s avec des centaines de
+ cibles&nbsp;-&nbsp;de fait, sur FreeBSD, il est possible de compiler
+ tout le syst&egrave;me d'exploitation en tapant simplement
+ <userinput>make world</userinput> dans le r&eacute;pertoire
+ ad&eacute;quat!</para>
+ <para>Une autre particularit&eacute; de <filename>Makefile</filename>s
+ est que les cibles ne sont pas n&eacute;cessairement des programmes.
+ Nous pourrions par exemple avoir le <filename>Makefile</filename>
+ suivant:
+ <programlisting>
+foo: foo.c
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cc -o foo foo.c
+
+install:
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cp foo /home/me
+ </programlisting>
+ </para>
+ <para>Nous pouvons dire &agrave; <command>make</command> quelle cible
+ nous voulons atteindre en tapant:
+<screen>&prompt.user; <userinput>make <replaceable>cible</replaceable></userinput></screen>
+ <command>make</command> examinera alors cette cible et ignorera
+ toutes les autres. Par exemple, si, avec le
+ <filename>Makefile</filename> pr&eacute;c&eacute;dent, nous tapons
+ <userinput>make foo</userinput>, <command>make</command> ignorera
+ la cible <action>install</action>.</para>
+ <para>Si nous tapons simplement <userinput>make</userinput> tout
+ court, il examinera toujours la premi&egrave;re cible et
+ s'arr&ecirc;tera ensuite sans s'occuper des autres. Si nous
+ avions tap&eacute; <userinput>make</userinput> dans ce cas, il
+ serait simplement all&eacute; &agrave; la cible
+ <action>foo</action>, aurait recompil&eacute;
+ <filename>foo</filename> si n&eacute;cessaire, et se serait
+ arr&ecirc;t&eacute; sans passer &agrave; la cible
+ <action>install</action>.</para>
+ <para>Remarquez que la cible <action>install</action> ne d&eacute;pend
+ en fait de rien du tout! Cela signifie que la commande sur la ligne
+ suivante est toujours ex&eacute;cut&eacute;e si nous essayons de
+ reconstruire cette cible en tapant
+ <userinput>make install</userinput>. Dans ce cas, il copiera
+ <filename>foo</filename> dans le r&eacute;pertoire de l'utilisateur.
+ C'est souvent utilis&eacute; par les <filename>Makefile</filename>s
+ de logiciels, de sorte que l'application soit install&eacute;e dans
+ le bon r&eacute;pertoire, une fois correctement
+ compil&eacute;e.</para>
+ <para>C'est un point un peu d&eacute;licat &agrave; expliquer. Si vous
+ ne comprenez pas exactement comment <command>make</command>
+ fonctionne, la meilleure chose &agrave; faire est d'&eacute;crire
+ un programme simple comme le classique &ldquo;Bonjour, le
+ monde!&rdquo;, un fichier <filename>Makefile</filename> et de
+ faire des essais. Compilez ensuite en utilisant plus d'un
+ fichier source, ou en ayant un fichier source qui inclut un
+ fichier d'en-t&ecirc;te. La commande <command>touch</command>
+ vous sera tr&egrave;s utile&nbsp;-&nbsp;elle modifie la date
+ d'un fichier sans que vous ayez &agrave; l'&eacute;diter.</para>
+ </sect2>
+ <sect2>
+ <title>Makefiles FreeBSD</title>
+ <para>L'&eacute;criture de <filename>Makefile</filename>s peut
+ &ecirc;tre assez compliqu&eacute;e. Heurusement, les syst&egrave;mes
+ bas&eacute;s sur BSD, comme FreeBSD, en fournissent de tr&egrave;s
+ puissants, int&eacute;gr&eacute;s au syst&egrave;me. Le catalogue des
+ logiciels port&eacute;s de FreeBSD en est un excellent exemple. Voici
+ l'essentiel d'un de leurs <filename>Makefile</filename>s typiques:
+ <programlisting>
+MASTER_SITES= ftp://freefall.cdrom.com/pub/FreeBSD/LOCAL_PORTS/
+DISTFILES= scheme-microcode+dist-7.3-freebsd.tgz
+
+.include &lt;bsd.port.mk&gt;
+ </programlisting>
+ </para>
+ <para>Si nous allons maintenant dans le r&eacute;pertoire associ&eacute;
+ &agrave; ce logiciel et tapons <userinput>make</userinput>, voici ce
+ qui se passe:</para>
+ <procedure>
+ <step>
+ <para>Il regarde si le code source de ce logiciel est
+ d&eacute;j&agrave; pr&eacute;sent sur le syst&egrave;me.</para>
+ </step>
+ <step>
+ <para>S'il n'y est pas, une connexion FTP &agrave; l'URL
+ indiqu&eacute;e par <symbol>MASTER_SITES</symbol> est
+ &eacute;tablie pour t&eacute;l&eacute;charger le source.</para>
+ </step>
+ <step>
+ <para>La somme de contr&ocirc;le est calcul&eacute;e sur le source et
+ compar&eacute;e &agrave; celle calcul&eacute;e sur une version
+ connue et valid&eacute;e. Cela pour s'assurer que le source n'a
+ pas &eacute;t&eacute; corrompu pendant le transfert.</para>
+ </step>
+ <step>
+ <para>Les modifications n&eacute;cessaires pour que le code
+ fonctionne sous FreeBSD sont appliqu&eacute;es&nbsp;-&nbsp;c'est
+ ce que l'on appelle <firstterm>patcher</firstterm>.</para>
+ </step>
+ <step>
+ <para>Les op&eacute;rations particuli&egrave;res de configuration
+ du source sont effectu&eacute;es. (De nombreuses distributions de
+ programmes Unix essayent de d&eacute;terminer sur quel
+ syst&egrave;me elles sont compil&eacute;es et de quelles
+ fonctionnalit&eacute;s Unix optionnelles il
+ dispose&nbsp;-&nbsp;c'est &agrave; ce stade du sc&eacute;nario
+ d'installation de logiciels sous FreeBSD que leur sont fournies
+ ces informations).</para>
+ </step>
+ <step>
+ <para>Le code source du programme est compil&eacute;. De fait, on
+ passe dans le r&eacute;pertoire o&ugrave; le code a
+ &eacute;t&eacute; d&eacute;compact&eacute; et
+ <command>make</command> y est ex&eacute;cut&eacute;&nbsp;-&nbsp;le
+ <filename>Makefile</filename> du programme lui-m&ecirc;me contient
+ les informations n&eacute;cessaires &agrave; sa
+ compilation.</para>
+ </step>
+ <step>
+ <para>Nous disposons maintenant d'une version compil&eacute;e du
+ programme. Si nous le voulons, nous pouvons maintenant la tester;
+ si nous avons confiance dans le programme, nous pouvons taper
+ <userinput>make install</userinput>. Cela recopiera le programme
+ et tous les fichiers d'environnement dont il a besoin &agrave;
+ l'endroit ad&eacute;quat; une entr&eacute;e sera aussi
+ cr&eacute;&eacute;e dans une <database>base de donn&eacute;es des
+ logiciels</database>, de fa&ccedil;on &agrave; ce qu'il puisse
+ &ecirc;tre d&eacute;sinstall&eacute; par la suite, si nous
+ changeons d'avis.</para>
+ </step>
+ </procedure>
+ <para>Je pense que vous serez maintenant d'accord pour trouver que c'est
+ assez impressionnant pour une simple proc&eacute;dure de quatre
+ lignes!</para>
+ <para>Le secret se trouve &agrave; la derni&egrave;re ligne, qui dit
+ &agrave; <command>make</command> d'aller voir ce qu'il y a dans le
+ <filename>Makefile</filename> appel&eacute;
+ <filename>bsd.port.mk</filename>. Il est facile de rater cette ligne,
+ mais c'est pourtant de l&agrave; que vient toute la m&eacute;canique
+ subtile. Quelqu'un a &eacute;crit un <filename>Makefile</filename>
+ qui dit &agrave; <command>make</command> de faire tout ce qui a
+ &eacute;t&eacute; d&eacute;crit ci-dessus (plus deux ou trois autres
+ choses dont je n'ai pas parl&eacute;, dont le traitement des erreurs
+ qui pourraient se produire) et tout le monde peut l'utiliser en
+ mettant simplement cette unique ligne dans son propre
+ <filename>Makefile</filename>!</para>
+ <para>Si vous voulez jeter un oeil &agrave; ces
+ <filename>Makefile</filename>s syst&egrave;mes, ils sont dans le
+ r&eacute;pertoire <filename>/usr/share/mk</filename>, mais il vaut
+ mieux attendre d'avoir un peu d'exp&eacute;rience des
+ <filename>Makefile</filename>s, parce qu'ils sont tr&egrave;s
+ compliqu&eacute;s (et si vous les regardez, ayez sous la main
+ une bonne dose de caf&eacute; serr&eacute;!).</para>
+ </sect2>
+ <sect2>
+ <title>Utilisation plus pouss&eacute;e de <command>make</command></title>
+ <para> <command>make</command> est un outil tr&egrave;s puissant, et peut
+ faire beaucoup plus que l'exemple &eacute;l&eacute;mentaire que nous
+ avons donn&eacute;. Il y a malheureusement plusieurs versions de
+ <command>make</command>, et elles sont tr&egrave;s
+ diff&eacute;rentes. La meilleure fa&ccedil;on de savoir ce qu'elles
+ peuvent faire est certainement de lire la
+ documentation&nbsp;-&nbsp;esp&eacute;rons que cette introduction
+ vous aura fourni les bases pour le faire.</para>
+ <para>La version de <command>make</command> fournie avec FreeBSD est
+ <application>Berkeley make</application>; elle s'accompagne d'un guide
+ dans <filename>/usr/share/doc/psd/12.make</filename>. Pour le
+ visualiser, tapez:
+<screen>&prompt.user; <userinput>zmore paper.ascii.gz</userinput></screen>
+ dans ce r&eacute;pertoire.</para>
+ <para>Il y a des nombreux logiciels du catalogue des logiciels
+ port&eacute;s qui utilisent <application>GNU make</application>, qui
+ est tr&egrave;s bien document&eacute; dans les pages
+ &ldquo;info&rdquo;. Si vous avez install&eacute; un de ces logiciels,
+ <application>GNU make</application> sera automatiquement install&eacute;
+ sont le nom <command>gmake</command>. Il est aussi disponible sous forme
+ de logiciel port&eacute; ou pr&eacute;compil&eacute; autonome.</para>
+ <para>Pour visualiser les pages &ldquo;info&rdquo; de
+ <application>GNU make</application>, il vous faut &eacute;diter le
+ fichier <filename>dir</filename> du r&eacute;pertoire
+ <filename>/usr/local/info</filename> et y ajouter une ligne pour ce
+ programme. C'est une ligne du genre:
+ <programlisting>
+ * Make: (make). L'utilitaire GNU Make.
+ </programlisting>
+ Une fois que c'est fait, vous pouvez taper <userinput>info</userinput>
+ puis s&eacute;lectionner <guimenuitem>make</guimenuitem> dans le menu
+ (ou sous <application>Emacs</application>, taper <userinput>C-h
+ i</userinput>).</para>
+ </sect2>
+ </sect1>
+ <sect1 id="debugging">
+ <title>D&eacute;boguer</title>
+ <sect2>
+ <title>Le d&eacute;bogueur</title>
+ <para>Le d&eacute;bogueur qui est fourni avec FreeBSD s'appelle
+ <command>gdb</command>
+ (<application>GNU d&eacute;bogueur</application>). Vous le lancez en
+ tapant:
+<screen>&prompt.user; <userinput>gdb <replaceable>nom_du_programme</replaceable></userinput></screen>
+ bien que la plupart des gens pr&eacute;f&egrave;rent l'ex&eacute;cuter
+ sous <application>Emacs</application>. Ce qui se fait avec:
+<screen><userinput>M-x gdb RET <replaceable>progname</replaceable> RET</userinput></screen>
+ </para>
+ <para>Se servir d'un d&eacute;bogueur vous permet d'ex&eacute;cuter le
+ programme sous contr&ocirc;le. Vous pouvez typiquement
+ l'ex&eacute;cuter pas &agrave; pas, inspecter les valeurs des
+ variables, les modifier, dire au d&eacute;bogueur d'ex&eacute;cuter
+ le programme jusqu'&agrave; un certain endroit et de s'y
+ arr&ecirc;ter, et ainsi de suite. Vous pouvez m&ecirc;me
+ le rattacher &agrave; un programme qui est d&eacute;j&agrave; en
+ cours d'ex&eacute;cution, ou charger une image
+ m&eacute;moire&nbsp;-&nbsp;&ldquo;<foreignphrase>core</foreignphrase>&rdquo;.
+ Il est m&ecirc;me possible de d&eacute;boguer le noyau, bien que cela
+ soit un peu plus compliqu&eacute; que dans le cas des programmes
+ utilisateurs, dont nous parlerons dans cette section.</para>
+ <para><command>gdb</command> dispose d'une assez bonne aide en ligne,
+ ainsi que d'un jeu de pages &ldquo;info&rdquo;, cette section se
+ concentrera donc sur quelques commandes de base.</para>
+ <para>Enfin, si le mode de fonctionnement en ligne de commande vous
+ rebute, il existe une interface graphique appel&eacute;e
+ <ulink URL="http://www.freebsd.org/ports/devel.html">xxgdb</ulink>
+ au catalogue des logiciels port&eacute;s.</para>
+ <para>Cette section est destin&eacute;e &agrave; servir d'introduction
+ &agrave; l'utilisation du d&eacute;bogueur et ne couvre pas les
+ questions sp&eacute;cialis&eacute;es comme le d&eacute;bogage du
+ noyau.</para>
+ </sect2>
+ <sect2>
+ <title>Ex&eacute;cuter un programme sous le d&eacute;bogueur</title>
+ <para>Il faudra que vous ayez compil&eacute; le programme avec l'option
+ <option>-g</option> pour tirer le meilleur parti de
+ <command>gdb</command>. Cela fonctionnera sans cela, mais vous ne
+ verrez que le nom de la fonction dans laquelle vous &ecirc;tes, au
+ lieu du code source. Si vous avez un message du genre:
+<screen>&hellip; (no debugging symbols found) &hellip;</screen>
+ au d&eacute;marrage de <command>gdb</command>, vous saurez que le
+ programme n'a pas &eacute;t&eacute; compil&eacute; avec l'option
+ <option>-g</option>.</para>
+ <para>A l'invite de <command>gdb</command>, tapez <userinput>break
+ main</userinput>. Cela dira au d&eacute;bogueur d'ex&eacute;cuter le
+ code pr&eacute;liminaire de mise en oeuvre dans le programme et de
+ s'arr&ecirc;ter au d&eacute;but de votre programme. Tapez maintenant
+ <userinput>run</userinput> pour lancer le programme&nbsp;-&nbsp;il
+ commencera au d&eacute;but du code pr&eacute;liminaire et sera
+ interrompu par le d&eacute;bogueur sur l'appel de
+ <function>main()</function>. (Si vous vous &eacute;tiez jamais
+ demand&eacute; d'o&ugrave; la fonction <function>main()</function>
+ &eacute;tait appel&eacute;e, vous le savez maintenant!).</para>
+ <para>Vous pouvez maintenant ex&eacute;cuter le programme une ligne
+ &agrave; la fois, en appuyant sur <command>n</command>. Si
+ vous arrivez sur un appel de fonction, vous pouvez passer dans la
+ fonction en appuyant sur <command>s</command>. Une fois dans la
+ fonction, vous pouvez terminer son ex&eacute;cution et en sortir en
+ tapant <command>f</command>. Vous pouvez aussi utiliser
+ <command>up</command> et <command>down</command> pour jeter un
+ coup d'oeil au code appelant.</para>
+ <para>Voici un exemple simple de la mani&egrave;re de diagnostiquer une
+ erreur dans un programme avec <command>gdb</command>. Voici notre
+ programme (intentionnellement faux):
+ <programlisting>
+#include &lt;stdio.h&gt;
+
+int bazz(int un_entier);
+
+main() {
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int i;
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("C'est mon programme\n");
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bazz(i);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0;
+}
+
+int bazz(int un_entier) {
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("Vous m'avez donn&eacute; %d\n", un_entier);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return un_entier;
+}
+ </programlisting>
+ </para>
+ <para>Ce programme affecte &agrave; <symbol>i</symbol> la valeur
+ <literal>5</literal> et la passe &agrave; la fonction
+ <function>bazz()</function> qui affiche la valeur que nous lui
+ donnons en param&egrave;tre.</para>
+ <para>Quand nous compilons et ex&eacute;cutons le programme, nous
+ obtenons:
+<screen>&prompt.user; <userinput>cc -g -o temp temp.c</userinput>
+&prompt.user; <userinput>./temp</userinput>
+C'est mon programme
+Vous m'avez donn&eacute; 4231</screen></para>
+ <para>Ce n'est pas ce &agrave; quoi nous nous attendions! C'est le
+ moment d'aller voir ce qui ce passe!
+<screen>&prompt.user; <userinput>gdb temp</userinput>
+GDB is free software and you are welcome to distribute copies of it
+ under certain conditions; type "show copying" to see the conditions.
+There is absolutely no warranty for GDB; type "show warranty" for details.
+GDB 4.13 (i386-unknown-freebsd), Copyright 1994 Free Software Foundation, Inc.
+(gdb) <userinput>break main</userinput> <lineannotation>Ex&eacute;cuter le code d'initialisation</lineannotation>
+Breakpoint 1 at 0x160f: file temp.c, line 9. <lineannotation><command>gdb</command> met un pont d'arr&ecirc;t &agrave; l'appel de <function>main()</function></lineannotation>
+(gdb) <userinput>run</userinput> <lineannotation>Ex&eacute;cuter jusqu'&agrave; <function>main()</function></lineannotation>
+Starting program: /home/james/tmp/temp <lineannotation>Le programme d&eacute;marre</lineannotation>
+
+Breakpoint 1, main () at temp.c:9 <lineannotation><command>gdb</command> s'arr&ecirc;te &agrave; <function>main()</function></lineannotation>
+(gdb) <userinput>n</userinput> <lineannotation>Aller &agrave; la ligne suivante</lineannotation>
+C'est mon programme <lineannotation>Le programme imprime</lineannotation>
+(gdb) <userinput>s</userinput> <lineannotation>Aller dans <function>bazz()</function></lineannotation>
+bazz (un_entier=4231) at temp.c:17 <lineannotation><command>gdb</command> affiche la position dans la pile d'appel</lineannotation>
+(gdb)</screen></para>
+ <para>Une minute! Comment <symbol>un_entier</symbol> peut-il valoir
+ <literal>4231</literal>? Ne l'avons-nous pas initialis&eacute;
+ &agrave; <literal>5</literal> dans <function>main()</function>?
+ Revenons &agrave; <function>main()</function> et jetons un
+ oeil.</para>
+ <para>
+<screen>(gdb) <userinput>up</userinput> <lineannotation>Remonter d'un cran dans la pile d'appel</lineannotation>
+#1 0x1625 in main () at temp.c:11 <lineannotation><command>gdb</command> affiche la position dans la pile d'appel</lineannotation>
+(gdb) <userinput>p i</userinput> <lineannotation>Afficher la valeur de <symbol>i</symbol></lineannotation>
+$1 = 4231 <lineannotation><command>gdb</command> affiche <literal>4231</literal></lineannotation></screen>
+ Et oui! Si nous regardons le code, nous avons oubli&eacute;
+ d'initialiser <symbol>i</symbol>. Nous voulions mettre:
+ <programlisting>
+<lineannotation>&hellip;</lineannotation>
+main() {
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int i;
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i = 5;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("C'est mon programme\n");
+<lineannotation>&hellip</lineannotation>
+ </programlisting>
+ mais nous avons oubli&eacute; la ligne <literal>i=5;</literal>.
+ Comme nous n'avons pas initialis&eacute; <symbol>i</symbol>, il
+ prend la valeur qui se trouve &agrave; cet endroit de la
+ m&eacute;moire quand le programme s'ex&eacute;cute, dans notre
+ cas, il s'est trouv&eacute; que c'&eacute;tait
+ <literal>4231</literal>.</para>
+ <note>
+ <para><command>gdb</command> affiche l'endroit o&ugrave; nous nous
+ trouvons dans la pile d'appel, chaque fois que nous entrons ou
+ sortons d'une fonction, m&ecirc;me si nous utilisons
+ <command>up</command> et <command>down</command> pour nous
+ d&eacute;placer dans la pile. Cela nous donne le nom de la fonction
+ et les valeurs de ses param&egrave;tres, ce qui nous aide &agrave;
+ rep&eacute;rer o&ugrave; nous sommes et ce qu'il se passe. (La pile
+ d'appel est une zone de m&eacute;moire o&ugrave; le programme
+ enregistre les informations sur les param&egrave;tres pass&eacute;s
+ aux fonctions et o&ugrave; aller quand il ressort d'un fonction
+ appel&eacute;e.)</para>
+ </note>
+ </sect2>
+ <sect2>
+ <title>Examiner un fichier
+ &ldquo;<foreignphrase>core</foreignphrase>&rdquo;</title>
+ <para>Un fichier &ldquo;<foreignphrase>core</foreignphrase>&rdquo; est
+ essentiellement un fichier qui contient l'&eacute;tat complet du
+ programme au moment o&ugrave; il s'est &ldquo;plant&eacute;&rdquo;. Au
+ &ldquo;bon vieux temps&rdquo;, les programmeurs devaient imprimer le
+ contenu en hexad&eacute;cimal des fichiers
+ &ldquo;<foreignphrase>core</foreignphrase>&rdquo; et transpirer sur des
+ manuels de code machine, mais la vie est aujourd'hui un peu plus facile.
+ Au passage, sous FreeBSD et les autres syst&egrave;mes 4.4BSD, un
+ fichier &ldquo;<foreignphrase>core</foreignphrase>&rdquo; s'appelle
+ <filename><replaceable>nom_du_programme</replaceable>.core</filename>,
+ et non <filename>core</filename> tout court,
+ de fa&ccedil;on &agrave; ce que l'on sache &agrave; quel programme il
+ correspond.</para>
+ <para>Pour examiner un fichier
+ &ldquo;<foreignphrase>core</foreignphrase>&rdquo;, lancez
+ <command>gdb</command> comme d'habitude. Au lieu de taper
+ <command>break</command> ou <command>run</command>, tapez:
+<screen>(gdb) <userinput>core <replaceable>nom_du_programme</replaceable>.core</userinput></screen>
+ Si vous n'&ecirc;tes pas dans le m&ecirc;me r&eacute;pertoire que
+ le fichier &ldquo;<foreignphrase>core</foreignphrase>&rdquo;, vous
+ devrez d'abord faire
+ <userinput>dir /ou/se/trouve/le/fichier/core</userinput>.</para>
+ <para>Vous devriez voir quelque chose comme:
+<screen>&prompt.user; <userinput>gdb a.out</userinput>
+GDB is free software and you are welcome to distribute copies of it
+ under certain conditions; type "show copying" to see the conditions.
+There is absolutely no warranty for GDB; type "show warranty" for details.
+GDB 4.13 (i386-unknown-freebsd), Copyright 1994 Free Software Foundation, Inc.
+(gdb) <userinput>core a.out.core</userinput>
+Core was generated by `a.out'.
+Program terminated with signal 11, Segmentation fault.
+Cannot access memory at address 0x7020796d.
+#0 0x164a in bazz (un_entier=0x5) at temp.c:17
+(gdb)</screen></para>
+ <para>Dans ce cas, le programme s'appelait <filename>a.out</filename>, le
+ fichier &ldquo;<foreignphrase>core</foreignphrase>&rdquo; s'appelle
+ donc <filename>a.out.core</filename>. Nous constatons que le programme
+ s'est termin&eacute; en erreur &agrave; cause d'une tentative
+ d'acc&egrave;s &agrave; une zone de m&eacute;moire qui n'&eacute;tait
+ pas accessible dans une fonction appel&eacute;
+ <function>bazz</function>.</para>
+ <para>Il est parfois utile de pouvoir savoir comment une fonction a
+ &eacute;t&eacute; appel&eacute;e, parce que le probl&egrave;me peut
+ s'&ecirc;tre produit bien au-dessus dans la pile d'appel dans un
+ programme complexe. La commande <command>bt</command> dit &agrave;
+ <command>gdb</command> d'imprimer en remontant la pile d'appel:
+<screen>(gdb) <userinput>bt</userinput>
+#0 0x164a in bazz (un_entier=0x5) at temp.c:17
+#1 0xefbfd888 in end ()
+#2 0x162c in main () at temp.c:11
+(gdb)</screen>
+ La fonction <function>end()</function> est appel&eacute;e quand un
+ programme &eacute;choue; dans le cas pr&eacute;sent, la fonction
+ <function>bazz()</function> a &eacute;t&eacute; appel&eacute;e par
+ <function>main()</function>.</para>
+ </sect2>
+ <sect2>
+ <title>Prendre le contr&ocirc;le d'un programme en cours
+ d'ex&eacute;cution</title>
+ <para>Une des possibilit&eacute;s les plus int&eacute;ressantes de
+ <command>gdb</command> est qu'il peut se rattacher &agrave; un
+ programme en cours d'ex&eacute;cution. Il faut bien s&ucirc;r que vous
+ ayez les autorisations suffisantes pour le faire. Le cas d'un programme
+ qui &ldquo;fourche&rdquo;&nbsp;-&nbsp;<foreignphrase>fork</foreignphrase>&nbsp;-&nbsp;est
+ un probl&egrave;me classique, lorsque vous voulez suivre le
+ d&eacute;roulement du processus fils, alors que le d&eacute;bogueur ne
+ vous permet que de tracer le processus p&egrave;re.</para>
+ <para>Vous lancez alors un autre <command>gdb</command>, utilisez
+ <command>ps</command> pour conna&icirc;tre l'IDentifiant de processus du
+ fils, puis faites:
+<screen>(gdb) <userinput>attach <replaceable>pid</replaceable></userinput></screen>
+ sous <command>gdb</command>, et d&eacute;boguez alors comme
+ d'habitude.</para>
+ <para>&ldquo;Tout cela est bien beau&rdquo;, vous dites vous
+ peut-&ecirc;tre, &ldquo;mais le temps que j'ai fait tout &ccedil;a, le
+ processus fils aura d&eacute;j&agrave; fait un bon bout de
+ chemin&rdquo;. Rien &agrave; craindre, aimable lecteur, voici ce
+ qu'il faut faire (emprunt&eacute; aux pages &ldquo;info&rdquo; de
+ <command>gdb</command>):
+<screen><lineannotation>&hellip</lineannotation>
+if ((pid = fork()) < 0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* _Toujours_ effectuer se contr&ocirc;le */
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error();
+else if (pid == 0) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* C'est le processus fils */
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int PauseMode = 1;
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (PauseMode)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep(10);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* Attendre que quelqu'un se rattache &agrave; nous */
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&hellip;
+} else {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* parent */
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&hellip;</screen>
+ Il n'y a plus qu'&agrave; se rattacher au fils, positionner
+ <symbol>PauseMode</symbol> &agrave; <literal>0</literal>, et attendre
+ que l'appel de <function>sleep()</function> nous rende la main!</para>
+ </sect2>
+ </sect1>
+ <sect1 id="emacs">
+ <title>Utiliser Emacs comme environnement de d&eacute;veloppement</title>
+ <sect2>
+ <title>Emacs</title>
+ <para>Les syst&egrave;mes Unix ne s'accompagnent malheureusement pas
+ du type d'environnement de d&eacute;veloppement
+ int&eacute;gr&eacute; du genre &ldquo;tout ce que vous avez toujours
+ voulu et encore beaucoup plus en un seul monstrueux paquetage&rdquo;
+ dont disposent d'autres syst&egrave;mes<footnote><para>Au moins, pas
+ &agrave; moins que vous ne soyez pr&ecirc;t &agrave; les payer une somme
+ astronomique.</para></footnote>. Il est cependant possible de mettre
+ au point votre propre environnement. Il ne sera peut-&ecirc;tre pas
+ aussi esth&eacute;tique et il ne sera peut-&ecirc;tre pas aussi
+ int&eacute;gr&eacute;, mais vous pourrez le configurer comme vous le
+ voulez. Et il est gratuit. En plus, vous en avez les sources.</para>
+ <para>Emacs est la cl&eacute; de tout. Il y a bien des gens qui le
+ d&eacute;crient, mais nombreux sont ceux qui l'aiment. Si vous
+ &ecirc;tes des premiers, j'ai peur que cette section n'ait que peu
+ d'int&eacute;r&ecirc;t pour vous. Il vous faudra aussi pas mal de
+ m&eacute;moire pour l'utiliser. Je conseille 8Mo en mode texte et
+ 16Mo sous X comme strict minimum pour avoir des temps de r&eacute;ponse
+ raisonnables.</para>
+ <para>Emacs est essentiellement un &eacute;diteur extr&ecirc;mement
+ configurable&nbsp;-&nbsp;il a de fait &eacute;t&eacute; configur&eacute;
+ au point de ressembler plus &agrave; un syst&egrave;me
+ d'exploitation qu'&agrave; un &eacute;diteur! De nombreux
+ d&eacute;veloppeurs et administrateurs syst&egrave;me passent le plus
+ clair de leur temps &agrave; travailler sous Emacs, le quittant
+ seulement pour se d&eacute;connecter.</para>
+ <para>Il est impossible de m&ecirc;me r&eacute;sumer ici tout ce qu'Emacs
+ est capable de faire, mais voici quelques fonctionnalit&eacute;s qui
+ int&eacute;ressent les d&eacute;veloppeurs:
+ <itemizedlist>
+ <listitem>
+ <para>Editeur tr&egrave;s puissant qui permet et de rechercher et
+ remplacer des cha&icirc;nes de caract&egrave;res et d'utiliser pour
+ le faire des expressions r&eacute;guli&egrave;res (motifs), d'aller
+ au d&eacute;but ou &agrave; la fin de blocs syntaxiques, etc,
+ etc.</para>
+ </listitem>
+ <listitem>
+ <para>Menus d&eacute;roulants et aide en ligne.</para>
+ </listitem>
+ <listitem>
+ <para>Mise en valeur et indentation en fonction de la syntaxe du
+ langage utilis&eacute;.</para>
+ </listitem>
+ <listitem>
+ <para>Compl&egrave;tement configurable.</para>
+ </listitem>
+ <listitem>
+ <para>Vous pouvez compiler et d&eacute;boguer des programmes depuis
+ Emacs.</para>
+ </listitem>
+ <listitem>
+ <para>En cas d'erreur &agrave; la compilation, vous pouvez aller
+ directement &agrave; la ligne qui en est la cause.</para>
+ </listitem>
+ <listitem>
+ <para>Interface ergonomique au programme <command>info</command>
+ qui sert &agrave; lire la documentation hypertexte GNU, dont
+ celle d'Emacs lui-m&ecirc;me.</para>
+ </listitem>
+ <listitem>
+ <para>Interface conviviale pour <command>gdb</command>, qui vous
+ permet de visualiser le code source en m&ecirc;me temps que vous
+ ex&eacute;cutez pas &agrave; pas le programme.</para>
+ </listitem>
+ <listitem>
+ <para>Vous pouvez lire les &ldquo;news&rdquo; Usenet et votre
+ courrier &eacute;lectronique pendant que votre programme
+ compile.</para>
+ </listitem>
+ </itemizedlist>
+ Et sans aucun doute bien d'autres choses qui m'ont
+ &eacute;chapp&eacute;es.</para>
+ <para>Emacs peut &ecirc;tre install&eacute; sous FreeBSD sous forme de
+ <ulink URL="http://www.freebsd.org/ports/editors.html">logiciel
+ port&eacute;</ulink>.</para>
+ <para>Une fois qu'il est install&eacute;, lancez-le et tapez
+ <userinput>C-h t</userinput>&nbsp;-&nbsp;ce qui signifie maintenir
+ enfonc&eacute;e la touche <keycap>Ctrl</keycap>, taper
+ <keycap>h</keycap>, rel&acirc;cher la touche <keycap>Ctrl</keycap>, et
+ appuyer ensuite sur <keycap>t</keycap>&nbsp;-&nbsp; pour lire le guide
+ d'Emacs (Vous pouvez aussi utiliser la souris pour s&eacute;lectionner
+ <guimenuitem>Emacs
+ Tutorial</guimenuitem>&nbsp;-&nbsp;&ldquo;<foreignphrase>Guide
+ Emacs</foreignphrase>&rdquo;&nbsp;-&nbsp;depuis le menu
+ <guimenu>Help</guimenu>&nbsp;-&nbsp;&ldquo;<foreignphrase>Aide</foreignphrase>&rdquo;).</para>
+ <para>Bien qu'Emacs ait des menus, il vaut la peine d'apprendre &agrave;
+ utiliser les raccourcis claviers, parce qu'il est bien plus rapide
+ quand vous &eacute;ditez quelque chose d'appuyer sur deux ou trois
+ touches que de courir apr&egrave;s la souris et cliquer ensuite au bon
+ endroit. Si, par ailleurs, vous discutez avec des utilisateurs
+ exp&eacute;riment&eacute;s d'Emacs, vous vous aperceverez qu'ils
+ utilisent assez couramment des expressions comme
+ &ldquo;<literal>M-x replace-s RET foo RET bar RET</literal>&rdquo;,
+ il peut donc servir de comprendre ce qu'ils veulent dire. Et de toute
+ fa&ccedil;on, Emacs a bien plus de fonctions utiles qu'il ne peut en
+ tenir sur une barre de menus.</para>
+ <para>Il est heureusement assez facile de d&eacute;couvrir les raccourcis
+ claviers, ils sont affich&eacute;s dans les menus. Je vous conseille
+ d'utiliser les menus pour, par exemple, ouvrir un fichier
+ jusqu'&agrave; ce que vous compreniez comment cela marche et ayez
+ suffisamment confiance en vous, puis d'essayer C-x C-f. Une fois que
+ cela vous convient, passez &agrave; une autre des commandes des
+ menus.</para>
+ <para>Si vous ne vous rappelez pas ce que fait une combinaison
+ donn&eacute;e de touches, choisissez <guimenuitem>Describe
+ Key</guimenuitem>&nbsp;-&nbsp;&ldquo;<foreignphrase>Description d'une
+ touche</foreignphrase>&rdquo;&nbsp;-&nbsp;dans le menu
+ <guimenu>Help</guimenu>&nbsp;-&nbsp;&ldquo;<foreignphrase>Aide</foreignphrase>&rdquo;&nbsp;-&nbsp;et
+ tapez cette combinaison&nbsp;-&nbsp;Emacs vous dira ce qu'elle fait.
+ Vous pouvez aussi utiliser le choix <guimenuitem>Command
+ Apropos</guimenuitem>&nbsp;-&nbsp;&ldquo;<foreignphrase>A propos d'une
+ commande</foreignphrase>&rdquo;&nbsp;-&nbsp;pour conna&icirc;tre
+ toutes les commandes comportant un mot donn&eacute; et les touches qui
+ leur correspondent.</para>
+ <para>Au fait, l'expression plus haut signifie: enfoncer la touche
+ <keysym>M&eacute;ta</keysym>, appuyer sur <keysym>x</keysym>,
+ rel&acirc;cher la touche <keysym>M&eacute;ta</keysym>, taper
+ <userinput>replace-s</userinput> (abr&eacute;viation de
+ <literal>replace-string</literal>&nbsp;-&nbsp;&ldquo;<foreignphrase>remplacer
+ une cha&icirc;ne de caract&egrave;res</foreignphrase>&rdquo;&nbsp;-&nbsp;une autre
+ caract&eacute;ristique d'Emacs est de vous permettre d'abr&eacute;ger
+ les commandes), appuyer sur <keysym>Entr&eacute;e</keysym>, taper
+ <userinput>foo</userinput> (la cha&icirc;ne que vous voulez remplacer),
+ appuyer sur <keysym>Entr&eacute;e</keysym>, taper
+ <userinput>bar</userinput> (la cha&icirc;ne avec laquelle vous voulez
+ remplacer <literal>foo</literal>) et appuyer encore sur
+ <keysym>Entr&eacute;e</keysym>. Emacs effectuera alors
+ l'op&eacute;ration de recherche et remplacement que vous venez de
+ demander.</para>
+ <para>Si vous vous demandez ce qu'est la touche
+ <keysym>M&eacute;ta</keysym>, c'est une touche sp&eacute;ciale qu'ont
+ beaucoup de stations Unix. Malheureusement, les PCs n'en ont pas, c'est
+ habituellement la touche <keysym>Alt</keysym> qui est utilis&eacute;e
+ (ou si vous n'avez pas de chance, la touche
+ <keysym>Echap</keysym>).</para>
+ <para>Oh, et pour sortir d'Emacs, tapez <command>C-x C-c</command>
+ (Ce qui signifie: enfoncer la touche <keysym>Ctrl</keysym>, appuyer sur
+ <keysym>c</keysym>, appuyer sur <keysym>x</keysym> et rel&acirc;cher la
+ touche <keysym>Ctrl</keysym>). S'il y a des fichiers ouverts que vous
+ n'avez pas sauvegard&eacute;s, Emacs vous demandera si vous voulez les
+ sauvegarder. (Oubliez que la documentation dit que la m&eacute;thode
+ habituelle pour quitter Emacs est d'utiliser
+ <command>C-z</command>&nbsp;-&nbsp;cela laisse Emacs actif en
+ t&acirc;che de fond et n'est r&eacute;ellement utile que si vous
+ &ecirc;tes sur un syst&egrave;me qui ne g&egrave;re pas de terminaux
+ virtuels).</para>
+ </sect2>
+ <sect2>
+ <title>Configurer Emacs</title>
+ <para>Emacs fait des choses admirables; certaines fonctionnalit&eacute;s
+ sont incorpor&eacute;es, d'autres doivent &ecirc;tre
+ configur&eacute;es.</para>
+ <para>Au lieu d'utiliser un langage de macros-instructions
+ propri&eacute;taires, Emacs se sert d'une version de Lisp
+ sp&eacute;cialement adapt&eacute;e aux &eacute;diteurs, connue sous le
+ nom de Emacs Lisp. Ce peut &ecirc;tre tr&egrave;s utile si vous voulez
+ aller plus loin et apprendre ensuite par exemple Common Lisp, parce
+ qu'il est consid&eacute;rablement plus l&eacute;ger que Common Lisp
+ (quoique qu'encore assez imposant!).</para>
+ <para>La meilleure fa&ccedil;on d'apprendre Emacs Lisp est de
+ t&eacute;l&eacute;charger
+ <ulink URL="ftp://prep.ai.mit.edu/pub/gnu/elisp-manual-19-2.4.tar.gz">le
+ Guide Emacs Lisp</ulink>.</para>
+
+ <para>Il n'y a cependant pas besoin de conna&icirc;tre quoique ce soit
+ &agrave; Lisp pour commencer &agrave; configurer Emacs, parce que j'ai
+ inclu un fichier <filename>.emacs</filename> d'exemple, qui devrait
+ suffire au d&eacute;but. Copiez-le simplement dans votre
+ r&eacute;pertoire utilisateur et relancez Emacs, s'il s'ex&eacute;cute
+ d&eacute;j&agrave;; il lira les commandes du fichier et (je
+ l'esp&egrave;re) vous fournira une configuration de base utile.</para>
+ </sect2>
+ <sect2>
+ <title>Un exemple de fichier <filename>.emacs</filename></title>
+ <para>Il contient malheureusement beaucoup trop de choses pour tout
+ expliquer en d&eacute;tails; il y a cependant un ou deux points
+ int&eacute;ressants &agrave; mentionner.</para>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>Tout ce qui commence par un <literal>;</literal> est en
+ commentaire et est ignor&eacute; par Emacs.</para>
+ </listitem>
+ <listitem>
+ <para>La premi&egrave;re ligne,
+ <literal>-*-&nbsp;Emacs-Lisp&nbsp;-*-</literal> permet
+ d'&eacute;diter le fichier <filename>.emacs</filename>
+ lui-m&ecirc;me sous Emacs et de profiter de toutes les
+ fonctionnalit&eacute;es li&eacute;es &agrave; l'&eacute;dition de
+ code Emacs Lisp. Emacs tente habituellement de deviner le type de
+ fichier en fonction de son nom, mais risque de ne pas y arriver
+ pour le fichier <filename>.emacs</filename>.</para>
+ </listitem>
+ <listitem>
+ <para>La touche <keysym>Tab</keysym> est utilis&eacute;e pour
+ l'indentation dans certains modes, de sorte que si vous appuyez
+ sur cette touche cela indente la ligne de code courante. Si vous
+ voulez mettre un caract&egrave;re <token>tabulation</token> dans
+ votre texte, enfoncer la touche <keysym>Ctrl</keysym> en
+ m&ecirc;me temps que vous appuyez sur
+ <keysym>Tab</keysym>.</para>
+ </listitem>
+ <listitem>
+ <para>Ce fichier permet le mise en valeur syntaxique de code C,
+ C++, Perl, Lisp et Scheme, en d&eacute;terminant le langage
+ d'apr&egrave;s le nom du fichier &eacute;dit&eacute;.</para>
+ </listitem>
+ <listitem>
+ <para>Emacs a d&eacute;j&agrave; une fonction
+ pr&eacute;d&eacute;finie appel&eacute;e
+ <function>next-error</function>&nbsp;-&nbsp;&ldquo;<foreignphrase>erreur
+ suivante</foreignphrase>&rdquo;. Dans la fen&ecirc;tre de
+ r&eacute;sultats d'une compilation, cela vous permet d'aller
+ d'une erreur &agrave; la suivante avec <command>M-n</command>;
+ nous d&eacute;finissons la fonction compl&eacute;mentaire
+ <function>previous-error</function>&nbsp;-&nbsp;&ldquo;<foreignphrase>erreur
+ pr&eacute;c&eacute;dente</foreignphrase>&rdquo;, qui vous permet
+ de retourner &agrave; l'erreur pr&eacute;c&eacute;dente avec
+ <command>M-p</command>. Le plus sympathique est que
+ <command>C-c C-c</command> ouvrira le fichier source o&ugrave;
+ l'erreur s'est produite et ira &agrave; la ligne
+ concern&eacute;e.</para>
+ </listitem>
+ <listitem>
+ <para>Nous activons la possibilit&eacute; qu'a Emacs d'agir comme
+ serveur, de fa&ccedil;on &agrave; ce que si vous travaillez hors
+ d'Emacs et voulez &eacute;diter un fichier, il vous suffise de
+ taper:
+<screen>&prompt.user; <userinput>emacsclient <replaceable>nom_du_fichier</replaceable></userinput></screen>
+ pour pouvoir ensuite le modifier avec Emacs!<footnote><para>De
+ nombreux utilisateurs d'Emacs affectent &agrave; leur variable
+ d'environnement <systemitem class=environvar>EDITOR</systemitem>
+ la valeur <literal>emacsclient</literal> de fa&ccedil;on &agrave;
+ ce que ce soit ce qui se produise chaque fois qu'ils ont besoin
+ d'&eacute;diter un fichier.</para></footnote>.</para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <example>
+ <title>Un exemple de fichier <filename>.emacs</filename></title>
+<screen>
+;; -*-Emacs-Lisp-*-
+
+;; Ce fichier est con&ccedil;u pour &ecirc;tre relu; la variable
+;; first-time est utilis&eacute;e pour &eacute;viter les probl&egrave;mes
+;; que cela pourra poser.
+(defvar first-time t
+ "Indicateur signifiant que le fichier .emacs est lu pour la premi&egrave;re fois")
+
+;; M&eacute;ta
+(global-set-key "\M- " 'set-mark-command)
+(global-set-key "\M-\C-h" 'backward-kill-word)
+(global-set-key "\M-\C-r" 'query-replace)
+(global-set-key "\M-r" 'replace-string)
+(global-set-key "\M-g" 'goto-line)
+(global-set-key "\M-h" 'help-command)
+
+;; Touches fonction
+(global-set-key [f1] 'manual-entry)
+(global-set-key [f2] 'info)
+(global-set-key [f3] 'repeat-complex-command)
+(global-set-key [f4] 'advertised-undo)
+(global-set-key [f5] 'eval-current-buffer)
+(global-set-key [f6] 'buffer-menu)
+(global-set-key [f7] 'other-window)
+(global-set-key [f8] 'find-file)
+(global-set-key [f9] 'save-buffer)
+(global-set-key [f10] 'next-error)
+(global-set-key [f11] 'compile)
+(global-set-key [f12] 'grep)
+(global-set-key [C-f1] 'compile)
+(global-set-key [C-f2] 'grep)
+(global-set-key [C-f3] 'next-error)
+(global-set-key [C-f4] 'previous-error)
+(global-set-key [C-f5] 'display-faces)
+(global-set-key [C-f8] 'dired)
+(global-set-key [C-f10] 'kill-compilation)
+
+;; Touches curseur
+(global-set-key [up] "\C-p")
+(global-set-key [down] "\C-n")
+(global-set-key [left] "\C-b")
+(global-set-key [right] "\C-f")
+(global-set-key [home] "\C-a")
+(global-set-key [end] "\C-e")
+(global-set-key [prior] "\M-v")
+(global-set-key [next] "\C-v")
+(global-set-key [C-up] "\M-\C-b")
+(global-set-key [C-down] "\M-\C-f")
+(global-set-key [C-left] "\M-b")
+(global-set-key [C-right] "\M-f")
+(global-set-key [C-home] "\M-&lt;")
+(global-set-key [C-end] "\M-&gt;")
+(global-set-key [C-prior] "\M-&lt;")
+(global-set-key [C-next] "\M-&gt;")
+
+;; Souris
+(global-set-key [mouse-3] 'imenu)
+
+;; Divers
+(global-set-key [C-tab] "\C-q\t") ; Ctrl tab = caract&egrave;re tabulation.
+(setq backup-by-copying-when-mismatch t)
+
+;; 'y' ou &lt;CR&gt; &eacute;quivaut &agrave; yes, 'n' &agrave; no.
+(fset 'yes-or-no-p 'y-or-n-p)
+ (define-key query-replace-map [return] 'act)
+ (define-key query-replace-map [?\C-m] 'act)
+
+;; Paquetages &agrave; charger
+(require 'desktop)
+(require 'tar-mode)
+
+;; Mode diff &eacute;volu&eacute;
+(autoload 'ediff-buffers "ediff" "Interface Emacs intelligente pour diff" t)
+(autoload 'ediff-files "ediff" "Interface Emacs intelligente pour diff" t)
+(autoload 'ediff-files-remote "ediff"
+ "Interface Emacs intelligente pour diff")
+</screen>
+
+<screen>
+(if first-time
+&nbsp;&nbsp;&nbsp;&nbsp;(setq auto-mode-alist
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(append '(("\\.cpp$" . c++-mode)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;("\\.hpp$" . c++-mode)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;("\\.lsp$" . lisp-mode)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;("\\.scm$" . scheme-mode)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;("\\.pl$" . perl-mode)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;) auto-mode-alist)))
+
+;; Mise en valeur syntaxique automatique
+(defvar font-lock-auto-mode-list
+ (list 'c-mode 'c++-mode 'c++-c-mode 'emacs-lisp-mode 'lisp-mode 'perl-mode 'scheme-mode)
+ "Listes des modes &agrave; d&eacute;marrer toujours avec mise en valeur")
+
+(defvar font-lock-mode-keyword-alist
+ '((c++-c-mode . c-font-lock-keywords)
+ (perl-mode . perl-font-lock-keywords))
+ "Associations entre modes et mots-cl&eacute;s")
+
+(defun font-lock-auto-mode-select ()
+ "S&eacute;lectionne automatiquement type de mise en valeur si le major mode courant est dans font-lock-auto-mode-list"
+ (if (memq major-mode font-lock-auto-mode-list)
+ (progn
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(font-lock-mode t))
+ )
+ )
+
+(global-set-key [M-f1] 'font-lock-fontify-buffer)
+
+;; Nouveau dabbrev
+;(require 'new-dabbrev)
+(setq dabbrev-always-check-other-buffers t)
+(setq dabbrev-abbrev-char-regexp "\\sw\\|\\s_")
+(add-hook 'emacs-lisp-mode-hook
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'(lambda ()
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(set (make-local-variable 'dabbrev-case-fold-search) nil)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(set (make-local-variable 'dabbrev-case-replace) nil)))
+(add-hook 'c-mode-hook
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'(lambda ()
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(set (make-local-variable 'dabbrev-case-fold-search) nil)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(set (make-local-variable 'dabbrev-case-replace) nil)))
+(add-hook 'text-mode-hook
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'(lambda ()
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(set (make-local-variable 'dabbrev-case-fold-search) t)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(set (make-local-variable 'dabbrev-case-replace) t)))
+
+;; Mode C++ et C...
+(defun my-c++-mode-hook ()
+ (setq tab-width 4)
+ (define-key c++-mode-map "\C-m" 'reindent-then-newline-and-indent)
+ (define-key c++-mode-map "\C-ce" 'c-comment-edit)
+ (setq c++-auto-hungry-initial-state 'none)
+ (setq c++-delete-function 'backward-delete-char)
+ (setq c++-tab-always-indent t)
+ (setq c-indent-level 4)
+ (setq c-continued-statement-offset 4)
+ (setq c++-empty-arglist-indent 4))
+
+(defun my-c-mode-hook ()
+ (setq tab-width 4)
+ (define-key c-mode-map "\C-m" 'reindent-then-newline-and-indent)
+ (define-key c-mode-map "\C-ce" 'c-comment-edit)
+ (setq c-auto-hungry-initial-state 'none)
+ (setq c-delete-function 'backward-delete-char)
+ (setq c-tab-always-indent t)
+;; indentation style BSD
+ (setq c-indent-level 4)
+ (setq c-continued-statement-offset 4)
+ (setq c-brace-offset -4)
+ (setq c-argdecl-indent 0)
+ (setq c-label-offset -4))
+
+;; Mode Perl...
+(defun my-perl-mode-hook ()
+ (setq tab-width 4)
+ (define-key c++-mode-map "\C-m" 'reindent-then-newline-and-indent)
+ (setq perl-indent-level 4)
+ (setq perl-continued-statement-offset 4))
+
+;; Mode Scheme...
+(defun my-scheme-mode-hook ()
+ (define-key scheme-mode-map "\C-m" 'reindent-then-newline-and-indent))
+
+;; Mode Emacs-Lisp...
+(defun my-lisp-mode-hook ()
+ (define-key lisp-mode-map "\C-m" 'reindent-then-newline-and-indent)
+ (define-key lisp-mode-map "\C-i" 'lisp-indent-line)
+ (define-key lisp-mode-map "\C-j" 'eval-print-last-sexp))
+
+;; Ajouts des pr&eacute;c&eacute;dents
+(add-hook 'c++-mode-hook 'my-c++-mode-hook)
+(add-hook 'c-mode-hook 'my-c-mode-hook)
+(add-hook 'scheme-mode-hook 'my-scheme-mode-hook)
+(add-hook 'emacs-lisp-mode-hook 'my-lisp-mode-hook)
+(add-hook 'lisp-mode-hook 'my-lisp-mode-hook)
+(add-hook 'perl-mode-hook 'my-perl-mode-hook)
+
+;; L'inverse de next-error
+(defun previous-error (n)
+ "Aller &agrave; l'erreur de compilation pr&eacute;c&eacute;dente et au code correspondant."
+ (interactive "p")
+ (next-error (- n)))
+</screen>
+
+<screen>;; Divers...
+(transient-mark-mode 1)
+(setq mark-even-if-inactive t)
+(setq visible-bell nil)
+(setq next-line-add-newlines nil)
+(setq compile-command "make")
+(setq suggest-key-bindings nil)
+(put 'eval-expression 'disabled nil)
+(put 'narrow-to-region 'disabled nil)
+(put 'set-goal-column 'disabled nil)
+
+;; Recherche dans les archives Elisp
+(autoload 'format-lisp-code-directory "lispdir" nil t)
+(autoload 'lisp-dir-apropos "lispdir" nil t)
+(autoload 'lisp-dir-retrieve "lispdir" nil t)
+(autoload 'lisp-dir-verify "lispdir" nil t)
+
+;; Mise en valeur syntaxique
+(defun my-make-face (face colour &amp;optional bold)
+ "Cr&eacute;er une apparence pour une couleur, &eacute;ventuellement en gras"
+ (make-face face)
+ (copy-face 'default face)
+ (set-face-foreground face colour)
+ (if bold (make-face-bold face))
+ )
+
+(if (eq window-system 'x)
+ (progn
+ (my-make-face 'blue "blue")
+ (my-make-face 'red "red")
+ (my-make-face 'green "dark green")
+ (setq font-lock-comment-face 'blue)
+ (setq font-lock-string-face 'bold)
+ (setq font-lock-type-face 'bold)
+ (setq font-lock-keyword-face 'bold)
+ (setq font-lock-function-name-face 'red)
+ (setq font-lock-doc-string-face 'green)
+ (add-hook 'find-file-hooks 'font-lock-auto-mode-select)
+
+ (setq baud-rate 1000000)
+ (global-set-key "\C-cmm" 'menu-bar-mode)
+ (global-set-key "\C-cms" 'scroll-bar-mode)
+ (global-set-key [backspace] 'backward-delete-char)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;; (global-set-key [delete] 'delete-char)
+ (standard-display-european t)
+ (load-library "iso-transl")))
+
+;; X11 ou PC &eacute;crivant directement &agrave; l'&eacute;cran
+(if window-system
+ (progn
+ ;; (global-set-key [M-f1] 'hilit-repaint-command)
+ ;; (global-set-key [M-f2] [?\C-u M-f1])
+ (setq hilit-mode-enable-list
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'(not text-mode c-mode c++-mode emacs-lisp-mode lisp-mode
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scheme-mode)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hilit-auto-highlight nil
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hilit-auto-rehighlight 'visible
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hilit-inhibit-hooks nil
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hilit-inhibit-rebinding t)
+ (require 'hilit19)
+ (require 'paren))
+ (setq baud-rate 2400) ; Pour les connections s&eacute;rie lentes
+ )
+
+;; Terminal type TTY
+(if (and (not window-system)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(not (equal system-type 'ms-dos)))
+&nbsp;&nbsp;&nbsp;&nbsp;(progn
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(if first-time
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(progn
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(keyboard-translate ?\C-h ?\C-?)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(keyboard-translate ?\C-? ?\C-h)))))
+
+;; Sous UNIX
+(if (not (equal system-type 'ms-dos))
+&nbsp;&nbsp;&nbsp;&nbsp;(progn
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(if first-time
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(server-start))))
+
+;; Ajouter ici toute modification d'apparence des caract&egrave;res
+(add-hook 'term-setup-hook 'my-term-setup-hook)
+(defun my-term-setup-hook ()
+ (if (eq window-system 'pc)
+ (progn
+;; (set-face-background 'default "red")
+ )))
+
+;; Restaurer le "bureau" - le faire le plus tard possible
+(if first-time
+ (progn
+ (desktop-load-default)
+ (desktop-read)))
+
+;; Indique que le fichier a &eacute;t&eacute; lu au moins une fois
+(setq first-time nil)
+
+;; Plus besoin de d&eacute;boguer quoi que ce soit maintenant.
+(setq debug-on-error nil)
+
+;; C'est tout
+(message "OK, %s%s" (user-login-name) ".")
+</screen>
+ </example>
+ </sect2>
+ <sect2>
+ <title>Permettre &agrave; Emacs de comprendre de nouveaux
+ langages</title>
+ <para>Bon, tout cela est tr&egrave;s bien si vous ne voulez programmer
+ qu'avec les langages d&eacute;j&agrave; introduits dans le fichier
+ <filename>.emacs</filename> (C, C++, Perl, Lisp et Scheme), mais que se
+ passe-t-il quand un nouveau langage appel&eacute;
+ &ldquo;whizbang&rdquo; fait son apparition, avec plein de nouvelles
+ fonctionnalit&eacute;s attrayantes?</para>
+ <para>La premi&egrave;re chose &agrave; faire est de regarder si whizbang
+ s'accompagne de fichiers de configuration d'Emacs pour ce langage.
+ Ces fichiers ont g&eacute;n&eacute;ralement comme extension
+ <filename>.el</filename>, raccourci pour &ldquo;Emacs Lisp&rdquo;.
+ Par exemple, si whizbang est un logiciel port&eacute; pour FreeBSD,
+ ces fichiers peuvent &ecirc;tre rep&eacute;r&eacute;s par:
+<screen>&prompt.user; <userinput>find /usr/ports/lang/whizbang -name "*.el" -print</userinput></screen>
+ et il faut les installer en le copiant dans le r&eacute;pertoire du
+ &ldquo;site Lisp&rdquo; d'Emacs. Sous FreeBSD 2.1.0-RELEASE, c'est le
+ r&eacute;pertoire
+ <filename>/usr/local/share/emacs/site-lisp</filename>.</para>
+ <para>Ainsi par exemple, si la commande pr&eacute;c&eacute;dente nous
+ donnait:
+<screen>/usr/ports/lang/whizbang/work/misc/whizbang.el</screen>
+ nous le copierions alors comme suit:
+<screen>&prompt.user; <userinput>cp /usr/ports/lang/whizbang/work/misc/whizbang.el /usr/local/share/emacs/site-lisp</userinput></screen>
+ </para>
+ <para>D&eacute;cidons ensuite de l'extension que doivent avoir les
+ fichiers source whizbang. Supposons, pour les besoins de l'exemple,
+ qu'ils se terminent tous par <filename>.wiz</filename>. Il faut ajouter
+ une entr&eacute;e &agrave; notre fichier <filename>.emacs</filename>,
+ pour &ecirc;tre s&ucirc;r qu'Emacs puisse utiliser les informations du
+ fichier <filename>whizbang.el</filename>.</para>
+ <para>Recherchons l'entr&eacute;e <symbol>auto-mode-alist</symbol> dans
+ <filename>.emacs</filename> et ajoutons une ligne pour whizbang, par
+ exemple:
+ <programlisting>
+<lineannotation>&hellip;</lineannotation>
+("\\.lsp$" . lisp-mode)
+("\\.wiz$" . whizbang-mode)
+("\\.scm$" . scheme-mode)
+<lineannotation>&hellip;</lineannotation>
+ </programlisting>
+ Cela signifie qu'Emacs passera automatiquement en
+ <function>whizbang-mode</function> &agrave; l'&eacute;dition d'un
+ fichier d'extension <filename>.wiz</filename>.</para>
+ <para>Juste apr&egrave;s, il y a une entr&eacute;e
+ <symbol>font-lock-auto-mode-list</symbol>. Ajoutez-y
+ <function>whizbang-mode</function> comme ceci:
+ <programlisting>
+;; Auto font-lock-mode
+(defvar font-lock-auto-mode-list
+ (list 'c-mode 'c++-mode 'c++-c-mode 'emacs-lisp-mode 'whizbang-mode 'lisp-mode 'perl-mode 'scheme-mode)
+ "Listes des modes &agrave; d&eacute;marrer toujours en font-lock-mode")
+ </programlisting>
+ Ce qui signifie qu'Emacs activera toujours le
+ <function>font-lock-mode</function> (i.e., la mise en valeur
+ syntaxique) &agrave; l'&eacute;dition d'un fichier
+ <filename>.wiz</filename>.</para>
+ <para>Cela suffit. S'il y a autre chose que vous voulez automatiser
+ &agrave; l'ouverture d'un fichier <filename>.wiz</filename>, vous
+ pouvez ajouter un <function>whizbang-mode hook</function> (voyez mon
+ <function>my-scheme-mode-hook</function> pour avoir un exemple simple
+ qui ajoute un <function>auto-indent</function>&nbsp;-&nbsp;indentation
+ automatique).</para>
+ </sect2>
+ </sect1>
+ <sect1>
+ <title>A lire pour aller plus loin</title>
+ <itemizedlist>
+ <listitem>
+ <para>Brian Harvey et Matthew Wright <emphasis>Simply
+ Scheme</emphasis> MIT 1994.<!-- <br> --> ISBN 0-262-08226-8</para>
+ </listitem>
+ <listitem>
+ <para>Randall Schwartz <emphasis>Learning Perl</emphasis> O'Reilly
+ 1993<!-- <br> --> ISBN 1-56592-042-2</para>
+ </listitem>
+ <listitem>
+ <para>Patrick Henry Winston et Berthold Klaus Paul Horn
+ <emphasis>Lisp (3rd Edition)</emphasis> Addison-Wesley
+ 1989<!-- <br> --> ISBN 0-201-08319-1</para>
+ </listitem>
+ <listitem>
+ <para>Brian W. Kernighan et Rob Pike <emphasis>The Unix Programming
+ Environment</emphasis> Prentice-Hall 1984<!-- <br> --> ISBN
+ 0-13-937681-X</para>
+ </listitem>
+ <listitem>
+ <para>Brian W. Kernighan et Dennis M. Ritchie <emphasis>The C
+ Programming Language (2nd Edition)</emphasis> Prentice-Hall
+ 1988<!-- <br> --> ISBN 0-13-110362-8</para>
+ </listitem>
+ <listitem>
+ <para>Bjarne Stroustrup <emphasis>The C++ Programming
+ Language</emphasis> Addison-Wesley 1991<!-- <br> --> ISBN
+ 0-201-53992-6</para>
+ </listitem>
+ <listitem>
+ <para>W. Richard Stevens <emphasis>Advanced Programming in the Unix
+ Environment</emphasis> Addison-Wesley 1992<!-- <br> --> ISBN
+ 0-201-56317-7</para>
+ </listitem>
+ <listitem>
+ <para>W. Richard Stevens <emphasis>Unix Network Programming</emphasis>
+ Prentice-Hall 1990<!-- <br> --> ISBN 0-13-949876-1</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+</article>
diff --git a/fr_FR.ISO_8859-1/books/Makefile b/fr_FR.ISO_8859-1/books/Makefile
new file mode 100644
index 0000000000..1ee88cd418
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/Makefile
@@ -0,0 +1,15 @@
+#
+# The FreeBSD Documentation Project
+# The FreeBSD French Documentation Project
+#
+# $FreeBSD$
+# Original revision: 1.4
+#
+
+SUBDIR = faq
+SUBDIR+= handbook
+
+ROOT_SYMLINKS= faq handbook
+
+DOC_PREFIX?= ${.CURDIR}/../..
+.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/fr_FR.ISO_8859-1/books/Makefile.inc b/fr_FR.ISO_8859-1/books/Makefile.inc
new file mode 100644
index 0000000000..3e2eea4dc7
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/Makefile.inc
@@ -0,0 +1,9 @@
+#
+# The FreeBSD Documentation Project
+# The FreeBSD French Documentation Project
+#
+# $FreeBSD$
+# Original revision: 1.2
+#
+
+DESTDIR?= ${DOCDIR}/fr_FR.ISO_8859-1/books/${.CURDIR:T}
diff --git a/fr_FR.ISO_8859-1/books/faq/Makefile b/fr_FR.ISO_8859-1/books/faq/Makefile
new file mode 100644
index 0000000000..f8035e4ce4
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/faq/Makefile
@@ -0,0 +1,45 @@
+#
+# The FreeBSD Documentation Project
+# The FreeBSD French Documentation Project
+#
+# Compilation de la FAQ FreeBSD
+#
+# $FreeBSD$
+# Original revision: 1.5
+#
+
+MAINTAINER=nik@FreeBSD.ORG
+
+DOC?= book
+
+FORMATS?= html-split html
+
+INSTALL_COMPRESSED?= gz
+INSTALL_ONLY_COMPRESSED?=
+
+#
+# SRCS lists the individual SGML files that make up the document. Changes
+# to any of these files will force a rebuild
+#
+
+# SGML content
+SRCS= book.sgml
+SRCS+= acknowledgments.sgml
+SRCS+= admin.sgml
+SRCS+= applications.sgml
+SRCS+= commercial.sgml
+SRCS+= hackers.sgml
+SRCS+= hardware.sgml
+SRCS+= includes.sgml
+SRCS+= install.sgml
+SRCS+= kernelconfig.sgml
+SRCS+= misc.sgml
+SRCS+= network.sgml
+SRCS+= preface.sgml
+SRCS+= serial.sgml
+SRCS+= troubleshoot.sgml
+SRCS+= x.sgml
+
+DOC_PREFIX?= ${.CURDIR}/../../..
+
+.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/fr_FR.ISO_8859-1/books/faq/acknowledgments.sgml b/fr_FR.ISO_8859-1/books/faq/acknowledgments.sgml
new file mode 100644
index 0000000000..12c721893e
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/faq/acknowledgments.sgml
@@ -0,0 +1,92 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: 1.1
+-->
+
+
+
+ <chapter id="acknowledgments">
+ <title> REMERCIEMENTS </title>
+<programlisting>
+
+
+
+</programlisting>
+ <para><emphasis remap="tt">
+ Si vous voyez un probl&egrave;me avec cette FAQ, ou que vous voulez rajouter
+une entr&eacute;e, mailez nous &agrave; &lt;FAQ@FreeBSD.ORG&gt;
+Nous appr&eacute;cions tout commentaire, et seul votre aide nous permettra
+d'am&eacute;liorer cette FAQ !</emphasis>
+ </para>
+ <programlisting>
+
+ FreeBSD Core Team
+
+
+</programlisting>
+
+ <!-- Faudrait trouver l'equivalent de descript/tag en docbook) -->
+<programlisting>
+ Version originale
+
+</programlisting>
+<itemizedlist>
+ <listitem>
+ <para>Jordan Hubbard :
+Ocasionnellement des mises &agrave; jour et des corrections de la FAQ
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>Doug White :
+Les services ci-dessus et plus qu'il n'en faut sur freebsd-questions
+ </para></listitem>
+
+ <listitem>
+ <para>Joerg Wunsch :
+Les services ci-dessus et plus qu'il n'en faut sur Usenet
+ </para></listitem>
+
+ <listitem>
+ <para>Garrett Wollman :
+R&eacute;seaux et format
+ </para></listitem>
+
+ <listitem>
+ <para>Jim Lowe :
+Informations Multicast
+ </para></listitem>
+
+ <listitem>
+ <para>Peter da Silva :
+Tapage de la FAQ FreeBSD.
+ </para></listitem>
+
+ <listitem>
+ <para>The FreeBSD Team :
+Soumission d'information...
+ </para></listitem>
+</itemizedlist>
+<programlisting>
+
+ L'&eacute;quipe de traduction Francaise:
+</programlisting>
+<itemizedlist>
+ <listitem><para><ulink url="mailto:renaudbreard@telegroupe.fr">Renaud BREARD </ulink></para></listitem>
+ <listitem><para><ulink url="mailto:brive@mail.dotcom.fr">Robert Brive</ulink> </para></listitem>
+ <listitem><para><ulink url="mailto:gioria@francenet.fr">S&eacute;bastien GIORIA</ulink> </para></listitem>
+ <listitem><para><ulink url="mailto:fhaby@club-internet.fr">Fr&eacute;d&eacute;ric Haby</ulink></para></listitem>
+ <listitem><para><ulink url="mailto:Stephane.Legrand@bigfoot.com">St&eacute;phane LEGRAND </ulink></para></listitem>
+ <listitem><para><ulink url="mailto:nolin@mail.dotcom.fr">Philippe Nolin</ulink> </para></listitem>
+ <listitem><para><ulink url="mailto:regnauld@deepo.prosa.dk">Philippe REGNAULD </ulink></para></listitem>
+ <listitem><para><ulink url="mailto:ritsch_p@epita.fr">Pierre Yves RITSCHARD</ulink></para></listitem>
+ <listitem><para><ulink url="mailto:dntt@prism.uvsq.fr">Tuy&ecirc;t Tr&acirc;m DANG NGOC</ulink> </para></listitem>
+
+</itemizedlist>
+ <para>
+Et pour tous les autres que nous avons oubli&eacute;s, mille excuses, et merci de tout coeur !
+ </para>
+ </chapter>
diff --git a/fr_FR.ISO_8859-1/books/faq/admin.sgml b/fr_FR.ISO_8859-1/books/faq/admin.sgml
new file mode 100644
index 0000000000..b9afc7c57f
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/faq/admin.sgml
@@ -0,0 +1,893 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+ $FreeBSD$
+ Original revision: 1.20
+-->
+
+<chapter id="admin">
+ <title>Administration syst&egrave;me</title>
+
+ <sect1>
+ <title>O&ugrave; sont les fichiers de d&eacute;marrage du syst&egrave;me&nbsp;?</title>
+
+ <para>De la version 2.0.5R &agrave; la version 2.2.1R, le fichier de
+configuration principal &eacute;tait <filename> /etc/sysconfig </filename>.
+Toutes les options sont sp&eacute;cifi&eacute;es dans ce fichier et les autres
+fichiers comme <ulink url="http://www.freebsd.org/cgi/man.cgi?rc">
+/etc/rc </ulink> et <filename> /etc/netstart </filename> ne font
+que l'inclure.</para>
+
+ <para>Regardez dans le fichier <filename> /etc/sysconfig
+</filename> et changez les valeurs n&eacute;cessaires pour configurer votre
+syst&egrave;me. Ce fichier inclut des commentaires indiquant les valeurs &agrave;
+mettre.</para>
+
+ <para>Pour les versions 2.2.1 et suivantes, le fichier <filename>
+/etc/sysconfig </filename> a &eacute;t&eacute; renomm&eacute; en <ulink
+url="http://www.freebsd.org/cgi/man.cgi?rc.conf(5)"> <filename>
+rc.conf </filename> </ulink> et a &eacute;t&eacute; &eacute;pur&eacute; au passage. Le fichier
+<filename> /etc/netstart </filename> a aussi &eacute;t&eacute; renomm&eacute; en <filename>
+rc/network </filename> comme cela tous les fichiers peuvent &ecirc;tre
+copi&eacute;s gr&acirc;ce &agrave; une seule commande&nbsp;: <ulink
+url="http://www.freebsd.org/cgi/man.cgi?cp"> cp </ulink>
+<filename>/usr/src/etc/rc* /etc</filename>. </para>
+
+ <para>Le fichier <filename>/etc/rc.local</filename> existe
+toujours et peut &ecirc;tre utilis&eacute; pour d&eacute;marrer des services additionnels
+comme <ulink
+url="http://www.freebsd.org/cgi/ports.cgi?^inn">INN</ulink> ou pour
+positionner certaines valeurs.</para>
+
+ <para>Le fichier <filename>/etc/rc.serial </filename> permet
+d'initialiser les ports s&eacute;rie (par exemple mettre en place les
+caract&eacute;ristiques du port, etc..).</para>
+
+ <para>Le fichier <filename>/etc/rc.i386 </filename> est
+sp&eacute;cifique aux param&egrave;tres des plateformes Intel, comme l'&eacute;mulation
+iBCS2 ou la configuration de la console syst&egrave;me d'un PC.</para>
+
+ <para>Avec la version 2.1.0R, vous pouvez d&eacute;finir des fichiers de
+d&eacute;marrage "locaux" se trouvant dans un r&eacute;pertoire sp&eacute;cifi&eacute; dans le
+fichier <filename>/etc/sysconfig</filename> (ou le fichier <filename>
+/etc/rc.conf </filename>):
+<programlisting>
+# Emplacement des fichiers de d&eacute;marrage locaux
+local_startup=/usr/local/etc/rc.local.d
+</programlisting></para>
+
+ <para>Chaque fichier se terminant par <filename> .sh </filename>
+sera &eacute;x&eacute;cut&eacute; dans l'ordre alphab&eacute;tique.</para>
+
+ <para>Si vous voulez vous assurez d'un certain ordre de
+d&eacute;marrage sans changer le nom des fichiers, vous pouvez utiliser un
+sch&eacute;ma similaire &agrave; celui qui suit, en faisant pr&eacute;c&eacute;der chaque fichier
+de chiffres pour assurer l'ordre de d&eacute;marrage:
+<programlisting>
+10news.sh
+15httpd.sh
+20ssh.sh
+ </programlisting></para>
+
+ <para>Cela peut vous sembler un peu laid (ou SysV :-)) mais cela
+fournit une fa&ccedil;on simple pour les packages locaux ajout&eacute;s sans &ecirc;tre
+oblig&eacute; d'&eacute;diter <filename> /etc/rc.local </filename>. La plupart des
+ports ou des packages assument que le r&eacute;pertoire <filename>
+/usr/local/etc/rc.d </filename> permet le d&eacute;marrage des programmes
+locaux.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Comment ajouter simplement un utilisateur&nbsp;?</title>
+ <para>Utilisez la commande <ulink
+url="http://www.freebsd.org/cgi/man.cgi?adduser"> adduser
+</ulink></para>
+
+ <para>Il existe aussi un autre outil nomm&eacute;
+<filename>``new-account''</filename> &eacute;crit en Perl par <ulink
+url="mailto:roberto@FreeBSD.ORG">Ollivier Robert</ulink>. Demandez le
+lui. Cet outil est actuellement en cours de d&eacute;veloppements suppl&eacute;mentaires</para>
+
+ <para>Pour retirer un utilisateur, utilisez la commande <ulink
+url="http://www.freebsd.org/cgi/man.cgi?rmuser">rmuser</ulink>.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Comment ajouter un nouveau disque dur &agrave; mon syst&egrave;me FreeBSD&nbsp;?</title>
+
+ <para> Voyez le <ulink
+url="&url.tutorials;diskformat/index.html">tutoriel</ulink> sur le formatage des
+disques dur.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Comment utiliser mon nouveau disque amovible&nbsp;? </title>
+
+ <para>Que ce soit un disque amovible de type ZIP ou EZ (ou
+m&ecirc;me une disquette), ou un disque dur, une fois install&eacute; et
+reconnu par le syst&egrave;me et que vous avez ins&eacute;r&eacute; une cartouche/disquette, la
+manipulation est la m&ecirc;me pour tous les p&eacute;riph&eacute;riques.</para>
+
+ <para><anchor id="disklabel">(Cette section est bas&eacute;e sur <ulink url="http://www.vmunix.com/mark/FreeBSD/ZIP-FAQ.html">la FAQ </ulink> des lecteurs ZIP de Mark Mayo)</para>
+
+ <para>Si c'est un disque ZIP ou une disquette DOS, il y a d&eacute;j&agrave; un syst&egrave;me de fichier DOS install&eacute;, vous pouvez utilisez les commandes suivantes:
+<programlisting>
+mount -t msdos /dev/fd0c /floppy
+</programlisting>s'il s'agit d'une disquette; ou:
+<programlisting>
+mount -r msdos /dev/sd2s4 /zip
+</programlisting>s'il s'agit d'un lecteur ZIP dans sa configuration d'origine.
+</para>
+
+ <para>Pour les autres types de disques, voyez leur partitionnement en utilisant <filename> fdisk </filename> ou <filename> /stand/sysinstall </filename>.</para>
+
+ <para>Les exemples qui suivent supposent que vous disposez d'un disque ZIP sur sd2, le troisi&egrave;me disque SCSI.</para>
+
+ <para>Si votre disque amovible n'est pas une disquette, ou tout autre disque amovible que vous ne d&eacute;sirez par partager avec d'autres personnes, il vaut mieux mettre un syst&egrave;me de fichiers BSD dessus. Vous pourrez avoir des noms longs, une am&eacute;lioration de performances et une meilleur stabilit&eacute;. Pour commencer, vous devez effacer la partition ou le syst&egrave;me de fichiers DOS. Vous pouvez utiliser l'utilitaire <ulink url="http://www.freebsd.org/cgi/man.cgi?fdisk"> fdisk </ulink> ou <filename> /stand/sysinstall </filename>, ou pour un disque d'une petite capacit&eacute;, d&eacute;truire la table des partitions FAT et utiliser le partitionnement BSD standard&nbsp;:
+<programlisting>
+dd if=/dev/zero of=/dev/rsd2 count=2
+disklabel -Brw sd2 auto
+</programlisting></para>
+
+ <para>Vous pouvez utiliser disklabel ou <filename> /stand/sysinstall </filename> pour cr&eacute;er plusieurs partitions BSD. Vous effectuerez probablement ces op&eacute;rations si vous ajoutez de l'espace de "swap" sur un disque fixe, mais il est inconcevable de le faire sur un disque amovible ZIP.</para>
+
+ <para>Pour finir construisez un nouveau syst&egrave;me de fichier, utilisant tout l'espace disponible sur votre lecteur ZIP&nbsp;:
+<programlisting>
+newfs /dev/rsd2c
+</programlisting> et montez le&nbsp;:
+<programlisting>
+mount /dev/sd2c /zip
+</programlisting></para>
+
+ <para>C'est surement une bonne id&eacute;e d'ajouter la ligne suivante au fichier <ulink url="http://www.freebsd.org/cgi/man.cgi?fstab"> /etc/fstab </ulink>, cela vous permettra de ne taper que "mount /zip" par la suite&nbsp;:
+<programlisting>
+/dev/sd2c /zip ffs rw,noauto 0 0
+</programlisting></para>
+
+ </sect1>
+ <sect1>
+ <title>Comment monter une partition DOS &eacute;tendue&nbsp;?</title>
+ <para>Les partitions DOS &eacute;tendues se trouvent apr&egrave;s la fin de toutes les partitions primaires. Par exemple, si vous avez une partition "E" en tant que partition DOS &eacute;tendue sur le deuxi&egrave;me disque SCSI, vous devez cr&eacute;er le fichier sp&eacute;cial pour la partition 5 dans /dev et monter /dev/sd1s5&nbsp;:
+<programlisting>
+# cd /dev
+# ./MAKEDEV sd1s5
+# mount -t msdos /dev/sd1s5 /dos/e
+</programlisting></para>
+ </sect1>
+
+ <sect1>
+ <title>Puis-je monter d'autres syst&egrave;mes de fichiers sous FreeBSD&nbsp;?</title>
+
+ <para>Les CDROM <emphasis remap="bf"> Digital UNIX </emphasis>
+au format UFS peuvent &ecirc;tre mont&eacute;s directements sous FreeBSD. Il peut
+&ecirc;tre tr&egrave;s difficile, par contre, de monter des partitions disques de
+Digital UNIX, ou d'autres syst&egrave;mes supportant l'UFS. Cela d&eacute;pend des
+partitionnements effectu&eacute;s sur le syst&egrave;me en question.</para>
+
+ <para><emphasis remap="bf">Linux:</emphasis> Les version 2.2 et
+sup&eacute;rieures incluent le support des partitions <emphasis remap="bf">
+ext2fs </emphasis>. Pour plus d'informations voyez la page de manuel
+de <ulink url="http://www.freebsd.org/cgi/man.cgi?mount_ext2fs">
+mount_ext2fs </ulink>.</para>
+
+ <para>Toute autre information sur le sujet est appr&eacute;ci&eacute;e.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Comment utiliser le programme de d&eacute;marrage de NT pour d&eacute;marrer FreeBSD&nbsp;?</title>
+ <para>Il faut pour cela copier le premier secteur de votre
+partition FreeBSD dans un fichier sur une partition DOS/NT. Nous
+supposerons qu'il s'appelle <filename> c:&bsol;bootsect.bsd
+</filename> (&eacute;quivalent de <filename> c:&bsol;bootsect.dos
+</filename>). Il suffit d'&eacute;diter le fichier <filename>
+c:&bsol;boot.ini </filename> pour qu'il ressemble &agrave; ceci:</para>
+
+ <para><programlisting>
+[boot loader]
+timeout=30
+default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
+[operating systems]
+multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT"
+C:\BOOTSECT.BSD="FreeBSD"
+C:\="DOS" </programlisting> Cette
+proc&eacute;dure implique que DOS, NT ou FreeBSD soient install&eacute;s sur le
+m&ecirc;me disque. Dans mon cas DOS et NT sont install&eacute;s
+respectivement sur la premi&egrave;re partition du disque et FreeBSD sur la
+seconde. FreeBSD est aussi configur&eacute; pour d&eacute;marrer depuis sa partition
+et <emphasis remap="bf"> non </emphasis> depuis le MBR du
+disque.</para>
+
+ <para>Monter une disquette pr&eacute;format&eacute;e DOS (si vous cette
+partition n'est pas en FAT, mais en NTFS) sous <filename> /mnt
+</filename>.</para>
+
+ <para><programlisting>
+dd if=/dev/rsd0a of=/mnt/bootsect.bsd bs=512 count=1
+
+</programlisting> Red&eacute;marrez en mode DOS ou NT. Si vous
+avez une partition NTFS copiez le fichier <filename> bootsect.bsd
+</filename> de la disquette dans le r&eacute;pertoire C:&bsol;. Modifiez les
+attributs (permissions) du fichier boot.ini.</para>
+
+ <para><programlisting>
+attrib -s -r c:\boot.ini
+</programlisting>Ajoutez la ligne correcte au fichier boot.ini et
+restaurez les anciens attributs.</para>
+
+ <para><programlisting>
+attrib -s -r c:\boot.ini
+</programlisting>Si FreeBSD d&eacute;marre depuis le MBR, restaurez-le avec
+la commande DOS <filename> fdisk /MBR </filename> apr&egrave;s avoir
+reconfigur&eacute; FreeBSD pour d&eacute;marrer depuis sa partition native.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Comment d&eacute;marrer FreeBSD et Linux grace &agrave; LILO&nbsp;?</title>
+ <para>Si vous avez install&eacute; FreeBSD et Linux sur le m&egrave;me disque,
+suivez les instructions du manuel de LILO pour d&eacute;marrer sur d'autres
+syst&egrave;mes que Linux. En r&eacute;sum&eacute; il faut&nbsp;:</para>
+
+ <para>D&eacute;marrer sous Linux et ajouter les lignes suivantes au
+fichier <filename> /etc/lilo.conf </filename>:
+<programlisting>
+other=/dev/hda2
+table=/deb/hda
+label=FreeBSD
+</programlisting>(l'exemple pr&eacute;c&eacute;dant suppose que la partition FreeBSD
+est connue par linux sous le nom <filename> /dev/hda2 </filename>.
+Ensuite lancez <filename> lilo </filename> sous root, et c'est
+fini.</para>
+
+ <para>Si FreeBSD se trouve sur un autre disque vous devez
+ajouter <filename> loader=/boot/chain.b </filename> au fichier de
+configuration de lilo&nbsp;:
+<programlisting>
+other=/dev/sdb4
+table=/dev/sdb
+loader=/boot/chain.b
+label=FreeBSD </programlisting>
+Dans certains cas, vous devez sp&eacute;cifier le num&eacute;ro du disque connu par
+le BIOS au programme de d&eacute;marrage de FreeBSD pour d&eacute;marrer sur le
+deuxi&egrave;me disque. Par exemple, si votre disque SCSI contenant FreeBSD
+est trouv&eacute; par le BIOS comme disque num&eacute;ro 1, vous devez taper la ligne
+suivante au prompt du programme de d&eacute;marrage:
+<programlisting>
+Boot: 1:sd(0,a)/kernel
+</programlisting> Vous pouvez configurer le <ulink
+url="http://www.freebsd.org/cgi/man.cgi?boot(8)"> programme de
+d&eacute;marrage </ulink> de FreeBSD version 2.2.5 ou sup&eacute;rieure pour prendre
+cette chaine par d&eacute;faut.</para>
+
+ <para>Le document <ulink
+url="http://sunsite.unc.edu/LDP/HOWTO/mini/Linux+FreeBSD.html">Linux+FreeBSD
+mini-HOWTO</ulink> est une tr&egrave;s bonne r&eacute;f&eacute;rence sur
+l'interop&eacute;rabilit&eacute; entre FreeBSD et Linux.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Comment d&eacute;marrer FreeBSD et Linux depuis BootEasy&nbsp;?</title>
+
+ <para>Il faut installer LILO au d&eacute;but de votre partition de
+d&eacute;marrage de Linux au lieu du MBR. Vous pouvez alors d&eacute;marrer LILO
+depuis BootEasy.</para>
+
+ <para>Si vous utilisez Linux et Windows-95, c'est la meilleur
+fa&ccedil;on d'installer LILO si vous voulez continuer &agrave; d&eacute;marrer Linux apr&egrave;s
+avoir r&eacute;install&eacute; Windows-95 (qui lui ne tient pas contre des autres
+syst&egrave;mes et se croit seul sur le MBR).</para>
+
+ </sect1>
+ <sect1>
+ <title>Est-ce dangereux d'utiliser un disque d&eacute;di&eacute;&nbsp;?</title>
+
+ <para>La proc&eacute;dure d'installation vous permet de choisir deux
+fa&ccedil;ons diff&eacute;rentes pour partitionner vos disques. Par d&eacute;faut, elle
+permet de les rendre compatibles avec d'autres syst&egrave;mes d'exploitation
+se trouvant sur votre ordinateur en utilisant les entr&eacute;es des tables
+de fdisk (appel&eacute;s "slices" sous FreeBSD), en faisant en sorte qu'une
+"slice" FreeBSD corresponde &agrave; une partition. Vous pouvez aussi
+installer un selecteur de d&eacute;marrage pour choisir de d&eacute;marrer sous un
+autre syst&egrave;me d'exploitation.</para>
+
+ <para>Comme ceci correspond &agrave; la plupart des cas de personnes
+venant des PC, les personnes venant d'Unix et qui d&eacute;sirent mettre en
+place une machine pour y faire tourner FreeBSD et juste FreeBSD,
+utilisent la proc&eacute;dure classique d'installation d'Unix, ou Unix
+utilise le disque au complet, du premier secteur au dernier. Une
+v&eacute;ritable table pour fdisk n'est d'aucune utilit&eacute; dans le vas d'une
+machine utilisant FreeBSD 24h/24, 7jours sur 7, car aucun autre
+syst&egrave;me d'exploitation ne sera d&eacute;marr&eacute;. Donc si vous s&eacute;lectionnez
+``A)ll FreeBSD '' dans l'&eacute;diteur de partition du programme
+d'installation et r&eacute;pondez ``No'' &agrave; la question qui suit, vous serez
+dans ce cas. Notez que cela implique que le programme de
+d&eacute;marrage BSD correspond au MBR de ce disque. N'essayez pas d'en
+r&eacute;installer un sous peine de d&eacute;truire le pr&eacute;c&eacute;dent.</para>
+
+ <para>Donc pourquoi est-ce donc ``dangereux''&nbsp;? Un disque
+configur&eacute; de la sorte ne contient pas de table fdisk valides, pour la
+plupart des utilitaires PC. Suivant la fa&ccedil;on dont ils ont &eacute;t&eacute; con&ccedil;us,
+ils vous avertissent ou tout simplement ne disent rien et d&eacute;truisent
+le programme de d&eacute;marrage BSD sans avertissement. Certains syst&egrave;mes
+d'exploitation tr&egrave;s utilis&eacute;s sur PC, sont connus pour agir de la
+sorte (bien s&ucirc;r, ils agissent de la sorte sous le couvert de syst&egrave;me
+"orient&eacute;-utilisateur"). Au moins un BIOS de chez Award, qui est par
+exemple utilis&eacute; sur les HP Netserver (mais sur d'autre syst&egrave;mes
+aussi), est connu pour ignorer tout disque dur n'ayant pas de table
+fdisk valide. Lorsque votre machine d&eacute;marre il ignore tout simplement
+de tels disques, tente de d&eacute;marrer sur une disquette, et vous affiche
+un ``Read error''. Tr&egrave;s impressionnant, non&nbsp;?. C'est ce que certains
+appellent un syst&egrave;me "orient&eacute;-utilisateur".</para>
+
+ <para>Les avantages de ce partitionnement sont&nbsp;: FreeBSD utilise
+le disque au complet, il n'y a donc pas de besoin de garder quelques
+'pistes' au d&eacute;but du disque qui ne servaient &agrave; rien sauf pour un
+mod&egrave;le de partitionnement vieux et simpliste qui n'a maintenant plus
+aucun sens. Ces contraintes &eacute;tant ce que l'on peut appeler la plus
+grosse prise de t&ecirc;te lors de l'installation des syst&egrave;mes
+d'exploitations sur PS, et qui menaient le plus souvent &agrave; deux fa&ccedil;on
+compl&egrave;tement redondantes de stockage des informations dans les tables
+fdisk. Voyez le chapitre sur <ulink url="missingos"> ``Missing
+Operating System''</ulink>. Dans le cas d'un disque ``dangereusement d&eacute;di&eacute;'',
+le programme de d&eacute;marrage BSD commence au secteur 0, qui est le seul
+secteur ne changeant de valeur C/H/S, pour les valeurs du disque du
+BIOS. Vous pouvez donc, dans ce cas, interchanger des disques entre
+plusieurs controleurs ou syst&egrave;mes utilisant des sch&eacute;mas de translation
+diff&eacute;rents sans vous poser de questions.</para>
+
+ <para>Pour passer d'un disque ``dangereusement d&eacute;di&eacute;'' &agrave; un
+disque normal de PC, il y a deux solutions simples. La premi&egrave;re est de
+recouvrir le MBR d'octets vides, pour permettre de faire croire que le
+disque est vierge. Pour pouvez le faire de la fa&ccedil;on suivante:
+<programlisting>dd if=/dev/zero of=/dev/rds0 count=15</programlisting>
+Ou en utilisant une fonctionnnalit&eacute; non-document&eacute;e de DOS&nbsp;:
+<programlisting> fdisk /mbr </programlisting> qui installe aussi un
+nouveau MBR, en recouvrant le programme de d&eacute;marrage BSD.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Comme faire pour ajouter plus de "swap"&nbsp;?</title>
+
+ <para>La meilleur fa&ccedil;on de faire, est d'augmenter la taille de
+votre partition de swap, ou de prendre cette excuse pour ajouter un
+autre disque.</para>
+
+ <para>Ajouter du "swap" sur un autre disque permet plus d'augmenter
+la rapidit&eacute; que d'en ajouter sur le m&ecirc;me disque. Par exemple, si
+vous compilez des fichiers qui se trouvent sur un disque et que le "swap"
+se trouve sur un autre disque, cela va beaucoup plus vite d'avoir
+le "swap" et les sources sur le m&ecirc;me disque. Ceci est
+sp&eacute;cialement vrai pour les disques SCSI.</para>
+
+ <para>Les disques IDE ne permettent pas l'acc&egrave;s &agrave; deux disques
+sur le m&ecirc;me canal au m&ecirc;me moment (FreeBSD ne supporte pas
+le mode 4, donc toutes les entr&eacute;es/sorties disques sont
+``programm&eacute;es''). Je vous sugg&egrave;re de mettre le "swap" sur un autre
+disque aussi. Les disques durs sont si peu couteux, que cela ne vaut
+pas le coup de tout mettre sur un.</para>
+
+ <para>C'est une tr&egrave;s mauvaise id&eacute;e de mettre le fichier de
+"swap" sur une partition NFS, sauf si vous disposez d'un environnement
+r&eacute;seau extr&egrave;mement rapide, et d'un tr&egrave;s bon serveur NFS.</para>
+
+ <para>Voici un exemple pour ajouter 64Mo de swap en utilisant un
+fichier se nommant <filename> /usr/swap0 </filename>.</para>
+ <para>Assurez vous que votre noyau est compil&eacute; avec la ligne
+<programlisting>
+pseudo-device vn 1 # #Vnode driver (turns a file into a device)
+ </programlisting>Le noyau GENERIC la contient par
+d&eacute;faut.
+
+<itemizedlist>
+ <listitem>
+ <para>Cr&eacute;ez un vn-device :
+<programlisting>
+cd /dev
+sh./MAKEDEV vn0
+ </programlisting></para>
+ </listitem>
+ <listitem>
+ <para>Cr&eacute;ez le fichier de "swap" (<filename>/usr/swap0</filename>).
+<programlisting> dd if=/dev/zero of=/usr/swap0 bs=1024k count=64 </programlisting></para>
+ </listitem>
+ <listitem>
+ <para>Activez le fichier de "swap" dans le fichier
+<filename> /etc/rc.conf </filename> <programlisting>
+swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired.
+</programlisting></para>
+ </listitem>
+ <listitem> <para>Rebootez la machine</para> </listitem>
+ </itemizedlist></para>
+
+ <para>Pour activer le fichier de "swap" imm&eacute;diatement, tapez
+<programlisting>
+vnconfig -ce /dev/vn0c /usr/swap0 swap
+</programlisting></para>
+ </sect1>
+
+ <sect1>
+ <title>J'ai des probl&egrave;mes pour installer mon imprimante.</title>
+ <para>R&eacute;f&eacute;rez-vous &agrave; la section sur les <ulink
+url="../handbook/printing.html">imprimantes du Handbook</ulink>. Elle
+couvre l'essentiel des probl&egrave;mes que l'on peut rencontrer.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Le clavier est mal configur&eacute; sur mon ordinateur.</title>
+ <para>Le programme <filename>kbdcontrol</filename> comporte une
+option permettant de charger une configuration clavier diff&eacute;rente.
+Vous trouverez dans <filename>/usr/share/syscons/keymaps</filename>
+diff&eacute;rents fichiers de configuration. Choisissez celle voulue et
+chargez la&nbsp;: <programlisting> kbdcontrol -l fr.iso
+</programlisting></para>
+
+ <para>Dans tous les cas le programme <ulink
+url="http://www.freebsd.org/cgi/man.cgi?kbdcontrol">kbdcontrol</ulink>
+recherche dans <filename>/usr/share/syscons/keymaps</filename> un
+fichier se terminant par <filename>.kbd</filename>.</para>
+
+ <para>Vous pouvez le configurer dans le fichier
+<filename>/etc/sysconfig</filename> (ou <ulink
+url="http://www.freebsd.org/cgi/man.cgi?rc.conf(5)">rc.conf</ulink>).
+Regardez les commentaires apropri&eacute;s dans ce fichier.</para>
+
+ <para>Pour les versions 2.0.5 et suivantes, tout ce qui est
+relatif aux fontes du texte, &agrave; la configuration du clavier se trouve dans
+<filename>/usr/share/syscons</filename>.</para>
+
+ <para>Actuellement les configurations de claviers suivantes sont support&eacute;es&nbsp;:
+<itemizedlist>
+ <listitem><para>Belgian ISO-8859-1 </para></listitem>
+ <listitem><para>Brazilian 275 keyboard Codepage 850 </para></listitem>
+ <listitem><para>Brazilian 275 keyboard ISO-8859-1 </para></listitem>
+ <listitem><para>Danish Codepage 865 </para></listitem>
+ <listitem><para>Danish ISO-8859-1 </para></listitem>
+ <listitem><para>French ISO-8859-1 </para></listitem>
+ <listitem><para>German Codepage 850 </para></listitem>
+ <listitem><para>German ISO-8859-1 </para></listitem>
+ <listitem><para>Italian ISO-8859-1 </para></listitem>
+ <listitem><para>Japanese 106 </para></listitem>
+ <listitem><para>Japanese 106x </para></listitem>
+ <listitem><para>Latin American </para></listitem>
+ <listitem><para>Norwegian ISO-8859-1 </para></listitem>
+ <listitem><para>Polish ISO-8859-2 (programmer's) </para></listitem>
+ <listitem><para>Russian Codepage 866 (alternative) </para></listitem>
+ <listitem><para>Russian koi8-r (shift) </para></listitem>
+ <listitem><para>Russian koi8-r </para></listitem>
+ <listitem><para>Spanish ISO-8859-1 </para></listitem>
+ <listitem><para>Swedish Codepage 850 </para></listitem>
+ <listitem><para>Swedish ISO-8859-1 </para></listitem>
+ <listitem><para>Swiss-German ISO-8859-1 </para></listitem>
+ <listitem><para>United Kingdom Codepage 850 </para></listitem>
+ <listitem><para>United Kingdom ISO-8859-1 </para></listitem>
+ <listitem><para>United States of America ISO-8859-1 </para></listitem>
+ <listitem><para>United States of America dvorak </para></listitem>
+ <listitem><para>United States of America dvorakx </para></listitem>
+ </itemizedlist>
+</para>
+ </sect1>
+
+ <sect1>
+ <title>Comment faire en sorte que les quotas utilisateurs fonctionnent correctement&nbsp;?</title>
+ <para>
+<itemizedlist>
+ <listitem><para>Ne mettez pas de quotas sur '/',</para></listitem>
+ <listitem><para>Mettez le fichier des quotas sur le syst&egrave;me de fichiers
+qui en dispose, par ex&nbsp;:
+<programlisting>
+Syst&egrave;me de fichier Emplacement du fichier des quotas
+/usr /usr/admin/quotas
+/home /home/admin/quotas
+...
+</programlisting></para></listitem></itemizedlist></para>
+
+ </sect1>
+
+ <sect1>
+ <title>Qu'est-ce qui ne va pas avec ma configuration de ccd&nbsp;?</title>
+
+ <para>Le symptome est le suivant :
+<programlisting>
+# ccdconfig -C
+ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format
+#
+</programlisting></para>
+ <para>Ceci apparait la plupart du temps lorsque vous essayez de
+concat&eacute;ner les partitions ``c'', qui par d&eacute;faut ont comme type
+``unused''. Le gestionnaire de disque ccd n&eacute;cessite que le type de la
+partition soit de type FS_BSDFFS. Dans ce cas, &eacute;ditez le label des
+disques &agrave; concat&eacute;ner et changez le type des partitions en type
+``4.2BSD''.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Pourquoi je ne peux pas &eacute;diter le label de mes disques concat&eacute;n&eacute;s&nbsp;? </title>
+
+ <para>Le symptome est le suivant&nbsp;:
+<programlisting>
+# disklabel ccd0
+(&ccedil;a affiche quelque chose de particulier ici, donc essayons de l'&eacute;diter)
+# disklabel -e ccd0
+(&eacute;dition, sauvegarde, sortie)
+disklabel: ioctl DIOCWDINFO: No disk label on disk;
+use "disklabel -r" to install initial label
+#
+</programlisting></para>
+
+ <para>Cela apparait souvent lorsque le label retourn&eacute; par le
+gestionnaire de disques concat&eacute;n&eacute; est un faux, un qui n'est pas
+v&eacute;ritablement sur le disque. Pour r&eacute;soudre ce probl&egrave;me il faut &eacute;crire
+explicitement sur le disque, comme ceci&nbsp;:
+<programlisting>
+# disklabel ccd0 > /tmp/disklabel.tmp
+# disklabel -Rr ccd0 /tmp/disklabel.tmp
+# disklabel -e ccd0
+(maintenant cela doit fonctionner correctement)
+</programlisting></para>
+
+ </sect1>
+
+ <sect1>
+ <title>Est-ce que FreeBSD supporte les communications inter-processus de type Syst&egrave;me V (IPC)&nbsp;?</title>
+ <para>Oui, FreeBSD supporte les communications inter-processus
+de type Syst&egrave;me V, IPC. Cela inclue la m&eacute;moire partag&eacute;e, les files de
+messages et les s&eacute;maphores. Vous devez ajouter les lignes suivantes &agrave;
+votre fichier de configuration du noyau pour les activer&nbsp;:</para>
+<para><programlisting>
+options SYSVSHM
+options "SHMMAXPGS=64" # 256Ko de m&eacute;moire partag&eacute;e
+options SYSVSEM # activation des s&eacute;maphores
+options SYSVMSG # activation des files de messages
+</programlisting>Recompilez le noyau et installez le.</para>
+
+ <para><emphasis remap="bf">Note&nbsp;:</emphasis> Vous aurez s&ucirc;rement
+besoin d'augmenter SHMMAXPGS &agrave; un nombre plus &eacute;lev&eacute;, comme 4096 (16M!)
+si vous avez besoin d'utiliser GIMP. 256Ko est largement suffisant
+pour la m&eacute;moire partag&eacute;e dont &agrave; besoin X11R6.</para>
+ </sect1>
+
+ <sect1>
+ <title>Comment configurer sendmail pour fonctionner avec UUCP&nbsp;?</title>
+
+ <para>La configuration de sendmail fournie avec FreeBSD,
+correspond &agrave; un site directement connect&eacute; &agrave; l'Internet. Les sites qui
+utilisent UUCP pour &eacute;changer du courrier &eacute;lectronique doivent
+installer un autre fichier de configuration pour sendmail. </para>
+
+ <para>Modifier directement le fichier <filename>
+/etc/sendmail.cf </filename> est r&eacute;serv&eacute; la plupart du temps aux
+gourous. La version 8 de sendmail dispose d'une interface <ulink
+url="http://www.freebsd.org/cgi/man.cgi?m4">m4</ulink> de g&eacute;n&eacute;ration
+du fichier de configuration, qui encapsule le fichier de configuration
+dans un format abstrait de haut niveau. Vous devez trouvez les
+diff&eacute;rents fichiers de configuration dans le r&eacute;pertoire <filename>
+/usr/src/usr.sbin/sendmail/cf </filename>.</para>
+
+ <para>Si vous n'avez pas install&eacute; tous les sources du syst&egrave;me,
+vous pouvez trouver les diff&eacute;rents fichiers de configuration de
+sendmail dans un fichier s&eacute;par&eacute; des autres sources sur le CD-ROM. Si
+vous avez mont&eacute; le CD-ROM ex&eacute;cutez les commandes suivantes&nbsp;:</para>
+<para><programlisting>
+cd /usr/src
+tar -xvzf /cdrom/dists/src/ssmailcf.aa
+</programlisting></para>
+
+ <para>Cela correspond juste &agrave; une centaine de kilo-octets. Le
+fichier <filename>README</filename> dans le r&eacute;pertoire
+<filename>cf</filename> vous explique rapidement comment fonctionnne
+m4.</para>
+
+ <para>Pour utiliser UUCP, vous devez utiliser la fonctionnnalit&eacute;
+<emphasis>mailertable</emphasis>. Elle permet &agrave; sendmail de constituer
+une base de donn&eacute;es pour lui permettre de router le courrier
+correctement.</para>
+
+ <para>Pour commencer, vous devez cr&eacute;er une fichier de
+configuration <filename>.mc</filename>. Tous ces types de fichiers se
+trouvent dans le r&eacute;pertoire
+<filename>/usr/src/usr.sbin/sendmail/cf/cf</filename>. Il y a quelques
+fichiers d'exemples dans ce r&eacute;pertoire pouvant vous aider. En
+supposant que vous avez appel&eacute; ce fichier <filename>foo.mc</filename>,
+tout ce que vous devez faire pour le convertir en un
+fichier valide de configuration de sendmail,
+<filename>sendmail.cf</filename> est&nbsp;:</para>
+
+<para><programlisting>
+cd /usr/src/usr.sbin/sendmail/cf/cf
+make foo.cf
+cp foo.cf /etc/sendmail.cf
+</programlisting></para>
+
+ <para>Un fichier classique ressemble &agrave; ceci:</para>
+<para><programlisting>
+include(`../m4/cf.m4')
+VERSIONID(`Votre num&eacute;ro de version)
+OSTYPE(bsd4.4)
+FEATURE(nodns)
+FEATURE(nocanonify)
+FEATURE(mailertable)
+
+define(`UUCP_RELAY', nom.du.relai.uucp)
+define(`UUCP_MAX_SIZE', 200000)
+
+MAILER(local)
+MAILER(smtp)
+MAILER(uucp)
+
+Cw alias.de.votre.nom.de.machine
+Cw votrenomdenoeuduucp.UUCP
+</programlisting></para>
+
+ <para>Les directives <emphasis>nodns</emphasis>et
+<emphasis>nocanonify</emphasis> forcent sendmail &agrave; ne pas utiliser le
+DNS lors de l'envoi du courrier. La directive
+<emphasis>UUCP_RELAY</emphasis> est utilis&eacute;e pour des raisons assez
+bizarres; ne posez pas de questions et utilisez-la. Mettez juste un nom
+de machine capable de recevoir du courrier en UUCP. La plupart du
+temps il faut mettre le nom du serveur de messagerie de votre
+fournisseur d'acc&egrave;s.</para>
+
+ <para>Apr&egrave;s avoir d&eacute;fini tout ceci, vous avez besoin d'un
+fichier <filename>/etc/mailertable</filename>. Voici un exemple de ce
+type de fichier&nbsp;:</para>
+<para><programlisting>
+#
+# makemap hash /etc/mailertable.db < /etc/mailertable
+#
+horus.interface-business.de uucp-dom:horus
+.interface-business.de uucp-dom:if-bus
+interface-business.de uucp-dom:if-bus
+.heep.sax.de smtp8:%1
+horus.UUCP uucp-dom:horus
+if-bus.UUCP uucp-dom:if-bus
+. uucp-dom:sax
+</programlisting></para>
+
+<para>Les trois premi&egrave;res lignes font en sorte d'envoyer
+le courrier &agrave; des serveurs UUCP ``voisins'' et non pas au serveur par
+d&eacute;faut, pour permettre de racourcir le temps d'envoi des messages. La
+ligne suivante permet d'envoyer le courrier sur le domaine local en
+protocole SMTP. Et pour finir, les ``voisins'' UUCP sont mentionner
+dans la la notation de domaine .UUCP, permettant au format de mail
+``voisin-uucp!destinataire'' d'&eacute;craser les r&egrave;gles par d&eacute;faut. La
+derni&egrave;re ligne doit toujours &ecirc;tre un ``.'', qui repr&eacute;sente toutes les
+destinations, qui doit correspondre &agrave; un serveur de messagerie UUCP
+voisin, et qui sert de passerelle de courrier &eacute;l&eacute;ctronique vers le
+reste du monde. Tous les noms de noeuds se trouvant apr&egrave;s le mot cl&eacute;
+<filename>uucp-dom:</filename>doivent &ecirc;tre des noms valides de voisins
+UUCP, que vous pouvez v&eacute;rifier en utilisant la commande
+<filename>uuname</filename></para>
+
+<para>Pour vous rappeler que ce fichier doit &ecirc;tre converti en
+fichier DBM pour pouvoir &ecirc;tre utilis&eacute;, la ligne de commande
+n&eacute;cessaire &agrave; sa cr&eacute;ation est rappel&eacute;e dans les commentaires du fichier
+mailertable. Vous devez lancer cette commande &agrave; chaque fois que vous
+changez quelque chose dans ce fichier.</para>
+
+ <para>Pour finir&nbsp;: si vous n'etes pas certain de votre
+configuration d'envoi de messages &eacute;lectroniques, rappellez-vous
+l'option <filename>-bt</filename> de sendmail. Cela lance sendmail en
+<emphasis>mode test</emphasis>&nbsp;; entrez simplement ``0 '' suivi de
+l'adresse que vous voulez tester. La derni&egrave;re ligne vous indiquera
+alors le type d'agent utilis&eacute; pour l'envoi, la machine auquelle
+l'agent enverra le courrier, et l'adresse &agrave; laquelle il l'enverra. Pour
+quitter ce mode tapez Control-D.</para>
+<para><programlisting>
+j@uriah 191% sendmail -bt
+ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
+Enter &lt;ruleset&gt; &lt;address&gt;
+> 0 foo@interface-business.de
+rewrite: ruleset 0 input: foo @ interface-business . de
+...
+rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \
+< @ interface-business . de >
+> ^D
+j@uriah 192%
+</programlisting></para>
+ </sect1>
+
+ <sect1>
+ <title>Comment mettre en oeuvre le courrier &eacute;lectronique avec une connexion temporaire &agrave; un r&eacute;seau&nbsp;?</title>
+
+ <para>Si vous disposez d'un adresse IP statique, vous ne devez rien changer. Definissez juste votre nom de machine pour qu'il corresponde &agrave; votre nom de machine internet et sendmail s'occupera du reste.</para>
+
+ <para>Dans le cas ou vous disposez d'une adresse IP
+dynamiquement assign&eacute;e et que vous utilisez une connection ppp pour
+acc&egrave;der &agrave; l'internet, vous diposez probablement d'une boite aux
+lettres chez votre fournisseur d'acc&egrave;s. Prenons comme exemple que le
+domaine de votre fournisseur soit <filename>monISP.com</filename>, que
+votre nom d'utilisateur soit <filename>monlogin</filename>, que votre nom
+de machine soit <filename>bsd.perso</filename> et que votre
+fournisseur vous aie indiqu&eacute; la machine
+<filename>relai.monISP.com</filename> comme serveur relai de
+messagerie &eacute;lectronique.</para>
+
+ <para>Pour pouvoir recevoir votre courrier depuis votre boite &agrave;
+lettres, vous devez installer un agent de rapatriement de
+mail.<emphasis remap="bf">Fetchmail</emphasis> est un bon choix, car
+il supporte la plupart des protocoles de messagerie. La plupart du
+temps, votre fournisseur offre l'acc&egrave;s &agrave; travers le protocole POP3. Si
+vous avez d&eacute;cid&eacute; d'utiliser la partie utilisateur de ppp, vous pouvez
+automatiquement rapatrier votre courrier lorsque la connexion vers le
+r&eacute;seau est &eacute;tablie en ajoutant la ligne suivante au fichier
+<filename>/etc/ppp/ppp.linkup</filename>&nbsp;:</para>
+<para><programlisting>
+MYADDR:
+!bg su monlogin -c fetchmail
+</programlisting></para>
+
+ <para>Ici nous assumons que vous disposez d'un compte nomm&eacute;
+<filename>monlogin</filename> sur la machine
+<filename>bsd.perso</filename>. Vous devez alors cr&eacute;er un fichier
+<filename>.fetchmailrc</filename> dans votre r&eacute;pertoire principal
+contenant&nbsp;:</para>
+<para><programlisting>
+poll monISP.com protocol pop3 fetchall pass monPasswd:
+</programlisting></para>
+
+ <para>Naturellement, ce fichier ne doit &ecirc;tre lisible que par
+l'utilisateur <filename>monlogin</filename> car il contient le mot de
+passe <filename>monPasswd</filename>.</para>
+
+ <para>Pour permettre d'envoyer du courrier avec l'ent&ecirc;te
+<emphasis remap="bf">from:</emphasis> correcte, vous devez configurer
+sendmail pour utiliser l'adresse
+<filename>monlogin@monISP.com</filename> plut&ocirc;t que
+<filename>monlogin@bsd.perso</filename>. Vous devez aussi dire &agrave; votre
+sendmail d'envoyer tout le courrier via le serveur
+<filename>relai.monISP.com</filename>, permettant au courrier
+d'&ecirc;tre envoy&eacute; plus rapidement.</para>
+
+<para>Le fichier de configuration <filename>.mc</filename> suivant doit convenir&nbsp;:</para>
+<para><programlisting>
+VERSIONID(`bsd.perso.mc version 1.0')
+OSTYPE(bsd4.4)dnl
+FEATURE(nouucp)dnl
+MAILER(local)dnl
+MAILER(smtp)dnl
+Cwlocalhost
+Cwbsd.perso
+MASQUERADE_AS(`monISP.com')dnl
+FEATURE(allmasquerade)dnl
+FEATURE(masquerade_envelope)dnl
+FEATURE(nocanonify)dnl
+FEATURE(nodns)dnl
+define(SMART_HOST, `relai.monISP.com')
+Dmbsd.perso
+define(`confDOMAIN_NAME',`bsd.perso')dnl
+define(`confDELIVERY_MODE',`deferred')dnl
+</programlisting></para>
+
+ <para>Ref&eacute;rez-vous &agrave; la section pr&eacute;c&eacute;dente pour l'explication
+d&eacute;taill&eacute;e de conversion du fichier <filename>.mc</filename>en fichier
+<filename>sendmail.cf</filename>. N'oubliez pas non plus de red&eacute;marrer
+sendmail apr&egrave;s avoir modifi&eacute; le fichier
+<filename>/etc/sendmail.cf</filename></para>
+
+ </sect1>
+
+ <sect1>
+ <title>Horreur&nbsp;!! J'ai perdu le mot de passe de root&nbsp;!! </title>
+
+ <para>Ne paniquez pas! Red&eacute;marrez tout simplement le syst&egrave;me en
+tapant -s au "prompt" Boot: pour passer en mode mono-utilisateur. A la
+question sur le shell &agrave; utiliser, appuyez sur ENTREE. Vous obtiendrez
+alors un prompt "#". Tapez la commande <filename>mount -u</filename>
+pour remonter votre partition primaire en lecture/&eacute;criture et lancez
+la commande <filename>mount -a</filename> pour remonter tous les
+syst&egrave;mes de fichiers. Tapez <filename>passwd root</filename> pour
+changer le mot de passe root puis tapez <filename>exit</filename> pour
+continuer le processus de d&eacute;marrage du syst&egrave;me.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Comment emp&egrave;cher le red&eacute;marrage du syst&egrave;me en appuyant sur les touches Control-Alt-Delete&nbsp;?</title>
+ <para>Editez le fichier de configuration du clavier que vous
+utilisez pour la console et remplacez le mot cl&eacute;
+<filename>boot</filename> par <filename>nop</filename>. Le fichier de
+configuration du clavier utilis&eacute; par d&eacute;faut est
+<filename>/usr/share/syscons/keymaps/us.iso.kbd</filename>. Vous
+pouvez changer la configuration en &eacute;ditant le fichier
+<filename>/etc/rc.conf</filename>. Bien sur si vous utilisez une autre
+configuration, il faut &eacute;diter le fichier de configuration la
+d&eacute;crivant.</para>
+ </sect1>
+
+ <sect1>
+ <title>Comment transformer les fichiers textes au format DOS en fichiers UNIX&nbsp;?</title>
+
+ <para>Utilisez tout simplement la commande perl suivante&nbsp;:</para>
+
+ <para><programlisting>
+perl -i.bak -pe 's/\r\n/\n/g' fichier.dos ...
+</programlisting></para>
+
+ <para>fichier.dos &eacute;tant le fichier &agrave; modifier. Cette commande
+remplace dans le fichier et sauvegarde l'ancien sous le nom
+<filename>fichier.dos.bak</filename>.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Comment tuer un processus par son nom&nbsp;?</title>
+ <para>Utilisez <ulink url="/cgi/cvsweb.cgi/man.cgi?killall">killall(1)</ulink></para>
+ </sect1>
+
+ <sect1>
+ <title>Pourquoi la commande <filename>su</filename> me dit sans arr&ecirc;t que je ne suis pas dans les ACL de root&nbsp;?</title>
+
+ <para>Cette erreur vient du syst&egrave;me d'authentification distribu&eacute;
+Kerberos. Ceci n'est pas un probl&egrave;me tr&egrave;s grave. Un palliatif consiste
+&agrave; utiliser l'option "-k" de su ou de d&eacute;sinstaller Kerberos comme
+expliqu&eacute; &agrave; la section suivante.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Comment d&eacute;sinstaller Kerberos&nbsp;?</title>
+ <para>Pour d&eacute;sinstaller Kerberos de votre syst&egrave;me, vous devez
+r&eacute;installer la distribution <filename>bin</filename> depuis votre
+version de FreeBSD. Si vous disposez d'un CDROM, vous devez monter le
+cd (la plupart du temps dans /cdrom) et lancer&nbsp;:</para>
+
+<para><programlisting>
+cd /cdrom/bin
+./install.sh
+</programlisting></para>
+ </sect1>
+ <sect1>
+ <title>Comment ajouter des pseudo-terminaux au syst&egrave;me&nbsp;?</title>
+
+ <para>Si vous avez un grand nombre de telnet, ssh, X, or screen users,
+ vous risquez probablement de manquer de pseudo-terminaux.
+ Voici comment en ajouter plusieurs&nbsp;:</para>
+
+ <orderedlist>
+ <listitem><para>Cr&eacute;er et installer un nouveau noyau avec la ligne</para>
+
+ <programlisting>
+ pseudo-device pty 256
+ </programlisting>
+
+ <para>dans le fichier de configuration.</para></listitem>
+
+ <listitem><para>Ex&eacute;cuter la commande&nbsp;:</para>
+
+ <programlisting>
+ # cd /dev
+ # ./MAKEDEV pty{1,2,3,4,5,6,7}
+ </programlisting>
+
+ <para>pour cr&eacute;er 256 device nodes pour les nouveaux terminaux.</para></listitem>
+
+ <listitem><para>Editer <filename>/etc/ttys</filename> et
+ jouter une ligne pour chacun des 256 terminaux.
+ Elles doivent correspondre &agrave; la forme des entr&eacute;es existantes.
+ c'est &agrave; dire ressembler &agrave; :</para>
+
+ <programlisting>
+ ttyqc none network
+ </programlisting>
+
+ <para>L'ordre des lettres de d&eacute;signation est
+ <filename>tty[pqrsPQRS][0-9a-v]</filename>,
+ en utilisant une expression r&eacute;guli&egrave;re. </para></listitem>
+
+ <listitem><para>D&eacute;marrez le syst&egrave;me avec le nouveau noyau
+ et vous &ecirc;tes pr&ecirc;ts &agrave; travailler.</para></listitem>
+ </orderedlist>
+
+
+ </sect1>
+
+</chapter>
+
diff --git a/fr_FR.ISO_8859-1/books/faq/applications.sgml b/fr_FR.ISO_8859-1/books/faq/applications.sgml
new file mode 100644
index 0000000000..ce9f6f1dcd
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/faq/applications.sgml
@@ -0,0 +1,149 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+<chapter id="applications">
+ <title>Applications</title>
+
+ <sect1>
+ <title>Ou puis-je trouver toutes les applications utilisateurs?</title>
+
+ <para>Allez voir sur la <ulink url="../handbook/ports.html"> page des
+ports</ulink> pour plus d'informations sur les packages port&eacute;s sur
+FreeBSD. La liste compl&egrave;te inclut plus de 1000 ports, et grossit chaque
+jours, donc v&eacute;rifiez souvent cette liste, ou souscrivez &agrave; la mailing
+liste <ulink url="freebsd-announce"> freebsd-announce </ulink> pour
+vous tenir au courant des mises &agrave; jour.</para>
+
+ <para>La plupart des ports sont disponibles pour la branche 2.2
+et 3.0, et la plupart d'entre eux sont susceptibles de fonctionner sur
+des syst&egrave;mes 2.1.x. A chaque fois qu'une version de FreeBSD est
+livr&eacute;e, une version des ports, au moment de la livraison de la
+version, est incluse dans le r&eacute;pertoire <filename> ports
+</filename>.</para>
+
+ <para>FreeBSD supporte aussi le concept de ``package'', qui
+n'est rien de plus qu'une distribution binaire compress&eacute;e avec
+quelques informations en plus, permettant de l'installer tr&egrave;s
+simplement. Un ``package'' peut &ecirc;tre install&eacute; et d&eacute;sinstall&eacute;
+facilement, sans avoir besoin de savoir les d&eacute;tails sur les fichiers
+qu'il inclut.</para>
+
+ <para>Il vous suffit d'utiliser le menu d'installation des
+``package'' du programme <filename> /stand/sysinstall </filename> ou
+servez vous de la commande <emphasis> pkg_add(1) </emphasis> pour
+installer les ``packages'' que vous d&eacute;sirez. Les fichiers des
+``packages'' sont tr&egrave;s simple &agrave; identifi&eacute;s de part leur suffixe
+<emphasis> .tgz </emphasis>. Les personnes disposant d'une
+distribution sur CDROM les trouveront dans le r&eacute;pertoire <filename>
+packages/All </filename>. Ils sont aussi disponibles sur ces
+diff&eacute;rents serveurs ftp:
+<itemizedlist>
+ <listitem>
+ <para>Pour les versions 2.1.x-release: <ulink
+url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.1.7/">ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.1.7/</ulink></para>
+ </listitem>
+ <listitem>
+ <para>Pour les versions 2.2.6-release/2.2.-stable: <ulink
+url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.2.6/">ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.2.6/</ulink></para>
+ </listitem>
+ <listitem>
+ <para>Pour la version 3.0-current: <ulink
+url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-3.0/">ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-3.0/</ulink></para>
+ </listitem>
+
+ </itemizedlist> ou sur un site mirroir.</para>
+
+ <para>Notez, que tous les ports ne sont pas obligatoirement
+disponibles sous forme de ``package''. C'est une bonne id&eacute;e de
+v&eacute;rifier r&eacute;guli&egrave;rement la disponibilit&eacute; des diff&eacute;rents packages sur le
+<ulink url="ftp://ftp.freebsd.org/pub/FreeBSD/">site principal de
+FreeBSD</ulink></para>
+
+ </sect1>
+
+ <sect1>
+ <title>Ou trouver la librairie libc.so.3.0?</title>
+ <para>Cela veut dire que vous essayez d'utiliser un ``package''
+compil&eacute; pour des versions 2.2/3.0 sur un syst&egrave;me 2.1.x. Voyez la
+section pr&eacute;cedente et retrouvez le port/package correct pour votre
+syst&egrave;me.</para>
+
+ </sect1>
+
+ <sect1>
+ <title> ghostscript m'affiche &eacute;norm&eacute;ment d'erreurs sur mon 386/486SX. <anchor id="emul"> </title>
+
+ <para> Vous n'avez pas de coprocesseur math&eacute;matique, n'est-ce pas ? Vous
+devez absolument compiler l'&eacute;mulateur math&eacute;matique fournit dans votre
+noyau; il vous suffit d'ajouter la ligne suivante dans votre fichier
+de configuration du noyau: <programlisting> options GPL_MATH_EMULATE
+</programlisting></para>
+
+ <para>NOTE: Vous devez retirer la ligne contenant l'option
+<filename> MATH&lowbar;EMULATE </filename> si vous activez la
+pr&eacute;c&eacute;dente.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Lorsque je lance des applications SCO/iBCS2, elles plantent sur <filename> socksys </filename> </title>
+
+ <para> Vous devez en tout premier &eacute;diter le fichier <filename>
+/etc/sysconfig </filename> (ou <ulink
+url="http://www.freebsd.org/cgi/man.cgi?rc.conf(5)"> /etc/rc.conf
+</ulink>) et positionner la variable suivante sur <emphasis
+remap="bf"> YES </emphasis>:
+<programlisting>
+# &agrave; positionner sur YES si vous voulez que l'&eacute;mulation ibcs2(SCO) soit charg&eacute;e au d&eacute;marrage
+ibcs2=NO
+</programlisting></para>
+
+ <para>Cela activera le module <ulink
+url="http://www.freebsd.org/cgi/man.cgi?ibcs2"> ibcs2 </ulink> au
+d&eacute;marrage.</para>
+
+ <para>Vous devrez aussi cr&eacute;er le r&eacute;pertoire <filename>
+/compat/ibcs2/dev </filename> et mettre en place ce qui suit :
+
+<programlisting>
+lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 X0R@ -> /dev/null
+lrwxr-xr-x 1 root wheel 7 Oct 15 22:20 nfsd@ -> socksys
+-rw-rw-r-- 1 root wheel 0 Oct 28 12:02 null
+lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 socksys@ -> /dev/null
+crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx
+</programlisting></para>
+
+ <para>Il suffit de faire pointer socksys vers <ulink
+url="http://www.freebsd.org/cgi/man.cgi?null(4)"> /dev/null </ulink>
+pour tromper les open &amp; close. Le code, dans la version -current,
+fera le reste. Si vous avez besoin du driver <filename> spx
+</filename> pour la connection d'une socket X, d&eacute;finissez <filename>
+SPX&lowbar;HACK </filename> lors de la compilation de votre
+syst&egrave;me.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Comment dois-je configurer INN (Internet News) pour mon syst&egrave;me ?</title>
+
+ <para>Apr&egrave;s avoir install&eacute; le package ou le port de inn, la
+meilleur fa&ccedil;on de commencer est de voir la page de <ulink
+url="http://www.eerie.fr/~news/">Fabien TASSIN</ulink>
+sur INN, ou vous trouverez la FAQ de INN.</para>
+ </sect1>
+
+ <sect1>
+ <title>Quelle version de Microsoft FrontPage dois-je utiliser ?</title>
+
+ <para>Utilisez les ports ! Une pr&eacute;-version patch&eacute;e pour Apache est
+disponible dans les ports</para>
+ </sect1>
+
+</chapter>
+
+
diff --git a/fr_FR.ISO_8859-1/books/faq/book.sgml b/fr_FR.ISO_8859-1/books/faq/book.sgml
new file mode 100644
index 0000000000..df5c82ddf9
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/faq/book.sgml
@@ -0,0 +1,93 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+<!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN" [
+
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES Common Document URL Entities//FR">
+%urls;
+
+<!ENTITY % includes SYSTEM "includes.sgml"> %includes;
+<!ENTITY preface SYSTEM "preface.sgml">
+<!ENTITY install SYSTEM "install.sgml">
+<!ENTITY hardware SYSTEM "hardware.sgml">
+<!ENTITY troubleshoot SYSTEM "troubleshoot.sgml">
+<!ENTITY commercial SYSTEM "commercial.sgml">
+<!ENTITY applications SYSTEM "applications.sgml">
+<!ENTITY kernelconfig SYSTEM "kernelconfig.sgml">
+<!ENTITY admin SYSTEM "admin.sgml">
+<!ENTITY x SYSTEM "x.sgml">
+<!ENTITY network SYSTEM "network.sgml">
+<!ENTITY serial SYSTEM "serial.sgml">
+<!ENTITY misc SYSTEM "misc.sgml">
+<!ENTITY hackers SYSTEM "hackers.sgml">
+<!ENTITY acknowledgments SYSTEM "acknowledgments.sgml">
+]>
+
+<book id="FAQ" lang="fr">
+ <title>Questions Fr&eacute;quemment Pos&eacute;es sur FreeBSD 2.X</title>
+ <bookinfo>
+ <bookbiblio>
+ <authorgroup>
+ <author >
+ <firstname>S&eacute;bastien</firstname>
+ <surname>GIORIA</surname>
+ <affiliation>
+ <address>
+ <email>gioria@francenet.fr</email>
+ </address>
+ </affiliation>
+ </author>
+ <author >
+ <firstname>Tuyet Tram</firstname>
+ <surname>DANG NGOC</surname>
+ <affiliation>
+ <address>
+ <email>dntt@prism.uvsq.fr</email>
+ </address>
+ </affiliation>
+ </author>
+ </authorgroup>
+ <date>Septembre - D&eacute;cembre 1998</date>
+
+ </bookbiblio>
+ <legalnotice>
+ <para>
+Ceci est la FAQ pour les versions de FreeBSD 2.X. Toutes les entr&eacute;es sont
+relatives &agrave; FreeBSD 2.05 et les versions ult&eacute;rieures.Toutes
+les entr&eacute;es finissant avec &lt;XXX&gt; sont en cours de
+construction. Si vous &ecirc;tes int&eacute;ress&eacute; par ce projet,
+envoyez un email sur la "mailing-list" : <ulink
+url="mailto:freebsd-france@freebsd.francenet.fr">freebsd-france@freebsd.francenet.fr</ulink>.
+La derni&egrave;re version de ce document est disponible en anglais &agrave;
+l'adresse suivante : <ulink url="http://www.fr.FreeBSD.ORG/"> FreeBSD
+World Wide Web server </ulink>. Ce document est &eacute;galement disponible
+en format <ulink url="FAQ.txt">texte</ulink> et en format
+<ulink url="FAQ.ps">postscript</ulink>
+
+ </para>
+<para><emphasis remap="bf">Nous recherchons des relecteurs pour la correction de cette FAQ</emphasis>.
+
+</para>
+ </legalnotice>
+ </bookinfo>
+ &preface;
+ &install;
+ &hardware;
+&troubleshoot;
+&commercial;
+&applications;
+&kernelconfig;
+&admin;
+&x;
+&network;
+&serial;
+&misc;
+&hackers;
+&acknowledgments;
+
+</book>
diff --git a/fr_FR.ISO_8859-1/books/faq/commercial.sgml b/fr_FR.ISO_8859-1/books/faq/commercial.sgml
new file mode 100644
index 0000000000..204779a5c5
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/faq/commercial.sgml
@@ -0,0 +1,254 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: 1.4
+-->
+
+ <chapter id="commercial">
+ <title> Applications commerciales</title>
+ <para>
+NOTE :
+Cette section est encore tr&egrave;s clairsem&eacute;e, car nous esp&eacute;rons
+naturellement, que les industries y contribueront :-)
+L'organisation FreeBSD n'a aucun int&eacute;r&ecirc;t financier dans aucune des
+soci&eacute;t&eacute;s &eacute;num&eacute;r&eacute;es ici, mais les liste simplement comme service public
+(et estime que l'int&eacute;r&ecirc;t commercial dans FreeBSD peut avoir des effets
+tr&egrave;s positifs sur la viabilit&eacute; &agrave; long terme de FreeBSD).
+Nous encourageons les constructeurs de logiciel commerciaux
+&agrave; envoyer leurs r&eacute;f&eacute;rences ici pour inclusion. Voir
+<ulink url="http://www.fr.freebsd.org/commercial/commercial.html"> les pages des constructeurs </ulink>
+pour une liste plus compl&egrave;te.
+ </para>
+
+ <sect1>
+ <title> O&ugrave; puis je obtenir Motif pour FreeBSD ? </title>
+ <para>
+Contactez <ulink url="http://www.apps2go.com">Apps2go</ulink> pour une distribution ELF
+Motif 2.1 pour FreeBSD.
+ </para>
+
+ <para>
+Cette distribution comprend :
+ <itemizedlist>
+ <listitem><para>
+OSF/Motif manager, xmbind, panner, wsm.
+ </para></listitem>
+
+ <listitem><para>
+Les librairies ELF statiques et dynamiques (utilisables avec FreeBSD
+3.0 et sup&eacute;rieur).
+
+ </para></listitem>
+
+ <listitem><para>
+Kit de d&eacute;veloppement avec les fichiers
+uil, mrm, xm, xmcxx, include et Imake.
+ </para></listitem>
+
+ <listitem><para>
+Des applications de d&eacute;monstration.
+ </para></listitem>
+
+ </itemizedlist>
+ </para>
+
+ <para>
+Soyez s&ucirc;r d'indiquer que vous voulez la version de FreeBSD de Motif
+lors de la commande ! Des versions pour NetBSD et OpenBSD sont &eacute;galement
+vendues par <emphasis remap="apps2go">Apps2go</emphasis>. Vous avez
+actuellement juste la possiblit&eacute; de t&eacute;l&eacute;charger en FTP.
+<programlisting>
+ Pour plus d'informations
+ <ulink url="http://www.apps2go.com/">Serveur WWW de Apps2go </ulink>
+
+ Ou les addresse de messageries du d&eacute;partement des <ulink
+ url="mailto:sales@apps2go.com">ventes </ulink> ou encore
+ du <ulink url="mailto:support@apps2go.com">support </ulink>
+
+ T&eacute;l: (817) 431 8775 ou +1 817 431-8775
+ </programlisting>
+
+ </para>
+
+ <para>
+Contactez <ulink url="http://www.metrox.com">Metro Link</ulink> pour
+une distribution a.out ou ELF Motif 2.1 pour FreeBSD.
+ </para>
+
+ <para>
+Cette distribution comprend :
+ <itemizedlist>
+ <listitem><para>
+OSF/Motif manager, xmbind, panner, wsm.
+ </para></listitem>
+
+ <listitem><para>
+Kit de d&eacute;veloppement avec les fichiers
+uil, mrm, xm, xmcxx, include et Imake.
+ </para></listitem>
+
+ <listitem><para>
+Les librairies a.out et ELF statiques et dynamiques (utilisables avec FreeBSD
+3.0 et sup&eacute;rieur pour les librairies ELF et 2.2.8 et sup&eacute;rieur pour
+les librairies a.out ).
+
+ </para></listitem>
+
+ <listitem><para>
+Des applications de d&eacute;monstration.
+ </para></listitem>
+
+ <listitem><para>
+Les pages de manuel pr&eacute;formatt&eacute;es
+ </para></listitem>
+
+ </itemizedlist>
+ </para>
+
+ <para>
+Soyez s&ucirc;r d'indiquer que vous voulez la version de FreeBSD de Motif
+lors de la commande ! Des versions pour Linux sont &eacute;galement
+vendues par <emphasis remap="metrox">Metro Link</emphasis>. La
+distribution est disponible par t&eacute;l&eacute;chargement FTP ou sur un CDROM.</para>
+
+ <para>
+Contactez <ulink url="http://www.xig.com">Xi Graphics</ulink> pour une distribution a.out
+Motif 2.0 pour FreeBSD.
+ </para>
+
+ <para>
+Cette distribution comprend :
+ <itemizedlist>
+ <listitem><para>
+OSF/Motif manager, xmbind, panner, wsm.
+ </para></listitem>
+
+ <listitem><para>
+Les librairies a.out statiques et dynamiques (utilisables avec FreeBSD
+2.2.8 et sup&eacute;rieur).
+
+ </para></listitem>
+
+ <listitem><para>
+Kit de d&eacute;veloppement avec les fichiers
+uil, mrm, xm, xmcxx, include et Imake.
+ </para></listitem>
+
+ <listitem><para>
+Des applications de d&eacute;monstration.
+ </para></listitem>
+
+ <listitem><para>
+Les pages de manuel pr&eacute;formatt&eacute;es
+ </para></listitem>
+
+ </itemizedlist>
+ </para>
+
+ <para>
+Soyez s&ucirc;r d'indiquer que vous voulez la version de FreeBSD de Motif
+lors de la commande ! Des versions pour BSDI et Linux sont &eacute;galement
+vendues par <emphasis remap="xig">Xi Graphics</emphasis>. La
+distribution comprend actuellement 4 disquettes. Dans le futur il y
+aura un CD comme pour CDE.</para>
+
+ </sect1>
+
+ <sect1>
+ <title> O&ugrave; puis-je avoir CDE pour FreeBSD? </title>
+ <para>
+Contactez <ulink url="http://www.xig.com">Xi Graphics</ulink> pour une distribution
+CDE 1.0.10 pour FreeBSD. Cela inclut Motif 1.2.5, et peut &ecirc;tre utilis&eacute;
+avec Motif 2.0.
+ </para>
+
+ <para>
+C'est une distribution CDROM uniforme pour FreeBSD et Linux.
+ </para>
+ </sect1>
+
+ <sect1>
+ <title> Y a-t-il des serveurs X commerciaux haute-performance ?<!-- <label id="xig"> --> </title>
+
+ <para>
+Oui,
+<ulink url="http://www.xig.com"> Xi Graphics </ulink> et <ulink
+url="http://www.metrolink.com">Metro Link</ulink>
+vendent leur produit Accelerated-X pour FreeBSD et autres syst&egrave;mes
+bas&eacute;s sur Intel.
+ </para>
+ <para>Le serveur X de Metro Link offre une configuration facile
+ grace a l'utilisation des outils de gestion des packages de FreeBSD,
+supporte de multiples cartes vid&eacute;os et est distribu&eacute;
+en forme binaire seulement, par FTP. N'oublions pas de mentionner que
+Metro Link offre se serveur a un prix raisonnable de 39$.
+ </para>
+
+ <para>Metro Link vend aussi une version ELF et a.out de Motif
+ (voir ci-dessus).</para>
+
+<para><programlisting>
+ Pour plus d'informations
+ <ulink url="http://www.metrolink.com/">Serveur WWW de Metro Link </ulink>
+
+ Ou les addresse de messageries du d&eacute;partement des <ulink
+ url="mailto:sales@metrolink.com">ventes </ulink> ou encore
+ du <ulink url="mailto:tech@metrolink.com">support </ulink>
+
+ T&eacute;l: (954) 938-0283 or +1 954 938-0283
+ </programlisting>
+</para>
+
+<para>
+<ulink url="http://www.xig.com"> Xi Graphics</ulink> offre un serveur X haute
+performances comportant une facilit&eacute; de configuration et supportant
+des cartes vid&eacute;os multiples. La distribution est sous forme binaire,
+et est au format disquette pour FreeBSD et Linux. Xi Graphics offre
+aussi un serveur haute performances pour les portables.</para>
+
+ <para>
+Il y a une "d&eacute;mo de compatibilit&eacute;" disponible et gratuite de la
+version 5.0.
+ </para>
+
+ <para>
+Xi Graphics vends aussi Motif et CDE pour FreeBSD (voir ci-dessus).
+ </para>
+
+ <para>
+<programlisting>
+Pour plus d'informations :
+<ulink url="http://www.xig.com/"> Xi Graphics WWW page </ulink>
+ou par courrier &eacute;lectronique aux adresses suivantes :
+<ulink url="mailto:sales@xig.com"> Ventes </ulink>
+ou
+<ulink url="mailto:support@xig.com"> Support </ulink>
+ou encore par t&eacute;l&eacute;phone au
+(800) 946 7433 ou +1 303 298-7478.
+</programlisting>
+ </para>
+ </sect1>
+
+ <sect1>
+ <title> Y a-t-il un syst&egrave;me de bases de donn&eacute;es pour FreeBSD? </title>
+ <para>
+Oui ! Conetic Software Systems a port&eacute; leur syst&egrave;me de
+bases de donn&eacute;es C/base and C/books pour FreeBSD 2.0.5 et plus,
+et Sleepycat Software vend une version commerciale support&eacute;e de leur
+librairie de base de donn&eacute;es DB.
+ </para>
+
+ <para>
+Pour plus d'informations :
+<ulink url="http://www.conetic.com/"> Conetic Software Systems </ulink>
+
+ou envoyez un courrier &eacute;lectronique &agrave;
+<ulink url="mailto:info@conetic.com"> Information E-mail address </ulink>
+et
+<ulink url="http://www.sleepycat.com/"> Sleepycat Software </ulink>
+ </para>
+ </sect1>
+ </chapter>
+
diff --git a/fr_FR.ISO_8859-1/books/faq/hackers.sgml b/fr_FR.ISO_8859-1/books/faq/hackers.sgml
new file mode 100644
index 0000000000..a783be2f81
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/faq/hackers.sgml
@@ -0,0 +1,299 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+ <chapter id="hackers">
+ <title>Pour les passionn&eacute;s</title>
+
+ <sect1>
+ <title>Que sont les SNAP et RELEASE</title>
+
+ <para>Il y a actuellement 3 branches actives/semi-actives dans
+<ulink url="http://www.freebsd.org/cgi/cvsweb.cgi">l'entrepot
+CVS</ulink> des sources de FreeBSD:
+<itemizedlist>
+ <listitem>
+ <para>RELENG_2_1_0 encore appel&eacute;e 2.1-stable ou branche 2.1</para>
+ </listitem>
+ <listitem>
+ <para>RELENG_2_2 encore appel&eacute;e 2.2-stable ou branche
+2.2</para>
+ </listitem>
+ <listitem>
+ <para>HEAD encore appel&eacute;e -current ou 3.0-current</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <para>HEAD n'est pas vraiment une branche, compar&eacute;e aux deux
+autres, c'est juste une valeur symbolique constante pour d&eacute;signer
+le r&eacute;pertoire de la version courante(ou version de d&eacute;veloppement), auquel
+nous nous r&eacute;f&eacute;rerons sous le nom de -current.</para>
+
+ <para>Actuellement -current est la branche de d&eacute;veloppement de
+la version 3.0 r&eacute;sultant de la s&eacute;paration de la branche 2.2-stable(RELENG_2_2)
+en Novembre 1996.</para>
+
+ <para>La branche 2.1-stable, RELENG_2_1_0, s'&eacute;tant s&eacute;par&eacute;e de
+-current en Septembre 1994.</para>
+ </sect1>
+
+ <sect1>
+ <title>Comment cr&eacute;er ma propre version</title>
+
+ <para>Pour cr&eacute;er votre propre version, vous devez effectuer trois
+choses. Premi&egrave;rement, vous devez avoir un noyau contenant le
+gestionnaire <ulink
+url="http://www.freebsd.org/cgi/man.cgi?vn">vn</ulink>. Ajoutez la
+ligne suivante au fichier de configuration du noyau, puis reconstruisez le.</para>
+
+
+<programlisting>
+ pseudo-device vn #Vnode driver (turns a file into a device)
+</programlisting>
+
+ <para>Ensuite, vous devez disposer de l'arbre CVS au
+complet. Pour l'obtenir, vous pouvez utiliser <ulink
+url="../handbook/synching.html">CVSUP</ulink> et remplissez votre fichier
+de configuration de cvsup de la fa&ccedil;on suivante:</para>
+
+<programlisting>
+*default prefix=/home/ncvs
+*default base=/a
+*default host=cvsup.FreeBSD.org
+*default release=cvs
+*default delete compress use-rel-suffix
+
+## Main Source Tree
+src-all
+src-eBones
+src-secure
+
+# Other stuff
+ports-all
+www
+doc-all
+</programlisting>
+
+ <para>Ensuite lancez la commande <filename>cvsup -g
+fichier_de_configuration_de_cvsup</filename> pour rapatrier tous les
+sources sur votre machine</para>
+
+ <para>Pour finir, vous devez disposez de beaucoup de place sur
+vos disque pour compiler le tout. Disons que cela se trouve dans le
+r&eacute;pertoire <filename>/tres/gros/systeme/de/fichiers</filename> et que
+l'arbre CVS se trouve dans <filename>/home/ncvs</filename></para>
+
+
+<programlisting>
+setenv CVSROOT /home/ncvs # ou export CVSROOT=/hom/ncvs (pour du sh)
+cd /usr/src/release
+make release
+BUILDNAME=3.0-MY-SNAP CHROOTDIR=/tres/gros/systeme/de/fichiers
+</programlisting>
+
+ <para>Une distribution compl&egrave;te sera alors cr&eacute;e dans le
+r&eacute;pertoire <filename>/tres/gros/systeme/de/fichiers</filename> et vous
+disposerez d'un programme d'installation ftp utilisant ce r&eacute;pertoire
+par d&eacute;faut. Vous pouvez aussi d&eacute;cider de compiler autre chose que la version -current
+en donnant au param&egrave;tre <filename>RELEASETAG</filename> une autre
+valeur. Par exemple pour compiler une version 2.2, il suffit de passer
+la valeur <filename>RELEASETAG=RELENG_2_2</filename> &agrave; la ligne de
+commande de make.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Comment cr&eacute;er une disquette d'installation personnalis&eacute;e?</title>
+
+ <para>Le processus de cr&eacute;ation, des disquettes d'installation
+ainsi que des archives binaires, est automatis&eacute; par diff&eacute;rentes cibles
+dans le fichier <filename>/usr/src/release/Makefile</filename>. Ce
+fichier doit etre votre point de d&eacute;part pour plus d'informations. Bien sur,
+cela veut dire que vous devrez faire un <quote>make world</quote> et
+que cela demande beaucoup d'espace disque et de temps.</para>
+
+ </sect1>
+
+ <sect1>
+ <title><quote>make world</quote> remplace-t-il tous les binaires d&eacute;ja install&eacute;s?</title>
+
+ <para>Oui.Comme son nom le sugg&egrave;re,<quote>make world</quote>
+recompile tout le syst&egrave;me depuis les sources, donc vous pouvez etre
+sur d'avoir un syst&egrave;me sain et coh&eacute;rent &agrave; la fin (cela peut prendre
+&eacute;norm&eacute;ment de temps pour y arriver).</para>
+
+ <para>Si la variable <filename>DESTDIR</filename> est d&eacute;finie
+lorsque vous &eacute;xecutez <quote>make world</quote> ou <quote>make
+install</quote>, les binaires seront install&eacute;s dans la m&ecirc;me
+arborescence que votre syst&egrave;me sauf que la racine du nouveau syst&egrave;me
+sera <filename>&dollar;&lcub;DESTDIR&rcub;</filename>. Diff&eacute;rentes
+combinations dans la modification des librairies partag&eacute;es et dans les
+programmes, peut entrainer une erreur du <quote>make
+world</quote>.</para>
+
+ </sect1>
+ <sect1>
+ <title>Lorsque le syst&egrave;me d&eacute;marre, il affiche <quote>(bus speed defaulted)</quote></title>
+ <para>Les cartes SCSI Adaptec 1542 permettent d'acc&eacute;der &agrave; la
+configuration de la vitesse du bus par logiciel. Les anciennes
+versions du gestionnaire de p&eacute;riph&eacute;rique 1542 essayaient de d&eacute;terminer
+la vitesse maximale utiliable et de configurer la carte &agrave; cette
+valeur. Nous avons trouv&eacute; que cela pouvait casser certains syst&egrave;mes,
+donc vous devez d&eacute;finir l'option
+<filename>TUNE&lowbar;1542</filename> dans le fichier de configuration
+du noyau, pour que cela soit actif. En l'utilisant sur des syst&egrave;mes ou
+la carte le supporte, cela vous permettra d'avoir une meilleur vitesse
+pour vos disques, mais sur des syst&egrave;me ne le supportant pas vous
+obtiendrez des donn&eacute;es corrompues.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Puis-je me tenir &agrave; jour par rapport &agrave; -current si j'ai un acc&egrave;s limit&eacute; &agrave; l'Internet?</title>
+ <para>Oui, vous pouvez le faire sans t&eacute;l&eacute;charger l'arbre complet
+des sources en utilisant la fonctionnalit&eacute;e <ulink
+url="../handbook/synching.html">CTM</ulink></para>
+
+ </sect1>
+
+ <sect1>
+ <title>Comment faire pour couper la distribution en fichiers de 240Ko?</title>
+ <para>Les syst&egrave;mes BSD r&eacute;cents diposent d'une option
+<quote><filename>-b</filename></quote> pour vous permettre de d&eacute;couper
+les fichiers binaires en plusieurs parties</para>
+ <para>Voici un exemple, tir&eacute; de
+<filename>/usr/src/Makefile</filename>.</para>
+
+<programlisting>
+bin-tarball:
+ (cd $&lcub;DISTDIR&rcub;; \
+ tar cf - . \
+ gzip --no-name -9 -c | \
+ split -b 240640 - \
+ $&lcub;RELEASEDIR&rcub;/tarballs/bindist/bin_tgz.)
+</programlisting>
+ </sect1>
+ <sect1>
+ <title>J'ai &eacute;crit une extension pour le noyau, comment l'incorporer?</title>
+ <para>Regardez la partie du handbook sur la fa&ccedil;on de <ulink
+url="../handbook/contrib.html">soumettre du code</ulink></para>
+ <para>Et encore merci pour tout.</para>
+ </sect1>
+
+ <sect1>
+ <title>Comment sont d&eacute;tect&eacute;es les cartes plugs and play ISA?</title>
+
+ <para>Contribution de <ulink url="mailto:uhclem@nemesis.lonestar.org">Frank Durda IV</ulink></para>
+
+ <para>Il y a un certains nombres de ports d'entr&eacute;es/sorties sur
+lesquels la plupart des cartes PnP r&eacute;pondent lorsqu'une machine
+interroge le bus ISA. Donc, lorsque la routine de d&eacute;tection PnP
+s'execute, elle interroge les cartes PnP sur ces ports pour savoir
+lesquelles sont pr&eacute;sentes. Dans ce cas toutes les cartes r&eacute;pondent en
+indiquant leur mod&egrave;le et la routine de d&eacute;tection re&ccedil;oit alors une
+valeur qui est soit <quote>oui</quote> soit rien. Au minimum un bit
+est mis &agrave; 1 lors de la r&eacute;ponse. Alors le code de d&eacute;tection peut
+essayer de dialoguer avec les cartes, gra&ccedil;e aux num&eacute;ros de mod&egrave;le de
+cartes (d&eacute;finis par Microsoft/Intel), inf&eacute;rieurs &agrave; X pour leur dire de
+s'arr&eacute;ter. Il v&eacute;rifie alors qu'aucune autre carte ne r&eacute;pond &agrave; la
+question pr&eacute;cedente. Si la r&eacute;ponse est <emphasis>0</emphasis> alors il
+consid&egrave;re qu'aucune carte n'a d'ID au dessus de X. Ensuite il
+interroge le bus pour obtenir la liste des cartes sous
+<quote>X</quote>. S'il en trouve alors il interroge le bus pour avoir
+la liste des celles ayant un ID sup&eacute;rieur &agrave; X-(limit/4). Et r&eacute;p&egrave;te
+ainsi de suite l'algorithme, qui consiste &agrave; diviser l'intervalle de
+recherche par deux. Avec cet algorithme, les cartes seront d&eacute;couvertes
+avec un maximum d'it&eacute;ration de 2^64.</para>
+
+ <para>Les Identifiants de cartes sont cod&eacute;s sur 32 bits + 8 bit
+de checksum. Les 32 premiers bits repr&eacute;sentent le code de la carte
+pour le constructeur de cette carte. Il arrive de trouver plusieurs
+cartes du meme constructeur ayant diff&eacute;rents code de carte. L'id&eacute;e de
+coder sur 32 bits le nom du constructeur serait un peu
+excessif.</para>
+
+ <para>Les 32 bits de poids faibles sont le num&eacute;ro de s&eacute;rie de la
+carte; l'adresse ethernet , ou quelque chose rendant la carte unique
+par ce num&eacute;ro. Le constructeur ne doit jamais produire une deuxi&egrave;me
+carte ayant ce meme num&eacute;ro tout en ayant le meme nombre repr&eacute;sent&eacute; sur
+les 32 premiers bits. Vous pouvez dons avoir plusieurs cartes du meme
+type dans votre ordinateur , et l'ensemble des 64 bits permet de
+rendre chacune unique.</para>
+
+ <para>Les groupes de 32 bits ne peuvent en aucun cas etre tous
+&agrave; z&eacute;ro. Cela permet d'effectuer le <quote>OU</quote> pour afficher les
+bits non nuls lors de la premi&egrave;re recherche dicotomique.</para>
+
+ <para>Lorsque le syst&egrave;me &agrave; d&eacute;tecter toutes les cartes pr&eacute;sentes,
+ils les r&eacute;activent une &agrave; une, et recherche les ressources dont elles
+ont besoin, quels sont les choix possibles pour les interruptions,
+etc. Un <quote>scan</quote> de toutes les cartes est effectu&eacute; pour
+collecter toutes ces informations.</para>
+
+ <para>Cette information est combin&eacute;e avec l'information
+recueillie des fichiers ECU se trouvant sur le disque dur ou dans le
+BIOS. Le support ECU et BIOS du plug-and-play pour le mat&eacute;riel est
+tr&egrave;s simple, et les p&eacute;riph&eacute;rique n'ont pas besoin d'etre vraiment
+PnP. Mais en examinant les informations du BIOS et des fichiers ECU,
+les routines d'interrogations peuvent permettre aux p&eacute;riph&eacute;riques
+PnP <quote>to avoid those devices the probe code cannot
+relocate. </quote></para>
+
+ <para>Alors les p&eacute;riph&eacute;riques PnP sont encore interrog&eacute;s, et
+renvoient leur IRQ, adresse m&eacute;moire, ports d'entr&eacute;e/sorties et
+DMA. Les p&eacute;riph&eacute;riques sont alors activ&eacute;s, en prenant en compte ces
+valeurs, et le reste jusqu'au prochaine red&eacute;marrage du syst&egrave;me. Bien
+sur rien de vous empeche de les retirer, si le mat&eacute;riel le permet
+:-).</para>
+
+ <para>Ceci n'explique pas toute la complexit&eacute; de d&eacute;tection, mais
+c'est une explication simple du processus de d&eacute;tection.</para>
+
+<!-- <p>Microsoft took over some of the primary printer status ports to -->
+<!-- do PnP, on the logic that no boards decoded those addresses for -->
+<!-- the opposing I/O cycles. I found a genuine IBM printer board -->
+<!-- that did decode writes of the status port during the early PnP -->
+<!-- proposal review period, but MS said ``tough''. So they do a -->
+<!-- write to the printer status port for setting addresses, plus that -->
+<!-- use that address + <tt/0x800/, and a third I/O port for reading -->
+<!-- that can be located anywhere between <tt/0x200/ and <tt/0x3ff/. -->
+
+ </sect1>
+ <sect1>
+ <title>Est-ce que FreeBSD va supporter d'autres architectures mat&eacute;rielles?</title>
+
+ <para>Diff&eacute;rentes personnes sont interress&eacute;es sur un support
+multi-architecture pour FreeBSD, et certaines personnes sont en train
+de porter FreeBSD sur la plateforme ALPHA, en coop&eacute;ration avec
+DEC. Pour plus d'informations sur les nouvelles architectures utilisez
+la mailling liste <ulink
+url="mailto:&lt;freebsd-platforms@FreeBSD.ORG&gt;">&lt;freebsd-platforms@FreeBSD.ORG&gt;</ulink>
+</para>
+ </sect1>
+
+ <sect1>
+ <title>J'ai besoin d'un <quote>major number</quote> pour un gestionnaire de p&eacute;riph&eacute;rique que je viens d'&eacute;crire</title>
+ <para>Ceci d&eacute;pend du fait que vous vouliez ou non rendre public ce
+gestionnaire. Si vous le d&eacute;sirez, envoyez nous une copie code source
+du gestionnaire et les modifications n&eacute;cessaires &agrave; apporter au fichier
+<filename>files.i386</filename>, un fichier de configuration et le
+code du fichier <ulink
+url="http://www.freebsd.org/cgi/man.cgi?MAKEDEV">MAKEDEV</ulink>n&eacute;cessaire
+pour cr&eacute;er les fichiers sp&eacute;ciaux dont le gestionnaire &agrave; besoin. Si
+vous ne d&eacute;sirez pas rendre plublic le code, ou si vous ne pouvez pas &agrave;
+cause de certaines restrictions de votre license, alors utilisez le
+<quote>major number</quote> 32 (pour les gestionnaires de type
+caract&egrave;re) et le <quote>major number</quote> 8 (pour les gestionnaires
+de type blocs), qui sont r&eacute;serv&eacute;s &agrave; ce type de chose. Dans les deux
+cas nous sommes interess&eacute;s par votre gestionnaire, discutez &agrave; son
+propos sur la mailling liste <ulink
+url="mailto:&lt;freebsd-hackers@FreeBSD.ORG&gt;">&lt;freebsd-hackers@FreeBSD.ORG&gt;</ulink>.</para>
+
+ </sect1>
+
+ </chapter>
+
diff --git a/fr_FR.ISO_8859-1/books/faq/hardware.sgml b/fr_FR.ISO_8859-1/books/faq/hardware.sgml
new file mode 100644
index 0000000000..43deb6cabf
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/faq/hardware.sgml
@@ -0,0 +1,478 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: 1.15
+-->
+
+<chapter id="hardware">
+ <title>Compatibilit&eacute; mat&eacute;rielle</title>
+
+ <sect1>
+ <title>Quels sont les types de disques durs support&eacute;s par FreeBSD&nbsp;?</title>
+
+ <para>FreeBSD supporte les disques EIDE et SCSI (pour les contr&ocirc;leurs
+ compatibles, voir la section suivante), ainsi que tous les disques
+ utilisant l'interface originale "Western Digital" (MFM, RLL, ESDI
+ et bien s&ucirc;r IDE).
+ Quelques contr&ocirc;leurs ESDI utilisant des interfaces propri&eacute;taires
+ peuvent ne pas marcher: utilisez les interfaces WD1002/3/6/7 et leurs
+ clones.</para>
+ </sect1>
+
+ <sect1>
+ <title>Quels sont les contr&ocirc;leurs SCSI support&eacute;s&nbsp;?</title>
+
+ <para>Voir la liste compl&egrave;te dans le
+ <ulink url="&url.handbook;install.html#INSTALL-HW">Handbook</ulink>.</para>
+ </sect1>
+
+ <sect1>
+ <title>Quels sont les lecteurs CD-ROM support&eacute;s par FreeBSD&nbsp;?</title>
+
+ <para>N'importe quel lecteur SCSI connect&eacute; &agrave; un contr&ocirc;leur support&eacute;
+ est support&eacute;.</para>
+
+ <para>Les interfaces CD-ROM propri&eacute;taires suivantes sont aussi support&eacute;es:
+ <itemizedlist>
+ <listitem><para>Mitsumi LU002 (8bit), LU005 (16 bits) et FX001D
+ (16 bits double vitesse).</para></listitem>
+ <listitem><para>Sony CDU 31/33A</para></listitem>
+ <listitem><para>CD-ROM Sound Blaster Non-SCSI</para></listitem>
+ <listitem><para>CD-ROM Matsushita/Panasonic</para></listitem>
+ <listitem><para>CD-ROM ATAPI compatible IDE</para></listitem>
+ </itemizedlist>
+ </para>
+
+ <para>Toutes les cartes non-SCSI sont connues pour &ecirc;tre extr&ecirc;mement lentes
+ par rapport aux lecteurs SCSI, et certains CDROM ATAPI peuvent ne pas
+ &ecirc;tre pris en charge.</para>
+
+ <para>A partir de la version 2.2, le CD-ROM FreeBSD de Walnut Creek
+ permet de d&eacute;marrer directement FreeBSD depuis le CD.</para>
+ </sect1>
+
+ <sect1>
+ <title>Est-ce que FreeBSD supporte les lecteurs ZIP&nbsp;?</title>
+
+ <para>FreeBSD supporte bien s&ucirc;r les lecteurs ZIP SCSI de base
+ &nbsp;-&nbsp;<foreignphrase>out of the box</foreignphrase>.
+ Les lecteurs ZIP ne peuvent &ecirc;tre r&eacute;gl&eacute;s que pour marcher sur les cibles
+ SCSI d'adresse 5 ou 6, mais si le BIOS de votre adaptateur SCSI h&ocirc;te
+ le permet, vous pourrez m&ecirc;me d&eacute;marrer &agrave; partir du ZIP.
+ Je ne sais pas quel adaptateur SCSI h&ocirc;te vous permet de d&eacute;marrer
+ depuis des cibles autres que 0 ou 1... regardez votre documentation
+ (et dites moi si cela marche pour vous).</para>
+
+ <para>Les ZIP ATAPI (IDE) sont pris en charge par FreeBSD 2.2.6
+ ainsi que par les versions ult&eacute;rieures.</para>
+
+ <para>FreeBSD 3.0-STABLE contient le support pour lecteur ZIP
+ sur port parall&egrave;le, mais pour cela, vous aurez &agrave; construire
+ un nouveau noyau avec support pour ppbus (Parallel Port Bus)
+ afin d'utiliser le ZIP.
+ Prendre le fichier de configuration LINT comme exemple.</para>
+
+ <para>Regarder aussi cette note traitant <link linkend="jaz">des
+ disques amovibles</link>, ainsi que celle sur <link linkend="disklabel">
+ le 'formatage'</link>.</para>
+ </sect1>
+
+ <sect1>
+ <title>Est-ce que FreeBSD supporte JAZ, EZ et autres disques amovibles&nbsp;?</title>
+
+ <para>A part la version IDE du lecteur EZ, ce sont tous des
+ p&eacute;riph&eacute;riques SCSI, alors pour FreeBSD, ils sont consid&eacute;r&eacute;s comme des
+ disques SCSI, et le lecteur IDE EZ est consid&eacute;r&eacute; comme un lecteur IDE.
+ </para>
+
+ <para><anchor id="jaz">Je ne suis pas s&ucirc;r que FreeBSD supporte
+ correctemement un changement de media en cours de fonctionnement.
+ Vous devrez bien s&ucirc;r d&eacute;monter le lecteur avant l'&eacute;change, et vous
+ assurer que les unit&eacute;s externes soient allum&eacute;es pendant le d&eacute;marrage
+ du syst&egrave;me de sorte que FreeBSD puisse les voir.</para>
+ </sect1>
+
+ <sect1>
+ <title> Quelles sont les cartes s&eacute;ries multi-ports prises en charge par FreeBSD&nbsp;?</title>
+
+ <para>Une liste est disponible &agrave; la section
+ <ulink url="&url.handbook;install.html#INSTALL-HW">p&eacute;riph&eacute;riques divers
+ </ulink> du handbook.</para>
+
+ <para>A notre connaissance, certaines cartes clone sans marque
+ sont connues pour fonctionner, en particulier celles qui se disent
+ &ecirc;tre compatibles AST.</para>
+
+ <para>Regarder la page de manuel
+ <ulink url="http://www.freebsd.org/cgi/man.cgi?sio">sio</ulink> pour
+ plus d'informations sur la configuration de telles cartes.</para>
+ </sect1>
+
+ <sect1>
+ <title>J'ai une souris bus inhabituelle. Comment la configurer&nbsp;?</title>
+
+ <para>FreeBSD supporte les souris bus et les souris bus InPort de
+ constructeurs tels que Microsoft, Logitech et ATI. Le contr&ocirc;leur du bus
+ est compil&eacute; dans le noyau GENERIC par d&eacute;faut. Si vous construisez un noyau
+ personalis&eacute; avec le contr&ocirc;leur de souris bus, assurez-vous d'avoir bien
+ mis la ligne suivante dans le fichier de configuration du noyau&nbsp;:
+
+ <programlisting>
+device mse0 at isa? port 0x23c tty irq5 vector mseintr
+ </programlisting>
+ </para>
+
+ <para>La souris bus vient souvent avec une interface d&eacute;di&eacute;e.
+ Cela vous permet de mettre une adresse de port et un num&eacute;ro
+ d'IRQ autres que ceux donn&eacute;s ci-dessus.
+ Reportez-vous au manuel de votre souris et &agrave; la page de manuel
+ <ulink url="http://www.freebsd.org/cgi/man.cgi?mse">mse</ulink>
+ pour plus d'informations.</para>
+ </sect1>
+
+ <sect1>
+ <title id="ps2mouse">Comment utiliser ma souris PS/2 (``port souris'' ou ``clavier'')&nbsp;?</title>
+
+ <para>Si vous utilisez une version de FreeBSD post-2.2.5, le pilote
+ n&eacute;cessaire, psm, est inclu et activ&eacute; dans le noyau.
+ Le noyau devrait d&eacute;tecter votre souris PS/2 au moment du d&eacute;marrage.</para>
+
+ <para>Si vous utilisez une version pr&eacute;c&eacute;dente mais assez r&eacute;cente de
+ FreeBSD (2.1.x ou mieux), alors vous pouvez simplement l'activer
+ dans le menu de configuration du noyau &agrave; l'installation, ou plus tard
+ avec -c &agrave; l'invite du d&eacute;marrage (boot). Il est d&eacute;sactiv&eacute; par d&eacute;faut,
+ c'est pourquoi vous aurez &agrave; l'activer explicitement.</para>
+
+ <para>Si vous utilisez une version plus ancienne du noyau, alors
+ vous aurez &agrave; ajouter la ligne suivante dans la configuration
+ de votre noyau, et compiler un nouveau noyau&nbsp;:
+
+ <programlisting>
+device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr
+ </programlisting>
+ </para>
+
+ <para>Voir la <ulink url="&url.handbook;kernelconfig.html">section du
+ Handbook sur la configuration du noyau</ulink> si vous n'avez aucune
+ exp&eacute;rience dans la construction d'un noyau.</para>
+
+ <para>Un fois que vous aurez un noyau d&eacute;tectant correctement psm0 au
+ moment du d&eacute;marrage, assurez vous qu'une entr&eacute;e pour psm0 existe bien
+ dans /dev. Vous pouvez le faire en tapant&nbsp;:
+
+ <programlisting>
+cd /dev; sh MAKEDEV psm0
+ </programlisting>
+ </para>
+
+ <para>une fois loggu&eacute; sous root.</para>
+ </sect1>
+
+ <sect1>
+ <title id="moused">Puis-je utiliser ma souris en dehors de X Window&nbsp;?</title>
+
+ <para>Si vous utilisez le pilote de console par d&eacute;faut, syscons, vous
+ pourrez utiliser un curseur souris dans les consoles texte pour couper
+ et coller du texte.
+ Lancer le d&eacute;mon (de gestion de la) souris&nbsp;: moused, et d&eacute;clencher
+ le curseur de souris dans la console virtuelle.
+
+ <programlisting>
+moused -p /dev/xxxx -t yyyy
+vidcontrol -m on
+ </programlisting>
+ </para>
+
+ <para>O&ugrave; <filename>xxxx</filename> est le nom du p&eacute;riph&eacute;rique souris et
+ <filename>yyyy</filename> le type de protocole pour la souris.
+ Voir la page de manuel
+ <ulink url="http://www.freebsd.org/cgi/man.cgi?moused">moused</ulink>
+ pour les types de protocoles support&eacute;s.</para>
+
+ <para> Peut-&ecirc;tre pr&eacute;f&eacute;rez-vous lancer le d&eacute;mon g&eacute;rant la souris au
+ moment du d&eacute;marrage du syst&egrave;me.
+ Dans la version 2.2.1, positionnez les variables suivantes dans
+ <filename>/etc/sysconfig</filename>.
+
+ <programlisting>
+mousedtype="yyyy"
+mousedport="xxxx"
+mousedflags=""
+ </programlisting>
+
+ Dans les versions 2.2.2 et plus, positionnez les variables
+ suivantes dans <filename>/etc/rc.conf</filename>.
+
+ <programlisting>
+moused_type="yyyy"
+moused_port="xxxx"
+moused_flags=""
+ </programlisting>
+
+ A partir de la version 2.2.6 de FreeBSD, le d&eacute;mon souris
+ est capable de d&eacute;terminer le type de protocole appropri&eacute;
+ automatiquement &agrave; moins que votre souris s&eacute;rie ne soit d'un mod&egrave;le
+ relativement ancien.
+ Sp&eacute;cifiez ``<filename>auto</filename>'' comme protocole pour activer la
+ d&eacute;tection automatique.</para>
+
+ <para>Quand le d&eacute;mon souris tourne, l'acc&egrave;s &agrave; la souris doit &ecirc;tre
+ coordonn&eacute; entre le d&eacute;mon souris et les autres programmes
+ comme X-Window. Se r&eacute;f&eacute;rer &agrave; <link linkend="x-and-moused">une autre
+ section</link> de ce document.</para>
+ </sect1>
+
+ <sect1>
+ <title>Comment puis-je couper et coller du texte avec ma souris dans ma console texte&nbsp;?</title>
+
+ <para>Une fois que vous aurez r&eacute;ussi &agrave; lancer le d&eacute;mon souris
+ (voir <link linkend="moused">section pr&eacute;c&eacute;dente</link>), appuyez
+ en le maintenant sur le bouton 1 (bouton de gauche) et d&eacute;placez la
+ souris afin de s&eacute;lectionner une partie du texte. Puis, appuyez
+ (clicquez) sur le bouton 2 (bouton du milieu) ou bouton 3 (bouton
+ de droite) pour le coller &agrave; l'endroit du curseur texte.</para>
+
+ <para>Dans les versions 2.2.6 et plus, un clic sur le bouton 2 collera
+ le texte. Un clic sur le bouton droit ``&eacute;tendra'' la partie de
+ texte s&eacute;lectionn&eacute;.
+ Si votre souris n'a pas de bouton du milieu, vous
+ pouvez l'&eacute;muler ou red&eacute;finir les boutons en utilisant les
+ options de la souris. Se reporter &agrave; la page de r&eacute;f&eacute;rence
+ <ulink url="http://www.freebsd.org/cgi/man.cgi?moused">moused</ulink>
+ pour plus de d&eacute;tails.</para>
+ </sect1>
+
+ <sect1>
+ <title>Ma souris a une roulette et des boutons &eacute;sot&eacute;riques. Puis-je les utiliser sous FreeBSD&nbsp;?</title>
+
+ <para> Malheureusement, la r&eacute;ponse est: ``C&agrave; d&eacute;pend''.
+ Ces souris avec des fonctionnalit&eacute;s suppl&eacute;mentaires ont
+ besoin de pilotes sp&eacute;ciaux dans la majorit&eacute; des cas.
+ Alors, &agrave; moins que le pilote de la souris ou que le
+ programme utilisateur ait un support sp&eacute;cifique pour cette
+ souris, la souris se comportera comme une souris standard 2 ou 3
+ boutons.</para>
+ </sect1>
+
+ <sect1>
+ <title>Comment utiliser la souris/trackball/touchpad de mon portable&nbsp;? </title>
+
+ <para>Se r&eacute;f&eacute;rer &agrave; <link linkend="ps2mouse">la r&eacute;ponse &agrave; la question
+ pr&eacute;c&eacute;dente,</link> ainsi qu'&agrave; cette section sur <link linkend="pao">
+ les ordinateurs portables</link>.</para>
+ </sect1>
+
+ <sect1>
+ <title>Quels types de lecteurs de bandes sont support&eacute;s&nbsp;?</title>
+
+ <para> FreeBSD supporte les lecteurs de bandes magn&eacute;tique SCSI,
+ QIC-36 (avec une interface QIC-02) et QIC-40/80 (bas&eacute;s sur
+ l'interface Floppy).
+ Ceci inclut les lecteurs 8-mm (connus sous le nom d'Exabyte) et
+ lecteurs DAT. Les lecteurs QIC-40/80 sont connus pour &ecirc;tre lents.</para>
+
+ <para>Parmi les premiers lecteurs 8-mm, quelques-uns ne sont pas tout &agrave;
+ fait compatibles SCSI-2, et peuvent de ce fait ne pas tr&egrave;s bien
+ marcher avec FreeBSD.</para>
+ </sect1>
+
+ <sect1>
+ <title>FreeBSD supporte-t-il les changeurs de bandes&nbsp;?</title>
+
+ <para>FreeBSD 2.2 g&egrave;re les changeurs SCSI en utilisant le p&eacute;riph&eacute;rique
+ <ulink url="http://www.freebsd.org/cgi/man.cgi?ch(4)">ch</ulink> ainsi
+ que la commande
+ <ulink url="http://www.freebsd.org/cgi/man.cgi?chio" >chio</ulink>.
+ Pour avoir plus de d&eacute;tails sur le contr&ocirc;le du changeur, lisez la page du
+ manuel <ulink url="http://www.freebsd.org/cgi/man.cgi?chio" >chio</ulink>.
+ </para>
+
+ <para>Si vous n'utilisez pas
+ <ulink url="http://www.freebsd.org/cgi/ports.cgi?amanda">AMANDA</ulink>
+ ou un autre produit qui g&egrave;re d&eacute;j&agrave; les changeurs,
+ souvenez-vous qu'ils ne savent que d&eacute;placer une bande d'un
+ point &agrave; un autre. Par cons&eacute;quent, vous devrez garder une
+ trace de l'emplacement dans lequel une bande est mise, ainsi que celui
+ o&ugrave; la bande courante devra revenir.</para>
+ </sect1>
+
+ <sect1>
+ <title>Quelles sont les cartes son support&eacute;es par FreeBSD&nbsp;?</title>
+
+ <para>FreeBSD prend en charge les cartes son: SoundBlaster,
+ SoundBlaster Pro, SoundBlaster 16, Pro Audio Spectrum 16,
+ AdLib et Gravis UltraSound.
+ Il y a aussi un support limit&eacute; pour les cartes MPU-401 et
+ compatible MIDI.
+ Les cartes conformes aux sp&eacute;cifications Microsoft Sound System
+ sont aussi support&eacute;es par l'interm&eacute;diaire du pilote pcm.</para>
+
+ <note>
+ <para>Ceci n'est valable que pour les sons!
+ Ce pilote ne supporte pas les CD-ROMs, SCSI ou joysticks sur
+ ces cartes, except&eacute; pour la SoundBlaster.
+ L'interface SCSI SoundBlaster et quelques CD-ROM non-SCSI sont
+ aussi support&eacute;s.
+ Mais vous ne pourrez pas d&eacute;marrer depuis ces p&eacute;riph&eacute;riques.</para>
+ </note>
+ </sect1>
+
+ <sect1>
+ <title>Quels sont les cartes r&eacute;seau support&eacute;es par FreeBSD&nbsp;?</title>
+
+ <para>Regarder la section <ulink url="&url.handbook;install.html#INSTALL-HW">
+ cartes &eacute;thernet</ulink> du handbook pour une liste compl&egrave;te.</para>
+ </sect1>
+
+ <sect1>
+ <title>Je n'ai pas de coprocesseur arithm&eacute;tique. Est-ce un probl&egrave;me&nbsp?</title>
+
+ <note>
+ <para>Cela ne touche que ceux qui ont un 386/486SX/486SLC -
+ toutes les autres machines en ont d&eacute;j&agrave; un int&eacute;gr&eacute; dans la CPU.</para>
+ </note>
+
+ <para>En r&egrave;gle g&eacute;n&eacute;rale, il n'y a pas d'inconv&eacute;nient, mais il
+ existe des circonstances dans lesquelles cela peut causer
+ des probl&egrave;mes aussi bien au niveau des performances qu'au niveau de la
+ pr&eacute;cision du code d'&eacute;mulation arithm&eacute;tique (voir la section
+ <link linkend="emul">sur l'&eacute;mulation FP</link>).
+ En particulier, le dessin de courbes sous X sera TRES lent.
+ Il est hautement recommand&eacute; d'acheter un coprocesseur arithm&eacute;tique&nbsp;:
+ c'est quand m&ecirc;me mieux avec&nbsp;!</para>
+
+ <note>
+ <para>Certains coprocesseurs math&eacute;matiques sont meilleurs que d'autres.
+ Cela nous peine de le dire, mais personne n'a jamais &eacute;t&eacute; licenci&eacute;
+ pour avoir achet&eacute; de l'Intel.
+ A moins que d'&ecirc;tre s&ucirc;r qu'ils fonctionnent avec FreeBSD,
+ m&eacute;fiez-vous des clones&nbsp;!</para>
+ </note>
+ </sect1>
+
+ <sect1>
+ <title>Quels autres p&eacute;riph&eacute;riques la version 2.X supporte-t-elle&nbsp;?</title>
+ <para>Lire le <ulink url="&url.handbook;install.html#INSTALL-HW">Handbook</ulink>
+ pour obtenir la liste des p&eacute;riph&eacute;riques support&eacute;s.</para>
+ </sect1>
+
+ <sect1>
+ <title>FreeBSD supporte-t-il le gestionnaire d'&eacute;nergie de mon portable&nbsp;?</title>
+
+ <para>FreeBSD supporte l'APM sur certaines machines.
+ Regardez dans le fichier de configuration du noyau
+ <filename>LINT</filename>, et cherchez le mot-clef
+ <ulink url="http://www.freebsd.org/cgi/man.cgi?apm">APM</ulink>.</para>
+ </sect1>
+
+ <sect1>
+ <title>Solutions de contournement pour des probl&egrave;mes mat&eacute;riels particuliers.</title>
+
+ <para>Cette section traite de solutions de contournement pour des
+ probl&egrave;mes rencontr&eacute;s par nos utilisateurs sur certains mat&eacute;riels
+ particuliers.</para>
+ <sect2>
+ <title>Les syst&egrave;mes Micron sont suspendus au moment du d&eacute;marrage.</title>
+
+ <para> Certaines cartes m&egrave;res Micron ont des impl&eacute;mentations
+ non-conformes de PCI BIOS, ce qui peut poser des probl&egrave;mes
+ lorsque FreeBSD d&eacute;marre car les p&eacute;riph&eacute;riques PCI ne sont pas
+ configur&eacute;s &agrave; l'adresse annonc&eacute;e.</para>
+
+ <para>D&eacute;sactivez l'option "Syst&egrave;me d'exploitation Plug and Play"
+ dans le BIOS pour contourner ce probl&egrave;me.
+ Des compl&eacute;ments d'informations peuvent &ecirc;tre trouv&eacute;s &agrave;
+ <ulink url="http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron">"http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron"</ulink>
+ </para>
+ </sect2>
+ </sect1>
+
+ <sect1>
+ <title>J'ai un nouveau contr&ocirc;leur Adaptec, et FreeBSD ne le reconnait pas.</title>
+
+ <para> Les nouvelles puces de la s&eacute;rie Adaptec AIC789x sont support&eacute;es
+ dans le cadre du CAM SCSI qui d&eacute;marre avec la 3.0.
+ Des patches pour la version 2.2-STABLE sont disponibles &agrave;
+ <ulink url="ftp://ftp.freebsd.org/pub/FreeBSD/cam/" >
+ ftp://ftp.freebsd.org/pub/FreeBSD/cam/ </ulink>
+ Une disquette d'amorce avec CAM est disponible &agrave;
+ <ulink url="http://www.freebsd.org/~abial/cam-boot/">
+ http://www.freebsd.org/~abial/cam-boot/</ulink>.
+ Dans les deux cas, lisez le fichier README avant toute chose.</para>
+ </sect1>
+
+ <sect1>
+ <title>J'ai un modem interne plug'n play, et FreeBSD ne le reconnait pas.</title>
+
+ <para>Vous devez ajouter l'ID PnP du modem &agrave; la liste des ID PnP dans
+ le pilote s&eacute;rie.
+ Pour activer le support Plug & Play, il faut compiler un nouveau
+ noyau avec <filename>controller pnp0</filename> dans le fichier de
+ configuration, puis red&eacute;marrer le syst&egrave;me. Le noyau affichera alors
+ l'ID PnP de tous les p&eacute;riph&eacute;riques qu'il trouvera.
+ Copier alors l'ID PnP du modem dans le tableau de
+ <filename>/sys/i386/isa/sio.c</filename>, vers la ligne 1200.
+ Cherchez la cha&icirc;ne de caract&egrave;re "SUP1310" dans la structure
+ "siopnp_ids[]" pour trouver le tableau.
+ Construire &agrave; nouveau le noyau, installer, red&eacute;marrer, et votre
+ modem devrait &ecirc;tre reconnu.</para>
+
+ <para>Vous pouvez configurer manuellement les p&eacute;riph&eacute;riques PnP en
+ utilisant la commande `pnp' &agrave; la configuration au moment du d&eacute;marrage,
+ avec une commande du style&nbsp;:
+
+ <programlisting>
+pnp 1 0 enable os irq0 3 drq0 0 port0 0x2f8
+ </programlisting>
+ pour afficher le modem.</para>
+ </sect1>
+
+ <sect1>
+ <title>Comment puis-je obtenir l'invite de commande ``boot:'' sur la console s&eacute;rie&nbsp;?</title>
+
+ <para>
+ <itemizedlist>
+ <listitem><para>
+ Construire un noyau avec <filename>options COMCONSOLE</filename>.
+ </para></listitem>
+ <listitem><para>
+ Cr&eacute;er un fichier /boot.config avec pour seul contenu
+ <filename>-P</filename>
+ </para></listitem>
+ <listitem><para>
+ D&eacute;connecter le clavier du syst&egrave;me.
+ </para></listitem>
+ </itemizedlist>
+ </para>
+
+ <para>Redardez <filename>/usr/src/sys/i386/boot/biosboot/README.serial
+ </filename> pour plus d'informations.</para>
+ </sect1>
+
+ <sect1>
+ <title>Pourquoi ma carte r&eacute;seau 3Com PCI ne marche pas avec mon Micron&nbsp;?</title>
+
+ <para>Certaines cartes m&egrave;res Micron ont une impl&eacute;mentation non-conforme
+ du BIOS PCI qui ne configure pas les p&eacute;riph&eacute;riques PCI &agrave; l'adresse
+ annonc&eacute;e.
+ Cela cause des probl&egrave;mes quand FreeBSD d&eacute;marre.</para>
+
+ <para> Pour contourner ce probl&egrave;me, d&eacute;sactiver l'option "Syst&egrave;me
+ d'exploitation Plug and Play" dans le BIOS.</para>
+
+ <para>Pour plus d'informations sur ce probl&egrave;me, allez voir &agrave; l'URL:
+ <ulink url="http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron">
+ http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron </ulink>
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>FreeBSD supporte-t-il les Multiprocesseurs Sym&eacute;triques (SMP)&nbsp;?</title>
+
+ <para>SMP n'est support&eacute; que dans la version 3.0-STABLE et les versions
+ suivantes.</para>
+ </sect1>
+
+</chapter>
diff --git a/fr_FR.ISO_8859-1/books/faq/includes.sgml b/fr_FR.ISO_8859-1/books/faq/includes.sgml
new file mode 100644
index 0000000000..c8681585bf
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/faq/includes.sgml
@@ -0,0 +1,10 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+<!-- book stores -->
+<!ENTITY isbn.amazon 'http://www.amazon.com/exec/obidos/ASIN'>
diff --git a/fr_FR.ISO_8859-1/books/faq/install.sgml b/fr_FR.ISO_8859-1/books/faq/install.sgml
new file mode 100644
index 0000000000..2caf17faf8
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/faq/install.sgml
@@ -0,0 +1,860 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+<chapter id="install">
+ <title>Installation</title>
+
+ <sect1>
+ <title>Quels fichiers t&eacute;l&eacute;charger pour installer FreeBSD&nbsp;?</title>
+
+ <para> Vous n'avez g&eacute;n&eacute;ralement besoin que d'une image-disque, le
+fichier <filename path="floppies/boot.flp">floppies/boot.flp</filename>, que vous copiez sur
+une disquette 1.44 Mo et qui permet de d&eacute;marrer pour
+pouvoir t&eacute;l&eacute;charger le reste (l'installation prend en
+charge votre connexion TCP/IP, votre lecteur de bandes, CDROM, disquettes, partitions DOS, tout ce
+est n&eacute;cessaire pour le reste de l'installation).</para>
+
+
+ <para>Si vous avez besoin de t&eacute;l&eacute;charger la distribution par
+vous m&ecirc;me (pour une installation depuis une partition DOS par
+exemple), voici quels sont les fichiers &agrave; r&eacute;cup&eacute;rer:
+<itemizedlist>
+ <listitem>
+ <para> Tout le r&eacute;pertoire <filename path="bin/*">bin</filename></para>
+ </listitem>
+ <listitem>
+ <para> Tout le r&eacute;pertoire <filename
+path="manpages/*">manpages</filename></para>
+ </listitem>
+ <listitem>
+ <para> Tout le r&eacute;pertoire <filename path="compat*">compat</filename></para>
+ </listitem>
+ <listitem>
+ <para> Tout le r&eacute;pertoire <filename path="doc/*">doc</filename></para>
+ </listitem>
+ <listitem>
+ <para> Tous les fichiers <filename
+path="src/ssys.*">src/ssys.*</filename></para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <para>Vous trouverez les instructions compl&egrave;tes pour cette proc&eacute;dure et un peu
+plus au sujet de l'installation en g&eacute;n&eacute;ral dans la section <ulink url="../handbook/install.html">
+installation de FreeBSD</ulink> du manuel.</para>
+ </sect1>
+
+
+
+ <sect1>
+ <title>A l'aide&nbsp;! L'image-disque de d&eacute;marrage ne tient pas sur une seule disquette&nbsp;!</title>
+
+ <para> Une disquette 3,5 pouces (1.44 Mo) peut contenir jusqu'&agrave;
+1474560 octets de donn&eacute;es. La taille du fichier image est exactement
+1474560 octets.</para>
+
+ <para>Les erreurs courantes concernant la cr&eacute;ation de la
+disquette de d&eacute;marrage sont les suivantes&nbsp;:
+<itemizedlist>
+ <listitem>
+ <para> Vous n'avez pas t&eacute;l&eacute;charg&eacute; l'image-disque en mode
+<command>binary</command> en utilisant FTP</para>
+
+ <para>Certains clients FTP mettent par d&eacute;faut le transfert en mode
+<emphasis>ASCII</emphasis>, et essayent de changer le
+caract&egrave;re de fin de ligne re&ccedil;u pour correspondre aux conventions utilis&eacute;es
+par le syst&egrave;me client. Cela alt&egrave;re presque in&eacute;vitablement le fichier
+image. V&eacute;rifiez la taille du fichier image t&eacute;l&eacute;charg&eacute;: si elle n'est pas
+<emphasis>exactement </emphasis> la m&ecirc;me que sur le
+serveur, alors le processus de t&eacute;l&eacute;chargement est suspect.</para>
+
+<para>Une solution simple&nbsp;: tapez <command>binary</command> &agrave; l'invite FTP,
+apr&egrave;s la connexion sur le serveur et avant le d&eacute;marrage du
+t&eacute;l&eacute;chargement de l'image.</para>
+ </listitem>
+ <listitem>
+
+ <para> Vous avez utilis&eacute; la commande DOS
+<command>copy</command> (ou une commande &eacute;quivalente) pour transf&eacute;rer
+l'image de d&eacute;marrage sur la disquette.</para>
+
+ <para> Les programmes comme <command>copy</command> ne
+fonctionnent pas correctement avec les images, car ils ne
+peuvent cr&eacute;er une disquette de d&eacute;marrage. L'image est le contenu exact de la disquette,
+piste &agrave; piste, et ne peut &ecirc;tre
+copi&eacute;e sur la disquette comme un fichier normal. Vous devez la transf&eacute;rer sur la
+disquette en mode brut {raw} en utilisant les outils de bas niveau {low-level} <command>fdimage</command>
+ou <command>rawrite</command>. Ces outils sont d&eacute;crits dans la section <ulink
+url="../handbook/install.html">installation de FreeBSD</ulink> du manuel.</para>
+ </listitem>
+ </itemizedlist></para>
+ </sect1>
+
+
+ <sect1>
+ <title>O&ugrave; sont les instructions pour installer FreeBSD&nbsp;?</title>
+
+ <para>Les instructions d'installation de FreeBSD se
+trouvent dans la section <ulink url="../handbook/install.html">
+installation de FreeBSD</ulink> du manuel.
+</para>
+ </sect1>
+
+
+ <sect1>
+ <title>De quoi ai-je besoin pour faire tourner FreeBSD&nbsp;?</title>
+
+ <para> Vous avez besoin d'un PC 386 ou mieux, avec 5Mo ou plus de m&eacute;moire vive (RAM)
+et au moins 60Mo de disque dur. Il suffit d'une carte graphique MDA,
+mais pour utiliser X11R6, une carte video VGA ou mieux est n&eacute;cessaire.</para>
+ <para>Voir aussi la section <ulink url="hardware.html">
+compatibilit&eacute; mat&eacute;rielle</ulink>.</para>
+ </sect1>
+
+
+
+ <sect1>
+ <title>Je n'ai que 4Mo de m&eacute;moire vive. Puis-je installer FreeBSD&nbsp;?</title>
+
+ <para> FreeBSD 2.1.7 est la derni&egrave;re version de FreeBSD que l'on
+peut installer sur des syst&egrave;mes avec 4Mo de m&eacute;moire
+vive. Les nouvelles versions de FreeBSD, comme la version 2.2, ont
+besoin d'au moins 5Mo de m&eacute;moire vive pour &ecirc;tre install&eacute;es sur un nouveau syst&egrave;me.</para>
+
+ <para>Toutes les versions de FreeBSD, y compris la version 3.0,
+peuvent fonctionner avec 4Mo de m&eacute;moire
+vive, mais ne peuvent pas ex&eacute;cuter le programme d'installation en 4Mo.
+ Vous pouvez ajouter de la m&eacute;moire vive suppl&eacute;mentaire pour le processus
+d'installation, si vous voulez, et quand le syst&egrave;me
+fonctionne, revenir &agrave; 4Mo. Ou vous pouvez placer votre disque sur un syst&egrave;me
+disposant de plus de 4Mo, effectuer l'installation et l'&eacute;changer &agrave; nouveau.</para>
+
+ <para>Il y a malgr&eacute; tout des situations dans lesquelles
+FreeBSD 2.1.7 ne peut s'installer avec 4Mo. Pour &ecirc;tre exact&nbsp;: cette
+version de n'installe pas avec 640Ko de m&eacute;moire de base et 3Mo de
+m&eacute;moire &eacute;tendue. Si votre carte m&egrave;re peut
+r&eacute;allouer quelques blocs m&eacute;moire <quote>perdue</quote>
+hors de la r&eacute;gion entre 640Ko et 1Mo alors vous pourrez installer FreeBSD
+2.1.7</para>
+
+ <para> Regardez dans la configuration de votre BIOS
+si vous disposez d'un option <quote>remap</quote>. Si oui, activez la. Vous devez
+aussi d&eacute;sactiver la copie miroir de la m&eacute;moire ROM.</para>
+
+ <para>Il est plus simple d'augmenter la m&eacute;moire vive &agrave; plus de
+4Mo pour l'installation, construire un noyau contenant juste les options dont vous avez
+besoin, puis revenir &agrave; une configuration avec 4Mo.</para>
+
+ <para>Vous pouvez dans le pire des cas, installer la version
+2.0.5 et effectuer une mise &agrave; jour de votre syst&egrave;me en version
+2.1.7 avec l'option <option>upgrade</option> du programme d'installation de la 2.1.7.</para>
+
+ <para>Apr&egrave;s l'installation, si vous construisez un noyau sur mesure,
+cela tournera sans probl&egrave;me avc 4Mo. Certaines personnes
+ont m&ecirc;me r&eacute;ussi a d&eacute;marrer sur un syst&egrave;me disposant de 2Mo de m&eacute;moire
+vive (bien s&ucirc;r le syst&egrave;me fut compl&eacute;tement inutilisable&nbsp;:-)).</para>
+ </sect1>
+
+ <sect1>
+ <title>Comment cr&eacute;er ma propre disquette d'installation&nbsp;?</title>
+
+ <para>Actuellement il n'y a pas de solution pour cr&eacute;er *juste*
+une disquette d'installation personnalis&eacute;e. Vous devez cr&eacute;er une
+distribution compl&egrave;te, qui contiendra votre disquette
+d'installation. Le code se trouvant dans
+<filename>/usr/src/release/floppies/Makefile</filename> peut
+laisser supposer que vous pouvez cr&eacute;er votre disquette,
+mais ce n'est pas le cas actuellement.</para>
+
+ <para>Pour cr&eacute;er votre propre version, suivez les instructions
+se trouvant <ulink url="custrel">l&agrave;</ulink>.</para>
+ </sect1>
+
+
+ <sect1>
+ <title>Puis-je avoir plus d'un syst&egrave;me d'exploitation sur mon PC&nbsp;?</title>
+
+ <para>Voyez la page du tutoriel sur la <ulink
+url="&url.tutorials;multios/index.html">cohabitation de plusieurs syst&egrave;mes d'exploitation</ulink>.</para>
+ </sect1>
+
+
+
+ <sect1>
+ <title>Est-ce que Windows 95 peut coexister avec FreeBSD&nbsp;? </title>
+
+ <para> Installez en premier Windows 95, puis FreeBSD. Le
+gestionnaire de d&eacute;marrage de FreeBSD, vous permet de d&eacute;marrer
+indiff&eacute;remment sous Windows 95 ou FreeBSD. Si vous installez Windows 95 en second,
+il surchargera votre gestionnaire de d&eacute;marrage sans m&ecirc;me
+poser une question. Si cela arrive, voir la section suivante.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Windows 95 a effac&eacute; mon gestionnaire de d&eacute;marrage&nbsp;! Comment le r&eacute;cup&eacute;rer&nbsp;?</title>
+
+ <para> Vous pouvez r&eacute;-installer le gestionnaire de d&eacute;marrage de
+FreeBSD de deux mani&egrave;res&nbsp:
+
+<itemizedlist>
+ <listitem>
+ <para>Sous DOS, allez dans le r&eacute;pertoire
+<filename>tools</filename> de votre distribution FreeBSD et
+cherchez un programme <filename>bootinst.exe</filename>. Il
+vous l'ex&eacute;cutez ainsi:</para>
+
+<informalexample>
+<screen>
+c:\tools>bootinst.exe boot.bin
+</screen>
+</informalexample>
+
+
+
+ <para> et le gestionnaire de d&eacute;marrage sera
+r&eacute;-install&eacute;</para>
+ </listitem>
+
+ <listitem>
+ <para>D&eacute;marrez &agrave; nouveau sous FreeBSD avec la disquette
+de d&eacute;marrage et allez dans le menu <literal>Custom installation</literal>.
+Choisissez <literal>Partition</literal> S&eacute;lectionnez le disque devant contenir
+le gestionnaire de d&eacute;marrage (probablement le premier) et
+quand vous arrivez dans l'&eacute;diteur de partition, la premi&egrave;re chose &agrave; faire
+(c'est &agrave; dire n'effectuer aucun changement) s&eacute;lectionnez <literal>(W)rite</literal>. Vous serez
+interrog&eacute; pour confirmation, r&eacute;pondez <literal>yes</literal>, et quand vous obtenez
+le menu de s&eacute;lection du gestionnaire de
+d&eacute;marrage, assurez vous de bien s&eacute;lectionner <literal>Boot manager</literal>. Cela
+re-&eacute;crit le gestionnaire de d&eacute;marrage sur le disque. Ensuite
+quittez le programme d'installation et red&eacute;marrez &agrave; partir du disque dur normalement.</para>
+ </listitem>
+ </itemizedlist>
+</para>
+ </sect1>
+
+
+
+ <sect1>
+ <title>Peut-on installer FreeBSD sur un disque comportant des secteurs d&eacute;fectueux&nbsp;?</title>
+
+ <para>La gestion des secteurs d&eacute;fectueux (voir la commande <ulink
+url="http://www.freebsd.org/cgi/man.cgi?bad144">bad144</ulink>) de
+FreeBSD n'est pas fiable &agrave; 100%&nbsp;; il serait plus juste de dire
+que si vous disposez d'un disque IDE ou ESDI avec &eacute;normement de <ForeignPhrase>bad
+blocks</ForeignPhrase>, alors FreeBSD n'est pas
+pour vous&nbsp;! En fait FreeBSD tourne sur des centaines de syst&egrave;mes &agrave; base de disques IDE, il vaut
+mieux essayer avant de vous d&eacute;courager.</para>
+
+ <para>Si vous avez un disque SCSI comportant des secteurs d&eacute;fectueux,
+voyez <ulink url="#awre">cette r&eacute;ponse</ulink></para>
+ </sect1>
+
+
+ <sect1>
+ <title>Il se passe des choses &eacute;tranges lorsque je d&eacute;marre depuis la disquette d'installation&nbsp;!</title>
+
+ <para>Si vous d&eacute;tectez des choses comme&nbsp;: un blocage de la
+machine, un red&eacute;marrage inopin&eacute; de votre syst&egrave;me avec la disquette
+d'installation, posez vous les 3 questions suivantes&nbsp:</para>
+
+ <para><orderedlist>
+ <listitem>
+ <para>Avez-vous utilis&eacute; une disquette neuve, sans erreurs
+(pr&eacute;f&eacute;rez une disquette sortie de la bo&icirc;te plut&ocirc;t qu'une disquette provenant
+du dernier magazine oubli&eacute; sous votre lit depuis trois ans)&nbsp;?</para>
+ </listitem>
+ <listitem>
+ <para>Avez vous t&eacute;l&eacute;charg&eacute; l'image en mode binaire (ne
+vous offusquez pas, m&ecirc;me les meilleurs d'entre nous,
+ont t&eacute;l&eacute;charg&eacute; des fichiers en mode ASCII au moins une fois)&nbsp;? </para>
+ </listitem>
+ <listitem>
+ <para>Si vous utilisez des syst&egrave;mes d'exploitation r&eacute;cents
+comme Windows 95 ou Windows NT, avez vous arr&eacute;t&eacute; le syst&egrave;me et
+red&eacute;marr&eacute; en DOS simple et honn&ecirc;te&nbsp;? Il semble que ces syst&egrave;mes peuvent interf&eacute;rer
+avec des programmes
+qui &eacute;crivent directement sur le mat&eacute;riel, comme c'est le cas des programmes de
+cr&eacute;ation de disquette&nbsp;; m&ecirc;me en l'ex&eacute;cutant dans une fen&ecirc;tre DOS
+de windows cela peut causer ces probl&egrave;mes.</para>
+ </listitem>
+ </orderedlist></para>
+
+ <para>Certaines informations mentionnant que Netscape
+pose des probl&egrave;mes en t&eacute;l&eacute;chargeant l'image de la disquette de
+d&eacute;marrage, donc utilisez un client FTP diff&eacute;rent si vous
+pouvez.</para>
+ </sect1>
+
+
+ <sect1>
+ <title>Je n'arrive pas &agrave; installer &agrave; partir de la bande</title>
+
+ <para>Si vous installez la version 2.1.7R &agrave; partir d'une
+bande, vous devez cr&eacute;er la bande en utilisant un facteur de blocage de
+10 (5120 octets). Le facteur de blocage par d&eacute;faut de <filename>tar</filename> est 20 (10240
+octets), et les bandes cr&eacute;es en utilisant cette valeur par d&eacute;faut
+ne peuvent pas &ecirc;tre utilis&eacute;es pour installer la
+version 2.1.7R&nbsp;; avec ce type de bande vous obtiendrez une erreur disant
+que la taille des enregistrements est trop grande.</para>
+ </sect1>
+
+
+ <sect1>
+ <title>Connecter deux syst&egrave;mes FreeBSD par les ports parall&egrave;le (PLIP)</title>
+<para>Trouvez un c&acirc;ble "laplink". V&eacute;rifiez que les deux ordinateurs
+ont un noyau avec le support de pilote <filename>lpt</filename>.</para>
+
+ <programlisting>
+
+ $ dmesg | grep lp
+ lpt0 at 0x378-0x37f irq 7 on isa
+ lpt0: Interrupt-driven port
+ lp0: TCP/IP capable interface
+ </programlisting>
+
+<para>Installez le c&acirc;ble "laplink" sur les ports parall&egrave;lle.</para>
+
+<para>Configurez les param&egrave;tres de l'interface r&eacute;seau pour
+lp0 des deux c&ocirc;t&eacute;s en tant que <username>root</username>.</para>
+
+<para>Par exemple, si vous voulez connecter l'ordinateur max avec moritz&nbsp:</para>
+
+ <programlisting>
+ max <-----> moritz
+IP Address 10.0.0.1 10.0.0.2
+ </programlisting>
+
+<para> sur max, d&eacute;marrez&nbsp: </para>
+
+
+ <programlisting>
+ # ifconfig lp0 10.0.0.1 10.0.0.2
+ </programlisting>
+
+<para> sur moritz, d&eacute;marrez&nbsp: </para>
+
+
+ <programlisting>
+ # ifconfig lp0 10.0.0.2 10.0.0.1
+ </programlisting>
+
+<para>C'est tout&nbsp! Lisez aussi les manpages
+<citerefentry><refentrytitle>lp</refentrytitle><manvolnum>4</manvolnum></citerefentry> and
+<citerefentry><refentrytitle>lpt</refentrytitle><manvolnum>4</manvolnum></citerefentry>.</para>
+
+
+<para>Vous devez aussi ajouter les deux adresse dans <filename>/etc/hosts</filename>&nbsp;:</para>
+
+
+ <programlisting>
+ 127.0.0.1 localhost.my.domain localhost
+ 10.0.0.1 max.my.domain max
+ 10.0.0.2 moritz.my.domain moritz
+ </programlisting>
+
+<para>Pour v&eacute;rifier le bon fonctionnement faire&nbsp;:</para>
+
+<para>sur max&nbsp;:</para>
+
+
+ <programlisting>
+$ ifconfig lp0
+lp0: flags=8851&lt;UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
+ inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000
+
+
+$ netstat -r
+Routing tables
+
+Internet:
+Destination Gateway Flags Refs Use Netif Expire
+moritz max UH 4 127592 lp0
+
+
+$ ping -c 4 moritz
+PING moritz (10.0.0.2): 56 data bytes
+64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms
+64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms
+64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms
+64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms
+
+--- moritz ping statistics ---
+4 packets transmitted, 4 packets received, 0% packet loss
+round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms
+
+ </programlisting>
+
+ </sect1>
+
+
+ <sect1>
+ <title>Peut-on effectuer une installation par le port parall&egrave;le (PLIP)</title>
+
+ <para> Connectez les deux ordinateurs avec un cable parall&egrave;le "Laplink"</para>
+ <figure>
+ <title>Cable parall&egrave;le</title>
+<informalexample>
+<screen>
+ +----------------------------------------+
+ |A-name A-End B-End Descr. Port/Bit |
+ +----------------------------------------+
+ |DATA0 2 15 Data 0/0x01 |
+ |-ERROR 15 2 1/0x08 |
+ +----------------------------------------+
+ |DATA1 3 13 Data 0/0x02 |
+ |+SLCT 13 3 1/0x10 |
+ +----------------------------------------+
+ |DATA2 4 12 Data 0/0x04 |
+ |+PE 12 4 1/0x20 |
+ +----------------------------------------+
+ |DATA3 5 10 Strobe 0/0x08 |
+ |-ACK 10 5 1/0x40 |
+ +----------------------------------------+
+ |DATA4 6 11 Data 0/0x10 |
+ |BUSY 11 6 1/0x80 |
+ +----------------------------------------+
+ |GND 18-25 18-25 GND - |
+ +----------------------------------------+
+</screen>
+</informalexample>
+ </figure>
+
+ <para>Voir aussi <ulink url="#pao">cette note</ulink> sur la page de FreeBSD pour les portables</para>
+ </sect1>
+
+
+ <sect1>
+ <title id="geometry">Quelle g&eacute;om&eacute;trie dois-je utiliser pour un disque&nbsp;?</title>
+
+ <para>(Par le mot "g&eacute;om&eacute;trie" d'un disque, nous pensons aux
+nombres de cylindres, t&ecirc;tes et secteurs par pistes sur un disque&nbsp;- Nous
+dirons par la suite C/H/S. C'est de cette fa&ccedil;on que le BIOS des PC
+arrive &agrave; &eacute;crire ou lire une zone du disque).</para>
+
+ <para>Cela peut pr&eacute;ter &agrave; confusion pour diff&eacute;rentes raisons.
+Premi&egrave;rement, la <emphasis>g&eacute;om&eacute;trie physique</emphasis> d'un disque
+SCSI ne veut rien dire, de la fa&ccedil;on dont FreeBSD utilise les blocs
+disques. En fait, on ne peut parler de <quote>la</quote> g&eacute;om&eacute;trie physique,
+la densit&eacute; des secteurs variant sur le disque -ce que les
+fabricants appellent la <quote>vraie</quote> g&eacute;om&eacute;trie physique, c'est la g&eacute;om&eacute;trie
+qu'ils ont d&eacute;t&eacute;rmin&eacute;, pour avoir le moins d'espace perdu.
+Pour les disques IDE, FreeBSD voit en terme de C/H/S, mais tous les
+disques r&eacute;cents convertissent cela en blocs eux-m&ecirc;mes.</para>
+
+ <para>Tout cela est, en fait, la <emphasis>g&eacute;om&eacute;trie logique
+</emphasis>&nbsp; la r&eacute;ponse que le BIOS re&ccedil;oit lorsqu'il demande <quote>quelle
+est votre g&eacute;om&eacute;trie&nbsp;?</quote> et qu'il utilise pour acc&eacute;der au disque. Comme
+FreeBSD utilise le BIOS pour d&eacute;marrer, il est tr&egrave;s important qu'elle
+soit juste. En particulier, si vous avez plus d'un syst&egrave;me
+d'exploitation sur votre disque, ils doivent &ecirc;tre d'accord
+sur la g&eacute;om&eacute;trie, sinon vous rencontrerez de graves probl&egrave;mes
+au d&eacute;marrage du syst&egrave;me.</para>
+
+ <para>Pour les disques SCSI, la g&eacute;om&eacute;trie &agrave; utiliser d&eacute;pend
+du support de translation &eacute;tendu activ&eacute; sur votre contr&ocirc;leur
+(ou encore appel&eacute; <quote>support pour les disques DOS &gt;1Go</quote> ou
+similaire). S'il n'est pas activ&eacute;, utilisez N cylindres, 64
+t&ecirc;tes et 32 secteurs par pistes, ou 'N' est la capacit&eacute; du disque en
+Mo. Par exemple, pour un disque de 2Go vous devez utiliser 2048
+cylindres, 64 t&ecirc;tes et 32 secteurs par piste.</para>
+
+ <para>Si cette option est active (c'est le cas la plupart du temps
+pour permettre de passer outre certaines limitations de MSDOS) et que
+le disque a une capacit&eacute; de plus de 1Go, utilisez M cylindres, 63 t&ecirc;tes
+(et *pas* 64), et 255 secteurs par piste, o&ugrave; M correspond &agrave; la capacit&eacute;
+en Mo divis&eacute; par 7.844238 (!). Donc, en prenant un disque de 2Go nous
+obtenons 261 cylindres, 63 t&ecirc;tes et 255 secteurs par piste.</para>
+
+ <para>Si vous n'&ecirc;tes pas s&ucirc;r de point, ou si
+FreeBSD n'arrive pas &agrave; d&eacute;tecter la g&eacute;om&eacute;trie correctement au moment de
+l'installation, la fa&ccedil;on la plus simple de faire, est de cr&eacute;er
+une petite partition DOS sur le disque. La g&eacute;om&eacute;trie correcte sera alors
+d&eacute;tect&eacute;e (et vous pourrez toujours retirer la partition DOS dans
+l'&eacute;diteur de partitions si vous ne voulez pas la garder ou conservez la
+pour la programmation de cartes r&eacute;seau).</para>
+
+ <para>Une autre solution est d'utiliser un outil disponible librement distribu&eacute; avec
+FreeBSD appel&eacute; <filename>pfdisk.exe</filename> (il se trouve dans
+le r&eacute;pertoire <filename>tools</filename> du CDROM de FreeBSD ou sur
+les sites ftp), qui permet de voir quelle g&eacute;om&eacute;trie utilisent les
+autres syst&egrave;mes sur ce disque. Vous pourrrez ensuite
+entrer cette g&eacute;om&eacute;trie dans l'&eacute;diteur de partitions.</para>
+ </sect1>
+
+
+ <sect1>
+ <title>Y a-t-il des restrictions sur la fa&ccedil;on de partitionner le disque&nbsp;?</title>
+
+ <para>Oui. Vous devez vous assurer que la partition
+<quote><filename>/</filename></quote> <quote><filename>{root}</filename></quote> se trouve dans les 1024 premiers cylindres,
+pour permettre au BIOS de trouver le noyau. (Notez que c'est une
+limitation d&ucirc;e au BIOS des PC et non pas &agrave; FreeBSD).</para>
+
+ <para>Dans le cas d'une disque SCSI, cela implique que la
+partition <quote><filename>/</filename></quote> <quote><filename>{root}</filename></quote> soit dans les 1024 premiers Mo (ou
+dans les 4096 premiers si la translation est en place - voir la
+question pr&eacute;c&eacute;dente). Pour un disque IDE, il faut qu'elle se trouve
+dans les 504 premiers Mo.</para>
+ </sect1>
+
+
+
+ <sect1>
+ <title>A propos des gestionnaires de disque&nbsp;? Ou bien, j'ai un disque de grande capacit&eacute;&nbsp!</title>
+
+ <para>FreeBSD reconnait le gestionnaire "Ontrack Disk Manager" et le tol&egrave;re.
+Les autres gestionnaires de disque ne sont pas support&eacute;s.</para>
+
+ <para>Si vous voulez utiliser le disque uniquement avec FreeBSD,
+vous n'avez pas besoin de gestionnaire de disque. Configurez
+simplement le disque pour utiliser le maximum de place reconnue par le
+BIOS (la plupart du temps 504Mo), et FreeBSD trouvera de lui m&ecirc;me la
+capacit&eacute; de votre disque. Si vous utilisez un vieux disque avec
+un controlleur MFM, vous devrez donner explicitement &agrave; FreeBSD le
+nombre de cylindres &agrave; utiliser.</para>
+
+ <para>Si vous voulez utiliser le disque avec FreeBSD et un autre
+syst&egrave;me d'exploitation, vous n'aurez pas besoin d'un gestionnaire de
+disque: assurez vous que la partition de d&eacute;marrage de FreeBSD et
+les tranches pour les autres syst&egrave;mes d'exploitation se trouvent dans
+les 1024 premiers cylindres. Si vous &ecirc;tes prudent, une partition de d&eacute;marrage de 20Mo doit
+suffire.</para>
+ </sect1>
+
+
+ <sect1>
+ <title id="missingos">Lors du d&eacute;marrage de FreeBSD j'obtiens "Missing Operating System"</title>
+ <para>C'est le sympt&ocirc;me classique o&ugrave; FreeBSD et DOS, ou un autre
+syst&egrave;me d'exploitation, sont en conflit &agrave; propos de la <anchor
+id="geometry2"> g&eacute;om&eacute;trie du disque. Vous devez alors
+r&eacute;installer FreeBSD, en faisant attention &agrave; toutes les informations
+qui vous sont pr&eacute;sent&eacute;es.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Je ne peux pas aller plus loin que le message `F?' du gestionnaire de d&eacute;marrage.</title>
+ <para>Ceci est un autre sympt&ocirc;me du probl&egrave;me d&eacute;crit &agrave; la
+question pr&eacute;c&eacute;dente. La g&eacute;om&eacute;trie trouv&eacute;e par le BIOS et celle de
+FreeBSD ne sont pas les m&ecirc;mes. Si votre contr&ocirc;leur ou votre
+BIOS supporte la translation de cylindres (souvent indiqu&eacute;e comme "Support des disques >1Go"),
+essayez de changer les
+param&egrave;tres et r&eacute;installez FreeBSD.</para>
+ </sect1>
+
+ <sect1>
+ <title id="bigram">Je dispose de plus de 16Mo de RAM. Est-ce que cela peut poser un probl&egrave;me&nbsp;?</title>
+ <para>Mis &agrave; part les probl&egrave;mes de performances, non. FreeBSD 2.X
+inclus des <quote>bounce buffers</quote> permettant &agrave; votre bus principal d'acc&eacute;der
+&agrave; plus de 16Mo de m&eacute;moire. (Notez que cela n'est vrai que pour les
+p&eacute;riph&eacute;riques ISA, et quelques p&eacute;riph&eacute;riques EISA
+ou VLB).</para>
+
+ <para>Voyez aussi la section parlant des ordinateurs
+<ulink url="#reallybigram">plus de 64Mo de RAM</ulink>, si vous avez autant de m&eacute;moire, ou si vous
+utilisez un ordinateur Compaq ou un autre BIOS qui donne de mauvaises
+informations sur la m&eacute;moire disponible.</para>
+ </sect1>
+
+ <sect1>
+ <title>Dois-je installer tous les sources&nbsp;?</title>
+
+ <para>La plupart du temps, non. Malgr&eacute; tout, nous vous
+conseillons fortement d'installer, au minimum, les sources de
+base (<filename>sbase</filename>) ainsi que les sources du noyau
+(<filename>ssys</filename>). Il n'y a rien dans le syst&egrave;me qui
+n&eacute;cessite la pr&eacute;sence des sources, sauf si vous d&eacute;sirez <ulink
+url="http://www.freebsd.org/cgi/man.cgi?config">reconfigurer</ulink>
+le noyau du syst&egrave;me. A l'exception du noyau, notre structure de
+compilation est faite pour vous permettre de visualiser les sources
+(m&ecirc;me en lecture seule) et de construire alors de nouveaux
+binaires. (En raison de la restriction des sources du noyau, nous vous
+recommandons de monter les sources ailleurs que dans
+<filename>/usr/src</filename> en cr&eacute;eant les liens symboliques
+appropri&eacute;s permettant de dupliquer la structure compl&egrave;te des
+sources).</para>
+
+ <para>En ayant les sources &agrave; votre disposition et en sachant
+comment l'on construit un syst&egrave;me avec, cela permettra d'avoir une fa&ccedil;on
+tr&egrave;s simple pour mettre &agrave; jour votre syst&egrave;me vers les prochaines
+versions de FreeBSD.</para>
+
+ <para>Pour n'installer qu'une partie des sources, utilisez le menu <literal>
+Custom</literal> quand vous &ecirc;tes dans le menu
+<literal>Distributions</literal> du programme d'installation. Le script
+<filename>src/install.sh</filename> peut installer aussi certains &eacute;l&eacute;ments des
+sources, en fonction des arguments que vous lui passez.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Suis-je oblig&eacute; de construire un nouveau noyau&nbsp;?</title>
+
+ <para>Construire un nouveau noyau, &eacute;tait encore, il y a quelque
+temps, une &eacute;tape &agrave; peu pr&egrave;s obligatoire apr&egrave;s l'installation de FreeBSD, mais les
+nouvelles versions ont b&eacute;n&eacute;fici&eacute; d'un utilitaire de configuration du
+noyau plus sympathique. Au d&eacute;marrage de FreeBSD et apr&egrave;s l'invite de d&eacute;marrage
+(<prompt>boot:</prompt>) utilisez le param&egrave;tre <option>-c</option> et vous aurez alors acc&egrave;s au
+menu de configuration visuel, qui vous permet de configurer les
+param&egrave;tres de la plupart des cartes ISA.</para>
+
+<para>Il est encore recommand&eacute; construire un nouveau noyau
+contenant juste les pilotes dont avez besoin, seulement pour
+&eacute;conomiser un peu de RAM, mais ce n'est plus une exigence stricte pour la
+plupart des syst&egrave;mes.</para>
+
+ </sect1>
+ <sect1>
+ <title>Je r&eacute;side en dehors des Etats-Unis. Puis-je utiliser le DES&nbsp;?</title>
+ <para>Si la m&eacute;thode de cryptage <emphasis>DES</emphasis> ne vous est pas absolument n&eacute;cessaire, alors vous
+pouvez utiliser le syst&egrave;me de cryptage fourni par d&eacute;faut avec FreeBSD
+et qui vous apporte une bien meilleure s&eacute;curit&eacute;, sans aucune
+restriction d'exportation. Le cryptage des mots de passe par d&eacute;faut de FreeBSD 2.0 est
+maintenant bas&eacute; sur <emphasis>MD5</emphasis>, qui est plus difficile &agrave; casser que <emphasis>DES</emphasis>, avec un
+outil automatis&eacute; en raison de sa forte demande en temps de calcul, et qui
+permet aussi d'utiliser des mots de passe plus longs. La seule raison
+pour laquelle vous ne pouvez pas utiliser le cryptage bas&eacute; sur
+<emphasis>MD5</emphasis> est, si vous d&eacute;sirez utiliser la
+m&ecirc;me entr&eacute;e du fichier des mots de passe sur des syst&egrave;mes FreeBSD et
+non-FreeBSD.</para>
+ <para>Comme l'algorithme de cryptage <emphasis>DES</emphasis> ne peut pas &ecirc;tre
+l&eacute;galement export&eacute; en dehors des Etats-Unis, tout utilisateur non
+am&eacute;ricain ne doit pas t&eacute;l&eacute;charger les logiciels l'incluant (se
+trouvant dans le r&eacute;pertoire <filename>sec</filename> des sites FTP
+am&eacute;ricains)</para>
+ <para>Il y a cependant une librairie de remplacement disponible,
+libcrypt, bas&eacute;e sur des sources &eacute;crit en Australie par David Burren.
+Le code est maintenant disponible sur certains sites ftp miroirs en
+dehors des Etats-Unis. Les sources, ainsi que les binaires des
+programmes l'utilisant peuvent &ecirc;tre t&eacute;l&eacute;charg&eacute;s sur les sites ftp
+suivants:</para>
+ <para><itemizedlist>
+ <listitem>
+ <para>Afrique du Sud:
+<itemizedlist>
+ <listitem>
+ <para>ftp://ftp.internat.freebsd.org/pub/FreeBSD</para>
+ </listitem>
+ <listitem>
+ <para>ftp://storm.sea.uct.ac.za/pub/FreeBSD</para>
+ </listitem>
+
+ </itemizedlist>
+</para>
+ </listitem>
+ <listitem>
+ <para>Br&eacute;sil:
+<itemizedlist>
+ <listitem>
+ <para>ftp://ftp.iqm.unicamp.br/pub/FreeBSD</para>
+ </listitem>
+ </itemizedlist>
+</para>
+ </listitem>
+ <listitem>
+ <para>Finlande:
+ <itemizedlist>
+ <listitem>
+ <para>ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt</para>
+ </listitem>
+ </itemizedlist>
+</para>
+ </listitem>
+ </itemizedlist>
+</para>
+ <para>Cette distribution non-US peut &ecirc;tre directement utilis&eacute;e &agrave; la
+place de la distribution am&eacute;ricaine. Ce paquetage s'installe de la m&ecirc;me
+fa&ccedil;on que le paquetage am&eacute;ricain (regardez les notes d'installation du
+paquetage pour plus de d&eacute;tails). Si vous d&eacute;sirez installer le cryptage
+<emphasis>DES</emphasis>, vous devez l'installer le plus t&ocirc;t possible, avant l'installation
+de tout autre logiciel.</para>
+ <para>Les utilisateurs ne r&eacute;sidant pas aux Etats-Unis ne doivent
+t&eacute;l&eacute;charger aucun programme de cryptage sur un site am&eacute;ricain. Cela
+pourrait entrainer, pour les responsables du site depuis lequel le
+logiciel est t&eacute;l&eacute;charg&eacute;, de graves probl&egrave;mes juridiques.</para>
+
+ <para>Une distribution non-US de Kerberos est aussi en
+cours de d&eacute;veloppement, et les versions courantes peuvent
+g&eacute;n&eacute;ralement &ecirc;tre obtenues depuis un site FTP anonyme
+<ulink url="ftp://braee.ru.ac.za">braae.ru.ac.za</ulink></para>
+
+ <para>Il existe aussi une liste de messagerie discutant de tous les
+logiciels non-US de cryptage. Pour plus d'informations,
+envoyez un email contenant le mot "help" dans le corps du message &agrave;
+<ulink
+url="mailto:majordomo@braae.ru.ac.za">&lt;majordomo@braae.ru.ac.za&gt;</ulink></para>
+
+ </sect1>
+
+ <sect1>
+ <title>La disquette de d&eacute;marrage se bloque sur le message "Probing Devices..."</title>
+ <para> Si vous disposez d'un disque ZIP ou JAZ, retirez-le et
+recommencez. La disquette d'installation a des probl&egrave;mes avec ce genre
+de disque. Une fois le syst&egrave;me install&eacute;, vous pouvez reconnecter le
+disque. Si tout va bien ce probl&egrave;me sera fix&eacute; dans une version ult&eacute;rieure.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>J'obtiens le message "panic: cant mount root" lors du red&eacute;marrage de mon syst&egrave;me apr&egrave;s l'installation.</title>
+
+ <para>Cette erreur indique un conflit entre les blocs de
+d&eacute;marrage du syst&egrave;me et la connaissance du noyau sur les disques.
+Cette erreur arrive fr&eacute;quemment dans le cas d'un syst&egrave;me disposant de
+deux disques IDE, avec chaque disque install&eacute; en ma&icirc;tre ou p&eacute;riph&eacute;rique unique sur des
+contr&ocirc;leurs s&eacute;par&eacute;s, avec FreeBSD install&eacute; sur le contr&ocirc;leur IDE secondaire.
+Le programme de d&eacute;marrage pense que le syst&egrave;me est install&eacute; sur wd1
+(le second disque vu par le BIOS) alors que le noyau affecte wd2 au
+premier disque du deuxi&egrave;me contr&ocirc;leur. Apr&egrave;s le test de tous les
+p&eacute;riph&eacute;riques, le noyau essaye de <quote>monter</quote> ce que le programme de
+d&eacute;marrage pense &ecirc;tre le disque de d&eacute;marrage, wd1, alors qu'il s'agit
+en fait de wd2 et &eacute;choue.</para>
+
+ <para>Pour r&eacute;soudre ce probl&egrave;me, effectuez les op&eacute;rations
+suivantes&nbsp:
+<itemizedlist >
+ <listitem>
+ <para>Au message de d&eacute;marrage tapez&nbsp:
+<command>1:wd(2,a)kernel</command> puis Entr&eacute;e. Si le syst&egrave;me
+d&eacute;marre, lancez la commande <command> echo "1:wd(2,a)kernel" >
+/boot.config</command> pour affecter la bonne cha&icirc;ne de
+d&eacute;marrage.</para>
+
+ </listitem>
+ <listitem>
+ <para>D&eacute;placez le disque FreeBSD sur le controleur primaire,
+les disques sont alors vus de fa&ccedil;on contigus.</para>
+ </listitem>
+ <listitem>
+ <para><ulink url="../handbook/kernelconfig.html">Reconstruisez
+un noyau</ulink> en modifiant les lignes de configuration wd pour avoir:
+
+ <programlisting>
+controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr
+disk wd0 at wdc0 drive 0
+# disk wd1 at wdc0 drive 1 # comment out this line
+
+controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr
+disk wd1 at wdc1 drive 0 # change from wd2 to wd1
+disk wd2 at wdc1 drive 1 # change from wd3 to wd2
+
+</programlisting>
+ Puis installez le nouveau noyau. Si vous avez d&eacute;plac&eacute;
+vos disques et vous voulez restaurer la configuration pr&eacute;c&eacute;dente,
+placez les disques dans la
+configuration d&eacute;sir&eacute;e puis red&eacute;marrez. Votre syst&egrave;me doit d&eacute;marrer
+correctement.</para>
+ </listitem>
+ </itemizedlist>
+</para>
+
+ </sect1>
+ <sect1>
+ <title>Quelles sont les limites m&eacute;moire&nbsp;? </title>
+
+ <para>Pour la m&eacute;moire, la limite est (en th&eacute;orie) 4Go.
+Un essai a &eacute;t&eacute; fait avec un Go&nbsp;; vous ne pourrez probablement pas
+acheter des PC i386 pouvant supporter plus que cela.</para>
+
+ </sect1>
+ <sect1>
+
+<title>Quelles sont les tailles limites pour les syst&egrave;mes de fichiers
+FFS&nbsp;?</title>
+
+<para>La taille maximum th&eacute;orique d'un syst&egrave;me de fichiers FFS est
+de 8 t&eacute;raoctets (2G blocs) ou de 16To avec la taille de bloc par
+d&eacute;faut de 8K. Il y a en pratique une limite logicielle &agrave;
+1 t&eacute;raoctet mais, avec quelques modifications, il est possible d'avoir
+des syst&egrave;mes de fichiers de 4 t&eacute;raoctet (et il en existe).</para>
+
+<para>La taille maximum d'un fichier FFS est d'environ 1G blocs (4To), quand
+la taille de bloc est de 4K.</para>
+
+ <programlisting>
+
+
+
+ taille de fichier maximum
+ -----------------------------------------
+ 2.2.7 3.0
+taille de bloc -stable -current marche devrait marcher
+-------------- ------- -------- ------ ---------------
+4K 4T-1 4T-1 4T-1 4+T
+8K 32+G 8T-1 32+G 16T-1
+16K 128+G 16T-1 128+G 32T-1
+32K 512+G 32T-1 512+G 64T-1
+64K 2048+G 64T-1 2048+G 128T-1
+
+ </programlisting>
+
+
+
+<para>Quand la taille du bloc est de 4K, l'adressage du bloc par indirection triple
+fonctionne et la limite devrait &ecirc;tre d&eacute;finie par le plus grand
+num&eacute;ro de bloc qui peut &ecirc;tre repr&eacute;t&eacute; avec une
+indirection triple (approximativement 1K^3 + 1K^2 + 1K), mais la limite
+effective est en fait donn&eacute;e par une valeur (erron&eacute;e) de
+1G-1 pour le nombre de blocs maximum. Cette valeur devraite &ecirc;tre de 2G-1.
+Il y a des bogues avec les blocs dont le num&eacute;ro est voisin de 2G-1,
+et ces blocs ne peuvent &ecirc;tre adress&eacute;s quand la taille du bloc est
+de 4K. </para>
+
+<para>Pour les tailles de blocs de 8K et plus, tout devrait &ecirc;tre limit&eacute;
+par la valeur de 2G-1 pour les num&eacute;ros de blocs, mais l'est en fait par
+la valeur maximum de 1G-1, hormis sous -stable, les blocs adress&eacute;s par
+indirection triple ne peuvent &ecirc;tre atteints, la limite est donc
+donn&eacute;e par le plus grand num&eacute;ro de bloc qui peut &ecirc;tre
+adress&eacute; par une double indirection (approximativement
+(taille du bloc/4)^2 + (taille du bloc/4)), et d&eacute;passer cette limite
+sous -current peut poser des probl&egrave;mes. Utiliser la valeur correcte
+de 2G-1 blocs posent &agrave; coup s&ucirc;r des probl&egrave;mes.</para>
+
+ </sect1>
+ <sect1>
+ <title>Comment puis-je mettre des fichiers de 1To sur une disquette&nbsp;?</title>
+
+<para>J'en ai plusieurs&nbsp;-&nbsp;virtuels&nbsp;-&nbsp;sur disquette&nbsp;:-). La taille
+maximum d'un fichier n'a pas de lien &eacute;troit avec la dimension maximum
+d'un disque. Un disque peut avoir jusqu'&agrave; un 1To. Il est
+fonctionnellement possible d'avoir un fichier plus grand que le disque.</para>
+
+<para>L'exemple suivant cr&eacute;e un fichier de 8T-1 occupant 32K d'espace disque.
+(3 blocs indirects et 1 bloc de donn&eacute;es) sur une petite partition racine. Il
+faut pour cela une version de la commande <command>dd</command> qui fonctionne
+sur de gros fichiers.</para>
+
+ <programlisting>
+
+
+ttyv0:bde@alphplex:/tmp/q> cat foo
+df .
+dd if=/dev/zero of=z bs=1 seek=`echo 2^43 - 2 | bc` count=1
+ls -l z
+du z
+df .
+ttyv0:bde@alphplex:/tmp/q> sh foo
+Filesystem 1024-blocks Used Avail Capacity Mounted on
+/dev/sd0a 64479 27702 31619 47% /
+1+0 records in
+1+0 records out
+1 bytes transferred in 0.000187 secs (5346 bytes/sec)
+-rw-r--r-- 1 bde bin 8796093022207 Sep 7 16:04 z
+32 z
+Filesystem 1024-blocks Used Avail Capacity Mounted on
+/dev/sd0a 64479 27734 31587 47% /
+ttyv0:bde@alphplex:/tmp/q> exit
+
+ </programlisting>
+
+<para>Bruce Evans, September 1998</para>
+
+ </sect1>
+
+ </chapter>
diff --git a/fr_FR.ISO_8859-1/books/faq/kernelconfig.sgml b/fr_FR.ISO_8859-1/books/faq/kernelconfig.sgml
new file mode 100644
index 0000000000..230acdd002
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/faq/kernelconfig.sgml
@@ -0,0 +1,147 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: 1.2
+-->
+
+ <chapter id="kernelconfig">
+ <title>
+ Configuration du noyau
+ <!--<label id="kernelconfig">-->
+ </title>
+
+ <sect1>
+ <title>
+ J'aimerais personnaliser mon noyau. Est-ce difficile&nbsp;?
+ <!--<label id="make-kernel">-->
+ </title>
+
+ <para>
+ Pas du tout&nbsp;! Jetez un coup d'oeil &agrave;
+ <ulink url="../handbook/kernelconfig.html">
+ la section de la configuration du noyau du manuel de r&eacute;f&eacute;rence.
+ </ulink>
+ </para>
+
+ <para>
+ NOTE :
+ Je vous recommande de faire une sauvegarde dat&eacute;e de votre noyau dans
+ <filename>kernel.YYMMDD</filename> d&egrave;s que vous arrivez &agrave; tout faire marcher.
+ Ainsi, si jamais en jouant avec votre configuration du noyau, vous
+ m&eacute;langez tout, vous pourrez d&eacute;marrer sur ce noyau plut&ocirc;t que de repartir
+ depuis <filename>kernel.GENERIC</filename>. Ceci est particuli&egrave;rement important si vous
+ d&eacute;marrez actuellement depuis un contr&ocirc;leur qui n'est pas support&eacute; par le
+ noyau GENERIC (oui, c'est une exp&eacute;rience personelle).
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>
+ Ma compilation du noyau &eacute;choue car <filename>&amp;hw&amp;float</filename>
+ manque.
+ </title>
+
+ <para>
+ Laissez-moi deviner. Vous avez supprim&eacute;
+ <ulink url="http://www.freebsd.org/cgi/man.cgi?npx(4)">
+ npx0
+ </ulink>
+ de votre fichier de configuration du noyau car vous n'avez pas de
+ coprocesseur arithm&eacute;tique, c'est &ccedil;a ? Faux ! :-).
+ Le p&eacute;riph&eacute;rique <filename>npx0</filename> est *OBLIGATOIRE*.
+ M&ecirc;me si vous n'avez pas de coprocesseur arithm&eacute;tique, vous
+ *devez* inclure le p&eacute;riph&eacute;rique <filename>npx0</filename>.
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>
+ Conflits d'interruption avec le code multi-port s&eacute;rie.
+ </title>
+
+ <para>
+ Q.
+ Quand je compile le noyau avec du code multi-port s&eacute;rie, cela me dit
+ que seul le premier port est examin&eacute; et le reste est ignor&eacute; &agrave; cause des
+ conflits d'interruption. Comment puis-je r&eacute;soudre cela&nbsp;?
+ </para>
+
+ <para>R.
+ Le probl&egrave;me ici, est que FreeBSD a du code int&eacute;gr&eacute; pour &eacute;viter au noyau
+ de se planter &agrave; cause d'un conflit mat&eacute;riel ou logiciel. La fa&ccedil;on de
+ fixer ce probl&egrave;me est d'ignorer le r&eacute;glage des IRQ sur tous les
+ ports sauf un. Voici un exemple :
+
+ <programlisting>
+ #
+ # Multiport high-speed serial line - 16550 UARTS
+ #
+ device sio2 at isa? port 0x2a0 tty irq 5 flags 0x501 vector siointr
+ device sio3 at isa? port 0x2a8 tty flags 0x501 vector siointr
+ device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr
+ device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr
+ </programlisting>
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>
+ Comment puis-je activer le support des disques QIC-40/80&nbsp;?
+ </title>
+
+ <para>
+ Vous supprimez le commentaire de la ligne suivante du fichier g&eacute;n&eacute;rique de
+ configuration (ou ajoutez la &agrave; votre fichier de configuration), ajoutez
+ un ``<filename>flags 0x1</filename>'' &agrave; la ligne
+ <ulink url="http://www.freebsd.org/cgi/man.cgi?fdc(4)">
+ fdc
+ </ulink> et recompilez.
+
+ <programlisting>
+controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 flags 0x1 vector fdintr
+disk fd0 at fdc0 drive 0 ^^^^^^^^^
+disk fd1 at fdc0 drive 1
+#tape ft0 at fdc0 drive 2
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ </programlisting>
+ </para>
+
+ <para>
+ Puis, vous cr&eacute;ez un p&eacute;riph&eacute;rique appel&eacute;
+ <filename>/dev/ft0</filename>
+ en allant dans le r&eacute;pertoire <filename>/dev</filename> et en lan&ccedil;ant la commande
+ suivante :
+ </para>
+
+
+ <programlisting>
+ sh ./MAKEDEV ft0
+ </programlisting>
+
+ <para>
+ pour le premier p&eacute;riph&eacute;rique. <filename>ft1</filename> pour le second, et ainsi de
+ suite.
+ </para>
+
+ <para>
+ Vous aurez un p&eacute;riph&eacute;rique appel&eacute; <filename>/dev/ft0</filename>, o&ugrave; vous pourrez
+ &eacute;crire par l'interm&eacute;diaire d'un programme sp&eacute;cial appel&eacute;
+ ``<filename>ft</filename>'' - Voir la page de manuel
+ <ulink url="http://www.freebsd.org/cgi/man.cgi?ft">
+ ft
+ </ulink>
+ pour plus de d&eacute;tails.
+ </para>
+
+ <para>
+ Les versions pr&eacute;c&eacute;dentes de <filename>-current</filename> ont aussi quelques
+ probl&egrave;mes avec certaines cartouche ddfectueuses. Si vous avez
+ des probl&egrave;mes o&ugrave; <filename>ft</filename> semble aller et venir ind&eacute;finiment,
+ essayez de r&eacute;cup&eacute;rer la derni&egrave;re version de <filename>ft</filename> depuis
+ <filename>/usr/src/sbin/ft</filename> dans <filename>-current</filename> et essayez le.
+ </para>
+ </sect1>
+ </chapter>
+
diff --git a/fr_FR.ISO_8859-1/books/faq/misc.sgml b/fr_FR.ISO_8859-1/books/faq/misc.sgml
new file mode 100644
index 0000000000..31282d2eee
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/faq/misc.sgml
@@ -0,0 +1,353 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+
+ <chapter id="misc">
+ <title> Questions diverses </title>
+
+ <sect1>
+ <title> FreeBSD utilise beaucoup plus d'espace swap que Linux. pourquoi ? </title>
+
+ <para>
+Non. Vous voulez peut-&ecirc;tre dire "pourquoi mon swap semble &ecirc;tre plein ?".
+Si cela est vraiment ce que vous voulez dire, c'est en fait parce que
+mettre les choses dans le swap plut&ocirc;t que les mettre de c&ocirc;t&eacute; rend toujours
+plus facile sa r&eacute;cup&eacute;ration que si le pager devait aller chercher &agrave; travers
+tout le syst&egrave;me de fichier afin de r&eacute;cup&eacute;rer des blocs propres (non modifi&eacute;)
+d'un ex&eacute;cutable.
+ </para>
+
+ <para>
+La quantit&eacute; actuelle de pages "sales" que vous pouvez avoir dans le
+noyau en m&ecirc;me temps n'est pas r&eacute;duit, les pages propres sont d&eacute;plac&eacute;es
+si n&eacute;cessaires.
+ </para>
+
+ </sect1>
+
+ <sect1>
+ <title> Pourquoi utiliser (qu'est-ce) a.out et les formats ex&eacute;cutables ELF ? </title>
+
+
+ <para>
+Afin de comprendre pourquoi FreeBSD utilise le format
+<emphasis remap="tt">a.out</emphasis>, vous devez d'abord savoir
+quelques trucs sur les 3 formats ex&eacute;cutables courant "dominants" pour
+UNIX :
+
+ <itemizedlist>
+ <listitem>
+ <para>
+<ulink url="http://www.freebsd.org/cgi/man.cgi?a.out(5)">a.out </ulink> Le
+vieux et `classique' format des objets unix. Il utilise un court et
+compact en-t&ecirc;te avec un nombre magique au d&eacute;but, qui est souvent
+utilis&eacute; pour caract&eacute;riser le format (voir <ulink
+url="http://www.freebsd.org/cgi/man.cgi?a.out(5)" >a.out(5)</ulink>
+pour plus de d&eacute;tails). Il contient trois segments charg&eacute;s : .text,
+.data, et .bss plus une table de symboles et une table de cha&icirc;nes.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis remap="bf">COFF</emphasis> Le formats des
+objets SVR3. L'en-t&ecirc;te comprend une table de section, de telle sorte
+que vous avez plus de sections que juste .text, .data, et .bss.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis remap="bf">ELF</emphasis> Le successeur de
+<emphasis remap="tt">COFF</emphasis>, qui permet des sections
+multiples et des valeurs possibles de 32 bits et 64 bits. Un
+inconv&eacute;nient majeur : <emphasis remap="tt">ELF</emphasis> a aussi &eacute;t&eacute;
+con&ccedil;u en supposant le fait qu'il y qu'un seul ABI par architecture
+syst&egrave;me. Cette hypoth&egrave;se est assez incorrecte, et m&ecirc;me dans le monde
+SYSV (qui a au moins 2 ABIs : SVR4, Solaris, SCO) cela ne se v&eacute;rifie
+pas.
+ </para>
+
+ <para>
+FreeBSD essaye de contourner ce probl&egrave;me en
+fournissant un utilitaire pour <emphasis
+remap="em">marquer</emphasis> un ex&eacute;cutable connu <emphasis
+remap="tt">ELF</emphasis> avec des informations sur l'ABI qui va avec.
+Regardez la page de manuel pour <ulink
+url="http://www.freebsd.org/cgi/man.cgi?brandelf" >brandelf</ulink>
+pour plus d'informations.
+ </para>
+ </listitem>
+ </itemizedlist>
+</para>
+
+ <para>
+FreeBSD vient du camp "classique" et utilise traditionnellement le
+format
+<ulink url="http://www.freebsd.org/cgi/man.cgi?a.out(5)" >a.out</ulink>,
+une technologie esssay&eacute;e et &eacute;prouv&eacute;e &agrave; travers des g&eacute;n&eacute;rations de
+releases BSD. Bien qu'il a aussi &eacute;t&eacute; quelques fois possible de
+construire et de lancer des binaires natifs <emphasis remap="tt">ELF</emphasis> (et noyau)
+sur un syst&egrave;me FreeBSD, FreeBSD a initiallement r&eacute;sist&eacute; &agrave; la "pression"
+de passer &agrave; <emphasis remap="tt">ELF</emphasis> comme format par d&eacute;faut.
+Pourquoi ? Bien, quand le camp Linux ont fait leur difficile
+transition vers <emphasis remap="tt">ELF</emphasis>,
+il ne suffisait pas de fuir le format ex&eacute;cutable
+<emphasis remap="tt">a.out</emphasis>.
+mais leur m&eacute;canisme de librairies partag&eacute;es
+bas&eacute; sur des table de sauts inflexible ce
+qui rendait la
+construction de librairies partag&eacute;es difficiles pour les
+vendeurs et d&eacute;veloppeurs.
+<!--
+it was not so much to flee the a.out executable
+format as it was their inflexible jump-table based shared library mechanism,
+which made the construction of shared libraries very difficult for vendors and
+developers alike
+-->
+Depuis
+comme les outils <emphasis remap="tt">ELF</emphasis> offrent une solution
+au probl&egrave;me des librairies partag&eacute;es et semblent
+en g&eacute;n&eacute;ral per&ccedil;us comme "la voie du progr&egrave;s" de
+toute fa&ccedil;on, le co&ucirc;t de migration a &eacute;t&eacute;
+entendu comme n&eacute;cessaire, et la transition a
+&eacute;t&eacute; r&eacute;alis&eacute;e.
+
+ </para>
+
+ <para>
+Dans le cas FreeBSD, notre m&eacute;canisme de librairie partag&eacute;e se rapproche
+plus des style de m&eacute;canisme de librairie partag&eacute;e des
+<emphasis remap="tt">SunOS</emphasis> de Sun, et de la sorte, est tr&egrave;s simple &agrave; utiliser.
+Quoiqu'il en soit, &agrave; partir de 3.0, FreeBSD supportera officiellement
+les binaires <emphasis remap="tt">ELF</emphasis> comme format par d&eacute;faut. M&ecirc;me si les
+formats ex&eacute;cutables <emphasis remap="tt">a.out</emphasis> nous ont beaucoup servis, les gens du GNU
+auteurs des outils de compilation que nous utilisons ont arr&ecirc;t&eacute; leur
+supports pour le format <emphasis remap="tt">a.out</emphasis>.
+Cela nous a forc&eacute; &agrave; maintenir des versions divergentes du compilateur et
+de l'&eacute;diteur de liens, et nous a emp&ecirc;ch&eacute; de b&eacute;n&eacute;ficier des
+derniers efforts du d&eacute;veloppement GNU. Et puis, les demandes de
+ISO-C++, notemment pour les constructeurs et les destructeurs,
+nous ont aussi conduit &agrave; supporter de l'
+<emphasis remap="tt">ELF</emphasis> natif pour les futures release de FreeBSD.</para>
+ </sect1>
+
+ <sect1>
+ <title> Pourquoi chmod ne veulent pas changer les permissions sur les liens symboliques ? </title>
+
+
+ <para>
+Vous devez utiliser soit ``<emphasis remap="tt">-H</emphasis>'' ou
+``<emphasis remap="tt">-L</emphasis>'' ensemble avec
+l'option ``<emphasis remap="tt">-R</emphasis>'' pour que cela marche.
+Regardez les pages de manuels de
+<ulink url="http://www.freebsd.org/cgi/man.cgi?chmod" >chmod</ulink> et
+<ulink url="http://www.freebsd.org/cgi/man.cgi?symlink" >symlink</ulink>.
+ </para>
+
+ <para>
+<emphasis remap="bf">ATTENTION</emphasis> l'option
+``<emphasis remap="tt">-R</emphasis>'' fait un chmod
+<emphasis remap="bf">RECURSIF</emphasis>
+<emphasis remap="tt">chmod</emphasis>. Faites attention en sp&eacute;cifiant
+le r&eacute;pertoire
+ou les liens symboliques vers les repertoires o&ugrave; vous lancerez
+<emphasis remap="tt">chmod</emphasis>. Si vous voulez changer les permissions
+d'un r&eacute;pertoire r&eacute;f&eacute;renc&eacute; par un symlink, utiliser
+<ulink url="http://www.freebsd.org/cgi/man.cgi?chmod" >chmod</ulink>
+sans aucune option et suivre le lien symbolique avec un slash final
+(``<emphasis remap="tt">/</emphasis>''). Par exemple, si
+``<emphasis remap="tt">foo</emphasis>'' est un lien
+symbolique vers le r&eacute;pertoire ``<emphasis remap="tt">bar</emphasis>'',
+et que vous voulez changer les
+permissions de ``<emphasis remap="tt">foo</emphasis>''
+(actuellement ``<emphasis remap="tt">bar</emphasis>''),
+vous devrez sans doute faire quelque chose comme :
+ <programlisting>
+chmod 555 foo/
+ </programlisting>
+
+ </para>
+
+ <para>
+Avec un slash final,
+<ulink url="http://www.freebsd.org/cgi/man.cgi?chmod" >chmod</ulink>
+suivra le lien symbolique, ``<emphasis remap="tt">foo</emphasis>'', pour changer les droits sur
+le r&eacute;pertoire ``<emphasis remap="tt">bar</emphasis>''.</para>
+
+ </sect1>
+
+ <sect1>
+ <title> Pourquoi les noms de logins sont <emphasis remap="bf">encore</emphasis> restreints &agrave; 8 caract&egrave;res ? </title>
+
+
+ <para>
+Vous pouvez penser qu'il est assez simple de changer
+<emphasis remap="bf">UT_NAMESIZE</emphasis>
+et de reconstruire tout le monde, et que tout marcherait.
+Malheureusement, il y a souvent une escouade d'applications et
+d'utilitaires (y compris les outils syst&egrave;mes) qui ont cod&eacute; en dur les
+petits nombres (pas toujours "8" ou "9", mais d'autres plus &eacute;tranges
+comme "15" ou "20") dans les structures et les buffers. Non seulement cela
+vous donnera des fichiers logs qui seront alt&eacute;r&eacute;s (&agrave; cause des longueurs
+des variables enregistr&eacute;s l&agrave; o&ugrave; des enregistrement de taille fix&eacute;es sont
+attendus), mais cela peut planter les clients NIS de Sun, et
+potentiellement causer d'autres probl&egrave;mes lors de l'interaction avec
+d'autres syst&egrave;mes UNIX.
+ </para>
+
+ <para>
+Dans FreeBSD 3.0 et plus, la longueur maximale des noms a &eacute;t&eacute;
+augment&eacute;e &agrave;
+16 caract&egrave;res et tous ces divers utilitaires avec des tailles de noms cod&eacute;s
+en dur ont &eacute;t&eacute; trouv&eacute;s et corrig&eacute;s. Le fait que cela touche tant de
+domaines du syst&egrave;me explique en fait pourquoi le changement n'a pas &eacute;t&eacute;
+fait avant la 3.0.
+ </para>
+
+
+ <para>
+Si vous &ecirc;tes absolument confiant dans votre habilet&eacute; &agrave; trouver et &agrave;
+corriger ces sortes de probl&egrave;mes par vous-m&ecirc;me quand ils arrivent, vous
+pouvez augmenter la taille des noms de login dans les releases
+pr&eacute;c&eacute;dentes en &eacute;ditant
+/usr/include/utmp.h et en changeant en fonction de la taille que vous
+voulez donner, la variable UT_NAMESIZE. Vous devez aussi mettre &agrave; jour la
+variable MAXLOGNAME dans /usr/include/sys/param.h pour correspondre au
+changement de UT_NAMESIZE. Au final, si vous construisez depuis les
+sources, n'oubliez pas que /usr/include est mis &agrave; jour &agrave; chaque fois !
+Changer les fichiers appropri&eacute;s dans /usr/src/... &agrave; la place.
+ </para>
+
+ </sect1>
+
+ <sect1>
+ <title>Puis-je lancer des binaires DOS sous FreeBSD?</title>
+
+
+ <para>
+Oui, &agrave; partir de la version 3.0, vous pouvez utiliser
+<emphasis remap="tt">rundos</emphasis> l'&eacute;mulateur DOS de BSDI,
+qui a &eacute;t&eacute; int&eacute;gr&eacute; et perfectionn&eacute;.
+Envoyez un courrier &eacute;lectronique &agrave;
+<ulink url="mailto:freebsd-emulation@freebsd.org"> la liste de discussion sur les &eacute;mulations de FreeBSD</ulink>
+si cela vous interesse de vous joindre &agrave; cet effort en progression.
+
+ </para>
+
+ <para>
+Pour les syst&egrave;mes pre-3.0, il y a un bel utiltaire appel&eacute;
+<ulink url="http://www.freebsd.org/cgi/ports.cgi?^pcemu" >pcemu</ulink>
+dans la collection de pports, qui &eacute;mule un 8088 et assez de services
+BIOS pour pouvoir lancer des applications DOS en mode texte. Cela requiert
+le syst&egrave;me X Windows (fourni comme XFree86).</para>
+ </sect1>
+
+ <sect1>
+ <title> Qu'est ce ``<emphasis remap="tt">sup</emphasis>'', et comment l'utilise je ? </title>
+
+
+ <para>
+<ulink url="http://www.freebsd.org/cgi/ports.cgi?^sup" >SUP</ulink>
+veut dire Software Update Protocol, et a &eacute;t&eacute; d&eacute;velopp&eacute; par CMU
+pour pouvoir synchroniser leurs arbres de d&eacute;veloppement. Nous l'utilisons
+pour garder les sites distants en synchronisation avec nos sources
+centraux de d&eacute;veloppement
+ </para>
+
+ <para>
+SUP n'est pas tr&egrave;s ami avec la bande passante et a &eacute;t&eacute; retir&eacute;. La m&eacute;thode
+actuelle recommand&eacute; pour pouvoir garder vos sources &agrave; jour est
+<ulink url="../handbook/synching.html" >Handbook entry on CVSup</ulink></para>
+
+ </sect1>
+
+ <sect1>
+ <title>Jusqu'&agrave; quel point FreeBSD est-il cool ?</title>
+
+
+ <para>
+ <!-- ca faut que je retraduise ce bout... -->
+Q. Quelqu'un a-t-il d&eacute;j&agrave; fait des tests de temp&eacute;rature de FreeBSD ?
+Je sais que Linux tourne moins chaudement que DOS, mais je n'ai jamais
+vu aucune mention sur FreeBSD. Ca semble tourner vraiment tr&egrave;s
+chaudement.
+
+ </para>
+
+ <para>
+A. Non, mais nous avons effectu&eacute; de nombreux tests gustatifs sur des
+volontaires ayant les yeux band&eacute;s et aussi 250 microgrammes de
+LSD-25 administr&eacute; pr&eacute;alablement. 35%des volontaires ont dit
+que FreeBSD avait un go&ucirc;t d'orange, alors que Linux avait un go&ucirc;t
+de purple haze. Aucun des groupes n'a mentionn&eacute; une variance de
+temp&eacute;rature particuli&egrave;re (si je me souviens bien).
+Nous avons de toute fa&ccedil;on d&ucirc; jeter tous les r&eacute;sultats quand
+nous nous sommes aper&ccedil;u que de nombreux volontaires s'&eacute;taient
+promen&eacute; en dehors de la salle durant les tests, faussant ainsi les
+r&eacute;sultats. Je pense que la plupart des volontaires sont &agrave;
+pr&eacute;sent chez Apple, travaillant pour leur nouveau GUI 'scratch and
+sniff'. C'est un dr&ocirc;le de monde dans lequel nous vivons !
+
+ </para>
+
+ <para>
+S&eacute;rieusement, FreeBSD et Linux utilisent tous les deux l'instruction
+``<emphasis remap="tt">HLT</emphasis>'' (halt) quand le syst&egrave;me est idle de telle sorte &agrave; baisser
+leur consommation d'&eacute;nergie et donc la chaleur que cela g&eacute;n&egrave;re. Et aussi,
+si vous avez APM (automatic power management) configur&eacute;, alors FreeBSD
+peut aussi mettre le CPU dans un mode basse &eacute;nergie.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Qui est-ce qui fait gr&eacute;siller mes banques m&eacute;moires ?</title>
+
+
+ <para>
+Q. Y a t il quelque chose d'"&eacute;trange" que fait FreeBSD quand il compile le
+noyau qui pourrait faire que la m&eacute;moire fasse un gr&eacute;sillement ?
+Quand &ccedil;a compile (et pour un bref moment apr&egrave;s avoir reconnu le lecteur de
+disquette au d&eacute;marrage), un &eacute;trange gr&eacute;sillement &eacute;mane dpuis ce qui semble
+&ecirc;tre les banques m&eacute;moire.
+ </para>
+
+ <para>
+A. Oui! Vous verrez des fr&eacute;quentes r&eacute;f&eacute;rences aux "d&eacute;mons" dans la
+documentation BSD, et ce que les gens ne savent pas, c'est que cela se
+r&eacute;f&egrave;re aux entit&eacute;s non-corporelle qui poss&egrave;de &agrave; pr&eacute;sent votre ordinateur.
+Le gr&eacute;sillement venant de la m&eacute;moire est en fait le murmure &eacute;chang&eacute; entre
+les d&eacute;mons lorsqu'ils d&eacute;battent sur les diff&eacute;rentes t&acirc;ches de
+l'administration syst&egrave;me.
+ </para>
+
+ <para>
+Si le bruit vous parvient, un bon ``<emphasis remap="tt">fdisk /mbr</emphasis>''
+depuis le DOS vous en d&eacute;barassera, mais ne soyez pas surpris s'il
+r&eacute;agissent et qu'ils essayent de vous contrer. De plus, si jamais &agrave; un
+moment de l'op&eacute;ration, vous entendez la voix satanique de Bill Gates
+vous parvenant du haut-parleur interne, continuez, et ne regardez jamais
+en arri&egrave;re !
+D&eacute;livr&eacute; de l'influence contre-balan&ccedil;ante des d&eacute;mons BSD, les d&eacute;mons
+jumeaux de DOS et Windows pourront alors prendre le contr&ocirc;le totale de
+votre machine jusqu'&agrave; la damnation &eacute;ternelle de votre &acirc;me.
+
+S'il fallait choisir, je pense que je pr&eacute;f&egrave;rerais m'habituer au
+gr&eacute;sillement !</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Que veut dire 'MFC' ?</title>
+
+ <para>
+MFC est un acronyme pour 'Merged From -CURRENT.' C'est utilis&eacute;s dans
+les logs CVS pour noter quand un changement a migr&eacute; depuis un
+CURRENT vers une branche STABLE
+ </para>
+ </sect1>
+ </chapter>
+
diff --git a/fr_FR.ISO_8859-1/books/faq/network.sgml b/fr_FR.ISO_8859-1/books/faq/network.sgml
new file mode 100644
index 0000000000..67645d9612
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/faq/network.sgml
@@ -0,0 +1,1588 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+
+ <chapter id="network">
+ <title>R&eacute;seaux</title>
+
+ <sect1>
+ <title>O&ugrave; puis-je trouver des informations sur le ``boot sans disque''? </title>
+
+
+ <para>
+Le ``boot sans disque'' veut dire que la machine sous FreeBSD est boot&eacute;e depuis le
+r&eacute;seau, et lit les fichiers n&eacute;cessaires depuis un serveur et non depuis
+son disque dur. Pour plus de d&eacute;tails, lisez <ulink url="../handbook/diskless.html"> la section du Handbook sur le Diskless booting </ulink>
+ </para>
+
+ </sect1>
+
+ <sect1>
+ <title> Une machine sous FreeBSD peut-elle &ecirc;tre utilis&eacute;e comme routeur d&eacute;di&eacute; ? </title>
+
+
+ <para>
+Les standards de l'Internet et de bonnes pratiques techniques nous
+interdisent de faire par d&eacute;faut du routage de paquets avec
+FreeBSD. Mais vous pouvez n&eacute;amoins activer cette fonctionnalit&eacute; en
+changeant la variable suivante &agrave; <emphasis remap="tt">YES</emphasis>
+dans <ulink url="http://www.freebsd.org/cgi/man.cgi?rc.conf"> rc.conf</ulink>:
+ <programlisting>
+gateway_enable=YES # L'hote agira comme routeur s'il est positionne a YES
+ </programlisting>
+
+ </para>
+
+ <para>
+Cette option mettra la variable <ulink url="http://www.freebsd.org/cgi/man.cgi?sysctl">sysctl</ulink>
+<emphasis remap="tt">net.inet.ip.forwarding</emphasis> &agrave; <emphasis remap="tt">1</emphasis>.
+
+ </para>
+
+ <para>
+Dans la plupart des cas, vous aurez aussi &agrave; lancer un processus de routage
+afin de renseigner les autres syst&egrave;mes sur votre routeur.
+FreeBSD est fourni avec le d&eacute;mon de routage standard BSD
+<ulink url="http://www.freebsd.org/cgi/man.cgi?routed" >routed</ulink>,
+ou pour des situations plus complexes, vous pouvez essayer <emphasis remap="em">GaTeD</emphasis> (disponible par FTP depuis <emphasis remap="tt">ftp.gated.Merit.EDU) </emphasis>
+qui supporte FreeBSD depuis 3_5Alpha7.
+
+ </para>
+
+ <para>
+Nous nous devons de vous pr&eacute;venir que lorsque FreeBSD est
+configur&eacute; de cette mani&egrave;re, il ne correspond pas tout &agrave; fait
+aux requis standards de l'Internet sur les routeurs. N&eacute;amoins,
+il s'en rapproche asez pour un usage ordinaire.
+
+ </para>
+ </sect1>
+
+ <sect1>
+ <title> Puis-je connecter ma machine sous Win95 &agrave; l'Internet via FreeBSD ? </title>
+
+
+ <para>
+Typiquement, les gens qui posent cette questions sont ceux qui ont 2 PC
+&agrave; la maison, un avec FreeBSD et un avec Win95. L'id&eacute;e est d'utiliser
+la machine sous FreeBSD pour se connecter &agrave; l'Internet et puis
+pouvoir ensuite acc&eacute;der &agrave; l'Internet depuis la machine sous Windows 95
+via la machine sous FreeBSD.
+Ce n'est en r&eacute;alit&eacute; qu'un cas particulier de la question pr&eacute;c&eacute;dente.
+ </para>
+
+ <para>
+Il y a un document tr&egrave;s pratique qui explique comment configurer
+FreeBSD comme <ulink url="http://www.ssimicro.com/~jeremyc/ppp.html" >routeur par connexion PPP</ulink>
+
+ </para>
+
+ <para>
+<emphasis remap="bf">NOTE:</emphasis>
+Cela requiert que vous ayez au moins deux adresses IP fixes, et
+probablement 3 ou plus, cela d&eacute;pend du travail que vous voulez effectuer
+pour pouvoir mettre en place la machine sous Windows.
+Comme alternative, si vous n'avez pas d'adresse IP fixe, vous pouvez
+utiliser une des adresses IP priv&eacute;s et installer des <emphasis remap="bf">proxies</emphasis>
+comme
+<ulink url="http://squid.nlanr.net/Squid/">SQUID</ulink> et
+<ulink url="http://www.tis.com/">le TIS firewall toolkit</ulink>
+sur la machine sous FreeBSD.
+
+ </para>
+
+ <para>
+Voir aussi la section sur
+<ulink url="http://www.freebsd.org/cgi/man.cgi?natd"> natd </ulink>.
+ </para>
+
+ </sect1>
+
+ <sect1>
+ <title> Pourquoi la recompilation du dernier BIND de ISC &eacute;choue-t-elle ? </title>
+
+
+ <para>
+Il y a un conflit entre le fichier ``<emphasis remap="tt">cdefs.h</emphasis>''
+de la distribution et celui fourni par FreeBSD.
+Vous n'avez qu'&agrave; enlever
+<emphasis remap="tt">compat/include/sys/cdefs.h</emphasis>.
+
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>FreeBSD supporte-t-il SLIP et PPP?</title>
+
+ <para>
+Oui, regardez les pages de manuel
+<ulink url="http://www.freebsd.org/cgi/man.cgi?slattach" >slattach</ulink>,
+<ulink url="http://www.freebsd.org/cgi/man.cgi?sliplogin">sliplogin</ulink>,
+<ulink url="http://www.freebsd.org/cgi/man.cgi?pppd">pppd</ulink> et
+<ulink url="http://www.freebsd.org/cgi/man.cgi?ppp">ppp</ulink>.
+<emphasis remap="tt">pppd</emphasis> et <emphasis remap="tt">ppp</emphasis>
+permettent les connexions entrantes et sortantes
+<ulink url="http://www.freebsd.org/cgi/man.cgi?sliplogin" >Sliplogin</ulink> ne peut s'utiliser qu'avec des connexions entrantes
+et
+<ulink url="http://www.freebsd.org/cgi/man.cgi?slattach" >slattach</ulink> qu'avec des connexions sortantes.
+
+ </para>
+
+ <para>
+Ces programmes sont d&eacute;crits dans les sections suivantes du
+<ulink url="../handbook/index.html">handbook</ulink>:
+ <itemizedlist>
+ <listitem>
+ <para>
+<ulink url="../handbook/slips.html" >r&eacute;f&eacute;rence du handbook sur SLIP (c&ocirc;t&eacute; serveur)</ulink>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+<ulink url="../handbook/slipc.html" >r&eacute;f&eacute;rence du handbook sur SLIP (c&ocirc;t&eacute; client)</ulink>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+<ulink url="../handbook/ppp.html" >r&eacute;f&eacute;rence du handbook sur PPP (mode noyau)</ulink>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+<ulink url="../handbook/ppp-and-slip.html#USERPPP" >r&eacute;f&eacute;rence du handbook sur PPP (mode utilisateur)</ulink>
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ </para>
+
+ <para>
+Si vous avez acc&egrave;s &agrave; l'Internet &agrave; travers un "compte shell"
+vous pouvez jeter un coup d'oeil au paquetage
+<ulink url="http://www.freebsd.org/cgi/ports.cgi?^slirp">slirp</ulink>.
+
+Il peut vous fournir un acc&egrave;s (limit&eacute;) aux services tels que ftp
+et http directement depuis votre machine locale.
+
+ </para>
+ </sect1>
+
+ <sect1>
+ <title> Est-ce que FreeBSD supporte NAT ou le Masquerading </title>
+
+ <para>
+Si vous avez un sous-r&eacute;seau local (une ou plusieur machines), mais qu'une
+seule adresse IP vous a &eacute;t&eacute; allou&eacute;e (m&ecirc;me si ce n'est qu'une adresse IP
+dynamique), vous pouvez regarder le programme
+<ulink url="http://www.freebsd.org/cgi/man.cgi?natd">natd</ulink>
+. <emphasis remap="tt">Natd</emphasis> vous permet de connecter un sous-r&eacute;seau entier
+&agrave; l'Internet en n'utilisant qu'une seule adresse IP.
+
+ </para>
+
+ <para>
+Le programme <ulink url="http://www.freebsd.org/cgi/man.cgi?ppp" >ppp</ulink> a des fonctionnalit&eacute; similaires construit par l'interm&eacute;diaire
+de l'option <emphasis remap="tt">-alias</emphasis> switch.
+La
+<ulink url="http://www.freebsd.org/cgi/man.cgi?libalias">biblioth&egrave;que alias</ulink>
+est utilis&eacute;e dans les deux cas.
+
+ </para>
+ </sect1>
+
+ <sect1>
+ <title> Je n'arrive pas &agrave; faire marcher ppp. O&ugrave; me suis-je tromp&eacute; ? </title>
+
+ <para>
+Vous devriez tout d'abord lire la page de manuel
+<ulink url="http://www.freebsd.org/cgi/man.cgi?ppp">ppp</ulink> et
+<ulink url="../handbook/ppp-and-slip.html#USERPPP" >la section du handbook sur ppp</ulink>.
+Activer le logging avec la commande
+
+ <programlisting>
+set log Phase Chat Connect Carrier lcp ipcp ccp command
+ </programlisting>
+
+ </para>
+
+ <para>
+Cette commande peut-&ecirc;tre tap&eacute;e &agrave; l'invite de commande de <emphasis remap="bf">ppp</emphasis>
+ou peut-&ecirc;tre entr&eacute;e dans le fichier de configuration
+<emphasis remap="tt">/etc/ppp/ppp.conf</emphasis>.
+(le d&eacute;but de la section par d&eacute;faut <emphasis remap="bf">default</emphasis>
+est l'endroit id&eacute;al pour le mettre).
+
+Assurez vous que le fichier <ulink url="http://www.freebsd.org/cgi/man.cgi?syslog.conf"
+>/etc/syslog.conf</ulink> contienne les lignes
+
+ <programlisting>
+!ppp
+*.* /var/log/ppp.log
+ </programlisting>
+
+ </para>
+
+ <para>
+et que le fichier <emphasis remap="tt">/var/log/ppp.log</emphasis> existe.
+Vous pouvez aussi tirer pas mal de renseignements sur ce qui se passe en
+lisant les fichiers log.
+Ne vous inqui&eacute;tez pas m&ecirc;me si cela vous semble d&eacute;nu&eacute; de sens, si vous obtenez
+de l'aide de quelqu'un, pour lui, cela aura un sens.
+ </para>
+
+ <para>
+Si votre version de ppp ne comprend pas la commande "set log"
+vous devriez charger la
+<ulink url="http://www.freebsd.org/~brian">derni&egrave;re version</ulink>.
+Il pourrra se construire sur FreeBSD version 2.1.5 et plus.
+
+ </para>
+ <sect2>
+ <title>Ppp se bloque quand je le lance</title>
+ <para>
+Cela est usuellement d&ucirc; au fait que votre nom d'h&ocirc;te ne peut &ecirc;tre r&eacute;solu. La meilleure solution pour r&eacute;soudre ce probl&egrave;me est de s'assurer que votre
+<emphasis remap="tt">/etc/hosts</emphasis> est consult&eacute; en
+premier par votre r&eacute;solveur en &eacute;ditant
+<emphasis remap="tt">/etc/host.conf</emphasis> et en mettant la ligne
+<emphasis remap="tt">hosts</emphasis> en premier.
+Puis, ajoutez simplement une entr&eacute;e pour votre machine locale
+dans <emphasis remap="tt">/etc/hosts</emphasis>.
+Si vous n'avez pas de r&eacute;seau local, changez simplement votre
+ligne <emphasis remap="tt">localhost</emphasis> :</para>
+ <programlisting>
+127.0.0.1 foo.bar.com foo localhost
+ </programlisting><para>
+Sinon, ajoutez simplement une autre entr&eacute;e pour votre h&ocirc;te. Consultez les pages de manuels appropri&eacute;es pour plus de d&eacute;tails.
+Vous devrez &ecirc;tre alors capable de r&eacute;ussir &agrave; faire un
+<emphasis remap="tt">ping -c1 `hostname`</emphasis> quand vous aurez fini.
+
+ </para>
+ </sect2>
+ <sect2>
+ <title>Ppp ne veut pas communiquer en mode -auto</title>
+ <para>
+Tout d'abord, v&eacute;rifiez que vous avez bien un routage par d&eacute;faut
+en lan&ccedil;ant <ulink url="http://www.freebsd.org/cgi/man.cgi?netstat"> netstat -rn</ulink>, vous devriez voir deux entr&eacute;es comme suivent :
+
+ <programlisting>
+Destination Gateway Flags Refs Use Netif Expire
+default 10.0.0.2 UGSc 0 0 tun0
+10.0.0.2 10.0.0.1 UH 0 0 tun0
+ </programlisting>
+
+ </para>
+
+ <para>
+ici, on supposera que vous avez utilis&eacute;s les adresses donn&eacute;es en exemple
+dans le handbook, les pages man ou depuis le fichier
+ppp.conf.sample.
+Si vous n'avez pas de routage par d&eacute;faut, c'est peut-&ecirc;tre parce que vous
+utilisez une vieille version de <ulink url="http://www.freebsd.org/cgi/man.cgi?ppp" >ppp</ulink> qui ne comprend pas le mot
+<emphasis remap="tt">HISADDR</emphasis> dans le fichier ppp.conf.
+Si votre version de
+<emphasis remap="bf">ppp</emphasis> est ant&eacute;rieure &agrave; FreeBSD 2.2.5,
+changer la ligne
+
+ <programlisting>
+add 0 0 HISADDR
+ </programlisting>
+
+ </para>
+
+ <para>
+par celle-ci :
+
+ <programlisting>
+add 0 0 10.0.0.2
+ </programlisting>
+
+ </para>
+
+ <para>
+Une autre raison au fait que la ligne du routage par d&eacute;faut soit
+manquant est que vous avez pu r&eacute;gl&eacute; un routage par d&eacute;faut erron&eacute; dans
+le fichier <ulink url="http://www.freebsd.org/cgi/man.cgi?rc.conf" >/etc/rc.conf</ulink> (ce fichier est appel&eacute;
+<emphasis remap="tt">/etc/sysconfig</emphasis> avant la release 2.2.2), et que vous avez
+oubli&eacute; la ligne suivante :
+ <programlisting>
+delete ALL
+ </programlisting>
+
+ </para>
+
+ <para>
+from <emphasis remap="tt">ppp.conf</emphasis>. Si cela est le cas, revenez &agrave; la section du
+handbook sur
+<ulink url="../handbook/ppp-and-slip.html" >la configuration finale du syst&egrave;me</ulink> section of the handbook.
+
+ </para>
+ </sect2>
+ <sect2>
+ <title> Que veut dire "No route to host" ? </title>
+
+ <para>
+Cette erreur est usuellement d&ucirc;e &agrave; une omission de la section
+ <programlisting>
+MYADDR:
+delete ALL
+add 0 0 HISADDR
+ </programlisting>
+
+ </para>
+
+ <para>
+dans votre fichier <emphasis remap="tt">/etc/ppp/ppp.linkup</emphasis>.
+Cela est seulement n&eacute;cessaire si vous avez une adresse IP dynamique ou que
+vous ne savez pas l'adresse de votre routeur. Si vous utilisez le mode
+interactif, vous pouvez taper les lignes suivantes apr&egrave;s &ecirc;tre entr&eacute;
+en <emphasis remap="tt">mode paquet</emphasis> (le mode paquet est indiqu&eacute; par le
+<emphasis remap="bf">PPP</emphasis> en majuscule &agrave; l'invite):
+
+ <programlisting>
+delete ALL
+add 0 0 HISADDR
+ </programlisting>
+
+ </para>
+
+ <para>
+Se r&eacute;f&eacute;rer &agrave; la section du handbook sur
+<ulink url="../handbook/ppp-and-slip.html"> PPP et les adresses IP dynamiques </ulink>pour plus de d&eacute;tails.
+
+ </para>
+ </sect2>
+ </sect1>
+
+ <sect1>
+ <title>Ma connection se termine au bout de 3 minutes</title>
+ <para>
+La limite de temps (timeout) par d&eacute;faut de ppp est de 3 minutes. Cela peut-&ecirc;tre
+ajust&eacute; avec les lignes :
+
+ <programlisting>
+set timeout NNN
+ </programlisting>
+
+ </para>
+
+ <para>
+o&ugrave; <emphasis remap="bf">NNN</emphasis> est le nombre de secondes d'inactivit&eacute; avant que la connexion ne
+soit ferm&eacute;e.
+Si <emphasis remap="bf">NNN</emphasis> est &eacute;gal &agrave; zero, la connexion ne sera jamais ferm&eacute;e pour cause
+de limite de temps &eacute;coul&eacute;e.
+
+Il est possible de mettre cette commande dans le fichier
+<emphasis remap="tt">ppp.conf</emphasis>, ou de le taper &agrave; l'invite en mode interactif.
+Il est &eacute;galement possible de l'ajuster au vol alors que la ligne est
+active, en se connectant &agrave; la socket du serveur <emphasis remap="bf">ppp</emphasis>
+en utilisant
+<ulink url="http://www.freebsd.org/cgi/man.cgi?telnet">telnet</ulink> ou
+<ulink url="http://www.freebsd.org/cgi/man.cgi?pppctl" >pppctl</ulink>.
+Se r&eacute;ferer &agrave; la page de manuel de
+<ulink url="http://www.freebsd.org/cgi/man.cgi?ppp">ppp</ulink>
+pour plus de d&eacute;tails.
+
+ </para>
+ <sect2>
+ <title>Ma connexion se termine lors de gros chargements.</title>
+
+ <para>
+Si vous avez configur&eacute; le report de la qualit&eacute; de connexion (Link Quality Reporting (LQR)),
+il est possible ce soit parce que que trop de paquets LQR sont perdus entre la machine
+et son interlocuteur. PPP en d&eacute;duit que la ligne doit &ecirc;tre trop
+mauvaise, et se d&eacute;connecte. Avant la version 2.2.5 de FreeBSD,
+LQR &eacute;tait activ&eacute;e par d&eacute;faut.
+Il est maintenant d&eacute;sactiv&eacute; par d&eacute;faut.
+LQR peut-&ecirc;tre d&eacute;sactiv&eacute; avec la ligne suivante :
+
+ <programlisting>
+disable lqr
+ </programlisting>
+
+ </para>
+ </sect2>
+ <sect2>
+ <title> Ma connexion se termine apr&egrave;s un certain temps al&eacute;atoire. </title>
+
+ <para>
+Parfois, sur une ligne de t&eacute;l&eacute;phone avec des parasites, ou m&ecirc;me
+sur une ligne avec des attentes d'appels activ&eacute;es, le modem peut se
+suspendre parce qu'il pense (de mani&egrave;re erron&eacute;e) qu'il y a une perte du
+support de connexion (lost carrier)
+
+ </para>
+
+ <para>
+Il y a un r&eacute;glage sur la plupart des modems qui d&eacute;terminent le degr&eacute; de
+tol&eacute;rance sur la perte temporaire de la ligne porteuse. Sur un
+USR Sportster par exemple, cela est mesur&eacute; par le registre S10 en
+dixi&egrave;me de secondes. Pour rendre votre modem plus tol&eacute;rant, vous
+pouvez ajouter la s&eacute;quence envoi-attente suivante &agrave; votre cha&icirc;ne de
+connexion :
+
+ <programlisting>
+set dial "...... ATS10=10 OK ......"
+ </programlisting>
+
+ </para>
+
+ <para>
+Se r&eacute;f&eacute;rer &agrave; votre manuel du modem pour plus de d&eacute;tails.
+
+ </para></sect2>
+
+ <sect2>
+ <title> Rien ne se passe apr&egrave;s le message Login Ok! </title>
+
+ <para>
+Avant la version 2.2.5 de FreeBSD, une fois la ligne &eacute;tablie,
+<ulink url="http://www.freebsd.org/cgi/man.cgi?ppp" >ppp</ulink> devait attendre que ce soit l'autre parti (peer)
+qui initialise le protocole de
+contr&ocirc;le de ligne (Line Control Protocol (LCP).
+Or, plusieurs ISPs ne d&eacute;buteront pas la n&eacute;gociation et attendront du client
+qu'il le fasse. Pour forcer <emphasis remap="bf">ppp</emphasis>
+&agrave; initialiser le LCP, utiliser la ligne suivante :
+
+ <programlisting>
+set openmode active
+ </programlisting>
+
+ </para>
+
+ <para>
+<emphasis remap="bf">Note</emphasis>:
+Cela ne fait pas de d&eacute;gats si chacun des deux parties initialisent tous les deux
+la connexion, c'est pourquoi openmode est &agrave; pr&eacute;sent activ&eacute; par d&eacute;faut.
+Quoiqu'il en soit, la prochaine section expliquera quand est-ce ce que
+cela peut g&ecirc;ner.
+
+ </para></sect2>
+
+ <sect2>
+ <title> Je n'arr&ecirc;te pas de voir des erreurs &agrave; propos de magic being the same </title>
+
+ <para>
+De temps en temps, juste apr&egrave;s la connexion, vous pouvez voir des
+messages dans le log qui dit "magic is the same".
+Parfois ces messages sont sans cons&eacute;quences, et parfois l'un ou l'autre des
+partis quitte.
+La plupart des impl&eacute;mentations ppp ne peuvent survivre &agrave; ce probl&egrave;me, et
+m&ecirc;me si la ligne semble venir, vous verrez r&eacute;guli&egrave;rement des demandes de
+configuration et des accus&eacute;s de r&eacute;ception de configuration dans le
+fichier log &agrave; moins que ppp abandonne et ne ferme la connexion.
+ </para>
+
+ <para>
+Cela appara&icirc;t normallement sur les machines serveurs avec des disques
+lents qui diffusent un getty sur le port, et qui ex&eacute;cute ppp depuis un
+script ou programme de login apr&egrave;s le login.
+J'ai aussi eu vent de cela arrivant lorsqu'on utilise slirp.
+La raison est qu'entre le temps o&ugrave; getty quitte et que ppp commence,
+le ppp c&ocirc;t&eacute;-client commence par envoyer des paquets
+Line Control Protocol (LCP). Parce que l'ECHO est toujours actif
+sur les ports du c&ocirc;t&eacute; serveur, le client ppp verra ces paquets qui lui
+seront "refl&egrave;t&eacute;".
+
+ </para>
+
+ <para>
+Une partie de la n&eacute;gociation LCP est d'&eacute;tablir un nombre magique
+(magic number)
+de chaque c&ocirc;t&eacute; de la ligne, ceci afin que les "r&eacute;flexions" soient
+d&eacute;tect&eacute;es. Le protocole dit que lorsque l'autre parti essaye de
+n&eacute;gocier le m&ecirc;me nombre magique, un NAK devrait &ecirc;tre envoy&eacute; et un
+nouveau nombre magique choisi.
+Durand la p&eacute;riode o&ugrave; le serveur o&ugrave; le port serveur a l'ECHO activ&eacute;, le
+client ppp envoie des paquets LCP, voit le m&ecirc;me nombre magique dans les
+paquets refl&egrave;t&eacute;s et il le "NAK".
+Il voit aussi les reflexions de NAK (qui veut aussi dire que ppp devrait
+changer son nombre magique). Cela produit potentiellement un &eacute;norme
+nombre de nombre magiques &agrave; changer, chacun d'entre eux tous
+s'empilant joyeusement dans le buffer stty du serveur.
+Aussit&ocirc;t que ppp d&eacute;marre sur le serveur, il est innond&eacute; par des
+changement de nombre magique et souvent d&eacute;cide qu'il a assez essay&eacute;
+de n&eacute;gociation LCP et abandonne.
+Pendant ce temps, le client qui ne voit alors plus de r&eacute;flexions,
+se r&eacute;jouit juste le temps de voir que le serveur l'a d&eacute;connect&eacute;.
+
+ </para>
+
+ <para>
+Cela peut-&ecirc;tre &eacute;vit&eacute; en autorisant l'autre parti &agrave; d&eacute;marrer la
+n&eacute;gociation avec la ligne suivante dans le fichier ppp.conf
+
+ <programlisting>
+set openmode passive
+ </programlisting>
+
+ </para>
+
+ <para>
+Cela dit &agrave; ppp d'attendre que le serveur d&eacute;bute la n&eacute;gociation LCP.
+Certains serveurs toutefois peuvent ne jamais initier la n&eacute;gociation. Si
+cela est le cas, vous pouvez faire quelque chose du genre :
+
+ <programlisting>
+set openmode active 3
+ </programlisting>
+
+ </para>
+
+ <para>
+Cela dit &agrave; ppp de rester passif pendant 3 secondes, et puis commencer &agrave;
+envoyer les requ&ecirc;tes LCP/ Si l'autre parti commence &agrave; envoyer des
+requ&ecirc;tes durant cette p&eacute;riode, ppp r&eacute;pondra imm&eacute;diatement plut&ocirc;t qu'en
+attendant que la p&eacute;riode des 3 secondes se termine.
+ </para>
+ </sect2>
+
+ <sect2>
+ <title> Les n&eacute;gociations LCP continuent jusqu'&agrave; ce que la connexion soit ferm&eacute;e. </title>
+
+ <para>
+Cela est pour l'instant un d&eacute;faut d'impl&eacute;mentation dans
+<emphasis remap="bf">ppp</emphasis> o&ugrave; il n'associe pas les r&eacute;ponses
+LCP, CCP &amp; IPCP avec leur requ&ecirc;te originale.
+Comme cons&eacute;quence, si l'une des impl&eacute;mentations
+<emphasis remap="bf">ppp</emphasis> est 6 secondes plus lente que
+l'autre c&ocirc;t&eacute;, l'autre c&ocirc;t&eacute; enverra 2 requ&ecirc;tes de configuration LCP
+suppl&eacute;mentaire. Cela est fatal.
+
+Soient 2 impl&eacute;mentations, <emphasis remap="bf">A</emphasis> et
+<emphasis remap="bf">B</emphasis>. <emphasis remap="bf">A</emphasis>
+commence &agrave; envoyer des requ&ecirc;tes LCP imm&eacute;diatement apr&egrave;s s'&ecirc;tre connect&eacute;
+et <emphasis remap="bf">B</emphasis> met 7 secondes &agrave; d&eacute;marer.
+Quand <emphasis remap="bf">B</emphasis> d&eacute;marre,
+<emphasis remap="bf">A</emphasis> a envoy&eacute; 3 requ&ecirc;tes LCP.
+Nous supposons que la ligne a d&eacute;sactiv&eacute;e l'ECHO, car dans le cas
+contraire nous verrions des probl&egrave;mes de nombres magiques comme d&eacute;crit
+dans la section pr&eacute;c&eacute;dente.
+
+<emphasis remap="bf">B</emphasis> envoi un REQ, puis un ACK au premier
+REQ de <emphasis remap="bf">A</emphasis>.
+Le r&eacute;sultat est que <emphasis remap="bf">A</emphasis> entre
+dans l'&eacute;tat <emphasis remap="bf">OPENED</emphasis> et envoie un ACK
+(le premier) en retour &agrave; <emphasis remap="bf">B</emphasis>.
+Pendant ce temps, <emphasis remap="bf">B</emphasis> renvoi 2 ACK de plus
+en r&eacute;ponse au 2 REQ suppl&eacute;mentaires envoy&eacute;s par
+<emphasis remap="bf">A</emphasis> avant
+<emphasis remap="bf">B</emphasis> que B n'ait commenc&eacute;.
+<emphasis remap="bf">B</emphasis> re&ccedil;oit alors le premier ACK
+de <emphasis remap="bf">A</emphasis> et entre dans l'&eacute;tat
+<emphasis remap="bf">OPENED</emphasis>.
+<emphasis remap="bf">A</emphasis> re&ccedil;oit le deuxi&egrave;me ACK de
+<emphasis remap="bf">B</emphasis> et revient &agrave; l'&eacute;tat
+<emphasis remap="bf">REQ-SENT</emphasis>, et envoie un autre (quatri&egrave;me)
+REQ comme d&eacute;crit dans la RFC.
+Il envoie alors un troisi&egrave;me ACK et entre dans l'&eacute;tat
+<emphasis remap="bf">OPENED</emphasis>.
+Durant ce moment, <emphasis remap="bf">B</emphasis>
+re&ccedil;oit le quatri&egrave;me REQ de <emphasis remap="bf">A</emphasis>,
+par cons&eacute;quent, revient dans l'&eacute;tat
+<emphasis remap="bf">ACK-SENT</emphasis> et envoie un autre (second)
+REQ et (quatri&egrave;me) ACK as per the RFC.
+<emphasis remap="bf">A</emphasis> re&ccedil;oit le REQ, va dans l'&eacute;tat
+<emphasis remap="bf">REQ-SENT</emphasis> et envoie un autre REQ.
+Il re&ccedil;oit alors imm&eacute;diatement le ACK suivant et entre dans l'&eacute;tat
+<emphasis remap="bf">OPENED</emphasis>.
+ </para>
+
+ <para>
+Cela continue tant qu'un des partis ne s'aper&ccedil;oive qu'ils n'iront
+nulle part comme cela et abandonne.
+
+ </para>
+
+ <para>
+La meilleure fa&ccedil;on d'&eacute;viter cela est de configurer un c&ocirc;t&eacute; comme &eacute;tant
+<emphasis remap="bf">passif</emphasis> - cela fait,
+faire de telle sorte qu'un des c&ocirc;t&eacute;s attende que l'autre commence la
+n&eacute;gociation. Cela peut-&ecirc;tre fait par la commande :
+
+ <programlisting>
+set openmode passive
+ </programlisting>
+Faire attention avec cette option, vous devriez aussi utiliser
+la commande
+ <programlisting>
+set stopped N
+ </programlisting>
+afin de limiter la dur&eacute;e avant que
+<emphasis remap="bf">ppp</emphasis> attende de l'autre parti de
+commencer la n&eacute;gociation.
+D'une autre fa&ccedil;on, la commande
+ <programlisting>
+set openmode active N
+ </programlisting>
+
+(o&ugrave; <emphasis remap="bf">N</emphasis> est le nombre de secondes
+qu'il faut attendre avant que le d&eacute;marrage de la n&eacute;gociation ne soit
+faite). Regardez les pages de manuels pour plus de d&eacute;tails.
+ </para>
+ </sect2>
+
+ <sect2>
+ <title> Ppp se verrouille peu apr&egrave;s la connexion. </title>
+
+ <para>
+Avant la version 2.2.5 de FreeBSD, il &eacute;tait possible que votre
+ligne soit d&eacute;sactiv&eacute;e peu apr&egrave;s la connection, d&ucirc;e &agrave;
+une mauvaise n&eacute;gociation de compression Predictor1 de
+<emphasis remap="bf">ppp</emphasis>
+
+Cela ne devrait arriver que si
+deux c&ocirc;t&eacute;s essayent de n&eacute;gocier des protocoles de
+contr&ocirc;le de compression (
+Compression Control Protocols (CCP) diff&eacute;rents.
+Ce probl&egrave;me est &agrave; pr&eacute;sent r&eacute;solu, mais si vous utilisez toujours une
+vieille version de
+<emphasis remap="bf">ppp</emphasis>,
+le probl&egrave;me peut-&ecirc;tre saut&eacute; avec la ligne
+
+ <programlisting>
+disable pred1
+ </programlisting>
+
+ </para></sect2>
+
+ <sect2>
+ <title> Ppp se verrouille quand je "shell" pour le tester. </title>
+
+
+ <para>
+Quand vous ex&eacute;cutez le <emphasis remap="tt">shell</emphasis> ou la
+commande <emphasis remap="tt">!</emphasis>,
+<emphasis remap="bf">ppp</emphasis> ex&eacute;cute un shell (ou si vous avez
+pass&eacute; des arguments, <emphasis remap="bf">ppp</emphasis>
+ex&eacute;cutera ces arguments). Ppp attendra que la commande se termine avant
+de continuer. Si vous avez l'intention d'utiliser la connexion ppp
+pendant que vous lancez la commande, la connexion appara&icirc;tra
+alors comme ayant &eacute;t&eacute; gel&eacute;e.
+Cela parce que <emphasis remap="bf">ppp</emphasis> attend que la
+commande se termine.
+
+ </para>
+
+ <para>
+Si vous voulez ex&eacute;cuter des commandes comme cela, utilisez plut&ocirc;t la
+commande <emphasis remap="tt">!bg</emphasis>.
+Cela ex&eacute;cutera la commande en arri&egrave;re plan, et ppp
+pourra continuer de servir la connexion.
+
+ </para></sect2>
+
+ <sect2>
+ <title> Ppp sur un null-modem ne quitte jamais. </title>
+
+ <para>
+Il n'y a aucune mani&egrave;re pour que <emphasis remap="bf">ppp</emphasis>
+d&eacute;termine automatiquement qu'une connexion directe
+s'est achev&eacute;e. Cela est d&ucirc; aux lignes utilis&eacute;es dans un c&acirc;ble s&eacute;rie
+null-modem. Quand on utilise cette sorte de connexion, LQR devrait
+&ecirc;tre toujours activ&eacute; avec la ligne :
+
+ <programlisting>
+enable lqr
+ </programlisting>
+
+ </para>
+
+ <para>
+LQR est accept&eacute; pas d&eacute;faut si n&eacute;goci&eacute; par l'autre parti.
+
+ </para>
+ </sect2>
+ </sect1>
+
+ <sect1>
+ <title> Pourquoi ppp tente de se connecter sans raison em mode -auto ? </title>
+
+ <para>
+Si <emphasis remap="bf">ppp</emphasis> tente de se comnnecter
+sans raison aucune, vous devez en d&eacute;terminer la cause et mettre en place
+des filtrages d'appels (dfilters) pour pr&eacute;venir de tels appels.
+
+ </para>
+
+ <para>
+Afin d'en d&eacute;terminer la cause, utilisez la ligne suivant :
+
+ <programlisting>
+set log +tcp/ip
+ </programlisting>
+
+ </para>
+
+ <para>
+Cela tracera tous le trafic &agrave; travers une connexion. La prochaine fois
+que la connexion se mettra en place de mani&egrave;re inattendue, vous verrez
+la raison trac&eacute; avec le moment o&ugrave; cela s'est produit &agrave; c&ocirc;t&eacute;.
+ </para>
+
+ <para>
+Vous pouvez &agrave; pr&eacute;sent d&eacute;sactiver les appels sous ces circonstances.
+D'habitude, ces sortes de probl&egrave;mes arrivent &agrave; cause des DNS lookup.
+Pour emp&ecirc;cher le DNS lookup d'&eacute;tablir une connexion (cela n'emp&ecirc;chera
+<emphasis remap="bf">pas</emphasis> <emphasis remap="bf">ppp</emphasis>
+de passer les paquets &agrave; travers une connexion &eacute;tablie), utilisez les
+lignes suivantes :
+
+ <programlisting>
+set dfilter 1 deny udp src eq 53
+set dfilter 2 deny udp dst eq 53
+set dfilter 3 permit 0/0 0/0
+ </programlisting>
+
+ </para>
+
+ <para>
+Cela ne convient pas toujours puisqu'il
+enl&egrave;vera effectivement vos fonctionnalit&eacute;s de demandes d'appels - la
+plupart des programmes auront besoin du DNS lookup
+avant de faire quelque chose ayant un rapport avec le r&eacute;seau.
+
+ </para>
+
+ <para>
+Dans le cas DNS, vous pouvez essayer de d&eacute;terminer qui est-ce qui essaye
+actuellement de r&eacute;soudre le nom de l'h&ocirc;te.
+La plupart du temps, c'est
+<ulink url="http://www.freebsd.org/cgi/man.cgi?sendmail" >sendmail</ulink> le coupable.
+Vous devez vous assurer que vous avez dit &agrave; sendmail de ne faire aucun
+DNS lookup dans ses fichiers de configuration,
+regardez la section sur
+<ulink url="ispmail">la configuration du mail</ulink> pour les d&eacute;tails de comment cr&eacute;er son propre fichier de
+comfiguration, et qu'est ce qu'on doit mettre dedans.
+Vous pouvez aussi vouloir ajouter les lignes suivantes dans votre
+fichier <emphasis remap="bf">.mc</emphasis> :
+
+ <programlisting>
+define(`confDELIVERY_MODE', `d')dnl
+ </programlisting>
+
+ </para>
+
+ <para>
+Cela fera que sendmail mettra tout en file d'attente
+jusqu'&agrave; ce que la file soit lanc&eacute;e (habituellement, sendmail est
+invoqu&eacute; avec ``-bd -q30m'', lui disant de lancer la file
+d'attente toutes les 30 minutes) ou jusqu'&agrave; ce que un
+``sendmail -q'' soit effectu&eacute; (peut-&ecirc;tre dans votre fichier ppp.linkup).
+
+ </para>
+ <sect2>
+ <title> Que veulent dire ces erreurs CCP ? </title>
+
+
+ <para>
+Je n'arr&ecirc;te pas de voir les erreurs suivantes dans mon fichier log :
+ <programlisting>
+CCP: CcpSendConfigReq
+CCP: Received Terminate Ack (1) state = Req-Sent (6)
+ </programlisting>
+
+ </para>
+
+ <para>
+Ceci est obtenu parce que ppp est en train de n&eacute;gocier la compression
+Predictor1 et que l'autre parti ne veut pas du tout n&eacute;gocier de compression.
+Ces messages sont sans cons&eacute;quences aucune, mais si vous voulez les enleverm
+vous pouvez d&eacute;sactiver la compression Predictor1 aussi en local.
+
+ <programlisting>
+disable pred1
+ </programlisting>
+
+ </para></sect2>
+
+ <sect2>
+ <title>Ppp se bloque durant les transferts de fichiers avec une erreur IO. </title>
+
+ <para>
+Sous FreeBSD 2.2.2 et avant, il y avait un bug dans le driver tun
+qui stoppait tous les paquets entrants d'une taille plus grande que la taille
+MTU de l'interace tun.
+La r&eacute;ception de paquets plus grands que la taille du MTU
+r&eacute;sultait en une erreur IO qui &eacute;tait alors trac&eacute; avec syslogd,
+ </para>
+
+ <para>
+Les sp&eacute;cifications ppp disent qu'un MTU de 1500 devrait
+<emphasis remap="bf">toujours</emphasis> &ecirc;tre accept&eacute;
+comme un minimum, ceci
+quelque soit la n&eacute;gociation LCP. Il est toutefois possible que vous
+diminuez le MTU &agrave; moins de 1500, votre ISP vous transmettra des paquets
+de 1500 sans s'en pr&eacute;occuper, et cela vous bloquera,
+gelant ainsi la ligne.
+
+ </para>
+
+ <para>
+Ce probl&egrave;me peut &ecirc;tre contourn&eacute; en ne r&eacute;glant jamais un MTU en dessous
+de 1500 sous FreeBSD 2.2.2 et avant.
+
+ </para></sect2>
+
+ <sect2>
+ <title> Pourquoi ppp ne trace-t-il pas ma vitesse de connexion ? </title>
+
+ <para>
+La fa&ccedil;on de tracer toutes les lignes de la ``conversation'' de
+votre modem est d'activer :
+
+ <programlisting>
+set log +connect
+ </programlisting>
+
+ </para>
+
+ <para>
+Cela permettra &agrave;
+<ulink url="http://www.freebsd.org/cgi/man.cgi?ppp">ppp</ulink>
+de tout tracer jusqu'&agrave; la derni&egrave;re cha&icirc;ne de requ&ecirc;te d'"attente"
+ </para>
+
+ <para>
+Si vous voulez voir votre vitesse de connexion et que vous utilisez
+PAP ou CHAP (et donc ne rien avoir avec "chat" apr&egrave;s le CONNECT
+dans le script dial - pas de script "set login"), vous devez
+vous assurer que vous pr&eacute;venez ppp de s'attendre tout la ligne CONNECT,
+quelque chose comme :
+
+ <programlisting>
+set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"
+ </programlisting>
+
+ </para>
+
+ <para>
+Ici, nous avons notre CONNECT, ne rien envoyer, et puis attendre
+un saut de ligne, for&ccedil;ant
+<emphasis remap="bf">ppp</emphasis> &agrave; lire toute la r&eacute;ponse
+CONNECT.
+
+ </para></sect2>
+
+ <sect2>
+ <title>Ppp ignore le caract&egrave;re `\' dans mon script chat</title>
+
+ <para>
+Ppp parse chacune des lignes de votre fichier de configuration, de telle
+sorte qu'il puisse interpr&ecirc;ter des chaines comme
+<emphasis remap="tt">set phone "123 456 789"</emphasis> correctement
+(et r&eacute;aliser qu'il n'y a que <emphasis remap="bf">un</emphasis>
+seul argument.
+Pour pouvoir sp&eacute;cifier un caract&egrave;re ``"'', vous devez
+l'&eacute;chapper avec un backslash (``\'').
+
+ </para>
+
+ <para>
+Quand l'interpr&ecirc;teur chat parse chaque argument, il re-interpr&ecirc;te
+l'argument de telle sorte &agrave; trouver des s&eacute;quences de caract&egrave;res
+d'&eacute;chappement comme
+``\P'' ou ``\T'' (voir les pages de manuel). En cons&eacute;quence de
+ce double-parsing, vous devez vous souvenir d'utiliser le nombre
+correct d'&eacute;chappement.
+ </para>
+
+ <para>
+Si vous voulez envoyer un caract&egrave;re ``\'' &agrave; votre modem,
+vous aurez besoin de faire quelque chose comme :
+
+ <programlisting>
+set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK"
+ </programlisting>
+
+ </para>
+
+ <para>
+qui se r&eacute;sultera en la s&eacute;quence suivante :
+
+ <programlisting>
+ATZ
+OK
+AT\X
+OK
+ </programlisting>
+
+ </para>
+
+ <para>
+ou encore
+
+ <programlisting>
+set phone 1234567
+set dial "\"\" ATZ OK ATDT\\T"
+ </programlisting>
+
+ </para>
+
+ <para>
+r&eacute;sultera en la s&eacute;quence suivante :
+
+ <programlisting>
+ATZ
+OK
+ATDT1234567
+ </programlisting>
+ </para>
+ </sect2>
+
+ <sect2>
+ <title>Ppp re&ccedil;oit une erreur de segmentation, mais je ne trouve pas de fichier <emphasis remap="tt">ppp.core</emphasis></title>
+
+
+ <para>
+Ppp (ou n'importe quel programme dans le m&ecirc;me cas) ne devrait jamais
+faire de coredump. Parce que ppp tourne avec une identit&eacute; d'utilisateur
+effectif de 0, le syst&egrave;me d'exploitation n'&eacute;crira pas d'image du core sur le
+disque avant de l'avoir termin&eacute;. Si, malgr&egrave; tout, ppp se
+<emphasis remap="bf">termine</emphasis> actuellement &agrave; cause d'une violation
+de segmentation, ou n'importe quel autre signal qui cause normalement un
+core dump, <emphasis remap="bf">et</emphasis> que vous &ecirc;tes s&ucirc;r
+que vous utilisez la derni&egrave;re version (voir le d&eacute;but de cette section),
+alors vous devriez faire la chose suivante :
+ <programlisting>
+$ tar xfz ppp-*.src.tar.gz
+$ cd ppp*/ppp
+$ echo STRIP= >>Makefile
+$ echo CFLAGS+=-g >>Makefile
+$ make clean all
+$ su
+make install
+chmod 555 /usr/sbin/ppp
+ </programlisting>
+
+ </para>
+
+ <para>
+Vous aurez alors une version d&eacute;boguable de ppp install&eacute;. Vous aurez &agrave; &ecirc;tre
+root pour lancer ppp puisque tous ses privil&egrave;ges auront &eacute;t&eacute; r&eacute;voqu&eacute;s. Quand
+vous d&eacute;marrez ppp, retenez soigneusement le r&eacute;pertoire courant dans lequel
+vous &eacute;tiez.
+
+ </para>
+
+ <para>
+A pr&eacute;sent, si et quand ppp recevra une violation de segmentation, cela
+cr&eacute;&eacute;ra un fichier core nomm&eacute; ppp.core. Vous aurez alors &agrave; faire la chose
+suivante :
+
+ <programlisting>
+$ su
+gdb /usr/sbin/ppp ppp.core
+(gdb) bt
+.....
+(gdb) f 0
+.....
+(gdb) i args
+.....
+(gdb) l
+.....
+ </programlisting>
+
+ </para>
+
+ <para>
+Toutes ces informations devront &ecirc;tre donn&eacute;es suivant votre question,
+rendant ainsi possible le diagnostique de votre probl&egrave;me.
+ </para>
+
+ <para>
+Si vous &ecirc;tes familier avec gdb, vous pouvez vouloir trouver d'autres
+techniques pour trouver ce qui a caus&eacute; le dump, et les adresses et
+valeurs des variables concern&eacute;es.
+ </para></sect2>
+
+ <sect2>
+ <title> Le processus qui force un appel en mode auto ne se connecte jamais. </title>
+
+ <para>
+Cela est un probl&egrave;me connu quand <emphasis remap="bf">ppp</emphasis>
+est r&eacute;gl&eacute; de telle sorte &agrave; n&eacute;gocier une adresse IP dynamique avec son
+homologue. Quand ce programme initial appelle
+<ulink url="http://www.freebsd.org/cgi/man.cgi?connect"> connect(2) </ulink>,
+l'adresse IP de l'interface tun est assign&eacute;e &agrave; l'extr&ecirc;mit&eacute; de la
+socket. Le noyau cr&eacute;e le premier paquet sortant et l'&eacute;crit sur le
+p&eacute;riph&eacute;rique tun. <emphasis remap="bf">Ppp</emphasis>
+lit alors le paquet et &eacute;tablit alors la connexion. Si, comme
+r&eacute;sultat de l'assignation dynamique de
+<emphasis remap="bf">ppp</emphasis>,
+l'adresse de l'interface est chang&eacute;e, l'extr&ecirc;mit&eacute; originale de
+la socket sera invalide. Tout paquet envoy&eacute; &agrave; l'autre parti sera alors
+en principe perdu. Et m&ecirc;me s'il ne l'&eacute;tait pas, toute r&eacute;ponse ne
+pourrait pas &ecirc;tre renvoy&eacute;e &agrave; la machine originelle puisque l'adresse IP
+ne serait plus poss&egrave;d&eacute;e par cette machine.
+
+ </para>
+
+ <para>
+Th&eacute;oriquement, il y a plusieurs mani&egrave;res d'aborder ce probl&egrave;me.
+Le mieux serait que l'homologue re-assigne la m&ecirc;me adresse IP si
+possible <emphasis remap="tt">:-)</emphasis>
+
+ </para>
+
+ <para>
+La meilleure m&eacute;thode de notre c&ocirc;t&eacute;, serait de ne jamais changer
+l'adresse IP de l'interface tun, mais &agrave; la place, changer tous les
+paquets sortant de telle sorte que les adresses IP de la source soient
+chang&eacute;es de l'interface Ip &agrave; l'IP n&eacute;goci&eacute; au vol. C'est essentiellement ce
+que
+<ulink url="http://www.freebsd.org/cgi/man.cgi?libalias"> libalias(3) </ulink>
+(et l'option <emphasis remap="bf">-alias</emphasis> de ppp)
+font actuellement.
+ </para>
+
+ <para>
+Une autre alternative (et probablement la plus s&ucirc;re); est d'impl&eacute;menter
+un appel syst&egrave;me qui change tous les sockets reli&eacute;es depuis une
+adresse IP &agrave; une autre.
+<emphasis remap="bf">Ppp</emphasis> utiliserait cet appel pour
+modifier la socket de tous les programmes existant lorsqu'une nouvelle
+adresse IP est n&eacute;goci&eacute;e.
+
+ </para>
+
+ <para>
+
+Une troisi&egrave;me possibilit&eacute; est d'autoriser &agrave; une interface de
+s'activer sans adresse IP. Les paquets sortant auront une adresse IP de
+255.255.255.255 jusqu'&agrave; ce que le premier SIOCAIFADDR ioctl soit fait.
+Cela reviendrait &agrave; lier enti&egrave;rement la socket, et
+&ccedil;a serait &agrave; <emphasis remap="bf">ppp</emphasis>
+de changer l'adresse IP source, mais seulement si il est &agrave;
+255.255.255.255, et seulement si le num&eacute;ro IP et le checksum IP
+doivent &ecirc;tre chang&eacute;s. Quoiqu'il en soit, c'est de la
+bidouille puisque le noyau enverra des paquets invalides &agrave; une
+interface mal configur&eacute;e, en supposant que d'autres
+m&eacute;canismes seront capables de r&eacute;parer les choses
+retrospectivement.
+
+ </para>
+
+ <para>
+Aucune de ces solutions n'a (encore) &eacute;t&eacute; impl&eacute;ment&eacute;e.
+
+ </para></sect2>
+
+ <sect2>
+ <title>Pourquoi la plupart des jeux ne marchent pas avec l'option -alias ?</title>
+
+
+ <para>
+La raison pour laquelle les jeux et assimil&eacute;s ne marchent pas avec
+libalias est que la machine ext&eacute;rieure essaye d'ouvrir une connexion
+ou envoyer des paquets UDP (non sollicit&eacute;s) &agrave; la machine
+interne. Le logiciel packet alias ne sait alors pas qu'il faut envoyer
+ces paquets &agrave; une machine interne.
+ </para>
+
+ <para>
+Pour que &ccedil;a marche, assurez vous que la seule chose qui tourne est le
+logiciel avec lequel vous avez des probl&egrave;mes, puis alors, soit vous
+lancez tcpdump sur votre interface tun de votre routeur, soit vous
+activez le login ppp tcp/ip (``set log +tcp/ip'') sur votre routeur.
+
+ </para>
+
+ <para>
+Quand vous d&eacute;marrez le logiciel incrimin&eacute;, vous devriez voir les paquets
+passer &agrave; travers la machine routeur. Quand quelque chose revient depuis
+l'ext&eacute;rieur, il sera retir&eacute; (c'est &ccedil;a le probl&egrave;me). Noter le num&eacute;ro
+de port de ces paquets, puis arr&ecirc;tez le logiciel incrimin&eacute;. Faite ceci
+quelques fois pour voir si les num&eacute;ro de ports sont consistants. Si ils
+le sont, alors la ligne suivante dans la section appropri&eacute;e de
+/etc/ppp/ppp.conf rendra le logiciel fonctionnel.
+
+ <programlisting>
+alias port proto internalmachine:port port
+ </programlisting>
+
+ </para>
+
+ <para>
+o&ugrave; ``proto'' est soit ``tcp'' ou ``udp'',
+``internalmachine'' est la machine &agrave; laquelle vous voulez que les
+paquets soient envoy&eacute;s et ``port'' le num&eacute;ro de port de destination des
+paquets.
+
+ </para>
+
+ <para>
+Vous ne pourrez pas utiliser le logiciel sur d'autres machines sans
+changer la commande du dessus, et lancer le logiciel sur 2 machines
+internes en m&ecirc;me temps est hors de question - apr&egrave;s tout, le monde
+ext&eacute;rieur voit tout votre r&eacute;seau entier comme une seule machine.
+ </para>
+
+ <para>
+Si les num&eacute;ros de ports ne sont pas consistants, il y a 3 autres
+options :
+
+ </para>
+
+ <para>
+<emphasis remap="bf">1)</emphasis> Soumettre le support dans libalias.
+Des exemples de ``cas sp&eacute;ciaux'' peuvent &ecirc;tre trouv&eacute;s dans
+/usr/src/lib/libalias/alias_*.c (alias_ftp.c
+iest un bon prototype).
+Cela implique habituellement la lecture de certains paquets sortant
+reconnus, identification des instructions qui dit &agrave; la machine
+ext&eacute;rieure d'initialiser la connexion en retour vers machine interne sur un port
+(al&eacute;atoire) sp&eacute;cifique, et mettre en place une
+``route'' dans la table d'alias de telle sorte que les paquets concern&eacute;s
+sachent o&ugrave; aller.
+
+ </para>
+
+ <para>
+C'est la solution la plus difficile, mais c'est la meilleure et
+permettra au logiciel de marcher sur plusieurs machines
+
+ </para>
+
+ <para>
+<emphasis remap="bf">2)</emphasis>
+Utiliser un proxy. L'application peut pouvoir supporter socks5 par
+exemple, ou (comme dans le cas de ``cvsup'') peut avoir une option
+``passive'' qui &eacute;vite d'avoir &agrave; toujours demander que l'autre parti
+ouvre une connexion en retour sur la machine locale.
+
+ </para>
+
+ <para>
+<emphasis remap="bf">3)</emphasis>
+Tout rediriger vers une machine interne utilisant
+``alias addr''. C'est l'approche "bourrin".
+
+ </para></sect2>
+
+ <sect2>
+ <title>Rien de cela ne marche - je suis d&eacute;sesp&eacute;r&eacute; !</title>
+ <para>
+Si tout le reste &eacute;choue, envoyer autant d'informations que vous pouvez,
+y compris vos fichiers de configuration, comment vous avez d&eacute;marr&eacute;
+<emphasis remap="bf">ppp</emphasis>, les parties pertinentes de
+votre fichier log, et la sortie de la commande
+<ulink url="http://www.freebsd.org/cgi/man.cgi?netstat"> netstat -rn </ulink>(avant et apr&egrave;s connexion) &agrave; la liste de diffusion
+<ulink url="mailto:freebsd-questions@FreeBSD.org"> freebsd-questions@FreeBSD.org </ulink>ou au newsgroup
+<ulink url="news:comp.unix.bsd.freebsd.misc"> comp.unix.bsd.freebsd.misc, </ulink>et quelqu'un devrait vous orienter dans la bonne direction.
+ </para></sect2>
+
+ </sect1>
+
+ <sect1>
+ <title>Je ne peux pas cr&eacute;er un p&eacute;riph&eacute;rique <emphasis remap="tt">/dev/ed0</emphasis> ! </title>
+ <para>
+Dans le cadre des r&eacute;seaux Berkeley, les interfaces r&eacute;seaux sont
+seulement directement accessibles par le code du noyau.
+Regarder le fichier
+<emphasis remap="tt">/etc/rc.network</emphasis>
+et les pages de manuels pour les diff&eacute;rents programmes r&eacute;seaux mentionn&eacute;s
+ici pour plus d'informations. Si cela vous est compl&egrave;tement confus, vous
+devriez prendre un livre d&eacute;crivant l'administration r&eacute;seaux sur un autre
+syst&egrave;me d'exploitation relatif &agrave; BSD; &agrave; quelques exceptions
+mineures, administrer un r&eacute;seau sous FreeBSD est basiquement la
+m&ecirc;me chose que sur un SunOS 4.0 ou un Ultrix.
+
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>Comment puis-je r&eacute;gler les alias &eacute;thernet ?</title>
+
+ <para>
+Ajouter ``<emphasis remap="tt">netmask 0xffffffff</emphasis>'' &agrave; votre
+ligne de commande
+<ulink url="http://www.freebsd.org/cgi/man.cgi?ifconfig">ifconfig</ulink>
+comme ci-dessous :
+
+ <programlisting>
+ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff
+ </programlisting>
+ </para>
+
+ </sect1>
+
+ <sect1>
+ <title> Comment puis-je faire pour que mon 3C503 utilise l'autre port r&eacute;seau ? </title>
+
+ <para>
+Si vous voulez utiliser les autres ports, vous avez &agrave; sp&eacute;cifier un
+param&ecirc;tre suppl&eacute;mentaire dans la ligne de commande
+<ulink url="http://www.freebsd.org/cgi/man.cgi?ifconfig">ifconfig</ulink>.
+Le port par d&eacute;faut est``<emphasis remap="tt">link0</emphasis>''.
+Pour utiliser le port AUI &agrave; la place du BNC,utiliser
+``<emphasis remap="tt">link2</emphasis>''.
+Ces param&ecirc;tres devraient &ecirc;tre sp&eacute;cifi&eacute;s en utilisant les variables
+de ifconfig_* variables dans <ulink url="http://www.freebsd.org/cgi/man.cgi?rc.conf">/etc/rc.conf</ulink>.
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>J'ai des probl&egrave;mes avec NFS depuis/vers FreeBSD.</title>
+
+ <para>
+Certaines cartes r&eacute;seaux sont meilleures que d'autres
+et peuvent causer quelquefois des probl&egrave;mes lors d'applications
+r&eacute;seaux intensives comme NFS.
+ </para>
+
+ <para>
+Regarder <ulink url="../handbook/nfs.html">la partie du Handbook sur NFS </ulink>pour plus d'informations &agrave; ce sujet.
+ </para>
+ </sect1>
+
+ <sect1>
+ <title> Pourquoi ne puis-je pas monter par NFS depuis une machine sous Linux ? </title>
+
+ <para>
+Certaines versions du code NFS de Linux ne peuvent accepter des
+requ&ecirc;tes de montages que depuis un port privil&egrave;gi&eacute;; essayez
+
+ <programlisting>
+mount -o -P linuxbox:/blah /mnt
+ </programlisting>
+
+ </para>
+ </sect1>
+
+ <sect1>
+ <title> Pourquoi ne puis-je pas monter un NFS depuis une machine Sun ? </title>
+
+ <para>
+Les stations de travail Sun sous SunOS 4.X n'acceptent seulement des
+requ&ecirc;tes de montage que depuis un port privil&egrave;gi&eacute;; essayez
+
+ <programlisting>
+mount -o -P sunbox:/blah /mnt
+ </programlisting>
+
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>J'ai des probl&egrave;me pour parler PPP &agrave; des machines NeXTStep.</title>
+
+ <para>
+Essayer de d&eacute;sactiver l'extension TCP dans <ulink url="http://www.freebsd.org/cgi/man.cgi?rc.conf">/etc/rc.conf</ulink> en changeant la variable &agrave; NO :
+
+ <programlisting>
+tcp_extensions=NO
+ </programlisting>
+
+ </para>
+
+ <para>
+les machines Xylogic's Annex ne marchent pas non plus dans ce contexte,
+et vous devez changer de m&ecirc;me que ci-dessus pour pouvoir vous
+connecter au travers d'elles.
+
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>Comment activer le support multicast IP ?</title>
+
+ <para>
+Les op&eacute;rations multicast sont enti&egrave;rement support&eacute;es par FreeBSD 2.0 et
+plus par d&eacute;faut. Si vous voulez que votre machine marche comme un
+routeur multicast, vous devez recompiler votre noyau avec l'option
+<emphasis remap="tt">MROUTING</emphasis> et lancer
+<emphasis remap="tt">mrouted</emphasis>. FreeBSD 2.2 et plus
+d&eacute;marrera <emphasis remap="tt">mrouted</emphasis> au moment du boot si
+l'option <emphasis remap="tt">mrouted_enable</emphasis> est mis &agrave;
+"YES" dans <emphasis remap="tt">/etc/rc.conf</emphasis>.
+
+ </para>
+
+ <para>
+Les outils MBONE tools sont disponibles dans leur
+propre cat&eacute;gorie de ports, mbone. Si vous cherchez les outils de
+conf&eacute;rence <emphasis remap="tt">vic</emphasis> et
+<emphasis remap="tt">vat</emphasis>,
+c'est l&agrave; qu'il faut voir !
+
+ </para>
+
+ <para>
+Pour plus d'informations, regarder
+<ulink url="http://www.mbone.com/">le web d'information Mbone</ulink>.
+
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>Quelles cartes r&eacute;seaux sont bas&eacute;es sur le chipset DEC PCI ?</title>
+
+ <para>
+Voici une liste compil&eacute;e par
+<ulink url="mailto:gfoster@driver.nsta.org">Glen Foster</ulink>,
+avec quelques ajouts r&eacute;cents :
+
+ <programlisting>
+Vendor Model
+----------------------------------------------
+ASUS PCI-L101-TB
+Accton ENI1203
+Cogent EM960PCI
+Compex ENET32-PCI
+D-Link DE-530
+Dayna DP1203, DP2100
+DEC DE435
+Danpex EN-9400P3
+JCIS Condor JC1260
+Linksys EtherPCI
+Mylex LNP101
+SMC EtherPower 10/100 (Model 9332)
+SMC EtherPower (Model 8432)
+TopWare TE-3500P
+Zynx ZX342
+ </programlisting>
+
+ </para>
+ </sect1>
+
+ <sect1>
+ <title> Pourquoi dois-je utiliser le FQDN pour les h&ocirc;tes de mon site ? </title>
+
+
+ <para>
+Vous verrez probablement que l'h&ocirc;te est actuellement dans un domaine
+diff&eacute;rent; par exemple, si vous &ecirc;tes dans foo.bar.edu
+et que vous voulez atteindre un h&ocirc;te nomm&eacute; ``mumble''
+dans le domaine bar.edu domain, vous aurez &agrave; vous y r&eacute;f&eacute;rer
+par son nom de domaine enti&egrave;rement qualifi&eacute;, ``mumble.bar.edu'', &agrave; la place de
+juste ``mumble''.
+
+ </para>
+
+ <para>
+Traditionellement, cela &eacute;tait autoris&eacute;s par les r&eacute;solveurs
+BSD BIND. Malgr&egrave; tout, la version courante de
+<ulink url="http://www.freebsd.org/cgi/man.cgi?named">bind</ulink>
+qui est fournie avec FreeBSD ne fournit plus d'abbr&eacute;viation par d&eacute;faut
+pour un domaine non enti&egrave;rement qualifi&eacute;; autre que le domaine dans
+lequel vous &ecirc;tes.
+Ainsi, un h&ocirc;te non-qualifi&eacute; <emphasis remap="tt">mumble</emphasis>
+doit soit &ecirc;tre trouv&eacute; comme
+<emphasis remap="tt">mumble.foo.bar.edu</emphasis>,
+ou alors il sera cherch&eacute; dans le domaine racine.
+
+ </para>
+
+ <para>
+Cela est diff&eacute;rent du comportement d&eacute;crit auparavant, o&ugrave; la recherche
+continuait &agrave; travers <emphasis remap="tt">mumble.bar.edu</emphasis>,
+et <emphasis remap="tt">mumble.edu</emphasis>.
+Jetez un coup d'oeil &agrave; la RFC 1535 pour savoir pourquoi cela est
+consid&eacute;r&eacute; comme une mauvaise pratique, ou encore m&ecirc;me un trou de
+s&eacute;curit&eacute;.
+ </para>
+
+ <para>
+Comme d&eacute;tour, vous pouvez placer la ligne :
+ <programlisting>
+search foo.bar.edu bar.edu
+ </programlisting>
+
+ </para>
+
+ <para>
+&agrave; la place de la pr&eacute;c&eacute;dente :
+
+ <programlisting>
+domain foo.bar.edu
+ </programlisting>
+
+ </para>
+
+ <para>
+dans votre fichier
+<ulink url="http://www.freebsd.org/cgi/man.cgi?resolv.conf"> /etc/resolv.conf </ulink>.
+Quoiqu'il en soit, assurez vous que l'ordre de recherche
+ne vas pas en dehors des ``limites entre l'administration locale
+et publique'', comme appel&eacute;e dans la RFC 1535.
+
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>``Permission denied'' pour toutes les op&eacute;rations r&eacute;seaux.</title>
+
+
+ <para>
+Si vous avez compil&eacute; votre noyau avc l'option
+<emphasis remap="tt">IPFIREWALL</emphasis>, vous devez &ecirc;tre pr&eacute;venu, que la
+politique par d&eacute;faut depuis le
+2.1.7R (cela a chang&eacute; durant le d&eacute;veloppement
+du 2.1-STABLE) est de refuser tous les paquets qui ne sont pas
+explicitement autoris&eacute;s.
+ </para>
+
+ <para>
+Si vous avez inintentionnellement mal configur&eacute; votre syst&egrave;me pour le
+firewall, vous pouvez r&eacute;tablir les fonctionnalit&eacute; r&eacute;seaux en tapant la
+commande suivante sous root :
+
+ <programlisting>
+ipfw add 65534 allow all from any to any
+ </programlisting>
+
+ </para>
+
+ <para>
+Vous pouvez aussi r&eacute;gler "firewall_type='open'" dans
+<emphasis remap="tt">/etc/rc.conf</emphasis>.
+
+ </para>
+
+ <para>
+Pour plus d'informations sur la configuration d'un firewall FreeBSD,
+voir la <ulink url="../handbook/firewalls.html">section correspondante du handbook</ulink>.
+
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>Combien d'overhead, IPFW implique-t-il ?</title>
+
+ <para>
+La r&eacute;ponse &agrave; ceci d&eacute;pend pour la plupart &agrave; votre ensemble de r&egrave;gle et &agrave;
+votre vitesse de processeur. Pour la plupart des applications
+utilisant ethernet et de petits ensembles de r&egrave;gles, la r&eacute;ponse est :
+n&eacute;gligeable. Pour tous ceux d'entre vous qui veulent des mesures
+actuelles pour satisfaire leur curiosit&eacute;, continuez &agrave; lire :
+
+ </para>
+
+ <para>
+Les mesures suivantes ont &eacute;t&eacute; r&eacute;alis&eacute;es en utilisant 2.2.5-STABLE sur
+un 486-66. IPFW a &eacute;t&eacute; modifi&eacute; pour mesurer le temps &eacute;coul&eacute; par
+l'interm&eacute;diaire de la routine <emphasis remap="tt">ip_fw_chk</emphasis>
+en affichant les r&eacute;sultats sur la console tous les 1000 paquets.
+
+ </para>
+
+ <para>
+2 ensembles de r&egrave;gles, chacun avec 1000 r&egrave;gles ont &eacute;t&eacute; test&eacute;s.
+Le premier ensemble a &eacute;t&eacute; con&ccedil;u pour d&eacute;montrer le sc&eacute;nario du pire des
+cas en r&eacute;p&eacute;tant la r&egrave;gle :
+
+ <programlisting>
+ipfw add deny tcp from any to any 55555
+ </programlisting>
+
+ </para>
+
+ <para>
+Cela d&eacute;montre le pire des cas en faisant que chaque paquet IPFW entraine l'ex&eacute;cution de
+la routine de v&eacute;rification qui finallement d&eacute;cide que le
+paquet ne correspond pas aux r&egrave;gles (en vertu du num&eacute;ro de port)?
+Ap&egrave;s la 999eme it&eacute;ration de cette r&egrave;gle, il y avait un
+<emphasis remap="tt">allow ip from any to any</emphasis>.
+
+ </para>
+
+ <para>
+Le second ensemble de r&egrave;gles a &eacute;t&eacute; con&ccedil;u pour annuler la v&eacute;rification de
+r&egrave;gle tr&egrave;s rapidement :
+
+ <programlisting>
+ipfw add deny ip from 1.2.3.4 to 1.2.3.4
+ </programlisting>
+
+ </para>
+
+ <para>
+Les adresses IP des sources non correspondantes aux r&egrave;gles &eacute;nonc&eacute;es
+ci-dessus font que ces r&egrave;gles sont saut&eacute;es tr&egrave;s rapidement. Comme
+auparavant, la 1000eme r&egrave;gle &eacute;tait un
+<emphasis remap="tt">allow ip from any to any</emphasis>.
+
+ </para>
+
+ <para>
+L'&eacute;tude par paquet dans le premier cas a &eacute;t&eacute; approximativement de
+2.703ms/paquet, soit en gros 2.7 microseconds par r&egrave;gle
+.
+Ainsi, la limite th&eacute;orique d'&eacute;tude de paquet avec ces r&egrave;gles est de 370
+paquets par secondes. En supposant un &eacute;thernet 10Mbps et des paquets
+d'environ 1500 bytes, nous ne pourrons &ecirc;tre capable que d'obtenir une
+utilisation de la bande passante de 55.5%
+ </para>
+
+ <para>
+Pour le dernier cas, chaque paquet a &eacute;t&eacute; &eacute;tudi&eacute; en approximativement
+1.172ms, soit en gros 1.2 microseconds par r&egrave;gle.
+La limite th&eacute;orique de l'&eacute;tude des paquets ici, serait d'environ de 853
+paquets par secondes, ce qui pourrait consommer une bande passante
+d'un &eacute;thernet 10Mbps.
+
+ </para>
+
+ <para>
+Le nombre excessif de r&egrave;gle test&eacute;s, et la nature de ces r&egrave;gles ne
+fournissent pas un sc&eacute;nario du monde r&eacute;el -- ils ont &eacute;t&eacute; utilis&eacute;s que
+pour g&eacute;n&eacute;rer les informations de temps pr&eacute;sent&eacute;s ici.Voici certaines
+choses &agrave; garder &agrave; l'esprit pour construire un ensemble de r&egrave;gles
+efficaces :
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+Placer une r&egrave;gle d'`&eacute;tablissement' tr&egrave;s t&ocirc;t afin de pouvoir
+g&eacute;rer la majorit&eacute; du trafic TCP. Ne mettre aucun
+<emphasis remap="tt">allow tcp</emphasis>
+avant cette r&egrave;gle.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+Placer les r&egrave;gles souvent sollicit&eacute;es le plus au d&eacute;but de l'ensemble
+des r&egrave;gles plut&ocirc;t que celles rarement utilis&eacute;es
+(<emphasis remap="bf">sans changer la permissivit&eacute; du firewall </emphasis>, bien s&ucirc;r).
+Vous pourrez voir quels sont les r&egrave;gles les plus souvent utilis&eacute;es en
+examinant les statistiques des comptages des paquets avec
+<emphasis remap="tt">ipfw -a l</emphasis>.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+</para>
+ </sect1>
+
+ <sect1>
+ <title>Comment puis-je rediriger les requ&ecirc;tes de services d'une machine vers une autre ? </title>
+
+ <para>
+Vous pouvez rediriger des requ&ecirc;tes FTP (et autre services) avec le
+paquetage 'socket', disponible dans l'arbre des ports dans la cat&eacute;gorie
+'sysutils'. Remplacer simplement la ligne de commande de
+service pour appeler socket &agrave; la place, ainsi:
+
+<programlisting>
+ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.foo.com ftp
+</programlisting>
+
+ </para>
+
+ <para>
+o&ugrave; 'ftp.foo.com' et 'ftp' sont les h&ocirc;tes et les ports o&ugrave; se diriger
+respectivement.
+ </para>
+ </sect1>
+ </chapter>
+
diff --git a/fr_FR.ISO_8859-1/books/faq/preface.sgml b/fr_FR.ISO_8859-1/books/faq/preface.sgml
new file mode 100644
index 0000000000..63095afcb9
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/faq/preface.sgml
@@ -0,0 +1,785 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: 1.33
+-->
+
+<chapter id="preface">
+ <beginpage>
+ <title>Pr&eacute;face</title>
+
+ <sect1>
+ <title>Quel est le but de cette FAQ&nbsp;?</title>
+ <para>Comme toutes les FAQ Usenet, ce document contient les
+questions les plus fr&eacute;quemment pos&eacute;es &agrave; propos du syst&egrave;me
+d'exploitation FreeBSD, ainsi que leurs r&eacute;ponses. Bien que
+destin&eacute;es, &agrave; l'origine, &agrave; r&eacute;duire le trafic et &eacute;viter que
+les m&ecirc;me questions soient pos&eacute;es encore et encore, les FAQ
+sont maintenant reconnues comme de pr&eacute;cieuses sources
+d'information. </para>
+
+ <para>Tous les efforts ont &eacute;t&eacute; apport&eacute;s pour rendre
+cette FAQ la plus compl&egrave;te possible. Si vous avez des commentaires
+la concernant ou
+si vous voulez y contribuer, envoyez un e-mail au <ulink
+url="mailto:freebsd-france@freebsd.francenet.fr">responsable de cette
+FAQ</ulink>.
+</para>
+ </sect1>
+
+ <sect1>
+ <title>FreeBSD c'est quoi&nbsp;?</title>
+
+ <para>Pour r&eacute;sumer, FreeBSD 2.X est un syst&egrave;me d'exploitation
+UN*X bas&eacute; sur la distribution 4.4BSD-lite de l'universit&eacute; de
+Berkeley pour des plate-formes i386.
+Il est aussi bas&eacute; indirectement sur le
+portage de William Jolitz de la distribution Net/2 de l'universit&eacute; de
+Berkeley, plus connu sous le nom de 386BSD, mais tr&egrave;s peu de code de
+386BSD subsiste. Une description plus compl&egrave;te de ce qu'est
+FreeBSD et &agrave; quoi il peut vous servir, peut &ecirc;tre trouv&eacute;e &agrave; <ulink
+url="http://www.fr.freebsd.org">la page d'accueil de
+FreeBSD</ulink>. </para>
+
+
+ <para>FreeBSD est utilis&eacute; par des soci&eacute;t&eacute;s commerciales,
+fournisseurs d'acc&egrave;s &agrave; l'Internet, chercheurs, professionnels de
+l'informatique, &eacute;tudiants et particuliers &agrave; travers le monde entier
+pour travailler, apprendre et se divertir. Reportez-vous &agrave; la <ulink
+url="http://www.fr.freebsd.org/gallery/gallery.html">galerie
+FreeBSD</ulink> pour vous faire une id&eacute;e.</para>
+
+
+ <para>Pour plus de d&eacute;tails et d'informations sur FreeBSD,
+r&eacute;f&eacute;rez vous au <ulink
+url="&url.handbook;index.html">manuel de FreeBSD</ulink></para>
+ </sect1>
+ <sect1>
+ <title>Quels sont les buts de FreeBSD&nbsp;?</title>
+ <para>L'objectif du projet FreeBSD est de fournir un logiciel qui
+ puisse &ecirc;tre utilis&eacute; &agrave; n'importe quelle fin et sans aucun restriction.
+ Nombre d'entre nous sont impliqu&eacute;s de fa&ccedil;on significative dans le
+ code (et dans le projet) et ne refuseraient certainement pas une
+ petite compensation financi&egrave;re de temps &agrave; autre, mais ce n'est
+ certainement pas dans nos intentions d'insister l&agrave; dessus. Nous
+ croyons que notre premi&egrave;re et principale &ldquo;mission&rdquo;
+ est de fournir du code &agrave; tout le monde, pour n'importe quel projet,
+ de fa&ccedil;on &agrave; ce que l'il soit utilis&eacute; le plus possible et avec
+ le maximum d'avantages. C'est, nous le pensons, l'un des objectifs
+ les plus fondamentaux du Logiciel Libre et l'un de ceux que nous
+ soutenons avec enthousiasme.</para>
+
+ <para>Le code de l'arborescence des sources, qui est r&eacute;gi par la
+ Licence Publique GNU (&ldquo;GNU Public
+ License&rdquo;&nbsp;-&nbsp;GPL) ou
+ la Licence Publique GNU pour les Biblioth&egrave;ques (&ldquo;GNU Library
+ Public License&rdquo;&nbsp;-&nbsp;GLPL) impose l&eacute;g&egrave;rement plus de
+ contraintes, bien que plut&ocirc;t li&eacute;es &agrave; une disponibilit&eacute; plus grande
+ qu'au contraire, comme c'est g&eacute;n&eacute;ralement le cas. En raison des
+ complications suppl&eacute;mentaires qui peuvent r&eacute;sulter de l'utilisation
+ commerciale de logiciels GPL, nous essayons, cependant de remplacer
+ ces derniers par des logiciels soumis &agrave; la licence BSD qui est plus
+ souple, chaque fois que c'est possible.</para>
+ </sect1>
+
+ <sect1>
+ <title>Pourquoi le nom FreeBSD&nbsp;?</title>
+
+ <para><itemizedlist>
+ <listitem>
+ <para>Il peut &ecirc;tre utilis&eacute; gratuitement, m&ecirc;me pour un usage commercial.</para>
+ </listitem>
+ <listitem><para>L'int&eacute;gralit&eacute; des sources est disponible
+gratuitement, et le moins de restrictions possible ont &eacute;t&eacute; plac&eacute;es sur
+son utilisation, sa distribution et son incorporation dans d'autres travaux
+(&agrave; des fins commerciales ou non).</para>
+ </listitem>
+ <listitem><para>N'importe quelle personne qui a une nouvelle fonctionnalit&eacute;
+et/ou une correction de bogue peut soumettre une portion de
+code, qui pourra &ecirc;tre inclus dans l'arbre de
+d&eacute;veloppement (moyennant une ou deux conditions &eacute;videntes).</para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <para> Pour ceux de nos lecteurs dont la langue maternelle n'est
+pas l'anglais, il est important de rappeler que le mot "free"
+est utilis&eacute; ici de deux mani&egrave;res, l'une signifiant "gratuitement"
+et l'autre "vous pouvez faire ce que vous voulez".
+Except&eacute; une ou deux choses que vous <emphasis>ne pouvez</emphasis>
+pas faire avec le code FreeBSD, par exemple pr&eacute;tendre que vous l'avez
+d&eacute;velopp&eacute;, vous pouvez r&eacute;ellement faire ce que vous en voulez. </para>
+ </sect1>
+
+ <sect1>
+ <title>Quelle est la derni&egrave;re version de FreeBSD&nbsp;?</title>
+
+<!-- 1.30 @@ -->
+ <para>La <ulink url="ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/3.1-RELEASE"> version 3.1</ulink> est la derni&egrave;re version <emphasis remap="bf">stable</emphasis>&nbsp;; elle a &eacute;t&eacute; mise en circulation en f&eacute;vrier 1999.
+C'est aussi la derni&egrave;re version <emphasis remap="bf">
+RELEASE</emphasis>.
+</para>
+ <para>En quelques mots, la branche<emphasis
+remap="bf">-stable</emphasis> est destin&eacute;e aux fournisseurs d'acc&egrave;s &agrave;
+l'Internet et autres utilisateurs professionnels qui
+recherchent un syst&egrave;me stable ainsi que des changements mineurs lors de la
+mise &agrave; jour de leur syst&egrave;me en derni&egrave;re version.
+
+<!--
+Actuellement ces deux
+versions ne font qu'une, mais il ne devrait pas tarder avant que la branche <emphasis remap="bf">-current</emphasis> soit suffisemment polie pour une distribution g&eacute;n&eacute;rale. </para>
+
+ <para>Cela ne veut pas dire que la version 3.0-STABLE n'est pas
+utilisable en production, et beaucoup de personnes qui ont besoin de
+nouvelles fonctionnalit&eacute;s sp&eacute;cifiques &agrave; la version 3.0 (nouvelle version des compilateurs, code
+r&eacute;seau plus optimis&eacute;, etc) ont d&eacute;cid&eacute; de tenter leur chance sans probl&egrave;mes. Nous ne voulons
+tout simplement pas <quote>certifier</quote> la version 3.0 comme
+bonne pour le service avant qu'elle ne soit livr&eacute;e comme 3.1-RELEASE en f&eacute;vrier 1999.
+-->
+</para>
+ </sect1>
+
+ <sect1>
+ <title>Qu'est-ce que FreeBSD-current&nbsp;?</title>
+<!-- A RELIRE adresse relative/absolue a voir -->
+ <para><ulink
+url="http://www.freebsd-fr.org/handbook/current.html">FreeBSD-current</ulink>
+est la version de d&eacute;veloppement du syst&egrave;me d'exploitation, qui
+deviendra en temps utile la version 4.0-RELEASE. Comme telle, cette version ne peut
+int&eacute;resser que les d&eacute;veloppeurs du noyau ainsi que certains
+passionn&eacute;s. Voyez <ulink
+url="http://www.freebsd-fr.org/handbook/current.html"> la section
+appropri&eacute;e</ulink> du <ulink
+url="&url.handbook;index.html">manuel </ulink>
+pour plus de d&eacute;tails sur l'utilisation de -current.</para>
+
+ <para>Si vous n'&ecirc;tes pas familier avec ce syst&egrave;me d'exploitation,
+ou que vous n'&ecirc;tes pas capable de diff&eacute;rencier un probl&egrave;me temporaire
+d'un probl&egrave;me critique, vous ne devez pas utiliser
+FreeBSD-current. Cette branche &eacute;volue assez rapidement et peut ne pas
+&ecirc;tre compil&eacute;e pendant un certain temps.
+
+<!-- -->
+Les personnes utilisant
+FreeBSD-current doivent &ecirc;tre capables d'analyser n'importe quel
+probl&egrave;me et de ne rapporter que les erreurs utiles.
+
+<!--
+People that use FreeBSD-current are expected to be able to analyze any problems and only report them if they are deemed to be mistakes rather than ``glitches''.
+Questions such as ``make world produces some error about groups'' on the
+-current mailing list are sometimes treated with contempt.
+-->
+
+</para>
+
+ <para>Assez souvent, une <ulink
+url="http://www.fr.freebsd.org/releases/snapshots.html">version de
+test</ulink> est cr&eacute;&eacute;e depuis la branche de d&eacute;veloppement -current et
+occasionnellement une distribution sur CDROM est disponible. Les buts
+de chaque version de test sont les suivants:
+
+<itemizedlist>
+ <listitem>
+ <para>Tester la derni&egrave;re version du programme d'installation.</para>
+ </listitem>
+ <listitem>
+ <para>Donner aux personnes voulant utiliser -current mais
+n'ayant pas le temps ou la bande passante pour suivre jour apr&egrave;s jour
+les &eacute;volutions du syst&egrave;me, une fa&ccedil;on simple de faire
+&eacute;voluer leur syst&egrave;me.</para>
+
+ </listitem>
+ <listitem>
+ <para>Garder un point de synchronisation pour les sources
+du syst&egrave;me actuel, juste au cas ou nous casserions quelque chose
+plus tard d'une fa&ccedil;on irr&eacute;cup&eacute;rable (Bien sur, CVS nous emp&ecirc;che
+normalement d'en arriver l&agrave; :-).</para>
+
+ </listitem>
+ <listitem>
+<para>V&eacute;rifier que toutes les nouvelles fonctionnalit&eacute;s n&eacute;cessitant
+des tests ont le nombre maximum de testeurs potentiels.</para>
+ </listitem>
+ </itemizedlist>
+
+</para>
+ <para>Aucune garantie ne peut &ecirc;tre donn&eacute;e sur le fait que les
+versions de test puissent &ecirc;tre consid&eacute;r&eacute;es comme des versions "de
+production". Pour des syst&egrave;mes en production, vous devez attendre la
+version finale.</para>
+
+
+ <para>Les versions de test sont directement t&eacute;l&eacute;chargeables
+depuis <ulink url="ftp://current.freebsd.or/pub/FreeBSD"> ce
+site</ulink> et sont g&eacute;n&eacute;r&eacute;es en moyenne une fois par jour pour les
+branches 4.0-current et 3.0-stable.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Quel est le concept de la branche FreeBSD-stable&nbsp;?</title>
+
+<!-- A RELIRE adresse relative/absolue a voir -->
+ <para>Revenons un peu en arri&egrave;re, lorsque la version 2.0.5 de
+FreeBSD fut livr&eacute;e, nous avons d&eacute;cid&eacute; de scinder le d&eacute;veloppement en
+deux branches. Une nomm&eacute;e <ulink
+url="http://www.freebsd-fr.org/handbook/stable.html">-stable</ulink>,
+o&ugrave; nous avons d&eacute;cid&eacute; de n'inclure que les correctifs test&eacute;s et
+contenant quelques ajouts de fonctionnalit&eacute;s (pour les fournisseurs
+d'acc&egrave;s ou les soci&eacute;t&eacute;s &agrave; vocation commerciale o&ugrave; les fonctionnalit&eacute;s
+exp&eacute;rimentales sont plus qu'ind&eacute;sirables). L'autre nomm&eacute;e
+<ulink
+url="http://www.freebsd-fr.org/handbook/current.html">-current</ulink>
+qui nous emm&egrave;nera jusqu'&agrave; la version 4.0-RELEASE (et audel&agrave;) depuis la livraison 2.0. Un dessin
+ASCII qui vous montre &agrave; quoi ressemble l'arbre de d&eacute;veloppement&nbsp;:
+</para>
+
+ <figure>
+ <title>L'arbre de d&eacute;veloppement</title>
+ <programlisting>
+ 2.0
+ |
+ |
+ | [2.1-stable]
+*Nouvelle BRANCHE* 2.0.5 -> 2.1 -> 2.1.5 -> 2.1.6 -> 2.1.7.1 [fin de la branche 2.1-stable]
+ | (Mars 1997)
+ |
+ |
+ | [2.2-stable]
+*Nouvelle BRANCHE* 2.2.1 -> 2.2.2-RELEASE -> 2.2.5 -> 2.2.6 -> 2.2.7 -> 2.2.8 [fin]
+ |(Mars 1997) (Octobre 97) (Avril 98) (Juillet 98) (D&eacute;cembre 1998)
+ |
+ |
+ 3.0-SNAPs (Debut 1er trimestre 1997)
+ |
+ |
+ 3.0.0-RELEASE (Octobre 1998)
+ |
+ | [3.0-stable]
+*Nouvelle BRANCHE* 3.1 (Feb 1999) -> ... future 3.x releases ...
+ |
+ |
+ \|/
+ +
+ [4.0-current continues]
+</programlisting>
+ </figure>
+
+ <para> La branche -current progresse lentement vers la version 4.0 et au-del&agrave;,
+la branche 2.2-stable &eacute;tant termin&eacute;e avec la version 2.2.8.
+La branche 3.0-stable l'a maintenant remplac&eacute;e, la prochaine version arrivant avec la 3.1 au d&eacute;but 1999 .
+La version 4.0-current est maintenant la "branche
+courante" avec les premi&egrave;res versions 4.0 apparaissant au premier trimestre 2000.</para>
+
+
+ </sect1>
+
+<!-- suppression de la section "Pourquoi la branche 2.1-stable se finit-elle par la version 2.1.7.1 ?" -->
+
+ <sect1>
+ <title>Quand sont livr&eacute;es les versions de FreeBSD&nbsp;?</title>
+
+ <para>Les nouvelles versions de FreeBSD sont livr&eacute;es quand
+l'&eacute;quipe principale de FreeBSD d&eacute;cide qu'il y a suffisamment de
+nouveaut&eacute;s et/ou de correctifs pour justifier d'une version, et
+lorsqu'ils sont satisfaits des modifications apport&eacute;es et qu'elles ne
+compromettent pas la stabilit&eacute; de la version. Beaucoup d'utilisateurs
+pensent que cela fait partie des meilleures choses de FreeBSD, m&ecirc;me si
+cela peut &ecirc;tre un peu frustrant d'attendre que les derniers ajouts
+soient disponibles.</para>
+
+
+ <para> Les versions sont livr&eacute;es &agrave; peu pr&egrave;s tous les 4 mois en moyenne.</para>
+
+ <para> Pour les personnes qui ont besoin (ou veulent) d'un peu
+plus de risques, il y a les versions SNAP qui sont livr&eacute;es un peu plus
+souvent (&agrave; peu pr&egrave;s tous les mois). </para>
+
+ </sect1>
+
+ <sect1>
+ <title>Sur quelles plate-formes, autre que les PC, est disponible FreeBSD&nbsp;?</title>
+
+ <para>Actuellement FreeBSD 3.x tourne sur une plate-forme <ulink
+url="../alpha/alpha.html">DEC Alpha </ulink> aussi bien que sur les architecture x86. Un int&eacute;r&ecirc;t a &eacute;t&eacute; exprim&eacute; pour un portage sur <ulink
+url="http://www.freebsd.org/~jseger/freebsd-sparc/">UltraSPARC</ulink>
+mais les d&eacute;tails de ce projet ne sont pas encore clairs.</para>
+
+ <para>Si vous disposez d'une autre architecture, nous vous
+conseillons d'aller voir aux URLs suivantes:
+<itemizedlist>
+ <listitem>
+ <para><ulink
+url="http://www.netbsd.org">NetBSD</ulink></para>
+ </listitem>
+ <listitem>
+ <para><ulink
+url="http://www.openbsd.org">OpenBSD</ulink></para>
+ </listitem>
+
+ </itemizedlist>
+</para>
+ </sect1>
+
+ <sect1>
+ <title>Qui sont les responsables de FreeBSD&nbsp;?</title>
+
+ <para>Les d&eacute;cisions concernant le projet FreeBSD, comme les
+directions que vont prendre le projet ainsi que les personnes
+autoris&eacute;es &agrave; ajouter du code dans le noyau, sont fix&eacute;es par <ulink
+url="&url.handbook;staff.html#STAFF-CORE">l'&eacute;quipe principale </ulink>,
+compos&eacute;e d'environ 15 personnes. Il y a une &eacute;quipe un peu plus large
+d'environ <ulink url="&url.handbook;staff-committers.html"> 150
+personnes</ulink> qui ont le droit d'effectuer des changements dans le
+code.</para>
+
+ <para>Bien s&ucirc;r, la plupart des changements sont discut&eacute;s au
+pr&eacute;alable dans les listes de messagerie, et il n'y a aucune restriction
+sur qui peut prendre part &agrave; la discussion.</para>
+
+
+ </sect1>
+
+ <sect1>
+ <title>O&ugrave; peut-on trouver FreeBSD&nbsp;?</title>
+
+ <para>Toutes les versions sont disponibles via un ftp anonyme
+sur le <ulink url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/">site ftp de
+FreeBSD</ulink>
+
+<itemizedlist>
+ <listitem>
+ <para>Pour la version 2.2-stable, 2.2.8R, voir le r&eacute;pertoire
+<ulink url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/release/2.2.8-RELEASE/">
+2.2.8-RELEASE</ulink>.</para>
+ </listitem>
+ <listitem>
+ <para>Pour la version 3.0-stable, 3.0-RELEASE, voir le
+r&eacute;pertoire <ulink
+url="ftp://current.freebsd.org/pub/FreeBSD/release/3.0-RELEASE">3.0-RELEASE</ulink>.</para>
+ </listitem>
+ <listitem>
+
+ <para>Les versions <ulink
+url="ftp://releng22.freebsd.org/pub/FreeBSD/">de tests 2.2 </ulink>
+sont compil&eacute;es une fois par jour tout au long de la vie de la branche
+RELENG_2_2 (post 2.2.8). Sauf gros incident, la branche RELENG_2_2
+est maintenue avec extr&ecirc;mement d'attention (pas de changements
+exp&eacute;rimentaux, correctifs ajout&eacute;s apr&egrave;s test dans la branche -current
+uniquement).</para>
+
+ </listitem>
+ <listitem><para>Les versions <ulink
+url="ftp://releng30.freebsd.org/pub/FreeBSD/"> de test 3.0</ulink> sont
+compil&eacute;es une fois par jour depuis la branche RELENG_3 (post 3.0-release)jusqu'&agrave; la 3.1-RELEASE.</para>
+
+ </listitem>
+ <listitem><para>Les versions <ulink
+url="ftp://current.freebsd.org/pub/FreeBSD/"> de test 4.0</ulink> sont
+compil&eacute;es une fois par jour depuis la branche -current, ce service
+&eacute;tant juste l&agrave; pour les personnes voulant la tester, ou les
+d&eacute;veloppeurs.</para>
+
+ </listitem>
+ </itemizedlist>
+</para>
+ <para> FreeBSD est aussi disponible par CDROM chez&nbsp;:</para>
+<para>En France
+<programlisting>
+Le Monde en Tique
+6 rue du Ma&icirc;tre Albert
+75005 PARIS
+FRANCE
+T&eacute;l&eacute;phone :01 55 42 73 73
+T&eacute;l&eacute;copie :01 55 42 73 74
+WWW:<ulink url="http://www.lmet.fr">Serveur WWW du Monde en Tique</ulink>
+Ouverture : Du lundi au samedi, de 9h30 &agrave; 19h30 sans interruption
+M&eacute;tro : Ligne 10 : Station Maubert - Mutualit&eacute;
+Rer B : Cluny - La Sorbonne, Sortie : Boulevard Saint-Michel - Boulevard Saint-Germain
+Rer C : Saint Michel - Notre Dame, Sortie : Notre-Dame
+</programlisting>
+<programlisting>
+Infoth&egrave;que
+32, rue de Moscou
+75008 Paris
+T&eacute;l&eacute;phone:01 45 22 67 01
+T&eacute;l&eacute;copie:01 42 93 73 83
+WWW: <ulink url="http://www.infotheque.com">Serveur WWW de infotheque</ulink>
+</programlisting>
+
+</para>
+
+ <para>Aux USA
+<programlisting>
+Walnut Creek CDROM
+4041 Pike Lane, Suite F
+Concord, CA 94520 USA
+Commandes: +1 800 786-9907
+Questions: +1 925 674-0783
+FAX: +1 925 674-0821
+email: <ulink url="mailto:orders@cdrom.com">Commandes Walnut Creek</ulink>
+WWW: <ulink url="http://www.cdrom.com/">Serveur WWW de Walnut Creek</ulink>
+</programlisting>
+</para>
+
+ <para> En Australie chez :
+<programlisting>
+Advanced Multimedia Distributors
+Factory 1/1 Ovata Drive
+Tullamarine, Melbourne
+Victoria
+Australia
+Tel: +61 3 9338 6777
+
+CDROM Support BBS
+17 Irvine St
+Peppermint Grove WA 6011
+Tel: +61 9 385-3793
+Fax: +61 9 385-2360
+</programlisting>
+</para>
+ <para> En Angleterre :
+<programlisting>
+The Public Domain &amp; Shareware Library
+Winscombe House, Beacon Rd
+Crowborough
+Sussex. TN6 1UL
+Tel: +44 1892 663-298
+Fax: +44 1892 667-473
+</programlisting>
+</para>
+ </sect1>
+
+ <sect1>
+ <title>O&ugrave; trouver de l'information sur les listes de messagerie&nbsp;?</title>
+
+ <para>Vous trouverez ces informations dans <ulink
+url="&url.handbook;eresources.html#ERESOURCES-MAIL">la section sur les listes de diffusion du manuel</ulink>
+</para>
+ </sect1>
+
+ <sect1>
+ <title>Quels sont les forums de discussion disponibles sur FreeBSD&nbsp;?</title>
+
+ <para> Tous les forums sont list&eacute;s dans la section sur <ulink
+url="&url.handbook;eresources.html">les forums de
+discussion</ulink> du manuel</para>
+ </sect1>
+
+ <sect1>
+<!-- A RELIRE -->
+ <title>Existe-t-il des canaux IRC(Internet Relay Chat) sur FreeBSD&nbsp;?</title>
+
+ <para>Oui, la plupart des r&eacute;seaux IRC comportent un canal FreeBSD.
+<itemizedlist>
+ <listitem>
+ <para>Le canal <emphasis remap="tt">#FreeBSD</emphasis> sur EFNET est s&ucirc;rement le plus populaire et est disponible sur <emphasis remap="tt">irc.chat.org</emphasis>.</para>
+ </listitem>
+ <listitem>
+ <para>Le canal <emphasis remap="tt">#FreeBSD</emphasis> sur DALNET est disponible sur <emphasis remap="tt">irc.dal.net </emphasis> pour les US et sur <emphasis remap="tt">irc.eu.dal.net</emphasis> pour l'Europe.</para>
+ </listitem>
+ <listitem>
+ <para>Le canal <emphasis remap="tt">#FreeBSD</emphasis> sur UNDERNET est disponible sur <emphasis remap="tt">us.undernet.org</emphasis> pour les US et sur <emphasis remap="tt">eu.undernet.org</emphasis> pour l'Europe.</para>
+ </listitem>
+ <listitem>
+ <para>Enfin vous pouvez rejoindre <emphasis remap="tt">#FreeBSD</emphasis> sur BSDNET, un petit serveur de chat BSD sur <emphasis remap="tt">irc.FreeBSD.org</emphasis></para>
+ </listitem>
+ </itemizedlist>
+</para>
+
+ <para>Tous ces canaux sont distincts et ne sont pas
+interconnect&eacute;s entre eux. Les discussions sur chaque canal diff&egrave;rent,
+donc essayez-les tous avant de trouver celui qui vous convient.</para>
+ </sect1>
+
+ <sect1>
+<!-- A RELIRE -->
+ <title>Quels sont les livres parlant de FreeBSD ?</title>
+
+ <para>Le livre de Greg Lehey's <quote>stalling and Running
+FreeBSD</quote> est disponible chez Walnut Creek CDROM et comprend le CDROM
+de la version 2.2.8. Il y a aussi un livre plus important nomm&eacute; <quote>The
+Complete FreeBSD</quote> qui est lui livr&eacute; avec certaines pages de manuel et
+qui inclut aussi les CDROMs de la version 2.2.8. Ils devraient aussi
+etre disponibles dans toutes les bonnes librairies.</para>
+
+ <para>Il existe aussi un projet se nommant "FreeBSD
+Documentation Project", que vous pouvez contacter (ou mieux, joindre)
+sur la <quote>liste de diffusion doc</quote> <ulink
+url="mailto:freebsd-doc@FreeBSD.ORG">&lt;freebsd-doc@FreeBSD.ORG&gt;</ulink>.
+Cette liste a pour but de discuter sur la documentation de FreeBSD.
+Les questions plus g&eacute;n&eacute;rales sur FreeBSD sont &agrave; poser dans la "mailing
+list" <ulink
+url="mailto:freebsd-questions@FreeBSD.ORG">&lt;freebsd-questions@FreeBSD.ORG&gt;</ulink>.</para>
+
+ <para>Un <ulink
+url="&url.handbook;index.html">``manuel''</ulink> sur FreeBSD est
+disponible. Sachez, pour information, que ce manuel est en perp&eacute;tuelle
+&eacute;volution, et que certaines parties peuvent &ecirc;tre incompl&egrave;tes.</para>
+
+ <para>Comme FreeBSD 2.2.X est bas&eacute; sur la version 4.4.BSD-lite2,
+la plupart des manuels relatifs &agrave; 4.4BSD peuvent s'appliquer &agrave;
+FreeBSD. Des versions imprim&eacute;es sont disponibles chez O'Reilly:
+
+<itemizedlist>
+ <listitem>
+<programlisting>
+4.4BSD System Manager's Manual By Computer Systems Research Group, UC
+Berkeley 1st Edition June 1994, 804 pages <ulink
+url="&isbn.amazon/1-56592-080-5">ISBN 1-56592-080-5</ulink>
+</programlisting>
+ </listitem>
+ <listitem>
+<programlisting>
+4.4BSD User's Reference Manual By Computer Systems Research Group, UC
+Berkeley 1st Edition June 1994, 905 pages <ulink
+url="&isbn.amazon/1-56592-075-9">ISBN 1-56592-075-9 </ulink>
+</programlisting>
+ </listitem>
+ <listitem>
+ <programlisting>
+4.4BSD User's Supplementary Documents By Computer Systems Research
+Group, UC Berkeley 1st Edition July 1994, 712 pages <ulink
+url="&isbn.amazon/1-56592-076-7">ISBN 1-56592-076-7</ulink>
+</programlisting>
+ </listitem>
+ <listitem>
+ <programlisting>
+4.4BSD Programmer's Reference Manual By Computer Systems Research
+Group, UC Berkeley 1st Edition June 1994, 886 pages <ulink
+url="&isbn.amazon/1-56592-078-3">ISBN 1-56592-078-3</ulink>
+
+
+</programlisting>
+</listitem>
+
+ <listitem>
+ <programlisting>
+4.4BSD Programmer's Supplementary Documents By Computer Systems
+Research Group, UC Berkeley 1st Edition July 1994, 596 pages <ulink
+url="&isbn.amazon/1-56592-079-1">ISBN 1-56592-079-1</ulink>
+
+</programlisting>
+</listitem>
+ </itemizedlist>
+</para>
+ <para>Une courte description de ces livres est disponible via
+WWW &agrave; l'adresse suivante : <ulink
+url="http://gnn.com/gnn/bus/ora/category/bsd.html">http://gnn.com/gnn/bus/ora/category/bsd.html</ulink>.
+Vu le peu de ventes, ces livres sont relativement difficiles a trouver.</para>
+
+ <para>Pour plus d'informations sur le noyau 4.4BSD vous pouvez vous
+reporter au livre suivant :
+
+<programlisting>
+McKusick, Marshall Kirk, Keith Bostic, Michael J Karels, and John Quarterman.
+
+<emphasis>The Design and Implementation of the 4.4BSD Operating System</emphasis>.
+ Reading, Mass. : Addison-Wesley, 1996.
+<ulink url="&isbn.amazon/0-201-54979-4">ISBN 0-201-54979-4</ulink>
+</programlisting>
+</para>
+
+
+ <para>Un bon livre sur l'administration syst&egrave;me:
+<programlisting>
+Evi Nemeth, Garth Snyder, Scott Seebass &amp; Trent R. Hein,
+``Unix System Administration Handbook'', Prentice-Hall, 1995
+<ulink url="&isbn.amazon/0-13-151051-7">ISBN 0-13-151051-7</ulink>
+</programlisting>
+
+<emphasis remap="bf">Attention &agrave; bien acheter la deuxi&egrave;me &eacute;dition,
+version avec la couverture rouge, et non pas la premi&egrave;re.</emphasis>
+</para>
+
+ <para>Ce livre couvre les bases de l'administration syst&egrave;me
+aussi bien que TCP/IP, le DNS, NFS, SLIP/PPP, sendmail, INN/NNTP,
+l'impression, etc... Il est assez on&eacute;reux (environ 300-350 FF) mais
+est indispensable. Il comprend en plus un CDROM contenant &eacute;norm&eacute;ment
+d'outils, dont la plupart sont inclus sur les CDROM de FreeBSD.</para>
+ </sect1>
+
+ <sect1>
+<!-- A RELIRE voir : send-pr(1)-->
+ <title>Comment acc&egrave;der &agrave; la base de donn&eacute;es des probl&egrave;mes&nbsp;?</title>
+
+ <para>La base de donn&eacute;es des probl&egrave;mes est accessible (pour
+soumission ou interrogation) en utilisant votre navigateur WWW <ulink
+url="http://www.freebsd.org/send-pr.html"> pour la soumission</ulink>
+ou <ulink url="http://www.freebsd.org/cgi/query-pr-summary.cgi"> pour
+l'interrogation </ulink>. La commande <emphasis>send-pr(1)</emphasis>
+peut aussi &ecirc;tre utilis&eacute;e pour soumettre des probl&egrave;mes et des
+modifications par courrier &eacute;lectronique.</para>
+
+
+ </sect1>
+
+ <sect1>
+<!-- A RELIRE voir les tailles des fichiers -->
+ <title>O&ugrave; peut-on trouver des versions ASCII/PostScript de cette FAQ&nbsp;?</title>
+
+ <para> La derni&egrave;re version de cette FAQ est disponible sur le serveur
+WWW de FreeBSD ou sur tout serveur miroir en PostScript ou texte (ASCII 7 bits et Latin1 8bit).</para>
+<!-- A RELIRE adresse relative/absolue a voir -->
+ <para>Le PostScript (environ 370Ko) :<ulink
+url="http://www.freebsd-fr.org/FAQ/FAQ.ps">http://www.freebsd-fr.org/FAQ/FAQ.ps</ulink></para>
+<!--
+ La version ASCII n'est plus disponible
+ <para>En ASCII (environ 220KB):<ulink
+url="http://www.freebsd-fr.org/FAQ/FAQ.ascii">http://www.freebsd-fr.org/FAQ/FAQ.ascii</ulink></para>
+-->
+
+<!-- A RELIRE adresse relative/absolue a voir -->
+ <para>En format texte ISO 8859-1 (environ 220Ko): <ulink
+url="http://www.freebsd-fr.org/FAQ/FAQ.txt">http://www.freebsd-fr.org/FAQ/FAQ.txt</ulink></para>
+
+ </sect1>
+
+ <sect1>
+<!-- A RELIRE voir les tailles des fichiers -->
+
+ <title>O&ugrave; peut-on trouver des versions ASCII/PostScript du manuel&nbsp;?</title>
+
+ <para> La derni&egrave;re version du manuel est disponible sur le serveur
+WWW de FreeBSD ou sur tout serveur miroir en PostScript ou texte (ASCII 7 bits et Latin1 8bit).</para>
+<!-- A RELIRE adresse relative/absolue a voir -->
+ <para>Le PostScript (environ 1.7Mo) :<ulink
+url="http://www.freebsd-fr.org/handbook/handbook.ps">http://www.freebsd-fr.org/handbook/handbook.ps</ulink></para>
+<!--
+ La version ASCII n'est plus disponible
+ <para>En ASCII (environ 220KB):<ulink
+url="http://www.freebsd-fr.org/handbook/handbook.ascii">http://www.freebsd-fr.org/handbook/handbook.ascii</ulink></para>
+-->
+
+<!-- A RELIRE adresse relative/absolue a voir -->
+ <para>En format texte ISO 8859-1 (environ : 1.1Mo) :<ulink
+url="http://www.freebsd-fr.org/handbook/handbook.txt">http://www.freebsd-fr.org/handbook/handbook.txt</ulink></para>
+
+ </sect1>
+ <sect1>
+<!-- A RELIRE voir la commande col -->
+
+ <title>La version ASCII du manuel ne contient pas que du texte !</title>
+
+ <para>C'est vrai. Les versions ASCII et Latin1 de la FAQ et du
+manuel ne contiennent pas que du texte. Elles
+contiennent des soulign&eacute;s et d'autres codes qui supposent que
+l'impression sera faite sur une imprimante matricielle. Si vous avez
+besoin de reformater ces fichiers sous une forme plus lisible, lancez
+la commande col sur le fichier&nbsp;:
+
+<programlisting>
+$ col -b < fichierOrigine > fichierSortie
+</programlisting>
+</para>
+ </sect1>
+
+ <sect1>
+<!-- A RELIRE voir la commande rsync -->
+
+ <title>Je voudrais devenir un miroir WWW de FreeBSD&nbsp;!</title>
+
+ <para>Bien s&ucirc;r&nbsp;! Diff&eacute;rents moyens permettent de synchroniser les pages WWW.
+
+<itemizedlist>
+ <listitem>
+
+ <para>En utilisant CVSUP: vous pouvez retrouver les pages
+format&eacute;es en HTML en utilisant CVSUP depuis cvsup.freebsd.org. Ajoutez
+simplement cette ligne &agrave; votre fichier cvsup:
+
+<programlisting>
+www release=current hostname=/home base=/usr/local/etc/cvsup
+prefix=/usr/local/www/data/www.freebsd.org delete old use-rel-suffix
+</programlisting>
+</para>
+ </listitem>
+ <listitem>
+ <para>En utilisant rsync: voir la <ulink
+url="http://www.freebsd.org/internal/mirror.html"> page sur les
+miroirs</ulink> pour les informations.</para>
+
+ </listitem>
+ <listitem>
+ <para>En utilisant un miroir ftp: vous pouvez t&eacute;l&eacute;charger
+la copie sur serveur WWW se trouvant sur le serveur ftp. Les fichiers
+se trouvent &agrave; ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/www
+.</para>
+
+ </listitem>
+ </itemizedlist>
+</para>
+ </sect1>
+
+ <sect1>
+ <title>Je veux traduire la documentation en Javanais</title>
+
+ <para> On ne peut pas vous payer, mais on peut s'arranger pour
+vous envoyer un CDROM gratuit ou un T-shirt et une entr&eacute;e dans la
+liste des contributeurs du Handbook si vous nous soumettez une
+traduction de la documentation.</para>
+ </sect1>
+
+ <sect1>
+ <title>Autres sources d'informations.</title>
+
+ <para>Les forums de discussion suivants se rapportent &agrave; FreeBSD
+
+<itemizedlist>
+ <listitem>
+ <para><ulink
+url="news:fr.comp.os.bsd">fr.comp.os.bsd</ulink> (en francais)</para>
+ </listitem>
+ <listitem>
+ <para><ulink url="news:comp.unix.bsd.freebsd.announce">
+comp.unix.bsd.freebsd.announce</ulink> (en anglais - mod&eacute;r&eacute;) </para>
+ </listitem>
+ <listitem>
+ <para><ulink
+url="news:comp.unix.bsd.freebsd.misc">comp.unix.bsd.freebsd.misc</ulink> (en anglais)</para>
+ </listitem>
+ <listitem>
+ <para><ulink
+url="news:comp.unix.bsd.misc">comp.unix.bsd.misc</ulink> (en anglais)</para>
+ </listitem>
+ </itemizedlist>
+</para>
+
+ <para>Ressources WWW:
+<itemizedlist>
+ <listitem>
+ <para>La <ulink url="http://www.freebsd.org/">page
+principale de FreeBSD</ulink></para>
+ </listitem>
+ <listitem>
+ <para>La <ulink url="http://www.freebsd-fr.org/">page
+principale de fr.FreeBSD</ulink></para>
+ </listitem>
+ <listitem>
+ <para><anchor id="pao">Si vous poss&eacute;dez un portable, vous devez visiter la
+page de <ulink url="http://www.jp.FreeBSD.org/PAO/">Tatsumi Hosokawa's
+Mobile Computing</ulink> au Japon</para>
+ </listitem>
+ <listitem>
+ <para>Pour plus d'informations sur SMP (Symmetric
+MultiProcessing) voyez la <ulink
+url="http://www.freebsd.org/~fsmp/SMP/SMP.html">page du support
+SMP</ulink></para>
+ </listitem>
+ <listitem>
+ <para>Pour plus d'informations sur les applications multimedia FreeBSD
+, voyez la page <ulink
+url="http://www.freebsd.org/~faulkner/multimedia/mm.html">
+multim&eacute;dia</ulink>. Si vous vous int&eacute;ressez plus sp&eacute;cialement &agrave; la capture vid&eacute;o Bt848
+suivez ce <ulink url="http://www.freebsd.org/~ahasty/Bt848.html">
+lien</ulink>.</para>
+ </listitem>
+ </itemizedlist>
+</para>
+ <para>Le manuel de FreeBSD contient une section <ulink
+url="&url.handbook;bibliography.html"> bibliographie</ulink> plus
+importante, si vous recherchez d'autres livres ou informations.</para>
+ </sect1>
+
+</chapter>
diff --git a/fr_FR.ISO_8859-1/books/faq/serial.sgml b/fr_FR.ISO_8859-1/books/faq/serial.sgml
new file mode 100644
index 0000000000..0aaacc1d51
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/faq/serial.sgml
@@ -0,0 +1,626 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+ <chapter id="serial">
+ <title>Communications par port s&eacute;rie</title>
+ <para>Cette section comporte les r&eacute;ponses aux diff&eacute;rentes
+questions sur la communication par port s&eacute;rie sur FreeBSD. Les
+protocoles PPP et SLIP sont couverts dans la section R&eacute;seaux.</para>
+
+
+ <sect1>
+ <title>Comment savoir si FreeBSD a trouv&eacute; mes ports s&eacute;ries ?</title>
+ <para> Lorsque FreeBSD d&eacute;marre, il recherche les ports s&eacute;rie sur
+votre machine qui sont configur&eacute;s dans le noyau. Vous pouvez voir ces
+ports en regardant avec attention au moment du d&eacute;marrage les messages
+affich&eacute;s, ou en lan&ccedil;ant la commande suivante:</para>
+<para><programlisting>
+dmesg | grep sio
+</programlisting>
+</para>
+ <para>Lorsque votre syst&egrave;me a d&eacute;marr&eacute;. Voici quelques exemples
+de l'affichage de la commande pr&eacute;c&eacute;dente.
+<programlisting>
+sio0 at 0x3f8-0x3ff irq 4 on isa
+sio0: type 16550A
+sio1 at 0x2f8-0x2ff irq 3 on isa
+sio1: type 16550A
+</programlisting>
+Vous voyez alors apparaitre deux ports s&eacute;rie. Le premier se trouve &agrave;
+l'adresse <filename>0x3f8</filename> sur l'IRQ 4 et est compos&eacute; d'une
+puce de type 16550A. Le second est de meme type que le premier, mais
+se trouve lui &agrave; l'adresse <filename>0x2f8</filename> sur l'IRQ 3. Les
+cartes modems internes sont trait&eacute;s comme des ports s&eacute;rie -- sauf
+qu'ils ont toujours un modem sur le port.
+</para>
+
+ <para>Le noyau <emphasis remap="tt">GENERIC</emphasis> comprends
+le support pour deux ports s&eacute;rie dont les adresses et les IRQ sont les
+memes que celles ci-dessus. Si ces valeurs ne vous conviennent pas, ou
+si vous avez des cartes modems additionnelles ou des cartes s&eacute;rie,
+reconfigurez un noyau. Voyez la section sur la reconstruction d'un
+noyau pour plus de d&eacute;tails.</para>
+ </sect1>
+
+ <sect1>
+ <title>Comment savoir si FreeBSD a trouv&eacute; mes cartes modems</title>
+ <para>R&eacute;f&eacute;rez vous &agrave; la section pr&eacute;c&eacute;dente </para>
+ </sect1>
+
+ <sect1>
+ <title>Je viens de mettre &agrave; jour ma machine en 2.0.5 et mes <emphasis remap="tt"> tty0x</emphasis> ont diparus ! </title>
+ <para>Ne vous inquitez pas, ils sont &eacute;t&eacute; remplac&eacute;s par les
+devices <emphasis remap="tt">ttydX</emphasis>. Vous devrez donc
+changer toutes vos anciennes configurations pour utiliser ces
+devices.</para>
+ </sect1>
+
+ <sect1>
+ <title>Comment acc&eacute;der aux ports s&eacute;rie sous FreeBSD ? </title>
+
+ <para>Le troisi&egrave;me port s&eacute;rie <ulink
+url="http://www.freebsd.org/cgi/man.cgi?sio">sio2 </ulink>(aussi
+appel&eacute; COM3 sous DOS), s'appelle <emphasis remap="tt">
+/dev/cuaa2</emphasis> en sortie, et <emphasis remap="tt">
+/dev/ttyd2 </emphasis> en entr&eacute;e. Quelle est la diff&eacute;rence entre ces
+deux classes de devices ?</para>
+
+ <para>Vous devez utiliser <emphasis remap="tt"> ttydX
+</emphasis> pour des appels sortants. Lorsque vous ouvrez <emphasis
+remap="tt"> /dev/ttydX </emphasis> en mode bloquant, un processus
+attend, sur le device <emphasis remap="tt"> cuaaX </emphasis>
+correspondant, qu'il soit inactif, et attends alors de d&eacute;tecter la
+porteuse sur la ligne. Lorsque vous ouvrez le port <emphasis
+remap="tt"> cuaaX </emphasis>, un processus v&eacute;rifie d&eacute;j&agrave; que le port
+<emphasis remap="tt"> ttydX </emphasis> correspondant est
+disponible. Si le port est disponible, alors il se l'approprie depuis
+le port <emphasis remap="tt"> ttydX </emphasis>. Le port <emphasis
+remap="tt"> cuaaXX </emphasis> ne tient pas compte de la d&eacute;tection de
+porteuse. Gra&ccedil;e a cette fonctionnalit&eacute; et un modem, vous pouvez avoir
+des utilisateurs se logguant sur votre machine tout en vous laissant
+appeller via le meme modem, c'est le syst&egrave;me qui se pr&eacute;ocupera de
+g&eacute;rer les conflits.</para>
+
+ </sect1>
+ <sect1>
+ <title>Comment activer le support pour les cartes s&eacute;ries multiports</title>
+ <para>Encore une fois, reportez vous &agrave; la section sur la
+ configuration du noyau. Pour une carte s&eacute;rie multiports placez
+ une ligne <ulink
+ url="http://www.freebsd.org/cgi/man.cgi?sio">sio</ulink>
+ pour chaque port s&eacute;rie de la carte dans le fichier de
+ configuration du noyau. Ne mettez pour une valeur l'irq et le
+ vecteur d'adresse de la carte. Tous les ports de la cartes
+ doivent partager la m&ecirc;me irq. Pour des raisons de
+ coh&eacute;rence, sp&eacute;cifiez l'irq pour le dernier port. N'oubliez pas
+ d'ajouter l'option <emphasis remap="tt"> COM_MULTIPORT </emphasis>.
+ </para>
+ <para>L'example suivant correspond &agrave; une carte s&eacute;rie 4ports AST
+ sur l'irq 7</para>
+ <programlisting>
+options "COM_MULTIPORT"
+device sio4 at isa? port 0x2a0 tty flags 0x781
+device sio5 at isa? port 0x2a8 tty flags 0x781
+device sio6 at isa? port 0x2b0 tty flags 0x781
+device sio7 at isa? port 0x2b8 tty flags 0x781 irq 7 vector siointr
+</programlisting>
+
+ <para>Les drapeaux (flags) indiquent que le port maitre &agrave; un
+ nombre mineur de 7 (<emphasis remap="tt">0x700</emphasis>),
+ que nous d&eacute;sirons afficher les diagnostics (<emphasis
+ remap="tt">0x080</emphasis>) et que tous les ports
+ partagent la m&ecirc;me irq (<emphasis
+ remap="tt">0x001</emphasis>).
+ </para>
+
+ </sect1>
+
+ <sect1>
+ <title>Est-ce que FreeBSD sait g&eacute;rer les cartes s&eacute;ries multiports en partageant les IRQ ?</title>
+
+ <para>Pas pour le moment. Vous devez utiliser une IRQ diff&eacute;rente
+pour chaque carte.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Puis-je d&eacute;finir les param&egrave;tres par d&eacute;faut de la liaison s&eacute;rie pour un port?</title>
+
+ <para>Les p&eacute;riph&eacute;riques <emphasis remap="tt"> ttydX </emphasis>
+ (ou <emphasis remap="tt">cuaaX</emphasis>) sont des
+ p&eacute;riph&eacute;riques normaux que vous pouvez ouvrir dans vos
+ applications. Lorsqu'un processus ouvre le p&eacute;riph&eacute;rique, il
+ utilise les param&egrave;tres par d&eacute;faut d'entr&eacute;es sorties de
+ terminal. Vous pouvez voir ces param&egrave;tres en utilisant la
+ commande:
+ </para>
+ <programlisting>
+stty -a -f /dev/ttyd1
+ </programlisting>
+
+ <para>Lorsque vous changez les param&egrave;tres du p&eacute;riph&eacute;rique, ces
+ param&egrave;tres sont effectifs jusqu'au moment ou vous arreterez de
+ vous servir de ce p&eacute;riph&eacute;rique. S'il est ouvert de nouveau, il
+ reprendra les param&egrave;tres par d&eacute;faut. Pour changer les
+ param&egrave;tres par d&eacute;faut , vous devez ouvrir le p&eacute;riph&eacute;rique et
+ changer les param&egrave;tres de l'``&eacute;tat initial'' du
+ p&eacute;riph&eacute;rique. Par exemple pour d&eacute;finit un mode <emphasis
+ remap="tt">LOCAL</emphasis>, 8bits et un controle de flux
+ <emphasis remap="tt"> XON/XOFF </emphasis> par d&eacute;faut sur le
+ ttyd5, voud devez :
+ </para>
+ <programlisting>
+stty -f /dev/ttyd5 clocal cs8 ixon ixoff
+</programlisting>
+
+ <para>Le mailleur endroit pour effectuer ceci est le fichier de
+ d&eacute;marrage <filename>/etc/rc.serial</filename>. Maintenant
+ lorsqu'une application ovrira <emphasis remap="tt">
+ ttyd5</emphasis> elle obtiendra les valeurs ci-dessus.
+ </para>
+ <para>Vous pouvez empecher certaines valeurs d'etre modifi&eacute;es en
+ utilisant le fonction de ``lock'' du p&eacute;riph&eacute;rique. Par exemple
+ pour forcer la vitesse &agrave; 57600bauds sur <emphasis remap="tt">
+ ttyd5 </emphasis>:</para>
+ <programlisting>
+stty -f /dev/ttyd5 57600
+ </programlisting>
+
+ <para>Maintenant lorsqu'un programme ouvrira <emphasis
+ remap="tt">ttyd5</emphasis> et tentera de changer la vitesse
+ du port, il obtiendra toujours 57600 bauds.</para>
+ <para> Bien sur, vous devez laisser la possibilit&eacute; de changer les
+ &eacute;tats initiaux et de lock que pour l'utilisateur root. Le
+ script <ulink
+ url="http://www.freebsd.org/cgi/man.cgi?MAKEDEV"> MAKEDEV
+ </ulink> <emphasis remap="bf"> ne le fait pas </emphasis> par
+ d&eacute;faut lorsqu'il cr&eacute;e les noeuds.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Comment mettre en place un login dialup sur mon modem?</title>
+ <para>Vous voulez devenir fournisseur d'acc&egrave;s &agrave; l'Internet ?
+ Pour commencer vous devez disposer de plus d'un modem pouvant
+ r&eacute;pondre automatiquement. Votre modem doit pouvoir detecter
+une &eacute;mission de porteuse lorsque qu'elle se pr&eacute;sente et ne doit pas en
+d&eacute;tecter constemment. Il doit aussi etre capable de racrocher la ligne
+lorsqu'il d&eacute;tecte le passage de 1 &agrave; 0 du signal <emphasis
+remap="tt">DTR</emphasis>. Il doit aussi utiliser un controle de flux
+de type <emphasis remap="tt"> RTS/CTS </emphasis> ou aucun controle
+de flus. Enfin, il doit etre capable de n&eacute;gocier la vitesse de
+transmission entre lui-m&ecirc;me et le modem distant tout en gardant
+une vitesse constante vis &agrave; vis de l'ordinateur.</para>
+
+ <para>Pour la plupart des modems comprennant les commande Hayes,
+cette commande met en place les bonnes valeurs et les enregistre en
+m&eacute;moire morte:</para>
+ <programlisting>
+AT &amp;C1 &amp;D3 &amp;K3 &amp;Q6 S0=1 &amp;W
+</programlisting>
+
+ <para>Voyez la section sur l'envoi direct de commandes AT, pour
+savoir comment les mettre en place sans avoir besoin de lancer un
+&eacute;mulateur de terminal sous MS-DOS.</para>
+
+ <para>Ensuite cr&eacute;ez une entr&eacute;e dans <ulink
+url="http://www.freebsd.org/cgi/man.cgi?ttys"> /etc/ttys </ulink> pour
+ le modem. Ce fichier comporte tous les ports sur lesquels le syst&egrave;me
+d'exploitation attend des commandes de login. Ajoutez une ligne
+ressemblant &agrave; celle ci:
+</para>
+ <programlisting>
+ ttyd1 "/usr/libexec/getty std.57600" dialup on insecure
+</programlisting>
+
+ <para>Cette ligne indique que sur le deuxi&egrave;me port s&eacute;rie
+(<emphasis remap="tt">/dev/ttyd1</emphasis>) est attach&eacute; un modem
+dialoguant &agrave; 57600 bauds sans parit&eacute; (<emphasis
+remap="tt">std.57600</emphasis>) se trouvant dans le fichier <ulink
+url="http://www.freebsd.org/cgi/man.cgi?gettytab"> /etc/gettytab
+</ulink>). Le type de terminal est ``dialup''. Le port est ``on'' et
+``insecure'' -- ce qui veut dire que les logins sous root ne sont pas
+autoris&eacute;s sur ce port. Pour utiliser d'autres ports en entr&eacute;e,
+utilisez les autres entr&eacute;es <emphasis remap="tt"> ttydX </emphasis>.
+</para>
+
+ <para>Il est d'usage courant d'utiliser ``dialup'' comme type de
+terminal. Beaucoup d'utilisateurs affichent un prompt dans leur
+.profile ou .login si le type de terminal est ``dialup''. L'exemple
+ci-dessus affecte au port le mode ``insecure''. Pour passer root, vous
+ devez donc vous logguer en temps qu'utilisateur ordinaire et utiliser
+la commande <ulink url="http://www.freebsd.org/cgi/man.cgi?su"> su
+</ulink> pour devenir <emphasis remap="tt">root</emphasis>. Si vous
+d&eacute;finissez le port en tant que ``secure'', alors vous pourrez vous
+logguer sous <emphasis remap="tt">root </emphasis> directement.</para>
+
+ <para>Apr&egrave;s avoir effectu&eacute; les modifications au fichier <ulink
+url="http://www.freebsd.org/cgi/man.cgi?ttys"> /etc/ttys </ulink>,
+vous devez envoyer un signal <emphasis remap="tt"> HUP </emphasis> au
+processus <ulink url="http://www.freebsd.org/cgi/man.cgi?init" > init
+</ulink>
+</para>
+
+<programlisting>
+ kill -HUP 1
+</programlisting>
+
+ <para> Cela force le processus init &agrave; relire le fichier <ulink
+url="http://www.freebsd.org/cgi/man.cgi?ttys"> /etc/ttys</ulink>. Le
+processus init d&eacute;marrera donc des processus getty sur tous les ports
+marqu&eacute;s comme <quote>on</quote>. Vous pouvez alors v&eacute;rifiez que le login est
+possible sur le port en tapant :
+</para>
+<programlisting>
+ps -ax | grep '[t]tyd1'
+</programlisting>
+
+ <para>Et vous devez voir apparaitre quelque chose comme
+ceci:</para>
+<programlisting>
+747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1
+</programlisting>
+
+ </sect1>
+ <sect1>
+ <title>Comment connecter un terminal sur mon syst&egrave;me FreeBSD?</title>
+
+ <para>Si vous utilisez un autre ordinateur en tant que terminal,
+vous devez vous procurer un cable null modem pour relier les deux
+ports s&eacute;rie. Si vous utilisez un vrai terminal (de type WYSE-50), suivez
+les instructions du manuel</para>
+
+ <para>Ensuite, modifez <ulink
+url="http://www.freebsd.org/cgi/man.cgi?ttys"> /etc/ttys</ulink> comme
+expliqu&eacute; &agrave; la section pr&eacute;cedente. Par exemple, pour un terminal
+WYSE-50 connect&eacute; sur le 5&egrave;me port s&eacute;rie, utilisez une entr&eacute;e
+ressemblant &agrave; la suivante:</para>
+
+<programlisting>
+ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure
+</programlisting>
+
+ <para>Cet exemple assume que le port
+<filename>/dev/ttyd4</filename> est connect&eacute; sur un terminal wyse50 &agrave;
+la vitesse de 38400 bauds sans parit&eacute; (<emphasis
+remap="tt">std.38400</emphasis> se trouvant dans le fichier <ulink
+url="http://www.freebsd.org/cgi/man.cgi?gettytab">/etc/gettytab</ulink>)
+et les logins root sont permis (mot cl&eacute; secure)</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Pourquoi ne puis-je pas executer <filename>tip</filename> ou <filename>cu</filename>?</title>
+
+ <para>Sur votre syst&egrave;me, les programmes <ulink
+url="http://www.freebsd.org/cgi/man.cgi?tip">tip</ulink> et <ulink
+url="http://www.freebsd.org/cgi/man.cgi?cu">cu</ulink> ne sont
+probablement executable que par l'utilisateur <ulink
+url="http://www.freebsd.org/cgi/man.cgi?uucp">uucp</ulink> et par le
+groupe <filename>dialer</filename>. Le groupe
+<filename>dialer</filename> vous permet de controler qui
+a acc&egrave;s &agrave; votre modem ainsi qu'aux syst&egrave;mes distants. Ajoutez vous
+dans ce groupe pour pouvoir utiliser ces commandes.</para>
+
+ <para>Sinon, vous pouvez autoriser tous les utilisateurs de
+votre syst&egrave;me &agrave; utiliser les programmes <filename>tip</filename> et
+<filename>cu</filename> en tapant:</para>
+
+<programlisting>
+# chmod 4511 /usr/bin/cu
+# chmod 4511 /usr/bin/tip
+</programlisting>
+
+ </sect1>
+
+ <sect1>
+ <title>Mon modem Hayes n'est pas support&eacute;; que dois-je faire ?</title>
+ <para>Pour l'instant la page de manuel de <ulink
+url="http://www.freebsd.org/cgi/man.cgi?tip">tip</ulink> n'est pas &agrave;
+jour. Il existe un support g&eacute;n&eacute;rique des commandes Hayes int&eacute;gr&eacute; dans le
+programme. Il suffit de mettre la ligne suivante
+<filename>ar=hayes</filename> dans votre fichier <ulink
+url="http://www.freebsd.org/cgi/man.cgi?remote">/etc/remote</ulink></para>
+
+ <para>Le gestionnaire Hayes ne sait pas reconnaitre les
+fonctions avanc&eacute;es des nouveaux modems. Des messages comme
+<filename>BUSY, NO DIALTONE, CONNECT 115200</filename> ne sont pas
+reconnus. Vous devez absolument d&eacute;sactiver ces messages lorsque vous
+utilisez <ulink
+url="http://www.freebsd.org/cgi/man.cgi?tip">tip</ulink> (en tapant
+<filename>ATX0&amp;W</filename>).</para>
+
+ <para>De plus le timeout de <filename>tip</filename> est de 60
+secondes. Votre modem doit absolument utiliser une valeur plus faible,
+sinon <filename>tip</filename> pensera qu'il y a un probl&egrave;me de
+communication. Essayez la commande
+<filename>ATS7=45&amp;W</filename></para>
+
+ <para>Le version de <filename>tip</filename> livr&eacute;e ne comporte
+pas toutes ces fonctionnalit&eacute;s. La solution est d'&eacute;diter le fichier
+<filename>tipconf.h</filename> se trouvant dans le r&eacute;pertoire
+<filename>/usr/src/usr.bin/tip/tip</filename>. Bien sur cela n&eacute;cessite
+que vous ayez install&eacute; les sources.</para>
+ <para>Remplacez alors la ligne <filename>#define HAYES
+0</filename> par <filename>#define HAYES 1</filename>. Puis tapez
+<filename>make</filename> et <filename>make install</filename>. Tout
+doit marcher correctement apr&egrave;s cela.</para>
+
+ </sect1>
+ <sect1>
+ <title>Comment faire pour entrer certaines commandes AT ?</title>
+ <para>Cr&eacute;ez une entr&eacute;e de type <filename>direct</filename> dans
+votre fichier <ulink
+url="http://www.freebsd.org/cgi/man.cgi?remote">/etc/remote</ulink>.
+Par exemple, si votre modem est attach&eacute; sur le premier port s&eacute;rie,
+<filename>/dev/cuaa0</filename>, ajoutez la ligne suivante:
+</para>
+<programlisting>
+cuaa0:dv=/dev/cuaa0:br#19200:pa=none
+</programlisting>
+
+ <para>Utilisez le taux maximum, de transfert de votre modem,
+pour la fonctionnalit&eacute;e br. Ensuite tapez <ulink
+url="http://www.freebsd.org/cgi/man.cgi?tip">tip cuaa0</ulink> et vous
+serez alors connect&eacute; sur votre modem.</para>
+
+ <para>S'il n'existe pas de fichier
+<filename>/dev/cuaa0</filename> sur votre syst&egrave;me, executez la
+commande suivante:</para>
+
+<programlisting>
+# cd /dev
+# ./MAKEDEV cuaa0
+</programlisting>
+
+ <para>Sinon utilisez la commande <filename>cu</filename> sous
+root de la fa&ccedil;on suivante.</para>
+
+<programlisting>
+# cu -l``port'' -s``vitesse''
+</programlisting>
+
+ <para>Avec <quote>port</quote> le nom du port
+s&eacute;rie(ex:<filename>/dev/cuaa0</filename>) et <quote>vitesse</quote>(la
+vitesse maximum de votre
+modem)(ex:<filename>57600</filename>). Lorsque vous avez entrer les
+commandes AT apropri&eacute;es, tapez <filename>~.</filename> pour quitter</para>
+
+ </sect1>
+ <sect1>
+ <title>Le symbole <filename>@</filename> pour la fonctionnalit&eacute; pn ne marche pas!</title>
+
+ <para>Le symbole <filename>@</filename> dans le num&eacute;ro de
+t&eacute;l&eacute;phone demande &agrave; <filename>tip</filename> de regarder dans le
+fichier <ulink url="http://www.freebsd.org/cgi/man.cgi?phones(5)">
+/etc/phones </ulink> pour trouver le num&eacute;ro apropri&eacute;. Mais le symbole
+<filename>@</filename> est aussi un caract&egrave;re sp&eacute;cial pour le fichier
+<ulink
+url="http://www.freebsd.org/cgi/man.cgi?remote">/etc/remote</ulink>.
+Mettez un backslash devant pour qu'il soit correctement interpr&eacute;t&eacute;.</para>
+
+<programlisting>
+pn=\@
+</programlisting>
+
+
+ </sect1>
+
+ <sect1>
+ <title>Comment composer un num&eacute;ro de t&eacute;l&eacute;phone depuis la ligne de commande?</title>
+
+ <para>Mettez une ligne
+<quote><filename>generic</filename></quote> dans le fichier <ulink
+url="http://www.freebsd.org/cgi/man.cgi?remote">/etc/remote</ulink>.
+Par exemple:</para>
+
+<programlisting>
+tip115200|Dial any phone number at 115200 bps:\
+ :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du:
+tip57600|Dial any phone number at 57600 bps:\
+ :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:
+</programlisting>
+
+ <para>Vous pourrez alors utilisez la commande suivante
+<quote><filename>tip -115200 5551234 </filename></quote>. Si vous
+pr&eacute;ferez <ulink url="http://www.freebsd.org/cgi/man.cgi?cu">cu</ulink>
+&agrave; <ulink url="http://www.freebsd.org/cgi/man.cgi?tip">tip</ulink>,
+utilisez une ligne g&eacute;n&eacute;rique pour cu:</para>
+
+
+<programlisting>
+cu115200|Use cu to dial any number at 115200bps:\
+ :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:
+</programlisting>
+
+ <para>et utilisez la commande <quote><filename>cu 5551234 -s
+115200</filename></quote>.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Dois-je sp&eacute;cifier la vitesse en bauds &agrave; chaque connexion</title>
+
+ <para>Mettez une ligne <filename>tip1200</filename> ou
+<filename>cu1200</filename>, mais mettez la vitesse que vous voulez
+pour la fonctionnalit&eacute; br.<ulink
+url="http://www.freebsd.org/cgi/man.cgi?tip">tip</ulink> pense que la
+vitesse par d&eacute;faut est de 1200 bauds, donc il cherche une entr&eacute;e
+<quote><filename>tip1200</filename></quote>. Bien sur, vous n'etes pas
+obligez d'utiliser cette vitesse.</para>
+
+ </sect1>
+ <sect1>
+ <title>J'ai acc&egrave;s &agrave; plusieurs machines depuis mon serveur de terminal</title>
+ <para>Plutot que d'attendre d'etre connect&eacute; et de taper la
+commande <filename>CONNECT &lt;host&gt;</filename> chaque fois,
+utilisez la fonctionnalit&eacute; <filename>cm</filename> de tip. Voyez, par
+exemple, les entr&egrave;es suivantes du fichier <ulink
+url="http://www.freebsd.org/cgi/man.cgi?remote">/etc/remote</ulink>:</para>
+<programlisting>
+pain|pain.deep13.com|Forrester's machine:\
+ :cm=CONNECT pain\n:tc=deep13:
+muffin|muffin.deep13.com|Frank's machine:\
+ :cm=CONNECT muffin\n:tc=deep13:
+deep13:Gizmonics Institute terminal server:\
+ :dv=/dev/cua02:br#38400:at=hayes:du:pa=none:pn=5551234:
+</programlisting>
+
+ <para>Cela vous permet de taper directement <filename>tip
+pain</filename> ou <filename>tip muffin</filename> pour vous connectez
+sur les machines pain ou muffin, et <filename>tip deep13</filename>
+pour acc&eacute;der au serveur de terminaux.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Est-ce que tip peut utiliser plusieurs num&eacute;ros de t&eacute;l&eacute;phones pour se connecter &agrave; un site?</title>
+
+ <para>C'est un probl&egrave;me courant lorsqu'une universit&eacute; a
+plusieurs lignes pour les modems et plusieurs milliers d'&eacute;tudiants qui
+les utilisent.</para>
+
+ <para>Cr&eacute;ez une ligne pour votre universit&eacute; dans le fichier
+<ulink
+url="http://www.freebsd.org/cgi/man.cgi?remote">/etc/remote</ulink>
+et utilisez <filename>\@</filename> comme valeur pour la
+fonctionnalit&eacute; <filename>pn</filename>.</para>
+<programlisting>
+big-university:\
+ :pn=\@:tc=dialout
+dialout:\
+ :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:
+</programlisting>
+
+ <para>Ensuite listez tous les num&eacute;ros de t&eacute;l&eacute;phones de l'universit&eacute;
+dans le fichier <ulink
+url="http://www.freebsd.org/cgi/man.cgi?phones">/etc/phones</ulink></para>
+
+<programlisting>
+big-university 5551111
+big-university 5551112
+big-university 5551113
+big-university 5551114
+</programlisting>
+
+ <para><ulink
+url="http://www.freebsd.org/cgi/man.cgi?tip">tip</ulink> essaiera
+alors tous les num&eacute;ros de t&eacute;l&eacute;phones dans l'ordre de la liste puis
+s'arretera. Si vous voulez qu'il r&eacute;essaye &agrave; l'infini, lancez
+<filename>tip</filename> dans une boucle sans fin</para>
+
+ </sect1>
+ <sect1>
+ <title>Pourquoi dois-je appuyer deux fois sur CTRL+P pour envoyer un CRTL+P?</title>
+
+ <para>CTRL+P est le caract&egrave;re par d&eacute;faut pour <ulink
+url="http://www.freebsd.org/cgi/man.cgi?tip">tip</ulink>, pour lui
+dire que le caract&egrave;re suivant est une donn&eacute;e brute. Vous pouvez
+changez ce caract&egrave;re en n'importe quel autre en utilisant la s&eacute;quence
+d'&eacute;chappement <filename>~s</filename>, qui &eacute;quivaut &agrave; <quote>set a
+variable</quote>.</para>
+
+ <para>Tapez
+<quote><filename>~sforce=&lt;single-char&gt;</filename></quote> suivit
+d'un saut de ligne. <filename>&lt;single-char&gt;</filename>
+correspondant &agrave; un simple caract&egrave;re.Si vous laissez
+<filename>&lt;single-char&gt;</filename> vide, alors le caract&egrave;re de
+``force'' est le caract&egrave;re nul, que vous pouvez obtenir par CTRL+2 ou
+CTRL+SPACE. La meilleur valeur pour ce caract&egrave;re est SHIFT+CTRL+6, que
+je n'ai vu que utilis&eacute; que sur peu de terminaux.</para>
+
+ <para>Vous pouvez affecter la valeur que vous voulez pour ce
+caract&egrave;re en le sp&eacute;cifiant dans le fichier
+<filename>&dollar;HOME/.tiprc</filename>:</para>
+
+<programlisting>
+force=&lt;single-char&gt;
+</programlisting>
+
+ </sect1>
+
+ <sect1>
+ <title>Tout d'un coup, tout ce que je tape est en majuscule?</title>
+
+ <para>Vous devez avoir press&eacute; CTRL+A, le caract&egrave;re ``raise'' de
+<ulink url="http://www.freebsd.org/cgi/man.cgi?tip">tip</ulink>,
+sp&eacute;cialement concus pour les gens n'ayant pas de caps-lock. Utilisez
+comme auparavant, <filename>~s</filename>, et fixez la variable
+<quote>raisechar</quote> a une valeur plus raisonnable. En fait, vous
+pouvez le mettre &agrave; la meme valeur que le caract&egrave;re de ``force'', si
+vous ne d&eacute;sirez jamais utiliser ces fonctionnalit&eacute;s.</para>
+
+ <para>Voici un exemple de fichier <filename>.tiprc</filename>
+pour les utilisateurs d'Emacs qui utilisent beaucoup CTRL+2 et
+CTRL+A:</para>
+
+<programlisting>
+force=^^
+raisechar=^^
+</programlisting>
+
+ <para>Le caract&egrave;re <filename>^^</filename> correspond &agrave; SHIFT+CTRL+6.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Comment effectuer des transferts de fichiers en utilisant <filename>tip</filename>?</title>
+
+ <para>Si vous dialoguez avec un autre syst&egrave;me UNIX, vous pouvez
+envoyer et recevoir des fichiers en utilisant la commande
+<filename>~p</filename>(put) et <filename>~t</filename>(take). Ces
+commandes utilisent les commandes <ulink
+url="http://www.freebsd.org/cgi/man.cgi?cat">cat</ulink> et <ulink
+url="http://www.freebsd.org/cgi/man.cgi?echo">echo</ulink> sur le
+syst&egrave;me distant pour recevoir et envoyer les fichiers. La syntaxe de
+ces commandes est:</para>
+
+<programlisting>
+~p &lt;fichier-local&gt; [&lt;fichier-distant&gt;]
+~t &lt;fichier-distant&gt; [&lt;fichier-local&gt;]
+</programlisting>
+
+ <para>Il n'y a aucun controle d'erreur, donc il vaut mieux
+utiliser un autre protocol comme zmodem.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Comment dialoguer en zmodem avec <filename>tip</filename>?</title>
+
+ <para>Il faut, pour commencer, installer un des programmes
+zmodem depuis les ports(un de ceux de la cat&eacute;gorie comms <ulink
+url="http://www.freebsd.org/cgi/ports.cgi?^lrzsz">lrzsz</ulink> ou
+<ulink url="http://www.freebsd.org/cgi/ports.cgi?^rzsz">rzsz</ulink>).
+</para>
+
+ <para>Pour recevoir un fichier, d&eacute;marrez le programme d'envoi
+des donn&eacute;es sur le syst&egrave;me distant. Ensuite pressez entr&eacute;e puis tapez
+<quote><filename>~C rz</filename></quote> (ou <quote><filename>~C
+lrz</filename></quote> si vous avez install&eacute; lrzsz) pour recevoir le
+fichier.</para>
+
+ <para>Pour envoyer des fichiers, d&eacute;marrez le programme de
+r&eacute;ception sur le syst&egrave;me distant. Ensuite tapez entr&eacute;e et tapez
+<quote><filename>~C sz &lt;files&gt;</filename></quote>(ou
+<quote><filename>~C lsz &lt;files&gt;</filename></quote>) pour envoyer
+le fichier.</para>
+ </sect1>
+
+ <sect1>
+ <title> FreeBSD ne trouve pas mes ports s&eacute;ries, m&ecirc;me avec les bonnes valeurs de configuration . </title>
+ <para>Certaines cartes m&egrave;res et les cartes comportant des Composants
+UART Acer, ne sont pas reconnues correctement par le programme de
+d&eacute;tection de FreeBSD. Un patch est disponible &agrave; <ulink
+url="http://www.lemis.com/serial-port-patch.html"> www.lemis.com
+</ulink> pour r&eacute;soudre votre probl&egrave;me.</para>
+
+ </sect1>
+
+ </chapter>
+
diff --git a/fr_FR.ISO_8859-1/books/faq/troubleshoot.sgml b/fr_FR.ISO_8859-1/books/faq/troubleshoot.sgml
new file mode 100644
index 0000000000..7faa53e036
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/faq/troubleshoot.sgml
@@ -0,0 +1,640 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: 1.9
+-->
+
+<chapter id="troubleshoot">
+ <title>R&eacute;solutions des incidents</title>
+
+ <sect1 id ="awre">
+ <title>J'ai des secteurs d&eacute;fectueux sur mon disque dur&nbsp;!</title>
+
+ <para>Pour les disques SCSI, le disque devrait &ecirc;tre capable de r&eacute;allouer
+ ceux-ci automatiquement. Quoiqu'il en soit, beaucoup de disques sont
+ livr&eacute;s avec cette fonctionnalit&eacute; d&eacute;sactiv&eacute;e, pour une raison
+ myst&eacute;rieuse...</para>
+
+ <para>Pour l'activer, vous aurez &agrave; &eacute;diter le <foreignphrase>first device
+ page mode</foreignphrase>, ce qui peut &ecirc;tre fait sur FreeBSD en tapant
+ la commande (sous root)
+
+ <programlisting>
+ scsi -f /dev/rsd0c -m 1 -e -P 3
+ </programlisting>
+ </para>
+
+ <para>et en changeant la valeur de AWRE et ARRE de 0 &agrave; 1&nbsp;:
+
+ <programlisting>
+ AWRE (Auto Write Reallocation Enbld): 1
+ ARRE (Auto Read Reallocation Enbld): 1
+ </programlisting>
+ </para>
+
+ <para>Les paragraphes suivants ont &eacute;t&eacute; soumis par
+ <ulink url="mailto:tedm@toybox.placo.com">Ted Mittelstaedt</ulink>&nbsp;:
+ </para>
+
+ <para>Pour les disques IDE, le moindre secteur d&eacute;fectueux est habituellement
+ un signe d'incident potentiel.
+ Tous les disques IDE modernes sont livr&eacute;s avec la r&eacute;allocation des
+ secteurs d&eacute;fectueux activ&eacute;e.
+ Tous les fabriquants de disques durs IDE offrent aujourd'hui des
+ garanties &eacute;tendues et remplaceront les disques poss&eacute;dant des secteurs
+ d&eacute;fectueux.</para>
+
+ <para>Si vous voulez toutefois essayer de r&eacute;cup&eacute;rer un disque IDE avec des
+ secteurs d&eacute;fectueux, vous pouvez essayer de t&eacute;l&eacute;charger le programme de
+ diagnostic du fabriquant de disque IDE et de le faire ex&eacute;cuter sur le
+ disque. Quelquefois, ces programmes peuvent &ecirc;tre configur&eacute;s pour
+ forcer l'&eacute;lectronique du disque &agrave; rebalayer le disque pour les secteurs
+ d&eacute;fectueux et leur inhibition.</para>
+
+ <para>Pour les disques ESDI, RLL et MFM, les secteurs d&eacute;fectueux font
+ partie de la vie normale du disque et ne sont pas signes d'incidents,
+ g&eacute;n&eacute;ralement. Avec un PC, la carte contr&ocirc;leur de disque et le BIOS
+ prennent en charge la t&acirc;che d'inhibition des secteurs d&eacute;fectueux.
+ C'est bien pour les syst&egrave;mes d'exploitation comme DOS qui
+ utilisent le code du BIOS pour acc&eacute;der au disque. Toutefois,
+ le driver de disque FreeBSD ne passe pas par le BIOS, aussi
+ un m&eacute;canisme, <application>bad144</application>, existe pour remplacer
+ cette fonctionnalit&eacute;.
+ <application>bad144</application> ne fonctionne qu'avec le driver
+ <devicename>wd</devicename>, il ne peut
+ <emphasis remap="bf">pas</emphasis> &ecirc;tre utilis&eacute; avec le SCSI.
+ <application>bad144</application> fonctionne en entrant tous les
+ secteurs d&eacute;fectueux trouv&eacute;s dans un fichier sp&eacute;cial.</para>
+
+ <para>Un inconv&eacute;nient avec <application>bad144</application>&nbsp;-&nbsp;
+ le fichier sp&eacute;cial des secteurs d&eacute;fectueux est plac&eacute; sur la derni&egrave;re
+ piste du disque.
+ Comme ce fichier contient peut-&ecirc;tre une liste de secteurs dont l'un
+ serait pr&egrave;s du d&eacute;but du disque, o&ugrave; le fichier noyau
+ <filename>/kernel</filename> serait aussi localis&eacute;, il doit donc &ecirc;tre
+ acc&eacute;ssible au progamme d'amorce (<foreignphrase>bootstrap</foreignphrase>)
+ qui utilise les appels du BIOS pour lire le fichier du noyau.
+ Cela signifie qu'un disque g&eacute;r&eacute; avec <application>bad144</application>
+ ne peut d&eacute;passer 1024 cylindres, 16 t&ecirc;tes et 63 secteurs.
+ Cela place une limite effective de 500Mo sur un disque qui est r&eacute;allou&eacute;
+ avec <application>bad144</application>.</para>
+
+ <para>Pour utiliser <application>bad144</application>, positionnez
+ simplement le balayage des secteurs d&eacute;fectueux <foreignphrase>Bad
+ Block</foreignphrase> &agrave; <foreignphrase>ON</foreignphrase> dans
+ le menu <command>fdisk</command> de FreeBSD lors de l'installation
+ initiale.
+ Cela marche jusqu'&agrave; la version 2.2.7 de FreeBSD.
+ Le disque doit avoir moins de 1024 cylindres.
+ Il est g&eacute;n&eacute;ralement recommand&eacute; de laisser tourner pr&eacute;alablement le disque
+ pendant plus de 4 heures avant cette op&eacute;ration, pour tenir compte de la
+ dilatation thermique et des pistes errantes.</para>
+
+ <para>Si le disque a plus de 1024 cylindres (comme un gros disque ESDI),
+ le contr&ocirc;leur ESDI utilise un mode de translation sp&eacute;cial pour le
+ faire fonctionner sous DOS.
+ Le driver <devicename>wd</devicename> comprend ces modes de translation,
+ <emphasis remap="bf">si</emphasis> vous entrez la g&eacute;om&eacute;trie "translat&eacute;e"
+ avec la commande <command>set geometry</command> dans
+ <command>fdisk</command>.
+ De plus, vous ne devez <emphasis remap="bf">pas</emphasis> utiliser le
+ mode <foreignphrase>dangerously dedicated</foreignphrase> de cr&eacute;ation
+ d'une partition FreeBSD, parce qu'il ignore la g&eacute;om&eacute;trie.
+ De plus, m&ecirc;me si <command>fdisk</command> va utiliser votre g&eacute;om&eacute;trie
+ surcharg&eacute;e, il continue &agrave; conna&icirc;tre la vrai taille du disque
+ et va tenter de cr&eacute;er une partition FreeBSD trop grande.
+ Si la g&eacute;om&eacute;trie du disque est remplac&eacute;e par la g&eacute;om&eacute;trie
+ translat&eacute;e, la partition <emphasis remap="bf">doit</emphasis>
+ &ecirc;tre cr&eacute;&eacute;e manuellement avec le nombre de secteurs.</para>
+
+ <para>Un truc rapide &agrave; utiliser est d'initialiser le gros disque
+ ESDI avec le contr&ocirc;leur ESDI, le d&eacute;marrer avec un disque DOS
+ et le formatter avec une partition DOS.
+ Puis, d&eacute;marrez l'installation FreeBSD et dans le menu
+ <command>fdisk</command>, lire depuis l'&eacute;cran et &eacute;crire &agrave; c&ocirc;t&eacute; la taille
+ et le nombre de secteurs de la partition DOS.
+ Puis, r&eacute;initilisez la g&eacute;om&eacute;trie comme celle de DOS en d&eacute;truisant
+ la partition DOS et en cr&eacute;ant une partition FreeBSD
+ <foreignphrase>cooperative</foreignphrase> avec la taille
+ pr&eacute;c&eacute;demment not&eacute;e.
+ Puis positionnez la partition pour &ecirc;tre amor&ccedil;able et autorisez
+ le balayage des secteurs d&eacute;fectueux.
+ Pendant l'installation r&eacute;elle, <command>bad144</command>
+ passera en premier, avant la moindre cr&eacute;ation de syst&egrave;mes de
+ fichiers (vous pouvez le voir avec un <command>Alt-F2</command>).
+ S'il a le moindre probl&egrave;me pour cr&eacute;er le fichier des secteurs
+ d&eacute;fectueux, vous avez initialis&eacute; une g&eacute;om&eacute;trie de disque trop
+ grande&nbsp;-&nbsp;red&eacute;marrez le syst&egrave;me et recommencez tout
+ depuis le d&eacute;but (y compris le repartitionnement et reformattage
+ en DOS).</para>
+
+ <para>Si la r&eacute;allocation est autoris&eacute;e et que vous voyez des
+ secteurs d&eacute;fectueux, envisagez un remplacement du disque.
+ Les secteurs d&eacute;fectueux ne feront que s'aggaver au fil du temps.</para>
+ </sect1>
+
+ <sect1>
+ <title>FreeBSD ne reconnait pas ma carte EISA SCSI Bustek 742a&nbsp;!</title>
+
+ <para>Cette information est sp&eacute;cifique &agrave; la 742a, mais peut aussi couvrir
+ les autres cartes Buslogic (Bustek = Buslogic).</para>
+
+ <para>Il y a 2 ``versions'' g&eacute;n&eacute;rales de la carte 742a.
+ Ce sont les r&eacute;visions mat&eacute;rielles A-G et H&nbsp;-&nbsp;et plus.
+ La lettre de r&eacute;vision est plac&eacute;e apr&egrave;s le num&eacute;ro d'assemblage
+ sur le bord de la carte.
+ La 742a poss&egrave;de 2 puces ROM dessus, l'une est la puce BIOS et l'autre
+ est la puce Firmware.
+ Si FreeBSD ne fait pas attention &agrave; la version de la puce BIOS que vous
+ avez, il le fait par contre pour la version de la puce Firmware.
+ Buslogic vous enverra des ROMs de mise &agrave; jour si vous appelez leur support
+ technique.
+ Les puces BIOS et Firmware sont appari&eacute;es.
+ Vous devez avoir la ROM Firmware la plus en cours dans votre carte
+ d'adaptatation pour votre r&eacute;vision de mat&eacute;riel.</para>
+
+ <para>Les cartes REV A-G ne peuvent recevoir que les versions de
+ BIOS/Firmware 2.41/2.21.
+ Les cartes REV H&nbsp;-&nbsp;et plus peuvent accepter les plus r&eacute;cente
+ versions de BIOS/Firmware 4.70/3.37.
+ La diff&eacute;rence entre ces jeux de firmware est que le 3.37 supporte
+ l'allocation tournante (<foreignphrase>``round robin''</foreignphrase>).
+ </para>
+
+ <para>Les cartes Buslogic ont aussi un num&eacute;ro de s&eacute;rie inscrit. Si vous
+ avez une vieille r&eacute;vision de carte, vous pouvez appeler le d&eacute;partement
+ Buslogic RMA et leur donner le num&eacute;ro de s&eacute;rie afin d'essayer d'&eacute;changer
+ celle-ci contre une r&eacute;vision plus r&eacute;cente.
+ Si votre carte n'est pas trop vieille, il l'&eacute;changeront.</para>
+
+ <para>FreeBSD 2.1 ne supporte que les versions firmware 2.21 et plus.
+ Si vous avez une version Firmware plus vieille, votre carte ne sera
+ pas reconnue comme une carte Buslogic.
+ Elle peut malgr&eacute; tout &ecirc;tre reconnue comme une carte Adaptec 1540.
+ La vieille carte firmware contient un mode ``&eacute;mulation'' AHA1540.
+ Quoiqu'il en soit, ce n'est pas une bonne chose pour une carte EISA.
+ </para>
+
+ <para>Si vous avez une vieille r&eacute;vision de carte et que vous obtenez le
+ firmware 2.21, vous aurez &agrave; v&eacute;rifier la position du cavalier
+ (<foreignphrase>jumper</foreignphrase>) W1 &agrave; B-C&nbsp;; par d&eacute;faut,
+ il est positionn&eacute; &agrave; A-B.</para>
+
+ <para>Les cartes EISA 742q n'ont jamais eu le probl&egrave;me ``&gt;16Mo''
+ mentionn&eacute; dans la section <ulink url="bigram">sur les machines &gt;16 Mo
+ </ulink>.
+ Ceci est un probl&egrave;me qui appara&icirc;t avec les cartes SCSI Buslogic
+ Vesa-Local.</para>
+ </sect1>
+ <sect1>
+ <title>Mon contr&ocirc;leur SCSI HP Netserver n'est pas d&eacute;tect&eacute;&nbsp;!</title>
+
+ <para>C'est &agrave; la base un probl&egrave;me connu.
+ Le contr&ocirc;leur SCSI-EISA int&eacute;gr&eacute; sur la carte m&egrave;re des machines HP
+ Netserver occupe le slot EISA num&eacute;ro 11, aussi tous les ``vrais''
+ slots EISA se retrouvent devant lui.
+ Malheureusement, l'espace d'adressage pour les slots EISA &gt;= 10 se
+ retrouve en conflit avec l'espace d'adressage assign&eacute; aux slots PCI, et
+ l'auto-configuration de FreeBSD ne peut actuellement pas tr&egrave;s bien g&eacute;rer
+ cette situation.</para>
+
+ <para>Donc, pour le moment, le mieux que vous ayez &agrave; faire, est
+ de pr&eacute;tendre qu'il n'y a pas de conflit de plage d'adresse :-),
+ en propulsant l'option du noyau <filename>EISA_SLOTS</filename>
+ &agrave; la valeur 12.
+ Configurez et compilez un noyau comme d&eacute;crit dans
+ <ulink url="&url.handbook;kernelconfig.html">le manuel de r&eacute;f&eacute;rence
+ sur la configuration du noyau</ulink>.</para>
+
+ <para>Bien s&ucirc;r, cela se pr&eacute;sente comme le probl&egrave;me bien connu de la poule et
+ de l'oeuf lorsque l'on installe sur une telle machine. Afin de pouvoir
+ contourner ce probl&egrave;me, un <foreignphrase>hack</foreignphrase> sp&eacute;cial
+ est disponible au moment de la configuration utilisateur
+ (<foreignphrase>UserConfig</foreignphrase>). Ne pas utiliser
+ l'interface ``visual'', mais l'interface en mode texte. Tapez
+ simplement&nbsp;:</para>
+
+ <programlisting>
+eisa 12
+quit
+ </programlisting>
+
+ <para>au prompt, et installez le syst&egrave;me comme d'habitude.
+ Quoiqu'il en soit, il est recommand&eacute; de compiler et d'installer
+ un noyau adapt&eacute;.</para>
+
+ <para><ulink url="http://www.freebsd.org/cgi/man.cgi?dset">dset</ulink>
+ comprend aussi maintenant qu'il faut sauver cette valeur.</para>
+
+ <para>Heureusement, les versions futures auront une solution appropri&eacute;e
+ &agrave; ce probl&egrave;me.</para>
+
+ <note>
+ <para>Vous ne pouvez pas utiliser un disque *dangereusement d&eacute;di&eacute;*
+ (<foreignphrase>dangerously dedicated</foreignphrase>) avec un
+ Netserver HP.
+ Voir <ulink url="http://www.freebsd.org/cgi/man.cgi?dedicate">cette note
+ </ulink> pour plus d'informations.</para></note>
+ </sect1>
+ <sect1>
+ <title> Que se passe-t'il avec le contr&ocirc;leur CMD640 IDE controller? </title>
+
+ <para>
+Il ne marche pas, Il ne peut pas manipuler des commandes sur
+les deux canaux simultan&eacute;ment.
+ </para>
+
+ <para>
+Il y a un d&eacute;tour disponible &agrave; pr&eacute;sent, et elle s'active automatiquement
+si votre syst&egrave;me utilise cette puce. Pour plus de d&eacute;tails, r&eacute;f&eacute;rez-vous &agrave;
+la page de manuel du driver de dique (man 4 wd).
+ </para>
+
+ <para>
+Si vous lancez d&eacute;j&agrave; FreeBSD 2.2.1 ou 2.2.2 avec un contr&ocirc;leur
+IDE CMD640 et que vous voulez utiliser le deuxi&egrave;me canal, construisez un
+nouveau noyau avec les options <filename>options "CMD640"</filename> activ&eacute;.
+Il est mis par d&eacute;faut pour FreeBSD 2.2.5 et plus.
+ </para>
+ </sect1>
+
+ <sect1>
+ <title> Je n'arr&ecirc;te pas de voir ``<filename>ed1: timeout</filename>''. </title>
+
+ <para>
+Cela est g&eacute;n&eacute;ralement caus&eacute; par un conflit d'interruption (par exemple ,
+2 cartes utilisant le m&ecirc;me IRQ). FreeBSD avant 2.0.5R &eacute;tait tol&eacute;rant et
+fonctionnait m&ecirc;me en cas de conflit d'IRQ. Mais &agrave; partir du 2.0.5R, les
+conflits ne sont plus tol&eacute;r&eacute;s.
+Booter avec l'option -c et changer l'ed0/de0/... pour se conformer &agrave;
+votre carte.
+ </para>
+
+ <para>
+Si vous utilisez un connecteur BNC sur votre carte r&eacute;seau, vous pouvez
+aussi voir des timeouts sur les p&eacute;riph&eacute;riques &agrave; cause de mauvaise
+terminaison. Pour le v&eacute;rifier, attachez un terminateur directement au
+NIC (sans c&acirc;ble) et regardez si les messages d'erreurs disparaissent.
+ </para>
+
+ <para>
+Certaines cartes compatibles NE2000 donneront une telle erreur s'il n'y
+a pas de liaison sur le port UTP ou si le cable est d&eacute;connect&eacute;.
+ </para>
+ </sect1>
+
+ <sect1>
+ <title> Quand je monte le CD-ROM, j'obtiens ``Incorrect super block''. </title>
+
+ <para>
+Vous devez sp&eacute;cifier &agrave;
+<ulink url="http://www.freebsd.org/cgi/man.cgi?mount"> mount </ulink>
+le type de p&eacute;riph&eacute;rique que vous voulez monter. Par d&eacute;faut,
+<ulink url="http://www.freebsd.org/cgi/man.cgi?mount"> mount </ulink>
+supposera que le syst&egrave;me de fichier est de type
+``<filename>ufs</filename>''.
+Vous pouvez vouloir monter un syst&egrave;me de fichier CDROM, et vous pouvez le
+faire en sp&eacute;cifiant l'option ``<filename>-t cd9660</filename>'' &agrave;
+<ulink url="http://www.freebsd.org/cgi/man.cgi?mount"> mount </ulink>.
+Cela suppose &eacute;videmment que le CDROM contienne un syst&egrave;me de fichier
+ISO 9660 , qui est celui qu'ont presque tous les CDROM.
+Comme pour le 1.1R, FreeBSD comprend automatiquement les extensions
+Rock Ridge (nom long).
+ </para>
+
+ <para>
+Par exemple, si vous voulez monter le lecteur CDROM
+``<filename>/dev/cd0c</filename>'', sous le r&eacute;pertoire <filename>/mnt</filename>,
+vous aurez &agrave; ex&eacute;cuter :
+
+ <programlisting>
+mount -t cd9660 /dev/cd0c /mnt
+ </programlisting>
+ </para>
+
+ <para>
+Bien noter que le nom du p&eacute;riph&eacute;rique (``<filename>/dev/cd0c</filename>''
+de cet
+exemple peut &ecirc;tre diff&eacute;rent suivant l'interface du CDROM.
+Noter que l'option ``<filename>-t cd9660</filename>'' ne fait qu'ex&eacute;cuter la commande
+``<filename>mount&lowbar;cd9660</filename>'', c'est ainsi que l'exmple pourrait &ecirc;tre
+simplifi&eacute; en :
+
+ <programlisting>
+mount_cd9660 /dev/cd0c /mnt
+ </programlisting>
+ </para>
+ </sect1>
+
+ <sect1>
+ <title> Quand je monte un CDROM, j'obtiens ``Device not configured''. </title>
+
+ <para>
+Cela veut g&eacute;n&eacute;ralement dire qu'il n'y a pas de CDROM dans le lecteur de
+CDROM, ou que le lecteur n'est pas visible du bus. Mettez un disque dans
+le lecteur, et/ou v&eacute;rifiez son &eacute;tat ma&icirc;tre/esclave si c'est un IDE
+(ATAPI). Cela peut prendre quelques secondes pour le lecteur CDROM pour
+s'apercevoir qu'il y a un disque, alors, soyez patient.
+ </para>
+
+ <para>
+De temps en temps, un lecteur CD-ROM SCSI peut &ecirc;tre manqu&eacute; car il n'a
+pas eu assez de temps pour r&eacute;pondre &agrave; la r&eacute;initialisation du bus. Si
+vous avez un lecteur CDROM SCSI, essayez d'ajouter la ligne suivante
+dans votre fichier de configuration du noyau, et recompilez.
+ </para>
+
+ <programlisting>
+options "SCSI_DELAY=15"
+ </programlisting>
+ </sect1>
+
+ <sect1>
+ <title> Mon imprimante est extr&ecirc;mement lente, que puis-je faire ? </title>
+
+ <para>
+Si c'est du parall&egrave;le, et que le seul probl&egrave;me est qu'elle est
+terriblement lente, essayez de positionner votre port imprimante
+en mode ``poller'':
+
+ <programlisting>
+lptcontrol -p
+ </programlisting>
+ </para>
+
+ <para>
+Certaines nouvelles imprimantes HP sont soup&ccedil;onn&eacute;es de ne pas fonctionner
+correctement en mode interruption, apparemment, cela est d&ucirc; a certains
+probl&egrave;me de timing (mais cela n'est pas encore exactement compris).
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>Mes programmes se tuent souvent avec l'erreur ``Signal 11''.</title>
+ <para>
+Cela peut-&ecirc;tre caus&eacute; par du mauvais mat&eacute;riel (m&eacute;moire, carte m&egrave;re...).
+Essayez de lancer un programme de test de m&eacute;moire sur votre PC. Notez
+que m&ecirc;me si chaque programme de test de m&eacute;moire essayeront de vous dire
+que tout va bien, il est possible que certaines rares zones de m&eacute;moire
+passent tous les tests m&eacute;moires, mais &eacute;chouent pourtant durant certaines
+conditions d'op&eacute;ration (comme pendant qu'un bus ma&icirc;trise l'acc&egrave;s direct
+&agrave; la m&eacute;moire depuis un contr&ocirc;leur SCSI comme l'Adaptec 1542, quand vous
+chargez la m&eacute;moire en compilant le noyau, ou quand le syst&egrave;me tourne
+dans des conditions tr&egrave;s critiques)
+ </para>
+
+ <para>
+La FAQ sur SIG11 (list&eacute;e ci-dessous) d&eacute;nonce les m&eacute;moires lentes comme
+&eacute;tant le probl&egrave;me le plus courant. Augmentez le nombre d'&eacute;tats d'attente
+dans votre configuration du BIOS ou r&eacute;cup&eacute;rez de la m&eacute;moire plus rapide.
+ </para>
+
+ <para>
+Pour moi, la partie incrimin&eacute;e a &eacute;t&eacute; une mauvaise m&eacute;moire cache, ou un
+mauvais contr&ocirc;leur cache. Essayez de d&eacute;sactiver le cache secondaire dans
+la setup BIOS, et regardez si cela r&eacute;soud le probl&egrave;me.
+ </para>
+
+ <para>Il y a une FAQ plus d&eacute;taill&eacute;e sur
+<ulink url="http://www.bitwizard.nl/sig11/"> la FAQ du probl&egrave;me SIG11 </ulink>
+ </para>
+ </sect1>
+
+ <sect1>
+ <title> Quand je boote, l'&eacute;cran devient noir, et perd sa synchronisation </title>
+
+ <para>
+Ceci est un probl&egrave;me connu avec les cartes vid&eacute;o ATI Mach 64.
+Le probl&egrave;me est que cette carte utilise l'adresse <filename>2e8</filename>, et que
+le quatri&egrave;me port s&eacute;rie aussi. D&ucirc; &agrave; un bug (une fonctionnalit&eacute; ?) dans
+le driver
+<ulink url="http://www.freebsd.org/cgi/man.cgi?sio"> sio.c </ulink>,
+cela touchera ce port m&ecirc;me si vous n'avez pas ce quatri&egrave;me
+port s&eacute;rie, et *m&ecirc;me* si vous d&eacute;sactives sio3 (le quatri&egrave;me
+port) qui utilise normalement cette adresse.
+ </para>
+
+ <para>Jusqu'&agrave; ce que ce bug soit fix&eacute;, vous pouvez utiliser cette astuce :
+
+ <itemizedlist>
+ <listitem><para>
+Entrez <filename>-c</filename> &agrave; l'invite.
+(Cela mettra le noyau en mode configuration).
+ </para></listitem>
+ <listitem><para>D&eacute;sactivez <filename>sio0</filename>,
+ <filename>sio1</filename>, <filename>sio2</filename> and
+ <filename>sio3</filename> (tous).
+De cette mani&egrave;re, le driver sio ne sera pas activ&eacute;.
+et donc plus de probl&egrave;mes.
+ </para></listitem>
+ <listitem><para>Tapez exit et continuez le rebootage.
+ </para></listitem>
+ </itemizedlist>
+ </para>
+
+ <para>
+Si vous voulez pouvoir utiliser les ports s&eacute;ries, vous aurez &agrave; construire
+un nouveau noyau avec les modifications suivantes :
+
+Dans <filename>/usr/src/sys/i386/isa/sio.c</filename> cherchez la seule occurence de
+la cha&icirc;ne <filename>0x2e8</filename> et enlevez cette cha&icirc;ne et la virgule
+pr&eacute;c&eacute;dente (gardez la virgule de liaison). Puis suivre la proc&eacute;dure
+normale de la construction d'un nouveau noyau.
+ </para>
+
+ <para>
+M&ecirc;me apr&egrave;s avoir appliqu&eacute; toutes ces astuces, vous pouvez trouver que X
+Window ne marche pas correctement, Certaines nouvelles cartes vid&eacute;o
+ATI Mach 64 (notamment ATI Mach Xpression) ne marche pas avec la version
+actuelle de <filename>XFree86</filename>; l'&eacute;cran devient noir quand vous d&eacute;marrez
+X Window, ou alors il marche avec des probl&egrave;mes &eacute;tranges. Vous pouvez
+obtenir la version beta d'un nouveau serveur X qui marche mieux.
+Regardez sur
+<ulink url="http://www.xfree86.org"> le site XFree86 site </ulink>
+et suivez les liens &agrave; la nouvelle beta release. R&eacute;cup&eacute;rez les fichiers
+suivants :
+ </para>
+
+ <para>
+ <filename>
+AccelCards, BetaReport, Cards, Devices, FILES, README.ati,
+README.FreeBSD, README.Mach64, RELNOTES, VGADriver.Doc,
+X312BMa64.tgz
+ </filename>
+ </para>
+
+ <para>
+Remplacez les vieux fichiers avec ceux de la nouvelle version et
+v&eacute;rifiez que vous lancez bien :
+<ulink url="http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&amp;query=xf86config"> xf86config </ulink>
+&agrave; nouveau.
+ </para>
+ </sect1>
+
+ <sect1>
+ <title> J'ai 128 MB de RAM mais le syst&egrave;me n'en voit que 64 MB. <!-- id="reallybigram">--> </title>
+
+ <para>
+D&ucirc;e &agrave; la fa&ccedil;on dont FreeBSD r&eacute;cup&egrave;re la taille de la m&eacute;moire depuis le
+BIOS, il ne peut seulement d&eacute;tecter qu'une taille dont la valeur est
+cod&eacute;e en kilo-octets par 16 bits (65535 Ko = 64MB) (ou moins... certains
+BIOS tronque la taille de la m&eacute;moire &agrave; 16Mo).
+Si vous avez plus de 64 Mo, FreeBSD tentera de le d&eacute;tecter, mais il se
+peut que cette tentative &eacute;choue.
+ </para>
+
+ <para>
+Pour contourner ce probl&egrave;me, vous devez utiliser l'option du noyau
+donn&eacute;e ci-dessous. Il y a une mani&egrave;re de r&eacute;cup&eacute;rer les informations
+compl&egrave;te de la m&eacute;moire depuis le BIOS, mais nous n'avons pas assez de
+place sur les blocks de boot pour le faire. Un jour, quand le manque de
+place sur les blocs de boots sera r&eacute;solu, nous utiliserons les
+fonctions du BIOS &eacute;tendu pour r&eacute;cup&eacute;rer l'information compl&egrave;te sur la
+m&eacute;moire... mais pour l'instant, nous utilisons cette option du noyau.
+
+ <filename>
+options "MAXMEM=&lt;n>"
+ </filename>
+
+O&ugrave; <filename>n</filename> est votre m&eacute;moire en KiloOctet. Pour une machine &agrave;
+128Mo, vous pouvez utiliser <filename>131072</filename>.
+ </para>
+ </sect1>
+
+ <sect1>
+ <title> FreeBSD 2.0 panique avec ``kmem_map too small!'' </title>
+
+ <para>
+ <filename>Note : </filename>Le message peut aussi &ecirc;tre ``mb_map too small!''
+ </para>
+
+ <para>
+La panique indique que le syst&egrave;me n'a plus de m&eacute;moire virtuelle pour les
+buffers r&eacute;seau (sp&eacute;cialement mbuf clusters). Vous pouvez augmenter
+la quantit&eacute; de m&eacute;moire virtuelle disponible pour les clusters mbuf en
+ajoutant :
+ </para>
+
+ <para>
+ <filename>options "NMBCLUSTERS=&lt;n>"</filename>
+ </para>
+
+ <para>
+dans votre configuration du kernel, o&ugrave; &lt;n&gt; est un nombre compris
+entre 512 et 4096, suivant le nombre de connexions concurrentes TCP que
+vous aurez &agrave; supporter. Je vous recommande d'utiliser 2048 - cela devrait
+vous d&eacute;barasser compl&egrave;tement de cette panique.
+Vous pouvez contr&ocirc;ler le nombre de clusters mbuf allou&eacute;/en cours
+d'utilisation sur votre syst&egrave;me, avec
+<ulink url="http://www.freebsd.org/cgi/man.cgi?netstat"> netstat -m </ulink>.
+La valeur par d&eacute;faut pour NMBCLUSTERS est
+ <filename>512 + MAXUSERS * 16/</filename>.
+ </para>
+ </sect1>
+
+ <sect1>
+ <title> ``CMAP busy panic'' au moment d'un reboot avec un nouveau noyau. </title>
+
+ <para>
+La logique permettant de d&eacute;tecter un fichier obsol&egrave;te
+ <filename>/var/db/kvm_*.db</filename> peut parfois &eacute;chouer et utiliser un fichier non
+appropri&eacute; peut alors conduire &agrave; cette panique.
+ </para>
+
+ <para>Si cela arrive, rebooter en mode single-user et faites :
+ </para>
+
+ <programlisting>
+rm /var/db/kvm_*.db
+ </programlisting>
+ </sect1>
+
+ <sect1>
+ <title>ahc0: brkadrint, Illegal Host Access at seqaddr 0x0</title>
+ <para>
+C'est un conflit avec l'adaptateur h&ocirc;te Ultrastor SCSI.
+ </para>
+
+ <para>
+Durant la proc&eacute;dure de boot, entrez dans le menu de configuration du
+noyau et d&eacute;sactivez
+<ulink url="http://www.freebsd.org/cgi/man.cgi?uha(4)"> uha0" </ulink>
+qui est &agrave; la cause de ce probl&egrave;me.
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>Sendmail me dit ``mail loops back to myself''</title>
+ <para>
+Cela est r&eacute;pondu dans la FAQ sendmail de la fa&ccedil;on suivante :
+ </para>
+
+
+
+ <programlisting>
+* Je re&ccedil;ois des messages "Local configuration error" messages, comme:
+
+553 relay.domain.net config error: mail loops back to myself
+554 &#60;user&#64;domain.net&#62;... Local configuration error
+
+Comment puis-je r&eacute;soudre ce probl&egrave;me ?
+
+Vous avez demand&eacute; que les mails adress&eacute;s au domaine (par exemple domain.net)
+soient dirig&eacute;s vers un h&ocirc;te sp&eacute;cifique (dans ce cas relay.domain.net) en
+utilisant un enregistrement MX, mais la machine de relai ne s'est pas reconnu
+lui-m&ecirc;me comme domain.net. Ajoutez domain.net &agrave; /etc/sendmail.cw
+(si vous utilisez FEATURE(use_cw_file)) ou ajoutez "Cw domain.net" &agrave;
+/etc/sendmail.cf.
+ </programlisting>
+
+
+
+ <para>
+La version actuelle de
+<ulink url="ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/sendmail-faq"> la FAQ sendmail </ulink>
+n'est plus maintenue avec la release sendmail. Mais elle est de toute
+fa&ccedil;on post&eacute;e r&eacute;guli&egrave;rement &agrave; :
+<ulink url="news:comp.mail.sendmail"> comp.mail.sendmail </ulink>,
+<ulink url="news:comp.mail.misc"> comp.mail.misc </ulink>,
+<ulink url="news:comp.mail.smail"> comp.mail.smail </ulink>,
+<ulink url="news:comp.answers"> comp.answers </ulink>, et
+<ulink url="news:news.answers"> news.answers </ulink>.
+Vous pouvez aussi en recevoir une copie par courrier &eacute;lectronique, en
+envoyant un mail &agrave; :
+<ulink url="mailto:mail-server@rtfm.mit.edu"> mail-server@rtfm.mit.edu </ulink>
+avec la commande
+with the command "send usenet/news.answers/mail/sendmail-faq"
+comme corps de message.
+ </para>
+ </sect1>
+
+ <sect1>
+ <title> Les applications plein-&eacute;cran sur des machines distantes se comportent &eacute;trangement. </title>
+ <para>
+La machine distante peut r&eacute;gler votre type de terminal &agrave; autre chose que
+le type de terminal <filename>cons25</filename> utilis&eacute; par la console FreeBSD.
+ </para>
+ <para>
+Il y a un certains nombres de contournement de ce probl&egrave;me :
+ </para>
+ <itemizedlist>
+ <listitem><para>
+Apr&egrave;s s'&ecirc;tre loggu&eacute; sur la machine distante, positionnez votre variable
+d'environnement TERM &agrave; soit <filename>ansi</filename> soit <filename>sco</filename>.</para></listitem>
+ <listitem><para>Utilisez localement un &eacute;mulateur VT100 comme
+<ulink url="http://www.freebsd.org/cgi/ports.cgi?screen">. screen </ulink>
+ <filename>screen</filename> permet la possibilit&eacute; de lancer plusieurs sessions
+concurentes depuis un terminal.</para></listitem>
+ <listitem><para>Installez l'entr&eacute;e <filename>cons25</filename> du terminal dans la base de donn&eacute;es
+sur la machine distante.</para></listitem>
+ <listitem><para>
+fire up X et login vers la machine distante depuis un
+ <filename>xterm</filename>.
+ </para></listitem>
+ </itemizedlist>
+ </sect1>
+
+ </chapter>
+
diff --git a/fr_FR.ISO_8859-1/books/faq/x.sgml b/fr_FR.ISO_8859-1/books/faq/x.sgml
new file mode 100644
index 0000000000..342b35bd8b
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/faq/x.sgml
@@ -0,0 +1,475 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+ <chapter id="x">
+ <title> Le syst&egrave;me X-Windows et les consoles virtuelles </title>
+
+ <sect1>
+ <title> Je veux lancer X, comment dois-je faire ? </title>
+
+ <para>
+La mani&egrave;re la plus simple est de sp&eacute;cifier au moment de
+l'installation que l'on veut utiliser X.
+ </para>
+
+ <para>
+Puis, lire la documentation suivante sur l'outil
+<ulink url="http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&amp;query=xf86config"> xf86config </ulink>, qui vous aidera dans la configuration de
+XFree86(tm) pour vos cartes graphiques, souris etc...
+ </para>
+
+
+ <para>
+Vous pouvez aussi regarder du c&ocirc;t&eacute; du serveur Xaccel qui est disponible
+pour un prix tr&egrave;s raisonnable/ Voir la section sur
+<ulink url="http://www.freebsd.org/cgi/man.cgi?manpath=xig"> Xi Graphics </ulink>pour plus de d&eacute;tails.
+ </para>
+ </sect1>
+
+ <sect1>
+ <title> Pourquoi ma souris ne marche pas sous X ? <anchor id="x-and-moused"> </title>
+
+ <para>
+Si vous utilisez syscons (le driver par d&eacute;faut de la console),
+vous pouvez configurer FreeBSD de telle sorte qu'il puisse supporter un
+pointeur de souris sur chacun des &eacute;crans virtuels. Afin d'&eacute;viter des
+conflits avec X, les supports syscons un p&eacute;riph&eacute;rique virtuel nomm&eacute;
+``<filename>/dev/sysmouse</filename>''.
+Tous les &eacute;v&egrave;nement li&eacute;s &agrave; la souris sont &eacute;crit vers le p&eacute;riph&eacute;rique
+sysmouse, en utilsant le protocole MouseSystems. Si vous voulez utiliser
+votre souris sur une console virtuelle ou plus,
+<emphasis remap="bf">et</emphasis> utiliser X, la configuration suivante
+est recommand&eacute;e.
+
+ <programlisting>
+/etc/rc.conf:
+moused_type=ps/2 # or whatever your actual type is
+moused_port=/dev/psm0 # or whatever your real port is
+moused_flags=
+
+/etc/XF86Config
+Section Pointer
+Protocol "MouseSystems"
+Device "/dev/sysmouse"
+.....
+ </programlisting>
+ </para>
+
+ <para>
+Certaines personnes pr&eacute;f&egrave;rent utiliser ``<filename>/dev/mouse</filename>''
+sous X. Ppour le faire marcher, ``<filename>/dev/mouse</filename>''
+devrait &ecirc;tre un lien symbolique pour
+<ulink url="http://www.freebsd.org/cgi/man.cgi?sysmouse"> /dev/sysmouse</ulink>
+ <programlisting>
+ cd /dev
+ rm -f mouse
+ ln -s sysmouse mouse
+ </programlisting>
+ </para>
+ </sect1>
+
+ <sect1>
+ <title> les menus X Window et les bo&icirc;tes de dialogue ne marchent pas bien! </title>
+
+ <para>
+Essayez de d&eacute;sactiver la touche Num Lock.
+ </para>
+
+ <para>
+Si votre touche Num Lock est activ&eacute;e par d&eacute;faut au moment du boot, vous
+pouvez ajouter la ligne suivante dans la section
+``<emphasis>Keyboard</emphasis>'' du fichier
+ <filename>XF86config</filename>.
+ </para>
+
+ <programlisting>
+ Let the server do the NumLock processing. This should only be
+ required when using pre-R6 clients
+ServerNumLock
+ </programlisting>
+ </sect1>
+
+ <sect1>
+ <title> Qu'est ce qu'une console virtuelle, et comment puis-je en avoir plus ? </title>
+
+ <para>
+En gros, les consoles virtuelles vous permettent d'avoir plusieurs
+sessions simultan&eacute;es sur la m&ecirc;me machine sans faire de trucs compliqu&eacute;s
+du genre monter un r&eacute;seau, ou lancer X.
+ </para>
+
+ <para>
+Quand le syst&egrave;me d&eacute;marre, il vous affichera une invite de login sur le
+moniteur juste apr&egrave;s avoir affich&eacute; les messages du boot. Vous pouvez
+taper votre login et votre mot de passe et commencer &agrave; travailler (ou &agrave;
+jouer !) sur la premi&egrave;re console virtuelle.
+ </para>
+
+ <para>
+A un moment, vous voudrez probablement ouvrir une autre session, par
+exemple pour lire la documentation d'un programme que vous &ecirc;tes en train
+d'ex&eacute;cuter, ou alors lire le courrier en attendant qu'un transfert FTP
+se termine. Fais juste Alt-F2 (Appuyez en maintenant la touche Alt
+puis, pressez F2), et vous trouverez une invite de login vous attendant
+sur la seconde ``console virtuelle ''! Quand vous voudrez revenir &agrave; la
+session de d&eacute;part, faites Alt-F1.
+ </para>
+
+ <para>
+L'installation par d&eacute;faut de FreeBSD a 3 consoles virtuelles activ&eacute;es,
+et Alt-F1, Alt-F2, et d Alt-F3 vous permettra de basculer entre ces
+consoles virtuelles.
+
+Pour en activer plus, &eacute;ditez
+<ulink url="http://www.freebsd.org/cgi/man.cgi?ttys">/etc/ttys</ulink>
+et ajoutez les entr&eacute;es pour ``<filename>ttyv4</filename>''
+&agrave;
+``<emphasis remap="tt">ttyvc</emphasis>'' apr&egrave;s les commentaires sur les ``terminaux virtuels'':
+
+ <programlisting>
+ Edit the existing entry for ttyv3 in /etc/ttys and change
+ "off" to "on".
+ttyv3 "/usr/libexec/getty Pc" cons25 on secure
+ttyv4 "/usr/libexec/getty Pc" cons25 on secure
+ttyv5 "/usr/libexec/getty Pc" cons25 on secure
+ttyv6 "/usr/libexec/getty Pc" cons25 on secure
+ttyv7 "/usr/libexec/getty Pc" cons25 on secure
+ttyv8 "/usr/libexec/getty Pc" cons25 on secure
+ttyv9 "/usr/libexec/getty Pc" cons25 on secure
+ttyva "/usr/libexec/getty Pc" cons25 on secure
+ttyvb "/usr/libexec/getty Pc" cons25 on secure
+ </programlisting>
+ </para>
+
+ <para>
+Utilisez en autant que vous voulez/ Mais plus vous avez de terminaux
+virtuels, plus vous utilisez de ressources; cela peut-&ecirc;tre important si
+vous avez 8Mo de RAM ou moins. Vous pouvez aussi changer
+``<filename>secure</filename>'' to ``<filename> insecure</filename>''.
+ </para>
+
+ <para>
+<emphasis remap="bf">NOTE IMPORTANTE</emphasis> si vous
+voulez lancer un serveur X, vous <emphasis remap="bf">DEVEZ</emphasis>
+avoir au moins un terminal virtuel non utilis&eacute; (ou d&eacute;sactiv&eacute;)afin qu'il
+puisse l'utiliser.
+Tout cela pour dire que si vous voulez une invite de prompt pour les tous
+les 12 de vos touches Alt-fonctions, pas de chance, vous pourrez le faire
+que pour 11 d'entre eux si vous voulez aussi lancer un serveur X sur cette
+machine.
+ </para>
+
+ <para>
+La meilleure fa&ccedil;on de d&eacute;sactiver une console est de la d&eacute;selectionner.
+Par exemple, si vous avez allou&eacute; tous les 12 terminaux mentionn&eacute;
+ci-dessus, et que vous voulez lancer X, vous aurez &agrave; changer le r&eacute;glage
+pour le terminal virtuel 12 de :
+
+ <programlisting>
+ttyvb "/usr/libexec/getty Pc" cons25 on secure
+ </programlisting>
+ </para>
+
+ <para>&agrave;:
+
+ <programlisting>
+ttyvb "/usr/libexec/getty Pc" cons25 off secure
+ </programlisting>
+ </para>
+
+ <para>
+Si votre clavier n'a que 10 touches de fonctions, vous pouvez terminer
+par :
+
+ <programlisting>
+ttyv9 "/usr/libexec/getty Pc" cons25 off secure
+ttyva "/usr/libexec/getty Pc" cons25 off secure
+ttyvb "/usr/libexec/getty Pc" cons25 off secure
+ </programlisting>
+ </para>
+
+ <para>
+(Vous pouvez aussi juste effacer ces lignes)
+ </para>
+
+ <para>
+Une fois que vous avez &eacute;dit&eacute;
+<ulink url="http://www.freebsd.org/cgi/man.cgi?ttys"> /etc/ttys" </ulink>,
+l'&eacute;tape suivante est de s'assurer que vous avez assez de p&eacute;riph&eacute;riques de
+terminaux virtuels.
+La plus simple mani&egrave;re de proc&eacute;der est :
+
+ <programlisting>
+ cd /dev
+ ./MAKEDEV vty12 # For 12 devices
+ </programlisting>
+ </para>
+
+ <para>
+Ensuite, la plus simple (et plus propre) mani&egrave;re d'activer la console
+virtuelle est de rebooter. Malgr&egrave; tout, si vous voulez vraiment
+ne pas avoir &egrave; rebooter, vous pouvez juste arr&ecirc;ter le syst&egrave;me X Window
+et ex&eacute;cuter <emphasis remap="tt">root</emphasis>.
+
+ <programlisting>
+kill -HUP 1
+ </programlisting>
+ </para>
+
+ <para>
+Il est imp&eacute;ratif d'arr&ecirc;ter compl&egrave;tement X Window s'il est en train de
+marcher, avant de lancer cette commande. Si vous ne le faite pas, votre
+syst&egrave;me, se trouvera probablement suspendu/bloqu&eacute; apr&egrave;s le lancement de
+la commande kill.
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>Comment acc&eacute;der &agrave; mes consoles virtuelles depuis X ? </title>
+
+ <para>
+Si la console est actuellement en train d'afficher X Window, vous pouvez
+utiliser Ctrl-Alt-F1, etc. pour passer d'une console &agrave; une autre.
+
+Notez cependantm qu'une fois que vous avez bascul&eacute; depuis X Window vers un
+terminal virtuel, vous ne pouvez utiliser seulement les touches de fonctions
+Alt- pour passer &agrave; un autre terminal virtuel ou revenir &egrave; X Window.
+Vous n'avez pas &agrave; maintenir enfonc&eacute; la touche Ctrl. Si vous utilisez la
+touche contr&ocirc;le pour revenir a X sur certaines vieilles versions, vous
+pouvez retrouver votre console texte bloqu&eacute;e en mode ``control-lock''
+Taper la touche contr&ocirc;le &agrave; nouveau pour le d&eacute;bloquer.
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>Comment d&eacute;marrer XDM au boot ?</title>
+
+ <para>
+Il y a deux &eacute;coles de pens&eacute;e &agrave; propos du d&eacute;marrage de
+<ulink url="http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&amp;query=xdm" >xdm</ulink>
+Une &eacute;cole d&eacute;marre xdm epuis
+<ulink url="http://www.freebsd.org/cgi/man.cgi?ttys"> <filename>/etc/ttys</filename></ulink> en utilisant l'exemple fourni.
+tandis que l'autre lance simplement xdm depuis
+<ulink url="http://www.freebsd.org/cgi/man.cgi?rc" > rc.local</ulink>
+depuis un script <emphasis remap="tt">X.sh</emphasis>
+dans <filename>/usr/local/etc/rc.d</filename>.
+Les deux approches sont valides, et suivant les situations, une m&eacute;thode
+peut marcher et pas l'autre. Dans les deux cas, le r&eacute;sultat est le m&ecirc;me :
+X fera appara&icirc;tre une incite de login graphique.
+ </para>
+
+ <para>
+La m&eacute;thode du ttys a l'avantage de documenter quel vty X va d&eacute;marrer et
+en passant la responsabilit&eacute; de red&eacute;marrer le serveur X au logout pour
+s'initialiser. La m&eacute;thode rc.local rend la destruction par un kill de
+xdm tr&egrave;s facile si jamais un probl&egrave;me de d&eacute;marrage du serveur X &eacute;tait
+rencontr&eacute;.
+ </para>
+
+ <para>
+Si <emphasis remap="tt">xdm</emphasis> est charg&eacute; depuis /etc/rc.local,
+il peut-&ecirc;tre d&eacute;marr&eacute; avec n'importe quel argument (i.e comme un d&eacute;mon).
+ </para>
+
+ <para>
+Une version pr&eacute;c&eacute;dente de la FAQ disait d'ajouter les
+<emphasis remap="tt">vt</emphasis> que vous vouliez que X utilise dans le
+fichier
+ <filename>/usr/X11R6/lib/X11/xdm/Xservers</filename>. Cela n'est pas
+n&eacute;cessaire, et X utilisera le premier
+<emphasis remap="tt">vt</emphasis> qu'il trouvera.
+ </para>
+ </sect1>
+
+ <sect1>
+ <title> Quand je lance xconsole, j'obtiens ``Couldn't open console'' </title>
+
+ <para>Si vous d&eacute;marrez
+<ulink url="http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&amp;query=X" >X</ulink>
+avec
+<ulink url="http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&amp;query=startx" >startx</ulink>,
+les permissions sur /dev/console ne seront <emphasis remap="tt">pas </emphasis> chang&eacute;, ce qui entra&icirc;nera que
+<ulink url="http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&amp;query=xterm" >xterm -C</ulink>
+et <ulink url= "http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&amp;query=xconsole" >xconsole</ulink> ne marcheront pas.
+ </para>
+
+ <para>
+Cela est d&ucirc; &agrave; la mani&egrave;re dont les droits sur la consoles sont
+fix&eacute;s par d&eacute;faut.
+Sur un syst&egrave;me multi-utilisateur, on ne veut pas n&eacute;cessairement que
+n'importe quel utilisateur ait la possibilit&eacute; d'&eacute;crire sur la console
+syst&egrave;me. Pour les utilisateurs qui se logguent directement sur la
+machine avec un VTY, le fichier
+<ulink url="http://www.freebsd.org/cgi/man.cgi?fbtab">fbtab</ulink>
+est l&agrave; pour r&eacute;soudre ce probl&egrave;me.
+ </para>
+
+ <para>
+En pratique, assurez vous d'avoir une ligne d&eacute;comment&eacute; de la forme :
+
+ <programlisting>
+/dev/ttyv0 0600 /dev/console
+ </programlisting>
+ </para>
+
+ <para>dans<ulink url="http://www.freebsd.org/cgi/man.cgi?fbtab(5)" ><filename>/etc/fbtab</filename></ulink> et cela assurera que quiconque se
+logguera sur
+ <filename>/dev/ttyv0</filename> obtiendra les droits sur la console.
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>Ma souris PS/2 ne se comporte pas bien sous X.</title>
+
+ <para>
+Votre souris et votre pilote de souris ont d&ucirc; se d&eacute;synchroniser
+ </para>
+
+ <para>
+Dans les versions 2.2.5 et avant, passer de X &agrave; un termical virtuel et
+revenir &agrave; X ensuite , peuvent les re-synchroniser. Si le probl&egrave;me
+appara&icirc;t souvent, vous pouvez ajouter l'option suivante dans votre
+fichier de configuration du noyau, et recompiler.
+
+ <programlisting>
+options PSM_CHECKSYNC
+ </programlisting>
+ </para>
+
+ <para>
+voir la section sur
+<ulink url="http://www.freebsd.org/cgi/man.cgi?=make-kernel"> la construction du noyau</ulink>
+si vous n'avez aucune exp&eacute;rience dans la recompilation de noyau.
+ </para>
+
+ <para>
+Avec cette option, vous aurez moins de chance d'avoir de probl&egrave;me de
+synchronisation entre la souris et le pilote. Si, malgr&egrave;s tout, vous aviez
+ce probl&egrave;me, cliquez sur un bouton quelconque de la souris en maintenant
+la souris jusqu'&agrave; resynchroniser la souris et le pilote.
+ </para>
+
+ <para>
+Notez que malheureusement cette option peut ne pas marcher avec tous les
+syst&egrave;mes et vide la fonctionnalit&eacute; ``TAP'' du p&eacute;riph&eacute;rique ALPS GlidePoint
+attach&eacute; auport souris PS/2
+ </para>
+
+ <para>
+Dans les versions 2.2.6 et plus, la v&eacute;rification de la synchronisation
+est un peu mieux faite et est standard avec les pilotes souris PS/2.
+Cela devrait m&ecirc;me marcher avec GlidePoint. (comme le code de
+v&eacute;rification est devenu une fonctionnalit&eacute; standard, l'option PSM_CHECKSYNC
+n'est pas disponible dans ces versions). Malgr&egrave;s il y a des rares
+cas o&ugrave; le pilote peut de fa&ccedil;on erron&eacute;e repporter des probl&egrave;mes de
+synchronisation, et vous pourrez alors voir le message :
+
+ <programlisting>
+psmintr: out of sync (xxxx != yyyy)
+ </programlisting>
+
+et voir que votre souris ne marche pas correctement.
+ </para>
+
+ <para>
+Si cela arrive, d&eacute;sactiver le mode de v&eacute;rification de la synchronization
+en positionnant le drapeau pour les pilotes de souris PS/2 &agrave; 0x100.
+Entrez dans <emphasis>UserConfig</emphasis> en tapant ``<filename>-c</filename>'' option
+&agrave; l'invite du boot.
+
+ <programlisting>
+boot: -c
+ </programlisting>
+
+Puis en ligne de comande de <emphasis>UserConfig</emphasis>, tapez :
+
+ <programlisting>
+UserConfig>flags psm0 0x100
+UserConfig>quit
+ </programlisting>
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>Ma souris PS/2 mouse de MouseSystems ne marche pas</title>
+
+ <para>
+Certains ont rapport&eacute;s que certains mod&egrave;les de souris PS/2 de MouseSystem
+ne marchaient que lorsqu'ils &eacute;taient mis en mode ``haute r&eacute;solution''.
+D'un autre c&ocirc;t&eacute;, le curseur de souris peut sauter d'une extr&eacute;mit&eacute; de
+l'&eacute;cran &agrave; l'autre tr&egrave;s souvent.
+ </para>
+
+ <para>
+Malheureusement, il n'y a pas de solution pour les versions 2.0.X et
+2.1.X. Dans les versions 2.2 &agrave; 2.2.5, ajouter le patch suivant &agrave;
+ <filename>/sys/i386/isa/psm.c</filename> et reconstruisez le noyau. Voir
+la section sur
+<ulink url="http://www.freebsd.org/cgi/man.cgi?make-kernel"> la construction d'un noyau</ulink>si
+vous n'avez aucune exp&eacute;rience dans la construction des noyaux,
+
+ <programlisting>
+diff -u psm.c.orig psm.c
+@@ -766,6 +766,8 @@
+if (verbose >= 2)
+log(LOG_DEBUG, "psm%d: SET_DEFAULTS return code:%04x\n",
+unit, i);
++ set_mouse_resolution(sc->kbdc, PSMD_RES_HIGH);
++
+if 0
+set_mouse_scaling(sc->kbdc); /* 1:1 scaling */
+set_mouse_mode(sc->kbdc); /* stream mode */
+ </programlisting>
+ </para>
+
+ <para>
+Dans les versions 2.2.6 et plus, sp&eacute;cifier le drqpeau 0x04 au pilote de
+souris PS/2 afin de mettre la souris en mode haute r&eacute;solution.
+Entrez dans<emphasis>UserConfig</emphasis> en sp&eacute;cifiant l'option
+``<filename>-c</filename>'' &agrave; l'invite du boot.
+
+ <programlisting>
+boot: -c
+ </programlisting>
+
+puis, dans la ligne de commande de<emphasis>UserConfig</emphasis>
+tapez :
+
+ <programlisting>
+UserConfig>flags psm0 0x04
+UserConfig>quit
+ </programlisting>
+ </para>
+
+ <para>Voir les sections pr&eacute;c&eacute;dentes pour les autres causes
+possibles de probl&egrave;mes avec la souris.</para>
+ </sect1>
+
+ <sect1>
+ <title>Lorsque je construis une application X, <emphasis remap="tt">imake</emphasis> dit qu'il ne trouve pas <emphasis remap="tt">Imake.tmpl</emphasis>. O&ugrave; est-t-il ? </title>
+
+ <para>
+Imake.tmpl est une partie du paquetage Imake, un outil de d&eacute;veloppement
+standart sous X. Imake.tmpl,tout comme plusieurs fichiers d'en-t&ecirc;te qui sont
+requis lors de la construction d'applications X est contenu dans la
+distribution de programmes X. Vous pouvez l'installer depuis sysinstall
+ou manuellement &agrave; partir des fichiers de distributions X.
+ </para>
+
+ </sect1>
+
+ <sect1>
+ <title>Comment puis-je inverser les boutons de la souris ? </title>
+
+ <para>Lancez la commande
+<emphasis remap="tt">xmodmap -e "pointer = 3 2 1"</emphasis>
+depuis votre .xinitrc ou .xsession.
+ </para>
+ </sect1>
+ </chapter>
+
diff --git a/fr_FR.ISO_8859-1/books/handbook/Makefile b/fr_FR.ISO_8859-1/books/handbook/Makefile
new file mode 100644
index 0000000000..6da260134c
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/Makefile
@@ -0,0 +1,67 @@
+#
+# The FreeBSD Documentation Project
+# The FreeBSD French Documentation Project
+#
+# Compilation du Manuel de Reference de FreeBSD
+#
+# $FreeBSD$
+# Original revision: 1.25
+#
+
+#
+# Nik is only the maintainer until Sebastien GIORIA's commit privs are
+# sorted out and he can maintain this.
+#
+MAINTAINER=nik@FreeBSD.ORG
+
+DOC?= book
+
+FORMATS?= html-split
+
+INSTALL_COMPRESSED?= gz
+INSTALL_ONLY_COMPRESSED?=
+
+#
+# SRCS lists the individual SGML files that make up the document. Changes
+# to any of these files will force a rebuild
+#
+
+# SGML content
+SRCS= book.sgml
+SRCS+= advanced-networking/chapter.sgml
+SRCS+= backups/chapter.sgml
+SRCS+= basics/chapter.sgml
+SRCS+= bibliography/chapter.sgml
+SRCS+= contrib/chapter.sgml
+SRCS+= cutting-edge/chapter.sgml
+SRCS+= disks/chapter.sgml
+SRCS+= eresources/chapter.sgml
+SRCS+= hw/chapter.sgml
+SRCS+= install/chapter.sgml
+SRCS+= internals/chapter.sgml
+SRCS+= introduction/chapter.sgml
+SRCS+= kernelconfig/chapter.sgml
+SRCS+= kerneldebug/chapter.sgml
+SRCS+= kernelopts/chapter.sgml
+SRCS+= l10n/chapter.sgml
+SRCS+= linuxemu/chapter.sgml
+SRCS+= mail/chapter.sgml
+SRCS+= mirrors/chapter.sgml
+SRCS+= pgpkeys/chapter.sgml
+SRCS+= policies/chapter.sgml
+SRCS+= ppp-and-slip/chapter.sgml
+SRCS+= printing/chapter.sgml
+SRCS+= quotas/chapter.sgml
+SRCS+= security/chapter.sgml
+SRCS+= serialcomms/chapter.sgml
+SRCS+= staff/chapter.sgml
+SRCS+= x11/chapter.sgml
+SRCS+= ports/chapter.sgml
+
+# Entities
+SRCS+= ../../../en_US.ISO_8859-1/books/handbook/authors.ent
+SRCS+= chapters.ent
+SRCS+= mailing-lists.ent
+
+DOC_PREFIX?= ${.CURDIR}/../../..
+.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/fr_FR.ISO_8859-1/books/handbook/advanced-networking/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/advanced-networking/chapter.sgml
new file mode 100644
index 0000000000..bf6d6c53b5
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/advanced-networking/chapter.sgml
@@ -0,0 +1,1124 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+ <chapter>
+ <title>Administration R&eacute;seau Avanc&eacute;e</title>
+ &trans.a.haby;
+
+ <sect1 id="routing">
+ <title>Passerelles et routes</title>
+
+ <para><emphasis>Contribution de &a.gryphon;.<!-- <br> -->6 Octobre
+ 1995.</emphasis></para>
+
+ <para>Pour qu'une machine puisse en contacter une autre, il faut
+ que soit install&eacute; un m&eacute;canisme qui d&eacute;crive comment aller de l'une
+ &agrave; l'autre. C'est ce que l'on appelle le routage. Une
+ &ldquo;route&rdquo; est d&eacute;finie par deux adresses : une
+ &ldquo;destination&rdquo; et une &ldquo;passerelle&rdquo;. Cette
+ paire signifie que pour atteindre cette
+ <emphasis>destination</emphasis>, vous devez passer par cette
+ <emphasis>passerelle</emphasis>. Il y a trois sorte de destinations:
+ les machines elles-m&ecirc;mes, les sous-r&eacute;seaux, et
+ <foreignphrase>default</foreignphrase>&nbsp;-&nbsp;la destination
+ &ldquo;par d&eacute;faut&rdquo;. La <foreignphrase>default
+ route</foreignphrase>&nbsp;-&nbsp;&ldquo;route par
+ d&eacute;faut&rdquo;&nbsp;-&nbsp;est utilis&eacute;e
+ lorsqu'aucune autre route n'est applicable. Nous parlerons un peu plus
+ des routes par d&eacute;faut par la suite. Il y a aussi trois sortes de
+ passerelles: les machines elles-m&ecirc;mes, les interfaces (aussi appel&eacute;es
+ &ldquo;liens&rdquo;), et les adresses Ethernet mat&eacute;riel.</para>
+
+ <sect2>
+ <title>Un exemple</title>
+
+ <para>Pour illustrer diff&eacute;rents aspects du routage, nous utiliserons
+ l'exemple suivant, qui est le r&eacute;sultat de la commande
+ <command>netstat -r</command>:</para>
+
+ <informalexample>
+ <screen>Destination Gateway Flags Refs Use Netif Expire
+
+default outside-gw UGSc 37 418 ppp0
+localhost localhost UH 0 181 lo0
+test0 0:e0:b5:36:cf:4f UHLW 5 63288 ed0 77
+10.20.30.255 link#1 UHLW 1 2421
+foobar.com link#1 UC 0 0
+host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0
+host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 =>
+host2.foobar.com link#1 UC 0 0
+224 link#1 UC 0 0</screen>
+ </informalexample>
+
+ <para>Les deux premi&egrave;res lignes d&eacute;finissent la route par d&eacute;faut (dont
+ nous parlerons dans la section suivante) et la route
+ <hostid>localhost</hostid>.</para>
+
+ <para>L'interface (colonne <literal>Netif</literal>) qu'il est
+ indiqu&eacute; d'utiliser pour <literal>localhost</literal> est
+ <devicename>lo0</devicename>, que l'on appelle aussi interface
+ <foreignphrase>loopback</foreignphrase>&nbsp;-&nbsp;&ldquo;en
+ boucle&rdquo;. Ce qui signifie que tout
+ le trafic vers cette destination doit rester interne, au lieu d'&ecirc;tre
+ envoy&eacute; sur le r&eacute;seau local, puisqu'il reviendra de toute fa&ccedil;on &agrave; son
+ point de d&eacute;part.</para>
+
+ <para>Les adresses <hostid role="mac">0:e0:...</hostid> sautent
+ ensuite aux yeux. Ce sont les adresses Ethernet mat&eacute;riel. FreeBSD
+ reconna&icirc;tra automatiquement toute machine
+ (<hostid>test0</hostid> dans l'exemple) sur le r&eacute;seau Ethernet local
+ et ajoutera une route vers celle-ci, directement via l'interface
+ Ethernet, <devicename>ed0</devicename>. Il y a aussi un d&eacute;lai
+ (colonne <literal>Expire</literal>) associ&eacute; &agrave; ce type de route,
+ qui sert lorsque nous n'entendons plus parler de cette machine
+ pendant un certain temps. Dans ce cas, la route est automatiquement
+ supprim&eacute;e. Ces machines sont identifi&eacute;es par un m&eacute;canisme appel&eacute; RIP
+ (<foreignphrase>Routing Information
+ Protocol</foreignphrase>&nbsp;-&nbsp;&ldquo;protocole
+ d'information de routage&rdquo;), qui construit les routes vers les
+ machines locales en d&eacute;terminant le chemin le plus court.</para>
+
+ <para>FreeBSD ajoutera aussi de routes de sous-r&eacute;seau pour le
+ sous-r&eacute;seau local (<hostid role="ipaddr">10.20.30.255</hostid> est
+ l'adresse de diffusion du sous-r&eacute;seau
+ <hostid role="ipaddr">10.20.30</hostid>, et
+ <hostid role="domainname">foobar.com</hostid> est le nom de
+ domaine associ&eacute; &agrave; ce sous-r&eacute;seau). La d&eacute;nomination
+ <literal>link#1</literal> se rapporte &agrave; la premi&egrave;re interface
+ Ethernet de la machine. Vous constaterez qu'il n'y a pas d'autre
+ interface associ&eacute;e &agrave; ces routes.</para>
+
+ <para>Ces deux types de routes sont automatiquement configur&eacute;es
+ par un &ldquo;d&eacute;mon&rdquo; appel&eacute; <command>routed</command>.
+ Si ce dernier ne tourne pas, il ne pourra y avoir que des routes
+ statiques (i.e. explicitement d&eacute;finies).</para>
+
+ <para>La ligne <literal>host1</literal> se rapporte &agrave; notre machine,
+ qui est identifi&eacute;e par son interface Ethernet. Comme nous sommes
+ l'&eacute;metteur, FreeBSD sait qu'il faut utiliser l'interface &ldquo;en
+ boucle&rdquo;, plut&ocirc;t que d'envoyer les donn&eacute;es sur l'interface
+ Ethernet.</para>
+
+ <para>Les deux lignes <literal>host2</literal> montrent ce qui ce
+ passe quand on utilise un alias avec <command>ifconfig</command>
+ (voyez la section sur Ethernet pour savoir pour quelles raisons
+ on peut vouloir faire cela). Le symbole <literal>=&gt;</literal>
+ qui suit l'interface <devicename>lo0</devicename> indique que non
+ seulement nous utilisons la &ldquo;boucle&rdquo; (puisque c'est
+ aussi une adresse qui se rapporte &agrave; la machine locale), mais que
+ c'est, plus pr&eacute;cisement, un alias. Ce type de route n'appara&icirc;t
+ que sur la machine pour laquelle est d&eacute;fini l'alias; sur toutes
+ les autres machines du r&eacute;seau local, il n'y aura qu'une ligne
+ <literal>link#1</literal> pour cette machine.</para>
+
+ <para>La derni&egrave;re ligne (sous-r&eacute;seau destinataire
+ <literal>224</literal>) concerne le
+ <foreignphrase>MultiCasting</foreignphrase>&nbsp;-&nbsp;diffusion sur
+ plusieurs r&eacute;seaux, dont nous parlerons dans une
+ autre section.</para>
+
+ <para>L'autre colonne dont il faut parler est la colonne
+ <literal>Flags</literal>. Chaque route a diff&eacute;rentes
+ caract&eacute;ristiques que d&eacute;crit cette colonne. Voici une courte table
+ qui liste certains de ces indicateurs et leurs
+ significations:</para>
+
+ <informaltable frame="none">
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry>U</entry>
+ <entry>Active (&ldquo;Up&rdquo;): La route est
+ active.</entry>
+ </row>
+
+ <row>
+ <entry>H</entry>
+ <entry>H&ocirc;te: La destination de la route est une
+ machine.</entry>
+ </row>
+
+ <row>
+ <entry>G</entry>
+ <entry>Passerelle (&ldquo;Gateway&rdquo;): Envoyer tout ce
+ qui regarde cette destination sur la machine distante
+ indiqu&eacute;e, qui saura &agrave; qui transmettre ensuite.</entry>
+ </row>
+
+ <row>
+ <entry>S</entry>
+ <entry>Statique: Cette route a &eacute;t&eacute; configur&eacute;e &agrave; la main et
+ non g&eacute;n&eacute;r&eacute;e automatiquement par le syst&egrave;me.</entry>
+ </row>
+
+ <row>
+ <entry>C</entry>
+ <entry>Clone: G&eacute;n&eacute;rer une nouvelle route sur la base de
+ celle-ci pour les machines auxquelles nous nous connectons.
+ Ce type de route est normalement utilis&eacute; pour les r&eacute;seaux
+ locaux.</entry>
+ </row>
+
+ <row>
+ <entry>W</entry>
+ <entry>Clon&eacute;e (&ldquo;WasCloned&rdquo;): Cette route a &eacute;t&eacute;
+ auto-configur&eacute;e (Clone) &agrave; partir d'une route pour le
+ r&eacute;seau local.</entry>
+ </row>
+
+ <row>
+ <entry>L</entry>
+ <entry>Link: La route fait r&eacute;f&eacute;rence &agrave; une adresse Ethernet
+ mat&eacute;rielle.</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ </sect2>
+
+ <sect2>
+ <title>Routes par d&eacute;faut</title>
+
+ <para>Quand le syst&egrave;me local doit &eacute;tablir une connexion avec une
+ machine distante, il consulte la table de routage pour voir
+ s'il y a d&eacute;j&agrave; une route connue. Si la machine distante appartient
+ &agrave; un sous-r&eacute;seau auquel il sait comment se connecter (routes
+ clon&eacute;es), alors le syst&egrave;me teste s'il peut se connecter via
+ cette interface.</para>
+
+ <para>Si toutes les routes connues &eacute;chouent, il reste au syst&egrave;me une
+ derni&egrave;re option: la route &ldquo;par d&eacute;faut&rdquo;. C'est un type
+ particulier de route passerelle (c'est g&eacute;n&eacute;ralement la seule du
+ syst&egrave;me), auquel est toujours associ&eacute; l'indicateur
+ <literal>c</literal>. Pour les machines du r&eacute;seau local, cette
+ fonction de passerelle est affect&eacute;e &agrave; la machine qui est directement
+ connect&eacute;e au monde ext&eacute;rieur (que ce soit par une liasion PPP, ou
+ via un dispositif mat&eacute;riel reli&eacute; &agrave; une ligne d&eacute;di&eacute;e).</para>
+
+ <para>Si vous configurez la route par d&eacute;faut sur la machine qui
+ fonctionne comme passerelle vers le monde ext&eacute;rieur, la route par
+ d&eacute;faut sera la passerelle du site de votre Fournisseur d'Acc&egrave;s
+ Internet (FAI).</para>
+
+ <para>Examinons un exemple de route par d&eacute;faut. Voici une
+ configuration habituelle:
+
+ <literallayout>
+[Local2] &lt;--ether--&gt; [Local1] &lt;--PPP--&gt; [ISP-Serv] &lt;--ether--&gt; [T1-GW]
+ </literallayout></para>
+
+ <para>Les machines <hostid>Local1</hostid> et <hostid>Local2</hostid>
+ sont sur votre site, la premi&egrave;re &eacute;tant votre connexion PPP au
+ concentrateur de votre fournisseur d'acc&egrave;s. Le r&eacute;seau local de
+ votre fournisseur d'acc&egrave;s comporte entre autres un dispositif
+ (T1-GW) reli&eacute; &agrave; son point d'entr&eacute;e sur l'Internet.</para>
+
+ <para>Les routes par d&eacute;faut sur chacune de vos machines seront:</para>
+
+ <informaltable frame="none">
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>h&ocirc;te</entry>
+ <entry>passerelle par d&eacute;faut</entry>
+ <entry>interface</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>Local2</entry>
+ <entry>Local1</entry>
+ <entry>Ethernet</entry>
+ </row>
+
+ <row>
+ <entry>Local1</entry>
+ <entry>T1-GW</entry>
+ <entry>PPP</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>On demande souvent &ldquo;Pourquoi (ou comment) d&eacute;finir T1-GW
+ comme passerelle par d&eacute;faut pour Local1, plut&ocirc;t que le serveur du
+ fournisseur auquel elle est connect&eacute;e?&rdquo;.</para>
+
+ <para>N'oubliez pas que l'interface PPP utilise, de votre c&ocirc;t&eacute; de la
+ connexion, une adresse sur le r&eacute;seau local de votre fournisseur. Les
+ routes vers les autres machines sur le r&eacute;seau local de votre
+ fournisseur seront g&eacute;n&eacute;r&eacute;es automatiquement. Vous savez d&eacute;j&agrave; comment
+ atteindre la machine T1-GW, il n'y a donc pas besoin d'une &eacute;tape
+ interm&eacute;diaire qui passe par le serveur de votre fournisseur.</para>
+
+ <para>Derni&egrave;re remarque, il est habituel d'attribuer l'adresse <hostid
+ role="ipaddr">...1</hostid> &agrave; la passerelle sur votre r&eacute;seau
+ local. Donc (dans notre exemple), si votre espace d'adresses de
+ classe C local est <hostid role="ipaddr">10.20.30</hostid> et celui
+ de votre fournisseur <hostid role="ipaddr">10.9.9</hostid>, alors
+ les routes par d&eacute;faut sont:</para>
+
+ <informaltable frame="none">
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry>Local2 (10.20.30.2)</entry>
+ <entry>--&gt; Local1 (10.20.30.1)</entry>
+ </row>
+ <row>
+ <entry>Local1 (10.20.30.1, 10.9.9.30)</entry>
+ <entry>--&gt; T1-GW (10.9.9.1)</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ </sect2>
+
+ <sect2>
+ <title>Machines sur deux r&eacute;seaux</title>
+
+ <para>Il y a un autre type de de configuration dont il faut parler,
+ c'est celle d'une machine qui est connect&eacute;e &agrave; deux r&eacute;seaux
+ diff&eacute;rents. Techniquement, une machine qui sert de passerelle (comme
+ dans l'exemple ci-dessus, en utilisant une connexion PPP) est une
+ machine sur deux r&eacute;seaux. Mais l'on utilise de fait cette expression
+ (<foreignphrase>dual-homed host</foreignphrase>) pour d&eacute;signer les
+ machines qui sont sur deux r&eacute;seaux locaux diff&eacute;rents.</para>
+
+ <para>Selon le cas, cette machine peut avoir deux cartes Ethernet,
+ chacune ayant une adresse sur l'un des deux sous-r&eacute;seaux. Elle peut
+ aussi avoir une seule carte Ethernet, on utilise alors un alias avec
+ <command>ifconfig</command>. Le premier cas de figure correspond &agrave;
+ deux r&eacute;seaux Ethernet physiquement s&eacute;par&eacute;s, alors qu'on utilise la
+ deuxi&egrave;me configuration lorsqu'il n'y a qu'un seul segment physique,
+ mais deux sous-r&eacute;seaux logiquement distincts.</para>
+
+ <para>Dans les deux cas, les tables de routage sont d&eacute;finies de telle
+ sorte que chaque sous-r&eacute;seau sache que cette machine est la
+ passerelle (<foreignphrase>inbound
+ route</foreignphrase>&nbsp;-&nbsp;route entrante) vers l'autre
+ sous-r&eacute;seau. Cette configuration, o&ugrave; la machine sert de pont entre
+ les deux sous-r&eacute;seaux, est souvent employ&eacute;e quand il faut mettre en
+ place un dispositif de s&eacute;curit&eacute;&nbsp;-&nbsp;filtrage de paquets ou
+ coupe-feu&nbsp;-&nbsp;dans l'une, ou dans les deux,
+ directions.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Propagation de route</title>
+
+ <para>Nous avons d&eacute;j&agrave; expliqu&eacute; comment d&eacute;finir nos routes vers le
+ monde ext&eacute;rieur, mais pas comment le monde ext&eacute;rieur sait comment
+ nous joindre.</para>
+
+ <para>Nous savons d&eacute;j&agrave; comment renseigner les tables de routage pour
+ que tout le trafic pour un espace d'adresses donn&eacute; (un sous-r&eacute;seau
+ de classe C dans notre exemple) soit envoy&eacute; &agrave; une machine pr&eacute;cise
+ de ce r&eacute;seau, qui transmettra les paquets entrants.</para>
+
+ <para>Lorsqu'il attribue une espace d'adresses &agrave; votre site, votre
+ fournisseur d'acc&egrave;s d&eacute;finit ses tables de routage de sorte que tout
+ le trafic destin&eacute; &agrave; votre sous-r&eacute;seau vous soit envoy&eacute; sur votre
+ liaison PPP. Mais comment les autres sites &agrave; l'autre bout du pays
+ savent-ils qu'ils doivent passer par votre fournisseur
+ d'acc&egrave;s.</para>
+
+ <para>Il existe un m&eacute;canisme (assez semblable au syst&egrave;me d'information
+ distribu&eacute; du DNS) qui enregistre tous les espaces d'adresses
+ affect&eacute;s, et d&eacute;finit leur point de connexion &agrave; la dorsale Internet.
+ Le <foreignphrase>Backbone</foreignphrase>&nbsp;-&nbsp;&ldquo;dorsale&rdquo;&nbsp;&nbsp;comprend
+ les liaisons principales qui v&eacute;hiculent le trafic Internet &agrave; travers
+ le pays et le monde entier. Chaque machine de la dorsale dispose
+ d'un ensemble de tables ma&icirc;tresses, qui aiguillent le trafic pour
+ un r&eacute;seau donn&eacute; vers le transporteur correspondant sur la dorsale,
+ et de l&agrave;, par l'interm&eacute;diaire de fournisseurs d'acc&egrave;s
+ successifs, jusqu'&agrave; votre sous-r&eacute;seau.</para>
+
+ <para>C'est le r&ocirc;le de votre fournisseur d'acc&egrave;s d'annoncer aux sites
+ de la dorsale qu'il est le point de connexion (et donc la route
+ entrante) de votre site. C'est ce que l'on appelle la propagation
+ de route.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>En cas de probl&egrave;me</title>
+
+ <para>Il peut arriver qu'il y ait un probl&egrave;me avec la propagation de
+ route et que certains sites ne puissent vous atteindre. La commande
+ probablement la plus utile pour savoir si une route commence &agrave;
+ avoir des d&eacute;faillances est la commande
+ <citerefentry><refentrytitle>traceroute</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
+ Elle peut aussi vous servir lorsque vous n'arrivez apparemment pas &agrave;
+ vous connecter &agrave; une autre machine (i.e. lorsque
+ <citerefentry><refentrytitle>ping</refentrytitle><manvolnum>8</manvolnum></citerefentry> &eacute;choue).</para>
+
+ <para>La commande
+ <citerefentry><refentrytitle>traceroute</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ prend comme param&egrave;tre le nom de la machine avec laquelle vous
+ essayer d'&eacute;tablir une connexion. Elle vous donne la liste des
+ passerelles interm&eacute;diaires jusqu'&agrave; la machine cible, ou jusqu'&agrave;
+ ce qu'il n'y ait plus de liaison.</para>
+
+ <para>Pour plus d'informations, voyez les pages de manuel de
+ <citerefentry><refentrytitle>traceroute</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="nfs">
+ <title>NFS</title>
+
+ <para><emphasis>Contribution de &a.jlind;.</emphasis></para>
+
+ <para>Certaines cartes Ethernet ISA ont des limites qui peuvent poser
+ de s&eacute;rieux probl&egrave;mes sur un r&eacute;seau, en particulier avec NFS. Ce
+ n'est pas une particularit&eacute; propre &agrave; FreeBSD, mais elle affecte aussi
+ les syst&egrave;mes FreeBSD.</para>
+
+ <para>Ce probl&egrave;me ce produit pratiquement tout le temps quand les
+ syst&egrave;mes (FreeBSD) PC sont sur le m&ecirc;me r&eacute;seau que des stations de
+ travail tr&egrave;s performantes, comme celles de Silicon Graphics, Inc.,
+ et Sun Microsystems, Inc. Les montages NFS se font sans difficult&eacute;
+ et certaines op&eacute;rations r&eacute;ussissent, puis tout-&agrave;-coup, il semble que
+ le serveur ne r&eacute;ponde pas au client, bien que les &eacute;changes avec les
+ autres syst&egrave;mes continuent &agrave; se d&eacute;rouler normalement. Cela se
+ manifeste sur la machine cliente, que ce soit un syst&egrave;me FreeBSD ou
+ une station de travail. Sur de nombreux syst&egrave;mes, il n'y a pas moyen
+ d'arr&ecirc;ter proprement le client une fois que ce probl&egrave;me appara&icirc;t, la
+ seule solution est souvent de r&eacute;initialiser le client, parce que le
+ probl&egrave;me NFS ne peut &ecirc;tre r&eacute;solu.</para>
+
+ <para>Bien que la solution &ldquo;correcte&rdquo; soit d'installer une
+ carte Ethernet plus performante et de plus grande capacit&eacute; sur le
+ syst&egrave;me FreeBSD, il y a une solution de contournement simple qui
+ fournit un palliatif satisfaisant. Si le syst&egrave;me FreeBSD est le
+ <emphasis>serveur</emphasis>, utilisez l'option
+ <option>-w=1024</option> avec <command>mount</command> sur le client.
+ Si le syst&egrave;me FreeBSD est le <emphasis>client</emphasis>, alors montez
+ le syst&egrave;me de fichiers NFS avec l'option <option>-r=1024</option>.
+ Vous pouvez mettre ces options dans le quatri&egrave;me champ de l'entr&eacute;e
+ <filename>fstab</filename> sur le client, pour les montages
+ automatiques, ou avec le param&egrave;tre <option>-o</option> de la commande
+ <command>mount</command> pour les montages manuels.</para>
+
+ <para>Il faut noter qu'il existe un probl&egrave;me diff&eacute;rent, que l'on
+ confond parfois avec le pr&eacute;c&eacute;dent, qui peut se produire lorsque les
+ serveurs et les clients NFS sont sur des r&eacute;seaux diff&eacute;rents. Si c'est
+ le cas, <emphasis>assurez-vous</emphasis> que vos routeurs
+ transmettent bien les informations UDP n&eacute;cessaires, ou vous n'irez
+ nulle part, quoi que vous fassiez par ailleurs.</para>
+
+ <para>Dans les exemples qui suivent, <hostid>fastws</hostid> est le nom de la station de travail (interface) de haute performance et
+ <hostid>freebox</hostid> celui de la machine (interface) FreeBSD
+ avec une carte Ethernet moins performante.
+ <filename>/sharedfs</filename> est le syst&egrave;me de fichiers NFS qui
+ sera export&eacute; (voyez <command>man exports</command>), et
+ <filename>/project</filename> le point de montage pour ce syst&egrave;me
+ de fichiers export&eacute;, sur le client. Dans tous les cas,
+ des options suppl&eacute;mentaires, comme <option>hard</option> ou
+ <option>soft</option> et <option>bg</option> seront peut-&ecirc;tre
+ n&eacute;cessaires pour vos applications.</para>
+
+ <para>Exemple lorsque le syst&egrave;me FreeBSD (<hostid>freebox</hostid>) est
+ le client: dans <filename>/etc/fstab</filename> de
+ <hostid>freebox</hostid>:
+
+ <programlisting>
+fastws:/sharedfs /project nfs rw,-r=1024 0 0
+ </programlisting>
+
+ commande de montage manuel sur <hostid>freebox</hostid>:
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>mount -t nfs -o -r=1024 fastws:/sharedfs /project</userinput></screen>
+ </informalexample></para>
+
+ <para>Exemple lorsque le syst&egrave;me FreeBSD (<hostid>freebox</hostid>) est
+ le serveur: dans <filename>/etc/fstab</filename> de
+ <hostid>fastws</hostid>:
+
+ <programlisting>
+freebox:/sharedfs /project nfs rw,-w=1024 0 0
+ </programlisting>
+
+ commande de montage manuel sur <hostid>fastws</hostid>:
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>mount -t nfs -o -w=1024 freebox:/sharedfs /project</userinput></screen>
+ </informalexample></para>
+
+ <para>Presque toutes les cartes Ethernet 16-bit permettront d'utiliser
+ les restrictions ci-dessus &agrave; la taille du tampon de
+ lecture/&eacute;criture.</para>
+
+ <para>Pour ceux que cela int&eacute;resse, voici ce qui provoque le probl&egrave;me,
+ ce qui explique aussi qu'il ne soit pas r&eacute;cup&eacute;rable. NFS utilise
+ habituellement une taille de &ldquo;bloc&rdquo; de 8k (bien qu'il
+ arrive qu'il les fragmente en plus petits morceaux). Comme la taille
+ maximum d'un paquet Ethernet est de 1500 bits, le block NFS
+ est r&eacute;parti sur plusieurs paquets Ethernet, bien qu'il soit toujours
+ vu comme un ensemble par les couches sup&eacute;rieures du code, et doit &ecirc;tre
+ re&ccedil;u, assembl&eacute; et &ldquo;acquitt&eacute;&rdquo; comme tel. Les stations de
+ travail performantes peuvent traiter les paquets qui composent le
+ &ldquo;bloc&rdquo; NFS, les uns apr&egrave;s les autres, pratiquement
+ aussi rapidement que le standard le permet. Sur les cartes plus
+ petites et de moindre capacit&eacute;, les derniers paquets d'un m&ecirc;me groupe
+ &eacute;crasent les pr&eacute;c&eacute;dents, avant qu'ils aient &eacute;t&eacute; transmis,
+ et l'ensemble ne peut &ecirc;tre reconstruit et acquitt&eacute;. En cons&eacute;quence,
+ le d&eacute;lai est d&eacute;pass&eacute;
+ sur la station de travail, et elle recommence l'op&eacute;ration, mais elle
+ renvoie tous les 8k, et le ph&eacute;nom&egrave;ne se reproduit &agrave; l'infini.</para>
+
+ <para>En d&eacute;finissant la taille de &ldquo;bloc&rdquo; en de&ccedil;&agrave; de la
+ taille d'un paquet Ethernet, nous sommes s&ucirc;rs que chaque paquet
+ Ethernet entier sera acquitt&eacute; individuellement, ce qui &eacute;vite la
+ situation d'inter-bloquage.</para>
+
+ <para>Il peut toujours y avoir &eacute;crasement lorsque des stations de
+ travail performantes surchargent un syst&egrave;me PC de donn&eacute;es, mais avec
+ les meilleures cartes, de tels &eacute;crasements ne sont pas syst&eacute;matiques
+ pour les &ldquo;unit&eacute;s&rdquo; NFS. En cas d'&eacute;crasement, les blocs
+ affect&eacute;s sont retransmis, et il y a de fortes chances qu'ils soient
+ re&ccedil;us, assembl&eacute;s et acquitt&eacute;s.</para>
+
+ </sect1>
+
+ <sect1 id="diskless">
+ <title>Station sans disque dur</title>
+
+ <para><emphasis>Contribution de &a.martin;.</emphasis></para>
+
+ <para><filename>netboot.com</filename>/<filename>netboot.rom</filename>
+ vous permettent de d&eacute;marrer votre machine FreeBSD via le r&eacute;seau et
+ d'ex&eacute;cuter FreeBSD sans disque dur sur le client. Avec la version 2.0,
+ il est maintenant possible d'avoir de l'espace de pagination local. Il est toujours possible de paginer via NFS.</para>
+
+ <para>Les cartes Ethernet support&eacute;es sont: Western Digital/SMC 8003,
+ 8013, 8216 et compatibles; NE1000/NE2000 et compatibles (il faut
+ recompiler).</para>
+
+ <sect2>
+ <title>Configuration</title>
+
+ <procedure>
+
+ <step>
+ <para>Choisissez la machine qui sera votre serveur. Cette
+ machine doit disposer de suffisamment d'espace disque pour y
+ mettre les ex&eacute;cutables de FreeBSD 2.0 et les services bootp,
+ tftp, et NFS. Machines test&eacute;es:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>HP9000/8xx sous HP-UX 9.04 ou ult&eacute;rieurs (cela ne
+ marche pas avec les versions ant&eacute;rieures &agrave; la
+ 9.04).</para>
+ </listitem>
+
+ <listitem>
+ <para>Sun/Solaris 2.3. (vous devrez peut-&ecirc;tre vous
+ procurer bootp).</para>
+ </listitem>
+
+ </itemizedlist>
+
+ </step>
+
+ <step>
+ <para>Installez un serveur bootp pour fournir au client son
+ adresse IP, son masque de r&eacute;seau et une passerelle:</para>
+
+ <programlisting>
+sans-disque:\
+ :ht=ether:\
+ :ha=0000c01f848a:\
+ :sm=255.255.255.0:\
+ :hn:\
+ :ds=192.1.2.3:\
+ :ip=192.1.2.4:\
+ :gw=192.1.2.5:\
+ :vm=rfc1048:
+ </programlisting>
+ </step>
+
+ <step>
+ <para>Installez un serveur TFTP (sur la m&ecirc;me machine que le
+ serveur bootp) pour fournir au client les informations de
+ d&eacute;marrage. Le nom du fichier de configuration est
+ <filename>cfg.<replaceable>X.X.X.X</replaceable></filename>
+ (ou
+ <filename>/tftpboot/cfg.<replaceable>X.X.X.X</replaceable></filename>,
+ il cherchera les deux), o&ugrave; <replaceable>X.X.X.X</replaceable>
+ est l'adresse IP du client. Ce fichier peut contenir n'importe
+ quelles commandes netboot valides. Dans la version 2.0, les
+ commandes de netboot sont les suivantes:</para>
+
+ <informaltable frame="none">
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry>help</entry>
+ <entry>affiche une liste d'aide</entry>
+ </row>
+
+ <row>
+ <entry>ip <option><replaceable>X.X.X.X</replaceable></option></entry>
+ <entry>affiche/d&eacute;finit l'adresse IP du client</entry>
+ </row>
+
+ <row>
+ <entry>server <option><replaceable>X.X.X.X</replaceable></option></entry>
+ <entry>affiche/d&eacute;finit l'adresse IP du serveur
+ bootp/tftp</entry>
+ </row>
+
+ <row>
+ <entry>netmask <option><replaceable>X.X.X.X</replaceable></option></entry>
+ <entry>affiche/d&eacute;finit le masque de r&eacute;seau</entry>
+ </row>
+
+ <row>
+ <entry>hostname <replaceable>nom</replaceable></entry>
+ <entry>affiche/d&eacute;finit le nom de machine</entry>
+ </row>
+
+ <row>
+ <entry>kernel <option><replaceable>nom</replaceable></option></entry>
+ <entry>affiche/d&eacute;finit le nom du noyau</entry>
+ </row>
+
+ <row>
+ <entry>rootfs <option><replaceable>ip:/fs</replaceable></option></entry>
+ <entry>affiche/d&eacute;finit le nom du syst&egrave;me de fichiers
+ racine</entry>
+ </row>
+
+ <row>
+ <entry>swapfs <option><replaceable>ip:/fs</replaceable></option></entry>
+ <entry>affiche/d&eacute;finit le nom du syst&egrave;me de fichiers
+ de pagination</entry>
+ </row>
+
+ <row>
+ <entry>swapsize <option><replaceable>taille</replaceable></option></entry>
+ <entry>d&eacute;finit la taille de l'espace de pagination de la
+ station sans disque dur en Koctets</entry>
+
+ </row>
+
+ <row>
+ <entry>diskboot</entry>
+ <entry>d&eacute;marrer depuis le disque</entry>
+ </row>
+
+ <row>
+ <entry>autoboot</entry>
+ <entry>continuer le processus de d&eacute;marrage</entry>
+ </row>
+
+ <row>
+ <entry>trans
+ <option>on</option>|<option>off</option></entry>
+ <entry>active/d&eacute;sactive
+ l'&eacute;metteur-r&eacute;cepteur&nbsp;-&nbsp;<foreignphrase>transceiver</foreignphrase></entry>
+ </row>
+
+ <row>
+ <entry>flags
+ <option>b</option><option>c</option><option>d</option><option>h</option><option>s</option><option>v</option></entry>
+ <entry>d&eacute;finit les indicateurs de d&eacute;marrage</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>Un fichier <filename>cfg</filename> pour une machine
+ sans disque peut typiquement contenir:</para>
+
+ <programlisting>
+rootfs 192.1.2.3:/rootfs/monclient
+swapfs 192.1.2.3:/swapfs
+swapsize 20000
+hostname monclient.mondomain
+ </programlisting>
+
+ <para>Un fichier <filename>cfg</filename> pour une machine
+ avec espace de pagination local peut par exemple
+ contenir:</para>
+
+ <programlisting>
+rootfs 192.1.2.3:/rootfs/monclient
+hostname monclient.mondomain
+ </programlisting>
+ </step>
+
+ <step>
+ <para>V&eacute;rifiez que votre serveur NFS exporte bien le syst&egrave;me de
+ fichiers racine (et le syst&egrave;me de fichiers de pagination, le
+ cas &eacute;ch&eacute;ant) vers le client, et que ces syst&egrave;mes de fichiers
+ sont accessibles avec les droits super-utilisateur sur le
+ client. Le fichier <filename>/etc/exports</filename> sur un
+ syst&egrave;me FreeBSD ressemblera typiquement &agrave;:</para>
+
+ <programlisting>
+/rootfs/monclient -maproot=0:0 monclient.mondomain
+/swapfs -maproot=0:0 monclient.mondomain
+ </programlisting>
+
+ <para>Et sur HP-UX:</para>
+
+ <programlisting>
+/rootfs/myclient -root=monclient.mondomain
+/swapfs -root=monclient.mondomain
+ </programlisting>
+ </step>
+
+ <step>
+ <para>Si vous paginez via NFS (configuration sans aucun disque
+ dur), cr&eacute;ez un fichier de pagination pour votre client avec
+ <command>dd</command>. Si votre commande
+ <command>swapfs</command> a pour argument le syst&egrave;me de
+ fichiers <filename>/swapfs</filename> et 20000 comme taille,
+ comme dans l'exemple ci-dessus, le fichier de pagination du
+ client s'appelera
+ <filename>/swapfs/swap.<replaceable>X.X.X.X</replaceable></filename>
+ o&ugrave; <replaceable>X.X.X.X</replaceable> est l'adresse IP du
+ client, e.g.:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>dd if=/dev/zero of=/swapfs/swap.192.1.2.4 bs=1k count=20000</userinput></screen>
+ </informalexample>
+
+ <para>Comme l'espace de pagination du client peut contenir des
+ informations sensibles, d&egrave;s lors qu'il y a pagination, veillez
+ &agrave; restreindre les droits en lecture et en &eacute;criture sur ce
+ fichier pour &eacute;viter les acc&egrave;s non autoris&eacute;s:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>chmod 0600 /swapfs/swap.192.1.2.4</userinput></screen>
+ </informalexample>
+ </step>
+
+ <step>
+ <para>Recopiez le syst&egrave;me de fichiers racine sur le r&eacute;pertoire
+ qui servira de syst&egrave;me de fichiers racine pour le client
+ (<filename>/rootfs/monclient</filename> dans l'exemple
+ ci-dessus).
+
+ <itemizedlist>
+
+ <listitem>
+ <para>Sur les syst&egrave;mes HP-UX: Le serveur doit &ecirc;tre soit
+ HP-UX 9.04 ou ult&eacute;rieur pour les machines de la gamme
+ HP9000/800. Les versions ant&eacute;rieures ne permettent pas
+ de cr&eacute;er de fichiers sp&eacute;ciaux de p&eacute;riph&eacute;rique via
+ NFS.</para>
+ </listitem>
+
+ <listitem>
+ <para>Lorsque vous recopiez <filename>/dev</filename> dans
+ <filename>/rootfs/monclient</filename>, faites attention
+ au fait que certains syst&egrave;mes (HP-UX) ne cr&eacute;eront pas
+ les fichiers sp&eacute;ciaux de p&eacute;riph&eacute;rique dont FreeBSD a
+ besoin. Vous devrez peut-&ecirc;tre passer en mode
+ mono-utilisateur au premier d&eacute;marrage (appuyez sur
+ Ctrl-c pendant la phase de d&eacute;marrage),
+ <command>cd /dev</command> puis
+ <command>sh ./MAKEDEV all</command>
+ sur le client, pour r&eacute;gler ce probl&egrave;me.</para>
+ </listitem>
+
+ </itemizedlist>
+
+ </para>
+ </step>
+
+ <step>
+ <para>Lancez <command>netboot.com</command> sur le client
+ ou copiez le fichier <filename>netboot.rom</filename>
+ dans une EPROM.</para>
+ </step>
+
+ </procedure>
+
+ </sect2>
+
+ <sect2>
+ <title>Utiliser des syst&egrave;mes de fichiers <filename>/</filename> and
+ <filename>/usr</filename> partag&eacute;s</title>
+
+ <para>Cette fa&ccedil;on de faire n'est pas actuellement officiellement
+ sanctionn&eacute;e, mais j'ai utilis&eacute; un syst&egrave;me de fichiers
+ <filename>/usr</filename> partag&eacute; et un syst&egrave;me de fichiers
+ <filename>/</filename> individuel sur chaque client. Si quelqu'un
+ a des suggestions sur la fa&ccedil;on propre de le faire, qu'il me la
+ communique, ou &agrave; l'&a.core;.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Compiler netboot pour des configurations particuli&egrave;res</title>
+
+ <para>Netboot peut &ecirc;tre compil&eacute; pour supporter les cartes NE1000/2000
+ en modifiant sa configuration dans le fichier
+ <filename>/sys/i386/boot/netboot/Makefile</filename>. Voyez les
+ commentaires au d&eacute;but de ce fichier.</para>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="isdn">
+ <title>ISDN</title>
+
+ <para><emphasis>Derni&egrave;res modifications de &a.wlloyd;</emphasis>.</para>
+
+ <para>Il y a de bonnes informations sur la technologie et le mat&eacute;rial
+ ISDN sur
+ <ulink url="http://alumni.caltech.edu/~dank/isdn/">la page ISDN de
+ Dan Kegel</ulink>.</para>
+
+ <para>Voici un aper&ccedil;u simple et rapide &agrave; propos de l'ISDN:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>Si vous habitez en Europe, je vous sugg&egrave;re d'&eacute;tudier la
+ section sur les cartes ISDN.</para>
+ </listitem>
+
+ <listitem>
+ <para>Si vous envisagez d'utiliser l'ISDN avant tout pour vous
+ connecter &agrave; l'Internet par l'interm&eacute;diaire d'un Fournisseur
+ d'Acc&egrave;s Internet et d'une ligne t&eacute;l&eacute;phonique non d&eacute;di&eacute;e, je vous
+ conseille de lire la section sur les Adaptateurs Terminaux.
+ C'est la solution la plus souple, et qui vous posera le moins de
+ probl&egrave;mes, si vous changer de fournisseur.</para>
+ </listitem>
+
+ <listitem>
+ <para>Si vous interconnectez deux r&eacute;seaux locaux ou si vous vous
+ connectez &agrave; l'Internet avec une liaison ISDN d&eacute;di&eacute;e, je vous
+ sugg&egrave;re d'envisager un pont/routeur autonome.</para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>Le co&ucirc;t est un facteur d&eacute;terminant de la solution que vous
+ choisirez. Les options ci-dessous sont envisag&eacute;es de la plus ch&egrave;re &agrave;
+ la moins ch&egrave;re.</para>
+
+
+ <sect2>
+ <title>Cartes ISDN</title>
+
+ <para><emphasis>Contribution originale de &a.hm;.</emphasis></para>
+
+ <para>Cette section ne s'applique qu'aux utilisateurs Europ&eacute;ens de
+ l'ISDN. Les cartes support&eacute;es ne sont pas encore(?) disponibles pour
+ les normes Nord-Am&eacute;ricaines.</para>
+
+ <para>Vous devez savoir que le code est largement en cours de
+ d&eacute;veloppement. En particulier, il n'y a de pilotes sp&eacute;cifiques que
+ pour les cartes de deux constructeurs.</para>
+
+ <para>Les cartes ISDN pour PC supportent toute la bande passante de
+ l'ISDN, 128Kbs. Ces cartes sont souvent les &eacute;quipements ISDN les
+ moins chers.</para>
+
+ <para>Sous FreeBSD 2.1.0 et 2.1.5, il y a un premier code ISDN
+ inachev&eacute; dans le r&eacute;pertoire <filename>/usr/src/gnu/isdn</filename>.
+ Ce code est obsol&egrave;te et ne doit pas &ecirc;tre utilis&eacute;. Si vous voulez
+ emprunter cette voie, procurez-vous le code
+ <filename>bisdn</filename>. Ce code a &eacute;t&eacute; retir&eacute; de l'arborescence
+ des sources depuis FreeBSD 2.2.</para>
+
+ <para>Le logiciel ISDN <filename>bisdn</filename> pour
+ FreeBSD 2.1-release, FreeBSD-current et NetBSD se trouve sur
+ <ulink
+ url="ftp://hub.freebsd.org/pub/bisdn">hub.freebsd.org</ulink>.
+ la version la plus r&eacute;cente se trouve sur ce serveur ftp dans le
+ r&eacute;pertoire <filename>isdn</filename>, dans le fichier
+ <filename>bisdn-097.tar.gz</filename>.</para>
+
+ <para>Il y a des pilotes pour les cartes suivantes:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>Toutes les cartes Teles (passives) et compatibles sont
+ actuellement support&eacute;es avec les protocoles EuroISDN (DSS1) et
+ 1TR6.</para>
+ </listitem>
+
+ <listitem>
+ <para>Dr. Neuhaus - Niccy 1016</para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>Le logiciel <filename>bisdn</filename> pr&eacute;sentent quelques
+ limitations. Les fonctionnalit&eacute;s suivantes, habituellement associ&eacute;es
+ &agrave; l'ISDN, ne sont pas support&eacute;es:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>Pas de support PPP, HDLC de base uniquement. Cela signifie
+ qu'il n'est pas possible de se connecter &agrave; la plupart des
+ routeurs autonomes.</para>
+ </listitem>
+
+ <listitem>
+ <para>Le protocole de contr&ocirc;le des
+ ponts&nbsp;-&nbsp;<foreignphrase>Bridging Control
+ Protocol</foreignphrase>&nbsp;-&nbsp;n'est pas
+ support&eacute;.</para>
+ </listitem>
+
+ <listitem>
+ <para>Support pour une seule carte, uniquement.</para>
+ </listitem>
+
+ <listitem>
+ <para>Pas de bande passante &agrave; la demande.</para>
+ </listitem>
+
+ <listitem>
+ <para>Pas de liaison des canaux.</para>
+ </listitem>
+
+ </itemizedlist>
+
+
+ <para>Il existe une liste de diffusion. Pour vous y inscrire, envoyez
+ un courrier &eacute;lectronique &agrave; &a.majordomo; et avec:
+
+ <programlisting>
+subscribe freebsd-isdn
+ </programlisting>
+
+ comme texte de votre message.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Adaptateurs terminaux ISDN</title>
+
+ <para>Les adapteurs terminaux&nbsp;-&nbsp;Terminal adapters(TA), sont
+ l'&eacute;quivalent ISDN des modems pour les lignes t&eacute;l&eacute;phoniques
+ ordinaires.</para>
+
+ <para>La plupart des adaptateurs utilisent le jeu de commandes
+ standard des modems Hayes et peuvent &ecirc;tre utilis&eacute;s &agrave; la vol&eacute;e
+ en remplacement d'un modem.</para>
+
+ <para>Un adaptateur fonctionne essentiellement comme un modem sinon
+ que la vitesse de la connexion est bien plus rapide qu'avec votre
+ vieux modem. Vous devrez configurer <link linkend="ppp">PPP</link>
+ exactement comme pour un modem. Assurez-vous d'utiliser la vitesse
+ la plus &eacute;lev&eacute;e possible sur le port s&eacute;rie.</para>
+
+ <para>Le principal avantage des adaptateurs terminaux pour vous
+ connecter &agrave; votre Fournisseur d'Acc&egrave;s Internet est de pouvoir
+ utiliser PPP en mode dynamique. Comme l'espace d'adressage IP
+ disponible devient de plus en plus restreint, la plupart des
+ fournisseurs ne proposent plus d&eacute;sormais d'adresse IP statique.
+ La plupart des routeurs autonomes ne peuvent pas fonctionner avec
+ l'allocation dynamique d'adresse IP.</para>
+
+ <para>Les fonctionnalit&eacute;s et la stabilit&eacute; de la connexion des
+ adaptateurs reposent compl&egrave;tement sur le &ldquo;d&eacute;mon&rdquo; PPP
+ que vous ex&eacute;cuter. Cela vous permet de passer simplement d'un modem
+ &agrave; l'ISDN sur une machine FreeBSD, si vous avez d&eacute;j&agrave; configur&eacute; PPP.
+ De ce fait, cependant, les probl&egrave;mes que vous rencontrez avec PPP
+ persisteront aussi.</para>
+
+ <para>Si vous voulez le maximum de stabilit&eacute;, utilisez <link
+ linkend="ppp">PPP int&eacute;gr&eacute; au noyau</link> au lieu de <link
+ linkend="userppp">PPP en mode utilisateur</link>.</para>
+
+ <para>On sait que les adapteurs suivants fonctionnent avec
+ FreeBSD:</para>
+
+ <para>
+ <itemizedlist>
+
+ <listitem>
+ <para>Motorola BitSurfer et Bitsurfer Pro</para>
+ </listitem>
+
+ <listitem>
+ <para>Adtran</para>
+ </listitem>
+
+ </itemizedlist>
+ </para>
+
+ <para>La plupart des adaptateurs terminaux fonctionneront probablement
+ aussi, les fabricants d'adaptateurs font en sorte que leurs produits
+ acceptent la plupart des commandes AT des modems.</para>
+
+ <para>Le vrai probl&egrave;me avec les adaptateurs externes est que, comme
+ pour les modems, il vous faut une bonne carte s&eacute;rie.</para>
+
+ <para>Vous devriez lire la section <link linkend="uart">Ports
+ s&eacute;rie</link> de ce manuel pour comprendre en d&eacute;tail le
+ fonctionnement des p&eacute;riph&eacute;riques s&eacute;rie et les diff&eacute;rences entre
+ les ports s&eacute;rie synchrones et asynchrones.</para>
+
+ <para>Un adaptateur sur un port s&eacute;rie PC standard (asynchrone)
+ vous limite &agrave; 115.2Kbs, bien que vous ayez une liaison &agrave; 128Kbs.
+ Pour utiliser les 128Kbs que peut atteindre l'ISDN, il vous faut
+ relier l'adaptateur &agrave; une carte s&eacute;rie synchrone.</para>
+
+ <para>N'imaginez pas qu'il vous suffise d'acheter un adaptateur
+ interne pour &eacute;viter l'alternative synchrone/asynchrone. Les
+ adaptateurs internes incluent simplement une puce port s&eacute;rie
+ standard. Tout ce que vous y gagnerez sera d'&eacute;conomiser un
+ c&acirc;ble s&eacute;rie et de r&eacute;cup&eacute;rer une prise &eacute;lectrique.</para>
+
+ <para>Une carte synchrone avec un adaptateur est au moins aussi rapide
+ qu'un routeur autonome, et pilot&eacute;e par une simple machine FreeBSD,
+ probablement plus souple.</para>
+
+ <para>Le choix entre carte synchrone/adaptateur ou routeur autonome
+ est largement question de dogme. Cela a &eacute;t&eacute; quelque peu discut&eacute;
+ dans les listes de diffusion. Je vous sugg&egrave;re de regarder dans les
+ <ulink
+ url="http://www.freebsd.org/search.html">archives</ulink> pour
+ suivre l'int&eacute;gralit&eacute; du d&eacute;bat.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Ponts/Routeurs ISDN autonomes</title>
+
+ <para>Les ponts ou les routeurs ISDN ne sont en rien propres &agrave;
+ FreeBSD ou &agrave; tout autre syst&egrave;me d'exploitation. Pour une description
+ compl&egrave;te de la technologie des ponts et des routeurs, reportez-vous
+ s'il vous pla&icirc;t &agrave; un ouvrage de r&eacute;f&eacute;rence sur les r&eacute;seaux.</para>
+
+ <para>Dans le contexte de ce manuel, j'utiliserai indiff&eacute;remment les
+ termes routeur et pont.</para>
+
+ <para>Comme le prix des ponts/routeurs ISDN d'entr&eacute;e de gamme baisse
+ continuellement, il est probable qu'ils deviennent un choix plus
+ courant. Un routeur ISDN est une petite bo&icirc;te que se branche
+ directement sur votre r&eacute;seau (ou votre carte) Ethernet, et g&egrave;re sa
+ propre connexion aux autres ponts/routeurs. Il int&egrave;gre le logiciel
+ n&eacute;cessaire au support du protocole PPP et d'autres
+ protocoles.</para>
+
+ <para>Un routeur vous procurera une liaison plus rapide qu'un
+ adaptateur standard, puisqu'il utilisera toute la connexion
+ ISDN synchrone.</para>
+
+ <para>Le principale probl&egrave;me avec les ponts et les routeurs ISDN est
+ encore l'interop&eacute;rabilit&eacute; entre les mat&eacute;riels des diff&eacute;rents
+ constructeurs. Si vous envisagez de vous connecter &agrave; un fournisseur
+ d'acc&egrave;s Internet, je vous recommande d'en discuter avec lui.</para>
+
+ <para>Si vous envisagez de relier entre eux deux r&eacute;seaux locaux, i.e.:
+ le r&eacute;seau de votre domicile et le r&eacute;seau de votre bureau, c'est la
+ solution la plus simple et qui demande le moins de maintenance.
+ Etant donn&eacute; que vous achetez les &eacute;quipements pour les deux
+ extr&eacute;mit&eacute;s de la liaison, vous &ecirc;tes s&ucirc;r que cela
+ fonctionnera.</para>
+
+ <para>Pour connecter par exemple votre ordinateur &agrave; domicile ou
+ le r&eacute;seau d'une agence &agrave; celui du si&egrave;ge, vous pourriez
+ utiliser la configuration qui suit.</para>
+
+ <example>
+ <title>R&eacute;seau d'agence ou &agrave; domicile</title>
+
+ <para>R&eacute;seau Ethernet 10 Base T. Connecter le routeur au c&acirc;ble r&eacute;seau
+ avec un
+ &eacute;metteur-r&eacute;cepteur&nbsp;-&nbsp;<foreignphrase>transceiver</foreignphrase>&nbsp;-&nbsp;AUI/10BT,
+ si n&eacute;cessaire.</para>
+
+ <!-- This should be a graphic -->
+ <programlisting>
+---Station de travail Sun
+|
+---Machine FreeBSD
+|
+---Windows 95 (N'avouez pas qu'elle est &agrave; vous)
+|
+Routeur autonome
+ |
+Liaison ISDN BRI
+ </programlisting>
+
+ <para>Si vous n'avez qu'un seul ordinateur &agrave; domicile ou dans
+ l'agence, vous pouvez utiliser une paire torsad&eacute;e crois&eacute;e pour
+ le connecter directement au routeur.</para>
+ </example>
+
+ <example>
+ <title>Si&egrave;ge ou autre r&eacute;seau</title>
+
+ <para>R&eacute;seau Ethernet paire torsad&eacute;e.</para>
+
+ <!-- This should be a graphic -->
+ <programlisting>
+ -------Serveur Novell
+ | H |
+ | ---Sun
+ | |
+ | U ---FreeBSD
+ | |
+ | ---Windows 95
+ | B |
+ |___---Routeur autonome
+ |
+ Liaison ISDN BRI
+ </programlisting>
+ </example>
+
+ <para>Un s&eacute;rieux avantage de la plupart des ponts/routeurs est qu'ils
+ vous permettent d'avoir deux connexions PPP <emphasis>s&eacute;par&eacute;es et
+ ind&eacute;pendantes</emphasis> en m&ecirc;me temps. Ce n'est pas possible avec
+ la plupart des adaptateurs, sauf certains mod&egrave;les particuliers
+ (co&ucirc;teux) qui ont deux ports s&eacute;rie. Ne confondez pas cela avec
+ avec le couplage de canaux, MPP, etc.</para>
+
+ <para>Ce peut &ecirc;tre une fonctionnalit&eacute; tr&egrave;s utile, par exemple si vous
+ avez une connexion ISDN Internet d&eacute;di&eacute;e au bureau et voudriez en
+ profiter mais ne voulez pas acqu&eacute;rir de nouvelle ligne ISDN.
+ Un routeur au bureau peut g&eacute;rer un canal B d&eacute;di&eacute;
+ (64 Kbs) vers l'Internet et utiliser l'autre canal B pour une
+ autre connexion. Le deuxi&egrave;me canal B peut &ecirc;tre utilis&eacute; pour
+ des connexions entrantes, sortantes ou dynamiquement li&eacute;e
+ au premier canal B pour augmenter la bande passante.</para>
+
+ <para>Un pont Ethernet vous permettra aussi de transmettre autre
+ chose que du trafic IP, vous pourrez aussi faire passer de l'IPX/SPX
+ ou tout autre protocole que vous utilisiez.</para>
+
+ </sect2>
+ </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:
+-->
diff --git a/fr_FR.ISO_8859-1/books/handbook/backups/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/backups/chapter.sgml
new file mode 100644
index 0000000000..707735ab65
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/backups/chapter.sgml
@@ -0,0 +1,774 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+<chapter id="backups">
+ <title>Sauvegardes</title>
+ &trans.a.haby;
+
+ <para>Les questions de compatibilit&eacute; mat&eacute;rielle sont aujourd'hui
+ les plus probl&eacute;matiques de l'industrie informatique et FreeBSD
+ n'en est nullement &agrave; l'abri. De ce point de vue, l'avantage qu'a
+ FreeBSD de pouvoir &ecirc;tre utilis&eacute; sur du mat&eacute;riel PC de base et
+ peu co&ucirc;teux devient un probl&egrave;me lorsqu'il faut supporter la
+ vari&eacute;t&eacute; incroyable de composants disponibles sur le march&eacute;.
+ Il est impossible de donner une liste exhaustive des mat&eacute;riels
+ compatibles avec FreeBSD, mais ce chapitre est un catalogue des
+ pilotes de p&eacute;riph&eacute;riques inclut dans FreeBSD et des mat&eacute;riels que
+ chaque pilote supporte. Si possible et appropri&eacute;, des notes ont
+ ajout&eacute;es sur les mat&eacute;riels eux-m&ecirc;mes. Vous pouvez aussi vous
+ r&eacute;f&eacute;rer au chapitre <link linkend="kernelconfig-config">Configurer
+ le noyau de FreeBSD</link> de ce manuel pour avoir
+ la liste des mat&eacute;riels support&eacute;s.</para>
+
+ <para>FreeBSD est un projet b&eacute;n&eacute;vole qui n'a pas les moyens de financer
+ un service de tests, nous reposons sur vous, les utilisateurs, pour une
+ grande part des informations que fournit ce catalogue. Si vous avez
+ l'exp&eacute;rience personnelle d'un mat&eacute;riel qui fonctionne ou ne fonctionne
+ pas avec FreeBSD, faites-le nous savoir par courrier &eacute;lectronique
+ &agrave; la &a.doc;. Les questions concernant les mat&eacute;riels compatibles doivent
+ &ecirc;tre adress&eacute;es &agrave; la &a.questions; (voyez la section
+ <link linkend="eresources-mail">Listes
+ de diffusion</link> pour plus d'information). Quand vous nous faites
+ parvenir de l'information ou posez une question, n'oubliez pas s'il vous
+ pla&icirc;t de pr&eacute;ciser exactement quelle version de FreeBSD vous utilisez et
+ de donner le maximum de d&eacute;tails sur votre configuration
+ mat&eacute;rielle.</para>
+
+ <sect1>
+ <title>* A propos des sauvegardes sur disquettes</title>
+
+ <para></para>
+ </sect1>
+
+ <sect1 id="backups-tapebackups">
+ <title>Formats de bandes</title>
+
+ <para>Les principaux types de bandes sont les 4mm, 8mm, QIC, les mini-cartouches
+ et les DLT.</para>
+
+ <sect2 id="backups-tapebackups-4mm">
+ <title>4mm (DDS: &ldquo;Digital Data
+ Storage&rdquo;)</title>
+
+ <para>Les bandes 4mm sont en train de remplacer les bandes QIC comme format usuel
+ de sauvegarde pour les stations de travail. Cette tendance s'est acc&eacute;l&eacute;r&eacute;e
+ lorsque Conner a rachet&eacute; Archive, dominant sur le march&eacute; des lecteurs QIC,
+ et a arr&ecirc;t&eacute; la production de ces derniers. Les bandes 4mm sont petites et
+ silencieuses, mais n'ont pas la r&eacute;putation de fiabilit&eacute; des bandes 8mm. Les
+ cartouches sont moins co&ucirc;teuses et plus petites (3 x 2 x 0.5 pouces, 76 x 51
+ x 12 mm) que les cartouches 8mm. Leurs dur&eacute;es de vie sont faibles et comparables,
+ car elles utilisent toutes les deux un proc&eacute;d&eacute; de lecture/&eacute;criture en h&eacute;lice.</para>
+
+ <para>Leur d&eacute;bit va de ~150kB/s &agrave; ~500kB/s au maximum. Leur capacit&eacute; varie de
+ 1.3 GB &agrave; 2.0 GB. La compression mat&eacute;rielle, disponible sur la plupart des
+ lecteurs, double approximativement leur capacit&eacute;. Il existe des lecteurs
+ multiples avec changeur de bande automatique qui ont jusqu'&agrave; six unit&eacute;s de
+ lecture/&eacute;criture. La capacit&eacute; totale qu'ils g&egrave;rent atteint 240 GB.</para>
+
+ <para>Les t&ecirc;tes 4mm, comme les t&ecirc;tes 8mm, utilisent un proc&eacute;d&eacute; de lecture/&eacute;criture
+ en h&eacute;lice. Ils pr&eacute;sentent donc tous deux les avantages et les inconv&eacute;nients de ce
+ proc&eacute;d&eacute;.</para>
+
+ <para>Il faut sortir les bandes apr&egrave;s 2.000 utilisations ou 100 sauvegardes
+ compl&egrave;tes.</para>
+ </sect2>
+
+ <sect2 id="backups-tapebackups-8mm">
+ <title>Bandes 8mm (Exabyte)</title>
+
+ <para>Les unit&eacute;s de bandes 8mm sont les unit&eacute;s SCSI les plus courantes; c'est le
+ meilleure choix de bandes amovibles. Il y a une unit&eacute; Exabyte 8mm de 2GB sur
+ presque chaque site. Les bandes 8mm sont fiables, silencieuses et pratiques.
+ Les cartouches ne sont pas ch&egrave;res et d'encombrement faible (4.8 x 3.3 x 0.6
+ pouces; 122 x 84 x 15 mm). Un des inconv&eacute;nients de ce format est la dur&eacute;e de
+ vie relativement courte des bandes et des t&ecirc;tes du fait de la grande vitesse
+ de d&eacute;filement de la bande devant les t&ecirc;tes.</para>
+
+ <para>Leur d&eacute;bit va ~250kB/s &agrave; ~500kB/s au maximum. Leur capacit&eacute; commence &agrave;
+ 300 MB jusqu'&agrave; 7 GB. La compression mat&eacute;rielle, disponible sur la plupart des
+ lecteurs, double approximativement leur capacit&eacute;. Il existe des lecteurs
+ simples et multiples, qui accueillent six unit&eacute;s et 120 cartouches. Ils
+ disposent de changeurs de bandes automatiques. Ils g&egrave;rent une capacit&eacute; de
+ stockage de 840+ GB.</para>
+
+ <para>L'enregistrement des donn&eacute;es utilisent un proc&eacute;d&eacute; en h&eacute;lice. Les t&ecirc;tes
+ sont en biais par rapport &agrave; la bande (environ 6 degr&eacute;s). La bande fait un
+ angle de 270 degr&eacute;s avec le cylindre sur lequel se trouvent les t&ecirc;tes. Ce
+ cylindre tourne en m&ecirc;me temps que la bande d&eacute;file. On aboutit donc &agrave; une
+ grande densit&eacute; de donn&eacute;es et des pistes tr&egrave;s serr&eacute;es qui vont de biais d'un
+ bord de la bande &agrave; l'autre.</para>
+ </sect2>
+
+ <sect2 id="backups-tapebackups-qic">
+ <title>QIC</title>
+
+ <para>Les bandes et les lecteurs QIC-150 sont, peut-&ecirc;tre, le format le plus
+ courant. Les lecteurs de bandes QIC sont les moins chers des supports de
+ sauvegarde &ldquo;s&eacute;rieux&rdquo;. Leur inconv&eacute;nient par contre est le
+ co&ucirc;t des bandes. Les bandes QIC sont ch&egrave;res par rapport aux bande 4mm et 8mm,
+ pr&egrave;s de 5 fois le co&ucirc;t au GB. Mais, si une demi-douzaine de bandes vous
+ suffit, le format QIC est peut-&ecirc;tre le bon choix. QIC est le format le
+ <emphasis>plus</emphasis> r&eacute;pandu. Il y a un lecteur QIC d'une densit&eacute; ou
+ d'une autre sur chaque site. C'est l&agrave; la difficult&eacute;, il y a de nombreuses
+ densit&eacute;s diff&eacute;rentes pour des bandes physiquement semblables (parfois
+ m&ecirc;me identiques). Les lecteurs QIC ne sont pas silencieux. Ils se
+ positionnent bruyamment avant d'enregistrer et on les entend lorsqu'ils
+ lisent, enrregistrent ou se positionnent sur la bande. Les bandes QIC
+ sont volumineuses (6 x 4 x 0.7 pouces; 15.2 x 10.2 x 1.7 mm).
+ Les <link linkend="backups-tapebackups-mini">Mini-cartouches</link>,
+ qui utilisent aussi des bandes 1/4" sont d&eacute;crites par ailleurs. On ne trouve
+ pas d'unit&eacute;s multi-bandes avec changeur.</para>
+
+ <para>Leur d&eacute;bit va de ~150kB/s &agrave; ~500kB/s au maximum. Leur capacit&eacute; varie de
+ 40 MB &agrave; 15 GB. La compression mat&eacute;rielle est disponible sur de
+ nombreux mod&egrave;les r&eacute;cents. On utilise de moins en moins les lecteurs
+ QIC; ils sont remplac&eacute;s par les lecteurs DAT.</para>
+
+ <para>Les donn&eacute;es sont enregistr&eacute;es sur des pistes sur la bande. Les pistes
+ sont parall&egrave;les &agrave; la bande et vont d'une extr&eacute;mit&eacute; &agrave; l'autre. Le nombre de
+ pistes et donc la largeur des pistes d&eacute;pend de la capacit&eacute; de la bande. La
+ plupart, sinon toutes les unit&eacute;s r&eacute;centes sont au moins compatibles en
+ lecture (mais souvent aussi en &eacute;criture) avec les anciennes. Le format
+ a une bonne r&eacute;putation de fiabilit&eacute; (la m&eacute;canique est plus simple est
+ plus robuste que celle du syst&egrave;me en h&eacute;lice).</para>
+
+ <para>Les bandes sont utilisables pour 5.000 sauvegardes.</para>
+ </sect2>
+
+ <sect2 id="backups-tapebackups-mini">
+ <title>* Mini-Cartouches</title>
+
+ <para></para>
+ </sect2>
+
+ <sect2 id="backups-tapebackups-dlt">
+ <title>DLT</title>
+
+ <para>Les DLT ont le taux de transfert le plus rapide de tous les types
+ de lecteurs d&eacute;crits ici. La bande d'1/2" (12.5mm) est contenue dans
+ une seule cartouche &agrave; bobine (4 x 4 x 1 pouces; 100 x 100 x 25 mm).
+ La cartouche est munie d'une trappe basculante sur une face lat&eacute;rale
+ enti&egrave;re. Le lecteur ouvre cette trappe pour saisir le d&eacute;but de la
+ bande. Cette amorce comporte une d&eacute;coupe ovale que le lecteur utilise
+ pour &ldquo;crocheter&rdquo; la bande. La bobine d'entra&icirc;nement se
+ trouve dans le lecteur. Tous les autres types de cartouches d&eacute;crits
+ ici (les bandes neuf pistes sont la seule exception) incorporent les
+ bobines de stockage et d'entra&icirc;nement.</para>
+
+ <para>Leur d&eacute;bit est d'environ 1.5MB/s, trois fois celui des bandes 4mm,
+ 8mm et QIC. La capacit&eacute; d'une bande va de 10GB &agrave; 20GB. Il y a des unit&eacute;s
+ avec changeur de bandes et des unit&eacute;s avec plusieurs lecteurs/enregistreurs
+ qui vont de 5 &agrave; 900 bandes et de 1 &agrave; 20 lecteurs, ce qui procure une
+ capacit&eacute; totale de 50GB &agrave; 9TB.</para>
+
+ <para>Les donn&eacute;es sont enregistr&eacute;es sur des pistes parall&egrave;les &agrave; la direction
+ de d&eacute;filement (tout comme les bandes QIC). L'&eacute;criture se fait sur deux pistes
+ &agrave; la fois. La dur&eacute;e de vie des t&ecirc;tes de lecture/&eacute;criture est relativement
+ longue; une fois que la bande s'arr&ecirc;te, il n'y a pas de d&eacute;placement des t&ecirc;tes
+ par rapport &agrave; la bande.</para>
+ </sect2>
+
+ <sect2>
+ <title>Utiliser une bande neuve pour la premi&egrave;re fois</title>
+
+ <para>La premi&egrave;re fois que vous essayer de lire ou d'&eacute;crire sur une bande vierge,
+ l'op&eacute;ration &eacute;choue. La console affiche des messages du type:</para>
+
+<informalexample>
+ <screen>st0(ncr1:4:0): NOT READY asc:4,1
+st0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
+ </informalexample>
+
+ <para>Il n'y a pas de bloc d'identification (bloc num&eacute;ro 0) sur la bande.
+ Tous les lecteurs QIC &eacute;crivent un bloc d'identification sur la bande
+ depuis l'adoption du standard QIC-525. Il y a deux solutions:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><command>mt fsf 1</command> fait &eacute;crire au lecteur le bloc
+ d'identification sur la bande.</para>
+ </listitem>
+
+ <listitem>
+ <para>Utilisez le bouton du panneau frontal pour &eacute;jecter la bande,</para>
+
+ <para>r&eacute;ins&eacute;rez la bande et utilisez
+ <citerefentry>
+ <refentrytitle>dump</refentrytitle>
+ <manvolnum>8</manvolnum>
+ </citerefentry> pour &eacute;crire dessus,</para>
+
+ <para><citerefentry>
+ <refentrytitle>dump</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> produira l'erreur <literal>DUMP:
+ End of tape detected</literal> et la console affichera:
+ <literal>HARDWARE FAILURE info:280 asc:80,96</literal>,</para>
+
+ <para>rembobinez la bande avec: <command>mt rewind</command>,</para>
+
+ <para>les manipulations ult&eacute;rieures sur la bande fonctionneront.</para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+ </sect1>
+
+ <sect1 id="backup-programs">
+ <title>Programmes de sauvegarde</title>
+
+ <para>Les trois principaux programmes sont:
+ <citerefentry>
+ <refentrytitle>dump</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry>
+ <refentrytitle>tar</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>,
+ et
+ <citerefentry>
+ <refentrytitle>cpio</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>.</para>
+
+ <sect2>
+ <title>Dump et Restore</title>
+
+ <para><citerefentry>
+ <refentrytitle>dump</refentrytitle>
+ <manvolnum>8</manvolnum>
+ </citerefentry> et <citerefentry>
+ <refentrytitle>restore</refentrytitle>
+ <manvolnum>8</manvolnum>
+ </citerefentry> sont les programmes de sauvegarde traditionnels d'Unix.
+ Ils consid&eacute;rent la bande comme une suite de blocs de disque, en dessous
+ du niveau d'abstraction que constituent les fichiers, liens et r&eacute;pertoires
+ cr&eacute;&eacute;s par les syst&egrave;mes de fichiers.
+ <citerefentry>
+ <refentrytitle>dump</refentrytitle>
+ <manvolnum>8</manvolnum>
+ </citerefentry> sauvegarde des entr&eacute;es de "p&eacute;riph&eacute;riques", des syst&egrave;mes
+ de fichiers complets, et non des sous-ensembles d'un syst&egrave;me de fichiers
+ ou des arborescences de r&eacute;pertoires qui se r&eacute;partissent sur plusieurs
+ syst&egrave;mes de fichiers, via des liens symboliques cr&eacute;&eacute;s avec
+ <citerefentry>
+ <refentrytitle>ln</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </citerefentry> ou en montant un syst&egrave;me de fichiers sur un autre.
+ <citerefentry>
+ <refentrytitle>dump</refentrytitle>
+ <manvolnum>8</manvolnum>
+ </citerefentry> n'&eacute;crit pas de fichiers ou r&eacute;pertoires sur la bande, mais
+ &eacute;crit les blocs de donn&eacute;es dont sont constitu&eacute;s les fichiers et
+ les r&eacute;pertoires. <citerefentry>
+ <refentrytitle>dump</refentrytitle>
+ <manvolnum>8</manvolnum>
+ </citerefentry> a quelques particularit&eacute;s qui datent de la
+ Version 6 d'ATT Unix (circa 1975). Les param&egrave;tres par d&eacute;faut
+ conviennent aux bandes 9 pistes (6250 bpi) et non aux supports
+ &agrave; haute densit&eacute; que l'on trouve maintenant (jusqu'&agrave; 62,182 ftpi).
+ Il faut surcharger ces valeurs par d&eacute;faut sur la ligne de
+ commande pour utiliser la capacit&eacute; des bandes actuelles.</para>
+
+ <para><citerefentry>
+ <refentrytitle>rdump</refentrytitle>
+ <manvolnum>8</manvolnum>
+ </citerefentry> et <citerefentry>
+ <refentrytitle>rrestore</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> sauvegardent les donn&eacute;es
+ via le r&eacute;seau sur une unit&eacute; de bandes qui se trouve sur une
+ autre machine. Les deux programmes se servent de
+ <citerefentry>
+ <refentrytitle>rcmd</refentrytitle>
+ <manvolnum>3</manvolnum>
+ </citerefentry> et <citerefentry>
+ <refentrytitle>ruserok</refentrytitle>
+ <manvolnum>3</manvolnum></citerefentry> pour acc&eacute;der &agrave; l'unit&eacute; de
+ bandes distante. L'utilisateur qui effectue la sauvegarde doit donc
+ avoir un acc&egrave;s <literal>rhosts</literal> &agrave; la machine distante. Les
+ arguments de <citerefentry>
+ <refentrytitle>rdump</refentrytitle>
+ <manvolnum>8</manvolnum>
+ </citerefentry> et <citerefentry>
+ <refentrytitle>rrestore</refentrytitle>
+ <manvolnum>8</manvolnum>
+ </citerefentry> doivent &ecirc;tre compatibles avec la machine distante (e.g.
+ si vous sauvegardez d'une machine FreeBSD sur un lecteur Exabyte
+ install&eacute; sur un ordinateur Sun appel&eacute;
+ <hostid>komodo</hostid>, utilisez: <command>/sbin/rdump 0dsbfu 54000
+ 13000 126 komodo:/dev/nrst8 /dev/rsd0a 2>&amp;1</command>) Attention:
+ Autoriser les commandes <literal>rhosts</literal> a des cons&eacute;quences
+ pour la s&eacute;curit&eacute;. Evaluez soigneusement votre situation.</para>
+ </sect2>
+
+ <sect2>
+ <title>Tar</title>
+
+ <para><citerefentry>
+ <refentrytitle>tar</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </citerefentry> date aussi de la Version 6 d'ATT Unix (circa
+ 1975). <citerefentry>
+ <refentrytitle>tar</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </citerefentry> travaille en coop&eacute;ration avec le syst&egrave;me de fichiers;
+ <citerefentry>
+ <refentrytitle>tar</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </citerefentry> &eacute;crit des fichiers et des r&eacute;pertoires sur la bande.
+ <citerefentry>
+ <refentrytitle>tar</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </citerefentry> ne supporte pas toutes les options que permet
+ <citerefentry>
+ <refentrytitle>cpio</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>, mais <citerefentry>
+ <refentrytitle>tar</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> ne demande pas
+ l'inhabituelle concat&eacute;nation de commandes qu'utilise
+ <citerefentry>
+ <refentrytitle>cpio</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </citerefentry>.</para>
+
+ <para>La plupart des versions de <citerefentry>
+ <refentrytitle>tar</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </citerefentry> ne donnent pas la possibilit&eacute; de sauvegarde en r&eacute;seau. La
+ version GNU de <citerefentry>
+ <refentrytitle>tar</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>, que FreeBSD utilise,
+ supporte les p&eacute;riph&eacute;riques distants avec la m&ecirc;me syntaxe que
+ <command>rdump</command>. Pour sauvegarder avec <citerefentry>
+ <refentrytitle>tar</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </citerefentry> sur une unit&eacute; Exabyte install&eacute;e sur un Sun appel&eacute;
+ komodo, utilisez: <command>/usr/bin/tar cf komodo:/dev/nrst8 .
+ 2>&amp;1</command>. Avec les versions sans support pour des
+ p&eacute;riph&eacute;riques distants, vous pouvez utilisez un tuyau (&ldquo;pipe&rdquo;)
+ et <citerefentry>
+ <refentrytitle>rsh</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> pour envoyer les donn&eacute;es
+ sur le lecteur distant.</para>
+ </sect2>
+
+ <sect2>
+ <title>Cpio</title>
+
+ <para><citerefentry>
+ <refentrytitle>cpio</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> est le programme Unix
+ original pour l'&eacute;change de fichiers par bandes magn&eacute;tiques.
+ <citerefentry>
+ <refentrytitle>cpio</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> dispose d'options (entre
+ beaucoup d'autres) pour intervertir les octets, utiliser diff&eacute;rents
+ formats d'archivage et envoyer les donn&eacute;es &agrave; d'autres programmes.
+ C'est cette derni&egrave;re possibilit&eacute; qui fait de
+ <citerefentry>
+ <refentrytitle>cpio</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> un excellent choix pour
+ les supports d'installation. <citerefentry>
+ <refentrytitle>cpio</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> ne sait pas parcourir
+ l'arborescence d'un r&eacute;pertoire et il faut lui passer la liste
+ des fichiers via
+ <filename>STDIN</filename>.</para>
+
+ <para><citerefentry>
+ <refentrytitle>cpio</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> ne permet pas la
+ sauvegarde sur le r&eacute;seau et il faut utiliser un tuyau (&ldquo;pipe&rdquo;)
+ et <citerefentry>
+ <refentrytitle>rsh</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> pour envoyer les donn&eacute;es sur une
+ unit&eacute; distante.</para>
+ </sect2>
+
+ <sect2>
+ <title>Pax</title>
+
+ <para><citerefentry>
+ <refentrytitle>pax</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> est la r&eacute;ponse IEEE/POSIX &agrave;
+ <command>tar</command> et <command>cpio</command>. Au fil des ans, les
+ diff&eacute;rentes versions de <command>tar</command> et <command>cpio</command>
+ sont devenues l&eacute;g&eacute;rement incompatibles. Donc, au lieu de batailler pour
+ les standardiser enti&egrave;rement, POSIX a d&eacute;fini un nouvel utilitaire d'archivage.
+ <command>pax</command> essaie de lire nombre de formats
+ <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry> et
+ <citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry> en
+ plus de ses propres nouveaux formats. Son jeu de commandes ressemble plus &agrave;
+ celui de <command>cpio</command> qu'&agrave; celui de
+ <command>tar</command>.</para>
+ </sect2>
+
+ <sect2 id="backups-programs-amanda">
+ <title>Amanda</title>
+
+ <para><ulink url="http://www.freebsd.org/ports/misc.html#amanda-2.4.0">Amanda</ulink>
+ (Advanced Maryland Network Disk Archiver&nbsp;-&nbsp;Syst&egrave;me Avanc&eacute; d'Archivage
+ de Disques en R&eacute;seau du Maryland ) est un syst&egrave;me d'archivage client/serveur
+ plut&ocirc;t qu'un simple programme. Un serveur Amanda archivera sur une seule
+ unit&eacute; de bandes un nombre quelconque d'ordinateurs qui ont un client
+ Amanda et un acc&egrave;s r&eacute;seau au serveur Amanda. Un probl&egrave;me habituel sur
+ les sites qui ont de nombreux disques volumineux est le temps disponible
+ pour la sauvegarde. Amanda r&eacute;soud ce probl&egrave;me. Amanda peut utiliser un
+ &ldquo;disque interm&eacute;diaire&rdquo; pour sauvegarder plusieurs syst&egrave;mes de fichiers
+ &agrave; la fois. Amanda cr&eacute;e des &ldquo;jeux d'archive&rdquo;, un ensemble de bandes
+ utilis&eacute;es pour une p&eacute;riode donn&eacute;e pour cr&eacute;er une sauvegarde compl&egrave;te de tous les
+ syst&egrave;mes de fichiers list&eacute;s dans ses fichiers de configuration.
+ Le &ldquo;jeu d'archive&rdquo; contient aussi les sauvegardes nocturnes
+ incr&eacute;mentales (ou diff&eacute;rentielles) de tous les syst&egrave;mes de fichiers.
+ Pour restaurer un syst&egrave;me de fichiers endommag&eacute;, il faut la sauvegarde
+ compl&egrave;te la plus r&eacute;cente et les sauvegardes incr&eacute;mentales.</para>
+
+ <para>Le fichier de configuration permet un contr&ocirc;le en finesse des
+ sauvegardes et du trafic qu'Amanda g&eacute;n&eacute;re sur le r&eacute;seau. Amanda peut
+ utiliser n'importe lequel des programmes de sauvegarde d&eacute;crits plus
+ haut pour &eacute;crire les donn&eacute;es sur bande. Amanda existe sous forme
+ pr&eacute;-compil&eacute;e ou source, il n'est pas install&eacute; par d&eacute;faut.</para>
+ </sect2>
+
+ <sect2>
+ <title>Ne rien faire</title>
+
+ <para>&ldquo;Ne rien faire&rdquo; n'est pas un logiciel, mais c'est la
+ strat&eacute;gie de sauvegarde la plus utilis&eacute;e. Il n'y a aucun investissement.
+ Il n'y a pas de planification des sauvegardes &agrave; suivre. Juste dire non.
+ Si quelque chose arrive &agrave; vos donn&eacute;es, souriez et d&eacute;brouillez-vous!</para>
+
+ <para>Si votre temps et vos donn&eacute;es ne valent pas grand chose, alors
+ &ldquo;Ne rien faire&rdquo; est le programme de sauvegarde le mieux
+ adapt&eacute; &agrave; votre ordinateur. Mais prenez garde, Unix est un bon outil,
+ vous pouvez vous rendre compte au bout de six mois que vous avez une
+ collection de fichiers utiles.</para>
+
+ <para>&ldquo;Ne rien faire&rdquo; est la bonne m&eacute;thode pour sauvegarder
+ <filename>/usr/obj</filename> et les autres r&eacute;pertoires qui peuvent
+ facilement &ecirc;tre recr&eacute;&eacute;s par votre ordinateur. Par exemple, les fichiers
+ qui constituent ces pages ont &eacute;t&eacute; g&eacute;n&eacute;r&eacute;s &agrave; partir de fichiers
+ <acronym>SGML</acronym>. Il n'est pas n&eacute;cessaire d'archiver ces fichiers
+ <acronym>HTML</acronym>. Les fichiers source
+ <acronym>SGML</acronym> sont sauvegard&eacute;s r&eacute;guli&egrave;rement.</para>
+ </sect2>
+
+ <sect2>
+ <title>Quel est le meilleur programme de sauvegarde?</title>
+
+ <para><citerefentry>
+ <refentrytitle>dump</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> <emphasis>Point.</emphasis>
+ Elizabeth D. Zwicky a soumis &agrave; rude &eacute;preuve tous les programmes de
+ sauvegarde dont nous avons parl&eacute;. Le choix de
+ <citerefentry><refentrytitle>dump</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> s'impose pour pr&eacute;server toutes
+ vos donn&eacute;es et les particularit&eacute;s des syst&egrave;mes de fichiers Unix.
+ Elizabeth a cr&eacute;&eacute; des syst&egrave;mes de fichiers avec une grande vari&eacute;t&eacute;
+ de particularit&eacute;s inhabituelles et a test&eacute; chacun des programmes
+ en faisant une sauvegarde et une restauration. Parmi les sp&eacute;cificit&eacute;s
+ test&eacute;es : fichiers avec des trous, fichiers avec des trous et des blocs
+ de caract&egrave;res &ldquo;null&rdquo;, fichiers dont les noms comportaient des
+ caract&egrave;res inhabituels, fichiers illisibles ou dans lesquels il n'&eacute;tait
+ pas possible d'&eacute;crire, p&eacute;riph&eacute;riques, fichiers dont la taille changeait
+ pendant la sauvegarde, fichiers cr&eacute;&eacute;s ou d&eacute;truits en cours de sauvegarde,
+ et bien d'autres encore. Elle a pr&eacute;sent&eacute; les r&eacute;sultats de ces test au
+ LISA V en Octobre 1991. Voyez ses <ulink
+ url="http://reality.sgi.com/zwicky_neu/testdump.doc.html">Tests d'endurance des programmes
+ de sauvegarde et de restauration</ulink>.</para>
+ </sect2>
+
+ <sect2>
+ <title>Proc&eacute;dure de restauration d'urgence</title>
+
+ <sect3>
+ <title>Avant le d&eacute;sastre</title>
+
+ <para>Il y a quatre &eacute;tapes &agrave; mettre en oeuvre en pr&eacute;vision d'un d&eacute;sastre &eacute;ventuel.</para>
+
+ <para>Tout d'abord, imprimez le label de chacun de vos disques
+ (<command>e.g. disklabel sd0 | lpr</command>), votre table des syst&egrave;mes de fichiers
+ (<command>/etc/fstab</command>) et tous les messages de d&eacute;marrage,
+ en deux exemplaires.</para>
+
+ <para>Deuxi&egrave;mement, v&eacute;rifiez que vos disquettes de d&eacute;marrage
+ et de reprise d'urgence
+ (<filename>boot.flp</filename> et <filename>fixit.flp</filename>)
+ incluent tous vos p&eacute;riph&eacute;riques. La meilleure fa&ccedil;on de le v&eacute;rifier
+ est de red&eacute;marrer avec la disquette de d&eacute;marrage dans le lecteur
+ et de contr&ocirc;ler les messages de d&eacute;marrage. Si tous les p&eacute;riph&eacute;riques
+ y figurent et sont op&eacute;rationnels, passez &agrave; la troisi&egrave;me &eacute;tape.</para>
+
+ <para>Sinon, vous devez cr&eacute;er deux disquettes de d&eacute;marrage sur-mesure
+ avec un noyau qui puisse monter tous vos disques et acc&eacute;der &agrave; votre
+ unit&eacute; de bandes. Ces disquettes doivent contenir:
+ <citerefentry>
+ <refentrytitle>fdisk</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry>
+ <refentrytitle>disklabel</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry>
+ <refentrytitle>newfs</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry>
+ <refentrytitle>mount</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, et celui des programmes
+ de sauvegarde que vous utilisez. L'&eacute;dition de liens de ces
+ programmes doit &ecirc;tre statique. Si vous utilisez
+ <citerefentry>
+ <refentrytitle>dump</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, les disquettes doivent
+ inclure
+ <citerefentry>
+ <refentrytitle>restore</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>.</para>
+
+ <para>Troisi&egrave;mement, faites r&eacute;guli&egrave;rement des sauvegardes sur bandes. Toutes
+ les modifications effectu&eacute;es apr&egrave;s la derni&egrave;re sauvegarde peuvent &ecirc;tre
+ irr&eacute;m&eacute;diablement perdues. Prot&eacute;gez vos bandes de sauvegarde en &eacute;criture.</para>
+
+ <para>Quatri&egrave;mement, testez vos disquettes (soit <filename>boot.flp</filename>
+ et <filename>fixit.flp</filename>, soit les deux disquettes sur-mesure que vous
+ avez cr&eacute;&eacute;es &agrave; la seconde &eacute;tape) et vos bandes de sauvegarde. Prenez note de
+ la proc&eacute;dure (de restauration). Rangez ces notes avec la disquette de d&eacute;marrage,
+ les impressions et les bandes de sauvegarde. Vous serez si pr&eacute;occup&eacute; quand vous
+ devrez restaurer que ces notes peuvent vous &eacute;viter de d&eacute;truire vos bandes de
+ sauvegarde (Comment? En tapant accidentellement
+ <command>tar cvf /dev/rst0</command> au lieu de <command>tar xvf</command> ce qui
+ &eacute;craserait vos bandes de sauvegarde).</para>
+
+ <para>Par mesure de s&eacute;curit&eacute;, cr&eacute;ez une disquette de d&eacute;marrage et deux bandes
+ de sauvegarde &agrave; chaque fois. Rangez-les dans un lieu &eacute;loign&eacute;. Le sous-sol
+ du m&ecirc;me batiment <emphasis>n'est pas</emphasis> un endroit &eacute;loign&eacute;. Un certain
+ nombre de compagnies du World Trade Center l'ont appris &agrave; leurs d&eacute;pends. Un
+ endroit &eacute;loign&eacute; doit &ecirc;tre physiquement significativement s&eacute;par&eacute; de vos
+ ordinateurs et de vos disques.</para>
+
+ <para>Voici un exemple de proc&eacute;dure pour cr&eacute;er une disquette de d&eacute;marrage:</para>
+
+ <programlisting>
+<![ CDATA [#!/bin/sh
+#
+# cr&eacute;er une disquette de restauration
+#
+# formater la disquette
+#
+PATH=/bin:/sbin:/usr/sbin:/usr/bin
+
+fdformat -q fd0
+if [ $? -ne 0 ]
+then
+ echo "Mauvaise disquette, utilisez-en une neuve"
+ exit 1
+fi
+#
+# mettre les blocs de d&eacute;marrage sur la disquette
+#
+disklabel -w -B -b /usr/mdec/fdboot -s /usr/mdec/bootfd /dev/rfd0c fd1440
+
+#
+# newfs sur la seule et unique partition
+#
+newfs -t 2 -u 18 -l 1 -c 40 -i 5120 -m 5 -o space /dev/rfd0a
+
+#
+# monter la nouvelle disquette
+#
+mount /dev/fd0a /mnt
+
+#
+# cr&eacute;er les r&eacute;pertoires voulus
+#
+mkdir /mnt/dev
+mkdir /mnt/bin
+mkdir /mnt/sbin
+mkdir /mnt/etc
+mkdir /mnt/root
+mkdir /mnt/mnt # pour la partition racine
+mkdir /mnt/tmp
+mkdir /mnt/var
+
+#
+# peupler les r&eacute;pertoires
+#
+if [ ! -x /sys/compile/MINI/kernel ]
+then
+ cat << EOM
+Le noyau MINI n'existe pas, cr&eacute;ez-le.
+Voici un exemple de fichier de configuration:
+#
+# MINI -- Un noyau pour FreeBSD pour mettre sur une disquette.
+#
+machine "i386"
+cpu "I486_CPU"
+ident MINI
+maxusers 5
+
+options INET # requis pour _tcp _icmpstat _ipstat
+ # _udpstat _tcpstat _udb
+options FFS #Berkeley Fast File System
+options FAT_CURSOR #gros curseur pour syscons ou pccons
+options SCSI_DELAY=15 #Etre pessimiste pour les p&eacute;riph&eacute;riques SCSI de Joe
+options NCONS=2 #1 consoles virtuelle
+options USERCONFIG #Permettre la configuration utilisateur avec -c XXX
+
+config kernel root on sd0 swap on sd0 and sd1 dumps on sd0
+
+controller isa0
+controller pci0
+
+controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
+disk fd0 at fdc0 drive 0
+
+controller ncr0
+
+controller scbus0
+
+device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr
+device npx0 at isa? port "IO_NPX" irq 13 vector npxintr
+
+device sd0
+device sd1
+device sd2
+
+device st0
+
+pseudo-device loop # requis par INET
+pseudo-device gzip # Pouvoir ex&eacute;cuter les a.out "gzipp&eacute;s"
+EOM
+ exit 1
+fi
+
+cp -f /sys/compile/MINI/kernel /mnt
+
+gzip -c -best /sbin/init > /mnt/sbin/init
+gzip -c -best /sbin/fsck > /mnt/sbin/fsck
+gzip -c -best /sbin/mount > /mnt/sbin/mount
+gzip -c -best /sbin/halt > /mnt/sbin/halt
+gzip -c -best /sbin/restore > /mnt/sbin/restore
+
+gzip -c -best /bin/sh > /mnt/bin/sh
+gzip -c -best /bin/sync > /mnt/bin/sync
+
+cp /root/.profile /mnt/root
+
+cp -f /dev/MAKEDEV /mnt/dev
+chmod 755 /mnt/dev/MAKEDEV
+
+chmod 500 /mnt/sbin/init
+chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt
+chmod 555 /mnt/bin/sh /mnt/bin/sync
+chmod 6555 /mnt/sbin/restore
+
+#
+# cr&eacute;er les fichiers sp&eacute;ciaux de p&eacute;riph&eacute;riques
+#
+cd /mnt/dev
+./MAKEDEV std
+./MAKEDEV sd0
+./MAKEDEV sd1
+./MAKEDEV sd2
+./MAKEDEV st0
+./MAKEDEV pty0
+cd /
+
+#
+# cr&eacute;er une table des syst&egrave;mes de fichiers minimale
+#
+cat > /mnt/etc/fstab <<EOM
+/dev/fd0a / ufs rw 1 1
+EOM
+
+#
+# cr&eacute;er un fichier d'utilisateurs minimal
+#
+cat > /mnt/etc/passwd <<EOM
+root:*:0:0:Charlie &:/root:/bin/sh
+EOM
+
+cat > /mnt/etc/master.passwd <<EOM
+root::0:0::0:0:Charlie &:/root:/bin/sh
+EOM
+
+chmod 600 /mnt/etc/master.passwd
+chmod 644 /mnt/etc/passwd
+/usr/sbin/pwd_mkdb -d/mnt/etc /mnt/etc/master.passwd
+
+#
+# d&eacute;monter la disquette et pr&eacute;venir l'utilisateur
+#
+/sbin/umount /mnt]]></programlisting>
+ </sect3>
+
+ <sect3>
+ <title>Apr&egrave;s le d&eacute;sastre</title>
+
+ <para>La question cruciale est: votre mat&eacute;riel a-t-il surv&eacute;cu? Vous avez fait
+ des sauvegardes r&eacute;guli&egrave;res, donc vous n'avez pas besoin de vous inqui&eacute;ter
+ pour les logiciels et les fichiers.</para>
+
+ <para>Si le mat&eacute;riel a subi des d&eacute;gats, remplacez d'abord ce qui a &eacute;t&eacute;
+ endommag&eacute;.</para>
+
+ <para>Si votre mat&eacute;riel est en &eacute;tat, r&eacute;cup&eacute;rez vos disquettes. Si vous
+ utilisez une disquette sur-mesure, d&eacute;marrez en mode mono-utilisateur
+ (tapez <literal>-s</literal> &agrave; l'invite <prompt>boot:</prompt>). Sautez
+ le paragraphe suivant.</para>
+
+ <para>Si vous utilisez les disquettes <filename>boot.flp</filename> et
+ <filename>fixit.flp</filename>, continuez &agrave; lire. Mettez la disquette
+ <filename>boot.flp</filename> dans le premier lecteur et d&eacute;marrez
+ l'ordinateur. Le menu d'installation d'origine s'affiche &agrave; l'&eacute;cran,
+ choisissez l'option <literal>Fixit--Repair mode with CDROM or
+ floppy</literal> (Reprise avec une disquette ou un CDROM). Ins&eacute;rez la
+ disquette <filename>fixit.flp</filename> quand on vous la demande.
+ <command>restore</command> et les autres programmes dont vous avez besoin
+ sont dans le r&eacute;pertoire <filename>/mnt2/stand</filename>.</para>
+
+ <para>Restaurez s&eacute;parement chaque syst&egrave;me de fichiers.</para>
+
+ <para>Essayez <citerefentry>
+ <refentrytitle>mount</refentrytitle>
+ <manvolnum>8</manvolnum>
+ </citerefentry>(e.g. <command>mount /dev/sd0a
+ /mnt</command>) sur la partition racine de votre premier disque.
+ Si le label du disque est endommag&eacute;, utilisez <citerefentry>
+ <refentrytitle>disklabel</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> pour repartitionner et
+ libeller le disque comme l'indique le label que vous avez imprim&eacute;
+ et mis de c&ocirc;t&eacute;. Utilisez
+ <citerefentry>
+ <refentrytitle>newfs</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> pour recr&eacute;er les syst&egrave;mes
+ de fichiers. Remontez la partition racine de la disquette en
+ lecture/&eacute;criture (<command>mount -u -o rw /mnt</command>). Utilisez
+ votre programme de restauration et vos bandes de sauvegardes pour
+ restaurer les fichiers de ce syst&egrave;me de fichiers (e.g.
+ <command>restore vrf /dev/st0</command>). D&eacute;montez le syst&egrave;me de fichiers
+ (e.g. <command>umount /mnt</command>). R&eacute;p&eacute;tez l'op&eacute;ration pour chacun
+ des syst&egrave;mes de fichiers endommag&eacute;s.</para>
+
+ <para>Une fois que le syst&egrave;me fonctionne de nouveau, faites une sauvegarde
+ sur de nouvelles bandes. Ce qui a caus&eacute; la panne ou la perte de donn&eacute;es
+ peut se reproduire. Une heure de perdue maintenant peut vous &eacute;pargner
+ d'autres ennuis plus tard.</para>
+ </sect3>
+
+ <sect3>
+ <title>* Je ne me suis pas pr&eacute;par&eacute; au d&eacute;sastre, que faire?</title>
+
+ <para></para>
+ </sect3>
+ </sect2>
+ </sect1>
+</chapter>
+
+<!--
+ Local Variables:
+ mode: sgml
+ sgml-declaration: "../chapter.decl"
+ sgml-indent-data: t
+ sgml-omittag: nil
+ sgml-always-quote-attributes: t
+ sgml-parent-document: ("../handbook.sgml" "part" "chapter")
+ End:
+-->
diff --git a/fr_FR.ISO_8859-1/books/handbook/basics/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/basics/chapter.sgml
new file mode 100644
index 0000000000..e725f90411
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/basics/chapter.sgml
@@ -0,0 +1,163 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: 1.9
+-->
+
+ <chapter id="basics">
+ <title>Quelques bases d'Unix</title>
+ &trans.a.breard;
+
+
+ <sect1 id="basics-man">
+ <title>Le manuel en ligne</title>
+
+ <para>La documentation la plus importante sur FreeBSD est sous forme
+ <emphasis>de pages de manuel</emphasis>. Presque tous les programmes
+ du syst&egrave;me sont fournis avec un court manuel de
+ r&eacute;f&eacute;rence expliquant les op&eacute;rations de bases
+ et leurs diff&eacute;rents arguments.
+ Ces pages de manuel peuvent &ecirc;tre lues avec la commande
+ <command>man</command>.
+ L'utilisation de la commande <command>man</command> est simple :</para>
+ <informalexample>
+ <screen>&prompt.user <userinput>man <replaceable>commande</replaceable></userinput>
+ </screen>
+ </informalexample>
+
+ <para>o&ugrave; <replaceable>commande</replaceable> est le nom
+ de la commande dont vous voulez voir la page de manuel.
+ Par exemple pour en savoir plus sur la commande <command>ls</command>
+ tapez :</para>
+
+ <screen>&prompt.user; <userinput>man ls</userinput></screen>
+
+ <para>Le manuel en ligne est divis&eacute; en plusieurs sections
+ num&eacute;rot&eacute;es :</para>
+
+ <orderedlist>
+
+ <listitem>
+ <para>Les commandes utilisateur</para>
+ </listitem>
+
+ <listitem>
+ <para>Les appels syst&egrave;mes et les num&eacute;ros d'erreurs</para>
+ </listitem>
+
+ <listitem>
+ <para>Les fonctions de la biblioth&egrave;que C</para>
+ </listitem>
+
+ <listitem>
+ <para>Les pilotes de p&eacute;riph&eacute;riques</para>
+ </listitem>
+
+ <listitem>
+ <para>Les formats de fichiers</para>
+ </listitem>
+
+ <listitem>
+ <para>Les jeux et autres divertissements</para>
+ </listitem>
+
+ <listitem>
+ <para>Des informations diverses</para>
+ </listitem>
+
+ <listitem>
+ <para>Les commandes d'administration et de maintenance du syst&egrave;me</para>
+ </listitem>
+
+ </orderedlist>
+
+ <para>Dans certains cas le m&ecirc;me sujet peut appara&icirc;tre dans
+ plusieurs sections du manuel en ligne. Par exemple il y a une commande
+ utilisateur <command>chmod</command> et un appel syst&egrave;me
+ <function>chmod()</function>.
+ Dans ce cas, vous pouvez appeler la commande <command>man</command>
+ en sp&eacute;cifiant la section souhait&eacute;e :</para>
+
+ <screen>&prompt.user; <userinput>man 1 chmod</userinput></screen>
+
+ <para>affichera la page de manuel pour la commande utilisateur
+ <command>chmod</command>.
+ Les r&eacute;f&eacute;rences &agrave; une section particuli&egrave;re
+ du manuel sont traditionnellement plac&eacute;es entre
+ parenth&egrave;ses dans les documentations. Ainsi
+ <citerefentry><refentrytitle>chmod</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ fait r&eacute;f&eacute;rence &agrave; la commande utilisateur
+ <command>chmod</command> et
+ <citerefentry><refentrytitle>chmod</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+ fait r&eacute;f&eacute;rence &agrave; l'appel syst&egrave;me.</para>
+
+ <para>C'est bien si vous connaissez le nom des commandes et que vous voulez
+ simplement savoir comment les utiliser, mais si vous ne vous rappeler pas
+ le nom d'une commande, comment faire ? Vous pouvez alors utiliser
+ <command>man</command> pour rechercher un mot clef dans la partie
+ <emphasis>descriptions</emphasis> des pages de manuel en utilisant
+ l'option <option>-k</option> :</para>
+
+
+ <screen>&prompt.user; <userinput>man -k mail</userinput></screen>
+
+ <para>Avec cette commande vous obtiendrez la liste de toutes les commandes
+ qui contiennent le mot clef &ldquo;mail&rdquo; dans leur description.
+ C'est l'&eacute;quivalent de la commande <command>apropos</command>.</para>
+
+ <para>Si vous souhaitez avoir un aper&ccedil;u rapide des fonctions de
+ toutes les commandes qui se trouvent dans un r&eacute;pertoire,
+ par exemple <filename>/usr/bin</filename> vous pouvez simplement taper :
+
+
+ <screen>&prompt.user; <userinput>cd /usr/bin; man -f *</userinput></screen>
+
+
+ ou encore
+
+
+ <screen>&prompt.user; <userinput>cd /usr/bin; whatis *</userinput></screen>
+
+
+ qui fait la m&ecirc;me chose.</para>
+
+ </sect1>
+
+ <sect1 id="basics-info">
+
+ <title>Les fichiers GNU INFO</title>
+
+ <para>FreeBSD comprend plusieurs applications et utilitaires produit par
+ la Free Software Foundation (FSF). En plus des pages de manuel, ces programmes
+ sous fournis avec une documentation hypertexte plus importante appel&eacute;e
+ fichier &ldquo;info &rdquo; qui peut &ecirc;tre visualis&eacute;e avec la commande
+ <command>info</command> ou, si vous avez install&eacute; <command>Emacs</command>,
+ avec le mode info d'<command>Emacs</command>.</para>
+
+ <para>Pour utiliser la commande
+ <citerefentry><refentrytitle>info</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> tapez simplement :
+
+ <screen>&prompt.user; <userinput>info</userinput></screen>
+
+ Pour une br&egrave;ve introduction &agrave; l'utilisation d'<command>info</command> tapez
+ <userinput>h</userinput>.
+ Pour une r&eacute;f&eacute;rence rapide des commandes d'<command>info</command> tapez
+ <userinput>?</userinput>.</para>
+
+ </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:
+-->
diff --git a/fr_FR.ISO_8859-1/books/handbook/bibliography/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/bibliography/chapter.sgml
new file mode 100644
index 0000000000..857b440c61
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/bibliography/chapter.sgml
@@ -0,0 +1,498 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: 1.10
+-->
+
+<chapter id="bibliography">
+ <title>Bibliographie</title>
+
+ <para>Bien que les pages de manuel soient la documentation de
+ r&eacute;f&eacute;rence pour chaque facette du syst&agrave;me
+ d'exploitation FreeBSD, il est de notori&eacute;t&eacute; publique qu'elles
+ n'expliquent pas comment assembler les morceaux pour avoir un syst&egrave;me
+ d'exploitation qui tourne sans encombre. Il n'y a pour cela pas d'autre
+ alternative qu'un bon livre sur l'administration Unix et un bo manuel
+ utilisateur.</para>
+
+ <sect1>
+ <title>Livres &amp; revues consacr&eacute;s &agrave; FreeBSD</title>
+
+ <para><emphasis>Livres &amp; revues internationaux&nbsp;:</emphasis></para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink URL="http://freebsd.csie.nctu.edu.tw/~jdli/book.html">Utiliser
+ FreeBSD</ulink> (en Chinois).</para>
+ </listitem>
+
+ <listitem>
+ <para>FreeBSD pour les utilisateurs de PC 98 (en Japonais),
+ publi&eacute; par SHUWA System Co, LTD.
+ ISBN 4-87966-468-5 C3055 P2900E.</para>
+ </listitem>
+
+ <listitem>
+ <para>FreeBSD (en Japonais), publi&eacute; par CUTT. ISBN 4-906391-22-2
+ C3055 P2400E.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink URL="http://www.shoeisha.co.jp/pc/index/shinkan/97_05_06.htm">Introduction
+ compl&egrave;te &agrave; FreeBSD</ulink> (en Japonais), publi&eacute;
+ par <ulink URL="http://www.shoeisha.co.jp/">Shoeisha Co., Ltd</ulink>.
+ ISBN 4-88135-473-6 P3600E.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink URL="http://www.ascii.co.jp/pb/book1/shinkan/detail/1322785.html">Kit
+ de d&eacute;marrage pour Unix personnel FreeBSD</ulink> (en Japonais),
+ publi&eacute; par <ulink URL="http://www.ascii.co.jp/">ASCII</ulink>.
+ ISBN 4-7561-1733-3 P3000E.</para>
+ </listitem>
+
+ <listitem>
+ <para>Manuel de r&eacute;f&eacute;rence FreeBSD (traduction en
+ Japonais), publi&eacute; par
+ <ulink URL="http://www.ascii.co.jp/">ASCII</ulink>.
+ ISBN 4-7561-1580-2 P3800E.</para>
+ </listitem>
+
+ <listitem>
+ <para>FreeBSD avec m&eacute;thode (en Allemand), publi&eacute; par
+ Computer und Literatur Verlag/Vertrieb Hanser, 1998.
+ ISBN 3-932311-31-0.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink url="http://www.pc.mycom.co.uk/FreeBSD/install-manual.html">Manuel
+ d'installation et d'utilisation de FreeBSD</ulink> (en Japonais),
+ publi&eacute; par <ulink url="http://www.pc.mycom.co.jp/">Mainichi
+ Communications Inc.</ulink>.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para><emphasis>Livres &amp; revues en langue
+ anglaise&nbsp;:</emphasis></para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink URL="http://www.cdrom.com/titles/freebsd/bsdbook2.phtml">FreeBSD
+ int&eacute;gral</ulink>, publi&eacute; par
+ <ulink URL="http://www.cdrom.com">Walnut Creek CDROM</ulink>.</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+
+ <sect1>
+ <title>Manuels d'utilisation</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD
+ User's Reference Manual</emphasis>. O'Reilly &amp; Associates,
+ Inc., 1994. ISBN 1-56592-075-9</para>
+ </listitem>
+
+ <listitem>
+ <para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD
+ User's Supplementary Documents</emphasis>. O'Reilly &amp;
+ Associates, Inc., 1994. ISBN 1-56592-076-7</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis>UNIX in a Nutshell</emphasis>. O'Reilly &amp;
+ Associates, Inc., 1990. ISBN 093717520X</para>
+ </listitem>
+
+ <listitem>
+ <para>Mui, Linda. <emphasis>What You Need To Know When You Can't Find
+ Your UNIX System Administrator</emphasis>. O'Reilly &amp;
+ Associates, Inc., 1995. ISBN 1-56592-104-6</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink URL="http://www-wks.acs.ohio-state.edu/">L'Universit&eacute;
+ de l'Etat d'Ohio</ulink> a &eacute;crit un
+ <ulink URL="http://www-wks.acs.ohio-state.edu/unix_course/unix.html">Cours
+ d'introduction &agrave; Unix</ulink> disponible en ligne aux formats
+ HTML et PostScript.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink url="http://www.jp.FreeBSD.ORG/">Jpman Project, Groupe
+ d'utilisateurs japonais de FreeBSD</ulink>.
+ <ulink url="http://www.pc.mycom.co.jp/FreeBSD/urm.html">Manuel de
+ r&eacute;f&eacute;rence utilisateur de FreeBSD</ulink> (traduction
+ en Japonais). <ulink url="http://www.pc.mycom.co.jp/">Mainichi
+ Communications Inc.</ulink>, 1998. ISBN4-8399-0088-4 P3800E.</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+
+ <sect1>
+ <title>Manuels d'administration</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>Albitz, Paul and Liu, Cricket. <emphasis>DNS and
+ BIND</emphasis>, 2nd Ed. O'Reilly &amp; Associates, Inc., 1997.
+ ISBN 1-56592-236-0</para>
+ </listitem>
+
+ <listitem>
+ <para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD
+ System Manager's Manual</emphasis>. O'Reilly &amp; Associates,
+ Inc., 1994. ISBN 1-56592-080-5</para>
+ </listitem>
+
+ <listitem>
+ <para>Costales, Brian, et al. <emphasis>Sendmail</emphasis>, 2nd Ed.
+ O'Reilly &amp; Associates, Inc., 1997. ISBN 1-56592-222-0</para>
+ </listitem>
+
+ <listitem>
+ <para>Frisch, &AElig;leen. <emphasis>Essential System
+ Administration</emphasis>, 2nd Ed. O'Reilly &amp; Associates,
+ Inc., 1995. ISBN 1-56592-127-5<footnote><para>N.d.T.: traduit en
+ fran&ccedil;ais sous le titre &ldquo;Les bases essentielles de
+ l'administration syst&egrave;me&rdquo;, chez le m&ecirc;me
+ &eacute;diteur.</para></footnote></para>
+ </listitem>
+
+ <listitem>
+ <para>Hunt, Craig. <emphasis>TCP/IP Network
+ Administration</emphasis>. O'Reilly &amp; Associates, Inc., 1992.
+ ISBN 0-937175-82-X<footnote><para>N.d.T.: traduit en
+ fran&ccedil;ais sous le titre &ldquo;Administration r&eacute;seau
+ TCP/IP&rdquo;, chez le m&ecirc;me
+ &eacute;diteur.</para></footnote></para>
+ </listitem>
+
+ <listitem>
+ <para>Nemeth, Evi. <emphasis>UNIX System Administration
+ Handbook</emphasis>. 2nd Ed. Prentice Hall, 1995. ISBN
+ 0131510517</para>
+ </listitem>
+
+ <listitem>
+ <para>Stern, Hal <emphasis>Managing NFS and NIS</emphasis> O'Reilly
+ &amp; Associates, Inc., 1991. ISBN 0-937175-75-7</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink url="http://www.jp.FreeBSD.ORG/">Jpman Project, Groupe
+ d'utilisateurs japonais de FreeBSD</ulink>.
+ <ulink url="http://www.pc.mycom.co.jp/FreeBSD/sam.html">Manuel de
+ l'administrateur syst&egrave;me FreeBSD</ulink> (traduction
+ en Japonais). <ulink url="http://www.pc.mycom.co.jp/">Mainichi
+ Communications Inc.</ulink>, 1998. ISBN4-8399-0109-0 P3300E.</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+
+ <sect1>
+ <title>Manuels de programmation</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>Asente, Paul. <emphasis>X Window System Toolkit</emphasis>.
+ Digital Press. ISBN 1-55558-051-3</para>
+ </listitem>
+
+ <listitem>
+ <para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD
+ Programmer's Reference Manual</emphasis>. O'Reilly &amp;
+ Associates, Inc., 1994. ISBN 1-56592-078-3</para>
+ </listitem>
+
+ <listitem>
+ <para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD
+ Programmer's Supplementary Documents</emphasis>. O'Reilly &amp;
+ Associates, Inc., 1994. ISBN 1-56592-079-1</para>
+ </listitem>
+
+ <listitem>
+ <para>Harbison, Samuel P. and Steele, Guy L. Jr. <emphasis>C: A
+ Reference Manual</emphasis>. 4rd ed. Prentice Hall, 1995.
+ ISBN 0-13-326224-3</para>
+ </listitem>
+
+ <listitem>
+ <para>Kernighan, Brian and Dennis M. Ritchie. <emphasis>The C
+ Programming Language.</emphasis>. PTR Prentice Hall, 1988.
+ ISBN 0-13-110362-9</para>
+ </listitem>
+
+ <listitem>
+ <para>Lehey, Greg. <emphasis>Porting UNIX Software</emphasis>.
+ O'Reilly &amp; Associates, Inc., 1995. ISBN 1-56592-126-7</para>
+ </listitem>
+
+ <listitem>
+ <para>Plauger, P. J. <emphasis>The Standard C Library</emphasis>.
+ Prentice Hall, 1992. ISBN 0-13-131509-9</para>
+ </listitem>
+
+ <listitem>
+ <para>Stevens, W. Richard. <emphasis>Advanced Programming in the UNIX
+ Environment</emphasis>. Reading, Mass. : Addison-Wesley, 1992
+ ISBN 0-201-56317-7</para>
+ </listitem>
+
+ <listitem>
+ <para>Stevens, W. Richard. <emphasis>UNIX Network
+ Programming</emphasis>. 2nd Ed, PTR Prentice Hall, 1998. ISBN
+ 0-13-490012-X</para>
+ </listitem>
+
+ <listitem>
+ <para>Wells, Bill. &ldquo;Writing Serial Drivers for UNIX&rdquo;.
+ <emphasis>Dr. Dobb's Journal</emphasis>. 19(15), December 1994.
+ pp68-71, 97-99.</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+
+ <sect1>
+ <title>&ldquo;Internes&rdquo; du syst&egrave;me d'exploitation</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>Andleigh, Prabhat K. <emphasis>UNIX System
+ Architecture</emphasis>. Prentice-Hall, Inc., 1990. ISBN
+ 0-13-949843-5</para>
+ </listitem>
+
+ <listitem>
+ <para>Jolitz, William. &ldquo;Porting UNIX to the 386&rdquo;.
+ <emphasis>Dr. Dobb's Journal</emphasis>. January 1991-July
+ 1992.</para>
+ </listitem>
+
+ <listitem>
+ <para>Leffler, Samuel J., Marshall Kirk McKusick, Michael J Karels and
+ John Quarterman <emphasis>The Design and Implementation of the
+ 4.3BSD UNIX Operating System</emphasis>. Reading, Mass. :
+ Addison-Wesley, 1989. ISBN 0-201-06196-1</para>
+ </listitem>
+
+ <listitem>
+ <para>Leffler, Samuel J., Marshall Kirk McKusick, <emphasis>The Design
+ and Implementation of the 4.3BSD UNIX Operating System: Answer
+ Book</emphasis>. Reading, Mass. : Addison-Wesley, 1991. ISBN
+ 0-201-54629-9</para>
+ </listitem>
+
+ <listitem>
+ <para>McKusick, Marshall Kirk, Keith Bostic, Michael J Karels, and
+ John Quarterman. <emphasis>The Design and Implementation of the
+ 4.4BSD Operating System</emphasis>. Reading, Mass. :
+ Addison-Wesley, 1996. ISBN 0-201-54979-4</para>
+ </listitem>
+
+ <listitem>
+ <para>Stevens, W. Richard. <emphasis>TCP/IP Illustrated, Volume 1:
+ The Protocols</emphasis>. Reading, Mass. : Addison-Wesley,
+ 1996. ISBN 0-201-63346-9</para>
+ </listitem>
+
+ <listitem>
+ <para>Schimmel, Curt. <emphasis>Unix Systems for Modern
+ Architectures</emphasis>. Reading, Mass. : Addison-Wesley, 1994.
+ ISBN 0-201-63338-8</para>
+ </listitem>
+
+ <listitem>
+ <para>Stevens, W. Richard. <emphasis>TCP/IP Illustrated, Volume 3:
+ TCP for Transactions, HTTP, NNTP and the UNIX Domain
+ Protocols</emphasis>. Reading, Mass. : Addison-Wesley, 1996.
+ ISBN 0-201-63495-3</para>
+ </listitem>
+
+ <listitem>
+ <para>Vahalia, Uresh. <emphasis>UNIX Internals -- The New
+ Frontiers</emphasis>. Prentice Hall, 1996. ISBN
+ 0-13-101908-2</para>
+ </listitem>
+
+ <listitem>
+ <para>Wright, Gary R. and W. Richard Stevens. <emphasis>TCP/IP
+ Illustrated, Volume 2: The Implementation</emphasis>. Reading,
+ Mass. : Addison-Wesley, 1995. ISBN 0-201-63354-X</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+
+ <sect1>
+ <title>Ouvrages de r&eacute;f&eacute;rence en mati&egrave;re de
+ s&eacute;curit&eacute;</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>Cheswick, William R. and Steven M. Bellovin. <emphasis>Firewalls
+ and Internet Security: Repelling the Wily Hacker</emphasis>.
+ Reading, Mass. : Addison-Wesley, 1995. ISBN
+ 0-201-63357-4</para>
+ </listitem>
+
+ <listitem>
+ <para>Garfinkel, Simson and Gene Spafford. <emphasis>Practical UNIX
+ Security</emphasis>. 2nd Ed. O'Reilly &amp; Associates, Inc.,
+ 1996. ISBN 1-56592-148-8</para>
+ </listitem>
+
+ <listitem>
+ <para>Garfinkel, Simson. <emphasis>PGP Pretty Good
+ Privacy</emphasis> O'Reilly &amp; Associates, Inc., 1995. ISBN
+ 1-56592-098-8</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+
+ <sect1>
+ <title>Ouvrages de r&eacute;f&eacute;rence sur le mat&eacute;riel</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>Anderson, Don and Tom Shanley. <emphasis>Pentium Processor
+ System Architecture</emphasis>. 2nd Ed. Reading, Mass. :
+ Addison-Wesley, 1995. ISBN 0-201-40992-5</para>
+ </listitem>
+
+ <listitem>
+ <para>Ferraro, Richard F. <emphasis>Programmer's Guide to the EGA,
+ VGA, and Super VGA Cards</emphasis>. 3rd ed. Reading, Mass. :
+ Addison-Wesley, 1995. ISBN 0-201-62490-7</para>
+ </listitem>
+
+ <listitem>
+ <para>Intel Corporation publie la documentation de ses processeurs,
+ circuits et standards sur son
+ <ulink url="http://developer.intel.com/">site Web
+ d&eacute;veloppeur</ulink>, habituellement sous forme de fichiers
+ PDF.</para>
+ </listitem>
+
+ <listitem>
+ <para>Shanley, Tom. <emphasis>80486 System Architecture</emphasis>.
+ 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN
+ 0-201-40994-1</para>
+ </listitem>
+
+ <listitem>
+ <para>Shanley, Tom. <emphasis>ISA System Architecture</emphasis>.
+ 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN
+ 0-201-40996-8</para>
+ </listitem>
+
+ <listitem>
+ <para>Shanley, Tom. <emphasis>PCI System Architecture</emphasis>.
+ 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN
+ 0-201-40993-3</para>
+ </listitem>
+
+ <listitem>
+ <para>Van Gilluwe, Frank. <emphasis>The Undocumented PC</emphasis>.
+ Reading, Mass: Addison-Wesley Pub. Co., 1994. ISBN
+ 0-201-62277-7</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+
+ <sect1>
+ <title>Histoire d'Unix</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>Lion, John <emphasis>Lion's Commentary on UNIX, 6th Ed. With
+ Source Code</emphasis>. ITP Media Group, 1996. ISBN
+ 1573980137</para>
+ </listitem>
+
+ <listitem>
+ <para>Raymond, Eric S. <emphasis>The New Hacker's Dictonary, 3rd
+ edition</emphasis>. MIT Press, 1996. ISBN
+ 0-262-68092-0. Connu aussi sous le nom de <ulink
+ URL="http://www.ccil.org/jargon/jargon.html">Jargon
+ File</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para>Salus, Peter H. <emphasis>A quarter century of UNIX</emphasis>.
+ Addison-Wesley Publishing Company, Inc., 1994. ISBN
+ 0-201-54777-5</para>
+ </listitem>
+
+ <listitem>
+ <para>Simon Garfinkel, Daniel Weise, Steven Strassmann. <emphasis>The
+ UNIX-HATERS Handbook</emphasis>. IDG Books Worldwide, Inc.,
+ 1994. ISBN 1-56884-203-1</para>
+ </listitem>
+
+ <listitem>
+ <para>Don Libes, Sandy Ressler <emphasis>Life with UNIX</emphasis>
+ &mdash; special edition. Prentice-Hall, Inc., 1989. ISBN
+ 0-13-536657-7</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis>The BSD family tree</emphasis>. 1997. <ulink
+ url="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/misc/bsd-family-tree">ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/misc/bsd-family-tree</ulink> ou <ulink URL="file:/usr/share/misc/bsd-family-tree">local</ulink> sur une machine sous FreeBSD-current.</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis>The BSD Release Announcements collection</emphasis>.
+ 1997. <ulink
+ URL="http://www.de.FreeBSD.ORG/de/ftp/releases/">http://www.de.FreeBSD.ORG/de/ftp/releases/</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis>Networked Computer Science Technical Reports
+ Library</emphasis>. <ulink
+ URL="http://www.ncstrl.org/">http://www.ncstrl.org/</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis>Anciennes versions de BSD du Computer Systems Research
+ Group (CSRG)</emphasis>.
+ <ulink url="http://www.mckusick.com/csrg/">http://www.mckusick.com/csrg/</ulink>&nbsp;:
+ Ces 4 CD-ROMs incluent toutes les versions de BSD de 1BSD &agrave;
+ 4.4BSD et 4.4BSD-Lite2 (mais malheureusement pas 2.11BSD). De plus, le
+ dernier CD-ROM contient les derniers sources et les fichiers
+ SCCS.</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+
+ <sect1>
+ <title>Revues et journaux</title>
+
+ <itemizedlist>
+ <listitem>
+ <para><emphasis>The C/C++ Users Journal</emphasis>. R&amp;D
+ Publications Inc. ISSN 1075-2838</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis>Sys Admin &mdash; The Journal for UNIX System
+ Administrators</emphasis> Miller Freeman, Inc., ISSN
+ 1061-2688</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+</chapter>
+
+<!--
+ Local Variables:
+ mode: sgml
+ sgml-declaration: "../chapter.decl"
+ sgml-indent-data: t
+ sgml-omittag: nil
+ sgml-always-quote-attributes: t
+ sgml-parent-document: ("../handbook.sgml" "part" "chapter")
+ End:
+-->
+
diff --git a/fr_FR.ISO_8859-1/books/handbook/book.sgml b/fr_FR.ISO_8859-1/books/handbook/book.sgml
new file mode 100644
index 0000000000..85843bfdc6
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/book.sgml
@@ -0,0 +1,142 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+<!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN" [
+<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
+%man;
+
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES Common Document URL Entities//FR">
+%urls;
+
+<!ENTITY % bookinfo PUBLIC "-//FreeBSD//ENTITIES DocBook BookInfo Entities//FR">
+%bookinfo;
+
+<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//FR">
+%translators;
+
+<!ENTITY % chapters SYSTEM "chapters.ent"> %chapters;
+<!ENTITY % authors SYSTEM "../../../en_US.ISO_8859-1/books/handbook/authors.ent"> %authors;
+<!ENTITY % mailing-lists SYSTEM "mailing-lists.ent"> %mailing-lists;
+<!ENTITY rel.current CDATA "2.2.8">
+<!-- We need the followings until the translation is completed -->
+<!ENTITY sgml.in-progress SYSTEM "in-progress.sgml">
+<!ENTITY sgml.todo SYSTEM "todo.sgml">
+]>
+
+<book lang="fr">
+ <bookinfo>
+ <title>Manuel FreeBSD</title>
+
+ <authorgroup>
+ <author>
+ <surname>Groupe de Documentation de FreeBSD</surname>
+ </author>
+ </authorgroup>
+
+ <copyright>
+ <year>1999</year>
+ <holder>Groupe de Documentation de FreeBSD</holder>
+ </copyright>
+
+ &bookinfo.legalnotice;
+
+ <abstract>
+ <para>Bienvenue &agrave; FreeBSD! Ce manuel d&eacute;crit l'installation
+ et l'utilisation quotidienne de la <emphasis>Version &rel.current de
+ FreeBSD</emphasis>. Ce manuel est en <emphasis>constante
+ &eacute;volution</emphasis>. Il est le r&eacute;sultat du travail de
+ nombreuses personnes. Certaines sections ne sont pas encore
+ r&eacute;dig&eacute;es et celles qui le sont ont besoin d'&ecirc;tre
+ mises &agrave; jour. Si vous voulez participer &agrave; ce projet,
+ envoyez un courrier &eacute;lectronique &agrave; la &a.doc;. La
+ derni&egrave;re version anglaise de ce document est disponible sur le
+ <ulink url="http://www.FreeBSD.ORG/">serveur World Wide Web
+ FreeBSD</ulink>. Il existe aussi une version texte,
+ PostScript ou HTML t&eacute;l&eacute;chargeable depuis le
+ <ulink url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/docs">serveur FTP
+ FreeBSD</ulink> ou l'un des nombreux <link linkend="mirrors-ftp">sites
+ miroirs</link>. Vous pouvez aussi
+ <ulink url="http://www.freeBSD.ORG/search/search.html">faire des
+ recherches dans le Manuel</ulink>.</para>
+ <para>N.d.T.: La version fran&ccedil;aise est publi&eacute;e sur le
+ <ulink url="&url.base;">serveur World Wide Web du groupe de
+ traduction en langue fran&ccedil;aise de la documentation de
+ FreeBSD</ulink>.</para>
+
+ <para>N.d.T.: Contactez la &a.fr-doc si vous voulez collaborer &agrave;
+ la traduction.</para>
+ <para>La traduction de ce manuel est &ldquo;en cours&rdquo;. Dans la
+ table des mati&egrave;res ci-dessous:
+ <itemizedlist>
+ <listitem>
+ <para>Les chapitres marqu&eacute;s de deux ast&eacute;risques sont
+ en cours de traduction.</para>
+ </listitem>
+ <listitem>
+ <para>Les chapitres marqu&eacute;s de trois ast&eacute;risques sont
+ &agrave; traduire.</para>
+ </listitem>
+ <listitem>
+ <para>L'ast&eacute;risque simple est r&eacute;serv&eacute; aux
+ chapitres et sections en cours de r&eacute;daction dans la version
+ U.S.</para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </abstract>
+ </bookinfo>
+ <part>
+ <title>Pour commencer</title>
+ &chap.introduction;
+ &chap.install;
+ &chap.basics;
+ &chap.ports;
+ </part>
+ <part>
+ <title>Administration Syst&egrave;me</title>
+ &chap.kernelconfig;
+ &chap.security;
+ &chap.printing;
+ &chap.disks;
+ &chap.backups;
+ &chap.quotas;
+ &chap.x11;
+ &chap.hw;
+ &chap.l10n;
+ </part>
+ <part>
+ <title>R&eacute;seau</title>
+ &chap.serialcomms;
+ &chap.ppp-and-slip;
+ &chap.advanced-networking;
+ &chap.mail;
+ </part>
+ <part><title>Questions avanc&eacute;es</title>
+ &chap.cutting-edge;
+ &chap.contrib;
+ &chap.policies;
+ &chap.kernelopts;
+ &chap.kerneldebug;
+ &chap.linuxemu;
+ &chap.internals;
+ </part>
+ <part><title>Annexes</title>
+ &chap.mirrors;
+ &chap.bibliography;
+ &chap.eresources;
+ &chap.staff;
+ &chap.pgpkeys;
+ </part>
+</book>
+<!--
+ mode: sgml
+ sgml-indent-data: t
+ sgml-omittag: nil
+ sgml-always-quote-attributes: t
+ End:
+-->
diff --git a/fr_FR.ISO_8859-1/books/handbook/chapter.decl b/fr_FR.ISO_8859-1/books/handbook/chapter.decl
new file mode 100644
index 0000000000..ce0a7ed16a
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/chapter.decl
@@ -0,0 +1 @@
+<!DOCTYPE chapter PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN">
diff --git a/fr_FR.ISO_8859-1/books/handbook/chapters.ent b/fr_FR.ISO_8859-1/books/handbook/chapters.ent
new file mode 100644
index 0000000000..d983d5ef52
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/chapters.ent
@@ -0,0 +1,53 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+
+ Creates entities for each chapter in the FreeBSD Handbook. Each entity
+ is named chap.foo, where foo is the value of the id attribute on that
+ chapter, and corresponds to the name of the directory in which that
+ chapter's .sgml file is stored.
+
+ Chapters should be listed in the order in which they are referenced.
+-->
+
+<!-- Part one -->
+<!ENTITY chap.introduction SYSTEM "introduction/chapter.sgml">
+<!ENTITY chap.install SYSTEM "install/chapter.sgml">
+<!ENTITY chap.basics SYSTEM "basics/chapter.sgml">
+<!ENTITY chap.ports SYSTEM "ports/chapter.sgml">
+
+<!-- Part two -->
+<!ENTITY chap.kernelconfig SYSTEM "kernelconfig/chapter.sgml">
+<!ENTITY chap.security SYSTEM "security/chapter.sgml">
+<!ENTITY chap.printing SYSTEM "printing/chapter.sgml">
+<!ENTITY chap.disks SYSTEM "disks/chapter.sgml">
+<!ENTITY chap.backups SYSTEM "backups/chapter.sgml">
+<!ENTITY chap.quotas SYSTEM "quotas/chapter.sgml">
+<!ENTITY chap.x11 SYSTEM "x11/chapter.sgml">
+<!ENTITY chap.hw SYSTEM "hw/chapter.sgml">
+<!ENTITY chap.l10n SYSTEM "l10n/chapter.sgml">
+
+<!-- Part three -->
+<!ENTITY chap.serialcomms SYSTEM "serialcomms/chapter.sgml">
+<!ENTITY chap.ppp-and-slip SYSTEM "ppp-and-slip/chapter.sgml">
+<!ENTITY chap.advanced-networking SYSTEM "advanced-networking/chapter.sgml">
+<!ENTITY chap.mail SYSTEM "mail/chapter.sgml">
+
+<!-- Part four -->
+<!ENTITY chap.cutting-edge SYSTEM "cutting-edge/chapter.sgml">
+<!ENTITY chap.contrib SYSTEM "contrib/chapter.sgml">
+<!ENTITY chap.policies SYSTEM "policies/chapter.sgml">
+<!ENTITY chap.kernelopts SYSTEM "kernelopts/chapter.sgml">
+<!ENTITY chap.kerneldebug SYSTEM "kerneldebug/chapter.sgml">
+<!ENTITY chap.linuxemu SYSTEM "linuxemu/chapter.sgml">
+<!ENTITY chap.internals SYSTEM "internals/chapter.sgml">
+
+<!-- Part five (appendices) -->
+<!ENTITY chap.mirrors SYSTEM "mirrors/chapter.sgml">
+<!ENTITY chap.bibliography SYSTEM "bibliography/chapter.sgml">
+<!ENTITY chap.eresources SYSTEM "eresources/chapter.sgml">
+<!ENTITY chap.staff SYSTEM "staff/chapter.sgml">
+<!ENTITY chap.pgpkeys SYSTEM "pgpkeys/chapter.sgml">
diff --git a/fr_FR.ISO_8859-1/books/handbook/contrib/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/contrib/chapter.sgml
new file mode 100644
index 0000000000..217bf94071
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/contrib/chapter.sgml
@@ -0,0 +1,5888 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+ <chapter id="contrib"><title>Collaborer &agrave; FreeBSD</title>
+ &trans.a.dntt;
+
+ <para><emphasis> Contribution de &a.jkh;.</emphasis></para>
+
+ <para>Alors, comme &ccedil;a vous voulez collaborer &agrave; FreeBSD ?
+ C'est g&eacute;nial ! Toute aide peut toujours servir, et FreeBSD est
+ un de ces syst&egrave;mes qui <emphasis>s'appuie</emphasis> sur les
+ contributions de sa base d'utilisateurs pour survivre. Vos
+ contributions ne sont pas seulement appr&eacute;ci&eacute;es, elles sont vitales
+ pour la progression de FreeBSD !</para>
+
+ <para>Contrairement &agrave; ce que certaines personnes et
+ peut-&ecirc;tre vous-m&ecirc;me pouvez croire, vous n'avez pas &agrave; &ecirc;tre un
+ expert programmeur ou un ami tr&egrave;s proche de l'&eacute;quipe principale
+ de FreeBSD pour faire accepter votre contribution. Le
+ d&eacute;veloppement du projet FreeBSD est fait par une grande et
+ toujours plus nombreuse, &eacute;quipe de collaborateurs
+ &agrave; travers le monde, dont les &acirc;ges et l'expertise techniques
+ sont tr&egrave;s variables, et il y aura toujours plus de travail &agrave;
+ faire que de gens qui peuvent le faire.</para>
+
+ <para>Comme le projet FreeBSD est responsable de tout
+ l'environnement du syst&egrave;me d'exploitation (et de son
+ installation) et pas seulement juste du noyau ou de quelques
+ utilitaires &eacute;parpill&eacute;s, notre liste <filename>TODO</filename>
+ (&agrave; faire) s'&eacute;tend sur une large gamme de t&acirc;ches, depuis la
+ documentation, les beta-test et pr&eacute;sentation jusqu'&agrave; des types de
+ d&eacute;veloppement du noyau hautement sp&eacute;cialis&eacute;s.
+ Quelque soit votre niveau de comp&eacute;tence, il y aura s&ucirc;rement
+ quelque chose que vous pourrez faire pour aider le projet !</para>
+
+ <para>Les entit&eacute;s commerciales engag&eacute;es dans des entreprises
+ relatives &agrave; FreeBSD sont encourag&eacute;es &agrave; nous contacter. Vous
+ avez besoin d'une extension sp&eacute;ciale pour faire marcher votre
+ produit ? Vous nous trouverez attentifs &agrave; votre requ&ecirc;te, du
+ moment que celle-ci ne soit pas trop hors-sujet. Vous
+ travaillez sur un produit &agrave; valeur ajout&eacute;e ? Dites-le nous !
+ Nous serons peut-&ecirc;tre capable de coop&eacute;rer sur certains aspects.
+ Le monde du logiciel libre va &agrave; l'encontre de nombreuses
+ suppositions sur la mani&egrave;re dont les logiciels sont
+ d&eacute;velopp&eacute;s, vendus et maintenus durant son cycle de vie,
+ et nous vous invitons &agrave; lui donner au moins un second regard.
+ </para>
+
+
+ <sect1>
+ <title> Les besoins</title>
+
+ <para>La liste de t&acirc;ches et de sous-projets qui suit, repr&eacute;sente
+ une sorte d'amalgame des diff&eacute;rentes listes
+ <filename>TODO</filename> de l'&eacute;quipe de base, et des demandes
+ d'utilisateurs que nous avons regroup&eacute;s depuis ces derniers
+ mois. Lorsque cela a &eacute;t&eacute; possible, nous avons rang&eacute;s ces
+ t&acirc;ches par degr&eacute; d'urgence. Si vous &ecirc;tes interess&eacute; par le fait
+ de travailler sur l'une des t&acirc;ches que vous voyez ici, envoyez
+ un mail au coordinateur en cliquant sur leur nom. Si aucun
+ coordinateur n'a &eacute;t&eacute; d&eacute;sign&eacute;, peut-&ecirc;tre voudriez-vous vous
+ d&eacute;signer ?</para>
+
+ <sect2>
+ <title> T&acirc;ches de premi&egrave;re priorit&eacute;</title>
+
+ <para>Les t&acirc;ches suivantes sont consid&eacute;r&eacute;es comme urgentes,
+ g&eacute;n&eacute;ralement parce qu'elles repr&eacute;sentent
+ quelque chose posant des probl&egrave;mes, ou parce qu'on en a
+ d&eacute;sesp&eacute;rement besoin.</para>
+
+ <orderedlist>
+ <listitem>
+ <para>d&eacute;marrage en 3 &eacute;tapes. coordination globale :
+ &a.hackers;</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Faire un marquage de disque compatible WinNT
+ de telle sorte que la troisi&egrave;me &eacute;tape puisse fournir
+ un mapping pr&eacute;cis de la g&eacute;om&eacute;trie BIOS pour les
+ disques.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+
+ <listitem>
+ <para>Probl&egrave;mes du syst&egrave;me de fichiers. Coordination
+ globale : &a.fs;</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Corriger le syst&egrave;me de fichiers MSDOS.</para>
+ </listitem>
+
+ <listitem>
+ <para>Nettoyer et documenter le code du syst&egrave;me de
+ fichier nullfs.
+ Coordination : &a.eivind;</para>
+ </listitem>
+
+ <listitem>
+ <para>Corriger le syst&egrave;me de fichiers d'union.
+ Coordination : &a.dg;</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+
+ <listitem>
+ <para>Impl&eacute;menter le pilote de disque Int13 vm86.
+ Coordination : &a.hackers;</para>
+ </listitem>
+
+ <listitem>
+ <para>Nouvelle architecture bus.</para>
+<!-- Coordination : &a.newbus;</para> -->
+
+ <itemizedlist>
+ <listitem>
+ <para>Porter les pilotes ISA existant vers la nouvelle
+ architecture.</para>
+ </listitem>
+
+ <listitem>
+ <para>D&eacute;placer tous le code de gestion d'interruption
+ vers les parties appropri&eacute;es des pilotes de bus.</para>
+ </listitem>
+
+ <listitem>
+ <para>Porter les sous-syst&egrave;me PCI &agrave; la nouvelle
+ architecture.
+ Coordination : &a.dfr;</para>
+ </listitem>
+
+ <listitem>
+ <para>Chercher la bonne mani&egrave;re pour manier les
+ p&eacute;riph&eacute;riques extractibles, puis utiliser ceci comme
+ base pour l'impl&eacute;mentation de support de PC-Card et
+ CardBus.</para>
+ </listitem>
+
+ <listitem>
+ <para>R&eacute;soudre une fois pour toute, le probl&egrave;me de
+ priorit&eacute; de d&eacute;tection / attachement.</para>
+ </listitem>
+
+ <listitem>
+ <para>D&eacute;placer tous les bus restants vers la nouvelle
+ architecture.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+
+ <listitem>
+ <para>Probl&egrave;mes relatifs au noyau.
+ Coordination globale : &a.hackers;</para>
+ </listitem>
+
+ <listitem>
+ <para>Ajouter une infrastructure pour une meilleure s&eacute;curit&eacute;
+ pro-active.
+ Coordination globale : &a.security;</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Construire quelque chose comme Tripwire (TM) dans
+ le noyau, avec une partie distante et une partie
+ locale. Il y a un certain nombre de probl&egrave;mes
+ de cryptographie &agrave; prendre en compte pour bien le
+ r&eacute;aliser. Contacter le coodinateur pour plus de
+ d&eacute;tails.
+ Coordination : &a.eivind;</para>
+ </listitem>
+
+ <listitem>
+ <para>Faire de telle sorte que tout le noyau utilise
+ <literal>suser()</literal> au lieu de comparer avec 0.
+ Pour l'instant, on n'utilise que la moiti&eacute; de chaque.
+ Coordination : &a.eivind;</para>
+ </listitem>
+
+ <listitem>
+ <para>D&eacute;couper les niveaux de s&eacute;curit&eacute; en plusieurs
+ parties, afin de permettre &agrave; un administrateur de jeter
+ les privil&egrave;ges qu'il peut jeter. Mettre en place tous
+ ces niveaux de s&eacute;curit&eacute; devra avoir malgr&egrave;s tout
+ les m&ecirc;mes effets qu'actuellement.
+ Coordination : &a.eivind;</para>
+ </listitem>
+
+ <listitem>
+ <para>Rendre possible le chargement de &ldquo;programmes
+ autoris&eacute;s &agrave; utiliser BPF&rdquo; puis bloquer BPF
+ pour qu'il ne puisse pas accepter d'autres programmes.
+ Cela permettrait &agrave; BPF d'&ecirc;tre utilis&eacute; par exemple par
+ DHCP, ceci sans permettre &agrave; un attaquant de prendre
+ contr&ocirc;le du r&eacute;seau local.</para>
+ </listitem>
+
+ <listitem>
+ <para>Mettre &agrave; jour les scripts de v&eacute;rification de
+ s&eacute;curit&eacute;. Nous devrions au moins pouvoir r&eacute;cup&eacute;rer
+ toutes les v&eacute;rifications d'autres d&eacute;riv&eacute;s BSD, et
+ ajouter une v&eacute;rification qu'un syst&egrave;me ayant un
+ niveau de s&eacute;curit&eacute; ainsi augment&eacute; puisse aussi avoir un
+ t&eacute;moin raisonnable sur les parties concern&eacute;es.
+ Coordination : &a.eivind;</para>
+ </listitem>
+
+ <listitem>
+ <para>Ajouter une infrastructure d'autorisation au
+ noyau, afin de permettre diverses politiques
+ d'autorisation. Une partie de ceci pourrait &ecirc;tre fait
+ en modifiant <literal>suser()</literal>.
+ Coordination : &a.eivind;</para>
+ </listitem>
+
+ <listitem>
+ <para>Ajouter du code &agrave; la couche NFS afin que l'on ne
+ puisse pas faire un <literal>chdir ("..")</literal> en
+ dehors d'une partition NFS,
+ Par exemple :
+ <filename>/usr</filename> est une partition UFS avec
+ la partition NFS <filename>/usr/src</filename> export&eacute;e.
+ Il est &agrave; pr&eacute;sent possible d'utiliser le gestionnaire
+ de fichier NFS pour <filename>/usr/src</filename> pour
+ obtenir l'acc&egrave;s &agrave; <filename>/usr</filename>.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </orderedlist>
+ </sect2>
+
+
+
+ <sect2>
+ <title> T&acirc;ches de moyenne priorit&eacute;</title>
+
+ <para>Les t&acirc;ches suivantes doivent &ecirc;tre effectu&eacute;es, mais
+ sans urgence particuli&egrave;re :</para>
+
+ <orderedlist>
+ <listitem>
+ <para>Support et gestion de configuration de tous les
+ pilotes bas&eacute;s sur KLD.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Ecrire un gestionnaire de configuration (dans la
+ troisi&egrave;me partie du d&eacute;marrage ?) qui d&eacute;tecterait votre
+ mat&eacute;riel de mani&egrave;re propre, et garderait seulement les
+ KLDs requis pour votre mat&eacute;riel, etc.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+
+ <listitem>
+ <para>PCMCIA/PCCARD.
+ Coordination : &a.msmith; et &a.phk;</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Documentation !</para>
+ </listitem>
+
+ <listitem>
+ <para>Op&eacute;ration fiable du pilote pcic
+ (besoin de test).</para>
+ </listitem>
+
+ <listitem>
+ <para>Reconnaissance et prise en charge de
+ <filename>sio.c</filename> (presque fait).</para>
+ </listitem>
+
+ <listitem>
+ <para>>Reconnaissance et prise en charge de
+ <filename>ed.c</filename> (presque fait).</para>
+ </listitem>
+
+ <listitem>
+ <para>Reconnaissance et prise en charge de
+ <filename>ep.c</filename> (presque fait).</para>
+ </listitem>
+
+ <listitem>
+ <para>Reconnaissance et prise en charge du
+ mode utilisateur (partiellement fait).</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+
+ <listitem>
+ <para>Gestionnaire d'&eacute;nergie avanc&eacute;.
+ Coordination : &a.msmith; et &a.phk;</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>sous-pilote APM (presque fait).</para>
+ </listitem>
+
+ <listitem>
+ <para>sous-pilote de disques IDE/ATA
+ (partiellement fait).</para>
+ </listitem>
+
+ <listitem>
+ <para>sous-pilote syscons/pcvt.</para>
+ </listitem>
+
+ <listitem>
+ <para>Int&eacute;gration avec les pilotes PCMCIA/PCCARD
+ (suspendu / en cours).</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </orderedlist>
+ </sect2>
+
+
+
+ <sect2>
+ <title>T&acirc;ches de moindre priorit&eacute;</title>
+
+ <para>Les t&acirc;ches suivantes sont purement esth&egrave;tiques et
+ repr&eacute;sentent un tel investissement qu'il semblerait
+ qu'elles seront pas accomplie de sit&ocirc;t :</para>
+
+ <para>Les premiers points sont de Terry Lambert
+ <email>terry@lambert.org</email></para>
+
+ <orderedlist>
+ <listitem>
+ <para>Chargeur serveur NetWare (pilote ODI en mode prot&eacute;g&eacute;)
+ et sous-services pour autoriser l'utilisation de pilotes
+ de cartes ODI avec des cartes r&eacute;seaux.
+ M&ecirc;me chose avec les pilotes NDIS et les pilotes
+ NetWare SCSI.</para>
+ </listitem>
+
+ <listitem>
+ <para>Uni option "&eacute;volution syst&egrave;me" marchant sur des
+ machines sous Linux et pas seulement sur des
+ machines sous une version plus anciennes de FreeBSD.</para>
+ </listitem>
+
+ <listitem>
+ <para>Multi-processeur sym&eacute;trique avec pr&eacute;emption du noyau (requiert
+ une pr&eacute;emption du noyau).</para>
+ </listitem>
+
+ <listitem>
+ <para>Un effort concert&eacute; sur les ordinateurs portables.
+ Cela est en quelque sorte pris en charge en
+ changeant les r&egrave;gles de passage PCMCIA
+ et en traitant le gestionnaire d'&eacute;nergie.
+ Mais il y a certaines choses comme la d&eacute;tection de
+ l'affichage interne vs. externe et l'utilisation d'une
+ r&eacute;solution d'&eacute;cran diff&eacute;rente en consid&eacute;rant ce fait,
+ ne pas arr&ecirc;ter le disque si la machine est referm&eacute;e, et
+ autoriser les cartes pour portable &agrave; disparaitre sans
+ emp&ecirc;cher la machine de d&eacute;marrer (m&ecirc;me probl&egrave;me que pour le
+ PCMIA).</para>
+ </listitem>
+ </orderedlist>
+ </sect2>
+
+
+
+ <sect2>
+ <title>T&acirc;ches moins lourdes</title>
+
+ <para>La plupart des t&acirc;ches cit&eacute;es dans la section
+ pr&eacute;c&eacute;dente n&eacute;cessitent soit un investissement
+ important en temps, soit une connaissance en
+ profondeur du noyau (ou les deux).
+ Quoiqu'il en soit, il y a de nombreuses
+ t&acirc;ches utiles pour les
+ &quot;programmeurs occasionnels&quot;, ou les
+ personnes sans comp&eacute;tences en programmation.</para>
+
+ <orderedlist>
+ <listitem>
+ <para>Si vous utilisez FreeBSD-current et que vous
+ avez une bonne connexion Internet, il y a une machine
+ <hostid role="fqdn">current.freebsd.org</hostid>
+ qui construit une version compl&egrave;te tous les
+ jours &mdash; &agrave; chaque fois, essayer et
+ installer la derni&egrave;re version depuis ceci et
+ reporter toutes les erreurs durant le processus.</para>
+ </listitem>
+
+ <listitem>
+ <para>Lire les messages de la liste de diffusion
+ <email>freebsd-bugs</email>.
+ Il peut y avoir un probl&egrave;me que vous
+ pouvez commenter de mani&egrave;re constructive ou alors
+ des patches que vous pouvez tester.
+ Vous pouvez aussi essayer de r&eacute;soudre un de ces
+ probl&egrave;mes vous-m&ecirc;me.</para>
+ </listitem>
+
+ <listitem>
+ <para>Lisez la FAQ et le manuel r&eacute;guli&egrave;rement,
+ si quelque chose est mal expliqu&eacute;, pas &agrave; jour
+ ou simplement compl&egrave;tement faux, dites le
+ nous.
+ Mieux, envoyez nous le correctif
+ (SGML n'est pas difficile &agrave; apprendre,
+ mais il n'y a pas d'objection &agrave; des soumissions
+ au format ASCII).</para>
+ </listitem>
+
+ <listitem>
+ <para>Aidez &agrave; traduire la documentation
+ FreeBSD dans votre langue (si elle n'est
+ pas d&eacute;j&agrave; disponible) &mdash; envoyez juste un
+ courrier &eacute;lectronique &agrave; &a.doc; demandant si
+ quelqu'un est en train d'y travailler.
+ Notez que vous ne vous engagez pas
+ &agrave; traduire chacun des documents FreeBSD ce faisant &mdash;
+ en fait la documentation dont on a le plus souvent besoin
+ est les instructions d'installation.</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Lire la liste de diffusion <email>freebsd-questions</email>.
+ et les newsgroup <email>comp.unix.bsd.freebsd.misc</email> de
+ temps en temps (ou m&ecirc;me r&eacute;guli&egrave;rement).
+ Il peut &ecirc;tre tr&egrave;s satisfaisant de partager
+ ses exp&eacute;rience et aider les gens &agrave; r&eacute;soudre
+ leurs probl&egrave;mes; parfois, vous
+ pouvez m&ecirc;me ainsi apprendre de nouvelles choses !
+ Ces forums peuvent parfois &ecirc;tre une source d'id&eacute;es sur ce
+ qu'il faut travailler.</para>
+ </listitem>
+
+ <listitem>
+ <para>Si vous connaissez un correctif appliqu&eacute;
+ avec succ&egrave;s &agrave; -current mais qui n'a pas &eacute;t&eacute;
+ appliqu&eacute; &agrave; -stable apr&egrave;s un intervalle de temps
+ raisonnable (normalement quelques
+ semaines), envoyer aux collaborateurs un
+ rappel poli.</para>
+ </listitem>
+
+ <listitem>
+ <para>D&eacute;placer les logiciels de collaboration de
+ <filename>src/contrib</filename> dans
+ l'arborescence source.</para>
+ </listitem>
+
+ <listitem>
+ <para>Assurez vous que le code dans
+ <filename>src/contrib</filename>
+ est &agrave; jour.</para>
+ </listitem>
+
+ <listitem>
+ <para>Cherchez les bugs de l'an 2000
+ (et corrigez ceux que vous trouvez !)</para>
+ </listitem>
+
+ <listitem>
+ <para>Construire l'arbre des sources
+ (ou une partie) avec les messages de tous les
+ avertissements activ&eacute;s et faire de
+ sorte &agrave; ce qu'il n'y ait plus ces
+ avertissements.</para>
+ </listitem>
+
+ <listitem>
+ <para>Corriger les avertissements pour les ports qui
+ r&eacute;alisent des choses obsol&egrave;tes comme
+ gets () ou les inclusions de malloc.h.</para>
+ </listitem>
+
+ <listitem>
+ <para>Si vous avez collabor&eacute; &agrave; un des ports, envoyez vos
+ correctifs &agrave; leurs auteurs originaux (cela leur facilitera
+ la vie lors de la sortie de la prochaine version)</para>
+ </listitem>
+
+ <listitem>
+ <para>Sugg&egrave;rez d'autres t&acirc;ches pour cette liste !</para>
+ </listitem>
+ </orderedlist>
+ </sect2>
+ </sect1>
+
+
+
+ <sect1>
+ <title>Comment participer</title>
+
+ <para>Les contributions au syst&egrave;mes tombent
+ g&eacute;n&eacute;rallement dans l'une de ces 6 cat&eacute;gories :</para>
+
+ <sect2 id="contrib-general">
+ <title>Rapports de bogues et commentaires g&eacute;n&eacute;raux</title>
+
+ <para>Une id&eacute;e ou une suggestion d'inter&ecirc;t technique
+ <emphasis>g&eacute;n&eacute;ral</emphasis> devrait &ecirc;tre envoy&eacute;e &agrave;
+ &a.hackers;.
+ les personnes interess&eacute;es par cela (et qu'un
+ <emphasis>grand</emphasis> volume de courrier
+ &eacute;lectronique ne d&eacute;range pas, devraient s'abonner &agrave;
+ la liste de diffusion hackers en envoyant un
+ courrier &eacute;lectronique &agrave; &a.majordomo;.
+ Voir <link linkend="eresources-mail">les listes de
+ diffusions lists</link> pour plus d'informations
+ pour ceci et les autres listes de diffusions.</para>
+
+ <para>Si vous trouvez un bug ou si vous
+ soumettez un changement sp&eacute;cifique, enregistrez
+ le en utilisant le programme <command>send-pr (1)</command>
+ ou son <ulink
+ URL="http://www.freebsd.org/send-pr.html">&eacute;quivalent
+ web</ulink>.
+ Essayez de remplir chaque champ de l'enregistrement de bug.
+ A moins qu'ils ne d&eacute;passent 65KB, y inclure tous
+ les correctifs directement dans l'enregistrement.
+ Penser &agrave; les compresser et &agrave; utiliser
+ <command>uuencode (1)</command>; s'ils
+ d&eacute;passent 20KB.
+ Charger les grosses soumissions vers <ulink
+ url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/incoming/">ftp.freebsd.org:/pub/FreeBSD/incoming/</ulink></para>
+
+ <para>Apr&egrave;s avoir rempli la fiche d'enregistrement, vous devriez
+ recevoir une confirmation avec un num&eacute;ro d'enregistrement.
+ Gardez ce num&eacute;ro afin que vous puissiez nous soumettre plus de
+ d&eacute;tails &agrave; propos du probl&egrave;me en envoyant un courrier
+ &eacute;lectronique &agrave; <email>bug-followup@FreeBSD.ORG</email>.
+ Utilisez le num&eacute;ro comme sujet du message, par exemple
+ <literal>"Re: kern/3377"</literal>.
+ Toute information suppl&eacute;mentaire sur
+ un bug enregistr&eacute; devrait &ecirc;tre soumise de la m&ecirc;me
+ mani&egrave;re.</para>
+
+ <para>Si vous ne recevez aucune confirmation en un temps
+ raisonnable (de 3 jours &agrave; une semaine suivant votre connexion
+ pour le courrier) ou qu'il vous est, pour une raison quelconque,
+ impossible d'utiliser la commande <command>send-pr (1)</command>, vous pouvez
+ demander &agrave; quelqu'un de le faire pour vous en envoyant un
+ courrier &eacute;lectronique &agrave; &a.bugs;.</para>
+ </sect2>
+
+ <sect2>
+ <title>Modifications de la documentation</title>
+
+ <para>Les modifications dans la documentation sont
+ supervis&eacute;es par &a.doc;.
+ Envoyez les soumissions et les modifications (m&ecirc;me les
+ plus petites sont les bienvenus !) en utilisant
+ la commande <command>send-pr</command>
+ comme d&eacute;crit dans
+ <link linkend="contrib-general">Soumission de bug
+ et commentaires g&eacute;n&eacute;raux</link>.</para>
+ </sect2>
+
+ <sect2>
+ <title>Modification dans le code source existant</title>
+
+ <para>Un ajout ou modification dans le code source
+ existant est une autre affaire, et d&eacute;pend beaucoup
+ de votre version par rapport &agrave; l'&eacute;tat
+ courant du d&eacute;veloppement de base de FreeBSD.
+ Il y a une version sp&eacute;ciale du FreeBSD en cours
+ de d&eacute;veloppement, connu sous le nom de
+ &ldquo;FreeBSD-current&rdquo; qui est
+ disponible de diverses mani&egrave;res pour le confort
+ des d&eacute;veloppeurs qui travaillent activement sur
+ le syst&egrave;me.
+ Voir <link linkend="current">Etre &agrave; jour avec
+ FreeBSD</link> pour plus d'informations sur
+ la mani&egrave;re d'obtenir et d'utiliser
+ FreeBSD-current.</para>
+
+ <para>D&eacute;veloper avec des sources plus anciennes
+ signifie que vos modifications peuvent parfois
+ devenir trop obsol&egrave;te ou trop divergentes pour
+ permettre une r&eacute;-int&eacute;gration dans FreeBSD.
+ On peut limiter cela en souscrivant aux
+ listes de diffusion &a.announce; et &a.current;
+ o&ugrave; des discussions sur l'&eacute;tat
+ courant du syst&egrave;me ont lieu.</para>
+
+ <para>En supposant que vous pouvez vous arranger pour avoir de
+ mani&egrave;re s&ucirc;re des sources &agrave; jour comme base pour vos
+ modifications, l'&eacute;tape suivante consiste &agrave; produire
+ un ensemble de diffs &agrave; envoyer &agrave; ceux qui sont charg&eacute;s
+ de maintenir FreeBSD.
+ Cela est fait par l'interm&eacute;diaire de la commande
+ <command>diff (1)</command>, avec une pr&eacute;f&eacute;rence pour le formulaire
+ &ldquo;contexte diff&rdquo;.
+ Par exemple :</para>
+
+ <para>
+ <screen>&prompt.user;
+ <userinput>diff -c oldfile newfile</userinput></screen>
+
+ ou
+
+ <screen>&prompt.user;
+ <userinput>diff -c -r olddir newdir</userinput></screen>
+
+ g&eacute;n&egrave;rera un ensemble de contexte diffs pour un fichier
+ source ou une hi&eacute;rarchie de r&eacute;pertoires donn&eacute;.
+ Voir les pages de manuel pour <command>diff (1)</command> pour plus de
+ d&eacute;tails.</para>
+
+ <para>Une fois que vous avez l'ensemble des diffs (que vous
+ pouvez tester avec la commande <command>patch(1)</command>, vous devriez les
+ soumettre pour qu'ils puissent &ecirc;tre inclus dans FreeBSD.
+ Utilisez le programme <command>send-pr (1)</command> comme d&eacute;crit dans
+ <link linkend="contrib-general">Rapport de bugs et commentaires
+ g&eacute;n&eacute;raux</link>.
+ <emphasis>Ne pas</emphasis> simplement envoyer les diffs &agrave;
+ &a.hackers; ou ils seront perdus !
+ Nous appr&eacute;cions beaucoup vos soumissions (c'est un
+ projet fait par des volontaires !),
+ mais parce que nous sommes tr&egrave;s occup&eacute;, nous ne
+ pourrons pas les &eacute;tudier imm&eacute;diatement,
+ mais cela restera dans la base de
+ donn&eacute;es jusqu'&agrave; ce que nous le fassions.</para>
+
+ <para>Si cela vous semble appropri&eacute; (par exemple si vous avez
+ renomm&eacute; les fichiers), mettre vos modifications dans un fichier
+ <command>tar</command> et lancer le programme <command>uuencode (1)</command>
+ dessus. Les archives <command>shar</command> sont aussi les
+ bienvenues.</para>
+
+ <para>Si vos modifications sont potentiellement sensibles, par
+ exemple si vous n'&ecirc;tes pas s&ucirc;r des probl&egrave;mes de copyright
+ concernant sa distribution, ou si vous n'&ecirc;tes simplement pas
+ pr&ecirc;t &agrave; le distribuer sans y avoir jet&eacute; un coup d'oeil, alors
+ vous devriez l'envoyer directement &agrave; &a.core; plut&ocirc;t que de le
+ soumettre avec <command>send-pr(1)</command>.
+ La liste de diffusion principale atteint un petit
+ groupe de personnes qui r&eacute;alise la
+ plupart du travail quotidien de FreeBSD.
+ Notez que ce groupe est aussi
+ <emphasis>tr&egrave;s occup&eacute;</emphasis>, et donc que vous ne
+ devriez leur envoyer un courrier &eacute;lectronique
+ que lorsque cela est r&eacute;ellement n&eacute;cessaire.</para>
+
+ <para>Se r&eacute;ferrer &agrave; <command>man 9 intro</command>
+ et <command>man 9 style</command> pour plus
+ d'informations sur la mani&egrave;re de coder.
+ Nous appr&eacute;cierons le fait que vous soyez au moins au courant de cette
+ information avant de nous soumettre du code.</para>
+ </sect2>
+
+
+ <sect2>
+ <title>Nouveau code source ou logiciel &agrave; valeur ajout&eacute;e
+ importante</title>
+
+ <para>Dans les rares cas d'une collaboration
+ importante, ou de l'addition d'une importante
+ fonctionnalit&eacute; &agrave; FreeBSD, il devient presque n&eacute;cessaire
+ d'envoyer les modification en les uuncodant dans
+ des fichiers tar et en les chargeant sur notre
+ site FTP <ulink
+ URL="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/incoming">ftp://ftp.FreeBSD.ORG/pub/FreeBSD/incoming</ulink>.</para>
+
+ <para>Lorsque l'on travaille avec un grand volume
+ de code, le sujet sensible du copyright revient
+ invariablement.
+ Les copyrights acceptables pour le code inclu
+ dans FreeBSD sont :</para>
+
+ <orderedlist>
+ <listitem>
+ <para>Le copyright BSD. Ce copyright est le plus appr&eacute;ci&eacute;
+ par son c&ocirc;t&eacute; &ldquo;sans attaches&rdquo; et son
+ attractivit&eacute; g&eacute;n&eacute;rale pour les entreprises commerciales.
+ Loin de d&eacute;courager un tel usage commercial, le
+ projet FreeBSD encourage activement une telle
+ participation avec inter&ecirc;ts commerciaux pour ceux
+ qui seraient &eacute;ventuellement tent&eacute; d'investir
+ quelque chose dans FreeBSD.</para>
+ </listitem>
+
+ <listitem>
+ <para>La licence publique GNU, ou &ldquo;GPL&rdquo;.
+ Cette licence n'est pas aussi populaire chez nous &agrave;
+ cause du volume d'efforts suppl&eacute;mentaires demand&eacute;s
+ &agrave; celui qui voudrait utiliser le code dans un
+ but commercial.
+ Mais &eacute;tant donn&eacute; la quantit&eacute; de code de code GPL dont
+ nous avons actuellement besoin (compilateur,
+ assembleur, formatteur de texte, etc),
+ il serait absurde de refuser des
+ collaborations sous cette licence.
+ Le code sous GPL va dans une diff&eacute;rente partie de
+ l'arborescence des r&eacute;pertoires :
+ <filename>/sys/gnu</filename> ou
+ <filename>/usr/src/gnu</filename>, et est de ce
+ fait tr&egrave;s identifiable par quelqu'un dont la
+ licence GNU poserait un probl&egrave;me.</para>
+ </listitem>
+ </orderedlist>
+
+ <para>Les collaborations venant avec un autre
+ type de copyright doivent
+ &ecirc;tre soigneusement v&eacute;rifi&eacute; avant leur
+ inclusion dans FreeBSD.
+ Les contributions o&ugrave; des restrictions commerciales
+ particuli&egrave;res s'appliquent sont g&eacute;n&eacute;ralement rejet&eacute;es.
+ Les auteurs sont toujours encourag&eacute;s &agrave; mettre ces
+ modifications disponibles par leur propre
+ moyens.</para>
+
+ <para>Pour mettre un copyright de &ldquo;style
+ BSD&rdquo; sur votre travail, inclure le texte
+ suivant au tout d&eacute;but de chaque code source que
+ vous voulez prot&eacute;ger, en rempla&ccedil;ant le texte entre les
+ <literal>%%</literal> par l'information appropri&eacute;e.</para>
+
+ <programlisting>
+Copyright (c) %%annee%%
+ %%votre_nom_ici%%, %%votre_ville%% %%votre_code_postal%%.
+ Tous droits r&eacute;serv&eacute;s
+
+ La redistribution et l'utilisation des sources et des
+ formes binaires, avec ou sans modifications, sont
+ autoris&eacute;es si les conditions suivantes soient r&eacute;unies :
+
+1. Les redistributions du code source doivent conserver
+ la notification de copyright ci-dessus, cette liste
+ de conditions et le d&eacute;menti suivant comme premi&egrave;res
+ lignes de ce fichier, ceci non modifi&eacute;s.
+2. Les redistributions sous forme binaire doivent
+ reproduire la notification de copyright ci-dessus,
+ cette liste de conditions et le d&eacute;menti suivant
+ en documentation et/ou sur les autres supports
+ de la distribution.
+
+ CE LOGICIEL EST FOURNI EN L'ETAT PAR ''%%VOTRE_NOM_ICI%%''
+ ET TOUTES GARANTIES EXPRES OU IMPLICITES, Y COMPRIS,
+ MAIS NON LIMITE A, LES GARANTIES IMPLICITES DE LA VALEUR
+ MARCHANDE ET PHYSIQUE DANS UN BUT PARTICULIER
+ SONT DEMENTIES.
+ EN AUCUN CAS %%VOTRE_NOM_ICI%% SERA RESPONSABLE DES
+ DOMMAGES DIRECTS, INDIRECTS, FORTUITS, SPECIAUX,
+ EXEMPLAIRES, OU CONSECUTIFS (COMPRENANT, MAIS NON
+ LIMITÉ A : REMPLACEMENT DES MARCHANDISES OU
+ SERVICES; PERTE DE DONNEES, OU DE BENEFICES ;
+ OU INTERRUPTION D'AFFAIRES) CAUSEE ET SUR TOUTE
+ THEORIE DE RESPONSABILITE, SI DANS LE CONTRAT, LA
+ RESPONSABILITE SANS FAUTE INTENTIONNELLE, OU TORT
+ (NEGLIGENCE Y COMPRIS OU AUTRES) SURGISSANT EN CONSEQUENCE
+ DE L'UTILISATION DE CE LOGICIEL, CECI, MÊME SI INFORME
+ DE LA POSSIBILITE D'UN TEL DOMMAGE.
+
+ &#36;Id&#36;</programlisting>
+
+ <para>Pour votre convenance, une copie de ce texte
+ peut &ecirc;tre trouv&eacute;e dans
+ <filename>/usr/share/examples/etc/bsd-style-copyright</filename>.</para>
+ </sect2>
+
+
+ <sect2>
+ <title>Contribution financi&egrave;re, mat&eacute;riel
+ ou acc&egrave;s Internet</title>
+
+ <para>Nous sommes toujours tr&egrave;s heureux de
+ recevoir des donations pour poursuivre la cause
+ du projet FreeBSD, et dans un effort
+ volontaire comme le n&ocirc;tre, un rien peut faire du chemin !
+ Les donations de mat&eacute;riel sont &eacute;galement tr&egrave;s importantes
+ pour augmenter notre liste de p&eacute;riph&eacute;riques support&eacute;s
+ puisque nous manquons souvent de fonds pour acheter de tels
+ &eacute;l&eacute;ments nous-m&ecirc;mes.</para>
+
+ <sect3>
+ <title><anchor id="donations">Donation de fonds</title>
+
+ <para>Comme le projet FreeBSD n'est pas une corporation
+ 501(c)(3) (charitable), et par cons&eacute;quent ne peut
+ offrir des r&eacute;ductions fiscales, toute donation
+ sera accept&eacute;e avec reconnaissance au nom du projet par
+ FreeBSD, inc.</para>
+
+ <para>FreeBSD, Inc. a &eacute;t&eacute; fond&eacute; au d&eacute;but de
+ l'ann&eacute;e 1995 par &a.jkh; et &a.dg; avec le but de
+ promouvoir les objectifs du projet de FreeBSD
+ et de lui donner une pr&eacute;sence minimale de corporation.
+ Tout fond donn&eacute; (ainsi que tous b&eacute;n&eacute;fices qui
+ peuvent par la suite &ecirc;tre r&eacute;alis&eacute;s par
+ FreeBSD, inc.) seront exclusivement employ&eacute;s &agrave;
+ poursuivre les buts du projet.</para>
+
+ <para>Tous les ch&egrave;ques doivent &ecirc;tre adress&eacute;s
+ &agrave; l'ordre de FreeBSD, Inc. et envoy&eacute;s &agrave;
+ l'adresse suivante :</para>
+
+ <address>
+ <otheraddr>FreeBSD, Inc.</otheraddr>
+ <otheraddr>c/o Jordan Hubbard</otheraddr>
+ <street>4041 Pike Lane, Suite F</street>
+ <city>Concord</city>
+ <state>CA</state>, <postcode>94520</postcode>
+ </address>
+
+ <para>(utilisant l'adresse de
+ Walnut Creek CDROM en attendant qu'une boite
+ postale puisse &ecirc;tre ouverte)</para>
+
+ <para>Les transferts de fonds peuvent &ecirc;tre
+ directement envoy&eacute;s &agrave; :</para>
+
+ <address>
+ <otheraddr>Bank Of America</otheraddr>
+ <otheraddr>Concord Main Office</otheraddr>
+ <pob>P.O. Box 37176</pob>
+ <city>San Francisco</city>
+ <state>CA</state>, <postcode>94137-5176</postcode>
+
+ <otheraddr>Routage #: 121-000-358</otheraddr>
+ <otheraddr>Compte #: 01411-07441 (FreeBSD, Inc.)</otheraddr>
+ </address>
+
+ <para>Toute correspondance &agrave; propos de dons, devrait &ecirc;tre
+ envoy&eacute; directement &agrave; Jordan
+ Hubbard <email>jkh@FreeBSD.org</email>,
+ soit par courrier &eacute;lectronique, soit &agrave; l'adresse
+ postale de FreeBSD, Inc. donn&eacute;e ci-dessus.</para>
+
+ <para>Si vous ne voulez pas &ecirc;tre list&eacute;
+ dans notre section <link
+ linkend="donors">donateur</link> le sp&eacute;cifier
+ lors de votre don, merci !</para>
+ </sect3>
+
+ <sect3>
+ <title>Contribution mat&eacute;rielle</title>
+
+ <para>La contribution en mat&eacute;riel tombant dans une
+ des trois cat&eacute;gories suivantes sont joyeusement
+ accept&eacute;es par le projet FreeBSD :</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Le mat&eacute;riel &agrave; caract&egrave;re g&eacute;n&eacute;ral comme
+ les disques, la m&eacute;moire ou des syst&egrave;mes
+ complets doivent &ecirc;tre envoy&eacute;s &agrave; l'adresse
+ de FreeBSD, Inc. donn&eacute;e dans la section
+ <emphasis>donation de fonds</emphasis>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Le mat&eacute;riel pour tests de compatibilit&eacute;
+ en cours est appr&eacute;ci&eacute;.
+ Nous sommes actuellement en train de rassembler un
+ laboratoire de test pour tous les composants
+ support&eacute;s par FreeBSD, ceci afin que
+ des tests de regressions puissent &ecirc;tre effectu&eacute;s &agrave;
+ chaque nouvelle version.
+ Nous manquons actuellement d'importants
+ composants (cartes &eacute;thernet, cartes m&egrave;re, etc)
+ et si vous voulez faire un tel don, contactez
+ &a.dg; pour des informations sur le
+ mat&eacute;riel dont nous avons toujours besoin.</para>
+ </listitem>
+
+ <listitem>
+ <para>Du mat&eacute;riel non support&eacute; actuellement
+ par FreeBSD et que vous voudriez voir support&eacute;.
+ Contactez &a.core; avant de nous envoyer ces
+ articles car il faut que nous trouvons
+ un d&eacute;veloppeur acceptant de se charger de cette
+ t&acirc;che avant d'accepter ce nouveau mat&eacute;riel.</para>
+ </listitem>
+ </itemizedlist>
+ </sect3>
+
+ <sect3>
+ <title>Contribution d'acc&egrave;s Internet</title>
+
+ <para>Nous pouvons toujours utiliser de
+ nouveaux sites mirroirs pour les FTP,
+ WWW ou <command>cvsup</command>.
+ Si vous voulez devenir un tel mirroir, contactez les
+ administrateurs du projet FreeBSD <email>admin@FreeBSD.ORG</email>
+ pour plus d'informations.</para>
+ </sect3>
+ </sect2>
+ </sect1>
+
+
+
+
+ <sect1 id="donors">
+ <title>Les donateurs</title>
+
+ <para>Le projet FreeBSD est en dette envers les
+ donateurs suivants et voudrait les remercier
+ publiquement ici !</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><emphasis>Contributeurs au projet du
+ serveur central :</emphasis></para>
+
+ <para>Les personnes &agrave; titre priv&eacute; ou commercial
+ suivantes ont rendu possible pour le projet
+ FreeBSD de construire la machine serveur
+ centrale pour &eacute;ventuellement remplacer <hostid
+ role="fqdn">freefall.freebsd.org</hostid>
+ en donnant les articles suivants :</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Ade Barkah <email>mbarkah@freebsd.org</email> et son
+ employeur, <ulink URL="http://www.hemi.com">Hemisphere
+ Online</ulink>, ont donn&eacute; un
+ <emphasis>Pentium Pro (P6) 200Mhz
+ CPU</emphasis></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink URL="http://www.asacomputers.com">ASA
+ Computers</ulink> ont donn&eacute;
+ <emphasis>une carte m&egrave;re Tyan
+ 1662</emphasis>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Joe McGuckin <email>joe@via.net</email>
+ de <ulink
+ URL="http://www.via.net">ViaNet Communications</ulink>
+ a donn&eacute; un <emphasis>contr&ocirc;leur ethernet
+ Kingston.</emphasis></para>
+ </listitem>
+
+ <listitem>
+ <para>Jack O'Neill <email>jack@diamond.xtalwind.net</email>
+ a donn&eacute; <emphasis>une carte
+ contr&ocirc;leur NCR 53C875 SCSI</emphasis>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Ulf Zimmermann <email>ulf@Alameda.net</email> de <ulink
+ URL="http://www.Alameda.net">Alameda
+ Networks</ulink> a donn&eacute; <emphasis>128MB
+ de m&eacute;moire </emphasis>, un <emphasis>disque
+ de 4 Gb et la valise.</emphasis></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+
+ <listitem>
+ <para><emphasis>Fonds directs :</emphasis></para>
+
+ <para>Les personnes suivantes ont g&eacute;n&eacute;reusement
+ contribu&eacute; - &agrave; titre priv&eacute; ou commercial -
+ directement aux fonds du projet :</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Annelise Anderson
+ <email>ANDRSN@HOOVER.STANFORD.EDU</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Matt Dillon <email>dillon@best.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink URL="http://www.epilogue.com/">Epilogue Technology
+ Corporation</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para>Sean Eric Fagan</para>
+ </listitem>
+
+ <listitem>
+ <para>Don Scott Wilde</para>
+ </listitem>
+
+ <listitem>
+ <para>Gianmarco Giovannelli
+ <email>gmarco@masternet.it</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Josef C. Grosch <email>joeg@truenorth.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Robert T. Morris</para>
+ </listitem>
+
+ <listitem>
+ <para>Chuck Robey <email>chuckr@freebsd.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kenneth P. Stox <email>ken@stox.sa.enteract.com</email> de
+ <ulink URL="http://www.imagescape.com">Imaginary Landscape,
+ LLC.</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para>Dmitry S. Kohmanyuk <email>dk@dog.farm.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink URL="http://www.cdrom.co.jp/">Laser5</ulink>
+ du Japon (une partie de leur b&eacute;n&eacute;fice de la vente
+ de leurs diff&eacute;rents CD-ROM de FreeBSD.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink URL="http://www.mmjp.or.jp/fuki/">Fuki
+ Shuppan Publishing Co.</ulink> ont donn&eacute;
+ une partie de leur b&eacute;n&eacute;fice sur <emphasis>Hajimete
+ no FreeBSD</emphasis> (d&eacute;buter sous FreeBSD)
+ aux projets FreeBSD et XFree86.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink URL="http://www.ascii.co.jp/">ASCII
+ Corp.</ulink> ont donn&eacute; une partie de leur
+ b&eacute;n&eacute;fice de vente sur des produits sur FreeBSD.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink URL="http://www.yokogawa.co.jp/">Yokogawa
+ Electric Corp</ulink> ont g&eacute;n&eacute;reusement donn&eacute; des
+ fonds significatifs au projet FreeBSD.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink URL="http://www.buffnet.net/">BuffNET</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink url="http://www.pacificsolutions.com/">Pacific
+ Solutions</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+
+ <listitem>
+ <para><emphasis>Contribution mat&eacute;rielle :</emphasis></para>
+
+ <para>Les personnes suivantes &agrave; titre priv&eacute; ou
+ commercial, ont g&eacute;n&eacute;reusement contribu&eacute; en
+ mat&eacute;riel pour les tests et le
+ d&eacute;veloppement/support des pilotes de
+ p&eacute;riph&eacute;rique :</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Walnut Creek CDROM pour avoir fourni
+ le Pentium P5-90 et le 486/DX2-66 EISA/VL
+ qui sont actuellement utilis&eacute;s pour notre
+ travail de d&eacute;veloppement, cela sans parler
+ de l'acc&egrave;s r&eacute;seau et d'autres dons
+ de mat&eacute;riels.</para>
+ </listitem>
+
+ <listitem>
+ <para>TRW Financial Systems, Inc. nous a
+ fourni 130 PC, trois serveurs de fichiers
+ 68 GB, douze Ethernets, deux routeurs et
+ un commutateur ATM pour d&eacute;boguer un
+ code sans disque.</para>
+ </listitem>
+
+ <listitem>
+ <para>Dermot McDonnell a donn&eacute; un
+ lecteur CDROM Toshiba XM3401B
+ actuellement utilis&eacute; dans freefall.</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.chuck; a contribu&eacute; par son lecteur de
+ bande pour le travail exp&eacute;rimental.</para>
+ </listitem>
+
+ <listitem>
+ <para>Larry Altneu <email>larry@ALR.COM</email>,
+ and &a.wilko;, ont donn&eacute; des lecteurs de
+ bandes Wangtek and Archive QIC-02 afin d'am&eacute;liorer
+ les <devicename>wt</devicename> pilotes.</para>
+ </listitem>
+
+ <listitem>
+ <para>Ernst Winter <email>ewinter@lobo.muc.de</email>
+ a contribu&eacute; par son lecteur de disquette
+ 2.88 MB au projet.
+ Cela augmentera la pression pour r&eacute;&eacute;crire le
+ pilote du lecteur de disquette.<!-- smiley -->;-)</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink URL="http://www.tekram.com">Tekram
+ Technologies</ulink> a envoy&eacute; chacun de
+ leur carte adapteur h&ocirc;te DC-390, DC-390U
+ et DC-390F FAST and ULTRA SCSI pour
+ les tests de regression des pilotes
+ NCR et AMD avec leur cartes.
+ Ils peuvent &ecirc;tre aussi acclam&eacute; pour avoir rendu leurs
+ sources de pilotes disponibles sur les serveur
+ FTP pour les syst&egrave;mes s'exploitation libres.<ulink
+ URL="ftp://ftp.tekram.com/scsi/FreeBSD">ftp://ftp.tekram.com/scsi/FreeBSD</ulink>.</para>
+ </listitem>
+
+ <listitem>
+ <para><email>Larry M. Augustin</email> ont
+ contribu&eacute; non seulement avec une carte
+ Symbios Sym8751S SCSI mais aussi par un ensemble de
+ livres de donn&eacute;es, y compris la prochaine puce
+ Sym53c895 chip avec support Ultra-2
+ et LVD, et pour le dernier manuel de programmation
+ avec des informations sur la mani&egrave;re d'utiliser
+ s&ucirc;rement les fonctionnalit&eacute;s avanc&eacute;es de la derni&egrave;re puce
+ Symbios SCSI chips. Merci beaucoup !</para>
+ </listitem>
+
+ <listitem>
+ <para>Christoph Kukulies <email>kuku@freebsd.org</email>
+ a donn&eacute; un lecteur CDROM FX120 12 vitesse
+ Mitsumi pour le d&eacute;veloppement de pilote
+ CDROM IDE.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+
+ <listitem>
+ <para><emphasis>Contributeurs sp&eacute;ciaux :</emphasis></para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink URL="http://www.cdrom.com">Walnut Creek CDROM</ulink>
+ a donn&eacute; plus que nous pourrions le dire (voir le document de
+ <link linkend="history">l'historique</link> pour plus de d&eacute;tails.
+ En particulier, nous voudrions les remercier pour le mat&eacute;riel
+ original utilis&eacute; pour <hostid
+ role="fqdn">freefall.FreeBSD.ORG</hostid>, notre principale
+ machine de d&eacute;veloppement, et pour <hostid
+ role="fqdn">thud.FreeBSD.ORG</hostid>, une machine de
+ test et de construction. Nous leur sommes aussi gr&eacute; pour
+ le financement de plusieurs collaborateurs au fil des ann&eacute;es, et
+ pour nous avoir fourni un acc&egrave;s illimit&eacute; &agrave; leur connexion T1
+ &agrave; l'Internet.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink URL="http://www.interface-business.de">interface
+ business GmbH, Dresden</ulink> qui ont patiemment
+ support&eacute;s &a.joerg; qui a souvent pr&eacute;f&eacute;r&eacute; le travail FreeBSD
+ au travail pour lequel il &eacute;tait pay&eacute;, et a utilis&eacute; leur
+ (co&ucirc;teuse) connexion EUnet Internet lorsque sa connexion priv&eacute;e
+ devenait trop lente pour tavailler d&eacute;cemment avec ...</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink URL="http://www.bsdi.com">Berkeley Software Design,
+ Inc.</ulink> ont contribu&eacute; en donnant leur &eacute;mulateur
+ DOS au reste du monde BSD, qui est utilis&eacute; dans la commande
+ <emphasis>dosemu</emphasis>.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+
+ </sect1>
+
+ <sect1>
+ <title>Les anciens de l'&eacute;quipe principale</title>
+
+ <para>Les personnes suivantes ont &eacute;t&eacute; membre de l'&eacute;quipe
+ de base de FreeBSD durant la p&eacute;riode indiqu&eacute;e.
+ Nous les remercions de leurs efforts pass&eacute;s au
+ service du projet FreeBSD.</para>
+
+ <para><emphasis>Dans un ordre chronologique brut :</emphasis></para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Guido van Rooij (1995 - 1999)</para>
+ </listitem>
+
+ <listitem>
+ <para>John Dyson (1993 - 1998)</para>
+ </listitem>
+
+ <listitem>
+ <para>Nate Williams (1992 - 1996)</para>
+ </listitem>
+
+ <listitem>
+ <para>Rod Grimes (1992 - 1995)</para>
+ </listitem>
+
+ <listitem>
+ <para>Andreas Schulz (1992 - 1995)</para>
+ </listitem>
+
+ <listitem>
+ <para>Geoff Rehmet (1993 - 1995)</para>
+ </listitem>
+
+ <listitem>
+ <para>Paul Richards (1992 - 1995)</para>
+ </listitem>
+
+ <listitem>
+ <para>Scott Mace (1993 - 1994)</para>
+ </listitem>
+
+ <listitem>
+ <para>Andrew Moore (1993 - 1994)</para>
+ </listitem>
+
+ <listitem>
+ <para>Christoph Robitschko (1993 - 1994)</para>
+ </listitem>
+
+ <listitem>
+ <para>J. T. Conklin (1992 - 1993)</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+
+ <sect1 id="contrib-additional">
+ <title>Collaborateurs des logiciels d&eacute;riv&eacute;s</title>
+
+ <para>Ce logiciel d&eacute;rive originelement du 386BSD
+ version 0.1 de William F. Jolitz.
+ Ce logiciel a &eacute;t&eacute; essentiellement r&eacute;impl&eacute;ment&eacute; depuis
+ la version 4.4BSD-Lite fourni par le Computer
+ Science Research Group (CSRG) &agrave; l'universit&eacute; de
+ Californie &agrave; Berkeley et des acad&eacute;mies
+ collaboratices associ&eacute;es.</para>
+
+ <para>Il ya aussi des portions de NetBSD et
+ OpenBSD qui ont &eacute;t&eacute; int&eacute;gr&eacute;s dans le code FreeBSD,
+ et nous voulons de ce fait remercier tous les
+ collaborateurs de NetBSD et OpenBSD pour leur travail.</para>
+
+ <para>(Dans l'order alphab&eacute;tique par le pr&eacute;nom) :</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>ABURAYA Ryushirou <email>rewsirow@ff.iij4u.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>AMAGAI Yoshiji <email>amagai@nue.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Aaron Bornstein <email>aaronb@j51.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Aaron Smith <email>aaron@tau.veritas.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Achim Patzner <email>ap@noses.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ada T Lim <email>ada@bsd.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Adam Baran <email>badam@mw.mil.pl</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Adam Glass <email>glass@postgres.berkeley.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Adam McDougall <email>mcdouga9@egr.msu.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Adrian Colley <email>aecolley@ois.ie</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Adrian Hall <email>adrian@ibmpcug.co.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Adrian Mariano <email>adrian@cam.cornell.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Adrian Steinmann <email>ast@marabu.ch</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Adrian T. Filipi-Martin
+ <email>atf3r@agate.cs.virginia.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ajit Thyagarajan <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Akio Morita
+ <email>amorita@meadow.scphys.kyoto-u.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Akira SAWADA <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Akira Watanabe
+ <email>akira@myaw.ei.meisei-u.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Akito Fujita <email>fujita@zoo.ncl.omron.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Alain Kalker
+ <email>A.C.P.M.Kalker@student.utwente.nl</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Alan Bawden <email>alan@curry.epilogue.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Alan Cox <email>alc@cs.rice.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Alec Wolman <email>wolman@cs.washington.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Aled Morris <email>aledm@routers.co.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Alex <email>garbanzo@hooked.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Alex D. Chen
+ <email>dhchen@Canvas.dorm7.nccu.edu.tw</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Alex G. Bulushev <email>bag@demos.su</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Alex Le Heux <email>alexlh@funk.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Alexander B. Povolotsky <email>tarkhil@mgt.msk.ru</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Alexander Leidinger
+ <email>netchild@wurzelausix.CS.Uni-SB.DE</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Alexandre Snarskii <email>snar@paranoia.ru</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Alistair G. Crooks <email>agc@uts.amdahl.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Allan Saddi <email>asaddi@philosophysw.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Allen Campbell <email>allenc@verinet.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Amakawa Shuhei <email>amakawa@hoh.t.u-tokyo.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Amancio Hasty <email>hasty@star-gate.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Amir Farah <email>amir@comtrol.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Amy Baron <email>amee@beer.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Anatoly A. Orehovsky <email>tolik@mpeks.tomsk.su</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Anatoly Vorobey <email>mellon@pobox.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Anders Nordby <email>nickerne@nome.no</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Anders Thulin <email>Anders.X.Thulin@telia.se</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andras Olah <email>olah@cs.utwente.nl</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andre Albsmeier
+ <email>Andre.Albsmeier@mchp.siemens.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andre Oppermann <email>andre@pipeline.ch</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andreas Haakh <email>ah@alman.robin.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andreas Kohout <email>shanee@rabbit.augusta.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andreas Lohr <email>andreas@marvin.RoBIN.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andreas Schulz <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andreas Wetzel <email>mickey@deadline.snafu.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andreas Wrede <email>andreas@planix.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andres Vega Garcia <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andrew Atrens <email>atreand@statcan.ca</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andrew Gillham <email>gillham@andrews.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andrew Gordon <email>andrew.gordon@net-tel.co.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andrew Herbert <email>andrew@werple.apana.org.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andrew J. Korty <email>ajk@purdue.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andrew L. Moore <email>alm@mclink.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andrew McRae <email>amcrae@cisco.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andrew Stevenson <email>andrew@ugh.net.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andrew Timonin <email>tim@pool1.convey.ru</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andrew V. Stesin <email>stesin@elvisti.kiev.ua</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andrew Webster <email>awebster@dataradio.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andrey Zakhvatov <email>andy@icc.surw.chel.su</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andy Farkas <email>andyf@speednet.com.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andy Valencia <email>ajv@csd.mot.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andy Whitcroft <email>andy@sarc.city.ac.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Angelo Turetta <email>ATuretta@stylo.it</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Anthony C. Chavez <email>magus@xmission.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Anthony Yee-Hang Chan <email>yeehang@netcom.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Anton Berezin <email>tobez@plab.ku.dk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Antti Kaipila <email>anttik@iki.fi</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Are Bryne <email>are.bryne@communique.no</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ari Suutari <email>ari@suutari.iki.fi</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Arjan de Vet <email>devet@IAEhv.nl</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Arne Henrik Juul <email>arnej@Lise.Unit.NO</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Assar Westerlund <email>assar@sics.se</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Atsushi Furuta <email>furuta@sra.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Atsushi Murai <email>amurai@spec.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Bakul Shah <email>bvs@bitblocks.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Barry Bierbauch <email>pivrnec@vszbr.cz</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Barry Lustig <email>barry@ictv.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ben Hutchinson <email>benhutch@xfiles.org.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ben Jackson <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ben Smithurst <email>ben@scientia.demon.co.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ben Walter <email>bwalter@itachi.swcp.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Benjamin Lewis <email>bhlewis@gte.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Bernd Rosauer <email>br@schiele-ct.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Bill Kish <email>kish@osf.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Bill Trost <email>trost@cloud.rain.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Blaz Zupan <email>blaz@amis.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Bob Van Valzah <email>Bob@whitebarn.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Bob Willcox <email>bob@luke.pmr.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Boris Staeblow <email>balu@dva.in-berlin.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Boyd R. Faulkner <email>faulkner@asgard.bga.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Brad Karp <email>karp@eecs.harvard.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Bradley Dunn <email>bradley@dunn.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Brandon Gillespie <email>brandon@roguetrader.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>&a.wlloyd</para>
+ </listitem>
+
+ <listitem>
+ <para>Bob Wilcox <email>bob@obiwan.uucp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Boyd Faulkner <email>faulkner@mpd.tandem.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Brent J. Nordquist <email>bjn@visi.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Brett Lymn <email>blymn@mulga.awadi.com.AU</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Brett Taylor
+ <email>brett@peloton.physics.montana.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Brian Campbell <email>brianc@pobox.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Brian Clapper <email>bmc@willscreek.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Brian Cully <email>shmit@kublai.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Brian F. Feldman <email>green@unixhelp.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Brian Handy
+ <email>handy@lambic.space.lockheed.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Brian Litzinger <email>brian@MediaCity.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Brian McGovern <email>bmcgover@cisco.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Brian Moore <email>ziff@houdini.eecs.umich.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Brian R. Haug <email>haug@conterra.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Brian Tao <email>taob@risc.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Brion Moss <email>brion@queeg.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Bruce A. Mah <email>bmah@ca.sandia.gov</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Bruce Albrecht <email>bruce@zuhause.mn.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Bruce Gingery <email>bgingery@gtcs.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Bruce J. Keeler <email>loodvrij@gridpoint.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Bruce Murphy <email>packrat@iinet.net.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Bruce Walter <email>walter@fortean.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Carey Jones <email>mcj@acquiesce.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Carl Fongheiser <email>cmf@netins.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Carl Mascott <email>cmascott@world.std.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Casper <email>casper@acc.am</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Castor Fu <email>castor@geocast.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Cejka Rudolf <email>cejkar@dcse.fee.vutbr.cz</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Chain Lee <email>chain@110.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Charles Hannum <email>mycroft@ai.mit.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Charles Henrich <email>henrich@msu.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Charles Mott <email>cmott@srv.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Charles Owens <email>owensc@enc.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Chet Ramey <email>chet@odin.INS.CWRU.Edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Chia-liang Kao <email>clkao@CirX.ORG</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Chiharu Shibata <email>chi@bd.mbn.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Chip Norkus <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Choi Jun Ho <email>junker@jazz.snu.ac.kr</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Chris Csanady <email>cc@tarsier.ca.sandia.gov</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Chris Dabrowski <email>chris@vader.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Chris Dillon <email>cdillon@wolves.k12.mo.us</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Chris Piazza <email>cpiazza@home.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Chris Shenton
+ <email>cshenton@angst.it.hq.nasa.gov</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Chris Stenton <email>jacs@gnome.co.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Chris Timmons <email>skynyrd@opus.cts.cwu.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Chris Torek <email>torek@ee.lbl.gov</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Christian Gusenbauer
+ <email>cg@fimp01.fim.uni-linz.ac.at</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Christian Haury <email>Christian.Haury@sagem.fr</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Christian Weisgerber
+ <email>naddy@bigeye.rhein-neckar.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Christoph P. Kukulies <email>kuku@FreeBSD.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Christoph Robitschko
+ <email>chmr@edvz.tu-graz.ac.at</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Christoph Weber-Fahr
+ <email>wefa@callcenter.systemhaus.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Christopher G. Demetriou
+ <email>cgd@postgres.berkeley.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Christopher T. Johnson
+ <email>cjohnson@neunacht.netgsi.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Chrisy Luke <email>chrisy@flix.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Chuck Hein <email>chein@cisco.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Clive Lin <email>clive@CiRX.ORG</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Colman Reilly <email>careilly@tcd.ie</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Conrad Sabatier <email>conrads@neosoft.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Coranth Gryphon <email>gryphon@healer.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Cornelis van der Laan
+ <email>nils@guru.ims.uni-stuttgart.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Cove Schneider <email>cove@brazil.nbn.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Craig Leres <email>leres@ee.lbl.gov</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Craig Loomis <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Craig Metz <email>cmetz@inner.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Craig Spannring <email>cts@internetcds.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Craig Struble <email>cstruble@vt.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Cristian Ferretti <email>cfs@riemann.mat.puc.cl</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Curt Mayer <email>curt@toad.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Cy Schubert <email>cschuber@uumail.gov.bc.ca</email></para>
+ </listitem>
+
+ <listitem>
+ <para>DI. Christian Gusenbauer
+ <email>cg@scotty.edvz.uni-linz.ac.at</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dai Ishijima <email>ishijima@tri.pref.osaka.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Damian Hamill <email>damian@cablenet.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dan Cross <email>tenser@spitfire.ecsel.psu.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dan Lukes <email>dan@obluda.cz</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dan Nelson <email>dnelson@emsphone.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dan Walters <email>hannibal@cyberstation.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Daniel Baker <email>dbaker@crash.ops.neosoft.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Daniel M. Eischen
+ <email>deischen@iworks.InterWorks.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Daniel O'Connor <email>doconnor@gsoft.com.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Daniel Poirot <email>poirot@aio.jsc.nasa.gov</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Daniel Rock <email>rock@cs.uni-sb.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Danny Egen <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Danny J. Zerkel <email>dzerkel@phofarm.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Darren Reed <email>avalon@coombs.anu.edu.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dave Adkins <email>adkin003@tc.umn.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dave Andersen <email>angio@aros.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dave Blizzard <email>dblizzar@sprynet.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dave Bodenstab <email>imdave@synet.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dave Burgess <email>burgess@hrd769.brooks.af.mil</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dave Chapeskie <email>dchapes@ddm.on.ca</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dave Cornejo <email>dave@dogwood.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dave Edmondson <email>davided@sco.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dave Glowacki <email>dglo@ssec.wisc.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dave Marquardt <email>marquard@austin.ibm.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dave Tweten <email>tweten@FreeBSD.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>David A. Adkins <email>adkin003@tc.umn.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>David A. Bader <email>dbader@umiacs.umd.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>David Borman <email>dab@bsdi.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>David Dawes <email>dawes@XFree86.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>David Filo <email>filo@yahoo.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>David Holland <email>dholland@eecs.harvard.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>David Holloway <email>daveh@gwythaint.tamis.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>David Horwitt <email>dhorwitt@ucsd.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>David Hovemeyer <email>daveho@infocom.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>David Jones <email>dej@qpoint.torfree.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>David Kelly <email>dkelly@tomcat1.tbe.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>David Kulp <email>dkulp@neomorphic.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>David L. Nugent <email>davidn@blaze.net.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>David Leonard <email>d@scry.dstc.edu.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>David Malone <email>dwmalone@maths.tcd.ie</email></para>
+ </listitem>
+
+ <listitem>
+ <para>David Muir Sharnoff <email>muir@idiom.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>David S. Miller <email>davem@jenolan.rutgers.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>David Wolfskill <email>dhw@whistle.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dean Gaudet <email>dgaudet@arctic.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dean Huxley <email>dean@fsa.ca</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Denis Fortin <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dennis Glatting
+ <email>dennis.glatting@software-munitions.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Denton Gentry <email>denny1@home.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Derek Inksetter <email>derek@saidev.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dima Sivachenko <email>dima@Chg.RU</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dirk Keunecke <email>dk@panda.rhein-main.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dirk Nehrling <email>nerle@pdv.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dmitry Khrustalev <email>dima@xyzzy.machaon.ru</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dmitry Kohmanyuk <email>dk@farm.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dom Mitchell <email>dom@myrddin.demon.co.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Don Croyle <email>croyle@gelemna.ft-wayne.in.us</email></para>
+ </listitem>
+
+ <listitem>
+ <para>&a.whiteside;</para>
+ </listitem>
+
+ <listitem>
+ <para>Don Morrison <email>dmorrisn@u.washington.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Don Yuniskis <email>dgy@rtd.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Donald Maddox <email>dmaddox@conterra.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Doug Barton <email>studded@dal.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Douglas Ambrisko <email>ambrisko@whistle.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Douglas Carmichael <email>dcarmich@mcs.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Douglas Crosher <email>dtc@scrooge.ee.swin.oz.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Drew Derbyshire <email>ahd@kew.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Duncan Barclay <email>dmlb@ragnet.demon.co.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dustin Sallings <email>dustin@spy.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Eckart "Isegrim" Hofmann
+ <email>Isegrim@Wunder-Nett.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ed Gold
+ <email>vegold01@starbase.spd.louisville.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ed Hudson <email>elh@p5.spnet.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Edward Wang <email>edward@edcom.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Edwin Groothus <email>edwin@nwm.wan.philips.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Eiji-usagi-MATSUmoto <email>usagi@clave.gr.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>ELISA Font Project</para>
+ </listitem>
+
+ <listitem>
+ <para>Elmar Bartel
+ <email>bartel@informatik.tu-muenchen.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Eric A. Griff <email>eagriff@global2000.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Eric Blood <email>eblood@cs.unr.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Eric J. Haug <email>ejh@slustl.slu.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Eric J. Schwertfeger <email>eric@cybernut.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Eric L. Hernes <email>erich@lodgenet.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Eric P. Scott <email>eps@sirius.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Eric Sprinkle <email>eric@ennovatenetworks.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Erich Stefan Boleyn <email>erich@uruk.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Erik E. Rantapaa <email>rantapaa@math.umn.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Erik H. Moe <email>ehm@cris.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ernst Winter <email>ewinter@lobo.muc.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Eugene M. Kim <email>astralblue@usa.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Eugene Radchenko <email>genie@qsar.chem.msu.su</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Evan Champion <email>evanc@synapse.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Faried Nawaz <email>fn@Hungry.COM</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Flemming Jacobsen <email>fj@tfs.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Fong-Ching Liaw <email>fong@juniper.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Francis M J Hsieh <email>mjshieh@life.nthu.edu.tw</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Frank Bartels <email>knarf@camelot.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Frank Chen Hsiung Chan
+ <email>frankch@waru.life.nthu.edu.tw</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Frank Durda IV <email>uhclem@nemesis.lonestar.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Frank MacLachlan <email>fpm@n2.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Frank Nobis <email>fn@Radio-do.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Frank Volf <email>volf@oasis.IAEhv.nl</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Frank ten Wolde <email>franky@pinewood.nl</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Frank van der Linden <email>frank@fwi.uva.nl</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Fred Cawthorne <email>fcawth@jjarray.umn.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Fred Gilham <email>gilham@csl.sri.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Fred Templin <email>templin@erg.sri.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Frederick Earl Gray <email>fgray@rice.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>FUJIMOTO Kensaku
+ <email>fujimoto@oscar.elec.waseda.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>FUJISHIMA Satsuki <email>k5@respo.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>FURUSAWA Kazuhisa
+ <email>furusawa@com.cs.osakafu-u.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Gabor Kincses <email>gabor@acm.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Gabor Zahemszky <email>zgabor@CoDe.hu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Garance A Drosehn <email>gad@eclipse.its.rpi.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Gareth McCaughan <email>gjm11@dpmms.cam.ac.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Gary A. Browning <email>gab10@griffcd.amdahl.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Gary Howland <email>gary@hotlava.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Gary J. <email>garyj@rks32.pcs.dec.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Gary Kline <email>kline@thought.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Gaspar Chilingarov <email>nightmar@lemming.acc.am</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Gea-Suan Lin <email>gsl@tpts4.seed.net.tw</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Geoff Rehmet <email>csgr@alpha.ru.ac.za</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Georg Wagner <email>georg.wagner@ubs.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Gerard Roudier <email>groudier@club-internet.fr</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Gianmarco Giovannelli
+ <email>gmarco@giovannelli.it</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Gil Kloepfer Jr. <email>gil@limbic.ssdl.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Gilad Rom <email>rom_glsa@ein-hashofet.co.il</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ginga Kawaguti
+ <email>ginga@amalthea.phys.s.u-tokyo.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Giles Lean <email>giles@nemeton.com.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Glen Foster <email>gfoster@gfoster.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Glenn Johnson <email>gljohns@bellsouth.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Godmar Back <email>gback@facility.cs.utah.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Goran Hammarback <email>goran@astro.uu.se</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Gord Matzigkeit <email>gord@enci.ucalgary.ca</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Graham Wheeler <email>gram@cdsec.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Greg A. Woods <email>woods@zeus.leitch.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Greg Ansley <email>gja@ansley.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Greg Troxel <email>gdt@ir.bbn.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Greg Ungerer <email>gerg@stallion.oz.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Gregory Bond <email>gnb@itga.com.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Gregory D. Moncreaff
+ <email>moncrg@bt340707.res.ray.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Guy Harris <email>guy@netapp.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Guy Helmer <email>ghelmer@cs.iastate.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>HAMADA Naoki <email>hamada@astec.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>HONDA Yasuhiro
+ <email>honda@kashio.info.mie-u.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>HOSOBUCHI Noriyuki <email>hoso@buchi.tama.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Hannu Savolainen <email>hannu@voxware.pp.fi</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Hans Huebner <email>hans@artcom.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Hans Petter Bieker <email>zerium@webindex.no</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Hans Zuidam <email>hans@brandinnovators.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Harlan Stenn <email>Harlan.Stenn@pfcs.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Harold Barker <email>hbarker@dsms.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Havard Eidnes
+ <email>Havard.Eidnes@runit.sintef.no</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Heikki Suonsivu <email>hsu@cs.hut.fi</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Heiko W. Rupp <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Helmut F. Wirth <email>hfwirth@ping.at</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Henrik Vestergaard Draboel
+ <email>hvd@terry.ping.dk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Herb Peyerl <email>hpeyerl@NetBSD.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Hideaki Ohmon <email>ohmon@tom.sfc.keio.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Hidekazu Kuroki <email>hidekazu@cs.titech.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Hideki Yamamoto <email>hyama@acm.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Hidetoshi Shimokawa
+ <email>simokawa@sat.t.u-tokyo.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Hideyuki Suzuki
+ <email>hideyuki@sat.t.u-tokyo.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Hirayama Issei <email>iss@mail.wbs.ne.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Hiroaki Sakai <email>sakai@miya.ee.kagu.sut.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Hiroharu Tamaru <email>tamaru@ap.t.u-tokyo.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Hironori Ikura <email>hikura@kaisei.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Hiroshi Nishikawa <email>nis@pluto.dti.ne.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Hiroya Tsubakimoto <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Hiroyuki NAKAJI
+ <email>nakaji@zeisei3.dpri.kyoto-u.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Holger Veit <email>Holger.Veit@gmd.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Holm Tiffe <email>holm@geophysik.tu-freiberg.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Horance Chou
+ <email>horance@freedom.ie.cycu.edu.tw</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Horihiro Kumagaio <email>kuma@jp.freebsd.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Horikawa Kazuo <email>k-horik@mail.yk.rim.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Hr.Ladavac <email>lada@ws2301.gud.siemens.co.at</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Hubert Feyrer <email>hubertf@NetBSD.ORG</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Hugh F. Mahon <email>hugh@nsmdserv.cnd.hp.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Hugh Mahon <email>h_mahon@fc.hp.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Hung-Chi Chu <email>hcchu@r350.ee.ntu.edu.tw</email></para>
+ </listitem>
+
+ <listitem>
+ <para>IMAI Takeshi <email>take-i@ceres.dti.ne.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>IMAMURA Tomoaki
+ <email>tomoak-i@is.aist-nara.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ian Dowse <email>iedowse@maths.tcd.ie</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ian Holland <email>ianh@tortuga.com.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ian Struble <email>ian@broken.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ian Vaudrey <email>i.vaudrey@bigfoot.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Igor Khasilev <email>igor@jabber.paco.odessa.ua</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Igor Roshchin <email>str@giganda.komkon.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Igor Sviridov <email>siac@ua.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Igor Vinokurov <email>igor@zynaps.ru</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ikuo Nakagawa <email>ikuo@isl.intec.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ilya V. Komarov <email>mur@lynx.ru</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Issei Suzuki <email>issei@jp.FreeBSD.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Itsuro Saito <email>saito@miv.t.u-tokyo.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>J. Bryant <email>jbryant@argus.flash.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>J. David Lowe <email>lowe@saturn5.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>J. Han <email>hjh@best.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>J. Hawk <email>jhawk@MIT.EDU</email></para>
+ </listitem>
+
+ <listitem>
+ <para>J.T. Conklin <email>jtc@cygnus.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>J.T. Jang <email>keith@email.gcn.net.tw</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jack <email>jack@zeus.xtalwind.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jacob Bohn Lorensen <email>jacob@jblhome.ping.mk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jagane D Sundar <email>jagane@netcom.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jake Hamby <email>jehamby@lightside.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>James Clark <email>jjc@jclark.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>James D. Stewart <email>jds@c4systm.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>James Jegers <email>jimj@miller.cs.uwm.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>James Raynard
+ <email>fhackers@jraynard.demon.co.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>James T. Liu <email>jtliu@phlebas.rockefeller.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>James da Silva <email>jds@cs.umd.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jan Conard
+ <email>charly@fachschaften.tu-muenchen.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jan Koum <email>jkb@FreeBSD.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Janick Taillandier
+ <email>Janick.Taillandier@ratp.fr</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Janusz Kokot <email>janek@gaja.ipan.lublin.pl</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jarle Greipsland <email>jarle@idt.unit.no</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jason Garman <email>init@risen.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jason Thorpe <email>thorpej@NetBSD.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jason Wright <email>jason@OpenBSD.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jason Young
+ <email>doogie@forbidden-donut.anet-stl.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Javier Martin Rueda <email>jmrueda@diatel.upm.es</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jay Fenlason <email>hack@datacube.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jaye Mathisen <email>mrcpu@cdsnet.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jeff Bartig <email>jeffb@doit.wisc.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jeff Forys <email>jeff@forys.cranbury.nj.us</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jeff Kletsky <email>Jeff@Wagsky.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jeffrey Evans <email>evans@scnc.k12.mi.us</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jeffrey Wheat <email>jeff@cetlink.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jens Schweikhardt
+ <email>schweikh@ito.uni-stuttgart.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jeremy Allison <email>jallison@whistle.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jeremy Chatfield <email>jdc@xinside.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jeremy Lea <email>reg@shale.csir.co.za</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jeremy Prior <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jeroen Ruigrok/Asmodai <email>asmodai@wxs.nl</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jesse Rosenstock <email>jmr@ugcs.caltech.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jian-Da Li <email>jdli@csie.nctu.edu.tw</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jim Babb <email>babb@FreeBSD.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jim Binkley <email>jrb@cs.pdx.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jim Carroll <email>jim@carroll.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jim Flowers <email>jflowers@ezo.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jim Leppek <email>jleppek@harris.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jim Lowe <email>james@cs.uwm.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jim Mattson <email>jmattson@sonic.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jim Mercer <email>jim@komodo.reptiles.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jim Mock <email>jim@phrantic.phear.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jim Wilson <email>wilson@moria.cygnus.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jimbo Bahooli
+ <email>griffin@blackhole.iceworld.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jin Guojun <email>jin@george.lbl.gov</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Joachim Kuebart <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Joao Carlos Mendes Luis <email>jonny@jonny.eng.br</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jochen Pohl <email>jpo.drs@sni.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Joe "Marcus" Clarke <email>marcus@miami.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Joe Abley <email>jabley@clear.co.nz</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Joe Jih-Shian Lu <email>jslu@dns.ntu.edu.tw</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Joe Orthoefer <email>j_orthoefer@tia.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Joe Traister <email>traister@mojozone.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Joel Faedi <email>Joel.Faedi@esial.u-nancy.fr</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Joel Ray Holveck <email>joelh@gnu.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Joel Sutton <email>sutton@aardvark.apana.org.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Johan Granlund <email>johan@granlund.nu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Johan Karlsson <email>k@numeri.campus.luth.se</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Johan Larsson <email>johan@moon.campus.luth.se</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Johann Tonsing <email>jtonsing@mikom.csir.co.za</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Johannes Helander <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Johannes Stille <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>John Baldwin <email>jobaldwi@vt.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>John Beckett <email>jbeckett@southern.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>John Beukema <email>jbeukema@hk.super.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>John Brezak <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>John Capo <email>jc@irbs.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>John F. Woods <email>jfw@jfwhome.funhouse.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>John Goerzen
+ <email>jgoerzen@alexanderwohl.complete.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>John Hay <email>jhay@mikom.csir.co.za</email></para>
+ </listitem>
+
+ <listitem>
+ <para>John Heidemann <email>johnh@isi.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>John Hood <email>cgull@owl.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>John Kohl <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>John Lind <email>john@starfire.mn.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>John Mackin <email>john@physiol.su.oz.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>John P <email>johnp@lodgenet.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>John Perry <email>perry@vishnu.alias.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>John Preisler <email>john@vapornet.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>John Rochester <email>jr@cs.mun.ca</email></para>
+ </listitem>
+
+ <listitem>
+ <para>John Sadler <email>john_sadler@alum.mit.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>John Saunders <email>john@pacer.nlc.net.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>John W. DeBoskey <email>jwd@unx.sas.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>John Wehle <email>john@feith.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>John Woods <email>jfw@eddie.mit.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jon Morgan <email>morgan@terminus.trailblazer.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jonathan H N Chin <email>jc254@newton.cam.ac.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jonathan Hanna
+ <email>jh@pc-21490.bc.rogers.wave.ca</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jorge Goncalves <email>j@bug.fe.up.pt</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jorge M. Goncalves <email>ee96199@tom.fe.up.pt</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jos Backus <email>jbackus@plex.nl</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jose M. Alcaide <email>jose@we.lc.ehu.es</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Josef Grosch
+ <email>jgrosch@superior.mooseriver.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Josef Karthauser <email>joe@uk.freebsd.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Joseph Stein <email>joes@seaport.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Josh Gilliam <email>josh@quick.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Josh Tiefenbach <email>josh@ican.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Juergen Lock <email>nox@jelal.hb.north.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Juha Inkari <email>inkari@cc.hut.fi</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jukka A. Ukkonen <email>jua@iki.fi</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Julian Assange <email>proff@suburbia.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Julian Coleman <email>j.d.coleman@ncl.ac.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Julian H. Stacey <email>jhs@freebsd.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Julian Jenkins <email>kaveman@magna.com.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Junichi Satoh <email>junichi@jp.freebsd.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Junji SAKAI <email>sakai@jp.freebsd.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Junya WATANABE <email>junya-w@remus.dti.ne.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>K.Higashino <email>a00303@cc.hc.keio.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>KUNISHIMA Takeo <email>kunishi@c.oka-pu.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kai Vorma <email>vode@snakemail.hut.fi</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kaleb S. Keithley <email>kaleb@ics.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kaneda Hiloshi <email>vanitas@ma3.seikyou.ne.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kapil Chowksey <email>kchowksey@hss.hns.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Karl Denninger <email>karl@mcs.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Karl Dietz <email>Karl.Dietz@triplan.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Karl Lehenbauer <email>karl@NeoSoft.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kato Takenori
+ <email>kato@eclogite.eps.nagoya-u.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kauzo Horikawa <email>h-horik@yk.rim.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kawanobe Koh <email>kawanobe@st.rim.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kazuhiko Kiriyama <email>kiri@kiri.toba-cmt.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kazuo Horikawa <email>horikawa@jp.FreeBSD.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kees Jan Koster <email>kjk1@ukc.ac.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Keith Bostic <email>bostic@bostic.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Keith E. Walker <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Keith Moore <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Keith Sklower <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ken Hornstein <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ken Key <email>key@cs.utk.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ken Mayer <email>kmayer@freegate.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kenji Saito <email>marukun@mx2.nisiq.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kenji Tomita <email>tommyk@da2.so-net.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kenneth Furge <email>kenneth.furge@us.endress.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kenneth Monville <email>desmo@bandwidth.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kenneth R. Westerback <email>krw@tcn.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kenneth Stailey <email>kstailey@gnu.ai.mit.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kent Talarico <email>kent@shipwreck.tsoft.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kent Vander Velden <email>graphix@iastate.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kentaro Inagaki <email>JBD01226@niftyserve.ne.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kevin Bracey <email>kbracey@art.acorn.co.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kevin Day <email>toasty@dragondata.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kevin Lahey <email>kml@nas.nasa.gov</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kevin Street <email>street@iname.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kevin Van Maren <email>vanmaren@fast.cs.utah.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kiroh HARADA <email>kiroh@kh.rim.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Klaus Klein <email>kleink@layla.inka.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Klaus-J. Wolf <email>Yanestra@t-online.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Koichi Sato <email>copan@ppp.fastnet.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kostya Lukin <email>lukin@okbmei.msk.su</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kouichi Hirabayashi <email>kh@mogami-wire.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kurt D. Zeilenga <email>Kurt@Boolean.NET</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kurt Olsen <email>kurto@tiny.mcs.usu.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>L. Jonas Olsson
+ <email>ljo@ljo-slip.DIALIN.CWRU.Edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Lars K&ouml;ller
+ <email>Lars.Koeller@Uni-Bielefeld.DE</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Larry Altneu <email>larry@ALR.COM</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Laurence Lopez <email>lopez@mv.mv.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Lee Cremeans <email>lcremean@tidalwave.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Liang Tai-hwa
+ <email>avatar@www.mmlab.cse.yzu.edu.tw</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Lon Willett <email>lon%softt.uucp@math.utah.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Louis A. Mamakos <email>louie@TransSys.COM</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Louis Mamakos <email>loiue@TransSys.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Lucas James <email>Lucas.James@ldjpc.apana.org.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Lyndon Nerenberg <email>lyndon@orthanc.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>M.C. Wong <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>MANTANI Nobutaka <email>nobutaka@nobutaka.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>MIHIRA Sanpei Yoshiro <email>sanpei@sanpei.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>MITA Yoshio <email>mita@jp.FreeBSD.ORG</email></para>
+ </listitem>
+
+ <listitem>
+ <para>MITSUNAGA Noriaki
+ <email>mitchy@er.ams.eng.osaka-u.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>MOROHOSHI Akihiko <email>moro@race.u-tokyo.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Magnus Enbom <email>dot@tinto.campus.luth.se</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mahesh Neelakanta <email>mahesh@gcomm.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Makoto MATSUSHITA <email>matusita@jp.freebsd.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Makoto WATANABE
+ <email>watanabe@zlab.phys.nagoya-u.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Malte Lance <email>malte.lance@gmx.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Manu Iyengar
+ <email>iyengar@grunthos.pscwa.psca.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Marc Frajola <email>marc@dev.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Marc Ramirez <email>mrami@mramirez.sy.yale.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Marc Slemko <email>marcs@znep.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Marc van Kempen <email>wmbfmk@urc.tue.nl</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Marcel Moolenaar <email>marcel@scc.nl</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mario Sergio Fujikawa Ferreira
+ <email>lioux@gns.com.br</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mark Andrews <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mark Cammidge <email>mark@gmtunx.ee.uct.ac.za</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mark Diekhans <email>markd@grizzly.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mark Huizer <email>xaa@stack.nl</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mark J. Taylor <email>mtaylor@cybernet.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mark Krentel <email>krentel@rice.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mark Mayo <email>markm@vmunix.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mark Thompson <email>thompson@tgsoft.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mark Tinguely <email>tinguely@plains.nodak.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mark Treacy <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mark Valentine <email>mark@linus.demon.co.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Martin Birgmeier</para>
+ </listitem>
+
+ <listitem>
+ <para>Martin Ibert <email>mib@ppe.bb-data.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Martin Kammerhofer <email>dada@sbox.tu-graz.ac.at</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Martin Renters <email>martin@tdc.on.ca</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Martti Kuparinen
+ <email>erakupa@kk.etx.ericsson.se</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Masachika ISHIZUKA
+ <email>ishizuka@isis.min.ntt.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mas.TAKEMURA <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Masafumi NAKANE <email>max@wide.ad.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Masahiro Sekiguchi
+ <email>seki@sysrap.cs.fujitsu.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Masanobu Saitoh <email>msaitoh@spa.is.uec.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Masanori Kanaoka <email>kana@saijo.mke.mei.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Masanori Kiriake <email>seiken@ncs.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Masatoshi TAMURA
+ <email>tamrin@shinzan.kuee.kyoto-u.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mats Lofkvist <email>mal@algonet.se</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Matt Bartley <email>mbartley@lear35.cytex.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Matt Thomas <email>matt@3am-software.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Matt White <email>mwhite+@CMU.EDU</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Matthew C. Mead <email>mmead@Glock.COM</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Matthew Cashdollar <email>mattc@rfcnet.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Matthew Flatt <email>mflatt@cs.rice.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Matthew Fuller <email>fullermd@futuresouth.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Matthew N. Dodd <email>winter@jurai.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Matthew Stein <email>matt@bdd.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Matthias Pfaller <email>leo@dachau.marco.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Matthias Scheler <email>tron@netbsd.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mattias Gronlund
+ <email>Mattias.Gronlund@sa.erisoft.se</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mattias Pantzare <email>pantzer@ludd.luth.se</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Maurice Castro
+ <email>maurice@planet.serc.rmit.edu.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Max Euston <email>meuston@jmrodgers.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Max Khon <email>fjoe@husky.iclub.nsu.ru</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Maxim Bolotin <email>max@rsu.ru</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Micha Class
+ <email>michael_class@hpbbse.bbn.hp.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Michael Butler <email>imb@scgt.oz.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Michael Butschky <email>butsch@computi.erols.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Michael Clay <email>mclay@weareb.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Michael Elbel <email>me@FreeBSD.ORG</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Michael Galassi <email>nerd@percival.rain.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Michael Hancock <email>michaelh@cet.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Michael Hohmuth <email>hohmuth@inf.tu-dresden.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Michael Perlman <email>canuck@caam.rice.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Michael Petry <email>petry@netwolf.NetMasters.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Michael Reifenberger <email>root@totum.plaut.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Michael Searle <email>searle@longacre.demon.co.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Michal Listos <email>mcl@Amnesiac.123.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Michio Karl Jinbo
+ <email>karl@marcer.nagaokaut.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Miguel Angel Sagreras
+ <email>msagre@cactus.fi.uba.ar</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mihoko Tanaka <email>m_tonaka@pa.yokogawa.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mika Nystrom <email>mika@cs.caltech.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mikael Hybsch <email>micke@dynas.se</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mikael Karpberg
+ <email>karpen@ocean.campus.luth.se</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mike Del <email>repenting@hotmail.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mike Durian <email>durian@plutotech.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mike Durkin <email>mdurkin@tsoft.sf-bay.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mike E. Matsnev <email>mike@azog.cs.msu.su</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mike Evans <email>mevans@candle.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mike Grupenhoff <email>kashmir@umiacs.umd.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mike Hibler <email>mike@marker.cs.utah.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mike Karels <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mike McGaughey <email>mmcg@cs.monash.edu.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mike Meyer <email>mwm@shiva.the-park.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mike Mitchell <email>mitchell@ref.tfs.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mike Murphy <email>mrm@alpharel.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mike Peck <email>mike@binghamton.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mike Spengler <email>mks@msc.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mikhail A. Sokolov <email>mishania@demos.su</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mikhail Teterin <email>mi@aldan.ziplink.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ming-I Hseh <email>PA@FreeBSD.ee.Ntu.edu.TW</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mitsuru IWASAKI <email>iwasaki@pc.jaring.my</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Monte Mitzelfelt <email>monte@gonefishing.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Morgan Davis <email>root@io.cts.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mostyn Lewis <email>mostyn@mrl.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Motoyuki Kasahara <email>m-kasahr@sra.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Motoyuki Konno <email>motoyuki@snipe.rim.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Munechika Sumikawa <email>sumikawa@kame.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Murray Stokely <email>murray@cdrom.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>N.G.Smith <email>ngs@sesame.hensa.ac.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>NAGAO Tadaaki <email>nagao@cs.titech.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>NAKAJI Hiroyuki
+ <email>nakaji@zeisei.dpri.kyoto-u.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>NAKAMURA Kazushi <email>nkazushi@highway.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>NAKAMURA Motonori
+ <email>motonori@econ.kyoto-u.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>NIIMI Satoshi <email>sa2c@and.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>NOKUBI Hirotaka <email>h-nokubi@yyy.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Nadav Eiron <email>nadav@barcode.co.il</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Nanbor Wang <email>nw1@cs.wustl.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Naofumi Honda
+ <email>honda@Kururu.math.sci.hokudai.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Naoki Hamada <email>nao@tom-yam.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Narvi <email>narvi@haldjas.folklore.ee</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Nathan Dorfman <email>nathan@rtfm.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Neal Fachan <email>kneel@ishiboo.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Neil Blakey-Milner <email>nbm@rucus.ru.ac.za</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Niall Smart <email>rotel@indigo.ie</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Nick Barnes <email>Nick.Barnes@pobox.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Nick Handel <email>nhandel@NeoSoft.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Nick Hilliard <email>nick@foobar.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Nick Sayer <email>nsayer@quack.kfu.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Nick Williams <email>njw@cs.city.ac.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Nickolay N. Dudorov <email>nnd@itfs.nsk.su</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Niklas Hallqvist <email>niklas@filippa.appli.se</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Nisha Talagala <email>nisha@cs.berkeley.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>ZW6T-KND@j.asahi-net.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>adrian@virginia.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>alex@elvisti.kiev.ua</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>anto@netscape.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>bobson@egg.ics.nitch.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>bovynf@awe.be</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>burg@is.ge.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>chris@gnome.co.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>colsen@usa.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>coredump@nervosa.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>dannyman@arh0300.urh.uiuc.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>davids@SECNET.COM</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>derek@free.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>devet@adv.IAEhv.nl</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>djv@bedford.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>dvv@sprint.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>enami@ba2.so-net.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>flash@eru.tubank.msk.su</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>flash@hway.ru</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>fn@pain.csrv.uidaho.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>gclarkii@netport.neosoft.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>gordon@sheaky.lonestar.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>graaf@iae.nl</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>greg@greg.rim.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>grossman@cygnus.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>gusw@fub46.zedat.fu-berlin.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>hfir@math.rochester.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>hnokubi@yyy.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>iaint@css.tuu.utas.edu.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>invis@visi.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>ishisone@sra.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>iverson@lionheart.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>jpt@magic.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>junker@jazz.snu.ac.kr</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>k-sugyou@ccs.mt.nec.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>kenji@reseau.toyonaka.osaka.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>kfurge@worldnet.att.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>lh@aus.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>lhecking@nmrc.ucc.ie</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>mrgreen@mame.mu.oz.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>nakagawa@jp.freebsd.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>ohki@gssm.otsuka.tsukuba.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>owaki@st.rim.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>pechter@shell.monmouth.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>pete@pelican.pelican.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>pritc003@maroon.tc.umn.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>risner@stdio.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>roman@rpd.univ.kiev.ua</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>root@ns2.redline.ru</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>root@uglabgw.ug.cs.sunysb.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>stephen.ma@jtec.com.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>sumii@is.s.u-tokyo.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>takas-su@is.aist-nara.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>tamone@eig.unige.ch</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>tjevans@raleigh.ibm.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>tony-o@iij.ad.jp amurai@spec.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>torii@tcd.hitachi.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>uenami@imasy.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>uhlar@netlab.sk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>vode@hut.fi</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>wlloyd@mpd.ca</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>wlr@furball.wellsfargo.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>wmbfmk@urc.tue.nl</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>yamagata@nwgpc.kek.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>No Name <email>ziggy@ryan.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Nobuhiro Yasutomi <email>nobu@psrc.isac.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Nobuyuki Koganemaru
+ <email>kogane@koganemaru.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Norio Suzuki <email>nosuzuki@e-mail.ne.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Noritaka Ishizumi <email>graphite@jp.FreeBSD.ORG</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Noriyuki Soda <email>soda@sra.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Olaf Wagner <email>wagner@luthien.in-berlin.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Oleg Sharoiko <email>os@rsu.ru</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Oliver Breuninger <email>ob@seicom.NET</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Oliver Friedrichs <email>oliver@secnet.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Oliver Fromme
+ <email>oliver.fromme@heim3.tu-clausthal.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Oliver Laumann
+ <email>net@informatik.uni-bremen.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Oliver Oberdorf <email>oly@world.std.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Olof Johansson <email>offe@ludd.luth.se</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Osokin Sergey aka oZZ <email>ozz@freebsd.org.ru</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Pace Willisson <email>pace@blitz.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Paco Rosich <email>rosich@modico.eleinf.uv.es</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Palle Girgensohn <email>girgen@partitur.se</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Parag Patel <email>parag@cgt.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Pascal Pederiva <email>pascal@zuo.dec.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Pasvorn Boonmark <email>boonmark@juniper.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Patrick Gardella <email>patrick@cre8tivegroup.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Patrick Hausen <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Paul Antonov <email>apg@demos.su</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Paul F. Werkowski <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Paul Fox <email>pgf@foxharp.boston.ma.us</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Paul Koch <email>koch@thehub.com.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Paul Kranenburg <email>pk@NetBSD.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Paul Mackerras <email>paulus@cs.anu.edu.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Paul Popelka <email>paulp@uts.amdahl.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Paul S. LaFollette, Jr. <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Paul Saab <email>paul@mu.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Paul Sandys <email>myj@nyct.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Paul T. Root <email>proot@horton.iaces.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Paul Vixie <email>paul@vix.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Paulo Menezes <email>paulo@isr.uc.pt</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Paulo Menezes <email>pm@dee.uc.pt</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Pedro A M Vazquez <email>vazquez@IQM.Unicamp.BR</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Pedro Giffuni <email>giffunip@asme.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Pete Bentley <email>pete@demon.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Peter Childs <email>pjchilds@imforei.apana.org.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Peter Cornelius <email>pc@inr.fzk.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Peter Haight <email>peterh@prognet.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Peter Jeremy <email>perer.jeremy@alcatel.com.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Peter M. Chen <email>pmchen@eecs.umich.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Peter Much <email>peter@citylink.dinoex.sub.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Peter Olsson <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Peter Philipp <email>pjp@bsd-daemon.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Peter Stubbs <email>PETERS@staidan.qld.edu.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Phil Maker <email>pjm@cs.ntu.edu.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Phil Sutherland
+ <email>philsuth@mycroft.dialix.oz.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Phil Taylor <email>phil@zipmail.co.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Philip Musumeci <email>philip@rmit.edu.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Pierre Y. Dampure <email>pierre.dampure@k2c.co.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Pius Fischer <email>pius@ienet.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Pomegranate <email>daver@flag.blackened.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Powerdog Industries
+ <email>kevin.ruddy@powerdog.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>R. Kym Horsell</para>
+ </listitem>
+
+ <listitem>
+ <para>Rajesh Vaidheeswarran <email>rv@fore.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ralf Friedl <email>friedl@informatik.uni-kl.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Randal S. Masutani <email>randal@comtest.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Randall Hopper <email>rhh@ct.picker.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Randall W. Dean <email>rwd@osf.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Randy Bush <email>rbush@bainbridge.verio.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Reinier Bezuidenhout
+ <email>rbezuide@mikom.csir.co.za</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Remy Card <email>Remy.Card@masi.ibp.fr</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ricardas Cepas <email>rch@richard.eu.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Richard Henderson <email>richard@atheist.tamu.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Richard Hwang <email>rhwang@bigpanda.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Richard J Kuhns <email>rjk@watson.grauel.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Richard M. Neswold
+ <email>rneswold@drmemory.fnal.gov</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Richard Seaman, Jr. <email>dick@tar.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Richard Stallman <email>rms@gnu.ai.mit.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Richard Straka <email>straka@user1.inficad.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Richard Tobin <email>richard@cogsci.ed.ac.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Richard Wackerbarth <email>rkw@Dataplex.NET</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Richard Winkel <email>rich@math.missouri.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Richard Wiwatowski <email>rjwiwat@adelaide.on.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Rick Macklem <email>rick@snowhite.cis.uoguelph.ca</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Rick Macklin <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Rob Austein <email>sra@epilogue.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Rob Mallory <email>rmallory@qualcomm.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Rob Snow <email>rsnow@txdirect.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Robert Crowe <email>bob@speakez.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Robert D. Thrush <email>rd@phoenix.aii.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Robert Eckardt
+ <email>roberte@MEP.Ruhr-Uni-Bochum.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Robert Sanders <email>rsanders@mindspring.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Robert Sexton <email>robert@kudra.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Robert Shady <email>rls@id.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Robert Swindells <email>swindellsr@genrad.co.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Robert Watson <email>robert@cyrus.watson.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Robert Withrow <email>witr@rwwa.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Robert Yoder <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Robin Carey
+ <email>robin@mailgate.dtc.rankxerox.co.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Roger Hardiman <email>roger@cs.strath.ac.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Roland Jesse <email>jesse@cs.uni-magdeburg.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ron Bickers <email>rbickers@intercenter.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ron Lenk <email>rlenk@widget.xmission.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ronald Kuehn <email>kuehn@rz.tu-clausthal.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Rudolf Cejka <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ruslan Belkin <email>rus@home2.UA.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ruslan Ermilov <email>ru@ucb.crimea.ua</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ruslan Shevchenko <email>rssh@cam.grad.kiev.ua</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Russell L. Carter <email>rcarter@pinyon.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Russell Vincent <email>rv@groa.uct.ac.za</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ryan Younce <email>ryany@pobox.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>SANETO Takanori <email>sanewo@strg.sony.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>SAWADA Mizuki <email>miz@qb3.so-net.ne.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>SUGIMURA Takashi <email>sugimura@jp.FreeBSD.ORG</email></para>
+ </listitem>
+
+ <listitem>
+ <para>SURANYI Peter
+ <email>suranyip@jks.is.tsukuba.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Sakari Jalovaara <email>sja@tekla.fi</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Sam Hartman <email>hartmans@mit.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Samuel Lam <email>skl@ScalableNetwork.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Sander Vesik <email>sander@haldjas.folklore.ee</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Sandro Sigala <email>ssigala@globalnet.it</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Sascha Blank <email>blank@fox.uni-trier.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Sascha Wildner <email>swildner@channelz.GUN.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Satoh Junichi <email>junichi@astec.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Satoshi Taoka
+ <email>taoka@infonets.hiroshima-u.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Scot Elliott <email>scot@poptart.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Scot W. Hetzel <email>hetzels@westbend.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Scott A. Kenney <email>saken@rmta.ml.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Scott Blachowicz
+ <email>scott.blachowicz@seaslug.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Scott Burris <email>scott@pita.cns.ucla.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Scott Hazen Mueller <email>scott@zorch.sf-bay.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Scott Michel <email>scottm@cs.ucla.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Scott Reynolds <email>scott@clmqt.marquette.mi.us</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Sebastian Strollo <email>seb@erix.ericsson.se</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Seigou TANIMURA
+ <email>tanimura@naklab.dnj.ynu.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Serge A. Babkin <email>babkin@hq.icb.chel.su</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Serge V. Vakulenko <email>vak@zebub.msk.su</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Sergei Chechetkin
+ <email>csl@whale.sunbay.crimea.ua</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Sergei S. Laskavy <email>laskavy@pc759.cs.msu.su</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Sergey Gershtein <email>sg@mplik.ru</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Sergey Potapov <email>sp@alkor.ru</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Sergey Shkonda <email>serg@bcs.zp.ua</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Sergey V.Dorokhov <email>svd@kbtelecom.nalnet.ru</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Sergio Lenzi <email>lenzi@bsi.com.br</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Shaun Courtney <email>shaun@emma.eng.uct.ac.za</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Shawn M. Carey <email>smcarey@mailbox.syr.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Sheldon Hearn <email>axl@iafrica.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Shigio Yamaguchi <email>shigio@wafu.netgate.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Shunsuke Akiyama <email>akiyama@jp.freebsd.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Simon <email>simon@masi.ibp.fr</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Simon Burge <email>simonb@telstra.com.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Simon J Gerraty <email>sjg@melb.bull.oz.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Simon Marlow <email>simonm@dcs.gla.ac.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Simon Shapiro <email>shimon@simon-shapiro.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Sin'ichiro MIYATANI <email>siu@phaseone.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Slaven Rezic <email>eserte@cs.tu-berlin.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Soochon Radee <email>slr@mitre.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Soren Dayton <email>csdayton@midway.uchicago.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Soren Dossing <email>sauber@netcom.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Soren S. Jorvang <email>soren@dt.dk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Stefan Bethke <email>stb@hanse.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Stefan Eggers <email>seggers@semyam.dinoco.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Stefan Moeding <email>s.moeding@ndh.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Stefan Petri <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Stefan `Sec` Zehl <email>sec@42.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Steinar Haug <email>sthaug@nethelp.no</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Stephane E. Potvin <email>sepotvin@videotron.ca</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Stephane Legrand <email>stephane@lituus.fr</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Stephen Clawson
+ <email>sclawson@marker.cs.utah.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Stephen F. Combs <email>combssf@salem.ge.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Stephen Farrell <email>stephen@farrell.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Stephen Hocking <email>sysseh@devetir.qld.gov.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Stephen J. Roznowski <email>sjr@home.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Stephen McKay <email>syssgm@devetir.qld.gov.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Stephen Melvin <email>melvin@zytek.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Steve Bauer <email>sbauer@rock.sdsmt.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Steve Deering <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Steve Gerakines <email>steve2@genesis.tiac.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Steve Gericke <email>steveg@comtrol.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Steve Piette <email>steve@simon.chi.il.US</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Steve Schwarz <email>schwarz@alpharel.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Steven G. Kargl
+ <email>kargl@troutmask.apl.washington.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Steven H. Samorodin <email>samorodi@NUXI.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Steven McCanne <email>mccanne@cs.berkeley.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Steven Plite <email>splite@purdue.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Steven Wallace <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Stuart Henderson
+ <email>stuart@internationalschool.co.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Sue Blake <email>sue@welearn.com.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Sugiura Shiro <email>ssugiura@duo.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Sujal Patel <email>smpatel@wam.umd.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Sune Stjerneby <email>stjerneby@usa.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Suzuki Yoshiaki
+ <email>zensyo@ann.tama.kawasaki.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Tadashi Kumano <email>kumano@strl.nhk.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Taguchi Takeshi <email>taguchi@tohoku.iij.ad.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Takahashi Yoshihiro <email>nyan@dd.catv.ne.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Takahiro Yugawa <email>yugawa@orleans.rim.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Takanori Watanabe
+ <email>takawata@shidahara1.planet.sci.kobe-u.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Takashi Mega <email>mega@minz.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Takashi Uozu <email>j1594016@ed.kagu.sut.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Takayuki Ariga <email>a00821@cc.hc.keio.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Takeru NAIKI <email>naiki@bfd.es.hokudai.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Takeshi Amaike <email>amaike@iri.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Takeshi MUTOH <email>mutoh@info.nara-k.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Takeshi Ohashi
+ <email>ohashi@mickey.ai.kyutech.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Takeshi WATANABE
+ <email>watanabe@crayon.earth.s.kobe-u.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Takuya SHIOZAKI
+ <email>tshiozak@makino.ise.chuo-u.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Tatoku Ogaito <email>tacha@tera.fukui-med.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Tatsumi HOSOKAWA <email>hosokawa@jp.FreeBSD.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ted Buswell <email>tbuswell@mediaone.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ted Faber <email>faber@isi.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ted Lemon <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Terry Lambert <email>terry@lambert.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Terry Lee <email>terry@uivlsi.csl.uiuc.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Tetsuya Furukawa <email>tetsuya@secom-sis.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Theo de Raadt <email>deraadt@OpenBSD.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Thomas <email>thomas@mathematik.uni-Bremen.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Thomas D. Dean <email>tomdean@ix.netcom.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Thomas David Rivers <email>rivers@dignus.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Thomas G. McWilliams <email>tgm@netcom.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Thomas Gellekum
+ <email>thomas@ghpc8.ihf.rwth-aachen.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Thomas Graichen
+ <email>graichen@omega.physik.fu-berlin.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Thomas K&ouml;nig
+ <email>Thomas.Koenig@ciw.uni-karlsruhe.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Thomas Ptacek <email>unknown</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Thomas Stromberg <email>tstrombe@rtci.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Thomas Valentino Crimi
+ <email>tcrimi+@andrew.cmu.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Thomas Wintergerst <email>thomas@lemur.nord.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>&THORN;&oacute;r&eth;ur &Iacute;varsson
+ <email>totii@est.is</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Tim Kientzle <email>kientzle@netcom.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Tim Singletary
+ <email>tsingle@sunland.gsfc.nasa.gov</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Tim Wilkinson <email>tim@sarc.city.ac.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Timo J. Rinne <email>tri@iki.fi</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Todd Miller <email>millert@openbsd.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Tom <email>root@majestix.cmr.no</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Tom <email>tom@sdf.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Tom Gray - DCA <email>dcasba@rain.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Tom Hukins <email>tom@eborcom.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Tom Jobbins <email>tom@tom.tj</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Tom Pusateri <email>pusateri@juniper.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Tom Rush <email>tarush@mindspring.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Tom Samplonius <email>tom@misery.sdf.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Tomohiko Kurahashi
+ <email>kura@melchior.q.t.u-tokyo.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Tony Kimball <email>alk@Think.COM</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Tony Li <email>tli@jnx.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Tony Lynn <email>wing@cc.nsysu.edu.tw</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Torbjorn Granlund <email>tege@matematik.su.se</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Toshihiko ARAI <email>toshi@tenchi.ne.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Toshihiko SHIMOKAWA <email>toshi@tea.forus.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Toshihiro Kanda <email>candy@kgc.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Toshiomi Moriki
+ <email>Toshiomi.Moriki@ma1.seikyou.ne.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Trefor S. <email>trefor@flevel.co.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Trevor Blackwell <email>tlb@viaweb.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>URATA Shuichiro <email>s-urata@nmit.tmg.nec.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ugo Paternostro <email>paterno@dsi.unifi.it</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ulf Kieber <email>kieber@sax.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ulli Linzen <email>ulli@perceval.camelot.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ustimenko Semen <email>semen@iclub.nsu.ru</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Uwe Arndt <email>arndt@mailhost.uni-koblenz.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Vadim Chekan <email>vadim@gc.lviv.ua</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Vadim Kolontsov <email>vadim@tversu.ac.ru</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Vadim Mikhailov <email>mvp@braz.ru</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Van Jacobson <email>van@ee.lbl.gov</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Vasily V. Grechishnikov
+ <email>bazilio@ns1.ied-vorstu.ac.ru</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Vasim Valejev <email>vasim@uddias.diaspro.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Vernon J. Schryver <email>vjs@mica.denver.sgi.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Vic Abell <email>abe@cc.purdue.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ville Eerola <email>ve@sci.fi</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Vincent Poy <email>vince@venus.gaianet.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Vincenzo Capuano
+ <email>VCAPUANO@vmprofs.esoc.esa.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Virgil Champlin <email>champlin@pa.dec.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Vladimir A. Jakovenko
+ <email>vovik@ntu-kpi.kiev.ua</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Vladimir Kushnir <email>kushn@mail.kar.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Vsevolod Lobko <email>seva@alex-ua.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>W. Gerald Hicks <email>wghicks@bellsouth.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>W. Richard Stevens <email>rstevens@noao.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Walt Howard <email>howard@ee.utah.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Warren Toomey <email>wkt@csadfa.cs.adfa.oz.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Wayne Scott <email>wscott@ichips.intel.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Werner Griessl
+ <email>werner@btp1da.phy.uni-bayreuth.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Wes Santee <email>wsantee@wsantee.oz.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Wietse Venema <email>wietse@wzv.win.tue.nl</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Wilfredo Sanchez <email>wsanchez@apple.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Wiljo Heinen <email>wiljo@freeside.ki.open.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Wilko Bulte <email>wilko@yedi.iaf.nl</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Willem Jan Withagen <email>wjw@surf.IAE.nl</email></para>
+ </listitem>
+
+ <listitem>
+ <para>William Jolitz <email>withheld</email></para>
+ </listitem>
+
+ <listitem>
+ <para>William Liao <email>william@tale.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Wojtek Pilorz
+ <email>wpilorz@celebris.bdk.lublin.pl</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Wolfgang Helbig <email>helbig@ba-stuttgart.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Wolfgang Solfrank <email>ws@tools.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Wolfgang Stanglmeier <email>wolf@FreeBSD.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Wu Ching-hong <email>woju@FreeBSD.ee.Ntu.edu.TW</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Yarema <email>yds@ingress.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Yaroslav Terletsky <email>ts@polynet.lviv.ua</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Yen-Shuo Su <email>yssu@CCCA.NCTU.edu.tw</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ying-Chieh Liao <email>ijliao@csie.NCTU.edu.tw</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Yixin Jin <email>yjin@rain.cs.ucla.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Yoshiaki Uchikawa <email>yoshiaki@kt.rim.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Yoshihiko OHTA <email>yohta@bres.tsukuba.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Yoshihisa NAKAGAWA
+ <email>y-nakaga@ccs.mt.nec.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Yoshikazu Goto <email>gotoh@ae.anritsu.co.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Yoshimasa Ohnishi
+ <email>ohnishi@isc.kyutech.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Yoshishige Arai <email>ryo2@on.rim.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Yuichi MATSUTAKA <email>matutaka@osa.att.ne.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Yujiro MIYATA
+ <email>miyata@bioele.nuee.nagoya-u.ac.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Yukihiro Nakai <email>nacai@iname.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Yusuke Nawano <email>azuki@azkey.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Yuval Yarom <email>yval@cs.huji.ac.il</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Yves Fonk <email>yves@cpcoup5.tn.tudelft.nl</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Yves Fonk <email>yves@dutncp8.tn.tudelft.nl</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Zach Heilig <email>zach@gaffaneys.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Zahemszhky Gabor <email>zgabor@code.hu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Zhong Ming-Xun <email>zmx@mail.CDPA.nsysu.edu.tw</email></para>
+ </listitem>
+
+ <listitem>
+ <para>arci <email>vega@sophia.inria.fr</email></para>
+ </listitem>
+
+ <listitem>
+ <para>der Mouse <email>mouse@Collatz.McRCIM.McGill.EDU</email></para>
+ </listitem>
+
+ <listitem>
+ <para>frf <email>frf@xocolatl.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ege Rekk <email>aagero@aage.priv.no</email></para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+
+ <sect1>
+ <title>Collaborateurs pour les correctif 386BSD</title>
+
+ <para>(En ordre alphab&eacute;tique par pr&eacute;nom) :</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Adam Glass <email>glass@postgres.berkeley.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Adrian Hall <email>adrian@ibmpcug.co.uk</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andrey A. Chernov <email>ache@astral.msk.su</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andrew Herbert <email>andrew@werple.apana.org.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andrew Moore <email>alm@netcom.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Andy Valencia <email>ajv@csd.mot.com</email>
+ <email>jtk@netcom.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Arne Henrik Juul <email>arnej@Lise.Unit.NO</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Bakul Shah <email>bvs@bitblocks.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Barry Lustig <email>barry@ictv.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Bob Wilcox <email>bob@obiwan.uucp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Branko Lankester</para>
+ </listitem>
+
+ <listitem>
+ <para>Brett Lymn <email>blymn@mulga.awadi.com.AU</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Charles Hannum <email>mycroft@ai.mit.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Chris G. Demetriou
+ <email>cgd@postgres.berkeley.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Chris Torek <email>torek@ee.lbl.gov</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Christoph Robitschko
+ <email>chmr@edvz.tu-graz.ac.at</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Daniel Poirot <email>poirot@aio.jsc.nasa.gov</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dave Burgess <email>burgess@hrd769.brooks.af.mil</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Dave Rivers <email>rivers@ponds.uucp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>David Dawes <email>dawes@physics.su.OZ.AU</email></para>
+ </listitem>
+
+ <listitem>
+ <para>David Greenman <email>dg@Root.COM</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Eric J. Haug <email>ejh@slustl.slu.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Felix Gaehtgens
+ <email>felix@escape.vsse.in-berlin.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Frank Maclachlan <email>fpm@crash.cts.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Gary A. Browning <email>gab10@griffcd.amdahl.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Gary Howland <email>gary@hotlava.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Geoff Rehmet <email>csgr@alpha.ru.ac.za</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Goran Hammarback <email>goran@astro.uu.se</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Guido van Rooij <email>guido@gvr.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Guy Harris <email>guy@auspex.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Havard Eidnes
+ <email>Havard.Eidnes@runit.sintef.no</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Herb Peyerl <email>hpeyerl@novatel.cuc.ab.ca</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Holger Veit <email>Holger.Veit@gmd.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ishii Masahiro, R. Kym Horsell</para>
+ </listitem>
+
+ <listitem>
+ <para>J.T. Conklin <email>jtc@cygnus.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jagane D Sundar <email>jagane@netcom.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>James Clark <email>jjc@jclark.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>James Jegers <email>jimj@miller.cs.uwm.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>James W. Dolter</para>
+ </listitem>
+
+ <listitem>
+ <para>James da Silva <email>jds@cs.umd.edu</email> et al</para>
+ </listitem>
+
+ <listitem>
+ <para>Jay Fenlason <email>hack@datacube.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jim Wilson <email>wilson@moria.cygnus.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>J&ouml;rg Lohse
+ <email>lohse@tech7.informatik.uni-hamburg.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>J&ouml;rg Wunsch
+ <email>joerg_wunsch@uriah.heep.sax.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>John Dyson</para>
+ </listitem>
+
+ <listitem>
+ <para>John Woods <email>jfw@eddie.mit.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Jordan K. Hubbard <email>jkh@whisker.hubbard.ie</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Julian Elischer <email>julian@dialix.oz.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Julian Stacey <email>jhs@freebsd.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Karl Dietz <email>Karl.Dietz@triplan.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Karl Lehenbauer <email>karl@NeoSoft.com</email>
+ <email>karl@one.neosoft.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Keith Bostic <email>bostic@toe.CS.Berkeley.EDU</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ken Hughes</para>
+ </listitem>
+
+ <listitem>
+ <para>Kent Talarico <email>kent@shipwreck.tsoft.net</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Kevin Lahey <email>kml%rokkaku.UUCP@mathcs.emory.edu</email>
+ <email>kml@mosquito.cis.ufl.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Marc Frajola <email>marc@dev.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mark Tinguely <email>tinguely@plains.nodak.edu</email>
+ <email>tinguely@hookie.cs.ndsu.NoDak.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Martin Renters <email>martin@tdc.on.ca</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Michael Clay <email>mclay@weareb.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Michael Galassi <email>nerd@percival.rain.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Mike Durkin <email>mdurkin@tsoft.sf-bay.org</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Naoki Hamada <email>nao@tom-yam.or.jp</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Nate Williams <email>nate@bsd.coe.montana.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Nick Handel <email>nhandel@NeoSoft.com</email>
+ <email>nick@madhouse.neosoft.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Pace Willisson <email>pace@blitz.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Paul Kranenburg <email>pk@cs.few.eur.nl</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Paul Mackerras <email>paulus@cs.anu.edu.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Paul Popelka <email>paulp@uts.amdahl.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Peter da Silva <email>peter@NeoSoft.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Phil Sutherland
+ <email>philsuth@mycroft.dialix.oz.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Poul-Henning Kamp<email>phk@FreeBSD.ORG</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Ralf Friedl <email>friedl@informatik.uni-kl.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Rick Macklem <email>root@snowhite.cis.uoguelph.ca</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Robert D. Thrush <email>rd@phoenix.aii.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Rodney W. Grimes <email>rgrimes@cdrom.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Sascha Wildner <email>swildner@channelz.GUN.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Scott Burris <email>scott@pita.cns.ucla.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Scott Reynolds <email>scott@clmqt.marquette.mi.us</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Sean Eric Fagan <email>sef@kithrup.com</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Simon J Gerraty <email>sjg@melb.bull.oz.au</email>
+ <email>sjg@zen.void.oz.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Stephen McKay <email>syssgm@devetir.qld.gov.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Terry Lambert <email>terry@icarus.weber.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Terry Lee <email>terry@uivlsi.csl.uiuc.edu</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Tor Egge <email>Tor.Egge@idi.ntnu.no</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Warren Toomey <email>wkt@csadfa.cs.adfa.oz.au</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Wiljo Heinen <email>wiljo@freeside.ki.open.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>William Jolitz <email>withheld</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Wolfgang Solfrank <email>ws@tools.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Wolfgang Stanglmeier <email>wolf@dentaro.GUN.de</email></para>
+ </listitem>
+
+ <listitem>
+ <para>Yuval Yarom <email>yval@cs.huji.ac.il</email></para>
+ </listitem>
+ </itemizedlist>
+
+ </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:
+-->
diff --git a/fr_FR.ISO_8859-1/books/handbook/cutting-edge/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/cutting-edge/chapter.sgml
new file mode 100644
index 0000000000..f5a65e8559
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/cutting-edge/chapter.sgml
@@ -0,0 +1,2628 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+ <chapter>
+ <title>La derni&egrave;re mise &agrave; jour : FreeBSD-current et FreeBSD-stable</title>
+ &trans.a.haby;
+
+ <para>FreeBSD est d&eacute;velopp&eacute; sans interruption entre deux versions. Pour
+ ceux qui veulent toujours &ecirc;tre &agrave; jour, il y a plusieurs m&eacute;canismes de
+ synchronisation simples pour maintenir votre syst&egrave;me au niveau des plus
+ r&eacute;cents d&eacute;veloppements. Soyez pr&eacute;venus: ce &ldquo;fil du rasoir&rdquo;
+ n'est pas pour tout le monde! Ce chapitre vous aidera &agrave; d&eacute;cider si vous
+ voulez suivre le d&eacute;veloppement au fil de l'eau, ou vous en tenir &agrave; l'une
+ des versions publi&eacute;es.</para>
+
+ <sect1 id="current">
+ <title>Se synchroniser avec la version -current de FreeBSD</title>
+
+ <para><emphasis>Contribution de &a.jkh;.</emphasis></para>
+
+ <sect2>
+ <title>Qu'est-ce que FreeBSD-current?</title>
+
+ <para>FreeBSD-current n'est, litt&eacute;ralement, rien d'autre qu'un
+ instantan&eacute; quotidien des sources de FreeBSD en cours de
+ d&eacute;veloppement. Ce qui inclut des &eacute;volutions en cours, des
+ modifications exp&eacute;rimentales et des m&eacute;canismes de transition,
+ qui feront ou ne feront pas partie de la prochaine livraison
+ officielle du logiciel. Bien que nombre d'entre nous compilent
+ quotidiennement sur la base des sources de FreeBSD-current, il
+ arrive que ceux-ci soit, pendant un temps, litt&eacute;ralement
+ incompilables. Ces probl&egrave;mes sont g&eacute;n&eacute;ralement r&eacute;solus aussi
+ rapidement que possible, mais que les sources de FreeBSD-current
+ vous provoquent un d&eacute;sastre ou vous procurent une nouvelle
+ fonctionnalit&eacute; que vous attendiez impatiemment peut parfois
+ ne d&eacute;pendre que du moment dans la journ&eacute;e o&ugrave; vous les avez
+ charg&eacute;s.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Qui a besoin de FreeBSD-current?</title>
+
+ <para>FreeBSD-current est essentiellement mis &agrave; disposition pour les
+ besoins:</para>
+
+ <orderedlist>
+
+ <listitem>
+ <para>Des membres du groupe FreeBSD qui travaillent sur une
+ partie de l'arborescence des sources, et pour qui rester
+ constamment &agrave; jour est une n&eacute;cessit&eacute; absolue.</para>
+ </listitem>
+
+ <listitem>
+ <para>Des membres du groupe FreeBSD qui participent activement
+ aux tests et sont dispos&eacute;s &agrave; passer du temps &agrave; &eacute;tudier les
+ probl&egrave;mes pour garantir que FreeBSD-current reste aussi sain
+ que possible. Il y a aussi ceux qui font des suggestions dans
+ certains domaines sur les modifications &agrave; faire et la
+ direction g&eacute;n&eacute;rale que prend FreeBSD.</para>
+ </listitem>
+
+ <listitem>
+ <para>Des membres de la p&eacute;riph&eacute;rie du groupe FreeBSD (et
+ quelques autres) qui veulent simplement garder un oeil
+ sur les &eacute;volutions et se servir des derniers sources comme
+ r&eacute;f&eacute;rence (e.g., pour les <emphasis>lire</emphasis> et non
+ pour les utiliser). Ces personnes font parfois des remarques
+ ou fournissent du code.</para>
+ </listitem>
+
+ </orderedlist>
+
+ </sect2>
+
+ <sect2>
+ <title>Qu'est-ce que <emphasis>n'est pas</emphasis>
+ FreeBSD-current?</title>
+
+ <orderedlist>
+
+ <listitem>
+ <para>Un raccourci pour se procurer des pr&eacute;-versions parce que
+ vous avez entendu dire qu'il y a de nouvelles fonctionnalit&eacute;s
+ g&eacute;niales et voulez &ecirc;tre les premiers du coin &agrave; les
+ avoir.</para>
+ </listitem>
+
+ <listitem>
+ <para>Un moyen rapide d'avoir des corrections de bogues.</para>
+ </listitem>
+
+ <listitem>
+ <para>Nous ne le &ldquo;supportons officiellement&rdquo; en
+ aucun cas. Nous faisons du mieux que nous pouvons pour aider
+ les personnes qui font vraiment partie des trois groupes
+ d'utilisateurs &ldquo;l&eacute;gitimes&rdquo;, mais nous n'avons
+ tout simplement <emphasis>pas le temps</emphasis> d'en fournir
+ le support technique. Ce n'est pas parce que nous sommes des
+ &ldquo;m&eacute;chants&rdquo; qui n'aimons pas aider les autres
+ (nous ne ferions pas FreeBSD si tel &eacute;tait le cas), c'est
+ parce que nous ne pouvons r&eacute;ellement pas r&eacute;pondre &agrave; 400
+ messages tous les jours <emphasis>et</emphasis> en m&ecirc;me temps
+ travailler sur FreeBSD. Je suis s&ucirc;r que, si vous aviez &agrave;
+ choisir entre le fait que nous r&eacute;pondions &agrave; un tas de
+ questions ou que nous continuions &agrave; am&eacute;liorer FreeBSD, la
+ plupart d'entre vous pr&eacute;f&eacute;reraient la seconde
+ alternative.</para>
+ </listitem>
+
+ </orderedlist>
+
+ </sect2>
+
+ <sect2>
+ <title>Utiliser FreeBSD-current</title>
+
+ <orderedlist>
+
+ <listitem>
+ <para>Inscrivez-vous sur la &a.current; et la &a.cvsall;. Ce
+ n'est pas seulement une bonne id&eacute;e, c'est
+ <emphasis>essentiel</emphasis>. Si vous n'&ecirc;tes pas sur la
+ liste de diffusion de <emphasis>FreeBSD-current</emphasis>,
+ vous ne verrez pas les commentaires qui sont faits sur l'&eacute;tat
+ courant du syst&egrave;me et vous retrouverez probablement confront&eacute;s
+ &agrave; de nombreux probl&egrave;mes que d'autres ont d&eacute;j&agrave; identifi&eacute;s et
+ r&eacute;solus. Encore plus important, vous manqueriez des
+ informations potentiellement critiques (e.g. &ldquo;Avis &agrave;
+ tous, avant de recompiler <filename>/usr/src</filename>, vous
+ <emphasis>devez</emphasis> recompiler le noyau, sans quoi
+ votre syst&egrave;me s'&eacute;croulera de fa&ccedil;on terrible!&rdquo;). La
+ liste de diffusion <emphasis>cvs-all</emphasis> vous permettra
+ de voir les courriers de trace des soumissions de toutes les
+ modifications d&egrave;s qu'elles sont faites et des informations
+ pertinentes sur les effets de bord &eacute;ventuels. Pour vous
+ inscrire sur ces listes, envoyez un courrier &eacute;lectronique &agrave;
+ &a.majordomo; et pr&eacute;cisez:</para>
+
+ <programlisting>
+subscribe freebsd-current
+subscribe cvs-all
+ </programlisting>
+
+ <para>dans le corps de votre message. Eventuellement, vous
+ pouvez aussi y mettre <literal>help</literal> pour que
+ Majordomo vous envoie des indications compl&egrave;tes sur la fa&ccedil;on
+ de s'abonner et de se d&eacute;sabonner des autres listes que nous
+ avons mises en place.</para>
+ </listitem>
+
+ <listitem>
+ <para>R&eacute;cup&eacute;rez les sources sur
+ <hostid role="fqdn">ftp.FreeBSD.ORG</hostid>. Il y a trois
+ mani&egrave;res de le faire:</para>
+
+ <orderedlist>
+
+ <listitem>
+ <para>Utilisez la fonctionnalit&eacute;
+ <link linkend="ctm"><application>CTM</application></link>.
+ A moins que vous n'ayez une bonne connexion TCP/IP bon
+ march&eacute;, c'est la bonne fa&ccedil;on de proc&eacute;der.</para>
+ </listitem>
+
+ <listitem>
+ <para>Utilisez le programme
+ <link linkend="cvsup">cvsup</link> avec ce fichier
+ <ulink
+ url="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/examples/cvsup/standard-supfile">supfile</ulink>.
+ C'est la m&eacute;thode recommand&eacute;e en second lieu, parce
+ qu'elle vous permet de ne r&eacute;cup&eacute;rer la totalit&eacute; des
+ sources que la premi&egrave;re fois et de n'avoir ensuite
+ que les diff&eacute;rences. De nombreuses personnes ex&eacute;cutent
+ <command>cvsup</command> depuis <command>cron</command>
+ et maintiennent ainsi automatiquement &agrave; jour leurs
+ sources.</para>
+ </listitem>
+
+ <listitem>
+ <para>Utilisez <command>ftp</command>. L'arborescence des
+ sources de FreeBSD-current est toujours
+ &ldquo;export&eacute;e&rdquo; dans: <ulink
+ url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current">ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current</ulink>.
+ Nous employons aussi <command>wu-ftpd</command> qui permet
+ de r&eacute;cup&eacute;rer sous forme d'archive compress&eacute;e un
+ sous-r&eacute;pertoire complet. e.g., si vous voyez:</para>
+
+ <informalexample>
+ <screen>usr.bin/lex</screen>
+ </informalexample>
+
+ <para>vous pouvez taper:
+
+ <informalexample>
+ <screen><prompt>ftp&gt;</prompt> <userinput>cd usr.bin</userinput>
+<prompt>ftp&gt;</prompt> <userinput>get lex.tar.Z</userinput></screen>
+ </informalexample>
+
+ et il vous transmettra un fichier d'archive compress&eacute;e de
+ tout le r&eacute;pertoire.</para>
+ </listitem>
+
+ </orderedlist>
+
+ </listitem>
+
+ <listitem>
+ <para>S'il vous faut un acc&egrave;s rapide aux sources au fur et &agrave;
+ mesure de vos besoins, et que vous n'avez pas de probl&egrave;me de
+ bande passante, utilisez <command>cvsup</command> ou
+ <command>ftp</command>. Sinon, employez
+ <application>CTM</application>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Si vous r&eacute;cup&eacute;rez les sources pour compiler un syst&egrave;me
+ op&eacute;rationnel, et pas simplement pour les lire, alors
+ r&eacute;cup&eacute;rez <emphasis>tout</emphasis>
+ <foreignphrase>-current</foreignphrase>, et non uniquement
+ quelques morceaux choisis. Cela parce que diverses parties
+ du source d&eacute;pendent de modifications effectu&eacute;es ailleurs, et
+ si vous essayez de n'en compiler qu'une partie, il est
+ quasiment certain que vous aurez des probl&egrave;mes.</para>
+ </listitem>
+
+ <listitem>
+ <para>Avant de compiler <foreignphrase>-current</foreignphrase>,
+ lisez attentivement le <filename>Makefile</filename> dans
+ <filename>/usr/src</filename>. Vous devriez au moins lancer
+ une premi&egrave;re fois un
+ <link linkend="makeworld"><command>make world</command></link>
+ int&eacute;gral, comme &eacute;tape n&eacute;cessaire &agrave; votre processus de mise &agrave;
+ niveau. Lire la &a.current; vous tiendra au courant des
+ autres proc&eacute;dures de transition qui sont parfois
+ n&eacute;cessaires lorsque nous pr&eacute;parons la prochaine
+ version.</para>
+ </listitem>
+
+ <listitem>
+ <para>Participez. Si vous tournez sous FreeBSD-current, nous
+ aimerions savoir ce que vous en pensez, tout particuli&egrave;rement
+ si vous avez des am&eacute;liorations &agrave; nous sugg&eacute;rer ou des
+ corrections de bogues &agrave; nous soummettre. Les suggestions
+ accompagn&eacute;es de code sont accueillies avec
+ enthousiasme!</para>
+ </listitem>
+
+ </orderedlist>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="stable">
+ <title>Se synchroniser avec la version -stable de FreeBSD</title>
+
+ <para><emphasis>Contribution de &a.jkh;.</emphasis></para>
+
+ <sect2>
+ <title>Qu'est-ce que FreeBSD-stable?</title>
+
+ <para>FreeBSD-stable est notre branche de d&eacute;veloppement pour les
+ modifications moins os&eacute;es et plus conservatrices, destin&eacute;e &agrave; notre
+ prochaine version d'exploitation. Les modifications exp&eacute;rimentales
+ ou non test&eacute;es ne sont pas faites sur cette branche (pour cela,
+ voyez <link linkend="current">FreeBSD-current</link>).</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Qui a besoin de FreeBSD-stable?</title>
+
+ <para>Si vous &ecirc;tes un utilisateur commercial ou quelqu'un dont la
+ principale pr&eacute;occupation est la stabilit&eacute; de son syst&egrave;me FreeBSD,
+ vous devriez envisager de rester &agrave; jour sur la branche
+ <emphasis>stable</emphasis>. C'est particuli&egrave;rement vrai si vous
+ avez install&eacute; la version la plus r&eacute;cente
+ (<ulink
+ url="ftp://ftp.freebsd.org/pub/FreeBSD/&rel.current;-RELEASE">&rel.current;-RELEASE</ulink> au moment o&ugrave; j'&eacute;cris ceci) car c'est sur la branche
+ <emphasis>stable</emphasis> que sont effectivement faites les
+ corrections de bogues relatives &agrave; la derni&egrave;re version
+ publi&eacute;e.</para>
+
+ <warning>
+ <para>Nous essayons de garder l'arborescence
+ <emphasis>-stable</emphasis> avant tout, int&eacute;gralement compilable
+ et constamment stable, mais il nous arrive aussi de faire des
+ erreurs (ce sont des sources encore en &eacute;volution dont les
+ modifications sont transmises rapidement,
+ apr&egrave;s tout). Nous faisons
+ aussi de notre mieux pour tester exhaustivement les corrections
+ dans <emphasis>-current</emphasis> avant de les int&eacute;grer &agrave; la
+ branche <emphasis>-stable</emphasis>, mais nos tests ne couvrent
+ parfois pas tous les cas de figure. Si quelque chose ne fonctionne
+ pas chez vous avec <emphasis>-stable</emphasis>, faites-le nous
+ s'il vous pla&icirc;t savoir <emphasis>imm&eacute;diatement!</emphasis> (voyez
+ la section suivante).</para>
+ </warning>
+ </sect2>
+
+ <sect2>
+ <title>Utiliser FreeBSD-stable</title>
+
+ <para>
+ <orderedlist>
+
+ <listitem>
+ <para>Inscrivez-vous sur la &a.stable;. Vous serez tenu au
+ courant des d&eacute;pendances de compilation qui peuvent intervenir
+ dans la branche <emphasis>-stable</emphasis> et de toute autre
+ question demandant une attention particuli&egrave;re. Les
+ d&eacute;veloppeurs publient aussi leurs annonces sur cette liste
+ lorsqu'ils envisagent une correction ou une modification
+ controvers&eacute;e, pour donner la possibilit&eacute; aux utilisateurs
+ de r&eacute;pondre s'ils ont des questions &agrave; soulever en rapport
+ avec la modification propos&eacute;e. Pour vous abonner &agrave; cette
+ liste, envoyez un courrier &eacute;lectronique &agrave; &a.majordomo;
+ contenant:</para>
+ <programlisting>
+subscribe freebsd-stable
+ </programlisting>
+ <para>dans le corps du message. Vous pouvez aussi
+ mentionner:</para>
+ <programlisting>
+help
+ </programlisting>
+ <para>et Majordomo vous enverra une aide compl&egrave;te sur la fa&ccedil;on
+ de s'abonner et de se d&eacute;sabonner des autres listes de
+ diffusion que nous avons mises en place.</para>
+ </listitem>
+
+ <listitem>
+ <para>R&eacute;cup&eacute;rez les sources sur
+ <hostid role="fqdn">ftp.FreeBSD.ORG</hostid>. Il y a trois
+ fa&ccedil;ons de le faire:</para>
+
+ <orderedlist>
+
+ <listitem>
+ <para>Utilisez la fonctionnalit&eacute;
+ <link linkend="ctm"><application>CTM</application></link>.
+ A moins que vous n'ayez une bonne connexion TCP/IP bon
+ march&eacute;, c'est la bonne fa&ccedil;on de proc&eacute;der.</para>
+ </listitem>
+
+ <listitem>
+ <para>Utilisez le programme
+ <link linkend="cvsup">cvsup</link> avec ce fichier
+ <ulink
+ url="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current
+/src/share/examples/cvsup/stable-supfile">supfile</ulink>.
+ C'est la m&eacute;thode recommand&eacute;e en second lieu, parce
+ qu'elle vous permet de ne r&eacute;cup&eacute;rer la totalit&eacute; des
+ sources que la premi&egrave;re fois et de n'avoir ensuite
+ que les diff&eacute;rences. De nombreuses personnes ex&eacute;cutent
+ <command>cvsup</command> depuis <command>cron</command>
+ et maintiennent ainsi automatiquement &agrave; jour leurs
+ sources.</para>
+ </listitem>
+
+ <listitem>
+ <para>Utilisez <command>ftp</command>. L'arborescence des
+ sources de FreeBSD-stable est toujours
+ &ldquo;export&eacute;e&rdquo; dans: <ulink
+ url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-stable">ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-stable</ulink>.</para>
+ <para>Nous employons aussi <command>wu-ftpd</command> qui
+ permet de r&eacute;cup&eacute;rer sous forme d'archive compress&eacute;e un
+ sous-r&eacute;pertoire complet. e.g., si vous voyez:</para>
+
+ <informalexample>
+ <screen>usr.bin/lex</screen>
+ </informalexample>
+
+ <para>vous pouvez taper:
+
+ <informalexample>
+ <screen><prompt>ftp&gt;</prompt> <userinput>cd usr.bin
+</userinput>
+<prompt>ftp&gt;</prompt> <userinput>get lex.tar.Z</userinput></screen>
+ </informalexample>
+
+ et il vous transmettra un fichier d'archive compress&eacute;e de
+ tout le r&eacute;pertoire.</para>
+ </listitem>
+
+ </orderedlist>
+
+ </listitem>
+
+ <listitem>
+ <para>S'il vous faut un acc&egrave;s rapide aux sources au fur et &agrave;
+ mesure de vos besoins, et que vous n'avez pas de probl&egrave;me de
+ bande passante, utilisez <command>cvsup</command> ou
+ <command>ftp</command>. Sinon, employez
+ <application>CTM</application>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Avant de compiler <foreignphrase>-stable</foreignphrase>,
+ lisez attentivement le <filename>Makefile</filename> dans
+ <filename>/usr/src</filename>. Vous devriez au moins lancer
+ une premi&egrave;re fois un
+ <link linkend="makeworld"><command>make world</command></link>
+ int&eacute;gral, comme &eacute;tape n&eacute;cessaire &agrave; votre processus de mise &agrave;
+ niveau. Lire la &a.stable; vous tiendra au courant des
+ autres proc&eacute;dures de transition qui sont parfois
+ n&eacute;cessaires lorsque nous pr&eacute;parons la prochaine
+ version.</para>
+ </listitem>
+
+ </orderedlist>
+
+ </para>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="synching">
+ <title>Synchroniser l'arborescence des sources par Internet</title>
+
+ <para><emphasis>Contribution de &a.jkh;.</emphasis></para>
+
+ <para>Il y a diff&eacute;rentes fa&ccedil;ons d'utiliser une connexion Internet
+ (ou le courrier &eacute;lectronique) pour garder &agrave; jour ses sources d'un
+ domaine donn&eacute;, ou de l'ensemble, du projet FreeBSD, selon ce qui
+ vous int&eacute;resse. Les principaux services que nous fournissons sont
+ <link linkend="anoncvs">CVS anonyme</link>,
+ <link linkend="cvsup">CVSup</link> et
+ <link linkend="ctm">CTM</link>.</para>
+
+ <para><application>CVS anonyme</application> et
+ <application>CVSup</application> utilisent une m&eacute;thode de mise &agrave;
+ jour pilot&eacute;e par le client&nbsp;-&nbsp;<foreignphrase><emphasis>pull</emphasis></foreignphrase>.
+ Dans le cas de <application>CVSup</application>, l'utilisateur
+ (ou une proc&eacute;dure <command>cron</command>) appelle le
+ programme <command>cvsup</command>, qui interagit avec un serveur
+ <command>cvsupd</command> ailleurs, pour mettre &agrave; jour ses fichiers.
+ Vous recevez les mises &agrave; jour dans leur &eacute;tat courant, et vous ne les
+ recevez uniquement que quand vous les voulez. Il est facile de
+ limiter ces mises &agrave; jour aux fichiers ou r&eacute;pertoires particuliers qui
+ vous int&eacute;ressent. Les mises &agrave; jour sont g&eacute;n&eacute;r&eacute;es &agrave; la vol&eacute;e par le
+ serveur, selon ce que vous avez d&eacute;j&agrave;, et ce que vous voulez.
+ <application>CVS anonyme</application> est un peu plus simpliste que
+ <application>CVSup</application>, car ce n'est qu'une extension de
+ <application>CVS</application> qui permet de r&eacute;cup&eacute;rer des
+ modifications directement d'une archive CVS distante. Pour cela,
+ <application>CVSup</application> est beaucoup plus efficace, mais
+ <application>CVS anonyme</application> est plus facile &agrave;
+ utiliser.</para>
+
+ <para><application>CTM</application>, &agrave; l'inverse, ne compare pas
+ interactivement les sources dont vous disposez et ceux qui sont
+ sur l'archive de r&eacute;f&eacute;rence. Au lieu de cela, une proc&eacute;dure qui
+ identifie les modifications intervenues depuis qu'elle a &eacute;t&eacute; ex&eacute;cut&eacute;e
+ pour la derni&egrave;re fois, est lanc&eacute;e plusieurs fois par jour sur
+ l'archive de r&eacute;f&eacute;rence, les modifications d&eacute;tect&eacute;es sont compress&eacute;es,
+ affect&eacute;es d'un num&eacute;ro de s&eacute;quence et encod&eacute;es pour pouvoir &ecirc;tre
+ envoy&eacute;es par courrier &eacute;lectronique (ASCII imprimable uniquement).
+ Une fois re&ccedil;ues, ces &ldquo;deltas CTM&rdquo; peuvent &ecirc;tre pass&eacute;s
+ &agrave; l'utilitaire
+ <citerefentry><refentrytitle>ctm_rmail</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ qui les d&eacute;codera, les contr&ocirc;lera et appliquera les modifications &agrave;
+ l'exemplaire des sources de l'utilisateur. Cette m&eacute;thode est beaucoup
+ plus efficace que <application>CVSup</application> et consomme
+ beaucoup moins de ressources de notre serveur, parce que c'est un
+ mod&egrave;le pilot&eacute; par le
+ serveur&nbsp;-&nbsp;<foreignphrase><emphasis>push</emphasis></foreignphrase>&nbsp;-&nbsp;plut&ocirc;t que
+ par l'utilisateur&nbsp;-&nbsp;<foreignphrase><emphasis>pull</emphasis></foreignphrase>.</para>
+
+ <para>Il y a quelques contre-parties, bien s&ucirc;r. Si vous effacez par
+ inadvertance des parties de votre archive,
+ <application>CVSup</application> s'en apercevra et vous reconstruira
+ les parties ab&icirc;m&eacute;es. <application>CTM</application> ne le fera pas,
+ et si vous effacez des parties de l'arborescence des sources (et
+ n'avez pas fait de sauvegarde), vous devrez repartir de z&eacute;ro (&agrave; partir
+ du plus r&eacute;cent &ldquo;delta de base&rdquo; sous CVS) et tout
+ reconstituer avec CTM ou, avec CVS anonyme, effacer les parties
+ endommag&eacute;es et resynchroniser.</para>
+
+ <para>Pour plus d'informations sur
+ <application>CVS anonyme</application>, <application>CTM</application>
+ et <application>CVSup</application>, reportez-vous s'il vous pla&icirc;t &agrave;
+ l'une des sections qui suivent.</para>
+
+ <sect2 id="anoncvs">
+ <title>CVS Anonyme</title>
+
+ <para><emphasis>Contribution de &a.jkh;</emphasis></para>
+
+ <sect3>
+ <title><anchor id="anoncvs-intro">Introduction</title>
+
+ <para>CVS anonyme (ou, comme on l'appelle aussi,
+ <emphasis>anoncvs</emphasis>) est une des fonctionnalit&eacute;s des
+ utilitaires CVS livr&eacute;s avec FreeBSD qui permet la synchronisation
+ avec une archive CVS sur une machine distante. Elle permet, entre
+ autres, aux utilisateurs de FreeBSD, de lire, sans autorisation
+ particuli&egrave;re, les archives disponibles sur l'un des serveurs
+ <foreignphrase>anoncvs</foreignphrase> officiels du projet FreeBSD.
+ Pour l'utiliser, il suffit simplement de d&eacute;finir la variable
+ d'environnement <envar>CVSROOT</envar> pour qu'elle pointe sur le
+ serveur <foreignphrase>anoncvs</foreignphrase> voulu, et d'employer
+ ensuite la commande
+ <citerefentry><refentrytitle>cvs</refentrytitle> <manvolnum>1</manvolnum></citerefentry>
+ pour y acc&eacute;der de la m&ecirc;me mani&egrave;re qu'&agrave; une archive locale.</para>
+
+ <para> Bien que l'on puisse aussi dire que les services <link
+ linkend="cvsup">CVSup</link> et <emphasis>anoncvs</emphasis>
+ aient essentiellement la m&ecirc;me fonction, il y a des nuances diverses
+ qui peuvent influencer l'utilisateur dans son choix d'une m&eacute;thode
+ de synchronisation. En r&eacute;sum&eacute;, <application>CVSup</application>
+ utilise beaucoup plus efficacement les ressources r&eacute;seau et est de
+ loin la m&eacute;thode la plus sophistiqu&eacute;e des deux, mais cela a un prix.
+ Pour employer <application>CVSup</application>, il faut d'abord
+ installer et configurer un programme client sp&eacute;cialis&eacute; avant de
+ pouvoir r&eacute;cup&eacute;rer quoi que ce soit, et il faut ensuite travailler
+ par sous-ensembles relativements importants, que
+ <application>CVSup</application> appelle
+ <emphasis>catalogues</emphasis>.</para>
+
+ <para><application>anoncvs</application>, au contraire, peut &ecirc;tre
+ utilis&eacute; pour examiner n'importe quoi, d'un seul fichier &agrave; un
+ programme particulier (tel que <command>ls</command> ou
+ <command>grep</command>) en faisant r&eacute;f&eacute;rence au nom du module CVS.
+ <application>anoncvs</application> ne sert bien s&ucirc;r qu'&agrave; lire les
+ archives CVS, si donc vous avez l'intention de d&eacute;velopper localement
+ sur une archive partag&eacute;e avec le projet FreeBSD, alors vous n'avez
+ d'autre choix que <application>CVSup</application>.</para>
+ </sect3>
+
+ <sect3>
+ <title><anchor id="anoncvs-usage">Utiliser CVS anonyme</title>
+
+ <para>Configurer <citerefentry>
+ <refentrytitle>cvs</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </citerefentry> pour utiliser une archive CVS anonyme consiste
+ simplement &agrave; d&eacute;finir la variable d'environnement
+ <envar>CVSROOT</envar> pour qu'elle pointe sur l'un des serveurs
+ <emphasis>anoncvs</emphasis> du projet FreeBSD. A la date de
+ r&eacute;daction de ce document, les serveurs suivants sont
+ disponibles:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><emphasis>USA</emphasis>:
+ anoncvs@anoncvs.freebsd.org:/cvs</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Comme CVS vous permet de
+ r&eacute;cup&eacute;rer&nbsp;-&nbsp;&ldquo;<foreignphrase>check out</foreignphrase>&rdquo;&nbsp;-&nbsp;pratiquement
+ n'importe quelle version ayant exist&eacute; (ou, dans certains cas, &agrave;
+ venir <!-- smiley -->:) des sources de FreeBSD, vous devrez
+ ma&icirc;triser l'indicateur de r&eacute;vision (<option>-r</option>) de
+ <citerefentry><refentrytitle>cvs</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>
+ et conna&icirc;tre les valeurs qu'il peut prendre dans les archives du
+ projet FreeBSD.</para>
+
+ <para>Il y a deux sortes d'&eacute;tiquettes, les &eacute;tiquettes de r&eacute;vision
+ et les &eacute;tiquettes de branches. Les &eacute;tiquettes de r&eacute;vision
+ s'appliquent &agrave; une r&eacute;vision particuli&egrave;re. Leur signification ne
+ varie pas d'un jour &agrave; l'autre. Les &eacute;tiquettes de branche, &agrave;
+ l'inverse, se rapportent &agrave; la derni&egrave;re r&eacute;vision sur une branche
+ particuli&egrave;re &agrave; un moment donn&eacute;. Comme les &eacute;tiquettes de branche
+ ne se rapportent pas &agrave; une r&eacute;vision particuli&egrave;re, elles peuvent
+ d&eacute;signer demain quelque chose de diff&eacute;rent de ce qu'elles
+ r&eacute;f&eacute;rencent aujourd'hui.</para>
+
+ <para>Voici les &eacute;tiquettes de branches qui peuvent int&eacute;resser les
+ utilisateurs:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>HEAD</term>
+
+ <listitem>
+ <para>Nom symbolique pour la branche principale de
+ d&eacute;veloppement, ou FreeBSD-current. C'est aussi la valeur par
+ d&eacute;faut lorsque la r&eacute;vision n'est pas pr&eacute;cis&eacute;e.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>RELENG_2_2</term>
+
+ <listitem>
+ <para>Branche de d&eacute;veloppement de FreeBSD-2.2.x, connue aussi
+ sous le nom de FreeBSD-stable. Ne s'applique pas au
+ catalogue des logiciels port&eacute;s.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>RELENG_2_1_0</term>
+
+ <listitem>
+ <para>Branche de d&eacute;veloppement de FreeBSD-2.1.x - cette branche
+ est largement obsol&egrave;te. Ne s'applique pas au catalogue des
+ logiciels port&eacute;s.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>Voici les &eacute;tiquettes de r&eacute;vision qui peuvent vous
+ int&eacute;resser:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>RELENG_2_2_6_RELEASE</term>
+
+ <listitem>
+ <para>FreeBSD-2.2.6. Ne s'applique pas au catalogue des
+ logiciels port&eacute;s.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>RELENG_2_2_5_RELEASE</term>
+
+ <listitem>
+ <para>FreeBSD-2.2.5. Ne s'applique pas au catalogue des
+ logiciels port&eacute;s.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>RELENG_2_2_2_RELEASE</term>
+
+ <listitem>
+ <para>FreeBSD-2.2.2. Ne s'applique pas au catalogue des
+ logiciels port&eacute;s.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>RELENG_2_2_1_RELEASE</term>
+
+ <listitem>
+ <para>FreeBSD-2.2.1. Ne s'applique pas au catalogue des
+ logiciels port&eacute;s.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>RELENG_2_2_0_RELEASE</term>
+
+ <listitem>
+ <para>FreeBSD-2.2.0. Ne s'applique pas au catalogue des
+ logiciels port&eacute;s.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>RELENG_2_1_7_RELEASE</term>
+
+ <listitem>
+ <para>FreeBSD-2.1.7. Ne s'applique pas au catalogue des
+ logiciels port&eacute;s.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>RELENG_2_1_6_1_RELEASE</term>
+
+ <listitem>
+ <para>FreeBSD-2.1.6.1. Ne s'applique pas au catalogue des
+ logiciels port&eacute;s.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>RELENG_2_1_6_RELEASE</term>
+
+ <listitem>
+ <para>FreeBSD-2.1.6. Ne s'applique pas au catalogue des
+ logiciels port&eacute;s.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>RELENG_2_1_5_RELEASE</term>
+
+ <listitem>
+ <para>FreeBSD-2.1.5. Ne s'applique pas au catalogue des
+ logiciels port&eacute;s.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>RELENG_2_1_0_RELEASE</term>
+
+ <listitem>
+ <para>FreeBSD-2.1.0. Ne s'applique pas au catalogue des
+ logiciels port&eacute;s.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>Lorsque vous donnez une &eacute;tiquette de branche, vous obtenez
+ normalement la derni&egrave;re version des fichiers de cette branche de
+ d&eacute;veloppement. Si vous voulez une version ant&eacute;rieure, vous pouvez
+ l'obtenir en pr&eacute;cisant la date avec l'indicateur
+ <option>-D date</option>. Reportez-vous au pages de manuel de
+ <citerefentry><refentrytitle>cvs</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>
+ pour plus de d&eacute;tails.</para>
+ </sect3>
+
+ <sect3>
+ <title>Exemples</title>
+
+ <para>Bien qu'il soit vraiment conseill&eacute; de lire attentivement les
+ pages de manuel de
+ <citerefentry><refentrytitle>cvs</refentrytitle> <manvolnum>1</manvolnum></citerefentry>
+ avant de faire quoi que ce soit, voici quelques exemples rapides
+ qui vous montrent essentiellement comment utiliser CVS
+ anonyme:</para>
+
+ <example>
+ <title>R&eacute;cup&eacute;rer quelque chose de -current (<citerefentry>
+ <refentrytitle>ls</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>) et l'effacer
+ ensuite:</title>
+
+ <screen>
+&prompt.user; <userinput>setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs</userinput>
+&prompt.user; <userinput>cvs co ls</userinput>
+&prompt.user; <userinput>cvs release -d ls</userinput></screen>
+ </example>
+
+ <example>
+ <title>R&eacute;cup&eacute;rer la version de <citerefentry>
+ <refentrytitle>ls</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> sur la branche
+ 2.2-stable:</title>
+
+ <screen>
+&prompt.user; <userinput>setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs</userinput>
+&prompt.user; <userinput>cvs co -rRELENG_2_2 ls</userinput>
+&prompt.user; <userinput>cvs release -d ls</userinput></screen>
+ </example>
+
+ <example>
+ <title>G&eacute;n&eacute;rer la liste des diff&eacute;rences
+ (<foreignphrase>unidiffs(</foreignphrase>) entre les versions
+ FreeBSD 2.2.2 et FreeBSD 2.2.6 de
+ <citerefentry><refentrytitle>ls</refentrytitle> <manvolnum>1</manvolnum></citerefentry>:</title>
+
+ <screen>
+&prompt.user; <userinput>setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs</userinput>
+&prompt.user; <userinput>cvs rdiff -u -rRELENG_2_2_2_RELEASE -rRELENG_2_2_6_RELEASE ls</userinput></screen>
+ </example>
+
+ <example>
+ <title>Savoir quels autres noms de modules peuvent &ecirc;tre
+ utilis&eacute;s:</title>
+
+ <screen>
+&prompt.user; <userinput>setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs</userinput>
+&prompt.user; <userinput>cvs co modules</userinput>
+&prompt.user; <userinput>more modules/modules</userinput>
+&prompt.user; <userinput>cvs release -d modules</userinput></screen>
+ </example>
+ </sect3>
+
+ <sect3>
+ <title>Autres ressources</title>
+
+ <para>Les autres ressources suppl&eacute;mentaires suivantes peuvent &ecirc;tre
+ utiles pour apprendre &agrave; se servir de CVS:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ url="http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/cvs/">Guide CVS</ulink> de &ldquo;Cal Poly.&rdquo;</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink url="http://www.cyclic.com">Cyclic
+ Software</ulink>, qui maintiennent commercialement CVS.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ url="http://www.freebsd.org/cgi/cvsweb.cgi">CVSWeb</ulink>
+ est l'interface Web pour CVS du projet FreeBSD.</para>
+ </listitem>
+ </itemizedlist>
+ </sect3>
+ </sect2>
+
+ <sect2 id="ctm">
+ <title><application>CTM</application></title>
+
+ <para><emphasis>Contribution by &a.phk;. Mise &agrave; jour le
+ 19 Octobre 1997.</emphasis></para>
+
+ <para><application>CTM</application> est une m&eacute;thode pour synchroniser
+ une arborescence de r&eacute;pertoires deport&eacute;e et une version centrale.
+ Elle a &eacute;t&eacute; d&eacute;velopp&eacute;e pour &ecirc;tre utilis&eacute;e avec l'arborescence des
+ sources de FreeBSD, bien que d'autres puissent avec le temps la
+ trouver utile pour d'autres propos. Il existe actuellement tr&egrave;s
+ peu, sinon aucune, documentation sur la fa&ccedil;on de cr&eacute;er les deltas,
+ adressez-vous donc &agrave; &a.phk; pour avoir plus d'informations si vous
+ souhaitez utiliser <application>CTM</application> pour autre
+ chose.</para>
+
+ <sect3>
+ <title>Pourquoi utiliser <application>CTM</application>?</title>
+
+ <para><application>CTM</application> vous procurera un exemplaire
+ local de l'arborescence des sources de FreeBSD. Il y a plusieurs
+ &ldquo;moutures&rdquo; de l'arborescence disponibles. Que vous
+ vouliez garder &agrave; jour toute l'arborescence CVS ou seulement une
+ de ses branches, <application>CTM</application> peut vous
+ fournir ce dont vous avez besoin. Si vous d&eacute;veloppez activement
+ avec FreeBSD, mais ne disposez que d'une connectivit&eacute; TCP/IP
+ peu fiable ou n'en avez pas du tout, ou voulez tout simplement
+ que les modifications vous soient automatiquement transmises,
+ CTM est ce qu'il vous faut. Il vous faudra jusqu'&agrave; trois deltas
+ par jour sur les branches les plus actives. Vous devriez toutefois
+ envisager de vous les faire envoyer automatiquement par courrier
+ &eacute;lectronique. La taille des mises &agrave; jour est toujours aussi petite
+ que possible. Typiquement moins de 5Ko, occasionnellement (une
+ fois sur 10), entre 10 et 50Ko, et de temps &agrave; autre, une grosse
+ modification de 100ko ou plus.</para>
+
+ <para>Vous devrez aussi vous tenir au courant des diff&eacute;rentes
+ contre-parties li&eacute;es au fait de travailler directement avec
+ les sources en cours de d&eacute;veloppement plut&ocirc;t qu'avec les
+ versions publi&eacute;es. C'est particuli&egrave;rement vrai si vous
+ choisissez les sources de la branche &ldquo;-current&rdquo;.
+ Je vous recommande alors de lire la section
+ <link linkend="current">Se synchroniser avec la version
+ -current de FreeBSD</link>.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>Que vous faut-il pour utiliser
+ <application>CTM</application>?</title>
+
+ <para>Vous aurez besoin de deux choses: le programme
+ <application>CTM</application> et les deltas initiaux &agrave; lui
+ fournir (pour vous mettre &agrave; jour avec la version
+ &ldquo;courante&rdquo;).</para>
+
+ <para>Le programme <application>CTM</application> fait partie de
+ FreeBSD depuis la publication de la version 2.0, et se trouve
+ dans <filename>/usr/src/usr.sbin/CTM</filename>, si vous avez un
+ exemplaire des sources en ligne.</para>
+
+ <para>Si vous utilisez une version de FreeBSD ant&eacute;rieure &agrave; la 2.0,
+ vous pouvez r&eacute;cup&eacute;rer la version courante des sources de
+ <application>CTM</application> directement de:</para>
+
+ <para><ulink
+ url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current/src/usr.sbin/ctm">ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current/src/usr.sbin/ctm</ulink></para>
+
+ <para>Vous pouvez obtenir les &ldquo;deltas&rdquo; &agrave; fournir &agrave;
+ <application>CTM</application> de deux fa&ccedil;ons, par FTP ou par
+ courrier &eacute;lectronique. Si vous avec un acc&egrave;s FTP &agrave; l'Internet,
+ les sites FTP suivants supportent l'acc&egrave;s via
+ <application>CTM</application>:</para>
+
+ <para><ulink
+ url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/CTM">ftp://ftp.FreeBSD.ORG/pub/FreeBSD/CTM</ulink></para>
+
+ <para>ou reportez-vous &agrave; la section
+ <link linkend="mirrors-ctm">Sites miroirs</link>.</para>
+
+ <para>Allez dans le r&eacute;pertoire qui vous concerne et commencez par
+ t&eacute;l&eacute;charger le fichier <filename>README</filename>.</para>
+
+ <para>Si vous souhaitez r&eacute;cup&eacute;rer vos deltas par courrier
+ &eacute;lectronique:</para>
+
+ <para>Envoyez un courrier &eacute;lectronique &agrave; &a.majordomo; pour vous
+ abonner &agrave; l'une des listes de distribution
+ <application>CTM</application>. &ldquo;ctm-cvs-cur&rdquo;
+ comprend toute l'arborescence CVS. &ldquo;ctm-src-cur&rdquo;
+ concerne la derni&egrave;re version de la branche de d&eacute;veloppement.
+ &ldquo;ctm-src-2_2&rdquo; s'applique &agrave; la branche 2.2-RELEASE,
+ etc. (Si vous ne savez pas comment vous abonner avec Majordomo,
+ envoyez un message commen&ccedil;ant par le mot
+ <literal>help</literal>&nbsp;-&nbsp;vous recevrez un mode d'emploi
+ en retour.)</para>
+
+ <para>D&egrave;s que vous commencer &agrave; recevoir vos mises &agrave; jour
+ <application>CTM</application> par courrier &eacute;lectronique, vous
+ pouvez utiliser le programme <symbol>ctm_rmail</symbol> pour les
+ d&eacute;compacter et les appliquer. Vous pouvez de fait lancer le
+ programme <symbol>ctm_rmail</symbol> directement &agrave; partir d'une
+ entr&eacute;e dans <filename>/etc/aliases</filename> si vous voulez
+ automatiser compl&egrave;tement le processus. Consultez les pages de
+ manuel de <symbol>ctm_rmail</symbol> pour plus de d&eacute;tails.</para>
+
+ <note>
+ <para>Quelle que soit la m&eacute;thode que vous utilisiez pour r&eacute;cup&eacute;rer
+ vos deltas <application>CTM</application>, vous devriez vous
+ abonner &agrave; la liste de diffusion
+ <email>ctm-announce@FreeBSD.ORG</email>. Ce sera, dans l'avenir,
+ le seul endroit o&ugrave; les annonces concernant le fonctionnement du
+ syst&egrave;me <application>CTM</application> seront faites. Envoyez
+ un courier &agrave; &a.majordomo; ne contenant que la ligne
+ <literal>subscribe ctm-announce</literal> pour &ecirc;tre inscrit
+ sur la liste.</para>
+ </note>
+ </sect3>
+
+ <sect3>
+ <title>Utiliser <application>CTM</application> pour la premi&egrave;re
+ fois</title>
+
+ <para>Avant de pouvoir utiliser les deltas
+ <application>CTM</application>, il vous faut un point de d&eacute;part,
+ pour appliquer les deltas g&eacute;n&eacute;r&eacute;s &agrave; partir de l&agrave;.</para>
+
+ <para>Vous devez d'abord savoir ce que vous avez d&eacute;j&agrave;. Tout le monde
+ peut partir d'un r&eacute;pertoire &ldquo;vide&rdquo;. N&eacute;anmoins, comme
+ les arborescences repr&eacute;sentent plusieurs dizaines de m&eacute;gaoctets,
+ vous pr&eacute;f&eacute;rerez commencer avec ce que vous avez d&eacute;j&agrave; sous la main.
+ Si vous disposez d'un version sur CD-ROM, vous pouvez copier ou
+ extraire le source initial qui s'y trouve. Cela vous &eacute;vitera un
+ transfert de donn&eacute;es cons&eacute;quent.</para>
+
+ <para>Une fois que vous avez rep&eacute;r&eacute; un point de d&eacute;part significatif,
+ vous devez utiliser un delta de &ldquo;transition&rdquo; initial,
+ pour le transformer en une arborescence support&eacute;e par
+ <application>CTM</application>.</para>
+
+ <para>Vous reconna&icirc;trez ces deltas de transition au
+ <literal>X</literal> qui suit leur num&eacute;ro de s&eacute;quence
+ (<filename>src-cur.3210XEmpty.gz</filename> par exemple). La
+ d&eacute;nomination apr&egrave;s le <filename>X</filename>
+ correspond &agrave; l'origine de votre &ldquo;racine&rdquo; initiale.
+ <filename>Empty</filename> est un r&eacute;pertoire vide,
+ <filename>R225</filename> serait la version 2.2.5,
+ etc. La r&egrave;gle est qu'une transition de base &agrave; partir de
+ <filename>Empty</filename> est g&eacute;n&eacute;r&eacute;e tous les 100 deltas. Au
+ passage, elles sont volumineuses! de 25 &agrave; 30 m&eacute;gaoctets de donn&eacute;es
+ compress&eacute;es avec <command>gzip</command> est une taille habituelle
+ pour les deltas <filename>XEmpty</filename>.</para>
+
+ <para>Une fois que vous avez s&eacute;lectionn&eacute; un delta initial, il vous
+ faudra aussi tous les deltas de num&eacute;ro sup&eacute;rieur qui le
+ suivent.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>Utiliser au quotidien <application>CTM</application></title>
+
+ <para>Pour appliquer les deltas, tapez simplement:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cd /o&ugrave;/vous/voulez/mettre/les/fichiers</userinput>
+&prompt.root; <userinput>ctm -v -v /o&ugrave;/vous/mettez/vos/deltas/src-xxx.*</userinput></screen>
+ </informalexample>
+
+ <para><application>CTM</application> reconnait les deltas qui ont
+ &eacute;t&eacute; compress&eacute;s avec <command>gzip</command>, vous n'avez donc
+ pas besoin de les d&eacute;compresser avant, ce qui &eacute;conomise de
+ l'espace disque.</para>
+
+ <para>A moins d'&ecirc;tre absolument s&ucirc;r du r&eacute;sultat,
+ <application>CTM</application> ne touchera pas &agrave; votre
+ arborescence. Pour contr&ocirc;ler la validit&eacute; d'un delta, vous
+ pouvez aussi utiliser l'indicateur <option>-c</option> et
+ <application>CTM</application> ne modifiera alors pas votre
+ arborescence; il v&eacute;rifiera simplement l'int&eacute;grit&eacute; du delta
+ et regardera s'il peut s'appliquer proprement &agrave; votre
+ arborescence en l'&eacute;tat.</para>
+
+ <para>Il y a aussi d'autres options pour
+ <application>CTM</application>, voyez les pages de manuel ou lisez
+ les sources pour plus d'informations.</para>
+
+ <para>Je serais aussi tr&egrave;s content si quelqu'un voulait m'aider &agrave;
+ mettre au point l'&ldquo;interface utilisateur&rdquo;, parce que
+ je me suis rendu compte que je n'arrivais pas &agrave; me d&eacute;cider quant
+ &agrave; ce que devait faire telle ou telle option, quand et
+ comment...</para>
+
+ <para>C'est &agrave; peu pr&egrave;s tout. Chaque fois que vous recevez un delta,
+ passez-le &agrave; <application>CTM</application> pour tenir &agrave; jour
+ votre arborescence des sources.</para>
+
+ <para>N'effacez pas les deltas s'il vous est difficile de les
+ t&eacute;l&eacute;charger de nouveau. Vous pouvez avoir en besoin si quelque
+ chose se produit. M&ecirc;me si vous n'avez que des disquettes,
+ envisagez d'utiliser <command>fdwrite</command> pour en faire
+ une copie.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>Conserver vos modifications locales</title>
+
+ <para>Si vous &ecirc;tes d&eacute;veloppeur, vous voudrez exp&eacute;rimenter et
+ modifier des fichiers de l'arborescence des sources.
+ <application>CTM</application> supporte de fa&ccedil;on limit&eacute;e les
+ modifications locales: avant de regarder si le fichier
+ <filename>foo</filename> existe, il regarde d'abord s'il y a
+ un fichier <filename>foo.ctm</filename>. Si ce fichier existe,
+ <application>CTM</application> l'utilise au lieu de
+ <filename>foo</filename>.</para>
+
+ <para>Ce comportement vous permet de conserver de fa&ccedil;on simple
+ des modifications locales: copiez simplement les fichiers que
+ vous envisagez de modifier dans des fichiers de m&ecirc;me nom, mais
+ avec le suffixe <filename>.ctm</filename>. Vous pouvez alors
+ tranquillement bidouiller le code, pendant que
+ <application>CTM</application> maintient le fichier
+ <filename>.ctm</filename> &agrave; jour.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>D'autres options int&eacute;ressantes de
+ <application>CTM</application></title>
+
+ <sect4>
+ <title>Savoir avec pr&eacute;cision ce que va modifier une mise &agrave;
+ jour</title>
+
+ <para>Vous pouvez conna&icirc;tre la liste des modifications que
+ <application>CTM</application> appliquera &agrave; votre archive
+ des sources en utilisant <application>CTM</application>
+ avec l'option <option>-l</option>.</para>
+
+ <para>C'est utile si vous voulez conserver la trace des
+ modifications, pr&eacute;- ou post-processer les fichiers modifi&eacute;s
+ de quelque fa&ccedil;on que ce soit, ou vous sentez un tantinet
+ parano&iuml;de <!-- smiley -->:-).</para>
+
+ </sect4>
+
+ <sect4>
+ <title>Faire des sauvegardes avant la mise &agrave; jour</title>
+
+ <para>Vous souhaiterez parfois faire des sauvegardes de tous
+ les fichiers qui seront touch&eacute;s par une mise &agrave; jour
+ <application>CTM</application>.</para>
+
+ <para>Avec l'option <option>-B fichier_de_sauvegarde</option>,
+ <application>CTM</application> sauvegarde tous les fichiers
+ qui seront modifi&eacute;s par un delta
+ <application>CTM</application> donn&eacute; dans
+ <filename>fichier_de_sauvegarde</filename>.</para>
+
+ </sect4>
+
+ <sect4>
+ <title>Restreindre la liste des fichiers touch&eacute;s par une mise
+ &agrave; jour</title>
+
+ <para>Vous voudrez parfois restreindre le champ d'application
+ d'une mise &agrave; jour <application>CTM</application> donn&eacute;e, ou
+ serez int&eacute;ress&eacute; &agrave; n'extraire que quelques fichiers d'une
+ s&eacute;quence de deltas.</para>
+
+ <para>Vous pouvez contr&ocirc;ler la liste des fichiers sur laquelle
+ <application>CTM</application> travaille en donnant comme
+ filtre une expression r&eacute;guli&egrave;re avec les options
+ <option>-e</option> et <option>-x</option>.</para>
+
+ <para>Par exemple, pour extraire une version &agrave; jour de
+ <filename>lib/libc/Makefile</filename> de la s&eacute;rie de
+ deltas <application>CTM</application> que vous avez sauvegard&eacute;s,
+ utilisez les commandes:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cd /o&ugrave;/vous/voulez/l/extraire/</userinput>
+&prompt.root; <userinput>ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.*</userinput></screen>
+ </informalexample>
+
+ <para>Pour chaque fichier du delta <application>CTM</application>,
+ les options <option>-e</option> et <option>-x</option> sont
+ appliqu&eacute;es dans l'ordre donn&eacute; sur la ligne de commande. Le
+ fichier est trait&eacute; par <application>CTM</application> uniquement
+ s'il est encore s&eacute;lectionn&eacute; apr&egrave;s que toutes les options
+ <option>-e</option> et <option>-x</option> lui aient &eacute;t&eacute;
+ appliqu&eacute;es.</para>
+
+ </sect4>
+ </sect3>
+
+ <sect3>
+ <title>Perspectives pour <application>CTM</application></title>
+
+ <para>Il y en a des tonnes:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>Utilisez une m&eacute;thode ou une autre d'authentification
+ au syst&egrave;me <application>CTM</application> pour pouvoir
+ d&eacute;tecter la
+ substitution&nbsp;-&nbsp;<foreignphrase>spoofing</foreignphrase>&nbsp;-&nbsp;de
+ mises &agrave; jour.</para>
+ </listitem>
+
+ <listitem>
+ <para>Faire le m&eacute;nage dans les options de
+ <application>CTM</application>, elles commencent &agrave; engendrer
+ de la confusion et &agrave; contredire l'intuition.</para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>La mauvaise nouvelle est que je suis tr&egrave;s occup&eacute;, toute aide
+ pour le faire sera vraiment la bienvenue. N'oubliez pas aussi de
+ me dire ce que vous souhaiteriez...</para>
+
+ </sect3>
+
+ <sect3>
+ <title>Divers</title>
+
+ <para>Tous les sources &ldquo;infect&eacute;s par le DES&rdquo; (e.g.
+ restreints &agrave; l'exportation) ne sont pas inclus. Vous n'aurez
+ que la version &ldquo;internationale&rdquo;. Si cela rencontre
+ suffisamment d'int&eacute;r&ecirc;t, nous mettrons aussi en place une s&eacute;quence
+ <literal>sec-cur</literal>. Il y a aussi une s&eacute;quence de deltas
+ pour le &ldquo;catalogue des logiciels port&eacute;s&rdquo;, mais elle
+ n'a pas re&ccedil;ue beaucoup d'&eacute;cho jusqu'ici. Dites-moi si vous voulez
+ une liste de courrier &eacute;lectronique pour cela aussi et
+ j'envisagerai de la mettre en place.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>Remerciements</title>
+
+ <variablelist>
+ <varlistentry><term>&a.bde;,</term>
+ <listitem>
+ <para>pour son crayon point&eacute; et ses commentaires
+ inestimables.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>&a.sos;,</term>
+
+ <listitem>
+ <para>pour sa patience.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Stephen McKay,</term>
+
+ <listitem>
+ <para>a &eacute;crit <command>ctm_[rs]mail</command>,
+ tr&egrave;s appr&eacute;ci&eacute;.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>&a.jkh;,</term>
+
+ <listitem>
+ <para>pour avoir toujours insist&eacute; pour que je
+ l'am&eacute;liore.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Tous les utilisateurs,</term>
+
+ <listitem>
+ <para>J'esp&egrave;re qu'il vous convient...</para>
+
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+ </sect3>
+ </sect2>
+
+ <sect2 id="cvsup">
+ <title><application>CVSup</application></title>
+
+ <para><emphasis>Contribution de &a.jdp;</emphasis>.</para>
+
+ <sect3 id="cvsup-intro">
+ <title>Introduction</title>
+
+ <para><application>CVSup</application> est un ensemble de logiciels
+ pour la distribution et la mise &agrave; jour d'arborescences de sources
+ &agrave; partir d'une archive originale sur une machine serveur distante.
+ Les sources de FreeBSD sont archiv&eacute;s avec CVS sur une machine
+ centrale de d&eacute;veloppement en Californie. Gr&acirc;ce &agrave;
+ <application>CVSup</application>, les utilisateurs de FreeBSD
+ peuvent facilement tenir &agrave; jour leur propre arborescence de
+ sources.</para>
+
+ <para><application>CVSup</application> utilise le mod&egrave;le
+ <emphasis>pull</emphasis> de mise &agrave; jour. Dans ce sch&eacute;ma, chaque
+ client r&eacute;clame les mises &agrave; jour au serveur, si et quand il le
+ souhaite. Le serveur attend passivement les demandes de mises &agrave;
+ jour de ses clients. Toutes les mises &agrave; jour sont donc faites &agrave;
+ la demande du client. Le serveur n'envoie jamais de mise &agrave; jour
+ non sollicit&eacute;e. Les utiliseurs doivent soit ex&eacute;cuter le client
+ <application>CVSup</application> &agrave; la main pour obtenir une mise
+ &agrave; jour, soit mettre en oeuvre une t&acirc;che
+ <command>cron</command> pour l'ex&eacute;cuter automatiquement et &agrave;
+ intervalles r&eacute;guliers.</para>
+
+ <para>Le terme <application>CVSup</application>, avec les
+ majuscules, d&eacute;signe l'ensemble du logiciel. Ses principales
+ composantes sont le client <command>cvsup</command>, qui s'ex&eacute;cute
+ sur les machines de chaque utilisateur, et le serveur
+ <command>cvsupd</command>, qui tourne sur tous les sites miroir
+ de FreeBSD.</para>
+
+ <para>En lisant la documentation et les listes de diffusion de
+ FreeBSD, vous trouverez des r&eacute;f&eacute;rences &agrave;
+ <application>sup</application>. <application>Sup</application>
+ &eacute;tait le pr&eacute;d&eacute;cesseur de <application>CVSup</application>, et
+ remplissait la m&ecirc;me fonction. <application>CVSup</application> est
+ utilis&eacute; de la m&ecirc;me fa&ccedil;on que <application>sup</application> et,
+ emploie de fait des fichiers de configuration qui sont compatibles
+ avec ceux de <command>sup</command>.
+ <application>Sup</application> n'est plus utilis&eacute; pour le projet
+ FreeBSD, parce que <application>CVSup</application> est &agrave; la fois
+ plus rapide et plus souple.</para>
+
+ </sect3>
+
+ <sect3 id="cvsup-install">
+ <title>Installation</title>
+
+ <para>La m&eacute;thode la plus facile pour installer
+ <application>CVSup</application>, si vous &ecirc;tes sous FreeBSD 2.2
+ ou ult&eacute;rieur est d'utiliser le
+ <ulink url="ftp://ftp.freebsd.org/pub/FreeBSD/ports-current/net/cvsup.tar">logiciel
+ port&eacute;</ulink> du <link linkend="ports">catalogue</link> de
+ FreeBSD ou le
+ <ulink url="ftp://ftp.freebsd.org/pub/FreeBSD/packages-current/net/cvsup-15.3.tgz">&ldquo;paquetage&rdquo;
+ binaire</ulink> correspondant, selon que vous pr&eacute;f&eacute;riez ou non le
+ compiler vous-m&ecirc;me.</para>
+
+ <para>Si vous &ecirc;tes sous FreeBSD-2.1.6 ou 2.1.7, vous ne pouvez
+ malheureusement pas utiliser le binaire tel que, parce qu'il lui
+ faut une version de la biblioth&egrave;que C qui n'existait pas encore
+ sous FreeBSD-2.1.{6,7}. Vous pouvez malgr&eacute; tout facilement vous
+ servir du
+ <ulink url="ftp://ftp.freebsd.org/pub/FreeBSD/ports-current/net/cvsup.tar">logiciel
+ port&eacute;</ulink>, tout comme sous FreeBSD 2.2. D&eacute;compressez
+ simplement l'archive, allez dans le sous-r&eacute;pertoire
+ <filename>cvsup</filename> et tapez
+ <command>make install</command>.</para>
+
+ <para>Comme <application>CVSup</application> est &eacute;crit en <ulink
+ url="http://www.research.digital.com/SRC/modula-3/html/home.html">Modula-3</ulink>, et le &ldquo;paquetage&rdquo; et le logiciel port&eacute; ont
+ besoin que les biblioth&egrave;ques d'ex&eacute;cution de Modula-3 soient
+ install&eacute;es. Elles sont disponibles dans le portage
+ <ulink url="ftp://ftp.freebsd.org/pub/FreeBSD/ports-current/lang/modula-3-lib.tar">lang/modula-3-lib</ulink>
+ et dans le &ldquo;paquetage&rdquo;
+ <ulink url="ftp://ftp.freebsd.org/pub/FreeBSD/packages-current/lang/modula-3-lib-3.6.tgz">lang/modula-3-lib-3.6</ulink>.
+ Si vous suivez les instructions donn&eacute;es pour
+ <command>cvsup</command>, ces biblioth&egrave;ques seront compil&eacute;es et/ou
+ install&eacute;es automatiquement en m&ecirc;me temps que le logiciel port&eacute; ou le
+ &ldquo;paquetage&rdquo; <application>CVSup</application>.</para>
+
+ <para>Les biblioth&egrave;ques Modula-3 sont assez volumineuses, et il
+ n'est pas imm&eacute;diat de les rapatrier et les compiler. Pour cette
+ raison, une troisi&egrave;me possibilit&eacute; est fournie. Vous pouvez vous
+ procurer les ex&eacute;cutables <emphasis>li&eacute;s statiquement</emphasis>
+ de <application>CVSup</application> pour FreeBSD, soit du site de
+ distribution aux USA:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para><ulink
+ url="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup-bin-15.3.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup-bin-15.3.tar.gz</ulink> (client avec interface homme/machine graphique).</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ url="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup.nogui-bin-15.3.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup.nogui-bin-15.3.tar.gz</ulink> (client sans interface homme/machine graphique).</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ url="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsupd-bin-15.3.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsupd-bin-15.3.tar.gz</ulink> (serveur).</para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>ou du site miroir en Allemagne:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para><ulink
+ url="ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsup-bin-15.3.tar.gz">ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsup-bin-15.3.tar.gz</ulink> (client avec interface homme/machine graphique).</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ url="ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsup.nogui-bin-15.3.tar.gz">ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsup.nogui-bin-15.3.tar.gz</ulink> (client sans interface homme/machine graphique).</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ url="ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsupd-bin-15.3.tar.gz">ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsupd-bin-15.3.tar.gz</ulink> (serveur).</para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>La plupart des utilisateurs n'auront besoin que du client. Ces
+ ex&eacute;cutables n'utilisent rien d'autre et fonctionneront avec toutes
+ les versions de FreeBSD, de FreeBSD-2.1.0 &agrave;
+ FreeBSD-current.</para>
+
+ <para>Pour r&eacute;sumer, les options pour installer CVSup sont:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>FreeBSD-2.2 ou ult&eacute;rieur: binaire statique, logiciel
+ port&eacute; ou &ldquo;paquetage&rdquo;,</para>
+ </listitem>
+
+ <listitem>
+ <para>FreeBSD-2.1.6, 2.1.7: binaire statique ou logiciel
+ port&eacute;,</para>
+ </listitem>
+
+ <listitem>
+ <para>FreeBSD-2.1.5 ou ant&eacute;rieur: binaire statique.</para>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect3>
+
+ <sect3 id="cvsup-config">
+ <title>Configuration</title>
+
+ <para>Le fonctionnement de <application>CVSup</application>
+ est contr&ocirc;l&eacute; par un fichier de configuration appel&eacute; fichier
+ <filename>supfile</filename>. Depuis FreeBSD-2.2, il y a
+ des exemples de fichiers <filename>supfile</filename>
+ dans le r&eacute;pertoire
+ <ulink url="file:/usr/share/examples/cvsup">/usr/share/examples/cvsup</ulink>.
+ Ces exemples sont aussi disponibles sur
+ <ulink url="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/examples/cvsup/">ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/examples/cvsup/</ulink>
+ si la version de votre syst&egrave;me est ant&eacute;rieure &agrave; la 2.2.</para>
+
+ <para>Les informations du fichier <filename>supfile</filename>
+ r&eacute;pondent pour
+ <citerefentry><refentrytitle>cvsup</refentrytitle></citerefentry>
+ aux questions suivantes:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para><link linkend="cvsup-config-files">Quels fichiers
+ voulez-vous t&eacute;l&eacute;charger?</link></para>
+ </listitem>
+
+ <listitem>
+ <para><link linkend="cvsup-config-vers">Quelles versions de
+ ces fichiers voulez-vous?</link></para>
+ </listitem>
+
+ <listitem>
+ <para><link linkend="cvsup-config-where">D'o&ugrave; voulez-vous les
+ t&eacute;l&eacute;charger?</link></para>
+ </listitem>
+
+ <listitem>
+ <para><link linkend="cvsup-config-dest">O&ugrave; voulez-vous les
+ mettre sur votre machine?</link></para>
+ </listitem>
+
+ <listitem>
+ <para><link linkend="cvsup-config-status">O&ugrave; voulez-vous
+ mettre les fichiers d'&eacute;tat de votre archive?</link></para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>Dans les sections qui suivent, nous allons renseigner un
+ fichier <filename>supfile</filename> typique en r&eacute;pondant une &agrave;
+ une &agrave; chacune de ces questions. Commen&ccedil;ons par d&eacute;crire la
+ structure d'ensemble d'un fichier
+ <filename>supfile</filename>.</para>
+
+ <para>Un fichier <filename>supfile</filename> est un fichier texte.
+ Les commentaires d&eacute;butent par un <literal>#</literal> et se
+ prolongent jusqu'&agrave; la fin de la ligne. Les lignes vides ou qui ne
+ contiennent que des commentaires sont ignor&eacute;es.</para>
+
+ <para>Les autres lignes d&eacute;crivent les ensembles de fichiers que
+ l'utilisateur souhaite recevoir. Ces lignes commencent par le
+ nom d'un
+ &ldquo;catalogue&rdquo;&nbsp;-&nbsp;<foreignphrase>collection</foreignphrase>,
+ un regroupement logique de fichiers, d&eacute;fini par le serveur.
+ Le nom du catalogue dit au serveur quels fichiers vous voulez.
+ Ce nom est &eacute;ventuellement suivi d'un ou plusieurs champs, s&eacute;par&eacute;s
+ par des blancs. Ces champs r&eacute;pondent aux questions list&eacute;es
+ ci-dessus. Il y a deux sortes de champs: des indicateurs et des
+ valeurs. Un indicateur est un mot-cl&eacute; autonome, e.g.,
+ <literal>delete</literal> ou <literal>compress</literal>. Une
+ valeur commence aussi par un mot-cl&eacute;, mais il est imm&eacute;diatement
+ suivi&nbsp;-&nbsp;sans espace entre les deux&nbsp;-&nbsp;par un
+ <literal>=</literal> et un deuxi&egrave;me mot. Par exemple,
+ <literal>release=cvs</literal> est un champ d&eacute;finissant une
+ valeur.</para>
+
+ <para>Un fichier <filename>supfile</filename> d&eacute;crit en g&eacute;n&eacute;ral plus
+ d'un catalogue &agrave; t&eacute;l&eacute;charger. Un fa&ccedil;on de construire un fichier
+ <filename>supfile</filename> consiste &agrave; pr&eacute;ciser explicitement
+ tous les champs n&eacute;cessaires pour chaque catalogue. Cela g&eacute;n&egrave;re
+ cependant des fichiers <filename>supfile</filename> avec des
+ lignes assez longues, et ce n'est pas tr&egrave;s pratique parce que la
+ plupart des champs sont les m&ecirc;mes pour tous les catalogues du
+ fichier <filename>supfile</filename>.
+ <application>CVSup</application> fournit un m&eacute;canisme pour
+ d&eacute;finir des valeurs par d&eacute;faut pour &eacute;viter ce probl&egrave;me. Les lignes
+ qui commencent par le nom du pseudo-catalogue sp&eacute;cial
+ <literal>*default</literal> servent &agrave; d&eacute;finir des indicateurs et
+ des valeurs qui seront pris par d&eacute;faut pour les catalogues list&eacute;s
+ ensuite dans le fichier <filename>supfile</filename>. Une valeur
+ par d&eacute;faut peut-&ecirc;tre surcharg&eacute;e pour un catalogue particulier, en
+ associant au catalogue lui-m&ecirc;me une valeur diff&eacute;rente. Les valeurs
+ par d&eacute;faut peuvent &ecirc;tre aussi red&eacute;finies, ou bien on peut en
+ d&eacute;finir de nouvelles, en cours de fichier
+ <filename>supfile</filename>, par de nouvelles lignes
+ <literal>*default</literal>.</para>
+
+ <para>Sachant cela, nous allons maintenant mettre au point un
+ fichier <filename>supfile</filename> pour t&eacute;l&eacute;charger et mettre
+ &agrave; jour l'arborescence principale de
+ <link linkend="current">FreeBSD-current</link>.</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>Quels fichiers voulons-nous t&eacute;l&eacute;charger?<anchor
+ id="cvsup-config-files"></para>
+
+ <para>Les fichiers disponibles via
+ <application>CVSup</application> sont regroup&eacute;s par
+ &ldquo;catalogues&rdquo;&nbsp;-&nbsp;<foreignphrase>collections</foreignphrase>.
+ Les catalogues disponibles sont d&eacute;crits
+ <link linkend="cvsup-collec">ici</link>. Dans notre exemple,
+ nous souhaitons recevoir toute l'arborescence principale du
+ syst&egrave;me FreeBSD. Il y a un unique gros catalogue
+ <literal>src-all</literal> qui correspond &agrave; tout cela, &agrave;
+ l'exception du code de cryptographie dont l'exportation est
+ soumise &agrave; des restrictions. Supposons que nous soyons aux
+ USA ou au Canada. Nous pouvons alors obtenir le code de
+ cryptographie avec le catalogue suppl&eacute;mentaire
+ <literal>cvs-crypto</literal>. Pour commencer &agrave; renseigner
+ notre fichier <filename>supfile</filename>,
+ nous listons simplement ces catalogues, chacun sur une
+ ligne.</para>
+
+ <programlisting>
+src-all
+cvs-crypto
+ </programlisting>
+ </listitem>
+
+ <listitem>
+ <para>Quelles version(s) voulons-nous t&eacute;l&eacute;charger?<anchor
+ id="cvsup-config-vers"></para>
+
+ <para>Avec <application>CVSup</application>, vous pouvez obtenir
+ pratiquement n'importe quelle version qui ait exist&eacute; des
+ sources. C'est possible parce que le serveur
+ <citerefentry><refentrytitle>cvsupd</refentrytitle></citerefentry>
+ travaille directement &agrave; partir des archives CVS, qui
+ contiennent toutes les versions. Vous dites quelle version
+ vous voulez en utilisant les valeurs
+ <literal>tag=</literal> et <option>date=</option>.</para>
+
+ <warning>
+ <para>Faites tr&egrave;s attention &agrave; d&eacute;finir correctement la valeur
+ <literal>tag=</literal>. Il y a des &eacute;tiquettes qui ne
+ s'appliquent qu'&agrave; certains catalogues ou fichiers. Si
+ l'&eacute;tiquette que vous donnez n'est pas valable ou mal
+ orthographi&eacute;e, CVSup effacera des fichiers que vous ne
+ vouliez probablement pas supprimer. En particulier,
+ n'utilisez <emphasis>que</emphasis> <literal>tag=.</literal>
+ pour les catalogues <literal>ports-*</literal>.</para>
+ </warning>
+
+ <para>Les valeurs donn&eacute;es avec <literal>tag=</literal> sont
+ des &eacute;tiquettes symboliques d&eacute;finies dans les archives. Il
+ y a deux sortes d'&eacute;tiquettes, les &eacute;tiquettes de r&eacute;vision
+ et les &eacute;tiquettes de branches. Les &eacute;tiquettes de r&eacute;vision
+ s'appliquent &agrave; une r&eacute;vision particuli&egrave;re. Leur signification
+ ne varie pas d'un jour &agrave; l'autre. Les &eacute;tiquettes de branche,
+ &agrave; l'inverse, se rapportent &agrave; la derni&egrave;re r&eacute;vision sur une
+ branche particuli&egrave;re &agrave; un moment donn&eacute;. Comme les &eacute;tiquettes
+ de branche ne se rapportent pas &agrave; une r&eacute;vision particuli&egrave;re,
+ elles peuvent d&eacute;signer demain quelque chose de diff&eacute;rent de
+ ce qu'elles r&eacute;f&eacute;rencent aujourd'hui.</para>
+
+ <para>Voici les &eacute;tiquettes de branches qui peuvent int&eacute;resser les
+ utilisateurs:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>tag=.</term>
+
+ <listitem>
+ <para>La branche principale de d&eacute;veloppement, appel&eacute;e aussi
+ FreeBSD-current.</para>
+ <note>
+ <para>Le <literal>.</literal> n'est pas un
+ ponctuation; C'est le nom de l'&eacute;tiquette.
+ S'applique &agrave; tous les catalogues.</para>
+ </note>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>tag=RELENG_2_2</term>
+
+ <listitem>
+ <para>Branche de d&eacute;veloppement de FreeBSD-2.2.x, connue aussi
+ sous le nom de FreeBSD-stable. Ne s'applique pas aux
+ catalogues ports-*.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>tag=RELENG_2_1_0</term>
+
+ <listitem>
+ <para>Branche de d&eacute;veloppement de FreeBSD-2.1.x - cette branche
+ est largement obsol&egrave;te. Ne s'applique pas aux catalogues
+ ports-*.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>Voici les &eacute;tiquettes de r&eacute;vision qui peuvent vous
+ int&eacute;resser:</para>
+
+ <para>
+ <variablelist>
+ <varlistentry><term>tag=RELENG_2_2_6_RELEASE</term>
+ <listitem>
+ <para>FreeBSD-2.2.6. Ne s'applique pas aux
+ catalogues ports-*.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>tag=RELENG_2_2_5_RELEASE</term>
+
+ <listitem>
+ <para>FreeBSD-2.2.5. Ne s'applique pas aux
+ catalogues ports-*.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>tag=RELENG_2_2_2_RELEASE</term>
+
+ <listitem>
+ <para>FreeBSD-2.2.2. Ne s'applique pas aux
+ catalogues ports-*.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>tag=RELENG_2_2_1_RELEASE</term>
+
+ <listitem>
+ <para>FreeBSD-2.2.1. Ne s'applique pas aux
+ catalogues ports-*.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>tag=RELENG_2_2_0_RELEASE</term>
+
+ <listitem>
+ <para>FreeBSD-2.2.0. Ne s'applique pas aux
+ catalogues ports-*.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>tag=RELENG_2_1_7_RELEASE</term>
+
+ <listitem>
+ <para>FreeBSD-2.1.7. Ne s'applique pas aux
+ catalogues ports-*.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>tag=RELENG_2_1_6_1_RELEASE</term>
+
+ <listitem>
+ <para>FreeBSD-2.1.6.1. Ne s'applique pas aux
+ catalogues ports-*.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>tag=RELENG_2_1_6_RELEASE</term>
+
+ <listitem>
+ <para>FreeBSD-2.1.6. Ne s'applique pas aux
+ catalogues ports-*.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>tag=RELENG_2_1_5_RELEASE</term>
+
+ <listitem>
+ <para>FreeBSD-2.1.5. Ne s'applique pas aux
+ catalogues ports-*.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>tag=RELENG_2_1_0_RELEASE</term>
+
+ <listitem>
+ <para>FreeBSD-2.1.0. Ne s'applique pas aux
+ catalogues ports-*.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+
+ <warning>
+ <para>Faites tr&egrave;s attention &agrave; mentionner pr&eacute;cisement
+ l'&eacute;tiquette exacte. <application>CVSup</application>
+ ne sait pas diff&eacute;rencier une &eacute;tiquette valide d'une
+ &eacute;tiquette qui ne l'est pas. Si vous orthographiez mal
+ l'&eacute;tiquette, <application>CVSup</application> se comportera
+ comme si vous aviez donn&eacute; une &eacute;tiquette valide qui ne
+ se r&eacute;f&egrave;re &agrave; aucun fichier et supprimera alors tous les
+ sources que vous avez d&eacute;j&agrave;.</para>
+ </warning>
+
+ <para>Lorsque vous donnez une &eacute;tiquette de branche, vous
+ recevez normalement les derni&egrave;res versions des fichiers
+ sur cette branche de d&eacute;veloppement. Si vous voulez r&eacute;cup&eacute;rer
+ des versions ant&eacute;rieures, vous pouvez le faire en donnant
+ une date avec le champ <option>date=</option>. Les pages
+ de manuel de
+ <citerefentry><refentrytitle>cvsup</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ vous expliquent comment le faire.</para>
+
+ <para>Dans notre exemple, nous voulons obtenir
+ FreeBSD-current. Nous ajoutons alors la ligne suivante au
+ d&eacute;but de notre fichier <filename>supfile</filename>:</para>
+
+ <programlisting>
+*default tag=.
+ </programlisting>
+
+ <para>Ne sp&eacute;cifier ni le champ <literal>tag=</literal> ni le
+ champ <literal>date=</literal> est un cas particulier
+ important. Vous obtenez alors les fichiers RCS directement
+ des archives du serveur CVS, plut&ocirc;t qu'une version donn&eacute;e.
+ Les d&eacute;veloppeurs pr&eacute;f&egrave;rent g&eacute;n&eacute;ralement cette fa&ccedil;on de
+ travailler. En maintenant une version des archives
+ elles-m&ecirc;mes sur leur syst&egrave;me, ils ont la possibilit&eacute;
+ de consulter l'historique des r&eacute;visions et d'acc&eacute;der aux
+ versions ant&eacute;rieures des fichiers. Cet avantage ne s'obtient
+ cependant qu'au prix d'une consommation importante d'espace
+ disque.</para>
+ </listitem>
+
+ <listitem>
+ <para>D'o&ugrave; voulons-nous les t&eacute;l&eacute;charger?<anchor
+ id="cvsup-config-where"></para>
+
+ <para>Nous employons le champ <literal>host=</literal> pour
+ dire &agrave; <command>cvsup</command> o&ugrave; r&eacute;cup&eacute;rer ses mises &agrave;
+ jour. N'importe lequel des
+ <link linkend="mirrors-cvsup">sites miroir CVSup</link> fera
+ l'affaire, bien que vous devriez essayer de choisir un site
+ proche de vous. Dans notre exemple, nous utiliserons le site
+ principal de distribution de FreeBSD,
+ <hostid role="fqdn">cvsup.FreeBSD.org</hostid>:</para>
+
+ <programlisting>
+*default host=cvsup.FreeBSD.org
+ </programlisting>
+
+ <para>Lors de l'ex&eacute;cution de <command>cvsup</command>, vous
+ pouvez surcharger cette d&eacute;finition sur la ligne de commande,
+ avec l'option <option>-h
+ <replaceable>nom_de_machine</replaceable></option>.</para>
+ </listitem>
+
+ <listitem>
+ <para>O&ugrave; voulons-nous les mettre sur notre
+ machine?<anchor id="cvsup-config-dest"></para>
+
+ <para>Le champ <literal>prefix=</literal> dit &agrave;
+ <command>cvsup</command> o&ugrave; mettre les fichiers qu'il obtient.
+ Dans l'exemple, nous mettrons les fichiers source directement
+ dans notre arborescence des sources,
+ <filename>/usr/src</filename>. Le r&eacute;pertoire
+ <filename>src</filename> est d&eacute;j&agrave; implicitement d&eacute;fini dans
+ les catalogues que nous avons choisis de t&eacute;l&eacute;charger, voici
+ donc la d&eacute;finition correcte:</para>
+
+ <programlisting>
+*default prefix=/usr
+ </programlisting>
+ </listitem>
+
+ <listitem>
+ <para>O&ugrave; <command>cvsup</command> doit-il mettre les fichiers
+ d&eacute;crivant l'&eacute;tat de notre archive?<anchor
+ id="cvsup-config-status"></para>
+
+ <para>Le client
+ <citerefentry><refentrytitle>cvsup</refentrytitle></citerefentry>
+ tient &agrave; jour des fichiers d'&eacute;tat dans ce qui est appel&eacute; le
+ r&eacute;pertoire de &ldquo;base&rdquo;. Ces fichiers
+ permettent &agrave; <application>CVSup</application> de travailler
+ plus efficacement en gardant la trace des modifications que
+ nous avons d&eacute;j&agrave; re&ccedil;ues. Nous utiliserons le r&eacute;pertoire de
+ base standard,
+ <filename>/usr/local/etc/cvsup</filename>:</para>
+
+ <programlisting>
+*default base=/usr/local/etc/cvsup
+ </programlisting>
+
+ <para>Cette configuration est utilis&eacute;e par d&eacute;faut, si elle
+ n'est pas pr&eacute;cis&eacute;e dans le fichier
+ <filename>supfile</filename>, la ligne ci-dessus n'est donc
+ pas indispensable.</para>
+
+ <para>Si votre r&eacute;pertoire de base n'existe pas encore, c'est
+ le moment de le cr&eacute;er. Le client <command>cvsup</command>
+ refusera de s'ex&eacute;cuter si le r&eacute;pertoire de base n'existe
+ pas.</para>
+ </listitem>
+
+ <listitem>
+ <para>Diverses autres options de configuration dans le fichier
+ <filename>supfile</filename>:</para>
+
+ <para>Il y a une autre ligne d'instructions qui doit
+ normalement figurer dans le fichier
+ <filename>supfile</filename>:</para>
+
+ <programlisting>
+*default release=cvs delete use-rel-suffix compress
+ </programlisting>
+
+ <para><literal>release=cvs</literal> dit au serveur d'obtenir
+ les informations des archives principales de FreeBSD. C'est
+ quasiment toujours le cas, mais il existe d'autres
+ possibilit&eacute;s qui sortent du cadre du pr&eacute;sent
+ document.</para>
+
+ <para><literal>delete</literal> donne &agrave;
+ <application>CVSup</application> l'autorisation de supprimer
+ des fichiers. Utilisez toujours cette possibilit&eacute;, de sorte
+ que <application>CVSup</application> puisse vraiment maintenir
+ &agrave; jour votre arborescence des sources.
+ <application>CVSup</application> veille &agrave; ne supprimer que
+ les fichiers qu'il maintient. Les fichiers suppl&eacute;mentaires
+ que vous pourriez avoir ne seront pas touch&eacute;s.</para>
+
+ <para><literal>use-rel-suffix</literal> est ... &eacute;sot&eacute;rique. Si
+ vous voulez vraiment savoir de quoi il retourne, lisez les
+ pages de manuel de
+ <citerefentry><refentrytitle>cvsup</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
+ Sinon, mettez cet indicateur et ne vous en souciez pas
+ plus.</para>
+
+ <para><literal>compress</literal> permet d'utiliser un
+ algorithme de compression de type
+ <citerefentry><refentrytitle>gzip</refentrytitle></citerefentry>
+ sur la ligne de communication. Si votre liaison a la
+ vitesse d'une ligne T1 ou plus, vous ne devriez
+ probablement pas utiliser la compression. Sinon, cela
+ facilite substantiellement les choses.</para>
+ </listitem>
+
+ <listitem>
+ <para>Assembler les morceaux:</para>
+
+ <para>Voici le fichier <filename>supfile</filename> de notre
+ exemple en entier:</para>
+
+ <programlisting>
+*default tag=.
+*default host=cvsup.FreeBSD.org
+*default prefix=/usr
+*default base=/usr/local/etc/cvsup
+*default release=cvs delete use-rel-suffix compress
+
+src-all
+cvs-crypto
+ </programlisting>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect3>
+
+ <sect3>
+ <title>Ex&eacute;cuter <application>CVSup</application></title>
+
+ <para>Vous &ecirc;tes maintenant pr&ecirc;t &agrave; essayer de faire une mise une
+ jour. La ligne de commande &agrave; utiliser est tr&egrave;s simple:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cvsup <replaceable>supfile</replaceable></userinput></screen>
+ </informalexample>
+
+ <para>o&ugrave; <filename><replaceable>supfile</replaceable></filename> est
+ bien s&ucirc;r le nom du fichier <filename>supfile</filename> que vous
+ venez de cr&eacute;er. Si vous &ecirc;tes sous X11, <command>cvsup</command>
+ affichera une interface utilisateur graphique avec des boutons
+ pour les op&eacute;rations courantes. Appuyez sur le bouton
+ &ldquo;go&rdquo; et suivez le d&eacute;roulement des op&eacute;rations.</para>
+
+ <para>Comme, dans l'exemple, vous mettez directement &agrave; jour votre
+ arborescence <filename>/usr/src</filename>, vous devrez ex&eacute;cuter
+ le programme en tant que super-utilisateur
+ <username>root</username> de fa&ccedil;on &agrave; ce que
+ <command>cvsup</command> ait le droit de mettre &agrave; jour ces
+ fichiers. Comme vous venez tout juste de mettre au point votre
+ fichier de configuration et n'avez encore jamais utilis&eacute; le
+ programme, il est compr&eacute;hensible que cela vous rende nerveux.
+ Il est facile de faire un essai sans toucher &agrave; vos pr&eacute;cieux
+ fichiers. Cr&eacute;ez une nouveau r&eacute;pertoire quelque part et donnez-le
+ en argument suppl&eacute;mentaire sur la ligne de commande:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>mkdir /var/tmp/dest</userinput>
+&prompt.root; <userinput>cvsup <replaceable>supfile</replaceable> /var/tmp/dest</userinput></screen>
+ </informalexample>
+
+ <para>Le r&eacute;pertoire indiqu&eacute; sera pris comme destination pour tous
+ les fichiers modifi&eacute;s. <application>CVSup</application> consultera
+ les fichiers habituels dans <filename>/usr/src</filename>, mais ne
+ les modifiera pas et n'en supprimera aucun. Les modifications
+ atterriront dans <filename>/var/tmp/dest/usr/src</filename>.
+ <application>CVSup</application> ne touchera pas non plus &agrave; ses
+ fichiers d'&eacute;tat dans le r&eacute;pertoire de base, lorsqu'il est invoqu&eacute;
+ de cette mani&egrave;re. Les nouvelles versions de ces fichiers iront
+ dans le r&eacute;pertoire mentionn&eacute;. A partir du moment o&ugrave; vous avez les
+ droits en lecture sur <filename>/usr/src</filename>, vous n'avez m&ecirc;me pas besoin d'&ecirc;tre <username>root</username> pour faire ce
+ genre d'essai.</para>
+
+ <para>Si vous n'&ecirc;tes pas sous X11, ou si vous n'aimez tout
+ simplement pas les interfaces graphiques, vous devrez ajouter
+ quelques options suppl&eacute;mentaires sur la ligne de commande
+ de <command>cvsup</command>:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cvsup -g -L 2 supfile</userinput></screen>
+ </informalexample>
+
+ <para>L'option <option>-g</option> dit &agrave; <command>cvsup</command>
+ de ne pas utiliser son interface graphique. C'est automatique si
+ vous n'&ecirc;tes pas sous X11, sinon vous devez le pr&eacute;ciser.</para>
+
+ <para>L'option <option>-L 2</option> dit &agrave; <command>cvsup</command>
+ d'imprimer le d&eacute;tail de ce qu'il est en train de faire. Il y a
+ trois niveaux de trace, de <option>-L 0</option> &agrave;
+ <option>-L 2</option>. Le valeur par d&eacute;faut est de 0, qui &eacute;quivaut
+ &agrave; n'&eacute;mettre que les messages d'erreur.</para>
+
+ <para>Il y a de nombreuses autres options disponibles. Pour en
+ avoir un r&eacute;sum&eacute;, tapez <command>cvsup -H</command>. Pour en avoir
+ une description plus d&eacute;taill&eacute;e, reportez-vous aux pages de
+ manuel.</para>
+
+ <para>Une fois que vous &ecirc;tes satisfait de la fa&ccedil;on dont se passent
+ vos mises &agrave; jour, vous pouvez mettre en place un fonctionnement
+ de <command>cvsup</command> &agrave; intervalles r&eacute;guliers en
+ utilisant
+ <citerefentry><refentrytitle>cron</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Bien &eacute;videmment, vous ne devez pas utiliser l'interface
+ graphique de <command>cvsup</command> quand vous le lancez depuis
+ <command>cron</command>.</para>
+
+ </sect3>
+ <sect3 id="cvsup-collec">
+ <title>Catalogue de fichiers
+ <application>CVSup</application></title>
+
+ <para>Les catalogues de fichiers disponibles via
+ <application>CVSup</application> sont organis&eacute;s hi&eacute;rarchiquement.
+ Il y a quelques gros catalogues, qui sont divis&eacute;s en plus petits
+ sous-catalogues. Recevoir un gros catalogue &eacute;quivaut &agrave; recevoir
+ chacun de ces sous-catalogues. Les relations hi&eacute;rarchiques entre
+ les sous-catalogues sont d&eacute;crites par les indentations dans la
+ liste ci-dessous.</para>
+
+ <para>Les catalogues habituellement les plus employ&eacute;s sont
+ <literal>src-all</literal>, <literal>cvs-crypto</literal>,
+ et <literal>ports-all</literal>. Les autres catalogues ne sont
+ utilis&eacute;s que par de petits groupes de personnes pour des besoins
+ particuliers, et certains sites miroir ne le mettent pas &agrave;
+ disposition.</para>
+
+ <variablelist>
+ <varlistentry><term><literal>cvs-all
+ release=cvs</literal></term>
+ <listitem>
+ <para>L'archive CVS principale de FreeBSD, &agrave; l'exception
+ des logiciels de cryptographie soumis &agrave; des restrictions
+ &agrave; l'exportation.</para>
+
+ <para>
+ <variablelist>
+ <varlistentry><term><literal>distrib
+ release=cvs</literal></term>
+ <listitem>
+ <para>Les fichiers ayant trait &agrave; la distribution et
+ &agrave; la mise en place de sites miroir FreeBSD.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>doc-all
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Les sources du manuel FreeBSD et d'autres
+ documentations.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-all
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Le catalogue des logiciels port&eacute;s de
+ FreeBSD.</para>
+
+ <para>
+ <variablelist>
+ <varlistentry><term><literal>ports-archivers
+ release=cvs</literal></term>
+ <listitem>
+ <para>Outils d'archivage.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-astro
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Logiciels d'astronomie.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-audio
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Support du son.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-base
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Fichiers divers en haut de la
+ hi&eacute;rarchie
+ <filename>/usr/ports</filename>.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-benchmarks
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Evaluation de performances.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-biology
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Biologie.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-cad
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Outils de Conception Assist&eacute;e par
+ Ordinateur.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-chinese
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Support pour le chinois.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-comms
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Logiciels de communication.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-converters
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Conversion entre codages des
+ caract&egrave;res.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-databases
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Bases de donn&eacute;es.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-devel
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Outils de d&eacute;veloppement.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-editors
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Editeurs.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-emulators
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Emulateurs d'autres syst&egrave;mes
+ d'exploitation.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-games
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Jeux.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-german
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Support pour l'allemand.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-graphics
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Outils graphiques.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-japanese
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Support pour le japonais.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-korean
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Support pour le cor&eacute;en.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-lang
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Langages de programmation.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-mail
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Logiciels de courrier
+ &eacute;lectronique.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-math
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Logiciels de calcul
+ num&eacute;rique.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-mbone
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Applications MBone.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-misc
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Utilitaires divers.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-net
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Logiciels r&eacute;seau.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-news
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Logiciels pour les forums de
+ discussion USENET.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-plan9
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Diff&eacute;rents programmes pour
+ Plan9.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-print
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Logiciels d'impression.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-russian
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Support pour le russe.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-security
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Outils de s&eacute;curit&eacute;.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-shells
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Interpr&eacute;teurs de commandes.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-sysutils
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Utilitaires syst&egrave;me.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-textproc
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Outils de traitement de texte (sauf
+ les logiciels de Publication Assist&eacute;e
+ par Ordinateur).</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-vietnamese
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Support pour le vietnamien.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-www
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Logiciels World Wide Web.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>ports-x11
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Logiciels pour X11.</para>
+
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>src-all
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Les sources du syst&egrave;me FreeBSD, &agrave; l'exception
+ des logiciels de cryptographie, soumis &agrave; des
+ restrictions &agrave; l'exportation.</para>
+
+ <para>
+ <variablelist>
+ <varlistentry><term><literal>src-base
+ release=cvs</literal></term>
+ <listitem>
+ <para>Divers fichiers en haut de la
+ hi&eacute;rarchie
+ <filename>/usr/src</filename>.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>src-bin
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Programmes utilisateurs qui peuvent
+ &ecirc;tre utiles en mode mono-utilisateur
+ (<filename>/usr/src/bin</filename>).</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>src-contrib
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Utilitaires et biblioth&egrave;ques d'origine
+ ind&eacute;pendante du projet FreeBSD, employ&eacute;s
+ &agrave; peu pr&egrave;s tels quels
+ (<filename>/usr/src/contrib</filename>).</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>src-etc
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Fichiers de configuration du syst&egrave;me
+ (<filename>/usr/src/etc</filename>).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>src-games
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Jeux
+ (<filename>/usr/src/games</filename>).</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>src-gnu
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Utilitaires soumis &agrave; la licence
+ publique GNU
+ (<filename>/usr/src/gnu</filename>).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>src-include
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Fichiers d'en-t&ecirc;te
+ (<filename>/usr/src/include</filename>).</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>src-kerberosIV
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Logiciel de s&eacute;curit&eacute; KerberosIV
+ (<filename>/usr/src/kerberosIV</filename>).</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>src-lib
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Biblioth&egrave;ques
+ (<filename>/usr/src/lib</filename>).</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>src-libexec
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Programmes syst&egrave;me normalement
+ ex&eacute;cut&eacute;s par d'autres programmes
+ (<filename>/usr/src/libexec</filename>).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>src-release
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Fichiers n&eacute;cessaires &agrave; la g&eacute;n&eacute;ration
+ d'une version de FreeBSD
+ (<filename>/usr/src/release</filename>).</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>src-sbin
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Utilitaires syst&egrave;me pour le mode
+ mono-utilisateur
+ (<filename>/usr/src/sbin</filename>).</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>src-share
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Fichiers qui peuvent &ecirc;tre partag&eacute;s par
+ plusieurs syst&egrave;mes
+ (<filename>/usr/src/share</filename>).</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>src-sys
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Le noyau
+ (<filename>/usr/src/sys</filename>).</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>src-tools
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Divers outils de maintenance de
+ FreeBSD
+ (<filename>/usr/src/tools</filename>).</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>src-usrbin
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Outils utilisateurs
+ (<filename>/usr/src/usr.bin</filename>).</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>src-usrsbin
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Utilitaires syst&egrave;me
+ (<filename>/usr/src/usr.sbin</filename>).</para>
+
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>www
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Sources du site World Wide Web.</para>
+
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>cvs-crypto
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Le code de cryptographie soumis &agrave; des restrictions &agrave;
+ l'exportation.</para>
+
+ <para>
+ <variablelist>
+ <varlistentry><term><literal>src-crypto
+ release=cvs</literal></term>
+ <listitem>
+ <para>Utilitaires et biblioth&egrave;ques restreints &agrave;
+ l'exportation, d'origine ext&eacute;rieure au projet
+ FreeBSD, employ&eacute;s quasiment tels quels
+ (<filename>/usr/src/crypto</filename>).</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>src-eBones
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>Kerberos et DES
+ (<filename>/usr/src/eBones</filename>).</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>src-secure
+ release=cvs</literal></term>
+
+ <listitem>
+ <para>DES
+ (<filename>/usr/src/secure</filename>).</para>
+
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>distrib
+ release=self</literal></term>
+
+ <listitem>
+ <para>Fichier de configuration du serveur CVSup. Utilis&eacute;s
+ par les sites miroir CVSup.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>gnats
+ release=current</literal></term>
+
+ <listitem>
+ <para>Bases de donn&eacute;es GNATS d'historique des bogues.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>mail-archive
+ release=current</literal></term>
+
+ <listitem>
+ <para>Archives des listes de diffusion FreeBSD.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><literal>www
+ release=current</literal></term>
+
+ <listitem>
+ <para>Donn&eacute;es World Wide Web publi&eacute;es. Utilis&eacute;es par les
+ sites miroir WWW.</para>
+
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ </sect3>
+
+ <sect3>
+ <title>Annonces, questions, et rapports de bogues</title>
+
+ <para>La plupart des discussions relatives &agrave;
+ <application>CVSup</application> pour FreeBSD ont lieu sur la
+ &a.hackers;. Les nouvelles versions du logiciel y sont annonc&eacute;es,
+ ainsi que sur la &a.announce;.</para>
+
+ <para>Questions et rapports de bogues doivent &ecirc;tre adress&eacute;s &agrave;
+ l'auteur du programme &agrave; l'adresse
+ <email>cvsup-bugs@polstra.com</email>.</para>
+
+ </sect3>
+ </sect2>
+ </sect1>
+
+ <sect1 id="makeworld">
+ <title>Utiliser <command>make world</command> pour recompiler votre
+ syst&egrave;me</title>
+
+ <para><emphasis>Contribution de &a.nik;.</emphasis></para>
+
+ <para>Une fois que vous avez synchronis&eacute; votre arborescence avec une
+ version donn&eacute;e de FreeBSD (<literal>-stable</literal>,
+ <literal>-current</literal> et ainsi de suite) vous devez utiliser
+ cette arborescence des sources pour reg&eacute;n&eacute;rer votre syst&egrave;me.</para>
+
+ <para>La meilleure source d'information sur la fa&ccedil;on de le faire est
+ aujourd'hui un guide disponible sur
+ <ulink url="&url.tutorials;make-world/index.html">&url.tutorials;make-world</ulink>.</para>
+
+ <para>Une nouvelle version de ce guide sera int&eacute;gr&eacute;e &agrave; ce manuel.</para>
+
+ </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:
+-->
diff --git a/fr_FR.ISO_8859-1/books/handbook/disks/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/disks/chapter.sgml
new file mode 100755
index 0000000000..fb90e9cfa1
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/disks/chapter.sgml
@@ -0,0 +1,191 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+<chapter id="disks">
+ <title>Disques</title>
+
+ <para><emphasis>Contribution de &a.obrien; 26 April 1998</emphasis></para>
+ &trans.a.haby;
+
+ <para>Supposons que nous voulions ajouter un second disque SCSI &agrave; une machine
+ qui n'a pour l'instant qu'un seul disque. Commen&ccedil;ons par arr&ecirc;ter l'ordinateur
+ et installer le disque en suivant les instructions donn&eacute;es pour l'ordinateur,
+ le contr&ocirc;leur et le disque. Comme il y a de nombreuses variantes pour ces
+ proc&eacute;dures, les d&eacute;tails d&eacute;bordent le cadre de ce document.</para>
+
+ <para>Ouvrons maintenant un session sous le compte
+ super-utilisateur <username>root</username>. Apr&egrave;s
+ avoir install&eacute; le disque, consultons le fichier
+ <filename>/var/run/dmesg.boot</filename>
+ pour v&eacute;rifier que le disque a &eacute;t&eacute; reconnu. Dans notre exemple, le disque
+ que nous venons d'ajouter sera le p&eacute;riph&eacute;rique <filename>sd1</filename>
+ que nous monterons sur le r&eacute;pertoire <filename>/1</filename>. (Si vous
+ ajoutez un disque IDE, remplacez <filename>sd</filename> par
+ <filename>wd</filename>).</para>
+
+ <para>Comme FreeBSD tourne sur des ordinateurs compatibles IBM-PC, il doit
+ prendre en compte les partitions PC BIOS. Celles-ci sont diff&eacute;rentes des
+ partitions BSD traditionnelles. Un disque PC peut avoir jusqu'&agrave; quatre
+ partitions. Si le disque va &ecirc;tre r&eacute;serv&eacute; &agrave; FreeBSD, vous pouvez utiliser
+ le mode <emphasis>d&eacute;di&eacute;</emphasis>. Sinon FreeBSD devra utiliser une des
+ partitions PC BIOS. FreeBSD appelle les partitions PC BIOS
+ <emphasis>tranches (&ldquo;slices&rdquo;)</emphasis> pour les distinguer
+ des partitions BSD traditionnelles. Vous pouvez aussi utiliser des
+ tranches sur un disque d&eacute;di&eacute; &agrave; FreeBSD, sur une machine o&ugrave; un autre
+ syst&egrave;me d'exploitation est aussi install&eacute;. Cela &eacute;vite de perturber
+ l'utilitaire <command>fdisk</command> de l'autre syst&egrave;me
+ d'exploitation.</para>
+
+ <para>Dans le cas d'une tranche, le disque ajout&eacute; deviendra le p&eacute;riph&eacute;rique
+ <filename>/dev/sd1s1e</filename>. Ce qui se lit: disque SCSI, num&eacute;ro
+ d'unit&eacute; 1 (second disque SCSI), tranche 1 (partition PC BIOS 1), et
+ partition BSD <filename>e</filename>. Dans le cas d'un disque d&eacute;di&eacute;, ce
+ sera simplement <filename>/dev/sd1e</filename>.</para>
+
+ <sect1>
+ <title>Utiliser sysinstall</title>
+
+ <para>Vous pouvez utiliser <command>/stand/sysinstall</command>
+ et ses menus simples d'emploi pour
+ partitionner et libeller le nouveau disque.
+ Ouvrez une session sous le compte
+ super-utilisateur <username>root</username>
+ ou servez-vous de la commande <command>su</command>. Lancez
+ <command>/stand/sysinstall</command> et choisissez le menu
+ <literal>Configure</literal> (Configurer). Dans le <literal>FreeBSD
+ Configuration Menu</literal> (Menu de Configuration de FreeBSD),
+ descendez dans la liste et s&eacute;lectionnez <literal>Partition</literal>.
+ Vous devriez voir appara&icirc;tre la liste des disques durs de votre
+ syst&egrave;me. Si <literal>sd1</literal> n'est pas dans la liste, il vous
+ faut v&eacute;rifier votre installation physique et le r&eacute;sultat de la
+ commande <command>dmesg</command> dans le fichier
+ <filename>/var/run/dmesg.boot</filename>.</para>
+
+ <para>S&eacute;lectionnez <literal>sd1</literal> pour allez dans le
+ <literal>FDISK Partition Editor</literal> (l'&eacute;diteur de
+ Partition FDISK). Prenez l'option <literal>A</literal> pour utiliser
+ tout le disque pour FreeBSD. Lorsque l'on vous demande si vous
+ voulez vous garder la possibilit&eacute; de pouvoir coop&eacute;rer avec d'autres
+ syst&egrave;mes d'exploitation (&ldquo;remain cooperative with any future
+ possible operating systems&rdquo;), r&eacute;pondez par l'affirmative
+ (<literal>YES</literal>). Enregistrez vos modifications sur disque
+ avec <command>W</command>. Quittez maintenant l'&eacute;diteur FDISK avec
+ <command>q</command>. La prochaine question concernera l'enregistrement
+ de d&eacute;marrage (&ldquo;Master Boot Record&rdquo;). Comme vous ajoutez un
+ disque &agrave; un syst&egrave;me d&eacute;j&agrave; op&eacute;rationnel, choisissez <literal>None</literal>
+ (aucun).</para>
+
+ <para>Allez maintenant dans le <literal>Disk Label Editor</literal> (l'&eacute;diteur
+ de label du disque). C'est l&agrave; que vous allez cr&eacute;er les partitions BSD
+ traditionnelles. Un disque peut avoir jusqu'&agrave; huit partitions, libell&eacute;es
+ de a &agrave; h. Certains de ces labels ont des significations particuli&egrave;res.
+ La partition <literal>a</literal> est la partition racine (<filename>/</filename>).
+ Seul votre disque syst&egrave;me (e.g., celui &agrave; partir duquel vous d&eacute;marrez)
+ doit avoir une partition <literal>a</literal>. La partition
+ <literal>b</literal> sert &agrave; la pagination, vous pouvez avoir plusieurs
+ disques avec des partitions de pagination. La partition <literal>c</literal>
+ d&eacute;signe la totalit&eacute; du disque en mode d&eacute;di&eacute;, ou toute la tranche FreeBSD
+ dans le cas contraire. Les autres partitions sont &agrave; usage g&eacute;n&eacute;ral.</para>
+
+ <para>L'&eacute;diteur de label de <command>sysinstall</command> d&eacute;finit par d&eacute;faut la
+ partition <literal>e</literal> comme premi&egrave;re partition qui n'est ni
+ racine, ni de pagination. Dans l'&eacute;diteur de label, cr&eacute;ez un seul
+ syst&egrave;me de fichiers avec l'option <command>C</command>. Quand on vous
+ demande si ce sera un syst&egrave;me de fichier (FS) ou une partition de
+ pagination, choisissez <literal>FS</literal> et indiquez un point de
+ montage (e.g, <filename>/mnt</filename>). Lorsque vous ajoutez un
+ disque &agrave; un syst&egrave;me d&eacute;j&agrave; install&eacute;, <command>sysinstall</command> ne
+ cr&eacute;e pas d'entr&eacute;e dans <filename>/etc/fstab</filename>, donc le nom
+ que vous donnez au point de montage n'a pas d'importance.</para>
+
+ <para>Vous pouvez maintenant &eacute;crire le nouveau label sur le disque et y
+ cr&eacute;er un syst&egrave;me de fichiers. Faites-le avec la commande <command>W</command>.
+ Ne faites pas attention aux erreurs de <command>sysinstall</command>
+ qui vous disent que la nouvelle partition ne peut pas &ecirc;tre mont&eacute;e. Quittez
+ maintenant l'&eacute;diteur de label et <command>sysinstall</command>.</para>
+
+ <para>La derni&egrave;re &eacute;tape consiste &agrave; &eacute;diter le fichier
+ <filename>/etc/fstab</filename> pour y ajouter une entr&eacute;e pour votre nouveau
+ disque.</para>
+ </sect1>
+
+ <sect1>
+ <title>Employer les utilitaires sur la ligne de commande</title>
+
+ <sect2>
+ <title>* Utiliser les tranches&nbsp;-&nbsp;&ldquo;slices&rdquo;</title>
+
+ <para></para>
+ </sect2>
+
+ <sect2>
+ <title>Disque d&eacute;di&eacute;</title>
+
+ <para>Si le nouveau disque n'est pas destin&eacute; &agrave; &ecirc;tre partag&eacute; avec un autre
+ syst&egrave;me d'exploitation, vous pouvez utiliser le mode <literal>d&eacute;di&eacute;</literal>.
+ Rappelez-vous que ce mode peut perturber les syst&egrave;mes d'exploitation Microsoft;
+ cependant, ils ne toucheront pas au disque. OS/2 d'IBM, au contraire,
+ &ldquo;s'approprie&rdquo; toute partition qu'il trouve et ne reconna&icirc;t
+ pas.</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/rsd1 bs=1k count=1</userinput>
+&prompt.root; <userinput>disklabel -Brw sd1 auto</userinput>
+&prompt.root; <userinput>disklabel -e sd</userinput>1 # cr&eacute;er la partition `e'
+&prompt.root; <userinput>newfs -d0 /dev/rsd1e</userinput>
+&prompt.root; <userinput>mkdir -p /1</userinput>
+&prompt.root; <userinput>vi /etc/fstab</userinput> # ajouter une entr&eacute;e pour /dev/sd1e
+&prompt.root; <userinput>mount /1</userinput></screen>
+ </informalexample>
+
+ <para>Voici une autre m&eacute;thode:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/rsd1 count=2</userinput>
+&prompt.root; <userinput>disklabel /dev/rsd1 | disklabel -BrR sd1 /dev/stdin</userinput>
+&prompt.root; <userinput>newfs /dev/rsd1e</userinput>
+&prompt.root; <userinput>mkdir -p /1</userinput>
+&prompt.root; <userinput>vi /etc/fstab</userinput> # ajouter une entr&eacute;e pour /dev/sd1e
+&prompt.root; <userinput>mount /1</userinput></screen>
+ </informalexample>
+ </sect2>
+ </sect1>
+
+ <sect1>
+ <title>* Autres types de disques</title>
+
+ <sect2>
+ <title>* Disques Zip</title>
+
+ <para></para>
+ </sect2>
+
+ <sect2>
+ <title>* Disques Jazz</title>
+
+ <para></para>
+ </sect2>
+
+ <sect2>
+ <title>* Disques Sequest</title>
+
+ <para></para>
+ </sect2>
+ </sect1>
+</chapter>
+
+<!--
+ Local Variables:
+ mode: sgml
+ sgml-declaration: "../chapter.decl"
+ sgml-indent-data: t
+ sgml-omittag: nil
+ sgml-always-quote-attributes: t
+ sgml-parent-document: ("../handbook.sgml" "part" "chapter")
+ End:
+-->
diff --git a/fr_FR.ISO_8859-1/books/handbook/eresources/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/eresources/chapter.sgml
new file mode 100644
index 0000000000..4fc16d23e4
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/eresources/chapter.sgml
@@ -0,0 +1,1357 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: 1.11
+-->
+
+<chapter id="eresources">
+ <title>Ressources sur Internet</title>
+
+ <para><emphasis>Contribution de &a.jkh;.</emphasis></para>
+ &trans.a.haby;
+
+ <para>L'&eacute;volution rapide de FreeBSD rend peu pratique le suivi des
+ derniers d&eacute;veloppements via des supports imprim&eacute;s. Les
+ supports &eacute;lectroniques sont le meilleur, sinon la plupart du temps,
+ le seul moyen, de se tenir au courant des derni&egrave;res
+ &eacute;volutions. Comme FreeBSD est une entreprise b&eacute;n&eacute;vole,
+ la communaut&eacute; des utilisateurs sert aussi souvent de &ldquo;service
+ de support technique&rdquo;, le courrier &eacute;lectronique et les forums
+ de discussion &eacute;tant le meilleur moyen de contacter cette
+ communaut&eacute;.</para>
+
+ <para>Les points de contact les plus importants avec la communaut&eacute; des
+ utilisateurs de FreeBSD sont list&eacute;s ci-dessous. Si vous connaissez
+ d'autres ressources qui n'y figurent pas, communiquez-les s'il vous
+ pla&icirc;t &agrave; la &a.doc;, de fa&ccedil;on &agrave; ce qu'elles
+ soient aussi mentionn&eacute;es.</para>
+
+ <sect1 id="eresources-mail">
+ <title>Listes de diffusion</title>
+
+ <para>Bien que nombre des d&eacute;veloppeurs de FreeBSD lisent les forums
+ de discussion, nous ne pouvons vous garantir de r&eacute;ponse en temps et
+ heure &agrave; vos questions (ni m&ecirc;me de r&eacute;ponse tout court)
+ si vous ne les poster que sur un des groupes
+ <literal>comp.unix.bsd.freebsd.*</literal>. En posant vos questions sur
+ la liste de diffusion appropri&eacute;e, vous nous contacterez en
+ m&ecirc;me temps qu'un auditoire FreeBSD concentr&eacute;, ce qui vous
+ garantit invariablement une meilleure r&eacute;ponse (ou au moins une
+ r&eacute;ponse plus rapide).</para>
+
+ <para>Les directives d'usage des diff&eacute;rentes listes sont
+ donn&eacute;es &agrave; la fin de ce document. <emphasis>Lisez-les
+ s'il vous pla&icirc;t avant de vous inscrire ou d'envoyer du courrier
+ &agrave; une liste</emphasis>. La plupart des souscripteurs de nos listes
+ recoivent maintenant des centaines de messages en rapport avec FreeBSD
+ tous les jours, et en d&eacute;finissant des directives et des
+ r&egrave;gles d'utilisation, nous essayons de garder assez
+ &eacute;lev&eacute; le rapport signal/bruit sur ces listes. Ne pas le
+ faire am&egrave;nerait l'&eacute;chec des listes de diffusion comme
+ moyen efficace de communication pour le projet.</para>
+
+ <para>Des archives de toutes les listes de diffusion sont conserv&eacute;es
+ et peuvent &ecirc;tre consult&eacute;es sur le
+ <ulink URL="http://www.FreeBSD.ORG/search.html">serveur World Wide Web de
+ FreeBSD</ulink>. Les archives interrogeables par mots-cl&eacute;s sont un
+ excellent moyen de trouver des r&eacute;ponses aux questions
+ fr&eacute;quemment pos&eacute;es et devraient &ecirc;tre consult&eacute;es
+ avant de poster une question.</para>
+
+ <sect2 id="eresources-summary">
+ <title>R&eacute;sum&eacute; des listes de diffusion</title>
+
+ <para><emphasis>Listes g&eacute;n&eacute;rales&nbsp;:</emphasis> Les
+ listes suivantes sont des listes g&eacute;n&eacute;rales auxquelles
+ chacun est libre (et encourag&eacute;) &agrave; participer&nbsp;:</para>
+
+ <informaltable frame="none">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Liste</entry>
+ <entry>Objet</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>freebsd-advocacy</entry>
+ <entry>Propagande FreeBSD</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-announce</entry>
+ <entry>Ev&eacute;nements importants concernant le projet</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-bugs</entry>
+ <entry>Rapports de bogues</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-chat</entry>
+ <entry>Sujets non-techniques en rapport avec la communaut&eacute;
+ FreeBSD</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-current</entry>
+ <entry>Discussions concernant l'utilisation de
+ FreeBSD-current</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-isp</entry>
+ <entry>Pour les fournisseurs d'acc&egrave;s Internet utilisant
+ FreeBSD</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-jobs</entry>
+ <entry>Emplois et interventions de consultants en rapport avec
+ FreeBSD</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-newbies</entry>
+ <entry>Activit&eacute;s et discussions entre nouveaux utilisateurs
+ de FreeBSD</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-questions</entry>
+ <entry>Questions des utilisateurs et support technique</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-stable</entry>
+ <entry>Discussions concernant l'utilisation de
+ FreeBSD-stable</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para><emphasis>Listes techniques&nbsp;:</emphasis> Les listes suivantes
+ sont destin&eacute;es aux discussions techniques. Vous devriez lire les
+ directives relatives &agrave; chaque liste avant d'y souscrire ou d'y
+ adresser du courrier parce que ce sont des r&egrave;gles fermes quand
+ &agrave; leur utilisation et leur contenu.</para>
+
+ <informaltable frame="none">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Liste</entry>
+ <entry>Objet</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>freebsd-afs</entry>
+ <entry>Portage d'AFS sous FreeBSD</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-alpha</entry>
+ <entry>Portage de FreeBSD sur Alpha</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-doc</entry>
+ <entry>R&eacute;daction de documents relatifs &agrave;
+ FreeBSD</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-database</entry>
+ <entry>Discussions &agrave; propos de l'utilisation et du
+ d&eacute;veloppement de bases de donn&eacute;es sous
+ FreeBSD</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-emulation</entry>
+ <entry>Emulation d'autres syst&egrave;mes tels que
+ Linux/DOS/Windows</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-fs</entry>
+ <entry>Syst&egrave;mes de fichiers</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-hackers</entry>
+ <entry>Discussions techniques g&eacute;n&eacute;rales</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-hardware</entry>
+ <entry>Discussions g&eacute;n&eacute;rales sur le mat&eacute;riel
+ utilisable avec FreeBSD</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-isdn</entry>
+ <entry>D&eacute;veloppeurs ISDN</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-java</entry>
+ <entry>D&eacute;veloppeurs Java et personnes portant les JDKs
+ sous FreeBSD</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-mobile</entry>
+ <entry>Discussions &agrave; propos des portables</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-mozilla</entry>
+ <entry>Portage de mozilla sous FreeBSD</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-net</entry>
+ <entry>Discussions sur le r&eacute;seau et le code source
+ TCP/IP</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-platforms</entry>
+ <entry>A propos des portages sur les plates-formes
+ non-Intel</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-ports</entry>
+ <entry>Discussions sur le catalogue des logiciels
+ port&eacute;s</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-scsi</entry>
+ <entry>Sous-syst&egrave;me SCSI</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-security</entry>
+ <entry>Questions concernant la securit&eacute;</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-small</entry>
+ <entry>Utilisation de FreeBSD pour des applications
+ embarqu&eacute;es</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-smp</entry>
+ <entry>Discussions sur l'impl&eacute;mentation du MultiProcessing
+ [A]Sym&eacute;trique</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-sparc</entry>
+ <entry>Portage de FreeBSD sur les syst&egrave;mes Sparc</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-tokenring</entry>
+ <entry>Support de l'anneau &agrave; jetons sous FreeBSD</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para><emphasis>Listes &agrave; acc&egrave;s restreint&nbsp;:</emphasis>
+ Il faut l'accord de <email>core@FreeBSD.ORG</email> pour pouvoir
+ souscrire aux listes qui suivent, bien que chacun soit libre d'y
+ adresser des messages s'ils satisfont &agrave; leurs directives
+ d'utilisation. C'est aussi une bonne id&eacute;e d'&ecirc;tre d'abord
+ actif sur les listes techniques avant de souscrire &agrave; une des
+ listes r&eacute;serv&eacute;es.</para>
+
+ <informaltable frame="none">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Liste</entry>
+ <entry>Objet</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>freebsd-admin</entry>
+ <entry>Questions administratives</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-arch</entry>
+ <entry>Discussions sur l'architecture et
+ l'impl&eacute;mentation</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-core</entry>
+ <entry>Equipe de base FreeBSD</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-hubs</entry>
+ <entry>Pour ceux qui g&egrave;rent des sites miroir (questions
+ d'infrastructure)</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-install</entry>
+ <entry>D&eacute;veloppements relatifs &agrave;
+ la proc&eacute;dure d'installation</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-security-notifications</entry>
+ <entry>Avis de s&eacute;curit&eacute;</entry>
+ </row>
+
+ <row>
+ <entry>freebsd-user-groups</entry>
+ <entry>Coordination des groupes d'utilisteurs</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para><emphasis>Listes CVS&nbsp;:</emphasis> Les listes qui suivent sont
+ destin&eacute;es &agrave; ceux qui souhaitent voir les traces des
+ modifications de dif&eacute;rentes parties de l'arborescence des
+ sources. Ce sont des listes en <emphasis>lecture seule</emphasis> et il
+ ne faut pas leur adresser de courrier.</para>
+
+ <informaltable frame="none">
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>Liste</entry>
+ <entry>Partie du code</entry>
+ <entry>Description du source concern&eacute;</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>cvs-all</entry>
+ <entry>/usr/src</entry>
+ <entry>Toutes les modifications de l'arborescence
+ (sur-ensemble)</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect2>
+
+ <sect2 id="eresources-subscribe">
+ <title>Comment souscrire</title>
+
+ <para>Toutes les listes de diffusion sont g&eacute;r&eacute;es sur <hostid
+ role="fqdn">FreeBSD.ORG</hostid>. Pour poster sur une liste
+ donn&eacute;e, vous envoyez simplement votre courrier &agrave;
+ <email><replaceable>nom-de-la-liste</replaceable>@FreeBSD.ORG</email>.
+ Il sera alors redistribu&eacute; aux membres de la liste dans le monde
+ entier.</para>
+
+ <para>Pour souscrire &agrave; une liste, envoyez un courrier
+ &agrave; &a.majordomo; et incluez&nbsp;:</para>
+
+ <programlisting>
+subscribe &lt;nom-de-la-liste&gt; [&lt;adresse optionnelle&gt;]</programlisting>
+
+ <para>dans le corps de votre message. Par exemple, pour vous inscrire
+ &agrave; &a.announce;, vous taperiez&nbsp;:</para>
+
+ <screen>&prompt.user; <userinput>mail majordomo@FreeBSD.ORG</userinput>
+subscribe freebsd-announce
+^D</screen>
+
+ <para>Si vous voulez vous inscrire sous un autre nom, ou si vous envoyez
+ une demande d'inscription pour une liste de diffusion locale (c'est plus
+ efficace si vous avez plusieurs personnes int&eacute;ress&eacute;es sur
+ un m&ecirc;me site, et tr&egrave;s appr&eacute;ci&eacute; par
+ nous&nbsp;!), vous taperiez quelque chose comme&nbsp;:</para>
+
+ <screen>&prompt.user; <userinput>mail majordomo@FreeBSD.ORG</userinput>
+subscribe freebsd-announce annonces-locales@un-site.com
+^D</screen>
+
+ <para>Enfin, il est aussi possible de vous d&eacute;sabonner d'une liste,
+ d'obtenir la liste des autres membres de la liste, ou d'obtenir la liste
+ de toutes les listes en envoyant aussi des messages de contr&ocirc;le
+ &agrave; &a.majordomo; Pour avoir la liste compl&egrave;te des
+ commandes disponibles, faites&nbsp;:</para>
+
+ <screen>&prompt.user; <userinput>mail majordomo@FreeBSD.ORG</userinput>
+help
+^D</screen>
+
+ <para>Nous voudrions vous demander encore de garder aux discussions sur
+ les listes techniques leur contenu technique. Si seuls les points
+ &ldquo;saillants&rdquo; vous int&eacute;ressent, nous vous
+ sugg&eacute;rons de souscrire &agrave; &a.announce;, dont le trafic
+ n'est qu'occasionnel.</para>
+ </sect2>
+
+ <sect2 id="eresources-charters">
+ <title>Directives d'utilisation des listes</title>
+
+ <para>Il y a pour <emphasis>toutes</emphasis> les listes de diffusion
+ FreeBSD des r&egrave;gles de base auxquelles tous leurs utilisateurs
+ doivent se conformer. En cas de non respect de ces r&egrave;gles, et
+ apr&egrave;s deux (2) avertissements &eacute;crits de la part du
+ &ldquo;<foreignphrase>Postmaster</foreignphrase>&rdquo;
+ <email>postmaster@freebsd.org</email>, au troisi&egrave;me manquement,
+ le contrevenant sera d&eacute;sabonn&eacute; de toutes les listes de
+ diffusion de FreeBSD, et ses messages ult&eacute;rieurs filtr&eacute;s.
+ Nous regrettons de devoir prendre de telles mesures, mais l'Internet
+ d'aujourd'hui est un milieu apparemment assez hostile, et beaucoup
+ ne se rendent pas compte de la fragilit&eacute; de certains de ses
+ m&eacute;canismes.</para>
+
+ <para>R&egrave;gles g&eacute;n&eacute;rales&nbsp;:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Le sujet de tout message doit correspondre au sujet
+ trait&eacute; par la liste &agrave; laquelle il est adress&eacute;,
+ e.g., si c'est une liste sur un sujet technique, le contenu du
+ message ne devra &ecirc;tre que technique. Le bavardage continu et
+ les pol&eacute;miques ne font que d&eacute;grader pour tous ses
+ utilisateurs la qualit&eacute; de la liste de diffusion et ne seront
+ pas tol&eacute;r&eacute;s. La &a.chat; est disponible pour les
+ discussions sans sujet particulier et doit &ecirc;tre
+ utilis&eacute;e dans ce cas.</para>
+ </listitem>
+
+ <listitem>
+ <para>Aucun message ne doit &ecirc;tre adress&eacute; &agrave; plus de
+ 2 listes de diffusion, et &agrave; 2 listes uniquement au cas
+ o&ugrave; il y a n&eacute;cessit&eacute; &eacute;vidente de poster
+ sur les 2 listes. Pour la plupart des listes, il y a
+ d&eacute;j&agrave; beaucoup de souscripteurs communs, et mis
+ &agrave; part les cas les plus &eacute;sot&eacute;riques (par
+ exemple &ldquo;-stable &amp; -scsi&rdquo;), il n'y a pas vraiment de
+ raison de poster sur plus d'une liste &agrave; la fois. Si vous
+ recevez un message o&ugrave; apparaissent sur la ligne
+ <literal>Cc</literal> plusieurs listes de diffusion, vous devez
+ purger cette ligne <literal>cc</literal> avant d'y r&eacute;pondre.
+ Vous &ecirc;tes <emphasis>toujours</emphasis> responsable de vos
+ exp&eacute;ditions crois&eacute;es, peu importe qui en a
+ &eacute;t&eacute; &agrave; l'origine.</para>
+ </listitem>
+
+ <listitem>
+ <para>Les attaques personnelles et les jurons (dans le cadre d'une
+ discussion) ne sont pas autoris&eacute;s, et cela concerne tout
+ autant les utilisateurs que les d&eacute;veloppeurs. Les
+ manquements grossiers &agrave; la &ldquo;n&eacute;tiquette&rdquo;,
+ citer ou reposter des courriers priv&eacute;s quand l'accord n'en
+ a pas &eacute;t&eacute; donn&eacute; et ne le sera pas, par exemple,
+ sont d&eacute;sapprouv&eacute;s, mais pas particuli&egrave;rement
+ r&eacute;prim&eacute;s. Il y a
+ <emphasis>n&eacute;anmoins</emphasis> de rares cas o&ugrave; de tels
+ contenus rentrent dans le cadre des violations aux r&egrave;gles
+ d'utilisation d'une liste, et entra&icirc;neront donc probablement
+ un avertissement (ou une exclusion) pour cette seule raison.</para>
+ </listitem>
+
+ <listitem>
+ <para>La publicit&eacute; pour des produits ou services sans rapport
+ avec FreeBSD est rigoureusement interdite et entra&icirc;nera l'exclusion imm&eacute;diate s'il s'av&egrave;re que le contrevenant
+ adresse ses publicit&eacute;s par &ldquo;courrier
+ &eacute;lectronique non
+ sollicit&eacute;&rdquo;&nbsp;-&nbsp;<foreignphrase>spam</foreignphrase>.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para><emphasis>Directives liste par liste&nbsp;:</emphasis></para>
+
+ <variablelist>
+ <varlistentry>
+ <term>FREEBSD-AFS</term>
+
+ <listitem>
+ <para><emphasis>Syst&egrave;me de fichiers
+ AFS&nbsp;-&nbsp;<foreignphrase>Andrew File
+ System</foreignphrase></emphasis></para>
+
+ <para>C'est une liste de discussion sur le portage et l'utilisation
+ d'AFS de CMU/Transarc.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-ADMIN</term>
+
+ <listitem>
+ <para><emphasis>Questions administratives</emphasis></para>
+
+ <para>Cette liste est r&eacute;serv&eacute;e &agrave la discussion
+ des questions relatives &agrave;
+ <hostid role="domainname">freebsd.org</hostid> et pour signaler
+ les probl&egrave;mes et abus de ressources du projet. C'est une
+ liste ferm&eacute;e, bien que quiconque puisse y signaler un
+ probl&egrave;me (avec nos syst&egrave;mes&nbsp;!).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-ANNOUNCE</term>
+
+ <listitem>
+ <para><emphasis>Ev&eacute;nements importants</emphasis></para>
+
+ <para>C'est une liste pour les gens int&eacute;ress&eacute;s
+ uniquement par les annonces occasionnelles d'&eacute;venements
+ FreeBSD importants. Cela inclut les annonces d'instantan&eacute;s
+ et autres versions. Cela comprend aussi les annonces de nouvelles
+ fonctionnalit&eacute;s de FreeBSD. Il peut y avoir aussi appel
+ &agrave; volontaires, etc. C'est une liste de faible volume et
+ rigoureusement mod&eacute;r&eacute;e.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-ARCH</term>
+
+ <listitem>
+ <para><emphasis>Discussions concernant l'architecture et
+ l'impl&eacute;mentation</emphasis></para>
+
+ <para>C'est une liste mod&eacute;r&eacute;e pour discuter de
+ l'architecture de FreeBSD. Les messages y seront habituellement
+ de nature technique, bien que le mod&eacute;rateur puisse
+ (occasionnellement) laisser passer d'autres messages qu'il juge
+ n&eacute;cessaire de transmettre aux autres membres de la liste.
+ Des exemples de sujets qui cadrent avec cette listes
+ sont&nbsp;:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Comment revoir le syst&egrave;me de compilation pour que
+ plusieurs compilations personnalis&eacute;es puissent
+ &ecirc;tre effectu&eacute;es en m&ecirc;me temps,</para>
+ </listitem>
+
+ <listitem>
+ <para>Que faut-il corriger dans VFS pour que les couches
+ Heidemann fonctionnent,</para>
+ </listitem>
+
+ <listitem>
+ <para>Comment modifier l'interface des pilotes de
+ p&eacute;riph&eacute;riques pour que la m&ecirc;me interface
+ fonctionne proprement sur diff&eacute;rents bus et
+ architectures,</para>
+ </listitem>
+
+ <listitem>
+ <para>Comment &eacute;crire un pilote
+ r&eacute;seau&nbsp;?</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Le mod&eacute;rateur se r&eacute;serve le droit d'apporter des
+ corrections mineures (orthographe, grammaire, simplification) aux
+ messages qui sont post&eacute;s sur la liste. Le volume de la
+ liste restera faible, ce qui peut impliquer de reporter des sujets
+ tant qu'une discussion en cours n'est pas termin&eacute;e.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-BUGS</term>
+
+ <listitem>
+ <para><emphasis>Rapports de bogues</emphasis></para>
+
+ <para>C'est la liste pour &eacute;mettre les rapports de bogues de
+ FreeBSD. Chaque fois que c'est possible, les rapports de bogues
+ doivent &ecirc;tre soumis avec &man.send-pr.1; ou son
+ <ulink URL="http://www.freebsd.org/send-pr.html">interface
+ Web</ulink>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-CHAT</term>
+
+ <listitem>
+ <para><emphasis>Sujets non techniques en rapport avec la
+ communaut&eacute; FreeBSD</emphasis></para>
+
+ <para>Cette liste re&ccedil;oit le r&eacute;sidu des discussions sur
+ les autres listes&nbsp;: informations sociologiques, et non
+ techniques. Cela va de savoir si Jordan ressemble ou non au furet
+ de la bande dessin&eacute;e, s'il faut tapez en majuscules, qui
+ boit trop de caf&eacute;, quelle est la meilleure bi&egrave;re,
+ qui brasse de la bi&egrave;re dans sa cave, et ainsi de suite.
+ Les annonces occasionnelles d'&eacute;v&eacute;nements importants
+ (les prochaines f&ecirc;tes, mariages, naissances, nouveaux
+ emplois, etc.) peuvent &ecirc;tre adress&eacute;es aux listes
+ techniques, mais doivent ensuite &ecirc;tre redirig&eacute;es sur
+ la &a.chat;.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-CORE</term>
+
+ <listitem>
+ <para><emphasis>Equipe de base FreeBSD</emphasis></para>
+
+ <para>C'est une liste interne &agrave; l'usage des membres de
+ l'&eacute;quipe de base. Des messages peuvent y &ecirc;tre
+ adress&eacute;s lorsqu'un sujet en rapport avec FreeBSD demande
+ arbitrage ou examen &agrave; haut niveau.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-CURRENT</term>
+
+ <listitem>
+ <para><emphasis>Discussions concernant l'utilisation de
+ FreeBSD-current</emphasis></para>
+
+ <para>C'est la liste de diffusion pour les utilisateurs de
+ FreeBSD-current. Elle inclut avertissements au sujet de nouvelles
+ fonctionnalit&eacute;s de -current qui affecteront son
+ utilisation, et instructions sur ce qu'il faut faire pour
+ rester &agrave; jour avec -current. Tous les utilisateurs de
+ &ldquo;current&rdquo; doivent souscrire &agrave; cette liste.
+ C'est une liste de discussion technique sur laquelle le contenu
+ doit &ecirc;tre strictement technique.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-CURRENT-DIGEST</term>
+
+ <listitem>
+ <para><emphasis>Discussions concernant l'utilisation de
+ FreeBSD-current</emphasis></para>
+
+ <para>C'est la version abr&eacute;g&eacute; de la liste
+ freebsd-current. Le r&eacute;sum&eacute; est constitu&eacute; de
+ tous les messages envoy&eacute;s &agrave; freebsd-current
+ regroup&eacute;s en un seul. La taille moyenne de ce message est
+ de 40 Ko. C'est une liste en <emphasis>lecture seule</emphasis>
+ sur laquelle il ne faut pas poster.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-DOC</term>
+
+ <listitem>
+ <para><emphasis>Projet de documentation</emphasis></para>
+
+ <para>C'est la liste de discussion sur les questions et projets
+ li&eacute;s &agrave; la r&eacute;daction de documentation pour
+ FreeBSD. Les membres de cette liste sont collectivement
+ appel&eacute;s &ldquo;Le Projet de Documentation de
+ FreeBSD&rdquo;&nbsp;-&nbsp;<foreignphrase>The FreeBSD
+ Documentation Project</foreignphrase>. C'est une liste ouverte;
+ n'h&eacute;sitez pas &agrave; souscrire et &agrave;
+ participer.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-FS</term>
+
+ <listitem>
+ <para><emphasis>Syst&egrave;mes de fichiers</emphasis></para>
+
+ <para>Discussions concernant les syst&egrave;mes de fichiers
+ FreeBSD. C'est une liste de discussion technique sur laquelle le
+ contenu doit &ecirc;tre strictement technique.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-HACKERS</term>
+
+ <listitem>
+ <para><emphasis>Discussions techniques</emphasis></para>
+
+ <para>C'est le forum pour les discussions techniques au sujet de
+ FreeBSD. C'est la principale liste technique. Elle est
+ destin&eacute;e &agrave; ceux qui travaillent activement &agrave;
+ FreeBSD, pour soulever des probl&egrave;mes et discuter de
+ solutions alternatives. Ceux qui sont int&eacute;ress&eacute;s
+ &agrave; suivre les discussions techniques sont aussi bienvenus.
+ C'est une liste de discussion technique sur laquelle le contenu
+ doit &ecirc;tre strictement technique.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-HACKERS-DIGEST</term>
+
+ <listitem>
+ <para><emphasis>Discussions techniques</emphasis></para>
+
+ <para>C'est la version abr&eacute;g&eacute; de la liste
+ freebsd-hackers. Le r&eacute;sum&eacute; est constitu&eacute; de
+ tous les messages envoy&eacute;s &agrave; freebsd-hackers
+ regroup&eacute;s en un seul. La taille moyenne de ce message est
+ de 40 Ko. C'est une liste en <emphasis>lecture seule</emphasis>
+ sur laquelle il ne faut pas poster.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-HARDWARE</term>
+
+ <listitem>
+ <para><emphasis>Discussions g&eacute;n&eacute;rales sur le
+ mat&eacute;riel pour FreeBSD</emphasis></para>
+
+ <para>Discussions g&eacute;n&eacute;rales sur les types de
+ mat&eacute;riel sur lesquels tourne FreeBSD, les
+ probl&egrave;mes rencontr&eacute;s et suggestions sur quoi
+ acheter ou &eacute;viter.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-INSTALL</term>
+
+ <listitem>
+ <para><emphasis>Discussions sur l'installation</emphasis></para>
+
+ <para>C'est la liste pour discuter du d&eacute;veloppement de la
+ proc&eacute;dure d'installation des versions &agrave; venir de
+ FreeBSD. Elle n'est pas ouverte.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-ISDN</term>
+
+ <listitem>
+ <para><emphasis>Communications ISDN</emphasis></para>
+
+ <para>C'est la liste pour les personnes discutant du
+ d&eacute;veloppement du support ISDN de FreeBSD.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-ISP</term>
+
+ <listitem>
+ <para><emphasis>Questions concernant les fournisseurs d'acc&egrave;s
+ &agrave; Internet</emphasis></para>
+
+ <para>C'est la liste pour discuter des sujets qui int&eacute;ressent
+ les fournisseurs d'acc&egrave;s
+ Internet&nbsp;-&nbsp;<foreignphrase>Internet Service Providers
+ (ISPs)</foreignphrase>&nbsp;-&nbsp;qui utilisent FreeBSD. C'est
+ une liste de discussion technique sur laquelle le contenu doit
+ &ecirc;tre strictement technique.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-JAVA</term>
+
+ <listitem>
+ <para><emphasis>D&eacute;veloppement Java</emphasis></para>
+
+ <para>C'est la liste pour les personnes discutant du
+ d&eacute;veloppement d'applications Java significatives sous
+ FreeBSD et du portage et de la maintenance des JDKs.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-NEWBIES</term>
+
+ <listitem>
+ <para><emphasis>Discussions des activit&eacute;s des
+ d&eacute;butants</emphasis></para>
+
+ <para>Nous couvrons toutes les activit&eacute;s de ceux qui
+ d&eacute;butent avec FreeBSD qui ne sont pas envisag&eacute;es
+ ailleurs, y compris&nbsp;: apprentissage autonome et techniques de
+ r&eacute;solutions des probl&egrave;mes, comment trouver et
+ utiliser les ressources disponibles et demander ailleurs de
+ l'aide, comment utiliser les listes de diffusion et lesquelles
+ utiliser, la discussion d'ordre g&eacute;n&eacute;ral, les
+ erreurs commises, les fanfaronnades, le partage d'id&eacute;es,
+ les histoires, le support moral (mais pas technique) et comment
+ participer activement dans la communaut&eacute; FreeBSD. Nous
+ transmettons nos probl&egrave;mes et questions &agrave;
+ freebsd-questions, et nous servons de freebsd-newbies pour
+ rencontrer d'autres personnes qui, d&eacute;butants comme nous,
+ font les m&ecirc;mes choses que nous.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-PLATFORMS</term>
+
+ <listitem>
+ <para><emphasis>Portages sur les plates-formes
+ Non-Intel</emphasis></para>
+
+ <para>Questions concernant le support d'autres plates-formes,
+ discussions g&eacute;n&eacute;rales et propositions pour les
+ portages sur des plates-formes non-Intel. C'est une liste de
+ discussion technique sur laquelle le contenu doit &ecirc;tre
+ strictement technique.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-PORTS</term>
+
+ <listitem>
+ <para><emphasis>Discussions des
+ &ldquo;logiciels port&eacute;s&rdquo;</emphasis></para>
+
+ <para>Discussions concernant le &ldquo;catalogue des logiciels
+ port&eacute;s&rdquo; de FreeBSD (<filename>/usr/ports</filename>),
+ propositions de portages, modifications de l'infrastructure du
+ catalogue des logiciels port&eacute;s et coordination
+ g&eacute;n&eacute;rale. C'est une liste de discussion technique
+ sur laquelle le contenu doit &ecirc;tre strictement
+ technique.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-QUESTIONS</term>
+
+ <listitem>
+ <para><emphasis>Questions des utilisateurs</emphasis></para>
+
+ <para>C'est la liste pour les questions &agrave; propos de FreeBSD.
+ Il ne faut pas adresser de questions &ldquo;comment
+ faire&nbsp?&rdquo; aux listes techniques &agrave; moins que vous
+ n'estimiez que la question soit vraiment tr&egrave;s
+ technique.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-QUESTIONS-DIGEST</term>
+
+ <listitem>
+ <para><emphasis>Questions des utilisateurs</emphasis></para>
+
+ <para>C'est la version abr&eacute;g&eacute; de la liste
+ freebsd-questions. Le r&eacute;sum&eacute; est constitu&eacute; de
+ tous les messages envoy&eacute;s &agrave; freebsd-questions
+ regroup&eacute;s en un seul. La taille moyenne de ce message est
+ de 40 Ko.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-SCSI</term>
+
+ <listitem>
+ <para><emphasis>Sous-syst&egrave;me SCSI</emphasis></para>
+
+ <para>C'est la liste de diffusion pour ceux qui travaillent sur le
+ sous-syst&egrave;me SCSI de FreeBSD. C'est une liste de discussion
+ technique sur laquelle le contenu doit &ecirc;tre strictement
+ technique.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-SECURITY</term>
+
+ <listitem>
+ <para><emphasis>Questions relatives &agrave; la
+ s&eacute;curit&eacute;</emphasis></para>
+
+ <para>Questions ayant trait &agrave; la s&eacute;curit&eacute; des
+ ordinateurs sous FreeBSD (DES, Kerberos, trous de
+ s&eacute;curit&eacute; connus et correctifs, etc.) C'est une liste
+ de discussion technique sur laquelle le contenu doit &ecirc;tre
+ strictement technique.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-SECURITY-NOTIFICATIONS</term>
+
+ <listitem>
+ <para><emphasis>Avis de s&eacute;curit&eacute;</emphasis></para>
+
+ <para>Notifications des probl&egrave;mes de s&eacute;curit&eacute;
+ concernant FreeBSD et correctifs. Ce n'est pas une liste de
+ discussion. La liste de discussion correspondante est
+ FreeBSD-security.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-SMALL</term>
+
+ <listitem>
+ <para>Cette liste discute des sujets relatifs aux installations
+ inhabituellement petites et embarqu&eacute;es de FreeBSD. C'est
+ une liste de discussion technique sur laquelle le contenu doit
+ &ecirc;tre strictement technique.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-STABLE</term>
+
+ <listitem>
+ <para><emphasis>Discussions concernant l'utilisation de
+ FreeBSD-stable</emphasis></para>
+
+ <para>C'est la liste de diffusion pour les utilisateurs de
+ FreeBSD-stable. Elle inclut avertissements au sujet de nouvelles
+ fonctionnalit&eacute;s de -stable qui affecteront son
+ utilisation, et instructions sur ce qu'il faut faire pour
+ rester &agrave; jour avec -stable. Tous les utilisateurs de
+ &ldquo;stable&rdquo; doivent souscrire &agrave; cette liste.
+ C'est une liste de discussion technique sur laquelle le contenu
+ doit &ecirc;tre strictement technique.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>FREEBSD-USER-GROUPS</term>
+
+ <listitem>
+ <para><emphasis>Coordination des groupes
+ d'utilisateurs</emphasis></para>
+
+ <para>C'est la liste pour les coordinateurs des diff&eacute;rents
+ groupes locaux d'utilisateurs, destin&eacute;e &agrave; leurs
+ discussions entre eux et avec un membre d&eacute;sign&eacute; de
+ l'&eacute;quipe de base. Cette liste doit se limiter aux
+ comptes-rendus de r&eacute;unions et &agrave; la coordination de
+ projets entre plusieurs groupes d'utilisateurs. Ce n'est pas une
+ liste ouverte.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect2>
+ </sect1>
+
+ <sect1 id="eresources-news">
+ <title>Forums de discussion</title>
+
+ <para>En plus des deux forums de discussion sp&eacute;cifiques &agrave;
+ FreeBSD, il y en a de nombreux autres o&ugrave; il est question de
+ FreeBSD ou qui sont par ailleurs d'inter&ecirc;t pour les utilisateurs
+ de FreeBSD. Pour certains de ces groupes, il existe des
+ <ulink URL="http://minnie.cs.adfa.oz.au/BSD-info/bsdnews_search.html">archives
+ interrogeables par mots-cl&eacute;s</ulink>, grace &agrave; Warren Toomey
+ <email>wkt@cs.adfa.oz.au</email>.</para>
+
+ <sect2>
+ <title>Forums sp&eacute;cifiques &agrave; BSD</title>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="news:comp.unix.bsd.freebsd.announce">comp.unix.bsd.freebsd.announce</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="news:comp.unix.bsd.freebsd.misc">comp.unix.bsd.freebsd.misc</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>Autres forums Unix int&eacute;ressants</title>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink URL="news:comp.unix">comp.unix</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="news:comp.unix.questions">comp.unix.questions</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="news:comp.unix.admin">comp.unix.admin</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="news:comp.unix.programmer">comp.unix.programmer</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="news:comp.unix.shell">comp.unix.shell</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="news:comp.unix.user-friendly">comp.unix.user-friendly</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="news:comp.security.unix">comp.security.unix</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="news:comp.sources.unix">comp.sources.unix</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="news:comp.unix.advocacy">comp.unix.advocacy</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="news:comp.unix.misc">comp.unix.misc</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="news:comp.bugs.4bsd">comp.bugs.4bsd</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="news:comp.bugs.4bsd.ucb-fixes">comp.bugs.4bsd.ucb-fixes</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="news:comp.unix.bsd">comp.unix.bsd</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>Syst&egrave;me X Window</title>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="news:comp.windows.x.i386unix">comp.windows.x.i386unix</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="news:comp.windows.x">comp.windows.x</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="news:comp.windows.x.apps">comp.windows.x.apps</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="news:comp.windows.x.announce">comp.windows.x.announce</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="news:comp.windows.x.intrinsics">comp.windows.x.intrinsics</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="news:comp.windows.x.motif">comp.windows.x.motif</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="news:comp.windows.x.pex">comp.windows.x.pex</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="news:comp.emulators.ms-windows.wine">comp.emulators.ms-windows.wine</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+ </sect1>
+
+ <sect1 id="eresources-web">
+ <title>Serveurs World Wide Web</title>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="http://www.FreeBSD.ORG/">http://www.FreeBSD.ORG/</ulink>
+ &mdash; Serveur principal.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.za.freebsd.org/">http://www.za.freebsd.org/</ulink> &mdash; Afrique du Sud/1.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www2.za.freebsd.org/">http://www2.za.freebsd.org/</ulink> &mdash; Afrique du Sud/2.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.de.freebsd.org/">http://www.de.freebsd.org/</ulink> &mdash; Allemagne/1.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www1.de.freebsd.org/">http://www1.de.freebsd.org/</ulink> &mdash; Allemagne/2.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www2.de.freebsd.org/">http://www.de.freebsd.org/</ulink> &mdash; Allemagne/3.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.au.freebsd.org/FreeBSD/">http://www.au.freebsd.org/FreeBSD/</ulink> &mdash; Australie/1.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www2.au.freebsd.org/FreeBSD/">http://www2.au.freebsd.org/FreeBSD/</ulink> &mdash; Australie/2.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www3.au.freebsd.org/FreeBSD/">http://www3.au.freebsd.org/FreeBSD/</ulink> &mdash; Australie/3.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.br.freebsd.org/www.freebsd.org/">http://www.br.freebsd.org/www.freebsd.org/</ulink> &mdash; Br&eacute;sil/1.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.br2.freebsd.org/www.freebsd.org/">http://www.br2.freebsd.org/www.freebsd.org/</ulink> &mdash; Br&eacute;sil/2.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www3.br.freebsd.org/">http://www3.br.freebsd.org/</ulink> &mdash; Br&eacute;sil/3.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.bg.freebsd.org/">http://www.bg.freebsd.org/</ulink> &mdash; Bulgarie.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.ca.freebsd.org/">http://www.ca.freebsd.org/</ulink> &mdash; Canada/1.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://freebsd.kawartha.com/">http://freebsd.kawartha.com/</ulink> &mdash; Canada/2.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.kr.freebsd.org/">http://www.kr.freebsd.org/</ulink> &mdash; Cor&eacute;e.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.dk.freebsd.org/">http://www.dk.freebsd.org/</ulink> &mdash; Danemark.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.es.freebsd.org/">http://www.es.freebsd.org/</ulink> &mdash; Espagne.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.ee.freebsd.org/">http://www.ee.freebsd.org/</ulink> &mdash; Estonie.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://freebsd.advansys.net/">http://freebsd.advansys.net/</ulink> &mdash; Etats-Unis/Indiana.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www6.freebsd.org/">http://www6.freebsd.org/</ulink> &mdash; Etats-Unis/Oregon.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www2freebsd.org/">http://www2.freebsd.org/</ulink> &mdash; Etats-Unis/Texas.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.fi.freebsd.org/">http://www.fi.freebsd.org/</ulink> &mdash; Finlande.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.fr.freebsd.org/">http://www.fr.freebsd.org/</ulink> &mdash; France.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.hu.freebsd.org/">http://www.hu.freebsd.org/</ulink> &mdash; Hongrie.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.is.freebsd.org/">http://www.is.freebsd.org/</ulink> &mdash; Icelande.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.ie.freebsd.org/">http://www.ie.freebsd.org/</ulink> &mdash; Irelande.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.jp.freebsd.org/www.freebsd.org/">http://www.jp.freebsd.org/www.freebsd.org/</ulink> &mdash; Japon.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.lv.freebsd.org/">http://www.lv.freebsd.org/</ulink> &mdash; Lettonie.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://rama.asiapac.net/freebsd/">http://rama.asiapac.net/freebsd/</ulink> &mdash; Malaisie.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.no.freebsd.org/">http://www.no.freebsd.org/</ulink> &mdash; Norv&egrave;ge.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.nl.freebsd.org/">http://www.nl.freebsd.org/</ulink> &mdash; Pays-Bas.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.pt.freebsd.org/">http://www.pt.freebsd.org/</ulink> &mdash; Portugal/1.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www2.pt.freebsd.org/">http://www2.pt.freebsd.org/</ulink> &mdash; Portugal/2.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www3.pt.freebsd.org/">http://www3.pt.freebsd.org/</ulink> &mdash; Portugal/3.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.sk.freebsd.org/">http://www.sk.freebsd.org/</ulink> &mdash; R&eacute;publique Slovaque.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.ro.freebsd.org/">http://www.ro.freebsd.org/</ulink> &mdash; Roumanie.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.uk.freebsd.org/">http://www.uk.freebsd.org/</ulink> &mdash; Royaume-Uni.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.ru.freebsd.org/">http://www.ru.freebsd.org/</ulink> &mdash; Russie/1.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www2.ru.freebsd.org/">http://www2.ru.freebsd.org/</ulink> &mdash; Russie/2.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www3.ru.freebsd.org/">http://www3.ru.freebsd.org/</ulink> &mdash; Russie/3.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ url="http://www4.ru.freebsd.org/">http://www4.ru.freebsd.org/</ulink> &mdash; Russie/4.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.si.freebsd.org/">http://www.si.freebsd.org/</ulink> &mdash; Slov&eacute;nie.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.se.freebsd.org/www.freebsd.org/">http://www.se.freebsd.org/www.freebsd.org/</ulink> &mdash; Su&egrave;de.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.tr.freebsd.org/">http://www.tr.freebsd.org/</ulink> &mdash; Turquie.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.ua.freebsd.org/">http://www.ua.freebsd.org/</ulink> &mdash; Ukraine/1.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www2.ua.freebsd.org/">http://www2.ua.freebsd.org/</ulink> &mdash; Ukraine/2.</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+</chapter>
+
+<!--
+ Local Variables:
+ mode: sgml
+ sgml-declaration: "../chapter.decl"
+ sgml-indent-data: t
+ sgml-omittag: nil
+ sgml-always-quote-attributes: t
+ sgml-parent-document: ("../handbook.sgml" "part" "chapter")
+ End:
+-->
+
diff --git a/fr_FR.ISO_8859-1/books/handbook/hw/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/hw/chapter.sgml
new file mode 100644
index 0000000000..8d226e1099
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/hw/chapter.sgml
@@ -0,0 +1,5780 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+ <chapter id="hw">
+ <title>** Compatibilit&eacute; mat&eacute;rielle</title>
+ &trans.a.haby;
+
+
+ <para>Les questions de compatibilit&eacute; mat&eacute;rielle sont aujourd'hui
+ les plus probl&eacute;matiques de l'industrie informatique et FreeBSD
+ n'en est nullement &agrave; l'abri. De ce point de vue, l'avantage qu'a
+ FreeBSD de pouvoir &ecirc;tre utilis&eacute; sur du mat&eacute;riel PC courant et
+ peu co&ucirc;teux est aussi une difficult&eacute; lorsqu'il faut supporter
+ l'incroyable vari&eacute;t&eacute; de composants disponibles.
+ Il est impossible de donner une liste exhaustive des mat&eacute;riels
+ compatibles avec FreeBSD, mais ce chapitre est un catalogue des
+ pilotes de p&eacute;riph&eacute;riques inclus dans FreeBSD et des mat&eacute;riels que
+ chaque pilote supporte. Si possible et appropri&eacute;, des notes ont
+ ajout&eacute;es sur les mat&eacute;riels eux-m&ecirc;mes. Vous pouvez aussi vous
+ r&eacute;f&eacute;rer au chapitre <link linkend="kernelconfig-config">Configurer
+ le noyau de FreeBSD</link> de ce manuel pour avoir
+ la liste des mat&eacute;riels support&eacute;s.</para>
+
+ <para>FreeBSD est un projet b&eacute;n&eacute;vole qui n'a pas les moyens de financer
+ un service de tests, nous reposons sur vous, les utilisateurs, pour une
+ grande part des informations que fournit ce catalogue. Si vous avez
+ l'exp&eacute;rience personnelle d'un mat&eacute;riel qui fonctionne ou ne fonctionne
+ pas avec FreeBSD, faites-le nous savoir par courrier &eacute;lectronique
+ &agrave; &a.doc;. Les questions concernant les mat&eacute;riels compatibles doivent
+ &ecirc;tre adress&eacute;es &agrave; &a.questions; (voyez la section
+ <link linkend="eresources-mail">Listes de diffusion</link>
+ pour plus d'informations). Quand vous nous faites
+ parvenir de l'information ou posez une question, n'oubliez pas s'il vous
+ pla&icirc;t de pr&eacute;ciser exactement quelle version de FreeBSD vous utilisez et
+ de donner le maximum de d&eacute;tails sur votre configuration
+ mat&eacute;rielle.</para>
+
+ <sect1>
+ <title>Ressources Internet</title>
+
+ <para>Les liens donn&eacute;s ci-dessous se sont av&eacute;r&eacute;s utiles pour guider
+ dans les choix de mat&eacute;riels. Bien que les renseignements qu'ils vous
+ donnent ne soient pas n&eacute;cessairement sp&eacute;cifiques (ou m&ecirc;me
+ applicables) &agrave; FreeBSD, ils ne d&eacute;pendent pas, pour la plupart
+ du syst&egrave;me d'exploitation. V&eacute;rifiez s'il vous pla&icirc;t dans le guide
+ du mat&eacute;riel pour FreeBSD que la configuration que vous avez choisie
+ soit compatible avec FreeBSD avant d'acheter quoi que ce soit.</para>
+
+ <para>
+ <itemizedlist>
+
+ <listitem>
+ <para><ulink url="http://www.tomshardware.com/">The Pentium
+ Systems Hardware Performance Guide</ulink>&nbsp;-&nbsp;le
+ guide des performances des syst&egrave;mes Pentium.</para>
+ </listitem>
+
+ </itemizedlist>
+ </para>
+
+ </sect1>
+
+ <sect1 id="hw-configs">
+ <title>Exemples de configurations</title>
+
+ <para>La liste de configurations ci-dessous ne constitue en aucun
+ cas une publicit&eacute; pour un constructeur ou un produit de la
+ part du <emphasis>Projet FreeBSD</emphasis>. Ces informations ne
+ sont donn&eacute;es que pour &ecirc;tre utiles et rassemblent simplement les
+ exp&eacute;riences de diff&eacute;rentes personnes sur des configurations vari&eacute;es.
+ Tarifs indicatifs. Chauss&eacute;e glissante. Attention au chien.</para>
+
+ <sect2 id="hw-jordans-picks">
+ <title>La s&eacute;lection de Jordan</title>
+
+ <para>J'ai obtenu de bons r&eacute;sultats en mettant sur pied des stations
+ de travail et des serveurs avec les composants ci-dessous. Je ne
+ peut vous garantir que vous en aurez aussi, ni qu'aucune des marques
+ cit&eacute;es restera &ldquo;le meilleur choix&rdquo;. J'essaierai, si
+ possible, de tenir cette liste &agrave; jour, mais ne peux bien &eacute;videmment
+ vous assurer qu'elle le soit &agrave; un moment donn&eacute;.</para>
+
+ <sect3 id="hw-mb">
+ <title>Cartes m&egrave;res</title>
+
+ <para>Pour les syst&egrave;mes Pentium Pro (P6), j'aime assez la carte m&egrave;re
+ bi-processseurs
+ <ulink url="http://www.tyan.com/html/products.html">Tyan</ulink>
+ S1668. Elle fait un sympathique syst&egrave;me &agrave; un ou deux processeurs
+ (ce que supporte FreeBSD 3.0) et le prix du Pentium Pro 180/256K
+ a maintenant baiss&eacute; &agrave; un niveau vraiment abordable. Le Pentium Pro
+ reste mon processeur favori pour les serveurs (les m&eacute;gahertzs ne
+ font pas tout).</para>
+
+ <para>Pour les Pentium II, j'ai un s&eacute;rieux pr&eacute;jug&eacute; en faveur de la
+ carte m&egrave;re <ulink url="http://www.asus.com.tw">ASUS</ulink>
+ <ulink url="http://www.asus.com.tw/Products/Motherboard/Pentiumpro/P2l97-s/index.html">P2l97-S</ulink>
+ avec contr&ocirc;leur WIDE SCSI int&eacute;gr&eacute;.</para>
+
+ <para>Pour les machines Pentium, la carte m&egrave;re ASUS
+ <ulink url="http://www.asus.com.tw/Products/Motherboard/Pentium/P55tp4/index.html">P55T2P4</ulink>
+ para&icirc;t un bon choix pour un serveur ou une station de travail
+ de taille moyenne &agrave; importante. Vous pouvez aussi
+ regarder du c&ocirc;t&eacute; de la carte
+ <ulink url="http://asustek.asus.com.tw/FTP/ASUS/Info/Spec/pvi-486sp3.txt">486SP3G</ulink>,
+ si vous cherchez une carte m&egrave;re 486.</para>
+
+ <note>
+ <para>(Il semble qu'il soit devenu difficile de se procurer ces
+ derni&egrave;res, qu'ASUS ne fabrique apparemment plus.) </para>
+ </note>
+
+ <para>Ceux qui veulent utiliser des syst&egrave;mes plus tol&eacute;rants aux
+ erreurs doivent veiller &agrave; employer de la m&eacute;moire avec contr&ocirc;le
+ de parit&eacute;, ou ECC, pour des applications non-stop.</para>
+
+ <note>
+ <para>La m&eacute;moire ECC entra&icirc;ne une petite perte de performances
+ (que vous remarquerez ou non selon votre application) mais vous
+ apporte des gains significatifs en termes de tol&eacute;rance
+ d'erreur.</para>
+ </note>
+ </sect3>
+
+ <sect3>
+ <title>Contr&ocirc;leurs de disque</title>
+
+ <para>C'est un point plus d&eacute;licat. J'utilisais
+ inconditionnellement des contr&ocirc;leurs
+ <ulink url="http://www.buslogic.com">Buslogic</ulink>
+ pour tout, de l'ISA au PCI, j'incline maintenant plut&ocirc;t vers
+ le contr&ocirc;leur <ulink
+ url="http://www.adaptec.com">Adaptec</ulink> 1542CF pour l'ISA,
+ le contr&ocirc;leur Buslogic Bt747c pour l'EISA et le contr&ocirc;leur
+ Adaptec 2940UW pour le PCI.</para>
+
+ <para>J'ai aussi eu de bons r&eacute;sultats avec les cartes
+ PCI NCR/Symbios, bien qu'il faille s'assurer que
+ votre carte m&egrave;re supporte le mod&egrave;le sans BIOS (s'il n'y
+ a rien sur votre carte qui ressemble vaguement &agrave; une puce
+ ROM, c'est probablement un mod&egrave;le qui s'attend &agrave; ce que son
+ BIOS soit sur la carte m&egrave;re).</para>
+
+ <para>Si vous pensez qu'il vous faut plus d'un contr&ocirc;leur SCSI,
+ vous pouvez songer &agrave; &eacute;conomiser vos maigres ressources en
+ emplacements PCI en achetant une carte Adaptec 3940, qui
+ int&egrave;gre deux contr&ocirc;leurs PCI sur un seul connecteur.</para>
+
+ </sect3>
+
+ <sect3 id="hw-disks">
+ <title>Disques durs</title>
+
+ <para>Pour cette version particuli&egrave;re de la roulette russe, je
+ donnerais peu de conseils pr&eacute;cis sinon pour recommander
+ &ldquo;du SCSI plut&ocirc;t que de l'IDE d&egrave;s que vous pouvez vous
+ l'offrir&rdquo;. M&ecirc;me sur de petites machines de bureau, le SCSI
+ est souvent un meilleur choix parce qu'il vous permet de
+ migrer vos disques du serveur vers la machine de bureau lorsque
+ les prix en chute des disques en font une solution &eacute;conomiquement
+ viable. Si vous avez plus d'une machine &agrave; administrer, ne pensez
+ pas seulement en terme de stockage, voyez plut&ocirc;t cela comme
+ une cha&icirc;ne alimentaire!</para>
+
+ <para>Je ne trouve pas que les disques WIDE SCSI repr&eacute;sentent
+ un investissement n&eacute;cessaire, &agrave; moins que vous ne mettiez en place
+ un serveur NFS ou des forums de discussion
+ qui devront supporter beaucoup d'acc&egrave;s disque pour de nombreux
+ utilisateurs.</para>
+
+ </sect3>
+
+ <sect3 id="hw-jordans-picks-cdrom">
+ <title>Lecteur de CD-ROMs</title>
+
+ <para>Ma pr&eacute;f&eacute;rence pour le SCSI s'applique aussi aux lecteurs de
+ CD-ROMs SCSI, et bien que j'ai toujours eu de bons r&eacute;sultats
+ avec le mod&egrave;le <ulink url="http://www.toshiba.com">Toshiba</ulink>
+ XM-3501B (qui existe aussi en version tiroir sous la r&eacute;f&eacute;rence
+ XM-5401B), je suis maintenant tr&egrave;s partisan du lecteur
+ <ulink url="http://www.plextor.com">Plextor</ulink> PX-12CS.
+ C'est un lecteur 12x dont les performances et la fiabilit&eacute; sont
+ excellentes.</para>
+
+ <para>D'une fa&ccedil;on g&eacute;n&eacute;rale, la plupart des lecteurs de CD-ROMs SCSI
+ que j'ai vus, sont de fabrication robuste et vous ne vous
+ tromperez pas non plus si vous prenez un mod&egrave;le HP ou NEC. Le prix
+ des lecteurs de CD-ROMs SCSI semble avoir aussi consid&eacute;rablement
+ baiss&eacute; ces derniers mois et devient comp&eacute;titif avec celui des
+ lecteurs IDE, alors qu'ils restent techniquement sup&eacute;rieurs. A
+ choisir entre les deux, je ne vois pas de raison de se d&eacute;cider
+ pour un lecteur IDE.</para>
+
+ </sect3>
+
+ <sect3 id="hw-worm">
+ <title>Graveurs de CD-ROMs non r&eacute;inscriptibles</title>
+
+ <para>Au moment o&ugrave; j'&eacute;cris ceci, FreeBSD supporte trois types de
+ graveurs de CD-ROMs (bien que je pense qu'ils viennent en fait
+ tous de chez Phillips): le Phillips CDD 522 (se comporte comme
+ le Plasmon), le Plasmon RF4100 et le HP 6020i. J'utilise
+ personnellement le HP 6020i pour graver mes CD-ROMs (avec la
+ version 2.2-current de FreeBSD&nbsp;-&nbsp;il ne fonctionne pas
+ avec la version 2.1.5 et les versions ant&eacute;rieures du pilote SCSI)
+ qui me donne toute satisfaction. Regardez dans le fichier
+ <ulink url="file:/usr/share/examples/worm">/usr/share/examples/worm</ulink>
+ sur votre syst&egrave;me 2.2 pour avoir des exemples de proc&eacute;dures pour
+ cr&eacute;er des images au format ISO9660 (avec les extensions RockRidge)
+ de vos syst&egrave;mes de fichiers et graver ensuite des CD-ROMs avec un
+ HP6020i.</para>
+
+ </sect3>
+
+ <sect3 id="hw-tape">
+ <title>Lecteurs de bandes</title>
+
+ <para>J'ai obtenu de bons r&eacute;sultats avec les lecteurs
+ <ulink url="http://www.Exabyte.COM:80/Products/8mm/8505XL/Rfeatures.html">8mm</ulink>
+ de chez
+ <ulink url="http://www.exabyte.com">Exabyte</ulink>
+ et
+ <ulink url="http://www-dmo.external.hp.com:80/tape/_cpb0001.htm">4mm (DAT)</ulink>
+ de chez <ulink url="http://www.hp.com">HP</ulink>.</para>
+
+ <para>Pour les sauvegardes, je recommande les Exabytes pour la
+ robustesse (et la plus grande capacit&eacute;) des bandes 8mm.</para>
+
+ </sect3>
+
+ <sect3 id="hw-video">
+ <title>Cartes graphiques</title>
+
+ <para>Si vous pouvez aussi vous offrir un serveur X commercial
+ pour 99&#36; US de chez
+ <ulink url="http://www.xig.com/">Xi Graphics, Inc. (autrefois, X Inside, Inc)</ulink>
+ alors je vous recommande vivement la carte
+ <ulink url="http://www.matrox.com/">Matrox</ulink>
+ <ulink url="http://www.matrox.com/mgaweb/brochure.htm">Millenium</ulink>.
+ Cette carte est aussi tr&egrave;s bien support&eacute;e par le serveur
+ <ulink url="http://www.xfree86.org/">XFree86</ulink>,
+ qui en est maintenant &agrave; sa version 3.3.2.</para>
+
+ <para>Les cartes
+ <ulink url="http://www.nine.com/">Number 9</ulink> sont aussi
+ un excellent choix&nbsp;-&nbsp;leurs cartes Vision 868 et 968
+ (la s&eacute;rie 9FX) bas&eacute;es sur le circuit S3 sont aussi tr&egrave;s rapides
+ et bien g&eacute;r&eacute;es par le pilote S3 du serveur XFree86.</para>
+
+ </sect3>
+
+ <sect3 id="hw-monitors">
+ <title>Moniteurs</title>
+
+ <para>J'ai eu d'excellents r&eacute;sultats avec les moniteurs
+ <ulink url="http://cons3.sel.sony.com/SEL/ccpg/display/ms17se2.html">Sony Multiscan 17seII</ulink>,
+ et avec le Viewsonic qui utilise le m&ecirc;me tube (Trinitron). Pour
+ des mod&egrave;les au-del&agrave; de 17", tout ce que je peux aujourd'hui
+ conseiller est de ne pas d&eacute;penser moins de 2.500 &#36; pour
+ un moniteur 21" ou 1.700 &#36; pour un 20", si vous en avez
+ vraiment besoin. Il y de bons &eacute;crans dans
+ la gamme des 20" et plus,
+ et il y en a aussi de bon march&eacute;. Malheureusement, il y en a tr&egrave;s
+ peu qui soient &agrave; la fois de bonne qualit&eacute; et bon march&eacute;!</para>
+
+ </sect3>
+
+ <sect3 id="hw-networking">
+ <title>R&eacute;seau</title>
+
+ <para>Je peux recommander le contr&ocirc;leur <ulink
+ url="http://www.smc.com/">SMC</ulink> Ultra 16 pour les
+ applications ISA et les cartes SMC EtherPower ou Compex ENET32
+ pour les r&eacute;seaux importants bas&eacute;s sur du PCI. Ces deux cartes
+ PCI sont construites autour de la puce contr&ocirc;leur Ethernet
+ DEC DC21041 et les autres cartes qui employent cette puce, telles
+ que la Zynx ZX432 et la DEC DE435, fonctionneront aussi. Pour
+ les r&eacute;seaux 100Mbit, les cartes SMC SMC9332DST 10/100MB ou Intel
+ Intel EtherExpress Pro/100B font du bon travail, ma pr&eacute;f&eacute;rence
+ allant &agrave; la carte Intel EtherExpress.</para>
+
+ <para>Si d'un autre c&ocirc;t&eacute; vous cherchez la solution la moins ch&egrave;re
+ possible, mais qui fonctionne malgr&eacute; tout raisonnablement, alors
+ pratiquement n'importe quel clone NE2000 est un bon choix.</para>
+
+ </sect3>
+
+ <sect3 id="hw-serial">
+ <title>S&eacute;rie</title>
+
+ <para>Si vous cherchez des solutions pour un r&eacute;seau s&eacute;rie &agrave; grande
+ vitesse, alors <ulink url="http://www.dgii.com/">Digi
+ International</ulink> fabrique la s&eacute;rie <ulink
+ url="http://www.dgii.com/prodprofiles/profiles-prices/digiprofiles/digispecs/sync570.html">SYNC/570</ulink>,
+ pour laquelle FreeBSD-current a maintenant des pilotes.
+ <ulink url="http://www.etinc.com">Emerging Technologies</ulink>
+ fabrique aussi une carte avec des fonctionnalit&eacute;s T1/E1,
+ qui utilise du logiciel qu'il fournit.
+ Je n'ai cependant pas l'exp&eacute;rience personnelle de ces deux
+ produits.</para>
+
+ <para>Les possibilit&eacute;s de cartes multi-ports sont quelque peu plus
+ nombreuses, bien que le support par FreeBSD des produits
+ <ulink url="http://www.cyclades.com/">Cyclades</ulink> soit
+ r&eacute;put&eacute; le plus complet, essentiellement en raison de
+ l'engagement pris par cette compagnie de nous fournir du
+ mat&eacute;riel pour &eacute;valuation et des sp&eacute;cifications techniques. J'ai
+ entendu dire que la Cyclom-16Ye offrait le meilleur rapport
+ prix/performances, mais je n'ai pas consult&eacute; les tarifs r&eacute;cents.
+ D'autres cartes multi-ports dont j'ai entendu dire du bien
+ sont les BOCA et les AST, et <ulink
+ url="http://www.stallion.com/">Stallion
+ Technologies</ulink> propose apparemment <ulink
+ url="ftp://ftp.stallion.com/drivers/unsupported/freebsd/stalbsd-0.0.4.tar.gz">ici</ulink>
+ un pilote non officiel pour ses cartes.</para>
+
+ </sect3>
+
+ <sect3 id="hw-audio">
+ <title>Audio</title>
+
+ <para>J'utilise actuellement une AWE32 de <ulink
+ url="http://www.creaf.com/">Creative Labs</ulink>, bien qu'&agrave; peu
+ pr&egrave;s tout ce qui vient de chez Creative Labs marcherait
+ aujourd'hui. Ce qui ne veut pas dire que d'autres cartes son
+ ne marchent pas, simplemement je n'en ai qu'une exp&eacute;rience
+ limit&eacute;e (j'aimais bien autrefois les cartes GUS, mais la
+ situation des cartes Gravis est d&eacute;licate depuis quelque
+ temps).</para>
+
+ </sect3>
+
+ <sect3 id="hw-vgrabbers">
+ <title>Vid&eacute;o</title>
+
+ <para>Pour la capture vid&eacute;o, il y a deux bons
+ choix&nbsp;-&nbsp;n'importe
+ quelle carte &agrave; base de puce Brooktree BT848, comme les Hauppauge
+ ou les WinTV, marchera &agrave; merveille avec FreeBSD. Une autre carte
+ que j'utilise est la
+ <ulink
+ url="http://www.matrox.com/">Matrox</ulink> <ulink
+ url="http://www.matrox.com/imgweb/meteor.htm">Meteor</ulink>.
+ FreeBSD supporte aussi la carte d'incrustation vid&eacute;o plus ancienne
+ de chez Creative Labs, mais elles deviennent difficiles &agrave; trouver.
+ Notez que la carte Meteor <emphasis>ne fonctionnera pas</emphasis>
+ avec les cartes m&egrave;res qui ont un contr&ocirc;leur 440FX! Consultez
+ la section
+ <link linkend="hw-mb">Cartes m&egrave;res</link> pour plus de
+ d&eacute;tails. Dans ce cas, il vaut mieux prendre une carte
+ BT848.</para>
+
+ </sect3>
+ </sect2>
+ </sect1>
+
+ <sect1 id="hw-core">
+ <title>Composants de base/Processeurs</title>
+
+ <sect2>
+ <title>Cartes m&egrave;res, bus et contr&ocirc;leurs de bus</title>
+
+ <sect3>
+ <title>* ISA</title>
+ <para></para>
+ </sect3>
+
+ <sect3>
+ <title>* EISA</title>
+ <para></para>
+ </sect3>
+
+ <sect3>
+ <title>* VLB</title>
+ <para></para>
+ </sect3>
+
+ <sect3 id="hw-mb-pci">
+ <title>PCI</title>
+
+ <para><emphasis>Contribution de &a.rgrimes;.<!-- <br> -->25 Avril
+ 1995.</emphasis></para>
+
+ <para><emphasis>Mises &agrave; jour de &a.jkh;.</emphasis><!-- <br>
+ -->Derni&egrave;re mise &agrave; jour le <emphasis>26 Ao&ucirc;t
+ 1996.</emphasis></para>
+
+ <para>Parmi les contr&ocirc;leurs INTEL PCI, la liste suivante d&eacute;crit
+ diff&eacute;rents types de probl&egrave;me connus, et leur gravit&eacute;, du pire
+ au meilleur.</para>
+
+ <variablelist>
+ <varlistentry><term>Mercury:</term>
+ <listitem>
+ <para>Probl&egrave;mes de coh&eacute;rence du cache, en particulier s'il
+ y a des contr&ocirc;leurs de bus ISA en plus du pont ISA/PCI.
+ C'est un probl&egrave;me mat&eacute;riel, la seule solution consiste
+ &agrave; d&eacute;sactiver le cache.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Saturn-I <emphasis>(i.e., 82424ZX en i
+ r&eacute;vision 0, 1 ou 2)</emphasis>:</term>
+
+ <listitem>
+ <para>Probl&egrave;me de coh&eacute;rence lors de la r&eacute;&eacute;criture dans le
+ cache. C'est un probl&egrave;me mat&eacute;riel. La seule parade
+ consiste &agrave; configurer le cache externe en mode
+ transparent. Ou &agrave; passer &agrave; la version Saturn-II.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Saturn-II <emphasis>(i.e., 82424ZX en
+ r&eacute;vision 3 ou 4)</emphasis>:</term>
+
+ <listitem>
+ <para>Fonctionne bien, mais de nombreux fabriquants de
+ carte m&egrave;re ne se pr&eacute;occupent pas du bit SRAM n&eacute;cessaire
+ aux op&eacute;rations de r&eacute;ecriture. On peut y pallier en
+ utilisant le mode transparent ou en g&eacute;rant le bit SRAM.
+ (J'ai fait cela avec une ASUS PCI/I-486SP3G r&eacute;vision 1.6
+ et des cartes plus r&eacute;centes).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Neptune:</term>
+
+ <listitem>
+ <para>Ne peut g&eacute;rer plus de deux contr&ocirc;leurs de bus. C'est
+ une erreur de conception reconnue par Intel. Parmi les
+ solutions: ne pas utiliser plus de deux contr&ocirc;leurs,
+ mat&eacute;riel sp&eacute;cialement con&ccedil;u pour remplacer l'arbitre de
+ bus PCI (apparu avec l'Intel Altair et d'autres cartes
+ m&egrave;res pour serveur Intel), et bien s&ucirc;r la r&eacute;ponse
+ officielle d'Intel, le remplacer par un Triton, nous
+ &ldquo;l'y avons mis&rdquo;.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Triton <emphasis>(ie,
+ 430FX)</emphasis>:</term>
+
+ <listitem>
+ <para>Pas de probl&egrave;me de coh&eacute;rence du cache ou de contr&ocirc;le
+ du bus connu. Mais cette puce n'impl&eacute;mente tout simplement
+ pas le contr&ocirc;le de parit&eacute;. Contournez le probl&egrave;me de
+ parit&eacute;. Utilisez des cartes Triton-II si vous avez
+ le choix.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Triton-II <emphasis>(ie,
+ 430HX)</emphasis>:</term>
+
+ <listitem>
+ <para>Tous les &eacute;chos sur les cartes m&egrave;res avec cette puce
+ sont jusqu'ici favorables. Pas de probl&egrave;me connu.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Orion:</term>
+
+ <listitem>
+ <para>Les premi&egrave;res versions de cette puce souffraient d'un
+ retard en &eacute;criture PCI qui entra&icirc;nait des d&eacute;gradations
+ sensibles de performance des applications gourmandes en
+ trafic sur le bus PCI. Les versions B0 et ult&eacute;rieures de
+ cette puce ont r&eacute;gl&eacute; ce probl&egrave;me.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><ulink
+ url="http://developer.intel.com/design/pcisets/desktop.htm#440FX">440FX</ulink>:</term>
+
+ <listitem>
+ <para>Cette puce pour <ulink
+ url="http://www.intel.com/procs/ppro/index.htm">Pentium Pro</ulink>
+ semble fonctionner correctement et ne souffre pas des
+ probl&egrave;mes qu'ont connus
+ les premi&egrave;res puces Orion. Il accepte
+ aussi une plus grande vari&eacute;t&eacute; de types de m&eacute;moire, y compris
+ l'ECC et le contr&ocirc;le de parit&eacute;. Le seul probl&egrave;me connu est
+ que la carte d'acquisition vid&eacute;o Matrox Meteor ne fonctionne
+ pas avec.</para>
+
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Processeurs/Coprocesseurs</title>
+
+ <para><emphasis>Contribution de &a.asami;.<!-- <br> -->26 D&eacute;cembre
+ 1997.</emphasis></para>
+
+ <sect3>
+ <title>P6 (Pentium Pro/Pentium II)</title>
+
+ <para>Le Pentium Pro et le Pentium II fonctionnent parfaitement
+ avec FreeBSD.
+ De fait, notre site ftp de base <ulink
+ url="ftp://ftp.freebsd.org/">ftp.freebsd.org</ulink> (aussi
+ appel&eacute; "<filename>ftp.cdrom.com</filename>", le site ftp le plus
+ important au monde) utilise FreeBSD sur un Pentium Pro. Des <ulink
+ url="ftp://ftp.cdrom.com/archive-info/wcarchive.txt">D&eacute;tails de la configuration</ulink> sont disponibles si vous &ecirc;tes int&eacute;ress&eacute;s.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>Pentium</title>
+
+ <para>Les Pentium Intel (P54C), Pentium MMX (P55C), AMD K6 et
+ Cyrix/IBM 6x86MX fonctionnent tous avec FreeBSD. Je n'entrerai
+ pas dans le d&eacute;tail de savoir lequel est plus rapide que l'autre,
+ il y a des zillions de sites Web sur l'Internet pour vous
+ l'expliquer &agrave; l'endroit et &agrave; l'envers.
+ <!-- smiley --><emphasis>:)</emphasis></para>
+
+ <note>
+ <para>Les diff&eacute;rents processeurs ont besoin d'une alimentation
+ et d'une ventilation diff&eacute;rentes. Assurez-vous que votre carte
+ m&egrave;re fournit la tension exacte requise par votre processeur. Par
+ exemple, de nombreuses puces MMX ont besoin d'une alimentation
+ d&eacute;doubl&eacute;e (e.g., 2.9V pour l'unit&eacute; centrale, 3.3V pour les
+ entr&eacute;es/sorties). Certaines puces AMD et Cyrix/IBM chauffent
+ plus que les puces Intel. Dans ce cas, v&eacute;rifiez que vous avez
+ bien les bons radiateurs et ventilateurs (vous pouvez trouver la
+ liste des composants certifi&eacute;s sur leurs pages Web).</para>
+ </note>
+
+ <sect4>
+ <title>Vitesses d'horloge</title>
+
+ <para><emphasis>Contribution de &a.rgrimes;.<!-- <br> -->1
+ Octobre 1996.</emphasis></para>
+
+ <para><emphasis>Mise &agrave; jour de &a.asami;.<!-- <br> -->27 D&eacute;cembre
+ 1997.</emphasis></para>
+
+ <para>Les machines de la cat&eacute;gorie Pentium utilisent des vitesses
+ d'horloge diff&eacute;rentes pour leurs diff&eacute;rents composants. Il y a
+ la fr&eacute;quence du processeur, celle du bus m&eacute;moire externe et
+ celle du bus PCI. Il n'est pas toujours exact qu'un processeur
+ &ldquo;plus rapide&rdquo; compose un syst&egrave;me plus rapide
+ qu'un &ldquo;plus lent&rdquo;, du fait de ces diff&eacute;rentes
+ vitesses d'horloge. Voici une table qui donne la liste des
+ possibilit&eacute;s:</para>
+
+ <informaltable frame="none">
+ <tgroup cols="4">
+ <thead>
+ <row>
+ <entry>Fr&eacute;quence du processeur (MHz)</entry>
+ <entry>Horloge externe et fr&eacute;quence du bus m&eacute;moire (mHz)
+ [a]</entry>
+ <entry>Coefficient multiplicateur horloge
+ interne/externe</entry>
+ <entry>Fr&eacute;quence du bus PCI (MHz)</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>60</entry>
+ <entry>60</entry>
+ <entry>1.0</entry>
+ <entry>30</entry>
+ </row>
+
+ <row>
+ <entry>66</entry>
+ <entry>66</entry>
+ <entry>1.0</entry>
+ <entry>33</entry>
+ </row>
+
+ <row>
+ <entry>75</entry>
+ <entry>50</entry>
+ <entry>1.5</entry>
+ <entry>25</entry>
+ </row>
+
+ <row>
+ <entry>90</entry>
+ <entry>60</entry>
+ <entry>1.5</entry>
+ <entry>30</entry>
+ </row>
+
+ <row>
+ <entry>100</entry>
+ <entry>50 [b]
+ </entry>
+ <entry>2</entry>
+ <entry>25</entry>
+ </row>
+
+ <row>
+ <entry>100</entry>
+ <entry>66</entry>
+ <entry>1.5</entry>
+ <entry>33</entry>
+ </row>
+
+ <row>
+ <entry>120</entry>
+ <entry>60</entry>
+ <entry>2</entry>
+ <entry>30</entry>
+ </row>
+
+ <row>
+ <entry>133</entry>
+ <entry>66</entry>
+ <entry>2</entry>
+ <entry>33</entry>
+ </row>
+
+ <row>
+ <entry>150</entry>
+ <entry>60</entry>
+ <entry>2.5</entry>
+ <entry>30 (Intel, AMD)</entry>
+ </row>
+
+ <row>
+ <entry>150</entry>
+ <entry>75</entry>
+ <entry>2</entry>
+ <entry>37.5 (Cyrix/IBM 6x86MX)</entry>
+ </row>
+
+ <row>
+ <entry>166</entry>
+ <entry>66</entry>
+ <entry>2.5</entry>
+ <entry>33</entry>
+ </row>
+
+ <row>
+ <entry>180</entry>
+ <entry>60</entry>
+ <entry>3</entry>
+ <entry>30</entry>
+ </row>
+
+ <row>
+ <entry>200</entry>
+ <entry>66</entry>
+ <entry>3</entry>
+ <entry>33</entry>
+ </row>
+
+ <row>
+ <entry>233</entry>
+ <entry>66</entry>
+ <entry>3.5</entry>
+ <entry>33</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ <para>Remarques:</para>
+ <itemizedlist>
+ <listitem>
+ <para>[a] 66MHz peut &ecirc;tre en fait 66.667MHz, mais ne pas le
+ pr&eacute;sumer.</para>
+ </listitem>
+ <listitem>
+ <para>[b] Le Pentium 100 peut utiliser une horloge externe &agrave;
+ 50MHz avec un coefficient multiplicateur de 2 ou &agrave; 66MHz
+ avec un coefficient multiplicateur de 1.5.</para>
+ </listitem>
+ </itemizedlist>
+ <para>L'id&eacute;al est donc d'avoir un processeur &agrave; 100,
+ 133, 166, 200 ou 233, sinon qu'avec un coefficient
+ multiplicateur de 3 et plus, le processeur attend apr&egrave;s
+ la m&eacute;moire.</para>
+
+ </sect4>
+
+ <sect4>
+ <title>Le bogue de l'AMD K6</title>
+
+ <para>En 1997, on a rapport&eacute; des probl&egrave;mes d'erreurs d'acc&egrave;s
+ &agrave; la m&eacute;moire lors de compilations intensives avec l'AMD K6.
+ Le probl&egrave;me a &eacute;t&eacute; r&eacute;gl&eacute; au troisi&egrave;me trimestre 97. D'apr&egrave;s
+ les rapports, les puces K6 dont la date de fabrication est
+ &ldquo;9733&rdquo; ou plus (i.e., produites &agrave; partir de la
+ 33&egrave;me semaine de 97) n'ont plus ce probl&egrave;me.</para>
+
+ </sect4>
+ </sect3>
+
+ <sect3>
+ <title>* 486</title>
+ <para></para>
+ </sect3>
+
+ <sect3>
+ <title>* 386</title>
+ <para></para>
+ </sect3>
+
+ <sect3>
+ <title>286</title>
+
+ <para>D&eacute;sol&eacute;, FreeBSD ne tourne pas sur des machines 80286. Il est
+ quasiment impossible de faire tourner les UNIXs cons&eacute;quents et
+ dot&eacute;s de fonctionnalit&eacute;s compl&egrave;tes d'aujourd'hui sur de telles
+ machines.</para>
+
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>M&eacute;moire</title>
+
+ <para>Il vous faudra au moins 5 MB de m&eacute;moire pour pouvoir installer
+ FreeBSD. Une fois votre syst&egrave;me en &eacute;tat de marche, vous pouvez
+ <link linkend="kernelconfig-building">recompiler un noyau</link>
+ qui utilisera moins de m&eacute;moire. Avec <filename>boot4.flp</filename>
+ vous pouvez vous en sortir avec seulement 4 MB.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>* BIOS</title>
+
+ <para></para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="hw-io">
+ <title>*** P&eacute;riph&eacute;riques d'Entr&eacute;e/Sortie</title>
+
+<!--
+ &trans.a.dntt;
+-->
+
+ <sect2>
+ <title>* Cartes graphiques</title>
+
+ <para></para>
+ </sect2>
+
+ <sect2>
+ <title>* Cartes son</title>
+
+ <para></para>
+ </sect2>
+
+ <sect2>
+ <title>*** Ports s&eacute;rie et cartes multi-ports</title>
+
+ <sect3 id="uart">
+ <title>*** L'UART : Ce que c'est et comment il fonctionne</title>
+ &sgml.todo;
+
+<!--
+ <para><emphasis>Copyright &copy; 1996 &a.uhclem;, tous droits
+ r&eacute;serv&eacute;s. 13 janvier 1996.</emphasis></para>
+
+ <para>Le contr&ocirc;leur du r&eacute;cepteur/&eacute;metteur
+ asynchrone universel <emphasis>Universal
+ Asynchronous Receiver/Transmitter (UART)</emphasis>
+ est le composant clef du sous-syst&egrave;me de communication
+ d'un ordinateur. L'UART prend des octets de donn&eacute;es et
+ transmet des bits individuels d'un mani&egrave;re s&eacute;quentielle.
+ Au point de destination, un second UART re-assemble les
+ bits en octets complets.</para>
+
+ <para>Les transmissions s&eacute;ries sont habituellement
+ utilis&eacute;es avec les modems et pour les communications
+ non-r&eacute;seaux entre les ordinateurs, terminaux et autres
+ p&eacute;riph&eacute;riques.</para>
+
+ <para>Il y a deux formes de transmission s&eacute;rie : synchrone
+ et asynchrone. D&eacute;pendant du mode que votre mat&eacute;riel
+ supporte, le nom d'un sous-syst&egrave;me de communication indiquera
+ <literal>A</literal> s'il supporte les communications
+ asynchrone et <literal>S</literal> s'il supporte les
+ communications synchrones. Les deux formes sont d&eacute;crites
+ ci-dessous :</para>
+
+ <para>Les acronymes les plus courants sont :
+
+ <blockquote>
+ <para>UART <emphasis>Universal Asynchronous
+ Receiver/Transmitter></emphasis> : R&eacute;cepteur/Emetteur
+ universel asynchrone</para>
+ </blockquote>
+
+ <blockquote>
+ <para>USART <emphasis>Universal SYnchronous-Asynchronous
+ Receiver/Transmitter></emphasis> : R&eacute;cepteur/Emetteur
+ universel synchrone-asynchrone</para>
+ </blockquote></para>
+
+ <sect4>
+ <title>Transmission s&eacute;rie synchrones</title>
+
+ <para>Les transmissions s&eacute;ries synchrones n&eacute;cessite le
+ fait que l'&eacute;metteur et le r&eacute;cepteur partage une horloge
+ commune, ou que l'envoyeur fournisse un signal
+ d'&eacute;chantillonage
+ ou n'importe quel autre signal temporel afin que le
+ r&eacute;cepteur sache quand est-ce qu'il doit
+ &ldquo;lire&rdquo; le prochain bit de donn&eacute;es. Dans la
+ plupart des formes de communication synchrone, s'il
+ n'y a pas de donn&eacute;es disponibles au moment o&ugrave; il faut
+ envoyer, un caract&egrave;re de remplissage doit &ecirc;tre envoy&eacute; &agrave;
+ la place de telle sorte qu'il y ait toujours des
+ donn&eacute;es en cours de transmission.
+ La communication synchrone est souvent plus efficace
+ parce seulement des bits de donn&eacute;es sont transmis entre
+ l'&eacute;metteur et le r&eacute;cepteur, et la communication
+ synchrone peut co&ucirc;ter plus cher si du cablage et
+ circuit suppl&eacute;mentaires sont n&eacute;cessaires pour partager
+ un signal d'horloge entre l'&eacute;metteur et le
+ r&eacute;cepteur.</para>
+
+ <para>Une forme de transmission synchrone est celle
+ utilis&eacute;e par les imprimantes et les p&eacute;riph&eacute;riques disques
+ non amovibles dans lesquels la donn&eacute;e est envoy&eacute; &agrave; un
+ ensemble de c&acirc;bles pendant que l'horloge ou le signal
+ d'&eacute;chantillonage est envoy&eacute; par un c&acirc;ble diff&eacute;rent.
+ Les imprimantes et les p&eacute;riph&eacute;riques de disques fixes ne
+ sont normalement pas des p&eacute;riph&eacute;riques s&eacute;rie parce que la
+ plupart des interfaces standards de disques fixes envoient
+ un mot entier de donn&eacute;e par signal d'horloge ou
+ d'&eacute;chantillonage en utilisant un c&acirc;ble s&eacute;par&eacute; pour chaque
+ bit du mot. Dans l'industrie du PC, cela est appel&eacute;
+ p&eacute;riph&eacute;rique parall&egrave;le.</para>
+
+ <para>Le mat&eacute;riel de communication s&eacute;rie standard dans un PC
+ ne supporte pas les op&eacute;rations synchrones. Ce mode est crit
+ ici dans un seul but de comparaison.</para>
+ </sect4>
+
+ <sect4>
+ <title>Transmission parall&egrave;le asynchrone</title>
+
+ <para>La transmission asynchrone parall&egrave;le permet
+ au donn&eacute;es d'&ecirc;tre transmises sans que l'&eacute;metteur n'ait &agrave;
+ envoyer une horloge au r&eacute;cepteur.
+ A la place, l'&eacute;metteur et le r&eacute;cepteur doivent s'entendre
+ &agrave; l'avance sur les param&ecirc;tres de temps et des bits sp&eacute;ciaux
+ sont ajout&eacute;s &agrave; chaque mot utilis&eacute; pour synchroniser les
+ unit&eacute;s d'envoi et de r&eacute;ception.</para>
+
+ <para>Lorsqu'un mot est donn&eacute; &agrave; l'UART pour des
+ transmissions asynchrones, un bit nomm&eacute; "bit de d&eacute;part"
+ est ajout&eacute; au d&eacute;bute de chaque mot transmis. Le bit de
+ d&eacute;part est utilis&eacute; pour avertir le r&eacute;cepteur qu'un mot de
+ donn&eacute;e est sur le point d'&ecirc;tre envoy&eacute;, et pour forcer
+ l'horloge du r&eacute;cepteur &agrave; se synchroniser avec l'horloge de
+ l'&eacute;metteur. Ces deux horloges doivent &ecirc;tre assez pr&eacute;cises
+ afin de ne pas avoir un d&eacute;calage de fr&eacute;quence sup&eacute;rieur &agrave;
+ 10% durant la transmission du reste des bits du mot. (cette
+ n&eacute;cessit&eacute; a &eacute;t&eacute; introduit aux jours des t&eacute;l&eacute;printers
+ m&eacute;caniques et est fr&eacute;quement rencontr&eacute; par les &eacute;quipements
+ &eacute;lectroniques modernes.</para>
+
+ <para>Apr&egrave;s le bit de d&eacute;part, les bits individuels du mot de
+ donn&eacute;es sont envoy&eacute;s, avec le bit de poids faible
+ <emphasis> - the Least Significant Bit (LSB) - </emphasis>
+ devant &ecirc;tre envoy&eacute; en premier.
+ Chaque bit dans la transmission est envoy&eacute; pour exactement
+ le m&ecirc;me temps que tous les autres bits, et le r&eacute;cepteur
+ &ldquo;regarde&rdquo; dans le c&acirc;ble &agrave;
+ approximativement la moiti&eacute; de la p&eacute;riode assign&eacute;e &agrave;
+ chaque bit pour d&eacute;terminer si le bit est un
+ <literal>1</literal> ou un <literal>0</literal>.
+ Par exemple, si cela prend deux secondes pour
+ envoyer chaque bit, le r&eacute;cepteur examinera le
+ signal pour d&eacute;terminer si c'est un <literal>1</literal>
+ ou un <literal>0</literal> apr&egrave;s qu'une seconde
+ se soit pass&eacute;e, puis il attendra deux secondes,
+ et examinera la valeur du bit suivant, et ainsi
+ de suite.</para>
+
+ <para>L'&eacute;metteur ne sait pas si le r&eacute;cepteur a
+ &ldquo;regard&eacute;&rdquo; la valeur du bit.
+ L'&eacute;metteur a seulement connaissance de
+ l'horloge lui disant de commencer &agrave; transmettre
+ le prochain bit du mot.</para>
+
+ <para>Lorsqu'un mot de donn&eacute;e complet a &eacute;t&eacute;
+ envoy&eacute;, l'&eacute;metteur peut ajouter un bit de
+ parit&eacute; que l'&eacute;metteur g&eacute;n&egrave;re. Le bit de
+ parit&eacute; peut &ecirc;tre utilis&eacute; par le r&eacute;cepteur pour
+ effectuer une v&eacute;rification d'erreur simple.
+ Puis enfin, un bit d'arr&ecirc;t est envoy&eacute; &agrave;
+ l'emmetteur.</para>
+
+ <para>Lorsque le r&eacute;cepteur recoit tous les bits
+ du mot de donn&eacute;es, il peut v&eacute;rifier les bits de
+ parit&eacute; (l'&eacute;metteur et le r&eacute;cepteur doivent
+ s'&ecirc;tre mis d'accord sur le bit de parit&eacute;
+ utilis&eacute;), puis le r&eacute;cepteur attend un bit
+ d'arr&ecirc;t. Si le bit d'arr&ecirc;t n'apparait pas au
+ moment o&ugrave; il est suppos&eacute; le faire, l'UART
+ consid&egrave;re que le mot complet est erron&eacute; et
+ reportera une erreur de fen&ecirc;tre au processeur
+ h&ocirc;te lorsque le mot de donn&eacute;e est lu. La cause
+ usuelle d'une erreur de fen&ecirc;tre est lorsque
+ l'horloge de l'&eacute;metteur et du r&eacute;cepteur ne
+ tournent pas &agrave; la m&ecirc;me vitesse, et que le
+ signal a &eacute;t&eacute; interrompu.</para>
+
+ <para>Ind&eacute;pendamment de si les donn&eacute;es ont &eacute;t&eacute;
+ re&ccedil;u correctement ou non, l'UART &eacute;carte
+ automatiquement les bits de d&eacute;part, d'arr&ecirc;t et de
+ parit&eacute;.
+ Si l'&eacute;metteur et le r&eacute;cepteur sont configur&eacute;s
+ identiquement, ces bits ne sont pas pass&eacute; &agrave;
+ l'h&ocirc;te.</para>
+
+ <para>Si un autre mot est pr&ecirc;t pour la
+ transmission, le bit de d&eacute;part pour le nouveau mot
+ peut &ecirc;tre envoy&eacute; aussit&ocirc;t que le bit d'arr&ecirc;t pour
+ le mot pr&eacute;c&eacute;dent a &eacute;t&eacute; envoy&eacute;.</para>
+
+ <para>Parce que les donn&eacute;es asynchrones sont
+ &ldquo;auto-descriptibles&rdquo;, s'il n'y a pas
+ de donn&eacute;es &agrave; transmettre, la ligne de transmission
+ peut &ecirc;tre inactive.</para>
+ </sect4>
+
+ <sect4>
+ <title>Autres fonctions UART</title>
+
+ <para>En plus de son travail qui est de convertir
+ des donn&eacute;es de parall&egrave;le &agrave; s&eacute;rie en r&eacute;ception, un
+ UART fournit usuellement des circuits addtionnel
+ pour les signaux qui peuvent &ecirc;tre utilis&eacute;s pour
+ indiquer l'&eacute;tat de le m&eacute;dia de transmission, et
+ pour r&eacute;guler le flux de donn&eacute;es dans l'&eacute;ventualit&eacute;
+ o&ugrave; le p&eacute;riph&eacute;rique distant n'est pas pr&eacute;par&eacute; &agrave;
+ accepter plus de donn&eacute;es. Par exemple, quand le
+ p&eacute;riph&eacute;rique connect&eacute; &agrave; l'UART est un modem, le
+ modem peut reporter la pr&eacute;sence d'une portance sur
+ la ligne t&eacute;l&eacute;phonique alors que l'ordinateur peut
+ ordonner au modem de se r&eacute;initialiser ou de ne pas
+ prendre d'appel en prenant en compte ou non ces
+ signaux suppl&eacute;pmentaires. La fonction de chacun
+ de ces signaux suppl&eacute;mentaires est d&eacute;fini dans le
+ standard EIA RS232-C.</para>
+ </sect4>
+
+ <sect4>
+ <title>Les standards RS232-C et V.24</title>
+
+ <para>Dans la plupart des syst&egrave;mes informatiques,
+ l'UART est connect&eacute; au circuit g&eacute;n&eacute;rant le signal
+ correspondant aux sp&eacute;cifications EIA RS232-C.
+ Il y a aussi un standard CCITT nomm&eacute; V.24
+ qui reprend les sp&eacute;cifications incluses dans
+ RS232-C.</para>
+
+ <sect5>
+ <title>Assignation de bits RS232-C (marques et
+ espaces)</title>
+
+ <para>Dans la RS232-C, une valeur de <literal>1</literal>
+ est appel&eacute;e une <literal>marque</literal> et une
+ valeur de <literal>0</literal> est appel&eacute; un
+ <literal>espace</literal>.
+ Lorsqu'une ligne de communication est inactive,
+ la ligne est dite &ldquo;marquant&rdquo; ou
+ transmettant continuellement la valeur
+ <literal>1</literal>.</para>
+
+ <para>Le bit de d&eacute;part a toujours une valeur de
+ <literal>0</literal> (un espace). Le bit d'arr&ecirc;t
+ a toujours une valeur de <literal>1</literal>
+ (une marque). Cela signifie qu'il y aura
+ toujours une transition d'une marque (1) &agrave; un
+ espace (0) sur la ligne &agrave; chaque mot, m&ecirc;me si
+ plusieurs mots sont transmis &agrave; la suite.
+ Cela garanti que l'&eacute;metteur et le r&eacute;cepteur
+ peuvent resynchroniser leurs horloges,
+ ind&eacute;pendamment du contenu des bits de donn&eacute;es en
+ train d'&ecirc;tre transmis.</para>
+
+ <para>Le temps d'inactivit&eacute; entre les bits de
+ d&eacute;part et d'arr&ecirc;t n'ont pas &agrave; &ecirc;tre exactement
+ multiple (en incluant z&eacute;ro) de la vitesse de
+ transmission de bits sur le lien de
+ communication, mais la plupart des UART sont
+ con&ccedil;us de cette mani&egrave;re pour que cela soit plus
+ simple.</para>
+
+ <para>Dans la RS232-C, le signal "marquant"
+ (un <literal>1</literal>) est repr&eacute;sent&eacute; par
+ un voltage entre -2 VDC (tension en courant
+ continu) et -12 VDC, et un
+ signal "d'espace" (un <literal>0</literal>)
+ est repr&eacute;sent&eacute; par un voltage entre 0 et +12 VDC.
+ L'&eacute;metteur est suppos&eacute; envoyer du +12 VDC ou
+ -12 VDC, et le r&eacute;cepteur, et le r&eacute;cepteur est
+ suppos&eacute; supporter une perte de voltage sur les
+ longs c&acirc;bles.
+ Certains &eacute;metteurs avec des p&eacute;riph&eacute;riques de
+ basse &eacute;nergie (comme les ordinateurs portables)
+ utilisent souvent seulement +5 VDC et -5 VDC,
+ mais ces valeurs sont toujours acceptables
+ par un r&eacute;cepteur RS232-C, du moment que la
+ longueur du c&acirc;ble soit courte.</para>
+ </sect5>
+
+ <sect5>
+ <title>Signal de rupture RS232-C (Break Signal)</title>
+
+ <para>La RS232-C sp&eacute;cifie aussi un signal
+ appel&eacute; <literal>rupture</literal> (break),
+ qui est caus&eacute; en envoyant en continu des valeurs
+ d'espacement (ni de d&eacute;part, ni d'arr&ecirc;t).
+ Quand iul n'y a pas d'&eacute;lectricit&eacute; pr&eacute;sent sur le
+ circuit de donn&eacute;es, la ligne est consid&eacute;r&eacute;e en
+ train d'envoyer une <literal>Rupture</literal>.</para>
+
+ <para>Le signal <literal>Rupture</literal> peut
+ &ecirc;tre plus long que le temps mis pour envoyer un
+ octet complet plus les bits de d&eacute;part, d'arr&ecirc;t
+ et de parit&eacute;. La plupart des UART peuvent
+ distinguer une erreur de fen&ecirc;tre et une
+ rupture, mais si l'UART ne peut pas le
+ faire, la d&eacute;tection de fen&ecirc;tre peut &ecirc;tre
+ utilis&eacute;e pour identifier les
+ ruptures.</para>
+
+ <para>Aux jours du teleprinter, lorsque
+ plusieurs imprimantes &agrave; travers le monde &eacute;taient
+ c&acirc;bl&eacute;es en s&eacute;rie (comme les services de news),
+ toute unit&eacute; pouvait causer une
+ <literal>Rupture</literal> en ouvrant
+ temporairement le circuit complet.
+ Cela &eacute;tait utilis&eacute; pour pouvoir autoriser un emplacement
+ avec des nouvelles importante d'interrompre un autre
+ emplacement en train de transmettre des informations.</para>
+
+ <para>Dans les syst&egrave;mes modernes, il y a deux types de
+ signal de rupture. Si la rupture est plus longue
+ que 1.6 secondes, on le consid&egrave;re comme une
+ "rupture de modem", et certains modems
+ peuvent &ecirc;tre programm&eacute;s pour terminer la conversation
+ et pour raccrocher ou entrer dans le mode de commande du
+ modem quand le modem d&eacute;tecte ce signal.
+ Si l'rupture est plus courte que 1.6 secondes, cela
+ signifie une rupture de donn&eacute;es et il appartient &agrave;
+ l'ordinateur distant de r&eacute;pondre &agrave; ce signal.
+ Parfois cette forme de rupture est utilis&eacute;e comme
+ signal d'attention ou d'interruption et est parfois
+ accept&eacute;e comme remplacement pour le caract&egrave;re
+ ASCII CONTROL-C.</para>
+
+ <para>Les marques et espaces sont &eacute;quivalents aux
+ &ldquo;trous&rdquo; et &ldquo;non trou&rdquo; dans les
+ syst&egrave;mes &agrave; cartes perfor&eacute;es.</para>
+
+ <note>
+ <para>Les ruptures ne peuvent &ecirc;tre g&eacute;n&eacute;r&eacute;es depuis des
+ cartes perfor&eacute;es ou n'importe auelle autre valeur
+ d'octet, puisque les octets sont toujours envoy&eacute;s avec
+ un bit de d&eacute;part et un bit d'arr&ecirc;t.
+ L'UART est habituellement capable de produire du signal
+ d'espacement en r&eacute;ponse &agrave; une commande sp&eacute;ciale
+ du processeur h&ocirc;te.</para>
+ </note>
+ </sect5>
+
+ <sect5>
+ <title>P&eacute;riph&eacute;riques RS232-C DTE et DCE</title>
+
+ <para>Les sp&eacute;cifications de RS232-C d&eacute;finit deux types de
+ mat&eacute;riel : le terminal informatique (DTE) et le p&eacute;riph&eacute;rique
+ de transport de donn&eacute;es (DCE). Habituellement, le
+ p&eacute;riph&eacute;rique DTE est un terminal (ou un ordinateur) et le
+ DCE est un modem. A l'autre extr&eacute;mit&eacute; de la conversation &agrave;
+ travers la ligne t&eacute;l&eacute;phonique, le modem de r&eacute;ception est
+ aussi un p&eacute;riph&eacute;rique DCE et l'ordinateur qui est reli&eacute; &agrave;
+ ce modem est un p&eacute;riph&eacute;rique DTE.
+ Le p&eacute;riph&eacute;rique DCE re&ccedil;oit des signaux sur les broches que
+ le p&eacute;riph&eacute;rique de DTE transmet, et vice versa.</para>
+
+ <para>Lorsque deux p&eacute;riph&eacute;riques qui sont tous deux DTE
+ ou tous deux DCE doivent &ecirc;tre connect&eacute;s ensemble sans un
+ modem ou un interm&eacute;diaire similaire entre eux, un NULL
+ modem doit &ecirc;tre utilis&eacute;. Le NULL modem r&eacute;organize
+ &eacute;lectriquement le c&acirc;blage de telle sorte que la sortie
+ de l'&eacute;metteur soit reli&eacute;e au r&eacute;cepteur sur l'autre
+ p&eacute;riph&eacute;rique et vice versa.
+ Des traductions semblables sont ex&eacute;cut&eacute;es sur tous les
+ signaux de contr&ocirc;le de sorte que chaque p&eacute;riph&eacute;rique
+ voit ce qu'il pense &ecirc;tre du signal DCE (ou DTE) depuis
+ l'autre p&eacute;riph&eacute;rique.</para>
+
+ <para>Le nombre de signaux produits par les p&eacute;riph&eacute;riques
+ DTE et DCE ne sont pas sym&eacute;triques.
+ Le p&eacute;riph&eacute;rique DTE produit moins de signaux pour le
+ p&eacute;riph&eacute;rique DCE que le p&eacute;riph&eacute;rique DTE re&ccedil;oit depuis le
+ DCE.</para>
+ </sect5>
+
+ <sect5>
+ <title>Assignation des broches RS232-C</title>
+
+ <para>Les sp&eacute;cifications EIA RS232-C (et l'&eacute;quivalent ITU,
+ V.24) d&eacute;signe un connecteur 25 broches (habituellement un
+ DB25) et d&eacute;finit le but de la plupart des broches dans ce
+ connecteur.</para>
+
+ <para>Dans l'IBM PC et les syst&egrave;mes
+ semblables, un sous-ensemble de signaux de
+ RS232-C est fourni par l'interm&eacute;diaire de neuf
+ connecteurs &agrave; broches (DB9). Les signaux qui ne
+ sont pas inclus sur le connecteur PC, travaille
+ principalement avec l'ex&eacute;cution synchrone, et ce
+ mode de transmission n'est pas support&eacute;s par
+ l'UART qu'IBM a choisi pour l'usage dans l'IBM
+ PC.</para>
+
+ <para>Selon le constructeur, un DB25, un
+ DB9, ou les deux types de connecteur peuvent
+ &ecirc;tre utilis&eacute;s pour des transmissions de RS232-C.
+ (l'IBM PC utilise &eacute;galement un connecteur
+ DB25 pour l'interface parall&egrave;le pour
+ imprimante ce qui pr&ecirc;te &agrave; certaines
+ confusions).</para>
+
+ <para>Ci-dessous, une table des affectations de signaux
+ des connecteurs DB25 et DB9 dans RS232-C</para>
+
+ <informaltable frame="none">
+ <tgroup cols="7">
+ <thead>
+ <row>
+ <entry>Broche DB25 RS232-C</entry>
+ <entry>Broche DB9 IBM PC</entry>
+ <entry>EIA Circuit Symbol</entry>
+ <entry>CCITT Circuit Symbol</entry>
+ <entry>Common Name</entry>
+ <entry>Signal Source</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>1</entry>
+ <entry>-</entry>
+ <entry>AA</entry>
+ <entry>101</entry>
+ <entry>PG/FG</entry>
+ <entry>-</entry>
+ <entry>Frame/Protective Ground</entry>
+ </row>
+
+ <row>
+ <entry>2</entry>
+ <entry>3</entry>
+ <entry>BA</entry>
+ <entry>103</entry>
+ <entry>TD</entry>
+ <entry>DTE</entry>
+ <entry>Transmission donn&eacute;es</entry>
+ </row>
+
+ <row>
+ <entry>3</entry>
+ <entry>2</entry>
+ <entry>BB</entry>
+ <entry>104</entry>
+ <entry>RD</entry>
+ <entry>DCE</entry>
+ <entry>Reception donn&eacute;es</entry>
+ </row>
+
+ <row>
+ <entry>4</entry>
+ <entry>7</entry>
+ <entry>CA</entry>
+ <entry>105</entry>
+ <entry>RTS</entry>
+ <entry>DTE</entry>
+ <entry>Request to Send</entry>
+ </row>
+
+ <row>
+ <entry>5</entry>
+ <entry>8</entry>
+ <entry>CB</entry>
+ <entry>106</entry>
+ <entry>CTS</entry>
+ <entry>DCE</entry>
+ <entry>Clear to Send</entry>
+ </row>
+
+ <row>
+ <entry>6</entry>
+ <entry>6</entry>
+ <entry>CC</entry>
+ <entry>107</entry>
+ <entry>DSR</entry>
+ <entry>DCE</entry>
+ <entry>Data Set Ready</entry>
+ </row>
+
+ <row>
+ <entry>7</entry>
+ <entry>5</entry>
+ <entry>AV</entry>
+ <entry>102</entry>
+ <entry>SG/GND</entry>
+ <entry>-</entry>
+ <entry>Signal Ground</entry>
+ </row>
+
+ <row>
+ <entry>8</entry>
+ <entry>1</entry>
+ <entry>CF</entry>
+ <entry>109</entry>
+ <entry>DCD/CD</entry>
+ <entry>DCE</entry>
+ <entry>Data Carrier Detect</entry>
+ </row>
+
+ <row>
+ <entry>9</entry>
+ <entry>-</entry>
+ <entry>-</entry>
+ <entry>-</entry>
+ <entry>-</entry>
+ <entry>-</entry>
+ <entry>Reserved for Test</entry>
+ </row>
+
+ <row>
+ <entry>10</entry>
+ <entry>-</entry>
+ <entry>-</entry>
+ <entry>-</entry>
+ <entry>-</entry>
+ <entry>-</entry>
+ <entry>Reserved for Test</entry>
+ </row>
+
+ <row>
+ <entry>11</entry>
+ <entry>-</entry>
+ <entry>-</entry>
+ <entry>-</entry>
+ <entry>-</entry>
+ <entry>-</entry>
+ <entry>Reserved for Test</entry>
+ </row>
+
+ <row>
+ <entry>12</entry>
+ <entry>-</entry>
+ <entry>CI</entry>
+ <entry>122</entry>
+ <entry>SRLSD</entry>
+ <entry>DCE</entry>
+ <entry>Sec. Recv. Line Signal Detector</entry>
+ </row>
+
+ <row>
+ <entry>13</entry>
+ <entry>-</entry>
+ <entry>SCB</entry>
+ <entry>121</entry>
+ <entry>SCTS</entry>
+ <entry>DCE</entry>
+ <entry>Secondary Clear to Send</entry>
+ </row>
+
+ <row>
+ <entry>14</entry>
+ <entry>-</entry>
+ <entry>SBA</entry>
+ <entry>118</entry>
+ <entry>STD</entry>
+ <entry>DTE</entry>
+ <entry>Secondary Transmit Data</entry>
+ </row>
+
+ <row>
+ <entry>15</entry>
+ <entry>-</entry>
+ <entry>DB</entry>
+ <entry>114</entry>
+ <entry>TSET</entry>
+ <entry>DCE</entry>
+ <entry>Trans. Sig. Element Timing</entry>
+ </row>
+
+ <row>
+ <entry>16</entry>
+ <entry>-</entry>
+ <entry>SBB</entry>
+ <entry>119</entry>
+ <entry>SRD</entry>
+ <entry>DCE</entry>
+ <entry>Secondary Received Data</entry>
+ </row>
+
+ <row>
+ <entry>17</entry>
+ <entry>-</entry>
+ <entry>DD</entry>
+ <entry>115</entry>
+ <entry>RSET</entry>
+ <entry>DCE</entry>
+ <entry>Receiver Signal Element Timing</entry>
+ </row>
+
+ <row>
+ <entry>18</entry>
+ <entry>-</entry>
+ <entry>-</entry>
+ <entry>141</entry>
+ <entry>LOOP</entry>
+ <entry>DTE</entry>
+ <entry>Local Loopback</entry>
+ </row>
+
+ <row>
+ <entry>19</entry>
+ <entry>-</entry>
+ <entry>SCA</entry>
+ <entry>120</entry>
+ <entry>SRS</entry>
+ <entry>DTE</entry>
+ <entry>Secondary Request to Send</entry>
+ </row>
+
+ <row>
+ <entry>20</entry>
+ <entry>4</entry>
+ <entry>CD</entry>
+ <entry>108.2</entry>
+ <entry>DTR</entry>
+ <entry>DTE</entry>
+ <entry>Data Terminal Ready</entry>
+ </row>
+
+ <row>
+ <entry>21</entry>
+ <entry>-</entry>
+ <entry>-</entry>
+ <entry>-</entry>
+ <entry>RDL</entry>
+ <entry>DTE</entry>
+ <entry>Remote Digital Loopback</entry>
+ </row>
+
+ <row>
+ <entry>22</entry>
+ <entry>9</entry>
+ <entry>CE</entry>
+ <entry>125</entry>
+ <entry>RI</entry>
+ <entry>DCE</entry>
+ <entry>Ring Indicator</entry>
+ </row>
+
+ <row>
+ <entry>23</entry>
+ <entry>-</entry>
+ <entry>CH</entry>
+ <entry>111</entry>
+ <entry>DSRS</entry>
+ <entry>DTE</entry>
+ <entry>Data Signal Rate Selector</entry>
+ </row>
+
+ <row>
+ <entry>24</entry>
+ <entry>-</entry>
+ <entry>DA</entry>
+ <entry>113</entry>
+ <entry>TSET</entry>
+ <entry>DTE</entry>
+ <entry>Trans. Sig. Element Timing</entry>
+ </row>
+
+ <row>
+ <entry>25</entry>
+ <entry>-</entry>
+ <entry>-</entry>
+ <entry>142</entry>
+ <entry>-</entry>
+ <entry>DCE</entry>
+ <entry>Test Mode</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect5>
+ </sect4>
+
+ <sect4>
+ <title>Bits, Baud et symboles</title>
+
+ <para>Le baud est une mesure de vitesse de transmission dans la
+ liaison asynchrone. En raison de l'avance en technologie
+ de transmission par modem, ce terme est fr&eacute;quemment
+ employ&eacute; abusivement pour d&eacute;signer le d&eacute;bit dans les nouveaux
+ p&eacute;riph&eacute;riques.</para>
+
+ <para>Traditionnellement, un d&eacute;bit en baud repr&eacute;sente le
+ nombre de bits qui sont envoy&eacute;s r&eacute;ellement
+ par le m&eacute;dia, pas la quantit&eacute; des donn&eacute;es qui sont
+ d&eacute;plac&eacute;es r&eacute;ellement d'un dispositif de
+ DTE &agrave; l'autre. Le comptage en baud inclut les bits
+ suppl&eacute;mentaires de d&eacute;part, d'arr&ecirc;t et de parit&eacute; qui sont
+ produits par l'UART d' envoi et retir&eacute;s par l'UART de
+ r&eacute;ception. Ceci signifie que les mots de sept bits
+ de donn&eacute;es prennent r&eacute;ellement 10 bits &agrave; transmettre.
+ Par cons&eacute;quent, un modem
+ capable de d&eacute;placer 300 bits par seconde d'un endroit &agrave;
+ l'autre peut normalement seulement
+ d&eacute;placer 30 mots de 7 bit si la parit&eacute; est utilis&eacute;e et un bit
+ d'arr&ecirc;t et de de d&eacute;but sont pr&eacute;sent.</para>
+
+ <para>Si des mots contenant des donn&eacute;es de 8 bits sont
+ utilis&eacute;s et si des bits de parit&eacute; sont &eacute;galement
+ utilis&eacute;s, le d&eacute;bit tombe &agrave; 27.27 mots par seconde, parce que
+ cela prend maintenant 11 bits pour envoyer les mots
+ de 8 bits, et le modem envoie toujours seulement
+ 300 bits par seconde.</para>
+
+ <para>La formule pour convertir des octets par seconde
+ en une vitesse baud et vice versa &eacute;tait
+ simple jusqu'&agrave; ce que les modems correcteurs d'erreurs
+ soient arriv&eacute;s. Ces modems re&ccedil;oivent
+ une s&eacute;rie de bits de l'UART dans l'ordinateur
+ h&ocirc;te (m&ecirc;me lorsque des modems internes
+ sont utilis&eacute;s les donn&eacute;es sont encore
+ fr&eacute;quemment arrang&eacute;s en s&eacute;rie) et convertissent les bits de
+ nouveau en octets. Ces octets sont alors combin&eacute;s dans
+ des paquets et envoy&eacute;s par
+ de la ligne t&eacute;l&eacute;phonique en utilisant une m&eacute;thode de
+ transmission synchrone. Ceci signifie que les
+ bits de parit&eacute;, d'arr&ecirc;t, de d&eacute;but, ajout&eacute;s par l'UART dans
+ le DTE (l'ordinateur) ont &eacute;t&eacute; retir&eacute;s par le
+ modem avant transmission par le modem d' envoi. Quand ces
+ octets sont re&ccedil;us par le modem distant, le modem
+ distant ajoute des bits de parit&eacute;, de d&eacute;but, d'arr&ecirc;t
+ aux mots, les convertit en format s&eacute;quentiel et puis
+ les envoie &agrave; l'UART de r&eacute;ception
+ dans l'ordinateur distant, qui &eacute;limine
+ alors les bits de d&eacute;but, d'arr&ecirc;t et
+ de parit&eacute;.</para>
+
+ <para>La raison pour laquelle toutes ces conversions
+ suppl&eacute;mentaires sont effectu&eacute;es est de faire de la sorte
+ que les deux modems
+ puissent ex&eacute;cuter les corrections d'erreurs, qui signifie que
+ le modem de r&eacute;ception peut demander au
+ modem d'envoi de renvoyer un bloc de donn&eacute;es qui n'aurait
+ pas &eacute;t&eacute; re&ccedil;u avec un total de
+ contr&ocirc;le correct. Ce contr&ocirc;le est manipul&eacute; par les
+ modems, et les p&eacute;riph&eacute;riques DTE sont ignorant du processus
+ qui s'est produit.</para>
+
+ <para>En sautant les bits de parit&eacute;, de d&eacute;but et d'arr&ecirc;t,
+ les bits suppl&eacute;mentaires des donn&eacute;es - que les deux
+ modems doivent partager entre eux pour effectuer des
+ corrections d'erreurs - sont le plus souvent cach&eacute;s lors du calcul
+ du d&eacute;bit de transmission effectivement vu par le mat&eacute;riel
+ DTE d'envoi et de r&eacute;ception.
+ Par exemple, si un modem envoie dix mots de 7 bit &agrave; un
+ autre modem sans compter les bits de
+ parit&eacute;, de d&eacute;but et d'arr&ecirc;t, le modem d' envoi pourra
+ ajouter 30 bits d'information que le
+ modem de r&eacute;ception pourra employer pour faire de correction
+ d'erreurs, ceci sans influencer la vitesse de
+ transmission des vraies donn&eacute;es.</para>
+
+ <para>L'utilisation du terme baud est rendu
+ encore confus
+ par les modems ex&eacute;cutant une compression.
+ Un mot simple de 8 bits &agrave; travers une ligne
+ t&eacute;l&eacute;phonique pourrait en r&eacute;alit&eacute; &ecirc;tre une douzaine de mots
+ qui ont &eacute;t&eacute; transmis au modem d'envoi. Le modem de r&eacute;ception
+ se chargera ensuite de le d&eacute;compresser et lui rendre son
+ contenu inital qu'il passera au DTE de r&eacute;ception.</para>
+
+ </para>
+ Modern modems also include buffers that allow the rate that
+ bits move across the phone line (DCE to DCE) to be a different
+ speed than the speed that the bits move between the DTE and DCE on
+ both ends of the conversation. Normally the speed between the DTE
+ and DCE is higher than the DCE to DCE speed because of the use of
+ compression by the modems.</para>
+
+ <para>Because the number of bits needed to describe a byte varied
+ during the trip between the two machines plus the differing
+ bits-per-seconds speeds that are used present on the DTE-DCE and
+ DCE-DCE links, the usage of the term Baud to describe the overall
+ communication speed causes problems and can misrepresent the true
+ transmission speed. So Bits Per Second (bps) is the correct term
+ to use to describe the transmission rate seen at the DCE to DCE
+ interface and Baud or Bits Per Second are acceptable terms to use
+ when a connection is made between two systems with a wired
+ connection, or if a modem is in use that is not performing
+ error-correction or compression.</para>
+
+ <para>Modern high speed modems (2400, 9600, 14,400, and 19,200bps)
+ in reality still operate at or below 2400 baud, or more
+ accurately, 2400 Symbols per second. High speed modem are able to
+ encode more bits of data into each Symbol using a technique called
+ Constellation Stuffing, which is why the effective bits per second
+ rate of the modem is higher, but the modem continues to operate
+ within the limited audio bandwidth that the telephone system
+ provides. Modems operating at 28,800 and higher speeds have
+ variable Symbol rates, but the technique is the same.</para>
+ </sect4>
+
+
+ <sect4>
+ <title>The IBM Personal Computer UART</title>
+
+ <para>Starting with the original IBM Personal Computer, IBM selected
+ the National Semiconductor INS8250 UART for use in the IBM PC
+ Parallel/Serial Adapter. Subsequent generations of compatible
+ computers from IBM and other vendors continued to use the INS8250
+ or improved versions of the National Semiconductor UART
+ family.</para>
+
+ <sect5>
+ <title>National Semiconductor UART Family Tree</title>
+
+ <para>There have been several versions and subsequent generations
+ of the INS8250 UART. Each major version is described
+ below.</para>
+
+ <programlisting>
+INS8250 -&gt; INS8250B
+ \
+ \
+ \-&gt; INS8250A -&gt; INS82C50A
+ \
+ \
+ \-&gt; NS16450 -&gt; NS16C450
+ \
+ \
+ \-&gt; NS16550 -&gt; NS16550A -&gt; PC16550D</programlisting>
+
+ <variablelist>
+ <varlistentry>
+ <term>INS8250</term>
+
+ <listitem>
+ <para>This part was used in the original IBM PC and IBM
+ PC/XT. The original name for this part was the INS8250
+ ACE (Asynchronous Communications Element) and it is made
+ from NMOS technology.</para>
+
+ <para>The 8250 uses eight I/O ports and has a one-byte send
+ and a one-byte receive buffer. This original UART has
+ several race conditions and other flaws. The original IBM
+ BIOS includes code to work around these flaws, but this
+ made the BIOS dependent on the flaws being present, so
+ subsequent parts like the 8250A, 16450 or 16550 could not
+ be used in the original IBM PC or IBM PC/XT.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>INS8250-B</term>
+
+ <listitem>
+ <para>This is the slower speed of the INS8250 made from NMOS
+ technology. It contains the same problems as the original
+ INS8250.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>INS8250A</term>
+
+ <listitem>
+ <para>An improved version of the INS8250 using XMOS
+ technology with various functional flaws corrected. The
+ INS8250A was used initially in PC clone computers by
+ vendors who used &ldquo;clean&rdquo; BIOS designs. Because
+ of the corrections in the chip, this part could not be
+ used with a BIOS compatible with the INS8250 or
+ INS8250B.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>INS82C50A</term>
+
+ <listitem>
+ <para>This is a CMOS version (low power consumption) of the
+ INS8250A and has similar functional
+ characteristics.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>NS16450</term>
+
+ <listitem>
+ <para>Same as NS8250A with improvements so it can be used
+ with faster CPU bus designs. IBM used this part in the
+ IBM AT and updated the IBM BIOS to no longer rely on the
+ bugs in the INS8250.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>NS16C450</term>
+
+ <listitem>
+ <para>This is a CMOS version (low power consumption) of the
+ NS16450.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>NS16550</term>
+
+ <listitem>
+ <para>Same as NS16450 with a 16-byte send and receive buffer
+ but the buffer design was flawed and could not be reliably
+ be used.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>NS16550A</term>
+
+ <listitem>
+ <para>Same as NS16550 with the buffer flaws corrected. The
+ 16550A and its successors have become the most popular
+ UART design in the PC industry, mainly due it its ability
+ to reliably handle higher data rates on operating systems
+ with sluggish interrupt response times.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>NS16C552</term>
+
+ <listitem>
+ <para>This component consists of two NS16C550A CMOS UARTs in
+ a single package.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>PC16550D</term>
+
+ <listitem>
+ <para>Same as NS16550A with subtle flaws corrected. This is
+ revision D of the 16550 family and is the latest design
+ available from National Semiconductor.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect5>
+
+ <sect5>
+ <title>The NS16550AF and the PC16550D are the same thing</title>
+
+ <para>National reorganized their part numbering system a few years
+ ago, and the NS16550AFN no longer exists by that name. (If you
+ have a NS16550AFN, look at the date code on the part, which is a
+ four digit number that usually starts with a nine. The first
+ two digits of the number are the year, and the last two digits
+ are the week in that year when the part was packaged. If you
+ have a NS16550AFN, it is probably a few years old.)</para>
+
+ <para>The new numbers are like PC16550DV, with minor differences
+ in the suffix letters depending on the package material and its
+ shape. (A description of the numbering system can be found
+ below.)</para>
+
+ <para>It is important to understand that in some stores, you may
+ pay &#36;15(US) for a NS16550AFN made in 1990 and in the next
+ bin are the new PC16550DN parts with minor fixes that National
+ has made since the AFN part was in production, the PC16550DN was
+ probably made in the past six months and it costs half (as low
+ as &#36;5(US) in volume) as much as the NS16550AFN because they
+ are readily available.</para>
+
+ <para>As the supply of NS16550AFN chips continues to shrink, the
+ price will probably continue to increase until more people
+ discover and accept that the PC16550DN really has the same
+ function as the old part number.</para>
+ </sect5>
+
+ <sect5>
+ <title>National Semiconductor Part Numbering System</title>
+
+ <para>The older NS<replaceable>nnnnnrqp</replaceable> part
+ numbers are now of the format
+ PC<replaceable>nnnnnrgp</replaceable>.</para>
+
+ <para>The <replaceable>r</replaceable> is the revision field. The
+ current revision of the 16550 from National Semiconductor is
+ <literal>D</literal>.</para>
+
+ <para>The <replaceable>p</replaceable> is the package-type field.
+ The types are:</para>
+
+ <informaltable frame="none">
+ <tgroup cols="3">
+ <tbody>
+ <row>
+ <entry>"F"</entry>
+ <entry>QFP</entry>
+ <entry>(quad flat pack) L lead type</entry>
+ </row>
+
+ <row>
+ <entry>"N"</entry>
+ <entry>DIP</entry>
+ <entry>(dual inline package) through hole straight lead
+ type</entry>
+ </row>
+
+ <row>
+ <entry>"V"</entry>
+ <entry>LPCC</entry>
+ <entry>(lead plastic chip carrier) J lead type</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>The <replaceable>g</replaceable> is the product grade field.
+ If an <literal>I</literal> precedes the package-type letter, it
+ indicates an &ldquo;industrial&rdquo; grade part, which has
+ higher specs than a standard part but not as high as Military
+ Specification (Milspec) component. This is an optional
+ field.</para>
+
+ <para>So what we used to call a NS16550AFN (DIP Package) is now
+ called a PC16550DN or PC16550DIN.</para>
+ </sect5>
+ </sect4>
+
+ <sect4>
+ <title>Other Vendors and Similar UARTs</title>
+
+ <para>Over the years, the 8250, 8250A, 16450 and 16550 have been
+ licensed or copied by other chip vendors. In the case of the
+ 8250, 8250A and 16450, the exact circuit (the
+ &ldquo;megacell&rdquo;) was licensed to many vendors, including
+ Western Digital and Intel. Other vendors reverse-engineered the
+ part or produced emulations that had similar behavior.</para>
+
+ <para>In internal modems, the modem designer will frequently emulate
+ the 8250A/16450 with the modem microprocessor, and the emulated
+ UART will frequently have a hidden buffer consisting of several
+ hundred bytes. Because of the size of the buffer, these
+ emulations can be as reliable as a 16550A in their ability to
+ handle high speed data. However, most operating systems will
+ still report that the UART is only a 8250A or 16450, and may not
+ make effective use of the extra buffering present in the emulated
+ UART unless special drivers are used.</para>
+
+ <para>Some modem makers are driven by market forces to abandon a
+ design that has hundreds of bytes of buffer and instead use a
+ 16550A UART so that the product will compare favorably in market
+ comparisons even though the effective performance may be lowered
+ by this action.</para>
+
+ <para>A common misconception is that all parts with
+ &ldquo;16550A&rdquo; written on them are identical in performance.
+ There are differences, and in some cases, outright flaws in most
+ of these 16550A clones.</para>
+
+ <para>When the NS16550 was developed, the National Semiconductor
+ obtained several patents on the design and they also limited
+ licensing, making it harder for other vendors to provide a chip
+ with similar features. Because of the patents, reverse-engineered
+ designs and emulations had to avoid infringing the claims covered
+ by the patents. Subsequently, these copies almost never perform
+ exactly the same as the NS16550A or PC16550D, which are the parts
+ most computer and modem makers want to buy but are sometimes
+ unwilling to pay the price required to get the genuine
+ part.</para>
+
+ <para>Some of the differences in the clone 16550A parts are
+ unimportant, while others can prevent the device from being used
+ at all with a given operating system or driver. These differences
+ may show up when using other drivers, or when particular
+ combinations of events occur that were not well tested or
+ considered in the Windows driver. This is because most modem
+ vendors and 16550-clone makers use the Microsoft drivers from
+ Windows for Workgroups 3.11 and the Microsoft MSD utility as the
+ primary tests for compatibility with the NS16550A. This
+ over-simplistic criteria means that if a different operating
+ system is used, problems could appear due to subtle differences
+ between the clones and genuine components.</para>
+
+ <para>National Semiconductor has made available a program named
+ <application>COMTEST</application> that performs compatibility
+ tests independent of any OS drivers. It should be remembered that
+ the purpose of this type of program is to demonstrate the flaws in
+ the products of the competition, so the program will report major
+ as well as extremely subtle differences in behavior in the part
+ being tested.</para>
+
+ <para>In a series of tests performed by the author of this document
+ in 1994, components made by National Semiconductor, TI, StarTech,
+ and CMD as well as megacells and emulations embedded in internal
+ modems were tested with COMTEST. A difference count for some of
+ these components is listed below. Because these tests were
+ performed in 1994, they may not reflect the current performance of
+ the given product from a vendor.</para>
+
+ <para>It should be noted that COMTEST normally aborts when an
+ excessive number or certain types of problems have been detected.
+ As part of this testing, COMTEST was modified so that it would not
+ abort no matter how many differences were encountered.</para>
+
+ <informaltable frame="none">
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>Vendor</entry>
+ <entry>Part Number</entry>
+ <entry>Errors (aka "differences" reported)</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>National</entry>
+ <entry>(PC16550DV)</entry>
+ <entry>0</entry>
+ </row>
+
+ <row>
+ <entry>National</entry>
+ <entry>(NS16550AFN)</entry>
+ <entry>0</entry>
+ </row>
+
+ <row>
+ <entry>National</entry>
+ <entry>(NS16C552V)</entry>
+ <entry>0</entry>
+ </row>
+
+ <row>
+ <entry>TI</entry>
+ <entry>(TL16550AFN)</entry>
+ <entry>3</entry>
+ </row>
+
+ <row>
+ <entry>CMD</entry>
+ <entry>(16C550PE)</entry>
+ <entry>19</entry>
+ </row>
+
+ <row>
+ <entry>StarTech</entry>
+ <entry>(ST16C550J)</entry>
+ <entry>23</entry>
+ </row>
+
+ <row>
+ <entry>Rockwell</entry>
+ <entry>Reference modem with internal 16550 or an
+ emulation (RC144DPi/C3000-25)</entry>
+ <entry>117</entry>
+ </row>
+
+ <row>
+ <entry>Sierra</entry>
+ <entry>Modem with an internal 16550
+ (SC11951/SC11351)</entry>
+ <entry>91</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <note>
+ <para>To date, the author of this document has not found any
+ non-National parts that report zero differences using the
+ COMTEST program. It should also be noted that National has had
+ five versions of the 16550 over the years and the newest parts
+ behave a bit differently than the classic NS16550AFN that is
+ considered the benchmark for functionality. COMTEST appears to
+ turn a blind eye to the differences within the National product
+ line and reports no errors on the National parts (except for the
+ original 16550) even when there are official erratas that
+ describe bugs in the A, B and C revisions of the parts, so this
+ bias in COMTEST must be taken into account.</para>
+ </note>
+
+ <para>It is important to understand that a simple count of
+ differences from COMTEST does not reveal a lot about what
+ differences are important and which are not. For example, about
+ half of the differences reported in the two modems listed above
+ that have internal UARTs were caused by the clone UARTs not
+ supporting five- and six-bit character modes. The real 16550,
+ 16450, and 8250 UARTs all support these modes and COMTEST checks
+ the functionality of these modes so over fifty differences are
+ reported. However, almost no modern modem supports five- or
+ six-bit characters, particularly those with error-correction and
+ compression capabilities. This means that the differences related
+ to five- and six-bit character modes can be discounted.</para>
+
+ <para>Many of the differences COMTEST reports have to do with
+ timing. In many of the clone designs, when the host reads from
+ one port, the status bits in some other port may not update in the
+ same amount of time (some faster, some slower) as a
+ <emphasis>real</emphasis> NS16550AFN and COMTEST looks for these
+ differences. This means that the number of differences can be
+ misleading in that one device may only have one or two differences
+ but they are extremely serious, and some other device that updates
+ the status registers faster or slower than the reference part
+ (that would probably never affect the operation of a properly
+ written driver) could have dozens of differences reported.</para>
+
+ <para>COMTEST can be used as a screening tool to alert the
+ administrator to the presence of potentially incompatible
+ components that might cause problems or have to be handled as a
+ special case.</para>
+
+ <para>If you run COMTEST on a 16550 that is in a modem or a modem is
+ attached to the serial port, you need to first issue a ATE0&amp;W
+ command to the modem so that the modem will not echo any of the
+ test characters. If you forget to do this, COMTEST will report at
+ least this one difference:</para>
+
+ <screen>Error (6)...Timeout interrupt failed: IIR = c1 LSR = 61</screen>
+ </sect4>
+
+ <sect4>
+ <title>8250/16450/16550 Registers</title>
+
+ <para>The 8250/16450/16550 UART occupies eight contiguous I/O port
+ addresses. In the IBM PC, there are two defined locations for
+ these eight ports and they are known collectively as COM1 and
+ COM2. The makers of PC-clones and add-on cards have created two
+ additional areas known as COM3 and COM4, but these extra COM ports
+ conflict with other hardware on some systems. The most common
+ conflict is with video adapters that provide IBM 8514
+ emulation.</para>
+
+ <para>COM1 is located from 0x3f8 to 0x3ff and normally uses IRQ 4
+ COM2 is located from 0x2f8 to 0x2ff and normally uses IRQ 3 COM3
+ is located from 0x3e8 to 0x3ef and has no standardized IRQ COM4 is
+ located from 0x2e8 to 0x2ef and has no standardized IRQ.</para>
+
+ <para>A description of the I/O ports of the 8250/16450/16550 UART is
+ provided below.</para>
+
+ <informaltable frame="none">
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>I/O Port</entry>
+ <entry>Access Allowed</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>+0x00</entry>
+ <entry>write (DLAB==0)</entry>
+ <entry><para>Transmit Holding Register
+ (THR).</para><para>Information written to this port are
+ treated as data words and will be transmitted by the
+ UART.</para></entry>
+ </row>
+
+ <row>
+ <entry>+0x00</entry>
+ <entry>read (DLAB==0)</entry>
+ <entry><para>Receive Buffer Register (RBR).</para><para>Any
+ data words received by the UART form the serial link are
+ accessed by the host by reading this
+ port.</para></entry>
+ </row>
+
+ <row>
+ <entry>+0x00</entry>
+ <entry>write/read (DLAB==1)</entry>
+ <entry><para>Divisor Latch LSB (DLL)</para><para>This value
+ will be divided from the master input clock (in the IBM
+ PC, the master clock is 1.8432MHz) and the resulting
+ clock will determine the baud rate of the UART. This
+ register holds bits 0 thru 7 of the
+ divisor.</para></entry>
+ </row>
+
+ <row>
+ <entry>+0x01</entry>
+ <entry>write/read (DLAB==1)</entry>
+ <entry><para>Divisor Latch MSB (DLH)</para><para>This value
+ will be divided from the master input clock (in the IBM
+ PC, the master clock is 1.8432MHz) and the resulting
+ clock will determine the baud rate of the UART. This
+ register holds bits 8 thru 15 of the
+ divisor.</para></entry>
+ </row>
+
+ <row>
+ <entry>+0x01</entry>
+ <entry>write/read (DLAB==0)</entry>
+ <entrytbl cols="2">
+ <colspec colnum="1" colname="col1">
+ <colspec colnum="2" colname="col2">
+ <spanspec namest="col1" nameend="col2" spanname="1to2">
+
+ <tbody>
+ <row>
+ <entry spanname="1to2"><para>Interrupt Enable Register
+ (IER)</para><para>The 8250/16450/16550 UART
+ classifies events into one of four categories.
+ Each category can be configured to generate an
+ interrupt when any of the events occurs. The
+ 8250/16450/16550 UART generates a single external
+ interrupt signal regardless of how many events in
+ the enabled categories have occurred. It is up to
+ the host processor to respond to the interrupt and
+ then poll the enabled interrupt categories
+ (usually all categories have interrupts enabled)
+ to determine the true cause(s) of the
+ interrupt.</para></entry>
+ </row>
+
+ <row>
+ <entry>Bit 7</entry>
+ <entry>Reserved, always 0.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 6</entry>
+ <entry>Reserved, always 0.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 5</entry>
+ <entry>Reserved, always 0.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 4</entry>
+ <entry>Reserved, always 0.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 3</entry>
+ <entry>Enable Modem Status Interrupt (EDSSI). Setting
+ this bit to "1" allows the UART to generate an
+ interrupt when a change occurs on one or more of the
+ status lines.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 2</entry>
+ <entry>Enable Receiver Line Status Interrupt (ELSI)
+ Setting this bit to "1" causes the UART to generate
+ an interrupt when the an error (or a BREAK signal)
+ has been detected in the incoming data.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 1</entry>
+ <entry>Enable Transmitter Holding Register Empty
+ Interrupt (ETBEI) Setting this bit to "1" causes the
+ UART to generate an interrupt when the UART has room
+ for one or more additional characters that are to be
+ transmitted.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 0</entry>
+ <entry>Enable Received Data Available Interrupt
+ (ERBFI) Setting this bit to "1" causes the UART to
+ generate an interrupt when the UART has received
+ enough characters to exceed the trigger level of the
+ FIFO, or the FIFO timer has expired (stale data), or
+ a single character has been received when the FIFO
+ is disabled.</entry>
+ </row>
+ </tbody>
+ </entrytbl>
+ </row>
+
+ <row>
+ <entry>+0x02</entry>
+ <entry>write</entry>
+ <entrytbl cols="4">
+ <colspec colnum="1" colname="col1">
+ <colspec colnum="2" colname="col2">
+ <colspec colnum="3" colname="col3">
+ <colspec colnum="4" colname="col4">
+ <spanspec namest="col1" nameend="col4" spanname="1to4">
+ <spanspec namest="col2" nameend="col4" spanname="2to4">
+
+ <tbody>
+ <row>
+ <entry spanname="1to4">FIFO Control Register (FCR)
+ (This port does not exist on the 8250 and 16450
+ UART.)</entry>
+ </row>
+
+ <row>
+ <entry>Bit 7</entry>
+ <entry spanname="2to4">Receiver Trigger Bit #1</entry>
+ </row>
+
+ <row>
+ <entry>Bit 6</entry>
+ <entry spanname="2to4"><para>Receiver Trigger Bit
+ #0</para><para>These two bits control at what
+ point the receiver is to generate an interrupt
+ when the FIFO is active.</para></entry>
+ </row>
+
+ <row>
+ <entry colname="col2">7</entry>
+ <entry colname="col3">6</entry>
+ <entry colname="col4">How many words are received
+ before an interrupt is generated</entry>
+ </row>
+
+ <row>
+ <entry colname="col2">0</entry>
+ <entry colname="col3">0</entry>
+ <entry colname="col4">1</entry>
+ </row>
+
+ <row>
+ <entry colname="col2">0</entry>
+ <entry colname="col3">1</entry>
+ <entry colname="col4">4</entry>
+ </row>
+
+ <row>
+ <entry colname="col2">1</entry>
+ <entry colname="col3">0</entry>
+ <entry colname="col4">8</entry>
+ </row>
+
+ <row>
+ <entry colname="col2">1</entry>
+ <entry colname="col3">1</entry>
+ <entry colname="col4">14</entry>
+ </row>
+
+ <row>
+ <entry>Bit 5</entry>
+ <entry spanname="2to4">Reserved, always 0.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 4</entry>
+ <entry spanname="2to4">Reserved, always 0.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 3</entry>
+ <entry spanname="2to4">DMA Mode Select. If Bit 0 is
+ set to "1" (FIFOs enabled), setting this bit changes
+ the operation of the -RXRDY and -TXRDY signals from
+ Mode 0 to Mode 1.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 2</entry>
+ <entry spanname="2to4">Transmit FIFO Reset. When a
+ "1" is written to this bit, the contents of the FIFO
+ are discarded. Any word currently being transmitted
+ will be sent intact. This function is useful in
+ aborting transfers.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 1</entry>
+ <entry spanname="2to4">Receiver FIFO Reset. When a
+ "1" is written to this bit, the contents of the FIFO
+ are discarded. Any word currently being assembled
+ in the shift register will be received
+ intact.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 0</entry>
+ <entry spanname="2to4">16550 FIFO Enable. When set,
+ both the transmit and receive FIFOs are enabled.
+ Any contents in the holding register, shift
+ registers or FIFOs are lost when FIFOs are enabled
+ or disabled.</entry>
+ </row>
+ </tbody>
+ </entrytbl>
+ </row>
+
+ <row>
+ <entry>+0x02</entry>
+ <entry>read</entry>
+ <entrytbl cols="6">
+ <colspec colnum="1" colname="col1">
+ <colspec colnum="2" colname="col2">
+ <colspec colnum="3" colname="col3">
+ <colspec colnum="4" colname="col4">
+ <colspec colnum="5" colname="col5">
+ <colspec colnum="6" colname="col6">
+ <spanspec namest="col1" nameend="col6" spanname="1to6">
+ <spanspec namest="col2" nameend="col6" spanname="2to6">
+
+ <tbody>
+ <row>
+ <entry spanname="1to6">Interrupt Identification
+ Register</entry>
+ </row>
+
+ <row>
+ <entry>Bit 7</entry>
+ <entry spanname="2to6">FIFOs enabled. On the
+ 8250/16450 UART, this bit is zero.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 6</entry>
+ <entry spanname="2to6">FIFOs enabled. On the
+ 8250/16450 UART, this bit is zero.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 5</entry>
+ <entry spanname="2to6">Reserved, always 0.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 4</entry>
+ <entry spanname="2to6">Reserved, always 0.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 3</entry>
+ <entry spanname="2to6">Interrupt ID Bit #2. On the
+ 8250/16450 UART, this bit is zero.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 2</entry>
+ <entry spanname="2to6">Interrupt ID Bit #1</entry>
+ </row>
+
+ <row>
+ <entry>Bit 1</entry>
+ <entry spanname="2to6">Interrupt ID Bit #0.These three
+ bits combine to report the category of event that
+ caused the interrupt that is in progress. These
+ categories have priorities, so if multiple
+ categories of events occur at the same time, the
+ UART will report the more important events first and
+ the host must resolve the events in the order they
+ are reported. All events that caused the current
+ interrupt must be resolved before any new interrupts
+ will be generated. (This is a limitation of the PC
+ architecture.)</entry>
+ </row>
+
+ <row>
+ <entry colname="col2">2</entry>
+ <entry colname="col3">1</entry>
+ <entry colname="col4">0</entry>
+ <entry colname="col5">Priority</entry>
+ <entry colname="col6">Description</entry>
+ </row>
+
+ <row>
+ <entry colname="col2">0</entry>
+ <entry colname="col3">1</entry>
+ <entry colname="col4">1</entry>
+ <entry colname="col5">First</entry>
+ <entry colname="col6">Received Error (OE, PE, BI, or
+ FE)</entry>
+ </row>
+
+ <row>
+ <entry colname="col2">0</entry>
+ <entry colname="col3">1</entry>
+ <entry colname="col4">0</entry>
+ <entry colname="col5">Second</entry>
+ <entry colname="col6">Received Data Available</entry>
+ </row>
+
+ <row>
+ <entry colname="col2">1</entry>
+ <entry colname="col3">1</entry>
+ <entry colname="col4">0</entry>
+ <entry colname="col5">Second</entry>
+ <entry colname="col6">Trigger level identification
+ (Stale data in receive buffer)</entry>
+ </row>
+
+ <row>
+ <entry colname="col2">0</entry>
+ <entry colname="col3">0</entry>
+ <entry colname="col4">1</entry>
+ <entry colname="col5">Third</entry>
+ <entry colname="col6">Transmitter has room for more
+ words (THRE)</entry>
+ </row>
+
+ <row>
+ <entry colname="col2">0</entry>
+ <entry colname="col3">0</entry>
+ <entry colname="col4">0</entry>
+ <entry colname="col5">Fourth</entry>
+ <entry colname="col6">Modem Status Change (-CTS, -DSR,
+ -RI, or -DCD)</entry>
+ </row>
+
+ <row>
+ <entry>Bit 0</entry>
+ <entry spanname="2to6">Interrupt Pending Bit. If this
+ bit is set to "0", then at least one interrupt is
+ pending.</entry>
+ </row>
+ </tbody>
+ </entrytbl>
+ </row>
+
+ <row>
+ <entry>+0x03</entry>
+ <entry>write/read</entry>
+ <entrytbl cols="5">
+ <colspec colnum="1" colname="col1">
+ <colspec colnum="2" colname="col2">
+ <colspec colnum="3" colname="col3">
+ <colspec colnum="4" colname="col4">
+ <colspec colnum="5" colname="col5">
+ <spanspec namest="col1" nameend="col5" spanname="1to5">
+ <spanspec namest="col2" nameend="col5" spanname="2to5">
+ <spanspec namest="col4" nameend="col5" spanname="4to5">
+
+ <tbody>
+ <row>
+ <entry spanname="1to5">Line Control Register
+ (LCR)</entry>
+ </row>
+
+ <row>
+ <entry>Bit 7</entry>
+ <entry spanname="2to5">Divisor Latch Access Bit
+ (DLAB). When set, access to the data
+ transmit/receive register (THR/RBR) and the
+ Interrupt Enable Register (IER) is disabled. Any
+ access to these ports is now redirected to the
+ Divisor Latch Registers. Setting this bit, loading
+ the Divisor Registers, and clearing DLAB should be
+ done with interrupts disabled.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 6</entry>
+ <entry spanname="2to5">Set Break. When set to "1",
+ the transmitter begins to transmit continuous
+ Spacing until this bit is set to "0". This
+ overrides any bits of characters that are being
+ transmitted.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 5</entry>
+ <entry spanname="2to5">Stick Parity. When parity is
+ enabled, setting this bit causes parity to always be
+ "1" or "0", based on the value of Bit 4.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 4</entry>
+ <entry spanname="2to5">Even Parity Select (EPS). When
+ parity is enabled and Bit 5 is "0", setting this bit
+ causes even parity to be transmitted and expected.
+ Otherwise, odd parity is used.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 3</entry>
+ <entry spanname="2to5">Parity Enable (PEN). When set
+ to "1", a parity bit is inserted between the last
+ bit of the data and the Stop Bit. The UART will
+ also expect parity to be present in the received
+ data.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 2</entry>
+ <entry spanname="2to5">Number of Stop Bits (STB). If
+ set to "1" and using 5-bit data words, 1.5 Stop Bits
+ are transmitted and expected in each data word. For
+ 6, 7 and 8-bit data words, 2 Stop Bits are
+ transmitted and expected. When this bit is set to
+ "0", one Stop Bit is used on each data word.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 1</entry>
+ <entry spanname="2to5">Word Length Select Bit #1
+ (WLSB1)</entry>
+ </row>
+
+ <row>
+ <entry>Bit 0</entry>
+ <entry spanname="2to5">Word Length Select Bit #0
+ (WLSB0)</entry>
+ </row>
+
+ <row>
+ <entry colname="col2" spanname="2to5">Together these
+ bits specify the number of bits in each data
+ word.</entry>
+ </row>
+
+ <row>
+ <entry colname="col2">1</entry>
+ <entry colname="col3">0</entry>
+ <entry colname="col4" spanname="4to5">Word
+ Length</entry>
+ </row>
+
+ <row>
+ <entry colname="col2">0</entry>
+ <entry colname="col3">0</entry>
+ <entry colname="col4" spanname="4to5">5 Data
+ Bits</entry>
+ </row>
+
+ <row>
+ <entry colname="col2">0</entry>
+ <entry colname="col3">1</entry>
+ <entry colname="col4" spanname="4to5">6 Data
+ Bits</entry>
+ </row>
+
+ <row>
+ <entry colname="col2">1</entry>
+ <entry colname="col3">0</entry>
+ <entry colname="col4" spanname="4to5">7 Data
+ Bits</entry>
+ </row>
+
+ <row>
+ <entry colname="col2">1</entry>
+ <entry colname="col3">1</entry>
+ <entry colname="col4" spanname="4to5">8 Data
+ Bits</entry>
+ </row>
+ </tbody>
+ </entrytbl>
+ </row>
+
+ <row>
+ <entry>+0x04</entry>
+ <entry>write/read</entry>
+ <entrytbl cols="2">
+ <colspec colnum="1" colname="col1">
+ <colspec colnum="2" colname="col2">
+ <spanspec namest="col1" nameend="col2" spanname="1to2">
+
+ <tbody>
+ <row>
+ <entry spanname="1to2">Modem Control Register
+ (MCR)</entry>
+ </row>
+
+ <row>
+ <entry>Bit 7</entry>
+ <entry>Reserved, always 0.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 6</entry>
+ <entry>Reserved, always 0.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 5</entry>
+ <entry>Reserved, always 0.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 4</entry>
+ <entry>Loop-Back Enable. When set to "1", the UART
+ transmitter and receiver are internally connected
+ together to allow diagnostic operations. In
+ addition, the UART modem control outputs are
+ connected to the UART modem control inputs. CTS is
+ connected to RTS, DTR is connected to DSR, OUT1 is
+ connected to RI, and OUT 2 is connected to
+ DCD.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 3</entry>
+ <entry>OUT 2. An auxiliary output that the host
+ processor may set high or low. In the IBM PC serial
+ adapter (and most clones), OUT 2 is used to
+ tri-state (disable) the interrupt signal from the
+ 8250/16450/16550 UART.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 2</entry>
+ <entry>OUT 1. An auxiliary output that the host
+ processor may set high or low. This output is not
+ used on the IBM PC serial adapter.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 1</entry>
+ <entry>Request to Send (RTS). When set to "1", the
+ output of the UART -RTS line is Low
+ (Active).</entry>
+ </row>
+
+ <row>
+ <entry>Bit 0</entry>
+ <entry>Data Terminal Ready (DTR). When set to "1",
+ the output of the UART -DTR line is Low
+ (Active).</entry>
+ </row>
+ </tbody>
+ </entrytbl>
+ </row>
+
+ <row>
+ <entry>+0x05</entry>
+ <entry>write/read</entry>
+ <entrytbl cols="2">
+ <colspec colnum="1" colname="col1">
+ <colspec colnum="2" colname="col2">
+ <spanspec namest="col1" nameend="col2" spanname="1to2">
+
+ <tbody>
+ <row>
+ <entry spanname="1to2">Line Status Register
+ (LSR)</entry>
+ </row>
+
+ <row>
+ <entry>Bit 7</entry>
+ <entry>Error in Receiver FIFO. On the 8250/16450
+ UART, this bit is zero. This bit is set to "1" when
+ any of the bytes in the FIFO have one or more of the
+ following error conditions: PE, FE, or BI.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 6</entry>
+ <entry>Transmitter Empty (TEMT). When set to "1",
+ there are no words remaining in the transmit FIFO
+ or the transmit shift register. The transmitter is
+ completely idle.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 5</entry>
+ <entry>Transmitter Holding Register Empty (THRE).
+ When set to "1", the FIFO (or holding register) now
+ has room for at least one additional word to
+ transmit. The transmitter may still be transmitting
+ when this bit is set to "1".</entry>
+ </row>
+
+ <row>
+ <entry>Bit 4</entry>
+ <entry>Break Interrupt (BI). The receiver has
+ detected a Break signal.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 3</entry>
+ <entry>Framing Error (FE). A Start Bit was detected
+ but the Stop Bit did not appear at the expected
+ time. The received word is probably
+ garbled.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 2</entry>
+ <entry>Parity Error (PE). The parity bit was
+ incorrect for the word received.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 1</entry>
+ <entry>Overrun Error (OE). A new word was received
+ and there was no room in the receive buffer. The
+ newly-arrived word in the shift register is
+ discarded. On 8250/16450 UARTs, the word in the
+ holding register is discarded and the newly- arrived
+ word is put in the holding register.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 0</entry>
+ <entry>Data Ready (DR) One or more words are in the
+ receive FIFO that the host may read. A word must be
+ completely received and moved from the shift
+ register into the FIFO (or holding register for
+ 8250/16450 designs) before this bit is set.</entry>
+ </row>
+ </tbody>
+ </entrytbl>
+ </row>
+
+ <row>
+ <entry>+0x06</entry>
+ <entry>write/read</entry>
+ <entrytbl cols="2">
+ <colspec colnum="1" colname="col1">
+ <colspec colnum="2" colname="col2">
+ <spanspec namest="col1" nameend="col2" spanname="1to2">
+
+ <tbody>
+ <row>
+ <entry spanname="1to2">Modem Status Register
+ (MSR)</entry>
+ </row>
+
+ <row>
+ <entry>Bit 7</entry>
+ <entry>Data Carrier Detect (DCD). Reflects the state
+ of the DCD line on the UART.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 6</entry>
+ <entry>Ring Indicator (RI). Reflects the state of the
+ RI line on the UART.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 5</entry>
+ <entry>Data Set Ready (DSR). Reflects the state of
+ the DSR line on the UART.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 4</entry>
+ <entry>Clear To Send (CTS). Reflects the state of the
+ CTS line on the UART.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 3</entry>
+ <entry>Delta Data Carrier Detect (DDCD). Set to "1"
+ if the -DCD line has changed state one more more
+ times since the last time the MSR was read by the
+ host.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 2</entry>
+ <entry>Trailing Edge Ring Indicator (TERI). Set to
+ "1" if the -RI line has had a low to high transition
+ since the last time the MSR was read by the
+ host.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 1</entry>
+ <entry>Delta Data Set Ready (DDSR). Set to "1" if the
+ -DSR line has changed state one more more times
+ since the last time the MSR was read by the
+ host.</entry>
+ </row>
+
+ <row>
+ <entry>Bit 0</entry>
+ <entry>Delta Clear To Send (DCTS). Set to "1" if the
+ -CTS line has changed state one more more times
+ since the last time the MSR was read by the
+ host.</entry>
+ </row>
+ </tbody>
+ </entrytbl>
+ </row>
+
+ <row>
+ <entry>+0x07</entry>
+ <entry>write/read</entry>
+ <entry>Scratch Register (SCR). This register performs no
+ function in the UART. Any value can be written by the
+ host to this location and read by the host later
+ on.</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect4>
+
+ <sect4>
+ <title>Beyond the 16550A UART</title>
+
+ <para>Although National Semiconductor has not offered any components
+ compatible with the 16550 that provide additional features,
+ various other vendors have. Some of these components are
+ described below. It should be understood that to effectively
+ utilize these improvements, drivers may have to be provided by the
+ chip vendor since most of the popular operating systems do not
+ support features beyond those provided by the 16550.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>ST16650</term>
+
+ <listitem>
+ <para>By default this part is similar to the NS16550A, but an
+ extended 32-byte send and receive buffer can be optionally
+ enabled. Made by Startech.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>TIL16660</term>
+
+ <listitem>
+ <para>By default this part behaves similar to the NS16550A,
+ but an extended 64-byte send and receive buffer can be
+ optionally enabled. Made by Texas Instruments.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Hayes ESP</term>
+
+ <listitem>
+ <para>This proprietary plug-in card contains a 2048-byte send
+ and receive buffer, and supports data rates to
+ 230.4Kbit/sec. Made by Hayes.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>In addition to these &ldquo;dumb&rdquo; UARTs, many vendors
+ produce intelligent serial communication boards. This type of
+ design usually provides a microprocessor that interfaces with
+ several UARTs, processes and buffers the data, and then alerts the
+ main PC processor when necessary. Because the UARTs are not
+ directly accessed by the PC processor in this type of
+ communication system, it is not necessary for the vendor to use
+ UARTs that are compatible with the 8250, 16450, or the 16550 UART.
+ This leaves the designer free to components that may have better
+ performance characteristics.</para>
+ </sect4>
+-->
+
+ </sect3>
+
+ <sect3 id="sio">
+ <title>*** Configurer le pilote de p&eacute;riph&eacute;rique
+ <devicename>sio</devicename></title>
+ &sgml.todo;
+
+<!--
+ <para>The <devicename>sio</devicename> driver provides support for
+ NS8250-, NS16450-, NS16550 and NS16550A-based EIA RS-232C (CCITT
+ V.24) communications interfaces. Several multiport cards are
+ supported as well. See the &man.sio.4;
+ manual page for detailed technical documentation.</para>
+
+ <sect4>
+ <title>Digi International (DigiBoard) PC/8</title>
+
+ <para><emphasis>Contributed by &a.awebster;. 26 August
+ 1995.</emphasis></para>
+
+ <para>Here is a config snippet from a machine with a Digi
+ International PC/8 with 16550. It has 8 modems connected to these
+ 8 lines, and they work just great. Do not forget to add
+ <literal>options COM_MULTIPORT</literal> or it will not work very
+ well!</para>
+
+ <programlisting>
+device sio4 at isa? port 0x100 tty flags 0xb05
+device sio5 at isa? port 0x108 tty flags 0xb05
+device sio6 at isa? port 0x110 tty flags 0xb05
+device sio7 at isa? port 0x118 tty flags 0xb05
+device sio8 at isa? port 0x120 tty flags 0xb05
+device sio9 at isa? port 0x128 tty flags 0xb05
+device sio10 at isa? port 0x130 tty flags 0xb05
+device sio11 at isa? port 0x138 tty flags 0xb05 irq 9 vector siointr</programlisting>
+
+ <para>The trick in setting this up is that the MSB of the flags
+ represent the last SIO port, in this case 11 so flags are
+ 0xb05.</para>
+ </sect4>
+
+ <sect4>
+ <title>Boca 16</title>
+
+ <para><emphasis>Contributed by &a.whiteside;. 26 August
+ 1995.</emphasis></para>
+
+ <para>The procedures to make a Boca 16 port board with FreeBSD are
+ pretty straightforward, but you will need a couple things to make
+ it work:</para>
+
+ <orderedlist>
+ <listitem>
+ <para>You either need the kernel sources installed so you can
+ recompile the necessary options or you will need someone else
+ to compile it for you. The 2.0.5 default kernel does
+ <emphasis>not</emphasis> come with multiport support enabled
+ and you will need to add a device entry for each port
+ anyways.</para>
+ </listitem>
+
+ <listitem>
+ <para>Two, you will need to know the interrupt and IO setting
+ for your Boca Board so you can set these options properly in
+ the kernel.</para>
+ </listitem>
+ </orderedlist>
+
+ <para>One important note &mdash; the actual UART chips for the Boca
+ 16 are in the connector box, not on the internal board itself. So
+ if you have it unplugged, probes of those ports will fail. I have
+ never tested booting with the box unplugged and plugging it back
+ in, and I suggest you do not either.</para>
+
+ <para>If you do not already have a custom kernel configuration file
+ set up, refer to <link linkend="kernelconfig">Kernel
+ Configuration</link> for general procedures. The following are
+ the specifics for the Boca 16 board and assume you are using the
+ kernel name MYKERNEL and editing with vi.</para>
+
+ <procedure>
+ <step>
+ <para>Add the line
+
+ <programlisting>
+options COM_MULTIPORT</programlisting>
+
+ to the config file.</para>
+ </step>
+
+ <step>
+ <para>Where the current <literal>device
+ sio<replaceable>n</replaceable></literal> lines are, you
+ will need to add 16 more devices. Only the last device
+ includes the interrupt vector for the board. (See the
+ &man.sio.4; manual page for detail as
+ to why.) The following example is for a Boca Board with an
+ interrupt of 3, and a base IO address 100h. The IO address
+ for Each port is +8 hexadecimal from the previous port, thus
+ the 100h, 108h, 110h... addresses.</para>
+
+ <programlisting>
+device sio1 at isa? port 0x100 tty flags 0x1005
+device sio2 at isa? port 0x108 tty flags 0x1005
+device sio3 at isa? port 0x110 tty flags 0x1005
+device sio4 at isa? port 0x118 tty flags 0x1005
+&hellip;
+device sio15 at isa? port 0x170 tty flags 0x1005
+device sio16 at isa? port 0x178 tty flags 0x1005 irq 3 vector siointr</programlisting>
+
+ <para>The flags entry <emphasis>must</emphasis> be changed from
+ this example unless you are using the exact same sio
+ assignments. Flags are set according to
+ 0x<replaceable>M</replaceable><replaceable>YY</replaceable>
+ where <replaceable>M</replaceable> indicates the minor number
+ of the master port (the last port on a Boca 16) and
+ <replaceable>YY</replaceable> indicates if FIFO is enabled or
+ disabled(enabled), IRQ sharing is used(yes) and if there is an
+ AST/4 compatible IRQ control register(no). In this example,
+ <programlisting> flags 0x1005</programlisting> indicates that
+ the master port is sio16. If I added another board and
+ assigned sio17 through sio28, the flags for all 16 ports on
+ <emphasis>that</emphasis> board would be 0x1C05, where 1C
+ indicates the minor number of the master port. Do not change
+ the 05 setting.</para>
+ </step>
+
+ <step>
+ <para>Save and complete the kernel configuration, recompile,
+ install and reboot. Presuming you have successfully installed
+ the recompiled kernel and have it set to the correct address
+ and IRQ, your boot message should indicate the successful
+ probe of the Boca ports as follows: (obviously the sio
+ numbers, IO and IRQ could be different)</para>
+
+ <screen>sio1 at 0x100-0x107 flags 0x1005 on isa
+sio1: type 16550A (multiport)
+sio2 at 0x108-0x10f flags 0x1005 on isa
+sio2: type 16550A (multiport)
+sio3 at 0x110-0x117 flags 0x1005 on isa
+sio3: type 16550A (multiport)
+sio4 at 0x118-0x11f flags 0x1005 on isa
+sio4: type 16550A (multiport)
+sio5 at 0x120-0x127 flags 0x1005 on isa
+sio5: type 16550A (multiport)
+sio6 at 0x128-0x12f flags 0x1005 on isa
+sio6: type 16550A (multiport)
+sio7 at 0x130-0x137 flags 0x1005 on isa
+sio7: type 16550A (multiport)
+sio8 at 0x138-0x13f flags 0x1005 on isa
+sio8: type 16550A (multiport)
+sio9 at 0x140-0x147 flags 0x1005 on isa
+sio9: type 16550A (multiport)
+sio10 at 0x148-0x14f flags 0x1005 on isa
+sio10: type 16550A (multiport)
+sio11 at 0x150-0x157 flags 0x1005 on isa
+sio11: type 16550A (multiport)
+sio12 at 0x158-0x15f flags 0x1005 on isa
+sio12: type 16550A (multiport)
+sio13 at 0x160-0x167 flags 0x1005 on isa
+sio13: type 16550A (multiport)
+sio14 at 0x168-0x16f flags 0x1005 on isa
+sio14: type 16550A (multiport)
+sio15 at 0x170-0x177 flags 0x1005 on isa
+sio15: type 16550A (multiport)
+sio16 at 0x178-0x17f irq 3 flags 0x1005 on isa
+sio16: type 16550A (multiport master)</screen>
+
+ <para>If the messages go by too fast to see,
+
+ <screen>&prompt.root; <userinput>dmesg | more</userinput></screen>
+ will show you the boot messages.</para>
+ </step>
+
+ <step>
+ <para>Next, appropriate entries in <filename>/dev</filename> for
+ the devices must be made using the
+ <filename>/dev/MAKEDEV</filename> script. After becoming
+ root:</para>
+
+ <screen>&prompt.root; <userinput>cd /dev</userinput>
+&prompt.root; <userinput>./MAKEDEV tty1</userinput>
+&prompt.root; <userinput>./MAKEDEV cua1</userinput>
+<emphasis>(everything in between)</emphasis>
+&prompt.root; <userinput>./MAKEDEV ttyg</userinput>
+&prompt.root; <userinput>./MAKEDEV cuag</userinput></screen>
+
+ <para>If you do not want or need callout devices for some
+ reason, you can dispense with making the
+ <filename>cua*</filename> devices.</para>
+ </step>
+
+ <step>
+ <para>If you want a quick and sloppy way to make sure the
+ devices are working, you can simply plug a modem into each
+ port and (as root)
+
+ <screen>&prompt.root; <userinput>echo at &gt; ttyd*</userinput></screen>
+ for each device you have made. You
+ <emphasis>should</emphasis> see the RX lights flash for each
+ working port.</para>
+ </step>
+ </procedure>
+ </sect4>
+-->
+
+ </sect3>
+ <sect3 id="cy">
+ <title>*** Configurer le pilote de p&eacute;riph&eacute;rique
+ <devicename>cy</devicename></title>
+ &sgml.todo;
+
+<!--
+ <para><emphasis>Contributed by &a.alex;. 6 June
+ 1996.</emphasis></para>
+
+ <para>The Cyclades multiport cards are based on the
+ <devicename>cy</devicename> driver instead of the usual
+ <devicename>sio</devicename> driver used by other multiport cards.
+ Configuration is a simple matter of:</para>
+
+ <procedure>
+ <step>
+ <para>Add the <devicename>cy</devicename> device to your <link
+ linkend="kernelconfig-config">kernel configuration</link>
+ (note that your irq and iomem settings may differ).</para>
+
+ <programlisting>
+device cy0 at isa? tty irq 10 iomem 0xd4000 iosiz 0x2000 vector cyintr</programlisting>
+ </step>
+
+ <step>
+ <para><link linkend="kernelconfig-building">Rebuild and
+ install</link> the new kernel.</para>
+ </step>
+
+ <step>
+ <para>Make the <link linkend="kernelconfig-nodes">device
+ nodes</link> by typing (the following example assumes an
+ 8-port board):</para>
+
+ <screen>&prompt.root; <userinput>cd /dev</userinput>
+&prompt.root; <userinput>for i in 0 1 2 3 4 5 6 7;do ./MAKEDEV cuac$i ttyc$i;done</userinput></screen>
+ </step>
+
+ <step>
+ <para>If appropriate, add <link linkend="dialup">dialup</link>
+ entries to <link linkend="dialup-ttys">/etc/ttys</link> by
+ duplicating serial device (<literal>ttyd</literal>) entries and
+ using <literal>ttyc</literal> in place of
+ <literal>ttyd</literal>. For example:</para>
+
+ <programlisting>
+ttyc0 "/usr/libexec/getty std.38400" unknown on insecure
+ttyc1 "/usr/libexec/getty std.38400" unknown on insecure
+ttyc2 "/usr/libexec/getty std.38400" unknown on insecure
+&hellip;
+ttyc7 "/usr/libexec/getty std.38400" unknown on insecure</programlisting>
+ </step>
+
+ <step>
+ <para>Reboot with the new kernel.</para>
+ </step>
+ </procedure>
+
+-->
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>* Ports parall&egrave;les</title>
+ <para></para>
+ </sect2>
+
+ <sect2>
+ <title>* Modems</title>
+ <para></para>
+ </sect2>
+
+ <sect2>
+ <title>* Cartes r&eacute;seau</title>
+ <para></para>
+ </sect2>
+
+ <sect2>
+ <title>* Claviers</title>
+ <para></para>
+ </sect2>
+
+ <sect2>
+ <title>* Souris</title>
+ <para></para>
+ </sect2>
+
+ <sect2>
+ <title>* Autres</title>
+ <para></para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="hw-storage">
+ <title>** M&eacute;moires de masse</title>
+ &trans.a.haby;
+
+ <sect2 id="esdi">
+ <title>Utiliser des disques durs ESDI</title>
+
+ <para><emphasis>Copyright &copy; 1995, &a.wilko;. 24 Septembre
+ 1995.</emphasis></para>
+
+ <para>ESDI est l'abr&eacute;viation de <foreignphrase>Enhanced Small
+ Device Interface</foreignphrase>&nbsp;-&nbsp;Interface
+ Am&eacute;lior&eacute;e pour les P&eacute;riph&eacute;riques
+ L&eacute;gers. Elle se base plus ou moins sur la bonne vieille interface
+ ST506/412, initialement con&ccedil;ue par Seagate Technology, le
+ fabricant du premier disque Winchester 5.25" bon march&eacute;.</para>
+
+ <para>L'abr&eacute;viation pr&eacute;cise &agrave; juste titre
+ &rdquo;&eacute;tendue&ldquo;. Pour commencer, l'interface est plus
+ rapide, 10 ou 15 Mbits/seconde au lieu des 5 Mbits/seconde des disques
+ &agrave; interface ST412s. Il y a de plus de nouvelles commandes de plus
+ haut niveau, qui font que l'interface ESDI est en quelque sorte plus
+ &ldquo;intelligente&rdquo; que les pilotes de
+ p&eacute;riph&eacute;riques du syst&egrave;me d'exploitation. Elle n'est
+ cependant pas comparable aux interfaces SCSI. L'ESDI est un standard
+ ANSI.</para>
+
+ <para>La capacit&eacute; de disques est accrue parce qu'il y a plus de
+ secteurs par piste. Il y a g&eacute;n&eacute;ralement 35 secteurs par
+ pistes, mais j'ai vu des disques de grande capacit&eacute; avec 54
+ secteurs par piste.</para>
+
+ <para>Bien que l'IDE et le SCSI ait rendu l'ESDI largement
+ obsol&egrave;te, la possibilit&eacute; de se procurer gratuitement ou
+ &agrave; peu de frais des disques d'occasion les rend
+ int&eacute;ressants pour les syst&egrave;mes &agrave; budget
+ r&eacute;duit (ou nul).</para>
+
+ <sect3>
+ <title>Concepts ESDI</title>
+
+ <sect4>
+ <title>Connexions</title>
+
+ <para>L'interface ESDI utilise deux c&acirc;bles par disque. Le
+ premier est une nappe &agrave; 54 broches qui v&eacute;hicule les
+ signaux de commandes et d'&eacute;tat entre le contr&ocirc;leur et
+ le disque. Les disques sont cha&icirc;n&eacute;s en s&eacute;rie sur
+ ce c&acirc;ble. C'est donc un bus auquel tous les disques sont
+ reli&eacute;s.</para>
+
+ <para>Le second c&acirc;ble est une nappe &agrave; 20 broches qui
+ v&eacute;hicule les donn&eacute;es de et vers le disque. Ce
+ c&acirc;blage est en &eacute;toile, chaque disque est donc
+ directement reli&eacute; au contr&ocirc;leur.</para>
+
+ <para>Autant que je sache, on ne peut mettre que deux disques par
+ contr&ocirc;leur ESDI sur un PC. Cela pour des raisons de
+ compatibilit&eacute; (?) avec le standard WD1003 qui n'utilise
+ qu'un seul bit pour l'adresse des
+ p&eacute;riph&eacute;riques.</para>
+ </sect4>
+
+ <sect4>
+ <title>Adresses des p&eacute;riph&eacute;riques</title>
+
+ <para>Sur chaque c&acirc;ble de commande, il peut y avoir au plus 7
+ p&eacute;riph&eacute;riques et 1 contr&ocirc;leur. Pour que le
+ contr&ocirc;leur puisse identifier l'adresse de chaque disque, il y
+ a sur chaque p&eacute;riph&eacute;rique ESDI des cavaliers ou des
+ interrupteurs pour d&eacute;finir l'adresse du
+ p&eacute;riph&eacute;rique.</para>
+
+ <para>Sur les contr&ocirc;leurs de PC, le premier disque a l'adresse
+ 0, et le second l'adresse 1. <emphasis>V&eacute;rifiez
+ toujours</emphasis> que l'adresse de chaque disque est
+ diff&eacute;rente&nbsp;! Sur les PC, o&ugrave; il y a au plus deux
+ disques par contr&ocirc;leur, le premier disque est le disque 0 et
+ le second le disque 1.</para>
+ </sect4>
+
+ <sect4>
+ <title>Terminaison</title>
+
+ <para>Le c&acirc;ble s&eacute;rie de commande (rapellez-vous, celui
+ &agrave; 34 broches) doit &ecirc;tre termin&eacute; sur le dernier
+ disque de la cha&icirc;ne. Il y a donc sur les disques ESDI une
+ r&eacute;sistance de terminaison qui peut &ecirc;tre enlev&eacute;e
+ ou d&eacute;sactiv&eacute;e par un cavalier si elle ne doit pas
+ servir.</para>
+
+ <para>Il n'y a donc qu'un <emphasis>seul</emphasis> disque, celui
+ en fin du c&acirc;ble de commande, dont le terminateur doit
+ &ecirc;tre install&eacute; ou activ&eacute;. Le contr&ocirc;leur
+ termine automatiquement l'autre extr&eacute;mit&eacute; du
+ c&acirc;ble. Notez bien, s'il vous pla&icirc;t, que cela implique
+ que le contr&ocirc;leur soit &agrave; une extr&eacute;mit&eacute; du
+ c&acirc;ble, et <emphasis>non</emphasis> au milieu.</para>
+ </sect4>
+ </sect3>
+
+ <sect3>
+ <title>Utiliser les disques ESDI avec FreeBSD</title>
+
+ <para>Pourquoi est-il si difficile d'arriver &agrave; utiliser des
+ disques ESDI&nbsp;?</para>
+
+ <para>On dit que ceux qui ont essay&eacute; d'utiliser des disques ESDI
+ avec FreeBSD ont d&eacute;velopp&eacute; un sentiment de profonde
+ frustration. Divers facteurs oeuvrent contre vous et produisent des
+ r&eacute;sultats difficiles &agrave; comprendre si vous n'y avez
+ jamais &eacute;t&eacute; confront&eacute;.</para>
+
+ <para>D'o&ugrave; la l&eacute;gende populaire qui veut que l'ESDI et
+ FreeBSD soient d&eacute;finitivement incompatibles. Ce qui suit tente
+ de recenser les difficult&eacute;s et leurs solutions.</para>
+
+ <sect4>
+ <title>Les diff&eacute;rences de vitesse de l'ESDI</title>
+
+ <para>Comme on y a d&eacute;j&agrave; fait allusion, il y a deux
+ versions &agrave; vitesse diff&eacute;rente de l'ESDI. Les disques
+ et les contr&ocirc;leurs plus anciens transf&egrave;rent les
+ donn&eacute;es &agrave; 10 Mbits/seconde. Les plus r&eacute;cents le
+ font &agrave; 15 Mbits/seconde.</para>
+
+ <para>Il est facile d'imaginer qu'utiliser des disques &agrave;
+ 15 Mbits/seconde pose des probl&egrave;mes avec des
+ contr&ocirc;leurs &agrave; 10 Mbits/seconde. Consultez toujours,
+ comme d'habitude, la documentation de votre contr&ocirc;leur
+ <emphasis>et</emphasis> celle de votre disque pour v&eacute;rifier
+ qu'ils sont compatibles.</para>
+ </sect4>
+
+ <sect4>
+ <title>Restez en piste</title>
+
+ <para>Les disques ESDI standards ont de 34 &agrave; 36 secteurs par
+ piste. La plupart des (anciens) contr&ocirc;leurs n'acceptent pas
+ plus de secteurs que cela. Les disques plus r&eacute;cents, de plus
+ grande capacit&eacute;, ont un plus grand nombre de secteurs par
+ piste. Je poss&egrave;de par exemple un disque de 670 Mo qui a 54
+ secteurs par piste.</para>
+
+ <para>Dans mon cas, le contr&ocirc;leur ne peut pas g&eacute;rer
+ autant de secteurs. Cela fonctionne en utilisant que 35 secteurs par
+ piste. D'o&ugrave; un perte important d'espace disque.</para>
+
+ <para>Consultez encore une fois les documentations de votre
+ mat&eacute;riel pour plus d'informations. Ne pas respecter les
+ sp&eacute;cifications, comme dans mon cas, marchera ou ne marchera
+ pas. Essayez ou procurez-vous un contr&ocirc;leur qui r&egrave;gle
+ le probl&egrave;me.</para>
+ </sect4>
+
+ <sect4>
+ <title>Secteurs mat&eacute;riels ou logiciels</title>
+
+ <para>La plupart des disques ESDI permettent de choisir avec un
+ cavalier entre des secteurs mat&eacute;riels ou logiciels. Si les
+ secteurs sont mat&eacute;riels, le disque &eacute;mettera une
+ impulsion de d&eacute;but de secteur &agrave; chaque nouveau
+ secteur. Le contr&ocirc;leur utilisera cette impulsion pour savoir
+ quand commencer &agrave; lire ou &agrave; &eacute;crire.</para>
+
+ <para>Il est possible de choisir la taille des secteurs
+ mat&eacute;riels (habituellement 256, 512 ou 1024 octets par
+ secteur format&eacute;). FreeBSD utilise des secteurs de 512
+ octets. Le nombre de secteurs par piste varie aussi, bien qu'on
+ utilise toujours le m&ecirc;me nombre d'octets par secteur
+ format&eacute;. Le nombre d'octets <emphasis>non
+ format&eacute;s</emphasis> par secteur varie, selon que votre
+ contr&ocirc;leur a besoin de plus ou moins d'octets
+ suppl&eacute;mentaires pour fonctionner correctement. Avec plus de
+ secteurs par piste, vous aurez bien s&ucirc;r plus d'espace
+ disponible, mais vous pouvez avoir des probl&egrave;mes si votre
+ contr&ocirc;leur a besoin de plus d'octets que le disque ne peut
+ lui en laisser &agrave; disposition.</para>
+
+ <para>Avec des secteurs logiciels, le contr&ocirc;leur
+ d&eacute;termine lui-m&ecirc;me quand commencer et cesser de lire ou
+ &eacute;crire. Pour les disques ESDI, les secteurs sont
+ mat&eacute;riels par d&eacute;faut (au moins pour tous ceux que je
+ connais). Je n'ai jamais eu besoin d'essayer d'utiliser des secteurs
+ logiciels.</para>
+
+ <para>Exp&eacute;rimentez avec les secteurs avant d'installer FreeBSD,
+ parce que vous devrez refaire un formatage de bas niveau &agrave;
+ chaque fois.</para>
+ </sect4>
+
+ <sect4>
+ <title>Formatage de bas niveau</title>
+
+ <para>Il faut faire un formatage de bas niveau des disques ESDI avant
+ de pouvoir les utiliser. Il faut les reformater &agrave; chaque
+ fois que vous modifier la position des cavaliers qui
+ d&eacute;terminent le nombre de secteurs par piste ou l'orientation
+ (horizontale, verticale) du disque. R&eacute;fl&eacute;chissez donc
+ d'abord, puis formatez. Ne sous-estimez pas le temps
+ n&eacute;cessaire&nbsp;; pour de gros disques, cela peut prendre des
+ heures.</para>
+
+ <para>Evitez les utilitaires de formatage de bas niveau qui marquent
+ une piste inutilisable d&egrave;s qu'ils trouvent un secteur
+ endommag&eacute;. Non seulement cela gaspille de l'espace disque,
+ mais cela vous posera peut-&ecirc;tre aussi des probl&egrave;mes
+ avec <literal>bad144</literal> (voyez plus bas la section sur le
+ sujet).</para>
+ </sect4>
+
+ <sect4>
+ <title>Correspondances</title>
+
+ <para>Les correspondances, bien que ce ne soit pas un probl&egrave;me
+ exclusivement r&eacute;serv&eacute; &agrave; l'ESDI, peuvent vous
+ poser de vraies difficult&eacute;s. Il y a diff&eacute;rentes sortes
+ de correspondances. Elles ont en commun d'essayer de contourner les
+ limites impos&eacute;es &agrave; la g&eacute;om&eacute;trie des
+ disques par l'architecture d'origine de l'IBM PC/AT (merci
+ IBM&nbsp;!).</para>
+
+ <para>Il y a tout d'abord la limite bien connue du 1024&egrave;me
+ cylindre pour le d&eacute;marrage. Pour qu'un syst&egrave;me (quel
+ qu'il soit) d&eacute;marre, le code de d&eacute;marrage doit se
+ trouver quelque part sur les 1024 premiers cylindres. Il n'y a que
+ 10 bits disponibles pour coder le num&eacute;ro de cylindre. Le
+ nombre de secteurs est limit&eacute; &agrave; 64 (0-63). Quand vous
+ y ajoutez la limite de 16 t&ecirc;tes (aussi li&eacute;e &agrave;
+ l'architecture), cela vous donne des disques de taille relativement
+ faible.</para>
+
+ <para>Pour contourner ce probl&egrave;me, les fabricants de
+ contr&ocirc;leurs ESDI pour PC ont ajout&eacute; une extension au
+ BIOS en PROM. Cette extension g&egrave;re les entr&eacute;es/sorties
+ disque au d&eacute;marrage. (et pour certains syst&egrave;mes
+ d'exploitation, toutes les entr&eacute;es/sorties) en utilisant des
+ correspondances. Par exemple, un gros disque pourra &ecirc;tre
+ d&eacute;crit au syst&egrave;me comme ayant 32 t&ecirc;tes et 64
+ secteurs par piste. De la sorte, le nombre de cylindres sera
+ inf&eacute;rieur &agrave; 1024, ce qui pourra &ecirc;tre
+ exploit&eacute; sans probl&egrave;me. Il faut noter que FreeBSD
+ n'utilise le BIOS qu'apr&egrave;s que le noyau ait pris le
+ contr&ocirc;le. Nous en dirons plus &agrave; ce sujet plus
+ loin.</para>
+
+ <para>Il faut aussi &eacute;tablir des correspondances avec la plupart
+ des BIOS anciens qui ne peuvent g&eacute;rer que des disques avec
+ 17 secteurs par piste (le vieux standard ST412). Les BIOS plus
+ r&eacute;cents premettent de d&eacute;finir le type de disque (c'est
+ habituellement le type de disque 47).</para>
+
+ <note>
+ <para>Quoique vous fassiez des correspondances apr&egrave;s avoir lu
+ ce document, n'oubliez pas que si vous avez plusieurs
+ syst&egrave;mes d'exploitation sur le m&ecirc;me disque, ils
+ doivent tous utiliser les m&ecirc;mes correspondances.</para>
+ </note>
+
+ <para>Pendant que nous en sommes aux correspondances, j'ai vu un
+ mod&egrave;le de contr&ocirc;leur (mais il y en a probablement
+ d'autres) qui permet de diviser un disque en plusieurs partitions
+ &agrave; l'aide d'une option du BIOS. J'avais choisi 1 disque = 1
+ partition, parce que ce contr&ocirc;leur &eacute;crivait cette
+ information sur le disque. A la mise sous tension, il la relit et
+ transmet au syst&egrave;me les informations bas&eacute;es sur ce
+ qu'il y a sur le disque.</para>
+ </sect4>
+
+ <sect4>
+ <title>Secteurs en r&eacute;serve</title>
+
+ <para>La plupart des contr&ocirc;leurs ESDI offrent la
+ possibilit&eacute; de r&eacute;affecter les secteurs
+ d&eacute;fectueux. Pendant ou apr&egrave;s le formatage de bas
+ niveau du disque, les secteurs d&eacute;fectueux sont marqu&eacute;s
+ comme tels, et des secteurs de remplacement prennent (logiquement
+ bien s&ucirc;r) leur place.</para>
+
+ <para>Dans la plupart des cas, c'est fait en utilisant N-1 secteurs de
+ chaque piste pour les donn&eacute;es et le secteur N lui-m&ecirc;me
+ comme secteur de secours. N est le nombre de secteurs physiquement
+ disponibles sur la piste. L'id&eacute;e est que le syst&egrave;me
+ d'exploitation voie un disque &rdquo;parfait&ldquo; sans secteur
+ d&eacute;fectueux. Ce n'est pas exploitable dans le cas de
+ FreeBSD.</para>
+
+ <para>Le probl&egrave;me est que la correspondance entre les
+ <emphasis>mauvaix</emphasis> et les <emphasis>bons</emphasis>
+ secteurs est effectu&eacute;e par le BIOS du contr&ocirc;leur ESDI.
+ FreeBSD, qui est un vrai syst&egrave;me d'exploitation 32 bits,
+ n'utilise pas le BIOS avant d'avoir d&eacute;marr&eacute;. Il
+ dispose &agrave; la place de pilotes de p&eacute;riph&eacute;rique
+ qui dialoguent directement avec le mat&eacute;riel.</para>
+
+ <para>Donc, n'utilisez pas les secteurs de r&eacute;serve,
+ la r&eacute;affectation des secteurs d&eacute;fectueux, quel que
+ soit le nom que lui donne le fabricant de votre contr&ocirc;leur, si
+ vous voulez vous servir du disque avec FreeBSD.</para>
+ </sect4>
+
+ <sect4>
+ <title>Gestion des blocs d&eacute;fectueux</title>
+
+ <para>La section pr&eacute;c&eacute;dente nous a laiss&eacute; sur un
+ probl&egrave;me. La gestion des blocs d&eacute;fectueux par le
+ contr&ocirc;leur n'est pas exploitable, et FreeBSD suppose
+ malgr&eacute; tout que les supports sont sans d&eacute;faut. Pour
+ r&eacute;soudre ce probl&egrave;me, FreeBSD utilise l'outil
+ <command>bad144</command>. <command>bad144</command> (dont le nom
+ vient du standard de gestion des blocs d&eacute;fectueux de Digital
+ Equipment) examine une
+ tranche&nbsp;-&nbsp;<foreignphrase>slice</foreignphrase>&nbsp;-&nbsp;FreeBSD
+ pour d&eacute;tecter les blocs d&eacute;fectueux. Quand il les a
+ trouv&eacute;s, il remplit une table avec les num&eacute;ros de ces
+ blocs &agrave; la fin de la tranche.</para>
+
+ <para>Quand le disque est en service, les num&eacute;ros des blocs
+ acc&eacute;d&eacute;s sont compar&eacute;s &agrave; ceux
+ stock&eacute;s dans la table lue sur le disque. Quand un bloc
+ demand&eacute; est dans la liste de <command>bad144</command>, on
+ utilise un bloc de remplacement (aussi en fin de tranche). De cette
+ fa&ccedil;on, c'est un support &rdquo;parfait&ldquo; qui est vu par
+ les syst&egrave;mes de fichiers de FreeBSD.</para>
+
+ <para>L'utilisation de <command>bad144</command> pr&eacute;sente un
+ certain nombre d'inconv&eacute;nients. En premier lieu, la tranche
+ ne peut comporter plus de 126 secteurs d&eacute;fectueux. Si votre
+ disque pr&eacute;sente un gand nombre de secteurs d&eacute;fectueux,
+ vous devrez peut-&ecirc;tre le diviser en plusieurs tranches dont
+ chacune aura moins de 126 secteurs d&eacute;fectueux. Evitez les
+ programmes de formatage de bas niveau qui marquent d&eacute;fectueux
+ tous les secteurs d'une piste, d&egrave;s qu'il y a un
+ probl&egrave;me avec la piste. Vous comprennez bien que la limite
+ de 126 secteurs est rapidement atteinte avec de tels
+ programmes.</para>
+
+ <para>En second lieu, si la tranche contient le syst&egrave;me de
+ fichiers racine, il faut qu'elle soit &agrave; l'int&eacute;rieur
+ des 1024 premiers cylindres. La liste <command>bad144</command> est
+ lue au d&eacute;marrage, en utilisant le BIOS, et cela ne peut
+ se faire que si la liste est avant le
+ 1025&egrave;me cylindre.</para>
+
+ <note>
+ <para>Ce n'est pas seulement le <emphasis>syst&egrave;me</emphasis>
+ de fichiers racine qui doit se trouver dans les 1024 premiers
+ cylindres, mais toute la <emphasis>tranche</emphasis> qui le
+ contient.</para>
+ </note>
+ </sect4>
+
+ <sect4>
+ <title>Configuration du noyau</title>
+
+ <para>Les disques ESDI sont g&eacute;r&eacute;s par le m&ecirc;me
+ pilote <literal>wd</literal> que les disques IDE et ST412 MFM. Le
+ pilote <literal>wd</literal> devrait fonctionner avec toutes les
+ interfaces compatibles WD1003.</para>
+
+ <para>La plupart des mat&eacute;riels ont des cavaliers pour
+ d&eacute;finir les plages d'adresses d'entr&eacute;es/sorties et les
+ lignes IRQ. Cela vous permet de mettre deux contr&ocirc;leurs de
+ type <literal>wd</literal> sur un m&ecirc;me syst&egrave;me.</para>
+
+ <para>si votre mat&eacute;riel permet des red&eacute;finition
+ non-standard, vous pouvez les utiliser avec FreeBSD, d&egrave;s lors
+ que vous donnez les informations correctes dans le fichier de
+ configuration du noyau. Voici une extrait de fichier de
+ configuration du noyau ( au fait, ils sont dans
+ <filename>/sys/i386/conf</filename>)&nbsp;:</para>
+
+ <programlisting>
+# Premier contr&ocirc;leur compatible WD
+controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr
+disk wd0 at wdc0 drive 0
+disk wd1 at wdc0 drive 1
+# Second contr&ocirc;leur compatible WD
+controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr
+disk wd2 at wdc1 drive 0
+disk wd3 at wdc1 drive 1
+ </programlisting>
+ </sect4>
+ </sect3>
+
+ <sect3>
+ <title>Sp&eacute;cificit&eacute;s de certains mat&eacute;riels ESDI</title>
+
+ <sect4>
+ <title>Contr&ocirc;leurs Adaptec 2320</title>
+
+ <para>J'ai r&eacute;ussi &agrave; installer FreeBSD sur un disque ESDI
+ avec un contr&ocirc;leur ACB-2320. Il n'y avait pas d'autre
+ syst&egrave;me d'exploitation sur le disque.</para>
+
+ <para>Pour cela, j'ai effectu&eacute; un formatage de bas niveau du
+ disque avec <command>NEFMT.EXE</command>
+ (t&eacute;l&eacute;chargeable par <command>ftp</command> depuis
+ <hostid role="fqdn">www.adaptec.com</hostid>) et r&eacute;pondu
+ <literal>NO</literal> &agrave; la question qui me demandait si le
+ disque devait &ecirc;tre format&eacute; en laissant un secteur de
+ secours par piste. Le BIOS de l'ACD-2320 &eacute;tait
+ d&eacute;sactiv&eacute; et j'ai utilis&eacute; l'option de
+ configuration
+ libre&nbsp;-&nbsp;<literal>free configurable</literal>&nbsp;-&nbsp;du
+ BIOS du syst&egrave;me pour permettre au BIOS de d&eacute;marrer
+ avec.</para>
+
+ <para>Avant de me servir de <command>NEFMT.EXE</command>, j'avais
+ essay&eacute; de formater le disque avec l'utilitaire inclus dans
+ le BIOS de l'ACB-2320. Cela s'est av&eacute;r&eacute; inutilisable,
+ parce qu'il ne m'a pas propos&eacute; de d&eacute;sactiver la
+ r&eacute;servation du secteur de secours. Avec ces derniers,
+ l'installation de FreeBSD &eacute;choue &agrave; l'ex&eacute;cution
+ de <command>bad144</command>.</para>
+
+ <para>V&eacute;rifiez avec soin de quelle variante
+ ACB-232<replaceable>xy</replaceable> vous disposez. Le
+ <replaceable>x</replaceable> vaut <literal>0</literal> ou
+ <literal>2</literal>, selon que le contr&ocirc;leur ne dispose pas
+ ou inclut un contr&ocirc;leur de lecteur de disquettes.</para>
+
+ <para>Le <literal>y</literal> est plus int&eacute;ressant. C'est un
+ blanc, un <literal>A-8</literal> ou un <literal>D</literal>. Le
+ blanc indique un contr&ocirc;leur &agrave; 10 Mo/seconde. Le
+ <literal>A-8</literal> indique un contr&ocirc;leur &agrave; 15
+ Mo/seconde capable de g&eacute;rer 52 secteurs par piste. Le
+ <literal>D</literal> est un contr&ocirc;leur &agrave; 15 Mo/seconde
+ qui peut aussi g&eacute;rer des disques avec plus de 36 secteurs
+ par piste (52 aussii&nbsp;?).</para>
+
+ <para>Toutes ces variantes peuvent g&eacute;rer l'entrelacement 1:1.
+ Employez-le, FreeBSD est assez rapide pour s'en accommoder.</para>
+ </sect4>
+
+ <sect4>
+ <title>Contr&ocirc;leurs Western Digital WD1007</title>
+
+ <para>J'ai r&eacute;ussi &agrave; installer FreeBSD sur un disque ESDI
+ avec un contr&ocirc;leur WD1007. Pour &ecirc;tre pr&eacute;cis,
+ c'&eacute;tait un contr&ocirc;leur WD1007-WA2. Il y en a d'autres
+ variantes.</para>
+
+ <para>Pour qu'il fonctionne, j'ai d&eacute;sactiv&eacute; la
+ correspondance entre secteurs et le BIOS du WD1007. Ce qui signifie que je n'ai pas pu me servir de l'utilitaire de formatage de bas
+ niveau de ce BIOS. J'ai r&eacute;cup&eacute;r&eacute;
+ <command>WDFMT.EXE</command> sur
+ <hostid role="fqdn">www.wdc.com</hostid>. Il m'a permis de formater
+ le disque sans probl&egrave;me.</para>
+ </sect4>
+
+ <sect4>
+ <title>Contr&ocirc;leurs Ultrastor U14F</title>
+
+ <para>Selon de nombreux retours sur le r&eacute;seau, les cartes
+ Ultrastor ESDI fonctionnent avec FreeBSD. Je n'ai pas plus
+ d'informations sur leur configuration.</para>
+ </sect4>
+ </sect3>
+
+ <sect3 id="esdi-further-reading">
+ <title>Lectures compl&eacute;mentaires</title>
+
+ <para>Si vous avez l'intention d'utiliser s&eacute;rieusement l'ESDI,
+ vous devriez avoir la norme officielle &agrave; port&eacute;e de
+ main&nbsp;:</para>
+
+ <para>Le document le plus r&eacute;cent du comit&eacute; ANSI X3T10
+ est&nbsp;: &rdquo;Enhanced Small Device Interface (ESDI)
+ [X3.170-1990/X3.170a-1991] [X3T10/792D Rev 11]&ldquo;.</para>
+
+ <para>Le forum Usenet
+ <ulink URL="news:comp.periphs">comp.periphs</ulink> est un bon endroit
+ ou avoir plus d'informations.</para>
+
+ <para>Le <foreignphrase>World Wide Web</foreignphrase> (WWW) est aussi
+ une excellente source d'informations&nbsp;: Pour les contr&ocirc;leurs
+ Adaptec, consultez
+ <ulink URL="http://www.adaptec.com/">http://www.adaptec.com/</ulink>.
+ Pour les contr&ocirc;leurs Western Digital, voyez
+ <ulink URL="http://www.wdc.com/">http://www.wdc.com/</ulink>.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>Remerciements &agrave; ...</title>
+
+ <para>Andrew Gordon pour m'avoir envoy&eacute; un contr&ocirc;leur
+ Adaptec 2320 et un disque ESDI pour faire des tests.</para>
+ </sect3>
+ </sect2>
+
+ <sect2 id="scsi">
+ <title>Qu'est-ce que le SCSI&nbsp;?</title>
+ &trans.a.brive;
+
+ <para><emphasis>Copyright &copy; 1995, &a.wilko;. July 6,
+ 1996.</emphasis></para>
+
+ <para>SCSI est un acronyme pour Small Computer Systems Interface. C'est
+ un standard ANSI qui est devenu l'un des premiers bus d'E/S de
+ l'industrie informatique. Les bases du standard SCSI proviennent
+ de Shugart Associates (les m&ecirc;mes personnes qui ont donn&eacute; au monde les
+ premiers mini-disques floppy) quand ils ont introduit le bus SASI
+ (Shugart Associates Standard Interface).</para>
+
+ <para>Un effort industriel a d&eacute;marr&eacute; quelque temps plus tard pour
+ arriver &agrave; un standard plus strict, permettant &agrave; des p&eacute;riph&eacute;riques de
+ diff&eacute;rents vendeurs de travailler ensemble. Cet effort fut reconnu
+ par l'ANSI avec le standard SCSI-1. Ce standard (approx. 1985) devient
+ rapidement obsol&egrave;te. Le standard courant est SCSI-2 (cf <link
+ linkend="scsi-further-reading">Lecture compl&eacute;mentaire</link>),
+ avec SCSI-3 en cours de conception.</para>
+
+ <para>En plus d'un standard pour l'interconnexion physique, SCSI d&eacute;finit
+ un standard logique (jeu de commandes) auxquels les disques doivent
+ adh&eacute;rer. Ce standard "commun" est appell&eacute; le Common Command Set (CCS)
+ et a &eacute;t&eacute; d&eacute;velopp&eacute; plus ou moins en parall&egrave;le avec le SCSI-1 ANSI.
+ SCSI-2 int&egrave;gre le CCS (r&eacute;vis&eacute;) dans son standard. Les commandes
+ d&eacute;pendent du type de p&eacute;riph&eacute;rique&nbsp;; il ne serait pas logique bien
+ s&ucirc;r de d&eacute;finir une commande "Ecriture" pour un scanner.</para>
+
+ <para>Le bus SCSI est un bus parall&egrave;le, qui supporte plusieurs
+ variantes. La plus ancienne et plus utilis&eacute;e est un bus de 8 bits
+ de large, avec des signaux en collecteur ouvert (single-ended),
+ transport&eacute;s sur 50 fils. (Si vous ne savez pas ce que veut dire
+ "collecteur ouvert", ne vous en faites pas; c'est justement le sujet
+ de ce document). Les architectures modernes utilisent aussi les bus
+ de 16 bits avec des signaux diff&eacute;rentiels. Cela permet d'obtenir
+ des taux de transferts de 20Mo/s, sur des c&acirc;bles atteignant 25 m&egrave;tres.
+ SCSI-2 permet une largeur maximum du bus de 32 bits en utilisant un
+ c&acirc;ble suppl&eacute;mentaire. Rapidement, l'Ultra SCSI (appel&eacute; aussi Fast-20)
+ et l'Ultra2 (appel&eacute; aussi Fast-40) arrivent. Fast-20 correspond &agrave;
+ 20 millions de transferts par seconde (20Mo/s sur un bus de 8 bits)
+ et Fast-40 correspond &agrave; 40 millions de transferts par seconde
+ (40Mo/s sur un bus de 8 bits). La majorit&eacute; des disques vendus
+ aujourd'hui sont des Ultra SCSI (8 ou 16 bits) en collecteur
+ ouvert.</para>
+
+ <para>Bien s&ucirc;r, le bus SCSI n'a pas que des fils de donn&eacute;es, mais
+ aussi un certain nombre de signaux de contr&ocirc;le. Un protocole tr&egrave;s
+ &eacute;labor&eacute; fait partie du standard pour permettre &agrave; plusieurs
+ p&eacute;riph&eacute;riques de se partager le bus de mani&egrave;re efficace.
+ En SCSI-2, les donn&eacute;es sont toujours v&eacute;rifi&eacute;es avec un fil s&eacute;par&eacute;
+ pour la parit&eacute;. Dans l'architecture pr&eacute;-SCSI-2, la parit&eacute; &eacute;tait
+ optionnelle.</para>
+
+ <para>En SCSI-3, des types de bus encore plus rapides sont introduits,
+ dont les bus SCSI s&eacute;rie qui r&eacute;duisent l'overhead du cabl&acirc;ge
+ (consommation? d&eacute;lai de propagation?)
+ et permettent une longueur de bus maximale plus importante.
+ Vous pourriez voir des noms comme SSA et FiberChannel dans ce contexte.
+ Aucun de ces bus s&eacute;rie n'est aujourd'hui d'usage courant (et
+ sp&eacute;cialement pas dans l'environnement typique de FreeBSD).
+ Pour cette raison, les types de bus s&eacute;rie ne seront plus abord&eacute;s.</para>
+
+ <para>Comme vous auriez pu le deviner de la description pr&eacute;c&eacute;dente, les
+ p&eacute;riph&eacute;riques SCSI sont intelligents. Ils doivent l'&ecirc;tre pour adh&eacute;rer
+ au standard SCSI (qui est &eacute;pais de plus de 5 cm). Ainsi, pour un
+ disque dur par exemple, vous ne sp&eacute;cifiez pas un t&ecirc;te/cylindre/secteur
+ pour adresser un bloc particulier, mais simplement le num&eacute;ro du
+ bloc que vous voulez.
+ Des sch&eacute;mas &eacute;labor&eacute;s de cache, des remplacements automatiques de blocs
+ d&eacute;fecteux, etc, sont tous rendus possibles par cette approche de
+ &ldquo;p&eacute;riph&eacute;rique intelligent&rdquo;.</para>
+
+ <para>Sur un bus SCSI, chaque paire possible d'abonn&eacute;s peut communiquer.
+ Que leur fonction le leur permette est une autre chose, mais le
+ standard ne le restreint pas. Pour &eacute;viter le conflit de signaux,
+ les deux abonn&eacute;s doivent passer par une phase d'arbitrage de bus
+ avant de l'utiliser.</para>
+
+ <para>La philosophie du SCSI est d'avoir un standard qui permette
+ &agrave; des p&eacute;riph&eacute;riques ancien-standard de travailler avec des
+ nouveaux-standard. Ainsi, un vieux p&eacute;riph&eacute;rique SCSI-1 devrait
+ normalement fonctionner sur un bus SCSI-2. Je dis normalement, car il
+ n'est pas absolument s&ucirc;r que l'impl&eacute;mentation d'un ancien p&eacute;riph&eacute;rique
+ suive le (vieux) standard de mani&egrave;re assez proche pour &ecirc;tre acceptable
+ sur un nouveau bus. Les p&eacute;riph&eacute;riques modernes se comportent bien
+ g&eacute;n&eacute;ralement, car la standardisation est devenue plus stricte et
+ est mieux respect&eacute;e par les fabriquants de p&eacute;riph&eacute;riques.</para>
+
+ <para>D'une mani&egrave;re g&eacute;n&eacute;rale, les chances de faire fonctionner
+ correctement un ensemble de p&eacute;riph&eacute;riques sur un seul bus, sont
+ meilleures quand tous les abonn&eacute;s sont SCSI-2 ou plus r&eacute;cents.
+ Cela implique que vous n'avez pas besoin de supprimer tous vos vieux
+ mat&eacute;riels quand vous venez d'avoir ce magnifique disque de 2Go&nbsp;:
+ je poss&egrave;de un syst&egrave;me sur lequel un disque pr&eacute;-SCSI-1, un
+ lecteur de cartouche QIC en SCSI-2, un lecteur de cartouches
+ h&eacute;lico&iuml;dal SCSI-1 et 2 disques SCSI-1 fonctionnent assez
+ bien ensemble. D'un point de vue des performances, vous
+ pourriez toutefois vouloir s&eacute;parer vos plus vieux p&eacute;riph&eacute;riques
+ des plus nouveaux (=plus rapides).</para>
+
+
+ <sect3>
+ <title>Composants SCSI</title>
+
+ <para>Comme nous l'avons dit pr&eacute;c&eacute;demment, les p&eacute;riph&eacute;riques SCSI sont
+ intelligents. L'id&eacute;e est de mettre les connaissances sur les d&eacute;tails
+ intimes du mat&eacute;riel dans le p&eacute;riph&eacute;rique SCSI lui-m&ecirc;me. De cette
+ fa&ccedil;on, le syst&egrave;me h&ocirc;te n'a pas besoin de se pr&eacute;occuper de savoir,
+ par exemple, combien de t&ecirc;tes poss&egrave;de le disque, ou combien de pistes
+ poss&egrave;de tel d&eacute;rouleur de bandes. Si vous &ecirc;tes curieux, le standard
+ sp&eacute;cifie des commandes avec lesquelles vous pouvez interroger les
+ p&eacute;riph&eacute;riques sur leurs sp&eacute;cificit&eacute;s mat&eacute;rielles. FreeBSD utilise
+ cette possibilit&eacute; pendant le d&eacute;marrage pour d&eacute;terminer quels sont
+ les p&eacute;riph&eacute;riques connect&eacute;s et s'ils ont besoin d'un traitement
+ sp&eacute;cial.</para>
+
+ <para>L'avantage d'avoir des p&eacute;riph&eacute;riques intelligents est
+ &eacute;vident&nbsp;: le pilote de p&eacute;riph&eacute;rique dans l'h&ocirc;te peut &ecirc;tre
+ con&ccedil;u de mani&egrave;re beaucoup plus g&eacute;n&eacute;rique, il n'y a plus besoin de
+ modifier (et valider&nbsp;!) les pilotes pour chaque nouveau
+ p&eacute;riph&eacute;rique bizarre qui est introduit.</para>
+
+ <para>Pour les c&acirc;bles et les connecteurs, il y a une r&egrave;gle d'or&nbsp;:
+ prenez de la qualit&eacute;. Avec des vitesses de bus augmentant tout
+ le temps, vous vous &eacute;pargnerez beaucoup de peine en utilisant du
+ bon mat&eacute;riel.</para>
+
+ <para>Aussi, utilisez des connecteurs plaqu&eacute;s or, des c&acirc;bles blind&eacute;s
+ et des connecteurs robustes et bien v&eacute;rrouill&eacute;s, etc.
+ Deuxi&egrave;me r&egrave;gle d'or&nbsp;: n'utilisez pas des c&acirc;bles plus longs que
+ n&eacute;cessaires. J'ai une fois perdu 3 jours &agrave; pourchasser un probl&egrave;me
+ sur une machine instable, juste pour d&eacute;couvrir que raccourcir
+ le bus SCSI d'un m&egrave;tre r&eacute;solvait le probl&egrave;me. Et la longueur
+ originale du bus respectait bien les sp&eacute;cifications SCSI.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>Types de bus SCSI</title>
+
+ <para>D'un point de vue &eacute;lectrique, il existe deux types de bus
+ incompatibles&nbsp;: collecteur ouvert (<foreignphrase>single-ended
+ </foreignphrase>) et diff&eacute;rentiel. Cela signifie qu'il existe deux
+ principaux groupes de p&eacute;riph&eacute;riques et contr&ocirc;leurs SCSI qui ne peuvent
+ &ecirc;tre m&eacute;lang&eacute;s sur le m&ecirc;me bus. Il est toutefois possible d'utiliser
+ un convertisseur mat&eacute;riel sp&eacute;cial pour transformer un bus collecteur
+ ouvert en diff&eacute;rentiel (et vice versa). Les diff&eacute;rences entre les
+ types de bus sont expliqu&eacute;es dans les sections suivantes.</para>
+
+ <para>Dans beaucoup de documentation &agrave; propos du SCSI, il existe une
+ sorte de jargon en usage pour abr&eacute;ger les diff&eacute;rents types de bus.
+ Une petite liste&nbsp;:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>FWD&nbsp;: Fast Wide Differential (diff&eacute;rentiel large rapide)</para>
+ </listitem>
+
+ <listitem>
+ <para>FND&nbsp;: Fast Narrow Differential (diff&eacute;rentiel &eacute;troit rapide)</para>
+ </listitem>
+
+ <listitem>
+ <para>SE&nbsp;: Single Ended (collecteur ouvert)</para>
+ </listitem>
+
+ <listitem>
+ <para>FN&nbsp;: Fast Narrow (rapide &eacute;troit)</para>
+ </listitem>
+
+ <listitem>
+ <para>etc.</para>
+ </listitem>
+ </itemizedlist>
+
+
+ <para>Avec un minimun d'imagination, on peut bien imaginer ce que
+ cela veut dire.</para>
+
+ <para>Large est un peu ambigu, il peut indiquer des bus de 16 ou
+ 32 bits. A ma connaissance, la variante en 32 bits n'est pas (encore)
+ utilis&eacute;e, donc normalement large veut dire 16 bits.</para>
+
+ <para>Rapide signifie que la cadence sur le bus est un peu diff&eacute;rente,
+ pour qu'un bus &eacute;troit (8 bits) supporte 10 Mo/s au lieu de 5 Mo/s
+ pour un SCSI 'lent'. Comme indiqu&eacute; pr&eacute;c&eacute;demment, des vitesses de
+ bus de 20 et 40 millions de transferts/seconde &eacute;mergent aussi
+ (Fast-20 = Ultra SCSI et Fast40 = Ultra2 SCSI).</para>
+
+ <note>
+ <para>Les lignes de donn&eacute;es &gt; 8 ne sont utilis&eacute;es que pour les
+ transferts de donn&eacute;es et l'adressage des p&eacute;riph&eacute;riques. Les
+ transferts des commandes, messages d'&eacute;tat, etc. n'ont lieu que sur
+ les 8 bits de poids faibles. Le standard permet aux p&eacute;riph&eacute;riques
+ &eacute;troits de fonctionner sur un bus large. La largeur de bus
+ utilisable est n&eacute;goci&eacute;e entre les abonn&eacute;s. Vous devez regarder
+ pr&eacute;cis&eacute;ment l'adressage des abonn&eacute;s lorsque vous m&eacute;langez larges
+ et &eacute;troits.</para>
+ </note>
+
+<!--
+ <sect4>
+ <title>Single ended buses</title>
+ &sgml.todo;
+
+ <para>A single-ended SCSI bus uses signals that are either 5 Volts
+ or 0 Volts (indeed, TTL levels) and are relative to a COMMON
+ ground reference. A singled ended 8 bit SCSI bus has
+ approximately 25 ground lines, who are all tied to a single `rail'
+ on all devices. A standard single ended bus has a maximum length
+ of 6 meters. If the same bus is used with fast-SCSI devices, the
+ maximum length allowed drops to 3 meters. Fast-SCSI means that
+ instead of 5Mbytes/sec the bus allows 10Mbytes/sec
+ transfers.</para>
+
+ <para>Fast-20 (Ultra SCSI) and Fast-40 allow for 20 and 40 million
+ transfers/second respectively. So, F20 is 20 Mbytes/second on a 8
+ bit bus, 40 Mbytes/second on a 16 bit bus etc. For F20 the max
+ bus length is 1.5 meters, for F40 it becomes 0.75 meters. Be
+ aware that F20 is pushing the limits quite a bit, so you will
+ quickly find out if your SCSI bus is electrically sound.</para>
+
+ <note>
+ <para>If some devices on your bus use 'fast' to communicate your
+ bus must adhere to the length restrictions for fast
+ buses!</para>
+ </note>
+
+ <para>It is obvious that with the newer fast-SCSI devices the bus
+ length can become a real bottleneck. This is why the differential
+ SCSI bus was introduced in the SCSI-2 standard.</para>
+
+ <para>For connector pinning and connector types please refer to the
+ SCSI-2 standard (see <link linkend="scsi-further-reading">Further
+ reading</link>) itself, connectors etc are listed there in
+ painstaking detail.</para>
+
+ <para>Beware of devices using non-standard cabling. For instance
+ Apple uses a 25pin D-type connecter (like the one on serial ports
+ and parallel printers). Considering that the official SCSI bus
+ needs 50 pins you can imagine the use of this connector needs some
+ 'creative cabling'. The reduction of the number of ground wires
+ they used is a bad idea, you better stick to 50 pins cabling in
+ accordance with the SCSI standard. For Fast-20 and 40 do not even
+ think about buses like this.</para>
+ </sect4>
+
+ <sect4>
+ <title>Differential buses</title>
+
+ <para>A differential SCSI bus has a maximum length of 25 meters.
+ Quite a difference from the 3 meters for a single-ended fast-SCSI
+ bus. The idea behind differential signals is that each bus signal
+ has its own return wire. So, each signal is carried on a
+ (preferably twisted) pair of wires. The voltage difference
+ between these two wires determines whether the signal is asserted
+ or de-asserted. To a certain extent the voltage difference
+ between ground and the signal wire pair is not relevant (do not
+ try 10 kVolts though).</para>
+
+ <para>It is beyond the scope of this document to explain why this
+ differential idea is so much better. Just accept that
+ electrically seen the use of differential signals gives a much
+ better noise margin. You will normally find differential buses in
+ use for inter-cabinet connections. Because of the lower cost
+ single ended is mostly used for shorter buses like inside
+ cabinets.</para>
+
+ <para>There is nothing that stops you from using differential stuff
+ with FreeBSD, as long as you use a controller that has device
+ driver support in FreeBSD. As an example, Adaptec marketed the
+ AHA1740 as a single ended board, whereas the AHA1744 was
+ differential. The software interface to the host is identical for
+ both.</para>
+ </sect4>
+
+ <sect4>
+ <title>Terminators</title>
+
+ <para>Terminators in SCSI terminology are resistor networks that are
+ used to get a correct impedance matching. Impedance matching is
+ important to get clean signals on the bus, without reflections or
+ ringing. If you once made a long distance telephone call on a bad
+ line you probably know what reflections are. With 20Mbytes/sec
+ traveling over your SCSI bus, you do not want signals echoing
+ back.</para>
+
+ <para>Terminators come in various incarnations, with more or less
+ sophisticated designs. Of course, there are internal and external
+ variants. Many SCSI devices come with a number of sockets in
+ which a number of resistor networks can (must be!) installed. If
+ you remove terminators from a device, carefully store them. You
+ will need them when you ever decide to reconfigure your SCSI bus.
+ There is enough variation in even these simple tiny things to make
+ finding the exact replacement a frustrating business. There are
+ also SCSI devices that have a single jumper to enable or disable a
+ built-in terminator. There are special terminators you can stick
+ onto a flat cable bus. Others look like external connectors, or a
+ connector hood without a cable. So, lots of choice as you can
+ see.</para>
+
+ <para>There is much debate going on if and when you should switch
+ from simple resistor (passive) terminators to active terminators.
+ Active terminators contain slightly more elaborate circuit to give
+ cleaner bus signals. The general consensus seems to be that the
+ usefulness of active termination increases when you have long
+ buses and/or fast devices. If you ever have problems with your
+ SCSI buses you might consider trying an active terminator. Try to
+ borrow one first, they reputedly are quite expensive.</para>
+
+ <para>Please keep in mind that terminators for differential and
+ single-ended buses are not identical. You should <emphasis>not
+ mix</emphasis> the two variants.</para>
+
+ <para>OK, and now where should you install your terminators? This is
+ by far the most misunderstood part of SCSI. And it is by far the
+ simplest. The rule is: <emphasis>every single line on the SCSI
+ bus has 2 (two) terminators, one at each end of the
+ bus.</emphasis> So, two and not one or three or whatever. Do
+ yourself a favor and stick to this rule. It will save you endless
+ grief, because wrong termination has the potential to introduce
+ highly mysterious bugs. (Note the &ldquo;potential&rdquo; here;
+ the nastiest part is that it may or may not work.)</para>
+
+ <para>A common pitfall is to have an internal (flat) cable in a
+ machine and also an external cable attached to the controller. It
+ seems almost everybody forgets to remove the terminators from the
+ controller. The terminator must now be on the last external
+ device, and not on the controller! In general, every
+ reconfiguration of a SCSI bus must pay attention to this.</para>
+
+ <note>
+ <para>Termination is to be done on a per-line basis. This means
+ if you have both narrow and wide buses connected to the same
+ host adapter, you need to enable termination on the higher 8
+ bits of the bus on the adapter (as well as the last devices on
+ each bus, of course).</para>
+ </note>
+
+ <para>What I did myself is remove all terminators from my SCSI
+ devices and controllers. I own a couple of external terminators,
+ for both the Centronics-type external cabling and for the internal
+ flat cable connectors. This makes reconfiguration much
+ easier.</para>
+
+ <para>On modern devices, sometimes integrated terminators are used.
+ These things are special purpose integrated circuits that can be
+ dis/en-abled with a control pin. It is not necessary to
+ physically remove them from a device. You may find them on newer
+ host adapters, sometimes they are software configurable, using
+ some sort of setup tool. Some will even auto-detect the cables
+ attached to the connectors and automatically set up the
+ termination as necessary. At any rate, consult your
+ documentation!</para>
+ </sect4>
+
+ <sect4>
+ <title>Terminator power</title>
+
+ <para>The terminators discussed in the previous chapter need power
+ to operate properly. On the SCSI bus, a line is dedicated to this
+ purpose. So, simple huh?</para>
+
+ <para>Not so. Each device can provide its own terminator power to
+ the terminator sockets it has on-device. But if you have external
+ terminators, or when the device supplying the terminator power to
+ the SCSI bus line is switched off you are in trouble.</para>
+
+ <para>The idea is that initiators (these are devices that initiate
+ actions on the bus, a discussion follows) must supply terminator
+ power. All SCSI devices are allowed (but not required) to supply
+ terminator power.</para>
+
+ <para>To allow for un-powered devices on a bus, the terminator power
+ must be supplied to the bus via a diode. This prevents the
+ backflow of current to un-powered devices.</para>
+
+ <para>To prevent all kinds of nastiness, the terminator power is
+ usually fused. As you can imagine, fuses might blow. This can,
+ but does not have to, lead to a non functional bus. If multiple
+ devices supply terminator power, a single blown fuse will not put
+ you out of business. A single supplier with a blown fuse
+ certainly will. Clever external terminators sometimes have a LED
+ indication that shows whether terminator power is present.</para>
+
+ <para>In newer designs auto-restoring fuses that 'reset' themselves
+ after some time are sometimes used.</para>
+ </sect4>
+
+ <sect4>
+ <title>Device addressing</title>
+
+ <para>Because the SCSI bus is, ehh, a bus there must be a way to
+ distinguish or address the different devices connected to
+ it.</para>
+
+ <para>This is done by means of the SCSI or target ID. Each device
+ has a unique target ID. You can select the ID to which a device
+ must respond using a set of jumpers, or a dip switch, or something
+ similar. Some SCSI host adapters let you change the target ID
+ from the boot menu. (Yet some others will not let you change the
+ ID from 7.) Consult the documentation of your device for more
+ information.</para>
+
+ <para>Beware of multiple devices configured to use the same ID.
+ Chaos normally reigns in this case. A pitfall is that one of the
+ devices sharing the same ID sometimes even manages to answer to
+ I/O requests!</para>
+
+ <para>For an 8 bit bus, a maximum of 8 targets is possible. The
+ maximum is 8 because the selection is done bitwise using the 8
+ data lines on the bus. For wide buses this increases to the
+ number of data lines (usually 16).</para>
+
+ <note>
+ <para>A narrow SCSI device can not communicate with a SCSI device
+ with a target ID larger than 7. This means it is generally not
+ a good idea to move your SCSI host adapter's target ID to
+ something higher than 7 (or your CD-ROM will stop
+ working).</para>
+ </note>
+
+ <para>The higher the SCSI target ID, the higher the priority the
+ devices has. When it comes to arbitration between devices that
+ want to use the bus at the same time, the device that has the
+ highest SCSI ID will win. This also means that the SCSI host
+ adapter usually uses target ID 7. Note however that the lower 8
+ IDs have higher priorities than the higher 8 IDs on a wide-SCSI
+ bus. Thus, the order of target IDs is: [7 6 .. 1 0 15 14 .. 9 8]
+ on a wide-SCSI system. (If you you are wondering why the lower 8
+ have higher priority, read the previous paragraph for a
+ hint.)</para>
+
+ <para>For a further subdivision, the standard allows for Logical
+ Units or LUNs for short. A single target ID may have multiple
+ LUNs. For example, a tape device including a tape changer may
+ have LUN 0 for the tape device itself, and LUN 1 for the tape
+ changer. In this way, the host system can address each of the
+ functional units of the tape changer as desired.</para>
+ </sect4>
+
+ <sect4>
+ <title>Bus layout</title>
+
+ <para>SCSI buses are linear. So, not shaped like Y-junctions, star
+ topologies, rings, cobwebs or whatever else people might want to
+ invent. One of the most common mistakes is for people with
+ wide-SCSI host adapters to connect devices on all three connecters
+ (external connector, internal wide connector, internal narrow
+ connector). Don't do that. It may appear to work if you are
+ really lucky, but I can almost guarantee that your system will
+ stop functioning at the most unfortunate moment (this is also
+ known as &ldquo;Murphy's law&rdquo;).</para>
+
+ <para>You might notice that the terminator issue discussed earlier
+ becomes rather hairy if your bus is not linear. Also, if you have
+ more connectors than devices on your internal SCSI cable, make
+ sure you attach devices on connectors on both ends instead of
+ using the connectors in the middle and let one or both ends
+ dangle. This will screw up the termination of the bus.</para>
+
+ <para>The electrical characteristics, its noise margins and
+ ultimately the reliability of it all are tightly related to linear
+ bus rule.</para>
+
+ <para><emphasis>Stick to the linear bus rule!</emphasis></para>
+ </sect4>
+-->
+
+ </sect3>
+
+
+ <sect3>
+ <title>*** Utiliser le SCSI avec FreeBSD</title>
+ &sgml.todo
+ <!--
+ <sect4>
+ <title>About translations, BIOSes and magic...</title>
+
+ <para>As stated before, you should first make sure that you have a
+ electrically sound bus.</para>
+
+ <para>When you want to use a SCSI disk on your PC as boot disk, you
+ must aware of some quirks related to PC BIOSes. The PC BIOS in
+ its first incarnation used a low level physical interface to the
+ hard disk. So, you had to tell the BIOS (using a setup tool or a
+ BIOS built-in setup) how your disk physically looked like. This
+ involved stating number of heads, number of cylinders, number of
+ sectors per track, obscure things like precompensation and reduced
+ write current cylinder etc.</para>
+
+ <para>One might be inclined to think that since SCSI disks are smart
+ you can forget about this. Alas, the arcane setup issue is still
+ present today. The system BIOS needs to know how to access your
+ SCSI disk with the head/cyl/sector method in order to load the
+ FreeBSD kernel during boot.</para>
+
+ <para>The SCSI host adapter or SCSI controller you have put in your
+ AT/EISA/PCI/whatever bus to connect your disk therefore has its
+ own on-board BIOS. During system startup, the SCSI BIOS takes
+ over the hard disk interface routines from the system BIOS. To
+ fool the system BIOS, the system setup is normally set to No hard
+ disk present. Obvious, isn't it?</para>
+
+ <para>The SCSI BIOS itself presents to the system a so called
+ <emphasis>translated</emphasis> drive. This means that a fake
+ drive table is constructed that allows the PC to boot the drive.
+ This translation is often (but not always) done using a pseudo
+ drive with 64 heads and 32 sectors per track. By varying the
+ number of cylinders, the SCSI BIOS adapts to the actual drive
+ size. It is useful to note that 32 * 64 / 2 = the size of your
+ drive in megabytes. The division by 2 is to get from disk blocks
+ that are normally 512 bytes in size to Kbytes.</para>
+
+ <para>Right. All is well now?! No, it is not. The system BIOS has
+ another quirk you might run into. The number of cylinders of a
+ bootable hard disk cannot be greater than 1024. Using the
+ translation above, this is a show-stopper for disks greater than 1
+ GB. With disk capacities going up all the time this is causing
+ problems.</para>
+
+ <para>Fortunately, the solution is simple: just use another
+ translation, e.g. with 128 heads instead of 32. In most cases new
+ SCSI BIOS versions are available to upgrade older SCSI host
+ adapters. Some newer adapters have an option, in the form of a
+ jumper or software setup selection, to switch the translation the
+ SCSI BIOS uses.</para>
+
+ <para>It is very important that <emphasis>all</emphasis> operating
+ systems on the disk use the <emphasis>same translation</emphasis>
+ to get the right idea about where to find the relevant partitions.
+ So, when installing FreeBSD you must answer any questions about
+ heads/cylinders etc using the translated values your host adapter
+ uses.</para>
+
+ <para>Failing to observe the translation issue might lead to
+ un-bootable systems or operating systems overwriting each others
+ partitions. Using fdisk you should be able to see all
+ partitions.</para>
+
+ <para>You might have heard some talk of &ldquo;lying&rdquo; devices?
+ Older FreeBSD kernels used to report the geometry of SCSI disks
+ when booting. An example from one of my systems:</para>
+
+ <screen>aha0 targ 0 lun 0: &lt;MICROP 1588-15MB1057404HSP4&gt;
+sd0: 636MB (1303250 total sec), 1632 cyl, 15 head, 53 sec, bytes/sec 512</screen>
+
+ <para>Newer kernels usually do not report this information.
+ e.g.</para>
+
+ <screen>(bt0:0:0): "SEAGATE ST41651 7574" type 0 fixed SCSI 2
+sd0(bt0:0:0): Direct-Access 1350MB (2766300 512 byte sectors)</screen>
+
+ <para>Why has this changed?</para>
+
+ <para>This info is retrieved from the SCSI disk itself. Newer disks
+ often use a technique called zone bit recording. The idea is that
+ on the outer cylinders of the drive there is more space so more
+ sectors per track can be put on them. This results in disks that
+ have more tracks on outer cylinders than on the inner cylinders
+ and, last but not least, have more capacity. You can imagine that
+ the value reported by the drive when inquiring about the geometry
+ now becomes suspect at best, and nearly always misleading. When
+ asked for a geometry , it is nearly always better to supply the
+ geometry used by the BIOS, or <emphasis>if the BIOS is never going
+ to know about this disk</emphasis>, (e.g. it is not a booting
+ disk) to supply a fictitious geometry that is convenient.</para>
+ </sect4>
+
+ <sect4>
+ <title>SCSI subsystem design</title>
+
+ <para>FreeBSD uses a layered SCSI subsystem. For each different
+ controller card a device driver is written. This driver knows all
+ the intimate details about the hardware it controls. The driver
+ has a interface to the upper layers of the SCSI subsystem through
+ which it receives its commands and reports back any status.</para>
+
+ <para>On top of the card drivers there are a number of more generic
+ drivers for a class of devices. More specific: a driver for tape
+ devices (abbreviation: st), magnetic disks (sd), CD-ROMs (cd) etc.
+ In case you are wondering where you can find this stuff, it all
+ lives in <filename>/sys/scsi</filename>. See the man pages in
+ section 4 for more details.</para>
+
+ <para>The multi level design allows a decoupling of low-level bit
+ banging and more high level stuff. Adding support for another
+ piece of hardware is a much more manageable problem.</para>
+ </sect4>
+
+ <sect4>
+ <title>Kernel configuration</title>
+
+ <para>Dependent on your hardware, the kernel configuration file must
+ contain one or more lines describing your host adapter(s). This
+ includes I/O addresses, interrupts etc. Consult the man page for
+ your adapter driver to get more info. Apart from that, check out
+ <filename>/sys/i386/conf/LINT</filename> for an overview of a
+ kernel config file. <filename>LINT</filename> contains every
+ possible option you can dream of. It does
+ <emphasis>not</emphasis> imply <filename>LINT</filename> will
+ actually get you to a working kernel at all.</para>
+
+ <para>Although it is probably stating the obvious: the kernel config
+ file should reflect your actual hardware setup. So, interrupts,
+ I/O addresses etc must match the kernel config file. During
+ system boot messages will be displayed to indicate whether the
+ configured hardware was actually found.</para>
+
+ <note>
+ <para>Note that most of the EISA/PCI drivers (namely
+ <devicename>ahb</devicename>, <devicename>ahc</devicename>,
+ <devicename>ncr</devicename> and <devicename>amd</devicename>
+ will automatically obtain the correct parameters from the host
+ adapters themselves at boot time; thus, you just need to write,
+ for instance, <literal>controller ahc0</literal>.</para>
+ </note>
+
+ <para>An example loosely based on the FreeBSD 2.2.5-Release kernel
+ config file <filename>LINT</filename> with some added comments
+ (between []):</para>
+
+ <programlisting>
+# SCSI host adapters: `aha', `ahb', `aic', `bt', `nca'
+#
+# aha: Adaptec 154x
+# ahb: Adaptec 174x
+# ahc: Adaptec 274x/284x/294x
+# aic: Adaptec 152x and sound cards using the Adaptec AIC-6360 (slow!)
+# amd: AMD 53c974 based SCSI cards (e.g., Tekram DC-390 and 390T)
+# bt: Most Buslogic controllers
+# nca: ProAudioSpectrum cards using the NCR 5380 or Trantor T130
+# ncr: NCR/Symbios 53c810/815/825/875 etc based SCSI cards
+# uha: UltraStore 14F and 34F
+# sea: Seagate ST01/02 8 bit controller (slow!)
+# wds: Western Digital WD7000 controller (no scatter/gather!).
+#
+
+[For an Adaptec AHA274x/284x/294x/394x etc controller]
+controller ahc0
+
+[For an NCR/Symbios 53c875 based controller]
+controller ncr0
+
+[For an Ultrastor adapter]
+controller uha0 at isa? port "IO_UHA0" bio irq ? drq 5 vector uhaintr
+
+# Map SCSI buses to specific SCSI adapters
+controller scbus0 at ahc0
+controller scbus2 at ncr0
+controller scbus1 at uha0
+
+# The actual SCSI devices
+disk sd0 at scbus0 target 0 unit 0 [SCSI disk 0 is at scbus 0, LUN 0]
+disk sd1 at scbus0 target 1 [implicit LUN 0 if omitted]
+disk sd2 at scbus1 target 3 [SCSI disk on the uha0]
+disk sd3 at scbus2 target 4 [SCSI disk on the ncr0]
+tape st1 at scbus0 target 6 [SCSI tape at target 6]
+device cd0 at scbus? [the first ever CD-ROM found, no wiring]</programlisting>
+
+ <para>The example above tells the kernel to look for a ahc (Adaptec
+ 274x) controller, then for an NCR/Symbios board, and so on. The
+ lines following the controller specifications tell the kernel to
+ configure specific devices but <emphasis>only</emphasis> attach
+ them when they match the target ID and LUN specified on the
+ corresponding bus.</para>
+
+ <para>Wired down devices get &ldquo;first shot&rdquo; at the unit
+ numbers so the first non &ldquo;wired down&rdquo; device, is
+ allocated the unit number one greater than the highest
+ &ldquo;wired down&rdquo; unit number for that kind of device. So,
+ if you had a SCSI tape at target ID 2 it would be configured as
+ st2, as the tape at target ID 6 is wired down to unit number
+ 1.</para>
+
+ <note>
+ <para>Wired down devices need not be found to get their unit
+ number. The unit number for a wired down device is reserved for
+ that device, even if it is turned off at boot time. This allows
+ the device to be turned on and brought on-line at a later time,
+ without rebooting. Notice that a device's unit number has
+ <emphasis>no</emphasis> relationship with its target ID on the
+ SCSI bus.</para>
+ </note>
+
+ <para>Below is another example of a kernel config file as used by
+ FreeBSD version &lt; 2.0.5. The difference with the first example
+ is that devices are not &ldquo;wired down&rdquo;. &ldquo;Wired
+ down&rdquo; means that you specify which SCSI target belongs to
+ which device.</para>
+
+ <para>A kernel built to the config file below will attach the first
+ SCSI disk it finds to sd0, the second disk to sd1 etc. If you ever
+ removed or added a disk, all other devices of the same type (disk
+ in this case) would 'move around'. This implies you have to
+ change <filename>/etc/fstab</filename> each time.</para>
+
+ <para>Although the old style still works, you are
+ <emphasis>strongly</emphasis> recommended to use this new feature.
+ It will save you a lot of grief whenever you shift your hardware
+ around on the SCSI buses. So, when you re-use your old trusty
+ config file after upgrading from a pre-FreeBSD2.0.5.R system check
+ this out.</para>
+
+ <programlisting>
+[driver for Adaptec 174x]
+controller ahb0 at isa? bio irq 11 vector ahbintr
+
+[for Adaptec 154x]
+controller aha0 at isa? port "IO_AHA0" bio irq 11 drq 5 vector ahaintr
+
+[for Seagate ST01/02]
+controller sea0 at isa? bio irq 5 iomem 0xc8000 iosiz 0x2000 vector seaintr
+
+controller scbus0
+
+device sd0 [support for 4 SCSI harddisks, sd0 up sd3]
+device st0 [support for 2 SCSI tapes]
+
+[for the CD-ROM]
+device cd0 #Only need one of these, the code dynamically grows</programlisting>
+
+ <para>Both examples support SCSI disks. If during boot more devices
+ of a specific type (e.g. sd disks) are found than are configured
+ in the booting kernel, the system will simply allocate more
+ devices, incrementing the unit number starting at the last number
+ &ldquo;wired down&rdquo;. If there are no &ldquo;wired
+ down&rdquo; devices then counting starts at unit 0.</para>
+
+ <para>Use <command>man 4 scsi</command> to check for the latest info
+ on the SCSI subsystem. For more detailed info on host adapter
+ drivers use eg <command>man 4 ahc</command> for info on the
+ Adaptec 294x driver.</para>
+ </sect4>
+
+ <sect4>
+ <title>Tuning your SCSI kernel setup</title>
+
+ <para>Experience has shown that some devices are slow to respond to
+ INQUIRY commands after a SCSI bus reset (which happens at boot
+ time). An INQUIRY command is sent by the kernel on boot to see
+ what kind of device (disk, tape, CD-ROM etc) is connected to a
+ specific target ID. This process is called device probing by the
+ way.</para>
+
+ <para>To work around the 'slow response' problem, FreeBSD allows a
+ tunable delay time before the SCSI devices are probed following a
+ SCSI bus reset. You can set this delay time in your kernel
+ configuration file using a line like:</para>
+
+ <programlisting>
+options SCSI_DELAY=15 #Be pessimistic about Joe SCSI device</programlisting>
+
+ <para>This line sets the delay time to 15 seconds. On my own system
+ I had to use 3 seconds minimum to get my trusty old CD-ROM drive
+ to be recognized. Start with a high value (say 30 seconds or so)
+ when you have problems with device recognition. If this helps,
+ tune it back until it just stays working.</para>
+ </sect4>
+
+ <sect4 id="scsi-rogue-devices">
+ <title>Rogue SCSI devices</title>
+
+ <para>Although the SCSI standard tries to be complete and concise,
+ it is a complex standard and implementing things correctly is no
+ easy task. Some vendors do a better job then others.</para>
+
+ <para>This is exactly where the &ldquo;rogue&rdquo; devices come
+ into view. Rogues are devices that are recognized by the FreeBSD
+ kernel as behaving slightly (...) non-standard. Rogue devices are
+ reported by the kernel when booting. An example for two of my
+ cartridge tape units:</para>
+
+ <screen>Feb 25 21:03:34 yedi /kernel: ahb0 targ 5 lun 0: &lt;TANDBERG TDC 3600 -06:&gt;
+Feb 25 21:03:34 yedi /kernel: st0: Tandberg tdc3600 is a known rogue
+
+Mar 29 21:16:37 yedi /kernel: aha0 targ 5 lun 0: &lt;ARCHIVE VIPER 150 21247-005&gt;
+Mar 29 21:16:37 yedi /kernel: st1: Archive Viper 150 is a known rogue </screen>
+
+ <para>For instance, there are devices that respond to all LUNs on a
+ certain target ID, even if they are actually only one device. It
+ is easy to see that the kernel might be fooled into believing that
+ there are 8 LUNs at that particular target ID. The confusion this
+ causes is left as an exercise to the reader.</para>
+
+ <para>The SCSI subsystem of FreeBSD recognizes devices with bad
+ habits by looking at the INQUIRY response they send when probed.
+ Because the INQUIRY response also includes the version number of
+ the device firmware, it is even possible that for different
+ firmware versions different workarounds are used. See e.g.
+ <filename>/sys/scsi/st.c</filename> and
+ <filename>/sys/scsi/scsiconf.c</filename> for more info on how
+ this is done.</para>
+
+ <para>This scheme works fine, but keep in mind that it of course
+ only works for devices that are known to be weird. If you are the
+ first to connect your bogus Mumbletech SCSI CD-ROM you might be
+ the one that has to define which workaround is needed.</para>
+
+ <para>After you got your Mumbletech working, please send the
+ required workaround to the FreeBSD development team for inclusion
+ in the next release of FreeBSD. Other Mumbletech owners will be
+ grateful to you.</para>
+ </sect4>
+
+ <sect4>
+ <title>Multiple LUN devices</title>
+
+ <para>In some cases you come across devices that use multiple
+ logical units (LUNs) on a single SCSI ID. In most cases FreeBSD
+ only probes devices for LUN 0. An example are so called bridge
+ boards that connect 2 non-SCSI harddisks to a SCSI bus (e.g. an
+ Emulex MD21 found in old Sun systems).</para>
+
+ <para>This means that any devices with LUNs != 0 are not normally
+ found during device probe on system boot. To work around this
+ problem you must add an appropriate entry in /sys/scsi/scsiconf.c
+ and rebuild your kernel.</para>
+
+ <para>Look for a struct that is initialized like below:</para>
+
+ <programlisting>
+{
+ T_DIRECT, T_FIXED, "MAXTOR", "XT-4170S", "B5A",
+ "mx1", SC_ONE_LU
+}</programlisting>
+
+ <para>For you Mumbletech BRIDGE2000 that has more than one LUN, acts
+ as a SCSI disk and has firmware revision 123 you would add
+ something like:</para>
+
+ <programlisting>
+{
+ T_DIRECT, T_FIXED, "MUMBLETECH", "BRIDGE2000", "123",
+ "sd", SC_MORE_LUS
+}</programlisting>
+
+ <para>The kernel on boot scans the inquiry data it receives against
+ the table and acts accordingly. See the source for more
+ info.</para>
+ </sect4>
+
+ <sect4>
+ <title>Tagged command queueing</title>
+
+ <para>Modern SCSI devices, particularly magnetic disks,
+ support what is called tagged command queuing (TCQ).</para>
+
+ <para>In a nutshell, TCQ allows the device to have multiple I/O
+ requests outstanding at the same time. Because the device is
+ intelligent, it can optimise its operations (like head
+ positioning) based on its own request queue. On SCSI devices
+ like RAID (Redundant Array of Independent Disks) arrays the TCQ
+ function is indispensable to take advantage of the device's
+ inherent parallelism.</para>
+
+ <para>Each I/O request is uniquely identified by a &ldquo;tag&rdquo;
+ (hence the name tagged command queuing) and this tag is used by
+ FreeBSD to see which I/O in the device drivers queue is reported
+ as complete by the device.</para>
+
+ <para>It should be noted however that TCQ requires device driver
+ support and that some devices implemented it &ldquo;not quite
+ right&rdquo; in their firmware. This problem bit me once, and it
+ leads to highly mysterious problems. In such cases, try to
+ disable TCQ.</para>
+ </sect4>
+
+ <sect4>
+ <title>Busmaster host adapters</title>
+
+ <para>Most, but not all, SCSI host adapters are bus mastering
+ controllers. This means that they can do I/O on their own without
+ putting load onto the host CPU for data movement.</para>
+
+ <para>This is of course an advantage for a multitasking operating
+ system like FreeBSD. It must be noted however that there might be
+ some rough edges.</para>
+
+ <para>For instance an Adaptec 1542 controller can be set to use
+ different transfer speeds on the host bus (ISA or AT in this
+ case). The controller is settable to different rates because not
+ all motherboards can handle the higher speeds. Problems like
+ hangups, bad data etc might be the result of using a higher data
+ transfer rate then your motherboard can stomach.</para>
+
+ <para>The solution is of course obvious: switch to a lower data
+ transfer rate and try if that works better.</para>
+
+ <para>In the case of a Adaptec 1542, there is an option that can be
+ put into the kernel config file to allow dynamic determination of
+ the right, read: fastest feasible, transfer rate. This option is
+ disabled by default:</para>
+
+ <programlisting>
+options "TUNE_1542" #dynamic tune of bus DMA speed</programlisting>
+
+ <para>Check the man pages for the host adapter that you use. Or
+ better still, use the ultimate documentation (read: driver
+ source).</para>
+ </sect4>
+ -->
+ </sect3>
+
+
+
+ <sect3>
+ <title>*** R&eacute;soudre les probl&egrave;mes</title>
+ &sgml.todo
+
+ <!--
+ <para>The following list is an attempt to give a guideline for the
+ most common SCSI problems and their solutions. It is by no means
+ complete.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Check for loose connectors and cables.</para>
+ </listitem>
+
+ <listitem>
+ <para>Check and double check the location and number of your
+ terminators.</para>
+ </listitem>
+
+ <listitem>
+ <para>Check if your bus has at least one supplier of terminator
+ power (especially with external terminators.</para>
+ </listitem>
+
+ <listitem>
+ <para>Check if no double target IDs are used.</para>
+ </listitem>
+
+ <listitem>
+ <para>Check if all devices to be used are powered up.</para>
+ </listitem>
+
+ <listitem>
+ <para>Make a minimal bus config with as little devices as
+ possible.</para>
+ </listitem>
+
+ <listitem>
+ <para>If possible, configure your host adapter to use slow bus
+ speeds.</para>
+ </listitem>
+
+ <listitem>
+ <para>Disable tagged command queuing to make things as simple as
+ possible (for a NCR hostadapter based system see man
+ ncrcontrol)</para>
+ </listitem>
+
+ <listitem>
+ <para>If you can compile a kernel, make one with the
+ <literal>SCSIDEBUG</literal> option, and try accessing the
+ device with debugging turned on for that device. If your device
+ does not even probe at startup, you may have to define the
+ address of the device that is failing, and the desired debug
+ level in <filename>/sys/scsi/scsidebug.h</filename>. If it
+ probes but just does not work, you can use the
+ &man.scsi.8; command to dynamically set a debug level to
+ it in a running kernel (if <literal>SCSIDEBUG</literal> is
+ defined). This will give you <emphasis>copious</emphasis>
+ debugging output with which to confuse the gurus. See
+ <command>man 4 scsi</command> for more exact information. Also
+ look at <command>man 8 scsi</command>.</para>
+ </listitem>
+ </itemizedlist>
+ -->
+ </sect3>
+
+
+ <sect3 id="scsi-further-reading">
+ <title>*** Lectures compl&eacute;mentaires</title>
+ &sgml.todo
+
+ <!--
+ <para>If you intend to do some serious SCSI hacking, you might want to
+ have the official standard at hand:</para>
+
+ <para>Approved American National Standards can be purchased from
+ ANSI at
+
+ <address>
+ <otheraddr>13th Floor</otheraddr>
+ <street>11 West 42nd Street</street>
+ <city>New York</city>
+ <state>NY</state> <postcode>10036</postcode>
+ Sales Dept: <phone>(212) 642-4900</phone>
+ </address>
+ </para>
+
+ <para>You can also buy many ANSI
+ standards and most committee draft documents from Global
+ Engineering Documents,
+
+ <address>
+ <street>15 Inverness Way East</street>
+ <city>Englewood</city>
+ <state>CO</state>, <postcode>80112-5704</postcode>
+ Phone: <phone>(800) 854-7179</phone>
+ Outside USA and Canada: <phone>(303) 792-2181</phone>
+ Fax: <fax>(303) 792- 2192</fax>
+ </address>
+ </para>
+
+ <para>Many X3T10 draft documents are available electronically on the
+ SCSI BBS (719-574-0424) and on the <hostid
+ role="fqdn">ncrinfo.ncr.com</hostid> anonymous ftp site.</para>
+
+ <para>Latest X3T10 committee documents are:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>AT Attachment (ATA or IDE) [X3.221-1994]
+ (<emphasis>Approved</emphasis>)</para>
+ </listitem>
+
+ <listitem>
+ <para>ATA Extensions (ATA-2) [X3T10/948D Rev 2i]</para>
+ </listitem>
+
+ <listitem>
+ <para>Enhanced Small Device Interface (ESDI)
+ [X3.170-1990/X3.170a-1991]
+ (<emphasis>Approved</emphasis>)</para>
+ </listitem>
+
+ <listitem>
+ <para>Small Computer System Interface &mdash; 2 (SCSI-2)
+ [X3.131-1994] (<emphasis>Approved</emphasis>)</para>
+ </listitem>
+
+ <listitem>
+ <para>SCSI-2 Common Access Method Transport and SCSI Interface
+ Module (CAM) [X3T10/792D Rev 11]</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Other publications that might provide you with additional
+ information are:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>&ldquo;SCSI: Understanding the Small Computer System
+ Interface&rdquo;, written by NCR Corporation. Available from:
+ Prentice Hall, Englewood Cliffs, NJ, 07632 Phone: (201) 767-5937
+ ISBN 0-13-796855-8</para>
+ </listitem>
+
+ <listitem>
+ <para>&ldquo;Basics of SCSI&rdquo;, a SCSI tutorial written by
+ Ancot Corporation Contact Ancot for availability information at:
+ Phone: (415) 322-5322 Fax: (415) 322-0455</para>
+ </listitem>
+
+ <listitem>
+ <para>&ldquo;SCSI Interconnection Guide Book&rdquo;, an AMP
+ publication (dated 4/93, Catalog 65237) that lists the various
+ SCSI connectors and suggests cabling schemes. Available from
+ AMP at (800) 522-6752 or (717) 564-0100</para>
+ </listitem>
+
+ <listitem>
+ <para>&ldquo;Fast Track to SCSI&rdquo;, A Product Guide written by
+ Fujitsu. Available from: Prentice Hall, Englewood Cliffs, NJ,
+ 07632 Phone: (201) 767-5937 ISBN 0-13-307000-X</para>
+ </listitem>
+
+ <listitem>
+ <para>&ldquo;The SCSI Bench Reference&rdquo;, &ldquo;The SCSI
+ Encyclopedia&rdquo;, and the &ldquo;SCSI Tutor&rdquo;, ENDL
+ Publications, 14426 Black Walnut Court, Saratoga CA, 95070
+ Phone: (408) 867-6642</para>
+ </listitem>
+
+ <listitem>
+ <para>&ldquo;Zadian SCSI Navigator&rdquo; (quick ref. book) and
+ &ldquo;Discover the Power of SCSI&rdquo; (First book along with
+ a one-hour video and tutorial book), Zadian Software, Suite 214,
+ 1210 S. Bascom Ave., San Jose, CA 92128, (408) 293-0800</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>On Usenet the newsgroups <ulink
+ URL="news:comp.periphs.scsi">comp.periphs.scsi</ulink> and <ulink
+ URL="news:comp.periphs">comp.periphs</ulink> are noteworthy places
+ to look for more info. You can also find the SCSI-Faq there, which
+ is posted periodically.</para>
+
+ <para>Most major SCSI device and host adapter suppliers operate ftp
+ sites and/or BBS systems. They may be valuable sources of
+ information about the devices you own.</para>
+ -->
+ </sect3>
+ </sect2>
+
+ <sect2 id="hw-storage-controllers">
+ <title>* Contr&ocirc;leurs de disques/bandes</title>
+ <sect3>
+ <title>* SCSI</title>
+ <para></para>
+ </sect3>
+ <sect3>
+ <title>* IDE</title>
+ <para></para>
+ </sect3>
+ <sect3>
+ <title>* Disquettes</title>
+ <para></para>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>*** Disques durs</title>
+
+ <sect3>
+ <title>*** Disques durs SCSI</title>
+ &sgml.todo;
+<!--
+ <para><emphasis>Contributed by &a.asami;. 17 February
+ 1998.</emphasis></para>
+
+ <para>As mentioned in the <link linkend="scsi">SCSI</link> section,
+ virtually all SCSI hard drives sold today are SCSI-2 compliant and
+ thus will work fine as long as you connect them to a supported SCSI
+ host adapter. Most problems people encounter are either due to
+ badly designed cabling (cable too long, star topology, etc.),
+ insufficient termination, or defective parts. Please refer to the
+ <link linkend="scsi">SCSI</link> section first if your SCSI hard
+ drive is not working. However, there are a couple of things you may
+ want to take into account before you purchase SCSI hard drives for
+ your system.</para>
+
+ <sect4>
+ <title>Rotational speed</title>
+
+ <para>Rotational speeds of SCSI drives sold today range from around
+ 4,500RPM to 10,000RPM. Most of them are either 5,400RPM or
+ 7,200RPM. Even though the 7,200RPM drives can generally transfer
+ data faster, they run considerably hotter than their 5,400RPM
+ counterparts. A large fraction of today's disk drive malfunctions
+ are heat-related. If you do not have very good cooling in your PC
+ case, you may want to stick with 5,400RPM or slower drives.</para>
+
+ <para>Note that newer drives, with higher areal recording densities,
+ can deliver much more bits per rotation than older ones. Today's
+ top-of-line 5,400RPM drives can sustain a throughput comparable to
+ 7,200RPM drives of one or two model generations ago. The number
+ to find on the spec sheet for bandwidth is &ldquo;internal data
+ (or transfer) rate&rdquo;. It is usually in megabits/sec so
+ divide it by 8 and you'll get the rough approximation of how much
+ megabytes/sec you can get out of the drive.</para>
+
+ <para>(If you are a speed maniac and want a 10,000RPM drive for your
+ cute little peecee, be my guest; however, those drives become
+ extremely hot. Don't even think about it if you don't have a fan
+ blowing air <emphasis>directly at</emphasis> the drive or a
+ properly ventilated disk enclosure.)</para>
+
+ <para>Obviously, the latest 10,000RPM drives and 7,200RPM drives can
+ deliver more data than the latest 5,400RPM drives, so if absolute
+ bandwidth is the necessity for your applications, you have little
+ choice but to get the faster drives. Also, if you need low
+ latency, faster drives are better; not only do they usually have
+ lower average seek times, but also the rotational delay is one
+ place where slow-spinning drives can never beat a faster one.
+ (The average rotational latency is half the time it takes to
+ rotate the drive once; thus, it's 3 milliseconds for 10,000RPM
+ drives, 4.2ms for 7,200RPM drives and 5.6ms for 5,400RPM drives.)
+ Latency is seek time plus rotational delay. Make sure you
+ understand whether you need low latency or more accesses per
+ second, though; in the latter case (e.g., news servers), it may
+ not be optimal to purchase one big fast drive. You can achieve
+ similar or even better results by using the ccd (concatenated
+ disk) driver to create a striped disk array out of multiple slower
+ drives for comparable overall cost.</para>
+
+ <para>Make sure you have adequate air flow around the drive,
+ especially if you are going to use a fast-spinning drive. You
+ generally need at least 1/2" (1.25cm) of spacing above and below a
+ drive. Understand how the air flows through your PC case. Most
+ cases have the power supply suck the air out of the back. See
+ where the air flows in, and put the drive where it will have the
+ largest volume of cool air flowing around it. You may need to seal
+ some unwanted holes or add a new fan for effective cooling.</para>
+
+ <para>Another consideration is noise. Many 7,200 or faster drives
+ generate a high-pitched whine which is quite unpleasant to most
+ people. That, plus the extra fans often required for cooling, may
+ make 7,200 or faster drives unsuitable for some office and home
+ environments.</para>
+ </sect4>
+
+ <sect4>
+ <title>Form factor</title>
+
+ <para>Most SCSI drives sold today are of 3.5" form factor. They
+ come in two different heights; 1.6" (&ldquo;half-height&rdquo;) or
+ 1" (&ldquo;low-profile&rdquo;). The half-height drive is the same
+ height as a CD-ROM drive. However, don't forget the spacing rule
+ mentioned in the previous section. If you have three standard
+ 3.5" drive bays, you will not be able to put three half-height
+ drives in there (without frying them, that is).</para>
+ </sect4>
+
+ <sect4>
+ <title>Interface</title>
+
+ <para>The majority of SCSI hard drives sold today are Ultra or
+ Ultra-wide SCSI. The maximum bandwidth of Ultra SCSI is 20MB/sec,
+ and Ultra-wide SCSI is 40MB/sec. There is no difference in max
+ cable length between Ultra and Ultra-wide; however, the more
+ devices you have on the same bus, the sooner you will start having
+ bus integrity problems. Unless you have a well-designed disk
+ enclosure, it is not easy to make more than 5 or 6 Ultra SCSI
+ drives work on a single bus.</para>
+
+ <para>On the other hand, if you need to connect many drives, going
+ for Fast-wide SCSI may not be a bad idea. That will have the same
+ max bandwidth as Ultra (narrow) SCSI, while electronically it's
+ much easier to get it &ldquo;right&rdquo;. My advice would be: if
+ you want to connect many disks, get wide SCSI drives; they usually
+ cost a little more but it may save you down the road. (Besides,
+ if you can't afford the cost difference, you shouldn't be building
+ a disk array.)</para>
+
+ <para>There are two variant of wide SCSI drives; 68-pin and 80-pin
+ SCA (Single Connector Attach). The SCA drives don't have a
+ separate 4-pin power connector, and also read the SCSI ID settings
+ through the 80-pin connector. If you are really serious about
+ building a large storage system, get SCA drives and a good SCA
+ enclosure (dual power supply with at least one extra fan). They
+ are more electronically sound than 68-pin counterparts because
+ there is no &ldquo;stub&rdquo; of the SCSI bus inside the disk
+ canister as in arrays built from 68-pin drives. They are easier
+ to install too (you just need to screw the drive in the canister,
+ instead of trying to squeeze in your fingers in a tight place to
+ hook up all the little cables (like the SCSI ID and disk activity
+ LED lines).</para>
+ </sect4>
+ -->
+ </sect3>
+
+ <sect3>
+ <title>* Disques durs IDE</title>
+ <para></para>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>*** Contr&ocirc;leurs de bande</title>
+<!--
+ <para><emphasis>Contributed by &a.jmb;. 2 July
+ 1996.</emphasis></para>
+-->
+ <sect3>
+ <title>*** Commandes g&eacute;n&eacute;rales d'acc&egrave;s aux bandes</title>
+
+ &sgml.todo
+ <!--
+ <para>&man.mt.1; provides generic access to the tape drives. Some of
+ the more common commands are <command>rewind</command>,
+ <command>erase</command>, and <command>status</command>. See the
+ &man.mt.1; manual page for a detailed description.</para>
+ &sgml.todo;
+ -->
+ </sect3>
+ <sect3>
+ <title>*** Interfaces et contr&ocirc;leurs</title>
+ &sgml.todo
+ <!--
+ <para>There are several different interfaces that support tape drives.
+ The interfaces are SCSI, IDE, Floppy and Parallel Port. A wide
+ variety of tape drives are available for these interfaces.
+ Controllers are discussed in <link
+ linkend="hw-storage-controllers">Disk/tape
+ controllers</link>.</para>
+ -->
+ </sect3>
+ <sect3>
+ <title>*** Lecteurs SCSI</title>
+ &sgml.todo
+ <!--
+
+ <para>The &man.st.4; driver provides support for 8mm (Exabyte), 4mm
+ (DAT: Digital Audio Tape), QIC (Quarter-Inch Cartridge), DLT
+ (Digital Linear Tape), QIC Minicartridge and 9-track (remember the
+ big reels that you see spinning in Hollywood computer rooms) tape
+ drives. See the &man.st.4; manual page for a detailed
+ description.</para>
+
+ <para>The drives listed below are currently being used by members of
+ the FreeBSD community. They are not the only drives that will work
+ with FreeBSD. They just happen to be the ones that we use.</para>
+
+ <sect4>
+ <title>4mm (DAT: Digital Audio Tape)</title>
+
+ <para><link linkend="hw-storage-python">Archive Python</link></para>
+
+ <para><link linkend="hw-storage-hp1533a">HP C1533A</link></para>
+
+ <para><link linkend="hw-storage-hp1534a">HP C1534A</link></para>
+
+ <para><link linkend="hw-storage-hp35450a">HP 35450A</link></para>
+
+ <para><link linkend="hw-storage-hp35470a">HP 35470A</link></para>
+
+ <para><link linkend="hw-storage-hp35480a">HP 35480A</link></para>
+
+ <para><link linkend="hw-storage-sdt5000">SDT-5000</link></para>
+
+ <para><link linkend="hw-storage-wangtek6200">Wangtek
+ 6200</link></para>
+ </sect4>
+
+ <sect4>
+ <title>8mm (Exabyte)</title>
+
+ <para><link linkend="hw-storage-exb8200">EXB-8200</link></para>
+
+ <para><link linkend="hw-storage-exb8500">EXB-8500</link></para>
+
+ <para><link linkend="hw-storage-exb8505">EXB-8505</link></para>
+ </sect4>
+
+ <sect4>
+ <title>QIC (Quarter-Inch Cartridge)</title>
+
+ <para><link linkend="hw-storage-anaconda">Archive Ananconda
+ 2750</link></para>
+
+ <para><link linkend="hw-storage-viper60">Archive Viper
+ 60</link></para>
+
+ <para><link linkend="hw-storage-viper150">Archive Viper
+ 150</link></para>
+
+ <para><link linkend="hw-storage-viper2525">Archive Viper
+ 2525</link></para>
+
+ <para><link linkend="hw-storage-tandberg3600">Tandberg TDC
+ 3600</link></para>
+
+ <para><link linkend="hw-storage-tandberg3620">Tandberg TDC
+ 3620</link></para>
+
+ <para><link linkend="hw-storage-tandberg4222">Tandberg TDC
+ 4222</link></para>
+
+ <para><link linkend="hw-storage-wangtek5525es">Wangtek
+ 5525ES</link></para>
+ </sect4>
+
+ <sect4>
+ <title>DLT (Digital Linear Tape)</title>
+
+ <para><link linkend="hw-storage-dectz87">Digital TZ87</link></para>
+ </sect4>
+
+ <sect4>
+ <title>Mini-Cartridge</title>
+
+ <para><link linkend="hw-storage-ctms3200">Conner CTMS
+ 3200</link></para>
+
+ <para><link linkend="hw-storage-exb2501">Exabyte 2501</link></para>
+ </sect4>
+
+ <sect4>
+ <title>Autoloaders/Changers</title>
+
+ <para><link linkend="hw-storage-hp1553a">Hewlett-Packard HP C1553A
+ Autoloading DDS2</link></para>
+ </sect4>
+
+ -->
+ </sect3>
+ <sect3>
+ <title>* Lecteurs IDE</title>
+ <para></para>
+ </sect3>
+ <sect3>
+ <title>* Lecteurs sur contr&ocirc;leur de disquette</title>
+ &sgml.todo
+<!--
+ o&ugrave; est pass&eacute; le source ?????
+-->
+
+
+
+ </sect3>
+ <sect3>
+ <title>* Lecteurs sur port parall&egrave;le</title>
+ <para></para>
+ </sect3>
+ <sect3>
+ <title>*** Informations d&eacute;taill&eacute;es</title>
+ &sgml.todo
+ <!--
+ <sect4 id="hw-storage-anaconda">
+ <title>Archive Anaconda 2750</title>
+
+ <para>The boot message identifier for this drive is <literal>ARCHIVE
+ ANCDA 2750 28077 -003 type 1 removable SCSI 2</literal></para>
+
+ <para>This is a QIC tape drive.</para>
+
+ <para>Native capacity is 1.35GB when using QIC-1350 tapes. This
+ drive will read and write QIC-150 (DC6150), QIC-250 (DC6250), and
+ QIC-525 (DC6525) tapes as well.</para>
+
+ <para>Data transfer rate is 350kB/s using
+ &man.dump.8;. Rates of 530kB/s have been reported when using
+ <link linkend="backups-programs-amanda">Amanda</link></para>
+
+ <para>Production of this drive has been discontinued.</para>
+
+ <para>The SCSI bus connector on this tape drive is reversed from
+ that on most other SCSI devices. Make sure that you have enough
+ SCSI cable to twist the cable one-half turn before and after the
+ Archive Anaconda tape drive, or turn your other SCSI devices
+ upside-down.</para>
+
+ <para>Two kernel code changes are required to use this drive. This
+ drive will not work as delivered.</para>
+
+ <para>If you have a SCSI-2 controller, short jumper 6. Otherwise,
+ the drive behaves are a SCSI-1 device. When operating as a SCSI-1
+ device, this drive, &ldquo;locks&rdquo; the SCSI bus during some
+ tape operations, including: fsf, rewind, and rewoffl.</para>
+
+ <para>If you are using the NCR SCSI controllers, patch the file
+ <filename>/usr/src/sys/pci/ncr.c</filename> (as shown below).
+ Build and install a new kernel.</para>
+
+ <programlisting>
+*** 4831,4835 ****
+ };
+
+! if (np-&gt;latetime&gt;4) {
+ /*
+ ** Although we tried to wake it up,
+Remplacer les '*' par des '-'
+*** 4831,4836 ****
+ };
+
+! if (np-&gt;latetime&gt;1200) {
+ /*
+ ** Although we tried to wake it up,</programlisting>
+
+ <para>Reported by: &a.jmb;</para>
+ </sect4>
+
+ <sect4 id="hw-storage-python">
+ <title>Archive Python</title>
+
+ <para>The boot message identifier for this drive is <literal>ARCHIVE
+ Python 28454-XXX4ASB</literal> <literal>type 1 removable SCSI
+ 2</literal> <literal>density code 0x8c, 512-byte
+ blocks</literal></para>
+
+ <para>This is a DDS-1 tape drive.</para>
+
+ <para>Native capacity is 2.5GB on 90m tapes.</para>
+
+ <para>Data transfer rate is XXX.</para>
+
+ <para>This drive was repackaged by Sun Microsystems as model
+ 411.</para>
+
+ <para>Reported by: Bob Bishop <email>rb@gid.co.uk</email></para>
+ </sect4>
+
+ <sect4 id="hw-storage-viper60">
+ <title>Archive Viper 60</title>
+
+ <para>The boot message identifier for this drive is <literal>ARCHIVE
+ VIPER 60 21116 -007</literal> <literal>type 1 removable SCSI
+ 1</literal></para>
+
+ <para>This is a QIC tape drive.</para>
+
+ <para>Native capacity is 60MB.</para>
+
+ <para>Data transfer rate is XXX.</para>
+
+ <para>Production of this drive has been discontinued.</para>
+
+ <para>Reported by: Philippe Regnauld
+ <email>regnauld@hsc.fr</email></para>
+ </sect4>
+
+ <sect4 id="hw-storage-viper150">
+ <title>Archive Viper 150</title>
+
+ <para>The boot message identifier for this drive is <literal>ARCHIVE
+ VIPER 150 21531 -004</literal> <literal>Archive Viper 150 is a
+ known rogue</literal> <literal>type 1 removable SCSI
+ 1</literal>. A multitude of firmware revisions exist for this
+ drive. Your drive may report different numbers (e.g
+ <literal>21247 -005</literal>.</para>
+
+ <para>This is a QIC tape drive.</para>
+
+ <para>Native capacity is 150/250MB. Both 150MB (DC6150) and 250MB
+ (DC6250) tapes have the recording format. The 250MB tapes are
+ approximately 67% longer than the 150MB tapes. This drive can
+ read 120MB tapes as well. It can not write 120MB tapes.</para>
+
+ <para>Data transfer rate is 100kB/s</para>
+
+ <para>This drive reads and writes DC6150 (150MB) and DC6250 (250MB)
+ tapes.</para>
+
+ <para>This drives quirks are known and pre-compiled into the scsi
+ tape device driver (&man.st.4;).</para>
+
+ <para>Under FreeBSD 2.2-current, use <command>mt blocksize
+ 512</command> to set the blocksize. (The particular drive had
+ firmware revision 21247 -005. Other firmware revisions may behave
+ differently) Previous versions of FreeBSD did not have this
+ problem.</para>
+
+ <para>Production of this drive has been discontinued.</para>
+
+ <para>Reported by: Pedro A M Vazquez
+ <email>vazquez@IQM.Unicamp.BR</email></para>
+
+ <para>Mike Smith
+ <email>msmith@atrad.adelaide.edu.au</email></para>
+ </sect4>
+
+ <sect4 id="hw-storage-viper2525">
+ <title>Archive Viper 2525</title>
+
+ <para>The boot message identifier for this drive is <literal>ARCHIVE
+ VIPER 2525 25462 -011</literal> <literal>type 1 removable SCSI
+ 1</literal></para>
+
+ <para>This is a QIC tape drive.</para>
+
+ <para>Native capacity is 525MB.</para>
+
+ <para>Data transfer rate is 180kB/s at 90 inches/sec.</para>
+
+ <para>The drive reads QIC-525, QIC-150, QIC-120 and QIC-24 tapes.
+ Writes QIC-525, QIC-150, and QIC-120.</para>
+
+ <para>Firmware revisions prior to <literal>25462 -011</literal> are
+ bug ridden and will not function properly.</para>
+
+ <para>Production of this drive has been discontinued.</para>
+ </sect4>
+
+ <sect4 id="hw-storage-conner420r">
+ <title>Conner 420R</title>
+
+ <para>The boot message identifier for this drive is <literal>Conner
+ tape</literal>.</para>
+
+ <para>This is a floppy controller, minicartridge tape drive.</para>
+
+ <para>Native capacity is XXXX</para>
+
+ <para>Data transfer rate is XXX</para>
+
+ <para>The drive uses QIC-80 tape cartridges.</para>
+
+ <para>Reported by: Mark Hannon
+ <email>mark@seeware.DIALix.oz.au</email></para>
+ </sect4>
+
+ <sect4 id="hw-storage-ctms3200">
+ <title>Conner CTMS 3200</title>
+
+ <para>The boot message identifier for this drive is <literal>CONNER
+ CTMS 3200 7.00</literal> <literal>type 1 removable SCSI
+ 2</literal>.</para>
+
+ <para>This is a minicartridge tape drive.</para>
+
+ <para>Native capacity is XXXX</para>
+
+ <para>Data transfer rate is XXX</para>
+
+ <para>The drive uses QIC-3080 tape cartridges.</para>
+
+ <para>Reported by: Thomas S. Traylor
+ <email>tst@titan.cs.mci.com</email></para>
+ </sect4>
+
+ <sect4 id="hw-storage-dectz87">
+ <title><ulink
+ URL="http://www.digital.com/info/Customer-Update/931206004.txt.html">DEC TZ87</ulink></title>
+
+ <para>The boot message identifier for this drive is <literal>DEC
+ TZ87 (C) DEC 9206</literal> <literal>type 1 removable SCSI
+ 2</literal> <literal>density code 0x19</literal></para>
+
+ <para>This is a DLT tape drive.</para>
+
+ <para>Native capacity is 10GB.</para>
+
+ <para>This drive supports hardware data compression.</para>
+
+ <para>Data transfer rate is 1.2MB/s.</para>
+
+ <para>This drive is identical to the Quantum DLT2000. The drive
+ firmware can be set to emulate several well-known drives,
+ including an Exabyte 8mm drive.</para>
+
+ <para>Reported by: &a.wilko;</para>
+ </sect4>
+
+ <sect4 id="hw-storage-exb2501">
+ <title><ulink
+ URL="http://www.Exabyte.COM:80/Products/Minicartridge/2501/Rfeatures.html">Exabyte EXB-2501</ulink></title>
+
+ <para>The boot message identifier for this drive is <literal>EXABYTE
+ EXB-2501</literal></para>
+
+ <para>This is a mini-cartridge tape drive.</para>
+
+ <para>Native capacity is 1GB when using MC3000XL
+ minicartridges.</para>
+
+ <para>Data transfer rate is XXX</para>
+
+ <para>This drive can read and write DC2300 (550MB), DC2750 (750MB),
+ MC3000 (750MB), and MC3000XL (1GB) minicartridges.</para>
+
+ <para>WARNING: This drive does not meet the SCSI-2 specifications.
+ The drive locks up completely in response to a SCSI MODE_SELECT
+ command unless there is a formatted tape in the drive. Before
+ using this drive, set the tape blocksize with</para>
+
+ <screen>&prompt.root; <userinput>mt -f /dev/st0ctl.0 blocksize 1024</userinput></screen>
+
+ <para>Before using a minicartridge for the first time, the
+ minicartridge must be formated. FreeBSD 2.1.0-RELEASE and
+ earlier:</para>
+
+ <screen>&prompt.root; <userinput>/sbin/scsi -f /dev/rst0.ctl -s 600 -c "4 0 0 0 0 0"</userinput></screen>
+
+ <para>(Alternatively, fetch a copy of the
+ <command>scsiformat</command> shell script from FreeBSD
+ 2.1.5/2.2.) FreeBSD 2.1.5 and later:</para>
+
+ <screen>&prompt.root; <userinput>/sbin/scsiformat -q -w /dev/rst0.ctl</userinput></screen>
+
+ <para>Right now, this drive cannot really be recommended for
+ FreeBSD.</para>
+
+ <para>Reported by: Bob Beaulieu
+ <email>ez@eztravel.com</email></para>
+ </sect4>
+
+ <sect4 id="hw-storage-exb8200">
+ <title>Exabyte EXB-8200</title>
+
+ <para>The boot message identifier for this drive is <literal>EXABYTE
+ EXB-8200 252X</literal> <literal>type 1 removable SCSI
+ 1</literal></para>
+
+ <para>This is an 8mm tape drive.</para>
+
+ <para>Native capacity is 2.3GB.</para>
+
+ <para>Data transfer rate is 270kB/s.</para>
+
+ <para>This drive is fairly slow in responding to the SCSI bus during
+ boot. A custom kernel may be required (set SCSI_DELAY to 10
+ seconds).</para>
+
+ <para>There are a large number of firmware configurations for this
+ drive, some have been customized to a particular vendor's
+ hardware. The firmware can be changed via EPROM
+ replacement.</para>
+
+ <para>Production of this drive has been discontinued.</para>
+
+ <para>Reported by: Mike Smith
+ <email>msmith@atrad.adelaide.edu.au</email></para>
+ </sect4>
+
+ <sect4 id="hw-storage-exb8500">
+ <title>Exabyte EXB-8500</title>
+
+ <para>The boot message identifier for this drive is <literal>EXABYTE
+ EXB-8500-85Qanx0 0415</literal> <literal>type 1 removable SCSI
+ 2</literal></para>
+
+ <para>This is an 8mm tape drive.</para>
+
+ <para>Native capacity is 5GB.</para>
+
+ <para>Data transfer rate is 300kB/s.</para>
+
+ <para>Reported by: Greg Lehey <email>grog@lemis.de</email></para>
+ </sect4>
+
+ <sect4 id="hw-storage-exb8505">
+ <title><ulink
+ URL="http://www.Exabyte.COM:80/Products/8mm/8505XL/Rfeatures.html">Exabyte EXB-8505</ulink></title>
+
+ <para>The boot message identifier for this drive is
+ <literal>EXABYTE EXB-85058SQANXR1 05B0</literal> <literal>type 1
+ removable SCSI 2</literal></para>
+
+ <para>This is an 8mm tape drive which supports compression, and is
+ upward compatible with the EXB-5200 and EXB-8500.</para>
+
+ <para>Native capacity is 5GB.</para>
+
+ <para>The drive supports hardware data compression.</para>
+
+ <para>Data transfer rate is 300kB/s.</para>
+
+ <para>Reported by: Glen Foster
+ <email>gfoster@gfoster.com</email></para>
+ </sect4>
+
+ <sect4 id="hw-storage-hp1533a">
+ <title>Hewlett-Packard HP C1533A</title>
+
+ <para>The boot message identifier for this drive is <literal>HP
+ C1533A 9503</literal> <literal>type 1 removable SCSI
+ 2</literal>.</para>
+
+ <para>This is a DDS-2 tape drive. DDS-2 means hardware data
+ compression and narrower tracks for increased data
+ capacity.</para>
+
+ <para>Native capacity is 4GB when using 120m tapes. This drive
+ supports hardware data compression.</para>
+
+ <para>Data transfer rate is 510kB/s.</para>
+
+ <para>This drive is used in Hewlett-Packard's SureStore 6000eU and
+ 6000i tape drives and C1533A DDS-2 DAT drive.</para>
+
+ <para>The drive has a block of 8 dip switches. The proper settings
+ for FreeBSD are: 1 ON; 2 ON; 3 OFF; 4 ON; 5 ON; 6 ON; 7 ON; 8
+ ON.</para>
+
+ <informaltable frame="none">
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>switch 1</entry>
+ <entry>switch 2</entry>
+ <entry>Result</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>On</entry>
+ <entry>On</entry>
+ <entry>Compression enabled at power-on, with host
+ control</entry>
+ </row>
+
+ <row>
+ <entry>On</entry>
+ <entry>Off</entry>
+ <entry>Compression enabled at power-on, no host
+ control</entry>
+ </row>
+
+ <row>
+ <entry>Off</entry>
+ <entry>On</entry>
+ <entry>Compression disabled at power-on, with host
+ control</entry>
+ </row>
+
+ <row>
+ <entry>Off</entry>
+ <entry>Off</entry>
+ <entry>Compression disabled at power-on, no host
+ control</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>Switch 3 controls MRS (Media Recognition System). MRS tapes
+ have stripes on the transparent leader. These identify the tape
+ as DDS (Digital Data Storage) grade media. Tapes that do not have
+ the stripes will be treated as write-protected. Switch 3 OFF
+ enables MRS. Switch 3 ON disables MRS.</para>
+
+ <para>See <ulink URL="http://www.hp.com/tape/c_intro.html">HP
+ SureStore Tape Products</ulink> and <ulink
+ URL="http://www.impediment.com/hp/hp_technical.html">Hewlett-Packard
+ Disk and Tape Technical Information</ulink> for more information
+ on configuring this drive.</para>
+
+ <para><emphasis>Warning:</emphasis> Quality control on these drives
+ varies greatly. One FreeBSD core-team member has returned 2 of
+ these drives. Neither lasted more than 5 months.</para>
+
+ <para>Reported by: &a.se;</para>
+ </sect4>
+
+ <sect4 id="hw-storage-hp1534a">
+ <title>Hewlett-Packard HP 1534A</title>
+
+ <para>The boot message identifier for this drive is <literal>HP
+ HP35470A T503</literal> <literal>type 1 removable SCSI
+ 2</literal> <literal>Sequential-Access density code 0x13,
+ variable blocks</literal>.</para>
+
+ <para>This is a DDS-1 tape drive. DDS-1 is the original DAT tape
+ format.</para>
+
+ <para>Native capacity is 2GB when using 90m tapes.</para>
+
+ <para>Data transfer rate is 183kB/s.</para>
+
+ <para>The same mechanism is used in Hewlett-Packard's SureStore
+ <ulink URL="http://www.dmo.hp.com/tape/sst2000.htm">2000i</ulink>
+ tape drive, C35470A DDS format DAT drive, C1534A DDS format DAT
+ drive and HP C1536A DDS format DAT drive.</para>
+
+ <para>The HP C1534A DDS format DAT drive has two indicator lights,
+ one green and one amber. The green one indicates tape action:
+ slow flash during load, steady when loaded, fast flash during
+ read/write operations. The amber one indicates warnings: slow
+ flash when cleaning is required or tape is nearing the end of its
+ useful life, steady indicates an hard fault. (factory service
+ required?)</para>
+
+ <para>Reported by Gary Crutcher
+ <email>gcrutchr@nightflight.com</email></para>
+ </sect4>
+
+ <sect4 id="hw-storage-hp1553a">
+ <title>Hewlett-Packard HP C1553A Autoloading DDS2</title>
+
+ <para>The boot message identifier for this drive is "".</para>
+
+ <para>This is a DDS-2 tape drive with a tape changer. DDS-2 means
+ hardware data compression and narrower tracks for increased data
+ capacity.</para>
+
+ <para>Native capacity is 24GB when using 120m tapes. This drive
+ supports hardware data compression.</para>
+
+ <para>Data transfer rate is 510kB/s (native).</para>
+
+ <para>This drive is used in Hewlett-Packard's SureStore <ulink
+ URL="http://www.dmo.hp.com/tape/sst12000.htm">12000e</ulink>
+ tape drive.</para>
+
+ <para>The drive has two selectors on the rear panel. The selector
+ closer to the fan is SCSI id. The other selector should be set to
+ 7.</para>
+
+ <para>There are four internal switches. These should be set: 1 ON;
+ 2 ON; 3 ON; 4 OFF.</para>
+
+ <para>At present the kernel drivers do not automatically change
+ tapes at the end of a volume. This shell script can be used to
+ change tapes:</para>
+
+ <programlisting>
+#!/bin/sh
+PATH="/sbin:/usr/sbin:/bin:/usr/bin"; export PATH
+
+usage()
+{
+ echo "Usage: dds_changer [123456ne] raw-device-name
+ echo "1..6 = Select cartridge"
+ echo "next cartridge"
+ echo "eject magazine"
+ exit 2
+}
+
+if [ $# -ne 2 ] ; then
+ usage
+fi
+
+cdb3=0
+cdb4=0
+cdb5=0
+
+case $1 in
+ [123456])
+ cdb3=$1
+ cdb4=1
+ ;;
+ n)
+ ;;
+ e)
+ cdb5=0x80
+ ;;
+ ?)
+ usage
+ ;;
+esac
+
+scsi -f $2 -s 100 -c "1b 0 0 $cdb3 $cdb4 $cdb5"</programlisting>
+ </sect4>
+
+ <sect4 id="hw-storage-hp35450a">
+ <title>Hewlett-Packard HP 35450A</title>
+
+ <para>The boot message identifier for this drive is <literal>HP
+ HP35450A -A C620</literal> <literal>type 1 removable SCSI
+ 2</literal> <literal>Sequential-Access density code
+ 0x13</literal></para>
+
+ <para>This is a DDS-1 tape drive. DDS-1 is the original DAT tape
+ format.</para>
+
+ <para>Native capacity is 1.2GB.</para>
+
+ <para>Data transfer rate is 160kB/s.</para>
+
+ <para>Reported by: mark thompson
+ <email>mark.a.thompson@pobox.com</email></para>
+ </sect4>
+
+ <sect4 id="hw-storage-hp35470a">
+ <title>Hewlett-Packard HP 35470A</title>
+
+ <para>The boot message identifier for this drive is <literal>HP
+ HP35470A 9 09</literal> <literal>type 1 removable SCSI
+ 2</literal></para>
+
+ <para>This is a DDS-1 tape drive. DDS-1 is the original DAT tape
+ format.</para>
+
+ <para>Native capacity is 2GB when using 90m tapes.</para>
+
+ <para>Data transfer rate is 183kB/s.</para>
+
+ <para>The same mechanism is used in Hewlett-Packard's SureStore
+ <ulink URL="http://www.dmo.hp.com/tape/sst2000.htm">2000i</ulink>
+ tape drive, C35470A DDS format DAT drive, C1534A DDS format DAT
+ drive, and HP C1536A DDS format DAT drive.</para>
+
+ <para><emphasis>Warning:</emphasis> Quality control on these drives
+ varies greatly. One FreeBSD core-team member has returned 5 of
+ these drives. None lasted more than 9 months.</para>
+
+ <para>Reported by: David Dawes
+ <email>dawes@rf900.physics.usyd.edu.au</email> (9 09)</para>
+
+ </sect4>
+
+ <sect4 id="hw-storage-hp35480a">
+ <title>Hewlett-Packard HP 35480A</title>
+
+ <para>The boot message identifier for this drive is <literal>HP
+ HP35480A 1009</literal> <literal>type 1 removable SCSI
+ 2</literal> <literal>Sequential-Access density code
+ 0x13</literal>.</para>
+
+ <para>This is a DDS-DC tape drive. DDS-DC is DDS-1 with hardware
+ data compression. DDS-1 is the original DAT tape format.</para>
+
+ <para>Native capacity is 2GB when using 90m tapes. It cannot handle
+ 120m tapes. This drive supports hardware data compression.
+ Please refer to the section on <link
+ linkend="hw-storage-hp1533a">HP C1533A</link> for the proper
+ switch settings.</para>
+
+ <para>Data transfer rate is 183kB/s.</para>
+
+ <para>This drive is used in Hewlett-Packard's SureStore <ulink
+ URL="http://www.dmo.hp.com/tape/sst5000.htm">5000eU</ulink> and
+ <ulink URL="http://www.dmo.hp.com/tape/sst5000.htm">5000i</ulink>
+ tape drives and C35480A DDS format DAT drive..</para>
+
+ <para>This drive will occasionally hang during a tape eject
+ operation (<command>mt offline</command>). Pressing the front
+ panel button will eject the tape and bring the tape drive back to
+ life.</para>
+
+ <para>WARNING: HP 35480-03110 only. On at least two occasions this
+ tape drive when used with FreeBSD 2.1.0, an IBM Server 320 and an
+ 2940W SCSI controller resulted in all SCSI disk partitions being
+ lost. The problem has not be analyzed or resolved at this
+ time.</para>
+ </sect4>
+
+ <sect4 id="hw-storage-sdt5000">
+ <title><ulink
+ URL="http://www.sel.sony.com/SEL/ccpg/storage/tape/t5000.html">Sony SDT-5000</ulink></title>
+
+ <para>There are at least two significantly different models: one is
+ a DDS-1 and the other DDS-2. The DDS-1 version is
+ <literal>SDT-5000 3.02</literal>. The DDS-2 version is
+ <literal>SONY SDT-5000 327M</literal>. The DDS-2 version has a 1MB
+ cache. This cache is able to keep the tape streaming in almost
+ any circumstances.</para>
+
+ <para>The boot message identifier for this drive is <literal>SONY
+ SDT-5000 3.02</literal> <literal>type 1 removable SCSI
+ 2</literal> <literal>Sequential-Access density code
+ 0x13</literal></para>
+
+ <para>Native capacity is 4GB when using 120m tapes. This drive
+ supports hardware data compression.</para>
+
+ <para>Data transfer rate is depends upon the model or the drive. The
+ rate is 630kB/s for the <literal>SONY SDT-5000 327M</literal>
+ while compressing the data. For the <literal>SONY SDT-5000
+ 3.02</literal>, the data transfer rate is 225kB/s.</para>
+
+ <para>In order to get this drive to stream, set the blocksize to 512
+ bytes (<command>mt blocksize 512</command>) reported by Kenneth
+ Merry ken@ulc199.residence.gatech.edu</para>
+
+ <para><literal>SONY SDT-5000 327M</literal> information reported by
+ Charles Henrich henrich@msu.edu</para>
+
+ <para>Reported by: &a.jmz;</para>
+ </sect4>
+
+ <sect4 id="hw-storage-tandberg3600">
+ <title>Tandberg TDC 3600</title>
+
+ <para>The boot message identifier for this drive is
+ <literal>TANDBERG TDC 3600 =08:</literal> <literal>type 1
+ removable SCSI 2</literal></para>
+
+ <para>This is a QIC tape drive.</para>
+
+ <para>Native capacity is 150/250MB.</para>
+
+ <para>This drive has quirks which are known and work around code is
+ present in the scsi tape device driver (&man.st.4;).
+ Upgrading the firmware to XXX version will fix the quirks and
+ provide SCSI 2 capabilities.</para>
+
+ <para>Data transfer rate is 80kB/s.</para>
+
+ <para>IBM and Emerald units will not work. Replacing the firmware
+ EPROM of these units will solve the problem.</para>
+
+ <para>Reported by: Michael Smith
+ <email>msmith@atrad.adelaide.edu.au</email></para>
+ </sect4>
+
+ <sect4 id="hw-storage-tandberg3620">
+ <title>Tandberg TDC 3620</title>
+
+ <para>This is very similar to the <link
+ linkend="hw-storage-tandberg3600">Tandberg TDC 3600</link>
+ drive.</para>
+
+ <para>Reported by: &a.joerg;</para>
+ </sect4>
+
+ <sect4 id="hw-storage-tandberg4222">
+ <title>Tandberg TDC 4222</title>
+
+ <para>The boot message identifier for this drive is
+ <literal>TANDBERG TDC 4222 =07</literal> <literal>type 1 removable
+ SCSI 2</literal></para>
+
+ <para>This is a QIC tape drive.</para>
+
+ <para>Native capacity is 2.5GB. The drive will read all cartridges
+ from the 60 MB (DC600A) upwards, and write 150 MB (DC6150)
+ upwards. Hardware compression is optionally supported for the 2.5
+ GB cartridges.</para>
+
+ <para>This drives quirks are known and pre-compiled into the scsi
+ tape device driver (&man.st.4;) beginning with FreeBSD
+ 2.2-current. For previous versions of FreeBSD, use
+ <command>mt</command> to read one block from the tape, rewind the
+ tape, and then execute the backup program (<command>mt fsr 1; mt
+ rewind; dump ...</command>)</para>
+
+ <para>Data transfer rate is 600kB/s (vendor claim with compression),
+ 350 KB/s can even be reached in start/stop mode. The rate
+ decreases for smaller cartridges.</para>
+
+ <para>Reported by: &a.joerg;</para>
+ </sect4>
+
+ <sect4 id="hw-storage-wangtek5525es">
+ <title>Wangtek 5525ES</title>
+
+ <para>The boot message identifier for this drive is <literal>WANGTEK
+ 5525ES SCSI REV7 3R1</literal> <literal>type 1 removable SCSI
+ 1</literal> <literal>density code 0x11, 1024-byte
+ blocks</literal></para>
+
+ <para>This is a QIC tape drive.</para>
+
+ <para>Native capacity is 525MB.</para>
+
+ <para>Data transfer rate is 180kB/s.</para>
+
+ <para>The drive reads 60, 120, 150, and 525MB tapes. The drive will
+ not write 60MB (DC600 cartridge) tapes. In order to overwrite 120
+ and 150 tapes reliably, first erase (<command>mt erase</command>)
+ the tape. 120 and 150 tapes used a wider track (fewer tracks per
+ tape) than 525MB tapes. The &ldquo;extra&rdquo; width of the
+ previous tracks is not overwritten, as a result the new data lies
+ in a band surrounded on both sides by the previous data unless the
+ tape have been erased.</para>
+
+ <para>This drives quirks are known and pre-compiled into the scsi
+ tape device driver (&man.st.4;).</para>
+
+ <para>Other firmware revisions that are known to work are:
+ M75D</para>
+
+ <para>Reported by: Marc van Kempen <email>marc@bowtie.nl</email>
+ <literal>REV73R1</literal> Andrew Gordon
+ <email>Andrew.Gordon@net-tel.co.uk</email>
+ <literal>M75D</literal></para>
+ </sect4>
+
+ <sect4 id="hw-storage-wangtek6200">
+ <title>Wangtek 6200</title>
+
+ <para>The boot message identifier for this drive is <literal>WANGTEK
+ 6200-HS 4B18</literal> <literal>type 1 removable SCSI
+ 2</literal> <literal>Sequential-Access density code
+ 0x13</literal></para>
+
+ <para>This is a DDS-1 tape drive.</para>
+
+ <para>Native capacity is 2GB using 90m tapes.</para>
+
+ <para>Data transfer rate is 150kB/s.</para>
+
+ <para>Reported by: Tony Kimball <email>alk@Think.COM</email></para>
+ </sect4>
+ -->
+ </sect3>
+ <sect3>
+ <title>* Lecteurs posant probl&egrave;me</title>
+ <para></para>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>*** Contr&ocirc;leurs de CD-ROMs</title>
+
+ &sgml.todo
+ <!--
+
+ <para><emphasis>Contribution de &a.obrien;. 23 Novembre
+ 1997.</emphasis></para>
+
+ <para>Comme mentionn&eacute; dans
+ <link linkend="hw-jordans-picks-cdrom">Jordan's Picks</link>
+ Generally speaking those in <emphasis>The FreeBSD
+ Project</emphasis> prefer SCSI CDROM drives over IDE CDROM drives.
+ However not all SCSI CDROM drives are equal. Some feel the quality of
+ some SCSI CDROM drives have been deteriorating to that of IDE CDROM
+ drives. Toshiba used to be the favored stand-by, but many on the SCSI
+ mailing list have found displeasure with the 12x speed XM-5701TA as
+ its volume (when playing audio CDROMs) is not controllable by the
+ various audio player software.</para>
+
+ <para>Another area where SCSI CDROM manufacturers are cutting corners is
+ adhearance to the <link linkend="scsi-further-reading">SCSI
+ specification</link>. Many SCSI CDROMs will respond to <link
+ linkend="scsi-rogue-devices">multiple LUNs</link> for its target
+ address. Known violators include the 6x Teac CD-56S 1.0D.</para>
+ <para></para>
+
+ -->
+ </sect2>
+
+ <sect2>
+ <title>* Autres</title>
+ <para></para>
+ </sect2>
+
+ <sect2>
+ <title>* Ajouter et reconfigurer des disques</title>
+ <para></para>
+ </sect2>
+
+ </sect1>
+
+ <sect1 id="hw-other">
+ <title>* Autres</title>
+
+ <sect2>
+ <title>* PCMCIA</title>
+ <para></para>
+ </sect2>
+ </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:
+-->
diff --git a/fr_FR.ISO_8859-1/books/handbook/in-progress.sgml b/fr_FR.ISO_8859-1/books/handbook/in-progress.sgml
new file mode 100644
index 0000000000..45248c01c8
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/in-progress.sgml
@@ -0,0 +1,9 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: N/A
+-->
+
+<para>** Traduction en Cours **</para>
diff --git a/fr_FR.ISO_8859-1/books/handbook/install/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/install/chapter.sgml
new file mode 100644
index 0000000000..d1e6009af8
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/install/chapter.sgml
@@ -0,0 +1,1298 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+ <chapter id="install">
+ <title>Installer FreeBSD</title>
+ &trans.a.haby;
+
+ <para>Donc, vous voulez tester FreeBSD sur votre nouvelle machine?
+ Cette section vous donne rapidement toutes les indications pour le
+ faire. FreeBSD peut &ecirc;tre install&eacute; &agrave; partir de diff&eacute;rents supports
+ dont CD-ROM, disquettes, bande magn&eacute;tique, partition MS-DOS, et si vous
+ avez une connexion r&eacute;seau, par ftp anonyme ou via NFS.</para>
+
+ <para>Quelle que soit la fa&ccedil;on dons vous proc&eacute;derez, vous pouvez commencer
+ par cr&eacute;er la <emphasis>disquette d'installation</emphasis>, comme
+ d&eacute;crit plus bas. D&eacute;marrez votre ordinateur avec cette disquette, m&ecirc;me
+ si vous ne voulez pas installer FreeBSD tout de suite, pour avoir des
+ informations importantes sur la compatibilit&eacute; de votre mat&eacute;riel avec
+ FreeBSD, ce qui dictera quelles options d'installation vous pouvez
+ envisager. Cela peut aussi vous donner des indications quant aux
+ incompatibilit&eacute;s mat&eacute;rielles qui vous emp&ecirc;cheraient d'utiliser FreeBSD
+ sur votre machine.</para>
+
+ <para>Si vous envisagez une installation par ftp anonyme, alors cette
+ disquette d'installation est tout ce que vous aurez besoin de
+ t&eacute;l&eacute;charger et cr&eacute;er&nbsp;-&nbsp;le programme d'installation se
+ chargera lui-m&ecirc;me de r&eacute;cup&eacute;rer tout ce qu'il faudra par la suite (via
+ une connexion Ethernet, un modem et une liaison ppp, etc.).</para>
+
+ <para>Pour plus d'informations sur la mani&egrave;re de vous procurer la version
+ la plus r&eacute;cente de FreeBSD, voyez s'il vous pla&icirc;t l'annexe
+ <link linkend="mirrors">Se procurer FreeBSD</link>.</para>
+
+ <para>Donc, pour pouvoir commencer &agrave; installer, suivez les &eacute;tapes
+ ci-dessous:</para>
+
+ <procedure>
+
+ <step>
+ <para>Passez en revue la section <link
+ linkend="install-hw">Configurations support&eacute;es</link> de ce
+ guide d'installation pour &ecirc;tre s&ucirc;r que votre mat&eacute;riel soit
+ compatible avec FreeBSD. Il peut &ecirc;tre utile de faire une liste des
+ cartes particuli&egrave;res que vous avez install&eacute;es, contr&ocirc;leurs SCSI,
+ adaptateurs Ethernet ou cartes sons. Cette liste devra inclure
+ les param&egrave;tres de configuration n&eacute;cessaires, tels que les
+ interruptions (IRQ) et les adresses des ports
+ d'Entr&eacute;e/Sortie.</para>
+ </step>
+
+ <step>
+ <para>Si vous installez FreeBSD depuis le CD-ROM, vous avez
+ plusieurs options d'installation:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>Si c'est un CD-ROM qui a &eacute;t&eacute; grav&eacute; avec le support de
+ d&eacute;marrage El Torrito et que votre syst&egrave;me peut d&eacute;marrer
+ &agrave; partir du CD-ROM (de nombreux syst&egrave;mes anciens ne savent
+ <emphasis>pas</emphasis> le faire), mettez simplement le
+ CD dans le lecteur et d&eacute;marrez directement avec
+ celui-ci.</para>
+ </listitem>
+
+ <listitem>
+ <para>Si vous &ecirc;tes sous DOS et avez le pilote n&eacute;cessaire pour
+ acc&eacute;der &agrave; votre CD-ROM, ex&eacute;cutez la proc&eacute;dure
+ <command>install.bat</command>
+ qui se trouve sur le CD. Cela lancera l'installation de
+ FreeBSD &agrave; partir de DOS.</para>
+
+ <note>
+ <para>Vous devez faire cela r&eacute;ellement sous DOS et non dans
+ une fen&ecirc;tre DOS sous Windows.</para>
+ </note>
+
+ <para> Si vous voulez installer FreeBSD depuis une partition
+ DOS (peut-&ecirc;tre parce que FreeBSD ne supporte pas votre
+ lecteur de CD-ROMs), lancez alors d'abord le programme
+ <command>setup</command> qui copiera les fichiers
+ n&eacute;cessaires du CD sur la partition DOS, puis lancez ensuite
+ <command>install</command>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Si l'une des deux m&eacute;thodes pr&eacute;c&eacute;dentes fonctionne, vous
+ pouvez sauter la suite de cette section, sinon, il vous
+ reste la possibilit&eacute; de cr&eacute;er une disquette de d&eacute;marrage
+ &agrave; partir du fichier image
+ <filename>floppies\boot.flp</filename>&nbsp;-&nbsp;passez &agrave;
+ l'&eacute;tape 4 pour avoir des indications sur la fa&ccedil;on de
+ faire.</para>
+ </listitem>
+
+ </itemizedlist>
+
+ </step>
+
+ <step>
+ <para>Si vous n'avez pas la distribution sur CD-ROM, t&eacute;l&eacute;chargez
+ simplement le fichier d'<ulink
+ url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/&rel.current;-RELEASE/floppies/boot.flp">image
+ de la disquette d&eacute;marrable d'installation</ulink> sur votre disque
+ dur, en veillant &agrave; donner &agrave; votre navigateur l'option
+ <emphasis>enregistrer</emphasis> et non
+ <emphasis>ouvrir</emphasis> le fichier.</para>
+
+ <note>
+ <para>Cette image disquette ne fonctionne qu'avec des lecteurs de
+ disquette 3.5" 1.44 Mo.</para>
+ </note>
+ </step>
+
+ <step>
+ <para>Cr&eacute;ez une disquette de d&eacute;marrage de l'installation &agrave; partir
+ du fichier image:</para>
+ <itemizedlist>
+
+ <listitem>
+ <para>Si vous utilisez MS-DOS, t&eacute;l&eacute;chargez <ulink
+ url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/tools/fdimage.exe">fdimage.exe</ulink>
+ ou r&eacute;cup&eacute;rez-le de <filename>tools\fdimage.exe</filename>
+ sur le CD-ROM et utilisez-le comme suit:</para>
+
+ <informalexample>
+ <screen><prompt>E:\&gt;</prompt> <userinput>tools\fdimage floppies\boot.flp a:</userinput></screen>
+ </informalexample>
+ <para>Le programme <emphasis>fdimage</emphasis>
+ formatera la disquette dans le lecteur
+ <devicename>A:</devicename> et y copiera
+ <filename>boot.flp</filename> (en supposant que vous &ecirc;tes dans
+ le r&eacute;pertoire racine de la distribution de FreeBSD et que
+ l'image de la disquette se trouve dans le r&eacute;pertoire pour les
+ disquettes, ce qui est normalement le cas).</para>
+ </listitem>
+
+ <listitem>
+ <para>Si vous utilisez un syst&egrave;me UNIX pour cr&eacute;er la
+ disquette:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>dd if=boot.flp of=<replaceable>p&eacute;riph&eacute;rique_disquette</replaceable></userinput></screen>
+ </informalexample>
+ <para><replaceable>p&eacute;riph&eacute;rique_disquette</replaceable> est
+ l'entr&eacute;e <filename>/dev</filename> pour le lecteur de
+ disquette. Sur les syst&egrave;mes FreeBSD, c'est
+ <filename>/dev/rfd0</filename> pour le lecteur
+ <devicename>A:</devicename> et
+ <filename>/dev/rfd1</filename> pour le lecteur
+ <devicename>B:</devicename>.</para>
+ </listitem>
+
+ </itemizedlist>
+ </step>
+
+ <step>
+ <para>Red&eacute;marrez l'ordinateur avec la disquette d'installation
+ dans le lecteur <devicename>A:</devicename>. Vous devriez
+ obtenir une invite de d&eacute;marrage du genre:</para>
+ <informalexample>
+ <screen>
+&gt;&gt; FreeBSD BOOT ...
+Usage: [[[0:][wd](0,a)]/kernel][-abcCdhrsv]
+Use 1:sd(0,a)kernel to boot sd0 if it is BIOS drive 1
+Use ? for file list or press Enter for defaults
+Boot:
+ </screen>
+ </informalexample>
+ <para>Si vous ne tapez <emphasis>rien</emphasis>, FreeBSD d&eacute;marrera
+ automatiquement avec la configuration par d&eacute;faut apr&egrave;s un d&eacute;lai
+ d'environ 5 secondes. Au d&eacute;marrage, FreeBSD effectue des tests
+ pour savoir quels mat&eacute;riels sont install&eacute;s. Les r&eacute;sultats de ces
+ tests sont affich&eacute;s &agrave; l'&eacute;cran.</para>
+ </step>
+
+ <step>
+ <para>Apr&egrave;s le d&eacute;marrage, le menu principal d'installation de
+ FreeBSD s'affiche.</para>
+ </step>
+
+ </procedure>
+
+ <para><emphasis>Si quelque chose se passe mal ...</emphasis></para>
+
+ <para>Du fait des limitations de l'architecture PC, il n'est pas possible
+ d'avoir des tests fiables &agrave; 100%. Si votre mat&eacute;riel n'est pas d&eacute;tect&eacute;
+ correctement, ou si les tests plantent votre machine, consultez d'abord
+ la section <link linkend="install-hw">Configurations
+ support&eacute;es</link> de ce guide d'installation pour v&eacute;rifiez que votre
+ mat&eacute;riel est effectivement compatible avec FreeBSD.</para>
+
+ <para>Si votre mat&eacute;riel est support&eacute;, r&eacute;initialisez l'ordinateur et tapez
+ <literal>-c</literal> quand l'invite <prompt>Boot:</prompt> s'affiche.
+ FreeBSD passe alors en mode configuration, gr&acirc;ce auquel vous pouvez
+ donner des indications sur votre mat&eacute;riel. Le noyau FreeBSD de la
+ disquette d'installation fait l'hypoth&egrave;se que la plupart des dispositifs
+ mat&eacute;riels utilisent la configuration par d&eacute;faut du fabricant en termes
+ d'IRQ, adresses d'E/S et canaux DMA. Si vous avez reconfigur&eacute; votre
+ mat&eacute;riel, il y a de fortes chances que vous devrez utiliser l'option
+ <option>-c</option> au d&eacute;marrage pour dire &agrave; FreeBSD &agrave; quelle adresse se trouvent
+ vos cartes.</para>
+
+ <para>Il peut arriver que le test d'un mat&eacute;riel qui n'est pas install&eacute;
+ entra&icirc;ne l'&eacute;chec du test ult&eacute;rieur d'un mat&eacute;riel qui lui est bien l&agrave;.
+ Dans ce cas, le test du(des) pilote(s) en conflit doit &ecirc;tre
+ d&eacute;sactiv&eacute;.</para>
+
+ <warning>
+ <para>Ne d&eacute;sactivez aucun des p&eacute;riph&eacute;riques dont vous aurez besoin
+ pendant l'installation, votre &eacute;cran (<devicename>sc0</devicename>)
+ par exemple.</para>
+ </warning>
+
+ <para>En mode configuration, vous pouvez:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>Avoir la liste des pilotes de p&eacute;riph&eacute;riques inclus dans
+ le noyau.</para>
+ </listitem>
+
+ <listitem>
+ <para>D&eacute;sactiver les pilotes de p&eacute;riph&eacute;riques pour les mat&eacute;riels
+ que vous n'avez pas.</para>
+ </listitem>
+
+ <listitem>
+ <para>Changer les IRQs, DRQs, adresses des ports d'E/S utilis&eacute;es par
+ un pilote de p&eacute;riph&eacute;rique.</para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>Sous l'invite <prompt>config&gt;</prompt>, tapez
+ <command>help</command> pour plus d'informations sur les commandes
+ disponibles. Une fois que vous avez ajust&eacute; votre noyau pour qu'il
+ configure correctement votre mat&eacute;riel, tapez <command>quit</command> &agrave;
+ l'invite <prompt>config&gt;</prompt> pour continuer le processus de
+ d&eacute;marrage avec la nouvelle configuration.</para>
+
+ <para>Une fois FreeBSD install&eacute;, les modifications que vous avez fait en
+ mode configuration seront d&eacute;finitives, vous n'aurez pas &agrave; reconfigurer
+ le noyau &agrave; chaque red&eacute;marrage. Cependant, m&ecirc;me dans ce cas, il y a des
+ chances que vous vouliez recompiler un noyau sur-mesure pour optimiser
+ les performances de votre syst&egrave;me. Reportez-vous &agrave; la section
+ <link linkend="kernelconfig" >Configurer le noyau de FreeBSD</link>
+ pour plus d'informations sur la g&eacute;n&eacute;ration de noyaux sur-mesure.</para>
+
+ <sect1 id="install-hw">
+ <title>Configurations support&eacute;es</title>
+
+ <para>FreeBSD fonctionne avec sur une grande vari&eacute;t&eacute; de PC &agrave; bus ISA,
+ VLB, EISA et PCI, en commen&ccedil;ant aux machines de classe 386sx (bien
+ que le 386sx ne soit pas conseill&eacute;). Il y a un support g&eacute;n&eacute;rique pour
+ les disques IDE et ESDI, et le support de divers contr&ocirc;leurs SCSI,
+ cartes r&eacute;seau et s&eacute;rie, est aussi inclus.</para>
+
+ <para>Il faut un minimum de 4Mo de RAM pour faire tourner FreeBSD. Pour
+ utiliser le gestionnaire graphique X Window System, un minimum de 8Mo
+ de RAM est recommand&eacute;.</para>
+
+ <para>Voici une liste de contr&ocirc;leurs de disques et de cartes Ethernet
+ qui fonctionnent actuellement avec FreeBSD. D'autres configurations
+ peuvent parfaitement marcher, je n'ai simplement pas eu d'indications
+ &agrave; leur sujet.</para>
+
+ <sect2>
+ <title>Contr&ocirc;leurs de disque</title>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>WD1003 (n'importe quel MFM/RLL g&eacute;n&eacute;rique),</para>
+ </listitem>
+
+ <listitem>
+ <para>WD1007 (n'importe quel IDE/ESDI g&eacute;n&eacute;rique),</para>
+ </listitem>
+
+ <listitem>
+ <para>IDE,</para>
+ </listitem>
+
+ <listitem>
+ <para>ATA,</para>
+ </listitem>
+
+ <listitem>
+ <para>Contr&ocirc;leur SCSI Adaptec 1505 ISA,</para>
+ </listitem>
+
+ <listitem>
+ <para>Contr&ocirc;leurs SCSI Adaptec ISA s&eacute;rie 152x,</para>
+ </listitem>
+
+ <listitem>
+ <para>Contr&ocirc;leurs SCSI Adaptec 1535 ISA,</para>
+ </listitem>
+
+ <listitem>
+ <para>Contr&ocirc;leurs SCSI Adaptec ISA s&eacute;rie 154x,</para>
+ </listitem>
+
+ <listitem>
+ <para>Contr&ocirc;leurs SCSI Adaptec EISA s&eacute;rie 174x en mode
+ standard et &eacute;tendu.</para>
+ </listitem>
+
+ <listitem>
+ <para>Contr&ocirc;leurs SCSI Adaptec s&eacute;ries 274x/284x/2940/2940U/3940 (Narrow/Wide/Twin) EISA/VLB/PCI,</para>
+ </listitem>
+
+ <listitem>
+ <para>Contr&ocirc;leurs Adaptec SCSI AIC7850 sur la carte m&egrave;re,</para>
+ </listitem>
+
+ <listitem>
+ <para>Cartes &agrave; base d'Adaptec, dont les cartes SCSI
+ AHA-152x et SoundBlaster,</para>
+
+ <note>
+ <para>Vous ne pouvez pas d&eacute;marrer le syst&egrave;me avec les cartes
+ SoundBlaster car elles n'ont pas de BIOS int&eacute;gr&eacute;, qui est
+ indispensable pour affecter au p&eacute;riph&eacute;rique de d&eacute;marrage
+ les vecteurs d'E/S du BIOS syst&egrave;me. Elles sont cependant
+ parfaitement utilisables avec les lecteurs de bandes et de
+ CD-ROMs externes, etc. C'est aussi vrai des autres cartes &agrave;
+ base d'AIC-6x60 sans ROM de d&eacute;marrage. Certains syst&egrave;mes
+ ont une ROM de d&eacute;marrage, ce qui est g&eacute;n&eacute;ralement signal&eacute;
+ par un message &agrave; la mise sous tension ou &agrave; la
+ r&eacute;initialisation du syst&egrave;me. Consultez la documentation de
+ votre syst&egrave;me ou de votre carte pour plus de
+ d&eacute;tails.</para>
+ </note>
+ </listitem>
+
+ <listitem>
+ <para>Buslogic 545S &amp; 545c,</para>
+
+ <note>
+ <para>Buslogic s'appelait autrefois
+ &ldquo;Bustek&rdquo;,</para>
+ </note>
+ </listitem>
+
+ <listitem>
+ <para>Contr&ocirc;leurs SCSI Buslogic 445S/445c VLB,</para>
+ </listitem>
+
+ <listitem>
+ <para>Contr&ocirc;leurs SCSI Buslogic 742A/747S/747c EISA,</para>
+ </listitem>
+
+ <listitem>
+ <para>Contr&ocirc;leur SCSI Buslogic 946c PCI,</para>
+ </listitem>
+
+ <listitem>
+ <para>Contr&ocirc;leur SCSI Buslogic 956c PCI,</para>
+ </listitem>
+
+ <listitem>
+ <para>Contr&ocirc;leurs SCSI NCR
+ 53C810/53C815/53C825/53C860/53C875 PCI,</para>
+ </listitem>
+
+ <listitem>
+ <para>Contr&ocirc;leurs SCSI NCR5380/NCR53400
+ (&ldquo;ProAudio Spectrum&rdquo;),</para>
+ </listitem>
+
+ <listitem>
+ <para>Contr&ocirc;leur SCSI DTC 3290 EISA en mode &eacute;mulation
+ 1542,</para>
+ </listitem>
+
+ <listitem>
+ <para>Contr&ocirc;leurs SCSI UltraStor 14F/24F/34F,</para>
+ </listitem>
+
+ <listitem>
+ <para>Contr&ocirc;leurs SCSI Seagate ST01/02,</para>
+ </listitem>
+
+ <listitem>
+ <para>Contr&ocirc;leurs SCSI Future Domain s&eacute;ries 8xx/950,</para>
+ </listitem>
+
+ <listitem>
+ <para>Contr&ocirc;leur SCSI WD7000.</para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>Le support int&eacute;gral des p&eacute;riph&eacute;riques
+ SCSI-I &amp; SCSI-II, y compris disques, lecteurs de bandes
+ (dont DAT) et lecteurs de CD-ROMs, est inclus pour tous les
+ contr&ocirc;leurs SCSI support&eacute;s.</para>
+
+ <para>Les lecteurs de CD-ROMs suivants sont actuellement
+ support&eacute;s:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>SoundBlaster SCSI et ProAudio Spectrum SCSI (<literal>cd</literal>),</para>
+ </listitem>
+
+ <listitem>
+ <para>Interface propri&eacute;taire Mitsumi (tous mod&egrave;les) (<literal>mcd</literal>),</para>
+ </listitem>
+
+ <listitem>
+ <para>Interface propri&eacute;taire Matsushita/Panasonic (Creative)
+ CR-562/CR-563 (<literal>matcd</literal>),</para>
+ </listitem>
+
+ <listitem>
+ <para>Interface propri&eacute;taire
+ Sony(<literal>scd</literal>),</para>
+ </listitem>
+
+ <listitem>
+ <para>Interface ATAPI IDE (exp&eacute;rimentale et doit &ecirc;tre consid&eacute;r&eacute;e
+ de niveau ALPHA!) (<literal>wcd</literal>).</para>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect2>
+
+ <sect2 id="install-nics">
+ <title>Cartes Ethernet</title>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>Cartes Allied-Telesis AT1700 et RE2000,</para>
+ </listitem>
+
+ <listitem>
+ <para>Interface Ethernet SMC Elite 16 WD8013, et la plupart des
+ clones &agrave; base de WD8003E, WD8003EBT, WD8003W, WD8013W,
+ WD8003S, WD8003SBT et WD8013EBT. Les cartes &agrave; base de SMC
+ Elite Ultra et 9432TX sont aussi support&eacute;es,</para>
+ </listitem>
+
+ <listitem>
+ <para>DEC EtherWORKS III NICs (&ldquo;<foreignphrase>Network
+ Interface Card</foreignphrase>&rdquo;&nbsp;-&nbsp;carte
+ d'interface r&eacute;seau) (DE203, DE204, et DE205),</para>
+ </listitem>
+
+ <listitem>
+ <para>DEC EtherWORKS II NICs (DE200, DE201, DE202, et
+ DE422),</para>
+ </listitem>
+
+ <listitem>
+ <para>NICs &agrave; base de DEC DC21040/DC21041/DC21140:</para>
+ <itemizedlist>
+
+ <listitem>
+ <para>ASUS PCI-L101-TB,</para>
+ </listitem>
+
+ <listitem>
+ <para>Accton ENI1203,</para>
+ </listitem>
+
+ <listitem>
+ <para>Cogent EM960PCI,</para>
+ </listitem>
+
+ <listitem>
+ <para>Compex CPXPCI/32C,</para>
+ </listitem>
+
+ <listitem>
+ <para>D-Link DE-530,</para>
+ </listitem>
+
+ <listitem>
+ <para>DEC DE435,</para>
+ </listitem>
+
+ <listitem>
+ <para>Danpex EN-9400P3,</para>
+ </listitem>
+
+ <listitem>
+ <para>JCIS Condor JC1260,</para>
+ </listitem>
+
+ <listitem>
+ <para>Kingston KNE100TX,</para>
+ </listitem>
+
+ <listitem>
+ <para>Linksys EtherPCI,</para>
+ </listitem>
+
+ <listitem>
+ <para>Mylex LNP101,</para>
+ </listitem>
+
+ <listitem>
+ <para>SMC EtherPower 10/100 (Mod&egrave;le 9332),</para>
+ </listitem>
+
+ <listitem>
+ <para>SMC EtherPower (Mod&egrave;le 8432),</para>
+ </listitem>
+
+ <listitem>
+ <para>SMC EtherPower (2),</para>
+ </listitem>
+
+ <listitem>
+ <para>Zynx ZX314,</para>
+ </listitem>
+
+ <listitem>
+ <para>Zynx ZX342.</para>
+ </listitem>
+
+ </itemizedlist>
+
+ </listitem>
+
+ <listitem>
+ <para>NICs DEC FDDI (DEFPA/DEFEA),</para>
+ </listitem>
+
+ <listitem>
+ <para>Fujitsu FMV-181 et FMV-182,</para>
+ </listitem>
+
+ <listitem>
+ <para>Fujitsu MB86960A/MB86965A,</para>
+ </listitem>
+
+ <listitem>
+ <para>Intel EtherExpress,</para>
+ </listitem>
+
+ <listitem>
+ <para>Intel EtherExpress Pro/100B 100Mbit,</para>
+ </listitem>
+
+ <listitem>
+ <para>Isolan AT 4141-0 (16 bit),</para>
+ </listitem>
+
+ <listitem>
+ <para>Isolink 4110 (8 bit),</para>
+ </listitem>
+
+ <listitem>
+ <para>Interface r&eacute;seau sans fil Lucent WaveLAN,</para>
+ </listitem>
+
+ <listitem>
+ <para>Interface Ethernet Novell NE1000, NE2000, et NE2100,</para>
+ </listitem>
+
+ <listitem>
+ <para>Cartes 3Com 3C501,</para>
+ </listitem>
+
+ <listitem>
+ <para>3Com 3C503 Etherlink II,</para>
+ </listitem>
+
+ <listitem>
+ <para>3Com 3c505 Etherlink/+,</para>
+ </listitem>
+
+ <listitem>
+ <para>3Com 3C507 Etherlink 16/TP,</para>
+ </listitem>
+
+ <listitem>
+ <para>3Com 3C509, 3C579, 3C589 (PCMCIA) Etherlink III,</para>
+ </listitem>
+
+ <listitem>
+ <para>3Com 3C590, 3C595 Etherlink III,</para>
+ </listitem>
+
+ <listitem>
+ <para>Cartes 3Com 3C90x,</para>
+ </listitem>
+
+ <listitem>
+ <para>HP PC Lan Plus (27247B et 27252A),</para>
+ </listitem>
+
+ <listitem>
+ <para>Cartes Ethernet Toshiba,</para>
+ </listitem>
+
+ <listitem>
+ <para>Les cartes Ethernet PCMCIA d'IBM et National
+ Semiconductor sont aussi support&eacute;es.</para>
+ </listitem>
+
+ </itemizedlist>
+
+ <note>
+ <para>FreeBSD ne supporte pas actuellement les fonctionnalit&eacute;s
+ PnP (<foreignphrase>plug-n-play</foreignphrase>) de
+ certaines cartes Ethernet. Si votre carte est PnP et vous pose des
+ probl&egrave;mes, essayez de d&eacute;sactiver ses fonctionnalit&eacute;s PnP.</para>
+ </note>
+ </sect2>
+
+ <sect2 id="install-misc">
+ <title>P&eacute;riph&eacute;riques divers</title>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>Carte AST 4 ports s&eacute;rie avec IRQ partag&eacute;e,</para>
+ </listitem>
+
+ <listitem>
+ <para>Carte ARNET 8 ports s&eacute;rie avec IRQ partag&eacute;e,</para>
+ </listitem>
+
+ <listitem>
+ <para>Carte BOCA IOAT66 6 ports s&eacute;rie avec IRQ partag&eacute;e,</para>
+ </listitem>
+
+ <listitem>
+ <para>Carte BOCA 2016 16 ports s&eacute;rie avec IRQ partag&eacute;e,</para>
+ </listitem>
+
+ <listitem>
+ <para>Carte s&eacute;rie Cyclades Cyclom-y,</para>
+ </listitem>
+
+ <listitem>
+ <para>Carte s&eacute;rie STB 4 ports avec IRQ partag&eacute;e,</para>
+ </listitem>
+
+ <listitem>
+ <para>Carte s&eacute;rie SDL Communications Riscom/8,</para>
+ </listitem>
+
+ <listitem>
+ <para>Carte s&eacute;rie synchrone SDL Communications RISCom/N2 et
+ N2pci,</para>
+ </listitem>
+
+ <listitem>
+ <para>Carte s&eacute;rie synchrone grande vitesse Digiboard
+ Sync/570i,</para>
+ </listitem>
+
+ <listitem>
+ <para>Carte Decision-Computer Intl. &ldquo;Eight-Serial&rdquo;
+ 8 ports s&eacute;rie avec IRQ partag&eacute;e,</para>
+ </listitem>
+
+ <listitem>
+ <para>Cartes sons Adlib, SoundBlaster, SoundBlaster Pro,
+ ProAudioSpectrum, Gravis UltraSound, Gravis UltraSound MAX
+ et Roland MPU-401,</para>
+ </listitem>
+
+ <listitem>
+ <para>Carte d'acquisition vid&eacute;o Matrox Meteor,</para>
+ </listitem>
+
+ <listitem>
+ <para>Carte d'incrustation vid&eacute;o Creative Labs Video,</para>
+ </listitem>
+
+ <listitem>
+ <para>Carte d'acquisition vid&eacute;o Omnimedia Talisman,</para>
+ </listitem>
+
+ <listitem>
+ <para>Cartes d'acquisition vid&eacute;o &agrave; base de puce Brooktree
+ BT848,</para>
+ </listitem>
+
+ <listitem>
+ <para>Contr&ocirc;leurs d'alimentation X-10,</para>
+ </listitem>
+
+ <listitem>
+ <para>Manette de jeu et haut-parleur PC.</para>
+ </listitem>
+
+ </itemizedlist>
+
+
+ <para>FreeBSD n'est pas actuellement compatible avec le bus
+ IBM microchannel (MCA).</para>
+
+ </sect2>
+ </sect1>
+
+ <sect1>
+ <title>Pr&eacute;parer l'installation</title>
+
+ <para>Il y a un certain nombre de m&eacute;thodes pour installer FreeBSD. Les
+ paragraphes qui suivent d&eacute;crivent ce qui doit &ecirc;tre fait dans chaque
+ cas.</para>
+
+ <sect2>
+ <title>Avant d'installer &agrave; partir du CD-ROM</title>
+
+ <para>Si votre lecteur de CD-ROMs n'est pas support&eacute;, passez s'il vous
+ pla&icirc;t &agrave; la section <link linkend="install-msdos">Avant d'installer
+ depuis une partition MS-DOS</link>.</para>
+
+ <para>Il n'y a pratiquement rien &agrave; faire avant d'installer avec
+ succ&eacute;s &agrave; partir des CD-ROMs FreeBSD de Walnut Creek (les CD-ROMs
+ d'autres distributions marcheront sans doute aussi, bien que nous
+ ne puissions l'affirmer, car nous n'intervenons en rien dans la
+ fa&ccedil;on dont ils sont faits). Vous pouvez d&eacute;marrez l'installation
+ par CD soit depuis DOS avec la proc&eacute;dure
+ <filename>install.bat</filename> de Walnut Creek ou vous pouvez
+ cr&eacute;ez une disquette de d&eacute;marrage avec la commande
+ <filename>makeflp.bat</filename>.</para>
+
+ <note>
+ <para>Si vous utilisez FreeBSD 2.1-RELEASE et avez un CD-ROM IDE,
+ servez-vous des proc&eacute;dures <filename>inst_ide.bat</filename> ou
+ <filename>atapiflp.bat</filename> &agrave; la place.</para>
+ </note>
+
+ <para>Pour avoir l'interface la plus facile &agrave; utiliser (sous DOS),
+ tapez <command>view</command>. Cela vous affichera un menu DOS
+ qui vous guidera &agrave; travers toutes les options disponibles.</para>
+
+ <para>Si vous cr&eacute;ez la disquette de d&eacute;marrage sur une machine UNIX,
+ voyez <link linkend="install">le d&eacute;but de ce guide</link> pour
+ avoir des exemples sur la fa&ccedil;on de cr&eacute;er une disquette de
+ d&eacute;marrage.</para>
+
+ <para>Une fois que vous avez d&eacute;marr&eacute; sous DOS ou avec la disquette,
+ vous devriez pouvoir s&eacute;lectionner le CD-ROM comme support
+ d'installation depuis le menu de s&eacute;lection du support. Vous n'aurez
+ besoin de rien d'autre que du CD-ROM.</para>
+
+ <para>Une fois que vous aurez termin&eacute; l'installation et red&eacute;marr&eacute;
+ &agrave; partir du disque dur, vous pourrez monter quand vous voudrez le
+ CD-ROM en tapant: <command>mount /cdrom</command></para>
+
+ <para>Avant de sortir de nouveau le CD-ROM, notez qu'il faut d'abord
+ taper: <command>umount /cdrom</command>. Ne le retirez pas
+ simplement du lecteur!</para>
+
+ <note>
+ <para>Avant de commencer l'installation, v&eacute;rifiez que le CD-ROM est
+ bien dans le lecteur, sans quoi le test avant installation ne le
+ trouvera pas. C'est aussi vrai si vous voulez, d&egrave;s l'installation,
+ ajouter automatiquement le CD-ROM &agrave; la
+ configuration du syst&egrave;me (que vous vous en serviez comme support
+ d'installation ou non).</para>
+ </note>
+
+ <para>Finalement, si vous voulez que les gens puissent installer
+ FreeBSD par FTP directement depuis le CD-ROM de votre machine,
+ c'est assez facile &agrave; mettre en oeuvre. Il vous suffit d'ajouter
+ la ligne suivante au fichier de mots de passe (avec la commande
+ <command>vipw</command>):</para>
+
+ <programlisting>
+ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent</programlisting>
+
+ <para>Quiconque peut se connecter par le r&eacute;seau &agrave; votre machine (et
+ est autoris&eacute; &agrave; y ouvrir une session) peut maintenant s&eacute;lectionner
+ FTP comme support d'installation et taper:
+ <userinput>ftp://<replaceable>votre
+ machine</replaceable></userinput> apr&egrave;s avoir s&eacute;lectionn&eacute;
+ &ldquo;Other&rdquo;&nbsp;-&nbsp;autres&nbsp;-&nbsp; dans le menu
+ des sites ftp.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Avant d'installer &agrave; partir de disquettes</title>
+
+ <para>Si vous devez installer &agrave; partir de disquettes, soit parce que
+ vous avez du mat&eacute;riel non support&eacute;, soit que vous aimiez vous compliquer
+ la vie, vous devez d'abord pr&eacute;parer les disquettes
+ n&eacute;cessaires.</para>
+
+ <para>Il vous faudra, au minimum, autant de disquettes 1.2MB ou 1.44MB
+ que n&eacute;cessaires pour y mettre tous les fichiers du r&eacute;pertoire
+ <filename>bin</filename> (distribution binaire). Si vous pr&eacute;parez
+ ces disquettes sous DOS, alors CES disquettes doit &ecirc;tre format&eacute;es
+ avec la commande FORMAT de MS-DOS. Si vous utilisez Windows,
+ servez-vous de la commande de formatage du gestionnaire de fichiers
+ de Windows.</para>
+
+ <para>Ne faites <emphasis>pas</emphasis> confiance aux disquettes
+ pr&eacute;format&eacute;es en usine. Reformattez-les vous-m&ecirc;me, de fa&ccedil;on &agrave; &ecirc;tre
+ s&ucirc;r. Nos utilisateurs nous ont, dans le pass&eacute;, signal&eacute; de nombreux
+ probl&egrave;mes dus &agrave; des disquettes incorrectement format&eacute;es, ce qui
+ explique pourquoi j'y insiste autant ici!</para>
+
+ <para>Si vous cr&eacute;ez les disquettes sur une autre machine FreeBSD,
+ ce n'est malgr&eacute; tout pas une mauvaise id&eacute;e de les formater bien
+ que vous n'ayez pas besoin d'y mettre un syst&egrave;me de fichiers MS-DOS.
+ Vous pouvez employer les commandes <command>disklabel</command> et
+ <command>newfs</command> pour y mettre un syst&egrave;me de fichiers UFS &agrave;
+ la place, comme le montre la s&eacute;quence de commandes suivantes (pour
+ une disquette 3.5" 1.44MB):</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>fdformat -f 1440 fd0.1440</userinput>
+&prompt.root; <userinput>disklabel -w -r fd0.1440 floppy3</userinput>
+&prompt.root; <userinput>newfs -t 2 -u 18 -l 1 -i 65536 /dev/rfd0</userinput>
+ </screen>
+ </informalexample>
+
+
+ <note>
+ <para>Utilisez <literal>fd0.1200</literal> et
+ <literal>floppy5</literal> pour les disquettes 5.25" 1.2MB.</para>
+ </note>
+
+ <para>Vous pouvez alors les monter et y &eacute;crire comme sur n'importe
+ quel autre syst&egrave;me de fichiers.</para>
+
+ <para>Apr&egrave;s avoir format&eacute; les disquettes, il vous faudra y copier les
+ fichiers. Les fichiers de la distribution sont scind&eacute;s en morceaux
+ de taille telle que 5 d'entre eux tiennent sur une disquette 1.44MB
+ ordinaire. Pr&eacute;parez les disquettes les unes apr&egrave;s les autres, y
+ mettant sur chaque autant de fichiers que vous pouvez, jusqu'&agrave; ce
+ que vous ayez recopi&eacute; toutes les distributions que vous voulez
+ installer. Chaque distribution doit avoir son propre sous-r&eacute;pertoire
+ sur la disquette, e.g.: <filename>a:\bin\bin.aa</filename>,
+ <filename>a:\bin\bin.ab</filename>, et ainsi de suite.</para>
+
+ <para>Une fois que vous en &ecirc;tes &agrave; l'&eacute;cran de s&eacute;lection du support
+ d'installation, choisissez
+ &ldquo;Floppy&rdquo;&nbsp;-&nbsp;disquette&nbsp;-&nbsp;et vous
+ aurez ensuite des indications sur la marche &agrave; suivre.</para>
+
+ </sect2>
+
+ <sect2 id="install-msdos">
+ <title>Avant d'installer depuis une partition MS-DOS</title>
+
+ <para>Pour pr&eacute;parer l'installation depuis une partition MS-DOS, copiez
+ les fichiers de la distribution dans un r&eacute;pertoire nomm&eacute;
+ <filename>C:\FREEBSD</filename>. L'arborescence des r&eacute;pertoires du
+ CD-ROM doit &ecirc;tre partiellement reproduite dans ce r&eacute;pertoire, je
+ vous sugg&egrave;re donc d'utiliser la commande DOS
+ <command>xcopy</command>.
+ Par exemple, pour pr&eacute;parer une installation minimale de
+ FreeBSD:</para>
+
+ <informalexample>
+ <screen><prompt>C:\&gt;</prompt> <userinput>MD C:\FREEBSD</userinput>
+<prompt>C:\&gt;</prompt> <userinput>XCOPY /S E:\BIN C:\FREEBSD\BIN\</userinput>
+<prompt>C:\&gt;</prompt> <userinput>XCOPY /S E:\MANPAGES C:\FREEBSD\MANPAGES\</userinput></screen>
+ </informalexample>
+
+ <para>En supposant que vous ayez de la place sur
+ <devicename>C:</devicename> et que votre CD-ROM soit mont&eacute; sur
+ <devicename>E:</devicename>.</para>
+
+ <para>Copiez chaque distribution que vous voulez installer depuis
+ MS-DOS (et pour laquelle vous avez de la place libre) dans
+ <filename>C:\FREEBSD</filename>&nbsp;-&nbsp;la distribution
+ <abbrev>BIN</abbrev> n'est que le minimum obligatoire.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Avant d'installer &agrave; partir de bandes QIC/SCSI</title>
+
+ <para>Installer &agrave; partir de bandes est probablement la m&eacute;thode la plus
+ simple, mis &agrave; part l'installation en ligne avec FTP ou depuis le
+ CD-ROM. Le programme d'installation s'attend &agrave; ce que les fichiers
+ soient simplement archiv&eacute;s avec <command>tar</command> sur la bande,
+ donc, apr&egrave;s avoir r&eacute;cup&eacute;r&eacute; tous les fichiers des distributions qui
+ vous int&eacute;ressent, recopiez-les par <command>tar</command> avec une
+ commande comme:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cd /freebsd/distdir</userinput>
+&prompt.root; <userinput>tar cvf /dev/rwt0 dist1 ... dist2</userinput></screen>
+ </informalexample>
+
+
+ <para>Quand vous installez, vous devez aussi vous assurer qu'il y a
+ assez de place dans un r&eacute;pertoire temporaire (que vous pourrez
+ choisir) pour y mettre le contenu <emphasis>entier</emphasis> de la
+ bande que vous avez cr&eacute;&eacute;e. Vous devez donc vous attendre &agrave; avoir
+ besoin d'autant d'espace de stockage temporaire que vous avez mis
+ de donn&eacute;es sur la bande.</para>
+
+ <note>
+ <para>Au moment d'installer, la bande doit &ecirc;tre dans le lecteur
+ <emphasis>avant</emphasis> de d&eacute;marrer avec la disquette. Sinon,
+ les tests risquent de ne pas la trouver.</para>
+ </note>
+ </sect2>
+
+ <sect2>
+ <title>Avant d'installer via le r&eacute;seau</title>
+
+ <para>Vous pouvez installer en r&eacute;seau avec trois sortes de
+ communications:</para>
+
+ <variablelist>
+ <varlistentry><term>Port s&eacute;rie:</term>
+ <listitem>
+ <para>SLIP ou PPP,</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Port parall&egrave;le:</term>
+
+ <listitem>
+ <para>PLIP (c&acirc;ble &ldquo;laplink&rdquo;),</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Ethernet:</term>
+
+ <listitem>
+ <para>Contr&ocirc;leur Ethernet standard (y compris certains
+ contr&ocirc;leurs PCMCIA).</para>
+
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>Le support SLIP est assez rudimentaire et essentiellement
+ limit&eacute; aux lignes directes. Les liaisons doivent &ecirc;tre directes car
+ la proc&eacute;dure d'installation SLIP n'offre pas actuellement de
+ possibilit&eacute; de connexion t&eacute;l&eacute;phonique; cette fonctionnalit&eacute; existe
+ avec l'utilitaire PPP, qu'il faut utiliser de pr&eacute;f&eacute;rence &agrave; SLIP
+ chaque fois que c'est possible.</para>
+
+ <para>Si vous utilisez un modem, PPP est certainement votre seul
+ choix. Veillez &agrave; avoir sous la main les informations concernant
+ votre fournisseur d'acc&egrave;s car vous en aurez besoin assez t&ocirc;t dans
+ la proc&eacute;dure d'installation. Vous devrez savoir comment appeler
+ votre fournisseur d'acc&egrave;s Internet en utilisant les &ldquo;commandes
+ AT&rdquo; propres &agrave; votre modem, car le programme d'appel PPP ne
+ fournit qu'un &eacute;mulateur de terminal tr&eacute;s simplifi&eacute;. Si vous utilisez
+ PAP ou CHAP, vous devrez taper les commandes <command>set
+ authname</command> et <command>set authkey</command> avant de taper
+ <command>term</command>. Reportez-vous aux sections concernant PPP
+ int&eacute;gr&eacute; au noyau du <link linkend="userppp">manuel</link> ou de la
+ <ulink url="&url.faq;index.html">FAQ</ulink>
+ pour plus d'informations. Si vous avez des probl&egrave;mes, connectez-vous
+ directement &agrave; l'&eacute;cran avec la commande <command>set log local
+ ...</command>.</para>
+
+ <para>Si vous disposez d'une liaison directe &agrave; une autre machine
+ FreeBSD (2.0R ou ult&eacute;rieur), vous pouvez aussi envisager
+ l'installation avec un c&acirc;ble &ldquo;laplink&rdquo; sur le port
+ parall&egrave;le, la vitesse de transmission est sup&eacute;rieure &agrave; celle que
+ l'on obtient habituellement avec une liaison s&eacute;rie, ce qui acc&eacute;l&egrave;re
+ l'installation.</para>
+
+ <para>Finalement, pour une installation en r&eacute;seau la plus rapide
+ possible, une carte Ethernet est toujours un bon choix! FreeBSD
+ supporte la plupart des cartes Ethernet PC courantes. Il y a une
+ liste des cartes Ethernet support&eacute;es (et du param&egrave;trage requis)
+ &agrave; la section <link linkend="install-hw">Configurations
+ support&eacute;es</link>.
+ Si vous utilisez l'une des cartes Ethernet PCMCIA suport&eacute;es, ayez
+ soin de la mettre en place <emphasis>avant</emphasis> de mettre le
+ portable sous tension! FreeBSD ne supporte malheureusement pas
+ encore le branchement &agrave; chaud des cartes PCMCIA pendant
+ l'installation.</para>
+
+ <para>Vous devrez aussi conna&icirc;tre votre adresse IP sur le r&eacute;seau, le
+ masque de r&eacute;seau pour votre classe d'adresses et le nom de votre
+ machine. Votre administrateur syst&egrave;me peut vous dire quelles
+ valeurs vous devez utiliser pour votre configuration r&eacute;seau
+ particuli&egrave;re. Si vous devez r&eacute;f&eacute;rencer d'autres machines par leur
+ nom plut&ocirc;t que par leurs adresses IP, vous devrez aussi conna&icirc;tre
+ un serveur de noms et peut-&ecirc;tre l'adresse d'une passerelle (si vous
+ utilisez PPP, c'est l'adresse IP de votre fournisseur d'acc&egrave;s) pour
+ acc&egrave;der &agrave; ce serveur. Si vous n'avez pas les r&eacute;ponses &agrave; toutes ces
+ questions, vous devriez vraiment en discuter
+ <emphasis>d'abord</emphasis> avec votre administrateur syst&egrave;me,
+ avant de vous lancer dans ce type d'installation.</para>
+
+ <para>Une fois que vous avez une liaison d'un type ou l'autre qui
+ fonctionne, l'installation peut continuer avec NFS ou FTP.</para>
+
+ <sect3>
+ <title>Pr&eacute;parer l'installation par NFS</title>
+
+ <para>L'installation par NFS est assez directe: copiez simplement
+ les fichiers de la distribution de FreeBSD que vous voulez quelque
+ part sur le serveur et mentionnez ce r&eacute;pertoire au moment de
+ s&eacute;lectionner le support NFS.</para>
+
+ <para>Si le serveur n'accepte que les acc&egrave;s sur les &ldquo;ports
+ privil&eacute;gi&eacute;s&rdquo; (ce qui est g&eacute;n&eacute;ralement par d&eacute;faut le cas sur
+ les stations de travail Sun), vous devrez le pr&eacute;ciser dans le
+ menus des &ldquo;Options&rdquo; pour que l'installation puisse
+ continuer.</para>
+
+ <para>Si vous avez une carte Ethernet de mauvaise qualit&eacute; et des
+ vitesses de transfert tr&egrave;s faibles, vous devrez peut-&ecirc;tre aussi
+ positionner l'indicateur appropri&eacute; dans ce menu.</para>
+
+ <para>Pour que l'installation par NFS fonctionne, le serveur doit
+ pouvoir monter des sous-r&eacute;pertoires, e.g., si le r&eacute;pertoire pour
+ votre distribution de FreeBSD &rel.current; est
+ <filename>ziggy:/usr/archive/stuff/FreeBSD</filename>, alors
+ <hostid>ziggy</hostid> doit autoriser le montage de
+ <filename>/usr/archive/stuff/FreeBSD</filename>, et non simplement
+ de <filename>/usr</filename> ou
+ <filename>/usr/archive/stuff</filename>.</para>
+
+ <para>Dans le fichier <filename>/etc/exports</filename> de FreeBSD,
+ on l'autorise avec l'option <option>-alldirs</option>. Il peut y
+ avoir d'autres conventions avec d'autres serveurs NFS. Si le
+ serveur vous envoie des messages
+ <errortype>Permission Denied</errortype>, il est probable que
+ c'est parce que vous n'avez pas activ&eacute; correctemment cette
+ fonctionnalit&eacute;.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>Pr&eacute;parer l'Installation par FTP</title>
+
+ <para>L'installation par FTP peut se faire &agrave; partir de n'importe
+ quel site miroir sur lequel il y a une version suffisamment
+ &agrave; jour de FreeBSD &rel.current;. Le menu des sites FTP propose
+ un choix raisonnable de sites pour &agrave; peu pr&egrave;s n'importe quel
+ endroit du globe.</para>
+
+ <para>Si vous voulez installer depuis une autre site FTP qui n'est
+ pas list&eacute; dans le menu, ou avez des difficult&eacute;s &agrave; configurer
+ correctement votre serveur de noms, vous pouvez aussi pr&eacute;ciser
+ l'URL de votre choix en s&eacute;lectionnant l'option
+ &ldquo;Other&rdquo;&nbsp;-&nbsp;autre&nbsp;-&nbsp;de
+ ce menu. Vous pouvez aussi donner
+ directement l'adresse IP. Ceci par exemple fonctionnerait en
+ l'absence d'un serveur de noms:</para>
+
+ <informalexample>
+ <screen>ftp://165.113.121.81/pub/FreeBSD/&rel.current;-RELEASE</screen>
+ </informalexample>
+
+ <para>Il y a deux m&eacute;thodes d'installation par FTP:</para>
+
+ <variablelist>
+ <varlistentry><term>FTP actif</term>
+ <listitem>
+ <para>Utilise le mode &ldquo;Actif&rdquo; pour tous les
+ transferts FTP. Cela ne
+ marchera pas derri&egrave;re un coupe-feu, mais fonctionnera
+ avec les serveurs ftp anciens qui ne supportent pas
+ encore le mode passif. Si votre connexion se bloque
+ en mode passif (qui est le mode par d&eacute;faut), essayez cette
+ m&eacute;thode!</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>FTP passif</term>
+
+ <listitem>
+ <para>Utilise le mode &ldquo;Passif&rdquo; pour tous les
+ transferts FTP. Cela permet de passer les coupe-feux qui
+ n'autorisent pas les connexions entrantes sur des ports
+ non privil&eacute;gi&eacute;s.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <note>
+ <para>Ne confondez pas mode actif et passif et connexion mandat&eacute;e,
+ quand un serveur mandataire &eacute;coute et transmet les requ&ecirc;tes
+ FTP!</para>
+ </note>
+
+ <para>Avec un serveur FTP mandataire, vous devez habituellement
+ donner le nom du serveur r&eacute;el accol&eacute; au nom d'utilisateur, apr&egrave;s
+ une @. Le serveur mandataire passe alors pour le serveur r&eacute;el.
+ Imaginons que vous vouliez installer depuis
+ <hostid role="fqdn">ftp.freebsd.org</hostid>, via le serveur FTP
+ mandataire <hostid role="fqdn">foo.bar.com</hostid>, qui &eacute;coute
+ sur le port 1234.</para>
+
+ <para>Dans ce cas, vous allez dans le menu des options, donnez comme
+ nom d'utilisateur <username>ftp@ftp.freebsd.org</username>, et
+ comme mot de passe votre adresse de courrier &eacute;lectronique. Comme
+ support d'installation, vous pr&eacute;cisez FTP (ou FTP passif, si le
+ serveur mandataire l'accepte) et comme URL
+ <literal>ftp://foo.bar.com:1234/pub/FreeBSD</literal>.</para>
+
+ <para><filename>/pub/FreeBSD</filename> sur
+ <hostid role="fqdn">ftp.freebsd.org</hostid>
+ est alors mandat&eacute; par
+ <hostid role="fqdn">foo.bar.com</hostid>, ce qui vous
+ permet d'installer depuis <emphasis>cette</emphasis>
+ machine (qui va elle chercher les fichiers sur
+ <hostid role="fqdn">ftp.freebsd.org</hostid> au fur et &agrave; mesure
+ des besoins de votre installation).</para>
+
+ </sect3>
+ </sect2>
+ </sect1>
+
+ <sect1>
+ <title>Installer FreeBSD</title>
+
+ <para>Une fois que vous avez &eacute;tabli quelles sont les &eacute;tapes
+ pr&eacute;liminaires appropri&eacute;es &agrave; votre m&eacute;thode
+ d'installation, vous devriez arriver &agrave; installer FreeBSD sans autre probl&egrave;me.</para>
+
+ <para>Dans le cas contraire, revenez sur vos pas et relisez les
+ sections
+ ci-dessus qui s'applique &agrave; la m&eacute;thode que vous essayer d'utiliser, il
+ y a peut-&ecirc;tre une indication utile qui vous a &eacute;chapp&eacute; &agrave; la premi&egrave;re
+ lecture. Si vous avez des probl&egrave;mes avec votre mat&eacute;riel ou si FreeBSD
+ refuse de d&eacute;marrer, lisez le Guide du Mat&eacute;riel fourni sur la
+ disquette de d&eacute;marrage pour avoir une liste de solutions
+ &eacute;ventuelles.</para>
+
+ <para>La disquette de d&eacute;marrage de FreeBSD contient toute la
+ documentation en ligne dont vous devriez avoir besoin pour
+ naviguer dans la proc&eacute;dure d'installation, et si tel n'est
+ pas le cas, nous aimerions savoir ce que vous avez trouv&eacute; le
+ moins clair. Adressez vos remarques &agrave; &a.doc;. Nous souhaitons
+ que le programme d'installation de FreeBSD
+ (<command>sysinstall</command>) soit suffisamment auto-document&eacute;
+ pour que les fastidieux guides d'installation &ldquo;pas-&agrave;-pas&rdquo;
+ deviennent inutiles. Cela nous prendra peut-&ecirc;tre un peu de temps pour
+ y arriver, mais c'est notre objectif!</para>
+
+ <para>En attendant, la &ldquo;s&eacute;quence typique d'installation
+ suivante&rdquo; vous sera peut-&ecirc;tre utile:</para>
+
+ <orderedlist>
+
+ <listitem>
+ <para>D&eacute;marrez avec la disquette d'installation. Apr&egrave;s une
+ s&eacute;quence d'initialisation qui peut prendre de 30 secondes &agrave;
+ 3 minutes, selon votre mat&eacute;riel, vous devriez obtenir le
+ menu des choix initiaux. Si votre machine ne d&eacute;marre pas ou
+ se bloque, lisez la section Questions &amp; R&eacute;ponses du Guide
+ du Mat&eacute;riel pour en conna&icirc;tre les causes possibles.</para>
+ </listitem>
+
+ <listitem>
+ <para>Appuyez sur F1. Vous devriez obtenir quelques indications de
+ base sur l'utilisation du syst&egrave;me de menus et la fa&ccedil;on d'y
+ naviguer. Si vous ne vous &ecirc;tes pas encore servi de ces menus,
+ lisez <emphasis>s'il vous pla&icirc;t</emphasis> ces indications en
+ d&eacute;tail!</para>
+ </listitem>
+
+ <listitem>
+ <para>S&eacute;lectionnez &ldquo;Options&rdquo; et d&eacute;finissez vos
+ pr&eacute;f&eacute;rences.</para>
+ </listitem>
+
+ <listitem>
+ <para>Choisissez l'installation &ldquo;Novice&rdquo;,
+ &ldquo;Custom&rdquo;&nbsp;-&nbsp;personnalis&eacute;e&nbsp;-&nbsp;ou
+ &ldquo;Express&rdquo;, selon que vous pr&eacute;f&eacute;rez que la
+ proc&eacute;dure d'installation vous guide au long des &eacute;tapes d'une
+ installation typique, vous donne une grande latitude dans le
+ choix des &eacute;tapes successives, ou aille au plus rapide (en
+ utilisant des options par d&eacute;faut &agrave; chaque fois que c'est
+ possible). Si vous n'avez encore jamais utilis&eacute; FreeBSD,
+ la m&eacute;thode d'installation &ldquo;Novice&rdquo; est vivement
+ recommand&eacute;e.</para>
+ </listitem>
+
+ <listitem>
+ <para>Le menu final vous permet de configurer encore un peu plus
+ votre installation en vous donnant acc&egrave;s par menus &agrave; diverses
+ options syst&egrave;me. Certains choix, comme ceux qui concernent le
+ r&eacute;seau, peuvent &ecirc;tre
+ particuli&egrave;rement utiles si vous avez install&eacute; depuis le CD-ROM,
+ une bande ou des disquettes et n'avez pas encore configur&eacute; vos
+ interfaces r&eacute;seau (si vous en avez). Si vous les configurez
+ maintenant correctement, votre machine FreeBSD sera sur le
+ r&eacute;seau d&egrave;s le prochain red&eacute;marrage depuis le disque
+ dur.</para>
+ </listitem>
+
+ </orderedlist>
+
+ </sect1>
+
+ <sect1>
+ <title>Questions et R&eacute;ponses pour les utilisateurs MS-DOS</title>
+
+ <para>De nombreux utilisateurs veulent installer FreeBSD sur des PCs
+ qui fonctionnent sous MS-DOS. Voici quelques questions fr&eacute;quentes
+ concernant l'installation de FreeBSD sur de tels syst&egrave;mes.</para>
+
+ <para><emphasis>A l'aide! Je n'ai plus de place! Faut-il que je
+ commence par tout effacer?</emphasis></para>
+
+ <para>Si votre machine tourne d&eacute;j&agrave; sous MS-DOS et qu'il ne vous reste
+ que peu ou pas de place pour installer FreeBSD, tout n'est pas perdu!
+ L'utilitaire FIPS qui se trouve dans le r&eacute;pertoire
+ <filename>tools</filename> du CDROM FreeBSD ou sur les diff&eacute;rents
+ sites ftp vous sera probablement tr&egrave;s utile.</para>
+
+ <para>FIPS vous permet de scinder en deux une partition MS-DOS
+ existante, sans alt&eacute;rer le contenu de la partition originale, pour
+ installer ensuite FreeBSD sur la seconde partition ainsi cr&eacute;&eacute;e; Vous
+ d&eacute;fragmentez d'abord votre partition MS-DOS, avec l'utilitaire DEFRAG
+ de DOS 6.xx ou les utilitaires Disque de Norton, puis utilisez FIPS.
+ Il vous demandera les autres informations dont il a besoin. Vous
+ pouvez ensuite red&eacute;marrer et installer sur la nouvelle
+ &ldquo;tranche&rdquo; libre.
+ Voyez le menu <emphasis>Distributions</emphasis> pour avoir une
+ estimation de la place dont vous aurez besoin selon ce que vous
+ voulez installer.</para>
+
+ <para><emphasis>Puis-je utiliser des syst&egrave;mes de fichiers MS-DOS
+ compress&eacute;s depuis FreeBSD?</emphasis></para>
+
+ <para>Non. Si vous employez des utilitaires tels que Stacker(tm) ou
+ DoubleSpace(tm), FreeBSD ne pourra utiliser que la partie du syst&egrave;me
+ de fichiers que vous n'avez pas compress&eacute;e. Le reste appara&icirc;tra comme
+ un seul gros fichier (le fichier empil&eacute;/r&eacute;duit). <emphasis>N'effacez
+ pas ce fichier!</emphasis> Vous le regretteriez tr&egrave;s
+ certainement!</para>
+
+ <para>Il est probablement mieux de cr&eacute;er une autre partition MS-DOS non
+ compress&eacute;e et de l'utiliser pour les &eacute;changes entre MS-DOS et
+ FreeBSD.</para>
+
+ <para><emphasis>Puis-je monter mes partitions MS-DOS
+ &eacute;tendues?</emphasis></para>
+
+ <para>Oui. Les partitions DOS &eacute;tendues sont r&eacute;f&eacute;renc&eacute;es apr&egrave;s les autres
+ &ldquo;tranches&rdquo; par FreeBSD, exemple: votre disque
+ <devicename>D:</devicename> peut &ecirc;tre appel&eacute;
+ <filename>/dev/sd0s5</filename>, et votre disque
+ <devicename>E:</devicename> <filename>/dev/sd0s6</filename>, et ainsi
+ de suite. Nous supposons bien s&ucirc;r dans cet exemple que votre partition
+ &eacute;tendue est sur le disque SCSI 0. Dans le cas des disques IDE,
+ remplacez <filename>sd</filename> par la r&eacute;f&eacute;rence au disque
+ <filename>wd</filename> appropri&eacute;e. A part cela, les partitions
+ &eacute;tendues se montent exactement comme toutes les autres partitions DOS,
+ e.g.:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>mount -t msdos /dev/sd0s5 /dos_d</userinput></screen>
+ </informalexample>
+
+ <para><emphasis>Puis-je utiliser des binaires MS-DOS sous
+ FreeBSD?</emphasis></para>
+
+ <para>BSDI a l&eacute;gu&eacute; au monde BSD son &eacute;mulateur DOS, qui a &eacute;t&eacute; port&eacute; sous
+ FreeBSD.</para>
+
+ <para>Il y a aussi une belle application (du point de vue technique)
+ disponible au
+ <link linkend="ports">Catalogue des logiciels port&eacute;s</link>,
+ qui s'appelle <command>pcemu</command> et qui vous permet d'utiliser
+ nombre de programmes MS-DOS simples en mode texte en &eacute;mulant un
+ processeur 8088.</para>
+
+ </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:
+-->
+
diff --git a/fr_FR.ISO_8859-1/books/handbook/internals/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/internals/chapter.sgml
new file mode 100644
index 0000000000..1f05f5a3b5
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/internals/chapter.sgml
@@ -0,0 +1,2141 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: 1.8
+-->
+
+<chapter id="internals">
+ <title>Les &ldquo;internes&rdquo; de FreeBSD</title>
+ &trans.a.haby;
+
+ <sect1 id="booting">
+ <title>Le processus de d&eacute;marrage</title>
+
+ <para><emphasis>Contribution de &a.phk;. v1.1, 16 Avril
+ 1995.</emphasis></para>
+
+ <para>Le d&eacute;marrage de FreeBSD est essentiellement un processus en
+ trois &eacute;tapes&nbsp;: charger le noyau, identifier le syst&egrave;me
+ de fichiers racine et initialiser utilisateur. Cela autorise
+ d'int&eacute;ressantes combinaisons d&eacute;crites plus loin.</para>
+
+ <sect2>
+ <title>Charger un noyau</title>
+
+ <para>Nous disposons actuellement des trois m&eacute;canismes de base
+ d&eacute;crits ci-dessous pour charger un noyau&nbsp;: ils transmettent
+ tous des informations au noyau afin de l'aider &agrave; d&eacute;cider
+ de ce qu'il doit faire ensuite.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>Biosboot</term>
+
+ <listitem>
+ <para>Biosboot est notre &ldquo;code de d&eacute;marrage&rdquo;.
+ Il consiste en deux fichiers qui seront copi&eacute;s sur les huit
+ premiers kilo-octets de la disquette ou de la
+ &ldquo;tranche&rdquo;&nbsp;-&nbsp;<foreignphrase>slice</foreignphrase>&nbsp;-&nbsp;du
+ disque dur &agrave; partir de laquelle on d&eacute;marrera.</para>
+
+ <para>Biosboot peut charger un noyau donn&eacute; par son nom dans
+ un syst&egrave;me de fichiers FreeBSD.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Dosboot</term>
+
+ <listitem>
+ <para>Dosboot a &eacute;t&eacute; &eacute;crit par DI. Christian
+ Gusenbauer, et c'est malheureusement actuellement l'un des
+ quelques codes qui ne compilent pas sous FreeBSD, parce qu'il est
+ &eacute;crit pour les compilateurs Microsoft.</para>
+
+ <para>Dosboot peut charger un noyau depuis un fichier MS-DOS ou un
+ syst&egrave;me de fichiers FreeBSD sur disque. Il essaye de
+ n&eacute;gocier avec les divers et &eacute;tranges
+ gestionnires de m&eacute;moire qui hantent les adresses hautes des
+ syst&egrave;mes MS-DOS et les gagne en g&eacute;n&eacute;ral
+ &agrave; sa cause.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Netboot</term>
+
+ <listitem>
+ <para>Netboot recherche une carte Ethernet support&eacute;e et
+ utilise BOOTP, TFTP et NFS pour trouver un noyau permettant de
+ d&eacute;marrer.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect2>
+
+ <sect2>
+ <title>Identifier le syst&egrave;me de fichiers racine</title>
+
+ <para>D&egrave;s que le noyau est charg&eacute; et que le code de
+ d&eacute;marrage lui passe la main, le noyau s'initialise, il essaie de
+ d&eacute;terminer quels sont les mat&eacute;riels install&eacute;s, et
+ ainsi de suite; il lui faut ensuite trouver le syst&egrave;me de
+ fichiers racine.</para>
+
+ <para>Nous reconnaissons actuellement les types suivants de
+ syst&egrave;mes de fichiers racine&nbsp;:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>UFS</term>
+
+ <listitem>
+ <para>C'est le type de syst&egrave;me de fichiers racine le plus
+ habituel. Il peut &ecirc;tre sur disquette ou sur disque
+ dur.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>MSDOS</term>
+
+ <listitem>
+ <para>Bien que ce soit techniquement possible, ce n'est pas
+ particuli&egrave;rement utile, du fait de l'impossibilit&eacute;
+ pour le syst&egrave;me de fichiers <acronym>FAT</acronym> de
+ g&eacute;rer les liens, les fichiers sp&eacute;ciaux et autres
+ particularit&eacute;s &ldquo;UNIX&rdquo;.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>MFS</term>
+
+ <listitem>
+ <para>Il s'agit en r&eacute;lit&eacute; d'un syst&egrave;me de
+ fichiers UFS int&eacute;gr&eacute; au noyau &agrave; la
+ compilation de ce dernier. Cela signifie que le noyau n'a pas
+ vraiment besoin de disque dur, disquette ou autre mat&eacute;riel
+ pour s'ex&eacute;cuter.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>CD9660</term>
+
+ <listitem>
+ <para>Cela permet d'utiliser un CD-ROM comme syst&egrave;me de
+ fichiers racine.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>NFS</term>
+
+ <listitem>
+ <para>Cela permet d'utiliser un serveur de fichiers comme
+ syst&egrave;me de fichiers racine, essentiellement pour
+ faire fonctionner une machine sans disque dur.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect2>
+
+ <sect2>
+ <title>Initialiser l'environnement utilisateur</title>
+
+ <para>Pour que les programmes utilisateur puissent s'ex&eacute;cuter, le
+ noyau, quand la phase d'initialisation est termin&eacute;e, lance un
+ processus de <literal>pid == 1</literal> et ex&eacute;cute
+ un programme du syst&egrave;me de fichiers racine;, normalement
+ <filename>/sbin/init</filename>.</para>
+
+ <para>Vous pouvez remplacer <command>/sbin/init</command> par n'importe
+ quel programme, tant que vous vous rappelez que&nbsp;:</para>
+
+ <para>Il n'y a pas de stdin/out/err &agrave; moins que vous ne les ouvriez
+ vous-m&ecirc;me. Si vous sortez du programme, la machine panique. La
+ gestion des signaux par le processus de <literal>pid == 1</literal> est
+ particuli&egrave;re &agrave; ce processus.</para>
+
+ <para>Le programme <command>/stand/sysinstall</command> de la disquette
+ d'installation est un exemple d'&ldquo;init&rdquo; adapt&eacute;.</para>
+ </sect2>
+
+ <sect2>
+ <title>Combinaisons int&eacute;ressantes</title>
+
+ <para>D&eacute;marrer un noyau contenant un syst&egrave;me de fichiers MFS
+ avec un programme <filename>/sbin/init</filename> particulier
+ qui...</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>A &mdash; En utilisant DOS</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>monte votre disque <filename>C:</filename> sous le
+ r&eacute;pertoire <filename>/C:</filename></para>
+ </listitem>
+
+ <listitem>
+ <para>attache le fichier sp&eacute;cial
+ <filename>/dev/vn0</filename> au fichier
+ <filename>C:/freebsd.fs</filename></para>
+ </listitem>
+
+ <listitem>
+ <para>monte <filename>/dev/vn0</filename> sous
+ <filename>/rootfs</filename></para>
+ </listitem>
+
+ <listitem>
+ <para>cr&eacute;e les liens symboliques
+ <filename>/rootfs/bin</filename> -&gt;
+ <filename>/bin</filename>,
+ <filename>/rootfs/etc</filename> -&gt;
+ <filename>/etc</filename>,
+ <filename>/rootfs/sbin</filename> -&gt;
+ <filename>/sbin</filename> (etc.)</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Vous faites maintenant tourner FreeBSD sans avoir
+ repartitionn&eacute; votre disque dur...</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>B &mdash; En utilisant NFS</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>monte avec NFS votre
+ <filename>serveur:~vous/FreeBSD</filename> sur
+ <filename>/nfs</filename>, red&eacute;finit la racine comme
+ <filename>/nfs</filename>&nbsp;-&nbsp;avec
+ <citerefentry><refentrytitle>chroot</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>&nbsp;-&nbsp;et
+ y ex&eacute;cute <filename>/sbin/init</filename></para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Vous faites maintenant tourner FreeBSD sans disque dur, bien
+ que vous n'ayez pas le contr&ocirc;le du serveur NFS...</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>C &mdash; D&eacute;marre un serveur X</term>
+
+ <listitem>
+ <para>Vous avez maintenant un terminal X, bien plus efficace que X
+ sous Windows, tellement lent que vous pouvez- voir- tout- ce
+ qu'il- fait, alors que votre patron assure que cela est toujours
+ mieux que de d&eacute;penser encore de l'argent en
+ mat&eacute;riel.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>D &mdash; En utilisant une bande</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>copie <filename>/dev/rwd0</filename> sur un lecteur de
+ bandes sur le r&eacute;seau ou sur un serveur de
+ fichiers.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Vous avez finalement la sauvegarde que vous auriez d&ucirc;
+ faire il y a un an d&eacute;j&agrave;...</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>E &mdash; Fonctionne
+ comme coupe-feu&nbsp;/&nbsp;serveur Web&nbsp;/&nbsp;que sais-je
+ encore...</term>
+
+ <listitem>
+ <para>C'est particuli&egrave;rement int&eacute;ressant parce que
+ vous pouvez d&eacute;marrer &agrave; partir d'une disquette
+ prot&eacute;g&eacute;e en &eacute;criture, et pouvez malgr&eacute;
+ tout &eacute;crire sur votre syst&egrave;me de fichiers
+ racine.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect2>
+ </sect1>
+
+ <sect1 id="memoryuse">
+ <title>Utilisation de la m&eacute;moire du PC</title>
+
+ <para><emphasis>Contribution de &a.joerg;. 16 Avril 1995.</emphasis></para>
+
+ <para><emphasis>Une br&egrave;ve description de la mani&egrave;re dont
+ FreeBSD utilise la m&eacute;moire sur les plates-formes
+ i386</emphasis></para>
+
+ <para>Le secteur de d&eacute;marrage est charg&eacute; &agrave; l'adresse
+ <literal>0:0x7c00</literal>, et se reloge imm&eacute;diatement &agrave;
+ l'adresse <literal>0x7c0:0</literal>. (Il n'y a rien de myst&eacute;rieux
+ l&agrave;-dedans, c'est seulement un ajustement du registre
+ <literal>%cs</literal>, effectu&eacute; par un
+ <literal>ljmp</literal>.)</para>
+
+ <para>Il charge ensuite les quinze premiers secteurs &agrave; l'adresse
+ <literal>0x10000</literal> (segment <makevar>BOOTSEG</makevar> dans le
+ <filename>Makefile</filename> de
+ <citerefentry><refentrytitle>biosboot</refentrytitle></citerefentry>), et
+ initialise la pile pour qu'elle travaille aux adresses en-dessous
+ de <literal>0x1fff0</literal>. Il passe ensuite au point d'entr&eacute;e
+ <literal>boot2</literal> de ce code, i.e. il se branche au-del&agrave; de
+ lui-m&ecirc;me et de la table de partition (fictive), et ajuste le
+ registre <literal>%cs</literal>&mdash;nous sommes alors encore en
+ mode 16-bits.</para>
+
+ <para><literal>boot2</literal> recherche le fichier de d&eacute;marrage, et
+ examine son en-t&ecirc;te <filename>a.out</filename>. Il masque le point
+ d'entr&eacute;e de ce fichier (habituellement
+ <literal>0xf0100000</literal>) avec <literal>0x00ffffff</literal> et
+ charge le code &agrave; l'adresse ainsi obtenue. Il est donc
+ g&eacute;n&eacute;ralement charg&eacute; &agrave; l'adresse 1 MB
+ (<literal>0x00100000</literal>). Pendant le chargement, le code va et
+ vient entre le mode r&eacute;el et le mode prot&eacute;g&eacute;, pour
+ utiliser le BIOS en mode r&eacute;el.</para>
+
+ <para>Le code de d&eacute;marrage lui-m&ecirc;me utilise les
+ s&eacute;lecteurs de segment <literal>0x18</literal> et
+ <literal>0x20</literal> pour <literal>%cs</literal> et
+ <literal>%ds/%es</literal> en mode prot&eacute;g&eacute;, et
+ <literal>0x28</literal> pour revenir en mode r&eacute;el. Le noyau est
+ finalement lanc&eacute; avec <literal>%cs</literal>
+ <literal>0x08</literal> et <literal>%ds/%es/%ss</literal>
+ <literal>0x10</literal>, qui constituent des descripteurs fictifs
+ recouvrant la totalit&eacute; de l'espace d'adressage.</para>
+
+ <para>Le noyau d&eacute;marre &agrave; l'adresse &agrave; laquelle il est
+ charg&eacute;. Comme son &eacute;dition de liens a &eacute;t&eacute;
+ effectu&eacute;e pour une autre adresse (haute), il doit ex&eacute;cuter
+ du code <literal>PIC</literal> jusqu'&agrave; ce que la table de pages et
+ le r&eacute;pertoire des pages soient correctement renseign&eacute;s, la
+ pagination peut alors &ecirc;tre activ&eacute;e et le noyau
+ s'ex&eacute;cuter &agrave; l'adresse pour laquelle il a &eacute;t&eacute;
+ g&eacute;n&eacute;r&eacute;.</para>
+
+ <para><emphasis>Contribution de &a.dg;. 16 Avril 1995.</emphasis></para>
+
+ <para>Les pages physiques qui suivent imm&eacute;diatement le segment
+ <literal>BSS</literal> du noyau contiennent le r&eacute;pertoire de pages
+ de <literal>proc0</literal>, ses tables de pages et les
+ pages utilisateur. Plus tard, quand le syst&egrave;me de
+ m&eacute;moire virtuelle est initialis&eacute;, la m&eacute;moire
+ physique entre <literal>0x1000-0x9ffff</literal> et la m&eacute;moire
+ physique apr&egrave;s le noyau (<literal>text+data+bss+proc0+d'autres
+ choses</literal>) est mise &agrave; disposition sous forme de pages de
+ m&eacute;moire virtuelle ordinaires et ajout&eacute;e &agrave; la liste
+ globales des pages libres.</para>
+ </sect1>
+
+ <sect1 id="dma">
+ <title>L'acc&egrave;s direct &agrave; la
+ m&eacute;moire&nbsp;-&nbsp;-<foreignphrase>DMA</foreignphrase>&nbsp;:
+ Qu'est-ce que c'est et comment &ccedil;a marche</title>
+
+ <para><emphasis>Copyright &copy; 1995,1997 &a.uhclem;, Tous Droits
+ R&eacute;serv&eacute;s. 10 D&eacute;cembre 1996. Derni&egrave;re mise
+ &agrave; jour le 8 Octobre 1997.</emphasis></para>
+
+ <para>L'acc&egrave;s direct &agrave; la
+ m&eacute;moire&nbsp;-&nbsp;<foreignphrase>Direct
+ Memory Access (DMA)</foreignphrase>&nbsp;-&nbsp;est une technique qui
+ permet que les mouvements de donn&eacute;es entre la m&eacute;moire et
+ les p&eacute;riph&eacute;riques se fassent sans intervention de
+ l'unit&eacute; centrale (<foreignphrase>CPU</foreignphrase>).</para>
+
+ <para>L'impl&eacute;mentation de l'acc&egrave;s direct &agrave; la
+ m&eacute;moire diff&egrave;re selon les architectures mat&eacute;rielles,
+ nous limiterons donc la discussion &agrave; son impl&eacute;mentation sur
+ l'ordinateur personnel IBM (<foreignphrase>PC</foreignphrase>), sur l'IBM
+ PC/AT, ses successeurs et ses diff&eacute;rents clones.</para>
+
+ <para>Le sous-syst&egrave;me DMA du PC repose sur le contr&ocirc;leur DMA
+ Intel 8237. Ce contr&ocirc;leur g&egrave;re quatre canaux DMA qui peuvent
+ &ecirc;tre programm&eacute;s s&eacute;par&eacute;ment et chacun de ces
+ canaux peut &ecirc;tre le canal actif &agrave; un moment donn&eacute;. Ces
+ canaux sont num&eacute;rot&eacute;s 0, 1, 2 et 3. Depuis le PC/AT, IBM a
+ ajout&eacute; une seconde puce 8237, et num&eacute;rot&eacute; ces canaux
+ 4, 5, 6 et 7.</para>
+
+ <para>Le contr&ocirc;leur DMA d'origine (0,1, 2 et 3) effectue les
+ transferts octet par octet. Le second contr&ocirc;leur DMA (4, 5, 6 et 7)
+ effectue les transferts 16 bits par 16 bits, le premier octet &eacute;tant
+ toujours un octet d'adresse paire. Les deux contr&ocirc;leurs sont des
+ composants identiques, la diff&eacute;rence dans la taille des transferts
+ vient du c&agrave;blage diff&eacute;rent du second
+ contr&ocirc;leur.</para>
+
+ <para>Il y a deux signaux &eacute;lectriques par canal sur le 8237,
+ appel&eacute;s DRQ (<foreignphrase>Data Request</foreignphrase>) et -DACK
+ (<foreignphrase>Data Acknowledge</foreignphrase>). Il y a des signaux suppl&eacute;mentaires dont les noms sont HRQ (<foreignphrase>Hold
+ Request</foreignphrase>), HLDA (<foreignphrase>Hold
+ Ackwnoledge</foreignphrase>), -EOP (<foreignphrase>End Of
+ Process</foreignphrase>) et des signaux de contr&ocirc;le du bus -MEMR
+ (<foreignphrase>Memory Read</foreignphrase>), -MEMW (<foreignphrase>Memory
+ Write</foreignphrase>), -IOR (<foreignphrase>I/O Read</foreignphrase>) et
+ IOW (<foreignphrase>I/O Write</foreignphrase>).</para>
+
+ <para>Le contr&ocirc;leur DMA 8237 est un contr&ocirc;leur
+ &ldquo;<foreignphrase>fly-by</foreignphrase>&rdquo;&nbsp;-&nbsp;transparent.
+ Cela signifie que les donn&eacute;es transf&eacute;r&eacute;es ne
+ transitent pas par la puce DMA et n'y sont pas m&eacute;moris&eacute;es.
+ En cons&eacute;quence, le DMA ne peut effectuer de transferts qu'entre un
+ port d'entr&eacute;e/sortie et la m&eacute;moire, pas entre deux ports
+ d'entr&eacute;e/sortie ou deux adresses m&eacute;moire.</para>
+
+ <note>
+ <para>Le 8237 autorise l'interconnexion de deux de ses canaux pour
+ permettre les op&eacute;rations DMA de m&eacute;moire &agrave;
+ m&eacute;moire, en mode
+ non-&ldquo;<foreignphrase>fly-by</foreignphrase>&rdquo;, mais nul dans
+ l'industrie du PC n'utilise cette ressource rare de cette fa&ccedil;on,
+ parce qu'il est plus rapide de transf&eacute;rer des donn&eacute;es
+ entre deux adresses m&eacute;moire en passant par le processeur.</para>
+ </note>
+
+ <para>Dans l'architecture PC, chaque canal DMA est normalement activ&eacute;
+ uniquement quand le mat&eacute;riel qui utilise le canal DMA en question
+ demande un transfert en validant la ligne DRQ pour ce canal.</para>
+
+ <sect2>
+ <title>Un exemple de transfert DMA</title>
+
+ <para>Voici un exemple des &eacute;tapes successives qui provoquent et
+ effectuent un transfert DMA. Dans cet exemple, le contr&ocirc;leur
+ du lecteur de disquette&nbsp;-&nbsp;<foreignphrase>floppy disk
+ controller (FDC)</foreignphrase>&nbsp;-&nbsp;vient de lire un octet sur
+ la disquette et demande au DMA de le ranger &agrave; l'adresse
+ m&eacute;moire <literal>0x00123456</literal>. Le processus commence
+ quand le FDC active le signal DRQ2 (la ligne DRQ pour le canal DMA
+ num&eacute;ro 2) pour pr&eacute;venir le contr&ocirc;leur DMA.</para>
+
+ <para>Le contr&ocirc;leur DMA s'aper&ccedil;oit que le signal DRQ2 est
+ positionn&eacute; et s'assure que le canal DMA 2 est programm&eacute;
+ et non-masqu&eacute; (activ&eacute;). Le contr&ocirc;leur DMA s'assure
+ aussi qu'aucun autre canal DMA n'est actif ou ne demande &agrave;
+ l'&ecirc;tre et poss&egrave;de une plus haute priorit&eacute;. Ces
+ v&eacute;rifications faites, le DMA demande au processeur de
+ lib&eacute;rer le bus pour pouvoir l'utiliser. Il le fait en activant
+ le signal HRQ, envoy&eacute; au processeur.</para>
+
+ <para>Le CPU d&eacute;tecte le signal HRQ et termine l'ex&eacute;cution de
+ l'instruction en cours. D&egrave;s que le processeur est en mesure de
+ lib&eacute;rer le bus, il le fait. Tous les signaux normalement
+ g&eacute;n&eacute;r&eacute;s par le processeur (-MEMR, -MEMW, -IOR,
+ -IOW et quelques autres) sont positionn&eacute;s dans un &eacute;tat
+ interm&eacute;diaire (ni haut, ni bas), puis le CPU positionne le
+ signal HDLA qui pr&eacute;vient le contr&ocirc;leur DMA qu'il a
+ maintenant le contr&ocirc;le du bus.</para>
+
+ <para>Selon le processeur, le CPU peut encore &ecirc;tre capable
+ d'ex&eacute;cuter quelques instructions suppl&eacute;mentaires bien
+ qu'il n'ait plus acc&egrave;s au bus, mais il peut aussi devoir
+ attendre lorsqu'il arrive sur une instruction qui doit lire une
+ donn&eacute;e en m&eacute;moire et que celle-ci ne se trouve pas dans le
+ cache interne du processeur ou dans son
+ canal&nbsp;-&nbsp;&ldquo;<foreignphrase>pipeline</foreignphrase>&rdquo;.</para>
+
+ <para>Maintenant que le DMA &ldquo;a la main&rdquo;, il active ses signaux
+ de sortie -MEMR, -MEMW, -IOR, -IOW, et fixe l'adresse de sortie du DMA
+ en <literal>0x3456</literal>, adresse qui sera utilis&eacute;e pour
+ diriger l'octet qui va &ecirc;tre transf&eacute;r&eacute; vers une
+ adresse m&eacute;moire donn&eacute;e.</para>
+
+ <para>Le DMA avertit ensuite le p&eacute;riph&eacute;rique qui a
+ demand&eacute; le transfert que celui-ci commence, en positionnant le
+ signal -DACK, ou, dans le cas du contr&ocirc;leur de disquette, le
+ signal -DACK2.</para>
+
+ <para>C'est maintenant au contr&ocirc;leur de disquette de placer l'octet
+ &agrave; transf&eacute;rer sur les lignes de donn&eacute;es du bus. A
+ moins qu'il ne faille plus de temps au contr&ocirc;leur de disquette
+ pour placer l'octet de donn&eacute;e sur le bus (et dans ce cas, il
+ pr&eacute;vient le DMA via le signal READY), le DMA attend un cycle de
+ son horloge, puis d&eacute;sactive les signaux -MEMW et -IOR, de
+ fa&ccedil;on &agrave; ce que la m&eacute;moire bascule et stocke
+ l'octet qui se trouve sur le bus, et que le contr&ocirc;leur de
+ disquette sache que l'octet a &eacute;t&eacute;
+ transf&eacute;r&eacute;.</para>
+
+ <para>Comme le DMA ne transf&egrave;re qu'un seul octet &agrave; la fois
+ et par cycle, le FDC d&eacute;sactive maintenant le signal DRQ2, de
+ sorte que le DMA sache que l'on n'a plus besoin de ses services. Le
+ DMA d&eacute;sactive alors le signal -DACK2, pour avertir le FDC de
+ ne plus mettre de donn&eacute;e sur le bus.</para>
+
+ <para>Le DMA regarde alors si les autres canaux DMA ont des
+ op&eacute;rations &agrave; effectuer. Si aucun des canaux n'a sa ligne
+ DRQ active, le travail du contr&ocirc;leur DMA est termin&eacute; et il
+ positionne ses signaux -MEMR, -MEMW, -IOR, -IOW et d'adresse dans un
+ &eacute;tat interm&eacute;diaire.</para>
+
+ <para>Pour finir, le DMA d&eacute;sactive le signal HRQ. Le CPU s'en
+ aper&ccedil;oit et d&eacute;sactive le signal HOLDA puis active ses
+ signaux -MEMR, -MEMW, -IOR, -IOW et d'adresse et enfin reprend
+ l'ex&eacute;cution des instructions et ses acc&egrave;s &agrave; la
+ m&eacute;moire et aux p&eacute;riph&eacute;riques.</para>
+
+ <para>Pour un secteur de disquette typique, le processus ci-dessus est
+ r&eacute;p&eacute;t&eacute; 512 fois, une fois pour chaque octet. Chaque
+ fois qu'un octet est transf&eacute;r&eacute;, le registre d'adresse du
+ DMA est incr&eacute;ment&eacute; et le compteur du DMA qui indique
+ combien d'octets ont &eacute;t&eacute; transf&eacute;r&eacute;s,
+ d&eacute;cr&eacute;ment&eacute;.</para>
+
+ <para>Quand le compteur arrive &agrave; z&eacute;ro, le DMA positionne le
+ signal EOP, qui indique que son compteur est nul et qu'aucune autre
+ donn&eacute;e ne sera transf&eacute;r&eacute;e tant que le
+ contr&ocirc;leur DMA n'aura pas &eacute;t&eacute; reprogramm&eacute; par
+ le CPU. Cet &eacute;v&eacute;nement est aussi appel&eacute;
+ &ldquo;fin de d&eacute;compte&rdquo;&nbsp;-&nbsp;<foreignphrase>Terminal
+ Count (TC)</foreignphrase>. Il n'y a qu'un seul signal EOP, et comme il
+ ne peut y avoir qu'un seul canal DMA actif &agrave; un moment
+ donn&eacute;, c'est n&eacute;cessairement le canal DMA actuellement
+ actif qui vient de terminer sa t&acirc;che.</para>
+
+ <para>Si un p&eacute;riph&eacute;rique veut g&eacute;n&eacute;rer une
+ interruption &agrave; la fin du transfert d'un tampon, il peut tester si
+ les signaux -DACKn et EOP sont simultan&eacute;ment actifs. Quand cela
+ se produit, c'est que le DMA ne transf&eacute;rera plus d'autre
+ donn&eacute;e pour ce p&eacute;riph&eacute;rique sans intervention du
+ CPU. Le p&eacute;riph&eacute;rique peut alors positionner un de ses
+ signaux d'interruption pour avertir le CPU. Dans l'architecture PC, le
+ circuit DMA lui-m&ecirc;me ne peut pas g&eacute;n&eacute;rer
+ d'interruption. Le p&eacute;riph&eacute;rique et l'&eacute;lectronique
+ associ&eacute;e sont responsables de la g&eacute;n&eacute;ration de
+ toutes les interruptions qui peuvent intervenir. Il est en
+ cons&eacute;quence impossible d'avoir des p&eacute;riph&eacute;riques
+ qui utilisent le DMA mais n'emploient pas d'interruptions.</para>
+
+ <para>Il est important de comprendre que bien que le CPU laisse toujours
+ l'acc&egrave;s au bus au DMA quand le DMA effectue sa demande, cette
+ action est transparente pour les applications et pour le
+ syst&egrave;me d'exploitation, hormis pour le petit temps
+ suppl&eacute;mentaire que met le processeur agrave; ex&eacute;cuter des
+ instructions quand le DMA est actif. En cons&eacute;quence, le
+ processeur doit interroger les p&eacute;riph&eacute;riques, les
+ registres du DMA ou recevoir une interruption du
+ p&eacute;riph&eacute;rique pour &ecirc;tre s&ucirc;r qu'un transfert DMA
+ est termin&eacute;.</para>
+ </sect2>
+
+ <sect2>
+ <title>Les registres de page DMA et la limite d'adressage de 16Mo</title>
+
+ <para>Vous avez peut-&ecirc;tre d&eacute;j&agrave; remarqu&eacute; qu'au
+ lieu de prendre pour adresse la valeur <literal>0x00123456</literal>, le
+ DMA utilise la valeur <literal>0x3456</literal>. Cela m&eacute;rite
+ quelques explications.</para>
+
+ <para>Quand l'IBM PC d'origine a &eacute;t&eacute; con&ccedil;u, IBM a
+ choisi d'utiliser &agrave; la fois des circuits contr&ocirc;leur DMA et
+ contr&ocirc;leur d'interruptions pr&eacute;vus pour le 8085, un
+ processeur 8-bits avec un espace adressable sur 16 bits (64Ko). Comme
+ l'IBM PC supportait plus de 64Ko de m&eacute;moire, il fallait trouver
+ le moyen de permettre au DMA de lire ou d'&eacute;crire &agrave; des
+ emplacements m&eacute;moire au-del&agrave; de la limite de 64Ko. Pour
+ r&eacute;soudre le probl&egrave;me, IBM a ajout&eacute; un registre
+ externe pour chaque canal DMA qui re&ccedil;oit les bits de poids fort
+ de l'adresse o&ugrave; lire ou &eacute;crire. Chaque fois
+ qu'un canal DMA est actif, le contenu de ce registre est &eacute;crit
+ sur le bus d'adresse et y reste jusqu'&agrave; ce que l'op&eacute;ration
+ DMA pour ce canal soit termin&eacute;e. IBM a appel&eacute; ces
+ registres &ldquo;registres de page&rdquo;.</para>
+
+ <para>Dans notre exemple pr&eacute;c&eacute;dent donc, le DMA mettrait la
+ partie <literal>0x3456</literal> de l'adresse sur le bus et le registre
+ de page du canal DMA 2 mettrait la partie <literal>0x0012xxxx</literal>
+ sur le bus. Ensemble, ces deux valeurs constituent l'adresse
+ m&eacute;moire compl&egrave;te de l'acc&egrave;s.</para>
+
+ <para>Comme le registre de page est ind&eacute;pendant du circuit DMA, la
+ zone m&eacute;moire o&ugrave; lire ou &eacute;crire ne doit pas franchir
+ la limite d'une plage de 64Ko. Par exemple, si le DMA acc&egrave;de
+ &agrave; l'adresse <literal>0xffff</literal>, apr&egrave;s transfert, le
+ DMA incr&eacute;mente le registre d'adresse et acc&egrave;de &agrave;
+ l'octet d'adresse suivante <literal>0x0000</literal> et non
+ <literal>0x10000</literal>. Ce n'est probablement pas le r&eacute;sultat
+ attendu.</para>
+
+ <note>
+ <para>Les limites &ldquo;physiques&rdquo; de 64Ko ne doivent pas
+ &ecirc;tre confondues avec les &ldquo;segments&rdquo; de 64Ko du mode
+ 8086, qui sont d&eacute;finis par l'addition d'un registre de segment
+ et d'un registre de d&eacute;placement. Les registres de page ne
+ peuvent pas recouvrir d'adresses communes car ils font l'objet d'un
+ <literal>OU</literal> logique avec l'adresse basse.</para>
+ </note>
+
+ <para>Pour compliquer encore les choses, les registres externes d'adresse
+ DMA du PC/AT n'ont que 8 bits, ce qui nous donne 8+16=24 bits, ce qui
+ signifie que le DMA ne peut adresser la m&eacute;moire qu'entre 0 et
+ 16Mo. Sur les ordinateurs plus r&eacute;cents, qui permettent d'utiliser
+ plus de 16Mo de m&eacute;moire, le DMA compatible PC standard ne peut
+ adresser au-del&agrave; de 16Mo.</para>
+
+ <para>Pour contourner cette restriction, les syst&egrave;mes
+ d'exploitation r&eacute;servent une zone de m&eacute;moire en
+ dessous de 16Mo qui n'inclue pas une limite de plage de 64 Ko. Le DMA
+ est alors programm&eacute; pour effectuer les transferts dans cette zone
+ tampon. Une fois que ce transfert est termin&eacute;, le syst&egrave;me
+ d'exploitation copie alors les donn&eacute;es &agrave; l'adresse
+ o&ugrave; elles doivent effectivement &ecirc;tre stock&eacute;es.</para>
+
+ <para>Pour transf&eacute;rer des donn&eacute;es d'une adresse
+ au-del&agrave; de 16Mo vers un p&eacute;riph&eacute;rique utilisant le
+ DMA, les donn&eacute;es doivent d'abord &ecirc;tre copi&eacute;es dans
+ un tampon en dessous de 16Mo, et de l&agrave;, le DMA peut les
+ transf&eacute;rer au p&eacute;riph&eacute;rique. Sous FreeBSD, ces
+ tampons r&eacute;serv&eacute;s sont appel&eacute;s &ldquo;tampons
+ &agrave; rebonds&rdquo;&nbsp;-&nbsp;<foreignphrase>Bounce
+ Buffers</foreignphrase>. Dans le monde MS-DOS, ils sont parfois
+ appel&eacute;s &ldquo;tampons
+ intelligents&rdquo;&nbsp;-&nbsp;<foreignphrase>Smart
+ Buffers</foreignphrase>.</para>
+
+ <note>
+ <para>Une nouvelle impl&eacute;mentation du 8237, appel&eacute;e 82374,
+ poss&egrave;de des registres de page de 16 bits, ce qui permet
+ l'adressage 32 bits, sans avoir &agrave; utiliser de tampon &agrave
+ rebonds.</para>
+ </note>
+ </sect2>
+
+ <sect2>
+ <title>Modes op&eacute;ratoires et configurations du DMA</title>
+
+ <para>Le DMA 8237 peut op&eacute;rer selon diff&eacute;rents modes. Les
+ principaux sont&nbsp;:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>Simple</term>
+
+ <listitem>
+ <para>Un seul octet (ou mot) est transf&eacute;r&eacute;. Le DMA
+ doit lib&eacute;rer et r&eacute;obtenir le bus pour chaque nouvel
+ octet. Ce mode est habituellement utilis&eacute; par les
+ p&eacute;riph&eacute;riques qui ne peuvent transf&eacute;rer
+ imm&eacute;diatement un bloc entier de donn&eacute;es. Le
+ p&eacute;riph&eacute;rique fait appel au DMA chaque fois qu'il est
+ pr&ecirc;t &agrave; un nouveau transfert.</para>
+
+ <para>Le contr&ocirc;leur de disquette standard des compatibles PC
+ (NEC 765) n'a qu'un tampon d'un octet. Il utilise donc ce
+ mode.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Bloc/A la Demande</term>
+
+ <listitem>
+ <para>Une fois que le DMA a eu le contr&ocirc;le du bus
+ syst&egrave;me, il transf&egrave;re un bloc entier de
+ donn&eacute;es, de 64Ko au plus. Si le p&eacute;riph&eacute;rique
+ a besoin de plus de temps, il peut activer le signal READY pour
+ suspendre bri&egrave;vement le transfert. READY doit &ecirc;tre
+ utilis&eacute; parcimonieusement et, pour un
+ p&eacute;riph&eacute;rique lent, il faut plut&ocirc;t utiliser le
+ mode simple.</para>
+
+ <para>Le diff&eacute;rence entre les modes Bloc et A la Demande est
+ que d&egrave;s qu'un transfert Bloc est entam&eacute;, il se
+ poursuit jusqu'&agrave; ce que le compteur d'octets
+ transf&eacute;r&eacute;s atteigne la valeur z&eacute;ro. Le signal
+ DRQ ne doit &ecirc;tre actif que jusqu'&agrave; ce que le signal
+ -DACK soit activ&eacute;. En mode A la Demande, les octets sont
+ transf&eacute;r&eacute;s jusqu'&agrave; ce que le signal DRQ soit
+ d&eacute;sactiv&eacute;, le DMA interrompt alors le transfert et
+ rend le contr&ocirc;le du bus au CPU. Quand le signal DRQ est
+ ensuite r&eacute;activ&eacute;, le transfert reprend l&agrave;
+ o&ugrave; il a &eacute;t&eacute; interrompu.</para>
+
+ <para>Les anciens contr&ocirc;leurs de disques durs utilisaient le
+ mode A la Demande, jusqu'&agrave; ce que la puissance des
+ processeurs augmente au point qu'il soit plus efficace de
+ transf&eacute;rer les donn&eacute;es en utilisant le CPU, en
+ particulier lorsque les adresses m&eacute;moire utilis&eacute;es
+ pour le transfert se situent au-del&agrave; de la limite des
+ 16Mo.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Cascade</term>
+
+ <listitem>
+ <para>Ce m&eacute;canisme permet &agrave; un canal DMA de
+ prendre le contr&ocirc;le du bus, mais c'est ensuite le
+ p&eacute;riph&eacute;rique associ&eacute; et non le DMA qui est
+ charg&eacute; de param&eacute;trer le bus d'adresse. Ce mode est
+ aussi utilis&eacute; pour mettre en oeuvre une technique
+ appel&eacute;e &ldquo;Ma&icirc;trise du
+ bus&rdquo;&nbsp;-&nbsp;<foreignphrase>Bus
+ Mastering</foreignphrase>.</para>
+
+ <para>Quand un canal DMA en mode Cascade re&ccedil;oit le
+ contr&ocirc;le du bus, le DMA ne met pas les adresses et les
+ signaux de contr&ocirc;le des entr&eacute;es/sorties sur le bus
+ comme le DMA le fait normalement quand il est actif. Au lieu de
+ cela, il positionne uniquement le signal -DACK pour le canal
+ DMA actif.</para>
+
+ <para>C'est au p&eacute;riph&eacute;rique reli&eacute;
+ &agrave; ce canal DMA de fournir l'adresse et les signaux de
+ contr&ocirc;le du bus. Le p&eacute;riph&eacute;rique
+ contr&ocirc;le alors int&eacute;gralement le bus syst&egrave;me
+ et peut effectuer des op&eacute;rations de lecture et/ou
+ d'&eacute;criture &agrave; n'importe quelle adresse en dessous de
+ 16 Mo. Quand le p&eacute;riph&eacute;rique en a termin&eacute;,
+ il d&eacute;sactive le signal DRQ et le contr&ocirc;leur DMA peut
+ alors rendre le main au processeur ou &agrave; un autre canal
+ DMA.</para>
+
+ <para>Le mode Cascade peut servir &agrave; mettre plusieurs
+ contr&ocirc;leurs DMA en s&eacute;rie, et c'est exactement
+ &agrave; cela que sert le canal DMA 4 dans l'architecture PC.
+ Quand un p&eacute;riph&eacute;rique demande le bus sur un des
+ canaux DMA 0, 1, 2 ou 3, le contr&ocirc;leur DMA esclave active
+ le signal HLDREQ, mais ce dernier est en fait reli&eacute;
+ &agrave; la ligne DRQ4 du contr&ocirc;leur DMA primaire et non au
+ processeur. Le contr&ocirc;leur DMA primaire, pensant qu'il a
+ un transfert &agrave; effectuer sur le canal 4, demande le bus au
+ processeur avec le signal HLDREQ. Une fois que le CPU lui a
+ octroy&eacute; le bus, le signal -DACK4 est positionn&eacute; et
+ ce dernier est en fait reli&eacute; au signal HLDA du
+ contr&ocirc;leur DMA esclave. Le contr&ocirc;leur DMA esclave
+ transf&egrave;re alors des donn&eacute;es pour le canal DMA
+ (0, 1, 2 ou 3) qui l'a demand&eacute; ou bien confie le bus
+ &agrave; un p&eacute;riph&eacute;rique qui veut en avoir la
+ ma&icirc;trise, un contr&ocirc;leur SCSI, par exemple.</para>
+
+ <para>A cause de ce c&acirc;blage, seuls les canaux DMA 0, 1, 2, 3,
+ 5, 6 et 7 peuvent &ecirc;tre utilis&eacute;s par des
+ p&eacute;riph&eacute;riques sur les syst&egrave;mes PC/AT.</para>
+
+ <note>
+ <para>Le canal DMA 0 &eacute;tait r&eacute;serv&eacute; pour les
+ op&eacute;rations de rafra&icirc;chissement sur les premiers
+ IBM PC, mais est habituellement disponible pour les
+ p&eacute;riph&eacute;riques sur les syst&egrave;mes
+ r&eacute;cents.</para>
+ </note>
+
+ <para>Quand un p&eacute;riph&eacute;rique prend le contr&ocirc;le du
+ bus, il faut qu'il transf&egrave;re des donn&eacute;es de ou vers
+ la m&eacute;moire de fa&ccedil;on constante, tant qu'il garde le
+ contr&ocirc;le du bus syst&egrave;me. Si le
+ p&eacute;riph&eacute;rique ne peut pas le faire, il faut qu'il
+ lib&egrave;re fr&eacute;quemment le bus, pour que le
+ syst&egrave;me puisse rafra&icirc;chir la m&eacute;moire.</para>
+
+ <para>La RAM dynamique utilis&eacute;e par tous les PCs doit
+ &ecirc;tre rafra&icirc;chie fr&eacute;quemment pour que les bits
+ stock&eacute;s par ses composants restent
+ &ldquo;charg&eacute;s&rdquo;. La RAM dynamique est essentiellement constitu&eacute;e de millions de condensateurs repr&eacute;sentant
+ chacun un bit de donn&eacute;e. Ces condensateurs sont
+ charg&eacute;s pour repr&eacute;senter un <literal>1</literal> ou
+ d&eacute;charg&eacute;s pour repr&eacute;senter un
+ <literal>0</literal>. Comme tous les condensateurs fuient, il faut
+ les recharger &agrave; intervalles r&eacute;guliers pour conserver
+ les valeurs <literal>1</literal>. Les circuits de m&eacute;moire
+ s'occupent en fait de la t&acirc;che de recharger les cases
+ m&eacute;moire appropri&eacute;es, mais le reste du syst&egrave;me
+ doit leur dire quand le faire, pour que cela n'interf&egrave;re
+ pas avec les acc&egrave;s normaux du syst&egrave;me &agrave; la
+ m&eacute;moire. Si l'ordinateur ne peut pas rafra&icirc;chir la
+ m&eacute;moire, le contenu de cette derni&egrave;re sera corrompu
+ en quelques millisecondes.</para>
+
+ <para>Comme les cycles de lecture et d'&eacute;criture en
+ m&eacute;moire &ldquo;comptent&rdquo; pour des cycles de
+ rafra&icirc;chissement (un cycle de rafra&icirc;chissement de la
+ RAM dynamique est en fait un cycle de lecture incomplet), tant que
+ le p&eacute;riph&eacute;rique continue de lire ou d'&eacute;crire
+ des donn&eacute;es en s&eacute;quence en m&eacute;moire, cette
+ op&eacute;ration rafra&icirc;chit la totalit&eacute; de la
+ m&eacute;moire.</para>
+
+ <para>La prise de contr&ocirc;le du bus est utilis&eacute;e par les
+ interfaces SCSI et d'autres contr&ocirc;leurs de
+ p&eacute;riph&eacute;rique de haute performance.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Autoinitialisation</term>
+
+ <listitem>
+ <para>Dans ce mode, le DMA op&egrave;re des transferts d'octet, de
+ bloc, ou &agrave; la demande mais, lorsque le compteur de
+ transferts du DMA arrive &agrave; z&eacute;ro, le compteur et
+ l'adresse sont r&eacute;initialis&eacute;s avec les valeurs
+ initialement programm&eacute;es pour le canal DMA. Cela signifie
+ que tant que le p&eacute;riph&eacute;rique demande des transferts,
+ ils lui sont accord&eacute;s. C'est au processeur de placer les
+ donn&eacute;es &agrave; l'avance dans le tampon fixe d'o&ugrave;
+ le DMA les d&eacute;placera lors d'op&eacute;rations de sortie, et
+ de lire les donn&eacute;es du tampon avant que le DMA n'y
+ r&eacute;&eacute;crive lors d'op&eacute;rations
+ d'entr&eacute;e.</para>
+
+ <para>Cette technique est couramment utilis&eacute;e par les
+ p&eacute;riph&eacute;riques audio qui n'ont qu'un petit ou pas
+ de tampon mat&eacute;riel pour les &eacute;chantillons.
+ Il y a occupation suppl&eacute;mentaire du processeur pour
+ g&eacute;rer ce tampon &ldquo;circulaire&rdquo; mais, dans
+ certains cas, c'est la seule fa&ccedil;on d'&eacute;liminer le
+ temps de latence qui intervient lorsque le compteur du DMA
+ arrive &agrave; z&eacute;ro et que le DMA arr&ecirc;te le
+ transfert jusqu'&agrave; ce qu'il soit reprogramm&eacute;.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect2>
+
+ <sect2>
+ <title>Programmation du DMA</title>
+
+ <para>Le canal DMA qui va &ecirc;tre programm&eacute; doit toujours
+ &ecirc;tre &ldquo;masqu&eacute;&rdquo; avant de le param&eacute;trer.
+ Cela parce que le mat&eacute;riel pourrait inopin&eacute;ment activer
+ le signal DRQ pour ce canal avant que tous les param&egrave;tres n'aient
+ &eacute;t&eacute; charg&eacute;s ou mis &agrave; jour.</para>
+
+ <para>Une fois masqu&eacute;, le processeur doit pr&eacute;ciser le sens
+ du transfert (de la m&eacute;moire vers le p&eacute;riph&eacute;rique
+ ou du p&eacute;riph&eacute;rique vers la m&eacute;moire), le mode
+ d'op&eacute;ration du DMA (Simple, Bloc, A la Demande, Cascade, etc.)
+ qui sera utilis&eacute; pour le transfert et, pour finir, l'adresse et
+ le volume de donn&eacute;es &agrave; transf&eacute;rer. La
+ quantit&eacute; de donn&eacute;es &agrave; indiquer est
+ inf&eacute;rieure d'un octet &agrave; celle que vous voulez que le DMA
+ transf&egrave;re. Le LSB (octet bas) et le MSB (octet haut) de l'adresse
+ et de la quantit&eacute; sont &eacute;crites sur le m&ecirc;me port
+ d'entr&eacute;e/sortie 8 bits, il y a donc un autre
+ port sur lequel il faut &eacute;crire d'abord pour s'assurer que le
+ DMA comprenne le premier octet comme le LSB et le second comme le MSB
+ de la quantit&eacute; et de l'adresse.</para>
+
+ <para>Enfin, il faut mettre &agrave; jour le registre de page, qui est
+ externe au DMA et est accessible via un autre jeu de ports
+ d'entr&eacute;e/sortie.</para>
+
+ <para>Une fois que toutes ces valeurs sont d&eacute;finies, le canal DMA
+ peut &ecirc;tre d&eacute;masqu&eacute;. Le canal DMA en question est
+ maintenant consid&eacute;r&eacute; &ldquo;arm&eacute;&rdquo;, et
+ r&eacute;pondra quand la ligne DRQ correspondante sera
+ activ&eacute;e.</para>
+
+ <para>Reportez-vous &agrave; un manuel documentant le mat&eacute;riel
+ pour conna&icirc;tre les d&eacute;tails de la programmation du 8237.
+ Vous aurez aussi besoin de la carte des ports d'entr&eacute;/sortie des
+ syst&egrave;mes PC, qui donne les adresses des ports du DMA et du
+ registre de page. Vous trouverez ci-dessous une table donnant une
+ description compl&egrave;te de ces ports.</para>
+ </sect2>
+
+ <sect2>
+ <title>Ports DMA</title>
+
+ <para>Les contr&ocirc;leurs DMA sont situ&eacute;s sur les m&ecirc;mes
+ ports d'entr&eacute;e/sortie sur tous les syst&egrave;mes de type IBM-PC
+ et PC/AT. La table ci-dessous en donne la liste compl&egrave;te. Les
+ ports affect&eacute;s au deuxi&egrave;me contr&ocirc;leur DMA ne sont
+ pas d&eacute;finis sur les syst&egrave;mes non-AT.</para>
+
+ <sect3>
+ <title>0x00&ndash;0x0f Contr&ocirc;leur num&eacute;ro 1 (Canaux 0, 1, 2
+ et 3)</title>
+
+ <para>Registres d'adresse et compteur DMA</para>
+
+ <informaltable frame="none">
+ <tgroup cols="3">
+ <tbody>
+ <row>
+ <entry>0x00</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Adresse initiale Canal 0</entry>
+ </row>
+
+ <row>
+ <entry>0x00</entry>
+ <entry>lecture</entry>
+ <entry>Adresse courante Canal 0</entry>
+ </row>
+
+ <row>
+ <entry>0x01</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Compteur initial Canal 0</entry>
+ </row>
+
+ <row>
+ <entry>0x01</entry>
+ <entry>lecture</entry>
+ <entry>Compteur courant Canal 0</entry>
+ </row>
+
+ <row>
+ <entry>0x02</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Adresse initiale Canal 1</entry>
+ </row>
+
+ <row>
+ <entry>0x02</entry>
+ <entry>lecture</entry>
+ <entry>Adresse courante Canal 1</entry>
+ </row>
+
+ <row>
+ <entry>0x03</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Compteur initial Canal 1</entry>
+ </row>
+
+ <row>
+ <entry>0x03</entry>
+ <entry>lecture</entry>
+ <entry>Compteur courant Canal 1</entry>
+ </row>
+
+ <row>
+ <entry>0x04</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Adresse initiale Canal 2</entry>
+ </row>
+
+ <row>
+ <entry>0x04</entry>
+ <entry>lecture</entry>
+ <entry>Adresse courante Canal 2</entry>
+ </row>
+
+ <row>
+ <entry>0x05</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Compteur initial Canal 2</entry>
+ </row>
+
+ <row>
+ <entry>0x05</entry>
+ <entry>lecture</entry>
+ <entry>Compteur courant Canal 2</entry>
+ </row>
+
+ <row>
+ <entry>0x06</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Adresse initiale Canal 3</entry>
+ </row>
+
+ <row>
+ <entry>0x06</entry>
+ <entry>lecture</entry>
+ <entry>Adresse courante Canal 3</entry>
+ </row>
+
+ <row>
+ <entry>0x07</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Compteur initial Canal 3</entry>
+ </row>
+
+ <row>
+ <entry>0x07</entry>
+ <entry>lecture</entry>
+ <entry>Compteur courant Canal 3</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>Registres de commande du DMA</para>
+
+ <informaltable frame="none">
+ <tgroup cols="3">
+ <tbody>
+ <row>
+ <entry>0x08</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Registre de commande</entry>
+ </row>
+
+ <row>
+ <entry>0x08</entry>
+ <entry>lecture</entry>
+ <entry>Registre d'&eacute;tat</entry>
+ </row>
+
+ <row>
+ <entry>0x09</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Registre de requ&ecirc;te</entry>
+ </row>
+
+ <row>
+ <entry>0x09</entry>
+ <entry>lecture</entry>
+ <entry>-</entry>
+ </row>
+
+ <row>
+ <entry>0x0a</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Registre de masque de bit</entry>
+ </row>
+
+ <row>
+ <entry>0x0a</entry>
+ <entry>lecture</entry>
+ <entry>-</entry>
+ </row>
+
+ <row>
+ <entry>0x0b</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Registre de mode</entry>
+ </row>
+
+ <row>
+ <entry>0x0b</entry>
+ <entry>lecture</entry>
+ <entry>-</entry>
+ </row>
+
+ <row>
+ <entry>0x0c</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Remise &agrave; z&eacute;ro du LSB/MSB de la
+ bascule</entry>
+ </row>
+
+ <row>
+ <entry>0x0c</entry>
+ <entry>lecture</entry>
+ <entry>-</entry>
+ </row>
+
+ <row>
+ <entry>0x0d</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Remise &agrave; z&eacute;ro/r&eacute;initialisation
+ ma&icirc;tre</entry>
+ </row>
+
+ <row>
+ <entry>0x0d</entry>
+ <entry>lecture</entry>
+ <entry>Registre temporaire (non disponible sur les versions
+ r&eacute;centes)</entry>
+ </row>
+
+ <row>
+ <entry>0x0e</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Registre de remise &agrave; z&eacute;ro du masque</entry>
+ </row>
+
+ <row>
+ <entry>0x0e</entry>
+ <entry>lecture</entry>
+ <entry>-</entry>
+ </row>
+
+ <row>
+ <entry>0x0f</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Registre d'&eacute;criture de tous les bits du
+ masque</entry>
+ </row>
+
+ <row>
+ <entry>0x0f</entry>
+ <entry>lecture</entry>
+ <entry>Registre de lecture de tous les bits du masque (Intel
+ 82374 uniquement)</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect3>
+
+ <sect3>
+ <title>0xc0&ndash;0xdf Contr&ocirc;leur num&eacute;ro 2 (Canaux 4, 5, 6
+ et 7)</title>
+
+ <para>Registres d'adresse et compteur DMA</para>
+
+ <informaltable frame="none">
+ <tgroup cols="3">
+ <tbody>
+ <row>
+ <entry>0xc0</entry>
+ <entry>&eacute;riture</entry>
+ <entry>Adresse initiale Canal 4</entry>
+ </row>
+
+ <row>
+ <entry>0xc0</entry>
+ <entry>lecture</entry>
+ <entry>Adresse courante Canal 4</entry>
+ </row>
+
+ <row>
+ <entry>0xc2</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Compteur initial Canal 4</entry>
+ </row>
+
+ <row>
+ <entry>0xc2</entry>
+ <entry>lecture</entry>
+ <entry>Compteur courant Canal 4</entry>
+ </row>
+
+ <row>
+ <entry>0xc4</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Adresse initiale Canal 5</entry>
+ </row>
+
+ <row>
+ <entry>0xc4</entry>
+ <entry>lecture</entry>
+ <entry>Adresse courante Canal 5</entry>
+ </row>
+
+ <row>
+ <entry>0xc6</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Compteur initial Canal 5</entry>
+ </row>
+
+ <row>
+ <entry>0xc6</entry>
+ <entry>lecture</entry>
+ <entry>Compteur courant Canal 5</entry>
+ </row>
+
+ <row>
+ <entry>0xc8</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Adresse initiale Canal 6</entry>
+ </row>
+
+ <row>
+ <entry>0xc8</entry>
+ <entry>lecture</entry>
+ <entry>Adresse courante Canal 6</entry>
+ </row>
+
+ <row>
+ <entry>0xca</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Compteur initial Canal 6</entry>
+ </row>
+
+ <row>
+ <entry>0xca</entry>
+ <entry>lecture</entry>
+ <entry>Compteur courant Canal 6</entry>
+ </row>
+
+ <row>
+ <entry>0xcc</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Adresse initiale Canal 7</entry>
+ </row>
+
+ <row>
+ <entry>0xcc</entry>
+ <entry>lecture</entry>
+ <entry>Adresse courante Canal 7</entry>
+ </row>
+
+ <row>
+ <entry>0xce</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Compteur initial Canal 7</entry>
+ </row>
+
+ <row>
+ <entry>0xce</entry>
+ <entry>lecture</entry>
+ <entry>Compteur courant Canal 7</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>Registres de commande du DMA</para>
+
+ <informaltable frame="none">
+ <tgroup cols="3">
+ <tbody>
+ <row>
+ <entry>0xd0</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Registre de commande</entry>
+ </row>
+
+ <row>
+ <entry>0xd0</entry>
+ <entry>lecture</entry>
+ <entry>Registre d'&eacute;tat</entry>
+ </row>
+
+ <row>
+ <entry>0xd2</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Registre de requ&ecirc;te</entry>
+ </row>
+
+ <row>
+ <entry>0xd2</entry>
+ <entry>lecture</entry>
+ <entry>-</entry>
+ </row>
+
+ <row>
+ <entry>0xd4</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Registre de masque de bit</entry>
+ </row>
+
+ <row>
+ <entry>0xd4</entry>
+ <entry>lecture</entry>
+ <entry>-</entry>
+ </row>
+
+ <row>
+ <entry>0xd6</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Registre de mode</entry>
+ </row>
+
+ <row>
+ <entry>0xd6</entry>
+ <entry>lecture</entry>
+ <entry>-</entry>
+ </row>
+
+ <row>
+ <entry>0xd8</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Remise &agrave; z&eacute;ro du LSB/MSB de la
+ bascule</entry>
+ </row>
+
+ <row>
+ <entry>0xd8</entry>
+ <entry>lecture</entry>
+ <entry>-</entry>
+ </row>
+
+ <row>
+ <entry>0xda</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Remise &agrave; z&eacute;ro/r&eacute;initialisation
+ ma&icirc;tre</entry>
+ </row>
+
+ <row>
+ <entry>0xda</entry>
+ <entry>lecture</entry>
+ <entry>Registre temporaire (non disponible sur l'Intel
+ 82374)</entry>
+ </row>
+
+ <row>
+ <entry>0xdc</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Registre de remise &agrave; z&eacute;ro du masque</entry>
+ </row>
+
+ <row>
+ <entry>0xdc</entry>
+ <entry>lecture</entry>
+ <entry>-</entry>
+ </row>
+
+ <row>
+ <entry>0xde</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Registre d'&eacute;criture de tous les bits du
+ masque</entry>
+ </row>
+
+ <row>
+ <entry>0xdf</entry>
+ <entry>lecture</entry>
+ <entry>Registre de lecture de tous les bits du masque (Intel
+ 82374 uniquement)</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect3>
+
+ <sect3>
+ <title>0x80&ndash;0x9f Registres de page du DMA</title>
+
+ <informaltable frame="none">
+ <tgroup cols="3">
+ <tbody>
+ <row>
+ <entry>0x87</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 0 octet bas (23-16) du registre de page</entry>
+ </row>
+
+ <row>
+ <entry>0x83</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 1 octet bas (23-16) du registre de page</entry>
+ </row>
+
+ <row>
+ <entry>0x81</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 2 octet bas (23-16) du registre de page</entry>
+ </row>
+
+ <row>
+ <entry>0x82</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 3 octet bas (23-16) du registre de page</entry>
+ </row>
+
+ <row>
+ <entry>0x8b</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 5 octet bas (23-16) du registre de page</entry>
+ </row>
+
+ <row>
+ <entry>0x89</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 6 octet bas (23-16) du registre de page</entry>
+ </row>
+
+ <row>
+ <entry>0x8a</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 7 octet bas (23-16) du registre de page</entry>
+ </row>
+
+ <row>
+ <entry>0x8f</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Octet bas rafra&icirc;chissement de page</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect3>
+
+ <sect3>
+ <title>0x400&ndash;0x4ff Registres du DMA Etendu 82374</title>
+
+ <para>Le composant syst&egrave;me EISA&nbsp;-&nbsp;<foreignphrase>EISA
+ System Component (ESC)</foreignphrase>&nbsp;-&nbsp;Intel 82374 est
+ apparu au d&eacute;but de 1996 et comporte un contr&ocirc;leur DMA
+ qui fournit un sur-ensemble des fonctionnalit&eacute;s du 8237 en
+ m&ecirc;me temps que d'autres composants p&eacute;riph&eacute;riques
+ compatibles PC de base sur une seule puce. Ce composant est
+ destin&eacute; &agrave; la fois aux plates-formes EISA et PCI et
+ offre des fonctionnalit&eacute;s DMA r&eacute;centes telles que
+ dispersion/regroupement, tampons en anneau et acc&egrave;s direct
+ via le DMA &agrave; la totalit&eacute; de l'espace d'adressage sur 32
+ bits.</para>
+
+ <para>Lorsque ces possibilit&eacute;s sont utilis&eacute;es, il faut
+ aussi fournir le code qui procure les m&ecirc;mes
+ fonctionnalit&eacute;s aux ordinateurs compatibles PC des 16
+ ann&eacute;es pr&eacute;c&eacute;dentes. Pour des raisons de
+ compatibilit&eacute;, il faut programmer certains registres du 82374
+ <emphasis>apr&egrave;s</emphasis> avoir programm&eacute; les registres
+ traditionnels du 8237, pour chaque transfert. Ecrire dans un registre
+ 8237 traditionnel remet &agrave; z&eacute;ro certains registres
+ &eacute;tendus du 82374 de fa&ccedil;on &agrave; assurer la
+ r&eacute;tro-compatibilit&eacute; du logiciel.</para>
+
+ <informaltable frame="none">
+ <tgroup cols="3">
+ <tbody>
+ <row>
+ <entry>0x401</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 0 octet haut (23-16) du compteur de mots</entry>
+ </row>
+
+ <row>
+ <entry>0x403</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 1 octet haut (23-16) du compteur de mots</entry>
+ </row>
+
+ <row>
+ <entry>0x405</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 2 octet haut (23-16) du compteur de mots</entry>
+ </row>
+
+ <row>
+ <entry>0x407</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 3 octet haut (23-16) du compteur de mots</entry>
+ </row>
+
+ <row>
+ <entry>0x4c6</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 5 octet haut (23-16) du compteur de mots</entry>
+ </row>
+
+ <row>
+ <entry>0x4ca</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 6 octet haut (23-16) du compteur de mots</entry>
+ </row>
+
+ <row>
+ <entry>0x4ce</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 7 octet haut (23-16) du compteur de mots</entry>
+ </row>
+
+ <row>
+ <entry>0x487</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 0 octet haut (23-16) du registre de page</entry>
+ </row>
+
+ <row>
+ <entry>0x483</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 1 octet haut (23-16) du registre de page</entry>
+ </row>
+
+ <row>
+ <entry>0x481</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 2 octet haut (23-16) du registre de page</entry>
+ </row>
+
+ <row>
+ <entry>0x482</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 3 octet haut (23-16) du registre de page</entry>
+ </row>
+
+ <row>
+ <entry>0x48b</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 5 octet haut (23-16) du registre de page</entry>
+ </row>
+
+ <row>
+ <entry>0x489</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 6 octet haut (23-16) du registre de page</entry>
+ </row>
+
+ <row>
+ <entry>0x48a</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 7 octet haut (23-16) du registre de page</entry>
+ </row>
+
+ <row>
+ <entry>0x48f</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Octet haut rafra&icirc;chissement de page</entry>
+ </row>
+
+ <row>
+ <entry>0x4e0</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 0 registre Stop (bits 7-2)</entry>
+ </row>
+
+ <row>
+ <entry>0x4e1</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 0 registre Stop (bits 15-8)</entry>
+ </row>
+
+ <row>
+ <entry>0x4e2</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 0 registre Stop (bits 23-16)</entry>
+ </row>
+
+ <row>
+ <entry>0x4e4</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 1 registre Stop (bits 7-2)</entry>
+ </row>
+
+ <row>
+ <entry>0x4e5</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 1 registre Stop (bits 15-8)</entry>
+ </row>
+
+ <row>
+ <entry>0x4e6</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 1 registre Stop (bits 23-16)</entry>
+ </row>
+
+ <row>
+ <entry>0x4e8</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 2 registre Stop (bits 7-2)</entry>
+ </row>
+
+ <row>
+ <entry>0x4e9</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 2 registre Stop (bits 15-8)</entry>
+ </row>
+
+ <row>
+ <entry>0x4ea</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 2 registre Stop (bits 23-16)</entry>
+ </row>
+
+ <row>
+ <entry>0x4ec</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 3 registre Stop (bits 7-2)</entry>
+ </row>
+
+ <row>
+ <entry>0x4ed</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 3 registre Stop (bits 15-8)</entry>
+ </row>
+
+ <row>
+ <entry>0x4ee</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 3 registre Stop (bits 23-16)</entry>
+ </row>
+
+ <row>
+ <entry>0x4f4</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 5 registre Stop (bits 7-2)</entry>
+ </row>
+
+ <row>
+ <entry>0x4f5</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 5 registre Stop (bits 15-8)</entry>
+ </row>
+
+ <row>
+ <entry>0x4f6</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 5 registre Stop (bits 23-16)</entry>
+ </row>
+
+ <row>
+ <entry>0x4f8</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 6 registre Stop (bits 7-2)</entry>
+ </row>
+
+ <row>
+ <entry>0x4f9</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 6 registre Stop (bits 15-8)</entry>
+ </row>
+
+ <row>
+ <entry>0x4fa</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 6 registre Stop (bits 23-16)</entry>
+ </row>
+
+ <row>
+ <entry>0x4fc</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 7 registre Stop (bits 7-2)</entry>
+ </row>
+
+ <row>
+ <entry>0x4fd</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 7 registre Stop (bits 15-8)</entry>
+ </row>
+
+ <row>
+ <entry>0x4fe</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 7 registre Stop (bits 23-16)</entry>
+ </row>
+
+ <row>
+ <entry>0x40a</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Canaux 0-3 registre de mode cha&icirc;nage</entry>
+ </row>
+
+ <row>
+ <entry>0x40a</entry>
+ <entry>lecture</entry>
+ <entry>Registre d'&eacute;tat d'interruption du canal</entry>
+ </row>
+
+ <row>
+ <entry>0x4d4</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Canaux 4-7 registre de mode cha&icirc;nage</entry>
+ </row>
+
+ <row>
+ <entry>0x4d4</entry>
+ <entry>lecture</entry>
+ <entry>Etat du mode cha&icirc;nage</entry>
+ </row>
+
+ <row>
+ <entry>0x40c</entry>
+ <entry>lecture</entry>
+ <entry>Registre de contr&ocirc;le d'expiration du tampon de
+ cha&icirc;nage</entry>
+ </row>
+
+ <row>
+ <entry>0x410</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Canal 0 registre de commande
+ dispersion/regroupement</entry>
+ </row>
+
+ <row>
+ <entry>0x411</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Canal 1 registre de commande
+ dispersion/regroupement</entry>
+ </row>
+
+ <row>
+ <entry>0x412</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Canal 2 registre de commande
+ dispersion/regroupement</entry>
+ </row>
+
+ <row>
+ <entry>0x413</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Canal 3 registre de commande
+ dispersion/regroupement</entry>
+ </row>
+
+ <row>
+ <entry>0x415</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Canal 5 registre de commande
+ dispersion/regroupement</entry>
+ </row>
+
+ <row>
+ <entry>0x416</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Canal 6 registre de commande
+ dispersion/regroupement</entry>
+ </row>
+
+ <row>
+ <entry>0x417</entry>
+ <entry>&eacute;criture</entry>
+ <entry>Canal 7 registre de commande
+ dispersion/regroupement</entry>
+ </row>
+
+ <row>
+ <entry>0x418</entry>
+ <entry>lecture</entry>
+ <entry>Canal 0 registre d'&eacute;tat
+ dispersion/regroupement</entry>
+ </row>
+
+ <row>
+ <entry>0x419</entry>
+ <entry>lecture</entry>
+ <entry>Canal 1 registre d'&eacute;tat
+ dispersion/regroupement</entry>
+ </row>
+
+ <row>
+ <entry>0x41a</entry>
+ <entry>lecture</entry>
+ <entry>Canal 2 registre d'&eacute;tat
+ dispersion/regroupement</entry>
+ </row>
+
+ <row>
+ <entry>0x41b</entry>
+ <entry>lecture</entry>
+ <entry>Canal 3 registre d'&eacute;tat
+ dispersion/regroupement</entry>
+ </row>
+
+ <row>
+ <entry>0x41d</entry>
+ <entry>lecture</entry>
+ <entry>Canal 5 registre d'&eacute;tat
+ dispersion/regroupement</entry>
+ </row>
+
+ <row>
+ <entry>0x41e</entry>
+ <entry>lecture</entry>
+ <entry>Canal 6 registre d'&eacute;tat
+ dispersion/regroupement</entry>
+ </row>
+
+ <row>
+ <entry>0x41f</entry>
+ <entry>lecture</entry>
+ <entry>Canal 7 registre d'&eacute;tat
+ dispersion/regroupement</entry>
+ </row>
+
+ <row>
+ <entry>0x420-0x423</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 0 registre de pointeur sur le table de descripteurs
+ dispersion/regroupement</entry>
+ </row>
+
+ <row>
+ <entry>0x424-0x427</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 1 registre de pointeur sur le table de descripteurs
+ dispersion/regroupement</entry>
+ </row>
+
+ <row>
+ <entry>0x428-0x42b</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 2 registre de pointeur sur le table de descripteurs
+ dispersion/regroupement</entry>
+ </row>
+
+ <row>
+ <entry>0x42c-0x42f</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 3 registre de pointeur sur le table de descripteurs
+ dispersion/regroupement</entry>
+ </row>
+
+ <row>
+ <entry>0x434-0x437</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 5 registre de pointeur sur le table de descripteurs
+ dispersion/regroupement</entry>
+ </row>
+
+ <row>
+ <entry>0x438-0x43b</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 6 registre de pointeur sur le table de descripteurs
+ dispersion/regroupement</entry>
+ </row>
+
+ <row>
+ <entry>0x43c-0x43f</entry>
+ <entry>lecture/&eacute;criture</entry>
+ <entry>Canal 7 registre de pointeur sur le table de descripteurs
+ dispersion/regroupement</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect3>
+ </sect2>
+ </sect1>
+
+ <sect1 id="internals-vm">
+ <title>La gestion de m&eacute;moire virtuelle de FreeBSD</title>
+
+ <para><emphasis>Contribution de &a.dillon;. 6 F&eacute;vrier
+ 1999</emphasis></para>
+
+ <sect2>
+ <title>Gestion de la m&eacute;moire
+ physique&mdash;<literal>vm_page_t</literal></title>
+
+ <para>La m&eacute;moire physique est g&eacute;r&eacute;e page par page
+ via la structure <literal>vm_page_t</literal>. Les pages de
+ m&eacute;moire physique sont caract&eacute;ris&eacute;es par
+ l'emplacement de leurs structures <literal>vm_page_t</literal>
+ respectives dans l'une des queues de pagination.</para>
+
+ <para>Une page peut &ecirc;tre verrouill&eacute;e, active, inactive, dans
+ le cache ou libre. Sauf lorsqu'elle est verrouill&eacute;e, la page est
+ typiquement plac&eacute;e dans une queue repr&eacute;sent&eacute;e par
+ une liste &agrave; double cha&icirc;nage d&eacute;crivant l'&eacute;tat
+ dans lequel elle est. Les pages verrouill&eacute;es n'appartiennent
+ &agrave; aucune queue.</para>
+
+ <para>FreeBSD impl&eacute;ment syst&egrave;me de queues de pagination plus
+ sophistiqu&eacute; pour les pages libres ou dans le cache, de
+ fa&ccedil;on &agrave; mettre en oeuvre un algorithme de coloration des
+ pages. Chacun de ces &eacute;tats (libre, cach&eacute;) met en oeuvre
+ des files d'attente multiples selon la taille des caches L1 et L2 du
+ processeur. Quand il faut allouer une nouvelle page, FreeBSD essaie d'en
+ obtenir une qui soit raisonnablement align&eacute;e du point de vue des
+ caches L1 et L2 selon le type d'objet en m&eacute;moire virtuelle pour
+ lequel la page est allou&eacute;e.</para>
+
+ <para>De plus, une page peut &ecirc;tre retenue par un compteur
+ de r&eacute;f&eacute;rence, ou bloqu&eacute;e avec un compteur
+ d'utilisation. Le syst&egrave;me de m&eacute;moire virtuelle
+ impl&eacute;mente aussi un &eacute;tat &ldquo;verrouillage
+ ultime&rdquo; lorsque la page utilise le bit PG_BUSY des drapeaux de
+ page.</para>
+
+ <para>En termes g&eacute;n&eacute;raux, chacune des queues de pagination
+ op&egrave;re en mode LRU (moins r&eacute;cemment utilis&eacute;). Une
+ page est habituellement initialement plac&eacute;e dans l'&eacute;tat
+ actif ou verrouill&eacute;. Lorsqu'elle est verrouill&eacute;e, la page
+ est normalement associ&eacute;e &agrave; une table de pages quelque
+ part. Le syst&egrave;me de m&eacute;moire virtuelle
+ &ldquo;viellit&rdquo; les pages en parcourant les pages d'une queue de
+ pagination plus active de fa&ccedil;on &agrave; les d&eacute;placer vers
+ une queue moins active. Les pages qui sont d&eacute;plac&eacute;es vers
+ le cache sont toujours associ&eacute;es &agrave; un objet en
+ m&eacute;moire virtuelle mais sont candidates &agrave; une
+ r&eacute;utilisation imm&eacute;diate. Les pages dans la queue libre
+ sont vraiment disponibles. FreeBSD essaie de minimiser le nombre de
+ pages dans la queue libre, mais il faut conserver un certain nombre de
+ pages r&eacute;ellement disponibles pour pouvoir g&eacute;rer
+ l'allocation de pages lors d'interruptions.</para>
+
+ <para>Si un processus essaie d'acc&eacute;der &agrave; une page qui
+ n'existe pas dans sa table de pages mais existe dans une des queues de
+ pagination (la queue inactive ou celle du cache par exemple), il se
+ produit un d&eacute;faut relativement peu p&eacute;nalisant de
+ r&eacute;activation de page, qui fait que la page est
+ r&eacute;activ&eacute;e. Si la page n'existe nulle part en
+ m&eacute;moire, le processus doit attendre que la page soit
+ r&eacute;cup&eacute;r&eacute;e sur disque.</para>
+
+ <para>FreeBSD optimise dynamiquement ses queues de pagination et essaie de
+ maintenir un ratio raisonnable entre les diff&eacute;rentes queues de
+ m&ecirc;me qu'entre les pages &agrave; jour et celles qui ne le sont
+ pas. Ce r&eacute;&eacute;quilibrage est mis en oeuvre par le
+ d&eacute;mon de pagination et comprend le nettoyage des pages
+ d&eacute;grad&eacute;es (leur synchronisation avec la version en
+ arri&egrave;re-plan), la surveillance des pages
+ r&eacute;f&eacute;renc&eacute;es par des t&acirc;ches actives (leur
+ repositionnement dans les queues LRU ou leur d&eacute;placement d'une
+ queue &agrave; une autre), la migration de pages entre queues lorsque
+ les queues sont d&eacute;s&eacute;quilibr&eacute;es, et ainsi de suite.
+ Le syst&egrave;me de m&eacute;moire virtuelle de FreeBSD accepte un
+ nombre raisonnable de d&eacute;fauts de r&eacute;activation de page afin
+ de savoir &agrave; quel point une page est active ou inactive. Cela
+ permet de prendre de meilleures d&eacute;cisions pour savoir quand
+ mettre &agrave; jour ou d&eacute;charger une page sur disque.</para>
+ </sect2>
+
+ <sect2>
+ <title>Le tampon cache
+ unifi&eacute;&mdash;<literal>vm_object_t</literal></title>
+
+ <para>FreeBSD impl&eacute;mente la notion d'&ldquo;objet en m&eacute;moire
+ virtuelle&rdquo; g&eacute;n&eacute;rique. Les objets en m&eacute;moire
+ virtuelle peuvent &ecirc;tre associ&eacute;s &agrave; diff&eacute;rents
+ types de mise en arri&egrave;re-plan&mdash;non sauvegard&eacute;,
+ sauvegard&eacute; sur disque (<foreignphrase>swap</foreignphrase>),
+ sauvegard&eacute; sur un p&eacute;riph&eacute;rique physique, ou
+ sauvegard&eacute; dans un fichier. Comme le syst&egrave;me de fichiers
+ utilise les m&ecirc;mes objets en m&eacute;moire virtuelle pour
+ g&eacute;rer les informations de base relatives aux fichiers, le
+ r&eacute;sultat est un tampon cache unifi&eacute;.</para>
+
+ <para>Les objets en m&eacute;moire virtuelle peuvent &ecirc;tre des objets
+ <emphasis>ombre&nbsp;-&nbsp;<foreignphrase>shadowed</foreignphrase></emphasis>,
+ c'est-&agrave;-dire qu'ils peuvent &ecirc;tre empil&eacute;s les uns au
+ dessus des autres. Par exemple, il peut y avoir un objet ombre
+ sauvegard&eacute; dans l'espace de <foreignphrase>swap</foreignphrase>
+ empil&eacute; sur un objet sauvegard&eacute; dans un fichier pour
+ impl&eacute;menter une correspondance
+ <citerefentry><refentrytitle>mmap</refentrytitle>
+ <manvolnum>2</manvolnum></citerefentry> de type
+ <literal>MAP_PRIVATE</literal>. Ce type d'empilement est aussi
+ utilis&eacute; pour impl&eacute;menter diff&eacute;rents types de
+ partage, dont la copie sur &eacute;criture pour les espaces d'adressage
+ de processus fils (cr&eacute;&eacute;s par
+ <citerefentry><refentrytitle>fork</refentrytitle> <manvolnum>2</manvolnum></citerefentry>.</para>
+
+ <para>Il faut noter qu'un <literal>vm_page_t</literal> ne peut &ecirc;tre
+ associ&eacute; qu'&agrave; un seul objet en m&eacute;moire virtuelle
+ &agrave; la fois. Les objets ombre en m&eacute;moire
+ virtuelle impl&eacute;mentent le partage apparent de la m&ecirc;me page
+ pour des instances multiples.</para>
+ </sect2>
+
+ <sect2>
+ <title>Entr&eacute;e/sortie sur le syst&egrave;me de
+ fichiers&mdash;<literal>struct buf</literal></title>
+
+ <para>Les objets en m&eacute;moire virtuelle sauvegard&eacute;s via le
+ syst&egrave;me de &ldquo;vnodes&rdquo;, tels que les objets
+ sauvegard&eacute;s dans des fichiers, doivent g&eacute;n&eacute;ralement
+ maintenir eux-m&ecirc;mes leurs informations d'&eacute;tat &agrave
+ jour/p&eacute;rim&eacute;, ind&eacute;pendamment de l'id&eacute;e que
+ s'en fait le syst&egrave;me de m&eacute;moire virtuelle. Par exemple,
+ quand le syst&egrave;me de m&eacute;moire virtuelle d&eacute;cide de
+ synchroniser une page physique avec sa version en arri&egrave;re-plan,
+ il doit indiquer que la page est &agrave; jour avant qu'elle ne soit
+ effectivement &eacute;crite en arri&egrave;re-plan. De plus, les
+ syst&egrave;mes de fichiers doivent &ecirc;tre capables de faire
+ correspondre des parties d'un fichier ou de m&eacute;ta-informations
+ sur un fichier avec l'interface entre la m&eacute;moire virtuelle et le
+ noyau, pour pouvoir travailler sur ces informations.</para>
+
+ <para>Les entit&eacute;s qui servent &agrave; g&eacute;rer cela sont
+ appel&eacute;es tampons du syst&egrave;me de fichiers,
+ <literal>struct buf</literal>s, ou encore <literal>bp</literal>s. Quand
+ un syst&egrave;me de fichiers doit op&eacute;rer sur une partie d'un
+ objet en m&eacute;moire virtuelle, il fait typiquement correspondre
+ une partie de l'objet &agrave; un <literal>struct buf</literal> puis
+ les pages du <literal>struct buf</literal> &agrave; l'interface entre
+ la m&eacute;moire virtuelle et le noyau. De m&ecirc;me, les
+ entr&eacute;es/sorties disque sont typiquement g&eacute;r&eacute;es en
+ faisant correspondre des parties des objets et des structures tampon
+ et en effectuent les entr&eacute;es/sorties sur ces structures. Les
+ <literal>vm_page_t</literal>s sous-jacentes sont habituellement
+ monopolis&eacute;es le temps des entr&eacute;es/sorties. Les tampons du
+ syst&egrave;me de fichiers ont leur propre notion d'occupation, ce qui
+ est utile pour le code des pilotes du syst&egrave;me de fichiers, qui
+ travaille plut&ocirc;t sur ces tampons que directement sur les pages de
+ la m&eacute;moire virtuelle.</para>
+
+ <para>FreeBSD r&eacute;serve une quantit&eacute; limit&eacute;e de
+ l'interface m&eacute;moire virtuelle du noyau pour les correspondances
+ avec les <literal>struct buf</literal>s, mais il faut garder &agrave;
+ l'esprit que cet espace n'est utilis&eacute; que pour stocker les
+ correspondances et que cela ne diminue pas les possibilit&eacute;s de
+ mettre des donn&eacute;es dans un cache. Le cache physique de
+ donn&eacute;es est une fonction des <literal>vm_page_t</literal>s, et
+ non des tampons du syst&egrave;me de fichiers. Cependant, comme les
+ tampons du syst&egrave;me de fichiers sont utilis&eacute;s pour les
+ entr&eacute;es/sorties, ils limitent de fait le nombre
+ d'entr&eacute;es/sorties possibles simultan&eacute;ment. Comme il y a
+ habituellement quelques milliers de tampons de syst&egrave;me de
+ fichiers disponibles, ce n'est g&eacute;n&eacute;ralement pas un
+ probl&egrave;me.</para>
+ </sect2>
+
+ <sect2>
+ <title>Tables de correspondance des
+ pages&mdash;<literal>vm_map_t</literal>,
+ <literal>vm_entry_t</literal></title>
+
+ <para>FreeBSD dissocie l'organisation des tables de pages physiques du
+ syst&egrave;me de m&eacute;moire virtuelle. Toutes les tables en dur de
+ pages par processus peuvent &ecirc;tre reconstruites &agrave; la
+ vol&eacute;e et sont g&eacute;n&eacute;ralement
+ consid&eacute;r&eacute;es comme jetables. Des tables de pages
+ particuli&egrave;res, comme celles qui g&egrave;rent l'interface entre
+ la m&eacute;moire virtuelle et le noyau, sont allou&eacute;es de
+ fa&ccedil;on permanente. Ces pages ne sont pas consid&eacute;r&eacute;es
+ comme jetables.</para>
+
+ <para>FreeBSD associe des parties des <literal>vm_object</literal>s
+ &agrave; des plages d'adresses via les structures
+ <literal>vm_map_t</literal> et <literal>vm_entry_t</literal>. Les tables
+ de pages sont construites synth&eacute;tiquement &agrave; partir de la
+ hi&eacute;rarchie
+ <literal>vm_map_t</literal>/<literal>vm_entry_t</literal>/<literal>vm_object_t</literal>.
+ Rappelez-vous que j'ai dit que les pages physiques n'&eacute;taient
+ directement associ&eacute;es qu'&agrave; un
+ <literal>vm_object</literal>. Ce n'est en fait pas tout-&agrave;-fait
+ vrai. Les <literal>vm_page_t</literal>s sont aussi li&eacute;s aux
+ tables de pages auxquelles ils sont activement associ&eacute;s.
+ Un <literal>vm_page_t</literal> peut &ecirc;tre li&eacute; &agrave;
+ plusieurs <emphasis>pmaps</emphasis>, nom que l'on donne aux tables de
+ pages. Cependant, l'association hi&eacute;rarchique fait que toutes les
+ r&eacute;f&eacute;rences du m&ecirc;me objet &agrave; la m&ecirc;me page
+ se rapportent &agrave; la m&ecirc;me <literal>vm_page_t</literal> de
+ sorte que le tampon cache est globalement unifi&eacute;.</para>
+ </sect2>
+
+ <sect2>
+ <title>Organisation m&eacute;moire de l'interface m&eacute;moire virtuelle
+ du noyau&nbsp;-&nbsp;<foreignphrase>KVM</foreignphrase></title>
+
+ <para>FreeBSD utilise l'interface m&eacute;moire virtuelle du noyau pour
+ stocker diff&eacute;rentes structures de donn&eacute;es du noyau.
+ L'unique plus grosse entit&eacute; de cette interface est le tampon
+ de cache du syst&egrave;me de fichiers. C'est-&agrave;-dire, les
+ correspondances se rapportant aux <literal>struct buf</literal>s.</para>
+
+ <para>Au contraire de Linux, FreeBSD ne fait <emphasis>pas</emphasis>
+ correspondre toute la m&eacute;moire physique avec l'interface de
+ m&eacute;moire virtuelle. Ce qui signifie que FreeBSD peut g&eacute;rer
+ des configurations ayant jusqu'&agrave; 4 Go de m&eacute;moire sur les
+ plates-formes 32 bits. En fait, si l'unit&eacute; de gestion de la
+ m&eacute;moire&nbsp;-&nbsp;<foreignphrase>Memory Management Unit
+ (MMU)</foreignphrase> en &eacute;tait capable, FreeBSD pourrait
+ th&eacute;oriquement g&eacute;rer jusqu'&agrave; 8 To sur une
+ plate-forme 32 bits. N&eacute;nmoins, comme la plupart des plates-formes
+ 32 bits ne peuvent pas recevoir plus de 4 Go, c'est un sujet de
+ controverse.</para>
+
+ <para>L'interface de m&eacute;moire virtuelle du noyau est
+ g&eacute;r&eacute;e par diff&eacute;rents m&eacute;canismes. Le
+ m&eacute;canisme principal de gestion de cette interface est
+ l'allocateur de zone&nbsp;-&nbsp;<emphasis>zone allocator</emphasis>.
+ L'allocateur de zone prend une portion de l'interface de
+ m&eacute;moire virtuelle et la d&eacute;coupe en blocs de
+ m&eacute;moire de m&ecirc;me taille pour y allouer un type
+ particulier de structure. Vous pouvez utiliser la commande
+ <command>vmstat -m</command> pour avoir une vue d'ensemble de
+ l'utilisation actuelle de l'interface entre le noyau et la
+ m&eacute;moire virtuelle zone par zone.</para>
+ </sect2>
+
+ <sect2>
+ <title>Optimisation du syst&egrave;me de gestion de m&eacute;moire
+ virtuelle de FreeBSD</title>
+
+ <para>Il a &eacute;t&eacute; fourni un effort concert&eacute; pour que le
+ noyau de FreeBSD optimise lui-m&ecirc;me dynamiquement son
+ fonctionnement. Vous n'avez normalement pas &agrave; vous casser la
+ t&ecirc;te avec les options <literal>maxusers</literal> et
+ <literal>NMBCLUSTERS</literal> de configuration du noyau, options de
+ compilation habituellement d&eacute;finies dans
+ <filename>/usr/src/sys/i386/conf/<replaceable>FICHIER_DE_CONFIGURATION</replaceable></filename>.
+ On trouve une description de toutes les options de configuration du
+ noyau dans <filename>/usr/src/sys/i386/conf/LINT</filename>.</para>
+
+ <para>Lors de la configuration d'un gros syst&egrave;me, vous pouvez
+ vouloir augmenter <literal>maxusers</literal>. Ses valeurs sont
+ g&eacute;n&eacute;ralement comprises entre 10 et 128. Remarquez que
+ donner une valeur trop importante &agrave;
+ <literal>maxusers</literal> peut provoquer un d&eacute;bordement de
+ l'interface de m&eacute;moire virtuelle disponible, entra&icirc;nant des
+ r&eacute;sultats impr&eacute;visibles. Il vaut mieux donner &agrave;
+ <literal>maxusers</literal> une valeur raisonnable et ajouter d'autres
+ options, telles que <literal>NMBCLUSTERS</literal>, pour augmenter des
+ ressources pr&eacute;cises.</para>
+
+ <para>Si votre syst&egrave;me va faire beaucoup appel au r&eacute;seau,
+ vous pouvez augmenter <literal>NMBCLUSTERS</literal>. Les valeurs
+ usuelles sont comprises entre 1024 et 4096.</para>
+
+ <para>Le param&egrave;tre <literal>NBUF</literal> est aussi
+ traditionnellement utilis&eacute; pour dimensionner le syst&egrave;me.
+ Ce param&egrave;tre d&eacute;finit la taille de l'interface de
+ m&eacute;moire virtuelle du noyau disponible pour les correspondances
+ avec les tampons d'entr&eacute;e/sortie du syst&egrave;me de fichiers.
+ Notez bien que ce param&egrave;tre n'a rien &agrave; voir avec le
+ tampon cache unifi&eacute;&nbsp;! Ce param&egrave;tre est
+ optimis&eacute; dynamiquement par le noyau
+ <literal>3.0-current</literal> et les noyaux ult&eacute;rieurs et n'a
+ normalement pas besoin d'&ecirc;tre ajust&eacute; &agrave; la main.
+ Nous recommandons de ne <emphasis>pas</emphasis> essayer de fixer le
+ param&egrave;tre <literal>NBUF</literal>. Laissez le syst&egrave;me
+ s'en charger. Une valeur trop faible peut rendre le syst&egrave;me de
+ fichiers largement inefficace et une valeur trop grande saturer les
+ queues de pages en entra&icirc;nant le verrouillage d'un trop grand
+ nombre de pages.</para>
+
+ <para>Par d&eacute;faut, les noyaux FreeBSD ne sont pas optimis&eacute;s.
+ Vous pouvez positionner les indicateurs d'optimisation et de
+ d&eacute;boguage avec les directives <literal>makeoptions</literal> de
+ configuration du noyau. Remarquez que vous ne devriez pas utiliser
+ l'option <option>-g</option> &agrave; moins que vous ne puissiez vous
+ accommoder des noyaux de taille importante (habituellement plus de 7 Mo)
+ qui en r&eacute;sultent.</para>
+
+ <programlisting>
+makeoptions DEBUG="-g"
+makeoptions COPTFLAGS="-O2 -pipe"
+ </programlisting>
+
+ <para><command>sysctl</command> fournit un moyen d'optimiser le noyau en
+ temps r&eacute;el. Vous n'avez habituellement pas &agrave; vous
+ pr&eacute;occuper des variables de <command>sysctl</command>, et en
+ particulier pas de celles qui concernent la m&eacute;moire
+ virtuelle.</para>
+
+ <para>L'optimisation de la gestion de m&eacute;moire virtuelle et du
+ syst&egrave;me d'ex&eacute;cution est relativement simple. Tout
+ d'abord, utilisez &ldquo;les mises &agrave; jour
+ logicielles&rdquo;&nbsp;-&nbsp;<foreignphrase>softupdates</foreignphrase>&nbsp;-&nbsp;sur
+ vos syst&egrave;mes de fichiers UFS/FFS chaque fois que c'est possible.
+ Le fichier
+ <filename>/usr/src/contrib/sys/softupdates/README</filename> donne
+ les indications (et les restrictions) sur la fa&ccedil;on de les
+ configurer.</para>
+
+ <para>En second lieu, pr&eacute;voyez suffisamment d'espace de pagination.
+ Vous devriez avoir une partition de pagination sur chaque disque
+ physique, jusqu'&agrave; quatre, m&ecirc;me sur vos disques &ldquo;de
+ travail&rdquo;. Il doit y avoir au moins deux fois autant d'espace de
+ pagination que de m&eacute;moire, et &eacute;ventuellement m&ecirc;me
+ plus si vous n'avez pas beaucoup de m&eacute;moire. Vous devriez aussi
+ dimensionner votre partition de pagination en fonction de la
+ quantit&eacute; maximale de m&eacute;moire que vous comptez installer
+ sur votre syst&egrave;me pour ne pas avoir &agrave; repartitionner vos
+ disques par la suite. Si vous voulez pouvoir garder une trace en cas
+ de plantage&nbsp;-&nbsp;<foreignphrase>crash
+ dump</foreignphrase>&nbsp;-&nbsp;votre premi&egrave;re partition de
+ pagination doit &ecirc;tre au moins de la taille de la m&eacute;moire et
+ <filename>/var/crash</filename> doit disposer de suffisamment de place
+ libre pour recevoir la trace.</para>
+
+ <para>Il est tout &agrave; fait admissible de paginer via NFS &agrave;
+ partir des syst&egrave;mes <literal>-4.x</literal> et ult&eacute;rieurs,
+ mais il faut &ecirc;tre conscient que le serveur NFS supportera le plus
+ fort de la charge de pagination.</para>
+ </sect2>
+ </sect1>
+</chapter>
+
+<!--
+ Local Variables:
+ mode: sgml
+ sgml-declaration: "../chapter.decl"
+ sgml-indent-data: t
+ sgml-omittag: nil
+ sgml-always-quote-attributes: t
+ sgml-parent-document: ("../handbook.sgml" "part" "chapter")
+ End:
+-->
diff --git a/fr_FR.ISO_8859-1/books/handbook/introduction/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/introduction/chapter.sgml
new file mode 100644
index 0000000000..c18577aa65
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/introduction/chapter.sgml
@@ -0,0 +1,727 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: 1.13
+-->
+
+ <chapter id="introduction">
+ <title>Introduction</title>
+ &trans.a.haby;
+ <para>FreeBSD est une syst&egrave;me d'exploitation bas&eacute; sur 4.4BSD-Lite2 pour
+ les PCs &agrave; base d'architecture Intel (x86) et DEC Alpha. Pour un aper&ccedil;u de FreeBSD,
+ reportez-vous &agrave; <link linkend="nutshell">FreeBSD en bref</link>. Pour
+ conna&icirc;tre l'histoire du projet, lisez <link linkend="history">Un
+ court historique de FreeBSD</link>. Pour avoir une description de la
+ version la plus r&eacute;cente, allez &agrave; la section
+ <link linkend="relnotes">A propos de cette version</link>. Si vous
+ voulez contribuer d'une fa&ccedil;on ou d'une autre au projet FreeBSD
+ (code, mat&eacute;riel, ch&egrave;ques en blanc), voyez s'il vous pla&icirc;t &agrave; la section
+ <link linkend="contrib">Contribuer &agrave; FreeBSD</link>.</para>
+
+ <sect1 id="nutshell">
+ <title>FreeBSD en bref</title>
+
+ <para>FreeBSD est un syst&egrave;me d'exploitation en l'&eacute;tat de
+ l'art pour les ordinateurs personnels &agrave; base d'architecture &agrave;
+ processeurs Intel, ce qui inclut les processeurs 386, 486 (SX et
+ DX) et Pentium ainsi que l'architecture Alpha. Les CPUs
+ compatibles Intel d'AMD et Cyrix sont aussi support&eacute;es. FreeBSD
+ vous apporte de nombreuses fonctionnalit&eacute;s avanc&eacute;es qui
+ n'&eacute;taient jusque-l&agrave; disponibles que sur des ordinateurs beaucoup
+ plus on&eacute;reux. Parmi ces fonctionnalit&eacute;s:</para>
+
+
+ <itemizedlist>
+
+ <listitem>
+ <para><emphasis>Multi-t&acirc;che pr&eacute;emptif</emphasis> avec
+ ajustement dynamique des priorit&eacute;s pour garantir un
+ partage &eacute;quilibr&eacute; et fluide de l'ordinateur entre les
+ applications et utilisateurs.</para>
+ </listitem>
+
+ <listitem>
+ <para>Acc&egrave;s <emphasis>Multi-utilisateurs</emphasis>, ce qui
+ signifie que de nombreuses personnes peuvent utiliser en
+ m&ecirc;me temps un syst&egrave;me FreeBSD &agrave; des fins tr&egrave;s diff&eacute;rentes.
+ Les p&eacute;riph&eacute;riques tels que les imprimantes ou les lecteurs
+ de bandes peuvent &ecirc;tre aussi PARTAGES sans probl&egrave;me entre
+ TOUS les utilisateurs du syst&egrave;me.</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis>R&eacute;seau TCP/IP</emphasis> complet dont le
+ support de SLIP, PPP, NFS et NIS. Cela signifie que votre
+ machine FreeBSD peut coop&eacute;rer facilement avec les autres
+ syst&egrave;mes ou bien &ecirc;tre utilis&eacute;e
+ comme serveur d'entreprise, fournissant
+ des fonctions essentielles comme NFS (acc&egrave;s aux fichiers en
+ r&eacute;seau) ou le service de courrier &eacute;lectronique, ou encore
+ g&eacute;rer l'acc&egrave;s de votre entreprise &agrave; l'Internet gr&acirc;ce aux
+ services WWW, ftp, et aux fonctionnalit&eacute;s de routage et de
+ coupe-feu (s&eacute;curit&eacute;).</para>
+ </listitem>
+
+ <listitem>
+ <para>La <emphasis>Protection m&eacute;moire</emphasis> garantit que les
+ applications ou les utilisateurs n'interf&egrave;rent pas entre eux.
+ Une application qui &ldquo;plante&rdquo; n'affecte en rien les
+ autres.</para>
+ </listitem>
+
+ <listitem>
+ <para>FreeBSD est un syst&egrave;me d'exploitation
+ <emphasis>32-bit</emphasis> et a &eacute;t&eacute; con&ccedil;u comme tel d&egrave;s le
+ d&eacute;but.</para>
+ </listitem>
+
+ <listitem>
+ <para>Le standard industriel <emphasis>X Window System</emphasis>
+ (X11R6) fournit une interface graphique (&ldquo;Graphical User
+ Interface&rdquo;&nbsp;-&nbsp;GUI),
+ moyennant l'achat d'une carte VGA
+ ordinaire et d'un moniteur, et est livr&eacute; avec l'int&eacute;gralit&eacute; de
+ son code source.</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis>Compatibilit&eacute; binaire</emphasis> avec de
+ nombreux programmes compil&eacute;s pour SCO, BSDI, NetBSD, Linux et
+ 386BSD.</para>
+ </listitem>
+
+ <listitem>
+ <para>Des centaines d'applications
+ <emphasis>pr&ecirc;tes &agrave; l'emploi</emphasis>
+ sont disponibles gr&acirc;ce au catalogue des logiciels
+ <emphasis>port&eacute;s</emphasis> (&ldquo;ports&rdquo;) et au catalogue
+ des logiciels <emphasis>pr&eacute;-compil&eacute;s</emphasis>
+ (&ldquo;packages&rdquo;). Pourquoi chercher sur l'Internet alors
+ que tout est d&eacute;j&agrave; l&agrave;?</para>
+ </listitem>
+
+ <listitem>
+ <para>Des milliers d'applications <emphasis>faciles &agrave;
+ porter</emphasis> sont disponibles sur l'Internet. FreeBSD est
+ compatible au niveau du code source avec les syst&egrave;mes
+ Unix commerciaux les plus r&eacute;pandus et donc il y a peu, sinon
+ aucune modification, &agrave; faire pour les compiler.</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis>M&eacute;moire virtuelle</emphasis> pagin&eacute;e &agrave; la demande
+ et &ldquo;cache unifi&eacute; pour le disque
+ et la m&eacute;moire virtuelle&rdquo;; cela
+ permet de r&eacute;pondre aux besoins d'applications gourmandes en
+ m&eacute;moire tout en garantissant le temps de r&eacute;ponse aux autres
+ utilisateurs.</para>
+ </listitem>
+
+ <listitem>
+ <para>Les <emphasis>Bilioth&egrave;ques partag&eacute;es</emphasis>
+ (l'&eacute;quivalent Unix des DLLs de MS-Windows) permettent une
+ utilisation efficace de la m&eacute;moire et du disque.</para>
+ </listitem>
+
+ <listitem>
+ <para>Des outils complets de d&eacute;veloppement <emphasis>C</emphasis>,
+ <emphasis>C++</emphasis> et <emphasis>Fortran</emphasis>. De
+ nombreux autres langages pour la recherche de pointe et le
+ d&eacute;veloppement sont aussi disponibles dans les catalogues des
+ logiciels port&eacute;s et pr&eacute;-compil&eacute;s.</para>
+ </listitem>
+
+ <listitem>
+ <para>La disponibilit&eacute; du <emphasis>Code source</emphasis> de la
+ totalit&eacute; du syst&egrave;me vous donne tout contr&ocirc;le sur votre
+ environnement. Pourquoi &ecirc;tre prisonnier d'une solution
+ propri&eacute;taire et d&eacute;pendant de votre fournisseur alors que vous
+ pouvez avoir un vrai Syst&egrave;me Ouvert?</para>
+
+ </listitem>
+
+ <listitem>
+ <para><emphasis>Documentation en ligne</emphasis> tr&egrave;s
+ compl&egrave;te.</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis>Et beaucoup d'autres choses
+ encore!</emphasis></para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>FreeBSD est bas&eacute; sur la version 4.4BSD-Lite2 du &ldquo;Computer
+ Systems Research Group&rdquo; (CSRG) de l'Universit&eacute; de Californie &agrave;
+ Berkeley et continue la tradition de d&eacute;veloppement renomm&eacute;e des
+ syst&egrave;mes BSD. En plus de l'excellent travail fourni par le CSRG, le
+ Projet FreeBSD a investi des milliers d'heures de travail pour
+ optimiser le syst&egrave;me pour arriver aux meilleures performances et au
+ maximum de fiabilit&eacute; sous la charge d'un environnement de production.
+ Alors que la plupart des g&eacute;ants dans le domaine des syst&egrave;mes
+ d'exploitation pour PC s'acharnent encore
+ &agrave; obtenir de telles possibilit&eacute;s,
+ performances et fiabilit&eacute;, FreeBSD peut les offrir
+ <emphasis>d&egrave;s maintenant</emphasis>!</para>
+
+ <para>La seule limite aux domaines d'application auxquels FreeBSD peut
+ satisfaire est votre propre imagination. Du d&eacute;veloppement
+ de logiciels &agrave; la production robotis&eacute;e, de la gestion de stocks &agrave;
+ la correction d'azimuth pour les antennes satellites; si un
+ Unix commercial peut le faire, il y a de tr&egrave;s fortes chances que
+ FreeBSD le puisse aussi! FreeBSD b&eacute;n&eacute;ficie aussi
+ de centaines d'applications de haute qualit&eacute; developp&eacute;es par les
+ centres de recherche et les universit&eacute;s du monde entier, souvent
+ disponibles gratuitement ou presque. Il existe aussi des applications
+ commerciales et leur nombre cro&icirc;t de jour en jour.</para>
+
+ <para>Comme le code source de FreeBSD lui-m&ecirc;me est globalement
+ disponible, le syst&egrave;me peut aussi &ecirc;tre adapt&eacute; sur mesure &agrave; un
+ point pratiquement jamais atteint pour des applications ou des
+ projets particuliers, d'une fa&ccedil;on qui serait habituellement
+ impossible avec les syst&egrave;mes d'exploitation commerciaux de la
+ plupart des principaux fournisseurs. Voici juste quelques exemples
+ d'applications pour lesquelles FreeBSD est utilis&eacute;:</para>
+
+
+ <itemizedlist>
+
+ <listitem>
+ <para><emphasis>Services Internet:</emphasis> Les
+ fonctionnalit&eacute;s r&eacute;seau TCP/IP robustes qu'inclut FreeBSD
+ en font la plate-forme id&eacute;ale pour un &eacute;ventail de services
+ Internet, tels que:</para>
+ <itemizedlist>
+
+ <listitem>
+ <para>Serveurs FTP,</para>
+ </listitem>
+
+ <listitem>
+ <para>Serveurs &ldquo;World Wide Web&rdquo;,</para>
+ </listitem>
+
+ <listitem>
+ <para>Serveurs Gopher,</para>
+ </listitem>
+
+ <listitem>
+ <para>Serveurs de courrier &eacute;lectronique,</para>
+ </listitem>
+
+ <listitem>
+ <para>Serveurs de &ldquo;News
+ USENET&rdquo;&nbsp;-&nbsp;forums
+ de discussion,</para>
+ </listitem>
+
+ <listitem>
+ <para>&ldquo;Bulletin Board Systems (BBS)&rdquo;,</para>
+ </listitem>
+
+ <listitem>
+ <para>Et plus...</para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>Vous pouvez facilement commencer petit avec un PC 386 &agrave; bas
+ prix et muscler votre configuration au fur et &agrave; mesure que
+ votre entreprise grandit.</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis>Education:</emphasis> Etes-vous &eacute;tudiant en
+ informatique ou dans un domaine d'ing&eacute;nierie apparent&eacute;? Il
+ n'y a pas de meilleur moyen pour &eacute;tudier les syst&egrave;mes
+ d'exploitation, l'architecture des ordinateurs et les
+ r&eacute;seaux que l'exp&eacute;rience directe et de
+ &ldquo;derri&egrave;re la coulisse&rdquo;
+ que FreeBSD peut vous apporter. Il y a aussi un grand nombre
+ d'outils math&eacute;matiques, graphiques et de Conception Assist&eacute;e
+ par Ordinateur qui en font en outil tr&egrave;s utile pour ceux qui
+ s'int&eacute;ressent aux ordinateurs essentiellement pour faire un
+ <emphasis>autre</emphasis> travail!</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis>Recherche:</emphasis> Avec le code source de la
+ totalit&eacute; du syst&egrave;me disponible, FreeBSD est un excellent outil
+ de recherche sur les syst&egrave;mes d'exploitation tout autant que
+ pour d'autres branches de l'informatique. Le fait que FreeBSD
+ soit librement disponible rend aussi possible l'&eacute;change d'id&eacute;es
+ et le d&eacute;veloppement partag&eacute; entre groupes &eacute;loign&eacute;s sans avoir &agrave;
+ se pr&eacute;occuper de probl&egrave;mes de licence particuli&egrave;res ou de
+ restrictions &agrave; ce qui pourait &ecirc;tre discut&eacute; sur des forums
+ ouverts.</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis>R&eacute;seau:</emphasis> Il vous faut un nouveau
+ routeur? Un serveur de domaine (DNS)? Un coupe-feu pour tenir
+ les gens &agrave; l'&eacute;cart de votre r&eacute;seau interne? FreeBSD peut
+ facilement faire de votre vieux 386 ou 486 inutilis&eacute; qui
+ tra&icirc;ne dans un coin un routeur &eacute;volu&eacute; avec des fonctionnalit&eacute;s
+ sophistiqu&eacute;es de filtrage de paquets.</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis>Station de travail X Window:</emphasis> FreeBSD
+ est un excellent choix pour faire un terminal X peu co&ucirc;teux,
+ soit avec le serveur XFree86 librement disponible, soit avec
+ les excellents serveurs commerciaux de X Inside. Au contraire
+ d'un terminal X, FreeBSD permet d'ex&eacute;cuter localement, si
+ d&eacute;sir&eacute;, un grand nombre d'applications, d&eacute;chargeant ainsi
+ le serveur central. FreeBSD peut m&ecirc;me d&eacute;marrer &ldquo;sans
+ disque&rdquo;, ce qui permet de concevoir des postes de
+ travail individuels moins chers et plus faciles &agrave;
+ administrer.</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis>D&eacute;veloppement de logiciel:</emphasis> Le syst&egrave;me
+ FreeBSD de base inclut un environnement de d&eacute;veloppement
+ complet dont les compilateur et d&eacute;bogueur GNU C/C++
+ r&eacute;put&eacute;s.</para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>FreeBSD est disponible sous forme de code source ou binaire sur
+ CD-ROM ou par ftp anonyme, Voyez <link linkend="mirrors">Se procurer
+ FreeBSD</link> pour plus de d&eacute;tails.</para>
+
+ </sect1>
+
+ <sect1 id="history">
+ <title>Un court historique de FreeBSD</title>
+
+ <para><emphasis>Contribution de &a.jkh;</emphasis>.</para>
+
+ <para>Le projet FreeBSD a vu le jour au d&eacute;but de 1993, en partie
+ comme extension du &ldquo;Kit de mise &agrave; jour non officiel de
+ 386BSD&rdquo; des trois derniers coordinateurs du kit de mise &agrave;
+ jour : Nate Williams, Rod Grimes et moi-m&ecirc;me.</para>
+
+ <para>Notre objectif de d&eacute;part &eacute;tait de fournir une distribution
+ interm&eacute;diaire de 386BSD pour corriger un certain nombre de
+ probl&egrave;mes que le m&eacute;canisme du kit de mise &agrave; jour ne permettait
+ pas de r&eacute;soudre. Certains d'entre vous se rappellent peut-&ecirc;tre
+ que l'intitul&eacute; de travail d'origine du projet &eacute;tait
+ &ldquo;386 BSD 0.5&rdquo; ou &ldquo;386BSD Interim&rdquo; en
+ r&eacute;f&eacute;rence &agrave; ce probl&egrave;me.</para>
+
+ <para>386BSD &eacute;tait le syst&egrave;me d'exploitation de Bill Jolitz, qui
+ souffrait assez s&eacute;v&egrave;rement &agrave; ce moment-l&agrave; d'avoir &eacute;t&eacute; n&eacute;glig&eacute;
+ presque un an. Comme le kit de mise &agrave; jour enflait de plus
+ en plus inconfortablement au fil des jours, nous avons d&eacute;cid&eacute; &agrave;
+ l'unanimit&eacute; qu'il fallait faire quelque chose et aider Bill en
+ fournissant cette distribution provisoire de &ldquo;remise &agrave; plat&rdquo;.
+ Ces projets se sont brutalement interrompus lorsque Bill a d&eacute;cid&eacute;
+ de retirer son aval au projet sans dire
+ clairement ce qui serait fait &agrave;
+ la place.</para>
+
+ <para>Il ne nous a pas fallu longtemps pour d&eacute;cider que l'objectif
+ restait valable, m&ecirc;me sans l'adh&eacute;sion de Bill, et nous avons donc
+ adopt&eacute; le nom &ldquo;FreeBSD&rdquo;, une proposition de David
+ Greenman. Nos objectifs de d&eacute;part ont &eacute;t&eacute; d&eacute;finis apr&egrave;s avoir
+ consult&eacute; les utilisateurs du moment du syst&egrave;me et, d&egrave;s qu'il est
+ devenu clair que le projet &eacute;tait parti pour devenir un jour
+ &eacute;ventuellement r&eacute;alit&eacute;, nous avons contact&eacute; Walnut
+ Creek CDROM dans l'optique d'am&eacute;liorer la distribution de
+ FreeBSD pour le grand nombre de ceux qui n'avaient pas la chance
+ de pouvoir acc&eacute;der facilement &agrave; l'Internet. Non seulement Walnut
+ Creek CDROM a adopt&eacute; l'id&eacute;e de distribuer FreeBSD sur CD-ROM, mais
+ a &eacute;t&eacute; jusqu'&agrave; fournir au projet une machine pour travailler et
+ une connexion rapide &agrave; l'Internet. Sans le degr&eacute; pratiquement
+ sans pr&eacute;c&eacute;dent de confiance de Walnut Creek CDROM en ce qui n'&eacute;tait
+ alors qu'un projet totalement inconnu, il y a peu de chance que
+ FreeBSD ait &eacute;t&eacute; aussi loin, aussi vite, que l&agrave; o&ugrave; il en est
+ aujourd'hui.</para>
+
+ <para>La premi&egrave;re version sur CD-ROM (et sur l'ensemble du Net) fut
+ FreeBSD 1.0, parue en D&eacute;cembre 1993. Elle reposait sur la bande
+ 4.3BSD-Lite (&ldquo;Net/2&rdquo;) de l'Universit&eacute; de Californie &agrave;
+ Berkeley, avec de nombreux composants venant aussi de 386BSD et de
+ la &ldquo;Free Software Foundation&rdquo;. Ce fut un
+ succ&egrave;s honn&ecirc;te pour une
+ version initiale, qui fut suivi par le franc succ&egrave;s de la version 1.1
+ de FreeBSD, publi&eacute;e en Mai 1994.</para>
+
+ <para>A peu pr&egrave;s &agrave; cette &eacute;poque, des nuages mena&ccedil;ants et inattendus
+ apparurent lorsque commen&ccedil;a la bataille juridique entre Novell et
+ l'U.C. Berkley autour du statut l&eacute;gal de la bande Net/2 de
+ Berkeley. Dans les termes de l'accord, l'U.C. Berkeley conc&eacute;dait
+ qu'une grande partie de Net/2 &eacute;tait du code &ldquo;prot&eacute;g&eacute;&rdquo;
+ et propri&eacute;t&eacute; de Novell, qui l'avait &agrave; son tour rachet&eacute; &agrave;
+ AT&amp;T quelque temps auparavant. Berkeley obtint en retour la
+ &ldquo;b&eacute;n&eacute;diction&rdquo; de Novell que 4.4BSD-Lite soit, lorsqu'il
+ vit finalement le jour, d&eacute;clar&eacute; non prot&eacute;g&eacute; et que tous les
+ utilisateurs de Net/2 soit fortement incit&eacute;s &agrave; migrer. Cela incluait
+ FreeBSD, et l'on donna au projet jusqu'&agrave; Juillet 1994 pour mettre un
+ terme &agrave; propre produit bas&eacute; sur Net/2. Selon les termes de cet accord,
+ une derni&egrave;re livraison &eacute;tait autoris&eacute;e avant le d&eacute;lai final; ce
+ fut FreeBSD 1.1.5.1.</para>
+
+ <para>FreeBSD s'attela alors &agrave; la t&acirc;che difficile de litt&eacute;ralement se
+ r&eacute;inventer &agrave; partir de fragments totalement nouveaux et assez
+ incomplets de 4.4BSD-Lite. Les versions &ldquo;Lite&rdquo;
+ &eacute;taient l&eacute;g&egrave;res (&ldquo;light&rdquo;) en partie parce que le
+ CSRG avait retir&eacute; de gros morceaux du code n&eacute;cessaires pour que
+ l'on puisse effectivement en faire un syst&egrave;me qui d&eacute;marre (pour
+ diff&eacute;rentes raisons l&eacute;gales) et parce que le portage pour Intel
+ de la version 4.4 &eacute;tait tr&egrave;s partiel. Il fallu au projet jusqu'&agrave;
+ D&eacute;cembre 1994 pour terminer cette &eacute;tape de transition et FreeBSD 2.0
+ parut sur l'Internet et sur CD-ROM en Janvier 1995. Bien qu'elle fut
+ encore assez rugueuse aux angles, cette livraison obtint un succ&egrave;s
+ significatif et fut suivie par la version 2.0.5 de FreeBSD, plus
+ fiable et facile &agrave; installer.</para>
+
+ <para>Nous avons publi&eacute; FreeBSD 2.1.5 en Ao&ucirc;t 1996, et il s'av&eacute;ra
+ suffisamment populaire chez les fournisseurs d'acc&egrave;s et les
+ utilisateurs professionnels pour qu'une nouvelle version sur
+ la branche 2.1-stable soit justifi&eacute;e. Ce fut la version
+ FreeBSD 2.1.7.1, parue en F&eacute;vrier 1997 et qui marque la fin de
+ 2.1-stable comme branche principale de d&eacute;veloppement. D&egrave;s lors, il
+ n'y aurait plus que des am&eacute;liorations quant &agrave; la s&eacute;curit&eacute; et autres
+ corrections de bogues critiques sur cette branche, (RELENG_2_1_0),
+ pass&eacute;e en phase de maintenance.</para>
+
+ <para>La branche FreeBSD 2.2 fut cr&eacute;&eacute;e &agrave; partir de la branche principale
+ de d&eacute;veloppement (&ldquo;-current&rdquo;) en Novembre 1996 en tant
+ que branche RELENG_2_2, et la premi&egrave;re version compl&egrave;te (2.2.1) parut
+ en Avril 1997. Il y eut d'autres versions sur la branche 2.2 &agrave; l'&eacute;t&eacute;
+ et &agrave; l'automne 97, la plus r&eacute;cente &eacute;tant la 2.2.7, qui a &eacute;t&eacute; publi&eacute;e
+ en Juillet 1998. La premi&egrave;re version officielle 3.0 sortira en
+ Octobre 1998 et la derni&egrave;re version sur la branche 2.2, la version
+ 2.2.8, en Novembre.</para>
+
+ <para>Il y eut la cr&eacute;ation d'une nouvelle branche le 20
+ Janvier 1999. Cela donna une branche 4.0-current et une branche
+ 3.X-stable. De cette derni&egrave;re il y eut la version 3.1 livr&eacute;e le
+ 15 F&eacute;vrier 1999 et la version 3.2 livr&eacute;e le 25 Mai 1999</para>
+
+ <para>Tous les projets de d&eacute;veloppement &agrave; long terme, de SMP &agrave; la
+ version DEC Alpha, continueront &agrave; se faire sur la branche 4.0-current
+ et sur les versions d'instantan&eacute;s de la 4.0 sur CD-ROM (et bien s&ucirc;r
+ sur l'Internet).</para>
+
+ </sect1>
+
+ <sect1 id="goals">
+ <title>Les objectifs du projet FreeBSD</title>
+
+ <para><emphasis>Contribution de &a.jkh;</emphasis>.</para>
+
+ <para>L'objectif du projet FreeBSD est de fournir du logiciel qui
+ puisse &ecirc;tre utilis&eacute; &agrave; n'importe quelle fin et sans aucun restriction.
+ Nombre d'entre nous sont impliqu&eacute;s de fa&ccedil;on significative dans le
+ code (et dans le projet) et ne refuseraient certainement pas une
+ petite compensation financi&egrave;re de temps &agrave; autre, mais ce n'est
+ certainement pas dans nos intentions d'insister l&agrave; dessus. Nous
+ croyons que notre premi&egrave;re et principale &ldquo;mission&rdquo;
+ est de fournir du code &agrave; tout le monde, pour n'importe quel projet,
+ de fa&ccedil;on &agrave; ce que l'il soit utilis&eacute; le plus possible et avec
+ le maximum d'avantages. C'est, nous le pensons, l'un des objectifs
+ les plus fondamentaux du Logiciel Libre et l'un de ceux que nous
+ soutenons avec enthousiasme.</para>
+
+ <para>Le code de l'arborescence des sources, qui est r&eacute;gi par la
+ Licence Publique GNU (&ldquo;GNU Public
+ License&rdquo;&nbsp;-&nbsp;GPL) ou
+ la Licence Publique GNU pour les Biblioth&egrave;ques (&ldquo;GNU Library
+ Public License&rdquo;&nbsp;-&nbsp;GLPL) impose l&eacute;g&egrave;rement plus de
+ contraintes, bien que plut&ocirc;t li&eacute;es &agrave; une disponibilit&eacute; plus grande
+ qu'au contraire, comme c'est g&eacute;n&eacute;ralement le cas. En raison des
+ complications suppl&eacute;mentaires qui peuvent r&eacute;sulter de l'utilisation
+ commerciale de logiciels GPL, nous essayons, cependant de remplacer
+ ces derniers par des logiciels soumis &agrave; la licence BSD qui est plus
+ souple, chaque fois que c'est possible.</para>
+
+ </sect1>
+
+ <sect1 id="development">
+ <title>Le mode de d&eacute;veloppement de FreeBSD</title>
+
+ <para><emphasis>Contribution de &a.asami;</emphasis>.</para>
+
+ <para>Le d&eacute;veloppement de FreeBSD est un processus tr&egrave;s ouvert et
+ tr&egrave;s souple, FreeBSD est litt&eacute;ralement le r&eacute;sultat de
+ contributions de centaines de personnes dans le mode entier,
+ ce que refl&egrave;te notre <link linkend="staff">liste des
+ participants</link>. Nous sommes toujours &agrave; l'affut de nouveaux
+ d&eacute;veloppeurs et de nouvelles id&eacute;es, et ceux que s'impliquer
+ de plus pr&egrave;s int&eacute;resse n'ont besoin que de contacter la
+ &a.hackers;. Ceux qui pr&eacute;f&egrave;rent travailler de fa&ccedil;on plus
+ ind&eacute;pendante sont aussi accept&eacute;s, et sont libres d'utiliser nos
+ possibilit&eacute;s de FTP sur <ulink
+ url="ftp://ftp.freebsd.org/pub/FreeBSD/incoming">ftp.freebsd.org</ulink>
+ pour livrer leurs propres modifications ou sources en cours de
+ d&eacute;veloppement. La &a.announce; est aussi disponible pour ceux qui
+ veulent faire conna&icirc;tre aux autres utilisateurs de FreeBSD les
+ principaux domaines de d&eacute;veloppement en cours.</para>
+
+ <para>Quelques points utiles &agrave; conna&icirc;tre &agrave; propos du projet FreeBSD
+ et de son processus de d&eacute;veloppement, que vous travailliez
+ ind&eacute;pendamment ou en collaboration &eacute;troite:</para>
+
+ <variablelist>
+ <varlistentry><term>Les archives CVS
+ <anchor id="development-cvs-repository"></term>
+ <listitem>
+ <para>L'arborescence centrale des sources de FreeBSD est g&eacute;r&eacute;e
+ sous <ulink
+ url="http://www.cyclic.com/cyclic-pages/CVS-sheet.html">CVS</ulink> (&ldquo;Concurrent Version System&rdquo;),
+ un syst&egrave;me librement disponible de gestion de
+ version des sources qui est livr&eacute; avec FreeBSD. Les
+ <ulink url="http://www.freebsd.org/cgi/cvsweb.cgi">archives
+ CVS</ulink> d'origine sont sur une machine &agrave; Concord, CA, USA,
+ d'o&ugrave; elles sont r&eacute;pliqu&eacute;es sur de nombreuses machines miroir
+ &agrave; travers le monde. L'arborescence CVS, et les branches
+ <link linkend="current">-current</link> et <link
+ linkend="stable">-stable</link> qui en sont extraites,
+ peuvent facilement &ecirc;tre dupliqu&eacute;es sur votre propre machine.
+ Reportez-vous &agrave; la section
+ <link linkend="synching">Synchroniser votre arborescence des
+ sources</link> pour plus d'informations sur la fa&ccedil;on de
+ proc&eacute;der.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>La liste des personnes autoris&eacute;es, les &ldquo;commiters&rdquo;
+ <anchor id="development-committers"></term>
+
+ <listitem>
+ <para>Les <link linkend="staff-committers">personnes
+ autoris&eacute;es (&ldquo;committers&rdquo;)</link> sont celles qui
+ ont les droits en
+ <emphasis>&eacute;criture</emphasis> sur l'arborescence CVS, et sont
+ donc autoris&eacute;es &agrave; faire des modifications dans les sources
+ de FreeBSD (le terme &ldquo;committer&rdquo; vient de la
+ commande
+ <citerefentry><refentrytitle>cvs</refentrytitle><manvolnum>1</manvolnum></citerefentry> <command>commit</command>, que l'on utilise pour
+ reporter des modifications dans les archives CVS). La
+ meilleure fa&ccedil;on de proposer des modifications pour qu'elles
+ soient valid&eacute;es par les &ldquo;committers&rdquo; est
+ d'utiliser la commande
+ <citerefentry><refentrytitle>send-pr</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ quoique, s'il semble y avoir un probl&egrave;me avec ce syst&egrave;me, vous
+ pouvez aussi les joindre en envoyant un courrier &eacute;lectronique
+ aux <email>committers@freebsd.org</email>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>L'&eacute;quipe de base de
+ FreeBSD<anchor id="development-core"></term>
+
+ <listitem>
+ <para><link linkend="staff-core">L'&eacute;quipe de base de
+ FreeBSD</link> serait l'&eacute;quivalent du comit&eacute; de direction
+ si le Projet FreeBSD &eacute;tait une entreprise. La responsabilit&eacute;
+ principale de l'&eacute;quipe de base est de s'assurer que le projet,
+ dans son ensemble, fonctionne correctement et va dans la
+ bonne direction. Proposer &agrave; des d&eacute;veloppeurs impliqu&eacute;s et
+ responsables de rejoindre notre groupe de personnes autoris&eacute;es
+ est une des fonctions de l'&eacute;quipe de base, ainsi que le
+ recrutement de nouveaux membres de l'&eacute;quipe de base quand
+ d'autres s'en vont. La plupart des membres actuels de
+ l'&eacute;quipe de base ont d'abord &eacute;t&eacute; des &ldquo;commiters&rdquo;
+ dont l'attachement au projet a mobilis&eacute; la meilleure part
+ d'eux-m&ecirc;mes.</para>
+
+ <para>Certains membres de l'&eacute;quipe de base ont aussi leur
+ propre <link
+ linkend="staff-who">domaine de responsabilit&eacute;</link>,
+ ce qui signifie qu'il leur est d&eacute;volu de veiller &agrave; ce
+ qu'une partie significative du syst&egrave;me satisfasse aux
+ fonctionnalit&eacute;s annonc&eacute;es.</para>
+
+ <note>
+ <para>La plupart des membres de l'&eacute;quipe de base sont
+ volontaires en ce qui concerne le d&eacute;veloppement de FreeBSD
+ et ne retirent aucun profit financier du projet, donc
+ &ldquo;implication&rdquo; ne doit pas &ecirc;tre compris
+ &ldquo;support garanti&rdquo;. La comparaison pr&eacute;c&eacute;dente
+ avec un comit&eacute; directeur n'est pas tr&egrave;s exacte, et il
+ serait plus juste de dire que ce sont des gens qui ont
+ sacrifi&eacute; leur vie &agrave; FreeBSD contre toute raison!
+ <!-- smiley --><emphasis>;)</emphasis></para>
+ </note>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Contributions ext&eacute;rieures</term>
+
+ <listitem>
+ <para>Enfin, mais certainement pas des moindres, le groupe le
+ plus important de d&eacute;veloppeurs est constitu&eacute; par les
+ utilisateurs eux-m&ecirc;mes qui nous fournissent de fa&ccedil;on quasi
+ r&eacute;guli&egrave;re leur retour d'exp&eacute;rience et leurs corrections de
+ bogues. Le principal moyen d'entrer en contact avec le
+ d&eacute;veloppement plus d&eacute;centralis&eacute; de FreeBSD est
+ de s'inscrire sur la &a.hackers; (voyez les informations
+ sur les <link linkend="eresources-mail">listes de
+ discussion</link>), o&ugrave; ces questions sont abord&eacute;es.</para>
+
+ <para>La <link linkend="contrib-additional">liste</link> de
+ ceux qui ont fourni quelque chose qui a trouv&eacute; son chemin
+ jusqu'&agrave; notre arborescence des sources est longue et
+ s'accro&icirc;t sans cesse, pourquoi donc ne pas vous y joindre
+ et contribuer &agrave; quelque chose en retour d&egrave;s
+ aujourd'hui? <!-- smiley --><emphasis>:-)</emphasis></para>
+
+ <para>Fournir du code n'est pas la seule mani&egrave;re de contribuer
+ au projet. Pour avoir une liste plus compl&egrave;te de ce qu'il y
+ a &agrave; faire, voyez s'il vous pla&icirc;t la section
+ <link linkend="contrib">Comment contribuer</link> de ce
+ manuel.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+ <para>En r&eacute;sum&eacute;, notre mod&egrave;le de d&eacute;veloppement est organis&eacute; comme
+ un ensemble relach&eacute; de cercles concentriques. Ce mod&egrave;le centralis&eacute;
+ est en place pour la commodit&eacute; des <emphasis>utilisateurs</emphasis>
+ de FreeBSD, qui disposent ainsi d'un moyen facile de suivre
+ l'&eacute;volution d'une base de code centrale, et non pour tenir &agrave; l'&eacute;cart
+ d'&eacute;ventuels participants! Nous souhaitons fournir un syst&egrave;me
+ d'exploitation stable avec un nombre cons&eacute;quent de
+ <link linkend="ports">programmes d'application</link> coh&eacute;rents que
+ les utilisateurs puissent facilement installer et employer,
+ et c'est un mod&egrave;le qui fonctionne tr&egrave;s bien pour cela.</para>
+
+ <para>Tout ce que nous attendons de ceux qui se joindraient &agrave; nous
+ pour d&eacute;velopper FreeBSD est un peu de la m&ecirc;me implication que les
+ d&eacute;veloppeurs actuels ont vis-&agrave;-vis de sa r&eacute;ussite continue!</para>
+
+ </sect1>
+
+ <sect1 id="relnotes">
+ <title>A propos de cette version</title>
+
+ <para>FreeBSD est une version librement disponible et incluant tout
+ le code source bas&eacute; sur 4.4BSD-Lite2 pour les PCs &agrave; architecture
+ Intel i386/i486/Pentium/PentiumPro/Pentium II (ou
+ compatible) et DEC Alpha . Il est bas&eacute; essentiellement sur
+ du logiciel du groupe CSRG de l'Universit&eacute; de Californie &agrave;
+ Berkeley, avec des additions venant de NetBSD, OpenBSD, 386BSD,
+ et de la &ldquo;Free Software Foundation&rdquo;.</para>
+
+
+ <para>Depuis la publication de FreeBSD 2.0 en Janvier 95, les
+ performances, fonctionnalit&eacute;s et la stabilit&eacute; de FreeBSD ont
+ &eacute;t&eacute; am&eacute;lior&eacute;es de fa&ccedil;on spectaculaire. La plus grosse modification
+ est un gestionnaire de m&eacute;moire virtuelle totalement revu qui
+ comprend un cache commun au disque et &agrave; la m&eacute;moire virtuelle, qui
+ n'am&eacute;liore pas seulement les performances, mais diminue aussi
+ l'occupation de la m&eacute;moire, de telle sorte qu'une configuration avec
+ 5MB devienne un minimum acceptable. D'autres ajouts concernent le
+ support int&eacute;gral des clients et serveurs NIS, le support des
+ transactions TCP, les connexions PPP &agrave; la demande, un sous-syst&egrave;me
+ SCSI am&eacute;lior&eacute;, un premier support ISDN, les supports des interfaces
+ FDDI et &ldquo;Fast Ethernet&rdquo; (100 Mbit), un meilleur support
+ du contr&ocirc;leur Adaptec 2940 (Wide et normal) et des centaines de
+ corrections de bogues.</para>
+
+ <para>Nous avons aussi pris en consid&eacute;ration les commentaires et les
+ suggestions de nombre de nos utilisateurs et avons essay&eacute; de
+ fournir ce que nous esp&eacute;rons &ecirc;tre une proc&eacute;dure d'installation
+ plus saine et facile &agrave; comprendre. Votre avis en retour
+ sur cette proc&eacute;dure (constamment en &eacute;volution) sera
+ particuli&egrave;rement le bienvenu!</para>
+
+ <para>En plus du syst&egrave;me lui-m&ecirc;me, FreeBSD offre un nouveau catalogue
+ de logiciels port&eacute;s (&ldquo;ports&rdquo;) qui inclut
+ des centaines de programmes
+ habituellement demand&eacute;s. A la fin Avril 1999, il y en avait plus de
+ 2300! La liste va des serveurs HTTP (WWW) aux jeux, langages,
+ &eacute;diteurs et presque tout ce qui existe entre. Le catalogue complet
+ des logiciels demande pr&egrave;s de 50MB d'espace disque, les portages se
+ pr&eacute;sentant sous forme de &ldquo;delta&rdquo; avec les sources
+ d'origine. Cela rend leur mise &agrave; jour bien plus facile, et diminue
+ de facon sensible l'espace n&eacute;cessaire par rapport &agrave; l'ancien
+ catalogue 1.0. Pour compiler un logiciel port&eacute;, il vous suffit
+ d'aller dans le r&eacute;pertoire o&ugrave; il se trouve, de taper
+ <command>make all</command>, puis <command>make install</command>
+ une fois la compilation r&eacute;ussie, et de laisser le syst&egrave;me faire
+ le reste. La distribution originale compl&egrave;te de chaque logiciel est
+ charg&eacute;e dynamiquement depuis le CD-ROM ou un site ftp proche, il vous
+ suffit de disposer de suffisamment de place pour compiler le logiciel
+ que vous voulez. (Presque) tous les logiciels sont aussi fournis
+ sous forme pr&eacute;-compil&eacute;e (&ldquo;package&rdquo;) qui s'installe
+ en une seule commande (<command>pkg_add</command>), si vous ne voulez
+ pas les compiler &agrave; partir du source.</para>
+
+ <para>Il y a un certain nombre d'autres documents qui vous serons
+ peut-&ecirc;tre tr&egrave;s utiles &agrave; l'installation et &agrave; l'utilisation de
+ FreeBSD, que vous pouvez maintenant trouver dans le r&eacute;pertoire
+ <filename>/usr/share/doc</filename> de n'importe quelle machine
+ sous FreeBSD 2.1 ou ult&eacute;rieur. Vous pouvez consulter les manuels
+ localement disponibles avec n'importe quel navigateur HTML aux
+ URLs suivantes:</para>
+
+
+ <variablelist>
+ <varlistentry><term>Le manuel FreeBSD</term>
+ <listitem>
+ <para><ulink
+ url="file:/usr/share/doc/handbook/handbook.html">file:/usr/share/doc/handbook/handbook.html</ulink></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>La FAQ FreeBSD</term>
+
+ <listitem>
+ <para><ulink
+ url="file:/usr/share/doc/FAQ/FAQ.html">file:/usr/share/doc/FAQ/FAQ.html</ulink></para>
+
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+ <para>Vous pouvez aussi consulter les exemplaires originaux (et les plus
+ souvent mis &agrave; jour) sur <ulink
+ url="http://www.freebsd.org">http://www.freebsd.org</ulink>.</para>
+
+ <para>Le coeur de FreeBSD ne contient pas de code DES qui en
+ emp&ecirc;cherait l'exportation &agrave; l'ext&eacute;rieur des Etats-Unis. Il y a un
+ suppl&eacute;ment &agrave; la version de base, utilisable aux Etats-Unis
+ uniquement, qui contient les programmes qui utilisent habituellement
+ le DES. Les logiciels auxiliaires fournis s&eacute;parement peuvent &ecirc;tre
+ utilis&eacute;s par tout le monde. Il y a aussi une version Europ&eacute;enne
+ librement exportable (d'ailleurs que des Etats-Unis) du DES pour nos
+ utilisateurs non am&eacute;ricains, qui est d&eacute;crite dans la
+ <ulink url="&url.faq;index.html">FAQ FreeBSD</ulink>.</para>
+
+ <para>Si vous ne voulez que des mots de passe s&ucirc;rs, et que vous n'avez
+ pas besoin de copier de mots de passe venant de machines diff&eacute;rentes
+ (des machines Suns, DEC, etc) vers des mots de passe FreeBSD, alors
+ l'encodage FreeBSD bas&eacute; sur MD5 est probablement tout ce qu'il vous
+ faut. Nous pensons que notre mod&egrave;le de s&eacute;curit&eacute; par d&eacute;faut est mieux
+ qu'un concurrent du DES, et il n'est
+ pas encombr&eacute; de tous ces probl&egrave;mes
+ d&eacute;licats d'exportation. Si vous &ecirc;tes &agrave; l'ext&eacute;rieur, ou m&ecirc;me aux
+ Etats-Unis, essayez-le donc!</para>
+
+ </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:
+-->
diff --git a/fr_FR.ISO_8859-1/books/handbook/kernelconfig/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/kernelconfig/chapter.sgml
new file mode 100755
index 0000000000..8a93fa5956
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/kernelconfig/chapter.sgml
@@ -0,0 +1,1876 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+ <chapter id="kernelconfig">
+ <title>Configurer le noyau de FreeBSD</title>
+
+ <para><emphasis>Contribution de &a.jehamby;.<!-- <br> -->6 Octobre
+ 1995.</emphasis></para>
+ &trans.a.haby;
+
+ <para>Cette longue section du manuel d&eacute;crit l'essentiel de la
+ configuration d'un noyau FreeBSD adapt&eacute; &agrave; vos besoins propres.
+ Elle concerne tout autant les administrateurs syst&egrave;me d&eacute;butants
+ que ceux qui ont une vaste exp&eacute;rience d'Unix.</para>
+
+
+ <sect1>
+ <title>Pourquoi compiler un noyau sur mesure?</title>
+
+ <para>G&eacute;n&eacute;rer un noyau sur mesure est l'un des plus importants
+ rites de passage que doit endurer tout administrateur syst&egrave;me
+ Unix. Cette op&eacute;ration, qui prend du temps, apportera de nombreuses
+ am&eacute;liorations &agrave; votre syst&egrave;me FreeBSD. A l'inverse du noyau
+ <literal>GENERIC</literal>, qui doit supporter toutes les
+ cartes SCSI et r&eacute;seau possibles, ainsi qu'une tonne de mat&eacute;riels
+ rarement utilis&eacute;s, un noyau sur mesure n'inclut que le support
+ de <emphasis>votre</emphasis> configuration mat&eacute;rielle. Cela a
+ de nombreux avantages:</para>
+
+ <para>
+ <itemizedlist>
+
+ <listitem>
+ <para>Le syst&egrave;me d&eacute;marrera plus rapidement parce qu'il ne perdra
+ pas de temps &agrave; rechercher des p&eacute;riph&eacute;riques que vous n'avez
+ pas.</para>
+ </listitem>
+
+ <listitem>
+ <para>Un noyau personnalis&eacute; monopolise souvent moins de m&eacute;moire,
+ ce qui est important parce que le noyau est le processus qui
+ doit toujours r&eacute;sider en m&eacute;moire, ce qui fait que tout le
+ code inutilis&eacute; s'approprie des pages m&eacute;moire que vos programmes
+ pourraient utiliser. D'o&ugrave; l'importance critique de g&eacute;n&eacute;rer un
+ noyau sur mesure sur un syst&egrave;me dont les ressources m&eacute;moire
+ sont limit&eacute;es.</para>
+ </listitem>
+
+ <listitem>
+ <para>Enfin, il y a plusieurs options du noyau que vous pouvez
+ ajuster &agrave; vos besoins, et des pilotes pour des p&eacute;riph&eacute;riques
+ comme les cartes son que vous pouvez inclure dans votre
+ noyau, mais qui <emphasis>ne sont pas</emphasis> dans le
+ noyau g&eacute;n&eacute;rique.</para>
+ </listitem>
+
+ </itemizedlist>
+ </para>
+
+ </sect1>
+
+ <sect1
+ id="kernelconfig-building">
+ <title>Compiler et installer un noyau sur mesure</title>
+
+ <para>Commen&ccedil;ons par passer rapidement en revue le r&eacute;pertoire
+ de configuration du noyau. Tous les chemins d'acc&egrave;s mentionn&eacute;s
+ seront relatifs au r&eacute;pertoire principal
+ <filename>/usr/src/sys</filename>, auquel on acc&egrave;de aussi via
+ le lien symbolique <filename>/sys</filename>. Il comporte un
+ certain nombre de sous-r&eacute;pertoires correspondants &agrave; diff&eacute;rentes
+ parties du noyau, mais les plus importants, en ce qui nous
+ concerne, sont <filename>i386/conf</filename>, o&ugrave; nous &eacute;diterons
+ notre fichier de configuration personnalis&eacute;e, et
+ <filename>compile</filename>, qui est l'espace de travail o&ugrave; nous
+ g&eacute;n&eacute;rerons notre noyau. Remarquez l'organisation logique de
+ l'arborescence des r&eacute;pertoires, o&ugrave; chaque p&eacute;riph&eacute;rique, syst&egrave;me
+ de fichiers et option support&eacute; a son propre sous-r&eacute;pertoire. D'autre
+ part, tout ce qui ce trouve dans le r&eacute;pertoire
+ <filename>i386</filename> est propre au mat&eacute;riel PC, alors que tout
+ le reste est commun &agrave; toutes les plates-formes sur lesquelles
+ FreeBSD pourrait potentiellement &ecirc;tre port&eacute;.</para>
+
+ <note>
+ <para>S'il <emphasis>n'y a pas</emphasis> de r&eacute;pertoire
+ <filename>/usr/src/sys</filename> sur votre syst&egrave;me, c'est que les
+ sources du noyau n'ont pas &eacute;t&eacute; install&eacute;s. Suivez les instructions
+ d'installation pour ajouter cette distribution &agrave; votre
+ syst&egrave;me.</para>
+ </note>
+
+ <para>Allez ensuite dans le r&eacute;pertoire <filename>i386/conf</filename>
+ et copiez le fichier de configuration <filename>GENERIC</filename>
+ dans un fichier qui aura le nom que vous voulez donner &agrave; votre
+ nouveau noyau. Par exemple:
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cd /usr/src/sys/i386/conf</userinput>
+&prompt.root; <userinput>cp GENERIC MONNOYAU</userinput></screen>
+ </informalexample> Par tradition, c'est un nom en majuscules, et
+ si vous maintenez plusieurs machines FreeBSD avec des configurations
+ diff&eacute;rentes, c'est une bonne id&eacute;e de lui donner le m&ecirc;me nom que
+ la machine. Nous l'appelerons <filename>MONNOYAU</filename>
+ pour les besoins de notre exemple.</para>
+
+ <note>
+ <para>Tout cela doit &ecirc;tre fait sous le compte super-utilisateur sans
+ quoi vous aurez des erreurs
+ &ldquo;<errortype>permission denied</errortype>&rdquo;.</para>
+ </note>
+
+ <para>Editez maintenant <filename>MONNOYAU</filename> avec votre &eacute;diteur
+ de texte pr&eacute;f&eacute;r&eacute;. Si vous venez tout juste de finir l'installation, le
+ seul &eacute;diteur disponible est probablement <command>vi</command>, qui
+ est trop complexe pour &ecirc;tre d&eacute;crit ici, mais est bien expliqu&eacute; dans
+ de nombreux ouvrages de la
+ <link linkend="bibliography">Bibliographie</link>.
+ N'h&eacute;sitez pas
+ &agrave; modifier les commentaires d'en-t&ecirc;te pour y d&eacute;crire votre
+ configuration ou les modifications que vous avez apport&eacute;es par rapport
+ &agrave; <filename>GENERIC</filename>.</para>
+
+ <para>Si vous avez d&eacute;j&agrave; compil&eacute; un noyau sur SunOs ou tout autre
+ syst&egrave;me d'exploitation BSD, l'essentiel de ce que contient le
+ fichier vous sera tr&egrave;s familier. Si vous venez d'un autre syst&egrave;me
+ d'exploitation comme DOS, &agrave; l'inverse, le fichier de configuration
+ vous para&icirc;tra peut-&ecirc;tre inintelligible, lisez alors lentement et
+ attentivement la description qui en est faite dans la section
+ <link linkend="kernelconfig-config">Fichier de configuration</link>.</para>
+
+ <note>
+ <para>Si vous essayez de mettre &agrave; jour votre noyau &agrave; partir d'une
+ ancienne version de FreeBSD, il vous faudra probablement une
+ version r&eacute;cente de
+ <citerefentry><refentrytitle>config</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ de m&ecirc;me origine que les sources du nouveau noyau. Vous la trouverez
+ dans le r&eacute;pertoire <filename>/usr/src/usr.sbin</filename>. Il vous
+ faudra donc t&eacute;l&eacute;charger aussi les sources de cet utilitaire.
+ Recompilez et installez-le avant de faire autre chose.</para>
+ </note>
+
+ <para>Une fois que vous avez termin&eacute;, tapez la commande suivante pour
+ compiler et installer votre noyau:
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>/usr/sbin/config MONNOYAU</userinput>
+&prompt.root; <userinput>cd ../../compile/MONNOYAU</userinput>
+&prompt.root; <userinput>make depend</userinput>
+&prompt.root; <userinput>make</userinput>
+&prompt.root; <userinput>make install</userinput></screen>
+ </informalexample> Le nouveau noyau sera recopi&eacute; dans le r&eacute;pertoire
+ racine sous le nom <filename>/kernel</filename> et l'ancien renomm&eacute;
+ en <filename>/kernel.old</filename>. Arr&ecirc;tez maintenant votre syst&egrave;me
+ et red&eacute;marrez-le pour utiliser votre nouveau noyau. Si
+ quelque chose tourne mal, il y a quelques instructions de
+ <link linkend="kernelconfig-trouble">d&eacute;pannage</link>
+ &agrave; la fin de ce document. Ayez soin de lire la section qui explique
+ comment vous en sortir si votre nouveau noyau ne
+ <link linkend="kernelconfig-noboot">d&eacute;marre pas</link>.</para>
+
+ <note>
+ <para>Si vous avez ajout&eacute; de nouveaux p&eacute;riph&eacute;riques (cartes son,
+ par exemple), vous devrez peut-&ecirc;tre ajouter des
+ <link linkend="kernelconfig-nodes">fichiers sp&eacute;ciaux de p&eacute;riph&eacute;riques</link>
+ dans votre r&eacute;pertoire <filename>/dev</filename> avant de pouvoir les
+ utiliser.</para>
+ </note>
+
+ </sect1>
+
+ <sect1
+ id="kernelconfig-config">
+ <title>Le fichier de configuration</title>
+
+ <para>Le format g&eacute;n&eacute;ral du fichier de configuration est assez simple.
+ Chaque ligne est compos&eacute;e d'un mot-cl&eacute; et d'un ou plusieurs
+ arguments. Pour simplifier, la plupart des lignes ne prennent
+ qu'un seul argument. Tout ce qui suit le caract&egrave;re
+ <literal>#</literal> est consid&eacute;r&eacute; comme un commentaire et ignor&eacute;.
+ Les sections suivantes d&eacute;crivent chaque mot-cl&eacute;, normalement dans
+ l'ordre o&ugrave; ils appara&icirc;ssent dans le fichier
+ <filename>GENERIC</filename>, quoique certains mots-cl&eacute;s
+ apparent&eacute;s aient &eacute;t&eacute; regroup&eacute;s en une seule section (R&eacute;seau par
+ exemple) bien qu'ils soient en fait dispers&eacute;s dans le fichier
+ <filename>GENERIC</filename>.
+ <anchor id="kernelconfig-options">Il y a une liste exhaustive et
+ des explications plus d&eacute;taill&eacute;es des lignes se rapportant aux
+ p&eacute;riph&eacute;riques dans le fichier de configuration
+ <filename>LINT</filename>, qui se trouve dans le
+ m&ecirc;me r&eacute;pertoire que <filename>GENERIC</filename>. Si vous avez des
+ doutes sur la signification ou la n&eacute;cessit&eacute; d'une ligne, consultez
+ d'abord le fichier <filename>LINT</filename>.</para>
+
+ <para>Le noyau est en cours de r&eacute;organisation pour une meilleure
+ gestion des options. Traditionnellement, chaque option du fichier
+ de configuration se traduisait par un indicateur <option>-D</option>
+ dans la ligne <acronym>CFLAGS</acronym> du fichier
+ <filename>Makefile</filename> du noyau. D'o&ugrave; une pl&eacute;thore d'options,
+ dont personne ne savait vraiment lesquelles &eacute;taient r&eacute;f&eacute;renc&eacute;es dans
+ quels fichiers.</para>
+
+ <para>Dans le nouveau mod&egrave;le, chaque <literal>#ifdef</literal>
+ qui d&eacute;pend d'une option la d&eacute;duit d'un fichier de d&eacute;clarations
+ <filename>opt_<replaceable>foo</replaceable>.h</filename>
+ cr&eacute;&eacute; par la commande <command>config</command> dans le r&eacute;pertoire
+ de compilation. La liste des options valides de
+ <command>config</command> est d&eacute;finie par deux fichiers: les options
+ ind&eacute;pendantes de l'architecture dans
+ <filename>/sys/conf/options</filename>, et celles qui en d&eacute;pendent
+ dans
+ <filename>/sys/<replaceable>arch</replaceable>/conf/options.<replaceable>arch</replaceable></filename>,
+ o&ugrave; <emphasis>arch</emphasis> vaut par exemple
+ <filename>i386</filename>.</para>
+
+
+ <sect2>
+ <title>Mots-cl&eacute;s obligatoires</title>
+
+ <para>Ces mots-cl&eacute;s sont requis pour tous les noyaux que vous
+ g&eacute;n&eacute;rez.</para>
+
+
+ <variablelist>
+ <varlistentry><term>machine "i386"</term>
+ <listitem>
+ <para>Le premier mot-cl&eacute; est <literal>machine</literal>,
+ qui, &eacute;tant donn&eacute; que FreeBSD ne tourne que sur des
+ processeurs Intel 386 ou compatibles, vaut i386.</para>
+
+ <note>
+ <para>Tous les mots-cl&eacute;s compos&eacute;s d'une cha&icirc;ne de
+ caract&egrave;res comportant des chiffres doivent &ecirc;tre
+ mis entre guillemets, sans quoi le programme
+ <command>config</command> ne les comprend pas et
+ pense que vous faites r&eacute;f&eacute;rence &agrave; la valeur
+ num&eacute;rique, 386, par exemple.</para>
+ </note>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>cpu "<replaceable>mod&egrave;le_de_cpu</replaceable>"</term>
+
+ <listitem>
+ <para>Le mot-cl&eacute; suivant est <literal>cpu</literal>,
+ qui d&eacute;finit le support de chaque CPU reconnue par FreeBSD.
+ Les valeurs possibles de
+ <replaceable>mod&egrave;le_de_cpu</replaceable> sont:
+ <itemizedlist>
+
+ <listitem>
+ <para>I386_CPU</para>
+ </listitem>
+
+ <listitem>
+ <para>I486_CPU</para>
+ </listitem>
+
+ <listitem>
+ <para>I586_CPU</para>
+ </listitem>
+
+ <listitem>
+ <para>I686_CPU</para>
+ </listitem>
+
+ </itemizedlist>Il peut y avoir plusieurs occurences de la
+ ligne <literal>cpu</literal> avec des valeurs diff&eacute;rentes
+ de <replaceable>mod&egrave;le_de_cpu</replaceable> comme c'est
+ le cas dans le noyau <filename>GENERIC</filename>.
+ Dans le cas d'un noyau sur mesure, il vaut mieux n'indiquer
+ que l'unit&eacute; centrale que vous avez. Si, par exemple, c'est
+ un Pentium Intel, donnez la valeur
+ <literal>I586_CPU</literal> &agrave;
+ <replaceable>mod&egrave;le_de_cpu</replaceable>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>ident <replaceable>nom_du_noyau</replaceable></term>
+
+ <listitem>
+ <para>Ensuite vient <literal>ident</literal>,
+ qui est l'identifiant de votre noyau. Vous devriez
+ le modifier pour remplacer <literal>GENERIC</literal>
+ par le nom, quel qu'il soit, que vous donnez &agrave; votre
+ noyau; dans notre exemple,
+ <literal>MONNOYAU</literal>. La valeur que vous donnez &agrave;
+ <literal>ident</literal> s'affiche au d&eacute;marrage du
+ syst&egrave;me, il est donc parfois utile de lui donner un nom
+ diff&eacute;rent du nom habituel (par exemple, si vous compilez
+ un noyau exp&eacute;rimental). Notez bien qu'il faut, comme pour
+ <literal>machine</literal> et <literal>cpu</literal>,
+ mettre le nom de votre noyau entre guillements, s'il
+ comporte des chiffres.</para>
+
+ <para>Comme ce nom est transmis au compilateur C apr&egrave;s un
+ indicateur <option>-D</option>, n'utilisez pas de nom
+ du genre <literal>DEBUG</literal>, ou qui puisse &ecirc;tre
+ compris comme un nom de machine ou de CPU, du style
+ <literal>vax</literal>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>maxusers <replaceable>nombre</replaceable></term>
+
+ <listitem>
+ <para>Cette ligne d&eacute;finit la taille d'un certain nombre
+ de tables importantes du syst&egrave;me. Cette valeur est
+ suppos&eacute;e &ecirc;tre en gros &eacute;gale au nombre d'utilisateurs
+ simultan&eacute;s que vous vous attendez &agrave; avoir sur votre
+ syst&egrave;me. Cependant, dans des conditions normales,
+ vous devez fixer <literal>maxusers</literal> &agrave;
+ <literal>4</literal> au moins, en particulier si
+ vous utilisez le sous-syst&egrave;me graphique X Window
+ ou compilez des logiciels. En effet, la valeur la plus
+ importante que dimensionne <literal>maxusers</literal>
+ est le nombre maximum de processus, qui est fix&eacute; &agrave;
+ <literal>20 + 16 * maxusers</literal>, de sorte que si
+ vous positionnez <literal>maxusers</literal> &agrave;
+ <literal>1</literal>, vous ne pouvez avoir que 36
+ processus simultan&eacute;s, dont les 18 environ que le syst&egrave;me
+ lance au d&eacute;marrage, et les 15 &agrave; peu pr&egrave;s qui s'initialisent
+ au d&eacute;marrage de X Window. M&ecirc;me une action aussi simple
+ que de lire une page de manuel activera 9 processus pour
+ la filtrer, la d&eacute;compresser et la visualiser. Donner &agrave;
+ <literal>maxusers</literal> la valeur <literal>4</literal>
+ autorise jusqu'&agrave; 84 processus simultan&eacute;s, ce qui devrait
+ suffire dans la plupart des cas. Si, toutefois, vous avez
+ le message d'erreur tant redout&eacute;
+ <errorname>proc table full</errorname> quand vous tentez
+ d'ex&eacute;cuter un nouveau programme, ou g&eacute;rez un serveur
+ avec de nombreux utilisateurs simultan&eacute;s
+ (tel le site FTP de Walnut Creek CDROM), vous pouvez
+ toujours augmenter cette valeur et recompiler le
+ noyau.</para>
+
+ <note>
+ <para><literal>maxusers</literal>
+ <emphasis>ne limite pas</emphasis> le nombre
+ d'utilisateurs qui pourront ouvrir une session sur
+ votre machine. Cette valeur dimensionne simplement
+ raisonnablement diff&eacute;rentes tables en fonction
+ du nombre maximum d'utilisateurs que vous aurez
+ vraisemblablement sur votre machine et du nombre
+ de processus que chacun d'entre eux ex&eacute;cutera. Un
+ mot-cl&eacute; qui <emphasis>limite</emphasis> le nombre
+ d'<emphasis>utilisateurs distants</emphasis> est
+ <link linkend="kernelconfig-ptys">pseudo-device pty</link>.</para>
+ </note>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>config <replaceable>nom_du_noyau</replaceable> root on
+ <replaceable>p&eacute;riph&eacute;rique_racine</replaceable></term>
+
+ <listitem>
+ <para>Cette ligne d&eacute;finit le nom et la localisation du
+ (fichier ex&eacute;cutable du) noyau. Traditionnellement,
+ le noyau s'appelle
+ <filename>vmunix</filename>, mais FreeBSD l'appelle, &agrave; juste
+ titre, <filename>kernel</filename>. Vous devriez toujours
+ utiliser <literal>kernel</literal> pour
+ <replaceable>nom_du_noyau</replaceable>, parce qu'en changer
+ rendra nombre d'utilitaires syst&egrave;me inop&eacute;rants. La deuxi&egrave;me
+ partie de la ligne indique sur quel disque et partition
+ r&eacute;sident le noyau et le syst&egrave;me de fichiers racine,
+ typiquement <literal>wd0</literal> sur un syst&egrave;me sans
+ disque SCSI, et <literal>sd0</literal> sur un syst&egrave;me
+ avec des disques SCSI.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+ </sect2>
+
+ <sect2>
+ <title>Options g&eacute;n&eacute;rales</title>
+
+ <para>Ces lignes d&eacute;finissent les syst&egrave;mes de fichiers support&eacute;s
+ par le noyau ainsi que certaines autres options.</para>
+
+ <para>
+ <variablelist>
+ <varlistentry><term>options MATH_EMULATE</term>
+ <listitem>
+ <para>Cette ligne permet au noyau d'&eacute;muler un
+ co-processeur math&eacute;matique si votre syst&egrave;me
+ n'en a pas (386 ou 486SX). Si vous avez un Pentium,
+ un 486DX, ou un 386 ou 486SX avec un co-processeur
+ math&eacute;matique 387 ou 487, vous pouvez mettre cette
+ ligne en commentaire.</para>
+
+ <note>
+ <para>Les sous-programmes standards d'&eacute;mulation de
+ co-processeur math&eacute;matique de FreeBSD
+ <emphasis>ne sont pas</emphasis> tr&egrave;s pr&eacute;cis. Si vous
+ n'avez pas de co-processeur math&eacute;matique, je vous
+ conseille de changer cette option en
+ <literal>GPL_MATH_EMULATE</literal> pour utiliser
+ les fonctions math&eacute;matiques GNU, qui ne sont pas
+ inclues par d&eacute;faut pour des questions de licence.</para>
+ </note>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>options "COMPAT_43"</term>
+
+ <listitem>
+ <para>Compatibilit&eacute; avec 4.3BSD. Gardez cette option;
+ certains programmes auront un comportement bizzare
+ si vous la commentez.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>options BOUNCE_BUFFERS</term>
+
+ <listitem>
+ <para>Les p&eacute;riph&eacute;riques ISA, et EISA fonctionnant en mode
+ compatible ISA, ne peuvent effectuer d'op&eacute;rations DMA
+ ("Direct Memory Acces"&nbsp;-&nbsp;acc&egrave;s direct &agrave; la m&eacute;moire)
+ qu'en dessous de la limite de 16 m&eacute;ga-octets. Cette option
+ permet d'utiliser ces p&eacute;riph&eacute;riques avec des syst&egrave;mes ayant
+ plus de 16 m&eacute;ga-octets de m&eacute;moire.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>options UCONSOLE</term>
+
+ <listitem>
+ <para>Permet aux utilisateurs d'acc&eacute;der &agrave; la console syst&egrave;me,
+ ce qui est utile avec X Window. Vous pouvez alors,
+ par exemple, ouvrir une console "xterm" avec
+ <command>xterm -C</command>, qui affichera les
+ sorties de <command>write</command>,
+ <command>talk</command> et les autres messages que vous
+ recevez, ainsi que tout message envoy&eacute; par le noyau
+ &agrave; la console.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>options SYSVSHM</term>
+
+ <listitem>
+ <para>Cette option impl&eacute;mente la m&eacute;moire partag&eacute;e de
+ System V. L'usage le plus courant qui en est fait
+ est l'extension XSHM d'X Window, dont nombre de logiciels
+ gourmants en graphique (comme le logiciel de visualisation
+ de films XAnim ou DOOM pour Linux) tireront automatiquement
+ parti pour fonctionner plus vite. Si vous utilisez X
+ Window, vous utiliserez absolument cette option.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>options SYSVSEM</term>
+
+ <listitem>
+ <para>Cette option impl&eacute;mente les s&eacute;maphores de System V.
+ Ils sont d'un usage moins courant, mais cela n'augmente
+ que de quelques centaines d'octets la taille du
+ noyau.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>options SYSVMSG</term>
+
+ <listitem>
+ <para>Cette option impl&eacute;mente les messages de System V.
+ De m&ecirc;me, cela n'augmente que de quelques
+ centaines d'octets la taille du noyau.</para>
+
+ <note>
+ <para>La commande <citerefentry><refentrytitle>ipcs</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ vous donnera la liste des processus qui utilisent chacun
+ de ces m&eacute;canismes de System V.</para>
+ </note>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+
+ </sect2>
+
+ <sect2>
+ <title>Syst&egrave;mes de fichiers</title>
+
+ <para>Ces options incluent le support des diff&eacute;rents syst&egrave;mes
+ de fichiers. Vous devez au moins donner celle qui correspond
+ au p&eacute;riph&eacute;rique &agrave; partir duquel vous d&eacute;marrez votre syst&egrave;me;
+ habituellement, ce sera <acronym>FFS</acronym> si vous chargez
+ le syst&egrave;me depuis un disque dur, ou <acronym>NFS</acronym>, pour
+ une station sans disque r&eacute;cup&eacute;rant son syst&egrave;me via un r&eacute;seau
+ Ethernet. Vous pouvez aussi indiquer les autres syst&egrave;mes de
+ fichiers que vous utilisez couramment, mais n'h&eacute;sitez pas &agrave;
+ commenter ceux qui vous sont d'un usage moins fr&eacute;quent (peut-&ecirc;tre
+ le syst&egrave;me de fichiers MS-DOS?); ils seront charg&eacute;s dynamiquement
+ depuis le r&eacute;pertoire <filename>lkm</filename> (Loadable Kernel
+ Module&nbsp;-&nbsp;modules du noyau &agrave; chargement dynamique) au premier montage
+ d'une partition de ce type.</para>
+
+
+ <variablelist>
+ <varlistentry><term>options FFS</term>
+ <listitem>
+ <para>Le syst&egrave;me de fichiers de base sur disque dur; gardez
+ cette option si vous chargez le syst&egrave;me depuis le disque
+ dur.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>options NFS</term>
+
+ <listitem>
+ <para>Le syst&egrave;me de fichiers en r&eacute;seau. A moins que vous
+ n'envisagiez de monter des partitions depuis un serveur
+ de fichiers Unix via un r&eacute;seau Ethernet, vous pouvez
+ commenter cette option.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>options MSDOSFS</term>
+
+ <listitem>
+ <para>Le syst&egrave;me de fichiers MS-DOS. A moins que vous
+ n'envisagiez de monter une partition format&eacute;e DOS
+ sur un disque dur au d&eacute;marrage du syst&egrave;me, vous pouvez
+ commenter sans risque cette option. Le module sera
+ automatiquement charg&eacute; la premi&egrave;re fois que vous monterez
+ une partition DOS, comme d&eacute;crit plus haut. Par ailleurs,
+ l'excellent logiciel <application>mtools</application>
+ (au catalogue des portages) permet d'acc&eacute;der aux
+ disquettes DOS sans avoir besoin de les monter (et n'a
+ pas non plus besoin de MSDOSFS).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>options "CD9660"</term>
+
+ <listitem>
+ <para>Le syst&egrave;me de fichiers ISO 9660 pour les CD-ROMs.
+ Commentez-le si vous n'avez pas de lecteur de CD-ROMs ou ne
+ montez qu'occasionnellement des CD-ROMs (Il sera charg&eacute;
+ dynamiquement la premi&egrave;re fois que vous monterez un
+ CD-ROM). Les CD-ROMs audio n'ont pas besoin de ce syst&egrave;me
+ de fichiers.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>options PROCFS</term>
+
+ <listitem>
+ <para>Le syst&egrave;me de fichiers pour les processus. C'est un
+ pseudo-syst&egrave;me de fichiers mont&eacute; sur
+ <filename>/proc</filename> que des outils comme
+ <citerefentry><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry> utilisent pour vous fournir plus d'informations
+ sur les processus qui s'ex&eacute;cutent.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>options MFS</term>
+
+ <listitem>
+ <para>Syst&egrave;me de fichiers en m&eacute;moire. C'est essentiellement
+ un disque RAM pour l'archivage rapide de fichiers
+ temporaires, utile si vous avez beaucoup d'espace de
+ pagination dont vous voulez tirer parti. Le r&eacute;pertoire
+ <filename>/tmp</filename> est un bon candidat pour le
+ montage d'une partition MFS, car de nombreux programmes
+ y mettent leurs donn&eacute;es temporaires. Pour monter un disque
+ RAM MFS sur <filename>/tmp</filename>, ajoutez la ligne qui
+ suit au fichier <filename>/etc/fstab</filename> et
+ red&eacute;marrez le syst&egrave;me ou tapez
+ <command>mount /tmp</command>:
+
+ <programlisting>
+/dev/wd1s2b /tmp mfs rw 0 0
+ </programlisting>
+ </para>
+
+ <note>
+ <para>Remplacez <filename>/dev/wd1s2b</filename> par
+ le nom de votre partition de pagination, qui est d&eacute;finie
+ comme suit dans votre fichier
+ <filename>/etc/fstab</filename>:
+
+ <programlisting>
+/dev/wd1s2b none swap sw 0 0
+ </programlisting>
+ </para>
+ </note>
+
+ <note>
+ <para>Le syst&egrave;me de fichiers <acronym>MFS</acronym>
+ <emphasis>n'est pas</emphasis> chargeable dynamiquement,
+ <emphasis>vous devez</emphasis> donc l'inclure dans votre
+ noyau si vous voulez essayer de l'utiliser.</para>
+ </note>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>options "EXT2FS"</term>
+
+ <listitem>
+ <para>Syst&egrave;me de fichiers natif de Linux. Avec le support
+ d'&ldquo;ext2fs&rdquo;, vous pouvez lire
+ et &eacute;crire sur des partitions
+ Linux. C'est utile si votre machine fonctionne
+ alternativement sous FreeBSD et sous Linux et que vous
+ voulez partager des donn&eacute;es entre les deux syst&egrave;mes.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>options QUOTA</term>
+
+ <listitem>
+ <para>Active les quotas d'espace disque. Si votre syst&egrave;me
+ est accessible &agrave; plusieurs utilisateurs et que vous
+ voulez &eacute;viter qu'ils ne saturent la partition
+ <filename>/home</filename>, vous pouvez d&eacute;finir des
+ quotas d'espace disque pour chaque utilisateur.
+ Reportez-vous au chapitre
+ <link linkend="quotas">Quotas d'espace disque</link>
+ pour plus d'informations.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+ </sect2>
+
+ <sect2>
+ <title>Contr&ocirc;leurs et p&eacute;riph&eacute;riques standards</title>
+
+ <para>Ces sections d&eacute;crivent les contr&ocirc;leurs de disques, lecteurs
+ de bandes magn&eacute;tiques et lecteurs de CD-ROMs standards support&eacute;s
+ par FreeBSD. Les contr&ocirc;leurs
+ <link linkend="kernelconfig-scsi">SCSI</link> et les cartes <link
+ linkend="kernelconfig-network">r&eacute;seau</link>
+ sont d&eacute;crits
+ dans des sections s&eacute;par&eacute;es.</para>
+
+
+ <variablelist>
+ <varlistentry><term>controller isa0</term>
+ <listitem>
+ <para>Tous les PC support&eacute;s par FreeBSD ont un contr&ocirc;leur ISA.
+ Si vous avez un IBM PS/2 (Micro Channel Architecture), vous
+ ne pouvez pas utiliser FreeBSD pour l'instant.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>controller pci0</term>
+
+ <listitem>
+ <para>Ajoutez cette option si vous avez une carte m&egrave;re PCI.
+ Cela permet l'auto-d&eacute;tection des cartes PCI et g&egrave;re
+ l'interface entre les bus PCI et ISA.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>controller fdc0</term>
+
+ <listitem>
+ <para>Contr&ocirc;leur de lecteur de
+ disquettes: <literal>fd0</literal>
+ correspond au lecteur de disquettes
+ <devicename>A:</devicename>, et
+ <literal>fd1</literal> au lecteur
+ <devicename>B:</devicename>.
+ <literal>ft0</literal> est le lecteur de bandes QIC-80 reli&eacute;
+ au contr&ocirc;leur du lecteur de disquettes. Commentez les lignes
+ correspondant aux p&eacute;riph&eacute;riques que vous n'avez pas.</para>
+
+ <note>
+ <para>Avec le lecteur de bandes QIC-80, vous devez de plus
+ utiliser un logiciel de filtrage appel&eacute;
+ <citerefentry><refentrytitle>ft</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ reportez-vous &agrave; la page de manuel pour plus de
+ d&eacute;tails.</para>
+ </note>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>controller wdc0</term>
+
+ <listitem>
+ <para>C'est le contr&ocirc;leur IDE primaire. <literal>wd0</literal>
+ et <literal>wd1</literal> sont respectivement, les disques
+ ma&icirc;tre et esclave.
+ <literal>wdc1</literal> est le contr&ocirc;leur IDE secondaire
+ sur lequel vous pouvez avoir un troisi&egrave;me et un quatri&egrave;me
+ disque, ou un lecteur de CD-ROMs. Commentez les lignes qui
+ ne s'appliquent pas &agrave; votre configuration (par exemple, si
+ vous avez un disque SCSI, vous commenterez probablement
+ toutes les six lignes).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device wcd0<anchor
+ id="kernelconfig-atapi"></term>
+
+ <listitem>
+ <para>Cette option fournit le support du lecteur de CD-ROMs
+ IDE. Assurez-vous de conserver
+ <literal>wcd0</literal>, ainsi que
+ <literal>wcd1</literal> si vous avez plus d'un contr&ocirc;leur
+ IDE et que votre CD-ROM est sur le second. Pour utiliser
+ cette option, vous devrez aussi inclure la ligne
+ <literal>options ATAPI</literal>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device npx0 at isa? port "IO_NPX" irq 13
+ vector npxintr</term>
+
+ <listitem>
+ <para><literal>npx0</literal> est, dans FreeBSD, l'interface
+ avec le co-processeur math&eacute;matique, qu'il soit mat&eacute;riel ou
+ &eacute;mul&eacute; par logiciel. Cette option
+ <emphasis>N'EST PAS</emphasis> facultative.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device wt0 at isa? port 0x300 bio irq 5 drq
+ 1 vector wtintr</term>
+
+ <listitem>
+ <para>Lecteurs de bandes Wangtek et Archive
+ QIC-02/QIC-36.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Mod&egrave;les sp&eacute;ciaux de lecteurs de CD-ROMs</term>
+
+ <listitem>
+ <para>Les pilotes suivants sont ceux des lecteurs de
+ CD-ROMs soit-disant <emphasis>propri&eacute;taires</emphasis>.
+ Ces lecteurs ont leur propre contr&ocirc;leur ou s'interfacent
+ parfois avec une carte son comme la carte SoundBlaster 16.
+ Ils ne sont <emphasis>ni</emphasis> IDE
+ <emphasis>ni</emphasis> SCSI. La plupart des anciens
+ lecteurs de CD-ROMs simple et double vitesse utilisent ces
+ interfaces, alors que les lecteurs quadruple vitesse sont
+ g&eacute;n&eacute;ralement soit <link linkend="kernelconfig-atapi">IDE</link>,
+ soit <link linkend="kernelconfig-scsi">SCSI</link>.</para>
+
+ <para>
+ <variablelist>
+ <varlistentry><term>device mcd0 at isa? port 0x300 bio
+ irq 10 vector mcdintr</term>
+ <listitem>
+ <para>Mitsumi CD-ROM (LU002, LU005, FX001D).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device scd0 at isa? port 0x230
+ bio</term>
+
+ <listitem>
+ <para>Sony CD-ROM (CDU31, CDU33A).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>controller matcd0 at isa? port ?
+ bio</term>
+
+ <listitem>
+ <para>Matsushita/Panasonic CD-ROM (distribu&eacute; par
+ Creative Labs pour la carte SoundBlaster).</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+ </sect2>
+
+ <sect2
+ id="kernelconfig-scsi">
+ <title>P&eacute;riph&eacute;riques SCSI</title>
+
+ <para>Cette section d&eacute;crit les diff&eacute;rents contr&ocirc;leurs et
+ p&eacute;riph&eacute;riques SCSI support&eacute;s par FreeBSD.</para>
+
+
+ <variablelist>
+ <varlistentry><term>Contr&ocirc;leurs SCSI</term>
+ <listitem>
+ <para>La dizaine de lignes qui suit correspond au support de
+ diff&eacute;rents type de contr&ocirc;leurs SCSI. Commentez-les toutes
+ sauf celle(s) qui correspond(ent) &agrave; celui/ceux que vous
+ avez:</para>
+
+ <para>
+ <variablelist>
+ <varlistentry><term>controller bt0 at isa? port
+ "IO_BT0" bio irq ? vector btintr</term>
+ <listitem>
+ <para>La plupart des contr&ocirc;leurs Buslogic.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>controller uha0 at isa? port
+ "IO_UHA0" bio irq ? drq 5 vector uhaintr</term>
+
+ <listitem>
+ <para>UltraStor 14F et 34F.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>controller ahc0</term>
+
+ <listitem>
+ <para>Adaptec 274x/284x/294x.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>controller ahb0 at isa? bio irq ?
+ vector ahbintr</term>
+
+ <listitem>
+ <para>Adaptec 174x.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>controller aha0 at isa? port
+ "IO_AHA0" bio irq ? drq 5 vector ahaintr</term>
+
+ <listitem>
+ <para>Adaptec 154x.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>controller aic0 at isa? port
+ 0x340 bio irq 11 vector aicintr</term>
+
+ <listitem>
+ <para>Adaptec 152x et les cartes sons utilisant
+ l'Adaptec AIC-6360 (lent!).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>controller nca0 at isa? port
+ 0x1f88 bio irq 10 vector ncaintr</term>
+
+ <listitem>
+ <para>Carte ProAudioSpectrum avec NCR 5380 ou
+ Trantor T130.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>controller sea0 at isa? bio irq 5
+ iomem 0xc8000 iosiz 0x2000 vector seaintr</term>
+
+ <listitem>
+ <para>Contr&ocirc;leur Seagate ST01/02 8 bits
+ (lent!).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>controller wds0 at isa? port
+ 0x350 bio irq 15 drq 6 vector wdsintr</term>
+
+ <listitem>
+ <para>Contr&ocirc;leur Western Digital WD700.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>controller ncr0</term>
+
+ <listitem>
+ <para>Contr&ocirc;leurs SCSI NCR 53C810, 53C815, 53C825,
+ 53C860, 53C875 PCI.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>options "SCSI_DELAY=15"</term>
+
+ <listitem>
+ <para>Cette option dit &agrave; votre noyau d'attendre 15 secondes
+ avec de rechercher les p&eacute;riph&eacute;riques SCSI pr&eacute;sents sur
+ votre syst&egrave;me. Si vous n'avez que des disques IDE, vous
+ pouvez l'ignorer, sinon, vous pouvez peut-&ecirc;tre diminuer
+ cette valeur, &eacute;ventuellement jusqu'&agrave; 5 secondes, pour
+ acc&eacute;lerer le d&eacute;marrage du syst&egrave;me. Bien s&ucirc;r, si vous le
+ faites et que FreeBSD a du mal &agrave; identifier vos
+ p&eacute;riph&eacute;riques SCSI, vous devrez l'augmenter de
+ nouveau.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>controller scbus0</term>
+
+ <listitem>
+ <para>Si vous avez des contr&ocirc;leurs SCSI, cette ligne vous
+ en fournit le support g&eacute;n&eacute;rique. Si vous n'en avez pas,
+ commentez-la, ainsi que les trois lignes qui
+ suivent.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device sd0</term>
+
+ <listitem>
+ <para>Support de disque dur.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device st0</term>
+
+ <listitem>
+ <para>Support de lecteur de bandes SCSI.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device cd0</term>
+
+ <listitem>
+ <para>Support de lecteur de CD-ROMs SCSI.</para>
+
+ <para>Notez bien que le chiffre <literal>0</literal>
+ dans les lignes pr&eacute;c&eacute;dentes n'est pas tout &agrave; fait exact:
+ tous ces p&eacute;riph&eacute;riques sont automatiquement configur&eacute;s
+ quand ils sont reconnus, quel que soit le nombre de
+ p&eacute;riph&eacute;riques sur la ou les cha&icirc;nes SCSI, et quels que
+ soient leurs IDs cibles.</para>
+
+ <para>Si vous voulez &ldquo;attacher&rdquo; des IDs cibles
+ pr&eacute;cis &agrave; des p&eacute;riph&eacute;riques particuliers, reportez-vous
+ &agrave; la section appropri&eacute;e du fichier de configuration du
+ noyau <filename>LINT</filename>.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+ </sect2>
+
+ <sect2>
+ <title>Console, souris sur un bus, et serveur X</title>
+
+ <para>Vous devez s&eacute;lectionner un des deux types de console, et,
+ si vous envisagez d'utiliser le gestionnaire graphique X Window
+ avec la console vt220, activer l'option XSERVER. Optionnellement,
+ vous pouvez aussi choisir le support de souris sur un bus ou
+ PS/2.</para>
+
+ <variablelist>
+ <varlistentry><term>device sc0 at isa? port "IO_KBD" tty irq 1
+ vector scintr</term>
+ <listitem>
+ <para><literal>sc0</literal> est le pilote par d&eacute;faut pour la
+ console, qui ressemble &agrave; une console SCO. Comme la plupart
+ des programmes en mode plein-&eacute;cran acc&egrave;dent &agrave; la console
+ par l'interm&eacute;diaire d'une base de donn&eacute;es de description des
+ terminaux comme <filename>termcap</filename>, cela n'a gu&egrave;re
+ d'importance que vous choisissiez ce pilote ou le pilote
+ compatible VT220 <literal>vt0</literal>. Quand vous ouvrez
+ une session, positionnez la variable d'environnement
+ <envar>TERM</envar> &agrave; &ldquo;scoansi&rdquo; si vous avez
+ des probl&egrave;mes pour utiliser des programmes en mode
+ plein-&eacute;cran avec cette console.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device vt0 at isa? port "IO_KBD" tty irq 1
+ vector pcrint</term>
+
+ <listitem>
+ <para>C'est le pilote de console compatible VT220, et,
+ retrospectivement, compatible avec les VT100/102. Il
+ fonctionne bien sur certains portables qui sont
+ mat&eacute;riellement incompatibles avec le pilote
+ <literal>sc0</literal>. Comme pr&eacute;c&eacute;demment, positionnez la
+ variable d'environnement <envar>TERM</envar> &agrave;
+ <literal>vt100</literal> ou <literal>vt220</literal>,
+ cette fois-ci, quand vous ouvrez une session. Ce pilote
+ peut aussi s'av&eacute;rer utile pour un certain nombre de
+ machines sur un r&eacute;seau, pour lequelles le terminal
+ <devicename>sc0</devicename> est rarement d&eacute;fini dans les
+ fichiers <filename>termcap</filename> ou
+ <filename>terminfo</filename>
+ -- alors que le terminal <literal>vt100</literal> existe
+ pratiquement sur toutes les plates-formes.</para>
+
+ <variablelist>
+ <varlistentry><term>options "PCVT_FREEBSD=210"</term>
+ <listitem>
+ <para>Obligatoire avec la console
+ <literal>vt0</literal>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>options XSERVER</term>
+
+ <listitem>
+ <para>S'applique seulement &agrave; la console
+ <literal>vt0</literal>. Cette option inclut le
+ code n&eacute;cessaire &agrave; l'utilisation du serveur X Window
+ <application>XFree86</application> avec la console
+ <literal>vt0</literal>.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device mse0 at isa? port 0x23c tty irq 5
+ vector ms</term>
+
+ <listitem>
+ <para>Utilisez ce pilote si vous avez une carte Logitech
+ ou ATI InPort pour la souris.</para>
+
+ <note>
+ <para>Si vous avez une souris sur le port s&eacute;rie, ignorez
+ ces deux lignes, et, &agrave; la place, v&eacute;rifiez que le port
+ <link linkend="kernelconfig-serial">s&eacute;rie</link>
+ correspondant est bien activ&eacute;
+ (probablement COM1).</para>
+ </note>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device psm0 at isa? port "IO_KBD"
+ conflicts tty irq 12 vector psmintr</term>
+
+ <listitem>
+ <para>Utilisez ce pilote si votre souris se branche sur le
+ port PS/2.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+ </sect2>
+
+ <sect2>
+ <title>Ports s&eacute;ries et parall&egrave;les</title>
+
+ <para>Presque tous les syst&egrave;mes ont ces ports. Si vous avez une
+ imprimante sur l'un d'eux, la section
+ <link linkend="printing">Imprimer</link>
+ de ce manuel vous
+ sera tr&egrave;s utile. Si vous utilisez un modem, la section
+ <link linkend="dialup">Connexions t&eacute;l&eacute;phoniques</link>
+ vous fournit des informations d&eacute;taill&eacute;es sur la configuration du
+ port s&eacute;rie pour ces p&eacute;riph&eacute;riques.</para>
+
+
+ <variablelist>
+ <varlistentry><term>device sio0 at isa? port "IO_COM1" tty irq
+ 4 vector siointr<anchor id="kernelconfig-serial"></term>
+ <listitem>
+ <para><literal>sio0</literal> &agrave; <literal>sio3</literal>
+ sont les quatre ports s&eacute;ries, appel&eacute;s COM1 &agrave; COM4 dans
+ le monde MS-DOS. Notez bien que si vous avez un modem
+ interne sur le port COM4 et un port s&eacute;rie COM2, vous
+ devrez changer l'IRQ du modem en 2 (pour d'obscures
+ raisons techniques, IRQ 2 = IRQ 9) pour y acc&eacute;der avec
+ FreeBSD. Si vous avez une carte s&eacute;rie multi-ports, voyez
+ la page de manuel de
+ <citerefentry><refentrytitle>sio</refentrytitle><manvolnum>4</manvolnum></citerefentry>
+ pour plus d'informations sur les bonnes valeurs pour ces
+ lignes. Certaines cartes vid&eacute;o (notamment celles &agrave; base de
+ circuits S3) utilisent des adresses d'Entr&eacute;e/Sortie du type
+ <literal>0x*2e8</literal>, et comme de nombreuses cartes
+ s&eacute;ries g&egrave;rent mal l'espace d'adressage complet sur
+ 16-bits, il y aura des conflits avec ces cartes, rendant
+ le port COM4 pratiquement inutilisable.</para>
+
+ <para>Chaque port s&eacute;rie doit avoir une IRQ unique (&agrave; moins
+ que vous n'utilisiez une carte multi-ports qui autorise
+ le partage d'interruption), de sorte que les IRQ par
+ d&eacute;faut pour les ports COM3 et COM4 ne sont pas
+ utilisables.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device lpt0 at isa? port? tty irq 7 vector
+ lptintr</term>
+
+ <listitem>
+ <para><literal>lpt0</literal> &agrave; <literal>lpt2</literal>
+ sont les trois ports imprimante que vous pourriez
+ &eacute;ventuellement avoir. La plupart des gens n'en ont qu'un,
+ n'h&eacute;sitez donc pas &agrave; mettre en commentaires ceux que vous
+ n'avez pas.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+ </sect2>
+
+ <sect2
+ id="kernelconfig-network">
+ <title>Le r&eacute;seau</title>
+
+ <para>FreeBSD, comme Unix en g&eacute;n&eacute;ral, accorde
+ <emphasis>une</emphasis> grande importance au r&eacute;seau. Donc, m&ecirc;me
+ si vous n'avez pas de carte Ethernet, faites bien attention aux
+ options obligatoires et au support du r&eacute;seau via une ligne
+ t&eacute;l&eacute;phonique.</para>
+
+
+ <variablelist>
+ <varlistentry><term>options INET</term>
+ <listitem>
+ <para>Support r&eacute;seau. Conservez-le m&ecirc;me si vous n'envisagez
+ pas de vous connecter &agrave; un r&eacute;seau. La plupart des
+ programmes utilisent au moins le r&eacute;seau "en boucle" (i.e.
+ &eacute;tablissent des connexions r&eacute;seau avec le PC lui-m&ecirc;me),
+ cette option est donc quasiment obligatoire.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Cartes Ethernet</term>
+
+ <listitem>
+ <para>Les lignes qui suivent incluent le support de
+ diff&eacute;rentes cartes Ethernet. Si vous n'avez pas de
+ carte r&eacute;seau, vous pouvez toutes les commenter. Sinon,
+ vous garderez le support pour la ou les cartes Ethernet
+ dont vous disposez:</para>
+
+ <variablelist>
+ <varlistentry><term>device de0</term>
+ <listitem>
+ <para>Adaptateurs Ethernet &agrave; base de circuits
+ Digital Equipment DC21040, DC21041 ou DC21140.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device fxp0</term>
+
+ <listitem>
+ <para>Intel EtherExpress Pro/100B.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device vx0</term>
+
+ <listitem>
+ <para>3Com 3C590 et 3C595 (bogu&eacute;).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device cx0 at isa? port 0x240 net
+ irq 15 drq 7 vector cxintr</term>
+
+ <listitem>
+ <para>Cronyx/Sigma multiport sync/async (avec
+ trames Cisco ou PPP).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device ed0 at isa? port 0x280 net
+ irq 5 iomem 0xd8000 vector edintr</term>
+
+ <listitem>
+ <para>Western Digital et SMC 80xx et 8216; Novell
+ NE1000 and NE2000; 3Com 3C503; HP PC Lan Plus
+ (HP27247B et HP27252A).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device el0 at isa? port 0x300 net
+ irq 9 vector elintr</term>
+
+ <listitem>
+ <para>3Com 3C501 (lent!).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device eg0 at isa? port 0x310 net
+ irq 5 vector egintr</term>
+
+ <listitem>
+ <para>3Com 3C505.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device ep0 at isa? port 0x300 net
+ irq 10 vector epintr</term>
+
+ <listitem>
+ <para>3Com 3C509 (bogu&eacute;).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device fe0 at isa? port 0x240 net
+ irq ? vector feintr</term>
+
+ <listitem>
+ <para>Fujitsu MB86960A/MB86965A Ethernet.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device fea0 at isa? net irq ? vector
+ feaintr</term>
+
+ <listitem>
+ <para>Adaptateur DEC DEFEA EISA FDDI.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device ie0 at isa? port 0x360 net
+ irq 7 iomem 0xd0000 vector ieintr</term>
+
+ <listitem>
+ <para>AT&amp;T StarLAN 10 et EN100; 3Com 3C507;
+ NI5210 quelconque.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device ix0 at isa? port 0x300 net
+ irq 10 iomem 0xd0000 iosiz 32768 vector
+ ixintr</term>
+
+ <listitem>
+ <para>Intel EtherExpress 16.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device le0 at isa? port 0x300 net
+ irq 5 iomem 0xd0000 vector le_intr</term>
+
+ <listitem>
+ <para>Digital Equipment EtherWorks 2 et EtherWorks
+ 3 (DEPCA, DE100, DE101, DE200, DE201, DE202,
+ DE203, DE204, DE205, DE422).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device lnc0 at isa? port 0x300 net
+ irq 10 drq 0 vector lncintr</term>
+
+ <listitem>
+ <para>Cartes Lance/PCnet (Isolan, Novell NE2100,
+ NE32-VL).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device ze0 at isa? port 0x300 net
+ irq 5 iomem 0xd8000 vector zeintr</term>
+
+ <listitem>
+ <para>Contr&ocirc;leur Ethernet IBM/National Semiconductor
+ PCMCIA.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device zp0 at isa? port 0x300 net
+ irq 10 iomem 0xd8000 vector zpintr</term>
+
+ <listitem>
+ <para>3Com PCMCIA Etherlink III.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+ <note>
+ <para>Avec certaines cartes (notamment la NE2000) vous
+ devrez d&eacute;finir le port et/ou l'IRQ, car ces cartes
+ n'ont pas d'adresse &ldquo;standard&rdquo;.</para>
+ </note>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>pseudo-device loop</term>
+
+ <listitem>
+ <para><literal>loop</literal> est l'interface "en boucle"
+ g&eacute;n&eacute;rique de TCP/IP. Si vous employez telnet ou FTP sur
+ <hostid>localhost</hostid>
+ (a.k.a. <hostid role="ipaddr">127.0.0.1</hostid>)
+ la r&eacute;ponse vous arrivera via ce
+ pseudo-p&eacute;riph&eacute;rique. Obligatoire.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>pseudo-device ether</term>
+
+ <listitem>
+ <para><literal>ether</literal> ne sert que si vous avez une
+ carte Ethernet et inclut le code g&eacute;n&eacute;rique pour le
+ protocole Ethernet.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>pseudo-device sl
+ <replaceable>nombre</replaceable></term>
+
+ <listitem>
+ <para><literal>sl</literal> est le support de SLIP
+ (Serial Line Internet Protocol&nbsp;-&nbsp;protocole Internet sur
+ ligne s&eacute;rie). Il a pratiquement disparu au profit de PPP,
+ plus facile &agrave; mettre en oeuvre, mieux adapt&eacute; aux connexions
+ par modem, et aussi plus puissant. La valeur num&eacute;rique apr&egrave;s
+ <literal>sl</literal> d&eacute;finit le nombre maximum de
+ connexions SLIP simultan&eacute;es.
+ Ce manuel contient d'autres informations sur la mise en
+ place d'un <link linkend="slipc">client</link> ou d'un
+ <link linkend="slips">serveur</link> SLIP.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>pseudo-device ppp
+ <replaceable>nombre</replaceable></term>
+
+ <listitem>
+ <para><literal>ppp</literal> est le support de
+ PPP (Point-to-Point Protocol&nbsp;-&nbsp;protocole point &agrave; point)
+ int&eacute;gr&eacute; au noyau, pour les connexions t&eacute;l&eacute;phoniques &agrave;
+ l'Internet. Il y a aussi une version de PPP sous forme
+ de programme utilisateur qui utilise le pseudo-p&eacute;riph&eacute;rique
+ <devicename>tun</devicename> et offre plus de souplesse et
+ des possibilit&eacute;s, comme la connexion &agrave; la demande. Si vous
+ voulez cependant utiliser ce pilote PPP, lisez la section
+ <link linkend="ppp">Configurer PPP int&eacute;gr&eacute; au noyau</link>
+ de ce manuel. Comme pour le pilote <literal>sl</literal>,
+ <replaceable>nombre</replaceable> est le nombre maximum
+ de connexions PPP simultan&eacute;es.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>pseudo-device tun
+ <replaceable>nombre</replaceable></term>
+
+ <listitem>
+ <para><literal>tun</literal> est utilis&eacute; par le programme PPP
+ en mode utilisateur. Ce programme est facile &agrave; param&eacute;trer
+ et tr&egrave;s rapide. Il offre aussi des possibilit&eacute;s
+ particuli&egrave;res, comme la connexion automatique &agrave; la demande.
+ La valeur qui suit <literal>tun</literal> est le nombre
+ maximum de sessions PPP simultan&eacute;es. Voyez la section
+ <link linkend="userppp">Configurer PPP en mode utilisateur</link>
+ de ce manuel pour plus
+ d'informations.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>pseudo-device bpfilter
+ <replaceable>nombre</replaceable></term>
+
+ <listitem>
+ <para>Filtrage de paquets de Berkeley. Ce pseudo-p&eacute;riph&eacute;rique
+ permet de mettre les interfaces
+ r&eacute;seau en mode &ldquo;indiscret&rdquo;,
+ pour capturer tous les paquets sur un r&eacute;seau de diffusion
+ (e.g. un r&eacute;seau Ethernet). Ces paquets peuvent &ecirc;tre
+ enregistr&eacute;s sur disque et/ou examin&eacute;s avec le programme
+ <citerefentry><refentrytitle>tcpdump</refentrytitle><manvolnum>1</manvolnum></citerefentry>. Rappelez-vous que la mise en service de cette
+ possibilit&eacute; peut s&eacute;rieusement compromettre la s&eacute;curit&eacute;
+ globale de votre r&eacute;seau. Le
+ <replaceable>nombre</replaceable>
+ apr&egrave;s <literal>bpfilter</literal> est le nombre
+ d'interfaces qui peuvent &ecirc;tre surveill&eacute;es simultan&eacute;ment.
+ Optionnel et non recommand&eacute;, sauf &agrave; ceux qui ont pleinement
+ conscience des dangers &eacute;ventuels. Toutes les cartes r&eacute;seau
+ n'acceptent pas cette possibilit&eacute;.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+ </sect2>
+
+ <sect2>
+ <title>Cartes son</title>
+
+ <para>C'est la premi&egrave;re section qui comporte des lignes qui ne font
+ pas partie du noyau GENERIC. Pour inclure le support d'une carte
+ son, vous devrez copier les lignes ad&eacute;quates du noyau LINT (qui
+ contient le support de <emphasis>tous</emphasis> les p&eacute;riph&eacute;riques)
+ comme suit:</para>
+
+
+ <variablelist>
+ <varlistentry><term>controller snd0</term>
+ <listitem>
+ <para>Code g&eacute;n&eacute;rique du pilote de carte son. Requis pour
+ toutes les cartes ci-dessous, sauf
+ <literal>pca</literal>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device pas0 at isa? port 0x388 irq 10 drq 6
+ vector pasintr</term>
+
+ <listitem>
+ <para>ProAudioSpectrum digital audio et MIDI.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device sb0 at isa? port 0x220 irq 7
+ conflicts drq 1 vector sbintr</term>
+
+ <listitem>
+ <para>SoundBlaster digital audio.</para>
+
+ <note>
+ <para>Si votre SoundBlaster est sur une IRQ diff&eacute;rente
+ (5, par exemple), modifiez <literal>irq 7</literal> en
+ <literal>irq 5</literal>, par exemple, et supprimez
+ le mot-cl&eacute; <literal>conflicts</literal>. Vous devrez aussi
+ ajouter la ligne:
+ <literal>options "SBC_IRQ=5"</literal></para>
+ </note>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device sbxvi0 at isa? drq 5</term>
+
+ <listitem>
+ <para>SoundBlaster 16 digital 16-bits audio.</para>
+
+ <note>
+ <para>Si votre SB16 est sur un canal DMA 16-bits
+ diff&eacute;rent (tel que 6 ou 7), remplacez le mot-cl&eacute;
+ <literal>drq 5</literal> par la valeur appropri&eacute;e, et
+ ajoutez la ligne:
+ <literal>options "SB16_DMA=6"</literal>.</para>
+ </note>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device sbmidi0 at isa? port 0x330</term>
+
+ <listitem>
+ <para>Interface SoundBlaster 16 MIDI. Si vous avez une
+ SoundBlaster 16, vous devez inclure cette ligne, sinon,
+ le noyau ne compilera pas.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device gus0 at isa? port 0x220 irq 10 drq 1
+ vector gusintr</term>
+
+ <listitem>
+ <para>Gravis Ultrasound.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device mss0 at isa? port 0x530 irq 10 drq 1
+ vector adintr</term>
+
+ <listitem>
+ <para>Microsoft Sound System.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device opl0 at isa? port 0x388
+ conflicts</term>
+
+ <listitem>
+ <para>AdLib FM-synthesis audio. Ajoutez cette ligne pour
+ les cartes AdLib, SoundBlaster, et ProAudioSpectrum,
+ si vous voulez jouer de la musique au format MIDI avec
+ des logiciels comme <command>playmidi</command>
+ (au catalogue des logiciels port&eacute;s).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device mpu0 at isa? port 0x330 irq 6 drq
+ 0</term>
+
+ <listitem>
+ <para>Carte d'extension Roland MPU-401.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device uart0 at isa? port 0x330 irq 5 vector
+ "m6850intr"</term>
+
+ <listitem>
+ <para>Carte d'extension 6850 UART pour MIDI.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>device pca0 at isa? port "IO_TIMER1"
+ tty<anchor id="kernelconfig-pcaudio"></term>
+
+ <listitem>
+ <para>Son digital via le haut-parleur PC. Ce son sera de
+ tr&egrave;s mauvaise qualit&eacute; et consommera beaucoup de CPU, vous
+ &ecirc;tes donc pr&eacute;venus (mais il n'y a pas besoin de carte
+ son).</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+ <note>
+ <para>Le fichier
+ <filename>/usr/src/sys/i386/isa/sound/sound.doc</filename>.
+ contient un compl&eacute;ment de documentation. Si vous ajoutez l'un
+ de ces pilotes, cr&eacute;ez aussi les
+ <link linkend="kernelconfig-nodes">fichiers sp&eacute;ciaux de p&eacute;riph&eacute;riques</link>
+ pour le son.</para>
+ </note>
+
+ </sect2>
+
+ <sect2>
+ <title>Pseudo-p&eacute;riph&eacute;riques</title>
+
+ <para>Les pilotes de pseudo-p&eacute;riph&eacute;riques sont des parties du noyau
+ qui se comportent comme des pilotes de p&eacute;riph&eacute;riques mais ne
+ correspondent &agrave; aucun mat&eacute;riel de la machine. Les
+ pseudo-p&eacute;riph&eacute;riques associ&eacute;s au
+ <link linkend="kernelconfig-network">r&eacute;seau</link>
+ sont d&eacute;crits dans la section
+ correspondante, les autres sont d&eacute;crits ici.</para>
+
+
+ <variablelist>
+ <varlistentry><term>pseudo-device gzip</term>
+ <listitem>
+ <para><literal>gzip</literal> vous permet d'ex&eacute;cuter des
+ programmes FreeBSD qui ont &eacute;t&eacute; compress&eacute;s avec la commande
+ <command>gzip</command>. C'est le cas des programmes du
+ r&eacute;pertoire <filename>/stand</filename>, aussi est-ce une
+ bonne id&eacute;e de garder cette option dans votre noyau.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>pseudo-device log</term>
+
+ <listitem>
+ <para><literal>log</literal> est utilis&eacute; pour tracer les
+ messages d'erreur du noyau. Indispensable.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>pseudo-device pty
+ <replaceable>nombre</replaceable><anchor
+ id="kernelconfig-ptys"></term>
+
+ <listitem>
+ <para><literal>pty</literal> est un
+ &ldquo;pseudo-terminal&rdquo; ou un port simulant une
+ session. Il est utilis&eacute; par les sessions
+ <command>telnet</command> et <command>rlogin</command>
+ entrantes, par xterm, et d'autres applications comme emacs.
+ <replaceable>nombre</replaceable> est le nombre de
+ <literal>pty</literal>s &agrave; cr&eacute;er. S'il vous faut plus du
+ d&eacute;faut <filename>GENERIC</filename> de 16 fen&ecirc;tres xterm
+ et/ou connexions &agrave; distance simultan&eacute;es, veillez &agrave;
+ augmenter cette valeur en cons&eacute;quence, jusqu'au maximum
+ de 64.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>pseudo-device snp
+ <replaceable>nombre</replaceable></term>
+
+ <listitem>
+ <para>Pseudo-p&eacute;riph&eacute;rique espion. Ce pseudo-p&eacute;riph&eacute;rique
+ permet &agrave; une session d'en espionner une autre avec la commande
+ <citerefentry><refentrytitle>watch</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Notez
+ que l'impl&eacute;mentation de cette posibilit&eacute; a d'importantes
+ cons&eacute;quences sur la s&eacute;curit&eacute; et la confidentialit&eacute;.
+ Le <replaceable>nombre</replaceable>
+ qui suit snp est le nombre maximum de sessions
+ &ldquo;espion&rdquo;
+ simultan&eacute;es. Optionnel.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>pseudo-device vn</term>
+
+ <listitem>
+ <para>Pilote de noeud virtuel. Ce pilote permet d'utiliser
+ un fichier comme un p&eacute;riph&eacute;rique apr&egrave;s l'avoir configur&eacute;
+ avec la commande
+ <citerefentry><refentrytitle>vnconfig</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
+ Il peut &ecirc;tre utile pour manipuler des images de disquettes
+ ou pour utiliser un fichier comme p&eacute;riph&eacute;rique de
+ pagination. (e.g. comme un fichier MS Windows de
+ pagination). En option.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>pseudo-device ccd
+ <replaceable>nombre</replaceable></term>
+
+ <listitem>
+ <para>Disques concat&eacute;n&eacute;s, Ce pseudo-p&eacute;riph&eacute;rique vous
+ permet de concat&eacute;ner plusieurs partitions sur disque
+ en un seul gros &ldquo;m&eacute;ta&rdquo;-disque. Le
+ <replaceable>nombre</replaceable> apr&egrave;s
+ ccd est le nombre maximum de disques concat&eacute;n&eacute;s (et non
+ le nombre maximum de disques qui peuvent &ecirc;tre concat&eacute;n&eacute;s)
+ que l'on pourra cr&eacute;er. (Voyez les pages de manuel de
+ <citerefentry><refentrytitle>ccd</refentrytitle><manvolnum>4</manvolnum></citerefentry>
+ et <citerefentry><refentrytitle>ccdconfig</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ pour plus de d&eacute;tails.) En option.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+ </sect2>
+
+ <sect2>
+ <title>Manette de jeu, haut-parleur PC, divers</title>
+
+ <para>Cette section d&eacute;crit des dispositifs divers qui sont
+ support&eacute;s par FreeBSD. Aucune de ces lignes ne se trouve
+ dans le noyau g&eacute;n&eacute;rique, vous devrez les recopier de ce manuel
+ ou du noyau LINT (qui inclut le support de
+ <emphasis>tous</emphasis> les p&eacute;riph&eacute;riques):</para>
+
+ <variablelist>
+ <varlistentry><term>device joy0 at isa? port "IO_GAME"</term>
+ <listitem>
+ <para>Manette de jeu PC.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>pseudo-device speaker</term>
+
+ <listitem>
+ <para>Supporte les bruitages du style IBM BASIC via
+ le haut-parleur du PC. Certains programmes amusants
+ de <filename>/usr/sbin/spkrtest</filename>, qui est une
+ proc&eacute;dure qui joue quelques chansonnettes et
+ <filename>/usr/games/piano</filename>, qui vous permet
+ d'utiliser le clavier comme un piano rudimentaire (ce
+ fichier existe si vous avez install&eacute; les logiciels de
+ jeux <literal>games</literal>) utilisent cette possibilit&eacute;.
+ L'excellent jeu de r&ocirc;les en mode texte
+ <application>NetHack</application> (au catalogue des
+ logiciels port&eacute;s) peut aussi &ecirc;tre configur&eacute; pour faire
+ entendre la musique sur ce p&eacute;riph&eacute;rique quand vous jouez
+ d'un instrument pendant le jeu.</para>
+
+ <para>Voyez aussi ce qui concerne le p&eacute;riph&eacute;rique
+ <link linkend="kernelconfig-pcaudio">pca0</link>.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+ </sect2>
+ </sect1>
+
+ <sect1
+ id="kernelconfig-nodes">
+ <title>Cr&eacute;er les fichiers sp&eacute;ciaux de p&eacute;riph&eacute;riques</title>
+
+ <para>A pratiquement chaque p&eacute;riph&eacute;rique correspond un
+ &ldquo;noeud&rdquo; (ou fichier sp&eacute;cial de p&eacute;riph&eacute;rique)
+ dans le r&eacute;pertoire <filename>/dev</filename>. Ces noeuds ressemblent
+ &agrave; des fichiers ordinaires, mais sont en fait des points d'entr&eacute;e
+ particuliers dans le noyau, qu'utilisent les programmes pour acc&eacute;der
+ aux p&eacute;riph&eacute;riques. La proc&eacute;dure
+ <filename>/dev/MAKEDEV</filename>, qui est ex&eacute;cut&eacute;e &agrave; la premi&egrave;re
+ installation du syst&egrave;me d'exploitation, cr&eacute;e la plupart des noeuds
+ n&eacute;cessaires. Cependant, elle ne les cr&eacute;e pas
+ <emphasis>tous</emphasis>, de sorte que, quand vous ajoutez le support
+ pour un nouveau p&eacute;riph&eacute;rique, il vaut
+ la peine de v&eacute;rifier que l'entr&eacute;e
+ ad&eacute;quate existe dans ce r&eacute;pertoire, et sinon, de l'y ajouter. Voici
+ un exemple simple:</para>
+
+ <para>Supposons que vous ajoutiez au noyau le support du lecteur de
+ CD-ROMs IDE avec la ligne:
+
+ <programlisting>
+controller wcd0
+ </programlisting> Cela signifie que vous devrez chercher une entr&eacute;e
+ qui commence par <filename>wcd0</filename> dans le r&eacute;pertoire
+ <filename>/dev</filename>, &eacute;ventuellement suivie d'une lettre comme
+ <literal>c</literal>, ou pr&eacute;c&eacute;d&eacute;e de la lettre <literal>r</literal>,
+ qui d&eacute;signe un p&eacute;riph&eacute;rique en mode
+ caract&egrave;re&nbsp;-&nbsp;&ldquo;raw (brut)&rdquo;. S'il
+ s'av&egrave;re que ces fichiers n'existent
+ pas, vous devez aller dans le r&eacute;pertoire <filename>/dev</filename>
+ et taper:
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>sh MAKEDEV wcd0</userinput></screen>
+ </informalexample> Quand la proc&eacute;dure s'est ex&eacute;cut&eacute;e, vous verrez
+ qu'il y a maintenant les entr&eacute;es
+ <filename>wcd0c</filename> et <filename>rwcd0c</filename>
+ dans <filename>/dev</filename>. Ce qui vous confirme qu'elle a bien
+ fonctionn&eacute;.</para>
+
+ <para>Pour les cartes sons, la commande:
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>sh MAKEDEV snd0</userinput></screen>
+ </informalexample> cr&eacute;era les entr&eacute;es n&eacute;cessaires.</para>
+
+ <note>
+ <para>Quand vous cr&eacute;ez les noeuds pour des p&eacute;riph&eacute;riques comme
+ les cartes sons, si d'autres personnes ont acc&egrave;s &agrave; votre
+ machine, il peut &ecirc;tre souhaitable de prot&eacute;ger ces p&eacute;riph&eacute;riques
+ d'acc&egrave;s ext&eacute;rieurs en les ajoutant au fichier
+ <filename>/etc/fbtab</filename> . Voyez <command>man
+ fbtab</command> pour plus d'informations.</para>
+ </note>
+
+ <para>Suivez cette simple proc&eacute;dure pour tous les autres p&eacute;riph&eacute;riques
+ absents de <filename>GENERIC</filename> pour lequels les entr&eacute;es
+ n'existent pas encore.</para>
+
+ <note>
+ <para>Tous les contr&ocirc;leurs SCSI utilisent les m&ecirc;mes entr&eacute;es dans
+ <filename>/dev</filename>, vous n'avez donc pas besoin de les
+ cr&eacute;er. Par ailleurs, les cartes r&eacute;seau et les pseudo-p&eacute;riph&eacute;riques
+ SLIP/PPP n'ont pas d'entr&eacute;e dans <filename>/dev</filename>, vous
+ n'avez donc pas non plus &agrave; vous en pr&eacute;occupper.</para>
+ </note>
+
+ </sect1>
+
+ <sect1
+ id="kernelconfig-trouble">
+ <title>Si quelque chose se passe mal</title>
+
+ <para>Il y a quatre types de probl&egrave;mes que vous pouvez rencontrer
+ quand vous g&eacute;n&eacute;rez un noyau sur-mesure. Ce sont:</para>
+
+
+ <variablelist>
+ <varlistentry><term>La commande Config &eacute;choue.</term>
+ <listitem>
+ <para>Si la commande <command>config</command> &eacute;choue
+ quand vous lui donnez en param&egrave;tre la description de
+ votre noyau, vous avez probablement fait une simple
+ erreur quelque part. Heureusement
+ <command>config</command> vous affiche le num&eacute;ro de
+ la ligne qui lui a pos&eacute; probl&egrave;me, vous pouvez donc vous
+ y r&eacute;f&eacute;rez rapidement avec la commande <command>vi</command>.
+ Par exemple, si vous avez:
+
+ <informalexample>
+ <screen>config: line 17: syntax error</screen>
+ </informalexample> vous pouvez aller droit au probl&egrave;me avec
+ <command>vi</command> en tapant <COMMAND>17G</COMMAND>
+ en mode commande. V&eacute;rifiez que le mot-cl&eacute; est correctement
+ sp&eacute;cifi&eacute;, en le comparant avec ce qu'il y a dans le noyau
+ GENERIC ou autre r&eacute;f&eacute;rence.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>La commande Make &eacute;choue.</term>
+
+ <listitem>
+ <para>Si la commande <command>make</command> &eacute;choue,
+ c'est habituellement une erreur dans la description de
+ votre noyau, pas suffisamment s&eacute;rieuse cependant pour
+ que la commande <command>config</command> la d&eacute;tecte.
+ V&eacute;rifiez l&agrave; aussi votre fichier de configuration et, si
+ vous n'arrivez toujours pas &agrave; r&eacute;soudre le probl&egrave;me,
+ adressez un courrier &eacute;lectronique &agrave;
+ &a.questions; en joignant votre fichier de configuration
+ du noyau, le diagnostic devrait &ecirc;tre tr&egrave;s rapide.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Le syst&egrave;me ne red&eacute;marre pas avec le nouveau
+ noyau<anchor
+ id="kernelconfig-noboot">.</term>
+
+ <listitem>
+ <para>Si votre syst&egrave;me ne red&eacute;marre pas avec le nouveau noyau,
+ ou ne reconna&icirc;t pas vos p&eacute;riph&eacute;riques, ne paniquez pas!
+ BSD est heureusement dot&eacute; d'un excellent m&eacute;canisme pour
+ r&eacute;cup&eacute;rer si le noyau n'est pas coh&eacute;rent. Tapez simplement
+ le nom du noyau que vous voulez charger &agrave; l'invite de
+ d&eacute;marrage de FreeBSD
+ (i.e. <filename>kernel.old</filename>) au lieu d'appuyer
+ sur Entr&eacute;e. Quand vous reconfigurez votre noyau, c'est
+ toujours une bonne id&eacute;e de garder sous le coude un noyau
+ dont vous savez qu'il fonctionne.</para>
+
+ <para>Apr&egrave;s avoir d&eacute;marr&eacute; le syst&egrave;me avec un noyau en &eacute;tat de
+ marche, vous pouvez rev&eacute;rifier votre fichier de configuration
+ et essayer de recompiler de nouveau votre noyau. Les
+ indications du fichier
+ <filename>/var/log/messages</filename> qui enregistre, entre
+ autres, tous les messages du noyau &agrave; chaque d&eacute;marrage
+ r&eacute;ussi peuvent vous aider. La commande
+ <citerefentry><refentrytitle>dmesg</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ vous affichera aussi les messages du noyau pour le dernier
+ d&eacute;marrage.</para>
+
+ <note>
+ <para>Si vous avez des difficult&eacute;s &agrave; compiler un noyau,
+ veillez &agrave; conserver un noyau <filename>GENERIC</filename>,
+ ou un autre noyau dont vous savez qu'il fonctionne, sous
+ la main, avec un nom diff&eacute;rent de celui que vous g&eacute;n&eacute;rez,
+ de fa&ccedil;on &agrave; ce qu'il ne soit pas &eacute;cras&eacute; par la prochaine
+ compilation. Vous ne pouvez pas vous fier au noyau
+ <filename>kernel.old</filename>, parce qu'&agrave; l'installation
+ du nouveau noyau, il est surcharg&eacute; par le dernier noyau
+ install&eacute;, dont il n'est pas certain qu'il soit op&eacute;rationnel.
+ D&eacute;placez aussi, aussit&ocirc;t que possible, le noyau op&eacute;rationnel
+ vers le bon fichier <filename>kernel</filename>, sans quoi
+ des commandes comme
+ <citerefentry><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ ne s'ex&eacute;cuteront pas correctement. La bonne commande pour
+ &ldquo;d&eacute;verrouiller&rdquo; le fichier
+ <filename>kernel</filename> install&eacute; par la commande
+ <command>make</command> (pour mettre d&eacute;finitivement en
+ place une autre noyau) est:
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>chflags noschg /kernel</userinput></screen>
+ </informalexample> Si vous voulez
+ &ldquo;verrouiller&rdquo; le noyau que vous venez
+ d'installer, ou tout autre fichier le cas &eacute;ch&eacute;ant,
+ de sorte qu'il ne puisse &ecirc;tre d&eacute;plac&eacute; ou modifi&eacute;,
+ utilisez:
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>chflags schg /kernel</userinput></screen>
+ </informalexample>
+ </para>
+ </note>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Le noyau est op&eacute;rationnel, mais la commande
+ <command>ps</command> ne fonctionne plus!</term>
+
+ <listitem>
+ <para>Si vous avez install&eacute; une version du noyau diff&eacute;rente de
+ celle avec laquelle ont &eacute;t&eacute; compil&eacute;s les utilitaires syst&egrave;me,
+ par exemple, un noyau exp&eacute;rimental &ldquo;2.2.0&rdquo; sur
+ un syst&egrave;me 2.1.0-RELEASE, de nombreuses commandes d'affichage
+ de l'&eacute;tat du syst&egrave;me, telles
+ <citerefentry><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry> and <citerefentry><refentrytitle>vmstat</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ ne fonctionneront plus. Vous devez recompiler la
+ biblioth&egrave;que <filename>libkvm</filename> de m&ecirc;me que ces
+ utilitaires. C'est une des raisons pour lesquelles il n'est
+ pas judicieux d'utiliser des versions diff&eacute;rentes du noyau
+ et du reste du syst&egrave;me d'exploitation.</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:
+-->
diff --git a/fr_FR.ISO_8859-1/books/handbook/kerneldebug/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/kerneldebug/chapter.sgml
new file mode 100644
index 0000000000..b8c33414c3
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/kerneldebug/chapter.sgml
@@ -0,0 +1,682 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: 1.13
+-->
+
+<chapter id="kerneldebug">
+ <title>D&eacute;boguer le noyau</title>
+
+ <para><emphasis>Contribution de &a.paul; et &a.joerg;</emphasis></para>
+ &trans.a.haby;
+
+ <sect1>
+ <title>D&eacute;boguer une trace de
+ plantage&nbsp;-&nbsp;<foreignphrase>crash
+ dump</foreignphrase>&nbsp;-&nbsp;avec <command>kgdb</command></title>
+
+ <para>Voici quelques instructions pour d&eacute;boguer le noyau en cas de
+ plantage. Elles supposent que vous avez suffisamment d'espace de
+ pagination pour enregistrer la trace du plantage. Si vous avez plusieurs
+ partitions de pagination et que la premi&egrave;re est trop petite pour
+ archiver cette trace, vous pouvez configurer votre noyau pour utiliser
+ un autre fichier sp&eacute;cial de p&eacute;riph&eacute;rique pour stocker
+ cette trace (&agrave; la ligne <literal>config kernel</literal>) ou vous
+ pouvez indiquer un autre fichier sp&eacute;cial de
+ p&eacute;riph&eacute;rique avec la commande &man.dumpon.8;. La meilleure
+ m&eacute;thode pour utiliser &man.dumpon.8; consiste &agrave; positionner
+ la variable <literal>dumpdev</literal> dans
+ <filename>/etc/rc.conf</filename>. Vous utiliserez typiquement une des
+ partitions de pagination d&eacute;finies dans
+ <filename>/etc/fstab</filename>. L'enregistrement de la trace sur d'autres
+ fichiers sp&eacute;ciaux de p&eacute;riph&eacute;riques que les partitions
+ de pagination, des bandes par exemple, n'est actuellement pas
+ support&eacute;. Configurez votre noyau avec <command>config -g</command>.
+ Reportez-vous au chapitre <link linkend="kernelconfig">Configuration du
+ noyau de FreeBSD</link> pour avoir plus de d&eacute;tails sur la
+ mani&egrave;re de proc&eacute;der.</para>
+
+ <para>Utilisez la commande &man.dumpon.8; pour dire au noyau o&ugrave;
+ enregistrer la trace (notez que cela doit &ecirc;tre fait apr&egrave;s
+ avoir configur&eacute; la partition en question comme partition de
+ pagination avec &man.swapon.8;). C'est normalement fait via
+ <filename>/etc/rc.conf</filename> et <filename>/etc/rc</filename>. Vous
+ pouvez aussi d&eacute;finir le fichier sp&eacute;cial de trace avec la
+ clause <literal>dump</literal> de la ligne <literal>config</literal> du
+ fichier de configuration du noyau. C'est d&eacute;pr&eacute;ci&eacute;
+ et ne devrait &ecirc;tre utilis&eacute; que si vous voulez la trace d'un
+ plantage du noyau lors du d&eacute;marrage du syst&egrave;me.</para>
+
+ <note>
+ <para>Dans ce qui suit, le terme <command>kgdb</command> se rapporte
+ &agrave; <command>gdb</command> ex&eacute;cut&eacute; en &ldquo;mode
+ d&eacute;boguage du noyau&rdquo;. Cela se fait soit en lan&ccedil;ant
+ <command>gdb</command> avec l'option <option>-k</option>, soit en
+ le g&eacute;n&eacute;rant et en le lan&ccedil;ant sous le nom
+ <command>kgdb</command>. Ce n'est cependant pas fait par d&eacute;faut,
+ et c'est une fa&ccedil;on de faire obsol&egrave;te, parce que les gens
+ du projet GNU n'aiment pas que leurs outils se comportent
+ diff&eacute;remment quand ils sont appel&eacute;s d'un autre nom. Cette
+ fonctionnalit&eacute; pourrait dispara&icirc;tre des versions
+ futures.</para>
+ </note>
+
+ <para>Une fois que le noyau a &eacute;t&eacute; compil&eacute;, faites-en
+ une copie, disons <filename>kernel.debug</filename>, et ex&eacute;cutez
+ <command>strip -d</command> sur l'original. Installez l'original comme
+ d'habitude. Vous pouvez aussi installer le noyau non expurg&eacute;, mais
+ le temps de recherche dans la table des symboles augmentera de
+ fa&ccedil;on dramatique pour certains programmes, et comme le noyau
+ est int&eacute;gralement charg&eacute; en m&eacute;moire au
+ d&eacute;marrage et y reste ensuite, vous gaspillerez plusieurs Mo de
+ m&eacute;moire physique.</para>
+
+ <para>Si vous testez un nouveau noyau, par exemple en donnant le nom de ce
+ noyau au d&eacute;marrage, mais avez besoin de d&eacute;marrez avec un
+ autre noyau pour avoir de nouveau un syst&egrave;me en &eacute;tat de
+ marche, d&eacute;marrez uniquement en mode mono-utilisateur avec
+ l'indicateur <option>-s</option> &agrave; l'invite de d&eacute;marrage et
+ effectuez ensuite les &eacute;tapes suivantes&nbsp;:</para>
+
+ <screen>&prompt.root; <userinput>fsck -p</userinput>
+&prompt.root; <userinput>mount -a -t ufs</userinput> # de fa&ccedil;on &agrave; ce qu'il soit possible d'&eacute;crire
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# sur le syst&egrave;me de fichiers pour /var/crash
+&prompt.root; <userinput>savecore -N /kernel.panicked /var/crash</userinput>
+&prompt.root; <userinput>exit</userinput> # ... en mode multi-utilisateur</screen>
+
+ <para>Cela dit &agrave; &man.savecore.8; d'utiliser un autre noyau pour y
+ chercher les noms des symboles. Il utiliserait sans cela le noyau en cours
+ d'ex&eacute;cution et cela ne m&eacute;nerait probablement &agrave; rien,
+ puisque les symboles de la trace de plantage et ceux du noyau ne sont pas
+ les m&ecirc;mes.</para>
+
+ <para>Maintenant, apr&egrave;s un plantage, allez dans
+ <filename>/sys/compile/QUELQUE_CHOSE</filename> et lancez
+ <command>kgdb</command>. Sous <command>kgdb</command>, tapez&nbsp;:</para>
+
+ <screen><userinput>symbol-file kernel.debug</userinput>
+<userinput>exec-file /var/crash/kernel.0</userinput>
+<userinput>core-file /var/crash/vmcore.0</userinput></screen>
+
+ <para>et voil&agrave;, vous pouvez maintenant d&eacute;boguer la trace de
+ plantage en vous servant des sources du noyau comme vous le feriez pour
+ n'importe quel autre programme.</para>
+
+ <para>Voici la trace d'une session <command>kgdb</command> qui illustre la
+ fa&ccedil;on de proc&eacute;der. Les lignes trop longues ont
+ &eacute;t&eacute; scind&eacute;es pour en faciliter la lecture, et les
+ lignes sont num&eacute;rot&eacute;es pour pouvoir y faire
+ r&eacute;f&eacute;rence. Malgr&eacute; cela, c'est un exemple grandeur
+ nature, correspondant &agrave; une trace prise lors du
+ d&eacute;veloppement du pilote <devicename>pcvt</devicename>.</para>
+
+<screen> 1:Script started on Fri Dec 30 23:15:22 1994
+ 2:&prompt.root; <userinput>cd /sys/compile/URIAH</userinput>
+ 3:&prompt.root; <userinput>kgdb kernel /var/crash/vmcore.1</userinput>
+ 4:Reading symbol data from /usr/src/sys/compile/URIAH/kernel
+...done.
+ 5:IdlePTD 1f3000
+ 6:panic: because you said to!
+ 7:current pcb at 1e3f70
+ 8:Reading in symbols for ../../i386/i386/machdep.c...done.
+ 9:<prompt>(kgdb)</prompt> <userinput>where</userinput>
+10:#0 boot (arghowto=256) (../../i386/i386/machdep.c line 767)
+11:#1 0xf0115159 in panic ()
+12:#2 0xf01955bd in diediedie () (../../i386/i386/machdep.c line 698)
+13:#3 0xf010185e in db_fncall ()
+14:#4 0xf0101586 in db_command (-266509132, -266509516, -267381073)
+15:#5 0xf0101711 in db_command_loop ()
+16:#6 0xf01040a0 in db_trap ()
+17:#7 0xf0192976 in kdb_trap (12, 0, -272630436, -266743723)
+18:#8 0xf019d2eb in trap_fatal (...)
+19:#9 0xf019ce60 in trap_pfault (...)
+20:#10 0xf019cb2f in trap (...)
+21:#11 0xf01932a1 in exception:calltrap ()
+22:#12 0xf0191503 in cnopen (...)
+23:#13 0xf0132c34 in spec_open ()
+24:#14 0xf012d014 in vn_open ()
+25:#15 0xf012a183 in open ()
+26:#16 0xf019d4eb in syscall (...)
+27:<prompt>(kgdb)</prompt> <userinput>up 10</userinput>
+28:Reading in symbols for ../../i386/i386/trap.c...done.
+29:#10 0xf019cb2f in trap (frame={tf_es = -260440048, tf_ds = 16, tf_\
+30:edi = 3072, tf_esi = -266445372, tf_ebp = -272630356, tf_isp = -27\
+31:2630396, tf_ebx = -266427884, tf_edx = 12, tf_ecx = -266427884, tf\
+32:_eax = 64772224, tf_trapno = 12, tf_err = -272695296, tf_eip = -26\
+33:6672343, tf_cs = -266469368, tf_eflags = 66066, tf_esp = 3072, tf_\
+34:ss = -266427884}) (../../i386/i386/trap.c line 283)
+35:283 (void) trap_pfault(&amp;frame, FALSE);
+36:<prompt>(kgdb)</prompt> <userinput>frame frame-&gt;tf_ebp frame-&gt;tf_eip</userinput>
+37:Reading in symbols for ../../i386/isa/pcvt/pcvt_drv.c...done.
+38:#0 0xf01ae729 in pcopen (dev=3072, flag=3, mode=8192, p=(struct p\
+39:roc *) 0xf07c0c00) (../../i386/isa/pcvt/pcvt_drv.c line 403)
+40:403 return ((*linesw[tp-&gt;t_line].l_open)(dev, tp));
+41:<prompt>(kgdb)</prompt> <userinput>list</userinput>
+42:398
+43:399 tp-&gt;t_state |= TS_CARR_ON;
+44:400 tp-&gt;t_cflag |= CLOCAL; /* cannot be a modem (:-) */
+45:401
+46:402 #if PCVT_NETBSD || (PCVT_FREEBSD >= 200)
+47:403 return ((*linesw[tp-&gt;t_line].l_open)(dev, tp));
+48:404 #else
+49:405 return ((*linesw[tp-&gt;t_line].l_open)(dev, tp, flag));
+50:406 #endif /* PCVT_NETBSD || (PCVT_FREEBSD >= 200) */
+51:407 }
+52:<prompt>(kgdb)</prompt> <userinput>print tp</userinput>
+53:Reading in symbols for ../../i386/i386/cons.c...done.
+54:$1 = (struct tty *) 0x1bae
+55:<prompt>(kgdb)</prompt> <userinput>print tp-&gt;t_line</userinput>
+56:$2 = 1767990816
+57:<prompt>(kgdb)</prompt> <userinput>up</userinput>
+58:#1 0xf0191503 in cnopen (dev=0x00000000, flag=3, mode=8192, p=(st\
+59:ruct proc *) 0xf07c0c00) (../../i386/i386/cons.c line 126)
+60: return ((*cdevsw[major(dev)].d_open)(dev, flag, mode, p));
+61:<prompt>(kgdb)</prompt> <userinput>up</userinput>
+62:#2 0xf0132c34 in spec_open ()
+63:<prompt>(kgdb)</prompt> <userinput>up</userinput>
+64:#3 0xf012d014 in vn_open ()
+65:<prompt>(kgdb)</prompt> <userinput>up</userinput>
+66:#4 0xf012a183 in open ()
+67:<prompt>(kgdb)</prompt> <userinput>up</userinput>
+68:#5 0xf019d4eb in syscall (frame={tf_es = 39, tf_ds = 39, tf_edi =\
+69: 2158592, tf_esi = 0, tf_ebp = -272638436, tf_isp = -272629788, tf\
+70:_ebx = 7086, tf_edx = 1, tf_ecx = 0, tf_eax = 5, tf_trapno = 582, \
+71:tf_err = 582, tf_eip = 75749, tf_cs = 31, tf_eflags = 582, tf_esp \
+72:= -272638456, tf_ss = 39}) (../../i386/i386/trap.c line 673)
+73:673 error = (*callp-&gt;sy_call)(p, args, rval);
+74:<prompt>(kgdb)</prompt> <userinput>up</userinput>
+75:Initial frame selected; you cannot go up.
+76:<prompt>(kgdb)</prompt> <userinput>quit</userinput>
+77:&prompt.root; <userinput>exit</userinput>
+78:exit
+79:
+80:Script done on Fri Dec 30 23:18:04 1994</screen>
+ <para>Commentaires sur les r&eacute;sultats ci-dessus&nbsp;:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>ligne 6&nbsp;:</term>
+
+ <listitem>
+ <para>C'est une trace obtenue depuis DDB (voir plus bas), d'o&ugrave;
+ le commentaire panique &ldquo;<foreignphrase>because you said
+ to!</foreignphrase>&nbsp;-&nbsp;parce que vous l'avez
+ demand&eacute;&rdquo;&nbsp;-&nbsp;et une assez longue trace de la
+ pile d'ex&eacute;cution; la raison initiale du passage sous DDB est
+ n&eacute;anmoins la d&eacute;tection d'un d&eacute;faut de
+ page.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>ligne 20&nbsp;:</term>
+
+ <listitem>
+ <para>C'est la position de l'appel &agrave; la fonction
+ <function>trap()</function> dans la pile.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>ligne 36&nbsp;:</term>
+
+ <listitem>
+ <para>Impose l'utilisation d'un nouveau contexte de
+ pile&nbsp;-&nbsp;<foreignphrase>stack frame</foreignphrase>; ce
+ n'est dor&eacute;navant plus n&eacute;cessaire. Les contextes de
+ pile sont maintenant cens&eacute;s pointer sur les bonnes adresses,
+ m&ecirc;me en cas de d&eacute;branchement. (Je n'ai pas de trace
+ r&eacute;cente de plantage sous la main; mon noyau n'a pas
+ paniqu&eacute; depuis un certain temps.) Au vu de la ligne 403 du
+ code source, il y a de fortes chances pour que soit le pointeur de
+ &ldquo;tp&rdquo; soit erronn&eacute; soit il y ait
+ d&eacute;bordement dans le tableau.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>ligne 52&nbsp;:</term>
+
+ <listitem>
+ <para>Le pointeur semble suspect, mais il se trouve que l'adresse est
+ valide.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>ligne 56&nbsp;:</term>
+
+ <listitem>
+ <para>Il pointe cependant sur n'importe quoi, nous avons donc
+ trouv&eacute; notre erreur! (Pour ceux qui ne sont pas
+ familiaris&eacute;s avec ce code particulier&nbsp;:
+ <literal>tp-&gt;t_line</literal> se rapporte &agrave; la gestion de
+ la liaison&nbsp;-&nbsp;<foreignphrase>line
+ discipline</foreignphrase>&nbsp;-&nbsp;du p&eacute;riph&eacute;rique
+ console, qui doit &ecirc;tre un entier assez petit.)</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect1>
+
+ <sect1>
+ <title>D&eacute;boguer une trace de plantage avec DDD</title>
+
+ <para>Il est aussi possible d'examiner une trace de plantage avec un
+ d&eacute;bogueur graphique comme <command>ddd</command>. Ajoutez l'option
+ <option>-k</option> &agrave; la ligne de commande de
+ <command>ddd</command> que vous utiliseriez normalement. Par
+ exemple&nbsp;:</para>
+
+ <screen>&prompt.root; <userinput>ddd -k /var/crash/kernel.0 /var/crash/vmcore.0</userinput></screen>
+
+ <para>Vous devriez maintenant pouvoir examiner la trace de plantage avec
+ l'interface graphique de <command>ddd</command>.</para>
+ </sect1>
+
+ <sect1>
+ <title>Analyser la trace apr&egrave;s plantage</title>
+
+ <para>Que faire si le noyau plante alors que vous ne l'aviez pas
+ pr&eacute;vu et donc que vous ne l'avez pas compil&eacute; avec
+ <command>config -g</command>&nbsp;? Tout n'est pas perdu. Ne paniquez
+ pas&nbsp;!</para>
+
+ <para>Il faut bien s&ucirc;r que vous autorisiez l'archivage des traces de
+ plantage. Voyez plus haut quelles options vous devez utiliser pour
+ cela.</para>
+
+ <para>Allez dans le r&eacute;pertoire de compilation de votre noyau et
+ &eacute;ditez la ligne contenant <literal>COPTFLAGS?=-O</literal>.
+ Ajoutez-y l'option <option>-g</option> (mais ne changez
+ <emphasis>rien</emphasis> au niveau d'optimisation. Si vous avez
+ d&eacute;j&agrave; une vague id&eacute;e de l&agrave; o&ugrave; se situe
+ le code fautif (e.g., le pilote <devicename>pcvt</devicename> dans
+ l'exemple pr&eacute;c&eacute;dent), supprimez tous les fichiers objets
+ correspondant &agrave; ce code. Recompilez le noyau. Du fait de la
+ modification de la date du <filename>Makefile</filename>, d'autres
+ objets seront reconstruits, par exemple, <filename>trap.o</filename>. Avec
+ un peu de chance, l'option suppl&eacute;mentaire <option>-g</option> ne
+ changera rien au code g&eacute;n&eacute;r&eacute;, vous aurez donc un
+ nouveau noyau dont le code est similaire &agrave; celui qui a
+ plant&eacute; &agrave; l'exception de quelques symboles de
+ d&eacute;bogage. V&eacute;rifiez au moins les tailles des deux noyaux avec
+ la commande &man.size.1;. Si elles ne correspondent pas, vous devrez
+ probablement en rester l&agrave;.</para>
+
+ <para>Examinez maintenant la trace comme d&eacute;crit plus haut. Il y aura
+ probablement par endroit des symboles de d&eacute;bogage incomplets, comme
+ on peut le voir dans la trace de la pile de l'exemple plus haut, o&ugrave;
+ certaines fonctions sont list&eacute;es sans num&eacute;ro de ligne et
+ liste d'arguments. S'il vous faut plus d'informations, supprimez les
+ fichiers objets et reprenez la session <command>kgdb</command>
+ jusqu'&agrave; ce que vous en sachiez assez.</para>
+
+ <para>Il n'y a aucune garantie que tout cela marche, mais cela fera
+ l'affaire dans la plupart des cas.</para>
+ </sect1>
+
+ <sect1>
+ <title>D&eacute;boguer en ligne le noyau avec DDB</title>
+
+ <para>Tandis que <command>kgdb</command> comme d&eacute;bogueur hors-ligne
+ procure une interface utilisateur de tr&egrave;s haut niveau, il y a
+ certaines choses qu'il ne peut pas faire. Les principales sont la mise en
+ place de points d'arr&ecirc;t et l'ex&eacute;cution pas -&agrave;-pas du
+ code du noyau.</para>
+
+ <para>Si vous devez faire du d&eacute;bogage de bas niveau de votre noyau,
+ il y a un d&eacute;bogueur de bas niveau appel&eacute; DDB. Il permet la
+ mise en place des points d'arr&ecirc;t, l'ex&eacute;cution instruction
+ par instruction des fonctions du noyau, l'examen et la modification
+ de variables du noyau, etc. Il ne peut cependant pas acc&eacute;der aux
+ fichiers source du noyau et n'a acc&egrave;s qu'aux symboles globaux et
+ statiques et non &agrave; la totalit&eacute; des informations comme
+ <command>kgdb</command>.</para>
+
+ <para>Pour configurer votre noyau pour y inclure DDB, ajoutez la ligne
+ d'option&nbsp;:</para>
+
+ <programlisting>
+options DDB</programlisting>
+
+ <para>&agrave; votre fichier de configuration et recompilez-le.
+ (Reportez-vous au chapitre <link linkend="kernelconfig">Configurer le
+ noyau de FreeBSD </link> pour plus de d&eacute;tails sur la configuration
+ du noyau de FreeBSD.)</para>
+
+ <note>
+ <para>Si vous avez une ancienne version des blocs de d&eacute;marrage, les
+ symboles du d&eacute;bogueur peuvent ne pas &ecirc;tre charg&eacute;s du
+ tout. Mettez &agrave; jour les blocs de d&eacute;marrage; les versions
+ r&eacute;centes chargent automagiquement les symboles de DDB.</para>
+ </note>
+
+ <para>Une fois que votre noyau incluant DDB s'ex&eacute;cute, il y a
+ plusieurs fa&ccedil;ons de passer sous DDB. La premi&egrave;re et la plus
+ imm&eacute;diate est d'utiliser l'option <option>-d</option> d&egrave;s le
+ d&eacute;marrage; Le noyau d&eacute;marrera en mode d&eacute;bogage et
+ passera sous DDB avant m&ecirc;me de tester la pr&eacute;sence des
+ p&eacute;riph&eacute;riques. Vous pouvez donc m&ecirc;me d&eacute;boguer
+ les fonctions de test et d'attachement des
+ p&eacute;riph&eacute;riques.</para>
+
+ <para>Le seconde est d'utiliser une combinaison de touches du clavier,
+ habituellement
+ <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>>Esc</keycap></keycombo>.
+ Avec <devicename>syscons</devicename>, cette combinaison peut &ecirc;tre
+ red&eacute;finie; certaines red&eacute;finitions distribu&eacute;es du
+ clavier le font, faites-y donc attention. Il existe une option pour les
+ consoles s&eacute;rie qui permet d'utiliser un <keysym>Break</keysym> sur
+ la ligne console pour passer sous DDB
+ (<literal>options BREAK_TO_DEBUGGER</literal> dans le fichier de
+ configuration du noyau). Ce n'est pas l'option par d&eacute;faut, parce
+ qu'il y a de nombreux adaptateurs s&eacute;rie qui g&eacute;n&egrave;rent
+ gratuitement un <keysym>Break</keysym>, par exemple, lorsque l'on
+ d&eacute;branche le c&acirc;ble.</para>
+
+ <para>Troisi&egrave;mement, le noyau passe sous DDB lorsqu'une condition
+ panique intervient, s'il est configur&eacute; pour l'utiliser. En
+ cons&eacute;quence, il vaut mieux ne pas configurer le noyau pour qu'il
+ inclue DDB, si la machine n'est pas sous surveillance.</para>
+
+ <para>Les commandes de DDB ressemblent assez &agrave; celles de
+ <command>gdb</command>. La premi&egrave;re chose que vous devrez
+ probablement faire sera de placer un point d'arr&ecirc;t&nbsp;:</para>
+
+ <screen><userinput>b nom-de-fonction</userinput>
+<userinput>b adresse</userinput></screen>
+
+ <para>Par d&eacute;faut, les nombres sont normalement donn&eacute;s en
+ hexad&eacute;cimal, mais, pour les distinguer des noms de symboles, les
+ nombres hexad&eacute;cimaux qui commencent par les lettres
+ <literal>a-f</literal> doivent &ecirc;tre pr&eacute;c&eacute;d&eacute;s de
+ <literal>0x</literal> (c'est facultatif pour les autres nombres). On peut
+ utiliser des expressions simples, par exemple&nbsp;:
+ <literal>nom-de-fonction + 0x103</literal>.</para>
+
+ <para>Pour reprendre l'ex&eacute;cution interrompue du noyau, tapez
+ simplement&nbsp;:</para>
+
+ <screen><userinput>c</userinput></screen>
+
+ <para>Pour avoir le trace de la pile d'ex&eacute;cution, tapez&nbsp;:</para>
+
+ <screen><userinput>trace</userinput></screen>
+
+ <note>
+ <para>Remarquez que quand vous passez sous DDB avec une combinaison de
+ touches, le noyau traite en fait une interruption, le contenu de la pile
+ d'ex&eacute;cution ne vous sera alors peut-&ecirc;tre pas tr&egrave;s
+ utile.</para>
+ </note>
+
+ <para>Si vous voulez supprimer un point d'arr&ecirc;t, servez-vous
+ de&nbsp;:</para>
+
+ <screen><userinput>del</userinput>
+<userinput>del expression-d&eacute;finissant-l'adresse</userinput></screen>
+
+ <para>Le premier exemple sert imm&eacute;diatement apr&egrave;s &ecirc;tre
+ arriv&eacute; &agrave; un point d'arr&ecirc;t et supprime ce point
+ d'arr&ecirc;t. Le second exemple permet de supprimer n'importe quel point
+ d'arr&ecirc;t, mais il faut donner son adresse exacte; on peut l'obtenir
+ avec&nbsp;:</para>
+
+ <screen><userinput>show b</userinput></screen>
+
+ <para>Pour ex&eacute;cuter pas-&agrave;-pas le noyau, essayez&nbsp;:</para>
+
+ <screen><userinput>s</userinput></screen>
+
+ <para>Vous ex&eacute;cuterez ainsi pas-&agrave;-pas les fonctions, mais vous
+ pouvez aussi faire en sorte que DDB aille jusqu'&agrave; l'instruction de
+ retour d'une fonction avec&nbsp;:</para>
+
+ <screen><userinput>n</userinput></screen>
+
+ <note>
+ <para>Ce n'est pas la m&ecirc;me chose que la commande
+ <command>next</command> de <command>gdb</command>, mais c'est
+ l'&eacute;quivalent de la commande <command>finish</command>.</para>
+ </note>
+
+ <para>Pour consulter le contenu de la m&eacute;moire, employez (par
+ exemple)&nbsp;:</para>
+
+ <screen><userinput>x/wx 0xf0133fe0,40</userinput>
+<userinput>x/hd db_symtab_space</userinput>
+<userinput>x/bc termbuf,10</userinput>
+<userinput>x/s stringbuf</userinput></screen>
+
+ <para>pour acc&eacute;der &agrave; des mots/demi-mots/octets, et pour
+ afficher des cha&icirc;nes de valeurs
+ hexad&eacute;cimales/d&eacute;cimales/caract&egrave;res. La valeur
+ apr&egrave;s la virgule est le nombre d'&eacute;l&eacute;ments. Pour
+ afficher les <literal>0x10</literal> &eacute;l&eacute;ments suivants,
+ tapez simplement&nbsp;:</para>
+
+ <screen><userinput>x ,10</userinput></screen>
+
+ <para>De m&ecirc;me, utilisez&nbsp;:</para>
+
+ <screen><userinput>x/ia foofunc,10</userinput></screen>
+
+ <para>pour d&eacute;sassembler les <literal>0x10</literal> premi&egrave;res
+ instructions de <function>foofunc</function>, et les afficher avec leur
+ d&eacute;placement depuis le d&eacute;but de
+ <function>foofunc</function>.</para>
+
+ <para>Pour modifer le contenu de la m&eacute;moire, utilisez la commande
+ d'&eacute;criture&nbsp;:</para>
+
+ <screen><userinput>w/b termbuf 0xa 0xb 0</userinput>
+<userinput>w/w 0xf0010030 0 0</userinput></screen>
+
+ <para>Le param&egrave;tre de la commande
+ (<literal>b</literal>/<literal>h</literal>/<literal>w</literal>)
+ indique la taille de la valeur &agrave; &eacute;crire, la premi&egrave;re
+ expression qui suit est l'adresse o&ugrave; &eacute;crire et la suite est
+ interpr&eacute;t&eacute;e comme donnant les valeurs &agrave; &eacute;crire
+ en s&eacute;quence en m&eacute;moire.</para>
+
+ <para>Si vous avez besoin de conna&icirc;tre le contenu des registres,
+ servez-vous de&nbsp;:</para>
+
+ <screen><userinput>show reg</userinput></screen>
+
+ <para>Vous pouvez aussi afficher la valeur d'un seul registre avec, par
+ exemple&nbsp;:</para>
+
+ <screen><userinput>p $eax</userinput></screen>
+
+ <para>et la modifier avec&nbsp;:</para>
+
+ <screen><userinput>set $eax nouvelle-valeur</userinput></screen>
+
+ <para>Si vous voulez appeler une fonction du noyau depuis DDB, dites
+ simplement&nbsp;:</para>
+
+ <screen><userinput>call func(arg1, arg2, ...)</userinput></screen>
+
+ <para>La valeur de retour sera affich&eacute;e.</para>
+
+ <para>Pour avoir un r&eacute;sum&eacute; du style &man.ps.1; des processus
+ lanc&eacute;s, utilisez&nbsp;:</para>
+
+ <screen><userinput>ps</userinput></screen>
+
+ <para>Vous avez maintenant examin&eacute; la raison de l'&eacute;chec de
+ votre noyau, et voulez red&eacute;marrer le syst&egrave;me. Rappelez-vous
+ que, selon la gravit&eacute; des dysfonctionnements
+ pr&eacute;c&eacute;dents, toutes les parties du noyau ne fonctionneront
+ peut-&ecirc;tre pas comme pr&eacute;vu. Red&eacute;marrez votre
+ syst&egrave;me, avec l'un des moyens suivants&nbsp;:</para>
+
+ <screen><userinput>call diediedie()</userinput></screen>
+
+ <para>Votre noyau enregistrera une trace de plantage et red&eacute;marrera,
+ vous pourrez donc analyser &agrave; plus haut niveau la trace avec
+ <command>kgdb</command>. Cette commande doit habituellement &ecirc;tre
+ suivie d'une instruction <command>continue</command>. Il y a maintenant
+ un alias pour cela&nbsp;: <command>panic</command>.</para>
+
+ <screen><userinput>call boot(0)</userinput></screen>
+
+ <para>C'est une bonne m&eacute;thode pour arr&ecirc;ter proprement le
+ syst&egrave;me, ex&eacute;cuter <function>sync()</function> sur tous les
+ disques et ensuite red&eacute;marrer. Tant que le disque et les interfaces
+ du syst&egrave;me de fichier du noyau ne sont pas endommag&eacute;s, ce
+ peut &ecirc;tre une bonne fa&ccedil;on d'arr&ecirc;ter presque proprement
+ le syst&egrave;me.</para>
+
+ <screen><userinput>call cpu_reset()</userinput></screen>
+
+ <para>est la m&eacute;thode ultime pour se sortir du d&eacute;sastre et
+ c'est &agrave; peu pr&egrave;s la m&ecirc;me chose que d'appuyer sur le
+ Bouton Rouge.</para>
+
+ <para>Si vous avez besoin d'un bref r&eacute;sum&eacute; des commandes,
+ tapez simplemement&nbsp;:</para>
+
+ <screen><userinput>help</userinput></screen>
+
+ <para>Il est n&eacute;anmoins chaudement recommand&eacute; d'avoir sous la
+ main un exemplaire des pages de manuel de &man.ddb.4; lors d'une session
+ de d&eacute;bogage. Rappelez-vous qu'il peut &ecirc;tre difficile de lire
+ le manuel en ligne tandis que l'on ex&eacute;cute pas-&agrave;-pas le
+ noyau.</para>
+ </sect1>
+
+ <sect1>
+ <title>D&eacute;boguer en ligne le noyau en utilisant GDB &agrave;
+ distance</title>
+
+ <para>Cette fonctionnalit&eacute; est support&eacute;e depuis FreeBSD 2.2,
+ et est de fait tr&egrave;s &eacute;l&eacute;gante.</para>
+
+ <para>GDB supporte d&eacute;j&agrave; depuis longtemps le
+ <emphasis>d&eacute;bogage &agrave; distance</emphasis>. Cela se fait avec
+ un protocole tr&egrave;s simple sur une ligne s&eacute;rie. A l'inverse
+ des autres m&eacute;thode d&eacute;crite plus haut, il vous faudra pour
+ cela deux machines. L'une fournit l'environnement de d&eacute;bogage, y
+ compris la totalit&eacute; des sources, et un exemplaire du binaire du
+ noyau incluant tous les symboles, et l'autre est la machine cible qui
+ ex&eacute;cute un exemplaire identique du noyau (mais sans les
+ informations de d&eacute;bogage).</para>
+
+ <para>Vous devrez configurer le noyau en question avec <command>config
+ -g</command>, inclure <option>DDB</option> &agrave; sa configuration, et
+ le compiler comme d'habitude. Cela donne un binaire assez imposant, du
+ fait des informations de d&eacute;bogage. Copiez ce noyau sur la machine
+ cible, supprimez les informations de d&eacute;bogage avec <command>strip
+ -x</command>, et d&eacute;marrez avec l'option <option>-d</option>.
+ Reliez la premi&egrave;re ligne s&eacute;rie de la machine cible &agrave;
+ n'importe quelle ligne s&eacute;rie de la machine de d&eacute;bogage.
+ Allez maintenant dans le r&eacute;pertoire de compilation du noyau de la
+ machine de d&eacute;bogage, et lancez <command>gdb</command>&nbsp;:</para>
+
+ <screen>&prompt.user; <userinput>gdb -k kernel</userinput>
+GDB is free software and you are welcome to distribute copies of it
+ under certain conditions; type "show copying" to see the conditions.
+There is absolutely no warranty for GDB; type "show warranty" for details.
+GDB 4.16 (i386-unknown-freebsd),
+Copyright 1996 Free Software Foundation, Inc...
+<prompt>(kgdb)</prompt> </screen>
+
+ <para>Initialisez la session de d&eacute;bogage &agrave; distance (en
+ supposant que l'on utilise le premier port s&eacute;rie)
+ avec&nbsp;:</para>
+
+ <screen><prompt>(kgdb)</prompt> <userinput>target remote /dev/cuaa0</userinput></screen>
+
+ <para>Puis, sur la machine cible (celle qui est pass&eacute;e sous DDB avant
+ m&ecirc;me de tester la pr&eacute;sence des p&eacute;riph&eacute;riques),
+ tapez&nbsp;:</para>
+
+ <screen>Debugger("Boot flags requested debugger")
+Stopped at Debugger+0x35: movb $0, edata+0x51bc
+<prompt>db&gt;</prompt> <userinput>gdb</userinput></screen>
+
+ <para>DDB r&eacute;pondra par&nbsp;:</para>
+
+ <screen>Next trap will enter GDB remote protocol mode</screen>
+
+ <para>Chaque que vous taperez <command>gdb</command>, vous passerez de GDB
+ &agrave; distance &agrave; DDB en local et inversement. Pour basculer
+ imm&eacute;diatement, tapez simplement <command>s</command>
+ (<foreignphrase>step</foreignphrase>). Votre GDB h&ocirc;te aura
+ maintenant le contr&ocirc;le du noyau cible&nbsp;:</para>
+
+ <screen>Remote debugging using /dev/cuaa0
+Debugger (msg=0xf01b0383 "Boot flags requested debugger")
+ at ../../i386/i386/db_interface.c:257
+<prompt>(kgdb)</prompt></screen>
+
+ <para>Vous pouvez faire sous cette session &agrave; peu pr&egrave;s les
+ m&ecirc;mes choses qu'avec n'importe quelle autre session GDB, y compris
+ acc&eacute;der int&eacute;gralement au source, l'ex&eacute;cuter en mode
+ <foreignphrase>gud</foreignphrase> dans une fen&ecirc;tre Emacs (ce qui
+ provoque l'affichage automatique du code source dans une autre
+ fen&ecirc;tre Emacs), etc.</para>
+
+ <para>GDB peut aussi &ecirc;tre utilis&eacute; &agrave; distance pour
+ d&eacute;boguer des modules du noyau &agrave; chargement
+ dynamique&nbsp;-&nbsp;<foreignphrase>LKM</foreignphrase>. Compilez d'abord
+ le module avec les symboles de d&eacute;bogage&nbsp;:</para>
+
+ <screen>&prompt.root; <userinput>cd /usr/src/lkm/linux</userinput>
+&prompt.root; <userinput>make clean; make COPTS=-g</userinput></screen>
+
+ <para>Installez ensuite cette version du module sur la machine cible,
+ chargez-le et utilisez <command>modstat</command> pour trouver o&ugrave;
+ il a &eacute;t&eacute; charg&eacute;&nbsp:</para>
+
+ <screen>&prompt.root; <userinput>linux</userinput>
+&prompt.root; <userinput>modstat</userinput>
+Type Id Off Loadaddr Size Info Rev Module Name
+EXEC 0 4 f5109000 001c f510f010 1 linux_mod</screen>
+
+ <para>Prenez l'adresse de chargement et ajoutez-y <literal>0x20</literal>
+ (probablement pour prendre en compte l'en-t&ecirc;te a.out). C'est
+ l'adresse o&ugrave; le code du module a &eacute;t&eacute; relog&eacute;.
+ Utilisez la commande <command>add-symbol-file</command> de GDB pour
+ informer le d&eacute;bogueur de l'existence du module&nbsp;:</para>
+
+ <screen><prompt>(kgdb)</prompt> <userinput>add-symbol-file /usr/src/lkm/linux/linux_mod.o 0xf5109020</userinput>
+add symbol table from file "/usr/src/lkm/linux/linux_mod.o" at
+text_addr = 0xf5109020? (y or n) <userinput>y</userinput>
+<prompt>(kgdb)</prompt></screen>
+
+ <para>Vous avez maintenant acc&egrave;s &agrave; tous les symboles du
+ module.</para>
+ </sect1>
+
+ <sect1>
+ <title>D&eacute;boguer un pilote de console</title>
+
+ <para>Comme vous avez besoin d'un pilote de console pour faire tourner DDB,
+ les choses sont plus compliqu&eacute;es si c'est le pilote de console
+ lui-m&ecirc;me qui a des probl&egrave;mes. Vous pouvez penser &agrave;
+ utiliser une console s&eacute;rie (soit avec des blocs de d&eacute;marrage
+ modifi&eacute;s, soit en utilisant l'option <option>-h</option> &agrave;
+ l'invite <prompt>Boot:</prompt>) et connecter un terminal standard au
+ premier port s&eacute;rie. DDB fonctionne avec n'importe quel pilote de
+ console configur&eacute;, donc bien s&ucirc;r aussi avec une console
+ s&eacute;rie.</para>
+ </sect1>
+</chapter>
+
+<!--
+ Local Variables:
+ mode: sgml
+ sgml-declaration: "../chapter.decl"
+ sgml-indent-data: t
+ sgml-omittag: nil
+ sgml-always-quote-attributes: t
+ sgml-parent-document: ("../handbook.sgml" "part" "chapter")
+ End:
+-->
+
diff --git a/fr_FR.ISO_8859-1/books/handbook/kernelopts/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/kernelopts/chapter.sgml
new file mode 100644
index 0000000000..7837338269
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/kernelopts/chapter.sgml
@@ -0,0 +1,200 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: 1.9
+-->
+
+<chapter id="kernelopts">
+ <title>Ajouter de nouvelles options de configuration du noyau</title>
+
+ <para><emphasis>Contribution de &a.joerg;</emphasis></para>
+ &trans.a.haby;
+
+ <note>
+ <para>Vous devez &ecirc;tre familiaris&eacute; avec le chapitre
+ <link linkend="kernelconfig">Configurer le noyau de FreeBSD</link> avant
+ de lire ce chapitre.</para>
+ </note>
+
+ <sect1>
+ <title>Au fait, qu'est-ce-qu'une <emphasis>option du
+ noyau</emphasis>&nbsp;?</title>
+
+ <para>L'utilisation des options du noyau est principalement d&eacute;crite
+ au chapitre <link linkend="kernelconfig-options">Configurer le noyau de
+ FreeBSD</link>. Il y a aussi des explications &agrave; propos des options
+ &ldquo;historiques&rdquo; et &ldquo;nouveau style&rdquo;. L'objectif final
+ est de remplacer toutes les options support&eacute;es du noyau par des
+ options de nouveau style, de fa&ccedil;on &agrave; ce que pour ceux qui
+ ont correctement ex&eacute;cut&eacute; <command>make depend</command> dans
+ leur r&eacute;pertoire de compilation du noyau apr&egrave;s
+ &man.config.8;, la phase de compilation retrouve automatiquement les
+ options modifi&eacute;es et ne recompile que les fichiers
+ n&eacute;cessaires. Il n'y aura alors plus besoin d'effacer tous les
+ fichiers de l'ancien r&eacute;pertoire de compilation apr&egrave;s
+ chaque &man.config.8;, comme c'est encore le cas.</para>
+
+ <para>Une option du noyau n'est essentiellement rien de plus que la
+ d&eacute;finition d'une macro-instruction du pr&eacute;processeur C pour
+ la compilation du noyau. Pour que la compilation soit vraiment
+ optionnelle, la partie correspondante du source du noyau (ou le fichier
+ <filename>.h</filename> du noyau) doit &ecirc;tre &eacute;crit avec
+ l'option &agrave; l'esprit, i.e., la valeur par d&eacute;faut doit pouvoir
+ &ecirc;tre surcharg&eacute;e par l'option de configuration. C'est
+ habituellement r&eacute;alis&eacute; avec quelque chose
+ comme&nbsp;:</para>
+
+ <programlisting>
+#ifndef CETTE_OPTION
+#define CETTE_OPTION (une valeur par d&eacute;faut)
+#endif /* CETTE_OPTION */
+ </programlisting>
+
+ <para>De la sorte, un administrateur donnant une autre valeur &agrave;
+ l'option dans son fichier de configuration, d&eacute;sactivera la valeur
+ par d&eacute;faut et la remplacera par sa nouvelle valeur. Bien
+ &eacute;videmment, la nouvelle valeur sera substitu&eacute;e dans le code
+ par le pr&eacute;processeur, ce doit donc &ecirc;tre une expression C
+ valide dans le contexte dans lequel &eacute;tait utilis&eacute;e la
+ valeur par d&eacute;faut.</para>
+
+ <para>Il est aussi possible de d&eacute;finir une option sans valeur qui
+ encadre une partie donn&eacute;e du code pour la mettre en service ou
+ non&nbsp;:</para>
+
+ <programlisting>
+#ifdef CETTE_OPTION
+
+[votre code]
+
+#endif
+ </programlisting>
+
+ <para>Simplement indiquer <literal>CETTE_OPTION</literal> dans le fichier de
+ de configuration (avec ou sans valeur) mettra en service le code
+ correspondant.</para>
+
+ <para>Les gens qui ont l'habitude du langage C auront imm&eacute;diatement
+ compris que n'importe quoi peut &ecirc;tre une option de configuration,
+ d&egrave;s lors qu'il y a au moins un <literal>#ifdef</literal> qui y fait
+ r&eacute;f&eacute;rence... Il y a cependant peu de chance que beaucoup
+ utilisent&nbsp;:</para>
+
+ <programlisting>
+options notyet,notdef</programlisting>
+
+ <para>dans leur fichier de configuration, et se demandent ensuite pourquoi
+ la compilation du noyau &eacute;choue. <!-- smiley -->:-)</para>
+
+ <para>A l'&eacute;vidence, donner n'importe quel nom aux options rend
+ tr&egrave;s difficile de retrouver o&ugrave; elles sont utilis&eacute;es
+ dans l'arborescence des sources du noyau. C'est la raison d'&ecirc;tre de
+ l'organisation des options de <emphasis>nouveau style</emphasis>,
+ dans laquelle chaque option est d&eacute;finie dans un
+ <filename>.h</filename> distinct du r&eacute;pertoire de compilation du
+ noyau, appel&eacute; par convention
+ <filename>opt_<replaceable>foo</replaceable>.h</filename>. De cette
+ fa&ccedil;on, les d&eacute;pendances habituelles dans le
+ <filename>Makefile</filename> s'appliquent, et <command>make</command>
+ peut savoir ce qu'il faut recompiler quand une option a &eacute;t&eacute;
+ modifi&eacute;e.</para>
+
+ <para>Le m&eacute;canisme d'option de style ancien a un avantage dans le cas
+ des options locales ou &eacute;ventuellement exp&eacute;rimentales dont
+ la dur&eacute;e de vie pr&eacute;vue est courte&nbsp;: comme il est
+ simple d'ajouter un <literal>#ifdef</literal> au source du noyau, cela
+ en fait d'office une option de configuration du noyau. Dans ce cas,
+ l'administrateur qui utilise une telle option doit lui-m&ecirc;me
+ savoir ce que cela implique (et &eacute;ventuellement forcer la
+ recompilation de parties de son noyau). Une fois que toutes les options
+ support&eacute;es auront &eacute;t&eacute; converties, &man.config.8;
+ &eacute;mettra un message d'avertissement toutes les fois qu'une option
+ non support&eacute;e sera d&eacute;tect&eacute;e, mais il l'incluera
+ malgr&eacute; tout dans le <filename>Makefile</filename> du
+ noyau.</para>
+ </sect1>
+
+ <sect1>
+ <title>Que faut-il donc faire maintenant&nbsp;?</title>
+
+ <para>Editez d'abord <filename>sys/conf/options</filename> (ou
+ <filename>sys/i386/conf/options.<replaceable>&lt;arch&gt;</replaceable></filename>,
+ e. g., <filename>sys/i386/conf/options.i386</filename>), et
+ s&eacute;lectionnez le fichier
+ <filename>opt_<replaceable>foo</replaceable>.h</filename> o&ugrave; votre
+ option ira le mieux.</para>
+
+ <para>S'il y a d&eacute;j&agrave; quelque chose qui se rapproche de
+ l'objectif de la nouvelle option, utilisez-le. Par exemple, les options
+ qui modifient le comportement g&eacute;n&eacute;ral du sous-syst&egrave;me
+ SCSI vont dans <filename>opt_scsi.h</filename>. Par d&eacute;faut, le fait
+ d'indiquer une option dans le fichier d'option appropri&eacute;, disons
+ <literal>FOO</literal>, implique que sa valeur sera d&eacute;finie dans le
+ fichier <filename>opt_foo.h</filename>. Ce peut &ecirc;tre
+ surcharg&eacute; dans la partie droite de la r&egrave;gle en indiquant un
+ autre nom de fichier.</para>
+
+ <para>S'il n'y a pas encore de fichier
+ <filename>opt_<replaceable>foo</replaceable>.h</filename> pour la nouvelle
+ option envisag&eacute;e, inventez un nouveau nom. Faites en sorte qu'il
+ soit significatif, et ajoutez des commentaires &agrave; la nouvelle
+ section du fichier
+ <filename>options[<replaceable>.&lt;arch&gt;</replaceable>]</filename>.
+ &man.config.8; s'apercevra automagiquement de la modification et
+ cr&eacute;era ce fichier la prochaine fois qu'il sera utilis&eacute;. La
+ plupart des options vont normalement dans un fichier d'en-t&ecirc;te qui
+ leur est propre.</para>
+
+ <para>Incorporer trop d'options &agrave; un m&ecirc;me
+ <filename>opt_<replaceable>foo</replaceable>.h</filename> entra&icirc;nera
+ la recompilation de nombreux fichiers du noyau d&egrave;s qu'une des
+ options du fichier de configuration aura &eacute;t&eacute;
+ modifi&eacute;e.</para>
+
+ <para>Pour finir, d&eacute;terminez quels fichiers du noyau d&eacute;pendent
+ de la nouvelle option. A moins que vous veniez de l'inventer, et qu'elle
+ n'existe encore nulle part&nbsp;:</para>
+ <screen>&prompt.user; <userinput>find /usr/src/sys -name type f | xargs fgrep NEW_OPTION</userinput></screen>
+ <para>vous aidera &agrave; les trouver. Editez ces fichiers et
+ ajoutez-y&nbsp;:</para>
+ <programlisting>
+#include "opt_foo.h"
+ </programlisting>
+ <para><emphasis>au d&eacute;but</emphasis>, avant tout autre
+ <literal>#include &lt;xxx.h&gt;</literal>. Cet ordre est tr&egrave;s
+ important, parce que les options peuvent surcharger les valeurs par
+ d&eacute;faut des fichiers inclus habituels, si les valeurs par
+ d&eacute;faut sont donn&eacute;es sous forme&nbsp;:</para>
+ <programlisting>
+#ifndef NOUVELLE_OPTION
+#define NOUVELLE_OPTION (quelque chose)
+#endif
+ </programlisting>
+ <para>dans l'en-t&ecirc;te habituelle.</para>
+
+ <para>Ajouter une option qui red&eacute;finisse quelque chose dans un
+ fichier d'en-t&ecirc;te du syst&egrave;me (i.e., un fichier dans
+ <filename>/usr/include/sys/</filename>) est presque toujours une erreur.
+ <filename>opt_<replaceable>foo</replaceable>.h</filename> ne peut pas
+ &ecirc;tre inclus dans ces fichiers parce que cela d&eacute;graderait plus
+ s&eacute;rieusement les en-t&ecirc;tes, et s'il n'est pas inclus, il peut
+ alors y avoir des valeurs inconsistantes pour l'option l&agrave;
+ o&ugrave; il est inclus. Oui, il y a d&eacute;j&agrave; des
+ pr&eacute;c&eacute;dents, mais cela ne rend pas l'op&eacute;ration plus
+ correcte.</para>
+ </sect1>
+</chapter>
+
+<!--
+ Local Variables:
+ mode: sgml
+ sgml-declaration: "../chapter.decl"
+ sgml-indent-data: t
+ sgml-omittag: nil
+ sgml-always-quote-attributes: t
+ sgml-parent-document: ("../handbook.sgml" "part" "chapter")
+ End:
+-->
+
diff --git a/fr_FR.ISO_8859-1/books/handbook/l10n/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/l10n/chapter.sgml
new file mode 100644
index 0000000000..f7e8c9fae2
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/l10n/chapter.sgml
@@ -0,0 +1,376 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: 1.9
+-->
+
+<chapter id="l10n">
+ <title>Localisation</title>
+ &trans.a.haby;
+
+ <sect1 id="russian">
+ <title>Russe (codage KOI8-R)</title>
+
+ <para><emphasis>Contribution de &a.ache; 1 Mai
+ 1997</emphasis>.</para>
+
+ <para>Vous trouverez plus d'informations sur la codification KOI8-R dans les
+ <ulink URL="http://www.nagual.pp.ru/~ache/koi8.html">R&eacute;f&eacute;rences
+ KOI8-R (Jeu de caract&egrave;res russes pour Internet)</ulink>.</para>
+
+ <sect2 id="russian-console">
+ <title>Configuration de la console</title>
+
+ <procedure>
+ <step>
+ <para>Ajoutez la ligne suivante &agrave; votre fichier de
+ configuration du noyau&nbsp;:</para>
+
+ <programlisting>
+options "SC_MOUSE_CHAR=0x03"</programlisting>
+
+ <para>pour d&eacute;placer les codes utilis&eacute;s pour le curseur
+ de la souris hors de la plage des caract&egrave;res
+ pseudographiques KOI8-R.</para>
+ </step>
+
+ <step>
+ <para>L'entr&eacute;e pour la console russe de
+ <filename>/etc/rc.conf</filename> doit ressembler
+ &agrave;&nbsp;:</para>
+
+ <programlisting>
+keymap=ru.koi8-r
+keychange="61 ^[[K"
+scrnmap=koi8-r2cp866
+font8x16=cp866b-8x16
+font8x14=cp866-8x14
+font8x8=cp866-8x8</programlisting>
+
+ <note>
+ <para><literal>^[</literal> signifie qu'il faut mettre le
+ caract&egrave;re <keycap>ESC</keycap> dans
+ <filename>/etc/rc.conf</filename>, et non la cha&icirc;ne de
+ caract&egrave;res <literal>^[</literal>.</para>
+ </note>
+
+ <para>Cela correspond au clavier KOI8-R avec la police de
+ caract&egrave;res alternative correspondant &agrave; la codification
+ KOI8-R pour conserver les caract&egrave;res pseudographiques et
+ &agrave; la touche <keycap>Gray Delete</keycap>
+ reconfigur&eacute;e pour correspondre &agrave; l'entr&eacute;e pour
+ le russe de &man.termcap.5; pour la console FreeBSD.</para>
+
+ <para>Le passage de russe &agrave; latin se fera avec
+ <keycap>CapsLock</keycap>. L'ancienne fonctionnalit&eacute;e de
+ <keycap>CapsLock</keycap> est toujours disponible avec
+ <keycombo><keycap>Shift</keycap><keycap>CapsLock</keycap></keycombo>.
+ La diode <keycap>CapsLock</keycap> indiquera que le mode russe est
+ actif, et non le mode majuscules.</para>
+ </step>
+
+ <step>
+ <para>Pour chaque entr&eacute;e <literal>ttyv?</literal> de
+ <filename>/etc/ttys</filename>, modifiez le type de terminal de
+ <literal>cons25</literal> en <literal>cons25r</literal>, i.e.,
+ chaque entr&eacute;e ressemblera &agrave;&nbsp;:</para>
+
+ <programlisting>
+ttyv0 "/usr/libexec/getty Pc" cons25r on secure</programlisting>
+ </step>
+ </procedure>
+ </sect2>
+
+ <sect2 id="russian-locale">
+ <title>Configuration pour
+ &ldquo;<foreignphrase>locale</foreignphrase>&rdquo;</title>
+
+ <para><anchor id="russian-env">Il y a deux variables d'environnement pour
+ la configuration de
+ &ldquo;<foreignphrase>locale</foreignphrase>&rdquo;&nbsp;:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><envar>LANG</envar> pour la famille de fonctions POSIX
+ &man.setlocale.3;,</para>
+ </listitem>
+
+ <listitem>
+ <para><envar>MM_CHARSET</envar> pour le jeu de caract&egrave;res des
+ applications MIME.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>La meilleure fa&ccedil;on de proc&eacute;der est d'utiliser la
+ classe de session utilisateur <literal>russian</literal> de
+ &man.passwd.5; dans <filename>/etc/login.conf</filename>. Reportez-vous
+ aux pages de manuel de &man.login.conf.5; pour plus de
+ pr&eacute;cisions.</para>
+
+ <sect3 id="russian-class">
+ <title>M&eacute;thode utilisant la classe de session utilisateur</title>
+
+ <para>V&eacute;rifiez tout d'abord qu'il y a bien une classe de session
+ <literal>russian</literal> dans votre
+ <filename>/etc/login.conf</filename>, cette entr&eacute;e ressemble
+ probablement &agrave;&nbsp;:</para>
+
+ <programlisting>
+russian:Russian Users Accounts:\
+ :charset=KOI8-R:\
+ :lang=ru_RU.KOI8-R:\
+ :tc=default:</programlisting>
+
+ <sect4>
+ <title>Comment faire avec &man.vipw.8;</title>
+
+ <para>Si vous utilisez &man.vipw.8; pour ajouter de nouveaux comptes,
+ les entr&eacute;es de <filename>/etc/master.passwd</filename>
+ doivent ressembler &agrave;&nbsp;:</para>
+
+ <programlisting>
+utilisateur:mot_de_passe:1111:11:russian:0:0:Nom d'utilisateur:
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/home/utilisateur:/bin/csh</programlisting>
+ </sect4>
+
+ <sect4>
+ <title>Comment faire avec &man.adduser.8;</title>
+
+ <para>Si vous utilisez &man.adduser.8; pour ajouter de nouveaux
+ comptes&nbsp;:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Positionnez&nbsp;:</para>
+
+ <programlisting>
+defaultclass = russian</programlisting>
+
+ <para>dans <filename>/etc/adduser.conf</filename> (vous devez
+ dans ce cas indiquer la classe <literal>default</literal> pour
+ tous les comptes autres que russes),</para>
+ </listitem>
+
+ <listitem>
+ <para>Une autre fa&ccedil;on de faire est de r&eacute;pondre
+ <literal>russian</literal> chaque fois que vous
+ voyez l'invite&nbsp;:</para>
+
+ <screen><prompt>Enter login class:</prompt> default []:</screen>
+ <para>de &man.adduser.8;,</para>
+ </listitem>
+
+ <listitem>
+ <para>Autre variante&nbsp;: utilisez&nbsp;:</para>
+
+ <screen>&prompt.root; <userinput>adduser -class russian</userinput></screen>
+
+ <para>chaque fois que vous voulez ajouter un compte utilisateur
+ russe.</para>
+ </listitem>
+ </itemizedlist>
+ </sect4>
+
+ <sect4>
+ <title>Comment faire avec &man.pw.8;</title>
+
+ <para>Si vous utilisez &man.pw.8; pour ajouter de nouveaux comptes,
+ appelez-le comme suit&nbsp;:</para>
+
+ <screen>&prompt.root; <userinput>pw useradd nom_d_utilisateur -L russian</userinput></screen>
+ </sect4>
+ </sect3>
+
+ <sect3>
+ <title>M&eacute;thode utilisant les fichiers d'initialisation de
+ l'interpr&eacute;teur de commandes</title>
+
+ <para>Si vous ne voulez pas utiliser <link linkend="russian-class">la
+ m&eacute;thode par la classe de session</link> pour une raison ou une
+ autre, positionnez simplement ces <link linkend="russian-env">deux
+ variables d'environnement</link> dans les fichiers de d&eacute;marrage
+ de l'interpr&eacute;teur de commandes suivants&nbsp;:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><filename>/etc/profile</filename>&nbsp;:</para>
+
+ <programlisting>
+LANG=ru_RU.KOI8-R; export LANG
+MM_CHARSET=KOI8-R; export MM_CHARSET</programlisting>
+ </listitem>
+
+ <listitem>
+ <para><filename>/etc/csh.login</filename>&nbsp;:</para>
+
+ <programlisting>
+setenv LANG ru_RU.KOI8-R
+setenv MM_CHARSET KOI8-R</programlisting>
+ </listitem>
+ </itemizedlist>
+
+ <para>Vous pouvez aussi ajouter ces instructions &agrave;&nbsp;:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><filename>/usr/share/skel/dot.profile</filename>&nbsp;:</para>
+
+ <para>(comme pour <filename>/etc/profile</filename>
+ ci-dessus);</para>
+ </listitem>
+
+ <listitem>
+ <para><filename>/usr/share/skel/dot.login</filename>&nbsp;:</para>
+
+ <para>(comme pour <filename>/etc/csh.login</filename>
+ ci-dessus).</para>
+ </listitem>
+ </itemizedlist>
+ </sect3>
+ </sect2>
+
+ <sect2 id="russian-printer">
+ <title>Configuration de l'imprimante</title>
+
+ <para>Comme la plupart des imprimantes qui ont un jeu de caract&egrave;res
+ russes ont un &ldquo;code page&rdquo; mat&eacute;riel CP866, il faut un
+ filtre de sortie sp&eacute;cial pour la conversion KOI8-R -&gt; CP866.
+ Ce type de filtre s'installe par d&eacute;faut dans
+ <filename>/usr/libexec/lpr/ru/koi2alt</filename>. L'entr&eacute;e de
+ <filename>/etc/printcap</filename> pour l'imprimante russe devra donc
+ ressembler &agrave;&nbsp;:</para>
+
+ <programlisting>
+lp|Imprimante ligne russe locale:\
+ :sh:of=/usr/libexec/lpr/ru/koi2alt:\
+ :lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:</programlisting>
+
+ <para>Reportez-vous aux pages de manuel de &man.printcap.5; pour plus de
+ d&eacute;tails.</para>
+ </sect2>
+
+ <sect2 id="russian-msdosfs">
+ <title>Syst&egrave;me de fichiers MSDOS et noms de fichiers russes</title>
+
+ <para>Suivez l'exemple d'entr&eacute;e dans &man.fstab.5; ci-dessous pour
+ autoriser les noms de fichiers en russe avec le syst&egrave;me de
+ fichiers MSDOS&nbsp;:</para>
+
+ <programlisting>
+/dev/sd0s1 /dos/c msdos rw,-W=koi2dos,-L=ru_RU.KOI8-R 0 0</programlisting>
+
+ <para>Reportez-vous aux pages de manuel de &man.mount.msdos.8; pour avoir
+ une description d&eacute;taill&eacute;e des options <option>-W</option>
+ et <option>-L</option>.</para>
+ </sect2>
+
+ <sect2 id="russian-xwindow">
+ <title>Configuration de X Window</title>
+
+ <para>Instructions pas-&agrave;-pas:</para>
+
+ <procedure>
+ <step>
+ <para>Configurez d'abord
+ <link linkend="russian-locale">&ldquo;<foreignphrase>locale</foreignphrase>&rdquo;</link>
+ ind&eacute;pendamment de X, comme expliqu&eacute; plus haut.</para>
+
+ <note>
+ <para><anchor id="russian-note">La configuration KOI8-R russe pour
+ &ldquo;<foreignphrase>locale</foreignphrase>&rdquo; peut ne pas
+ marcher avec d'anciennes versions de XFree86 (ant&eacute;rieures
+ &agrave; la 3.3). La version de XFree86 de
+ <filename>/usr/ports/x11/XFree86</filename> est d'hors et
+ d&eacute;j&agrave; la plus r&eacute;cente, cela fonctionnera donc,
+ si vous avez install&eacute; cette version de XFree86. La version
+ de XFree86 fournie avec la derni&egrave;re version de FreeBSD
+ devrait aussi marcher (V&eacute;rifiez que le num&eacute;ro de
+ version de XFree86 est au moins 3.3).</para>
+ </note>
+ </step>
+
+ <step>
+ <para>Allez dans le r&eacute;pertoire
+ <filename>/usr/ports/russian/X.language</filename> et
+ tapez-y&nbsp;:</para>
+
+ <screen>&prompt.root; <userinput>make all install</userinput></screen>
+ <para>Cela installe la derni&egrave;re version des polices de
+ caract&egrave;res KOI8-R. Il y a d&eacute;j&agrave; des polices
+ KOI8-R fournies avec XFree86 3.3, mais les pr&eacute;c&eacute;dentes
+ se redimensionnent mieux.</para>
+
+ <para>Consultez la section <literal>"Files"</literal> de votre
+ <filename>/etc/XF86Config</filename>, les lignes suivantes doivent
+ pr&eacute;c&eacute;der toutes autres entr&eacute;es
+ <literal>FontPath</literal>&nbsp;:</para>
+
+ <programlisting>
+FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/misc"
+FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi"
+FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"</programlisting>
+
+ <para>Si vous utilisez un mode vid&eacute;o haute r&eacute;solution,
+ intervertissez les lignes 75 dpi et 100 dpi.</para>
+ </step>
+
+ <step>
+ <para>Pour mettre en service le clavier russe, ajoutez la
+ ligne&nbsp;:</para>
+
+ <programlisting>
+XkbKeymap "xfree86(ru)"
+ </programlisting>
+
+ <para>&agrave; la section <literal>"Keyboard"</literal> de
+ <filename>/etc/XF86Config</filename>, et v&eacute;rifiez que
+ <literal>XkbDisable</literal> y est d&eacute;sactiv&eacute;
+ (mis en commentaires).</para>
+
+ <para>Le passage de russe &agrave; latin se fera avec
+ <keycap>CapsLock</keycap>. L'ancienne fonctionnalit&eacute;e de
+ CapsLock est toujours disponible avec
+ <keycombo><keycap>Shift</keycap><keycap>CapsLock</keycap></keycombo>
+ (en mode latin uniquement).</para>
+
+ <note>
+ <para>Le clavier russe XKB peut ne pas fonctionner avec d'anciennes
+ versions de XFree86, voyez la <link linkend="russian-note">note
+ &agrave; propos de
+ &ldquo;<foreignphrase>locale</foreignphrase>&rdquo;</link> pour
+ plus d'informations. Le clavier russe XKB peut aussi ne pas
+ fonctionner avec des applications non localis&eacute;es, pour
+ &ecirc;tre un minimum localis&eacute;e, une application doit
+ appeler la fonction
+ <literal>XtSetLanguageProc (NULL, NULL, NULL);</literal> assez en
+ amont dans le code.</para>
+ </note>
+ </step>
+ </procedure>
+ </sect2>
+ </sect1>
+
+ <sect1 id="german">
+ <title>Allemand (ISO 8859-1)</title>
+
+ <para>Slaven Rezic <email>eserte@cs.tu-berlin.de</email> a
+ r&eacute;dig&eacute; un guide sur l'utilisation des
+ <foreignphrase>umlaut</foreignphrase>s sur une machine FreeBSD. Ce guide
+ est &eacute;crit en allemand et disponible sur
+ <ulink URL="http://www.de.freebsd.org/de/umlaute/">http://www.de.freebsd.org/de/umlaute/</ulink>.</para>
+ </sect1>
+</chapter>
+
+<!--
+ Local Variables:
+ mode: sgml
+ sgml-declaration: "../chapter.decl"
+ sgml-indent-data: t
+ sgml-omittag: nil
+ sgml-always-quote-attributes: t
+ sgml-parent-document: ("../handbook.sgml" "part" "chapter")
+ End:
+-->
+
diff --git a/fr_FR.ISO_8859-1/books/handbook/linuxemu/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/linuxemu/chapter.sgml
new file mode 100644
index 0000000000..45a5234038
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/linuxemu/chapter.sgml
@@ -0,0 +1,973 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: 1.11
+-->
+
+<chapter id="linuxemu">
+ <title>Emulation Linux</title>
+
+ <para><emphasis>Contribution de &a.handy; et &a.rich;</emphasis></para>
+ &trans.a.haby;
+
+ <sect1>
+ <title>Comment installer l'&eacute;mulateur Linux</title>
+
+ <para>L'&eacute;mulation de Linux sous FreeBSD a atteint un point o&ugrave;
+ il est possible d'ex&eacute;cuter une grande partie des binaires Linux
+ et au format a.out et au format ELF. L'&eacute;mulation Linux de la
+ branche 2.1-stable peut ex&eacute;cuter les versions Linux de Doom et
+ Mathematica; la version de l'&eacute;mulateur sous &rel.current;-release
+ a encore plus de possibilit&eacute;s et ex&eacute;cute en plus de ces
+ programmes, les versions Linux de Quake, Abuse, IDL, netrek et bien
+ d'autres programmes.</para>
+
+ <para>Il y a quelques particularit&eacute;s du syst&egrave;me d'exploitation
+ Linux qui ne sont pas support&eacute;es sous FreeBSD. Les binaires Linux
+ ne fonctionneront pas sous FreeBSD s'ils utilisent le syst&egrave;me de
+ fichiers <filename>/proc</filename> de Linux (qui diff&egrave;re du
+ syst&egrave;me de fichiers <filename>/proc</filename> optionnel de
+ FreeBSD) ou des appels i386 sp&eacute;cifiques, comme l'activation du
+ mode virtuel 8086.</para>
+
+ <para>Selon la version de FreeBSD que vous utilisez, la mise en oeuvre de
+ l'&eacute;mulation Linux se fait de fa&ccedil;on l&eacute;g&egrave;rement
+ diff&eacute;rente&nbsp;:</para>
+
+ <sect2>
+ <title>Installer l'&eacute;mulation Linux sous 2.1-stable</title>
+
+ <para>Le noyau <filename>GENERIC</filename> de 2.1-stable n'est pas
+ configur&eacute; pour &ecirc;tre compatible Linux, vous devez donc le
+ reconfigurer pour cela. Il y a deux fa&ccedil;ons de faire&nbsp;:</para>
+
+ <orderedlist>
+ <listitem>
+ <para>Lier statiquement l'&eacute;mulateur Linux au noyau
+ lui-m&ecirc;me,</para>
+ </listitem>
+ <listitem>
+ <para>Configurer le noyau pour qu'il charge dynamiquement le module
+ Linux.</para>
+ </listitem>
+ </orderedlist>
+
+ <para>Pour mettre en oeuvre l'&eacute;mulateur, ajoutez la ligne suivante
+ &agrave; votre fichier de configuration du noyau (c.f.
+ <filename>/sys/i386/conf/LINT</filename>)&nbsp;:</para>
+
+ <programlisting>
+options COMPAT_LINUX
+ </programlisting>
+
+ <para>Si vous voulez utiliser Doom ou d'autres applications qui utilisent
+ les m&eacute;moires partag&eacute;es, ajoutez aussi&nbsp;:</para>
+
+ <programlisting>
+options SYSVSHM
+ </programlisting>
+
+ <para>Les appels syst&egrave;me Linux ont besoin de la
+ compatibilit&eacute; 4.3BSD. V&eacute;rifiez que vous avez bien la
+ ligne&nbsp;:</para>
+
+ <programlisting>
+options "COMPAT_43"
+ </programlisting>
+
+ <para>Si vous pr&eacute;f&eacute;rez lier statiquement l'&eacute;mulateur
+ au noyau plut&ocirc;t qu'utiliser le module du noyau &agrave;
+ chargement dynamique&nbsp;-&nbsp;<foreignphrase>loadable kernel module
+ (LKM)</foreignphrase>, ajoutez aussi&nbsp;:</para>
+
+ <programlisting>
+options LINUX
+ </programlisting>
+
+ <para>Configurez et installez ensuite le nouveau noyau comme d&eacute;crit
+ au chapitre <link linkend="kernelconfig">Configurer le noyau de
+ FreeBSD</link>.</para>
+
+ <para>Si vous avez choisi d'utiliser le LKM, vous devez aussi installer
+ le module. Une incompatibilit&eacute; de version entre le noyau et le module
+ &agrave; chargement dynamique peut planter le noyau. La fa&ccedil;on la
+ plus s&ucirc;re de proc&eacute;der est donc de r&eacute;installer le
+ LKM en m&ecirc;me temps que le noyau&nbsp;:</para>
+
+ <screen>&prompt.root; <userinput>cd /usr/src/lkm/linux</userinput>
+&prompt.root; <userinput>make all install</userinput></screen>
+
+ <para>Une fois que vous avez install&eacute; le noyau et le LKM, vous
+ pouvez utiliser <command>linux</command> sous le compte
+ super-utilisateur <username>root</username> pour charger le
+ LKM&nbsp;:</para>
+
+ <screen>&prompt.root; <userinput>linux</userinput>
+Linux emulator installed
+Module loaded as ID 0</screen>
+
+ <para>Pour v&eacute;rifier que le LKM est charg&eacute;, utilisez
+ <command>modstat</command>&nbsp;:</para>
+
+ <screen>&prompt.user; modstat
+Type Id Off Loadaddr Size Info Rev
+Module Name EXEC 0 3 f0baf000 0018 f0bb4000 1 linux_emulator</screen>
+
+ <para>Il y a deux fa&ccedil;ons de charger le LKM au d&eacute;marrage.
+ Sous FreeBSD 2.2.1-release et 2.1-stable, activez-le dans
+ <filename>/etc/sysconfig</filename>&nbsp;:</para>
+
+ <programlisting>
+linux=YES
+ </programlisting>
+
+ <para>en rempla&ccedil;ant <literal>NO</literal> par
+ <literal>YES</literal>. Sous FreeBSD 2.1-release et ant&eacute;rieurs,
+ cette ligne n'existe pas. Vous devez donc &eacute;diter
+ <filename>/etc/rc.local</filename> et y ajouter la ligne&nbsp;:</para>
+
+ <programlisting>
+linux
+ </programlisting>
+ </sect2>
+
+ <sect2>
+ <title>Installer l'&eacute;mulation Linux sous 2.2.2-release et
+ ult&eacute;rieurs</title>
+
+ <para>Il n'y a plus besoin de pr&eacute;ciser <literal>options
+ LINUX</literal> ou <literal>options COMPAT_LINUX</literal>.
+ L'&eacute;mulation Linux est r&eacute;alis&eacute;e par un module du
+ noyau &agrave; chargement dynamique&nbsp;-&nbsp;LKM
+ (&ldquo;<foreignphrase>Loadable Kernel
+ Module</foreignphrase>&rdquo;)&nbsp;-&nbsp;et peut donc &ecirc;tre
+ install&eacute;e &agrave; la vol&eacute;e sans avoir &agrave;
+ red&eacute;marrer le syst&egrave;me. Vos fichiers de d&eacute;marrage
+ devront n&eacute;anmoins comporter les instructions
+ suivantes&nbsp;:</para>
+
+ <orderedlist>
+ <listitem>
+ <para>Dans <filename>/etc/rc.conf</filename>, la ligne
+ suivante&nbsp;:</para>
+
+ <programlisting>
+linux_enable=YES
+ </programlisting>
+ </listitem>
+
+ <listitem>
+ <para>Ce qui ensuite active les commandes ci-dessous dans
+ <filename>/etc/rc.i386</filename>&nbsp;:</para>
+
+ <programlisting>
+# Start the Linux binary emulation if requested.
+if [ "X${linux_enable}" = X"YES" ]; then echo -n '
+ linux'; linux &gt; /dev/null 2&gt;&amp;1
+fi
+ </programlisting>
+ </listitem>
+ </orderedlist>
+
+ <para>Si vous voulez v&eacute;rifier que l'&eacute;mulation est active,
+ utilisez <command>modstat</command>&nbsp;:</para>
+
+ <screen>&prompt.user; modstat
+Type Id Off Loadaddr Size Info Rev Module Name
+EXEC 0 4 f09e6000 001c f09ec010 1 linux_mod</screen>
+
+ <para>On a cependant signal&eacute; des cas o&ugrave; cela ne marchait pas
+ avec certains syst&egrave;mes 2.2-release et ult&eacute;rieurs. Si pour
+ une raison ou une autre vous ne pouvez pas charger le LKM Linux, liez
+ alors statiquement l'&eacute;mulateur au noyau en ajoutant la
+ ligne&nbsp;:</para>
+
+ <programlisting>
+options LINUX
+ </programlisting>
+
+ <para>&agrave; votre fichier de configuration du noyau. Configurez et
+ installez ensuite le nouveau noyau comme d&eacute;crit au chapitre
+ <link linkend="kernelconfig">Configurer le noyau de
+ FreeBSD</link>.</para>
+ </sect2>
+
+ <sect2>
+ <title>Installer les biblioth&egrave;ques Linux</title>
+
+ <sect3>
+ <title>Installation &agrave; l'aide du &ldquo;logiciel
+ port&eacute;&rdquo; <filename>linux_lib</filename></title>
+
+ <para>La plupart des applications Linux utilisent des
+ biblioth&egrave;ques partag&eacute;es, vous n'avez donc pas tout ce
+ qu'il vous faut tant que vous n'avez pas install&eacute; les
+ biblioth&egrave;ques partag&eacute;es. Vous pouvez le faire &agrave;
+ la main, mais il est beaucoup plus facile d'installer le logiciel
+ port&eacute; <filename>linux_lib</filename>&nbsp;:</para>
+
+ <screen>&prompt.root; <userinput>cd /usr/ports/emulators/linux_lib</userinput>
+&prompt.root; <userinput>make all install</userinput></screen>
+
+ <para>et votre &eacute;mulation Linux devrait fonctionner. La
+ l&eacute;gende et les archives du courrier &eacute;lectronique
+ <!-- smiley -->:-) veulent que l'&eacute;mulation Linux fonctionne
+ mieux avec des binaires Linux li&eacute;s avec les
+ biblioth&egrave;ques ZMAGIC; Les biblioth&egrave;ques QMAGIC (telles
+ celles utilis&eacute;es par la distribution Slackware V2.0) peuvent
+ avoir tendance &agrave; donner des maux d'estomac au
+ &ldquo;Linuxlateur&rdquo;. Attendez-vous aussi &agrave; ce que
+ certains programmes se plaignent de versions mineures incorrectes de
+ biblioth&egrave;ques syst&egrave;me. Ce n'est cependant
+ g&eacute;n&eacute;ralement pas un probl&egrave;me.</para>
+ </sect3>
+
+ <sect3>
+ <title>Installer les biblioth&egrave;ques &agrave; la main</title>
+
+ <para>Si vous n'avez pas install&eacute; la distribution pour les
+ &ldquo;logiciels port&eacute;s&rdquo;, vous pouvez &agrave; la place
+ installer les biblioth&egrave;ques &agrave; la main. Il vous faudra
+ les biblioth&egrave;ques partag&eacute;es Linux dont a besoin le
+ programme et l'&eacute;diteur de liens dynamiques. Vous devrez aussi
+ cr&eacute;er un r&eacute;pertoire racine
+ &ldquo;masquant&rdquo;&nbsp;-&nbsp;<foreignphrase>shadow
+ root</foreignphrase>&nbsp;-&nbsp;<filename>/compat/linux</filename>
+ pour les biblioth&egrave;ques Linux sur votre syst&egrave;me FreeBSD.
+ Les biblioth&egrave;ques partag&eacute;es ouvertes par les programmes
+ Linux ex&eacute;cut&eacute;s sous FreeBSD iront d'abord voir dans
+ cette arborescence. Ainsi, si un programme Linux charge par exemple,
+ <filename>/lib/libc.so</filename>, FreeBSD essayera d'abord d'ouvrir
+ <filename>/compat/linux/lib/libc.so</filename>, puis, si cette
+ biblioth&egrave;que n'existe pas, <filename>/lib/libc.so</filename>.
+ Les biblioth&egrave;ques partag&eacute;es doivent donc &ecirc;tre
+ install&eacute;es sous l'arborescence
+ <filename>/compat/linux/lib</filename> plut&ocirc;t que sous les
+ chemins d'acc&egrave;s mentionn&eacute;s par la commande Linux
+ <command>ld.so</command>.</para>
+
+ <para>Le fonctionnement de FreeBSD-2.2-release et ult&eacute;rieurs est
+ l&eacute;g&egrave;rement diff&eacute;rent en ce qui concerne
+ <filename>/compat/linux</filename>&nbsp;: tous les fichiers, et pas
+ seulement les biblioth&egrave;ques, sont recherch&eacute;s dans
+ l'arborescence &ldquo;<foreignphrase>shadow
+ root</foreignphrase>&rdquo; <filename>/compat/linux</filename>.</para>
+
+ <para>Habituellement, vous n'aurez &agrave; chercher &agrave; savoir
+ de quelles biblioth&egrave;ques partag&eacute;es d&eacute;pendent les
+ binaires Linux que les premi&egrave;res fois que vous installerez des
+ ex&eacute;cutables Linux sur votre syst&egrave;me FreeBSD.
+ Apr&egrave;s quelques temps, vous disposerez d'un jeu suffisant de
+ biblioth&egrave;ques partag&eacute;es Linux sur votre syst&egrave;me
+ pour pouvoir ex&eacute;cuter les binaires Linux nouvellement
+ import&eacute;s sans installation suppl&eacute;mentaire.</para>
+ </sect3>
+
+ <sect3>
+ <title>Comment installer des biblioth&egrave;ques partag&eacute;es
+ suppl&eacute;mentaires</title>
+
+ <para>Comment faire si vous avez install&eacute; le logiciel
+ port&eacute; <filename>linux_lib</filename> et que votre application
+ se plaint toujours qu'il lui manque des biblioth&egrave;ques
+ partag&eacute;es&nbsp;? Comment savoir de quelles biblioth&egrave;ques
+ partag&eacute;es ont besoin les binaires Linux, et o&ugrave; se les
+ procurer&nbsp;? Il y a habituellement deux possibilit&eacute;s (si
+ vous suivez les instructions ci-dessous&nbsp;, vous devrez &ecirc;tre
+ en session sous le compte super-utilisateur <username>root</username>
+ pour effectuer les &eacute;tapes n&eacute;cessaires &agrave;
+ l'installation).</para>
+
+ <para>Si vous avez acc&egrave;s un syst&egrave;me Linux,
+ d&eacute;terminez de quelles biblioth&egrave;ques partag&eacute;es
+ l'application a besoin et copiez-les sur votre syst&egrave;me
+ FreeBSD. Supposons que vous veniez de t&eacute;l&eacute;charger le
+ binaire Linux de Doom. Installez-le sur le syst&egrave;me Linux
+ auquel vous avez acc&egrave;s, et v&eacute;rifiez de quelles
+ biblioth&egrave;ques partag&eacute;es il a besoin avec la commande
+ <command>ldd linuxxdoom</command>&nbsp;:</para>
+
+ <screen>&prompt.user; <userinput>ldd linuxxdoom</userinput>
+libXt.so.3 (DLL Jump 3.1) =&gt; /usr/X11/lib/libXt.so.3.1.0
+libX11.so.3 (DLL Jump 3.1) =&gt; /usr/X11/lib/libX11.so.3.1.0
+libc.so.4 (DLL Jump 4.5pl26) =&gt; /lib/libc.so.4.6.29</screen>
+
+ <para>Vous devrez r&eacute;cup&eacute;rer tous les fichiers
+ mentionn&eacute;s dans la derni&egrave;re colonne et les installer
+ sous <filename>/compat/linux</filename>, en utilisant les noms de
+ la premi&egrave;re colonne comme liens symboliques qui pointent
+ dessus. Ce qui signifie que vous aurez &eacute;ventuellement les
+ fichiers suivants sur votre syst&egrave;me FreeBSD&nbsp;:</para>
+
+ <screen>/compat/linux/usr/X11/lib/libXt.so.3.1.0
+/compat/linux/usr/X11/lib/libXt.so.3 -&gt; libXt.so.3.1.0
+/compat/linux/usr/X11/lib/libX11.so.3.1.0
+/compat/linux/usr/X11/lib/libX11.so.3 -&gt; libX11.so.3.1.0
+/compat/linux/lib/libc.so.4.6.29
+/compat/linux/lib/libc.so.4 -&gt; libc.so.4.6.29</screen>
+
+ <note>
+ <para>Remarquez que si vous avez d&eacute;j&agrave; une
+ biblioth&egrave;que partag&eacute;e de m&ecirc;me num&eacute;ro de
+ version majeure que celle indiqu&eacute;e par la premi&egrave;re
+ colonne du r&eacute;sultat de <command>ldd</command>, il est inutile
+ de copier le fichier d&eacute;crit par la derni&egrave;re colonne
+ sur votre syst&egrave;me, celui que vous avez d&eacute;j&agrave;
+ devrait suffire. Il est cependant recommand&eacute; de recopier
+ malgr&eacute; tout la biblioth&egrave;que partag&eacute;e si c'est
+ une version plus r&eacute;cente. Vous pouvez supprimer la version
+ plus ancienne, du moment que le lien symbolique pointe sur la
+ nouvelle. Par exemple, si vous avez les biblioth&egrave;ques
+ suivantes sur votre syst&egrave;me&nbsp;:</para>
+
+ <screen>/compat/linux/lib/libc.so.4.6.27
+/compat/linux/lib/libc.so.4 -&gt; libc.so.4.6.27</screen>
+
+ <para>et que vous trouvez un nouveau binaire qui, d'apr&egrave;s le
+ r&eacute;sultat de la commande <command>ldd</command> semble avoir
+ besoin d'une version plus r&eacute;cente&nbsp;:</para>
+
+ <screen>libc.so.4 (DLL Jump 4.5pl26) -&gt; libc.so.4.6.29</screen>
+
+ <para>Si vous n'avez qu'une ou deux versions de retard sur le dernier
+ indice, ne vous souciez pas d'installer la version
+ <filename>/lib/libc.so.4.6.29</filename> plus r&eacute;cente,
+ parce que le programme devrait fonctionner sans probl&egrave;me
+ avec une version l&eacute;g&egrave;rement ant&eacute;rieure. Vous
+ pouvez n&eacute;anmoins d&eacute;cider de remplacer
+ <filename>libc.so</filename>, ce qui devrait vous donner quelque
+ chose comme&nbsp;:</para>
+
+ <screen>/compat/linux/lib/libc.so.4.6.29
+/compat/linux/lib/libc.so.4 -&gt; libc.so.4.6.29</screen>
+ </note>
+
+ <note>
+ <para>Le m&eacute;canisme de lien symbolique n'est n&eacute;cessaire
+ que pour les binaires Linux. L'&eacute;diteur de liens dynamiques de
+ FreeBSD se charge lui-m&ecirc;me de trouver les num&eacute;ros de
+ versions majeures ad&eacute;quats et vous n'avez pas &agrave; vous
+ en pr&eacute;occuper.</para>
+ </note>
+ </sect3>
+
+ <sect3>
+ <title>Configurer <filename>ld.so</filename>&mdash;pour FreeBSD
+ 2.2-release et ult&eacute;rieurs</title>
+
+ <para>Cette section ne s'applique qu'&agrave; FreeBSD 2.2-release et
+ ult&eacute;rieurs. Ceux qui utilisent 2.1-stable peuvent
+ l'ignorer.</para>
+
+ <para>Pour finir, si vous utilisez FreeBSD 2.2-release, vous devez
+ v&eacute;rifier que vous disposez de l'&eacute;diteur de liens
+ dynamiques Linux et de ses fichiers de configuration sur votre
+ syst&egrave;me. Vous devez copier ces fichiers du syst&egrave;me
+ Linux &agrave; l'endroit appropri&eacute; sur votre syst&egrave;me
+ FreeBSD (dans l'arborescence
+ <filename>/compat/linux</filename>)&nbsp;:</para>
+
+ <screen>/compat/linux/lib/ld.so
+/compat/linux/etc/ld.so.config</screen>
+
+ <para>Si vous n'avez pas acc&egrave;s &agrave; un syst&egrave;me Linux,
+ vous devrez r&eacute;cup&eacute;rer les fichiers
+ suppl&eacute;mentaires de diff&eacute;rents sites ftp. Des
+ informations sur o&ugrave; trouver les divers fichiers sont
+ donn&eacute;es plus bas. Supposons pour l'instant que vous savez
+ o&ugrave; r&eacute;cup&eacute;rer les fichiers.</para>
+
+ <para>T&eacute;l&eacute;chargez les fichiers suivants (du m&ecirc;me
+ site ftp pour &eacute;viter les incompatibilit&eacute;s de version)
+ et installez-les sous <filename>/compat/linux</filename> (i.e.,
+ <filename>/foo/bar</filename> est install&eacute; sous
+ <filename>/compat/linux/foo/bar</filename>):</para>
+
+ <screen>/sbin/ldconfig
+/usr/bin/ldd
+/lib/libc.so.x.y.z
+/lib/ld.so</screen>
+
+ <para><command>ldconfig</command> et <command>ldd</command> n'ont pas
+ obligatoirement besoin d'&ecirc;tre sous l'arborescence
+ <filename>/compat/linux</filename>; vous pouvez aussi les installer
+ ailleurs sur votre syst&egrave;me. Veillez cependant &agrave; ce
+ qu'il n'y ait pas de conflit avec leurs &eacute;quivalents FreeBSD.
+ C'est une bonne id&eacute;e de les mettre dans
+ <filename>/usr/local/bin</filename> o&ugrave; sont
+ <command>ldconfig-linux</command> et
+ <command>ldd-linux</command>.</para>
+
+ <para>Cr&eacute;ez le fichier
+ <filename>/compat/linux/etc/ld.so.conf</filename>, d&eacute;crivant
+ les r&eacute;pertoires o&ugrave; l'&eacute;diteur de liens dynamiques
+ Linux devra chercher les biblioth&egrave;ques partag&eacute;es. C'est
+ un fichier texte ordinaire, avec un nom de r&eacute;pertoire par
+ ligne. <filename>/lib</filename> and <filename>/usr/lib</filename>
+ sont standard, vous pourriez ajouter les lignes
+ suivantes&nbsp;:</para>
+
+ <programlisting>
+/usr/X11/lib
+/usr/local/lib
+ </programlisting>
+
+ <para>Quand un binaire Linux ouvre une biblioth&egrave;que telle que
+ <filename>/lib/libc.so</filename>, l'&eacute;mulateur effectue en
+ interne la correspondance avec
+ <filename>/compat/linux/lib/libc.so</filename>. Toutes les
+ biblioth&egrave;ques Linux doivent &ecirc;tre install&eacute;es sous
+ <filename>/compat/linux</filename> (e.g.,
+ <filename>/compat/linux/lib/libc.so</filename>,
+ <filename>/compat/linux/usr/X11/lib/libX11.so</filename>, etc.)
+ pour que l'&eacute;mulateur puisse les trouver.</para>
+
+ <para>Ceux qui utilisent FreeBSD 2.2-release doivent ex&eacute;cuter le
+ programme <command>ldconfig</command> Linux.</para>
+
+ <screen>&prompt.root <userinput>cd /compat/linux/lib</userinput>
+&prompt.root; <userinput>/compat/linux/sbin/ldconfig</userinput></screen>
+
+ <para><command>ldconfig</command> est li&eacute; statiquement, il n'a
+ donc pas besoin des biblioth&egrave;ques partag&eacute;es pour
+ s'ex&eacute;cuter. Il cr&eacute;e le fichier
+ <filename>/compat/linux/etc/ld.so.cache</filename> qui contient les
+ noms de toutes les biblioth&egrave;ques partag&eacute;es, et doit
+ &ecirc;tre r&eacute;ex&eacute;cut&eacute; pour recr&eacute;er ce
+ fichier chaque fois que vous installez de nouvelles
+ biblioth&egrave;ques partag&eacute;es.</para>
+
+ <para>Sous 2.1-stable, n'installez pas
+ <filename>/compat/linux/etc/ld.so.cache</filename> et
+ n'ex&eacute;cutez pas <command>ldconfig</command>; sous 2.1-stable,
+ les appels syst&egrave;me sont impl&eacute;ment&eacute;s
+ diff&eacute;remment et <command>ldconfig</command> n'est ni utile ni
+ utilis&eacute;.</para>
+
+ <para>Tout devrait &ecirc;tre maintenant en place pour les binaires
+ Linux qui n'ont besoin que d'une biblioth&egrave;que
+ <filename>libc</filename> partag&eacute;e. Vous pouvez le tester en
+ ex&eacute;cutant la commande <command>ldd</command> Linux sur
+ elle-m&ecirc;me. Supposons que vous l'ayez install&eacute; sous le nom
+ <command>ldd-linux</command>, le r&eacute;sultat devrait ressembler
+ &agrave; quelque chose comme&nbsp;:</para>
+
+ <screen>&prompt.root; <userinput>ldd-linux `which ldd-linux`</userinput>
+libc.so.4 (DLL Jump 4.5pl26) =&gt; /lib/libc.so.4.6.29</screen>
+
+ <para>Une fois que c'est fait, vous &ecirc;tes pr&ecirc;t &agrave;
+ installer de nouveaux binaires Linux. Toutes les fois que vous
+ installez un nouveau programme Linux, vous devriez v&eacute;rifier
+ s'il a besoin de nouvelles biblioth&egrave;ques partag&eacute;es, et
+ si tel est le cas, les installer dans l'arborescence
+ <filename>/compat/linux</filename>. Pour cela, vous ex&eacute;cutez la
+ version Linux de <command>ldd</command> sur le nouveau programme et
+ consultez le r&eacute;sultat. <command>ldd</command> (reportez-vous
+ aussi aux pages de manuel de &man.ldd.1;) imprimera la liste des
+ biblioth&egrave;ques partag&eacute;es dont d&eacute;pend le programme,
+ sous la forme <literal><replaceable>nom principal</replaceable>
+ (<replaceable>r&eacute;f&eacute;rence de version</replaceable>) =&gt;
+ <replaceable>nom complet</replaceable></literal>.</para>
+
+ <para>S'il imprime <literal>not found</literal> au lieu du
+ <replaceable>nom complet</replaceable>, cela signifie qu'il vous faut
+ une nouvelle biblioth&egrave;que. La biblioth&egrave;que dont vous
+ avez besoin est celle indiqu&eacute;e par son
+ <literal><replaceable>nom principal</replaceable></literal> sous forme
+ <literal>lib<replaceable>XXXX</replaceable>.so.<replaceable>N</replaceable></literal>.
+ Il faudra que vous trouviez
+ <filename>lib<replaceable>XXXX</replaceable>.so.N.mm</filename> sur un
+ site ftp Linux et que vous l'installiez sur votre syst&egrave;me.
+ <replaceable>XXXX</replaceable> (nom) et
+ <replaceable>N</replaceable> (num&eacute;ro de version majeure)
+ doivent correspondre; le(s) num&eacute;ro(s) de version(s) mineure(s)
+ sont moins importants, bien qu'il soit conseill&eacute; de prendre la
+ version la plus r&eacute;cente.</para>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Installer des binaires Linux ELF</title>
+
+ <para>Il y a parfois besoin d'une &eacute;tape suppl&eacute;mentaire pour
+ les binaires ELF&nbsp;: &ldquo;le marquage&rdquo;. Si vous essayez
+ d'ex&eacute;cuter un binaire ELF non marqu&eacute; vous aurez un
+ message d'erreur ressemblant &agrave; ce qui suit&nbsp;:</para>
+
+ <screen>&prompt.user; <userinput>./mon-binaire-elf-linux</userinput>
+ELF binary type not known
+Abort</screen>
+
+ <para>Pour que le noyau de FreeBSD puisse distinguer entre un binaire ELF
+ FreeBSD et un binaire Linux, vous devez employer l'utilitaire
+ &man.brandelf.1;.</para>
+
+ <screen>&prompt.user; <userinput>brandelf -t Linux mon-binaire-elf-linux</userinput></screen>
+
+ <para>Les outils GNU incorporent maintenant automatiquement les marques
+ n&eacute;cessaires dans les binaires ELF, vous aurez donc de moins en
+ moins besoin de passer par cette &eacute;tape &agrave; l'avenir.</para>
+ </sect2>
+
+ <sect2>
+ <title>Configurer le solveur de noms de domaines</title>
+
+ <para>Si le DNS ne fonctionne pas, ou si vous avez les
+ messages&nbsp;:</para>
+
+ <screen>resolv+: "bind" is an invalid keyword resolv+:
+"hosts" is an invalid keyword</screen>
+
+ <para>vous devez renseigner un fichier
+ <filename>/compat/linux/etc/host.conf</filename> contenant&nbsp;:</para>
+
+ <programlisting>
+order hosts, bind
+multi on</programlisting>
+
+ <para>o&ugrave; l'ordre ci-dessus sp&eacute;cifie qu'il faut d'abord
+ regarder dans le fichier <filename>/etc/hosts</filename> puis
+ interroger le DNS. Si le fichier
+ <filename>/compat/linux/etc/host.conf</filename> n'est pas
+ install&eacute;, les applications Linux trouvent le fichier
+ <filename>/etc/host.conf</filename> de FreeBSD et se plaignent de sa
+ syntaxe FreeBSD incompatible. Supprimez <literal>bind</literal>, si
+ vous n'avez pas configur&eacute; de serveur de noms avec le fichier
+ <filename>/etc/resolv.conf</filename>.</para>
+
+ <para>Enfin, ceux qui utilisent 2.1-stable doivent d&eacute;finir une
+ variable d'environnement <envar>RESOLV_HOST_CONF</envar> pour que les
+ applications sachent comment chercher dans les tables de noms de
+ machines. Si vous &ecirc;tes sous FreeBSD 2.2-release ou
+ ult&eacute;rieurs, vous pouvez vous en passer. Avec
+ l'interpr&eacute;teur de commandes <filename>/bin/csh</filename>,
+ utilisez&nbsp;:</para>
+
+ <screen>&prompt.user; <userinput>setenv RESOLV_HOST_CONF /compat/linux/etc/host.conf</userinput></screen>
+
+ <para>Avec <filename>/bin/sh</filename>, utilisez&nbsp;:</para>
+
+ <screen>&prompt.user; <userinput>RESOLV_HOST_CONF=/compat/linux/etc/host.conf; export RESOLV_HOST_CONF</userinput></screen>
+ </sect2>
+
+ <sect2>
+ <title>Trouver les fichiers n&eacute;cessaires</title>
+
+ <note>
+ <para>Les informations qui suivent sont valables &agrave; la date de
+ r&eacute;daction de ce document, mais certains d&eacute;tails, tels
+ que les noms des sites ftp, des r&eacute;pertoires ou des
+ distributions peuvent avoir chang&eacute; au moment o&ugrave; vous le
+ lirez.</para>
+ </note>
+
+ <para>Linux est distribu&eacute; par plusieurs groupes donc chacun
+ constitue l'ensemble de programmes qu'il distribue. Chaque distribution
+ a son propre nom, &ldquo;Slackware&rdquo; ou &ldquo;Yggdrasil&rdquo;,
+ par exemple. Ces distributions sont disponibles sur nombre de sites
+ ftp. Les fichiers sont parfois individualis&eacute;s, et vous pouvez
+ r&eacute;cup&eacute;rer uniquement les fichiers dont vous avez besoin,
+ mais ils sont g&eacute;n&eacute;ralement archiv&eacute;s par
+ distributions, compact&eacute;es et compress&eacute;es avec
+ <citerefentry><refentrytitle>tar</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> et
+ <citerefentry><refentrytitle>gzip</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>. Les sites ftp principaux
+ pour les distributions sont&nbsp;:</para>
+
+ <orderedlist>
+ <listitem>
+ <para>sunsite.unc.edu:/pub/Linux/distributions</para>
+ </listitem>
+
+ <listitem>
+ <para>tsx-11.mit.edu:/pub/linux/distributions</para>
+ </listitem>
+ </orderedlist>
+
+ <para>Quelques sites miroirs europ&eacute;ens&nbsp;:</para>
+
+ <orderedlist>
+ <listitem>
+ <para>ftp.luth.se:/pub/linux/distributions</para>
+ </listitem>
+
+ <listitem>
+ <para>ftp.demon.co.uk:/pub/unix/linux</para>
+ </listitem>
+
+ <listitem>
+ <para>src.doc.ic.ac.uk:/packages/linux/distributions</para>
+ </listitem>
+ </orderedlist>
+
+ <para>Pour simplifier, nous nous concentrerons sur la Slackware. Cette
+ distribution est compos&eacute;e d'un certain nombre de
+ sous-r&eacute;pertoires, contenant des paquetages s&eacute;par&eacute;s.
+ Ils sont normalement contr&ocirc;l&eacute;s par un programme
+ d'installation, mais vous pouvez aussi les r&eacute;cup&eacute;rer
+ &agrave; la main. Vous devrez d'abord aller voir dans le
+ sous-r&eacute;pertoire <filename>contents</filename> de la
+ distribution. Vous y trouverez de nombreux petits fichiers texte
+ d&eacute;crivant le contenu de chacun des paquetages. La fa&ccedil;on
+ la plus rapide de retrouver quelque chose est de r&eacute;cup&eacute;rer
+ tous les fichiers de ce sous-r&eacute;pertoire et d'y rechercher avec
+ <citerefentry><refentrytitle>grep</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> le fichier dont vous avez
+ besoin. Voici un exemple d'une liste de fichiers dont vous pourriez
+ avoir besoin et o&ugrave; vous les trouveriez en cherchant dans les
+ fichiers de contenu&nbsp;:</para>
+
+ <informaltable frame="none">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Biblioth&egrave;que</entry>
+ <entry>Paquetage</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry><filename>ld.so</filename></entry>
+ <entry>ldso</entry>
+ </row>
+
+ <row>
+ <entry><filename>ldconfig</filename></entry>
+ <entry>ldso</entry>
+ </row>
+
+ <row>
+ <entry><filename>ldd</filename></entry>
+ <entry>ldso</entry>
+ </row>
+
+ <row>
+ <entry><filename>libc.so.4</filename></entry>
+ <entry>shlibs</entry>
+ </row>
+
+ <row>
+ <entry><filename>libX11.so.6.0</filename></entry>
+ <entry>xf_lib</entry>
+ </row>
+
+ <row>
+ <entry><filename>libXt.so.6.0</filename></entry>
+ <entry>xf_lib</entry>
+ </row>
+
+ <row>
+ <entry><filename>libX11.so.3</filename></entry>
+ <entry>oldlibs</entry>
+ </row>
+
+ <row>
+ <entry><filename>libXt.so.3</filename></entry>
+ <entry>oldlibs</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>Dans ce cas donc, vous auriez besoin des paquetages
+ <filename>ldso</filename>, <filename>shlibs</filename>,
+ <filename>xf_lib</filename> et <filename>oldlibs</filename>. Dans
+ chacun des fichiers de contenu de ces paquetages, recherchez la ligne
+ <literal>PACKAGE LOCATION</literal>, qui vous dira sur quel
+ &ldquo;disque&rdquo; le paquetage se trouve; dans notre cas, cela nous
+ dira dans quel sous-r&eacute;pertoire il faut regarder. Pour notre
+ exemple, nous trouverions&nbsp;:</para>
+
+ <informaltable frame="none">
+ <tgroup cols="2">
+ <thead
+ <row>
+ <entry>Paquetage</entry>
+ <entry>Localisation</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>ldso</entry>
+ <entry>diska2</entry>
+ </row>
+
+ <row>
+ <entry>shlibs</entry>
+ <entry>diska2</entry>
+ </row>
+
+ <row>
+ <entry>oldlibs</entry>
+ <entry>diskx6</entry>
+ </row>
+
+ <row>
+ <entry>xf_lib</entry>
+ <entry>diskx9</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>Les localisations appel&eacute;es
+ &ldquo;disk<replaceable>XX</replaceable>&rdquo; se rapportent aux
+ sous-r&eacute;pertoires
+ <filename>slakware/<replaceable>XX</replaceable></filename>
+ de la distribution, d'autres peuvent se trouver dans le
+ sous-r&eacute;pertoire <filename>contrib</filename>. Dans notre cas,
+ nous pouvons maintenant t&eacute;l&eacute;charger les paquetages dont
+ nous avons besoin en r&eacute;cup&eacute;rant les fichiers suivants
+ (&agrave; partir du r&eacute;pertoire racine de l'arborescence de la
+ distribution Slackware)&nbsp;:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><filename>slakware/a2/ldso.tgz</filename></para>
+ </listitem>
+
+ <listitem>
+ <para><filename>slakware/a2/shlibs.tgz</filename></para>
+ </listitem>
+
+ <listitem>
+ <para><filename>slakware/x6/oldlibs/tgz</filename></para>
+ </listitem>
+
+ <listitem>
+ <para><filename>slakware/x9/xf_lib.tgz</filename></para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Extrayez les fichiers de ces archives compress&eacute;es dans le
+ r&eacute;pertoire <filename>/compat/linux</filename> (en ommettant ou en
+ supprimant ensuite les fichiers dont vous n'avez pas besoin) et vous
+ aurez tout ce qu'il vous faut.</para>
+
+ <para><emphasis>Consultez aussi&nbsp;:</emphasis>
+ <filename>ftp.freebsd.org:pub/FreeBSD/2.0.5-RELEASE/xperimnt/linux-emu/README</filename>
+ et <filename>/usr/src/sys/i386/ibcs2/README.iBCS2</filename></para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="mathematica">
+ <title>Comment installer Mathematica sous FreeBSD</title>
+
+ <para><emphasis>Contribution de &a.rich; et &a.chuck;</emphasis></para>
+
+ <para>Ce document explique comment installer la distribution binaire Linux
+ de Mathematica 2.2 sous FreeBSD 2.1.</para>
+
+ <para>Mathematica supporte en natif Linux mais pas FreeBSD. Une fois donc
+ que vous avez configur&eacute; votre syst&egrave;me pour qu'il soit
+ compatible Linux, vous avez &agrave; peu pr&egrave;s tout ce qu'il vous
+ faut pour utiliser Mathematica.</para>
+
+ <para>Pour ceux qui ont d&eacute;j&agrave; la version
+ &ldquo;&eacute;tudiant&rdquo de Mathematica pour DOS, la mise &agrave;
+ jour pour Linux co&ucirc;tait, quand ce document a &eacute;t&eacute
+ r&eacute;dig&eacute;, en Mars 1996, &#36;45.00. Vous pouvez la commander
+ directement &agrave; Wolfram au (217) 398-6500 et payer par carte de
+ cr&eacute;dit.</para>
+
+ <sect2>
+ <title>D&eacute;compacter la distribution de Mathematica</title>
+
+ <para>Les binaires sont actuellement distribu&eacute;s par Wolfram sur
+ CD-ROM. Il y a une douzaine de fichiers d'archive sur le CD-ROM, chacun
+ contenant une distribution binaire pour une des architectures
+ support&eacute;es. Celle pour Linux s'appelle
+ <filename>LINUX.TAR</filename>. Vous pouvez, par exemple, la
+ d&eacute;compacter dans
+ <filename>/usr/local/Mathematica</filename>&nbsp;:</para>
+
+ <screen>&prompt.root; <userinput>cd /usr/local</userinput>
+&prompt.root; <userinput>mkdir Mathematica</userinput>
+&prompt.root; <userinput>cd Mathematica</userinput>
+&prompt.root; <userinput>tar -xvf /cdrom/LINUX.TAR</userinput></screen>
+ </sect2>
+
+ <sect2>
+ <title>Obtenir votre mot de passe pour Mathematica</title>
+
+ <para>Avant de pouvoir utiliser Mathematica, vous devrez obtenir de
+ Wolfram un mot de passe qui corresponde &agrave
+ l'&ldquo;IDentifiant&rdquo; de votre machine&nbsp;:</para>
+
+ <para>Une fois que vous avez install&eacute; les biblioth&egrave;ques pour
+ la compatibilit&eacute; Linux et d&eacute;compact&eacute; Mathematica,
+ vous pouvez conna&icirc;tre l'&ldquo;IDentifiant&rdquo; de votre machine
+ en ex&eacute;cutant le programme <command>mathinfo</command> dans le
+ r&eacute;pertoire d'installation&nbsp;:</para>
+
+ <screen>&prompt.root; <userinput>cd /usr/local/Mathematica/Install</userinput>
+&prompt.root; <userinput>mathinfo</userinput>
+LINUX: 'ioctl' fd=5, typ=0x89(), num=0x27 not implemented
+richc.isdn.bcm.tmc.edu 9845-03452-90255</screen>
+
+ <para>Ici, par exemple, l'&ldquo;IDentifiant&rdquo; de la machine
+ <hostid>richc</hostid> est <literal>9845-03452-90255</literal>. Ne vous
+ souciez pas du message &agrave; propos de l'<literal>ioctl</literal>
+ qui n'est pas impl&eacute;ment&eacute;. Cela ne vous emp&egrave;chera
+ pas d'utiliser Mathematica, bien que vous aurez ce message toutes les
+ fois que vous ex&eacute;cuterez Mathematica.</para>
+
+ <para>Quand vous vous enregistrerez aupr&egrave;s de Wolfram, par courrier
+ &eacute;lectronique, t&eacute;l&eacute;phone, ou fax, vous leur
+ communiquerez l'&ldquo;IDentifiant&rdquo; de la machine et ils vous
+ donneront en r&eacute;ponse le mot de passe correspondant qui consiste
+ en groupes de chiffres. Vous devrez ajouter les deux, ainsi que le nom
+ de la machine et le num&eacute;ro de licence, dans votre fichier
+ <filename>mathpass</filename>.</para>
+
+ <para>Vous pouvez le faire en utilisant&nbsp;:</para>
+
+ <screen>&prompt.root; <userinput>cd /usr/local/Mathematica/Install</userinput>
+&prompt.root; <userinput>math.install</userinput></screen>
+
+ <para>Il vous demandera votre num&eacute;ro de licence et le mot de passe
+ que Wolfram vous a fourni. Si vous vous trompez ou si pour une raison ou
+ une autre <command>math.install</command> &eacute;choue, ce n'est pas un
+ probl&egrave;me; vous pouvez simplement &eacute;diter le fichier
+ <filename>mathpass</filename>, qui se trouve dans le m&ecirc;me
+ r&eacute;pertoire, pour corriger &agrave; la main ces
+ informations.</para>
+
+ <para>Apr&egrave;s le mot de passe, <command>math.install</command> vous
+ demandera si vous voulez utiliser la configuration d'installation par
+ d&eacute;faut ou si vous pr&eacute;f&eacute;rez d&eacute;finir la
+ v&ocirc;tre. Si vous &ecirc;tes comme nous et n'avez pas confiance dans
+ les programmes d'installation, vous voudrez certainement indiquer
+ vous-m&ecirc;me les r&eacute;pertoires d'installation. Attention. Bien
+ que <command>math.install</command> vous demande les noms des
+ r&eacute;pertoires, il ne les cr&eacute;e pas &agrave; votre place, vous
+ devriez donc ouvrir une deuxi&egrave;me fen&ecirc;tre pour le faire
+ avant de donner leurs noms au programme d'installation. Ou, si vous
+ &eacute;chouez, vous pouvez cr&eacute;er les r&eacute;pertoires puis
+ relancer le programme <command>math.install</command>. Nous avons choisi
+ de cr&eacute;er au pr&eacute;alable et d'indiquer &agrave;
+ <command>math.install</command> les r&eacute;pertoires
+ suivants&nbsp;:</para>
+
+ <informaltable frame="none">
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry><filename>/usr/local/Mathematica/bin</filename></entry>
+ <entry>pour les binaires</entry>
+ </row>
+
+ <row>
+ <entry><filename>/usr/local/Mathematica/man/man1</filename></entry>
+ <entry>pour les pages de manuel</entry>
+ </row>
+
+ <row>
+ <entry><filename>/usr/local/Mathematica/lib/X11</filename></entry>
+ <entry>pour le fichier <filename>XKeysymb</filename></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>Vous pouvez aussi lui dire d'utiliser
+ <filename>/tmp/math.record</filename> comme fichier d'enregistrement
+ syst&egrave;me, dans lequel il conserve les traces des sessions.
+ <command>math.install</command> continuera ensuite en
+ d&eacute;compactant la distribution et en mettant les fichiers l&agrave;
+ o&ugrave; il faut.</para>
+
+ <para>La fonction calepin de Mathematica est fournie s&eacute;parement,
+ de m&ecirc;me que l'interface X, et vous devez les installer &agrave;
+ part. Pour que l'interface X soit correctement install&eacute;e, allez
+ dans le r&eacute;pertoire
+ <filename>/usr/local/Mathematica/FrontEnd</filename> et ex&eacute;cutez
+ la proc&eacute;dure <command>xfe.install</command>. Vous devrez lui
+ dire o&ugrave; mettre les fichiers, mais vous n'aurez pas de
+ r&eacute;pertoire &agrave; cr&eacute;er, parce qu'elle utilise les
+ m&ecirc;mes que ceux qui ont &eacute;t&eacute; cr&eacute;&eacute;s
+ pour <command>math.install</command>. Finalement, il doit y avoir
+ une nouvelle proc&eacute;dure appel&eacute;e
+ <filename>mathematica</filename> dans le r&eacute;pertoire
+ <filename>/usr/local/Mathematica/bin</filename>.</para>
+
+ <para>Pour finir, vous devrez modifier chacune des proc&eacute;dures que
+ Mathematica a install&eacute; pour y ajouter la ligne
+ suivante&nbsp;:</para>
+
+ <screen>&prompt.user; <userinput>XKEYSYMDB=/usr/local/Mathematica/lib/X11/XKeysymDB; export XKEYSYMDB</userinput></screen>
+
+ <para>Cela pour dire &agrave; Mathematica o&ugrave; trouver sa propre
+ version du fichier de correspondance clavier
+ <filename>XKeysymDB</filename>, sinon vous aurez des messages d'erreur
+ dus &agrave; des correspondances de touches manquantes.</para>
+
+ <para>Sous 2.1-stable, vous devrez aussi ajouter la ligne
+ suivante&nbsp;:</para>
+
+ <screen>&prompt.user; <userinput>RESOLV_HOST_CONF=/compat/linux/etc/host.conf; export RESOLV_HOST_CONF</userinput></screen>
+
+ <para>pour dire &agrave; Mathematica d'utiliser la version Linux de
+ <filename>host.conf</filename>. Ce fichier a une syntaxe
+ diff&eacute;rente de celui de FreeBSD, vous aurez donc un message
+ d'erreur &agrave; propos de <filename>/etc/host.conf</filename> si vous
+ oubliez cette modification.</para>
+
+ <para>Vous voudrez peut-&ecirc;tre aussi modifier votre fichier
+ <filename>/etc/manpath.config</filename> pour lire le nouveau
+ r&eacute;pertoire pour les pages de manuel, et aurez peut-&ecirc;tre
+ besoin d'&eacute;diter votre fichier <filename>~/.cshrc</filename>
+ pour ajouter <filename>/usr/local/Mathematica/bin</filename> &agrave;
+ vos chemins d'acc&egrave;s par d&eacute;faut.</para>
+
+ <para>C'est &agrave; peu pr&egrave;s tout. Vous devriez maintenant pouvoir
+ taper <command>mathematica</command> et obtenir un calepin Mathematica
+ vraiment &ldquo;nickel&rdquo;. Mathematica a inclu des interfaces
+ utilisateurs Motif, mais elles sont li&eacute;es statiquement, vous
+ n'avez donc pas besoin des biblioth&egrave;ques Motif. Bonne chance
+ pour votre propre installation&nbsp;!</para>
+ </sect2>
+
+ <sect2>
+ <title>Bogues</title>
+
+ <para>Il est connu que l'interface calepin se bloque parfois &agrave; la
+ lecture de certains fichiers calepin avec des messages d'erreur
+ du type&nbsp;:</para>
+
+ <screen><errorname>File .../Untitled-1.mb appears to be broken for OMPR.257.0</errorname></screen>
+
+ <para>Nous n'en avons pas trouv&eacute; la raison, mais cela ne touche que
+ l'interface calepin X, et non le moteur Mathematica lui-m&ecirc;me.
+ L'interface en ligne de commande invoqu&eacute;e par
+ <command>math</command> n'est pas affect&eacute;e par ce bogue.</para>
+ </sect2>
+
+ <sect2>
+ <title>Remerciements</title>
+
+ <para>Remerciements bien m&eacute;rit&eacute;s &agrave; &a.sos; et
+ &a.peter; qui ont fait de l'&eacute;mulation Linux ce qu'elle est
+ aujourd'hui, et &agrave; Michael Smith qui les a pouss&eacute; au
+ point qu'elle ex&eacute;cute les binaires Linux mieux que Linux
+ lui-m&ecirc;me&nbsp;! <!-- smiley -->:-)</para>
+ </sect2>
+ </sect1>
+</chapter>
+
+<!--
+ Local Variables:
+ mode: sgml
+ sgml-declaration: "../chapter.decl"
+ sgml-indent-data: t
+ sgml-omittag: nil
+ sgml-always-quote-attributes: t
+ sgml-parent-document: ("../handbook.sgml" "part" "chapter")
+ End:
+-->
+
diff --git a/fr_FR.ISO_8859-1/books/handbook/mail/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/mail/chapter.sgml
new file mode 100644
index 0000000000..c6e37f3993
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/mail/chapter.sgml
@@ -0,0 +1,653 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+ <chapter id="mail">
+ <title>Courrier &eacute;lectronique</title>
+
+ <para><emphasis>Contribution de &a.wlloyd;.</emphasis></para>
+ &trans.a.haby;
+
+ <para>De nombreux ouvrages d'<link
+ linkend="bibliography">Administration Syst&egrave;me</link> traitent de la
+ configuration du courrier &eacute;lectronique. Si vous envisagez de faire
+ plus que configurer un seul serveur de courrier sur votre r&eacute;seau,
+ il vous faut de la documentation de qualit&eacute; industrielle.</para>
+
+ <para>Certaines parties de la configuration du courrier &eacute;lectronique
+ sont confi&eacute;es au Syst&egrave;me de Noms de Domaines (DNS). Si vous g&eacute;rez
+ votre propre serveur DNS, consultez <filename>/etc/namedb</filename> et
+ <command>man -k named</command> pour plus d'informations.</para>
+
+ <sect1>
+ <title>Notions de base</title>
+
+ <para>Voici les principaux programmes impliqu&eacute;s dans un &eacute;change de
+ courrier &eacute;lectronique. Le &ldquo;serveur de courrier&rdquo; est
+ responsable de l'exp&eacute;dition et de la r&eacute;ception du courrier pour
+ votre machine, voire votre r&eacute;seau.</para>
+
+ <sect2>
+ <title>Le programme utilisateur</title>
+
+ <para>C'est un programme comme <application >elm</application>,
+ <application>pine</application>, <application>mail</application>,
+ ou un outil plus sophistiqu&eacute; tel un navigateur WWW. Ce programme
+ transmet simplement toutes les transactions concernant le courrier
+ &eacute;lectronique au &ldquo;serveur de courrier&rdquo; local, soit en
+ invoquant <command>sendmail</command>, soit via TCP.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Le &ldquo;d&eacute;mon&rdquo; serveur de courrier</title>
+
+ <para>C'est habituellement <command>sendmail</command> ou
+ <command>smail</command>, s'ex&eacute;cutant en t&acirc;che de fond. Vous
+ le d&eacute;sactivez ou modifiez les options de sa ligne de commande
+ dans le fichier <filename>/etc/rc.conf</filename> (ou, pour les
+ versions ant&eacute;rieures &agrave; FreeBSD 2.2.2,
+ <filename>/etc/sysconfig</filename>). Il vaut mieux le laisser
+ actif, &agrave; moins que vous n'ayez une bonne raison de ne pas
+ le faire tourner, par exemple, si vous configurez un
+ <link linkend="firewalls">coupe-feu</link>.</para>
+
+ <para>Vous devez savoir que <command>sendmail</command> est un maillon
+ potentiellement faible sur un site s&eacute;curis&eacute;. Certaines versions de
+ <command>sendmail</command> ont des trous de s&eacute;curit&eacute; connus.</para>
+
+ <para><command>sendmail</command> accomplit deux t&acirc;ches. Il se charge
+ d'envoyer et de recevoir le courrier.</para>
+
+ <para>Lorsque <command>sendmail</command> doit exp&eacute;dier du courrier
+ depuis votre site, il consulte le DNS pour savoir quelle machine
+ re&ccedil;oit le courrier pour la destination voulue.</para>
+
+ <para>S'il agit comme exp&eacute;diteur, <command>sendmail</command> prendra
+ le message dans la file d'attente locale et le d&eacute;livrera via
+ l'Internet &agrave; un autre <command>sendmail</command> sur la machine
+ qui doit le recevoir.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>DNS&nbsp;-&nbsp;Syst&egrave;me de Noms de Domaines</title>
+
+ <para>Le syst&egrave;me de noms de domaines (DNS),
+ et son &ldquo;d&eacute;mon&rdquo;
+ <command>named</command>, g&egrave;rent la base de donn&eacute;es qui fait
+ correspondre nom de machine et adresse IP, et nom de machine
+ et serveur de courrier. L'adresse IP est d&eacute;finie par un
+ enregistrement A. L'enregistrement MX d&eacute;finit le serveur qui
+ recevra votre courrier. S'il n'y a pas d'enregistrement MX
+ associ&eacute; &agrave; votre machine, cette derni&egrave;re recevra directement le
+ courrier.</para>
+
+ <para>A moins que vous n'ayez votre propre serveur DNS, vous ne pouvez
+ pas modifier vous-m&ecirc;me les informations du DNS. Si vous passez par
+ un fournisseur d'acc&egrave;s Internet, voyez cela avec lui.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Serveur POP</title>
+
+ <para>Ce programme r&eacute;cup&egrave;re le courrier dans votre bo&icirc;te aux lettres
+ et le transmet &agrave; votre navigateur. Si vous voulez faire tourner
+ un serveur POP sur votre machine, vous devrez faire deux
+ choses:</para>
+
+ <procedure>
+
+ <step>
+ <para>R&eacute;cup&eacute;rez le logiciel POP du <ulink
+ url="http://www.freebsd.org/ports/mail.html">catalogue des
+ logiciels port&eacute;s</ulink>, que vous trouverez dans le
+ r&eacute;pertoire <filename>/usr/ports</filename>, ou du catalogue
+ des logiciels pr&eacute;compil&eacute;s. Ce manuel comprend une section qui
+ d&eacute;crit exhaustivement l'installation des
+ <link linkend="ports">logiciels port&eacute;s</link>.</para>
+ </step>
+
+ <step>
+ <para>Modifiez <filename>/etc/inetd.conf</filename>
+ pour lancer le serveur POP.</para>
+ </step>
+
+ </procedure>
+
+ <para>Il y aura des instructions avec le serveur POP.
+ Lisez-les.</para>
+
+ </sect2>
+ </sect1>
+
+ <sect1>
+ <title>Configuration</title>
+
+ <sect2>
+ <title>Les bases</title>
+
+ <para>Avec votre syst&egrave;me FreeBSD &ldquo;pr&ecirc;t-&agrave;-l'emploi&rdquo;[TM],
+ vous devriez pouvoir envoyer du courrier &eacute;lectronique &agrave; l'ext&eacute;rieur,
+ d&egrave;s que vous aurez configur&eacute; <filename>/etc/resolv.conf</filename>
+ ou si vous faites tourner un serveur DNS. Si vous voulez que votre
+ courrier soit d&eacute;livr&eacute; &agrave; une machine particuli&egrave;re, il y a deux
+ m&eacute;thodes:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Faire tourner un serveur DNS (<command>man -k named</command>)
+ et avoir votre propre domaine, i.e.:
+ <hostid role="domainname">petitemine.com</hostid>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Faire en sorte que le courrier soit envoy&eacute; &agrave; l'adresse (nom de
+ machine) DNS de votre machine, i.e.:
+ <hostid role="fqdn">refectoire6.maison.ecole.edu</hostid>.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Quelle que soit la m&eacute;thode choisie, pour que le courrier soit
+ directement d&eacute;livr&eacute; &agrave; votre machine, elle doit &ecirc;tre r&eacute;f&eacute;renc&eacute;e sur
+ l'Internet. Vous devez avoir une adresse IP permanente. Donc pas de
+ PPP dynamique. Si vous &ecirc;tes derri&egrave;re un coupe-feu, il faut qu'il
+ vous passe le trafic SMTP (<foreignphrase>Simple Mail Transfer
+ Protocol</foreignphrase>&nbsp;-&nbsp;protocole &eacute;l&eacute;mentaire de
+ transport de courrier &eacute;lectronique). D'apr&egrave;s
+ <filename>/etc/services</filename>:</para>
+
+ <programlisting
+>smtp 25/tcp mail #Simple Mail Transfer</programlisting>
+
+ <para>Si vous voulez recevoir le courrier sur la machine elle-m&ecirc;me,
+ vous devez vous assurez que l'entr&eacute;e MX du DNS pointe sur cette
+ machine, ou qu'il n'y a pas d'entr&eacute;e MX correspondant &agrave; son nom
+ dans le DNS.</para>
+
+ <para>Essayez:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>hostname</userinput>
+newbsdbox.freebsd.org
+&prompt.root; <userinput>host newbsdbox.freebsd.org</userinput>
+newbsdbox.freebsd.org has address 204.216.27.xx</screen>
+ </informalexample>
+
+ <para>Si c'est la seule r&eacute;ponse que vous obtenez, le courrier adress&eacute;
+ &agrave; <email>root@newbsdbox.freebsd.org</email>
+ arrivera sans probl&egrave;me.</para>
+
+ <para>Si au lieu de cela, vous obtenez:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>host newbsdbox.freebsd.org</userinput>
+newbsdbox.FreeBSD.org has address 204.216.27.xx
+newbsdbox.FreeBSD.org mail is handled (pri=10) by freefall.FreeBSD.org</screen>
+ </informalexample>
+
+ <para>Tout le courrier adress&eacute; directement &agrave; votre machine arrivera
+ sur <hostid>freefall</hostid>, adress&eacute; au m&ecirc;me utilisateur.</para>
+
+ <para>Cette information est configur&eacute;e par votre serveur de noms de
+ domaines. C'est la machine d&eacute;finie comme serveur de noms primaire
+ dans <filename>/etc/resolv.conf</filename>.</para>
+
+ <para>L'enregistrement du DNS qui contient l'information de routage
+ du courrier est l'entr&eacute;e MX (<foreignphrase>Mail
+ eXchange</foreignphrase>). S'il n'y a pas d'entr&eacute;e MX, le courrier
+ est envoy&eacute; directement &agrave; la machine en utilisant l'entr&eacute;e
+ Addresse.</para>
+
+ <para>Voici ce que fut &agrave; l'occasion l'entr&eacute;e MX pour
+ <hostid role="fqdn">freefall.freebsd.org:</hostid>.</para>
+
+ <programlisting>
+freefall MX 30 mail.crl.net
+freefall MX 40 agora.rdrop.com
+freefall HINFO Pentium FreeBSD
+freefall MX 10 freefall.FreeBSD.org
+freefall MX 20 who.cdrom.com
+freefall A 204.216.27.xx
+freefall CNAME www.FreeBSD.org</programlisting>
+
+ <para><hostid>freefall</hostid> a plusieurs entr&eacute;es MX. Celle dont le
+ num&eacute;ro est le plus faible re&ccedil;oit en d&eacute;finitive le courrier. Les
+ autres le mettent temporairement dans leur file d'attente, si
+ <hostid>freefall</hostid> est occup&eacute; ou hors-service.</para>
+
+ <para>Les sites MX de secours doivent avoir une connexion s&eacute;par&eacute;e &agrave;
+ l'Internet, pour &ecirc;tre vraiment utiles. Un fournisseur d'acc&egrave;s ou
+ un site amical peuvent vous fournir ce service.</para>
+
+ <para><command>dig</command>, <command>nslookup</command>,
+ et <command>host</command> sont ici vos alli&eacute;s.</para>
+
+ </sect2>
+
+ <sect2 id="mail-domain">
+ <title>Courrier pour votre domaine (r&eacute;seau).</title>
+
+ <para>Pour configurer un serveur de courrier pour votre r&eacute;seau, vous
+ devez &eacute;viter que le courrier arrive &agrave; toutes vos stations de
+ travail. En d'autres termes, vous devez d&eacute;tourner tout le courrier
+ pour <hostid role="domainname">*.petitemine.com</hostid> vers une
+ seule machine, votre &ldquo;serveur de courrier&rdquo;.</para>
+
+ <para>Dans la grande majorit&eacute; des cas, les utilisateurs du r&eacute;seau
+ r&eacute;cup&egrave;reront leur courrier sur leurs stations de travail avec POP
+ ou telnet.</para>
+
+ <para>Il faut qu'il y ait un compte utilisateur avec le
+ <emphasis>m&ecirc;me nom</emphasis> sur les deux machines. Utilisez
+ <command>adduser</command> pour ce faire. Si vous d&eacute;finissez
+ <literal>/nonexistent</literal> comme interpr&eacute;teur de commandes
+ (sur le serveur de courrier), les utilisateurs ne pourront pas y
+ ouvrir de session.</para>
+
+ <para>Votre serveur de courrier sera d&eacute;fini comme
+ <foreignphrase>Mail eXchange</foreignphrase> pour chaque station de
+ travail. Cela doit &ecirc;tre d&eacute;fini dans le DNS (i.e.: BIND, named).
+ Reportez-vous s'il vous pla&icirc;t &agrave; un ouvrage d'administration r&eacute;seau
+ pour avoir des informations d&eacute;taill&eacute;es.</para>
+
+ <para>Vous devez essentiellement ajouter les lignes suivantes &agrave; la
+ configuration de votre serveur DNS:</para>
+
+ <programlisting>
+pc24.petitemine.com A <replaceable>xxx.xxx.xxx.xxx</replaceable> ; Adresse IP de la station de travail
+ MX 10 smtp.petitemine.com ; Serveur de courrier</programlisting>
+
+ <para>Vous ne pouvez le faire vous-m&ecirc;me que si vous g&eacute;rez un serveur
+ de noms. Si vous ne voulez pas faire tourner un serveur de noms,
+ trouvez quelqu'un, votre fournisseur d'acc&egrave;s Internet par exemple,
+ pour le faire &agrave; votre place.</para>
+
+ <para>Le courrier adress&eacute; &agrave; une station de travail sera envoy&eacute; &agrave;
+ votre machine <foreignphrase>Mail eXchange</foreignphrase>. Quelle
+ que soit la machine sur laquelle pointe l'enregistrement A, le
+ courrier arrivera sur la machine MX.</para>
+
+ <para>On peut utiliser cela pour impl&eacute;menter un h&eacute;bergement virtuel du
+ courrier &eacute;lectronique.</para>
+
+ <para>Exemple:</para>
+
+ <para>J'ai un client qui a comme domaine foo.bar, et je veux que tout
+ le courrier pour foo.bar arrive sur ma machine smtp.smalliap.com.
+ Il faut configurer une entr&eacute;e comme suit pour le serveur DNS:</para>
+
+ <programlisting>
+foo.bar MX 10 smtp.smalliap.com ; mon serveur de courrier</programlisting>
+
+ <para>Il n'y a pas besoin d'enregistrement A si l'on ne veut que
+ le courrier pour le domaine. i.e.: ne vous attendez pas &agrave; ce que
+ <command>ping foo.bar</command> fonctionne, &agrave; moins qu'il
+ n'y ait aussi un enregistrement d'Addresse pour
+ <filename>foo.bar</filename>.</para>
+
+ <para>Sur la machine qui re&ccedil;oit le courrier pour le distribuer dans
+ une bo&icirc;te aux lettres, il faut dire &agrave; <command>sendmail</command>
+ pour quelle machine il accepte du courrier.</para>
+
+ <para>Ajoutez <literal>pc24.petitemine.com</literal> &agrave;
+ <filename>/etc/sendmail.cw</filename> (si vous utilisez
+ <literal>FEATURE(use_cw_file)</literal>), ou ajoutez une ligne
+ <literal>Cw myhost.smalliap.com</literal> &agrave;
+ <filename>/etc/sendmail.cf</filename>.</para>
+
+ <para>Si vous envisagez d'utiliser s&eacute;rieusement
+ <command>sendmail</command>, vous devriez installer les
+ sources de <command>sendmail</command>. Ils sont accompagn&eacute;s de
+ beaucoup de documentation. Vous trouverez de l'information sur
+ la fa&ccedil;on d'obtenir le source de <command>sendmail</command>
+ &agrave; la section <link linkend="sendmailuucp">Configurer
+ UUCP</link>.</para>
+
+ </sect2>
+
+ <sect2 id="sendmailuucp">
+ <title>Configurer UUCP.</title>
+
+ <para><emphasis>Emprunt&eacute; &agrave; la FAQ.</emphasis></para>
+
+ <para>La configuration de <command>sendmail</command> livr&eacute;e avec
+ FreeBSD convient &agrave; des sites directement connect&eacute;s &agrave; l'Internet.
+ Les sites qui veulent &eacute;changer du courrier par UUCP doivent
+ installer un autre fichier de configuration de
+ <command>sendmail</command>.</para>
+
+ <para>Bidouiller <filename>/etc/sendmail.cf</filename> &agrave; la main est
+ g&eacute;n&eacute;ralement consid&eacute;r&eacute; comme une occupation de puriste. La version
+ 8 de <command>sendmail</command> s'accompagne d'une nouvelle mani&egrave;re
+ de g&eacute;n&eacute;rer les fichiers de configuration avec le pr&eacute;-processeur
+ <command>m4</command>, gr&acirc;ce auquel le travail de configuration
+ &agrave; la main se fait &agrave; un niveau d'abstraction plus &eacute;lev&eacute;.
+ Utilisez les fichiers de configuration du r&eacute;pertoire
+ <filename>/usr/src/usr.sbin/sendmail/cf</filename>.</para>
+
+ <para>Si vous n'avez pas install&eacute; la totalit&eacute; du source sur votre
+ syst&egrave;me, les fichiers et outils de <command>sendmail</command> ont
+ &eacute;t&eacute; scind&eacute;s en plusieurs fichiers d'archive, pour plus de
+ commodit&eacute;s. En supposant que vous ayez mont&eacute; le CD-ROM,
+ tapez:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cd /usr/src</userinput>
+&prompt.root; <userinput>tar -xvzf /cdrom/dists/src/ssmailcf.aa</userinput></screen>
+ </informalexample>
+
+ <para>Pas de panique, il n'y a que quelques centaines de kilo-octets.
+ Le fichier <filename>README</filename> du r&eacute;pertoire
+ <filename>cf</filename> est une bonne introduction de base &agrave; la
+ configuration avec <command>m4</command>.</para>
+
+ <para>Pour le transfert par UUCP, le mieux est d'utiliser la
+ fonctionnalit&eacute; <emphasis>mailertable</emphasis>. Elle construit une
+ base de donn&eacute;es que <command>sendmail</command> peut utiliser pour
+ prendre ses d&eacute;cisions de routage.</para>
+
+ <para>Vous devez d'abord cr&eacute;er un fichier <filename>.mc</filename>.
+ Le r&eacute;pertoire <filename>/usr/src/usr.sbin/sendmail/cf/cf</filename>
+ contient ces fichiers. Jetez-y un coup d'oeil, il y a d&eacute;j&agrave;
+ quelques exemples. Supposons que vous ayez appel&eacute; votre fichier
+ <filename>foo.mc</filename>, tout ce que vous avez &agrave; faire pour le
+ convertir en un fichier <filename>sendmail.cf</filename>
+ valide est:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cd /usr/src/usr.sbin/sendmail/cf/cf</userinput>
+&prompt.root; <userinput>make foo.cf</userinput></screen>
+ </informalexample>
+
+ <para>Si vous n'avez pas de r&eacute;pertoire
+ <filename>/usr/obj</filename>, alors:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cp foo.cf /etc/sendmail.cf</userinput></screen>
+ </informalexample>
+
+ <para>Sinon:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cp /usr/obj/`pwd`/foo.cf /etc/sendmail.cf</userinput></screen>
+ </informalexample>
+
+ <para>Un fichier <filename>.mc</filename> typique ressemblerait
+ &agrave;:</para>
+
+ <programlisting>
+include(`../m4/cf.m4')
+VERSIONID(`<replaceable>Votre num&eacute;ro de version</replaceable>')
+OSTYPE(bsd4.4)
+
+FEATURE(nodns)
+FEATURE(nocanonify)
+FEATURE(mailertable)
+
+define(`UUCP_RELAY', <replaceable>votre.relais.uucp</replaceable>)
+define(`UUCP_MAX_SIZE', 200000)
+
+MAILER(local)
+MAILER(smtp)
+MAILER(uucp)
+
+Cw <replaceable>votre.alias.nom.machine</replaceable>
+Cw <replaceable>votrenomdenoeuduucp.UUCP</replaceable></programlisting>
+
+ <para>Les fonctionnalit&eacute;s <literal>nodns</literal> et
+ <literal>nocanonify</literal> &eacute;vitent le recours au DNS
+ pour d&eacute;livrer le courrier. La clause <literal>UUCP_RELAY</literal>
+ est n&eacute;cessaire pour d'obscures raisons, ne me demandez pas
+ lesquelles. Mettez-y simplement un nom de machine Internet qui
+ soit capable de comprendre les adresses du pseudo-domaine .UUCP;
+ vous y mettrez vraisemblablement le nom du relais de courrier
+ &eacute;lectronique de votre fournisseur d'acc&egrave;s.</para>
+
+ <para>Un fois que cela est fait, il vous faut le fichier appel&eacute;
+ <filename>/etc/mailertable</filename>. De nouveau, un exemple
+ typique de cette vari&eacute;t&eacute;:</para>
+
+ <programlisting>
+#
+# makemap hash /etc/mailertable.db &lt; /etc/mailertable
+#
+horus.interface-business.de uucp-dom:horus
+.interface-business.de uucp-dom:if-bus
+interface-business.de uucp-dom:if-bus
+.heep.sax.de smtp8:%1 horus.UUCP
+uucp-dom:horus if-bus.UUCP
+uucp-dom:if-bus . uucp-dom:sax</programlisting>
+
+ <para>Comme vous pouvez le constater, c'est un exemple d'apr&egrave;s nature.
+ Les trois premi&egrave;res lignes prennent en charge les cas particuliers
+ o&ugrave; le courrier adress&eacute; au domaine ne doit pas &ecirc;tre exp&eacute;di&eacute; sur la
+ route par d&eacute;faut, mais &agrave; un voisin UUCP pour
+ &ldquo;raccourcir&rdquo; le trajet. La ligne suivante g&egrave;re le
+ courrier sur le domaine local Ethernet, qui peut &ecirc;tre d&eacute;livr&eacute;
+ par SMTP. Pour finir, les voisins UUCP sont r&eacute;f&eacute;renc&eacute;s avec la
+ notation utilisant le pseudo-domaine .UUCP pour permettre
+ la surcharge des r&egrave;gles par d&eacute;faut
+ <literal>uucp-voisin!destinataire</literal>. Il y a toujours un
+ simple point (&ldquo;.&rdquo;) sur la derni&egrave;re ligne,
+ qui correspond &agrave; tout le reste,
+ et permet l'exp&eacute;dition UUCP &agrave; un voisin UUCP qui vous sert de
+ passerelle universelle pour le courrier au reste du monde. Tous les
+ noms de noeuds apr&egrave;s le mot-cl&eacute; <literal>uucp-dom:</literal>
+ doivent &ecirc;tre des voisins UUCP valables, ce que vous pouvez contr&ocirc;ler
+ avec <command>uuname</command>.</para>
+
+ <para>Pour vous rappeler que ce fichier doit &ecirc;tre converti en base
+ de donn&eacute;es DBM avant d'&ecirc;tre utilisable, c'est une bonne id&eacute;e de
+ mettre la ligne de commande qui le fait en t&ecirc;te du fichier
+ <filename>mailertable</filename>. Vous devez l'ex&eacute;cuter chaque fois
+ que vous modifiez <filename>mailertable</filename>.</para>
+
+ <para>Dernier point: si vous n'&ecirc;tes pas s&ucirc;r qu'une route donn&eacute;e
+ fonctionne, rappelez-vous l'option <option>-bt</option> de
+ <command>sendmail</command>. Elle lance <command>sendmail</command>
+ en mode &ldquo;test d'addresse&rdquo;; entrez simplement
+ <literal>0</literal>, puis l'adresse dont vous voulez tester la
+ route, la derni&egrave;re ligne vous donnera l'agent de transport de
+ courrier utilis&eacute; en interne, la machine destinatrice que vous
+ avez donn&eacute;e en param&egrave;tre, et l'adresse (&eacute;ventuellement traduite).
+ Vous quittez ce mode en tapant Ctrl-D.</para>
+
+ <informalexample>
+ <screen>&prompt.user; <userinput>sendmail -bt</userinput>
+ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
+Enter &lt;ruleset&gt; &lt;address&gt;
+<prompt>&gt;</prompt> <userinput>0 foo@interface-business.de</userinput>
+rewrite: ruleset 0 input: foo @ interface-business . de
+&hellip;
+rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo &lt; @ interface-business . de</screen>
+ </informalexample>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="mailfaq">
+ <title>FAQ</title>
+
+ <para><emphasis>Emprunts &agrave; la FAQ.</emphasis></para>
+
+
+ <sect2>
+ <title>Pourquoi faut-il que j'utilise les FQDN (&ldquo;Fully Qualified
+ Domain Name&rdquo;&nbsp;-&nbsp;noms Internet
+ complets) pour les machines de mon site?</title>
+
+ <para>Vous vous rendrez probablement compte que la machine est en
+ fait dans un domaine diff&eacute;rent; par exemple, si vous &ecirc;tes dans
+ le domaine <hostid role="fqdn">foo.bar.edu</hostid> et que vous
+ voulez atteindre la machine <hostid>mumble</hostid> du domaine
+ <hostid role="domainname">bar.edu</hostid>, vous devrez utiliser
+ son nom de domaine complet, <hostid
+ role="fqdn">mumble.bar.edu</hostid>, au lieu de
+ <hostid>mumble</hostid>.</para>
+
+ <para>C'&eacute;tait traditionnellement admis par les solveurs BIND BSD.
+ N&eacute;anmoins, la version de <application>BIND</application> qui est
+ maintenant livr&eacute;e avec FreeBSD ne sait pas compl&eacute;ter les noms
+ de domaines abr&eacute;g&eacute;s autrement qu'avec le nom de votre domaine.
+ Donc le nom non qualifi&eacute; <hostid>mumble</hostid> doit correspondre
+ &agrave; <hostid role="fqdn">mumble.foo.bar.edu</hostid>, sans quoi il
+ sera recherch&eacute; dans le domaine racine.</para>
+
+ <para>Cela diff&egrave;re du comportement ant&eacute;rieur, o&ugrave; la recherche se
+ prolongeait &agrave; <hostid role="domainname">mumble.bar.edu</hostid>,
+ puis <hostid role="domainname">mumble.edu</hostid>. Consultez la
+ RFC 1535 pour savoir pourquoi cela &eacute;tait consid&eacute;r&eacute; comme une mani&egrave;re
+ incorrecte de faire, voire un trou de s&eacute;curit&eacute;.</para>
+
+ <para>Comme palliatif, vous pouvez mettre la ligne:
+
+ <programlisting>
+search foo.bar.edu bar.edu</programlisting>
+
+ &agrave; la place de:
+
+ <programlisting>
+domain foo.bar.edu</programlisting>
+
+ dans votre fichier <filename>/etc/resolv.conf</filename>. Assurez-vous
+ cependant que la recherche ne franchit pas la
+ &ldquo;limite entre l'administration locale et publique&rdquo;
+ selon l'expression de la RFC 1535.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Sendmail affiche le message d'erreur
+ <errorname>mail loops back to myself</errorname></title>
+
+ <para>La r&eacute;ponse donn&eacute;e dans la FAQ de Sendmail est la suivante:</para>
+
+ <programlisting>
+* J'ai des messages "Local configuration error", du style:
+
+553 relay.domain.net config error: mail loops back to myself
+554 &lt;user@domain.net&gt;... Local configuration error
+
+Comment puis-je r&eacute;soudre ce probl&egrave;me?
+
+Vous avez demand&eacute; que le courrier pour un domaine (e.g., domain.net) soit
+transmis &agrave; une machine donn&eacute;e (dans ce cas pr&eacute;cis, relay.domain.net) avec
+un enregistrement MX, mais la machine relais ne se conna&icirc;t pas elle-m&ecirc;me
+comme domain.net. Ajoutez domain.net &agrave; /etc/sendmail.cw (si vous utilisez
+FEATURE(use_cw_file)) ou ajoutez "Cw domain.net" &agrave; /etc/sendmail.cf.</programlisting>
+
+ <para>La FAQ Sendmail se trouve dans
+ <filename>/usr/src/usr.sbin/sendmail</filename>. Je vous en
+ recommande la lecture si vous voulez &ldquo;bidouiller&rdquo;
+ votre configuration du courrier &eacute;lectronique.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Comment puis-je g&egrave;rer le courrier &eacute;lectronique avec une
+ connexion t&eacute;l&eacute;phonique PPP?</title>
+
+ <para>Vous voulez connecter une machine FreeBSD du r&eacute;seau local
+ &agrave; l'Internet. Cette machine servira de passerelle de courrier
+ pour le r&eacute;seau local. La connexion PPP n'est pas d&eacute;di&eacute;e.</para>
+
+ <para>Il y a au moins deux fa&ccedil;ons de faire.</para>
+
+ <para>L'une d'elle est d'utiliser UUCP. Voici l'autre.</para>
+
+ <para>Le point cl&eacute; est d'obtenir d'un site Internet qu'il vous
+ fournisse les services MX secondaires pour votre domaine. Par
+ exemple:</para>
+
+ <programlisting>
+bigco.com. MX 10 bigco.com.
+ MX 20 smalliap.com.</programlisting>
+
+ <para>Il doit y avoir une seule machine comme destinataire final
+ (ajoutez <literal>Cw bigco.com</literal> au fichier
+ <filename>/etc/sendmail.cf</filename> de bigco.com).</para>
+
+ <para>Quand les <command>sendmail</command> exp&eacute;diteurs essayeront
+ de vous d&eacute;livrer du courrier, ils essayerons de vous contacter via
+ votre liaison modem. Ce qui &eacute;chouera tr&egrave;s probablement sur
+ d&eacute;passement de d&eacute;lai puisque vous n'&ecirc;tes pas en ligne.
+ <command>sendmail</command> enverra automatiquement le courrier au
+ site MX secondaire, i.e.: votre fournisseur d'acc&egrave;s. Celui-ci
+ essayera toutes les 15 minutes (<literal>sendmail_flags =
+ "-bd -q15m"</literal> dans <filename>/etc/rc.conf</filename>)
+ de se connecter &agrave; votre machine pour exp&eacute;dier le courrier au site
+ MX primaire.</para>
+
+ <para>Vous pouvez utiliser quelque chose comme ceci comme
+ proc&eacute;dure de connexion:</para>
+
+ <programlisting>
+#!/bin/sh
+# Mettez-moi dans /usr/local/bin/pppbigco
+( sleep 60 ; /usr/sbin/sendmail -q ) &amp;
+/usr/sbin/ppp -direct pppbigco</programlisting>
+
+ <para>Si vous d&eacute;finissez une proc&eacute;dure de connexion particuli&egrave;re
+ pour un utilisateur, vous pouvez utiliser <command>sendmail
+ -qRbigco.com</command> au lieu de la proc&eacute;dure ci-dessus. Cela
+ forcera le traitement imm&eacute;diat de tout le courrier dans la file
+ d'attente pour bigco.com.</para>
+
+ <para>On peut encore affiner comme suit la configuration:</para>
+
+ <para>Message emprunt&eacute; &agrave; la liste de diffusion freebsd-isp.</para>
+
+ <programlisting>
+&gt; Nous fournissons un MX secondaire &agrave; un client. Le client se connecte
+&gt; &agrave; notre service automatiquement plusieurs fois par jour pour acheminer
+&gt; le courrier sur son MX primaire (nous n'appelons pas son site lorsque
+&gt; du courrier lui arrive). Notre sendmail envoie le courrier de la file
+&gt; d'attente toutes les demi-heures. Pour l'instant, il doit rester une
+&gt; demi-heure en ligne pour &ecirc;tre s&ucirc;r que tout le courrier soit arriv&eacute; au
+&gt; MX primaire.
+&gt;
+&gt; Y-a-t-il une commande qui permette de dire &agrave; sendmail d'envoyer
+&gt; sur-le-champ tout le courrier? L'utilisateur n'a &eacute;videmment pas
+&gt; les droits super-utilisateur sur la machine.
+
+Dans la section 'indicateurs de confidentialit&eacute;' de sendmail.cf,
+il y a la d&eacute;finition :
+ Opgoaway,restrictqrun
+
+Supprimer restrictqrun permet &agrave; d'autres utilisateurs que le super-utilisateur
+de lancer le traitement de la file d'attente. Vous pouvez aussi red&eacute;finir les
+MXs. Nous sommes le premier MX pour les utilisateurs de ce type et nous avons
+d&eacute;fini:
+
+# Si nous sommes le meilleur MX pour une machine, essayer directement au lieu
+# d'&eacute;mettre des messages d'erreur de configuration locale.
+OwTrue
+
+De cette fa&ccedil;on, un site distant vous enverra le courrier, sans essayer de
+se connecter chez votre client. Vous le lui transmettez ensuite. Cela ne
+marche qu'avec "hosts", vous n'avez donc pas besoin que votre client appelle
+son serveur de courrier "client.com" ou "machine.client.com" dans le DNS.
+Mettez seulement un enregistrement A pour "client.com" dans le DNS.</programlisting>
+
+ </sect2>
+ </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:
+-->
diff --git a/fr_FR.ISO_8859-1/books/handbook/mailing-lists.ent b/fr_FR.ISO_8859-1/books/handbook/mailing-lists.ent
new file mode 100644
index 0000000000..21e0a7d074
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/mailing-lists.ent
@@ -0,0 +1,110 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+<!--
+ fichier crée a partir du fichier lists.sgml
+ de la version linuxdoc du docbook
+-->
+
+<!ENTITY a.announce "liste de diffusion pour les annonces relatives à FreeBSD
+ <email>freebsd-announce@FreeBSD.ORG</email>">
+
+<!ENTITY a.advocacy "FreeBSD advocacy mailing list
+ <email>freebsd-advocacy@FreeBSD.ORG</email>">
+
+<!ENTITY a.cvsall "liste de diffusion des messages de soumission CVS de FreeBSD
+ <email>cvs-all@FreeBSD.ORG</email>">
+
+<!ENTITY a.database "FreeBSD based Databases
+ <email>freebsd-database@FreeBSD.ORG</email>">
+
+<!ENTITY a.fr-doc "liste de diffusion du groupe de traduction en langue française de la documentation de FreeBSD
+ <email>freebsd-france@freebsd.francenet.fr</email>">
+
+<!ENTITY a.doc "liste de diffusion du groupe de documentation de FreeBSD
+ <email>freebsd-doc@FreeBSD.ORG</email>">
+
+<!ENTITY a.bugs "FreeBSD problem reports mailing list
+ <email>freebsd-bugs@FreeBSD.ORG</email>">
+
+<!ENTITY a.chat "FreeBSD chat mailing list
+ <email>freebsd-chat@FreeBSD.ORG</email>">
+
+<!ENTITY a.current "liste de diffusion à propos de FreeBSD-current
+ <email>freebsd-current@FreeBSD.ORG</email>">
+
+<!ENTITY a.emulation "FreeBSD-emulation mailing list
+ <email>freebsd-emulation@FreeBSD.ORG</email>">
+
+<!ENTITY a.fs "FreeBSD filesystem project mailing list
+ <email>freebsd-fs@FreeBSD.ORG</email>">
+
+<!ENTITY a.hackers "liste de diffusion pour les discussions techniques sur FreeBSD
+ <email>freebsd-hackers@FreeBSD.ORG</email>">
+
+<!ENTITY a.hardware "FreeBSD hardware and equipment mailing list
+ <email>freebsd-hardware@FreeBSD.ORG</email>">
+
+<!ENTITY a.isdn "FreeBSD ISDN mailing list
+ <email>freebsd-isdn@FreeBSD.ORG</email>">
+
+<!ENTITY a.isp "FreeBSD Internet service provider's mailing list
+ <email>freebsd-isp@FreeBSD.ORG</email>">
+
+<!ENTITY a.java "FreeBSD Java Language mailing list
+ <email>freebsd-java@FreeBSD.ORG</email>">
+
+<!ENTITY a.jobs "FreeBSD related employment mailing list
+ <email>freebsd-jobs@FreeBSD.ORG</email>">
+
+<!ENTITY a.mobile "FreeBSD laptop computer mailing list
+ <email>freebsd-mobile@FreeBSD.ORG</email>">
+
+<!ENTITY a.mozilla "FreeBSD port of the Mozilla browser mailing list
+ <email>freebsd-mozilla@FreeBSD.ORG</email>">
+
+<!ENTITY a.multimedia "FreeBSD multimedia mailing list
+ <email>freebsd-multimedia@FreeBSD.ORG</email>">
+
+<!ENTITY a.net "FreeBSD networking mailing list
+ <email>freebsd-net@FreeBSD.ORG</email>">
+
+<!ENTITY a.newbies "FreeBSD new users mailing list
+ <email>freebsd-newbies@FreeBSD.ORG</email>">
+
+<!ENTITY a.ports "liste de diffusion à propos du catalogue des logiciels portés de FreeBSD
+ <email>freebsd-ports@FreeBSD.ORG</email>">
+
+<!ENTITY a.questions "liste de diffusion pour les questions d'ordre général à propos de FreeBSD
+ <email>freebsd-questions@FreeBSD.ORG</email>">
+
+<!ENTITY a.scsi "FreeBSD SCSI subsystem mailing list
+ <email>freebsd-scsi@FreeBSD.ORG</email>">
+
+<!ENTITY a.security "FreeBSD security mailing list
+ <email>freebsd-security@FreeBSD.ORG</email>">
+
+<!ENTITY a.security-notifications "FreeBSD security notifications mailing list
+ <email>freebsd-security-notifications@FreeBSD.ORG</email>">
+
+<!ENTITY a.small "liste de diffusion pour les systèmes FreeBSD embarqués
+ <email>freebsd-small@FreeBSD.ORG</email>">
+
+<!ENTITY a.smp "FreeBSD symmetric multiprocessing mailing list
+ <email>freebsd-smp@FreeBSD.ORG</email>">
+
+<!ENTITY a.stable "liste de diffusion à propos de FreeBSD-stable
+ <email>freebsd-stable@FreeBSD.ORG</email>">
+
+<!ENTITY a.tokenring "FreeBSD tokenring mailing list
+ <email>freebsd-tokenring@FreeBSD.ORG</email>">
+
+<!ENTITY a.majordomo
+ "<email>majordomo@FreeBSD.ORG</email>">
+
+<!ENTITY a.core "Equipe de base de FreeBSD
+ <email>freebsd-core@FreeBSD.ORG</email>">
diff --git a/fr_FR.ISO_8859-1/books/handbook/mirrors/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/mirrors/chapter.sgml
new file mode 100644
index 0000000000..69568d4228
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/mirrors/chapter.sgml
@@ -0,0 +1,1420 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: 1.12
+-->
+
+<chapter id="mirrors">
+ <title>Se procurer FreeBSD</title>
+
+ <sect1>
+ <title>Editeurs de CD-ROMs</title>
+
+ <para>FreeBSD est disponible sur CD-ROMs chez Walnut Creek CDROM&nbsp;:
+
+ <address>
+ <otheraddr>Walnut Creek CDROM</otheraddr>
+ <street>4041 Pike Lane, Suite F</street>
+ <city>Concord</city>
+ <state>CA</state>, <postcode>94520</postcode>
+ <country>USA</country>
+ T&eacute;l&eacute;phone&nbsp;: <phone>+1 925 674-0783</phone>
+ Fax&nbsp;: <fax>+1 925 674-0821</fax>
+ Email&nbsp;: <email>info@cdrom.com</email>
+ WWW&nbsp;: <otheraddr>http://www.cdrom.com/</otheraddr>
+ </address></para>
+ </sect1>
+
+ <sect1 id="mirrors-ftp">
+ <title>Sites FTP</title>
+
+ <para>Les sources officiels de FreeBSD sont disponibles via FTP anonyme
+ &agrave; l'adresse suivante&nbsp;:
+
+ <blockquote>
+ <para><ulink
+ URL="ftp://ftp.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.FreeBSD.ORG/pub/FreeBSD</ulink>.</para>
+ </blockquote></para>
+
+ <para>La <ulink
+ url="http://www.itworks.com.au/~gavin/FBSDsites.php3">base de
+ donn&eacute;es des sites miroir FreeBSD</ulink> est plus &agrave; jour que
+ la liste de ce manuel de r&eacute;f&eacute;rence, parce qu'elle tire ses
+ informations du DNS plut&ocirc;t que de donner une liste
+ fig&eacute;e.</para>
+
+ <para>FreeBSD est aussi disponible via FTP anonyme sur les sites miroir
+ ci-dessous. Si vous faites le choix de vous procurer FreeBSD via FTP
+ anonyme, faites s'il vous pla&icirc;t en sorte d'utiliser un site proche
+ de vous.</para>
+
+ <para>
+ <link linkend="mirrors-za">Afrique du Sud</link>,
+ <link linkend="mirrors-de">Allemagne</link>,
+ <link linkend="mirrors-ar">Argentine</link>,
+ <link linkend="mirrors-au">Australie</link>,
+ <link linkend="mirrors-br">Br&eacute;sil</link>,
+ <link linkend="mirrors-ca">Canada</link>,
+ <link linkend="mirrors-kr">Cor&eacute;e</link>,
+ <link linkend="mirrors-dk">Danemark</link>,
+ <link linkend="mirrors-es">Espagne</link>,
+ <link linkend="mirrors-ee">Estonie</link>,
+ <link linkend="mirrors-us">Etats-Unis</link>,
+ <link linkend="mirrors-fi">Finlande</link>,
+ <link linkend="mirrors-fr">France</link>,
+ <link linkend="mirrors-hk">Hong Kong</link>,
+ <link linkend="mirrors-ie">Irelande</link>,
+ <link linkend="mirrors-il">Isra&euml;l</link>,
+ <link linkend="mirrors-jp">Japon</link>,
+ <link linkend="mirrors-nl">Pays-Bas</link>,
+ <link linkend="mirrors-pl">Pologne</link>,
+ <link linkend="mirrors-pt">Portugal</link>,
+ <link linkend="mirrors-sk">R&eacute;publique Slovaque</link>,
+ <link linkend="mirrors-cz">R&eacute;publique Tch&egrave;que</link>,
+ <link linkend="mirrors-uk">Royaume-Uni</link>,
+ <link linkend="mirrors-ru">Russie</link>,
+ <link linkend="mirrors-si">Slov&eacute;nie</link>,
+ <link linkend="mirrors-se">Su&egrave;de</link>,
+ <link linkend="mirrors-tw">Ta&iuml;wan</link>,
+ <link linkend="mirrors-th">Tha&iuml;lande</link>,
+ <link linkend="mirrors-ua">Ukraine</link>.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><anchor id="mirrors-za">Afrique du Sud</term>
+
+ <listitem>
+ <para>En cas de probl&egrave;me, contactez le
+ &ldquo;<foreignphrase>hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@za.FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.za.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.za.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp2.za.FreeBSD.ORG/pub/FreeBSD">ftp://ftp2.za.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp3.za.FreeBSD.ORG/FreeBSD">ftp://ftp3.za.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-de">Allemagne</term>
+
+ <listitem>
+ <para>En cas de probl&egrave;me, contactez le
+ &ldquo;<foreignphrase>hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@de.FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.de.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.de.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp2.de.FreeBSD.ORG/pub/FreeBSD">ftp://ftp2.de.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp3.de.FreeBSD.ORG/pub/FreeBSD">ftp://ftp3.de.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp4.de.FreeBSD.ORG/pub/FreeBSD">ftp://ftp4.de.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp5.de.FreeBSD.ORG/pub/FreeBSD">ftp://ftp5.de.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp6.de.FreeBSD.ORG/pub/FreeBSD">ftp://ftp6.de.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp7.de.FreeBSD.ORG/pub/FreeBSD">ftp://ftp7.de.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-ar">Argentine</term>
+
+ <listitem>
+ <para>En cas de probl&egrave;me, contactez le
+ &ldquo;<foreignphrase>hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@ar.FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.ar.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.ar.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-au">Australie</term>
+
+ <listitem>
+ <para>En cas de probl&egrave;me, contactez le
+ &ldquo;<foreignphrase>hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@au.FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.au.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.au.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp2.au.FreeBSD.ORG/pub/FreeBSD">ftp://ftp2.au.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp3.au.FreeBSD.ORG/pub/FreeBSD">ftp://ftp3.au.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp4.au.FreeBSD.ORG/pub/FreeBSD">ftp://ftp4.au.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-br">Br&eacute;sil</term>
+
+ <listitem>
+ <para>En cas de probl&egrave;me, contactez le
+ &ldquo;<foreignphrase>hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@br.FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.br.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.br.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp2.br.FreeBSD.ORG/pub/FreeBSD">ftp://ftp2.br.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp3.br.FreeBSD.ORG/pub/FreeBSD">ftp://ftp3.br.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp4.br.FreeBSD.ORG/pub/FreeBSD">ftp://ftp4.br.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp5.br.FreeBSD.ORG/pub/FreeBSD">ftp://ftp5.br.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp6.br.FreeBSD.ORG/pub/FreeBSD">ftp://ftp6.br.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp7.br.FreeBSD.ORG/pub/FreeBSD">ftp://ftp7.br.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-ca">Canada</term>
+
+ <listitem>
+ <para>En cas de probl&egrave;me, contactez le
+ &ldquo;<foreignphrase>hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@ca.FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.ca.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.ca.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-kr">Cor&eacute;e</term>
+
+ <listitem>
+ <para>En cas de probl&egrave;me, contactez le
+ &ldquo;<foreignphrase>hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@kr.FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.kr.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.kr.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp2.kr.FreeBSD.ORG/pub/FreeBSD">ftp://ftp2.kr.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink url="ftp://ftp3.kr.FreeBSD.ORG/pub/FreeBSD">ftp://ftp3.kr.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink url="ftp://ftp4.kr.FreeBSD.ORG/pub/FreeBSD">ftp://ftp4.kr.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink url="ftp://ftp5.kr.FreeBSD.ORG/pub/FreeBSD">ftp://ftp5.kr.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ url="ftp://ftp6.kr.FreeBSD.ORG/pub/FreeBSD">ftp://ftp6.kr.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-dk">Danemark</term>
+
+ <listitem>
+ <para>En cas de probl&egrave;me, contactez le
+ &ldquo;<foreignphrase>hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@dk.FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.dk.freeBSD.ORG/pub/FreeBSD">ftp://ftp.dk.freeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-es">Espagne</term>
+
+ <listitem>
+ <para>En cas de probl&egrave;me, contactez le
+ &ldquo;<foreignphrase>hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@es.FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink url="ftp://ftp.es.freebsd.ORG/pub/FreeBSD">ftp://ftp.es.freebsd.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-ee">Estonie</term>
+
+ <listitem>
+ <para>En cas de probl&egrave;me, contactez le
+ &ldquo;<foreignphrase>hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@ee.FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.ee.freebsd.ORG/pub/FreeBSD">ftp://ftp.ee.freebsd.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-us">Etats-Unis</term>
+
+ <listitem>
+ <para>En cas de probl&egrave;me, contactez le
+ &ldquo;<foreignphrase>hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp2.FreeBSD.ORG/pub/FreeBSD">ftp://ftp2.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp3.FreeBSD.ORG/pub/FreeBSD">ftp://ftp3.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp4.FreeBSD.ORG/pub/FreeBSD">ftp://ftp4.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp5.FreeBSD.ORG/pub/FreeBSD">ftp://ftp5.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp6.FreeBSD.ORG/pub/FreeBSD">ftp://ftp6.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-fi">Finlande</term>
+
+ <listitem>
+ <para>En cas de probl&egrave;me, contactez le
+ &ldquo;<foreignphrase>hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@fi.FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.fi.freebsd.ORG/pub/FreeBSD">ftp://ftp.fi.freebsd.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-fr">France</term>
+
+ <listitem>
+ <para>En cas de probl&egrave;me, contactez le
+ &ldquo;<foreignphrase>hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@fr.FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.fr.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.fr.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp2.fr.FreeBSD.ORG/pub/FreeBSD">ftp://ftp2.fr.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp3.fr.FreeBSD.ORG/pub/FreeBSD">ftp://ftp3.fr.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-hk">Hong Kong</term>
+
+ <listitem>
+ <itemizedlist>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.hk.super.net/pub/FreeBSD">ftp://ftp.hk.super.net/pub/FreeBSD</ulink> Contact: <email>ftp-admin@HK.Super.NET</email>.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-ie">Irelande</term>
+
+ <listitem>
+ <para>En cas de probl&egrave;me, contactez le
+ &ldquo;<foreignphrase>hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@ie.FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.ie.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.ie.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-il">Isra&euml;l</term>
+
+ <listitem>
+ <para>En cas de probl&egrave;me, contactez le
+ &ldquo;<foreignphrase>hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@il.FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.il.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.il.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp2.il.FreeBSD.ORG/pub/FreeBSD">ftp://ftp2.il.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-jp">Japon</term>
+
+ <listitem>
+ <para>En cas de probl&egrave;me, contactez le
+ &ldquo;<foreignphrase>hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@jp.FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.jp.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.jp.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp2.jp.FreeBSD.ORG/pub/FreeBSD">ftp://ftp2.jp.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp3.jp.FreeBSD.ORG/pub/FreeBSD">ftp://ftp3.jp.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp4.jp.FreeBSD.ORG/pub/FreeBSD">ftp://ftp4.jp.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp5.jp.FreeBSD.ORG/pub/FreeBSD">ftp://ftp5.jp.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp6.jp.FreeBSD.ORG/pub/FreeBSD">ftp://ftp6.jp.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-nl">Pays-Bas</term>
+
+ <listitem>
+ <para>En cas de probl&egrave;me, contactez le
+ &ldquo;<foreignphrase>hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@nl.FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.nl.freebsd.ORG/pub/FreeBSD">ftp://ftp.nl.freebsd.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-pl">Pologne</term>
+
+ <listitem>
+ <para>En cas de probl&egrave;me, contactez le
+ &ldquo;<foreignphrase>hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@pl.FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.pl.freebsd.ORG/pub/FreeBSD">ftp://ftp.pl.freebsd.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-pt">Portugal</term>
+
+ <listitem>
+ <para>En cas de probl&egrave;me, contactez le
+ &ldquo;<foreignphrase>hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@pt.FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.pt.freebsd.org/pub/FreeBSD">ftp://ftp.pt.freebsd.org/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp2.pt.freebsd.org/pub/FreeBSD">ftp://ftp2.pt.freebsd.org/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-sk">R&eacute;publique Slovaque</term>
+
+ <listitem>
+ <para>En cas de probl&egrave;me, contactez le
+ &ldquo;<foreignphrase>hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@sk.FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink url="ftp://ftp.sk.freebsd.ORG/pub/FreeBSD">ftp://ftp.sk.freebsd.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-cz">R&eacute;publique Tch&egrave;que</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://sunsite.mff.cuni.cz/OS/FreeBSD">ftp://sunsite.mff.cuni.cz/OS/FreeBSD</ulink> Contact: <email>jj@sunsite.mff.cuni.cz</email>.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-uk">Royaume-Uni</term>
+
+ <listitem>
+ <para>En cas de probl&egrave;me, contactez le
+ &ldquo;<foreignphrase>hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@uk.FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.uk.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.uk.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp2.uk.FreeBSD.ORG/pub/FreeBSD">ftp://ftp2.uk.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp3.uk.FreeBSD.ORG/pub/FreeBSD">ftp://ftp3.uk.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp4.uk.FreeBSD.ORG/pub/FreeBSD">ftp://ftp4.uk.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-ru">Russie</term>
+
+ <listitem>
+ <para>En cas de probl&egrave;me, contactez le
+ &ldquo;<foreignphrase>hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@ru.FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.ru.freebsd.org/pub/FreeBSD">ftp://ftp.ru.freebsd.org/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp2.ru.freebsd.org/pub/FreeBSD">ftp://ftp2.ru.freebsd.org/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp3.ru.freebsd.org/pub/FreeBSD">ftp://ftp3.ru.freebsd.org/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink url="ftp://ftp4.ru.freebsd.org/pub/FreeBSD">ftp://ftp4.ru.freebsd.org/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><anchor id="mirrors-si">Slov&eacute;nie</term>
+
+ <listitem>
+ <para>En cas de probl&egrave;me, contactez le
+ &ldquo;<foreignphrase>hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@si.FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.si.freebsd.ORG/pub/FreeBSD">ftp://ftp.si.freebsd.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-se">Su&egrave;de</term>
+
+ <listitem>
+ <para>En cas de probl&egrave;me, contactez le
+ &ldquo;<foreignphrase>hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@se.FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.se.freebsd.ORG/pub/FreeBSD">ftp://ftp.se.freebsd.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp2.se.freebsd.ORG/pub/FreeBSD">ftp://ftp2.se.freebsd.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp3.se.freebsd.ORG/pub/FreeBSD">ftp://ftp3.se.freebsd.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-tw">Ta&iuml;wan</term>
+
+ <listitem>
+ <para>En cas de probl&egrave;me, contactez le
+ &ldquo;<foreignphrase>hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@tw.FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.tw.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.tw.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp2.tw.FreeBSD.ORG/pub/FreeBSD">ftp://ftp2.tw.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp3.tw.FreeBSD.ORG/pub/FreeBSD">ftp://ftp3.tw.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-th">Tha&iuml;lande</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.nectec.or.th/pub/FreeBSD">ftp://ftp.nectec.or.th/pub/FreeBSD</ulink> Contact: <email>ftpadmin@ftp.nectec.or.th</email>.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><anchor id="mirrors-ua">Ukraine</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.ua.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.ua.FreeBSD.ORG/pub/FreeBSD</ulink> Contact: <email>freebsd-mnt@lucky.net</email>.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>Les derni&egrave;res versions du code FreeBSD (2.0C et
+ ult&eacute;rieurs) soumis &agrave; des restrictions &agrave; l'exportation
+ (&ldquo;eBones&rdquo; et &ldquo;secure&rdquo;) sont disponibles sur les
+ sites suivants. Si vous &ecirc;tes &agrave; l'ext&eacute;rieur des
+ Etats-Unis et du Canada, procurez-vous s'il vous pla&icirc;t
+ &ldquo;secure&rdquo; (DES) et &ldquo;eBones&rdquo; d'un des sites de
+ distribution &eacute;trangers suivants&nbsp;:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>Afrique du Sud</term>
+
+ <listitem>
+ <para>&ldquo;<foreignphrase>Hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@internat.FreeBSD.ORG</email> pour ce
+ domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.internat.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.internat.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp2.internat.FreeBSD.ORG/pub/FreeBSD">ftp://ftp2.internat.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Br&eacute;sil</term>
+
+ <listitem>
+ <para>&ldquo;<foreignphrase>Hostmaster</foreignphrase>&rdquo;
+ <email>hostmaster@br.FreeBSD.ORG</email> pour ce domaine.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.br.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.br.FreeBSD.ORG/pub/FreeBSD</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Finlande</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt">ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt</ulink> Contact: <email>count@nic.funet.fi</email>.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect1>
+
+ <sect1 id="mirrors-ctm">
+ <title>Sites CTM</title>
+
+ <para><link linkend="ctm">CTM</link>/FreeBSD est disponible via FTP anonyme
+ sur les sites miroir suivants. Si vous faites le choix de vous procurer
+ CTM via FTP anonyme, utilisez s'il vous pla&icirc;t un site proche de
+ vous.</para>
+
+ <para>En cas de probl&egrave;me, contactez &a.phk;.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>Afrique du Sud, serveur de secours pour les anciens deltas</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.internat.freebsd.org/pub/FreeBSD/CTM">ftp://ftp.internat.freebsd.org/pub/FreeBSD/CTM</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Allemagne, Trier</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.uni-trier.de/pub/unix/systems/BSD/FreeBSD/CTM">ftp://ftp.uni-trier.de/pub/unix/systems/BSD/FreeBSD/CTM</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Californie, Bay Area, source officiel</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.freebsd.org/pub/FreeBSD/development/CTM">ftp://ftp.freebsd.org/pub/FreeBSD/development/CTM</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Taiwan/R.O.C, Chiayi</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="ftp://ctm.tw.freebsd.org/pub/FreeBSD/CTM">ftp://ctm.tw.freebsd.org/pub/FreeBSD/CTM</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ctm2.tw.freebsd.org/pub/FreeBSD/CTM">ftp://ctm2.tw.freebsd.org/pub/FreeBSD/CTM</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://ctm3.tw.freebsd.org/pub/freebsd/CTM">ftp://ctm3.tw.freebsd.org/pub/freebsd/CTM</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>Si vous n'avez pas trouv&eacute; de miroir proche de vous, ou si le
+ miroir est incomplet, essayez une
+ <ulink URL="http://ftpsearch.ntnu.no/"> recherche FTP</ulink> sur
+ <ulink URL="http://ftpsearch.ntnu.no/ftpsearch/">http://ftpsearch.ntnu.no/ftpsearch</ulink>.
+ Ce site est un excellent serveur &ldquo;archie&rdquo; libre &agrave;
+ Trondheim, en Norv&egrave;ge.</para>
+ </sect1>
+
+ <sect1 id="mirrors-cvsup">
+ <title>Sites CVSup</title>
+
+ <para>Des serveurs <link linkend="cvsup">CVSup</link> FreeBSD sont
+ disponibles sur les sites suivants&nbsp;:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>Afrique du Sud</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>cvsup.za.FreeBSD.ORG (responsable
+ <email>markm@FreeBSD.ORG</email>)</para>
+ </listitem>
+
+ <listitem>
+ <para>cvsup2.za.FreeBSD.ORG (responsable
+ <email>markm@FreeBSD.ORG</email>)</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Allemagne</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>cvsup.de.FreeBSD.ORG (responsable
+ <email>wosch@freebsd.org</email>)</para>
+ </listitem>
+
+ <listitem>
+ <para>cvsup2.de.FreeBSD.ORG (responsable
+ <email>petzi@freebsd.org</email>)</para>
+ </listitem>
+
+ <listitem>
+ <para>cvsup3.de.FreeBSD.ORG (responsable
+ <email>ag@leo.org</email>)</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Argentine</term>
+
+ <listitem>
+ <itemizedlist>
+
+ <listitem>
+ <para>cvsup.ar.FreeBSD.ORG (responsable
+ <email>msagre@cactus.fi.uba.ar</email>)</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Australie</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>cvsup.au.FreeBSD.ORG (responsable
+ <email>dawes@physics.usyd.edu.au</email>)</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Br&eacute;sil</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>cvsup.br.FreeBSD.ORG (responsable
+ <email>cvsup@cvsup.br.freebsd.org</email>)</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Canada</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>cvsup.ca.FreeBSD.ORG (responsable
+ <email>dm@glbalserve.net</email>)</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Danemark</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>cvsup.dk.FreeBSD.ORG (responsable
+ <email>jesper@skriver.dk</email>)</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Espagne</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>cvsup.es.freebsd.org (responsable
+ <email>jesusr@freebsd.org</email>)</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Estonie</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>cvsup.ee.FreeBSD.ORG (responsable
+ <email>taavi@uninet.ee</email>)</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Etats-Unis</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>cvsup1.FreeBSD.ORG (responsable
+ <email>skynyrd@opus.cts.cwu.edu</email>), Washington
+ state</para>
+ </listitem>
+
+ <listitem>
+ <para>cvsup2.FreeBSD.ORG (responsable
+ <email>jdp@FreeBSD.ORG</email>), California</para>
+ </listitem>
+
+ <listitem>
+ <para>cvsup3.FreeBSD.ORG (responsable
+ <email>wollman@FreeBSD.ORG</email>), Massachusetts</para>
+ </listitem>
+
+ <listitem>
+ <para>cvsup5.FreeBSD.ORG (responsable
+ <email>cvsup@adsu.bellsouth.com</email>), Georgia</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Finlande</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>cvsup.fi.FreeBSD.ORG (responsable
+ <email>count@key.sms.fi</email>)</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Icelande</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>cvsup.is.FreeBSD.ORG (responsable
+ <email>adam@veda.is</email>)</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Japon</term>
+
+ <listitem>
+ <itemizedlist>
+
+ <listitem>
+ <para>cvsup.jp.FreeBSD.ORG (responsable
+ <email>simokawa@sat.t.u-tokyo.ac.jp</email>)</para>
+ </listitem>
+
+ <listitem>
+ <para>cvsup2.jp.FreeBSD.ORG (responsable
+ <email>max@FreeBSD.ORG</email>)</para>
+ </listitem>
+
+ <listitem>
+ <para>cvsup3.jp.FreeBSD.ORG (responsable
+ <email>shige@cin.nihon-u.ac.jp</email>)</para>
+ </listitem>
+
+ <listitem>
+ <para>cvsup4.jp.FreeBSD.ORG (responsable
+ <email>cvsup-admin@ftp.media.kyoto-u.ac.jp</email>)</para>
+ </listitem>
+
+ <listitem>
+ <para>cvsup5.jp.FreeBSD.ORG (responsable
+ <email>cvsup@imasy.or.jp</email>)</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Norv&egrave;ge</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>cvsup.no.FreeBSD.ORG (responsable
+ <email>Tor.Egge@idt.ntnu.no</email>)</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Pays-Bas</term>
+
+ <listitem>
+ <itemizedlist>
+
+ <listitem>
+ <para>cvsup.nl.FreeBSD.ORG (responsable
+ <email>xaa@xaa.iae.nl</email>)</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Pologne</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>cvsup.pl.FreeBSD.ORG (responsable
+ <email>Mariusz@kam.pl</email>)</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>R&eacute;publique Slovaque</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>cvsup.sk.FreeBSD.ORG (responsable
+ <email>tps@tps.sk</email>)</para>
+ </listitem>
+
+ <listitem>
+ <para>cvsup2.sk.FreeBSD.ORG (responsable
+ <email>tps@tps.sk</email>)</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Royaume-Uni</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>cvsup.uk.FreeBSD.ORG (responsable
+ <email>joe@pavilion.net</email>)</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Russie</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>cvsup.ru.FreeBSD.ORG (responsable
+ <email>mishania@demos.su</email>)</para>
+ </listitem>
+
+ <listitem>
+ <para>cvsup2.ru.FreeBSD.ORG (responsable
+ <email>dv@dv.ru</email>)</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Su&egrave;de</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>cvsup.se.FreeBSD.ORG (responsable
+ <email>pantzer@ludd.luth.se</email>)</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Ta&iuml;wan</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>cvsup.tw.FreeBSD.ORG (responsable
+ <email>jdli@freebsd.csie.nctu.edu.tw</email>)</para>
+ </listitem>
+
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Ukraine</term>
+
+ <listitem>
+ <itemizedlist>
+
+ <listitem>
+ <para>cvsup2.ua.FreeBSD.ORG (responsable
+ <email>freebsd-mnt@lucky.net</email>)</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>Le code pour FreeBSD soumis &agrave; des restrictions &agrave;
+ l'exportation (&ldquo;eBones&rdquo; et &ldquo;secure&rdquo;) est
+ disponible via <application>CVSup</application> sur l'archive
+ internationale suivante. Utilisez s'il vous pla&icirc;t ce site pour
+ obtenir ce code, si vous &ecirc;tes &agrave; l'ext&eacute;rieur des
+ Etats-Unis et du Canada.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>Afrique du Sud</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>cvsup.internat.FreeBSD.ORG (responsable
+ <email>markm@FreeBSD.ORG</email>)</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>Le site <application>CVSup</application> suivant est
+ sp&eacute;cialement con&ccedil;u pour les utilisateurs de
+ <link linkend="ctm">CTM</link>. A l'inverse des autres miroirs CVSup, il
+ est mis &agrave; jour via <application>CTM</application>. Ce qui signifie
+ que si vous r&eacute;cup&eacute;rez avec <application>CVSup</application>
+ <literal>cvs-all</literal> avec <literal>release=cvs</literal> de ce site, vous obtenez une version
+ des archives (y compris l'in&eacute;vitable fichier
+ <filename>.ctm_status</filename>) pr&ecirc;te &agrave; &ecirc;tre mise
+ &agrave; jour avec les deltas <application>CTM</application>
+ <literal>cvs-cur</literal>. Cela permet aux utilisateurs qui maintiennent
+ &agrave; jour toute l'arborescence <literal>cvs-all</literal> de passer de
+ <application>CVSup</application> &agrave; <application>CTM</application>
+ sans avoir &agrave; r&eacute;initialiser leur archive avec un nouveau
+ delta <application>CTM</application> de base.</para>
+
+ <note>
+ <para>Cette fonctionnalit&eacute; particuli&egrave;re ne s'applique
+ qu'&agrave; la distribution <literal>cvs-all</literal> avec
+ <command>cvs</command> comme &eacute;tiquette de version.
+ R&eacute;cup&eacute;rer tout autre distribution et/ou version CVSup vous
+ procurera la distribution en question, mais elle ne pourra pas
+ &ecirc;tre mise &agrave; jour avec
+ <application>CTM</application>.</para>
+ </note>
+
+ <note>
+ <para>Comme la version actuelle de <application>CTM</application> ne
+ conserve pas les dates des fichiers, les dates sur ce site miroir ne
+ sont pas les m&ecirc;mes que sur les autres sites. Il n'est pas
+ recommand&eacute; de passer de ce site &agrave; d'autres. Cela
+ fonctionnera, mais ce n'est pas tr&egrave;s efficace.</para>
+ </note>
+
+ <variablelist>
+ <varlistentry>
+ <term>Allemagne</term>
+
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>ctm.FreeBSD.ORG (responsable
+ <email>blank@fox.uni-trier.de</email>)</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect1>
+
+ <sect1 id="mirrors-afs">
+ <title>Sites AFS</title>
+
+ <para>Il y a des serveurs AFS pour FreeBSD sur les sites
+ suivants&nbsp;:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>Su&egrave;de</term>
+
+ <listitem>
+ <para>Le chemin d'acc&egrave;s aux fichiers est &nbsp;:
+ <filename>/afs/stacken.kth.se/ftp/pub/FreeBSD</filename></para>
+
+ <itemizedlist>
+ <listitem>
+ <para><hostid role="fqdn">stacken.kth.se</hostid>, Stacken
+ Computer Club, KTH, Su&egrave;de</para>
+ </listitem>
+
+ <listitem>
+ <para><hostid role="ipaddr">130.237.234.3</hostid>, <hostid
+ role="fqdn">milko.stacken.kth.se</hostid></para>
+ </listitem>
+
+ <listitem>
+ <para><hostid role="ipaddr">130.237.234.43</hostid>, <hostid
+ role="fqdn">hot.stacken.kth.se</hostid></para>
+ </listitem>
+
+ <listitem>
+ <para><hostid role="ipaddr">130.237.234.44</hostid>, <hostid
+ role="fqdn">dog.stacken.kth.se</hostid></para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Responsable&nbsp;: <email>ftp@stacken.kth.se</email></para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect1>
+</chapter>
+
+<!--
+ Local Variables:
+ mode: sgml
+ sgml-declaration: "../chapter.decl"
+ sgml-indent-data: t
+ sgml-omittag: nil
+ sgml-always-quote-attributes: t
+ sgml-parent-document: ("../handbook.sgml" "part" "chapter")
+ End:
+-->
+
diff --git a/fr_FR.ISO_8859-1/books/handbook/pgpkeys/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/pgpkeys/chapter.sgml
new file mode 100644
index 0000000000..17f0f41fc8
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/pgpkeys/chapter.sgml
@@ -0,0 +1,627 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: 1.11
+-->
+
+<chapter id="pgpkeys">
+ <title>PGP keys</title>
+
+ <para>Pour le cas o&ugrave; vous auriez besoin de v&eacute;rifier une
+ signature ou d'envoyer un courrier &eacute;lectronique crypt&eacute;
+ &agrave; l'un des officiers ou membres de l'&eacute;quipe de base, voici
+ &agrave; cet effet un certain nombre de cl&eacute;s.</para>
+
+ <sect1>
+ <title>Officiers</title>
+
+ <sect2>
+ <title>Officier de s&eacute;rit&eacute; FreeBSD
+ <email>security-officer@freebsd.org</email></title>
+
+ <programlisting>
+FreeBSD Security Officer &lt;security-officer@freebsd.org&gt;
+Fingerprint = 41 08 4E BB DB 41 60 71 F9 E5 0E 98 73 AF 3F 11
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: 2.6.3i
+
+mQCNAzF7MY4AAAEEAK7qBgPuBejER5HQbQlsOldk3ZVWXlRj54raz3IbuAUrDrQL
+h3g57T9QY++f3Mot2LAf5lDJbsMfWrtwPrPwCCFRYQd6XH778a+l4ju5axyjrt/L
+Ciw9RrOC+WaPv3lIdLuqYge2QRC1LvKACIPNbIcgbnLeRGLovFUuHi5z0oilAAUR
+tDdGcmVlQlNEIFNlY3VyaXR5IE9mZmljZXIgPHNlY3VyaXR5LW9mZmljZXJAZnJl
+ZWJzZC5vcmc+iQCVAwUQMX6yrOJgpPLZnQjrAQHyowQA1Nv2AY8vJIrdp2ttV6RU
+tZBYnI7gTO3sFC2bhIHsCvfVU3JphfqWQ7AnTXcD2yPjGcchUfc/EcL1tSlqW4y7
+PMP4GHZp9vHog1NAsgLC9Y1P/1cOeuhZ0pDpZZ5zxTo6TQcCBjQA6KhiBFP4TJql
+3olFfPBh3B/Tu3dqmEbSWpuJAJUDBRAxez3C9RVb+45ULV0BAak8A/9JIG/jRJaz
+QbKom6wMw852C/Z0qBLJy7KdN30099zMjQYeC9PnlkZ0USjQ4TSpC8UerYv6IfhV
+nNY6gyF2Hx4CbEFlopnfA1c4yxtXKti1kSN6wBy/ki3SmqtfDhPQ4Q31p63cSe5A
+3aoHcjvWuqPLpW4ba2uHVKGP3g7SSt6AOYkAlQMFEDF8mz0ff6kIA1j8vQEBmZcD
+/REaUPDRx6qr1XRQlMs6pfgNKEwnKmcUzQLCvKBnYYGmD5ydPLxCPSFnPcPthaUb
+5zVgMTjfjS2fkEiRrua4duGRgqN4xY7VRAsIQeMSITBOZeBZZf2oa9Ntidr5PumS
+9uQ9bvdfWMpsemk2MaRG9BSoy5Wvy8VxROYYUwpT8Cf2iQCVAwUQMXsyqWtaZ42B
+sqd5AQHKjAQAvolI30Nyu3IyTfNeCb/DvOe9tlOn/o+VUDNJiE/PuBe1s2Y94a/P
+BfcohpKC2kza3NiW6lLTp00OWQsuu0QAPc02vYOyseZWy4y3Phnw60pWzLcFdemT
+0GiYS5Xm1o9nAhPFciybn9j1q8UadIlIq0wbqWgdInBT8YI/l4f5sf6JAJUDBRAx
+ezKXVS4eLnPSiKUBAc5OBACIXTlKqQC3B53qt7bNMV46m81fuw1PhKaJEI033mCD
+ovzyEFFQeOyRXeu25Jg9Bq0Sn37ynISucHSmt2tUD5W0+p1MUGyTqnfqejMUWBzO
+v4Xhp6a8RtDdUMBOTtro16iulGiRrCKxzVgEl4i+9Z0ZiE6BWlg5AetoF5n3mGk1
+lw==
+=ipyA
+-----END PGP PUBLIC KEY BLOCK-----</programlisting>
+ </sect2>
+
+ <sect2>
+ <title>&a.imp;</title>
+
+ <programlisting>
+Warner Losh &lt;imp@village.org&gt;
+ aka &lt;imp@freebsd.org&gt;
+Fingerprint = D4 31 FD B9 F7 90 17 E8 37 C5 E7 7F CF A6 C1 B9
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: 2.6.2
+
+mQCNAzDzTiAAAAEEAK8D7KWEbVFUrmlqhUEnAvphNIqHEbqqT8s+c5f5c2uHtlcH
+V4mV2TlUaDSVBN4+/D70oHmZc4IgiQwMPCWRrSezg9z/MaKlWhaslc8YT6Xc1q+o
+EP/fAdKUrq49H0QQbkQk6Ks5wKW6v9AOvdmsS6ZJEcet6d9G4dxynu/2qPVhAAUR
+tCBNLiBXYXJuZXIgTG9zaCA8aW1wQHZpbGxhZ2Uub3JnPokAlQMFEDM/SK1VLh4u
+c9KIpQEBFPsD/1n0YuuUPvD4CismZ9bx9M84y5sxLolgFEfP9Ux196ZSeaPpkA0g
+C9YX/IyIy5VHh3372SDWN5iVSDYPwtCmZziwIV2YxzPtZw0nUu82P/Fn8ynlCSWB
+5povLZmgrWijTJdnUWI0ApVBUTQoiW5MyrNN51H3HLWXGoXMgQFZXKWYiQCVAwUQ
+MzmhkfUVW/uOVC1dAQG3+AP/T1HL/5EYF0ij0yQmNTzt1cLt0b1e3N3zN/wPFFWs
+BfrQ+nsv1zw7cEgxLtktk73wBGM9jUIdJu8phgLtl5a0m9UjBq5oxrJaNJr6UTxN
+a+sFkapTLT1g84UFUO/+8qRB12v+hZr2WeXMYjHAFUT18mp3xwjW9DUV+2fW1Wag
+YDKJAJUDBRAzOYK1s1pi61mfMj0BARBbA/930CHswOF0HIr+4YYUs1ejDnZ2J3zn
+icTZhl9uAfEQq++Xor1x476j67Z9fESxyHltUxCmwxsJ1uOJRwzjyEoMlyFrIN4C
+dE0C8g8BF+sRTt7VLURLERvlBvFrVZueXSnXvmMoWFnqpSpt3EmN6TNaLe8Cm87a
+k6EvQy0dpnkPKokAlQMFEDD9Lorccp7v9qj1YQEBrRUD/3N4cCMWjzsIFp2Vh9y+
+RzUrblyF84tJyA7Rr1p+A7dxf7je3Zx5QMEXosWL1WGnS5vC9YH2WZwv6sCU61gU
+rSy9z8KHlBEHh+Z6fdRMrjd9byPf+n3cktT0NhS23oXB1ZhNZcB2KKhVPlNctMqO
+3gTYx+Nlo6xqjR+J2NnBYU8p
+=7fQV
+-----END PGP PUBLIC KEY BLOCK-----</programlisting>
+ </sect2>
+ </sect1>
+
+ <sect1>
+ <title>Membres de l'&eacute;quipe de base</title>
+
+ <sect2>
+ <title>&a.asami;</title>
+
+ <programlisting>
+Satoshi Asami &lt;asami@cs.berkeley.edu&gt;
+ aka &lt;asami@FreeBSD.ORG&gt;
+Fingerprint = EB 3C 68 9E FB 6C EB 3F DB 2E 0F 10 8F CE 79 CA
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: 2.6.2
+
+mQCNAzPVyoQAAAEEAL7W+kipxB171Z4SVyyL9skaA7hG3eRsSOWk7lfvfUBLtPog
+f3OKwrApoc/jwLf4+Qpdzv5DLEt/6Hd/clskhJ+q1gMNHyZ5ABmUxrTRRNvJMTrb
+3fPU3oZj7sL/MyiFaT1zF8EaMP/iS2ZtcFsbYOqGeA8E/58uk4NA0SoeCNiJAAUR
+tCVTYXRvc2hpIEFzYW1pIDxhc2FtaUBjcy5iZXJrZWxleS5lZHU+iQCVAwUQM/AT
++EqGN2HYnOMZAQF11QP/eSXb2FuTb1yX5yoo1Im8YnIk1SEgCGbyEbOMMBznVNDy
+5g2TAD0ofLxPxy5Vodjg8rf+lfMVtO5amUH6aNcORXRncE83T10JmeM6JEp0T6jw
+zOHKz8jRzygYLBayGsNIJ4BGxa4LeaGxJpO1ZEvRlNkPH/YEXK5oQmq9/DlrtYOJ
+AEUDBRAz42JT8ng6GBbVvu0BAU8nAYCsJ8PiJpRUGlrz6rxjX8hqM1v3vqFHLcG+
+G52nVMBSy+RZBgzsYIPwI5EZtWAKb22JAJUDBRAz4QBWdbtuOHaj97EBAaQPA/46
++NLUp+Wubl90JoonoXocwAg88tvAUVSzsxPXj0lvypAiSI2AJKsmn+5PuQ+/IoQy
+lywRsxiQ5GD7C72SZ1yw2WI9DWFeAi+qa4b8n9fcLYrnHpyCY+zxEpu4pam8FJ7H
+JocEUZz5HRoKKOLHErzXDiuTkkm72b1glmCqAQvnB4kAlQMFEDPZ3gyDQNEqHgjY
+iQEBFfUEALu2C0uo+1Z7C5+xshWRYY5xNCzK20O6bANVJ+CO2fih96KhwsMof3lw
+fDso5HJSwgFd8WT/sR+Wwzz6BAE5UtgsQq5GcsdYQuGI1yIlCYUpDp5sgswNm+OA
+bX5a+r4F/ZJqrqT1J56Mer0VVsNfe5nIRsjd/rnFAFVfjcQtaQmjiQCVAwUQM9uV
+mcdm8Q+/vPRJAQELHgP9GqNiMpLQlZig17fDnCJ73P0e5t/hRLFehZDlmEI2TK7j
+Yeqbw078nZgyyuljZ7YsbstRIsWVCxobX5eH1kX+hIxuUqCAkCsWUY4abG89kHJr
+XGQn6X1CX7xbZ+b6b9jLK+bJKFcLSfyqR3M2eCyscSiZYkWKQ5l3FYvbUzkeb6K0
+IVNhdG9zaGkgQXNhbWkgPGFzYW1pQEZyZWVCU0QuT1JHPg==
+=39SC
+-----END PGP PUBLIC KEY BLOCK-----</programlisting>
+ </sect2>
+
+ <sect2>
+ <title>&a.jmb;</title>
+
+ <programlisting>
+Jonathan M. Bresler &lt;jmb@FreeBSD.org&gt;
+f16 Fingerprint16 = 31 57 41 56 06 C1 40 13 C5 1C E3 E5 DC 62 0E FB
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: PGPfreeware 5.0i for non-commercial use
+
+mQCNAzG2GToAAAEEANI6+4SJAAgBpl53XcfEr1M9wZyBqC0tzpie7Zm4vhv3hO8s
+o5BizSbcJheQimQiZAY4OnlrCpPxijMFSaihshs/VMAz1qbisUYAMqwGEO/T4QIB
+nWNo0Q/qOniLMxUrxS1RpeW5vbghErHBKUX9GVhxbiVfbwc4wAHbXdKX5jjdAAUR
+tCVKb25hdGhhbiBNLiBCcmVzbGVyIDxqbWJARnJlZUJTRC5PUkc+iQCVAwUQNbtI
+gAHbXdKX5jjdAQHamQP+OQr10QRknamIPmuHmFYJZ0jU9XPIvTTMuOiUYLcXlTdn
+GyTUuzhbEywgtOldW2V5iA8platXThtqC68NsnN/xQfHA5xmFXVbayNKn8H5stDY
+2s/4+CZ06mmJfqYmONF1RCbUk/M84rVT3Gn2tydsxFh4Pm32lf4WREZWRiLqmw+J
+AJUDBRA0DfF99RVb+45ULV0BAcZ0BACCydiSUG1VR0a5DBcHdtin2iZMPsJUPRqJ
+tWvP6VeI8OFpNWQ4LW6ETAvn35HxV2kCcQMyht1kMD+KEJz7r8Vb94TS7KtZnNvk
+2D1XUx8Locj6xel5c/Lnzlnnp7Bp1XbJj2u/NzCaZQ0eYBdP/k7RLYBYHQQln5x7
+BOuiRJNVU4kAlQMFEDQLcShVLh4uc9KIpQEBJv4D/3mDrD0MM9EYOVuyXik3UGVI
+8quYNA9ErVcLdt10NjYc16VI2HOnYVgPRag3Wt7W8wlXShpokfC/vCNt7f5JgRf8
+h2a1/MjQxtlD+4/Js8k7GLa53oLon6YQYk32IEKexoLPwIRO4L2BHWa3GzHJJSP2
+aTR/Ep90/pLdAOu/oJDUiQCVAwUQMqyL0LNaYutZnzI9AQF25QP9GFXhBrz2tiWz
+2+0gWbpcGNnyZbfsVjF6ojGDdmsjJMyWCGw49XR/vPKYIJY9EYo4t49GIajRkISQ
+NNiIz22fBAjT2uY9YlvnTJ9NJleMfHr4dybo7oEKYMWWijQzGjqf2m8wf9OaaofE
+KwBX6nxcRbKsxm/BVLKczGYl3XtjkcuJAJUDBRA1ol5TZWCprDT5+dUBATzXA/9h
+/ZUuhoRKTWViaistGJfWi26FB/Km5nDQBr/Erw3XksQCMwTLyEugg6dahQ1u9Y5E
+5tKPxbB69eF+7JXVHE/z3zizR6VL3sdRx74TPacPsdhZRjChEQc0htLLYAPkJrFP
+VAzAlSlm7qd+MXf8fJovQs6xPtZJXukQukPNlhqZ94kAPwMFEDSH/kF4tXKgazlt
+bxECfk4AoO+VaFVfguUkWX10pPSSfvPyPKqiAJ4xn8RSIe1ttmnqkkDMhLh00mKj
+lLQuSm9uYXRoYW4gTS4gQnJlc2xlciA8Sm9uYXRoYW4uQnJlc2xlckBVU2kubmV0
+PokAlQMFEDXbdSkB213Sl+Y43QEBV/4D/RLJNTrtAqJ1ATxXWv9g8Cr3/YF0GTmx
+5dIrJOpBup7eSSmiM/BL9Is4YMsoVbXCI/8TqA67TMICvq35PZU4wboQB8DqBAr+
+gQ8578M7Ekw1OAF6JXY6AF2P8k7hMcVBcVOACELPT/NyPNByG5QRDoNmlsokJaWU
+/2ls4QSBZZlb
+=zbCw
+-----END PGP PUBLIC KEY BLOCK-----</programlisting>
+ </sect2>
+
+ <sect2>
+ <title>&a.ache;</title>
+
+ <programlisting>
+Andrey A. Chernov &lt;ache@FreeBSD.org&gt;
+ aka &lt;ache@nagual.pp.ru&gt;
+Key fingerprint = 33 03 9F 48 33 7B 4A 15 63 48 88 0A C4 97 FD 49
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: 2.6.3ia
+
+mQCNAiqUMGQAAAEEAPGhcD6A2Buey5LYz0sphDLpVgOZc/bb9UHAbaGKUAGXmafs
+Dcb2HnsuYGgX/zrQXuCi/wIGtXcZWB97APtKOhFsZnPinDR5n/dde/mw9FnuhwqD
+m+rKSL1HlN0z/Msa5y7g16760wHhSR6NoBSEG5wQAHIMMq7Q0uJgpPLZnQjrAAUT
+tCVBbmRyZXkgQS4gQ2hlcm5vdiA8YWNoZUBuYWd1YWwucHAucnU+iQCVAwUQM2Ez
+u+JgpPLZnQjrAQEyugP8DPnS8ixJ5OeuYgPFQf5sy6l+LrB6hyaS+lgsUPahWjNY
+cnaDmfda/q/BV5d4+y5rlQe/pjnYG7/yQuAR3jhlXz8XDrqlBOnW9AtYjDt5rMfJ
+aGFTGXAPGZ6k6zQZE0/YurT8ia3qjvuZm3Fw4NJrHRx7ETHRvVJDvxA6Ggsvmr20
+JEFuZHJleSBBLiBDaGVybm92IDxhY2hlQEZyZWVCU0Qub3JnPokAlQMFEDR5uVbi
+YKTy2Z0I6wEBLgED/2mn+hw4/3peLx0Sb9LNx//NfCCkVefSf2G9Qwhx6dvwbX7h
+mFca97h7BQN4GubU1Z5Ffs6TeamSBrotBYGmOCwvJ6S9WigF9YHQIQ3B4LEjskAt
+pcjU583y42zM11kkvEuQU2Gde61daIylJyOxsgpjSWpkxq50fgY2kLMfgl/ftCZB
+bmRyZXkgQS4gQ2hlcm5vdiA8YWNoZUBuaWV0enNjaGUubmV0PokAlQMFEDR5svDi
+YKTy2Z0I6wEBOTQD/0OTCAXIjuak363mjERvzSkVsNtIH9hA1l0w6Z95+iH0fHrW
+xXKT0vBZE0y0Em+S3cotLL0bMmVE3F3D3GyxhBVmgzjyx0NYNoiQjYdi+6g/PV30
+Cn4vOO6hBBpSyI6vY6qGNqcsawuRtHNvK/53MpOfKwSlICEBYQimcZhkci+EtCJB
+bmRyZXkgQS4gQ2hlcm5vdiA8YWNoZUBuYWd1YWwucnU+iQCVAwUQMcm5HeJgpPLZ
+nQjrAQHwvQP9GdmAf1gdcuayHEgNkc11macPH11cwWjYjzA2YoecFMGV7iqKK8QY
+rr1MjbGXf8DAG8Ubfm0QbI8Lj8iG3NgqIru0c72UuHGSn/APfGGG0AtPX5UK/k7B
+gI0Ca2po6NA5nrSp8tDsdEz/4gyea84RXl2prtTf5Jj07hflbRstGXK0MkFuZHJl
+eSBBLiBDaGVybm92LCBCbGFjayBNYWdlIDxhY2hlQGFzdHJhbC5tc2suc3U+iQCV
+AwUQMCsAo5/rGryoL8h3AQHq1QQAidyNFqA9hvrmMcjpY7csJVFlGvj574Wj4GPa
+o3pZeuQaMBmsWqaXLYnWU/Aldb6kTz6+nRcQX50zFH0THSPfApwEW7yybSTI5apJ
+mWT3qhKN2vmLNg2yNzhqLTzHLD1lH3i1pfQq8WevrNfjLUco5S/VuekTma/osnzC
+Cw7fQzCJAJUDBRAwKvwoa1pnjYGyp3kBARihBACoXr3qfG65hFCyKJISmjOvaoGr
+anxUIkeDS0yQdTHzhQ+dwB1OhhK15E0Nwr0MKajLMm90n6+Zdb5y/FIjpPriu8dI
+rlHrWZlewa88eEDM+Q/NxT1iYg+HaKDAE171jmLpSpCL0MiJtO0i36L3ekVD7Hv8
+vffOZHPSHirIzJOZTYkAlQMFEDAau6zFLUdtDb+QbQEBQX8D/AxwkYeFaYxZYMFO
+DHIvSk23hAsjCmUA2Uil1FeWAusb+o8xRfPDc7TnosrIifJqbF5+fcHCG5VSTGlh
+Bhd18YWUeabf/h9O2BsQX55yWRuB2x3diJ1xI/VVdG+rxlMCmE4ZR1Tl9x+Mtun9
+KqKVpB39VlkCBYQ3hlgNt/TJUY4riQCVAwUQMBHMmyJRltlmbQBRAQFQkwP/YC3a
+hs3ZMMoriOlt3ZxGNUUPTF7rIER3j+c7mqGG46dEnDB5sUrkzacpoLX5sj1tGR3b
+vz9a4vmk1Av3KFNNvrZZ3/BZFGpq3mCTiAC9zsyNYQ8L0AfGIUO5goCIjqwOTNQI
+AOpNsJ5S+nMAkQB4YmmNlI6GTb3D18zfhPZ6uciJAJUCBRAwD0sl4uW74fteFRkB
+AWsAA/9NYqBRBKbmltQDpyK4+jBAYjkXBJmARFXKJYTlnTgOHMpZqoVyW96xnaa5
+MzxEiu7ZWm5oL10QDIp1krkBP2KcmvfSMMHb5aGCCQc2/P8NlfXAuHtNGzYiI0UA
+Iwi8ih/S1liVfvnqF9uV3d3koE7VsQ9OA4Qo0ZL2ggW+/gEaYIkAlQMFEDAOz6qx
+/IyHe3rl4QEBIvYD/jIr8Xqo/2I5gncghSeFR01n0vELFIvaF4cHofGzyzBpYsfA
++6pgFI1IM+LUF3kbUkAY/2uSf9U5ECcaMCTWCwVgJVO+oG075SHEM4buhrzutZiM
+1dTyTaepaPpTyRMUUx9ZMMYJs7sbqLId1eDwrJxUPhrBNvf/w2W2sYHSY8cdiQCV
+AwUQMAzqgHcdkq6JcsfBAQGTxwQAtgeLFi2rhSOdllpDXUwz+SS6bEjFTWgRsWFM
+y9QnOcqryw7LyuFmWein4jasjY033JsODfWQPiPVNA3UEnXVg9+n8AvNMPO8JkRv
+Cn1eNg0VaJy9J368uArio93agd2Yf/R5r+QEuPjIssVk8hdcy/luEhSiXWf6bLMV
+HEA0J+OJAJUDBRAwDUi+4mCk8tmdCOsBAatBBACHB+qtW880seRCDZLjl/bT1b14
+5po60U7u6a3PEBkY0NA72tWDQuRPF/Cn/0+VdFNxQUsgkrbwaJWOoi0KQsvlOm3R
+rsxKbn9uvEKLxExyKH3pxp76kvz/lEWwEeKvBK+84Pb1lzpG3W7u2XDfi3VQPTi3
+5SZMAHc6C0Ct/mjNlYkAlQMFEDAMrPD7wj+NsTMUOQEBJckD/ik4WsZzm2qOx9Fw
+erGq7Zwchc+Jq1YeN5PxpzqSf4AG7+7dFIn+oe6X2FcIzgbYY+IfmgJIHEVjDHH5
++uAXyb6l4iKc89eQawO3t88pfHLJWbTzmnvgz2cMrxt94HRvgkHfvcpGEgbyldq6
+EB33OunazFcfZFRIcXk1sfyLDvYE
+=1ahV
+-----END PGP PUBLIC KEY BLOCK-----</programlisting>
+ </sect2>
+
+ <sect2>
+ <title>&a.jkh;</title>
+
+ <programlisting>
+Jordan K. Hubbard &lt;jkh@FreeBSD.org&gt;
+Fingerprint = 3C F2 27 7E 4A 6C 09 0A 4B C9 47 CD 4F 4D 0B 20
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: 2.6.3ia
+
+mQCNAzFjX0IAAAEEAML+nm9/kDNPp43ZUZGjYkm2QLtoC1Wxr8JulZXqk7qmhYcQ
+jvX+fyoriJ6/7ZlnLe2oG5j9tZOnRLPvMaz0g9CpW6Dz3nkXrNPkmOFV9B8D94Mk
+tyFeRJFqnkCuqBj6D+H8FtBwEeeTecSh2tJ0bZZTXnAMhxeOdvUVW/uOVC1dAAUR
+tCNKb3JkYW4gSy4gSHViYmFyZCA8amtoQEZyZWVCU0Qub3JnPokBFQMFEDXCTXQM
+j46yp4IfPQEBwO8IAIN0J09AXBf86dFUTFGcAMrEQqOF5IL+KGorAjzuYxERhKfD
+ZV7jA+sCQqxkWfcVcE20kVyVYqzZIkio9a5zXP6TwA247JkPt54S1PmMDYHNlRIY
+laXlNoji+4q3HP2DfHqXRT2859rYpm/fG/v6pWkos5voPKcZ2OFEp9W+Ap88oqw+
+5rx4VetZNJq1Epmis4INj6XqNqj85+MOOIYE+f445ohDM6B/Mxazd6cHFGGIR+az
+VjZ6lCDMLjzhB5+FqfrDLYuMjqkMTR5z9DL+psUvPlCkYbQ11NEWtEmiIWjUcNJN
+GCxGzv5bXk0XPu3ADwbPkFE2usW1cSM7AQFiwuyJAJUDBRAxe+Q9a1pnjYGyp3kB
+AV7XA/oCSL/Cc2USpQ2ckwkGpyvIkYBPszIcabSNJAzm2hsU9Qa6WOPxD8olDddB
+uJNiW/gznPC4NsQ0N8Zr4IqRX/TTDVf04WhLmd8AN9SOrVv2q0BKgU6fLuk979tJ
+utrewH6PR2qBOjAaR0FJNk4pcYAHeT+e7KaKy96YFvWKIyDvc4kAlQMFEDF8ldof
+f6kIA1j8vQEBDH4D/0Zm0oNlpXrAE1EOFrmp43HURHbij8n0Gra1w9sbfo4PV+/H
+U8ojTdWLy6r0+prH7NODCkgtIQNpqLuqM8PF2pPtUJj9HwTmSqfaT/LMztfPA6PQ
+csyT7xxdXl0+4xTDl1avGSJfYsI8XCAy85cTs+PQwuyzugE/iykJO1Bnj/paiQCV
+AwUQMXvlBvUVW/uOVC1dAQF2fQP/RfYC6RrpFTZHjo2qsUHSRk0vmsYfwG5NHP5y
+oQBMsaQJeSckN4n2JOgR4T75U4vS62aFxgPLJP3lOHkU2Vc7xhAuBvsbGr5RP8c5
+LvPOeUEyz6ZArp1KUHrtcM2iK1FBOmY4dOYphWyWMkDgYExabqlrAq7FKZftpq/C
+BiMRuaw=
+=C/Jw
+-----END PGP PUBLIC KEY BLOCK-----</programlisting>
+ </sect2>
+
+ <sect2>
+ <title>&a.phk;</title>
+
+ <programlisting>
+Poul-Henning Kamp &lt;phk@FreeBSD.org&gt;
+Fingerprint = A3 F3 88 28 2F 9B 99 A2 49 F4 E2 FA 5A 78 8B 3E
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: 2.6.3ia
+
+mQCNAzAdpMIAAAEEALHDgrFUwhZtb7PbXg3upELoDVEUPFRwnmpJH1rRqyROUGcI
+ooVe7u+FQlIs5OsXK8ECs/5Wpe2UrZSzHvjwBYOND5H42YtI5UULZLRCo5bFfTVA
+K9Rpo5icfTsYihrzU2nmnycwFMk+jYXyT/ZDYWDP/BM9iLjj0x9/qQgDWPy9AAUR
+tCNQb3VsLUhlbm5pbmcgS2FtcCA8cGhrQEZyZWVCU0Qub3JnPokAlQMFEDQQ0aZ1
+u244dqP3sQEBu4ID/jXFFeJgs2MdTDNOZM/FbfDhI4qxAbYUsqS3+Ra16yd8Wd/A
+jV+IHJE2NomFWl8UrUjCGinXiwzPgK1OfFJrS9Og1wQLvAl0X84BA8MTP9BQr4w7
+6I/RbksgUSrVCIO8MJwlydjSPocWGBeXlVjbZxXzyuJk7H+TG+zuI5BuBcNIiQCV
+AwUQMwYr2rNaYutZnzI9AQHiIQP/XxtBWFXaBRgVLEhRNpS07YdU+LsZGlLOZehN
+9L4UnJFHQQPNOpMey2gF7Y95aBOw5/1xS5vlQpwmRFCntWsm/gqdzK6rulfr1r5A
+y94LO5TAC6ucNu396Y4vo1TyD1STnRC466KlvmtQtAtFGgXlORWLL9URLzcRFd1h
+D0yXd9aJAJUDBRAxfo19a1pnjYGyp3kBAQqyA/4v64vP3l1F0Sadn6ias761hkz/
+SMdTuLzILmofSCC4o4KWMjiWJHs2Soo41QlZi1+xMHzV32JKiwFlGtPHqL+EHyXy
+Q4H3vmf9/1KF+0XCaMtgI0wWUMziPSTJK8xXbRRmMDK/0F4TnVVaUhnmf+h5K7O6
+XdmejDTa0X/NWcicmIkAlQMFEDF8lef1FVv7jlQtXQEBcnwD/0ro1PpUtlkLmreD
+tsGTkNa7MFLegrYRvDDrHOwPZH152W2jPUncY+eArQJakeHiTDmJNpFagLZglhE0
+bqJyca+UwCXX+6upAclWHEBMg2byiWMMqyPVEEnpUoHM1sIkgdNWlfQAmipRBfYh
+2LyCgWvR8CbtwPYIFvUmGgB3MR87iQCVAwUQMUseXB9/qQgDWPy9AQGPkwP/WEDy
+El2Gkvua9COtMAifot2vTwuvWWpNopIEx0Ivey4aVbRLD90gGCJw8OGDEtqFPcNV
+8aIiy3fYVKXGZZjvCKd7zRfhNmQn0eLDcymq2OX3aPrMc2rRlkT4Jx425ukR1gsO
+qiQAgw91aWhY8dlw/EKzk8ojm52x4VgXaBACMjaJAJUDBRAxOUOg72G56RHVjtUB
+AbL4A/9HOn5Qa0lq9tKI/HkSdc5fGQD/66VdCBAb292RbB7CS/EM07MdbcqRRYIa
+0+0gwQ3OdsWPdCVgH5RIhp/WiC+UPkR1cY8N9Mg2kTwJfZZfNqN+BgWlgRMPN27C
+OhYNl8Q33Nl9CpBLrZWABF44jPeT0EvvTzP/5ZQ7T75EsYKYiYkAlQMFEDDmryQA
+8tkJ67sbQQEBPdsEALCj6v1OBuJLLJTlxmmrkqAZPVzt5QdeO3Eqa2tcPWcU0nqP
+vHYMzZcZ7oFg58NZsWrhSQQDIB5e+K65Q/h6dC7W/aDskZd64jxtEznX2kt0/MOr
+8OdsDis1K2f9KQftrAx81KmVwW4Tqtzl7NWTDXt44fMOtibCwVq8v2DFkTJy
+=JKbP
+-----END PGP PUBLIC KEY BLOCK-----</programlisting>
+ </sect2>
+
+ <sect2>
+ <title>&a.rich;</title>
+
+ <programlisting>
+Rich Murphey &lt;rich@FreeBSD.org&gt;
+fingerprint = AF A0 60 C4 84 D6 0C 73 D1 EF C0 E9 9D 21 DB E4
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: 2.6.2
+
+mQCNAy97V+MAAAEEALiNM3FCwm3qrCe81E20UOSlNclOWfZHNAyOyj1ahHeINvo1
+FBF2Gd5Lbj0y8SLMno5yJ6P4F4r+x3jwHZrzAIwMs/lxDXRtB0VeVWnlj6a3Rezs
+wbfaTeSVyh5JohEcKdoYiMG5wjATOwK/NAwIPthB1RzRjnEeer3HI3ZYNEOpAAUR
+tCRSaWNoIE11cnBoZXkgPHJpY2hAbGFtcHJleS51dG1iLmVkdT6JAJUDBRAve15W
+vccjdlg0Q6kBAZTZBACcNd/LiVnMFURPrO4pVRn1sVQeokVX7izeWQ7siE31Iy7g
+Sb97WRLEYDi686osaGfsuKNA87Rm+q5F+jxeUV4w4szoqp60gGvCbD0KCB2hWraP
+/2s2qdVAxhfcoTin/Qp1ZWvXxFF7imGA/IjYIfB42VkaRYu6BwLEm3YAGfGcSw==
+=QoiM
+-----END PGP PUBLIC KEY BLOCK-----</programlisting>
+ </sect2>
+
+ <sect2>
+ <title>&a.jdp;</title>
+
+ <programlisting>
+John D. Polstra &lt;jdp@polstra.com&gt;
+Fingerprint = 54 3A 90 59 6B A4 9D 61 BF 1D 03 09 35 8D F6 0D
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: 2.6.2
+
+mQCNAzMElMEAAAEEALizp6ZW9QifQgWoFmG3cXhzQ1+Gt+a4S1adC/TdHdBvw1M/
+I6Ok7TC0dKF8blW3VRgeHo4F3XhGn+n9MqIdboh4HJC5Iiy63m98sVLJSwyGO4oM
+dkEGyyCLxqP6h/DU/tzNBdqFzetGtYvU4ftt3RO0a506cr2CHcdm8Q+/vPRJAAUR
+tCFKb2huIEQuIFBvbHN0cmEgPGpkcEBwb2xzdHJhLmNvbT6JAJUDBRAzBNBE9RVb
++45ULV0BAWgiA/0WWO3+c3qlptPCHJ3DFm6gG/qNKsY94agL/mHOr0fxMP5l2qKX
+O6a1bWkvGoYq0EwoKGFfn0QeHiCl6jVi3CdBX+W7bObMcoi+foqZ6zluOWBC1Jdk
+WQ5/DeqQGYXqbYjqO8voCScTAPge3XlMwVpMZTv24u+nYxtLkE0ZcwtY9IkAlQMF
+EDMEt/DHZvEPv7z0SQEBXh8D/2egM5ckIRpGz9kcFTDClgdWWtlgwC1iI2p9gEhq
+aufy+FUJlZS4GSQLWB0BlrTmDC9HuyQ+KZqKFRbVZLyzkH7WFs4zDmwQryLV5wkN
+C4BRRBXZfWy8s4+zT2WQD1aPO+ZsgRauYLkJgTvXTPU2JCN62Nsd8R7bJS5tuHEm
+7HGmiQCVAwUQMwSvHB9/qQgDWPy9AQFAhAQAgJ1AlbKITrEoJ0+pLIsov3eQ348m
+SVHEBGIkU3Xznjr8NzT9aYtq4TIzt8jplqP3QoV1ka1yYpZf0NjvfZ+ffYp/sIaU
+wPbEpgtmHnVWJAebMbNs/Ad1w8GDvxEt9IaCbMJGZnHmfnEqOBIxF7VBDPHHoJxM
+V31K/PIoYsHAy5w=
+=cHFa
+-----END PGP PUBLIC KEY BLOCK-----</programlisting>
+ </sect2>
+
+ <sect2>
+ <title>&a.guido;</title>
+
+ <programlisting>
+Guido van Rooij &lt;guido@gvr.win.tue.nl&gt;
+Fingerprint = 16 79 09 F3 C0 E4 28 A7 32 62 FA F6 60 31 C0 ED
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: 2.6.2
+
+mQCNAzGeO84AAAEEAKKAY91Na//DXwlUusr9GVESSlVwVP6DyH1wcZXhfN1fyZHq
+SwhMCEdHYoojQds+VqD1iiZQvv1RLByBgj622PDAPN4+Z49HjGs7YbZsUNuQqPPU
+wRPpP6ty69x1hPKq1sQIB5MS4radpCM+4wbZbhxv7l4rP3RWUbNaYutZnzI9AAUR
+tCZHdWlkbyB2YW4gUm9vaWogPGd1aWRvQGd2ci53aW4udHVlLm5sPokAlQMFEDMG
+Hcgff6kIA1j8vQEBbYgD/jm9xHuUuY+iXDkOzpCXBYACYEZDV913MjtyBAmaVqYo
+Rh5HFimkGXe+rCo78Aau0hc57fFMTsJqnuWEqVt3GRq28hSK1FOZ7ni9/XibHcmN
+rt2yugl3hYpClijo4nrDL1NxibbamkGW/vFGcljS0jqXz6NDVbGx5Oo7HBByxByz
+iQCVAwUQMhmtVjt/x7zOdmsfAQFuVQQApsVUTigT5YWjQA9Nd5Z0+a/oVtZpyw5Z
+OljLJP3vqJdMa6TidhfcatjHbFTve5x1dmjFgMX/MQTd8zf/+Xccy/PX4+lnKNpP
+eSf1Y4aK+E8KHmBGd6GzX6CIboyGYLS9e3kGnN06F2AQtaLyJFgQ71wRaGuyKmQG
+FwTn7jiKb1aJAJUDBRAyEOLXPt3iN6QQUSEBATwQA/9jqu0Nbk154+Pn+9mJX/YT
+fYR2UqK/5FKCqgL5Nt/Deg2re0zMD1f8F9Dj6vuAAxq8hnOkIHKlWolMjkRKkzJi
+mSPEWl3AuHJ31k948J8it4f8kq/o44usIA2KKVMlI63Q/rmNdfWCyiYQEVGcRbTm
+GTdZIHYCOgV5dOo4ebFqgYkAlQMFEDIE1nMEJn15jgpJ0QEBW6kEAKqN8XSgzTqf
+CrxFXT07MlHhfdbKUTNUoboxCGCLNW05vf1A8F5fdE5i14LiwkldWIzPxWD+Sa3L
+fNPCfCZTaCiyGcLyTzVfBHA18MBAOOX6JiTpdcm22jLGUWBf/aJK3yz/nfbWntd/
+LRHysIdVp29lP5BF+J9/Lzbb/9LxP1taiQCVAwUQMgRXZ44CzbsJWQz9AQFf7gP/
+Qa2FS5S6RYKG3rYanWADVe/ikFV2lxuM1azlWbsmljXvKVWGe6cV693nS5lGGAjx
+lbd2ADwXjlkNhv45HLWFm9PEveO9Jjr6tMuXVt8N2pxiX+1PLUN9CtphTIU7Yfjn
+s6ryZZfwGHSfIxNGi5ua2SoXhg0svaYnxHxXmOtH24iJAJUDBRAyAkpV8qaAEa3W
+TBkBARfQBAC+S3kbulEAN3SI7/A+A/dtl9DfZezT9C4SRBGsl2clQFMGIXmMQ/7v
+7lLXrKQ7U2zVbgNfU8smw5h2vBIL6f1PyexSmc3mz9JY4er8KeZpcf6H0rSkHl+i
+d7TF0GvuTdNPFO8hc9En+GG6QHOqbkB4NRZ6cwtfwUMhk2FHXBnjF4kAlQMFEDH5
+FFukUJAsCdPmTQEBe74EAMBsxDnbD9cuI5MfF/QeTNEG4BIVUZtAkDme4Eg7zvsP
+d3DeJKCGeNjiCWYrRTCGwaCWzMQk+/+MOmdkI6Oml+AIurJLoHceHS9jP1izdP7f
+N2jkdeJSBsixunbQWtUElSgOQQ4iF5kqwBhxtOfEP/L9QsoydRMR1yB6WPD75H7V
+iQCVAwUQMZ9YNGtaZ42Bsqd5AQH0PAQAhpVlAc3ZM/KOTywBSh8zWKVlSk3q/zGn
+k7hJmFThnlhH1723+WmXE8aAPJi+VXOWJUFQgwELJ6R8jSU2qvk2m1VWyYSqRKvc
+VRQMqT2wjss0GE1Ngg7tMrkRHT0il7E2xxIb8vMrIwmdkbTfYqBUhhGnsWPHZHq7
+MoA1/b+rK7CJAJUDBRAxnvXh3IDyptUyfLkBAYTDA/4mEKlIP/EUX2Zmxgrd/JQB
+hqcQlkTrBAaDOnOqe/4oewMKR7yaMpztYhJs97i03Vu3fgoLhDspE55ooEeHj0r4
+cOdiWfYDsjSFUYSPNVhW4OSruMA3c29ynMqNHD7hpr3rcCPUi7J2RncocOcCjjK2
+BQb/9IAUNeK4C9gPxMEZLokAlQMFEDGeO86zWmLrWZ8yPQEBEEID/2fPEUrSX3Yk
+j5TJPFZ9MNX0lEo7AHYjnJgEbNI4pYm6C3PnMlsYfCSQDHuXmRQHAOWSdwOLvCkN
+F8eDaF3M6u0urgeVJ+KVUnTz2+LZoZs12XSZKCte0HxjbvPpWMTTrYyimGezH79C
+mgDVjsHaYOx3EXF0nnDmtXurGioEmW1J
+=mSvM
+-----END PGP PUBLIC KEY BLOCK-----</programlisting>
+ </sect2>
+
+ <sect2>
+ <title>&a.peter;</title>
+
+ <programlisting>
+Peter Wemm &lt;peter@FreeBSD.org&gt;
+ aka &lt;peter@spinner.dialix.com&gt;
+ aka &lt;peter@haywire.dialix.com&gt;
+ aka &lt;peter@perth.dialix.oz.au&gt;
+Key fingerprint = 47 05 04 CA 4C EE F8 93 F6 DB 02 92 6D F5 58 8A
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: 2.6.3ia
+
+mQCNAy9/FJwAAAEEALxs9dE9tFd0Ru1TXdq301KfEoe5uYKKuldHRBOacG2Wny6/
+W3Ill57hOi2+xmq5X/mHkapywxvy4cyLdt31i4GEKDvxpDvEzAYcy2n9dIup/eg2
+kEhRBX9G5k/LKM4NQsRIieaIEGGgCZRm0lINqw495aZYrPpO4EqGN2HYnOMZAAUT
+tCVQZXRlciBXZW1tIDxwZXRlckBoYXl3aXJlLmRpYWxpeC5jb20+iQCVAwUQMwWT
+cXW7bjh2o/exAQEFkQP+LIx5zKlYp1uR24xGApMFNrNtjh+iDIWnxxb2M2Kb6x4G
+9z6OmbUCoDTGrX9SSL2Usm2RD0BZfyv9D9QRWC2TSOPkPRqQgIycc11vgbLolJJN
+eixqsxlFeKLGEx9eRQCCbo3dQIUjc2yaOe484QamhsK1nL5xpoNWI1P9zIOpDiGJ
+AJUDBRAxsRPqSoY3Ydic4xkBAbWLA/9q1Fdnnk4unpGQsG31Qbtr4AzaQD5m/JHI
+4gRmSmbj6luJMgNG3fpO06Gd/Z7uxyCJB8pTst2a8C/ljOYZxWT+5uSzkQXeMi5c
+YcI1sZbUpkHtmqPW623hr1PB3ZLA1TIcTbQW+NzJsxQ1Pc6XG9fGkT9WXQW3Xhet
+AP+juVTAhLQlUGV0ZXIgV2VtbSA8cGV0ZXJAcGVydGguZGlhbGl4Lm96LmF1PokA
+lQMFEDGxFCFKhjdh2JzjGQEB6XkD/2HOwfuFrnQUtdwFPUkgtEqNeSr64jQ3Maz8
+xgEtbaw/ym1PbhbCk311UWQq4+izZE2xktHTFClJfaMnxVIfboPyuiSF99KHiWnf
+/Gspet0S7m/+RXIwZi1qSqvAanxMiA7kKgFSCmchzas8TQcyyXHtn/gl9v0khJkb
+/fv3R20btB5QZXRlciBXZW1tIDxwZXRlckBGcmVlQlNELm9yZz6JAJUDBRAxsRJd
+SoY3Ydic4xkBAZJUA/4i/NWHz5LIH/R4IF/3V3LleFyMFr5EPFY0/4mcv2v+ju9g
+brOEM/xd4LlPrx1XqPeZ74JQ6K9mHR64RhKR7ZJJ9A+12yr5dVqihe911KyLKab9
+4qZUHYi36WQu2VtLGnw/t8Jg44fQSzbBF5q9iTzcfNOYhRkSD3BdDrC3llywO7Ql
+UGV0ZXIgV2VtbSA8cGV0ZXJAc3Bpbm5lci5kaWFsaXguY29tPokAlQMFEDGxEi1K
+hjdh2JzjGQEBdA4EAKmNFlj8RF9HQsoI3UabnvYqAWN5wCwEB4u+Zf8zq6OHic23
+TzoK1SPlmSdBE1dXXQGS6aiDkLT+xOdeewNs7nfUIcH/DBjSuklAOJzKliXPQW7E
+kuKNwy4eq5bl+j3HB27i+WBXhn6OaNNQY674LGaR41EGq44Wo5ATcIicig/z
+=gv+h
+-----END PGP PUBLIC KEY BLOCK-----</programlisting>
+ </sect2>
+
+ <sect2>
+ <title>&a.joerg;</title>
+
+ <programlisting>
+Type Bits/KeyID Date User ID
+pub 1024/76A3F7B1 1996/04/27 Joerg Wunsch &lt;joerg_wunsch@uriah.heep.sax.de&gt;
+ Key fingerprint = DC 47 E6 E4 FF A6 E9 8F 93 21 E0 7D F9 12 D6 4E
+ Joerg Wunsch &lt;joerg_wunsch@interface-business.de&gt;
+ Joerg Wunsch &lt;j@uriah.heep.sax.de&gt;
+ Joerg Wunsch &lt;j@interface-business.de&gt;
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: 2.6.3ia
+
+mQCNAzGCFeAAAAEEAKmRBU2Nvc7nZy1Ouid61HunA/5hF4O91cXm71/KPaT7dskz
+q5sFXvPJPpawwvqHPHfEbAK42ZaywyFp59L1GaYj87Pda+PlAYRJyY2DJl5/7JPe
+ziq+7B8MdvbX6D526sdmcR+jPXPbHznASjkx9DPmK+7TgFujyXW7bjh2o/exAAUR
+tC1Kb2VyZyBXdW5zY2ggPGpvZXJnX3d1bnNjaEB1cmlhaC5oZWVwLnNheC5kZT6J
+AJUDBRA0FFkBs1pi61mfMj0BAfDCA/oCfkjrhvRwRCpSL8klJ1YDoUJdmw+v4nJc
+pw3OpYXbwKOPLClsE7K3KCQscHel7auf91nrekAwbrXv9Clp0TegYeAQNjw5vZ9f
+L6UZ5l3fH8E2GGA7+kqgNWs1KxAnG5GdUvJ9viyrWm8dqWRGo+loDWlZ12L2OgAD
+fp7jVZTI1okAlQMFEDQPrLoff6kIA1j8vQEB2XQEAK/+SsQPCT/X4RB/PBbxUr28
+GpGJMn3AafAaA3plYw3nb4ONbqEw9tJtofAn4UeGraiWw8nHYR2DAzoAjR6OzuX3
+TtUV+57BIzrTPHcNkb6h8fPuHU+dFzR+LNoPaGJsFeov6w+Ug6qS9wa5FGDAgaRo
+LHSyBxcRVoCbOEaS5S5EiQCVAwUQM5BktWVgqaw0+fnVAQGKPwP+OiWho3Zm2GKp
+lEjiZ5zx3y8upzb+r1Qutb08jr2Ewja04hLg0fCrt6Ad3DoVqxe4POghIpmHM4O4
+tcW92THQil70CLzfCxtfUc6eDzoP3krD1/Gwpm2hGrmYA9b/ez9+r2vKBbnUhPmC
+glx5pf1IzHU9R2XyQz9Xu7FI2baOSZqJAJUDBRAyCIWZdbtuOHaj97EBAVMzA/41
+VIph36l+yO9WGKkEB+NYbYOz2W/kyi74kXLvLdTXcRYFaCSZORSsQKPGNMrPZUoL
+oAKxE25AoCgl5towqr/sCcu0A0MMvJddUvlQ2T+ylSpGmWchqoXCN7FdGyxrZ5zz
+xzLIvtcio6kaHd76XxyJpltCASupdD53nEtxnu8sRrQxSm9lcmcgV3Vuc2NoIDxq
+b2VyZ193dW5zY2hAaW50ZXJmYWNlLWJ1c2luZXNzLmRlPokAlQMFEDIIhfR1u244
+dqP3sQEBWoID/RhBm+qtW+hu2fqAj9d8CVgEKJugrxZIpXuCKFvO+bCgQtogt9EX
++TJh4s8UUdcFkyEIu8CT2C3Rrr1grvckfxvrTgzSzvtYyv1072X3GkVY+SlUMBMA
+rdl1qNW23oT7Q558ajnsaL065XJ5m7HacgTTikiofYG8i1s7TrsEeq6PtCJKb2Vy
+ZyBXdW5zY2ggPGpAdXJpYWguaGVlcC5zYXguZGU+iQCVAwUQMaS91D4gHQUlG9CZ
+AQGYOwQAhPpiobK3d/fz+jWrbQgjkoO+j39glYGXb22+6iuEprFRs/ufKYtjljNT
+NK3B4DWSkyIPawcuO4Lotijp6jke2bsjFSSashGWcsJlpnwsv7EeFItT3oWTTTQQ
+ItPbtNyLW6M6xB+jLGtaAvJqfOlzgO9BLfHuA2LY+WvbVW447SWJAJUDBRAxqWRs
+dbtuOHaj97EBAXDBA/49rzZB5akkTSbt/gNd38OJgC+H8N5da25vV9dD3KoAvXfW
+fw7OxIsxvQ/Ab+rJmukrrWxPdsC+1WU1+1rGa4PvJp/VJRDes2awGrn+iO7/cQoS
+IVziC27JpcbvjLvLVcBIiy1yT/RvJ+87a3jPRHt3VFGcpFh4KykxxSNiyGygl4kA
+lQMFEDGCUB31FVv7jlQtXQEB5KgD/iIJZe5lFkPr2B/Cr7BKMVBot1/JSu05NsHg
+JZ3uK15w4mVtNPZcFi/dKbn+qRM6LKDFe/GF0HZD/ZD1FJt8yQjzF2w340B+F2GG
+EOwnClqZDtEAqnIBzM/ECQQqH+6Bi8gpkFZrFgg5eON7ikqmusDnOlYStM/CBfgp
+SbR8kDmFtCZKb2VyZyBXdW5zY2ggPGpAaW50ZXJmYWNlLWJ1c2luZXNzLmRlPokA
+lQMFEDHioSdlYKmsNPn51QEByz8D/10uMrwP7MdaXnptd1XNFhpaAPYTVAOcaKlY
+OGI/LLR9PiU3FbqXO+7INhaxFjBxa0Tw/p4au5Lq1+Mx81edHniJZNS8tz3I3goi
+jIC3+jn2gnVAWnK5UZUTUVUn/JLVk/oSaIJNIMMDaw4J9xPVVkb+Fh1A+XqtPsVa
+YESrNp0+iQCVAwUQMwXkzcdm8Q+/vPRJAQEA4QQAgNNX1HFgXrMetDb+w6yEGQDk
+JCDAY9b6mA2HNeKLQAhsoZl4HwA1+iuQaCgo3lyFC+1Sf097OUTs74z5X1vCedqV
+oFw9CxI3xuctt3pJCbbN68flOlnq0WdYouWWGlFwLlh5PEy//VtwX9lqgsizlhzi
+t+fX6BT4BgKi5baDhrWJAJUDBRAyCKveD9eCJxX4hUkBAebMA/9mRPy6K6i7TX2R
+jUKSl2p5oYrXPk12Zsw4ijuktslxzQhOCyMSCGK2UEC4UM9MXp1H1JZQxN/DcfnM
+7VaUt+Ve0wZ6DC9gBSHJ1hKVxHe5XTj26mIr4rcXNy2XEDMK9QsnBxIAZnBVTjSO
+LdhqqSMp3ULLOpBlRL2RYrqi27IXr4kAlQMFEDGpbnd1u244dqP3sQEBJnQD/RVS
+Azgf4uorv3fpbosI0LE3LUufAYGBSJNJnskeKyudZkNkI5zGGDwVneH/cSkKT4OR
+ooeqcTBxKeMaMuXPVl30QahgNwWjfuTvl5OZ8orsQGGWIn5FhqYXsKkjEGxIOBOf
+vvlVQ0UbcR0N2+5F6Mb5GqrXZpIesn7jFJpkQKPU
+=97h7
+-----END PGP PUBLIC KEY BLOCK-----</programlisting>
+ </sect2>
+ </sect1>
+
+ <sect1>
+ <title>D&eacute;veloppeurs</title>
+
+ <sect2>
+ <title>&a.wosch;</title>
+
+ <programlisting>
+Type Bits/KeyID Date User ID
+pub 1024/2B7181AD 1997/08/09 Wolfram Schneider &lt;wosch@FreeBSD.org&gt;
+ Key fingerprint = CA 16 91 D9 75 33 F1 07 1B F0 B4 9F 3E 95 B6 09
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: 2.6.3ia
+
+mQCNAzPs+aEAAAEEAJqqMm2I9CxWMuHDvuVO/uh0QT0az5ByOktwYLxGXQmqPG1G
+Q3hVuHWYs5Vfm/ARU9CRcVHFyqGQ3LepoRhDHk+JcASHan7ptdFsz7xk1iNNEoe0
+vE2rns38HIbiyQ/2OZd4XsyhFOFtExNoBuyDyNoe3HbHVBQT7TmN/mkrcYGtAAUR
+tCVXb2xmcmFtIFNjaG5laWRlciA8d29zY2hARnJlZUJTRC5vcmc+iQCVAwUQNxnH
+AzmN/mkrcYGtAQF5vgP/SLOiI4AwuPHGwUFkwWPRtRzYSySXqwaPCop5mVak27wk
+pCxGdzoJO2UgcE812Jt92Qas91yTT0gsSvOVNATaf0TM3KnKg5ZXT1QIzYevWtuv
+2ovAG4au3lwiFPDJstnNAPcgLF3OPni5RCUqBjpZFhb/8YDfWYsMcyn4IEaJKre0
+JFdvbGZyYW0gU2NobmVpZGVyIDxzY2huZWlkZXJAemliLmRlPokAlQMFEDcZxu85
+jf5pK3GBrQEBCRgD/jPj1Ogx4O769soiguL1XEHcxhqtrpKZkKwxmDLRa0kJFwLp
+bBJ3Qz3vwaB7n5gQU0JiL1B2M7IxVeHbiIV5pKp7FD248sm+HZvBg6aSnCg2JPUh
+sHd1tK5X4SB5cjFt3Cj0LIN9/c9EUxm3SoML9bovmze60DckErrRNOuTk1IntCJX
+b2xmcmFtIFNjaG5laWRlciA8d29zY2hAYXBmZWwuZGU+iQEVAwUQNmfWXAjJLLJO
+sC7dAQEASAgAnE4g2fwMmFkQy17ATivljEaDZN/m0GdXHctdZ8CaPrWk/9/PTNK+
+U6xCewqIKVwtqxVBMU1VpXUhWXfANWCB7a07D+2GrlB9JwO5NMFJ6g0WI/GCUXjC
+xb3NTkNsvppL8Rdgc8wc4f23GG4CXVggdTD2oUjUH5Bl7afgOT4xLPAqePhS7hFB
+UnMsbA94OfxPtHe5oqyaXt6cXH/SgphRhzPPZq0yjg0Ef+zfHVamvZ6Xl2aLZmSv
+Cc/rb0ShYDYi39ly9OPPiBPGbSVw2Gg804qx3XAKiTFkLsbYQnRt7WuCPsOVjFkf
+CbQS31TaclOyzenZdCAezubGIcrJAKZjMIkAlQMFEDPs+aE5jf5pK3GBrQEBlIAD
+/3CRq6P0m1fi9fbPxnptuipnoFB/m3yF6IdhM8kSe4XlXcm7tS60gxQKZgBO3bDA
+5QANcHdl41Vg95yBAZepPie6iQeAAoylRrONeIy6XShjx3S0WKmA4+C8kBTL+vwa
+UqF9YJ1qesZQtsXlkWp/Z7N12RkueVAVQ7wRPwfnz6E3tC5Xb2xmcmFtIFNjaG5l
+aWRlciA8d29zY2hAcGFua2UuZGUuZnJlZWJzZC5vcmc+iQCVAwUQNxnEqTmN/mkr
+cYGtAQFnpQP9EpRZdG6oYN7d5abvIMN82Z9x71a4QBER+R62mU47wqdRG2b6jMMh
+3k07b2oiprVuPhRw/GEPPQevb6RRT6SD9CPYAGfK3MDE8ZkMj4d+7cZDRJQ35sxv
+gAzQwuA9l7kS0mt5jFRPcEg5/KpuyehRLckjx8jpEM7cEJDHXhBIuVg=
+=3V1R
+-----END PGP PUBLIC KEY BLOCK-----</programlisting>
+ </sect2>
+
+ <sect2>
+ <title>&a.brian;</title>
+
+ <programlisting>
+Type Bits/KeyID Date User ID
+pub 1024/666A7421 1997/04/30 Brian Somers &lt;brian@awfulhak.org&gt;
+ Key fingerprint = 2D 91 BD C2 94 2C 46 8F 8F 09 C4 FC AD 12 3B 21
+ Brian Somers &lt;brian@uk.FreeBSD.org&gt;
+ Brian Somers &lt;brian@OpenBSD.org&gt;
+ Brian Somers &lt;brian@FreeBSD.org&gt;
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: 2.6.3ia
+
+mQCNAzNmogUAAAEEALdsjVsV2dzO8UU4EEo7z3nYuvB2Q6YJ8sBUYjB8/vfR5oZ9
+7aEQjgY5//pXvS30rHUB9ghk4kIFSljzeMudE0K2zH5n2sxpLbBKWZRDLS7xnrDC
+I3j9CNKwQBzMPs0fUT46gp96nf1X8wPiJXkDUEia/c0bRbXlLw7tvOdmanQhAAUR
+tCFCcmlhbiBTb21lcnMgPGJyaWFuQGF3ZnVsaGFrLm9yZz6JAJUDBRA3Fjs4H3+p
+CANY/L0BAZOxBACTZ1zPdaJzEdT4AfrebQbaU4ytEeodnVXZIkc8Il+LDlDOUAIe
+k5PgnHTRM4yiwcZuYQrCDRFgdOofcFfRo0PD7mGFzd22qPGmbvHiDBCYCyhlkPXW
+IDeoA1cX77JlU1NFdy0dZwuX7csaMlpjCkOPc7+856mr6pQi48zj7yZtrYkAlQMF
+EDcUqZ2dZ0EADG4SFQEBEm0EAL2bBNc4vpxPrg3ATdZ/PekpL6lYj3s9pBf8f7eY
+LXq438A/ywiWkrL74gXxcZ2Ey9AHZW+rbJPzUbrfMAgP3uWobeSvDyKRo1wtKnTY
+Hy+OEIbBIHDmIUuK3L7KupBf7WAI46Q7fnyz0txvtRruDjvfoyl9/TSRfIKcaw2a
+INh7iQCVAwUQNwyWpmdKPfFUsXG5AQEIrAQAmukv2u9ihcnO2Zaak265I+gYozu+
+biAngdXNfhTGMeExFzdzQ8Qe7EJugMpIDEkJq2goY35sGitD+ogSVWECjcVbHIAP
+M2u9axFGlK7fDOmmkH2ZWDMtwx2I5dZps3q2g9mY2O9Az5Yokp7GW7viSpWXHTRH
+xOsuY6aze71U7RWJAHUDBRA3DAEvDuwDH3697LEBAWRHAv9XXkub6mir/DCxzKI2
+AE3tek40lRfU6Iukjl/uzT9GXcL3uEjIewiPTwN+k4IL+qcCEdv8WZgv/tO45r59
+IZQsicNaSAsKX/6Cxha6Hosg1jw4rjdyz13rgYRi/nreq5mJAJUDBRA2r0CM9p+f
+Pnxlu7UBAYObA/40s5SwEpXTrePO78AoUFEa5Z4bgyxkpT7BVbq6m/oQtK509Xe2
+M2y0XTLkd86oXpjyKzGzWq8T6ZTKNdF9+5LhS2ylJytdPq1AjDk2BocffWX4+pXn
+RPiC6XcNdYGiQL8OTHvZESYQDiHeMfwA8WdMzFK1R80nJMwANYXjJJrLzYkAlQMF
+EDNt51zvs7EFZlNtbQEBW0UD/jZB6UDdEFdhS0hxgahv5CxaQDWQbIEpAY9JL1yg
+d1RWMKUFGXdRkWZmHEA4NvtwFFeam/HZm4yuGf8yldMyo84loTcVib7lKh4CumGx
+FT5Pxeh/F8u9EeQzclRFSMhVl0BA2/HEGyjw0kbkprI/RD3pXD7ewTAUrj2O3XhE
+InLgiQCVAwUQM3O9vWyr6JZzEUkFAQF9nAP9Hco0V/3Kl70N5ryPVgh41nUTd7Td
+6fUjx8yPoSZLX8vVZ8XMyd8ULFmzsmA+2QG4HcKo/x/4s50O3o8c+o1qSYj0Tp+K
+4Z8lneMVlgBNdrRcq4ijEgk0qGqSlsXyLElkVPEXAADBVgzf6yqvipDwXNVzl6e3
+GPLE8U2TAnBFZX6JAJUDBRAzZqIFDu2852ZqdCEBATsuBACI3ofP7N3xuHSc7pWL
+NsnFYVEc9utBaclcagxjLLzwPKzMBcLjNGyGXIZQNB0d4//UMUJcMS7vwZ8MIton
+VubbnJVHuQvENloRRARtarF+LC7OLMCORrGtbt0FtYgvBaqtgXlNcKXD6hRT+ghR
+bi3q34akA7Xw8tiFIxdVgSusALQjQnJpYW4gU29tZXJzIDxicmlhbkB1ay5GcmVl
+QlNELm9yZz6JAJUDBRA3FLWcnWdBAAxuEhUBAcYYBACos9nKETuaH+z2h0Ws+IIY
+mN9FEm8wpPUcQmX5GFhfBUQ+rJbflzv0jJ/f2ac9qJHgIIAlJ3pMkfMpU8UYHEuo
+VCe4ZTU5sr4ZdBaF9kpm2OriFgZwIv4QAi7dCMu9ZwGRtZ3+z3DQsVSagucjZTIe
+yTUR6K+7E3YXANQjOdqFZYkAlQMFEDcUpeQO7bznZmp0IQEB4HED/Ru3NjwWO1gl
+xEiLTzRpU31Rh1Izw1lhVMVJkLAGBw9ieSkjvdIkuhqV1i+W4wKBClT0UOE28Kjp
+WbBKPFIASRYzN4ySwpprsG5H45EFQosovYG/HPcMzXU2GMj0iwVTxnMq7I8oH588
+ExHqfEN2ARD3ngmB2499ruyGl26pW/BftCBCcmlhbiBTb21lcnMgPGJyaWFuQE9w
+ZW5CU0Qub3JnPokAlQMFEDcUtW6dZ0EADG4SFQEBQwsD/j9B/lkltIdnQdjOqR/b
+dOBgJCtUf905y6kD+k4kbxeT1YAaA65KJ2o/Zj+i+69F2+BUJ/3kYB7prKwut2h0
+ek1ZtncGxoAsQdFJ5JSeMkwUZ5qtGeCmVPb59+KPq3nU6p3RI8Bn77FzK//Qy+IW
+/WFVJbf/6NCNCbyRiRjPbGl/iQCVAwUQNxSlyA7tvOdmanQhAQFzMAP/dvtsj3yB
+C+seiy6fB/nS+NnKBoff3Ekv57FsZraGt4z9n4sW61eywaiRzuKlhHqrDE17STKa
+fBOaV1Ntl7js7og5IFPWNlVh1cK+spDmd655D8pyshziDF6fSAsqGfTn35xl23Xj
+O20MMK44j4I5V6rEyUDBDrmX49J56OFkfwa0IEJyaWFuIFNvbWVycyA8YnJpYW5A
+RnJlZUJTRC5vcmc+iQCVAwUQNxS1Y51nQQAMbhIVAQHPBQP+IMUlE4DtEvSZFtG4
+YK9usfHSkStIafh/F/JzSsqdceLZgwcuifbemw79Rhvqhp0Cyp7kuI2kHO3a19kZ
+3ZXlDl3VDg41SV/Z5LzNw9vaZKuF/vtGaktOjac5E5aznWGIA5czwsRgydEOcd8O
+VPMUMrdNWRI6XROtnbZaRSwmD8aJAJUDBRA3FKWuDu2852ZqdCEBAWVJA/4x3Mje
+QKV+KQoO6mOyoIcD4GK1DjWDvNHGujJbFGBmARjr/PCm2cq42cPzBxnfRhCfyEvN
+aesNB0NjLjRU/m7ziyVn92flAzHqqmU36aEdqooXUY2T3vOYzo+bM7VtInarG1iU
+qw1G19GgXUwUkPvy9+dNIM/aYoI/e0Iv3P9uug==
+=R3k0
+-----END PGP PUBLIC KEY BLOCK-----</programlisting>
+ </sect2>
+ </sect1>
+</chapter>
+
+<!--
+ Local Variables:
+ mode: sgml
+ sgml-declaration: "../chapter.decl"
+ sgml-indent-data: t
+ sgml-omittag: nil
+ sgml-always-quote-attributes: t
+ sgml-parent-document: ("../handbook.sgml" "part" "chapter")
+ End:
+-->
+
diff --git a/fr_FR.ISO_8859-1/books/handbook/policies/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/policies/chapter.sgml
new file mode 100644
index 0000000000..17781d440a
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/policies/chapter.sgml
@@ -0,0 +1,404 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: 1.7
+-->
+
+<chapter id="policies">
+ <title>Gestion de l'arborescence des sources</title>
+
+ <para><emphasis>Contribution de &a.phk;.</emphasis></para>
+ &trans.a.haby;
+
+ <para>Ce document d&eacute;crit diff&eacute;rents principes et recommandations
+ en vigueur pour la gestion de l'arborescence des sources de FreeBSD.</para>
+
+ <sect1 id="policies-maintainer">
+ <title><makevar>MAINTAINER</makevar> dans les
+ <filename>Makefile</filename>s</title>
+
+ <para>Juin 1996.</para>
+
+ <para>Si un sous-ensemble particulier de la distribution de FreeBSD est
+ maintenu par une personne ou un groupe de personne, ils peuvent le
+ faire savoir &agrave; l'ext&eacute;rieur en ajoutant une
+ ligne&nbsp;:</para>
+
+ <programlisting>
+MAINTAINER= email-addresses
+ </programlisting>
+
+ <para>aux <filename>Makefile</filename>s correspondant &agrave; cette partie
+ de l'arborescence.</para>
+
+ <para>Cela signifie que&nbsp;:</para>
+
+ <para>La personne d&eacute;tient et assume la responsabilit&eacute de ce
+ code. Ce qui veut dire qu'il est responsable de la corrections des bogues
+ et des r&eacute;ponses aux rapports d'anomalie se rapportant &agrave; ce
+ code, et, dans le cas de logiciels d'origine ext&eacute;rieure, du suivi
+ des nouvelles versions, selon les besoins.</para>
+
+ <para>Les modifications dans les r&eacute;pertoires pour lesquels il existe
+ un responsable de la maintenance devront &ecirc;tre transmises &agrave; ce
+ responsable pour qu'il les passe en revue. Il n'est admis
+ d'int&eacute;grer de modifications sans passer par cette &eacute;tape
+ qu'aux seuls cas o&ugrave; le responsable ne r&eacute;pond pas dans un
+ d&eacute;lai acceptable, et apr&egrave;s plusieurs courriers
+ &eacute;lectroniques. Il est cependant sugger&eacute; d'insister et de
+ faire en sorte que les modifications soient revues par quelqu'un d'autre,
+ si c'est possible.</para>
+
+ <para>Il n'est bien s&ucirc;r pas acceptable d'ajouter une personne ou un
+ groupe de personnes comme responsable de la maintenance, s'ils ne sont pas
+ d'accord pour assumer cette obligation. D'un autre c&ocirc;t&eacute;, il
+ n'est pas n&eacute;cessaire que ce soit une personne ayant les droits
+ d'&eacute;criture dans
+ l'arborescence&nbsp;-&nbsp;&ldquo;<foreignphrase>committer</foreignphrase>&rdquo;&nbsp;-&nbsp;et
+ ce peut sans probl&egrave;me &ecirc;tre un groupe de personnes.</para>
+ </sect1>
+
+ <sect1>
+ <title>Logiciels de provenance
+ ext&eacute;rieure&nbsp;-&nbsp;&ldquo;contribu&eacute;s&rdquo;</title>
+
+ <para><emphasis>Contribution de &a.phk; et &a.obrien;.</emphasis></para>
+
+ <para>Juin 1996.</para>
+
+ <para>Certaines parties de la distribution de FreeBSD consistent en
+ logiciels qui sont activement maintenus ext&eacute;rieurement au projet
+ FreeBSD. Pour des raisons historiques, on appelle cela des logiciels
+ <emphasis>contribu&eacute;s</emphasis>. Perl, gcc et patch en sont des
+ exemples.</para>
+
+ <para>Ces deux derni&egrave;res ann&eacute;es, nous avons employ&eacute;
+ diff&eacute;rentes m&eacute;thodes pour g&eacute;rer ce type de logiciels, elles ont toutes leurs avantages et leurs inconv&eacute;nients. Aucune ne
+ s'est av&eacute;r&eacute;e incontestablement meilleure.</para>
+
+ <para>De ce fait, apr&egrave;s discussion, une de ces m&eacute;thode a
+ &eacute;t&eacute; retenue comme m&eacute;thode &ldquo;officielle&rdquo; et
+ devra &ecirc;tre utilis&eacute;e pour les prochaines adjonctions de
+ logiciels de ce type. De plus, il est fortement sugg&eacute;r&eacute; que
+ les logiciels d&eacute;j&agrave; int&eacute;gr&eacute;s convergent avec le
+ temps vers cette m&eacute;thode, parce qu'elle pr&eacute;sente des
+ avantages significatifs sur l'ancienne m&eacute;thode, dont la
+ possibilit&eacute; pour chacun d'obtenir facilement des
+ <filename>diff</filename>s avec les versions &ldquo;officielles&rdquo; du
+ source (m&ecirc;me sans acc&egrave;s cvs). Cela rendra beaucoup plus
+ facile la communication en retour des modifications aux
+ d&eacute;veloppeurs d'origine des logiciels.</para>
+
+ <para>Au final, n&eacute;anmoins, tout d&eacute;pend des personnes qui ont
+ en charge la maintenance. Si ce mod&egrave;le est particuli&egrave;rement
+ mal adapt&eacute; au paquetage concern&eacute;, il peut y avoir des
+ exceptions &agrave; ces r&egrave;gles, &agrave; condition expresse
+ d'approbation par l'&eacute;quipe de base et de consensus
+ g&eacute;n&eacute;ral des autres d&eacute;veloppeurs, la
+ maintenabilit&eacute; ult&eacute;rieure du paquetage &eacute;tant le
+ principal crit&egrave;re de d&eacute;cision.</para>
+
+ <note>
+ <para>Du fait de limitations malheureuses de conception du format des
+ fichiers RCS et de l'utilisation par CVS des branches d'origine, les
+ modifications mineures, triviales et/ou cosm&eacute;tiques sont
+ <emphasis>fortement d&eacute;courag&eacute;es</emphasis> sur les
+ fichiers qui sont toujours g&eacute;r&eacute;s sur la branche
+ d'origine. Les fichiers de &ldquo;localisation&rdquo; sont explicitement
+ inclus ici dans la cat&eacute;gorie &ldquo;cosm&eacute;tique&rdquo; et
+ ne doivent pas avoir de num&eacute;ros de r&eacute;vision
+ <literal>1.1.x.x</literal>. La modification d'un seul caract&egrave;re
+ peut congestionner de fa&ccedil;on relativement dramatique l'ensemble
+ des archives.</para>
+ </note>
+
+ <para>Nous utiliserons le langage de programmation
+ <application>Tcl</application> pour illustrer la fa&ccedil;on dont ce
+ mod&egrave;le s'applique&nbsp;:</para>
+
+ <para><filename>src/contrib/tcl</filename> contient le source tel qu'il est
+ distribu&eacute; par les gens qui maintiennent ce paquetage. Les parties
+ qui ne s'appliquent pas du tout &agrave; FreeBSD peuvent &ecirc;tre
+ supprim&eacute;es. Dans le cas de Tcl, les sous-r&eacute;pertoires
+ <filename>mac</filename>, <filename>win</filename> et
+ <filename>compat</filename> ont &eacute;t&eacute; &eacute;limin&eacute;s
+ avant l'importation.</para>
+
+ <para><filename>src/lib/libtcl</filename> ne contient qu'un
+ <filename>Makefile</filename> de &ldquo;style bmake&rdquo; qui utilise les
+ r&egrave;gles standard de <filename>bsd.lib.mk</filename> pour
+ g&eacute;n&eacute;rer la biblioth&egrave;que et installer la
+ documentation.</para>
+
+ <para><filename>src/usr.bin/tclsh</filename> ne contient qu'un
+ <filename>Makefile</filename> de &ldquo;style bmake&rdquo; qui
+ g&eacute;n&egrave;re et installe le programme
+ <command>tclsh</command> et les pages de manuel correspondantes en
+ utilisant les r&egrave;gles standard de
+ <filename>bsd.prog.mk</filename>.</para>
+
+ <para><filename>src/tools/tools/tcl_bmake</filename> contient une paire de
+ proc&eacute;dures qui peuvent &ecirc;tre utiles quand il faut mettre
+ &agrave; jour le logiciel Tcl. Elles ne font pas partie du logiciel
+ compil&eacute; et install&eacute;.</para>
+
+ <para>L'important ici est que le r&eacute;pertoire
+ <filename>src/contrib/tcl</filename> est cr&eacute;&eacute; en respectant
+ les r&egrave;gles suivantes&nbsp;: il est suppos&eacute; contenir les
+ sources tels que distribu&eacute;s (sur une branche CVS d'origine ad hoc
+ et sans extensions RCS des mots-cl&eacute;s) avec aussi peu de
+ modifications sp&eacute;cifiques &agrave; FreeBSD que possible. L'outil
+ d'&ldquo;importation facile&rdquo; sur <hostid>freefall</hostid>
+ aidera &agrave; importer le logiciel, mais, au moindre doute, il est
+ imp&eacute;ratif de se renseigner auparavant et de ne pas aller &agrave;
+ l'aveuglette en esp&eacute;rant que &ldquo;cela marchera&rdquo;. CVS ne
+ pardonne pas les erreurs d'importation et il n'est pas trivial de
+ r&eacute;cup&eacute;rer d'erreurs majeures.</para>
+
+ <para>Du fait des limitations conceptuelles d&eacute;j&agrave;
+ mentionn&eacute;es des branches d'origine de CVS, les correctifs
+ &ldquo;officiels&rdquo; du distributeur doivent &ecirc;tre
+ appliqu&eacute;s aux sources d'origine et le r&eacute;sultat
+ r&eacute;import&eacute; dans la branche principale. Ces correctifs
+ officiels ne doivent jamais &ecirc;tre appliqu&eacute;s aux versions
+ extraites pour FreeBSD et &ldquo;soumis&rdquo; ensuite, parce que cela
+ d&eacute;truit la coh&eacute;rence de la branche d'origine et rend
+ l'importation des versions ult&eacute;rieures assez difficile, parce qu'il
+ y aura des conflits.</para>
+
+ <para>Comme de nombreux paquetages contiennent des fichiers
+ d&eacute;di&eacute;s &agrave; la compatibilit&eacute; avec d'autres
+ architectures et environnements que FreeBSD, il est admissible de
+ supprimer les parties de la distribution qui ne concernent pas FreeBSD
+ pour gagner de la place. Les fichiers qui contiennent les notices de
+ <foreignphrase>copyright</foreignphrase> et des informations du type
+ &ldquo;notes de version&rdquo; qui s'appliquent aux autres fichiers ne
+ doivent <emphasis>pas</emphasis> &ecirc;tre supprim&eacute;s.</para>
+
+ <para>Si cela s'av&egrave;re plus facile, les <filename>Makefile</filename>s
+ <command>bmake</command> de l'arborescence de la distribution peuvent
+ &ecirc;tre g&eacute;n&eacute;r&eacute;s avec un utilitaire, ce qui peut
+ le cas &eacute;ch&eacute;ant faciliter les mont&eacute;es de version. Si
+ tel est le cas, veillez &agrave; administrer ces utilitaires (si besoin
+ est) dans le r&eacute;pertoire <filename>src/tools</filename> en
+ m&ecirc;me temps que le logiciel lui-m&ecirc;me, de sorte qu'ils soient
+ disponibles pour les personnes qui assureront par la suite la
+ maintenance.</para>
+
+ <para>Dans le r&eacute;pertoire <filename>src/contrib/tcl</filename>, il
+ faut ajouter un fichier appel&eacute; <filename>FREEBSD-upgrade</filename> qui mentionne des choses telles que&nbsp;:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Quels fichiers ont &eacute;t&eacute; laiss&eacute;s de
+ c&ocirc;t&eacute;,</para>
+ </listitem>
+
+ <listitem>
+ <para>O&ugrave; a &eacute;t&eacute; obtenue la distribution originale
+ et/ou quel est le site principal officiel,</para>
+ </listitem>
+
+ <listitem>
+ <para>O&ugrave; r&eacute;adresser les correctifs &agrave; l'auteur
+ original,</para>
+ </listitem>
+
+ <listitem>
+ <para>Eventuellement un r&eacute;sum&eacute; des modifications
+ apport&eacute;es propres &agrave; FreeBSD.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Cependant, n'importez pas <filename>FREEBSD-upgrade</filename> en
+ m&ecirc;me temps que le source du logiciel. Vous devriez plut&ocirc;t
+ effectuer un <command>cvs add FREEBSD-upgrade ; cvs ci</command>
+ apr&egrave;s le premier <command>import</command>. Voici par exemple
+ ce que cela donne pour <filename>src/contrib/cpio</filename>
+ <footnote><para>Traduction&nbsp;:</para>
+ <programlisting>
+
+Ce r&eacute;pertoire contient les sources d'origine non modifi&eacute;s sur la
+branche &ldquo;d'origine&rdquo;. N'essayez en aucun cas de mettre &agrave; jour
+les fichiers de ce r&eacute;pertoire via des correctifs et un &ldquo;commit&rdquo;
+cvs. Les nouvelles versions ou les versions officiellement
+rectifi&eacute;es doivent &ecirc;tre import&eacute;es. N'oubliez pas d'importer
+avec l'option &ldquo;-ko&rdquo; pour ne pas &eacute;craser les IDentifiants
+RCS d'origine.
+
+A l'importation de GNU cpio 2.4.2, les fichiers suivants ont &eacute;t&eacute;
+&eacute;limin&eacute;s&nbsp;:
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INSTALL cpio.info mkdir.c
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Makefile.in cpio.texi mkinstalldirs
+
+Pour passer &agrave; une nouvelle version de cpio, quand elle sera disponible&nbsp;:
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1. D&eacute;compactez la nouvelle version dans un sous-r&eacute;pertoire vide
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Ne modifiez en AUCUN cas les fichiers.]
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2. Supprimez les fichiers list&eacute;s ci-dessus et tous autres fichiers
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qui ne s'appliquent pas &agrave; FreeBSD.
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3. Utilisez la commande&nbsp;:
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cvs import -ko -m 'Virgin import of GNU cpio v&lt;version&gt;' \
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/contrib/cpio GNU cpio_&lt;version&gt;
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Voici par example comment j'ai import&eacute; la version 2.4.2 de cpio&nbsp;:
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cvs import -ko -m 'Virgin import of GNU v2.4.2' \
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/contrib/cpio GNU cpio_2_4_2
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4. Suivez les instructions affich&eacute;es &agrave; l'&eacute;tape 3 pour r&eacute;soudre les
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conflits entre les modifications locales pour FreeBSD et la
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nouvelle version.
+
+Ne d&eacute;viez en aucun cas de cette proc&eacute;dure.
+
+Pour appliquer les modifications locales &agrave; cpio, &ldquo;patchez&rdquo;
+simplement et soumettez sur la branche principale (aka HEAD).
+N'appliquez jamais les modifications locales &agrave; la branche GNU.
+
+Toutes les modifications locales doivent &ecirc;tre soumises &agrave;
+&ldquo;cpio@gnu.ai.mit.edu&rdquo; pour inclusion dans la prochaine
+version originale.
+
+obrien@freebsd.org - 30 Mars 1997
+ </programlisting></footnote>&nbsp;:</para>
+
+ <programlisting>
+This directory contains virgin sources of the original distribution files
+on a "vendor" branch. Do not, under any circumstances, attempt to upgrade
+the files in this directory via patches and a cvs commit. New versions or
+official-patch versions must be imported. Please remember to import with
+"-ko" to prevent CVS from corrupting any vendor RCS Ids.
+
+For the import of GNU cpio 2.4.2, the following files were removed:
+
+INSTALL cpio.info mkdir.c
+Makefile.in cpio.texi mkinstalldirs
+
+To upgrade to a newer version of cpio, when it is available:
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1. Unpack the new version into an empty directory.
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Do not make ANY changes to the files.]
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2. Remove the files listed above and any others that don't apply to
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FreeBSD.
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3. Use the command:
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cvs import -ko -m 'Virgin import of GNU cpio v&lt;version&gt;' \
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/contrib/cpio GNU cpio_&lt;version&gt;
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For example, to do the import of version 2.4.2, I typed:
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cvs import -ko -m 'Virgin import of GNU v2.4.2' \
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/contrib/cpio GNU cpio_2_4_2
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4. Follow the instructions printed out in step 3 to resolve any
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conflicts between local FreeBSD changes and the newer version.
+
+Do not, under any circumstances, deviate from this procedure.
+
+To make local changes to cpio, simply patch and commit to the main
+branch (aka HEAD). Never make local changes on the GNU branch.
+
+All local changes should be submitted to "cpio@gnu.ai.mit.edu" for
+inclusion in the next vendor release.
+
+obrien@freebsd.org - 30 March 1997
+ </programlisting>
+ </sect1>
+
+ <sect1 id="policies-shlib">
+ <title>Biblioth&egrave;ques partag&eacute;es</title>
+
+ <para><emphasis>Contribution de &a.asami;, &a.peter;, and &a.obrien; 9
+ D&eacute;cembre 1996.</emphasis></para>
+
+ <para>Si vous ajoutez &agrave; des logiciels port&eacute;s ou d'autres
+ logiciels, le support des biblioth&egrave;ques partag&eacute;es qu'ils
+ n'ont pas encore, les num&eacute;ros de version des biblioth&egrave;ques
+ doivent suivre les r&egrave;gles ci-dessous. De fa&ccedil;on
+ g&eacute;n&eacute;rale, ces num&eacute;ros n'ont pas de rapport avec les
+ num&eacute;ros de version du logiciel.</para>
+
+ <para>Les trois principes de g&eacute;n&eacute;ration des
+ biblioth&egrave;ques partag&eacute;es sont&nbsp;:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Commencez &agrave; <literal>1.0</literal>,</para>
+ </listitem>
+
+ <listitem>
+ <para>Si la modification est r&eacute;tro-compatible, augmentez le
+ num&eacute;ro de version mineure,</para>
+ </listitem>
+
+ <listitem>
+ <para>Si la modification est incompatible avec les versions
+ ant&eacute;rieures, augmentez le num&eacute;ro de version
+ majeure.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Par exemple, l'ajout de fonctions et les corrections de bogues
+ r&eacute;sultent en une incr&eacute;mentation du num&eacute;ro de version
+ mineure, alors que la suppression de fonctions ou la modification de
+ syntaxes d'appel de fonctions imposent un changement de num&eacute;ro de
+ version majeure.</para>
+
+ <para>Tenez-vous en &agrave; des num&eacute;ros de version de la forme
+ majeure.mineure
+ (<replaceable>x</replaceable>.<replaceable>y</replaceable>). Notre
+ &eacute;diteur de liens dynamiques ne g&egrave;re pas tr&egrave;s bien
+ les num&eacute;ros de version de la forme
+ <replaceable>x</replaceable>.<replaceable>y</replaceable>.<replaceable>z</replaceable>.
+ Tout num&eacute;ro de version apr&egrave;s le
+ <replaceable>y</replaceable> (i.e., le troisi&egrave;me chiffre) est
+ totalement ignor&eacute; lors de la comparaison des num&eacute;ros de
+ version des biblioth&egrave;ques partag&eacute;es pour d&eacute;cider
+ avec quelle biblioth&egrave;que effectuer le lien. Si deux
+ biblioth&egrave;ques partag&eacute;es diff&egrave;rent d'une
+ &ldquo;micro&rdquo; r&eacute;vision, <command>ld.so</command> fera le lien
+ avec la plus &eacute;lev&eacute;e. I.e.&nbsp;: si vous &eacute;ditez les liens
+ avec <filename>libfoo.so.3.3.3</filename>, l'&eacute;diteur de liens
+ n'enregistre que <literal>3.3</literal> dans les en-t&ecirc;tes, et fera
+ le lien avec n'importe quoi qui commence par
+ <replaceable>libfoo.so.3</replaceable>.<replaceable>(quelque chose &gt;=
+ 3)</replaceable>.<replaceable>(le num&eacute;ro le plus
+ &eacute;lev&eacute; disponible)</replaceable>.</para>
+
+ <note>
+ <para><command>ld.so</command> utilisera toujours la r&eacute;vision
+ &ldquo;mineure&rdquo; la plus &eacute;lev&eacute;e. I.e.&nbsp;: il
+ choisira <filename>libc.so.2.2</filename> plut&ocirc;t que
+ <filename>libc.so.2.0</filename>, m&ecirc;me si le programme a
+ &eacute;t&eacute; initialement li&eacute; avec
+ <filename>libc.so.2.0</filename>.</para>
+ </note>
+
+ <para>Pour les biblioth&egrave;ques autres que celles des logiciels
+ port&eacute;s, c'est aussi notre politique de ne changer de num&eacute;ro
+ de version de biblioth&egrave;que partag&eacute;e qu'une seule fois par
+ version de FreeBSD. Si vous modifiez une biblioth&egrave;que
+ syst&egrave;me de telle sorte que cela r&eacute;clame une
+ incr&eacute;mentation du num&eacute;ro de version, consultez l'historique
+ des soumissions du <filename>Makefile</filename>. C'est la personne qui
+ soumet qui doit s'assurer que le num&eacute;ro de version de la
+ biblioth&egrave;que partag&eacute;e est bien incr&eacute;ment&eacute;
+ &agrave; la premi&egrave;re modification et que les modifications
+ suivantes n'y touchent plus.</para>
+ </sect1>
+</chapter>
+
+<!--
+ Local Variables:
+ mode: sgml
+ sgml-declaration: "../chapter.decl"
+ sgml-indent-data: t
+ sgml-omittag: nil
+ sgml-always-quote-attributes: t
+ sgml-parent-document: ("../handbook.sgml" "part" "chapter")
+ End:
+-->
+
diff --git a/fr_FR.ISO_8859-1/books/handbook/ports/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/ports/chapter.sgml
new file mode 100644
index 0000000000..461ba197cb
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/ports/chapter.sgml
@@ -0,0 +1,5197 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+ <chapter id="ports">
+ <title>Installer des applications du &ldquo;Catalogue des logiciels
+ port&eacute;s&rdquo;</title>
+
+ <para><emphasis>Contribution de &a.jraynard;.</emphasis></para>
+ &trans.a.haby;
+
+ <para>Le catalogue des logiciels port&eacute;s de FreeBSD vous permet de
+ compiler et d'installer une grande vari&eacute;t&eacute; d'applications avec
+ un minimum d'efforts.</para>
+
+ <para>Malgr&eacute; toutes les d&eacute;clarations exag&eacute;r&eacute;es sur les standards ouverts,
+ faire fonctionner un programme sur diff&eacute;rentes versions d'Unix
+ peut en r&eacute;alit&eacute; &ecirc;tre fastidieux et d&eacute;licat, comme tous ceux qui
+ ont essay&eacute; le savent. Vous aurez peut-&ecirc;tre la chance d'arriver
+ &agrave; compiler, installer o&ugrave; il faut et ex&eacute;cuter sans incident le
+ programme que vous voulez &ldquo;tel quel&rdquo;, mais c'est
+ malheureusement assez rare. Dans la plupart des cas, vous devrez
+ vous creuser un peu la t&ecirc;te, et il y a un certain nombre de programmes
+ qui vous donneront pr&eacute;maturement des cheveux blancs, ou m&ecirc;me une
+ calvitie chronique...</para>
+
+ <para>Certaines distributions de logiciels ont r&eacute;solu ce probl&egrave;me
+ en fournissant des proc&eacute;dures de configuration. Certaines sont tr&egrave;s
+ sophistiqu&eacute;es, mais ont une f&acirc;cheuse tendance &agrave; vous annoncer
+ triomphalement que votre syst&egrave;me est d'une esp&egrave;ce dont vous n'avez
+ jamais entendu parler et &agrave; vous poser un tas de questions qui
+ ressemblent plus &agrave; un examen de programmation syst&egrave;me Unix.
+ <literal>(La fonction gethitlist de votre syst&egrave;me vous rend-elle un
+ pointeur const sur un schmilblick ou un pointeur sur un schmilblick
+ const? Avez-vous la gestion des exceptions inconnues de style
+ Foonix? Et sinon, pourquoi?)</literal></para>
+
+ <para>Heureusement, gr&acirc;ce au catalogue des logiciels port&eacute;s, tout le
+ travail p&eacute;nible a d&eacute;j&agrave; &eacute;t&eacute; fait, et il vous suffit de taper
+ <command>make install</command> pour avoir un logiciel qui
+ fonctionne.</para>
+
+ <sect1>
+ <title>Pourquoi un catalogue des logiciels port&eacute;s?</title>
+
+ <para>Le syst&egrave;me FreeBSD de base comporte une grande vari&eacute;t&eacute; d'outils
+ et d'utilitaires syst&egrave;me, mais de nombreux logiciels d'usage
+ courant n'en font pas partie, et il y a de bonnes raisons &agrave;
+ cela:</para>
+
+ <orderedlist>
+
+ <listitem>
+ <para>Il y a des programmes dont certains ne peuvent se passer
+ et que d'autres ne peuvent pas voir en peinture, un certain
+ &eacute;diteur bas&eacute; sur Lisp, par exemple.</para>
+ </listitem>
+
+ <listitem>
+ <para>Certains programmes sont trop sp&eacute;cialis&eacute;s pour faire partie
+ du syst&egrave;me de base (Conception Assist&eacute;e par Ordinateur, bases de donn&eacute;es).</para>
+ </listitem>
+
+ <listitem>
+ <para>Les programmes de la cat&eacute;gorie &ldquo;Je devrais y jeter
+ un coup d'oeil quand j'aurais cinq minutes&rdquo;, et qui n'ont
+ rien d'indispensable (certains langages, peut-&ecirc;tre).</para>
+ </listitem>
+
+ <listitem>
+ <para>Les programmes qui sont bien trop amusants pour &ecirc;tre fournis
+ avec un syst&egrave;me d'exploitation s&eacute;rieux comme FreeBSD ;-)</para>
+ </listitem>
+
+ <listitem>
+ <para>Peut importe la quantit&eacute; de programmes fournis de base,
+ les gens en veulent toujours plus, et il faut d&eacute;finir une
+ s&eacute;paration quelque part (sans quoi les distributions de FreeBSD
+ deviendraient absolument &eacute;normes).</para>
+ </listitem>
+
+ </orderedlist>
+
+ <para>Il serait &eacute;videmment irr&eacute;aliste d'attendre que chacun porte
+ ses programmes favoris &agrave; la main (sans mentionner la quantit&eacute;
+ invraisemblable de travail refait &agrave; chaque fois), le Projet
+ FreeBSD a donc mis en place une m&eacute;thode ing&eacute;nieuse d'utilisation
+ d'outils standard pour automatiser le processus.</para>
+
+ <para>C'est, au passage, une excellente illustration de la
+ &ldquo;mani&egrave;re Unix&rdquo; de faire en combinant un jeu
+ d'outils simples mais souples pour arriver &agrave; un m&eacute;canisme
+ tr&egrave;s puissant.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Comment fonctionne le catalogue des logiciels port&eacute;s?</title>
+
+ <para>Les logiciels sont typiquement distribu&eacute;s sur l'Internet sous
+ forme d'<link linkend="ports-tarball">archives</link> incluant un
+ fichier <filename>Makefile</filename>, le code source du programme
+ et habituellement quelques instructions (qui ne sont pas toujours
+ aussi instructives qu'elles pourraient l'&ecirc;tre), avec peut-&ecirc;tre aussi
+ une proc&eacute;dure de configuration.</para>
+
+ <para>Le sc&eacute;nario standard consiste &agrave; t&eacute;l&eacute;charger l'archive par FTP,
+ l'extraire quelque part, parcourir les instructions, faire les
+ modifications qui vous paraissent n&eacute;cessaires, lancer la proc&eacute;dure
+ de configuration pour mettre tout au point et utiliser la commande
+ <command>make</command> habituelle pour compiler et installer le
+ programme &agrave; partir du source.</para>
+
+ <para>Les logiciels port&eacute;s de FreeBSD utilisent toujours le m&eacute;canisme
+ des archives, mais se servent d'un
+ <link linkend="ports-skeleton">squelette</link> qui renferme
+ la &ldquo;connaissance&rdquo; n&eacute;cessaire pour pouvoir obtenir un
+ logiciel utilisable sous FreeBSD, plut&ocirc;t que d'attendre de
+ l'utilisateur qu'il se d&eacute;brouille. Ils comportent aussi leurs
+ propres
+ <link linkend="ports-makefile"><filename>Makefile</filename>s</link>,
+ de sorte que presque tous les logiciels port&eacute;s se compilent et
+ s'installent de la m&ecirc;me fa&ccedil;on.</para>
+
+ <para>Si vous regardez le squelette pour un logiciel port&eacute; (soit sur
+ <ulink url="file://localhost/usr/ports/devel/ElectricFence">votre
+ machine FreeBSD</ulink>, soit sur <ulink
+ url="ftp://ftp.freebsd.org/pub/FreeBSD/ports/devel/ElectricFence">le
+ site FTP</ulink>), et esp&eacute;rez y trouver toutes sortes de techniques
+ d'avant-garde, vous serez d&eacute;&ccedil;u par les quelques fichiers et
+ r&eacute;pertoires sans &eacute;clat que vous y verrez. (Nous parlerons bient&ocirc;t de
+ la fa&ccedil;on de <link linkend="ports-getting">Se procurer un logiciel
+ port&eacute;</link>).</para>
+
+ <para>Je vous entends d'ici: &ldquo;Comment diable cela peut-il arriver
+ &agrave; faire quoi que ce soit? Le code source n'y est m&ecirc;me
+ pas!&rdquo;</para>
+
+ <para>Ne craignez rien, aimable lecteur, tout va s'&eacute;clairer
+ (esp&eacute;rons-le). Examinons ce qui se passe lorsque nous essayons
+ d'installer un logiciel port&eacute;. J'ai choisi
+ <application>ElectricFence</application>, un bon outil pour les
+ d&eacute;veloppeurs, car son squelette est plus explicite que la
+ plupart.</para>
+
+ <note>
+ <para>Si vous essayez de le faire chez vous, vous devez &ecirc;tre
+ super-utilisateur.</para>
+ </note>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cd /usr/ports/devel/ElectricFence</userinput>
+&prompt.root; <userinput>make install</userinput>
+&gt;&gt; Checksum OK for ElectricFence-2.0.5.tar.gz.
+===&gt; Extracting for ElectricFence-2.0.5
+===&gt; Patching for ElectricFence-2.0.5
+===&gt; Applying FreeBSD patches for ElectricFence-2.0.5
+===&gt; Configuring for ElectricFence-2.0.5
+===&gt; Building for ElectricFence-2.0.5
+[une tonne de r&eacute;sultats de compilation...]
+===&gt; Installing for ElectricFence-2.0.5
+===&gt; Warning: your umask is "0002". If this is not desired, set it to
+ an appropriate value and install this port again by ``make reinstall''.
+install -c -o bin -g bin -m 444 /usr/ports/devel/ElectricFence/work/ElectricFence-2.0.5/libefence.a /usr/local/lib
+install -c -o bin -g bin -m 444 /usr/ports/devel/ElectricFence/work/ElectricFence-2.0.5/libefence.3 /usr/local/man/man3
+===&gt; Compressing manual pages for ElectricFence-2.0.5
+===&gt; Registering installation for ElectricFence-2.0.5</screen>
+ </informalexample>
+
+ <para>Pour &eacute;viter la confusion, je n'ai pas donn&eacute; les r&eacute;sultats de la
+ compilation.</para>
+
+ <para>Si vous avez essay&eacute; de votre c&ocirc;t&eacute;, vous avez peut-&ecirc;tre obtenu au
+ d&eacute;but quelque chose du genre:</para>
+
+ <informalexample id="ports-fetch">
+ <screen>&prompt.root; <userinput>make install</userinput>
+&gt;&gt; ElectricFence-2.0.5.tar.gz doesn't seem to exist on this system.
+&gt;&gt; Attempting to fetch from
+ ftp://ftp.doc.ic.ac.uk/Mirrors/sunsite.unc.edu/pub/Linux/devel/lang/c/.</screen>
+ </informalexample>
+
+ <para>Le programme <command>make</command> s'est rendu compte que vous
+ n'aviez pas de copie locale du source et a essay&eacute; de le t&eacute;l&eacute;charger
+ pour pouvoir continuer son travail. J'avais d&eacute;j&agrave; le source, il n'a
+ donc pas eu besoin d'aller le chercher.</para>
+
+ <para>Continuons et voyons ce que le programme <command>make</command>
+ a fait:</para>
+
+ <procedure>
+
+ <step>
+ <para>Localiser l'<link linkend="ports-tarball">archive</link>
+ du code source. Si elle n'est pas localement disponible, aller
+ la chercher sur un site FTP.</para>
+ </step>
+
+ <step>
+ <para>Lancer un test de la <link linkend="ports-checksum">somme de
+ contr&ocirc;le</link> sur le fichier d'archive pour s'assurer qu'il
+ a bien &eacute;t&eacute; r&eacute;cup&eacute;r&eacute;, et non accidentellement tronqu&eacute;,
+ t&eacute;l&eacute;charg&eacute; en mode ASCII, ou bombard&eacute; de neutrinos pendant le
+ transfert.</para>
+ </step>
+
+ <step>
+ <para>Extraire l'archive dans un r&eacute;pertoire temporaire.</para>
+ </step>
+
+ <step>
+ <para>Appliquer les
+ <link linkend="ports-patch">&ldquo;patches&rdquo;</link>&nbsp;-&nbsp;mises
+ &agrave; jour&nbsp;-&nbsp;n&eacute;cessaires &agrave; la compilation et &agrave; l'ex&eacute;cution
+ sous FreeBSD.</para>
+ </step>
+
+ <step>
+ <para>Lancer les proc&eacute;dures de configuration n&eacute;cessaires &agrave; la
+ compilation et r&eacute;pondre correctement aux questions
+ pos&eacute;es.</para>
+ </step>
+
+ <step>
+ <para>(Finalement!) Compiler le code.</para>
+ </step>
+
+ <step>
+ <para>Installer le programme ex&eacute;cutable et les autres fichiers
+ qui vont avec, pages de manuel, etc. dans un sous-r&eacute;pertoire de
+ <filename>/usr/local</filename>, o&ugrave; ils ne se m&eacute;langeront pas
+ avec vos programmes syst&egrave;me. Cela garantit aussi que tous les
+ logiciels port&eacute;s soient au m&ecirc;me endroit, au lieu d'&ecirc;tre
+ &eacute;parpill&eacute;s &agrave; droite et &agrave; gauche sur votre syst&egrave;me.</para>
+ </step>
+
+ <step>
+ <para>Enregistrez l'installation dans une base de donn&eacute;es. Si vous
+ ne voulez pas conserver le programme par la suite, vous pourrez
+ le <link linkend="ports-remove">d&eacute;sinstaller</link> proprement
+ de votre syst&egrave;me.</para>
+ </step>
+
+ </procedure>
+
+ <para>Parcourez les r&eacute;sultats de <command>make</command> et voyez si
+ vous retrouvez ces diff&eacute;rentes &eacute;tapes. Si vous n'&eacute;tiez pas encore
+ impressionn&eacute;, vous devriez l'&ecirc;tre maintenant!</para>
+
+ </sect1>
+
+ <sect1 id="ports-getting">
+ <title>Se procurer un logiciel port&eacute; pour FreeBSD</title>
+
+ <para>Il y a deux fa&ccedil;ons d'obtenir la version port&eacute;e pour FreeBSD d'un
+ logiciel. Il vous faut soit le <link linkend="ports-cd">CD-ROM
+ FreeBSD</link>, soit une <link linkend="ports-inet">connexion
+ Internet</link>.</para>
+
+ <sect2 id="ports-cd">
+ <title>Compiler les logiciels port&eacute;s depuis le CD-ROM</title>
+
+ <para>Si vous avez r&eacute;pondu oui &agrave; la question &ldquo;Do you want to
+ link the ports collection to your
+ CD-ROM?&rdquo;&nbsp;-&nbsp;&ldquo;Voulez-vous cr&eacute;er un lien
+ symbolique sur le catalogue des logiciels port&eacute;s du
+ CD-ROM?&rdquo;&nbsp;-&nbsp;pendant la configuration de
+ l'installation de FreeBSD, le programme aura d&eacute;j&agrave; effectu&eacute; &agrave; votre
+ place les &eacute;tapes pr&eacute;liminaires.</para>
+
+ <para>Sinon, v&eacute;rifiez que le CD-ROM <emphasis>FreeBSD</emphasis> est
+ bien dans le lecteur et mont&eacute; sur, par exemple,
+ <filename>/cdrom</filename>. puis tapez:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>mkdir /usr/ports</userinput>
+&prompt.root; <userinput>cd /usr/ports</userinput>
+&prompt.root; <userinput>ln -s /cdrom/ports/distfiles distfiles</userinput></screen>
+ </informalexample>
+
+ <para>pour que le m&eacute;canisme d'installation puisse trouver
+ les archives (il s'attend &agrave; ce qu'elles soient dans le r&eacute;pertoire
+ <filename>/usr/ports/distfiles</filename>, c'est la raison pour
+ laquelle nous avons cr&eacute;&eacute; un lien symbolique du r&eacute;pertoire
+ d'archive du CD-ROM sur ce r&eacute;pertoire).</para>
+
+ <para>Supposons maintenant que nous voulions installer le programme
+ <application>gnats</application> qui se trouve dans le r&eacute;pertoire
+ des bases de donn&eacute;es. Voici comment nous proc&eacute;derions:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cd /usr/ports</userinput>
+&prompt.root; <userinput>mkdir databases</userinput>
+&prompt.root; <userinput>cp -R /cdrom/ports/databases/gnats databases</userinput>
+&prompt.root; <userinput>cd databases/gnats</userinput>
+&prompt.root; <userinput>make install</userinput></screen>
+ </informalexample>
+
+ <para>Si vous utilisez s&eacute;rieusement les bases de donn&eacute;es et que vous
+ voulez comparer toutes celles qui sont disponibles au catalogue,
+ tapez:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cd /usr/ports</userinput>
+&prompt.root; <userinput>cp -R /cdrom/ports/databases .</userinput>
+&prompt.root; <userinput>cd databases</userinput>
+&prompt.root; <userinput>make install</userinput></screen>
+ </informalexample>
+
+ <para>(oui, il y a vraiment un &ldquo;.&rdquo; &agrave; la fin de la
+ commande <command>cp</command>, ce n'est pas une erreur. C'est une
+ &ldquo;Unixerie&rdquo; qui veut dire: &ldquo;le r&eacute;pertoire
+ courant&rdquo;) et le syst&egrave;me d'installation des logiciels port&eacute;s
+ compilera et installera automatiquement tous les logiciels de
+ base de donn&eacute;es disponibles!</para>
+
+ <para>Si cette m&eacute;thode ne vous convient pas, voici une fa&ccedil;on
+ enti&egrave;rement diff&eacute;rente de faire:</para>
+
+ <para>Cr&eacute;ez une &ldquo;arborescence de liens&rdquo; vers le catalogue
+ en vous servant de la commande <citerefentry><refentrytitle>lndir</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ de la distribution de <emphasis>XFree86</emphasis>. Trouvez un
+ endroit o&ugrave; vous avez de la place, cr&eacute;ez-y un r&eacute;pertoire et
+ placez-vous dans ce r&eacute;pertoire avec <command>cd</command>. Utilisez
+ maintenant la commande
+ <citerefentry><refentrytitle>lndir</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ avec comme premier argument le chemin d'acc&egrave;s complet au r&eacute;pertoire
+ <filename>ports</filename> du CD-ROM et un &ldquo;.&rdquo; (le
+ r&eacute;pertoire courant) comme second argument. Quelque chose du
+ genre:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>lndir /cdrom/ports .</userinput></screen>
+ </informalexample>
+
+ <para>Vous pouvez alors installer les logiciels port&eacute;s directement
+ &agrave; partir du CD-ROM en le faisant depuis l'arborescence de liens que
+ vous venez de cr&eacute;er.</para>
+
+ <para>Remarquez que les sources d'origine de certains logiciels ne
+ peuvent &ecirc;tre fournis sur le CD-ROM, pour des questions de licence.
+ Dans ce cas, vous devrez vous reporter &agrave; la section
+ <link linkend="ports-inet">Installer de logiciels port&eacute;s via
+ une connexion Internet</link>.</para>
+
+ </sect2>
+
+ <sect2 id="ports-inet">
+ <title>Installer des logiciels port&eacute;s via une connexion
+ Internet</title>
+
+ <para>Si vous n'avez pas de CD-ROM, ou voulez &ecirc;tre s&ucirc;r d'avoir
+ la toute derni&egrave;re version d'un logiciel, vous devrez
+ t&eacute;l&eacute;charger le <link linkend="ports-skeleton">squelette</link>
+ associ&eacute; au logiciel port&eacute;. Cela peut para&icirc;tre une combine
+ pleine d'emb&ucirc;ches, mais c'est en r&eacute;alit&eacute; tr&egrave;s
+ simple.</para>
+
+ <para>Le secret est que le serveur FTP FreeBSD peut vous g&eacute;n&eacute;rer
+ des <link linkend="ports-tarball">archives</link> &agrave; la vol&eacute;e. Voici
+ comment cela fonctionne, avec toujours comme exemple le programme
+ <application>gnats</application> du r&eacute;pertoire des bases de donn&eacute;es
+ (les textes entre crochets sont des commentaires. Ne le tapez pas
+ si vous essayez cela de votre c&ocirc;t&eacute;!):</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cd /usr/ports</userinput>
+&prompt.root; <userinput>mkdir databases</userinput>
+&prompt.root; <userinput>cd databases</userinput>
+&prompt.root; <userinput>ftp ftp.freebsd.org</userinput>
+[ouvrez une session en tant qu'utilisateur `ftp' et donnez votre adresse
+de courrier &eacute;lectronique quand on vous demande un mot de passe. N'oubliez
+pas d'utiliser le mode binaire (appel&eacute; aussi 'image')!]
+<prompt>&gt;</prompt> <userinput>cd /pub/FreeBSD/ports/databases</userinput>
+<prompt>&gt;</prompt> <userinput>get gnats.tar</userinput>
+[archive et r&eacute;cup&egrave;re le squelette de gnats]
+<prompt>&gt;</prompt> <userinput>quit</userinput>
+&prompt.root; <userinput>tar xf gnats.tar</userinput>
+[extrait le squelette de gnats]
+&prompt.root; <userinput>cd gnats</userinput>
+&prompt.root; <userinput>make install</userinput>
+[compile et installe gnats]</screen>
+ </informalexample>
+
+ <para>Que se passe-t-il? Nous nous sommes connect&eacute;s comme &agrave;
+ l'ordinaire au serveur FTP et sommes all&eacute;s dans son sous-r&eacute;pertoire
+ des bases de donn&eacute;es. Quand nous lui
+ avons donn&eacute; la commande <command>get gnats.tar</command>, le serveur
+ FTP a cr&eacute;&eacute; une <link linkend="ports-tarball">archive</link> du
+ r&eacute;pertoire gnats &agrave; notre usage.</para>
+
+ <para>Nous avons alors extrait de cette archive le squelette pour
+ gnats qu'elle contenait et sommes all&eacute;s dans le r&eacute;pertoire gnats
+ pour compiler et installer le logiciel. Comme nous l'avons expliqu&eacute;
+ <link linkend="ports-fetch">plus haut</link>, le processus
+ d'installation s'est rendu compte que nous n'avions pas de copie
+ locale des sources, en a t&eacute;l&eacute;charg&eacute; une avant de l'extraire, de la
+ mettre &agrave; jour et de la compiler.</para>
+
+ <para>Essayons maintenant quelque chose de plus ambitieux. Au lieu
+ de r&eacute;cup&eacute;rer un seul squelette, r&eacute;cup&eacute;rons un sous-r&eacute;pertoire
+ complet, par exemple, tous les squelettes pour les bases de donn&eacute;es
+ du catalogue des logiciels port&eacute;s. La fa&ccedil;on de proc&eacute;der est
+ quasi identique:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cd /usr/ports</userinput>
+&prompt.root; <userinput>ftp ftp.freebsd.org</userinput>
+[ouvrez une session en tant qu'utilisateur `ftp' et donnez votre adresse
+de courrier &eacute;lectronique quand on vous demande un mot de passe. N'oubliez
+pas d'utiliser le mode binaire (appel&eacute; aussi 'image')!]
+<prompt>&gt;</prompt> <userinput>cd /pub/FreeBSD/ports</userinput>
+<prompt>&gt;</prompt> <userinput>get databases.tar</userinput>
+[archive et r&eacute;cup&egrave;re les squelettes pour les bases de donn&eacute;es]
+<prompt>&gt;</prompt> <userinput>quit</userinput>
+&prompt.root; <userinput>tar xf databases.tar</userinput>
+[extrait les squelettes de toutes les bases de donn&eacute;es]
+&prompt.root; <userinput>cd databases</userinput>
+&prompt.root; <userinput>make install</userinput>
+[compile et installe les logiciels de base de donn&eacute;es port&eacute;s]</screen>
+ </informalexample>
+
+ <para>Avec une demi-douzaine de commandes &eacute;l&eacute;mentaires, nous
+ disposons maintenant d'un &eacute;ventail de logiciels de base de
+ donn&eacute;es sur notre machine FreeBSD. La seule diff&eacute;rence avec
+ l'installation d'un seul logiciel est que nous avons r&eacute;cup&eacute;r&eacute;
+ et compil&eacute; d'un seul coup tout un r&eacute;pertoire de programmes.
+ Impressionnant, non?</para>
+
+ <para>Si vous envisagez d'installer de nombreux logiciels port&eacute;s, cela
+ vaut probablement la peine de t&eacute;l&eacute;charger tous les r&eacute;pertoires du
+ catalogue.</para>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="ports-skeleton">
+ <title>Les squelettes</title>
+
+ <para>Une bande de programmeurs compulsifs qui ont oubli&eacute; de manger
+ lors d'une tentative d&eacute;sesp&eacute;r&eacute;e de respecter une &eacute;ch&eacute;ance? Des choses
+ d&eacute;sagr&eacute;ables hantant les sous-sols de FreeBSD? Non, un squelette est
+ un environnement minimal qui contient tout ce qu'il faut pour que la
+ magie des logiciels port&eacute;s fonctionne.</para>
+
+ <sect2 id="ports-makefile">
+ <title><filename>Makefile</filename></title>
+
+ <para>Le composant le plus important d'un squelette est le fichier
+ <filename>Makefile</filename>. Il contient les divers ordres qui
+ pr&eacute;cisent comment le logiciel doit &ecirc;tre compil&eacute; et install&eacute;. Voici
+ le <filename>Makefile</filename> pour
+ <application>ElectricFence</application>:</para>
+
+ <programlisting>
+# New ports collection makefile for: Electric Fence
+# Version required: 2.0.5
+# Date created: 13 November 1997
+# Whom: jraynard
+#
+# &#36;Id&#36;
+#
+
+DISTNAME= ElectricFence-2.0.5
+CATEGORIES= devel
+MASTER_SITES= ${MASTER_SITE_SUNSITE}
+MASTER_SITE_SUBDIR= devel/lang/c
+
+MAINTAINER= jraynard@freebsd.org
+
+MAN3= libefence.3
+
+do-install:
+ ${INSTALL_DATA} ${WRKSRC}/libefence.a ${PREFIX}/lib
+ ${INSTALL_MAN} ${WRKSRC}/libefence.3 ${PREFIX}/man/man3
+
+.include &lt;bsd.port.mk&gt;</programlisting>
+
+ <para>Les lignes qui commencent par un &ldquo;#&rdquo; sont des
+ commentaires &agrave; l'intention des lecteurs humains (comme dans la
+ plupart des proc&eacute;dures Unix).</para>
+
+ <para><literal>DISTNAME</literal> donne le nom, sans extension, de
+ l'<link linkend="ports-tarball">archive</link>.</para>
+
+ <para><literal>CATEGORIES</literal> indique de quel type de logiciel
+ il s'agit. Dans le cas pr&eacute;sent, c'est un outil pour les
+ d&eacute;veloppeurs.</para>
+
+ <para><literal>MASTER_SITES</literal> est l'URL(s) du site FTP
+ principal, d'o&ugrave; sera t&eacute;l&eacute;charg&eacute;
+ l'<link linkend="ports-tarball">archive</link>, si elle n'est
+ pas disponible sur la machine locale. C'est un site consid&eacute;r&eacute;
+ comme fiable, normalement celui de la distribution officielle
+ (dans la mesure o&ugrave; un logiciel peut &ecirc;tre
+ &ldquo;officiellement&rdquo; distribu&eacute; sur l'Internet).</para>
+
+ <para><literal>MAINTAINER</literal> est l'adresse &eacute;lectronique de
+ la personne responsable de la maintenance du squelette, qui
+ intervient lorsque, par exemple, il sort une nouvelle version du
+ programme.</para>
+
+ <para>Sautons pour l'instant quelques lignes, la ligne
+ <literal>.include &lt;bsd.port.mk&gt;</literal> indique que les
+ autres directives et commandes n&eacute;cessaires se trouvent dans le
+ fichier g&eacute;n&eacute;rique <filename>bsd.port.mk</filename>. Comme ce sont
+ les m&ecirc;mes pour tous les logiciels port&eacute;s, il n'y a pas de raison
+ de les dupliquer &agrave; chaque fois, elles sont donc enregistr&eacute;es dans un
+ fichier standard.</para>
+
+ <para>Ce n'est probablement pas l'endroit o&ugrave; expliquer en d&eacute;tail
+ comment le <filename>Makefile</filename> fonctionne; il suffit de
+ pr&eacute;ciser que la ligne qui commence par <literal>MAN3</literal>
+ garantit que les pages de manuel d'ElectricFence seront compress&eacute;es
+ apr&egrave;s installation, pour &eacute;conomiser votre pr&eacute;cieux espace disque. Le
+ logiciel d'origine ne d&eacute;finissait pas de cible
+ <maketarget>install</maketarget>, les trois lignes qui commencent &agrave;
+ <maketarget>do-install</maketarget> veillent &agrave; ce que les fichiers
+ g&eacute;n&eacute;r&eacute;s soient bien plac&eacute;s l&agrave; o&ugrave; il faut.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Le r&eacute;pertoire <filename>files</filename></title>
+
+ <para>Le fichier qui contient la <link linkend="ports-checksum">somme
+ de contr&ocirc;le</link> pour ce logiciel s'appelle
+ <filename>md5</filename>, du nom de l'algorithme MD5 utilis&eacute; pour
+ la calculer. Il se trouve dans un r&eacute;pertoire au nom quelque peu
+ trompeur de <filename>files</filename>.</para>
+
+ <para>Ce r&eacute;pertoire peut aussi contenir divers fichiers n&eacute;cessaires
+ au portage et qui n'ont pas de raison particuli&egrave;re
+ d'&ecirc;tre ailleurs.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Le r&eacute;pertoire <filename>patches</filename></title>
+
+ <para>Ce r&eacute;pertoire contient les <link linkend="ports-patch">mises &agrave;
+ niveau</link> qu'il faut appliquer pour que tout fonctionne
+ correctement sous FreeBSD.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Le r&eacute;pertoire <filename>pkg</filename></title>
+
+ <para>Ce r&eacute;pertoire contient trois fichiers assez utiles:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para><filename>COMMENT</filename>&nbsp;-&nbsp;une description
+ en une seule ligne du logiciel.</para>
+ </listitem>
+
+ <listitem>
+ <para><filename>DESCR</filename>&nbsp;-&nbsp;une description
+ plus d&eacute;taill&eacute;e.</para>
+ </listitem>
+
+ <listitem>
+ <para><filename>PLIST</filename>&nbsp;-&nbsp;la liste de tous
+ les fichiers qui seront cr&eacute;&eacute;s quand le logiciel sera
+ install&eacute;.</para>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="ports-troubleshooting">
+ <title>Que faire quand un portage &eacute;choue?</title>
+
+ <para>Oh. Il y a quatre (4) choses que vous pouvez faire :</para>
+
+ <orderedlist>
+
+ <listitem>
+ <para>Corriger le probl&egrave;me vous-m&ecirc;me. Vous trouverez des d&eacute;tails
+ techniques sur le m&eacute;canisme des portages &agrave; la section
+ <link linkend="porting">Faire vous-m&ecirc;me un portage</link>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Rousp&eacute;ter. Cela ne se fait <emphasis>que</emphasis> par
+ courrrier &eacute;lectronique! adressez-vous &agrave; la &a.ports; et pr&eacute;cisez
+ s'il vous pla&icirc;t le nom et la version du logiciel, sur quel site
+ vous avez r&eacute;cup&eacute;r&eacute; le squelette et l'(les) archive(s) et quel
+ message d'erreur vous obtenez.</para>
+ </listitem>
+
+ <listitem>
+ <para>Faire une croix dessus. C'est la m&eacute;thode la plus facile pour
+ la plupart des gens&nbsp;-&nbsp;il y a bien peu de programmes
+ du catalogue qui soient vraiment essentiels!</para>
+ </listitem>
+
+ <listitem>
+ <para>R&eacute;cup&eacute;rer la version pr&eacute;compil&eacute;e sur un serveur ftp. Le
+ catalogue de r&eacute;f&eacute;rence des logiciels pr&eacute;compil&eacute;s se trouve
+ sur le serveur FTP de FreeBSD dans le r&eacute;pertoire des
+ <ulink
+ url="ftp://ftp.FreeBSD.org/pub/FreeBSD/packages/">logiciels
+ pr&eacute;compil&eacute;s</ulink>, bien que nous souhaiterions
+ s'il vous pla&icirc;t que
+ vous consultiez d'abord vos sites miroirs locaux! Il y a
+ globalement plus de chances que cela marche, que lorsque vous
+ essayez de les compiler d'apr&egrave;s les sources, et cela va
+ de plus beaucoup plus vite. Servez-vous du programme
+ <citerefentry><refentrytitle>pkg_add</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ pour installer le fichier contenant un logiciel pr&eacute;compil&eacute; sur
+ votre syst&egrave;me.</para>
+ </listitem>
+
+ </orderedlist>
+
+ </sect1>
+
+ <sect1>
+ <title>Quelques questions et leurs r&eacute;ponses</title>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>Q. Je pensais que cela allait &ecirc;tre une discussion sur les
+ modems??!</para>
+
+ <para>R. Ah. Vous pensiez peut-&ecirc;tre aux &ldquo;ports&rdquo;
+ s&eacute;rie sur la face arri&egrave;re de votre ordinateur. Nous utilisons
+ ici le terme
+ &ldquo;port&rdquo;&nbsp;-&nbsp;logiciels port&eacute;s&nbsp;-&nbsp;pour
+ parler du r&eacute;sultat du &ldquo;portage&rdquo; d'un logiciel d'une
+ version d'Unix &agrave; une autre. (Les informaticiens ont la f&acirc;cheuse
+ habitude d'employer le m&ecirc;me mot pour parler de choses
+ diff&eacute;rentes.)</para>
+ </listitem>
+
+ <listitem>
+ <para>Q. Je pensais qu'il fallait utiliser des
+ &ldquo;paquetages&rdquo; pour installer des logiciels
+ suppl&eacute;mentaires.</para>
+
+ <para>R. Oui, c'est habituellement la fa&ccedil;on la plus rapide et la
+ plus facile de le faire.</para>
+ </listitem>
+
+ <listitem>
+ <para>Q. Pourquoi alors se pr&eacute;occuper de logiciels port&eacute;s?</para>
+
+ <para>R. Il y a plusieurs raisons:</para>
+
+ <orderedlist>
+
+ <listitem>
+ <para>Les licences de certains logiciels stipulent qu'ils
+ doivent &ecirc;tre distribu&eacute;s sous forme de sources et non de
+ binaires.</para>
+ </listitem>
+
+ <listitem>
+ <para>Certains ne font pas confiance aux distributions sous
+ forme binaire. Avec le code source, vous pouvez au moins
+ (en th&eacute;orie) le lire pour y rep&eacute;rer d'&eacute;ventuels
+ probl&egrave;mes.</para>
+ </listitem>
+
+ <listitem>
+ <para>Si vous avez des corrections/&eacute;volutions qui vous sont
+ propres, vous avez besoin des sources pour les
+ appliquer.</para>
+ </listitem>
+
+ <listitem>
+ <para>Vous pouvez vouloir compiler le programme avec des
+ options diff&eacute;rentes de celles qu'a utilis&eacute;es la personne
+ qui a construit le
+ &ldquo;paquetage&rdquo;&nbsp;-&nbsp;certains ont des
+ opinions bien arr&ecirc;t&eacute;es sur la mani&egrave;re dont il faut
+ optimiser, sur le fait qu'il faut ou non disposer de
+ versions d&eacute;bogables et y inclure ou non les symboles,
+ etc.</para>
+ </listitem>
+
+ <listitem>
+ <para>Certains aiment disposer du code source, pour pouvoir
+ le lire en cas de probl&egrave;me, le modifier, en emprunter des
+ morceaux (si la licence le permet, bien s&ucirc;r!), et ainsi de
+ suite.</para>
+ </listitem>
+
+ <listitem>
+ <para>Si vous n'avez pas le source, ce n'est pas du
+ logiciel! <!-- smiley -->;-)</para>
+ </listitem>
+
+ </orderedlist>
+
+ </listitem>
+
+ <listitem>
+ <para><anchor id="ports-patch"> Q. Qu'est-ce qu'un
+ &ldquo;patch&rdquo;&nbsp;-&nbsp;mise &agrave; jour?</para>
+
+ <para>R. Un &ldquo;patch&rdquo; est (habituellement) un petit
+ fichier qui pr&eacute;cise comment passer d'une version &agrave; une autre. Il
+ contient du texte qui dit, par exemple, des choses comme
+ &ldquo;effacez la ligne 23&rdquo;, &ldquo;ajoutez ces deux
+ lignes apr&egrave;s la ligne 468&rdquo; ou &ldquo;modifiez comme suit
+ la ligne 197&rdquo;. On appelle aussi cela un
+ &ldquo;diff&rdquo; parce qu'il est g&eacute;n&eacute;r&eacute; avec un programme
+ du m&ecirc;me nom.</para>
+ </listitem>
+
+ <listitem>
+ <para><anchor id="ports-tarball"> Q. Que sont les archives?</para>
+
+ <para>R. C'est un fichier d'extension <filename>.tar</filename> ou
+ <filename>.tar.gz</filename> (avec des variantes du style
+ <filename>.tar.Z</filename>, ou m&ecirc;me <filename>.tgz</filename>
+ si vous voulez utiliser ces noms de fichiers avec un syst&egrave;mes
+ de fichiers DOS).</para>
+
+ <para>C'est essentiellement une arborescence de r&eacute;pertoires qui a
+ &eacute;t&eacute; archiv&eacute;e en un seul fichier (<filename>.tar</filename>) et
+ &eacute;ventuellement compress&eacute; (<filename>.gz</filename>). Cette
+ technique &eacute;tait &agrave; l'origine utilis&eacute;e pour les
+ &ldquo;<emphasis>T</emphasis>ape&rdquo;&nbsp;-&nbsp;bande&nbsp;-&nbsp;&ldquo;<emphasis>AR</emphasis>chives&rdquo;
+ (d'o&ugrave; le nom <command>tar</command>), mais c'est une m&eacute;thode
+ tr&egrave;s utilis&eacute;e pour distribuer du code source sur
+ l'Internet.</para>
+
+ <para>Vous pouvez avoir la liste des fichiers qu'elles
+ contiennent, ou m&ecirc;me les extraire vous-m&ecirc;me, avec le programme
+ Unix standard <command>tar</command>, qui fait partie du syst&egrave;me
+ FreeBSD de base, comme ceci:</para>
+
+ <informalexample>
+ <screen>&prompt.user; <userinput>tar tvzf foobar.tar.gz</userinput> # conna&icirc;tre le contenu de foobar.tar.gz
+&prompt.user; <userinput>tar xzvf foobar.tar.gz</userinput> # extraire le contenu de foobar.tgz dans le r&eacute;pertoire courant
+&prompt.user; <userinput>tar tvf foobar.tar</userinput> # conna&icirc;tre le contenu de foobar.tar
+&prompt.user; <userinput>tar xvf foobar.tar</userinput> # extraire le contenu de foobar.tar dans le r&eacute;pertoire courant
+ </screen>
+ </informalexample>
+ </listitem>
+
+ <listitem>
+ <para><anchor id="ports-checksum"> Q. Et une somme de
+ contr&ocirc;le?</para>
+
+ <para>R. C'est un nombre calcul&eacute; en additionnant tout ce que
+ contient le fichier. Si un caract&egrave;re change, la somme de
+ contr&ocirc;le n'est plus la m&ecirc;me, et une simple comparaison vous
+ permettra de rep&eacute;rer la diff&eacute;rence. (En pratique, le calcul
+ est un peu plus compliqu&eacute; pour pouvoir rep&eacute;rer des probl&egrave;mes
+ comme les permutations de caract&egrave;res, ce que ne permettrait
+ pas une simple addition.)</para>
+ </listitem>
+
+ <listitem>
+ <para>Q. J'ai suivi vos indications au paragraphe
+ <link linkend="ports-cd">Compiler les logiciels port&eacute;s depuis
+ le CD-ROM</link> et &ccedil;a a march&eacute; sans probl&egrave;me jusqu'&agrave; ce que
+ j'essaie d'installer <command>kermit</command></para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>make install</userinput>
+&gt;&gt; cku190.tar.gz doesn't seem to exist on this system.
+&gt;&gt; Attempting to fetch from ftp://kermit.columbia.edu/kermit/archives/.</screen>
+ </informalexample>
+ <para>Pourquoi ne le trouve-t-il pas? Ai-je un CD-ROM
+ endommag&eacute;?</para>
+
+ <para>R. La licence de <command>kermit</command> ne nous permet
+ pas d'inclure l'archive sur le CD-ROM, vous devrez donc la
+ r&eacute;cup&eacute;rez vous-m&ecirc;me&nbsp;-&nbsp;d&eacute;sol&eacute;! Vous avez tous ces
+ messages d'erreur parce que vous n'&eacute;tiez pas alors connect&eacute; &agrave;
+ l'Internet. Une fois que vous l'avez t&eacute;l&eacute;charg&eacute; &agrave; partir de l'un
+ des sites mentionn&eacute;s, vous pouvez recommencer l'installation
+ (essayez et choisissez le site le plus proche, pour &eacute;conomiser
+ votre temps et de la bande passante);</para>
+ </listitem>
+
+ <listitem>
+ <para>Q. Je l'ai fait, mais quand j'ai essay&eacute; de la mettre
+ dans <filename>/usr/ports/distfiles</filename>, j'ai eu des
+ erreurs &agrave; propos de permissions que je n'avais pas.</para>
+
+ <para>R. Le m&eacute;canisme des logiciels port&eacute;s cherche les archives
+ dans <filename>/usr/ports/distfiles</filename>, mais il ne peut
+ rien y copier parce que c'est un lien symbolique sur le CD-ROM,
+ sur lequel on ne peut que lire. Vous pouvez lui dire de chercher
+ ailleurs avec:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>make DISTDIR=/where/you/put/it install</userinput></screen>
+ </informalexample>
+ </listitem>
+
+ <listitem>
+ <para>Q. Le syst&egrave;me des logiciels port&eacute;s ne fonctionne-t-il
+ qu'avec <filename>/usr/ports</filename>? Mon administrateur
+ syst&egrave;me veut que je mette tout dans
+ <filename>/u/people/guests/wurzburger</filename>, mais cela ne
+ marche apparemment pas.</para>
+
+ <para>R. Vous pouvez utiliser les variables
+ <makevar>PORTSDIR</makevar> et <makevar>PREFIX</makevar>
+ pour dire au m&eacute;canisme des logiciels port&eacute;s de travailler dans
+ d'autres r&eacute;pertoires. Par exemple:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>make PORTSDIR=/u/people/guests/wurzburger/ports install</userinput></screen>
+ </informalexample>
+
+ <para>compilera le logiciel dans
+ <filename>/u/people/guests/wurzburger/ports</filename> et
+ l'installera dans <filename>/usr/local</filename>.</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>make PREFIX=/u/people/guests/wurzburger/local install</userinput></screen>
+ </informalexample>
+
+ <para>le compilera dans <filename>/usr/ports</filename> et
+ l'installera dans
+ <filename>/u/people/guests/wurzburger/local</filename>.</para>
+
+ <para>Et bien s&ucirc;r:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>make PORTSDIR=.../ports PREFIX=.../local install</userinput></screen>
+ </informalexample>
+
+ <para>combinera les deux (c'est trop long pour tenir enti&egrave;rement
+ sur la page, mais je suis s&ucirc;r que vous avez compris le
+ principe).</para>
+
+ <para>Si vous ne voulez pas avoir &agrave; retaper tout cela &agrave; chaque
+ fois que vous installez un logiciel (et pour &ecirc;tre honn&ecirc;te,
+ pourquoi le feriez-vous?), c'est une bonne id&eacute;e de d&eacute;finir
+ ces deux variables dans votre environnement par d&eacute;faut.</para>
+ </listitem>
+
+ <listitem>
+ <para>Q. Je n'ai pas le CD-ROM FreeBSD, mais je voudrais avoir les
+ archives sous la main sur mon syst&egrave;me pour ne pas avoir &agrave;
+ attendre la fin du t&eacute;l&eacute;chargement chaque fois que j'installe un
+ logiciel. y-a-t-il une fa&ccedil;on simple de tout r&eacute;cup&eacute;rer d'un
+ coup?</para>
+
+ <para>R. Pour r&eacute;cup&eacute;rer toutes les archives du catalogue des
+ logiciels port&eacute;s, tapez:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cd /usr/ports</userinput>
+&prompt.root; <userinput>make fetch</userinput></screen>
+ </informalexample>
+
+ <para>Pour avoir toutes les archives d'un seul sous-r&eacute;pertoire,
+ utilisez:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>directory</replaceable></userinput>
+&prompt.root; <userinput>make fetch</userinput></screen>
+ </informalexample>
+
+ <para>et pour un seul port&nbsp;-&nbsp;bon, je suppose que vous
+ avez d&eacute;j&agrave; devin&eacute;.</para>
+ </listitem>
+
+ <listitem>
+ <para>Q. Je sais qu'il est probablement plus rapide de r&eacute;cup&eacute;rer
+ les archives de sites miroir FreeBSD proches. Y'a-t-il un moyen
+ de dire au m&eacute;canisme de s'adresser &agrave; d'autres serveurs que ceux
+ list&eacute;s dans les MASTER_SITES?</para>
+
+ <para>R. Oui. Si vous savez que, par exemple,
+ <hostid role="fqdn">ftp.FreeBSD.ORG</hostid> est plus pr&egrave;s que
+ les sites list&eacute;s dans <makevar>MASTER_SITES</makevar>, faites
+ comme dans l'exemple suivant:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cd /usr/ports/directory</userinput>
+&prompt.root; <userinput>make MASTER_SITE_OVERRIDE=ftp://ftp.FreeBSD.ORG/pub/FreeBSD/distfiles/ fetch</userinput></screen>
+ </informalexample>
+ </listitem>
+
+ <listitem>
+ <para>Q. Je veux savoir de quels fichiers j'aurai besoin, avant
+ d'essayer de les t&eacute;l&eacute;charger.</para>
+
+ <para>R. <command>make fetch-list</command> affichera la liste des
+ fichiers n&eacute;cessaires pour installer un logiciel port&eacute;.</para>
+ </listitem>
+
+ <listitem>
+ <para>Q. Y-a-t il un moyen de faire en sorte que le logiciel ne
+ soit pas compil&eacute;. Je veux modifier les sources avant de le
+ compiler et c'est fastidieux de surveiller ce qui ce passe &agrave;
+ chaque fois et de toujours taper Ctrl-C.</para>
+
+ <para>R. <command>make extract</command> ne fait que r&eacute;cup&eacute;rer et
+ extraire le code source.</para>
+ </listitem>
+
+ <listitem>
+ <para>Q. J'essaie de faire mon propre portage, et voudrais qu'il
+ ne soit pas compil&eacute; avant que j'ai pu v&eacute;rifier que les mises &agrave;
+ jour aient &eacute;t&eacute; correctement appliqu&eacute;es. Y-a-t-il un &eacute;quivalent
+ de <command>make extract</command>, pour les mises &agrave;
+ jour?</para>
+
+ <para>A. Oui, <command>make patch</command> est ce qu'il vous
+ faut. Vous trouverez peut-&ecirc;tre aussi utile l'option
+ <option>PATCH_DEBUG</option>. Et, au
+ passage, merci de vos efforts!</para>
+ </listitem>
+
+ <listitem>
+ <para>Q. J'ai entendu dire que certaines options du compilateur
+ posait des probl&egrave;mes. Est-ce exact? Comment puis-je &ecirc;tre s&ucirc;r
+ que je compile les logiciels avec les bonnes options?</para>
+
+ <para>R. Oui, avec la version 2.6.3 de <command>gcc</command> (la
+ version livr&eacute;e avec FreeBSD 2.1.0 et 2.1.5), l'option
+ <option>-O2</option> pouvait g&eacute;n&eacute;rer du code bogu&eacute;, &agrave; moins que
+ vous n'utilisiez en m&ecirc;me temps l'option
+ <option>-fno-strength-reduce</option>. (La plupart des logiciels
+ port&eacute;s n'utilisent pas l'option <option>-O2</option>). Vous
+ <emphasis>devriez</emphasis> pouvoir pr&eacute;ciser au compilateur les
+ options &agrave; utiliser avec quelque chose comme:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>make CFLAGS='-O2 -fno-strength-reduce' install</userinput></screen>
+ </informalexample>
+
+ <para>ou en &eacute;ditant <filename>/etc/make.conf</filename>, mais tous
+ les logiciels port&eacute;s n'en tiennent malheureusement pas compte.
+ Le plus s&ucirc;r est d'utiliser <command>make configure</command>,
+ puis d'aller dans le r&eacute;pertoire des sources et de regarder ce
+ que font les <filename>Makefile</filename>s, mais cela peut
+ devenir fastidieux s'il y a de nombreux sous-r&eacute;pertoires avec
+ chacun leurs <filename>Makefile</filename>s.</para>
+ </listitem>
+
+ <listitem>
+ <para>Q. Il y a tellement de logiciels port&eacute;s qu'il est difficile
+ de trouver celui que je veux. Y-a-t-il quelque part une liste
+ des logiciels port&eacute;s?</para>
+
+ <para>R. Regardez dans le fichier <filename>INDEX</filename>
+ du r&eacute;pertoire <filename>/usr/ports</filename>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Q. J'ai install&eacute; le logiciel <literal>foo</literal> mais le
+ m&eacute;canisme s'est soudainement interrompu et a commenc&eacute; &agrave; compiler
+ le logiciel <literal>bar</literal>. Que se passe-t-il?</para>
+
+ <para>R. Le logiciel <literal>foo</literal> a besoin de quelque
+ chose qui fait partie de <literal>bar</literal>&nbsp;-&nbsp;par
+ exemple, si <literal>foo</literal> utilise des graphiques,
+ <literal>bar</literal> peut comporter une biblioth&egrave;que avec des
+ sous-programmes graphiques utiles. Ou bien
+ <literal>bar</literal> est un outil n&eacute;cessaire &agrave; la compilation
+ du logiciel <literal>foo</literal>.</para>
+ </listitem>
+
+ <listitem>
+ <para><anchor id="ports-remove">Q. J'ai install&eacute; le logiciel
+ <literal>grizzle</literal> du catalogue et c'est franchement
+ du gaspillage d'espace disque. Je veux le supprimer mais je
+ ne sais pas o&ugrave; il a mis tous les fichiers. Des
+ indications?</para>
+
+ <para>R. Pas de probl&egrave;me, tapez simplement:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>pkg_delete grizzle-6.5</userinput></screen>
+ </informalexample>
+ </listitem>
+
+ <listitem>
+ <para>
+ Q. Une minute, il faut conna&icirc;tre le num&eacute;ro de version pour
+ utiliser cette commande. Vous ne vous attendez s&eacute;rieusement pas
+ &agrave; ce que je l'ai retenu, n'est-ce pas?</para>
+
+ <para>R. Absolument pas, vous pouvez le trouver en tapant:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>pkg_info -a | grep grizzle</userinput>
+Information for grizzle-6.5:
+grizzle-6.5 - La m&eacute;thode de piano, l'interpr&eacute;teur LOGO et le casse-briques tout
+en un.</screen>
+ </informalexample>
+ </listitem>
+
+ <listitem>
+ <para>Q. A propos d'espace disque, le catalogue des logiciels
+ port&eacute;s occupe apparemment &eacute;norm&eacute;ment de place. Est-il possible
+ d'y faire du m&eacute;nage?</para>
+
+ <para>R. Oui, si vous avez install&eacute; un programme et &ecirc;tes &agrave; peu
+ pr&egrave;s certain que vous n'aurez plus besoin des sources, il est
+ inutile de les garder. La meilleure fa&ccedil;on de faire est:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cd /usr/ports</userinput>
+&prompt.root; <userinput>make clean</userinput></screen>
+ </informalexample>
+
+ <para>qui parcourera tous les sous-r&eacute;pertoires et supprimera tout
+ ce qui se rapporte aux logiciels sauf les squelettes.</para>
+ </listitem>
+
+ <listitem>
+ <para>Q. J'ai essay&eacute;, mais il reste toujours toutes ces archives,
+ quelque soit le nom que vous leur donniez, dans le r&eacute;pertoire
+ <filename>distfiles</filename>. Puis-je aussi les
+ effacer?</para>
+
+ <para>R. Oui, si vous &ecirc;tes s&ucirc;r d'en avez termin&eacute; avec elles, vous
+ pouvez aussi les supprimer.</para>
+ </listitem>
+
+ <listitem>
+ <para>Q. J'aime avoir quantit&eacute; de logiciels pour les tester?
+ Y-a-t-il un moyen de tous les installer d'un seul coup?</para>
+
+ <para>R. Tapez simplement:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cd /usr/ports</userinput>
+&prompt.root; <userinput>make install</userinput></screen>
+ </informalexample>
+ </listitem>
+
+ <listitem>
+ <para>Q. OK, j'ai essay&eacute;, mais comme je pensais que cela allait
+ prendre beaucoup de temps, j'ai laiss&eacute; la machine telle quelle
+ et je suis all&eacute; me coucher. Ce matin, quand j'ai jet&eacute; une coup
+ d'oeil &agrave; l'ordinateur, je n'avais que trois logiciels et demi
+ install&eacute;s. Quelque chose s'est-il mal pass&eacute;?</para>
+
+ <para>R. Non, le probl&egrave;me est que certains logiciels ont des
+ questions &agrave; vous poser auxquelles ils ne peuvent r&eacute;pondre &agrave;
+ votre place (par exemple, &ldquo;Voulez-vous imprimer au format
+ A4 ou au format l&eacute;gal US?&rdquo;) et il faut donc que quelqu'un
+ y r&eacute;ponde sur le moment.</para>
+ </listitem>
+
+ <listitem>
+ <para>Q. Je ne veux pas passer toute la journ&eacute;e plant&eacute; devant
+ l'&eacute;cran. Une meilleure id&eacute;e?</para>
+
+ <para>A. OK, avant d'aller au lit/travail/jardin public,
+ tapez:</para>
+
+ <informalexample>
+ <screen>&prompt.root <userinput>cd /usr/ports</userinput>
+&prompt.root; <userinput>make -DBATCH install</userinput></screen>
+ </informalexample>
+
+ <para>Cela installera tous les logiciels sans interaction avec
+ l'utilisateur. A votre retour, tapez:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cd /usr/ports</userinput>
+&prompt.root; <userinput>make -DIS_INTERACTIVE install</userinput></screen>
+ </informalexample>
+
+ <para>Pour terminer les installations.</para>
+ </listitem>
+
+ <listitem>
+ <para>Q. Au bureau, nous utilisons <literal>frobble</literal>, qui
+ fait partie de votre catalogue des logiciels port&eacute;s, mais nous
+ l'avons un peu modifi&eacute; pour nos besoins propres. Y-a-t-il un
+ moyen de faire notre propre &ldquo;paquetage&rdquo; pour le
+ distribuer plus facilement sur nos sites?</para>
+
+ <para>R. Pas de probl&egrave;me, si vous savez comment g&eacute;n&eacute;rer les
+ &ldquo;patches&rdquo; pour vos modifications:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cd /usr/ports/somewhere/frobble</userinput>
+&prompt.root; <userinput>make extract</userinput>
+&prompt.root; <userinput>cd work/frobble-2.8</userinput>
+[Appliquer vos mises &agrave; jour]
+&prompt.root; <userinput>cd ../..</userinput>
+&prompt.root; <userinput>make package</userinput></screen>
+ </informalexample>
+ </listitem>
+
+ <listitem>
+ <para>Q. Ce syst&egrave;me des logiciels port&eacute;s est vraiment g&eacute;nial. Je
+ d&eacute;sesp&egrave;re de comprendre comment vous avez fait. Quel est votre
+ secret?</para>
+
+ <para>R. Il n'y a absolument pas de secret, jetez juste un coup
+ d'oeil aux fichiers <filename>bsd.ports.mk</filename> et
+ <filename>bsd.ports.subdir.mk</filename> du r&eacute;pertoire des
+ <ulink url="file://localhost/usr/share/mk/"><filename>makefile</filename>s.</ulink></para>
+
+ <note>
+ <para>Cette lecture est d&eacute;conseill&eacute;e &agrave; ceux que les proc&eacute;dures
+ de commandes compliqu&eacute;es rebutent...)</para>
+ </note>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect1>
+
+ <sect1 id="porting">
+ <title>** Faire vous-m&ecirc;me un portage</title>
+
+ <para><emphasis>Contribution de &a.jkh;, &a.gpalmer;, &a.asami;
+ &a.obrien; et &a.hoek;. 28 Ao&ucirc;t 1996.</emphasis></para>
+
+ <para>Donc, vous voulez faire vous-m&ecirc;me votre propre portage?
+ G&eacute;nial!</para>
+
+ <para>Voici quelques indications sur la fa&ccedil;on de cr&eacute;er un nouveau
+ portage d'un logiciel pour FreeBSD. L'essentiel du travail
+ est fait par <filename>/usr/share/mk/bsd.port.mk</filename>, qui
+ est inclus dans le <filename>Makefile</filename> de chaque logiciel
+ port&eacute;. Reportez-vous s'il vous pla&icirc;t &agrave; ce fichier pour avoir plus
+ de d&eacute;tails sur le fonctionnement interne du catalogue des logiciels
+ port&eacute;s. M&ecirc;me si vous n'&eacute;crivez pas tous les jours des
+ <filename>Makefile</filename>s, il est pas mal comment&eacute;, et vous
+ en apprendrez malgr&eacute; tout beaucoup de choses.</para>
+
+ <note>
+ <para>Seule une partie des variables surchargeables
+ (<makevar><replaceable>VAR</replaceable></makevar>) est d&eacute;crite
+ dans ce document. La plupart (sinon toutes) sont explicit&eacute;es au
+ d&eacute;but de <filename>bsd.port.mk</filename>. Ce fichier utilise des
+ tabulations non standard. <application>Emacs</application> et
+ <application>Vim</application> devraient reconna&icirc;tre cette
+ configuration au chargement du fichier. <command>vi</command> ou
+ <command>ex</command> peuvent &ecirc;tre configur&eacute;s avec la valeur
+ ad&eacute;quate apr&egrave;s avoir charg&eacute; le fichier en tapant <command>:set
+ tabstop=4</command>.</para>
+ </note>
+
+ <sect2>
+ <title>Portage rapide</title>
+
+ <para>Cette section vous explique comment faire un portage rapide.
+ La plupart du temps, ce n'est pas suffisant, mais nous verrons
+ cela par la suite.</para>
+
+ <para>Commencez par r&eacute;cup&eacute;rer le fichier d'archive d'origine et
+ mettez-le dans <makevar>DISTDIR</makevar>, par d&eacute;faut c'est le
+ r&eacute;pertoire <filename>/usr/ports/distfiles</filename>.</para>
+
+ <note>
+ <para>Nous supposerons dans ce qui suit que le source a compil&eacute;
+ &ldquo;tel quel&rdquo;, i.e., il n'y a absolument pas eu de
+ modification &agrave; y apporter pour qu'il tourne sur votre machine
+ FreeBSD. Si vous avez d&ucirc; changer quelque chose, vous devrez
+ aussi vous reporter &agrave; la section suivante.</para>
+ </note>
+
+ <sect3>
+ <title>Ecrire le <filename>Makefile</filename></title>
+
+ <para>Le <filename>Makefile</filename> minimal ressemblera &agrave;
+ ceci&nbsp;:</para>
+
+ <programlisting>
+# Nouveau makefile du catalogue pour: oneko
+# Version correspondante: 1.1b
+# Date de cr&eacute;ation: 5 D&eacute;cembre 1994
+# Par: asami
+#
+# &#36;Id&#36;
+#
+
+DISTNAME= oneko-1.1b
+CATEGORIES= games
+MASTER_SITES= ftp://ftp.cs.columbia.edu/archives/X11R5/contrib/
+
+MAINTAINER= asami@FreeBSD.ORG
+
+MAN1= oneko.1
+MANCOMPRESSED= yes
+USE_IMAKE= yes
+
+.include &lt;bsd.port.mk&gt;</programlisting>
+
+ <para>Voyez si vous y comprenez quelque chose. Ne vous occupez
+ pas de la ligne <literal>&#36;Id&#36;</literal>, elle sera
+ automatiquement renseign&eacute;e par CVS quand le logiciel sera
+ import&eacute; dans notre arborescence principale des logiciels
+ port&eacute;s. Vous trouverez un exemple plus d&eacute;taill&eacute; &agrave; la section
+ <link linkend="porting-samplem">Exemple de
+ Makefile</link>.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>Cr&eacute;er les fichiers de description</title>
+
+ <para>Il y a trois fichiers de description indispensables &agrave;
+ chaque logiciel port&eacute;, qu'il soit ou non pr&eacute;compil&eacute;. Ce sont
+ les fichiers <filename>COMMENT</filename>,
+ <filename>DESCR</filename> et <filename>PLIST</filename>,
+ du sous-r&eacute;pertoire <filename>pkg</filename>.</para>
+
+ <sect4>
+ <title><filename>COMMENT</filename></title>
+
+ <para>C'est une description en une seule ligne du logiciel.
+ <emphasis>S'il vous pla&icirc;t</emphasis>, n'incluez pas le nom
+ du logiciel (ni son num&eacute;ro de version) dans le commentaire.
+ Voici un exemple&nbsp;:</para>
+
+ <programlisting>
+Un chat poursuit une souris &agrave; travers l'&eacute;cran.</programlisting>
+
+ </sect4>
+
+ <sect4>
+ <title><filename>DESCR</filename></title>
+
+ <para>C'est une description plus longue du logiciel. Un &agrave;
+ quelques paragraphes, expliquant succintement ce qu'il
+ fait, suffisent.</para>
+
+ <note>
+ <para>Ce <emphasis>n'est pas</emphasis> un manuel, ni
+ une description d&eacute;taill&eacute;e de la mani&egrave;re de compiler et
+ d'utiliser le logiciel. Faites
+ <emphasis>s'il vous pla&icirc;t attention si vous la recopiez
+ du <filename>README</filename> ou des pages de
+ manuel</emphasis>; trop souvent, ce ne sont pas des
+ descriptions concises et elles sont mal format&eacute;es (e.g., les
+ pages de manuel sont justifi&eacute;es avec des espaces). S'il y a
+ une page Web officielle pour le logiciel, vous devriez la
+ mentionner ici.</para>
+ </note>
+
+ <para>Il vous est recommand&eacute; de signer en fin de fichier, comme
+ suit:</para>
+
+ <programlisting>
+C'est le portage de &ldquo;oneko&rdquo;, le chat qui poursuit la pauvre souris
+sur tout l'&eacute;cran.
+&nbsp;:
+(etc.)
+
+http://www.oneko.org/
+
+- Satoshi
+asami@cs.berkeley.edu</programlisting>
+
+ </sect4>
+
+ <sect4>
+ <title><filename>PLIST</filename></title>
+
+ <para>C'est la liste de tous les fichiers install&eacute;s pour ce
+ logiciel. On l'appelle aussi &ldquo;liste de paquetage&rdquo;
+ parce que le &ldquo;paquetage&rdquo; sera g&eacute;n&eacute;r&eacute; en archivant
+ tous les fichiers de cette liste. Les chemins d'acc&egrave;s sont
+ relatifs &agrave; <filename>/usr/local</filename> ou
+ <filename>/usr/X11R6</filename>). Si vous utilisez des
+ variables <makevar>MAN<replaceable>n</replaceable></makevar>
+ (comme vous devriez le faire), n'y listez pas les pages de
+ manuel.</para>
+
+ <para>Voici un court exemple:</para>
+
+ <programlisting>
+bin/oneko
+lib/X11/app-defaults/Oneko
+lib/X11/oneko/cat1.xpm
+lib/X11/oneko/cat2.xpm
+lib/X11/oneko/mouse.xpm
+@dirrm lib/X11/oneko</programlisting>
+
+ <para>Reportez-vous aux pages de manuel de
+ <citerefentry><refentrytitle>pkg_create</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ pour plus de d&eacute;tails sur la &ldquo;liste de
+ paquetage&rdquo;.</para>
+
+ <note>
+ <para>Vous devez lister tous les fichiers, mais pas les noms
+ des r&eacute;pertoires. Par contre, s'il y a des r&eacute;pertoires cr&eacute;&eacute;s
+ &agrave; l'installation, veillez &agrave; ajouter les lignes
+ <literal>@dirrm</literal> n&eacute;cessaires pour qu'ils soient
+ d&eacute;truits si le logiciel est d&eacute;sinstall&eacute;.</para>
+
+ <para>Il est recommand&eacute; de lister les fichiers dans l'ordre
+ alphab&eacute;tique. Cela facilite beaucoup les contr&ocirc;les lors des
+ mises &agrave; jour.</para>
+ </note>
+ </sect4>
+ </sect3>
+
+ <sect3>
+ <title>Cr&eacute;er le fichier pour la somme de contr&ocirc;le</title>
+
+ <para>Tapez simplement <command>make makesum</command>.
+ Les r&egrave;gles de construction des logiciels port&eacute;s g&eacute;n&egrave;reront
+ automatiquement le fichier
+ <filename>files/md5</filename>.</para>
+
+ </sect3>
+
+ <sect3 id="porting-testing">
+ <title>Tester le portage</title>
+
+ <para>Vous devez v&eacute;rifiez que les r&egrave;gles de construction du
+ logiciel port&eacute; font exactement ce que vous voulez. Voici
+ les points importants &agrave; contr&ocirc;ler:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><filename>PLIST</filename> ne contient rien d'autre que
+ ce qu'installe votre logiciel.</para>
+ </listitem>
+
+ <listitem>
+ <para><filename>PLIST</filename> contient tout ce qu'installe
+ votre logiciel.</para>
+ </listitem>
+
+ <listitem>
+ <para>Le logiciel peut &ecirc;tre install&eacute; plusieurs fois de suite
+ en utilisant la cible
+ <maketarget>reinstall</maketarget>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Le m&eacute;canisme de portage du logiciel
+ <link linkend="porting-cleaning">fait le m&eacute;nage</link>
+ lors de la d&eacute;sinstallation.</para>
+ </listitem>
+ </itemizedlist>
+
+ <procedure>
+ <title>Ordre de test recommand&eacute;</title>
+
+ <step>
+ <para><command>make install</command></para>
+ </step>
+
+ <step>
+ <para><command>make package</command></para>
+ </step>
+
+ <step>
+ <para><command>make deinstall</command></para>
+ </step>
+
+ <step>
+ <para><command>pkg_add `make nom_du_paquetage`</command></para>
+ </step>
+
+ <step>
+ <para><command>make deinstall</command></para>
+ </step>
+
+ <step>
+ <para><command>make reinstall</command></para>
+ </step>
+
+ <step>
+ <para><command>make package</command></para>
+ </step>
+ </procedure>
+
+ <para>V&eacute;rifiez qu'il n'y a aucun message d'avertissement
+ aux &eacute;tapes <maketarget>package</maketarget> et
+ <maketarget>deinstall</maketarget>. Apr&egrave;s l'&eacute;tape 3, v&eacute;rifiez
+ que tous les r&eacute;pertoires cr&eacute;&eacute;s ont bien &eacute;t&eacute; d&eacute;truits. Essayez
+ aussi d'utilisez le logiciel apr&egrave;s l'&eacute;tape 4, pour vous assurer
+ qu'il fonctionne correctement apr&egrave;s installation sous forme
+ de &ldquo;paquetage&rdquo;.</para>
+ </sect3>
+
+ <sect3 id="porting-portlint">
+ <title>V&eacute;rifier votre portage avec
+ <command>portlint</command></title>
+
+ <para>Utilisez s'il vous pla&icirc;t la commande
+ <command>portlint</command> pour contr&ocirc;ler que votre portage
+ se conforme &agrave; nos recommandations.
+ Le programme <command>portlint</command> fait partie du catalogue
+ des logiciels port&eacute;s. En particulier, vous devriez v&eacute;rifier
+ que votre <link linkend="porting-samplem">Makefile</link> est
+ bien construit et que le nom du
+ <link linkend="porting-pkgname">paquetage</link> est
+ correct.</para>
+ </sect3>
+
+ <sect3 id="porting-submitting">
+ <title>Soumettre le portage</title>
+
+ <para>Veillez d'abord &agrave; lire la section <link
+ linkend="porting-dads">A faire et &agrave; ne pas
+ faire</link>.</para>
+
+ <para>Maintenant que vous &ecirc;tes satisfait de votre portage, la
+ seule chose qui reste &agrave; faire est de le mettre dans
+ l'arborescence principale des logiciels port&eacute;s de FreeBSD
+ de fa&ccedil;on &agrave; ce que tout le monde en profite. Nous n'avons
+ pas besoin de votre r&eacute;pertoire
+ <filename>work</filename> ni de votre fichier
+ <filename><replaceable>nom_du_paquetage</replaceable>.tgz</filename>,
+ effacez-les donc maintenant. Incluez simplement ensuite le
+ r&eacute;sultat de la commande <command>shar `find r&eacute;pertoire_portage`</command>
+ dans un rapport de bogue et envoyez-le nous avec le programme
+ <citerefentry>
+ <refentrytitle>send-pr</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </citerefentry>. (Voyez <link linkend="contrib-general">Rapports
+ de bogues et commentaires g&eacute;n&eacute;raux</link> pour plus
+ d'informations sur <citerefentry>
+ <refentrytitle>send-pr</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </citerefentry>.) Si le logiciel port&eacute; non compress&eacute; fait plus de
+ 20KB, vous devrez en faire une archive compress&eacute;e et utiliser
+ <citerefentry><refentrytitle>uuencode</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </citerefentry> avant de l'inclure dans le rapport (les archives
+ &ldquo;tar&rdquo; &ldquo;uuencod&eacute;es&rdquo; sont admises m&ecirc;me
+ si le rapport de bogue fait moins de 20KB, quoique non
+ souhait&eacute;es dans ce cas). Veillez &agrave; classer le rapport dans la
+ cat&eacute;gorie
+ <literal>ports</literal>&nbsp;-&nbsp;&ldquo;portages&rdquo; et
+ la classe
+ <literal>change-request</literal>&nbsp;-&nbsp;&ldquo;demande
+ de modification&rdquo;. (Ne classez pas le rapport
+ <literal>confidential</literal>&nbsp;-&nbsp;&ldquo;confidentiel&rdquo;&nbsp;!)</para>
+
+ <para>Encore une fois, <emphasis>n'incluez pas la distribution
+ originale du source, le r&eacute;pertoire <filename>work</filename> ni le
+ &ldquo;paquetage&rdquo; construit avec <command>make
+ package</command></emphasis>.</para>
+
+ <note>
+ <para>Dans le pass&eacute;, nous demandions que les soumissions de
+ logiciels port&eacute;s passent par notre site ftp
+ (<hostid role="fqdn">ftp.freebsd.org</hostid>). Ce n'est plus
+ souhaitable parce que l'acc&egrave;s en lecture est interdit sur le
+ r&eacute;pertoire <filename>incoming/</filename> de ce site du fait
+ de la trop grande quantit&eacute; de logiciels pirat&eacute;s qui y
+ atterrissaient.</para>
+ </note>
+
+ <para>Nous regarderons votre portage, vous contacterons si n&eacute;cessaire,
+ et le mettrons dans l'arborescence. Votre nom appara&icirc;tra aussi dans
+ la liste des &ldquo;Autres collaborateurs de FreeBSD&rdquo; du
+ manuel FreeBSD et dans d'autres fichiers. G&eacute;nial,
+ non?!? <!-- smiley -->:)</para>
+
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Portage &eacute;volu&eacute;</title>
+
+ <para>Bon, ce n'&eacute;tait en fait pas si simple, et il a fallu
+ modifier le code pour que le portage fonctionne. Dans cette
+ section, nous allons expliquer, &eacute;tape par &eacute;tape, comment faire
+ dans ce cas pour appliquer le paradigme des logiciels
+ port&eacute;s.</para>
+
+ <sect3>
+ <title>Comment les choses fonctionnent</title>
+
+ <para>Pour commencer, voici ce qui se passe lorsque
+ l'utilisateur tape <command>make</command> dans le
+ r&eacute;pertoire de votre logiciel port&eacute;. Ouvrir le fichier
+ <filename>bsd.port.mk</filename> dans une autre fen&ecirc;tre
+ pendant que vous lisez ceci vous en facilitera la
+ compr&eacute;hension.</para>
+
+ <para>Ne vous inqui&eacute;tez pas si vous ne comprenez pas compl&egrave;tement
+ ce que fait <filename>bsd.port.mk</filename>, peu de gens y
+ arrivent... <!-- smiley --><emphasis>:&gt;</emphasis></para>
+
+ <procedure>
+
+ <step>
+ <para>La cible <maketarget>fetch</maketarget> est ex&eacute;cut&eacute;e.
+ La cible <maketarget>fetch</maketarget> est charg&eacute;e de
+ faire en sorte que l'archive soit localement
+ disponible dans <makevar>DISTDIR</makevar>. Si
+ <maketarget>fetch</maketarget> ne trouve pas les
+ fichiers dans
+ <makevar>DISTDIR</makevar>, elle regardera &agrave; l'URL
+ <makevar>MASTER_SITES</makevar>, d&eacute;finie dans le
+ <filename>Makefile</filename>, et sur notre site ftp
+ principal dans <ulink
+ URL="ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/">ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/</ulink> o&ugrave; nous avons mis les archives
+ valid&eacute;es, &agrave; titre de copie de secours. Elle essayera alors
+ de rapatrier le fichier de la distribution avec
+ <makevar>FETCH</makevar>, en pr&eacute;sumant que la machine
+ qui fait la demande a un acc&egrave;s direct &agrave; l'Internet. En
+ cas de succ&egrave;s, le fichier est sauvegard&eacute; dans
+ <makevar>DISTDIR</makevar> pour la suite, et le traitement
+ peut continuer.</para>
+ </step>
+
+ <step>
+ <para>La cible <maketarget>extract</maketarget> est ensuite
+ ex&eacute;cut&eacute;e. Elle cherche le fichier de distribution de votre
+ portage (typiquement une archive cr&eacute;&eacute;e par
+ <command>tar</command> et compress&eacute;e avec
+ <command>gzip</command>) dans
+ <makevar>DISTDIR</makevar> et en extrait le contenu dans
+ un sous-r&eacute;pertoire temporaire d&eacute;fini par
+ <makevar>WRKDIR</makevar>
+ (par d&eacute;faut <filename>work</filename>).</para>
+ </step>
+
+ <step>
+ <para>La cible suivante est <maketarget>patch</maketarget>.
+ Dans un premier temps, tous les fichiers de mise &agrave; jour
+ d&eacute;finis dans <makevar>PATCHFILES</makevar> sont appliqu&eacute;s.
+ Ensuite, s'il y a des fichiers de mise &agrave; jour dans
+ <makevar>PATCHDIR</makevar> (le sous-r&eacute;pertoire
+ <filename>patches</filename> par d&eacute;faut), ils sont
+ appliqu&eacute;s, dans l'ordre alphab&eacute;tique cette fois-ci.</para>
+ </step>
+
+ <step>
+ <para>Vient ensuite <maketarget>configure</maketarget> qui
+ peut faire l'une des op&eacute;rations suivantes:</para>
+
+ <orderedlist>
+
+ <listitem>
+ <para>Si elle existe, ex&eacute;cuter la proc&eacute;dure
+ <filename>scripts/configure</filename>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Si <makevar>HAS_CONFIGURE</makevar> ou
+ <makevar>GNU_CONFIGURE</makevar>
+ est d&eacute;finie, ex&eacute;cuter
+ <filename><makevar>WRKSRC</makevar>/configure</filename>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Si <makevar>USE_IMAKE</makevar> est d&eacute;finie,
+ ex&eacute;cuter <makevar>XMKMF</makevar>
+ (par d&eacute;faut: <command>xmkmf
+ -a</command>).</para>
+ </listitem>
+
+ </orderedlist>
+
+ </step>
+
+ <step>
+ <para>La derni&egrave;re cible est
+ <maketarget>build</maketarget>. Elle passe dans le
+ sous-r&eacute;pertoire de travail du portage
+ (<makevar>WRKSRC</makevar>) et se charge de la
+ compilation. Si la variable <makevar>USE_GMAKE</makevar>
+ est d&eacute;finie, la commande <command>make</command> GNU est
+ utilis&eacute;e, sinon c'est la commande <command>make</command>
+ du syst&egrave;me qui est employ&eacute;e.</para>
+ </step>
+
+ </procedure>
+
+ <para>Ce sont les op&eacute;rations par d&eacute;faut. Vous pouvez en plus
+ d&eacute;finir des cibles
+ <maketarget>pre-<replaceable>quelque_chose</replaceable></maketarget>
+ ou <maketarget>post-<replaceable>quelque_chose</replaceable></maketarget>,
+ ou mettre des proc&eacute;dures du m&ecirc;me nom dans le sous-r&eacute;pertoire
+ <filename>scripts</filename>, et elles pr&eacute;c&eacute;deront ou suivront
+ les op&eacute;rations par d&eacute;faut.</para>
+
+ <para>Par exemple, si vous avez d&eacute;fini une cible
+ <maketarget>post-extract</maketarget> dans votre
+ <filename>Makefile</filename>, et cr&eacute;&eacute; un fichier
+ <filename>pre-build</filename> dans le sous-r&eacute;pertoire
+ <filename>scripts</filename>, la cible
+ <maketarget>post-extract</maketarget> sera invoqu&eacute;e apr&egrave;s
+ l'op&eacute;ration habituelle d'extraction et la proc&eacute;dure
+ <filename>pre-build</filename> ex&eacute;cut&eacute;e avant d'appliquer les
+ r&egrave;gles de compilation par d&eacute;faut. Il est recommand&eacute; d'utiliser
+ des cibles dans le <filename>Makefile</filename> si les actions
+ sont suffisamment &eacute;l&eacute;mentaires, car il est alors plus facile &agrave;
+ quelqu'un d'autre de voir quelles sont les op&eacute;rations
+ suppl&eacute;mentaires effectu&eacute;es lors du portage.</para>
+
+ <para>Les op&eacute;rations par d&eacute;faut sont prises en charge par les
+ cibles
+ <maketarget>do-<replaceable>quelque_chose</replaceable></maketarget>
+ du fichier <filename>bsd.port.mk</filename>. Par exemple, les
+ commandes d'extraction sont d&eacute;finies par la cible
+ <maketarget>do-extract</maketarget>. Si la cible par d&eacute;faut ne
+ vous convient pas, vous pouvez r&eacute;definir
+ <maketarget>do-<replaceable>quelque_chose</replaceable></maketarget>
+ dans votre <filename>Makefile</filename>.</para>
+
+ <note>
+ <para>Les cibles &ldquo;principales&rdquo; (e.g., <maketarget>extract</maketarget>, <maketarget>configure</maketarget>, etc.) ne font rien
+ d'autre que de s'assurer que les &eacute;tapes qui les pr&eacute;c&egrave;dent se
+ sont bien d&eacute;roul&eacute;es et appellent les vrais cibles ou
+ proc&eacute;dures. Elles ne doivent donc pas &ecirc;tre modifi&eacute;es. Si vous
+ voulez changer la m&eacute;thode d'extraction, red&eacute;finissez
+ <maketarget>do-extract</maketarget>, mais ne modifiez pas
+ <maketarget>extract</maketarget>&nbsp;!</para>
+ </note>
+
+ <para>Maintenant que vous avez compris ce qui se passe quand
+ l'utilisateur tape <command>make</command>, passons en revue
+ les &eacute;tapes conseill&eacute;es pour cr&eacute;er le portage parfait.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>Obtenez les sources d'origine</title>
+
+ <para>R&eacute;cup&eacute;rez les sources d'origine (normalement) sous forme
+ d'archive compress&eacute;e
+ (<filename><replaceable>foo</replaceable>.tar.gz</filename> ou
+ <filename><replaceable>foo</replaceable>.tar.Z</filename>) et
+ copiez-les dans <makevar>DISTDIR</makevar>. Utilisez toujours
+ des sources <emphasis>de premi&egrave;re main</emphasis> si vous le
+ pouvez.</para>
+
+ <para>Si vous ne trouvez pas de site ftp/http correctement
+ accessible sur le r&eacute;seau, ou ne trouvez que des sites qui
+ utilisent des formats non standard, vous voudrez peut-&ecirc;tre
+ mettre une copie sur un serveur ftp ou http fiable que vous
+ contr&ocirc;lez (e.g., votre page personnelle). Veillez &agrave; d&eacute;finir
+ <makevar>MASTER_SITES</makevar> pour refl&eacute;ter ce choix.</para>
+
+ <para>Si vous ne trouvez aucun endroit ad&eacute;quat et fiable o&ugrave; mettre
+ la distribution (si vous y &ecirc;tes autoris&eacute;, vous pouvez la mettre
+ dans votre sous-r&eacute;pertoire <filename>public_html/</filename> sur
+ <hostid>freefall</hostid>), nous pouvons en dernier ressort
+ &ldquo;l'accueillir&rdquo; nous-m&ecirc;me en la mettant dans
+ <filename>ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/LOCAL_PORTS/</filename>.
+ D&eacute;finissez cette adresse dans
+ <makevar>MASTER_SITE_LOCAL</makevar>. Adressez un courrier
+ &eacute;lectronique &agrave; la &a.ports;, si vous n'&ecirc;tes pas s&ucirc;r de ce qu'il
+ faut faire.</para>
+
+ <para>Si la distribution est fr&eacute;quemment modifi&eacute;e sans raison
+ valable, envisagez de la recopier sur votre page personnelle et
+ listez-la en premier dans <makevar>MASTER_SITES</makevar>. Cela
+ &eacute;vitera que les utilisateurs aient des erreurs
+ &ldquo;<errorname>checksum mismatch</errorname>&rdquo;
+ sur les sommes de contr&ocirc;le, et r&eacute;duira aussi
+ le travail des personnes charg&eacute;es de maintenir notre site ftp.
+ D'autre part, s'il n'y a qu'un seul site pour le logiciel
+ d'origine, il est recommand&eacute; que vous ayez une sauvegarde sur
+ votre site et qu'elle soit mentionn&eacute;e en second lieu dans
+ <makevar>MASTER_SITES</makevar>.</para>
+
+ <para>S'il faut d'autres &ldquo;patches&rdquo; disponibles sur
+ l'Internet pour ce portage, r&eacute;cup&eacute;rez-les aussi et mettez-les
+ dans <makevar>DISTDIR</makevar>. Ce n'est pas un probl&egrave;me s'ils
+ proviennent d'autres sites que la distribution de base, nous
+ pouvons g&eacute;rer cette situation (voyez plus bas la description
+ de <link
+ linkend="porting-patchfiles">PATCHFILES</link>).</para>
+
+ </sect3>
+
+ <sect3>
+ <title>Modifier les sources</title>
+
+ <para>Extrayez le contenu de l'archive dans un sous-r&eacute;pertoire
+ priv&eacute; et faites-y les modifications n&eacute;cessaires pour que le
+ logiciel compile correctement avec la version courante de
+ FreeBSD. Gardez <emphasis>avec soin trace</emphasis> de tout
+ ce que vous faites, car vous allez bient&ocirc;t automatiser ces
+ op&eacute;rations. Tout, y compris suppressions, ajouts et
+ modifications de fichiers doit pouvoir &ecirc;tre fait par des
+ proc&eacute;dures ou fichiers de mise &agrave; jour une fois que vous aurez
+ termin&eacute; le portage.</para>
+
+ <para>Si le portage demande l'intervention ou des choix de
+ l'utilisateur &agrave; la compilation ou &agrave; l'installation, vous
+ devriez jeter un oeil aux proc&eacute;dures classiques
+ <application>Configure</application> de Larry Wall, et peut-&ecirc;tre
+ faire quelque chose du m&ecirc;me genre. L'objectif du nouveau
+ catalogue des logiciels port&eacute;s est que chaque logiciel soit
+ aussi &ldquo;pr&ecirc;t-a-l'emploi&rdquo; que possible pour
+ l'utilisateur final, tout en utilisant le minimum d'espace
+ disque.</para>
+
+ <note>
+ <para>Sauf si vous le pr&eacute;cisez explicitement, tous les fichiers
+ de mise &agrave; jour, proc&eacute;dures et fichiers que vous aurez cr&eacute;&eacute;s
+ et introduits comme contribution au catalogue des logiciels
+ port&eacute;s sont suppos&eacute;s couverts par les conditions standard
+ de copyright BSD.</para>
+ </note>
+ </sect3>
+
+ <sect3>
+ <title>Modifications</title>
+
+ <para>Les fichiers ajout&eacute;s ou modifi&eacute;s pendant la mise au point
+ du portage peuvent &ecirc;tre identifi&eacute;s avec un
+ <command>diff</command> r&eacute;cursif pour g&eacute;n&eacute;rer ensuite les
+ fichiers de mise &agrave;
+ jour&nbsp;-&nbsp;<foreignphrase>patches</foreignphrase>. Chaque
+ ensemble de mise &agrave; jour que vous souhaitez appliquer doit
+ &ecirc;tre rassembl&eacute; dans un fichier
+ <filename>patch-<replaceable>xx</replaceable></filename>, o&ugrave;
+ <replaceable>xx</replaceable> correspond au rang de cette
+ mise &agrave; jour dans la s&eacute;quence d'application de ces
+ modifications&nbsp;-&nbsp;elles sont trait&eacute;es en
+ <emphasis>ordre alphab&eacute;tique</emphasis>, donc
+ <literal>aa</literal> d'abord, <literal>ab</literal> en second
+ et ainsi de suite. Ces fichiers doivent &ecirc;tre plac&eacute;s dans
+ <makevar>PATCHDIR</makevar>, d'o&ugrave; ils seront automatiquement
+ appliqu&eacute;s. Toutes les modifications doivent &ecirc;tre relatives &agrave;
+ <makevar>WRKSRC</makevar> (c'est habituellement le r&eacute;pertoire
+ o&ugrave; l'archive s'extrait elle-m&ecirc;me, et o&ugrave; se fera la
+ compilation). Pour simplifier les corrections et les mises &agrave;
+ niveau, vous devriez &eacute;viter d'avoir plus d'un fichier de mise
+ &agrave; jour s'appliquant au m&ecirc;me fichier source
+ (e.g., <filename>patch-aa</filename> et <filename>patch-ab</filename> modifiant tous deux <filename><makevar>WRKSRC</makevar>/foobar.c</filename>).</para>
+
+ </sect3>
+
+ <sect3>
+ <title>Configuration</title>
+
+ <para>Ajoutez toutes les autres commandes de mise au point &agrave; votre
+ proc&eacute;dure <filename>configure</filename> et enregistrez-la dans
+ le sous-r&eacute;pertoire <filename>scripts</filename>. Comme on l'a
+ dit plus haut, vous pouvez aussi utiliser les cibles du
+ <filename>Makefile</filename> et/ou les proc&eacute;dures
+ <filename>pre-configure</filename> ou
+ <filename>post-configure</filename>.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>Interactions avec l'utilisateur</title>
+
+ <para>Si vos proc&eacute;dures de compilation, configuration ou
+ installation ont besoin d'interagir avec l'utilisateur,
+ d&eacute;finissez la variable <makevar>IS_INTERACTIVE</makevar> dans
+ votre <filename>Makefile</filename>. Cela permettra aux
+ &ldquo;compilations de nuits&rdquo; d'ignorer le logiciel
+ que vous avez port&eacute;, si l'utilisateur d&eacute;finit dans son
+ environnement la variable <envar>BATCH</envar> (s'il d&eacute;finit
+ la variable <envar>INTERACTIVE</envar>,
+ <emphasis>seuls</emphasis> les logiciels port&eacute;s pour lesquels
+ il faut des r&eacute;ponses de l'utilisateur sont compil&eacute;s).</para>
+
+ <para>Il est aussi recommand&eacute;, s'il y a des r&eacute;ponses par d&eacute;faut
+ raisonnables &agrave; vos questions, de tester la variable
+ <makevar>PACKAGE_BUILDING</makevar> et de d&eacute;sactiver la partie
+ interactive de la proc&eacute;dure si cette variable est d&eacute;finie. Cela
+ permet de compiler les &ldquo;paquetages&rdquo; pour les CD-ROMs
+ et les sites ftp.</para>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Configurer le Makefile</title>
+
+ <para>Il est assez facile de configurer le Makefile, et nous vous
+ sugg&eacute;rons &agrave; nouveau de jeter un coup d'oeil aux exemples
+ existants avant de commencer. Il y a aussi un
+ <link linkend="porting-samplem">exemple de Makefile</link> dans ce
+ manuel, consultez-le donc et respectez s'il vous pla&icirc;t l'ordre
+ des variables et des sections de ce mod&egrave;le pour que votre
+ portage soit plus facile &agrave; lire pour les autres.</para>
+
+ <para>Envisageons maintenant les probl&egrave;mes suivants en
+ s&eacute;quence au fur et &agrave; mesure que vous mettez au point
+ votre nouveau Makefile&nbsp;:</para>
+
+ <sect3>
+ <title>Le source original</title>
+
+ <para>Se trouve-t-il dans <makevar>DISTDIR</makevar> sous forme standard
+ d'archive compress&eacute;e avec
+ <citerefentry><refentrytitle>gzip</refentrytitle> <manvolnum>1</manvolnum></citerefentry>.
+ Si ce n'est pas le cas, vous devriez envisager de surcharger une des
+ variables <makevar>EXTRACT_CMD</makevar>,
+ <makevar>EXTRACT_BEFORE_ARGS</makevar>,
+ <makevar>EXTRACT_AFTER_ARGS</makevar>,
+ <makevar>EXTRACT_SUFX</makevar> ou <makevar>DISTFILES</makevar> selon
+ le degr&eacute; de non-conformit&eacute; du fichier de distribution
+ de votre logiciel &agrave; porter. (Le cas le plus fr&eacute;quent est
+ <literal>EXTRACT_SUFX=.tar.Z</literal>, quand l'archive est
+ compress&eacute;e avec
+ <citerefentry><refentrytitle>compress</refentrytitle> <manvolnum>1</manvolnum></citerefentry>
+ et non
+ <citerefentry><refentrytitle>gzip</refentrytitle> <manvolnum>1</manvolnum></citerefentry>.)</para>
+
+ <para>Dans le pire des cas, vous pouvez simplement cr&eacute;er votre
+ propre cible <maketarget>do-extract</maketarget> pour surcharger la
+ cible par d&eacute;faut, bien que ce ne soit que rarement, sinon
+ jamais, n&eacute;cessaire.</para>
+ </sect3>
+
+ <sect3>
+ <title><makevar>DISTNAME</makevar></title>
+
+ <para>Vous devez affecter &agrave; <makevar>DISTNAME</makevar> le nom de
+ fichier de votre logiciel &agrave; porter. Les r&egrave;gles par
+ d&eacute;faut veulent que le fichier de distribution
+ (<makevar>DISTFILES</makevar>) s'appelle
+ <makevar>DISTNAME</makevar><makevar>EXTRACT_SUFX</makevar> qui, si
+ c'est un fichier d'archive habituel, sera quelque chose du style
+ <literal>foozolix-1.0.tar.gz</literal> si
+ <literal>DISTNAME=foozolix-1.0</literal>.</para>
+
+ <para>Les r&egrave;gles par d&eacute;faut veulent aussi que l(es)
+ archive(s) soi(en)t extraite(s) dans un sous-r&eacute;pertoire
+ appel&eacute; <filename>work/<makevar>DISTNAME</makevar></filename>,
+ e.g., <filename>work/foozolix-1.0/</filename>.</para>
+
+ <para>Toutes ces conventions peuvent bien s&ucirc;r &ecirc;tre
+ surcharg&eacute;es; ce sont simplement les valeurs par d&eacute;faut
+ qui font gagner le plus de temps. Pour un logiciel &agrave; porter
+ pour lequel il y a plusieurs fichiers de distribution,
+ d&eacute;finissez simplement explicitement
+ <makevar>DISTFILES</makevar>. S'il n'y a qu'un sous-ensemble de
+ <makevar>DISTFILES</makevar> qui est effectivement constitu&eacute;
+ d'archives extractibles, d&eacute;finissez-les dans
+ <makevar>EXTRACT_ONLY</makevar>, qui surchargera la liste de
+ <makevar>DISTFILES</makevar> au moment de l'extraction, les autres
+ restant dans <makevar>DISTDIR</makevar> pour usage
+ ult&eacute;rieur.</para>
+ </sect3>
+
+ <sect3>
+ <title><makevar>PKGNAME</makevar></title>
+
+ <para>Si <makevar>DISTNAME</makevar> n'est pas conforme &agrave; nos
+ <link linkend="porting-pkgname">recommandations pour un bon nom de
+ paquetage</link>, vous devriez affecter &agrave; la variable
+ <makevar>PKGNAME</makevar> une meilleure valeur. Reportez-vous aux
+ recommandations mentionn&eacute;es ci-dessus pour plus de
+ d&eacute;tails.</para>
+ </sect3>
+
+ <sect3>
+ <title><makevar>CATEGORIES</makevar></title>
+
+ <para>Quand un paquetage est cr&eacute;e, il est mis dans
+ <filename>/usr/ports/packages/All</filename> et des liens sont
+ d&eacute;finis dans un ou plusieurs sous-r&eacute;pertoires de
+ <filename>/usr/ports/packages</filename>. Les noms de ces
+ sous-r&eacute;pertoires sont sp&eacute;cifi&eacute;s par la
+ variable <makevar>CATEGORIES</makevar>. L'objectif est de faciliter
+ la vie de l'utilisateur qui erre dans la quantit&eacute; de
+ paquetages sur le site ftp ou le CD-ROM. Jettez un oeil s'il vous
+ pla&icirc;t aux
+ <link linkend="porting-categories">cat&eacute;gories</link>
+ existantes et choisissez celles qui conviennent &agrave; votre
+ logiciel &agrave; porter.</para>
+
+ <para>Cette liste d&eacute;termina aussi o&ugrave; le logiciel sera
+ import&eacute; dans l'arborescence du catalogue des logiciels
+ port&eacute;s Si vous y mentionnez plus d'une cat&eacute;gorie, les
+ fichiers iront dans le sous-r&eacute;pertoire de m&ecirc;me nom que la
+ premi&egrave;re de ces cat&eacute;gories. Reportez-vous &agrave; la
+ section <link linkend="porting-categories">Cat&eacute;gories</link>
+ pour plus d'informations sur la mani&egrave;re de s&eacute;lectionner
+ les bonnes cat&eacute;gories.</para>
+
+ <para>Si votre logiciel &agrave; porter appartient vraiment &agrave; une
+ autre cat&eacute;gorie que celles qui sont d&eacute;j&agrave;
+ d&eacute;finies, vous pouvez m&ecirc;me cr&eacute;er une nouvelle
+ cat&eacute;gorie. Dans ce cas, envoyez s'il vous pla&icirc;t un
+ courrier &eacute;lectronique &agrave; la &a.ports; pour proposer la
+ cr&eacute;ation d'une nouvelle cat&eacute;gorie.</para>
+
+ <note>
+ <para>Il n'y a pas de contr&ocirc;le des noms de cat&eacute;gorie.
+ <command>make paquetage</command> cr&eacute;era sans sourcillier un
+ nouveau sous-r&eacute;pertoire si vous orthographiez mal le nom de
+ la cat&eacute;gorie, soyez donc prudent&nbsp;!</para>
+ </note>
+ </sect3>
+
+ <sect3>
+ <title><makevar>MASTER_SITES</makevar></title>
+
+ <para>Indiquez le r&eacute;pertoire de l'&ldquo;URL&rdquo; ftp/http
+ o&ugrave; se trouve l'archive originale dans
+ <makevar>MASTER_SITES</makevar>. N'oubliez pas le &ldquo;slash&rdquo;
+ final (<filename>/</filename>)&nbsp;!</para>
+
+ <para>Les macros-instructions <command>make</command> essayerons
+ d'utiliser cette valeur pour r&eacute;cup&eacute;rer le fichier de
+ distribution avec <makevar>FETCH</makevar>, si elles ne le trouvent
+ pas sur votre syst&egrave;me.</para>
+
+ <para>Il est conseill&eacute; de mentionner plusieurs sites dans cette
+ liste, si possible sur des continents diff&eacute;rents. Cela
+ constituera un garde-fou contre les probl&egrave;mes du r&eacute;seau
+ mondial, et nous envisageons m&ecirc;me d'ajouter la
+ d&eacute;termination automatique du site de r&eacute;f&eacute;rence
+ le plus proche, pour aller y chercher la distribution&nbsp;!</para>
+
+ <para>Si l'archive d'origine se trouve sur l'une des archives classiques suivantes&nbsp;: X-contrib, GNU, Perl CPAN, TeX CTAN ou Linux Sunsite,
+ vous pouvez y faire r&eacute;f&eacute;rence sous forme plus compacte
+ en vous servant de <makevar>MASTER_SITE_XCONTRIB</makevar>,
+ <makevar>MASTER_SITE_GNU</makevar>,
+ <makevar>MASTER_SITE_PERL_CPAN</makevar>,
+ <makevar>MASTER_SITE_TEX_CTAN</makevar> et
+ <makevar>MASTER_SITE_SUNSITE</makevar>. Affectez simplement &agrave;
+ <makevar>MASTER_SITE_SUBDIR</makevar> le chemin d'acc&egrave;s au
+ fichier dans l'archive. En voici un exemple&nbsp;:</para>
+
+ <programlisting>
+MASTER_SITES= ${MASTER_SITE_XCONTRIB}
+MASTER_SITE_SUBDIR= applications
+ </programlisting>
+
+ <para>L'utilisateur peut aussi configurer les variables
+ <makevar>MASTER_SITE_*</makevar> dans
+ <filename>/etc/make.conf</filename> pour surcharger vos choix, et
+ utiliser &agrave; la place ses sites miroir favoris pour ces
+ archives.</para>
+ </sect3>
+
+ <sect3 id="porting-patchfiles">
+ <title><makevar>PATCHFILES</makevar></title>
+
+ <para>Si votre logiciel &agrave; porter a besoin de
+ correctifs&nbsp;-&nbsp;<foreignphrase>patches</foreignphrase>&nbsp;-&nbsp;disponibles
+ via ftp ou http, affectez &agrave; <makevar>PATCHFILES</makevar> les
+ noms des fichiers et &agrave; <makevar>PATCH_SITES</makevar>
+ l'&ldquo;URL&rdquo; du r&eacute;pertoire o&ugrave; ils se trouvent (le
+ format est le m&ecirc;me que pour
+ <makevar>MASTER_SITES</makevar>).</para>
+
+ <para>Si le correctif ne s'applique pas &agrave; la racine de
+ l'arborescence des sources (i.e., <makevar>WKRSRC</makevar>) parce
+ qu'il contient des chemins d'acc&egrave;s suppl&eacute;mentaires,
+ d&eacute;finissez <makevar>PATCH_DIST_STRIP</makevar> en
+ cons&eacute;quence. Par exemple, si tous les noms de fichiers dans le
+ correctif sont pr&eacute;c&eacute;d&eacute;s de
+ <literal>foozolix-1.0/</literal>, configurez alors
+ <literal>PATCH_DIST_STRIP=-p1</literal>.</para>
+
+ <para>Ne vous inqui&eacute;tez pas si les correctifs sont
+ compress&eacute;s, ils seront automatiquement
+ d&eacute;compress&eacute;s si les noms des fichiers se terminent par
+ <filename>.gz</filename> ou <filename>.Z</filename>.</para>
+
+ <para>Si le correctif est distribu&eacute; avec d'autres fichiers, de la
+ documentation par exemple, sous forme d'archive compress&eacute;e avec
+ <citerefentry><refentrytitle>gzip</refentrytitle> <manvolnum>1</manvolnum></citerefentry>,
+ vous ne pouvez pas utiliser <makevar>PATCHFILES</makevar>. Dans ce
+ cas, ajoutez le nom et la localisation du correctif &agrave;
+ <makevar>DISTFILES</makevar> et <makevar>MASTER_SITES</makevar>. Puis,
+ appliquez le correctif depuis la cible
+ <maketarget>pre-patch</maketarget>, soit en y ex&eacute;cutant la
+ commande <command>patch</command>, soit en copiant le correctif dans
+ le r&eacute;pertoire <makevar>PATCHDIR</makevar> et en l'appelant
+ <filename>patch-<replaceable>xx</replaceable></filename>.</para>
+
+ <note>
+ <para>Remarquez que cette archive sera extraite en m&ecirc;me temps
+ que le source de base, il n'est donc pas n&eacute;cessaire de
+ l'extraire explicitement si elle est normalement compress&eacute;e
+ avec
+ <citerefentry><refentrytitle>gzip</refentrytitle> <manvolnum>1</manvolnum></citerefentry>
+ ou
+ <citerefentry><refentrytitle>compress</refentrytitle> <manvolnum>1</manvolnum></citerefentry>.
+ Si vous le faites n&eacute;anmoins, faites attention &agrave;
+ ne rien &eacute;craser de ce qui existe dans le r&eacute;pertoire.
+ Et n'oubliez pas non plus d'ajouter une commande pour supprimer le
+ correctif recopi&eacute; &agrave; la cible
+ <maketarget>pre-clean</maketarget>.</para>
+ </note>
+ </sect3>
+
+ <sect3>
+ <title><makevar>MAINTAINER</makevar></title>
+
+ <para>Indiquez ici votre adresse &eacute;lectronique. S'il vous
+ pla&icirc;t. <!-- smiley --><emphasis>:)</emphasis></para>
+
+ <para>Pour une description d&eacute;taill&eacute; de la
+ responsabilit&eacute; du charg&eacute; de la maintenance,
+ reportez-vous &agrave; la section
+ <link linkend="policies-maintainer">MAINTAINER des
+ <filename>Makefile</filename>s</link>.</para>
+ </sect3>
+
+ <sect3>
+ <title>D&eacute;pendances</title>
+
+ <para>De nombreux logiciels port&eacute;s d&eacute;pendent d'autres
+ logiciels. Il y a cinq variables que vous pouvez utiliser pour vous
+ assurer qu'il y a tout ce qu'il faut sur la machine de l'utilisateur.
+ Il y a aussi des variables pr&eacute;d&eacute;finies pour les cas les
+ plus courants, et quelques autres pour contr&ocirc;ler le comportement
+ vis-&agrave;-vis des d&eacute;pendances.</para>
+
+ <sect4>
+ <title><makevar>LIB_DEPENDS</makevar></title>
+
+ <para>Cette variable d&eacute;finit les biblioth&egrave;ques
+ partag&eacute;es dont d&eacute;pend le logiciel &agrave; porter.
+ C'est une liste de tuples
+ <replaceable>bibloth&egrave;que</replaceable>:<replaceable>r&eacute;pertoire</replaceable><optional><replaceable>:cible</replaceable></optional>
+ o&ugrave; <replaceable>biblioth&egrave;que</replaceable> est
+ le nom de la biblioth&egrave;que partag&eacute;e,
+ <replaceable>r&eacute;pertoire</replaceable> est le nom du
+ r&eacute;pertoire o&ugrave; la trouver si elle n'est pas
+ encore install&eacute;e et <replaceable>cible</replaceable> celui de
+ la cible &agrave; ex&eacute;cuter dans ce r&eacute;pertoire. Par
+ exemple&nbsp:</para>
+ <programlisting>
+LIB_DEPENDS= jpeg\\.9\\.:${PORTSDIR}/graphics/jpeg:install
+ </programlisting>
+ <para>cherchera une biblioth&egrave;que partag&eacute;e
+ <literal>jpeg</literal> avec le num&eacute;ro de version majeure 9
+ et descendra dans le sous-r&eacute;pertoire
+ <filename>graphics/jpeg</filename> de l'arborescence du catalogue
+ des logiciels port&eacute;s pour la compiler et l'installer, s'il ne
+ la trouve pas. La <replaceable>cible</replaceable> peut &ecirc;tre
+ omise si elle est &eacute;gale &agrave;
+ <makevar>DEPENDS_TARGET</makevar> (dont la valeur par d&eacute;faut
+ est <literal>install</literal>).</para>
+
+ <note>
+ <para><replaceable>biblioth&egrave;que</replaceable> est
+ pass&eacute; en argument &agrave;
+ <command>ldconfig -r | grep -wF</command>. Cette variable ne doit
+ pas comporter d'expression r&eacute;guli&egrave;re.</para>
+ </note>
+
+ <para>La d&eacute;pendance est v&eacute;rifi&eacute;e deux fois, une
+ premi&egrave;re fois depuis la cible
+ <maketarget>extract</maketarget> et ensuite par la cible
+ <maketarget>install</maketarget>. Le nom de la d&eacute;pendance est
+ aussi enregistr&eacute; dans le paquetage de sorte que
+ <command>pkg_add</command> l'installe automatiquement si elle n'est
+ pas disponible sur le syst&egrave;me de l'utilisateur.</para>
+ </sect4>
+
+ <sect4>
+ <title><makevar>RUN_DEPENDS</makevar></title>
+
+ <para>Cette variable d&eacute;finit quels ex&eacute;cutables et
+ fichiers doivent &ecirc;tre pr&eacute;sents pour pouvoir utiliser le
+ logiciel port&eacute;. C'est une liste de tuples
+ <replaceable>chemin d'acc&egrave;s</replaceable>:<replaceable>r&eacute;pertoire</replaceable><optional><replaceable>:cible</replaceable></optional>
+ o&ugrave; <replaceable>chemin d'acc&egrave;s</replaceable> est le
+ nom de l'ex&eacute;cutable ou du fichier,
+ <replaceable>r&eacute;pertoire</replaceable> est le
+ r&eacute;pertoire o&ugrave; le trouver s'il n'est pas encore
+ install&eacute; et <replaceable>cible</replaceable> est la cible
+ &agrave; ex&eacute;cuter dans ce r&eacute;pertoire. Si
+ <replaceable>chemin d'acc&egrave;s</replaceable> commence par un
+ &ldquo;<foreignphrase>slash</foreignphrase>
+ (<literal>/</literal>), il est trait&eacute; comme un fichier et son
+ existence est test&eacute;e avec <command>test -e</command>&nbsp;;
+ sinon, on suppose que c'est un ex&eacute;cutable, et c'est la
+ commande <command>which -s</command> qui est utilis&eacute;e pour
+ voir si le programme existe dans les chemins d'acc&egrave;s par
+ d&eacute;faut de l'utilisateur.</para>
+
+ <para>Par exemple&nbsp;:</para>
+
+ <programlisting>
+RUN_DEPENDS= ${PREFIX}/etc/innd:${PORTSDIR}/news/inn \
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wish8.0:${PORTSDIR}/x11-toolkits/tk80</programlisting>
+
+ <para>regardera si le fichier ou le r&eacute;pertoire
+ <filename>/usr/local/etc/innd</filename> existe, et le compilera et
+ l'installera dans le sous-r&eacute;pertoiree
+ <filename>news/inn</filename> de l'arborescence du catalogue des
+ logiciels port&eacute;s s'il ne le trouve pas. Il s'assurera aussi
+ de la pr&eacute;sence d'un ex&eacute;cutable appel&eacute;
+ <command>wish8.0</command> dans vos chemins d'acc&egrave;s par
+ d&eacute;faut, et ira dans le sous-r&eacute;pertoire
+ <filename>x11-toolkits/tk80</filename> de l'arborescence du
+ catalogue des logiciels port&eacute;s pour le compiler et
+ l'installer s'il ne le trouve pas.</para>
+
+ <note>
+ <para>Dans ce cas, <command>innd</command> est en fait un
+ ex&eacute;cutable&nbsp;; si un programme n'est pas &agrave; la
+ place normale o&ugrave; on s'attend &agrave; le trouver dans les
+ chemins d'acc&egrave;s par d&eacute;faut de l'utilisateur, il faut
+ utiliser son nom complet depuis la racine.</para>
+ </note>
+
+ <para>La d&eacute;pendance est v&eacute;rifi&eacute;e par la cible
+ <maketarget>install</maketarget>. Le nom de la d&eacute;pendance est
+ aussi enregistr&eacute; dans le paquetage de sorte que
+ <command>pkg_add</command> l'installe automatiquement si elle n'est
+ pas disponible sur le syst&egrave;me de l'utilisateur. La
+ <replaceable>cible</replaceable> peut &ecirc;tre omise si elle est
+ &eacute;gale &agrave; <makevar>DEPENDS_TARGET</makevar>.</para>
+ </sect4>
+
+ <sect4>
+ <title><makevar>BUILD_DEPENDS</makevar></title>
+
+ <para>Cette variable d&eacute;finit quels ex&eacute;cutables et
+ fichiers sont n&eacute;cessaires pour installer le logiciel. Comme
+ <makevar>RUN_DEPENDS</makevar>, c'est une liste de tuples
+ <replaceable>chemin d'acc&egrave;s</replaceable>:<replaceable>r&eacute;pertoire</replaceable><optional><replaceable>:cible</replaceable></optional>.
+ Par exemple&nbsp;:</para>
+ <programlisting>
+BUILD_DEPENDS= unzip:${PORTSDIR}/archivers/unzip
+ </programlisting>
+ <para>recherchera un ex&eacute;cutable appel&eacute;
+ <command>unzip</command> et ira dans le sous-r&eacute;pertoire
+ <filename>archivers/unzip</filename> de l'arborescence du
+ catalogue des logiciels port&eacute;s pour le compiler et
+ l'installer s'il ne le trouve pas.</para>
+
+ <note>
+ <para>&ldquo;installer&rdquo; recouvre ici tout le processus, de
+ l'extraction &agrave; la compilation. La d&eacute;pendance est
+ v&eacute;rifi&eacute;e par la cible
+ <maketarget>extract</maketarget>. La
+ <replaceable>cible</replaceable> peut &ecirc;tre omise si elle
+ est &eacute;gale &agrave;
+ <makevar>DEPENDS_TARGET</makevar>.</para>
+ </note>
+ </sect4>
+
+ <sect4>
+ <title><makevar>FETCH_DEPENDS</makevar></title>
+
+ <para>Cette variable d&eacute;finit quels ex&eacute;cutables le
+ logiciel a besoin de r&eacute;cup&eacute;rer. Comme les deux
+ pr&eacute;c&eacute;dentes, c'est une liste de tuples
+ <replaceable>chemin d'acc&egrave;s</replaceable>:<replaceable>r&eacute;pertoire</replaceable><optional><replaceable>:cible</replaceable></optional>.
+ Par exemple&nbsp;:</para>
+ <programlisting>
+FETCH_DEPENDS= ncftp2:${PORTSDIR}/net/ncftp2
+ </programlisting>
+ <para>recherchera un ex&eacute;cutable appel&eacute;
+ <command>ncftp2</command> et descendera dans le
+ sous-r&eacute;pertoire <filename>net/ncftp2</filename> de
+ l'arborescence du catalogue des logiciels port&eacute;s pour le
+ compiler et l'installer s'il ne le trouve pas.</para>
+
+ <para>La d&eacute;pendance est v&eacute;rifi&eacute;e par la cible
+ <maketarget>fetch</maketarget>. La <replaceable>cible</replaceable>
+ peut &ecirc;tre omise si elle est &eacute;gale &agrave;
+ <makevar>DEPENDS_TARGET</makevar>.</para>
+ </sect4>
+
+ <sect4>
+ <title><makevar>DEPENDS</makevar></title>
+
+ <para>S'il y a une d&eacute;pendance qui ne rentre pas dans les quatre
+ cat&eacute;gories pr&eacute;c&eacute;dentes ou si votre logiciel
+ &agrave; porter a besoin que les sources d'un autre logiciel soient
+ install&eacute;s en plus de ce logiciel lui-m&ecirc;me,
+ utilisez cette variable. C'est une liste de
+ <replaceable>r&eacute;pertoire</replaceable><optional><replaceable>:cible</replaceable></optional>,
+ puisqu'il n'y a rien &agrave; v&eacute;rifier, &agrave; l'inverse
+ des quatre pr&eacute;c&eacute;dentes. La
+ <replaceable>cible</replaceable> peut &ecirc;tre omise si elle est
+ &eacute;gale &agrave; <makevar>DEPENDS_TARGET</makevar>.</para>
+ </sect4>
+
+ <sect4>
+ <title>Variables pr&eacute;d&eacute;finies</title>
+
+ <para>Utilisez <literal>USE_XLIB=yes</literal> si votre logiciel
+ &agrave; porter a besoin que le syst&egrave;me <application>X
+ Window</application> soit install&eacute; (c'est implicite avec
+ <makevar>USE_IMAKE</makevar>). Utilisez
+ <literal>USE_GMAKE=yes</literal> si votre logiciel &agrave; porter a
+ besoin de GNU <command>make</command> au lieu de BSD
+ <command>make</command>. Utilisez
+ <literal>USE_AUTOCONF=yes</literal> si votre logiciel &agrave;
+ porter a besoin que GNU <command>autoconf</command> soit
+ ex&eacute;cut&eacute;. Utilisez <literal>USE_QT=yes</literal> si
+ votre logiciel utilise la bo&icirc;te &agrave; outils
+ <application>Qt</application>. Utilisez
+ <literal>USE_PERL5=yes</literal> si votre logiciel &agrave; porter a
+ besoin de la version 5 du langage perl. (Cette derni&egrave;re
+ variable est particuli&egrave;rement importante parce que certaines
+ versions de FreeBSD comportent perl 5 install&eacute; de base, mais
+ d'autres non.)</para>
+ </sect4>
+
+ <sect4>
+ <title>Notes &agrave; propos des d&eacute;pendances</title>
+
+ <para>Comme indiqu&eacute; plus haut, la cible &agrave; appeler par
+ d&eacute;faut quand il y a un d&eacute;pendance requise est
+ <maketarget>DEPENDS_TARGET</maketarget>. Sa valeur par d&eacute;faut
+ est <literal>install</literal>. C'est une variable utilisateur. Elle
+ n'est jamais d&eacute;finie dans le <filename>Makefile</filename>
+ d'un logiciel &agrave; porter. Si votre logiciel &agrave; porter a
+ besoin qu'une d&eacute;pendance soit g&eacute;r&eacute;e d'une
+ fa&ccedil;on particuli&egrave;re, utilisez la partie
+ <literal>:cible</literal> des variables <makevar>*_DEPENDS</makevar>
+ au lieu de red&eacute;finir
+ <makevar>DEPENDS_TARGET</makevar>.</para>
+
+ <para>Quand vous tapez <command>make clean</command>, les
+ d&eacute;pendances sont aussi purg&eacute;es. Si vous ne voulez pas
+ qu'il en soit ainsi, d&eacute;finissez la variable
+ <makevar>NOCLEANDEPENDS</makevar> dans votre environnement.</para>
+
+ <para>Pour d&eacute;pendre sans condition d'un autre logiciel
+ port&eacute;, il est habituel d'utiliser l'indication
+ <literal>nonexistent</literal> comme premier champ de
+ <makevar>BUILD_DEPENDS</makevar> ou
+ <makevar>RUN_DEPENDS</makevar>. N'utilisez cela que si vous avez
+ besoin du source d'un autre logiciel port&eacute;. Vous pouvez aussi
+ avec cette cible &eacute;conomiser du temps de compilation. Par
+ exemple&nbsp;:</para>
+
+ <programlisting>
+BUILD_DEPENDS= /nonexistent:${PORTSDIR}/graphics/jpeg:extract
+ </programlisting>
+
+ <para>ira toujours dans le r&eacute;pertoire du logiciel port&eacute;
+ JPEG pour l'extraire.</para>
+
+ <para>N'utilisez <makevar>DEPENDS</makevar> que s'il n'y a pas d'autre
+ moyen d'obtenir ce que vous voulez. Cela provoquera toujours
+ la compilation (et par d&eacute;faut l'installation) d'autres
+ logiciels port&eacute;s et la d&eacute;pendance sera aussi
+ inclue aux paquetages. Si c'est vraiment ce dont vous avez besoin,
+ je vous recommande d'utiliser <literal>BUILD_DEPENDS</literal> et
+ <literal>RUN_DEPENDS</literal> &agrave; la place&mdash;au moins
+ votre intention sera claire.</para>
+ </sect4>
+ </sect3>
+
+ <sect3>
+ <title>M&eacute;canismes de compilation</title>
+
+ <para>Si votre paquetage utilise GNU <command>make</command>,
+ positionnez <literal>USE_GMAKE=yes</literal>. Si votre paquetage
+ utilise <command>configure</command>, positionnez
+ <literal>HAS_CONFIGURE=yes</literal>. Si votre paquetage utilise GNU
+ <command>configure</command>, positionnez
+ <literal>GNU_CONFIGURE=yes</literal> (ce qui implique
+ <literal>HAS_CONFIGURE</literal>). Si vous voulez passer des arguments
+ suppl&eacute;mentaires &agrave; <command>configure</command> (la liste
+ d'arguments par d&eacute;faut est
+ <literal>--prefix=&dollar;{PREFIX}</literal> pour GNU
+ <command>configure</command> et elle est vide pour les autres versions
+ de <command>configure</command>), d&eacute;finissez ces arguments
+ compl&eacute;mentaires avec la variable
+ <makevar>CONFIGURE_ARGS</makevar>. Si votre paquetage utilise GNU
+ <command>autoconf</command>, positionnez
+ <literal>USE_AUTOCONF=yes</literal>. Cela implique
+ <makevar>GNU_CONFIGURE</makevar>, et provoquera l'ex&eacute;cution
+ d'<command>autoconf</command> avant celle de
+ <command>configure</command>.</para>
+
+ <para>Si votre paquetage est une application X qui g&eacute;n&egrave;re
+ des <filename>Makefile</filename>s &agrave; partir
+ d'<filename>Imakefile</filename>s avec <command>imake</command>,
+ positionnez alors <literal>USE_IMAKE=yes</literal>. A l'&eacute;tape
+ de configuration, la commande <command>xmkmf -a</command> sera
+ automatiquement ex&eacute;cut&eacute;e. Si l'option
+ <option>-a</option> pose une probl&egrave;me pour votre portage,
+ positionnez <literal>XMKMF=xmkmf</literal>. Si le portage utilise
+ <command>imake</command> mais ne comprend pas la cible
+ <maketarget>install.man</maketarget>, il faut alors d&eacute;finir
+ <literal>NO_INSTALL_MANPAGES=yes</literal>. De plus, l'auteur
+ d'origine du logiciel devrait &ecirc;tre &ldquo;fusill&eacute;&rdquo;.
+ <!-- smiley --><emphasis>:&gt;</emphasis></para>
+
+ <para>Si le <filename>Makefile</filename> d'origine du logiciel que vous
+ portez utilise une autre cible principale que
+ <maketarget>all</maketarget>, d&eacute;finissez en cons&eacute;quence
+ <makevar>ALL_TARGET</makevar>. Il en va de m&ecirc:me pour
+ <maketarget>install</maketarget> et
+ <makevar>INSTALL_TARGET</makevar>.</para>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Consid&eacute;rations particuli&egrave;res</title>
+
+ <para>Il y a quelques autres points &agrave; prendre en compte lorsque
+ vous portez un logiciel. Cette section d&eacute;taille les plus
+ fr&eacute;quemment rencontr&eacute;s.</para>
+
+ <sect3>
+ <title><command>ldconfig</command></title>
+
+ <para>Si votre portage installe une biblioth&egrave;que partag&eacute;e,
+ ajoutez une cible <maketarget>post-install</maketarget> &agrave; votre
+ <filename>Makefile</filename> qui ex&eacute;cute
+ <literal>&dollar;{LDCONFIG} -m</literal> sur le r&eacute;pertoire
+ o&ugrave; la nouvelle biblioth&egrave;que est install&eacute;e
+ (habituellement <filename><makevar>PREFIX</makevar>/lib</filename>)
+ pour l'enregistrer dans le cache de biblioth&egrave;que
+ partag&eacute;e.</para>
+
+ <para>Ajoutez aussi une ligne <literal>@exec /sbin/ldconfig -m</literal>
+ et la ligne <literal>@unexec /sbin/ldconfig -R</literal>
+ correspondante &agrave; votre fichier <filename>pkg/PLIST</filename>
+ de fa&ccedil;on &agrave; ce que l'utilisateur qui installe le
+ paquetage puisse utiliser imm&eacute;diatement la biblioth&egrave;que
+ partag&eacute;e et qu'&agrave; la d&eacute;sinstallation, le
+ syst&egrave;me sache que la biblioth&egrave;que n'est plus l&agrave;.
+ Ces lignes doivent suivre imm&eacute;diatement celle qui concerne la
+ biblioth&egrave;que partag&eacute;e elle-m&ecirc;me, comme
+ dans&nbsp;:</para>
+
+ <programlisting>
+lib/libtvl80.so.1
+@exec /sbin/ldconfig -m %D/lib
+@unexec /sbin/ldconfig -R
+ </programlisting>
+
+ <para>N'ajoutez jamais, mais vraiment <emphasis>jamais</emphasis> de
+ ligne qui ne contienne que <literal>ldconfig</literal> sans argument
+ &agrave; votre <filename>Makefile</filename> ou &agrave; votre
+ <filename>pkg/PLIST</filename>. Cela r&eacute;initialisera le cache de
+ biblioth&egrave;que partag&eacute;e avec le contenu de
+ <filename>/usr/lib</filename> uniquement, et v&eacute;rolera
+ royalement la machine de l'utilisateur (&ldquo;A l'aide, xinit ne
+ fonctionne plus depuis que j'ai install&eacute; ce logiciel
+ port&eacute;&nbsp;!). Quiconque commet ce crime sera fusill&eacute;
+ et d&eacute;coup&eacute; en 65.536 morceaux avec un couteau
+ rouill&eacute;, son foie sera d&eacute;chiquet&eacute; par une bande
+ de corbeaux et il r&ocirc;tira &eacute;ternellement au tr&eacute;fonds
+ de l'enfer (pas n&eacute;cessairement dans cet ordre&hellip;)</para>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Support ELF</title>
+
+ <para>Comme FreeBSD passe &agrave; ELF peu de temps apr&egrave;
+ 3.0-release, il faut convertir de nombreux ports qui compilent des
+ bibloth&egrave;ques partag&eacute;es pour qu'ils supportent ELF. Cette
+ t&acirc;che est compliqu&eacute;e par le fait qu'un syst&egrave;me 3.0
+ peut s'ex&eacute;cuter &agrave; la fois en ELF et en a.out et que nous
+ voulons supporter la version 2.2 aussi longtemps que possible. Voici
+ quelques indications pour la conversion de logiciels port&eacute;s a.out
+ pour qu'ils supportent &agrave; la fois la compilation en a.out et
+ ELF.</para>
+
+ <para>Certains points cit&eacute;s ne s'appliquent qu'&agrave; la
+ conversion elle-m&ecirc;me. Ils resteront mentionn&eacute;s
+ n&eacute;anmoins quelque temps pour le cas o&ugrave; vous tomberiez sur
+ un ancien logiciel port&eacute; que vous voulez mettre &agrave;
+ niveau.</para>
+
+ <sect3>
+ <title>Mettre de c&ocirc;t&eacute; les biblioth&egrave;ques
+ a.out</title>
+
+ <para>Les biblioth&egrave;ques a.out doivent &ecirc;tre
+ d&eacute;plac&eacute;es de <filename>/usr/local/lib</filename> et
+ autres vers un sous-r&eacute;pertoire <filename>aout</filename>. (Si
+ vous ne les mettez pas de c&ocirc;t&eacute;, les logiciels
+ port&eacute;s ELF les &eacute;craseront sans sourciller.)
+ La cible <maketarget>move-aout-libs</maketarget> du
+ <filename>src/Makefile</filename> de 3.0-current (appel&eacute; par
+ <maketarget>aout-to-elf</maketarget>) le fera pour vous. Elle ne
+ d&eacute;placera que les biblioth&egrave;ques a.out, il n'y a donc pas
+ de risque &agrave; l'appeler sur un syst&egrave;me o&ugrave; il y a
+ &agrave; la fois des biblioth&egrave;ques ELF et a.out dans les
+ r&eacute;pertoires standard.</para>
+ </sect3>
+
+ <sect3>
+ <title>Format</title>
+
+ <para>L'arborescence du catalogue des logiciels port&eacute;s compilera
+ les paquetages au format utilis&eacute; par la machine,
+ c'est-&agrave;-dire a.out en 2.2 et a.out ou ELF en 3.0 selon ce que
+ retourne la commande <command>`objformat`</command>. D'autre part,
+ un fois que les utilisateurs d&eacute;placent les biblioth&egrave;ques
+ a.out dans un sous-r&eacute;pertoire, la compilation des
+ biblioth&egrave;ques a.out ne sera plus support&eacute;. (i.e., cela
+ peut encore marcher si vous savez ce que vous faites, mais vous devrez
+ vous d&eacute;brouiller par vous-m&ecirc;me.)</para>
+
+ <note>
+ <para>Si un logiciel port&eacute; ne fonctionne qu'en a.out, affectez
+ &agrave; <makevar>BROKEN_ELF</makevar> une cha&icirc;ne de
+ caract&egrave;res qui d&eacute;crive pourquoi. Ces logiciels ne
+ seront pas g&eacute;n&eacute;r&eacute;s &agrave; la compilation sur
+ un syst&egrave;me ELF.</para>
+ </note>
+ </sect3>
+
+ <sect3>
+ <title><makevar>PORTOBJFORMAT</makevar></title>
+
+ <para><filename>bsd.port.mk</filename> affectera &agrave;
+ <makevar>PORTOBJFORMAT</makevar> la valeur <literal>aout</literal> ou
+ <literal>elf</literal> et l'exportera dans les environnements
+ <envar>CONFIGURE_ENV</envar>, <envar>SCRIPTS_ENV</envar> et
+ <envar>MAKE_ENV</envar>. (Ce sera toujours
+ <literal>aout</literal> sous 2.2-STABLE). Elle est aussi pass&eacute;e
+ &agrave; <maketarget>PLIST_SUB</maketarget> sous la forme
+ <literal>PORTOBJFORMAT=${PORTOBJFORMAT}</literal>. (Reportez-vous aux
+ explications concernant <literal>ldconfig</literal> plus bas.)</para>
+
+ <para>Cette variable est d&eacute;finie par la ligne suivante de
+ <filename>bsd.port.mk</filename>&nbsp;:</para>
+
+ <programlisting>
+PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aout</programlisting>
+
+ <para>Le processus de compilation des logiciels port&eacute;s devrait
+ toujours utiliser cette variable pour d&eacute;cider de ce qu'il faut
+ faire. Cependant, si la proc&eacute;dure
+ <filename>configure</filename> associ&eacute;e
+ d&eacute;tecte d&eacute;j&agrave; automatiquement un syst&egrave;me
+ ELF, il n'est pas n&eacute;cessaire de se r&eacute;f&eacute;rer
+ &agrave; <makevar>PORTOBJFORMAT</makevar>.</para>
+ </sect3>
+
+ <sect3>
+ <title>Compilation des biblioth&egrave;ques partag&eacute;es</title>
+
+ <para>Ce qui suit d&eacute;crit les diff&eacute;rences de gestion des
+ biblioth&egrave;ques partag&eacute;es entre les formats ELF et
+ a.out.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Versions de biblioth&egrave;ques partag&eacute;es</para>
+
+ <para>Une biblioth&egrave;que partag&eacute;e ELF doit s'appeler
+ <filename>libfoo.so.<replaceable>M</replaceable></filename>,
+ o&ugrave; <replaceable>M</replaceable> est un unique num&eacute;ro
+ de version et une biblioth&egrave;que partag&eacute;e a.out doit
+ s'appeler
+ <filename>libfoo.so.<replaceable>M</replaceable>.<replaceable>N</replaceable></filename>,
+ o&ugrave; <replaceable>M</replaceable> est le num&eacute;ro de
+ version majeure et
+ <replaceable>N</replaceable> celui de version mineure.
+ Ne confondez pas&nbsp;; n'installez <emphasis>jamais</emphasis> de
+ biblioth&egrave;que partag&eacute;e ELF appel&eacute;e
+ <filename>libfoo.so.<replaceable>N</replaceable>.<replaceable>M</replaceable></filename>
+ ou de biblioth&egrave;que partag&eacute;e A.out (ou de lien
+ symbolique dessus) appel&eacute;e
+ <filename>libfoo.so.<replaceable>N</replaceable></filename>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Ligne de commande de l'&eacute;diteur de liens</para>
+
+ <para>En supposant que <command>cc -shared</command>
+ soit utilis&eacute; plut&ocirc;t que <command>ld</command>
+ directement, la seule diff&eacute;rence est qu'il faut ajouter
+ <option>-Wl,-<replaceable>soname,libfoo.so.M</replaceable></option>
+ sur la ligne de commande pour ELF.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Il faut d&eacute;finir un lien symbolique de
+ <filename>libfoo.so</filename> vers
+ <filename>libfoo.so.<replaceable>N</replaceable></filename> pour que
+ les &eacute;diteurs de liens ELF s'y retrouvent. Comme il doit
+ &ecirc;tre aussi mentionn&eacute; dans
+ <filename>PLIST</filename>, cela ne posera pas de probl&egrave;me dans
+ le cas de a.out (pour certains logiciels port&eacute;s, il faut
+ m&ecirc;me que ce lien existe pour l'&eacute;dition de liens
+ dynamiques), vous devriez d&eacute;finir ce lien quelle que soit la
+ valeur de la variable <makevar>PORTOBJFORMAT</makevar>.</para>
+ </sect3>
+
+ <sect3>
+ <title><makevar>LIB_DEPENDS</makevar></title>
+
+ <para>Tous les <filename>Makefile</filename>s des logiciels
+ port&eacute;s sont &agrave; modifier pour supprimer les num&eacute;ros
+ de versions mineures de <makevar>LIB_DEPENDS</makevar>, ainsi que le
+ support des expressions r&eacute;quli&egrave;res (e.g.,
+ <literal>foo\\.1\\.\\(33|40\\)</literal> devient
+ <literal>foo.2</literal>.) La correspondance sera effectu&eacute;e par
+ <command>grep -wF</command>.</para>
+ </sect3>
+
+ <sect3>
+ <title><filename>PLIST</filename></title>
+
+ <para><filename>PLIST</filename> doit contenir les noms courts (ELF) des
+ biblioth&egrave;ques partag&eacute;es si leur num&eacute;ro de version
+ mineure a.out est z&eacute;ro et les noms longs (a.out) dans le cas
+ contraire. <filename>bsd.port.mk</filename> ajoutera automatiquement
+ le <literal>.0</literal> &agrave; la fin des noms courts de
+ biblioth&egrave;ques partag&eacute;es si
+ <makevar>PORTOBJFORMAT</makevar> vaut <literal>aout</literal>, et
+ supprimera le num&eacute;ro de version mineure des noms longs si
+ <makevar>PORTOBJFORMAT</makevar> vaut <literal>elf</literal>.</para>
+
+ <para>Au cas o&ugrave; vous auriez vraiment besoin d'installer des
+ biblioth&egrave;ques partag&eacute;es avec deux num&eacute;ros de
+ version sur un syst&egrave;me ELF ou avec un seul num&eacute;ro de
+ version sur un syst&egrave;me a.out (par exemple, pour les logiciels
+ port&eacute;s qui installent des biblioth&egrave;ques pour la
+ compatibilit&eacute; avec d'autres syst&egrave;mes d'exploitation),
+ d&eacute;finissez la variable <makevar>NO_FILTER_SHLIBS</makevar>.
+ Cela inhibera le m&eacute;canisme de modification de
+ <filename>PLIST</filename> d&eacute;crit au paragraphe
+ pr&eacute;c&eacute;dent.</para>
+ </sect3>
+
+ <sect3>
+ <title><literal>ldconfig</literal></title>
+
+ <para>La ligne <literal>ldconfig</literal> des
+ <filename>Makefile</filename>s doit contenir&nbsp;:</para>
+
+ <programlisting>
+${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ....
+ </programlisting>
+
+ <para>Dans <filename>PLIST</filename>, il doit y avoir&nbsp;:</para>
+
+ <programlisting>
+@exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -m ...
+@unexec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -R
+ </programlisting>
+
+ <para>Cela pour garantir que la bonne commande
+ <command>ldconfig</command> sera appel&eacute;e en fonction du format
+ du paquetage et non du format par d&eacute;faut sur le
+ syst&egrave;me.</para>
+ </sect3>
+ </sect2>
+
+ <sect2 id="porting-masterdir">
+ <title><makevar>MASTERDIR</makevar></title>
+
+ <para>Si votre logiciel port&eacute; a besoin de g&eacute;n&eacute;rer des
+ versions l&eacute;g&egrave;rement diff&eacute;rentes des paquetages en
+ fonction de la valeur d'une variable (la r&eacute;solution ou le format
+ de page par exemple), cr&eacute;ez un sous-r&eacute;pertoire par
+ paquetage pour qu'il soit plus facile aux utilisateurs de savoir quoi
+ faire, mais essayez de partager autant de fichiers que possible entre
+ logiciels port&eacute;s. Vous aurez normalement besoin d'un
+ <filename>Makefile</filename> tr&egrave;s court dans tous les
+ sous-r&eacute;pertoires &agrave; l'exception d'un seul. Dans ces
+ <filename>Makefile</filename>s, vous pouvez utiliser la variable
+ <makevar>MASTERDIR</makevar> pour indiquer le r&eacute;pertoire
+ o&ugrave; se trouvent le reste des fichiers. Utilisez aussi une variable
+ pour une partie de
+ <link linkend="porting-pkgname"><makevar>PKGNAME</makevar></link> de
+ fa&ccedil;on &agrave; ce que les paquetages aient des noms
+ diff&eacute;rents.</para>
+
+ <para>Cela sera plus clair avec un exemple. C'est un extrait de
+ <filename>japanese/xdvi300/Makefile</filename>&nbsp;:</para>
+
+ <programlisting>
+PKGNAME= ja-xdvi${RESOLUTION}-17
+ :
+# default
+RESOLUTION?= 300
+.if ${RESOLUTION} != 118 && ${RESOLUTION} != 240 && \
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${RESOLUTION} != 300 && ${RESOLUTION} != 400
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@${ECHO} "Erreur: valeur incorrecte pour RESOLUTION: \"${RESOLUTION}\""
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@${ECHO} "Les valeurs acceptables sont : 118, 240, 300 (par d&eacute;faut) et 400."
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@${FALSE}
+.endif</programlisting>
+
+ <para><filename>japanese/xdvi300</filename> contient aussi les fichiers
+ de &ldquo;<foreignphrase>patches</foreignphrase>&rdquo;, paquetages,
+ etc. Si vous y tapez <command>make</command>, la valeur de la
+ r&eacute;solution sera prise par d&eacute;faut (300) et le logiciel
+ port&eacute; compilera normalement.</para>
+
+ <para>Poue les autres r&eacute;solutions, voici le
+ <filename>xdvi118/Makefile</filename>
+ <emphasis>complet</emphasis>&nbsp;:</para>
+
+ <programlisting>
+RESOLUTION= 118
+MASTERDIR= ${.CURDIR}/../xdvi300
+
+.include ${MASTERDIR}/Makefile
+ </programlisting>
+
+ <para>(<filename>xdvi240/Makefile</filename> et
+ <filename>xdvi400/Makefile</filename> sont identiques). La
+ d&eacute;finition de <makevar>MASTERDIR</makevar> dit &agrave;
+ <filename>bsd.port.mk</filename> que le jeu de sous-r&eacute;pertoires
+ habituels tels que <makevar>PATCHDIR</makevar> et
+ <makevar>PKGDIR</makevar> se trouvent dans
+ <filename>xdvi300</filename>. La ligne <literal>RESOLUTION=118</literal>
+ surchargera la ligne <literal>RESOLUTION=300</literal> de
+ <filename>xdvi300/Makefile</filename> et le logiciel port&eacute; sera
+ compil&eacute; avec une r&eacute;solution de 118.</para>
+ </sect2>
+
+ <sect2>
+ <title>Versions des bibloth&egrave;ques partag&eacute;es</title>
+
+ <para>Lisez tout d'abord s'il vous pla&icirc;t nos
+ <link linkend="policies-shlib">Instructions &agrave; propos des versions
+ de biblioth&egrave;ques partag&eacute;es</link> pour savoir comment
+ g&eacute;rer de fa&ccedil;on g&eacute;n&eacute;rale les versions de
+ biblioth&egrave;ques. Ne supposez pas aveuglement que les auteurs des
+ logiciels savent ce qu'ils font; ce n'est, la plupart du temps, pas le
+ cas. Il est tr&egrave;s important que ces d&eacute;tails soient
+ attentivement examin&eacute;s, parce que nous nous trouvons dans une
+ situation assez particuli&egrave;re dans laquelle nous devons faire
+ cohabiter des douzaines de logiciels potentiellement incompatibles.
+ Les importations &agrave; la va-vite de logiciels ont pos&eacute; dans
+ le pass&eacute; de gros probl&egrave;mes en ce qui concerne les
+ biblioth&egrave;ques partag&eacute;es (vous &ecirc;tes vous jamais
+ demand&eacute; pourquoi le num&eacute;ro de version de la
+ biblioth&egrave;que partag&eacute;e <filename>jpeg-6b</filename>
+ &eacute;tait 0.9?). En cas de doute, envoyez un message &agrave;
+ &a.ports;. La plupart du temps, votre t&acirc;che se limitera &agrave;
+ d&eacute;terminer la bonne version de biblioth&egrave;que
+ partag&eacute;e et &agrave; appliquer les bonnes mises &agrave;
+ niveau&nbsp;-&nbsp;<foreignphrase>patches</foreignphrase>&nbsp;-&nbsp;pour
+ l'impl&eacute;menter.</para>
+
+ <para>N&eacute;anmoins, s'il y a une biblioth&egrave;que port&eacute;e qui
+ n'est qu'une m&ecirc;me version de la m&ecirc;me biblioth&egrave;que
+ partag&eacute;e d&eacute;j&agrave; pr&eacute;sente au catalogue, la
+ situation est beaucoup plus complexe. Bri&egrave;vement,
+ l'impl&eacute;mentation sous FreeBSD ne permet pas &agrave;
+ l'utilisateur de pr&eacute;ciser &agrave; l'&eacute;diteur de liens avec
+ quelle version de biblioth&egrave;que partag&eacute;e effectuer
+ l'&eacute;dition de liens (l'&eacute;diteur de liens choisira toujours
+ le num&eacute;ro de version le plus &eacute;lev&eacute;). Cela signifie
+ que, s'il y a sur le syst&egrave;me une
+ <filename>libfoo.so.3.2</filename> et une
+ <filename>libfoo.so.4.0</filename>, il n'y a aucun moyen de dire
+ &agrave; l'&eacute;diteur de liens qu'une application donn&eacute;e
+ doit &ecirc;tre li&eacute;e avec <filename>libfoo.so.3.2</filename>.
+ c'est totalement masqu&eacute; au moment de l'&eacute;dition de liens.
+ Dans ce cas, il n'y a qu'une seule solution, renommer la
+ <emphasis>base</emphasis> du nom de la biblioth&egrave;que
+ partag&eacute;e. Par exemple, modifier
+ <filename>libfoo.so.4.0</filename> en
+ <filename>libfoo4.so.1.0</filename> pour que les versions 3.2 et 4.0
+ puissent &ecirc;tre li&eacute;es avec d'autres logiciels
+ port&eacute;es.</para>
+ </sect2>
+
+ <sect2 id="porting-manpages">
+ <title>Pages de manuel</title>
+
+ <para>Les variables <makevar>MAN[1-9LN]</makevar> ajouteront
+ automatiquement toutes les pages de manuel &agrave;
+ <filename>pkg/PLIST</filename> (cela signifie que vous ne devez
+ <emphasis>pas</emphasis> lister les pages de manuel dans
+ <filename>PLIST</filename>&mdash;reportez-vous &agrave; la section
+ <link linkend="porting-plist">Modifier <filename>PLIST</filename> sur
+ la base des variables du <literal>make</literal></link> pour plus de
+ d&eacute;tails). Cela provoquera aussi la compression ou la
+ d&eacute;compression de pages de manuel selon le contenu de la variable
+ <makevar>NOMANCOMPRESS</makevar> dans
+ <filename>/etc/make.conf</filename>.</para>
+
+ <para>Pour indiquer si les pages de manuel doivent &ecirc;tre
+ compress&eacute;es &agrave; l'installation, utilisez la variable
+ <makevar>MANCOMPRESSED</makevar>. Cette variable peut prendre trois
+ valeurs, <literal>yes</literal>, <literal>no</literal> et
+ <literal>maybe</literal>. <literal>yes</literal> signifie que les pages
+ de manuel sont install&eacute;es d&eacute;j&agrave; compress&eacute;es,
+ <literal>no</literal> signifie qu'elles ne le sont pas, et
+ <literal>maybe</literal> signifie que le logiciel s'aligne toujours sur
+ la valeur de <makevar>NOMANCOMPRESS</makevar> de sorte que
+ <filename>bsd.port.mk</filename> n'a rien &agrave; faire de
+ sp&eacute;cial.</para>
+
+ <para><makevar>MANCOMPRESSED</makevar> est automatiquement d&eacute;finie
+ &agrave; <literal>yes</literal> si <makevar>USE_IMAKE</makevar> est
+ d&eacute;finie et que <makevar>NO_INSTALL_MANPAGES</makevar> ne l'est
+ pas, et &agrave; <literal>no</literal> sinon. Vous n'avez pas &agrave;
+ la d&eacute;finir explicitement, &agrave; moins que la valeur par
+ d&eacute;faut ne convienne pas &agrave; votre logiciel &agrave;
+ porter.</para>
+
+ <para>Si votre logiciel &agrave; porter installe ses pages de manuel
+ ailleurs que dans <makevar>PREFIX</makevar>, vous pouvez utiliser
+ <makevar>MANPREFIX</makevar> pour l'indiquer. Si ce sont seulement
+ certaines pages de manuel qui ne doivent pas &ecirc;tre
+ install&eacute;es dans le r&eacute;pertoire habituel, comme c'est le
+ cas pour certains modules port&eacute;s Perl, vous pouvez d&eacute;finir
+ des r&eacute;pertoires individualis&eacute;s pour les pages de manuel
+ avec <makevar>MAN<replaceable>section</replaceable>PREFIX</makevar>
+ (o&ugrave; <replaceable>sect</replaceable> est une valeur de
+ <literal>1-9</literal>, ou <literal>L</literal> ou
+ <literal>N</literal>).</para>
+
+ <para>Si vos pages de manuel vont dans des sous-r&eacute;pertoires
+ d&eacute;pendant de la langue, d&eacute;finissez les noms de ces langues
+ dans <makevar>MANLANG</makevar>. La valeur par d&eacute;faut de cette
+ variable est <literal>""</literal> (i.e., Anglais seulement).</para>
+
+ <para>Voici un exemple qui rassemble tout cela&nbsp;:</para>
+
+ <programlisting>
+MAN1= foo.1
+MAN3= bar.3
+MAN4= baz.4
+MANLANG= "" ja
+MAN3PREFIX= ${PREFIX}/share/foobar
+MANCOMPRESSED= yes</programlisting>
+
+ <para>Ce qui veut dire que six fichiers sont install&eacute;s par ce
+ logiciel port&eacute;&nbsp;:</para>
+
+ <programlisting>
+${PREFIX}/man/man1/foo.1.gz
+${PREFIX}/man/ja/man1/foo.1.gz
+${PREFIX}/share/foobar/man/man3/bar.3.gz
+${PREFIX}/share/foobar/man/ja/man3/bar.3.gz
+${PREFIX}/man/man4/baz.4.gz
+${PREFIX}/man/ja/man4/baz.4.gz</programlisting>
+ </sect2>
+
+ <sect2>
+ <title>Les logiciels port&eacute;s qui ont besoin de Motif</title>
+
+ <para>Il y a de nombreux programmes qui ont besoin d'une biblioth&egrave;que
+ Motif pour compiler (disponible aupr&egrave;s de plusieurs distributeurs
+ commerciaux, et dont il existe un clone libre, qui est capable de faire
+ fonctionner pas mal d'applications, dans
+ <filename>x11-toolkits/lesstif</filename>). Comme c'est un bo&icirc;te
+ &agrave; outils tr&egrave;s utilis&eacute;e et que ses licences
+ autorisent habituellement la redistribution de binaires si la
+ biblioth&egrave;que est li&eacute;e statiquement, nous avons
+ pr&eacute;vu un m&eacute;canisme pour g&eacute;rer les logiciels
+ port&eacute;s qui ont besoin de Motif de fa&ccedil;on &agrave; pouvoir
+ facilement compiler des binaires soit li&eacute;s dynamiquement (pour
+ ceux qui utilisent le catalogue des logiciels port&eacute;s) ou
+ statiquement (pour ceux qui distribuent des paquetages).</para>
+
+ <sect3>
+ <title><makevar>REQUIRES_MOTIF</makevar></title>
+
+ <para>Si votre logiciel &agrave; porter a besoin de Motif,
+ d&eacute;finissez cette variable dans le
+ <filename>Makefile</filename>. cela emp&eacute;chera que ceux qui
+ ne disposent pas de Motif puissent ne serait-ce qu'essayer de
+ compiler votre logiciel.</para>
+ </sect3>
+
+ <sect3>
+ <title><makevar>MOTIFLIB</makevar></title>
+
+ <para>Cette variable sera d&eacute;finie par
+ <filename>bsd.port.mk</filename> pour r&eacute;f&eacute;rencer la
+ version appropri&eacute;e de la biblioth&egrave;que Motif. Ajoutez
+ s'il vous pla&icirc;t un
+ correctif&nbsp;-&nbsp;<foreignphrase>patch</foreignphrase>&nbsp;-&nbsp;au
+ source pour qu'il utilise cette variable chaque fois que la
+ biblioth&egrave;que Motif est r&eacute;f&eacute;renc&eacute; dans le
+ <filename>Makefile</filename> ou le
+ <filename>Imakefile</filename>.</para>
+
+ <para>Il y a deux cas de figure courants&nbsp;:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Si le logiciel &agrave; porter d&eacute;signe la
+ biblioth&egrave;que Motif avec <literal>-lXm</literal> dans son
+ <filename>Makefile</filename> ou <filename>Imakefile</filename>,
+ remplacez-le simplement par
+ <literal>&dollar;{MOTIFLIB}</literal>,</para>
+ </listitem>
+
+ <listitem>
+ <para>Si le logiciel &agrave; porter utilise
+ <literal>XmClientLibs</literal> dans son
+ <filename>Imakefile</filename>, remplacez-le par
+ <literal>&dollar;{MOTIFLIB} &dollar;{XTOOLLIB}
+ &dollar;{XLIB}</literal>.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Remarquez que la variable <makevar>MOTIFLIB</makevar> est
+ (habituellement) remplac&eacute;e par
+ <literal>-L/usr/X11R6/lib -lXm</literal> ou
+ <literal>/usr/X11R6/lib/libXm.a</literal>, il n'y a donc pas besoin
+ d'y inclure le <literal>-L</literal> ou <literal>-l</literal>.</para>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Polices X11</title>
+
+ <para>Si votre logiciel &agrave; porter installe des polices de
+ caract&egrave;res pour le Syst&egrave;me X Window, mettez-les dans
+ <filename><makevar>X11BASE</makevar>/lib/X11/fonts/local</filename>.
+ Ce r&eacute;pertoire est une nouveaut&eacute; de XFree86 version 3.3.3.
+ S'il n'existe pas, cr&eacute;ez-le s'il vous pla&icirc;t et
+ &eacute;mettez un message pour sugg&eacute;rer &agrave; l'utilisateur de passer &agrave; la version 3.3.3, ou ult&eacute;rieure, de XFree86, ou
+ ajoutez au moins ce r&eacute;pertoire aux chemins d'acc&egrave;s aux
+ polices de caract&egrave;res dans
+ <filename>/etc/XF86Config</filename>.</para>
+ </sect2>
+
+ <sect2>
+ <title>Fichiers &ldquo;Info&rdquo;</title>
+
+ <para>La nouvelle version de <application>texinfo</application> (depuis
+ 2.2.2-RELEASE) comporte un utilitaire appel&eacute;
+ <command>install-info</command> pour ajouter ou supprimer des
+ entr&eacute;es dans le fichier <filename>dir</filename>. Si votre
+ logiciel &agrave; porter installe des documents &ldquo;info&rdquo;,
+ suivez s'il vous pla&icirc;t les instructions ci-dessous pour que votre
+ logiciel port&eacute;/pr&eacute;compil&eacute; mette correctement
+ &agrave; jour le fichier
+ <filename><makevar>PREFIX</makevar>/info/dir</filename> de
+ l'utilisateur. (Excusez-moi de la longueur de cette section, mais il
+ est imp&eacute;ratif d'assembler correctement ensemble tous les fichiers
+ &ldquo;info;&rdquo;. Si c'est proprement fait, il en r&eacute;sultera
+ une <emphasis>belle</emphasis> &eacute;dition, accordez-moi donc s'il
+ vous pla&icirc;t votre attention.)</para>
+
+ <para>Voici ce que vous devez en premier lieu savoir (pour porter un
+ logiciel)&nbsp;:<footnote><para>Traduction&nbsp;:</para>
+ <screen>&prompt.user; <userinput>install-info --help</userinput>
+install-info [OPTION]... [INFO-FILE [DIR-FILE]]
+ Installe INFO-FILE dans le r&eacute;pertoire &ldquo;Info&rdquo; DIR-FILE.
+
+Options:
+--delete supprime les entr&eacute;es existantes dans INFO-FILE;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n'ins&egrave;re aucune nouvelle entr&eacute;e.
+&nbsp;:
+--entry=TEXT Ins&egrave;re un entr&eacute;e pour le r&eacute;pertoire &ldquo;Info;&rdquo;.
+&nbsp;:
+--section=SEC Ajoute les entr&eacute;es de ce fichier &agrave; la section SEC de ce r&eacute;pertoire. :</screen></footnote></para>
+
+ <screen>&prompt.user; <userinput>install-info --help</userinput>
+install-info [OPTION]... [INFO-FILE [DIR-FILE]]
+ Install INFO-FILE in the Info directory file DIR-FILE.
+
+Options:
+--delete Delete existing entries in INFO-FILE;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;don't insert any new entries.
+&nbsp;:
+--entry=TEXT Insert TEXT as an Info directory entry.
+&nbsp;:
+--section=SEC Put this file's entries in section SEC of the directory. :</screen>
+
+ <note>
+ <para>Ce programme n'installe en fait <emphasis>pas</emphasis> de
+ fichiers &ldquo;info&rdquo;; il ne fait qu'ins&eacute;rer ou supprimer
+ des entr&eacute;es au fichier <filename>dir</filename>.</para>
+ </note>
+
+ <para>Voici une proc&eacute;dure en sept &eacute;tapes pour adapter les
+ logiciels &agrave; porter pour qu'ils utilisent
+ <command>install-info</command>. Je prendrais comme exemple
+ <filename>editors/emacs</filename>&nbsp;:</para>
+
+ <procedure>
+ <step>
+ <para>Consultez les sources <application>texinfo</application> et
+ construisez un fichier de mise &agrave; jour qui ins&egrave;re
+ des instructions <literal>@dircategory</literal> et
+ <literal>@direntry</literal> aux fichiers o&ugrave; il n'y en a pas.
+ Voici un extrait de mon
+ &ldquo;<foreignphrase>patch</foreignphrase>&rdquo;&nbsp;:</para>
+
+ <programlisting>
+--- ./man/vip.texi.org Fri Jun 16 15:31:11 1995
++++ ./man/vip.texi Tue May 20 01:28:33 1997
+@@ -2,6 +2,10 @@
+
+&nbsp;@setfilename ../info/vip
+&nbsp;@settitle VIP
++@dircategory The Emacs editor and associated tools
++@direntry
++* VIP: (vip). A VI-emulation for Emacs.
++@end direntry
+
+&nbsp;@iftex
+&nbsp;@finalout
+&nbsp;:
+ </programlisting>
+
+ <para>Cela doit pouvoir se passer d'explications. De nombreux auteurs
+ mettent dans leur arborescence des sources un fichier
+ <filename>dir</filename> qui contient toutes les entr&eacute;es dont
+ vous avez besoin, regardez donc &agrave; droite et &agrave; gauche
+ avant de le cr&eacute;er vous-m&ecirc;me. Veillez aussi &agrave;
+ consulter les entr&eacute;es pour les logiciels en rapport avec le
+ vo&circ;tre, pour que vos noms de sections et indentations soient en
+ coh&eacute;rence (nous recommandons de mettre les libell&eacute;s
+ apr&egrave;s la quatri&egrave;me position de tabulation).</para>
+
+ <note>
+ <para>Remarquez que vous ne pouvez mettre qu'une entr&eacute;e
+ &ldquo;info&rdquo; par fichier, &agrave; cause d'un bogue
+ dans <command>install-info --delete</command>, qui ne supprime
+ que la premi&egrave;re entr&eacute;e de la section
+ <literal>@direntry</literal> si vous en indiquez plusieurs.</para>
+ </note>
+
+ <para>Vous pouvez donner les entr&eacute;es <literal>dir</literal>
+ comme arguments &agrave; <command>install-info</command>
+ (<option>--section</option> et <option>--entry</option>) au lieu de
+ rectifier les sources de <application>texinfo</application>. Je ne
+ trouve pas que cela soit une bonne id&eacute;e parce que vous devez
+ r&eacute;p&eacute;ter la m&ecirc;me information &agrave; trois
+ endroits diff&eacute;rents (<filename>Makefile</filename> et
+ <literal>@exec</literal>/<literal>@unexec</literal> de
+ <filename>PLIST</filename>; voyez plus bas). N&eacute;anmoins, si
+ vous avez des fichiers &ldquo;info&rdquo; en Japonais (ou
+ cod&eacute;s sur plusieurs octets), vous devrez utiliser les
+ param&egrave;tres suppl&eacute;mentaires
+ d'<command>install-info</command> parce que
+ <command>makeinfo</command> ne sait pas g&eacute;rer ces sources
+ <application>texinfo</application>. (Consultez le
+ <filename>Makefile</filename> et <filename>PLIST</filename> de
+ <filename>japanese/skk</filename> pour avoir un exemple de la
+ mani&egrave;re de proc&eacute;der.)</para>
+ </step>
+
+ <step>
+ <para>Retournez dans le r&eacute;pertoire de votre logiciel
+ port&eacute;, faites un <command>make clean; make</command> et
+ v&eacute;rifiez que les fichiers &ldquo;info&rdquo; sont
+ r&eacute;g&eacute;n&eacute;r&eacute;s &agrave; partir des sources
+ <application>texinfo</application>. Comme ces derniers sont plus
+ r&eacute;cents que les fichiers &ldquo;info&rdquo;, ils doivent
+ &ecirc;tre reconstruits par le <command>make</command>; mais de
+ nombreux <filename>Makefile</filename>s ne comportent pas les
+ d&eacute;pendances correctes pour les fichiers &ldquo;info&rdquo;.
+ Dans le cas d'<command>emacs</command>, j'ai d&ucirc; rectifier le
+ <filename>Makefile.in</filename> principal pour qu'il aille dans le
+ sous-r&eacute;pertoire <filename>man</filename> pour reconstruire
+ les pages &ldquo;info&rdquo;&nbsp;:</para>
+
+ <programlisting>
+--- ./Makefile.in.org Mon Aug 19 21:12:19 1996
++++ ./Makefile.in Tue Apr 15 00:15:28 1997
+@@ -184,7 +184,7 @@
+&nbsp;# Sous-r&eacute;pertoires &agrave; reconstruire r&eacute;cursivement. `lisp' n'est pas inclus
+&nbsp;# parce que les fichiers lisp compil&eacute;s font partie de la distribution
+&nbsp;# et que vous ne pouvez pas les recompiler sans installer d'abord Emacs
+-SUBDIR = lib-src src
++SUBDIR = lib-src src man
+
+&nbsp;# makefile des sous-r&eacute;pertoires list&eacute;s dans $SUBDIR.
+&nbsp;SUBDIR_MAKEFILES = lib-src/Makefile man/Makefile src/Makefile oldXMenu/Makefile lwlib/Makefile
+--- ./man/Makefile.in.org Thu Jun 27 15:27:19 1996
++++ ./man/Makefile.in Tue Apr 15 00:29:52 1997
+@@ -66,6 +66,7 @@
+&nbsp;${srcdir}/gnu1.texi \
+&nbsp;${srcdir}/glossary.texi
+
++all: info
+&nbsp;info: $(INFO_TARGETS)
+
+&nbsp;dvi: $(DVI_TARGETS)
+ </programlisting>
+
+ <para>La deuxi&egrave;me modification est n&eacute;cessaire parce que
+ la cible par d&eacute;faut dans le sous-r&eacute;pertoire
+ <filename>man</filename> s'appelle <maketarget>info</maketarget>,
+ alors que le <filename>Makefile</filename> veut ex&eacute;cuter la
+ cible <maketarget>all</maketarget>. J'ai aussi supprim&eacute;
+ l'installation du fichier &ldquo;info&rdquo; parce que nous en
+ avons d&eacute;j&agrave; un de m&ecirc;me nom dans
+ <filename>/usr/share/info</filename> (cette correction
+ n'appara&icirc;t pas dans l'exemple).</para>
+ </step>
+
+ <step>
+ <para>Si le fichier <filename>dir</filename> est install&eacute; par
+ des instructions quelque part dans le <filename>Makefile</filename>,
+ supprimez-les. Votre logiciel &agrave; porter ne doit pas le faire.
+ Supprimez aussi toutes les autres commandes qui
+ &ldquo;saliraient&rdquo; le fichier <filename>dir</filename>.</para>
+
+ <programlisting>
+--- ./Makefile.in.org Mon Aug 19 21:12:19 1996
++++ ./Makefile.in Mon Apr 14 23:38:07 1997
+@@ -368,14 +368,8 @@
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;then \
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(cd ${infodir}; \
+- if [ -f dir ]; then \
+- if [ ! -f dir.old ]; then mv -f dir dir.old; \
+- else mv -f dir dir.bak; fi; \
+- fi; \
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cd ${srcdir}/info ; \
+- (cd $${thisdir}; ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir); \
+- (cd $${thisdir}; chmod a+r ${infodir}/dir); \
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for f in ccmode* cl* dired-x* ediff* emacs* forms* gnus* info* message* mh-e* sc* vip*; do \
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(cd $${thisdir}; \
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f; \
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chmod a+r ${infodir}/$$f); \
+ </programlisting>
+ </step>
+
+ <step>
+ <para>(Cette &eacute;tape n'est n&eacute;cessaire que si vous modifiez
+ un logiciel port&eacute; d&eacute;j&agrave; existant.) Consultez
+ <filename>pkg/PLIST</filename> et supprimez tout ce qui essaye
+ d'appliquer des rectificatifs &agrave;
+ <filename>info/dir</filename>. Cela peut se produire dans
+ <filename>pkg/INSTALL</filename> ou un autre fichier, faites donc
+ une recherche d&eacute;taill&eacute;e&nbsp;:</para>
+
+ <programlisting>
+Index: pkg/PLIST
+===================================================================
+RCS file: /usr/cvs/ports/editors/emacs/pkg/PLIST,v
+retrieving revision 1.15
+diff -u -r1.15 PLIST
+--- PLIST 1997/03/04 08:04:00 1.15
++++ PLIST 1997/04/15 06:32:12
+@@ -15,9 +15,6 @@
+&nbsp;man/man1/emacs.1.gz
+&nbsp;man/man1/etags.1.gz
+&nbsp;man/man1/ctags.1.gz
+-@unexec cp %D/info/dir %D/info/dir.bak
+-info/dir
+-@unexec cp %D/info/dir.bak %D/info/dir
+&nbsp;info/cl
+&nbsp;info/cl-1
+&nbsp;info/cl-2
+ </programlisting>
+ </step>
+
+ <step>
+ <para>Ajoutez une cible <maketarget>post-install</maketarget> au
+ <filename>Makefile</filename> pour cr&eacute;er un fichier
+ <filename>dir</filename> s'il n'y en a pas. Appelez aussi
+ <maketarget>install-info</maketarget> pour les fichiers
+ &ldquo;info&rdquo; install&eacute;s&nbsp;:</para>
+
+ <programlisting>
+Index: Makefile
+===================================================================
+RCS file: /usr/cvs/ports/editors/emacs/Makefile,v
+retrieving revision 1.26
+diff -u -r1.26 Makefile
+--- Makefile 1996/11/19 13:14:40 1.26
++++ Makefile 1997/05/20 10:25:09 1.28
+@@ -20,5 +20,11 @@
+&nbsp;post-install:
+&nbsp;.for file in emacs-19.34 emacsclient etags ctags b2m
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strip ${PREFIX}/bin/${file}
+&nbsp;.endfor
++ if [ ! -f ${PREFIX}/info/dir ]; then \
++ ${SED} -ne '1,/Menu:/p' /usr/share/info/dir > ${PREFIX}/info/dir; \
++ fi
++.for info in emacs vip viper forms gnus mh-e cl sc dired-x ediff ccmode
++ install-info ${PREFIX}/info/${info} ${PREFIX}/info/dir
++.endfor
+
+&nbsp;.include &lt;bsd.port.mk&gt;
+ </programlisting>
+
+ <para>N'utilisez rien d'autre que
+ <filename>/usr/share/info/dir</filename> et la commande ci-dessus
+ pour cr&eacute;er un nouveau fichier &ldquo;info&rdquo;. J'ai en
+ fait ajout&eacute; les trois premi&egrave;res lignes du rectificatif
+ ci-dessus &agrave; <filename>bsd.port.mk</filename> pour le cas
+ o&grave; vous ne l'auriez pas fait par vous-m&ecirc;me dans
+ <filename>PLIST</filename>.</para>
+ </step>
+
+ <step>
+ <para>Editez <filename>PLIST</filename> et ajoutez les instructions
+ <literal>@exec</literal> ainsi que <literal>@unexec</literal>
+ &eacute;quivalentes pour <command>pkg_delete</command>. Vous n'avez
+ pas besoin de supprimer <filename>info/dir</filename> avec
+ <literal>@unexec</literal>&nbsp;:</para>
+
+ <programlisting>
+Index: pkg/PLIST
+===================================================================
+RCS file: /usr/cvs/ports/editors/emacs/pkg/PLIST,v
+retrieving revision 1.15
+diff -u -r1.15 PLIST
+--- PLIST 1997/03/04 08:04:00 1.15
++++ PLIST 1997/05/20 10:25:12 1.17
+@@ -16,7 +14,15 @@
+&nbsp;man/man1/etags.1.gz
+&nbsp;man/man1/ctags.1.gz
++@unexec install-info --delete %D/info/emacs %D/info/dir
+&nbsp;:
++@unexec install-info --delete %D/info/ccmode %D/info/dir
+&nbsp;info/cl
+&nbsp;info/cl-1
+@@ -87,6 +94,18 @@
+&nbsp;info/viper-3
+&nbsp;info/viper-4
++@exec [ -f %D/info/dir ] || sed -ne '1,/Menu:/p' /usr/share/info/dir > %D/info/dir
++@exec install-info %D/info/emacs %D/info/dir
+&nbsp;:
++@exec install-info %D/info/ccmode %D/info/dir
+&nbsp;libexec/emacs/19.34/i386--freebsd/cvtmail
+&nbsp;libexec/emacs/19.34/i386--freebsd/digest-doc
+ </programlisting>
+
+ <note>
+ <para>Les commandes <literal>@unexec install-info --delete</literal>
+ doivent &ecirc;tre plac&eacute;es avant les fichiers
+ &ldquo;info&rdquo; eux-m&ecirc;mes pour qu'elles puissent lire
+ les fichiers. Il faut aussi placer les commandes
+ <literal>@exec install-info</literal> apr&egrave;s les fichiers
+ &ldquo;info&rdquo; et la commande <literal>@exec</literal> qui
+ cr&eacute;e le fichier <filename>dir</filename> file.</para>
+ </note>
+ </step>
+
+ <step>
+ <para><link linkend="porting-testing">Testez</link> et admirez votre
+ oeuvre. <!-- smiley --><emphasis>:)</emphasis>. V&eacute;rifiez le
+ fichier <filename>dir</filename> avant et apr&egrave;s chaque
+ &eacute;tape.</para>
+ </step>
+ </procedure>
+ </sect2>
+
+ <sect2>
+ <title>Le sous r&eacute;pertoire <filename>pkg/</filename></title>
+
+ <para>Il y a quelques astuces dont je n'ai pas encore parl&eacute;
+ &agrave; propos du sous-r&eacute;pertoire <filename>pkg/</filename> qui
+ sont parfois utiles.</para>
+
+ <sect3 id="porting-message">
+ <title><filename>MESSAGE</filename></title>
+
+ <para>Si vous avez besoin d'afficher un message lors de l'installation,
+ vous pouvez le mettre dans <filename>pkg/MESSAGE</filename>. Cette
+ fonctionnalit&eacute; sert souvent &agrave; informer des &eacute;tapes
+ d'installation qui doivent &ecirc;tre effectu&eacute;es apr&egrave;s
+ <command>pkg_add</command> ou pour afficher des informations &agrave;
+ propos de la licence.</para>
+
+ <note>
+ <para>Il n'y a pas besoin d'ajouter le fichier
+ <filename>pkg/MESSAGE</filename> &agrave;
+ <filename>pkg/PLIST</filename>. D'autre part, il ne sera pas
+ affich&eacute; automatiquement si l'utilisateur installe le logiciel
+ port&eacute; au lieu du logiciel pr&eacute;compil&eacute;, vous
+ devriez donc probablement l'afficher vous-m&ecirc;me depuis la cible
+ <maketarget>post-install</maketarget>.</para>
+ </note>
+ </sect3>
+
+ <sect3>
+ <title><filename>INSTALL</filename></title>
+
+ <para>S'il faut ex&eacute;cuter des commandes lors de l'installation du
+ logiciel pr&eacute;compil&eacute; avec <command>pkg_add</command>,
+ vous pouvez le faire avec la proc&eacute;dure
+ <filename>pkg/INSTALL</filename>. Cette proc&eacute;dure sera
+ automatiquement ajout&eacute;e au paquetage et ex&eacute;cut&eacute;e
+ deux fois par <command>pkg_add</command>. La premi&egrave;re fois sous
+ la forme <literal>INSTALL &dollar;{PKGNAME} PRE-INSTALL</literal> et
+ la seconde fois sous la forme
+ <literal>INSTALL &dollar;{PKGNAME} POST-INSTALL</literal>. Vous pouvez
+ tester <literal>&dollar;2</literal> pour savoir comment la
+ proc&eacute;dure a &eacute;t&eacute; appel&eacute;e. La variable
+ d'environnement <envar>PKG_PREFIX</envar> contient le chemin
+ d'acc&egrave;s au r&eacute;pertoire d'installation du logiciel.
+ Reportez-vous aux pages de manuel de &man.pkg.add.1; pour plus
+ d'informations.</para>
+
+ <note>
+ <para>Cette proc&eacute;dure n'est pas ex&eacute;cut&eacute;e
+ automatiquement si le logiciel port&eacute; est install&eacute; avec
+ <command>make install</command>. Si vous avez besoin qu'elle le
+ soit, vous devrez l'appeler explicitement depuis le
+ <filename>Makefile</filename> du logiciel port&eacute;.</para>
+ </note>
+ </sect3>
+
+ <sect3>
+ <title><filename>REQ</filename></title>
+
+ <para>Si votre logiciel &agrave; porter doit d&eacute;terminer s'il doit
+ &ecirc;tre install&eacute; ou non, vous pouvez cr&eacute;er une
+ proc&eacute;dure
+ <filename>pkg/REQ</filename>&nbsp;-&nbsp;&ldquo;requis&rdquo;. Elle
+ sera appel&eacute;e automatiquement lors de l'installation et de la
+ d&eacute;sinstallation pour d&eacute;cider s'il faut ou non effectuer
+ l'op&eacute;ration.</para>
+ </sect3>
+
+ <sect3 id="porting-plist">
+ <title>Modifier <filename>PLIST</filename> sur la base de variables
+ du <command>make</command></title>
+
+ <para>Certains logiciels port&eacute;s, en particulier les logiciels
+ <literal>p5-...</literal>, doivent modifier leur
+ <filename>PLIST</filename> selon les options avec lesquelles ils sont
+ configur&eacute;s (ou la version de perl, dans le cas des logiciels
+ <literal>p5-...</literal>). Pour rendre les choses plus faciles,
+ toutes les occurrences de <literal>%%OSREL%%</literal>,
+ <literal>%%PERL_VER%%</literal> et <literal>%%PERL_VERSION%%</literal>
+ dans la <filename>PLIST</filename> seront remplac&eacute;es par les
+ valeurs appropri&eacute;es. La valeur de <literal>%%OSREL%%</literal>
+ est le num&eacute;ro de version du syst&egrave;me d'exploitation
+ (e.g., <literal>2.2.7</literal>). <literal>%%PERL_VERSION%%</literal>
+ est le num&eacute;ro de version complet de perl (e.g.,
+ <literal>5.00502</literal>) et <literal>%%PERL_VER%%</literal> est le
+ num&eacute;ro de version de perl, sans le niveau de
+ &ldquo;<foreignphrase>patch</foreignphrase>&rdquo; (e.g.,
+ <literal>5.005</literal>).</para>
+
+ <para>Si vous avez besoin d'autres substitutions, vous pouvez renseigner
+ la variable <makevar>PLIST_SUB</makevar> avec une liste de doublets
+ <literal><replaceable>VAR</replaceable>=<replaceable>VALUE</replaceable></literal>
+ et toutes les occurrences de
+ <literal>%%<replaceable>VAR</replaceable>%%</literal> seront
+ remplac&eacute;es par <replaceable>VALUE</replaceable> dans la
+ <filename>PLIST</filename>.</para>
+
+ <para>Par exemple, si votre logiciel &agrave; porter installe de
+ nombreux fichiers dans un sous-r&eacute;pertoire diff&eacute;rent
+ selon la version, vous pouvez mettre quelque chose comme&nbsp;:</para>
+
+ <programlisting>
+OCTAVE_VERSION= 2.0.13
+PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}
+ </programlisting>
+
+ <para>dans le <filename>Makefile</filename> et utiliser
+ <literal>%%OCTAVE_VERSION%%</literal> chaque fois que la version
+ appara&icirc;t dans la <filename>PLIST</filename>. De cette
+ fa&ccedil;on, lorsque vous mettez &agrave; jour le logiciel, vous
+ n'aurez pas &agrave; modifier des douzaines (dans certains cas, des
+ centaines) de lignes dans la <filename>PLIST</filename>.</para>
+
+ <para>Cette substitution (de m&ecirc;me que l'ajout des
+ <link linkend="porting-manpages">pages de manuel</link>) est faite
+ entre les cibles <maketarget>do-install</maketarget> et
+ <maketarget>post-install</maketarget>, en lisant
+ <makevar>PLIST</makevar> et en &eacute;crivant dans
+ <makevar>TMPPLIST</makevar> (par d&eacute;faut&nbsp;:
+ <filename><makevar>WRKDIR</makevar>/.PLIST.mktmp</filename>). Si votre
+ logiciel &agrave; porter construit <makevar>PLIST</makevar> &agrave;
+ la vol&eacute;e, faites-le alors dans ou avant
+ <maketarget>do-install</maketarget>. De plus, si votre logiciel a
+ besoin de modifier le fichier obtenu, faites-le dans
+ <maketarget>post-install</maketarget> et dans un fichier appel&eacute;
+ <makevar>TMPPLIST</makevar>.</para>
+ </sect3>
+
+ <sect3>
+ <title id="porting-pkgsubdir">Changer les noms des fichiers du
+ sous-r&eacute;pertoire <filename>pkg</filename></title>
+
+ <para>Tous les noms de fichier du sous-r&eacute;pertoire
+ <filename>pkg</filename> sont d&eacute;finis par des variables, vous
+ pouvez donc les changer dans votre <filename>Makefile</filename> si
+ besoin est. C'est particuli&egrave;rement utile si vous partager le
+ m&ecirc;me sous-r&eacute;pertoire <filename>pkg</filename> entre
+ plusieurs logiciels port&eacute;s ou devez &eacute;crire dans l'un
+ de ces fichiers (voyez la section
+ <link linkend="porting-wrkdir">Ecrire ailleurs que dans
+ <makevar>WRKDIR</makevar></link> pour savoir pourquoi c'est une
+ mauvaise id&eacute;e d'&eacute;crire directement dans le
+ sous-r&eacute;pertoire <filename>pkg</filename>.</para>
+
+ <para>Voici la liste de ces variables et leurs valeurs par
+ d&eacute;faut&nbsp;:</para>
+
+ <informaltable frame="none">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Variable</entry>
+ <entry>Valeur par d&eacute;faut</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry><makevar>COMMENT</makevar></entry>
+ <entry><literal>${PKGDIR}/DESCR</literal></entry>
+ </row>
+
+ <row>
+ <entry><makevar>DESCR</makevar></entry>
+ <entry><literal>${PKGDIR}/DESCR</literal></entry>
+ </row>
+
+ <row>
+ <entry><makevar>PLIST</makevar></entry>
+ <entry><literal>${PKGDIR}/PLIST</literal></entry>
+ </row>
+
+ <row>
+ <entry><makevar>PKGINSTALL</makevar></entry>
+ <entry><literal>${PKGDIR}/PKGINSTALL</literal></entry>
+ </row>
+
+ <row>
+ <entry><makevar>PKGDEINSTALL</makevar></entry>
+ <entry><literal>${PKGDIR}/PKGDEINSTALL</literal></entry>
+ </row>
+
+ <row>
+ <entry><makevar>PKGREQ</makevar></entry>
+ <entry><literal>${PKGDIR}/REQ</literal></entry>
+ </row>
+
+ <row>
+ <entry><makevar>PKGMESSAGE</makevar></entry>
+ <entry><literal>${PKGDIR}/MESSAGE</literal></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>Modifiez s'il vous pla&icirc;t ces variables plut&ocirc;t que de
+ surcharger <makevar>PKG_ARGS</makevar>. Si vous modifiez
+ <makevar>PKG_ARGS</makevar>, ces fichiers ne seront pas correctement
+ install&eacute;s dans <filename>/var/db/pkg</filename> lors de
+ l'installation sous forme de logiciel port&eacute;.</para>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Probl&egrave;mes de licence</title>
+
+ <para>Certains logiciels ont des licences qui imposent des restrictions ou
+ peuvent violer la loi. (Le brevet de PKP sur la cryptographie &grave;
+ cl&eacute; publique et ITAR&nbsp;-&nbsp;exportation de logiciel de
+ cryptographie&nbsp;-&nbsp;pour ne citer que deux exemples). Ce que nous
+ pouvons en faire varie beaucoup, selon les termes exacts de leurs
+ licences respectives.</para>
+
+ <note>
+ <para>Il est de votre responsabilit&eacute;, pour le logiciel que vous
+ porter, de lire les termes de la licence et de vous assurer que le
+ projet FreeBSD ne pourra pas &ecirc;tre accus&eacute; de les violer en
+ redistribuant le source ou les binaires compil&eacute;s que ce soit
+ par ftp ou sur CD-ROM. En cas de doute, contactez-la &a.ports;.</para>
+ </note>
+
+ <para>Il y a deux variables que vous pouvez d&eacute;finir dans le
+ <filename>Makefile</filename> pour g&eacute;rer les situations qui se
+ produisent souvent&nbsp;:</para>
+
+ <orderedlist>
+ <listitem>
+ <para>Si le logiciel &agrave; porter a une licence de type &ldquo;non
+ commercialisable&rdquo; affectez &agrave; la variable
+ <makevar>NO_CDROM</makevar> une cha&icirc;ne de caract&egrave;res
+ expliquant pourquoi. Nous v&eacute;rifierons que ces logiciels
+ ne soient pas sur le CD-ROM au moment de la parution. Les archives
+ du source et le paquetage seront cependant disponibles par
+ ftp.</para>
+ </listitem>
+
+ <listitem>
+ <para>S'il faut recompiler le logiciel port&eacute; sur chaque site,
+ ou si le logiciel pr&eacute;compil&eacute; ne peut pas &ecirc;tre
+ redistribu&eacute; du fait de sa licence, affectez &agrave; la
+ variable <makevar>NO_PACKAGE</makevar> une cha&icirc;ne de
+ caract&egrave;res expliquant pourquoi. Nous v&eacute;rifierons que
+ ces logiciels pr&eacute;compil&eacute;s ne soient pas sur le site
+ ftp ni sur le CD-ROM au moment de la parution. Les archives du
+ source seront cependant disponibles sur les deux.</para>
+ </listitem>
+
+ <listitem>
+ <para>S'il y a des restrictions l&eacute;gales &agrave; l'utilisation
+ du logiciel (e.g., cryptographie) ou que la licence est du type
+ &ldquo;pas d'usage commercial&rdquo;, affectez &agrave; la variable
+ <makevar>RESTRICTED</makevar> une cha&icirc;ne de caract&egrave;res
+ expliquant pourquoi. Pour ces logiciels, ni les archives du source
+ ni le logiciel pr&eacute;compil&eacute; ne seront m&ecirc;me
+ disponibles sur nos sites ftp.</para>
+ </listitem>
+ </orderedlist>
+
+ <note>
+ <para>La Licence Publique G&eacute;n&eacute;rale
+ GNU&nbsp;-&nbsp;<foreignphrase>GNU General Public License
+ (GPL)</foreignphrase>, version 1 et 2, ne pose normalement pas de
+ probl&egrave;me pour les logiciels port&eacute;s.</para>
+ </note>
+
+ <note>
+ <para>Si vous &ecirc;tes
+ &ldquo;<foreignphrase>committer</foreignphrase>&rdquo;, veillez
+ &agrave; mettre aussi &agrave; jour le fichier
+ <filename>ports/LEGAL</filename>.</para>
+ </note>
+ </sect2>
+
+ <sect2>
+ <title>Mises &agrave; jour</title>
+
+ <para>Si vous constatez qu'un logiciel port&eacute; n'est pas
+ synchronis&eacute; avec la plus r&eacute;cente version des auteurs
+ originaux, v&eacute;rifiez d'abord que vous avez la derni&egrave;re
+ version du logiciel port&eacute;. Vous la trouverez dans le
+ r&eacute;pertoire <filename>ports/ports-current</filename> des sites
+ miroir ftp.</para>
+
+ <para>Envoyez ensuite un courrier &eacute;lectronique au responsable de
+ la maintenance, s'il est mentionn&eacute; dans le
+ <filename>Makefile</filename> du logiciel. Il est peut-&ecirc;tre
+ d&eacute;j&agrave; en train de travailler sur la mise &agrave; jour, ou
+ a une bonne raison de ne pas la faire (par exemple &agrave; cause de
+ probl&egrave;mes de stabilit&eacute; de la nouvelle version).</para>
+
+ <para>Si le responsable de la maintenance vous demande de mettre le
+ logiciel &agrave; jour ou s'il n'y a tout simplement pas de responsable,
+ faites cette mise &agrave; jour et envoyez un delta r&eacute;cursif
+ (soit contextuel soit unifi&eacute;, mais les responsables de
+ l'arborescence des logiciels port&eacute;s pr&eacute;f&egrave;rent le
+ format unifi&eacute;) entre les anciens et les nouveaux
+ r&eacute;pertoires du logiciel (e.g., si votre r&eacute;pertoire
+ modifi&eacute; s'appelle <filename>superedit</filename> et l'original
+ tel que dans notre arborescence <filename>superedit.bak</filename>,
+ envoyez nous alors le r&eacute;sultat de
+ <command>diff -ruN superedit.bak superedit</command>).
+ Contr&ocirc;lez-le s'il vous pla&icirc;t pour v&eacute;rifier que toutes
+ les modifications sont coh&eacute;rentes. La meilleure fa&ccedil;on de
+ nous l'envoyer est de l'inclure dans un &man.send-pr.1;
+ (cat&eacute;gorie <literal>ports</literal>). Pr&eacute;cisez s'il vous
+ pla&icirc;t quels sont les fichiers ajout&eacute;s et supprim&eacute;s,
+ parce qu'il faut explicitement les indiquez &agrave; CVS au moment de le
+ mise &agrave; jour. Si le delta fait plus de 20Ko, compressez-le et
+ codez-le avec <application>uuencode</application>; sinon, incluez-le
+ seulement tel quel dans le PR.</para>
+
+ <para>Une fois encore, utilisez s'il vous pla&icirc;t &man.diff.1; et non
+ &man.shar.1; pour nous envoyer les mises &agrave; jour des logiciels
+ port&eacute;s.</para>
+ </sect2>
+
+ <sect2>
+ <title><anchor id="porting-dads">A faire &agrave; ne pas faire</title>
+
+ <para>Voici une liste de ce qu'il faut habituellement faire ou
+ &eacute;viter lors d'un portage. Vous devriez utiliser cette liste
+ pour valider votre propre portage et vous pouvez aussi contr&ocirc;ler
+ les logiciels que d'autres ont soumis dans la base des donn&eacute;es
+ des rapports d'incidents. Transmettez tous vos commentaires au sujet des
+ logiciels port&eacute;s dans la rubrique
+ <link linkend="contrib-general">Rapports d'incidents et commentaires
+ g&eacute;n&eacute;raux&nbsp;-&nbsp;<foreignphrase>Bug Reports and
+ General Commentary</foreignphrase></link>. Validez les logiciels
+ port&eacute;s mentionn&eacute;s dans la base nous permettra de les
+ int&eacute;grer plus rapidement et prouvera en m&ecirc;me temps que vous
+ savez ce que vous faites.</para>
+
+ <sect3>
+ <title>Nettoyez les binaires</title>
+
+ <para>Supprimez les informations
+ inutiles&nbsp;-&nbsp;<foreignphrase>strip</foreignphrase>&nbsp;-&nbsp;des
+ binaires. Si c'est d&eacute;j&agrave; fait par le source d'origine,
+ tant mieux; sinon ajoutez une r&egrave;gle &agrave; la cible
+ <maketarget>post-install</maketarget> pour le faire vous-m&ecirc;me.
+ Voici un example&nbsp;:</para>
+
+ <programlisting>
+post-install:
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strip ${PREFIX}/bin/xdl
+ </programlisting>
+
+ <para>Utilisez la commande &man.file.1; sur l'ex&eacute;cutable
+ install&eacute; pour voir s'il est d&eacute;j&agrave; nettoy&eacute;.
+ Si elle ne vous r&eacute;pond pas <literal>not stripped</literal>,
+ c'est d&eacute;j&agrave; fait.</para>
+ </sect3>
+
+ <sect3>
+ <title>macros-instruction INSTALL_*</title>
+
+ <para>Utilisez les macros-instructions fournies par
+ <filename>bsd.port.mk</filename> pour &ecirc;tre s&ucirc;r que les
+ droits sur les fichiers sont correctement g&eacute;r&eacute;s par vos
+ cibles <maketarget>*-install</maketarget>. Ce sont&nbsp;:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><makevar>INSTALL_PROGRAM</makevar> pour installer les binaires
+ ex&eacute;cutables,</para>
+ </listitem>
+
+ <listitem>
+ <para><makevar>INSTALL_SCRIPT</makevar> pour installer les
+ proc&eacute;dures ex&eacute;cutables,</para>
+ </listitem>
+
+ <listitem>
+ <para><makevar>INSTALL_DATA</makevar> pour installer les
+ donn&eacute;es partageables,</para>
+ </listitem>
+
+ <listitem>
+ <para><makevar>INSTALL_MAN</makevar> pour installer les pages de
+ manuel et autres documentations (cela ne compresse rien).</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Ces macros-instructions sont essentiellement compos&eacute;es
+ d'une commande <command>install</command> avec les options
+ appropri&eacute;es. Vous trouverez plus bas un exemple de leur
+ utilisation.</para>
+ </sect3>
+
+ <sect3 id="porting-wrkdir">
+ <title><makevar>WRKDIR</makevar></title>
+
+ <para>N'&eacute;crivez rien en dehors de <makevar>WRKDIR</makevar>.
+ <makevar>WRKDIR</makevar> est le seul endroit o&ugrave; vous
+ &ecirc;tes s&ucirc;r de pouvoir &eacute;crire pendant la
+ compilation d'un logiciel port&eacute; (reportez-vous &agrave; la
+ section <link linkend="ports-cd">compiler les logiciels port&eacute;s
+ depuis un CD-ROM</link> pour avoir un example de compilation de
+ logiciels port&eacute;s dans une arborescence en lecture seule).
+ example of building ports from a read-only tree). S'il vous faut
+ modifier un fichier dans <makevar>PKGDIR</makevar>, faites-le en
+ <link linkend="porting-pkgsubdir">red&eacute;finissant une
+ variable</link>, non en l'&eacute;crasant.</para>
+ </sect3>
+
+ <sect3>
+ <title><makevar>WRKDIRPREFIX</makevar></title>
+
+ <para>Veillez &agrave; utiliser <makevar>WRKDIRPREFIX</makevar>.
+ Cela ne concerne pas la plupart des logiciels port&eacute;s. Mais,
+ en particulier si vous faites r&eacute;f&eacute;rence au
+ <makevar>WRKDIR</makevar> d'un autre logiciel, notez que la
+ r&eacute;f&eacute;rence correcte est
+ <filename><makevar>WRKDIRPREFIX</makevar><makevar>PORTSDIR</makevar>/<replaceable>sous-r&eacute;pertoire</replaceable>/<replaceable>nom</replaceable>/work</filename>
+ et non <filename><makevar>PORTSDIR</makevar>/<replaceable>sous-r&eacute;pertoire</replaceable>/<replaceable>nom</replaceable>/work</filename>
+ ou <filename><makevar>.CURDIR</makevar>/../../<replaceable>sous-r&eacute;pertoire</replaceable>/<replaceable>nom</replaceable>/work</filename>
+ ou autre chose encore.</para>
+
+ <para>Par ailleurs, si vous d&eacute;finissez vous-m&ecirc;me
+ <makevar>WRKDIR</makevar>, veillez &agrave; bien le faire commencer
+ par <literal>&dollar;{WKRDIRPREFIX}&dollar;{.CURDIR}</literal>.</para>
+ </sect3>
+
+ <sect3 id="porting-versions">
+ <title>Distinguer les syst&egrave;mes d'exploitation et leurs
+ versions</title>
+
+ <para>Vous pouvez tomber sur du code qui doit &ecirc;tre modifi&eacute;
+ ou compil&eacute; conditionnellement selon la version d'Unix sur
+ laquelle il s'ex&eacute;cutera. Si vous avez besoin de faire ce type
+ de modifications du code ou de mettre en place une compilation
+ conditionelle, veillez &agrave; ce que vos modifications soient aussi
+ g&eacute;n&eacute;rales que possible, de sorte que nous puissions
+ r&eacute;troporter le code sur les syst&egrave;mes FreeBSD 1.x et le
+ porter sur les autres syst&egrave;mes BSD tels que 4.4BSD du CSRG,
+ BSD/386, 386BSD, NetBSD et OpenBSD.</para>
+
+ <para>La solution appropri&eacute;e pour distinguer 4.3BSD/Reno(1990) et
+ les versions ult&eacute;rieures de BSD est d'utiliser la
+ macro-instruction <literal>BSD</literal> d&eacute;finie dans
+ <filename>&lt;sys/param.h&gt;</filename>. Avec de la chance, ce
+ fichier est d&eacute;j&agrave; inclus; si ce n'est pas le cas,
+ ajoutez&nbsp;:</para>
+
+ <programlisting>
+#if (defined(__unix__) || defined(unix)) &amp;&amp; !defined(USG)
+#include &lt;sys/param.h&gt;
+#endif
+ </programlisting>
+
+ <para>&agrave; l'endroit voulu dans le fichier <filename>.c</filename>.
+ Nous estimons que tous les syst&egrave;mes qui d&eacute;finissent ces
+ deux symboles disposent d'un <filename>sys/param.h</filename>. Si vous
+ tombez sur un syst&egrave;me pour lequel ce n'est pas le cas, nous
+ aimerions le savoir. Envoyez un courrier &eacute;lectronique &agrave;
+ la &a.ports;.</para>
+
+ <para>L'autre moyen est d'utiliser le style GNU
+ <application>autoconf</application> de faire ce genre de
+ choses&nbsp;:</para>
+
+ <programlisting>
+#ifdef HAVE_SYS_PARAM_H
+#include &lt;sys/param.h&gt;
+#endif
+ </programlisting>
+
+ <para>N'oubliez pas d'ajouter <literal>-DHAVE_SYS_PARAM_H</literal>
+ &agrave; <makevar>CFLAGS</makevar> dans le
+ <filename>Makefile</filename> dans ce cas.</para>
+
+ <para>Une fois que vous avez inclus
+ <filename>sys/param.h</filename> vous pouvez utiliser&nbsp;:</para>
+
+ <programlisting>
+#if (defined(BSD) &amp;&amp; (BSD &gt;= 199103))
+ </programlisting>
+
+ <para>pour savoir si le code est compil&eacute; sur un syst&egrave;me
+ bas&eacute; sur 4.3 Net2 ou sur une version ult&eacute;rieure (e.g.,
+ FreeBSD 1.x, 4.3/Reno, NetBSD 0.9, 386BSD, BSD/386 1.1 et
+ ant&eacute;rieurs).</para>
+
+ <para>Utilisez&nbsp;:</para>
+
+ <programlisting>
+#if (defined(BSD) &amp;&amp; (BSD &gt;= 199306))
+ </programlisting>
+
+ <para>pour savoir si le code est compil&eacute; sur un syst&egrave;me
+ bas&eacute; sur 4.4 ou sur une version ult&eacute;rieure (e.g.,
+ FreeBSD 2.x, 4.4, NetBSD 1.0, 386BSD, BSD/386 2.0 et
+ ult&eacute;rieurs).</para>
+
+ <para>La macro-instruction <literal>BSD</literal> prend la valeur
+ <literal>199506</literal> lorsque le code est bas&eacute; sur
+ 4.4BSD-Lite2. Ceci n'est donn&eacute; qu'&agrave; titre d'information
+ et ne doit pas &ecirc;tre utilis&eacute; pour distinguer les versions
+ de FreeBSD bas&eacute;es sur 4.4-Lite de celles qui ont
+ int&eacute;gr&eacute; les modifications introduites avec
+ 4.4-Lite2. Il faut utiliser pour cela la macro-instruction
+ <literal>__FreeBSD__</literal>.</para>
+
+ <para>Utilisez avec mod&eacute;ration&nbsp;:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><literal>__FreeBSD__</literal> est d&eacute;finie dans toutes
+ les versions de FreeBSD. Utilisez-la si vos modifications
+ ne concernent <emphasis>que</emphasis> FreeBSD. Des trucs de
+ portage tel que remplacer <function>strerror()</function>
+ par <literal>sys_errlist[]</literal> sont propres aux
+ syst&egrave;mes Berkeley, et non &agrave; FreeBSD.</para>
+ </listitem>
+
+ <listitem>
+ <para>Sous FreeBSD 2.x, <literal>__FreeBSD__</literal> prend la
+ valeur <literal>2</literal>. Dans les versions ant&eacute;rieures,
+ elle vaut <literal>1</literal>. Les versions suivantes
+ l'augmenteront pour qu'elle soit &eacute;gale &agrave; leur
+ num&eacute;ro de version majeure.</para>
+ </listitem>
+
+ <listitem>
+ <para>Si vous avez besoin de faire la diff&eacute;rence entre un
+ syst&egrave;me FreeBSD 2.x et un syst&egrave;me 3.x, la bonne
+ mani&egrave;re de faire est normalement d'utiliser les
+ macros-instructions <literal>BSD</literal> d&eacute;crites plus
+ haut. S'il y a effectivement des modifications sp&eacute;cifiques
+ &agrave; FreeBSD (une option particuli&egrave;re pour une
+ biblioth&egrave;que partiag&eacute;e avec <command>ld</command>),
+ vous pouvez alors &agrave; juste titre utiliser
+ <literal>__FreeBSD__</literal> et
+ <literal>#if __FreeBSD__ &gt; 1</literal> pour tester s'il s'agit
+ d'un syst&egrave;me FreeBSD 2.x ou ult&eacute;rieur. Si vous
+ avez besoin d'une particularisation plus fine des syst&egrave;mes
+ FreeBSD &agrave; partir de 2.0-release, vous pouvez vous servir
+ de&nbsp;:</para>
+
+ <programlisting>
+#if __FreeBSD__ &gt;= 2
+#include &lt;osreldate.h&gt;
+# if __FreeBSD_version &gt;= 199504
+ /* code propre &agrave; la version 2.0.5 et ult&eacute;rieures */
+# endif
+#endifi
+ </programlisting>
+
+ <informaltable frame="none">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Version de FreeBSD</entry>
+ <entry><literal>__FreeBSD_version</literal></entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>2.0-RELEASE</entry>
+ <entry>119411</entry>
+ </row>
+
+ <row>
+ <entry>2.1-CURRENTs</entry>
+ <entry>199501, 199503</entry>
+ </row>
+
+ <row>
+ <entry>2.0.5-RELEASE</entry>
+ <entry>199504</entry>
+ </row>
+
+ <row>
+ <entry>2.2-CURRENT avant 2.1</entry>
+ <entry>199508</entry>
+ </row>
+
+ <row>
+ <entry>2.1.0-RELEASE</entry>
+ <entry>199511</entry>
+ </row>
+
+ <row>
+ <entry>2.2-CURRENT apr&egrave; 2.1.5</entry>
+ <entry>199512</entry>
+ </row>
+
+ <row>
+ <entry>2.1.5-RELEASE</entry>
+ <entry>199607</entry>
+ </row>
+
+ <row>
+ <entry>2.2-CURRENT apr&eacute;s 2.1.6</entry>
+ <entry>199608</entry>
+ </row>
+
+ <row>
+ <entry>2.1.6-RELEASE</entry>
+ <entry>199612</entry>
+ </row>
+
+ <row>
+ <entry>2.1.7-RELEASE</entry>
+ <entry>199612</entry>
+ </row>
+
+ <row>
+ <entry>2.2-RELEASE</entry>
+ <entry>220000</entry>
+ </row>
+
+ <row>
+ <entry>2.2.1-RELEASE</entry>
+ <entry>220000 (pas de changement)</entry>
+ </row>
+
+ <row>
+ <entry>2.2-STABLE after 2.2.1-RELEASE</entry>
+ <entry>220000 (pas de changement)</entry>
+ </row>
+
+ <row>
+ <entry>2.2-STABLE apr&egrave;s introduction de
+ texinfo-3.9</entry>
+ <entry>221001</entry>
+ </row>
+
+ <row>
+ <entry>2.2-STABLE apr&egrave;s introduction de top</entry>
+ <entry>221002</entry>
+ </row>
+
+ <row>
+ <entry>2.2.2-RELEASE</entry>
+ <entry>222000</entry>
+ </row>
+
+ <row>
+ <entry>2.2-STABLE apr&egrave;s 2.2.2-RELEASE</entry>
+ <entry>222001</entry>
+ </row>
+
+ <row>
+ <entry>2.2.5-RELEASE</entry>
+ <entry>225000</entry>
+ </row>
+
+ <row>
+ <entry>2.2-STABLE apr&egrave;s 2.2.5-RELEASE</entry>
+ <entry>225001</entry>
+ </row>
+
+ <row>
+ <entry>2.2-STABLE apr&egrave;s fusion avec
+ ldconfig -R</entry>
+ <entry>225002</entry>
+ </row>
+
+ <row>
+ <entry>2.2.6-RELEASE</entry>
+ <entry>226000</entry>
+ </row>
+
+ <row>
+ <entry>2.2.7-RELEASE</entry>
+ <entry>227000</entry>
+ </row>
+
+ <row>
+ <entry>2.2-STABLE apr&egrave;s 2.2.7-RELEASE</entry>
+ <entry>227001</entry>
+ </row>
+
+ <row>
+ <entry>2.2-STABLE apr&egrave;s modification de
+ <citerefentry><refentrytitle>semctl</refentrytitle>
+ <manvolnum>2</manvolnum></citerefentry></entry>
+ <entry>227002</entry>
+ </row>
+
+ <row>
+ <entry>2.2.8-RELEASE</entry>
+ <entry>228000</entry>
+ </row>
+
+ <row>
+ <entry>2.2-STABLE apr&egrave;s 2.2.8-RELEASE</entry>
+ <entry>228001</entry>
+ </row>
+
+ <row>
+ <entry>3.0-CURRENT avant modification de
+ <citerefentry><refentrytitle>mount</refentrytitle>
+ <manvolnum>2</manvolnum></citerefentry></entry>
+ <entry>300000</entry>
+ </row>
+
+ <row>
+ <entry>3.0-CURRENT apr&egrave;s modification de
+ <citerefentry><refentrytitle>mount</refentrytitle>
+ <manvolnum>2</manvolnum></citerefentry> change</entry>
+ <entry>300002</entry>
+ </row>
+
+ <row>
+ <entry>3.0-CURRENT apr&egrave;s modification des
+ arguments de ioctl</entry>
+ <entry>300003</entry>
+ </row>
+
+ <row>
+ <entry>3.0-CURRENT apr&egrave;s conversions au format
+ ELF</entry>
+ <entry>300004</entry>
+ </row>
+
+ <row>
+ <entry>3.0-RELEASE</entry>
+ <entry>300005</entry>
+ </row>
+
+ <row>
+ <entry>3.0-CURRENT apr&egrave;s 3.0-RELEASE</entry>
+ <entry>300006</entry>
+ </row>
+
+ <row>
+ <entry>3.0-STABLE apr&egrave;s introduction de la
+ branche 4.x</entry>
+ <entry>300007</entry>
+ </row>
+
+ <row>
+ <entry>3.1-RELEASE</entry>
+ <entry>310000</entry>
+ </row>
+
+ <row>
+ <entry>3.1-STABLE apr&egrave;s 3.1-RELEASE</entry>
+ <entry>310001</entry>
+ </row>
+
+ <row>
+ <entry>4.0-CURRENT apr&egrave;s introduction de la
+ branche 4.x</entry>
+ <entry>400000</entry>
+ </row>
+
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </listitem>
+ </itemizedlist>
+
+ <note>
+ <para>Remarquz que 2.2-stable s'identifie parfois elle-m&ecirc;me
+ comme &ldquo;2.2.5-stable&rdquo; apr&egrave;s la 2.2.5-release. La
+ cl&eacute; &eacute;tait autrefois l'ann&eacute;e suivie du mois,
+ mais nous avons d&eacute;cid&eacute; d'en changer pour un
+ syst&egrave;me plus explicite constitu&eacute; des num&eacute;ros de
+ versions majeure et mineure &agrave; partir de la 2.2. Cela parce
+ que le d&eacute;veloppement parall&egrave;le sur plusieurs
+ branches rendait impossible le classement des versions simplement
+ par leur date effective de livraison. Si vous portez aujourd'hui
+ un logiciel, vous n'avez pas &agrave; vous soucier des anciennes
+ versions <literal>-current</literal>s; elles ne sont
+ mentionn&eacute;es ici qu'&agrave; titre de
+ r&eacute;f&eacute;rence.</para>
+ </note>
+
+ <para>Dans les centaines de logiciels qui ont &eacute;t&eacute;
+ port&eacute;s, il n'y a qu'un ou deux cas o&ugrave; il fallait
+ effectivement utiliser <literal>__FreeBSD__</literal>. Ce n'est pas
+ parce qu'un portage ant&eacute;rieur n'a pas &eacute;t&eacute; bien
+ fait et s'en est servi &agrave; tort qu'il faut
+ pers&eacute;verer.</para>
+ </sect3>
+
+ <sect3>
+ <title>Mettre quelque chose apr&egrave;s
+ <filename>bsd.port.mk</filename></title>
+
+ <para>Ne mettez rien apr&egrave;s la ligne <literal>.include
+ &lt;bsd.port.mk&gt;</literal>. Cela peut &ecirc;tre le plus souvent
+ &eacute;vit&eacute; en incluant
+ <filename>bsd.port.pre.mk</filename> quelque part au milieu de votre
+ <filename>Makefile</filename> et
+ <filename>bsd.port.post.mk</filename> &agrave; la fin.</para>
+
+ <note>
+ <para>Vous devez inclure soit le couple
+ <filename>pre.mk</filename>/<filename>post.mk</filename> soit
+ <filename>bsd.port.mk</filename> uniquement; ne m&eacute;langez
+ pas les deux.</para>
+ </note>
+
+ <para><filename>bsd.port.pre.mk</filename> ne d&eacute;finit que
+ quelques variables, qui peuvent &ecirc;tre test&eacute;es dans le
+ <filename>Makefile</filename>, <filename>bsd.port.post.mk</filename>
+ prend en charge tout le reste.</para>
+
+ <para>Voici quelques unes des variables importantes qui sont
+ d&eacute;finies dans <filename>bsd.port.pre.mk</filename> (ce n'est
+ pas une liste exhaustive, reportez-vous s'il vous pla&icirc;t &agrave;
+ <filename>bsd.port.mk</filename> pour avoir une liste
+ compl&egrave;te).</para>
+
+ <informaltable frame="none">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Variable</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry><makevar>ARCH</makevar></entry>
+ <entry>L'architecture sous le m&ecirc;me forme que le
+ r&eacute;sultat de <command>uname -m</command> (e.g.,
+ <literal>i386</literal>)</entry>
+ </row>
+
+ <row>
+ <entry><makevar>OPSYS</makevar></entry>
+ <entry>Le syst&egrave;me d'exploitation, sous le m&ecirc;me
+ forme que le r&eacute;sultat de la commande
+ <command>uname -s</command> (e.g.,
+ <literal>FreeBSD</literal>)</entry>
+ </row>
+
+ <row>
+ <entry><makevar>OSREL</makevar></entry>
+ <entry>La version du syst&egrave;me d'exploitation (e.g.,
+ <literal>2.1.5</literal> ou
+ <literal>2.2.7</literal>)</entry>
+ </row>
+
+ <row>
+ <entry><makevar>OSVERSION</makevar></entry>
+ <entry>La version sous forme num&eacute;rique du syst&egrave;me
+ d'exploitation, identique &agrave;
+ <link linkend="porting-versions"><literal>__FreeBSD_version</literal></link>.</entry>
+ </row>
+
+ <row>
+ <entry><makevar>PORTOBJFORMAT</makevar></entry>
+ <entry>Le format &ldquo;objet&rdquo; du syst&egrave;me
+ (<literal>aout</literal> or <literal>elf</literal>)</entry>
+ </row>
+
+ <row>
+ <entry><makevar>LOCALBASE</makevar></entry>
+ <entry>La racine de l'arborescence &ldquo;locale&rdquo; (e.g.,
+ <literal>/usr/local/</literal>)</entry>
+ </row>
+
+ <row>
+ <entry><makevar>X11BASE</makevar></entry>
+ <entry>La racine de l'arborescence &ldquo;X11&rdquo; (e.g.,
+ <literal>/usr/X11R6</literal>)</entry>
+ </row>
+
+ <row>
+ <entry><makevar>PREFIX</makevar></entry>
+ <entry>O&ugrave; le logiciel s'installe lui-m&ecirc;me
+ (Reportez-vous &agrave; la section
+ <link linkend="porting-prefix"><makevar>PREFIX</makevar></link>
+ pour plus d'informations).</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <note>
+ <para>Si vous avez besoin de d&eacute;finir les variables
+ <makevar>USE_IMAKE</makevar>, <makevar>USE_X_PREFIX</makevar> ou
+ <makevar>MASTERDIR</makevar>, faites-le avant d'inclure
+ <filename>bsd.port.pre.mk</filename>.</para>
+ </note>
+
+ <para>Voici quelques exemples de ce que vous pouvez mettre apr&egrave;s
+ <filename>bsd.port.pre.mk</filename>&nbsp;:</para>
+
+ <programlisting>
+# il est inutile de compiler lang/perl5 si perl5 fait d&eacute;j&agrave; partie du syst&egrave;me
+.if ${OSVERSION} > 300003
+BROKEN= perl fait partie du syst&egrave;me
+.endif
+
+# un seule num&eacute;ro de version de biblioth&egrave;que partag&eacute;e en ELF
+.if ${PORTOBJFORMAT} == "elf"
+TCL_LIB_FILE= ${TCL_LIB}.${SHLIB_MAJOR}
+.else
+TCL_LIB_FILE= ${TCL_LIB}.${SHLIB_MAJOR}.${SHLIB_MINOR}
+.endif
+
+# le logiciel fait d&eacute;j&agrave; les liens pour ELF, mais pas pour a.out
+post-install:
+.if ${PORTOBJFORMAT} == "aout"
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${LN} -sf liblinpack.so.1.0 ${PREFIX}/lib/liblinpack.so
+.endif
+ </programlisting>
+ </sect3>
+
+ <sect3>
+ <title>Installer des documentations suppl&eacute;mentaires</title>
+
+ <para>Si votre logiciel &agrave; porter est accompagn&eacute; d'autres
+ documentations que les habituelles pages de manuel ou
+ &ldquo;info&rdquo;, que vous trouvez utiles, installez-les dans
+ <filename><makevar>PREFIX</makevar>/share/doc</filename>.
+ Vous pouvez le faire de m&ecirc;me, comme expliqu&eacute; plus haut
+ avec la cible <maketarget>post-install</maketarget>.</para>
+
+ <para>Cr&eacute;ez un nouveau sous-r&eacute;pertoire pour votre logiciel
+ &agrave; porter. Le nom de ce sous-r&eacute;pertoire devrait faire
+ r&eacute;f&eacute;rence &agrave; son contenu. Cela signifie la plupart
+ du temps que ce sera le <makevar>PKGNAME</makevar> sans le
+ num&eacute;ro de version. Si vous pensez toutefois que l'utilisateur
+ voudra peut-&ecirc;tre installer diff&eacute;rentes versions du
+ logiciel, utilisez alors le <makevar>PKGNAME</makevar> complet.</para>
+
+ <para>Param&eacute;trez l'installation en utilisant la variable
+ <makevar>NOPORTDOCS</makevar> pour que les utilisateurs puissent ne
+ pas installer ces documentations, en se servant de
+ <filename>/etc/make.conf</filename>, s'ils le souhaitent, comme
+ suit&nbsp;:</para>
+
+ <programlisting>
+post-install:
+.if !defined(NOPORTDOCS)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${MKDIR}${PREFIX}/share/doc/xv
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${INSTALL_MAN} ${WRKSRC}/docs/xvdocs.ps ${PREFIX}/share/doc/xv
+.endif
+ </programlisting>
+
+ <para>N'oubliez pas de les ajouter aussi &agrave;
+ <filename>pkg/PLIST</filename>&nbsp;! (Ne vous souciez pas ici de
+ <makevar>NOPORTDOCS</makevar>; il n'y a aujourd'hui aucun moyen pour
+ que les proc&eacute;dures d'installation des logiciels
+ pr&eacute;compil&eacute;s lisent les variables de
+ <filename>/etc/make.conf</filename>.)</para>
+
+ <para>Vous pouvez aussi vous servir du fichier
+ <filename>pkg/MESSAGE</filename> pour afficher des messages &agrave;
+ l'installation. Reportez-vous &agrave; la section sur l'utilisation
+ de
+ <link linkend="porting-message"><filename>pkg/MESSAGE</filename></link>
+ pour plus d'informations.</para>
+
+ <note>
+ <para>Il n'y a pas besoin d'ajouter <filename>MESSAGE</filename>
+ &agrave; <filename>pkg/PLIST</filename>.</para>
+ </note>
+ </sect3>
+
+ <sect3>
+ <title><makevar>DIST_SUBDIR</makevar></title>
+
+ <para>Evitez que votre logiciel n'encombre
+ <filename>/usr/ports/distfiles</filename>. S'il doit rapatrier de
+ nombreux fichiers ou comporte un fichier dont le nom est
+ d&eacute;j&agrave; utilis&eacute; par un autre logiciel (e.g.,
+ <filename>Makefile</filename>), donnez &agrave;
+ <makevar>DIST_SUBDIR</makevar> le nom du logiciel
+ (<makevar>PKGNAME</makevar> sans le num&eacute;ro de version devrait
+ faire l'affaire). Cela modifiera <makevar>DISTDIR</makevar> de
+ <filename>/usr/ports/distfiles</filename> par d&eacute;faut, en
+ <filename>/usr/ports/distfiles/<makevar>DIST_SUBDIR</makevar></filename>
+ et mettra effectivement tout ce dont a besoin votre logiciel &agrave;
+ porter dans ce sous-r&eacute;pertoire. </para>
+
+ <para>Le sous-r&eacute;pertoire du m&ecirc;me nom sur le site principal
+ de secours <filename>ftp.freebsd.org</filename> sera aussi
+ consult&eacute; (Positionner explicitement <makevar>DISTDIR</makevar>
+ dans votre <makevar>Makefile</makevar> n'aboutira pas au m&ecirc;me
+ r&eacute;sultat, utilisez s'il vous pla&icirc;t
+ <makevar>DIST_SUBDIR</makevar>.)</para>
+
+ <note>
+ <para>Cela n'a pas d'effet sur les <makevar>MASTER_SITES</makevar> que
+ vous d&eacute;finissez dans votre
+ <filename>Makefile</filename>.</para>
+ </note>
+ </sect3>
+
+ <sect3>
+ <title>Informations sur le paquetage</title>
+
+ <para>Ne mettez pas les informations sur le paquetage, i.e.
+ <filename>COMMENT</filename>, <filename>DESCR</filename> et
+ <filename>PLIST</filename> dans <filename>pkg</filename>.</para>
+
+ <note>
+ <para>Notez bien que ces fichiers ne sont plus utilis&eacute;s
+ uniquement pour la version pr&eacute;compil&eacute;e et sont
+ maintenant <emphasis>indispensables</emphasis>, m&ecirc;me si la
+ variable <makevar>NO_PACKAGE</makevar> est d&eacute;finie.</para>
+ </note>
+ </sect3>
+
+ <sect3>
+ <title>Cha&icirc;nes RCS</title>
+
+ <para>Ne mettez pas les cha&icirc;nes RCS dans les fichiers de mise
+ &agrave; niveau&nbsp;-&nbsp;<foreignphrase>patches</foreignphrase>.
+ CVS les modifiera quand nous mettrons les fichiers dans l'arborescence
+ des logiciels port&eacute;s et de nouveau lorsque nous les
+ extrairons ensuite et les mises &agrave; jour &eacute;chouerons. Les
+ cha&icirc;nes RCS sont encadr&eacute;es par des caract&egrave;res
+ &ldquo;dollar&rdquo; (<literal>&#36;</literal>), et commencent
+ typiquement par <literal>&#36;Id</literal> ou
+ <literal>&#36;RCS</literal>.</para>
+ </sect3>
+
+ <sect3>
+ <title>&ldquo;diff&rdquo; r&eacute;cursifs</title>
+
+ <para>Il est bien d'utiliser la r&eacute;cursivit&eacute;
+ (<option>-r</option>) avec <command>diff</command> pour
+ g&eacute;n&eacute;rer les fichiers de mise &agrave; jour, mais
+ examinez s'il vous pla&icirc;t le r&eacute;sultat pour vous assurer
+ qu'il n'est pas pollu&eacute; par trop de choses inutiles. En
+ particulier, les deltas entre fichiers dupliqu&eacute;s pour
+ sauvegarder la version originale, les <filename>Makefile</filename>s
+ alors que le logiciel &agrave; porter utilise
+ <command>Imake</command> ou GNU <command>configure</command>, etc.,
+ sont inutiles et doivent &ecirc;tre supprim&eacute;s. Si vous avez
+ d&ucirc; modifier <filename>configure.in</filename> et utiliser
+ <command>autoconf</command> pour mettre &agrave; jour
+ <command>configure</command>, n'incluez pas le delta pour
+ <command>configure</command> (il contient souvent plusieurs centaines
+ de lignes&nbsp;!)&nbsp;; d&eacute;finissez
+ <literal>USE_AUTOCONF=yes</literal> et donnez les deltas pour
+ <filename>configure.in</filename>.</para>
+
+ <para>Si vous avez par ailleurs eu &agrave; supprimer un fichier, vous
+ pouvez le faire avec la cible <maketarget>post-extract</maketarget>
+ plut&ocirc;t qu'en vous servant du fichier de mise &agrave; jour. Une
+ fois que le delta vous convient, d&eacute;coupez-le s'il vous
+ pla&icirc;t pour qu'il y ait un fichier de mise &agrave; jour pour
+ chaque fichier source.</para>
+ </sect3>
+
+ <sect3 id="porting-prefix">
+ <title><makevar>PREFIX</makevar></title>
+
+ <para>Faites en sorte que votre logiciel s'installe sous l'arborescence
+ <makevar>PREFIX</makevar>. (Cette variable prend la valeur de
+ <makevar>LOCALBASE</makevar> (par d&eacute;faut
+ <filename>/usr/local</filename>), &agrave; moins que
+ <makevar>USE_X_PREFIX</makevar> ou <makevar>USE_IMAKE</makevar> ne
+ soient d&eacute;finies, auquel cas ce sera <makevar>X11BASE</makevar>
+ (par d&eacute;faut <filename>/usr/X11R6</filename>).)</para>
+
+ <para>Le fait de ne coder nulle part en dur
+ <filename>/usr/local</filename> ou <filename>/usr/X11R6</filename>
+ dans le source rend le portage plus souple et facilite son adaptation
+ aux besoins d'autres sites. Pour les logiciels X qui se servent de
+ <command>imake</command>, c'est automatique; dans les autres cas, il
+ suffit souvent de faire en sorte que <filename>/usr/local</filename>
+ (ou <filename>/usr/X11R6</filename> pour les logiciels X qui
+ n'utilisent pas <command>imake</command>) soit remplac&eacute; par la
+ valeur de <makevar>PREFIX</makevar> dans les diff&eacute;rentes
+ proc&eacute;dures et <filename>Makefile</filename>s du logiciel,
+ puisque cette variable est toujours transmise &agrave; chaque
+ &eacute;tape du processus de compilation et d'installation.</para>
+
+ <para>N'utilisez pas <makevar>USE_X_PREFIX</makevar> &agrave; mois d'en
+ avoir vraiment besoin (i.e., l'&eacute;dition de liens utilise les
+ biblioth&egrave;ques X ou vous avez besoin de faire
+ r&eacute;f&eacute;rence &agrave; des fichiers de
+ <makevar>X11BASE</makevar>).</para>
+
+ <para>La variable <makevar>PREFIX</makevar> peut &ecirc;tre
+ red&eacute;finie dans votre <filename>Makefile</filename> ou dans
+ l'environnement de l'utilisateur. Il est n&eacute;anmoins fortement
+ d&eacute;conseill&eacute; de la d&eacute;finir explicitement dans les
+ <filename>Makefile</filename>s de logiciels.</para>
+
+ <para>Utilisez aussi les variables pr&eacute;c&eacute;dentes pour faire
+ r&eacute;f&eacute;rence &agrave; des programmes ou fichiers d'autres
+ logiciels port&eacute;s et non en donnant les chemins d'acc&egrave;s
+ complets. Par exemple, si votre logiciel a besoin que la
+ macro-instruction <literal>PAGER</literal> donne le chemin
+ d'acc&egrave;s &agrave; <command>less</command>, utilisez
+ l'indicateur&nbsp;:</para>
+
+ <programlisting>
+-DPAGER=\"&#36;{PREFIX}/bin/less\"
+ </programlisting>
+
+ <para>du compilateur, ou&nbsp;:</para>
+
+ <programlisting>
+-DPAGER=\"&#36;{LOCALBASE}/bin/less\"
+ </programlisting>
+
+ <para>si c'est un logiciel X, au lieu de
+ <literal>-DPAGER=\"/usr/local/bin/less\"</literal>. Cela aura plus de
+ chances de marcher si votre administrateur syst&egrave;me a
+ d&eacute;plac&eacute; toute l'arborescence
+ <filename>/usr/local</filename> ailleurs.</para>
+ </sect3>
+
+ <sect3>
+ <title>Sous-r&eacute;pertoires</title>
+
+ <para>Essayez de faire en sorte que le logiciel &agrave; porter installe
+ ses fichiers dans les bons sous-r&eacute;pertoires de
+ <makevar>PREFIX</makevar>. Certains logiciels regroupent tout dans un
+ sous-r&eacute;pertoire portant le nom du logiciel, ce qui est
+ incorrect. De nombreux logiciels mettent aussi tout, sauf les
+ binaires, fichiers d'en-t&ecirc;te et pages de manuel dans un
+ sous-r&eacute;pertoire de <filename>lib</filename>, ce qui ne fait pas
+ bon m&eacute;nage avec le paradigme BSD. La plupart des fichiers
+ doivent &ecirc;tre d&eacute;plac&eacute;s vers&nbsp;:
+ <filename>etc</filename> (fichiers d'initialisation et de
+ configuration), <filename>libexec</filename> (ex&eacute;cutables
+ d&eacute;marr&eacute;s par le syst&egrave;me),
+ <filename>sbin</filename> (ex&eacute;cutables pour les
+ super-utilisateurs/administrateurs), <filename>info</filename>
+ (documentations au format &ldquo;info&rdquo;) ou
+ <filename>share</filename> (fichiers ind&eacute;pendants de
+ l'architecture). Reportez-vous aux pages de manuel de &man.hier.7;
+ pour plus de d&eacute;tails au sujet des r&egrave;gles qui
+ r&eacute;gissent <filename>/usr</filename>, la plus grande partie
+ s'applique aussi &agrave; <filename>/usr/local</filename>. Les
+ logiciels en rapport avec les &ldquo;news&rdquo; USENET font
+ exception. Ils peuvent se servir de
+ <filename><makevar>PREFIX</makevar>/news</filename> pour y mettre
+ leurs fichiers.</para>
+ </sect3>
+
+ <sect3 id="porting-cleaning">
+ <title>Supprimer les r&eacute;pertoires vides</title>
+
+ <para>Faites en sorte que le logiciel fasse le m&eacute;nage lors de sa
+ d&eacute;sinstallation. Cela se fait habituellement en ajoutant des
+ lignes <literal>@dirrm</literal> pour tous les r&eacute;pertoires
+ sp&eacute;cifiquement cr&eacute;&eacute;s par le logiciel. Il faut
+ supprimer les sous-r&eacute;pertoires avant de supprimer leurs
+ r&eacute;pertoires parents.</para>
+
+ <programlisting>
+&nbsp;:
+lib/X11/oneko/pixmaps/cat.xpm
+lib/X11/oneko/sounds/cat.au
+&nbsp;:
+@dirrm lib/X11/oneko/pixmals
+@dirrm lib/X11/oneko/sounds
+@dirrm lib/X11/oneko</programlisting>
+
+ <para>Il arrive parfois que <literal>@dirrm</literal> &eacute;mette un
+ message d'erreur parce que d'autres logiciels partagent le m&ecirc;me
+ sous-r&eacute;pertoire. Vous pouvez invoquer
+ <command>rmdir</command> depuis <literal>@unexec</literal> pour ne
+ supprimer que les sous-r&eacute;pertoires vides sans messages
+ d'avertissement.</para>
+
+ <programlisting>
+@unexec rmdir %D/share/doc/gimp 2>/dev/null || true</programlisting>
+
+ <para>Il n'y aura alors ni message d'erreur, ni fin anormale de
+ <command>pkg_delete</command> m&ecirc;me si
+ <filename><makevar>PREFIX</makevar>/share/doc/gimp</filename> n'est
+ pas vide parce que d'autres logiciels y ont install&eacute; des
+ fichiers.</para>
+ </sect3>
+
+ <sect3>
+ <title><literal>UID</literal>s</title>
+
+ <para>Si votre logiciel a besoin qu'un utilisateur particulier existe
+ sur le syst&egrave;me, appelez <command>pw</command> dans la
+ proc&eacute;dure <filename>pkg/INSTALL</filename> pour le cr&eacute;er
+ automatiquement. Voyez <filename>net/cvsup-mirror</filename> pour
+ avoir un exemple.</para>
+
+ <para>Si votre logiciel &agrave; porter a besoin du m&ecirc;me
+ <literal>ID</literal>dentifiant d'utilisateur/groupe qui a servi
+ &agrave; sa compilation quand on installe le paquetage binaire, vous
+ devez choisir un <literal>UID</literal> libre entre 50 et 99 et
+ l'enregistrer ci-dessous. Voyez <filename>japanese/Wnn</filename> pour
+ avoir un exemple.</para>
+
+ <para>Veillez &agrave; ne pas utiliser un <literal>UID</literal>
+ d&eacute;j&agrave; employ&eacute; par le syst&egrave;me ou d'autres
+ logiciels. Voici la liste des <literal>UID</literal>s entre 50 et
+ 99.</para>
+
+ <programlisting>
+majordom:*:54:54:Majordomo Pseudo User:/usr/local/majordomo:/nonexistent
+cyrus:*:60:60:the cyrus mail server:/nonexistent:/nonexistent
+gnats:*:61:1:GNATS database owner:/usr/local/share/gnats/gnats-db:/bin/sh
+uucp:*:66:66:UUCP pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico
+xten:*:67:67:X-10 daemon:/usr/local/xten:/nonexistent
+pop:*:68:6:Post Office Owner (popper):/nonexistent:/nonexistent
+wnn:*:69:7:Wnn:/nonexistent:/nonexistent
+ifmail:*:70:66:Ifmail user:/nonexistent:/nonexistent
+pgsql:*:70:70:PostgreSQL pseudo-user:/usr/local/pgsql:/bin/sh
+ircd:*:72:72:IRCd hybrid:/nonexistent:/nonexistent
+alias:*:81:81:QMail user:/var/qmail/alias:/nonexistent
+qmaill:*:83:81:QMail user:/var/qmail:/nonexistent
+qmaild:*:82:81:QMail user:/var/qmail:/nonexistent
+qmailq:*:85:82:QMail user:/var/qmail:/nonexistent
+qmails:*:87:82:QMail user:/var/qmail:/nonexistent
+qmailp:*:84:81:QMail user:/var/qmail:/nonexistent
+qmailr:*:86:82:QMail user:/var/qmail:/nonexistent
+msql:*:87:87:mSQL-2 pseudo-user:/var/db/msqldb:/bin/sh</programlisting>
+
+ <para>Signalez s'il vous pla&icirc;t que vous r&eacute;servez un
+ <literal>UID</literal> ou <literal>GID</literal> dans cette plage,
+ quand vous soumettez un logiciel (ou une mise &agrave; niveau). Cela
+ nous permet de tenir &agrave; jour la liste des <literal>ID</literal>s
+ r&eacute;serv&eacute;s.</para>
+ </sect3>
+
+ <sect3>
+ <title>Faites les choses rationnellement</title>
+
+ <para>Le <filename>Makefile</filename> doit faire des choses simples et
+ logiques. Si vous pouvez le raccourcir et le rendre plus lisible,
+ faites-le. Utilisez par exemple un instruction
+ <literal>.if</literal> de <command>make</command>, au lieu d'un
+ <literal>if</literal> de l'interpr&eacute;teur de commandes, ne
+ red&eacute;finissez pas <maketarget>do-extract</maketarget> si vous
+ pouvez utiliser <makevar>EXTRACT*</makevar> &agrave; la place et
+ servez-vous de <makevar>GNU_CONFIGURE</makevar> au lieu de
+ <literal>CONFIGURE_ARGS += --prefix=&dollar;{PREFIX}</literal>.</para>
+ </sect3>
+
+ <sect3>
+ <title>Prennez en compte <makevar>CFLAGS</makevar></title>
+
+ <para>Le logiciel &agrave; porter doit prendre en consid&eacute;ration
+ <makevar>CFLAGS</makevar>. Si ce n'est pas le cas, ajoutez s'il vous
+ pla&icirc;t <literal>NO_PACKAGE=ignores cflags</literal> au
+ <filename>Makefile</filename>.</para>
+ </sect3>
+
+ <sect3>
+ <title>Fichiers de Configuration</title>
+
+ <para>Si votre logiciel a besoin de fichiers de configuration dans
+ <filename><makevar>PREFIX</makevar>/etc</filename>, ne les installez
+ <emphasis>pas</emphasis> et ne les listez pas dans
+ <filename>pkg/PLIST</filename>. <command>pkg_delete</command>
+ supprimerait alors des fichiers renseign&eacute;s avec soin par les
+ utilisateurs et une r&eacute;installation les
+ &eacute;craserait.</para>
+
+ <para>Au lieu de cela, installez des fichiers d'exemple avec un suffixe
+ (<filename><replaceable>nom_de_fichier</replaceable>.sample</filename>
+ fonctionnera bien) et affichez un
+ <link linkend="porting-message">message</link> pour signaler &agrave;
+ l'utilisateur qu'il devra copier et modifier le fichier pour que le
+ logiciel soit utilisable.</para>
+ </sect3>
+
+ <sect3>
+ <title>Portlint</title>
+
+ <para>Contr&ocirc;lez votre travail avec
+ <link linkend="porting-portlint"><command>portlint</command></link>
+ avant de le soumettre ou de le mettre dans l'arborescence des
+ sources.</para>
+ </sect3>
+
+ <sect3>
+ <title>Retours d'information</title>
+
+ <para>Envoyez vos modifications et mises &agrave; niveau &agrave;
+ l'auteur ou au responsable de la maintenance pour qu'il les inclue
+ dans la prochaine version du code. Cela ne fera que vous faciliter le
+ travail pour la prochaine fois.</para>
+ </sect3>
+
+ <sect3>
+ <title>Divers</title>
+
+ <para>Les fichiers <filename>pkg/DESCR</filename>,
+ <filename>pkg/COMMENT</filename> et <filename>pkg/PLIST</filename>
+ doivent chacun &ecirc;tre rev&eacute;rifi&eacute;s. Si vous passez un
+ logiciel en revue et pensez qu'ils peuvent &ecirc;tre mieux
+ &eacute;tre mieux &eacute;crits, faites-le.</para>
+
+ <para>Ne mettez pas de nouvelles copies de la Licence Publique
+ G&eacute;n&eacute;rale GNU&nbsp;-&nbsp;GPL&nbsp;-&nbsp;sur notre
+ syst&egrave;me, s'il vous pla&icirc;t.</para>
+
+ <para>Notez s'il vous pla&icirc;t soigneusement toutes les
+ consid&eacute;rations d'ordre l&eacute;gal. Ne nous laissez pas
+ distribuer ill&eacute;galement du logiciel&nbsp;!</para>
+ </sect3>
+
+ <sect3>
+ <title>Si vous &ecirc;tes bloqu&eacute;&hellip;</title>
+
+ <para>Consultez les exemples existants et
+ <filename>bsd.port.mk</filename> avant de nous poser des
+ questions&nbsp;! <!-- smiley --><emphasis>;)</emphasis></para>
+
+ <para>Posez-nous des questions si vous avez des probl&egrave;mes&nbsp;!
+ Ne vous cognez pas la t&ecirc;te contre les murs&nbsp;!
+ <!-- smiley --><emphasis>:)</emphasis></para>
+ </sect3>
+ </sect2>
+
+ <sect2 id="porting-samplem">
+ <title>Un exemple de <filename>Makefile</filename></title>
+
+ <para>Voici un exemple de <filename>Makefile</filename> dont vous pouvez
+ vous servir pour porter un nouveau logiciel. Veillez &agrave; supprimer
+ les commentaires exc&eacute;dentaires (ceux qui sont entre
+ crochets)&nbsp;!</para>
+
+ <para>Il est souhaitable que vous respectiez ce format (ordre des
+ variables, espacements entre sections, etc.). Il est con&ccedil;u pour
+ qu'il soit facile de rep&eacute;rer les informations les plus
+ importantes. Nous vous recommandons d'utiliser
+ <link linkend="porting-portlint">portlint</link> pour v&eacute;rifier le
+ <filename>Makefile</filename>.</para>
+
+ <programlisting>
+[l'en-t&ecirc;te...pour qu'il nous soit plus facile d'identifier les logiciels.]
+# New ports collection makefile for: xdvi
+[l'en-t&ecirc;te de version obligatoire doit &ecirc;tre mise &agrave; jour
+&nbsp;en m&ecirc;me temps que le logiciel.]
+# Version required: pl18 [des choses du genre "1.5alpha" conviennent aussi]
+[C'est la date de cr&eacute;ation de la premi&egrave;re version de ce Makefile.
+&nbsp;Ne la modifiez jamais lors d'une mise &agrave; jour.]
+# Date created: 26 May 1995
+[C'est la personne qui a fait le premier portage sous FreeBSD, en particulier,
+&nbsp;celle qui a &eacute;crit la premi&egrave;re version de ce Makefile. Rappelez-vous
+&nbsp;que vous ne devez plus modifier ce nom par la suite.]
+# Whom: Satoshi Asami &lt;asami@FreeBSD.ORG&gt;
+#
+# &#36;Id&#36;
+[ ^^^^ Ce sera automatiquement remplac&eacute; par la cha&icirc;ne RCS par CVS
+&nbsp;ensuite, lors de l'int&eacute;gration &agrave; nos archives.]
+#
+
+[Cette section d&eacute;crit le logiciel et le site d'origine - DISTNAME
+&nbsp;viens toujours en premier, suivi de PKGNAME (si n&eacute;cessaire), CATEGORIES,
+&nbsp;puis de MASTER_SITES, qui peut &ecirc;tre suivi de MASTER_SITE_SUBDIR.
+&nbsp;EXTRACT_SUFX ou DISTFILES peuvent &eacute;ventuellement &ecirc;tre pr&eacute;cis&eacute;s ensuite.]
+DISTNAME= xdvi
+PKGNAME= xdvi-pl18
+CATEGORIES= print
+[N'oubliez pas le &ldquo;slash&rdquo; ("/") &agrave; la fin&nbsp;!
+&nbsp;si vous ne vous servez pas des macros-instructions MASTER_SITE_*]
+MASTER_SITES= ${MASTER_SITE_XCONTRIB}
+MASTER_SITE_SUBDIR= applications
+[A d&eacute;finir si le source n'est pas au format ".tar.gz"]
+EXTRACT_SUFX= .tar.Z
+
+[Section pour les mises &agrave; jour de la distribution -- peut &ecirc;tre vide]
+PATCH_SITES= ftp://ftp.sra.co.jp/pub/X11/japanese/
+PATCHFILES= xdvi-18.patch1.gz xdvi-18.patch2.gz
+
+[Responsable de la maintenance; *obligatoire*&nbsp;! C'est la personne
+&nbsp;(de pr&eacute;f&eacute;rence avec les droits d'&eacute;criture sur l'arborescence
+&nbsp;des sources) que les utilisateurs peuvent contacter si questions ou rapports
+&nbsp;d'anomalie - ce doit &ecirc;tre la personne qui a fait le portage ou quelqu'un
+&nbsp;qui peut lui transmettre les questions dans un d&eacute;lai raisonnable. Si vous
+&nbsp;ne voulez vraimant pas que votre adresse apparaisse ici, mettez
+&nbsp;"ports@FreeBSD.ORG".]
+MAINTAINER= asami@FreeBSD.ORG
+
+[D&eacute;pendances -- peuvent &ecirc;tre vides]
+RUN_DEPENDS= gs:${PORTSDIR}/print/ghostscript
+LIB_DEPENDS= Xpm.5:${PORTSDIR}/graphics/xpm
+
+[Cette section est r&eacute;serv&eacute;e aux autres variables bsd.port.mk
+&nbsp;qui n'ont pas leur place dans les sections pr&eacute;c&eacute;dentes]
+[S'il y a des questions lors de la configuration, de la compilation,
+&nbsp;de l'installation ...]
+IS_INTERACTIVE= yes
+[Si l'extraction se fait dans un autre r&eacute;pertoire que ${DISTNAME}...]
+WRKSRC= ${WRKDIR}/xdvi-new
+[Si les mises &agrave; jour de la distribution ne sont pas relatives &agrave; ${WRKSRC},
+&nbsp;vous devrez peut-&ecirc;tre utiliser cette variable]
+PATCH_DIST_STRIP= -p1
+[S'il faut ex&eacute;cuter une proc&eacute;dure "configure" g&eacute;n&eacute;r&eacute;e par GNU autoconf]
+GNU_CONFIGURE= yes
+[S'il faut compiler avec GNU make, et non /usr/bin/make, ...]
+USE_GMAKE= yes
+[Si c'est une application X et qu'il faut utiliser "xmkmf -a" ...]
+USE_IMAKE= yes
+[et cetera.]
+
+[Variables non-standard pour les r&egrave;gles qui les suivent]
+MY_FAVORITE_RESPONSE= "oui, pour s&ucirc;r"
+
+[Les r&egrave;gles particuli&egrave;res, dans l'ordre o&ugrave; faut les appeler]
+pre-fetch:
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ouais, il faut r&eacute;cup&eacute;rer quelque chose
+
+post-patch:
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;G&eacute;nial, j'ai quelque chose &agrave; faire apr&egrave;s la mise &agrave; jour
+
+pre-install:
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;et d'autres choses encore apr&egrave;s l'installation
+
+[et l'&eacute;pilogue]
+.include &lt;bsd.port.mk&gt;</programlisting>
+ </sect2>
+
+ <sect2 id="porting-pkgname">
+ <title>Noms des paquetages</title>
+
+ <para>Voici les conventions &agrave; respecter pour les noms des
+ paquetages. Cela pour qu'il soit facile de parcourir notre
+ r&eacute;pertoire des paquetages, parce qu'il y en a d&eacute;j&agrave;
+ beaucoup et que cela va rebuter les utilisateurs s'ils s'y usent les
+ yeux&nbsp;!</para>
+
+ <para>Le nom du paquetage doit &ecirc;tre de la forme
+ <filename><replaceable>langue-</replaceable>nom<replaceable>-particularit&eacute;s.de.compilation</replaceable><replaceable>-num&eacute;ros.de.version</replaceable></filename>.</para>
+
+ <para>Si votre <makevar>DISTNAME</makevar> n'est pas de ce type,
+ d&eacute;finissez <makevar>PKGNAME</makevar> en respectant ce
+ format.</para>
+
+ <orderedlist>
+ <listitem>
+ <para>FreeBSD essayer d'int&eacute;grer les supports des langues
+ maternelles de ses utilisateurs. Le pr&eacute;fixe
+ <replaceable>langue-</replaceable> doit &ecirc;tre le sigle de deux
+ lettres d&eacute;fini par la convention ISO-639, si le logiciel
+ est propre &agrave; une langue particuli&egrave;re. Par exemple,
+ <literal>ja</literal> pour le Japonais, <literal>ru</literal> pour
+ le Russe, <literal>vi</literal> pour le Vietnamien,
+ <literal>zh</literal> pour le Chinois, <literal>ko</literal> pour le
+ Cor&eacute;en et <literal>de</literal> pour l'Allemand.</para>
+ </listitem>
+
+ <listitem>
+ <para>Le <filename>nom</filename> doit toujours &ecirc;tre en
+ minuscules, sauf pour les paquetages particuli&egrave;rement
+ importants (qui comportent de nombreux programmes). XFree86 ou
+ ImageMagick par exemple appartiennent &agrave; cette
+ cat&eacute;gorie. Sinon, mettez le nom (ou au moins la
+ premi&egrave;re lettre) en minuscules. Si les majuscules ont un sens
+ dans le nom (par exemple pour les noms d'une seule lettre comme
+ <literal>R</literal> ou <literal>V</literal>), vous pouvez utiliser
+ des majuscules si vous le souhaitez. Il est de tradition d'appeler
+ les modules Perl 5 en les faisant pr&eacute;c&eacute;der de
+ <literal>p5-</literal> et en rempla&ccedil;ant les deux deux-points
+ par un tiret; par exemple, le module <literal>Data::Dumper</literal>
+ devient <literal>p5-Data-Dumper</literal>. S'il y a des
+ num&eacute;ros, tirets ou soulign&eacute;s dans le nom, vous pouvez
+ aussi les conserver (par exemple,
+ <literal>kinput2</literal>).</para>
+ </listitem>
+
+ <listitem>
+ <para>Si le logiciel peut-&ecirc;tre compil&eacute; avec
+ diff&eacute;rentes <link linkend="porting-masterdir">valeurs par
+ d&eacute;faut cod&eacute;es en dur</link> (ce qui fait d'habitude
+ partie du nom de r&eacute;pertoire d'une famille de logiciels), les
+ <replaceable>-particularit&eacute;s.de.compilation</replaceable>
+ doivent indiquer quelles sont ces valeurs (le tiret n'est pas
+ obligatoire). On peut donner en exemple la r&eacute;solution des
+ polices ou le format de papier.</para>
+ </listitem>
+
+ <listitem>
+ <para>La version doit &ecirc;tre une suite d'entiers
+ s&eacute;par&eacute;s par des points ou un unique caract&egrave;re
+ alphab&eacute;tique. La seule exception concerne la cha&icirc;ne
+ <literal>pl</literal>
+ (&ldquo;<foreignphrase>patchlevel</foreignphrase>&rdquo;&nbsp;-&nbsp;niveau
+ de mise &agrave; jour), qui ne peut &ecirc;tre utilis&eacute;e que
+ lorsque qu'il n'y a pas de num&eacute;ros de version majeure et
+ mineure du logiciel.</para>
+ </listitem>
+ </orderedlist>
+
+ <para>Voici quelques exemples (r&eacute;els) de la mani&egrave;re de
+ convertir un <makevar>DISTNAME</makevar> en un
+ <makevar>PKGNAME</makevar>&nbsp;:</para>
+
+ <informaltable frame="none">
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>Nom de la Distribution</entry>
+ <entry>Nom du Paquetage</entry>
+ <entry>Raison</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>mule-2.2.2.</entry>
+ <entry>mule-2.2.2</entry>
+ <entry>Pas de changement n&eacute;cessaire</entry>
+ </row>
+
+ <row>
+ <entry>XFree86-3.1.2</entry>
+ <entry>XFree86-3.1.2</entry>
+ <entry>Pas de changement n&eacute;cessaire</entry>
+ </row>
+
+ <row>
+ <entry>EmiClock-1.0.2</entry>
+ <entry>emiclock-1.0.2</entry>
+ <entry>Pas de majuscules pour les programmes individuels</entry>
+ </row>
+
+ <row>
+ <entry>gmod1.4</entry>
+ <entry>gmod-1.4</entry>
+ <entry>Il faut un tiret avant les num&eacute;ros de
+ version</entry>
+ </row>
+
+ <row>
+ <entry>xmris.4.0.2</entry>
+ <entry>xmris-4.0.2</entry>
+ <entry>Il faut un tiret avant les num&eacute;ros de
+ version</entry>
+ </row>
+
+ <row>
+ <entry>rdist-1.3alpha</entry>
+ <entry>rdist-1.3a</entry>
+ <entry>Les cha&icirc;nes de caract&egrave;res comme
+ <literal>alpha</literal> ne sont pas autoris&eacute;es</entry>
+ </row>
+
+ <row>
+ <entry>es-0.9-beta1</entry>
+ <entry>es-0.9b1</entry>
+ <entry>Les cha&icirc;nes de caract&egrave;res comme
+ <literal>beta</literal> ne sont pas autoris&eacute;es</entry>
+ </row>
+
+ <row>
+ <entry>v3.3beta021.src</entry>
+ <entry>tiff-3.3</entry>
+ <entry>C'&eacute;tait quoi exactement&nbsp;?</entry>
+ </row>
+
+ <row>
+ <entry>tvtwm</entry>
+ <entry>tvtwm-pl11</entry>
+ <entry>Il doit toujours y avoir une version</entry>
+ </row>
+
+ <row>
+ <entry>piewm</entry>
+ <entry>piewm-1.0</entry>
+ <entry>Il doit toujours y avoir une version</entry>
+ </row>
+
+ <row>
+ <entry>xvgr-2.10pl1</entry>
+ <entry>xvgr-2.10.1</entry>
+ <entry><literal>pl</literal> n'est autoris&eacute; que lorsqu'il
+ n'y a pas de num&eacute;ro de version majeure/mineure</entry>
+ </row>
+
+ <row>
+ <entry>gawk-2.15.6</entry>
+ <entry>ja-gawk-2.15.6</entry>
+ <entry>Version Japonaise</entry>
+ </row>
+
+ <row>
+ <entry>psutils-1.13</entry>
+ <entry>psutils-letter-1.13</entry>
+ <entry>Taille de page en dur &agrave; la compilation</entry>
+ </row>
+
+ <row>
+ <entry>pkfonts</entry>
+ <entry>pkfonts300-1.0</entry>
+ <entry>Paquetage pour les polices 300dpi</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>S'il n'y a nulle part d'information sur la version et qu'il y a peu
+ de chances que l'auteur sorte une nouvelle version, prennez
+ <literal>1.0</literal> comme num&eacute;ro de version (comme pour piewm
+ ci-dessus). Sinon, posez la question &agrave; l'auteur ou servez-vous de
+ la date
+ (<literal><replaceable>aa</replaceable>.<replaceable>mm</replaceable>.<replaceable>jj</replaceable></literal>)
+ comme version.</para>
+ </sect2>
+
+ <sect2 id="porting-categories">
+ <title>Cat&eacute;gories</title>
+
+ <para>Comme vous le savez d&eacute;j&agrave;, les logiciels port&eacute;s
+ sont r&eacute;partis en diff&eacute;rentes cat&eacute;gories. Mais, il
+ est important, pour que cette classification fonctionne, que les
+ responsables des portages et les utilisateurs comprennent ce qu'est
+ chaque cat&eacute;gorie et comment nous choisissons la cat&eacute;gorie
+ dans laquelle nous classons un logiciel.</para>
+
+ <sect3>
+ <title>Liste actuelle des cat&eacute;gories</title>
+
+ <para>Voici tout d'abord la liste des cat&eacute;gories &agrave; ce
+ jour. Celles qui sont suivies d'une ast&eacute;risque
+ (<literal>*</literal>) sont des cat&eacute;gories
+ <emphasis>virtuelles</emphasis>&mdash;il n'y a pas de
+ sous-r&eacute;pertoires correspondant dans le catalogue des logiciels
+ port&eacute;s.</para>
+
+ <note>
+ <para>Pour les cat&eacute;gories r&eacute;elles, il y a une ligne de
+ description dans le fichier <filename>pkg/COMMENT</filename> du
+ sous-r&eacute;pertoire correspondant (e.g.,
+ <filename>archivers/pkg/COMMENT</filename>).</para>
+ </note>
+
+ <informaltable frame="none">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Cat&eacute;gorie</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry><filename>afterstep*</filename></entry>
+ <entry>Logiciels pour le gestionnaire de fen&ecirc;tres
+ AfterStep</entry>
+ </row>
+
+ <row>
+ <entry><filename>archivers</filename></entry>
+ <entry>Outils d'archivage</entry>
+ </row>
+
+ <row>
+ <entry><filename>astro</filename></entry>
+ <entry>Logiciels d'astronomie</entry>
+ </row>
+
+ <row>
+ <entry><filename>audio</filename></entry>
+ <entry>Son</entry>
+ </row>
+
+ <row>
+ <entry><filename>benchmarks</filename></entry>
+ <entry>Outils de mesure de performances</entry>
+ </row>
+
+ <row>
+ <entry><filename>biology</filename></entry>
+ <entry>Logiciels en rapport avec la biologie</entry>
+ </row>
+
+ <row>
+ <entry><filename>cad</filename></entry>
+ <entry>Conception assist&eacute;e par ordinateur</entry>
+ </row>
+
+ <row>
+ <entry><filename>chinese</filename></entry>
+ <entry>Support de la langue Chinoise</entry>
+ </row>
+
+ <row>
+ <entry><filename>comms</filename></entry>
+ <entry>Logiciels de communication. Essentiellement des logiciels
+ qui dialoguent avec votre port s&eacute;rie</entry>
+ </row>
+
+ <row>
+ <entry><filename>converters</filename></entry>
+ <entry>Convertisseurs de codes de caract&eacute;res</entry>
+ </row>
+
+ <row>
+ <entry><filename>databases</filename></entry>
+ <entry>Bases de donn&eacute;es</entry>
+ </row>
+
+ <row>
+ <entry><filename>deskutils</filename></entry>
+ <entry>Ce que l'on avait sur son bureau avant l'invention des
+ ordinateurs</entry>
+ </row>
+
+ <row>
+ <entry><filename>devel</filename></entry>
+ <entry>Outils de d&eacute;veloppement. N'y mettez pas de
+ biblioth&egrave;ques simplement parce que ce sont des
+ biblioth&egrave;ques&mdash;&agrave; moins qu'elles n'aient
+ vraiment pas leur place ailleurs, elles ne doivent pas
+ &ecirc;tre dans cette cat&eacute;gorie</entry>
+ </row>
+
+ <row>
+ <entry><filename>editors</filename></entry>
+ <entry>Editeurs g&eacute;n&eacute;raux. Les &eacute;diteurs
+ sp&eacute;cialis&eacute;s vont dans la cat&eacute;gorie
+ correspondante (e.g., un &eacute;diteur de formules
+ math&eacute;matiques ira dans
+ <filename>math</filename>)</entry>
+ </row>
+
+ <row>
+ <entry><filename>elisp</filename></entry>
+ <entry>Logiciels Emacs-lisp</entry>
+ </row>
+
+ <row>
+ <entry><filename>emulators</filename></entry>
+ <entry>Emulateurs d'autres syst&egrave;mes d'exploitation. Les
+ &eacute;mulateurs de terminaux ne rentrent
+ <emphasis>pas</emphasis> dans cette
+ cat&eacute;gorie&mdash;ceux pour X vont dans
+ <filename>x11</filename> et les &eacute;mulateurs en mode
+ texte dans <filename>comms</filename> ou
+ <filename>misc</filename>, selon leur fonction exacte</entry>
+ </row>
+
+ <row>
+ <entry><filename>games</filename></entry>
+ <entry>Jeux</entry>
+ </row>
+
+ <row>
+ <entry><filename>german</filename></entry>
+ <entry>Support de la langue Allemande</entry>
+ </row>
+
+ <row>
+ <entry><filename>graphics</filename></entry>
+ <entry>Utilitaires graphiques</entry>
+ </row>
+
+ <row>
+ <entry><filename>japanese</filename></entry>
+ <entry>Support de la langue Japonaise</entry>
+ </row>
+
+ <row>
+ <entry><filename>kde*</filename></entry>
+ <entry>Logiciels qui constituent &ldquo;<foreignphrase>K Desktop
+ Environment</foreignphrase>&rdquo; (kde)</entry>
+ </row>
+
+ <row>
+ <entry><filename>korean</filename></entry>
+ <entry>Support de la langue Cor&eacute;enne</entry>
+ </row>
+
+ <row>
+ <entry><filename>lang</filename></entry>
+ <entry>Langages de programmation</entry>
+ </row>
+
+ <row>
+ <entry><filename>mail</filename></entry>
+ <entry>Logiciels de courrier &eacute;lectronique</entry>
+ </row>
+
+ <row>
+ <entry><filename>math</filename></entry>
+ <entry>Logiciels de calcul num&eacute;rique et autres outils
+ math&eacute;matiques</entry>
+ </row>
+
+ <row>
+ <entry><filename>mbone</filename></entry>
+ <entry>Applications MBone</entry>
+ </row>
+
+ <row>
+ <entry><filename>misc</filename></entry>
+ <entry>Utilitaires vari&eacute;s&mdash;essentiellement ceux qui
+ n'ont pas leur place ailleurs. C'est la seul cat&eacute;gorie
+ qui ne doit pas appara&icirc;tre en m&ecirc;me temps qu'une
+ autre cat&eacute;gorie non virtuelle. S'il y a
+ <literal>misc</literal> et autre chose dans votre ligne
+ <makevar>CATEGORIES</makevar>, cela signifie que vous pouvez
+ sans risque supprimer <literal>misc</literal> et mettre le
+ logiciel dans cet autre sous-r&eacute;pertoire</entry>
+ </row>
+
+ <row>
+ <entry><filename>net</filename></entry>
+ <entry>Outils r&eacute;seau divers</entry>
+ </row>
+
+ <row>
+ <entry><filename>news</filename></entry>
+ <entry>Logiciels pour les listes de discussion USENET</entry>
+ </row>
+
+ <row>
+ <entry><filename>offix*</filename></entry>
+ <entry>Logiciels de la suite OffiX</entry>
+ </row>
+
+ <row>
+ <entry><filename>palm</filename></entry>
+ <entry>Logiciels &agrave; utiliser avec la gamme 3Com
+ Palm(tm)</entry>
+ </row>
+
+ <row>
+ <entry><filename>perl5*</filename></entry>
+ <entry>Logiciels qui n&eacute;cessitent Perl version 5</entry>
+ </row>
+
+ <row>
+ <entry><filename>plan9*</filename></entry>
+ <entry>Programmes divers de Plan9.</entry>
+ </row>
+
+ <row>
+ <entry><filename>print</filename></entry>
+ <entry>Logiciels d'impression. Les logiciels de publication
+ (pr&eacute;visualiseurs, etc.) appartiennent aussi &agrave;
+ cette cat&eacute;gorie</entry>
+ </row>
+
+ <row>
+ <entry><filename>python*</filename></entry>
+ <entry>Logiciels &eacute;crits en Python</entry>
+ </row>
+
+ <row>
+ <entry><filename>russian</filename></entry>
+ <entry>Support de la langue Russe</entry>
+ </row>
+
+ <row>
+ <entry><filename>security</filename></entry>
+ <entry>Outils de s&eacute;curit&eacute;</entry>
+ </row>
+
+ <row>
+ <entry><filename>shells</filename></entry>
+ <entry>Interpr&eacute;teurs de commandes</entry>
+ </row>
+
+ <row>
+ <entry><filename>sysutils</filename></entry>
+ <entry>Utilitaires syst&egrave;me</entry>
+ </row>
+
+ <row>
+ <entry><filename>tcl75*</filename></entry>
+ <entry>Logiciels qui n&eacute;cessitent Tcl 7.5</entry>
+ </row>
+
+ <row>
+ <entry><filename>tcl76*</filename></entry>
+ <entry>Logiciels qui n&eacute;cessitent Tcl 7.6</entry>
+ </row>
+
+ <row>
+ <entry><filename>tcl80*</filename></entry>
+ <entry>Logiciels qui n&eacute;cessitent Tcl 8.0</entry>
+ </row>
+
+ <row>
+ <entry><filename>tcl81*</filename></entry>
+ <entry>Logiciels qui n&eacute;cessitent Tcl 8.1</entry>
+ </row>
+
+ <row>
+ <entry><filename>textproc</filename></entry>
+ <entry>Outils de traitement de texte, sauf les logiciels de
+ publication assist&eacute;e par ordinateur, qui vont dans
+ <filename>print/</filename></entry>
+ </row>
+
+ <row>
+ <entry><filename>tk41*</filename></entry>
+ <entry>Logiciels qui n&eacute;cessitent Tk 4.1</entry>
+ </row>
+
+ <row>
+ <entry><filename>tk42*</filename></entry>
+ <entry>Logiciels qui n&eacute;cessitent Tk 4.2</entry>
+ </row>
+
+ <row>
+ <entry><filename>tk80*</filename></entry>
+ <entry>Logiciels qui n&eacute;cessitent Tk 8.0</entry>
+ </row>
+
+ <row>
+ <entry><filename>tk81*</filename></entry>
+ <entry>Logiciels qui n&eacute;cessitent Tk 8.1</entry>
+ </row>
+
+ <row>
+ <entry><filename>vietnamese</filename></entry>
+ <entry>Support de la langue Vietnamienne</entry>
+ </row>
+
+ <row>
+ <entry><filename>windowmaker*</filename></entry>
+ <entry>Logiciels pour le gestionnaire de fen&ecirc;tres
+ WindowMaker</entry>
+ </row>
+
+ <row>
+ <entry><filename>www</filename></entry>
+ <entry>Logiciels en rapport avec le World Wide Web. Ce qui
+ concerne le langage HTML a aussi sa place ici</entry>
+ </row>
+
+ <row>
+ <entry>x11</entry>
+ <entry>Le syst&egrave;me X window et consorts. Cette
+ cat&eacute;gorie ne concerne que les logiciels directement en
+ rapport avec X Window. N'y mettez pas les applications X
+ ordinaires. Si votre logiciel est une application X,
+ d&eacute;finissez <makevar>USE_XLIB</makevar> (implicite avec
+ <makevar>USE_IMAKE</makevar>) et mettez le dans la
+ cat&eacute;gorie appropri&eacute;e. Un grand nombre d'entre
+ eux vont dans les autres cat&eacute;gories
+ <filename>x11-*</filename> (voir plus bas)</entry>
+ </row>
+
+ <row>
+ <entry><filename>x11-clocks</filename></entry>
+ <entry>Horloges X11</entry>
+ </row>
+
+ <row>
+ <entry><filename>x11-fm</filename></entry>
+ <entry>Gestionnaires de fichiers X11</entry>
+ </row>
+
+ <row>
+ <entry><filename>x11-fonts</filename></entry>
+ <entry>Polices de caract&egrave;res X11 et outils
+ associ&eacute;s</entry>
+ </row>
+
+ <row>
+ <entry><filename>x11-toolkits</filename></entry>
+ <entry>Bo&icirc;tes &agrave; outils X11</entry>
+ </row>
+
+ <row>
+ <entry><filename>x11-wm</filename></entry>
+ <entry>Gestionnaires de fen&ecirc;tres X11</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect3>
+
+ <sect3>
+ <title>Choisir la bonne cat&eacute;gorie</title>
+
+ <para>Comme de nombreuses cat&eacute;gories ont des logiciels en commun,
+ vous devez souvent d&eacute;cider laquelle sera la cat&eacute;gorie
+ principale de votre logiciel. Voici une liste de priorit&eacute;s, par
+ ordre d&eacute;croissant&nbsp;:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Les cat&eacute;gories li&eacute;es &agrave; la langue
+ viennent en premier. Par exemple, si vous installez des polices
+ X11 Japonaise, alors vous mettrez <literal>japanese x11</literal>
+ dans votre ligne <makevar>CATEGORIES</makevar>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Les cat&eacute;gories les plus sp&eacute;cifiques viennent
+ avant celles qui le sont moins. Par exemple, un &eacute;diteur
+ HTML doit &ecirc;tre list&eacute; dans <literal>www
+ editors</literal>, et non l'inverse. Vous n'avez par ailleurs pas
+ besoin de mettre <literal>net</literal> si le logiciel appartient
+ &agrave; l'une des cat&eacute;gories <literal>mail</literal>,
+ <literal>mbone</literal>, <literal>news</literal>,
+ <literal>security</literal> ou <literal>www</literal>.</para>
+ </listitem>
+
+ <listitem>
+ <para><literal>x11</literal> n'est une cat&eacute;gorie secondaire
+ que lorsque la cat&eacute;gorie principale est une langue
+ nationale. En particulier, il ne faut pas mettre
+ <literal>x11</literal> pour les applications X.</para>
+ </listitem>
+
+ <listitem>
+ <para>Si votre logiciel ne va vraiment nulle part ailleurs,
+ mettez-le dans <literal>misc</literal>.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>SI vous n'&ecirc;tes pas s&ucirc;r de la cat&eacute;gorie, mettez
+ s'il vous pla&icirc;t un commentaire &agrave; ce sujet lorsque vous
+ soumettez votre <command>send-pr</command> pour que nous puissions en
+ discuter avant de l'int&eacute;grer. (Si vous avez l'acc&egrave;s en
+ &eacute;criture, envoyez une note &agrave; &a.ports; pour qu'il y ait
+ discussion au pr&eacute;alable&mdash;les nouveaux logiciels sont trop
+ souvent import&eacute;s dans la mauvaise cat&eacute;gorie et doivent
+ &ecirc;tre d&eacute;plac&eacute;s imm&eacute;diatement
+ apr&egrave;s.)</para>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Modifications de ce document et du syst&egrave;me des logiciels
+ port&eacute;s</title>
+
+ <para>Si vous maintenez de noombreux logiciels port&eacute;s, vous
+ devriez vous abonner &agrave; &a.ports;. Les modifications importantes
+ au fonctionnement du catalogue des logiciels port&eacute;s y seront
+ annonc&eacute;es. Vous aurez toujours des informations plus
+ d&eacute;taill&eacute;es sur les derni&egrave;res modifications en
+ consultant les
+ <ulink url="http://www.FreeBSD.ORG/cgi/cvsweb.cgi/ports/Mk/bsd.port.mk">traces
+ CVS pour bsd.port.mk</ulink>.</para>
+ </sect2>
+
+ <sect2>
+ <title>That is It, Folks!</title>
+
+ <para>C'est vraiment un long chapitre, n'est-ce-pas&nbsp;? Merci de
+ nous avoir suivi jusqu'ici.</para>
+
+ <para>Vous savons donc maintenant comment porter un logiciel. Allons-y et
+ convertissons le monde entier en logiciel port&eacute;s&nbsp;! C'est la
+ fa&ccedil;on la plus simple de commencer &agrave; contribuer au projet
+ FreeBSD&nbsp;! <!-- smiley --><emphasis>:)</emphasis></para>
+ </sect2>
+ </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:
+-->
+
diff --git a/fr_FR.ISO_8859-1/books/handbook/ppp-and-slip/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/ppp-and-slip/chapter.sgml
new file mode 100644
index 0000000000..4ca6f4bf84
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/ppp-and-slip/chapter.sgml
@@ -0,0 +1,2783 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+ <chapter id="ppp-and-slip">
+ <title>PPP et SLIP</title>
+ &trans.a.haby;
+
+ <para>Si vous vous connectez &agrave; l'Internet avec un modem ou si vous
+ voulez offrir &agrave; d'autres la possibilit&eacute; de se connecter &agrave; l'Internet
+ par l'interm&eacute;diaire d'un syst&egrave;me FreeBSD, vous pouvez utiliser PPP ou
+ SLIP. Il y a par ailleurs deux versions de PPP:
+ <emphasis>en mode utilisateur</emphasis> (aussi appel&eacute;
+ <emphasis>iijppp</emphasis>) et <emphasis>int&eacute;gr&eacute; au
+ noyau</emphasis>. Ce chapitre d&eacute;crit les proc&eacute;dures de configuration
+ des deux variantes de PPP et de mise en oeuvre de SLIP.</para>
+
+
+ <sect1 id="userppp">
+ <title>Configurer PPP en mode utilisateur</title>
+
+ <para>La version utilisateur de PPP est apparue avec la version 2.0.5
+ de FreeBSD en suppl&eacute;ment &agrave; l'impl&eacute;mentation existante
+ de PPP dans le noyau. Qu'a donc de diff&eacute;rent cette
+ nouvelle version de PPP qui justifie son ajout? Pour citer les pages
+ de manuel:</para>
+
+ <blockquote>
+ <para>Ceci est le logiciel PPP sous forme de processus utilisateur.
+ PPP est normalement impl&eacute;ment&eacute; dans le noyau (e.g. le
+ &ldquo;d&eacute;mon&rdquo; <command>pppd</command>) et est alors plus
+ difficile &agrave; d&eacute;boguer ou
+ &agrave; modifier. A l'inverse, la pr&eacute;sente impl&eacute;mentation se pr&eacute;sente
+ sous forme de processus utilisateur utilisant le pilote de
+ p&eacute;riph&eacute;rique &ldquo;tunnel&rdquo;
+ (<devicename>tun</devicename>).</para>
+ </blockquote>
+
+ <para>Cela signifie essentiellement qu'au lieu de lancer un
+ &ldquo;d&eacute;mon&rdquo; PPP, le programme <command>ppp</command>
+ peut &ecirc;tre ex&eacute;cut&eacute; quand et de la fa&ccedil;on que l'on veut. Il n'y a
+ pas besoin de compiler d'interface PPP dans le noyau, parce que le
+ programme peut utiliser le pilote &ldquo;tunnel&rdquo; g&eacute;n&eacute;rique
+ pour &eacute;changer des donn&eacute;es avec le noyau.</para>
+
+ <para>A partir de maintenant, le programme utilisateur
+ <command>ppp</command> sera simplement appel&eacute; ppp, &agrave; moins qu'il ne
+ faille explicitement faire la distinction entre lui et d'autres
+ logiciels PPP client/serveur comme <command>pppd</command>. Sauf
+ indications contraires, toutes les commandes mentionn&eacute;es dans cette
+ section doivent &ecirc;tre ex&eacute;cut&eacute;es par le super-utilisateur
+ <username>root</username>.</para>
+
+ <para>Il y a de nombreuses am&eacute;liorations dans la version 2 de ppp. Vous
+ pouvez savoir quelle est la version que vous utilisez en lan&ccedil;ant ppp
+ sans argument et en tapant <command>show version</command> &agrave; l'invite.
+ Il est facile de passer &agrave; la version la plus r&eacute;cente de ppp (sur
+ n'importe quelle version de FreeBSD) en t&eacute;l&eacute;chargeant la derni&egrave;re
+ version archiv&eacute;e sur
+ <ulink url="http://www.Awfulhak.org/ppp.html">www.Awfulhak.org</ulink>.</para>
+
+ <sect2>
+ <title>Avant de commencer</title>
+
+ <para>Ce document suppose que vous en &ecirc;tes &agrave; peu pr&egrave;s &agrave; ce
+ point:</para>
+
+ <para>Vous avez un compte chez un fournisseur d'acc&egrave;s Internet (FAI)
+ qui vous permet d'utiliser PPP. Vous avez de plus un modem (ou un
+ autre p&eacute;riph&eacute;rique) install&eacute; et correctement configur&eacute; avec lequel
+ vous pouvez vous connecter chez votre fournisseur d'acc&egrave;s.</para>
+
+ <para>Vous devrez avoir les informations suivantes &agrave; port&eacute;e de
+ main:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>Le(s) num&eacute;ro(s) de t&eacute;l&eacute;phone de votre fournisseur
+ d'acc&egrave;s.</para>
+ </listitem>
+
+ <listitem>
+ <para>Votre identifiant utilisateur et votre mot de passe. Selon
+ le cas, ce seront soit un identifiant et un mot de passe Unix
+ classiques, soit un identifiant et un mot de passe PPP PAP ou
+ CHAP.</para>
+ </listitem>
+
+ <listitem>
+ <para>Les adresses IP d'un ou plusieurs serveurs de noms de
+ domaines. Votre fournisseur doit normalement vous donner deux
+ adresses IP. Vous <emphasis>devez</emphasis> avoir cette
+ information pour <application>PPP</application> version 1.x,
+ &agrave; moins que vous n'ayez votre propre serveur de noms de
+ domaines. A partir de la version 2,
+ <application>PPP</application> supporte la n&eacute;gociation des
+ adresses des serveurs de noms. Si votre fournisseur dispose
+ de cette fonctionnalit&eacute;, alors la commande
+ <command>enable dns</command> dans votre fichier de
+ configuration dit &agrave; <application>PPP</application> de
+ d&eacute;finir &agrave; votre place les serveurs de noms.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Les informations suivantes vous ont peut-&ecirc;tre aussi &eacute;t&eacute; donn&eacute;es
+ par votre fournisseur d'acc&egrave;s, mais ce n'est pas absolument
+ indispensable:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>L'adresse IP de la passerelle de votre fournisseur. La
+ passerelle est la machine &agrave; laquelle vous vous connecterez et
+ qui deviendra votre <emphasis>route par
+ d&eacute;faut</emphasis>&nbsp;-&nbsp;&ldquo;default route&rdquo;. S'il
+ ne vous l'a pas donn&eacute;e, vous pouvez en fabriquer une et le serveur
+ PPP de votre fournisseur vous donnera l'adresse exacte quand vous
+ vous connecterez.</para>
+
+ <para>ppp conna&icirc;t ce num&eacute;ro IP sous l'appellation
+ <literal>HISADDR</literal>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Le masque de sous-r&eacute;seau de votre fournisseur d'acc&egrave;s. S'il ne
+ vous l'a pas donn&eacute;, vous pouvez sans risque utiliser la valeur
+ <hostid role="netmask">255.255.255.0</hostid>.</para>
+
+ <para>Si votre fournisseur vous procure une adresse IP fixe et un
+ nom de machine, vous pouvez aussi introduire ces informations dans
+ votre configuration. Sinon, nous le laisserons simplement nous
+ attribuer l'adresse IP qui lui convient.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Si vous n'avez pas l'une des informations requises, contactez
+ votre fournisseur et assurez-vous qu'il vous la donne.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Compiler un noyau pour ppp</title>
+
+ <para>Comme on l'a vu dans la description qu'en donnent les pages de
+ manuel, <command>ppp</command>
+ utilise le pilote <devicename>tun</devicename> du noyau. Il faut
+ vous assurez que le support de ce pseudo-p&eacute;riph&eacute;rique est bien
+ inclus dans votre noyau.</para>
+
+ <para>Pour cela, allez dans votre r&eacute;pertoire de configuration du
+ noyau (<filename>/sys/i386/conf</filename> ou
+ <filename>/sys/pc98/conf</filename>) et consultez votre fichier
+ de configuration. Il doit comporter quelque part la ligne
+
+ <programlisting>
+pseudo-device tun 1</programlisting>
+
+ Elle figure en standard dans le noyau <filename>GENERIC</filename>,
+ donc, si vous n'avez pas install&eacute; de noyau sur-mesure ou n'avez pas
+ de r&eacute;pertoire <filename>/sys</filename>, vous n'avez rien
+ &agrave; changer.</para>
+
+ <para>Si la ligne n'est pas dans le fichier de configuration de votre
+ noyau, ou si vous avez besoin de plus d'un p&eacute;riph&eacute;rique
+ <devicename>tun</devicename> (par exemple, si vous installez un
+ serveur qui puisse fournir 16 connexions simultan&eacute;es vers
+ l'ext&eacute;rieur, vous devrez mettre <literal>16</literal> au lieu de
+ <literal>1</literal>), il vous faut alors ajouter la ligne,
+ recompiler, r&eacute;installer et red&eacute;marrer avec le nouveau noyau.
+ Reportez-vous s'il vous pla&icirc;t au chapitre
+ <link linkend="kernelconfig">Configurer le noyau de FreeBSD</link>
+ pour plus d'informations sur la marche &agrave; suivre.</para>
+
+ <para>Vous pouvez voir de combien de pseudo-p&eacute;riph&eacute;riques
+ <devicename>tun</devicename> dispose votre noyau avec la
+ commande suivante:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>ifconfig -a</userinput>
+tun0: flags=8051&lt;UP,POINTOPOINT,RUNNING,MULTICAST&gt; mtu 1500
+ inet 200.10.100.1 --&gt; 203.10.100.24 netmask 0xffffffff
+tun1: flags=8050&lt;POINTOPOINT,RUNNING,MULTICAST&gt; mtu 576
+tun2: flags=8051&lt;UP,POINTOPOINT,RUNNING,MULTICAST&gt; mtu 1500
+ inet 203.10.100.1 --&gt; 203.10.100.20 netmask 0xffffffff
+tun3: flags=8010&lt;POINTOPOINT,MULTICAST&gt; mtu 1500</screen>
+ </informalexample>
+
+ <para>Dans cette exemple, il y a quatre p&eacute;riph&eacute;riques
+ &ldquo;tunnel&rdquo;, dont deux sont d&eacute;j&agrave; configur&eacute;s et utilis&eacute;s.
+ Remarquez que l'indication <literal>RUNNING</literal> signifie que
+ l'interface
+ a d&eacute;j&agrave; &eacute;t&eacute; utilis&eacute;e &agrave; un moment donn&eacute;&nbsp;-&nbsp;ce n'est pas
+ une erreur si votre interface n'appara&icirc;t pas comme
+ <literal>RUNNING</literal>.</para>
+
+ <para>Si votre noyau n'inclut pas de pseudo-p&eacute;riph&eacute;rique
+ <devicename>tun</devicename> et que vous ne pouvez pas le recompiler
+ pour une raison ou une autre, tout n'est pas perdu. Vous devriez
+ pouvoir charger dynamiquement le code. Voyez les pages de manuel de
+ <citerefentry><refentrytitle>modload</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ et <citerefentry><refentrytitle>lkm</refentrytitle><manvolnum>4</manvolnum></citerefentry>
+ appropri&eacute;es pour plus de d&eacute;tails.</para>
+
+ <para>Vous voudrez peut-&ecirc;tre en profiter pour configurer en m&ecirc;me temps
+ un coupe-feu. Vous trouverez plus de d&eacute;tails &agrave; la section
+ <link linkend="firewalls">Coupe-Feux</link>.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Tester le p&eacute;riph&eacute;rique <devicename>tun</devicename></title>
+
+ <para>La plupart des utilisateurs n'auront besoin que d'un
+ p&eacute;riph&eacute;rique <devicename>tun</devicename>
+ (<filename>/dev/tun0</filename>). Si vous en avez d&eacute;finis plus d'un
+ (i.e., une autre valeur que <literal>1</literal> &agrave; la ligne
+ <literal>pseudo-device</literal> du fichier de configuration du
+ noyau), adaptez toutes les r&eacute;f&eacute;rences &agrave;
+ <devicename>tun0</devicename> dans ce qui suit &agrave; votre cas
+ particulier.</para>
+
+ <para>La meilleure fa&ccedil;on de vous assurez que votre p&eacute;riph&eacute;rique
+ <devicename>tun0</devicename> est correctement configur&eacute; est de
+ recr&eacute;er le fichier sp&eacute;cial de p&eacute;riph&eacute;rique. Pour cela, ex&eacute;cutez les
+ commandes suivantes:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cd /dev</userinput>
+&prompt.root; <userinput>./MAKEDEV tun0</userinput></screen>
+ </informalexample>
+
+ <para>Si vous avez 16 p&eacute;riph&eacute;riques &ldquo;tunnel&rdquo;
+ dans votre noyau, il vous
+ faudra cr&eacute;er plus que <filename>tun0</filename>:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cd /dev</userinput>
+&prompt.root; <userinput>./MAKEDEV tun15</userinput></screen>
+ </informalexample>
+
+ <para>Pour v&eacute;rifier encore que votre noyau est correctement configur&eacute;,
+ la commande ci-dessous devrait vous donner le m&ecirc;me r&eacute;sultat:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>ifconfig tun0</userinput>
+tun0: flags=8050&lt;POINTOPOINT,RUNNING,MULTICAST&gt; mtu 1500</screen>
+ </informalexample>
+
+ <para>L'indication <literal>RUNNING</literal> n'est peut-&ecirc;tre pas encore
+ pr&eacute;sente, auquel cas vous verriez:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>ifconfig tun0</userinput>
+tun0: flags=8010&lt;POINTOPOINT,MULTICAST> mtu 1500</screen>
+ </informalexample>
+ </sect2>
+
+ <sect2>
+ <title>Configuration du solveur de noms</title>
+
+ <para>Le solveur est la partie du syst&egrave;me qui convertit les adresses
+ IP en noms de machines et vice versa. Il est configurable pour
+ consulter des tables de correspondances entre adresses et noms
+ qui peuvent se trouver &agrave; deux endroits diff&eacute;rents. La premi&egrave;re est
+ le fichier <filename>/etc/hosts</filename>
+ (<command>man 5 hosts</command>). La seconde est le service de noms
+ de domaines Internet (&ldquo;Domain Name
+ Service&rdquo;&nbsp;-&nbsp;DNS), une base de donn&eacute;es distribu&eacute;e
+ dont la description d&eacute;borde le cadre du pr&eacute;sent document.</para>
+
+ <para>Cette section d&eacute;crit bri&egrave;vement comment configurer votre
+ solveur.</para>
+
+ <para>Le solveur est un ensemble d'appels syst&egrave;me qui font la
+ conversion, mais vous devez leur dire o&ugrave; trouver l'information.
+ Cela se fait en modifiant le fichier
+ <filename>/etc/host.conf</filename>.
+ <emphasis>N'appelez pas</emphasis> ce fichier
+ <filename>/etc/hosts.conf</filename> (Remarquez le
+ <literal>s</literal> en trop), cela pourrait poser des
+ probl&egrave;mes.</para>
+
+ <sect3>
+ <title>Renseigner le fichier
+ <filename>/etc/host.conf</filename></title>
+
+ <para>Ce fichier doit contenir les deux lignes suivantes (dans cet
+ ordre):</para>
+
+ <programlisting>
+hosts
+bind</programlisting>
+
+ <para>Cela dit au solveur de chercher d'abord dans le fichier
+ <filename>/etc/hosts</filename>, puis de consulter le
+ DNS s'il n'a pas trouv&eacute; le nom recherch&eacute;.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>Renseigner le fichier
+ <filename>/etc/hosts</filename>(5)</title>
+
+ <para>Ce fichier doit contenir les noms et les adresses IP des
+ machines de votre r&eacute;seau. Il doit au grand minimum contenir les
+ entr&eacute;es pour la machine sur laquelle tournera ppp. Supposons
+ qu'elle s'appelle <hostid role="fqdn">foo.bar.com</hostid>
+ et que son adresse IP soit
+ <hostid role="ipaddr">10.0.0.1</hostid>,
+ <filename>/etc/hosts</filename> devra comporter:</para>
+
+ <programlisting>
+127.0.0.1 localhost
+10.0.0.1 foo.bar.com foo</programlisting>
+
+ <para>La premi&egrave;re ligne d&eacute;finit l'adresse <hostid>localhost</hostid>
+ comme synonyme de la machine elle-m&ecirc;me. Quelle que soit votre
+ propre adresse IP, l'adresse IP sur cette ligne doit toujours
+ &ecirc;tre <hostid role="ipaddr">127.0.0.1</hostid>. La deuxi&egrave;me ligne
+ affecte au nom <hostid role="fqdn">foo.bar.com</hostid> (et au
+ raccourci <hostid>foo</hostid>) l'adresse IP
+ <hostid role="ipaddr">10.0.0.1</hostid>.</para>
+
+ <para>Si votre fournisseur vous a donn&eacute; une adresse IP
+ statique et un
+ nom de machine, mettez-les &agrave; la place de l'entr&eacute;e
+ <hostid role="ipaddr">10.0.0.1</hostid>.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>Renseigner le fichier
+ <filename>/etc/resolv.conf</filename></title>
+
+ <para><filename>/etc/resolv.conf</filename> dit au solveur ce qu'il
+ doit faire. Si vous avez en service votre propre DNS, vous pouvez
+ le laisser vide. Vous devez normalement y mettre la(les) ligne(s)
+ suivante(s):</para>
+
+ <programlisting>
+nameserver <replaceable>x.x.x.x</replaceable>
+nameserver <replaceable>y.y.y.y</replaceable>
+domain <replaceable>bar.com</replaceable></programlisting>
+
+ <para><hostid
+ role="ipaddr"><replaceable>x.x.x.x</replaceable></hostid> et
+ <hostid role="ipaddr"><replaceable>y.y.y.y</replaceable></hostid>
+ sont les adresses que votre fournisseur vous a donn&eacute;es.
+ Mettez autant de lignes <literal>nameserver</literal> qu'il vous
+ a donn&eacute; d'adresses. La ligne <literal>domain</literal> se r&eacute;f&egrave;re
+ par d&eacute;faut au nom de domaine de votre machine, et est
+ probablement inutile. Consultez les pages de manuel de
+ <filename>resolv.conf</filename> pour plus de d&eacute;tails sur les
+ autres entr&eacute;es possibles dans ce fichier.</para>
+
+ <para>Si vous utilisez la version 2 ou ult&eacute;rieure de PPP, la commande
+ <command>enable dns</command> dira &agrave; PPP de demander &agrave; votre
+ fournisseur de confirmer les informations sur les serveurs de noms.
+ S'il vous donne des adresses diff&eacute;rentes (ou s'il n'y a pas de ligne
+ <literal>nameserver</literal> dans
+ <filename>/etc/resolv.conf</filename>), PPP r&eacute;crira dans le fichier
+ les valeurs que votre fournisseur lui aura donn&eacute;es.</para>
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Configurer <command>ppp</command></title>
+
+ <para>Le programme utilisateur <command>ppp</command> et le
+ &ldquo;d&eacute;mon&rdquo; <command>pppd</command> (l'impl&eacute;mentation de
+ PPP dans le noyau) emploient tous deux des fichiers de configuration
+ qui se trouvent dans le r&eacute;pertoire <filename>/etc/ppp</filename>.
+ Les fichiers de configuration fournis en exemple sont une bonne
+ r&eacute;f&eacute;rence pour ppp en mode utilisateur, ne les effacez pas.</para>
+
+ <para>Pour configurer <command>ppp</command>, vous devrez, selon vos
+ besoins, renseigner un certain nombre de fichiers. Ce que vous y
+ mettrez d&eacute;pend entre autres du fait que votre fournisseur vous
+ alloue une adresse IP statique (i.e., on vous donne une adresse IP
+ et vous utilisez toujours la m&ecirc;me) ou dynamique (i.e., votre adresse
+ IP peut &ecirc;tre diff&eacute;rente &agrave; chaque session PPP).</para>
+
+ <sect3 id="userppp-staticIP">
+ <title>PPP et les adresses IP statiques</title>
+
+ <para>Vous devrez cr&eacute;er un fichier de configuration appel&eacute;
+ <filename>/etc/ppp/ppp.conf</filename>. Il ressemblera &agrave;
+ l'exemple ci-dessous:</para>
+
+ <note>
+ <para>Les lignes qui se terminent par <literal>:</literal>
+ commencent en premi&egrave;re colonne. Toutes les autres lignes
+ doivent &ecirc;tre indent&eacute;es avec des espaces ou des tabulations
+ comme dans l'exemple donn&eacute;.</para>
+ </note>
+
+ <programlisting>
+1 default:
+2 set device /dev/cuaa0
+3 set speed 115200
+4 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATE1Q0 OK-AT-OK \\dATDT\\TTIMEOUT 40 CONNECT"
+5 provider:
+6 set phone "(0123) 456 7890"
+7 set login "TIMEOUT 10 \"\" \"\" gin:--gin: foo word: bar col: ppp"
+8 set timeout 300
+9 set ifaddr <replaceable>x.x.x.x</replaceable> <replaceable>y.y.y.y</replaceable> 255.255.255.0 0.0.0.0
+10 add default HISADDR
+11 enable dns</programlisting>
+
+ <para>Ne mettez pas les num&eacute;ros de ligne, ils ne sont l&agrave; que pour
+ pouvoir y faire r&eacute;f&eacute;rence dans la suite de cette
+ documentation.</para>
+
+ <variablelist>
+ <varlistentry><term>Ligne 1:</term>
+ <listitem>
+ <para>D&eacute;finit l'entr&eacute;e par d&eacute;faut. Les commandes de cette
+ entr&eacute;e sont automatiquement ex&eacute;cut&eacute;es au lancement de
+ ppp.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Ligne 2:</term>
+
+ <listitem>
+ <para>Identifie le p&eacute;riph&eacute;rique auquel est connect&eacute; le
+ modem. <devicename>COM1:</devicename> correspond &agrave;
+ <filename>/dev/cuaa0</filename> et
+ <devicename>COM2:</devicename> &agrave;
+ <filename>/dev/cuaa1</filename>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Ligne 3:</term>
+
+ <listitem>
+ <para>Fixe la vitesse &agrave; laquelle vous voulez vous
+ connecter. Si 115200 ne marche pas (cela devrait
+ fonctionner avec n'importe quel modem assez r&eacute;cent),
+ essayez avec 38400.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Ligne 4:</term>
+
+ <listitem>
+ <para>La cha&icirc;ne d'appel. PPP en mode utilisateur utilise une
+ syntaxe &ldquo;commande envoy&eacute;e/r&eacute;ponse attendue&rdquo;
+ semblable &agrave; celle du programme
+ <citerefentry><refentrytitle>chat</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
+ Reportez-vous aux pages de manuel pour plus
+ d'informations sur les caract&eacute;ristiques de ce langage.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Ligne 5:</term>
+
+ <listitem>
+ <para>D&eacute;finit une entr&eacute;e pour un fournisseur appel&eacute;
+ &ldquo;provider&rdquo;.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Ligne 6:</term>
+
+ <listitem>
+ <para>Donne le num&eacute;ro de t&eacute;l&eacute;phone de ce fournisseur.
+ On peut indiquer plusieurs num&eacute;ros de t&eacute;l&eacute;phone avec
+ les caract&egrave;res <literal>:</literal> ou
+ <literal>|</literal> comme s&eacute;parateur. La diff&eacute;rence
+ entre les deux est d&eacute;crite dans les pages de manuel de
+ ppp. En r&eacute;sum&eacute;, si vous voulez utiliser les num&eacute;ros les
+ uns apr&egrave;s les autres, utilisez <literal>:</literal>.
+ Si vous voulez toujours essayer d'appeler le premier
+ num&eacute;ro et n'utiliser les autres qu'en cas d'&eacute;chec,
+ servez-vous de <literal>|</literal>. Mettez toujours la
+ s&eacute;rie de num&eacute;ros de t&eacute;l&eacute;phone entre guillemets comme
+ dans l'exemple.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Ligne 7:</term>
+
+ <listitem>
+ <para>La s&eacute;quence d'ouverture de session suit la m&ecirc;me
+ syntaxe de style &ldquo;chat&rdquo; que la s&eacute;quence
+ d'&eacute;tablissement de la connexion. Dans l'exemple donn&eacute;,
+ la s&eacute;quence correspond &agrave; un service o&ugrave; l'ouverture
+ de session ressemble &agrave;:</para>
+
+ <informalexample>
+ <screen>J. Random Provider
+login: <replaceable>foo</replaceable>
+password: <replaceable>bar</replaceable>
+protocol: ppp</screen>
+ </informalexample>
+
+ <para>Vous devrez modifier cette proc&eacute;dure pour l'adapter
+ &agrave; vos besoins. Quand vous la mettez pour la premi&egrave;re
+ fois au point, activez la trace de &ldquo;chat&rdquo;
+ pour v&eacute;rifier que la conversation se d&eacute;roule conform&eacute;ment
+ &agrave; votre attente.</para>
+
+ <para>Si vous utilisez PAP ou CHAP, il n'y aura pas &agrave; ce stade
+ d'ouverture de session, la s&eacute;quence peut donc &ecirc;tre laiss&eacute;e &agrave;
+ blanc. Voyez la section
+ <link linkend="userppp-PAPnCHAP">authentification PAP et
+ CHAP</link> pour plus de d&eacute;tails.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Ligne 8:</term>
+
+ <listitem>
+ <para>D&eacute;finit le d&eacute;lai de connexion par d&eacute;faut (en
+ secondes). Ici, la connexion sera automatiquement coup&eacute;e
+ apr&egrave;s 300 secondes d'inactivit&eacute;. Si vous ne voulez pas
+ de coupure automatique apr&egrave;s un temps d'inactivit&eacute;
+ donn&eacute;, mettez cette valeur &agrave; z&eacute;ro.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Ligne 9:</term>
+
+ <listitem>
+ <para>Donne les adresses des interfaces. La cha&icirc;ne
+ <replaceable>x.x.x.x</replaceable> doit &ecirc;tre remplac&eacute;e
+ par l'adresse IP que votre fournisseur vous a allou&eacute;e.
+ La cha&icirc;ne <replaceable>y.y.y.y</replaceable> doit &ecirc;tre
+ remplac&eacute;e par l'adresse IP que votre fournisseur vous
+ a donn&eacute;e comme passerelle (la machine &agrave; laquelle vous
+ vous connectez). Si votre fournisseur ne vous a pas
+ indiqu&eacute; d'adresse pour la passerelle, utilisez
+ <hostid role="netmask">10.0.0.2/0</hostid>. Si vous
+ devez &ldquo;deviner&rdquo; cette adresse, veillez &agrave;
+ cr&eacute;er une entr&eacute;e dans
+ <filename>/etc/ppp/ppp.linkup</filename>
+ comme expliqu&eacute; &agrave; la section
+ <link linkend="userppp-dynamicIP">PPP et les adresses
+ IP dynamiques</link>. Si cette ligne manque,
+ <command>ppp</command> ne pourra pas &ecirc;tre utilis&eacute; en
+ mode <option>-auto</option> ou
+ <option>-dynamic</option>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Ligne 10:</term>
+
+ <listitem>
+ <para>Ajoute une route par d&eacute;faut vers la passerelle de
+ votre fournisseur. Le mot r&eacute;serv&eacute;
+ <literal>HISADDR</literal> est remplac&eacute; par l'adresse de
+ la passerelle donn&eacute;e &agrave; la ligne 9. Il est important que
+ cette ligne apparaisse apr&egrave;s la pr&eacute;c&eacute;dente, sans quoi
+ le valeur de <literal>HISADDR</literal> n'est pas encore
+ initialis&eacute;e.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Ligne 11:</term>
+
+ <listitem>
+ <para>Cette ligne dit &agrave; PPP de demander &agrave; votre fournisseur de
+ confirmer que les adresses des serveurs de noms sont correctes.
+ Si votre fournisseur supporte cette fonctionnalit&eacute;, PPP peut
+ alors mettre &agrave; jour les entr&eacute;es pour les serveurs de noms dans
+ <filename>/etc/resolv.conf</filename> avec les bonnes
+ valeurs.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>Il n'est pas utile d'ajouter une entr&eacute;e au fichier
+ <filename>ppp.linkup</filename> lorsque vous avez une adresse IP
+ statique car les entr&eacute;es de votre table de routage sont correctes
+ avant m&ecirc;me que vous vous soyez connect&eacute;. Vous pouvez malgr&eacute; tout
+ vouloir ajouter des entr&eacute;es pour lancer des programmes une fois
+ que vous &ecirc;tes d&eacute;j&agrave; connect&eacute;. C'est expliqu&eacute; plus bas dans
+ l'exemple pour <command>sendmail</command>.</para>
+
+ <para>Il y a des exemples de fichiers de configuration dans le
+ r&eacute;pertoire <filename>/etc/ppp</filename>.</para>
+
+ </sect3>
+
+ <sect3 id="userppp-dynamicIP">
+ <title>PPP et les adresses IP dynamiques</title>
+
+ <para>Si votre fournisseur ne vous donne pas d'adresse IP statique,
+ <command>ppp</command> peut &ecirc;tre configur&eacute; pour n&eacute;gocier les
+ adresses locale et &eacute;loign&eacute;e. Cela se fait en
+ &ldquo;devinant&rdquo; l'adresse IP et en laissant
+ <command>ppp</command> la rectifier avec le protocole de
+ configuration IP (&ldquo;IP Configuration
+ Protocol&rdquo;&nbsp;-&nbsp;IPCP) une fois la connexion &eacute;tablie.
+ Le fichier de configuration <filename>ppp.conf</filename> est le
+ m&ecirc;me que pour <link linkend="userppp-staticIP">PPP et les
+ addresses IP statiques</link>, aux modifications suivantes
+ pr&egrave;s:</para>
+
+ <programlisting>
+9 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0</programlisting>
+
+ <para>Encore une fois, ne mettez pas les num&eacute;ros de ligne, ils ne
+ sont l&agrave; que pour y faire r&eacute;f&eacute;rence dans le suite des explications.
+ Indentez avec au moins un blanc.</para>
+
+ <variablelist>
+ <varlistentry><term>Ligne 9:</term>
+ <listitem>
+ <para>Le nombre qui suit le caract&egrave;re <literal>/</literal>
+ est le nombre de bits de l'adresse que ppp ne n&eacute;gociera
+ pas. Vous voudrez peut &ecirc;tre utiliser des adresses IP plus
+ adapt&eacute;es &agrave; votre cas particulier, mais l'exemple donn&eacute;
+ marchera dans tous les cas de figure.</para>
+
+ <para>Le dernier argument (<literal>0.0.0.0</literal>) dit &agrave; PPP
+ de n&eacute;gocier en utilisant l'adresse <hostid
+ role="ipaddr">0.0.0.0</hostid> plut&ocirc;t que <hostid
+ role="ipaddr">10.0.0.1</hostid>. Ne mettez pas
+ <literal>0.0.0.0</literal> en premier argument de
+ <command>set ifaddr</command> parce que cela emp&ecirc;che PPP
+ de d&eacute;finir la route initiale en mode
+ <option>-auto</option>.</para>
+
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>Si vous utilisez la version 1.x de PPP, il vous faudra aussi
+ une entr&eacute;e dans <filename>/etc/ppp/ppp.linkup</filename>.
+ <filename>ppp.linkup</filename> est utilis&eacute; apr&egrave;s que la connexion
+ ait &eacute;t&eacute; &eacute;tablie. A ce stade, <command>ppp</command> conna&icirc;t les
+ adresses IP <emphasis>r&eacute;elles</emphasis>. L'entr&eacute;e qui suit
+ supprimera les routes erron&eacute;es existantes et cr&eacute;era les routes
+ valides:</para>
+
+ <programlisting>
+1 provider:
+2 delete ALL
+3 add 0 0 HISADDR</programlisting>
+
+ <variablelist>
+ <varlistentry><term>Ligne 1:</term>
+ <listitem>
+ <para>A l'&eacute;tablissement de la connexion,
+ <command>ppp</command> parcourera les entr&eacute;es de
+ <filename>ppp.linkup</filename> selon le principe
+ suivant. Il essayera d'abord de trouver le m&ecirc;me libell&eacute;
+ que celui qui a &eacute;t&eacute; employ&eacute; dans
+ <filename>ppp.conf</filename>. S'il &eacute;choue, il cherchera
+ une entr&eacute;e pour l'adresse IP de la passerelle. C'est une
+ entr&eacute;e dont le libell&eacute; est compos&eacute; de quatre entiers (pour
+ les quatre octets). S'il ne la trouve pas non plus, il
+ cherchera l'entr&eacute;e <literal>MYADDR</literal>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Line 2:</term>
+
+ <listitem>
+ <para>Cette ligne dit &agrave; <command>ppp</command> de supprimer
+ toutes les routes existantes pour l'interface
+ <devicename>tun</devicename> qu'il utilise (sauf la route
+ directe).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Ligne 3:</term>
+
+ <listitem>
+ <para>Cette ligne dit &agrave; <command>ppp</command> d'ajouter
+ une route par d&eacute;faut vers <literal>HISADDR</literal>.
+ <literal>HISADDR</literal> sera remplac&eacute;e par l'adresse IP
+ de la passerelle n&eacute;goci&eacute;e par IPCP.</para>
+
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>Voyez l'entr&eacute;e &ldquo;pmdemand&rdquo; dans les fichiers
+ <filename>/etc/ppp/ppp.conf.sample</filename> et
+ <filename>/etc/ppp/ppp.linkup.sample</filename> pour avoir un
+ exemple d&eacute;taill&eacute;.</para>
+
+ <para>La version 2 de PPP introduit les &ldquo;routes
+ persistantes&rdquo;. Toutes les lignes
+ <literal>add</literal> ou <literal>delete</literal> qui contiennent
+ <literal>MYADDR</literal> ou <literal>HISADDR</literal> sont
+ m&eacute;moris&eacute;es et chaque fois que la valeur de
+ <literal>MYADDR</literal> ou <literal>HISADDR</literal> change, les
+ routes sont red&eacute;finies. Il n'est donc plus n&eacute;cessaire de r&eacute;p&eacute;ter ces
+ lignes dans <filename>ppp.linkup</filename>.</para>
+ </sect3>
+
+ <sect3>
+ <title>Recevoir des appels entrants avec <command>ppp</command></title>
+
+ <para>Cette section vous explique comment configurer
+ <command>ppp</command> pour l'utiliser comme serveur.</para>
+
+ <para>Quand vous configurez <command>ppp</command> pour recevoir
+ des appels entrants sur une machine connect&eacute;e &agrave; un r&eacute;seau local,
+ vous devez d&eacute;cider si vous transmettrez des paquets vers le
+ r&eacute;seau local. Si c'est le cas, vous devrez allouer &agrave; la machine
+ distante une adresse IP sur votre sous-r&eacute;seau local et utiliser la
+ commande
+
+ <programlisting>
+enable proxy</programlisting>
+
+ dans le fichier <filename>ppp.conf</filename>. Vous devrez aussi
+ vous assurer que le fichier <filename>/etc/rc.conf</filename>
+ (ce fichier s'appelait auparavant
+ <filename>/etc/sysconfig</filename>) contienne la ligne:</para>
+
+ <programlisting>
+gateway=YES</programlisting>
+
+ <sect4>
+ <title>Quel &ldquo;getty&rdquo;?</title>
+
+ <para>La section
+ <link linkend="dialup">Connexions t&eacute;l&eacute;phoniques</link>
+ d&eacute;crit en d&eacute;tail la mise en oeuvre des connexions
+ entrantes avec &ldquo;getty&rdquo;.</para>
+
+ <para>Une alternative &agrave; <command>getty</command> est <ulink
+ url="http://www.leo.org/~doering/mgetty/index.html">mgetty</ulink>, une version de <command>getty</command> sp&eacute;cialement con&ccedil;ue pour les connexions t&eacute;l&eacute;phoniques.</para>
+
+ <para>Un des avantages de <command>mgetty</command> est qu'il
+ <emphasis>discute</emphasis> avec les modems, ce qui signifie
+ que si le port est marqu&eacute; &ldquo;off&rdquo; dans
+ <filename>/etc/ttys</filename>, votre modem ne d&eacute;crochera pas
+ le t&eacute;l&eacute;phone.</para>
+
+ <para>Les derni&egrave;res versions de <command>mgetty</command> (&agrave;
+ partir de la 0.99b&ecirc;ta) suportent aussi la d&eacute;tection automatique
+ des fluxs PPP, ce qui permet &agrave; vos clients d'acc&eacute;der au serveur
+ sans ex&eacute;cuter de proc&eacute;dures particuli&egrave;res.</para>
+
+ <para>Voyez <link linkend="userppp-mgetty">Mgetty et
+ AutoPPP</link> pour plus d'informations sur
+ <command>mgetty</command>.</para>
+
+ </sect4>
+
+ <sect4>
+ <title>Autorisations pour PPP</title>
+
+ <para><command>ppp</command> doit normalement &ecirc;tre ex&eacute;cut&eacute; avec un
+ IDentifiant utilisateur de 0. Cependant, si vous voulez
+ autoriser l'ex&eacute;cution du serveur <command>ppp</command>, comme
+ d&eacute;crit ci-dessous, sous un compte utilisateur ordinaire, vous
+ devez autoriser ces utilisateurs &agrave; ex&eacute;cuter
+ <command>ppp</command> en les ajoutant au groupe
+ <username>network</username> dans
+ <filename>/etc/group</filename>.</para>
+
+ <para>Vous devrez aussi leur donner acc&egrave;s &agrave; une ou plusieurs sections
+ du fichier de configuration avec la commande
+ <command>allow</command>:</para>
+
+ <programlisting>
+allow users fred mary</programlisting>
+
+ <para>Si vous mettez cette commande dans la section
+ <literal>default</literal>, vous donnez aux utilisateurs mentionn&eacute;s
+ acc&egrave;s &agrave; tout.</para>
+ </sect4>
+
+ <sect4>
+ <title>Installer une proc&eacute;dure PPP pour les utilisateurs
+ avec des adresses IP dynamiques</title>
+
+ <para>Cr&eacute;ez un fichier appel&eacute;
+ <filename>/etc/ppp/ppp-shell</filename> comme suit:</para>
+
+ <programlisting>
+#!/bin/sh
+IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'`
+CALLEDAS="$IDENT"
+TTY=`tty`
+
+if [ x$IDENT = xdialup ]; then
+ IDENT=`basename $TTY`
+fi
+
+echo "PPP pour $CALLEDAS sur $TTY"
+echo "D&eacute;marrage PPP pour $IDENT"
+
+exec /usr/sbin/ppp -direct $IDENT</programlisting>
+
+ <para>Cette proc&eacute;dure doit &ecirc;tre ex&eacute;cutable. Cr&eacute;ez maintenant un
+ lien symbolique appel&eacute; <filename>ppp-dialup</filename> sur
+ cette proc&eacute;dure avec la commande:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>ln -s ppp-shell /etc/ppp/ppp-dialup</userinput></screen>
+ </informalexample>
+
+ <para>Utilisez cette proc&eacute;dure comme
+ <emphasis>interpr&eacute;teur de commandes</emphasis> pour tous vos
+ utilisateurs qui se connectent avec ppp. Voici une exemple de
+ fichier <filename>/etc/password</filename> avec un utilisateur
+ PPP appel&eacute; <username>pchilds</username>. (n'oubliez pas de ne
+ pas &eacute;diter directement le fichier <filename>passwd</filename>,
+ utilisez <command>vipw</command>):</para>
+
+ <programlisting>
+pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup</programlisting>
+
+ <para>Cr&eacute;ez un r&eacute;pertoire <filename>/home/ppp</filename> que tout
+ le monde puisse lire, avec le fichier vide suivant:
+
+ <informalexample>
+ <screen>-r--r--r-- 1 root wheel 0 May 27 02:23 .hushlogin
+-r--r--r-- 1 root wheel 0 May 27 02:22 .rhosts</screen>
+ </informalexample>
+
+ ce qui &eacute;vite que le contenu du fichier
+ <filename>/etc/motd</filename> soit affich&eacute;
+ &agrave; l'ouverture de session.</para>
+
+ </sect4>
+
+ <sect4>
+ <title>Installer une proc&eacute;dure PPP pour les utilisateurs
+ avec des adresses IP statiques</title>
+
+ <para>Cr&eacute;ez le fichier <filename>ppp-shell</filename> comme d&eacute;crit
+ ci-dessus, et pour chaque compte auquel est assign&eacute;e une adresse
+ IP fixe, cr&eacute;ez un lien symbolique sur
+ <filename>ppp-shell</filename>.</para>
+
+ <para>Par exemple, si vous avez trois clients appel&eacute;s
+ <username>fred</username>, <username>sam</username>,
+ et <username>mary</username>, qui se connectent par t&eacute;l&eacute;phone et
+ pour qui vous servez de passerelle sur des r&eacute;seaux
+ de classe C, vous taperez les commandes suivantes:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred</userinput>
+&prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam</userinput>
+&prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary</userinput></screen>
+ </informalexample>
+
+ <para>Vous devez d&eacute;finir comme interpr&eacute;teur de commandes de chacun
+ de ces comptes les liens symboliques que vous venez de cr&eacute;er.
+ (ie. <filename>/etc/ppp/ppp-mary</filename> pour
+ <username>mary</username>, etc.)</para>
+
+ </sect4>
+
+ <sect4>
+ <title>Renseigner ppp.conf pour les utilisateurs avec des
+ adresses IP dynamiques</title>
+
+ <para>Le fichier <filename>/etc/ppp/ppp.conf</filename> doit
+ contenir quelque chose qui ressemble &agrave;:</para>
+
+ <programlisting>
+default:
+ set debug phase lcp chat
+ set timeout 0
+
+ttyd0:
+ set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255
+ enable proxy
+
+ttyd1:
+ set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255
+ enable proxy</programlisting>
+
+ <note>
+ <para>L'indentation est importante.</para>
+ </note>
+
+ <para>La section <literal>default:</literal> est utilis&eacute;e pour
+ chaque session. Cr&eacute;ez une entr&eacute;e semblable &agrave; celle pour
+ <literal>ttyd0:</literal> ci-dessus pour chaque ligne activ&eacute;e
+ dans <filename>/etc/ttys</filename>. Vous devez attribuer &agrave;
+ chaque ligne une adresse IP dans votre plage d'adresses IP
+ dynamiques.</para>
+
+ </sect4>
+
+ <sect4>
+ <title>Renseigner <filename>ppp.conf</filename> pour les
+ utilisateurs avec des adresses IP statiques</title>
+
+ <para>En plus de ce que vous avez d&eacute;j&agrave; introduit dans le fichier
+ <filename>/etc/ppp/ppp.conf</filename> d'exemple ci-dessus
+ vous devez ajouter une section pour chaque utilisateur auquel
+ est assign&eacute;e une adresse IP fixe. En continuant avec notre
+ exemple pour <username>fred</username>,
+ <username>sam</username> et
+ <username>mary</username>:</para>
+
+ <programlisting>
+fred:
+ set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255
+
+sam:
+ set ifaddr 203.14.100.1 203.14.102.1 255.255.255.255
+
+mary:
+ set ifaddr 203.14.100.1 203.14.103.1 255.255.255.255</programlisting>
+
+ <para>Vous devez aussi, si besoin est,
+ donnez les informations de routage dans
+ <filename>/etc/ppp/ppp.linkup</filename> pour
+ chaque utilisateur ayant une adresse IP fixe.
+ La premi&egrave;re ligne ci-dessous ajoute
+ une route vers le r&eacute;seau de classe C <hostid
+ role="ipaddr">203.14.101.0</hostid> via la liaison
+ ppp du client.</para>
+
+ <programlisting>
+fred:
+ add 203.14.101.0 netmask 255.255.255.0 HISADDR
+
+sam:
+ add 203.14.102.0 netmask 255.255.255.0 HISADDR
+
+mary:
+ add 203.14.103.0 netmask 255.255.255.0 HISADDR</programlisting>
+
+ </sect4>
+
+ <sect4>
+ <title>A propos de <command>mgetty</command>, AutoPPP et des
+ extensions Microsoft</title>
+
+
+ <sect5 id="userppp-mgetty">
+ <title><command>mgetty</command> et AutoPPP</title>
+
+ <para>Configurer et compiler
+ <command>mgetty</command> avec l'option
+ <literal>AUTO_PPP</literal> permet &agrave;
+ <command>mgetty</command> de d&eacute;tecter la phase LCP des
+ connexions PPP et de lancer automatiquement une proc&eacute;dure
+ adapt&eacute;e &agrave; ppp. Cependant, comme il n'y a pas alors
+ d'ouverture de session avec invite et demande de mot de
+ passe, il est n&eacute;cessaire d'authentifier les utilisateurs
+ en utilisant soit PAP, soit CHAP.</para>
+
+ <para>Nous supposerons dans cette section que vous avez d&eacute;j&agrave;
+ r&eacute;ussi &agrave; configurer, compiler et installer une version de
+ <command>mgetty</command> avec l'option
+ <literal>AUTO_PPP</literal> (v0.99b&ecirc;ta ou ult&eacute;rieure).</para>
+
+ <para>Assurez-vous que le fichier
+ <filename>/usr/local/etc/mgetty+sendfax/login.config</filename> contienne bien la ligne suivante:</para>
+
+ <programlisting>
+/AutoPPP/ - - /etc/ppp/ppp-pap-dialup</programlisting>
+
+ <para>Cela dit &agrave; <command>mgetty</command> d'ex&eacute;cuter la
+ proc&eacute;dure <filename>ppp-pap-dialup</filename> lorsqu'il
+ reconna&icirc;t une connexion PPP.</para>
+
+ <para>Cr&eacute;ez un fichier
+ <filename>/etc/ppp/ppp-pap-dialup</filename>
+ (ce fichier doit &ecirc;tre ex&eacute;cutable) avec pour contenu:</para>
+
+ <programlisting>
+#!/bin/sh
+exec /usr/sbin/ppp -direct pap$IDENT</programlisting>
+
+ <para>Pour chaque ligne d'appel activ&eacute;e dans le fichier
+ <filename>/etc/ttys</filename>, cr&eacute;ez une entr&eacute;e
+ correspondante dans le fichier
+ <filename>/etc/ppp/ppp.conf</filename>. Ces entr&eacute;es
+ peuvent sans probl&egrave;me exister conjointement aux entr&eacute;es
+ que nous avons d&eacute;j&agrave; cr&eacute;&eacute;es plus haut.</para>
+
+ <programlisting>
+pap:
+ enable pap
+ set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40
+ enable proxy</programlisting>
+
+ <para>Chaque utilisateur se connectant de cette mani&egrave;re devra
+ disposer d'une entr&eacute;e &ldquo;nom d'utilisateur/mot de
+ passe&rdquo; dans le fichier
+ <filename>/etc/ppp/ppp.secret</filename>, ou bien vous pouvez
+ ajouter l'option:</para>
+
+ <programlisting>
+enable passwdauth</programlisting>
+
+ <para>pour identifier les utilisateurs avec pap en utilisant le
+ fichier <filename>/etc/password</filename>.</para>
+
+ <para>Si vous voulez affecter &agrave; certains utilisateurs une adresse IP
+ statique, vous pouvez donner ce num&eacute;ro comme troisi&egrave;me argument
+ de <filename>/etc/ppp/ppp.secret</filename>. Le fichier
+ <filename>/etc/ppp/ppp.secret.sample</filename> vous en donne
+ des exemples.</para>
+ </sect5>
+
+ <sect5>
+ <title>Extentions Microsoft</title>
+
+ <para>Il est possible de configurer PPP pour qu'il fournisse &agrave; la
+ demande les adresses des serveurs DNS et NetBIOS.</para>
+
+ <para>Pour mettre en service ces extensions avec PPP version 1.x,
+ ajoutez les lignes suivantes &agrave; la section ad&eacute;quate de
+ <filename>/etc/ppp/ppp.conf</filename>:</para>
+
+ <programlisting>
+enable msext
+set ns 203.14.100.1 203.14.100.2
+set nbns 203.14.100.5</programlisting>
+
+ <para>Et pour PPP version 2 et ult&eacute;rieures:</para>
+
+ <programlisting>
+accept dns
+set dns 203.14.100.1 203.14.100.2
+set nbns 203.14.100.5</programlisting>
+
+ <para>Cela donnera aux clients les adresses des serveurs
+ DNS primaire et secondaire et du serveur de noms
+ netbios.</para>
+
+ <para>A partir de la version 2, si la ligne
+ <literal>set dns</literal> n'est pas mentionn&eacute;e, PPP utilise
+ les valeurs donn&eacute;es par
+ <filename>/etc/resolv.conf</filename>.</para>
+ </sect5>
+ </sect4>
+ </sect3>
+
+ <sect3 id="userppp-PAPnCHAP">
+ <title>Authentification PAP et CHAP</title>
+
+ <para>Certains fournisseurs d'acc&egrave;s configurent leurs syst&egrave;mes de
+ sorte que la phase d'authentification de votre connexion se fasse
+ par PAP ou CHAP. Si tel est le cas, il n'y a pas d'invite
+ <prompt>login:</prompt> quand vous vous connectez, le dialogue
+ s'&eacute;tablit imm&eacute;diatement avec PPP.</para>
+
+ <para>PAP est moins s&eacute;curis&eacute; que CHAP, mais la s&eacute;curit&eacute; n'est
+ normalement pas un probl&egrave;me dans ce cas, parce que les mots
+ de passe, bien que transmis en clair, ne sont transmis que sur
+ une liaison s&eacute;rie, ce qui la rend tr&egrave;s difficile &agrave; espionner
+ par un pirate.</para>
+
+ <para>Par rapport aux exemples donn&eacute;s aux sections
+ <link linkend="userppp-staticIP">PPP et les adresses IP
+ statiques</link> ou <link
+ linkend="userppp-dynamicIP">PPP et les adresses IP
+ dynamiques</link>, vous devez faire les modifications
+ suivantes:</para>
+
+ <programlisting>
+7 set login
+...
+12 set authname <replaceable>MonNomUtilisateur</replaceable>
+13 set authkey <replaceable>MonMotDePasse</replaceable></programlisting>
+
+ <para>Comme toujours, ne mettez pas les num&eacute;ros de ligne, ils ne
+ sont l&agrave; que pour y faire r&eacute;f&eacute;rence dans les explications qui
+ suivent. Il faut indenter avec au moins un espace.</para>
+
+ <variablelist>
+ <varlistentry><term>Ligne 7:</term>
+ <listitem>
+ <para>Votre fournisseur ne vous demandera normalement pas
+ d'ouvrir de session sur le serveur si vous utilisez PAP
+ ou CHAP. Vous devez donc d&eacute;sactiver votre s&eacute;quence
+ &ldquo;set login&rdquo;.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Ligne 12:</term>
+
+ <listitem>
+ <para>Cette ligne donne votre nom d'utilisateur PAP/CHAP.
+ Remplacez <replaceable>MonNomUtilisateur</replaceable> par
+ la bonne valeur.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Ligne 13:</term>
+
+ <listitem>
+ <para>Cette ligne donne votre mot de PAP/CHAP.
+ Remplacez <replaceable>MonMotDePasse</replaceable> par
+ la bonne valeur. Peut-&ecirc;tre voudrez-vous ajouter une ligne
+ suppl&eacute;mentaire:
+
+ <programlisting>
+15 accept PAP</programlisting> ou
+
+ <programlisting>
+15 accept CHAP</programlisting> pour que l'intention soit claire, mais
+ PAP et CHAP sont tous deux accept&eacute;s par d&eacute;faut.</para>
+
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect3>
+
+ <sect3>
+ <title>Modifier &agrave; chaud votre configuration
+ <command>ppp</command></title>
+
+ <para>Il est possible de dialoguer avec le programme
+ <command>ppp</command> tandis qu'il s'ex&eacute;cute en t&acirc;che de fond,
+ mais vous devez avoir configur&eacute; un port de diagnostic
+ qui convienne. Pour cela, ajoutez &agrave; votre configuration la
+ ligne suivante:</para>
+
+ <programlisting>
+set server /var/run/ppp-tun%d MotDePasseDeDiagnostic 0177</programlisting>
+
+ <para>Cela dit &agrave; PPP d'&eacute;couter sur
+ la &ldquo;prise&rdquo;&nbsp;-&nbsp;socket&nbsp;-&nbsp;Unix
+ indiqu&eacute;e, et de demander au client de lui donner le mot de passe
+ mentionn&eacute; avant de lui autoriser l'acc&egrave;s. Le
+ <literal>%d</literal> est &agrave; remplacer par le num&eacute;ro du p&eacute;riph&eacute;rique
+ &ldquo;tunnel&rdquo; utilis&eacute;.</para>
+
+ <para>Une fois que
+ la &ldquo;prise&rdquo;&nbsp;-&nbsp;socket&nbsp;-&nbsp;a
+ &eacute;t&eacute; cr&eacute;&eacute;e, le programme
+ <citerefentry><refentrytitle>pppctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ peut &ecirc;tre utilis&eacute; par des proc&eacute;dures qui veulent agir sur la
+ configuration du programme <command>ppp</command> actif.</para>
+
+ </sect3>
+ </sect2>
+
+ <sect2 id="userppp-final">
+ <title>Configuration finale du syst&egrave;me</title>
+
+ <para><command>ppp</command> est maintenant configur&eacute;, mais il y a
+ encore quelques petites choses &agrave; faire avant de pouvoir l'utiliser.
+ Il faut pour cela modifier le fichier
+ <filename>/etc/rc.conf</filename> (qui s'appelait auparavant
+ <filename>/etc/sysconfig</filename>).</para>
+
+ <para>En le parcourant de haut en bas, v&eacute;rifiez que la valeur
+ <literal>hostname=</literal> est bien renseign&eacute;e, e.g.:</para>
+
+ <programlisting>
+hostname=foo.bar.com</programlisting>
+
+ <para>Si votre fournisseur d'acc&egrave;s vous a donn&eacute; une adresse IP
+ statique et un nom de machine, le mieux est d'utiliser ce nom
+ comme nom de votre machine.</para>
+
+ <para>Cherchez la variable <literal>network_interfaces</literal>. Si
+ vous voulez configurer votre syst&egrave;me pour vous connecter &agrave; la
+ demande chez votre fournisseur, v&eacute;rifiez que le p&eacute;riph&eacute;rique
+ <devicename>tun0</devicename> est bien dans la liste, sinon
+ ajoutez-le.</para>
+
+ <programlisting>
+network_interfaces="lo0 tun0" ifconfig_tun0=</programlisting>
+
+ <note>
+ <para>La variable <literal>ifconfig_tun0</literal> doit &ecirc;tre vide.
+ Il faut cr&eacute;er un fichier <filename>/etc/start_if.tun0</filename>
+ avec la ligne:</para>
+
+ <programlisting>
+ppp -auto mysystem</programlisting>
+
+ <para>Cette proc&eacute;dure est ex&eacute;cut&eacute;e lors de la configuration du
+ r&eacute;seau au d&eacute;marrage et lance le &ldquo;d&eacute;mon&rdquo; ppp en
+ mode automatique. Si cette machine sert de passerelle sur un
+ r&eacute;seau local, vous pouvez aussi ajouter l'indicateur
+ <option>-alias</option>. Reportez-vous aux pages de manuel pour
+ plus de d&eacute;tails.</para>
+ </note>
+
+ <para>Donnez <literal>NO</literal> comme valeur pour le programme
+ de routage avec la ligne:</para>
+
+ <programlisting>
+router_enable=NO (/etc/rc.conf)
+router=NO (/etc/sysconfig)</programlisting>
+
+ <para>Il est important que le &ldquo;d&eacute;mon&rdquo;
+ <command>routed</command> ne soit pas lanc&eacute; (il est d&eacute;marr&eacute; par
+ d&eacute;faut) parce que <command>routed</command> a tendance &agrave; effacer
+ les entr&eacute;es par d&eacute;faut cr&eacute;&eacute;es dans la table de routage par
+ <command>ppp</command>.</para>
+
+ <para>Il vaut probablement la peine de v&eacute;rifier que la ligne
+ <literal>sendmail_flags</literal> ne comporte pas l'option
+ <option>-q</option>, sans quoi <command>sendmail</command>
+ jettera de temps &agrave; autre un oeil au r&eacute;seau, ce qui peut amener
+ votre machine &agrave; ouvrir la connexion. Vous pouvez essayez:</para>
+
+ <programlisting>
+sendmail_flags="-bd"</programlisting>
+
+ <para>L'inconv&eacute;nient est que vous devrez forcer
+ <command>sendmail</command> &agrave; r&eacute;examiner la file d'attente
+ du courrier &eacute;lectronique chaque fois que la liaison ppp sera
+ activ&eacute;e, en tapant:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>/usr/sbin/sendmail -q</userinput></screen>
+ </informalexample>
+
+ <para>Vous pouvez utiliser la commande <command>!bg</command>
+ de <filename>ppp.linkup</filename> pour le faire
+ automatiquement:</para>
+
+ <programlisting>
+1 provider:
+2 delete ALL
+3 add 0 0 HISADDR
+4 !bg sendmail -bd -q30m</programlisting>
+
+ <para>Si cela ne vous convient pas, il
+ est possible de mettre en place un
+ &ldquo;dfilter&rdquo; pour bloquer le trafic SMTP. Consultez les
+ fichiers d'exemple pour plus de d&eacute;tails.</para>
+
+ <para>Vous n'avez plus qu'&agrave; red&eacute;marrer votre machine.</para>
+
+ <para>Apres qu'elle ait red&eacute;marr&eacute;, vous pouvez taper soit:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>ppp</userinput></screen>
+ </informalexample>
+
+ <para>puis <command>dial provider</command> pour initialiser la
+ session PPP ou, si vous voulez que ppp lance la session
+ automatiquement lorsqu'il y a du trafic sortant (et que vous
+ n'avez pas cr&eacute;&eacute; le fichier <filename>start_if.tun0</filename>),
+ tapez:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>ppp -auto provider</userinput></screen>
+ </informalexample>
+
+ </sect2>
+
+ <sect2>
+ <title>R&eacute;sum&eacute;</title>
+
+ <para>Pour r&eacute;capituler, les &eacute;tapes suivantes sont n&eacute;cessaires lors de
+ la premi&egrave;re configuration de ppp:</para>
+
+ <para>C&ocirc;t&eacute; client:</para>
+
+ <procedure>
+
+ <step>
+ <para>V&eacute;rifier que le pilote de p&eacute;riph&eacute;rique
+ <devicename>tun</devicename> soit inclus dans le noyau.</para>
+ </step>
+
+ <step>
+ <para>V&eacute;rifier que le fichier sp&eacute;cial de p&eacute;riph&eacute;rique
+ <filename>tun<replaceable>X</replaceable></filename> existe
+ dans le r&eacute;pertoire <filename>/dev</filename>.</para>
+ </step>
+
+ <step>
+ <para>Cr&eacute;er une entr&eacute;e dans
+ <filename>/etc/ppp/ppp.conf</filename>. L'exemple
+ <filename>pmdemand</filename> doit suffire pour la plupart
+ des fournisseurs d'acc&egrave;s.</para>
+ </step>
+
+ <step>
+ <para>Dans le cas d'une adresse IP dynamique, cr&eacute;er une entr&eacute;e
+ dans <filename>/etc/ppp/ppp.linkup</filename>.</para>
+ </step>
+
+ <step>
+ <para>Modifier le fichier <filename>/etc/rc.conf</filename> (ou
+ <filename>sysconfig</filename>).</para>
+ </step>
+
+ <step>
+ <para>Cr&eacute;er une proc&eacute;dure <filename>start_if.tun0</filename>
+ dans le cas d'une connexion automatique &agrave; la demande.</para>
+ </step>
+
+ </procedure>
+
+
+ <para>C&ocirc;t&eacute; serveur:</para>
+
+ <procedure>
+
+ <step>
+ <para>V&eacute;rifier que le pilote de p&eacute;riph&eacute;rique
+ <devicename>tun</devicename> soit inclus dans le noyau.</para>
+ </step>
+
+ <step>
+ <para>V&eacute;rifier que le fichier sp&eacute;cial de p&eacute;riph&eacute;rique
+ <filename>tun<replaceable>X</replaceable></filename> existe
+ dans le r&eacute;pertoire <filename>/dev</filename>.</para>
+ </step>
+
+ <step>
+ <para>Cr&eacute;er une entr&eacute;e dans <filename>/etc/passwd</filename>
+ (avec le programme <citerefentry><refentrytitle>vipw</refentrytitle><manvolnum>8</manvolnum></citerefentry>).</para>
+ </step>
+
+ <step>
+ <para>Cr&eacute;er un profil dans le r&eacute;pertoire de cet utilisateur qui
+ ex&eacute;cute <command>ppp -direct direct-server</command> ou
+ quelque chose d'&eacute;quivalent.</para>
+ </step>
+
+ <step>
+ <para>Cr&eacute;er une entr&eacute;e dans
+ <filename>/etc/ppp/ppp.conf</filename>. L'exemple
+ <filename>direct-server</filename> devrait suffire.</para>
+ </step>
+
+ <step>
+ <para>Cr&eacute;er une entr&eacute;e dans
+ <filename>/etc/ppp/ppp.linkup</filename>.</para>
+ </step>
+
+ <step>
+ <para>Modifier le fichier <filename>/etc/rc.conf</filename> (ou
+ <filename>sysconfig</filename>).</para>
+ </step>
+
+ </procedure>
+
+ </sect2>
+
+ <sect2>
+ <title>Remerciements</title>
+
+ <para>La derni&egrave;re mise &agrave; jour de cette section du manuel a &eacute;t&eacute;
+ effectu&eacute;e le Lundi 10 Ao&ucirc;t 1998 par &a.brian;.</para>
+
+ <para>Merci aux personnes suivantes pour les informations,
+ commentaires et suggestions qu'elles m'ont transmis:</para>
+
+ <para>&a.nik;</para>
+
+ <para>&a.dirkvangulik;</para>
+
+ <para>&a.pjc;</para>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="ppp">
+ <title>Configurer PPP int&eacute;gr&eacute; au noyau</title>
+
+ <para><emphasis>Contribution de &a.gena;.</emphasis></para>
+
+ <para>Avant de lancer PPP sur votre machine, v&eacute;rifiez que
+ <command>pppd</command> est bien dans le r&eacute;pertoire
+ <filename>/usr/sbin</filename> et que le r&eacute;pertoire
+ <filename>/etc/ppp</filename> existe.</para>
+
+ <para><command>pppd</command> fonctionne de deux fa&ccedil;ons:</para>
+
+ <orderedlist>
+
+ <listitem>
+ <para>comme &ldquo;client&rdquo;, i.e. si vous voulez connecter
+ votre machine au monde ext&eacute;rieur via un liaison PPP s&eacute;rie ou un
+ modem.</para>
+ </listitem>
+
+ <listitem>
+ <para>comme &ldquo;serveur&rdquo;, i.e. si votre machine est
+ sur le r&eacute;seau et sert &agrave; y connecter d'autres ordinateurs avec
+ PPP.</para>
+ </listitem>
+
+ </orderedlist>
+
+ <para>Dans les deux cas, vous devrez renseigner un fichier d'options
+ (<filename>/etc/ppp/options</filename> ou
+ <filename>~/.ppprc</filename> s'il y a plus d'un utilisateur sur votre
+ machine qui utilisent PPP).</para>
+
+ <para>Il vous faudra aussi un logiciel &ldquo;modem/s&eacute;rie&rdquo;
+ (de pr&eacute;f&eacute;rence <command>kermit</command>) pour appeler et &eacute;tablir la
+ connexion avec la machine distante.</para>
+
+ <sect2>
+ <title>Utiliser le client PPP</title>
+
+ <para>J'ai utilis&eacute; le fichier <filename>/etc/ppp/options</filename>
+ suivant pour me connecter &agrave; la liaison PPP d'un concentrateur
+ CISCO.</para>
+
+ <programlisting>
+crtscts # contr&ocirc;le de flux mat&eacute;riel
+modem # liaison par modem
+noipdefault # adresse IP affect&eacute;e par le serveur PPP distant
+ # si la machine distante ne vous donne pas d'adresse IP
+ # lors de la n&eacute;gociation IPCP, ne mettez pas cette option
+passive # attendre les paquets LCP
+domain ppp.foo.com # mettez ici votre nom de domaine
+
+:&lt;ip_&eacute;loign&eacute;&gt; # mettez ici l'adresse IP de la machine PPP distante
+ # elle servira &agrave; router des paquets via la liaison PPP
+ # si vous n'avez pas utilis&eacute; l'option noipdefault
+ # changez cette ligne en &lt;ip_local&gt;:&lt;ip_&eacute;loign&eacute;&gt;
+defaultroute # mettez cette ligne si vous voulez que le serveur PPP soit
+ # votre routeur par d&eacute;faut</programlisting>
+
+ <para>Pour vous connecter:</para>
+
+ <procedure>
+
+ <step>
+ <para>Appelez la machine &eacute;loign&eacute;e avec kermit (ou un autre
+ programme pour modem) et donnez votre nom et votre mot
+ de passe (ou ce qu'il faut pour activer PPP sur la machine
+ distante).</para>
+ </step>
+
+ <step>
+ <para>Quittez kermit (sans raccrocher la ligne).</para>
+ </step>
+
+ <step>
+ <para>Entrez:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>/usr/src/usr.sbin/pppd.new/pppd <replaceable>/dev/tty01</replaceable> <replaceable>19200</replaceable></userinput></screen>
+ </informalexample>
+
+ <para>Utilisez la vitesse et le nom de p&eacute;riph&eacute;rique
+ ad&eacute;quats.</para>
+ </step>
+
+ </procedure>
+
+ <para>Votre ordinateur est maintenant connect&eacute; par PPP. Si la
+ connexion &eacute;choue pour une raison ou une autre, vous pouvez ajouter
+ l'option <option>debug</option> au fichier
+ <filename>/etc/ppp/options</filename> et consulter les messages &agrave;
+ la console pour trouver la cause du probl&egrave;me.</para>
+
+ <para>La proc&eacute;dure <filename>/etc/ppp/pppup</filename> ci-dessous
+ fera tout cela automatiquement:</para>
+
+ <programlisting>
+#!/bin/sh
+ps ax |grep pppd |grep -v grep
+pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
+if [ "X${pid}" != "X" ] ; then
+ echo 'arr&ecirc;t de pppd, PID=' ${pid}
+ kill ${pid}
+fi
+ps ax |grep kermit |grep -v grep
+pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
+if [ "X${pid}" != "X" ] ; then
+ echo 'arr&ecirc;t de kermit, PID=' ${pid}
+ kill -9 ${pid}
+fi
+
+ifconfig ppp0 down
+ifconfig ppp0 delete
+
+kermit -y /etc/ppp/kermit.dial
+pppd /dev/tty01 19200</programlisting>
+
+ <para><filename>/etc/ppp/kermit.dial</filename> est la proc&eacute;dure
+ kermit qui appelle et fournit les informations d'authentification
+ &agrave; la machine distante. (Il y a une exemple de proc&eacute;dure de ce type
+ &agrave; la fin de ce document.)</para>
+
+ <para>Utilisez la proc&eacute;dure <filename>/etc/ppp/pppdown</filename>
+ ci-dessous pour terminer la session PPP et vous d&eacute;connecter:</para>
+
+ <programlisting>
+#!/bin/sh
+pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
+if [ X${pid} != "X" ] ; then
+ echo 'arr&ecirc;t de pppd, PID=' ${pid}
+ kill -TERM ${pid}
+fi
+
+ps ax |grep kermit |grep -v grep
+pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
+if [ "X${pid}" != "X" ] ; then
+ echo 'arr&ecirc;t de kermit, PID=' ${pid}
+ kill -9 ${pid}
+fi
+
+/sbin/ifconfig ppp0 down
+/sbin/ifconfig ppp0 delete
+kermit -y /etc/ppp/kermit.hup
+/etc/ppp/ppptest</programlisting>
+
+ <para>Pour voir si PPP tourne toujours
+ (<filename>/usr/etc/ppp/ppptest</filename>):</para>
+
+ <programlisting>
+#!/bin/sh
+pid=`ps ax| grep pppd |grep -v grep|awk '{print $1;}'`
+if [ X${pid} != "X" ] ; then
+ echo 'pppd actif : PID=' ${pid-NONE}
+else
+ echo 'Pas de pppd actif.'
+fi
+set -x
+netstat -n -I ppp0
+ifconfig ppp0</programlisting>
+
+ <para>Pour raccrocher la ligne modem
+ (<filename>/etc/ppp/kermit.hup</filename>):</para>
+
+ <programlisting>
+set line /dev/tty01 ; mettez ici le p&eacute;riph&eacute;rique pour votre modem
+set speed 19200
+set file type binary
+set file names literal
+set win 8
+set rec pack 1024
+set send pack 1024
+set block 3
+set term bytesize 8
+set command bytesize 8
+set flow none
+
+pau 1
+out +++
+inp 5 OK
+out ATH0\13
+echo \13
+exit</programlisting>
+
+ <para>Voici une autre m&eacute;thode qui utilise <command>chat</command>
+ au lieu de <command>kermit</command>:</para>
+
+ <para><emphasis>Contribution de &a.rhuff;.</emphasis></para>
+
+ <para>Les deux fichiers suivants suffisent &agrave; &eacute;tablir une liaison
+ ppp.</para>
+
+ <para><filename>/etc/ppp/options</filename>:</para>
+
+ <programlisting>
+/dev/cuaa1 115200
+ </programlisting>
+ <para></para>
+ <programlisting>
+crtscts # contr&ocirc;le de flux mat&eacute;riel
+modem # liaison par modem
+connect "/usr/bin/chat -f /etc/ppp/login.chat.script"
+noipdefault # adresse IP affect&eacute;e par le serveur PPP distant
+ # si la machine distante ne vous donne pas d'adresse IP
+ # lors de la n&eacute;gociation IPCP, ne mettez pas cette option
+passive # attendre les paquets LCP
+domain ppp.foo.com # mettez ici votre nom de domaine
+
+:&lt;ip_&eacute;loign&eacute;&gt; # mettez ici l'adresse IP de la machine PPP distante
+ # elle servira &agrave; router des paquets via la liaison PPP
+ # si vous n'avez pas utilis&eacute; l'option noipdefault
+ # changez cette ligne en &lt;ip_local&gt;:&lt;ip_&eacute;loign&eacute;&gt;
+defaultroute # mettez cette ligne si vous voulez que le serveur PPP soit
+ # votre routeur par d&eacute;faut</programlisting>
+
+ <para><filename>/etc/ppp/login.chat.script</filename>:</para>
+
+ <para>(Ceci doit &ecirc;tre tap&eacute; <emphasis>sur une seule
+ ligne</emphasis>.)</para>
+
+ <programlisting>
+ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDT&lt;num&eacute;ro.de.t&eacute;l&eacute;phone&gt;
+ CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: &lt;nom-d-utilisateur&gt;
+ TIMEOUT 5 sword: &lt;mot-de-passe&gt;</programlisting>
+
+ <para>Une fois que ces fichiers sont install&eacute;s et contiennent ce qu'il
+ faut, vous n'avez plus qu'&agrave; taper:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>pppd</userinput></screen>
+ </informalexample>
+
+ <para>Cet exemple est avant tout bas&eacute; sur des informations fournies
+ par: Trev Roydhouse
+ &lt;Trev.Roydhouse@f401.n711.z3.fidonet.org&gt; et utilis&eacute;es
+ avec son autorisation.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Utiliser le serveur PPP</title>
+
+ <para><filename>/etc/ppp/options</filename>:</para>
+
+ <programlisting>
+crtscts # contr&ocirc;le de flux mat&eacute;riel
+netmask 255.255.255.0 # masque de sous-r&eacute;seau ( facultatif )
+192.114.208.20:192.114.208.165 # adresses IP des machines locales et distantes
+ # l'adresse locale ne doit pas &ecirc;tre la m&ecirc;me que
+ # celle que vous avez assign&eacute;e &agrave; l'interface
+ # Ethernet ( ou autre ) de la machine.
+ # l'adresse IP de la machine distante est
+ # l'adresse qui lui sera affect&eacute;e
+domain ppp.foo.com # votre nom de domaine
+passive # attendre LCP
+modem # liaison modem</programlisting>
+
+ <para>La proc&eacute;dure <filename>/etc/ppp/pppserv</filename> ci-dessous
+ lancera le serveur ppp sur votre machine:</para>
+
+ <programlisting>
+#!/bin/sh
+ps ax |grep pppd |grep -v grep
+pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
+if [ "X${pid}" != "X" ] ; then
+ echo 'arr&ecirc;t de pppd, PID=' ${pid}
+ kill ${pid}
+fi
+ps ax |grep kermit |grep -v grep
+pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
+if [ "X${pid}" != "X" ] ; then
+ echo 'arr&ecirc;t de kermit, PID=' ${pid}
+ kill -9 ${pid}
+fi
+
+# r&eacute;initialiser l'interface ppp
+ifconfig ppp0 down
+ifconfig ppp0 delete
+
+# activer le mode r&eacute;ponse automatique
+kermit -y /etc/ppp/kermit.ans
+
+# lancer ppp
+pppd /dev/tty01 19200</programlisting>
+
+ <para>Utilisez cette proc&eacute;dure
+ <filename>/etc/ppp/pppservdown</filename> pour arr&ecirc;ter
+ le serveur:</para>
+
+ <programlisting>
+#!/bin/sh
+ps ax |grep pppd |grep -v grep
+pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
+if [ "X${pid}" != "X" ] ; then
+ echo 'arr&ecirc;t de pppd, PID=' ${pid}
+ kill ${pid}
+fi
+ps ax |grep kermit |grep -v grep
+pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
+if [ "X${pid}" != "X" ] ; then
+ echo 'arr&ecirc;t de kermit, PID=' ${pid}
+ kill -9 ${pid}
+fi
+ifconfig ppp0 down
+ifconfig ppp0 delete
+
+kermit -y /etc/ppp/kermit.noans</programlisting>
+
+ <para>La proc&eacute;dure kermit ci-dessous active ou d&eacute;sactive
+ le mode r&eacute;ponse automatique de votre modem
+ (<filename>/etc/ppp/kermit.ans</filename>):</para>
+
+ <programlisting>
+set line /dev/tty01
+set speed 19200
+set file type binary
+set file names literal
+set win 8
+set rec pack 1024
+set send pack 1024
+set block 3
+set term bytesize 8
+set command bytesize 8
+set flow none
+
+pau 1
+out +++
+inp 5 OK
+out ATH0\13
+inp 5 OK
+echo \13
+out ATS0=1\13 ; remplacez par ATS0=0\13 pour d&eacute;sactiver
+ ; le mode r&eacute;ponse automatique
+inp 5 OK
+echo \13
+exit</programlisting>
+
+ <para>La proc&eacute;dure
+ <filename>/etc/ppp/kermit.dial</filename> &eacute;tablit la connexion et
+ ouvre la session sur la machine distante. Vous devrez l'adapter
+ &agrave; vos besoins propres. Mettez-y votre nom d'utilisateur et votre
+ mot de passe, et modifiez aussi les cha&icirc;nes attendues en r&eacute;ponse
+ selon ce que vous envoient votre modem et la machine
+ distante.</para>
+
+ <programlisting>
+;
+; mettez ici la liaison s&eacute;rie &agrave; laquelle est raccord&eacute; le modem:
+;
+set line /dev/tty01
+;
+; mettez ici la vitesse du modem:
+;
+set speed 19200
+set file type binary ; transfert 8 bits
+set file names literal
+set win 8
+set rec pack 1024
+set send pack 1024
+set block 3
+set term bytesize 8
+set command bytesize 8
+set flow none
+set modem hayes
+set dial hangup off
+set carrier auto ; puis SET CARRIER si n&eacute;cessaire,
+set dial display on ; puis SET DIAL si n&eacute;cessaire,
+set input echo on
+set input timeout proceed
+set input case ignore
+def \%x 0 ; compteur d'ouverture de session
+goto slhup
+
+:slcmd ; met le modem en mode commande
+echo Modem en mode commande.
+clear ; vide le tampon d'entr&eacute;e
+pause 1
+output +++ ; s&eacute;quence d'&eacute;chappement Hayes
+input 1 OK\13\10 ; attendre un OK
+if success goto slhup
+output \13
+pause 1
+output at\13
+input 1 OK\13\10
+if fail goto slcmd ; si le modem ne r&eacute;pond pas OK, r&eacute;essayer
+
+:slhup ; raccrocher
+clear ; vider le tampon d'entr&eacute;e
+pause 1
+echo On raccroche.
+output ath0\13 ; commande HAYES pour raccrocher
+input 2 OK\13\10
+if fail goto slcmd ; si pas de r&eacute;ponse OK, passez en mode commande
+
+:sldial ; composer le num&eacute;ro
+pause 1
+echo On appelle.
+output atdt9,550311\13\10 ; mettre ici le num&eacute;ro de t&eacute;l&eacute;phone
+assign \%x 0 ; mettre le compteur de secondes &agrave; 0
+
+:look
+clear ; vider le tampon d'entr&eacute;e
+increment \%x ; compter les secondes
+input 1 {CONNECT }
+if success goto sllogin
+reinput 1 {NO CARRIER\13\10}
+if success goto sldial
+reinput 1 {NO DIALTONE\13\10}
+if success goto slnodial
+reinput 1 {\255}
+if success goto slhup
+reinput 1 {\127}
+if success goto slhup
+if < \%x 60 goto look
+else goto slhup
+
+:sllogin ; ouverture de session
+assign \%x 0 ; mettre le compteur de secondes &agrave; 0
+pause 1
+echo Attente de l'invite de session.
+
+:slloop
+increment \%x ; compter les secondes
+clear ; vider le tampon d'entr&eacute;e
+output \13
+;
+; Mettez ici l'invite que vous attendez:
+;
+input 1 {Username: }
+if success goto sluid
+reinput 1 {\255}
+if success goto slhup
+reinput 1 {\127}
+if success goto slhup
+if < \%x 10 goto slloop ; essayer 10 fois d'avoir l'invite
+else goto slhup ; raccrocher et recommencer apr&egrave;s 10 &eacute;checs
+
+:sluid
+;
+; Mettez ici votre nom d'utilisateur:
+;
+output nom-d-utilisateur-ppp\13
+input 1 {Password: }
+;
+; Mettez ici votre mot de passe:
+;
+output mot-de-passe-ppp\13
+input 1 {Entering SLIP mode.}
+echo
+quit
+
+:slnodial
+echo \7Pas de tonalit&eacute;. V&eacute;rifiez votre ligne t&eacute;l&eacute;phonique!\7
+exit 1
+
+; local variables:
+; mode: csh
+; comment-start: "; "
+; comment-start-skip: "; "
+; end:</programlisting>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="slipc">
+ <title>Configurer un client SLIP</title>
+
+ <para><emphasis>Contribution de &a.asami;<!-- <br> -->8 Ao&ucirc;t
+ 1995.</emphasis></para>
+
+ <para>Cette section d&eacute;crit une mani&egrave;re de configurer une machine
+ FreeBSD pour utiliser SLIP sur un r&eacute;seau o&ugrave; le nom de machine
+ est statique. Si le nom de machine est affect&eacute; dynamiquement (i.e.,
+ votre adresse change &agrave; chaque connexion), vous devrez probablement
+ employer une m&eacute;thode plus sophistiqu&eacute;e.</para>
+
+ <para>D&eacute;terminez d'abord sur quel port s&eacute;rie votre modem est branch&eacute;.
+ J'utilise un lien symbolique de <filename>/dev/modem</filename> vers
+ <filename>/dev/cuaa1</filename>, et n'utilise que ce lien dans mes
+ fichiers de configuration. Cela &eacute;vite qu'il devienne laborieux
+ de modifier un certain nombre de fichiers de
+ <filename>/etc</filename> et les
+ <filename>.kermrc</filename> pour l'ensemble du syst&egrave;me!</para>
+
+ <note>
+ <para><filename>/dev/cuaa0</filename> correspond &agrave;
+ <devicename>COM1</devicename> et
+ <filename>cuaa1</filename> &agrave; <devicename>COM2</devicename>,
+ etc.</para>
+ </note>
+
+ <para>V&eacute;rifiez que la ligne:
+
+ <programlisting>
+pseudo-device sl 1</programlisting> est bien pr&eacute;sente dans votre fichier
+ de configuration du noyau. Elle existe dans le noyau
+ <filename>GENERIC</filename>, ce n'est donc un probl&egrave;me que si vous
+ l'avez supprim&eacute;e.</para>
+
+ <sect2>
+ <title>Ce que vous n'aurez &agrave; faire qu'une seule fois</title>
+
+ <procedure>
+
+ <step>
+ <para>Ajoutez votre machine, la passerelle et les serveurs de
+ noms de domaines &agrave; votre fichier
+ <filename>/etc/hosts</filename>. Voici &agrave; quoi ressemble le
+ mien:</para>
+
+ <programlisting>
+127.0.0.1 localhost loghost
+136.152.64.181 silvia.HIP.Berkeley.EDU silvia.HIP silvia
+136.152.64.1 inr-3.Berkeley.EDU inr-3 slip-gateway
+128.32.136.9 ns1.Berkeley.edu ns1
+128.32.136.12 ns2.Berkeley.edu ns2</programlisting>
+
+ <para>Au passage, silvia est le nom de la voiture que j'avais
+ quand je suis retourn&eacute; au Japon (on l'appelle 2?0SX ici aux
+ Etats-Unis).</para>
+ </step>
+
+ <step>
+ <para>V&eacute;rifiez que <option>hosts</option> vient avant
+ <option>bind</option> dans votre fichier
+ <filename>/etc/host.conf</filename>. Sinon, il peut se
+ passer des choses bizarres.</para>
+ </step>
+
+ <step>
+ <para>Modifiez le fichier <filename>/etc/rc.conf</filename>.
+ Si votre version de FreeBSD est ant&eacute;rieure &agrave; la version 2.2.2,
+ c'est le fichier <filename>/etc/sysconfig</filename> qu'il
+ faut modifier &agrave; la place.</para>
+ <orderedlist>
+
+ <listitem>
+ <para>D&eacute;finissez votre nom de machine &agrave; la ligne:</para>
+ <programlisting>
+hostname=myname.my.domain</programlisting>
+
+ <para>Vous devez donner votre nom Internet de
+ machine en entier.</para>
+ </listitem>
+
+ <listitem>
+ <para>Ajouter sl0 &agrave; la liste des interfaces r&eacute;seau
+ en modifiant la ligne:</para>
+
+ <programlisting>
+network_interfaces="lo0"</programlisting>
+
+ <para>en:</para>
+
+ <programlisting>
+network_interfaces="lo0 sl0"</programlisting>
+ </listitem>
+
+ <listitem>
+ <para>D&eacute;finissez les param&egrave;tres de configuration de sl0 en
+ ajoutant une ligne:</para>
+
+ <programlisting>
+ifconfig_sl0="inet ${hostname} slip-gateway netmask 0xffffff00 up"</programlisting>
+ </listitem>
+
+ <listitem>
+ <para>Pr&eacute;cisez la passerelle par d&eacute;faut en modifiant
+ la ligne:</para>
+ <programlisting>
+defaultrouter=NO</programlisting>
+ <para>en:</para>
+ <programlisting>
+defaultrouter=slip-gateway</programlisting>
+ </listitem>
+
+ </orderedlist>
+
+ </step>
+
+ <step>
+ <para>Cr&eacute;ez un fichier <filename>/etc/resolv.conf</filename> qui
+ contienne:</para>
+
+ <programlisting>
+domain HIP.Berkeley.EDU
+nameserver 128.32.136.9
+nameserver 128.32.136.12</programlisting>
+
+ <para>Comme vous le constatez, c'est la d&eacute;finition des serveurs de
+ noms de domaines. Bien entendu, les noms et les adresses de
+ ceux-ci sont fonction de votre environnement particulier.</para>
+ </step>
+
+ <step>
+ <para>Donnez des mots de passe &agrave; root et toor (et &agrave; tous les
+ autres comptes qui n'auraient pas de mot de passe). Employez
+ <command>passwd</command>, ne modifiez pas les fichiers
+ <filename>/etc/passwd</filename> ou
+ <filename>/etc/master.passwd</filename>!</para>
+ </step>
+
+ <step>
+ <para>Red&eacute;marrez la machine et v&eacute;rifiez qu'elle a bien le nom
+ voulu.</para>
+ </step>
+
+ </procedure>
+
+ </sect2>
+
+ <sect2>
+ <title>Etablir une connexion SLIP</title>
+
+ <procedure>
+
+ <step>
+ <para>T&eacute;l&eacute;phonez, tapez <command>slip</command> &agrave; l'invite,
+ entrez votre nom d'utilisateur et votre mot de passe. Ce
+ que vous avez &agrave; faire d&eacute;pend de votre environnement. J'utilise
+ une proc&eacute;dure kermit comme celle-ci:</para>
+
+ <programlisting>
+# configuration kermit
+set modem hayes
+set line /dev/modem
+set speed 115200
+set parity none
+set flow rts/cts
+set terminal bytesize 8
+set file type binary
+# La macro-instruction qui suit t&eacute;l&eacute;phone et &eacute;tablit la connexion
+define slip dial 643-9600, input 10 =>, if failure stop, -
+output slip\x0d, input 10 Username:, if failure stop, -
+output silvia\x0d, input 10 Password:, if failure stop, -
+output ***\x0d, echo \x0aCONNECTED\x0a</programlisting>
+ <para>(vous devez bien sur remplacer le nom et le mot de
+ passe par les v&ocirc;tres). Vous pouvez alors entrer simplement
+ <command>slip</command> &agrave; l'invite de kermit
+ pour vous connecter.</para>
+
+ <note>
+ <para>Laisser votre mot de passe en clair dans un
+ quelconque fichier est en g&eacute;n&eacute;ral une
+ <emphasis>MAUVAISE</emphasis> id&eacute;e. Faites-le &agrave; vos risques
+ et p&eacute;rils. Je suis simplement trop paresseux.</para>
+ </note>
+ </step>
+
+ <step>
+ <para>Laissez maintenant kermit tel que (vous pouvez le mettre
+ en arri&egrave;re-plan avec <command>z</command>) et, sous le compte
+ super-utilisateur, tapez:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>slattach -h -c -s 115200 /dev/modem</userinput></screen>
+ </informalexample>
+
+ <para>Si vous arriver &agrave; envoyer un <command>ping</command> &agrave; des
+ machines situ&eacute;es de l'autre c&ocirc;t&eacute; du routeur, vous &ecirc;tes
+ connect&eacute;! Si cela ne marche pas, vous pouvez essayer l'option
+ <option>-a</option> au lieu de l'option <option>-c</option> de
+ slattach.</para>
+ </step>
+
+ </procedure>
+
+ </sect2>
+
+ <sect2>
+ <title>Comment couper la connexion</title>
+
+ <para>Tapez:
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>kill -INT `cat /var/run/slattach.modem.pid`</userinput></screen>
+ </informalexample>(en &eacute;tant super-utilisateur
+ <username>root</username>)
+ pour tuer slattach. Revenez maintenant sous kermit
+ (<command>fg</command> si vous l'avez mis en t&acirc;che de fond)
+ et quittez-le (<command>q</command>).</para>
+
+ <para>Les pages de manuel de slattach disent que vous devez employer
+ <command>ifconfig sl0 down</command> pour indiquer que l'interface
+ n'est plus active, mais cela ne change apparement rien pour moi.
+ (Les diagnostics de <command>ifconfig sl0</command> sont
+ identiques.)</para>
+
+ <para>Il arrive parfois que votre modem refuse de raccrocher (le mien
+ le fait souvent). Dans ce cas, relancez kermit et quittez-le de
+ nouveau. Cela marche en g&eacute;n&eacute;ral au deuxi&egrave;me essai.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>En cas de probl&egrave;mes</title>
+
+ <para>Si cela ne marche pas, n'h&eacute;sitez pas &agrave; me contacter. Voici
+ les probl&egrave;mes que certains ont rencontr&eacute;s jusqu'ici:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>Ne pas utiliser l'option <option>-c</option> ou
+ <option>-a</option> de slattach (Je n'ai aucune id&eacute;e
+ de pourquoi cela pose probl&egrave;me, mais le fait de mettre
+ cet indicateur a au moins fourni la solution dans un
+ cas).</para>
+ </listitem>
+
+ <listitem>
+ <para>Mettre <option>s10</option> au lieu <option>sl0</option>
+ (avec certaines polices de caract&egrave;res, il est parfois
+ difficile de faire la diff&eacute;rence).</para>
+ </listitem>
+
+ <listitem>
+ <para>Essayez <command>ifconfig sl0</command> pour contr&ocirc;ler
+ la configuration de votre interface. J'obtiens:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>ifconfig sl0</userinput>
+sl0: flags=10&lt;POINTOPOINT&gt;
+ inet 136.152.64.181 --&gt; 136.152.64.1 netmask ffffff00</screen>
+ </informalexample>
+ </listitem>
+
+ <listitem>
+ <para>De m&ecirc;me, <command>netstat -r</command> vous affichera
+ la table de routage, au cas o&ugrave; <command>ping</command>
+ vous renverrait des
+ messages &ldquo;no route to host&rdquo;.
+ Voici la mienne:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>netstat -r</userinput>
+Routing tables
+Destination Gateway Flags Refs Use IfaceMTU Rtt Netmasks:
+
+(root node)
+(root node)
+
+Route Tree for Protocol Family inet:
+(root node) =&gt;
+default inr-3.Berkeley.EDU UG 8 224515 sl0 - -
+localhost.Berkel localhost.Berkeley UH 5 42127 lo0 - 0.438
+inr-3.Berkeley.E silvia.HIP.Berkele UH 1 0 sl0 - -
+silvia.HIP.Berke localhost.Berkeley UGH 34 47641234 lo0 - 0.438
+(root node)</screen>
+ </informalexample>
+ <para>(cela apr&egrave;s transfert d'un certain nombre de fichiers, vous
+ devriez avoir des valeurs moins importantes).</para>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="slips">
+ <title>Configurer un serveur SLIP</title>
+
+ <para><emphasis>Contribution de &a.ghelmer;.<!-- <br> --> v1.0, 15 Mai
+ 1995.</emphasis></para>
+
+ <para>Ce document vous donne des indications pour mettre en oeuvre un
+ serveur SLIP sur un syst&egrave;me FreeBSD, ce qui signifie typiquement
+ configurer votre syst&egrave;me pour ouvrir une connexion &agrave; l'ouverture
+ d'une session depuis une machine distante. L'auteur l'a r&eacute;dig&eacute; en
+ se basant sur sa propre exp&eacute;rience; n&eacute;anmoins, comme votre syst&egrave;me et
+ vos besoins peuvent &ecirc;tre diff&eacute;rents, il ne r&eacute;pond peut-&ecirc;tre pas &agrave;
+ toutes vos questions, et l'auteur ne peut pas &ecirc;tre tenu pour
+ responsable des d&eacute;g&acirc;ts que vous causeriez &agrave; votre syst&egrave;me ou des
+ donn&eacute;es que vous auriez perdues en essayant de suivre les indications
+ donn&eacute;es ici.</para>
+
+ <para>Ce guide a &eacute;t&eacute; &agrave; l'origine &eacute;crit pour le serveur SLIP de la
+ version 1.x de FreeBSD. Il a &eacute;t&eacute; adapt&eacute; pour prendre en compte les
+ modifications de chemins d'acc&egrave;s et la suppression des indicateurs
+ de compression de l'interface SLIP des premi&egrave;res versions 2.x de
+ FreeBSD, qui sont apparemment les seuls diff&eacute;rences importantes entre
+ ces versions. Si vous trouvez des erreurs, envoyez s'il
+ vous pla&icirc;t &agrave; l'auteur un courrier &eacute;lectronique suffisamment d&eacute;taill&eacute;
+ pour qu'il puisse les corriger.</para>
+
+ <sect2 id="slips-prereqs">
+ <title>Pr&eacute;requis</title>
+
+ <para>Ce document est tr&egrave;s technique, il vous faut donc quelques
+ connaissances de base. On suppose que vous connaissez le protocole
+ r&eacute;seau TCP/IP, et, en particulier, l'adressage des r&eacute;seaux et
+ des noeuds, les masques de r&eacute;seau, les sous-r&eacute;seaux, le routage et
+ les protocoles de routage tels que RIP. Ce sont des choses que vous
+ devez conna&icirc;tre pour configurer les services SLIP sur un serveur
+ de connexions, et si ce n'est pas le cas, lisez s'il vous pla&icirc;t
+ <emphasis>TCP/IP Network Administration</emphasis> par Craig Hunt
+ chez O'Reilly &amp; Associates, Inc. (ISBN
+ 0-937175-82-X)<footnote><para>N.d.T.: traduit en fran&ccedil;ais sous le
+ titre &ldquo;TCP/IP, Administration de r&eacute;seau TCP/IP&rdquo;, chez
+ le m&ecirc;me &eacute;diteur</para></footnote>, ou le livre de Douglas Comer
+ sur le protocole TCP/IP.</para>
+
+ <para>On suppose aussi que vous avez d&eacute;j&agrave; install&eacute; vos modems et
+ configur&eacute; les fichiers syst&egrave;me appropri&eacute;s pour permettre l'ouverture
+ de session via vos modems. Si vous ne l'avez pas encore fait,
+ reportez-vous au guide de configuration des connexions entrantes;
+ si vous disposez d'un navigateur World Wide Web, parcourez la liste
+ des guides sur <ulink
+ url="http://www.freebsd.org/">http://www.freebsd.org/</ulink>;
+ sinon, regardez l&agrave; o&ugrave; vous avez trouv&eacute; le pr&eacute;sent document et
+ cherchez un document appel&eacute; <filename>dialup.txt</filename> o&ugrave;
+ quelque chose du m&ecirc;me genre. Vous pouvez aussi consulter les pages
+ de manuel de
+ <citerefentry><refentrytitle>sio</refentrytitle><manvolnum>4</manvolnum></citerefentry> pour plus d'informations sur le pilote de port s&eacute;rie
+ et de <citerefentry><refentrytitle>ttys</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>gettytab</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>getty</refentrytitle><manvolnum>8</manvolnum></citerefentry> et <citerefentry><refentrytitle>init</refentrytitle><manvolnum>8</manvolnum></citerefentry> en
+ ce qui concerne la configuration du syst&egrave;me pour qu'il autorise
+ des connexions de l'ext&eacute;rieur par modem et peut-&ecirc;tre aussi celles de
+ <citerefentry><refentrytitle>stty</refentrytitle><manvolnum>1</manvolnum></citerefentry> pour avoir des renseignements sur le param&egrave;trage des ports
+ s&eacute;rie (comme <literal>clocal</literal> pour les interfaces s&eacute;rie
+ directement connect&eacute;es).</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Br&egrave;ve vue d'ensemble</title>
+
+ <para>Une configuration typique d'utilisation de FreeBSD comme
+ serveur SLIP fonctionne de la fa&ccedil;on suivante: un utilisateur SLIP
+ appelle votre serveur SLIP FreeBSD et ouvre une session sous un
+ IDentifiant utilisateur SLIP particulier qui lance
+ <filename>/usr/sbin/sliplogin</filename> &agrave; la place de
+ l'interpr&eacute;teur de commandes. Le programme
+ <command>sliplogin</command> consulte le fichier
+ <filename>/etc/sliphome/slip.hosts</filename> pour trouver une ligne
+ correspondant &agrave; cet utilisateur, et s'il la trouve, connecte la
+ ligne s&eacute;rie &agrave; une interface SLIP disponible et lance ensuite la
+ proc&eacute;dure <filename>/etc/sliphome/slip.login</filename> pour
+ configurer cette interface SLIP.</para>
+
+ <sect3>
+ <title>Un exemple d'ouverture de session sur un serveur SLIP</title>
+
+ <para>Par exemple, si <username>Shelmerg</username> est un
+ IDentifiant utilisateur SLIP, l'entr&eacute;e pour
+ <username>Shelmerg</username> dans
+ <filename>/etc/master.passwd</filename> ressemblera &agrave; ce qui
+ suit (sinon que tout sera sur une seule ligne):</para>
+
+ <programlisting>
+Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin</programlisting>
+
+ <para>Quand <username>Shelmerg</username> ouvre une session,
+ <command>sliplogin</command> cherche dans
+ <filename>/etc/sliphome/slip.hosts</filename> la ligne qui
+ contient cet IDentifiant utilisateur; il peut, par exemple, y
+ avoir dans <filename>/etc/sliphome/slip.hosts</filename> la
+ ligne:</para>
+
+ <programlisting>
+Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp</programlisting>
+
+ <para><command>sliplogin</command> la trouvera alors, affectera la
+ ligne s&eacute;rie &agrave; la prochaine interface SLIP disponible et ex&eacute;cutera
+ <filename>/etc/sliphome/slip.login</filename> avec les arguments
+ suivants:</para>
+
+ <programlisting>
+/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp</programlisting>
+
+ <para>Si tout se passe bien,
+ <filename>/etc/sliphome/slip.login</filename> ex&eacute;cutera un
+ <command>ifconfig</command> sur l'interface SLIP que s'est
+ attribu&eacute;e <command>sliplogin</command>
+ (l'interface slip 0, dans l'exemple ci-dessus, qui est le premier
+ param&egrave;tre pass&eacute; &agrave; <filename>slip.login</filename>)
+ pour d&eacute;finir l'adresse IP locale (<hostid>dc-slip</hostid>),
+ l'adresse IP de la machine &eacute;loign&eacute;e (<hostid>sl-helmer</hostid>),
+ le masque de sous-r&eacute;seau de l'interface SLIP
+ (<hostid role="netmask">0xfffffc00</hostid>) et tout autre
+ indicateur suppl&eacute;mentaire (<literal>autocomp</literal>). Si
+ quelque chose se passe mal, <command>sliplogin</command>
+ fournit en g&eacute;n&eacute;ral des messages d'informations valables en
+ utilisant la fonctionnalit&eacute; de trace du &ldquo;d&eacute;mon&rdquo;
+ <command>syslog</command>, qui les enregistre habituellement dans
+ <filename>/var/log/messages</filename>
+ (reportez-vous au pages de manuel de <citerefentry><refentrytitle>syslogd</refentrytitle><manvolnum>8</manvolnum></citerefentry> et
+ <citerefentry><refentrytitle>syslog.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, et regardez peut-&ecirc;tre aussi dans
+ <filename>/etc/syslog.conf</filename> pour voir o&ugrave;
+ <command>syslogd</command> enregistre les messages).</para>
+
+ <para>OK, assez d'exemples&nbsp;-&nbsp;attelons-nous maintenant &agrave; la
+ configuration du syst&egrave;me.</para>
+
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Configuration du noyau</title>
+
+ <para>Les noyaux par d&eacute;faut de FreeBSD d&eacute;finissent habituellement
+ deux interfaces SLIP (<devicename>sl0</devicename> et
+ <devicename>sl1</devicename>); vous pouvez v&eacute;rifier avec
+ <command>netstat -i</command> si ces interfaces sont d&eacute;finies
+ dans votre noyau.</para>
+
+ <para>Exemple de r&eacute;sultats de la commande
+ <command>netstat -i</command>:</para>
+
+ <informalexample>
+ <screen>Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
+ed0 1500 &lt;Link&gt;0.0.c0.2c.5f.4a 291311 0 174209 0 133
+ed0 1500 138.247.224 ivory 291311 0 174209 0 133
+lo0 65535 &lt;Link&gt; 79 0 79 0 0
+lo0 65535 loop localhost 79 0 79 0 0
+sl0* 296 &lt;Link&gt; 0 0 0 0 0
+sl1* 296 &lt;Link&gt; 0 0 0 0 0</screen>
+ </informalexample>
+
+ <para>Les interfaces <devicename>sl0</devicename> et
+ <devicename>sl1</devicename> apparaissent dans les sorties de
+ <command>netstat -i</command>, il y a donc deux interfaces
+ SLIP dans le noyau. (Les ast&eacute;risques apr&egrave;s <literal>sl0</literal>
+ et <literal>sl1</literal> indiquent que les interfaces sont
+ &ldquo;inactives&rdquo;&nbsp;-&nbsp;down.)</para>
+
+ <para>Cependant, les noyaux par d&eacute;faut de FreeBSD ne sont pas
+ configur&eacute;s pour transmettre des paquets (i.e., votre machine
+ FreeBSD ne fonctionnera pas comme routeur) &agrave; cause des
+ sp&eacute;cifications impos&eacute;es par les RFC Internet (reportez-vous &agrave; la
+ RFC's 1009 [Sp&eacute;cifications des passerelles Internet], 1122
+ [Sp&eacute;cifications des machines Internet&nbsp;-&nbsp;Couches de
+ communication], et peut-&ecirc;tre aussi 1127 [Une perspective sur le
+ RFCs de sp&eacute;cifications des machines]), donc, si vous voulez que
+ votre serveur SLIP serve de routeur, vous devez modifier votre
+ fichier <filename>/etc/rc.conf</filename> (appel&eacute;
+ <filename>/etc/sysconfig</filename> dans les versions de
+ FreeBSD ant&eacute;rieures &agrave; la 2.2.2) et affecter <option>YES</option>
+ &agrave; la variable <literal>gateway</literal>. Si vous avez un syst&egrave;me
+ plus ancien qui n'a m&ecirc;me pas de fichier
+ <filename>/etc/sysconfig</filename>, ajoutez alors la commande:
+
+ <programlisting>
+sysctl -w net.inet.ip.forwarding = 1</programlisting> &agrave; votre fichier
+ <filename>/etc/rc.local</filename>.</para>
+
+ <para>Vous devrez alors red&eacute;marrer votre syst&egrave;me pour que ce nouveau
+ param&egrave;trage soit pris en compte.</para>
+
+ <para>Vous remarquerez &agrave; la fin du fichier de configuration par
+ d&eacute;faut du noyau (<filename>/sys/i386/conf/GENERIC</filename>)
+ la ligne:</para>
+
+ <programlisting>
+pseudo-device sl 2</programlisting>
+
+ <para>C'est cette ligne qui d&eacute;finit le nombre de p&eacute;riph&eacute;riques
+ SLIP disponibles dans le noyau; le nombre en fin de ligne est le
+ nombre maximum de connexions SLIP qui peuvent &ecirc;tre simultan&eacute;ment
+ actives.</para>
+
+ <para>Reportez-vous s'il vous pla&icirc;t au chapitre
+ <link linkend="kernelconfig">Configurer le noyau de FreeBSD</link>
+ pour des indications sur la mani&egrave;re de configurer votre
+ noyau.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Configuration de sliplogin</title>
+
+ <para>Comme on l'a dit plus haut, il y a trois fichiers dans le
+ r&eacute;pertoire <filename>/etc/sliphome</filename> qui servent &agrave; la
+ configuration de <filename>/usr/sbin/sliplogin</filename> (voyez
+ <citerefentry><refentrytitle>sliplogin</refentrytitle><manvolnum>8</manvolnum></citerefentry> pour avoir les pages de manuel de
+ <command>sliplogin</command>):
+ <filename>slip.hosts</filename>, qui d&eacute;finit les utilisateurs SLIP
+ et les adresses IP qui leur sont affect&eacute;es;
+ <filename>slip.login</filename>, qui ne fait en g&eacute;n&eacute;ral que
+ configurer l'interface SLIP; et (facultatif)
+ <filename>slip.logout</filename>,
+ qui fait le travail inverse de <filename>slip.login</filename>
+ quand la connexion s&eacute;rie est termin&eacute;e.</para>
+
+ <sect3>
+ <title>Configuration de <filename>slip.hosts</filename></title>
+
+ <para><filename>/etc/sliphome/slip.hosts</filename> contient des
+ lignes avec au moins quatre champs, s&eacute;par&eacute;s par des
+ blancs:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>L'IDentifiant d'utilisateur SLIP,</para>
+ </listitem>
+
+ <listitem>
+ <para>L'addresse locale (locale au serveur SLIP) de la
+ liaison SLIP,</para>
+ </listitem>
+
+ <listitem>
+ <para>L'adresse de l'autre extr&eacute;mit&eacute; de la liaison
+ SLIP,</para>
+ </listitem>
+
+ <listitem>
+ <para>Le masque de r&eacute;seau.</para>
+ </listitem>
+
+ </itemizedlist>
+
+
+ <para>Les adresses locale et &eacute;loign&eacute;e peuvent &ecirc;tre des noms de
+ machines (qui seront converties en adresses IP via
+ <filename>/etc/hosts</filename> ou par le service de noms de
+ domaines, selon ce que contient
+ <filename>/etc/host.conf</filename>), et je crois que le masque
+ de r&eacute;seau peut &ecirc;tre un nom qui sera converti en consultant le
+ fichier <filename>/etc/networks</filename>. Pour notre exemple
+ plus haut, <filename>/etc/sliphome/slip.hosts</filename>
+ contiendrait:</para>
+
+ <programlisting>
+#
+# login local-addr remote-addr mask opt1 opt2
+# (normal,compress,noicmp)
+#
+Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp</programlisting>
+
+ <para>La ligne se termine par une ou plusieurs des options:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para><option>normal</option>&nbsp;-&nbsp;pas de compression
+ des en-t&ecirc;tes,</para>
+ </listitem>
+
+ <listitem>
+ <para><option>compress</option>&nbsp;-&nbsp;compression des
+ en-t&ecirc;tes,</para>
+ </listitem>
+
+ <listitem>
+ <para><option>autocomp</option>&nbsp;-&nbsp;compression des
+ en-t&ecirc;tes si la machine distante l'autorise,</para>
+ </listitem>
+
+ <listitem>
+ <para><option>noicmp</option>&nbsp;-&nbsp;interdire les
+ paquets ICMP (de sorte que les paquets &ldquo;ping&rdquo;
+ seront ignor&eacute;s au lieu de consommer votre bande
+ passante).</para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>Remarquez que le programme <command>sliplogin</command> des
+ premi&egrave;res versions de FreeBSD 2 ignorait les options que
+ FreeBSD 1.x reconnaissait, de sorte que les options
+ <option>normal</option>, <option>compress</option>,
+ <option>autocomp</option> et <option>noicmp</option> restaient
+ sans effet, jusqu'&agrave; ce que leur support soit ajout&eacute; &agrave;
+ FreeBSD 2.2 (&agrave; moins que votre proc&eacute;dure
+ <filename>slip.login</filename> n'inclue le code n&eacute;cessaire &agrave;
+ la prise en compte de ces indicateurs).</para>
+
+ <para>Les choix des adresses pour les deux extr&eacute;mit&eacute;s des liaisons
+ SLIP d&eacute;pend du fait que vous leur d&eacute;diiez un sous-r&eacute;seau ou que
+ vous comptiez utiliser &ldquo;proxy ARP&rdquo; sur votre serveur
+ SLIP (ce n'est pas du &ldquo;vrai&rdquo; proxy ARP, mais c'est
+ la terminologie que nous utiliserons dans ce document pour le
+ d&eacute;signer). Si vous n'&ecirc;tes pas s&ucirc;r de la m&eacute;thode &agrave; choisir ou de
+ la facon d'assigner les adresses IP, r&eacute;f&eacute;rez-vous s'il vous pla&icirc;t
+ aux ouvrages mentionn&eacute;s &agrave; la section <link
+ linkend="slips-prereqs">Pr&eacute;requis</link> et/ou consultez
+ l'administrateur de votre r&eacute;seau IP.</para>
+
+ <para>Si vous comptez d&eacute;dier un sous-r&eacute;seau IP &agrave; vos clients SLIP,
+ vous devrez d&eacute;finir l'adresse de sous-r&eacute;seau &agrave; partir de
+ l'adresse de r&eacute;seau qui vous est affect&eacute;e et attribuer &agrave; chacun
+ de vos clients SLIP une adresse IP sur ce sous-r&eacute;seau. Vous devrez
+ alors probablement configurer une route statique vers votre
+ sous-r&eacute;seau SLIP via votre serveur SLIP, sur votre routeur le
+ plus proche, ou installer <command>gated</command> sur votre
+ serveur SLIP FreeBSD et le configurer pour qu'il dialogue avec
+ les protocoles appropri&eacute;s avec les autres routeurs, pour leur
+ annoncer la route de votre serveur SLIP vers le sous-r&eacute;seau
+ SLIP.</para>
+
+ <para>Sinon, si vous utilisez la m&eacute;thode &ldquo;proxy ARP&rdquo;,
+ vous devrez assigner &agrave; vos client SLIP des adresses sur le
+ sous-r&eacute;seau Ethernet de votre serveur SLIP, et vous devrez
+ aussi adapter vos proc&eacute;dures
+ <filename>/etc/sliphome/slip.login</filename> et
+ <filename>/etc/sliphome/slip.logout</filename> pour qu'elles
+ utilisent
+ <citerefentry><refentrytitle>arp</refentrytitle><manvolnum>8</manvolnum></citerefentry> pour g&eacute;rer les entr&eacute;es proxy-ARP dans la table ARP de
+ votre serveur SLIP.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>Configuration de <filename>slip.login</filename></title>
+
+ <para>Le fichier <filename>/etc/sliphome/slip.login</filename>
+ ressemble typiquement &agrave; ceci:</para>
+
+ <programlisting>
+#!/bin/sh -
+#
+# @(#)slip.login 5.1 (Berkeley) 7/1/90
+
+#
+# proc&eacute;dure d'ouverture de session g&eacute;n&eacute;rique pour une liaison slip
+# sliplogin l'appelle avec les param&egrave;tres:
+#
+# 1 2 3 4 5 6 7-n
+# interface vitesse nom adresse-locale adresse-&eacute;loign&eacute;e masque optionnels
+#
+/sbin/ifconfig sl$1 inet $4 $5 netmask $6</programlisting>
+
+ <para>Ce fichier <filename>slip.login</filename> ne fait
+ qu'ex&eacute;cuter <command>ifconfig</command> sur l'interface
+ SLIP appropri&eacute;e avec comme param&egrave;tres les adresses locales
+ et distantes et le masque de r&eacute;seau de l'interface SLIP.</para>
+
+ <para>Si vous avez choisi la m&eacute;thode &ldquo;proxy ARP&rdquo;
+ (au lieu d'affecter un sous-r&eacute;seau distinct &agrave; vos clients
+ SLIP), votre fichier
+ <filename>/etc/sliphome/slip.login</filename> devra ressembler
+ &agrave;:</para>
+
+ <programlisting>
+#!/bin/sh -
+#
+# @(#)slip.login 5.1 (Berkeley) 7/1/90
+
+#
+# proc&eacute;dure d'ouverture de session g&eacute;n&eacute;rique pour une liaison slip
+# sliplogin l'appelle avec les param&egrave;tres:
+#
+# 1 2 3 4 5 6 7-n
+# interface vitesse nom adresse-locale adresse-&eacute;loign&eacute;e masque optionnels
+#
+/sbin/ifconfig sl$1 inet $4 $5 netmask $6
+#
+# r&eacute;pondre aux requ&ecirc;tes ARP concernant le client SLIP
+# pour notre adresse Ethernet
+#
+/usr/sbin/arp -s $5 00:11:22:33:44:55 pub</programlisting>
+
+ <para>La ligne suppl&eacute;mentaire
+ <command>arp -s &#36;5 00:11:22:33:44:55 pub</command>
+ de ce fichier <filename>slip.login</filename> cr&eacute;e une entr&eacute;e
+ ARP dans la table ARP du serveur SLIP. Cette entr&eacute;e ARP fait
+ que le serveur SLIP r&eacute;pond en donnant sa propre adresse MAC
+ lorsqu'un autre noeud IP du r&eacute;seau Ethernet demande &agrave; parler
+ avec le client SLIP qui a cette adresse IP.</para>
+
+ <para>Dans l'exemple donn&eacute; ci-dessus, remplacez bien l'adresse
+ MAC Ethernet (<hostid role="mac">00:11:22:33:44:55</hostid>) par
+ l'adresse MAC de la carte Ethernet de votre syst&egrave;me, sans quoi
+ votre &ldquo;proxy ARP&rdquo; ne fonctionnera d&eacute;finitivement pas!
+ Vous pouvez conna&icirc;tre cette adresse MAC en regardant le r&eacute;sultat
+ de la commande <command>netstat -i</command>; la seconde ligne des
+ sorties doit ressembler &agrave; ce qui suit:</para>
+
+ <informalexample>
+ <screen>ed0 1500 &lt;Link&gt;0.2.c1.28.5f.4a 191923 0 129457 0 116
+ </screen>
+ </informalexample>
+
+ <para>Cela indique que l'adresse MAC Ethernet de ce syst&egrave;me
+ est <hostid role="mac">00:02:c1:28:5f:4a</hostid>&nbsp;-&nbsp;il
+ faut remplacer les &ldquo;.&rdquo; dans les adresses MAC Ethernet
+ que donne <command>netstat -i</command> par des &ldquo;:&rdquo;
+ et ajouter un &ldquo;0&rdquo; devant les valeurs hexad&eacute;cimales
+ qui ne sont donn&eacute;es que sur un seul caract&egrave;re pour obtenir des
+ adresses telles que
+ <citerefentry><refentrytitle>arp</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ les demande; voyez les pages de manuel de
+ <citerefentry><refentrytitle>arp</refentrytitle><manvolnum>8</manvolnum></citerefentry> pour avoir des informations compl&egrave;tes sur ces
+ conventions.</para>
+
+ <note>
+ <para>Quand vous cr&eacute;ez les fichiers
+ <filename>/etc/sliphome/slip.login</filename>&nbsp;-&nbsp;et
+ <filename>/etc/sliphome/slip.logout</filename>&nbsp;-&nbsp;, le
+ bit &ldquo;ex&eacute;cutable&rdquo; doit &ecirc;tre positionn&eacute;
+ (i.e., <command>chmod 755 /etc/sliphome/slip.login
+ /etc/sliphome/slip.logout</command>), sinon
+ <command>sliplogin</command> ne pourra pas ex&eacute;cuter la
+ proc&eacute;dure.</para>
+ </note>
+ </sect3>
+
+ <sect3>
+ <title>Configuration de <filename>slip.logout</filename></title>
+
+ <para><filename>/etc/sliphome/slip.logout</filename> n'est pas
+ strictement indispensable (&agrave; moins que vous n'impl&eacute;mentiez
+ &ldquo;proxy ARP&rdquo;), mais, si vous d&eacute;cidez de la cr&eacute;er,
+ voici un exemple de proc&eacute;dure
+ <filename>slip.logout</filename> &eacute;l&eacute;mentaire:</para>
+
+ <programlisting>
+#!/bin/sh -
+#
+# slip.logout
+#
+# proc&eacute;dure de fermeture de session g&eacute;n&eacute;rique pour une liaison slip
+# sliplogin l'appelle avec les param&egrave;tres:
+#
+# 1 2 3 4 5 6 7-n
+# interface vitesse nom adresse-locale adresse-&eacute;loign&eacute;e masque optionnels
+#
+/sbin/ifconfig sl$1 down</programlisting>
+
+ <para>Si vous utilisez &ldquo;proxy ARP&rdquo;, vous voudrez que
+ <filename>/etc/sliphome/slip.logout</filename> supprime l'entr&eacute;e
+ ARP pour le client SLIP:</para>
+
+ <programlisting>
+#!/bin/sh -
+#
+# slip.logout
+#
+# proc&eacute;dure de fermeture de session g&eacute;n&eacute;rique pour une liaison slip
+# sliplogin l'appelle avec les param&egrave;tres:
+#
+# 1 2 3 4 5 6 7-n
+# interface vitesse nom adresse-locale adresse-&eacute;loign&eacute;e masque optionnels
+#
+/sbin/ifconfig sl$1 down
+# Cessez de r&eacute;pondre aux requ&ecirc;tes ARP concernant le client SLIP
+/usr/sbin/arp -d $5</programlisting>
+
+ <para><command>arp -d &#36;5</command> supprime l'entr&eacute;e ARP que la
+ proc&eacute;dure <filename>slip.login</filename> pour &ldquo;proxy
+ arp&rdquo; a ajout&eacute; quand le client SLIP a ouvert la
+ session.</para>
+
+ <para>Il n'est pas inutile de r&eacute;p&eacute;ter: v&eacute;rifiez que le bit
+ &ldquo;ex&eacute;cutable&rdquo; de la proc&eacute;dure
+ <filename>/etc/sliphome/slip.logout</filename> est positionn&eacute;
+ apr&egrave;s que vous l'ayez cr&eacute;&eacute;e (i.e., <command>chmod
+ 755 /etc/sliphome/slip.logout</command>).</para>
+
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>A propos du routage</title>
+
+ <para>Si vous n'utilisez pas &ldquo;proxy ARP&rdquo; pour router
+ les paquets entre vos clients SLIP et le reste de votre r&eacute;seau
+ (et peut-&ecirc;tre l'Internet), vous devrez probablement soit ajouter
+ des routes statiques vers votre(vos) routeur(s) par d&eacute;faut le(s)
+ plus proche(s) pour router le sous-r&eacute;seau de vos clients SLIP via
+ votre serveur SLIP, soit installer et configurer
+ <command>gated</command> sur votre serveur SLIP FreeBSD de sorte
+ qu'il fournisse &agrave; vos routeurs, en utilisant les protocoles de
+ routage appropri&eacute;s, les informations qui concernent votre
+ sous-r&eacute;seau SLIP.</para>
+
+ <sect3>
+ <title>Routes statiques</title>
+
+ <para>Ajouter des routes statiques vers vos routeurs les plus
+ proches peut &ecirc;tre probl&eacute;matique (voire impossible, si vous n'avez
+ pas les autorisations pour ...). Si vous avez un r&eacute;seau avec
+ des routeurs divers, certains d'entre eux, tels les Cisco et les
+ Proteon, devront non seulement avoir la route statique vers votre
+ sous-r&eacute;seau SLIP, mais devront aussi savoir quelles routes
+ statiques ils doivent annoncer aux autres routeurs, il faudra
+ donc quelques comp&eacute;tences, de la mise au point ou de la
+ &ldquo;bidouille&rdquo; pour que vos routes statiques
+ fonctionnent.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>Utiliser <command>gated</command></title>
+
+ <para>Une alternative aux maux de t&ecirc;te que provoquent les routes
+ statiques est d'installer <command>gated</command> sur votre
+ serveur SLIP FreeBSD et de le configurer pour qu'il utilise les
+ protocoles de routage appropri&eacute;s (RIP/OSPF/BGP/EGP) pour annoncer
+ aux autres routeurs votre sous-r&eacute;seau SLIP. Vous pouvez utiliser
+ la version de <command>gated</command> du
+ <link linkend="ports">catalogue des logiciels port&eacute;s</link> ou le
+ t&eacute;l&eacute;charger depuis <ulink
+ url="ftp://ftp.gated.merit.edu/research.and.development/gated/">le site ftp anonyme de GateD</ulink> et
+ le compiler vous-m&ecirc;me; Je crois que la derni&egrave;re version au moment
+ o&ugrave; j'&eacute;cris ceci est <filename>gated-R3_5Alpha_8.tar.Z</filename>,
+ qui inclut la version pour FreeBSD &ldquo;pr&ecirc;te-&agrave;-l'usage&rdquo;.
+ Des informations compl&egrave;tes et la documentation de
+ <command>gated</command> sont disponibles
+ sur le Web sur le site du
+ <ulink url="http://www.gated.merit.edu/">Merit GateD Consortium</ulink>.
+ Compilez-le et installez-le, et cr&eacute;ez ensuite un fichier
+ <filename>/etc/gated.conf</filename> pour le configurer; voici un
+ exemple, semblable &agrave; celui que l'auteur a utilis&eacute; sur un serveur
+ SLIP FreeBSD:</para>
+
+ <programlisting>
+#
+# fichier de configuration de gated dc.dsu.edu;
+# pour la version 3.5alpha5 de gated
+# simplement diffuser les informations RIP pour xxx.xxx.yy
+# via l'interface Ethernet "ed"
+#
+# options de trace
+#
+traceoptions "/var/tmp/gated.output" replace size 100k files 2 general ;
+
+rip yes {
+ interface sl noripout noripin ;
+ interface ed ripin ripout version 1 ;
+ traceoptions route ;
+} ;
+
+#
+# fournir des informations de trace sur l'interface au noyau:
+kernel {
+ traceoptions remnants request routes info interface ;
+} ;
+
+#
+# Propager la route vers xxx.xxx.yy via l'Ethernet interface et RIP
+#
+
+export proto rip interface ed {
+ proto direct {
+ <replaceable>xxx.xxx.yy</replaceable> mask 255.255.252.0 metric 1; # SLIP connections
+ } ;
+} ;
+
+#
+# Accepter les routes de RIP via les interfaces Ethernet "ed"
+
+import proto rip interface ed {
+ all ;
+} ;</programlisting>
+
+ <para>L'exemple ci-dessus de fichier <filename>gated.conf</filename>
+ diffuse l'information de routage concernant le sous-r&eacute;seau SLP
+ <replaceable>xxx.xxx.yy</replaceable> en utilisant RIP sur
+ l'interface Ethernet; si vous utilisez un pilote Ethernet autre
+ que <devicename>ed</devicename>, vous devrez modifier en
+ cons&eacute;quence les r&eacute;f&eacute;rences &agrave; l'interface
+ <devicename>ed</devicename>. Ce fichier d'exemple active aussi les
+ traces sur <filename>/var/tmp/gated.output</filename> pour pouvoir
+ d&eacute;boguer le fonctionnement de <command>gated</command>; vous
+ pouvez certainement d&eacute;sactiver ces options de trace si
+ <command>gated</command> fonctionne comme vous le voulez. Vous
+ devrez remplacer les <replaceable>xxx.xxx.yy</replaceable> par
+ l'adresse r&eacute;seau de votre propre sous-r&eacute;seau SLIP (veillez &agrave;
+ remplacer aussi le masque de r&eacute;seau dans la clause
+ <literal>proto direct</literal>).</para>
+
+ <para>Une fois que vous avez compil&eacute; et install&eacute;
+ <command>gated</command> et cr&eacute;er son fichier de configuration,
+ vous devrez lancer <command>gated</command> au lieu de
+ <command>routed</command> sur votre syst&egrave;me FreeBSD; modifiez les
+ param&egrave;tres de d&eacute;marrage de <filename>routed/gated</filename> dans
+ <filename>/etc/netstart</filename> comme requis par votre
+ syst&egrave;me. Consultez s'il vous pla&icirc;t les pages de manuel de
+ <command>gated</command> pour avoir des informations sur les
+ param&egrave;tres de la ligne de commande de
+ <command>gated</command>.</para>
+
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Remerciements</title>
+
+ <para>Merci aux personnes suivantes pour leurs commentaires et leurs
+ conseils &agrave; propos de ce guide:</para>
+
+ <variablelist>
+ <varlistentry><term>&a.wilko;</term>
+ <listitem>
+ <para></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Piero Serini</term>
+
+ <listitem>
+ <para><email>Piero@Strider.Inet.IT</email></para>
+
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+ </sect2>
+ </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:
+-->
+
diff --git a/fr_FR.ISO_8859-1/books/handbook/printing/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/printing/chapter.sgml
new file mode 100755
index 0000000000..0767427ef8
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/printing/chapter.sgml
@@ -0,0 +1,5375 @@
+<!--
+ 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:
+-->
diff --git a/fr_FR.ISO_8859-1/books/handbook/quotas/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/quotas/chapter.sgml
new file mode 100755
index 0000000000..4ace312374
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/quotas/chapter.sgml
@@ -0,0 +1,284 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+ <chapter
+ id="quotas">
+ <title>Quotas d'utilisation des disques</title>
+
+ <para><emphasis>Contribution de &a.mpp;.<!-- <br> -->26 F&eacute;vrier
+ 1996</emphasis></para>
+ &trans.a.haby;
+
+ <para>Les quotas sont une option du syst&egrave;me d'exploitation qui vous
+ permet de limiter la quantit&eacute; d'espace disque et/ou le nombre
+ de fichiers auxquels ont droit un utilisateur ou tous les
+ utilisateurs du m&ecirc;me groupe, sur un syst&egrave;me de fichiers donn&eacute;.
+ On les utilise la plupart du temps sur les syst&egrave;mes en temps
+ partag&eacute; sur lequel il est souhaitable de limiter la quantit&eacute; de
+ ressources allou&eacute;e &agrave; un utilisateur ou &agrave; un groupe. Cela &eacute;vite
+ qu'un seul utilisateur consomme tout l'espace disque.</para>
+
+
+ <sect1>
+ <title>Configurer votre syst&egrave;me pour pouvoir utiliser les
+ quotas d'utilisation des disques</title>
+
+ <para>Avant d'essayer de mettre en place des quotas disque, il faut
+ vous assurez que votre noyau est configur&eacute; pour cela. Pour ce faire,
+ vous devez ajouter la ligne suivante au fichier de configuration de
+ votre noyau:</para>
+
+ <programlisting>
+options QUOTA
+ </programlisting>
+
+ <para>Cette option n'est pas activ&eacute;e par d&eacute;faut dans le fichier noyau
+ <filename>GENERIC</filename> de base, vous devez donc configurer,
+ compiler et installer un noyau sur-mesure pour utiliser les quotas
+ disque. Reportez-vous s'il vous pla&icirc;t au chapitre
+ <link linkend="kernelconfig">Configurer le noyau de FreeBSD</link>
+ pour plus d'informations sur la configuration du noyau.</para>
+
+ <para>Vous devrez ensuite mettre en service les quotas dans votre
+ fichier <filename>/etc/sysconfig</filename>. Pour cela, remplacez
+ la ligne:
+
+ <programlisting>
+quotas=NO
+ </programlisting>par:
+
+ <programlisting>
+quotas=YES
+ </programlisting></para>
+
+ <para>Si vous utilisez FreeBSD 2.2.2 ou ult&eacute;rieur, ce fichier
+ de configuration s'appelle <filename>/etc/rc.conf</filename> et le
+ nom de la variable a &eacute;t&eacute; modifi&eacute; en:
+
+ <programlisting>
+check_quotas=YES
+ </programlisting></para>
+
+ <para>Vous devez enfin &eacute;diter le fichier
+ <filename>/etc/fstab</filename> pour mettre en service les quotas
+ syst&egrave;me de fichiers par syst&egrave;me de fichiers. C'est l&agrave; que vous
+ dites si vous voulez des quotas d'utilisation des disques par
+ utilisateur, par groupe ou les deux, pour chaque syst&egrave;me de
+ fichiers.</para>
+
+ <para>Pour mettre en service des quotas par utilisateur, ajoutez
+ l'option <literal>userquota</literal> &agrave; la zone d'options de
+ l'entr&eacute;e de <filename>/etc/fstab</filename> pour le syst&egrave;me de
+ fichiers sur lequel vous voulez des quotas. Par exemple:</para>
+
+ <programlisting>
+/dev/sd1s2g /home ufs rw,userquota 1 2
+ </programlisting>
+
+ <para>De m&ecirc;me, pour d&eacute;finir des quotas par groupe, utilisez l'option
+ <literal>groupquota</literal> au lieu du mot-cl&eacute;
+ <literal>userquota</literal>. Pour avoir &agrave; la fois des quotas par
+ utilisateur et par groupe, modifiez cette entr&eacute;e de la fa&ccedil;on
+ suivante:</para>
+
+ <programlisting>
+/dev/sd1s2g /home ufs rw,userquota,groupquota 1 2
+ </programlisting>
+
+ <para>Par d&eacute;faut, les fichiers o&ugrave; sont d&eacute;finis les quotas se trouvent
+ dans le r&eacute;pertoire racine du syst&egrave;me de fichiers et s'appellent
+ <filename>quota.user</filename> et
+ <filename>quota.group</filename>, pour les quotas par utilisateur
+ et, respectivement, par groupe. Consultez
+ <command>man fstab</command> pour plus d'informations. Bien que les
+ pages de manuel disent que vous pouvez mettre ces fichiers ailleurs,
+ ce n'est pas recommand&eacute; parce qu'il semble que les divers utilitaires
+ qui g&egrave;rent les quotas ne prennent pas tous cela correctement en
+ compte.</para>
+
+ <para>Vous devez maintenant red&eacute;marrer votre syst&egrave;me avec le nouveau
+ noyau. La proc&eacute;dure <filename>/etc/rc</filename> ex&eacute;cutera
+ automatiquement les commandes n&eacute;cessaires &agrave; la cr&eacute;ation des fichiers
+ de quotas initiaux pour tous ceux que vous avez instaur&eacute;s dans
+ <filename>/etc/fstab</filename>, vous n'avez donc pas besoin de
+ cr&eacute;er &agrave; la main des fichiers de quotas vides.</para>
+
+ <para>Vous ne devriez normalement pas avoir &agrave; ex&eacute;cuter les commandes
+ <command>quotacheck</command>, <command>quotaon</command>,
+ ou <command>quotaoff</command>. Vous pouvez cependant lire les pages
+ de manuel qui s'y rapportent, simplement pour savoir ce qu'elles
+ font.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>D&eacute;finir les quotas</title>
+
+ <para>Maintenant que votre syst&egrave;me est configur&eacute; pour mettre en place
+ des quotas, v&eacute;rifiez que cela marche bien. Cela ce fait facilement
+ en ex&eacute;cutant:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>quota -v</userinput></screen>
+ </informalexample>
+
+ <para>Vous devriez obtenir une ligne de r&eacute;sum&eacute; d'utilisation du
+ disque avec les quotas actuellement d&eacute;finis pour chaque syst&egrave;me de
+ fichiers sur lesquels il y a des quotas.</para>
+
+ <para>Vous pouvez maintenant d&eacute;finir ces quotas avec la commande
+ <command>edquota</command>.</para>
+
+ <para>Il y a diff&eacute;rentes option pour instaurer les quotas d'espace
+ disque allou&eacute;s &agrave; un utilisateur ou &agrave; un groupe et le nombre de
+ fichiers qu'ils ont le droit de cr&eacute;er. Il peuvent &ecirc;tre bas&eacute;s sur
+ l'espace disque (quotas en nombre de blocs) ou le nombre de fichiers
+ (quotas en nombre d'entr&eacute;es dans le
+ r&eacute;pertoire&nbsp;-&nbsp;&ldquo;inode&rdquo;) ou les deux. Ces options
+ peuvent encore &ecirc;tre subdivis&eacute;es en deux cat&eacute;gories: limitations
+ strictes ou souples.</para>
+
+ <para>Les limites strictes ne peuvent jamais &ecirc;tre d&eacute;pass&eacute;es. D&egrave;s qu'un
+ utilisateur atteint sa limite stricte, il ne peut plus rien allouer
+ sur le syst&egrave;me de fichiers en question. Si par exemple, il n'a
+ droit qu'&agrave; 500 blocs sur un syst&egrave;me de fichiers et en utilise d&eacute;j&agrave;
+ 490, il ne peut plus en allouer que 10. S'il voulait en allouer 11,
+ il n'y arriverait pas.</para>
+
+ <para>Les limites souples peuvent elles &ecirc;tre d&eacute;pass&eacute;es pour une p&eacute;riode
+ de temps restreinte. C'est ce que l'on appelle le d&eacute;lai de gr&acirc;ce, qui
+ est d'une semaine par d&eacute;faut. Si un utilisateur d&eacute;passe sa limite
+ souple au del&agrave; du d&eacute;lai de gr&acirc;ce, cette limite devient stricte, et
+ il ne peut plus rien allouer. Lorsqu'il redescend en dessous de
+ la limite stricte, le d&eacute;lai de gr&acirc;ce lui est r&eacute;accord&eacute;.</para>
+
+ <para>Voici un exemple de ce que vous pouvez voir en utilisant
+ la commande <command>edquota</command>. Quand vous invoquez la
+ commande <command>edquota</command>, vous vous retrouvez sous
+ l'&eacute;diteur d&eacute;fini par la variable d'environnement
+ <envar>EDITOR</envar>, ou sous <command>vi</command>
+ si la variable d'environnement <envar>EDITOR</envar> n'est pas
+ positionn&eacute;e, ce qui vous permet d'&eacute;diter les quotas.</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>edquota -u test</userinput></screen>
+ </informalexample>
+
+ <programlisting>
+Quotas for user test:
+/usr: blocks in use: 65, limits (soft = 50, hard = 75)
+ inodes in use: 7, limits (soft = 50, hard = 60)
+/usr/var: blocks in use: 0, limits (soft = 50, hard = 75)
+ inodes in use: 0, limits (soft = 50, hard = 60)
+ </programlisting>
+
+ <para>Il y aura normalement deux lignes pour chaque syst&egrave;me de fichiers
+ sur lequel il y a des quotas: une pour les quotas de blocs, l'autre
+ pour les quotas d'entr&eacute;es de r&eacute;pertoire. Modifiez simplement les
+ valeurs que vous voulez mettre &agrave; jour. Par exemple, pour augmenter
+ la limite de blocs accord&eacute;e &agrave; cet utilisateur de 50 pour la limite
+ souple et 75 pour la limite stricte &agrave; 500 pour la limite souple et
+ 600 pour la limite stricte, modifiez:
+
+ <programlisting>
+/usr: blocks in use: 65, limits (soft = 50, hard = 75)
+ </programlisting> en:
+
+ <programlisting>
+/usr: blocks in use: 65, limits (soft = 500, hard = 600)
+ </programlisting></para>
+
+ <para>Ces nouveaux quotas seront en service d&egrave;s que vous quitterez
+ l'&eacute;diteur.</para>
+
+ <para>Il est parfois souhaitable de d&eacute;finir des quotas pour une plage
+ d'UIDs (identifiants utilisateur). Cela peut &ecirc;tre r&eacute;alis&eacute; par
+ l'option <option>-p</option> de la commande
+ <command>edquota</command>. D&eacute;finissez d'abord les quotas voulus pour
+ un seul utilisateur, puis ex&eacute;cutez <command>edquota -p
+ utilisateur_prototype premier_uid-dernier_uid</command>.
+ Par exemple, si les quotas voulus sont ceux de l'utilisateur
+ <username>test</username>, la commande qui suit applique les
+ m&ecirc;mes quotas aux &ldquo;uids&rdquo; de 10.000 &agrave; 19.999:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>edquota -p test 10000-19999</userinput></screen>
+ </informalexample>
+
+ <para>Cette possibilit&eacute; de d&eacute;finir des quotas pour une plage
+ d'&ldquo;uids&rdquo; a &eacute;t&eacute; ajout&eacute;e apr&egrave;s la version 2.1. Si
+ vous voulez en b&eacute;n&eacute;ficiez sur un syst&egrave;me 2.1, vous devez
+ r&eacute;cup&eacute;rer un version plus r&eacute;cente de
+ <command>edquota</command>.</para>
+
+ <para>Voyez <command>man edquota</command> pour des informations plus
+ d&eacute;taill&eacute;es.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>Consulter les quotas et l'utilisation des disques</title>
+
+ <para>Vous pouvez utiliser l'une des commandes
+ <command>quota</command> ou <command>repquota</command> pour
+ consulter les quotas et l'utilisation des disques.
+ La commande <command>quota</command> peut &ecirc;tre employ&eacute;e pour
+ conna&icirc;tre les quotas et l'utilisation des disques pour un
+ utilisateur et un groupe. Seul le super-utilisateur peut
+ consulter les quotas et l'usage des disques des autres
+ utilisateurs ou d'un groupe auquel il n'appartient pas.
+ La commande <command>repquota</command> permet d'avoir un
+ r&eacute;sum&eacute; des quotas et de l'utilisation des disques pour les
+ syst&egrave;mes des fichiers sur lesquels il y a des quotas.</para>
+
+ <para>Voici un exemple de r&eacute;sultat obtenu avec la commande
+ <command>quota -v</command> pour un utilisateur pour lequel on
+ a d&eacute;fini des quotas sur deux syst&egrave;mes de fichiers.</para>
+
+
+ <programlisting>
+Disk quotas for user test (uid 1002):
+ Filesystem blocks quota limit grace files quota limit grace
+ /usr 65* 50 75 5days 7 50 60
+ /usr/var 0 50 75 0 50 60
+ </programlisting>
+
+ <para>Dans cet exemple, l'utilisateur occupe 15 blocs de plus que la
+ limite de 50 blocs qui lui est allou&eacute;e sur le syst&egrave;me de fichiers
+ <filename>/usr</filename> et dispose d'un d&eacute;lai de gr&acirc;ce de 5 jours.
+ Remarquez l'ast&eacute;risque <literal>*</literal> qui indique que la limite
+ est d&eacute;pass&eacute;e.</para>
+
+ <para>Les syst&egrave;mes de fichiers sur lequel l'utilisateur n'occupe pas
+ de place n'apparaissent normalement pas dans les sorties de la
+ commande <command>quota</command>, m&ecirc;me s'il a des quotas
+ sur ces syst&egrave;mes de fichiers. L'option <option>-v</option> elle
+ les liste, comme <filename>/usr/var</filename> dans l'exemple
+ ci-dessus.</para>
+
+ </sect1>
+
+ <sect1>
+ <title>* Quotas avec NFS</title>
+
+ <para>Cette section est encore en cours de r&eacute;daction.</para>
+
+ </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:
+-->
diff --git a/fr_FR.ISO_8859-1/books/handbook/security/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/security/chapter.sgml
new file mode 100755
index 0000000000..3198d08340
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/security/chapter.sgml
@@ -0,0 +1,1894 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+ <chapter>
+ <title>S&eacute;curit&eacute;</title>
+ &trans.a.haby;
+
+ <sect1 id="crypt">
+ <title>DES, MD5, et Crypt</title>
+
+ <para><emphasis>Contribution de &a.wollman;<!-- <br> -->24 Septembre
+ 1995.</emphasis></para>
+
+ <para>Pour &eacute;viter que les mots de passe ne soient facilement accessibles
+ sur les syst&egrave;mes UN*X, ils ont traditionnellement &eacute;t&eacute; brouill&eacute;s
+ d'une fa&ccedil;on ou d'une autre. Depuis la Septi&egrave;me Edition d'Unix de
+ Bell Labs', les mots de passe ont &eacute;t&eacute; cod&eacute;s avec ce que les
+ sp&eacute;cialistes de la s&eacute;curit&eacute; appellent
+ &ldquo;un hachage irr&eacute;versible&rdquo;. Ce qui signifie que le mot de
+ passe est transform&eacute; de telle sorte qu'une fois encod&eacute;, il ne puisse
+ &ecirc;tre d&eacute;cod&eacute;, sinon par la force, en parcourant l'&eacute;ventail de toutes
+ les possibilit&eacute;s. Malheureusement, la seule m&eacute;thode accessible aux
+ chercheurs d'AT&amp;T &eacute;tait bas&eacute;e sur DES, le &ldquo;Data Encryption
+ Standard&rdquo; (standard de cryptage des donn&eacute;es). C'est un probl&egrave;me
+ mineur pour les distributeurs de logiciels commerciaux, mais un
+ obstacle s&eacute;rieux pour un syst&egrave;me d'exploitation comme FreeBSD, dont
+ tout le code source est accessible librement, parce que, dans de
+ nombreux pays, l'exportation de DES et d'autres logiciels de
+ cryptage est restreinte.</para>
+
+ <para>L'&eacute;quipe de d&eacute;veloppement de FreeBSD s'est donc retrouv&eacute;e face
+ au dilemme suivant: comment rester compatible avec les autres
+ syst&egrave;mes Unix sans enfreindre la l&eacute;gislation. Nous avons donc
+ d&eacute;cid&eacute; d'une double approche: avoir une distribution qui ne
+ comporte que du logiciel de hachage des mots de passe non restreint
+ &agrave; l'exportation, et fournir une biblioth&egrave;que s&eacute;par&eacute;e pour le DES.
+ L'algorithme de codage a &eacute;t&eacute; extrait de la biblioth&egrave;que C et
+ d&eacute;plac&eacute; dans une biblioth&egrave;que s&eacute;par&eacute;e appel&eacute;e
+ <filename>libcrypt</filename>, du nom de la fonction C
+ <function>crypt</function> qui l'impl&eacute;mente. Dans FreeBSD 1.x
+ et quelques instantan&eacute;s de pr&eacute;-versions 2.0, l'algorithme librement
+ exportable utilise une fonction non s&eacute;curis&eacute;e due &agrave; Nate Williams;
+ dans les versions ult&eacute;rieures, il a &eacute;t&eacute; remplac&eacute; par la fonction
+ de hachage irr&eacute;versible MD5 de RSA Data Security, Inc. Comme aucune
+ de ces fonctions n'utilise de technique de cryptage, elles sont
+ suppos&eacute;es librement exportables des Etats-Unis et importables dans
+ de nombreux autres pays.</para>
+
+ <para>Dans le m&ecirc;me temps, nous avons aussi travaill&eacute; sur une fonction
+ bas&eacute;e sur le cryptage DES. Tout d'abord, une version de la fonction
+ <function>crypt</function> &eacute;crite en dehors des Etats-Unis a &eacute;t&eacute;
+ import&eacute;e, pour synchroniser le code am&eacute;ricain et celui du reste du
+ monde. Puis la biblioth&egrave;que a &eacute;t&eacute; modifi&eacute;e et coup&eacute;e en deux; la
+ biblioth&egrave;que <filename>libcrypt</filename> DES ne contient que le
+ code de hachage irr&eacute;versible des mots de passe, et une deuxi&egrave;me
+ biblioth&egrave;que <filename>libcipher</filename> contient les points
+ d'entr&eacute;e vers le code effectuant le cryptage. Le code a
+ &eacute;t&eacute; d&eacute;coup&eacute; de cette fa&ccedil;on pour obtenir plus facilement la licence
+ d'exportation pour la biblioth&egrave;que compil&eacute;e.</para>
+
+ <sect2>
+ <title>Identifier votre m&eacute;canisme <command>crypt</command></title>
+
+ <para>Il est assez facile de savoir si un mot de passe a &eacute;t&eacute; cod&eacute;
+ avec un algorithme bas&eacute; sur DES ou sur MD5. Les mots de passe MD5
+ commencent toujours par les caract&egrave;res
+ <literal>&#36;1&#36;</literal>.
+ Les mots de passe DES n'ont pas de caract&eacute;ristique particuli&egrave;re,
+ mais sont plus courts que les mots de passe MD5 et utilisent un
+ alphabet de 64 caract&egrave;res qui ne contient pas le caract&egrave;re
+ <literal>&#36;</literal>, une cha&icirc;ne relativement courte qui ne
+ commence pas par un &ldquo;<literal>&#36;</literal>&rdquo; a donc
+ de tr&egrave;s fortes chances d'&ecirc;tre un mot de passe DES.</para>
+
+ <para>Savoir quelle biblioth&egrave;que est utilis&eacute;e sur votre syst&egrave;me est
+ aussi facile pour la plupart des programmes, sauf pour ceux qui,
+ comme <command>init</command> sont li&eacute;s statiquement. (Pour ces
+ programmes, il n'y a qu'un moyen: les utiliser avec un mot de passe
+ connu et voir si cela marche.) Les programmes qui utilisent la
+ fonction <function>crypt</function> sont li&eacute;s avec la biblioth&egrave;que
+ <filename>libcrypt</filename>, qui pour chaque type de codage,
+ est un lien symbolique vers l'impl&eacute;mentation ad&eacute;quate. Par exemple,
+ sur un syst&egrave;me utilisant la version DES:</para>
+
+
+ <informalexample>
+ <screen>&prompt.user;<userinput> cd /usr/lib</userinput>
+&prompt.user; <userinput>ls -l /usr/lib/libcrypt*</userinput>
+lrwxr-xr-x 1 bin bin 13 Sep 5 12:50 libcrypt.a -&gt; libdescrypt.a
+lrwxr-xr-x 1 bin bin 18 Sep 5 12:50 libcrypt.so.2.0 -&gt; libdescrypt.so.2.0
+lrwxr-xr-x 1 bin bin 15 Sep 5 12:50 libcrypt_p.a -&gt; libdescrypt_p.a</screen>
+ </informalexample>
+
+
+ <para>Sur un syst&egrave;me utilisant les bibloth&egrave;ques bas&eacute;es sur le MD5,
+ on trouvera les m&ecirc;mes liens, mais ils pointeront sur
+ <filename>libscrypt</filename> au lieu de
+ <filename>libdescrypt</filename>.</para>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="skey">
+ <title>S/Key</title>
+
+ <para><emphasis>Contribution de &a.wollman;<!-- <br> -->25 Septembre
+ 1995.</emphasis></para>
+
+ <para>S/Key est un syst&egrave;me de mots de passe non r&eacute;utilisables bas&eacute; sur
+ une fonction de hachage irr&eacute;versible (notre version est bas&eacute;e sur
+ MD4 pour des raisons de compatibilit&eacute;; d'autres versions utilisent
+ MD5 et DES-MAC). S/Key est inclus en standard dans toutes les
+ distributions de FreeBSD depuis la version 1.1.5, et est aussi
+ impl&eacute;ment&eacute; sur un nombre toujours plus important d'autres syst&egrave;mes.
+ S/Key est une marque d&eacute;pos&eacute;e de Bell Communications Research,
+ Inc.</para>
+
+ <para>Il y a trois types de mots de passe diff&eacute;rents dont nous
+ parlerons dans ce qui suit. Le premier est votre mot de passe
+ Unix habituel ou un mot de passe Kerberos; nous l'appelerons
+ &ldquo;mot de passe Unix&rdquo;. Le second est le mot de passe
+ non r&eacute;utilisable g&eacute;n&eacute;r&eacute; par le programme S/Key
+ <command>key</command> et reconnu par le programme
+ <command>keyinit</command> et l'invite de session; nous
+ l'appelerons &ldquo;mot de passe non r&eacute;utilisable&rdquo;. Le dernier
+ type de mot de passe est le mot de passe secret que vous donnez au
+ programme <command>key</command> (et parfois au programme
+ <command>keyinit</command>) qui l'utilise pour g&eacute;n&eacute;rer des mots de
+ passe non-r&eacute;utilisables; nous l'appelerons
+ &ldquo;mot de passe secret&rdquo; ou simplement
+ &ldquo;mot de passe&rdquo;.</para>
+
+ <para>Le mot de passe secret n'a rien &agrave; voir avec votre mot de passe
+ Unix (ils peuvent &ecirc;tre identiques, mais c'est d&eacute;conseill&eacute;). Les
+ mots de passe Unix sont limit&eacute;s &agrave; huit caract&egrave;res, alors que les
+ mots de passe secrets S/Key ont la longueur que vous voulez; j'utilise
+ des phrases de sept mots. En g&eacute;n&eacute;ral, le syst&egrave;me S/Key fonctionne
+ sans liaison avec le syst&egrave;me de mots de passe Unix.</para>
+
+<para>Il y a en outre deux autres types de donn&eacute;es utilis&eacute;s par le
+ syst&egrave;me S/Key; l'un s'appelle &ldquo;grain de sel&rdquo;
+ <footnote><para>N.d.T.: &ldquo;seed&rdquo; dans l'original en
+ langue anglaise. &ldquo;salt&rdquo; est aussi parfois utilis&eacute;
+ pour d&eacute;signer le pr&eacute;fixe utilis&eacute; pour perturber un
+ algorithme de hachage.
+ Voir <citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></footnote>
+ ou (cela pr&ecirc;te &agrave;
+ confusion) &ldquo;cl&eacute;&rdquo; et est un mot de deux lettres et cinq
+ chiffres, et l'autre est le &ldquo;compteur d'it&eacute;rations&rdquo;
+ compris entre 100 et 1. S/Key g&eacute;n&egrave;re un mot de passe non r&eacute;utilisable
+ en concat&eacute;nant le &ldquo;grain de sel&rdquo; et le mot de passe
+ secret, en lui appliquant
+ la fonction de hachage irr&eacute;versible (la fonction s&eacute;curis&eacute;e MD4 de
+ RSA Data Security, Inc.) autant de fois qu'indiqu&eacute; par le compteur
+ d'it&eacute;rations, et en convertissant le r&eacute;sultat en six courts mots
+ anglais. Les programmes <command>login</command> et
+ <command>su</command> enregistrent le dernier mot de passe non
+ r&eacute;utilisable employ&eacute;, et l'utilisateur est authentifi&eacute; si la valeur
+ de hachage de son mot de passe est la m&ecirc;me que celle de celui
+ qu'il a utilis&eacute; auparavant. Comme le hachage utilis&eacute; est irr&eacute;versible,
+ il n'est pas possible de g&eacute;n&eacute;rer de mot de passe non r&eacute;utilisable
+ si l'on a surpris un de ceux qui a &eacute;t&eacute; utilis&eacute; avec
+ succ&egrave;s; le compteur
+ est d&eacute;cr&eacute;ment&eacute; apr&egrave;s chaque ouverture de session r&eacute;ussie, de sorte que
+ l'utilisateur et le programme d'initialisation de session restent en phase.
+ (Quand ce compteur passe &agrave; 1, il est temps de r&eacute;initialiser
+ S/Key.)</para>
+
+<para>Il y a quatre programmes du syst&egrave;me S/Key dont nous traiterons plus bas.
+ Le programme <command>key</command> a comme param&egrave;tres un compteur
+ d'it&eacute;rations, un &ldquo;grain de sel&rdquo; et un mot de passe
+ secret et g&eacute;n&egrave;re un mot
+ de passe non r&eacute;utilisable. Le programme <command>keyinit</command>
+ initialise S/Key et sert &agrave; modifier les mots de passe, les compteurs
+ d'it&eacute;rations et les &ldquo;grains de sel&rdquo;; Ses param&egrave;tres sont
+ soit un mot de passe
+ secret, soit un compteur d'it&eacute;rations, soit un
+ &ldquo;grain de sel&rdquo;, et un mot de
+ passe non r&eacute;utilisable. Le programme <command>keyinfo</command>
+ consulte le fichier <filename>/etc/skeykeys</filename> et imprime
+ la valeur du compteur d'it&eacute;rations et le &ldquo;grain de sel&rdquo;
+ de l'utilisateur qui
+ l'a invoqu&eacute;. Enfin, les programmes <command>login</command> et
+ <command>su</command> incorporent la logique n&eacute;cessaire pour
+ reconna&icirc;tre les mots de passe non r&eacute;utilisables S/Key pour
+ authentifier les utilisateurs. Le programme <command>login</command>
+ est aussi capable d'interdire l'utilisation de mots de passe Unix
+ en fonction de l'adresse d'origine de la connexion.</para>
+
+<para>Nous d&eacute;crirons quatre sortes d'op&eacute;rations. La premi&egrave;re est
+ l'utilisation du programme <command>keyinit</command> sur une
+ connexion s&eacute;curis&eacute;e pour initialiser S/Key, ou pour modifier votre
+ mot de passe ou votre &ldquo;grain de sel&rdquo;. La seconde est
+ l'emploi du programme
+ <command>keyinit</command> sur une connexion non s&eacute;curis&eacute;e, en m&ecirc;me
+ temps que du programme <command>key</command> sur une connexion
+ s&eacute;curis&eacute;e, pour faire la m&ecirc;me chose. La troisi&egrave;me est l'utilisation
+ du programme <command>key</command> pour ouvrir une session sur une
+ connexion non s&eacute;curis&eacute;e. La quatri&egrave;me est l'usage du programme
+ <command>key</command> pour g&eacute;n&eacute;rer un certain nombre de cl&eacute;s qui
+ peuvent &ecirc;tre not&eacute;es ou imprim&eacute;es et emport&eacute;es avec vous quand vous allez
+ quelque part ou il n'y a aucune connexion s&eacute;curis&eacute;e (comme dans
+ une conf&eacute;rence).</para>
+
+
+<sect2>
+ <title>Initialisation depuis une connexion s&eacute;curis&eacute;e</title>
+
+ <para>Pour initialiser S/Key, changer votre mot de passe ou changer
+ votre &ldquo;grain de sel&rdquo; quand vous &ecirc;tes en session, sous
+ votre compte, sur une
+ connexion s&eacute;curis&eacute;e (e.g., sur la console d'une machine), utilisez
+ la commande <command>keyinit</command> sans param&egrave;tres:</para>
+
+
+ <informalexample>
+ <screen>&prompt.user; keyinit
+Updating wollman: ) ceci n'appara&icirc;t pas si vous
+Old key: ha73895 ) n'avez pas d&eacute;j&agrave; utilis&eacute; S/Key
+Reminder - Only use this method if you are directly connected.
+If you are using telnet or rlogin exit with no password and use keyinit -s.
+(Rappel - N'employez cette m&eacute;thode que si vous &ecirc;tes directement connect&eacute;.
+Si vous utilisez telnet ou rlogin, quittez sans donner de mot de passe
+et utilisez keyinit -s)
+<prompt>Enter secret password:</prompt> ) j'ai tap&eacute; ma phrase cl&eacute; ici
+<prompt>Again secret password:</prompt> ) je l'ai retap&eacute;e
+
+ID wollman s/key is 99 ha73896 ) voir ci-dessous
+SAG HAS FONT GOUT FATE BOOM )</screen>
+ </informalexample>
+
+
+ <para>Il y a beaucoup de choses l&agrave;-dedans. A l'invite
+ <prompt>Enter secret password:</prompt>, vous devez entrer un
+ mot de passe ou une phrase (j'utilise des phrases d'au moins
+ sept mots) qui servira &agrave; g&eacute;n&eacute;rer les mots de passe pour vos
+ sessions. La ligne qui commence par &ldquo;ID&rdquo; vous
+ liste vos param&egrave;tres S/Key: votre nom d'utilisateur, la valeur
+ de votre compteur d'it&eacute;rations et votre
+ &ldquo;grain de sel&rdquo;. Quand vous ouvrirez
+ une session avec S/Key, le syst&egrave;me aura m&eacute;moris&eacute; ces valeurs et
+ vous les redonnera, vous n'avez donc pas besoin de les retenir.
+ La derni&egrave;re ligne vous donne le mot de passe non r&eacute;utilisable
+ correspondant &agrave; ces param&egrave;tres et &agrave; votre mot de passe secret;
+ si vous deviez vous reconnectez imm&eacute;diatement, c'est ce mot de
+ passe que vous utiliseriez.</para>
+
+</sect2>
+
+<sect2>
+ <title>Initialisation depuis une connexion non s&eacute;curis&eacute;e</title>
+
+ <para>Pour initialiser S/Key, changer votre mot de passe ou changer
+ votre &ldquo;grain de sel&rdquo; quand vous &ecirc;tes en session
+ sur une connexion non
+ s&eacute;curis&eacute;e, il vous faudra d&eacute;j&agrave; avoir une connexion s&eacute;curis&eacute;e
+ sur une machine o&ugrave; vous pouvez utiliser le programme
+ <command>key</command>; ce peut &ecirc;tre depuis un accessoire de
+ bureau sur un Macintosh ou depuis la ligne de commande d'une
+ machine s&ucirc;re (notre exemple illustre ce dernier
+ cas). Il vous
+ faudra donner une valeur au compteur d'it&eacute;rations et indiquer
+ un &ldquo;grain de sel&rdquo; ou utiliser la valeur al&eacute;atoire
+ g&eacute;n&eacute;r&eacute;e par le programme.
+ Sur la connexion non s&eacute;curis&eacute;e (&agrave; la machine que vous initialisez),
+ employez la commande <command>keyinit -s</command>:</para>
+
+
+ <informalexample>
+ <screen>&prompt.user; <userinput>keyinit -s</userinput>
+Updating wollman: Old key: kh94741
+Reminder you need the 6 English words from the skey command.
+(Rappel - Il vous faut les 6 mots Anglais fournis par la commande skey.)
+<prompt>Enter sequence count from 1 to 9999:</prompt> <userinput>100</userinput> ) j'ai tap&eacute; cela
+<prompt>Enter new key [default kh94742]:</prompt>
+s/key 100 kh94742</screen>
+ </informalexample>
+
+
+ <para>Pour utiliser le &ldquo;grain de sel&rdquo; par d&eacute;faut,
+ (que le programme <command>keyinit</command> appelle une
+ &ldquo;cl&eacute;&rdquo;&nbsp;-&nbsp;<literal>key</literal>, ce qui pr&ecirc;te
+ &agrave; confusion), appuyez sur Entr&eacute;e. Passez ensuite sur votre connexion
+ s&eacute;curis&eacute;e ou sur l'accessoire de bureau S/Key et donnez lui les
+ m&ecirc;mes param&egrave;tres:</para>
+
+ <informalexample>
+ <screen>&prompt.user; <userinput>key 100 kh94742</userinput>
+Reminder - Do not use this program while logged in via telnet or rlogin.
+(Rappel - N'utilisez pas ce programme avec une session telnet ou rlogin.)
+<prompt>Enter secret password:</prompt> ) j'ai tap&eacute; mon mot de passe
+secret
+HULL NAY YANG TREE TOUT VETO</screen>
+ </informalexample>
+
+
+ <para>Retournez alors sur votre connexion non s&eacute;curis&eacute;e, et donnez le
+ mot de passe non r&eacute;utilisable g&eacute;n&eacute;r&eacute; par la programme
+ <command>key</command> au programme
+ <command>keyinit</command>:</para>
+
+
+ <informalexample>
+ <screen><prompt>s/key access password:</prompt> <userinput>HULL NAY YANG TREE TOUT VETO</userinput>
+ID wollman s/key is 100 kh94742
+HULL NAY YANG TREE TOUT VETO</screen>
+ </informalexample>
+
+
+ <para>Le reste de la description du paragraphe pr&eacute;c&eacute;dent s'applique
+ aussi ici.</para>
+
+</sect2>
+
+<sect2>
+ <title>Diversion: une invite de session</title>
+
+ <para>Avant d'expliquer comment g&eacute;n&eacute;rer les mots de passe non
+ r&eacute;utilisables, nous allons examiner une invite de session
+ S/Key:</para>
+
+ <informalexample>
+ <screen>&prompt.user; <userinput>telnet himalia</userinput>
+Trying 18.26.0.186...
+Connected to himalia.lcs.mit.edu.
+Escape character is '^]'.
+s/key 92 hi52030
+<prompt>Password:</prompt></screen>
+ </informalexample>
+
+
+ <para>Remarquez qu'avant de nous demander un mot de passe, le
+ programme d'initialisation de la session nous affiche le nombre
+ d'it&eacute;rations et le grain de sel dont nous aurons besoin pour
+ g&eacute;n&eacute;rer la cl&eacute; appropri&eacute;e. Vous d&eacute;couvrirez aussi une possibilit&eacute;
+ int&eacute;ressante (qui n'est pas illustr&eacute;e ici); si vous tapez Entr&eacute;e
+ quand on vous demande votre mot de passe, le programme active
+ l'&eacute;cho au terminal, de sorte que vous voyez ce que vous tapez.
+ C'est tr&egrave;s utile si vous essayez de taper une S/Key &agrave; la main,
+ &agrave; partir d'un r&eacute;sultat imprim&eacute;, par exemple.</para>
+
+ <para>Si cette machine avait &eacute;t&eacute; configur&eacute;e pour interdire l'emploi
+ de mots de passe Unix depuis ma machine, l'annotation
+ <literal>(s/key required)</literal>&nbsp;-&nbsp;&ldquo;(s/key obligatoire)&rdquo;
+ aurait aussi figur&eacute;, pr&eacute;cisant que seul un mot de passe S/Key non
+ r&eacute;utilisable serait accept&eacute;.</para>
+
+</sect2>
+
+<sect2>
+ <title>G&eacute;n&eacute;rer un unique mot de passe non r&eacute;utilisable</title>
+
+ <para>Pour g&eacute;n&eacute;rer le mot de passe non r&eacute;utilisable dont nous
+ avons besoin pour ouvrir la session, nous utilisons une
+ machine s&ucirc;re et le programme <command>key</command>.
+ (Il y a des versions du programme <command>key</command> pour DOS
+ et Windows, et il y a aussi un accessoire de bureau pour
+ Macintosh.) La version en ligne de commande du programme
+ <command>key</command> a pour param&egrave;tres le compteur d'it&eacute;rations
+ et le &ldquo;grain de sel&rdquo;; vous pouvez les couper-coller
+ de l'invite de session, en commen&ccedil;ant &agrave;
+ <literal>key</literal> jusqu'&agrave; la fin de la ligne. Donc:</para>
+
+
+ <informalexample>
+ <screen>&prompt.user; <userinput>key 92 hi52030</userinput> ) coll&eacute; du programme pr&eacute;c&eacute;dent
+Reminder - Do not use this program while logged in via telnet or rlogin.
+(Rappel - N'utilisez pas ce programme avec une session telnet ou rlogin.)
+<prompt>Enter secret password:</prompt> ) j'ai tap&eacute; mon mot de passe secret
+ADEN BED WOLF HAW HOT STUN</screen>
+ </informalexample>
+
+
+ <para>et dans l'autre fen&ecirc;tre:</para>
+
+
+ <informalexample>
+ <screen>s/key 92 hi52030 ) de la section pr&eacute;c&eacute;dente
+<prompt>Password:</prompt>
+(turning echo on)
+<prompt>Password:</prompt>ADEN BED WOLF HAW HOT STUN
+Last login: Wed Jun 28 15:31:00 from halloran-eldar.l
+[etc.]</screen>
+ </informalexample>
+
+
+ <para>C'est la m&eacute;thode la plus simple <emphasis>si</emphasis> vous
+ avez une machine s&ucirc;re . Il y a une appliquette Java
+ <ulink url="http://www.cs.umd.edu/~harry/jotp/src.html">The Java OTP
+ Calculator</ulink>, que vous pouvez t&eacute;l&eacute;charger et ex&eacute;cuter sous
+ n'importe quel navigateur supportant Java.</para>
+
+</sect2>
+
+<sect2>
+ <title>G&eacute;n&eacute;rer de multiples mots de passe non r&eacute;utilisables</title>
+
+ <para>Il vous faut parfois aller en des endroits o&ugrave; vous n'avez pas
+ de connexion s&eacute;curis&eacute;e disponible. Dans ce cas, vous pouvez
+ utiliser la commande <command>key</command> pour g&eacute;n&eacute;rer en une
+ seule fois plusieurs mots de passe non r&eacute;utilisables; vous pouvez
+ imprimer ces derniers. Par exemple:</para>
+
+ <informalexample>
+ <screen>&prompt.user; <userinput>key -n 25 57 zz99999</userinput>
+Reminder - Do not use this program while logged in via telnet or rlogin.
+(Rappel - N'utilisez pas ce programme avec une session telnet ou rlogin.)
+<prompt>Enter secret password:</prompt>
+33: WALT THY MALI DARN NIT HEAD
+34: ASK RICE BEAU GINA DOUR STAG
+...
+56: AMOS BOWL LUG FAT CAIN INCH
+57: GROW HAYS TUN DISH CAR BALM</screen>
+ </informalexample>
+
+
+ <para>L'option <option>-n 25</option> demande vingt-cinq cl&eacute;s en
+ s&eacute;quence; l'option <option>57</option> indique le rang de la
+ <emphasis>derni&egrave;re</emphasis> it&eacute;ration; le reste a &eacute;t&eacute; d&eacute;crit
+ plus haut. Notez que les cl&eacute;s sont imprim&eacute;es dans l'ordre inverse
+ de celui o&ugrave; elles seront &eacute;ventuellement utilis&eacute;es. Si vous &ecirc;tes
+ vraiment parano&iuml;de, vous pouvez les recopier &agrave; la main, sinon
+ vous pouvez les couper-coller vers la commande
+ <command>lpr</command>. Remarquez que chaque ligne liste et le
+ nombre d'it&eacute;rations et le mot de passe non r&eacute;utilisable; vous
+ trouverez cependant probablement pratique de rayer les mots de
+ passe au fur et &agrave; mesure de leur utilisation.</para>
+
+</sect2>
+
+<sect2>
+ <title>Restreindre l'utilisation des mots de passe Unix</title>
+
+ <para>Le fichier de configuration
+ <filename>/etc/skey.access</filename> peut servir &agrave; d&eacute;finir des
+ restrictions d'utilisation des mots de passe Unix en fonction des
+ noms de machine et d'utilisateur, de la ligne utilis&eacute;e par le
+ terminal ou de l'adresse IP de la machine connect&eacute;e &agrave; distance. Le
+ format d&eacute;taill&eacute; de ce fichier est d&eacute;crit dans la page de manuel de
+ <citerefentry><refentrytitle>skey.access</refentrytitle><manvolnum>5</manvolnum></citerefentry>;
+ elle inclut aussi des avertissements relatifs &agrave; la s&eacute;curit&eacute; qu'il
+ faut lire avant de se fier &agrave; ce fichier pour sa s&eacute;curit&eacute;.</para>
+
+ <para>S'il n'y a pas de fichier <filename>/etc/skey.access</filename>
+ (ce qui est le cas par d&eacute;faut avec la distribution de FreeBSD),
+ tous les utilisateurs pourront se servir de mots de passe Unix.
+ Si le fichier existe, alors tous les utilisateurs devront passer
+ par S/Key, &agrave; moins qu'ils ne soient explicitement autoris&eacute;s &agrave; ne
+ pas le faire par des instructions du fichier
+ <filename>skey.access</filename>. Dans tous les cas, l'usage
+ de mots de passe Unix est autoris&eacute; sur la console syst&egrave;me.</para>
+
+ <para>Voici un exemple de fichier de configuration qui illustre
+ les trois types d'instructions les plus courants:</para>
+
+ <programlisting>
+permit internet 18.26.0.0 255.255.0.0
+permit user jrl
+permit port ttyd0
+ </programlisting>
+
+ <para>La premi&egrave;re ligne (<literal>permit
+ internet</literal>) autorise les utilisateurs dont les adresses
+ IP (ce qui rend vuln&eacute;rable en cas d'usurpation) appartiennent
+ au sous-r&eacute;seau sp&eacute;cifi&eacute; &agrave; employer des mots de passe Unix. Il ne
+ faut pas consid&eacute;rer cela comme une mesure de s&eacute;curit&eacute;, mais plut&ocirc;t
+ comme un moyen de rappeler aux utilisateurs qu'ils sont sur un
+ r&eacute;seau non s&eacute;curis&eacute; et qu'ils doivent utiliser S/Key pour
+ s'authentifier.</para>
+
+ <para>La seconde ligne (<literal>permit user</literal>)
+ autorise l'utilisateur d&eacute;sign&eacute; &agrave; employer n'importe quand des
+ mots de passe Unix. En g&eacute;n&eacute;ral, il faut se servir de cette
+ possibilit&eacute; si les gens soit n'ont pas moyen d'utiliser
+ le programme <command>key</command>, s'ils ont par exemple des
+ terminaux passifs, soit s'ils sont d&eacute;finitivement r&eacute;fractaires.</para>
+
+ <para>La troisi&egrave;me ligne (<literal>permit port</literal>)
+ autorise tous les utilisateurs d'un terminal sur une liaison particuli&egrave;re
+ &agrave; utiliser des mots de passe Unix. On emploie cela pour les connexions
+ t&eacute;l&eacute;phoniques.</para>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="kerberos">
+ <title>Kerberos</title>
+
+ <para><emphasis>Contribution de &a.markm; (sur la base d'une
+ contribution de &a.md;).</emphasis></para>
+
+ <para>Kerberos est un protocole r&eacute;seau suppl&eacute;mentaire qui permet
+ aux utilisateurs de s'authentifier en passant par l'interm&eacute;diaire
+ d'un serveur s&eacute;curis&eacute;. Des services comme l'ouverture de session
+ et la copie &agrave; distance, la copie s&eacute;curis&eacute;e de fichiers entre syst&egrave;mes
+ et autres fonctionnalit&eacute;s &agrave; haut risque deviennent ainsi
+ consid&eacute;rablement plus s&ucirc;rs et contr&ocirc;lables.</para>
+
+ <para>Les instructions qui suivent peuvent &ecirc;tre utilis&eacute;es comme
+ guide d'installation de Kerberos dans la version distribu&eacute;e
+ pour FreeBSD. Vous devriez cependant vous r&eacute;f&eacute;rer aux pages
+ de manuel correspondantes pour avoir une description compl&egrave;te.</para>
+
+ <para>La distribution Kerberos de FreeBSD n'est pas la distribution
+ originale de 4.4BSD-Lite, mais eBones, qui avait &eacute;t&eacute;
+ auparavant port&eacute;e sous FreeBSD 1.1.5.1, et dont les sources ne
+ proviennent pas des Etats-Unis/Canada, ce qui la rend disponible aux
+ utilisateurs d'autres pays.</para>
+
+ <para>Pour ces derniers, qui ont besoin d'une distribution l&eacute;gale
+ de ce logiciel, s'il vous plait, <emphasis>ne vous la procurez
+ pas</emphasis> depuis un site aux Etats-Unis ou au Canada. Vous
+ lui causeriez de <emphasis>graves</emphasis> probl&egrave;mes. Il y a
+ une copie l&eacute;gale sur
+ <hostid role="fqdn">skeleton.mikom.csir.co.za</hostid>, qui se
+ situe en Afrique du Sud.</para>
+
+
+ <sect2>
+ <title>Cr&eacute;er la base de donn&eacute;es initiale</title>
+
+ <para>Il faut faire cela uniquement sur le serveur Kerberos. V&eacute;rifiez
+ d'abord qu'il ne tra&icirc;ne pas d'anciennes bases Kerberos. Allez
+ dans le r&eacute;pertoire <filename>/etc/kerberosIV</filename> et
+ assurez-vous qu'il ne contient que les fichiers suivants:</para>
+
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cd /etc/kerberosIV</userinput>
+&prompt.root; <userinput>ls</userinput>
+README krb.conf krb.realms</screen>
+ </informalexample>
+
+
+ <para>S'il y a d'autres fichiers (comme
+ <filename>principal.*</filename> ou <symbol>master_key</symbol>),
+ utilisez la commande <symbol>kdb_destroy</symbol> pour supprimer
+ l'ancienne base de donn&eacute;es Kerberos, ou si Kerberos ne tourne pas,
+ effacez simplement les fichiers exc&eacute;dentaires avec
+ <command>rm</command>.</para>
+
+ <para>Vous devez maintenant &eacute;diter les fichiers
+ <filename>krb.conf</filename> et
+ <filename>krb.realms</filename> pour d&eacute;finir votre domaine
+ (&ldquo;realm&rdquo;)
+ Kerberos. Pour notre exemple, le domaine sera
+ <filename>GRONDAR.ZA</filename> et le serveur
+ <filename>grunt.grondar.za</filename>. Nous &eacute;ditons ou cr&eacute;ons alors
+ le fichier <filename>krb.conf</filename>:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cat krb.conf</userinput>
+GRONDAR.ZA
+GRONDAR.ZA grunt.grondar.za admin server
+CS.BERKELEY.EDU okeeffe.berkeley.edu
+ATHENA.MIT.EDU kerberos.mit.edu
+ATHENA.MIT.EDU kerberos-1.mit.edu
+ATHENA.MIT.EDU kerberos-2.mit.edu
+ATHENA.MIT.EDU kerberos-3.mit.edu
+LCS.MIT.EDU kerberos.lcs.mit.edu
+TELECOM.MIT.EDU bitsy.mit.edu
+ARC.NASA.GOV trident.arc.nasa.gov</screen>
+ </informalexample>
+
+ <para>Les autres domaines n'ont pas besoin d'&ecirc;tre mentionn&eacute;s. Ils
+ ne sont l&agrave; que pour montrer comment une machine peut avoir
+ connaissance de plusieurs domaines. Pour plus de simplicit&eacute;,
+ vous pouvez ne pas les inclure.</para>
+
+ <para>La premi&egrave;re ligne indique pour quel domaine cette machine
+ agit. Les autres lignes d&eacute;finissent les autres
+ domaines/machines. Chaque ligne comporte d'abord le nom du
+ domaine, puis le nom de la machine qui est le &ldquo;centre
+ de distribution&rdquo; de ce domaine. Les mots
+ <literal>admin server</literal> qui suivent signifient que
+ cette machine est aussi serveur d'administration de la
+ base de donn&eacute;es. Pour plus d'explication sur cette
+ terminologie, consultez les pages de manuel de Kerberos.</para>
+
+ <para>Il faut maintenant ajouter
+ <hostid role="fqdn">grunt.grondar.za</hostid>
+ au domaine <filename>GRONDAR.ZA</filename> et ajouter une entr&eacute;e
+ pour mettre toutes les machines du domaine DNS
+ <hostid role="domainname">.grondar.za</hostid> dans
+ le domaine Kerberos <filename>GRONDAR.ZA</filename>. Le fichier
+ <filename>krb.realms</filename> aura alors l'allure
+ suivante:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cat krb.realms</userinput>
+grunt.grondar.za GRONDAR.ZA
+.grondar.za GRONDAR.ZA
+.berkeley.edu CS.BERKELEY.EDU
+.MIT.EDU ATHENA.MIT.EDU
+.mit.edu ATHENA.MIT.EDU</screen>
+ </informalexample>
+
+ <para>Encore une fois, les autres domaines n'ont pas besoin
+ d'&ecirc;tre mentionn&eacute;s. Ils ne sont l&agrave; que pour montrer comment
+ une machine peut avoir connaissance de plusieurs
+ domaines. Pour plus de simplicit&eacute;, vous pouvez ne pas les
+ inclure.</para>
+
+ <para>La premi&egrave;re ligne assigne un syst&egrave;me
+ <emphasis>particulier</emphasis> au domaine d&eacute;sign&eacute;.
+ Les autres lignes montrent comment affecter par d&eacute;faut
+ les syst&egrave;mes d'un sous-domaine DNS &agrave; un domaine Kerberos
+ donn&eacute;.</para>
+
+ <para>Nous pouvons maintenant cr&eacute;er le base de donn&eacute;es. Il n'y a &agrave;
+ le faire que sur le serveur Kerberos (ou Centre de Distribution
+ de Cl&eacute;s). Cela se fait avec la command
+ <command>kdb_init</command>:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>kdb_init</userinput>
+<prompt>Realm name [default ATHENA.MIT.EDU ]:</prompt> <userinput>GRONDAR.ZA</userinput>
+You will be prompted for the database Master Password.
+It is important that you NOT FORGET this password.
+(On vous demandera le Mot de Passe Ma&icirc;tre de la base de donn&eacute;es.)
+(Il est important de NE PAS PERDRE ce mot de passe.)
+
+<prompt>Enter Kerberos master key:</prompt> </screen>
+ </informalexample>
+
+ <para>Nous devons maintenant sauvegarder la cl&eacute; pour que les serveurs
+ sur la machine locale puisse la lire, avec la commande
+ <command>kstash</command>:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>kstash</userinput>
+
+<prompt>Enter Kerberos master key:</prompt>
+
+Current Kerberos master key version is 1.
+
+Master key entered. BEWARE!
+(Cl&eacute; ma&icirc;tre saisie. ATTENTION!)</screen>
+ </informalexample>
+
+ <para>Le mot de passe ma&icirc;tre encrypt&eacute; est enregistr&eacute; dans
+ le fichier <filename>/etc/kerberosIV/master_key</filename>.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Installer les services</title>
+
+ <para>Il faut ajouter deux entr&eacute;es (&ldquo;principals&rdquo;
+ <footnote><para>N.d.T.: L'&ldquo;Introduction &agrave; Kerberos 5&rdquo;
+ du NCSA&nbsp;-&nbsp;<ulink url="http://www.ncsa.uuic.edu/General/CC/ACES/kerberos/introduction.html">http://www.ncsa.uuic.edu/General/CC/ACES/kerberos/introduction.html</ulink>
+ explicite cette notion: &ldquo;Toute entit&eacute; &agrave; laquelle il faut
+ s'authentifier ou qui doit s'authentifier est un
+ <foreignphrase>principal</foreignphrase> Kerberos ...
+ chaque principal a un mot de passe secret qui n'est connu
+ que de lui-m&ecirc;me et du Centre de Distribution de Cl&eacute;s. Chaque
+ <foreignphrase>principal</foreignphrase> a un nom ... de la
+ forme
+ <emphasis>primaire/instance@domaine</emphasis>.&rdquo;</para></footnote>)
+
+ &agrave; la base de donn&eacute;es pour <emphasis>chaque</emphasis> syst&egrave;me
+ qui sera s&eacute;curis&eacute; par Kerberos. Ce sont <literal>kpasswd</literal>
+ et <literal>rcmd</literal>. Ces deux entr&eacute;es sont d&eacute;finies pour
+ chaque syst&egrave;me. A chacune de leurs instances est attribu&eacute;e le nom
+ du syst&egrave;me.</para>
+
+ <para>Ces &ldquo;d&eacute;mons&rdquo;, <command>kpasswd</command> et
+ <command>rcmd</command> permettent aux syst&egrave;mes de changer
+ les mots de passe Kerberos et d'ex&eacute;cuter des commandes comme
+ <command>rcp</command>, <command>rlogin</command>
+ et <command>rsh</command>.</para>
+
+ <para>Ajoutons donc maintenant ces entr&eacute;es:</para>
+
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>kdb_edit</userinput>
+Opening database...
+
+<prompt>Enter Kerberos master key:</prompt>
+
+Current Kerberos master key version is 1.
+
+Master key entered. BEWARE!
+Previous or default values are in [brackets] ,
+enter return to leave the same, or new value.
+
+<prompt>Principal name:</prompt> <userinput>passwd</userinput>
+<prompt>Instance:</prompt> <userinput>grunt</userinput>
+
+&lt;Not found&gt;, <prompt>Create [y] ?</prompt> <userinput>y</userinput>
+
+Principal: passwd, Instance: grunt, kdc_key_ver: 1
+<prompt>New Password:</prompt> &lt;---- entrez RANDOM ici
+Verifying password
+
+<prompt>New Password:</prompt> &lt;---- entrez RANDOM ici
+
+<prompt>Random password [y] ?</prompt> <userinput>y</userinput>
+
+Principal's new key version = 1
+<prompt>Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?</prompt>
+<prompt>Max ticket lifetime (*5 minutes) [ 255 ] ?</prompt>
+<prompt>Attributes [ 0 ] ?</prompt>
+Edit O.K.
+<prompt>Principal name:</prompt> <userinput>rcmd</userinput>
+<prompt>Instance:</prompt> <userinput>grunt</userinput>
+
+&lt;Not found&gt;, <prompt>Create [y] ?</prompt>
+
+Principal: rcmd, Instance: grunt, kdc_key_ver: 1
+<prompt>New Password:</prompt> &lt;---- entrez RANDOM ici
+Verifying password
+
+<prompt>New Password:</prompt> &lt;---- entrez RANDOM ici
+
+<prompt>Random password [y] ?</prompt>
+
+Principal's new key version = 1
+<prompt>Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?</prompt>
+<prompt>Max ticket lifetime (*5 minutes) [ 255 ] ?</prompt>
+<prompt>Attributes [ 0 ] ?</prompt>
+Edit O.K.
+<prompt>Principal name:</prompt> &lt;---- ne rien entrez ici
+ permet de quitter le programme</screen>
+ </informalexample>
+
+
+ </sect2>
+
+ <sect2>
+ <title>Cr&eacute;er le fichier des services</title>
+
+ <para>Il faut maintenant extraire toutes les instances qui d&eacute;finissent
+ les services sur chaque machine. Cela se fait avec la commande
+ <command>ext_srvtab</command>. Elle cr&eacute;e un fichier qui doit &ecirc;tre
+ copi&eacute; ou report&eacute; <emphasis>par un moyen s&ucirc;r</emphasis> dans le
+ r&eacute;pertoire <filename>/etc/kerberosIV</filename> de chaque client
+ Kerberos. Ce fichier doit exister sur tous les serveurs et tous
+ les clients et est crucial au bon fonctionnement de
+ Kerberos.</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>ext_srvtab grunt</userinput>
+<prompt>Enter Kerberos master key:</prompt>
+
+Current Kerberos master key version is 1.
+
+Master key entered. BEWARE!
+Generating 'grunt-new-srvtab'....</screen>
+ </informalexample>
+
+ <para>Cette commande ne g&eacute;n&egrave;re qu'un fichier temporaire qui doit &ecirc;tre
+ renomm&eacute; en <filename>srvtab</filename> pour que tous les serveurs
+ puissent y acc&eacute;der. Utilisez la commande <command>mv</command>
+ pour l'installer sur le syst&egrave;me d'origine:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>mv grunt-new-srvtab srvtab</userinput></screen>
+ </informalexample>
+
+ <para>Si le fichier est destin&eacute; &agrave; un client, et que le r&eacute;seau n'est
+ pas consid&eacute;r&eacute; comme s&ucirc;r, copiez le fichier
+ <filename>&lt;client&gt;-new-srvtab</filename> sur un support
+ amovible et transportez-le par un moyen physiquement s&ucirc;r. N'oubliez
+ pas de le renommer <filename>srvtab</filename> dans le r&eacute;pertoire
+ <filename>/etc/kerberosIV</filename> du client, et mettez-le bien
+ en mode 600:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>mv grumble-new-srvtab srvtab</userinput>
+&prompt.root; <userinput>chmod 600 srvtab</userinput></screen>
+ </informalexample>
+ </sect2>
+
+ <sect2>
+ <title>Renseigner la base de donn&eacute;es</title>
+
+ <para>Il faut maintenant cr&eacute;er des entr&eacute;es utilisateurs dans la base
+ de donn&eacute;es. Ajoutons une entr&eacute;e pour l'utilisateur
+ <username>jeanne</username>. Utilisez la commande
+ <command>kdb_edit</command> pour cela:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>kdb_edit</userinput>
+Opening database...
+
+<prompt>Enter Kerberos master key:</prompt>
+
+Current Kerberos master key version is 1.
+
+Master key entered. BEWARE!
+Previous or default values are in [brackets] ,
+enter return to leave the same, or new value.
+
+<prompt>Principal name:</prompt> <userinput>jeanne</userinput>
+<prompt>Instance:</prompt>
+
+&lt;Not found&gt;, <prompt>Create [y] ?</prompt> <userinput>y</userinput>
+
+Principal: jeanne, Instance: , kdc_key_ver: 1
+<prompt>New Password:</prompt> &lt;---- entrez un mot de passe s&ucirc;r ici
+Verifying password
+
+<prompt>New Password:</prompt> &lt;---- r&eacute;entrez le mot de passe s&ucirc;r l&agrave;
+Principal's new key version = 1
+<prompt>Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?</prompt>
+<prompt>Max ticket lifetime (*5 minutes) [ 255 ] ?</prompt>
+<prompt>Attributes [ 0 ] ?</prompt>
+Edit O.K.
+<prompt>Principal name:</prompt> &lt;---- ne rien entrer ici permet
+ de quitter le programme</screen>
+ </informalexample>
+ </sect2>
+
+ <sect2>
+ <title>Tester l'ensemble</title>
+
+ <para>Il faut d'abord d&eacute;marrer les &ldquo;d&eacute;mons&rdquo; Kerberos.
+ NOTEZ que si vous avez correctement modifi&eacute; votre fichier
+ <filename>/etc/rc.conf</filename>, cela se fera automatiquement
+ au red&eacute;marrage du syst&egrave;me. Ce n'est n&eacute;cessaire que sur le serveur
+ Kerberos. Les clients Kerberos r&eacute;cup&eacute;reront automagiquement les
+ informations dont ils ont besoin via leur r&eacute;pertoire
+ <filename>/etc/kerberosIV</filename>.</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>kerberos &amp;</userinput>
+Kerberos server starting
+Sleep forever on error
+Log file is /var/log/kerberos.log
+Current Kerberos master key version is 1.
+
+Master key entered. BEWARE!
+
+Current Kerberos master key version is 1
+Local realm: GRONDAR.ZA
+&prompt.root; <userinput>kadmind -n &amp;</userinput>
+KADM Server KADM0.0A initializing
+Please do not use 'kill -9' to kill this job, use a
+regular kill instead
+(S'il vous plait, n'utilisez pas kill -9 pour arr&ecirc;ter
+ le programme, utilisez kill &agrave; la place)
+
+Current Kerberos master key version is 1.
+
+Master key entered. BEWARE!</screen>
+ </informalexample>
+
+ <para>Vous pouvez maintenant utiliser la commande
+ <command>kinit</command> pour obtenir un
+ &ldquo;ticket d'entr&eacute;e&rdquo;
+ pour l'utilisateur <username>jeanne</username> que nous avons cr&eacute;&eacute;
+ plus haut :</para>
+
+ <informalexample>
+ <screen>&prompt.user; <userinput>kinit jeanne</userinput>
+MIT Project Athena (grunt.grondar.za)
+Kerberos Initialization for "jeanne"
+<prompt>Password:</prompt> </screen>
+ </informalexample>
+
+ <para>Essayons de lister les informations associ&eacute;es avec la commande
+ <command>klist</command> pour voir si nous avons vraiment tout
+ ce qu'il nous faut:</para>
+
+ <informalexample>
+ <screen>&prompt.user; <userinput>klist</userinput>
+Ticket file: /tmp/tkt245
+Principal: jeanne@GRONDAR.ZA
+
+ Issued Expires Principal
+Apr 30 11:23:22 Apr 30 19:23:22 krbtgt.GRONDAR.ZA@GRONDAR.ZA</screen>
+ </informalexample>
+
+ <para>Essayons maintenant de changer de mot de passe avec la commande
+ <command>passwd</command> pour voir si le &ldquo;d&eacute;mon&rdquo;
+ <command>kpasswd</command> est autoris&eacute; &agrave; acc&eacute;der &agrave; la base de
+ donn&eacute;es Kerberos:</para>
+
+ <informalexample>
+ <screen>&prompt.user; <userinput>passwd</userinput>
+realm GRONDAR.ZA
+<prompt>Old password for jeanne:</prompt>
+<prompt>New Password for jeanne:</prompt>
+Verifying password
+<prompt>New Password for jeanne:</prompt>
+Password changed.</screen>
+ </informalexample>
+ </sect2>
+
+ <sect2>
+ <title>Autoriser l'utilisation de la commande <command>su</command></title>
+
+ <para>Kerberos permet d'attribuer &agrave; <emphasis>chaque</emphasis>
+ utilisateur qui a besoin des droits du super-utilisateur son
+ <emphasis>propre</emphasis> mot de passe <command>su</command>. Nous
+ pouvons cr&eacute;er un identifiant qui soit autoris&eacute; &agrave; utiliser
+ <command>su</command> pour devenir <username>root</username>. Cela
+ se fait en associant une instance <username>root</username> &agrave;
+ l'identificateur de base. Avec la commande
+ <command>kdb_edit</command> nous cr&eacute;ons l'entr&eacute;e
+ <literal>jeanne.root</literal> dans la base de donn&eacute;es
+ Kerberos:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>kdb_edit</userinput>
+Opening database...
+
+<prompt>Enter Kerberos master key:</prompt>
+
+Current Kerberos master key version is 1.
+
+Master key entered. BEWARE!
+Previous or default values are in [brackets] ,
+enter return to leave the same, or new value.
+
+<prompt>Principal name:</prompt> <userinput>jeanne</userinput>
+<prompt>Instance:</prompt> <userinput>root</userinput>
+
+&lt;Not found&gt;, Create [y] ? y
+
+Principal: jeanne, Instance: root, kdc_key_ver: 1
+<prompt>New Password:</prompt> &lt;---- entrez un mot de passe SUR ici
+Verifying password
+
+<prompt>New Password:</prompt> &lt;---- r&eacute;entrez le mot de passe l&agrave;
+
+Principal's new key version = 1
+<prompt>Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?</prompt>
+<prompt>Max ticket lifetime (*5 minutes) [ 255 ] ?</prompt> <userinput>12</userinput> &lt;--- Laissez une valeur faible!
+<prompt>Attributes [ 0 ] ?</prompt>
+Edit O.K.
+<prompt>Principal name:</prompt> &lt;---- ne rien entrer ici
+ permet de quitter le programme</screen>
+ </informalexample>
+
+ <para>V&eacute;rifions maintenant les caract&eacute;ristiques associ&eacute;es pour voir si cela marche:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>kinit jeanne.root</userinput>
+MIT Project Athena (grunt.grondar.za)
+Kerberos Initialization for "jeanne.root"
+<prompt>Password:</prompt></screen>
+ </informalexample>
+
+ <para>Il faut maintenant ajouter l'utilisateur au fichier
+ <filename>.klogin</filename> de root:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cat /root/.klogin</userinput>
+jeanne.root@GRONDAR.ZA</screen>
+ </informalexample>
+
+ <para>Essayons maintenant la commande <command>su</command>:</para>
+
+ <informalexample>
+ <screen>&prompt.user; <prompt>su</prompt>
+<prompt>Password:</prompt></screen>
+ </informalexample>
+
+ <para>et voyons quelles sont nos caract&eacute;ristiques:</para>
+
+ <informalexample>
+ <screen>&prompt.root; klist
+Ticket file: /tmp/tkt_root_245
+Principal: jeanne.root@GRONDAR.ZA
+
+ Issued Expires Principal
+May 2 20:43:12 May 3 04:43:12 krbtgt.GRONDAR.ZA@GRONDAR.ZA</screen>
+ </informalexample>
+ </sect2>
+
+ <sect2>
+ <title>Utiliser d'autres commandes</title>
+
+ <para>Dans l'exemple pr&eacute;c&eacute;dent, nous avons cr&eacute;&eacute; une entr&eacute;e principale
+ <literal>jeanne</literal> avec une instance <literal>root</literal>.
+ Elle reposait sur un utilisateur ayant le m&ecirc;me nom que l'entr&eacute;e
+ principale. C'est ce que fait Kerberos par d&eacute;faut;
+ une <literal>&lt;entr&eacute;e_principale&gt;.&lt;instance&gt;</literal>
+ de la forme
+ <literal>&lt;nom_d_utilisateur&gt;.</literal><literal>root</literal>
+ autorisera
+ <literal>&lt;nom_d_utilisateur&gt;</literal> &agrave; utiliser
+ <command>su</command> pour devenir root si le fichier
+ <filename>.klogin</filename> du r&eacute;pertoire utilisateur de
+ <username>root</username> est correctement renseign&eacute;:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cat /root/.klogin</userinput>
+jeanne.root@GRONDAR.ZA</screen>
+ </informalexample>
+
+ <para>De m&ecirc;me, s'il y a dans un r&eacute;pertoire utilisateur
+ des lignes de la forme:</para>
+
+ <informalexample>
+ <screen>&prompt.user; <userinput>cat ~/.klogin</userinput>
+jeanne@GRONDAR.ZA
+jacques@GRONDAR.ZA</screen>
+ </informalexample>
+
+ <para>Cela permet &agrave; quiconque dans le domaine
+ <filename>GRONDAR.ZA</filename>
+ s'est authentifi&eacute; en tant que
+ <username>jeanne</username> ou <username>jacques</username> (avec
+ <command>kinit</command>, voir plus haut) d'acc&eacute;der avec
+ <command>rlogin</command> au compte de
+ <username>jeanne</username> ou &agrave; ses fichiers sur ce syst&egrave;me
+ (<hostid>grunt</hostid>) avec <command>rlogin</command>, <command>rsh</command> ou
+ <command>rcp</command>.</para>
+
+ <para>Par exemple, jeanne ouvre maintenant une session sur un autre
+ syst&egrave;me, avec Kerberos:</para>
+
+ <informalexample>
+ <screen>&prompt.user; <userinput>kinit</userinput>
+MIT Project Athena (grunt.grondar.za)
+<prompt>Password:</prompt>
+%prompt.user; <userinput>rlogin grunt</userinput>
+Last login: Mon May 1 21:14:47 from grumble
+Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
+ The Regents of the University of California. All rights reserved.
+
+FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen>
+ </informalexample>
+
+ <para>ou bien jacques ouvre une session sur le compte de jeanne
+ sur la m&ecirc;me machine (jeanne ayant modifi&eacute; son fichier
+ <filename>.klogin</filename> comme d&eacute;crit plus haut, et
+ l'administrateur de Kerberos ayant d&eacute;fini une entr&eacute;e principale
+ <emphasis>jacques</emphasis>, sans instance:</para>
+
+ <informalexample>
+ <screen>&prompt.user; <userinput>kinit</userinput>
+&prompt.user; <userinput>rlogin grunt -l jeanne</userinput>
+MIT Project Athena (grunt.grondar.za)
+<prompt>Password:</prompt>
+Last login: Mon May 1 21:16:55 from grumble
+Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
+ The Regents of the University of California. All rights reserved.
+FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen>
+ </informalexample>
+ </sect2>
+ </sect1>
+
+ <sect1 id="firewalls">
+ <title>Coupe-Feux</title>
+
+ <para><emphasis>Contribution de &a.gpalmer; et
+ &a.alex;.</emphasis></para>
+
+ <para>Les coupe-feux suscitent un int&eacute;r&ecirc;t croissant de la part de gens
+ qui se connectent &agrave; l'Internet, et sont m&ecirc;me install&eacute;s sur des
+ r&eacute;seaux priv&eacute;s pour accro&icirc;tre leur s&eacute;curit&eacute;. Cette section vise &agrave;
+ vous expliquer ce que sont les coupe-feux, comment les utiliser
+ et comment mettre en oeuvre les possibilit&eacute;s offertes par le noyau
+ de FreeBSD pour les impl&eacute;menter.</para>
+
+ <note>
+ <para>Les gens pensent souvent qu'avoir un coupe-feu entre le
+ r&eacute;seau interne de leur entreprise et le
+ &ldquo;Grand M&eacute;chant Internet&rdquo;
+ r&eacute;soud tous leurs probl&egrave;mes de s&eacute;curit&eacute;.</para>
+
+ <para>Cela peut y concourir, mais une syst&egrave;me de coupe-feu mal
+ configur&eacute; pr&eacute;sente pour la s&eacute;curit&eacute; un risque plus grand que
+ de ne pas en avoir du tout. Un coupe-feu ajoute une couche
+ protectrice
+ suppl&eacute;mentaire &agrave; votre syst&egrave;me, mais ne sera pas capable
+ d'emp&ecirc;cher un pirate r&eacute;ellement d&eacute;termin&eacute; de p&eacute;n&eacute;trer votre
+ r&eacute;seau interne. Si vous &ecirc;tes laxiste quant &agrave; votre
+ s&eacute;curit&eacute; interne parce que vous croyez votre coupe-feu
+ imp&eacute;n&eacute;trable, vous avez tout bonnement simplifi&eacute; la t&acirc;che
+ des pirates.</para>
+ </note>
+
+
+ <sect2>
+ <title>Qu'est-ce qu'un coupe-feu?</title>
+
+ <para>Il y a aujourd'hui deux types de coupe-feux diff&eacute;rents
+ d'utilisation courante sur l'Internet. Le premier est appel&eacute;
+ plus justement <emphasis>routeur filtrant</emphasis>, quand
+ le noyau d'une machine interconnect&eacute;e &agrave; plusieurs r&eacute;seaux
+ s&eacute;lectionne, en appliquant un ensemble de r&egrave;gles, les paquets
+ qu'il transmet ou rejette. Le second, d&eacute;sign&eacute; par le terme
+ de <emphasis>serveurs mandataires</emphasis>, s'appuie sur
+ des &ldquo;d&eacute;mons&rdquo; pour assurer l'authentification
+ et transmettre les paquets, &eacute;ventuellement sur une machine
+ interconnect&eacute;e dont la transmission de paquets au niveau
+ du noyau est d&eacute;sactiv&eacute;e.</para>
+
+ <para>Les sites combinent parfois ces deux approches, de telle
+ sorte qu'une machine seulement (appel&eacute;e
+ <emphasis>bastion</emphasis>) soit autoris&eacute;e &agrave; envoyer des
+ paquets, via un routeur filtrant, sur le r&eacute;seau interne. Les
+ services mandat&eacute;s, qui sont g&eacute;n&eacute;ralement plus s&ucirc;rs que les
+ m&eacute;canismes habituels d'authentification,
+ sont fournis par le bastion.</para>
+
+ <para>Le noyau de FreeBSD inclut une fonctionnalit&eacute; de filtrage
+ de paquets (appel&eacute;e <application>IPFW</application>), dont traite
+ essentiellement la suite de cette section. Des serveurs mandataires
+ sous FreeBSD peuvent &ecirc;tre mis en oeuvre avec des logiciels
+ ext&eacute;rieurs, mais il y a une telle vari&eacute;t&eacute; de serveurs mandataires
+ qu'il est impossible de les d&eacute;crire dans ce document.</para>
+
+ <sect3
+ id="firewalls-packet-filters">
+ <title>Routeurs filtrants</title>
+
+ <para>Un routeur est une machine qui transmet des paquets entre
+ plusieurs r&eacute;seaux. Le noyau d'un routeur filtrant comporte
+ en plus du code qui applique &agrave; chaque paquet un jeu de
+ r&egrave;gles pour d&eacute;cider de le transmettre ou non. La plupart
+ des logiciels r&eacute;cents de routage IP comportent du code de
+ filtrage de paquets. Pour l'utiliser, vous devez fournir
+ au filtre un ensemble de r&egrave;gles sur la base desquelles il
+ peut d&eacute;cider d'autoriser ou non la transmission des
+ paquets.</para>
+
+ <para>Pour d&eacute;cider si le paquet peut passer ou non, le code
+ parcourt les r&egrave;gles jusqu'&agrave; ce qu'il en trouve une qui
+ corresponde aux en-t&ecirc;tes du paquet. Il effectue alors
+ l'op&eacute;ration associ&eacute;e &agrave; la r&egrave;gle. Ce peut &ecirc;tre rejeter
+ le paquet, le transmettre, ou m&ecirc;me r&eacute;pondre par un
+ message ICMP &agrave; l'&eacute;metteur. La premi&egrave;re r&egrave;gle trouv&eacute;e, en
+ s&eacute;quence, est seule prise en consid&eacute;ration. On peut donc
+ parler d'une &ldquo;cha&icirc;ne de r&egrave;gles&rdquo;.</para>
+
+ <para>Les crit&egrave;res de s&eacute;lection des paquets varient selon
+ les logiciels, mais vous pouvez typiquement d&eacute;finir des
+ r&egrave;gles bas&eacute;es sur les adresses IP de l'&eacute;metteur et du
+ destinataire, les ports source et destination (pour les
+ protocoles qui supportent les ports), voir le type de paquet
+ (UDP, TCP, ICMP, etc...).</para>
+
+ </sect3>
+
+ <sect3
+ id="firewalls-proxy-servers">
+ <title>Serveurs mandataires</title>
+
+ <Para>Les serveurs mandataires sont des machines sur lesquelles
+ les &ldquo;d&eacute;mons&rdquo; du syst&egrave;me standard
+ (telnetd, ftpd, etc) sont remplac&eacute;s par des serveurs sp&eacute;ciaux.
+ Ce sont ces serveurs que l'on appelle <emphasis>serveurs
+ mandataires</emphasis>, car ils n'autorisent normalement que
+ les connexions entrantes. Cela permet (par exemple),
+ avec un serveur mandataire telnet sur votre bastion, aux gens
+ de se connecter de l'ext&eacute;rieur et d'acc&eacute;der &agrave; votre r&eacute;seau
+ interne, apr&egrave;s avoir satisfait &agrave; un m&eacute;canisme d'authentification
+ (inversement, des serveurs mandataires peuvent &ecirc;tre utilis&eacute;s
+ pour les connexions du r&eacute;seau interne vers l'ext&eacute;rieur).</para>
+
+ <para>Les serveurs mandataires sont g&eacute;n&eacute;ralement plus s&ucirc;rs que les
+ serveurs ordinaires et disposent d'une plus grande vari&eacute;t&eacute; de
+ m&eacute;canismes d'authentification, dont les mots de passe &ldquo;&agrave;
+ usage unique&rdquo;, de fa&ccedil;on &agrave; ce que,
+ m&ecirc;me si quelqu'un arrive &agrave;
+ surprendre votre mot de passe, il ne puisse l'utiliser pour
+ acc&eacute;der &agrave; vos syst&egrave;mes, puisqu'il expire aussit&ocirc;t. Comme ils
+ ne donnent pas aux utilisateurs l'acc&egrave;s &agrave; la machine qui les
+ h&eacute;berge, il en est d'autant plus difficile d'installer une
+ entr&eacute;e d&eacute;rob&eacute;e dans votre syst&egrave;me de s&eacute;curit&eacute;.</para>
+
+ <para>Les serveurs mandataires ont aussi souvent la possibilit&eacute;
+ de restreindre encore l'acc&egrave;s, de telle fa&ccedil;on que seules
+ certaines machines y soient autoris&eacute;es, et peuvent aussi
+ la plupart du temps &ecirc;tre configur&eacute;s
+ pour d&eacute;finir quels utilisateurs
+ peuvent acc&eacute;der aux machines cibles. L&agrave; encore, les
+ fonctionnalit&eacute;s disponibles d&eacute;pendent des logiciels que
+ vous choisissez.</para>
+
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Que me permet de faire IPFW?</title>
+
+ <para><application>IPFW</application>, le logiciel fourni avec
+ FreeBSD, est un syst&egrave;me de filtrage de paquets et de comptabilit&eacute;
+ qui est int&eacute;gr&eacute; au noyau, et comporte un outil de configuration
+ accessible &agrave; l'utilisateur,
+ <citerefentry><refentrytitle>ipfw</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Ensemble, ils vous permettent de d&eacute;finir et de consulter
+ les r&egrave;gles appliqu&eacute;es par le noyau pour prendre ses d&eacute;cisions de
+ routage.</para>
+
+ <para><application>IPFW</application> comporte deux parties. Le
+ coupe-feu s'occupe du filtrage de paquets. Il y a aussi une
+ partie comptabilit&eacute; IP, qui vous permet de tracer l'utilisation
+ de votre routeur, sur la base de r&egrave;gles similaires &agrave; celle
+ utilis&eacute;e par le coupe-feu. Vous pouvez (par exemple) savoir
+ quel trafic votre routeur re&ccedil;oit d'une machine donn&eacute;e, ou quel
+ volume de requ&ecirc;tes WWW (&ldquo;World Wide Web&rdquo;) il
+ transmet.</para>
+
+ <para>De par la conception d'<application>IPFW</application>,
+ vous pouvez l'utiliser sur une machine qui ne fait pas de
+ routage, pour filtrer les connexions entrantes et sortantes.
+ C'est un cas plus particulier d'application
+ d'<application>IPFW</application> que l'usage g&eacute;n&eacute;ral, qui
+ se g&egrave;re avec les m&ecirc;mes commandes et les m&ecirc;mes techniques.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Activer IPFW sur FreeBSD</title>
+
+ <para>Comme la majeure partie du syst&egrave;me
+ <application>IPFW</application> est int&eacute;gr&eacute;e au noyau,
+ vous devrez ajouter une ou plusieurs options &agrave; votre
+ fichier de configuration du noyau, selon les possibilit&eacute;s
+ que vous voulez utiliser, et recompiler votre noyau.
+ Reportez-vous au chapitre
+ <link linkend="kernelconfig">Configurer le noyau de FreeBSD</link>
+ pour plus de d&eacute;tails sur la recompilation
+ du noyau.</para>
+
+ <para>Il y a trois options de configuration du noyau qui concernent
+ <application>IPFW</application>:</para>
+
+
+ <variablelist>
+ <varlistentry><term>options IPFIREWALL</term>
+ <listitem>
+ <para>Int&egrave;gre au noyau le code de filtrage de
+ paquets.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>options IPFIREWALL_VERBOSE</term>
+
+ <listitem>
+ <para>Donne au code la possibilit&eacute; de tracer les paquets via
+ <citerefentry><refentrytitle>syslogd</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
+ Sans cette option et m&ecirc;me si vous pr&eacute;cisez dans vos r&egrave;gles
+ que les paquets doivent &ecirc;tre trac&eacute;s, rien ne se
+ passera.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>options IPFIREWALL_VERBOSE_LIMIT=10</term>
+
+ <listitem>
+ <para>Limite le nombre de paquets similaires trac&eacute;s. Cette
+ option peut &ecirc;tre utile dans un environnement hostile, si
+ vous voulez surveiller l'activit&eacute; de votre coupe-feu, tout
+ en &eacute;vitant les attaques par refus de service qui
+ submergeraient <command>syslog</command>.</para>
+
+ <para>Quand une r&egrave;gle atteint le nombre limite de paquets
+ identiques, la trace est d&eacute;sactiv&eacute;e pour cette r&egrave;gle.
+ Pour la remettre en service, vous devrez r&eacute;initialiser
+ le compteur associ&eacute; avec l'utilitaire
+ <citerefentry><refentrytitle>ipfw</refentrytitle><manvolnum>8</manvolnum></citerefentry>:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>ipfw zero 4500</userinput></screen>
+ </informalexample>
+
+ <para>o&ugrave; 4500 est le num&eacute;ro de la r&egrave;gle que vous voulez de
+ nouveau tracer.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+ <para>Il y avait, dans les versions ant&eacute;rieures de FreeBSD, une
+ option <literal>IPFIREWALL_ACCT</literal>. Elle est maintenant
+ obsol&egrave;te. Le code du coupe-feu int&egrave;gre d&eacute;sormais automatiquement
+ les fonctions comptables.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Configurer IPFW</title>
+
+ <para>La configuration du logiciel <application>IPFW</application>
+ se fait avec l'utilitaire <citerefentry><refentrytitle>ipfw</refentrytitle><manvolnum>8</manvolnum></citerefentry>. La syntaxe de cette commande
+ para&icirc;t assez compliqu&eacute;e, mais elle est relativement simple, une
+ fois que vous en avez compris la structure.</para>
+
+ <para>L'utilitaire comporte quatre cat&eacute;gories de commandes:
+ ajout/suppression, liste, vidage, r&eacute;initialisation. On ajoute
+ et l'on supprime des r&egrave;gles de filtrage. On liste les r&egrave;gles.
+ On vide la s&eacute;quence de r&egrave;gles, pour supprimer toutes les r&egrave;gles.
+ On r&eacute;initialise les informations comptables.</para>
+
+
+ <sect3>
+ <title>Modifier les r&egrave;gles IPFW</title>
+
+ <para>La syntaxe pour ce type de commande est:
+ <cmdsynopsis>
+ <command>ipfw</command>
+ <arg>-N</arg>
+ <arg choice="plain">commande</arg>
+ <arg>index</arg>
+ <arg choice="plain">action</arg>
+ <arg>log</arg>
+ <arg choice="plain">protocole</arg>
+ <arg choice="plain">adresses</arg>
+ <arg>options</arg>
+ </cmdsynopsis></para>
+
+ <para>Il n'y a qu'un seul indicateur avec ce type de
+ commande:</para>
+
+
+ <variablelist>
+ <varlistentry><term>-N</term>
+ <listitem>
+ <para>R&eacute;soudre les adresses et les noms de services
+ dans les sorties.</para>
+
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+ <para>La <emphasis>commande</emphasis> peut &ecirc;tre raccourcie
+ &agrave; son abbr&eacute;viation univoque la plus courte. Les
+ <emphasis>commandes</emphasis> valides sont:</para>
+
+
+ <variablelist>
+ <varlistentry><term>add</term>
+ <listitem>
+ <para>Ajoute une entr&eacute;e &agrave; la liste des r&egrave;gles de
+ filtrage/comptabilit&eacute;.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>delete</term>
+
+ <listitem>
+ <para>Supprime une entr&eacute;e de la liste des r&egrave;gles de
+ filtrage/comptabilit&eacute;.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+ <para>Des versions ant&eacute;rieures d'<application>IPFW</application>
+ s&eacute;paraient les r&egrave;gles de filtrage et celles de comptabilit&eacute;.
+ La version actuelle autorise la comptabilisation de chaque
+ r&egrave;gle de filtrage.</para>
+
+ <para>L'<emphasis>index</emphasis>, s'il est renseign&eacute;, permet
+ d'ins&eacute;rer la r&egrave;gle &agrave; un point pr&eacute;cis de la s&eacute;quence. Sinon,
+ la r&egrave;gle est ajout&eacute;e en fin de s&eacute;quence avec un index de 100
+ sup&eacute;rieur &agrave; la derni&egrave;re r&egrave;gle existante (&agrave;
+ l'exception de la r&egrave;gle par d&eacute;faut, 65535,
+ &ldquo;deny&rdquo;).</para>
+
+ <para>L'option <literal>log</literal> active la trace de la
+ r&egrave;gle &agrave; la console syst&egrave;me, si le noyau a &eacute;t&eacute; compil&eacute; avec
+ l'option <literal>IPFIREWALL_VERBOSE</literal>.</para>
+
+ <para>Les <emphasis>actions</emphasis> valides sont:</para>
+
+
+ <variablelist>
+ <varlistentry><term>reject</term>
+ <listitem>
+ <para>Refuse le paquet, et envoie un message ICMP
+ h&ocirc;te ou port non joignable (selon le cas) &agrave;
+ l'&eacute;metteur.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>allow</term>
+
+ <listitem>
+ <para>Transmet normalement le paquet (alias:
+ <literal>pass</literal> et
+ <literal>accept</literal>). </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>deny</term>
+
+ <listitem>
+ <para>Rejette le paquet. N'envoie pas de message
+ ICMP &agrave; l'&eacute;metteur (tout ce passe comme si le paquet
+ n'&eacute;tait jamais arriv&eacute; &agrave; destination).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>count</term>
+
+ <listitem>
+ <para>Met &agrave; jour les informations comptables, mais le paquet
+ n'est pas accept&eacute;/rejet&eacute; sur la base de cette r&egrave;gle. Le
+ filtrage se poursuit avec la r&egrave;gle suivante de la
+ s&eacute;quence.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+ <para>Chaque <emphasis>action</emphasis> est identifiable
+ par son abbr&eacute;viation univoque la plus courte.</para>
+
+ <para>Les <emphasis>protocoles</emphasis> qui peuvent &ecirc;tre
+ pr&eacute;cis&eacute;s sont:</para>
+
+
+ <variablelist>
+ <varlistentry><term>all</term>
+ <listitem>
+ <para>N'importe quel paquet IP.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>icmp</term>
+
+ <listitem>
+ <para>Les paquets ICMP.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>tcp</term>
+
+ <listitem>
+ <para>Les paquets TCP.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>udp</term>
+
+ <listitem>
+ <para>Les paquets UDP.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+ <para>Les <emphasis>adresses</emphasis> sont repr&eacute;sent&eacute;es comme
+ suit:</para>
+
+ <cmdsynopsis>
+ <arg choice="plain">from</arg>
+ <arg choice="plain"><replaceable>adresse/masque</replaceable></arg><arg><replaceable>port</replaceable></arg>
+ <arg choice="plain">to</arg>
+ <arg choice="plain"><replaceable>adresse/masque</replaceable></arg><arg><replaceable>port</replaceable></arg>
+ <arg>via <replaceable>interface</replaceable></arg>
+ </cmdsynopsis>
+
+ <para>Vous ne pouvez sp&eacute;cifier le <replaceable>port</replaceable>
+ qu'avec les <emphasis>protocoles</emphasis> qui les supportent
+ (UDP et TCP).</para>
+
+ <para>Le param&egrave;tre <option>via</option> est optionnel et d&eacute;finit
+ soit l'adresse IP, soit le nom de domaine d'une interface IP
+ locale, soit le nom d'une interface
+ (e.g. <devicename>ed0</devicename>) pour que la r&egrave;gle ne
+ s'applique qu'aux paquets passant par cette interface. Le
+ num&eacute;ro d'unit&eacute; de l'interface peut &ecirc;tre remplac&eacute; par un
+ caract&egrave;re de substitution. Par exemple, <literal>ppp*</literal>
+ d&eacute;signe toutes les interfaces associ&eacute;es au module PPP int&eacute;gr&eacute; au
+ noyau.</para>
+
+ <para>La syntaxe utilis&eacute;e pour
+ <replaceable>adresse/masque</replaceable> est:</para>
+
+ <informalexample>
+ <screen><replaceable>adresse</replaceable></screen>
+ </informalexample>
+
+ <para>ou:</para>
+
+ <informalexample>
+ <screen><replaceable>adresse</replaceable>/<replaceable>longueur_du_masque</replaceable></screen>
+ </informalexample>
+
+ <para>ou:</para>
+
+ <informalexample>
+ <screen><replaceable>adresse</replaceable>:<replaceable>masque_logique</replaceable></screen>
+ </informalexample>
+
+ <para>Un nom de machine valide peut remplacer l'adresse IP.
+ <option><replaceable>longueur_du_masque</replaceable></option> est
+ une valeur d&eacute;cimale indiquant combien de digits de l'adresse
+ doivent correspondre. e.g. <literal>192.216.222.1/24</literal>
+ g&eacute;n&egrave;re un masque tel que toutes les adresses d'un sous-r&eacute;seau de
+ classe C (dans ce cas, 192.216.222) soient s&eacute;lectionn&eacute;es.
+ <option><replaceable>masque_logique</replaceable></option> est
+ une adresse IP telle que le masque soit obtenu par intersection
+ logique (&ldquo;ET&rdquo;) avec l'adresse associ&eacute;e. Le mot-cl&eacute;
+ <literal>any</literal> peut &ecirc;tre utilis&eacute; pour indiquer
+ &ldquo;n'importe quelle adresse IP&rdquo;.</para>
+
+ <para>Les num&eacute;ros des ports &agrave; bloquer sont indiqu&eacute;s par:
+
+ <cmdsynopsis>
+ <arg choice="plain"><replaceable>port</replaceable><arg>,<replaceable>port</replaceable><arg>,<replaceable>port</replaceable><arg>...</arg></arg></arg></arg>
+ </cmdsynopsis>pour donner un seul port ou une liste de ports, ou:
+
+ <cmdsynopsis>
+ <arg choice="plain"><replaceable>port</replaceable>-<replaceable>port</replaceable></arg>
+ </cmdsynopsis>pour donner une plage de valeurs. On peut aussi
+ combiner une seule plage et une liste, mais la plage doit toujours
+ &ecirc;tre indiqu&eacute;e en premier.</para>
+
+ <para>Les <emphasis>options</emphasis> disponibles sont:</para>
+
+
+ <variablelist>
+ <varlistentry><term>frag</term>
+ <listitem>
+ <para>Le paquet correspond si ce n'est pas le premier
+ fragment d'un datagramme.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>in</term>
+
+ <listitem>
+ <para>Le paquet correspond si c'est un paquet
+ entrant.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>out</term>
+
+ <listitem>
+ <para>Le paquet correspond si c'est un paquet
+ sortant.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>ipoptions <replaceable>options</replaceable></term>
+
+ <listitem>
+ <para>Le paquet correspond si son en-t&ecirc;te IP contient les
+ options&nbsp;-&nbsp;s&eacute;par&eacute;es par des virgules&nbsp;-&nbsp;de la liste
+ d'<replaceable>options</replaceable>. Les options IP
+ reconnues sont: <literal>ssrr</literal>
+ (&ldquo;strict source route&rdquo;&nbsp;-&nbsp;routage strict
+ par la source)
+ <literal>lsrr</literal>
+ (&ldquo;loose source route&rdquo;&nbsp;-&nbsp;routage souple
+ par la source),
+ <literal>rr</literal> (&ldquo;record packet
+ route&rdquo;&nbsp;-&nbsp;enregistrer la route du paquet),
+ et <literal>ts</literal>
+ (&ldquo;timestamp&rdquo;&nbsp;-&nbsp;date). L'absence d'une
+ option est indiqu&eacute;e en la faisant pr&eacute;c&eacute;der d'un
+ <literal>!</literal>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>established</term>
+
+ <listitem>
+ <para>Le paquet correspond s'il fait partie
+ d'une connexion TCP d&eacute;j&agrave; &eacute;tablie,
+ (i.e. si le bit RST ou ACK
+ est positionn&eacute;). Vous pouver optimiser les performances
+ du coupe-feu en introduisant une r&egrave;gle
+ <emphasis>established</emphasis>
+ assez t&ocirc;t dans la s&eacute;quence.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>setup</term>
+
+ <listitem>
+ <para>Le paquet correspond si c'est un paquet qui initialise
+ une connexion TCP (Le bit SYN est positionn&eacute; mais pas le
+ bit ACK).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>tcpflags <replaceable>indicateurs</replaceable></term>
+
+ <listitem>
+ <para>Le paquet correspond si son en-t&ecirc;te contient les
+ indicateurs&nbsp;-&nbsp;s&eacute;par&eacute;s par des virgules&nbsp;-&nbsp;de la
+ liste d'<replaceable>indicateurs</replaceable>. Les
+ indicateurs reconnus sont <literal>fin</literal>,
+ <literal>syn</literal>, <literal>rst</literal>,
+ <literal>psh</literal>, <literal>ack</literal>, et
+ <literal>urg</literal>. L'absence d'un indicateur donn&eacute;
+ est indiqu&eacute;e en le faisant pr&eacute;c&eacute;der d'un
+ <literal>!</literal>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>icmptypes <replaceable>types</replaceable></term>
+
+ <listitem>
+ <para>Le paquet correspond si son type ICMP appartient &agrave; la
+ liste <replaceable>types</replaceable>. La liste est
+ donn&eacute;e sous forme d'une combinaison de plages et/ou de
+ types s&eacute;par&eacute;s par des virgules. Les types ICMP
+ habituellement utilis&eacute;s sont:
+ <literal>0</literal> &ldquo;echo reply&rdquo; (r&eacute;ponse &agrave;
+ un <command>ping</command>),
+ <literal>5</literal> &ldquo;redirect&rdquo;
+ (modification de la route), <literal>8</literal>
+ &ldquo;echo request&rdquo; (&eacute;mis par
+ <command>ping</command>), et
+ <literal>11</literal> &ldquo;time exceeded&rdquo;
+ (utilis&eacute; pour indiquer que le TTL&nbsp;-&nbsp;&ldquo;Time To
+ Live&rdquo;&nbsp;-&nbsp;dur&eacute;e de vie&nbsp;-&nbsp;,a &eacute;t&eacute; atteint, avec
+ <citerefentry><refentrytitle>traceroute</refentrytitle><manvolnum>8</manvolnum></citerefentry>, par exemple).</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+ </sect3>
+
+ <sect3>
+ <title>Lister les r&egrave;gles IPFW</title>
+
+ <para>La syntaxe de cette forme de la commande est:
+ <cmdsynopsis>
+ <command>ipfw</command>
+ <arg>-a</arg>
+ <arg>-t</arg>
+ <arg>-N</arg>
+ <arg choice="plain">l</arg>
+ </cmdsynopsis></para>
+
+ <para>Il y a trois indicateurs valides avec ce type de
+ commande:</para>
+
+
+ <variablelist>
+ <varlistentry><term>-a</term>
+ <listitem>
+ <para>Affiche avec la liste, les valeurs des compteurs.
+ Cette option est le seul moyen de consulter les
+ informations comptables.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>-t</term>
+
+ <listitem>
+ <para>Affiche la date de derni&egrave;re concordance pour chaque
+ r&egrave;gle de la s&eacute;quence. Le format d'affichage n'est
+ pas compatible avec la syntaxe d'entr&eacute;e de l'utilitaire
+ <citerefentry><refentrytitle>ipfw</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>-N</term>
+
+ <listitem>
+ <para>Essaye de r&eacute;soudre les adresses et le noms des
+ services.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+ </sect3>
+
+ <sect3>
+ <title>Vider les r&egrave;gles IPFW</title>
+
+ <para>La commande pour vider les r&egrave;gles est:
+ <cmdsynopsis>
+ <command>ipfw</command>
+ <arg choice="plain">flush</arg>
+ </cmdsynopsis></para>
+
+ <para>Toutes les r&egrave;gles de la s&eacute;quence sont supprim&eacute;es, sauf
+ la r&egrave;gle par d&eacute;faut d&eacute;finie par le noyau (index 65535). Faites
+ attention quand vous utilisez cette commande, la r&egrave;gle par
+ d&eacute;faut &ldquo;deny&rdquo; isolera votre coupe-feu du r&eacute;seau
+ jusqu'&agrave; ce qu'une nouvelle r&egrave;gle &ldquo;allow&rdquo; soit
+ ajout&eacute;e &agrave; la s&eacute;quence.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>R&eacute;initialiser les compteurs IPFW</title>
+
+ <para>La syntaxe pour r&eacute;initialiser un ou plusieurs compteurs de
+ paquets est:
+ <cmdsynopsis>
+ <command>ipfw</command>
+ <arg choice="plain">zero</arg>
+ <arg choice="opt"><replaceable>index</replaceable></arg>
+ </cmdsynopsis></para>
+
+ <para>Employ&eacute;e sans l'argument
+ <replaceable>index</replaceable>, tous les compteurs sont
+ r&eacute;initialis&eacute;s. Si un <replaceable>index</replaceable> est
+ pr&eacute;cis&eacute;, l'op&eacute;ration ne s'applique qu'&agrave; la r&egrave;gle
+ correspondante.</para>
+
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Exemples de commandes IPFW</title>
+
+ <para>Cette commande emp&ecirc;chera le routeur de transmettre tous les
+ paquets venant de la machine
+ <hostid role="fqdn">sales.pirates.org</hostid> vers le port
+ &ldquo;telnet&rdquo; de la machine
+ <hostid role="fqdn">chics.types.org</hostid>:</para>
+
+ <informalexample>
+ <screen>&prompt.root <userinput>ipfw add deny tcp from sales.pirates.org to chics.types.org 23</userinput></screen>
+ </informalexample>
+
+ <para>L'exemple suivant rejette tout trafic TCP venant du r&eacute;seau
+ <hostid role="domainname">pirates.org</hostid> (un r&eacute;seau de classe
+ C) vers la machine
+ <hostid role="fqdn">chics.types.org</hostid> machine (quel que
+ soit le port).</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>ipfw add deny log tcp from sales.pirates.org/24 to chics.types.org</userinput></screen>
+ </informalexample>
+
+ <para>Si vous ne voulez pas que l'on puisse ouvrir de sessions X
+ sur votre r&eacute;seau interne (un sous-r&eacute;seau d'un r&eacute;seau de classe C),
+ la commande suivante applique le filtrage ad&eacute;quat:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>ipfw add deny tcp from any to mon.reseau.org/28 6000 setup</userinput></screen>
+ </informalexample>
+
+ <para>Pour lister les informations comptables:
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>ipfw -a list</userinput></screen>
+ </informalexample> ou en abr&eacute;g&eacute;:
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>ipfw -a l</userinput></screen>
+ </informalexample> Vous pouvez aussi voir la derni&egrave;re date
+ d'application d'une r&egrave;gle avec:
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>ipfw -at l</userinput></screen>
+ </informalexample></para>
+
+ </sect2>
+
+ <sect2>
+ <title>Mettre en oeuvre un coupe-feu filtrant</title>
+
+ <note>
+ <para>Les suggestions ci-dessous ne sont rien que des suggestions.
+ Les contraintes varient d'un coupe-feu &agrave; l'autre et je ne peux
+ pas vous dire comment mettre en place le coupe-feu qui r&eacute;ponde
+ &agrave; votre besoin particulier.</para>
+ </note>
+
+ <para>Lorsque vous commencez &agrave; configurer votre coupe-feu, &agrave; moins
+ que vous n'ayez un banc d'essai pour faire vos tests dans un
+ environnement que vous contr&ocirc;lez, je vous conseille
+ vivement d'utiliser les options de trace des commandes apr&egrave;s avoir
+ compil&eacute; un noyau supportant les traces du coupe-feu. Vous pourrez
+ ainsi identifier rapidement les probl&egrave;mes et y rem&eacute;dier sans
+ provoquer trop de g&ecirc;ne. M&ecirc;me par la suite, je vous conseille de
+ conserver l'option pour les commandes <command>deny</command>,
+ ce qui vous permettra de tracer les attaques &eacute;ventuelles et aussi de
+ modifier vos r&egrave;gles si vos besoins &eacute;voluent.</para>
+
+ <note>
+ <para>Tracer les commandes <command>accept</command> aboutit
+ &agrave; de gros volumes de fichiers de trace, puisqu'il y a une
+ ligne pour chaque paquet qui transite par le coupe-feu. Les
+ transferts ftp/http importants ralentissent alors s&eacute;rieusement
+ le syst&egrave;me. Cela augmente aussi le temps de latence pour ces
+ paquets, parce que cela demande au noyau plus de traitement
+ avant de les passer. <command>syslogd</command> utilisera aussi
+ plus de temps CPU pour &eacute;crire toutes ces informations sur disque
+ et peut m&ecirc;me assez rapidement saturer la partition sur laquelle
+ r&eacute;side le r&eacute;pertoire <filename>/var/log</filename>.</para>
+ </note>
+
+ <para>Tel qu'il est livr&eacute;, FreeBSD ne sait pas charger les r&egrave;gles
+ du coupe-feu au d&eacute;marrage du syst&egrave;me. Je vous sugg&egrave;re d'appeler
+ une proc&eacute;dure ad-hoc depuis la proc&eacute;dure
+ <filename>/etc/netstart</filename>. Mettez cette proc&eacute;dure assez t&ocirc;t
+ dans le fichier <filename>netstart</filename>, de sorte que le
+ coupe-feu soit configur&eacute; avant les interfaces IP. Il n'y a ainsi
+ pas de possibilit&eacute; d'acc&egrave;s tant que votre r&eacute;seau est encore
+ ouvert.</para>
+
+ <para>Employez la m&eacute;thode que vous voulez pour charger les r&egrave;gles.
+ La commande <command>ipfw</command> ne peut pas charger toutes
+ les r&egrave;gles en une seule fois. Je proc&egrave;de de la fa&ccedil;on
+ suivante:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>ipfw list</userinput></screen>
+ </informalexample>
+
+ <para>pour &eacute;crire dans un fichier les r&egrave;gles que j'ai d&eacute;finies. Puis
+ j'&eacute;dite ce fichier pour ajouter <literal>ipfw</literal> au d&eacute;but
+ de chaque ligne. La proc&eacute;dure peut alors &ecirc;tre ex&eacute;cut&eacute;e pour
+ recharger les r&egrave;gles. C'est n'est peut-&ecirc;tre pas la fa&ccedil;on la
+ plus efficace de proc&eacute;der, mais cela marche.</para>
+
+ <para>La question suivante est de savoir ce que votre coupe-feu
+ doit r&eacute;ellement <emphasis>faire</emphasis>! Cela d&eacute;pend dans une
+ large mesure des acc&egrave;s que vous voulez autoriser de l'ext&eacute;rieur
+ &agrave; votre r&eacute;seau et vice-versa. Voici quelques r&egrave;gles
+ g&eacute;n&eacute;rales:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>Bloquez tous les acc&egrave;s entrants sur des ports TCP
+ en dessous de 1024. C'est l&agrave; que les services les plus
+ probl&eacute;matiques pour la s&eacute;curit&eacute; se trouvent, comme
+ finger, SMTP (courrier &eacute;lectronique) et telnet.</para>
+ </listitem>
+
+ <listitem>
+ <para>Bloquez <emphasis>tout</emphasis> traffic UDP entrant.
+ Il y a tr&egrave;s peu de services utiles qui fonctionnent sur UDP,
+ et les services qui sont utiles menacent g&eacute;n&eacute;ralement la
+ s&eacute;curit&eacute; (e.g. Les protocoles RPC et NFS de Sun). Cela
+ pr&eacute;sente l'inconv&eacute;nient que, comme le protocole UDP est
+ sans &eacute;tat, les r&eacute;ponses aux requ&ecirc;tes UDP sortantes sont
+ aussi bloqu&eacute;es. Cela peut poser probl&egrave;me &agrave; des utilisateurs
+ internes qui veulent interroger des serveurs archie (prospero)
+ externes. Si vous voulez autoriser l'acc&egrave;s &agrave; archie, vous
+ devez accepter les paquets UDP venant des ports 191 et 1525
+ sur n'importe quel port UDP interne. ntp est un autre service
+ que vous pouver envisager d'autoriser; il utilise le port
+ 123.</para>
+ </listitem>
+
+ <listitem>
+ <para>Bloquez le trafic entrant vers le port 6000. Le port
+ 6000 est utilis&eacute; pour acc&egrave;der aux serveurs X11, et peut
+ pr&eacute;senter des risques pour la s&eacute;curit&eacute; (en particulier
+ si les gens ont l'habitude d'utiliser
+ <command>xhost +</command> sur leur station de travail).
+ X11 peut en fait utiliser une plage de ports commen&ccedil;ant
+ au port 6000, la limite sup&eacute;rieure d&eacute;pendant du nombre
+ de sessions d'affichage qu'accepte la machine. La limite
+ d&eacute;finie par la RFC 1700 est 6063.</para>
+ </listitem>
+
+ <listitem>
+ <para>R&eacute;pertoriez les ports utilis&eacute;s par les serveurs
+ internes (e.g. serveurs SQL, ...). C'est probablement
+ une bonne id&eacute;e de les bloquer aussi, car ils sont
+ normalement hors de la plage 1-1024 d&eacute;crite plus haut.</para>
+ </listitem>
+
+ </itemizedlist>
+
+
+ <para>Le CERT propose d'autres recommendations pour la configuration
+ d'un coupe-feu &agrave; l'adresse
+ <ulink url="ftp://ftp.cert.org/pub/tech_tips/packet_filtering">ftp://ftp.cert.org/pub/tech_tips/packet_filtering</ulink>.</para>
+
+ <para>Comme je l'ai dit plus haut, ce ne sont que des
+ <emphasis>propositions</emphasis>. Vous devrez d&eacute;finir vous-m&ecirc;me
+ les r&egrave;gles &agrave; appliquer &agrave; votre coupe-feu. Je ne peux endosser
+ AUCUNE responsabilit&eacute; si quelqu'un s'infiltre sur votre r&eacute;seau,
+ m&ecirc;me si vous suivez les conseils donn&eacute;s ci-dessus.</para>
+
+ </sect2>
+ </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:
+-->
diff --git a/fr_FR.ISO_8859-1/books/handbook/serialcomms/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/serialcomms/chapter.sgml
new file mode 100644
index 0000000000..0c6273abe8
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/serialcomms/chapter.sgml
@@ -0,0 +1,2351 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+ <chapter>
+ <title>Communications s&eacute;rie</title>
+ &trans.a.haby;
+
+ <sect1 id="serial">
+ <title>Les bases</title>
+
+ <para><emphasis>Compil&eacute;es &agrave; partir de la FAQ.</emphasis></para>
+
+ <para>Cette section devrait vous donner des informations
+ g&eacute;n&eacute;rales sur les ports s&eacute;rie. Si vous n'y trouvez pas
+ ce que vous cherchez, consultez les sections de ce manuel
+ consacr&eacute;es aux terminaux et aux liaisons t&eacute;l&eacute;phoniques.</para>
+
+ <para>Vos applications ouvrirons normalement le fichier sp&eacute;cial
+ de p&eacute;riph&eacute;rique <filename>ttyd<replaceable>X</replaceable></filename>
+ (ou <filename>cuaa<replaceable>X</replaceable></filename>). Quand
+ un programme ouvre ce fichier, il retrouve normalement un ensemble
+ de param&egrave;tres par d&eacute;faut pour les entr&eacute;es/sorties sur le terminal.
+ Vous pouvez visualiser ces valeurs par d&eacute;faut avec la commande:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>stty -a -f /dev/ttyd1</userinput></screen>
+ </informalexample>
+
+ <para>Si vous modifiez le param&egrave;trage de ce p&eacute;riph&eacute;rique, ces
+ modifications s'appliquent jusqu'&agrave; ce que vous fermiez le
+ p&eacute;riph&eacute;rique. A la prochaine ouverture, le param&egrave;trage par
+ d&eacute;faut s'applique de nouveau. Pour changer le param&egrave;trage
+ par d&eacute;faut, vous devez ouvrir et modifier l'&ldquo;&eacute;tat
+ initial&rdquo; du p&eacute;riph&eacute;rique. Par exemple, pour activer
+ le mode <acronym>CLOCAL</acronym>, la transmission de donn&eacute;es
+ 8 bits et le contr&ocirc;le de flux <emphasis>XON/XOFF</emphasis>
+ par d&eacute;faut pour la ligne ttyd5, tapez:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>stty -f /dev/ttyid5 clocal cs8 ixon ixoff</userinput></screen>
+ </informalexample>
+
+ <para>Il est bien de confier cela &agrave; la proc&eacute;dure
+ <filename>/etc/rc.serial</filename>. Ces param&egrave;tres par d&eacute;faut
+ s'appliqueront maintenant lorsqu'une application ouvrira
+ <filename>ttyd5</filename>. Ce qui ne l'emp&ecirc;che pas de modifier
+ ces valeurs, si besoin est.</para>
+
+ <para>Vous pouvez aussi emp&ecirc;cher que certaines valeurs puissent
+ &ecirc;tre modifi&eacute;es par une application en changeant
+ l'&ldquo;&eacute;tat verrouill&eacute;&rdquo; du p&eacute;riph&eacute;rique. Par exemple,
+ pour fixer la vitesse de <filename>ttyd5</filename> &agrave; 57600 bps,
+ tapez:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>stty -f /dev/ttyld5 57600</userinput></screen>
+ </informalexample>
+
+ <para>Si une application qui ouvre maintenant <filename>ttyd5</filename>
+ essaie de modifier la vitesse de ce port, elle sera contrainte de
+ garder la valeur de 57600 bps.</para>
+
+ <para>Vous devriez bien entendu n'autoriser l'&eacute;criture
+ de l'&eacute;tat initial et de l'&eacute;tat bloqu&eacute; du p&eacute;riph&eacute;rique qu'au
+ super-utilisateur <emphasis remap=tt>root</emphasis>. La proc&eacute;dure
+ <filename>MAKEDEV</filename> <emphasis>NE</emphasis> le fait
+ <emphasis>PAS</emphasis> quand elle cr&eacute;e les fichiers sp&eacute;ciaux de
+ p&eacute;riph&eacute;riques.</para>
+
+ </sect1>
+
+ <sect1 id="term">
+ <title>Terminaux</title>
+
+ <para><emphasis>Contribution de &a.kelly;<!-- <br> -->28 Juillet
+ 1996</emphasis></para>
+
+ <para>Utiliser des terminaux est une solution commode et peu co&ucirc;teuse
+ pour disposer de la puissance de votre syst&egrave;me FreeBSD lorsque vous
+ n'&ecirc;tes pas sur la console de l'ordinateur ou sur un r&eacute;seau auquel il
+ est connect&eacute;. Cette section vous explique comment utiliser des
+ terminaux avec FreeBSD.</para>
+
+ <sect2 id="term-uses">
+ <title>Usages et types de terminaux</title>
+
+ <para>Les premiers syst&egrave;mes Unix n'avaient pas de console. Au lieu
+ de cela, les gens ouvraient des sessions et ex&eacute;cutaient leurs
+ programmes &agrave; partir de terminaux qui &eacute;taient connect&eacute;s aux ports
+ s&eacute;rie de l'ordinateur. C'est un peu la m&ecirc;me chose que lorsque
+ l'on utilise un modem et un logiciel d'&eacute;mulation de terminal
+ pour se connecter &agrave; un syst&egrave;me distant et travailler en mode
+ texte.</para>
+
+ <para>Les PCs d'aujourd'hui ont des consoles graphiques de
+ haute r&eacute;solution, mais la possibilit&eacute; d'ouvrir une session
+ sur un port s&eacute;rie subsiste toujours sur presque tous les
+ syst&egrave;mes d'exploitation de type Unix; FreeBSD ne fait pas
+ exception &agrave; la r&egrave;gle. Avec un terminal reli&eacute; &agrave; un port s&eacute;rie
+ disponible, vous pouvez ouvrir une session
+ et ex&eacute;cuter des programmes
+ comme vous le feriez normalement &agrave; la console ou dans une
+ fen&ecirc;tre <command>xterm</command> avec le gestionnaire
+ X Window.</para>
+
+ <para>Pour un usage professionnel, vous pouvez connecter de
+ nombreux terminaux &agrave; un syst&egrave;me FreeBSD et les installer
+ sur les bureaux de vos employ&eacute;s. Pour une usage domestique,
+ un ordinateur inutilis&eacute;, un vieux PC ou Macintosh, peut
+ servir de terminal sur un ordinateur plus puissant sous
+ FreeBSD. Vous pouvez ainsi faire de ce qui serait sinon un
+ syst&egrave;me mono-utilisateur un puissant syst&egrave;me
+ multi-utilisateurs.</para>
+
+ <para>FreeBSD conna&icirc;t trois types de terminaux:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>Les <link linkend="term-dumb">Terminaux
+ passifs</link>,</para>
+ </listitem>
+
+ <listitem>
+ <para>Les <link linkend="term-pcs">PCs servant de
+ terminaux</link>,</para>
+ </listitem>
+
+ <listitem>
+ <para>Les <link linkend="term-x">Terminaux X</link>.</para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>Les sections qui suivent d&eacute;crivent chacun de ces types de
+ terminaux.</para>
+
+
+ <sect3 id="term-dumb">
+ <title>Terminaux passifs</title>
+
+ <para>Les terminaux passifs sont des mat&eacute;riels sp&eacute;cialis&eacute;s qui
+ vous permettent de vous connecter &agrave; votre ordinateur via une
+ ligne s&eacute;rie. On les appelle &ldquo;passifs&rdquo; parce qu'ils
+ ne savent qu'afficher, envoyer et recevoir du texte. Ils ne
+ peuvent pas ex&eacute;cuter de programmes. C'est l'ordinateur auquel
+ ils sont connect&eacute;s qui dispose de tout ce qu'il faut pour faire
+ tourner les logiciels de traitement de texte, les compilateurs,
+ la messagerie &eacute;lectroniques, les jeux, et ainsi de suite.</para>
+
+ <para>Il ya a des centaines de mod&egrave;les de terminaux passifs de
+ constructeurs diff&eacute;rents, dont le VT-100 de Digital Equipment
+ Corporation et le WY-75 de Wyse. Ils fonctionneront pratiquement
+ tous avec FreeBSD. Certains terminaux haut de gamme peuvent m&ecirc;me
+ afficher des graphiques, mais seuls certains logiciels tireront
+ parti de ces possibilit&eacute;s &eacute;volu&eacute;es.</para>
+
+ <para>Les terminaux passifs sont d'usage courant
+ lorsque les utilisateurs
+ n'ont pas besoin d'acc&eacute;der &agrave; des outils graphiques tels que ceux
+ que fournit le syst&egrave;me X Window.</para>
+
+ </sect3>
+
+ <sect3 id="term-pcs">
+ <title>PCs servant de terminaux</title>
+
+ <para>Si un <link linkend="term-dumb">terminal passif</link>
+ ne sait qu'afficher, envoyer et recevoir du texte, alors
+ n'importe quel ordinateur personnel inutilis&eacute; peut servir
+ de terminal passif. Il vous faudra uniquement le c&acirc;ble
+ adapt&eacute; et un programme d'<emphasis>&eacute;mulation de
+ terminal</emphasis> qui tourne sur cet ordinateur.</para>
+
+ <para>C'est un usage domestique courant. Si votre femme travaille
+ sur votre console syst&egrave;me FreeBSD, vous pouvez travailler en mode
+ texte en m&ecirc;me temps &agrave; partir d'une machine moins puissante
+ connect&eacute;e comme terminal &agrave; votre syst&egrave;me FreeBSD.</para>
+
+ </sect3>
+
+ <sect3 id="term-x">
+ <title>Terminaux X</title>
+
+ <para>Les terminaux X sont les terminaux les plus sophistiqu&eacute;s,
+ ils ne se connectent pas &agrave; un port s&eacute;rie, mais habituellement
+ &agrave; un r&eacute;seau du type Ethernet. Au lieu d'&ecirc;tre cantonn&eacute;s au mode
+ texte, ils peuvent afficher des applications X Window.</para>
+
+ <para>Les terminaux X ne sont cit&eacute;s ici que pour &ecirc;tre exhaustif.
+ Ce chapitre <emphasis>ne</emphasis> d&eacute;crit
+ <emphasis>pas</emphasis> comment installer, configurer et utiliser
+ des terminaux X.</para>
+
+ </sect3>
+ </sect2>
+
+ <sect2 id="term-cables-ports">
+ <title>C&acirc;bles et Ports</title>
+
+ <para>Pour relier un terminal &agrave; votre syst&egrave;me FreeBSD, il vous faut
+ le bon c&acirc;ble et un port s&eacute;rie auquel le connecter. Cette section
+ vous explique comment faire. Si vous savez d&eacute;j&agrave; comment brancher
+ votre terminal et quel type de c&acirc;ble il vous faut, passez &agrave; la
+ section <link linkend="term-config">Configuration</link>.</para>
+
+ <sect3 id="term-cables">
+ <title>C&acirc;bles</title>
+
+ <para>Comme les terminaux utilisent les ports s&eacute;rie, il vous faudra
+ un c&acirc;ble s&eacute;rie&nbsp;-&nbsp;appel&eacute; aussi RS-232C&nbsp;-&nbsp;pour relier le
+ terminal &agrave; votre syst&egrave;me FreeBSD.</para>
+
+ <para>Il y a deux sortes de c&acirc;bles s&eacute;rie. Celui que vous utiliserez
+ d&eacute;pendra du type de terminal que vous voulez connecter:</para>
+
+ <para>
+ <itemizedlist>
+
+ <listitem>
+ <para>Si vous connectez un ordinateur personnel pour servir
+ de terminal, utilisez un <link linkend="term-null">c&acirc;ble
+ &ldquo;null-modem&rdquo;</link>. Un c&acirc;ble
+ &ldquo;null-modem&rdquo; relie deux ordinateurs ou deux
+ terminaux entre eux.</para>
+ </listitem>
+
+ <listitem>
+ <para>Si vous avez un vrai terminal, la meilleure source
+ d'information pour savoir quel c&acirc;ble utiliser est la
+ documentation du terminal. Si vous n'avez pas de
+ documentation, essayez un <link linkend="term-null">c&acirc;ble
+ &ldquo;null-modem&rdquo;</link>. Si cela ne marche pas,
+ alors essayez avec un <link linkend="term-std">c&acirc;ble
+ standard</link>.</para>
+ </listitem>
+
+ </itemizedlist>
+ </para>
+
+ <para>Il faudra aussi que les ports s&eacute;rie de votre terminal
+ <emphasis>et</emphasis> de votre syst&egrave;me FreeBSD aient des
+ connecteurs compatibles avec le c&acirc;ble que vous utilisez.</para>
+
+ <sect4 id="term-null">
+ <title>C&acirc;bles &ldquo;Null-modem&rdquo;</title>
+
+ <para>Un c&acirc;ble &ldquo;null-modem&rdquo; transmet directement
+ certains signaux, le &ldquo;signal &agrave; la terre&rdquo;, par
+ exemple, mais en permute d'autres, les broches
+ &ldquo;&eacute;mission&rdquo; et &ldquo;r&eacute;ception&rdquo;
+ sont par exemple reli&eacute;es entre elles, d'une extr&eacute;mit&eacute; sur
+ l'autre.</para>
+
+ <para>Si vous r&eacute;alisez vous-m&ecirc;me vos propres c&acirc;bles, voici une
+ table qui d&eacute;crit la m&eacute;thode recommand&eacute;e pour fabriquer un c&acirc;ble
+ &ldquo;null-modem&rdquo; pour les terminaux. Cette table donne
+ les noms et les num&eacute;ros de broches des signaux RS-232C sur un
+ connecteur DB-25,</para>
+
+ <informaltable frame="none">
+ <tgroup cols="5">
+ <thead>
+ <row>
+ <entry>Signal</entry>
+ <entry>Broche #</entry>
+ <entry></entry>
+ <entry>Broche #</entry>
+ <entry>Signal</entry>
+ </row>
+ </thead>
+
+ <tbody>
+
+ <row>
+ <entry>TxD</entry>
+ <entry>2</entry>
+ <entry>reli&eacute;e &agrave;</entry>
+ <entry>3</entry>
+ <entry>RxD</entry>
+ </row>
+
+ <row>
+ <entry>RxD</entry>
+ <entry>3</entry>
+ <entry>reli&eacute;e &agrave;</entry>
+ <entry>2</entry>
+ <entry>TxD</entry>
+ </row>
+
+ <row>
+ <entry>DTR</entry>
+ <entry>20</entry>
+ <entry>reli&eacute;e &agrave;</entry>
+ <entry>6</entry>
+ <entry>DSR</entry>
+ </row>
+
+ <row>
+ <entry>DSR</entry>
+ <entry>6</entry>
+ <entry>reli&eacute;e &agrave;</entry>
+ <entry>20</entry>
+ <entry>DTR</entry>
+ </row>
+
+ <row>
+ <entry>SG</entry>
+ <entry>7</entry>
+ <entry>reli&eacute;e &agrave;</entry>
+ <entry>7</entry>
+ <entry>SG</entry>
+ </row>
+
+ <row>
+ <entry>DCD</entry>
+ <entry>8</entry>
+ <entry>reli&eacute;e &agrave;</entry>
+ <entry>4</entry>
+ <entry>RTS [a]</entry>
+ </row>
+
+ <row>
+ <entry>RTS</entry>
+ <entry>4</entry>
+ <entry></entry>
+ <entry>5</entry>
+ <entry>CTS</entry>
+ </row>
+
+ <row>
+ <entry>CTS</entry>
+ <entry>5</entry>
+ <entry>reli&eacute;e &agrave;</entry>
+ <entry>8</entry>
+ <entry>DCD</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ <para>Remarques :</para>
+ <itemizedlist>
+ <listitem>
+ <para>[a] reliez les broches 4 et 5 entre elles sur le
+ connecteur et &agrave; la broche 8 de l'autre extr&eacute;mit&eacute; (c&ocirc;t&eacute;
+ ordinateur).</para>
+ </listitem>
+ </itemizedlist>
+
+ </sect4>
+
+ <sect4 id="term-std">
+ <title>C&acirc;bles RS-232C standard</title>
+
+ <para>Un c&acirc;ble s&eacute;rie standard transmet directement les signaux
+ RS-232C. Ce qui signifie que la broche &ldquo;&eacute;mission&rdquo;
+ d'une extr&eacute;mit&eacute; est reli&eacute;e &agrave; la broche &ldquo;&eacute;mission&rdquo;
+ de l'autre. C'est le c&acirc;ble que l'on utilise pour connecter un
+ modem &agrave; un syst&egrave;me FreeBSD, et dont ont besoin certains
+ terminaux.</para>
+
+ </sect4>
+ </sect3>
+
+ <sect3 id="term-ports">
+ <title>Ports</title>
+
+ <para>Les ports s&eacute;rie sont les p&eacute;riph&eacute;riques gr&acirc;ce auxquels
+ l'information est &eacute;chang&eacute;e entre le terminal et l'ordinateur
+ FreeBSD h&ocirc;te. Cette section d&eacute;crit les diff&eacute;rents types de
+ ports s&eacute;rie existant et comment ils sont adress&eacute;s par
+ FreeBSD.</para>
+
+ <sect4 id="term-portkinds">
+ <title>Types de ports</title>
+
+ <para>Il y a diff&eacute;rents types de ports s&eacute;rie. Avant d'acheter ou
+ de monter un c&acirc;ble, vous devez v&eacute;rifier qu'il soit adapt&eacute; aux
+ ports de votre terminal et de votre machine FreeBSD.</para>
+
+ <para>La plupart des terminaux ont des ports DB25. Les ordinateurs
+ personnels, dont les PCs sous FreeBSD, ont des ports DB25 ou
+ DB9. Si vous avez une carte multi-ports s&eacute;rie sur votre PC,
+ vous pouvez avoir des ports RJ-12 ou RJ-45.</para>
+
+ <para>Consultez la documentation de votre mat&eacute;riel pour conna&icirc;tre
+ les sp&eacute;cifications des ports que vous allez utiliser. Un coup
+ d'oeil aux ports suffit souvent aussi.</para>
+
+ </sect4>
+
+ <sect4 id="term-portnames">
+ <title>Noms des ports</title>
+
+ <para>Avec FreeBSD, vous acc&eacute;dez &agrave; chacun des ports s&eacute;rie par
+ une entr&eacute;e dans le r&eacute;pertoire <filename>/dev</filename>. Il y
+ a deux sortes d'entr&eacute;es:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>Les ports d'appel entrant sont appel&eacute;s
+ <filename>/dev/ttyd<replaceable>X</replaceable></filename>
+ o&ugrave; <emphasis remap=it>X</emphasis> est le num&eacute;ro du port,
+ &agrave; partir de z&eacute;ro. Vous utilisez habituellement les ports
+ d'appel entrant pour les terminaux. Avec ces ports, la
+ ligne s&eacute;rie doit &eacute;mettre le signal &ldquo;Data Carrier
+ Detect&rdquo; (DCD)&nbsp;-&nbsp;d&eacute;tection de
+ porteuse&nbsp;-&nbsp;pour qu'ils fonctionnent.</para>
+ </listitem>
+
+ <listitem>
+ <para>Les ports d'appel sortant sont appel&eacute;s
+ <filename>/dev/cuaa<replaceable>X</replaceable></filename>.
+ Vous n'utilisez normalement pas les ports d'appel sortant
+ pour les terminaux, mais pour les modems. Vous pouvez les
+ utiliser avec un terminal, si le c&acirc;ble s&eacute;rie ou le terminal
+ ne supportent pas le signal de d&eacute;tection de
+ porteuse.</para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>Reportez-vous aux pages de manuel de
+ <citerefentry><refentrytitle>sio</refentrytitle><manvolnum>4</manvolnum></citerefentry>
+ pour plus d'informations.</para>
+
+ <para>Si vous connectez un terminal au premier port s&eacute;rie
+ (<devicename>COM1</devicename> en langage DOS), vous utiliserez
+ alors <filename>/dev/ttyd0</filename> pour faire r&eacute;f&eacute;rence au
+ terminal. S'il est sur le second port s&eacute;rie (aussi appel&eacute;
+ <devicename>COM2</devicename>), ce sera
+ <filename>/dev/ttyd1</filename>, et ainsi de suite.</para>
+
+ <para>Notez bien que vous devrez peut-&ecirc;tre configurer votre
+ noyau pour y inclure le support de chaque port s&eacute;rie, en
+ particulier si vous avez une carte s&eacute;rie multi-ports. Voyez
+ le chapitre <link linkend="kernelconfig">Configurer le noyau
+ de FreeBSD</link> pour plus d'informations.</para>
+
+ </sect4>
+ </sect3>
+ </sect2>
+
+ <sect2 id="term-config">
+ <title>Configuration</title>
+
+ <para>Cette section d&eacute;crit ce que vous devez faire pour configurer
+ votre syst&egrave;me FreeBSD pour pouvoir ouvrir une session depuis un
+ terminal. Elle suppose que vous avez d&eacute;j&agrave; configur&eacute; votre noyau
+ pour y inclure le support du port s&eacute;rie auquel votre terminal est
+ connect&eacute;&nbsp;-&nbsp;et que vous avez branch&eacute; ce dernier.</para>
+
+ <para>En un mot, vous devez demander au programme
+ <command>init</command>, qui contr&ocirc;le le lancement et l'ex&eacute;cution
+ des processus, de lancer un processus <command>getty</command>,
+ lequel se chargera de lire le nom d'utilisateur au d&eacute;but de la
+ session et lancera &agrave; son tour le programme
+ <command>login</command>.</para>
+
+ <para>Pour cela, vous devez &eacute;diter le fichier
+ <filename>/etc/ttys</filename>. Commencez par utiliser
+ <command>su</command> pour devenir super-utilisateur. Modifiez
+ ensuite de la fa&ccedil;on suivante <filename>/etc/ttys</filename>:</para>
+
+ <procedure>
+ <step>
+ <para>Ajoutez &agrave; <filename>/etc/ttys</filename> une ligne pour
+ l'entr&eacute;e du r&eacute;pertoire <filename>/dev</filename> correspondant
+ au port s&eacute;rie, si elle n'y est pas d&eacute;j&agrave;.</para>
+ </step>
+
+ <step>
+ <para>Pr&eacute;cisez qu'il faut ex&eacute;cuter
+ <filename>/usr/libexec/getty</filename> sur ce port et donnez
+ le type de &ldquo;<emphasis remap=tt>getty</emphasis>&rdquo;
+ appropri&eacute;, tel qu'il est d&eacute;fini dans le fichier
+ <filename>/etc/gettytab</filename>.</para>
+ </step>
+
+ <step>
+ <para>Donnez le type de terminal par d&eacute;faut.</para>
+ </step>
+
+ <step>
+ <para>Activez le port avec &ldquo;on&rdquo;.</para>
+ </step>
+
+ <step>
+ <para>Indiquez si le port doit &ecirc;tre
+ &ldquo;secure&rdquo;.</para>
+ </step>
+
+ <step>
+ <para>Faites relire le fichier <filename>/etc/ttys</filename>
+ par <command>init</command>.</para>
+ </step>
+ </procedure>
+
+ <para>En option, vous pouvez d&eacute;finir un type de
+ <emphasis remap=tt>getty</emphasis> sur-mesure pour l'&eacute;tape 2 en
+ ajoutant une entr&eacute;e au fichier <filename>/etc/gettytab</filename>.
+ Ce document ne vous explique pas comment le faire. Vous &ecirc;tes invit&eacute;s
+ &agrave; consulter les pages de manuel de
+ <citerefentry><refentrytitle>gettytab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ et <citerefentry><refentrytitle>getty</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ pour plus d'informations.</para>
+
+ <para>Les sections qui suivent d&eacute;taillent chacune de ces &eacute;tapes, Dans
+ l'exemple que nous prendrons pour cela, nous connecterons deux
+ terminaux &agrave; notre syst&egrave;me: un Wyse-50 et un vieil IBM PC 286 avec
+ un logiciel d'&eacute;mulation de terminal compatible VT-100. Nous
+ connecterons le terminal Wyse au second port s&eacute;rie et le 286 au
+ sixi&egrave;me port s&eacute;rie (sur une carte multi-ports).</para>
+
+ <para>Pour plus d'informations sur le fichier
+ <filename>/etc/ttys</filename>, lisez les pages de manuel de
+ <citerefentry><refentrytitle>ttys</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
+
+ <sect3 id="term-etcttys">
+ <title>Ajouter une entr&eacute;e &agrave; <filename>/etc/ttys</filename></title>
+
+ <para>Vous devez d'abord ajouter une entr&eacute;e au fichier
+ <filename>/etc/ttys</filename>, &agrave; moins qu'il n'y en ait d&eacute;j&agrave;
+ une.</para>
+
+ <para>Le fichier <filename>/etc/ttys</filename> liste tous les
+ ports de votre syst&egrave;me FreeBSD sur lesquels vous voulez autoriser
+ l'ouverture de session. Par exemple, la premi&egrave;re console virtuelle
+ <filename>ttyv0</filename> a une entr&eacute;e dans ce fichier. Vous
+ pouvez ouvrir une session &agrave; la console en utilisant cette entr&eacute;e.
+ Il y a des entr&eacute;es dans le fichier pour les consoles virtuelles,
+ les ports s&eacute;rie et les &ldquo;pseudo-tty&rdquo;s. Pour les
+ terminaux physiques, n'indiquez que l'entr&eacute;e
+ <filename>/dev</filename> du port s&eacute;rie, sans le
+ &ldquo;<filename>/dev/</filename>&rdquo;.</para>
+
+ <para>A l'installation de votre syst&egrave;me FreeBSD, le fichier
+ <filename>/etc/ttys</filename> contient les entr&eacute;es pour les
+ quatre premiers ports s&eacute;rie: de <filename>ttyd0</filename> &agrave;
+ <filename>ttyd3</filename>. Si vous connectez un terminal
+ &agrave; l'un de ces ports, vous n'avez pas d'entr&eacute;e &agrave; ajouter.</para>
+
+ <PARA>Dans notre exemple, le Wyse-50 va sur le second port s&eacute;rie,
+ <filename>ttyd1</filename>, qui est d&eacute;j&agrave; dans le fichier. Il nous
+ suffit d'ajouter une entr&eacute;e pour le PC 286 reli&eacute; au sixi&egrave;me port
+ s&eacute;rie. Voici un extrait du fichier <filename>/etc/ttys</filename>
+ apr&egrave;s que nous ayons ajout&eacute; cette nouvelle entr&eacute;e:</para>
+
+ <programlisting>
+ttyd1 "/usr/libexec/getty std.9600" unknown off secure
+ttyd5
+ </programlisting>
+
+ </sect3>
+
+ <sect3 id="term-getty">
+ <title>D&eacute;finir le type de
+ <emphasis remap=tt>getty</emphasis></title>
+
+ <para>Nous devons ensuite pr&eacute;ciser quel est le programme &agrave; ex&eacute;cuter
+ pour g&eacute;rer les ouvertures de session depuis le terminal. Le
+ programme standard de FreeBSD pour cela est
+ <filename>/usr/libexec/getty</filename>. C'est lui qui affiche
+ l'invite <prompt>login:</prompt>.</para>
+
+ <para>Le programme <command>getty</command> a un argument
+ (optionnel), le type de <replaceable>getty</replaceable>. Un
+ type de <replaceable>getty</replaceable> d&eacute;crit les
+ caract&eacute;ristiques de la ligne sur laquelle est le terminal, telle
+ sa vitesse en bps et le type de contr&ocirc;le de parit&eacute; utilis&eacute;.
+ le programme <command>getty</command> lit ces caract&eacute;ristiques
+ dans le fichier <filename>/etc/gettytab</filename>.</para>
+
+ <para>Le fichier <filename>/etc/gettytab</filename> contient un
+ grand nombre d'entr&eacute;es pour des terminaux anciens et d'autres
+ plus r&eacute;cents. Dans presque tous les cas, les entr&eacute;es qui
+ commencent par <literal>std</literal> fonctionneront avec les
+ terminaux physiques. Ces entr&eacute;es ignorent le contr&ocirc;le de parit&eacute;.
+ Il y a un entr&eacute;e <literal>std</literal> pour chaque vitesse en
+ bps de 110 &agrave; 115200. Vous pouvez bien entendu ajouter vos propres
+ entr&eacute;es &agrave; ce fichier.
+ Les pages de manuel de
+ <citerefentry><refentrytitle>gettytab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ vous donnent plus d'informations.</para>
+
+ <para>Quand vous d&eacute;finissez le type de
+ <replaceable>getty</replaceable> dans le fichier
+ <filename>/etc/ttys</filename>, v&eacute;rifiez que les param&egrave;tres
+ de communication du terminal soient les m&ecirc;mes.</para>
+
+ <para>Dans notre exemple, le Wyse-50 n'utilise pas de contr&ocirc;le de
+ parit&eacute; et se connecte &agrave; 38400 bps. Le PC n'utilise pas de
+ contr&ocirc;le de parit&eacute; et se connecte &agrave; 19200 bps. Voici le fichier
+ <filename>/etc/ttys</filename> avec les d&eacute;finitions
+ correspondantes (juste ce qui concerne les deux terminaux qui nous
+ int&eacute;ressent):</para>
+
+ <programlisting>
+ttyd1 "/usr/libexec/getty std.38400" unknown off secure
+ttyd5 "/usr/libexec/getty std.19200"
+ </programlisting>
+
+ <para>Remarquez que le second champ&nbsp;-&nbsp;celui qui indique quel
+ programme ex&eacute;cuter&nbsp;-&nbsp;est entre guillemets. C'est important,
+ parce que sans cela le type donn&eacute; en argument de
+ <command>getty</command> serait interpr&eacute;t&eacute; comme troisi&egrave;me
+ champ.</para>
+
+ </sect3>
+
+ <sect3 id="term-deftermtype">
+ <title>D&eacute;finir le type de terminal par d&eacute;faut</title>
+
+ <para>Le troisi&egrave;me champ du fichier <filename>/etc/ttys</filename>
+ donne le type de terminal par d&eacute;faut sur le port. Pour les ports
+ d'appel entrant, vous y mettez typiquement
+ &ldquo;<literal>unknown</literal>&rdquo;&nbsp;-&nbsp;inconnu&nbsp;-&nbsp;ou
+ <literal>dialup</literal>&nbsp;-&nbsp;appel&nbsp;-&nbsp;parce que les
+ utilisateurs peuvent s'y connecter avec n'importe quel type de
+ terminal ou de logiciel. Pour les terminaux physiques, le type
+ de terminal ne varie pas, vous pouvez donc indiquer un vrai type
+ de terminal dans ce champ.</para>
+
+ <para>Habituellement, les utilisateurs emploient le programme
+ <command>tset</command> depuis leur fichier
+ <filename>.login</filename> ou <filename>.profile</filename>
+ pour r&eacute;cup&eacute;rer le type de terminal et demander de le pr&eacute;ciser
+ si n&eacute;cessaire. En d&eacute;finissant le type de terminal dans le fichier
+ <filename>/etc/ttys</filename>, vous leur &eacute;vitez qu'on leur pose
+ cette question.</para>
+
+ <para>Pour savoir quels types de terminaux sont reconnus par
+ FreeBSD, consultez le fichier
+ <filename>/usr/share/misc/termcap</filename>. Il liste environ
+ 600 terminaux. Vous pouvez en ajouter si vous le d&eacute;sirez. Voyez
+ les pages de manuel de
+ <citerefentry><refentrytitle>termcap</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ pour plus d'informations.</para>
+
+ <para>Dans notre exemple, le Wyse-50 est un terminal de type
+ Wyse-50 (bien qu'il puisse &eacute;muler d'autres types de terminaux,
+ nous le laisseront en mode Wyse-50). Le PC 286 PC utilise
+ Procomm qui sera configur&eacute; pour &eacute;muler une VT-100. Voici les
+ entr&eacute;es ad&eacute;quates, quoiqu'encore incompl&egrave;tes du fichier
+ <filename>/etc/ttys</filename>:</para>
+
+ <programlisting>
+ttyd1 "/usr/libexec/getty std.38400" wy50 off secure
+ttyd5 "/usr/libexec/getty std.19200" vt100
+ </programlisting>
+
+ </sect3>
+
+ <sect3 id="term-enable">
+ <title>Activer le port</title>
+
+ <para>Le champ suivant de <filename>/etc/ttys</filename>, le
+ quatri&egrave;me, indique s'il faut activer le port. Si vous y mettez
+ <literal>on</literal>, alors le processus <command>init</command>
+ d&eacute;marrera le programme mentionn&eacute; par le second champ,
+ <command>getty</command>, qui affichera l'invite de session.
+ Si vous y mettez <literal>off</literal>, il n'y aura pas de
+ <command>getty</command>, et donc pas d'ouverture de session
+ sur le port.</para>
+
+ <para>Vous devez donc bien s&ucirc;r pr&eacute;ciser <literal>on</literal>
+ dans ce champ. Voici de nouveau le fichier
+ <filename>/etc/ttys</filename>. Nous avons activ&eacute; les deux
+ ports avec <literal>on</literal>:</para>
+
+ <programlisting>
+ttyd1 "/usr/libexec/getty std.38400" wy50 on secure
+ttyd5 "/usr/libexec/getty std.19200" vt100 on
+ </programlisting>
+
+ </sect3>
+
+ <sect3 id="term-secure">
+ <title>D&eacute;finir les ports s&eacute;curis&eacute;s</title>
+
+ <para>Nous voici arriv&eacute; au dernier champ (enfin, presque: il y a
+ un indicateur <literal>window</literal> optionnel, mais nous ne
+ nous en pr&eacute;ocupperons pas). Le dernier champ indique si le port
+ est s&eacute;curis&eacute;.</para>
+
+ <para>Que veut dire &ldquo;s&eacute;curis&eacute;&rdquo;?</para>
+
+ <para>Cela veut dire que le compte super-utilisateur (ou tout compte
+ avec un IDentifiant utilisateur de 0) peut ouvrir une session sur
+ ce port. Les ports non-s&eacute;curis&eacute;s n'autorisent pas l'ouverture de
+ session super-utilisateur.</para>
+
+ <para>Comment utiliser les ports s&eacute;curis&eacute;s et non s&eacute;curis&eacute;s?</para>
+
+ <para>Lorsqu'un port est non s&eacute;curis&eacute;, le terminal qui y est
+ connect&eacute; n'autorise pas l'ouverture de session super-utilisateur.
+ Les gens qui connaissent le mot de passe super-utilisateur de
+ votre syst&egrave;me FreeBSD devront d'abord se connecter sous un compte
+ utilisateur ordinaire. Ils devront ensuite utiliser la commande
+ <command>su</command> pour avoir les droits du
+ super-utilisateur.</para>
+
+ <para>Gr&acirc;ce &agrave; cela, vous aurez deux enregistrements pour pouvoir
+ rep&eacute;rer les acc&egrave;s super-utilisateur ill&eacute;gitimes: les deux
+ commandes <command>login</command> et <command>su</command>
+ rapportent leur emploi dans le fichier de trace syst&egrave;me
+ (les ouvertures de sessions sont aussi enregistr&eacute;es dans le
+ fichier <filename>wtmp</filename>).</para>
+
+ <para>Lorsque le port est s&eacute;curis&eacute;, l'ouverture de session
+ super-utilisateur est autoris&eacute;e depuis le terminal. Les gens
+ qui connaissent le mot de passe super-utilisateur peuvent
+ directement se connecter en tant que tel.
+ Vous n'avez plus les traces potentiellement utiles de
+ l'ouverture de session et de l'utilisation de
+ <command>su</command>.</para>
+
+ <para>Que devez-vous utiliser?</para>
+
+ <para>Utilisez &ldquo;non s&eacute;curis&eacute;&rdquo;. Utilisez
+ &ldquo;non s&eacute;curis&eacute;&rdquo; <emphasis>m&ecirc;me</emphasis> pour les
+ terminaux qui ne sont <emphasis>pas</emphasis> accessibles &agrave; tout
+ le monde ou sont dans des locaux ferm&eacute;s &agrave; cl&eacute;. Il est facile
+ d'ouvrir une session et d'utiliser <command>su</command> quand
+ vous avez besoin des droits du super-utilisateur.</para>
+
+ <para>Voici finalement les entr&eacute;es compl&egrave;tes du fichier
+ <filename>/etc/ttys</filename> accompagn&eacute;es d'un commentaire
+ qui indique o&ugrave; se trouvent les terminaux:</para>
+
+ <programlisting>
+ttyd1 "/usr/libexec/getty std.38400" wy50 on insecure # Cuisine
+ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure # Salle de bains
+ </programlisting>
+
+ </sect3>
+
+ <sect3 id="term-hup">
+ <title>Obliger <command>init</command> &agrave; relire le fichier
+ <filename>/etc/ttys</filename></title>
+
+ <para>Quand vous d&eacute;marrez FreeBSD, le premier processus,
+ <command>init</command>, lit le fichier
+ <filename>/etc/ttys</filename> et d&eacute;marre les programmes
+ list&eacute;s pour chacun des ports activ&eacute;s, pour afficher
+ l'invite de session.</para>
+
+ <para>Apr&egrave;s avoir modifi&eacute; <filename>/etc/ttys</filename>, vous
+ aimeriez ne pas avoir &agrave; red&eacute;marrer le syst&egrave;me pour
+ qu'<command>init</command> voit vos modifications. C'est pourquoi
+ <command>init</command> relit <filename>/etc/ttys</filename>
+ lorsqu'il re&ccedil;oit un signal SIGHUP (&ldquo;hang up&rdquo;&nbsp;-&nbsp;raccrocher).</para>
+
+ <para>Donc, apr&egrave;s avoir sauvegard&eacute; vos modifications au fichier
+ <filename>/etc/ttys</filename>, envoyez un
+ <literal>SIGHUP</literal> &agrave; <command>init</command> en tapant:
+ <informalexample>
+ <screen>&prompt.root; <userinput>kill -HUP 1</userinput></screen>
+ </informalexample> (Le processus <command>init</command>
+ a <emphasis>toujours</emphasis> l'IDentifiant de
+ processus 1.)</para>
+
+ <para>Si la configuration est correcte, les c&acirc;bles en place, les
+ terminaux sous tension, vous devriez voir les invites de session.
+ Vos terminaux sont pr&ecirc;ts &agrave; &ecirc;tre utilis&eacute;s pour la premi&egrave;re
+ fois!</para>
+
+ </sect3>
+ </sect2>
+
+ <sect2
+ id="term-debug">
+ <title>R&eacute;gler les probl&egrave;mes li&eacute;s &agrave; votre connection</title>
+
+ <para>M&ecirc;me en ayant port&eacute; la plus m&eacute;ticuleuse attention aux d&eacute;tails,
+ il peut toujours y avoir quelque chose qui ne va pas lorsque vous
+ installez un terminal. Voici une liste de sympt&ocirc;mes et de
+ suggestions de solutions.</para>
+
+ <variablelist>
+ <varlistentry><term>L'invite de session n'appara&icirc;t pas.</term>
+ <listitem>
+ <para>V&eacute;rifiez que le terminal est branch&eacute; et sous tension. Si
+ c'est un ordinateur personnel utilis&eacute; comme terminal,
+ v&eacute;rifiez qu'il utilise bien le logiciel d'&eacute;mulation de
+ terminal sur le bon port.</para>
+
+ <para>Assurez-vous que le c&acirc;ble est solidement raccord&eacute; sur le
+ terminal et sur la machine FreeBSD. V&eacute;rifiez que c'est le
+ bon type de c&acirc;ble.</para>
+
+ <para>Contr&ocirc;lez que le terminal et FreeBSD utilisent la m&ecirc;me
+ vitesse en bps et le m&ecirc;me contr&ocirc;le de parit&eacute;. Si c'est un
+ terminal vid&eacute;o, v&eacute;rifiez que les contr&ocirc;les de luminosit&eacute; et
+ de contraste ne soient pas au minimum. Si c'est un terminal
+ papier, v&eacute;rifiez qu'il y ait du papier et de l'encre.</para>
+
+ <para>V&eacute;rifiez qu'il y ait bien un processus
+ <command>getty</command> qui s'ex&eacute;cute pour ce terminal.
+ Tapez:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>ps -axww|grep getty</userinput></screen>
+ </informalexample>
+ <para>pour avoir la liste des processus
+ <command>getty</command> actifs. Vous devriez voir une
+ entr&eacute;e pour le terminal. Par exemple, la ligne
+ suivante:</para>
+
+ <informalexample>
+ <screen>22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyd1</screen>
+ </informalexample>
+ <para>montre qu'il y a un <command>getty</command> qui
+ s'ex&eacute;cute sur le port s&eacute;rie <literal>ttyd1</literal> et
+ utilise l'entr&eacute;e <literal>std.38400</literal> de
+ <filename>/etc/gettytab</filename>.</para>
+
+ <para>S'il n'y a pas de processus <command>getty</command>
+ actif, assurez-vous que vous avez activ&eacute; le port dans
+ <filename>/etc/ttys</filename>. Avez-vous aussi bien
+ ex&eacute;cut&eacute; <command>kill -HUP 1</command>?</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Il y a n'importe quoi &agrave; la place de l'invite
+ de session.</term>
+
+ <listitem>
+ <para>V&eacute;rifiez que le terminal et FreeBSD d&eacute;finissent la
+ m&ecirc;me vitesse et le m&ecirc;me contr&ocirc;le de parit&eacute;. Assurez-vous
+ que le processus <command>getty</command> utilise le bon
+ type de <replaceable>getty</replaceable>. Dans le cas
+ contraire, corrigez
+ <filename>/etc/ttys</filename> et ex&eacute;cutez
+ <command>kill -HUP 1</command>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>Les caract&egrave;res sont redoubl&eacute;s; le mot de passe
+ s'affiche quand on le tape.</term>
+
+ <listitem>
+ <para>Passez le terminal (ou le logiciel d'&eacute;mulation de
+ terminal) du mode &ldquo;half duplex&rdquo; ou &ldquo;echo
+ local&rdquo; en mode &ldquo;full
+ duplex&rdquo;.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="dialup">
+ <title>Connexions t&eacute;l&eacute;phoniques</title>
+
+ <para><emphasis>Contribution de &a.ghelmer;.</emphasis></para>
+
+ <para>Ce document donne des indications sur la configuration d'un
+ syst&egrave;me FreeBSD pour qu'il accepte des connexions entrantes par
+ modem. Ce document est bas&eacute; sur l'exp&eacute;rience de son auteur avec
+ les versions 1.0, 1.1 et 1.1.5.1 de FreeBSD (et l'exp&eacute;rience de
+ configuration de modems sur d'autres syst&egrave;mes d'exploitation de
+ type Unix); il se peut cependant qu'il ne r&eacute;ponde pas &agrave; toutes
+ vos questions et ne vous donne pas d'exemple suffisamment
+ adapt&eacute; &agrave; votre environnement. L'auteur ne saurait &ecirc;tre tenu
+ responsable des d&eacute;gats que vous causeriez &agrave; vos syst&egrave;mes ou
+ des donn&eacute;es que vous perdriez en essayant de suivre les suggestions
+ qui vous sont donn&eacute;es ici.</para>
+
+ <sect2 id="dialup-prereqs">
+ <title>Pr&eacute;requis</title>
+
+ <para>Pour commencer, l'auteur suppose que vous connaissez d&eacute;j&agrave;
+ FreeBSD. Il vous faudra un syst&egrave;me FreeBSD install&eacute;. Vous devez
+ savoir &eacute;diter des fichiers dans un environnement Unix et lire
+ les pages de manuel. Comme pr&eacute;cis&eacute; plus bas, il vous faudra des
+ versions pr&eacute;cises de FreeBSD, un minimum de vocabulaire et
+ conna&icirc;tre les modems et le c&acirc;blage.</para>
+
+ <sect3>
+ <title>Version de FreeBSD</title>
+
+ <para>On suppose tout d'abord que vous utilisez la version 1.1 de
+ FreeBSD ou une version ult&eacute;rieure (y compris les versions 2.x).
+ La version 1.0 de FreeBSD comportait deux pilotes de p&eacute;riph&eacute;rique
+ s&eacute;rie diff&eacute;rents, ce qui complique la situation. Le pilote de
+ p&eacute;riph&eacute;rique s&eacute;rie (<devicename>sio</devicename>) a aussi &eacute;t&eacute;
+ largement am&eacute;lior&eacute; avec chaque version successive de FreeBSD,
+ les versions plus r&eacute;centes de FreeBSD ont donc en principe des
+ pilotes meilleurs et plus efficaces que les versions plus
+ anciennes.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>Terminologie</title>
+
+ <para>Une revue rapide de la terminologie:</para>
+
+ <variablelist>
+ <varlistentry><term>bps</term>
+ <listitem>
+ <para>Bits par seconde&nbsp;-&nbsp;la vitesse &agrave; laquelle les
+ informations sont transmises.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>DTE</term>
+
+ <listitem>
+ <para>Data Terminal Equipment&nbsp;-&nbsp;dispositif de traitement
+ de donn&eacute;es&nbsp;-&nbsp;Par exemple, votre ordinateur.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>DCE</term>
+
+ <listitem>
+ <para>Data Communications Equipment&nbsp;-&nbsp;dispositif de
+ communication&nbsp;-&nbsp;votre modem.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>RS-232</term>
+
+ <listitem>
+ <para>Standard EIA pour les communications s&eacute;rie
+ physiques.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>S'il vous faut plus d'informations sur ces termes et sur les
+ transmissions de donn&eacute;es en g&eacute;n&eacute;ral, l'auteur se rappelle avoir
+ lu que la <emphasis>Bible RS-232</emphasis> (quelqu'un conna&icirc;t
+ l'ISBN?) est une bonne r&eacute;f&eacute;rence.</para>
+
+ <para>Pour parler de la vitesse de transmission des informations,
+ l'auteur n'utilise pas le terme &ldquo;baud&rdquo;. Baud d&eacute;signe
+ le nombre de transitions d'&eacute;tat &eacute;lectrique qui peuvent se
+ produire sur une p&eacute;riode de temps donn&eacute;e, alors que
+ &ldquo;bps&rdquo; (bits par seconde) est le terme
+ &ldquo;correct&rdquo; &agrave; employer (au moins, il ne d&eacute;range pas
+ autant les adeptes de la quadri-section capillaire).</para>
+
+ </sect3>
+
+ <sect3>
+ <title>Modems externes vs. modems internes</title>
+
+ <para>Les modems externes semblent plus adapt&eacute;s aux communications
+ &agrave; la demande, parce qu'ils peuvent &ecirc;tre configur&eacute;s de fa&ccedil;on
+ quasi-permanente gr&acirc;ce &agrave; leurs param&egrave;tres enregistr&eacute;s en m&eacute;moire
+ non volatile et disposent habituellement de voyants lumineux
+ qui affichent les signaux RS-232 les plus importants. Les lumi&egrave;res
+ impressionnent les visiteurs, mais elles sont aussi tr&egrave;s utiles
+ pour savoir si les modems fonctionnent correctement.</para>
+
+ <para>Les modems internes ne disposent pas g&eacute;n&eacute;ralement de m&eacute;moire
+ non volatile, leur configuration peut se limiter au positionnement
+ de cavaliers. Quand ils disposent de voyants, ils sont
+ la plupart du temps difficilement visibles quand le boitier est
+ referm&eacute;.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>Modems et C&acirc;bles</title>
+
+ <para>On suppose que vous avez un minumum de notions sur le
+ sujet:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>Vous savez connecter votre modem &agrave; votre ordinateur
+ de fa&ccedil;on &agrave; ce qu'ils puissent communiquer (&agrave; moins que vous
+ n'ayez un modem interne qui n'a pas besoin de c&acirc;ble).</para>
+ </listitem>
+
+ <listitem>
+ <para>Vous ma&icirc;trisez le jeu de commandes de votre modem, ou
+ savez o&ugrave; trouver les commandes dont vous avez besoin.</para>
+ </listitem>
+
+ <listitem>
+ <para>Vous savez configurer votre modem (a priori avec un
+ programme de communication pour terminal) de facon &agrave; d&eacute;finir
+ ses param&egrave;tres en m&eacute;moire non volatile.</para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>La premi&egrave;re &eacute;tape, connecter le modem, est g&eacute;n&eacute;ralement
+ simple&nbsp;-&nbsp;la plupart des c&acirc;bles s&eacute;ries standard fonctionneront
+ sans probl&egrave;me. Vous aurez besoin du c&acirc;ble avec les bons
+ connecteurs (DB-25 ou DB-9, et m&acirc;le ou femelle) &agrave; chaque
+ extr&eacute;mit&eacute;, et il vous faudra un c&acirc;ble DCE-&agrave;-DTE avec le
+ brochage suivant:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>Donn&eacute;e &eacute;mise (&ldquo;Send Data&rdquo;,
+ <abbrev>SD</abbrev>),</para>
+ </listitem>
+
+ <listitem>
+ <para>Donn&eacute;e re&ccedil;ue (&ldquo;Received Data&rdquo;,
+ <abbrev>RD</abbrev>),</para>
+ </listitem>
+
+ <listitem>
+ <para>Demande d'&eacute;mission (&ldquo;Ready To Send&rdquo;,
+ <abbrev>RTS</abbrev>),</para>
+ </listitem>
+
+ <listitem>
+ <para>Pr&ecirc;t &agrave; &eacute;mettre (&ldquo;Clear To Send&rdquo;,
+ <abbrev>CTS</abbrev>),</para>
+ </listitem>
+
+ <listitem>
+ <para>Donn&eacute;es pr&ecirc;tes (&ldquo;Data Set Ready&rdquo;,
+ <abbrev>DSR</abbrev>),</para>
+ </listitem>
+
+ <listitem>
+ <para>Disponible (&ldquo;Data Terminal Ready&rdquo;,
+ <abbrev>DTR</abbrev>),</para>
+ </listitem>
+
+ <listitem>
+ <para>D&eacute;tection de porteuse(&ldquo;Carrier Detect&rdquo;,
+ <abbrev>CD</abbrev>),</para>
+ </listitem>
+
+ <listitem>
+ <para>Terre (&ldquo;Signal Ground&rdquo;,
+ <abbrev>SG</abbrev>).</para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>FreeBSD a besoin des signaux <abbrev>RTS</abbrev> et
+ <abbrev>CTS</abbrev> pour le contr&ocirc;le de flux mat&eacute;riel aux
+ vitesses sup&eacute;rieures &agrave; 2400bps, du signal <abbrev>CD</abbrev>
+ pour savoir quand la ligne d&eacute;croche et quand elle raccroche et
+ du signal <abbrev>DTR</abbrev> pour r&eacute;initialiser le modem en
+ fin de session. Certains c&acirc;bles ne transmettent pas tous les
+ signaux, donc, si vous avez des probl&egrave;mes, comme par exemple,
+ si la session reste ouverte alors que la ligne a raccroch&eacute;,
+ cela peut &ecirc;tre un probl&egrave;me de c&acirc;ble.</para>
+
+ <para>Le deuxi&egrave;me pr&eacute;requis d&eacute;pend du type de modem(s) que vous
+ utilisez. Si vous ne connaissez pas les commandes de votre
+ modem par coeur, gardez le guide de r&eacute;f&eacute;rence ou le manuel
+ utilisateur de votre modem &agrave; port&eacute;e de main. Des exemples
+ de commandes seront donn&eacute;s pour les modems externes
+ USR Sportster 14.400, qui peuvent vous servir de r&eacute;f&eacute;rence pour
+ les commandes de votre propre modem.</para>
+
+ <para>Enfin, vous devez savoir comment configurer votre modem pour
+ qu'il marche correctement avec FreeBSD. Comme les autres syst&egrave;mes
+ d'exploitation de type Unix, FreeBSD utilise les signaux mat&eacute;riels
+ pour savoir quand la ligne a d&eacute;croch&eacute; ou raccroch&eacute; et pour
+ r&eacute;initialiser le modem quand la communication est termin&eacute;e.
+ FreeBSD vous &eacute;vite d'avoir &agrave; envoyer des commandes au modem ou
+ &agrave; v&eacute;rifier ses informations d'&eacute;tat. Si vous avez l'habitude de
+ connecter des modems &agrave; de syst&egrave;mes de discussions
+ (&ldquo;BBS&rdquo;) sur PC, cela vous semblera
+ peut-&ecirc;tre g&ecirc;nant.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>A propos de l'interface s&eacute;rie</title>
+
+ <para>FreeBSD supporte les interfaces de communication construites
+ autour des NS8250, NS16450, NS16550, et NS16550A EIA RS-232C
+ (CCITT V.24). Les p&eacute;riph&eacute;riques 8250 et 16450 ont des tampon d'un
+ caract&egrave;re. Le 16550 a un tampon de 16 caract&egrave;res, qui offre de
+ meilleures performances. (Un bogue dans la version 16650 emp&ecirc;che
+ de se servir du tampon de 16 caract&egrave;res, utilisez donc si possible
+ le mod&egrave;le 16650A). Parce qu'un tampon d'un seul caract&egrave;re demande
+ plus de traitement au syst&egrave;me d'exploitation qu'un tampon de 16
+ caract&egrave;res, les cartes &agrave; base de 16650A sont recommand&eacute;es. Si le
+ syst&egrave;me a de nombreux ports s&eacute;rie actifs ou si la charge doit &ecirc;tre
+ importante, les cartes 16650A sont pr&eacute;f&eacute;rables pour avoir un taux
+ d'erreur de communication plus faible.</para>
+
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>R&eacute;sum&eacute;</title>
+
+ <para>Voici comment FreeBSD accepte des communications t&eacute;l&eacute;phoniques
+ entrantes. Un processus <command>getty</command>, lanc&eacute; par
+ <command>init</command>, attend patiemment le moment d'ouvrir le
+ port s&eacute;rie qui lui est assign&eacute; (<filename>/dev/ttyd0</filename>,
+ dans notre exemple). On peut le voir avec la commande
+ <command>ps ax</command>:</para>
+
+ <informalexample>
+ <screen> 4850 ?? I 0:00.09 /usr/libexec/getty V19200 ttyd0</screen>
+ </informalexample>
+
+ <para>Quand un utilisateur appelle, la connexion s'&eacute;tablit avec le
+ modem. Le modem active le signal <abbrev>CD</abbrev>. Le noyau
+ s'aper&ccedil;oit qu'une porteuse a &eacute;t&eacute; d&eacute;tect&eacute;e et ouvre le port via
+ <command>getty</command>. <command>getty</command> envoie l'invite
+ <prompt>login:</prompt> &agrave; la vitesse initialement d&eacute;finie pour cette
+ ligne. <command>getty</command> attend de recevoir des caract&egrave;res
+ valides, et si, dans un configuration habituelle, il re&ccedil;oit
+ n'importe quoi (probablement parce que la vitesse du modem et celle
+ de <command>getty</command> ne sont pas identiques),
+ <command>getty</command> essaie d'ajuster la vitesse jusqu'&agrave; ce
+ qu'il re&ccedil;oive des caract&egrave;res qui paraissent sens&eacute;s.</para>
+
+ <para>Souhaitons que <command>getty</command> trouve la bonne vitesse
+ et que l'utilisateur obtienne l'invite <prompt>login:</prompt>.
+ Une fois que l'utilisateur a r&eacute;pondu par son nom,
+ <command>getty</command> ex&eacute;cute
+ <filename>/usr/bin/login</filename>, qui termine l'ouverture de la
+ session en demandant &agrave; l'utilisateur son mot de passe et en lan&ccedil;ant
+ l'interpr&eacute;teur de commandes affect&eacute; &agrave; cet utilisateur.</para>
+
+ <para>Passons donc &agrave; la configuration...</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Configuration du noyau</title>
+
+ <para>Les noyaux de FreeBSD sont habituellement livr&eacute;s pr&ecirc;ts &agrave;
+ tester la pr&eacute;sence de quatre ports s&eacute;rie, connus dans le monde
+ PC-DOS sous les noms de <devicename>COM1:</devicename>,
+ <devicename>COM2:</devicename>, <devicename>COM3:</devicename>,
+ et <devicename>COM4:</devicename>. FreeBSD peut aussi g&eacute;rer les
+ cartes s&eacute;rie multi-ports &ldquo;passives&rdquo;, comme les cartes
+ Boca 1008 et 2016 (reportez-vous s'il vous pla&icirc;t aux pages de manuel
+ de <citerefentry><refentrytitle>sio</refentrytitle><manvolnum>4</manvolnum></citerefentry>
+ pour avoir des informations sur la configuration du noyau si vous
+ avez une carte s&eacute;rie multi-ports). Le noyau par d&eacute;faut ne recherche,
+ quant &agrave; lui, que les ports COM standards.</para>
+
+ <para>Pour v&eacute;rifier si votre noyau reconna&icirc;t vos ports s&eacute;rie,
+ regardez les messages au d&eacute;marrage de votre syst&egrave;me, ou employez
+ la commande <command>/sbin/dmesg</command> pour les lister ensuite.
+ Cherchez en particulier les messages qui commencent par
+ <literal>sio</literal>. Tuyau: pour ne voir que les messages qui
+ comportent le mot <literal>sio</literal>, utilisez la
+ commande:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>/sbin/dmesg | grep 'sio'</userinput></screen>
+ </informalexample>
+
+ <para>Par exemple, sur un syst&egrave;me avec quatre ports s&eacute;rie, voici les
+ messages de d&eacute;marrage du noyau qui concernent les ports
+ s&eacute;rie:</para>
+
+ <informalexample>
+ <screen>sio0 at 0x3f8-0x3ff irq 4 on isa
+sio0: type 16550A
+sio1 at 0x2f8-0x2ff irq 3 on isa
+sio1: type 16550A
+sio2 at 0x3e8-0x3ef irq 5 on isa
+sio2: type 16550A
+sio3 at 0x2e8-0x2ef irq 9 on isa
+sio3: type 16550A</screen>
+ </informalexample>
+
+ <para>Si votre noyau ne reconnait pas tous vos ports s&eacute;rie, vous
+ devrez probablement recompiler un noyau sur mesure pour votre
+ syst&egrave;me.</para>
+
+ <para>Lisez le chapitre du Manuel de l'Administrateur Syst&egrave;me BSD sur
+ &ldquo;G&eacute;n&eacute;rer les noyaux Berkeley avec Config&rdquo; [que vous
+ trouverez dans le r&eacute;pertoire
+ <filename>/usr/src/share/doc/smm</filename>] et les &ldquo;Options
+ de Configuration de FreeBSD&rdquo; [dans
+ <filename>/sys/conf/options</filename> et dans
+ <filename>/sys/<replaceable>arch</replaceable>/conf/options.<replaceable>arch</replaceable></filename>,
+ ou <emphasis>arch</emphasis> vaut par exemple
+ <filename>i386</filename>] pour plus d'informations sur la
+ configuration et la recompilation des noyaux. Vous devrez peut-&ecirc;tre
+ installer les sources du noyau, si vous ne l'avez pas d&eacute;j&agrave; fait,
+ (<filename>srcdist/srcsys.??</filename> pour FreeBSD 1.1,
+ <filename>srcdist/sys.??</filename> pour FreeBSD 1.1.5.1,
+ ou les sources de toute la distribution pour FreeBSD 2.0) pour
+ pouvoir configurer et recompiler des noyaux.</para>
+
+ <para>Cr&eacute;ez un fichier de configuration du noyau pour votre syst&egrave;me
+ (si vous ne l'avez pas d&eacute;j&agrave; fait) en allant dans le r&eacute;pertoire
+ <filename>/sys/i386/conf</filename>. Puis si, vous cr&eacute;ez un nouveau
+ fichier de configuration, copiez le fichier
+ <filename>GENERICAH</filename> (ou <filename>GENERICBT</filename>,
+ si vous avez un contr&ocirc;leur SCSI BusTek avec FreeBSD 1.x) dans
+ <filename>VOTRESYS</filename>, o&ugrave; <filename>VOTRESYS</filename>
+ est le nom de votre syst&egrave;me, en majuscules. Editez le fichier, et
+ modifiez les lignes:</para>
+
+ <programlisting>
+device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr
+device sio1 at isa? port "IO_COM2" tty irq 3 vector siointr
+device sio2 at isa? port "IO_COM3" tty irq 5 vector siointr
+device sio3 at isa? port "IO_COM4" tty irq 9 vector siointr
+ </programlisting>
+
+ <para>Vous pouvez commenter ou supprimer les lignes pour les
+ p&eacute;riph&eacute;riques que vous n'avez pas. Si vous avez une carte
+ s&eacute;rie multi-ports, comme la carte Boca BB2016, reportez-vous
+ s'il vous pla&icirc;t aux pages de manuel de
+ <citerefentry><refentrytitle>sio</refentrytitle><manvolnum>4</manvolnum></citerefentry>
+ pour avoir des informations compl&egrave;tes sur les lignes de
+ configuration pour les cartes s&eacute;rie multi-ports. Faites attention
+ si vous partez d'un fichier de configuration utilis&eacute; pour une
+ version ant&eacute;rieure de FreeBSD, parce que les indicateurs associ&eacute;s
+ au p&eacute;riph&eacute;rique peuvent avoir chang&eacute; d'une version &agrave; l'autre.</para>
+
+ <note>
+ <para><literal>port "IO_COM1"</literal> est l'&eacute;quivalent de
+ <literal>port 0x3f8</literal>,
+ <symbol>IO_COM2</symbol> de <literal>0x2f8</literal>,
+ <symbol>IO_COM3</symbol> de <literal>0x3e8</literal> et
+ <symbol>IO_COM4</symbol> de <literal>0x2e8</literal>, qui sont
+ les adresses respectives les plus courantes de ces ports s&eacute;rie;
+ les interruptions 4, 3, 5, et 9 sont les lignes d'interruption
+ utilis&eacute;es habituellement. Notez aussi que les ports s&eacute;rie
+ ordinaires <emphasis>ne peuvent pas</emphasis> partager
+ d'interruption sur le bus ISA (les cartes multi-ports int&egrave;grent
+ l'&eacute;lectronique n&eacute;cessaire pour permettre au 16550A de la carte de
+ partager une ou deux lignes d'interruption).</para>
+ </note>
+
+ <para>Quand vous avez termin&eacute; de corriger votre fichier de
+ configuration du noyau, utilisez le programme
+ <command>config</command> en suivant la documentation fournie par
+ &ldquo;G&eacute;n&eacute;rer les noyaux Berkeley avec Config&rdquo; et les pages
+ de manuel de
+ <citerefentry><refentrytitle>config</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ pour cr&eacute;er le r&eacute;pertoire de compilation du noyau, puis compilez,
+ intallez et testez votre nouveau noyau.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Fichiers sp&eacute;ciaux de p&eacute;riph&eacute;rique</title>
+
+ <para>La plupart des p&eacute;riph&eacute;riques g&eacute;r&eacute;s par le noyau sont adress&eacute;s
+ par l'interm&eacute;diaire de &ldquo;fichiers sp&eacute;ciaux de
+ p&eacute;riph&eacute;rique&rdquo;, qui se trouvent dans le r&eacute;pertoire
+ <filename>/dev</filename>. Les p&eacute;riph&eacute;riques
+ <devicename>sio</devicename> sont adress&eacute;s via
+ <filename>/dev/ttyd<replaceable>?</replaceable></filename> (liaisons
+ entrantes) et
+ <filename>/dev/cua0<replaceable>?</replaceable></filename> (liaisons
+ sortantes). Avec les versions 1.1.5 et ult&eacute;rieures de FreeBSD,
+ il y a aussi des fichiers sp&eacute;ciaux d'initialisation
+ (<filename>/dev/ttyid<replaceable>?</replaceable></filename> et
+ <filename>/dev/cuai0<replaceable>?</replaceable></filename>) et
+ des fichiers sp&eacute;ciaux de verrouillage
+ (<filename>/dev/ttyld<replaceable>?</replaceable></filename> et
+ <filename>/dev/cual0<replaceable>?</replaceable></filename>). Les
+ fichiers d'initialisation sont utilis&eacute;s pour initialiser les
+ param&egrave;tres de communication du port chaque fois qu'il est ouvert,
+ comme <literal remap="tt">crtscts</literal> pour les modems qui
+ emploient les signaux <literal>CTS/RTS</literal> pour le contr&ocirc;le
+ de flux. Les fichiers de verrouillage sont utilis&eacute;s pour
+ verrouiller des indicateurs sur les ports pour emp&ecirc;cher les
+ utilisateurs ou les programmes de modifier certains param&egrave;tres; voyez
+ les pages de manuel de
+ <citerefentry><refentrytitle>termios</refentrytitle><manvolnum>4</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sio</refentrytitle><manvolnum>4</manvolnum></citerefentry> et
+ <citerefentry><refentrytitle>stty</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ pour plus d'informations sur le param&eacute;trage des terminaux, le
+ verrouillage et l'initialisation des p&eacute;riph&eacute;riques et la d&eacute;finition
+ des options pour les terminaux, respectivement.</para>
+
+ <sect3>
+ <title>Cr&eacute;er les fichiers sp&eacute;ciaux de p&eacute;riph&eacute;rique</title>
+
+ <para>La proc&eacute;dure <command>MAKEDEV</command> du r&eacute;pertoire
+ <filename>/dev</filename> g&egrave;re les fichiers sp&eacute;ciaux de
+ p&eacute;riph&eacute;rique. (Les pages de manuel
+ <citerefentry><refentrytitle>MAKEDEV</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ de FreeBSD 1.1.5 comportent pas mal d'erreurs sur ce qui concerne
+ les ports <acronym>COM</acronym>, donc ignorez-les.) Pour utiliser
+ <command>MAKEDEV</command> pour cr&eacute;er les fichiers sp&eacute;ciaux de
+ p&eacute;riph&eacute;rique pour les connexions sur
+ <devicename>COM1:</devicename> (port 0), allez avec
+ <command>cd</command> dans <filename>/dev</filename> et tapez la
+ commande <command>MAKEDEV ttyd0</command>. De m&ecirc;me, pour cr&eacute;er
+ les fichiers sp&eacute;ciaux de p&eacute;riph&eacute;rique pour
+ <devicename>COM2:</devicename> (port 1), utilisez
+ <command>MAKEDEV ttyd1</command>.</para>
+
+ <para>La commande <command>MAKEDEV</command> ne cr&eacute;e pas uniquement
+ les fichiers
+ <filename>/dev/ttyd<replaceable>?</replaceable></filename>,
+ mais aussi les fichiers
+ <filename>/dev/cua0<replaceable>?</replaceable></filename>
+ (et tous les fichiers d'initialisation et de verrouillage &agrave; partir
+ de la version 1.1.5 de FreeBSD)
+ et supprime le fichier sp&eacute;cial pour le terminal physique
+ <filename>/dev/tty0<replaceable>?</replaceable></filename>,
+ s'il existe.</para>
+
+ <para>Apr&egrave;s avoir cr&eacute;&eacute; les nouveaux fichiers sp&eacute;ciaux de
+ p&eacute;riph&eacute;rique, v&eacute;rifiez les droits sur ces fichiers (en
+ particulier sur les fichiers <filename>/dev/cua*</filename>)
+ pour vous assurer que seuls les utilisateurs qui doivent y
+ acc&eacute;der peuvent lire et &eacute;crire dessus&nbsp;-&nbsp;vous ne voulez
+ probablement pas que l'utilisateur ordinaire puisse utiliser
+ vos modems pour se connecter &agrave; l'ext&eacute;rieur. Les autorisations
+ par d&eacute;faut sur les fichiers <filename>/dev/cua*</filename>
+ devraient suffire:</para>
+
+ <informalexample>
+ <screen>crw-rw---- 1 uucp dialer 28, 129 Feb 15 14:38 /dev/cua01
+crw-rw---- 1 uucp dialer 28, 161 Feb 15 14:38 /dev/cuai01
+crw-rw---- 1 uucp dialer 28, 193 Feb 15 14:38 /dev/cual01</screen>
+ </informalexample>
+
+ <para>Ces droits autorisent l'utilisateur <username>uucp</username>
+ et les utilisateurs du groupe <username>dialer</username> &agrave; se
+ servir des p&eacute;riph&eacute;riques d'appel vers l'ext&eacute;rieur.</para>
+
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Fichiers de Configuration</title>
+
+ <para>Il y a trois fichiers de configuration du syst&egrave;me dans le
+ r&eacute;pertoire <filename>/etc</filename> que vous devrez probablement
+ &eacute;diter pour autoriser les acc&egrave;s t&eacute;l&eacute;phoniques &agrave; votre syst&egrave;me
+ FreeBSD. Le premier, <filename>/etc/gettytab</filename>, contient
+ les informations de configuration pour le &ldquo;d&eacute;mon&rdquo;
+ <filename>/usr/libexec/getty</filename>. Le second,
+ <filename>/etc/ttys</filename> contient les informations qui disent
+ &agrave; <filename>/sbin/init</filename> sur quels p&eacute;riph&eacute;riques
+ <filename>tty</filename> doivent s'ex&eacute;cuter des processus
+ <command>getty</command>. Enfin, vous pouvez mettre les commandes
+ d'initialisation de ports dans la proc&eacute;dure
+ <filename>/etc/rc.serial</filename> si vous utilisez FreeBSD
+ 1.1.5.1 ou ult&eacute;rieurs; sinon, vous pouvez initialiser les ports
+ dans la proc&eacute;dure <filename>/etc/rc.local</filename>.</para>
+
+ <para>Il y a deux &eacute;coles de pens&eacute;e pour ce qui concerne la
+ configuration des modems sous Unix. La premi&egrave;re pr&eacute;f&egrave;re
+ configurer ses syst&egrave;mes et ses modems de fa&ccedil;on &agrave; ce que quelque
+ soit la vitesse &agrave; laquelle l'utilisateur se connecte, l'interface
+ RS-232 entre le syst&egrave;me et le modem travaille toujours &agrave; la m&ecirc;me
+ vitesse. L'avantage de cette m&eacute;thode est que l'utilisateur distant
+ obtient toujours imm&eacute;diatement l'invite de session. L'inconv&eacute;nient
+ est que le syst&egrave;me ne sait pas quelle est la vitesse r&eacute;elle de la
+ connexion, de sorte que les programmes plein-&eacute;cran comme Emacs
+ n'adaptent pas leur mode d'affichage pour am&eacute;liorer leurs temps de
+ r&eacute;ponse avec des connexions lentes.</para>
+
+ <para>L'autre &eacute;cole configure les interfaces RS-232 de ses modems de
+ fa&ccedil;on &agrave; ce qu'elles adaptent leur vitesse en fonction de la vitesse
+ de la connexion de l'utilisateur. Par exemple, les connexions
+ V.32bis (14.4 Kbps) au modem feront fonctionner l'interface RS-232
+ du modem &agrave; 19.2 Kbps, alors que les connexions &agrave; 2400 bps la feront
+ fonctionner &agrave; 2400 bps. Comme <command>getty</command> ne comprend
+ pas les informations que fournit le modem sur sa vitesse,
+ <command>getty</command> affiche le message <prompt>login:</prompt>
+ &agrave; la vitesse initiale et consulte la r&eacute;ponse qu'il re&ccedil;oit. Si les
+ utilisateurs voient n'importe quoi, ils sont cens&eacute;s savoir qu'ils
+ doivent appuyer sur la touche <literal>&lt;Entr&eacute;e&gt;</literal>
+ jusqu'&agrave; ce qu'ils obtiennent une invite lisible. Si les vitesses
+ ne correspondent pas, <command>getty</command> re&ccedil;oit n'importe
+ quoi quoi que l'utilisateur tape, essaie de passer &agrave; la vitesse
+ suivante et renvoie l'invite <prompt>login:</prompt>. Cela peut
+ durer ind&eacute;finiment, mais il suffit normalement d'un ou deux essais
+ pour que l'utilisateur obtienne le message correct. Bien entendu,
+ cette m&eacute;thode d'ouverture de session n'est pas aussi propre que la
+ premi&egrave;re, mais un utilisateur dont la connexion est lente obtiendra
+ de meilleurs temps de r&eacute;ponse des logiciels plein-&eacute;cran.</para>
+
+ <para>L'auteur essaiera de donner des informations de configuration
+ objectives, mais la m&eacute;thode qui consiste &agrave; ajuster la vitesse
+ du modem &agrave; celle de la connexion a sa pr&eacute;f&eacute;rence.</para>
+
+ <sect3>
+ <title><filename>/etc/gettytab</filename></title>
+
+ <para><filename>/etc/gettytab</filename> est un fichier de type
+ <citerefentry><refentrytitle>termcap</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ qui contient les informations de configuration de
+ <citerefentry><refentrytitle>getty</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
+ Reportez-vous s'il vous pla&icirc;t aux pages de manuel de
+ <citerefentry><refentrytitle>gettytab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ pour une description compl&egrave;te du format de ce fichier et la liste
+ des fonctionnalit&eacute;s.</para>
+
+ <sect4>
+ <title>Configuration &agrave; vitesse fix&eacute;e</title>
+
+ <para>Si vous verrouillez la vitesse de communication avec votre
+ modem &agrave; une valeur donn&eacute;e, vous n'aurez probablement pas &agrave;
+ modifier le fichier <filename>/etc/gettytab</filename>.</para>
+
+ </sect4>
+
+ <sect4>
+ <title>Configuration avec adaptation de la vitesse</title>
+
+ <para>Vous devrez d&eacute;finir une entr&eacute;e dans
+ <filename>/etc/gettytab</filename> pour fournir &agrave;
+ <command>getty</command> des informations sur la vitesse &agrave;
+ laquelle vous voulez utiliser votre modem. Si vous avez un modem
+ 2400 bps, vous pouvez probablement utiliser l'entr&eacute;e
+ <literal>D2400</literal>. Cette entr&eacute;e existe d&eacute;j&agrave; dans le
+ fichier <filename>gettytab</filename> de FreeBSD 1.1.5.1, vous
+ n'avez pas besoin de l'ajouter, &agrave; moins qu'elle n'existe pas
+ dans votre version de FreeBSD:</para>
+
+ <programlisting>
+#
+# Terminaux (via t&eacute;l&eacute;phone) rapides
+# s&eacute;lection 2400/1200/300 (dans l'un ou l'autre sens)
+#
+D2400|d2400|Acc&egrave;s-Rapide-2400:\
+ :nx=D1200:tc=2400-baud:
+3|D1200|Acc&egrave;s-Rapide-1200:\
+ :nx=D300:tc=1200-baud:
+5|D300|Acc&egrave;s-Rapide-300:\
+ :nx=D2400:tc=300-baud:
+ </programlisting>
+
+ <para>Si vous avez un modem plus rapide, vous devrez certainement
+ ajouter une entr&eacute;e &agrave; <filename>/etc/gettytab</filename>; voici
+ ce que vous pourriez utiliser pour un modem &agrave; 14.4 Kbps pour
+ une vitesse maximum de l'interface de 19.2 Kbps:</para>
+
+ <programlisting>
+#
+# Ajouts pour un modem V.32bis
+#
+um|V300|Modem Grande Vitesse &agrave; 300,8-bit:\
+ :nx=V19200:tc=std.300:
+un|V1200|Modem Grande Vitesse &agrave; 1200,8-bit:\
+ :nx=V300:tc=std.1200:
+uo|V2400|Modem Grande Vitesse &agrave; 2400,8-bit:\
+ :nx=V1200:tc=std.2400:
+up|V9600|Modem Grande Vitesse &agrave; 9600,8-bit:\
+ :nx=V2400:tc=std.9600:
+uq|V19200|Modem Grande Vitesse &agrave; 19200,8-bit:\
+ :nx=V9600:tc=std.19200:
+ </programlisting>
+
+ <para>Avec FreeBSD 1.1.5 et ult&eacute;rieurs, cela donnera une connexion
+ 8-bit sans contr&ocirc;le de parit&eacute;. Avec FreeBSD 1.1, ajoutez les
+ param&egrave;tres <literal>:np:</literal> aux entr&eacute;es
+ <literal>std.<replaceable>xxx</replaceable></literal>
+ en d&eacute;but de fichier, pour 8 bits, sans parit&eacute;; sinon, le
+ param&egrave;trage par d&eacute;faut est &agrave; 7 bits, parit&eacute; paire.</para>
+
+ <para>Avec l'exemple ci-dessus, la communication se fait
+ initialement &agrave; 19.2 Kbps (pour une connexion V.32bis), puis
+ passe &agrave; 9600 bps (pour V.32), 2400 bps, 1200 bps, 300 bps, et de
+ nouveau &agrave; 19.2 Kbps. Ce parcours des vitesses est impl&eacute;ment&eacute;
+ par la fonctionnalit&eacute; <literal>nx=</literal> (&ldquo;next
+ table&rdquo;&nbsp;-&nbsp;table suivante). Chaque ligne
+ comporte une entr&eacute;e <literal>tc=</literal> (&ldquo;table
+ continuation&rdquo;&nbsp;-&nbsp;suite de la table) pour utiliser
+ le reste de la configuration &ldquo;standard&rdquo; pour
+ une vitesse donn&eacute;e.</para>
+
+ <para>Si vous avez un modem &agrave; 28.8 Kbps modem et/ou voulez
+ profiter de la compression sur un modem &agrave; 14.4 Kbps,
+ vous devez utiliser une vitesse de communication sup&eacute;rieure &agrave;
+ 19.2 Kbps. Voici un exemple d'entr&eacute;e
+ <filename>gettytab</filename> commen&ccedil;ant &agrave; 57.6 Kbps:</para>
+
+ <programlisting>
+#
+# Ajout pour un modem V.32bis ou V.34
+# On commence &agrave; 57.6 Kbps
+#
+vm|V300|Modem Tr&egrave;s Grande Vitesse &agrave; 300,8-bit:\
+ :nx=V19200:tc=std.300:
+vn|V1200|Modem Tr&egrave;s Grande Vitesse &agrave; 1200,8-bit:\
+ :nx=V300:tc=std.1200:
+vo|V2400|Modem Tr&egrave;s Grande Vitesse &agrave; 2400,8-bit:\
+ :nx=V1200:tc=std.2400:
+vp|V9600|Modem Tr&egrave;s Grande Vitesse &agrave; 9600,8-bit:\
+ :nx=V2400:tc=std.9600:
+vq|V57600|Modem Tr&egrave;s Grande Vitesse &agrave; 57600,8-bit:\
+ :nx=V2400:tc=std.9600:
+ </programlisting>
+
+ <para>Si vous avez une CPU lente ou un syst&egrave;me tr&egrave;s charg&eacute; et pas
+ de port s&eacute;rie &agrave; base de 16550, vous aurez peut-&ecirc;tre des erreurs
+ &ldquo;silo&rdquo; de sio &agrave; 57.6 Kbps.</para>
+
+ </sect4>
+ </sect3>
+
+ <sect3
+ id="dialup-ttys">
+ <title><filename>/etc/ttys</filename></title>
+
+ <para><filename>/etc/ttys</filename> est la liste des
+ <filename>ttys</filename> qu'<command>init</command> doit g&eacute;rer.
+ <filename>/etc/ttys</filename> fournit aussi des informations
+ de s&eacute;curit&eacute; &agrave; <command>login</command> (le super-utilisateur
+ <username>root</username> ne peut ouvrir de session que sur des
+ <filename>ttys</filename> mentionn&eacute;s comme
+ <literal>secure</literal>). Voyez les pages de manuel de
+ <citerefentry><refentrytitle>ttys</refentrytitle><manvolnum>5</manvolnum></citerefentry> pour plus d'informations.</para>
+
+ <para>Vous devrez soit modifier les lignes existantes de
+ <filename>/etc/ttys</filename>, soit ajouter de nouvelles lignes,
+ pour qu'<command>init</command> ex&eacute;cute automatiquement
+ les processus <command>getty</command> sur vos nouveaux ports
+ d'appel. Le format g&eacute;n&eacute;ral de la ligne sera le m&ecirc;me, que vous
+ utilisiez une configuration avec vitesse verrouilll&eacute;e ou
+ non:</para>
+
+ <programlisting>
+ttyd0 "/usr/libexec/getty xxx" dialup on
+ </programlisting>
+
+ <para>Le premier champ de la ligne ci-dessus est le fichier sp&eacute;cial
+ de p&eacute;riph&eacute;rique pour cette entr&eacute;e - <literal>ttyd0</literal>
+ signifie que <filename>/dev/ttyd0</filename> est le fichier que ce
+ <command>getty</command> surveillera. Le second champ,
+ <literal>"/usr/libexec/getty
+ <replaceable>xxx</replaceable>"</literal>
+ (<replaceable>xxx</replaceable> est &agrave; remplacer par la
+ fonctionnalit&eacute; initiale de <filename>gettytab</filename>) est le
+ processus qu'<command>init</command> lancera pour ce p&eacute;riph&eacute;rique.
+ Le troisi&egrave;me champ, <literal>dialup</literal>, est le type de
+ terminal par d&eacute;faut. Le quatri&egrave;me param&egrave;tre,
+ <literal>on</literal>, indique &agrave; <command>init</command> que cette
+ ligne est op&eacute;rationnelle. Il peut y avoir un cinqui&egrave;me param&egrave;tre,
+ <literal>secure</literal>, mais il ne faut l'utiliser que pour
+ les terminaux qui sont physiquement &ldquo;s&eacute;curis&eacute;s&rdquo;,
+ comme la console syst&egrave;me.</para>
+
+ <para>Le type de terminal par d&eacute;faut (<literal>dialup</literal> dans
+ l'exemple pr&eacute;c&eacute;dent) peut d&eacute;pendre de vos pr&eacute;f&eacute;rences.
+ <literal>dialup</literal> est le terminal
+ par d&eacute;faut traditionnel pour les lignes t&eacute;l&eacute;phoniques, de fa&ccedil;on
+ &agrave; ce que les utilisateurs puissent adapter leur proc&eacute;dure
+ d'ouverture de session pour qu'elle sache que c'est un terminal
+ <literal>dialup</literal> et ajuste en cons&eacute;quence son type de
+ de terminal. L'auteur pr&eacute;f&egrave;re quant &agrave; lui utiliser
+ <literal>vt102</literal> comme type de terminal par d&eacute;faut sur
+ son site, car ses utilisateurs emploient l'&eacute;mulation VT102 sur
+ leurs syst&egrave;mes distants.</para>
+
+ <para>Apr&egrave;s avoir modifi&eacute;
+ <filename>/etc/ttys</filename>, vous pouvez envoyer au processus
+ <command>init</command> un signal <acronym>HUP</acronym>
+ pour qu'il relise le fichier. Utilisez la commande:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>kill -1 1</userinput></screen>
+ </informalexample>
+
+ <para>pour envoyer ce signal. Si c'est la premi&egrave;re fois que vous
+ configurer ce syst&egrave;me, vous pouvez toutefois attendre que vos
+ modems soient correctement configur&eacute;s et connect&eacute;s avant
+ d'envoyer un signal &agrave; <command>init</command>.</para>
+
+ <sect4>
+ <title>Configuration &agrave; vitesse fix&eacute;e</title>
+
+ <para>Dans une configuration o&ugrave; la vitesse est fix&eacute;e, il faut
+ une entr&eacute;e destin&eacute;e &agrave; <command>getty</command> dans le fichier
+ <filename>ttys</filename>. Avec un modem pour lequel la vitesse
+ du port s&eacute;rie est fix&eacute;e &agrave; 19.2 Kbps, l'entr&eacute;e de
+ <filename>ttys</filename> ressemblera &agrave;:</para>
+
+ <programlisting>
+ttyd0 "/usr/libexec/getty std.19200" dialup on
+ </programlisting>
+
+ <para>Si vous utilisez une vitesse diff&eacute;rente, remplacez
+ l'entr&eacute;e <literal>std.19200</literal> par l'entr&eacute;e
+ <literal>std.<replaceable>vitesse</replaceable></literal>
+ appropri&eacute;e &agrave; la vitesse de transmission de votre modem
+ d'apr&egrave;s la d&eacute;finition qui en est donn&eacute;e dans le fichier
+ <filename>/etc/gettytab</filename>.</para>
+
+ </sect4>
+
+ <sect4>
+ <title>Configuration avec adaptation de la vitesse</title>
+
+ <para>Dans une configuration o&ugrave; la vitesse s'adapte &agrave; celle
+ de la connexion, l'entr&eacute;e dans votre fichier
+ <filename>ttys</filename> doit faire r&eacute;f&eacute;rence &agrave; l'entr&eacute;e
+ &ldquo;auto-baud&rdquo; (sic) initiale de
+ <filename>/etc/gettytab</filename>. Avec l'exemple donn&eacute;
+ plus haut pour une configuration avec adaptation de la
+ vitesse commen&ccedil;ant &agrave; 19.2 Kbps (entr&eacute;e de
+ <filename>gettytab</filename> avec <literal>V19200</literal>
+ pour point de d&eacute;part), l'entr&eacute;e de
+ <filename>ttys</filename> ressemblera &agrave;:</para>
+
+ <programlisting>
+ttyd0 "/usr/libexec/getty V19200" dialup on
+ </programlisting>
+ </sect4>
+ </sect3>
+
+ <sect3>
+ <title><filename>/etc/rc.serial</filename> ou
+ <filename>/etc/rc.local</filename></title>
+
+ <para>Les modems &agrave; haut d&eacute;bit, comme les modems V.32, V.32bis,
+ et V.34, doivent utiliser le contr&ocirc;le de flux mat&eacute;riel
+ (<filename>RTS/CTS</filename>). Vous pouvez ajouter des commandes
+ <command>stty</command> dans <filename>/etc/rc.serial</filename>,
+ pour FreeBSD 1.1.5.1 et ult&eacute;rieurs, ou
+ <filename>/etc/rc.local</filename> pour FreeBSD 1.1, pour
+ positionner l'indicateur de contr&ocirc;le de flux mat&eacute;riel du noyau
+ de FreeBSD sur les ports o&ugrave; sont les modems.</para>
+
+ <para>Voici un extrait d'un fichier
+ <filename>/etc/rc.serial</filename> d'exemple pour un syst&egrave;me
+ FreeBSD 1.1.5.1:</para>
+
+ <programlisting>
+#!/bin/sh
+#
+# Configuration initiale des ports s&eacute;rie
+
+stty -f /dev/ttyid1 crtscts
+stty -f /dev/cuai01 crtscts
+ </programlisting>
+
+ <para>Cela positionne l'indicateur <literal>crtscts</literal>
+ de <literal>termios</literal> pour les fichiers sp&eacute;ciaux
+ d'initialisation des connexions entrantes et sortantes
+ sur le port s&eacute;rie num&eacute;ro 1
+ (<devicename>COM2:</devicename>).</para>
+
+ <para>Sur un vieux syst&egrave;me FreeBSD 1.1, ces entr&eacute;es devaient
+ &ecirc;tre ajout&eacute;es au fichier <filename>/etc/rc.local</filename> pour
+ positionner l'indicateur <literal>crtscts</literal> pour les
+ p&eacute;riph&eacute;riques:</para>
+
+ <programlisting>
+# Configurer les ports s&eacute;rie pour utiliser le contr&ocirc;le de flux RTS/CTS
+stty -f /dev/ttyd0 crtscts
+stty -f /dev/ttyd1 crtscts
+stty -f /dev/ttyd2 crtscts
+stty -f /dev/ttyd3 crtscts
+ </programlisting>
+
+ <para>Comme il n'y avait pas de fichiers sp&eacute;ciaux d'initialisation
+ dans FreeBSD 1.1, il suffisait de positionner les indicateurs
+ pour les fichiers sp&eacute;ciaux de p&eacute;riph&eacute;riques, et d'esp&eacute;rer qu'ils
+ ne seraient pas r&eacute;initialis&eacute;s par un petit malin.</para>
+
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Configuration des modems</title>
+
+ <para>Si vous avez un modem dont le param&eacute;trage est enregistr&eacute; en
+ m&eacute;moire RAM non volatile, vous devrez utiliser un programme de
+ terminal (comme Telix sous PC-DOS ou <command>tip</command> sous
+ FreeBSD) pour d&eacute;finir ces param&egrave;tres. Connectez-vous au modem &agrave;
+ la vitesse de communication initiale que
+ <command>getty</command> utilise et introduisez en m&eacute;moire RAM
+ non volatile des valeurs telles que:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>Le signal <abbrev>CD</abbrev> soit activ&eacute; quand la
+ ligne est active,</para>
+ </listitem>
+
+ <listitem>
+ <para>Le signal <abbrev>DTR</abbrev> soit activ&eacute; en cours de
+ fonctionnement; quand le signal <abbrev>DTR</abbrev> tombe, la
+ ligne raccroche et le modem est r&eacute;initialis&eacute;,</para>
+ </listitem>
+
+ <listitem>
+ <para>Le signal <abbrev>CTS</abbrev> soit activ&eacute; en fin de
+ transmission,</para>
+ </listitem>
+
+ <listitem>
+ <para>Le contr&ocirc;le de flux <filename>XON/XOFF</filename> soit
+ d&eacute;sactiv&eacute;,</para>
+ </listitem>
+
+ <listitem>
+ <para>Le signal <abbrev>RTS</abbrev> soit activ&eacute; en fin de
+ r&eacute;ception,</para>
+ </listitem>
+
+ <listitem>
+ <para>Le modem soit en mode silencieux (pas de code
+ retour),</para>
+ </listitem>
+
+ <listitem>
+ <para>Il n'y ait pas d'&eacute;cho des commandes.</para>
+ </listitem>
+
+ </itemizedlist>
+
+
+ <para>Lisez s'il vous pla&icirc;t la documentation de votre modem
+ pour savoir quelles commandes et/ou quels positionnements des
+ cavaliers utiliser.</para>
+
+ <para>Par exemple, pour passer ces param&egrave;tres &agrave; un modem externe
+ USRobotics Sportster 14.400, il faudrait lui passer les commandes
+ suivantes:</para>
+
+
+ <programlisting>
+ATZ
+AT&amp;C1&amp;D2&amp;H1&amp;I0&amp;R2&amp;W
+ </programlisting>
+
+ <para>Vous pouvez aussi en profiter pour d&eacute;finir d'autres options
+ de configuration du modem, par exemple, s'il doit utiliser la norme
+ V.42bis et/ou la compression MNP5.</para>
+
+ <para>Il y a aussi des cavaliers &agrave; positionner sur le modem externe
+ USR Sportster 14.400; pour d'autres modems, la configuration
+ suivante peut peut-&ecirc;tre servir d'exemple:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>Cavalier 1: HAUT - DTR normal,</para>
+ </listitem>
+
+ <listitem>
+ <para>Cavalier 2: Pas d'importance (Codes retour
+ explicites/num&eacute;riques),</para>
+ </listitem>
+
+ <listitem>
+ <para>Cavalier 3: HAUT - Pas de code retour,</para>
+ </listitem>
+
+ <listitem>
+ <para>Cavalier 4: BAS - Pas d'&eacute;cho, commandes hors-ligne,</para>
+ </listitem>
+
+ <listitem>
+ <para>Cavalier 5: HAUT - R&eacute;ponse automatique,</para>
+ </listitem>
+
+ <listitem>
+ <para>Cavalier 6: HAUT - D&eacute;tection de porteuse normale,</para>
+ </listitem>
+
+ <listitem>
+ <para>Cavalier 7: HAUT - Charger les valeurs par d&eacute;faut depuis
+ la NVRAM (m&eacute;moire non volatile),</para>
+ </listitem>
+
+ <listitem>
+ <para>Cavalier 8: Pas d'importance (Mode
+ intelligent/passif).</para>
+ </listitem>
+
+ </itemizedlist>
+
+
+ <para>Il vaut mieux d&eacute;sactiver les codes retours pour les connexions
+ entrantes pour &eacute;viter les probl&egrave;mes qui peuvent se produire si
+ <command>getty</command> envoie une invite <prompt>login:</prompt>
+ alors que le modem est en mode commande et renvoie soit l'&eacute;cho de
+ la commande soit un code retour. J'ai entendu dire que cela peut
+ engendrer une dialogue absurde et interminable entre
+ <command>getty</command> et le modem.</para>
+
+
+ <sect3>
+ <title>Configuration &agrave; vitesse fix&eacute;e</title>
+
+ <para>Pour une configuration &agrave; vitesse fix&eacute;e, vous devrez
+ configurer le modem pour qu'il communique toujours &agrave; la
+ m&ecirc;me vitesse avec l'ordinateur, quelle que soit la vitesse
+ de la ligne. Sur un modem externe USR Sportster
+ 14.400, les commandes suivantes figeront la vitesse
+ de communication entre le modem et l'ordinateur &agrave; la vitesse
+ utilis&eacute;e pour envoyer ces commandes:</para>
+
+ <programlisting>
+ATZ
+AT&amp;B1&amp;W
+ </programlisting>
+ </sect3>
+
+ <sect3>
+ <title>Configuration avec adaptation de la vitesse</title>
+
+ <para>Dans une configuration o&ugrave; la vitesse peut varier, vous
+ devrez configurer votre modem pour qu'il ajuste sa vitesse
+ de communication sur le port s&eacute;rie &agrave; la vitesse de l'appel
+ entrant. Sur un modem externe USR Sportster 14.400, les
+ commandes suivantes figeront la vitesse de transmission avec
+ corrections d'erreur &agrave; la vitesse employ&eacute;e pour passer ces
+ m&ecirc;mes commandes, mais autoriseront une vitesse variable pour
+ les connexions sans correction d'erreur:</para>
+
+ <programlisting>
+ATZ
+AT&amp;B2&amp;W
+ </programlisting>
+ </sect3>
+
+ <sect3>
+ <title>V&eacute;rifier la configuration des modems</title>
+
+ <para>La plupart des modems &agrave; haut d&eacute;bit disposent de commandes
+ pour afficher leurs param&egrave;tres op&eacute;rationnels courants sous
+ une forme plus ou moins lisible. Sur les modems externes
+ USR Sportster 14.400, la commande <command>ATI5</command>
+ affiche les valeurs stock&eacute;es dans la RAM non volatile. Pour
+ voir les valeurs r&eacute;ellement utilis&eacute;es (compte tenu de la
+ position des cavaliers), utilisez les commandes
+ <command>ATZ</command> suivie de <command>ATI4</command>.</para>
+
+ <para>Si vous avez une autre marque de modem, consultez le manuel
+ de votre modem pour savoir comment v&eacute;rifier les param&egrave;tres de
+ configuration de votre modem.</para>
+
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>En cas de probl&egrave;me</title>
+
+ <para>Voici diff&eacute;rentes &eacute;tapes &agrave; suivre pour v&eacute;rifier le
+ fonctionnement des modems sur votre syst&egrave;me.</para>
+
+ <sect3>
+ <title>Tester le syst&egrave;me FreeBSD</title>
+
+ <para>Connectez le modem &agrave; votre syst&egrave;me FreeBSD, red&eacute;marrez le
+ syst&egrave;me, et, si votre modem a des voyants d'&eacute;tat lumineux,
+ regardez si le voyant <abbrev>DTR</abbrev> s'allume lorsque
+ l'invite <prompt>login:</prompt> s'affiche &agrave; la console
+ syst&egrave;me - si c'est la cas, cela veut normalement dire que
+ FreeBSD a lanc&eacute; un processus <command>getty</command> sur le port
+ de communication appropri&eacute; et attend que le modem re&ccedil;oive un
+ appel.</para>
+
+ <para>Si le voyant <abbrev>DTR</abbrev> ne s'allume pas, ouvrez une
+ session &agrave; la console syst&egrave;me et passez la commande
+ <command>ps ax</command> pour voir si FreeBSD essaie bien de
+ lancer un processus <command>getty</command> sur le bon port.
+ Parmi les processus affich&eacute;s, vous devriez voir une ligne comme
+ celle-ci:</para>
+
+ <informalexample>
+ <screen> 114 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd0
+ 115 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd1</screen>
+ </informalexample>
+
+ <para>Si vous voyez autre chose, par exemple:
+
+ <informalexample>
+ <screen> 114 d0 I 0:00.10 /usr/libexec/getty V19200 ttyd0</screen>
+ </informalexample>
+
+ et que le modem n'a pas encore re&ccedil;u d'appel, cela veut dire que
+ <command>getty</command> a d&eacute;j&agrave; ouvert le port de communication.
+ Cela peut &ecirc;tre d&ucirc; &agrave; un probl&egrave;me de c&acirc;blage ou &agrave; un modem mal
+ configur&eacute;, parce que <command>getty</command> ne devrait pas
+ pouvoir ouvrir le port de communication tant que le signal
+ <abbrev>CD</abbrev> (d&eacute;tection de porteuse) n'a pas &eacute;t&eacute; activ&eacute;
+ par le modem.</para>
+
+ <para>S'il n'y a pas de processus <command>getty</command>
+ pr&ecirc;t &agrave; ouvrir le port
+ <filename>ttyd<replaceable>?</replaceable></filename> voulu,
+ contr&ocirc;lez vos entr&eacute;es dans <filename>/etc/ttys</filename> pour
+ voir s'il n'y a pas d'erreur. Consultez aussi le fichier de trace
+ <filename>/var/log/messages</filename> pour voir s'il y a des
+ messages d'<command>init</command> ou de
+ <command>getty</command> indiquant un probl&egrave;me. S'il y a des
+ messages, rev&eacute;rifiez les fichiers de configuration
+ <filename>/etc/ttys</filename> et
+ <filename>/etc/gettytab</filename>, et les fichiers sp&eacute;ciaux
+ de p&eacute;riph&eacute;riques <filename>/dev/ttyd?</filename> ad hoc, pour
+ voir s'il y a des erreurs, s'il manque des entr&eacute;es ou des
+ fichiers sp&eacute;ciaux.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>Essayer de se connecter</title>
+
+ <para>Essayez d'ouvrir une connexion par t&eacute;l&eacute;phone sur le syst&egrave;me;
+ Veillez &agrave; utiliser 8 bits, pas de contr&ocirc;le de parit&eacute; et
+ 1 bit stop sur le syst&egrave;me distant. Si vous n'obtenez pas tout de
+ suite l'invite, ou obtenez n'importe quoi, essayez d'appuyer
+ plusieurs fois sur <literal>&lt;Entr&eacute;e&gt;</literal>, environ une
+ fois par seconde. Si vous n'obtenez toujours pas l'invite
+ <prompt>login:</prompt>, essayez d'envoyer un
+ <command>Attn</command> (<command>BREAK</command>). Si vous
+ utilisez un modem &agrave; haut d&eacute;bit, r&eacute;essayez de vous connecter
+ apr&egrave;s avoir verrouill&eacute; la vitesse de l'interface du modem,
+ (via <command>AT&amp;B1</command> sur un USR Sportster, par
+ exemple).</para>
+
+ <para>Si cela ne marche toujours pas, v&eacute;rifiez encore le fichier
+ <filename>/etc/gettytab</filename> et contr&ocirc;lez que:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>Le nom de la fonctionnalit&eacute; initiale de
+ <filename>/etc/ttys</filename> pour cette liaison correspond
+ bien &agrave; celui d'une fonctionnalit&eacute; d&eacute;finie dans
+ <filename>/etc/gettytab</filename>,</para>
+ </listitem>
+
+ <listitem>
+ <para>Il y a une fonctionnalit&eacute; <filename>gettytab</filename>
+ de nom diff&eacute;rent pour chaque entr&eacute;e
+ <literal>nx=</literal>,</para>
+ </listitem>
+
+ <listitem>
+ <para>Il y a une fonctionnalit&eacute; <filename>gettytab</filename>
+ de nom diff&eacute;rent pour chaque entr&eacute;e
+ <literal>tc=</literal>,</para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>Si vous appelez mais que le modem sur le syst&egrave;me FreeBSD ne
+ r&eacute;pond pas, assurez-vous que le modem est configur&eacute; pour r&eacute;pondre
+ au t&eacute;l&eacute;phone lorsque le signal <abbrev>DTR</abbrev> est actif. Si
+ le modem semble correctement configur&eacute;, v&eacute;rifiez que le signal
+ <abbrev>DTR</abbrev> est actif en regardant les voyants lumineux
+ du modem (s'il en a).</para>
+
+ <para>Si vous avez tout pass&eacute; en revue plusieurs fois et que cela
+ ne marche toujours pas, faites une pause et reprenez plus tard.
+ Si vous en &ecirc;tes toujours au m&ecirc;me point, vous pouvez peut-&ecirc;tre
+ envoyer un courrier &eacute;lectronique &agrave; la &a.questions; d&eacute;crivant
+ votre modem et votre probl&egrave;me, et les bons samaritains de la
+ liste essaieront de vous aider.</para>
+
+ </sect3>
+ </sect2>
+
+ <sect2>
+ <title>Remerciements</title>
+
+ <para>Merci aux personnes suivantes pour leurs conseils et leurs
+ commentaires:</para>
+
+ <variablelist>
+ <varlistentry><term>&a.kelly;</term>
+ <listitem>
+ <para>pour nombre d'excellentes suggestions.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="dialout">
+ <title>Service d'appel sortant</title>
+
+ <para><emphasis>Informations reprises de la FAQ.</emphasis></para>
+
+ <para>Cette section fournit des indications pour connecter votre
+ machine &agrave; une autre machine par modem. Cela peut servir &agrave; ouvrir
+ une session sur une machine distante.</para>
+
+ <para>C'est aussi utile pour vous connecter &agrave; un &ldquo;BBS&rdquo;.</para>
+
+ <para>Ce type de connexion peut &ecirc;tre tr&egrave;s utile pour r&eacute;cup&eacute;rer un
+ fichier sur l'Internet si vous avez des probl&egrave;mes avec PPP. Si vous
+ avez besoin d'utiliser ftp et que PPP ne fonctionne pas, vous pouvez
+ le faire en lan&ccedil;ant ftp sur la session terminal. Utilisez ensuite
+ zmodem pour recevoir le fichier sur votre machine.</para>
+
+ <sect2>
+ <title>Pourquoi ne puis-je pas utiliser <command>tip</command> ou
+ <command>cu</command>?</title>
+
+ <para>Sur votre syst&egrave;me, les programmes <command>tip</command>
+ et <command>cu</command> ne sont probablement ex&eacute;cutables que par
+ l'utilisateur <username>uucp</username> et le groupe
+ <username>dialer</username>. Vous pouvez vous servir du groupe
+ <username>dialer</username> pour contr&ocirc;ler qui a acc&egrave;s &agrave; vos modems
+ et &agrave; vos syst&egrave;mes distants. Ajoutez-vous donc au groupe
+ <username>dialer</username>.</para>
+
+ <para>Vous pouvez aussi autoriser tout le monde &agrave; utiliser
+ <command>tip</command> et <command>cu</command> sur votre
+ syst&egrave;me en tapant:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>chmod 4511 /usr/bin/tip</userinput></screen>
+ </informalexample>
+
+ <para>Il est inutile de changer les droits sur la
+ commande <command>cu</command>, car <command>cu</command> n'est
+ qu'un lien physique sur <command>tip</command>.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Mon modem compatible Hayes n'est pas
+ support&eacute;, que puis-je faire?</title>
+
+ <para>En fait, les pages de manuel de <command>tip</command>
+ ne sont pas &agrave; jour. Le support g&eacute;n&eacute;rique Hayes y est d&eacute;j&agrave; incorpor&eacute;.
+ Mettez simplement <literal>at=hayes</literal> dans votre fichier
+ <filename>/etc/remote</filename>.</para>
+
+ <para>Le pilote Hayes n'est pas assez intelligent pour reconna&icirc;tre
+ les possibilit&eacute;s &eacute;tendues des nouveaux messages des
+ modems&nbsp;-&nbsp;<literal>BUSY</literal>,
+ <literal>NO DIALTONE</literal>, ou <literal>CONNECT 115200</literal> ne feront que lui poser des probl&egrave;mes. Vous devez d&eacute;sactiver ces
+ messages quand vous utilisez <command>tip</command> (avec
+ <command>ATX0&amp;W</command>).</para>
+
+ <para>Par ailleurs, le d&eacute;lai d'appel de <command>tip</command>
+ est de 60 secondes. Il devra &ecirc;tre inf&eacute;rieur sur votre modem, sinon
+ tip pensera qu'il y a un probl&egrave;me de communication. Essayez
+ <command>ATS7=45&amp;W</command>.</para>
+
+ <para>Tel que livr&eacute;, <command>tip</command> ne supporte pas
+ encore cela compl&egrave;tement. Pour y rem&eacute;dier, il faut &eacute;diter le fichier
+ <filename>tipconf.h</filename> du r&eacute;pertoire
+ <filename>/usr/src/usr.bin/tip/tip</filename>. Il vous faut
+ bien &eacute;videmment le source pour cela.</para>
+
+ <para>Changez la ligne <literal>#define HAYES
+ 0</literal> en <literal>#define HAYES
+ 1</literal>. Puis <command>make</command> et
+ <command>make install</command>. Tout fonctionnera ensuite
+ sans probl&egrave;me.</para>
+
+ </sect2>
+
+ <sect2
+ id="direct-at">
+ <title>Comment dois-je entrer toutes ces commandes AT?</title>
+
+ <para>Mettez ce que l'on appelle une entr&eacute;e &ldquo;directe&rdquo;
+ dans le fichier <filename>/etc/remote</filename>. Par exemple,
+ si votre modem est sur le premier port s&eacute;rie.
+ <filename>/dev/cuaa0</filename>, mettez la ligne suivante:</para>
+
+ <programlisting>
+cuaa0:dv=/dev/cuaa0:br#19200:pa=none
+ </programlisting>
+
+ <para>Utilisez la vitesse en bps la plus rapide que votre modem
+ accepte avec la fonctionnalit&eacute; br. Tapez alors
+ <command>tip cuaa0</command> et vous serez connect&eacute; &agrave; votre
+ modem.</para>
+
+ <para>S'il n'y a pas de fichier sp&eacute;cial
+ <filename>/dev/cuaa0</filename> sur votre syst&egrave;me, faites la
+ chose suivante:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cd /dev</userinput>
+&prompt.root; <userinput>MAKEDEV cuaa0</userinput></screen>
+ </informalexample>
+
+ <para>Ou utilisez cu en tant que super-utilisateur avec la
+ commande:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cu -l<replaceable>ligne</replaceable> -s<replaceable>vitesse</replaceable></userinput></screen>
+ </informalexample>
+
+ <para><replaceable>ligne</replaceable> est le port s&eacute;rie
+ (e.g. <filename>/dev/cuaa0</filename>)
+ et <replaceable>vitesse</replaceable> est
+ la vitesse (e.g. <literal>57600</literal>). Quand vous avez fini
+ d'entrer vos commandes AT, tapez <command>~.</command>
+ pour quitter le programme.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Le signe <literal>@</literal> ne marche pas avec la fonctionnalit&eacute; pn!</title>
+
+ <para>Le signe <literal>@</literal> comme num&eacute;ro de t&eacute;l&eacute;phone
+ dit &agrave; tip de lire le num&eacute;ro de t&eacute;l&eacute;phone
+ dans <filename>/etc/phones</filename>. Mais
+ <literal>@</literal> est aussi un caract&egrave;re sp&eacute;cial dans les
+ fichiers qui d&eacute;finissent des fonctionnalit&eacute;s,
+ comme <filename>/etc/remote</filename>. Faites-le
+ pr&eacute;c&eacute;der d'une barre oblique inverse:</para>
+
+ <programlisting>
+pn=\@
+ </programlisting>
+
+ </sect2>
+
+ <sect2>
+ <title>Comment puis-je appeler un num&eacute;ro de t&eacute;l&eacute;phone depuis la
+ ligne de commande?</title>
+
+ <para>Mettez ce que l'on appelle un entr&eacute;e &ldquo;g&eacute;n&eacute;rique&rdquo;
+ dans votre fichier <filename>/etc/remote</filename>. Par
+ exemple:</para>
+
+ <programlisting>
+tip115200|Appeler un num&eacute;ro de t&eacute;l&eacute;phone &agrave; 115200 bps:\
+ :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du:
+tip57600|Appeler un num&eacute;ro de t&eacute;l&eacute;phone &agrave; 57600 bps:\
+ :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:
+ </programlisting>
+
+ <para>Vous pouvez alors faire la chose suivante:</para>
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>tip -115200 5551234</userinput></screen>
+ </informalexample>
+
+ <para>Si vous pr&eacute;f&eacute;rez <command>cu</command> &agrave; <command>tip</command>,
+ mettez une entr&eacute;e g&eacute;n&eacute;rique pour cu:
+
+ <programlisting>
+cu115200|Utiliser cu pour appeler un num&eacute;ro &agrave; 115200bps:\
+ :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:
+ </programlisting>
+ et tapez:
+
+ <informalexample>
+ <screen>&prompt.root; <userinput>cu 5551234 -s 115200</userinput></screen>
+ </informalexample></para>
+ </sect2>
+
+ <sect2>
+ <title>Dois-je pr&eacute;ciser la vitesse en bauds &agrave; chaque fois?</title>
+
+ <para>Mettez un entr&eacute;e pour <literal>tip1200</literal> ou
+ <literal>cu1200</literal>, mais donnez-y la vitesse en bps
+ voulue avec la fonctionnalit&eacute; br. <command>tip</command> pense
+ que 1200 bps est une valeur par d&eacute;faut convenable et cherche donc
+ une entr&eacute;e <literal>tip1200</literal>. Vous n'&ecirc;tes cependant pas
+ oblig&eacute; d'y mettre la vitesse de 1200 bps.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Je me connecte &agrave; plusieurs machines par l'interm&eacute;diaire d'un
+ concentrateur.</title>
+
+ <para>Au lieu d'attendre d'&ecirc;tre connect&eacute; et de taper
+ <command>CONNECT &lt;h&ocirc;te&gt;</command> &agrave; chaque fois,
+ utilisez la fonctionnalit&eacute; <literal>cm</literal> de tip. Par
+ exemple, ces entr&eacute;es dans <filename>/etc/remote</filename>:
+
+ <programlisting>
+pain|pain.deep13.com|la machine de Forrester:\
+ :cm=CONNECT pain\n:tc=deep13:
+muffin|muffin.deep13.com|la machine de Frank:\
+ :cm=CONNECT muffin\n:tc=deep13:
+deep13:le concentrateur de l'Institut Gizmonics:\
+ :dv=/dev/cua02:br#38400:at=hayes:du:pa=none:pn=5551234:
+ </programlisting>
+
+ vous permettent d'utiliser <command>tip pain</command>
+ ou <command>tip muffin</command> pour vous connecter aux machines
+ pain ou muffin; et <command>tip
+ deep13</command> pour acc&eacute;der &agrave; l'autre concentrateur.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>tip peut-il essayer d'appeler plusieurs num&eacute;ros pour
+ se connecter &agrave; un m&ecirc;me site?</title>
+
+ <para>C'est un probl&egrave;me fr&eacute;quent dans les universit&eacute;s qui ont une
+ batterie de modems et des milliers d'&eacute;tudiants qui essayent de
+ s'en servir...</para>
+
+ <para>D&eacute;finissez une entr&eacute;e pour votre universit&eacute; dans
+ <filename>/etc/remote</filename> et employez <literal>@</literal>
+ pour la fonctionnalit&eacute; <literal>pn</literal>:</para>
+
+ <programlisting>
+super-universite:\
+ :pn=\@:tc=dialout
+dialout:\
+ :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:
+ </programlisting>
+
+ <para>Mettez ensuite les num&eacute;ros de t&eacute;l&eacute;phone de l'universit&eacute; dans
+ <filename>/etc/phones</filename>:</para>
+
+ <programlisting>
+super-universite 5551111
+super-universite 5551112
+super-universite 5551113
+super-universite 5551114
+ </programlisting>
+
+ <para><command>tip</command> essayera d'appeler chacun de ces num&eacute;ros
+ dans l'ordre, puis abandonnera la tentative. Si vous voulez
+ continuer &agrave; essayer de vous connecter, ex&eacute;cutez
+ <command>tip</command> dans une boucle &ldquo;tant
+ que&rdquo;.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>pourquoi dois-je taper CTRL+P deux fois pour envoyer un
+ seul CTRL+P?</title>
+
+ <para>CTRL+P est le caract&egrave;re
+ d'&eacute;chappement&nbsp;-&nbsp;&ldquo;force&rdquo; par d&eacute;faut,
+ pour dire &agrave; <command>tip</command> que le caract&egrave;re suivant est &agrave;
+ comprendre tel quel. Vous pouvez changer de caract&egrave;re d'&eacute;chappement
+ avec la commande <command>~s</command>, qui signifie
+ &ldquo;d&eacute;finir une variable.&rdquo;</para>
+
+ <para>Tapez <command>~sforce=<replaceable>caract&egrave;re</replaceable></command>
+ suivie d'un saut de ligne. <replaceable>caract&egrave;re</replaceable> peut
+ &ecirc;tre n'importe quel caract&egrave;re. Si vous n'indiquez pas de
+ <replaceable>caract&egrave;re</replaceable>, alors le caract&egrave;re
+ d'&eacute;chappement est le caract&egrave;re &ldquo;nul&rdquo;, qui s'obtient en
+ tapant CTRL+2 ou CTRL+barre d'espacement. Une bonne valeur
+ &agrave; donner &agrave; <replaceable>caract&egrave;re</replaceable> est SHIFT+CTRL+6,
+ que je n'ai jamais vue utilis&eacute;e ailleurs que sur certains
+ concentrateurs.</para>
+
+ <para>vous pouvez aussi donner la valeur que vous voulez au caract&egrave;re
+ d'&eacute;chappement en mettant la ligne suivante dans votre fichier
+ <filename>&#36;HOME/.tiprc</filename>:</para>
+
+ <programlisting>
+force=&lt;caract&egrave;re&gt;
+ </programlisting>
+
+ </sect2>
+
+ <sect2>
+ <title>Tout ce que je tape s'affiche tout &agrave; coup en
+ MAJUSCULES?</title>
+
+ <para>Vous avez appuy&eacute; sur CTRL+A, c'est le caract&egrave;re
+ &ldquo;majuscules&rdquo; de <command>tip</command>, &agrave; l'usage
+ particulier de ceux dont la touche &ldquo;Majuscules&rdquo; ne
+ fonctionne pas. Utilisez <command>~s</command> comme pr&eacute;c&eacute;demment et
+ donnez une valeur raisonnable &agrave; la variable
+ <literal>raisechar</literal>. Vous pouvez d'ailleurs lui donner la
+ m&ecirc;me valeur qu'au caract&egrave;re d'&eacute;chappement, si vous n'avez pas
+ l'intention de les utiliser l'un et l'autre.</para>
+
+ <para>Voici une exemple de fichier <filename>.tiprc</filename> id&eacute;al
+ pour les utilisateurs d'<command>Emacs</command> qui ont souvent
+ besoin de CTRL+2 et CTRL+A:</para>
+
+ <programlisting>
+force=^^
+raisechar=^^
+ </programlisting>
+
+ <para>^^ &eacute;quivaut &agrave; SHIFT+CTRL+6.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Comment puis-je transf&eacute;rer des fichiers avec
+ <command>tip</command>?</title>
+
+ <para>Si vous dialoguez avec un autre syst&egrave;me Unix,
+ vous pouvez envoyer
+ et recevoir des fichiers avec <command>~p</command>
+ (&ldquo;put&rdquo;) et <command>~t</command> (&ldquo;take&rdquo;).
+ Ces commandes lancent
+ <command>cat</command> et <command>echo</command> sur le syst&egrave;me
+ distant pour qu'il re&ccedil;oive et envoie des fichiers. La syntaxe
+ est:</para>
+
+ <cmdsynopsis>
+ <command>~p</command>
+ <arg choice="plain">fichier_local</arg>
+ <arg choice="opt">fichier_distant</arg>
+ </cmdsynopsis>
+
+ <cmdsynopsis>
+ <command>~t</command>
+ <arg choice="plain">fichier_distant</arg>
+ <arg choice="opt">fichier_local</arg>
+ </cmdsynopsis>
+
+ <para>Il n'y a aucun contr&ocirc;le, vous devriez probablement utiliser un
+ autre protocole, comme zmodem.</para>
+
+ </sect2>
+
+ <sect2>
+ <title>Comment puis-je utiliser <command>zmodem</command> avec
+ <command>tip</command>?</title>
+
+ <para>Pour r&eacute;cup&eacute;rer des fichiers, lancez le programmes de transfert
+ sur la machine distante. Puis tapez <command>~C rz</command> pour
+ commencer &agrave; les recevoir.</para>
+
+ <para>Pour transmettre des fichiers, lancer le programme de r&eacute;ception
+ sur la machine distante. Puis, tapez <command>~C sz
+ <replaceable>fichiers</replaceable></command> pour les lui
+ envoyer.</para>
+
+ </sect2>
+ </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:
+-->
diff --git a/fr_FR.ISO_8859-1/books/handbook/staff/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/staff/chapter.sgml
new file mode 100644
index 0000000000..1a68a2c364
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/staff/chapter.sgml
@@ -0,0 +1,859 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: 1.17
+-->
+
+<!--
+ Please try to keep the CVSROOT/avail file in sync with the list of
+ FreeBSD developers.
+-->
+
+<chapter id="staff">
+ <title>L'&eacute;quipe du projet FreeBSD</title>
+
+ <para>Le projet FreeBSD est g&eacute;r&eacute; et mis en oeuvre par les
+ groupes de personnes suivantes&nbsp;:</para>
+
+ <sect1 id="staff-core">
+ <title>L'&eacute;quipe de base
+ FreeBSD&nbsp;-&nbsp;<foreignphrase>Core Team</foreignphrase></title>
+
+ <para>L'&eacute;quipe de base de FreeBSD constitue le &ldquo;Comit&eacute;
+ de Direction&rdquo; du projet, responsable de d&eacute;finir les objectifs
+ et l'orientation du projet ainsi que de la gestion de
+ <link linkend="staff-who">sections sp&eacute;cifiques</link> de l'ensemble
+ du projet FreeBSD.</para>
+
+ <para>(par ordre alphab&eacute;tique de patronyme)&nbsp;:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>&a.asami;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.jmb;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.ache;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.bde;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.gibbs;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.dg;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.jkh;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.phk;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.rich;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.gpalmer;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.jdp;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.sos;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.peter;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.wollman;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.joerg;</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+
+ <sect1 id="staff-committers">
+ <title>Les d&eacute;veloppeurs FreeBSD</title>
+
+ <para>Ce sont ceux qui ont les droits d'&eacute;criture et effectuent le
+ travail d'ing&eacute;nierie sur l'arborescence des sources. Tous les
+ membres de l'&eacute;quipe de base sont aussi d&eacute;veloppeurs.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>&a.ugen;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.mbarkah;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.stb;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.pb;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.abial;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.jb;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.torstenb;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.dburr;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.charnier;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.luoqi;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.ejc;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.kjc;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.gclarkii;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.archie</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.cracauer;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.adam;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.dillon;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.dufault;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.uhclem;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.tegge;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.eivind;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.julian;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.rse;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.se;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.sef;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.fenner;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.jfieber;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.jfitz;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.scrappy;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.lars;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.dirk;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.shige;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.billf;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.gallatin;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.tg;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.brandon;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.graichen;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.jgreco;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.rgrimes;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.jmg;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.hanai;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.thepish;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.jhay;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.helbig;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.ghelmer;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.erich;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.nhibma;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.flathill;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.foxfair;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.hosokawa;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.hsu;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.mph;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.itojun;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.mjacob;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.gj;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.nsj;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.ljo;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.kato;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.andreas;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.motoyuki;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.jkoshy;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.kuriyama;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.grog;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.jlemon;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.truckman;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.imp;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.smace;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.mckay;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.mckusick;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.ken;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.hm;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.tedm;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.amurai;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.markm;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.max;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.alex;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.newton;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.rnordier;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.davidn;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.obrien;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.danny;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.ljo;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.fsmp;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.smpatel;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.wpaul;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.jmacd;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.wes;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.steve;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.mpp;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.dfr;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.jraynard;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.darrenr;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.csgr;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.martin;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.paul;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.roberto;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.chuckr;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.guido;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.dima;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.sada;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.nsayer;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.wosch;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.ats;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.jseger;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.simokawa;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.vanilla;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.msmith;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.des;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.brian;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.mks;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.stark;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.karl;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.taoka;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.dt;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.cwt;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.pst;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.hoek;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.nectar;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.swallace;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.dwhite;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.nate;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.yokota;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.jmz;</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+
+ <sect1 id="staff-doc">
+ <title>Le projet de documentation de FreeBSD</title>
+
+ <para>Le <ulink URL="http://www.freebsd.org/docproj.html">Projet de
+ documentation de FreeBSD</ulink> est responsable d'une s&eacute;rie de
+ services, chacun &eacute;tant g&eacute;r&eacute; par une personne et ses
+ <emphasis>adjoints</emphasis> (le cas &eacute;ch&eacute;ant)&nbsp;:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>Gestion du projet de documentation</term>
+
+ <listitem>
+ <para>&a.nik;</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Webmestre</term>
+
+ <listitem>
+ <para>&a.wosch;</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>R&eacute;dacteur en chef des Manuel de r&eacute;f&eacute;rence
+ &amp; Foire Aux Questions</term>
+
+ <listitem>
+ <para>&a.faq;</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>R&eacute;dacteur en chef pour les nouvelles</term>
+
+ <listitem>
+ <para>&a.nsj;</para>
+
+ <para><emphasis>Adjoint&nbsp;:</emphasis> &a.john;</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>R&eacute;dacteur en chef de la lettre d'information succinte de
+ FreeBSD</term>
+
+ <listitem>
+ <para>Chris Coleman <email>chrisc@vmunix.com</email></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>R&eacute;dacteur en chef de la galerie</term>
+
+ <listitem>
+ <para>&a.nsj;</para>
+
+ <para><emphasis>Adjoint&nbsp;:</emphasis> &a.cawimm;</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>R&eacute;dacteur en chef commercial</term>
+
+ <listitem>
+ <para>&a.mbarkah;</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>R&eacute;dacteur en chef pour les modifications au site Web</term>
+
+ <listitem>
+ <para>&a.mbarkah;</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Coordination du style (Polices) &amp; graphisme</term>
+
+ <listitem>
+ <para>&a.opsys;</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Ing&eacute;nieur base de donn&eacute;es</term>
+
+ <listitem>
+ <para>&a.mayo;</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Ing&eacute;nieur CGI</term>
+
+ <listitem>
+ <para>&a.stb;</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Finalisation</term>
+
+ <listitem>
+ <para>&a.nsj;</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Conversion de LinuxDoc &agrave; DocBook</term>
+
+ <listitem>
+ <para>&a.nik;</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect1>
+
+ <sect1 id="staff-who">
+ <title>Qui est responsable de quoi</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>Architecte principal</term>
+
+ <listitem>
+ <para>&a.dg;</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><ulink
+ url="http://www.freebsd.org/docproj/docproj.html">Gestionnaire du
+ projet de documentation</ulink></term>
+
+ <listitem>
+ <para>&a.nik;</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><link linkend="l10n">Internationalisation</link></term>
+
+ <listitem>
+ <para>&a.ache;</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>R&eacute;seau</term>
+
+ <listitem>
+ <para>&a.wollman;</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><link linkend="eresources-mail">Postmaster</link></term>
+
+ <listitem>
+ <para>&a.jmb;</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Coordination des versions</term>
+
+ <listitem>
+ <para>&a.jkh;</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Relations publiques &amp; avec les entreprises²</term>
+
+ <listitem>
+ <para>&a.jkh;</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><ulink url="http://www.freebsd.org/security/">Officier de
+ s&eacute;curit&eacute;</ulink></term>
+
+ <listitem>
+ <para>&a.imp;</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><ulink url="http://www.freebsd.org/support.html#cvs">Gestionnaires
+ des archives CVS</ulink></term>
+
+ <listitem>
+ <para>Principal&nbsp;: &a.peter;</para>
+
+ <para>Assistant&nbsp;: &a.jdp;</para>
+
+ <para>International (Crypto)&nbsp;: &a.markm;</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><ulink url="http://www.freebsd.org/ports/">Gestionnaire du
+ catalogue des logiciels port&eacute;s</ulink></term>
+
+ <listitem>
+ <para>&a.asami;</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Liaison avec XFree86 Project, Inc.</term>
+
+ <listitem>
+ <para>&a.rich;</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><link linkend="eresources-news">Support des forums de
+ discussion</link></term>
+
+ <listitem>
+ <para>&a.joerg;</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><ulink url="http://www.freebsd.org/support.html#gnats">Administrateur
+ GNATS</ulink></term>
+
+ <listitem>
+ <para>&a.steve;</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><ulink
+ url="http://www.freebsd.org/internal/">Webmestre</ulink></term>
+
+ <listitem>
+ <para>&a.wosch;</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect1>
+</chapter>
+
+<!--
+ Local Variables:
+ mode: sgml
+ sgml-declaration: "../chapter.decl"
+ sgml-indent-data: t
+ sgml-omittag: nil
+ sgml-always-quote-attributes: t
+ sgml-parent-document: ("../handbook.sgml" "part" "chapter")
+ End:
+-->
+
diff --git a/fr_FR.ISO_8859-1/books/handbook/todo.sgml b/fr_FR.ISO_8859-1/books/handbook/todo.sgml
new file mode 100644
index 0000000000..e471e64082
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/todo.sgml
@@ -0,0 +1,9 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: n.nn
+-->
+
+<para>*** A Traduire ***</para>
diff --git a/fr_FR.ISO_8859-1/books/handbook/x11/chapter.sgml b/fr_FR.ISO_8859-1/books/handbook/x11/chapter.sgml
new file mode 100644
index 0000000000..9f8d633ade
--- /dev/null
+++ b/fr_FR.ISO_8859-1/books/handbook/x11/chapter.sgml
@@ -0,0 +1,29 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: 1.5
+-->
+
+<chapter id="x11">
+ <title>Le syst&egrave;me X Window</title>
+
+ <para>En attendant que la r&eacute;daction de ce chapitre soit
+ termin&eacute;e, reportez-vous s'il vous pla&icirc;t &agrave; la
+ documentation fournie par
+ <ulink URL="http://www.xfree86.org/">The XFree86 Project,
+ Inc</ulink>.</para>
+</chapter>
+
+<!--
+ Local Variables:
+ mode: sgml
+ sgml-declaration: "../chapter.decl"
+ sgml-indent-data: t
+ sgml-omittag: nil
+ sgml-always-quote-attributes: t
+ sgml-parent-document: ("../handbook.sgml" "part" "chapter")
+ End:
+-->
+
diff --git a/fr_FR.ISO_8859-1/share/sgml/abstract.ent b/fr_FR.ISO_8859-1/share/sgml/abstract.ent
new file mode 100644
index 0000000000..8ebec98cff
--- /dev/null
+++ b/fr_FR.ISO_8859-1/share/sgml/abstract.ent
@@ -0,0 +1,15 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ Références vers d'autres fichiers qui peuvent être inclus à l'intérieur
+ d'un élément Abstract. Les noms des éléments sont de la forme
+ "abstract.<element>", où <element> est le texte de la partie visible de
+ l'entité. Exemple : "abstract.legalnotice" et "abstract.preface".
+
+ $FreeBSD$
+ Original revision: N/A
+-->
+
+<!ENTITY abstract.license SYSTEM "license.sgml">
+<!ENTITY abstract.disclaimer SYSTEM "disclaimer.sgml">
diff --git a/fr_FR.ISO_8859-1/share/sgml/artheader.ent b/fr_FR.ISO_8859-1/share/sgml/artheader.ent
new file mode 100644
index 0000000000..90b7b739ca
--- /dev/null
+++ b/fr_FR.ISO_8859-1/share/sgml/artheader.ent
@@ -0,0 +1,14 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ Références vers d'autres fichiers qui peuvent être inclus à l'intérieur
+ d'un élément ArtHeader. Les noms des éléments sont de la forme
+ "artheader.<element>", où <element> est le texte de la partie visible de
+ l'entité. Exemple : "artheader.legalnotice" et "artheader.preface".
+
+ $FreeBSD$
+ Original revision: N/A
+-->
+
+<!ENTITY artheader.copyright SYSTEM "copyright.sgml">
diff --git a/fr_FR.ISO_8859-1/share/sgml/bookinfo.ent b/fr_FR.ISO_8859-1/share/sgml/bookinfo.ent
new file mode 100644
index 0000000000..fcd691b83d
--- /dev/null
+++ b/fr_FR.ISO_8859-1/share/sgml/bookinfo.ent
@@ -0,0 +1,16 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ Références vers d'autres fichiers qui peuvent être inclus à l'intérieur
+ d'un élément BookInfo. Les noms des éléments sont de la forme
+ "bookinfo.<element>", où <element> est le texte de la partie visible de
+ l'entité. Exemple : "bookinfo.legalnotice" et "bookinfo.preface".
+
+ $FreeBSD$
+ Original revision: N/A
+-->
+
+<!ENTITY bookinfo.legalnotice SYSTEM "legalnotice.sgml">
+<!ENTITY bookinfo.license SYSTEM "license.sgml">
+<!ENTITY bookinfo.disclaimer SYSTEM "disclaimer.sgml">
diff --git a/fr_FR.ISO_8859-1/share/sgml/copyright.sgml b/fr_FR.ISO_8859-1/share/sgml/copyright.sgml
new file mode 100644
index 0000000000..70b2222f34
--- /dev/null
+++ b/fr_FR.ISO_8859-1/share/sgml/copyright.sgml
@@ -0,0 +1,13 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: N/A
+-->
+
+<copyright>
+ <year>1999</year>
+ <holder>Groupe de Documentation de FreeBSD. Tous droits
+ r&eacute;serv&eacute;s.</holder>
+</copyright>
diff --git a/fr_FR.ISO_8859-1/share/sgml/disclaimer.sgml b/fr_FR.ISO_8859-1/share/sgml/disclaimer.sgml
new file mode 100644
index 0000000000..3946a1c2c0
--- /dev/null
+++ b/fr_FR.ISO_8859-1/share/sgml/disclaimer.sgml
@@ -0,0 +1,19 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: N/A
+-->
+
+<para>CE DOCUMENT EST FOURNI &ldquo;TEL QU'EN L'&Eacute;TAT&rdquo; PAR LE
+ PROJET DE DOCUMENTATION FRAN&Ccedil;AISE DE FreeBSD ET IL N'EST DONN&Eacute;
+ AUCUNE GARANTIE, IMPLICITE OU EXPLICITE, QUANT &Agrave; SON UTILISATION
+ COMMERCIALE, PROFESSIONNELLE OU AUTRE. LES COLLABORATEURS DU PROJET DE
+ DOCUMENTATION FRAN&Ccedil;AISE DE FreeBSD NE PEUVENT EN AUCUN CAS &Ecirc;TRE
+ TENUS POUR RESPONSABLES DE QUELQUE DOMMAGE OU PR&Eacute;JUDICE DIRECT,
+ INDIRECT, SECONDAIRE OU ACCESSOIRE (Y COMPRIS LES PERTES FINANCI&egrave;RES
+ DUES AU MANQUE &Agrave; GAGNER, &Agrave; L'INTERRUPTION D'ACTIVIT&Eacute;S,
+ OU LA PERTE D'INFORMATIONS ET AUTRES) D&Eacute;COULANT DE L'UTILISATION DE
+ LA DOCUMENTATION OU DE L'IMPOSSIBILIT&Eacute; D'UTILISER CELLE-CI, ET DONT
+ L'UTILISATEUR ACCEPTE L'ENTI&Egrave;RE RESPONSABILIT&Eacute;.</para>
diff --git a/fr_FR.ISO_8859-1/share/sgml/legalnotice.sgml b/fr_FR.ISO_8859-1/share/sgml/legalnotice.sgml
new file mode 100644
index 0000000000..f3ad36c2e0
--- /dev/null
+++ b/fr_FR.ISO_8859-1/share/sgml/legalnotice.sgml
@@ -0,0 +1,14 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: N/A
+-->
+
+<legalnotice>
+ &bookinfo.license;
+ <important>
+ &bookinfo.disclaimer;
+ </important>
+</legalnotice>
diff --git a/fr_FR.ISO_8859-1/share/sgml/license.sgml b/fr_FR.ISO_8859-1/share/sgml/license.sgml
new file mode 100644
index 0000000000..494968772d
--- /dev/null
+++ b/fr_FR.ISO_8859-1/share/sgml/license.sgml
@@ -0,0 +1,27 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ Original revision: N/A
+-->
+
+<para>La redistribution du code source (SGML), modifi&eacute; ou non, et
+ compil&eacute; (HTML, PostScript, etc.) est soumise aux conditions
+ suivantes&nbsp;:</para>
+
+<para>
+ <orderedlist>
+ <listitem>
+ <para>Le copyright ci-dessus, la pr&eacute;sente liste de conditions et
+ l'avertissement qui la suit doivent figurer dans le code
+ source.</para>
+ </listitem>
+
+ <listitem>
+ <para>Le code source distribu&eacute; sous forme compil&eacute; doit
+ faire appara&icirc;tre le copyright ci-dessus, la pr&eacute;sente
+ liste de conditions et l'avertissement qui la suit.</para>
+ </listitem>
+ </orderedlist>
+</para>
diff --git a/fr_FR.ISO_8859-1/share/sgml/translators.ent b/fr_FR.ISO_8859-1/share/sgml/translators.ent
new file mode 100644
index 0000000000..d911c3e6ff
--- /dev/null
+++ b/fr_FR.ISO_8859-1/share/sgml/translators.ent
@@ -0,0 +1,46 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ Noms et adresses de courrier électronique des membres de l'équipe de
+ traduction francaise
+
+ $FreeBSD$
+ Original revision: N/A
+-->
+
+<!ENTITY a.breard "Renaud Br&eacute;ard
+ <email>renaud.breard@easynet.fr</email>">
+<!ENTITY a.brive "Robert Brive
+ <email>brive@mail.dotcom.fr</email>">
+<!ENTITY a.dntt "Tuyet Tram Dang Ngoc
+ <email>dntt@prism.uvsq.fr</email>">
+<!ENTITY a.gioria "S&eacute;bastien Gioria
+ <email>gioria@francenet.fr</email>">
+<!ENTITY a.haby "Fr&eacute;d&eacute;ric Haby
+ <email>frederic.haby@mail.dotcom.fr</email>">
+<!ENTITY a.laurand "Pierre-Fran&ccedil;ois Laurand
+ <email>pushf@club-internet.fr</email>">
+<!ENTITY a.legrand "St&eacute;phane Legrand
+ <email>Stephane.Legrand@wanadoo.fr</email>">
+<!ENTITY a.nolin "Philippe Nolin
+ <email>philippe.nolin@mail.dotcom.fr</email>">
+
+<!-- Traductions -->
+
+<!ENTITY trans.a.breard
+ "<para><emphasis>Version fran&ccedil;aise de &a.breard;.</emphasis></para>">
+<!ENTITY trans.a.brive
+ "<para><emphasis>Version fran&ccedil;aise de &a.brive;.</emphasis></para>">
+<!ENTITY trans.a.dntt
+ "<para><emphasis>Version fran&ccedil;aise de &a.dntt;.</emphasis></para>">
+<!ENTITY trans.a.gioria
+ "<para><emphasis>Version fran&ccedil;aise de &a.gioria;.</emphasis></para>">
+<!ENTITY trans.a.haby
+ "<para><emphasis>Version fran&ccedil;aise de &a.haby;.</emphasis></para>">
+<!ENTITY trans.a.legrand
+ "<para><emphasis>Version fran&ccedil;aise de &a.legrand;.</emphasis></para>">
+<!ENTITY trans.a.nolin
+ "<para><emphasis>Version fran&ccedil;aise de &a.nolin;.</emphasis></para>">
+<!ENTITY trans.a.laurand
+ "<para><emphasis>Version fran&ccedil;aise de &a.laurand;.</emphasis></para>">
diff --git a/fr_FR.ISO_8859-1/share/sgml/urls.ent b/fr_FR.ISO_8859-1/share/sgml/urls.ent
new file mode 100644
index 0000000000..012a4072c7
--- /dev/null
+++ b/fr_FR.ISO_8859-1/share/sgml/urls.ent
@@ -0,0 +1,22 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ URLs des documents les plus utilisés. Comme ces documents peuvent changer
+ de place dans l'arborescence des documentations (et du site web), il faut
+ disposer de variables pour ces URLs. Ces URLs peuvent être absolues ou
+ relative aux documents.
+
+ $FreeBSD$
+ Original revision: N/A
+-->
+
+<!ENTITY url.base "http://www.freebsd-fr.org/">
+<!ENTITY url.doc "../">
+<!ENTITY url.faq "&url.doc;faq/">
+<!ENTITY url.handbook "&url.doc;handbook/">
+<!ENTITY url.tutorials "&url.doc;">
+<!ENTITY url.others "&url.doc;">
+<!ENTITY url.picobsd "&url.doc;picobsd">
+<!ENTITY url.press "&url.doc;">
+<!ENTITY url.www "&url.base;www/fr_FR.ISO_8859-1/">