<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Composants communautaires PostgreSQL on PIG.CENTER</title><link>https://pig.center/fr/</link><description>Recent content in Composants communautaires PostgreSQL on PIG.CENTER</description><generator>Hugo</generator><language>fr-FR</language><lastBuildDate>Tue, 08 Sep 2026 21:29:01 +0800</lastBuildDate><atom:link href="https://pig.center/fr/index.xml" rel="self" type="application/rss+xml"/><item><title>Notes de version pgBadger 13.x</title><link>https://pig.center/fr/docs/pgbadger/releases/13/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbadger/releases/13/</guid><description>&lt;p&gt;Ces entrées conservent l’intégralité de l&amp;rsquo;historique des modifications upstream pour pgBadger 13.x, du plus récent au plus ancien.&lt;/p&gt;&#10;&lt;h2 id="v13-2"&gt;v13.2 · 2025-12-29&#10;&lt;/h2&gt;&#10;&lt;p&gt;Il s&amp;rsquo;agit d&amp;rsquo;une version de maintenance de pgBadger qui corrige des problèmes et applique des correctifs signalés par les utilisateurs depuis la dernière version.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Corriger la normalisation qui ne traitait pas correctement les chaînes entre guillemets simples équilibrées, y compris les guillemets échappés à l&amp;rsquo;intérieur. Remerciements à Bertrand Bourgier pour le rapport.&lt;/li&gt;&#10;&lt;li&gt;Corriger les exigences relatives aux espaces réservés dans la documentation.&lt;/li&gt;&#10;&lt;li&gt;Corriger le cas où aucune entrée d&amp;rsquo;exemple d&amp;rsquo;erreur n&amp;rsquo;était rapportée. Remerciements à john doe pour le rapport.&lt;/li&gt;&#10;&lt;li&gt;Corriger un problème potentiel de priorité entre ! et %s. Remerciements à Luca Santarelli et Philipp Trulson pour le rapport.&lt;/li&gt;&#10;&lt;li&gt;Mettre à jour le code pgFormatter à la version 5.9&lt;/li&gt;&#10;&lt;li&gt;Ajouter une action CI GitHub pour le test lors de la poussée de commit.&lt;/li&gt;&#10;&lt;li&gt;Corriger l&amp;rsquo;analyse du placeholder %r dans log_line_prefix. Remerciements à nike7o0 pour le rapport.&lt;/li&gt;&#10;&lt;li&gt;Corriger l&amp;rsquo;avertissement relatif à une valeur non initialisée. Remerciements à Ales Zeleny pour le rapport.&lt;/li&gt;&#10;&lt;li&gt;Améliorer la documentation des options SSH pour l&amp;rsquo;analyse des journaux PostgreSQL avec des exemples. Remerciements à Ulrich Konrad pour le correctif.&lt;/li&gt;&#10;&lt;li&gt;Ajouter la commande &amp;ndash;ssh-sudo pour exécuter des commandes en SSH en tant que sudo. Remerciements à Andrew Jackson pour le correctif.&lt;/li&gt;&#10;&lt;li&gt;Corriger un problème potentiel de priorité entre ! et l&amp;rsquo;égalité de chaîne. Remerciements à Adrien Nayrat pour le rapport.&lt;/li&gt;&#10;&lt;li&gt;Corriger l&amp;rsquo;analyse des statistiques de pgbouncer. Remerciements à mrgtt pour le rapport.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="v13-1"&gt;v13.1 · 2025-03-16&#10;&lt;/h2&gt;&#10;&lt;p&gt;Il s&amp;rsquo;agit d&amp;rsquo;une version de maintenance de pgBadger qui corrige des problèmes signalés par les utilisateurs depuis la dernière version et ajoute certaines nouvelles fonctionnalités :&lt;/p&gt;</description></item><item><title>Actualités</title><link>https://pig.center/fr/docs/pgbackrest/news/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/news/</guid><description>&lt;hr&gt;&#10;&lt;h2 id="release-2-59-1"&gt;pgBackRest 2.59.1 publié&#10;&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;17 août 2026&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;La communauté pgBackRest est heureuse d&amp;rsquo;annoncer la sortie de &lt;a href="https://pgbackrest.org"&gt;pgBackRest&lt;/a&gt;&#10; 2.59.1, la dernière version de la solution fiable, facile à utiliser, de sauvegarde et de restauration, pouvant s&amp;rsquo;adapter sans heurt aux plus grandes bases de données et charges de travail.&lt;/p&gt;&#10;&lt;p&gt;pgBackRest prend en charge un ensemble complet de fonctionnalités pour gérer votre infrastructure de sauvegarde et de récupération, notamment : sauvegarde/restauration en parallèle, sauvegardes complètes/différentielles/sauvegardes incrémentielles, sauvegarde incrémentielle par bloc, plusieurs dépôts, restauration par delta, archivage asynchrone en parallèle, protection contre les logiciels malveillants/rançongiciels, sommes de contrôle par fichier, sommes de contrôle par page (lorsqu’activées) validées pendant la sauvegarde, plusieurs types de compression, chiffrement, reprise partielle/échouée de sauvegarde, sauvegarde depuis un serveur secondaire, prise en charge des espaces de table et des liens, prise en charge de S3/Azure/GCS/SFTP, expiration des sauvegardes, opérations locales/distantes via SSH ou TLS, configuration flexible, et bien plus encore.&lt;/p&gt;</description></item><item><title>Commande d'annotation (annotate)</title><link>https://pig.center/fr/docs/pgbackrest/command/annotate/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/command/annotate/</guid><description>&lt;p&gt;Les annotations incluses avec la commande &lt;code&gt;backup&lt;/code&gt; peuvent être ajoutées, modifiées ou supprimées ultérieurement à l&amp;rsquo;aide de la commande &lt;code&gt;annotate&lt;/code&gt;.&lt;/p&gt;&#10;&lt;h2 id="command-options"&gt;Options de commande&#10;&lt;/h2&gt;&#10;&lt;h3 id="backup-annotation-option---annotation"&gt;Option d&amp;rsquo;annotation de sauvegarde (&lt;code&gt;--annotation&lt;/code&gt;)&#10;&lt;/h3&gt;&#10;&lt;p&gt;Ajoutez des paires clé/valeur définies par l&amp;rsquo;utilisateur à la sauvegarde.&lt;/p&gt;&#10;&lt;p&gt;Les utilisateurs peuvent attacher des paires clé/valeur explicatives à la sauvegarde. Cette option peut être utilisée plusieurs fois pour attacher plusieurs annotations.&lt;/p&gt;</description></item><item><title>Paramètres de configuration dynamique</title><link>https://pig.center/fr/docs/patroni/config/dynamic/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/config/dynamic/</guid><description>&lt;p&gt;&lt;a id="dynamic"&gt;&lt;/a&gt;&#10;La configuration dynamique est stockée dans le magasin de configuration distribué (DCS) et appliquée sur tous les nœuds du cluster.&lt;/p&gt;&#10;&lt;p&gt;Pour modifier la configuration dynamique, vous pouvez utiliser soit l&amp;rsquo;outil &lt;a href="https://pig.center/fr/docs/patroni/patronictl/#patronictl_edit_config"&gt;patronictl_edit_config&lt;/a&gt;&#10;, soit l&amp;rsquo;API REST de Patroni &lt;a href="https://pig.center/fr/docs/patroni/rest_api/#rest_api"&gt;REST API&lt;/a&gt;&#10;.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;loop_wait&lt;/strong&gt; : nombre de secondes pendant lesquelles la boucle s&amp;rsquo;endort. Valeur par défaut : 10, valeur minimale possible : 1&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;ttl&lt;/strong&gt; : durée de vie du verrou de leader (en secondes). Pensez-y comme la durée avant le déclenchement du processus de basculement automatique. Valeur par défaut : 30, valeur minimale possible : 20&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;retry_timeout&lt;/strong&gt; : délai d&amp;rsquo;attente pour les nouvelles tentatives des opérations DCS et PostgreSQL (en secondes). Les problèmes DCS ou réseau de durée inférieure à cette valeur ne provoqueront pas la désactivation du leader par Patroni. Valeur par défaut : 10, valeur minimale possible : 3&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;[!AVERTISSEMENT]&lt;/p&gt;</description></item><item><title>Paramètres de configuration YAML</title><link>https://pig.center/fr/docs/patroni/config/yaml/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/config/yaml/</guid><description>&lt;p&gt;&lt;a id="yaml"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="globaluniversal"&gt;Global/Universel&#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;thread_pool_size&lt;/strong&gt; : taille du pool de threads utilisé par Patroni pour exécuter les tâches asynchrones et communiquer via l&amp;rsquo;API REST avec les autres membres lors d&amp;rsquo;une course au leader ou lors de vérifications en mode d&amp;rsquo;urgence. Valeur minimale : &lt;code&gt;5&lt;/code&gt;, valeur par défaut : &lt;code&gt;5&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;thread_stack_size&lt;/strong&gt; : spécifie la taille de la pile à utiliser pour les threads lancés par Patroni. La valeur doit être alignée sur &lt;code&gt;64kB&lt;/code&gt;. Valeur minimale : &lt;code&gt;64kB&lt;/code&gt;, valeur par défaut (définie par Patroni) : &lt;code&gt;512kB&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;name&lt;/strong&gt; : le nom de l&amp;rsquo;hôte. Doit être unique dans le cluster. La valeur &lt;code&gt;__patroni_strict_sync_replica_placeholder__&lt;/code&gt; est réservée à une utilisation interne par Patroni et ne peut pas être utilisée comme nom de nœud.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;namespace&lt;/strong&gt; : chemin dans le magasin de configuration où Patroni stockera les informations sur le cluster. Valeur par défaut : &amp;ldquo;/service&amp;rdquo;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;scope&lt;/strong&gt; : nom du cluster&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;a id="log_settings"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Fonctionnalités</title><link>https://pig.center/fr/docs/pgbouncer/features/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbouncer/features/</guid><description>&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Plusieurs niveaux de sévérité lors de la rotation des connexions :&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Pooling de sessions&lt;/strong&gt;&#10;: Méthode la moins intrusive. Lorsqu’un client se connecte, une connexion serveur lui est attribuée pour toute la durée de sa connexion. Lorsque le client se déconnecte, la connexion serveur est remise dans le pool. Ce mode prend en charge toutes les fonctionnalités de PostgreSQL.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Pooling de transactions&lt;/strong&gt;&#10;: Une connexion serveur est attribuée à un client uniquement pendant une transaction. Lorsque PgBouncer détecte la fin de la transaction, le serveur est remis dans le pool. Ce mode désactive quelques fonctionnalités basées sur la session de PostgreSQL. Vous ne pouvez l&amp;rsquo;utiliser que si l&amp;rsquo;application coopère en ne utilisant pas les fonctionnalités qui causent des incompatibilités. Consultez le tableau ci-dessous pour les fonctionnalités incompatibles.&lt;/p&gt;</description></item><item><title>Guide de démarrage</title><link/><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid/><description/></item><item><title>Introduction</title><link>https://pig.center/fr/docs/patroni/readme/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/readme/</guid><description>&lt;p&gt;&lt;a id="readme"&gt;&lt;/a&gt;&#10;Patroni est un modèle de solutions PostgreSQL à haute disponibilité (HA) basé sur Python. Patroni a été initialement développé à partir d&amp;rsquo;une branche de &lt;a href="https://github.com/compose/governor"&gt;Governor&lt;/a&gt;&#10;, le projet de Compose. Il intègre de nombreuses fonctionnalités nouvelles.&lt;/p&gt;&#10;&lt;p&gt;Pour plus d&amp;rsquo;informations de contexte, voir :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=iruaCgeG7qs"&gt;Haute disponibilité PostgreSQL avec Kubernetes et Patroni&lt;/a&gt;&#10;, conférence de Josh Berkus à KubeCon 2016 (vidéo)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://engineering.zalando.com/posts/2016/02/zalandos-patroni-a-template-for-high-availability-postgresql.html"&gt;Article du blog technique Zalando, février 2016&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="development-status"&gt;Statut de développement&#10;&lt;/h2&gt;&#10;&lt;p&gt;Patroni est en développement actif et accepte les contributions. Consultez notre section &lt;a href="https://pig.center/fr/docs/patroni/contributing_guidelines/#contributing_guidelines"&gt;Contributing&lt;/a&gt;&#10; ci-dessous pour plus de détails.&lt;/p&gt;</description></item><item><title>Notes de version de pgBadger 12.x</title><link>https://pig.center/fr/docs/pgbadger/releases/12/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbadger/releases/12/</guid><description>&lt;p&gt;Ces entrées conservent l&amp;rsquo;intégralité de l&amp;rsquo;historique des modifications upstream pour pgBadger 12.x, du plus récent au plus ancien.&lt;/p&gt;&#10;&lt;h2 id="v12-4"&gt;v12.4 · 2023-12-25&#10;&lt;/h2&gt;&#10;&lt;p&gt;Il s&amp;rsquo;agit d&amp;rsquo;une version de maintenance de pgBadger qui corrige les problèmes signalés par les utilisateurs depuis la dernière version.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Correction du rapport pgbouncer avec la version 1.21. Remerciements à Ales Zeleny pour le correctif.&lt;/li&gt;&#10;&lt;li&gt;Empêcher que le parallélisme du fichier Perl dépasse le nombre de fichiers. Remerciements à maliangzhu pour le signalement.&lt;/li&gt;&#10;&lt;li&gt;Correction du test de régression cassé depuis la version 12.3. Remerciements à ieshin pour le signalement.&lt;/li&gt;&#10;&lt;li&gt;Correction des cas où les entrées LOG étaient comptées comme des entrées de niveau d&amp;rsquo;erreur. Remerciements à Matti Linnanvuori pour le signalement.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="v12-3"&gt;v12.3 · 2023-11-27&#10;&lt;/h2&gt;&#10;&lt;p&gt;Il s&amp;rsquo;agit d&amp;rsquo;une version de maintenance de pgBadger qui corrige des problèmes signalés par les utilisateurs depuis la dernière version. Elle introduit également quelques nouvelles fonctionnalités :&lt;/p&gt;</description></item><item><title>Commande d’archive (archive-get)</title><link>https://pig.center/fr/docs/pgbackrest/command/archive-get/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/command/archive-get/</guid><description>&lt;p&gt;Cette commande est utilisée par PostgreSQL pour effectuer une restauration, une récupération jusqu&amp;rsquo;à un instant précis (PITR), ou en tant qu&amp;rsquo;alternative au streaming afin de maintenir une réplique à jour. Les segments WAL sont requis pour la récupération de PostgreSQL ou pour maintenir une réplique.&lt;/p&gt;&#10;&lt;p&gt;Lorsque plusieurs dépôts sont configurés, les fichiers WAL seront récupérés dans l’ordre de priorité des dépôts (par exemple &lt;code&gt;repo1&lt;/code&gt;, &lt;code&gt;repo2&lt;/code&gt;, etc.). En général, il est préférable que les dépôts plus rapides ou moins coûteux aient une priorité plus élevée. Si un dépôt est spécifié avec l’option &lt;code&gt;--repo&lt;/code&gt;, seul ce dépôt sera recherché.&lt;/p&gt;</description></item><item><title>Configuration : pgbouncer.ini</title><link>https://pig.center/fr/docs/pgbouncer/config/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbouncer/config/</guid><description>&lt;hr&gt;&#10;&lt;h2 id="description"&gt;Description&#10;&lt;/h2&gt;&#10;&lt;p&gt;Le fichier de configuration est au format « ini ». Les noms de section sont entre &lt;code&gt;[&lt;/code&gt; et &lt;code&gt;]&lt;/code&gt;. Les lignes commençant par &lt;code&gt;;&lt;/code&gt; ou &lt;code&gt;#&lt;/code&gt; sont traitées comme des commentaires et ignorées. Les caractères &lt;code&gt;;&lt;/code&gt; et &lt;code&gt;#&lt;/code&gt; ne sont pas reconnus comme spéciaux lorsqu&amp;rsquo;ils apparaissent ultérieurement dans la ligne.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="generic-settings"&gt;Paramètres génériques&#10;&lt;/h2&gt;&#10;&lt;h3 id="logfile"&gt;fichier_journal&#10;&lt;/h3&gt;&#10;&lt;p&gt;Spécifie le fichier de journalisation. En mode démon (&lt;code&gt;-d&lt;/code&gt;), il faut définir soit ce paramètre, soit &lt;code&gt;syslog&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Guide utilisateur (Debian/Ubuntu)</title><link>https://pig.center/fr/docs/pgbackrest/user-guide/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/user-guide/</guid><description>&lt;hr&gt;&#10;&lt;h2 id="introduction"&gt;Introduction&#10;&lt;/h2&gt;&#10;&lt;p&gt;Ce guide utilisateur est conçu pour être suivi séquentiellement, du début à la fin — chaque section dépend de la précédente. Par exemple, la section &lt;a href="#restore-1"&gt;Restauration&lt;/a&gt;&#10; repose sur la configuration effectuée dans la section &lt;a href="#quick-start"&gt;Démarrage rapide&lt;/a&gt;&#10;. Une fois pgBackRest en fonctionnement, il est possible de sauter des sections, mais il est recommandé de suivre le guide dans l’ordre lors de la première utilisation.&lt;/p&gt;&#10;&lt;p&gt;Bien que les exemples de ce guide soient destinés à Debian/Ubuntu et à PostgreSQL 17, il devrait être relativement facile de les appliquer à toute distribution Unix et toute version de PostgreSQL. Les seules commandes spécifiques au système d&amp;rsquo;exploitation sont celles permettant de créer, démarrer, arrêter et supprimer des clusters PostgreSQL. Les commandes pgBackRest seront identiques sur tout système Unix, bien que l&amp;rsquo;emplacement de l&amp;rsquo;exécutable puisse varier. Bien que pgBackRest cherche à fonctionner de manière cohérente sur les différentes versions de PostgreSQL, certaines différences subtiles entre versions de PostgreSQL peuvent apparaître dans ce guide lors de l&amp;rsquo;illustration de certains exemples, par exemple les chemins ou noms de fichiers de PostgreSQL, ainsi que les paramètres.&lt;/p&gt;</description></item><item><title>Installation</title><link>https://pig.center/fr/docs/patroni/installation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/installation/</guid><description>&lt;p&gt;&lt;a id="installation"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="pre-requirements-for-mac-os"&gt;Prérequis pour Mac OS&#10;&lt;/h2&gt;&#10;&lt;p&gt;Pour installer les prérequis sur un Mac, exécutez la commande suivante :&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-43ee34cb-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="bash" data-td-line-count="1"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-43ee34cb-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew install postgresql etcd haproxy libyaml python&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;&lt;a id="psycopg2_install_options"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="psycopg"&gt;Psycopg&#10;&lt;/h2&gt;&#10;&lt;p&gt;À compter de &lt;a href="https://www.psycopg.org/articles/2019/04/04/psycopg-28-released/"&gt;psycopg2-2.8&lt;/a&gt;&#10;, la version binaire de psycopg2 ne sera plus installée par défaut. Son installation à partir du code source nécessite un compilateur C ainsi que les paquets de développement postgres+python. Étant donné qu’environnement Python ne permet pas de spécifier la dépendance comme &lt;code&gt;psycopg2 OR psycopg2-binary&lt;/code&gt;, vous devrez déterminer vous-même la méthode d’installation.&lt;/p&gt;</description></item><item><title>Fundamentaux de la répartition de charge</title><link>https://pig.center/fr/docs/haproxy/load-balancing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/load-balancing/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Ce document présente HAProxy à l&amp;rsquo;intention de tous ceux qui ne le connaissent pas, ainsi que de ceux qui souhaitent le redécouvrir après avoir utilisé des versions antérieures. Son objectif principal est de fournir à l&amp;rsquo;utilisateur toutes les informations nécessaires pour décider si HAProxy correspond ou non à ses besoins. Les utilisateurs avancés pourront y trouver certaines solutions à des idées qu&amp;rsquo;ils avaient eues, simplement parce qu&amp;rsquo;ils ignoraient une fonctionnalité récente. Des indications de dimensionnement sont également fournies, le cycle de vie du produit est expliqué, ainsi que des comparaisons avec des produits partiellement similaires.&lt;/p&gt;</description></item><item><title>Téléchargement et installation</title><link>https://pig.center/fr/docs/pgbadger/download/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbadger/download/</guid><description>&lt;h2 id="distribution-channels"&gt;Choisissez un canal de distribution&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Channel&lt;/th&gt;&#10; &lt;th scope="col"&gt;Utilisation&lt;/th&gt;&#10; &lt;th scope="col"&gt;Emplacement&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;Version officielle&lt;/td&gt;&#10; &lt;td&gt;Archives sources et notes de version&lt;/td&gt;&#10; &lt;td&gt;&lt;a href="https://github.com/darold/pgbadger/releases"&gt;GitHub Releases&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;Paquet RPM&lt;/td&gt;&#10; &lt;td&gt;Distributions Linux basées sur RPM&lt;/td&gt;&#10; &lt;td&gt;&lt;a href="https://yum.postgresql.org/packages/"&gt;PostgreSQL Yum Repository&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;Paquet Debian/Ubuntu&lt;/td&gt;&#10; &lt;td&gt;Distributions Linux basées sur APT&lt;/td&gt;&#10; &lt;td&gt;&lt;a href="https://wiki.postgresql.org/wiki/Apt"&gt;PostgreSQL Apt Repository&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;Code source de développement&lt;/td&gt;&#10; &lt;td&gt;Code actuel non encore publié&lt;/td&gt;&#10; &lt;td&gt;&lt;a href="https://github.com/darold/pgbadger"&gt;darold/pgbadger&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;La version de documentation disponible sur ce site est basée sur l&amp;rsquo;arbre source 13.2. Vérifiez toujours la page de publication avant de télécharger : la version locale est intentionnellement figée, tandis que les versions upstream évoluent continuellement.&lt;/p&gt;</description></item><item><title>Notes de version de pgBadger 11.x</title><link>https://pig.center/fr/docs/pgbadger/releases/11/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbadger/releases/11/</guid><description>&lt;p&gt;Ces entrées conservent l’intégralité de l&amp;rsquo;historique des modifications upstream pour pgBadger 11.x, du plus récent au plus ancien.&lt;/p&gt;&#10;&lt;h2 id="v11-8"&gt;v11.8 · 2022-04-08&#10;&lt;/h2&gt;&#10;&lt;p&gt;Cette version de pgBadger corrige certains problèmes signalés par les utilisateurs au cours des trois derniers mois, en particulier deux correctifs concernant la détection des nouvelles entrées de journal en mode incrémentiel.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Corriger la détection des nouvelles entrées de journal avec horodatage lorsque le format milliseconde (%m) ou époque (%n) était utilisé dans log_line_prefix.&lt;/li&gt;&#10;&lt;li&gt;Corriger la détection des nouvelles entrées de journal dans le fichier local lorsque le mode multiprocessus n&amp;rsquo;était pas utilisé.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Voici la liste complète des modifications et des remerciements :&lt;/p&gt;</description></item><item><title>Qu'est-ce qu'HAProxy et comment il fonctionne</title><link>https://pig.center/fr/docs/haproxy/architecture/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/architecture/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;La graphie « HAProxy » désigne le produit, tandis que « haproxy » désigne le programme exécutable, le paquet logiciel ou un processus. Ces graphies sont toutefois couramment utilisées dans chaque contexte et se prononcent H-A-Proxy. À l&amp;rsquo;origine, « haproxy » signifiait « high availability proxy » et le nom s&amp;rsquo;écrivait en deux mots distincts ; aujourd&amp;rsquo;hui, il ne signifie plus rien d&amp;rsquo;autre que « HAProxy ».&lt;/p&gt;</description></item><item><title>Commande de poussée d'archive (archive-push)</title><link>https://pig.center/fr/docs/pgbackrest/command/archive-push/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/command/archive-push/</guid><description>&lt;p&gt;Accepte un segment WAL de PostgreSQL et l&amp;rsquo;archive dans chaque dépôt défini par l&amp;rsquo;option indexée &lt;code&gt;repo-path&lt;/code&gt; (voir la section &lt;a href="https://pig.center/fr/docs/pgbackrest/configuration/#repository-options"&gt;Repository&lt;/a&gt;&#10; pour obtenir des informations sur la configuration des dépôts). Le segment WAL peut être envoyé immédiatement à l&amp;rsquo;archive ou stocké localement, selon la valeur de &lt;code&gt;archive-async&lt;/code&gt;. En cas de configuration de plusieurs dépôts, &lt;code&gt;archive-push&lt;/code&gt; tentera d&amp;rsquo;envoyer à autant de dépôts que possible.&lt;/p&gt;&#10;&lt;p&gt;Le &lt;code&gt;archive-push&lt;/code&gt; est destiné à être configuré et appelé par PostgreSQL. Voir &lt;a href="https://pig.center/fr/docs/pgbackrest/user-guide/#configure-archiving"&gt;Configurer la sauvegarde d&amp;rsquo;archive&lt;/a&gt;&#10; pour un exemple.&lt;/p&gt;</description></item><item><title>Paramètres de configuration de l'environnement</title><link>https://pig.center/fr/docs/patroni/config/env/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/config/env/</guid><description>&lt;p&gt;&lt;a id="env"&gt;&lt;/a&gt;&#10;Il est possible de remplacer certains paramètres de configuration définis dans le fichier de configuration Patroni à l’aide des variables d’environnement système. Ce document liste toutes les variables d’environnement prises en charge par Patroni. Les valeurs définies via ces variables ont toujours priorité sur celles définies dans le fichier de configuration Patroni.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="globaluniversal"&gt;Global/Universel&#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;PATRONI_CONFIGURATION&lt;/strong&gt; : il est possible de définir toute la configuration de Patroni via la variable d&amp;rsquo;environnement &lt;a href="https://pig.center/fr/docs/patroni/config/#config"&gt;PATRONI_CONFIGURATION&lt;/a&gt;&#10;. Dans ce cas, aucune autre variable d&amp;rsquo;environnement ne sera prise en compte !&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;PATRONI_THREAD_POOL_SIZE&lt;/strong&gt; : taille du pool de threads utilisé par Patroni pour exécuter les tâches asynchrones et communiquer via l&amp;rsquo;API REST avec les autres membres lors d&amp;rsquo;une course au leader ou lors de vérifications en mode d&amp;rsquo;urgence. La valeur minimale est &lt;code&gt;5&lt;/code&gt;, la valeur par défaut est &lt;code&gt;5&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;PATRONI_THREAD_STACK_SIZE&lt;/strong&gt; : spécifie la taille de pile à utiliser pour les threads lancés par Patroni. La valeur doit être alignée sur &lt;code&gt;64kB&lt;/code&gt;. La valeur minimale est &lt;code&gt;64kB&lt;/code&gt;, la valeur par défaut (définie par Patroni) est &lt;code&gt;512kB&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;PATRONI_NAME&lt;/strong&gt; : nom du nœud sur lequel l&amp;rsquo;instance actuelle de Patroni est en cours d&amp;rsquo;exécution. Doit être unique dans le cluster. La valeur &lt;code&gt;__patroni_strict_sync_replica_placeholder__&lt;/code&gt; est réservée à une utilisation interne par Patroni et ne peut pas être utilisée comme nom de nœud.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;PATRONI_NAMESPACE&lt;/strong&gt; : chemin dans le magasin de configuration où Patroni conservera les informations sur le cluster. Valeur par défaut : &amp;ldquo;/service&amp;rdquo;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;PATRONI_SCOPE&lt;/strong&gt; : nom du cluster&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;PG_MALLOC_ARENA_MAX&lt;/strong&gt; : valeur personnalisée pour la variable d&amp;rsquo;environnement &lt;code&gt;MALLOC_ARENA_MAX&lt;/code&gt; du processus &lt;code&gt;postmaster&lt;/code&gt;. Si non définie, &lt;code&gt;postmaster&lt;/code&gt; héritera de la valeur de &lt;code&gt;MALLOC_ARENA_MAX&lt;/code&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="log"&gt;Journalisation&#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;PATRONI_LOG_TYPE&lt;/strong&gt; : définit le format des journaux. Peut être soit &lt;strong&gt;plain&lt;/strong&gt; soit &lt;strong&gt;json&lt;/strong&gt;. Pour utiliser le format &lt;strong&gt;json&lt;/strong&gt;, vous devez avoir installé &lt;a href="https://pig.center/fr/docs/patroni/installation/#extras"&gt;jsonlogger&lt;/a&gt;&#10;. La valeur par défaut est &lt;strong&gt;plain&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;PATRONI_LOG_LEVEL&lt;/strong&gt; : définit le niveau général de journalisation. La valeur par défaut est &lt;strong&gt;INFO&lt;/strong&gt; (voir &lt;a href="https://docs.python.org/3.6/library/logging.html#levels"&gt;la documentation sur le module logging de Python&lt;/a&gt;&#10;)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;PATRONI_LOG_TRACEBACK_LEVEL&lt;/strong&gt; : définit le niveau auquel les traces d&amp;rsquo;erreur seront visibles. La valeur par défaut est &lt;strong&gt;ERROR&lt;/strong&gt;. Définissez-la sur &lt;strong&gt;DEBUG&lt;/strong&gt; si vous souhaitez voir les traces d&amp;rsquo;erreur uniquement lorsque &lt;strong&gt;PATRONI_LOG_LEVEL=DEBUG&lt;/strong&gt; est activé.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;PATRONI_LOG_FORMAT&lt;/strong&gt; : définit la chaîne de formatage des journaux. Si le type de journal est &lt;strong&gt;plain&lt;/strong&gt;, le format doit être une chaîne. Reportez-vous à &lt;a href="https://docs.python.org/3.6/library/logging.html#logrecord-attributes"&gt;les attributs LogRecord&lt;/a&gt;&#10; pour obtenir la liste des attributs disponibles. Si le type de journal est &lt;strong&gt;json&lt;/strong&gt;, le format peut être une liste en plus d&amp;rsquo;une chaîne. Chaque élément de la liste doit correspondre à un attribut LogRecord. Prenez garde à ce que seul le nom du champ est requis, et que les &lt;strong&gt;%(&lt;/strong&gt; et &lt;strong&gt;)&lt;/strong&gt; doivent être omis. Si vous souhaitez afficher un champ de journal avec un nom de clé différent, utilisez un dictionnaire où la clé du dictionnaire est le champ de journal, et la valeur est le nom du champ que vous souhaitez afficher dans le journal. Valeur par défaut : &lt;strong&gt;%(asctime)s %(levelname)s: %(message)s&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;PATRONI_LOG_DATEFORMAT&lt;/strong&gt; : définit la chaîne de formatage de la date et de l&amp;rsquo;heure. (voir la documentation de &lt;a href="https://docs.python.org/3.6/library/logging.html#logging.Formatter.formatTime"&gt;formatTime()&lt;/a&gt;&#10;)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;PATRONI_LOG_STATIC_FIELDS&lt;/strong&gt; : ajoute des champs supplémentaires au journal. Cette option n&amp;rsquo;est disponible que lorsque le type de journal est défini sur &lt;strong&gt;json&lt;/strong&gt;. Exemple &lt;code&gt;PATRONI_LOG_STATIC_FIELDS=&amp;quot;{app: patroni}&amp;quot;&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;PATRONI_LOG_MAX_QUEUE_SIZE&lt;/strong&gt; : Patroni utilise une journalisation en deux étapes. Les enregistrements de journal sont écrits dans une file mémoire et un thread distinct extrait ces enregistrements de la file pour les écrire sur stderr ou dans un fichier. La taille maximale de la file interne est limitée par défaut à &lt;strong&gt;1000&lt;/strong&gt; enregistrements, ce qui suffit à conserver les journaux des dernières 1h20.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;PATRONI_LOG_DIR&lt;/strong&gt; : Répertoire dans lequel écrire les journaux d&amp;rsquo;application. Le répertoire doit exister et être accessible en écriture par l&amp;rsquo;utilisateur exécutant Patroni. Si vous définissez cette variable d&amp;rsquo;environnement, l&amp;rsquo;application conservera par défaut 4 fichiers de journaux de 25 Mo chacun. Vous pouvez ajuster ces valeurs de rétention à l&amp;rsquo;aide de &lt;code&gt;PATRONI_LOG_FILE_NUM&lt;/code&gt; et &lt;code&gt;PATRONI_LOG_FILE_SIZE&lt;/code&gt; (voir ci-dessous).&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;PATRONI_LOG_MODE&lt;/strong&gt; : Permissions des fichiers de journal (par exemple, &lt;code&gt;0644&lt;/code&gt;). Si non spécifié, les permissions seront déterminées en fonction de la valeur actuelle de umask.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;PATRONI_LOG_FILE_NUM&lt;/strong&gt; : Nombre de journaux d&amp;rsquo;application à conserver.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;PATRONI_LOG_FILE_SIZE&lt;/strong&gt; : Taille du fichier patroni.log (en octets) qui déclenche un roulement du journal.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;PATRONI_LOG_LOGGERS&lt;/strong&gt; : Redéfinir le niveau de journalisation par module Python. Exemple &lt;code&gt;PATRONI_LOG_LOGGERS=&amp;quot;{patroni.postmaster: WARNING, urllib3: DEBUG}&amp;quot;&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;PATRONI_LOG_DEDUPLICATE_HEARTBEAT_LOGS&lt;/strong&gt; : Si défini à &lt;code&gt;true&lt;/code&gt;, les journaux de battement de cœur identiques successifs ne seront pas affichés. La valeur par défaut est &lt;code&gt;false&lt;/code&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;[!AVERTISSEMENT]&lt;/p&gt;</description></item><item><title>Guide utilisateur (RHEL)</title><link>https://pig.center/fr/docs/pgbackrest/user-guide-rhel/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/user-guide-rhel/</guid><description>&lt;hr&gt;&#10;&lt;h2 id="introduction"&gt;Introduction&#10;&lt;/h2&gt;&#10;&lt;p&gt;Ce guide utilisateur est conçu pour être suivi séquentiellement, du début à la fin — chaque section dépend de la précédente. Par exemple, la section &lt;a href="#restore-1"&gt;Restauration&lt;/a&gt;&#10; repose sur la configuration effectuée dans la section &lt;a href="#quick-start"&gt;Démarrage rapide&lt;/a&gt;&#10;. Une fois pgBackRest en fonctionnement, il est possible de sauter des sections, mais il est recommandé de suivre le guide dans l’ordre lors de la première utilisation.&lt;/p&gt;&#10;&lt;p&gt;Bien que les exemples de ce guide soient destinés à RHEL et à PostgreSQL 14, il devrait être relativement facile de les appliquer à toute distribution Unix et toute version de PostgreSQL. Les seules commandes spécifiques au système d&amp;rsquo;exploitation sont celles permettant de créer, démarrer, arrêter et supprimer des clusters PostgreSQL. Les commandes pgBackRest seront identiques sur tout système Unix, bien que l&amp;rsquo;emplacement de l&amp;rsquo;exécutable puisse varier. Bien que pgBackRest cherche à fonctionner de manière cohérente sur les différentes versions de PostgreSQL, certaines différences subtiles entre versions de PostgreSQL peuvent apparaître dans ce guide lors de l&amp;rsquo;illustration de certains exemples, par exemple les chemins ou noms de fichiers de PostgreSQL, ainsi que les paramètres.&lt;/p&gt;</description></item><item><title>Référence en ligne de commande</title><link>https://pig.center/fr/docs/pgbadger/command-line/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbadger/command-line/</guid><description>&lt;p&gt;Cette page conserve la référence de commande générée à partir de la source upstream verrouillée. Les noms d&amp;rsquo;option et le texte d&amp;rsquo;aide restent tels quels afin de pouvoir être comparés directement avec &lt;code&gt;pgbadger --help&lt;/code&gt;.&lt;/p&gt;&#10;&lt;h2 id="usage-and-options"&gt;Utilisation et options&#10;&lt;/h2&gt;&#10;&lt;p&gt;Utilisation : pgBadger [options] fichier_journal [&amp;hellip;]&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-1eb2dd22-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="text" data-td-line-count="1"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-1eb2dd22-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;PostgreSQL log analyzer with fully detailed reports and graphs.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;Arguments :&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-1eb2dd22-fence-1" data-td-code data-td-code-auto-id&#10; data-td-language="text" data-td-line-count="3"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-1eb2dd22-fence-1-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;logfile can be a single log file, a list of files, or a shell command&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;returning a list of files. If you want to pass log content from stdin&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;use - as filename. Note that input from stdin will not work with csvlog.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;Options :&lt;/p&gt;</description></item><item><title>Usage : pgbouncer commande</title><link>https://pig.center/fr/docs/pgbouncer/usage/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbouncer/usage/</guid><description>&lt;hr&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&#10;&lt;/h2&gt;&#10;&lt;pre&gt;&lt;code&gt;pgbouncer [-d][-R][-v][-u user] &amp;lt;pgbouncer.ini&amp;gt;&#10;pgbouncer -V|-h&#10;&lt;/code&gt;&lt;/pre&gt;&#10;&lt;p&gt;Sous Windows, les options sont :&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;pgbouncer.exe [-v][-u user] &amp;lt;pgbouncer.ini&amp;gt;&#10;pgbouncer.exe -V|-h&#10;&lt;/code&gt;&lt;/pre&gt;&#10;&lt;p&gt;Options supplémentaires pour la configuration d&amp;rsquo;un service Windows :&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;pgbouncer.exe --regservice &amp;lt;pgbouncer.ini&amp;gt;&#10;pgbouncer.exe --unregservice &amp;lt;pgbouncer.ini&amp;gt;&#10;&lt;/code&gt;&lt;/pre&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="description"&gt;Description&#10;&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;pgbouncer&lt;/strong&gt; est un pooler de connexions PostgreSQL. Toute application cliente peut se connecter à &lt;strong&gt;pgbouncer&lt;/strong&gt; comme s’il était un serveur PostgreSQL, et &lt;strong&gt;pgbouncer&lt;/strong&gt; établira une connexion vers le serveur réel, ou réutilisera l’une de ses connexions existantes.&lt;/p&gt;</description></item><item><title>Notes de version pgBadger 10.x</title><link>https://pig.center/fr/docs/pgbadger/releases/10/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbadger/releases/10/</guid><description>&lt;p&gt;Ces entrées conservent l’intégralité de l&amp;rsquo;historique des modifications upstream pour pgBadger 10.x, du plus récent au plus ancien.&lt;/p&gt;&#10;&lt;h2 id="v10-3"&gt;v10.3 · 2019-02-14&#10;&lt;/h2&gt;&#10;&lt;p&gt;Cette version de pgBadger est une mise à jour de maintenance qui corrige certains problèmes de détection automatique du format de journalisation, ainsi qu’un autre problème de lecture des journaux de pgBouncer signalé par les utilisateurs. Une nouvelle fonctionnalité est également disponible :&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;The -o | --outfile option can now be used multiple time to dump&#10;output in several format in a single command. For example:&#10; pgbadger -o out.html -o out.json /log/pgsql-11.log&#10;will create two reports in html and json format saved in the&#10;two corresponding files.&#10;&lt;/code&gt;&lt;/pre&gt;&#10;&lt;p&gt;Il existe également quelques corrections de bogues et améliorations de fonctionnalités.&lt;/p&gt;</description></item><item><title>API REST Patroni</title><link>https://pig.center/fr/docs/patroni/rest_api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/rest_api/</guid><description>&lt;p&gt;&lt;a id="rest_api"&gt;&lt;/a&gt;&#10;Patroni dispose d&amp;rsquo;une API REST riche, utilisée par Patroni lui-même lors de la course au leader, par l&amp;rsquo;outil &lt;a href="https://pig.center/fr/docs/patroni/patronictl/#patronictl"&gt;patronictl&lt;/a&gt;&#10; afin d&amp;rsquo;effectuer des basculements, des basculements planifiés, des réinitialisations, des redémarrages ou des rechargements, par HAProxy ou tout autre équilibreur de charge pour effectuer des vérifications de santé HTTP, et bien entendu également utilisée pour la surveillance. Ci-dessous figure la liste des points d&amp;rsquo;accès de l&amp;rsquo;API REST de Patroni.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="health-check-endpoints"&gt;Points de terminaison de vérification de santé&#10;&lt;/h2&gt;&#10;&lt;p&gt;Pour toutes les requêtes de vérification de santé &lt;code&gt;GET&lt;/code&gt;, Patroni renvoie un document JSON indiquant l&amp;rsquo;état du nœud, accompagné du code d&amp;rsquo;état HTTP. Si vous ne souhaitez pas ou n&amp;rsquo;avez pas besoin du document JSON, vous pouvez envisager d&amp;rsquo;utiliser la méthode &lt;code&gt;HEAD&lt;/code&gt; ou &lt;code&gt;OPTIONS&lt;/code&gt; au lieu de &lt;code&gt;GET&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Commande de sauvegarde (backup)</title><link>https://pig.center/fr/docs/pgbackrest/command/backup/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/command/backup/</guid><description>&lt;p&gt;Lorsque plusieurs dépôts sont configurés, pgBackRest effectuera la sauvegarde vers le dépôt de priorité la plus élevée (par exemple &lt;code&gt;repo1&lt;/code&gt;) sauf si l&amp;rsquo;option &lt;code&gt;--repo&lt;/code&gt; est spécifiée.&lt;/p&gt;&#10;&lt;p&gt;pgBackRest ne dispose pas de planificateur intégré, il est donc préférable de l&amp;rsquo;exécuter depuis cron ou un autre mécanisme de planification.&lt;/p&gt;&#10;&lt;p&gt;Consultez &lt;a href="https://pig.center/fr/docs/pgbackrest/user-guide/#perform-a-backup"&gt;Effectuer une sauvegarde&lt;/a&gt;&#10; pour plus de détails et d&amp;rsquo;exemples.&lt;/p&gt;&#10;&lt;h2 id="command-options"&gt;Options de commande&#10;&lt;/h2&gt;&#10;&lt;h3 id="backup-annotation-option---annotation"&gt;Option d&amp;rsquo;annotation de sauvegarde (&lt;code&gt;--annotation&lt;/code&gt;)&#10;&lt;/h3&gt;&#10;&lt;p&gt;Ajoutez des paires clé/valeur définies par l&amp;rsquo;utilisateur à la sauvegarde.&lt;/p&gt;</description></item><item><title>Fonctionnalités de base</title><link>https://pig.center/fr/docs/haproxy/basic-features/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/basic-features/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Cette section énumère un certain nombre de fonctionnalités implémentées par HAProxy, certaines étant généralement attendues d’un répartiteur de charge moderne, et d’autres constituant un avantage direct de l’architecture d’HAProxy. Les fonctionnalités avancées seront détaillées dans la section suivante.&lt;/p&gt;&#10;&lt;h2 id="section-3-3-1"&gt;3.3.1. Fonctionnalités de base : Proxys&#10;&lt;/h2&gt;&#10;&lt;p&gt;Le proxy consiste à transférer des données entre un client et un serveur via deux connexions indépendantes. Les fonctionnalités de base suivantes sont prises en charge par HAProxy en matière de proxy et de gestion des connexions :&lt;/p&gt;</description></item><item><title>Compilation et installation de PgBouncer</title><link>https://pig.center/fr/docs/pgbouncer/install/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbouncer/install/</guid><description>&lt;hr&gt;&#10;&lt;h2 id="building"&gt;Construction&#10;&lt;/h2&gt;&#10;&lt;p&gt;PgBouncer dépend de quelques éléments pour être compilé :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://www.gnu.org/software/make/"&gt;GNU Make&lt;/a&gt;&#10; 3.81+&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="http://libevent.org/"&gt;Libevent&lt;/a&gt;&#10; 2.0+&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.freedesktop.org/wiki/Software/pkg-config/"&gt;pkg-config&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.openssl.org/"&gt;OpenSSL&lt;/a&gt;&#10; 1.0.1+ pour la prise en charge du TLS&lt;/li&gt;&#10;&lt;li&gt;(facultatif) &lt;a href="http://c-ares.haxx.se/"&gt;c-ares&lt;/a&gt;&#10; en tant qu’alternative à evdns de Libevent&lt;/li&gt;&#10;&lt;li&gt;(facultatif) bibliothèques LDAP&lt;/li&gt;&#10;&lt;li&gt;(facultatif) bibliothèques PAM&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Lorsque les dépendances sont installées, exécutez simplement :&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;$ ./configure --prefix=/usr/local&#10;$ make&#10;$ make install&#10;&lt;/code&gt;&lt;/pre&gt;&#10;&lt;p&gt;Si vous compilez à partir de Git, ou si vous compilez pour Windows, veuillez consulter les instructions de compilation spécifiques ci-dessous.&lt;/p&gt;</description></item><item><title>Configuration de journalisation de PostgreSQL</title><link>https://pig.center/fr/docs/pgbadger/postgresql-logging/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbadger/postgresql-logging/</guid><description>&lt;p&gt;pgBadger ne peut rapporter que les informations écrites par PostgreSQL dans les journaux. Commencez par un préfixe analysable et une politique de journalisation explicite des requêtes, puis ajoutez les événements opérationnels que vous souhaitez analyser.&lt;/p&gt;&#10;&lt;h2 id="minimum-query-logging"&gt;Journalisation minimale des requêtes&#10;&lt;/h2&gt;&#10;&lt;p&gt;Pour inclure le texte et la durée de la requête, activez la journalisation des instructions basée sur la durée :&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-0446401e-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="postgresql" data-td-line-count="1"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-0446401e-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-postgresql" data-lang="postgresql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;log_min_duration_statement&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;&lt;code&gt;0&lt;/code&gt; enregistre chaque instruction terminée. Sur un serveur très sollicité, sélectionnez une valeur plus élevée en millisecondes afin de contrôler le volume des journaux. Mesurez la surcharge et la croissance du stockage avant d&amp;rsquo;activer une seuil faible en production.&lt;/p&gt;</description></item><item><title>Notes de version de pgBadger 9.x</title><link>https://pig.center/fr/docs/pgbadger/releases/9/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbadger/releases/9/</guid><description>&lt;p&gt;Ces entrées conservent l’intégralité de l&amp;rsquo;historique des modifications upstream pour pgBadger 9.x, du plus récent au plus ancien.&lt;/p&gt;&#10;&lt;h2 id="v9-2"&gt;v9.2 · 2017-07-27&#10;&lt;/h2&gt;&#10;&lt;p&gt;Cette version de pgBadger est une mise à jour de maintenance qui ajoute quelques nouvelles fonctionnalités.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Ajouter un rapport de distance entre les points de contrôle et une estimation.&lt;/li&gt;&#10;&lt;li&gt;Ajouter le support des mots-clés AWS Redshift dans le formateur de code SQL.&lt;/li&gt;&#10;&lt;li&gt;Ajouter la détection automatique du format du fichier journal en mode distant afin de permettre l&amp;rsquo;analyse distante du fichier journal de pgbouncer conjointement avec le fichier journal PostgreSQL.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Il existe également quelques corrections de bogues et améliorations de fonctionnalités.&lt;/p&gt;</description></item><item><title>Commande de vérification (check)</title><link>https://pig.center/fr/docs/pgbackrest/command/check/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/command/check/</guid><description>&lt;p&gt;La commande &lt;code&gt;check&lt;/code&gt; vérifie que pgBackRest et le paramètre archive_command sont correctement configurés pour l&amp;rsquo;archivage et les sauvegardes du stanza spécifié. Elle tente de vérifier tous les dépôts et bases de données configurés pour l&amp;rsquo;hôte sur lequel la commande est exécutée. Elle détecte les mauvaises configurations, en particulier celles relatives à l&amp;rsquo;archivage, qui entraînent des sauvegardes incomplètes car des segments WAL requis n&amp;rsquo;ont pas atteint l&amp;rsquo;archive. La commande peut être exécutée sur l&amp;rsquo;hôte PostgreSQL ou sur l&amp;rsquo;hôte dépôt. Elle peut également être exécutée sur l&amp;rsquo;hôte de basculement, toutefois, comme les opérations &lt;code&gt;pg_switch_xlog()&lt;/code&gt;/&lt;code&gt;pg_switch_wal()&lt;/code&gt; ne peuvent pas être effectuées sur le basculement, la commande ne testera que la configuration du dépôt.&lt;/p&gt;</description></item><item><title>Référence de configuration</title><link>https://pig.center/fr/docs/pgbackrest/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/configuration/</guid><description>&lt;hr&gt;&#10;&lt;h2 id="introduction"&gt;Introduction&#10;&lt;/h2&gt;&#10;&lt;p&gt;pgBackRest peut être utilisé entièrement à l’aide de paramètres en ligne de commande, mais un fichier de configuration est plus pratique pour les installations complexes ou celles qui définissent de nombreux paramètres. L&amp;rsquo;emplacement par défaut du fichier de configuration est &lt;code&gt;/etc/pgbackrest/pgbackrest.conf&lt;/code&gt;. Si aucun fichier n&amp;rsquo;existe à cet emplacement, l&amp;rsquo;ancien emplacement par défaut de &lt;code&gt;/etc/pgbackrest.conf&lt;/code&gt; sera vérifié.&lt;/p&gt;&#10;&lt;p&gt;Les types d&amp;rsquo;option suivants sont utilisés :&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Chaîne&lt;/strong&gt; : Une chaîne de texte, couramment utilisée comme identifiant, mot de passe, etc.&lt;/p&gt;</description></item><item><title>Fonctionnalités standard</title><link>https://pig.center/fr/docs/haproxy/standard-features/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/standard-features/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Dans cette section, sont énumérées certaines fonctionnalités très couramment utilisées avec HAProxy mais qui ne sont pas nécessairement disponibles sur d&amp;rsquo;autres répartiteurs de charge.&lt;/p&gt;&#10;&lt;h2 id="section-3-4-1"&gt;3.4.1. Fonctionnalités standard : Échantillonnage et conversion d&amp;rsquo;informations&#10;&lt;/h2&gt;&#10;&lt;p&gt;HAProxy prend en charge l&amp;rsquo;extraction d&amp;rsquo;échantillons à l&amp;rsquo;aide d&amp;rsquo;une large gamme de « fonctions d&amp;rsquo;extraction d&amp;rsquo;échantillon ». Le principe consiste à extraire des éléments d&amp;rsquo;information appelés échantillons, destinés à une utilisation immédiate. Cela est utilisé pour la persistance de session, la création de conditions, la génération d&amp;rsquo;informations dans les journaux ou l&amp;rsquo;enrichissement des en-têtes HTTP.&lt;/p&gt;</description></item><item><title>patronictl</title><link>https://pig.center/fr/docs/patroni/patronictl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/patronictl/</guid><description>&lt;p&gt;&lt;a id="patronictl_version_description"&gt;&lt;/a&gt;&#10;&lt;a id="patronictl_version_parameters"&gt;&lt;/a&gt;&#10;&lt;a id="patronictl_version_examples"&gt;&lt;/a&gt;&#10;&lt;a id="patronictl"&gt;&lt;/a&gt;&#10;Patroni dispose d&amp;rsquo;une interface en ligne de commande nommée &lt;a href="https://pig.center/fr/docs/patroni/patronictl/#patronictl"&gt;patronictl&lt;/a&gt;&#10;, utilisée principalement pour interagir avec l&amp;rsquo;API REST de Patroni et avec le DCS. Elle vise à simplifier l&amp;rsquo;exécution d&amp;rsquo;opérations au sein du cluster et peut être facilement utilisée par des humains ou des scripts.&lt;/p&gt;&#10;&lt;p&gt;&lt;a id="patronictl_configuration"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="configuration"&gt;Configuration&#10;&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://pig.center/fr/docs/patroni/patronictl/#patronictl"&gt;patronictl&lt;/a&gt;&#10; utilise trois sections de la configuration :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;ctl&lt;/strong&gt; : comment s&amp;rsquo;authentifier contre l&amp;rsquo;API REST de Patroni, et comment valider l&amp;rsquo;identité du serveur. Consulter &lt;a href="https://pig.center/fr/docs/patroni/config/yaml/#patronictl_settings"&gt;paramètres ctl&lt;/a&gt;&#10; pour plus de détails ;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;restapi&lt;/strong&gt; : comment s&amp;rsquo;authentifier contre l&amp;rsquo;API REST de Patroni, et comment valider l&amp;rsquo;identité du serveur. N&amp;rsquo;est utilisé que si la configuration &lt;code&gt;ctl&lt;/code&gt; est insuffisante. &lt;a href="https://pig.center/fr/docs/patroni/patronictl/#patronictl"&gt;patronictl&lt;/a&gt;&#10; s&amp;rsquo;intéresse principalement à la section &lt;code&gt;restapi.authentication&lt;/code&gt; (en cas de non-présence de &lt;code&gt;ctl.authentication&lt;/code&gt;) et au paramètre &lt;code&gt;restapi.cafile&lt;/code&gt; (en cas de non-présence de &lt;code&gt;ctl.cacert&lt;/code&gt;). Consulter &lt;a href="https://pig.center/fr/docs/patroni/config/yaml/#restapi_settings"&gt;paramètres de l&amp;rsquo;API REST&lt;/a&gt;&#10; pour plus de détails ;&lt;/li&gt;&#10;&lt;li&gt;DCS (par exemple &lt;strong&gt;etcd&lt;/strong&gt;) : comment contacter et s&amp;rsquo;authentifier contre le DCS utilisé par Patroni.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Ces options de configuration peuvent provenir soit de variables d’environnement, soit d’un fichier de configuration. Consultez les sections ci-dessus dans &lt;a href="https://pig.center/fr/docs/patroni/config/env/#env"&gt;Paramètres de configuration par environnement&lt;/a&gt;&#10; ou &lt;a href="https://pig.center/fr/docs/patroni/config/yaml/#yaml"&gt;Paramètres de configuration YAML&lt;/a&gt;&#10; pour comprendre comment définir ces options via des variables d’environnement ou un fichier de configuration.&lt;/p&gt;</description></item><item><title>Source Versions Téléchargement</title><link>https://pig.center/fr/docs/pgbouncer/download/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbouncer/download/</guid><description>&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-125"&gt;PgBouncer 1.25&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.25.2/pgbouncer-1.25.2.tar.gz"&gt;pgbouncer-1.25.2.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2026-05-08&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;865371 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.25.2/pgbouncer-1.25.2.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.25.1/pgbouncer-1.25.1.tar.gz"&gt;pgbouncer-1.25.1.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2025-12-03&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;864801 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.25.1/pgbouncer-1.25.1.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.25.0/pgbouncer-1.25.0.tar.gz"&gt;pgbouncer-1.25.0.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2025-11-09&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;863322 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.25.0/pgbouncer-1.25.0.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-124"&gt;PgBouncer 1.24&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.24.1/pgbouncer-1.24.1.tar.gz"&gt;pgbouncer-1.24.1.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2025-04-16&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;717796 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.24.1/pgbouncer-1.24.1.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.24.0/pgbouncer-1.24.0.tar.gz"&gt;pgbouncer-1.24.0.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2025-01-10&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;706573 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.24.0/pgbouncer-1.24.0.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-123"&gt;PgBouncer 1.23&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.23.1/pgbouncer-1.23.1.tar.gz"&gt;pgbouncer-1.23.1.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2024-08-02&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;700025 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.23.1/pgbouncer-1.23.1.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.23.0/pgbouncer-1.23.0.tar.gz"&gt;pgbouncer-1.23.0.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2024-07-03&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;694845 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.23.0/pgbouncer-1.23.0.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-122"&gt;PgBouncer 1.22&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.22.1/pgbouncer-1.22.1.tar.gz"&gt;pgbouncer-1.22.1.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2024-03-04&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;677351 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.22.1/pgbouncer-1.22.1.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.22.0/pgbouncer-1.22.0.tar.gz"&gt;pgbouncer-1.22.0.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2024-01-31&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;670589 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.22.0/pgbouncer-1.22.0.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-121"&gt;PgBouncer 1.21&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.21.0/pgbouncer-1.21.0.tar.gz"&gt;pgbouncer-1.21.0.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2023-10-16&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;668211 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.21.0/pgbouncer-1.21.0.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-120"&gt;PgBouncer 1.20&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.20.1/pgbouncer-1.20.1.tar.gz"&gt;pgbouncer-1.20.1.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2023-08-09&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;638844 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.20.1/pgbouncer-1.20.1.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.20.0/pgbouncer-1.20.0.tar.gz"&gt;pgbouncer-1.20.0.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2023-07-20&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;638020 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.20.0/pgbouncer-1.20.0.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-119"&gt;PgBouncer 1.19&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.19.1/pgbouncer-1.19.1.tar.gz"&gt;pgbouncer-1.19.1.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2023-05-31&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;623569 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.19.1/pgbouncer-1.19.1.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.19.0/pgbouncer-1.19.0.tar.gz"&gt;pgbouncer-1.19.0.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2023-05-04&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;616947 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.19.0/pgbouncer-1.19.0.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-118"&gt;PgBouncer 1.18&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.18.0/pgbouncer-1.18.0.tar.gz"&gt;pgbouncer-1.18.0.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2022-12-12&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;600825 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.18.0/pgbouncer-1.18.0.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-117"&gt;PgBouncer 1.17&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.17.0/pgbouncer-1.17.0.tar.gz"&gt;pgbouncer-1.17.0.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2022-03-23&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;598294 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.17.0/pgbouncer-1.17.0.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-116"&gt;PgBouncer 1.16&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.16.1/pgbouncer-1.16.1.tar.gz"&gt;pgbouncer-1.16.1.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2021-11-11&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;591450 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.16.1/pgbouncer-1.16.1.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.16.0/pgbouncer-1.16.0.tar.gz"&gt;pgbouncer-1.16.0.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2021-08-09&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;592136 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.16.0/pgbouncer-1.16.0.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-115"&gt;PgBouncer 1.15&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.15.0/pgbouncer-1.15.0.tar.gz"&gt;pgbouncer-1.15.0.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2020-11-19&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;588042 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.15.0/pgbouncer-1.15.0.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-114"&gt;PgBouncer 1.14&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.14.0/pgbouncer-1.14.0.tar.gz"&gt;pgbouncer-1.14.0.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2020-06-11&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;578955 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.14.0/pgbouncer-1.14.0.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-113"&gt;PgBouncer 1.13&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.13.0/pgbouncer-1.13.0.tar.gz"&gt;pgbouncer-1.13.0.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2020-04-27&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;574955 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.13.0/pgbouncer-1.13.0.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-112"&gt;PgBouncer 1.12&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.12.0/pgbouncer-1.12.0.tar.gz"&gt;pgbouncer-1.12.0.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2019-10-17&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;567465 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.12.0/pgbouncer-1.12.0.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-111"&gt;PgBouncer 1.11&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.11.0/pgbouncer-1.11.0.tar.gz"&gt;pgbouncer-1.11.0.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2019-08-27&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;571414 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.11.0/pgbouncer-1.11.0.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-110"&gt;PgBouncer 1.10&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.10.0/pgbouncer-1.10.0.tar.gz"&gt;pgbouncer-1.10.0.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2019-07-01&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;480571 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.10.0/pgbouncer-1.10.0.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-19"&gt;PgBouncer 1.9&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.9.0/pgbouncer-1.9.0.tar.gz"&gt;pgbouncer-1.9.0.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2018-08-13&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;469300 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.9.0/pgbouncer-1.9.0.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-18"&gt;PgBouncer 1.8&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.8.1/pgbouncer-1.8.1.tar.gz"&gt;pgbouncer-1.8.1.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2017-12-20&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;465930 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.8.1/pgbouncer-1.8.1.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.8/pgbouncer-1.8.tar.gz"&gt;pgbouncer-1.8.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2017-12-19&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;465612 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.8/pgbouncer-1.8.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-17"&gt;PgBouncer 1.7&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.7.2/pgbouncer-1.7.2.tar.gz"&gt;pgbouncer-1.7.2.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2016-02-26&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;462374 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.7.2/pgbouncer-1.7.2.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.7.1/pgbouncer-1.7.1.tar.gz"&gt;pgbouncer-1.7.1.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2016-02-18&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;461903 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.7.1/pgbouncer-1.7.1.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.7/pgbouncer-1.7.tar.gz"&gt;pgbouncer-1.7.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2015-12-18&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;459080 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.7/pgbouncer-1.7.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-16"&gt;PgBouncer 1.6&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.6.1/pgbouncer-1.6.1.tar.gz"&gt;pgbouncer-1.6.1.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2015-09-03&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;431076 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.6.1/pgbouncer-1.6.1.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.6/pgbouncer-1.6.tar.gz"&gt;pgbouncer-1.6.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2015-08-01&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;412700 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.6/pgbouncer-1.6.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-15"&gt;PgBouncer 1.5&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.5.5/pgbouncer-1.5.5.tar.gz"&gt;pgbouncer-1.5.5.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2015-04-09&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;336145 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.5.5/pgbouncer-1.5.5.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.5.4/pgbouncer-1.5.4.tar.gz"&gt;pgbouncer-1.5.4.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2012-11-28&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;339610 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.5.4/pgbouncer-1.5.4.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.5.3/pgbouncer-1.5.3.tar.gz"&gt;pgbouncer-1.5.3.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2012-09-12&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;339013 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.5.3/pgbouncer-1.5.3.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.5.2/pgbouncer-1.5.2.tar.gz"&gt;pgbouncer-1.5.2.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2012-05-29&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;335338 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.5.2/pgbouncer-1.5.2.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.5.1/pgbouncer-1.5.1.tar.gz"&gt;pgbouncer-1.5.1.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2012-04-17&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;334413 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.5.1/pgbouncer-1.5.1.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.5/pgbouncer-1.5.tar.gz"&gt;pgbouncer-1.5.tar.gz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2012-01-05&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;411488 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.5/pgbouncer-1.5.tar.gz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-14"&gt;PgBouncer 1.4&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.4.2/pgbouncer-1.4.2.tgz"&gt;pgbouncer-1.4.2.tgz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2011-06-16&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;283204 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.4.2/pgbouncer-1.4.2.tgz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.4.1/pgbouncer-1.4.1.tgz"&gt;pgbouncer-1.4.1.tgz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2011-04-01&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;282728 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.4.1/pgbouncer-1.4.1.tgz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.4/pgbouncer-1.4.tgz"&gt;pgbouncer-1.4.tgz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2011-01-11&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;231691 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.4/pgbouncer-1.4.tgz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-13"&gt;PgBouncer 1.3&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.3.4/pgbouncer-1.3.4.tgz"&gt;pgbouncer-1.3.4.tgz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2010-09-09&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;167957 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.3.4/pgbouncer-1.3.4.tgz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.3.3/pgbouncer-1.3.3.tgz"&gt;pgbouncer-1.3.3.tgz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2010-05-10&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;167476 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.3.3/pgbouncer-1.3.3.tgz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.3.2/pgbouncer-1.3.2.tgz"&gt;pgbouncer-1.3.2.tgz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2010-03-15&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;166756 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.3.2/pgbouncer-1.3.2.tgz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.3.1/pgbouncer-1.3.1.tgz"&gt;pgbouncer-1.3.1.tgz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2009-07-06&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;161518 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.3.1/pgbouncer-1.3.1.tgz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.3/pgbouncer-1.3.tgz"&gt;pgbouncer-1.3.tgz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2009-02-18&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;160154 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.3/pgbouncer-1.3.tgz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-12"&gt;PgBouncer 1.2&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.2.3/pgbouncer-1.2.3.tgz"&gt;pgbouncer-1.2.3.tgz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2008-08-08&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;145372 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.2.3/pgbouncer-1.2.3.tgz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.2.2/pgbouncer-1.2.2.tgz"&gt;pgbouncer-1.2.2.tgz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2008-08-06&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;145017 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.2.2/pgbouncer-1.2.2.tgz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.2.1/pgbouncer-1.2.1.tgz"&gt;pgbouncer-1.2.1.tgz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2008-08-04&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;144903 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.2.1/pgbouncer-1.2.1.tgz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.2/pgbouncer-1.2.tgz"&gt;pgbouncer-1.2.tgz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2008-07-29&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;143915 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.2/pgbouncer-1.2.tgz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-11"&gt;PgBouncer 1.1&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: right"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.1.2/pgbouncer-1.1.2.tgz"&gt;pgbouncer-1.1.2.tgz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td&gt;2007-12-10&lt;/td&gt;&#10; &lt;td style="text-align: right"&gt;122054 octets&lt;/td&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.1.2/pgbouncer-1.1.2.tgz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.1.1/pgbouncer-1.1.1.tgz"&gt;pgbouncer-1.1.1.tgz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td&gt;2007-10-26&lt;/td&gt;&#10; &lt;td style="text-align: right"&gt;121042 octets&lt;/td&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.1.1/pgbouncer-1.1.1.tgz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.1/pgbouncer-1.1.tgz"&gt;pgbouncer-1.1.tgz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td&gt;2007-10-09&lt;/td&gt;&#10; &lt;td style="text-align: right"&gt;120462 octets&lt;/td&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.1/pgbouncer-1.1.tgz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-10"&gt;PgBouncer 1.0&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Fichier&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Date&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;Taille&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: center"&gt;SHA256&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.0.8/pgbouncer-1.0.8.tgz"&gt;pgbouncer-1.0.8.tgz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2007-06-18&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;93636 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.0.8/pgbouncer-1.0.8.tgz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.0.7/pgbouncer-1.0.7.tgz"&gt;pgbouncer-1.0.7.tgz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2007-04-19&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;93086 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.0.7/pgbouncer-1.0.7.tgz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.0.6/pgbouncer-1.0.6.tgz"&gt;pgbouncer-1.0.6.tgz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2007-04-12&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;92244 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.0.6/pgbouncer-1.0.6.tgz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.0.5/pgbouncer-1.0.5.tgz"&gt;pgbouncer-1.0.5.tgz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2007-04-11&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;91934 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.0.5/pgbouncer-1.0.5.tgz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.0.4/pgbouncer-1.0.4.tgz"&gt;pgbouncer-1.0.4.tgz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2007-04-11&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;91889 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.0.4/pgbouncer-1.0.4.tgz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.0.3/pgbouncer-1.0.3.tgz"&gt;pgbouncer-1.0.3.tgz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2007-04-11&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;91489 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.0.3/pgbouncer-1.0.3.tgz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.0.2/pgbouncer-1.0.2.tgz"&gt;pgbouncer-1.0.2.tgz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2007-03-28&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;90555 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.0.2/pgbouncer-1.0.2.tgz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.0.1/pgbouncer-1.0.1.tgz"&gt;pgbouncer-1.0.1.tgz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2007-03-15&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;89609 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.0.1/pgbouncer-1.0.1.tgz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.0/pgbouncer-1.0.tgz"&gt;pgbouncer-1.0.tgz&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;2007-03-13&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;88587 octets&lt;/td&gt;&#10; &lt;td style="text-align: center"&gt;&lt;a href="https://www.pgbouncer.org/downloads/files/1.0/pgbouncer-1.0.tgz.sha256"&gt;sha256&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;h2 id="binary-packages"&gt;Paquets binaires&#10;&lt;/h2&gt;&#10;&lt;p&gt;Plusieurs distributions de systèmes d&amp;rsquo;exploitation proposent leur propre paquet ou port de PgBouncer. Il est donc recommandé de vérifier en premier lieu si celui-ci est déjà disponible sur votre système d&amp;rsquo;exploitation.&lt;/p&gt;</description></item><item><title>Traitement parallèle</title><link>https://pig.center/fr/docs/pgbadger/parallel-processing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbadger/parallel-processing/</guid><description>&lt;p&gt;pgBadger dispose de deux modes de traitement parallèle complémentaires. Choisissez selon la forme de l&amp;rsquo;entrée, et non simplement selon le nombre de processeurs.&lt;/p&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Option&lt;/th&gt;&#10; &lt;th scope="col"&gt;Unité parallèle&lt;/th&gt;&#10; &lt;th scope="col"&gt;Meilleur ajustement&lt;/th&gt;&#10; &lt;th scope="col"&gt;Contrainte principale&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;-j N&lt;/code&gt; / &lt;code&gt;--jobs N&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;tronçons d&amp;rsquo;un fichier journal&lt;/td&gt;&#10; &lt;td&gt;un seul fichier journal volumineux et accessible par recherche&lt;/td&gt;&#10; &lt;td&gt;les limites des tronçons peuvent dupliquer ou omettre un petit nombre de requêtes&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;-J N&lt;/code&gt; / &lt;code&gt;--Jobs N&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;fichiers journaux entiers&lt;/td&gt;&#10; &lt;td&gt;plusieurs fichiers journaux indépendants&lt;/td&gt;&#10; &lt;td&gt;utile uniquement lorsque suffisamment de fichiers sont disponibles pour garder les workers occupés&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h2 id="single-file-jobs"&gt;Découper un grand fichier avec &lt;code&gt;-j&lt;/code&gt;&#10;&lt;/h2&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-82ecc83b-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="console" data-td-line-count="1"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-82ecc83b-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; pgbadger -j &lt;span class="m"&gt;8&lt;/span&gt; /var/log/postgresql/postgresql.log&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;L&amp;rsquo;algorithme upstream divise chaque fichier en plages de &lt;code&gt;N&lt;/code&gt; octets, lance un parseur par plage, écrit des statistiques binaires temporaires, puis fusionne ces statistiques pour produire le rapport final.&lt;/p&gt;</description></item><item><title>Imagerie de réplique et amorçage</title><link>https://pig.center/fr/docs/patroni/replica_bootstrap/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/replica_bootstrap/</guid><description>&lt;p&gt;&lt;a id="replica_imaging_and_bootstrap"&gt;&lt;/a&gt;&#10;Patroni permet de personnaliser la création d&amp;rsquo;une nouvelle réplique. Il prend également en charge la définition des actions à effectuer lors de l&amp;rsquo;amorçage d&amp;rsquo;un nouveau cluster vide. La distinction entre les deux est clairement établie : Patroni crée des répliques uniquement si la clé &lt;code&gt;initialize&lt;/code&gt; est présente dans le DCS pour le cluster. Si la clé &lt;code&gt;initialize&lt;/code&gt; est absente, Patroni lance l&amp;rsquo;amorçage exclusivement sur le premier nœud qui obtient le verrou de la clé initialize.&lt;/p&gt;</description></item><item><title>Commande d'expiration (expire)</title><link>https://pig.center/fr/docs/pgbackrest/command/expire/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/command/expire/</guid><description>&lt;p&gt;pgBackRest effectue la rotation des sauvegardes complètes selon le type de rétention, qui peut être défini par un nombre ou une période de temps. Lorsqu’un nombre est spécifié, l’expiration n’est pas liée à la date de création des sauvegardes, mais au nombre de sauvegardes à conserver. Les sauvegardes différentielles sont basées sur un nombre, mais sont toujours expirées lorsque la sauvegarde complète dont elles dépendent est expirée. Les sauvegardes incrémentielles ne sont pas expirées indépendamment par rétention — elles sont toujours expirées en même temps que leur sauvegarde complète ou différentielle associée. Pour plus de détails et d’exemples, reportez-vous aux sections &lt;a href="https://pig.center/fr/docs/pgbackrest/user-guide/#full-backup-retention"&gt;Rétention des sauvegardes complètes&lt;/a&gt;&#10; et &lt;a href="https://pig.center/fr/docs/pgbackrest/user-guide/#differential-backup-retention"&gt;Rétention des sauvegardes différentielles&lt;/a&gt;&#10;.&lt;/p&gt;</description></item><item><title>Fonctionnalités avancées</title><link>https://pig.center/fr/docs/haproxy/advanced-features/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/advanced-features/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;h2 id="section-3-5-1"&gt;3.5.1. Fonctionnalités avancées : Gestion&#10;&lt;/h2&gt;&#10;&lt;p&gt;HAProxy est conçu pour rester extrêmement stable et sécurisé à gérer dans un environnement de production classique. Il est fourni sous forme d’un seul fichier exécutable ne nécessitant aucun processus d’installation. Plusieurs versions peuvent coexister facilement, ce qui permet (et est recommandé) de mettre à jour les instances progressivement, par ordre de priorité, plutôt que de les migrer toutes en même temps. Les fichiers de configuration sont facilement versionnés. La vérification de configuration se fait hors ligne, sans nécessiter de redémarrer un service susceptible de échouer. Pendant la vérification de configuration, un certain nombre d’erreurs avancées peuvent être détectées (par exemple, une règle masquant une autre, ou une persistance qui ne fonctionnera pas), et des avertissements détaillés ainsi que des suggestions de configuration sont proposés pour les corriger. La compatibilité des fichiers de configuration avec les versions antérieures s’étend très loin dans le temps : la version 1.5 supporte encore entièrement les configurations écrites pour les versions 1.1, il y a 13 ans, et la version 1.6 n’a abandonné le support que pour des mots-clés presque inutilisés et obsolètes, pouvant être remplacés autrement. Le mécanisme de mise à jour de la configuration et du logiciel est fluide et non disruptif, car il permet à des processus anciens et nouveaux de coexister sur le système, chacun gérant ses propres connexions. L’état du système, les options de compilation et la compatibilité des bibliothèques sont rapportés au démarrage.&lt;/p&gt;</description></item><item><title>Rapports incrémentiels</title><link>https://pig.center/fr/docs/pgbadger/incremental-reports/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbadger/incremental-reports/</guid><description>&lt;p&gt;Le mode incrémentiel stocke les statistiques analysées sous forme binaire, puis génère un rapport HTML par jour, un rapport cumulatif par semaine et un index au format calendrier reliant ces rapports. Il est destiné à un traitement répété des journaux tournés sans compter deux fois les mêmes entrées.&lt;/p&gt;&#10;&lt;h2 id="daily-and-weekly"&gt;Générer des rapports quotidiens et hebdomadaires&#10;&lt;/h2&gt;&#10;&lt;p&gt;Exécutez pgBadger après la rotation quotidienne des journaux et spécifiez un répertoire de sortie persistant :&lt;/p&gt;</description></item><item><title>Notes de version</title><link>https://pig.center/fr/docs/pgbackrest/release/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/release/</guid><description>&lt;hr&gt;&#10;&lt;h2 id="introduction"&gt;Introduction&#10;&lt;/h2&gt;&#10;&lt;p&gt;Les numéros de version de pgBackRest se composent de deux parties : majeure et mineure. Une version majeure &lt;em&gt;peut&lt;/em&gt; rompre la compatibilité avec la version majeure précédente, mais les versions v2 sont entièrement compatibles avec les dépôts v1 et acceptent toutes les options v1. Les versions mineures peuvent inclure des correctifs et des fonctionnalités, mais ne modifient pas le format du dépôt et s&amp;rsquo;efforcent d&amp;rsquo;éviter tout changement aux options et aux noms. La documentation de la version v1 est disponible &lt;a href="https://pgbackrest.org/1"&gt;ici&lt;/a&gt;&#10;. Les notes relatives à une version peuvent également contenir des « Notes supplémentaires », mais les modifications dans cette section n&amp;rsquo;ont d&amp;rsquo;impact direct que sur la documentation ou le jeu de tests et n&amp;rsquo;affectent pas le codebase de pgBackRest.&lt;/p&gt;</description></item><item><title>Taille et performance</title><link>https://pig.center/fr/docs/haproxy/sizing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/sizing/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Les valeurs typiques d&amp;rsquo;utilisation du processeur montrent que 15 % du temps de traitement sont consacrés à HAProxy contre 85 % au noyau en mode TCP ou HTTP fermé, et environ 30 % pour HAProxy contre 70 % pour le noyau en mode HTTP keep-alive. Cela signifie que le système d&amp;rsquo;exploitation et son réglage ont une influence forte sur les performances globales.&lt;/p&gt;</description></item><item><title>Questions fréquemment posées</title><link>https://pig.center/fr/docs/pgbackrest/faq/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/faq/</guid><description>&lt;hr&gt;&#10;&lt;h2 id="introduction"&gt;Introduction&#10;&lt;/h2&gt;&#10;&lt;p&gt;Les questions fréquemment posées ont pour but de fournir des précisions sur des questions spécifiques qui peuvent ou non être traitées dans le guide utilisateur, la configuration ou la référence des commandes. Si vous ne trouvez pas de réponse à votre problème particulier ici, n&amp;rsquo;oubliez pas que la liste des problèmes pgBackRest &lt;a href="https://github.com/pgbackrest/pgbackrest/issues"&gt;Issues List in GitHub&lt;/a&gt;&#10; constitue également une ressource précieuse.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="what-if-i-get-the-could-not-find-wal-segment-error"&gt;Que faire si j’obtiens l’erreur « impossible de trouver le segment WAL » ?&#10;&lt;/h2&gt;&#10;&lt;p&gt;La cause de cette erreur peut résulter de nombreux problèmes différents, dont certains peuvent être :&lt;/p&gt;</description></item><item><title>Formats de sortie</title><link>https://pig.center/fr/docs/pgbadger/output-formats/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbadger/output-formats/</guid><description>&lt;p&gt;pgBadger sélectionne la sortie en fonction de l&amp;rsquo;extension du nom de fichier ou de &lt;code&gt;-x&lt;/code&gt; / &lt;code&gt;--extension&lt;/code&gt;. Utilisez &lt;code&gt;-o&lt;/code&gt; / &lt;code&gt;--outfile&lt;/code&gt; plus d&amp;rsquo;une fois pour générer plusieurs formats à partir du même analyse.&lt;/p&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Format&lt;/th&gt;&#10; &lt;th scope="col"&gt;Extension typique&lt;/th&gt;&#10; &lt;th scope="col"&gt;Meilleur usage&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;HTML&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;.html&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;rapport interactif, lisible par l’humain avec graphiques&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;Texte&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;.txt&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;consultation en terminal et sortie archivée brute&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;Binaire&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;.bin&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;statistiques intermédiaires fusionnables et reconstructions de rapport&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;JSON&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;.json&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;intégration avec d’autres logiciels ; nécessite &lt;code&gt;JSON::XS&lt;/code&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;CSV brut&lt;/td&gt;&#10; &lt;td&gt;fichier de sortie choisi&lt;/td&gt;&#10; &lt;td&gt;extraction orientée ligne avec &lt;code&gt;--dump-raw-csv&lt;/code&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h2 id="html-and-text"&gt;HTML et texte&#10;&lt;/h2&gt;&#10;&lt;p&gt;La sortie par défaut est &lt;code&gt;out.html&lt;/code&gt; :&lt;/p&gt;</description></item><item><title>Commande d'aide (help)</title><link>https://pig.center/fr/docs/pgbackrest/command/help/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/command/help/</guid><description>&lt;p&gt;Trois niveaux d’aide sont proposés. Si aucune commande n’est spécifiée, une aide générale sera affichée. Si une commande est précisée (par exemple &lt;code&gt;pgbackrest help backup&lt;/code&gt;), une description complète de la commande sera affichée, accompagnée d’une liste des options valides. Si une option est précisée en plus d’une commande (par exemple &lt;code&gt;pgbackrest help backup type&lt;/code&gt;), une description complète de l’option telle qu’elle s’applique à la commande sera affichée.&lt;/p&gt;&#10;&lt;h2 id="command-options"&gt;Options de commande&#10;&lt;/h2&gt;&#10;&lt;h3 id="display-help-option---help"&gt;Afficher l’option d’aide (&lt;code&gt;--help&lt;/code&gt;)&#10;&lt;/h3&gt;&#10;&lt;p&gt;Affiche l’aide.&lt;/p&gt;</description></item><item><title>Journal des modifications</title><link>https://pig.center/fr/docs/pgbouncer/changelog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbouncer/changelog/</guid><description>&lt;hr&gt;&#10;&lt;h2 id="pgbouncer-125x"&gt;PgBouncer 1.25.x&#10;&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;2026-05-08 - PgBouncer 1.25.2 - &amp;ldquo;Touch humain avec une touche fraîche dans la course au titre pleine d&amp;rsquo;incertitudes&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Sécurité&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Correctif CVE-2026-6664 : Une dépassement d&amp;rsquo;entier dans le code de traitement des paquets réseau de PgBouncer antérieur à la version 1.25.2 contourne une vérification de borne et peut entraîner un crash. Un attaquant distant non authentifié peut provoquer un crash de PgBouncer en envoyant un paquet d&amp;rsquo;authentification SCRAM malformé.&lt;/li&gt;&#10;&lt;li&gt;Correctif CVE-2026-6665 : Le code SCRAM de PgBouncer antérieur à la version 1.25.2 ne vérifiait pas correctement la valeur de retour de &lt;code&gt;strlcat()&lt;/code&gt; lors de la construction du contenu du message client-final SCRAM. Un serveur malveillant pouvant envoyer un message serveur-final SCRAM avec un nonce long peut déclencher un dépassement de pile.&lt;/li&gt;&#10;&lt;li&gt;Correctif CVE-2026-6666 : Une référence vers un pointeur nul possible dans PgBouncer antérieur à la version 1.25.2 pouvait entraîner un crash si un serveur envoyait une réponse d&amp;rsquo;erreur sans champ SQLSTATE.&lt;/li&gt;&#10;&lt;li&gt;Correctif CVE-2026-6667 : PgBouncer antérieur à la version 1.25.2 n&amp;rsquo;effectuait pas de vérification d&amp;rsquo;autorisation appropriée pour la commande &lt;code&gt;KILL_CLIENT&lt;/code&gt;. Tous les utilisateurs ayant accès à la console d&amp;rsquo;administration, qui nécessite elle-même une authentification, pouvaient exécuter cette commande. Cette opération doit uniquement être autorisée pour les utilisateurs listés dans le paramètre &lt;code&gt;admin_users&lt;/code&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Correctifs&lt;/p&gt;</description></item><item><title>Modes de réplication</title><link>https://pig.center/fr/docs/patroni/replication_modes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/replication_modes/</guid><description>&lt;p&gt;&lt;a id="replication_modes"&gt;&lt;/a&gt;&#10;Patroni utilise la réplication en streaming de PostgreSQL. Pour en savoir plus sur la réplication en streaming, consultez la documentation &lt;a href="http://www.postgresql.org/docs/current/static/warm-standby.html#STREAMING-REPLICATION"&gt;Postgres&lt;/a&gt;&#10;. Par défaut, Patroni configure PostgreSQL pour une réplication asynchrone. Le choix de votre schéma de réplication dépend de vos considérations métier. Étudiez à la fois la réplication asynchrone et synchrone, ainsi que d&amp;rsquo;autres solutions de haute disponibilité, afin de déterminer la solution la mieux adaptée à votre situation.&lt;/p&gt;</description></item><item><title>cluster de secours</title><link>https://pig.center/fr/docs/patroni/standby_cluster/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/standby_cluster/</guid><description>&lt;p&gt;&lt;a id="standby_cluster"&gt;&lt;/a&gt;&#10;Patroni prend également en charge l&amp;rsquo;exécution d&amp;rsquo;une réplication en cascade vers un centre de données distant (région) à l&amp;rsquo;aide d&amp;rsquo;une fonctionnalité appelée « stand-by cluster ». Ce type de cluster présente les caractéristiques suivantes :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;« leader en veille », qui se comporte presque comme un leader de cluster régulier, à ceci près qu&amp;rsquo;il effectue la réplication à partir d&amp;rsquo;un nœud distant.&lt;/li&gt;&#10;&lt;li&gt;répliques en cascade, qui effectuent la réplication à partir d&amp;rsquo;un leader en veille.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Le leader de secours détient et met à jour un verrou de leader dans le DCS. Si le verrou de leader expire, les répliques en cascade effectueront une élection afin de choisir un autre leader parmi les serveurs de secours.&lt;/p&gt;</description></item><item><title>Communauté</title><link>https://pig.center/fr/docs/pgbouncer/community/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbouncer/community/</guid><description>&lt;hr&gt;&#10;&lt;h2 id="tutorials"&gt;Tutoriels&#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://get.enterprisedb.com/docs/Tutorial_All_PPSS_pgBouncer.pdf"&gt;Comment configurer PgBouncer pour Postgres Plus Standard Server&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Vue d&amp;rsquo;ensemble complète des concepts de PgBouncer.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="http://www.depesz.com/2012/12/02/what-is-the-point-of-bouncing/"&gt;À quoi sert le rebondissement ?&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Explique les différences entre les modes de regroupement.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="support"&gt;Prise en charge&#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/pgbouncer/pgbouncer"&gt;Page du projet&lt;/a&gt;&#10; sur GitHub&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/pgbouncer/pgbouncer/issues"&gt;Suivi des problèmes&lt;/a&gt;&#10; sur GitHub&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;a href="https://stackoverflow.com/questions/tagged/pgbouncer"&gt;Section PgBouncer sur Stack Overflow&lt;/a&gt;&#10;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/pgbouncer/pgbouncer/discussions"&gt;Discussions de la communauté&lt;/a&gt;&#10; sur GitHub&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Info Commande (info)</title><link>https://pig.center/fr/docs/pgbackrest/command/info/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/command/info/</guid><description>&lt;p&gt;La commande &lt;code&gt;info&lt;/code&gt; s&amp;rsquo;applique à une seule stanza ou à toutes les stanzas. La sortie texte est la valeur par défaut et fournit un résumé lisible par l&amp;rsquo;humain des sauvegardes pour la ou les stanzas demandées. Ce format peut évoluer à tout moment dans une version.&lt;/p&gt;&#10;&lt;p&gt;Pour une sortie lisible par machine, utilisez &lt;code&gt;--output=json&lt;/code&gt;. La sortie JSON contient bien plus d&amp;rsquo;informations que la sortie texte et est maintenue stable, sauf en cas de bug.&lt;/p&gt;</description></item><item><title>Métriques du projet</title><link>https://pig.center/fr/docs/pgbackrest/metric/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/metric/</guid><description>&lt;hr&gt;&#10;&lt;h2 id="code-coverage"&gt;Couverture de code&#10;&lt;/h2&gt;&#10;&lt;p&gt;pgBackRest vise à obtenir une couverture complète des fonctions, branches et lignes pour le code C principal dans &lt;code&gt;/src&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;La couverture fonctionnelle et par ligne est complète, sans exception.&lt;/p&gt;&#10;&lt;p&gt;La couverture de branche exclut les branches à l&amp;rsquo;intérieur des macros et les appels à &lt;code&gt;assert()&lt;/code&gt;. Les macros ont leurs propres tests unitaires, donc elles n&amp;rsquo;ont pas besoin d&amp;rsquo;être testées à chaque endroit où elles apparaissent. Les assertions ne doivent pas être complètement couvertes en termes de branche, car elles vérifient des cas qui doivent toujours être vrais.&lt;/p&gt;</description></item><item><title>Rapports d'exemple</title><link>https://pig.center/fr/docs/pgbadger/sample-reports/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbadger/sample-reports/</guid><description>&lt;p&gt;Le contenu d&amp;rsquo;exemple a été généré par pgBadger 11.8 en mai 2022. Les exemples originaux sont stockés avec ce site, de sorte que la navigation dans le rapport, les graphiques, les styles et les scripts restent disponibles sans avoir à interroger le serveur d&amp;rsquo;origine.&lt;/p&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Exemple&lt;/th&gt;&#10; &lt;th scope="col"&gt;Ce qu&amp;rsquo;il illustre&lt;/th&gt;&#10; &lt;th scope="col"&gt;Copie locale&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;Rapport complet&lt;/td&gt;&#10; &lt;td&gt;Activité PostgreSQL ainsi que les statistiques de PgBouncer&lt;/td&gt;&#10; &lt;td&gt;&lt;a href="https://pig.center/third_party/pgbadger/examples/sample.html"&gt;Ouvrir le rapport complet&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;Rapport incrémentiel&lt;/td&gt;&#10; &lt;td&gt;Index calendrier, agrégation hebdomadaire et pages quotidiennes&lt;/td&gt;&#10; &lt;td&gt;&lt;a href="https://pig.center/third_party/pgbadger/examples/report/index.html"&gt;Ouvrir l&amp;rsquo;index incrémentiel&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;Erreurs et événements&lt;/td&gt;&#10; &lt;td&gt;Un rapport limité aux erreurs et aux événements opérationnels&lt;/td&gt;&#10; &lt;td&gt;&lt;a href="https://pig.center/third_party/pgbadger/examples/errors.html"&gt;Ouvrir le rapport d&amp;rsquo;erreurs&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h2 id="complete-report"&gt;Rapport complet&#10;&lt;/h2&gt;&#10;&lt;p&gt;Le rapport complet est un document HTML autonome. Utilisez la navigation en haut pour examiner les statistiques globales, les requêtes, les sessions, les connexions, les fichiers temporaires, les points de contrôle, l&amp;rsquo;activité d&amp;rsquo;autovacuum, les verrous et les graphiques spécifiques à PgBouncer.&lt;/p&gt;</description></item><item><title>Versions, Paquets et Mises à jour</title><link>https://pig.center/fr/docs/haproxy/releases-and-upgrades/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/releases-and-upgrades/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;HAProxy est un projet open source soumis à la licence GPLv2, ce qui signifie que toute personne est autorisée à le redistribuer à condition de fournir l&amp;rsquo;accès au code source sur demande, notamment si des modifications ont été apportées.&lt;/p&gt;&#10;&lt;p&gt;HAProxy évolue via une branche de développement principale appelée « master » ou « mainline », à partir de laquelle de nouvelles branches sont créées une fois que le code est jugé stable. De nombreux sites web exécutent des branches de développement en production de manière volontaire, soit pour participer au projet, soit parce qu&amp;rsquo;ils ont besoin d&amp;rsquo;une fonctionnalité de pointe, et leurs retours sont précieux pour corriger les bogues et évaluer la qualité et la stabilité globales de la version en développement.&lt;/p&gt;</description></item><item><title>Produits complémentaires et alternatives</title><link>https://pig.center/fr/docs/haproxy/ecosystem/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/ecosystem/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;HAProxy s&amp;rsquo;intègre assez bien avec certains produits listés ci-dessous, ce qui justifie leur mention ici, même s&amp;rsquo;ils ne sont pas directement liés à HAProxy.&lt;/p&gt;&#10;&lt;h2 id="section-4-1"&gt;4.1. Serveur HTTP Apache&#10;&lt;/h2&gt;&#10;&lt;p&gt;Apache est le serveur HTTP de facto. Il s&amp;rsquo;agit d&amp;rsquo;un projet très complet et modulaire, capable de servir des fichiers ainsi que du contenu dynamique. Il peut agir de front-end pour certains serveurs d&amp;rsquo;applications. Il peut même acheminer des requêtes et mettre en mémoire tampon les réponses. Dans tous ces cas d&amp;rsquo;utilisation, un répartiteur de charge frontal est généralement nécessaire. Apache peut fonctionner dans divers modes, certains étant plus lourds que d&amp;rsquo;autres. Certains modules nécessitent encore le modèle pré-forké plus lourd, ce qui empêche Apache de bien évoluer avec un grand nombre de connexions. Dans ce cas, HAProxy peut apporter une aide considérable en imposant des limites de connexion par serveur à une valeur sûre, ce qui accélère significativement le serveur et préserve ses ressources, qui seront mieux utilisées par l&amp;rsquo;application.&lt;/p&gt;</description></item><item><title>Questions fréquemment posées</title><link>https://pig.center/fr/docs/pgbouncer/faq/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbouncer/faq/</guid><description>&lt;hr&gt;&#10;&lt;h2 id="how-to-connect-to-pgbouncer"&gt;Comment se connecter à PgBouncer ?&#10;&lt;/h2&gt;&#10;&lt;p&gt;PgBouncer agit comme un serveur Postgres, il suffit donc de configurer votre client pour qu’il se connecte au port de PgBouncer.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="how-to-load-balance-queries-between-several-servers"&gt;Comment équilibrer la charge des requêtes entre plusieurs serveurs ?&#10;&lt;/h2&gt;&#10;&lt;p&gt;PgBouncer ne dispose pas de configuration interne multi-hôtes.&#10;Il est possible via des outils externes :&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Round-robin DNS. Utilisez plusieurs adresses IP derrière un même nom DNS. PgBouncer ne résout pas le DNS à chaque nouvelle connexion. Il met en cache toutes les adresses IP et effectue le round-robin de manière interne. Note : si plus de 8 adresses IP sont associées à un même nom, le serveur DNS backend doit prendre en charge le protocole EDNS0. Voir le fichier README pour plus de détails.&lt;/p&gt;</description></item><item><title>Prise en charge du watchdog</title><link>https://pig.center/fr/docs/patroni/watchdog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/watchdog/</guid><description>&lt;p&gt;&lt;a id="watchdog"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;L&amp;rsquo;exécution de plusieurs serveurs PostgreSQL en tant que primaires peut entraîner la perte de transactions en raison de lignes temporelles divergentes. Ce cas est également appelé problème de split-brain. Pour éviter le split-brain, Patroni doit s&amp;rsquo;assurer que PostgreSQL n&amp;rsquo;accepte aucune validation de transaction après l&amp;rsquo;expiration de la clé leader dans le DCS. Dans des conditions normales, Patroni tente d&amp;rsquo;atteindre cet objectif en arrêtant PostgreSQL lorsque la mise à jour du verrou leader échoue pour quelque raison que ce soit. Toutefois, cette action peut échouer pour diverses raisons :&lt;/p&gt;</description></item><item><title>Commande d'obtention de dépôt (repo-get)</title><link>https://pig.center/fr/docs/pgbackrest/command/repo-get/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/command/repo-get/</guid><description>&lt;p&gt;Similaire à la commande unix &lt;code&gt;cat&lt;/code&gt; mais fonctionne sur n&amp;rsquo;importe quel type de dépôt pris en charge. Cette commande nécessite un nom de fichier entièrement qualifié et est principalement destinée à l&amp;rsquo;administration, l&amp;rsquo;investigation et les tests. Elle n&amp;rsquo;est pas obligatoire dans une configuration normale de pgBackRest.&lt;/p&gt;&#10;&lt;p&gt;Si le dépôt est chiffré, &lt;code&gt;repo-get&lt;/code&gt; déchiffrera automatiquement le fichier. Les fichiers ne sont pas automatiquement décompressés, mais la sortie peut être redirigée vers la commande de décompression appropriée, par exemple &lt;code&gt;gzip -d&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Comment configurer un cluster étcd de démonstration</title><link>https://pig.center/fr/docs/etcd/tasks/operator/how-to-setup-cluster/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/tasks/operator/how-to-setup-cluster/</guid><description>&lt;img class="td-image" src="https://pig.center/docs/etcd/tasks/img/setup-cluster.gif" alt="01_etcd_clustering_2016050601" loading="lazy" decoding="async"&gt;&lt;p&gt;Sur chaque nœud etcd, précisez les membres du cluster :&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-59153cb7-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="shell" data-td-line-count="9"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-59153cb7-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;token-01&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;new&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;machine-1&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;machine-2&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;machine-3&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.17&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.18&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.19&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380,&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380,&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;Exécutez ceci sur chaque machine :&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-59153cb7-fence-1" data-td-code data-td-code-auto-id&#10; data-td-language="shell" data-td-line-count="26"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-59153cb7-fence-1-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# For machine 1&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 --listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 --listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# For machine 2&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 --listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 --listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# For machine 3&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 --listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 --listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;Ou utilisez notre service de découverte public :&lt;/p&gt;</description></item><item><title>Mode Pause/Reprise pour le cluster</title><link>https://pig.center/fr/docs/patroni/pause/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/pause/</guid><description>&lt;p&gt;&lt;a id="pause"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="the-goal"&gt;Objectif&#10;&lt;/h2&gt;&#10;&lt;p&gt;Dans certains cas, Patroni doit pouvoir se retirer temporairement de la gestion du cluster tout en conservant l’état du cluster dans le DCS. Les cas d’utilisation possibles concernent des activités inhabituelles sur le cluster, telles que les mises à jour majeures de version ou la récupération après corruption. Pendant ces opérations, les nœuds sont souvent démarrés et arrêtés pour des raisons inconnues de Patroni, certains nœuds pouvant même être temporairement promus, ce qui contrevient à l’hypothèse d’un seul nœud primaire en cours d’exécution. Par conséquent, Patroni doit pouvoir se « déconnecter » du cluster en cours, en implémentant une fonctionnalité équivalente au mode maintenance de Pacemaker.&lt;/p&gt;</description></item><item><title>Prise en charge et contribution</title><link>https://pig.center/fr/docs/pgbadger/support/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbadger/support/</guid><description>&lt;p&gt;pgBadger est maintenu dans le cadre d&amp;rsquo;un projet open source. Les rapports de bogues, les propositions de fonctionnalités, les corrections de documentation et les correctifs sont gérés via le dépôt GitHub principal.&lt;/p&gt;&#10;&lt;h2 id="bugs-and-features"&gt;Signalements de bogues et demandes de fonctionnalités&#10;&lt;/h2&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Passez à la dernière version publiée et vérifiez que le comportement persiste.&lt;/li&gt;&#10;&lt;li&gt;Recherchez dans les &lt;a href="https://github.com/darold/pgbadger/issues"&gt;problèmes ouverts&lt;/a&gt;&#10; et les &lt;a href="https://github.com/darold/pgbadger/issues?q=is%3Aissue&amp;#43;is%3Aclosed"&gt;problèmes fermés&lt;/a&gt;&#10; une réponse existante.&lt;/li&gt;&#10;&lt;li&gt;Réduisez le problème à l’échantillon de journal le plus petit possible, qui reproduit encore le comportement.&lt;/li&gt;&#10;&lt;li&gt;Supprimez les identifiants, les requêtes SQL sensibles, les valeurs liées, les noms d’hôtes, les adresses et les données métier.&lt;/li&gt;&#10;&lt;li&gt;Ouvrez un &lt;a href="https://github.com/darold/pgbadger/issues/new"&gt;nouveau problème&lt;/a&gt;&#10; avec la version de pgBadger, le système d’exploitation, le format d’entrée, les options exactes, le résultat observé et le résultat attendu.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;En cas de plantage ou d&amp;rsquo;erreur de parsing, inclure uniquement les lignes de journalisation minimales et nettoyées nécessaires à la reproduction de la limite. Un journal de production complet ou un rapport généré est rarement adapté à une issue publique.&lt;/p&gt;</description></item><item><title>Commande Liste des dépôts (repo-ls)</title><link>https://pig.center/fr/docs/pgbackrest/command/repo-ls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/command/repo-ls/</guid><description>&lt;p&gt;Similaire à la commande unix &lt;code&gt;ls&lt;/code&gt; mais fonctionne sur tout type de dépôt pris en charge. Cette commande accepte un chemin, absolu ou relatif par rapport au chemin du dépôt défini par l&amp;rsquo;option &lt;code&gt;--repo-path&lt;/code&gt;, et est principalement destinée à l&amp;rsquo;administration, l&amp;rsquo;investigation et les tests. Elle n&amp;rsquo;est pas obligatoire dans une configuration pgBackRest normale.&lt;/p&gt;&#10;&lt;p&gt;La sortie texte par défaut affiche un nom de fichier par ligne. La sortie JSON est disponible en spécifiant &lt;code&gt;--output=json&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Documentation et communauté</title><link>https://pig.center/fr/docs/haproxy/resources/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/resources/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;h2 id="section-1"&gt;1. Documentation disponible&#10;&lt;/h2&gt;&#10;&lt;p&gt;La documentation complète de HAProxy est contenue dans les documents suivants. Veuillez vous assurer de consulter la documentation pertinente afin d’économiser du temps et d’obtenir la réponse la plus précise à vos besoins. Veuillez également vous abstenir d’envoyer des questions à la liste de diffusion dont les réponses sont déjà disponibles dans ces documents.&lt;/p&gt;</description></item><item><title>Documentation de configuration</title><link/><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid/><description/></item><item><title>Licence et crédits</title><link>https://pig.center/fr/docs/pgbadger/license/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbadger/license/</guid><description>&lt;p&gt;pgBadger est un logiciel libre et open source distribué sous la licence PostgreSQL. Il peut être utilisé, copié, modifié et redistribué sans frais, sous réserve du maintien des mentions de copyright et de licence.&lt;/p&gt;&#10;&lt;h2 id="postgresql-license"&gt;Licence PostgreSQL&#10;&lt;/h2&gt;&#10;&lt;p&gt;Copyright (c) 2012-2026, Gilles Darold&lt;/p&gt;&#10;&lt;p&gt;Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.&lt;/p&gt;</description></item><item><title>Mode de secours DCS</title><link>https://pig.center/fr/docs/patroni/dcs_failsafe_mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/dcs_failsafe_mode/</guid><description>&lt;p&gt;&lt;a id="dcs_failsafe_mode"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="the-problem"&gt;Le problème&#10;&lt;/h2&gt;&#10;&lt;p&gt;Patroni s’appuie fortement sur le magasin de configuration distribué (DCS) pour résoudre les élections de leader et détecter les partitions réseau. Un nœud ne peut exécuter PostgreSQL en tant que primaire que s’il parvient à mettre à jour le verrou de leader dans le DCS. En cas d’échec de mise à jour du verrou de leader, PostgreSQL est immédiatement rétrogradé et lancé en lecture seule. Selon le DCS utilisé, les chances de rencontrer ce problème varient. Par exemple, avec etcd, utilisé exclusivement par Patroni, les chances sont quasi nulles, tandis qu’avec l’API Kubernetes (appuyée sur etcd), ce problème peut être observé plus fréquemment.&lt;/p&gt;</description></item><item><title>Commande de restauration (restore)</title><link>https://pig.center/fr/docs/pgbackrest/command/restore/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/command/restore/</guid><description>&lt;p&gt;La commande de restauration sélectionne automatiquement la dernière sauvegarde du premier dépôt où des sauvegardes existent (voir &lt;a href="https://pig.center/fr/docs/pgbackrest/user-guide/#restore-a-backup"&gt;Démarrage rapide - Restaurer une sauvegarde&lt;/a&gt;&#10;). L&amp;rsquo;ordre dans lequel les dépôts sont vérifiés est déterminé par le &lt;code&gt;pgbackrest.conf&lt;/code&gt; (par exemple, repo1 sera vérifié avant repo2). Pour sélectionner un dépôt spécifique, l&amp;rsquo;option &lt;code&gt;--repo&lt;/code&gt; peut être utilisée (par exemple, &lt;code&gt;--repo=1&lt;/code&gt;). L&amp;rsquo;option &lt;code&gt;--set&lt;/code&gt; peut être utilisée si une sauvegarde autre que la plus récente est souhaitée.&lt;/p&gt;</description></item><item><title>1. Petit rappel sur HTTP</title><link>https://pig.center/fr/docs/haproxy/http-fundamentals/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/http-fundamentals/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Ce document traite du langage de configuration tel qu’il est implémenté dans la version indiquée ci-dessus. Il ne fournit aucune indication, exemple ou conseil. Pour ce type de documentation, veuillez vous référer au Manuel de référence ou au Manuel d’architecture. Les chapitres numérotés sont ordonnés dans la barre latérale plate de HAProxy pour une navigation directe.&lt;/p&gt;&#10;&lt;p&gt;Lorsque HAProxy fonctionne en mode HTTP, la requête et la réponse sont entièrement analysées et indexées, ce qui permet de définir des critères de correspondance sur presque tout élément présent dans leur contenu.&lt;/p&gt;</description></item><item><title>Commande serveur (server)</title><link>https://pig.center/fr/docs/pgbackrest/command/server/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/command/server/</guid><description>&lt;p&gt;Le serveur pgBackRest permet d&amp;rsquo;accéder aux hôtes distants sans utiliser le protocole SSH.&lt;/p&gt;&#10;&lt;h2 id="command-options"&gt;Options de commande&#10;&lt;/h2&gt;&#10;&lt;h3 id="tls-server-address-option---tls-server-address"&gt;Option d&amp;rsquo;adresse serveur TLS (&lt;code&gt;--tls-server-address&lt;/code&gt;)&#10;&lt;/h3&gt;&#10;&lt;p&gt;Adresse du serveur TLS.&lt;/p&gt;&#10;&lt;p&gt;Adresse IP sur laquelle le serveur écoute les requêtes clients.&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-50dc1f3c-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="yaml" data-td-line-count="2"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-50dc1f3c-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;default&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;localhost&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;example&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;--&lt;span class="l"&gt;tls-server-address=*&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h3 id="tls-server-authorized-clients-option---tls-server-auth"&gt;Option Clients autorisés du serveur TLS (&lt;code&gt;--tls-server-auth&lt;/code&gt;)&#10;&lt;/h3&gt;&#10;&lt;p&gt;Clients autorisés du serveur TLS.&lt;/p&gt;</description></item><item><title>Utilisation de Patroni avec Kubernetes</title><link>https://pig.center/fr/docs/patroni/kubernetes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/kubernetes/</guid><description>&lt;p&gt;&lt;a id="kubernetes"&gt;&lt;/a&gt;&#10;Patroni peut utiliser des objets Kubernetes afin de stocker l’état du cluster et gérer la clé du leader. Cela lui permet de fonctionner avec PostgreSQL dans un environnement Kubernetes sans nécessiter de magasin de cohérence, c’est-à-dire qu’il n’est pas nécessaire de déployer un Étcd supplémentaire. Patroni peut utiliser deux types d’objets Kubernetes pour stocker la clé du leader et les clés de configuration, configurés via les variables d’environnement &lt;code&gt;kubernetes.use_endpoints&lt;/code&gt; ou &lt;code&gt;PATRONI_KUBERNETES_USE_ENDPOINTS&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>2. Configuration de HAProxy</title><link>https://pig.center/fr/docs/haproxy/configuration-basics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/configuration-basics/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;h2 id="section-2-1"&gt;2.1. Format du fichier de configuration&#10;&lt;/h2&gt;&#10;&lt;p&gt;Le processus de configuration d&amp;rsquo;HAProxy repose sur 3 sources majeures de paramètres :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;les arguments en ligne de commande, qui ont toujours la priorité&lt;/li&gt;&#10;&lt;li&gt;le(s) fichier(s) de configuration, dont le format est décrit ici&lt;/li&gt;&#10;&lt;li&gt;l&amp;rsquo;environnement du processus en cours d&amp;rsquo;exécution, en cas de référence explicite à certaines variables d&amp;rsquo;environnement&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Le fichier de configuration suit un format hiérarchique assez simple qui obéit à quelques règles fondamentales :&lt;/p&gt;</description></item><item><title>Prise en charge Citus</title><link>https://pig.center/fr/docs/patroni/citus/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/citus/</guid><description>&lt;p&gt;&lt;a id="citus"&gt;&lt;/a&gt;&#10;Patroni permet de déployer très facilement des clusters &lt;a href="https://docs.citusdata.com/en/stable/installation/multi_node.html"&gt;Multi-Node Citus&lt;/a&gt;&#10;.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="tldr"&gt;TL;DR&#10;&lt;/h2&gt;&#10;&lt;p&gt;Il n’existe que quelques règles simples à suivre :&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/citusdata/citus"&gt;Extension Citus&lt;/a&gt;&#10; pour PostgreSQL doit être disponible sur tous les nœuds. La version minimale prise en charge est 10.0, mais pour bénéficier pleinement des basculements planifiés transparents et des redémarrages des workers, nous recommandons d&amp;rsquo;utiliser au moins la version Citus 11.2.&lt;/li&gt;&#10;&lt;li&gt;Le nom du cluster (&lt;code&gt;scope&lt;/code&gt;) doit être identique sur tous les nœuds Citus !&lt;/li&gt;&#10;&lt;li&gt;Les identifiants de superutilisateur doivent être identiques sur le nœud coordinateur et sur tous les nœuds workers, et &lt;code&gt;pg_hba.conf&lt;/code&gt; doit autoriser l&amp;rsquo;accès en tant que superutilisateur entre tous les nœuds.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/patroni/config/yaml/#restapi_settings"&gt;API REST&lt;/a&gt;&#10; doit être accessible depuis les nœuds workers vers le coordinateur. Par exemple, les identifiants doivent être identiques, et si configurés, les certificats clients émis par les nœuds workers doivent être acceptés par le coordinateur.&lt;/li&gt;&#10;&lt;li&gt;Ajoutez la section suivante au &lt;code&gt;patroni.yaml&lt;/code&gt; :&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-14fcb69e-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="yaml" data-td-line-count="3"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-14fcb69e-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;citus&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;group&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;X &lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 0 for coordinator and 1, 2, 3, etc for workers&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;database&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;citus &lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# must be the same on all nodes&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;Ensuite, il vous suffit de démarrer Patroni, qui s&amp;rsquo;occupera du reste :&lt;/p&gt;</description></item><item><title>Commande de ping serveur (server-ping)</title><link>https://pig.center/fr/docs/pgbackrest/command/server-ping/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/command/server-ping/</guid><description>&lt;p&gt;Pongez un serveur TLS pgBackRest pour vérifier qu&amp;rsquo;il accepte les connexions. Cette opération ne sert qu&amp;rsquo;à vérifier la disponibilité, car aucune authentification n&amp;rsquo;est tentée.&lt;/p&gt;&#10;&lt;p&gt;Si aucun hôte n&amp;rsquo;est spécifié en ligne de commande, l&amp;rsquo;option &lt;code&gt;tls-server-host&lt;/code&gt; sera utilisée.&lt;/p&gt;&#10;&lt;h2 id="command-options"&gt;Options de commande&#10;&lt;/h2&gt;&#10;&lt;h3 id="tls-server-address-option---tls-server-address"&gt;Option d&amp;rsquo;adresse serveur TLS (&lt;code&gt;--tls-server-address&lt;/code&gt;)&#10;&lt;/h3&gt;&#10;&lt;p&gt;Adresse du serveur TLS.&lt;/p&gt;&#10;&lt;p&gt;Adresse IP sur laquelle le serveur écoute les requêtes clients.&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-e6bff5c2-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="yaml" data-td-line-count="2"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-e6bff5c2-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;default&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;localhost&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;example&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;--&lt;span class="l"&gt;tls-server-address=*&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h3 id="tls-server-port-option---tls-server-port"&gt;Option de port serveur TLS (&lt;code&gt;--tls-server-port&lt;/code&gt;)&#10;&lt;/h3&gt;&#10;&lt;p&gt;Port du serveur TLS.&lt;/p&gt;</description></item><item><title>3. Section globale</title><link>https://pig.center/fr/docs/haproxy/global/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/global/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Les paramètres de la section « global » sont applicables à l&amp;rsquo;ensemble du processus et souvent spécifiques au système d&amp;rsquo;exploitation. Ils sont généralement définis une fois pour toutes et n&amp;rsquo;exigent pas de modification une fois correctement configurés. Certains d&amp;rsquo;entre eux ont des équivalents en ligne de commande.&lt;/p&gt;&#10;&lt;p&gt;Les mots-clés suivants sont pris en charge dans la section « global » :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Gestion des processus et sécurité&lt;/p&gt;</description></item><item><title>Convertir un nœud autonome en cluster Patroni</title><link>https://pig.center/fr/docs/patroni/existing_data/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/existing_data/</guid><description>&lt;p&gt;&lt;a id="existing_data"&gt;&lt;/a&gt;&#10;Cette section décrit le processus de conversion d&amp;rsquo;une instance PostgreSQL autonome en cluster Patroni.&lt;/p&gt;&#10;&lt;p&gt;Pour déployer un cluster Patroni sans utiliser d&amp;rsquo;instance PostgreSQL préexistante, consultez plutôt &lt;a href="https://pig.center/fr/docs/patroni/readme/#running_configuring"&gt;Exécution et configuration&lt;/a&gt;&#10;.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="procedure"&gt;Procédure&#10;&lt;/h2&gt;&#10;&lt;p&gt;Vous trouverez ci-dessous un aperçu des étapes permettant de convertir un cluster Postgres existant en cluster géré par Patroni. Dans ces étapes, nous supposons que tous les nœuds faisant partie du cluster existant sont actuellement en fonctionnement, et que vous &lt;em&gt;ne&lt;/em&gt; prévoyez pas de modifier la configuration de Postgres pendant la migration. Les étapes :&lt;/p&gt;</description></item><item><title>Commande de création de stanza (stanza-create)</title><link>https://pig.center/fr/docs/pgbackrest/command/stanza-create/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/command/stanza-create/</guid><description>&lt;p&gt;La commande &lt;code&gt;stanza-create&lt;/code&gt; doit être exécutée après la configuration du stanza dans &lt;code&gt;pgbackrest.conf&lt;/code&gt;. Si plusieurs dépôts sont configurés, le stanza sera créé sur chacun d’eux. Les stanzas déjà créés seront ignorés, ce qui rend toujours sûr l’exécution de &lt;code&gt;stanza-create&lt;/code&gt;, même après la configuration d’un nouveau dépôt.&lt;/p&gt;&#10;&lt;p&gt;Consultez &lt;a href="https://pig.center/fr/docs/pgbackrest/user-guide/#create-the-stanza"&gt;Créer une stanza&lt;/a&gt;&#10; pour plus d&amp;rsquo;informations et un exemple.&lt;/p&gt;&#10;&lt;h2 id="command-options"&gt;Options de commande&#10;&lt;/h2&gt;&#10;&lt;h3 id="online-option---online"&gt;Option en ligne (&lt;code&gt;--online&lt;/code&gt;)&#10;&lt;/h3&gt;&#10;&lt;p&gt;Créez sur un cluster en ligne.&lt;/p&gt;</description></item><item><title>4. Proxies</title><link>https://pig.center/fr/docs/haproxy/proxies/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/proxies/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;La configuration du proxy peut être située dans un ensemble de sections :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;defaults [&lt;code&gt;&amp;lt;name&amp;gt;&lt;/code&gt;] [ depuis &lt;code&gt;&amp;lt;defaults_name&amp;gt;&lt;/code&gt; ]&lt;/li&gt;&#10;&lt;li&gt;frontal &lt;code&gt;&amp;lt;name&amp;gt;&lt;/code&gt; [ depuis &lt;code&gt;&amp;lt;defaults_name&amp;gt;&lt;/code&gt; ]&lt;/li&gt;&#10;&lt;li&gt;backend &lt;code&gt;&amp;lt;name&amp;gt;&lt;/code&gt; [ depuis &lt;code&gt;&amp;lt;defaults_name&amp;gt;&lt;/code&gt; ]&lt;/li&gt;&#10;&lt;li&gt;écouter &lt;code&gt;&amp;lt;name&amp;gt;&lt;/code&gt; [ depuis &lt;code&gt;&amp;lt;defaults_name&amp;gt;&lt;/code&gt; ]&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Une section « frontend » décrit un ensemble de sockets d&amp;rsquo;écoute acceptant les connexions clientes.&lt;/p&gt;&#10;&lt;p&gt;Une section « backend » décrit un ensemble de serveurs auxquels le proxy se connectera pour acheminer les connexions entrantes.&lt;/p&gt;</description></item><item><title>Intégration avec d'autres outils</title><link>https://pig.center/fr/docs/patroni/tools_integration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/tools_integration/</guid><description>&lt;p&gt;&lt;a id="tools_integration"&gt;&lt;/a&gt;&#10;Patroni est capable d&amp;rsquo;intégrer d&amp;rsquo;autres outils de votre infrastructure. Dans cette section, vous trouverez une liste d&amp;rsquo;exemples, qui, bien qu&amp;rsquo;elle ne soit pas exhaustive, peut vous inspirer sur les façons dont Patroni peut s&amp;rsquo;intégrer à d&amp;rsquo;autres outils.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="barman"&gt;Barman&#10;&lt;/h2&gt;&#10;&lt;p&gt;Patroni fournit une application nommée &lt;code&gt;patroni_barman&lt;/code&gt; qui intègre la logique de communication avec &lt;code&gt;pg-backup-api&lt;/code&gt;, vous permettant ainsi d&amp;rsquo;effectuer des opérations Barman à distance.&lt;/p&gt;&#10;&lt;p&gt;Cette application possède actuellement plusieurs sous-commandes : &lt;code&gt;recover&lt;/code&gt; et &lt;code&gt;config-switch&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Commande de suppression de stanza (stanza-delete)</title><link>https://pig.center/fr/docs/pgbackrest/command/stanza-delete/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/command/stanza-delete/</guid><description>&lt;p&gt;La commande &lt;code&gt;stanza-delete&lt;/code&gt; supprime les données du dépôt associées à un stanza.&lt;/p&gt;&#10;&lt;p&gt;AVERTISSEMENT :&lt;/p&gt;&#10;&lt;p&gt;Utilisez cette commande avec précaution — elle supprimera définitivement toutes les sauvegardes et archives du dépôt pgBackRest pour le stanza spécifié.&lt;/p&gt;&#10;&lt;p&gt;Pour supprimer une stanza :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Arrêtez le cluster PostgreSQL associé à la stanza (ou utilisez &amp;ndash;force pour l&amp;rsquo;ignorer).&lt;/li&gt;&#10;&lt;li&gt;Exécutez la commande &lt;code&gt;stop&lt;/code&gt; sur l&amp;rsquo;hôte où la commande &lt;code&gt;stanza-delete&lt;/code&gt; sera exécutée.&lt;/li&gt;&#10;&lt;li&gt;Exécutez la commande &lt;code&gt;stanza-delete&lt;/code&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Une fois la commande exécutée avec succès, il incombe à l&amp;rsquo;utilisateur de supprimer la stanza de tous les fichiers de configuration pgBackRest et/ou des variables d&amp;rsquo;environnement.&lt;/p&gt;</description></item><item><title>5. Options de liaison et de serveur</title><link>https://pig.center/fr/docs/haproxy/bind-and-server-options/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/bind-and-server-options/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Les mots-clés « bind », « server » et « default-server » prennent en charge un certain nombre de paramètres, selon certains options de compilation et le système sur lequel HAProxy a été compilé. Ces paramètres sont généralement composés d’un mot, parfois suivi d’une valeur, écrits sur la même ligne que la directive « bind » ou « server ». Tous ces paramètres sont décrits dans cette section.&lt;/p&gt;</description></item><item><title>Considérations de sécurité</title><link>https://pig.center/fr/docs/patroni/security/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/security/</guid><description>&lt;p&gt;&lt;a id="security"&gt;&lt;/a&gt;&#10;Un cluster Patroni dispose de deux interfaces à protéger contre l&amp;rsquo;accès non autorisé : le stockage de configuration distribué (DCS) et l&amp;rsquo;API REST Patroni.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="protecting-dcs"&gt;Protection du SCD&#10;&lt;/h2&gt;&#10;&lt;p&gt;Patroni et &lt;a href="https://pig.center/fr/docs/patroni/patronictl/#patronictl"&gt;patronictl&lt;/a&gt;&#10; stockent et récupèrent des données auprès du DCS.&lt;/p&gt;&#10;&lt;p&gt;Bien que le DCS ne contienne aucune information sensible, il permet de modifier certaines configurations de Patroni/PostgreSQL. Par conséquent, la première mesure à prendre est de protéger le DCS lui-même.&lt;/p&gt;</description></item><item><title>Commande de mise à jour de stanza (stanza-upgrade)</title><link>https://pig.center/fr/docs/pgbackrest/command/stanza-upgrade/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/command/stanza-upgrade/</guid><description>&lt;p&gt;Immédiatement après la mise à niveau de PostgreSQL vers une nouvelle version majeure, le &lt;code&gt;pg-path&lt;/code&gt; de toutes les configurations pgBackRest doit être défini sur le nouveau emplacement de la base de données, puis la commande &lt;code&gt;stanza-upgrade&lt;/code&gt; doit être exécutée. Si plusieurs dépôts sont configurés sur l&amp;rsquo;hôte, le stanza sera mis à niveau sur chacun. Si la base de données est hors ligne, utilisez l&amp;rsquo;option &lt;code&gt;--no-online&lt;/code&gt;.&lt;/p&gt;&#10;&lt;h2 id="command-options"&gt;Options de commande&#10;&lt;/h2&gt;&#10;&lt;h3 id="online-option---online"&gt;Option en ligne (&lt;code&gt;--online&lt;/code&gt;)&#10;&lt;/h3&gt;&#10;&lt;p&gt;Mettre à jour un cluster en ligne.&lt;/p&gt;</description></item><item><title>6. Mise en cache</title><link>https://pig.center/fr/docs/haproxy/cache/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/cache/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;HAProxy fournit un cache, conçu pour effectuer le mise en mémoire tampon de petits objets (favicon, fichiers CSS&amp;hellip;).&#10;Il s&amp;rsquo;agit d&amp;rsquo;un cache minimaliste, à faible maintenance, qui s&amp;rsquo;exécute en mémoire RAM.&lt;/p&gt;&#10;&lt;p&gt;Le cache repose sur une zone mémoire partagée entre tous les threads, divisée en blocs de 1 ko.&lt;/p&gt;&#10;&lt;p&gt;Si un objet n&amp;rsquo;est plus utilisé, il peut être supprimé afin de stocker un nouvel objet indépendamment de sa date d&amp;rsquo;expiration. Les objets les plus anciens sont supprimés en premier lorsque l&amp;rsquo;on tente d&amp;rsquo;allouer un nouvel objet.&lt;/p&gt;</description></item><item><title>Haute disponibilité multi-centre de données</title><link>https://pig.center/fr/docs/patroni/ha_multi_dc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/ha_multi_dc/</guid><description>&lt;p&gt;&lt;a id="ha_multi_dc"&gt;&lt;/a&gt;&#10;La haute disponibilité d’un cluster PostgreSQL déployé dans plusieurs centres de données repose sur la réplication, qui peut être synchrone ou asynchrone (voir &lt;a href="https://pig.center/fr/docs/patroni/replication_modes/#replication_modes"&gt;modes de réplication&lt;/a&gt;&#10;).&lt;/p&gt;&#10;&lt;p&gt;Dans les deux cas, il est important de bien comprendre les concepts suivants :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;PostgreSQL peut fonctionner en tant que leader primaire ou en mode standby uniquement lorsqu&amp;rsquo;il détient la clé de leadership et peut mettre à jour cette clé.&lt;/li&gt;&#10;&lt;li&gt;Vous devez exécuter un nombre impair de nœuds etcd, ZooKeeper ou Consul : 3 ou 5 !&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="synchronous-replication"&gt;Réplication synchrone&#10;&lt;/h2&gt;&#10;&lt;p&gt;Pour disposer d’un cluster multi-DC pouvant tolérer automatiquement la perte d’une zone, un minimum de 3 est requis.&lt;/p&gt;</description></item><item><title>Commande de démarrage (start)</title><link>https://pig.center/fr/docs/pgbackrest/command/start/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/command/start/</guid><description>&lt;p&gt;Si les processus pgBackRest ont été précédemment arrêtés à l’aide de la commande &lt;code&gt;stop&lt;/code&gt;, ils peuvent être redémarrés à l’aide de la commande &lt;code&gt;start&lt;/code&gt;. Notez qu’il ne s’agit pas d’un démarrage immédiat des processus pgBackRest, mais qu’ils sont autorisés à s’exécuter. Voir &lt;a href="https://pig.center/fr/docs/pgbackrest/user-guide/#starting-and-stopping"&gt;Démarrage et arrêt&lt;/a&gt;&#10; pour plus d’informations et d’exemples.&lt;/p&gt;&#10;&lt;h2 id="general-options"&gt;Options générales&#10;&lt;/h2&gt;&#10;&lt;h3 id="allow-run-as-root-option---allow-root"&gt;Autoriser l&amp;rsquo;exécution en tant qu&amp;rsquo;utilisateur root (&lt;code&gt;--allow-root&lt;/code&gt;)&#10;&lt;/h3&gt;&#10;&lt;p&gt;Permettre à la commande de s&amp;rsquo;exécuter en tant qu&amp;rsquo;utilisateur root.&lt;/p&gt;</description></item><item><title>7. Listes de contrôle d'accès et extraction d'échantillon</title><link>https://pig.center/fr/docs/haproxy/acls-and-samples/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/acls-and-samples/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;HAProxy est capable d&amp;rsquo;extraire des données des flux de requêtes ou de réponses, des informations client ou serveur, des tables, des informations environnementales, etc. L&amp;rsquo;opération d&amp;rsquo;extraction de ces données est appelée « récupération d&amp;rsquo;un échantillon ». Une fois récupérés, ces échantillons peuvent être utilisés à diverses fins, par exemple comme clé dans une table de persistance, mais les usages les plus courants consistent à les comparer à des données constantes prédéfinies appelées modèles.&lt;/p&gt;</description></item><item><title>FAQ</title><link>https://pig.center/fr/docs/patroni/faq/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/faq/</guid><description>&lt;p&gt;&lt;a id="faq"&gt;&lt;/a&gt;&#10;Dans cette section, vous trouverez les réponses aux questions les plus fréquemment posées concernant Patroni. Chaque sous-section s&amp;rsquo;efforce de se concentrer sur des types de questions différents.&lt;/p&gt;&#10;&lt;p&gt;Nous espérons que cela vous aidera à clarifier la majeure partie de vos questions. Si vous avez encore des interrogations ou rencontrez un problème imprévu, veuillez vous référer à &lt;a href="https://pig.center/fr/docs/patroni/contributing_guidelines/#chatting"&gt;chatting&lt;/a&gt;&#10; et &lt;a href="https://pig.center/fr/docs/patroni/contributing_guidelines/#reporting_bugs"&gt;reporting_bugs&lt;/a&gt;&#10; pour obtenir des instructions sur la manière de demander de l’aide ou de signaler des anomalies.&lt;/p&gt;</description></item><item><title>Commande d'arrêt (stop)</title><link>https://pig.center/fr/docs/pgbackrest/command/stop/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/command/stop/</guid><description>&lt;p&gt;N&amp;rsquo;autorise aucun nouveau processus pgBackRest à s&amp;rsquo;exécuter. Par défaut, les processus en cours d&amp;rsquo;exécution sont autorisés à se terminer correctement. Utilisez l&amp;rsquo;option &lt;code&gt;--force&lt;/code&gt; pour terminer les processus en cours.&lt;/p&gt;&#10;&lt;p&gt;Les processus pgBackRest retourneront une erreur s’ils sont exécutés après la fin de la commande d’arrêt. Consultez &lt;a href="https://pig.center/fr/docs/pgbackrest/user-guide/#starting-and-stopping"&gt;Démarrage et arrêt&lt;/a&gt;&#10; pour plus d’informations et d’exemples.&lt;/p&gt;&#10;&lt;h2 id="command-options"&gt;Options de commande&#10;&lt;/h2&gt;&#10;&lt;h3 id="force-option---force"&gt;Option obligatoire (&lt;code&gt;--force&lt;/code&gt;)&#10;&lt;/h3&gt;&#10;&lt;p&gt;Forcer l’arrêt de tous les processus pgBackRest.&lt;/p&gt;</description></item><item><title>8. Journalisation</title><link>https://pig.center/fr/docs/haproxy/configuration-logging/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/configuration-logging/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;L&amp;rsquo;un des points forts d&amp;rsquo;HAProxy réside certainement dans ses journaux précis. Il fournit probablement le niveau d&amp;rsquo;information le plus poussé disponible pour un tel produit, ce qui est essentiel pour le dépannage des environnements complexes. Les informations standard fournies dans les journaux incluent les ports clients, les compteurs d&amp;rsquo;état TCP/HTTP, l&amp;rsquo;état précis du flux à la terminaison et la cause précise de la terminaison, des informations sur les décisions visant à acheminer le trafic vers un serveur, ainsi que, bien entendu, la capacité à capturer des en-têtes arbitraires.&lt;/p&gt;</description></item><item><title>Notes de version</title><link>https://pig.center/fr/docs/patroni/releases/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/releases/</guid><description>&lt;p&gt;&lt;a id="releases"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="version-415"&gt;Version 4.1.5&#10;&lt;/h2&gt;&#10;&lt;p&gt;Libéré le 2026-08-12&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Améliorations de compatibilité&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Compatibilité avec PostgreSQL 14.24, 15.19, 16.15, 17.11, 18.6 (Alexander Kukushkin)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Ajoutez le nouveau paramètre GUC &lt;code&gt;output_plugin_libraries&lt;/code&gt;, qui restreint les plugins de décodage logique.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Améliorations&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Réinitialisations de connexion de l&amp;rsquo;API REST à &lt;code&gt;DEBUG&lt;/code&gt; au lieu de &lt;code&gt;WARNING&lt;/code&gt; (Kyle McLaren)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Assurez-vous que les variantes courantes de « client est parti au milieu de l&amp;rsquo;écriture » sont désactivées sans affecter le traitement des erreurs réelles (non liées à la connexion).&lt;/p&gt;</description></item><item><title>Commande de vérification (verify)</title><link>https://pig.center/fr/docs/pgbackrest/command/verify/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/command/verify/</guid><description>&lt;p&gt;Verify détermine si les sauvegardes et les archives présentes dans un dépôt sont valides.&lt;/p&gt;&#10;&lt;h2 id="command-options"&gt;Options de commande&#10;&lt;/h2&gt;&#10;&lt;h3 id="output-option---output"&gt;Option de sortie (&lt;code&gt;--output&lt;/code&gt;)&#10;&lt;/h3&gt;&#10;&lt;p&gt;Type de sortie.&lt;/p&gt;&#10;&lt;p&gt;Les types de sortie suivants sont pris en charge :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;none&lt;/code&gt; - Aucune vérification de sortie.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;text&lt;/code&gt; - Informations de vérification de sortie affichées sur stdout.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-f8cbb82f-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="yaml" data-td-line-count="2"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-f8cbb82f-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;default&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;none&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;example&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;--&lt;span class="l"&gt;output=text&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h3 id="set-option---set"&gt;Définir l&amp;rsquo;option (&lt;code&gt;--set&lt;/code&gt;)&#10;&lt;/h3&gt;&#10;&lt;p&gt;Sauvegarde configurée pour vérification.&lt;/p&gt;</description></item><item><title>9. Filtres pris en charge</title><link>https://pig.center/fr/docs/haproxy/filters/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/filters/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Voici la liste des filtres officiellement pris en charge, accompagnée de la liste des paramètres qu&amp;rsquo;ils acceptent. En fonction des options de compilation, certains de ces filtres pourraient être indisponibles. La liste des filtres disponibles est indiquée dans HAProxy -vv.&lt;/p&gt;&#10;&lt;p&gt;Voir aussi : « filter »&lt;/p&gt;&#10;&lt;h2 id="section-9-1"&gt;9.1. Trace&#10;&lt;/h2&gt;&#10;&lt;p&gt;filtre trace [nom &lt;code&gt;&amp;lt;name&amp;gt;&lt;/code&gt;] [redirection aléatoire] [nombre maximal de redirections &lt;code&gt;&amp;lt;max&amp;gt;&lt;/code&gt;] [affichage hexadécimal]&lt;/p&gt;</description></item><item><title>Guidelines pour les contributions</title><link>https://pig.center/fr/docs/patroni/contributing_guidelines/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/patroni/contributing_guidelines/</guid><description>&lt;p&gt;&lt;a id="contributing_guidelines"&gt;&lt;/a&gt;&#10;&lt;a id="chatting"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="chatting"&gt;Discussion&#10;&lt;/h2&gt;&#10;&lt;p&gt;Si vous avez une question, recherchez une aide interactive pour dépanner ou souhaitez discuter avec d&amp;rsquo;autres utilisateurs Patroni, rejoignez-nous sur le canal &lt;a href="https://postgresteam.slack.com/archives/C9XPYG92A"&gt;#patroni&lt;/a&gt;&#10; dans &lt;a href="https://pgtreats.info/slack-invite"&gt;PostgreSQL Slack&lt;/a&gt;&#10;.&lt;/p&gt;&#10;&lt;p&gt;&lt;a id="reporting_bugs"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="reporting-bugs"&gt;Signalement de bogues&#10;&lt;/h2&gt;&#10;&lt;p&gt;Avant de signaler un bogue, assurez-vous d’&lt;strong&gt;en reproduire l’incident avec la dernière version de Patroni&lt;/strong&gt; ! Veuillez également vérifier soigneusement si le problème n’existe pas déjà dans notre &lt;a href="https://github.com/patroni/patroni/issues"&gt;Suivi des problèmes&lt;/a&gt;&#10;.&lt;/p&gt;</description></item><item><title>Lecture depuis etcd</title><link>https://pig.center/fr/docs/etcd/tasks/developer/reading-from-etcd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/tasks/developer/reading-from-etcd/</guid><description>&lt;h2 id="prerequisites"&gt;Prérequis&#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Installer &lt;code&gt;etcdctl&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="procedure"&gt;Procédure&#10;&lt;/h2&gt;&#10;&lt;p&gt;Utilisez la sous-commande &lt;code&gt;get&lt;/code&gt; pour lire depuis etcd :&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-11025614-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="shell" data-td-line-count="4"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-11025614-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; get foo&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;foo&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Hello World!&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;où :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;foo&lt;/code&gt; est la clé demandée&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;Hello World!&lt;/code&gt; est la valeur récupérée&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Or, pour une sortie formatée :&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-11025614-fence-1" data-td-code data-td-code-auto-id&#10; data-td-language="" data-td-line-count="4"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-11025614-fence-1-viewport" data-td-code-viewport&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;$ etcdctl --endpoints=$ENDPOINTS --write-out=&amp;#34;json&amp;#34; get foo&#10;{&amp;#34;header&amp;#34;:{&amp;#34;cluster_id&amp;#34;:289318470931837780,&amp;#34;member_id&amp;#34;:14947050114012957595,&amp;#34;revision&amp;#34;:3,&amp;#34;raft_term&amp;#34;:4,&#10;&amp;#34;kvs&amp;#34;:[{&amp;#34;key&amp;#34;:&amp;#34;Zm9v&amp;#34;,&amp;#34;create_revision&amp;#34;:2,&amp;#34;mod_revision&amp;#34;:3,&amp;#34;version&amp;#34;:2,&amp;#34;value&amp;#34;:&amp;#34;SGVsbG8gV29ybGQh&amp;#34;}]}}&#10;$&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;où &lt;code&gt;write-out=&amp;quot;json&amp;quot;&lt;/code&gt; fait que la valeur est sortie au format JSON (notez que la clé n&amp;rsquo;est pas renvoyée).&lt;/p&gt;</description></item><item><title>Commande Version (version)</title><link>https://pig.center/fr/docs/pgbackrest/command/version/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/pgbackrest/command/version/</guid><description>&lt;p&gt;Affiche la version de pgBackRest installée.&lt;/p&gt;&#10;&lt;h2 id="command-options"&gt;Options de commande&#10;&lt;/h2&gt;&#10;&lt;h3 id="output-option---output"&gt;Option de sortie (&lt;code&gt;--output&lt;/code&gt;)&#10;&lt;/h3&gt;&#10;&lt;p&gt;Type de sortie.&lt;/p&gt;&#10;&lt;p&gt;Les types de sortie suivants sont pris en charge :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;text&lt;/code&gt; - Affiche la version installée de pgBackRest sous forme de texte.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;num&lt;/code&gt; - Affiche la version installée de pgBackRest sous forme d&amp;rsquo;entier.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-0e42bdca-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="yaml" data-td-line-count="2"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-0e42bdca-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;default&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;text&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;example&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;--&lt;span class="l"&gt;output=num&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>10. Applications FastCGI</title><link>https://pig.center/fr/docs/haproxy/fastcgi/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/fastcgi/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;HAProxy est capable d&amp;rsquo;envoyer des requêtes HTTP vers des applications FastCGI Responder. Cette fonctionnalité a été ajoutée à HAProxy 2.1. Pour cela, les serveurs doivent être configurés pour utiliser le protocole FastCGI (en utilisant le mot-clé « proto fcgi » dans la ligne du serveur) et une application FastCGI doit être configurée et utilisée par le backend gérant ces serveurs (en utilisant le mot-clé « use-fcgi-app » dans la section proxy). Plusieurs applications FastCGI peuvent être définies, mais un seul peut être utilisé à la fois par un backend.&lt;/p&gt;</description></item><item><title>11. Tables de persistance et pairs</title><link>https://pig.center/fr/docs/haproxy/stick-tables-and-peers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/stick-tables-and-peers/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Les tables de persistance dans HAProxy sont un mécanisme qui permet d&amp;rsquo;associer un certain nombre d&amp;rsquo;informations et de métriques à une clé d&amp;rsquo;un type donné, pendant une durée déterminée après la dernière mise à jour. Cela peut être vu comme une ligne à plusieurs colonnes dans un tableau, où le numéro de ligne est défini par la valeur de la clé, et chaque colonne représente un critère distinct.&lt;/p&gt;</description></item><item><title>12. Autres sections</title><link>https://pig.center/fr/docs/haproxy/other-sections/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/other-sections/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Les sections décrites ci-dessous sont moins couramment utilisées et ne prennent généralement en charge qu&amp;rsquo;un petit nombre de paramètres. Il n&amp;rsquo;existe aucune relation implicite entre elles. Elles sont toutes initiales à l&amp;rsquo;aide d&amp;rsquo;un mot-clé unique. Aucune d&amp;rsquo;entre elles n&amp;rsquo;est autorisée avant une section « global ». Le support de certaines d&amp;rsquo;entre elles peut être conditionné par des options de compilation (par exemple, tout ce qui est lié au SSL).&lt;/p&gt;</description></item><item><title>Guide de gestion</title><link/><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid/><description/></item><item><title>1. Prérequis</title><link>https://pig.center/fr/docs/haproxy/prerequisites/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/prerequisites/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Ce document décrit comment démarrer, arrêter, gérer et dépanner HAProxy, ainsi que certaines limitations connues et pièges à éviter. Il ne décrit pas comment le configurer (pour cela, veuillez consulter &lt;a href="https://pig.center/fr/docs/haproxy/http-fundamentals/"&gt;&lt;code&gt;configuration.txt&lt;/code&gt;&lt;/a&gt;&#10;).&lt;/p&gt;&#10;&lt;p&gt;Dans ce document, il est supposé que le lecteur possède des compétences suffisantes en administration sur un système d&amp;rsquo;exploitation de type UNIX, utilise quotidiennement l&amp;rsquo;interpréteur de commandes et maîtrise les outils de dépannage tels que strace et tcpdump.&lt;/p&gt;</description></item><item><title>Écriture dans etcd</title><link>https://pig.center/fr/docs/etcd/tasks/developer/writing-to-etcd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/tasks/developer/writing-to-etcd/</guid><description>&lt;h2 id="prerequisites"&gt;Prérequis&#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Installer &lt;code&gt;etcdctl&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="procedure"&gt;Procédure&#10;&lt;/h2&gt;&#10;&lt;p&gt;Utilisez la sous-commande &lt;code&gt;put&lt;/code&gt; pour écrire une paire clé-valeur :&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-2110c08d-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="shell" data-td-line-count="1"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-2110c08d-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put foo &lt;span class="s2"&gt;&amp;#34;Hello World!&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;où :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;foo&lt;/code&gt; est le nom de la clé&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;&amp;quot;Hello World!&amp;quot;&lt;/code&gt; est la valeur délimitée par des guillemets&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>2. HAProxy Architecture</title><link>https://pig.center/fr/docs/haproxy/management-architecture/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/management-architecture/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;HAProxy est un démon multithreadé, basé sur des événements et non bloquant. Cela signifie qu’il utilise la multiplexion d’événements pour planifier toutes ses activités, plutôt que de dépendre du système pour planifier entre plusieurs activités. La plupart du temps, il s’exécute sous la forme d’un seul processus, de sorte que la sortie de la commande « ps aux » sur un système ne répertorie qu’un seul processus « HAProxy », sauf en cas de rechargement doux en cours, auquel cas un processus ancien peut encore s’exécuter en parallèle du nouveau. Il est donc toujours facile de suivre son activité à l’aide de l’outil strace. Pour s’adapter au nombre de processeurs disponibles, HAProxy démarre, par défaut, un thread worker par processeur sur lequel il est autorisé à s’exécuter. À moins d’être configuré autrement, le trafic entrant est réparti entre tous ces threads, chacun exécutant la même boucle d’événements. Une grande attention est portée à limiter les dépendances entre threads au strict minimum, afin de tenter d’obtenir une scalabilité quasi linéaire. Cela a certaines conséquences, notamment le fait qu’une connexion donnée soit servie par un seul thread. Ainsi, pour utiliser toute la capacité de traitement disponible, il faut disposer d’au moins autant de connexions que de threads, ce qui est presque toujours le cas.&lt;/p&gt;</description></item><item><title>3. Démarrage de HAProxy</title><link>https://pig.center/fr/docs/haproxy/starting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/starting/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;HAProxy est lancé en exécutant le programme « HAProxy » avec un certain nombre d&amp;rsquo;arguments passés en ligne de commande. La syntaxe réelle est :&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-5339530c-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="shell" data-td-line-count="1"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-5339530c-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ haproxy &lt;span class="o"&gt;[&lt;/span&gt;&amp;lt;options&amp;gt;&lt;span class="o"&gt;]&lt;/span&gt;*&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;où [&lt;code&gt;&amp;lt;options&amp;gt;&lt;/code&gt;]* est un nombre quelconque d&amp;rsquo;options. Une option commence toujours par &amp;lsquo;-&amp;rsquo; suivi d&amp;rsquo;une ou plusieurs lettres, et peut être suivie d&amp;rsquo;un ou plusieurs arguments supplémentaires. Sans option, HAProxy affiche la page d&amp;rsquo;aide avec un rappel des options prises en charge. Les options disponibles peuvent varier légèrement selon le système d&amp;rsquo;exploitation. Un nombre important de ces options se chevauchent avec une option équivalente dans la section « global ». Dans ce cas, la ligne de commande a toujours priorité sur le fichier de configuration, de sorte que la ligne de commande peut être utilisée pour imposer rapidement certains paramètres sans modifier les fichiers de configuration. La liste actuelle des options est :&lt;/p&gt;</description></item><item><title>4. Arrêt et redémarrage de HAProxy</title><link>https://pig.center/fr/docs/haproxy/stopping-and-restarting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/stopping-and-restarting/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;HAProxy prend en charge une interruption douce et une interruption brutale. L&amp;rsquo;interruption brutale est simple : lorsqu&amp;rsquo;un signal SIGTERM est envoyé au processus HAProxy, celui-ci quitte immédiatement et toutes les connexions établies sont fermées. L&amp;rsquo;interruption douce est déclenchée lorsqu&amp;rsquo;un signal SIGUSR1 est envoyé au processus HAProxy. Elle consiste à ne plus se lier aux ports d&amp;rsquo;écoute, tout en continuant à traiter les connexions existantes jusqu&amp;rsquo;à leur fermeture. Une fois la dernière connexion fermée, le processus se termine.&lt;/p&gt;</description></item><item><title>5. Limites des descripteurs de fichiers</title><link>https://pig.center/fr/docs/haproxy/file-descriptors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/file-descriptors/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Afin de garantir que toutes les connexions entrantes soient correctement servies, HAProxy calcule au moment du chargement le nombre total de descripteurs de fichiers nécessaires durant la durée de vie du processus. Un processus Unix classique reçoit généralement 1024 descripteurs de fichiers par défaut, et un processus privilégié peut augmenter lui-même cette limite. C’est une des raisons de lancer HAProxy en tant que root et de lui permettre d’ajuster cette limite. La limite par défaut de 1024 descripteurs de fichiers permet approximativement 500 connexions simultanées. Ce calcul repose sur le paramètre global maxconn, qui limite le nombre total de connexions par processus, le nombre d’écouteurs, le nombre de serveurs ayant un contrôle d’état activé, les vérifications d’agent, les pairs, les enregistreurs et éventuellement quelques autres exigences techniques. Une estimation simple de ce nombre consiste à doubler la valeur de maxconn et à ajouter quelques dizaines pour obtenir une approximation du nombre de descripteurs de fichiers nécessaires.&lt;/p&gt;</description></item><item><title>6. Gestion de la mémoire</title><link>https://pig.center/fr/docs/haproxy/memory/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/memory/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;HAProxy utilise une gestion mémoire basée sur des pools, simple et rapide. Étant donné qu’il repose sur un nombre réduit de types d’objets différents, il est bien plus efficace de tirer de nouveaux objets depuis un pool déjà contenant des objets de la taille appropriée que d’appeler malloc() pour chaque taille différente. Les pools sont organisés selon une structure de pile ou LIFO, de sorte que les objets nouvellement alloués proviennent d’objets récemment libérés, encore présents dans les caches CPU. Les pools de tailles similaires sont regroupés afin de limiter la fragmentation mémoire.&lt;/p&gt;</description></item><item><title>Comment obtenir des clés par préfixe</title><link>https://pig.center/fr/docs/etcd/tasks/developer/how-to-get-key-by-prefix/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/tasks/developer/how-to-get-key-by-prefix/</guid><description>&lt;h2 id="pre-requisites"&gt;Prérequis&#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/install/"&gt;Installer etcdctl&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/dev-guide/local_cluster/"&gt;Configurer un cluster local&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="get-keys-by-prefix"&gt;Obtenir les clés par préfixe&#10;&lt;/h2&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-1653816d-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="bash" data-td-line-count="1"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-1653816d-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; get PREFIX --prefix&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h3 id="global-options"&gt;Options globales&#10;&lt;/h3&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-1653816d-fence-1" data-td-code data-td-code-auto-id&#10; data-td-language="bash" data-td-line-count="1"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-1653816d-fence-1-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--endpoints&lt;span class="o"&gt;=[&lt;/span&gt;127.0.0.1:2379&lt;span class="o"&gt;]&lt;/span&gt;, gRPC endpoints&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h3 id="options"&gt;Options&#10;&lt;/h3&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-1653816d-fence-2" data-td-code data-td-code-auto-id&#10; data-td-language="bash" data-td-line-count="1"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-1653816d-fence-2-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--prefix, get a range of keys with matching prefix&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h3 id="example"&gt;Exemple&#10;&lt;/h3&gt;&#10;&lt;img class="td-image" src="https://pig.center/docs/etcd/tasks/img/get-by-prefix.gif" alt="03_etcdctl_get_by_prefix_2016050501" loading="lazy" decoding="async"&gt;&lt;div class="td-code td-code--untitled" id="td-code-1653816d-fence-3" data-td-code data-td-code-auto-id&#10; data-td-language="shell" data-td-line-count="5"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-1653816d-fence-3-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put web1 value1&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put web2 value2&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put web3 value3&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; get web --prefix&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>7. Utilisation du CPU</title><link>https://pig.center/fr/docs/haproxy/cpu/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/cpu/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;HAProxy passe normalement la majeure partie de son temps en mode noyau et une part plus faible en mode utilisateur. Un processeur 3,5 GHz correctement optimisé peut supporter un débit d’environ 80 000 établissements et fermetures de connexions bout-en-bout par seconde à 100 % d’utilisation sur un seul cœur. Lorsqu’un cœur est saturé, les valeurs typiques sont :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;95 % système, 5 % utilisateur pour des connexions TCP longues ou de grands objets HTTP&lt;/li&gt;&#10;&lt;li&gt;85 % système et 15 % utilisateur pour des connexions TCP courtes ou de petits objets HTTP en mode fermé&lt;/li&gt;&#10;&lt;li&gt;70 % système et 30 % utilisateur pour de petits objets HTTP en mode keep-alive&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Le nombre de règles traitées et d&amp;rsquo;expressions régulières augmente la partie en espace utilisateur. La présence de règles de pare-feu, du suivi des connexions et de tables de routage complexes dans le système augmente quant à elle la partie noyau.&lt;/p&gt;</description></item><item><title>8. Journalisation</title><link>https://pig.center/fr/docs/haproxy/management-logging/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/management-logging/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Pour la journalisation, HAProxy s’appuie toujours sur un serveur syslog, car il ne réalise aucune opération sur le système de fichiers. La méthode standard consiste à envoyer les journaux via UDP vers le serveur de journalisation (par défaut sur le port 514). Il est très courant de le configurer sur 127.0.0.1, où s’exécute le démon syslog local, mais il peut aussi être utilisé sur le réseau pour journaliser sur un serveur central. Ce dernier offre des avantages supplémentaires, notamment dans les scénarios actif-actif où il est souhaitable de conserver les journaux fusionnés dans l’ordre d’arrivée. HAProxy peut également utiliser une socket UNIX pour envoyer ses journaux au démon syslog local, mais cela n’est pas recommandé, car si le serveur syslog est redémarré pendant que HAProxy est en cours d’exécution, la socket sera remplacée et les nouveaux journaux seront perdus. Étant donné que HAProxy sera isolé dans une prison chroot, il ne pourra pas se reconnecter à la nouvelle socket. Des observations sur le terrain ont également montré que les tampons utilisés sur les sockets UNIX sont très petits et entraînent la perte de messages même à des charges très faibles. Cela peut toutefois convenir pour les tests.&lt;/p&gt;</description></item><item><title>9. Statistiques et surveillance</title><link>https://pig.center/fr/docs/haproxy/statistics-and-monitoring/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/statistics-and-monitoring/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Il est possible de consulter l&amp;rsquo;état de HAProxy. Le mécanisme le plus couramment utilisé est la page de statistiques HTTP. Cette page expose également un format de sortie CSV alternatif destiné aux outils de surveillance. Le même format est disponible via le socket Unix.&lt;/p&gt;&#10;&lt;p&gt;Les statistiques sont regroupées par catégories désignées sous le nom de domaines, correspondant aux différents composants d&amp;rsquo;HAProxy. Deux domaines sont disponibles : proxy et resolvers. Si aucun domaine n&amp;rsquo;est précisé, le domaine proxy est sélectionné. Notez que seules les statistiques du proxy sont affichées sur la page HTTP.&lt;/p&gt;</description></item><item><title>10. Gestion de configuration simplifiée</title><link>https://pig.center/fr/docs/haproxy/configuration-management/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/configuration-management/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Il est très courant que deux nœuds HAProxy constituant un cluster partagent exactement la même configuration, à l’exception de quelques adresses. Au lieu de devoir maintenir une configuration dupliquée pour chaque nœud, ce qui entraînera inévitablement une divergence, il est possible d’inclure des variables d’environnement dans la configuration. Ainsi, plusieurs configurations peuvent partager exactement le même fichier, en ne modifiant que quelques variables d’environnement système. Cette fonctionnalité a été introduite à partir de la version 1.5, où seules les adresses pouvaient inclure des variables d’environnement, et la version 1.6 va plus loin en permettant l’utilisation de variables d’environnement partout. La syntaxe est identique à celle du shell UNIX : une variable commence par un signe dollar (&amp;rsquo;$&amp;rsquo;), suivi d&amp;rsquo;une accolade ouvrante (&amp;rsquo;{&amp;rsquo;), puis le nom de la variable, terminé par une accolade fermante (&amp;rsquo;}&amp;rsquo;). À l’exception des adresses, les variables d’environnement ne sont interprétées que dans les arguments entourés de guillemets doubles (ce qui était nécessaire pour ne pas rompre les configurations existantes utilisant des expressions régulières impliquant le symbole dollar).&lt;/p&gt;</description></item><item><title>11. Pièges courants à éviter</title><link>https://pig.center/fr/docs/haproxy/traps/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/traps/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Parfois, une personne signale que, après un redémarrage du système, le service HAProxy n’est pas démarré automatiquement, et qu’une fois lancé manuellement, il fonctionne correctement. La plupart de ces utilisateurs exécutent un mécanisme d’adresse IP regroupée, comme keepalived, afin d’attribuer l’adresse IP du service uniquement au nœud principal, et alors qu’il fonctionnait auparavant lorsqu’ils liaient HAProxy à l’adresse 0.0.0.0, il a cessé de fonctionner après avoir lié celui-ci à l’adresse IP virtuelle. Ce qui se produit ici, c’est que, lors du démarrage du service, l’adresse IP virtuelle n’est pas encore détenu par le nœud local, si bien que lorsque HAProxy tente de se lier à cette adresse, le système la rejette car elle n’est pas une adresse locale. La solution ne consiste pas à retarder le démarrage du service HAProxy (car cela ne résisterait pas à un redémarrage), mais plutôt à configurer correctement le système afin de permettre la liaison à des adresses non locales. Cela peut être facilement réalisé sous Linux en définissant le paramètre sysctl net.ipv4.ip_nonlocal_bind à 1. Cette configuration est également nécessaire pour intercepter de manière transparente le trafic IP qui traverse HAProxy pour une adresse cible spécifique.&lt;/p&gt;</description></item><item><title>12. Problèmes de débogage et de performance</title><link>https://pig.center/fr/docs/haproxy/debugging-and-performance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/debugging-and-performance/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Lorsque HAProxy est lancé avec l&amp;rsquo;option &amp;ldquo;-d&amp;rdquo;, il reste en premier plan et affiche une ligne par événement, tel qu&amp;rsquo;une connexion entrante, la fin d&amp;rsquo;une connexion, ou chaque ligne d&amp;rsquo;en-tête de requête ou de réponse observée. Cette sortie de débogage est émise avant le traitement des contenus, aussi ne tiennent-elles pas compte des modifications locales. Son usage principal consiste à afficher les requêtes et réponses sans avoir à exécuter un analyseur réseau. La lecture de la sortie devient moins aisée lorsque plusieurs connexions sont gérées en parallèle, mais les scripts &amp;ldquo;debug2ansi&amp;rdquo; et &amp;ldquo;debug2html&amp;rdquo; présents dans le répertoire examples/ aident certainement dans ce cas en colorant la sortie.&lt;/p&gt;</description></item><item><title>13. Considérations de sécurité</title><link>https://pig.center/fr/docs/haproxy/security/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/security/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;HAProxy est conçu pour s&amp;rsquo;exécuter avec des privilèges très limités. La méthode standard consiste à l&amp;rsquo;isoler dans une prison chroot et à supprimer ses privilèges pour qu&amp;rsquo;il s&amp;rsquo;exécute en tant qu&amp;rsquo;utilisateur non root, sans aucun droit à l&amp;rsquo;intérieur de cette prison, afin qu&amp;rsquo;en cas de découverte d&amp;rsquo;une vulnérabilité future, son compromis n&amp;rsquo;affecte pas le reste du système.&lt;/p&gt;&#10;&lt;p&gt;Pour effectuer un chroot, il est d&amp;rsquo;abord nécessaire de le lancer en tant qu&amp;rsquo;utilisateur root. Il est inutile de créer manuellement des chroots afin de lancer le processus à l&amp;rsquo;intérieur ; ces environnements sont difficiles à mettre en place, jamais correctement maintenus et contiennent toujours bien plus de bogues que le système de fichiers principal. En cas de compromission, l&amp;rsquo;attaquant peut exploiter le système de fichiers spécifiquement conçu à cet effet. Malheureusement, de nombreux administrateurs confondent « lancer en tant que root » et « s&amp;rsquo;exécuter en tant que root », ce qui entraîne le changement d&amp;rsquo;UID avant le démarrage d&amp;rsquo;HAProxy, réduisant ainsi les restrictions de sécurité effectives.&lt;/p&gt;</description></item><item><title>Comment supprimer des clés</title><link>https://pig.center/fr/docs/etcd/tasks/developer/how-to-delete-keys/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/tasks/developer/how-to-delete-keys/</guid><description>&lt;h2 id="prerequisites"&gt;Prérequis&#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Installer &lt;a href="https://pig.center/fr/docs/etcd/install/"&gt;&lt;code&gt;etcd&lt;/code&gt; et &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="add-or-delete-keys"&gt;Ajouter ou supprimer des clés&#10;&lt;/h2&gt;&#10;&lt;p&gt;&lt;code&gt;del&lt;/code&gt; pour supprimer la clé spécifiée ou la plage de clés :&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-5a70716f-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="bash" data-td-line-count="1"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-5a70716f-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl del &lt;span class="nv"&gt;$KEY&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;$END_KEY&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h3 id="options"&gt;Options&#10;&lt;/h3&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-5a70716f-fence-1" data-td-code data-td-code-auto-id&#10; data-td-language="bash" data-td-line-count="4"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-5a70716f-fence-1-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--prefix&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: delete keys with matching prefix&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--prev-kv&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: &lt;span class="k"&gt;return&lt;/span&gt; deleted key-value pairs&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--from-key&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: delete keys that are greater than or equal to the given key using byte compare&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--range&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: delete range of keys without delay&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h3 id="options-inherited-from-parent-commands"&gt;Options héritées des commandes parentes&#10;&lt;/h3&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-5a70716f-fence-2" data-td-code data-td-code-auto-id&#10; data-td-language="bash" data-td-line-count="1"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-5a70716f-fence-2-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;127.0.0.1:2379&amp;#34;&lt;/span&gt;: gRPC endpoints&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h3 id="examples"&gt;Exemples&#10;&lt;/h3&gt;&#10;&lt;img class="td-image" src="https://pig.center/docs/etcd/tasks/img/delete-keys.gif" alt="04_etcdctl_delete_2016050601" loading="lazy" decoding="async"&gt;&lt;div class="td-code td-code--untitled" id="td-code-5a70716f-fence-3" data-td-code data-td-code-auto-id&#10; data-td-language="shell" data-td-line-count="6"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-5a70716f-fence-3-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put key myvalue&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; del key&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put k1 value1&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put k2 value2&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; del k --prefix&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>Comment effectuer plusieurs écritures dans une transaction</title><link>https://pig.center/fr/docs/etcd/tasks/developer/how-to-transactional-write/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/tasks/developer/how-to-transactional-write/</guid><description>&lt;h2 id="prerequisites"&gt;Prérequis&#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Installer &lt;a href="https://pig.center/fr/docs/etcd/install/"&gt;&lt;code&gt;etcd&lt;/code&gt; et &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;&#10;.&lt;/li&gt;&#10;&lt;li&gt;Un cluster &lt;code&gt;etcd&lt;/code&gt; en cours d&amp;rsquo;exécution.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="terminology"&gt;Terminologie&#10;&lt;/h2&gt;&#10;&lt;p&gt;Voici les définitions de quelques termes clés utilisés dans l’exemple &lt;a href="#example"&gt;Example&lt;/a&gt;&#10; ci-dessous.&lt;/p&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Termes&lt;/th&gt;&#10; &lt;th scope="col"&gt;Définition&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://github.com/etcd-io/etcd/blob/main/etcdctl/README.md#etcdctl"&gt;etcdctl&lt;/a&gt;&#10;&lt;/td&gt;&#10; &lt;td&gt;Outil en ligne de commande pour interagir avec le serveur etcd.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;a href="https://github.com/etcd-io/etcd/blob/main/etcdctl/README.md#txn-options"&gt;&lt;code&gt;txn&lt;/code&gt;&lt;/a&gt;&#10; command&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;txn&lt;/code&gt; command est une abréviation de « transaction ». Il lit plusieurs requêtes etcd depuis l&amp;rsquo;entrée standard et les applique comme une transaction atomique unique. Une transaction se compose d&amp;rsquo;une liste de conditions, d&amp;rsquo;une liste de requêtes à appliquer si toutes les conditions sont vraies, et d&amp;rsquo;une liste de requêtes à appliquer si au moins une condition est fausse. Consultez &lt;a href="https://github.com/etcd-io/etcd/blob/main/etcdctl/README.md#key-value-commands"&gt;etcdctl key-value commands&lt;/a&gt;&#10; pour plus d&amp;rsquo;informations.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;compare&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;La clause &lt;code&gt;compare&lt;/code&gt; au sein d&amp;rsquo;une transaction (&lt;code&gt;txn&lt;/code&gt;) sert de vérification conditionnelle déterminant si les opérations de la transaction doivent s&amp;rsquo;exécuter. Elle garantit que les modifications ne sont appliquées que si l&amp;rsquo;état actuel du magasin clé-valeur correspond aux conditions attendues, assurant ainsi la cohérence des données et évitant les conflits dans les environnements concurrents. Pour voir la structure de la commande, consultez la section &lt;a href="#2-perform-a-transaction"&gt;Effectuer une transaction&lt;/a&gt;&#10; ci-dessous.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h2 id="transactions"&gt;Transactions&#10;&lt;/h2&gt;&#10;&lt;p&gt;&lt;code&gt;txn&lt;/code&gt; pour traiter toutes les requêtes dans une seule transaction :&lt;/p&gt;</description></item><item><title>Comment surveiller des clés</title><link>https://pig.center/fr/docs/etcd/tasks/developer/how-to-watch-keys/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/tasks/developer/how-to-watch-keys/</guid><description>&lt;h2 id="prerequisites"&gt;Prérequis&#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Installer &lt;a href="https://pig.center/fr/docs/etcd/install/"&gt;&lt;code&gt;etcd&lt;/code&gt; et &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="watching-keys"&gt;Surveillance des clés&#10;&lt;/h2&gt;&#10;&lt;p&gt;&lt;code&gt;watch&lt;/code&gt; pour être notifié des modifications futures :&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-0d8dc850-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="bash" data-td-line-count="1"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-0d8dc850-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl watch &lt;span class="nv"&gt;$KEY&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;$END_KEY&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h3 id="options"&gt;Options&#10;&lt;/h3&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-0d8dc850-fence-1" data-td-code data-td-code-auto-id&#10; data-td-language="bash" data-td-line-count="5"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-0d8dc850-fence-1-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-i, --interactive&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: interactive mode&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--prefix&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: watch on a prefix &lt;span class="k"&gt;if&lt;/span&gt; prefix is &lt;span class="nb"&gt;set&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--rev&lt;span class="o"&gt;=&lt;/span&gt;0: Revision to start watching&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--prev-kv&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: get the previous key-value pair before the event happens&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--progress-notify&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: get periodic watch progress notification from server&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h3 id="options-inherited-from-parent-commands"&gt;Options héritées des commandes parentes&#10;&lt;/h3&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-0d8dc850-fence-2" data-td-code data-td-code-auto-id&#10; data-td-language="bash" data-td-line-count="1"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-0d8dc850-fence-2-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;127.0.0.1:2379&amp;#34;&lt;/span&gt;: gRPC endpoints&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h3 id="examples"&gt;Exemples&#10;&lt;/h3&gt;&#10;&lt;img class="td-image" src="https://pig.center/docs/etcd/tasks/img/watch-keys.gif" alt="06_etcdctl_watch_2016050501" loading="lazy" decoding="async"&gt;&lt;div class="td-code td-code--untitled" id="td-code-0d8dc850-fence-3" data-td-code data-td-code-auto-id&#10; data-td-language="shell" data-td-line-count="6"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-0d8dc850-fence-3-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; watch stock1&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put stock1 &lt;span class="m"&gt;1000&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; watch stock --prefix&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put stock1 &lt;span class="m"&gt;10&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put stock2 &lt;span class="m"&gt;20&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>Comment créer un bail</title><link>https://pig.center/fr/docs/etcd/tasks/developer/how-to-create-lease/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/tasks/developer/how-to-create-lease/</guid><description>&lt;p&gt;&lt;code&gt;lease&lt;/code&gt; pour écrire avec un TTL :&lt;/p&gt;&#10;&lt;img class="td-image" src="https://pig.center/docs/etcd/tasks/img/create-lease.gif" alt="07_etcdctl_lease_2016050501" loading="lazy" decoding="async"&gt;&lt;div class="td-code td-code--untitled" id="td-code-79799e98-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="shell" data-td-line-count="10"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-79799e98-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; lease grant &lt;span class="m"&gt;300&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# lease 2be7547fbc6a5afa granted with TTL(300s)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put sample value --lease&lt;span class="o"&gt;=&lt;/span&gt;2be7547fbc6a5afa&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; get sample&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; lease keep-alive 2be7547fbc6a5afa&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; lease revoke 2be7547fbc6a5afa&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# or after 300 seconds&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; get sample&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>Comment créer des verrous</title><link>https://pig.center/fr/docs/etcd/tasks/developer/how-to-create-locks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/tasks/developer/how-to-create-locks/</guid><description>&lt;p&gt;LOCK acquiert un verrou distribué portant un nom donné. Une fois le verrou acquis, il reste détenu jusqu&amp;rsquo;à la terminaison d&amp;rsquo;etcdctl.&lt;/p&gt;&#10;&lt;h2 id="prerequisites"&gt;Prérequis&#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Installer &lt;a href="https://pig.center/fr/docs/etcd/install/"&gt;&lt;code&gt;etcd&lt;/code&gt; et &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="creating-a-lock"&gt;Création d’un verrou&#10;&lt;/h2&gt;&#10;&lt;p&gt;&lt;code&gt;lock&lt;/code&gt; pour verrouillage distribué :&lt;/p&gt;&#10;&lt;img class="td-image" src="https://pig.center/docs/etcd/tasks/img/create-lock.gif" alt="08_etcdctl_lock_2016050501" loading="lazy" decoding="async"&gt;&lt;div class="td-code td-code--untitled" id="td-code-37fdb58d-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="shell" data-td-line-count="1"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-37fdb58d-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; lock mutex1&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h3 id="options"&gt;Options&#10;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;endpoints - définit une liste séparée par des virgules d&amp;rsquo;adresses machine du cluster.&lt;/li&gt;&#10;&lt;li&gt;ttl - durée d&amp;rsquo;expiration en secondes de la session de verrouillage.&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Comment effectuer l'élection du leader dans un cluster etcd</title><link>https://pig.center/fr/docs/etcd/tasks/operator/how-to-conduct-elections/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/tasks/operator/how-to-conduct-elections/</guid><description>&lt;h2 id="prerequisites"&gt;Prérequis&#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Vérifiez que &lt;a href="https://pig.center/fr/docs/etcd/install/"&gt;&lt;code&gt;etcd&lt;/code&gt;&lt;/a&gt;&#10; et &lt;a href="https://pig.center/fr/docs/etcd/install/"&gt;&lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;&#10; sont installés.&lt;/li&gt;&#10;&lt;li&gt;Vérifiez l&amp;rsquo;état du cluster etcd actif.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="conduct-leader-election"&gt;Conduire l&amp;rsquo;élection du leader&#10;&lt;/h2&gt;&#10;&lt;p&gt;La commande &lt;code&gt;etcdctl&lt;/code&gt; est utilisée pour effectuer des élections de leader dans un cluster etcd. Elle garantit qu&amp;rsquo;un seul client peut devenir leader à la fois.&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;etcdctl --endpoints=$ENDPOINTS elect &amp;lt;election-name&amp;gt; [proposal]&lt;/code&gt;&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-c3902cff-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="shell" data-td-line-count="1"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-c3902cff-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; elect election-name p1&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h3 id="options"&gt;Options&#10;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;--endpoints : $ENDPOINTS&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Adresse de chaque membre du cluster etcd.&lt;/p&gt;</description></item><item><title>Démarrage rapide</title><link>https://pig.center/fr/docs/etcd/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/quickstart/</guid><description>&lt;p&gt;Suivez ces instructions pour installer, exécuter et tester localement un cluster à membre unique de etcd :&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Installez etcd à partir de binaires précompilés ou du code source. Pour plus de détails, consultez &lt;a href="https://pig.center/fr/docs/etcd/install/"&gt;Installation&lt;/a&gt;&#10;.&lt;/p&gt;&#10;&lt;div class="td-callout td-callout--warning" role="note"&gt;&#10; &lt;div class="td-callout__title"&gt;&lt;i class="td-callout__icon fa-solid fa-triangle-exclamation" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="td-callout__label"&gt;Avertissement&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="td-callout__body"&gt;&#10;&lt;p&gt;&lt;strong&gt;Important&lt;/strong&gt; : Veillez à effectuer la dernière&#10;étape des instructions d&amp;rsquo;installation afin de vérifier que &lt;code&gt;etcd&lt;/code&gt; est dans votre chemin.&lt;/p&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Démarrer &lt;code&gt;etcd&lt;/code&gt; :&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-b0093459-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="console" data-td-line-count="3"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-b0093459-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; etcd&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;{&amp;#34;level&amp;#34;:&amp;#34;info&amp;#34;,&amp;#34;ts&amp;#34;:&amp;#34;2021-09-17T09:19:32.783-0400&amp;#34;,&amp;#34;caller&amp;#34;:&amp;#34;etcdmain/etcd.go:72&amp;#34;,&amp;#34;msg&amp;#34;:... }&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;⋮&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;div class="td-callout td-callout--note" role="note"&gt;&#10; &lt;div class="td-callout__title"&gt;&lt;i class="td-callout__icon fa-solid fa-circle-info" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="td-callout__label"&gt;Note&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="td-callout__body"&gt;&#10;&lt;p&gt;&lt;strong&gt;Remarque&lt;/strong&gt; : La sortie produite par &lt;code&gt;etcd&lt;/code&gt; est&#10;&lt;a href="https://pig.center/fr/docs/etcd/op-guide/configuration/#logging"&gt;logs&lt;/a&gt;&#10; — des journaux de niveau info peuvent&#10;être ignorés.&lt;/p&gt;</description></item><item><title>Comment vérifier l'état du cluster</title><link>https://pig.center/fr/docs/etcd/tasks/operator/how-to-check-cluster-status/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/tasks/operator/how-to-check-cluster-status/</guid><description>&lt;h2 id="prerequisites"&gt;Prérequis&#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Installer &lt;a href="https://pig.center/fr/docs/etcd/install/"&gt;&lt;code&gt;etcd&lt;/code&gt; et &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="check-overall-status"&gt;Vérifier l&amp;rsquo;état global&#10;&lt;/h2&gt;&#10;&lt;p&gt;&lt;code&gt;endpoint status&lt;/code&gt; pour vérifier l&amp;rsquo;état global de chaque point de terminaison spécifié dans le drapeau &lt;code&gt;--endpoints&lt;/code&gt; :&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-63927401-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="bash" data-td-line-count="1"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-63927401-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl endpoint status &lt;span class="o"&gt;(&lt;/span&gt;--endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;--cluster&lt;span class="o"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h3 id="options"&gt;Options&#10;&lt;/h3&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-63927401-fence-1" data-td-code data-td-code-auto-id&#10; data-td-language="bash" data-td-line-count="1"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-63927401-fence-1-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--cluster&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: use all endpoints from the cluster member list&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h2 id="check-health"&gt;Vérifier l&amp;rsquo;état de santé&#10;&lt;/h2&gt;&#10;&lt;p&gt;&lt;code&gt;endpoint health&lt;/code&gt; pour vérifier l&amp;rsquo;état de santé de chaque point de terminaison spécifié dans le drapeau &lt;code&gt;--endpoints&lt;/code&gt; :&lt;/p&gt;</description></item><item><title>Comment sauvegarder la base de données</title><link>https://pig.center/fr/docs/etcd/tasks/operator/how-to-save-database/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/tasks/operator/how-to-save-database/</guid><description>&lt;h2 id="pre-requisites"&gt;Prérequis&#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/install/"&gt;Installer etcdctl, etcdutl&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/dev-guide/local_cluster/"&gt;Configurer un cluster local&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="snapshot-a-database"&gt;Effectuer un instantané d&amp;rsquo;une base de données&#10;&lt;/h2&gt;&#10;&lt;p&gt;&lt;code&gt;snapshot&lt;/code&gt; pour sauvegarder un instantané du stockage etcd à un instant donné :&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-ce3d5e0c-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="bash" data-td-line-count="1"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-ce3d5e0c-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINT&lt;/span&gt; snapshot save DB_NAME&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h3 id="global-options"&gt;Options globales&#10;&lt;/h3&gt;&#10;&lt;h4 id="etcdctl"&gt;etcdctl&#10;&lt;/h4&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-ce3d5e0c-fence-1" data-td-code data-td-code-auto-id&#10; data-td-language="bash" data-td-line-count="1"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-ce3d5e0c-fence-1-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--endpoints&lt;span class="o"&gt;=[&lt;/span&gt;127.0.0.1:2379&lt;span class="o"&gt;]&lt;/span&gt;, gRPC endpoints&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;Un instantané ne peut être demandé qu&amp;rsquo;à un nœud etcd, donc le drapeau &lt;code&gt;--endpoints&lt;/code&gt; ne doit contenir qu&amp;rsquo;un seul point de terminaison.&lt;/p&gt;</description></item><item><title>Exemple</title><link>https://pig.center/fr/docs/etcd/demo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/demo/</guid><description>&lt;p&gt;Cette série d&amp;rsquo;exemples illustre les procédures de base pour travailler avec un cluster etcd.&lt;/p&gt;&#10;&lt;h2 id="auth"&gt;Auth&#10;&lt;/h2&gt;&#10;&lt;p&gt;&lt;code&gt;auth&lt;/code&gt;,&lt;code&gt;user&lt;/code&gt;,&lt;code&gt;role&lt;/code&gt; pour l&amp;rsquo;authentification :&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-5528d4b5-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="shell" data-td-line-count="24"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-5528d4b5-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;ETCDCTL_API&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;3&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;localhost:2379&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role add root&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role get root&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user add root&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user grant-role root root&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user get root&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role add role0&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role grant-permission role0 readwrite foo&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user add user0&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user grant-role user0 role0&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; auth &lt;span class="nb"&gt;enable&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# now all client requests go through auth&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 put foo bar&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; get foo&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# permission denied, user name is empty because the request does not issue an authentication request&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 get foo&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# user0 can read the key foo&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 get foo1&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>Installer</title><link>https://pig.center/fr/docs/etcd/install/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/install/</guid><description>&lt;h2 id="requirements"&gt;Exigences&#10;&lt;/h2&gt;&#10;&lt;p&gt;Avant d’installer etcd, consultez les pages suivantes :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;[Plateformes prises en charge][]&lt;/li&gt;&#10;&lt;li&gt;[Recommandations matérielles][]&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="install-pre-built-binaries"&gt;Installer les binaires préconstruits&#10;&lt;/h2&gt;&#10;&lt;p&gt;La méthode la plus simple pour installer etcd consiste à utiliser des binaires pré-construits :&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Téléchargez le fichier archive compressé pour votre plateforme depuis &lt;a href="https://github.com/etcd-io/etcd/releases/"&gt;Releases&lt;/a&gt;&#10;,&#10;en choisissant une version &lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.7.0"&gt;v3.7.0&lt;/a&gt;&#10; ou ultérieure.&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Décompressez le fichier archive. Cela crée un répertoire contenant les binaires.&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Ajoutez les binaires exécutables à votre chemin d&amp;rsquo;accès. Par exemple, renommez et/ou déplacez&#10;les binaires vers un répertoire de votre chemin d&amp;rsquo;accès (comme &lt;code&gt;/usr/local/bin&lt;/code&gt;), ou ajoutez le&#10;répertoire créé à l&amp;rsquo;étape précédente à votre chemin d&amp;rsquo;accès.&lt;/p&gt;</description></item><item><title>Portes fonctionnelles</title><link>https://pig.center/fr/docs/etcd/feature-gates/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/feature-gates/</guid><description>&lt;!-- overview --&gt;&#10;&lt;p&gt;Cette page présente un aperçu des diverses options de fonctionnalité qu’un administrateur peut spécifier sur etcd.&lt;/p&gt;&#10;&lt;p&gt;Voir &lt;a href="#feature-stages"&gt;étapes du fonctionnement&lt;/a&gt;&#10; pour une explication des étapes d&amp;rsquo;une fonctionnalité.&lt;/p&gt;&#10;&lt;!-- body --&gt;&#10;&lt;h2 id="overview"&gt;Aperçu&#10;&lt;/h2&gt;&#10;&lt;p&gt;Les portes fonctionnelles sont un ensemble de paires clé=valeur qui décrivent les fonctionnalités d&amp;rsquo;etcd.&#10;Vous pouvez activer ou désactiver ces fonctionnalités à l&amp;rsquo;aide du drapeau de ligne de commande &lt;code&gt;--feature-gates&lt;/code&gt; sur etcd.&lt;/p&gt;</description></item><item><title>FAQ</title><link>https://pig.center/fr/docs/etcd/faq/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/faq/</guid><description>&lt;h2 id="etcd-general"&gt;etcd, général&#10;&lt;/h2&gt;&#10;&lt;h3 id="what-is-etcd"&gt;Qu&amp;rsquo;est-ce qu&amp;rsquo;etcd ?&#10;&lt;/h3&gt;&#10;&lt;p&gt;etcd est un magasin clé-valeur distribué cohérent. Principalement utilisé comme service de coordination indépendant dans les systèmes distribués. Conçu pour stocker de petites quantités de données pouvant tenir entièrement en mémoire.&lt;/p&gt;&#10;&lt;h3 id="how-do-you-pronounce-etcd"&gt;Comment prononce-t-on etcd ?&#10;&lt;/h3&gt;&#10;&lt;p&gt;etcd se prononce &lt;strong&gt;/ˈɛtsiːdiː/&lt;/strong&gt; et signifie « répertoire &lt;code&gt;etc&lt;/code&gt; distribué ».&lt;/p&gt;&#10;&lt;h3 id="do-clients-have-to-send-requests-to-the-etcd-leader"&gt;Les clients doivent-ils envoyer des requêtes au leader etcd ?&#10;&lt;/h3&gt;&#10;&lt;p&gt;&lt;a href="https://raft.github.io/raft.pdf"&gt;Raft&lt;/a&gt;&#10; est basé sur un leader ; le leader gère toutes les requêtes clients nécessitant un consensus au sein du cluster. Toutefois, le client n’a pas besoin de savoir quel nœud est le leader. Toute requête nécessitant un consensus envoyée à un suiveur est automatiquement redirigée vers le leader. Les requêtes ne nécessitant pas de consensus (par exemple, les lectures sérialisées) peuvent être traitées par n’importe quel membre du cluster.&lt;/p&gt;</description></item><item><title>Bibliothèques et outils</title><link>https://pig.center/fr/docs/etcd/integrations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/integrations/</guid><description>&lt;p&gt;Notez que les bibliothèques et outils tiers (non hébergés sur &lt;a href="https://github.com/etcd-io"&gt;https://github.com/etcd-io&lt;/a&gt;&#10;) mentionnés ci-dessous ne sont pas testés ni entretenus par l&amp;rsquo;équipe etcd. Avant de les utiliser, les utilisateurs sont invités à les lire et à les examiner.&lt;/p&gt;&#10;&lt;h2 id="tools"&gt;Outils&#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/tree/main/etcdctl"&gt;etcdctl&lt;/a&gt;&#10; - Client en ligne de commande pour etcd&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://npmjs.org/package/etcd-dump"&gt;etcd-dump&lt;/a&gt;&#10; - Utilitaire en ligne de commande pour sauvegarder/restaurer etcd.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/xetorthio/etcd-fs"&gt;etcd-fs&lt;/a&gt;&#10; - Système de fichiers FUSE pour etcd&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/rekby/etcddir"&gt;etcddir&lt;/a&gt;&#10; - Synchronisation en temps réel entre etcd et un répertoire local. Fonctionne sous Windows et Linux.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/henszey/etcd-browser"&gt;etcd-browser&lt;/a&gt;&#10; - Éditeur web de magasin clé-valeur pour etcd utilisant AngularJS&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/datawisesystems/etcd-lock"&gt;etcd-lock&lt;/a&gt;&#10; - Implémentation d&amp;rsquo;élection de maître et de verrouillage lecture/écriture distribué utilisant etcd - Prend en charge la version 2&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/matishsiao/etcd-console"&gt;etcd-console&lt;/a&gt;&#10; - Éditeur web de magasin clé-valeur pour etcd utilisant PHP&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/nikfoundas/etcd-viewer"&gt;etcd-viewer&lt;/a&gt;&#10; - Éditeur/visualiseur de magasin clé-valeur etcd écrit en Java&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/mickep76/etcdtool"&gt;etcdtool&lt;/a&gt;&#10; - Export/Import/Edit répertoire etcd en tant que JSON/YAML/TOML et validation du répertoire à l’aide d’un schéma JSON&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/sinsharat/etcdloadtest"&gt;etcdloadtest&lt;/a&gt;&#10; - Client de test de charge en ligne de commande pour etcd 3.0 et versions ultérieures&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/olamilekan000/etcd-tui"&gt;etcd-tui&lt;/a&gt;&#10; - Une interface utilisateur moderne en mode terminal (TUI) pour interagir avec votre base de données etcd. Parcourez les clés, affichez les valeurs, filtrez les données et gérez votre cluster etcd directement depuis votre terminal.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://etcdfinder.github.io"&gt;etcdfinder&lt;/a&gt;&#10; - Une interface web moderne et ultra-rapide pour etcd, avec recherche instantanée. Prend en charge à la fois etcd v2 et v3.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/ringtail/lucas"&gt;lucas&lt;/a&gt;&#10; - Un visualiseur de paires clé-valeur basé sur web pour les clusters etcd3.0+ de Kubernetes.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://etcdmanager.io"&gt;etcd-manager&lt;/a&gt;&#10; - Outil graphique et client moderne, efficace, multiplateforme et gratuit pour etcd 3.x. Disponible pour Windows, Linux et Mac.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/gardener/etcd-backup-restore"&gt;etcd-backup-restore&lt;/a&gt;&#10; - Utilitaire permettant de sauvegarder et de restaurer de manière périodique et incrémentielle etcd.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/gardener/etcd-druid"&gt;etcd-druid&lt;/a&gt;&#10; - Opérateur Kubernetes permettant de déployer des clusters etcd et de gérer les opérations de gestion de jour 2.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/kubernetes-sigs/etcdadm"&gt;etcdadm&lt;/a&gt;&#10; - Outil en ligne de commande pour gérer un cluster etcd.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/ahrtr/etcd-defrag"&gt;etcd-defrag&lt;/a&gt;&#10; - Outil de défragmentation etcd plus facile à utiliser et plus intelligent.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/tsonglew/intellij-etcdhelper"&gt;etcdhelper&lt;/a&gt;&#10; - Plugin pour la plateforme IntelliJ pour etcd.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="libraries"&gt;Bibliothèques&#10;&lt;/h2&gt;&#10;&lt;p&gt;Les sections ci-dessous listent les bibliothèques clientes etcd par langage.&lt;/p&gt;</description></item><item><title>Comment ajouter et supprimer des membres</title><link>https://pig.center/fr/docs/etcd/tasks/operator/how-to-deal-with-membership/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/tasks/operator/how-to-deal-with-membership/</guid><description>&lt;p&gt;&lt;code&gt;member&lt;/code&gt; pour ajouter, supprimer ou mettre à jour le membre :&lt;/p&gt;&#10;&lt;img class="td-image" src="https://pig.center/docs/etcd/tasks/img/manage-members.gif" alt="13_etcdctl_member_2016062301" loading="lazy" decoding="async"&gt;&lt;div class="td-code td-code--untitled" id="td-code-821b4e9d-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="shell" data-td-line-count="46"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-821b4e9d-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# For each machine&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;my-etcd-token-1&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;new&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;etcd-node-1&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;etcd-node-2&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;etcd-node-3&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.13&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.14&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.15&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380,&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380,&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# For node 1&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# For node 2&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# For node 3&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;--initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;Ensuite, remplacez un membre avec les commandes &lt;code&gt;member remove&lt;/code&gt; et &lt;code&gt;member add&lt;/code&gt; :&lt;/p&gt;</description></item><item><title>Signalement de bogues</title><link>https://pig.center/fr/docs/etcd/reporting_bugs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/reporting_bugs/</guid><description>&lt;p&gt;Si une partie du projet etcd présente des bogues ou des erreurs de documentation, veuillez nous en informer en &lt;a href="https://github.com/etcd-io/etcd/issues/new"&gt;ouvrant une demande&lt;/a&gt;&#10;. Nous prenons très au sérieux les bogues et les erreurs, et considérons qu&amp;rsquo;aucun problème n&amp;rsquo;est trop petit. Avant de créer un rapport de bogue, veuillez vérifier qu&amp;rsquo;une demande signalant le même problème n&amp;rsquo;existe pas déjà.&lt;/p&gt;&#10;&lt;p&gt;Pour que le rapport de bogues soit précis et facile à comprendre, veuillez essayer de rédiger des rapports de bogues qui sont :&lt;/p&gt;</description></item><item><title>Optimisation</title><link>https://pig.center/fr/docs/etcd/tuning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/tuning/</guid><description>&lt;p&gt;Les paramètres par défaut d’etcd devraient fonctionner correctement pour les installations sur un réseau local où la latence réseau moyenne est faible. Toutefois, lors de l’utilisation d’etcd sur plusieurs centres de données ou sur des réseaux à forte latence, il se peut que les paramètres d’intervalle de battement et de délai d’élection nécessitent une adaptation.&lt;/p&gt;&#10;&lt;p&gt;Le réseau n’est pas la seule source de latence. Chaque requête et réponse peut être affectée par des disques lents sur le leader et le suiveur. Chacun de ces délais d’attente représente le temps total écoulé entre la requête et la réponse réussie de l’autre machine.&lt;/p&gt;</description></item><item><title>Protocole du service de découverte</title><link>https://pig.center/fr/docs/etcd/dev-guide/discovery_protocol/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/dev-guide/discovery_protocol/</guid><description>&lt;p&gt;Le protocole de service de découverte aide un nouveau membre etcd à découvrir tous les autres membres du cluster pendant la phase d&amp;rsquo;initialisation, en utilisant une URL de découverte partagée.&lt;/p&gt;&#10;&lt;p&gt;Le protocole de service de découverte n’est utilisé que pendant la phase d’amorçage du cluster, et ne peut pas être utilisé pour la reconfiguration en temps réel ou la surveillance du cluster.&lt;/p&gt;&#10;&lt;p&gt;Le protocole utilise un nouveau jeton de découverte pour initialiser un &lt;em&gt;unique&lt;/em&gt; cluster etcd. Souvenez-vous qu’un jeton de découverte ne peut représenter qu’un seul cluster etcd. Dès que le protocole de découverte associé à ce jeton est lancé, même s’il échoue en cours de route, il ne doit pas être utilisé pour initialiser un autre cluster etcd.&lt;/p&gt;</description></item><item><title>Protocole du service de découverte</title><link>https://pig.center/fr/docs/etcd/dev-internal/discovery_protocol/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/dev-internal/discovery_protocol/</guid><description>&lt;p&gt;Le protocole de service de découverte aide un nouveau membre etcd à découvrir tous les autres membres du cluster pendant la phase d&amp;rsquo;initialisation, en utilisant un jeton de découverte partagé et une liste d&amp;rsquo;extrémités.&lt;/p&gt;&#10;&lt;p&gt;Le protocole de service de découverte n’est utilisé que pendant la phase d’amorçage du cluster, et ne peut pas être utilisé pour la reconfiguration en temps réel ou la surveillance du cluster.&lt;/p&gt;&#10;&lt;p&gt;Le protocole utilise un nouveau jeton de découverte pour initialiser un &lt;em&gt;unique&lt;/em&gt; cluster etcd. Souvenez-vous qu’un jeton de découverte ne peut représenter qu’un seul cluster etcd. Dès que le protocole de découverte associé à ce jeton est lancé, même s’il échoue en cours de route, il ne doit pas être utilisé pour initialiser un autre cluster etcd.&lt;/p&gt;</description></item><item><title>Conventions de journalisation</title><link>https://pig.center/fr/docs/etcd/dev-internal/logging/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/dev-internal/logging/</guid><description>&lt;p&gt;etcd utilise la bibliothèque &lt;a href="https://github.com/uber-go/zap"&gt;zap&lt;/a&gt;&#10; pour la journalisation de la sortie de l&amp;rsquo;application, catégorisée en &lt;em&gt;niveaux&lt;/em&gt;. Le niveau d&amp;rsquo;un message de journalisation est déterminé selon les conventions suivantes :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Les journaux DebugLevel sont généralement volumineux et sont habituellement désactivés en production.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Exemples :&#10;&lt;ul&gt;&#10;&lt;li&gt;Envoyer un message normal à un pair distant&lt;/li&gt;&#10;&lt;li&gt;Écrire une entrée de journal sur le disque&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;InfoLevel est la priorité de journalisation par défaut.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Exemples :&#10;&lt;ul&gt;&#10;&lt;li&gt;Configuration au démarrage&lt;/li&gt;&#10;&lt;li&gt;Effectuer un instantané&lt;/li&gt;&#10;&lt;li&gt;Ajouter un nouveau nœud au cluster&lt;/li&gt;&#10;&lt;li&gt;Ajouter un nouvel utilisateur au sous-système d&amp;rsquo;authentification&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Les journaux de niveau Warn sont plus importants que ceux de niveau Info, mais ne nécessitent pas de revue humaine individuelle.&lt;/p&gt;</description></item><item><title>Modules Go</title><link>https://pig.center/fr/docs/etcd/dev-internal/modules/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/dev-internal/modules/</guid><description>&lt;p&gt;Le projet etcd (à partir de la version 3.5) est organisé en plusieurs modules &lt;a href="https://golang.org/ref/mod"&gt;golang&lt;/a&gt;&#10; hébergés dans un &lt;a href="https://golang.org/ref/mod#vcs-dir"&gt;référentiel unique&lt;/a&gt;&#10;.&lt;/p&gt;&#10;&lt;img class="td-image" src="https://pig.center/docs/etcd/dev-internal/img/modules.svg" alt="modules graph" loading="lazy" decoding="async"&gt;&lt;p&gt;Les modules suivants sont disponibles :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;go.etcd.io/etcd/api/v3&lt;/strong&gt; - contient les définitions d&amp;rsquo;API&#10;(protos et bibliothèques générées à partir de protos) qui définissent le protocole de communication&#10;entre les clients et le serveur etcd.&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;go.etcd.io/etcd/pkg/v3&lt;/strong&gt; - ensemble de packages d&amp;rsquo;utilitaires utilisés par etcd&#10;sans être spécifiques à etcd lui-même. Un package doit être placé ici uniquement s&amp;rsquo;il pourrait éventuellement être déplacé vers son propre dépôt à l&amp;rsquo;avenir.&#10;Évitez d&amp;rsquo;ajouter ici du code qui a de nombreux dépendances, car celles-ci deviendraient automatiquement des dépendances de la bibliothèque cliente&#10;(que nous souhaitons garder légère).&lt;/p&gt;</description></item><item><title>Modèle de données</title><link>https://pig.center/fr/docs/etcd/learning/data_model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/learning/data_model/</guid><description>&lt;p&gt;etcd est conçu pour stocker de manière fiable des données peu fréquemment mises à jour et fournir des requêtes de surveillance fiables. etcd expose les versions antérieures des paires clé-valeur afin de prendre en charge des instantanés à faible coût et les événements de historique de surveillance (« requêtes de voyage dans le temps »). Un modèle de données persistant, à plusieurs versions et contrôlant la concurrence s’adapte parfaitement à ces cas d’utilisation.&lt;/p&gt;</description></item><item><title>etcd conception client</title><link>https://pig.center/fr/docs/etcd/learning/design-client/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/learning/design-client/</guid><description>&lt;h1 id="conception-du-client-etcd"&gt;Conception du client etcd&#10;&lt;/h1&gt;&#10;&lt;p&gt;&lt;em&gt;Gyuho Lee (github.com/gyuho, Amazon Web Services, Inc.), Joe Betz (github.com/jpbetz, Google Inc.)&lt;/em&gt;&lt;/p&gt;&#10;&lt;h1 id="introduction"&gt;Introduction&#10;&lt;/h1&gt;&#10;&lt;p&gt;Le serveur etcd a démontré sa robustesse au fil de nombreuses années de tests d&amp;rsquo;injection d&amp;rsquo;erreurs. La logique d&amp;rsquo;application la plus complexe est déjà gérée par le serveur etcd et ses magasins de données (par exemple, la gestion de l&amp;rsquo;appartenance au cluster est transparente pour les clients, les propositions étant acheminées au leader au niveau du protocole Raft). Bien que les composants du serveur soient corrects, leur interaction avec les clients nécessite un ensemble différent de protocoles complexes afin de garantir leur correction et une haute disponibilité en cas de défaillance. Idéalement, le serveur etcd fournit une vue logique unique d&amp;rsquo;un cluster composé de plusieurs machines physiques, et le client implémente un basculement automatique entre les réplicas. Ce document décrit les choix architecturaux du client ainsi que leurs détails d&amp;rsquo;implémentation.&lt;/p&gt;</description></item><item><title>etcd design membre apprenant</title><link>https://pig.center/fr/docs/etcd/learning/design-learner/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/learning/design-learner/</guid><description>&lt;h1 id="etcd-membre-apprenant"&gt;etcd Membre apprenant&#10;&lt;/h1&gt;&#10;&lt;p&gt;&lt;em&gt;Gyuho Lee (github.com/gyuho, Amazon Web Services, Inc.), Joe Betz (github.com/jpbetz, Google Inc.)&lt;/em&gt;&lt;/p&gt;&#10;&lt;h1 id="contexte"&gt;Contexte&#10;&lt;/h1&gt;&#10;&lt;p&gt;La reconfiguration du membership a été l’un des plus grands défis opérationnels. Examinons les défis courants.&lt;/p&gt;&#10;&lt;h3 id="1-new-cluster-member-overloads-leader"&gt;1. Nouveau membre de cluster surcharge le leader&#10;&lt;/h3&gt;&#10;&lt;p&gt;Un membre etcd nouvellement joint démarre sans données, ce qui entraîne un plus grand nombre de mises à jour provenant du leader jusqu’à ce qu’il rattrape la log du leader. Le réseau du leader est alors plus susceptible d’être surchargé, bloquant ou perdant les battements de cœur envoyés aux suiveurs. Dans ce cas, un suiveur peut atteindre son délai d’élection et déclencher une nouvelle élection de leader. Ainsi, un cluster comportant un nouveau membre est plus vulnérable à une élection de leader. À la fois l’élection de leader et la propagation ultérieure des mises à jour vers le nouveau membre sont sujettes à provoquer des périodes d’indisponibilité du cluster (voir &lt;em&gt;Figure 1&lt;/em&gt;).&lt;/p&gt;</description></item><item><title>etcd conception de l'authentification v3</title><link>https://pig.center/fr/docs/etcd/learning/design-auth-v3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/learning/design-auth-v3/</guid><description>&lt;h2 id="why-not-reuse-the-v2-auth-system"&gt;Pourquoi ne pas réutiliser le système d&amp;rsquo;authentification v2 ?&#10;&lt;/h2&gt;&#10;&lt;p&gt;Le protocole v3 utilise gRPC comme transport, à la place d&amp;rsquo;une interface RESTful comme dans la v2. Ce nouveau protocole offre l&amp;rsquo;opportunité d&amp;rsquo;améliorer et d&amp;rsquo;évoluer la conception de la v2. Par exemple, l&amp;rsquo;authentification v3 repose sur une authentification basée sur la connexion, contrairement à l&amp;rsquo;authentification par requête plus lente de la v2. En outre, les sémantiques de l&amp;rsquo;authentification v2 s&amp;rsquo;avèrent souvent peu pratiques en pratique lorsqu&amp;rsquo;il s&amp;rsquo;agit d&amp;rsquo;assurer la cohérence, ce qui sera expliqué dans les sections suivantes. Pour la v3, une description et une implémentation clairement définies du mécanisme d&amp;rsquo;authentification corrigent les déficiences du système d&amp;rsquo;authentification v2.&lt;/p&gt;</description></item><item><title>etcd API</title><link>https://pig.center/fr/docs/etcd/learning/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/learning/api/</guid><description>&lt;p&gt;Ce document a pour objectif de présenter une vue d&amp;rsquo;ensemble des principes fondamentaux de l&amp;rsquo;API v3 d&amp;rsquo;etcd.&#10;Il ne doit pas être confondu avec l&amp;rsquo;API etcd v2, dépréciée à partir d&amp;rsquo;etcd v3.5.&#10;Il ne prétend pas être exhaustif, mais vise à se concentrer sur les idées de base nécessaires à la compréhension d&amp;rsquo;etcd, sans les distractions des appels d&amp;rsquo;API moins courants.&#10;Toutes les API etcd sont définies dans des services &lt;a href="https://github.com/etcd-io/etcd/blob/main/api/etcdserverpb/rpc.proto"&gt;gRPC&lt;/a&gt;&#10;, qui catégorisent les appels de procédure distante (RPC) compris par le serveur etcd.&#10;Une liste complète de toutes les RPC etcd est documentée au format markdown dans le &lt;a href="https://pig.center/fr/docs/etcd/dev-guide/api_reference_v3/"&gt;listing des API gRPC&lt;/a&gt;&#10;.&lt;/p&gt;</description></item><item><title>etcd fichiers de stockage persistant</title><link>https://pig.center/fr/docs/etcd/learning/persistent-storage-files/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/learning/persistent-storage-files/</guid><description>&lt;p&gt;Ce document explique le format de stockage persistant d’etcd : nomenclature, contenu et outils permettant aux développeurs d’en inspecter le contenu. À l’avenir, ce document devrait être mis à jour pour refléter les évolutions du modèle de stockage. Il s’adresse aux développeurs d’etcd afin de les aider dans leurs besoins de récupération de données.&lt;/p&gt;&#10;&lt;h2 id="prerequisites"&gt;Prérequis&#10;&lt;/h2&gt;&#10;&lt;p&gt;Les articles suivants fournissent des informations de fond utiles pour ce document :&lt;/p&gt;</description></item><item><title>etcd Garanties de l'API</title><link>https://pig.center/fr/docs/etcd/learning/api_guarantees/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/learning/api_guarantees/</guid><description>&lt;p&gt;etcd est un magasin clé-valeur cohérent et durable.&#10;Le magasin clé-valeur est exposé via des [services gRPC].&#10;etcd garantit les plus fortes garanties de cohérence et de durabilité pour un système distribué.&#10;Cette spécification énumère les garanties d&amp;rsquo;API offertes par etcd.&lt;/p&gt;&#10;&lt;h3 id="apis-to-consider"&gt;API à prendre en compte&#10;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;APIs KV&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/learning/api/#range"&gt;Range&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/learning/api/#rangestream"&gt;RangeStream&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/learning/api/#put"&gt;Put&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/learning/api/#delete-range"&gt;Delete&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/learning/api/#transaction"&gt;Transaction&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;APIs de surveillance&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/learning/api/#watch-api"&gt;Surveillance&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;APIs de bail&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/learning/api/#obtaining-leases"&gt;Octroyer&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;[Révoquer]&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/learning/api/#keep-alives"&gt;Maintien de vie&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;L&amp;rsquo;API KV permet de lire et de manipuler directement le magasin de paires clé-valeur.&#10;L&amp;rsquo;API surveillance permet de s&amp;rsquo;abonner aux modifications apportées au magasin de paires clé-valeur.&#10;L&amp;rsquo;API bail permet d&amp;rsquo;attribuer une durée de vie à une clé.&lt;/p&gt;</description></item><item><title>etcd par rapport aux autres magasins clé-valeur</title><link>https://pig.center/fr/docs/etcd/learning/why/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/learning/why/</guid><description>&lt;p&gt;Le nom « etcd » provient de deux idées : le dossier unix « /etc » et les systèmes « d »istribués. Le dossier « /etc » est un emplacement destiné au stockage des données de configuration d’un système unique, tandis qu’etcd stocke les informations de configuration pour des systèmes distribués à grande échelle. Ainsi, un « d »istribué « /etc » devient « etcd ».&lt;/p&gt;&#10;&lt;p&gt;etcd est conçu comme une base commune pour les systèmes distribués à grande échelle. Il s&amp;rsquo;agit de systèmes qui ne tolèrent jamais une opération en split-brain et sont prêts à sacrifier la disponibilité pour atteindre cet objectif. etcd stocke les métadonnées de manière cohérente et résistante aux pannes. Un cluster etcd vise à offrir un stockage clé-valeur avec une stabilité, une fiabilité, une évolutivité et des performances de niveau supérieur.&lt;/p&gt;</description></item><item><title>Glossaire</title><link>https://pig.center/fr/docs/etcd/learning/glossary/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/learning/glossary/</guid><description>&lt;p&gt;Ce document définit les différents termes utilisés dans la documentation, la ligne de commande et le code source d’etcd.&lt;/p&gt;&#10;&lt;h2 id="alarm"&gt;Alarme&#10;&lt;/h2&gt;&#10;&lt;p&gt;Le serveur etcd déclenche une alarme chaque fois que le cluster nécessite une intervention opérationnelle pour rester fiable.&lt;/p&gt;&#10;&lt;h2 id="authentication"&gt;Authentification&#10;&lt;/h2&gt;&#10;&lt;p&gt;L’authentification gère les autorisations d’accès des utilisateurs aux ressources etcd.&lt;/p&gt;&#10;&lt;h2 id="client"&gt;Client&#10;&lt;/h2&gt;&#10;&lt;p&gt;Un client se connecte au cluster etcd pour émettre des requêtes de service, telles que la récupération de paires clé-valeur, l&amp;rsquo;écriture de données ou la surveillance des mises à jour.&lt;/p&gt;</description></item><item><title>Mettre en place un cluster local</title><link>https://pig.center/fr/docs/etcd/dev-guide/local_cluster/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/dev-guide/local_cluster/</guid><description>&lt;p&gt;Pour les déploiements de test et de développement, la méthode la plus rapide et la plus simple consiste à configurer un cluster local. Pour un déploiement en production, reportez-vous à la section &lt;a href="https://pig.center/fr/docs/etcd/op-guide/clustering/"&gt;clustering&lt;/a&gt;&#10;.&lt;/p&gt;&#10;&lt;h2 id="local-standalone-cluster"&gt;Cluster autonome local&#10;&lt;/h2&gt;&#10;&lt;h3 id="starting-a-cluster"&gt;Démarrage d’un cluster&#10;&lt;/h3&gt;&#10;&lt;p&gt;Exécutez la commande suivante pour déployer un cluster etcd en tant que cluster autonome :&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-181de315-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="" data-td-line-count="2"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-181de315-fence-0-viewport" data-td-code-viewport&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;$ ./etcd&#10;...&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;Si le binaire &lt;code&gt;etcd&lt;/code&gt; n&amp;rsquo;est pas présent dans le répertoire de travail courant, il se peut qu&amp;rsquo;il se trouve soit à &lt;code&gt;$GOPATH/bin/etcd&lt;/code&gt;, soit à &lt;code&gt;/usr/local/bin/etcd&lt;/code&gt;. Exécutez la commande en conséquence.&lt;/p&gt;</description></item><item><title>Interaction avec etcd</title><link>https://pig.center/fr/docs/etcd/dev-guide/interacting_v3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/dev-guide/interacting_v3/</guid><description>&lt;p&gt;Les utilisateurs interagissent généralement avec etcd en définissant ou en récupérant la valeur d&amp;rsquo;une clé. Cette section décrit comment effectuer ces opérations à l&amp;rsquo;aide d&amp;rsquo;etcdctl, un outil en ligne de commande pour interagir avec le serveur etcd. Les concepts décrits ici s&amp;rsquo;appliquent également aux API gRPC ou aux API des bibliothèques clientes.&lt;/p&gt;&#10;&lt;p&gt;La version de l&amp;rsquo;API utilisée par etcdctl pour communiquer avec etcd peut être définie à &lt;code&gt;2&lt;/code&gt; ou &lt;code&gt;3&lt;/code&gt; via la variable d&amp;rsquo;environnement &lt;code&gt;ETCDCTL_API&lt;/code&gt;. Par défaut, etcdctl sur la branche master (3.4) utilise l&amp;rsquo;API v3, tandis que les versions antérieures (3.3 et antérieures) utilisent par défaut l&amp;rsquo;API v2.&lt;/p&gt;</description></item><item><title>Pourquoi utiliser une passerelle gRPC</title><link>https://pig.center/fr/docs/etcd/dev-guide/api_grpc_gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/dev-guide/api_grpc_gateway/</guid><description>&lt;p&gt;etcd v3 utilise &lt;a href="https://www.grpc.io/"&gt;gRPC&lt;/a&gt;&#10; comme protocole de messagerie. Le projet etcd inclut un client &lt;a href="https://github.com/etcd-io/etcd/tree/main/client/v3"&gt;Go&lt;/a&gt;&#10; basé sur gRPC ainsi qu&amp;rsquo;une utilitaire en ligne de commande, &lt;a href="https://github.com/etcd-io/etcd/tree/main/etcdctl"&gt;etcdctl&lt;/a&gt;&#10;, pour communiquer avec un cluster etcd via gRPC. Pour les langages ne disposant pas de prise en charge gRPC, etcd fournit une passerelle &lt;a href="https://github.com/grpc-ecosystem/grpc-gateway"&gt;gRPC&lt;/a&gt;&#10; en JSON. Cette passerelle fournit un proxy RESTful qui traduit les requêtes HTTP/JSON en messages gRPC.&lt;/p&gt;&#10;&lt;h2 id="using-grpc-gateway"&gt;Utilisation de la passerelle gRPC&#10;&lt;/h2&gt;&#10;&lt;p&gt;La passerelle accepte une correspondance &lt;a href="https://developers.google.com/protocol-buffers/docs/proto3#json"&gt;JSON&lt;/a&gt;&#10; pour les définitions de messages du protocole buffer &lt;a href="https://pig.center/fr/docs/etcd/dev-guide/api_reference_v3/"&gt;de etcd&lt;/a&gt;&#10;. Notez que les champs &lt;code&gt;key&lt;/code&gt; et &lt;code&gt;value&lt;/code&gt; sont définis comme des tableaux d&amp;rsquo;octets et doivent donc être encodés en base64 dans le JSON. Les exemples suivants utilisent &lt;code&gt;curl&lt;/code&gt;, mais tout client HTTP/JSON devrait fonctionner de la même manière.&lt;/p&gt;</description></item><item><title>Découverte et nommage gRPC</title><link>https://pig.center/fr/docs/etcd/dev-guide/grpc_naming/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/dev-guide/grpc_naming/</guid><description>&lt;p&gt;etcd fournit un résolveur gRPC afin de prendre en charge un système de noms alternatif qui récupère les points d&amp;rsquo;accès depuis etcd pour la découverte de services gRPC. Le mécanisme sous-jacent repose sur la surveillance des mises à jour des clés préfixées par le nom du service.&lt;/p&gt;&#10;&lt;p&gt;Notez que cette fonctionnalité est expérimentale car elle dépend du paquet &lt;a href="https://github.com/grpc/grpc-go/tree/4cedec40eb2ccfbe3f56bb15e894903111ada2d2/resolver"&gt;google.golang.org/grpc/resolver&lt;/a&gt;&#10;, qui reste expérimental dans grpc-go.&lt;/p&gt;&#10;&lt;h2 id="using-etcd-discovery-with-go-grpc"&gt;Utilisation de la découverte etcd avec go-grpc&#10;&lt;/h2&gt;&#10;&lt;p&gt;Le client etcd fournit un résolveur gRPC permettant de résoudre les points d&amp;rsquo;accès gRPC à l&amp;rsquo;aide d&amp;rsquo;un backend etcd. Le résolveur est initialisé avec un client etcd :&lt;/p&gt;</description></item><item><title>Intégration d'etcd dans une application Go</title><link>https://pig.center/fr/docs/etcd/dev-guide/golang_embed_pkg/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/dev-guide/golang_embed_pkg/</guid><description>&lt;p&gt;Le paquet go etcd &lt;code&gt;embed&lt;/code&gt; fournit un moyen simple d&amp;rsquo;intégrer un serveur etcd directement dans votre application.&lt;/p&gt;&#10;&lt;p&gt;Pour plus de détails, consultez la documentation du paquet &lt;a href="https://pkg.go.dev/go.etcd.io/etcd/server/v3/embed"&gt;embed&lt;/a&gt;&#10;.&lt;/p&gt;</description></item><item><title>Limites système</title><link>https://pig.center/fr/docs/etcd/dev-guide/limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/dev-guide/limit/</guid><description>&lt;h2 id="request-size-limit"&gt;Limite de taille de requête&#10;&lt;/h2&gt;&#10;&lt;p&gt;etcd est conçu pour gérer des paires clé-valeur de petite taille, typiques des métadonnées. Les requêtes plus grandes fonctionnent, mais peuvent augmenter la latence des autres requêtes. Par défaut, la taille maximale de toute requête est de 1,5 MiB. Cette limite est configurable via le drapeau &lt;code&gt;--max-request-bytes&lt;/code&gt; du serveur etcd.&lt;/p&gt;&#10;&lt;h2 id="storage-size-limit"&gt;Limite de taille du stockage&#10;&lt;/h2&gt;&#10;&lt;p&gt;La limite par défaut de taille de stockage est de 2 GiB, configurable à l&amp;rsquo;aide du drapeau &lt;code&gt;--quota-backend-bytes&lt;/code&gt;. Une taille maximale de 8 GiB est recommandée pour les environnements normaux, et etcd émet un avertissement au démarrage si la valeur configurée la dépasse.&lt;/p&gt;</description></item><item><title>etcd features</title><link>https://pig.center/fr/docs/etcd/dev-guide/features/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/dev-guide/features/</guid><description>&lt;p&gt;Ce document présente un aperçu des fonctionnalités d’etcd afin d’aider les utilisateurs à mieux comprendre ces fonctionnalités et le processus de mise hors service associé. Si vous souhaitez en savoir plus sur la manière dont les fonctionnalités sont développées dans etcd, veuillez consulter ces &lt;a href="https://github.com/etcd-io/etcd/blob/main/Documentation/contributor-guide/features.md"&gt;guides de développement&lt;/a&gt;&#10;.&lt;/p&gt;&#10;&lt;p&gt;Les fonctionnalités d&amp;rsquo;etcd sont classées en trois états : expérimentales, stables et non sécurisées. Vous pouvez obtenir la liste des fonctionnalités en exécutant &lt;code&gt;etcd --help&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Référence de l'API</title><link>https://pig.center/fr/docs/etcd/dev-guide/api_reference_v3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/dev-guide/api_reference_v3/</guid><description>&lt;p&gt;Cette référence d&amp;rsquo;API est générée automatiquement à partir des fichiers nommés &lt;code&gt;.proto&lt;/code&gt;.&lt;/p&gt;&#10;&lt;h5 id="service-auth-apietcdserverpbrpcproto"&gt;service &lt;code&gt;Auth&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Méthode&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type de requête&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type de réponse&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;AuthEnable&lt;/td&gt;&#10; &lt;td&gt;AuthEnableRequest&lt;/td&gt;&#10; &lt;td&gt;AuthEnableResponse&lt;/td&gt;&#10; &lt;td&gt;AuthEnable active l&amp;rsquo;authentification.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;AuthDisable&lt;/td&gt;&#10; &lt;td&gt;AuthDisableRequest&lt;/td&gt;&#10; &lt;td&gt;AuthDisableResponse&lt;/td&gt;&#10; &lt;td&gt;AuthDisable désactive l&amp;rsquo;authentification.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;AuthStatus&lt;/td&gt;&#10; &lt;td&gt;AuthStatusRequest&lt;/td&gt;&#10; &lt;td&gt;AuthStatusResponse&lt;/td&gt;&#10; &lt;td&gt;AuthStatus affiche l&amp;rsquo;état de l&amp;rsquo;authentification.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;Authenticate&lt;/td&gt;&#10; &lt;td&gt;AuthenticateRequest&lt;/td&gt;&#10; &lt;td&gt;AuthenticateResponse&lt;/td&gt;&#10; &lt;td&gt;Authenticate traite une requête d&amp;rsquo;authentification.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;UserAdd&lt;/td&gt;&#10; &lt;td&gt;AuthUserAddRequest&lt;/td&gt;&#10; &lt;td&gt;AuthUserAddResponse&lt;/td&gt;&#10; &lt;td&gt;UserAdd ajoute un nouvel utilisateur. Le nom d&amp;rsquo;utilisateur ne peut pas être vide.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;UserGet&lt;/td&gt;&#10; &lt;td&gt;AuthUserGetRequest&lt;/td&gt;&#10; &lt;td&gt;AuthUserGetResponse&lt;/td&gt;&#10; &lt;td&gt;UserGet obtient les informations détaillées d&amp;rsquo;un utilisateur.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;UserList&lt;/td&gt;&#10; &lt;td&gt;AuthUserListRequest&lt;/td&gt;&#10; &lt;td&gt;AuthUserListResponse&lt;/td&gt;&#10; &lt;td&gt;UserList obtient la liste de tous les utilisateurs.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;UserDelete&lt;/td&gt;&#10; &lt;td&gt;AuthUserDeleteRequest&lt;/td&gt;&#10; &lt;td&gt;AuthUserDeleteResponse&lt;/td&gt;&#10; &lt;td&gt;UserDelete supprime un utilisateur spécifié.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;UserChangePassword&lt;/td&gt;&#10; &lt;td&gt;AuthUserChangePasswordRequest&lt;/td&gt;&#10; &lt;td&gt;AuthUserChangePasswordResponse&lt;/td&gt;&#10; &lt;td&gt;UserChangePassword modifie le mot de passe d&amp;rsquo;un utilisateur spécifié.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;UserGrantRole&lt;/td&gt;&#10; &lt;td&gt;AuthUserGrantRoleRequest&lt;/td&gt;&#10; &lt;td&gt;AuthUserGrantRoleResponse&lt;/td&gt;&#10; &lt;td&gt;UserGrant accorde un rôle à un utilisateur spécifié.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;UserRevokeRole&lt;/td&gt;&#10; &lt;td&gt;AuthUserRevokeRoleRequest&lt;/td&gt;&#10; &lt;td&gt;AuthUserRevokeRoleResponse&lt;/td&gt;&#10; &lt;td&gt;UserRevokeRole retire un rôle à un utilisateur spécifié.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;RoleAdd&lt;/td&gt;&#10; &lt;td&gt;AuthRoleAddRequest&lt;/td&gt;&#10; &lt;td&gt;AuthRoleAddResponse&lt;/td&gt;&#10; &lt;td&gt;RoleAdd ajoute un nouveau rôle. Le nom de rôle ne peut pas être vide.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;RoleGet&lt;/td&gt;&#10; &lt;td&gt;AuthRoleGetRequest&lt;/td&gt;&#10; &lt;td&gt;AuthRoleGetResponse&lt;/td&gt;&#10; &lt;td&gt;RoleGet obtient les informations détaillées sur un rôle.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;RoleList&lt;/td&gt;&#10; &lt;td&gt;AuthRoleListRequest&lt;/td&gt;&#10; &lt;td&gt;AuthRoleListResponse&lt;/td&gt;&#10; &lt;td&gt;RoleList obtient la liste de tous les rôles.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;RoleDelete&lt;/td&gt;&#10; &lt;td&gt;AuthRoleDeleteRequest&lt;/td&gt;&#10; &lt;td&gt;AuthRoleDeleteResponse&lt;/td&gt;&#10; &lt;td&gt;RoleDelete supprime un rôle spécifié.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;RoleGrantPermission&lt;/td&gt;&#10; &lt;td&gt;AuthRoleGrantPermissionRequest&lt;/td&gt;&#10; &lt;td&gt;AuthRoleGrantPermissionResponse&lt;/td&gt;&#10; &lt;td&gt;RoleGrantPermission accorde une permission sur une clé ou une plage spécifique à un rôle spécifié.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;RoleRevokePermission&lt;/td&gt;&#10; &lt;td&gt;AuthRoleRevokePermissionRequest&lt;/td&gt;&#10; &lt;td&gt;AuthRoleRevokePermissionResponse&lt;/td&gt;&#10; &lt;td&gt;RoleRevokePermission retire une permission sur une clé ou une plage spécifique à un rôle spécifié.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="service-cluster-apietcdserverpbrpcproto"&gt;service &lt;code&gt;Cluster&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Méthode&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type de requête&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type de réponse&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;MemberAdd&lt;/td&gt;&#10; &lt;td&gt;MemberAddRequest&lt;/td&gt;&#10; &lt;td&gt;MemberAddResponse&lt;/td&gt;&#10; &lt;td&gt;MemberAdd ajoute un membre au cluster.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;MemberRemove&lt;/td&gt;&#10; &lt;td&gt;MemberRemoveRequest&lt;/td&gt;&#10; &lt;td&gt;MemberRemoveResponse&lt;/td&gt;&#10; &lt;td&gt;MemberRemove supprime un membre existant du cluster.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;MemberUpdate&lt;/td&gt;&#10; &lt;td&gt;MemberUpdateRequest&lt;/td&gt;&#10; &lt;td&gt;MemberUpdateResponse&lt;/td&gt;&#10; &lt;td&gt;MemberUpdate met à jour la configuration du membre.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;MemberList&lt;/td&gt;&#10; &lt;td&gt;MemberListRequest&lt;/td&gt;&#10; &lt;td&gt;MemberListResponse&lt;/td&gt;&#10; &lt;td&gt;MemberList liste tous les membres du cluster.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;MemberPromote&lt;/td&gt;&#10; &lt;td&gt;MemberPromoteRequest&lt;/td&gt;&#10; &lt;td&gt;MemberPromoteResponse&lt;/td&gt;&#10; &lt;td&gt;MemberPromote promeut un membre de type apprenant Raft (non votant) en membre votant Raft.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="service-kv-apietcdserverpbrpcproto"&gt;service &lt;code&gt;KV&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Méthode&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type de requête&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type de réponse&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;Range&lt;/td&gt;&#10; &lt;td&gt;RangeRequest&lt;/td&gt;&#10; &lt;td&gt;RangeResponse&lt;/td&gt;&#10; &lt;td&gt;Range récupère les clés dans la plage depuis le magasin clé-valeur.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;Put&lt;/td&gt;&#10; &lt;td&gt;PutRequest&lt;/td&gt;&#10; &lt;td&gt;PutResponse&lt;/td&gt;&#10; &lt;td&gt;Put insère la clé donnée dans le magasin clé-valeur. Une requête Put incrémente la révision du magasin clé-valeur et génère un événement dans l&amp;rsquo;historique des événements.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;DeleteRange&lt;/td&gt;&#10; &lt;td&gt;DeleteRangeRequest&lt;/td&gt;&#10; &lt;td&gt;DeleteRangeResponse&lt;/td&gt;&#10; &lt;td&gt;DeleteRange supprime la plage donnée depuis le magasin clé-valeur. Une requête de suppression incrémente la révision du magasin clé-valeur et génère un événement de suppression dans l&amp;rsquo;historique des événements pour chaque clé supprimée.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;Txn&lt;/td&gt;&#10; &lt;td&gt;TxnRequest&lt;/td&gt;&#10; &lt;td&gt;TxnResponse&lt;/td&gt;&#10; &lt;td&gt;Txn traite plusieurs requêtes dans une seule transaction. Une requête Txn incrémente la révision du magasin clé-valeur et génère des événements avec la même révision pour chaque requête terminée. Il est interdit de modifier la même clé plusieurs fois au sein d&amp;rsquo;une même transaction.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;Compact&lt;/td&gt;&#10; &lt;td&gt;CompactionRequest&lt;/td&gt;&#10; &lt;td&gt;CompactionResponse&lt;/td&gt;&#10; &lt;td&gt;Compact compresse l&amp;rsquo;historique des événements dans le magasin clé-valeur etcd. Le magasin clé-valeur doit être régulièrement compacté, sinon l&amp;rsquo;historique des événements continuera de croître indéfiniment.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="service-lease-apietcdserverpbrpcproto"&gt;service &lt;code&gt;Lease&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Méthode&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type de requête&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type de réponse&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;LeaseGrant&lt;/td&gt;&#10; &lt;td&gt;LeaseGrantRequest&lt;/td&gt;&#10; &lt;td&gt;LeaseGrantResponse&lt;/td&gt;&#10; &lt;td&gt;LeaseGrant crée un bail qui expire si le serveur ne reçoit pas de demande de maintien de vie dans un délai défini. Toutes les clés associées au bail expireront et seront supprimées si le bail expire. Chaque clé expirée génère un événement de suppression dans l&amp;rsquo;historique des événements.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;LeaseRevoke&lt;/td&gt;&#10; &lt;td&gt;LeaseRevokeRequest&lt;/td&gt;&#10; &lt;td&gt;LeaseRevokeResponse&lt;/td&gt;&#10; &lt;td&gt;LeaseRevoke révoque un bail. Toutes les clés associées au bail expireront et seront supprimées.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;LeaseKeepAlive&lt;/td&gt;&#10; &lt;td&gt;LeaseKeepAliveRequest&lt;/td&gt;&#10; &lt;td&gt;LeaseKeepAliveResponse&lt;/td&gt;&#10; &lt;td&gt;LeaseKeepAlive maintient le bail actif en transmettant en continu des demandes de maintien de vie du client vers le serveur et des réponses de maintien de vie du serveur vers le client.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;LeaseTimeToLive&lt;/td&gt;&#10; &lt;td&gt;LeaseTimeToLiveRequest&lt;/td&gt;&#10; &lt;td&gt;LeaseTimeToLiveResponse&lt;/td&gt;&#10; &lt;td&gt;LeaseTimeToLive récupère les informations relatives au bail.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;LeaseLeases&lt;/td&gt;&#10; &lt;td&gt;LeaseLeasesRequest&lt;/td&gt;&#10; &lt;td&gt;LeaseLeasesResponse&lt;/td&gt;&#10; &lt;td&gt;LeaseLeases liste tous les bails existants.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="service-maintenance-apietcdserverpbrpcproto"&gt;service &lt;code&gt;Maintenance&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Méthode&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type de requête&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type de réponse&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;Alarme&lt;/td&gt;&#10; &lt;td&gt;AlarmRequest&lt;/td&gt;&#10; &lt;td&gt;AlarmResponse&lt;/td&gt;&#10; &lt;td&gt;Alarme active, désactive et interroge les alarmes relatives à l&amp;rsquo;intégrité du cluster.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;Statut&lt;/td&gt;&#10; &lt;td&gt;StatusRequest&lt;/td&gt;&#10; &lt;td&gt;StatusResponse&lt;/td&gt;&#10; &lt;td&gt;Statut obtient l&amp;rsquo;état du membre.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;Défragmentation&lt;/td&gt;&#10; &lt;td&gt;DefragmentRequest&lt;/td&gt;&#10; &lt;td&gt;DefragmentResponse&lt;/td&gt;&#10; &lt;td&gt;Défragmentation défragmente la base de données du membre backend afin de récupérer de l&amp;rsquo;espace de stockage.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;Hachage&lt;/td&gt;&#10; &lt;td&gt;HashRequest&lt;/td&gt;&#10; &lt;td&gt;HashResponse&lt;/td&gt;&#10; &lt;td&gt;Hachage calcule le hachage de l&amp;rsquo;espace de clés backend entier, y compris les clés, les bails et les autres compartiments dans le stockage. Conçu uniquement à des fins de test ! Ne pas compter sur cette fonctionnalité en production avec des transactions en cours, car l&amp;rsquo;opération Hachage ne détient pas de verrous MVCC. Utilisez plutôt l&amp;rsquo;API &amp;ldquo;HashKV&amp;rdquo; pour vérifier la cohérence du compartiment &amp;ldquo;key&amp;rdquo;.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;HachageKV&lt;/td&gt;&#10; &lt;td&gt;HashKVRequest&lt;/td&gt;&#10; &lt;td&gt;HashKVResponse&lt;/td&gt;&#10; &lt;td&gt;HachageKV calcule le hachage de toutes les clés MVCC jusqu&amp;rsquo;à une révision donnée. Il ne parcourt que le compartiment &amp;ldquo;key&amp;rdquo; dans le stockage backend.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;Instantané&lt;/td&gt;&#10; &lt;td&gt;SnapshotRequest&lt;/td&gt;&#10; &lt;td&gt;SnapshotResponse&lt;/td&gt;&#10; &lt;td&gt;Instantané envoie un instantané de l&amp;rsquo;ensemble du backend depuis un membre vers un client via un flux.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;Transfert du leader&lt;/td&gt;&#10; &lt;td&gt;MoveLeaderRequest&lt;/td&gt;&#10; &lt;td&gt;MoveLeaderResponse&lt;/td&gt;&#10; &lt;td&gt;Transfert du leader demande au nœud leader actuel de transférer son leadership au destinataire.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;Mise à jour vers une version inférieure&lt;/td&gt;&#10; &lt;td&gt;DowngradeRequest&lt;/td&gt;&#10; &lt;td&gt;DowngradeResponse&lt;/td&gt;&#10; &lt;td&gt;Mise à jour vers une version inférieure demande une mise à jour vers une version inférieure, vérifie la faisabilité ou annule la mise à jour vers une version inférieure sur la version du cluster. Prise en charge depuis etcd 3.5.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="service-watch-apietcdserverpbrpcproto"&gt;service &lt;code&gt;Watch&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Méthode&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type de requête&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type de réponse&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;Surveillance&lt;/td&gt;&#10; &lt;td&gt;WatchRequest&lt;/td&gt;&#10; &lt;td&gt;WatchResponse&lt;/td&gt;&#10; &lt;td&gt;La surveillance observe les événements survenus ou survenant. Les entrées et sorties sont des flux ; le flux d&amp;rsquo;entrée sert à créer et annuler des observateurs, tandis que le flux de sortie envoie les événements. Une seule requête RPC de surveillance peut surveiller plusieurs plages de clés, en diffusant les événements de plusieurs surveillance simultanément. L&amp;rsquo;historique complet des événements peut être surveillé à partir de la dernière révision de compactage.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-alarmmember-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AlarmMember&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;memberID&lt;/td&gt;&#10; &lt;td&gt;memberID est l&amp;rsquo;identifiant du membre associé à l&amp;rsquo;alarme déclenchée.&lt;/td&gt;&#10; &lt;td&gt;uint64&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;alarm&lt;/td&gt;&#10; &lt;td&gt;alarm est le type d&amp;rsquo;alarme qui a été déclenchée.&lt;/td&gt;&#10; &lt;td&gt;AlarmType&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-alarmrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AlarmRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;action&lt;/td&gt;&#10; &lt;td&gt;action est le type de requête d&amp;rsquo;alarme à émettre. L&amp;rsquo;action peut être GET pour obtenir les états d&amp;rsquo;alarme, ACTIVATE pour activer une alarme, ou DEACTIVATE pour désactiver une alarme activée.&lt;/td&gt;&#10; &lt;td&gt;AlarmAction&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;memberID&lt;/td&gt;&#10; &lt;td&gt;memberID est l&amp;rsquo;identifiant du membre associé à l&amp;rsquo;alarme. Si memberID est 0, la requête d&amp;rsquo;alarme concerne tous les membres.&lt;/td&gt;&#10; &lt;td&gt;uint64&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;alarm&lt;/td&gt;&#10; &lt;td&gt;alarm est le type d&amp;rsquo;alarme à prendre en compte pour cette requête.&lt;/td&gt;&#10; &lt;td&gt;AlarmType&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-alarmresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AlarmResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;header&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;ResponseHeader&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;alarms&lt;/td&gt;&#10; &lt;td&gt;alarms est une liste d&amp;rsquo;alertes associées à la requête d&amp;rsquo;alerte.&lt;/td&gt;&#10; &lt;td&gt;(slice de) AlarmMember&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authdisablerequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthDisableRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authdisableresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthDisableResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;header&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;ResponseHeader&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authenablerequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthEnableRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authenableresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthEnableResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;header&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;ResponseHeader&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authroleaddrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleAddRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;name&lt;/td&gt;&#10; &lt;td&gt;name est le nom du rôle à ajouter au système d&amp;rsquo;authentification.&lt;/td&gt;&#10; &lt;td&gt;string&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authroleaddresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleAddResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;header&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;ResponseHeader&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authroledeleterequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleDeleteRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;role&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;chaîne de caractères&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authroledeleteresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleDeleteResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;header&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;ResponseHeader&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authrolegetrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleGetRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;role&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;chaîne de caractères&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authrolegetresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleGetResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;header&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;ResponseHeader&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;perm&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;(tranche de) authpb.Permission&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authrolegrantpermissionrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleGrantPermissionRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;name&lt;/td&gt;&#10; &lt;td&gt;name est le nom du rôle auquel la permission sera accordée.&lt;/td&gt;&#10; &lt;td&gt;string&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;perm&lt;/td&gt;&#10; &lt;td&gt;perm est la permission à accorder au rôle.&lt;/td&gt;&#10; &lt;td&gt;authpb.Permission&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authrolegrantpermissionresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleGrantPermissionResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;header&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;ResponseHeader&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authrolelistrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleListRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authrolelistresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleListResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;header&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;ResponseHeader&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;roles&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;(tranche de) string&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authrolerevokepermissionrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleRevokePermissionRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;role&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;string&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;key&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;bytes&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;range_end&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;bytes&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authrolerevokepermissionresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleRevokePermissionResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;header&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;ResponseHeader&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authstatusrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthStatusRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authstatusresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthStatusResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;header&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;ResponseHeader&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;enabled&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;bool&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;authRevision&lt;/td&gt;&#10; &lt;td&gt;authRevision est la révision actuelle du magasin d&amp;rsquo;authentification&lt;/td&gt;&#10; &lt;td&gt;uint64&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authuseraddrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserAddRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;name&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;string&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;password&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;string&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;options&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;authpb.UserAddOptions&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;hashedPassword&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;string&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authuseraddresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserAddResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;header&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;ResponseHeader&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authuserchangepasswordrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserChangePasswordRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;name&lt;/td&gt;&#10; &lt;td&gt;name est le nom de l&amp;rsquo;utilisateur dont le mot de passe est modifié.&lt;/td&gt;&#10; &lt;td&gt;string&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;password&lt;/td&gt;&#10; &lt;td&gt;password est le nouveau mot de passe de l&amp;rsquo;utilisateur. Notez que ce champ sera supprimé au niveau de l&amp;rsquo;API.&lt;/td&gt;&#10; &lt;td&gt;string&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;hashedPassword&lt;/td&gt;&#10; &lt;td&gt;hashedPassword est le nouveau mot de passe de l&amp;rsquo;utilisateur. Notez que ce champ sera initialisé au niveau de l&amp;rsquo;API.&lt;/td&gt;&#10; &lt;td&gt;string&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authuserchangepasswordresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserChangePasswordResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;header&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;ResponseHeader&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authuserdeleterequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserDeleteRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;name&lt;/td&gt;&#10; &lt;td&gt;name est le nom de l&amp;rsquo;utilisateur à supprimer.&lt;/td&gt;&#10; &lt;td&gt;string&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authuserdeleteresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserDeleteResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;header&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;ResponseHeader&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authusergetrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserGetRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;name&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;string&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authusergetresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserGetResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;header&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;ResponseHeader&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;roles&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;(tranche de) string&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authusergrantrolerequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserGrantRoleRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;user&lt;/td&gt;&#10; &lt;td&gt;user est le nom de l&amp;rsquo;utilisateur auquel il faut attribuer un rôle donné.&lt;/td&gt;&#10; &lt;td&gt;string&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;role&lt;/td&gt;&#10; &lt;td&gt;role est le nom du rôle à attribuer à l&amp;rsquo;utilisateur.&lt;/td&gt;&#10; &lt;td&gt;string&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authusergrantroleresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserGrantRoleResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;header&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;ResponseHeader&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authuserlistrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserListRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authuserlistresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserListResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;header&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;ResponseHeader&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;users&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;(tranche de) string&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authuserrevokerolerequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserRevokeRoleRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;name&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;string&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;role&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;string&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authuserrevokeroleresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserRevokeRoleResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;header&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;ResponseHeader&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authenticaterequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthenticateRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;name&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;string&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;password&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;string&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-authenticateresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthenticateResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;option&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;header&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;ResponseHeader&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;token&lt;/td&gt;&#10; &lt;td&gt;le jeton est un jeton autorisé pouvant être utilisé dans les RPC suivants&lt;/td&gt;&#10; &lt;td&gt;string&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-compactionrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;CompactionRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&#10;&lt;/h5&gt;&#10;&lt;p&gt;CompactionRequest compacte le magasin clé-valeur jusqu&amp;rsquo;à une révision donnée. Toutes les clés obsolètes dont la révision est inférieure à la révision de compactage seront supprimées.&lt;/p&gt;</description></item><item><title>Référence API : concurrence</title><link>https://pig.center/fr/docs/etcd/dev-guide/api_concurrency_reference_v3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/dev-guide/api_concurrency_reference_v3/</guid><description>&lt;p&gt;Cette référence d&amp;rsquo;API est générée automatiquement à partir des fichiers nommés &lt;code&gt;.proto&lt;/code&gt;.&lt;/p&gt;&#10;&lt;h5 id="service-lock-serveretcdserverapiv3lockv3lockpbv3lockproto"&gt;service &lt;code&gt;Lock&lt;/code&gt; (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)&#10;&lt;/h5&gt;&#10;&lt;p&gt;Le service de verrouillage expose des fonctionnalités de verrouillage côté client sous forme d&amp;rsquo;une interface gRPC.&lt;/p&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Méthode&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type de requête&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type de réponse&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;Lock&lt;/td&gt;&#10; &lt;td&gt;LockRequest&lt;/td&gt;&#10; &lt;td&gt;LockResponse&lt;/td&gt;&#10; &lt;td&gt;Lock acquiert un verrou partagé distribué sur un verrou nommé donné. En cas de succès, elle retourne une clé unique qui reste existante tant que le verrou est détenu par l&amp;rsquo;appelant. Cette clé peut être utilisée conjointement avec des transactions afin de garantir en toute sécurité que les mises à jour sur etcd ne s&amp;rsquo;effectuent qu&amp;rsquo;en tenant le verrou. Le verrou est détenu jusqu&amp;rsquo;à ce que Unlock soit appelé sur la clé ou que le bail associé au propriétaire expire.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;Unlock&lt;/td&gt;&#10; &lt;td&gt;UnlockRequest&lt;/td&gt;&#10; &lt;td&gt;UnlockResponse&lt;/td&gt;&#10; &lt;td&gt;Unlock prend une clé retournée par Lock et libère la possession du verrou. Le prochain appelant de Lock en attente du verrou est alors réveillé et obtient la possession du verrou.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-lockrequest-serveretcdserverapiv3lockv3lockpbv3lockproto"&gt;message &lt;code&gt;LockRequest&lt;/code&gt; (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;name&lt;/td&gt;&#10; &lt;td&gt;name est l&amp;rsquo;identifiant de la verrouille partagée distribuée à acquérir.&lt;/td&gt;&#10; &lt;td&gt;bytes&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;lease&lt;/td&gt;&#10; &lt;td&gt;lease est l&amp;rsquo;ID du bail qui sera attaché à la possession du verrou. Si le bail expire ou est révoqué et qu&amp;rsquo;il détient actuellement le verrou, celui-ci est automatiquement libéré. Les appels à Lock avec le même bail seront traités comme une seule acquisition ; verrouiller deux fois avec le même bail est sans effet.&lt;/td&gt;&#10; &lt;td&gt;int64&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-lockresponse-serveretcdserverapiv3lockv3lockpbv3lockproto"&gt;message &lt;code&gt;LockResponse&lt;/code&gt; (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;header&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;etcdserverpb.ResponseHeader&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;key&lt;/td&gt;&#10; &lt;td&gt;key est une clé qui existera dans etcd pendant toute la durée où l&amp;rsquo;appelant du verrou détient le verrou. Les utilisateurs ne doivent pas modifier cette clé, sinon le verrou peut présenter un comportement indéfini.&lt;/td&gt;&#10; &lt;td&gt;bytes&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-unlockrequest-serveretcdserverapiv3lockv3lockpbv3lockproto"&gt;message &lt;code&gt;UnlockRequest&lt;/code&gt; (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;key&lt;/td&gt;&#10; &lt;td&gt;key est la clé d&amp;rsquo;acquisition du verrou octroyée par Lock.&lt;/td&gt;&#10; &lt;td&gt;bytes&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="message-unlockresponse-serveretcdserverapiv3lockv3lockpbv3lockproto"&gt;message &lt;code&gt;UnlockResponse&lt;/code&gt; (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)&#10;&lt;/h5&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Champ&lt;/th&gt;&#10; &lt;th scope="col"&gt;Description&lt;/th&gt;&#10; &lt;th scope="col"&gt;Type&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;header&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;etcdserverpb.ResponseHeader&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h5 id="service-election-serveretcdserverapiv3electionv3electionpbv3electionproto"&gt;service &lt;code&gt;Election&lt;/code&gt; (server/etcdserver/api/v3election/v3electionpb/v3election.proto)&#10;&lt;/h5&gt;&#10;&lt;p&gt;Le service d&amp;rsquo;élection expose des fonctionnalités d&amp;rsquo;élection côté client sous forme d&amp;rsquo;une interface gRPC.&lt;/p&gt;</description></item><item><title>Authentification</title><link>https://pig.center/fr/docs/etcd/op-guide/authentication/authentication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/op-guide/authentication/authentication/</guid><description>&lt;p&gt;&lt;code&gt;auth&lt;/code&gt;,&lt;code&gt;user&lt;/code&gt;,&lt;code&gt;role&lt;/code&gt; pour l&amp;rsquo;authentification :&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-23b5a2ac-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="shell" data-td-line-count="24"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-23b5a2ac-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;ETCDCTL_API&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;3&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;localhost:2379&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role add root&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role get root&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user add root&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user grant-role root root&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user get root&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role add role0&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role grant-permission role0 readwrite foo&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user add user0&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user grant-role user0 role0&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; auth &lt;span class="nb"&gt;enable&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# now all client requests go through auth&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 put foo bar&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; get foo&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# permission denied, user name is empty because the request does not issue an authentication request&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 get foo&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# user0 can read the key foo&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 get foo1&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h3 id="note"&gt;Note :&#10;&lt;/h3&gt;&#10;&lt;p&gt;Il s&amp;rsquo;agit simplement d&amp;rsquo;un squelette qui doit être complété et mis à jour avec des informations supplémentaires sur l&amp;rsquo;authentification. Le texte ci-dessus n&amp;rsquo;est qu&amp;rsquo;un exemple de code.&lt;/p&gt;</description></item><item><title>Options de configuration</title><link>https://pig.center/fr/docs/etcd/op-guide/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/op-guide/configuration/</guid><description>&lt;p&gt;Vous pouvez configurer etcd à l&amp;rsquo;aide des éléments suivants :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="#command-line-flags"&gt;Options en ligne de commande&lt;/a&gt;&#10;&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Variables d&amp;rsquo;environnement&lt;/strong&gt; : chaque option a une variable d&amp;rsquo;environnement correspondante&#10;dont le nom est identique, mais préfixé par &lt;code&gt;ETCD_&lt;/code&gt; et écrit en majuscules et&#10;[en notation snake case][]. Par exemple, &lt;code&gt;--some-flag&lt;/code&gt; sera &lt;code&gt;ETCD_SOME_FLAG&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="#configuration-file"&gt;Fichier de configuration&lt;/a&gt;&#10;&lt;/strong&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div class="td-callout td-callout--warning" role="note"&gt;&#10; &lt;div class="td-callout__title"&gt;&lt;i class="td-callout__icon fa-solid fa-triangle-exclamation" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="td-callout__label"&gt;Avertissement&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="td-callout__body"&gt;&#10;&lt;p&gt;&lt;strong&gt;Avertissement&lt;/strong&gt; : Si vous mélangez des options de configuration, les règles suivantes s&amp;rsquo;appliquent.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Les indicateurs en ligne de commande ont la priorité sur les variables d&amp;rsquo;environnement.&lt;/li&gt;&#10;&lt;li&gt;Si vous fournissez un &lt;em&gt;fichier de configuration&lt;/em&gt;, tous les indicateurs en ligne de commande et les variables d&amp;rsquo;environnement sont &lt;strong&gt;ignorés&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&lt;h2 id="command-line-flags"&gt;Drapeaux de ligne de commande&#10;&lt;/h2&gt;&#10;&lt;p&gt;Les indicateurs sont présentés ci-dessous selon le format &lt;code&gt;--flag-name DEFAULT_VALUE&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Contrôle d'accès basé sur les rôles</title><link>https://pig.center/fr/docs/etcd/op-guide/authentication/rbac/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/op-guide/authentication/rbac/</guid><description>&lt;h2 id="overview"&gt;Aperçu&#10;&lt;/h2&gt;&#10;&lt;p&gt;L’authentification a été ajoutée à etcd 2.1. L’API v3 d’etcd a légèrement modifié l’API et l’interface utilisateur de la fonctionnalité d’authentification afin de mieux s’adapter au nouveau modèle de données. Ce guide vise à aider les utilisateurs à configurer une authentification basique et un contrôle d’accès basé sur les rôles dans etcd v3.&lt;/p&gt;&#10;&lt;h2 id="special-users-and-roles"&gt;Utilisateurs et rôles spéciaux&#10;&lt;/h2&gt;&#10;&lt;p&gt;Il existe un utilisateur spécial, &lt;code&gt;root&lt;/code&gt;, et un rôle spécial, &lt;code&gt;root&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Modèle de sécurité du transport</title><link>https://pig.center/fr/docs/etcd/op-guide/security/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/op-guide/security/</guid><description>&lt;p&gt;etcd prend en charge le chiffrement TLS automatique ainsi que l’authentification par certificats clients pour les communications clients vers serveur, ainsi que pour les communications entre pairs (serveur vers serveur / cluster). &lt;strong&gt;Notez qu’etcd n’active pas par défaut l’authentification basée sur &lt;a href="https://pig.center/fr/docs/etcd/op-guide/authentication/"&gt;RBAC&lt;/a&gt;&#10; ni la fonctionnalité d’authentification au niveau du transport afin de réduire les obstacles pour les utilisateurs débutants avec la base de données. En outre, modifier cette valeur par défaut constituerait une modification incompatible pour le projet, établie depuis 2013. Un cluster etcd qui n’active pas les fonctionnalités de sécurité peut exposer ses données à tout client.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Guide de clustering</title><link>https://pig.center/fr/docs/etcd/op-guide/clustering/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/op-guide/clustering/</guid><description>&lt;h2 id="overview"&gt;Aperçu&#10;&lt;/h2&gt;&#10;&lt;p&gt;Lancer un cluster etcd de manière statique exige que chaque membre connaisse un autre membre du cluster. Dans certains cas, les adresses IP des membres du cluster peuvent être inconnues à l&amp;rsquo;avance. Dans ces situations, le cluster etcd peut être initialisé à l&amp;rsquo;aide d&amp;rsquo;un service de découverte.&lt;/p&gt;&#10;&lt;p&gt;Une fois qu’un cluster etcd est en cours d’exécution, l’ajout ou la suppression de membres s’effectue via la reconfiguration en temps réel &lt;a href="https://pig.center/fr/docs/etcd/op-guide/runtime-configuration/"&gt;runtime reconfiguration&lt;/a&gt;&#10;. Pour mieux comprendre la conception sous-jacente à la reconfiguration en temps réel, nous recommandons de lire &lt;a href="https://pig.center/fr/docs/etcd/op-guide/runtime-reconf-design/"&gt;le document de conception de la configuration en temps réel&lt;/a&gt;&#10;.&lt;/p&gt;</description></item><item><title>Exécuter des clusters etcd dans des conteneurs</title><link>https://pig.center/fr/docs/etcd/op-guide/container/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/op-guide/container/</guid><description>&lt;p&gt;Le guide suivant explique comment exécuter etcd avec Docker en utilisant le processus de bootstrap statique &lt;a href="https://pig.center/fr/docs/etcd/op-guide/clustering/#static"&gt;static bootstrap process&lt;/a&gt;&#10;.&lt;/p&gt;&#10;&lt;h2 id="docker"&gt;Docker&#10;&lt;/h2&gt;&#10;&lt;p&gt;Afin d’exposer l’API etcd aux clients situés en dehors de l’hôte Docker, utilisez l’adresse IP hôte du conteneur. Voir &lt;a href="https://docs.docker.com/engine/reference/commandline/inspect"&gt;&lt;code&gt;docker inspect&lt;/code&gt;&lt;/a&gt;&#10; pour plus de détails sur la manière d’obtenir l’adresse IP. En alternative, spécifiez le drapeau &lt;code&gt;--net=host&lt;/code&gt; à la commande &lt;code&gt;docker run&lt;/code&gt; afin de passer outre la mise du conteneur dans une pile réseau séparée.&lt;/p&gt;</description></item><item><title>Exécuter des clusters etcd en tant que StatefulSet Kubernetes</title><link>https://pig.center/fr/docs/etcd/op-guide/kubernetes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/op-guide/kubernetes/</guid><description>&lt;p&gt;Ci-dessous montre comment effectuer le processus de bootstrap statique &lt;a href="https://pig.center/fr/docs/etcd/op-guide/clustering/#static"&gt;comme un StatefulSet Kubernetes&lt;/a&gt;&#10;.&lt;/p&gt;&#10;&lt;h2 id="example-manifest"&gt;Exemple de manifeste&#10;&lt;/h2&gt;&#10;&lt;p&gt;Ce manifeste contient un service et un statefulset pour déployer un cluster etcd statique dans Kubernetes.&lt;/p&gt;&#10;&lt;p&gt;Si vous copiez le contenu du manifeste dans un fichier nommé &lt;code&gt;etcd.yaml&lt;/code&gt;, vous pouvez l&amp;rsquo;appliquer à un cluster à l&amp;rsquo;aide de cette commande.&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-646e7d0b-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="shell" data-td-line-count="1"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-646e7d0b-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ kubectl apply --filename etcd.yaml&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;Une fois appliqué, attendez que les pods soient prêts.&lt;/p&gt;</description></item><item><title>Modes de défaillance</title><link>https://pig.center/fr/docs/etcd/op-guide/failures/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/op-guide/failures/</guid><description>&lt;p&gt;Les défaillances sont fréquentes dans un déploiement à grande échelle de machines. Une machine défaillante est une machine dont le matériel ou le logiciel présente une anomalie. Plusieurs machines peuvent défaillir simultanément en cas de panne de courant ou de problèmes réseau. Plusieurs types de défaillances peuvent également survenir en même temps ; il est presque impossible d’énumérer toutes les situations de défaillance possibles.&lt;/p&gt;&#10;&lt;p&gt;Dans cette section, nous recensons les types d&amp;rsquo;pannes et discutons de la manière dont etcd est conçu pour y résister. La plupart des utilisateurs, sinon tous, peuvent associer une panne particulière à un type de panne spécifique. Pour se préparer aux rares pannes &lt;a href="https://pig.center/fr/docs/etcd/op-guide/recovery/"&gt;irréversibles&lt;/a&gt;&#10;, il est toujours &lt;a href="https://pig.center/fr/docs/etcd/op-guide/maintenance/#snapshot-backup"&gt;recommandé de sauvegarder&lt;/a&gt;&#10; le cluster etcd.&lt;/p&gt;</description></item><item><title>Récupération après sinistre</title><link>https://pig.center/fr/docs/etcd/op-guide/recovery/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/op-guide/recovery/</guid><description>&lt;p&gt;etcd est conçu pour résister aux pannes de machines. Un cluster etcd se rétablit automatiquement après des pannes temporaires (par exemple, redémarrages de machine) et tolère jusqu&amp;rsquo;à &lt;em&gt;(N-1)/2&lt;/em&gt; pannes permanentes pour un cluster composé de N membres. Lorsqu&amp;rsquo;un membre subit une panne permanente, qu&amp;rsquo;elle soit due à une défaillance matérielle ou à une corruption du disque, il perd accès au cluster. Si le cluster perd définitivement plus de &lt;em&gt;(N-1)/2&lt;/em&gt; membres, il subit une panne catastrophique, perdant irrévocablement son quorum. Une fois le quorum perdu, le cluster ne peut plus atteindre de consensus et ne peut donc plus accepter de mises à jour.&lt;/p&gt;</description></item><item><title>etcd gateway</title><link>https://pig.center/fr/docs/etcd/op-guide/gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/op-guide/gateway/</guid><description>&lt;h2 id="what-is-etcd-gateway"&gt;Qu&amp;rsquo;est-ce que la passerelle etcd&#10;&lt;/h2&gt;&#10;&lt;p&gt;Le passerelle etcd est un proxy TCP simple qui achemine les données réseau vers le cluster etcd. La passerelle est sans état et transparente ; elle n&amp;rsquo;inspecte ni les requêtes clients ni les réponses du cluster. Elle ne termine pas les connexions TLS, ne réalise pas d&amp;rsquo;échanges TLS à la place de ses clients, ni ne vérifie si la connexion est sécurisée.&lt;/p&gt;</description></item><item><title>Proxie gRPC</title><link>https://pig.center/fr/docs/etcd/op-guide/grpc_proxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/op-guide/grpc_proxy/</guid><description>&lt;p&gt;Le proxy gRPC est un proxy inverse etcd sans état fonctionnant au niveau du protocole gRPC (L7). Le proxy est conçu pour réduire la charge de traitement totale imposée au cluster etcd principal. Pour assurer une évolutivité horizontale, il regroupe les requêtes d&amp;rsquo;API de surveillance et de bail. Pour protéger le cluster contre les clients abusifs, il met en mémoire tampon les requêtes portant sur des plages de clés.&lt;/p&gt;&#10;&lt;p&gt;Le proxy gRPC prend en charge plusieurs points d&amp;rsquo;entrée de serveur etcd. Au démarrage du proxy, il choisit aléatoirement un point d&amp;rsquo;entrée de serveur etcd à utiliser. Ce point d&amp;rsquo;entrée traite toutes les requêtes jusqu&amp;rsquo;à ce que le proxy détecte une défaillance. Si le proxy gRPC détecte une défaillance d&amp;rsquo;un point d&amp;rsquo;entrée, il bascule vers un autre point d&amp;rsquo;entrée, si disponible, afin de masquer les défaillances à ses clients. D&amp;rsquo;autres politiques de réessai, telles que le round-robin pondéré, pourraient être prises en charge à l&amp;rsquo;avenir.&lt;/p&gt;</description></item><item><title>Recommandations matérielles</title><link>https://pig.center/fr/docs/etcd/op-guide/hardware/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/op-guide/hardware/</guid><description>&lt;p&gt;etcd fonctionne généralement correctement avec des ressources limitées à des fins de développement ou de test ; il est courant de développer avec etcd sur un ordinateur portable ou une machine cloud peu coûteuse. Toutefois, lors de l&amp;rsquo;exécution de clusters etcd en production, certaines recommandations matérielles sont utiles pour une administration appropriée. Ces suggestions ne sont pas des règles strictes ; elles constituent un bon point de départ pour un déploiement productif robuste. Comme toujours, les déploiements doivent être testés avec des charges simulées avant d’être mis en production.&lt;/p&gt;</description></item><item><title>Maintenance</title><link>https://pig.center/fr/docs/etcd/op-guide/maintenance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/op-guide/maintenance/</guid><description>&lt;h2 id="overview"&gt;Aperçu&#10;&lt;/h2&gt;&#10;&lt;p&gt;Un cluster etcd nécessite une maintenance périodique pour rester fiable. Selon les besoins d&amp;rsquo;une application etcd, cette maintenance peut généralement être automatisée et effectuée sans interruption de service ni dégradation significative des performances.&lt;/p&gt;&#10;&lt;p&gt;Toute maintenance etcd gère les ressources de stockage consommées par l’espace de clés etcd. Une gestion insuffisante de la taille de l’espace de clés est protégée par des quotas d’espace de stockage ; si un membre etcd manque d’espace, un quota déclenchera des alarmes à l’échelle du cluster, mettant le système en mode maintenance à opérations limitées. Pour éviter de manquer d’espace pour les écritures dans l’espace de clés, l’historique de l’espace de clés etcd doit être compacté. L’espace de stockage lui-même peut être récupéré en défragmentant les membres etcd. Enfin, des sauvegardes périodiques d’instantanés de l’état des membres etcd permettent de récupérer toute perte logique de données ou corruption involontaire causée par une erreur opérationnelle.&lt;/p&gt;</description></item><item><title>Surveillance d’etcd</title><link>https://pig.center/fr/docs/etcd/op-guide/monitoring/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/op-guide/monitoring/</guid><description>&lt;p&gt;Chaque serveur etcd fournit des informations de surveillance locales sur son port client via des points de terminaison HTTP. Les données de surveillance sont utiles à la fois pour le contrôle de santé du système et le débogage du cluster.&lt;/p&gt;&#10;&lt;h2 id="debug-endpoint"&gt;Point d&amp;rsquo;entrée de débogage&#10;&lt;/h2&gt;&#10;&lt;p&gt;Si &lt;code&gt;--log-level=debug&lt;/code&gt; est défini, le serveur etcd exporte des informations de débogage sur son port client sous le chemin &lt;code&gt;/debug&lt;/code&gt;. Prenez garde à la définition de &lt;code&gt;--log-level=debug&lt;/code&gt;, car cela entraînera une dégradation des performances et une journalisation verbose.&lt;/p&gt;</description></item><item><title>Performances</title><link>https://pig.center/fr/docs/etcd/op-guide/performance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/op-guide/performance/</guid><description>&lt;h2 id="understanding-performance"&gt;Comprendre les performances&#10;&lt;/h2&gt;&#10;&lt;p&gt;etcd offre des performances stables et élevées de manière soutenue. Deux facteurs définissent les performances : la latence et le débit. La latence correspond au temps nécessaire pour accomplir une opération. Le débit correspond au nombre total d&amp;rsquo;opérations effectuées durant une période donnée. En général, la latence moyenne augmente lorsque le débit global augmente, lorsque etcd accepte des requêtes clientes concurrentes. Dans des environnements cloud courants, comme une instance standard &lt;code&gt;n-4&lt;/code&gt; sur Google Compute Engine (GCE) ou un type de machine équivalent sur AWS, un cluster etcd composé de trois membres exécute une requête en moins d&amp;rsquo;une milliseconde en charge légère, et peut traiter plus de 30 000 requêtes par seconde en charge lourde.&lt;/p&gt;</description></item><item><title>Conception de la reconfiguration à l'exécution</title><link>https://pig.center/fr/docs/etcd/op-guide/runtime-reconf-design/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/op-guide/runtime-reconf-design/</guid><description>&lt;p&gt;La reconfiguration à l’exécution est l’une des fonctionnalités les plus complexes et sujettes aux erreurs dans un système distribué, en particulier dans un système fondé sur le consensus comme etcd.&lt;/p&gt;&#10;&lt;p&gt;Lisez la suite pour en savoir plus sur la conception des commandes de reconfiguration en cours d&amp;rsquo;exécution d&amp;rsquo;etcd et sur la manière dont nous avons résolu ces problèmes.&lt;/p&gt;&#10;&lt;h2 id="two-phase-config-changes-keep-the-cluster-safe"&gt;Les modifications de configuration en deux phases maintiennent le cluster en sécurité&#10;&lt;/h2&gt;&#10;&lt;p&gt;Dans etcd, toute reconfiguration en cours d&amp;rsquo;exécution doit suivre &lt;a href="https://pig.center/fr/docs/etcd/op-guide/runtime-configuration/#add-a-new-member"&gt;deux phases&lt;/a&gt;&#10; pour des raisons de sécurité. Par exemple, pour ajouter un membre, il faut d&amp;rsquo;abord informer le cluster de la nouvelle configuration, puis démarrer le nouveau membre.&lt;/p&gt;</description></item><item><title>Reconfiguration en cours d'exécution</title><link>https://pig.center/fr/docs/etcd/op-guide/runtime-configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/op-guide/runtime-configuration/</guid><description>&lt;p&gt;etcd dispose d’un support pour la reconfiguration incrémentielle en temps d’exécution, ce qui permet aux utilisateurs de mettre à jour la composition du cluster en cours d’exécution.&lt;/p&gt;&#10;&lt;p&gt;Les requêtes de reconfiguration ne peuvent être traitées que lorsque la majorité des membres du cluster sont fonctionnels. Il est &lt;strong&gt;fortement recommandé&lt;/strong&gt; de toujours disposer d&amp;rsquo;un cluster de taille supérieure à deux en production. Il est dangereux de supprimer un membre d&amp;rsquo;un cluster à deux membres. La majorité d&amp;rsquo;un cluster à deux membres est également de deux. En cas d&amp;rsquo;échec pendant le processus de suppression, le cluster pourrait ne pas être en mesure de progresser et nécessiterait un &lt;a href="#restart-cluster-from-majority-failure"&gt;redémarrage suite à une défaillance de la majorité&lt;/a&gt;&#10;.&lt;/p&gt;</description></item><item><title>Plateformes prises en charge</title><link>https://pig.center/fr/docs/etcd/op-guide/supported-platform/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/op-guide/supported-platform/</guid><description>&lt;h2 id="support-tiers"&gt;Support tiers&#10;&lt;/h2&gt;&#10;&lt;p&gt;etcd s&amp;rsquo;exécute sur différentes plates-formes, mais les garanties qu&amp;rsquo;il fournit dépendent du niveau de prise en charge de la plate-forme :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Niveau 1&lt;/strong&gt; : entièrement pris en charge par les mainteneurs [etcd][] ; etcd est garanti pour passer tous les tests, y compris les tests fonctionnels et de robustesse.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Niveau 2&lt;/strong&gt; : etcd est garanti pour passer les tests d&amp;rsquo;intégration et les tests bout en bout, mais pas nécessairement les tests fonctionnels ou de robustesse.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Niveau 3&lt;/strong&gt; : etcd est garanti pour être compilé, peut être légèrement testé (ou non), et doit donc être considéré comme &lt;em&gt;instable&lt;/em&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="current-support"&gt;Prise en charge actuelle&#10;&lt;/h2&gt;&#10;&lt;p&gt;Le tableau suivant répertorie les plateformes actuellement prises en charge ainsi que leur niveau de prise en charge correspondant pour etcd :&lt;/p&gt;</description></item><item><title>Gestion des versions</title><link>https://pig.center/fr/docs/etcd/op-guide/versioning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/op-guide/versioning/</guid><description>&lt;p&gt;Ce document décrit les versions prises en charge par le projet etcd.&lt;/p&gt;&#10;&lt;h2 id="service-versioning-and-supported-versions"&gt;Versioning des services et versions prises en charge&#10;&lt;/h2&gt;&#10;&lt;p&gt;Les versions d&amp;rsquo;etcd sont exprimées sous la forme &lt;strong&gt;x.y.z&lt;/strong&gt;, où &lt;strong&gt;x&lt;/strong&gt; représente la version majeure, &lt;strong&gt;y&lt;/strong&gt; la version mineure et &lt;strong&gt;z&lt;/strong&gt; la version de correctif, conformément à la terminologie &lt;a href="https://semver.org/"&gt;Semantic Versioning&lt;/a&gt;&#10;.&#10;Les nouvelles versions mineures peuvent ajouter des fonctionnalités supplémentaires à l&amp;rsquo;API.&lt;/p&gt;&#10;&lt;p&gt;Le projet etcd maintient des branches de version pour la version actuelle et les versions précédentes. Par exemple, lorsque v3.5 est la version actuelle, v3.4 est prise en charge. Lorsque v3.6 est publiée, v3.4 n&amp;rsquo;est plus pris en charge.&lt;/p&gt;</description></item><item><title>Corruption des données</title><link>https://pig.center/fr/docs/etcd/op-guide/data_corruption/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/op-guide/data_corruption/</guid><description>&lt;p&gt;etcd dispose d&amp;rsquo;une détection automatique des corruption de données intégrée afin d&amp;rsquo;éviter que l&amp;rsquo;état du membre ne diverge.&lt;/p&gt;&#10;&lt;h2 id="enabling-data-corruption-detection"&gt;Activation détection corruption données&#10;&lt;/h2&gt;&#10;&lt;p&gt;Détection de corruption de données possible à l&amp;rsquo;aide de :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Vérification initiale, activée avec le drapeau &lt;code&gt;--experimental-initial-corrupt-check&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;Vérification périodique de :&#10;&lt;ul&gt;&#10;&lt;li&gt;Hachage de la révision compactée, activée avec le drapeau &lt;code&gt;--experimental-compact-hash-check-enabled&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;Hachage de la dernière révision, activée avec le drapeau &lt;code&gt;--experimental-corrupt-check-time&lt;/code&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;La vérification initiale sera exécutée lors du démarrage du membre etcd.&#10;Le membre comparera son état persistant avec celui des autres membres et quittera l&amp;rsquo;exécution s&amp;rsquo;il détecte une incohérence.&lt;/p&gt;</description></item><item><title>Benchmark de l'utilisation de la mémoire de stockage</title><link>https://pig.center/fr/docs/etcd/benchmarks/etcd-storage-memory-benchmark/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/benchmarks/etcd-storage-memory-benchmark/</guid><description>&lt;!---todo: link storage to storage design doc--&gt;&#10;&lt;p&gt;Deux composants du stockage etcd consomment de la mémoire physique. Le processus etcd alloue un &lt;em&gt;index en mémoire&lt;/em&gt; afin d&amp;rsquo;accélérer la recherche des clés. La &lt;em&gt;mémoire tampon de pages&lt;/em&gt;, gérée par le système d&amp;rsquo;exploitation, stocke les données récemment accessibles sur disque pour une réutilisation rapide.&lt;/p&gt;&#10;&lt;p&gt;L&amp;rsquo;index en mémoire stocke toutes les clés dans une structure de données &lt;a href="https://en.wikipedia.org/wiki/B-tree"&gt;arbre B&lt;/a&gt;&#10;, accompagnées de pointeurs vers les données sur disque (les valeurs). Chaque clé dans l&amp;rsquo;arbre B peut contenir plusieurs pointeurs, chacun faisant référence à une version différente de sa valeur. La consommation mémoire théorique de l&amp;rsquo;index en mémoire peut donc être approximée par la formule :&lt;/p&gt;</description></item><item><title>Benchmark de l'utilisation mémoire de la surveillance</title><link>https://pig.center/fr/docs/etcd/benchmarks/etcd-3-watch-memory-benchmark/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/benchmarks/etcd-3-watch-memory-benchmark/</guid><description>&lt;div class="td-callout td-callout--note" role="note"&gt;&#10; &lt;div class="td-callout__title"&gt;&lt;i class="td-callout__icon fa-solid fa-circle-info" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="td-callout__label"&gt;Note&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="td-callout__body"&gt;&#10;&lt;p&gt;Les fonctionnalités de surveillance sont en développement actif, et leur utilisation mémoire peut évoluer au cours de ce développement. Nous ne prévoyons pas d&amp;rsquo;augmentation significative au-delà des valeurs indiquées ci-dessous.&lt;/p&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&lt;p&gt;Un objectif principal d’etcd est de prendre en charge un très grand nombre d’observateurs effectuant une surveillance massivement étendue. etcd vise à supporter O(10k) clients, O(100K) flux de surveillance (O(10) flux par client) et O(10M) surveillance totale (O(100) surveillance par flux). La mémoire consommée par chaque surveillance individuelle représente la plus grande partie de l’utilisation globale d’etcd, et constitue donc le point focal des optimisations actuelles et futures.&lt;/p&gt;</description></item><item><title>Benchmarking d'etcd v3</title><link>https://pig.center/fr/docs/etcd/benchmarks/etcd-3-demo-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/benchmarks/etcd-3-demo-benchmarks/</guid><description>&lt;h2 id="physical-machines"&gt;Machines physiques&#10;&lt;/h2&gt;&#10;&lt;p&gt;Type de machine GCE n1-highcpu-2&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;1 disque SSD local dédiqué monté sous /var/lib/etcd&lt;/li&gt;&#10;&lt;li&gt;1 disque lent dédié pour le système d&amp;rsquo;exploitation&lt;/li&gt;&#10;&lt;li&gt;1,8 Go de mémoire&lt;/li&gt;&#10;&lt;li&gt;2 processeurs&lt;/li&gt;&#10;&lt;li&gt;version etcd 2.2.0&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="etcd-cluster"&gt;etcd cluster&#10;&lt;/h2&gt;&#10;&lt;p&gt;1 membre etcd en mode démonstration v3&lt;/p&gt;&#10;&lt;h2 id="testing"&gt;Test&#10;&lt;/h2&gt;&#10;&lt;p&gt;Utilisez l&amp;rsquo;outil de benchmark &lt;a href="https://github.com/etcd-io/etcd/tree/main/tools/benchmark"&gt;etcd v3&lt;/a&gt;&#10;.&lt;/p&gt;&#10;&lt;h2 id="performance"&gt;Performances&#10;&lt;/h2&gt;&#10;&lt;h3 id="reading-one-single-key"&gt;lecture d&amp;rsquo;une seule clé&#10;&lt;/h3&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;taille de la clé en octets&lt;/th&gt;&#10; &lt;th scope="col"&gt;nombre de clients&lt;/th&gt;&#10; &lt;th scope="col"&gt;QPS de lecture&lt;/th&gt;&#10; &lt;th scope="col"&gt;latence au 90e percentile (ms)&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;256&lt;/td&gt;&#10; &lt;td&gt;1&lt;/td&gt;&#10; &lt;td&gt;2716&lt;/td&gt;&#10; &lt;td&gt;0,4&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;256&lt;/td&gt;&#10; &lt;td&gt;64&lt;/td&gt;&#10; &lt;td&gt;16623&lt;/td&gt;&#10; &lt;td&gt;6,1&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;256&lt;/td&gt;&#10; &lt;td&gt;256&lt;/td&gt;&#10; &lt;td&gt;16622&lt;/td&gt;&#10; &lt;td&gt;21,7&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;Les performances sont presque identiques à celles obtenues avec un gestionnaire de serveur vide.&lt;/p&gt;</description></item><item><title>Benchmarking etcd v2.2.0-rc-memory</title><link>https://pig.center/fr/docs/etcd/benchmarks/etcd-2-2-0-rc-memory-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/benchmarks/etcd-2-2-0-rc-memory-benchmarks/</guid><description>&lt;h2 id="physical-machine"&gt;Machine physique&#10;&lt;/h2&gt;&#10;&lt;p&gt;Type de machine GCE n1-standard-2&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;1 disque SSD local dédié monté sous /var/lib/etcd&lt;/li&gt;&#10;&lt;li&gt;1 disque lent dédié pour le système d&amp;rsquo;exploitation&lt;/li&gt;&#10;&lt;li&gt;7,5 Go de mémoire&lt;/li&gt;&#10;&lt;li&gt;2 processeurs&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="etcd"&gt;etcd&#10;&lt;/h2&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-9b26472b-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="" data-td-line-count="4"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-9b26472b-fence-0-viewport" data-td-code-viewport&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;etcd Version: 2.2.0-rc.0+git&#10;Git SHA: 103cb5c&#10;Go Version: go1.5&#10;Go OS/Arch: linux/amd64&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h2 id="testing"&gt;Test&#10;&lt;/h2&gt;&#10;&lt;p&gt;Démarrez un cluster etcd composé de 3 membres, chacun utilisant 2 cœurs.&lt;/p&gt;</description></item><item><title>Benchmarking etcd v2.2.0-rc</title><link>https://pig.center/fr/docs/etcd/benchmarks/etcd-2-2-0-rc-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/benchmarks/etcd-2-2-0-rc-benchmarks/</guid><description>&lt;h2 id="physical-machine"&gt;Machine physique&#10;&lt;/h2&gt;&#10;&lt;p&gt;Type de machine GCE n1-highcpu-2&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;1 disque SSD local dédié monté sous /var/lib/etcd&lt;/li&gt;&#10;&lt;li&gt;1 disque lent dédié pour le système d&amp;rsquo;exploitation&lt;/li&gt;&#10;&lt;li&gt;1,8 Go de mémoire&lt;/li&gt;&#10;&lt;li&gt;2 processeurs&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="etcd-cluster"&gt;etcd cluster&#10;&lt;/h2&gt;&#10;&lt;p&gt;3 membres etcd 2.2.0-rc, chacun exécuté sur une seule machine.&lt;/p&gt;&#10;&lt;p&gt;Versions détaillées :&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-02f35c19-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="" data-td-line-count="4"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-02f35c19-fence-0-viewport" data-td-code-viewport&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;etcd Version: 2.2.0-alpha.1+git&#10;Git SHA: 59a5a7e&#10;Go Version: go1.4.2&#10;Go OS/Arch: linux/amd64&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;En outre, nous utilisons 3 membres etcd 2.1.0 en phase alpha pour constituer le cluster et obtenir des performances de base. La tête du commit d&amp;rsquo;etcd est située à &lt;a href="https://github.com/etcd-io/etcd/commits/c7146bd5f2c73716091262edc638401bb8229144"&gt;c7146bd5&lt;/a&gt;&#10;, identique à celle utilisée dans &lt;a href="https://pig.center/fr/docs/etcd/benchmarks/etcd-2-1-0-alpha-benchmarks/"&gt;benchmark etcd 2.1&lt;/a&gt;&#10;.&lt;/p&gt;</description></item><item><title>Benchmarking d'etcd v2.2.0</title><link>https://pig.center/fr/docs/etcd/benchmarks/etcd-2-2-0-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/benchmarks/etcd-2-2-0-benchmarks/</guid><description>&lt;h2 id="physical-machines"&gt;Machines physiques&#10;&lt;/h2&gt;&#10;&lt;p&gt;Type de machine GCE n1-highcpu-2&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;1 disque SSD local dédié monté en répertoire de données etcd&lt;/li&gt;&#10;&lt;li&gt;1 disque lent dédié pour le système d&amp;rsquo;exploitation&lt;/li&gt;&#10;&lt;li&gt;1,8 Go de mémoire&lt;/li&gt;&#10;&lt;li&gt;2 processeurs&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="etcd-cluster"&gt;etcd cluster&#10;&lt;/h2&gt;&#10;&lt;p&gt;3 membres etcd 2.2.0, chacun exécuté sur une machine unique.&lt;/p&gt;&#10;&lt;p&gt;Versions détaillées :&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-b93cf88d-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="" data-td-line-count="4"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-b93cf88d-fence-0-viewport" data-td-code-viewport&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;etcd Version: 2.2.0&#10;Git SHA: e4561dd&#10;Go Version: go1.5&#10;Go OS/Arch: linux/amd64&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h2 id="testing"&gt;Test&#10;&lt;/h2&gt;&#10;&lt;p&gt;Initialisez une autre machine, en dehors du cluster etcd, puis exécutez l’outil de benchmark HTTP &lt;a href="https://github.com/rakyll/hey"&gt;&lt;code&gt;hey&lt;/code&gt; avec un correctif de réutilisation de connexion&lt;/a&gt;&#10; pour envoyer des requêtes à chaque membre du cluster etcd. Consultez les &lt;a href="https://github.com/etcd-io/etcd/tree/v2.3.8/hack/benchmark"&gt;instructions de benchmark&lt;/a&gt;&#10; pour obtenir le correctif et les étapes permettant de reproduire nos procédures.&lt;/p&gt;</description></item><item><title>Test de performance d'etcd v2.1.0</title><link>https://pig.center/fr/docs/etcd/benchmarks/etcd-2-1-0-alpha-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/benchmarks/etcd-2-1-0-alpha-benchmarks/</guid><description>&lt;h2 id="physical-machines"&gt;Machines physiques&#10;&lt;/h2&gt;&#10;&lt;p&gt;Type de machine GCE n1-highcpu-2&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;1 disque SSD local dédié monté sous /var/lib/etcd&lt;/li&gt;&#10;&lt;li&gt;1 disque lent dédié pour le système d&amp;rsquo;exploitation&lt;/li&gt;&#10;&lt;li&gt;1,8 Go de mémoire&lt;/li&gt;&#10;&lt;li&gt;2 processeurs&lt;/li&gt;&#10;&lt;li&gt;version etcd 2.1.0 alpha&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="etcd-cluster"&gt;etcd cluster&#10;&lt;/h2&gt;&#10;&lt;p&gt;3 membres etcd, chacun exécuté sur une machine unique&lt;/p&gt;&#10;&lt;h2 id="testing"&gt;Test&#10;&lt;/h2&gt;&#10;&lt;p&gt;Initialisez une autre machine et utilisez l&amp;rsquo;outil de benchmark HTTP &lt;a href="https://github.com/rakyll/hey"&gt;hey&lt;/a&gt;&#10; pour envoyer des requêtes à chaque membre etcd. Consultez le &lt;a href="https://github.com/etcd-io/etcd/tree/main/hack/benchmark"&gt;guide de manipulation du benchmark&lt;/a&gt;&#10; pour des instructions détaillées.&lt;/p&gt;</description></item><item><title>Mise à jour des clusters etcd et des applications</title><link>https://pig.center/fr/docs/etcd/upgrades/upgrading-etcd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/upgrades/upgrading-etcd/</guid><description>&lt;p&gt;Cette section contient les documents spécifiques à la mise à jour des clusters etcd et des applications.&lt;/p&gt;&#10;&lt;h2 id="upgrade-policy"&gt;Politique de mise à jour&#10;&lt;/h2&gt;&#10;&lt;p&gt;Avant la mise à jour, notez qu’etcd ne prend en charge que les deux cas de mise à jour suivants :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Mise à jour correctif :&lt;/strong&gt; Mise à jour entre des versions correctives du même numéro de version mineure (par exemple, 3.7.0 → 3.7.1).&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Mise à jour mineure :&lt;/strong&gt; Mise à jour d&amp;rsquo;une version mineure à la fois (par exemple, 3.6 → 3.7). Les mises à jour qui sautent une version mineure ne sont pas prises en charge et risquent de échouer. Mettez à jour vers la dernière version correctif avant de passer à la version mineure suivante.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="upgrading-an-etcd-v3x-cluster"&gt;Mise à jour d&amp;rsquo;un cluster etcd v3.x&#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/upgrades/upgrade_3_1/"&gt;Mise à niveau d&amp;rsquo;etcd de la version 3.0 vers la 3.1&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/upgrades/upgrade_3_2/"&gt;Mise à niveau d&amp;rsquo;etcd de la version 3.1 vers la 3.2&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/upgrades/upgrade_3_3/"&gt;Mise à niveau d&amp;rsquo;etcd de la version 3.2 vers la 3.3&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/upgrades/upgrade_3_4/"&gt;Mise à niveau d&amp;rsquo;etcd de la version 3.3 vers la 3.4&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/upgrades/upgrade_3_5/"&gt;Mise à niveau d&amp;rsquo;etcd de la version 3.4 vers la 3.5&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/upgrades/upgrade_3_6/"&gt;Mise à niveau d&amp;rsquo;etcd de la version 3.5 vers la 3.6&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/upgrades/upgrade_3_7/"&gt;Mise à niveau d&amp;rsquo;etcd de la version 3.6 vers la 3.7&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="upgrading-from-etcd-v23"&gt;Mise à niveau depuis etcd v2.3&#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/upgrades/upgrade_3_0/"&gt;Mettre à jour un cluster v2.3 vers la v3.0&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Réduction de version des clusters etcd et des applications</title><link>https://pig.center/fr/docs/etcd/downgrades/downgrading-etcd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/downgrades/downgrading-etcd/</guid><description>&lt;p&gt;Cette section contient les documents spécifiques à la rétrogradation des clusters etcd et des applications.&lt;/p&gt;&#10;&lt;h2 id="downgrading-an-etcd-v3x-cluster"&gt;Réduction de la version d&amp;rsquo;un cluster etcd v3.x&#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/downgrades/downgrade_3_5/"&gt;Mise à jour inférieure d&amp;rsquo;etcd de 3.5 vers 3.4&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/downgrades/downgrade_3_6/"&gt;Mise à jour inférieure d&amp;rsquo;etcd de 3.6 vers 3.5&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://pig.center/fr/docs/etcd/downgrades/downgrade_3_7/"&gt;Mise à jour inférieure d&amp;rsquo;etcd de 3.7 vers 3.6&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Mettre à jour etcd de la version v3.5 à la version v3.6</title><link>https://pig.center/fr/docs/etcd/upgrades/upgrade_3_6/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/upgrades/upgrade_3_6/</guid><description>&lt;p&gt;Dans le cas général, la mise à niveau de etcd v3.5 vers v3.6 peut être une mise à niveau progressive sans interruption de service :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;un à un, arrêtez les processus etcd v3.5 et remplacez-les par des processus etcd v3.6&lt;/li&gt;&#10;&lt;li&gt;après avoir lancé tous les processus v3.6, les nouvelles fonctionnalités de la version v3.6 sont disponibles pour le cluster&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Avant de &lt;a href="#upgrade-procedure"&gt;lancer la mise à jour&lt;/a&gt;&#10;, lisez le reste du présent guide afin de vous préparer.&lt;/p&gt;</description></item><item><title>Rétrogradation d'etcd de la version v3.7 à la v3.6</title><link>https://pig.center/fr/docs/etcd/downgrades/downgrade_3_7/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/downgrades/downgrade_3_7/</guid><description>&lt;p&gt;Dans le cas général, la rétrogradation de etcd v3.7 vers v3.6 peut se faire sans interruption de service, par mise à jour progressive :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;un à un, arrêtez les processus etcd v3.7 et remplacez-les par des processus etcd v3.6&lt;/li&gt;&#10;&lt;li&gt;après avoir activé la remontée de version, les nouvelles fonctionnalités de la v3.7 ne sont plus disponibles pour le cluster&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Avant de &lt;a href="#downgrade-procedure"&gt;effectuer une mise vers une version antérieure&lt;/a&gt;&#10;, lisez le reste du présent guide afin de vous préparer.&lt;/p&gt;</description></item><item><title>Mettre à jour etcd de 3.4 à 3.5</title><link>https://pig.center/fr/docs/etcd/upgrades/upgrade_3_5/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/upgrades/upgrade_3_5/</guid><description>&lt;p&gt;Dans le cas général, la mise à niveau de etcd 3.4 vers 3.5 peut être effectuée sans interruption de service, en mode mise à niveau progressive :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;un par un, arrêtez les processus etcd v3.4 et remplacez-les par des processus etcd v3.5&lt;/li&gt;&#10;&lt;li&gt;après avoir lancé tous les processus v3.5, les nouvelles fonctionnalités de la version v3.5 sont disponibles pour le cluster&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Avant de &lt;a href="#upgrade-procedure"&gt;lancer la mise à jour&lt;/a&gt;&#10;, lisez le reste du présent guide afin de vous préparer.&lt;/p&gt;</description></item><item><title>Rétrogradation d'etcd de la version 3.5 à la 3.4</title><link>https://pig.center/fr/docs/etcd/downgrades/downgrade_3_5/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/downgrades/downgrade_3_5/</guid><description>&lt;p&gt;Dans le cas général, la rétrogradation de etcd 3.5 vers 3.4 peut s&amp;rsquo;effectuer sans interruption de service, en mode rolling :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;un par un, arrêtez les processus etcd 3.5 et remplacez-les par des processus etcd 3.4&lt;/li&gt;&#10;&lt;li&gt;après avoir lancé des processus 3.4, les nouvelles fonctionnalités de 3.5 ne sont plus disponibles pour le cluster&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Avant de &lt;a href="#downgrade-procedure"&gt;effectuer une mise vers une version antérieure&lt;/a&gt;&#10;, lisez le reste du présent guide afin de vous préparer.&lt;/p&gt;</description></item><item><title>Rétrogradation d'etcd de la version v3.6 à la v3.5</title><link>https://pig.center/fr/docs/etcd/downgrades/downgrade_3_6/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/downgrades/downgrade_3_6/</guid><description>&lt;p&gt;Dans le cas général, la rétrogradation de etcd v3.6 vers v3.5 peut s&amp;rsquo;effectuer sans interruption de service, en mode rolling :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;un à un, arrêtez les processus etcd v3.6 et remplacez-les par des processus etcd v3.5&lt;/li&gt;&#10;&lt;li&gt;après avoir activé la rétrogradation, les nouvelles fonctionnalités de la version v3.6 ne sont plus disponibles pour le cluster&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Avant de &lt;a href="#downgrade-procedure"&gt;effectuer une mise vers une version antérieure&lt;/a&gt;&#10;, lisez le reste du présent guide afin de vous préparer.&lt;/p&gt;</description></item><item><title>Mettre à jour etcd de 3.3 à 3.4</title><link>https://pig.center/fr/docs/etcd/upgrades/upgrade_3_4/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/upgrades/upgrade_3_4/</guid><description>&lt;p&gt;Dans le cas général, la mise à niveau de etcd 3.3 vers 3.4 peut s&amp;rsquo;effectuer sans interruption de service, par mise à niveau progressive :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;un par un, arrêtez les processus etcd v3.3 et remplacez-les par des processus etcd v3.4&lt;/li&gt;&#10;&lt;li&gt;après avoir lancé tous les processus v3.4, les nouvelles fonctionnalités de la version v3.4 sont disponibles pour le cluster&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Avant de &lt;a href="#upgrade-procedure"&gt;lancer la mise à jour&lt;/a&gt;&#10;, lisez le reste du présent guide afin de vous préparer.&lt;/p&gt;</description></item><item><title>Mettre à jour etcd de la version v3.6 à la version v3.7</title><link>https://pig.center/fr/docs/etcd/upgrades/upgrade_3_7/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/upgrades/upgrade_3_7/</guid><description>&lt;p&gt;Dans le cas général, la mise à niveau de etcd v3.6 vers v3.7 peut être une mise à niveau progressive sans interruption de service :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;un à un, arrêtez les processus etcd v3.6 et remplacez-les par des processus etcd v3.7&lt;/li&gt;&#10;&lt;li&gt;après avoir lancé tous les processus v3.7, les nouvelles fonctionnalités de la version v3.7 sont disponibles pour le cluster&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Avant de &lt;a href="#upgrade-procedure"&gt;lancer la mise à jour&lt;/a&gt;&#10;, lisez le reste du présent guide afin de vous préparer.&lt;/p&gt;</description></item><item><title>Mettre à jour etcd de 3.2 vers 3.3</title><link>https://pig.center/fr/docs/etcd/upgrades/upgrade_3_3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/upgrades/upgrade_3_3/</guid><description>&lt;p&gt;Dans le cas général, la mise à niveau de etcd 3.2 vers 3.3 peut être effectuée sans interruption de service, par mise à niveau progressive :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;un par un, arrêtez les processus etcd v3.2 et remplacez-les par des processus etcd v3.3&lt;/li&gt;&#10;&lt;li&gt;après avoir lancé tous les processus v3.3, les nouvelles fonctionnalités de la version v3.3 sont disponibles pour le cluster&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Avant de &lt;a href="#upgrade-procedure"&gt;lancer la mise à jour&lt;/a&gt;&#10;, lisez le reste du présent guide afin de vous préparer.&lt;/p&gt;</description></item><item><title>Mettre à jour etcd de 3.1 vers 3.2</title><link>https://pig.center/fr/docs/etcd/upgrades/upgrade_3_2/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/upgrades/upgrade_3_2/</guid><description>&lt;p&gt;Dans le cas général, la mise à niveau de etcd 3.1 vers 3.2 peut être effectuée sans interruption de service, par mise à niveau progressive :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;un par un, arrêtez les processus etcd v3.1 et remplacez-les par des processus etcd v3.2&lt;/li&gt;&#10;&lt;li&gt;après avoir lancé tous les processus v3.2, les nouvelles fonctionnalités de la version v3.2 sont disponibles pour le cluster&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Avant de &lt;a href="#upgrade-procedure"&gt;lancer la mise à jour&lt;/a&gt;&#10;, lisez le reste du présent guide afin de vous préparer.&lt;/p&gt;</description></item><item><title>Mettre à jour etcd de la version 3.0 à la 3.1</title><link>https://pig.center/fr/docs/etcd/upgrades/upgrade_3_1/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/upgrades/upgrade_3_1/</guid><description>&lt;p&gt;Dans le cas général, la mise à niveau d’etcd 3.0 vers 3.1 peut être effectuée sans interruption de service, par mise à niveau progressive :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;un nœud à la fois, arrêtez les processus etcd v3.0 et remplacez-les par des processus etcd v3.1&lt;/li&gt;&#10;&lt;li&gt;après avoir lancé tous les processus v3.1, les nouvelles fonctionnalités de la version v3.1 sont disponibles pour le cluster&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Avant de &lt;a href="#upgrade-procedure"&gt;lancer la mise à jour&lt;/a&gt;&#10;, lisez le reste du présent guide afin de vous préparer.&lt;/p&gt;</description></item><item><title>Mettre à jour etcd de la version 2.3 à la 3.0</title><link>https://pig.center/fr/docs/etcd/upgrades/upgrade_3_0/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/upgrades/upgrade_3_0/</guid><description>&lt;p&gt;Dans le cas général, la mise à niveau de etcd 2.3 vers 3.0 peut s&amp;rsquo;effectuer sans interruption de service, par mise à niveau progressive :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;un par un, arrêtez les processus etcd v2.3 et remplacez-les par des processus etcd v3.0&lt;/li&gt;&#10;&lt;li&gt;après avoir lancé tous les processus v3.0, les nouvelles fonctionnalités de la version 3.0 sont disponibles pour le cluster&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Avant de &lt;a href="#upgrade-procedure"&gt;lancer la mise à jour&lt;/a&gt;&#10;, lisez le reste du présent guide afin de vous préparer.&lt;/p&gt;</description></item><item><title>Guidelines de tri des problèmes</title><link>https://pig.center/fr/docs/etcd/triage/issues/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/triage/issues/</guid><description>&lt;h2 id="purpose"&gt;Objectif&#10;&lt;/h2&gt;&#10;&lt;p&gt;Accélérer la gestion des problèmes.&lt;/p&gt;&#10;&lt;p&gt;Les problèmes liés à &lt;code&gt;etcd&lt;/code&gt; sont répertoriés sur &lt;a href="https://github.com/etcd-io/etcd/issues"&gt;https://github.com/etcd-io/etcd/issues&lt;/a&gt;&#10;&#10;et sont identifiés par des étiquettes. Par exemple, un problème identifié&#10;comme un bogue sera éventuellement étiqueté &lt;code&gt;area/bug &lt;/code&gt;. Les nouveaux problèmes&#10;apparaissent initialement sans étiquette, mais les responsables &lt;code&gt;etcd&lt;/code&gt; et les contributeurs actifs&#10;ajoutent des étiquettes en fonction de leurs constatations. La liste détaillée des étiquettes est disponible sur&#10;&lt;a href="https://github.com/kubernetes/kubernetes/labels"&gt;https://github.com/kubernetes/kubernetes/labels&lt;/a&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;Voici quelques recherches prédéfinies sur les problèmes, pour plus de commodité :&lt;/p&gt;</description></item><item><title>Gestion des demandes de tirage</title><link>https://pig.center/fr/docs/etcd/triage/prs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/etcd/triage/prs/</guid><description>&lt;h2 id="purpose"&gt;Objectif&#10;&lt;/h2&gt;&#10;&lt;p&gt;Accélérer la gestion des PR.&lt;/p&gt;&#10;&lt;p&gt;Les demandes de fusion &lt;code&gt;etcd&lt;/code&gt; sont listées sur &lt;a href="https://github.com/etcd-io/etcd/pulls"&gt;https://github.com/etcd-io/etcd/pulls&lt;/a&gt;&#10;&#10;Une demande de fusion peut avoir divers étiquettes, un délai d&amp;rsquo;achèvement, un validateur, etc. La liste détaillée des étiquettes est disponible sur&#10;&lt;a href="https://github.com/kubernetes/kubernetes/labels"&gt;https://github.com/kubernetes/kubernetes/labels&lt;/a&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;Voici quelques exemples de recherches sur PR pour plus de commodité :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr&amp;#43;is%3Aopen&amp;#43;milestone%3Aetcd-v3.4"&gt;Ouvrir les PRs pour le milestone etcd-v3.4&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/labels/Investigating"&gt;PRs en cours d&amp;rsquo;investigation&lt;/a&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="scope"&gt;Portée&#10;&lt;/h2&gt;&#10;&lt;p&gt;Ces directives servent de document principal pour la gestion des demandes de tirage (PR) dans &lt;code&gt;etcd&lt;/code&gt;. Tous sont invités à aider à la gestion des PR, mais le travail et les responsabilités décrits dans ce document s&amp;rsquo;adressent principalement aux mainteneurs et contributeurs actifs de &lt;code&gt;etcd&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Attribution et licence</title><link>https://pig.center/fr/attribution/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/attribution/</guid><description>&lt;p&gt;Le fichier pig.center republie la documentation rédigée par six projets amont. Chaque page de documentation comporte une mention d’un seul trait à la fin, indiquant l’œuvre dont elle est issue, son titulaire du droit d’auteur, sa licence, ainsi qu’un lien renvoyant à la section de cette page qui la traite.&lt;/p&gt;&#10;&lt;p&gt;Cette page est cet enregistrement. Elle indique ce qui a été importé, à quelle date, à partir de quelle révision verrouillée, selon quelle licence, et où la notice complète du projet amont est conservée.&lt;/p&gt;</description></item><item><title>recherche</title><link>https://pig.center/fr/search/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/search/</guid><description/></item></channel></rss>