hgbook

changeset 1010:cd06c45e1631

French translation : ch06-collab.xml - about 50% translated
author Frédéric Bouquet <youshe.jaalon@gmail.com>
date Mon Sep 21 00:02:10 2009 +0200 (2009-09-21)
parents 304c6a1758ae
children 44946b10a4b3
files fr/ch06-collab.xml
line diff
     1.1 --- a/fr/ch06-collab.xml	Sun Sep 20 13:09:33 2009 +0200
     1.2 +++ b/fr/ch06-collab.xml	Mon Sep 21 00:02:10 2009 +0200
     1.3 @@ -442,317 +442,326 @@
     1.4          ahurissant. Et pourtant, Linux est un bout de logiciel d'une grande
     1.5          réussite et bien considéré.</para>
     1.6      </sect2>
     1.7 -<!-- TODO : part 1/4 -->
     1.8 +
     1.9      <sect2>
    1.10        <title>Collaboration pull seulement versus pull partagé</title>
    1.11  
    1.12 -      <para id="x_476">A perpetual source of heat in the open source community is
    1.13 -	whether a development model in which people only ever pull
    1.14 -	changes from others is <quote>better than</quote> one in which
    1.15 -	multiple people can push changes to a shared
    1.16 -	repository.</para>
    1.17 -
    1.18 -      <para id="x_477">Typically, the backers of the shared-push model use tools
    1.19 -	that actively enforce this approach.  If you're using a
    1.20 -	centralised revision control tool such as Subversion, there's
    1.21 -	no way to make a choice over which model you'll use: the tool
    1.22 -	gives you shared-push, and if you want to do anything else,
    1.23 -	you'll have to roll your own approach on top (such as applying
    1.24 -	a patch by hand).</para>
    1.25 -
    1.26 -      <para id="x_478">A good distributed revision control tool will
    1.27 -	support both models.  You and your collaborators can then
    1.28 -	structure how you work together based on your own needs and
    1.29 -	preferences, not on what contortions your tools force you
    1.30 -	into.</para>
    1.31 -    </sect2>
    1.32 -    <sect2>
    1.33 -      <title>Where collaboration meets branch management</title>
    1.34 -
    1.35 -      <para id="x_479">Once you and your team set up some shared
    1.36 -	repositories and start propagating changes back and forth
    1.37 -	between local and shared repos, you begin to face a related,
    1.38 -	but slightly different challenge: that of managing the
    1.39 -	multiple directions in which your team may be moving at once.
    1.40 -	Even though this subject is intimately related to how your
    1.41 -	team collaborates, it's dense enough to merit treatment of its
    1.42 -	own, in <xref linkend="chap:branch"/>.</para>
    1.43 +      <para id="x_476">Une source perpétuelle de heurs dans une communauté
    1.44 +        opensource est si un modèle de développement est celui où les
    1.45 +        personnes ne peuvent que récupérer (pull) les changements ou l'autre
    1.46 +        <quote>meilleur</quote> dans lequel de multiples personnes peuvent
    1.47 +        envoyer (push) leurs changements vers un dépôt partagé.</para>
    1.48 +
    1.49 +      <para id="x_477">Typiquement, les bailleurs de fonds du modèle push
    1.50 +        partagé utilisent des outils qui renforcent activement cette
    1.51 +        approche. Si vous utilisez un outil centralisé de gestion de révision
    1.52 +        comme Subversion, il n'y a pas la possibilité de choisir quel modèle
    1.53 +        utiliser : l'outil vous fournit un push partagé, et si vous voulez
    1.54 +        faire quelque chose d'autre, vous avez à changer votre propre
    1.55 +        approche à la base (comme appliquer les patchs manuellement).</para>
    1.56 +
    1.57 +      <para id="x_478">Un bon outil de gestion distribuée de révisions doit
    1.58 +        supporter les deux modèles. Vous et vos collaborateurs pouvez ensuite
    1.59 +        structurer la façon dont vous travaillez ensemble en vous basant sur
    1.60 +        vos besoins et vos préférences, et non sur les contortions que vos
    1.61 +        outils vous forcent à effectuer.</para>
    1.62 +    </sect2>
    1.63 +    <sect2>
    1.64 +      <title>Lorsque la collaboration rencontre la gestion de branches</title>
    1.65 +
    1.66 +      <para id="x_479">Lorsque vous et votre équipe configurez des dépôts
    1.67 +        partagés et commencez à propager vos changement dans tous les sens
    1.68 +        entre les dépôts locaux et partagés, vous commencez à être face à un
    1.69 +        challenge apparenté, mais un peu différent : celui de gérer les
    1.70 +        multiples directions vers lesquelles votre équipe pourrait aller au
    1.71 +        même moment. Même si ce sujet est intimement lié à la façon dont
    1.72 +        votre équipe collabore, il est suffisement dence pour mériter un
    1.73 +        traitement à part dans <xref linkend="chap:branch"/>.</para>
    1.74      </sect2>
    1.75    </sect1>
    1.76  
    1.77    <sect1>
    1.78 -    <title>The technical side of sharing</title>
    1.79 -
    1.80 -    <para id="x_47a">The remainder of this chapter is devoted to the question of
    1.81 -      sharing changes with your collaborators.</para>
    1.82 +    <title>Le coté technique du partage</title>
    1.83 +
    1.84 +    <para id="x_47a">Le reste de ce chapitre est dévoué à la question du
    1.85 +      partage des changements avec vos collaborateurs.</para>
    1.86    </sect1>
    1.87  
    1.88    <sect1 id="sec:collab:serve">
    1.89 -    <title>Informal sharing with <command role="hg-cmd">hg
    1.90 -	serve</command></title>
    1.91 -
    1.92 -    <para id="x_47b">Mercurial's <command role="hg-cmd">hg serve</command>
    1.93 -      command is wonderfully suited to small, tight-knit, and
    1.94 -      fast-paced group environments.  It also provides a great way to
    1.95 -      get a feel for using Mercurial commands over a network.</para>
    1.96 -
    1.97 -    <para id="x_47c">Run <command role="hg-cmd">hg serve</command> inside a
    1.98 -      repository, and in under a second it will bring up a specialised
    1.99 -      HTTP server; this will accept connections from any client, and
   1.100 -      serve up data for that repository until you terminate it.
   1.101 -      Anyone who knows the URL of the server you just started, and can
   1.102 -      talk to your computer over the network, can then use a web
   1.103 -      browser or Mercurial to read data from that repository.  A URL
   1.104 -      for a <command role="hg-cmd">hg serve</command> instance running
   1.105 -      on a laptop is likely to look something like
   1.106 +    <title>Partage informel avec <command role="hg-cmd">hg
   1.107 +    serve</command></title>
   1.108 +
   1.109 +    <para id="x_47b">La commande <command role="hg-cmd">hg serve</command> de
   1.110 +      Mercurial est magnifiquement conçue pour un environnement de petit
   1.111 +      groupe, soudé et rapide. Elle fournit aussi un très bon moyen d'avoir
   1.112 +      un sentiment de l'utilisation des commandes Meruciral sur un
   1.113 +      réseau.</para>
   1.114 +
   1.115 +    <para id="x_47c">Exécutez <command role="hg-cmd">hg serve</command> à
   1.116 +      l'intérieur d'un dépôtn et en moins d'une seconde, cela mettra en place
   1.117 +      un serveur HTTP spécialisé ; qui va accepter les connexions de tout
   1.118 +      client, et servir les donnée pour ce dépôt jusqu'à ce que vous le
   1.119 +      terminiez. Toute personne qui connaît l'URL du serveur que vous venez
   1.120 +      de démarrer, peut ensuite utiliser un navigateur web ou Mercurial pour
   1.121 +      lire les données de ce dépôt. Une URL pour une instance exécutée de 
   1.122 +      <command role="hg-cmd">hg serve</command> sur un ordinateur portable
   1.123 +      ressemblera vraissemblablement à
   1.124        <literal>http://my-laptop.local:8000/</literal>.</para>
   1.125  
   1.126 -    <para id="x_47d">The <command role="hg-cmd">hg serve</command> command is
   1.127 -      <emphasis>not</emphasis> a general-purpose web server. It can do
   1.128 -      only two things:</para>
   1.129 +    <para id="x_47d">La commande <command role="hg-cmd">hg serve</command>
   1.130 +      <emphasis>n'</emphasis>est <emphasis>pas</emphasis> un serveur web
   1.131 +      générique. Il ne peut faire que deux choses : </para>
   1.132      <itemizedlist>
   1.133 -      <listitem><para id="x_47e">Allow people to browse the history of the
   1.134 -	  repository it's serving, from their normal web
   1.135 -	  browsers.</para>
   1.136 +      <listitem><para id="x_47e">Autoriser les personnes à explorer
   1.137 +          l'historique du dépôt qu'il rend accessible, à partir d'un
   1.138 +          navigateur web normal.</para>
   1.139        </listitem>
   1.140 -      <listitem><para id="x_47f">Speak Mercurial's wire protocol, so that people
   1.141 -	  can <command role="hg-cmd">hg clone</command> or <command
   1.142 -	    role="hg-cmd">hg pull</command> changes from that
   1.143 -	  repository.</para>
   1.144 +      <listitem><para id="x_47f">Discuter à travers le protocole de
   1.145 +          communication de Mercurial, ainsi, les personnes peuvent exécuter <command
   1.146 +            role="hg-cmd">hg clone</command> ou <command role="hg-cmd">hg
   1.147 +            pull</command> sur les changements de ce dépôt.</para>
   1.148        </listitem></itemizedlist>
   1.149 -    <para id="x_480">In particular, <command role="hg-cmd">hg serve</command>
   1.150 -      won't allow remote users to <emphasis>modify</emphasis> your
   1.151 -      repository.  It's intended for read-only use.</para>
   1.152 -
   1.153 -    <para id="x_481">If you're getting started with Mercurial, there's nothing to
   1.154 -      prevent you from using <command role="hg-cmd">hg serve</command>
   1.155 -      to serve up a repository on your own computer, then use commands
   1.156 -      like <command role="hg-cmd">hg clone</command>, <command
   1.157 -	role="hg-cmd">hg incoming</command>, and so on to talk to that
   1.158 -      server as if the repository was hosted remotely. This can help
   1.159 -      you to quickly get acquainted with using commands on
   1.160 -      network-hosted repositories.</para>
   1.161 -
   1.162 -    <sect2>
   1.163 -      <title>A few things to keep in mind</title>
   1.164 -
   1.165 -      <para id="x_482">Because it provides unauthenticated read access to all
   1.166 -	clients, you should only use <command role="hg-cmd">hg
   1.167 -	  serve</command> in an environment where you either don't
   1.168 -	care, or have complete control over, who can access your
   1.169 -	network and pull data from your repository.</para>
   1.170 -
   1.171 -      <para id="x_483">The <command role="hg-cmd">hg serve</command> command
   1.172 -	knows nothing about any firewall software you might have
   1.173 -	installed on your system or network.  It cannot detect or
   1.174 -	control your firewall software.  If other people are unable to
   1.175 -	talk to a running <command role="hg-cmd">hg serve</command>
   1.176 -	instance, the second thing you should do
   1.177 -	(<emphasis>after</emphasis> you make sure that they're using
   1.178 -	the correct URL) is check your firewall configuration.</para>
   1.179 -
   1.180 -      <para id="x_484">By default, <command role="hg-cmd">hg serve</command>
   1.181 -	listens for incoming connections on port 8000.  If another
   1.182 -	process is already listening on the port you want to use, you
   1.183 -	can specify a different port to listen on using the <option
   1.184 -	  role="hg-opt-serve">-p</option> option.</para>
   1.185 -
   1.186 -      <para id="x_485">Normally, when <command role="hg-cmd">hg serve</command>
   1.187 -	starts, it prints no output, which can be a bit unnerving.  If
   1.188 -	you'd like to confirm that it is indeed running correctly, and
   1.189 -	find out what URL you should send to your collaborators, start
   1.190 -	it with the <option role="hg-opt-global">-v</option>
   1.191 -	option.</para>
   1.192 +    <para id="x_480">En particulier, <command role="hg-cmd">hg serve</command>
   1.193 +      ne permettra pas aux utilisateurs distants de
   1.194 +      <emphasis>modifier</emphasis> votre dépôt. C'est destiné à une
   1.195 +      utilisation en lecture seule.</para>
   1.196 +
   1.197 +    <para id="x_481">Si vous commencez avec Mercurial, il n'y a rien qui vous
   1.198 +      empèche d'utiliser <command role="hg-cmd">hg serve</command> pour
   1.199 +      publier un dépôt sur votre ordinateur, utilisez ensuite des commandes
   1.200 +      telles que <command role="hg-cmd">hg clone</command>, <command
   1.201 +        role="hg-cmd">hg incoming</command>, et ainsi de suite pour parler à
   1.202 +      ce serveur comme si ce dépôt était hébergé à distance. Ceci peut vous
   1.203 +      aider à rapidement familiarisé avec les commandes sur les dépôts
   1.204 +      hébergés sur un réseau.</para>
   1.205 +
   1.206 +    <sect2>
   1.207 +      <title>Quelques choses à garder à l'esprit</title>
   1.208 +
   1.209 +      <para id="x_482">Puisque ceci fournit un accès en lecture sans
   1.210 +        authentification à tous les clients, vous devriez utiliser la
   1.211 +        commande <command role="hg-cmd">hg serve</command> dans un
   1.212 +        environnement dans lequel vous ne vous inquiétez pas ou où vous avez
   1.213 +        tout contrôle sur qui peut avoir accès au réseau et récupérer les
   1.214 +        données de votre dépôt.</para>
   1.215 +
   1.216 +      <para id="x_483">La commande <command role="hg-cmd">hg serve</command>
   1.217 +        ne connaît sait rien sur un quelconque firewall que vous auriez
   1.218 +        installé sur votre système ou réseau. Elle ne peut pas détecter ou
   1.219 +        contrôler votre logiciel de pare-feu. Si d'autre personnes ont la
   1.220 +        possibilité de dialoguer avec une instance de <command
   1.221 +          role="hg-cmd">hg serve</command> ma seconde chose que vous devriez
   1.222 +        faire (<emphasis>après</emphasis> être sûr qu'ils utilisent l'URL
   1.223 +        correcte) est de vérifier la configuration de votre firewall.</para>
   1.224 +
   1.225 +      <para id="x_484">Par défaut, <command role="hg-cmd">hg serve</command>
   1.226 +        écoute pour les connexions entrantes sur le port 8000. Si un autre
   1.227 +        processus est déjà en train d'écouter sur le port que vous voulez
   1.228 +        écouter, vous pouvez spécifier un port différent sur lequel écouter à
   1.229 +        l'aide de l'option <option role="hg-opt-serve">-p</option>.</para>
   1.230 +
   1.231 +      <para id="x_485">Normalement, lorsque <command role="hg-cmd">hg
   1.232 +          serve</command> se lance, il n'affiche aucune sortie, ce qui peut
   1.233 +        être un peu énervant. Si vous voulez une confirmation que tout s'est
   1.234 +        déroulé correctement, et connaître l'URL que vous devriez fournir à
   1.235 +        vos collaborateurs, démarrez avec l'option <option
   1.236 +          role="hg-opt-global">-v</option>.</para>
   1.237      </sect2>
   1.238    </sect1>
   1.239  
   1.240    <sect1 id="sec:collab:ssh">
   1.241 -    <title>Using the Secure Shell (ssh) protocol</title>
   1.242 -
   1.243 -    <para id="x_486">You can pull and push changes securely over a network
   1.244 -      connection using the Secure Shell (<literal>ssh</literal>)
   1.245 -      protocol.  To use this successfully, you may have to do a little
   1.246 -      bit of configuration on the client or server sides.</para>
   1.247 -
   1.248 -    <para id="x_487">If you're not familiar with ssh, it's the name of
   1.249 -      both a command and a network protocol that let you securely
   1.250 -      communicate with another computer.  To use it with Mercurial,
   1.251 -      you'll be setting up one or more user accounts on a server so
   1.252 -      that remote users can log in and execute commands.</para>
   1.253 -
   1.254 -    <para id="x_488">(If you <emphasis>are</emphasis> familiar with ssh, you'll
   1.255 -      probably find some of the material that follows to be elementary
   1.256 -      in nature.)</para>
   1.257 -
   1.258 -    <sect2>
   1.259 -      <title>How to read and write ssh URLs</title>
   1.260 -
   1.261 -      <para id="x_489">An ssh URL tends to look like this:</para>
   1.262 +    <title>Utiliser le protocole Secure Shell (ssh)</title>
   1.263 +
   1.264 +    <para id="x_486">Vous pouvez récupérer (pull) ou envoyer (push) des
   1.265 +      changements de façon sécurisé au dessus d'une connexion utilisatnt le
   1.266 +      protocole Secure Shell (<literal>ssh</literal>). Pour l'utiliser avec
   1.267 +      succès, vous pouriez avoir à faire un peu de configuration du coté
   1.268 +      client ou serveur.</para>
   1.269 +
   1.270 +    <para id="x_487">Si vous n'êtes pas familiers avec ssh, c'est le nom de
   1.271 +      la commande et d'un protocole réseau qui vous permet d'établir une
   1.272 +      communication sécurisée avec un autre ordinateur. Pour l'utiliser avec
   1.273 +      Mercurial, vous allez configurer un ou plusieurs comptes utilisateur
   1.274 +      sur un serveur, comme ça, les utilisateurs distants peuvent logger et
   1.275 +      exécuter les commandes.</para>
   1.276 +
   1.277 +    <para id="x_488">(Si vous <emphasis>êtes</emphasis> familiers avec ssh,
   1.278 +      vous allez probablement trouver quelques une des informations qui
   1.279 +      suivent élémentaires par nature.)</para>
   1.280 +
   1.281 +    <sect2>
   1.282 +      <title>Comment lire et écrire des URLs ssh</title>
   1.283 +
   1.284 +      <para id="x_489">Une URL ssh tent à ressembler à ceci :</para>
   1.285        <programlisting>ssh://bos@hg.serpentine.com:22/hg/hgbook</programlisting>
   1.286        <orderedlist>
   1.287 -	<listitem><para id="x_48a">The <quote><literal>ssh://</literal></quote>
   1.288 -	    part tells Mercurial to use the ssh protocol.</para>
   1.289 -	</listitem>
   1.290 -	<listitem><para id="x_48b">The <quote><literal>bos@</literal></quote>
   1.291 -	    component indicates what username to log into the server
   1.292 -	    as.  You can leave this out if the remote username is the
   1.293 -	    same as your local username.</para>
   1.294 -	</listitem>
   1.295 -	<listitem><para id="x_48c">The
   1.296 -	    <quote><literal>hg.serpentine.com</literal></quote> gives
   1.297 -	    the hostname of the server to log into.</para>
   1.298 -	</listitem>
   1.299 -	<listitem><para id="x_48d">The <quote>:22</quote> identifies the port
   1.300 -	    number to connect to the server on.  The default port is
   1.301 -	    22, so you only need to specify a colon and port number if
   1.302 -	    you're <emphasis>not</emphasis> using port 22.</para>
   1.303 -	</listitem>
   1.304 -	<listitem><para id="x_48e">The remainder of the URL is the local path to
   1.305 -	    the repository on the server.</para>
   1.306 -	</listitem></orderedlist>
   1.307 -
   1.308 -      <para id="x_48f">There's plenty of scope for confusion with the path
   1.309 -	component of ssh URLs, as there is no standard way for tools
   1.310 -	to interpret it.  Some programs behave differently than others
   1.311 -	when dealing with these paths. This isn't an ideal situation,
   1.312 -	but it's unlikely to change.  Please read the following
   1.313 -	paragraphs carefully.</para>
   1.314 -
   1.315 -      <para id="x_490">Mercurial treats the path to a repository on the server as
   1.316 -	relative to the remote user's home directory.  For example, if
   1.317 -	user <literal>foo</literal> on the server has a home directory
   1.318 -	of <filename class="directory">/home/foo</filename>, then an
   1.319 -	ssh URL that contains a path component of <filename
   1.320 -	  class="directory">bar</filename> <emphasis>really</emphasis>
   1.321 -	refers to the directory <filename
   1.322 -	  class="directory">/home/foo/bar</filename>.</para>
   1.323 -
   1.324 -      <para id="x_491">If you want to specify a path relative to another user's
   1.325 -	home directory, you can use a path that starts with a tilde
   1.326 -	character followed by the user's name (let's call them
   1.327 -	<literal>otheruser</literal>), like this.</para>
   1.328 +        <listitem><para id="x_48a">Le préfixe
   1.329 +            <quote><literal>ssh://</literal></quote> dit à Mercurial
   1.330 +            d'utiliser le protocole ssh.</para>
   1.331 +        </listitem>
   1.332 +        <listitem><para id="x_48b">Le composant
   1.333 +            <quote><literal>bos@</literal></quote> indique que le nom
   1.334 +            d'utilisateur à logger sur le serveur. Vous pouvez le laisser
   1.335 +            vide si le nom d'utilisateur sur le serveur distant est le même
   1.336 +            que localement.</para>
   1.337 +        </listitem>
   1.338 +        <listitem><para id="x_48c">La partie
   1.339 +            <quote><literal>hg.serpentine.com</literal></quote> donne le nom
   1.340 +            d'hôte du serveur sur lequel se logger.</para>
   1.341 +        </listitem>
   1.342 +        <listitem><para id="x_48d">Le <quote>:22</quote> identifie le numéro
   1.343 +            de port où se connecter au serveur. Le port par défaut est 22,
   1.344 +            donc vous n'avez besoin de spécifier ceci que si vous
   1.345 +            <emphasis>n'</emphasis>utilisez <emphasis>pas</emphasis> le port
   1.346 +            22.</para>
   1.347 +        </listitem>
   1.348 +        <listitem><para id="x_48e">Le reste de l'URL est le chemin local du
   1.349 +            dépôt sur le serveur.</para></listitem></orderedlist>
   1.350 +    
   1.351 +      <para id="x_48f">Il y a beaucoup de place pour la confusion sur le
   1.352 +        chemin du composant d'une URL ssh puisqu'il n'y a pas de façon
   1.353 +        standard pour les outils de l'intérpréter. Certains programmes se
   1.354 +        comportent différemment des autres lorsqu'ils traient ces chemins. Il
   1.355 +        ne s'agit pas d'une situation idéale, mais ce n'est pas prêt de
   1.356 +        changer. Lisez SVP les prochains paragraphes avec attention.</para>
   1.357 +
   1.358 +      <para id="x_490">Mercurial traite le chemin vers un dépôt sur le
   1.359 +        serveur comme relatif au répertoire personnel de l'utilisateur sur le
   1.360 +        serveur distant. Par exemple, si un utilisateur
   1.361 +        <literal>foo</literal> sur le serveur a un répertoire personnel
   1.362 +        <filename class="directory">/home/foo</filename>, alors l'URL ssh qui
   1.363 +        vientient un composant chemin de <filename
   1.364 +          class="directory">bar</filename> réfère en
   1.365 +        <emphasis>réalité</emphasis> au répertoire <filename
   1.366 +          class="directory">/home/foo/bar</filename>.</para>
   1.367 +
   1.368 +      <para id="x_491">Si vous voulez spécifier un chemin relatif à au
   1.369 +        répertoire personnel d'un autre utilisateur, vous pouvez préciser un
   1.370 +        chemin qui commence à l'aide du caractère tilde suivit du nom de
   1.371 +        l'utilisateur (appelons le <literal>otheruser</literal>),
   1.372 +        ainsi.</para>
   1.373        <programlisting>ssh://server/~otheruser/hg/repo</programlisting>
   1.374  
   1.375 -      <para id="x_492">And if you really want to specify an
   1.376 -	<emphasis>absolute</emphasis> path on the server, begin the
   1.377 -	path component with two slashes, as in this example.</para>
   1.378 +      <para id="x_492">Et si vous voulez vraiment spécifier un chemin
   1.379 +        <emphasis>absolu</emphasis> sur le serveur, débutez la composante
   1.380 +        chemin par deux slashs comme dans cet exemple.</para>
   1.381        <programlisting>ssh://server//absolute/path</programlisting>
   1.382      </sect2>
   1.383  
   1.384      <sect2>
   1.385 -      <title>Finding an ssh client for your system</title>
   1.386 -
   1.387 -      <para id="x_493">Almost every Unix-like system comes with OpenSSH
   1.388 -	preinstalled.  If you're using such a system, run
   1.389 -	<literal>which ssh</literal> to find out if the
   1.390 -	<command>ssh</command> command is installed (it's usually in
   1.391 -	<filename class="directory">/usr/bin</filename>).  In the
   1.392 -	unlikely event that it isn't present, take a look at your
   1.393 -	system documentation to figure out how to install it.</para>
   1.394 -
   1.395 -      <para id="x_494">On Windows, the TortoiseHg package is bundled
   1.396 -	with a version of Simon Tatham's excellent
   1.397 -	<command>plink</command> command, and you should not need to
   1.398 -	do any further configuration.</para>
   1.399 -    </sect2>
   1.400 -
   1.401 -    <sect2>
   1.402 -      <title>Generating a key pair</title>
   1.403 -
   1.404 -      <para id="x_499">To avoid the need to repetitively type a
   1.405 -	password every time you need to use your ssh client, I
   1.406 -	recommend generating a key pair.</para>
   1.407 +      <title>Trouver un client ssh pour votre système</title>
   1.408 +
   1.409 +      <para id="x_493">La plupart des systèmes du type Unix arrivent avec
   1.410 +        OpenSSH préinstallé. Si vous utilisez un tel système, utilisez
   1.411 +        <literal>which ssh</literal> pour trouver où la commande
   1.412 +        <command>ssh</command> est installée (il s'agit généralement de
   1.413 +        <filename class="directory">/usr/bin</filename>). Dans le cas peu
   1.414 +        probable où il ne serait pas présent, regarder à la documentation de
   1.415 +        votre système pour voir comment l'installer.</para>
   1.416 +
   1.417 +      <para id="x_494">Sous Windows, le packetage ToirtoiseHg est livré avec
   1.418 +        une version de l'excellente commande <command>plink</command> de
   1.419 +        Simon Tatham's, et ne devrait pas avoir besoin de plus de
   1.420 +        configuration.</para>
   1.421 +    </sect2>
   1.422 +
   1.423 +    <sect2>
   1.424 +      <title>Générer une paire de clef</title>
   1.425 +
   1.426 +      <para id="x_499">Pour éviter d'avoir à chaque fois taper un mot de
   1.427 +        passe lorsque vous utilisez votre client ssh, je recommande le fait
   1.428 +        de générer une paire de clefs.</para>
   1.429  
   1.430        <tip>
   1.431 -	<title>Key pairs are not mandatory</title>
   1.432 -
   1.433 -	<para id="x_6a4">Mercurial knows nothing about ssh authentication or key
   1.434 -	  pairs.  You can, if you like, safely ignore this section and
   1.435 -	  the one that follows until you grow tired of repeatedly
   1.436 -	  typing ssh passwords.</para>
   1.437 +        <title>Les paires de clefs ne sont pas obligatoires</title>
   1.438 +      
   1.439 +        <para id="x_6a4">Mercurial ne sait rien du tout de l'authentification
   1.440 +          de ssh ou de la paire de clefs. Vous pouvez, si vous le désirez,
   1.441 +          ignorer sans risque cette section et ce qu'il suit jusqu'à ce que
   1.442 +          vous soyez fatigué de constament retaper des mots de passe
   1.443 +          ssh.</para>
   1.444        </tip>
   1.445  
   1.446        <itemizedlist>
   1.447 -	<listitem>
   1.448 -	  <para id="x_6a5">On a Unix-like system, the
   1.449 -	    <command>ssh-keygen</command> command will do the
   1.450 -	    trick.</para>
   1.451 -	  <para id="x_6a6">On Windows, if you're using TortoiseHg, you may need
   1.452 -	    to download a command named <command>puttygen</command>
   1.453 -	    from <ulink
   1.454 -	      url="http://www.chiark.greenend.org.uk/~sgtatham/putty">the 
   1.455 -	      PuTTY web site</ulink> to generate a key pair.  See
   1.456 -	    <ulink
   1.457 -	      url="http://the.earth.li/~sgtatham/putty/0.60/htmldoc/Chapter8.html#pubkey-puttygen">the 
   1.458 -	      <command>puttygen</command> documentation</ulink> for
   1.459 -	    details of how use the command.</para>
   1.460 -	</listitem>
   1.461 +        <listitem> <para id="x_6a5">Sur un système de type Unix, la commande
   1.462 +            <command>ssh-keygen</command> fera l'affaire.</para></listitem>
   1.463 +        <listitem> <para id="x_6a6">Sous Windows, si vous utilisez
   1.464 +            ToirtoiseHg, vous devriez avoir besoin de télécharger la commande
   1.465 +            nommée <command>puttygen</command> à partir du <ulink
   1.466 +              url="http://www.chiark.greenend.org.uk/~sgtatham/putty">site
   1.467 +              web de PuTTY</ulink> pour générer une paire de clefs.  Référez
   1.468 +            vous à <ulink
   1.469 +              url="http://the.earth.li/~sgtatham/putty/0.60/htmldoc/Chapter8.html#pubkey-puttygen">la
   1.470 +              documentation <command>puttygen</command></ulink> pour les
   1.471 +            détails sur l'utilisation de cette commande.</para></listitem>
   1.472        </itemizedlist>
   1.473  
   1.474 -      <para id="x_49a">When you generate a key pair, it's usually
   1.475 -	<emphasis>highly</emphasis> advisable to protect it with a
   1.476 -	passphrase.  (The only time that you might not want to do this
   1.477 -	is when you're using the ssh protocol for automated tasks on a
   1.478 -	secure network.)</para>
   1.479 -
   1.480 -      <para id="x_49b">Simply generating a key pair isn't enough, however.
   1.481 -	You'll need to add the public key to the set of authorised
   1.482 -	keys for whatever user you're logging in remotely as.  For
   1.483 -	servers using OpenSSH (the vast majority), this will mean
   1.484 -	adding the public key to a list in a file called <filename
   1.485 -	  role="special">authorized_keys</filename> in their <filename
   1.486 -	  role="special" class="directory">.ssh</filename>
   1.487 -	directory.</para>
   1.488 -
   1.489 -      <para id="x_49c">On a Unix-like system, your public key will have a
   1.490 -	<filename>.pub</filename> extension.  If you're using
   1.491 -	<command>puttygen</command> on Windows, you can save the
   1.492 -	public key to a file of your choosing, or paste it from the
   1.493 -	window it's displayed in straight into the <filename
   1.494 -	  role="special">authorized_keys</filename> file.</para>
   1.495 -    </sect2>
   1.496 -    <sect2>
   1.497 -      <title>Using an authentication agent</title>
   1.498 -
   1.499 -      <para id="x_49d">An authentication agent is a daemon that stores
   1.500 -	passphrases in memory (so it will forget passphrases if you
   1.501 -	log out and log back in again). An ssh client will notice if
   1.502 -	it's running, and query it for a passphrase.  If there's no
   1.503 -	authentication agent running, or the agent doesn't store the
   1.504 -	necessary passphrase, you'll have to type your passphrase
   1.505 -	every time Mercurial tries to communicate with a server on
   1.506 -	your behalf (e.g. whenever you pull or push changes).</para>
   1.507 -
   1.508 -      <para id="x_49e">The downside of storing passphrases in an agent is that
   1.509 -	it's possible for a well-prepared attacker to recover the
   1.510 -	plain text of your passphrases, in some cases even if your
   1.511 -	system has been power-cycled. You should make your own
   1.512 -	judgment as to whether this is an acceptable risk.  It
   1.513 -	certainly saves a lot of repeated typing.</para>
   1.514 +      <para id="x_49a">Lorsque vous générez une paire de clefs, il est
   1.515 +        habituellement <emphasis>autement</emphasis> recommendé de la
   1.516 +        protéger avec un mot de passe. (Le seul moment où vous pourriez ne
   1.517 +        pas devoir le faire est lorsque vous utilisez le protocole ssh pour
   1.518 +        des tâches automatisées sur un réseau sécurisé.)</para>
   1.519 +
   1.520 +      <para id="x_49b">Le simple fait de générer une paire de clefs n'est
   1.521 +        cependant pas suffisent. Vous aurez besoin d'ajouter la clef publique
   1.522 +        à l'ensemble des clefs authorisées pour tout utilisateur que vous
   1.523 +        utilisez pour vous connecter à distance. Pour les serveurs utilisant
   1.524 +        OpenSSh (la grande majorité), ceci voudra dire d'ajouter la clef
   1.525 +        publique à la liste dans un fichier appelé <filename
   1.526 +          role="special">authorized_keys</filename> dans leur répertoire
   1.527 +        <filename role="special" class="directory">.ssh</filename>.</para>
   1.528 +
   1.529 +      <para id="x_49c">Sur un système de type Unix, votre clef publique aura
   1.530 +        l'extension <filename>.pub</filename>. Si vous utilisez la commande
   1.531 +        <command>puttygen</command> sous Windows, vous pouvez sauvegarder la
   1.532 +        clef publique dans un fichier que vous choisissez ou la copier à
   1.533 +        partir de la fenêtre qui apparait directement dans le fichier
   1.534 +        <filename role="special">authorized_keys</filename>.</para>
   1.535 +    </sect2>
   1.536 +    <sect2>
   1.537 +      <title>Utiliser un agent d'authentification</title>
   1.538 +
   1.539 +      <para id="x_49d">Un agent d'authentification est un démon qui
   1.540 +        enregistre les mots de passe en mémoire (il oublira ainsi les mots de
   1.541 +        passe si vous vous déloggez et reloggez). Un client ssh sera averti
   1.542 +        si un tel agent est en fonctionnement, et lui demandera un mot de
   1.543 +        passe. S'il n'y a pas d'agent en fonctionnement, ou si l'agent ne
   1.544 +        connaît pas le mot de passe nécessaire, vous aurez à taper votre mot
   1.545 +        de passe chaque fois que Mercurial tente de communiquer avec un
   1.546 +        serveur en votre nom (ex. lorsque vous faite un pull ou un push sur
   1.547 +        des changements).</para>
   1.548 +
   1.549 +      <para id="x_49e">L'inconveignant de sauvegarder les mots de passes dans
   1.550 +        un agent est qu'il est possible pour un attaquant bien préparé de
   1.551 +        retrouver le mot de passe clair, dans certains cas, même si votre
   1.552 +        système a été redémarré. Vous devriez vous faire votre propre
   1.553 +        jugement pour savoir si ce risque est acceptable. Ceci vous exempte
   1.554 +        certainement d'un tas de répétitions.</para>
   1.555  
   1.556        <itemizedlist>
   1.557 -	<listitem>
   1.558 -	  <para id="x_49f">On Unix-like systems, the agent is called
   1.559 -	    <command>ssh-agent</command>, and it's often run
   1.560 -	    automatically for you when you log in.  You'll need to use
   1.561 -	    the <command>ssh-add</command> command to add passphrases
   1.562 -	    to the agent's store.</para>
   1.563 -	</listitem>
   1.564 -	<listitem>
   1.565 -	  <para id="x_6a7">On Windows, if you're using TortoiseHg, the
   1.566 -	    <command>pageant</command> command acts as the agent.  As
   1.567 -	    with <command>puttygen</command>, you'll need to <ulink
   1.568 -	      url="http://www.chiark.greenend.org.uk/%7Esgtatham/putty/download.html">download 
   1.569 -	      <command>pageant</command></ulink> from the PuTTY web
   1.570 -	    site and read <ulink
   1.571 -	      url="http://the.earth.li/~sgtatham/putty/0.60/htmldoc/Chapter9.html#pageant">its 
   1.572 -	      documentation</ulink>.  The <command>pageant</command>
   1.573 -	    command adds an icon to your system tray that will let you
   1.574 -	    manage stored passphrases.</para>
   1.575 -	</listitem>
   1.576 +        <listitem> <para id="x_49f">Sur les systèmes de type Unix, l'agent
   1.577 +            est appelé <command>ssh-agent</command>, et est souvent lancé
   1.578 +            automatiquement pour vous lorsque vous vous loggez. Vous aurez
   1.579 +            besoin d'utiliser la commande <command>ssh-add</command> pour
   1.580 +            ajouter des mots de passe à l'entrepôt de l'agent.</para>
   1.581 +        </listitem>
   1.582 +        <listitem>
   1.583 +          <para id="x_6a7">Sous Windows, si vous utilisez ToirtoiseHg, la
   1.584 +            commande <command>pageant</command> agit comme un agent. Comme
   1.585 +            avec <command>puttygen</command>, vous aurez besoin de <ulink
   1.586 +              url="http://www.chiark.greenend.org.uk/%7Esgtatham/putty/download.html">télécharger
   1.587 +              <command>pageant</command></ulink> à partir du site web de
   1.588 +            PuTTY et lire <ulink
   1.589 +              url="http://the.earth.li/~sgtatham/putty/0.60/htmldoc/Chapter9.html#pageant">sa
   1.590 +              documentation</ulink>.  La commande <command>pageant</command>
   1.591 +            ajoute une icône à votre barre de tâches qui vous permettra de
   1.592 +            gérer les mots de passe stockés.</para></listitem>
   1.593 +          <!-- TODO : J'ai traduit system tray par barre des tâches, mais ne
   1.594 +          conaissant pas windows, je ne suis pas sûr du nom réel. A corriger
   1.595 +          le cas échéant ! -->
   1.596        </itemizedlist>
   1.597      </sect2>
   1.598 -
   1.599 +<!-- TODO : part 2/4 -->
   1.600      <sect2>
   1.601        <title>Configuring the server side properly</title>
   1.602  
   1.603 @@ -806,7 +815,6 @@
   1.604  	on (usually 22).  Don't worry about more exotic possibilities
   1.605  	for misconfiguration until you've checked these two
   1.606  	first.</para>
   1.607 -<!-- TODO : part 2/4 -->
   1.608        <para id="x_4a7">If you're using an authentication agent on the client side
   1.609  	to store passphrases for your keys, you ought to be able to
   1.610  	log into the server without being prompted for a passphrase or