# HG changeset patch # User Frédéric Bouquet # Date 1253484130 -7200 # Node ID cd06c45e163173583156ff1e5ab168c8c0612fbd # Parent 304c6a1758aef8e05cf171421088475db5cbfcef French translation : ch06-collab.xml - about 50% translated diff -r 304c6a1758ae -r cd06c45e1631 fr/ch06-collab.xml --- a/fr/ch06-collab.xml Sun Sep 20 13:09:33 2009 +0200 +++ b/fr/ch06-collab.xml Mon Sep 21 00:02:10 2009 +0200 @@ -442,317 +442,326 @@ ahurissant. Et pourtant, Linux est un bout de logiciel d'une grande réussite et bien considéré. - + Collaboration pull seulement versus pull partagé - A perpetual source of heat in the open source community is - whether a development model in which people only ever pull - changes from others is better than one in which - multiple people can push changes to a shared - repository. - - Typically, the backers of the shared-push model use tools - that actively enforce this approach. If you're using a - centralised revision control tool such as Subversion, there's - no way to make a choice over which model you'll use: the tool - gives you shared-push, and if you want to do anything else, - you'll have to roll your own approach on top (such as applying - a patch by hand). - - A good distributed revision control tool will - support both models. You and your collaborators can then - structure how you work together based on your own needs and - preferences, not on what contortions your tools force you - into. - - - Where collaboration meets branch management - - Once you and your team set up some shared - repositories and start propagating changes back and forth - between local and shared repos, you begin to face a related, - but slightly different challenge: that of managing the - multiple directions in which your team may be moving at once. - Even though this subject is intimately related to how your - team collaborates, it's dense enough to merit treatment of its - own, in . + Une source perpétuelle de heurs dans une communauté + opensource est si un modèle de développement est celui où les + personnes ne peuvent que récupérer (pull) les changements ou l'autre + meilleur dans lequel de multiples personnes peuvent + envoyer (push) leurs changements vers un dépôt partagé. + + Typiquement, les bailleurs de fonds du modèle push + partagé utilisent des outils qui renforcent activement cette + approche. Si vous utilisez un outil centralisé de gestion de révision + comme Subversion, il n'y a pas la possibilité de choisir quel modèle + utiliser : l'outil vous fournit un push partagé, et si vous voulez + faire quelque chose d'autre, vous avez à changer votre propre + approche à la base (comme appliquer les patchs manuellement). + + Un bon outil de gestion distribuée de révisions doit + supporter les deux modèles. Vous et vos collaborateurs pouvez ensuite + structurer la façon dont vous travaillez ensemble en vous basant sur + vos besoins et vos préférences, et non sur les contortions que vos + outils vous forcent à effectuer. + + + Lorsque la collaboration rencontre la gestion de branches + + Lorsque vous et votre équipe configurez des dépôts + partagés et commencez à propager vos changement dans tous les sens + entre les dépôts locaux et partagés, vous commencez à être face à un + challenge apparenté, mais un peu différent : celui de gérer les + multiples directions vers lesquelles votre équipe pourrait aller au + même moment. Même si ce sujet est intimement lié à la façon dont + votre équipe collabore, il est suffisement dence pour mériter un + traitement à part dans . - The technical side of sharing - - The remainder of this chapter is devoted to the question of - sharing changes with your collaborators. + Le coté technique du partage + + Le reste de ce chapitre est dévoué à la question du + partage des changements avec vos collaborateurs. - Informal sharing with <command role="hg-cmd">hg - serve</command> - - Mercurial's hg serve - command is wonderfully suited to small, tight-knit, and - fast-paced group environments. It also provides a great way to - get a feel for using Mercurial commands over a network. - - Run hg serve inside a - repository, and in under a second it will bring up a specialised - HTTP server; this will accept connections from any client, and - serve up data for that repository until you terminate it. - Anyone who knows the URL of the server you just started, and can - talk to your computer over the network, can then use a web - browser or Mercurial to read data from that repository. A URL - for a hg serve instance running - on a laptop is likely to look something like + Partage informel avec <command role="hg-cmd">hg + serve</command> + + La commande hg serve de + Mercurial est magnifiquement conçue pour un environnement de petit + groupe, soudé et rapide. Elle fournit aussi un très bon moyen d'avoir + un sentiment de l'utilisation des commandes Meruciral sur un + réseau. + + Exécutez hg serve à + l'intérieur d'un dépôtn et en moins d'une seconde, cela mettra en place + un serveur HTTP spécialisé ; qui va accepter les connexions de tout + client, et servir les donnée pour ce dépôt jusqu'à ce que vous le + terminiez. Toute personne qui connaît l'URL du serveur que vous venez + de démarrer, peut ensuite utiliser un navigateur web ou Mercurial pour + lire les données de ce dépôt. Une URL pour une instance exécutée de + hg serve sur un ordinateur portable + ressemblera vraissemblablement à http://my-laptop.local:8000/. - The hg serve command is - not a general-purpose web server. It can do - only two things: + La commande hg serve + n'est pas un serveur web + générique. Il ne peut faire que deux choses : - Allow people to browse the history of the - repository it's serving, from their normal web - browsers. + Autoriser les personnes à explorer + l'historique du dépôt qu'il rend accessible, à partir d'un + navigateur web normal. - Speak Mercurial's wire protocol, so that people - can hg clone or hg pull changes from that - repository. + Discuter à travers le protocole de + communication de Mercurial, ainsi, les personnes peuvent exécuter hg clone ou hg + pull sur les changements de ce dépôt. - In particular, hg serve - won't allow remote users to modify your - repository. It's intended for read-only use. - - If you're getting started with Mercurial, there's nothing to - prevent you from using hg serve - to serve up a repository on your own computer, then use commands - like hg clone, hg incoming, and so on to talk to that - server as if the repository was hosted remotely. This can help - you to quickly get acquainted with using commands on - network-hosted repositories. - - - A few things to keep in mind - - Because it provides unauthenticated read access to all - clients, you should only use hg - serve in an environment where you either don't - care, or have complete control over, who can access your - network and pull data from your repository. - - The hg serve command - knows nothing about any firewall software you might have - installed on your system or network. It cannot detect or - control your firewall software. If other people are unable to - talk to a running hg serve - instance, the second thing you should do - (after you make sure that they're using - the correct URL) is check your firewall configuration. - - By default, hg serve - listens for incoming connections on port 8000. If another - process is already listening on the port you want to use, you - can specify a different port to listen on using the option. - - Normally, when hg serve - starts, it prints no output, which can be a bit unnerving. If - you'd like to confirm that it is indeed running correctly, and - find out what URL you should send to your collaborators, start - it with the - option. + En particulier, hg serve + ne permettra pas aux utilisateurs distants de + modifier votre dépôt. C'est destiné à une + utilisation en lecture seule. + + Si vous commencez avec Mercurial, il n'y a rien qui vous + empèche d'utiliser hg serve pour + publier un dépôt sur votre ordinateur, utilisez ensuite des commandes + telles que hg clone, hg incoming, et ainsi de suite pour parler à + ce serveur comme si ce dépôt était hébergé à distance. Ceci peut vous + aider à rapidement familiarisé avec les commandes sur les dépôts + hébergés sur un réseau. + + + Quelques choses à garder à l'esprit + + Puisque ceci fournit un accès en lecture sans + authentification à tous les clients, vous devriez utiliser la + commande hg serve dans un + environnement dans lequel vous ne vous inquiétez pas ou où vous avez + tout contrôle sur qui peut avoir accès au réseau et récupérer les + données de votre dépôt. + + La commande hg serve + ne connaît sait rien sur un quelconque firewall que vous auriez + installé sur votre système ou réseau. Elle ne peut pas détecter ou + contrôler votre logiciel de pare-feu. Si d'autre personnes ont la + possibilité de dialoguer avec une instance de hg serve ma seconde chose que vous devriez + faire (après être sûr qu'ils utilisent l'URL + correcte) est de vérifier la configuration de votre firewall. + + Par défaut, hg serve + écoute pour les connexions entrantes sur le port 8000. Si un autre + processus est déjà en train d'écouter sur le port que vous voulez + écouter, vous pouvez spécifier un port différent sur lequel écouter à + l'aide de l'option . + + Normalement, lorsque hg + serve se lance, il n'affiche aucune sortie, ce qui peut + être un peu énervant. Si vous voulez une confirmation que tout s'est + déroulé correctement, et connaître l'URL que vous devriez fournir à + vos collaborateurs, démarrez avec l'option . - Using the Secure Shell (ssh) protocol - - You can pull and push changes securely over a network - connection using the Secure Shell (ssh) - protocol. To use this successfully, you may have to do a little - bit of configuration on the client or server sides. - - If you're not familiar with ssh, it's the name of - both a command and a network protocol that let you securely - communicate with another computer. To use it with Mercurial, - you'll be setting up one or more user accounts on a server so - that remote users can log in and execute commands. - - (If you are familiar with ssh, you'll - probably find some of the material that follows to be elementary - in nature.) - - - How to read and write ssh URLs - - An ssh URL tends to look like this: + Utiliser le protocole Secure Shell (ssh) + + Vous pouvez récupérer (pull) ou envoyer (push) des + changements de façon sécurisé au dessus d'une connexion utilisatnt le + protocole Secure Shell (ssh). Pour l'utiliser avec + succès, vous pouriez avoir à faire un peu de configuration du coté + client ou serveur. + + Si vous n'êtes pas familiers avec ssh, c'est le nom de + la commande et d'un protocole réseau qui vous permet d'établir une + communication sécurisée avec un autre ordinateur. Pour l'utiliser avec + Mercurial, vous allez configurer un ou plusieurs comptes utilisateur + sur un serveur, comme ça, les utilisateurs distants peuvent logger et + exécuter les commandes. + + (Si vous êtes familiers avec ssh, + vous allez probablement trouver quelques une des informations qui + suivent élémentaires par nature.) + + + Comment lire et écrire des URLs ssh + + Une URL ssh tent à ressembler à ceci : ssh://bos@hg.serpentine.com:22/hg/hgbook - The ssh:// - part tells Mercurial to use the ssh protocol. - - The bos@ - component indicates what username to log into the server - as. You can leave this out if the remote username is the - same as your local username. - - The - hg.serpentine.com gives - the hostname of the server to log into. - - The :22 identifies the port - number to connect to the server on. The default port is - 22, so you only need to specify a colon and port number if - you're not using port 22. - - The remainder of the URL is the local path to - the repository on the server. - - - There's plenty of scope for confusion with the path - component of ssh URLs, as there is no standard way for tools - to interpret it. Some programs behave differently than others - when dealing with these paths. This isn't an ideal situation, - but it's unlikely to change. Please read the following - paragraphs carefully. - - Mercurial treats the path to a repository on the server as - relative to the remote user's home directory. For example, if - user foo on the server has a home directory - of /home/foo, then an - ssh URL that contains a path component of bar really - refers to the directory /home/foo/bar. - - If you want to specify a path relative to another user's - home directory, you can use a path that starts with a tilde - character followed by the user's name (let's call them - otheruser), like this. + Le préfixe + ssh:// dit à Mercurial + d'utiliser le protocole ssh. + + Le composant + bos@ indique que le nom + d'utilisateur à logger sur le serveur. Vous pouvez le laisser + vide si le nom d'utilisateur sur le serveur distant est le même + que localement. + + La partie + hg.serpentine.com donne le nom + d'hôte du serveur sur lequel se logger. + + Le :22 identifie le numéro + de port où se connecter au serveur. Le port par défaut est 22, + donc vous n'avez besoin de spécifier ceci que si vous + n'utilisez pas le port + 22. + + Le reste de l'URL est le chemin local du + dépôt sur le serveur. + + Il y a beaucoup de place pour la confusion sur le + chemin du composant d'une URL ssh puisqu'il n'y a pas de façon + standard pour les outils de l'intérpréter. Certains programmes se + comportent différemment des autres lorsqu'ils traient ces chemins. Il + ne s'agit pas d'une situation idéale, mais ce n'est pas prêt de + changer. Lisez SVP les prochains paragraphes avec attention. + + Mercurial traite le chemin vers un dépôt sur le + serveur comme relatif au répertoire personnel de l'utilisateur sur le + serveur distant. Par exemple, si un utilisateur + foo sur le serveur a un répertoire personnel + /home/foo, alors l'URL ssh qui + vientient un composant chemin de bar réfère en + réalité au répertoire /home/foo/bar. + + Si vous voulez spécifier un chemin relatif à au + répertoire personnel d'un autre utilisateur, vous pouvez préciser un + chemin qui commence à l'aide du caractère tilde suivit du nom de + l'utilisateur (appelons le otheruser), + ainsi. ssh://server/~otheruser/hg/repo - And if you really want to specify an - absolute path on the server, begin the - path component with two slashes, as in this example. + Et si vous voulez vraiment spécifier un chemin + absolu sur le serveur, débutez la composante + chemin par deux slashs comme dans cet exemple. ssh://server//absolute/path - Finding an ssh client for your system - - Almost every Unix-like system comes with OpenSSH - preinstalled. If you're using such a system, run - which ssh to find out if the - ssh command is installed (it's usually in - /usr/bin). In the - unlikely event that it isn't present, take a look at your - system documentation to figure out how to install it. - - On Windows, the TortoiseHg package is bundled - with a version of Simon Tatham's excellent - plink command, and you should not need to - do any further configuration. - - - - Generating a key pair - - To avoid the need to repetitively type a - password every time you need to use your ssh client, I - recommend generating a key pair. + Trouver un client ssh pour votre système + + La plupart des systèmes du type Unix arrivent avec + OpenSSH préinstallé. Si vous utilisez un tel système, utilisez + which ssh pour trouver où la commande + ssh est installée (il s'agit généralement de + /usr/bin). Dans le cas peu + probable où il ne serait pas présent, regarder à la documentation de + votre système pour voir comment l'installer. + + Sous Windows, le packetage ToirtoiseHg est livré avec + une version de l'excellente commande plink de + Simon Tatham's, et ne devrait pas avoir besoin de plus de + configuration. + + + + Générer une paire de clef + + Pour éviter d'avoir à chaque fois taper un mot de + passe lorsque vous utilisez votre client ssh, je recommande le fait + de générer une paire de clefs. - Key pairs are not mandatory - - Mercurial knows nothing about ssh authentication or key - pairs. You can, if you like, safely ignore this section and - the one that follows until you grow tired of repeatedly - typing ssh passwords. + Les paires de clefs ne sont pas obligatoires + + Mercurial ne sait rien du tout de l'authentification + de ssh ou de la paire de clefs. Vous pouvez, si vous le désirez, + ignorer sans risque cette section et ce qu'il suit jusqu'à ce que + vous soyez fatigué de constament retaper des mots de passe + ssh. - - On a Unix-like system, the - ssh-keygen command will do the - trick. - On Windows, if you're using TortoiseHg, you may need - to download a command named puttygen - from the - PuTTY web site to generate a key pair. See - the - puttygen documentation for - details of how use the command. - + Sur un système de type Unix, la commande + ssh-keygen fera l'affaire. + Sous Windows, si vous utilisez + ToirtoiseHg, vous devriez avoir besoin de télécharger la commande + nommée puttygen à partir du site + web de PuTTY pour générer une paire de clefs. Référez + vous à la + documentation puttygen pour les + détails sur l'utilisation de cette commande. - When you generate a key pair, it's usually - highly advisable to protect it with a - passphrase. (The only time that you might not want to do this - is when you're using the ssh protocol for automated tasks on a - secure network.) - - Simply generating a key pair isn't enough, however. - You'll need to add the public key to the set of authorised - keys for whatever user you're logging in remotely as. For - servers using OpenSSH (the vast majority), this will mean - adding the public key to a list in a file called authorized_keys in their .ssh - directory. - - On a Unix-like system, your public key will have a - .pub extension. If you're using - puttygen on Windows, you can save the - public key to a file of your choosing, or paste it from the - window it's displayed in straight into the authorized_keys file. - - - Using an authentication agent - - An authentication agent is a daemon that stores - passphrases in memory (so it will forget passphrases if you - log out and log back in again). An ssh client will notice if - it's running, and query it for a passphrase. If there's no - authentication agent running, or the agent doesn't store the - necessary passphrase, you'll have to type your passphrase - every time Mercurial tries to communicate with a server on - your behalf (e.g. whenever you pull or push changes). - - The downside of storing passphrases in an agent is that - it's possible for a well-prepared attacker to recover the - plain text of your passphrases, in some cases even if your - system has been power-cycled. You should make your own - judgment as to whether this is an acceptable risk. It - certainly saves a lot of repeated typing. + Lorsque vous générez une paire de clefs, il est + habituellement autement recommendé de la + protéger avec un mot de passe. (Le seul moment où vous pourriez ne + pas devoir le faire est lorsque vous utilisez le protocole ssh pour + des tâches automatisées sur un réseau sécurisé.) + + Le simple fait de générer une paire de clefs n'est + cependant pas suffisent. Vous aurez besoin d'ajouter la clef publique + à l'ensemble des clefs authorisées pour tout utilisateur que vous + utilisez pour vous connecter à distance. Pour les serveurs utilisant + OpenSSh (la grande majorité), ceci voudra dire d'ajouter la clef + publique à la liste dans un fichier appelé authorized_keys dans leur répertoire + .ssh. + + Sur un système de type Unix, votre clef publique aura + l'extension .pub. Si vous utilisez la commande + puttygen sous Windows, vous pouvez sauvegarder la + clef publique dans un fichier que vous choisissez ou la copier à + partir de la fenêtre qui apparait directement dans le fichier + authorized_keys. + + + Utiliser un agent d'authentification + + Un agent d'authentification est un démon qui + enregistre les mots de passe en mémoire (il oublira ainsi les mots de + passe si vous vous déloggez et reloggez). Un client ssh sera averti + si un tel agent est en fonctionnement, et lui demandera un mot de + passe. S'il n'y a pas d'agent en fonctionnement, ou si l'agent ne + connaît pas le mot de passe nécessaire, vous aurez à taper votre mot + de passe chaque fois que Mercurial tente de communiquer avec un + serveur en votre nom (ex. lorsque vous faite un pull ou un push sur + des changements). + + L'inconveignant de sauvegarder les mots de passes dans + un agent est qu'il est possible pour un attaquant bien préparé de + retrouver le mot de passe clair, dans certains cas, même si votre + système a été redémarré. Vous devriez vous faire votre propre + jugement pour savoir si ce risque est acceptable. Ceci vous exempte + certainement d'un tas de répétitions. - - On Unix-like systems, the agent is called - ssh-agent, and it's often run - automatically for you when you log in. You'll need to use - the ssh-add command to add passphrases - to the agent's store. - - - On Windows, if you're using TortoiseHg, the - pageant command acts as the agent. As - with puttygen, you'll need to download - pageant from the PuTTY web - site and read its - documentation. The pageant - command adds an icon to your system tray that will let you - manage stored passphrases. - + Sur les systèmes de type Unix, l'agent + est appelé ssh-agent, et est souvent lancé + automatiquement pour vous lorsque vous vous loggez. Vous aurez + besoin d'utiliser la commande ssh-add pour + ajouter des mots de passe à l'entrepôt de l'agent. + + + Sous Windows, si vous utilisez ToirtoiseHg, la + commande pageant agit comme un agent. Comme + avec puttygen, vous aurez besoin de télécharger + pageant à partir du site web de + PuTTY et lire sa + documentation. La commande pageant + ajoute une icône à votre barre de tâches qui vous permettra de + gérer les mots de passe stockés. + - + Configuring the server side properly @@ -806,7 +815,6 @@ on (usually 22). Don't worry about more exotic possibilities for misconfiguration until you've checked these two first. - If you're using an authentication agent on the client side to store passphrases for your keys, you ought to be able to log into the server without being prompted for a passphrase or