aboutsummaryrefslogtreecommitdiff
path: root/fr_FR.ISO8859-1/articles
diff options
context:
space:
mode:
Diffstat (limited to 'fr_FR.ISO8859-1/articles')
-rw-r--r--fr_FR.ISO8859-1/articles/Makefile26
-rw-r--r--fr_FR.ISO8859-1/articles/Makefile.inc9
-rw-r--r--fr_FR.ISO8859-1/articles/committers-guide/Makefile20
-rw-r--r--fr_FR.ISO8859-1/articles/committers-guide/article.sgml1233
-rw-r--r--fr_FR.ISO8859-1/articles/ddwg/Makefile20
-rw-r--r--fr_FR.ISO8859-1/articles/ddwg/article.sgml1861
-rw-r--r--fr_FR.ISO8859-1/articles/diskless-x/Makefile20
-rw-r--r--fr_FR.ISO8859-1/articles/diskless-x/article.sgml298
-rw-r--r--fr_FR.ISO8859-1/articles/fonts/Makefile20
-rwxr-xr-xfr_FR.ISO8859-1/articles/fonts/article.sgml775
-rw-r--r--fr_FR.ISO8859-1/articles/formatting-media/Makefile20
-rwxr-xr-xfr_FR.ISO8859-1/articles/formatting-media/article.sgml557
-rw-r--r--fr_FR.ISO8859-1/articles/ip-aliasing/Makefile20
-rwxr-xr-xfr_FR.ISO8859-1/articles/ip-aliasing/article.sgml277
-rw-r--r--fr_FR.ISO8859-1/articles/make-world/Makefile20
-rwxr-xr-xfr_FR.ISO8859-1/articles/make-world/article.sgml1376
-rw-r--r--fr_FR.ISO8859-1/articles/mh/Makefile20
-rw-r--r--fr_FR.ISO8859-1/articles/mh/article.sgml744
-rw-r--r--fr_FR.ISO8859-1/articles/multi-os/Makefile20
-rwxr-xr-xfr_FR.ISO8859-1/articles/multi-os/article.sgml700
-rw-r--r--fr_FR.ISO8859-1/articles/new-users/Makefile20
-rwxr-xr-xfr_FR.ISO8859-1/articles/new-users/article.sgml827
-rw-r--r--fr_FR.ISO8859-1/articles/ntfs/Makefile20
-rw-r--r--fr_FR.ISO8859-1/articles/ntfs/article.sgml490
-rw-r--r--fr_FR.ISO8859-1/articles/ppp/Makefile20
-rwxr-xr-xfr_FR.ISO8859-1/articles/ppp/article.sgml1894
-rw-r--r--fr_FR.ISO8859-1/articles/programming-tools/Makefile20
-rwxr-xr-xfr_FR.ISO8859-1/articles/programming-tools/article.sgml2001
-rw-r--r--fr_FR.ISO8859-1/articles/zip-drive/Makefile14
-rw-r--r--fr_FR.ISO8859-1/articles/zip-drive/article.sgml304
30 files changed, 0 insertions, 13646 deletions
diff --git a/fr_FR.ISO8859-1/articles/Makefile b/fr_FR.ISO8859-1/articles/Makefile
deleted file mode 100644
index 90a0ff7873..0000000000
--- a/fr_FR.ISO8859-1/articles/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# The FreeBSD Documentation Project
-# The FreeBSD French Documentation Project
-#
-# $FreeBSD: doc/fr_FR.ISO_8859-1/articles/Makefile,v 1.1 1999/11/10 21:28:21 nik Exp $
-# 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
-SUBDIR+= committers-guide
-SUBDIR+= zip-drive
-
-ROOT_SYMLINKS+= new-users
-
-DOC_PREFIX?= ${.CURDIR}/../..
-.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/fr_FR.ISO8859-1/articles/Makefile.inc b/fr_FR.ISO8859-1/articles/Makefile.inc
deleted file mode 100644
index 8ca0ffdd9f..0000000000
--- a/fr_FR.ISO8859-1/articles/Makefile.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-#
-# The FreeBSD Documentation Project
-# The FreeBSD French Documentation Project
-#
-# $FreeBSD: doc/fr_FR.ISO_8859-1/articles/Makefile.inc,v 1.1 1999/11/10 21:28:21 nik Exp $
-# Original revision: 1.2
-#
-
-DESTDIR?= ${DOCDIR}/fr_FR.ISO_8859-1/articles/${.CURDIR:T}
diff --git a/fr_FR.ISO8859-1/articles/committers-guide/Makefile b/fr_FR.ISO8859-1/articles/committers-guide/Makefile
deleted file mode 100644
index 72c1d9b8c9..0000000000
--- a/fr_FR.ISO8859-1/articles/committers-guide/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# 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.ISO8859-1/articles/committers-guide/article.sgml b/fr_FR.ISO8859-1/articles/committers-guide/article.sgml
deleted file mode 100644
index eb9a85e71f..0000000000
--- a/fr_FR.ISO8859-1/articles/committers-guide/article.sgml
+++ /dev/null
@@ -1,1233 +0,0 @@
-<!--
- 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 sgml.todo SYSTEM "../../books/handbook/todo.sgml">
-<!ENTITY sgml.in-progress SYSTEM "../../books/handbook/in-progress.sgml">
-<!ENTITY rel.current CDATA "3.2">
-]>
-
-<article lang="fr">
- <artheader>
- <title>Le Guide du Nouveau
- &ldquo;<foreignphrase>Committer</foreignphrase>&rdquo;</title>
-
- <authorgroup>
- <author>
- <surname>Projet de Documentation de FreeBSD</surname>
- </author>
- </authorgroup>
-
- <pubdate>Septembre 1999</pubdate>
-
- <copyright>
- <year>1999</year>
- <holder>Projet de Documentation de FreeBSD</holder>
- </copyright>
-
- <abstract>
- <para>Nouveau &ldquo;<foreignphrase>committer</foreignphrase>&rdquo;,
- bienvenue dans l'&eacute;quipe de d&eacute;veloppement de FreeBSD&nbsp;!</para>
-
- <para>L'objectif de cette documentation est de vous orienter sur la
- fa&ccedil;on d'utiliser CVS sur la machine d'archive centrale de FreeBSD. Il
- est pr&eacute;sum&eacute; que vous avez d&eacute;j&agrave; une connaissance de base de CVS,
- quoique des informations de r&eacute;f&eacute;rence, des guides et Questions
- Fr&eacute;quemment Pos&eacute;es soient disponibles &agrave; l'adresse&nbsp;:
- <ulink url="http://www.cyclic.com/cyclic-pages/books.html">http://www.cyclic.com/cyclic-pages/books.html</ulink></para>
-
- <para>Bonne chance, et bienvenue &agrave; bord&nbsp;!</para>
-
- &abstract.license;
- &abstract.disclaimer;
- &trans.a.haby;
-
- </abstract>
- </artheader>
-
- <sect1 id="admin">
- <title>D&eacute;tails d'organisation</title>
-
- <informaltable frame="none" orient="port">
- <tgroup cols="2">
- <tbody>
- <row>
- <entry><emphasis>Machine d'archive principale</emphasis></entry>
- <entry><hostid>freefall.FreeBSD.org</hostid></entry>
- </row>
-
- <row>
- <entry>
- <emphasis>Machine d'archive internationale pour les codes de
- cryptographie</emphasis>
- </entry>
- <entry><hostid>internat.FreeBSD.org</hostid></entry>
- </row>
-
- <row>
- <entry><emphasis>M&eacute;thode de connexion</emphasis></entry>
- <entry>&man.ssh.1;</entry>
- </row>
-
- <row>
- <entry><emphasis>R&eacute;pertoire CVSROOT</emphasis></entry>
- <entry>/home/ncvs</entry>
- </row>
-
- <row>
- <entry><emphasis>R&eacute;pertoire CVSROOT pour la version internationale
- des codes de cryptographie</emphasis></entry>
- <entry>/home/cvs.crypt</entry>
- </row>
-
- <row>
- <entry><emphasis>Administrateurs des archives CVS
- principales</emphasis></entry>
- <entry>&a.jdp; et &a.peter; ainsi que &a.asami; pour
- <filename>ports/</filename></entry>
- </row>
-
- <row>
- <entry>
- <emphasis>Administrateur des archives CVS pour la version
- internationale des codes de cryptographie</emphasis>
- </entry>
- <entry>&a.markm;</entry>
- </row>
-
- <row>
- <entry><emphasis>Liste de diffusion</emphasis></entry>
- <entry><email>cvs-committers@FreeBSD.org</email></entry>
- </row>
-
- <row>
- <entry><emphasis>Etiquettes CVS importantes</emphasis></entry>
- <entry>RELENG_3 (3.x-STABLE), HEAD (-CURRENT)</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Il vous est demand&eacute; d'utiliser &man.ssh.1; ou &man.telnet.1;
- et Kerberos 5 pour vous connecter aux machines d'archive. Ces m&eacute;thodes
- sont globalement plus s&ucirc;res qu'un simple &man.telnet.1; ou
- &man.rlogin.1; parce que la n&eacute;gociation de l'authentification est
- crypt&eacute;e. Par d&eacute;faut &man.ssh.1; crypte toute la session. Les utilitaires
- disponibles &man.ssh-agent.1; et &man.scp.1; sont aussi bien plus
- pratiques. Si vous ne connaissez pas &man.ssh.1, reportez-vous &agrave; la
- <xref linkend="ssh.guide">.</para>
- </sect1>
-
- <sect1 id="cvs.operations">
- <title>Op&eacute;rations CVS</title>
-
- <para>Les op&eacute;rations CVS se font habituellement en se connectant &agrave;
- <hostid>freefall</hostid>, v&eacute;rifiant que votre variable d'environnement
- <envar>CVSROOT</envar> est bien positionn&eacute;e &agrave;
- <filename>/home/ncvs</filename>, et en effectuant les op&eacute;rations
- d'extraction (<foreignphrase>check-out</foreignphrase>) et de mise &agrave;
- jour (<foreignphrase>check-in</foreignphrase>) n&eacute;cessaires. Si vous
- avez quelque chose d'enti&eacute;rement nouveau &agrave; ajouter (un nouveau logiciel
- port&eacute;, du source d'origine externe, etc.), il existe une proc&eacute;dure
- appel&eacute;e <quote>easy-import</quote> qui facilite cette op&eacute;ration. Elle
- ajoute automagiquement une entr&eacute;e pour le nouveau module, fait ce qu'il
- faut via <command>cvs import</command>, etc. &ndash; ex&eacute;cutez-la sans
- arguments et elle vous demandera tout ce qu'elle a besoin de
- savoir.</para>
-
- <para>Si vous avez la pratique de CVS &agrave; distance et vous consid&eacute;rez
- relativement op&eacute;rationnel sur CVS en g&eacute;n&eacute;ral, vous pouvez aussi effectuer
- les op&eacute;rations CVS directement depuis votre machine avec une copie
- local &agrave; jour des sources. N'oubliez cependant pas de positionner
- <envar>CVS_RSH</envar> &agrave; <wordasword>ssh</wordasword> de fa&ccedil;on &agrave;
- utiliser un moyen de transmission s&eacute;curis&eacute; et fiable. D'une autre c&ocirc;t&eacute;,
- si vous ne savez pas ce que cela veut dire, tenez-vous en s'il vous
- pla&icirc;t &agrave; la m&eacute;thode qui consiste &agrave; vous connecter &agrave;
- <hostid>freefall</hostid> et mettre en place vos modifications avec
- &man.patch.1;.</para>
-
- <para>Si vous avez &agrave; utiliser les op&eacute;rations <command>add</command> et
- <command>delete</command> pour faire en fait une op&eacute;ration
- <quote>mv</quote>, il faut une copie sur l'archive plut&ocirc;t que votre
- commande CVS <command>add</command> suivie d'un
- <command>delete</command>. Dans ce cas, un <link
- linkend="conventions">Administrateur CVS</link> copiera le(s) fichier(s)
- l&agrave; o&ugrave; il(s) doi(ven)t aller et vous avertira une fois qu'il l'aura fait.
- Le but de la copie dans les archives est de conserver l'historique des
- modifications, la journalisation. Le Projet FreeBSD accorde une grande
- importance &agrave; l'historique du projet que CVS nous permet de
- conserver.</para>
- </sect1>
-
- <sect1 id="conventions">
- <title>Conventions et Traditions</title>
-
- <para>Les Administrateurs CVS (Peter Wemm et John Polstra) sont les
- <quote>propri&eacute;taires</quote> des archives CVS et sont responsables de
- chaque et de <emphasis>toute</emphasis> modification directe de
- celles-ci pour mise au propre ou rectification d'erreur CVS d&ucirc;e &agrave; un
- <foreignphrase>committer</foreignphrase>. Personne d'autre ne doit
- intervenir directement sur les archives. Si vous faites un fausse
- manipulation, une importation incorrecte ou vous trompez d'&eacute;tiquette
- par exemple, n'essayez <emphasis role="bold">pas</emphasis> de la
- rectifier vous-m&ecirc;me&nbsp;! Envoyez imm&eacute;diatement un courrier
- &eacute;lectronique ou t&eacute;l&eacute;phonez &agrave; John ou Peter et expliquez leur le
- probl&egrave;me. Satoshi Asami est aussi Administrateur CVS pour la partie
- <filename>ports/</filename> de l'arborescence. Mark Murray est
- l'administrateur des archives internationales pour les logiciels de
- cryptographie, en Afrique du Sud.</para>
-
- <para>Si vous &ecirc;tes nouveau <foreignphrase>committer</foreignphrase>, la
- premi&egrave;re chose &agrave; faire est de vous ajouter vous-m&ecirc;me &agrave; la liste des
- d&eacute;veloppeurs (section 28.2) du Manuel de R&eacute;f&eacute;rence. Extraire le manuel
- de r&eacute;f&eacute;rence et ajouter une entr&eacute;e &agrave; la liste est relativement facile,
- mais c'est n&eacute;anmoins un bon test initial de vos comp&eacute;tences CVS. Si
- vous pouvez le faire, vous n'aurez probablement pas de probl&egrave;mes par
- la suite.</para>
-
- <para>L'&eacute;tape suivante consiste &agrave; vous pr&eacute;senter aux autres
- <foreignphrase>committers</foreignphrase>, sans quoi ils n'auront aucune
- id&eacute;e de qui vous &ecirc;tes et &agrave; quoi vous travaillez. Il n'est pas
- n&eacute;cessaire de r&eacute;diger une biographie exhaustive, un paragraphe ou deux
- suffiront, pour dire qui vous &ecirc;tes et &agrave; quoi vous comptez travailler sur
- FreeBSD. Envoyez-les par courrier &eacute;lectronique &agrave;
- <email>cvs-committers@FreeBSD.org</email> et vous serez pr&ecirc;t &agrave; commencer
- &agrave; travailler&nbsp;!</para>
-
- <para>N'oubliez pas aussi de vous connecter &agrave;
- <hostid>hub.FreeBSD.org</hostid> et de vous y cr&eacute;ez un fichier
- <filename>/var/forward/<replaceable>utilisateur</replaceable></filename>
- (o&ugrave; <replaceable>utilisateur</replaceable> est votre nom d'utilisateur),
- qui contienne votre adresse de courrier &eacute;lectronique principale o&ugrave; vous
- souhaitez que le courrier &eacute;lectronique adress&eacute; &agrave;
- <replaceable>votre_nom_d_utilisateur</replaceable>@FreeBSD.org vous soit
- redirig&eacute;. Les bo&icirc;tes aux lettres vraiment volumineuses qui demeurent en
- en permanence sur <hostid>hub</hostid> sont souvent
- <quote>accidentellement</quote> tronqu&eacute;es sans avertissement, redirigez
- donc votre courrier, ou lisez-le, et vous ne le perdrez pas.</para>
-
- <para>Tous les nouveaux <foreignphrase>committers</foreignphrase> ont un
- mentor qui leur est assign&eacute; les premiers mois. Votre mentor est plus ou
- moins charg&eacute; de vous expliquer tout ce que vous ne comprenez pas bien et
- est aussi responsable de ce que vous faites &agrave; vos d&eacute;buts. Si vous faites
- une soummission erron&eacute;e, c'est votre mentor qui sera ennuy&eacute; et vous
- devriez probablement vous fixer comme ligne de conduite de faire passer
- vos premi&egrave;res soumissions par lui avant de les int&eacute;grer aux
- archives.</para>
-
- <para>Toutes les soumissions doivent &ecirc;tre int&eacute;gr&eacute;es d'abord &agrave;
- <literal>-CURRENT</literal>, avant d'aller dans
- <literal>-STABLE</literal>. Aucune nouvelle fonctionnalit&eacute; ou
- modification &agrave; haut risque ne devrait &ecirc;tre int&eacute;gr&eacute;e &agrave; la branche
- <literal>-STABLE</literal>.</para>
- </sect1>
-
- <sect1 id="developer.relations">
- <title>Relations entre d&eacute;veloppeurs</title>
-
- <para>Si vous travaillez directement sur votre propre code ou sur du code
- dont il est bien &eacute;tabli que vous avez la responsabilit&eacute;, il n'est
- probablement pas n&eacute;cessaire de valider ce que vous allez faire avec
- d'autres d&eacute;veloppeurs avant de soumettre du code. Si vous trouvez un
- bogue dans un module qui est manifestement orphelin (il y en a
- malheureusement quelques uns), cela s'y applique aussi. Si, au
- contraire, vous vous appr&ecirc;tez &agrave; modifier quelque chose qui est
- activement maintenu par quelqu'un d'autre (ce n'est qu'en surveillant
- la &a.cvsall; que vous pourrez vous faire une id&eacute;e de ce qu'il l'est et
- de ce qui ne l'est pas), envisagez alors de lui envoyer vos
- modifications, tout comme vous l'auriez fait quand vous n'&eacute;tiez pas
- <foreignphrase>committer</foreignphrase>. Pour les logiciels port&eacute;s,
- vous devriez contacter la personne list&eacute;e comme
- <makevar>MAINTAINER</makevar> dans le <filename>Makefile</filename>.
- Pour le reste des archives, si vous n'&ecirc;tes pas s&ucirc;r de qui maintient
- effectivement tel ou tel module, il peut &ecirc;tre utile de passer en revue
- le r&eacute;sultat de <command>cvs log</command> pour voir qui a soumis des
- modifications dans le pass&eacute;. Si vous ne trouvez personne, ou si la
- personne en charge montre un d&eacute;sinter&ecirc;t pour la partie en question,
- allez-y et faites vos modifications.</para>
-
- <para>Si vous avez pour une raison ou une autre des doutes &agrave; propos d'une
- soumission que vous envisagez, faites-la d'abord examiner par
- <literal>-hackers</literal> avant de l'int&eacute;grer. Il vaut mieux que l'on
- vous fasse des remarques alors, qu'une fois qu'elle fera partie des
- archives CVS. S'il vous arrive de soumettre quelque chose qui soul&egrave;ve
- une controverse, envisagez &eacute;ventuellement de faire marche arri&egrave;re
- en attendant que la question soit r&eacute;gl&eacute;e. N'oubliez pas &ndash; avec
- CVS, vous pourrez toujours remettre votre modification en
- service.</para>
- </sect1>
-
- <sect1 id="gnats">
- <title>GNATS</title>
-
- <para>Le Projet FreeBSD utilise <application>GNATS</application> pour
- enregistrer les rapports de bogues et les demandes de modification. Si
- vous effectuez une correction ou une modification d&eacute;crite dans un
- PR&nbsp;-&nbsp;<foreignphrase>Problem Report</foreignphrase>, rapport
- d'anomalie&nbsp;-&nbsp;<application>GNATS</application>, veillez &agrave;
- utiliser
- <command>edit-pr <replaceable>num&eacute;ro_de_pr</replaceable></command>
- sur <hostid>freefall</hostid> pour le fermer. L'usage veut aussi que
- vous preniez le temps de fermer les rapports ayant trait &agrave; vos
- soumission, le cas &eacute;ch&eacute;ant. Vous pouvez aussi utiliser vous-m&ecirc;me
- &man.send-pr.1; pour proposer les modifications dont vous pensez qu'il
- faut les probablement les faire, apr&egrave;s une revue plus extensive par
- les autres participants.</para>
-
- <para>Vous trouverez plus d'informations sur
- <application>GNATS</application> aux adresses suivantes&nbsp;:</para>
-
- <itemizedlist>
- <listitem>
- <para><ulink url="http://www.cs.utah.edu/csinfo/texinfo/gnats/gnats.html">http://www.cs.utah.edu/csinfo/texinfo/gnats/gnats.html</ulink></para>
- </listitem>
-
- <listitem>
- <para><ulink url="http://www.FreeBSD.org/support.html">http://www.FreeBSD.org/support.html</ulink></para>
- </listitem>
-
- <listitem>
- <para><ulink url="http://www.FreeBSD.org/send-pr.html">http://www.FreeBSD.org/send-pr.html</ulink></para>
- </listitem>
-
- <listitem>
- <para>&man.send-pr.1;</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1 id="people">
- <title>Who's Who</title>
-
- <para>En dehors de Peter Wemm et John Polstra, les administrateurs des
- archives, il y a d'autres membres du Projet FreeBSD que vous
- rencontrerez probablement dans votre nouvelle fonction de
- <foreignphrase>committer</foreignphrase>. Rapidement, et en aucun
- cas exhaustivement, ce sont&nbsp;:</para>
-
- <variablelist>
- <varlistentry>
- <term>&a.asami;</term>
-
- <listitem>
- <para>Est le reponsable du catalogue des logiciels port&eacute;s, ce qui
- signifie qu'il a le pouvoir de d&eacute;cision en ce qui concerne toute
- modification aux logiciels port&eacute;s et &agrave; leurs macros-instructions
- de compilation. Il est aussi responsable la gestion des gels du
- code entre deux versions.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>&a.bde;</term>
-
- <listitem>
- <para>Est l'<foreignphrase>Obersturmbahnfuhrer</foreignphrase> de la
- Police du Style. Quand vous soumettez quelque chose que vous
- auriez pu faire mieux, Bruce sera l&agrave; pour vous le signaler.
- Remerciez-le qu'il y ait quelqu'un pour le faire.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>&a.dg;</term>
-
- <listitem>
- <para>Est notre architecte principal et superviseur du syst&egrave;me de
- gestion de la m&eacute;moire virtuelle. Si vous envisagez une
- modification de ce syst&egrave;me, voyez cela avec David. Si vous &ecirc;tes
- pris dans une discussion &acirc;pre et insoluble avec un autre
- participant &agrave; propos d'une modification envisag&eacute;e (ce qui,
- heureusement, ne se produit pas souvent), il peut aussi
- occasionnellement &ecirc;tre n&eacute;cessaire de demander alors &agrave; David
- de mettre sa casquette d'Architecte Principal et de prendre la
- d&eacute;cision finale.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>&a.jkh;</term>
-
- <listitem>
- <para>Est le responsable des versions. Il a la charge de d&eacute;finir les
- dates but&eacute;es et de superviser le processus de mise en place de la
- nouvelle version. Pendant les gels du code, il a aussi le pouvoir
- de d&eacute;cision sur toutes les modifications sur la branche de code
- qui est en cours de finalisation. S'il y a quelque chose que vous
- voudriez voir reporter de <literal>-CURRENT</literal> dans
- <literal>-STABLE</literal> (quelqu'int&eacute;r&ecirc;t que cela puisse avoir &agrave;
- un moment donn&eacute;), c'est aussi la personne &agrave; qui il faut en
- parler.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>&a.markm;</term>
- <listitem>
- <para>Mark est le responsable des archives CVS internationales pour
- le code de cryptographie, sur
- <hostid>internat.FreeBSD.org</hostid> en Afrique du Sud.</para>
-
- <para>Mark supervise la plupart du code de cryptographie&nbsp;; si
- vous vous y envisagez des mises &agrave; jour, parlez-en s'il vous pla&icirc;t
- d'abord &agrave; Mark.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>&a.steve;</term>
-
- <listitem>
- <para>Steve est le responsable non officiel de
- <filename>/usr/src/bin</filename>. S'il y a quelque chose
- d'important que vous voudriez y voir, vous devriez probablement
- envisager d'abord cela avec Steve. Il est aussi administrateur des
- &ldquo;<foreignphrase>Problem Report</foreignphrase>&rdquo;, en
- coop&eacute;ration avec &a.phk;.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>&a.brian;</term>
-
- <listitem>
- <para>Maintient officiellement
- <filename>/usr/bin/ppp</filename> et
- <application>LPD</application>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>&a.wollman;</term>
-
- <listitem>
- <para>Si vous avez besoin d'un conseil sur des points obscurs du
- code r&eacute;seau ou n'&ecirc;tes pas certain d'une modification que vous
- envisagez &agrave; ce sous-syst&egrave;me, c'est avec Garrett qu'il faut en
- discuter.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </sect1>
-
- <sect1 id="ssh.guide">
- <title>Introduction rapide &agrave; <application>SSH</application></title>
-
- <procedure>
- <step>
- <para>Mettez &agrave; jour et installez le logiciel port&eacute;
- <application>ssh</application> dans
- <filename>/usr/ports/security/ssh</filename> (il faut une version
- 1.2.25 ou post&eacute;rieure).</para>
- </step>
-
- <step>
- <para>Veillez &agrave; ex&eacute;cuter &man.ssh-agent.1; avant toute autre
- application. Les utilisateurs de <application>X</application>, par
- exemple, le font habituellement depuis leur fichier
- <filename>.xsession</filename> ou
- <filename>.xinitrc</filename>. Reportez-vous &agrave; &man.ssh-agent.1;
- pour plus de d&eacute;tails.</para>
- </step>
-
- <step>
- <para>G&eacute;n&eacute;rez une paire de cl&eacute;s avec &man.ssh-keygen.1;. Ces cl&eacute;s
- seront cr&eacute;&eacute;es dans le r&eacute;pertoire
- <filename><envar>$HOME</envar>/.ssh</filename>.</para>
- </step>
-
- <step>
- <para>Copiez votre cl&eacute; publique
- (<filename><envar>$HOME</envar>/.ssh/identity.pub</filename>)
- dans le fichier <filename>authorized_keys</filename> de votre
- r&eacute;pertoire utilisateur sur <hostid>freefall</hostid>
- (i.e.
- <filename><envar>$HOME</envar>/.ssh/authorized_keys</filename>).
- </para>
- </step>
- </procedure>
-
- <para>Vous devriez maintenant pouvoir utiliser &man.ssh-add.1; pour vous
- authentifier &agrave; chaque d&eacute;but de session. Il vous demandera la phrase cl&eacute;
- pour votre cl&eacute; priv&eacute;e, et l'enregistrera via votre agent
- d'authentification (&man.ssh-agent.1;) de fa&ccedil;on &agrave; ce que vous n'ayez
- plus &agrave; la retaper &agrave; chaque fois.</para>
-
- <para>Testez en faisant quelque chose du style&nbsp;: <command>ssh
- freefall.FreeBSD.org ls /usr</command>.</para>
-
- <para>Pour plus d'informations, reportez-vous &agrave;
- <filename>/usr/ports/security/ssh</filename>, &man.ssh.1;,
- &man.ssh-agent.1;, &man.scp.1;, et &man.ssh-keygen.1;.</para>
- </sect1>
-
- <sect1>
- <title>R&eacute;gles &agrave; Suivre par les <foreignphrase>Committers</foreignphrase>
- FreeBSD</title>
-
- <orderedlist>
- <listitem>
- <para>Respectez les autres
- <foreignphrase>committers</foreignphrase>.</para>
- </listitem>
-
- <listitem>
- <para>Discutez de toute modification importante
- <emphasis>avant</emphasis> int&eacute;gration.</para>
- </listitem>
-
- <listitem>
- <para>Respectez les reponsables de la maintenance s'il y en a de
- d&eacute;finis par la variable <makevar>MAINTAINER</makevar> du
- <filename>Makefile</filename> ou dans le fichier
- <filename>MAINTAINER</filename> au premier niveau de
- l'arborescence.</para>
- </listitem>
-
- <listitem>
- <para>N'intervenez jamais directement sur les archives. Demandez au
- reponsable de ces archives de le faire.</para>
- </listitem>
-
- <listitem>
- <para>Toute modification controvers&eacute;e doit, si le responsable de
- la maintenance ou l'Architecte Principal le demande, &ecirc;tre annul&eacute;e
- jusqu'&agrave; ce que la discussion soit termin&eacute;e. Les modifications pour
- des questions de s&eacute;curit&eacute; peuvent &ecirc;tre effectu&eacute;es par l'Officier de
- S&eacute;curit&eacute;, malgr&eacute; les souhaits d'un responsable de la
- maintenance.</para>
- </listitem>
-
- <listitem>
- <para>Les modifications doivent &ecirc;tre faites dans
- <literal>-current</literal> avant d'&ecirc;tre report&eacute;es dans
- <literal>-stable</literal> sauf autorisation expresse du
- responsable des versions ou si elles ne s'appliquent pas &agrave;
- <literal>-current</literal>. Toute modification non triviale ni
- urgente doit rester au moins trois jours dans
- <literal>-current</literal> pour &ecirc;tre test&eacute;e suffisamment avant
- d'&ecirc;tre report&eacute;e. Le responsable des versions a les m&ecirc;mes
- pr&eacute;rogatives sur la branche <literal>-stable</literal> que celles
- d&eacute;crites, pour ce qui concerne l'Architecte Principal, par le r&egrave;gle
- #5.</para>
- </listitem>
-
- <listitem>
- <para>Ne vous disputez pas publiquement avec les autres
- <foreignphrase>committers</foreignphrase>&nbsp;; cela fait mauvais
- effet. Si vous &ecirc;tes en &ldquo;profond&rdquo; d&eacute;saccord sur un point,
- n'en discutez qu'en priv&eacute;.</para>
- </listitem>
-
- <listitem>
- <para>Respectez tous les gels du code et lisez r&eacute;guli&egrave;rement la liste
- de diffusion pour les <foreignphrase>committers</foreignphrase> pour
- savoir quand il y en a.</para>
- </listitem>
-
- <listitem>
- <para>En cas de doute sur une proc&eacute;dure, renseignez-vous
- d'abord&nbsp;!</para>
- </listitem>
-
- <listitem>
- <para>Testez vos modifications avant de les int&eacute;grer.</para>
- </listitem>
- </orderedlist>
-
- <para>Comme indiqu&eacute;, enfreindre l'un de ces r&egrave;gles peut entra&icirc;ner une
- suspension provisoire, et, en cas de r&eacute;cidive, une suppression
- permanente des privil&egrave;ges de <foreignphrase>committers</foreignphrase>.
- Trois membres ou plus de l'&eacute;quipe de base, ou l'Architecte Principal et
- un autre membre de l'&eacute;quipe de base, peuvent, s'ils en sont d'accord,
- suspendre temporairement ces privil&egrave;ges jusqu'&agrave; ce que l'ensemble de
- <literal>-core</literal> examine la question. En cas
- d'<quote>urgence</quote> (un <foreignphrase>committer</foreignphrase>
- endommageant les archives), une suspension provisoire peut aussi &ecirc;tre
- d&eacute;cid&eacute;e par l'un des administrateurs des archives ou tout autre membre
- de l'&eacute;quipe de base qui se trouve &ecirc;tre r&eacute;veill&eacute; &agrave; ce moment-l&agrave;. Seule la
- totalit&eacute; de l'&eacute;quipe de base peut suspendre pour une dur&eacute;e importante
- les droits d'un <foreignphrase>committer</foreignphrase>, ou les
- retirer d&eacute;finitivement, cette derni&egrave;re mesure n'&eacute;tant en g&eacute;n&eacute;ral prise
- qu'apr&egrave;s consultation avec les
- <foreignphrase>committers</foreignphrase>. Le but de cette r&egrave;gle n'est
- pas de faire de l'&eacute;quipe de base une bande de dictateurs cruels qui
- puissent disposer des <foreignphrase>committers</foreignphrase> comme de
- cannettes vides, mais d'avoir une sorte de fusible pour le projet. Si
- quelqu'un est s&eacute;v&egrave;rement incontr&ocirc;lable, il est important de pouvoir
- r&eacute;agir imm&eacute;diatement, au lieu d'&ecirc;tre paralys&eacute; par la discussion. Dans
- tous les cas, le <foreignphrase>committers</foreignphrase> dont les
- privil&egrave;ges sont suspendus a le droit d'&ecirc;tre &ldquo;entendu&rdquo;, c'est
- &agrave; ce moment-l&agrave; qu'il est d&eacute;cid&eacute; de la dur&eacute;e totale de la suspension. Il
- peut aussi demander un r&eacute;vision de la d&eacute;cision apr&egrave;s 30 jours et tous
- les 30 jours ensuite (&agrave; moins que la dur&eacute;e totale de la suspension soit
- inf&eacute;rieure &agrave; 30 jours). Quelqu'un &agrave; qui les privil&egrave;ges ont &eacute;t&eacute;
- d&eacute;finitivement retir&eacute; peut demander que son cas soit revu apr&egrave;s 6 mois.
- La proc&eacute;dure de r&eacute;vision est <emphasis>strictement
- informelle</emphasis>, et, dans tous les cas, l'&eacute;quipe de base se
- r&eacute;serve le droit de prendre en compte ou d'ignorer les demandes de
- r&eacute;vision, si elle pense que sa d&eacute;cision initiale &eacute;tait la bonne.</para>
-
- <para>Pour toutes les autres aspects du fonctionnement du projet, l'&eacute;quipe
- de base est un sous-ensemble des
- <foreignphrase>committers</foreignphrase> et est soumise aux
- <emphasis>m&ecirc;me</emphasis> r&egrave;gles. Ce n'est pas parce que quelqu'un
- appartient &agrave; l'&eacute;quipe de base qu'il est dispens&eacute; de suivre les
- instructions que l'on vient de donner, les &ldquo;pouvoirs
- sp&eacute;ciaux&rdquo; de l'&eacute;quipe de base ne sont effectifs que lorsqu'elle
- agit en tant que groupe, pas individuellement.
- Individuellement, nous sommes tous d'abord des
- <foreignphrase>committers</foreignphrase> et ensuite seulement membres
- de l'&eacute;quipe de base.</para>
-
- <sect2>
- <title>D&eacute;tails</title>
-
- <orderedlist>
- <listitem>
- <para>Respectez les autres
- <foreignphrase>committers</foreignphrase>.</para>
-
- <para>Cela signifie que vous devez traiter les autres
- <foreignphrase>committers</foreignphrase> en tant que groupe de
- co-d&eacute;veloppeurs qu'ils sont en fait. Malgr&eacute; nos tentatives
- occasionnelles pour prouver le contraire, on ne devient pas
- <foreignphrase>committer</foreignphrase> en &eacute;tant stupide et
- rien n'est plus irritant que d'&ecirc;tre trait&eacute; comme tel par un de vos
- collaborateurs. Que nous appr&eacute;cions toujours quelqu'un d'autre
- ou pas (chacun a ses jours sans), nous devons malgr&eacute; tout toujours
- <emphasis>traiter</emphasis> les autres avec respect, sans quoi
- c'est toute l'organisation de l'&eacute;quipe qui se d&eacute;sagr&egrave;ge
- rapidement.</para>
-
- <para>Etre capable de travailler ensemble &agrave; long terme est le plus
- grand atout du projet, bien plus important que n'importe quel
- s&eacute;rie de modifications du code, et transformer les discussions &agrave;
- propos du code en disputes qui affectent notre capacit&eacute; &agrave;
- travailler harmonieusement ensemble &agrave; long terme n'en vaut
- vraiment pas la peine, quelque justification que l'on puisse
- imaginer.</para>
-
- <para>Pour respecter cette r&egrave;gle, n'envoyez pas de courrier
- &eacute;lectronique quand vous &ecirc;tes en col&egrave;re et ne vous comportez en
- outre pas de fa&ccedil;on &agrave; para&icirc;tre inutilement aggressif aux autres.
- Commencez par vous calmer et r&eacute;fl&eacute;chissez &agrave; la mani&egrave;re la plus
- efficace de convaincre l(es) autre(s) personne(s) de la justesse
- de votre point de vue. Ne partez pas sur les chapeaux de roues
- pour vous sentir simplement imm&eacute;diatement mieux au prix d'une
- dispute &agrave; long terme. Non seulement c'est une mauvaise
- &ldquo;gestion des ressources&rdquo;, mais les responsables du
- projet sanctionneront s&eacute;v&eacute;rement les manifestations d'aggressivit&eacute;
- publiques et r&eacute;p&eacute;t&eacute;es, jusqu'&agrave; suspendre ou vous retirer
- d&eacute;finitivement vos privil&egrave;ges de
- <foreignphrase>committer</foreignphrase>. Ce n'est pas une chose
- qu'ils aiment le moins du monde faire, mais l'unit&eacute; est la
- priorit&eacute;. Aucune dose de code ou de judicieux conseils ne s'y
- mesure.</para>
- </listitem>
-
- <listitem>
- <para>Discutez de toute modification importante
- <emphasis>avant</emphasis> int&eacute;gration.</para>
-
- <para>Ce n'est pas dans les archives CVS que les modifications
- doivent &ecirc;tre int&eacute;gr&eacute;es pour validation ou discussion, cela doit
- se faire d'abord sur les listes de dicussion et &ecirc;tre int&eacute;gr&eacute;
- ensuite lorsqu'on est arriv&eacute; &agrave; quelque chose qui approche du
- consensus. Cela ne signifie pas que vous deviez demander la
- permission avant de corriger chaque erreur &eacute;vidente de syntaxe ou
- d'orthographe dans une page de manuel, mais simplement que vous
- devriez essayer de sentir quand vous envisagez une modification
- qui n'est pas aussi triviale et qui demande &agrave; &ecirc;tre discut&eacute;e au
- pr&eacute;alable. Les gens n'ont rien contre les modifications
- d'envergure si le r&eacute;sultat en est quelque chose de nettement
- meilleur que ce qu'ils avaient auparavant, mais ils n'aiment pas
- &ecirc;tre <emphasis>surpris</emphasis> par ces modifications. La
- meilleure fa&ccedil;on de vous assurer que vous allez dans le bon sens et
- de faire valider votre code par un ou plusieurs autres
- <foreignphrase>committers</foreignphrase>.</para>
-
- <para>En cas de doute, demandez une validation&nbsp;!</para>
- </listitem>
-
- <listitem>
- <para>Respectez les responsbales de la maintenance, s'il y en
- a.</para>
-
- <para>De nombreuses parties de FreeBSD n'&ldquo;appartiennent&rdquo;
- &agrave; personne, c'est-&agrave;-dire qu'il n'y aura personne pour pousser de
- hauts cris si vous faites des modifications sur &ldquo;leur&rdquo;
- terrain, mais il vaut mieux s'en assurer d'abord. Une de nos
- convention est de mettre une ligne indiquant qui maintient dans le
- <filename>Makefile</filename> du paquetage ou de la
- sous-arborescence activement maintenue par une ou plusieurs
- personnes&nbsp; voyez <ulink
- url="http://www.FreeBSD.org/handbook/policies.html">http://www.FreeBSD.org/handbook/policies.html</ulink>
- pour plus d'information &agrave; ce sujet. Quand il y a plusieurs
- personnes qui maintiennent une m&ecirc;me section de code, les
- soumissions d'une de ces personnes sur ces sections doivent &ecirc;tre
- revues par au moins une des autres personnes qui la maintiennent.
- Dans le cas o&ugrave; l'<quote>attribution</quote> n'est pas claire,
- vous pouvez aussi consulter les messages de CVS pour les
- fichiers concern&eacute;s, pour voir si quelqu'un a travaill&eacute; dessus
- r&eacute;cemment ou travaille de fa&ccedil;on pr&eacute;dominante sur ce
- domaine.</para>
-
- <para>Il y a d'autres parties de FreeBSD qui sont contr&ocirc;l&eacute;es par
- quelqu'un qui g&egrave;re tout un domaine de l'&eacute;volution de FreeBSD,
- l'internationalisation ou le r&eacute;seau par exemple. Reportez-vous &agrave;
- <ulink
- url="http://www.FreeBSD-fr.org/handbook/staff-who.html">http://www.FreeBSD.org/handbook/staff-who.html</ulink>
- pour avoir plus d'informations &agrave; ce sujet.</para>
- </listitem>
-
- <listitem>
- <para>N'intervenez jamais directement sur les archives. Demandez &agrave;
- un responsable des archives de le faire.</para>
-
- <para>C'est assez clair&nbsp;-&nbsp;vous n'avez pas le droit de
- faire de modifications directement sur les archives, point. En cas
- de difficult&eacute;s, adressez-vous &agrave; l'un des responsables des
- archives en envoyant un courrier &eacute;lectronique &agrave;
- <email>cvs@FreeBSD.org</email> et attendez qu'ils corrigent le
- probl&egrave;me et vous relancent. N'essayez pas de r&eacute;gler le probl&egrave;me
- vous-m&ecirc;me&nbsp;!</para>
-
- <para>Si vous envisagez de supprimer un &eacute;tiquette ou d'en mettre une
- nouvelle, ou bien d'importer du code sur nouvelle branche, il vous
- sera peut-&ecirc;tre utile de demander d'abord un avis. Nombreux sont
- ceux qui se trompent en faisant cela les premi&egrave;res fois et cela
- aboutit &agrave; la modification de nombreux fichiers et irrite les
- utilisateurs de <application>CVSup/CTM</application> qui recoivent
- tout &agrave; coup de nombreuses mises &agrave; jour inutiles.</para>
- </listitem>
-
- <listitem>
- <para>Toute modification controvers&eacute;e doit, si le responsable de
- la maintenance ou l'Architecte Principal le demande, &ecirc;tre annul&eacute;e
- jusqu'&agrave; ce que la discussion soit termin&eacute;e. Les modifications pour
- des questions de s&eacute;curit&eacute; peuvent &ecirc;tre effectu&eacute;es par l'Officier
- de S&eacute;curit&eacute;, malgr&eacute; les souhaits d'un responsable de la
- maintenance.</para>
-
- <para>Ce peut &ecirc;tre dur &agrave; avaler en cas de conflit (quand chaque
- partie est bien s&ucirc;r convaincue qu'elle a raison) mais CVS permet
- d'&eacute;viter de prolonger la dispute, il est bien plus facile de
- revenir sur les modifications, d'attendre que tout le monde se
- calme et d'essayer de voir quelle est la meilleure solution.
- S'il s'av&egrave;re que la modification &eacute;tait la bonne chose &agrave; faire,
- elle peut-&ecirc;tre facilement remise en service. Dans le cas contraire,
- les utilisateurs n'auront pas eu &agrave; subir l'&eacute;volution erronn&eacute;e le
- temps que tout le monde ait d&eacute;battu de sa pertinence. Il est tr&egrave;s
- rare que l'on ait &agrave; revenir sur des modifications archiv&eacute;es, parce
- que la discussion met la plupart du temps en &eacute;vidence les
- interventions controvers&eacute;s ou non justifi&eacute;es avant m&ecirc;me qu'elles
- n'aient &eacute;t&eacute; int&eacute;gr&eacute;es, mais dans les rares cas o&ugrave; cela se produit,
- il faut revenir en arri&egrave;re sans discuter de fa&ccedil;on &agrave; ce que l'on
- puisse imm&eacute;diatement examiner s'il y avait erreur ou non.</para>
- </listitem>
-
- <listitem>
- <para>Les modifications doivent &ecirc;tre faites dans
- <literal>-current</literal> avant d'&ecirc;tre report&eacute;es dans
- <literal>-stable</literal> sauf autorisation expresse du
- responsable des versions ou si elles ne s'appliquent pas &agrave;
- <literal>-current</literal>. Toute modification non triviale ni
- urgente doit rester au moins trois jours dans
- <literal>-current</literal> pour &ecirc;tre test&eacute;e suffisamment avant
- d'&ecirc;tre report&eacute;e. Le responsable des versions a les m&ecirc;mes
- pr&eacute;rogatives sur la branche <literal>-stable</literal> que celles
- d&eacute;crites, pour ce qui concerne l'Architecte Principal, par le r&egrave;gle
- #5</para>
-
- <para>C'est un autre point <quote>sans appel</quote> parce que c'est
- l'ing&eacute;nieur de version qui est en dernier lieu responsable (et
- encaisse les coups) si une modification s'av&egrave;re mal fond&eacute;e.
- Respectez s'il vous pla&icirc;t cette r&egrave;gle et coop&eacute;rez totalement
- avec le responsable des versions pour ce qui concerne la branche
- <literal>-stable</literal>. La gestion de la branche
- <literal>-stable</literal> peut parfois para&icirc;tre excessivement
- conservatrice &agrave; un observateur occasionnel, mais rappelez vous que
- c'est le principe m&ecirc;me de <literal>-stable</literal> et que
- <literal>-current</literal> suit d'autres r&egrave;gles. Il n'y a aucune
- raison d'avoir une branche <literal>-current</literal> si toutes
- les modifications vont imm&eacute;diatement dans
- <literal>-stable</literal>, sans pouvoir d'abord &ecirc;tre test&eacute;es par
- les d&eacute;veloppeurs de <literal>-current</literal>, laissez donc
- passer un peu de temps avant de les reporter dans
- <literal>-stable</literal>, &agrave; moins que la modification ne soit
- critique, urgente, ou suffisamment triviale pour rendre tout
- test ult&eacute;rieur superflu (correction d'ortographe dans les pages
- de manuel, de bogue flagrant ou de faute de frappe, etc.) En
- d'autres termes, faites preuve de bon sens.</para>
- </listitem>
-
- <listitem>
- <para>Ne vous disputez pas publiquement avec les autres
- <foreignphrase>committers</foreignphrase>&nbsp;; cela fait mauvais
- effet. Si vous &ecirc;tes en &ldquo;profond&rdquo; d&eacute;saccord sur un point,
- n'en discutez qu'en priv&eacute;.</para>
-
- <para>Le projet a une image publique &agrave; conserver et cette image est
- tr&egrave;s importante pour nous tous, en particulier si nous voulons
- continuer &agrave; attirer de nouveaux membres. Il y aura des situations
- o&ugrave;, malgr&eacute; tous les efforts de chacun pour rester mesur&eacute;s,
- certains perdront leur calme et laisserons leur col&egrave;re s'exprimer,
- et le mieux que nous puissions faire est d'essayer d'en minimiser
- les effets jusqu'&agrave; ce que chacun se soit de nouveau calm&eacute;. Cela
- signifie que vous ne devez ni laisser exprimer votre col&egrave;re en
- public, ni faire suivre de courriers priv&eacute;s sur des listes ou des
- alias publics. Ce que les gens se disent entre eux est souvent
- moins &eacute;dulcor&eacute; que ce qu'ils disent en public, et ce type
- d'&eacute;change n'y a donc pas sa place&nbsp;-&nbsp;cela ne peut
- qu'envenimer une situation d&eacute;j&agrave; regrettable. Si la personne qui
- vous adresse des reproches prend au moins la pr&eacute;caution de le
- faire en priv&eacute;, ayez vous aussi la correction de le garder pour
- vous. Si vous estimez avoir &eacute;t&eacute; injustement trait&eacute; par un autre
- d&eacute;veloppeur et que cela vous soucie, parlez-en &agrave; l'&eacute;quipe de base
- plut&ocirc;t qu'en public. Nous ferons de notre mieux pour jouer les
- m&eacute;diateurs et ramener les choses au raisonnable. Quand la
- discussion a trait &agrave; une modifications de code et que les
- participants n'arrivent apparemment pas &agrave; se mettre d'accord,
- l'&eacute;quipe de base peut d&eacute;signer une troisi&egrave;me partie ayant l'accord
- mutuel pour r&eacute;soudre le probl&egrave;me. Les autres personnes impliqu&eacute;es
- doivent alors accepter de se plier aux d&eacute;cisions de cette
- troisi&egrave;me partie.</para>
- </listitem>
-
- <listitem>
- <para>Respectez tous les gels du code et lisez r&eacute;guli&egrave;rement la
- liste de diffusion pour les
- <foreignphrase>committers</foreignphrase> pour savoir quand il y
- en a.</para>
-
- <para>Soumettre des modifications pendant un gel du code est
- vraiment une grave erreur et l'on attend des
- <foreignphrase>committers</foreignphrase> qu'ils se tiennent au
- courant de ce qui se passe avant de se remanifester apr&egrave;s une
- longue absence et soumettre 10 Mo de code accumul&eacute;s pendant ce
- temps. Les gens qui se comportent r&eacute;guli&egrave;rement de cette fa&ccedil;on
- verront leurs privil&egrave;ges de
- <foreignphrase>committers</foreignphrase> suspendus jusqu'&agrave; leur
- retour du Joyeux Camp de R&eacute;&eacute;ducation de FreeBSD que nous g&eacute;rons
- au Gröenland.</para>
- </listitem>
-
- <listitem>
- <para>En cas de doute sur une proc&eacute;dure, renseignez-vous
- d'abord&nbsp;!</para>
-
- <para>De nombreuses erreurs sont commises parce que quelqu'un est
- press&eacute; et estime qu'il sait quelle est la meillleure fa&ccedil;on de
- faire quelque chose. Il y a des bonnes chances que vous ne sachiez
- en fait pas comment faire ce que vous n'avez encore jamais fait et
- que vous ayez vraiment besoin de demander d'abord sans quoi vous
- allez vous mettre publiquement dans l'embarras. Il n'y a aucune
- honte &agrave; demander &ldquo;Comment diable fait-on cela&nbsp?&rdquo;,
- nous savons d&eacute;j&agrave; que vous &ecirc;tes quelqu'un d'intelligent, sans quoi
- vous ne seriez pas
- <foreignphrase>committer</foreignphrase>.</para>
- </listitem>
-
- <listitem>
- <para>Testez vos modifications avant de les int&eacute;grer.</para>
-
- <para>Cela peut para&icirc;tre &eacute;vident, mais si c'&eacute;tait vraiment le cas,
- nous ne verrions probablement pas autant de cas o&ugrave; les gens ne le
- font manifestement pas. Si vos modifications touchent le noyau,
- v&eacute;rifiez que vous pouvez toujours compiler et
- <literal>GENERIC</literal> et <literal>LINT</literal>. Si vos
- modifications s'appliquent ailleurs, assurez-vous que vous pouvez
- toujours compiler l'ensemble du syst&egrave;me&nbsp;-&nbsp;<command>make
- world</command>. Si vous faites vos modifications sur une branche
- donn&eacute;e, veillez &agrave; tester vos modifications sur une machine qui
- utilise cette version du syst&egrave;me. Si votre modifications risque
- de poser des probl&egrave;mes sur une autre architecture mat&eacute;rielle,
- veillez &agrave; tester sur toutes les architectures support&eacute;es. Nous
- n'avons actuellement qu'x86 et Alpha, c'est donc assez facile &agrave;
- faire. Si vous avez besoin de tester sur l'AXP, votre compte sur
- <hostid role="fqdn">beast.FreeBSD.org</hostid> vous permet de
- compiler et tester des binaires/noyaux/etc. sur Alpha. Quand
- d'autres architectures seront ajout&eacute;es &agrave; la liste des
- plates-formes support&eacute;es par FreeBSD, des ressources partag&eacute;es
- de test seront disponibles.</para>
- </listitem>
- </orderedlist>
- </sect2>
-
- <sect2>
- <title>Autres suggestions</title>
-
- <para>Quand vous int&eacute;grez des modifications de la documentation,
- utilisez un correcteur orthographique avant de soumettre. Pour toutes
- les documentations en SGML, vous devrirez aussi v&eacute;rifier que vos
- directives de formatage sont valides, avec un <command>make
- lint</command>.</para>
-
- <para>Pour toutes les pages de manuel en ligne, servez-vous de
- <command>manck</command> (au catalogue des logiciels port&eacute;s) sur la
- page pour v&eacute;rifier que toutes les r&eacute;f&eacute;rences crois&eacute;es et noms de
- fichiers sont corrects et que les <makevar>MKLINK</makevar>s
- appropri&eacute;s sont install&eacute;s.</para>
- </sect2>
- </sect1>
-
- <sect1>
- <title>Questions Fr&eacute;quemment Pos&eacute;es propres aux logiciels port&eacute;s</title>
-
- <qandaset>
- <qandadiv>
- <title>Importer un nouveau logiciel</title>
-
- <qandaentry>
- <question>
- <para>Comment faire pour importer un nouveau logiciel&nbsp;?</para>
- </question>
-
- <answer>
- <para>Lisez s'il vous pla&icirc;t d'abord la section sur la copie des
- archives.</para>
-
- <para>Pour importer un nouveau logiciel, le plus facile est
- d'utiliser la proc&eacute;dure <command>easy-import</command> sur
- <hostid>freefall</hostid>. Elle vous posera quelques questions
- et importera directement le logiciel dans le r&eacute;pertoire que vous
- aurez indiqu&eacute;. Elle a &eacute;t&eacute; &eacute;crite par &a.joerg;, envoyez-lui
- s'il vous pla&icirc;t un courrier &eacute;lectronique si vous avez des
- questions &agrave; propos de <command>easy-import</command>.</para>
-
- <para>Il y a une chose qu'elle ne fera pas &agrave; votre place&nbsp;:
- ajouter le logiciel au <filename>Makefile</filename> du
- r&eacute;pertoire de niveau sup&eacute;rieur (cat&eacute;gorie). Il faudra le faire
- vous-m&ecirc;me.</para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question>
- <para>Y'a-t-il d'autres choses qu'il faut que je sache quand
- j'importe un nouveau logiciel&nbsp;?</para>
- </question>
-
- <answer>
- <para>V&eacute;rifiez votre portage, pour vous assurez qu'il compile et
- que le paquetage est correctement construit. Voici ce qu'il est
- recommand&eacute; de faire&nbsp;:</para>
-
- <screen>&prompt.user; <userinput>make install</userinput>
-&prompt.user; <userinput>make package</userinput>
-&prompt.user; <userinput>make deinstall</userinput>
-&prompt.user; <userinput>pkg_add <replaceable>le_paquetage_que_vous_venez_de_compiler</replaceable></userinput>
-&prompt.user; <userinput>make deinstall</userinput>
-&prompt.user; <userinput>make reinstall</userinput>
-&prompt.user; <userinput>make package</userinput>
- </screen>
-
- <para>Le chapitre
- <ulink url="../handbook/porting.html">faire vous-m&ecirc;me un
- portage</ulink> du Manuel de R&eacute;f&eacute;rence vous donnera des
- instructions plus d&eacute;taill&eacute;es.</para>
-
- <para>Utilisez &man.portlint.1; pour v&eacute;rifier la syntaxe du
- portage. Il n'est pas indispensable d'&eacute;liminer la totalit&eacute; des
- messages d'avertissement, mais veillez &agrave; r&eacute;gler les probl&egrave;mes
- les plus &eacute;vidents.</para>
-
- <para>Si le logiciel port&eacute; a &eacute;t&eacute; soumis par quelqu'un qui n'a
- jamais collabor&eacute; au projet auparavant, ajoutez le nom de cette
- personne &agrave; la section <citetitle pubwork="section">Autres
- Collaborateurs</citetitle> du Manuel de R&eacute;f&eacute;rence.</para>
-
- <para>Fermez le PR, si le portage r&eacute;sulte d'un PR. Pour fermer un
- PR, il suffit d'ex&eacute;cuter <userinput>edit-pr
- <replaceable>PR#</replaceable></userinput> sur
- <hostid>freefall</hostid> et de modifier la valeur de la
- variable <varname>state</varname> de <constant>open</constant>
- en <constant>closed</constant>. On vous demandera d'entrer un
- commentaire, et c'est tout.</para>
- </answer>
- </qandaentry>
- </qandadiv>
-
- <qandadiv>
- <title>Copies des archives</title>
-
- <qandaentry>
- <question>
- <para>Quand avons-nous besoin qu'une op&eacute;ration de copie soit faite
- sur les archives&nbsp;?</para>
- </question>
-
- <answer>
- <para>Quand vous voulez importer un logiciel en rapport avec un
- autre logiciel d&eacute;j&agrave; archiv&eacute; dans un autre r&eacute;pertoire, envoyez
- s'il vous pla&icirc;t un courrier &eacute;lectronique au responsable des
- logiciels port&eacute;s pour lui demander son avis.
- <wordasword>En rapport</wordasword> d&eacute;signe ici une version
- diff&eacute;rente ou une version l&eacute;g&egrave;rement modifi&eacute;e. En exemple, on
- peut citer <filename>print/ghostscript*</filename> (versions
- diff&eacute;rentes) et <filename>x11-wm/windowmaker*</filename>
- (version Anglaise et version internationalis&eacute;e).</para>
-
- <para>Comme autre exemple, on peut citer le cas d'un logiciel port&eacute;
- d&eacute;plac&eacute; d'un sous-r&eacute;pertoire &agrave; un autre, ou d'une modification du
- nom d'un r&eacute;pertoire parce que l'auteur a chang&eacute; le nom de son
- logiciel, bien qu'il d&eacute;rive d'un logiciel d&eacute;j&agrave; import&eacute;.</para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question>
- <para>Quand n'avons-nous <emphasis>pas</emphasis> besoin q'une
- op&eacute;ration de copie soit faite sur les archives&nbsp;?</para>
- </question>
-
- <answer>
- <para>Quand il n'y a pas d'historique &agrave; conserver. Si un logiciel
- est import&eacute; dans une cat&eacute;gorie erronn&eacute;e et imm&eacute;diatement
- d&eacute;plac&eacute;, il suffit d'un simple <command>cvs remove</command> de
- l'ancien suivi d'un <command>cvs import</command> du
- nouveau.</para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question>
- <para>Que faut-il que je fasse&nbsp;?</para>
- </question>
-
- <answer>
- <para>Envoyez un courrier &eacute;lectronique au responsable des
- logiciels port&eacute;s, qui fera la copie de l'ancien emplacement vers
- le nouveau. Vous en serez averti, et l'on attendra alors de vous
- que vous ex&eacute;cutiez les op&eacute;rations suivantes&nbsp;:</para>
-
- <procedure>
- <step>
- <para><command>cvs remove</command> de l'ancien logiciel (si
- besoin est),</para>
- </step>
-
- <step>
- <para>Correction du <filename>Makefile</filename> de niveau
- sup&eacute;rieur (cat&eacute;gorie),</para>
- </step>
-
- <step>
- <para>Mise &agrave; jour de
- <filename>CVSROOT/modules</filename></para>
- </step>
-
- <step>
- <para>Si d'autres logiciels d&eacute;pendent de celui qui vient
- d'&ecirc;tre mis &agrave; jour, correction des lignes d&eacute;crivant leurs
- d&eacute;pendendances dans leurs
- <filename>Makefile</filename>s,</para>
- </step>
-
- <step>
- <para>Si le logiciel a chang&eacute; de cat&eacute;gories, modification en
- cons&eacute;quence de la ligne <makevar>CATEGORIES</makevar> du
- <filename>Makefile</filename> du logiciel.</para>
- </step>
- </procedure>
- </answer>
- </qandaentry>
- </qandadiv>
-
- <qandadiv>
- <title>Gel des logiciels port&eacute;s</title>
-
- <qandaentry>
- <question>
- <para>Qu'est-ce qu'un <quote>gel des logiciels
- port&eacute;s</quote>&nbsp;?</para>
- </question>
-
- <answer>
- <para>Avant livraison d'une nouvelle version, il est n&eacute;cessaire de
- limiter les interventions sur les archives des logiciels port&eacute;s
- pendant une courte p&eacute;riode, le temps que les paquetages et la
- version elle-m&ecirc;me soient compil&eacute;s. Cela pour garantir la
- coh&eacute;rence entre les diff&eacute;rents composants de la version, c'est
- cela que l'on appelle le <quote>gel des logiciels
- port&eacute;s</quote>.</para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question>
- <para>Combien de temps dure ce gel&nbsp;?</para>
- </question>
-
- <answer>
- <para>Habituellement deux &agrave; trois jours.</para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question>
- <para>Qu'est-ce que cela signifie pour moi &nbsp;?</para>
- </question>
-
- <answer>
- <para>Pendant le gel des logiciels port&eacute;s, vous ne devez pas
- soumettre quoi que ce soit dans l'arborescence des logiciels
- port&eacute;s, sauf autorisation explicite du responsable des
- logiciels. <quote>Autorisation explicite</quote> correspond ici
- &agrave; l'un des deux cas de figure suivants&nbsp;:</para>
-
- <itemizedlist>
- <listitem>
- <para>Vous avez pos&eacute; la question au responsable des logiciels,
- et il vous a r&eacute;pondu&nbsp;: <quote>Allez-y,
- int&eacute;grez</quote>.</para>
- </listitem>
-
- <listitem>
- <para>Le responsable des ports vous a envoy&eacute; un courrier
- &eacute;lectronique, soit directement, soit &agrave; la liste de
- diffusion, pour signaler un probl&egrave;me &agrave; corriger sur le
- logiciel.</para>
- </listitem>
- </itemizedlist>
-
- <para>Notez bien que vous n'&ecirc;tes pas implicitement autoris&eacute; &agrave;
- corriger un logiciel pendant un gel simplement parce qu'il ne
- compile plus.</para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question>
- <para>Comment suis-je averti du d&eacute;but du gel des
- logiciels&nbsp;?</para>
- </question>
-
- <answer>
- <para>Le responsable des logiciels port&eacute;s enverra des messages
- d'avertissement sur la &a.ports; et la &a.committers; pour
- annoncer la mise en oeuvre prochaine d'une nouvelle version,
- habituellement deux &agrave; trois semaines &agrave; l'avance. La date exacte
- ne sera d&eacute;finitivement fix&eacute;e que quelques jours avant. Cela
- parce que le gel des logiciels doit &ecirc;tre synchronis&eacute; avec la
- mise en oeuvre de la version elle-m&ecirc;me, et que ce n'est qu'&agrave; ce
- moment-l&agrave; que l'on sait exactement quand cette op&eacute;ration aura
- lieu.</para>
-
- <para>Quand le gel commencera, il y aura bien s&ucirc;r une nouvelle
- annonce sur la &a.committers;.</para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question>
- <para>Comment suis-je averti de la fin du gel des
- logiciels&nbsp;?</para>
- </question>
-
- <answer>
- <para>Quelques heures apr&egrave;s la mise en place de la nouvelle
- version, le responsable des logiciels enverra un courrier
- &eacute;lectronique &agrave; la &a.ports; et &agrave; la &a.committers pour annoncer
- la fin du gel des logiciels. Remarquez que la finalisation de la
- version n'implique pas automatiquement la fin du gel. Nous
- devons nous assurer qu'un probl&egrave;me de derni&egrave;re minute ne demande
- pas de reconstruction imm&eacute;diate de la version.</para>
- </answer>
- </qandaentry>
- </qandadiv>
-
- <qandadiv>
- <title>Questions diverses</title>
-
- <qandaentry>
- <question>
- <para>Comment sais-je si un logiciel port&eacute; compile correctement ou
- non&nbsp;?</para>
- </question>
-
- <answer>
- <para>Commencez par consulter
- <ulink url="http://bento.FreeBSD.org/~asami/errorlogs/">http://bento.FreeBSD.org/~asami/errorlogs/</ulink>.
- Vous y trouverez les messages d'erreurs des derni&egrave;res
- compilations des logiciels port&eacute;s sous
- <literal>3-stable</literal> et
- <literal>4-current</literal>.</para>
-
- <para>N&eacute;anmoins, il ne suffit pas qu'un logiciel n'y apparaisse
- pas pour pouvoir dire qu'il compile correctement. (Une de ses
- d&eacute;pendances, par exemple, peut ne pas avoir compil&eacute;.) Voici les
- r&eacute;pertoires de <hostid>bento</hostid>, n'h&eacute;sitez pas &agrave; aller y
- voir&nbsp;:</para>
-
- <programlisting>
-/a/asami/portbuild/3/errors messages d'erreur de la derni&egrave;re compilation de 3-stable
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/logs tous les messages de la derni&egrave;re compilation de 3-stable
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/packages messages d'erreur sur les paquetages de la derni&egrave;re compilation 3-stable
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/bak/errors messages d'erreur de la derni&egrave;re compilation int&eacute;grale de 3-stable
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/bak/logs tous les messages de la derni&egrave;re compilation de l'int&eacute;grale de 3-stable
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/bak/packages messages d'erreur sur les paquetages de la derni&egrave;re compilation int&eacute;grale de 3-stable
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/4/errors messages d'erreur de la derni&egrave;re compilation de 4-current
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/logs tous les messages de la derni&egrave;re compilation de 4-current
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/packages messages d'erreur sur les paquetages de la derni&egrave;re compilation 4-current
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/bak/errors messages d'erreur de la derni&egrave;re compilation int&eacute;grale de 4-current
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/bak/logs tous les messages de la derni&egrave;re compilation de l'int&eacute;grale de 4-current
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/bak/packages messages d'erreur sur les paquetages de la derni&egrave;re compilation int&eacute;grale de 4-current
- </programlisting>
-
- <para>Essentiellement, si le logiciel apparait dans
- <filename>packages</filename>, ou dans
- <filename>logs</filename> mais pas dans
- <filename>errors</filename>, il compile correctement. (Les
- r&eacute;pertoires <filename>errors</filename> contiennent ce que vous
- voyez sur la page Web.)</para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question>
- <para>J'ai import&eacute; un nouveau logiciel. Dois-je l'ajouter au
- fichier <filename>INDEX</filename>&nbsp;?</para>
- </question>
-
- <answer>
- <para>Non. Le responsable des logiciels port&eacute;s reg&eacute;n&egrave;re
- l'<filename>INDEX</filename> et l'int&egrave;gre r&eacute;guli&egrave;rement aux
- archives.</para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question>
- <para>Y'a-t-il d'autres fichiers auxquels je ne dois pas
- toucher&nbsp;?</para>
- </question>
-
- <answer>
- <para>Tous les fichiers imm&eacute;diatement dans
- <filename>ports/</filename>, et tous les fichiers des
- sous-r&eacute;pertoires dont le nom commence par une majuscule
- (<filename>Mk</filename>, <filename>Tools</filename>, etc.). Le
- responsable des logiciels est particuli&egrave;rement susceptible pour
- ce qui touche &agrave; <filename>ports/Mk/bsd.port.mk</filename>, n'y
- touchez donc pas &agrave; moins que vous ne vouliez affronter son
- courroux.</para>
- </answer>
- </qandaentry>
- </qandadiv>
- </qandaset>
- </sect1>
-</article>
diff --git a/fr_FR.ISO8859-1/articles/ddwg/Makefile b/fr_FR.ISO8859-1/articles/ddwg/Makefile
deleted file mode 100644
index 68714b471c..0000000000
--- a/fr_FR.ISO8859-1/articles/ddwg/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# The FreeBSD Documentation Project
-# The FreeBSD French Documentation Project
-#
-# $Id: Makefile,v 1.1 2000-06-01 19:14:23 gioria Exp $
-# 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.ISO8859-1/articles/ddwg/article.sgml b/fr_FR.ISO8859-1/articles/ddwg/article.sgml
deleted file mode 100644
index 012e35654a..0000000000
--- a/fr_FR.ISO8859-1/articles/ddwg/article.sgml
+++ /dev/null
@@ -1,1861 +0,0 @@
-<!--
- The FreeBSD Documentation Project
- The FreeBSD French Documentation Project
-
- $Id: article.sgml,v 1.1 2000-06-01 19:14:23 gioria Exp $
- 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>Le guide de l'auteur de pilotes de p&eacute;riph&eacute;riques pour FreeBSD</title>
- <authorgroup>
- <author>
- <firstname>Eric L.</firstname>
- <surname>Hernes</surname>
- </author>
- </authorgroup>
- &artheader.copyright;
- <abstract>
- <para><email>erich@rrnet.com</email></para>
- <para>29 Mai 1996</para>
- <para>Ce document d&eacute;crit comment ajouter un module de gestion de
-p&eacute;riph&eacute;rique &agrave; FreeBSD. Il <emphasis>n'est pas</emphasis> destin&eacute; pour &ecirc;tre un
-cours d'instruction sur des modules de gestion de p&eacute;riph&eacute;rique
-d'Unix en g&eacute;n&eacute;ral. Il est destin&eacute; pour les auteurs de module de
-gestion de p&eacute;riph&eacute;rique, au courant du mod&egrave;le de module de gestion
-de p&eacute;riph&eacute;rique d'Unix, pour travailler sur FreeBSD.
- </para>
- &abstract.license;
- &abstract.disclaimer;
- &trans.a.dntt;
- </abstract>
- </artheader>
-
-
-<sect1>
-<title>Sp&eacute;cificit&eacute; de FreeBSD2.x</title>
-
-<para>Dû aux changements de FreeBSD avec le temps, ce guide est
-seulement pr&eacute;cis en ce qui concerne FreeBSD 2.x. Un guide de
-rechange pour FreeBSD 3.x et au-del&agrave; est en train d'&ecirc;tre &eacute;crit.
-Contactez Jeroen Ruigrok <email>asmodai@wxs.nl</email> si
-vous voulez l'aider &agrave; ce sujet.
-</para>
-</sect1>
-
-
-<sect1>
-<title>G&eacute;n&eacute;ralit&eacute;</title>
-
-<para> <emphasis>Le noyau de FreeBSD est tr&egrave;s bien
-document&eacute;, malheureusement il est enti&egrave;rement &eacute;crit en `C'.</emphasis>
-</para>
-</sect1>
-
-<sect1>
-<title>Types de pilotes de module de p&eacute;riph&eacute;riques.</title>
-
-<sect2>
-<title>Caract&egrave;re</title>
-
-<sect3>
-<title>Structures de donn&eacute;es</title>
-
-<para>Structure <citerefentry><refentrytitle>cdevsw</refentrytitle></citerefentry></para>
-</sect3>
-
-<sect3>
-<title>Points d'entr&eacute;e</title>
-
-<sect4>
-<title><function>d_open()</function></title>
-<para>
-<function>d_open()</function> prend plusieurs arguments, la liste formelle ressemble &agrave;
-quelque chose comme :
-</para>
-
-<programlisting>
-int
-d_open(dev_t dev, int flag, int mode, struct proc *p)
-</programlisting>
-
-<para><function>d_open()</function> est appel&eacute; &agrave; <emphasis>chaque</emphasis> ouverture du p&eacute;riph&eacute;rique.</para>
-
-<para>L'argument <citerefentry><refentrytitle>dev</refentrytitle></citerefentry> contient le nombre majeur et mineur du
-p&eacute;riph&eacute;rique ouvert. Ils sont disponibles par les macros
-<citerefentry><refentrytitle><function>major()</function></refentrytitle></citerefentry> et <citerefentry><refentrytitle><function>minor()</function></refentrytitle></citerefentry>
-</para>
-
-<para>Les arguments <citerefentry><refentrytitle>flag</refentrytitle></citerefentry> et <citerefentry><refentrytitle>mode</refentrytitle></citerefentry> sont comme d&eacute;crits sur
-la page de manuel de
-<ulink url="http://www.freebsd.org/cgi/man.cgi?open(2)">open</ulink>.
-Il est recommand&eacute; que vous examiniez
-ces derniers pour vous assurer des droits d'acc&egrave;s dans &lt;sys/fcntl.h>
-et faire ce qui est exig&eacute;. Par exemple si <citerefentry><refentrytitle>flag </refentrytitle></citerefentry> est
-(O_NONBLOCK | O_EXLOCK) l'ouverture &eacute;chouerait si il bloquait ou
-si l'acc&egrave;s exclusif ne pouvait pas &ecirc;tre accord&eacute;.
-</para>
-
-<para>
-L'argument <citerefentry><refentrytitle>p</refentrytitle></citerefentry> contient toutes les informations &agrave; propos du
-processus actuel.
-</para>
-</sect4>
-
-<sect4>
-<title><function>d_close()</function></title>
-<para> <function>d_close()</function> prend la m&ecirc;me liste d'argument que <function>d_open()</function>:
-</para>
-
-<programlisting>
-int
-d_close(dev_t dev , int flag , int mode , struct proc *p)
-</programlisting>
-
-<para><function>d_close()</function> est seulement appel&eacute; &agrave; la derni&egrave;re fermeture de votre
-p&eacute;riph&eacute;rique (par p&eacute;riph&eacute;rique mineur). Par exemple dans le fragment
-suivant de code, <function>d_open()</function> est appel&eacute; 3 fois, mais <function>d_close()</function>
-seulement une fois.
-</para>
-
-<programlisting>
- ...
- fd1=open("/dev/mydev", O_RDONLY);
- fd2=open("/dev/mydev", O_RDONLY);
- fd3=open("/dev/mydev", O_RDONLY);
- ...
- &lt;useful stuff with fd1, fd2, fd3 here>
- ...
- close(fd1);
- close(fd2);
- close(fd3);
- ...
-</programlisting>
-
-<para>Les arguments sont semblables &agrave; ceux d&eacute;crits ci-dessus pour
-<function>d_open()</function>.
-</para>
-</sect4>
-
-<sect4>
-<title><function>d_read()</function> et <function>d_write()</function></title>
-
-<para><function>d_read()</function> et d_write prennent les listes suivantes d'argument:
-</para>
-
-<programlisting>
-int
-d_read(dev_t dev, struct uio *uio, int flat)
-int
-d_write(dev_t dev, struct uio *uio, int flat)
-</programlisting>
-
-<para>
-Les points d'entr&eacute;e de <function>d_read()</function> et de <function>d_write()</function> sont appel&eacute;s quand
-<ulink url="http://www.freebsd.org/cgi/man.cgi?read(2)">read</ulink> et
-<ulink url="http://www.freebsd.org/cgi/man.cgi?write(2)">write</ulink>
-sont appel&eacute;s sur votre p&eacute;riph&eacute;rique depuis l'espace utilisateur. Le transfert
-des donn&eacute;es peut &ecirc;tre manipul&eacute; par la routine du noyau <function>uiomove()</function>.
-</para>
-</sect4>
-
-<sect4>
-<title><function>d_ioctl()</function></title>
-
-<para> Sa liste d'argument est comme suit:
-</para>
-<programlisting>
-int
-d_ioctl(dev_t dev, int cmd, caddr_t arg, int flag, struct proc *p)
-</programlisting>
-
-<para>
-<function>d_ioctl()</function> est un fourre-tout pour les ex&eacute;cutions qui ne semblent
-pas raisonnable dans un paradigme lecture/&eacute;criture. Le plus
-c&eacute;l&egrave;bre de tout les ioctl est probablement celui sur des p&eacute;riph&eacute;riques
-tty, par le
-<ulink url="http://www.freebsd.org/cgi/man.cgi?stty(1)">stty</ulink>.
-
-Le point d'entr&eacute;e d'ioctl est appel&eacute; depuis l'<function>ioctl()</function> de
-<filename>sys/kern/sys_generic.c</filename></para>
-
-<para>
-Il y a quatre types diff&eacute;rents d'ioctl qui peuvent &ecirc;tre impl&eacute;ment&eacute;s.
-
-&lt;sys/ioccom.h> contient des macros pratiques de
-pour d&eacute;finir ces ioctls.
-</para>
-
-<itemizedlist>
-<listitem>
-<para><citerefentry><refentrytitle>_IO(g, n) </refentrytitle></citerefentry> pour les op&eacute;rations de type contr&ocirc;le.
-</para>
-</listitem>
-
-<listitem>
-<para>
-<citerefentry><refentrytitle>_IOR(g, n, t) </refentrytitle></citerefentry> pour des op&eacute;rations lisant des donn&eacute;es d'un
-p&eacute;riph&eacute;rique.
-</para>
-</listitem>
-
-<listitem>
-<para>
-<citerefentry><refentrytitle>_IOW(g, n, t) </refentrytitle></citerefentry> pour les op&eacute;rations &eacute;crivant des donn&eacute;es
-sur un p&eacute;riph&eacute;rique.
-</para>
-</listitem>
-
-<listitem>
-<para>
-<citerefentry><refentrytitle>_IOWR(g,n,t)</refentrytitle></citerefentry> pour les op&eacute;rations &eacute;crivant sur un p&eacute;riph&eacute;rique
-puis lisent les donn&eacute;es.
-</para>
-</listitem>
-</itemizedlist>
-
-
-<para>
-Ici <citerefentry><refentrytitle>g </refentrytitle></citerefentry> se rapporte &agrave; un <emphasis>groupe </emphasis>/. C'est une valeur
-de 8 bits, en g&eacute;n&eacute;ral indicative du p&eacute;riph&eacute;rique ; par exemple, 't'
-est utilis&eacute; dans des ioctls de tty. <citerefentry><refentrytitle>n</refentrytitle></citerefentry> se
-rapporte au nombre de l'ioctl dans le groupe. Sur SCO, ce seul nombre
-d&eacute;note l'ioctl. <citerefentry><refentrytitle>t</refentrytitle></citerefentry> est le type de donn&eacute;es qui sera
-pass&eacute; au pilote de p&eacute;riph&eacute;rique; ceci est alors remis &agrave; un op&eacute;rateur
-<function>sizeof()</function> du noyau. L'appel syst&egrave;me <function>ioctl()</function> fera soit un <function>copyin()</function>
-soit un <function>copyout()</function> ou les deux &agrave; votre pilote, puis vous
-renverra un pointeur &agrave; la structure de donn&eacute;es dans l'argument
-<citerefentry><refentrytitle>arg</refentrytitle></citerefentry> de l'appel d'd_ioctl. Actuellement la taille de
-donn&eacute;es est limit&eacute;e &agrave; une page (4k sur l'i386).
-</para>
-</sect4>
-
-<sect4>
-<title><function>d_stop()</function></title>
-<para></para>
-</sect4>
-
-<sect4>
-<title><function>d_reset()</function></title>
-<para></para>
-</sect4>
-
-<sect4>
-<title><function>d_devtotty()</function></title>
-<para></para>
-</sect4>
-
-<sect4>
-<title><function>d_poll()</function> (3.0 et plus) ou <function>d_select()</function> (2.2)</title>
-
-<para>la liste d'argument de <function>d_poll()</function> est comme suit :
-</para>
-
-<programlisting>
-void
-d_poll(dev_t dev, int events, struct proc *p)
-</programlisting>
-
-<para> <function>d_poll()</function> est employ&eacute; pour d&eacute;couvrir si un p&eacute;riph&eacute;rique
-est pr&ecirc;t pour les E/S. Par exemple, attendre que des donn&eacute;es du r&eacute;seau
-soient dispnibles, ou que l'utilisateur presse une touche.
-Cela correspond &agrave; un appel de <function>poll()</function> dans l'espace utilisateur.
-</para>
-
-<para>L'appel &agrave; <function>d_poll()</function> devrait v&eacute;rifier les &eacute;v&eacute;nements
-indiqu&eacute;s dans le masque d'&eacute;v&egrave;nement. Si aucun des &eacute;v&eacute;nements demand&eacute;s n'est
-en activit&eacute;, mais qu'elles pourraient devenir actif plus tard, il
-devrait enregistrer ceci pour les actions futures du noyau.
-<function>d_poll()</function> fait ceci en appelant <function>selrecord()</function> avec une structure
-selinfo pour ce p&eacute;riph&eacute;rique. La somme de toutes ces activit&eacute;s
-ressemblent &agrave; quelque chose comme ceci:
-</para>
-
-<programlisting>
-static struct my_softc {
- struct queue rx_queue; /* As example only - not required */
- struct queue tx_queue; /* As example only - not required */
- struct selinfo selp; /* Required */
-} my_softc[NMYDEV];
-
-...
-
-static int
-mydevpoll(dev_t dev, int events, struct proc *p)
-{
- int revents = 0; /* Events we found */
- int s;
- struct my_softc *sc = &amp;my_softc[dev];
-
- /* We can only check for IN and OUT */
- if ((events &amp; (POLLIN|POLLOUT)) == 0)
- return(POLLNVAL);
-
- s = <function>splhigh()</function>;
- /* Writes are if the transmit queue can take them */
- if ((events &amp; POLLOUT) &amp;&amp;
- !IF_QFULL(sc->tx_queue))
- revents |= POLLOUT;
- /* ... while reads are OK if we have any data */
- if ((events &amp; POLLIN) &amp;&amp;
- !IF_QEMPTY(sc->rx_queue))
- revents |= POLLIN;
- if (revents == 0)
- selrecord(p, &amp;sc->selp);
- splx(s);
- return revents;
-}
-</programlisting>
-
-<para> <function>d_select()</function> est utilis&eacute; dans la version 2.2 et
-pr&eacute;c&eacute;dentes de FreeBSD. Au lieu de 'events', il prend un simple
-entier 'rw', qui peut &ecirc;tre FREAD pour la lecture (comme dans
-POLLIN ci-dessus), FWRITE pour l'&eacute;criture (comme dans POLLOUT ci-dessus),
-et 0 pour 'exception' - lorsque quelque chose d'exceptionnel se produit,
-comme une carte &eacute;tant ins&eacute;r&eacute;e ou retir&eacute;e pour le pilote de
-pccard.
-</para>
-<para>Pour 'select', le fragment correspondant &agrave; la description
-ci-dessus ressembleraient &agrave; ceci:
-</para>
-<programlisting>
-static int
-mydevselect(dev_t dev, int rw, struct proc *p)
-{
- int ret = 0;
- int s;
- struct my_softc *sc = &amp;my_softc[dev];
-
- s = <function>splhigh()</function>;
- switch (rw) {
- case FWRITE:
- /* Writes are if the transmit queue can take them */
- if (!IF_QFULL(sc->tx_queue))
- ret = 1;
- break;
- case FREAD:
- /* ... while reads are OK if we have any data */
- if (!IF_QEMPTY(sc->rx_queue))
- ret = 1;
- break;
- case 0:
- /* This driver never get any exceptions */
- break;
- }
- if(ret == 0)
- selrecord(p, &amp;sc->selp);
- splx(s);
- return(revents);
-}
-</programlisting>
-</sect4>
-
-<sect4>
-<title><function>d_mmap()</function></title>
-<para></para>
-</sect4>
-
-<sect4>
-<title><function>d_strategy()</function></title>
-
-<para>
-La liste d'argument de <function>d_strategy()</function> est comme suit :
-</para>
-
-<programlisting>
-void
-d_strategy(struct buf *bp)
-</programlisting>
-
-<para><function>d_strategy()</function> est utilis&eacute; pour les p&eacute;riph&eacute;riques utilisant
-des E/S de type disperser-regrouper (<foreignphrase>scatter-gather</foreignphrase>).
-C'est ce qu'il y a de plus courant dans un p&eacute;riph&eacute;rique de bloc.
-C'est sensiblement diff&eacute;rent du mod&egrave;le de syst&egrave;me V, o&ugrave; seulement
-le pilote de bloc fait une E/S de type disperser-regrouper.
-Sous BSD, les p&eacute;riph&eacute;riques de caract&egrave;re sont parfois somm&eacute; d'ex&eacute;cuter
-une E/S de type disperser-regrouper par l'interm&eacute;diaire des appels
-syst&egrave;mes <function>readv()</function> et <function>writev()</function>.
-</para>
-</sect4>
-</sect3>
-
-<sect3>
-<title>Fichiers d'en-t&ecirc;te</title>
-<para></para>
-</sect3>
-</sect2>
-
-<sect2>
-<title>Bloc</title>
-
-<sect3>
-<title>Structures de donn&eacute;es</title>
-<para> Structure <citerefentry><refentrytitle>struct bdevsw</refentrytitle></citerefentry>
-</para>
-
-<para> Structure <citerefentry><refentrytitle>struct buf</refentrytitle></citerefentry>
-</para>
-</sect3>
-
-<sect3>
-<title>Points d'entr&eacute;e</title>
-
-<sect4>
-<title><function>d_open()</function></title>
-<para> D&eacute;crit dans la section p&eacute;riph&eacute;rique de caract&egrave;re.
-</para>
-</sect4>
-
-<sect4>
-<title><function>d_close()</function></title>
-<para>D&eacute;crit dans la section p&eacute;riph&eacute;rique de caract&egrave;re.
-</para>
-</sect4>
-
-<sect4>
-<title><function>d_strategy()</function></title>
-<para>D&eacute;crit dans la section p&eacute;riph&eacute;rique de caract&egrave;re.
-</para>
-</sect4>
-
-<sect4>
-<title><function>d_ioctl()</function></title>
-<para>D&eacute;crit dans la section p&eacute;riph&eacute;rique de caract&egrave;re.
-</para>
-</sect4>
-
-<sect4>
-<title><function>d_dump()</function></title>
-<para></para>
-</sect4>
-
-<sect4>
-<title><function>d_psize()</function></title>
-<para></para>
-</sect4>
-</sect3>
-
-<sect3>
-<title>Fichiers d'en-t&ecirc;te</title>
-<para></para>
-</sect3>
-</sect2>
-
-<sect2>
-<title>R&eacute;seau</title>
-<para>Structure <citerefentry><refentrytitle>struct ifnet</refentrytitle></citerefentry>
-</para>
-
-<sect3>
-<title>Points d'entr&eacute;e</title>
-
-<sect4>
-<title><function>if_init()</function></title>
-<para></para>
-</sect4>
-
-<sect4>
-<title><function>if_output()</function></title>
-<para></para>
-</sect4>
-
-<sect4>
-<title><function>if_start()</function></title>
-<para></para>
-</sect4>
-
-<sect4>
-<title><function>if_done()</function></title>
-<para></para>
-</sect4>
-
-<sect4>
-<title><function>if_ioctl()</function></title>
-<para></para>
-</sect4>
-
-<sect4>
-<title><function>if_watchdog()</function></title>
-<para></para>
-</sect4>
-</sect3>
-
-<sect3>
-<title>Fichiers d'en-t&ecirc;te</title>
-<para></para>
-</sect3>
-</sect2>
-
-<sect2>
-<title>Protocole de communication</title>
-
-<sect3>
-<title>Structures de donn&eacute;es</title>
-<para>Structure <citerefentry><refentrytitle>struct linesw</refentrytitle></citerefentry>
-</para>
-</sect3>
-
-<sect3>
-<title>Points d'entr&eacute;e</title>
-
-<sect4>
-<title><function>l_open()</function></title>
-<para></para>
-</sect4>
-
-<sect4>
-<title><function>l_close()</function></title>
-<para></para>
-</sect4>
-
-<sect4>
-<title><function>l_read()</function></title>
-<para></para>
-</sect4>
-
-<sect4>
-<title><function>l_write()</function></title>
-<para></para>
-</sect4>
-
-<sect4>
-<title><function>l_ioctl()</function></title>
-<para></para>
-</sect4>
-
-<sect4>
-<title><function>l_rint()</function></title>
-<para></para>
-</sect4>
-
-<sect4>
-<title><function>l_start()</function></title>
-<para></para>
-</sect4>
-
-<sect4>
-<title><function>l_modem()</function></title>
-<para></para>
-</sect4>
-</sect3>
-
-<sect3>
-<title>Fichiers d'en-t&ecirc;te</title>
-<para></para>
-</sect3>
-</sect2>
-</sect1>
-
-<sect1>
-<title>Bus Support&eacute;s</title>
-
-<sect2>
-<title>ISA -- Architecture Standard d'Industrie (<foreignphrase>Industry Standard
-Architecture</foreignphrase></title>
-
-<sect3>
-<title>Structures de donn&eacute;es</title>
-
-<sect4>
-<title>Structure <citerefentry><refentrytitle>struct isa_device</refentrytitle></citerefentry></title>
-
-<para>Cette structure est obligatoire, mais g&eacute;n&eacute;ralement elle est cr&eacute;&eacute;e par
-<ulink url="http://www.freebsd.org/cgi/man.cgi?config(8)">config</ulink> &agrave; partir du fichier de configuration de noyau.
-Elle est requise pour chaque p&eacute;riph&eacute;rique, c'est &agrave; dire que si vous avez
-un pilote de p&eacute;riph&eacute;rique contr&ocirc;lant deux "serial boards", vous
-aurez deux structures isa_device. Si vous construisez un p&eacute;riph&eacute;rique
-comme un LKM, vous devrez cr&eacute;er votre propre structure isa_device afin
-de refl&eacute;ter votre configuration (lignes 85 - 131 de pcaudio_lkm.c).
-Il y a un &eacute;quivalence directe ebtre le fichier de configuration et la
-structureisa_device. La d&eacute;finition de
-<filename>/usr/src/sys/i386/isa/isa_device.h</filename>
-est :
-</para>
-
-<programlisting>
-struct isa_device {
- int id_id; /* device id */
- struct isa_driver *id_driver;
- int id_iobase; /* base i/o address */
- u_short id_irq; /* interrupt request */
- short id_drq; /* DMA request */
- caddr_t id_maddr; /* physical i/o memory address on bus (if any)*/
- int id_msize; /* size of i/o memory */
- inthand2_t *id_intr; /* interrupt interface routine */
- int id_unit; /* unit number */
- int id_flags; /* flags */
- int id_scsiid; /* scsi id if needed */
- int id_alive; /* device is present */
-#define RI_FAST 1 /* fast interrupt handler */
- u_int id_ri_flags; /* flags for <function>register_intr()</function> */
- int id_reconfig; /* hot eject device support (such as PCMCIA) */
- int id_enabled; /* is device enabled */
- int id_conflicts; /* we're allowed to conflict with things */
- struct isa_device *id_next; /* used in isa_devlist in <function>userconfig()</function> */
-};
-</programlisting>
-</sect4>
-
-<sect4>
-<title>Structure <citerefentry><refentrytitle>struct isa_driver</refentrytitle></citerefentry></title>
-
-<para>Cette structure est d&eacute;finie dans
-<filename>/usr/src/sys/i386/isa/isa_device.h</filename>,
-est est requise pour chaque pilote de p&eacute;riph&eacute;rique. La d&eacute;finition
-est :
-</para>
-
-<programlisting>
-struct isa_driver {
- int (*probe) __P((struct isa_device *idp));
- /* test whether device is present */
- int (*attach) __P((struct isa_device *idp));
- /* setup driver for a device */
- char *name; /* device name */
- int sensitive_hw; /* true if other probes confuse us */
-};
-</programlisting>
-
-<para>
-C'est la structure employ&eacute;e par le code sondage/attachement
-(<foreignphrase>probe/attach</foreignphrase>) pour
-d&eacute;tecter et initialiser votre p&eacute;riph&eacute;rique. Le membre <citerefentry><refentrytitle>probe</refentrytitle></citerefentry>
-est un pointeur &agrave; votre fonction permettant de sonder les p&eacute;riph&eacute;riques.
-Le membre <citerefentry><refentrytitle>attach</refentrytitle></citerefentry> est un pointeur vers votre fonction d'attache.
-Le membre <citerefentry><refentrytitle>name</refentrytitle></citerefentry> est un pointeur de caract&egrave;re sur le nom de deux
-ou trois lettres de votre pilote.
-C'est le nom enregistr&eacute; pendant le processus de
-sondage/attachement (et probablement aussi dans
-<ulink url="http://www.freebsd.org/cgi/man.cgi?lsdev(8)">lsdev</ulink>).
-Le membre <citerefentry><refentrytitle>sensitive_hw </refentrytitle></citerefentry> est un
-indicateur qui aide le code de sondage &agrave; d&eacute;terminer l'ordre du sondage.
-</para>
-
-<para>
-Un instantiation typique est:
-</para>
-
-<programlisting>
-struct isa_driver mcddriver = { mcd_probe, mcd_attach, "mcd" };
-</programlisting>
-</sect4>
-</sect3>
-
-<sect3>
-<title>Points d'entr&eacute;e</title>
-
-<sect4>
-<title><function>probe()</function></title>
-<para><function>probe()</function> prend un pointeur sur une structure isa_device
-comme argument et renvoie un int. La valeur de retour est ``z&eacute;ro'' ou
-``non-z&eacute;ro '' quant &agrave; l'absence ou &agrave; la pr&eacute;sence de votre p&eacute;riph&eacute;rique.
-Ce point d'entr&eacute;e peut &ecirc;tre d&eacute;clar&eacute; comme
-<citerefentry><refentrytitle>static</refentrytitle></citerefentry> parce qu'il
-est accessible par l'interm&eacute;diaire du membre
-<citerefentry><refentrytitle>probe</refentrytitle></citerefentry> de la structre
-isa_driver. Cette fonction est destin&eacute;e &agrave;
-d&eacute;tecter la pr&eacute;sence de votre p&eacute;riph&eacute;rique seulement et ne devrait
-faire aucune configuration du p&eacute;riph&eacute;rique elle-m&ecirc;me.
-</para>
-</sect4>
-
-<sect4>
-<title><function>attach()</function></title>
-<para>
-<function>attach()</function> prend &eacute;galement un pointeur sur une structure
-isa_device comme argument et
-renvoie un int. La valeur de retour est &eacute;galement ``z&eacute;ro'' ou
-``non-z&eacute;ro'' indiquant si l'attache a r&eacute;ussie. Cette fonction
-est destin&eacute;e pour faire n'importe quelle initialisation sp&eacute;ciale du
-p&eacute;riph&eacute;rique aussi bien que pour confirmer que le p&eacute;riph&eacute;rique est utilisable.
-Il devrait aussi &ecirc;tre d&eacute;clar&eacute; <citerefentry><refentrytitle>static</refentrytitle></citerefentry> parce qu'il est accesible
-par le membre <citerefentry><refentrytitle>attach</refentrytitle></citerefentry> de la structure <citerefentry><refentrytitle>isa_driver </refentrytitle></citerefentry>.
-</para>
-</sect4>
-</sect3>
-
-<sect3>
-<title>Fichiers d'en-t&ecirc;te</title>
-<para></para>
-</sect3>
-</sect2>
-
-<sect2>
-<title>EISA -- Architecture Étendue de Standard industriel (<foreignphrase>Extended Industry Standard Architecture</foreignphrase>)</title>
-<para></para>
-
-<sect3>
-<title>Structures de donn&eacute;es</title>
-
-<para>Structure <citerefentry><refentrytitle>struct eisa_dev </refentrytitle></citerefentry> </para>
-<para>Structure <citerefentry><refentrytitle>struct isa_driver</refentrytitle></citerefentry> </para>
-</sect3>
-
-<sect3>
-<title>Points d'entr&eacute;e</title>
-
-<sect4>
-<title><function>probe()</function></title>
-<para>D&eacute;crit dans la section de p&eacute;riph&eacute;rique ISA.</para>
-</sect4>
-
-<sect4>
-<title><function>attach()</function></title>
-<para>D&eacute;crit dans la section de p&eacute;riph&eacute;rique ISA.</para>
-</sect4>
-</sect3>
-
-<sect3>
-<title>Fichiers d'en-t&ecirc;te</title>
-<para></para>
-</sect3>
-</sect2>
-
-<sect2>
-<title>PCI -- Bus d'interconnexion P&eacute;riph&eacute;rique (<foreignphrase>Peripheral Computer
-Interconnect</foreignphrase>)</title>
-
-<sect3>
-<title>Structures de donn&eacute;es</title>
-
-<para> Structure <citerefentry><refentrytitle>struct pci_device</refentrytitle></citerefentry>
-</para>
-
-<itemizedlist>
-<listitem>
-<para>nom : Le nom abr&eacute;g&eacute; du p&eacute;riph&eacute;rique.
-</para>
-</listitem>
-
-<listitem>
-<para> sonde: Contr&ocirc;le si le pilote peut supporter un p&eacute;riph&eacute;rique avec
-ce type. L'&eacute;tiquette peut &ecirc;tre employ&eacute;e pour obtenir plus
-d'information avec <function>pci_read_conf()</function>. Voir ci-dessous. Elle renvoie
-une cha&icirc;ne de caract&egrave;res avec le nom du p&eacute;riph&eacute;rique, ou un pointeur
-NULL si le pilote ne peut pas supporter ce p&eacute;riph&eacute;rique.
-</para>
-</listitem>
-
-<listitem>
-<para> attache: Assigne une structure de contr&ocirc;le et la pr&eacute;pare. Cette
-fonction peut utiliser les fonctions de mapping PCI. Voir
-ci-dessous. (identification de configuration) ou type.
-</para>
-</listitem>
-
-<listitem>
-<para> compte: Un pointeur sur un compteur d'unit&eacute;. Il est
-employ&eacute; par le configurateur de PCI pour assigner des num&eacute;ros.
-</para>
-</listitem>
-</itemizedlist>
-
-</sect3>
-
-<sect3>
-<title>Points d'entr&eacute;e</title>
-
-<sect4>
-<title><function>probe()</function></title>
-<para></para>
-</sect4>
-
-<sect4>
-<title><function>attach()</function></title>
-<para></para>
-</sect4>
-
-<sect4>
-<title><function>shutdown()</function></title>
-<para></para>
-</sect4>
-</sect3>
-
-<sect3>
-<title>Fichiers d'en-t&ecirc;te</title>
-<para></para>
-</sect3>
-</sect2>
-
-<sect2>
-<title>SCSI -- <foreignphrase>Small Computer Systems Interface</foreignphrase></title>
-
-<sect3>
-<title>Structure de donn&eacute;es</title>
-
-<para>Structure <citerefentry><refentrytitle>struct scsi_adapter</refentrytitle></citerefentry> </para>
-<para>Structure <citerefentry><refentrytitle>struct scsi_device</refentrytitle></citerefentry> </para>
-<para>Structure <citerefentry><refentrytitle>struct scsi_ctlr_config</refentrytitle></citerefentry> </para>
-<para>Structure <citerefentry><refentrytitle>struct scsi_device_config</refentrytitle></citerefentry> </para>
-<para>Structure <citerefentry><refentrytitle>struct scsi_link</refentrytitle></citerefentry> </para>
-</sect3>
-
-<sect3>
-<title>Points d'entr&eacute;e</title>
-
-<sect4>
-<title><function>attach()</function></title>
-<para></para>
-</sect4>
-
-<sect4>
-<title><function>init()</function></title>
-<para></para>
-</sect4>
-</sect3>
-
-<sect3>
-<title>Fichiers d'en-t&ecirc;te</title>
-<para></para>
-</sect3>
-</sect2>
-
-
-<sect2>
-<title>PCCARD (PCMCIA)</title>
-
-<sect3>
-<title>Structure de donn&eacute;es</title>
-
-<para>Structure <citerefentry><refentrytitle>struct slot_cont</refentrytitle></citerefentry> </para>
-<para>Structure <citerefentry><refentrytitle>struct pccard_drv</refentrytitle></citerefentry> </para>
-<para>Structure <citerefentry><refentrytitle>struct pccard_dev</refentrytitle></citerefentry> </para>
-<para>Structure <citerefentry><refentrytitle>struct slot</refentrytitle></citerefentry> </para>
-</sect3>
-
-<sect3>
-<title>Points d'entr&eacute;e</title>
-
-<sect4>
-<title><function>handler()</function></title>
-<para></para>
-</sect4>
-
-<sect4>
-<title><function>unload()</function></title>
-<para></para>
-</sect4>
-
-<sect4>
-<title><function>suspend()</function></title>
-<para></para>
-</sect4>
-
-<sect4>
-<title><function>init()</function></title>
-<para></para>
-</sect4>
-</sect3>
-
-<sect3>
-<title>Fichiers d'en-t&ecirc;te</title>
-
-<para>&lt;pccard/slot.h>
-</para>
-</sect3>
-</sect2>
-</sect1>
-
-
-<sect1>
-<title>Incorporation dans le noyau</title>
-
-<para>Dans FreeBSD, le support des bus d'ISA et EISA est sp&eacute;cifique &agrave;
-i386. Tandis que FreeBSD lui-m&ecirc;me est actuellement
-disponible sur la plateforme i386, un certain effort a &eacute;t&eacute; fait pour
-faire du code portable pour PCI, PCCARD, et SCSI. Le code
-sp&eacute;cifique &agrave; ISA et EISA r&eacute;side dans
-<filename>/usr/src/sys/i386/isa</filename> et
-<filename>/usr/src/sys/i386/eisa</filename> respectivement. Le code ind&eacute;pendant de la
-machine de PCI, de PCCARD, et de SCSI r&eacute;side dans
-<filename>/usr/src/sys/{pci,pccard,scsi</filename>}. Le code sp&eacute;cifique i386 quand &agrave; lui
-r&eacute;side dans <filename>/usr/src/sys/i386/{pci, pccard, scsi}</filename>.
-</para>
-
-
-<para> Dans FreeBSD, un module de gestion de p&eacute;riph&eacute;rique peut
-&ecirc;tre soit sous forme binaire soit sous forme de sources.
-Il n'y a aucun endroit ``officiel'' pour mettre les binaires des
-pilotes de p&eacute;riph&eacute;riques. les syst&egrave;mes BSD utilise quelque
-chose comme sys/i386/OBJ. Puisque la plupart des pilotes sont
-distribu&eacute;s dans les sources, la discussion suivante se rapporte &agrave; un
-source pilote de p&eacute;riph&eacute;rique.
-Des binaires de pilotes de p&eacute;riph&eacute;riques sont
-parfois fournis par les constructeurs de mat&eacute;riel qui souhaitent
-maintenir les sources de mani&egrave;re propri&eacute;taire.
-</para>
-
-<para> Un pilote typique a son code source sous forme de fichier C,
-comme dev.c. Le pilote peut &eacute;galement inclure des
-fichiers; devreg.h contient typiquement des d&eacute;clarations publiques
-de registre de p&eacute;riph&eacute;rique, des macros, et d'autres
-d&eacute;clarations sp&eacute;cifique au pilote de p&eacute;riph&eacute;rique.
-Quelques pilotes appellent parfois ce fichier devvar.h.
-Quelques pilotes, tels que
-le dgb (pour le Digiboard PC/Xe), exigent que du microcode soit charg&eacute;
-sur la carte. Pour le pilote de dgb le microcode est compil&eacute;
-et report&eacute; dans un fichier d'en-t&ecirc;te par
-<ulink url="http://www.freebsd.org/cgi/man.cgi?file2c(1)">file2c</ulink>.
-</para>
-
-<para> Si le pilote de p&eacute;riph&eacute;rique a des structures de donn&eacute;es et des
-ioctl qui sont sp&eacute;cifiques au pilote de p&eacute;riph&eacute;rique ou
-p&eacute;riph&eacute;rique, et
-doivent &ecirc;tre accessibles de l'espace-utilisateur, elles devraient
-&ecirc;tre mises dans un fichier d'en-t&ecirc;te s&eacute;par&eacute; qui r&eacute;sidera dans
-<filename>/usr/include/machine/</filename> (certaines de ces derniers r&eacute;sident dans
-<filename>/usr/include/sys/</filename>). Ceux-ci est typiquement nomm&eacute; quelque chose comme
-ioctl_dev.h ou devio.h.
-</para>
-
-<para> Si un pilote &eacute;crit depuis l'espace
-d'utilisateur est identique &agrave; un p&eacute;riph&eacute;rique qui existe d&eacute;j&agrave;, il faut
-prendre garde &agrave; utiliser les m&ecirc;mes
-interfaces ioctl et structures de donn&eacute;es. Par exemple, de l'espace
-utilisateur, un lecteur de SCSI CDROM devrait &ecirc;tre identique &agrave; un
-lecteur de cdrom IDE; ou une ligne s&eacute;rie sur une carte
-intelligente multiport (Digiboard, Cyclades...) devrait &ecirc;tre identique
-&agrave; un p&eacute;riph&eacute;rique sio. Ces p&eacute;riph&eacute;riques ont une interface d&eacute;finie
-relativement bonne et devraient &ecirc;tre utilis&eacute;es.
-</para>
-
-<para> Il y a deux m&eacute;thodes pour lier un pilote dans le
-noyau, statiquement et le mod&egrave;le LKM. La premi&egrave;re m&eacute;thode
-est assez standard &agrave; travers la famille *BSD. L'autre
-m&eacute;thode a &eacute;t&eacute; initialement d&eacute;velopp&eacute;e par Sun (je crois), et a
-&eacute;t&eacute; mis en application dans BSD en utilisant le mod&egrave;le de Sun.
-Je ne crois pas que l'impl&eacute;mentation actuelle utilise encore le moindre
-code de Sun.
-</para>
-
-<sect2>
-<title>Mod&egrave;le Standard</title>
-
-<para> Les &eacute;tapes exig&eacute;es pour ajouter votre pilote au
-noyau standard de FreeBSD sont
-</para>
-
-<itemizedlist>
-<listitem>
-<para>Ajout &agrave; la liste des pilotes de p&eacute;riph&eacute;rique
-</para>
-</listitem>
-
-<listitem>
-<para>Ajout d'une entr&eacute;e au &lsqb;bc&rsqb;devsw
-</para>
-</listitem>
-
-<listitem>
-<para>Ajout d'une entr&eacute;e du pilote de p&eacute;riph&eacute;rique au fichier de
-configuration du noyau
-</para>
-</listitem>
-
-<listitem>
-<para><ulink
-url="http://www.freebsd.org/cgi/man.cgi?config(8)">config</ulink>,
-compilation et installation du noyau
-</para>
-</listitem>
-
-<listitem>
-<para>cr&eacute;er les fichiers sp&eacute;ciaux requis
-</para>
-</listitem>
-
-<listitem>
-<para>red&eacute;marrage
-</para>
-</listitem>
-</itemizedlist>
-
-<sect3>
-<title>Ajout &agrave; la liste des pilotes de p&eacute;riph&eacute;rique</title>
-
-<para>Le mod&egrave;le standard pour ajouter un module de gestion de p&eacute;riph&eacute;rique
-au noyau de Berkeley est d'ajouter votre pilote &agrave; la liste des
-p&eacute;riph&eacute;riques connus. Cette liste d&eacute;pend de l'architecture du CPU.
-Si le p&eacute;riph&eacute;rique n'est pas sp&eacute;cifique i386
-(PCCARD, PCI, SCSI), le fichier est dans
-<filename>/usr/src/sys/conf/files</filename>.
-Si le p&eacute;riph&eacute;rique est sp&eacute;cifique i386, utilisez
-<filename>/usr/src/sys/i386/conf/files.i386</filename>. Une ligne typique ressemblerait
-&agrave; :
-</para>
-
-<programlisting>
-i386/isa/joy.c optional joy device-driver
-</programlisting>
-
-<para>Le premier champ relatif est le chemin du module de pilote
-par rapport &agrave; <filename>/usr/src/sys</filename>.
-Pour le cas d'un pilote binaire, le chemin d'acc&egrave;s serait quelque
-chose comme <filename>i386/OBJ/joy.o</filename>.
-</para>
-
-<para>Le deuxi&egrave;me champ indique &agrave;
-<ulink url="http://www.freebsd.org/cgi/man.cgi?config(8)">config(8)</ulink>
-que c'est un pilote facultatif. Quelques
-p&eacute;riph&eacute;riques sont obligatoires pour que le noyau puisse &ecirc;tre construit.
-</para>
-
-<para>
-Le troisi&egrave;me champ est le nom du p&eacute;riph&eacute;rique.
-</para>
-
-<para>Le quatri&egrave;me champ indique &agrave; config que c'est un
-pilote de p&eacute;riph&eacute;rique (par opposition &agrave; juste facultatif). Ceci
-dit &agrave; config de cr&eacute;er des entr&eacute;es pour le p&eacute;riph&eacute;rique dans dans
-des structures de <filename>/usr/src/sys/compile/KERNEL/ioconf.c</filename>.
-</para>
-
-<para>Il est &eacute;galement possible de cr&eacute;er un fichier
-<filename>/usr/src/sys/i386/conf/files.KERNEL</filename> dont le contenu ignorera le
-fichier par d&eacute;faut files.i386, mais seulement pour le noyau ``KERNEL''.
-</para>
-</sect3>
-
-<sect3>
-<title>Faire de la place dans conf.c</title>
-
-<para>Maintenant vous devez &eacute;diter <filename>/usr/src/sys/i386/i386/conf.c</filename>
-pour faire une entr&eacute;e pour votre pilote. Quelque part au d&eacute;but,
-vous devez d&eacute;clarer vos points d'entr&eacute;e. L'entr&eacute;e pour
-le pilote du joystick est: </para>
-
-<programlisting>
-#include "joy.h"
-#if NJOY > 0
-d_open_t joyopen;
-d_close_t joyclose;
-d_rdwr_t joyread;
-d_ioctl_t joyioctl;
-#else
-#define joyopen nxopen
-#define joyclose nxclose
-#define joyread nxread
-#define joyioctl nxioctl
-#endif
-</programlisting>
-
-<para>
-Cela d&eacute;finit vos points d'entr&eacute;e, ou points d'entr&eacute;e nuls qui
-renverront ENXIO quand appel&eacute; (clause #else).
-</para>
-
-<para>
-Le fichier d'en-t&ecirc;te ``joy.h'' est automatiquement produit par
-<ulink url="http://www.freebsd.org/cgi/man.cgi?config(8)">config</ulink>
-quand l'arborescence de construction du noyau est
-cr&eacute;&eacute;. Cela se r&eacute;duit habituellement &agrave; une seule ligne comme :
-</para>
-
-<programlisting>
-#define NJOY 1
-</programlisting>
-
-<para>
-ou
-</para>
-<programlisting>
-#define NJOY 0
-</programlisting>
-
-<para> ce qui d&eacute;finit le nombre de vos p&eacute;riph&eacute;riques dans votre noyau.
-</para>
-
-<para>
-Vous devez additionnellement ajouter un slot au cdevsw&lsqb;&rsqb, ou
-au bdevsw&lsqb;&rsqb, selon que ce soit un p&eacute;riph&eacute;rique caract&egrave;re,
-p&eacute;riph&eacute;rique bloc, ou les deux si c'est un p&eacute;riph&eacute;rique bloc
-avec une interface brute. L'entr&eacute;e pour le pilote du joystick
-est:
-</para>
-
-<programlisting>
-/* open, close, read, write, ioctl, stop, reset, ttys, select, mmap, strat */
-struct cdevsw cdevsw[] =
-{
- ...
- { joyopen, joyclose, joyread, nowrite, /*51*/
- joyioctl, nostop, nullreset, nodevtotty,/*joystick */
- seltrue, nommap, NULL},
- ...
-}
-</programlisting>
-
-<para>
- L'ordre est ce qui d&eacute;termine le nombre majeur de votre
-p&eacute;riph&eacute;rique. C'est pourquoi il y aura toujours une entr&eacute;e
-pour votre pilote, que ce soit des points d'entr&eacute;e nuls,
-ou des points d'entr&eacute;e actuels. Il est probablement int&eacute;ressant de
-noter que c'est
-sensiblement diff&eacute;rent de SCO et d'autres d&eacute;riv&eacute;s du syst&egrave;me V, o&ugrave;
-n'importe quel p&eacute;riph&eacute;rique (dans la th&eacute;orie) peut avoir n'importe
-quel nombre majeur. C'est en grande partie un avantage sur FreeBSD,
-sur la mani&egrave;re dont les fichiers sp&eacute;ciaux de p&eacute;riph&eacute;rique sont cr&eacute;&eacute;s.
-Nous reviendrons en d&eacute;tail sur ceci plus tard.
-</para>
-</sect3>
-
-<sect3>
-<title>Ajout de votre p&eacute;riph&eacute;rique dans le fichier de configuration.</title>
-
-<para> Ceci ajoute simplement une ligne d&eacute;crivant votre p&eacute;riph&eacute;rique. La
-ligne de description du joystick est :
-<programlisting>
-device joy0 at isa? port "IO_GAME"
-</programlisting>
-Ceci indique que nous avons un
-p&eacute;riph&eacute;rique appel&eacute; ``joy0'' sur le bus ISA en utilisant
-le port E/S ``IO_GAME'' (IO_GAME est une macro d&eacute;finie dans
-<filename>/usr/src/sys/i386/isa/isa.h</filename>).
-</para>
-
-<para>
-Une entr&eacute;e l&eacute;g&egrave;rement plus compliqu&eacute;e est pour le pilote ``ix'' :
-
-<programlisting>
-device ix0 at isa? port 0x300 net irq 10 iomem 0xd0000 iosiz 32768
-vector ixintr
-</programlisting>
-
-Ceci indique que nous avons un p&eacute;riph&eacute;rique appel&eacute;
-`ix0 ' sur le bus ISA. Il utilise le port E/S 0x300. Son
-interruption sera masqu&eacute; par d'autres p&eacute;riph&eacute;riques dans la classe
-r&eacute;seau. Il utilise l'interruption 10. Il utilise 32k de m&eacute;moire
-partag&eacute;e &agrave; l'adresse physique 0xd0000. Il le d&eacute;finit &eacute;galement
-son pilote d'interruption comme &eacute;tant ``<function>ixintr()</function>''
-</para>
-</sect3>
-
-<sect3>
-<title><ulink url="http://www.freebsd.org/cgi/man.cgi?config(8)">config</ulink>
-du noyau.</title>
-
-<para> Maintenant avec notre fichier de configuration en main,
-nous pouvons cr&eacute;er un r&eacute;pertoire de compilation du noyau. Cela peut &ecirc;tre
-fait en tapant :
-<programlisting>
-# config KERNEL
-</programlisting>
-
-o&ugrave; KERNEL est le nom de votre fichier de configuration.
-La configuration cr&eacute;e un arbre de compilation
-pour votre noyau dans <filename>/usr/src/sys/compile/KERNEL</filename>. Elle cr&eacute;e le fichier
-makefile, quelques fichiers C, et quelques fichiers H avec des
-macros d&eacute;finissant le nombre de chaque p&eacute;riph&eacute;rique &agrave; inclure dans votre
-votre noyau.
-</para>
-
-<para>
-Maintenant vous pouvez aller dans le r&eacute;pertoire de compilation et
-construire votre noyau. À chaque fois que vous lancerez config, votre
-arbre de construction pr&eacute;c&eacute;dent sera retir&eacute;, &agrave; moins que vous ne lancez
-config avec un -n. Si vous avez configur&eacute; et compil&eacute; un noyau GENERIC,
-vous pouvez faire un ``make links'' afin d'&eacute;viter de compiler certains
-fichiers &agrave; chaque it&eacute;ration. Typiquement, je lance :
-<programlisting>
-# make depend links all
-</programlisting>
-suivi d'un ``make install'' quand le noyau me convient.
-</para>
-</sect3>
-
-<sect3>
-<title>Cr&eacute;er les fichiers sp&eacute;ciaux de p&eacute;riph&eacute;riques</title>
-
-<para> Sur FreeBSD, vous avez la responsabilit&eacute; de faire vos propres fichiers
-sp&eacute;ciaux
-de p&eacute;riph&eacute;rique. Le
-nombre majeur de votre p&eacute;riph&eacute;rique est d&eacute;termin&eacute; par le nombre de
-slots dans le commutateur de p&eacute;riph&eacute;rique. Le nombre mineur est
-d&eacute;pendant du pilote, naturellement. Vous pouvez
-soit ex&eacute;cuter mknod depuis la ligne de commande, soit liasser faire le
-travail &agrave; <filename>/dev/MAKEDEV.local</filename>, ou m&ecirc;me
-<filename>/dev/MAKEDEV</filename>.
-Je cr&eacute;e parfois un script MAKEDEV.dev qui peut &ecirc;tre soit lanc&eacute;
-de mani&egrave;re autonome soit coll&eacute; dans <filename>/dev/MAKEDEV.local</filename>.
-</para>
-</sect3>
-
-<sect3>
-<title>Red&eacute;marrage</title>
-<para> C'est la partie facile. Il y a un
-certain nombre de m&eacute;thodes pour faire ceci, reboot, fastboot,
-shutdown - r, couper le courant, etc. Au d&eacute;marrage, vous
-devriez voir votre XX<function>probe()</function> appel&eacute;, et si tout marche,
-votre <function>attach()</function> aussi.
-</para>
-</sect3>
-</sect2>
-
-<sect2>
-<title>Module du noyau &agrave; chargement dynamique (LKM)</title>
-
-<para>Il n'y a vraiment aucune proc&eacute;dure d&eacute;finie pour &eacute;crire un pilote de
-LKM. Ce qui suit est ma propre conception apr&egrave;s exp&eacute;rimentation
-avec l'interface de p&eacute;riph&eacute;rique LKM et en regardant le mod&egrave;le standard
-de module de gestion de p&eacute;riph&eacute;rique, c'est une mani&egrave;re d'ajouter une
-interface LKM &agrave; un pilote existant sans toucher aux sources (ou binaire)
-initiaux de pilote . On recommande cependant,
-que si vous projetez de distribuer les sources de votre pilote,
-que les parties sp&eacute;cifiques LKM devraient faire partie du pilote
-lui-m&ecirc;me, compil&eacute; de mani&egrave;re conditionnelle par la macro LKM
-(c.-&agrave;-d. #ifdef LKM).
-</para>
-
-<para>
-Cette section se concentrera sur la mani&egrave;re d'&eacute;crire la partie sp&eacute;cifique
-LKM du pilote. Nous supposerons que nous avons &eacute;crit un
-pilote qui atterrira dans le mod&egrave;le standard de
-gestion de p&eacute;riph&eacute;rique, que nous voudrions maintenant mettre en
-application comme &eacute;tant LKM. Nous utiliserons le pilote de pcaudio
-comme pilote d'exemple, et d&eacute;velopperons une entr&eacute;e LKM. La
-source et le fichier makefile pour le LKM pcaudio , ``pcaudio_lkm.c''
-et ``Makefile'', devraient &ecirc;tre dans plac&eacute; <filename>/usr/src/lkm/pcaudio</filename>.
-Ce qui suit est le code comment&eacute; de pcaudio_lkm.c.
-</para>
-
-<para>
-Lignes 17 - 26
-</para>
-
-<para>
-Ceci inclut le fichier ``pca.h'' et fait une compilation conditionnelle
-du reste de LKM suivant que vous avez d&eacute;fini ou non le pilote de
-p&eacute;riph&eacute;rique pcaudio.
-Cela imite le comportement de config. Dans un pilote de
-p&eacute;riph&eacute;rique standard,
-<ulink url="http://www.freebsd.org/cgi/man.cgi?config(8)">config</ulink>
-produit le fichier pca.h depuis le nombre de p&eacute;riph&eacute;riques pca
-le fichier de config. </para>
-
-<programlisting>
- 17 /*
- 18 * figure out how many devices we have..
- 19 */
- 20
- 21 #include "pca.h"
- 22
- 23 /*
- 24 * if we have at least one ...
- 25 */
- 26 #if NPCA > 0
-</programlisting>
-
-<para>
-Lignes 27 - 37
-</para>
-
-<para>
-Les fichiers d'en-t&ecirc;te requis depuis divers r&eacute;pertoire d'inclusion.
-</para>
-
-<programlisting>
- 27 #include &lt;sys/param.h>
- 28 #include &lt;sys/systm.h>
- 29 #include &lt;sys/exec.h>
- 30 #include &lt;sys/conf.h>
- 31 #include &lt;sys/sysent.h>
- 32 #include &lt;sys/lkm.h>
- 33 #include &lt;sys/errno.h>
- 34 #include &lt;i386/isa/isa_device.h>
- 35 #include &lt;i386/isa/isa.h>
- 36
- 37
-</programlisting>
-
-<para>
-Lignes 38 - 51
-</para>
-
-<para>d&eacute;clarent vos points d'entr&eacute;e comme externs .
-</para>
-
-<programlisting>
- 38 /*
- 39 * declare your entry points as externs
- 40 */
- 41
- 42 extern int pcaprobe(struct isa_device *);
- 43 extern int pcaattach(struct isa_device *);
- 44 extern int pcaopen(dev_t, int, int, struct proc *);
- 45 extern int pcaclose(dev_t, int, int, struct proc *);
- 46 extern int pcawrite(dev_t, struct uio *, int);
- 47 extern int pcaioctl(dev_t, int, caddr_t);
- 48 extern int pcaselect(dev_t, int, struct proc *);
- 49 extern void pcaintr(struct clockframe *);
- 50 extern struct isa_driver pcadriver;
- 51
-</programlisting>
-
-<para>
-Lignes 52 - 70
-</para>
-
-<para>
-Cela cr&eacute;e la table d'entr&eacute;e de commutateur de p&eacute;riph&eacute;rique pour
-votre pilote. Cette table est en gros enti&egrave;rement mise dans le
-syst&egrave;me de commutation de p&eacute;riph&eacute;riques &agrave; l'emplacement indiqu&eacute; par
-votre nombre majeur. Dans le mod&egrave;le standard, c'est dans
-<filename>/usr/src/sys/i386/i386/conf.c</filename>.
-NOTE: vous ne pouvez pas s&eacute;lectionner
-un nombre majeur de p&eacute;riph&eacute;rique plus grand que ce qui existe dans
-conf.c, par exemple
-il y a 67 slots pour des p&eacute;riph&eacute;riques caract&egrave;re, vous ne popuvez pas
-utiliser un p&eacute;riph&eacute;rique (caract&egrave;re) de num&eacute;ro majeur 67 ou
-plus, sans avoir d'abord r&eacute;serv&eacute; de l'espace dans conf.c.
-</para>
-
-<programlisting>
- 52 /*
- 53 * build your device switch entry table
- 54 */
- 55
- 56 static struct cdevsw pcacdevsw = {
- 57 (d_open_t *) pcaopen, /* open */
- 58 (d_close_t *) pcaclose, /* close */
- 59 (d_rdwr_t *) enodev, /* read */
- 60 (d_rdwr_t *) pcawrite, /* write */
- 61 (d_ioctl_t *) pcaioctl, /* ioctl */
- 62 (d_stop_t *) enodev, /* stop?? */
- 63 (d_reset_t *) enodev, /* reset */
- 64 (d_ttycv_t *) enodev, /* ttys */
- 65 (d_select_t *) pcaselect, /* select */
- 66 (d_mmap_t *) enodev, /* mmap */
- 67 (d_strategy_t *) enodev /* strategy */
- 68 };
- 69
- 70
-</programlisting>
-
-<para>
-Lignes 71 - 131
-</para>
-<para>
-cette section est analogue &agrave; la d&eacute;claration de fichier de configuration
-de votre p&eacute;riph&eacute;rique. Les membres de la structure isa_device sont
-remplis grace &agrave; ce qu'il connait de votre p&eacute;riph&eacute;rique,
-port E/S, segment partag&eacute; de m&eacute;moire, etc...
-Nous n'aurons probablement jamais un besoin de deux p&eacute;riph&eacute;riques
-pcaudio dans le noyau, mais cet exemple montre comment
-p&eacute;riph&eacute;riques multiples peuvent &ecirc;tre support&eacute;s.
-</para>
-
-<programlisting>
- 71 /*
- 72 * this lkm arbitrarily supports two
- 73 * instantiations of the pc-audio device.
- 74 *
- 75 * this is for illustration purposes
- 76 * only, it doesn't make much sense
- 77 * to have two of these beasts...
- 78 */
- 79
- 80
- 81 /*
- 82 * these have a direct correlation to the
- 83 * config file entries...
- 84 */
- 85 struct isa_device pcadev[NPCA] = {
- 86 {
- 87 11, /* device id */
- 88 &amp;pcadriver, /* driver pointer */
- 89 IO_TIMER1, /* base io address */
- 90 -1, /* interrupt */
- 91 -1, /* dma channel */
- 92 (caddr_t)-1, /* physical io memory */
- 93 0, /* size of io memory */
- 94 pcaintr , /* interrupt interface */
- 95 0, /* unit number */
- 96 0, /* flags */
- 97 0, /* scsi id */
- 98 0, /* is alive */
- 99 0, /* flags for register_intr */
- 100 0, /* hot eject device support */
- 101 1 /* is device enabled */
- 102 },
- 103 #if NPCA >1
- 104 {
- 105
- 106 /*
- 107 * these are all zeros, because it doesn't make
- 108 * much sense to be here
- 109 * but it may make sense for your device
- 110 */
- 111
- 112 0, /* device id */
- 113 &amp;pcadriver, /* driver pointer */
- 114 0, /* base io address */
- 115 -1, /* interrupt */
- 116 -1, /* dma channel */
- 117 -1, /* physical io memory */
- 118 0, /* size of io memory */
- 119 NULL, /* interrupt interface */
- 120 1, /* unit number */
- 121 0, /* flags */
- 122 0, /* scsi id */
- 123 0, /* is alive */
- 124 0, /* flags for register_intr */
- 125 0, /* hot eject device support */
- 126 1 /* is device enabled */
- 127 },
- 128 #endif
- 129
- 130 };
- 131
-</programlisting>
-
-<para>
-Lignes 132 - 139
-</para>
-
-<para>
-Ceci appelle la macro MOD_DEV du pr&eacute;processeur C, qui
-installe un module de gestion de p&eacute;riph&eacute;rique de LKM, par
-opposition &agrave; un syst&egrave;me de fichiers LKM, ou un appel syst&egrave;me de LKM.
-</para>
-
-<programlisting>
- 132 /*
- 133 * this macro maps to a function which
- 134 * sets the LKM up for a driver
- 135 * as opposed to a filesystem, system call, or misc
- 136 * LKM.
- 137 */
- 138 MOD_DEV("pcaudio_mod", LM_DT_CHAR, 24, &amp;pcacdevsw);
- 139
-</programlisting>
-
-<para>
-Lignes 140 - 168
-</para>
-
-<para>
-c'est la fonction qui sera appel&eacute;e lorsque le pilote sera
-charg&eacute;. Cette fonction essaye de fonctionner comme
-<filename>/sys/i386/isa/isa.c</filename> qui fait les appels de probe/attach pour un
-pilote au moment du red&eacute;marrage. La plus grande astuce ici est qu'il
-met en correspondance l'adresse physique du segment partag&eacute; de m&eacute;moire, qui est
-indiqu&eacute; dans la structure isa_device &agrave; une adresse virtuelle du noyau.
-Normalement, l'adresse physique est mise dans le fichier de configuration
-qui construit la structure isa_device dans
-<filename>/usr/src/sys/compile/KERNEL/ioconf.c</filename>. La s&eacute;quence probe/attach de
-<filename>/usr/src/sys/isa/isa.c</filename> traduit l'adresse physique en une virtuelle de
-sorte que dans les sous-programmes de probe/attach vous puissiez
-faire des choses comme
-</para>
-<programlisting>
-(int *)id->id_maddr = something;
-</programlisting>
-<para> et se r&eacute;f&egrave;re juste au segment partag&eacute; de m&eacute;moire
-par l'interm&eacute;diaire de pointeurs.
-</para>
-
-<programlisting>
- 140 /*
- 141 * this function is called when the module is
- 142 * loaded; it tries to mimic the behavior
- 143 * of the standard probe/attach stuff from
- 144 * isa.c
- 145 */
- 146 int
- 147 <function>pcaload()</function>{
- 148 int i;
- 149 uprintf("PC Audio Driver Loaded\n");
- 150 for (i=0; i&lt;NPCA; i++){
- 151 /*
- 152 * this maps the shared memory address
- 153 * from physical to virtual, to be
- 154 * consistent with the way
- 155 * /usr/src/sys/i386/isa.c handles it.
- 156 */
- 157 pcadev[i].id_maddr -=0xa0000;
- 158 pcadev[i].id_maddr += atdevbase;
- 159 if ((*pcadriver.probe)(pcadev+i)) {
- 160 (*(pcadriver.attach))(pcadev+i);
- 161 } else {
- 162 uprintf("PC Audio Probe Failed\n");
- 163 return(1);
- 164 }
- 165 }
- 166 return 0;
- 167 }
- 168
-</programlisting>
-
-<para>Lignes 169 - 179
-</para>
-
-<para>c'est la fonction appel&eacute;e quand votre pilote n'est pas
-charg&eacute;; il affiche juste un message &agrave; cet effet.
-</para>
-
-<programlisting>
- 169 /*
- 170 * this function is called
- 171 * when the module is unloaded
- 172 */
- 173
- 174 int
- 175 <function>pcaunload()</function>{
- 176 uprintf("PC Audio Driver Unloaded\n");
- 177 return 0;
- 178 }
- 179
-</programlisting>
-
-<para>Lignes 180 - 190
-</para>
-
-<para>c'est le point d'entr&eacute;e qui est indiqu&eacute; sur la ligne de commande
-de modload. Par convention il est nomm&eacute; &lt;dev>_mod. C'est
-ainsi qu'il est d&eacute;fini dans bsd.lkm.mk, le makefile qui
-construit le LKM. Si vous nommez votre module suivant cette
-convention, vous pouvez faire ``make load'' et ``make unload''
-de /usr/src/lkm/pcaudio.</para>
-
-<para>Note : Il y a eu <emphasis>tellement</emphasis> de r&eacute;visions entre la version 2.0 et
-2.1. Il peut ou ne peut ne pas &ecirc;tre possible d'&eacute;crire
-un module qui est portable pour chacune des trois versions.
-</para>
-
-
-<programlisting>
- 180 /*
- 181 * this is the entry point specified
- 182 * on the modload command line
- 183 */
- 184
- 185 int
- 186 pcaudio_mod(struct lkm_table *lkmtp, int cmd, int ver)
- 187 {
- 188 DISPATCH(lkmtp, cmd, ver, pcaload, pcaunload, nosys);
- 189 }
- 190
- 191 #endif /* NICP > 0 */
-</programlisting>
-</sect2>
-
-<sect2>
-<title>Idiosyncrasies du type p&eacute;riph&eacute;rique</title>
-
-<sect3>
-<title>Caract&egrave;re</title>
-<para></para>
-</sect3>
-
-<sect3>
-<title>Bloc</title>
-<para></para>
-</sect3>
-
-<sect3>
-<title>R&eacute;seau</title>
-<para></para>
-</sect3>
-
-<sect3>
-<title>Line discipline</title>
-<para></para>
-</sect3>
-</sect2>
-
-<sect2>
-<title>Idiosyncrasies du type bus</title>
-
-<sect3>
-<title>ISA</title>
-<para></para>
-</sect3>
-
-<sect3>
-<title>EISA</title>
-<para></para>
-</sect3>
-
-<sect3>
-<title>PCI</title>
-<para></para>
-</sect3>
-
-<sect3>
-<title>SCSI</title>
-<para></para>
-</sect3>
-
-<sect3>
-<title>PCCARD</title>
-<para></para>
-</sect3>
-</sect2>
-</sect1>
-
-
-<sect1>
-<title>Support du noyau</title>
-
-<sect2>
-<title>Structures de donn&eacute;es</title>
-
-<sect3>
-<title>Structure <citerefentry><refentrytitle>struct kern_devconf</refentrytitle></citerefentry></title>
-
-<para>Cette structure contient quelques informations sur l'&eacute;tat du
-p&eacute;riph&eacute;rique et de son pilote. Elle est d&eacute;finie dans
-<filename>/usr/src/sys/sys/devconf.h</filename> comme ci-dessous :
-</para>
-
-<programlisting>
-struct devconf {
- char dc_name[MAXDEVNAME]; /* name */
- char dc_descr[MAXDEVDESCR]; /* description */
- int dc_unit; /* unit number */
- int dc_number; /* unique id */
- char dc_pname[MAXDEVNAME]; /* name of the parent device */
- int dc_punit; /* unit number of the parent */
- int dc_pnumber; /* unique id of the parent */
- struct machdep_devconf dc_md; /* machine-dependent stuff */
- enum dc_state dc_state; /* state of the device (see above) */
- enum dc_class dc_class; /* type of device (see above) */
- size_t dc_datalen; /* length of data */
- char dc_data[1]; /* variable-length data */
-};
-</programlisting>
-</sect3>
-
-<sect3>
-<title>Structure <citerefentry><refentrytitle>struct proc</refentrytitle></citerefentry></title>
-
-<para> Cette structure contient toutes les informations sur un processus.
-Elle est dans d&eacute;finie <filename>/usr/src/sys/sys/proc.h</filename>:
-</para>
-
-<programlisting>
-/*
- * Description of a process.
- *
- * This structure contains the information needed to manage a thread of
- * control, known in UN*X as a process; it has references to
-substructures
- * containing descriptions of things that the process uses, but may
-share
- * with related processes. The process structure and the substructures
- * are always addressable except for those marked "(PROC ONLY)" below,
- * which might be addressable only on a processor on which the process
- * is running.
- */
-struct proc {
- struct proc *p_forw; /* Doubly-linked run/sleep queue. */
- struct proc *p_back;
- struct proc *p_next; /* Linked list of active procs */
- struct proc **p_prev; /* and zombies. */
-
- /* substructures: */
- struct pcred *p_cred; /* Process owner's identity. */
- struct filedesc *p_fd; /* Ptr to open files structure. */
- struct pstats *p_stats; /* Accounting/statistics (PROC ONLY). */
- struct plimit *p_limit; /* Process limits. */
- struct vmspace *p_vmspace; /* Address space. */
- struct sigacts *p_sigacts; /* Signal actions, state (PROC ONLY). */
-
-#define p_ucred p_cred->pc_ucred
-#define p_rlimit p_limit->pl_rlimit
-
- int p_flag; /* P_* flags. */
- char p_stat; /* S* process status. */
- char p_pad1[3];
-
- pid_t p_pid; /* Process identifier. */
- struct proc *p_hash; /* Hashed based on p_pid for kill+exit+... */
- struct proc *p_pgrpnxt; /* Pointer to next process in process group. */
- struct proc *p_pptr; /* Pointer to process structure of parent. */
- struct proc *p_osptr; /* Pointer to older sibling processes. */
-
-/* The following fields are all zeroed upon creation in fork. */
-#define p_startzero p_ysptr
- struct proc *p_ysptr; /* Pointer to younger siblings. */
- struct proc *p_cptr; /* Pointer to youngest living child. */
- pid_t p_oppid; /* Save parent pid during ptrace. XXX */
- int p_dupfd; /* Sideways return value from fdopen. XXX */
-
- /* scheduling */
- u_int p_estcpu; /* Time averaged value of p_cpticks. */
- int p_cpticks; /* Ticks of cpu time. */
- fixpt_t p_pctcpu; /* %cpu for this process during p_swtime */
- void *p_wchan; /* Sleep address. */
- char *p_wmesg; /* Reason for sleep. */
- u_int p_swtime; /* Time swapped in or out. */
- u_int p_slptime; /* Time since last blocked. */
-
- struct itimerval p_realtimer; /* Alarm timer. */
- struct timeval p_rtime; /* Real time. */
- u_quad_t p_uticks; /* Statclock hits in user mode. */
- u_quad_t p_sticks; /* Statclock hits in system mode. */
- u_quad_t p_iticks; /* Statclock hits processing intr. */
-
- int p_traceflag; /* Kernel trace points. */
- struct vnode *p_tracep; /* Trace to vnode. */
-
- int p_siglist; /* Signals arrived but not delivered. */
-
- struct vnode *p_textvp; /* Vnode of executable. */
-
- char p_lock; /* Process lock (prevent swap) count. */
- char p_pad2[3]; /* alignment */
-
-/* End area that is zeroed on creation. */
-#define p_endzero p_startcopy
-
-/* The following fields are all copied upon creation in fork. */
-#define p_startcopy p_sigmask
-
- sigset_t p_sigmask; /* Current signal mask. */
- sigset_t p_sigignore; /* Signals being ignored. */
- sigset_t p_sigcatch; /* Signals being caught by user. */
-
- u_char p_priority; /* Process priority. */
- u_char p_usrpri; /* User-priority based on p_cpu and p_nice. */
- char p_nice; /* Process "nice" value. */
- char p_comm[MAXCOMLEN+1];
-
- struct pgrp *p_pgrp; /* Pointer to process group. */
-
- struct sysentvec *p_sysent; /* System call dispatch information. */
-
- struct rtprio p_rtprio; /* Realtime priority. */
-/* End area that is copied on creation. */
-#define p_endcopy p_addr
- struct user *p_addr; /* Kernel virtual addr of u-area (PROC ONLY). */
- struct mdproc p_md; /* Any machine-dependent fields. */
-
- u_short p_xstat; /* Exit status for wait; also stop signal. */
- u_short p_acflag; /* Accounting flags. */
- struct rusage *p_ru; /* Exit information. XXX */
-};
-</programlisting>
-</sect3>
-
-<sect3>
-<title>Structure <citerefentry><refentrytitle>struct buf</refentrytitle></citerefentry></title>
-<para>La structure <citerefentry><refentrytitle>struct buf</refentrytitle></citerefentry> est employ&eacute;e pour s'interfacer
-avec le cache de la m&eacute;moire tampon. Elle est dans
-d&eacute;finie <filename>/usr/src/sys/sys/buf.h</filename> :
-</para>
-
-<programlisting>
-/*
- * The buffer header describes an I/O operation in the kernel.
- */
-struct buf {
- LIST_ENTRY(buf) b_hash; /* Hash chain. */
- LIST_ENTRY(buf) b_vnbufs; /* Buffer's associated vnode. */
- TAILQ_ENTRY(buf) b_freelist; /* Free list position if not active. */
- struct buf *b_actf, **b_actb; /* Device driver queue when active. */
- struct proc *b_proc; /* Associated proc; NULL if kernel. */
- volatile long b_flags; /* B_* flags. */
- int b_qindex; /* buffer queue index */
- int b_error; /* Errno value. */
- long b_bufsize; /* Allocated buffer size. */
- long b_bcount; /* Valid bytes in buffer. */
- long b_resid; /* Remaining I/O. */
- dev_t b_dev; /* Device associated with buffer. */
- struct {
- caddr_t b_addr; /* Memory, superblocks, indirect etc. */
- } b_un;
- void *b_saveaddr; /* Original b_addr for physio. */
- daddr_t b_lblkno; /* Logical block number. */
- daddr_t b_blkno; /* Underlying physical block number. */
- /* Function to call upon completion. */
- void (*b_iodone) __P((struct buf *));
- /* For nested b_iodone's. */
- struct iodone_chain *b_iodone_chain;
- struct vnode *b_vp; /* Device vnode. */
- int b_pfcent; /* Center page when swapping cluster. */
- int b_dirtyoff; /* Offset in buffer of dirty region. */
- int b_dirtyend; /* Offset of end of dirty region. */
- struct ucred *b_rcred; /* Read credentials reference. */
- struct ucred *b_wcred; /* Write credentials reference. */
- int b_validoff; /* Offset in buffer of valid region. */
- int b_validend; /* Offset of end of valid region. */
- daddr_t b_pblkno; /* physical block number */
- caddr_t b_savekva; /* saved kva for transfer while bouncing */
- void *b_driver1; /* for private use by the driver */
- void *b_driver2; /* for private use by the driver */
- void *b_spc;
- struct vm_page *b_pages[(MAXPHYS + PAGE_SIZE - 1)/PAGE_SIZE];
- int b_npages;
-};
-</programlisting>
-</sect3>
-
-
-<sect3>
-<title>Structure <citerefentry><refentrytitle>struct uio</refentrytitle></citerefentry></title>
-
-<para>Cette structure est utilis&eacute;e pour d&eacute;placer des donn&eacute;es entre le noyau et
-les espaces utilisateur par les appels syst&egrave;me de <function>read()</function> et de <function>write()</function>.
-Il est dans d&eacute;fini <filename>/usr/src/sys/sys/uio.h</filename> :
-</para>
-
-<programlisting>
-struct uio {
- struct iovec *uio_iov;
- int uio_iovcnt;
- off_t uio_offset;
- int uio_resid;
- enum uio_seg uio_segflg;
- enum uio_rw uio_rw;
- struct proc *uio_procp;
-};
-</programlisting>
-</sect3>
-</sect2>
-
-
-<sect2>
-<title>Fonctions</title>
-<para>plein</para>
-</sect2>
-
-<sect2>
-<title>R&eacute;f&eacute;rences.</title>
-
-<para> FreeBSD Kernel Sources http://www.freebsd.org
-</para>
-
-<para> NetBSD Kernel Sources http://www.netbsd.org
-</para>
-
-<para> Writing Device Drivers: Tutorial and Reference;
-Tim Burke, Mark A. Parenti, Al, Wojtas;
-Digital Press, ISBN 1-55558-141-2.
-</para>
-
-<para> Writing A Unix Device Driver;
-Janet I. Egan, Thomas J. Teixeira;
-John Wiley &amp; Sons, ISBN 0-471-62859-X.
-</para>
-
-<para> Writing Device Drivers for SCO Unix;
-Peter Kettle;
-</para>
-</sect2>
-</sect1>
-</article>
diff --git a/fr_FR.ISO8859-1/articles/diskless-x/Makefile b/fr_FR.ISO8859-1/articles/diskless-x/Makefile
deleted file mode 100644
index 72c1d9b8c9..0000000000
--- a/fr_FR.ISO8859-1/articles/diskless-x/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# 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.ISO8859-1/articles/diskless-x/article.sgml b/fr_FR.ISO8859-1/articles/diskless-x/article.sgml
deleted file mode 100644
index fdbd117e7c..0000000000
--- a/fr_FR.ISO8859-1/articles/diskless-x/article.sgml
+++ /dev/null
@@ -1,298 +0,0 @@
-<!--
- 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.ISO8859-1/articles/fonts/Makefile b/fr_FR.ISO8859-1/articles/fonts/Makefile
deleted file mode 100644
index 72c1d9b8c9..0000000000
--- a/fr_FR.ISO8859-1/articles/fonts/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# 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.ISO8859-1/articles/fonts/article.sgml b/fr_FR.ISO8859-1/articles/fonts/article.sgml
deleted file mode 100755
index 146bd45422..0000000000
--- a/fr_FR.ISO8859-1/articles/fonts/article.sgml
+++ /dev/null
@@ -1,775 +0,0 @@
-<!--
- 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.ISO8859-1/articles/formatting-media/Makefile b/fr_FR.ISO8859-1/articles/formatting-media/Makefile
deleted file mode 100644
index 72c1d9b8c9..0000000000
--- a/fr_FR.ISO8859-1/articles/formatting-media/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# 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.ISO8859-1/articles/formatting-media/article.sgml b/fr_FR.ISO8859-1/articles/formatting-media/article.sgml
deleted file mode 100755
index f58946b2fd..0000000000
--- a/fr_FR.ISO8859-1/articles/formatting-media/article.sgml
+++ /dev/null
@@ -1,557 +0,0 @@
-<!--
- 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.ISO8859-1/articles/ip-aliasing/Makefile b/fr_FR.ISO8859-1/articles/ip-aliasing/Makefile
deleted file mode 100644
index 72c1d9b8c9..0000000000
--- a/fr_FR.ISO8859-1/articles/ip-aliasing/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# 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.ISO8859-1/articles/ip-aliasing/article.sgml b/fr_FR.ISO8859-1/articles/ip-aliasing/article.sgml
deleted file mode 100755
index 149e58a4da..0000000000
--- a/fr_FR.ISO8859-1/articles/ip-aliasing/article.sgml
+++ /dev/null
@@ -1,277 +0,0 @@
-<!--
- 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.ISO8859-1/articles/make-world/Makefile b/fr_FR.ISO8859-1/articles/make-world/Makefile
deleted file mode 100644
index 72c1d9b8c9..0000000000
--- a/fr_FR.ISO8859-1/articles/make-world/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# 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.ISO8859-1/articles/make-world/article.sgml b/fr_FR.ISO8859-1/articles/make-world/article.sgml
deleted file mode 100755
index dd12d95e46..0000000000
--- a/fr_FR.ISO8859-1/articles/make-world/article.sgml
+++ /dev/null
@@ -1,1376 +0,0 @@
-<!--
- 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.ISO8859-1/articles/mh/Makefile b/fr_FR.ISO8859-1/articles/mh/Makefile
deleted file mode 100644
index 72c1d9b8c9..0000000000
--- a/fr_FR.ISO8859-1/articles/mh/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# 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.ISO8859-1/articles/mh/article.sgml b/fr_FR.ISO8859-1/articles/mh/article.sgml
deleted file mode 100644
index 26763e00a3..0000000000
--- a/fr_FR.ISO8859-1/articles/mh/article.sgml
+++ /dev/null
@@ -1,744 +0,0 @@
-<!--
- 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.ISO8859-1/articles/multi-os/Makefile b/fr_FR.ISO8859-1/articles/multi-os/Makefile
deleted file mode 100644
index 72c1d9b8c9..0000000000
--- a/fr_FR.ISO8859-1/articles/multi-os/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# 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.ISO8859-1/articles/multi-os/article.sgml b/fr_FR.ISO8859-1/articles/multi-os/article.sgml
deleted file mode 100755
index 994298fd4a..0000000000
--- a/fr_FR.ISO8859-1/articles/multi-os/article.sgml
+++ /dev/null
@@ -1,700 +0,0 @@
-<!--
- 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.ISO8859-1/articles/new-users/Makefile b/fr_FR.ISO8859-1/articles/new-users/Makefile
deleted file mode 100644
index 72c1d9b8c9..0000000000
--- a/fr_FR.ISO8859-1/articles/new-users/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# 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.ISO8859-1/articles/new-users/article.sgml b/fr_FR.ISO8859-1/articles/new-users/article.sgml
deleted file mode 100755
index 50a698babe..0000000000
--- a/fr_FR.ISO8859-1/articles/new-users/article.sgml
+++ /dev/null
@@ -1,827 +0,0 @@
-<!--
- 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.ISO8859-1/articles/ntfs/Makefile b/fr_FR.ISO8859-1/articles/ntfs/Makefile
deleted file mode 100644
index 72c1d9b8c9..0000000000
--- a/fr_FR.ISO8859-1/articles/ntfs/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# 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.ISO8859-1/articles/ntfs/article.sgml b/fr_FR.ISO8859-1/articles/ntfs/article.sgml
deleted file mode 100644
index a1922b42a2..0000000000
--- a/fr_FR.ISO8859-1/articles/ntfs/article.sgml
+++ /dev/null
@@ -1,490 +0,0 @@
-<!--
- 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.ISO8859-1/articles/ppp/Makefile b/fr_FR.ISO8859-1/articles/ppp/Makefile
deleted file mode 100644
index 72c1d9b8c9..0000000000
--- a/fr_FR.ISO8859-1/articles/ppp/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# 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.ISO8859-1/articles/ppp/article.sgml b/fr_FR.ISO8859-1/articles/ppp/article.sgml
deleted file mode 100755
index 100f07af58..0000000000
--- a/fr_FR.ISO8859-1/articles/ppp/article.sgml
+++ /dev/null
@@ -1,1894 +0,0 @@
-<!--
- 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.ISO8859-1/articles/programming-tools/Makefile b/fr_FR.ISO8859-1/articles/programming-tools/Makefile
deleted file mode 100644
index 72c1d9b8c9..0000000000
--- a/fr_FR.ISO8859-1/articles/programming-tools/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# 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.ISO8859-1/articles/programming-tools/article.sgml b/fr_FR.ISO8859-1/articles/programming-tools/article.sgml
deleted file mode 100755
index 064144f61c..0000000000
--- a/fr_FR.ISO8859-1/articles/programming-tools/article.sgml
+++ /dev/null
@@ -1,2001 +0,0 @@
-<!--
- 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.ISO8859-1/articles/zip-drive/Makefile b/fr_FR.ISO8859-1/articles/zip-drive/Makefile
deleted file mode 100644
index 8617ec14d0..0000000000
--- a/fr_FR.ISO8859-1/articles/zip-drive/Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
-# $FreeBSD: doc/en_US.ISO_8859-1/articles/zip-drive/Makefile,v 1.1 2000/02/14 01:24:34 nik Exp $
-
-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.ISO8859-1/articles/zip-drive/article.sgml b/fr_FR.ISO8859-1/articles/zip-drive/article.sgml
deleted file mode 100644
index 4bb9089721..0000000000
--- a/fr_FR.ISO8859-1/articles/zip-drive/article.sgml
+++ /dev/null
@@ -1,304 +0,0 @@
-<!--
- The FreeBSD Documentation Project
- The FreeBSD French Documentation Project
-
- $FreeBSD$
- Version française : Michel Boucey
- Original revision: n.nn
-
--->
-<!-- %man; -->
-
-<!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 lecteurs ZIP</title>
-
- <authorgroup>
- <author>
- <firstname>Jason</firstname>
- <surname>Bacon</surname>
-
- <affiliation>
- <address><email>acadix@execpc.com</email></address>
- </affiliation>
- </author>
- </authorgroup>
- <abstract>
- &abstract.license;
- &abstract.disclaimer;
- &trans.a.boucey;
- </abstract>
- </artheader>
-
- <sect1>
- <title>Les bases au sujet des lecteurs ZIP</title>
-
- <para>Les disques ZIP sont des disques magnétiques amovibles de grande
- capacité, accessibles en lecture et en écriture par les lecteurs ZIP de
- marque IOMEGA. Les disques ZIP sont similaires aux disquettes, en
- étant cependant bien plus rapides et en ayant une capacité bien
- supérieure. Alors qu'une disquette comporte typiquement 1.44 Mo,
- les disques ZIP sont disponibles en deux capacités, à savoir 100 Mo
- et 250 Mo. Les lecteurs ZIP ne doivent pas être confondus avec
- super-disquette, un lecteur de disquette de 120 Mo de capacité,
- qui accepte aussi les traditionnelles disquettes de 1.44 Mo de
- capacité.</para>
-
- <para>IOMEGA vends aussi un lecteur à la capacité et aux performances
- supérieurs appelé JAZZ. Les lecteurs JAZZ sont livrés en 1 Go et 2
- Go de capacité.</para>
-
- <para>Les lecteurs ZIP sont disponibles en unité interne ou externe,
- utilisant l'une des trois interfaces suivantes :</para>
-
- <orderedlist>
- <listitem>
- <para>L'interface SCSI (Small Computer Standard Interface) est
- l'interface la plus rapide, la plus sophistiquée, la plus extensible,
- et la plus chère. L'interface SCSI est utilisée sur tous types
- d'ordinateur, du PC à la station de travail RISC, jusqu'aux
- mini-ordinateurs, pour connecter tous types de périphériques
- tels que lecteurs de disque, lecteurs de bande, scanners, etc.
- Les lecteurs ZIP SCSI peuvent être internes ou externes, étant
- entendu que votre adaptateur SCSI possède un connecteur
- externe.</para>
-
- <note>
- <para>Si vous utilisez un matériel SCSI externe, il est important
- de ne jamais le connecter ni le déconnecter tout pendant
- que l'ordinateur est en fonctionnement. Faire ceci risque de
- causer des dommages aux systèmes de fichiers sur les disques
- en cours de connection.</para>
- </note>
-
- <para>Si vous souhaitez le maximum de performance et la plus grande
- facilité d'installation, l'interface SCSI est le meilleur choix. Cela
- demandera certainement l'adjonction d'un adaptateur SCSI, puisque la
- majorité des PC (exception faite des serveurs hautes performances)
- ne comportent pas d'origine de support SCSI. Chaque adaptateur peut
- prendre en charge 7 ou 15 périphériques SCSI, selon le modèle.</para>
-
- <para>Chaque périphérique SCSI a son propre contrôleur, et ces
- contrôleurs sont assez intelligents et bien standardisés (le
- second `S' de SCSI est l'abréviation de Standard), ce qui signifie
- , du point de vue du système d'exploitation, que tous les lecteurs de
- disques SCSI sont quasiment identiques, ceci vaut aussi pour les
- lecteurs de bandes, etc. Pour prendre en charge du matériel SCSI, le
- système d'exploitation n'a besoin que d'un pilote (driver) propre à
- l'adaptateur utilisé, et un pilote générique propre à chaque type de
- matériel, à savoir un pilote pour disque SCSI, un pilote pour lecteur
- de bande, et ainsi de suite. Il y a certains matériels SCSI qui
- peuvent être mieux utilisés grâce à des pilotes spécialisés (comme par
- exemple les lecteurs DAT), mais, généralement, ils fonctionnent bien
- avec le pilote générique. Il se peut alors que le pilote générique ne prenne pas
- en compte un certain nombre de caractèristiques spécifiques.</para>
-
- <para>Utiliser un lecteur ZIP SCSI consiste simplement à déterminer
- quel fichier matériel dans le répertoire <filename>/dev</filename>
- représente le lecteur ZIP. Pour ce faire, on peut observer les messages lors
- de l'amorçage de BSD (ou dans <filename>/var/log/messages</filename> après le
- démarrage), où vous verrez une ligne ressemblant fort à ceci:</para>
-
- <programlisting>da1: &lt;IOMEGA ZIP 100 D.13&gt; Removable Direct Access SCSI-2 Device</programlisting>
-
- <para>Cela signifie que le lecteur ZIP est représenté par le fichier
- <filename>/dev/da1</filename>.</para>
- </listitem>
-
- <listitem>
- <para>L'interface IDE (Integrated Drive Electronics) est une interface
- de lecteur de disque bon marché utilisée pour les ordinateurs de bureau.
- La plus grande partie des matériels IDE est strictement interne.</para>
-
- <para>Les performances des lecteurs ZIP IDE sont comparables à celles des
- lecteurs ZIP SCSI (l'interface IDE n'est pas aussi rapide que l'interface
- SCSI, mais les performances des lecteurs ZIP sont limitées essentiellement
- par leur mécanique, non pas à cause du bus SCSI).</para>
-
- <para>L'inconvénient de l'interface IDE sont les limites qu'elle impose.
- La plupart des adaptateurs IDE ne peuvent prendre en charge que deux
- périphériques, et ne sont en général pas conçues pour le long terme. Par
- exemple, l'interface originelle IDE ne prend pas en charge les disques durs
- comportant plus de 1024 cylindres, ce qui oblige de nombreuses personnes à
- mettre à jour prématurément leurs équipements. Si vous prévoyez d'étendre
- votre PC par l'adjonction d'un nouveau disque dur, d'un lecteur de bande,
- ou d'un scanner, vous pouvez investir dans un adaptateur SCSI et ZIP SCSI
- afin d'éviter des problèmes dans le futur.</para>
-
- <para>Les périphériques IDE sous FreeBSD sont préfixés par un <literal>w</literal>.
- Par exemple, un disque dur IDE peut être <filename>/dev/wd0</filename>,
- un lecteur de cdrom IDE (ATAPI) peut être <filename>/dev/wcd1</filename>,
- et ainsi de suite.</para>
- </listitem>
-
- <listitem>
- <para>L'interface port parallèle est populaire grâce aux périphériques externes
- portables tels que lecteurs ZIP externes, scanners, parce que potentiellement
- chaque ordinateur possède un port parallèle standard (habituellement utilisé
- pour les imprimantes). Ceci rend aisé pour tout un chacun le transfert de données
- entre ordinateurs par simple le transport de ces lecteurs ZIP.</para>
-
- <para>Les performances seront en général moindre qu'avec un lecteur ZIP ou IDE,
- du fait de la vitesse limitée du port parallèle. Cette vitesse varie
- considérablement d'un ordinateur à l'autre, et peut souvent être configurée
- à partir du système BIOS. Certaines machines demanderont une configuration du
- BIOS pour pouvoir faire fonctionner le port parallèle en mode bidirectionnel
- (Les ports parallèles ont seulement été conçus à l'origine pour fournir des
- données sortantes vers les imprimantes)</para>
- </listitem>
- </orderedlist>
- </sect1>
-
- <sect1>
- <title>ZIP parallèle : Le pilote <devicename>vpo</devicename></title>
-
- <para>Pour utiliser un lecteur ZIP port parallèle sous FreeBSD, le pilote
- <devicename>vpo</devicename> doit être configuré dans le noyau. Les lecteurs
- ZIP port parallèle ont aussi un contrôleur SCSI intégré. Le pilote vpo authorise
- le noyau FreeBSD à communiquer avec le contrôleur SCSI du lecteur ZIP au travers
- du port parallèle.</para>
-
- <para>Depuis que le pilote vpo ne fait plus parti du noyau en standard (au
- moins pour FreeBSD 3.2), vous avez à reconstruire le noyau afin de rendre
- accessible ce périphérique. La démarche de reconstruction d'un noyau est indiquée
- en détails dans une autre section. Les étapes suivantes indiquent brièvement
- la démarche à suivre afin de mettre en état de marche le pilote vpo:</para>
-
- <orderedlist>
- <listitem>
- <para>Lancer <command>/stand/sysinstall</command>, et installer les sources
- du noyau sur votre système.</para>
-
- <screen>&prompt.root; <userinput>cd /sys/i386/conf</userinput>
-&prompt.root; <userinput>cp GENERIC MYKERNEL</userinput></screen>
-
- <para>Editer <filename>MYKERNEL</filename>, changer la ligne
- <literal>ident</literal> en <literal>MYKERNEL</literal>, et décommenter
- la ligne décrivant le pilote vpo.</para>
-
- <para>Si vous possédez un second port parallèle, vous pourriez avoir besoin
- de copier la section dédiée à <literal>ppc0</literal> pour créer le
- périphérique <literal>ppc1</literal>. Le second port parallèle utilise
- généralement l'IRQ 5 et l'adresse 378. Seul l'IRQ est requise pour le
- fichier de configuration.</para>
-
- <para>Si votre disque dur est un SCSI, vous courez au devant d'un problème
- dans l'ordre de la détection des périphériques, qui entrainera le système
- à tenter d'utiliser le lecteur ZIP en tant que périphérique racine. Le démarrage
- échouera alors, à moins que vous ayez installé un système de fichiers racine
- sur le disque ZIP! Dans ce cas, vous aurez besoin de forcer le noyau à lier
- le disque SCSI racine à <filename>/dev/da0</filename>, à savoir le disque SCSI
- racine. Cela assignera alors le disque ZIP au prochain disque SCSI disponible,
- à savoir <literal>/dev/da1</literal>. Pour forcer votre disque dur SCSI en
- <literal>da0</literal>, changer la ligne
-
- <programlisting>device da0</programlisting>
-
- en
-
- <programlisting>disk da0 at scbus0 target 0 unit 0</programlisting></para>
-
- <para>Vous aurez probablement à changer la cible afin de la faire correspondre à
- l' ID SCSI de votre disque dur. vous devrez aussi forcer l'entrée scbus0 afin
- de l'ajuster à votre contrôleur. Par exemple, si vous avez un contrôleur 15xx
- de chez Adaptec, vous changerez
-
- <programlisting>controller scbus0</programlisting>
-
- en
-
- <programlisting>controller scbus0 at aha0</programlisting></para>
-
- <para>En dernier lieu, puisque vous étes en train d'éditer le fichier de
- configuration du noyau, profitez-en pour ôter tous les pilotes inutiles.
- Cela doit être fait avec de grandes précautions, et seulement si vous avez
- assez confiance en vous en ce qui concerne les modifications du noyau. Ôter
- les pilotes inutiles réduira la taille du noyau, laissant plus de mémoire disponible
- à vos applications. Afin de déterminer les pilotes qui ne sont pas nécessaires,
- allez à la fin du fichier <filename>/var/log/messages</filename>, et recherchez
- les lignes comportant "not found" (non trouvé). Commenter alors ces périphériques
- dans votre fichier de configuration (par un # en tête de ligne). Vous pouvez aussi
- changer d'autres options afin de réduire la taille et d'accroître la rapidité de
- votre noyau. Lisez la section concernant la reconstruction du noyau pour de
- plus amples informations.</para>
- </listitem>
-
- <listitem>
- <para>Il est maintenant temps de compiler le noyau:</para>
-
- <screen>&prompt.root; <userinput>/usr/sbin/config MYKERNEL</userinput>
-&prompt.root; <userinput>cd ../../compile/MYKERNEL</userinput>
-&prompt.root; <userinput>make clean depend && make all install</userinput></screen>
- </listitem>
- </orderedlist>
-
- <para>Après le reconstruction du noyau, vous devez redémarrer. Assurez-vous
- que le lecteur ZIP est connecté au port parallèle avant que le démarrage ne
- commence. Vous devriez voir apparaître le lecteur ZIP parmi les messages de
- démarrage en tant que périphérique vp0 ou vp1, selon le port parallèle auquel
- le lecteur est rattaché. Vous devez pouvoir voir aussi à quel fichier
- périphérique le lecteur ZIP a été associé. Ce sera <filename>/dev/da0</filename>
- si vous n'avez pas d'autre disque SCSI dans le système, ou <filename>/dev/da1</filename>
- si vous avez un disque dur SCSI à la racine de votre système.</para>
- </sect1>
-
- <sect1>
- <title>Monter les disques ZIP</title>
-
- <para>Pour accéder à un disque ZIP, vous avez simplement à le monter, comme
- n'importe quel autre périphérique. Le système de fichiers est représenté
- par la quatrième tranche sur le périphérique, que ce soit pour un disque ZIP
- en SCSI ou en parallèle, vous devriez faire:</para>
-
- <screen>&prompt.root; <userinput>mount_msdos /dev/da1s4 /mnt</userinput></screen>
-
- <para>Pour les lecteurs ZIP IDE:</para>
-
- <screen>&prompt.root; <userinput>mount_msdos /dev/wd1s4 /mnt</userinput></screen>
-
- <para>Cela facilitera aussi les choses de mettre à jour <filename>/etc/fstab</filename>
- afin de rendre le montage plus aisé. Ajoutez une ligne telle que la suivante, ajustée
- à votre système:
-
- <programlisting>/dev/da1s4 /zip msdos rw,noauto 0 0</programlisting>
-
- et créer le répertoire <filename>/zip</filename>.</para>
-
- <para>Vous pouvez alors monter simplement en tapant
-
- <screen>&prompt.root; <userinput>mount /zip</userinput></screen>
-
- et démonter en entrant
-
- <screen>&prompt.root; <userinput>umount /zip</userinput></screen></para>
-
- <para>Pour savoir plus sur le format de <filename>/etc/fstab</filename>,
- voir &man.fstab.5;.</para>
-
- <para>Vous pouvez aussi créer un système de fichiers FreeBSD sur un disque
- ZIP en utilisant &man.newfs.8;. Cependant, le disque ne sera utilisable
- que par un système FreeBSD, et peut-être par quelques clônes Unix
- reconnaissant le système de fichiers FreeBSD (mais certainement pas par
- DOS ou Windows).</para>
- </sect1>
-</article>
-
-
-
-
-
-