[Trad] [svn:pgfr] r1079 - traduc/trunk/slony

svncommit at kryskool.org svncommit at kryskool.org
Mar 24 Juin 00:34:33 CEST 2008


Auteur: daamien
Date: 2008-06-24 00:34:32 +0200 (mar, 24 jun 2008)
Nouvelle Révision: 1079

Modification:
   traduc/trunk/slony/usingslonik.xml
Log:
1ere traduction, à relire



Modified: traduc/trunk/slony/usingslonik.xml
===================================================================
--- traduc/trunk/slony/usingslonik.xml	2008-06-16 22:28:48 UTC (rev 1078)
+++ traduc/trunk/slony/usingslonik.xml	2008-06-23 22:34:32 UTC (rev 1079)
@@ -4,108 +4,107 @@
      par      $Author$
      révision $Revision$ -->
 
-<sect1 id="usingslonik"> <title>Using Slonik</title>
+<sect1 id="usingslonik"> <title>Utiliser Slonik</title>
 
-<indexterm><primary>using slonik</primary></indexterm>
+<indexterm><primary>utiliser slonik</primary></indexterm>
 
-<para> It's a bit of a pain writing <application>Slonik</application>
-scripts by hand, particularly as you start working with &slony1;
-clusters that may be comprised of increasing numbers of nodes and
-sets.  Some problems that have been noticed include the following:
+<para> Il est parfois pénible d'écrire les scripts <application>Slonik</application>
+à la main, en particulier lorsqu'on travaille avec des clusters &slony1;
+dont le nombre de noeuds et d'ensemble de réplication augmente régulièrement.
+Les problèmes suivants ont été identifiés.
 
 <itemizedlist>
 
-<listitem><para> If you are using &slony1; as a
-<quote>master/slave</quote> replication system with one
-<quote>master</quote> node and one <quote>slave</quote> node, it may
-be sufficiently mnemonic to call the <quote>master</quote> node 1 and
-the <quote>slave</quote> node 2.</para>
+<listitem><para> Si vous utilisez &slony1; pour une réplication 
+<quote>maître/esclave</quote> avec un noeud
+<quote>maître</quote> et un noeud <quote>esclave</quote>, le plus simple
+est de nommer le noeud  <quote>maître</quote> noeud 1 et le 
+noeud <quote>esclave</quote> noeud 2.</para>
 
-<para> Unfortunately, as the number of nodes increases, the mapping of
-IDs to nodes becomes way less obvious, particularly if you have a
-cluster where the origin might shift from node to node over
-time.</para></listitem>
+<para> Malheureusement, lorsque le nombre de noeud augmente, la correspondance
+  entre les identifiants et les noeuds devient moins évidente, en particulier
+  si vous avez un cluster dont l'origine est déplacée d'un noeud à l'autre de temps en temps.
+</para></listitem>
 
-<listitem><para> Similarly, if there is only one replication set, it's
-fine for that to be <quote>set 1,</quote> but if there are a
-multiplicity of sets, the numbering involved in using set numbers may
-grow decreasingly intuitive.</para></listitem>
+<listitem><para> De la même façon, s'il n'y a qu'un seul ensemble de réplication,
+il est facile de le nommer <quote>ensemble 1,</quote> mais s'il y a
+de multiples ensemble, la numérotation des ensembles sera moins intuitive.
+</para></listitem>
 
-<listitem><para> People have observed that
-<application>Slonik</application> does not provide any notion of
-iteration.  It is common to want to create a set of similar <xref
-linkend="stmtstorepath"/> entries, since, in most cases, hosts will
-likely access a particular server via the same host name or IP
-address.</para></listitem>
+<listitem><para> On observe que 
+<application>Slonik</application> ne fournit pas la notion d'itération
+Il est courant de vouloir créer un ensemble d'entrée <xref
+linkend="stmtstorepath"/> similaires, car la pluspart du temps, 
+les hôtes accèdent à un serveur via le même nom d'hôte ou la même 
+adresse IP.</para></listitem>
 
-<listitem><para> Users seem interested in wrapping everything possible
-in <command>TRY</command> blocks, which is regrettably somewhat
-<emphasis>less</emphasis> useful than might be
-hoped...</para></listitem>
+<listitem><para> Les utilisateurs a tout insérer à l'intérieur de blocs
+  <command>TRY</command>, ce qui n'est pas aussi utile qu'on pourrait le penser
+</para></listitem>
 
 </itemizedlist></para>
 
-<para> These have assortedly pointed to requests for such enhancements
-as:
+<para> Certaines évolutions ont résolu une partie de ces problèmes :
 
 <itemizedlist>
-<listitem><para> Named nodes, named sets</para>
+<listitem><para> Noeuds nommés, ensemble nommés</para>
 
-<para> This is supported in &slony1; 1.1 by the <xref
-linkend="stmtdefine"/> and <xref linkend="stmtinclude"/> statements.
+<para> Ceci est supporté par les commandes <xref
+linkend="stmtdefine"/> and <xref linkend="stmtinclude"/> à partir 
+  de &slony1; 1.1.
 </para>
 
-<para> The use of <xref linkend="stmtinclude"/> to allow creating
-<quote>preamble files</quote> has proven an invaluable tool to reduce
-errors.  The preamble file is set up <emphasis>once</emphasis>,
-verified <emphasis>once</emphasis>, and then that verified script may
-be used with confidence for each slonik script.
+<para> L'utilisation de <xref linkend="stmtinclude"/> pour créer 
+  des <quote>fichiers préambule</quote> est un méthode essentielle
+  pour réduire les erreurs. Un fichier préambule est un défini 
+<emphasis>une seule fois</emphasis> et vérifié  <emphasis>une seule fois</emphasis>.
+Ces fichiers peuvent être utilisé en tout confiance par les autres scripts 
+slonik.
 </para>
 </listitem>
 
-<listitem><para> Looping and control constructs</para>
+<listitem><para> Boucles et opérateurs de contrôle.</para>
 
-<para> It seems to make little sense to create a fullscale parser as
-Yet Another Little Language grows into a rather larger one.  There are
-plenty of scripting languages out there that can be used to construct
-Slonik scripts; it is unattractive to force yet another one on people.
+<para> Il est inutile de créer un analyseur complet pour permettre la 
+  développer le langage de script. Il y a de nombreux langages de script
+  que l'on peut utiliser pour construire des scripts Slonik; il 
+  n'est pas intéressant d'en imposer un nouveau.
 </para></listitem>
 
 </itemizedlist></para>
 
-<para> There are several ways to work around these issues that have
-been seen <quote>in the wild</quote>:</para>
+<para> Il existe plusieurs façons de régler ces problèmes :
+</para>
 
 <itemizedlist>
 
-<listitem><para> Embedding generation of slonik inside shell
-scripts</para>
+<listitem><para> Inclure la génération du script slonik dans un scripts shell</para>
 
-<para> The test bed found in the <filename>src/ducttape</filename>
-directory takes this approach.</para></listitem>
+<para> Les tests trouvés dans le répertoire <filename>src/ducttape</filename>
+utilise cette approche.</para></listitem>
 
-<listitem><para> The <link linkend="altperl"> altperl tools </link>
-use Perl code to generate Slonik scripts.</para>
+<listitem><para> Les <link linkend="altperl"> outils altperl</link>
+utilise du code Perl pour générer les scripts Slonik.</para>
 
-<para> You define the cluster's configuration as a set of Perl
-objects; each script walks through the Perl objects as needed to
-generate a slonik script for that script's purpose.
+<para> Vous définissez les configuration du cluster comme un ensemble
+  d'objets Perl; chaque script altperl utilise les objets Perl pour produire 
+  le script slonik adéquate.
 </para></listitem>
 
 </itemizedlist>
 </sect1>
 
-<sect1 id="slonikshell"><title> Embedding Slonik in Shell Scripts </title>
+<sect1 id="slonikshell"><title> Utiliser Slonik à partir d'un script Shell </title>
 
-<indexterm><primary> embedding slonik in shell scripts </primary></indexterm>
+<indexterm><primary> Utiliser slonik à l'intérieur de scripts Shell</primary></indexterm>
 
-<para> As mentioned earlier, there are numerous &slony1; test scripts
-in <filename>src/ducttape</filename> that embed the generation of
-Slonik inside the shell script.</para>
+<para> Comme on l'a vu précédemment, il existe de nombreux scripts de test pour &slony1;
+  dans le répertoire <filename>src/ducttape</filename> qui intègre la génération
+  de script Slonik à l'intérieur de code écrit en Shell.</para>
 
-<para> They mostly <emphasis> don't </emphasis> do this in a terribly
-sophisticated way.  Typically, they use the following sort of
-structure:
+<para> La pluspart de ces scripts ne sont <emphasis> pas </emphasis> terriblement
+  sophistiqués. Typiquement, ils utilisent des structures comme celle-ci 
+  :
 
 <programlisting><![CDATA[
 DB1=slony_test1
@@ -137,37 +136,37 @@
 _EOF_
 ]]></programlisting></para>
 
-<para> A more sophisticated approach might involve defining some
-common components, notably the <quote>preamble</quote> that consists
-of the <xref linkend="clustername"/> <xref linkend="admconninfo"/>
-commands that are common to every Slonik script, thus:
+<para> Une approche plus sophistiquée consiste à définir des composants
+  communs, notamment un <quote>préambule</quote> qui contient les 
+  commandes <xref linkend="clustername"/> et <xref linkend="admconninfo"/>
+  que l'on retrouve dans chaque script Slonik :
 
 <programlisting>
 CLUSTER=T1
 DB1=slony_test1
 DB2=slony_test2
-PREAMBLE="cluster name = $CLUSTER
+PREAMBULE="cluster name = $CLUSTER
 node 1 admin conninfo = 'dbname=$DB1';
 node 2 admin conninfo = 'dbname=$DB2';
 "
 </programlisting></para>
 
-<para> The <envar>PREAMBLE</envar> value could then be reused over and
-over again if the shell script invokes <command>slonik</command>
-multiple times.  You might also consider using <xref
-     linkend="stmtinclude"/> and place the preamble in a file that is
-<command>include</command>d.
+<para> La variable <envar>PREAMBULE</envar> peut alors être
+  réutilisée plusieurs fois lorsque que le script shell invoque
+  plusieurs fois <command>slonik</command>.
+  Vous pouvez également utiliser <xref linkend="stmtinclude"/> et 
+  placer le preambule dans un fichier que vous incluez.
  </para>
 
-<para> Shell variables provide a simple way to assign names to sets
-and nodes:
+<para> Les variables Shell fournissent une méthode simple 
+  pour assigner les noms d'ensemble et de noeuds :
 
 <programlisting><![CDATA[
 origin=1
 subscriber=2
 mainset=1
 slonik <<_EOF_
-$PREAMBLE
+$PREAMBULE
 try {
 	create set (id = $mainset, origin = $origin, 
                     comment = 'Set $mainset - pgbench tables');
@@ -189,8 +188,8 @@
 _EOF_
 ]]></programlisting></para>
 
-<para> The script might be further enhanced to loop through the list
-of tables as follows:
+<para> Le script peut être utilisé en suite pour boucler sur la liste
+   des tables :
 
 <programlisting><![CDATA[
 # Basic configuration
@@ -210,7 +209,7 @@
   let "tnum=tnum+1"
 done
 slonik <<_EOF_
-$PREAMBLE
+$PREAMBULE
 try {
 	create set (id = $mainset, origin = $origin, 
                     comment = 'Set $mainset - pgbench tables');
@@ -221,71 +220,73 @@
 _EOF_
 ]]></programlisting></para>
 
-<para> That is of somewhat dubious value if you only have 4 tables,
-but eliminating errors resulting from enumerating large lists of
-configuration by hand will make this pretty valuable for the larger
-examples you'll find in <quote>real life.</quote></para>
+<para> Ce n'est peut-être pas nécessaire si vous n'avez que 4 tables 
+  mais cette méthode évite de recopier de longues listes de configuration
+  à la main et préviendra les erreurs sur les grands ensembles que 
+  vous rencontrerez dans la <quote>vraie vie</quote>.</para>
 
-<para> You can do even more sophisticated things than this if your
-scripting language supports things like:
+<para> Vous pouvez créer des scripts encore plus sophistiqués, si 
+  votre langage de script possède :
 
 <itemizedlist>
 
-<listitem><para> <quote>Record</quote> data structures that allow
-assigning things in parallel</para></listitem>
+<listitem><para> des structures de type <quote>Record</quote> qui 
+    permette d'assigner des objets en parallèle.</para></listitem>
 
-<listitem><para> Functions, procedures, or subroutines, allowing you
-to implement useful functionality once, and then refer to it multiple
-times within a script</para></listitem>
+<listitem><para> des fonctions, procédure ou des routines, qui 
+    permettent d'implanter des fonctionnalités une seule fois,
+    puis de les appeler à divers endroit de votre script.
+    </para></listitem>
 
-<listitem><para> Some sort of <quote>module import</quote> system so
-that common functionality can be shared across many
-scripts</para></listitem>
+<listitem><para> Un mécanisme <quote>d'import de module</quote> afin
+    partager de fonctionnalités commune entre plusieurs scripts.
+ </para></listitem>
 
 </itemizedlist></para>
 
-<para> If you can depend on having <ulink
+<para> Si vous devez utiliser <ulink
 url="http://www.gnu.org/software/bash/bash.html"> Bash</ulink>, <ulink
-url="http://www.zsh.org/"> zsh</ulink>, or <ulink
-url="http://www.kornshell.com/"> Korn shell</ulink> available, well,
-those are all shells with extensions supporting reasonably
-sophisticated data structures and module systems.  On Linux, Bash is
-fairly ubiquitous; on commercial <trademark>UNIX</trademark>, Korn
-shell is fairly ubiquitous; on BSD, <quote>sophisticated</quote>
-shells are an option rather than a default.</para>
+url="http://www.zsh.org/"> zsh</ulink>, ou <ulink
+url="http://www.kornshell.com/"> Korn shell</ulink>, toutes 
+  ces shells possèdent des extensions qui gèrent correctement
+  les structures de données sophistiquées et les modules.
+  Sur linux, Bash est très répandu; sur les systèmes <trademark>UNIX</trademark>
+  commerciaux, Korn est le standard, sur BSD, les shells <quote>sophistiqués</quote>
+  sont en option.</para>
 
-<para> At that point, it makes sense to start looking at other
-scripting languages, of which Perl is the most ubiquitous, being
-widely available on Linux, <trademark>UNIX</trademark>, and BSD.
+<para> N'oubliez pas de regarder du coté des des autres
+  langages de script, parmi lesquels Perl est le plus évident,
+  puisque est largement répandu sur Linux, <trademark>UNIX</trademark>, 
+  et BSD.
 </para>
 </sect1>
 
-<sect1 id="noslonik"><title> Not Using Slonik - Bare Metal &slony1;
-Functions </title>
+<sect1 id="noslonik"><title> Ne pas utiliser Slonik - les fonctions &slony1; de bas niveau</title>
 
-<indexterm><primary> bare metal &slony1; functions </primary></indexterm>
+<indexterm><primary> fonctions &slony1; de bas niveau </primary></indexterm>
 
-<para> There are cases where it may make sense to directly use the
-stored functions that implement the various pieces of &slony1;.
-Slonik doesn't do terribly much <quote>magic;</quote> it is common for
-Slonik commands to simply involve deciding on a node at which to apply
-a command, and then submit a SQL query consisting of a call to one of
-the &slony1; stored functions.</para>
+<para> Il est parfois nécessaire d'utiliser directement les procédures stockées
+  qui compose les différentes parties de &slony1;.
+Slonik n'est pas <quote>magique;</quote> il est courant qu'une commande 
+Slonik  se contente de décider quel noeud va recevoir la commande
+et lui envoie une requête SQL qui contient une seule procédure stockée
+&slony1;.</para>
 
-<para> The developers of &slony1; anticipate that interested parties
-may wish to develop graphical tools as an alternative to Slonik; it
-would be entirely appropriate in such cases to submit configuration
-requests directly via the stored functions.  If you plan to do so, it
-is suggested that you examine how the stored procedures are used in
-<filename>slonik.c</filename>, as that represents the most correct use
-of the functions.</para>
+<para> Les développeurs de &slony1; espèrent que quelqu'un développera des
+  outils graphiques qui constitueront une alternative à Slonik; Il serait
+  alors utile d'envoyer les ordres de configuration directement via
+  les procédures stockées. Si vous comptez vous lancer dans ce projet,
+  il est conseillé d'examiner comment les procédures stockées sont
+  utilisées dans le fichier <filename>slonik.c</filename>, 
+  puisqu'il s'agit de l'utilisation la plus correcte de ces fonctions.</para>
 
-<para> When debugging problems in <quote>troubled</quote> &slony1;
-clusters, it has also occasionally proven useful to use the stored
-functions.  This has been particularly useful for cases where <xref
-linkend="table.sl-listen"/> configuration has been broken, and events
-have not been propagating properly.  The <quote>easiest</quote> fix
-was to:</para>
+<para> Lorsque que l'on corrige des problèmes sur un cluster &slony1; <quote>endommagé</quote>,
+  il est parfois utile d'utiliser les procédures stockées. C'est particulièrement
+  efficace lorsque la configuration de la table  <xref
+linkend="table.sl-listen"/> est corrompue et que les événements ne se 
+  propagent plus correctement.
+  La méthode la <quote>plus simple</quote> pour réparer cela est la suivante :
+</para>
 
 <para> <command> select
 _slonycluster.droplisten(li_origin,li_provider,li_receiver) from
@@ -294,16 +295,19 @@
 <para> <command> select _slonycluster.storelisten(pa_server,
 pa_server, pa_client) from _slonycluster.sl_path;</command></para>
 
-<para> The result of this set of queries is to regenerate
-<emphasis>and propagate</emphasis> the listen paths.  By running the main
-<function> _slonycluster.storelisten()</function> function,
-<command>STORE_LISTEN</command> events are raised to cause the listen paths to
-propagate to the other nodes in the cluster.</para>
+<para> Le résultat de ces requêtes est la régénération et la 
+<emphasis>propagation</emphasis> des voies d'écoute. En
+lançant à la main la fonction 
+<function> _slonycluster.storelisten()</function>,
+on déclenche des évènements <command>STORE_LISTEN</command> qui provoque
+l'envoi des voies d'écoute sur les autres noeuds du cluster.
+</para>
 
-<para> If there was a <emphasis>local</emphasis> problem on one node, and you
-didn't want the updates to propagate (this would be an unusual
-situation; you almost certainly want to fix things
-<emphasis>everywhere</emphasis>), the queries would instead be:</para>
+<para> En cas de problème <emphasis>local</emphasis> sur un noeud, si
+  vous ne souhaitez pas propager les corrections ( ce qui est assez 
+  rare, on cherche en général à réparer <emphasis>l'ensemble</emphasis> du cluster ),
+  la requête est la suivante :
+</para>
 
 <para> <command> select
 slonycluster.droplisten_int(li_origin,li_provider,li_receiver) from
@@ -312,46 +316,46 @@
 <para> <command> select _slonycluster.storelisten_int(pa_server,
 pa_server, pa_client) from _slonycluster.sl_path;</command></para>
 
-<para> If you are planning to add &slony1; support to other tools
-(<emphasis>e.g.</emphasis> - adding replication support to something
-like <ulink url="http://www.pgadmin.org/"> <productname>pgAdmin
-III</productname> </ulink>), you need to be clear on where various
-functions need to be called.  The normal <quote>protocol</quote> is
-thus:
+<para> Si vous souhaitez ajouter le support de &slony1; dans d'autres
+  outils (<emphasis>par exemple :</emphasis> ajouter la 
+  réplication dans <ulink url="http://www.pgadmin.org/"> <productname>pgAdmin
+III</productname> </ulink>), vous devez savoir clairement quelles 
+fonctions il faut appeler. Le <quote>protocole</quote> normal est le suivant :
 
 <itemizedlist>
 
-<listitem><para> The <quote>main</quote> function
-(<emphasis>e.g.</emphasis> - without the <command>_int</command>
-suffix) is called on a <quote>relevant</quote> node in the &slony1;
-cluster.</para>
+<listitem><para> La fonction <quote>principale</quote>
+(<emphasis>par exemple </emphasis> celle sans le suffixe <command>_int</command>) 
+est appelée sur un noeud <quote>adéquate</quote> du cluster &slony1;.</para>
 
-<para> In some cases, the function may be called on any node, and it
-can satisfactorily propagate to other nodes.  That is true for <xref
-linkend="function.storelisten-integer-integer-integer"/>, for instance.
-In other cases, the function needs to be called on some particular
-node because that is the only place where data may be reasonably
-validated.  For instance, <xref
-linkend="function.subscribeset-integer-integer-integer-boolean"/> must
-be called on the receivernode.</para></listitem>
+<para> Dans la pluspart des cas, la fonction peut être appelées sur 
+  n'importe quel noeud, et elle propage correctement les commandes
+  aux autres noeuds. C'est vrai pour <xref
+linkend="function.storelisten-integer-integer-integer"/>, par exemple.
 
-<listitem><para> If that <quote>main</quote> function succeeds, then
-the configuration change is performed on the local node, and an event
-is created using <xref linkend="function.createevent-name-text"/> to
-cause the configuration change to propagate to all of the other nodes
-in the &slony1; cluster.</para></listitem>
+Dans d'autres cas, la fonction doit être lancée depuis un noeud
+particulier car c'est le seul endroit où les données sont valides.
+Par exemple, <xref
+linkend="function.subscribeset-integer-integer-integer-boolean"/> doit 
+être appelée sur le noeud récepteur.</para></listitem>
 
-<listitem><para> Thirdly, the <command>_int</command> version of the
-function must be run.</para>  
+<listitem><para> Si la fonction <quote>principale</quote> réussit, alors
+    le changement de configuration est effectué sur le noeud local et 
+    un événement est créé avec <xref linkend="function.createevent-name-text"/> 
+    pour que le changement de configuration soit propagé à tout les autres
+    noeuds du cluster &slony1;.</para></listitem>
 
-<para> In some cases, where functions are idempotent, the node where
-the <quote>main</quote> function runs can do this fairly early in
-processing.</para>
+<listitem><para> Troisièmement, la version <command>_int</command> de la fonction 
+    doit être lancée.</para>  
 
-<para> When the event propagates, the other nodes will run the
-<command>_int</command> version, we rather hope with good
-success. </para></listitem>
+<para> Dans certains cas, lorsque les fonctions sont idempotentes, le noeud
+  sur lequel la fonction <quote>principale</quote> est exécutée peut 
+  traiter la version <command>_int</command> très tôt.
+  </para>
 
+<para> En même temps que l'événement se propagera, les noeuds lanceront la version
+  <command>_int</command>, en espérant que tout se passe bien. </para></listitem>
+
 </itemizedlist></para>
 
 </sect1>



More information about the Trad mailing list