en to fr translation catalogue (35 entries)

note: type: Content of: <sect1><title>
en: Package Management
fr: Gestion de paquets

note: type: Content of: <sect1><para>
en: Package Management is an often requested addition to the LFS Book. A Package Manager allows tracking the installation of files making it easy to remove and upgrade packages.  And before you begin to wonder, NO&mdash;this section does not talk about any particular package manager, nor does it recommend one. What it provides is a roundup of the more popular techniques and how they work. The perfect package manager for you may be among these techniques or may be a combination of two or more of these techniques. This section briefly mentions issues that may arise when upgrading packages.
fr: La gestion de paquets est un ajout souvent demandé au livre LFS. Un gestionnaire de paquets permet de conserver une trace des fichiers installés, simplifiant ainsi la suppression ou la mise à jour des paquets. Avant toute chose, NON, cette section ne parle pas d'un gestionnaire de paquets particulier ni n'en recommande un. Elle fait une analyse des techniques les plus populaires et leur fonctionnement. Le gestionnaire de paquets parfait pourrait faire partie de ces techniques ou pourrait être une combinaison d'une ou plusieurs techniques. Cette section mentionne brièvement les problèmes pouvant survenir lors de la mise à jour des paquets.

note: type: Content of: <sect1><para>
en: Some reasons why no package manager is mentioned in LFS or BLFS:
fr: Quelques raisons de l'absence de mention d'un gestionnaire de paquets dans LFS ou BLFS&nbsp;:

note: type: Content of: <sect1><itemizedlist><listitem><para>
en: Dealing with package management takes the focus away from the goals of these books&mdash;teaching how a Linux system is built.
fr: S'occuper de la gestion de paquets détourne l’attention des objectifs de ces livres qui est l’enseignement de la construction d’un système Linux.

note: type: Content of: <sect1><itemizedlist><listitem><para>
en: There are multiple solutions for package management, each having its strengths and drawbacks. Including one that satisfies all audiences is difficult.
fr: Il existe de nombreuses solutions pour la gestion de paquets. Chacune ayant ses forces et ses faiblesses, en inclure une qui satisfera tout le monde est difficile.

note: type: Content of: <sect1><para>
en: There are some hints written on the topic of package management. Visit the <ulink url="&hints-root;">Hints subproject</ulink> and see if one of them fits your need.
fr: Des astuces ont été rédigées sur le thème de la gestion de paquets. Visitez le <ulink url="&hints-root;">sous-projet des astuces</ulink> et voyez celui qui satisfait vos besoins.

note: type: Content of: <sect1><sect2><title>
en: Upgrade Issues
fr: Problèmes de mise à jour

note: type: Content of: <sect1><sect2><para>
en: A Package Manager makes it easy to upgrade to newer versions when they are released. Generally the instructions in the LFS and BLFS Book can be used to upgrade to the newer versions. Here are some points that you should be aware of when upgrading packages, especially on a running system.
fr: Un gestionnaire de paquets facilite les mises à jour vers les nouvelles versions au moment de leur sortie. Généralement, les instructions dans les livres LFS et BLFS peuvent être utilisées pour mettre à jour vers les nouvelles versions. Voici quelques points à connaître lors d’une mise à jour de paquets, spécialement sur un système en cours d’exécution.

note: type: Content of: <sect1><sect2><itemizedlist><listitem><para>
en: If one of the toolchain packages (<application>Glibc</application>, <application>GCC</application> or <application>Binutils</application>) needs to be upgraded to a newer minor version, it is safer to rebuild LFS. Though you <emphasis>may</emphasis> be able to get by rebuilding all the packages in their dependency order, we do not recommend it. For example, if glibc-2.2.x needs to be updated to glibc-2.3.x, it is safer to rebuild.  For micro version updates, a simple reinstallation usually works, but is not guaranteed. For example, upgrading from glibc-2.3.4 to glibc-2.3.5 will not usually cause any problems.
fr: Si un des paquets de l'ensemble d'outils (<application>Glibc</application>, <application>GCC</application> ou <application>Binutils</application>) doit être mis à jour avec une nouvelle version mineure, il est plus sûr de reconstruire LFS. Bien que vous <emphasis>pourriez</emphasis> être capable de reconstruire tous les paquets dans leur ordre de dépendances, nous ne le recommandons pas. Par exemple, si glibc-2.2.x a besoin d'être mis à jour vers glibc-2.3.x, il est préférable de reconstruire. Pour les mises à jour encore plus mineures, une simple réinstallation fonctionne généralement mais cela n'est pas garanti. Par exemple, mettre à jour de glibc-2.3.4 à glibc-2.3.5 ne causera en général aucun problème.

note: type: Content of: <sect1><sect2><itemizedlist><listitem><para>
en: If a package containing a shared library is updated, and if the name of the library changes, then all the packages dynamically linked to the library need to be recompiled to link against the newer library.  (Note that there is no correlation between the package version and the name of the library.) For example, consider a package foo-1.2.3 that installs a shared library with name <filename class='libraryfile'>libfoo.so.1</filename>. Say you upgrade the package to a newer version foo-1.2.4 that installs a shared library with name <filename class='libraryfile'>libfoo.so.2</filename>. In this case, all packages that are dynamically linked to <filename class='libraryfile'>libfoo.so.1</filename> need to be recompiled to link against <filename class='libraryfile'>libfoo.so.2</filename>. Note that you should not remove the previous libraries until the dependent packages are recompiled.
fr: Si un paquet contenant une bibliothèque partagée est mis à jour et si le nom de cette dernière est modifié, alors tous les paquets liés dynamiquement à la bibliothèque devront être recompilés pour être liés à la nouvelle bibliothèque. (Remarquez qu'il n'y a aucune corrélation entre la version du paquet et le nom de la bibliothèque.) Par exemple, imaginez un paquet foo-1.2.3 qui installe une bibliothèque partagée de nom <filename class='libraryfile'>libtoto.so.1</filename>. Disons que vous mettez à jour le paquet avec une nouvelle version foo-1.2.4 qui installe une bibliothèque partagée de nom <filename class='libraryfile'>libtoto.so.2</filename>. Dans ce cas, tous les paquets liés dynamiquement à <filename class='libraryfile'>libtoto.so.1</filename> doivent être recompilés pour être liés à <filename class='libraryfile'>libtoto.so.2</filename>. Remarquez que vous ne devriez pas supprimer les anciennes bibliothèques jusqu'à ce que les paquets dépendants soient recompilés.

note: type: Content of: <sect1><sect2><itemizedlist><listitem><para>
en: If you are upgrading a running system, be on the lookout for packages that use <command>cp</command> instead of <command>install</command> to install files. The latter command is usually safer if the executable or library is already loaded in memory.
fr: Si vous mettez à jour un système en cours d’exécution, cherchez des paquets qui utilisent <command>cp</command> à la place de <command>install</command> pour installer des fichiers. La dernière commande est en général plus sûre si l'exécutable ou la bibliothèque est déjà chargé en mémoire.

note: type: Content of: <sect1><sect2><title>
en: Package Management Techniques
fr: Techniques de gestion de paquets

note: type: Content of: <sect1><sect2><para>
en: The following are some common package management techniques. Before making a decision on a package manager, do some research on the various techniques, particularly the drawbacks of the particular scheme.
fr: Voici une liste de techniques habituelles de gestion de paquets. Avant de vous décider sur un gestionnaire de paquets, faites une recherche sur les différentes techniques et notamment leurs faiblesses.

note: type: Content of: <sect1><sect2><sect3><title>
en: It is All in My Head!
fr: Tout est dans ma tête&nbsp;!

note: type: Content of: <sect1><sect2><sect3><para>
en: Yes, this is a package management technique. Some folks do not find the need for a package manager because they know the packages intimately and know what files are installed by each package. Some users also do not need any package management because they plan on rebuilding the entire system when a package is changed.
fr: Oui, c'est une technique de gestion de paquets. Certains n'éprouvent pas le besoin d'utiliser un gestionnaire de paquets parce qu'ils connaissent très bien les paquets et connaissent les fichiers installés par chaque paquet. Certains utilisateurs n'en ont pas besoin parce qu'ils prévoient de reconstruire entièrement LFS lorsqu'un paquet est modifié.

note: type: Content of: <sect1><sect2><sect3><title>
en: Install in Separate Directories
fr: Installer dans des répertoires séparés

note: type: Content of: <sect1><sect2><sect3><para>
en: This is a simplistic package management that does not need any extra package to manage the installations. Each package is installed in a separate directory. For example, package foo-1.1 is installed in <filename class='directory'>/usr/pkg/foo-1.1</filename> and a symlink is made from <filename>/usr/pkg/foo</filename> to <filename class='directory'>/usr/pkg/foo-1.1</filename>. When installing a new version foo-1.2, it is installed in <filename class='directory'>/usr/pkg/foo-1.2</filename> and the previous symlink is replaced by a symlink to the new version.
fr: C'est une gestion des paquets simple qui ne nécessite aucun paquet supplémentaire pour gérer les installations. Chaque paquet est installé dans un répertoire séparé. Par exemple, le paquet foo-1.1 est installé dans <filename class='directory'>/usr/pkg/foo-1.1</filename> et un lien symbolique est créé de <filename>/usr/pkg/foo</filename> vers <filename class='directory'>/usr/pkg/foo-1.1</filename>. Lors de l'installation de la nouvelle version foo-1.2, elle est installée dans <filename class='directory'>/usr/pkg/foo-1.2</filename> et l'ancien lien symbolique est remplacé par un lien symbolique vers la nouvelle version.

note: type: Content of: <sect1><sect2><sect3><para>
en: The environment variables such as those mentioned in <quote><xref linkend="beyond"/></quote> need to be expanded to include <filename>/usr/pkg/foo</filename>. For more than a few packages, this scheme becomes unmanageable.
fr: Les variables d'environnement telles que celles indiquées dans <quote><xref linkend="beyond"/></quote> ont besoin d'être étendues pour inclure <filename>/usr/pkg/foo</filename>. Ce schéma devient ingérable dans le cas d’un trop gros nombre de paquets.

note: type: Content of: <sect1><sect2><sect3><title>
en: Symlink Style Package Management
fr: Gestion de paquet par lien symbolique

note: type: Content of: <sect1><sect2><sect3><para>
en: This is a variation of the previous package management technique.  Each package is installed similar to the previous scheme. But instead of making the symlink, each file is symlinked into the <filename class='directory'>/usr</filename> hierarchy. This removes the need to expand the environment variables. Though the symlinks can be created by the user to automate the creation, many package managers have been written using this approach. A few of the popular ones are Stow, Epkg, Graft, and Depot.
fr: C'est une variante de la technique précédente. Chaque paquet est installé de façon similaire au schéma précédent. Mais au lieu de réaliser le lien symbolique, chaque fichier dispose d'un lien symbolique vers son équivalent dans la hiérarchie <filename class='directory'>/usr</filename>. Ceci supprime le besoin d'étendre les variables d'environnement. Bien que les liens symboliques puissent être créés par l'utilisateur, pour en automatiser la création, certains gestionnaires de paquets ont été écrits avec cette approche. Parmi les plus populaires se trouvent Stow, Epkg, Graft et Depot.

note: type: Content of: <sect1><sect2><sect3><para>
en: The installation needs to be faked, so that the package thinks that it is installed in <filename class="directory">/usr</filename> though in reality it is installed in the <filename class="directory">/usr/pkg</filename> hierarchy.  Installing in this manner is not usually a trivial task. For example, consider that you are installing a package libfoo-1.1. The following instructions may not install the package properly:
fr: L'installation doit être faussée, de façon à ce que chaque paquet pense qu'il est installé dans <filename class="directory">/usr</filename> alors qu'en réalité il est installé dans la hiérarchie <filename class="directory">/usr/pkg</filename>. Installer de cette manière n'est généralement pas une tâche aisée. Par exemple, imaginez que vous installez un paquet libtoto-1.1. Les instructions suivantes pourraient ne pas installer correctement le paquet&nbsp;:

note: type: Content of: <sect1><sect2><sect3><screen>
en: <userinput>./configure --prefix=/usr/pkg/libfoo/1.1
    make
    make install</userinput>
fr: <userinput>./configure --prefix=/usr/pkg/libtoto/1.1
    make
    make install</userinput>

note: type: Content of: <sect1><sect2><sect3><para>
en: The installation will work, but the dependent packages may not link to libfoo as you would expect. If you compile a package that links against libfoo, you may notice that it is linked to <filename class='libraryfile'>/usr/pkg/libfoo/1.1/lib/libfoo.so.1</filename> instead of <filename class='libraryfile'>/usr/lib/libfoo.so.1</filename> as you would expect. The correct approach is to use <envar>DESTDIR</envar> strategy to fake installation of the package. This approach works as follows:
fr: L'installation fonctionnera mais les paquets dépendants pourraient ne pas lier libtoto comme vous vous y attendriez. Si vous compilez un paquet qui se lie à libtoto, vous pourrez remarquer qu'il se lie à <filename class='libraryfile'>/usr/pkg/libtoto/1.1/lib/libtoto.so.1</filename> au lieu de <filename class='libraryfile'>/usr/lib/libtoto.so.1</filename> comme vous le prévoyiez. La bonne approche est d'utiliser la stratégie <envar>DESTDIR</envar> pour fausser l'installation du paquet. Cette approche fonctionne ainsi&nbsp;:

note: type: Content of: <sect1><sect2><sect3><screen>
en: <userinput>./configure --prefix=/usr
    make
    make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput>
fr: <userinput>./configure --prefix=/usr
    make
    make DESTDIR=/usr/pkg/libtoto/1.1 install</userinput>

note: type: Content of: <sect1><sect2><sect3><para>
en: Most of the packages do support this approach, but there are some which do not. For the non-compliant packages, you may either need to manually install the package, or you may find that it is easier to install some problematic packages into <filename class='directory'>/opt</filename>.
fr: La plupart des paquets prennent en charge cette approche mais elle pose problème à certains. Pour les paquets non compatibles, vous devrez les installer manuellement, ou alors vous pouvez trouver plus simple d'installer les paquets problématiques dans <filename class='directory'>/opt</filename>.

note: type: Content of: <sect1><sect2><sect3><title>
en: Timestamp Based
fr: Basé sur l'horodatage

note: type: Content of: <sect1><sect2><sect3><para>
en: In this technique, a file is timestamped before the installation of the package. After the installation, a simple use of the <command>find</command> command with the appropriate options can generate a log of all the files installed after the timestamp file was created. A package manager written with this approach is install-log.
fr: Avec cette technique, un fichier est horodaté avant l'installation du paquet. Après l'installation, une simple utilisation de la commande <command>find</command> avec les options appropriées peut générer un journal de tous les fichiers installés après la création du fichier horodaté. install-log est un gestionnaire de paquets écrit avec cette approche.

note: type: Content of: <sect1><sect2><sect3><para>
en: Though this scheme has the advantage of being simple, it has two drawbacks.  If during installation, the files are installed with any timestamp other than the current time, those files will not be tracked by the package manager. Also, this scheme can only be used when one package is installed at a time. The logs are not reliable if two packages are being installed on two different consoles.
fr: Bien que ce schéma a l'avantage d'être simple, il a deux inconvénients. Si à l'installation, les fichiers sont installés avec un horodatage autre que celui de l'heure actuelle, ces fichiers ne seront pas suivis par le gestionnaire de paquets. De plus, ce schéma peut seulement être utilisé lorsqu'un seul paquet est installé à la fois. Les registres ne sont pas fiables si deux paquets sont installés dans deux consoles différentes.

note: type: Content of: <sect1><sect2><sect3><title>
en: LD_PRELOAD Based
fr: Basé sur LD_PRELOAD

note: type: Content of: <sect1><sect2><sect3><para>
en: In this approach, a library is preloaded before installation. During installation, this library tracks the packages that are being installed by attaching itself to various executables such as <command>cp</command>, <command>install</command>, <command>mv</command> and tracking the system calls that modify the filesystem. For this approach to work, all the executables need to be dynamically linked without the suid or sgid bit. Preloading the library may cause some unwanted side-effects during installation. Therefore, do perform some tests to ensure that the package manager does not break anything and logs all the appropriate files.
fr: Avec cette approche, une bibliothèque est préchargée avant l'installation. Pendant l'installation, cette bibliothèque suit les paquets qui sont installés en s'attachant à divers exécutables tels que <command>cp</command>, <command>install</command>, <command>mv</command> et en suivant les appels système qui modifient le système de fichiers. Pour que cette approche fonctionne, tous les exécutables doivent être liés de façon dynamique sans le bit suid ou sgid (id super utilisateur ou super groupe). Le préchargement de la bibliothèque peut provoquer des effets indésirables pendant l'installation. Effectuez donc des tests pour vous assurer que le gestionnaire de paquets ne casse rien et journalise tous les fichiers adéquats.

note: type: Content of: <sect1><sect2><sect3><title>
en: Creating Package Archives
fr: Créer des archives de paquets

note: type: Content of: <sect1><sect2><sect3><para>
en: In this scheme, the package installation is faked into a separate tree as described in the Symlink style package management. After the installation, a package archive is created using the installed files.  This archive is then used to install the package either on the local machine or can even be used to install the package on other machines.
fr: Dans ce schéma, l'installation d'un paquet est faussée dans un répertoire séparé comme précédemment décrit dans la gestion de paquet par lien symbolique. Après l'installation, une archive du paquet est créée en utilisant les fichiers installés. L'archive est ensuite utilisée pour installer le paquet sur la machine locale voire même sur d'autres machines.

note: type: Content of: <sect1><sect2><sect3><para>
en: This approach is used by most of the package managers found in the commercial distributions. Examples of package managers that follow this approach are RPM, pkg-utils, Debian's apt, and Gentoo's Portage system.
fr: Cette approche est utilisée par la plupart des gestionnaires de paquets trouvés dans les distributions commerciales. Les exemples de gestionnaires qui suivent cette approche sont RPM, pkg-utils, apt de Debian et le système Portage de Gentoo.

note: type: Content of: <sect1><sect2><sect3><title>
en: User Based Management
fr: Gestion basée sur les utilisateurs

note: type: Content of: <sect1><sect2><sect3><para>
en: This scheme, unique to LFS, was devised by Matthias Benkmann, and is available from the <ulink url="&hints-root;">Hints Project</ulink>. In this scheme, each package is installed as a separate user into the standard locations. Files belonging to a package are easily identified by checking the user ID. The features and shortcomings of this approach are too complex to describe in this section. For the details please see the hint at <ulink url="&hints-root;/downloads/files/more_control_and_pkg_man.txt"/>.
fr: Ce schéma, unique à LFS, a été décrit par Matthias Benkmann et est disponible sur le <ulink url="&hints-root;">Projet des astuces</ulink>. Dans ce schéma, chaque paquet est installé en tant qu'utilisateur séparé dans les emplacements standards. Les fichiers appartenant à un paquet sont facilement identifiés grâce à l'identifiant de l'utilisateur. Les fonctionnalités et avantages de cette approche sont trop complexes pour les décrire dans cette section. Pour plus de détails, voir l'astuce sur <ulink url="&hints-root;/downloads/files/more_control_and_pkg_man.txt"/>.
