hgbook

changeset 1024:ea04ebd452b5

French : second part of ch06
author André Sintzoff <andre.sintzoff@gmail.com>
date Thu Dec 03 22:45:38 2009 +0100 (2009-12-03)
parents 407206673eec
children 3013064edcf7
files fr/ch06-collab.xml
line diff
     1.1 --- a/fr/ch06-collab.xml	Wed Dec 02 18:33:34 2009 +0100
     1.2 +++ b/fr/ch06-collab.xml	Thu Dec 03 22:45:38 2009 +0100
     1.3 @@ -348,7 +348,7 @@
     1.4        <title>Le train des releases</title>
     1.5  <!-- J'ai laissé train en traduction à train mais peut être que suite, file,
     1.6  ... sont des mots qui conviennent mieux ? À méditer -->
     1.7 -<!-- Je mettrais suite -->
     1.8 +<!-- Je mettrais "suite" -->
     1.9  
    1.10        <para id="x_46c">Certains projets sont organisés comme un
    1.11          <quote>train</quote> élémentaire : une release est planifiée tous les
    1.12 @@ -731,7 +731,7 @@
    1.13          serveur en votre nom (ex. lorsque vous faite un pull ou un push 
    1.14          de changements).</para>
    1.15  
    1.16 -      <para id="x_49e">L'inconvénient de sauvegarder les mots de passes dans
    1.17 +      <para id="x_49e">L'inconvénient de sauvegarder les mots de passe dans
    1.18          un agent est qu'il est possible pour un attaquant bien préparé de
    1.19          retrouver le mot de passe clair, dans certains cas, même si votre
    1.20          système a été redémarré. Vous devriez vous faire votre propre
    1.21 @@ -763,826 +763,818 @@
    1.22            <!-- J'ai précisé avec ce que j'ai trouvé sur Wikipedia -->
    1.23        </itemizedlist>
    1.24      </sect2>
    1.25 -<!-- TODO : part 2/4 -->
    1.26 -    <sect2>
    1.27 -      <title>Configuring the server side properly</title>
    1.28 -
    1.29 -      <para id="x_4a0">Because ssh can be fiddly to set up if you're new to it,
    1.30 -	a variety of things can go wrong.  Add Mercurial
    1.31 -	on top, and there's plenty more scope for head-scratching.
    1.32 -	Most of these potential problems occur on the server side, not
    1.33 -	the client side.  The good news is that once you've gotten a
    1.34 -	configuration working, it will usually continue to work
    1.35 -	indefinitely.</para>
    1.36 -
    1.37 -      <para id="x_4a1">Before you try using Mercurial to talk to an ssh server,
    1.38 -	it's best to make sure that you can use the normal
    1.39 -	<command>ssh</command> or <command>putty</command> command to
    1.40 -	talk to the server first.  If you run into problems with using
    1.41 -	these commands directly, Mercurial surely won't work.  Worse,
    1.42 -	it will obscure the underlying problem.  Any time you want to
    1.43 -	debug ssh-related Mercurial problems, you should drop back to
    1.44 -	making sure that plain ssh client commands work first,
    1.45 -	<emphasis>before</emphasis> you worry about whether there's a
    1.46 -	problem with Mercurial.</para>
    1.47 -
    1.48 -      <para id="x_4a2">The first thing to be sure of on the server side is that
    1.49 -	you can actually log in from another machine at all.  If you
    1.50 -	can't use <command>ssh</command> or <command>putty</command>
    1.51 -	to log in, the error message you get may give you a few hints
    1.52 -	as to what's wrong.  The most common problems are as
    1.53 -	follows.</para>
    1.54 +
    1.55 +    <sect2>
    1.56 +      <title>Configurer correctement le serveur</title>
    1.57 +<!-- TODO : comment traduire "passphrase" ? -->
    1.58 +      <para id="x_4a0">Parce que ssh peut être délicat à installer si c'est nouveau pour vous,
    1.59 +      différentes choses peuvent mal se passer. Ajouter Mercurial
    1.60 +      en plus, et il y a beaucoup plus de possibilités pour s'arracher les cheveux.
    1.61 +      La plupart de ces problèmes potentiels apparaissent du côté serveur, non
    1.62 +      du côté client. La bonne nouvelle est qu'une fois que vous avez
    1.63 +      une configuration qui marche, elle continue habituellement de fonctionner
    1.64 +      indéfiniment.</para>
    1.65 +
    1.66 +      <para id="x_4a1">Avant d'essayer de faire communiquer Mercurial avec un serveur ssh,
    1.67 +      il est mieux de s'assurer que vous pouvez d'abord utiliser le
    1.68 +      <command>ssh</command> normal ou la commande <command>putty</command>
    1.69 +      pour communiquer avec le serveur. Si vous vous heurtez a des problèmes en utilisant
    1.70 +      ces commandes directement, Mercurial ne fonctionnera sûrement pas. Pire,
    1.71 +      il cachera le problème sous-jacent. Chaque fois que vous voulez
    1.72 +      déboguer des problèmes de Mercurial liés à ssh, vous devriez d'abord
    1.73 +      vous assurer que les commandes du client ssh fonctionne d'abord,
    1.74 +      <emphasis>avant</emphasis> de vous inquiéter à propos de savoir si 
    1.75 +      il y a un problème avec Mercurial.</para>
    1.76 +
    1.77 +      <para id="x_4a2">La première chose à s'assurer du côté serveur est que
    1.78 +      vous puissiez réellement vous connecter depuis une autre machine. Si vous
    1.79 +      ne pouvez pas utiliser <command>ssh</command> ou <command>putty</command>
    1.80 +      pour vous connecter, le message d'erreur que vous aurez peut vous donner quelques indices
    1.81 +      sur ce qui ne fonctionne pas. Les problèmes les plus courants sont les suivants.</para>
    1.82        <itemizedlist>
    1.83 -	<listitem><para id="x_4a3">If you get a <quote>connection refused</quote>
    1.84 -	    error, either there isn't an SSH daemon running on the
    1.85 -	    server at all, or it's inaccessible due to firewall
    1.86 -	    configuration.</para>
    1.87 +	<listitem><para id="x_4a3">Si vous avez une erreur <quote>connexion refusée</quote>,
    1.88 +    soit il n'y a pas de démon SSH tournant sur le serveur, soit il est inaccessible à cause
    1.89 +    de la configuration du pare-feu.</para>
    1.90  	</listitem>
    1.91 -	<listitem><para id="x_4a4">If you get a <quote>no route to host</quote>
    1.92 -	    error, you either have an incorrect address for the server
    1.93 -	    or a seriously locked down firewall that won't admit its
    1.94 -	    existence at all.</para>
    1.95 +	<listitem><para id="x_4a4">Si vous avez une erreur <quote>no route to host</quote>,
    1.96 +    soit vous avez une adresse incorrecte pour le serveur
    1.97 +    soit un pare-feu sérieusement verrouillé qui ne veut pas du tout reconnaître son existence.</para>
    1.98  	</listitem>
    1.99 -	<listitem><para id="x_4a5">If you get a <quote>permission denied</quote>
   1.100 -	    error, you may have mistyped the username on the server,
   1.101 -	    or you could have mistyped your key's passphrase or the
   1.102 -	    remote user's password.</para>
   1.103 +	<listitem><para id="x_4a5">Si vous avez une erreur <quote>permission denied</quote>,
   1.104 +    vous pouvez avoir mal tapé le nom d'utilisateur sur le serveur,
   1.105 +    ou vous pouvez avoir mal tapé votre passphrase de clé ou 
   1.106 +    le mot de passe d'utilisateur distant.</para>
   1.107  	</listitem></itemizedlist>
   1.108 -      <para id="x_4a6">In summary, if you're having trouble talking to the
   1.109 -	server's ssh daemon, first make sure that one is running at
   1.110 -	all.  On many systems it will be installed, but disabled, by
   1.111 -	default.  Once you're done with this step, you should then
   1.112 -	check that the server's firewall is configured to allow
   1.113 -	incoming connections on the port the ssh daemon is listening
   1.114 -	on (usually 22).  Don't worry about more exotic possibilities
   1.115 -	for misconfiguration until you've checked these two
   1.116 -	first.</para>
   1.117 -      <para id="x_4a7">If you're using an authentication agent on the client side
   1.118 -	to store passphrases for your keys, you ought to be able to
   1.119 -	log into the server without being prompted for a passphrase or
   1.120 -	a password.  If you're prompted for a passphrase, there are a
   1.121 -	few possible culprits.</para>
   1.122 +      <para id="x_4a6">En résumé, si vous avez des difficultés pour communiquer avec
   1.123 +      le démon ssh du serveur, d'abord assurez-vous qu'il y en a un en fonctionnement.
   1.124 +      Sur beaucoup de systèmes, il est installé, mais désactivé, par
   1.125 +      défaut. Une fois que c'est fait, vous devriez alors
   1.126 +      vérifier que le pare-feu du serveur est configuré pour permettre
   1.127 +      les connexions entrantes sur le port que le démon ssh écoute
   1.128 +      (habituellement 22). Ne vous inquiétez pas à propos de possibilités plus exotiques
   1.129 +      de mauvaise configuration tant que vous n'avez pas vérifier ces deux premières.</para>
   1.130 +
   1.131 +      <para id="x_4a7">Si vous utilisez un agent d'authentification du côté client
   1.132 +      pour stocker les passphrases de vos clés, vous devriez être capable de 
   1.133 +      vous connecter au serveur sans avoir à entrer une passphrase ou
   1.134 +      un mot de passe. Si vous devez entrer une passphrase, il y a
   1.135 +      quelques coupables possibles.</para>
   1.136        <itemizedlist>
   1.137 -	<listitem><para id="x_4a8">You might have forgotten to use
   1.138 -	    <command>ssh-add</command> or <command>pageant</command>
   1.139 -	    to store the passphrase.</para>
   1.140 +	<listitem><para id="x_4a8">Vous pouvez avoir oublié d'utiliser
   1.141 +	    <command>ssh-add</command> ou <command>pageant</command>
   1.142 +	    pour stocker la passphrase.</para>
   1.143  	</listitem>
   1.144 -	<listitem><para id="x_4a9">You might have stored the passphrase for the
   1.145 -	    wrong key.</para>
   1.146 +	<listitem><para id="x_4a9">Vous pouvez avoir stocké la passphrase
   1.147 +    pour une mauvaise clé.</para>
   1.148  	</listitem></itemizedlist>
   1.149 -      <para id="x_4aa">If you're being prompted for the remote user's password,
   1.150 -	there are another few possible problems to check.</para>
   1.151 +      <para id="x_4aa">Si vous devez entrer le mot de passe d'utilisateur distant,
   1.152 +      il y a quelques autres problèmes possibles à vérifier.</para>
   1.153        <itemizedlist>
   1.154 -	<listitem><para id="x_4ab">Either the user's home directory or their
   1.155 -	    <filename role="special" class="directory">.ssh</filename>
   1.156 -	    directory might have excessively liberal permissions.  As
   1.157 -	    a result, the ssh daemon will not trust or read their
   1.158 -	    <filename role="special">authorized_keys</filename> file.
   1.159 -	    For example, a group-writable home or <filename
   1.160 +	<listitem><para id="x_4ab">Soit le répertoire utilisateur ou le
   1.161 +    répertoire <filename role="special" class="directory">.ssh</filename>
   1.162 +    peut avoir des droits trop tolérants. Comme résultat,
   1.163 +    le démon ssh n'aura pas confiance ni ne lira le fichier
   1.164 +	    <filename role="special">authorized_keys</filename>.
   1.165 +        Par exemple, un <quote>group-writable home</quote> ou un répertoire <filename
   1.166  	      role="special" class="directory">.ssh</filename>
   1.167 -	    directory will often cause this symptom.</para>
   1.168 +          sera souvent la cause de ce symptôme.</para>
   1.169 +          <!-- TODO : comment traduire "group-writable home" ? -->
   1.170  	</listitem>
   1.171 -	<listitem><para id="x_4ac">The user's <filename
   1.172 -	      role="special">authorized_keys</filename> file may have
   1.173 -	    a problem. If anyone other than the user owns or can write
   1.174 -	    to that file, the ssh daemon will not trust or read
   1.175 -	    it.</para>
   1.176 +	<listitem><para id="x_4ac">Le fichier <filename
   1.177 +	      role="special">authorized_keys</filename> de l'utilisateur peut avoir
   1.178 +          un problème. Si quelqu'un d'autre que l'utilisateur possède ou peut écrire
   1.179 +          dans ce fichier, le démon ssh n'aura pas confiance ni ne le lira.</para>
   1.180  	</listitem></itemizedlist>
   1.181  
   1.182 -      <para id="x_4ad">In the ideal world, you should be able to run the
   1.183 -	following command successfully, and it should print exactly
   1.184 -	one line of output, the current date and time.</para>
   1.185 +      <para id="x_4ad">Dans le monde idéal, vous devriez être capable d'exécuter la 
   1.186 +      commande suivante avec succès, et elle devrait imprimer exactement
   1.187 +      une ligne en sortie, la date et l'heure actuelle.</para>
   1.188        <programlisting>ssh myserver date</programlisting>
   1.189 -
   1.190 -      <para id="x_4ae">If, on your server, you have login scripts that print
   1.191 -	banners or other junk even when running non-interactive
   1.192 -	commands like this, you should fix them before you continue,
   1.193 -	so that they only print output if they're run interactively.
   1.194 -	Otherwise these banners will at least clutter up Mercurial's
   1.195 -	output.  Worse, they could potentially cause problems with
   1.196 -	running Mercurial commands remotely.  Mercurial tries to
   1.197 -	detect and ignore banners in non-interactive
   1.198 -	<command>ssh</command> sessions, but it is not foolproof.  (If
   1.199 -	you're editing your login scripts on your server, the usual
   1.200 -	way to see if a login script is running in an interactive
   1.201 -	shell is to check the return code from the command
   1.202 +<!-- TODO : comment traduire "junk" ? -->
   1.203 +      <para id="x_4ae">Si, sur votre serveur, vous avec des scripts de connexion qui
   1.204 +      impriment des bannières ou d'autre "junk" même en fonctionnement non-interactif
   1.205 +      comme ici, vous devriez corriger cela avant de continuer, comme cela elles 
   1.206 +      imprimeront des sorties que si elles fonctionnent en mode interactif.
   1.207 +      Autrement, au minimum, ces bannières encombreront les sorties de Mercurial. 
   1.208 +      Pire, elles pourront potentiellement causer des problèmes avec des commandes
   1.209 +      Mercurial exécutées à distance. Mercurial essaye de détecter et d'ignorer des
   1.210 +      bannières dans des sessions <command>ssh</command> non-interactives, mais il
   1.211 +      n'est pas infaillible. (Si
   1.212 +      vous éditez vos scripts de connexion sur votre serveur, la manière habituelle
   1.213 +      de voir si un script de connexion fonctionne dans un shell interactif
   1.214 +      est de vérifier le code de retour de la commande
   1.215  	<literal>tty -s</literal>.)</para>
   1.216  
   1.217 -      <para id="x_4af">Once you've verified that plain old ssh is working with
   1.218 -	your server, the next step is to ensure that Mercurial runs on
   1.219 -	the server.  The following command should run
   1.220 -	successfully:</para>
   1.221 +      <para id="x_4af">Lorsque vous avez vérifié que le bon vieux ssh fonctionne
   1.222 +      avec votre serveur, l'étape suivante est de s'assurer que Mercurial fonctionne
   1.223 +      sur le serveur. La commande suivant devrait fonctionnement correctement :</para>
   1.224  
   1.225        <programlisting>ssh myserver hg version</programlisting>
   1.226  
   1.227 -      <para id="x_4b0">If you see an error message instead of normal <command
   1.228 -	  role="hg-cmd">hg version</command> output, this is usually
   1.229 -	because you haven't installed Mercurial to <filename
   1.230 -	  class="directory">/usr/bin</filename>.  Don't worry if this
   1.231 -	is the case; you don't need to do that.  But you should check
   1.232 -	for a few possible problems.</para>
   1.233 +      <para id="x_4b0">Si vous voyez un message d'erreur au lieu de la sortie normale de
   1.234 +      <command role="hg-cmd">hg version</command>, c'est habituellement
   1.235 +      parce que vous n'avez pas installé Mercurial dans <filename
   1.236 +	  class="directory">/usr/bin</filename>.  Ne vous inquiétez pas si 
   1.237 +      c'est le cas ; vous n'avez pas besoin de le faire. Mais vous devriez
   1.238 +      vérifiez quelques problèmes possibles.</para>
   1.239        <itemizedlist>
   1.240 -	<listitem><para id="x_4b1">Is Mercurial really installed on the server at
   1.241 -	    all?  I know this sounds trivial, but it's worth
   1.242 -	    checking!</para>
   1.243 +	<listitem><para id="x_4b1">Mercurial est-il vraiment installé sur le 
   1.244 +    serveur ? Je sais que cela semble évident, mais cela vaut la peine
   1.245 +    de vérifier !</para>
   1.246  	</listitem>
   1.247 -	<listitem><para id="x_4b2">Maybe your shell's search path (usually set
   1.248 -	    via the <envar>PATH</envar> environment variable) is
   1.249 -	    simply misconfigured.</para>
   1.250 +	<listitem><para id="x_4b2">Peut-être que le chemin de recherche de votre shell
   1.251 +    (habituellement défini via la variable d'environnement<envar>PATH</envar>)
   1.252 +    est simplement mal configuré.</para>
   1.253  	</listitem>
   1.254 -	<listitem><para id="x_4b3">Perhaps your <envar>PATH</envar> environment
   1.255 -	    variable is only being set to point to the location of the
   1.256 -	    <command>hg</command> executable if the login session is
   1.257 -	    interactive.  This can happen if you're setting the path
   1.258 -	    in the wrong shell login script.  See your shell's
   1.259 -	    documentation for details.</para>
   1.260 +	<listitem><para id="x_4b3">Peut-être que votre variable d'environnement
   1.261 +    <envar>PATH</envar> pointe vers l'endroit de l'exécutable
   1.262 +	    <command>hg</command> uniquement si la session est
   1.263 +	    interactive.  Ceci peut arriver si vous mettez le chemin dans 
   1.264 +        le mauvais script de connextion. Regardez la documentation de 
   1.265 +        votre shell pour les détails.</para>
   1.266  	</listitem>
   1.267 -	<listitem><para id="x_4b4">The <envar>PYTHONPATH</envar> environment
   1.268 -	    variable may need to contain the path to the Mercurial
   1.269 -	    Python modules.  It might not be set at all; it could be
   1.270 -	    incorrect; or it may be set only if the login is
   1.271 -	    interactive.</para>
   1.272 +	<listitem><para id="x_4b4">La variable d'environnement <envar>PYTHONPATH</envar>
   1.273 +    peut devoir contenir le chemin vers les modules Python de Mercurial.
   1.274 +    Elle peut ne pas être définie ; elle peut être incorrecte ; ou elle peut être
   1.275 +    définie que si la connexion est interactive.</para>
   1.276  	</listitem></itemizedlist>
   1.277  
   1.278 -      <para id="x_4b5">If you can run <command role="hg-cmd">hg version</command>
   1.279 -	over an ssh connection, well done! You've got the server and
   1.280 -	client sorted out.  You should now be able to use Mercurial to
   1.281 -	access repositories hosted by that username on that server.
   1.282 -	If you run into problems with Mercurial and ssh at this point,
   1.283 -	try using the <option role="hg-opt-global">--debug</option>
   1.284 -	option to get a clearer picture of what's going on.</para>
   1.285 -    </sect2>
   1.286 -    <sect2>
   1.287 -      <title>Using compression with ssh</title>
   1.288 -
   1.289 -      <para id="x_4b6">Mercurial does not compress data when it uses the ssh
   1.290 -	protocol, because the ssh protocol can transparently compress
   1.291 -	data.  However, the default behavior of ssh clients is
   1.292 -	<emphasis>not</emphasis> to request compression.</para>
   1.293 -
   1.294 -      <para id="x_4b7">Over any network other than a fast LAN (even a wireless
   1.295 -	network), using compression is likely to significantly speed
   1.296 -	up Mercurial's network operations.  For example, over a WAN,
   1.297 -	someone measured compression as reducing the amount of time
   1.298 -	required to clone a particularly large repository from 51
   1.299 -	minutes to 17 minutes.</para>
   1.300 -
   1.301 -      <para id="x_4b8">Both <command>ssh</command> and <command>plink</command>
   1.302 -	accept a <option role="cmd-opt-ssh">-C</option> option which
   1.303 -	turns on compression.  You can easily edit your <filename
   1.304 -	  role="special">~/.hgrc</filename> to enable compression for
   1.305 -	all of Mercurial's uses of the ssh protocol.  Here is how to
   1.306 -	do so for regular <command>ssh</command> on Unix-like systems,
   1.307 -	for example.</para>
   1.308 +      <para id="x_4b5">Si vous pouvez exécuter <command role="hg-cmd">hg version</command>
   1.309 +      sur une connexion ssh, bravo ! Vous avez réglé les problèmes du serveur
   1.310 +      et du client. Vous devriez maintenant être capable d'utiliser Mercurial pour
   1.311 +      accéder à des dépôts hébergés par cet utilisateur sur ce serveur.
   1.312 +      Si vous avez des problèmes avec Mercurial et ssh à ce moment,
   1.313 +      essayer d'utiliser l'option <option role="hg-opt-global">--debug</option>
   1.314 +      pour obtenir une image plus claire de ce qui se passe.</para>
   1.315 +    </sect2>
   1.316 +    <sect2>
   1.317 +      <title>Utilisation de la compression avec ssh</title>
   1.318 +
   1.319 +      <para id="x_4b6">Mercurial ne comprime pas les données quand il utilise
   1.320 +      le protocole ssh, car le protocole ssh peut comprimer de manière transparente
   1.321 +      les données. De plus, le comportement par défaut des clients ssh est de 
   1.322 +	<emphasis>ne pas</emphasis> demander de la compression.</para>
   1.323 +
   1.324 +      <para id="x_4b7">Sur n'importe quel réseau autre qu'un réseau local rapide (même
   1.325 +      un réseau sans fil), utiliser la compression améliore significativement la
   1.326 +      vitesse des opérations réseau de Mercurial. Par exemple, sur un WAN,
   1.327 +      quelqu'un a mesuré que la compression a réduit la durée pour cloner un dépôt
   1.328 +      particulièrement grand de 51 minutes à 17 minutes.</para>
   1.329 +
   1.330 +      <para id="x_4b8">Les deux commandes <command>ssh</command> et <command>plink</command>
   1.331 +	acceptent une option <option role="cmd-opt-ssh">-C</option> qui active
   1.332 +	la compression. Vous pouvez facilement éditer votre <filename
   1.333 +	  role="special">~/.hgrc</filename> pour activer la compression pour
   1.334 +	tous les usages de Mercurial du protocole ssh. Voici comment faire
   1.335 +    pour la commande habituelle <command>ssh</command> sur des systèmes Unix-like,
   1.336 +	par exemple.</para>
   1.337        <programlisting>[ui]
   1.338  ssh = ssh -C</programlisting>
   1.339 -
   1.340 -      <para id="x_4b9">If you use <command>ssh</command> on a
   1.341 -	Unix-like system, you can configure it to always use
   1.342 -	compression when talking to your server.  To do this, edit
   1.343 -	your <filename role="special">.ssh/config</filename> file
   1.344 -	(which may not yet exist), as follows.</para>
   1.345 +<!-- TODO comment traduire "Unix-like" ? -->
   1.346 +      <para id="x_4b9">Si vous utilisez <command>ssh</command> sur un
   1.347 +	système Unix-like, vous pouvez le configurer pour toujours utiliser
   1.348 +    la compression lors de la connexion avec votre serveur. Pour cela, éditer
   1.349 +    votre fichier <filename role="special">.ssh/config</filename>
   1.350 +	(qui peut ne pas encore exister), comme suit.</para>
   1.351  
   1.352        <programlisting>Host hg
   1.353    Compression yes
   1.354    HostName hg.example.com</programlisting>
   1.355  
   1.356 -      <para id="x_4ba">This defines a hostname alias,
   1.357 -	<literal>hg</literal>.  When you use that hostname on the
   1.358 -	<command>ssh</command> command line or in a Mercurial
   1.359 -	<literal>ssh</literal>-protocol URL, it will cause
   1.360 -	<command>ssh</command> to connect to
   1.361 -	<literal>hg.example.com</literal> and use compression.  This
   1.362 -	gives you both a shorter name to type and compression, each of
   1.363 -	which is a good thing in its own right.</para>
   1.364 +      <para id="x_4ba">Ceci définit un alias pour le nom d'hôte,
   1.365 +	<literal>hg</literal>. Quand vous utilisez ce nom d'hôte sur la
   1.366 +    ligne de commande <command>ssh</command> ou dans une URL Mercurial en
   1.367 +    protocole <literal>ssh</literal>, 
   1.368 +	<command>ssh</command> se connectera à
   1.369 +	<literal>hg.example.com</literal> et utilisera la compression. Ceci
   1.370 +	vous offre à la fois un nom plus court à taper et la compression,
   1.371 +    chacun est une bonne chose en lui-même.</para>
   1.372      </sect2>
   1.373    </sect1>
   1.374  
   1.375    <sect1 id="sec:collab:cgi">
   1.376 -    <title>Serving over HTTP using CGI</title>
   1.377 -
   1.378 -    <para id="x_6a8">The simplest way to host one or more repositories in a
   1.379 -      permanent way is to use a web server and Mercurial's CGI
   1.380 -      support.</para>
   1.381 -
   1.382 -    <para id="x_4bb">Depending on how ambitious you are, configuring Mercurial's
   1.383 -      CGI interface can take anything from a few moments to several
   1.384 -      hours.</para>
   1.385 -
   1.386 -    <para id="x_4bc">We'll begin with the simplest of examples, and work our way
   1.387 -      towards a more complex configuration.  Even for the most basic
   1.388 -      case, you're almost certainly going to need to read and modify
   1.389 -      your web server's configuration.</para>
   1.390 +    <title>Service sur HTTP grâce à CGI</title>
   1.391 +
   1.392 +    <para id="x_6a8">La manière la plus simple d'héberger un ou plusieurs dépôts de
   1.393 +    manière permanente est d'utiliser un serveur web et le support CGI de Mercurial.
   1.394 +    </para>
   1.395 +
   1.396 +    <para id="x_4bb">En fonction de votre ambition, configurer l'interface CGI
   1.397 +    de Mercurial peut vous prendre de quelques instants à plusieurs heures.</para>
   1.398 +
   1.399 +    <para id="x_4bc">Nous commencerons par le plus simple des exemples, et travailler
   1.400 +    vers une configuration plus complexe. Même pour le cas le plus élémentaire,
   1.401 +    vous devrez certainement lire et modifier la configuration de votre serveur web.</para>
   1.402  
   1.403      <note>
   1.404 -      <title>High pain tolerance required</title>
   1.405 -
   1.406 -      <para id="x_4bd">Configuring a web server is a complex, fiddly,
   1.407 -	and highly system-dependent activity.  I can't possibly give
   1.408 -	you instructions that will cover anything like all of the
   1.409 -	cases you will encounter. Please use your discretion and
   1.410 -	judgment in following the sections below.  Be prepared to make
   1.411 -	plenty of mistakes, and to spend a lot of time reading your
   1.412 -	server's error logs.</para>
   1.413 -
   1.414 -      <para id="x_6a9">If you don't have a strong stomach for tweaking
   1.415 -	configurations over and over, or a compelling need to host
   1.416 -	your own services, you might want to try one of the public
   1.417 -	hosting services that I mentioned earlier.</para>
   1.418 +      <title>Grande tolérance à la peine exigée</title>
   1.419 +
   1.420 +      <para id="x_4bd">Configurer un serveur web est une activité complexe,
   1.421 +      délicate, et dépendant fortement du système. Il m'est absolument impossible
   1.422 +      de vous donner les instructions qui couvriront tous les cas que vous
   1.423 +      rencontrerez. Faites comme bon vous semblera en suivant les sections ci-dessous.
   1.424 +      Soyez prêts à faire beaucoup d'erreurs, et à consacrer beaucoup de temps à lire
   1.425 +      les logs d'erreur de votre serveur.</para>
   1.426 +
   1.427 +      <para id="x_6a9">Si vous n'avez pas un estomac solide pour tordre des 
   1.428 +      configurations à maintes reprises, ou un besoin irrésistible d'héberger vos
   1.429 +      propres services, vous pourriez vouloir essayer un des services d'hébergement
   1.430 +      public que j'ai mentionné plus tôt.</para>
   1.431      </note>
   1.432  
   1.433      <sect2>
   1.434 -      <title>Web server configuration checklist</title>
   1.435 -
   1.436 -      <para id="x_4be">Before you continue, do take a few moments to check a few
   1.437 -	aspects of your system's setup.</para>
   1.438 +      <title>Liste de contrôle de la configuration du serveur web</title>
   1.439 +
   1.440 +      <para id="x_4be">Avant de continuer, prenez quelques instants pour contrôler
   1.441 +      quelques aspects de l'installation de votre système.</para>
   1.442  
   1.443        <orderedlist>
   1.444 -	<listitem><para id="x_4bf">Do you have a web server installed
   1.445 -	    at all? Mac OS X and some Linux distributions ship with
   1.446 -	    Apache, but many other systems may not have a web server
   1.447 -	    installed.</para>
   1.448 +	<listitem><para id="x_4bf">Avez-vous un serveur web installé ?
   1.449 +    Mac OS X et quelques distributions Linux sont fournis avec
   1.450 +	    Apache, mais beaucoup d'autres systèmes peuvent ne pas avoir de serveur web
   1.451 +        installé.</para>
   1.452  	</listitem>
   1.453 -	<listitem><para id="x_4c0">If you have a web server installed, is it
   1.454 -	    actually running?  On most systems, even if one is
   1.455 -	    present, it will be disabled by default.</para>
   1.456 +	<listitem><para id="x_4c0">Si vous avez un serveur web installé, fonctionne-t-il
   1.457 +    réellement ? Sur la plupart des systèmes, même si il y a en un, il sera désactivité
   1.458 +    par défaut.</para>
   1.459  	</listitem>
   1.460 -	<listitem><para id="x_4c1">Is your server configured to allow you to run
   1.461 -	    CGI programs in the directory where you plan to do so?
   1.462 -	    Most servers default to explicitly disabling the ability
   1.463 -	    to run CGI programs.</para>
   1.464 +	<listitem><para id="x_4c1">Votre serveur est-il configuré pour vous permettre de 
   1.465 +    faire fonctionner des programmes CGI dans le répertoire où vous prévoyer de le faire ?
   1.466 +    La plupart des serveurs désactivent explicitement l'aptitude à faire fonctionner des 
   1.467 +    programmes CGI.</para>
   1.468  	</listitem></orderedlist>
   1.469  
   1.470 -      <para id="x_4c2">If you don't have a web server installed, and don't have
   1.471 -	substantial experience configuring Apache, you should consider
   1.472 -	using the <literal>lighttpd</literal> web server instead of
   1.473 -	Apache.  Apache has a well-deserved reputation for baroque and
   1.474 -	confusing configuration. While <literal>lighttpd</literal> is
   1.475 -	less capable in some ways than Apache, most of these
   1.476 -	capabilities are not relevant to serving Mercurial
   1.477 -	repositories.  And <literal>lighttpd</literal> is undeniably
   1.478 -	<emphasis>much</emphasis> easier to get started with than
   1.479 -	Apache.</para>
   1.480 -    </sect2>
   1.481 -
   1.482 -    <sect2>
   1.483 -      <title>Basic CGI configuration</title>
   1.484 -
   1.485 -      <para id="x_4c3">On Unix-like systems, it's common for users to have a
   1.486 -	subdirectory named something like <filename
   1.487 -	  class="directory">public_html</filename> in their home
   1.488 -	directory, from which they can serve up web pages.  A file
   1.489 -	named <filename>foo</filename> in this directory will be
   1.490 -	accessible at a URL of the form
   1.491 +      <para id="x_4c2">Si vous n'avez pas de serveur web installé, et n'avez pas 
   1.492 +      d'expérience solide dans la configuration Apache, vous devriez envisager
   1.493 +      d'utiliser le serveur web <literal>lighttpd</literal> au lieu
   1.494 +	d'Apache.  Apache a une réputation bien méritée de configuration baroque et 
   1.495 +    déroutante. Bien que <literal>lighttpd</literal> ait moins de fonctions
   1.496 +    qu'Apache, la plupart de celles-ci ne sont pas utiles pour servir
   1.497 +    des dépôts Mercurial. Et <literal>lighttpd</literal> est incontestablement
   1.498 +	<emphasis>beaucoup</emphasis> plus facile pour débuter
   1.499 +    qu'Apache.</para>
   1.500 +    </sect2>
   1.501 +
   1.502 +
   1.503 +    <sect2>
   1.504 +      <title>Configuration élémentaire de CGI</title>
   1.505 +
   1.506 +      <para id="x_4c3">Sur les systèmes Unix-like, il est habituel pour les utilisateurs d'avoir un
   1.507 +      sous-répertoire nommé quelque chose comme <filename
   1.508 +	  class="directory">public_html</filename> dans leur "home
   1.509 +	directory", à partir duquel ils peuvent servir des pages web. Un fichier
   1.510 +    appelé <filename>foo</filename> dans ce répertoire sera
   1.511 +	accessible à une URL de la forme
   1.512  	<literal>http://www.example.com/username/foo</literal>.</para>
   1.513  
   1.514 -      <para id="x_4c4">To get started, find the <filename
   1.515 -	  role="special">hgweb.cgi</filename> script that should be
   1.516 -	present in your Mercurial installation.  If you can't quickly
   1.517 -	find a local copy on your system, simply download one from the
   1.518 -	master Mercurial repository at <ulink
   1.519 +      <para id="x_4c4">Pour commencer, trouver le script <filename
   1.520 +	  role="special">hgweb.cgi</filename> qui devrait être
   1.521 +	présent dans votre installation de Mercurial. Si vous ne pouvez pas trouver
   1.522 +	rapidement une copie locale sur votre système, téléchargez-le simplement
   1.523 +    du dépôt maître de Mercurial à <ulink
   1.524  	  url="http://www.selenic.com/repo/hg/raw-file/tip/hgweb.cgi">http://www.selenic.com/repo/hg/raw-file/tip/hgweb.cgi</ulink>.</para>
   1.525  
   1.526 -      <para id="x_4c5">You'll need to copy this script into your <filename
   1.527 -	  class="directory">public_html</filename> directory, and
   1.528 -	ensure that it's executable.</para>
   1.529 +      <para id="x_4c5">Vous devrez copier ce script dans votre répertoire <filename
   1.530 +	  class="directory">public_html</filename>, et vous assurez qu'il est
   1.531 +	exécutable.</para>
   1.532        <programlisting>cp .../hgweb.cgi ~/public_html
   1.533  chmod 755 ~/public_html/hgweb.cgi</programlisting>
   1.534 -      <para id="x_4c6">The <literal>755</literal> argument to
   1.535 -	<command>chmod</command> is a little more general than just
   1.536 -	making the script executable: it ensures that the script is
   1.537 -	executable by anyone, and that <quote>group</quote> and
   1.538 -	<quote>other</quote> write permissions are
   1.539 -	<emphasis>not</emphasis> set.  If you were to leave those
   1.540 -	write permissions enabled, Apache's <literal>suexec</literal>
   1.541 -	subsystem would likely refuse to execute the script.  In fact,
   1.542 -	<literal>suexec</literal> also insists that the
   1.543 -	<emphasis>directory</emphasis> in which the script resides
   1.544 -	must not be writable by others.</para>
   1.545 +      <para id="x_4c6">L'argument <literal>755</literal> de
   1.546 +	<command>chmod</command> est un peu plus général que de rendre
   1.547 +    le script exécutable: il garantit que le script est
   1.548 +	exécutable par n'importe qui, et que les permissions d'écriture pour le <quote>group</quote> et les 
   1.549 +	<quote>other</quote> <emphasis>ne</emphasis> sont 
   1.550 +	<emphasis>pas</emphasis> définies.  Si vous laissez ces 
   1.551 +	permissions d'écriture activées, le sous-système <literal>suexec</literal>
   1.552 +	d'Apache refuserait probablement d'exécuter le script. En fait,
   1.553 +	<literal>suexec</literal> insiste aussi pour que le
   1.554 +	<emphasis>répertoire</emphasis> dans lequel le script réside
   1.555 +	ne soit pas inscriptible par d'autres.</para>
   1.556        <programlisting>chmod 755 ~/public_html</programlisting>
   1.557  
   1.558        <sect3 id="sec:collab:wtf">
   1.559 -	<title>What could <emphasis>possibly</emphasis> go
   1.560 -	  wrong?</title>
   1.561 -
   1.562 -	<para id="x_4c7">Once you've copied the CGI script into place,
   1.563 -	  go into a web browser, and try to open the URL
   1.564 -	  <literal>http://myhostname/~myuser/hgweb.cgi</literal>,
   1.565 -	  <emphasis>but</emphasis> brace yourself for instant failure.
   1.566 -	  There's a high probability that trying to visit this URL
   1.567 -	  will fail, and there are many possible reasons for this.  In
   1.568 -	  fact, you're likely to stumble over almost every one of the
   1.569 -	  possible errors below, so please read carefully.  The
   1.570 -	  following are all of the problems I ran into on a system
   1.571 -	  running Fedora 7, with a fresh installation of Apache, and a
   1.572 -	  user account that I created specially to perform this
   1.573 -	  exercise.</para>
   1.574 -
   1.575 -	<para id="x_4c8">Your web server may have per-user directories disabled.
   1.576 -	  If you're using Apache, search your config file for a
   1.577 -	  <literal>UserDir</literal> directive.  If there's none
   1.578 -	  present, per-user directories will be disabled.  If one
   1.579 -	  exists, but its value is <literal>disabled</literal>, then
   1.580 -	  per-user directories will be disabled.  Otherwise, the
   1.581 -	  string after <literal>UserDir</literal> gives the name of
   1.582 -	  the subdirectory that Apache will look in under your home
   1.583 -	  directory, for example <filename
   1.584 +	<title>Que pourrait-il <emphasis>éventuellement</emphasis> mal
   1.585 +	  se passer ?</title>
   1.586 +
   1.587 +	<para id="x_4c7">Une fois que vous avez copié le script CGI à sa place,
   1.588 +      allez dans un navigateur et essayer d'ouvrir l'URL
   1.589 +      <literal>http://myhostname/~myuser/hgweb.cgi</literal>,
   1.590 +	  <emphasis>mais</emphasis> attendez-vous à un échec immédiat.
   1.591 +	  Il y a une forte probabilité que d'essayer de visiter cette URL
   1.592 +      échouera, et il y a beaucoup de raisons possibles pour cela. En
   1.593 +      fait, vous devrez probablement trébucher sour pratiquement chacun des
   1.594 +      erreurs possibles ci-dessous, donc lisez attentivement. Les 
   1.595 +      problèmes suivants sont tous ceux que j'ai rencontré sur un système
   1.596 +      tournant Fedora 7, avec une nouvelle installation d'Apache, et un 
   1.597 +      compte utilisateur que j'avais créé spécialement pour réaliser cet
   1.598 +      exercice.</para>
   1.599 +<!-- TODO comment traduire "per-user" ? -->
   1.600 +	<para id="x_4c8">Votre serveur web peut avoir des répertoires "per-user" désactivés.
   1.601 +	  Si vous utilisez Apache, cherchez une directive <literal>UserDir
   1.602 +      </literal>dans votre fichier de configuration. Si il n'y en a pas,
   1.603 +      les répertoires "per-user" seront désactivés. Si il en existe un,
   1.604 +      mais que sa valeur est <literal>disabled</literal>, alors
   1.605 +	  les répertoires "per-user" seront désactivés. Autrement, la
   1.606 +	  chaîne de caractères après <literal>UserDir</literal> donne le nom du
   1.607 +	  sous-répertoire qu'Apache regardera dans votre répertoire "home",
   1.608 +      par exemple<filename
   1.609  	    class="directory">public_html</filename>.</para>
   1.610  
   1.611 -	<para id="x_4c9">Your file access permissions may be too restrictive.
   1.612 -	  The web server must be able to traverse your home directory
   1.613 -	  and directories under your <filename
   1.614 -	    class="directory">public_html</filename> directory, and
   1.615 -	  read files under the latter too.  Here's a quick recipe to
   1.616 -	  help you to make your permissions more appropriate.</para>
   1.617 +	<para id="x_4c9">Vos permissions d'accès de fichier peuvent être trop restrictives.
   1.618 +	  Le serveur web doit être capable de traverser votre répertoire home
   1.619 +      et les répertoires sous votre répertoire <filename
   1.620 +	    class="directory">public_html</filename>, et 
   1.621 +	  de lire les fichiers sous le dernier aussi. Voici une recette rapide
   1.622 +      pour vous aider à rendre vos permissions plus adéquates.</para>
   1.623  	<programlisting>chmod 755 ~
   1.624  find ~/public_html -type d -print0 | xargs -0r chmod 755
   1.625  find ~/public_html -type f -print0 | xargs -0r chmod 644</programlisting>
   1.626  
   1.627 -	<para id="x_4ca">The other possibility with permissions is that you might
   1.628 -	  get a completely empty window when you try to load the
   1.629 -	  script.  In this case, it's likely that your access
   1.630 -	  permissions are <emphasis>too permissive</emphasis>.  Apache's
   1.631 -	  <literal>suexec</literal> subsystem won't execute a script
   1.632 -	  that's group- or world-writable, for example.</para>
   1.633 -
   1.634 -	<para id="x_4cb">Your web server may be configured to disallow execution
   1.635 -	  of CGI programs in your per-user web directory.  Here's
   1.636 -	  Apache's default per-user configuration from my Fedora
   1.637 -	  system.</para>
   1.638 +	<para id="x_4ca">L'autre possibilité avec les permissions est que vous
   1.639 +      pourriez obtenir une fenêtre complètement vide lorsque vous essayez de
   1.640 +      charger le script. Dans ce cas, c'est probablement que vos permissions
   1.641 +      d'accès sont <emphasis>trop permissives</emphasis>. Le sous-système
   1.642 +      <literal>suexec</literal> d'Apache n'exécute pas un script
   1.643 +	  qui est inscriptible par le groupe ou le monde, par exemple.</para>
   1.644 +
   1.645 +	<para id="x_4cb">Votre serveur web peut être configuration pour refuser
   1.646 +      l'exécution de programmes CGI dans votre répertoire web "per-user".
   1.647 +      Voici la configuration "per-user" par défaut d'Apache pour mon
   1.648 +      système Fedora.</para>
   1.649  
   1.650  	&ch06-apache-config.lst;
   1.651  
   1.652 -	<para id="x_4cc">If you find a similar-looking
   1.653 -	  <literal>Directory</literal> group in your Apache
   1.654 -	  configuration, the directive to look at inside it is
   1.655 -	  <literal>Options</literal>. Add <literal>ExecCGI</literal>
   1.656 -	  to the end of this list if it's missing, and restart the web
   1.657 -	  server.</para>
   1.658 -
   1.659 -	<para id="x_4cd">If you find that Apache serves you the text of the CGI
   1.660 -	  script instead of executing it, you may need to either
   1.661 -	  uncomment (if already present) or add a directive like
   1.662 -	  this.</para>
   1.663 +	<para id="x_4cc">Si vous trouvez un groupe qui ressemble à
   1.664 +	  <literal>Directory</literal> dans votre configuration Apache,
   1.665 +      la directive à regarder est
   1.666 +	  <literal>Options</literal>. Ajoutez <literal>ExecCGI</literal>
   1.667 +	  à la fin de cette liste si cela manque, et redémarrer le serveur
   1.668 +	  web.</para>
   1.669 +
   1.670 +	<para id="x_4cd">Si vous trouvez qu'Apache vous donne le texte du script 
   1.671 +	  CGI au lie de l'exécuter, vous pouvez avoir besoin soit de
   1.672 +      décommenter (si déjà présent) ou d'ajouter une directive telle que
   1.673 +      celle-ci.</para>
   1.674  	<programlisting>AddHandler cgi-script .cgi</programlisting>
   1.675 -
   1.676 -	<para id="x_4ce">The next possibility is that you might be served with a
   1.677 -	  colourful Python backtrace claiming that it can't import a
   1.678 -	  <literal>mercurial</literal>-related module.  This is
   1.679 -	  actually progress!  The server is now capable of executing
   1.680 -	  your CGI script.  This error is only likely to occur if
   1.681 -	  you're running a private installation of Mercurial, instead
   1.682 -	  of a system-wide version.  Remember that the web server runs
   1.683 -	  the CGI program without any of the environment variables
   1.684 -	  that you take for granted in an interactive session.  If
   1.685 -	  this error happens to you, edit your copy of <filename
   1.686 -	    role="special">hgweb.cgi</filename> and follow the
   1.687 -	  directions inside it to correctly set your
   1.688 -	  <envar>PYTHONPATH</envar> environment variable.</para>
   1.689 -
   1.690 -	<para id="x_4cf">Finally, you are <emphasis>certain</emphasis> to be
   1.691 -	  served with another colourful Python backtrace: this one
   1.692 -	  will complain that it can't find <filename
   1.693 -	    class="directory">/path/to/repository</filename>.  Edit
   1.694 -	  your <filename role="special">hgweb.cgi</filename> script
   1.695 -	  and replace the <filename
   1.696 -	    class="directory">/path/to/repository</filename> string
   1.697 -	  with the complete path to the repository you want to serve
   1.698 -	  up.</para>
   1.699 -
   1.700 -	<para id="x_4d0">At this point, when you try to reload the page, you
   1.701 -	  should be presented with a nice HTML view of your
   1.702 -	  repository's history.  Whew!</para>
   1.703 +<!-- TODO comment traduire "system-wide" ? -->
   1.704 +	<para id="x_4ce">La possibilité suivante est que vous pourriez
   1.705 +      obtenir une trace coloré Python prétendant qu'il ne peut pas 
   1.706 +      importer un module relatif à <literal>mercurial</literal>. Ceci est 
   1.707 +      réellement un progrès ! Le serveur est maintenant capable d'exécuter
   1.708 +      votre script CGI. Cette erreur arrive probablement si vous exécutez
   1.709 +      une installation privée de Mercurial, au lieu d'une version
   1.710 +      "system-wide". Souvenez-vous que le serveur web fait fonctionner
   1.711 +      le programme CGI sans aucune des variables d'environnement que vous
   1.712 +      considérez comme certaines dans une session interactive. Si
   1.713 +      cette erreur vous arrive, éditez une copie de <filename
   1.714 +	    role="special">hgweb.cgi</filename> et suivez les indications
   1.715 +        à l'intérieur de celui-ci pour corriger votre variable
   1.716 +        d'environnement <envar>PYTHONPATH</envar>.</para>
   1.717 +
   1.718 +	<para id="x_4cf">Pour finir, vous êtes <emphasis>certain</emphasis>
   1.719 +      d'avoir une autre trace colorée Python : celle-ci
   1.720 +	  se plaindra de ne pas pouvoir trouver <filename
   1.721 +	    class="directory">/path/to/repository</filename>.  Éditez
   1.722 +	  votre script <filename role="special">hgweb.cgi</filename>
   1.723 +	  et remplacez la chaîne de caractères <filename
   1.724 +	    class="directory">/path/to/repository</filename> par le
   1.725 +	  chemin complet du dépôt que vous voulez servir.</para>
   1.726 +
   1.727 +	<para id="x_4d0">À ce moment-là, quand vous essayez de recharger la page,
   1.728 +      vous devriez avoir une jolie vue HTML de l'historique de votre dépôt.
   1.729 +      Ouf !</para>
   1.730        </sect3>
   1.731  
   1.732        <sect3>
   1.733 -	<title>Configuring lighttpd</title>
   1.734 -
   1.735 -	<para id="x_4d1">To be exhaustive in my experiments, I tried configuring
   1.736 -	  the increasingly popular <literal>lighttpd</literal> web
   1.737 -	  server to serve the same repository as I described with
   1.738 -	  Apache above.  I had already overcome all of the problems I
   1.739 -	  outlined with Apache, many of which are not server-specific.
   1.740 -	  As a result, I was fairly sure that my file and directory
   1.741 -	  permissions were good, and that my <filename
   1.742 -	    role="special">hgweb.cgi</filename> script was properly
   1.743 -	  edited.</para>
   1.744 -
   1.745 -	<para id="x_4d2">Once I had Apache running, getting
   1.746 -	  <literal>lighttpd</literal> to serve the repository was a
   1.747 -	  snap (in other words, even if you're trying to use
   1.748 -	  <literal>lighttpd</literal>, you should read the Apache
   1.749 -	  section).  I first had to edit the
   1.750 -	  <literal>mod_access</literal> section of its config file to
   1.751 -	  enable <literal>mod_cgi</literal> and
   1.752 -	  <literal>mod_userdir</literal>, both of which were disabled
   1.753 -	  by default on my system.  I then added a few lines to the
   1.754 -	  end of the config file, to configure these modules.</para>
   1.755 +	<title>Configurer lighttpd</title>
   1.756 +
   1.757 +	<para id="x_4d1">Pour être exhaustif dans mes expériences, j'ai essayé
   1.758 +      de configurer le serveur web <literal>lighttpd</literal> devenu
   1.759 +      populaire pour servir le même dépôt que celui décrit plus haut
   1.760 +      avec Apache. J'ai déjà surmonter tous les problèmes décrits avec
   1.761 +      Apache, beaucoup ne sont pas spécifique à un serveur.
   1.762 +      Comme résultat, j'étais pratiquement sûr que mes permissions de
   1.763 +      fichiers et de répertoires étaient bonnes, et que mon script
   1.764 +      <filename role="special">hgweb.cgi</filename> était correctement
   1.765 +	  édité.</para>
   1.766 +
   1.767 +	<para id="x_4d2">Une fois qu'Apache tournait, avoir 
   1.768 +	  <literal>lighttpd</literal> pour servir le dépôt était immédiat
   1.769 +      (en d'autres mots, même si vous essayez d'utiliser
   1.770 +	  <literal>lighttpd</literal>, vous devriez lire la section
   1.771 +      Apache). J'ai d'abord dû éditer la section
   1.772 +	  <literal>mod_access</literal> de son fichier de configuration
   1.773 +      pour activer <literal>mod_cgi</literal> et
   1.774 +	  <literal>mod_userdir</literal>, les deux étaient désactivés
   1.775 +      par défaut sur mon système. J'ai ensuite ajouté quelques lignes à
   1.776 +      la fin du fichier de configuration, pour ajouter ces modules.</para>
   1.777  	<programlisting>userdir.path = "public_html"
   1.778  cgi.assign = (".cgi" =&gt; "" )</programlisting>
   1.779 -	<para id="x_4d3">With this done, <literal>lighttpd</literal> ran
   1.780 -	  immediately for me.  If I had configured
   1.781 -	  <literal>lighttpd</literal> before Apache, I'd almost
   1.782 -	  certainly have run into many of the same system-level
   1.783 -	  configuration problems as I did with Apache.  However, I
   1.784 -	  found <literal>lighttpd</literal> to be noticeably easier to
   1.785 -	  configure than Apache, even though I've used Apache for over
   1.786 -	  a decade, and this was my first exposure to
   1.787 +	<para id="x_4d3">Un fois ceci fait, <literal>lighttpd</literal> a
   1.788 +      fonctionné immédiatemment pour moi. Si j'avais configuré
   1.789 +	  <literal>lighttpd</literal> avant Apache, je serais sans doute
   1.790 +      tombé dans beaucoup des mêmes problèmes de configuration
   1.791 +      "system-level" comme j'ai eu avec Apache.  De plus, j'ai
   1.792 +	  trouvé <literal>lighttpd</literal> être notablemen plus facile à
   1.793 +	  configurer qu'Apache, même si j'ai utilisé Apache depuis plus
   1.794 +      d'une décennie, et ceci était ma première expérience avec
   1.795  	  <literal>lighttpd</literal>.</para>
   1.796        </sect3>
   1.797      </sect2>
   1.798 -<!-- TODO : part 3/4 -->
   1.799 -    <sect2>
   1.800 -      <title>Sharing multiple repositories with one CGI script</title>
   1.801 -
   1.802 -      <para id="x_4d4">The <filename role="special">hgweb.cgi</filename> script
   1.803 -	only lets you publish a single repository, which is an
   1.804 -	annoying restriction.  If you want to publish more than one
   1.805 -	without wracking yourself with multiple copies of the same
   1.806 -	script, each with different names, a better choice is to use
   1.807 -	the <filename role="special">hgwebdir.cgi</filename>
   1.808 -	script.</para>
   1.809 -
   1.810 -      <para id="x_4d5">The procedure to configure <filename
   1.811 -	  role="special">hgwebdir.cgi</filename> is only a little more
   1.812 -	involved than for <filename
   1.813 -	  role="special">hgweb.cgi</filename>.  First, you must obtain
   1.814 -	a copy of the script.  If you don't have one handy, you can
   1.815 -	download a copy from the master Mercurial repository at <ulink
   1.816 +
   1.817 +    <sect2>
   1.818 +      <title>Partager plusieurs dépôts avec un seul script CGI</title>
   1.819 +
   1.820 +      <para id="x_4d4">Le script <filename role="special">hgweb.cgi</filename>
   1.821 +	vous laisse seulement publier un seul dépôt, ce qui est une limitation
   1.822 +    ennuyeuse. Si vous voulez publier plus d'un dépôt
   1.823 +    sans "wracking yourself" avec de multiples copies du même
   1.824 +    script, chacune avec un nom différent, un meilleur choix est d'utiliser
   1.825 +	le script <filename role="special">hgwebdir.cgi</filename>.</para>
   1.826 +
   1.827 +      <para id="x_4d5">La procédure pour configurer <filename
   1.828 +	  role="special">hgwebdir.cgi</filename> est seulement un peu plus
   1.829 +	  compliquée que pour <filename
   1.830 +	  role="special">hgweb.cgi</filename>. D'abord, vous devez obtenir
   1.831 +	une copie du script. Si vous n'en avez pas une sous la main, vous pouvez
   1.832 +    télécharger une copie depuis le dépôt maître de Mercurial à <ulink
   1.833  	  url="http://www.selenic.com/repo/hg/raw-file/tip/hgwebdir.cgi">http://www.selenic.com/repo/hg/raw-file/tip/hgwebdir.cgi</ulink>.</para>
   1.834  
   1.835 -      <para id="x_4d6">You'll need to copy this script into your <filename
   1.836 -	  class="directory">public_html</filename> directory, and
   1.837 -	ensure that it's executable.</para>
   1.838 +      <para id="x_4d6">Vous aurez besoin de copier ce script dans votre
   1.839 +      répertoire <filename class="directory">public_html</filename>, et
   1.840 +	vous assurer qu'il est exécutable.</para>
   1.841  
   1.842        <programlisting>cp .../hgwebdir.cgi ~/public_html
   1.843  chmod 755 ~/public_html ~/public_html/hgwebdir.cgi</programlisting>
   1.844  
   1.845 -      <para id="x_4d7">With basic configuration out of the way, try to
   1.846 -	visit <literal>http://myhostname/~myuser/hgwebdir.cgi</literal>
   1.847 -	in your	browser.  It should
   1.848 -	display an empty list of repositories.  If you get a blank
   1.849 -	window or error message, try walking through the list of
   1.850 -	potential problems in <xref
   1.851 +<!-- TODO comment traduire "out of the way" ? -->
   1.852 +      <para id="x_4d7">Avec une configuration élémentaire "out of the way", essayez de
   1.853 +	visiter <literal>http://myhostname/~myuser/hgwebdir.cgi</literal>
   1.854 +	dans votre navigateur. Il devrait afficher une liste vide
   1.855 +    de dépôts. Si vous obtenez une fenêtre vide ou un message
   1.856 +    d'erreur, essayer de parcourir la liste de problèmes 
   1.857 +    potentiels dans <xref
   1.858  	  linkend="sec:collab:wtf"/>.</para>
   1.859  
   1.860 -      <para id="x_4d8">The <filename role="special">hgwebdir.cgi</filename>
   1.861 -	script relies on an external configuration file.  By default,
   1.862 -	it searches for a file named <filename
   1.863 -	  role="special">hgweb.config</filename> in the same directory
   1.864 -	as itself.  You'll need to create this file, and make it
   1.865 -	world-readable.  The format of the file is similar to a
   1.866 -	Windows <quote>ini</quote> file, as understood by Python's
   1.867 -	<literal>ConfigParser</literal>
   1.868 -	<citation>web:configparser</citation> module.</para>
   1.869 -
   1.870 -      <para id="x_4d9">The easiest way to configure <filename
   1.871 -	  role="special">hgwebdir.cgi</filename> is with a section
   1.872 -	named <literal>collections</literal>.  This will automatically
   1.873 -	publish <emphasis>every</emphasis> repository under the
   1.874 -	directories you name.  The section should look like
   1.875 -	this:</para>
   1.876 +      <para id="x_4d8">Le script <filename role="special">hgwebdir.cgi</filename>
   1.877 +	se base sur un fichier de configuration externe. Par défaut,
   1.878 +    il cherche un fichier nommé <filename
   1.879 +	  role="special">hgweb.config</filename> dans le même répertoire
   1.880 +      que lui. Vous devrez créer ce fichier, et le rendre
   1.881 +      lisible par tout le monde. Le format de ce fichier est semblable à
   1.882 +      un fichier Windows <quote>ini</quote>, comme compris par un module
   1.883 +      Python <literal>ConfigParser</literal>
   1.884 +	<citation>web:configparser</citation>.</para>
   1.885 +
   1.886 +      <para id="x_4d9">La façon la plus facile de configurer <filename
   1.887 +	  role="special">hgwebdir.cgi</filename> est avec une section
   1.888 +	appellée <literal>collections</literal>.  Ceci publiera automatiquement
   1.889 +	<emphasis>chaque</emphasis> dépôt sous les répertoires
   1.890 +	que vous citez. La section devrait ressembler à ceci :</para>
   1.891        <programlisting>[collections]
   1.892  /my/root = /my/root</programlisting>
   1.893 -      <para id="x_4da">Mercurial interprets this by looking at the directory name
   1.894 -	on the <emphasis>right</emphasis> hand side of the
   1.895 -	<quote><literal>=</literal></quote> sign; finding repositories
   1.896 -	in that directory hierarchy; and using the text on the
   1.897 -	<emphasis>left</emphasis> to strip off matching text from the
   1.898 -	names it will actually list in the web interface.  The
   1.899 -	remaining component of a path after this stripping has
   1.900 -	occurred is called a <quote>virtual path</quote>.</para>
   1.901 -
   1.902 -      <para id="x_4db">Given the example above, if we have a
   1.903 -	repository whose local path is <filename
   1.904 -	  class="directory">/my/root/this/repo</filename>, the CGI
   1.905 -	script will strip the leading <filename
   1.906 -	  class="directory">/my/root</filename> from the name, and
   1.907 -	publish the repository with a virtual path of <filename
   1.908 -	  class="directory">this/repo</filename>.  If the base URL for
   1.909 -	our CGI script is
   1.910 -	<literal>http://myhostname/~myuser/hgwebdir.cgi</literal>, the
   1.911 -	complete URL for that repository will be
   1.912 +
   1.913 +      <para id="x_4da">Mercurial interprète ceci en regardant le nom du répertoire
   1.914 +	sur la partie <emphasis>droite</emphasis> du signe
   1.915 +	<quote><literal>=</literal></quote> ; en trouvant les répertoires
   1.916 +    dans cette hiérarchie de répertoires ; et en utilisant le texte sur la
   1.917 +    <emphasis>gauche</emphasis> pour retirer le texte correspondant des
   1.918 +    noms qu'il listera réellement dans l'interface web.
   1.919 +    Le restant du chemin après que ce "stripping" a été réalisé est 
   1.920 +    appelé un <quote>chemin virtuel (virtual path)</quote>.</para>
   1.921 +
   1.922 +      <para id="x_4db">Étant donné l'exemple ci-dessus, si vous avez un
   1.923 +      dépôt dont le chemin local est <filename
   1.924 +	  class="directory">/my/root/this/repo</filename>, le script CGI
   1.925 +	retirera le début <filename
   1.926 +	  class="directory">/my/root</filename> du nom, et
   1.927 +	publiera le dépôt avec un chemin virtuel <filename
   1.928 +	  class="directory">this/repo</filename>. Si l'URL de base de 
   1.929 +	notre script CGI est
   1.930 +	<literal>http://myhostname/~myuser/hgwebdir.cgi</literal>, 
   1.931 +	l'URL complète URL pour ce dépôt sera
   1.932  	<literal>http://myhostname/~myuser/hgwebdir.cgi/this/repo</literal>.</para>
   1.933  
   1.934 -      <para id="x_4dc">If we replace <filename
   1.935 -	  class="directory">/my/root</filename> on the left hand side
   1.936 -	of this example with <filename
   1.937 -	  class="directory">/my</filename>, then <filename
   1.938 -	  role="special">hgwebdir.cgi</filename> will only strip off
   1.939 -	<filename class="directory">/my</filename> from the repository
   1.940 -	name, and will give us a virtual path of <filename
   1.941 -	  class="directory">root/this/repo</filename> instead of
   1.942 +      <para id="x_4dc">Si nous remplaçons<filename
   1.943 +	  class="directory">/my/root</filename> sur la gauche de
   1.944 +	cet exemple par <filename
   1.945 +	  class="directory">/my</filename>, alors <filename
   1.946 +	  role="special">hgwebdir.cgi</filename> retirera seulement
   1.947 +	<filename class="directory">/my</filename> du nom du dépôt,
   1.948 +	et nous donnera comme chemin virtuel <filename
   1.949 +	  class="directory">root/this/repo</filename> au lieu de
   1.950  	<filename class="directory">this/repo</filename>.</para>
   1.951  
   1.952 -      <para id="x_4dd">The <filename role="special">hgwebdir.cgi</filename>
   1.953 -	script will recursively search each directory listed in the
   1.954 -	<literal>collections</literal> section of its configuration
   1.955 -	file, but it will <literal>not</literal> recurse into the
   1.956 -	repositories it finds.</para>
   1.957 -
   1.958 -      <para id="x_4de">The <literal>collections</literal> mechanism makes it easy
   1.959 -	to publish many repositories in a <quote>fire and
   1.960 -	  forget</quote> manner.  You only need to set up the CGI
   1.961 -	script and configuration file one time.  Afterwards, you can
   1.962 -	publish or unpublish a repository at any time by simply moving
   1.963 -	it into, or out of, the directory hierarchy in which you've
   1.964 -	configured <filename role="special">hgwebdir.cgi</filename> to
   1.965 -	look.</para>
   1.966 +      <para id="x_4dd">Le script <filename role="special">hgwebdir.cgi</filename>
   1.967 +	cherchera récursivement dans chaque répertoire listé dans la 
   1.968 +    section	<literal>collections</literal> de son fichier de configuration,
   1.969 +	mais, il <literal>ne</literal> cherchera <literal>pas</literal> recursivement
   1.970 +    dans les répertoires qu'il trouvera.</para>
   1.971 +
   1.972 +      <para id="x_4de">Le mécanisme de <literal>collections</literal> rend facile
   1.973 +      la publication de plusieurs dépôts de façon <quote>fire and
   1.974 +	  forget</quote>.  Vous devez seulement installer le script CGI
   1.975 +	et le fichier de configuration une seule fois.  Après, vous pouvez
   1.976 +    publier ou "dépublier" un dépôt n'importe quand en le déplaçant simplement
   1.977 +    dans, ou hors de la hiérarchie de répertoire dans laquelle vous avez
   1.978 +    indiqué à <filename role="special">hgwebdir.cgi</filename> de
   1.979 +	regarder.</para>
   1.980  
   1.981        <sect3>
   1.982 -	<title>Explicitly specifying which repositories to
   1.983 -	  publish</title>
   1.984 -
   1.985 -	<para id="x_4df">In addition to the <literal>collections</literal>
   1.986 -	  mechanism, the <filename
   1.987 -	    role="special">hgwebdir.cgi</filename> script allows you
   1.988 -	  to publish a specific list of repositories.  To do so,
   1.989 -	  create a <literal>paths</literal> section, with contents of
   1.990 -	  the following form.</para>
   1.991 +	<title>Spécifier explicitement quels dépôts publier</title>
   1.992 +
   1.993 +	<para id="x_4df">En plus du mécanisme de <literal>collections</literal>,
   1.994 +	  le script <filename
   1.995 +	    role="special">hgwebdir.cgi</filename> vous permet
   1.996 +      de publier une liste spécifique de dépôts. Pour cela,
   1.997 +      créez une section <literal>paths</literal>, avec un contenu de
   1.998 +      la forme suivante.</para>
   1.999  	<programlisting>[paths]
  1.1000  repo1 = /my/path/to/some/repo
  1.1001  repo2 = /some/path/to/another</programlisting>
  1.1002 -	<para id="x_4e0">In this case, the virtual path (the component that will
  1.1003 -	  appear in a URL) is on the left hand side of each
  1.1004 -	  definition, while the path to the repository is on the
  1.1005 -	  right.  Notice that there does not need to be any
  1.1006 -	  relationship between the virtual path you choose and the
  1.1007 -	  location of a repository in your filesystem.</para>
  1.1008 -
  1.1009 -	<para id="x_4e1">If you wish, you can use both the
  1.1010 -	  <literal>collections</literal> and <literal>paths</literal>
  1.1011 -	  mechanisms simultaneously in a single configuration
  1.1012 -	  file.</para>
  1.1013 +
  1.1014 +	<para id="x_4e0">Dans ce cas, le chemin virtuel (le composant qui
  1.1015 +    apparaîtra dans une URL) est sur la gauche de chaque
  1.1016 +    définition, tandis que le chemin vers le dépôt est sur la
  1.1017 +    droite. Notez qu'il n'y a pas besoin de relation 
  1.1018 +    entre le chemin virtuel que vous choisissez et
  1.1019 +    l'emplacement d'un dépôt dans votre système de fichiers.</para>
  1.1020 +
  1.1021 +	<para id="x_4e1">Si vous le souhaitez, vous pouvez utiliser
  1.1022 +    les mécanismes de 
  1.1023 +	  <literal>collections</literal> et de <literal>paths</literal>
  1.1024 +	  simultanément dans un seul fichier de configuration.</para>
  1.1025  
  1.1026  	<note>
  1.1027 -	  <title>Beware duplicate virtual paths</title>
  1.1028 -
  1.1029 -	  <para id="x_4e2">  If several repositories have the same
  1.1030 -	    virtual path, <filename
  1.1031 -	      role="special">hgwebdir.cgi</filename> will not report
  1.1032 -	    an error.  Instead, it will behave unpredictably.</para>
  1.1033 +	  <title>Prendre garde aux chemins virtuels en double</title>
  1.1034 +
  1.1035 +	  <para id="x_4e2">Si plusieurs dépôts ont le même
  1.1036 +      chemin virtuel, <filename
  1.1037 +	      role="special">hgwebdir.cgi</filename> ne signalera pas
  1.1038 +	    d'erreur. Au lieu de cela, il se comportera de façon
  1.1039 +        imprévisible.</para>
  1.1040  	</note>
  1.1041        </sect3>
  1.1042      </sect2>
  1.1043  
  1.1044      <sect2>
  1.1045 -      <title>Downloading source archives</title>
  1.1046 -
  1.1047 -      <para id="x_4e3">Mercurial's web interface lets users download an archive
  1.1048 -	of any revision.  This archive will contain a snapshot of the
  1.1049 -	working directory as of that revision, but it will not contain
  1.1050 -	a copy of the repository data.</para>
  1.1051 -
  1.1052 -      <para id="x_4e4">By default, this feature is not enabled.  To enable it,
  1.1053 -	you'll need to add an <envar
  1.1054 -	  role="rc-item-web">allow_archive</envar> item to the
  1.1055 -	<literal role="rc-web">web</literal> section of your <filename
  1.1056 -	  role="special">~/.hgrc</filename>; see below for details.</para>
  1.1057 -    </sect2>
  1.1058 -    <sect2>
  1.1059 -      <title>Web configuration options</title>
  1.1060 -
  1.1061 -      <para id="x_4e5">Mercurial's web interfaces (the <command role="hg-cmd">hg
  1.1062 -	  serve</command> command, and the <filename
  1.1063 -	  role="special">hgweb.cgi</filename> and <filename
  1.1064 -	  role="special">hgwebdir.cgi</filename> scripts) have a
  1.1065 -	number of configuration options that you can set.  These
  1.1066 -	belong in a section named <literal
  1.1067 +      <title>Télécharger des archives de sources</title>
  1.1068 +
  1.1069 +      <para id="x_4e3">L'interface web de Mercurial laisse les utilisateurs télécharger
  1.1070 +      une archive de n'importe quelle révision. Cette archive contiendra une image du
  1.1071 +      répertoire de travail comme pour cette révision, mais il ne contiendra pas
  1.1072 +      une copie des données du dépôt.</para>
  1.1073 +
  1.1074 +      <para id="x_4e4">Par défaut, cette fonctionnalité n'est pas activée. Pour l'activer,
  1.1075 +      vous devrez ajouter un élément <envar
  1.1076 +	  role="rc-item-web">allow_archive</envar> à la section
  1.1077 +	<literal role="rc-web">web</literal> de votre <filename
  1.1078 +	  role="special">~/.hgrc</filename>; voyez plus loin pour des détails.</para>
  1.1079 +    </sect2>
  1.1080 +    <sect2>
  1.1081 +      <title>Options de configuration web</title>
  1.1082 +
  1.1083 +      <para id="x_4e5">Les interfaces web de Mercurial (la commande <command role="hg-cmd">hg
  1.1084 +	  serve</command>, et les scripts <filename
  1.1085 +	  role="special">hgweb.cgi</filename> et <filename
  1.1086 +	  role="special">hgwebdir.cgi</filename>) ont un nombre
  1.1087 +      d'options de configuration que vous pouvez mettre. Celles-ci
  1.1088 +      appartiennent à une section appelée <literal
  1.1089  	  role="rc-web">web</literal>.</para>
  1.1090        <itemizedlist>
  1.1091  	<listitem><para id="x_4e6"><envar
  1.1092 -	      role="rc-item-web">allow_archive</envar>: Determines
  1.1093 -	    which (if any) archive download mechanisms Mercurial
  1.1094 -	    supports.  If you enable this feature, users of the web
  1.1095 -	    interface will be able to download an archive of whatever
  1.1096 -	    revision of a repository they are viewing. To enable the
  1.1097 -	    archive feature, this item must take the form of a
  1.1098 -	    sequence of words drawn from the list below.</para>
  1.1099 +	      role="rc-item-web">allow_archive</envar> : détermine
  1.1100 +	    quels mécanismes de téléchargement d'archive (si il y en a) Mercurial
  1.1101 +        accepte. Si vous activez cette fonctionnalité, les utilisateurs de
  1.1102 +        l'interface web seront capable de télécharger une archive de
  1.1103 +        n'importe quelle révision d'un dépôt qu'ils regardent. Pour activer
  1.1104 +        la fonction archive, cet élément doit prendre la forme d'une
  1.1105 +        série de mots pris dans la liste ci-dessous.</para>
  1.1106  	  <itemizedlist>
  1.1107 -	    <listitem><para id="x_4e7"><literal>bz2</literal>: A
  1.1108 -		<command>tar</command> archive, compressed using
  1.1109 -		<literal>bzip2</literal> compression.  This has the
  1.1110 -		best compression ratio, but uses the most CPU time on
  1.1111 -		the server.</para>
  1.1112 +	    <listitem><para id="x_4e7"><literal>bz2</literal>: une
  1.1113 +		archive <command>tar</command>, comprimée en utilisant la
  1.1114 +		compression <literal>bzip2</literal>. Ceci a le meilleur
  1.1115 +        taux de compression, mais utilise le plus de temps processeur sur
  1.1116 +        le serveur.</para>
  1.1117  	    </listitem>
  1.1118 -	    <listitem><para id="x_4e8"><literal>gz</literal>: A
  1.1119 -		<command>tar</command> archive, compressed using
  1.1120 -		<literal>gzip</literal> compression.</para>
  1.1121 +	    <listitem><para id="x_4e8"><literal>gz</literal>: une
  1.1122 +		archive <command>tar</command>, comprimée en utilisant la
  1.1123 +		compression <literal>gzip</literal>.</para>
  1.1124  	    </listitem>
  1.1125 -	    <listitem><para id="x_4e9"><literal>zip</literal>: A
  1.1126 -		<command>zip</command> archive, compressed using LZW
  1.1127 -		compression.  This format has the worst compression
  1.1128 -		ratio, but is widely used in the Windows world.</para>
  1.1129 +	    <listitem><para id="x_4e9"><literal>zip</literal>: une
  1.1130 +		archive <command>zip</command>, comprimée en utilisant la
  1.1131 +		compression LZW.  Ce format a le pire taux de compression,
  1.1132 +        mais il est largement utilisé dans le monde Windows.</para>
  1.1133  	    </listitem>
  1.1134  	  </itemizedlist>
  1.1135 -	  <para id="x_4ea">  If you provide an empty list, or don't have an
  1.1136 -	    <envar role="rc-item-web">allow_archive</envar> entry at
  1.1137 -	    all, this feature will be disabled.  Here is an example of
  1.1138 -	    how to enable all three supported formats.</para>
  1.1139 +	  <para id="x_4ea">Si vous fournissez une liste vide, ou n'avez pas
  1.1140 +      d'entrée <envar role="rc-item-web">allow_archive</envar> du tout,
  1.1141 +      cette fonctionnalité sera désactivée. Voici un exemple de
  1.1142 +      comment activer les trois formats supportés.</para>
  1.1143  	  <programlisting>[web]
  1.1144  allow_archive = bz2 gz zip</programlisting>
  1.1145  	</listitem>
  1.1146  	<listitem><para id="x_4eb"><envar role="rc-item-web">allowpull</envar>:
  1.1147 -	    Boolean.  Determines whether the web interface allows
  1.1148 -	    remote users to <command role="hg-cmd">hg pull</command>
  1.1149 -	    and <command role="hg-cmd">hg clone</command> this
  1.1150 -	    repository over HTTP.  If set to <literal>no</literal> or
  1.1151 -	    <literal>false</literal>, only the
  1.1152 -	    <quote>human-oriented</quote> portion of the web interface
  1.1153 -	    is available.</para>
  1.1154 +	    Boolean. Détermine si l'interface web permet aux
  1.1155 +        utilisateurs distants de <command role="hg-cmd">hg pull</command>
  1.1156 +	    et <command role="hg-cmd">hg clone</command> ce
  1.1157 +	    dépôt sur HTTP.  Si mis à <literal>no</literal> ou
  1.1158 +	    <literal>false</literal>, seule la partie
  1.1159 +	    <quote>orienté humain</quote> de l'interface web
  1.1160 +        est disponible.</para>
  1.1161  	</listitem>
  1.1162 +    <!-- TODO comment traduire "free-form" ? -->
  1.1163  	<listitem><para id="x_4ec"><envar role="rc-item-web">contact</envar>:
  1.1164 -	    String.  A free-form (but preferably brief) string
  1.1165 -	    identifying the person or group in charge of the
  1.1166 -	    repository.  This often contains the name and email
  1.1167 -	    address of a person or mailing list.  It often makes sense
  1.1168 -	    to place this entry in a repository's own <filename
  1.1169 -	      role="special">.hg/hgrc</filename> file, but it can make
  1.1170 -	    sense to use in a global <filename
  1.1171 -	      role="special">~/.hgrc</filename> if every repository
  1.1172 -	    has a single maintainer.</para>
  1.1173 +	    String.  Une chaîne de caractères "free-form" (mais de préférence brève)
  1.1174 +	    identifiant la personne ou le groupe responsable du
  1.1175 +        dépôt. Ceci contient souvent le nom et l'adresse électronique
  1.1176 +        d'une personne ou d'une liste de distribution. Il est judicieux de
  1.1177 +        placer cette entrée dans le fichier <filename
  1.1178 +	      role="special">.hg/hgrc</filename> du dépôt, mais il peut être
  1.1179 +        judicieux d'utiliser un <filename
  1.1180 +	      role="special">~/.hgrc</filename> global si chaque dépôt
  1.1181 +          a un seul "mainteneur".</para>
  1.1182  	</listitem>
  1.1183  	<listitem><para id="x_4ed"><envar role="rc-item-web">maxchanges</envar>:
  1.1184 -	    Integer.  The default maximum number of changesets to
  1.1185 -	    display in a single page of output.</para>
  1.1186 +	    Integer.  La valeur maximum par défaut du nombre de changesets à
  1.1187 +        afficher dans une seule page de sortie.</para>
  1.1188  	</listitem>
  1.1189  	<listitem><para id="x_4ee"><envar role="rc-item-web">maxfiles</envar>:
  1.1190 -	    Integer.  The default maximum number of modified files to
  1.1191 -	    display in a single page of output.</para>
  1.1192 +	    Integer.  Le nombre maximum par défaut de fichier modifiés à
  1.1193 +        à afficher dans une seule page de sortie.</para>
  1.1194  	</listitem>
  1.1195  	<listitem><para id="x_4ef"><envar role="rc-item-web">stripes</envar>:
  1.1196 -	    Integer.  If the web interface displays alternating
  1.1197 -	    <quote>stripes</quote> to make it easier to visually align
  1.1198 -	    rows when you are looking at a table, this number controls
  1.1199 -	    the number of rows in each stripe.</para>
  1.1200 +	    Integer.  Si l'interface web affiche alternativement desIf the web interface displays alternating
  1.1201 +	    <quote>rayures</quote> pour rendre plus facile l'alignement visuel
  1.1202 +        des lignes lorsque vous regarder une table, ce nombre contrôle
  1.1203 +        le nombre de lignes dans chaque rayure.</para>
  1.1204  	</listitem>
  1.1205 +    <!-- TODO comment traduire "template" ? J'ai mis "modèle" mais j'ai un doute. -->
  1.1206  	<listitem><para id="x_4f0"><envar
  1.1207 -	      role="rc-item-web">style</envar>: Controls the template
  1.1208 -	    Mercurial uses to display the web interface.  Mercurial
  1.1209 -	    ships with several web templates.</para>
  1.1210 +	      role="rc-item-web">style</envar>: Contrôle le "modèle"
  1.1211 +	    que Mercurial utilise pour afficher l'interface web.  Mercurial
  1.1212 +	    est livré avec plusieurs "modèles" web.</para>
  1.1213  	  <itemizedlist>
  1.1214  	    <listitem>
  1.1215 -	      <para id="x_6aa"><literal>coal</literal> is monochromatic.</para>
  1.1216 +	      <para id="x_6aa"><literal>coal</literal> est monochromatique.</para>
  1.1217  	    </listitem>
  1.1218  	    <listitem>
  1.1219 -	      <para id="x_6ab"><literal>gitweb</literal> emulates the visual
  1.1220 -		style of git's web interface.</para>
  1.1221 +	      <para id="x_6ab"><literal>gitweb</literal> émule le style visuel
  1.1222 +		de l'interface web de git.</para>
  1.1223  	    </listitem>
  1.1224  	    <listitem>
  1.1225 -	      <para id="x_6ac"><literal>monoblue</literal> uses solid blues and
  1.1226 -		greys.</para>
  1.1227 +	      <para id="x_6ac"><literal>monoblue</literal> utilise des bleus et des
  1.1228 +          gris massifs.</para>
  1.1229  	    </listitem>
  1.1230  	    <listitem>
  1.1231 -	      <para id="x_6ad"><literal>paper</literal> is the default.</para>
  1.1232 +	      <para id="x_6ad"><literal>paper</literal> est le "modèle" par défaut.</para>
  1.1233  	    </listitem>
  1.1234  	    <listitem>
  1.1235 -	      <para id="x_6ae"><literal>spartan</literal> was the default for a
  1.1236 -		long time.</para>
  1.1237 +	      <para id="x_6ae"><literal>spartan</literal> a été le "modèle" par défaut
  1.1238 +          durant longtemps.</para>
  1.1239  	    </listitem>
  1.1240  	  </itemizedlist>
  1.1241 -	  <para id="x_6af">You can
  1.1242 -	    also specify a custom template of your own; see 
  1.1243 -	    <xref linkend="chap:template"/> for details. Here, you can
  1.1244 -	    see how to enable the <literal>gitweb</literal>
  1.1245 -	    style.</para>
  1.1246 +	  <para id="x_6af">Vous pouvez aussi spécifiez un "modèle" personnalisé à vous;
  1.1247 +      voyez <xref linkend="chap:template"/> pour des détails. Ici, vous pouvez
  1.1248 +	    voir comment activer le style <literal>gitweb</literal>.</para>
  1.1249  	  <programlisting>[web]
  1.1250  style = gitweb</programlisting>
  1.1251  	</listitem>
  1.1252  	<listitem><para id="x_4f1"><envar role="rc-item-web">templates</envar>:
  1.1253 -	    Path.  The directory in which to search for template
  1.1254 -	    files.  By default, Mercurial searches in the directory in
  1.1255 -	    which it was installed.</para>
  1.1256 +	    Path.  Le répertoire dans lequel chercher les fichiers "modèles".
  1.1257 +        Par défaut, Mercurial cherche dans le répertoire dans lequel
  1.1258 +        il a été installé.</para>
  1.1259  	</listitem></itemizedlist>
  1.1260 -      <para id="x_4f2">If you are using <filename
  1.1261 -	  role="special">hgwebdir.cgi</filename>, you can place a few
  1.1262 -	configuration items in a <literal role="rc-web">web</literal>
  1.1263 -	section of the <filename
  1.1264 -	  role="special">hgweb.config</filename> file instead of a
  1.1265 -	<filename role="special">~/.hgrc</filename> file, for
  1.1266 -	convenience.  These items are <envar
  1.1267 -	  role="rc-item-web">motd</envar> and <envar
  1.1268 +      <para id="x_4f2">Si vous utilisez <filename
  1.1269 +	  role="special">hgwebdir.cgi</filename>, vous pouvez mettre quelques
  1.1270 +      éléments de configuration dans une section <literal role="rc-web">web</literal>
  1.1271 +	du fichier <filename
  1.1272 +	  role="special">hgweb.config</filename> au lieu d'un fichier
  1.1273 +	<filename role="special">~/.hgrc</filename>, par
  1.1274 +    commodité. Ces éléments sont <envar
  1.1275 +	  role="rc-item-web">motd</envar> et <envar
  1.1276  	  role="rc-item-web">style</envar>.</para>
  1.1277  
  1.1278        <sect3>
  1.1279 -	<title>Options specific to an individual repository</title>
  1.1280 -
  1.1281 -	<para id="x_4f3">A few <literal role="rc-web">web</literal> configuration
  1.1282 -	  items ought to be placed in a repository's local <filename
  1.1283 -	    role="special">.hg/hgrc</filename>, rather than a user's
  1.1284 -	  or global <filename role="special">~/.hgrc</filename>.</para>
  1.1285 +	<title>Options spécifiques à un dépôt individuel</title>
  1.1286 +
  1.1287 +	<para id="x_4f3">Quelques éléments de configuration <literal role="rc-web">web</literal>
  1.1288 +	  devraient être mis dans <filename
  1.1289 +	    role="special">.hg/hgrc</filename> local à un dépôt, plutôt que dans un
  1.1290 +	  <filename role="special">~/.hgrc</filename> d'utilisateur ou global.</para>
  1.1291  	<itemizedlist>
  1.1292  	  <listitem><para id="x_4f4"><envar
  1.1293 -		role="rc-item-web">description</envar>: String.  A
  1.1294 -	      free-form (but preferably brief) string that describes
  1.1295 -	      the contents or purpose of the repository.</para>
  1.1296 +		role="rc-item-web">description</envar>: String.  Une chaîne de
  1.1297 +	      caractères "free-form" (mais de préférence brève) qui décrit
  1.1298 +          le contenu ou le but du dépôt.</para>
  1.1299  	  </listitem>
  1.1300  	  <listitem><para id="x_4f5"><envar role="rc-item-web">name</envar>:
  1.1301 -	      String.  The name to use for the repository in the web
  1.1302 -	      interface.  This overrides the default name, which is
  1.1303 -	      the last component of the repository's path.</para>
  1.1304 +	      String.  Le nom à utiliser pour le dépôt dans l'interface
  1.1305 +          web. Ceci prime sur le nom par défaut, qui est le dernier
  1.1306 +          composant du chemin du dépôt.</para>
  1.1307  	  </listitem></itemizedlist>
  1.1308        </sect3>
  1.1309  
  1.1310        <sect3>
  1.1311 -	<title>Options specific to the <command role="hg-cmd">hg
  1.1312 -	    serve</command> command</title>
  1.1313 -
  1.1314 -	<para id="x_4f6">Some of the items in the <literal
  1.1315 -	    role="rc-web">web</literal> section of a <filename
  1.1316 -	    role="special">~/.hgrc</filename> file are only for use
  1.1317 -	  with the <command role="hg-cmd">hg serve</command>
  1.1318 -	  command.</para>
  1.1319 +	<title>Options spécifiques à la commande <command role="hg-cmd">hg
  1.1320 +	    serve</command></title>
  1.1321 +
  1.1322 +	<para id="x_4f6">Certaines entrées dans la section <literal
  1.1323 +	    role="rc-web">web</literal> d'un fichier <filename
  1.1324 +	    role="special">~/.hgrc</filename> sont là seulement pour être utilisée
  1.1325 +        avec la commande <command role="hg-cmd">hg serve</command>.</para>
  1.1326  	<itemizedlist>
  1.1327  	  <listitem><para id="x_4f7"><envar role="rc-item-web">accesslog</envar>:
  1.1328 -	      Path.  The name of a file into which to write an access
  1.1329 -	      log.  By default, the <command role="hg-cmd">hg
  1.1330 -		serve</command> command writes this information to
  1.1331 -	      standard output, not to a file.  Log entries are written
  1.1332 -	      in the standard <quote>combined</quote> file format used
  1.1333 -	      by almost all web servers.</para>
  1.1334 +	      Path.  Le nom d'un fichier dans lequel écrire le "log" d'accès.
  1.1335 +          Par défaut, la commande <command role="hg-cmd">hg
  1.1336 +		serve</command> écrit cette information sur la sortie
  1.1337 +        standard, pas dans un fichier. Les entrées de "log" sont écrites
  1.1338 +        dans le format de fichier standard <quote>combined</quote> utilisé
  1.1339 +        par pratiquement tous les serveurs web.</para>
  1.1340  	  </listitem>
  1.1341  	  <listitem><para id="x_4f8"><envar role="rc-item-web">address</envar>:
  1.1342 -	      String.  The local address on which the server should
  1.1343 -	      listen for incoming connections.  By default, the server
  1.1344 -	      listens on all addresses.</para>
  1.1345 +	      String.  L'adresse locale sur laquelle le serveur devrait
  1.1346 +          écouter les connexions entrantes. Par défaut, le serveur
  1.1347 +          écoute sur toutes les adresses.</para>
  1.1348  	  </listitem>
  1.1349  	  <listitem><para id="x_4f9"><envar role="rc-item-web">errorlog</envar>:
  1.1350 -	      Path.  The name of a file into which to write an error
  1.1351 -	      log.  By default, the <command role="hg-cmd">hg
  1.1352 -		serve</command> command writes this information to
  1.1353 -	      standard error, not to a file.</para>
  1.1354 +	      Path.  Le nom d'un fichier dans lequel écrire le "log" d'erreur.
  1.1355 +          Par défaut, la commande <command role="hg-cmd">hg
  1.1356 +		serve</command> écrit cette information sur la sortie erreur,
  1.1357 +        pas dans un fichier.</para>
  1.1358  	  </listitem>
  1.1359  	  <listitem><para id="x_4fa"><envar role="rc-item-web">ipv6</envar>:
  1.1360 -	      Boolean.  Whether to use the IPv6 protocol. By default,
  1.1361 -	      IPv6 is not used.</para>
  1.1362 +	      Boolean.  Si il faut utiliser le protocole IPv6. Par défaut,
  1.1363 +          IPv6 n'est pas utilisé.</para>
  1.1364  	  </listitem>
  1.1365  	  <listitem><para id="x_4fb"><envar role="rc-item-web">port</envar>:
  1.1366 -	      Integer.  The TCP port number on which the server should
  1.1367 -	      listen.  The default port number used is 8000.</para>
  1.1368 +	      Integer.  Le numéro de port TCP sur lequel le serveur devrait
  1.1369 +          écouter. Le numéro de port par défaut utilisé est 8000.</para>
  1.1370  	  </listitem></itemizedlist>
  1.1371        </sect3>
  1.1372  
  1.1373        <sect3>
  1.1374 -	<title>Choosing the right <filename
  1.1375 -	    role="special">~/.hgrc</filename> file to add <literal
  1.1376 -	    role="rc-web">web</literal> items to</title>
  1.1377 -
  1.1378 -	<para id="x_4fc">It is important to remember that a web server like
  1.1379 -	  Apache or <literal>lighttpd</literal> will run under a user
  1.1380 -	  ID that is different to yours. CGI scripts run by your
  1.1381 -	  server, such as <filename
  1.1382 -	    role="special">hgweb.cgi</filename>, will usually also run
  1.1383 -	  under that user ID.</para>
  1.1384 -
  1.1385 -	<para id="x_4fd">If you add <literal role="rc-web">web</literal> items to
  1.1386 -	  your own personal <filename role="special">~/.hgrc</filename> file, CGI scripts won't read that
  1.1387 -	  <filename role="special">~/.hgrc</filename> file.  Those
  1.1388 -	  settings will thus only affect the behavior of the <command
  1.1389 -	    role="hg-cmd">hg serve</command> command when you run it.
  1.1390 -	  To cause CGI scripts to see your settings, either create a
  1.1391 -	  <filename role="special">~/.hgrc</filename> file in the
  1.1392 -	  home directory of the user ID that runs your web server, or
  1.1393 -	  add those settings to a system-wide <filename
  1.1394 -	    role="special">hgrc</filename> file.</para>
  1.1395 +	<title>Choisir le bon fichier <filename
  1.1396 +	    role="special">~/.hgrc</filename> auquel ajouter les éléments <literal
  1.1397 +	    role="rc-web">web</literal></title>
  1.1398 +
  1.1399 +	<para id="x_4fc">Il est important de se souvenir qu'un serveur web comme
  1.1400 +      Apache ou <literal>lighttpd</literal> fonctionnera avec un ID utilisateur
  1.1401 +      qui est différent du vôtre. Les scripts CGI fonctionnant sur votre serveur,
  1.1402 +      tels que <filename
  1.1403 +	    role="special">hgweb.cgi</filename>, s'exécuteront habituellement aussi
  1.1404 +        sous un autre ID utilisateur.</para>
  1.1405 +
  1.1406 +	<para id="x_4fd">Si vous ajoutez des éléments <literal role="rc-web">web</literal> à
  1.1407 +    votre propre fichier <filename role="special">~/.hgrc</filename> personnel,
  1.1408 +    les scripts CGI ne pourront pas lire ce fichier
  1.1409 +	  <filename role="special">~/.hgrc</filename>. Ces réglages
  1.1410 +      toucheront donc seulement le comportement de la commande <command
  1.1411 +	    role="hg-cmd">hg serve</command> quand vous l'exécuterez.
  1.1412 +	  Pour faire voir vos réglages aux scripts CGI, soit créez un
  1.1413 +	  fichier <filename role="special">~/.hgrc</filename> dans le répertoire
  1.1414 +      "home" de l'utilisateur qui exécute votre serveur web, soit
  1.1415 +      ajouter ces réglages dans un fichier <filename
  1.1416 +	    role="special">hgrc</filename> "system-wide".</para>
  1.1417        </sect3>
  1.1418      </sect2>
  1.1419    </sect1>
  1.1420  
  1.1421    <sect1>
  1.1422 -    <title>System-wide configuration</title>
  1.1423 -
  1.1424 -    <para id="x_6b0">On Unix-like systems shared by multiple users (such as a
  1.1425 -      server to which people publish changes), it often makes sense to
  1.1426 -      set up some global default behaviors, such as what theme to use
  1.1427 -      in web interfaces.</para>
  1.1428 -
  1.1429 -    <para id="x_6b1">If a file named <filename>/etc/mercurial/hgrc</filename>
  1.1430 -      exists, Mercurial will read it at startup time and apply any
  1.1431 -      configuration settings it finds in that file.  It will also look
  1.1432 -      for files ending in a <literal>.rc</literal> extension in a
  1.1433 -      directory named <filename>/etc/mercurial/hgrc.d</filename>, and
  1.1434 -      apply any configuration settings it finds in each of those
  1.1435 -      files.</para>
  1.1436 -
  1.1437 -    <sect2>
  1.1438 -      <title>Making Mercurial more trusting</title>
  1.1439 -
  1.1440 -      <para id="x_6b2">One situation in which a global <filename>hgrc</filename>
  1.1441 -	can be useful is if users are pulling changes owned by other
  1.1442 -	users.  By default, Mercurial will not trust most of the
  1.1443 -	configuration items in a <filename>.hg/hgrc</filename> file
  1.1444 -	inside a repository that is owned by a different user. If we
  1.1445 -	clone or pull changes from such a repository, Mercurial will
  1.1446 -	print a warning stating that it does not trust their
  1.1447 +    <title>Configuration "system-wide"</title>
  1.1448 +
  1.1449 +    <para id="x_6b0">Sur des systèmes "Unix-like" partagé par plusieurs utilisateurs
  1.1450 +      (tel qu'un serveur où les gens publient des modifications), il est souvent judicieux
  1.1451 +      de définir certains comportement globaux par défaut, tels que le thème à utiliser
  1.1452 +      dans les interfaces web.</para>
  1.1453 +
  1.1454 +    <para id="x_6b1">Si un fichier appelé <filename>/etc/mercurial/hgrc</filename>
  1.1455 +      existe, Mercurial le lira au démarrage et appliquera tous les réglages
  1.1456 +      de configuration qu'il trouve dans ce fichier. Il regardera aussi
  1.1457 +      les fichiers finissant par une extension <literal>.rc</literal> dans un
  1.1458 +      répertoire appelé <filename>/etc/mercurial/hgrc.d</filename>, et
  1.1459 +      appliquera tous les réglages de configuration qu'il trouve dans chacun
  1.1460 +      de ces fichiers.</para>
  1.1461 +
  1.1462 +    <sect2>
  1.1463 +      <title>Rendre Mercurial plus confiant</title>
  1.1464 +
  1.1465 +      <para id="x_6b2">Une situation dans laquelle un <filename>hgrc</filename>
  1.1466 +	global peut être utile est si des utilisateurs "pullent" des modifications
  1.1467 +    faites par d'autres utilisateurs. Par défaut, Mercurial can be useful is if users are pulling changes owned by other
  1.1468 +	users.  By default, Mercurial ne se fiera pas à la plupart des
  1.1469 +    entrées de configuration dans un fichier <filename>.hg/hgrc</filename>
  1.1470 +	à l'intérieur d'un dépôt qui appartient à un utilisateur différent. Si nous
  1.1471 +    clonons ou "pullons" des modifications d'un tel dépôt, Mercurial
  1.1472 +    affichera un avertissement indiquant qu'il ne fait pas confiance aux 
  1.1473  	<filename>.hg/hgrc</filename>.</para>
  1.1474  
  1.1475 -      <para id="x_6b3">If everyone in a particular Unix group is on the same team
  1.1476 -	and <emphasis>should</emphasis> trust each other's
  1.1477 -	configuration settings, or we want to trust particular users,
  1.1478 -	we can override Mercurial's skeptical defaults by creating a
  1.1479 -	system-wide <filename>hgrc</filename> file such as the
  1.1480 -	following:</para>
  1.1481 +      <para id="x_6b3">Si quelqu'un dans un groupe Unix particulier est dans la même équipe
  1.1482 +      et <emphasis>devrait</emphasis> avoir confiance dans chaque réglage
  1.1483 +      de configuration des autres, ou si nous voulons avoir confiance dans des utilisateurs
  1.1484 +      particuliers, nous pouvons passer outre les défauts sceptiques de Mercurial
  1.1485 +      en créant un fichier <filename>hgrc</filename> "system-wide" tel que celui qui
  1.1486 +    suit ::</para>
  1.1487  
  1.1488      <programlisting># Save this as e.g. /etc/mercurial/hgrc.d/trust.rc
  1.1489  [trusted]
  1.1490 @@ -1596,7 +1588,6 @@
  1.1491      </sect2>
  1.1492    </sect1>
  1.1493  </chapter>
  1.1494 -<!-- TODO : part 4/4 -->
  1.1495  <!--
  1.1496  local variables: 
  1.1497  sgml-parent-document: ("00book.xml" "book" "chapter")