Procházet zdrojové kódy

DOCUMENTATION French: sync and clean manual

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@15442 44c647ce-9c0f-0410-b52a-842ac1e357ba
mikaelkael před 16 roky
rodič
revize
4e15346083

+ 20 - 10
documentation/manual/fr/module_specs/Zend_Filter-FilterChains.xml

@@ -1,13 +1,17 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 11089 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15156 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.filter.filter_chains">
     <title>Chaînes de filtrage</title>
 
-    <para>Souvent, de multiples filtres doivent être appliqués à une valeur dans un ordre particulier. Par exemple, un
-    formulaire d'authentification accepte un identifiant qui doit être en minuscule et composé uniquement de caractères
-    alphabétiques. <classname>Zend_Filter</classname> fournit un moyen simple permettant de chaîner des filtres. Le code suivant
-    illustre comment chaîner deux filtres pour l'identifiant soumis : <programlisting role="php"><![CDATA[
+    <para>
+        Souvent, de multiples filtres doivent être appliqués à une valeur dans un ordre
+        particulier. Par exemple, un formulaire d'authentification accepte un identifiant qui doit
+        être en minuscule et composé uniquement de caractères alphabétiques.
+        <classname>Zend_Filter</classname> fournit un moyen simple permettant de chaîner des
+        filtres. Le code suivant illustre comment chaîner deux filtres pour l'identifiant
+        soumis&#160;:
+        <programlisting role="php"><![CDATA[
 // Création d'une chaine de filtrage et ajout de filtres à celle-ci
 $filtreChaine = new Zend_Filter();
 $filtreChaine->addFilter(new Zend_Filter_Alpha())
@@ -15,9 +19,15 @@ $filtreChaine->addFilter(new Zend_Filter_Alpha())
 
 // Filtrage de l'identifiant
 $identifiant = $filtreChaine->filter($_POST['identifiant']);
-]]></programlisting> Les filtres sont exécutés dans leur
-    ordre d'ajout à <classname>Zend_Filter</classname>. Dans l'exemple ci-dessus, l'identifiant se voit d'abord retirer tout
-    caractère non-alphabétique, les caractère majuscules éventuels sont ensuite convertis en minuscules.</para>
+]]></programlisting>
+        Les filtres sont exécutés dans leur ordre d'ajout à
+        <classname>Zend_Filter</classname>. Dans l'exemple ci-dessus, l'identifiant se voit d'abord
+        retirer tout caractère non-alphabétique, les caractère majuscules éventuels sont ensuite
+        convertis en minuscules.
+    </para>
 
-    <para>Tout objet implémentant <classname>Zend_Filter_Interface</classname> peut être utilisé comme chaîne de filtrage.</para>
+    <para>
+        Tout objet implémentant <classname>Zend_Filter_Interface</classname> peut être utilisé
+        comme chaîne de filtrage.
+    </para>
 </sect1>

+ 205 - 104
documentation/manual/fr/module_specs/Zend_Filter-Inflector.xml

@@ -1,21 +1,31 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 12116 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15343 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.filter.inflector">
     <title>Zend_Filter_Inflector</title>
 
-    <para><classname>Zend_Filter_Inflector</classname> est un outil de conversion de règles (sous forme de chaîne de caractères),
-    vers une cible. Ce procédé est appelé inflexion.</para>
+    <para>
+        <classname>Zend_Filter_Inflector</classname> est un outil de conversion de règles
+        (sous forme de chaîne de caractères), vers une cible. Ce procédé est appelé
+        inflexion.
+    </para>
 
-    <para>Par exemple, transformer des MotsEncasseMélangée ou des motsEnCamelCase vers un chemin. Vous pourriez avoir
-    besoin de passer les caractères en minuscules, et séparer les mots en utilisant un tiret ("-"). Un inflecteur sert à
-    ceci.</para>
+    <para>
+        Par exemple, transformer des MotsEncasseMélangée ou des motsEnCamelCase vers un
+        chemin. Vous pourriez avoir besoin de passer les caractères en minuscules, et séparer les
+        mots en utilisant un tiret ("-"). Un inflecteur sert à ceci.
+    </para>
 
-    <para><classname>Zend_Filter_Inflector</classname> implémente <classname>Zend_Filter_Interface</classname> ; pour utiliser l'inflexion,
-    vous appelez <code>filter()</code> sur votre instance.</para>
+    <para>
+        <classname>Zend_Filter_Inflector</classname> implémente
+        <classname>Zend_Filter_Interface</classname>&#160;; pour utiliser l'inflexion, vous appelez
+        <code>filter()</code> sur votre instance.
+    </para>
 
     <example id="zend.filter.inflector.camel_case_example">
-        <title>Transformer du texteEncasseMelangée ou du texteCamelCase vers un autre format</title>
+        <title>
+            Transformer du texteEncasseMelangée ou du texteCamelCase vers un autre format
+        </title>
 
         <programlisting role="php"><![CDATA[
 $inflector = new Zend_Filter_Inflector('pages/:page.:suffix');
@@ -37,64 +47,91 @@ $filtered = $inflector->filter(array('page' => $string));
     <sect2 id="zend.filter.inflector.operation">
         <title>Opération</title>
 
-        <para>Un inflecteur a besoin d'une <emphasis>cible</emphasis> et d'une ou plusieurs <emphasis>règles</emphasis>.
-        Une cible est une chaîne dans laquelle des jokers pour les variables à remplacer sont présents. Ils sont
-        préfixés de doubles-points, par exemple <code>:script</code>.</para>
-
-        <para>L'appel à <code>filter()</code>, nécessite un tableau de clés/valeurs pour les jokers présents dans la
-        cible.</para>
-
-        <para>Chaque variable dans la cible peut avoir zéro ou plusieurs règles associées. Les règles peuvent être
-        <emphasis>statiques</emphasis> ou faire référence à une classe <classname>Zend_Filter</classname>. Les règles statiques
-        sont des remplacements purs et simples. Sinon, la classe qui correspond à la règle sera utilisée pour analyser
-        le texte. Ces classes sont spécifiées par leur nom (du filtre), non préfixé.</para>
-
-        <para>Par exemple, vous pouvez utiliser n'importe quelle instance de <classname>Zend_Filter</classname>. Cependant, plutôt
-        que d'y faire référence via "<classname>Zend_Filter_Alpha</classname>" ou "<classname>Zend_Filter_StringToLower</classname>", vous
-        spécifierez seulement "<code>Alpha</code>" ou encore "<code>StringToLower</code>".</para>
+        <para>
+            Un inflecteur a besoin d'une <emphasis>cible</emphasis> et d'une ou plusieurs
+            <emphasis>règles</emphasis>. Une cible est une chaîne dans laquelle des jokers pour les
+            variables à remplacer sont présents. Ils sont préfixés de doubles-points, par exemple
+            <code>:script</code>.
+        </para>
+
+        <para>
+            L'appel à <code>filter()</code>, nécessite un tableau de clés/valeurs pour les
+            jokers présents dans la cible.
+        </para>
+
+        <para>
+            Chaque variable dans la cible peut avoir zéro ou plusieurs règles associées. Les
+            règles peuvent être <emphasis>statiques</emphasis> ou faire référence à une classe
+            <classname>Zend_Filter</classname>. Les règles statiques sont des remplacements purs et
+            simples. Sinon, la classe qui correspond à la règle sera utilisée pour analyser le
+            texte. Ces classes sont spécifiées par leur nom (du filtre), non préfixé.
+        </para>
+
+        <para>
+            Par exemple, vous pouvez utiliser n'importe quelle instance de
+            <classname>Zend_Filter</classname>. Cependant, plutôt que d'y faire référence via
+            "<classname>Zend_Filter_Alpha</classname>" ou
+            "<classname>Zend_Filter_StringToLower</classname>", vous spécifierez seulement
+            "<code>Alpha</code>" ou encore "<code>StringToLower</code>".
+        </para>
     </sect2>
 
     <sect2 id="zend.filter.inflector.paths">
         <title>Créer des chemins vers des filtres alternatifs</title>
 
-        <para><classname>Zend_Filter_Inflector</classname> utilise <classname>Zend_Loader_PluginLoader</classname> pour gérer les filtres
-        chargés. Par défaut, n'importe quel filtre préfixé par <classname>Zend_Filter</classname> sera disponible. Pour accéder
-        aux filtres ayant d'autres préfixes plus profonds, enlevez leur préfixe "<classname>Zend_Filter</classname>" tout
-        simplement :</para>
+        <para>
+            <classname>Zend_Filter_Inflector</classname> utilise
+            <classname>Zend_Loader_PluginLoader</classname> pour gérer les filtres chargés. Par
+            défaut, n'importe quel filtre préfixé par <classname>Zend_Filter</classname> sera
+            disponible. Pour accéder aux filtres ayant d'autres préfixes plus profonds, enlevez leur
+            préfixe "<classname>Zend_Filter</classname>" tout simplement&#160;:
+        </para>
 
         <programlisting role="php"><![CDATA[
 // utilise Zend_Filter_Word_CamelCaseToDash comme règle
 $inflector->addRules(array('script' => 'Word_CamelCaseToDash'));
 ]]></programlisting>
 
-        <para>Pour spécifier d'autres chemins, <classname>Zend_Filter_Inflector</classname> possède une méthode qui proxie vers le
-        plugin loader, <code>addFilterPrefixPath()</code> :</para>
+        <para>
+            Pour spécifier d'autres chemins, <classname>Zend_Filter_Inflector</classname>
+            possède une méthode qui proxie vers le plugin loader,
+            <code>addFilterPrefixPath()</code>&#160;:
+        </para>
 
         <programlisting role="php"><![CDATA[
 $inflector->addFilterPrefixPath('Mes_Filtres', 'Mes/Filtres/');
 ]]></programlisting>
 
-        <para>Il est possible également de récupérer le plugin loader, et d'intervenir sur son instance de manière
-        directe :</para>
+        <para>
+            Il est possible également de récupérer le plugin loader, et d'intervenir sur son
+            instance de manière directe&#160;:
+        </para>
 
         <programlisting role="php"><![CDATA[
 $loader = $inflector->getPluginLoader();
 $loader->addPrefixPath('Mes_Filtres', 'Mes/Filtres/');
 ]]></programlisting>
 
-        <para>Pour plus d'informations sur la modification des chemins vers les filtres voyez <link
-        linkend="zend.loader.pluginloader">la documentation de PluginLoader</link>.</para>
+        <para>
+            Pour plus d'informations sur la modification des chemins vers les filtres voyez
+            <link linkend="zend.loader.pluginloader">la documentation de PluginLoader</link>.
+        </para>
     </sect2>
 
     <sect2 id="zend.filter.inflector.targets">
         <title>Paramétrer la cible de l'inflecteur</title>
 
-        <para>La cible de l'inflecteur est un mot joker (ou un identifiant), précédé du caractère spécial, double-point.
-        ":script", ":path", etc. La méthode <code>filter()</code> cherche ces identifiants pour les traiter (les
-        remplacer).</para>
+        <para>
+            La cible de l'inflecteur est un mot joker (ou un identifiant), précédé du
+            caractère spécial, double-point. ":script", ":path", etc. La méthode
+            <code>filter()</code> cherche ces identifiants pour les traiter (les remplacer).
+        </para>
 
-        <para>Il est possible de changer le caractère spécial double-point avec
-        <code>setTargetReplacementIdentifier()</code>, ou en troisième paramètre de constructeur :</para>
+        <para>
+            Il est possible de changer le caractère spécial double-point avec
+            <code>setTargetReplacementIdentifier()</code>, ou en troisième paramètre de
+            constructeur&#160;:
+        </para>
 
         <programlisting role="php"><![CDATA[
 // Via le constructeur :
@@ -104,18 +141,24 @@ $inflector = new Zend_Filter_Inflector('#foo/#bar.#sfx', null, '#');
 $inflector->setTargetReplacementIdentifier('#');
 ]]></programlisting>
 
-        <para>En général, concernant la cible, on la passe en constructeur. C'est le cas classique. Il peut être en
-        revanche nécessaire de pouvoir passer une cible après la construction de l'objet. (Par exemple modifier
-        l'inflecteur des composants Zend intégrés tels que <code>ViewRenderer</code> ou <classname>Zend_Layout</classname>).
-        <code>setTarget()</code> peut vous y aider :</para>
+        <para>
+            En général, concernant la cible, on la passe en constructeur. C'est le cas
+            classique. Il peut être en revanche nécessaire de pouvoir passer une cible après la
+            construction de l'objet. (Par exemple modifier l'inflecteur des composants Zend intégrés
+            tels que <code>ViewRenderer</code> ou <classname>Zend_Layout</classname>).
+            <code>setTarget()</code> peut vous y aider&#160;:
+        </para>
 
         <programlisting role="php"><![CDATA[
 $inflector = $layout->getInflector();
 $inflector->setTarget('layouts/:script.phtml');
 ]]></programlisting>
 
-        <para>De plus, vous pouvez agréger la cible dans un membre de votre classe, si cela vous permet d'éviter trop
-        d'appels de méthodes. <code>setTargetReference()</code> permet ceci :</para>
+        <para>
+            De plus, vous pouvez agréger la cible dans un membre de votre classe, si cela vous
+            permet d'éviter trop d'appels de méthodes. <code>setTargetReference()</code> permet
+            ceci&#160;:
+        </para>
 
         <programlisting role="php"><![CDATA[
 class Foo
@@ -153,20 +196,29 @@ class Foo
     <sect2 id="zend.filter.inflector.rules">
         <title>Règles d'inflexion</title>
 
-        <para>Comme dit en introduction, il existe 2 types de règles : statiques et basées sur des filtres.</para>
+        <para>
+            Comme dit en introduction, il existe 2 types de règles&#160;: statiques et basées sur
+            des filtres.
+        </para>
 
         <note>
-            <para>Notez bien que quelle que soit la méthode que vous utilisez pour spécifier vos règles dans
-            l'inflecteur, leur ordre est très important. Vous devez ajouter de la règle la plus spécifique, à la plus
-            générique. Par exemple, 2 règles nommées "moduleDir" et "module", la règle "moduleDir" devrait être ajoutée
-            avant la règle "module", car cette dernière est contenue dans "moduleDir".</para>
+            <para>
+                Notez bien que quelle que soit la méthode que vous utilisez pour spécifier vos
+                règles dans l'inflecteur, leur ordre est très important. Vous devez ajouter de la
+                règle la plus spécifique, à la plus générique. Par exemple, 2 règles nommées
+                "moduleDir" et "module", la règle "moduleDir" devrait être ajoutée avant la règle
+                "module", car cette dernière est contenue dans "moduleDir".
+            </para>
         </note>
 
         <sect3 id="zend.filter.inflector.rules.static">
             <title>Règles statiques</title>
 
-            <para>Les règles statiques permettent des remplacements simples. Si vous avez un segment statique dans votre
-            cible, ce type de règle est idéal. <code>setStaticRule()</code> permet de les manipuler :</para>
+            <para>
+                Les règles statiques permettent des remplacements simples. Si vous avez un
+                segment statique dans votre cible, ce type de règle est idéal.
+                <code>setStaticRule()</code> permet de les manipuler&#160;:
+            </para>
 
             <programlisting role="php"><![CDATA[
 $inflector = new Zend_Filter_Inflector(':script.:suffix');
@@ -177,10 +229,13 @@ $inflector->setStaticRule('suffix', 'phtml');
 $inflector->setStaticRule('suffix', 'php');
 ]]></programlisting>
 
-            <para>Bien sur il est possible d'agréger la règle dans une propriété de classe, ceci permettra d'éviter
-            l'appel de méthodes. Ce cas se produit typiquement lorsque l'inflecteur est embarqué (encapsulé) dans une
-            classe. Vous pouvez à ce moment là interdire la récupération de l'inflecteur depuis l'extérieur de la
-            classe, par exemple. La méthode <code>setStaticRuleReference()</code> vous y aidera :</para>
+            <para>
+                Bien sur il est possible d'agréger la règle dans une propriété de classe, ceci
+                permettra d'éviter l'appel de méthodes. Ce cas se produit typiquement lorsque
+                l'inflecteur est embarqué (encapsulé) dans une classe. Vous pouvez à ce moment là
+                interdire la récupération de l'inflecteur depuis l'extérieur de la classe, par
+                exemple. La méthode <code>setStaticRuleReference()</code> vous y aidera&#160;:
+            </para>
 
             <programlisting role="php"><![CDATA[
 class Foo
@@ -218,30 +273,43 @@ class Foo
         </sect3>
 
         <sect3 id="zend.filter.inflector.rules.filters">
-            <title>Règles non statiques : basées sur des filtres</title>
-
-            <para>Des filtres de type <classname>Zend_Filter</classname> peuvent être utilisés comme règles dans l'inflecteur. Ils
-            sont donc liés à des variables cibles, mais vous pouvez lier plusieurs filtres pour une même cible. Ils sont
-            alors procédés dans l'ordre (FIFO), prenez donc garde à ceci.</para>
-
-            <para>Les règles des filtres sont ajoutées avec <code>setFilterRule()</code>. Cette méthode écrase toute
-            règle déjà définie.<code>addFilterRule()</code> au contraire, n'écrase pas mais gère une pile de filtres
-            pour une variable. Les noms des filtres passés à ces 2 méthodes sont de la forme :</para>
+            <title>Règles non statiques&#160;: basées sur des filtres</title>
+
+            <para>
+                Des filtres de type <classname>Zend_Filter</classname> peuvent être utilisés
+                comme règles dans l'inflecteur. Ils sont donc liés à des variables cibles, mais vous
+                pouvez lier plusieurs filtres pour une même cible. Ils sont alors procédés dans
+                l'ordre (FIFO), prenez donc garde à ceci.
+            </para>
+
+            <para>
+                Les règles des filtres sont ajoutées avec <code>setFilterRule()</code>. Cette
+                méthode écrase toute règle déjà définie.<code>addFilterRule()</code> au contraire,
+                n'écrase pas mais gère une pile de filtres pour une variable. Les noms des filtres
+                passés à ces 2 méthodes sont de la forme&#160;:
+            </para>
 
             <itemizedlist>
                 <listitem>
-                    <para><emphasis>String</emphasis> : une chaîne de caractères représentant le nom de la classe du
-                    filtre, ou alors le nom de la classe moins le préfixe utilisé par le plugin loader. (le préfixe par
-                    défaut étant "Zend_Filter").</para>
+                    <para>
+                        <emphasis>String</emphasis>&#160;: une chaîne de caractères représentant le
+                        nom de la classe du filtre, ou alors le nom de la classe moins le préfixe
+                        utilisé par le plugin loader. (le préfixe par défaut étant
+                        "Zend_Filter").
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><emphasis>Objet filtre</emphasis> : une instance d'objet implémentant
-                    <classname>Zend_Filter_Interface</classname>.</para>
+                    <para>
+                        <emphasis>Objet filtre</emphasis>&#160;: une instance d'objet implémentant
+                        <classname>Zend_Filter_Interface</classname>.
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><emphasis>Array</emphasis> : un tableau de chaînes ou d'objets.</para>
+                    <para>
+                        <emphasis>Array</emphasis>&#160;: un tableau de chaînes ou d'objets.
+                    </para>
                 </listitem>
             </itemizedlist>
 
@@ -266,21 +334,27 @@ $inflector->setFilterRule('script', array(
         <sect3 id="zend.filter.inflector.rules.multiple">
             <title>Paramétrer plusieurs règles en une seule fois</title>
 
-            <para>En temps normal il est plus pratique de spécifier ses règles (statiques et/ou filtres) en une seule
-            fois, plutôt qu'en plusieurs étapes. Les méthodes de <classname>Zend_Filter_Inflector</classname> comme
-            <code>addRules()</code> et <code>setRules()</code> permettent ceci.</para>
+            <para>
+                En temps normal il est plus pratique de spécifier ses règles (statiques et/ou
+                filtres) en une seule fois, plutôt qu'en plusieurs étapes. Les méthodes de
+                <classname>Zend_Filter_Inflector</classname> comme <code>addRules()</code> et
+                <code>setRules()</code> permettent ceci.
+            </para>
 
-            <para>Chacune de ces 2 méthodes prend en paramètre un tableau de variable/règle. La règle peut être
-            n'importe quel type accepté (string, objet filtre ou array). Les noms des variables proposent une syntaxe
-            spéciale pour différencier les règles statiques des filtres :</para>
+            <para>
+                Chacune de ces 2 méthodes prend en paramètre un tableau de variable/règle. La
+                règle peut être n'importe quel type accepté (string, objet filtre ou array). Les
+                noms des variables proposent une syntaxe spéciale pour différencier les règles
+                statiques des filtres&#160;:
+            </para>
 
             <itemizedlist>
                 <listitem>
-                    <para><emphasis>":" prefix</emphasis> : règle à base de filtre.</para>
+                    <para><emphasis>":" prefix</emphasis>&#160;: règle à base de filtre.</para>
                 </listitem>
 
                 <listitem>
-                    <para><emphasis>Pas de prefix</emphasis> : règle statique.</para>
+                    <para><emphasis>Pas de prefix</emphasis>&#160;: règle statique.</para>
                 </listitem>
             </itemizedlist>
 
@@ -305,35 +379,49 @@ $inflector->addRules(array(
     <sect2 id="zend.filter.inflector.utility">
         <title>Autres méthodes utilitaires</title>
 
-        <para><classname>Zend_Filter_Inflector</classname> possède d'autres méthodes pour changer le plugin loader, manipuler des
-        règles, et contrôler les exceptions.</para>
+        <para>
+            <classname>Zend_Filter_Inflector</classname> possède d'autres méthodes pour
+            changer le plugin loader, manipuler des règles, et contrôler les exceptions.
+        </para>
 
         <itemizedlist>
             <listitem>
-                <para><code>setPluginLoader()</code> peut être utile si vous avez configuré votre propre chargeur de
-                plugins (plugin loader) et que vous voulez l'utiliser avec <classname>Zend_Filter_Inflector</classname> ;
-                <code>getPluginLoader()</code> retourne cette valeur.</para>
+                <para>
+                    <code>setPluginLoader()</code> peut être utile si vous avez configuré
+                    votre propre chargeur de plugins (plugin loader) et que vous voulez l'utiliser
+                    avec <classname>Zend_Filter_Inflector</classname> ;
+                    <code>getPluginLoader()</code> retourne cette valeur.
+                </para>
             </listitem>
 
             <listitem>
-                <para><code>setThrowTargetExceptionsOn()</code> accepte un booléen. Ceci spécifie qu'une exception doit
-                être lancée si une variable est toujours présente dans la cible après le passage de l'inflecteur. Par
-                défaut, ça n'est pas le cas. <code>isThrowTargetExceptionsOn()</code> retourne la valeur
-                actuelle.</para>
+                <para>
+                    <code>setThrowTargetExceptionsOn()</code> accepte un booléen. Ceci
+                    spécifie qu'une exception doit être lancée si une variable est toujours présente
+                    dans la cible après le passage de l'inflecteur. Par défaut, ça n'est pas le cas.
+                    <code>isThrowTargetExceptionsOn()</code> retourne la valeur actuelle.
+                </para>
             </listitem>
 
             <listitem>
-                <para><code>getRules($spec = null)</code> récupère toutes les règles, ou les règles d'une certaine
-                variable.</para>
+                <para>
+                    <code>getRules($spec = null)</code> récupère toutes les règles, ou les
+                    règles d'une certaine variable.
+                </para>
             </listitem>
 
             <listitem>
-                <para><code>getRule($spec, $index)</code> récupère une règle précise, même dans une chaîne de
-                filtre.<code>$index</code> doit être précisé.</para>
+                <para>
+                    <code>getRule($spec, $index)</code> récupère une règle précise, même dans
+                    une chaîne de filtre.<code>$index</code> doit être précisé.
+                </para>
             </listitem>
 
             <listitem>
-                <para><code>clearRules()</code> va effacer toutes les règles fixées préalablement.</para>
+                <para>
+                    <code>clearRules()</code> va effacer toutes les règles fixées
+                    préalablement.
+                </para>
             </listitem>
         </itemizedlist>
     </sect2>
@@ -341,9 +429,12 @@ $inflector->addRules(array(
     <sect2 id="zend.filter.inflector.config">
         <title>Zend_Config avec Zend_Filter_Inflector</title>
 
-        <para><classname>Zend_Config</classname> peut être utilisé pour spécifier les règles, les préfixes des filtres et d'autres
-        choses dans vos inflecteurs. Passez un objet <classname>Zend_Config</classname> au constructeur ou à la méthode
-        <code>setConfig()</code> :</para>
+        <para>
+            <classname>Zend_Config</classname> peut être utilisé pour spécifier les règles,
+            les préfixes des filtres et d'autres choses dans vos inflecteurs. Passez un objet
+            <classname>Zend_Config</classname> au constructeur ou à la méthode
+            <code>setConfig()</code>&#160;:
+        </para>
 
         <itemizedlist>
             <listitem>
@@ -351,22 +442,32 @@ $inflector->addRules(array(
             </listitem>
 
             <listitem>
-                <para><code>filterPrefixPath</code> définit le préfixe/chemins des filtres.</para>
+                <para>
+                    <code>filterPrefixPath</code> définit le préfixe/chemins des
+                    filtres.
+                </para>
             </listitem>
 
             <listitem>
-                <para><code>throwTargetExceptionsOn</code> est un booléen. Ceci spécifie qu'une exception doit être
-                lancée si une variable est toujours présente dans la cible après le passage de l'inflecteur.</para>
+                <para>
+                    <code>throwTargetExceptionsOn</code> est un booléen. Ceci spécifie qu'une
+                    exception doit être lancée si une variable est toujours présente dans la cible
+                    après le passage de l'inflecteur.
+                </para>
             </listitem>
 
             <listitem>
-                <para><code>targetReplacementIdentifier</code> spécifie le caractère à utiliser pour définir les
-                variables de remplacement.</para>
+                <para>
+                    <code>targetReplacementIdentifier</code> spécifie le caractère à utiliser
+                    pour définir les variables de remplacement.
+                </para>
             </listitem>
 
             <listitem>
-                <para><code>rules</code> spécifie un tableau de règles, comme accepté par
-                <code>addRules()</code>.</para>
+                <para>
+                    <code>rules</code> spécifie un tableau de règles, comme accepté par
+                    <code>addRules()</code>.
+                </para>
             </listitem>
         </itemizedlist>
 

+ 87 - 40
documentation/manual/fr/module_specs/Zend_Filter-Set.xml

@@ -1,46 +1,71 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 13630 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15311 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.filter.set" xmlns:xi="http://www.w3.org/2001/XInclude">
     <title>Classes de filtre standards</title>
 
-    <para>Zend Framework est fourni avec un jeu de filtres standards, qui sont directement utilisables.</para>
+    <para>
+        Zend Framework est fourni avec un jeu de filtres standards, qui sont directement
+        utilisables.
+    </para>
 
     <sect2 id="zend.filter.set.alnum">
         <title>Alnum</title>
 
-        <para>Retourne la chaîne <code>$value</code>, en retirant tout sauf les caractères alphabétiques et numériques.
-        Ce filtre inclue une option permettant d'autoriser ou non les caractères espace.</para>
+        <para>
+            Retourne la chaîne <code>$value</code>, en retirant tout sauf les caractères
+            alphabétiques et numériques. Ce filtre inclue une option permettant d'autoriser ou non
+            les caractères espace.
+        </para>
 
         <note>
-            <para>Les caractères alphabétiques comprennent les caractères destinés à constituer des mots dans chaque
-            langue. Cependant l'alphabet anglais est aussi utilisé pour les langues suivantes : chinois, japonais et
-            coréen. La langue est spécifiée par <classname>Zend_Locale</classname>.</para>
+            <para>
+                Les caractères alphabétiques comprennent les caractères destinés à constituer
+                des mots dans chaque langue. Cependant l'alphabet anglais est aussi utilisé pour les
+                langues suivantes : chinois, japonais et coréen. La langue est spécifiée par
+                <classname>Zend_Locale</classname>.
+            </para>
         </note>
     </sect2>
 
     <sect2 id="zend.filter.set.alpha">
         <title>Alpha</title>
 
-        <para>Retourne la chaîne <code>$value</code>, en retirant tout sauf les caractères alphabétiques. Ce filtre
-        inclue une option permettant d'autoriser ou non les caractères espace.</para>
+        <para>
+            Retourne la chaîne <code>$value</code>, en retirant tout sauf les caractères
+            alphabétiques. Ce filtre inclue une option permettant d'autoriser ou non les caractères
+            espace.
+        </para>
     </sect2>
 
     <sect2 id="zend.filter.set.basename">
         <title>BaseName</title>
 
-        <para>En passant une chaîne contenant un chemin vers un fichier, ce filtre retourne le nom de base du
-        fichier.</para>
+        <para>
+            En passant une chaîne contenant un chemin vers un fichier, ce filtre retourne le
+            nom de base du fichier.
+        </para>
     </sect2>
 
+    <xi:include href="Zend_Filter-Callback.xml">
+        <xi:fallback>
+            <xi:include href="../../en/module_specs/Zend_Filter-Callback.xml" />
+        </xi:fallback>
+    </xi:include>
+
     <xi:include href="Zend_Filter-Decryption.xml">
-        <xi:fallback><xi:include href="../../en/module_specs/Zend_Filter-Decryption.xml" /></xi:fallback>
+        <xi:fallback>
+            <xi:include href="../../en/module_specs/Zend_Filter-Decryption.xml" />
+        </xi:fallback>
     </xi:include>
 
     <sect2 id="zend.filter.set.digits">
         <title>Digits</title>
 
-        <para>Retourne la chaîne <code>$value</code>, en retirant tout sauf les caractères numériques.</para>
+        <para>
+            Retourne la chaîne <code>$value</code>, en retirant tout sauf les caractères
+            numériques.
+        </para>
     </sect2>
 
     <sect2 id="zend.filter.set.dir">
@@ -50,14 +75,18 @@
     </sect2>
 
     <xi:include href="Zend_Filter-Encryption.xml">
-        <xi:fallback><xi:include href="../../en/module_specs/Zend_Filter-Encryption.xml" /></xi:fallback>
+        <xi:fallback>
+            <xi:include href="../../en/module_specs/Zend_Filter-Encryption.xml" />
+        </xi:fallback>
     </xi:include>
 
     <sect2 id="zend.filter.set.htmlentities">
         <title>HtmlEntities</title>
 
-        <para>Retourne la chaîne <code>$value</code>, en convertissant les caractères en leurs entités HTML
-        correspondantes quand elles existent.</para>
+        <para>
+            Retourne la chaîne <code>$value</code>, en convertissant les caractères en leurs
+            entités HTML correspondantes quand elles existent.
+        </para>
     </sect2>
 
     <sect2 id="zend.filter.set.int">
@@ -66,52 +95,70 @@
         <para>Retourne la valeur <code>(int) $value</code>.</para>
     </sect2>
 
+    <xi:include href="Zend_Filter-LocalizedToNormalized.xml">
+        <xi:fallback>
+            <xi:include href="../../en/module_specs/Zend_Filter-LocalizedToNormalized.xml" />
+        </xi:fallback>
+    </xi:include>
+
+    <xi:include href="Zend_Filter-NormalizedToLocalized.xml">
+        <xi:fallback>
+            <xi:include href="../../en/module_specs/Zend_Filter-NormalizedToLocalized.xml" />
+        </xi:fallback>
+    </xi:include>
+
     <sect2 id="zend.filter.set.stripnewlines">
         <title>Int</title>
 
-        <para>Retourne la valeur <code>$value</code> en enlevant les caractères représentant une nouvelle ligne.</para>
+        <para>
+            Retourne la valeur <code>$value</code> en enlevant les caractères représentant une
+            nouvelle ligne.
+        </para>
     </sect2>
 
-    <sect2 id="zend.filter.set.realpath">
-        <title>RealPath</title>
-
-        <para>Étend tous les liens symboliques et résout les références à '/./', '/../' et les caractères
-        supplémentaires '/' dans le chemin fourni et retourne le nom de chemin absolu. Le chemin retourné ne contient
-        plus de liens symboliques, ou de composantes '/./' ou '/../'.</para>
-
-        <para><classname>Zend_Filter_RealPath</classname> retournera <code>FALSE</code> en cas d'échec, par exemple si un fichier
-        n'existe pas. Sur les systèmes BSD <classname>Zend_Filter_RealPath</classname> n'échouera pas si seul le dernier composant
-        n'existe pas, tandis que tous les autres systèmes retourneront <code>FALSE</code>.</para>
-    </sect2>
+    <xi:include href="Zend_Filter-RealPath.xml">
+        <xi:fallback>
+            <xi:include href="../../en/module_specs/Zend_Filter-RealPath.xml" />
+        </xi:fallback>
+    </xi:include>
 
     <sect2 id="zend.filter.set.stringtolower">
         <title>StringToLower</title>
 
-        <para>Retourne la chaîne <code>$value</code>, en convertissant les caractères alphabétiques en minuscules si
-        nécessaire.</para>
+        <para>
+            Retourne la chaîne <code>$value</code>, en convertissant les caractères
+            alphabétiques en minuscules si nécessaire.
+        </para>
     </sect2>
 
     <sect2 id="zend.filter.set.stringtoupper">
         <title>StringToUpper</title>
 
-        <para>Retourne la chaîne <code>$value</code>, en convertissant les caractères alphabétiques en majuscules si
-        nécessaire.</para>
+        <para>
+            Retourne la chaîne <code>$value</code>, en convertissant les caractères
+            alphabétiques en majuscules si nécessaire.
+        </para>
     </sect2>
 
     <sect2 id="zend.filter.set.stringtrim">
         <title>StringTrim</title>
 
-        <para>Retourne la chaîne <code>$value</code> en supprimant les caractères vides en début et fin de
-        chaîne.</para>
+        <para>
+            Retourne la chaîne <code>$value</code> en supprimant les caractères vides en début
+            et fin de chaîne.
+        </para>
     </sect2>
 
     <sect2 id="zend.filter.set.striptags">
         <title>StripTags</title>
 
-        <para>Ce filtre retourne une chaîne, où toutes les balises HTML et PHP sont supprimées, exceptées celles qui
-        sont explicitement autorisées. En plus de pouvoir spécifier quelles balises sont autorisées, les développeurs
-        peuvent spécifier quels attributs sont autorisés soit pour toutes les balises autorisées soit pour des balises
-        spécifiques seulement. Pour finir, ce filtre permet de contrôler si les commentaires (par exemple <code>&lt;!--
-        ... --&gt;</code>) sont refusés ou autorisés.</para>
+        <para>
+            Ce filtre retourne une chaîne, où toutes les balises HTML et PHP sont supprimées,
+            exceptées celles qui sont explicitement autorisées. En plus de pouvoir spécifier quelles
+            balises sont autorisées, les développeurs peuvent spécifier quels attributs sont
+            autorisés soit pour toutes les balises autorisées soit pour des balises spécifiques
+            seulement. Pour finir, ce filtre permet de contrôler si les commentaires (par exemple
+            <code>&lt;!-- ... --&gt;</code>) sont refusés ou autorisés.
+        </para>
     </sect2>
 </sect1>

+ 25 - 14
documentation/manual/fr/module_specs/Zend_Filter-WritingFilters.xml

@@ -1,18 +1,26 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 11089 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15156 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.filter.writing_filters">
     <title>Écriture de filtres</title>
 
-    <para><classname>Zend_Filter</classname> fournit un ensemble de filtres usuels. Cependant, les développeurs auront souvent
-    besoin d'écrire des filtres personnalisés pour leurs besoins propres. L'écriture de filtre personnalisés est rendue
-    plus facile via l'implémentation de <classname>Zend_Filter_Interface</classname>.</para>
+    <para>
+        <classname>Zend_Filter</classname> fournit un ensemble de filtres usuels. Cependant,
+        les développeurs auront souvent besoin d'écrire des filtres personnalisés pour leurs besoins
+        propres. L'écriture de filtre personnalisés est rendue plus facile via l'implémentation de
+        <classname>Zend_Filter_Interface</classname>.
+    </para>
 
-    <para><classname>Zend_Filter_Interface</classname> définit une méthode unique, <code>filter()</code>, qui peut être
-    implémentée dans les classes créées. Un objet qui implémente cette interface peut être ajouté à une chaîne de
-    filtrage via <classname>Zend_Filter::addFilter()</classname>.</para>
+    <para>
+        <classname>Zend_Filter_Interface</classname> définit une méthode unique,
+        <code>filter()</code>, qui peut être implémentée dans les classes créées. Un objet qui
+        implémente cette interface peut être ajouté à une chaîne de filtrage via
+        <classname>Zend_Filter::addFilter()</classname>.
+    </para>
 
-    <para>L'exemple suivant démontre comment écrire un filtre personnalisé : <programlisting role="php"><![CDATA[
+    <para>
+        L'exemple suivant démontre comment écrire un filtre personnalisé&#160;:
+        <programlisting role="php"><![CDATA[
 class MonFiltre implements Zend_Filter_Interface
 {
     public function filter($valeur)
@@ -23,11 +31,14 @@ class MonFiltre implements Zend_Filter_Interface
         return $valeurFiltree;
     }
 }
-]]></programlisting></para>
-
-    <para>Pour ajouter une instance du filtre défini ci-dessus à une chaîne de filtrage : <programlisting
-    role="php"><![CDATA[
+]]></programlisting>
+    </para>
+    
+    <para>
+        Pour ajouter une instance du filtre défini ci-dessus à une chaîne de filtrage&#160;:
+        <programlisting role="php"><![CDATA[
 $filtreChaine = new Zend_Filter();
 $filtreChaine->addFilter(new MonFiltre());
-]]></programlisting></para>
+]]></programlisting>
+    </para>
 </sect1>

+ 84 - 59
documentation/manual/fr/module_specs/Zend_Filter.xml

@@ -1,76 +1,101 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 11089 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15343 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.filter.introduction">
     <title>Introduction</title>
 
-    <para>Le composant <classname>Zend_Filter</classname> fournit un ensemble de filtres de données usuel. Il fournit également un
-    mécanisme simple de chaînage par lequel plusieurs filtres peuvent être appliqués à une donnée dans un ordre
-    défini.</para>
+    <para>
+        Le composant <classname>Zend_Filter</classname> fournit un ensemble de filtres de
+        données usuel. Il fournit également un mécanisme simple de chaînage par lequel plusieurs
+        filtres peuvent être appliqués à une donnée dans un ordre défini.
+    </para>
 
     <sect2 id="zend.filter.introduction.definition">
-        <title>Qu'est-ce qu'un filtre ?</title>
+        <title>Qu'est-ce qu'un filtre&#160;?</title>
 
-        <para>Généralement parlant, un filtre est utilisé pour supprimer les parties non désirées de ce qui lui est
-        soumis tout en laissant passer la partie désirée. Dans ce cas de figure, un filtre est une opération qui
-        restitue une partie de la donnée soumise. Ce type de filtrage est utile pour les applications Web : suppression
-        des données soumises non conformes, élimination des espaces inutiles, etc.</para>
+        <para>
+            Généralement parlant, un filtre est utilisé pour supprimer les parties non
+            désirées de ce qui lui est soumis tout en laissant passer la partie désirée. Dans ce cas
+            de figure, un filtre est une opération qui restitue une partie de la donnée soumise. Ce
+            type de filtrage est utile pour les applications Web&#160;: suppression des données
+            soumises non conformes, élimination des espaces inutiles, etc.
+        </para>
 
-        <para>Cette définition simple d'un filtre peut être étendue pour inclure des transformations généralisées aux
-        données soumises. Une transformation communément requise dans les applications Web consiste à échapper les
-        entités HTML. Ainsi, si un champ de formulaire est automatiquement transmis et contient des données non
-        vérifiées (provenant par exemple d'un navigateur Web), ces données doivent être purgées de leurs entités HTML ou
-        bien contenir uniquement des entités HTML échappées, de manière à se garantir contre des comportements non
-        désirés et les vulnérabilités de sécurité. Afin d'assurer cette opération, les entités HTML qui sont présentes
-        dans les données saisies doivent être soit supprimées soit échappées. Naturellement, l'approche adéquate dépend
-        du contexte. Un filtre de suppression des entités HTML opère dans le contexte défini plus haut : une opération
-        produisant un sous-ensemble à partir d'une donnée soumise. Cependant, un filtre échappant les entités HTML
-        transforme la valeur entrée (par exemple, "<code>&amp;</code>" sera transformé en "<code>&amp;amp;</code>".
-        Permettre de telles choses est important pour les développeurs Web et "filtrer" dans le contexte d'utilisation
-        de <classname>Zend_Filter</classname> consiste à réaliser des transformations sur les données soumises.</para>
+        <para>
+            Cette définition simple d'un filtre peut être étendue pour inclure des
+            transformations généralisées aux données soumises. Une transformation communément
+            requise dans les applications Web consiste à échapper les entités HTML. Ainsi, si un
+            champ de formulaire est automatiquement transmis et contient des données non vérifiées
+            (provenant par exemple d'un navigateur Web), ces données doivent être purgées de leurs
+            entités HTML ou bien contenir uniquement des entités HTML échappées, de manière à se
+            garantir contre des comportements non désirés et les vulnérabilités de sécurité. Afin
+            d'assurer cette opération, les entités HTML qui sont présentes dans les données saisies
+            doivent être soit supprimées soit échappées. Naturellement, l'approche adéquate dépend
+            du contexte. Un filtre de suppression des entités HTML opère dans le contexte défini
+            plus haut&#160;: une opération produisant un sous-ensemble à partir d'une donnée
+            soumise. Cependant, un filtre échappant les entités HTML transforme la valeur entrée
+            (par exemple, "<code>&amp;</code>" sera transformé en "<code>&amp;amp;</code>".
+            Permettre de telles choses est important pour les développeurs Web et "filtrer" dans le
+            contexte d'utilisation de <classname>Zend_Filter</classname> consiste à réaliser des
+            transformations sur les données soumises.
+        </para>
     </sect2>
 
     <sect2 id="zend.filter.introduction.using">
         <title>Utilisation basique des filtres</title>
 
-        <para>Avoir cette définition d'un filtre établie fournit la base pour <classname>Zend_Filter_Interface</classname>, qui
-        nécessitent une méthode unique nommée <code>filter()</code> pour être implémentée par une classe de
-        filtre.</para>
+        <para>
+            Avoir cette définition d'un filtre établie fournit la base pour
+            <classname>Zend_Filter_Interface</classname>, qui nécessitent une méthode unique nommée
+            <code>filter()</code> pour être implémentée par une classe de filtre.
+        </para>
 
-        <para>L'exemple simple ci-dessous démontre l'utilisation d'un filtre sur les caractères esperluette
-        (<code>&amp;</code>, "ampersand" en anglais) et guillemet double (<code>"</code>) : <programlisting
-        role="php"><![CDATA[
-$htmlEntities = new Zend_Filter_HtmlEntities();
+        <para>
+            L'exemple simple ci-dessous démontre l'utilisation d'un filtre sur les caractères
+            esperluette (<code>&amp;</code>, "ampersand" en anglais) et guillemet double
+            (<code>"</code>) : <programlisting role="php"><![CDATA[
+    $htmlEntities = new Zend_Filter_HtmlEntities();
+    
+    echo $htmlEntities->filter('&'); // &amp;
+    echo $htmlEntities->filter('"'); // &quot;
+    ]]></programlisting></para>
+        </sect2>
+    
+        <sect2 id="zend.filter.introduction.static">
+            <title>Utilisation de la méthode statique get()</title>
+    
+        <para>
+            S'il est peu pratique de charger une classe de filtre donnée et créer une instance
+            du filtre, vous pouvez utiliser la méthode statique
+            <classname>Zend_Filter::get()</classname> comme appel alternatif. Le premier argument de
+            cette méthode est une valeur de saisie de données, que vous passeriez à la méthode
+            <code>filter()</code>. Le deuxième argument est une chaîne, qui correspond au nom de
+            base de la classe de filtre, relativement dans l'espace de nommage
+            <classname>Zend_Filter</classname>. La méthode <code>get()</code> charge automatiquement
+            la classe, crée une instance et applique la méthode <code>filter()</code> à la donnée
+            saisie. <programlisting role="php"><![CDATA[
+    echo Zend_Filter::get('&', 'HtmlEntities');
+    ]]></programlisting></para>
+    
+        <para>
+            Vous pouvez aussi fournir un tableau de paramètres destinés au constructeur de la
+            classe, s'ils sont nécessaires pour votre classe de filtre. <programlisting
+            role="php"><![CDATA[
+    echo Zend_Filter::get('"', 'HtmlEntities', array(ENT_QUOTES));
+    ]]></programlisting></para>
+    
+        <para>
+            L'utilisation statique peut être pratique pour invoquer un filtre ad hoc, mais si
+            vous avez besoin d'exécuter un filtre pour des saisies multiples, il est plus efficace
+            de suivre le premier exemple ci-dessus, créant une instance de l'objet de filtre et
+            appelant sa méthode <code>filter()</code>.
+        </para>
 
-echo $htmlEntities->filter('&'); // &amp;
-echo $htmlEntities->filter('"'); // &quot;
-]]></programlisting></para>
-    </sect2>
-
-    <sect2 id="zend.filter.introduction.static">
-        <title>Utilisation de la méthode statique <code>get()</code></title>
-
-        <para>S'il est peu pratique de charger une classe de filtre donnée et créer une instance du filtre, vous pouvez
-        utiliser la méthode statique <classname>Zend_Filter::get()</classname> comme appel alternatif. Le premier argument de
-        cette méthode est une valeur de saisie de données, que vous passeriez à la méthode <code>filter()</code>. Le
-        deuxième argument est une chaîne, qui correspond au nom de base de la classe de filtre, relativement dans
-        l'espace de nommage <classname>Zend_Filter</classname>. La méthode <code>get()</code> charge automatiquement la classe,
-        crée une instance et applique la méthode <code>filter()</code> à la donnée saisie. <programlisting
-        role="php"><![CDATA[
-echo Zend_Filter::get('&', 'HtmlEntities');
-]]></programlisting></para>
-
-        <para>Vous pouvez aussi fournir un tableau de paramètres destinés au constructeur de la classe, s'ils sont
-        nécessaires pour votre classe de filtre. <programlisting role="php"><![CDATA[
-echo Zend_Filter::get('"', 'HtmlEntities', array(ENT_QUOTES));
-]]></programlisting></para>
-
-        <para>L'utilisation statique peut être pratique pour invoquer un filtre ad hoc, mais si vous avez besoin
-        d'exécuter un filtre pour des saisies multiples, il est plus efficace de suivre le premier exemple ci-dessus,
-        créant une instance de l'objet de filtre et appelant sa méthode <code>filter()</code>.</para>
-
-        <para>De plus, la classe <classname>Zend_Filter_Input</classname> vous permet d'instancier et d'exécuter des filtres
-        multiples et des classes de validateurs sur demande pour traiter l'ensemble de données saisies. Voir <xref
-        linkend="zend.filter.input" />.</para>
+        <para>
+            De plus, la classe <classname>Zend_Filter_Input</classname> vous permet
+            d'instancier et d'exécuter des filtres multiples et des classes de validateurs sur
+            demande pour traiter l'ensemble de données saisies. Voir <xref
+            linkend="zend.filter.input" />.
+        </para>
     </sect2>
 </sect1>

+ 460 - 246
documentation/manual/fr/module_specs/Zend_Filter_Input.xml

@@ -1,45 +1,61 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 12703 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15346 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.filter.input">
     <title>Zend_Filter_Input</title>
 
-    <para><classname>Zend_Filter_Input</classname> propose une manière générique de déclarer des filtres et des validateurs, de
-    les appliquer comme un ensemble, à une collection de données, et enfin de récupérer ces données validées et
-    filtrées. Les valeurs sont retournées échappées par défaut, pour une meilleure sécurité relative au HTML.</para>
-
-    <para>Considérez cette classe comme une boite noire dans laquelle va passer une variable de collection, typiquement
-    un tableau PHP représentant des données externes. Les données arrivent dans l'application depuis une source externe,
-    donc potentiellement dangereuse, comme des variables de requête HTTP, d'un service Web, d'un fichier, ou autre.
-    L'application demande alors à la boite noire l'accès à une ou plusieurs données, en spécifiant sous quelle forme
-    elle s'attend à voir la donnée. La boite inspecte alors la donnée pour la valider, et ne la laisse sortir que si
-    celle-ci respecte les règles que l'application demande. Grâce à une simple classe et un mécanisme facile, ceci
-    encourage les développeurs à prendre des bonnes pratiques au regard de la sécurité des applications.</para>
+    <para>
+        <classname>Zend_Filter_Input</classname> propose une manière générique de déclarer des
+        filtres et des validateurs, de les appliquer comme un ensemble, à une collection de données,
+        et enfin de récupérer ces données validées et filtrées. Les valeurs sont retournées
+        échappées par défaut, pour une meilleure sécurité relative au HTML.
+    </para>
+
+    <para>
+        Considérez cette classe comme une boite noire dans laquelle va passer une variable de
+        collection, typiquement un tableau PHP représentant des données externes. Les données
+        arrivent dans l'application depuis une source externe, donc potentiellement dangereuse,
+        comme des variables de requête HTTP, d'un service Web, d'un fichier, ou autre. L'application
+        demande alors à la boite noire l'accès à une ou plusieurs données, en spécifiant sous quelle
+        forme elle s'attend à voir la donnée. La boite inspecte alors la donnée pour la valider, et
+        ne la laisse sortir que si celle-ci respecte les règles que l'application demande. Grâce à
+        une simple classe et un mécanisme facile, ceci encourage les développeurs à prendre des
+        bonnes pratiques au regard de la sécurité des applications.
+    </para>
 
     <itemizedlist>
         <listitem>
-            <para><emphasis>Les filtres</emphasis> transforment les entrées en supprimant ou changeant des
-            caractères dans leurs valeurs. Le but est de "normaliser" les valeurs jusqu'à ce qu'elles correspondent aux
-            attentes exigées. Par exemple si une chaine d'entiers (numériques) est attendue, et que la donnée d'entrée
-            est "abc123", alors en sortie du filtre la valeur "123" sera proposée.</para>
+            <para>
+                <emphasis>Les filtres</emphasis> transforment les entrées en supprimant ou
+                changeant des caractères dans leurs valeurs. Le but est de "normaliser" les valeurs
+                jusqu'à ce qu'elles correspondent aux attentes exigées. Par exemple si une chaine
+                d'entiers (numériques) est attendue, et que la donnée d'entrée est "abc123", alors
+                en sortie du filtre la valeur "123" sera proposée.
+            </para>
         </listitem>
 
         <listitem>
-            <para><emphasis>Les validateurs</emphasis> vérifient la validité d'une donnée, sans la
-            transformer. Si la validation échoue, le validateur renseignera sur les problèmes rencontrés.</para>
+            <para>
+                <emphasis>Les validateurs</emphasis> vérifient la validité d'une donnée, sans
+                la transformer. Si la validation échoue, le validateur renseignera sur les problèmes
+                rencontrés.
+            </para>
         </listitem>
 
         <listitem>
-            <para><emphasis>Les échappeurs</emphasis> transforment une valeur en supprimant certains
-            caractères qui peuvent avoir une signification spéciale dans un contexte donné. Par exemple, les caractères
-            '&lt;' et '&gt;' délimitent les balises HTML, ainsi si une donnée contenant ces caractères est affichée
-            directement dans un navigateur, la sortie peut être corrompue et mener à des problèmes de sécurité. Échapper
-            les caractères est le fait de leur enlever toute signification spéciale, ils seront traités comme des
-            caractères tout à fait normaux.</para>
+            <para>
+                <emphasis>Les échappeurs</emphasis> transforment une valeur en supprimant
+                certains caractères qui peuvent avoir une signification spéciale dans un contexte
+                donné. Par exemple, les caractères '&lt;' et '&gt;' délimitent les balises HTML,
+                ainsi si une donnée contenant ces caractères est affichée directement dans un
+                navigateur, la sortie peut être corrompue et mener à des problèmes de sécurité.
+                Échapper les caractères est le fait de leur enlever toute signification spéciale,
+                ils seront traités comme des caractères tout à fait normaux.
+            </para>
         </listitem>
     </itemizedlist>
 
-    <para>Pour utiliser <classname>Zend_Filter_Input</classname> :</para>
+    <para>Pour utiliser <classname>Zend_Filter_Input</classname>&#160;:</para>
 
     <orderedlist numeration="arabic">
         <listitem>
@@ -47,7 +63,10 @@
         </listitem>
 
         <listitem>
-            <para>Ajoutez des filtres et des validateurs dans <classname>Zend_Filter_Input</classname></para>
+            <para>
+                Ajoutez des filtres et des validateurs dans
+                <classname>Zend_Filter_Input</classname>
+            </para>
         </listitem>
 
         <listitem>
@@ -64,14 +83,20 @@
     <sect2 id="zend.filter.input.declaring">
         <title>Déclarer des règles de filtre et de validateur</title>
 
-        <para>Avant de créer une instance de <classname>Zend_Filter_Input</classname>, déclarez deux tableaux de règles pour les
-        filtres, et les validateurs. Ce tableau associatif met en relation le champ de la donnée dans le tableau
-        originel et le nom du filtre/validateur.</para>
-
-        <para>L'exemple qui suit indique que le champ "month" est filtré par un <classname>Zend_Filter_Digits</classname>, et le
-        champ "account" est filtré par un <classname>Zend_Filter_StringTrim</classname>. Puis, une règle de validation
-        s'appliquera au champ "account", celui-ci sera validé s'il ne contient que des caractères alphabétiques
-        (lettres).</para>
+        <para>
+            Avant de créer une instance de <classname>Zend_Filter_Input</classname>, déclarez
+            deux tableaux de règles pour les filtres, et les validateurs. Ce tableau associatif met
+            en relation le champ de la donnée dans le tableau originel et le nom du
+            filtre/validateur.
+        </para>
+
+        <para>
+            L'exemple qui suit indique que le champ "month" est filtré par un
+            <classname>Zend_Filter_Digits</classname>, et le champ "account" est filtré par un
+            <classname>Zend_Filter_StringTrim</classname>. Puis, une règle de validation
+            s'appliquera au champ "account", celui-ci sera validé s'il ne contient que des
+            caractères alphabétiques (lettres).
+        </para>
 
         <programlisting role="php"><![CDATA[
 $filters = array(
@@ -84,37 +109,48 @@ $validators = array(
 );
 ]]></programlisting>
 
-        <para>Chaque clé du tableau <code>$filters</code> représente une donnée à laquelle sera appliqué le filtre
-        correspondant en valeur de tableau.</para>
+        <para>
+            Chaque clé du tableau <code>$filters</code> représente une donnée à laquelle sera
+            appliqué le filtre correspondant en valeur de tableau.
+        </para>
 
-        <para>Le filtre peut être déclaré selon différents formats :</para>
+        <para>Le filtre peut être déclaré selon différents formats&#160;:</para>
 
         <itemizedlist>
             <listitem>
-                <para>Une chaine de caractères, qui sera transformée en nom de classe. <programlisting
-                role="php"><![CDATA[
+                <para>
+                    Une chaine de caractères, qui sera transformée en nom de classe.
+                    <programlisting role="php"><![CDATA[
 $validators = array(
     'month'   => 'Digits',
 );
-]]></programlisting></para>
+]]></programlisting>
+                </para>
             </listitem>
 
             <listitem>
-                <para>Un objet instance d'une classe implémentant <classname>Zend_Filter_Interface</classname> ou
-                <classname>Zend_Validate_Interface</classname>. <programlisting role="php"><![CDATA[
+                <para>
+                    Un objet instance d'une classe implémentant
+                    <classname>Zend_Filter_Interface</classname> ou
+                    <classname>Zend_Validate_Interface</classname>.
+                    <programlisting role="php"><![CDATA[
 $digits = new Zend_Validate_Digits();
 
 $validators = array(
     'month'   => $digits
 );
-]]></programlisting></para>
+]]></programlisting>
+                </para>
             </listitem>
 
             <listitem>
-                <para>Un tableau, pour déclarer une chaine de filtres ou validateurs. Les éléments de ce tableau peuvent
-                être des chaînes représentant des noms de classe, ou des objets directement. Aussi, vous pouvez utiliser
-                comme valeur un tableau contenant le nom du filtre ou validateur, et d'éventuels arguments à passer à
-                son constructeur. <programlisting role="php"><![CDATA[
+                <para>
+                    Un tableau, pour déclarer une chaine de filtres ou validateurs. Les
+                    éléments de ce tableau peuvent être des chaînes représentant des noms de classe,
+                    ou des objets directement. Aussi, vous pouvez utiliser comme valeur un tableau
+                    contenant le nom du filtre ou validateur, et d'éventuels arguments à passer à
+                    son constructeur.
+                    <programlisting role="php"><![CDATA[
 $validators = array(
     'month'   => array(
         'Digits',                // chaine
@@ -122,20 +158,26 @@ $validators = array(
         array('Between', 1, 12)  // chaine + arguments pour le constructeur
     )
 );
-]]></programlisting></para>
+]]></programlisting>
+                </para>
             </listitem>
         </itemizedlist>
-
+    
         <note>
-            <para>Si vous choisissez de déclarer un filtre ou validateur avec des arguments de constructeur, alors la
-            règle générale devra elle aussi utiliser un tableau pour sa/ses déclarations de filtres ou
-            validateurs.</para>
+            <para>
+                Si vous choisissez de déclarer un filtre ou validateur avec des arguments de
+                constructeur, alors la règle générale devra elle aussi utiliser un tableau pour
+                sa/ses déclarations de filtres ou validateurs.
+            </para>
         </note>
 
-        <para>Un joker "<code>*</code> " peut être utilisé dans le tableau des filtres ou des validateurs. Ceci aura
-        pour effet d'appliquer le validateur ou le filtre à toutes les entrées du tableau traité. Notez que l'ordre des
-        filtres / validateurs est important dans le tableau, car il seront appliqués dans l'ordre dans lequel ils ont
-        été déclarés.</para>
+        <para>
+            Un joker "<code>*</code> " peut être utilisé dans le tableau des filtres ou des
+            validateurs. Ceci aura pour effet d'appliquer le validateur ou le filtre à toutes les
+            entrées du tableau traité. Notez que l'ordre des filtres / validateurs est important
+            dans le tableau, car il seront appliqués dans l'ordre dans lequel ils ont été
+            déclarés.
+        </para>
 
         <programlisting role="php"><![CDATA[
 $filters = array(
@@ -148,25 +190,34 @@ $filters = array(
     <sect2 id="zend.filter.input.running">
         <title>Créer le processeur de filtres et validateurs</title>
 
-        <para>Lorsque vos tableaux de filtres et de validateurs ont été construits, passez les en argument au
-        constructeur de <classname>Zend_Filter_Input</classname>. Ceci va retourner un objet pré-configuré qui saura alors traiter
-        tout un tableau de données d'entrée.</para>
+        <para>
+            Lorsque vos tableaux de filtres et de validateurs ont été construits, passez les
+            en argument au constructeur de <classname>Zend_Filter_Input</classname>. Ceci va
+            retourner un objet pré-configuré qui saura alors traiter tout un tableau de données
+            d'entrée.
+        </para>
 
         <programlisting role="php"><![CDATA[
 $input = new Zend_Filter_Input($filters, $validators);
 ]]></programlisting>
 
-        <para>Les données d'entrée peuvent être placées dans le troisième paramètre du constructeur. Ces données
-        possèdent en clé leur nom, et en valeur leur valeur. Typiquement, les tableaux superglobaux <code>$_GET</code>
-        et <code>$_POST</code> possèdent la structure idéale pour passer dans <classname>Zend_Filter_Input</classname>.</para>
+        <para>
+            Les données d'entrée peuvent être placées dans le troisième paramètre du
+            constructeur. Ces données possèdent en clé leur nom, et en valeur leur valeur.
+            Typiquement, les tableaux superglobaux <code>$_GET</code> et <code>$_POST</code>
+            possèdent la structure idéale pour passer dans
+            <classname>Zend_Filter_Input</classname>.
+        </para>
 
         <programlisting role="php"><![CDATA[
 $data = $_GET;
 $input = new Zend_Filter_Input($filters, $validators, $data);
 ]]></programlisting>
 
-        <para>Aussi, la méthode <code>setData()</code> accepte les données de la même manière que le troisième argument
-        du constructeur.</para>
+        <para>
+            Aussi, la méthode <code>setData()</code> accepte les données de la même manière
+            que le troisième argument du constructeur.
+        </para>
 
         <programlisting role="php"><![CDATA[
 $input = new Zend_Filter_Input($filters, $validators);
@@ -174,24 +225,33 @@ $newData = $_POST;
 $input->setData($newData);
 ]]></programlisting>
 
-        <para>La méthode <code>setData()</code> réaffecte une nouveau tableau de valeurs d'entrée dans l'objet
-        <classname>Zend_Filter_Input</classname>, en écrasant toute autre source s'y trouvant. Ceci est pratique afin de
-        réutiliser des règles communes de filtres / validateurs, sur différentes sources.</para>
+        <para>
+            La méthode <code>setData()</code> réaffecte une nouveau tableau de valeurs
+            d'entrée dans l'objet <classname>Zend_Filter_Input</classname>, en écrasant toute autre
+            source s'y trouvant. Ceci est pratique afin de réutiliser des règles communes de filtres
+            / validateurs, sur différentes sources.
+        </para>
     </sect2>
 
     <sect2 id="zend.filter.input.results">
         <title>Récupérer les champs validés/filtré, et les éventuels rapports</title>
 
-        <para>Une fois l'objet configuré, et le tableau de données d'entrée passé, vous pouvez récupérer les rapports
-        concernant les champs absents, invalides ou inconnus. Vous pouvez évidemment aussi récupérer les valeurs
-        validées/filtrées des champs d'entrée valides.</para>
+        <para>
+            Une fois l'objet configuré, et le tableau de données d'entrée passé, vous pouvez
+            récupérer les rapports concernant les champs absents, invalides ou inconnus. Vous pouvez
+            évidemment aussi récupérer les valeurs validées/filtrées des champs d'entrée
+            valides.
+        </para>
 
         <sect3 id="zend.filter.input.results.isvalid">
             <title>Demander si l'entrée est valide</title>
 
-            <para>Si toutes les données d'entrée passent les règles de validation la méthode <code>isValid()</code>
-            retourne <code>true</code>. Si n'importe quelle donnée d'entrée n'est pas validée, ou est manquante, alors
-            <code>isValid()</code> retourne <code>false</code>.</para>
+            <para>
+                Si toutes les données d'entrée passent les règles de validation la méthode
+                <code>isValid()</code> retourne <code>true</code>. Si n'importe quelle donnée
+                d'entrée n'est pas validée, ou est manquante, alors <code>isValid()</code> retourne
+                <code>false</code>.
+            </para>
 
             <programlisting role="php"><![CDATA[
 if ($input->isValid()) {
@@ -199,8 +259,11 @@ if ($input->isValid()) {
 }
 ]]></programlisting>
 
-            <para>Cette méthode accepte aussi un paramètre facultatif nommant un champ particulier dans la donnée
-            d'entrée. Ceci permet une vérification individuelle.</para>
+            <para>
+                Cette méthode accepte aussi un paramètre facultatif nommant un champ
+                particulier dans la donnée d'entrée. Ceci permet une vérification
+                individuelle.
+            </para>
 
             <programlisting role="php"><![CDATA[
 if ($input->isValid('month')) {
@@ -214,20 +277,28 @@ if ($input->isValid('month')) {
 
             <itemizedlist>
                 <listitem>
-                    <para>Les champs <emphasis>invalides</emphasis> sont ceux qui ne passent pas un ou
-                    plusieurs critères définis par les validateurs.</para>
+                    <para>
+                        Les champs <emphasis>invalides</emphasis> sont ceux qui ne passent pas
+                        un ou plusieurs critères définis par les validateurs.
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para>Les champs <emphasis>absents</emphasis> sont ceux qui ne sont pas présents dans
-                    la donnée d'entrée, alors que la méta commande <code>'presence'=&gt;'required'</code> était présente
-                    (voyez <link linkend="zend.filter.input.metacommands.presence">la section</link> sur les méta
-                    commandes).</para>
+                    <para>
+                        Les champs <emphasis>absents</emphasis> sont ceux qui ne sont pas
+                        présents dans la donnée d'entrée, alors que la méta commande
+                        <code>'presence'=&gt;'required'</code> était présente (voyez <link
+                        linkend="zend.filter.input.metacommands.presence">la section</link> sur les
+                        méta commandes).
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para>Les champs <emphasis>inconnus</emphasis> sont ceux présents dans la donnée
-                    d'entrée alors que aucun validateur ni filtre ne lui avait attribué de règle.</para>
+                    <para>
+                        Les champs <emphasis>inconnus</emphasis> sont ceux présents dans la
+                        donnée d'entrée alors que aucun validateur ni filtre ne lui avait attribué
+                        de règle.
+                    </para>
                 </listitem>
             </itemizedlist>
 
@@ -251,24 +322,35 @@ if ($input->hasUnknown()) {
 }
 ]]></programlisting>
 
-            <para>Les valeurs retournées par <code>getMessages()</code> sont sous la forme d'un tableau dont la clé est
-            la règle concernée et la valeur un tableau d'erreurs la concernant. Le tableau d'erreurs comporte en clé le
-            nom de la règle déclarée qui peut être différent des noms de champs vérifiés par la règle.</para>
-
-            <para>La méthode <code>getMessages()</code> retourne la fusion des tableaux retournés par
-            <code>getInvalid()</code> et <code>getMissing()</code>. Ces méthodes retournent une sous-partie des messages
-            correspondant soit aux échecs de validation, soit aux champs qui sont déclarés requis mais qui sont
-            absents.</para>
-
-            <para>La méthode <code>getErrors()</code> retourne un tableau associatif dont les clés sont des noms de
-            règles et les valeurs associées des tableaux identifiants les erreurs. Les identifiants d'erreurs sont des
-            chaînes constantes et figées, qui permettent d'identifier la raison de l'échec de validation, tandis que les
-            messages associés sont eux-mêmes personnalisables. Voir <xref linkend="zend.validate.introduction.using" />
-            pour plus d'information.</para>
-
-            <para>Vous pouvez spécifier le message retourné par <code>getMissing()</code> en utilisant l'option
-            "missingMessage", en tant qu'argument du constructeur de <classname>Zend_Filter_Input</classname> ou en utilisant
-            l'option <code>setOptions()</code>.</para>
+            <para>
+                Les valeurs retournées par <code>getMessages()</code> sont sous la forme d'un
+                tableau dont la clé est la règle concernée et la valeur un tableau d'erreurs la
+                concernant. Le tableau d'erreurs comporte en clé le nom de la règle déclarée qui
+                peut être différent des noms de champs vérifiés par la règle.
+            </para>
+
+            <para>
+                La méthode <code>getMessages()</code> retourne la fusion des tableaux
+                retournés par <code>getInvalid()</code> et <code>getMissing()</code>. Ces méthodes
+                retournent une sous-partie des messages correspondant soit aux échecs de validation,
+                soit aux champs qui sont déclarés requis mais qui sont absents.
+            </para>
+
+            <para>
+                La méthode <code>getErrors()</code> retourne un tableau associatif dont les
+                clés sont des noms de règles et les valeurs associées des tableaux identifiants les
+                erreurs. Les identifiants d'erreurs sont des chaînes constantes et figées, qui
+                permettent d'identifier la raison de l'échec de validation, tandis que les messages
+                associés sont eux-mêmes personnalisables. Voir <xref
+                linkend="zend.validate.introduction.using" /> pour plus d'information.
+            </para>
+
+            <para>
+                Vous pouvez spécifier le message retourné par <code>getMissing()</code> en
+                utilisant l'option "missingMessage", en tant qu'argument du constructeur de
+                <classname>Zend_Filter_Input</classname> ou en utilisant l'option
+                <code>setOptions()</code>.
+            </para>
 
             <programlisting role="php"><![CDATA[
 $options = array(
@@ -283,18 +365,24 @@ $input = new Zend_Filter_Input($filters, $validators, $data);
 $input->setOptions($options);
 ]]></programlisting>
 
-            <para>Le résultat de la méthode <code>getUnknown()</code> est un tableau associatif dont les clés sont des
-            noms de champs et les valeurs sont les valeurs de champs correspondants. Les noms de champs sont dans ce cas
-            les clés du tableau au lieu des noms de règles, car tout champs n'ayant pas de règles définies est considéré
-            comme un champs inconnu.</para>
+            <para>
+                Le résultat de la méthode <code>getUnknown()</code> est un tableau associatif
+                dont les clés sont des noms de champs et les valeurs sont les valeurs de champs
+                correspondants. Les noms de champs sont dans ce cas les clés du tableau au lieu des
+                noms de règles, car tout champs n'ayant pas de règles définies est considéré comme
+                un champs inconnu.
+            </para>
         </sect3>
 
         <sect3 id="zend.filter.input.results.escaping">
             <title>Récupérer les champs valides</title>
 
-            <para>Tout champ non invalide, non absent et non inconnu, est considéré comme valide. Vous pouvez alors en
-            récupérer la valeur via un accesseur magique. Des méthodes classiques existent aussi, comme
-            <code>getEscaped()</code> et <code>getUnescaped()</code>.</para>
+            <para>
+                Tout champ non invalide, non absent et non inconnu, est considéré comme
+                valide. Vous pouvez alors en récupérer la valeur via un accesseur magique. Des
+                méthodes classiques existent aussi, comme <code>getEscaped()</code> et
+                <code>getUnescaped()</code>.
+            </para>
 
             <programlisting role="php"><![CDATA[
 $m = $input->month;                 // donnée échappée (accesseur magique)
@@ -302,64 +390,93 @@ $m = $input->getEscaped('month');   // donnée échapée
 $m = $input->getUnescaped('month'); // donnée non échappée
 ]]></programlisting>
 
-            <para>Par défaut, récupérer un champ le passe automatiquement au travers de
-            <classname>Zend_Filter_HtmlEntities</classname>. Ce comportement est considéré comme défaut pour un affichage en HTML.
-            Le filtre <code>HtmlEntities</code> réduit de manière significative les risques de sécurité liés à un
-            affichage involontaire d'une valeur.</para>
+            <para>
+                Par défaut, récupérer un champ le passe automatiquement au travers de
+                <classname>Zend_Filter_HtmlEntities</classname>. Ce comportement est considéré comme
+                défaut pour un affichage en HTML. Le filtre <code>HtmlEntities</code> réduit de
+                manière significative les risques de sécurité liés à un affichage involontaire d'une
+                valeur.
+            </para>
 
             <note>
-                <para>La méthode <code>getUnescaped()</code> retourne le champ brut, vous devez alors prendre vos
-                précautions lors d'un affichage HTML. Attention aux problèmes de sécurité XSS (Cross Site
-                Scripting).</para>
+                <para>
+                    La méthode <code>getUnescaped()</code> retourne le champ brut, vous devez
+                    alors prendre vos précautions lors d'un affichage HTML. Attention aux problèmes
+                    de sécurité XSS (Cross Site Scripting).
+                </para>
             </note>
 
-            <para>Il est possible de définir un autre filtre comme filtre par défaut pour récupération des champs. Ceci
-            se fait via le constructeur :</para>
+            <para>
+                Il est possible de définir un autre filtre comme filtre par défaut pour
+                récupération des champs. Ceci se fait via le constructeur :
+            </para>
 
             <programlisting role="php"><![CDATA[
 $options = array('escapeFilter' => 'StringTrim');
 $input = new Zend_Filter_Input($filters, $validators, $data, $options);
 ]]></programlisting>
 
-            <para>Aussi, la méthode <code>setDefaultEscapeFilter()</code> fait la même chose :</para>
+            <para>
+                Aussi, la méthode <code>setDefaultEscapeFilter()</code> fait la même chose
+                :
+            </para>
 
             <programlisting role="php"><![CDATA[
 $input = new Zend_Filter_Input($filters, $validators, $data);
 $input->setDefaultEscapeFilter(new Zend_Filter_StringTrim());
 ]]></programlisting>
 
-            <para>Il est possible de passer une chaine, ou directement un objet instance de
-            <classname>Zend_Filter</classname>.</para>
-
-            <para>Les filtres d'échappement comme vus juste précédemment, doivent être spécifiés de cette manière là.
-            S'ils avaient été spécifiés comme filtres dans le tableau de <classname>Zend_Filter_Input</classname>, ils auraient pu
-            faire échouer les validateurs, car les filtres sont exécutés <emphasis>AVANT</emphasis> les validateurs.
-            Aussi, il n'aurait plus été possible de proposer la donnée de sortie de manière échappée et non échappée.
-            Ainsi, déclarer un filtre d'échappement des données devrait toujours être effectué en utilisant la méthode
-            <code>setDefaultEscapeFilter()</code>, et non pas le tableau <code>$filters</code>.</para>
-
-            <para>Comme il n'y a qu'une seule méthode <code>getEscaped()</code>, il ne peut y avoir qu'un seul filtre
-            utilisé pour l'échappement. Il est cependant possible d'utiliser une chaine de filtre, ou encore de dériver
-            la classe <classname>Zend_Filter_Input</classname> en créant d'autres méthodes de récupération de données, plus
-            spécifiques.</para>
+            <para>
+                Il est possible de passer une chaine, ou directement un objet instance de
+                <classname>Zend_Filter</classname>.
+            </para>
+
+            <para>
+                Les filtres d'échappement comme vus juste précédemment, doivent être spécifiés
+                de cette manière là. S'ils avaient été spécifiés comme filtres dans le tableau de
+                <classname>Zend_Filter_Input</classname>, ils auraient pu faire échouer les
+                validateurs, car les filtres sont exécutés <emphasis>AVANT</emphasis> les
+                validateurs. Aussi, il n'aurait plus été possible de proposer la donnée de sortie de
+                manière échappée et non échappée. Ainsi, déclarer un filtre d'échappement des
+                données devrait toujours être effectué en utilisant la méthode
+                <code>setDefaultEscapeFilter()</code>, et non pas le tableau
+                <code>$filters</code>.
+            </para>
+
+            <para>
+                Comme il n'y a qu'une seule méthode <code>getEscaped()</code>, il ne peut y
+                avoir qu'un seul filtre utilisé pour l'échappement. Il est cependant possible
+                d'utiliser une chaine de filtre, ou encore de dériver la classe
+                <classname>Zend_Filter_Input</classname> en créant d'autres méthodes de récupération
+                de données, plus spécifiques.
+            </para>
         </sect3>
     </sect2>
 
     <sect2 id="zend.filter.input.metacommands">
-        <title>Utiliser des méta commandes pour contrôler les règles des filtres et validateurs</title>
+        <title>Utiliser des méta commandes pour contrôler les règles des filtres et
+        validateurs</title>
 
-        <para>En plus de déclarer un mapping entre des champs d'un tableau, et des validateurs et des filtres, il est
-        possible d'utiliser des méta commandes pour contrôler le comportement de Zend_Filter_Input. Les méta commandes
-        se présentent sous la forme de chaînes dans le tableau des filtres ou des validateurs.</para>
+        <para>
+            En plus de déclarer un mapping entre des champs d'un tableau, et des validateurs
+            et des filtres, il est possible d'utiliser des méta commandes pour contrôler le
+            comportement de Zend_Filter_Input. Les méta commandes se présentent sous la forme de
+            chaînes dans le tableau des filtres ou des validateurs.
+        </para>
 
         <sect3 id="zend.filter.input.metacommands.fields">
             <title>La méta commande <code>FIELDS</code></title>
 
-            <para>Si le nom de la règle d'un filtre ou validateur est différente du champs auquel elle doit s'appliquer,
-            vous pouvez spécifier le nom du champ avec la méta commande "fields".</para>
+            <para>
+                Si le nom de la règle d'un filtre ou validateur est différente du champs
+                auquel elle doit s'appliquer, vous pouvez spécifier le nom du champ avec la méta
+                commande "fields".
+            </para>
 
-            <para>Vous pouvez spécifier cette méta commande en utilisant la constante de classe
-            <classname>Zend_Filter_Input::FIELDS</classname>.</para>
+            <para>
+                Vous pouvez spécifier cette méta commande en utilisant la constante de classe
+                <classname>Zend_Filter_Input::FIELDS</classname>.
+            </para>
 
             <programlisting role="php"><![CDATA[
 $filters = array(
@@ -370,18 +487,27 @@ $filters = array(
 );
 ]]></programlisting>
 
-            <para>Dans l'exemple ci dessus, la règle applique le filtre "digits" au champ d'entrée nommé "mo". La chaine
-            "month" devient alors un simple mnémonique pour cette règle, elle n'est pas utilisée comme nom de champ si
-            celui-ci est renseigné avec la méta commande "fields", mais elle est utilisée comme nom de règle.</para>
-
-            <para>La valeur par défaut de la méta commande "fields" est l'index de la règle courante. Dans l'exemple ci
-            dessus, si la méta commande "fields" est omise, la règle s'appliquerait au champ "month".</para>
-
-            <para>Un autre usage de la méta commande "fields" est pour préciser les champs aux filtres ou validateurs
-            qui en attendent plusieurs en entrée. Si la méta commande "fields" est un tableau, alors le
-            filtre/validateur correspondant aura comme argument la valeur des champs. Pensez au cas où l'on demande à
-            l'utilisateur de saisir 2 fois son mot de passe. Imaginons un validateur qui prend en paramètre un tableau
-            de champs et retourne <code>true</code> si les champs sont égaux.</para>
+            <para>
+                Dans l'exemple ci dessus, la règle applique le filtre "digits" au champ
+                d'entrée nommé "mo". La chaine "month" devient alors un simple mnémonique pour cette
+                règle, elle n'est pas utilisée comme nom de champ si celui-ci est renseigné avec la
+                méta commande "fields", mais elle est utilisée comme nom de règle.
+            </para>
+
+            <para>
+                La valeur par défaut de la méta commande "fields" est l'index de la règle
+                courante. Dans l'exemple ci dessus, si la méta commande "fields" est omise, la règle
+                s'appliquerait au champ "month".
+            </para>
+
+            <para>
+                Un autre usage de la méta commande "fields" est pour préciser les champs aux
+                filtres ou validateurs qui en attendent plusieurs en entrée. Si la méta commande
+                "fields" est un tableau, alors le filtre/validateur correspondant aura comme
+                argument la valeur des champs. Pensez au cas où l'on demande à l'utilisateur de
+                saisir 2 fois son mot de passe. Imaginons un validateur qui prend en paramètre un
+                tableau de champs et retourne <code>true</code> si les champs sont égaux.
+            </para>
 
             <programlisting role="php"><![CDATA[
 $validators = array(
@@ -395,18 +521,26 @@ $validators = array(
 // des champs 'password1' and 'password2'.
 ]]></programlisting>
 
-            <para>Si la validation échoue, alors le nom de la règle (<code>'password'</code>) est utilisé dans le retour
-            de <code>getInvalid()</code>, et non pas les noms des champs spécifiés dans "fields".</para>
+            <para>
+                Si la validation échoue, alors le nom de la règle (<code>'password'</code>)
+                est utilisé dans le retour de <code>getInvalid()</code>, et non pas les noms des
+                champs spécifiés dans "fields".
+            </para>
         </sect3>
 
         <sect3 id="zend.filter.input.metacommands.presence">
             <title>Méta commande <code>PRESENCE</code></title>
 
-            <para>Si la valeur de cette méta commande est "required", alors le champ doit exister dans la donnée
-            d'entrée. Autrement, il est reporté comme étant un champ manquant.</para>
+            <para>
+                Si la valeur de cette méta commande est "required", alors le champ doit
+                exister dans la donnée d'entrée. Autrement, il est reporté comme étant un champ
+                manquant.
+            </para>
 
-            <para>Vous pouvez spécifier cette méta commande avec la constante de classe
-            <classname>Zend_Filter_Input::PRESENCE</classname>.</para>
+            <para>
+                Vous pouvez spécifier cette méta commande avec la constante de classe
+                <classname>Zend_Filter_Input::PRESENCE</classname>.
+            </para>
 
             <programlisting role="php"><![CDATA[
 $validators = array(
@@ -423,14 +557,21 @@ $validators = array(
         <sect3 id="zend.filter.input.metacommands.default">
             <title>La méta commande <code>DEFAULT_VALUE</code></title>
 
-            <para>Si le champ n'est pas présent dans la donnée d'entrée mais que celui-ci possède une méta commande
-            "default", alors il obtient la valeur de la méta commande.</para>
+            <para>
+                Si le champ n'est pas présent dans la donnée d'entrée mais que celui-ci
+                possède une méta commande "default", alors il obtient la valeur de la méta
+                commande.
+            </para>
 
-            <para>Vous pouvez spécifier cette méta commande avec la constante de classe
-            <classname>Zend_Filter_Input::DEFAULT_VALUE</classname>.</para>
+            <para>
+                Vous pouvez spécifier cette méta commande avec la constante de classe
+                <classname>Zend_Filter_Input::DEFAULT_VALUE</classname>.
+            </para>
 
-            <para>La valeur de cette méta commande ne s'applique qu'avant l'invocation des validateurs, et seulement
-            pour la règle en cours.</para>
+            <para>
+                La valeur de cette méta commande ne s'applique qu'avant l'invocation des
+                validateurs, et seulement pour la règle en cours.
+            </para>
 
             <programlisting role="php"><![CDATA[
 $validators = array(
@@ -447,11 +588,14 @@ $input = new Zend_Filter_Input(null, $validators, $data);
 echo $input->month; // affiche 1
 ]]></programlisting>
 
-            <para>Si vous utilisez pour une règle la méta commande <code>FIELDS</code> afin de définir un tableau de
-            champs, vous pouvez définir un tableau pour la méta commande <code>DEFAULT_VALUE</code>. Les valeurs par
-            défaut seront alors les clés correspondantes à chaque champ manquant. Si <code>FIELDS</code> définit de
-            multiples champs mais que <code>DEFAULT_VALUE</code> est un scalaire, alors cette valeur scalaire sera
-            utilisée pour tous les champs manquants.</para>
+            <para>
+                Si vous utilisez pour une règle la méta commande <code>FIELDS</code> afin de
+                définir un tableau de champs, vous pouvez définir un tableau pour la méta commande
+                <code>DEFAULT_VALUE</code>. Les valeurs par défaut seront alors les clés
+                correspondantes à chaque champ manquant. Si <code>FIELDS</code> définit de multiples
+                champs mais que <code>DEFAULT_VALUE</code> est un scalaire, alors cette valeur
+                scalaire sera utilisée pour tous les champs manquants.
+            </para>
 
             <para>Il n'y a pas de valeur par défaut pour cette méta commande.</para>
         </sect3>
@@ -459,16 +603,23 @@ echo $input->month; // affiche 1
         <sect3 id="zend.filter.input.metacommands.allow-empty">
             <title>La méta commande <code>ALLOW_EMPTY</code></title>
 
-            <para>Par défaut, si un champ existe dans le tableau d'entrées, alors les validateurs lui sont appliqués,
-            même si la valeur de ce champs est la chaine vide (<code>''</code>). Ceci peut mener à des échecs de
-            validation. Par exemple un validateur digits (chiffres) va échouer sur une chaine vide (laissant croire que
-            la donnée puisse être composée de lettres).</para>
+            <para>
+                Par défaut, si un champ existe dans le tableau d'entrées, alors les
+                validateurs lui sont appliqués, même si la valeur de ce champs est la chaine vide
+                (<code>''</code>). Ceci peut mener à des échecs de validation. Par exemple un
+                validateur digits (chiffres) va échouer sur une chaine vide (laissant croire que la
+                donnée puisse être composée de lettres).
+            </para>
 
-            <para>Si la chaine vide doit pouvoir être considérée comme valide, utilisez la méta commande "allowEmpty"
-            avec la valeur <code>true</code>.</para>
+            <para>
+                Si la chaine vide doit pouvoir être considérée comme valide, utilisez la méta
+                commande "allowEmpty" avec la valeur <code>true</code>.
+            </para>
 
-            <para>Vous pouvez spécifier cette méta commande avec la constante de classe
-            <classname>Zend_Filter_Input::ALLOW_EMPTY</classname></para>
+            <para>
+                Vous pouvez spécifier cette méta commande avec la constante de classe
+                <classname>Zend_Filter_Input::ALLOW_EMPTY</classname>
+            </para>
 
             <programlisting role="php"><![CDATA[
 $validators = array(
@@ -481,11 +632,16 @@ $validators = array(
 
             <para>La valeur par défaut de cette méta commande est <code>false</code>.</para>
 
-            <para>Dans la cas peut commun ou vous déclarez une règle de validation avec aucun validateurs, mais que la
-            méta commande "allowEmpty" est mise à <code>false</code> (le champ est considéré invalide s'il est vide),
-            <classname>Zend_Filter_Input</classname> retourne un message d'erreur par défaut que vous pouvez récupérer avec la
-            méthode <code>getMessages()</code>. Ce message se change grâce à l'option "notEmptyMessage" spécifiée en
-            constructeur de <classname>Zend_Filter_Input</classname> ou via la méthode <code>setOptions()</code>.</para>
+            <para>
+                Dans la cas peut commun ou vous déclarez une règle de validation avec aucun
+                validateurs, mais que la méta commande "allowEmpty" est mise à <code>false</code>
+                (le champ est considéré invalide s'il est vide),
+                <classname>Zend_Filter_Input</classname> retourne un message d'erreur par défaut que
+                vous pouvez récupérer avec la méthode <code>getMessages()</code>. Ce message se
+                change grâce à l'option "notEmptyMessage" spécifiée en constructeur de
+                <classname>Zend_Filter_Input</classname> ou via la méthode
+                <code>setOptions()</code>.
+            </para>
 
             <programlisting role="php"><![CDATA[
 $options = array(
@@ -505,15 +661,22 @@ $input->setOptions($options);
         <sect3 id="zend.filter.input.metacommands.break-chain">
             <title>La méta commande <code>BREAK_CHAIN</code></title>
 
-            <para>Par défaut, si une règle possède plus d'un validateur, tous sont appliqués à la donnée d'entrée, et
-            les éventuels messages d'erreur résultants sont la somme de tous les messages individuels des
-            validateurs.</para>
+            <para>
+                Par défaut, si une règle possède plus d'un validateur, tous sont appliqués à
+                la donnée d'entrée, et les éventuels messages d'erreur résultants sont la somme de
+                tous les messages individuels des validateurs.
+            </para>
 
-            <para>Si la valeur de la méta commande "<code>breakChainOnFailure</code>" est <code>true</code>, la chaine
-            de validation va se terminer dès lors qu'un des validateur termine sur un échec.</para>
+            <para>
+                Si la valeur de la méta commande "<code>breakChainOnFailure</code>" est
+                <code>true</code>, la chaine de validation va se terminer dès lors qu'un des
+                validateur termine sur un échec.
+            </para>
 
-            <para>Vous pouvez spécifier cette méta commande au moyen de la constante de classe
-            <classname>Zend_Filter_Input::BREAK_CHAIN</classname></para>
+            <para>
+                Vous pouvez spécifier cette méta commande au moyen de la constante de classe
+                <classname>Zend_Filter_Input::BREAK_CHAIN</classname>
+            </para>
 
             <programlisting role="php"><![CDATA[
 $validators = array(
@@ -529,11 +692,15 @@ $input = new Zend_Filter_Input(null, $validators);
 
             <para>La valeur par défaut de cette méta commande est <code>false</code>.</para>
 
-            <para>La classe <classname>Zend_Validate</classname> est plus flexible lors du bris de la chaine d'exécution, par
-            rapport à <classname>Zend_Filter_Input</classname>. Avec <classname>Zend_Validate</classname>, vous pouvez mettre l'option pour
-            casser la chaine indépendamment pour chaque validateur. Avec <classname>Zend_Filter_Input</classname>, la méta
-            commande "breakChainOnFailure" s'applique à tous les validateurs dans la règle. Pour un usage plus flexible,
-            créez votre propre chaine de validation comme ceci :</para>
+            <para>
+                La classe <classname>Zend_Validate</classname> est plus flexible lors du bris
+                de la chaine d'exécution, par rapport à <classname>Zend_Filter_Input</classname>.
+                Avec <classname>Zend_Validate</classname>, vous pouvez mettre l'option pour casser
+                la chaine indépendamment pour chaque validateur. Avec
+                <classname>Zend_Filter_Input</classname>, la méta commande "breakChainOnFailure"
+                s'applique à tous les validateurs dans la règle. Pour un usage plus flexible, créez
+                votre propre chaine de validation comme ceci :
+            </para>
 
             <programlisting role="php"><![CDATA[
 // Créer une chaine de validation avec un attribut
@@ -555,15 +722,23 @@ $input = new Zend_Filter_Input(null, $validators);
         <sect3 id="zend.filter.input.metacommands.messages">
             <title>La méta commande <code>MESSAGES</code></title>
 
-            <para>Vous pouvez attribuer des messages d'erreur pour chaque validateur d'une règle grâce à la méta
-            commande 'messages'. La valeur de cette méta commande varie si vous avez plusieurs validateurs dans une
-            règle ou si vous voulez spécifier le message pour une erreur particulière concernant un des
-            validateurs.</para>
+            <para>
+                Vous pouvez attribuer des messages d'erreur pour chaque validateur d'une règle
+                grâce à la méta commande 'messages'. La valeur de cette méta commande varie si vous
+                avez plusieurs validateurs dans une règle ou si vous voulez spécifier le message
+                pour une erreur particulière concernant un des validateurs.
+            </para>
 
-            <para>Vous pouvez utiliser la constante de classe <classname>Zend_Filter_Input::MESSAGES</classname> pour définir
-            cette méta commande.</para>
+            <para>
+                Vous pouvez utiliser la constante de classe
+                <classname>Zend_Filter_Input::MESSAGES</classname> pour définir cette méta
+                commande.
+            </para>
 
-            <para>Voici un exemple simple qui enregistre un message d'erreur pour une validateur de chiffres.</para>
+            <para>
+                Voici un exemple simple qui enregistre un message d'erreur pour une validateur
+                de chiffres.
+            </para>
 
             <programlisting role="php"><![CDATA[
 $validators = array(
@@ -574,14 +749,20 @@ $validators = array(
 );
 ]]></programlisting>
 
-            <para>Si vous possédez plusieurs validateurs dont vous voulez personnaliser les messages d'erreur, utilisez
-            alors un tableau comme valeur de la méta commande 'messages'.</para>
-
-            <para>Chaque élément de ce tableau s'applique à un validateur au même niveau d'index. Ainsi, un validateur à
-            l'index <emphasis>n</emphasis> verra son message d'erreur modifié si vous utilisez l'index
-            <emphasis>n</emphasis> dans le tableau de la méta commande. Il est ainsi possible d'autoriser certains
-            validateurs à faire usage de leur message d'erreur par défaut, alors que d'autres posséderont un message
-            personnalisé.</para>
+            <para>
+                Si vous possédez plusieurs validateurs dont vous voulez personnaliser les
+                messages d'erreur, utilisez alors un tableau comme valeur de la méta commande
+                'messages'.
+            </para>
+
+            <para>
+                Chaque élément de ce tableau s'applique à un validateur au même niveau
+                d'index. Ainsi, un validateur à l'index <emphasis>n</emphasis> verra son message
+                d'erreur modifié si vous utilisez l'index <emphasis>n</emphasis> dans le tableau de
+                la méta commande. Il est ainsi possible d'autoriser certains validateurs à faire
+                usage de leur message d'erreur par défaut, alors que d'autres posséderont un message
+                personnalisé.
+            </para>
 
             <programlisting role="php"><![CDATA[
 $validators = array(
@@ -597,11 +778,14 @@ $validators = array(
 );
 ]]></programlisting>
 
-            <para>Si un des validateurs a plusieurs messages d'erreur, ils sont identifiés par une clé. Il existe
-            différente clé dans chaque classe de validateur, ceux-ci servent d'identifiants pour les messages d'erreur.
-            Chaque classe validateur définit aussi des constante pour les clés des messages d'erreur. Cette constante
-            peut être utilisée dans la méta commande 'messages' en lui passant un tableau associatif plutôt qu'une
-            chaine.</para>
+            <para>
+                Si un des validateurs a plusieurs messages d'erreur, ils sont identifiés par
+                une clé. Il existe différente clé dans chaque classe de validateur, ceux-ci servent
+                d'identifiants pour les messages d'erreur. Chaque classe validateur définit aussi
+                des constante pour les clés des messages d'erreur. Cette constante peut être
+                utilisée dans la méta commande 'messages' en lui passant un tableau associatif
+                plutôt qu'une chaine.
+            </para>
 
             <programlisting role="php"><![CDATA[
 $validators = array(
@@ -622,17 +806,23 @@ $validators = array(
 );
 ]]></programlisting>
 
-            <para>Vous devriez vous référer à la documentation de chaque validateur afin de savoir s'il retourne
-            plusieurs messages d'erreur, les clés de ces messages et les jetons utilisables dans les modèles de
-            message.</para>
+            <para>
+                Vous devriez vous référer à la documentation de chaque validateur afin de
+                savoir s'il retourne plusieurs messages d'erreur, les clés de ces messages et les
+                jetons utilisables dans les modèles de message.
+            </para>
         </sect3>
 
         <sect3 id="zend.filter.input.metacommands.global">
-            <title>Utiliser des options pour définir des méta commandes pour toutes les règles</title>
+            <title>Utiliser des options pour définir des méta commandes pour toutes les
+            règles</title>
 
-            <para>Les valeurs par défaut des méta commandes "allowEmpty", "breakChainOnFailure", et "presence" peuvent
-            être dictées pour toutes les règles en utilisant l'argument <code>$options</code> du constructeur de
-            <classname>Zend_Filter_Input</classname>.</para>
+            <para>
+                Les valeurs par défaut des méta commandes "allowEmpty", "breakChainOnFailure",
+                et "presence" peuvent être dictées pour toutes les règles en utilisant l'argument
+                <code>$options</code> du constructeur de
+                <classname>Zend_Filter_Input</classname>.
+            </para>
 
             <programlisting role="php"><![CDATA[
 // Tous les champs acceptent des valeurs vides
@@ -649,29 +839,42 @@ $validators = array(
 $input = new Zend_Filter_Input($filters, $validators, $data, $options);
 ]]></programlisting>
 
-            <para>Les méta commandes "fields", "messages", et "default" ne bénéficient pas d'un tel raccourci.</para>
+            <para>
+                Les méta commandes "fields", "messages", et "default" ne bénéficient pas d'un
+                tel raccourci.
+            </para>
         </sect3>
     </sect2>
 
     <sect2 id="zend.filter.input.namespaces">
         <title>Ajouter des espaces de noms comme noms de classes</title>
 
-        <para>Par défaut, l'ajout d'un validateur ou d'un filtre sous forme de chaine, va faire en sort que
-        <classname>Zend_Filter_Input</classname> cherche une correspondance sous l'espace de nom <classname>Zend_Filter_*</classname> et
-        <classname>Zend_Validate_*</classname>.</para>
-
-        <para>Si vous écrivez vos propres filtres (ou validateurs), la classe peut exister dans un autre espace de nom
-        que <classname>Zend_Filter</classname> ou <classname>Zend_Validate</classname>. Il est alors possible de dire à
-        <classname>Zend_Filter_Input</classname> de chercher dans ces espaces là. Ceci se fait via son constructeur :</para>
+        <para>
+            Par défaut, l'ajout d'un validateur ou d'un filtre sous forme de chaine, va faire
+            en sort que <classname>Zend_Filter_Input</classname> cherche une correspondance sous
+            l'espace de nom <classname>Zend_Filter_*</classname> et
+            <classname>Zend_Validate_*</classname>.
+        </para>
+
+        <para>
+            Si vous écrivez vos propres filtres (ou validateurs), la classe peut exister dans
+            un autre espace de nom que <classname>Zend_Filter</classname> ou
+            <classname>Zend_Validate</classname>. Il est alors possible de dire à
+            <classname>Zend_Filter_Input</classname> de chercher dans ces espaces là. Ceci se fait
+            via son constructeur&#160;:
+        </para>
 
         <programlisting role="php"><![CDATA[
 $options = array('filterNamespace' => 'My_Namespace_Filter', 'validatorNamespace' => 'My_Namespace_Validate');
 $input = new Zend_Filter_Input($filters, $validators, $data, $options);
 ]]></programlisting>
 
-        <para>Alternativement, vous pouvez utiliser les méthodes <code>addValidatorPrefixPath($prefix, $path)</code> ou
-        <code>addFilterPrefixPath($prefix, $path)</code>, qui proxie directement le chargeur de plugin utilisé par
-        <classname>Zend_Filter_Input</classname> :</para>
+        <para>
+            Alternativement, vous pouvez utiliser les méthodes
+            <code>addValidatorPrefixPath($prefix, $path)</code> ou
+            <code>addFilterPrefixPath($prefix, $path)</code>, qui proxie directement le chargeur de
+            plugin utilisé par <classname>Zend_Filter_Input</classname> :
+        </para>
 
         <programlisting role="php"><![CDATA[
 $input->addValidatorPrefixPath('Autre_Namespace', 'Autre/Namespace');
@@ -687,24 +890,35 @@ $input->addFilterPrefixPath('Foo_Namespace', 'Foo/Namespace');
 // 2. Foo_Namespace
 ]]></programlisting>
 
-        <para>Il n'est pas possible de supprimer les espaces de nommage <classname>Zend_Filter</classname> et
-        <classname>Zend_Validate</classname>. Les espaces définis par l'utilisateur sont cherchés en premiers, les espaces de nom
-        Zend sont cherchés en derniers.</para>
+        <para>
+            Il n'est pas possible de supprimer les espaces de nommage
+            <classname>Zend_Filter</classname> et <classname>Zend_Validate</classname>. Les espaces
+            définis par l'utilisateur sont cherchés en premiers, les espaces de nom Zend sont
+            cherchés en derniers.
+        </para>
 
         <note>
-            <para>A partir de la version 1.5, la fonction <code>addNamespace($namespace)</code> est dépréciée et
-            échangée avec le chargeur de plugin et les méthodes <code>addFilterPrefixPath</code> et
-            <code>addValidatorPrefixPath</code> ont été ajoutées. De même la constante
-            <classname>Zend_Filter_Input::INPUT_NAMESPACE</classname> est aussi dépréciée. Les constantes
-            <classname>Zend_Filter_Input::VALIDATOR_NAMESPACE</classname> et <classname>Zend_Filter_Input::FILTER_NAMESPACE</classname> sont
-            disponibles à partir de la version 1.7.0.</para>
+            <para>
+                A partir de la version 1.5, la fonction <code>addNamespace($namespace)</code>
+                est dépréciée et échangée avec le chargeur de plugin et les méthodes
+                <code>addFilterPrefixPath</code> et <code>addValidatorPrefixPath</code> ont été
+                ajoutées. De même la constante
+                <classname>Zend_Filter_Input::INPUT_NAMESPACE</classname> est aussi dépréciée. Les
+                constantes <classname>Zend_Filter_Input::VALIDATOR_NAMESPACE</classname> et
+                <classname>Zend_Filter_Input::FILTER_NAMESPACE</classname> sont disponibles à partir
+                de la version 1.7.0.
+            </para>
         </note>
 
         <note>
-            <para>A partir de la version 1.0.4, <classname>Zend_Filter_Input::NAMESPACE</classname>, ayant une valeur
-            <code>namespace</code>, a été changé par <classname>Zend_Filter_Input::INPUT_NAMESPACE</classname>, ayant une valeur
-            <code>inputNamespace</code>, dans le but de se conformer à la réservation du mot clé <code>namespace</code>
-            par PHP 5.3.</para>
+            <para>
+                A partir de la version 1.0.4,
+                <classname>Zend_Filter_Input::NAMESPACE</classname>, ayant une valeur
+                <code>namespace</code>, a été changé par
+                <classname>Zend_Filter_Input::INPUT_NAMESPACE</classname>, ayant une valeur
+                <code>inputNamespace</code>, dans le but de se conformer à la réservation du mot clé
+                <code>namespace</code> par PHP 5.3.
+            </para>
         </note>
     </sect2>
 </sect1>