Bläddra i källkod

DOCUMENTATION French: sync and clean manual

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@15486 44c647ce-9c0f-0410-b52a-842ac1e357ba
mikaelkael 16 år sedan
förälder
incheckning
9c0ed6265f

+ 14 - 12
documentation/manual/fr/module_specs/Zend_Server.xml

@@ -1,22 +1,24 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 1977 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.server.introduction">
     <title>Introduction</title>
+
     <para>
         La famille de classes <classname>Zend_Server</classname> fournit des fonctionnalités
-        pour les différentes classes serveur, notamment
-        <classname>Zend_XmlRpc_Server</classname>, <classname>Zend_Rest_Server</classname>,
-        <classname>Zend_Json_Server</classname> et <classname>Zend_Soap_Wsdl</classname>.
-        <classname>Zend_Server_Interface</classname> fournit une interface qui imite la classe
-        <code>SoapServer</code> de PHP5; toutes les classes serveur devraient implémenter
-        cette interface de manière à fournir une API serveur standard.
+        pour les différentes classes serveur, notamment <classname>Zend_XmlRpc_Server</classname>,
+        <classname>Zend_Rest_Server</classname>, <classname>Zend_Json_Server</classname> et
+        <classname>Zend_Soap_Wsdl</classname>. <classname>Zend_Server_Interface</classname> fournit
+        une interface qui imite la classe <code>SoapServer</code> de PHP5; toutes les classes
+        serveur devraient implémenter cette interface de manière à fournir une API serveur
+        standard.
     </para>
+
     <para>
         L'arbre <classname>Zend_Server_Reflection</classname> fournit un mécanisme standard
-        permettant de réaliser l'introspection de fonctions et de classes afin de s'en
-        servir comme callback avec les classes serveur, et fournit des données appropriées
-        pour les méthodes <code>getFunctions()</code> et <code>loadFunctions()</code>
-        de <classname>Zend_Server_Interface</classname>.
+        permettant de réaliser l'introspection de fonctions et de classes afin de s'en servir comme
+        callback avec les classes serveur, et fournit des données appropriées pour les méthodes
+        <code>getFunctions()</code> et <code>loadFunctions()</code> de
+        <classname>Zend_Server_Interface</classname>.
     </para>
 </sect1>

+ 22 - 12
documentation/manual/fr/module_specs/Zend_Server_Reflection.xml

@@ -1,5 +1,5 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 13833 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15157 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.server.reflection">
     <title>Zend_Server_Reflection</title>
@@ -7,14 +7,20 @@
     <sect2 id="zend.server.reflection.introduction">
         <title>Introduction</title>
 
-        <para><classname>Zend_Server_Reflection</classname> fournit un mécanisme standard pour exécuter l'introspection de
-        fonction et de classe pour utiliser avec des classes serveur. Il est basé sur l'API de réflexion de PHP 5, et
-        l'améliore pour fournir des méthodes de recherche des types et des descriptions de paramètre et de valeur de
-        retour, une liste complète des prototypes de fonction et de méthode (c.-à-d., toutes les combinaisons d'appels
-        valides possibles), et des descriptions de fonction/méthode.</para>
+        <para>
+            <classname>Zend_Server_Reflection</classname> fournit un mécanisme standard pour
+            exécuter l'introspection de fonction et de classe pour utiliser avec des classes
+            serveur. Il est basé sur l'API de réflexion de PHP 5, et l'améliore pour fournir des
+            méthodes de recherche des types et des descriptions de paramètre et de valeur de retour,
+            une liste complète des prototypes de fonction et de méthode (c.-à-d., toutes les
+            combinaisons d'appels valides possibles), et des descriptions de
+            fonction/méthode.
+        </para>
 
-        <para>Typiquement, cette fonctionnalité sera seulement utilisée par les développeurs des classes serveur pour le
-        framework.</para>
+        <para>
+            Typiquement, cette fonctionnalité sera seulement utilisée par les développeurs des
+            classes serveur pour le framework.
+        </para>
     </sect2>
 
     <sect2 id="zend.server.reflection.usage">
@@ -51,8 +57,12 @@ foreach ($prototypes as $prototype) {
 $reflection->getNamespace();
 ]]></programlisting>
 
-        <para><code>reflectFunction()</code> retourne un objet <classname>Zend_Server_Reflection_Function</classname>.
-        <code>reflectClass</code> retourne un objet <classname>Zend_Server_Reflection_Class</classname>. Veuillez vous référer à
-        la documentation d'API pour voir quelles méthodes sont disponibles pour chacun.</para>
+        <para>
+            <code>reflectFunction()</code> retourne un objet
+            <classname>Zend_Server_Reflection_Function</classname>. <code>reflectClass</code>
+            retourne un objet <classname>Zend_Server_Reflection_Class</classname>. Veuillez vous
+            référer à la documentation d'API pour voir quelles méthodes sont disponibles pour
+            chacun.
+        </para>
     </sect2>
 </sect1>

+ 41 - 20
documentation/manual/fr/module_specs/Zend_Service-ReCaptcha.xml

@@ -1,5 +1,5 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 12116 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15157 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.service.recaptcha">
     <title>Zend_Service_ReCaptcha</title>
@@ -7,34 +7,49 @@
     <sect2 id="zend.service.recaptcha.introduction">
         <title>Introduction</title>
 
-        <para><classname>Zend_Service_ReCaptcha</classname> fournit un client pour le <ulink url="http://recaptcha.net/">Service
-        Web reCAPTCHA</ulink>. D'après le site de reCAPTCHA, "reCAPTCHA est un service gratuit de CAPTCHA qui aide à la
-        numérisation de livres." Chaque reCAPTCHA requière que l'utilisateur saisisse 2 mots, le premier est le captcha,
-        et le second est issu de texte scanné que les OCR (Optical Character Recognition) ne peuvent identifier.</para>
+        <para>
+            <classname>Zend_Service_ReCaptcha</classname> fournit un client pour le <ulink
+            url="http://recaptcha.net/">Service Web reCAPTCHA</ulink>. D'après le site de reCAPTCHA,
+            "reCAPTCHA est un service gratuit de CAPTCHA qui aide à la numérisation de livres."
+            Chaque reCAPTCHA requière que l'utilisateur saisisse 2 mots, le premier est le captcha,
+            et le second est issu de texte scanné que les OCR (Optical Character Recognition) ne
+            peuvent identifier.
+        </para>
 
-        <para>Pour utiliser le service reCAPTCHA, vous devez <ulink url="http://recaptcha.net/whyrecaptcha.html">créer
-        un compte</ulink> et enregistrer un ou plusieurs domaines d'utilisation afin de générer une clé publique et une
-        privée.</para>
+        <para>
+            Pour utiliser le service reCAPTCHA, vous devez <ulink
+            url="http://recaptcha.net/whyrecaptcha.html">créer un compte</ulink> et enregistrer un
+            ou plusieurs domaines d'utilisation afin de générer une clé publique et une
+            privée.
+        </para>
     </sect2>
 
     <sect2 id="zend.service.recaptcha.simplestuse">
         <title>Utilisation la plus simple</title>
 
-        <para>Instanciez un objet <classname>Zend_Service_ReCaptcha</classname> en lui passant vos clés publique et privée
-        :</para>
+        <para>
+            Instanciez un objet <classname>Zend_Service_ReCaptcha</classname> en lui passant
+            vos clés publique et privée :
+        </para>
 
         <programlisting role="php"><![CDATA[
 $recaptcha = new Zend_Service_ReCaptcha($pubKey, $privKey);
 ]]></programlisting>
 
-        <para>Pour rendre le reCAPTCHA, appelez simplement la méthode <code>getHTML()</code> :</para>
+        <para>
+            Pour rendre le reCAPTCHA, appelez simplement la méthode <code>getHTML()</code>
+            :
+        </para>
 
         <programlisting role="php"><![CDATA[
 echo $recaptcha->getHTML();
 ]]></programlisting>
 
-        <para>Lorsque le formulaire est envoyé, vous devriez recevoir 2 champs 'recaptcha_challenge_field' et
-        'recaptcha_response_field'. Passez les alors à la méthode <code>verify()</code> :</para>
+        <para>
+            Lorsque le formulaire est envoyé, vous devriez recevoir 2 champs
+            'recaptcha_challenge_field' et 'recaptcha_response_field'. Passez les alors à la méthode
+            <code>verify()</code> :
+        </para>
 
         <programlisting role="php"><![CDATA[
 $result = $recaptcha->verify(
@@ -43,8 +58,11 @@ $result = $recaptcha->verify(
 );
 ]]></programlisting>
 
-        <para>Une fois que vous possédez le résultat, vérifiez sa validité. Il s'agit d'un objet
-        <classname>Zend_Service_ReCaptcha_Response</classname> qui possède une méthode <code>isValid()</code>.</para>
+        <para>
+            Une fois que vous possédez le résultat, vérifiez sa validité. Il s'agit d'un objet
+            <classname>Zend_Service_ReCaptcha_Response</classname> qui possède une méthode
+            <code>isValid()</code>.
+        </para>
 
         <programlisting role="php"><![CDATA[
 if (!$result->isValid()) {
@@ -52,9 +70,12 @@ if (!$result->isValid()) {
 }
 ]]></programlisting>
 
-        <para>Encore plus simple : utilisez <link linkend="zend.captcha.adapters.recaptcha">l'adaptateur
-        ReCaptcha</link> de <classname>Zend_Captcha</classname>, ou utilisez cet adaptateur comme backend pour <link
-        linkend="zend.form.standardElements.captcha">l'élément formulaire Captcha</link>. Dans ces 2 cas, le rendu et la
-        validation du reCAPTCHA sont assurés pour vous.</para>
+        <para>
+            Encore plus simple : utilisez <link
+            linkend="zend.captcha.adapters.recaptcha">l'adaptateur ReCaptcha</link> de
+            <classname>Zend_Captcha</classname>, ou utilisez cet adaptateur comme backend pour <link
+            linkend="zend.form.standardElements.captcha">l'élément formulaire Captcha</link>. Dans
+            ces 2 cas, le rendu et la validation du reCAPTCHA sont assurés pour vous.
+        </para>
     </sect2>
 </sect1>

+ 17 - 9
documentation/manual/fr/module_specs/Zend_Service.xml

@@ -1,18 +1,26 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 13830 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.service.introduction">
     <title>Introduction</title>
 
-    <para><classname>Zend_Service</classname> est une classe abstraite qui sert de fondation à l'implémentation des services Web,
-    comme SOAP ou REST.</para>
+    <para>
+        <classname>Zend_Service</classname> est une classe abstraite qui sert de fondation
+        à l'implémentation des services Web, comme SOAP ou REST.
+    </para>
 
-    <para><classname>Zend_Service</classname> offre un support pour tout service Web basé sur REST à travers <link
-    linkend="zend.rest.client"><classname>Zend_Rest_Client</classname></link>.</para>
+    <para>
+        <classname>Zend_Service</classname> offre un support pour tout service Web basé sur
+        REST à travers <link
+        linkend="zend.rest.client"><classname>Zend_Rest_Client</classname></link>.
+    </para>
 
-    <para>En plus d'être capable d'étendre <classname>Zend_Service</classname> et d'utiliser <classname>Zend_Rest_Client</classname> pour
-    des services Web basé sur REST, Zend Framework fournit un support pour les services Web populaires. Consultez les
-    sections suivantes pour des informations spécifiques à chaque service Web supporté.</para>
+    <para>
+        En plus d'être capable d'étendre <classname>Zend_Service</classname> et d'utiliser
+        <classname>Zend_Rest_Client</classname> pour des services Web basé sur REST, Zend Framework
+        fournit un support pour les services Web populaires. Consultez les sections suivantes pour
+        des informations spécifiques à chaque service Web supporté.
+    </para>
 
     <itemizedlist>
         <listitem>

+ 309 - 157
documentation/manual/fr/module_specs/Zend_Service_Amazon.xml

@@ -1,5 +1,5 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 12116 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15215 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.service.amazon">
     <title>Zend_Service_Amazon</title>
@@ -7,15 +7,22 @@
     <sect2 id="zend.service.amazon.introduction">
         <title>Introduction</title>
 
-        <para><classname>Zend_Service_Amazon</classname> est une API simple pour utiliser les Web services d'Amazon.
-        <classname>Zend_Service_Amazon</classname> a deux APIs : une plutôt traditionnelle qui suit la propre API d'Amazon, et un
-        "Query API" simplifiée pour construire facilement des requêtes de recherche, même compliquées.</para>
-
-        <para><classname>Zend_Service_Amazon</classname> permet aux développeurs de récupérer des informations disponible sur le
-        site Amazon.com directement à travers l'API Amazon Web Services. Les exemples incluent : <itemizedlist>
-                <listitem>
-                    <para>Le stockage de données informatives, comme des images, des descriptions, le prix et
-                    plus</para>
+        <para>
+            <classname>Zend_Service_Amazon</classname> est une API simple pour utiliser les
+            Web services d'Amazon. <classname>Zend_Service_Amazon</classname> a deux APIs : une
+            plutôt traditionnelle qui suit la propre API d'Amazon, et un "Query API" simplifiée pour
+            construire facilement des requêtes de recherche, même compliquées.
+        </para>
+
+        <para>
+            <classname>Zend_Service_Amazon</classname> permet aux développeurs de récupérer
+            des informations disponible sur le site Amazon.com directement à travers l'API Amazon
+            Web Services. Les exemples incluent : <itemizedlist>
+                    <listitem>
+                    <para>
+                        Le stockage de données informatives, comme des images, des
+                        descriptions, le prix et plus
+                    </para>
                 </listitem>
 
                 <listitem>
@@ -33,24 +40,32 @@
                 <listitem>
                     <para>Les listes ListMania</para>
                 </listitem>
-            </itemizedlist></para>
+                </itemizedlist>
+            </para>
 
-        <para>Pour pouvoir utiliser <classname>Zend_Service_Amazon</classname>, vous devez avant tout avoir une clé "developer
-        API" Amazon. Pour obtenir une telle clé et pour plus d'informations, vous pouvez visitez le site Web <ulink
-        url="http://www.amazon.com/gp/aws/landing.html">Amazon Web Services</ulink>.</para>
+        <para>
+            Pour pouvoir utiliser <classname>Zend_Service_Amazon</classname>, vous devez avant
+            tout avoir une clé "developer API" Amazon. Pour obtenir une telle clé et pour plus
+            d'informations, vous pouvez visitez le site Web <ulink
+            url="http://www.amazon.com/gp/aws/landing.html">Amazon Web Services</ulink>.
+        </para>
 
         <note>
             <title>Attention</title>
 
-            <para>Votre clé "developer API" est liée à votre identité Amazon, donc faites en sorte de conserver votre
-            clé d'API privée.</para>
+            <para>
+                Votre clé "developer API" est liée à votre identité Amazon, donc faites en
+                sorte de conserver votre clé d'API privée.
+            </para>
         </note>
 
         <example id="zend.service.amazon.introduction.example.itemsearch">
             <title>Recherche sur Amazon en utilisant l'API traditionnelle</title>
 
-            <para>Dans cet exemple, nous recherchons les livres sur PHP disponibles chez Amazon et boucler sur les
-            résultats pour les afficher.</para>
+            <para>
+                Dans cet exemple, nous recherchons les livres sur PHP disponibles chez Amazon
+                et boucler sur les résultats pour les afficher.
+            </para>
 
             <programlisting role="php"><![CDATA[
 $amazon = new Zend_Service_Amazon('AMAZON_API_KEY');
@@ -67,8 +82,11 @@ foreach ($results as $result) {
         <example id="zend.service.amazon.introduction.example.query_api">
             <title>Recherche sur Amazon en utilisant l'API de requête</title>
 
-            <para>Ici nous cherchons aussi les livres sur PHP disponibles chez Amazon, mais en utilisant l'API de
-            requête, qui ressemble au modèle de conception Interface Fluide.</para>
+            <para>
+                Ici nous cherchons aussi les livres sur PHP disponibles chez Amazon, mais en
+                utilisant l'API de requête, qui ressemble au modèle de conception Interface
+                Fluide.
+            </para>
 
             <programlisting role="php"><![CDATA[
 $query = new Zend_Service_Amazon_Query('AMAZON_API_KEY');
@@ -84,9 +102,12 @@ foreach ($results as $result) {
     <sect2 id="zend.service.amazon.countrycodes">
         <title>Codes de pays</title>
 
-        <para>Par défaut, <classname>Zend_Service_Amazon</classname> se connecte au Web service Amazon américain
-        ("<code>US</code>"). Pour se connecter depuis un pays différent, il vous suffit simplement de définir, comme
-        second paramètre du constructeur, la chaîne de caractère correspondant au code du pays :</para>
+        <para>
+            Par défaut, <classname>Zend_Service_Amazon</classname> se connecte au Web service
+            Amazon américain ("<code>US</code>"). Pour se connecter depuis un pays différent, il
+            vous suffit simplement de définir, comme second paramètre du constructeur, la chaîne de
+            caractère correspondant au code du pays :
+        </para>
 
         <example id="zend.service.amazon.countrycodes.example.country_code">
             <title>Choisir un service Web Amazon d'un pays</title>
@@ -100,16 +121,20 @@ $amazon = new Zend_Service_Amazon('AMAZON_API_KEY', 'FR');
         <note>
             <title>Codes de pays</title>
 
-            <para>Les codes de pays valides sont <code>CA</code>, <code>DE</code>, <code>FR</code>, <code>JP</code>,
-            <code>UK</code>, et <code>US</code>.</para>
+            <para>
+                Les codes de pays valides sont <code>CA</code>, <code>DE</code>,
+                <code>FR</code>, <code>JP</code>, <code>UK</code>, et <code>US</code>.
+            </para>
         </note>
     </sect2>
 
     <sect2 id="zend.service.amazon.itemlookup">
         <title>Rechercher un produit Amazon spécifique avec son ASIN</title>
 
-        <para>La méthode <code>itemLookup()</code> fournit la possibilité de rechercher un produit Amazon particulier
-        lorsque son ASIN est connu.</para>
+        <para>
+            La méthode <code>itemLookup()</code> fournit la possibilité de rechercher un
+            produit Amazon particulier lorsque son ASIN est connu.
+        </para>
 
         <example>
             <title>Rechercher une produit Amazon spécifique avec son ASIN</title>
@@ -120,24 +145,33 @@ $item = $amazon->itemLookup('B0000A432X');
 ]]></programlisting>
         </example>
 
-        <para>La méthode <code>itemLookup()</code> accepte aussi un second paramètre optionnel pour gérer les options de
-        recherche. Pour les détails complets et une liste des options disponibles, visitez <ulink
-        url="http://www.amazon.com/gp/aws/sdk/main.html/103-9285448-4703844?s=AWSEcommerceService&amp;v=2005-10-05&amp;p=ApiReference/ItemLookupOperation">
-        la documentation Amazon correspondante. </ulink>.</para>
+        <para>
+            La méthode <code>itemLookup()</code> accepte aussi un second paramètre optionnel
+            pour gérer les options de recherche. Pour les détails complets et une liste des options
+            disponibles, visitez <ulink
+            url="http://www.amazon.com/gp/aws/sdk/main.html/103-9285448-4703844?s=AWSEcommerceService&amp;v=2005-10-05&amp;p=ApiReference/ItemLookupOperation">
+            la documentation Amazon correspondante. </ulink>.
+        </para>
 
         <note>
             <title>Information sur les images</title>
 
-            <para>Pour récupérer les informations d'images pour vos résultats de recherche, vous devez définir l'option
-            <code>ResponseGroup</code> à <code>Medium</code> ou <code>Large</code>.</para>
+            <para>
+                Pour récupérer les informations d'images pour vos résultats de recherche, vous
+                devez définir l'option <code>ResponseGroup</code> à <code>Medium</code> ou
+                <code>Large</code>.
+            </para>
         </note>
     </sect2>
 
     <sect2 id="zend.service.amazon.itemsearch">
         <title>Lancer des recherches de produits sur Amazon</title>
 
-        <para>Rechercher des produits basés sur tous les divers critères disponibles sont rendus simples grâce à la
-        méthode <code>itemSearch()</code>, comme le montre l'exemple suivant :</para>
+        <para>
+            Rechercher des produits basés sur tous les divers critères disponibles sont rendus
+            simples grâce à la méthode <code>itemSearch()</code>, comme le montre l'exemple suivant
+            :
+        </para>
 
         <example id="zend.service.amazon.itemsearch.example.basic">
             <title>Lancer des recherches de produits sur Amazon</title>
@@ -155,8 +189,10 @@ foreach ($results as $result) {
         <example id="zend.service.amazon.itemsearch.example.responsegroup">
             <title>Utilisation de l'option <code>ResponseGroup</code></title>
 
-            <para>L'option <code>ResponseGroup</code> est utilisée pour contrôler les informations spécifiques qui sont
-            retournées dans la réponse.</para>
+            <para>
+                L'option <code>ResponseGroup</code> est utilisée pour contrôler les
+                informations spécifiques qui sont retournées dans la réponse.
+            </para>
 
             <programlisting role="php"><![CDATA[
 $amazon = new Zend_Service_Amazon('AMAZON_API_KEY');
@@ -173,14 +209,20 @@ foreach ($results as $result) {
 ]]></programlisting>
         </example>
 
-        <para>La méthode <code>itemSearch()</code> accepte un seul tableau en paramètre pour gérer les options de
-        recherche. Pour plus de détails et une liste des options disponibles, visitez <ulink
-        url="http://www.amazon.com/gp/aws/sdk/main.html/103-9285448-4703844?s=AWSEcommerceService&amp;v=2005-10-05&amp;p=ApiReference/ItemSearchOperation">
-        la documentation Amazon correspondante </ulink></para>
+        <para>
+            La méthode <code>itemSearch()</code> accepte un seul tableau en paramètre pour
+            gérer les options de recherche. Pour plus de détails et une liste des options
+            disponibles, visitez <ulink
+            url="http://www.amazon.com/gp/aws/sdk/main.html/103-9285448-4703844?s=AWSEcommerceService&amp;v=2005-10-05&amp;p=ApiReference/ItemSearchOperation">
+            la documentation Amazon correspondante </ulink>
+        </para>
 
         <tip>
-            <para>La classe <link linkend="zend.service.amazon.query"><classname>Zend_Service_Amazon_Query</classname></link> est
-            une enveloppe simple d'utilisation de cette méthode.</para>
+            <para>
+                La classe <link
+                linkend="zend.service.amazon.query"><classname>Zend_Service_Amazon_Query</classname></link>
+                est une enveloppe simple d'utilisation de cette méthode.
+            </para>
         </tip>
     </sect2>
 
@@ -190,21 +232,30 @@ foreach ($results as $result) {
         <sect3 id="zend.service.amazon.query.introduction">
             <title>Introduction</title>
 
-            <para><classname>Zend_Service_Amazon_Query</classname> fournit une API alternative pour utiliser le service Web
-            Amazon. L'API alternative utilise le modèle de conception 'Interface Fluide'. C'est à dire que les appels
-            peuvent-être fait en utilisant une chaîne d'appels de méthodes (ie
-            <code>$obj-&gt;method()-&gt;method2($arg)</code>)</para>
-
-            <para>L'API <classname>Zend_Service_Amazon_Query</classname> utilise la surcharge pour mettre en place facilement une
-            recherche d'article, et ainsi vous permettre de chercher en se basant sur les critères spécifiés. Chacune de
-            ces options est fournie en tant qu'appel de méthode, et chaque paramètre de méthode correspond à la valeur
-            des options nommées.</para>
+            <para>
+                <classname>Zend_Service_Amazon_Query</classname> fournit une API alternative
+                pour utiliser le service Web Amazon. L'API alternative utilise le modèle de
+                conception 'Interface Fluide'. C'est à dire que les appels peuvent-être fait en
+                utilisant une chaîne d'appels de méthodes (ie
+                <code>$obj-&gt;method()-&gt;method2($arg)</code>)
+            </para>
+
+            <para>
+                L'API <classname>Zend_Service_Amazon_Query</classname> utilise la surcharge
+                pour mettre en place facilement une recherche d'article, et ainsi vous permettre de
+                chercher en se basant sur les critères spécifiés. Chacune de ces options est fournie
+                en tant qu'appel de méthode, et chaque paramètre de méthode correspond à la valeur
+                des options nommées.
+            </para>
 
             <example id="zend.service.amazon.query.introduction.example.basic">
                 <title>Rechercher sur Amazon en utilisant l'API alternative de requêtes</title>
 
-                <para>Dans cet exemple, l'API de requêtes alternative est utilisée comme une interface fluide pour
-                spécifier les options et leurs valeurs respectives :</para>
+                <para>
+                    Dans cet exemple, l'API de requêtes alternative est utilisée comme une
+                    interface fluide pour spécifier les options et leurs valeurs respectives
+                    :
+                </para>
 
                 <programlisting role="php"><![CDATA[
 $query = new Zend_Service_Amazon_Query('MY_API_KEY');
@@ -215,11 +266,17 @@ foreach ($results as $result) {
 }
 ]]></programlisting>
 
-                <para>Cela définit l'option <code>Category</code> à "Livres" et <code>Keywords</code> à "PHP".</para>
-
-                <para>Pour plus d'information sur les options disponibles, vous pouvez vous référer à la <ulink
-                url="http://www.amazon.com/gp/aws/sdk/main.html/102-9041115-9057709?s=AWSEcommerceService&amp;v=2005-10-05&amp;p=ApiReference/ItemSearchOperation">documentation
-                spécifique</ulink>.</para>
+                <para>
+                    Cela définit l'option <code>Category</code> à "Livres" et
+                    <code>Keywords</code> à "PHP".
+                </para>
+
+                <para>
+                    Pour plus d'information sur les options disponibles, vous pouvez vous
+                    référer à la <ulink
+                    url="http://www.amazon.com/gp/aws/sdk/main.html/102-9041115-9057709?s=AWSEcommerceService&amp;v=2005-10-05&amp;p=ApiReference/ItemSearchOperation">documentation
+                    spécifique</ulink>.
+                </para>
             </example>
         </sect3>
     </sect2>
@@ -227,77 +284,106 @@ foreach ($results as $result) {
     <sect2 id="zend.service.amazon.classes">
         <title>Classes Zend_Service_Amazon</title>
 
-        <para>Les classes suivantes sont toutes retournées par <link
-        linkend="zend.service.amazon.itemlookup"><classname>Zend_Service_Amazon::itemLookup()</classname></link> et <link
-        linkend="zend.service.amazon.itemsearch"><classname>Zend_Service_Amazon::itemSearch()</classname></link>: <itemizedlist>
-                <listitem>
-                    <para><link
-                    linkend="zend.service.amazon.classes.item"><classname>Zend_Service_Amazon_Item</classname></link></para>
+        <para>
+            Les classes suivantes sont toutes retournées par <link
+            linkend="zend.service.amazon.itemlookup"><classname>Zend_Service_Amazon::itemLookup()</classname></link>
+            et <link
+            linkend="zend.service.amazon.itemsearch"><classname>Zend_Service_Amazon::itemSearch()</classname></link>:
+            <itemizedlist>
+                    <listitem>
+                    <para>
+                        <link
+                        linkend="zend.service.amazon.classes.item"><classname>Zend_Service_Amazon_Item</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.amazon.classes.image"><classname>Zend_Service_Amazon_Image</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.amazon.classes.image"><classname>Zend_Service_Amazon_Image</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.amazon.classes.resultset"><classname>Zend_Service_Amazon_ResultSet</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.amazon.classes.resultset"><classname>Zend_Service_Amazon_ResultSet</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.amazon.classes.offerset"><classname>Zend_Service_Amazon_OfferSet</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.amazon.classes.offerset"><classname>Zend_Service_Amazon_OfferSet</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.amazon.classes.offer"><classname>Zend_Service_Amazon_Offer</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.amazon.classes.offer"><classname>Zend_Service_Amazon_Offer</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.amazon.classes.similarproduct"><classname>Zend_Service_Amazon_SimilarProduct</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.amazon.classes.similarproduct"><classname>Zend_Service_Amazon_SimilarProduct</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.amazon.classes.accessories"><classname>Zend_Service_Amazon_Accessories</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.amazon.classes.accessories"><classname>Zend_Service_Amazon_Accessories</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.amazon.classes.customerreview"><classname>Zend_Service_Amazon_CustomerReview</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.amazon.classes.customerreview"><classname>Zend_Service_Amazon_CustomerReview</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.amazon.classes.editorialreview"><classname>Zend_Service_Amazon_EditorialReview</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.amazon.classes.editorialreview"><classname>Zend_Service_Amazon_EditorialReview</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.amazon.classes.listmania"><classname>Zend_Service_Amazon_ListMania</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.amazon.classes.listmania"><classname>Zend_Service_Amazon_ListMania</classname></link>
+                    </para>
                 </listitem>
-            </itemizedlist></para>
+                </itemizedlist>
+            </para>
 
         <sect3 id="zend.service.amazon.classes.item">
             <title>Zend_Service_Amazon_Item</title>
 
-            <para><classname>Zend_Service_Amazon_Item</classname> est le type de classe utilisé pour représenter un produit Amazon
-            retourné par le service Web. Elle récupère tous les attributs des articles, incluant le titre, la
-            description, les revues, etc.</para>
+            <para>
+                <classname>Zend_Service_Amazon_Item</classname> est le type de classe utilisé
+                pour représenter un produit Amazon retourné par le service Web. Elle récupère tous
+                les attributs des articles, incluant le titre, la description, les revues,
+                etc.
+            </para>
 
             <sect4 id="zend.service.amazon.classes.item.asxml">
                 <title>Zend_Service_Amazon_Item::asXML()</title>
 
-                <para><methodsynopsis>
-                        <type>string</type>
-
-                        <methodname>asXML</methodname>
-
-                        <void />
-                    </methodsynopsis></para>
+                <para>
+                    <methodsynopsis>
+                            <type>string</type>
+    
+                            <methodname>asXML</methodname>
+    
+                            <void />
+                        </methodsynopsis>
+                    </para>
 
                 <para>Retourne le XML original de l'article</para>
             </sect4>
@@ -305,8 +391,10 @@ foreach ($results as $result) {
             <sect4 id="zend.service.amazon.classes.item.properties">
                 <title>Propriétés</title>
 
-                <para><classname>Zend_Service_Amazon_Item</classname> a un nombre de propriétés directement relié à leur
-                contre-parties de l'API standard Amazon.</para>
+                <para>
+                    <classname>Zend_Service_Amazon_Item</classname> a un nombre de propriétés
+                    directement relié à leur contre-parties de l'API standard Amazon.
+                </para>
 
                 <table id="zend.service.amazon.classes.item.properties.table-1">
                     <title>Propriétés de Zend_Service_Amazon_Item</title>
@@ -394,7 +482,8 @@ foreach ($results as $result) {
 
                                 <entry>array</entry>
 
-                                <entry>Les revues clients sont représentées comme un tableau d'objets <code> <link
+                                <entry>Les revues clients sont représentées comme un tableau
+                                d'objets <code> <link
                                 linkend="zend.service.amazon.classes.customerreview">Zend_Service_Amazon_CustomerReview</link>
                                 </code></entry>
                             </row>
@@ -404,7 +493,8 @@ foreach ($results as $result) {
 
                                 <entry>array</entry>
 
-                                <entry>Les revues éditoriales sont représentées comme un tableau d'objets <code> <link
+                                <entry>Les revues éditoriales sont représentées comme un tableau
+                                d'objets <code> <link
                                 linkend="zend.service.amazon.classes.editorialreview">Zend_Service_Amazon_EditorialReview</link>
                                 </code></entry>
                             </row>
@@ -414,7 +504,8 @@ foreach ($results as $result) {
 
                                 <entry>array</entry>
 
-                                <entry>Les produits similaires sont représentés comme un tableau d'objets <code> <link
+                                <entry>Les produits similaires sont représentés comme un tableau
+                                d'objets <code> <link
                                 linkend="zend.service.amazon.classes.similarproduct">Zend_Service_Amazon_SimilarProduct</link>
                                 </code></entry>
                             </row>
@@ -424,8 +515,8 @@ foreach ($results as $result) {
 
                                 <entry>array</entry>
 
-                                <entry>Les accessoires pour l'article sont représentés comme un tableau d'objets <code>
-                                <link
+                                <entry>Les accessoires pour l'article sont représentés comme un
+                                tableau d'objets <code> <link
                                 linkend="zend.service.amazon.classes.accessories">Zend_Service_Amazon_Accessories</link>
                                 </code></entry>
                             </row>
@@ -435,8 +526,8 @@ foreach ($results as $result) {
 
                                 <entry>array</entry>
 
-                                <entry>Un tableau contenant le nombre de pistes ainsi que les noms pour les CDs ou DVDs
-                                musicaux</entry>
+                                <entry>Un tableau contenant le nombre de pistes ainsi que les
+                                noms pour les CDs ou DVDs musicaux</entry>
                             </row>
 
                             <row>
@@ -444,7 +535,8 @@ foreach ($results as $result) {
 
                                 <entry>array</entry>
 
-                                <entry>Les listes Listmania reliées à un article, comme un tableau d'objets <code> <link
+                                <entry>Les listes Listmania reliées à un article, comme un
+                                tableau d'objets <code> <link
                                 linkend="zend.service.amazon.classes.listmania">Zend_Service_Amazon_ListmaniaList</link>
                                 </code></entry>
                             </row>
@@ -460,14 +552,20 @@ foreach ($results as $result) {
                     </tgroup>
                 </table>
 
-                <para><link linkend="zend.service.amazon.classes">Retour à la liste des classes</link></para>
+                <para>
+                    <link linkend="zend.service.amazon.classes">Retour à la liste des
+                    classes</link>
+                </para>
             </sect4>
         </sect3>
 
         <sect3 id="zend.service.amazon.classes.image">
             <title>Zend_Service_Amazon_Image</title>
 
-            <para><classname>Zend_Service_Amazon_Image</classname> représente une image distante pour un produit.</para>
+            <para>
+                <classname>Zend_Service_Amazon_Image</classname> représente une image distante
+                pour un produit.
+            </para>
 
             <sect4 id="zend.service.amazon.classes.image.properties">
                 <title>Propriétés</title>
@@ -514,23 +612,31 @@ foreach ($results as $result) {
                     </tgroup>
                 </table>
 
-                <para><link linkend="zend.service.amazon.classes">Retour à la liste des classes</link></para>
+                <para>
+                    <link linkend="zend.service.amazon.classes">Retour à la liste des
+                    classes</link>
+                </para>
             </sect4>
         </sect3>
 
         <sect3 id="zend.service.amazon.classes.resultset">
             <title>Zend_Service_Amazon_ResultSet</title>
 
-            <para>Des objets <classname>Zend_Service_Amazon_ResultSet</classname> sont retournés par <link
-            linkend="zend.service.amazon.itemsearch">Zend_Service_Amazon::itemSearch()</link> et vous permettent de
-            gérer facilement les différents résultats retournés.</para>
+            <para>
+                Des objets <classname>Zend_Service_Amazon_ResultSet</classname> sont retournés
+                par <link
+                linkend="zend.service.amazon.itemsearch">Zend_Service_Amazon::itemSearch()</link> et
+                vous permettent de gérer facilement les différents résultats retournés.
+            </para>
 
             <note>
                 <title>SeekableIterator</title>
 
-                <para>Implémente l'itérateur <code>SeekableIterator</code> pour une itération simple (en utilisant
-                <code>foreach</code>), aussi bien que l'accès direct à une URL spécifique en utilisant
-                <code>seek()</code>.</para>
+                <para>
+                    Implémente l'itérateur <code>SeekableIterator</code> pour une itération
+                    simple (en utilisant <code>foreach</code>), aussi bien que l'accès direct à une
+                    URL spécifique en utilisant <code>seek()</code>.
+                </para>
             </note>
 
             <sect4 id="zend.service.amazon.classes.resultset.totalresults">
@@ -546,18 +652,24 @@ foreach ($results as $result) {
 
                 <para>Retourne le nombre total de résultats de la recherche</para>
 
-                <para><link linkend="zend.service.amazon.classes">Retour à la liste des classes</link></para>
+                <para>
+                    <link linkend="zend.service.amazon.classes">Retour à la liste des
+                    classes</link>
+                </para>
             </sect4>
         </sect3>
 
         <sect3 id="zend.service.amazon.classes.offerset">
             <title>Zend_Service_Amazon_OfferSet</title>
 
-            <para>Chaque résultat retourné par <link
-            linkend="zend.service.amazon.itemsearch">Zend_Service_Amazon::itemSearch()</link> et <link
-            linkend="zend.service.amazon.itemlookup">Zend_Service_Amazon::itemLookup()</link> contient un objet
-            <classname>Zend_Service_Amazon_OfferSet</classname> au travers duquel il est possible de récupérer les informations de
-            prix de l'article.</para>
+            <para>
+                Chaque résultat retourné par <link
+                linkend="zend.service.amazon.itemsearch">Zend_Service_Amazon::itemSearch()</link> et
+                <link
+                linkend="zend.service.amazon.itemlookup">Zend_Service_Amazon::itemLookup()</link>
+                contient un objet <classname>Zend_Service_Amazon_OfferSet</classname> au travers
+                duquel il est possible de récupérer les informations de prix de l'article.
+            </para>
 
             <sect4 id="zend.service.amazon.classes.offerset.parameters">
                 <title>Propriétés</title>
@@ -582,8 +694,8 @@ foreach ($results as $result) {
 
                                 <entry>int</entry>
 
-                                <entry>Le plus bas prix pour l'article en condition "New" (ie les articles
-                                neufs)</entry>
+                                <entry>Le plus bas prix pour l'article en condition "New" (ie
+                                les articles neufs)</entry>
                             </row>
 
                             <row>
@@ -599,8 +711,8 @@ foreach ($results as $result) {
 
                                 <entry>int</entry>
 
-                                <entry>Le plus bas prix pour l'article en condition "Used" (ie les articles
-                                d'occasion)</entry>
+                                <entry>Le plus bas prix pour l'article en condition "Used" (ie
+                                les articles d'occasion)</entry>
                             </row>
 
                             <row>
@@ -616,8 +728,8 @@ foreach ($results as $result) {
 
                                 <entry>int</entry>
 
-                                <entry>Le nombre total des conditions "new" disponibles pour cet article (ie le nombre
-                                de modèles neufs en stock)</entry>
+                                <entry>Le nombre total des conditions "new" disponibles pour cet
+                                article (ie le nombre de modèles neufs en stock)</entry>
                             </row>
 
                             <row>
@@ -625,8 +737,8 @@ foreach ($results as $result) {
 
                                 <entry>int</entry>
 
-                                <entry>Le nombre total des conditions "used" disponible pour cet article (ie le nombre
-                                de modèles d'occasion en stock)</entry>
+                                <entry>Le nombre total des conditions "used" disponible pour cet
+                                article (ie le nombre de modèles d'occasion en stock)</entry>
                             </row>
 
                             <row>
@@ -634,8 +746,9 @@ foreach ($results as $result) {
 
                                 <entry>int</entry>
 
-                                <entry>Le nombre total des conditions "collectible" disponible pour cet article (ie le
-                                nombre de pièces de collection en stock)</entry>
+                                <entry>Le nombre total des conditions "collectible" disponible
+                                pour cet article (ie le nombre de pièces de collection en
+                                stock)</entry>
                             </row>
 
                             <row>
@@ -643,8 +756,9 @@ foreach ($results as $result) {
 
                                 <entry>int</entry>
 
-                                <entry>Le nombre total des conditions "refurbished" disponible pour cet article (ie le
-                                nombre de pièces remise à neuf en stock)</entry>
+                                <entry>Le nombre total des conditions "refurbished" disponible
+                                pour cet article (ie le nombre de pièces remise à neuf en
+                                stock)</entry>
                             </row>
 
                             <row>
@@ -652,21 +766,27 @@ foreach ($results as $result) {
 
                                 <entry>array</entry>
 
-                                <entry>Un tableau d'objets <classname>Zend_Service_Amazon_Offer</classname></entry>
+                                <entry>Un tableau d'objets
+                                <classname>Zend_Service_Amazon_Offer</classname></entry>
                             </row>
                         </tbody>
                     </tgroup>
                 </table>
 
-                <para><link linkend="zend.service.amazon.classes">Retour à la liste des classes</link></para>
+                <para>
+                    <link linkend="zend.service.amazon.classes">Retour à la liste des
+                    classes</link>
+                </para>
             </sect4>
         </sect3>
 
         <sect3 id="zend.service.amazon.classes.offer">
             <title>Zend_Service_Amazon_Offer</title>
 
-            <para>Chaque offre pour un article est retourné sous la forme d'un objet
-            <classname>Zend_Service_Amazon_Offer</classname>.</para>
+            <para>
+                Chaque offre pour un article est retourné sous la forme d'un objet
+                <classname>Zend_Service_Amazon_Offer</classname>.
+            </para>
 
             <sect4 id="zend.service.amazon.classes.offer.properties">
                 <title>Zend_Service_Amazon_Offer Properties</title>
@@ -747,25 +867,33 @@ foreach ($results as $result) {
 
                                 <entry>boolean</entry>
 
-                                <entry>Est-ce que l'article est éligible ou pas pour un "Super Saver Shipping"</entry>
+                                <entry>Est-ce que l'article est éligible ou pas pour un "Super
+                                Saver Shipping"</entry>
                             </row>
                         </tbody>
                     </tgroup>
                 </table>
 
-                <para><link linkend="zend.service.amazon.classes">Retour à la liste des classes</link></para>
+                <para>
+                    <link linkend="zend.service.amazon.classes">Retour à la liste des
+                    classes</link>
+                </para>
             </sect4>
         </sect3>
 
         <sect3 id="zend.service.amazon.classes.similarproduct">
             <title>Zend_Service_Amazon_SimilarProduct</title>
 
-            <para>Lors de la recherche d'articles, Amazon retourne aussi une liste de produits similaires qui pourraient
-            intéresser le visiteur. Chacun d'entre eux est retourné dans un objet
-            <classname>Zend_Service_Amazon_SimilarProduct</classname>.</para>
+            <para>
+                Lors de la recherche d'articles, Amazon retourne aussi une liste de produits
+                similaires qui pourraient intéresser le visiteur. Chacun d'entre eux est retourné
+                dans un objet <classname>Zend_Service_Amazon_SimilarProduct</classname>.
+            </para>
 
-            <para>Chaque objet contient l'information qui vous permet de faire les requêtes suivantes pour obtenir les
-            informations complètes sur un article.</para>
+            <para>
+                Chaque objet contient l'information qui vous permet de faire les requêtes
+                suivantes pour obtenir les informations complètes sur un article.
+            </para>
 
             <sect4 id="zend.service.amazon.classes.similarproduct.properties">
                 <title>Propriétés</title>
@@ -804,15 +932,20 @@ foreach ($results as $result) {
                     </tgroup>
                 </table>
 
-                <para><link linkend="zend.service.amazon.classes">Retour à la liste des classes</link></para>
+                <para>
+                    <link linkend="zend.service.amazon.classes">Retour à la liste des
+                    classes</link>
+                </para>
             </sect4>
         </sect3>
 
         <sect3 id="zend.service.amazon.classes.accessories">
             <title>Zend_Service_Amazon_Accessories</title>
 
-            <para>Les accessoires pour un article retourné sont représentés comme un objet
-            <classname>Zend_Service_Amazon_Accessories</classname>.</para>
+            <para>
+                Les accessoires pour un article retourné sont représentés comme un objet
+                <classname>Zend_Service_Amazon_Accessories</classname>.
+            </para>
 
             <sect4 id="zend.service.amazon.classes.accessories.properties">
                 <title>Propriétés</title>
@@ -851,15 +984,20 @@ foreach ($results as $result) {
                     </tgroup>
                 </table>
 
-                <para><link linkend="zend.service.amazon.classes">Retour à la liste des classes</link></para>
+                <para>
+                    <link linkend="zend.service.amazon.classes">Retour à la liste des
+                    classes</link>
+                </para>
             </sect4>
         </sect3>
 
         <sect3 id="zend.service.amazon.classes.customerreview">
             <title>Zend_Service_Amazon_CustomerReview</title>
 
-            <para>Chaque revue de client est retournée sous la forme d'un objet
-            <classname>Zend_Service_Amazon_CustomerReview</classname>.</para>
+            <para>
+                Chaque revue de client est retournée sous la forme d'un objet
+                <classname>Zend_Service_Amazon_CustomerReview</classname>.
+            </para>
 
             <sect4 id="zend.service.amazon.classes.customerreview.properties">
                 <title>Propriétés</title>
@@ -892,7 +1030,8 @@ foreach ($results as $result) {
 
                                 <entry>string</entry>
 
-                                <entry>Votes pour "Ce commentaire vous a-t'il été utile ?"</entry>
+                                <entry>Votes pour "Ce commentaire vous a-t'il été utile
+                                ?"</entry>
                             </row>
 
                             <row>
@@ -938,15 +1077,20 @@ foreach ($results as $result) {
                     </tgroup>
                 </table>
 
-                <para><link linkend="zend.service.amazon.classes">Retour à la liste des classes</link></para>
+                <para>
+                    <link linkend="zend.service.amazon.classes">Retour à la liste des
+                    classes</link>
+                </para>
             </sect4>
         </sect3>
 
         <sect3 id="zend.service.amazon.classes.editorialreview">
             <title>Zend_Service_Amazon_EditorialReview</title>
 
-            <para>Chaque revue éditoriale d'un article est retournée dans un objet
-            <classname>Zend_Service_Amazon_EditorialReview</classname>.</para>
+            <para>
+                Chaque revue éditoriale d'un article est retournée dans un objet
+                <classname>Zend_Service_Amazon_EditorialReview</classname>.
+            </para>
 
             <sect4 id="zend.service.amazon.classes.editorialreview.properties">
                 <title>Propriétés</title>
@@ -985,15 +1129,20 @@ foreach ($results as $result) {
                     </tgroup>
                 </table>
 
-                <para><link linkend="zend.service.amazon.classes">Retour à la liste des classes</link></para>
+                <para>
+                    <link linkend="zend.service.amazon.classes">Retour à la liste des
+                    classes</link>
+                </para>
             </sect4>
         </sect3>
 
         <sect3 id="zend.service.amazon.classes.listmania">
             <title>Zend_Service_Amazon_Listmania</title>
 
-            <para>Chaque résultat de liste ListMania est retourné dans un objet
-            <classname>Zend_Service_Amazon_Listmania</classname>.</para>
+            <para>
+                Chaque résultat de liste ListMania est retourné dans un objet
+                <classname>Zend_Service_Amazon_Listmania</classname>.
+            </para>
 
             <sect4 id="zend.service.amazon.classes.listmania.properties">
                 <title>Propriétés</title>
@@ -1032,7 +1181,10 @@ foreach ($results as $result) {
                     </tgroup>
                 </table>
 
-                <para><link linkend="zend.service.amazon.classes">Retour à la liste des classes</link></para>
+                <para>
+                    <link linkend="zend.service.amazon.classes">Retour à la liste des
+                    classes</link>
+                </para>
             </sect4>
         </sect3>
     </sect2>

+ 97 - 50
documentation/manual/fr/module_specs/Zend_Service_Delicious.xml

@@ -1,5 +1,5 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 11146 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15234 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.service.delicious">
     <title>Zend_Service_Delicious</title>
@@ -7,10 +7,13 @@
     <sect2 id="zend.service.delicious.introduction">
         <title>Introduction</title>
 
-        <para><classname>Zend_Service_Delicious</classname> est une API pour accéder aux Web services XML et JSON de <ulink
-        url="http://del.icio.us">del.icio.us</ulink>. Ce composant vous donne, si vous avez les droits, un accès en
-        lecture-écriture à vos entrées sur del.icio.us. Il permet également un accès en lecture seule aux données de
-        tous les utilisateurs.</para>
+        <para>
+            <classname>Zend_Service_Delicious</classname> est une API pour accéder aux Web
+            services XML et JSON de <ulink url="http://del.icio.us">del.icio.us</ulink>. Ce
+            composant vous donne, si vous avez les droits, un accès en lecture-écriture à vos
+            entrées sur del.icio.us. Il permet également un accès en lecture seule aux données de
+            tous les utilisateurs.
+        </para>
 
         <example id="zend.service.delicious.introduction.getAllPosts">
             <title>Récupérer toutes vos entrées</title>
@@ -31,10 +34,13 @@ foreach ($posts as $post) {
     <sect2 id="zend.service.delicious.retrieving_posts">
         <title>Récupérer vos entrées</title>
 
-        <para><classname>Zend_Service_Delicious</classname> fournis trois méthodes pour récupérer vos entrées :
-        <code>getPosts()</code>, <code>getRecentPosts()</code> et <code>getAllPosts()</code>. Elles retournent toutes
-        une instance de la classe <classname>Zend_Service_Delicious_PostList</classname>, qui contient toutes les entrées
-        récupérées.</para>
+        <para>
+            <classname>Zend_Service_Delicious</classname> fournis trois méthodes pour
+            récupérer vos entrées : <code>getPosts()</code>, <code>getRecentPosts()</code> et
+            <code>getAllPosts()</code>. Elles retournent toutes une instance de la classe
+            <classname>Zend_Service_Delicious_PostList</classname>, qui contient toutes les entrées
+            récupérées.
+        </para>
 
         <programlisting role="php"><![CDATA[
 /**
@@ -72,12 +78,16 @@ public function getAllPosts($tag = null);
     <sect2 id="zend.service.delicious.postlist">
         <title>Zend_Service_Delicious_PostList</title>
 
-        <para>Des instances de cette classe sont retournées par les méthodes <code>getPosts()</code>,
-        <code>getAllPosts()</code>,<code>getRecentPosts()</code>, et <code>getUserPosts()</code> de
-        <classname>Zend_Service_Delicious</classname>.</para>
+        <para>
+            Des instances de cette classe sont retournées par les méthodes
+            <code>getPosts()</code>, <code>getAllPosts()</code>,<code>getRecentPosts()</code>, et
+            <code>getUserPosts()</code> de <classname>Zend_Service_Delicious</classname>.
+        </para>
 
-        <para>Pour faciliter l'accès au données cette classe implémente les interfaces <code>Countable</code>,
-        <code>Iterator</code>, et<code>ArrayAccess</code>.</para>
+        <para>
+            Pour faciliter l'accès au données cette classe implémente les interfaces
+            <code>Countable</code>, <code>Iterator</code>, et<code>ArrayAccess</code>.
+        </para>
 
         <example id="zend.service.delicious.postlist.accessing_post_lists">
             <title>Accéder à la liste des entrées</title>
@@ -103,21 +113,27 @@ echo $posts[0]->getTitle();
         </example>
 
         <note>
-            <para>Dans cette implémentation les méthodes <code>ArrayAccess::offsetSet()</code> et
-            <code>ArrayAccess::offsetUnset()</code> lèvent des exceptions. Ainsi, du code tel que
-            <code>unset($posts[0]);</code> ou <code>$posts[0] = 'A';</code> lèvera une exception car ces propriétés sont
-            en lecture seule.</para>
+            <para>
+                Dans cette implémentation les méthodes <code>ArrayAccess::offsetSet()</code>
+                et <code>ArrayAccess::offsetUnset()</code> lèvent des exceptions. Ainsi, du code tel
+                que <code>unset($posts[0]);</code> ou <code>$posts[0] = 'A';</code> lèvera une
+                exception car ces propriétés sont en lecture seule.
+            </para>
         </note>
 
-        <para>Les objets d'entrées ont deux capacités de filtrage incorporées. Les entrées peuvent être filtrées par
-        étiquette et URL.</para>
+        <para>
+            Les objets d'entrées ont deux capacités de filtrage incorporées. Les entrées
+            peuvent être filtrées par étiquette et URL.
+        </para>
 
         <example id="zend.service.delicious.postlist.example.withTags">
             <title>Filtrage d'une entrée par une étiquette spécifique</title>
 
-            <para>Les entrées peuvent être filtrées par une (des) étiquette(s) spécifique(s) en utilisant
-            <code>withTags()</code>. Par confort, <code>withTag()</code> est aussi fourni quand il est nécessaire 'e ne
-            spécifier qu'une seule étiquette</para>
+            <para>
+                Les entrées peuvent être filtrées par une (des) étiquette(s) spécifique(s) en
+                utilisant <code>withTags()</code>. Par confort, <code>withTag()</code> est aussi
+                fourni quand il est nécessaire 'e ne spécifier qu'une seule étiquette
+            </para>
 
             <programlisting role="php"><![CDATA[
 $delicious = new Zend_Service_Delicious('nom_d_utilisateur',
@@ -135,8 +151,10 @@ foreach ($posts->withTags(array('php', 'zend')) as $post) {
         <example id="zend.service.delicious.postlist.example.byUrl">
             <title>Filtrage d'une entrée par URL</title>
 
-            <para>Les entrées peuvent être filtrées par URL correspondant à une expression régulière spécifiée en
-            utilisant la méthode <code>withUrl()</code> :</para>
+            <para>
+                Les entrées peuvent être filtrées par URL correspondant à une expression
+                régulière spécifiée en utilisant la méthode <code>withUrl()</code> :
+            </para>
 
             <programlisting role="php"><![CDATA[
 $delicious = new Zend_Service_Delicious('nom_d_utilisateur',
@@ -173,8 +191,11 @@ $posts[0]->save();
         <example id="zend.service.delicious.editing_posts.method_call_chaining">
             <title>Enchaînement des appels de méthode</title>
 
-            <para>Toutes les méthodes "setter" renvoient l'objet <classname>Zend_Service_Delicious_PostList</classname> vous
-            pouvez donc chaîner les appels aux méthodes en utilisant une interface fluide.</para>
+            <para>
+                Toutes les méthodes "setter" renvoient l'objet
+                <classname>Zend_Service_Delicious_PostList</classname> vous pouvez donc chaîner les
+                appels aux méthodes en utilisant une interface fluide.
+            </para>
 
             <programlisting role="php"><![CDATA[
 $delicious = new Zend_Service_Delicious('nom_d_utilisateur',
@@ -191,8 +212,10 @@ $posts[0]->setTitle('Nouveau Titre')
     <sect2 id="zend.service.delicious.deleting_posts">
         <title>Supprimer des entrées</title>
 
-        <para>Il y a deux moyens de supprimer une entrée, en spécifiant son URL ou en appelant la méthode
-        <code>delete()</code> sur un objet Zend_Service_Delicious_PostList.</para>
+        <para>
+            Il y a deux moyens de supprimer une entrée, en spécifiant son URL ou en appelant
+            la méthode <code>delete()</code> sur un objet Zend_Service_Delicious_PostList.
+        </para>
 
         <example id="zend.service.delicious.deleting_posts.deleting_posts">
             <title>Suppression d'une entrée</title>
@@ -217,9 +240,13 @@ $delicious->deletePost($posts[0]->getUrl());
     <sect2 id="zend.service.delicious.adding_posts">
         <title>Ajout d'entrées</title>
 
-        <para>Pour ajouter une entrée vous devez appeler la méthode <code>createNewPost()</code>, qui renvoie un objet
-        <classname>Zend_Service_Delicious_Post</classname>. Quand vous éditez l'entrée, vous devez la sauvegarder dans la base de
-        donnée de del.icio.us en appelant la méthode <code>save()</code>.</para>
+        <para>
+            Pour ajouter une entrée vous devez appeler la méthode
+            <code>createNewPost()</code>, qui renvoie un objet
+            <classname>Zend_Service_Delicious_Post</classname>. Quand vous éditez l'entrée, vous
+            devez la sauvegarder dans la base de donnée de del.icio.us en appelant la méthode
+            <code>save()</code>.
+        </para>
 
         <example id="zend.service.delicious.adding_posts.adding_a_post">
             <title>Ajouter une entrée</title>
@@ -286,7 +313,10 @@ $delicious->addBundle('newBundle', array('tag1', 'tag2'));
     <sect2 id="zend.service.delicious.public_data">
         <title>Données publiques</title>
 
-        <para>L'API Web del.icio.us autorise l'accès aux données publiques de tous les utilisateurs.</para>
+        <para>
+            L'API Web del.icio.us autorise l'accès aux données publiques de tous les
+            utilisateurs.
+        </para>
 
         <table id="zend.service.delicious.public_data.functions_for_retrieving_public_data">
             <title>Méthodes pour récupérer les données publiques</title>
@@ -339,8 +369,11 @@ $delicious->addBundle('newBundle', array('tag1', 'tag2'));
         </table>
 
         <note>
-            <para>Si vous utilisez uniquement ces méthodes, le nom d'utilisateur et le mot de passe ne sont pas
-            obligatoires pour créer un nouvel objet <classname>Zend_Service_Delicious</classname>.</para>
+            <para>
+                Si vous utilisez uniquement ces méthodes, le nom d'utilisateur et le mot de
+                passe ne sont pas obligatoires pour créer un nouvel objet
+                <classname>Zend_Service_Delicious</classname>.
+            </para>
         </note>
 
         <example id="zend.service.delicious.public_data.retrieving_public_data">
@@ -364,13 +397,17 @@ print_r($delicious->getUserTags('someUser'));
         <sect3 id="zend.service.delicious.public_data.posts">
             <title>Entrées publiques</title>
 
-            <para>Quand vous récupérez des entrées publiques, la méthode <code>getUserPosts()</code> retourne un objet
-            <classname>Zend_Service_Delicious_PostList</classname> qui contient des objets
-            <classname>Zend_Service_Delicious_SimplePost</classname>. Ces derniers contiennent des informations basiques sur
-            l'entrée : URL, title, notes, and tags.</para>
+            <para>
+                Quand vous récupérez des entrées publiques, la méthode
+                <code>getUserPosts()</code> retourne un objet
+                <classname>Zend_Service_Delicious_PostList</classname> qui contient des objets
+                <classname>Zend_Service_Delicious_SimplePost</classname>. Ces derniers contiennent
+                des informations basiques sur l'entrée : URL, title, notes, and tags.
+            </para>
 
             <table id="zend.service.delicious.public_data.posts.SimplePost_methods">
-                <title>Méthodes de la classe <classname>Zend_Service_Delicious_SimplePost</classname></title>
+                <title>Méthodes de la classe
+                <classname>Zend_Service_Delicious_SimplePost</classname></title>
 
                 <tgroup cols="3">
                     <thead>
@@ -424,9 +461,13 @@ print_r($delicious->getUserTags('someUser'));
     <sect2 id="zend.service.delicious.httpclient">
         <title>Client HTTP</title>
 
-        <para><classname>Zend_Service_Delicious</classname> utilise <classname>Zend_Rest_Client</classname> pour effectuer les requêtes HTTP
-        sur le Web service de del.icio.us. Pour modifier le client HTTP utiliser par
-        <classname>Zend_Service_Delicious</classname>, vous devez modifier le client HTTP de <classname>Zend_Rest_Client</classname>.</para>
+        <para>
+            <classname>Zend_Service_Delicious</classname> utilise
+            <classname>Zend_Rest_Client</classname> pour effectuer les requêtes HTTP sur le Web
+            service de del.icio.us. Pour modifier le client HTTP utiliser par
+            <classname>Zend_Service_Delicious</classname>, vous devez modifier le client HTTP de
+            <classname>Zend_Rest_Client</classname>.
+        </para>
 
         <example id="zend.service.delicious.httpclient.changing">
             <title>Modifier le client HTTP de <classname>Zend_Rest_Client</classname></title>
@@ -437,8 +478,11 @@ Zend_Rest_Client::setHttpClient($myHttpClient);
 ]]></programlisting>
         </example>
 
-        <para>Quand vous effectuez plus d'une requête avec <classname>Zend_Service_Delicious</classname> vous pouvez accélérez vos
-        requêtes en configurant votre client HTTP pour qu'il ne ferme pas les connexions.</para>
+        <para>
+            Quand vous effectuez plus d'une requête avec
+            <classname>Zend_Service_Delicious</classname> vous pouvez accélérez vos requêtes en
+            configurant votre client HTTP pour qu'il ne ferme pas les connexions.
+        </para>
 
         <example id="zend.service.delicious.httpclient.keepalive">
             <title>Configurer votre client HTTP pour qu'il ne ferme pas les connexions</title>
@@ -451,10 +495,13 @@ Zend_Rest_Client::getHttpClient()->setConfig(array(
         </example>
 
         <note>
-            <para>En raison de quelques problèmes de del.icio.us avec <code>'ssl2'</code> (environs 2 secondes pour une
-            requête), quand un objet <classname>Zend_Service_Delicious</classname> est construit, le transport SSL de
-            <classname>Zend_Rest_Client</classname> est configuré sur <code>'ssl'</code> au lieu de la valeur par défaut
-            <code>'ssl2'</code>.</para>
+            <para>
+                En raison de quelques problèmes de del.icio.us avec <code>'ssl2'</code>
+                (environs 2 secondes pour une requête), quand un objet
+                <classname>Zend_Service_Delicious</classname> est construit, le transport SSL de
+                <classname>Zend_Rest_Client</classname> est configuré sur <code>'ssl'</code> au lieu
+                de la valeur par défaut <code>'ssl2'</code>.
+            </para>
         </note>
     </sect2>
 </sect1>

+ 116 - 60
documentation/manual/fr/module_specs/Zend_Service_Flickr.xml

@@ -1,5 +1,5 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 13582 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15157 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.service.flickr">
     <title>Zend_Service_Flickr</title>
@@ -7,13 +7,18 @@
     <sect2 id="zend.service.flickr.introduction">
         <title>Introduction</title>
 
-        <para><classname>Zend_Service_Flickr</classname> est une API simple pour utiliser le service Web REST de Flick. Pour
-        pouvoir utiliser les services Web Flickr, vous devez avoir une clé d'utilisation de l'API. Pour obtenir une
-        telle clé, et pour plus d'information sur le service Web REST de Flickr, veuillez vous référez à la <ulink
-        url="http://www.flickr.com/services/api/">documentation de l'API Flickr</ulink>.</para>
+        <para>
+            <classname>Zend_Service_Flickr</classname> est une API simple pour utiliser le
+            service Web REST de Flick. Pour pouvoir utiliser les services Web Flickr, vous devez
+            avoir une clé d'utilisation de l'API. Pour obtenir une telle clé, et pour plus
+            d'information sur le service Web REST de Flickr, veuillez vous référez à la <ulink
+            url="http://www.flickr.com/services/api/">documentation de l'API Flickr</ulink>.
+        </para>
 
-        <para>Dans l'exemple suivant, nous allons utiliser la méthode <code>tagSearch()</code> pour rechercher des
-        photos ayant "php" dans les tags.</para>
+        <para>
+            Dans l'exemple suivant, nous allons utiliser la méthode <code>tagSearch()</code>
+            pour rechercher des photos ayant "php" dans les tags.
+        </para>
 
         <example id="zend.service.flickr.introduction.example-1">
             <title>Simple recherche de photos sur Flickr</title>
@@ -32,39 +37,55 @@ foreach ($results as $result) {
         <note>
             <title>Paramètres optionnels</title>
 
-            <para><code>tagSearch()</code> accepte un tableau d'options comme second paramètre optionnel.</para>
+            <para>
+                <code>tagSearch()</code> accepte un tableau d'options comme second paramètre
+                optionnel.
+            </para>
         </note>
     </sect2>
 
     <sect2 id="zend.service.flickr.finding-users">
         <title>Trouver les photos et les informations des utilisateurs Flickr</title>
 
-        <para><classname>Zend_Service_Flickr</classname>fournit plusieurs façons différentes de récupérer des informations sur les
-        utilisateurs.</para>
+        <para>
+            <classname>Zend_Service_Flickr</classname>fournit plusieurs façons différentes de
+            récupérer des informations sur les utilisateurs.
+        </para>
 
         <itemizedlist>
             <listitem>
-                <para><code>userSearch()</code>: Accepte une chaîne de caractère de balise délimitée par des espaces, et
-                un tableau d'options en second paramètre optionnel. Elle retourne un jeu de photos sous la forme d'un
-                objet <classname>Zend_Service_Flickr_ResultSet</classname>.</para>
+                <para>
+                    <code>userSearch()</code>: Accepte une chaîne de caractère de balise
+                    délimitée par des espaces, et un tableau d'options en second paramètre
+                    optionnel. Elle retourne un jeu de photos sous la forme d'un objet
+                    <classname>Zend_Service_Flickr_ResultSet</classname>.
+                </para>
             </listitem>
 
             <listitem>
-                <para><code>getIdByUsername()</code>: Retourne l'identifiant utilisateur, correspondant à son nom
-                d'utilisateur.</para>
+                <para>
+                    <code>getIdByUsername()</code>: Retourne l'identifiant utilisateur,
+                    correspondant à son nom d'utilisateur.
+                </para>
             </listitem>
 
             <listitem>
-                <para><code>getIdByEmail()</code>: Retourne l'identifiant utilisateur correspondant à l'adresse émail
-                donnée.</para>
+                <para>
+                    <code>getIdByEmail()</code>: Retourne l'identifiant utilisateur
+                    correspondant à l'adresse émail donnée.
+                </para>
             </listitem>
         </itemizedlist>
 
         <example id="zend.service.flickr.finding-users.example-1">
-            <title>Trouver les photos publiques d'un utilisateur Flickr par son adresse émail</title>
+            <title>Trouver les photos publiques d'un utilisateur Flickr par son adresse
+            émail</title>
 
-            <para>Dans cet exemple, nous havons une adresse émail d'un utilisateur Flickr, et nous recherchons les
-            photos publiques des utilisateurs en utilisant la méthode <code>userSearch()</code> :</para>
+            <para>
+                Dans cet exemple, nous havons une adresse émail d'un utilisateur Flickr, et
+                nous recherchons les photos publiques des utilisateurs en utilisant la méthode
+                <code>userSearch()</code> :
+            </para>
 
             <programlisting role="php"><![CDATA[
 $flickr = new Zend_Service_Flickr('MA_CLE_API');
@@ -81,8 +102,11 @@ foreach ($results as $result) {
     <sect2 id="zend.service.flickr.grouppoolgetphotos">
         <title>Trouver des photos dans le pool d'un groupe</title>
 
-        <para><classname>Zend_Service_Flickr</classname> vous permet de récupérer les photos issues du pool d'un groupe à partir
-        de son ID. Utilisez pour cela la méthode <code>groupPoolGetPhotos()</code> :</para>
+        <para>
+            <classname>Zend_Service_Flickr</classname> vous permet de récupérer les photos
+            issues du pool d'un groupe à partir de son ID. Utilisez pour cela la méthode
+            <code>groupPoolGetPhotos()</code> :
+        </para>
 
         <example id="zend.service.flickr.grouppoolgetphotos.example-1">
             <title>Récupération les photos du pool d'un groupe grâce à son ID</title>
@@ -101,23 +125,29 @@ foreach ($results as $result) {
         <note>
             <title>Paramètre optionnel</title>
 
-            <para><code>groupPoolGetPhotos()</code> accepte un second paramètre optionnel sous la forme d'un tableau
-            d'options.</para>
+            <para>
+                <code>groupPoolGetPhotos()</code> accepte un second paramètre optionnel sous
+                la forme d'un tableau d'options.
+            </para>
         </note>
     </sect2>
 
     <sect2 id="zend.service.flickr.getimagedetails">
         <title>Récupérer les détails d'une image</title>
 
-        <para><classname>Zend_Service_Flickr</classname> permet de récupérer facilement et rapidement, les détails d'une image
-        grâce à son ID. Utilisez simplement la méthode <code>getImageDetails()</code>, comme dans l'exemple suivant
-        :</para>
+        <para>
+            <classname>Zend_Service_Flickr</classname> permet de récupérer facilement et
+            rapidement, les détails d'une image grâce à son ID. Utilisez simplement la méthode
+            <code>getImageDetails()</code>, comme dans l'exemple suivant :
+        </para>
 
         <example id="zend.service.flickr.getimagedetails.example-1">
             <title>Récupérer les détails d'une image</title>
 
-            <para>Une fois que vous avez l'identifiant de l'image Flickr, il est simple de retrouver les informations
-            qui lui sont associées :</para>
+            <para>
+                Une fois que vous avez l'identifiant de l'image Flickr, il est simple de
+                retrouver les informations qui lui sont associées :
+            </para>
 
             <programlisting role="php"><![CDATA[
 $flickr = new Zend_Service_Flickr('MA_CLE_API');
@@ -134,23 +164,31 @@ echo "<a href=\"$image->clickUri\">Clicker pour l'image</a>\n";
     <sect2 id="zend.service.flickr.classes">
         <title>Classes de résultats Zend_Service_Flickr</title>
 
-        <para>Les classes suivantes sont toutes retournées par <code>tagSearch()</code> et <code>userSearch()</code> :
-        <itemizedlist>
-                <listitem>
-                    <para><link
-                    linkend="zend.service.flickr.classes.resultset"><classname>Zend_Service_Flickr_ResultSet</classname></link></para>
+        <para>
+            Les classes suivantes sont toutes retournées par <code>tagSearch()</code> et
+            <code>userSearch()</code> : <itemizedlist>
+                    <listitem>
+                    <para>
+                        <link
+                        linkend="zend.service.flickr.classes.resultset"><classname>Zend_Service_Flickr_ResultSet</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.flickr.classes.result"><classname>Zend_Service_Flickr_Result</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.flickr.classes.result"><classname>Zend_Service_Flickr_Result</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.flickr.classes.image"><classname>Zend_Service_Flickr_Image</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.flickr.classes.image"><classname>Zend_Service_Flickr_Image</classname></link>
+                    </para>
                 </listitem>
-            </itemizedlist></para>
+                </itemizedlist>
+            </para>
 
         <sect3 id="zend.service.flickr.classes.resultset">
             <title>Zend_Service_Flickr_ResultSet</title>
@@ -158,8 +196,11 @@ echo "<a href=\"$image->clickUri\">Clicker pour l'image</a>\n";
             <para>Représente le jeu de résultats d'une recherche sur Flickr.</para>
 
             <note>
-                <para>Implémente l'itérateur <code>SeekableIterator</code> (ie en utilisant <code>foreach</code>), ainsi
-                qu'un accès direct à un résultat particulier en utilisant <code>seek()</code>.</para>
+                <para>
+                    Implémente l'itérateur <code>SeekableIterator</code> (ie en utilisant
+                    <code>foreach</code>), ainsi qu'un accès direct à un résultat particulier en
+                    utilisant <code>seek()</code>.
+                </para>
             </note>
 
             <sect4 id="zend.service.flickr.classes.resultset.properties">
@@ -201,7 +242,8 @@ echo "<a href=\"$image->clickUri\">Clicker pour l'image</a>\n";
 
                                 <entry>int</entry>
 
-                                <entry>??? The offset in the total result set of this result set ???</entry>
+                                <entry>??? The offset in the total result set of this result set
+                                ???</entry>
                             </row>
                         </tbody>
                     </tgroup>
@@ -211,17 +253,22 @@ echo "<a href=\"$image->clickUri\">Clicker pour l'image</a>\n";
             <sect4 id="zend.service.flickr.classes.resultset.totalResults">
                 <title>Zend_Service_Flickr_ResultSet::totalResults()</title>
 
-                <para><methodsynopsis>
-                        <type>int</type>
-
-                        <methodname>totalResults</methodname>
-
-                        <void />
-                    </methodsynopsis></para>
+                <para>
+                    <methodsynopsis>
+                            <type>int</type>
+    
+                            <methodname>totalResults</methodname>
+    
+                            <void />
+                        </methodsynopsis>
+                    </para>
 
                 <para>Retourne le nombre de totale de résultats dans ce jeu de résultats.</para>
 
-                <para><link linkend="zend.service.flickr.classes">Retour à la liste des classes</link></para>
+                <para>
+                    <link linkend="zend.service.flickr.classes">Retour à la liste des
+                    classes</link>
+                </para>
             </sect4>
         </sect3>
 
@@ -277,7 +324,8 @@ echo "<a href=\"$image->clickUri\">Clicker pour l'image</a>\n";
 
                                 <entry>string</entry>
 
-                                <entry>Le nom du serveur à utiliser pour construire l'URL.</entry>
+                                <entry>Le nom du serveur à utiliser pour construire
+                                l'URL.</entry>
                             </row>
 
                             <row>
@@ -301,8 +349,8 @@ echo "<a href=\"$image->clickUri\">Clicker pour l'image</a>\n";
 
                                 <entry>string</entry>
 
-                                <entry>Vous pouvez voir la photo parce que vous êtes un ami du propriétaire de cette
-                                photo.</entry>
+                                <entry>Vous pouvez voir la photo parce que vous êtes un ami du
+                                propriétaire de cette photo.</entry>
                             </row>
 
                             <row>
@@ -310,8 +358,8 @@ echo "<a href=\"$image->clickUri\">Clicker pour l'image</a>\n";
 
                                 <entry>string</entry>
 
-                                <entry>Vous pouvez voir la photo parce que vous êtes de la famille du propriétaire de
-                                cette photo.</entry>
+                                <entry>Vous pouvez voir la photo parce que vous êtes de la
+                                famille du propriétaire de cette photo.</entry>
                             </row>
 
                             <row>
@@ -319,7 +367,8 @@ echo "<a href=\"$image->clickUri\">Clicker pour l'image</a>\n";
 
                                 <entry>string</entry>
 
-                                <entry>La licence sous laquelle cette photo est disponible.</entry>
+                                <entry>La licence sous laquelle cette photo est
+                                disponible.</entry>
                             </row>
 
                             <row>
@@ -351,7 +400,8 @@ echo "<a href=\"$image->clickUri\">Clicker pour l'image</a>\n";
 
                                 <entry>string</entry>
 
-                                <entry>Le serveur utilisé pour l'assemblage des ??? icon URLs ???.</entry>
+                                <entry>Le serveur utilisé pour l'assemblage des ??? icon URLs
+                                ???.</entry>
                             </row>
 
                             <row>
@@ -411,7 +461,10 @@ echo "<a href=\"$image->clickUri\">Clicker pour l'image</a>\n";
                     </tgroup>
                 </table>
 
-                <para><link linkend="zend.service.flickr.classes">Retour à la liste des classes</link></para>
+                <para>
+                    <link linkend="zend.service.flickr.classes">Retour à la liste des
+                    classes</link>
+                </para>
             </sect4>
         </sect3>
 
@@ -473,7 +526,10 @@ echo "<a href=\"$image->clickUri\">Clicker pour l'image</a>\n";
                     </tgroup>
                 </table>
 
-                <para><link linkend="zend.service.flickr.classes">Retour à la liste des classes</link></para>
+                <para>
+                    <link linkend="zend.service.flickr.classes">Retour à la liste des
+                    classes</link>
+                </para>
             </sect4>
         </sect3>
     </sect2>

+ 62 - 41
documentation/manual/fr/module_specs/Zend_Service_Simpy.xml

@@ -1,5 +1,5 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 11089 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15157 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.service.simpy">
     <title>Zend_Service_Simpy</title>
@@ -7,42 +7,54 @@
     <sect2 id="zend.service.simpy.introduction">
         <title>Introduction</title>
 
-        <para><classname>Zend_Service_Simpy</classname> permet l'interaction avec les services Web du réseau social de partage de
-        'marque-pages' (de 'favoris', de 'liens') Simpy.</para>
-
-        <para>Pour utiliser <classname>Zend_Service_Simpy</classname>, vous devez posséder un compte. Pour ceci, voyez <ulink
-        url="http://simpy.com">le site Web de Simpy</ulink>. Pour plus d'informations sur l'API REST de Simpy, voyez
-        <ulink url="http://www.simpy.com/doc/api/rest">sa documentation </ulink>.</para>
-
-        <para>Les sections qui suivent vont vous indiquer les éléments sur lesquels vous pouvez agir en utilisant l'API
-        de Simpy, via <classname>Zend_Service_Simpy</classname>. <itemizedlist>
-                <listitem>
-                    <para>Liens: Créer, requêter, mettre à jour, supprimer</para>
-                </listitem>
-
-                <listitem>
-                    <para>Mots-clés: requêter, supprimer, renommer, fusionner, éclater</para>
-                </listitem>
-
-                <listitem>
-                    <para>Notes: Créer, requêter, mettre à jour, supprimer</para>
-                </listitem>
-
-                <listitem>
-                    <para>Listes: récupérer, récupérer tout</para>
-                </listitem>
-            </itemizedlist></para>
+        <para>
+            <classname>Zend_Service_Simpy</classname> permet l'interaction avec les services
+            Web du réseau social de partage de 'marque-pages' (de 'favoris', de 'liens')
+            Simpy.
+        </para>
+
+        <para>
+            Pour utiliser <classname>Zend_Service_Simpy</classname>, vous devez posséder un
+            compte. Pour ceci, voyez <ulink url="http://simpy.com">le site Web de Simpy</ulink>.
+            Pour plus d'informations sur l'API REST de Simpy, voyez <ulink
+            url="http://www.simpy.com/doc/api/rest">sa documentation </ulink>.
+        </para>
+
+        <para>
+            Les sections qui suivent vont vous indiquer les éléments sur lesquels vous pouvez
+            agir en utilisant l'API de Simpy, via <classname>Zend_Service_Simpy</classname>.
+            <itemizedlist>
+                    <listitem>
+                        <para>Liens: Créer, requêter, mettre à jour, supprimer</para>
+                    </listitem>
+    
+                    <listitem>
+                        <para>Mots-clés: requêter, supprimer, renommer, fusionner, éclater</para>
+                    </listitem>
+    
+                    <listitem>
+                        <para>Notes: Créer, requêter, mettre à jour, supprimer</para>
+                    </listitem>
+    
+                    <listitem>
+                        <para>Listes: récupérer, récupérer tout</para>
+                    </listitem>
+                </itemizedlist>
+            </para>
     </sect2>
 
     <sect2 id="zend.service.simpy.links">
         <title>Liens</title>
 
-        <para>Lors d'interactions avec les liens, ceux-ci sont retournées dans l'ordre descendant par date d'ajout. Vous
-        pouvez les chercher par titre, auteur, mots-clés, notes ou même via le contenu de leur page. Vous pouvez
-        chercher selon tous ces critères avec des phrases, des booléens ou des jokers. Voyez la <ulink
-        url="http://www.simpy.com/faq#searchSyntax">syntaxe de recherche</ulink> et <ulink
-        url="http://www.simpy.com/faq#searchFieldsLinks">les champs de recherche</ulink> depuis la FAQ de Simpy, pour
-        plus d'informations.</para>
+        <para>
+            Lors d'interactions avec les liens, ceux-ci sont retournées dans l'ordre
+            descendant par date d'ajout. Vous pouvez les chercher par titre, auteur, mots-clés,
+            notes ou même via le contenu de leur page. Vous pouvez chercher selon tous ces critères
+            avec des phrases, des booléens ou des jokers. Voyez la <ulink
+            url="http://www.simpy.com/faq#searchSyntax">syntaxe de recherche</ulink> et <ulink
+            url="http://www.simpy.com/faq#searchFieldsLinks">les champs de recherche</ulink> depuis
+            la FAQ de Simpy, pour plus d'informations.
+        </para>
 
         <example id="zend.service.simpy.links.querying">
             <title>Requêter des liens</title>
@@ -92,8 +104,10 @@ $linkQuery->setAfterDate('2006-12-09');
 ]]></programlisting>
         </example>
 
-        <para>Les liens sont représentés de manière unique par leur URL. Ainsi tenter de sauvegarder un lien ayant le
-        même URL qu'un lien existant va l'écraser.</para>
+        <para>
+            Les liens sont représentés de manière unique par leur URL. Ainsi tenter de
+            sauvegarder un lien ayant le même URL qu'un lien existant va l'écraser.
+        </para>
 
         <example id="zend.service.simpy.links.modifying">
             <title>Modifier des liens</title>
@@ -136,7 +150,10 @@ foreach ($linkSet as $link) {
     <sect2 id="zend.service.simpy.tags">
         <title>Mots-clés</title>
 
-        <para>Les mots-clés sont récupérés dans l'ordre descendant, par le nombre de liens utilisant le mot-clé.</para>
+        <para>
+            Les mots-clés sont récupérés dans l'ordre descendant, par le nombre de liens
+            utilisant le mot-clé.
+        </para>
 
         <example id="zend.service.simpy.tags.working">
             <title>Travailler avec les mots-clés</title>
@@ -185,8 +202,10 @@ $simpy->mergeTags('framework', 'development', 'frameworks');
     <sect2 id="zend.service.simpy.notes">
         <title>Notes</title>
 
-        <para>Les notes peuvent être sauvées, récupérées, effacées. Elles possèdent un identifiant numérique
-        unique.</para>
+        <para>
+            Les notes peuvent être sauvées, récupérées, effacées. Elles possèdent un
+            identifiant numérique unique.
+        </para>
 
         <example id="zend.service.simpy.notes.working">
             <title>Travailler avec les notes</title>
@@ -239,9 +258,11 @@ $simpy->deleteNote($note->getId());
     <sect2 id="zend.service.simpy.watchlists">
         <title>Listes de surveillance</title>
 
-        <para>Les listes de surveillance ne peuvent qu'être requêtées via l'API Simpy. Vous devez donc vous assurer
-        qu'elles sont correctement créées, depuis le site Web de Simpy, il n'est pas possible de les créer ou les
-        supprimer depuis l'API.</para>
+        <para>
+            Les listes de surveillance ne peuvent qu'être requêtées via l'API Simpy. Vous
+            devez donc vous assurer qu'elles sont correctement créées, depuis le site Web de Simpy,
+            il n'est pas possible de les créer ou les supprimer depuis l'API.
+        </para>
 
         <example id="zend.service.simpy.watchlists.retrieving">
             <title>Récupérer des listes de surveillance</title>

+ 76 - 39
documentation/manual/fr/module_specs/Zend_Service_SlideShare.xml

@@ -1,24 +1,33 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 13830 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15346 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.service.slideshare">
     <title>Introduction</title>
 
-    <para>Le composant <classname>Zend_Service_SlideShare</classname> est utilisé dans l'interaction avec les services Web de
-    <ulink url="http://www.slideshare.net/">slideshare.net</ulink>, plate-forme servant d'hébergement de diaporamas.
-    Grâce à ce composant, vous pouvez intégrer des diaporamas de Slideshare, dans votre propre site Web, ou même
-    uploader des nouveaux diaporamas sur votre compte Slideshare, depuis votre site Web.</para>
+    <para>
+        Le composant <classname>Zend_Service_SlideShare</classname> est utilisé dans
+        l'interaction avec les services Web de <ulink
+        url="http://www.slideshare.net/">slideshare.net</ulink>, plate-forme servant d'hébergement
+        de diaporamas. Grâce à ce composant, vous pouvez intégrer des diaporamas de Slideshare, dans
+        votre propre site Web, ou même uploader des nouveaux diaporamas sur votre compte Slideshare,
+        depuis votre site Web.
+    </para>
 
     <sect2 id="zend.service.slideshare.basicusage">
         <title>Démarrage avec <classname>Zend_Service_SlideShare</classname></title>
 
-        <para>Pour utiliser <classname>Zend_Service_SlideShare</classname>, vous devez créer au préalable un compte sur
-        slideshare.net (plus d'informations à ce sujet <ulink url="http://www.slideshare.net/developers/">ici</ulink>),
-        afin de recevoir votre clé d'API et votre login / mot de passe, indispensables pour utiliser le service
-        Web.</para>
+        <para>
+            Pour utiliser <classname>Zend_Service_SlideShare</classname>, vous devez créer au
+            préalable un compte sur slideshare.net (plus d'informations à ce sujet <ulink
+            url="http://www.slideshare.net/developers/">ici</ulink>), afin de recevoir votre clé
+            d'API et votre login / mot de passe, indispensables pour utiliser le service Web.
+        </para>
 
-        <para>Une fois votre compte créé, vous pouvez utiliser <classname>Zend_Service_SlideShare</classname> en créant une
-        instance de <classname>Zend_Service_SlideShare</classname> en lui passant vos identifiants :</para>
+        <para>
+            Une fois votre compte créé, vous pouvez utiliser
+            <classname>Zend_Service_SlideShare</classname> en créant une instance de
+            <classname>Zend_Service_SlideShare</classname> en lui passant vos identifiants :
+        </para>
 
         <programlisting role="php"><![CDATA[
 // Crée une instance du composant
@@ -32,9 +41,12 @@ $ss = new Zend_Service_SlideShare('APIKEY',
     <sect2 id="zend.service.slideshare.slideshowobj">
         <title>L'objet SlideShow</title>
 
-        <para>Chaque diaporama issu de <classname>Zend_Service_SlideShare</classname> est matérialisé par un objet
-        <classname>Zend_Service_SlideShare_SlideShow</classname> (que ce soit pour uploader ou récupérer des diaporamas). Pour
-        information, voici un pseudo code de cette classe :</para>
+        <para>
+            Chaque diaporama issu de <classname>Zend_Service_SlideShare</classname> est
+            matérialisé par un objet <classname>Zend_Service_SlideShare_SlideShow</classname> (que
+            ce soit pour uploader ou récupérer des diaporamas). Pour information, voici un pseudo
+            code de cette classe :
+        </para>
 
         <programlisting role="php"><![CDATA[
 class Zend_Service_SlideShare_SlideShow {
@@ -176,21 +188,31 @@ class Zend_Service_SlideShare_SlideShow {
 ]]></programlisting>
 
         <note>
-            <para>La classe présentée ci dessus ne montre que les méthodes qui sont sensées être utilisées par les
-            développeurs. D'autres méthodes internes au composant existent.</para>
+            <para>
+                La classe présentée ci dessus ne montre que les méthodes qui sont sensées être
+                utilisées par les développeurs. D'autres méthodes internes au composant
+                existent.
+            </para>
         </note>
 
-        <para>Lors de l'utilisation de <classname>Zend_Service_SlideShare</classname>, la classe de données Slideshow sera souvent
-        utilisée pour parcourir, ajouter, ou modifier des diaporamas.</para>
+        <para>
+            Lors de l'utilisation de <classname>Zend_Service_SlideShare</classname>, la classe
+            de données Slideshow sera souvent utilisée pour parcourir, ajouter, ou modifier des
+            diaporamas.
+        </para>
     </sect2>
 
     <sect2 id="zend.service.slideshare.getslideshow">
         <title>Récupérer un diaporama simplement</title>
 
-        <para>La manière la plus simple d'utiliser <classname>Zend_Service_SlideShare</classname> est la récupération d'un
-        diaporama depuis son ID, fournit par le service slideshare.net, ceci est effectué via la méthode
-        <code>getSlideShow()</code> de l'objet <classname>Zend_Service_SlideShare</classname>. Le résultat de cette méthode est un
-        objet de type <classname>Zend_Service_SlideShare_SlideShow</classname>.</para>
+        <para>
+            La manière la plus simple d'utiliser
+            <classname>Zend_Service_SlideShare</classname> est la récupération d'un diaporama depuis
+            son ID, fournit par le service slideshare.net, ceci est effectué via la méthode
+            <code>getSlideShow()</code> de l'objet <classname>Zend_Service_SlideShare</classname>.
+            Le résultat de cette méthode est un objet de type
+            <classname>Zend_Service_SlideShare_SlideShow</classname>.
+        </para>
 
         <programlisting role="php"><![CDATA[
 // Création d'une instance du composant
@@ -209,29 +231,38 @@ print "Nombre de diapositives : {$slideshow->getNumViews()}<br/>\n";
     <sect2 id="zend.service.slideshare.getslideshowlist">
         <title>Récupérer des groupes de diaporamas</title>
 
-        <para>Si vous ne connaissez pas l'ID spécifique d'un diaporama vous intéressant, il est possible de récupérer
-        des groupes de diaporamas, en utilisant une de ces trois méthodes :</para>
+        <para>
+            Si vous ne connaissez pas l'ID spécifique d'un diaporama vous intéressant, il est
+            possible de récupérer des groupes de diaporamas, en utilisant une de ces trois méthodes
+            :
+        </para>
 
         <itemizedlist mark="opencircle">
             <listitem>
                 <para><emphasis>Diaporamas depuis un compte spécifique</emphasis></para>
 
-                <para>La méthode <code>getSlideShowsByUsername()</code> va retourner tous les diaporamas depuis un
-                compte utilisateur.</para>
+                <para>
+                    La méthode <code>getSlideShowsByUsername()</code> va retourner tous les
+                    diaporamas depuis un compte utilisateur.
+                </para>
             </listitem>
 
             <listitem>
                 <para><emphasis>Diaporamas contenant des tags spécifiques</emphasis></para>
 
-                <para>La méthode <code>getSlideShowsByTag</code> va retourner un ensemble de diaporamas comportant
-                certains tags (mots-clés).</para>
+                <para>
+                    La méthode <code>getSlideShowsByTag</code> va retourner un ensemble de
+                    diaporamas comportant certains tags (mots-clés).
+                </para>
             </listitem>
 
             <listitem>
                 <para><emphasis>Diaporamas depuis un groupe</emphasis></para>
 
-                <para>La méthode <code>getSlideShowsByGroup</code> récupère tous les diaporamas d'un groupe
-                donné.</para>
+                <para>
+                    La méthode <code>getSlideShowsByGroup</code> récupère tous les diaporamas
+                    d'un groupe donné.
+                </para>
             </listitem>
         </itemizedlist>
 
@@ -262,10 +293,13 @@ foreach($ss_user as $slideshow) {
     <sect2 id="zend.service.slideshare.caching">
         <title>Politique de cache de <classname>Zend_Service_SlideShare</classname></title>
 
-        <para>Par défaut, <classname>Zend_Service_SlideShare</classname> va mettre en cache toute requête concernant le service
-        Web, dans le système de fichier (par défaut : <code>/tmp</code>), ceci pour une durée de 12 heures. Si vous
-        voulez changer ce comportement, vous devez passer votre propre objet <xref linkend="zend.cache" /> en utilisant
-        la méthode <code>setCacheObject</code> :</para>
+        <para>
+            Par défaut, <classname>Zend_Service_SlideShare</classname> va mettre en cache
+            toute requête concernant le service Web, dans le système de fichier (par défaut :
+            <code>/tmp</code>), ceci pour une durée de 12 heures. Si vous voulez changer ce
+            comportement, vous devez passer votre propre objet <xref linkend="zend.cache" /> en
+            utilisant la méthode <code>setCacheObject</code> :
+        </para>
 
         <programlisting role="php"><![CDATA[
 $frontendOptions = array(
@@ -292,10 +326,13 @@ $ss_user = $ss->getSlideShowsByUser('username', $starting_offset, $limit);
     <sect2 id="zend.service.slideshare.httpclient">
         <title>Changer le comportement du client HTTP</title>
 
-        <para>Si pour une raison quelconque vous souhaitez changer le comportement de l'objet client HTTP utilisé pour
-        interroger le service Web, vous pouvez créer votre propre instance de <classname>Zend_Http_Client</classname> (voyez <xref
-        linkend="zend.http" />). Ceci peut être utile par exemple pour spécifier un timeout ou toute autre chose
-        :</para>
+        <para>
+            Si pour une raison quelconque vous souhaitez changer le comportement de l'objet
+            client HTTP utilisé pour interroger le service Web, vous pouvez créer votre propre
+            instance de <classname>Zend_Http_Client</classname> (voyez <xref
+            linkend="zend.http" />). Ceci peut être utile par exemple pour spécifier un timeout ou
+            toute autre chose :
+        </para>
 
         <programlisting role="php"><![CDATA[
 $client = new Zend_Http_Client();

+ 339 - 162
documentation/manual/fr/module_specs/Zend_Service_Yahoo.xml

@@ -1,5 +1,5 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 13170 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15157 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.service.yahoo">
     <title>Zend_Service_Yahoo</title>
@@ -7,22 +7,29 @@
     <sect2 id="zend.service.yahoo.introduction">
         <title>Introduction</title>
 
-        <para><classname>Zend_Service_Yahoo</classname> est une API simple pour utiliser les APIs REST de Yahoo!
-        <classname>Zend_Service_Yahoo</classname> vous permet de rechercher dans Yahoo! Web Search, Yahoo! News, Yahoo! Local et
-        Yahoo! Images. Pour pouvoir utiliser l'API REST de Yahoo!, vous devez avoir un identifiant Yahoo Application.
-        Pour obtenir un identifiant Yahoo Application, veuillez compléter et soumettre le <ulink
-        url="https://developer.yahoo.com/wsregapp/">formulaire de demande d'identifiant Yahoo!
-        Application</ulink>.</para>
+        <para>
+            <classname>Zend_Service_Yahoo</classname> est une API simple pour utiliser les
+            APIs REST de Yahoo! <classname>Zend_Service_Yahoo</classname> vous permet de rechercher
+            dans Yahoo! Web Search, Yahoo! News, Yahoo! Local et Yahoo! Images. Pour pouvoir
+            utiliser l'API REST de Yahoo!, vous devez avoir un identifiant Yahoo Application. Pour
+            obtenir un identifiant Yahoo Application, veuillez compléter et soumettre le <ulink
+            url="https://developer.yahoo.com/wsregapp/">formulaire de demande d'identifiant Yahoo!
+            Application</ulink>.
+        </para>
     </sect2>
 
     <sect2 id="zend.service.yahoo.websearch">
         <title>Rechercher sur le Web avec Yahoo!</title>
 
-        <para><classname>Zend_Service_Yahoo</classname> vous permet d'effectuer des recherches sur le net avec Yahoo! en utilisant
-        la méthode <code>webSearch()</code>, qui accepte une chaîne de requête en paramètre, et un tableau d'options de
-        recherche comme second paramètre. Pour la liste détaillée des options, veuillez vous référer à la documentation
-        <ulink url="http://developer.yahoo.com/search/web/V1/webSearch.html">Yahoo! Web Search</ulink>. La méthode
-        <code>webSearch()</code> retourne un objet <classname>Zend_Service_Yahoo_WebResultSet</classname>.</para>
+        <para>
+            <classname>Zend_Service_Yahoo</classname> vous permet d'effectuer des recherches
+            sur le net avec Yahoo! en utilisant la méthode <code>webSearch()</code>, qui accepte une
+            chaîne de requête en paramètre, et un tableau d'options de recherche comme second
+            paramètre. Pour la liste détaillée des options, veuillez vous référer à la documentation
+            <ulink url="http://developer.yahoo.com/search/web/V1/webSearch.html">Yahoo! Web
+            Search</ulink>. La méthode <code>webSearch()</code> retourne un objet
+            <classname>Zend_Service_Yahoo_WebResultSet</classname>.
+        </para>
 
         <example id="zend.service.yahoo.websearch.example-1">
             <title>Rechercher sur le Web avec Yahoo!</title>
@@ -40,11 +47,14 @@ foreach ($results as $result) {
     <sect2 id="zend.service.yahoo.imagesearch">
         <title>Trouver des images avec Yahoo!</title>
 
-        <para>Vous pouvez rechercher des images avec Yahoo! en utilisant la méthode <code>imageSearch()</code> de
-        <classname>Zend_Service_Yahoo</classname>. Cette méthode accepte une chaîne de requête en paramètres, et un tableau
-        d'options en second paramètre optionnel. Pour la liste complète des options, veuillez vous référer à la
-        documentation <ulink url="http://developer.yahoo.com/search/image/V1/imageSearch.html">Yahoo! Image
-        Search</ulink>.</para>
+        <para>
+            Vous pouvez rechercher des images avec Yahoo! en utilisant la méthode
+            <code>imageSearch()</code> de <classname>Zend_Service_Yahoo</classname>. Cette méthode
+            accepte une chaîne de requête en paramètres, et un tableau d'options en second paramètre
+            optionnel. Pour la liste complète des options, veuillez vous référer à la documentation
+            <ulink url="http://developer.yahoo.com/search/image/V1/imageSearch.html">Yahoo! Image
+            Search</ulink>.
+        </para>
 
         <example id="zend.service.yahoo.imagesearch.example-1">
             <title>Trouver des images avec Yahoo!</title>
@@ -62,9 +72,13 @@ foreach ($results as $result) {
     <sect2 id="zend.service.yahoo.videosearch">
         <title>Trouver des vidéos avec Yahoo!</title>
 
-        <para>Vous pouvez rechercher des vidéos avec Yahoo! en utilisant la méthode <code>videoSearch()</code> de
-        <classname>Zend_Service_Yahoo</classname>. Pour la liste complète des options, veuillez vous référer à la documentation
-        <ulink url="http://developer.yahoo.com/search/video/V1/videoSearch.html">Yahoo! Video Search</ulink>.</para>
+        <para>
+            Vous pouvez rechercher des vidéos avec Yahoo! en utilisant la méthode
+            <code>videoSearch()</code> de <classname>Zend_Service_Yahoo</classname>. Pour la liste
+            complète des options, veuillez vous référer à la documentation <ulink
+            url="http://developer.yahoo.com/search/video/V1/videoSearch.html">Yahoo! Video
+            Search</ulink>.
+        </para>
 
         <example id="zend.service.yahoo.videosearch.example-1">
             <title>Trouver des vidéos avec Yahoo!</title>
@@ -82,9 +96,13 @@ foreach ($results as $result) {
     <sect2 id="zend.service.yahoo.localsearch">
         <title>Trouver des entreprises et des services locaux avec Yahoo!</title>
 
-        <para>Vous pouvez rechercher des entreprises et des services locaux avec Yahoo!, en utilisant la méthode
-        <code>localSearch()</code>. Pour plus de détails, veuillez vous référer à la documentation <ulink
-        url="http://developer.yahoo.com/search/local/V1/localSearch.html">Yahoo! Local Search</ulink>.</para>
+        <para>
+            Vous pouvez rechercher des entreprises et des services locaux avec Yahoo!, en
+            utilisant la méthode <code>localSearch()</code>. Pour plus de détails, veuillez vous
+            référer à la documentation <ulink
+            url="http://developer.yahoo.com/search/local/V1/localSearch.html">Yahoo! Local
+            Search</ulink>.
+        </para>
 
         <example id="zend.service.yahoo.localsearch.example-1">
             <title>Trouver des entreprises locales et des services avec Yahoo!</title>
@@ -102,10 +120,13 @@ foreach ($results as $result) {
     <sect2 id="zend.service.yahoo.newssearch">
         <title>Rechercher dans Yahoo! News</title>
 
-        <para>Rechercher dans Yahoo! News est simple, il vous suffit simplement d'utiliser la méthode
-        <code>newsSearch()</code>, comme le montre l'exemple suivant. Pour plus de détails, veuillez vous référer à la
-        documentation <ulink url="http://developer.yahoo.net/search/news/V1/newsSearch.html">Yahoo! News
-        Search</ulink>.</para>
+        <para>
+            Rechercher dans Yahoo! News est simple, il vous suffit simplement d'utiliser la
+            méthode <code>newsSearch()</code>, comme le montre l'exemple suivant. Pour plus de
+            détails, veuillez vous référer à la documentation <ulink
+            url="http://developer.yahoo.net/search/news/V1/newsSearch.html">Yahoo! News
+            Search</ulink>.
+        </para>
 
         <example id="zend.service.yahoo.newssearch.example-1">
             <title>Recherche dans Yahoo! News</title>
@@ -123,10 +144,13 @@ foreach ($results as $result) {
     <sect2 id="zend.service.yahoo.inlinkdatasearch">
         <title>Rechercher avec Yahoo! Site Explorer Inbound Links</title>
 
-        <para>Rechercher avec Yahoo! Site Explorer Inbound Links est simple, il vous suffit simplement d'utiliser la
-        méthode <code>inlinkDataSearch()</code> comme le montre l'exemple suivant. Pour plus de détails, veuillez vous
-        référer à la documentation <ulink url="http://developer.yahoo.com/search/siteexplorer/V1/inlinkData.html">Yahoo!
-        Site Explorer Inbound Links Documentation</ulink>.</para>
+        <para>
+            Rechercher avec Yahoo! Site Explorer Inbound Links est simple, il vous suffit
+            simplement d'utiliser la méthode <code>inlinkDataSearch()</code> comme le montre
+            l'exemple suivant. Pour plus de détails, veuillez vous référer à la documentation <ulink
+            url="http://developer.yahoo.com/search/siteexplorer/V1/inlinkData.html">Yahoo! Site
+            Explorer Inbound Links Documentation</ulink>.
+        </para>
 
         <example id="zend.service.yahoo.inlinkdatasearch.example-1">
             <title>Recherche avec Yahoo! Site Explorer Inbound Links</title>
@@ -144,10 +168,13 @@ foreach ($results as $result) {
     <sect2 id="zend.service.yahoo.pagedatasearch">
         <title>Rechercher avec Yahoo! Site Explorer's PageData</title>
 
-        <para>Rechercher avec Yahoo! Site Explorer's PageData est simple, il vous suffit simplement d'utiliser la
-        méthode <code>pageDataSearch()</code> comme le montre l'exemple suivant. Pour plus de détails, veuillez vous
-        référer à la documentation <ulink url="http://developer.yahoo.com/search/siteexplorer/V1/pageData.html">Yahoo!
-        Site Explorer PageData Documentation</ulink>.</para>
+        <para>
+            Rechercher avec Yahoo! Site Explorer's PageData est simple, il vous suffit
+            simplement d'utiliser la méthode <code>pageDataSearch()</code> comme le montre l'exemple
+            suivant. Pour plus de détails, veuillez vous référer à la documentation <ulink
+            url="http://developer.yahoo.com/search/siteexplorer/V1/pageData.html">Yahoo! Site
+            Explorer PageData Documentation</ulink>.
+        </para>
 
         <example id="zend.service.yahoo.pagedatasearch.example-1">
             <title>Recherche avec Yahoo! Site Explorer's PageData</title>
@@ -165,116 +192,159 @@ foreach ($results as $result) {
     <sect2 id="zend.service.yahoo.classes">
         <title>Classes Zend_Service_Yahoo</title>
 
-        <para>Les classes sont toutes retournées par les diverses recherches Yahoo!. Chaque type de recherche retourne
-        un jeu de résultat spécifique sur lequel on peut facilement itérer, avec chaque résultat contenu dans un
-        résultat du type de l'objet. Toutes les classes de jeu de résultat implémentent l'interface
-        <code>SeekableIterator</code>, permettant des itérations et une recherche sur un résultat particulier.
-        <itemizedlist>
-                <listitem>
-                    <para><link
-                    linkend="zend.service.yahoo.classes.resultset"><classname>Zend_Service_Yahoo_ResultSet</classname></link></para>
+        <para>
+            Les classes sont toutes retournées par les diverses recherches Yahoo!. Chaque type
+            de recherche retourne un jeu de résultat spécifique sur lequel on peut facilement
+            itérer, avec chaque résultat contenu dans un résultat du type de l'objet. Toutes les
+            classes de jeu de résultat implémentent l'interface <code>SeekableIterator</code>,
+            permettant des itérations et une recherche sur un résultat particulier. <itemizedlist>
+                    <listitem>
+                    <para>
+                        <link
+                        linkend="zend.service.yahoo.classes.resultset"><classname>Zend_Service_Yahoo_ResultSet</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.yahoo.classes.webresultset"><classname>Zend_Service_Yahoo_WebResultSet</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.yahoo.classes.webresultset"><classname>Zend_Service_Yahoo_WebResultSet</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.yahoo.classes.imageresultset"><classname>Zend_Service_Yahoo_ImageResultSet</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.yahoo.classes.imageresultset"><classname>Zend_Service_Yahoo_ImageResultSet</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.yahoo.classes.videoresultset"><classname>Zend_Service_Yahoo_VideoResultSet</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.yahoo.classes.videoresultset"><classname>Zend_Service_Yahoo_VideoResultSet</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.yahoo.classes.localresultset"><classname>Zend_Service_Yahoo_LocalResultSet</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.yahoo.classes.localresultset"><classname>Zend_Service_Yahoo_LocalResultSet</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.yahoo.classes.newsresultset"><classname>Zend_Service_Yahoo_NewsResultSet</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.yahoo.classes.newsresultset"><classname>Zend_Service_Yahoo_NewsResultSet</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.yahoo.classes.inlinkdataresultset"><classname>Zend_Service_Yahoo_InlinkDataResultSet</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.yahoo.classes.inlinkdataresultset"><classname>Zend_Service_Yahoo_InlinkDataResultSet</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.yahoo.classes.pagedataresultset"><classname>Zend_Service_Yahoo_PageDataResultSet</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.yahoo.classes.pagedataresultset"><classname>Zend_Service_Yahoo_PageDataResultSet</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.yahoo.classes.result"><classname>Zend_Service_Yahoo_Result</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.yahoo.classes.result"><classname>Zend_Service_Yahoo_Result</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.yahoo.classes.webresult"><classname>Zend_Service_Yahoo_WebResult</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.yahoo.classes.webresult"><classname>Zend_Service_Yahoo_WebResult</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.yahoo.classes.imageresult"><classname>Zend_Service_Yahoo_ImageResult</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.yahoo.classes.imageresult"><classname>Zend_Service_Yahoo_ImageResult</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.yahoo.classes.videoresult"><classname>Zend_Service_Yahoo_VideoResult</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.yahoo.classes.videoresult"><classname>Zend_Service_Yahoo_VideoResult</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.yahoo.classes.localresult"><classname>Zend_Service_Yahoo_LocalResult</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.yahoo.classes.localresult"><classname>Zend_Service_Yahoo_LocalResult</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.yahoo.classes.newsresult"><classname>Zend_Service_Yahoo_NewsResult</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.yahoo.classes.newsresult"><classname>Zend_Service_Yahoo_NewsResult</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.yahoo.classes.inlinkdataresult"><classname>Zend_Service_Yahoo_InlinkDataResult</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.yahoo.classes.inlinkdataresult"><classname>Zend_Service_Yahoo_InlinkDataResult</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.yahoo.classes.pagedataresult"><classname>Zend_Service_Yahoo_PageDataResult</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.yahoo.classes.pagedataresult"><classname>Zend_Service_Yahoo_PageDataResult</classname></link>
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para><link
-                    linkend="zend.service.yahoo.classes.image"><classname>Zend_Service_Yahoo_Image</classname></link></para>
+                    <para>
+                        <link
+                        linkend="zend.service.yahoo.classes.image"><classname>Zend_Service_Yahoo_Image</classname></link>
+                    </para>
                 </listitem>
-            </itemizedlist></para>
+                </itemizedlist>
+            </para>
 
         <sect3 id="zend.service.yahoo.classes.resultset">
             <title>Zend_Service_Yahoo_ResultSet</title>
 
-            <para>Chaque jeu de résultat spécifique à la recherche est étendu de cette classe de base.</para>
+            <para>
+                Chaque jeu de résultat spécifique à la recherche est étendu de cette classe de
+                base.
+            </para>
 
-            <para>Chaque jeu de résultat spécifique à la recherche retourne un objet <link
-            linkend="zend.service.yahoo.classes.result">Zend_Service_Yahoo_Result</link> spécifique à la
-            recherche.</para>
+            <para>
+                Chaque jeu de résultat spécifique à la recherche retourne un objet <link
+                linkend="zend.service.yahoo.classes.result">Zend_Service_Yahoo_Result</link>
+                spécifique à la recherche.
+            </para>
 
             <sect4 id="zend.service.yahoo.classes.resultset.totalResults">
                 <title>Zend_Service_Yahoo_ResultSet::totalResults()</title>
 
-                <para><methodsynopsis>
-                        <type>int</type>
-
-                        <methodname>totalResults</methodname>
-
-                        <void />
-                    </methodsynopsis></para>
+                <para>
+                    <methodsynopsis>
+                            <type>int</type>
+    
+                            <methodname>totalResults</methodname>
+    
+                            <void />
+                        </methodsynopsis>
+                    </para>
 
                 <para>Retourne le nombre de résultats retourné par la recherche.</para>
             </sect4>
@@ -310,7 +380,8 @@ foreach ($results as $result) {
 
                                 <entry>int</entry>
 
-                                <entry>Nombre de résultats pour le jeu de résultat courant.</entry>
+                                <entry>Nombre de résultats pour le jeu de résultat
+                                courant.</entry>
                             </row>
 
                             <row>
@@ -318,63 +389,90 @@ foreach ($results as $result) {
 
                                 <entry>int</entry>
 
-                                <entry>Position du premier résultat dans ce jeu, par rapport au nombre total des
-                                résultats.</entry>
+                                <entry>Position du premier résultat dans ce jeu, par rapport au
+                                nombre total des résultats.</entry>
                             </row>
                         </tbody>
                     </tgroup>
                 </table>
 
-                <para><link linkend="zend.service.yahoo.classes">Retour à la liste des classes</link></para>
+                <para>
+                    <link linkend="zend.service.yahoo.classes">Retour à la liste des
+                    classes</link>
+                </para>
             </sect4>
         </sect3>
 
         <sect3 id="zend.service.yahoo.classes.webresultset">
             <title>Zend_Service_Yahoo_WebResultSet</title>
 
-            <para><classname>Zend_Service_Yahoo_WebResultSet</classname> représente un jeu de résultat Yahoo! Web Search.</para>
+            <para>
+                <classname>Zend_Service_Yahoo_WebResultSet</classname> représente un jeu de
+                résultat Yahoo! Web Search.
+            </para>
 
             <note>
-                <para><classname>Zend_Service_Yahoo_WebResultSet</classname> étend <link
-                linkend="zend.service.yahoo.classes.resultset">Zend_Service_Yahoo_ResultSet</link>.</para>
+                <para>
+                    <classname>Zend_Service_Yahoo_WebResultSet</classname> étend <link
+                    linkend="zend.service.yahoo.classes.resultset">Zend_Service_Yahoo_ResultSet</link>.
+                </para>
             </note>
 
-            <para><link linkend="zend.service.yahoo.classes">Retour à la liste des classes</link></para>
+            <para>
+                <link linkend="zend.service.yahoo.classes">Retour à la liste des
+                classes</link>
+            </para>
         </sect3>
 
         <sect3 id="zend.service.yahoo.classes.imageresultset">
             <title>Zend_Service_Yahoo_ImageResultSet</title>
 
-            <para><classname>Zend_Service_Yahoo_ImageResultSet</classname> représente un jeu de résultat Yahoo! Image
-            Search.</para>
+            <para>
+                <classname>Zend_Service_Yahoo_ImageResultSet</classname> représente un jeu de
+                résultat Yahoo! Image Search.
+            </para>
 
             <note>
-                <para><classname>Zend_Service_Yahoo_ImageResultSet</classname> étend <link
-                linkend="zend.service.yahoo.classes.resultset">Zend_Service_Yahoo_ResultSet</link></para>
+                <para>
+                    <classname>Zend_Service_Yahoo_ImageResultSet</classname> étend <link
+                    linkend="zend.service.yahoo.classes.resultset">Zend_Service_Yahoo_ResultSet</link>
+                </para>
             </note>
 
-            <para><link linkend="zend.service.yahoo.classes">Retour à la liste des classes</link></para>
+            <para>
+                <link linkend="zend.service.yahoo.classes">Retour à la liste des
+                classes</link>
+            </para>
         </sect3>
 
         <sect3 id="zend.service.yahoo.classes.videoresultset">
             <title>Zend_Service_Yahoo_VideoResultSet</title>
 
-            <para><classname>Zend_Service_Yahoo_VideoResultSet</classname> représente un jeu de résultat Yahoo! Video
-            Search.</para>
+            <para>
+                <classname>Zend_Service_Yahoo_VideoResultSet</classname> représente un jeu de
+                résultat Yahoo! Video Search.
+            </para>
 
             <note>
-                <para><classname>Zend_Service_Yahoo_VideoResultSet</classname> étend <link
-                linkend="zend.service.yahoo.classes.resultset">Zend_Service_Yahoo_ResultSet</link></para>
+                <para>
+                    <classname>Zend_Service_Yahoo_VideoResultSet</classname> étend <link
+                    linkend="zend.service.yahoo.classes.resultset">Zend_Service_Yahoo_ResultSet</link>
+                </para>
             </note>
 
-            <para><link linkend="zend.service.yahoo.classes">Retour à la liste des classes</link></para>
+            <para>
+                <link linkend="zend.service.yahoo.classes">Retour à la liste des
+                classes</link>
+            </para>
         </sect3>
 
         <sect3 id="zend.service.yahoo.classes.localresultset">
             <title>Zend_Service_Yahoo_LocalResultSet</title>
 
-            <para><classname>Zend_Service_Yahoo_LocalResultSet</classname> représente un jeu de résultats Yahoo! Local
-            Search.</para>
+            <para>
+                <classname>Zend_Service_Yahoo_LocalResultSet</classname> représente un jeu de
+                résultats Yahoo! Local Search.
+            </para>
 
             <table id="zend.service.yahoo.classes.localresultset.table-1">
                 <title>Propriétés de Zend_Service_Yahoo_LocalResultSet</title>
@@ -396,66 +494,96 @@ foreach ($results as $result) {
 
                             <entry>string</entry>
 
-                            <entry>L'URL de la page Web contenant une carte graphique contenant tous les résultats
-                            affichés dessus.</entry>
+                            <entry>L'URL de la page Web contenant une carte graphique contenant
+                            tous les résultats affichés dessus.</entry>
                         </row>
                     </tbody>
                 </tgroup>
             </table>
 
             <note>
-                <para><classname>Zend_Service_Yahoo_LocalResultSet</classname> étend <link
-                linkend="zend.service.yahoo.classes.resultset">Zend_Service_Yahoo_ResultSet</link></para>
+                <para>
+                    <classname>Zend_Service_Yahoo_LocalResultSet</classname> étend <link
+                    linkend="zend.service.yahoo.classes.resultset">Zend_Service_Yahoo_ResultSet</link>
+                </para>
             </note>
 
-            <para><link linkend="zend.service.yahoo.classes">Retour à la liste des classes</link></para>
+            <para>
+                <link linkend="zend.service.yahoo.classes">Retour à la liste des
+                classes</link>
+            </para>
         </sect3>
 
         <sect3 id="zend.service.yahoo.classes.newsresultset">
             <title>Zend_Service_Yahoo_NewsResultSet</title>
 
-            <para><classname>Zend_Service_Yahoo_NewsResultSet</classname> représente un jeu de résultat Yahoo! News Search.</para>
+            <para>
+                <classname>Zend_Service_Yahoo_NewsResultSet</classname> représente un jeu de
+                résultat Yahoo! News Search.
+            </para>
 
             <note>
-                <para><classname>Zend_Service_Yahoo_NewsResultSet</classname> étend <link
-                linkend="zend.service.yahoo.classes.resultset">Zend_Service_Yahoo_ResultSet</link></para>
+                <para>
+                    <classname>Zend_Service_Yahoo_NewsResultSet</classname> étend <link
+                    linkend="zend.service.yahoo.classes.resultset">Zend_Service_Yahoo_ResultSet</link>
+                </para>
             </note>
 
-            <para><link linkend="zend.service.yahoo.classes">Retour à la liste des classes</link></para>
+            <para>
+                <link linkend="zend.service.yahoo.classes">Retour à la liste des
+                classes</link>
+            </para>
         </sect3>
 
         <sect3 id="zend.service.yahoo.classes.inlinkdataresultset">
             <title>Zend_Service_Yahoo_InlinkDataResultSet</title>
 
-            <para><classname>Zend_Service_Yahoo_InlinkDataResultSet</classname> représente un jeu de résultat Yahoo! Inbound Link
-            Search.</para>
+            <para>
+                <classname>Zend_Service_Yahoo_InlinkDataResultSet</classname> représente un
+                jeu de résultat Yahoo! Inbound Link Search.
+            </para>
 
             <note>
-                <para><classname>Zend_Service_Yahoo_InlinkDataResultSet</classname> étend <link
-                linkend="zend.service.yahoo.classes.resultset">Zend_Service_Yahoo_ResultSet</link></para>
+                <para>
+                    <classname>Zend_Service_Yahoo_InlinkDataResultSet</classname> étend <link
+                    linkend="zend.service.yahoo.classes.resultset">Zend_Service_Yahoo_ResultSet</link>
+                </para>
             </note>
 
-            <para><link linkend="zend.service.yahoo.classes">Retour à la liste des classes</link></para>
+            <para>
+                <link linkend="zend.service.yahoo.classes">Retour à la liste des
+                classes</link>
+            </para>
         </sect3>
 
         <sect3 id="zend.service.yahoo.classes.pagedataresultset">
             <title>Zend_Service_Yahoo_PageDataResultSet</title>
 
-            <para><classname>Zend_Service_Yahoo_PageDataResultSet</classname> représente un jeu de résultat Yahoo! PageData
-            Search.</para>
+            <para>
+                <classname>Zend_Service_Yahoo_PageDataResultSet</classname> représente un jeu
+                de résultat Yahoo! PageData Search.
+            </para>
 
             <note>
-                <para><classname>Zend_Service_Yahoo_PageDataResultSet</classname> étend <link
-                linkend="zend.service.yahoo.classes.resultset">Zend_Service_Yahoo_ResultSet</link></para>
+                <para>
+                    <classname>Zend_Service_Yahoo_PageDataResultSet</classname> étend <link
+                    linkend="zend.service.yahoo.classes.resultset">Zend_Service_Yahoo_ResultSet</link>
+                </para>
             </note>
 
-            <para><link linkend="zend.service.yahoo.classes">Retour à la liste des classes</link></para>
+            <para>
+                <link linkend="zend.service.yahoo.classes">Retour à la liste des
+                classes</link>
+            </para>
         </sect3>
 
         <sect3 id="zend.service.yahoo.classes.result">
             <title>Zend_Service_Yahoo_Result</title>
 
-            <para>Chaque résultat spécifique à la recherche est étendu de cette classe de base.</para>
+            <para>
+                Chaque résultat spécifique à la recherche est étendu de cette classe de
+                base.
+            </para>
 
             <sect4 id="zend.service.yahoo.classes.result.properties">
                 <title>Propriétés</title>
@@ -502,15 +630,20 @@ foreach ($results as $result) {
                     </tgroup>
                 </table>
 
-                <para><link linkend="zend.service.yahoo.classes">Retour à la liste des classes</link></para>
+                <para>
+                    <link linkend="zend.service.yahoo.classes">Retour à la liste des
+                    classes</link>
+                </para>
             </sect4>
         </sect3>
 
         <sect3 id="zend.service.yahoo.classes.webresult">
             <title>Zend_Service_Yahoo_WebResult</title>
 
-            <para>Chaque résultat d'une recherche Web est retourné comme un objet
-            <classname>Zend_Service_Yahoo_WebResult</classname>.</para>
+            <para>
+                Chaque résultat d'une recherche Web est retourné comme un objet
+                <classname>Zend_Service_Yahoo_WebResult</classname>.
+            </para>
 
             <sect4 id="zend.service.yahoo.classes.webresult.properties">
                 <title>Propriétés</title>
@@ -551,7 +684,8 @@ foreach ($results as $result) {
 
                                 <entry>string</entry>
 
-                                <entry>Timestamp UNIX de la date de la dernière modification du résultat.</entry>
+                                <entry>Timestamp UNIX de la date de la dernière modification du
+                                résultat.</entry>
                             </row>
 
                             <row>
@@ -573,15 +707,20 @@ foreach ($results as $result) {
                     </tgroup>
                 </table>
 
-                <para><link linkend="zend.service.yahoo.classes">Retour à la liste des classes</link></para>
+                <para>
+                    <link linkend="zend.service.yahoo.classes">Retour à la liste des
+                    classes</link>
+                </para>
             </sect4>
         </sect3>
 
         <sect3 id="zend.service.yahoo.classes.imageresult">
             <title>Zend_Service_Yahoo_ImageResult</title>
 
-            <para>Chaque recherche d'image est retournée comme un objet
-            <classname>Zend_Service_Yahoo_ImageResult</classname>.</para>
+            <para>
+                Chaque recherche d'image est retournée comme un objet
+                <classname>Zend_Service_Yahoo_ImageResult</classname>.
+            </para>
 
             <sect4 id="zend.service.yahoo.classes.imageresult.properties">
                 <title>Propriétés</title>
@@ -661,15 +800,20 @@ foreach ($results as $result) {
                     </tgroup>
                 </table>
 
-                <para><link linkend="zend.service.yahoo.classes">Retour à la liste des classes</link></para>
+                <para>
+                    <link linkend="zend.service.yahoo.classes">Retour à la liste des
+                    classes</link>
+                </para>
             </sect4>
         </sect3>
 
         <sect3 id="zend.service.yahoo.classes.videoresult">
             <title>Zend_Service_Yahoo_VideoResult</title>
 
-            <para>Chaque recherche de vidéo est retournée comme un objet
-            <classname>Zend_Service_Yahoo_VideoResult</classname>.</para>
+            <para>
+                Chaque recherche de vidéo est retournée comme un objet
+                <classname>Zend_Service_Yahoo_VideoResult</classname>.
+            </para>
 
             <sect4 id="zend.service.yahoo.classes.videoresult.properties">
                 <title>Propriétés</title>
@@ -718,8 +862,8 @@ foreach ($results as $result) {
 
                                 <entry>string</entry>
 
-                                <entry>Le format de la vidéo (avi, flash, mpeg, msmedia, quicktime, realmedia,
-                                etc.)</entry>
+                                <entry>Le format de la vidéo (avi, flash, mpeg, msmedia,
+                                quicktime, realmedia, etc.)</entry>
                             </row>
 
                             <row>
@@ -774,15 +918,20 @@ foreach ($results as $result) {
                     </tgroup>
                 </table>
 
-                <para><link linkend="zend.service.yahoo.classes">Retour à la liste des classes</link></para>
+                <para>
+                    <link linkend="zend.service.yahoo.classes">Retour à la liste des
+                    classes</link>
+                </para>
             </sect4>
         </sect3>
 
         <sect3 id="zend.service.yahoo.classes.localresult">
             <title>Zend_Service_Yahoo_LocalResult</title>
 
-            <para>Chaque résultat de recherche locale est retourné dans un objet
-            <classname>Zend_Service_Yahoo_LocalResult</classname>.</para>
+            <para>
+                Chaque résultat de recherche locale est retourné dans un objet
+                <classname>Zend_Service_Yahoo_LocalResult</classname>.
+            </para>
 
             <sect4 id="zend.service.yahoo.classes.localresult.properties">
                 <title>Propriétés</title>
@@ -847,7 +996,8 @@ foreach ($results as $result) {
 
                                 <entry>float</entry>
 
-                                <entry>Distance entre l'endroit où vous vous trouvez et le résultat</entry>
+                                <entry>Distance entre l'endroit où vous vous trouvez et le
+                                résultat</entry>
                             </row>
 
                             <row>
@@ -871,21 +1021,27 @@ foreach ($results as $result) {
 
                                 <entry>string</entry>
 
-                                <entry>L'URL pour faire un lien sur le site de l'entreprise, s'il est connu</entry>
+                                <entry>L'URL pour faire un lien sur le site de l'entreprise,
+                                s'il est connu</entry>
                             </row>
                         </tbody>
                     </tgroup>
                 </table>
 
-                <para><link linkend="zend.service.yahoo.classes">Retour à la liste des classes</link></para>
+                <para>
+                    <link linkend="zend.service.yahoo.classes">Retour à la liste des
+                    classes</link>
+                </para>
             </sect4>
         </sect3>
 
         <sect3 id="zend.service.yahoo.classes.newsresult">
             <title>Zend_Service_Yahoo_NewsResult</title>
 
-            <para>Chaque résultat de News Search est retourné comme un objet
-            <classname>Zend_Service_Yahoo_NewsResult</classname>.</para>
+            <para>
+                Chaque résultat de News Search est retourné comme un objet
+                <classname>Zend_Service_Yahoo_NewsResult</classname>.
+            </para>
 
             <sect4 id="zend.service.yahoo.classes.newsresult.properties">
                 <title>Propriétés</title>
@@ -942,7 +1098,8 @@ foreach ($results as $result) {
 
                                 <entry>string</entry>
 
-                                <entry>La date de publication de l'article, au format timestamp UNIX</entry>
+                                <entry>La date de publication de l'article, au format timestamp
+                                UNIX</entry>
                             </row>
 
                             <row>
@@ -950,8 +1107,8 @@ foreach ($results as $result) {
 
                                 <entry>string</entry>
 
-                                <entry>La date de la dernière modification de l'article, au format timestamp
-                                UNIX</entry>
+                                <entry>La date de la dernière modification de l'article, au
+                                format timestamp UNIX</entry>
                             </row>
 
                             <row>
@@ -960,39 +1117,56 @@ foreach ($results as $result) {
                                 <entry><link
                                 linkend="zend.service.yahoo.classes.image">Zend_Service_Yahoo_Image</link></entry>
 
-                                <entry>Miniature de l'image pour cet article, si elle existe</entry>
+                                <entry>Miniature de l'image pour cet article, si elle
+                                existe</entry>
                             </row>
                         </tbody>
                     </tgroup>
                 </table>
 
-                <para><link linkend="zend.service.yahoo.classes">Retour à la liste des classes</link></para>
+                <para>
+                    <link linkend="zend.service.yahoo.classes">Retour à la liste des
+                    classes</link>
+                </para>
             </sect4>
         </sect3>
 
         <sect3 id="zend.service.yahoo.classes.inlinkdataresult">
             <title>Zend_Service_Yahoo_InlinkDataResult</title>
 
-            <para>Chaque résultat de Inbound Link Search est retourné comme un objet
-            <classname>Zend_Service_Yahoo_InlinkDatabResult</classname>.</para>
+            <para>
+                Chaque résultat de Inbound Link Search est retourné comme un objet
+                <classname>Zend_Service_Yahoo_InlinkDatabResult</classname>.
+            </para>
 
-            <para><link linkend="zend.service.yahoo.classes">Retour à la liste des classes</link></para>
+            <para>
+                <link linkend="zend.service.yahoo.classes">Retour à la liste des
+                classes</link>
+            </para>
         </sect3>
 
         <sect3 id="zend.service.yahoo.classes.pagedataresult">
             <title>Zend_Service_Yahoo_PageDataResult</title>
 
-            <para>Chaque résultat de Page Data Search est retourné comme un objet
-            <classname>Zend_Service_Yahoo_PageDataResult</classname>.</para>
+            <para>
+                Chaque résultat de Page Data Search est retourné comme un objet
+                <classname>Zend_Service_Yahoo_PageDataResult</classname>.
+            </para>
 
-            <para><link linkend="zend.service.yahoo.classes">Retour à la liste des classes</link></para>
+            <para>
+                <link linkend="zend.service.yahoo.classes">Retour à la liste des
+                classes</link>
+            </para>
         </sect3>
 
         <sect3 id="zend.service.yahoo.classes.image">
             <title>Zend_Service_Yahoo_Image</title>
 
-            <para>Toutes les images retournées, par Yahoo! Image Search ou Yahoo! News Search sont représentées par un
-            objet <classname>Zend_Service_Yahoo_Image</classname>.</para>
+            <para>
+                Toutes les images retournées, par Yahoo! Image Search ou Yahoo! News Search
+                sont représentées par un objet
+                <classname>Zend_Service_Yahoo_Image</classname>.
+            </para>
 
             <sect4 id="zend.service.yahoo.classes.image.properties">
                 <title>Propriétés</title>
@@ -1039,7 +1213,10 @@ foreach ($results as $result) {
                     </tgroup>
                 </table>
 
-                <para><link linkend="zend.service.yahoo.classes">Retour à la liste des classes</link></para>
+                <para>
+                    <link linkend="zend.service.yahoo.classes">Retour à la liste des
+                    classes</link>
+                </para>
             </sect4>
         </sect3>
     </sect2>

+ 244 - 142
documentation/manual/fr/module_specs/Zend_Session-AdvancedUsage.xml

@@ -1,18 +1,24 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 12759 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15346 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.session.advanced_usage">
     <title>Utilisation avancée</title>
 
-    <para>Même si les exemples de l'utilisation basique sont une manière parfaitement acceptable d'utiliser les sessions
-    dans Zend Framework, il existe de bonnes pratiques à considérer. Cette section détaille plus finement le
-    traitement des sessions et présente des utilisations plus avancées du composant <classname>Zend_Session</classname>.</para>
+    <para>
+        Même si les exemples de l'utilisation basique sont une manière parfaitement acceptable
+        d'utiliser les sessions dans Zend Framework, il existe de bonnes pratiques à considérer.
+        Cette section détaille plus finement le traitement des sessions et présente des utilisations
+        plus avancées du composant <classname>Zend_Session</classname>.
+    </para>
 
     <sect2 id="zend.session.advanced_usage.starting_a_session">
         <title>Démarrer une session</title>
 
-        <para>Si vous voulez que toutes les requêtes aient une session facilitée avec <classname>Zend_Session</classname>, alors
-        démarrez la session dans votre fichier d'amorçage :</para>
+        <para>
+            Si vous voulez que toutes les requêtes aient une session facilitée avec
+            <classname>Zend_Session</classname>, alors démarrez la session dans votre fichier
+            d'amorçage :
+        </para>
 
         <example id="zend.session.advanced_usage.starting_a_session.example">
             <title>Démarrer la session globale</title>
@@ -22,81 +28,118 @@ Zend_Session::start();
 ]]></programlisting>
         </example>
 
-        <para>En démarrant la session dans votre fichier d'amorçage, vous empêcher la possibilité de démarrer votre
-        session après l'envoi d'en-têtes à votre navigateur, ce qui entraîne la levée d'une exception, et peut être une
-        page cassée pour les visiteurs de votre site. Divers usages avancés nécessitent premièrement
-        <classname>Zend_Session::start()</classname>. (D'autant plus sur les utilisations avancées suivantes.)</para>
+        <para>
+            En démarrant la session dans votre fichier d'amorçage, vous empêcher la
+            possibilité de démarrer votre session après l'envoi d'en-têtes à votre navigateur, ce
+            qui entraîne la levée d'une exception, et peut être une page cassée pour les visiteurs
+            de votre site. Divers usages avancés nécessitent premièrement
+            <classname>Zend_Session::start()</classname>. (D'autant plus sur les utilisations
+            avancées suivantes.)
+        </para>
 
-        <para>Il existe quatre manières différentes pour démarrer une session, quand on utilise
-        <classname>Zend_Session</classname>. Deux sont mauvaises.</para>
+        <para>
+            Il existe quatre manières différentes pour démarrer une session, quand on utilise
+            <classname>Zend_Session</classname>. Deux sont mauvaises.
+        </para>
 
         <orderedlist>
             <listitem>
-                <para>Mauvaise : n'activez pas <ulink
-                url="http://www.php.net/manual/fr/ref.session.php#ini.session.auto-start"><code>session.auto_start</code></ulink>
-                de PHP. Si vous n'avez pas la possibilité de désactiver ce réglage dans le php.ini, ou que vous utilisez
-                mod_php (ou équivalent), et que le réglage est déjà activé dans le <code>php.ini</code>, alors ajoutez
-                le code suivant à votre fichier <code>.htaccess</code> (habituellement votre dossier de démarrage HTML)
-                : <programlisting role="httpd.conf"><![CDATA[
-php_value session.auto_start 0
-]]></programlisting></para>
+                <para>
+                    Mauvaise : n'activez pas <ulink
+                    url="http://www.php.net/manual/fr/ref.session.php#ini.session.auto-start"><code>session.auto_start</code></ulink>
+                    de PHP. Si vous n'avez pas la possibilité de désactiver ce réglage dans le
+                    php.ini, ou que vous utilisez mod_php (ou équivalent), et que le réglage est
+                    déjà activé dans le <code>php.ini</code>, alors ajoutez le code suivant à votre
+                    fichier <code>.htaccess</code> (habituellement votre dossier de démarrage HTML)
+                    : <programlisting role="httpd.conf"><![CDATA[
+    php_value session.auto_start 0
+    ]]></programlisting></para>
+                </listitem>
+    
+                <listitem>
+                <para>
+                    Mauvaise : n'utilisez pas la fonction <ulink
+                    url="http://www.php.net/session_start"><code>session_start()</code></ulink>
+                    directement. Si vous utilisez directement <code>session_start()</code>, et que
+                    vous démarrez en utilisant <classname>Zend_Session_Namespace</classname>, une
+                    exception sera levée par <classname>Zend_Session::start()</classname> ("session
+                    has already been started"). Si vous appelez <code>session_start()</code>, après
+                    avoir utilisé <classname>Zend_Session_Namespace</classname> ou démarré
+                    explicitement <classname>Zend_Session::start()</classname>, une erreur de niveau
+                    <code>E_NOTICE</code> sera générée, et l'appel sera ignoré.
+                </para>
             </listitem>
 
             <listitem>
-                <para>Mauvaise : n'utilisez pas la fonction <ulink
-                url="http://www.php.net/session_start"><code>session_start()</code></ulink> directement. Si vous
-                utilisez directement <code>session_start()</code>, et que vous démarrez en utilisant
-                <classname>Zend_Session_Namespace</classname>, une exception sera levée par <classname>Zend_Session::start()</classname>
-                ("session has already been started"). Si vous appelez <code>session_start()</code>, après avoir utilisé
-                <classname>Zend_Session_Namespace</classname> ou démarré explicitement <classname>Zend_Session::start()</classname>, une
-                erreur de niveau <code>E_NOTICE</code> sera générée, et l'appel sera ignoré.</para>
-            </listitem>
-
-            <listitem>
-                <para>Correcte : utilisez <classname>Zend_Session::start()</classname>. Si vous voulez que toutes vos requêtes
-                aient et utilisent les sessions, alors placez cette fonction le plus tôt possible et sans condition dans
-                votre fichier d'amorçage. Les sessions ont un coût. Si certaines requêtes nécessitent les sessions, mais
-                que les autres n'en ont pas besoin, alors :</para>
+                <para>
+                    Correcte : utilisez <classname>Zend_Session::start()</classname>. Si vous
+                    voulez que toutes vos requêtes aient et utilisent les sessions, alors placez
+                    cette fonction le plus tôt possible et sans condition dans votre fichier
+                    d'amorçage. Les sessions ont un coût. Si certaines requêtes nécessitent les
+                    sessions, mais que les autres n'en ont pas besoin, alors :
+                </para>
 
                 <itemizedlist mark="opencircle">
                     <listitem>
-                        <para>Sans conditions, réglez l'option <code>strict</code> à <code>true</code> en utilisant
-                        <classname>Zend_Session::setOptions()</classname> dans votre fichier d'amorçage.</para>
+                        <para>
+                            Sans conditions, réglez l'option <code>strict</code> à
+                            <code>true</code> en utilisant
+                            <classname>Zend_Session::setOptions()</classname> dans votre fichier
+                            d'amorçage.
+                        </para>
                     </listitem>
 
                     <listitem>
-                        <para>Appelez <classname>Zend_Session::start()</classname>, uniquement pour les requêtes qui nécessitent
-                        l'usage des sessions, avant la première instanciation d'un objet
-                        <classname>Zend_Session_Namespace()</classname>.</para>
+                        <para>
+                            Appelez <classname>Zend_Session::start()</classname>, uniquement
+                            pour les requêtes qui nécessitent l'usage des sessions, avant la
+                            première instanciation d'un objet
+                            <classname>Zend_Session_Namespace()</classname>.
+                        </para>
                     </listitem>
 
                     <listitem>
-                        <para>Utilisez "<code>new Zend_Session_Namespace()</code>" normalement, quand nécessaire, mais
-                        faites attention que <classname>Zend_Session::start()</classname> soit appelée auparavant.</para>
+                        <para>
+                            Utilisez "<code>new Zend_Session_Namespace()</code>" normalement,
+                            quand nécessaire, mais faites attention que
+                            <classname>Zend_Session::start()</classname> soit appelée
+                            auparavant.
+                        </para>
                     </listitem>
                 </itemizedlist>
 
-                <para>L'option <code>strict</code> empêche <code>new Zend_Session_Namespace()</code> d'automatiquement
-                démarrer une session en utilisant <classname>Zend_Session::start()</classname>. Ainsi, cette option aide les
-                développeurs d'application Zend Framework universelles à imposer une décision de conception afin d'empêcher
-                l'utilisation de sessions pour certaines requêtes, puisqu'une erreur sera levée en utilisant cette
-                option et en instanciant <classname>Zend_Session_Namespace</classname>, avant un appel explicite de
-                <classname>Zend_Session::start()</classname>. N'employez pas cette option dans le code de la librairie coeur du
-                ZF, car seuls les développeurs universels peuvent faire ce choix de design. Les développeurs doivent
-                considérer avec précaution l'impact de l'utilisation de <classname>Zend_Session::setOptions()</classname>, puisque
-                ces options ont un effet global, suite à leur correspondance avec les options sous-jacentes pour
-                ext/session.</para>
+                <para>
+                    L'option <code>strict</code> empêche <code>new
+                    Zend_Session_Namespace()</code> d'automatiquement démarrer une session en
+                    utilisant <classname>Zend_Session::start()</classname>. Ainsi, cette option aide
+                    les développeurs d'application Zend Framework universelles à imposer une
+                    décision de conception afin d'empêcher l'utilisation de sessions pour certaines
+                    requêtes, puisqu'une erreur sera levée en utilisant cette option et en
+                    instanciant <classname>Zend_Session_Namespace</classname>, avant un appel
+                    explicite de <classname>Zend_Session::start()</classname>. N'employez pas cette
+                    option dans le code de la librairie coeur du ZF, car seuls les développeurs
+                    universels peuvent faire ce choix de design. Les développeurs doivent considérer
+                    avec précaution l'impact de l'utilisation de
+                    <classname>Zend_Session::setOptions()</classname>, puisque ces options ont un
+                    effet global, suite à leur correspondance avec les options sous-jacentes pour
+                    ext/session.
+                </para>
             </listitem>
 
             <listitem>
-                <para>Correcte : instanciez simplement <classname>Zend_Session_Namespace()</classname> quand nécessaire, la
-                session PHP sous-jacente sera automatiquement démarrée. Ceci permet un usage extrêmement simple qui
-                fonctionne dans la plupart des cas. Cependant, vous êtes responsable de vous assurer que le premier
-                <code>new Zend_Session_Namespace()</code> intervient <emphasis>avant</emphasis> que toute
-                sortie (par exemple <ulink url="http://www.php.net/headers_sent">en-têtes HTTP</ulink>) ait été envoyée
-                par PHP au client, si vous utilisez le réglage par défaut, sessions basées sur les cookies (fortement
-                recommandé). Voir <xref linkend="zend.session.global_session_management.headers_sent" /> pour plus
-                d'informations.</para>
+                <para>
+                    Correcte : instanciez simplement
+                    <classname>Zend_Session_Namespace()</classname> quand nécessaire, la session PHP
+                    sous-jacente sera automatiquement démarrée. Ceci permet un usage extrêmement
+                    simple qui fonctionne dans la plupart des cas. Cependant, vous êtes responsable
+                    de vous assurer que le premier <code>new Zend_Session_Namespace()</code>
+                    intervient <emphasis>avant</emphasis> que toute sortie (par exemple <ulink
+                    url="http://www.php.net/headers_sent">en-têtes HTTP</ulink>) ait été envoyée par
+                    PHP au client, si vous utilisez le réglage par défaut, sessions basées sur les
+                    cookies (fortement recommandé). Voir <xref
+                    linkend="zend.session.global_session_management.headers_sent" /> pour plus
+                    d'informations.
+                </para>
             </listitem>
         </orderedlist>
     </sect2>
@@ -104,15 +147,20 @@ php_value session.auto_start 0
     <sect2 id="zend.session.advanced_usage.locking">
         <title>Verrouiller les espaces de noms de session</title>
 
-        <para>Les espaces de noms de session peuvent être verrouillés, pour éviter tout risque d'altération des données
-        dans cet espace. Utilisez <code>lock()</code> pour attribuer à un espace de nommage spécifique le mode lecture
-        seule,<code>unLock()</code> pour attribuer le mode lecture / écriture, et <code>isLocked()</code> pour tester si
-        un espace de nommage a été auparavant verrouillé. Les verrouillages sont transitoires et ne persistent pas d'une
-        requête à l'autre. Verrouiller un espace de nommage n'a pas d'effet sur les méthodes de réglages des objets
-        stockés dans cet espace, mais empêche l'utilisation des méthodes de réglage de l'espace de noms destiné à
-        détruire ou à remplacer les objets stockés dans l'espace. De la même manière, verrouiller les instances
-        <classname>Zend_Session_Namespace</classname> n'empêche pas l'accès direct à l'alias dans tableau de stockage
-        <code>$_SESSION</code> (voir <ulink url="http://www.php.net/references">PHP references</ulink>).</para>
+        <para>
+            Les espaces de noms de session peuvent être verrouillés, pour éviter tout risque
+            d'altération des données dans cet espace. Utilisez <code>lock()</code> pour attribuer à
+            un espace de nommage spécifique le mode lecture seule,<code>unLock()</code> pour
+            attribuer le mode lecture / écriture, et <code>isLocked()</code> pour tester si un
+            espace de nommage a été auparavant verrouillé. Les verrouillages sont transitoires et ne
+            persistent pas d'une requête à l'autre. Verrouiller un espace de nommage n'a pas d'effet
+            sur les méthodes de réglages des objets stockés dans cet espace, mais empêche
+            l'utilisation des méthodes de réglage de l'espace de noms destiné à détruire ou à
+            remplacer les objets stockés dans l'espace. De la même manière, verrouiller les
+            instances <classname>Zend_Session_Namespace</classname> n'empêche pas l'accès direct à
+            l'alias dans tableau de stockage <code>$_SESSION</code> (voir <ulink
+            url="http://www.php.net/references">PHP references</ulink>).
+        </para>
 
         <example id="zend.session.advanced_usage.locking.example.basic">
             <title>Verrouillage des espaces de noms de session</title>
@@ -135,12 +183,15 @@ if ($userProfileNamespace->isLocked()) {
     <sect2 id="zend.session.advanced_usage.expiration">
         <title>Expiration d'un espace de noms</title>
 
-        <para>Des limites peuvent être affectées à la durée de vie soit des espaces de noms soit de clés individuelles
-        dans cet espace. Les cas d'utilisation habituels incluent le passage d'une information temporaire entre
-        requêtes, et la diminution de l'exposition à un potentiel risque de sécurité par la suppression de l'accès à des
-        informations sensibles potentielles à une certaine heure après que l'authentification ait eu lieu. L'expiration
-        peut être basée sur les secondes écoulées, ou basées sur le concept de "hops", où un "hop" apparaît à chaque
-        requête successive.</para>
+        <para>
+            Des limites peuvent être affectées à la durée de vie soit des espaces de noms soit
+            de clés individuelles dans cet espace. Les cas d'utilisation habituels incluent le
+            passage d'une information temporaire entre requêtes, et la diminution de l'exposition à
+            un potentiel risque de sécurité par la suppression de l'accès à des informations
+            sensibles potentielles à une certaine heure après que l'authentification ait eu lieu.
+            L'expiration peut être basée sur les secondes écoulées, ou basées sur le concept de
+            "hops", où un "hop" apparaît à chaque requête successive.
+        </para>
 
         <example id="zend.session.advanced_usage.expiration.example">
             <title>Exemple d'expiration</title>
@@ -164,26 +215,36 @@ $s->setExpirationSeconds(60);
 ]]></programlisting>
         </example>
 
-        <para>Quand vous travaillez avec des données de session expirées dans la requête courante, des précautions
-        doivent être prises concernant leur utilisation. Bien que les données soient retournées par référence, modifier
-        les données expirées ne les rendra pas persistantes dans la requête courante. Dans le but de remettre à zéro
-        leur temps d'expiration, transférez les données dans des variables temporaires, utilisez l'espace de nommage
-        pour les effacer, et ensuite réaffectez les clés appropriées de nouveau.</para>
+        <para>
+            Quand vous travaillez avec des données de session expirées dans la requête
+            courante, des précautions doivent être prises concernant leur utilisation. Bien que les
+            données soient retournées par référence, modifier les données expirées ne les rendra pas
+            persistantes dans la requête courante. Dans le but de remettre à zéro leur temps
+            d'expiration, transférez les données dans des variables temporaires, utilisez l'espace
+            de nommage pour les effacer, et ensuite réaffectez les clés appropriées de
+            nouveau.
+        </para>
     </sect2>
 
     <sect2 id="zend.session.advanced_usage.controllers">
         <title>Encapsulation de session et Contrôleurs</title>
 
-        <para>Les espaces de noms peuvent aussi être utilisés pour séparer l'accès aux sessions par contrôleur afin de
-        protéger les variables d'une quelconque contamination. Par exemple, un contrôleur d'authentification pourrait
-        garder ces données de session séparées de tous les autres contrôleurs pour des raisons de sécurité.</para>
+        <para>
+            Les espaces de noms peuvent aussi être utilisés pour séparer l'accès aux sessions
+            par contrôleur afin de protéger les variables d'une quelconque contamination. Par
+            exemple, un contrôleur d'authentification pourrait garder ces données de session
+            séparées de tous les autres contrôleurs pour des raisons de sécurité.
+        </para>
 
         <example id="zend.session.advanced_usage.controllers.example">
             <title>Sessions nommées par contrôleur avec expiration automatique</title>
 
-            <para>Le code suivant, partie d'un contrôleur destiné à afficher une question dans un test, initie une
-            variable booléenne pour représenter l'acceptation ou non d'une réponse à la question soumise. Dans ce cas,
-            l'utilisateur de l'application a 300 secondes pour répondre à la question affichée.</para>
+            <para>
+                Le code suivant, partie d'un contrôleur destiné à afficher une question dans
+                un test, initie une variable booléenne pour représenter l'acceptation ou non d'une
+                réponse à la question soumise. Dans ce cas, l'utilisateur de l'application a 300
+                secondes pour répondre à la question affichée.
+            </para>
 
             <programlisting role="php"><![CDATA[
 $testSpace = new Zend_Session_Namespace('testSpace');
@@ -192,8 +253,11 @@ $testSpace->setExpirationSeconds(300, 'accept_answer');
 $testSpace->accept_answer = true;
 ]]></programlisting>
 
-            <para>Ci-dessous, le contrôleur qui analyse les réponses aux questions du test détermine l'acceptation ou
-            non d'une réponse en se basant sur le fait que l'utilisateur a répondu dans le temps alloué :</para>
+            <para>
+                Ci-dessous, le contrôleur qui analyse les réponses aux questions du test
+                détermine l'acceptation ou non d'une réponse en se basant sur le fait que
+                l'utilisateur a répondu dans le temps alloué :
+            </para>
 
             <programlisting role="php"><![CDATA[
 // contrôleur analysant la réponse
@@ -211,14 +275,20 @@ else {
     <sect2 id="zend.session.advanced_usage.single_instance">
         <title>Limiter les instances multiples par espace de noms</title>
 
-        <para>Bien que <link linkend="zend.session.advanced_usage.locking">le verrouillage de session</link> fournisse
-        un bon degré de protection contre l'utilisation inattendue des données dans un espace de noms,
-        <classname>Zend_Session_Namespace</classname> offre aussi la possibilité d'empêcher la création d'instances multiples
-        correspondant à un unique espace de noms.</para>
-
-        <para>Pour activer ce comportement, réglez à <code>true</code> le second argument du constructeur quand vous
-        créez la dernière instance autorisée de <classname>Zend_Session_Namespace</classname>. Tout tentative suivante
-        d'instanciation du même espace de noms entraînera la levée d'une exception.</para>
+        <para>
+            Bien que <link linkend="zend.session.advanced_usage.locking">le verrouillage de
+            session</link> fournisse un bon degré de protection contre l'utilisation inattendue des
+            données dans un espace de noms, <classname>Zend_Session_Namespace</classname> offre
+            aussi la possibilité d'empêcher la création d'instances multiples correspondant à un
+            unique espace de noms.
+        </para>
+
+        <para>
+            Pour activer ce comportement, réglez à <code>true</code> le second argument du
+            constructeur quand vous créez la dernière instance autorisée de
+            <classname>Zend_Session_Namespace</classname>. Tout tentative suivante d'instanciation
+            du même espace de noms entraînera la levée d'une exception.
+        </para>
 
         <example id="zend.session.advanced_usage.single_instance.example">
             <title>Limiter l'accès à un espace de noms à une instance unique</title>
@@ -247,25 +317,32 @@ try {
 ]]></programlisting>
         </example>
 
-        <para>Le second paramètre dans le constructeur ci-dessus informe <classname>Zend_Session_Namespace</classname> que toute
-        future instance avec l'espace de noms "Zend_Auth" sera refusée. Tenter de créer une instance entraînera la levée
-        d'une exception par le constructeur. Le développeur devient responsable de stocker quelque part une référence à
-        l'instance de l'objet (<code>$authSpaceAccessor1</code>, <code>$authSpaceAccessor2</code>, ou
-        <code>$authSpaceAccessor3</code> dans l'exemple ci-dessus), si l'accès à l'espace de noms de session est
-        nécessaire plus tard dans la même requête. Par exemple, le développeur peut stocker la référence dans une
-        variable statique , ajouter la référence au <ulink
-        url="http://www.martinfowler.com/eaaCatalog/registry.html">registre</ulink> (voir <xref
-        linkend="zend.registry" />), ou sinon la rendre disponible pour les autres méthodes qui peuvent avoir accès à
-        cet espace de noms.</para>
+        <para>
+            Le second paramètre dans le constructeur ci-dessus informe
+            <classname>Zend_Session_Namespace</classname> que toute future instance avec l'espace de
+            noms "Zend_Auth" sera refusée. Tenter de créer une instance entraînera la levée d'une
+            exception par le constructeur. Le développeur devient responsable de stocker quelque
+            part une référence à l'instance de l'objet (<code>$authSpaceAccessor1</code>,
+            <code>$authSpaceAccessor2</code>, ou <code>$authSpaceAccessor3</code> dans l'exemple
+            ci-dessus), si l'accès à l'espace de noms de session est nécessaire plus tard dans la
+            même requête. Par exemple, le développeur peut stocker la référence dans une variable
+            statique , ajouter la référence au <ulink
+            url="http://www.martinfowler.com/eaaCatalog/registry.html">registre</ulink> (voir <xref
+            linkend="zend.registry" />), ou sinon la rendre disponible pour les autres méthodes qui
+            peuvent avoir accès à cet espace de noms.
+        </para>
     </sect2>
 
     <sect2 id="zend.session.advanced_usage.arrays">
         <title>Travailler avec les tableaux</title>
 
-        <para>A cause de l'histoire de l'implémentation des méthodes magiques dans PHP, la modification d'un tableau à
-        l'intérieur d'un espace de noms peut ne pas fonctionner avec les versions de PHP inférieures à 5.2.1. Si vous
-        travaillez exclusivement avec des versions de PHP 5.2.1 ou supérieur., alors vous pouvez passer la <link
-        linkend="zend.session.advanced_usage.objects">section suivante</link>.</para>
+        <para>
+            A cause de l'histoire de l'implémentation des méthodes magiques dans PHP, la
+            modification d'un tableau à l'intérieur d'un espace de noms peut ne pas fonctionner avec
+            les versions de PHP inférieures à 5.2.1. Si vous travaillez exclusivement avec des
+            versions de PHP 5.2.1 ou supérieur., alors vous pouvez passer la <link
+            linkend="zend.session.advanced_usage.objects">section suivante</link>.
+        </para>
 
         <example id="zend.session.advanced_usage.arrays.example.modifying">
             <title>Modifier un tableau de données avec un espace de noms de session</title>
@@ -284,8 +361,11 @@ echo $sessionNamespace->array['testKey'];
         <example id="zend.session.advanced_usage.arrays.example.building_prior">
             <title>Construire les tableaux avant le stockage en session</title>
 
-            <para>Si possible, évitez le problème en stockant les tableaux dans un espace de noms de session seulement
-            après que toutes les clés et les valeurs aient été définies :</para>
+            <para>
+                Si possible, évitez le problème en stockant les tableaux dans un espace de
+                noms de session seulement après que toutes les clés et les valeurs aient été
+                définies :
+            </para>
 
             <programlisting role="php"><![CDATA[
 $sessionNamespace = new Zend_Session_Namespace('Foo');
@@ -293,14 +373,20 @@ $sessionNamespace->array = array('a', 'b', 'c');
 ]]></programlisting>
         </example>
 
-        <para>Si vous utilisez une version de PHP affectée et avez besoin de modifier un tableau après l'avoir assigné à
-        une clé dans l'espace de noms, vous pouvez utiliser l'une des solutions suivantes :</para>
+        <para>
+            Si vous utilisez une version de PHP affectée et avez besoin de modifier un tableau
+            après l'avoir assigné à une clé dans l'espace de noms, vous pouvez utiliser l'une des
+            solutions suivantes :
+        </para>
 
         <example id="zend.session.advanced_usage.arrays.example.workaround.reassign">
             <title>Solution : réassigner un tableau modifié</title>
 
-            <para>Dans le code suivant, une copie du tableau stocké est créée, modifiée, et réassignée à la place d'où
-            provenait la copie, en effaçant le tableau original.</para>
+            <para>
+                Dans le code suivant, une copie du tableau stocké est créée, modifiée, et
+                réassignée à la place d'où provenait la copie, en effaçant le tableau
+                original.
+            </para>
 
             <programlisting role="php"><![CDATA[
 $sessionNamespace = new Zend_Session_Namespace();
@@ -324,8 +410,10 @@ echo $sessionNamespace->array['fruit']; // affiche "poire"
         <example id="zend.session.advanced_usage.arrays.example.workaround.reference">
             <title>Solution : stocker un tableau contenant une référence</title>
 
-            <para>Autrement, stockez un tableau contenant une référence au tableau désiré, et y accéder
-            indirectement.</para>
+            <para>
+                Autrement, stockez un tableau contenant une référence au tableau désiré, et y
+                accéder indirectement.
+            </para>
 
             <programlisting role="php"><![CDATA[
 $myNamespace = new Zend_Session_Namespace('myNamespace');
@@ -340,35 +428,49 @@ echo $myNamespace->someArray['foo']; // affiche "bar"
     <sect2 id="zend.session.advanced_usage.objects">
         <title>Utiliser les sessions avec des objets</title>
 
-        <para>Si vous prévoyez de rendre persistant des objets dans les sessions PHP, pensez qu'ils peuvent être <ulink
-        url="http://www.php.net/manual/fr/language.oop.serialization.php">sérialisé</ulink> pour le stockage. Ainsi,
-        tout objet persistant dans les sessions PHP doit être désérialisé après sa récupération à partir du stockage.
-        L'implication est que le développeur doit s'assurer que les classes des objets persistants doivent avoir été
-        définies avant que l'objet ne soit désérialisé du stockage. Si aucune classe n'est définie pour l'objet
-        désérialisé, alors il devient une instance de <code>stdClass</code>.</para>
+        <para>
+            Si vous prévoyez de rendre persistant des objets dans les sessions PHP, pensez
+            qu'ils peuvent être <ulink
+            url="http://www.php.net/manual/fr/language.oop.serialization.php">sérialisé</ulink> pour
+            le stockage. Ainsi, tout objet persistant dans les sessions PHP doit être désérialisé
+            après sa récupération à partir du stockage. L'implication est que le développeur doit
+            s'assurer que les classes des objets persistants doivent avoir été définies avant que
+            l'objet ne soit désérialisé du stockage. Si aucune classe n'est définie pour l'objet
+            désérialisé, alors il devient une instance de <code>stdClass</code>.
+        </para>
     </sect2>
 
     <sect2 id="zend.session.advanced_usage.testing">
         <title>Utiliser les sessions avec les tests unitaires</title>
 
-        <para>Zend Framework s'appuie sur PHPUnit pour faciliter ses propres tests. Beaucoup de développeurs étendent
-        la suite des tests unitaires pour couvrir le code de leurs applications. L'exception "<emphasis>Zend_Session is currently marked as read-only</emphasis>" (NDT. : "Zend_Session est actuellement
-        marquée en lecture seule") est levée lors de l'exécution des tests unitaires, si une méthode d'écriture est
-        utilisée après la clôture de la session. Cependant les tests unitaires employant <classname>Zend_Session</classname>
-        requièrent une attention particulière, car la fermeture (<classname>Zend_Session::writeClose()</classname>), ou la
-        destruction d'une session (<classname>Zend_Session::destroy()</classname>) empêche tout futur changement ou suppression de
-        clés dans un <classname>Zend_Session_Namespace</classname>. Ce comportement est un résultat direct du mécanisme
-        fondamental de l'extension session et des fonctions PHP <code>session_destroy()</code> et
-        <code>session_write_close()</code>, qui n'a pas de mécanisme de marche arrière ("undo") pour faciliter le
-        réglage/démontage avec les tests unitaires.</para>
-
-        <para>Pour contourner ceci, regardez le test unitaire <code>testSetExpirationSeconds()</code> dans
-        <code>tests/Zend/Session/SessionTest.php</code> et <code>SessionTestHelper.php</code>, qui utilise le code PHP
-        <code>exec()</code> pour charger un processus séparé. Le nouveau processus simule plus précisément une seconde
-        requête successive du navigateur. Le processus séparé démarre avec une session "propre", comme n'importe quelle
-        exécution de PHP pour une requête Web. Ainsi, tout changement fait à <code>$_SESSION</code> dans le processus
-        appelant devient disponible dans le processus enfant, pourvu que le parent ait fermé la session avant d'utiliser
-        <code>exec()</code>.</para>
+        <para>
+            Zend Framework s'appuie sur PHPUnit pour faciliter ses propres tests. Beaucoup de
+            développeurs étendent la suite des tests unitaires pour couvrir le code de leurs
+            applications. L'exception "<emphasis>Zend_Session is currently marked as
+            read-only</emphasis>" (NDT. : "Zend_Session est actuellement marquée en lecture seule")
+            est levée lors de l'exécution des tests unitaires, si une méthode d'écriture est
+            utilisée après la clôture de la session. Cependant les tests unitaires employant
+            <classname>Zend_Session</classname> requièrent une attention particulière, car la
+            fermeture (<classname>Zend_Session::writeClose()</classname>), ou la destruction d'une
+            session (<classname>Zend_Session::destroy()</classname>) empêche tout futur changement
+            ou suppression de clés dans un <classname>Zend_Session_Namespace</classname>. Ce
+            comportement est un résultat direct du mécanisme fondamental de l'extension session et
+            des fonctions PHP <code>session_destroy()</code> et <code>session_write_close()</code>,
+            qui n'a pas de mécanisme de marche arrière ("undo") pour faciliter le réglage/démontage
+            avec les tests unitaires.
+        </para>
+
+        <para>
+            Pour contourner ceci, regardez le test unitaire
+            <code>testSetExpirationSeconds()</code> dans
+            <code>tests/Zend/Session/SessionTest.php</code> et <code>SessionTestHelper.php</code>,
+            qui utilise le code PHP <code>exec()</code> pour charger un processus séparé. Le nouveau
+            processus simule plus précisément une seconde requête successive du navigateur. Le
+            processus séparé démarre avec une session "propre", comme n'importe quelle exécution de
+            PHP pour une requête Web. Ainsi, tout changement fait à <code>$_SESSION</code> dans le
+            processus appelant devient disponible dans le processus enfant, pourvu que le parent ait
+            fermé la session avant d'utiliser <code>exec()</code>.
+        </para>
 
         <example id="zend.session.advanced_usage.testing.example">
             <title>Utilisation de PHPUnit pour tester le code écrit avec Zend_Session*</title>

+ 76 - 48
documentation/manual/fr/module_specs/Zend_Session-BasicUsage.xml

@@ -1,39 +1,51 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 12759 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15157 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.session.basic_usage">
     <title>Usage basique</title>
 
-    <para>Les instances <classname>Zend_Session_Namespace</classname> fournissent l'API primaire pour manipuler les données de
-    session dans Zend Framework. Les espaces de noms sont utilisés pour isoler toutes les données de session, bien
-    qu'un espace de noms par défaut existe pour ceux qui veulent juste un endroit pour stocker toutes leurs données de
-    session. <classname>Zend_Session</classname> utilise ext/session et sa superglobale spéciale <code>$_SESSION</code> comme
-    mécanisme de stockage pour les données d'état de session. Bien que <code>$_SESSION</code> est toujours disponible
-    dans l'espace global de PHP, les développeurs devraient s'abstenir d'accéder directement à elle, alors que
-    <classname>Zend_Session</classname> et <classname>Zend_Session_Namespace</classname> fournissent plus efficacement et plus solidement
-    leur suite de fonctionnalités liées à session.</para>
-
-    <para>Chaque instance de <classname>Zend_Session_Namespace</classname> correspond à une entrée dans le tableau de la
-    superglobale <code>$_SESSION</code>, où l'espace de noms est utilisée comme une clé. <programlisting
-    role="php"><![CDATA[
-$monNamespace = new Zend_Session_Namespace('monNamespace');
-
-// $monNamespace corresponds to $_SESSION['monNamespace']
-]]></programlisting> Il est possible d'utiliser
-    <classname>Zend_Session</classname> conjointement avec d'autre code utilisant directement <code>$_SESSION</code>. Cependant,
-    pour éviter les problèmes, il est fortement recommandé que ce code utilise seulement les parties de
-    <code>$_SESSION</code> ne correspondant pas aux instances de <classname>Zend_Session_Namespace</classname>.</para>
+    <para>
+        Les instances <classname>Zend_Session_Namespace</classname> fournissent l'API primaire
+        pour manipuler les données de session dans Zend Framework. Les espaces de noms sont utilisés
+        pour isoler toutes les données de session, bien qu'un espace de noms par défaut existe pour
+        ceux qui veulent juste un endroit pour stocker toutes leurs données de session.
+        <classname>Zend_Session</classname> utilise ext/session et sa superglobale spéciale
+        <code>$_SESSION</code> comme mécanisme de stockage pour les données d'état de session. Bien
+        que <code>$_SESSION</code> est toujours disponible dans l'espace global de PHP, les
+        développeurs devraient s'abstenir d'accéder directement à elle, alors que
+        <classname>Zend_Session</classname> et <classname>Zend_Session_Namespace</classname>
+        fournissent plus efficacement et plus solidement leur suite de fonctionnalités liées à
+        session.
+    </para>
+
+    <para>
+        Chaque instance de <classname>Zend_Session_Namespace</classname> correspond à une
+        entrée dans le tableau de la superglobale <code>$_SESSION</code>, où l'espace de noms est
+        utilisée comme une clé. <programlisting role="php"><![CDATA[
+    $monNamespace = new Zend_Session_Namespace('monNamespace');
+    
+    // $monNamespace corresponds to $_SESSION['monNamespace']
+    ]]></programlisting> Il est possible d'utiliser <classname>Zend_Session</classname>
+        conjointement avec d'autre code utilisant directement <code>$_SESSION</code>. Cependant,
+        pour éviter les problèmes, il est fortement recommandé que ce code utilise seulement les
+        parties de <code>$_SESSION</code> ne correspondant pas aux instances de
+        <classname>Zend_Session_Namespace</classname>.
+    </para>
 
     <sect2 id="zend.session.basic_usage.basic_examples">
         <title>Tutoriel d'exemples</title>
 
-        <para>Si aucun espace de noms n'est spécifié lors de l'instanciation de <classname>Zend_Session_Namespace</classname>,
-        toutes les données sont stockées de manière transparente dans un espace de noms appelé "<code>Default</code>".
-        <classname>Zend_Session</classname> n'est pas prévu pour fonctionner directement sur le contenu des conteneurs des espaces
-        de noms. Au lieu de cela, nous utilisons <classname>Zend_Session_Namespace</classname>. L'exemple ci-dessous montre
-        l'utilisation de cet espace de noms par défaut, en montrant comment compter le nombre de fois qu'un utilisateur
-        a vu une page sur le site Web. Pour tester cet exemple, ajouter le code suivant à votre fichier d'amorçage ZF
-        :</para>
+        <para>
+            Si aucun espace de noms n'est spécifié lors de l'instanciation de
+            <classname>Zend_Session_Namespace</classname>, toutes les données sont stockées de
+            manière transparente dans un espace de noms appelé "<code>Default</code>".
+            <classname>Zend_Session</classname> n'est pas prévu pour fonctionner directement sur le
+            contenu des conteneurs des espaces de noms. Au lieu de cela, nous utilisons
+            <classname>Zend_Session_Namespace</classname>. L'exemple ci-dessous montre l'utilisation
+            de cet espace de noms par défaut, en montrant comment compter le nombre de fois qu'un
+            utilisateur a vu une page sur le site Web. Pour tester cet exemple, ajouter le code
+            suivant à votre fichier d'amorçage ZF :
+        </para>
 
         <example id="zend.session.basic_usage.basic_examples.example.counting_page_views">
             <title>Compter le nombre de pages vues</title>
@@ -54,16 +66,23 @@ echo "Page demandée lors de cette session : ",
 ]]></programlisting>
         </example>
 
-        <para>Quand de multiples modules utilisent des instances de <classname>Zend_Session_Namespace</classname> ayant différents
-        espaces de noms, chaque module obtient une encapsulation pour ses propres données de session. Le constructeur de
-        <classname>Zend_Session_Namespace</classname> peut recevoir un paramètre facultatif <code>$namespace</code>, qui permet
-        aux développeurs la partition des données de session dans des espaces de noms séparés. Les espaces de noms
-        fournissent une manière efficace et populaire de protéger un sous-ensemble de données de session contre un
-        changement accidentel dû à des collisions de noms.</para>
-
-        <para>Les noms des espaces de noms sont limités à des chaînes de caractères PHP non-vides qui ne commencent par
-        un tiret-bas ("<code>_</code>"). De plus, seuls les composants coeur de Zend Framework devraient employer un nom
-        d'espace de noms commençant par "<code>Zend</code>".</para>
+        <para>
+            Quand de multiples modules utilisent des instances de
+            <classname>Zend_Session_Namespace</classname> ayant différents espaces de noms, chaque
+            module obtient une encapsulation pour ses propres données de session. Le constructeur de
+            <classname>Zend_Session_Namespace</classname> peut recevoir un paramètre facultatif
+            <code>$namespace</code>, qui permet aux développeurs la partition des données de session
+            dans des espaces de noms séparés. Les espaces de noms fournissent une manière efficace
+            et populaire de protéger un sous-ensemble de données de session contre un changement
+            accidentel dû à des collisions de noms.
+        </para>
+
+        <para>
+            Les noms des espaces de noms sont limités à des chaînes de caractères PHP
+            non-vides qui ne commencent par un tiret-bas ("<code>_</code>"). De plus, seuls les
+            composants coeur de Zend Framework devraient employer un nom d'espace de noms commençant
+            par "<code>Zend</code>".
+        </para>
 
         <example id="zend.session.basic_usage.basic_examples.example.namespaces.new">
             <title>Nouvelle méthode : les espaces de noms évitent les collisions</title>
@@ -79,8 +98,11 @@ $webServiceNamespace->user = "monwebusername";
 ]]></programlisting>
         </example>
 
-        <para>L'exemple ci-dessus réalise la même chose que celui ci-dessous, excepté que les objets de session
-        ci-dessus préserve l'encapsulation des données de session dans leur espace de noms respectif.</para>
+        <para>
+            L'exemple ci-dessus réalise la même chose que celui ci-dessous, excepté que les
+            objets de session ci-dessus préserve l'encapsulation des données de session dans leur
+            espace de noms respectif.
+        </para>
 
         <example id="zend.session.basic_usage.basic_examples.example.namespaces.old">
             <title>Ancienne méthode : accès aux sessions PHP</title>
@@ -95,9 +117,12 @@ $_SESSION['Un_Service_Web']['user'] = "monwebusername";
     <sect2 id="zend.session.basic_usage.iteration">
         <title>Énumérer les espaces de noms de session</title>
 
-        <para><classname>Zend_Session_Namespace</classname> fournit une <ulink
-        url="http://www.php.net/~helly/php/ext/spl/interfaceIteratorAggregate.html">interface IteratorAggregate</ulink>
-        complète, incluant le support de l'instruction <code>foreach</code> :</para>
+        <para>
+            <classname>Zend_Session_Namespace</classname> fournit une <ulink
+            url="http://www.php.net/~helly/php/ext/spl/interfaceIteratorAggregate.html">interface
+            IteratorAggregate</ulink> complète, incluant le support de l'instruction
+            <code>foreach</code> :
+        </para>
 
         <example id="zend.session.basic_usage.iteration.example">
             <title>Énumération des sessions</title>
@@ -116,11 +141,14 @@ foreach ($unNamespace as $index => $valeur) {
     <sect2 id="zend.session.basic_usage.accessors">
         <title>Accesseurs pour les espaces de noms de session</title>
 
-        <para><classname>Zend_Session_Namespace</classname> implémente <code>__get()</code>, <code>__set()</code>,
-        <code>__isset()</code>, et <code>__unset()</code>. <ulink
-        url="http://www.php.net/manual/fr/language.oop5.overloading.php">Les méthodes magiques</ulink> ne devraient pas
-        être utilisées directement, excepté à l'intérieur d'une sous-classe. Au lieu de cela, utilisez les opérateurs
-        normaux pour appeler ces méthodes magiques, comme :</para>
+        <para>
+            <classname>Zend_Session_Namespace</classname> implémente <code>__get()</code>,
+            <code>__set()</code>, <code>__isset()</code>, et <code>__unset()</code>. <ulink
+            url="http://www.php.net/manual/fr/language.oop5.overloading.php">Les méthodes
+            magiques</ulink> ne devraient pas être utilisées directement, excepté à l'intérieur
+            d'une sous-classe. Au lieu de cela, utilisez les opérateurs normaux pour appeler ces
+            méthodes magiques, comme :
+        </para>
 
         <example id="zend.session.basic_usage.accessors.example">
             <title>Accéder aux données de session</title>

+ 362 - 212
documentation/manual/fr/module_specs/Zend_Session-GlobalSessionManagement.xml

@@ -1,39 +1,51 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 12759 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15346 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.session.global_session_management">
     <title>Gestion générale de la session</title>
 
-    <para>Le comportement des sessions peut être modifié en utilisant les méthodes statiques de la classe Zend_Session.
-    Il s'agit du comportement global des sessions dans toute l'application, incluant la configuration des <ulink
-    url="http://www.php.net/session#session.configuration">options usuelles offertes par ext/session</ulink>, ceci en
-    utilisant <classname>Zend_Session::setOptions()</classname>. Ainsi, des problèmes de sécurité peuvent apparaître si vous
-    utilisez mal le support de stockage des sessions <code>save_path</code> ou encore si vous négligez le cookie utilisé
-    par ext/session.</para>
+    <para>
+        Le comportement des sessions peut être modifié en utilisant les méthodes statiques de
+        la classe Zend_Session. Il s'agit du comportement global des sessions dans toute
+        l'application, incluant la configuration des <ulink
+        url="http://www.php.net/session#session.configuration">options usuelles offertes par
+        ext/session</ulink>, ceci en utilisant <classname>Zend_Session::setOptions()</classname>.
+        Ainsi, des problèmes de sécurité peuvent apparaître si vous utilisez mal le support de
+        stockage des sessions <code>save_path</code> ou encore si vous négligez le cookie utilisé
+        par ext/session.
+    </para>
 
     <sect2 id="zend.session.global_session_management.configuration_options">
         <title>Options de configuration</title>
 
-        <para>Lors de la création du premier namespace de session, Zend_Session va automatiquement démarrer la session
-        PHP, sauf si celle-ci a été démarrée avec <link
-        linkend="zend.session.advanced_usage.starting_a_session"><classname>Zend_Session::start()</classname></link> auparavant.
-        La session PHP résultante utilisera les options de configuration par défaut de Zend_Session, sauf si ceux-ci ont
-        été modifiés à l'aide de <classname>Zend_Session::setOptions()</classname>.</para>
-
-        <para>Pour assigner une option de configuration, passez son nom (la partie qui suit "<code>session.</code>" dans
-        les options de configuration de ext/session) comme clé au tableau passé à
-        <classname>Zend_Session::setOptions()</classname>. La valeur correspondante dans le tableau sera alors utilisée comme
-        valeur de l'option. Si vous omettez une option, alors celles par défaut recommandées par Zend_Session seront
-        utilisées, sinon si elles n'existent pas, les valeurs par défaut de php.ini. Les retours et les idées quant aux
-        "options recommandées" sont appréciées et peuvent être envoyées à <ulink
-        url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink>.</para>
+        <para>
+            Lors de la création du premier namespace de session, Zend_Session va
+            automatiquement démarrer la session PHP, sauf si celle-ci a été démarrée avec <link
+            linkend="zend.session.advanced_usage.starting_a_session"><classname>Zend_Session::start()</classname></link>
+            auparavant. La session PHP résultante utilisera les options de configuration par défaut
+            de Zend_Session, sauf si ceux-ci ont été modifiés à l'aide de
+            <classname>Zend_Session::setOptions()</classname>.
+        </para>
+
+        <para>
+            Pour assigner une option de configuration, passez son nom (la partie qui suit
+            "<code>session.</code>" dans les options de configuration de ext/session) comme clé au
+            tableau passé à <classname>Zend_Session::setOptions()</classname>. La valeur
+            correspondante dans le tableau sera alors utilisée comme valeur de l'option. Si vous
+            omettez une option, alors celles par défaut recommandées par Zend_Session seront
+            utilisées, sinon si elles n'existent pas, les valeurs par défaut de php.ini. Les retours
+            et les idées quant aux "options recommandées" sont appréciées et peuvent être envoyées à
+            <ulink url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink>.
+        </para>
 
         <example id="zend.session.global_session_management.setoptions.example">
             <title>Utiliser Zend_Config pour configurer Zend_Session</title>
 
-            <para>Pour configurer le composant en utilisant un objet <link
-            linkend="zend.config.adapters.ini"><classname>Zend_Config_Ini</classname></link>, ajoutez ces paramètres au fichier
-            INI en question:</para>
+            <para>
+                Pour configurer le composant en utilisant un objet <link
+                linkend="zend.config.adapters.ini"><classname>Zend_Config_Ini</classname></link>,
+                ajoutez ces paramètres au fichier INI en question:
+            </para>
 
             <programlisting role="ini"><![CDATA[
 ; Paramètres de production
@@ -75,8 +87,10 @@ use_only_cookies = on
 remember_me_seconds = 864000
 ]]></programlisting>
 
-            <para>Ensuite, chargez ce fichier de configuration, et passez sa représentation tableau à
-            <classname>Zend_Session::setOptions()</classname>:</para>
+            <para>
+                Ensuite, chargez ce fichier de configuration, et passez sa représentation
+                tableau à <classname>Zend_Session::setOptions()</classname>:
+            </para>
 
             <programlisting role="php"><![CDATA[
 $config = new Zend_Config_Ini('myapp.ini', 'development');
@@ -86,114 +100,162 @@ Zend_Session::setOptions($config->toArray());
 ]]></programlisting>
         </example>
 
-        <para>La plupart des options ne nécessitent pas d'explications étant donné qu'elles font parti des options de
-        ext/session, documentées dans le manuel officiel de PHP, cependant les options particulières méritent une
-        description: <itemizedlist mark="opencircle">
-                <listitem>
-                    <para>bool <code>strict</code> : désactive le démarrage automatique de <classname>Zend_Session</classname>
-                    lorsque <code>new Zend_Session_Namespace()</code> est utilisé.</para>
+        <para>
+            La plupart des options ne nécessitent pas d'explications étant donné qu'elles font
+            parti des options de ext/session, documentées dans le manuel officiel de PHP, cependant
+            les options particulières méritent une description: <itemizedlist mark="opencircle">
+                    <listitem>
+                    <para>
+                        bool <code>strict</code> : désactive le démarrage automatique de
+                        <classname>Zend_Session</classname> lorsque <code>new
+                        Zend_Session_Namespace()</code> est utilisé.
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para>int <code>remember_me_seconds</code> : temps de vie du cookie de session, une fois le
-                    navigateur client fermé.</para>
+                    <para>
+                        int <code>remember_me_seconds</code> : temps de vie du cookie de
+                        session, une fois le navigateur client fermé.
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para>string <code>save_path</code> : Cette valeur est dépendante du système sur lequel PHP est
-                    lancé. Un <emphasis>chemin absolu</emphasis> vers un dossier lisible et écrivable à
-                    PHP devrait être utilisé (dans le cas d'utilisation d'un dossier pour le support des sessions). Si
-                    le chemin n'est pas pleinement accessible à PHP, <classname>Zend_Session</classname> lancera une exception à
-                    son démarrage (lorsque <code>start()</code> est appelée.</para>
+                    <para>
+                        string <code>save_path</code> : Cette valeur est dépendante du système
+                        sur lequel PHP est lancé. Un <emphasis>chemin absolu</emphasis> vers un
+                        dossier lisible et écrivable à PHP devrait être utilisé (dans le cas
+                        d'utilisation d'un dossier pour le support des sessions). Si le chemin n'est
+                        pas pleinement accessible à PHP, <classname>Zend_Session</classname> lancera
+                        une exception à son démarrage (lorsque <code>start()</code> est
+                        appelée.
+                    </para>
 
                     <note>
                         <title>Attention aux failles de sécurité</title>
 
-                        <para>Si le chemin des sessions est accessible en lecture à d'autres applications, alors le vol
-                        de session peut être possible. Si le dossier est accessible en écriture à d'autres applications,
-                        alors <ulink url="http://en.wikipedia.org/wiki/Session_poisoning">l'empoisonnement de
-                        sessions</ulink> peut être possible. SI le chemin est partagé avec d'autres utilisateurs ou
-                        d'autres applications PHP, plusieurs problèmes de sécurité peuvent apparaître, incluant le vol
-                        de session, et les collisions de ramasse-miette (garbage collection) (Un process d'une autre
-                        application PHP déclenche une collecte sur vos fichiers de session).</para>
-
-                        <para>Par exemple, un pirate peut visiter le site d'une victime pour obtenir un cookie de
-                        session. Il modifie ensuite le chemin du cookie afin que celui-ci soit envoyé à sa propre
-                        application (en partage sur le même serveur que le votre), et il exécute
-                        <code>var_dump($_SESSION)</code>. Il obtient alors des informations sur les variables de session
-                        que vous stockez, et il peut les modifier pour retourner sur votre site. L'empoisonnement a eu
-                        lieu. Même si deux applications sur le même serveur ne partagent pas le même dossier
-                        <code>save_path</code>, si celui-ci est devinable, l'attaquant peut alors l'utiliser sur sa
-                        propre application et dans certaines configurations de PHP, accéder à la session de
-                        l'application victime. La valeur du <code>save_path</code> ne doit pas être rendue publique ou
-                        devinable, le dossier doit se trouver dans un endroit isolé et sécurisé.</para>
+                        <para>
+                            Si le chemin des sessions est accessible en lecture à d'autres
+                            applications, alors le vol de session peut être possible. Si le dossier
+                            est accessible en écriture à d'autres applications, alors <ulink
+                            url="http://en.wikipedia.org/wiki/Session_poisoning">l'empoisonnement de
+                            sessions</ulink> peut être possible. SI le chemin est partagé avec
+                            d'autres utilisateurs ou d'autres applications PHP, plusieurs problèmes
+                            de sécurité peuvent apparaître, incluant le vol de session, et les
+                            collisions de ramasse-miette (garbage collection) (Un process d'une
+                            autre application PHP déclenche une collecte sur vos fichiers de
+                            session).
+                        </para>
+
+                        <para>
+                            Par exemple, un pirate peut visiter le site d'une victime pour
+                            obtenir un cookie de session. Il modifie ensuite le chemin du cookie
+                            afin que celui-ci soit envoyé à sa propre application (en partage sur le
+                            même serveur que le votre), et il exécute
+                            <code>var_dump($_SESSION)</code>. Il obtient alors des informations sur
+                            les variables de session que vous stockez, et il peut les modifier pour
+                            retourner sur votre site. L'empoisonnement a eu lieu. Même si deux
+                            applications sur le même serveur ne partagent pas le même dossier
+                            <code>save_path</code>, si celui-ci est devinable, l'attaquant peut
+                            alors l'utiliser sur sa propre application et dans certaines
+                            configurations de PHP, accéder à la session de l'application victime. La
+                            valeur du <code>save_path</code> ne doit pas être rendue publique ou
+                            devinable, le dossier doit se trouver dans un endroit isolé et
+                            sécurisé.
+                        </para>
                     </note>
                 </listitem>
 
                 <listitem>
-                    <para>string <code>name</code> - La valeur doit être choisie de manière <emphasis>unique</emphasis> pour chaque application.</para>
+                    <para>
+                        string <code>name</code> - La valeur doit être choisie de manière
+                        <emphasis>unique</emphasis> pour chaque application.
+                    </para>
 
                     <note>
                         <title>Risque de sécurité</title>
 
-                        <para>Si la valeur <code>php.ini</code> de <code>session.name</code> n'est pas unique (celle par
-                        défaut "PHPSESSID"), et qu'il existe plusieurs applications accessible via le même domaine,
-                        alors elle partagerons leurs données pour les visiteurs. Aussi, des problème de corruption
-                        peuvent apparaître.</para>
+                        <para>
+                            Si la valeur <code>php.ini</code> de <code>session.name</code>
+                            n'est pas unique (celle par défaut "PHPSESSID"), et qu'il existe
+                            plusieurs applications accessible via le même domaine, alors elle
+                            partagerons leurs données pour les visiteurs. Aussi, des problème de
+                            corruption peuvent apparaître.
+                        </para>
                     </note>
                 </listitem>
 
                 <listitem>
-                    <para>bool <code>use_only_cookies</code> - Afin d'éviter d'autres failles de sécurité (concernant le
-                    trans-sid), ne changez pas cette option. <note>
-                            <title>Risque de sécurité</title>
-
-                            <para>Si cette option n'est pas activée, un attaquant peut facilement fixer un id de session
-                            d'une victime en lui envoyant des liens tels que
-                            <code>http://www.example.com/index.php?PHPSESSID=fixed_session_id</code>. La fixation
-                            fonctionne si la victime n'a pas déjà un identifiant de session sur le site example.com.
-                            Lorsque la victime utilise un identifiant de session qu'un attaquant connaît, il peut alors
-                            se faire passer pour elle.</para>
-                        </note></para>
+                    <para>
+                        bool <code>use_only_cookies</code> - Afin d'éviter d'autres failles de
+                        sécurité (concernant le trans-sid), ne changez pas cette option. <note>
+                                <title>Risque de sécurité</title>
+    
+                            <para>
+                                Si cette option n'est pas activée, un attaquant peut
+                                facilement fixer un id de session d'une victime en lui envoyant des
+                                liens tels que
+                                <code>http://www.example.com/index.php?PHPSESSID=fixed_session_id</code>.
+                                La fixation fonctionne si la victime n'a pas déjà un identifiant de
+                                session sur le site example.com. Lorsque la victime utilise un
+                                identifiant de session qu'un attaquant connaît, il peut alors se
+                                faire passer pour elle.
+                            </para>
+                            </note>
+                        </para>
                 </listitem>
-            </itemizedlist></para>
+                </itemizedlist>
+            </para>
     </sect2>
 
     <sect2 id="zend.session.global_session_management.headers_sent">
         <title>L'erreur: "Headers Already Sent"</title>
 
-        <para>Si vous voyez l'erreur, "Cannot modify header information - headers already sent", ou, "You must call ...
-        before any output has been sent to the browser; output started in ...", analysez tout de suite d'où vient la
-        fuite grâce au message d'erreur. Toute action entraînant un envoi d'en-têtes HTTP, comme envoyer un cookie, doit
-        être effectuée avant d'envoyer du contenu standard (non bufferisé), sauf si le buffer de sortie de PHP est
-        activé.</para>
+        <para>
+            Si vous voyez l'erreur, "Cannot modify header information - headers already sent",
+            ou, "You must call ... before any output has been sent to the browser; output started in
+            ...", analysez tout de suite d'où vient la fuite grâce au message d'erreur. Toute action
+            entraînant un envoi d'en-têtes HTTP, comme envoyer un cookie, doit être effectuée avant
+            d'envoyer du contenu standard (non bufferisé), sauf si le buffer de sortie de PHP est
+            activé.
+        </para>
 
         <itemizedlist mark="opencircle">
             <listitem>
-                <para>Utiliser <ulink url="http://php.net/outcontrol">le buffer de sortie</ulink> résout souvent le
-                problème, et peut améliorer les performances. Par exemple, une valeur <code>php.ini</code>,
-                "<code>output_buffering = 65535</code>" active un buffer de 64K. Même si le buffer de sortie peut
-                améliorer les performances lorsqu'il est bien configuré, se reposer sur lui concernant les erreurs
-                "headers already sent" n'est pas suffisant. En effet, sa taille peut être dépassé entraînant son vidage,
-                et le problème revient.</para>
+                <para>
+                    Utiliser <ulink url="http://php.net/outcontrol">le buffer de
+                    sortie</ulink> résout souvent le problème, et peut améliorer les performances.
+                    Par exemple, une valeur <code>php.ini</code>, "<code>output_buffering =
+                    65535</code>" active un buffer de 64K. Même si le buffer de sortie peut
+                    améliorer les performances lorsqu'il est bien configuré, se reposer sur lui
+                    concernant les erreurs "headers already sent" n'est pas suffisant. En effet, sa
+                    taille peut être dépassé entraînant son vidage, et le problème revient.
+                </para>
             </listitem>
 
             <listitem>
-                <para>Aussi, il convient d'organiser l'application de manière à ce que les envois d'en-tête se passent
-                avant l'envoi de contenu.</para>
+                <para>
+                    Aussi, il convient d'organiser l'application de manière à ce que les
+                    envois d'en-tête se passent avant l'envoi de contenu.
+                </para>
             </listitem>
 
             <listitem>
-                <para>Si Zend_Session produit ce message, cherchez la cause grâce au message d'erreur indiquant d'où
-                provient "la fuite". Aussi, des opérations comme <code>destroy()</code> envoient des en-têtes concernant
-                la destruction du cookie de session. Si vous ne voulez pas ces informations envoyées, utilisez alors
-                <code>destroy(false)</code>.</para>
+                <para>
+                    Si Zend_Session produit ce message, cherchez la cause grâce au message
+                    d'erreur indiquant d'où provient "la fuite". Aussi, des opérations comme
+                    <code>destroy()</code> envoient des en-têtes concernant la destruction du cookie
+                    de session. Si vous ne voulez pas ces informations envoyées, utilisez alors
+                    <code>destroy(false)</code>.
+                </para>
             </listitem>
 
             <listitem>
-                <para>Supprimez tous les balises de fermeture "<code>?&gt;</code>", si elles terminent du code PHP.
-                Elles sont facultatives et les nouvelles lignes blanches éventuelles en fin de fichier ne seront pas
-                envoyées, car parsées par PHP.</para>
+                <para>
+                    Supprimez tous les balises de fermeture "<code>?&gt;</code>", si elles
+                    terminent du code PHP. Elles sont facultatives et les nouvelles lignes blanches
+                    éventuelles en fin de fichier ne seront pas envoyées, car parsées par
+                    PHP.
+                </para>
             </listitem>
         </itemizedlist>
     </sect2>
@@ -201,78 +263,112 @@ Zend_Session::setOptions($config->toArray());
     <sect2 id="zend.session.global_session_management.session_identifiers">
         <title>Identifiants de session</title>
 
-        <para>Les bonnes pratiques d'utilisation des sessions avec Zend Framework passent par un cookie, plutôt que se reporter à
-        l'URL concernant l'identifiant de session. Par défaut, le composant Zend_Session est bloqué sur l'utilisation
-        unique du cookie comme moyen de propagation de l'identifiant de session. La session PHP va alors utiliser cet
-        identifiant de manière à identifier de manière unique chaque client (navigateur) qui s'y connecte, et maintenir
-        un état entre leurs transactions, donnant l'impression de conservation de données. Zend_Session_* utilise alors
-        le tableau (<code>$_SESSION</code>) et vous y donne accès d'une manière objet élégante. Attention, si un
-        attaquant arrive à accéder au cookie de session d'une victime, il pourra alors tromper le serveur, et se faire
-        passer pour la victime. Ce comportement n'est pas unique à PHP, ni à Zend Framework, mais au Web en général, et
-        au protocole HTTP. La méthode <code>regenerateId()</code> permet de changer l'identifiant de session stocké dans
-        le cookie du client, par un autre, en théorie imprévisible. Notez que par la suite, nous confondons les termes
-        'client' et 'navigateur', même si ceci n'est pas tout à fait juste.</para>
-
-        <para>Changer l'identifiant de session permet d'aider contre le vol de données. Si un attaquant possède
-        l'identifiant d'une victime, le changer ne changera rien pour la victime, mais provoquera une invalidation de la
-        session de l'attaquant, qui ne connaît alors pas la nouvelle valeur de l'identifiant de session. Non seulement
-        <code>regenerateId()</code> change l'identifiant de session, mais en plus il migre les données de l'ancien
-        identifiant vers le nouveau, invalidant totalement l'ancien.</para>
-
-        <para>Quand régénérer cet identifiant ? En théorie, mettre <classname>Zend_Session::regenerateId()</classname> en
-        bootstrap est la manière la plus adaptée pour sécuriser une session. Cependant, ceci a un coût non négligeable,
-        car il faut alors à chaque fois régénérer un identifiant, et renvoyer un nouveau cookie au client. Il est alors
-        nécessaire de déterminer les situations 'à risque', et régénérer alors l'identifiant de session dans de telles
-        situations. Ces situations peuvent être par exemple l'authentification d'un client, ou encore son élévation de
-        privilèges. Si vous appelez <code>rememberMe()</code>, n'appelez alors pas <code>regenerateId()</code>, car elle
-        sera appelée de manière automatique.</para>
+        <para>
+            Les bonnes pratiques d'utilisation des sessions avec Zend Framework passent par un
+            cookie, plutôt que se reporter à l'URL concernant l'identifiant de session. Par défaut,
+            le composant Zend_Session est bloqué sur l'utilisation unique du cookie comme moyen de
+            propagation de l'identifiant de session. La session PHP va alors utiliser cet
+            identifiant de manière à identifier de manière unique chaque client (navigateur) qui s'y
+            connecte, et maintenir un état entre leurs transactions, donnant l'impression de
+            conservation de données. Zend_Session_* utilise alors le tableau
+            (<code>$_SESSION</code>) et vous y donne accès d'une manière objet élégante. Attention,
+            si un attaquant arrive à accéder au cookie de session d'une victime, il pourra alors
+            tromper le serveur, et se faire passer pour la victime. Ce comportement n'est pas unique
+            à PHP, ni à Zend Framework, mais au Web en général, et au protocole HTTP. La méthode
+            <code>regenerateId()</code> permet de changer l'identifiant de session stocké dans le
+            cookie du client, par un autre, en théorie imprévisible. Notez que par la suite, nous
+            confondons les termes 'client' et 'navigateur', même si ceci n'est pas tout à fait
+            juste.
+        </para>
+
+        <para>
+            Changer l'identifiant de session permet d'aider contre le vol de données. Si un
+            attaquant possède l'identifiant d'une victime, le changer ne changera rien pour la
+            victime, mais provoquera une invalidation de la session de l'attaquant, qui ne connaît
+            alors pas la nouvelle valeur de l'identifiant de session. Non seulement
+            <code>regenerateId()</code> change l'identifiant de session, mais en plus il migre les
+            données de l'ancien identifiant vers le nouveau, invalidant totalement l'ancien.
+        </para>
+
+        <para>
+            Quand régénérer cet identifiant ? En théorie, mettre
+            <classname>Zend_Session::regenerateId()</classname> en bootstrap est la manière la plus
+            adaptée pour sécuriser une session. Cependant, ceci a un coût non négligeable, car il
+            faut alors à chaque fois régénérer un identifiant, et renvoyer un nouveau cookie au
+            client. Il est alors nécessaire de déterminer les situations 'à risque', et régénérer
+            alors l'identifiant de session dans de telles situations. Ces situations peuvent être
+            par exemple l'authentification d'un client, ou encore son élévation de privilèges. Si
+            vous appelez <code>rememberMe()</code>, n'appelez alors pas <code>regenerateId()</code>,
+            car elle sera appelée de manière automatique.
+        </para>
 
         <sect3 id="zend.session.global_session_management.session_identifiers.hijacking_and_fixation">
             <title>Vol de session et fixation</title>
 
-            <para>Éviter <ulink url="http://en.wikipedia.org/wiki/Cross_site_scripting">les failles cross-site script
-            (XSS) </ulink> aide à éviter le vol de session. Selon <ulink url="http://secunia.com/">Secunia</ulink>, les
-            problèmes XSS sont fréquents, quelque soit le langage utilisé pour créer l'application Web. Plutôt que de se
-            considérer invulnérable, considérez votre application de manière à minimiser l'impact d'une éventuelle
-            faille XSS. Avec XSS, l'attaquant n'a pas besoin d'accéder au trafic de la victime, sur le réseau. Si la
-            victime possède déjà un cookie de session, javascript peut permettre à l'attaquant de voler celui-ci, et
-            donc la session. Dans le cas de victimes sans cookie, l'attaquant peut utiliser XSS pour créer un cookie
-            avec un session id connu, et l'envoyer à la victime, fixant ainsi la session. L'attaquant peut dès lors
-            visualiser toute la session de la victime au fur et à mesure que celle-ci surfe, sans se rendre compte de
-            rien. Cependant, l'attaquant ne peut modifier l'état de la session du coté PHP ( la fermer par exemple ),
-            sauf si l'application possède d'autres vulnérabilités (CSRF), ou si le <code>save_path</code> est
-            modifiable.</para>
-
-            <para>En elle-même, la fonction <classname>Zend_Session::regenerateId()</classname> utilisée à la première utilisation
-            de la session, ne protège pas contre la fixation. Ceci peut paraître contradictoire, mais un attaquant peut
-            très bien initialiser une session de lui-même, qui sera alors rafraîchie (régénérée), et dont il connaîtra
-            alors l'identifiant. Il n'aura plus qu'à fixer cet identifiant dans un javascript pour qu'une victime
-            l'utilise, et la faille est à nouveau présente. Aussi, fixer la session par l'URL est extrêmement simple,
-            mais n'est possible que lorsque <code>use_only_cookies = off</code>.</para>
-
-            <para>Le vol de session ne peut se remarqué que si vous arrivez à faire la différence entre l'attaquant et
-            la victime. Ce n'est pas chose simple, et les techniques utilisées ne sont jamais fiables à 100%. L'IP peut
-            être utilisée, même si celle-ci n'est pas totalement fiable. Les en-têtes du navigateur Web, eux, le sont
-            déjà plus (lorsque 2 requêtes successives avec le même identifiant de session arrivent au serveur, si l'une
-            prétend être issue de FireFox et l'autre d'Opéra, alors très probablement qu'il s'agit de 2 personnes
-            différentes, mais ayant le même identifiant de session. Typiquement : l'attaquant et sa victime.) Il est
-            très difficile de différencier l'attaquant et la victime, c'est d'ailleurs impossible dans la suite de cas
-            suivants : <itemizedlist mark="opencircle">
-                    <listitem>
-                        <para>l'attaquant initialise une session pour obtenir un identifiant valide.</para>
+            <para>
+                Éviter <ulink url="http://en.wikipedia.org/wiki/Cross_site_scripting">les
+                failles cross-site script (XSS) </ulink> aide à éviter le vol de session. Selon
+                <ulink url="http://secunia.com/">Secunia</ulink>, les problèmes XSS sont fréquents,
+                quelque soit le langage utilisé pour créer l'application Web. Plutôt que de se
+                considérer invulnérable, considérez votre application de manière à minimiser
+                l'impact d'une éventuelle faille XSS. Avec XSS, l'attaquant n'a pas besoin d'accéder
+                au trafic de la victime, sur le réseau. Si la victime possède déjà un cookie de
+                session, javascript peut permettre à l'attaquant de voler celui-ci, et donc la
+                session. Dans le cas de victimes sans cookie, l'attaquant peut utiliser XSS pour
+                créer un cookie avec un session id connu, et l'envoyer à la victime, fixant ainsi la
+                session. L'attaquant peut dès lors visualiser toute la session de la victime au fur
+                et à mesure que celle-ci surfe, sans se rendre compte de rien. Cependant,
+                l'attaquant ne peut modifier l'état de la session du coté PHP ( la fermer par
+                exemple ), sauf si l'application possède d'autres vulnérabilités (CSRF), ou si le
+                <code>save_path</code> est modifiable.
+            </para>
+
+            <para>
+                En elle-même, la fonction <classname>Zend_Session::regenerateId()</classname>
+                utilisée à la première utilisation de la session, ne protège pas contre la fixation.
+                Ceci peut paraître contradictoire, mais un attaquant peut très bien initialiser une
+                session de lui-même, qui sera alors rafraîchie (régénérée), et dont il connaîtra
+                alors l'identifiant. Il n'aura plus qu'à fixer cet identifiant dans un javascript
+                pour qu'une victime l'utilise, et la faille est à nouveau présente. Aussi, fixer la
+                session par l'URL est extrêmement simple, mais n'est possible que lorsque
+                <code>use_only_cookies = off</code>.
+            </para>
+
+            <para>
+                Le vol de session ne peut se remarqué que si vous arrivez à faire la
+                différence entre l'attaquant et la victime. Ce n'est pas chose simple, et les
+                techniques utilisées ne sont jamais fiables à 100%. L'IP peut être utilisée, même si
+                celle-ci n'est pas totalement fiable. Les en-têtes du navigateur Web, eux, le sont
+                déjà plus (lorsque 2 requêtes successives avec le même identifiant de session
+                arrivent au serveur, si l'une prétend être issue de FireFox et l'autre d'Opéra,
+                alors très probablement qu'il s'agit de 2 personnes différentes, mais ayant le même
+                identifiant de session. Typiquement : l'attaquant et sa victime.) Il est très
+                difficile de différencier l'attaquant et la victime, c'est d'ailleurs impossible
+                dans la suite de cas suivants : <itemizedlist mark="opencircle">
+                        <listitem>
+                        <para>
+                            l'attaquant initialise une session pour obtenir un identifiant
+                            valide.
+                        </para>
                     </listitem>
 
                     <listitem>
-                        <para>l'attaquant utilise une faille XSS pour envoyer un cookie de session à une victime,
-                        possédant son propre identifiant de session (fixation).</para>
+                        <para>
+                            l'attaquant utilise une faille XSS pour envoyer un cookie de
+                            session à une victime, possédant son propre identifiant de session
+                            (fixation).
+                        </para>
                     </listitem>
 
                     <listitem>
-                        <para>l'attaquant et la victime utilisent le même navigateur, sont derrière le même
-                        proxy.</para>
+                        <para>
+                            l'attaquant et la victime utilisent le même navigateur, sont
+                            derrière le même proxy.
+                        </para>
                     </listitem>
-                </itemizedlist> Le code suivant permet d'empêcher l'attaquant de connaître l'identifiant de session de
-            la victime (sauf s'il arrive à le fixer):</para>
+                </itemizedlist> Le code suivant permet d'empêcher l'attaquant de connaître
+                l'identifiant de session de la victime (sauf s'il arrive à le fixer):
+            </para>
 
             <example id="zend.session.global_session_management.session_identifiers.hijacking_and_fixation.example">
                 <title>Vol et fixation, protections</title>
@@ -292,91 +388,125 @@ if (!isset($defaultNamespace->initialized)) {
     <sect2 id="zend.session.global_session_management.rememberme">
         <title><code>rememberMe(integer $seconds)</code></title>
 
-        <para>Par défaut, la session se termine lorsque le client ferme son navigateur. Il peut cependant être
-        nécessaire de faire en sorte que même après la fermeture, le cookie de session persiste un certain temps dans le
-        navigateur. Utilisez <classname>Zend_Session::rememberMe()</classname> avant tout démarrage de la session, afin de
-        spécifier à celle-ci qu'elle devra utiliser un cookie persistant du coté du client. Ce cookie persistera alors
-        $seconds secondes. Si vous ne précisez pas de temps, <code>remember_me_seconds</code>, sera utilisé. Cette
-        valeur se paramètre d'ailleurs au moyen de <classname>Zend_Session::setOptions()</classname>.</para>
+        <para>
+            Par défaut, la session se termine lorsque le client ferme son navigateur. Il peut
+            cependant être nécessaire de faire en sorte que même après la fermeture, le cookie de
+            session persiste un certain temps dans le navigateur. Utilisez
+            <classname>Zend_Session::rememberMe()</classname> avant tout démarrage de la session,
+            afin de spécifier à celle-ci qu'elle devra utiliser un cookie persistant du coté du
+            client. Ce cookie persistera alors $seconds secondes. Si vous ne précisez pas de temps,
+            <code>remember_me_seconds</code>, sera utilisé. Cette valeur se paramètre d'ailleurs au
+            moyen de <classname>Zend_Session::setOptions()</classname>.
+        </para>
     </sect2>
 
     <sect2 id="zend.session.global_session_management.forgetme">
         <title><code>forgetMe()</code></title>
 
-        <para>Cette fonction est analogue à <code>rememberMe()</code> sauf qu'elle demande au cookie de session du
-        navigateur client d'être détruit à la fermeture de celui-ci (et non éventuellement après X temps).</para>
+        <para>
+            Cette fonction est analogue à <code>rememberMe()</code> sauf qu'elle demande au
+            cookie de session du navigateur client d'être détruit à la fermeture de celui-ci (et non
+            éventuellement après X temps).
+        </para>
     </sect2>
 
     <sect2 id="zend.session.global_session_management.sessionexists">
         <title><code>sessionExists()</code></title>
 
-        <para>Utilisez cette méthode afin de savoir si une session existe pour le client (la requête) actuel. Ceci doit
-        être utilisé avant le démarrage de la session.</para>
+        <para>
+            Utilisez cette méthode afin de savoir si une session existe pour le client (la
+            requête) actuel. Ceci doit être utilisé avant le démarrage de la session.
+        </para>
     </sect2>
 
     <sect2 id="zend.session.global_session_management.destroy">
         <title><code>destroy(bool $remove_cookie = true, bool $readonly = true)</code></title>
 
-        <para><classname>Zend_Session::destroy()</classname> détruit la session et toutes les données la concernant. Cependant,
-        aucune variable dans PHP n'est affectée, donc vos namespaces de session (instances de
-        <classname>Zend_Session_Namespace</classname>) restent lisibles. Pour compléter la "déconnexion", laissez le premier
-        paramètre à <code>true</code> (par défaut), demandant l'expiration du cookie de session du client.
-        <code>$readonly</code> permet d'empêcher la future création de namespaces (new
-        <classname>Zend_Session_Namespace</classname>) ou des opérations d'écriture via <classname>Zend_Session</classname>.</para>
-
-        <para>Si vous voyez le message d'erreur "Cannot modify header information - headers already sent", alors tentez
-        de ne pas utiliser <code>true</code> comme valeur du premier argument (ceci demande l'expiration du cookie de
-        session, ou voyez <xref linkend="zend.session.global_session_management.headers_sent" />. Ainsi,
-        <classname>Zend_Session::destroy(true)</classname> doit être appelé avant tout envoi d'en-tête HTTP par PHP, ou alors la
-        bufferisation de sortie doit être activée (sans que celui-ci ne déborde).</para>
+        <para>
+            <classname>Zend_Session::destroy()</classname> détruit la session et toutes les
+            données la concernant. Cependant, aucune variable dans PHP n'est affectée, donc vos
+            namespaces de session (instances de <classname>Zend_Session_Namespace</classname>)
+            restent lisibles. Pour compléter la "déconnexion", laissez le premier paramètre à
+            <code>true</code> (par défaut), demandant l'expiration du cookie de session du client.
+            <code>$readonly</code> permet d'empêcher la future création de namespaces (new
+            <classname>Zend_Session_Namespace</classname>) ou des opérations d'écriture via
+            <classname>Zend_Session</classname>.
+        </para>
+
+        <para>
+            Si vous voyez le message d'erreur "Cannot modify header information - headers
+            already sent", alors tentez de ne pas utiliser <code>true</code> comme valeur du premier
+            argument (ceci demande l'expiration du cookie de session, ou voyez <xref
+            linkend="zend.session.global_session_management.headers_sent" />. Ainsi,
+            <classname>Zend_Session::destroy(true)</classname> doit être appelé avant tout envoi
+            d'en-tête HTTP par PHP, ou alors la bufferisation de sortie doit être activée (sans que
+            celui-ci ne déborde).
+        </para>
 
         <note>
             <title>Exception</title>
 
-            <para>Par défaut, <code>$readonly</code> est activé et toute opération future d'écriture dans la session
-            lèvera une exception.</para>
+            <para>
+                Par défaut, <code>$readonly</code> est activé et toute opération future
+                d'écriture dans la session lèvera une exception.
+            </para>
         </note>
     </sect2>
 
     <sect2 id="zend.session.global_session_management.stop">
         <title><code>stop()</code></title>
 
-        <para>Cette méthode ne fait rien d'autre que de verrouiller la session en écriture. Tout appel futur d'écriture
-        via des instances de <classname>Zend_Session_Namespace</classname> ou <classname>Zend_Session</classname> lèvera une
-        exception.</para>
+        <para>
+            Cette méthode ne fait rien d'autre que de verrouiller la session en écriture. Tout
+            appel futur d'écriture via des instances de
+            <classname>Zend_Session_Namespace</classname> ou <classname>Zend_Session</classname>
+            lèvera une exception.
+        </para>
     </sect2>
 
     <sect2 id="zend.session.global_session_management.writeclose">
         <title><code>writeClose($readonly = true)</code></title>
 
-        <para>Ferme la session coté serveur, soit enregistre les variables de session dans le support, et détache
-        <code>$_SESSION</code> de son support de stockage. Le paramètre optionnel <code>$readonly</code> empêche alors
-        toute future écriture via <classname>Zend_Session</classname> ou <classname>Zend_Session_Namespace</classname>. Ces écritures
-        lèveront une exception.</para>
+        <para>
+            Ferme la session coté serveur, soit enregistre les variables de session dans le
+            support, et détache <code>$_SESSION</code> de son support de stockage. Le paramètre
+            optionnel <code>$readonly</code> empêche alors toute future écriture via
+            <classname>Zend_Session</classname> ou <classname>Zend_Session_Namespace</classname>.
+            Ces écritures lèveront une exception.
+        </para>
 
         <note>
             <title>Exception</title>
 
-            <para>Par défaut, <code>$readonly</code> est activé, et donc tout appel d'écriture futur dans la session
-            générera une exception. Certaines applications peuvent nécessiter de conserver un accès en écriture dans
-            <code>$_SESSION</code>, même si ce tableau a été déconnecté de son support de stockage avec
-            <code>session_write_close()</code>. Ainsi, Zend Framework propose cette option en passant à
-            <code>false</code> la valeur de <code>$readonly</code>, mais ce n'est pas une pratique conseillée.</para>
+            <para>
+                Par défaut, <code>$readonly</code> est activé, et donc tout appel d'écriture
+                futur dans la session générera une exception. Certaines applications peuvent
+                nécessiter de conserver un accès en écriture dans <code>$_SESSION</code>, même si ce
+                tableau a été déconnecté de son support de stockage avec
+                <code>session_write_close()</code>. Ainsi, Zend Framework propose cette option en
+                passant à <code>false</code> la valeur de <code>$readonly</code>, mais ce n'est pas
+                une pratique conseillée.
+            </para>
         </note>
     </sect2>
 
     <sect2 id="zend.session.global_session_management.expiresessioncookie">
         <title><code>expireSessionCookie()</code></title>
 
-        <para>Cette méthode envoie un cookie d'identifiant de session périmé au client. Quelque fois cette technique est
-        utilisée pour déconnecter le client de sa session.</para>
+        <para>
+            Cette méthode envoie un cookie d'identifiant de session périmé au client. Quelque
+            fois cette technique est utilisée pour déconnecter le client de sa session.
+        </para>
     </sect2>
 
     <sect2 id="zend.session.global_session_management.savehandler">
-        <title><code>setSaveHandler(Zend_Session_SaveHandler_Interface $interface)</code></title>
+        <title><code>setSaveHandler(Zend_Session_SaveHandler_Interface
+        $interface)</code></title>
 
-        <para>Cette méthode propose une correspondance orientée objet de <ulink
-        url="http://php.net/session_set_save_handler"><code>session_set_save_handler()</code></ulink>.</para>
+        <para>
+            Cette méthode propose une correspondance orientée objet de <ulink
+            url="http://php.net/session_set_save_handler"><code>session_set_save_handler()</code></ulink>.
+        </para>
     </sect2>
 
     <sect2 id="zend.session.global_session_management.namespaceisset">
@@ -387,52 +517,72 @@ if (!isset($defaultNamespace->initialized)) {
         <note>
             <title>Exception</title>
 
-            <para>Une exception sera levée si la session n'est pas lisible (n'a pas été démarrée).</para>
+            <para>
+                Une exception sera levée si la session n'est pas lisible (n'a pas été
+                démarrée).
+            </para>
         </note>
     </sect2>
 
     <sect2 id="zend.session.global_session_management.namespaceunset">
         <title><code>namespaceUnset($namespace)</code></title>
 
-        <para>Utilisez <classname>Zend_Session::namespaceUnset($namespace)</classname> pour détruire un namespace entier de la
-        session. Comme pour les tableaux PHP, si le tableau est détruit, les objets à l'intérieur ne le sont pas s'il
-        reste des références vers eux dans d'autres tableaux ou objets toujours accessibles. Ainsi
-        <code>namespaceUnset()</code> ne détruit pas "en profondeur" la variable de session associée au namespace. Voyez
-        <ulink url="http://php.net/references">les références en PHP</ulink> pour plus d'infos.</para>
+        <para>
+            Utilisez <classname>Zend_Session::namespaceUnset($namespace)</classname> pour
+            détruire un namespace entier de la session. Comme pour les tableaux PHP, si le tableau
+            est détruit, les objets à l'intérieur ne le sont pas s'il reste des références vers eux
+            dans d'autres tableaux ou objets toujours accessibles. Ainsi
+            <code>namespaceUnset()</code> ne détruit pas "en profondeur" la variable de session
+            associée au namespace. Voyez <ulink url="http://php.net/references">les références en
+            PHP</ulink> pour plus d'infos.
+        </para>
 
         <note>
             <title>Exception</title>
 
-            <para>Une exception sera envoyée si le namespace n'est pas écrivable (après un appel à
-            <code>destroy()</code>).</para>
+            <para>
+                Une exception sera envoyée si le namespace n'est pas écrivable (après un appel
+                à <code>destroy()</code>).
+            </para>
         </note>
     </sect2>
 
     <sect2 id="zend.session.global_session_management.namespaceget">
         <title><code>namespaceGet($namespace)</code></title>
 
-        <para>Déprécié: Utilisez <code>getIterator()</code> dans <classname>Zend_Session_Namespace</classname>. Cette méthode
-        retourne un tableau du contenu du namespace $namespace. Si vous avez une raison de conserver cette méthode,
-        faites nous part de vos remarques à <ulink
-        url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink>.</para>
+        <para>
+            Déprécié: Utilisez <code>getIterator()</code> dans
+            <classname>Zend_Session_Namespace</classname>. Cette méthode retourne un tableau du
+            contenu du namespace $namespace. Si vous avez une raison de conserver cette méthode,
+            faites nous part de vos remarques à <ulink
+            url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink>.
+        </para>
 
         <note>
             <title>Exception</title>
 
-            <para>Une exception sera levée si la session n'est pas lisible (n'a pas été démarrée).</para>
+            <para>
+                Une exception sera levée si la session n'est pas lisible (n'a pas été
+                démarrée).
+            </para>
         </note>
     </sect2>
 
     <sect2 id="zend.session.global_session_management.getiterator">
         <title><code>getIterator()</code></title>
 
-        <para><code>getIterator()</code> retourne un <code>ArrayObject</code> contenant tous les noms des namespaces de
-        session.</para>
+        <para>
+            <code>getIterator()</code> retourne un <code>ArrayObject</code> contenant tous les
+            noms des namespaces de session.
+        </para>
 
         <note>
             <title>Exception</title>
 
-            <para>Une exception sera levée si la session n'est pas lisible (n'a pas été démarrée).</para>
+            <para>
+                Une exception sera levée si la session n'est pas lisible (n'a pas été
+                démarrée).
+            </para>
         </note>
     </sect2>
 </sect1>

+ 61 - 42
documentation/manual/fr/module_specs/Zend_Session-Introduction.xml

@@ -1,50 +1,69 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 12759 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.session.introduction">
     <title>Introduction</title>
 
-    <para>L'équipe Auth de Zend Framework apprécie considérablement votre feedback et vos contributions sur notre liste
-    émail : <ulink url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink>.</para>
+    <para>
+        L'équipe Auth de Zend Framework apprécie considérablement votre feedback et vos
+        contributions sur notre liste émail : <ulink
+        url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink>.
+    </para>
 
-    <para>Dans les applications Web écrites en PHP, une <emphasis>session</emphasis> représente un
-    raccordement logique entre le côté serveur, des données persistantes et un client particulier (par exemple, un
-    navigateur Web). <classname>Zend_Session</classname> aide à contrôler et à préserver les données de session, un complément
-    logique des données de type cookie, en cas de demande de page multiples par le même client. À la différence des
-    données de cookie, les données de session ne sont pas stockées du côté client, et elles sont seulement partagées
-    avec le client quand le code source du côté serveur rend volontairement disponible les données par l'intermédiaire
-    d'une réponse à une demande du client. Dans le cadre de ce composant et de cette documentation, le terme "données de
-    session" se rapportent aux données du côté serveur stockées dans <ulink
-    url="http://www.php.net/manual/fr/reserved.variables.php#reserved.variables.session"><code>$_SESSION</code></ulink>,
-    contrôlées par <classname>Zend_Session</classname>, et individuellement manipulées par des objets
-    <classname>Zend_Session_Namespace</classname>. <emphasis>Les espaces de noms de session</emphasis> permettent
-    d'accéder aux données de session en utilisant les <ulink url="http://fr.wikipedia.org/wiki/Espace_de_noms">espaces
-    de noms</ulink> classiques implémentés logiquement en tant que groupes nommés de tableaux associatifs, indexés par
-    des chaînes (semblables aux tableaux habituels de PHP).</para>
+    <para>
+        Dans les applications Web écrites en PHP, une <emphasis>session</emphasis> représente
+        un raccordement logique entre le côté serveur, des données persistantes et un client
+        particulier (par exemple, un navigateur Web). <classname>Zend_Session</classname> aide à
+        contrôler et à préserver les données de session, un complément logique des données de type
+        cookie, en cas de demande de page multiples par le même client. À la différence des données
+        de cookie, les données de session ne sont pas stockées du côté client, et elles sont
+        seulement partagées avec le client quand le code source du côté serveur rend volontairement
+        disponible les données par l'intermédiaire d'une réponse à une demande du client. Dans le
+        cadre de ce composant et de cette documentation, le terme "données de session" se rapportent
+        aux données du côté serveur stockées dans <ulink
+        url="http://www.php.net/manual/fr/reserved.variables.php#reserved.variables.session"><code>$_SESSION</code></ulink>,
+        contrôlées par <classname>Zend_Session</classname>, et individuellement manipulées par des
+        objets <classname>Zend_Session_Namespace</classname>. <emphasis>Les espaces de noms de
+        session</emphasis> permettent d'accéder aux données de session en utilisant les <ulink
+        url="http://fr.wikipedia.org/wiki/Espace_de_noms">espaces de noms</ulink> classiques
+        implémentés logiquement en tant que groupes nommés de tableaux associatifs, indexés par des
+        chaînes (semblables aux tableaux habituels de PHP).
+    </para>
 
-    <para>Les instances <classname>Zend_Session_Namespace</classname> sont des objets accesseurs pour les sous-parties nommées de
-    <code>$_SESSION</code>. Le composant <classname>Zend_Session</classname> encapsule l'extension session de PHP existante avec
-    une interface d'administration et de gestion, afin de fournir une API à <classname>Zend_Session_Namespace</classname> pour les
-    espaces de noms de session persistants. <classname>Zend_Session_Namespace</classname> fournit une interface normalisée et
-    orientée objet pour travailler en espaces de noms persistants à l'intérieur du mécanisme standard des sessions de
-    PHP. Le support existe pour les espaces de noms anonymes et les espaces de nom de session authentifiés (par exemple,
-    "login"). <classname>Zend_Auth</classname>, le composant d'authentification de Zend Framework emploie
-    <classname>Zend_Session_Namespace</classname> pour stocker les informations liées aux utilisateurs authentifiés. Puisque
-    <classname>Zend_Session</classname> emploie les fonctions normales de l'extension session de PHP, tous les options et réglages
-    familiers de configuration s'appliquent (voir <ulink
-    url="http://www.php.net/manual/fr/ref.session.php">http://www.php.net/session</ulink>), avec en bonus la facilité
-    d'accès par une interface orientée objet et un comportement par défaut fournissant les meilleures pratiques et une
-    intégration sans problèmes dans Zend Framework. Ainsi, un id standard de session PHP, stocké soit dans un cookie
-    côté client ou incorporé dans l'URL, maintient l'association entre un client et des données de session.</para>
+    <para>
+        Les instances <classname>Zend_Session_Namespace</classname> sont des objets accesseurs
+        pour les sous-parties nommées de <code>$_SESSION</code>. Le composant
+        <classname>Zend_Session</classname> encapsule l'extension session de PHP existante avec une
+        interface d'administration et de gestion, afin de fournir une API à
+        <classname>Zend_Session_Namespace</classname> pour les espaces de noms de session
+        persistants. <classname>Zend_Session_Namespace</classname> fournit une interface normalisée
+        et orientée objet pour travailler en espaces de noms persistants à l'intérieur du mécanisme
+        standard des sessions de PHP. Le support existe pour les espaces de noms anonymes et les
+        espaces de nom de session authentifiés (par exemple, "login").
+        <classname>Zend_Auth</classname>, le composant d'authentification de Zend Framework emploie
+        <classname>Zend_Session_Namespace</classname> pour stocker les informations liées aux
+        utilisateurs authentifiés. Puisque <classname>Zend_Session</classname> emploie les fonctions
+        normales de l'extension session de PHP, tous les options et réglages familiers de
+        configuration s'appliquent (voir <ulink
+        url="http://www.php.net/manual/fr/ref.session.php">http://www.php.net/session</ulink>), avec
+        en bonus la facilité d'accès par une interface orientée objet et un comportement par défaut
+        fournissant les meilleures pratiques et une intégration sans problèmes dans Zend Framework.
+        Ainsi, un id standard de session PHP, stocké soit dans un cookie côté client ou incorporé
+        dans l'URL, maintient l'association entre un client et des données de session.
+    </para>
 
-    <para>La fonction de gestion de session par défaut <ulink
-    url="http://www.php.net/manual/fr/function.session-set-save-handler.php">session_set_save_handler</ulink> ne
-    maintient pas cette association dans un faisceau (NDT. : "cluster") de serveurs sous certaines conditions car les
-    données de session sont sauvegardées seulement sur le serveur qui répond à la requête. Si une requête peut être
-    réalisée par un serveur différent de celui où les données de session sont sauvegardées, alors le serveur appelé
-    n'aura pas accès aux données de session (si elles ne sont pas disponibles dans un système de fichiers en réseau).
-    Une liste additionnelle de gestionnaire de session sera fournie, dès que possible. Les membres de la communauté sont
-    encouragés à suggérer et soumettre des gestionnaires de sauvegardes à la liste <ulink
-    url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink>. Un gestionnaire de sauvegarde compatible
-    <classname>Zend_Db</classname> a été signalé à la liste.</para>
+    <para>
+        La fonction de gestion de session par défaut <ulink
+        url="http://www.php.net/manual/fr/function.session-set-save-handler.php">session_set_save_handler</ulink>
+        ne maintient pas cette association dans un faisceau (NDT. : "cluster") de serveurs sous
+        certaines conditions car les données de session sont sauvegardées seulement sur le serveur
+        qui répond à la requête. Si une requête peut être réalisée par un serveur différent de celui
+        où les données de session sont sauvegardées, alors le serveur appelé n'aura pas accès aux
+        données de session (si elles ne sont pas disponibles dans un système de fichiers en réseau).
+        Une liste additionnelle de gestionnaire de session sera fournie, dès que possible. Les
+        membres de la communauté sont encouragés à suggérer et soumettre des gestionnaires de
+        sauvegardes à la liste <ulink
+        url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink>. Un gestionnaire de
+        sauvegarde compatible <classname>Zend_Db</classname> a été signalé à la liste.
+    </para>
 </sect1>

+ 16 - 10
documentation/manual/fr/module_specs/Zend_Session-SaveHandler-DbTable.xml

@@ -1,15 +1,19 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 13170 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15157 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.session.savehandler.dbtable">
     <title>Zend_Session_SaveHandler_DbTable</title>
 
-    <para>Le paramétrage basique pour <classname>Zend_Session_SaveHandler_DbTable</classname> doit contenir au moins quatre
-    colonnes, décrites dans une configuration de type <code>array</code> ou objet <classname>Zend_Config</classname> : "primary"
-    qui est la clé primaire et reçoit par défaut l'ID de session dont le format est par défaut une chaîne de 32
-    caractères ; "modifiedColumn" qui est le timestamp Unix de la date de dernière modification ; "lifetimeColumn" qui
-    est la durée de vie de la session ("modified" + "lifetime" doit être supérieur à "time()") ; et "dataColumn" qui est
-    la donnée sérialisée stockée en session.</para>
+    <para>
+        Le paramétrage basique pour <classname>Zend_Session_SaveHandler_DbTable</classname>
+        doit contenir au moins quatre colonnes, décrites dans une configuration de type
+        <code>array</code> ou objet <classname>Zend_Config</classname> : "primary" qui est la clé
+        primaire et reçoit par défaut l'ID de session dont le format est par défaut une chaîne de 32
+        caractères ; "modifiedColumn" qui est le timestamp Unix de la date de dernière modification
+        ; "lifetimeColumn" qui est la durée de vie de la session ("modified" + "lifetime" doit être
+        supérieur à "time()") ; et "dataColumn" qui est la donnée sérialisée stockée en
+        session.
+    </para>
 
     <example id="zend.session.savehandler.dbtable.basic">
         <title>Paramétrage basique</title>
@@ -55,8 +59,10 @@ Zend_Session::start();
 ]]></programlisting>
     </example>
 
-    <para>Vous pouvez aussi utiliser des colonnes multiples pour votre clé primaire de
-    <classname>Zend_Session_SaveHandler_DbTable</classname>.</para>
+    <para>
+        Vous pouvez aussi utiliser des colonnes multiples pour votre clé primaire de
+        <classname>Zend_Session_SaveHandler_DbTable</classname>.
+    </para>
 
     <example id="zend.session.savehandler.dbtable.multi-column-key">
         <title>Utilisation d'une clé primaire multi-colonnes</title>

+ 340 - 225
documentation/manual/fr/module_specs/Zend_Soap_AutoDiscovery.xml

@@ -1,5 +1,5 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 14094 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15341 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.soap.autodiscovery">
     <title>Auto découverte</title>
@@ -7,193 +7,278 @@
     <sect2 id="zend.soap.autodiscovery.introduction">
         <title>Introduction à l'auto découverte</title>
 
-        <para>Les fonctionnalités SOAP de Zend Framework sont proposées afin de simplifier l'accès aux services Web de
-        type SOAP.</para>
-
-        <para>SOAP est un protocole d'échange de données indépendant d'un langage. Il peut donc être utilisé avec une
-        autre technologie que PHP.</para>
-
-        <para>Il y a trois configurations d'utilisation de SOAP avec Zend Framework :<orderedlist>
-                <listitem>
-                    <simpara>SOAP serveur application PHP &lt;---&gt; SOAP client application PHP</simpara>
-                </listitem>
-
-                <listitem>
-                    <simpara>SOAP serveur application non PHP &lt;---&gt; SOAP client application PHP</simpara>
-                </listitem>
-
-                <listitem>
-                    <simpara>SOAP serveur application PHP &lt;---&gt; SOAP client application non PHP</simpara>
-                </listitem>
-            </orderedlist></para>
-
-        <para>Il est indispensable de connaître les fonctionnalités qu'offre un serveur SOAP, afin de pouvoir
-        communiquer avec lui. <ulink url="http://www.w3.org/TR/wsdl">WSDL</ulink> est alors utilisé pour décrire en
-        détail l'API des services disponibles sur un serveur SOAP.</para>
+        <para>
+            Les fonctionnalités SOAP de Zend Framework sont proposées afin de simplifier
+            l'accès aux services Web de type SOAP.
+        </para>
 
-        <para>Le langage WSDL est assez complexe (voyez <ulink
-        url="http://www.w3.org/TR/wsdl">http://www.w3.org/TR/wsdl</ulink> pour les détails ). Il est donc difficile
-        d'écrire une définition WSDL correcte, à la main.</para>
+        <para>
+            SOAP est un protocole d'échange de données indépendant d'un langage. Il peut donc
+            être utilisé avec une autre technologie que PHP.
+        </para>
 
-        <para>Un autre problème concerne la synchronisation des changements dans l'API avec des fichiers WSDL déjà
-        existants.</para>
+        <para>
+            Il y a trois configurations d'utilisation de SOAP avec Zend Framework
+            :<orderedlist>
+                    <listitem>
+                        <simpara>SOAP serveur application PHP &lt;---&gt; SOAP client application
+                        PHP</simpara>
+                    </listitem>
+    
+                    <listitem>
+                        <simpara>SOAP serveur application non PHP &lt;---&gt; SOAP client
+                        application PHP</simpara>
+                    </listitem>
+    
+                    <listitem>
+                        <simpara>SOAP serveur application PHP &lt;---&gt; SOAP client application
+                        non PHP</simpara>
+                    </listitem>
+                </orderedlist>
+            </para>
 
-        <para>Ces 2 problèmes peuvent être résolus avec la génération automatique de WSDL, qui permet d'analyser une
-        classe ou des fonctions, d'en extraire les paramètres d'entrée/sortie, et de générer un fichier WSDL correct et
-        compréhensible par le serveur et les clients SOAP.</para>
+        <para>
+            Il est indispensable de connaître les fonctionnalités qu'offre un serveur SOAP,
+            afin de pouvoir communiquer avec lui. <ulink
+            url="http://www.w3.org/TR/wsdl">WSDL</ulink> est alors utilisé pour décrire en détail
+            l'API des services disponibles sur un serveur SOAP.
+        </para>
 
-        <para>Il y a deux façons d'utiliser Zend Framework pour une application serveur SOAP: <itemizedlist>
-                <listitem>
-                    <para>Utiliser des classes.</para>
-                </listitem>
+        <para>
+            Le langage WSDL est assez complexe (voyez <ulink
+            url="http://www.w3.org/TR/wsdl">http://www.w3.org/TR/wsdl</ulink> pour les détails ). Il
+            est donc difficile d'écrire une définition WSDL correcte, à la main.
+        </para>
 
-                <listitem>
-                    <para>Utiliser des fonctions.</para>
-                </listitem>
-            </itemizedlist></para>
+        <para>
+            Un autre problème concerne la synchronisation des changements dans l'API avec des
+            fichiers WSDL déjà existants.
+        </para>
 
-        <para>Ces deux façons sont supportées par la fonctionnalité d'auto génération de Zend Framework.</para>
+        <para>
+            Ces 2 problèmes peuvent être résolus avec la génération automatique de WSDL, qui
+            permet d'analyser une classe ou des fonctions, d'en extraire les paramètres
+            d'entrée/sortie, et de générer un fichier WSDL correct et compréhensible par le serveur
+            et les clients SOAP.
+        </para>
 
-        <para>Zend_Soap_AutoDiscovery supporte aussi la correspondance des types PHP vers <ulink
-        url="http://www.w3.org/TR/xmlschema-2/">les types XSD</ulink>.</para>
+        <para>
+            Il y a deux façons d'utiliser Zend Framework pour une application serveur SOAP:
+            <itemizedlist>
+                    <listitem>
+                        <para>Utiliser des classes.</para>
+                    </listitem>
+    
+                    <listitem>
+                        <para>Utiliser des fonctions.</para>
+                    </listitem>
+                </itemizedlist>
+            </para>
 
-        <para>Voici un exemple d'utilisation de l'auto découverte. La fonction <code>handle()</code> génère le fichier
-        WSDL et l'envoie au navigateur : <programlisting role="php"><![CDATA[
-class My_SoapServer_Class {
-...
-}
+        <para>
+            Ces deux façons sont supportées par la fonctionnalité d'auto génération de Zend
+            Framework.
+        </para>
 
-$autodiscover = new Zend_Soap_AutoDiscover();
-$autodiscover->setClass('My_SoapServer_Class');
-$autodiscover->handle();
-]]></programlisting></para>
+        <para>
+            Zend_Soap_AutoDiscovery supporte aussi la correspondance des types PHP vers <ulink
+            url="http://www.w3.org/TR/xmlschema-2/">les types XSD</ulink>.
+        </para>
 
-        <para>Si vous avez besoin d'accéder au fichier WSDL généré soit pour le sauvegarder dans un fichier ou en tant
-        que chaîne de caractères, vous pouvez utiliser les méthodes <code>dump($filename)</code> ou <code>toXml()</code>
-        que la classe AutoDiscover fournit.</para>
+        <para>
+            Voici un exemple d'utilisation de l'auto découverte. La fonction
+            <code>handle()</code> génère le fichier WSDL et l'envoie au navigateur : <programlisting
+            role="php"><![CDATA[
+    class My_SoapServer_Class {
+    ...
+    }
+    
+    $autodiscover = new Zend_Soap_AutoDiscover();
+    $autodiscover->setClass('My_SoapServer_Class');
+    $autodiscover->handle();
+    ]]></programlisting></para>
+    
+        <para>
+            Si vous avez besoin d'accéder au fichier WSDL généré soit pour le sauvegarder dans
+            un fichier ou en tant que chaîne de caractères, vous pouvez utiliser les méthodes
+            <code>dump($filename)</code> ou <code>toXml()</code> que la classe AutoDiscover
+            fournit.
+        </para>
 
         <note id="zend.soap.autodiscovery.introduction.noserver">
             <title>Zend_Soap_Autodiscover n'est pas un serveur SOAP</title>
 
-            <para>Il est très important de noter, que la classe <classname>Zend_Soap_Autodiscover</classname> n'agit pas en tant
-            que serveur SOAP elle-même. Elle génère seulement le WSDL et le fournit à ceux qui accèdent à l'URL qu'elle
-            écoute.</para>
-
-            <para>Par défaut l'URI de SOAP est <code>'http://' .$_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME']</code>,
-            mais ceci peut être changé avec la méthode <code>setUri()</code> ou le paramètre de constructeur de la
-            classe <classname>Zend_Soap_AutoDiscover</classname>. L'URI doit correspondre à un <classname>Zend_Soap_Server</classname> qui
-            écoute les requêtes.</para>
-
-            <para><programlisting role="php"><![CDATA[
-if(isset($_GET['wsdl'])) {
+            <para>
+                Il est très important de noter, que la classe
+                <classname>Zend_Soap_Autodiscover</classname> n'agit pas en tant que serveur SOAP
+                elle-même. Elle génère seulement le WSDL et le fournit à ceux qui accèdent à l'URL
+                qu'elle écoute.
+            </para>
+
+            <para>
+                Par défaut l'URI de SOAP est <code>'http://' .$_SERVER['HTTP_HOST'] .
+                $_SERVER['SCRIPT_NAME']</code>, mais ceci peut être changé avec la méthode
+                <code>setUri()</code> ou le paramètre de constructeur de la classe
+                <classname>Zend_Soap_AutoDiscover</classname>. L'URI doit correspondre à un
+                <classname>Zend_Soap_Server</classname> qui écoute les requêtes.
+            </para>
+
+            <para>
+                <programlisting role="php"><![CDATA[
+    if(isset($_GET['wsdl'])) {
+        $autodiscover = new Zend_Soap_AutoDiscover();
+        $autodiscover->setClass('HelloWorldService');
+        $autodiscover->handle();
+    } else {
+        // pointing to the current file here
+        $soap = new Zend_Soap_Server("http://example.com/soap.php?wsdl");
+        $soap->setClass('HelloWorldService');
+        $soap->handle();
+    }
+    ]]></programlisting></para>
+            </note>
+        </sect2>
+    
+        <sect2 id="zend.soap.autodiscovery.class">
+            <title>Auto découverte de classe</title>
+    
+        <para>
+            Si une classe est utilisée dans un serveur SOAP, alors celle-ci devrait aussi être
+            fournie à <classname>Zend_Soap_AutoDiscovery</classname> afin d'en générer le fichier
+            WSDL : <programlisting role="php"><![CDATA[
     $autodiscover = new Zend_Soap_AutoDiscover();
-    $autodiscover->setClass('HelloWorldService');
+    $autodiscover->setClass('My_SoapServer_Class');
     $autodiscover->handle();
-} else {
-    // pointing to the current file here
-    $soap = new Zend_Soap_Server("http://example.com/soap.php?wsdl");
-    $soap->setClass('HelloWorldService');
-    $soap->handle();
-}
-]]></programlisting></para>
-        </note>
-    </sect2>
-
-    <sect2 id="zend.soap.autodiscovery.class">
-        <title>Auto découverte de classe</title>
-
-        <para>Si une classe est utilisée dans un serveur SOAP, alors celle-ci devrait aussi être fournie à
-        <classname>Zend_Soap_AutoDiscovery</classname> afin d'en générer le fichier WSDL : <programlisting role="php"><![CDATA[
-$autodiscover = new Zend_Soap_AutoDiscover();
-$autodiscover->setClass('My_SoapServer_Class');
-$autodiscover->handle();
-]]></programlisting></para>
-
-        <para>Les règles suivantes sont utilisées lors de la génération du fichier WSDL : <itemizedlist>
-                <listitem>
-                    <para>Le fichier WSDL généré décrit un service Web de type RPC.</para>
-                </listitem>
-
-                <listitem>
-                    <para>Le nom du service crée sera le nom de la classe utilisée.</para>
-                </listitem>
-
-                <listitem>
-                    <para><code>'http://' .$_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME']</code> est utilisé comme URI
-                    où le fichier WSDL est disponible par défaut mais ceci peut être surchargé avec la méthode
-                    <code>setUri()</code>.</para>
-
-                    <para>Cet URI est aussi utilisé comme un espace de nom cible pour tous les noms du service (incluant
-                    les types complexes décrits éventuellement).</para>
+    ]]></programlisting></para>
+    
+        <para>
+            Les règles suivantes sont utilisées lors de la génération du fichier WSDL :
+            <itemizedlist>
+                    <listitem>
+                        <para>Le fichier WSDL généré décrit un service Web de type RPC.</para>
+                    </listitem>
+    
+                    <listitem>
+                        <para>Le nom du service crée sera le nom de la classe utilisée.</para>
+                    </listitem>
+    
+                    <listitem>
+                    <para>
+                        <code>'http://' .$_SERVER['HTTP_HOST'] .
+                        $_SERVER['SCRIPT_NAME']</code> est utilisé comme URI où le fichier WSDL est
+                        disponible par défaut mais ceci peut être surchargé avec la méthode
+                        <code>setUri()</code>.
+                    </para>
+
+                    <para>
+                        Cet URI est aussi utilisé comme un espace de nom cible pour tous les
+                        noms du service (incluant les types complexes décrits
+                        éventuellement).
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para>Les méthodes de la classe sont jointes dans un <ulink
-                    url="http://www.w3.org/TR/wsdl#_porttypes">Port Type</ulink>.</para>
-
-                    <para><code>$className . 'Port'</code> est utilisé comme nom de Port Type.</para>
+                    <para>
+                        Les méthodes de la classe sont jointes dans un <ulink
+                        url="http://www.w3.org/TR/wsdl#_porttypes">Port Type</ulink>.
+                    </para>
+
+                    <para>
+                        <code>$className . 'Port'</code> est utilisé comme nom de Port
+                        Type.
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para>Chaque méthode de la classe est enregistrée comme une opération.</para>
+                    <para>
+                        Chaque méthode de la classe est enregistrée comme une
+                        opération.
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para>Chaque prototype de méthode génère des messages de requête/réponse correspondants.</para>
-
-                    <para>Une méthode peut avoir plusieurs prototypes si des paramètres sont optionnels.</para>
+                    <para>
+                        Chaque prototype de méthode génère des messages de requête/réponse
+                        correspondants.
+                    </para>
+
+                    <para>
+                        Une méthode peut avoir plusieurs prototypes si des paramètres sont
+                        optionnels.
+                    </para>
                 </listitem>
-            </itemizedlist></para>
+                </itemizedlist>
+            </para>
 
         <note>
             <title>Important !</title>
 
-            <para>L'auto génération du fichier WSDL (avec auto découverte de la classe) utilise les blocs de
-            documentation de PHP insérés par le développeur dans ses classes, afin de trouver les types retournés. De ce
-            fait, pour les types scalaires, c'est le seul moyen de les déterminer de manière sûre, et concernant les
-            types de retour des méthodes, c'est le seul moyen de les découvrir (PHP étant faiblement typé).</para>
-
-            <para>Ceci signifie que documenter de manière correcte vos classes et méthodes n'est pas seulement une bonne
-            pratique, c'est tout simplement essentiel pour partager vos classes en tant que services SOAP auto
-            générés.</para>
+            <para>
+                L'auto génération du fichier WSDL (avec auto découverte de la classe) utilise
+                les blocs de documentation de PHP insérés par le développeur dans ses classes, afin
+                de trouver les types retournés. De ce fait, pour les types scalaires, c'est le seul
+                moyen de les déterminer de manière sûre, et concernant les types de retour des
+                méthodes, c'est le seul moyen de les découvrir (PHP étant faiblement typé).
+            </para>
+
+            <para>
+                Ceci signifie que documenter de manière correcte vos classes et méthodes n'est
+                pas seulement une bonne pratique, c'est tout simplement essentiel pour partager vos
+                classes en tant que services SOAP auto générés.
+            </para>
         </note>
     </sect2>
 
     <sect2 id="zend.soap.autodiscovery.functions">
         <title>Auto découverte des fonctions</title>
 
-        <para>Si des fonctions doivent être utilisées (partagées) via un serveur SOAP, alors elles doivent être passées
-        à <classname>Zend_Soap_AutoDiscovery</classname> pour générer un fichier WSDL : <programlisting role="php"><![CDATA[
-$autodiscover = new Zend_Soap_AutoDiscover();
-$autodiscover->addFunction('function1');
-$autodiscover->addFunction('function2');
-$autodiscover->addFunction('function3');
-...
-$autodiscover->handle();
-]]></programlisting></para>
-
-        <para>Les règles suivantes sont utilisées lors de la génération du fichier WSDL : <itemizedlist>
-                <listitem>
-                    <para>Le fichier WSDL généré décrit un service web de type RPC.</para>
-                </listitem>
-
-                <listitem>
-                    <para>Le nom du service crée sera le nom du script analysé (utilisé).</para>
-                </listitem>
-
-                <listitem>
-                    <para><code>'http://' .$_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME']</code> est utilisé comme URI
-                    pour rechercher le fichier WSDL.</para>
-
-                    <para>Cet URI est aussi utilisé comme un espace de nom cible pour tous les noms du service (incluant
-                    les types complexes décrits éventuellement).</para>
+        <para>
+            Si des fonctions doivent être utilisées (partagées) via un serveur SOAP, alors
+            elles doivent être passées à <classname>Zend_Soap_AutoDiscovery</classname> pour générer
+            un fichier WSDL : <programlisting role="php"><![CDATA[
+    $autodiscover = new Zend_Soap_AutoDiscover();
+    $autodiscover->addFunction('function1');
+    $autodiscover->addFunction('function2');
+    $autodiscover->addFunction('function3');
+    ...
+    $autodiscover->handle();
+    ]]></programlisting></para>
+    
+        <para>
+            Les règles suivantes sont utilisées lors de la génération du fichier WSDL :
+            <itemizedlist>
+                    <listitem>
+                        <para>Le fichier WSDL généré décrit un service web de type RPC.</para>
+                    </listitem>
+    
+                    <listitem>
+                        <para>Le nom du service crée sera le nom du script analysé (utilisé).</para>
+                    </listitem>
+    
+                    <listitem>
+                    <para>
+                        <code>'http://' .$_SERVER['HTTP_HOST'] .
+                        $_SERVER['SCRIPT_NAME']</code> est utilisé comme URI pour rechercher le
+                        fichier WSDL.
+                    </para>
+
+                    <para>
+                        Cet URI est aussi utilisé comme un espace de nom cible pour tous les
+                        noms du service (incluant les types complexes décrits
+                        éventuellement).
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para>Les fonctions sont encapsulées dans un <ulink url="http://www.w3.org/TR/wsdl#_porttypes">Port
-                    Type</ulink>.</para>
-
-                    <para><code>$functionName . 'Port'</code> est utilisé comme nom de Port Type.</para>
+                    <para>
+                        Les fonctions sont encapsulées dans un <ulink
+                        url="http://www.w3.org/TR/wsdl#_porttypes">Port Type</ulink>.
+                    </para>
+
+                    <para>
+                        <code>$functionName . 'Port'</code> est utilisé comme nom de Port
+                        Type.
+                    </para>
                 </listitem>
 
                 <listitem>
@@ -201,72 +286,97 @@ $autodiscover->handle();
                 </listitem>
 
                 <listitem>
-                    <para>Chaque prototype de fonction génère des messages de requête/réponse correspondants.</para>
-
-                    <para>Une fonction peut avoir plusieurs prototypes si des paramètres sont optionnels.</para>
+                    <para>
+                        Chaque prototype de fonction génère des messages de requête/réponse
+                        correspondants.
+                    </para>
+
+                    <para>
+                        Une fonction peut avoir plusieurs prototypes si des paramètres sont
+                        optionnels.
+                    </para>
                 </listitem>
-            </itemizedlist></para>
+                </itemizedlist>
+            </para>
 
         <note>
             <title>Important!</title>
 
-            <para>L'auto génération du fichier WSDL (avec auto découverte des fonctions) utilise les blocs de
-            documentation de PHP insérés par le développeur dans ses fonctions, afin de trouver les types retournés. De
-            ce fait, pour les types scalaires, c'est le seul moyen de les déterminer de manière sûre, et concernant les
-            types de retour des méthodes, c'est le seul moyen de les découvrir (PHP étant faiblement typé).</para>
-
-            <para>Ceci signifie que documenter de manière correcte vos fonctions n'est pas seulement une bonne pratique,
-            c'est tout simplement essentiel pour partager vos fonctions en tant que services SOAP auto générés.</para>
+            <para>
+                L'auto génération du fichier WSDL (avec auto découverte des fonctions) utilise
+                les blocs de documentation de PHP insérés par le développeur dans ses fonctions,
+                afin de trouver les types retournés. De ce fait, pour les types scalaires, c'est le
+                seul moyen de les déterminer de manière sûre, et concernant les types de retour des
+                méthodes, c'est le seul moyen de les découvrir (PHP étant faiblement typé).
+            </para>
+
+            <para>
+                Ceci signifie que documenter de manière correcte vos fonctions n'est pas
+                seulement une bonne pratique, c'est tout simplement essentiel pour partager vos
+                fonctions en tant que services SOAP auto générés.
+            </para>
         </note>
     </sect2>
 
     <sect2 id="zend.soap.autodiscovery.datatypes">
         <title>Types de donnée auto découverts</title>
 
-        <para>Les types de données d'entrée/sortie sont convertis en types spéciaux pour le réseau, suivant ces règles :
-        <itemizedlist>
-                <listitem>
-                    <para>Chaînes strings &lt;-&gt; <code>xsd:string</code>.</para>
-                </listitem>
-
-                <listitem>
-                    <para>Entiers PHP &lt;-&gt; <code>xsd:int</code>.</para>
-                </listitem>
-
-                <listitem>
-                    <para>Flottants PHP (décimaux) &lt;-&gt; <code>xsd:float</code>.</para>
-                </listitem>
-
-                <listitem>
-                    <para>Booléens PHP &lt;-&gt; <code>xsd:boolean</code>.</para>
-                </listitem>
-
-                <listitem>
-                    <para>Tableaux PHP &lt;-&gt; <code>soap-enc:Array</code>.</para>
-                </listitem>
-
-                <listitem>
-                    <para>Objets PHP &lt;-&gt; <code>xsd:struct</code>.</para>
-                </listitem>
-
-                <listitem>
-                    <para>Classe PHP &lt;-&gt; basé sur la stratégie des types complexes (Voir : <xref
-                    linkend="zend.soap.wsdl.types.add_complex" />) <footnote>
-                            <para><classname>Zend_Soap_AutoDiscover</classname> sera créé avec la classe
-                            <classname>Zend_Soap_Wsdl_Strategy_DefaultComplexType</classname> en tant qu'algorithme de détection
-                            pour les types complexes. Le premier paramètre du constructeur AutoDiscover accepte toute
-                            stratégie de types complexes implémentant <classname>Zend_Soap_Wsdl_Strategy_Interface</classname> ou
-                            une chaîne correspondant au nom de la classe. Pour une compatibilité ascendante, avec
-                            <code>$extractComplexType</code> les variables booléennes sont analysées comme avec
-                            Zend_Soap_Wsdl. Regardez le manuel <link
-                            linkend="zend.soap.wsdl.types.add_complex">Zend_Soap_Wsdl sur l'ajout des types
-                            complexes</link> pour plus d'informations.</para>
-                        </footnote>.</para>
+        <para>
+            Les types de données d'entrée/sortie sont convertis en types spéciaux pour le
+            réseau, suivant ces règles : <itemizedlist>
+                    <listitem>
+                        <para>Chaînes strings &lt;-&gt; <code>xsd:string</code>.</para>
+                    </listitem>
+    
+                    <listitem>
+                        <para>Entiers PHP &lt;-&gt; <code>xsd:int</code>.</para>
+                    </listitem>
+    
+                    <listitem>
+                        <para>Flottants PHP (décimaux) &lt;-&gt; <code>xsd:float</code>.</para>
+                    </listitem>
+    
+                    <listitem>
+                        <para>Booléens PHP &lt;-&gt; <code>xsd:boolean</code>.</para>
+                    </listitem>
+    
+                    <listitem>
+                        <para>Tableaux PHP &lt;-&gt; <code>soap-enc:Array</code>.</para>
+                    </listitem>
+    
+                    <listitem>
+                        <para>Objets PHP &lt;-&gt; <code>xsd:struct</code>.</para>
+                    </listitem>
+    
+                    <listitem>
+                    <para>
+                        Classe PHP &lt;-&gt; basé sur la stratégie des types complexes (Voir :
+                        <xref linkend="zend.soap.wsdl.types.add_complex" />) <footnote>
+                            <para>
+                                <classname>Zend_Soap_AutoDiscover</classname> sera créé avec
+                                la classe
+                                <classname>Zend_Soap_Wsdl_Strategy_DefaultComplexType</classname> en
+                                tant qu'algorithme de détection pour les types complexes. Le premier
+                                paramètre du constructeur AutoDiscover accepte toute stratégie de
+                                types complexes implémentant
+                                <classname>Zend_Soap_Wsdl_Strategy_Interface</classname> ou une
+                                chaîne correspondant au nom de la classe. Pour une compatibilité
+                                ascendante, avec <code>$extractComplexType</code> les variables
+                                booléennes sont analysées comme avec Zend_Soap_Wsdl. Regardez le
+                                manuel <link
+                                linkend="zend.soap.wsdl.types.add_complex">Zend_Soap_Wsdl sur
+                                l'ajout des types complexes</link> pour plus d'informations.
+                            </para>
+                            </footnote>.
+                        </para>
                 </listitem>
 
                 <listitem>
-                    <para><code>type[]</code> or <code>object[]</code> (c'est-à-dire <code>int[]</code>) &lt;-&gt; basé
-                    sur la stratégie des types complexes</para>
+                    <para>
+                        <code>type[]</code> or <code>object[]</code> (c'est-à-dire
+                        <code>int[]</code>) &lt;-&gt; basé sur la stratégie des types
+                        complexes
+                    </para>
                 </listitem>
 
                 <listitem>
@@ -274,40 +384,45 @@ $autodiscover->handle();
                 </listitem>
 
                 <listitem>
-                    <para>Si le type n'est pas reconnu en tant que l'un de ceux-ci, alors <code>xsd:anyType</code> est
-                    utilisé.</para>
+                    <para>
+                        Si le type n'est pas reconnu en tant que l'un de ceux-ci, alors
+                        <code>xsd:anyType</code> est utilisé.
+                    </para>
                 </listitem>
-            </itemizedlist> Où <code>xsd:</code> est l'espace "http://www.w3.org/2001/XMLSchema", <code>soap-enc:</code>
-        est l'espace "http://schemas.xmlsoap.org/soap/encoding/", <code>tns:</code> est "l'espace de nom cible" du
-        service.</para>
+            </itemizedlist> Où <code>xsd:</code> est l'espace
+        "http://www.w3.org/2001/XMLSchema", <code>soap-enc:</code> est l'espace
+        "http://schemas.xmlsoap.org/soap/encoding/", <code>tns:</code> est "l'espace de nom
+            cible" du service.
+        </para>
     </sect2>
 
     <sect2 id="zend.soap.autodiscovery.wsdlstyles">
         <title>Styles de liaisons WSDL</title>
 
         <para>
-            WSDL offre différents mécanismes et styles de transport. Ceci affecte les balises <code>soap:binding</code>
-            et <code>soap:body</code> à l'intérieur de la section binding du WSDL. Différents clients ont différentes
-            conditions quant aux options qui sont vraiment utilisées. Par conséquent vous pouvez placer les styles
-            avant d'appeler n'importe quelle méthode <code>setClass</code> ou <code>addFunction</code> de la classe
+            WSDL offre différents mécanismes et styles de transport. Ceci affecte les balises
+            <code>soap:binding</code> et <code>soap:body</code> à l'intérieur de la section binding
+            du WSDL. Différents clients ont différentes conditions quant aux options qui sont
+            vraiment utilisées. Par conséquent vous pouvez placer les styles avant d'appeler
+            n'importe quelle méthode <code>setClass</code> ou <code>addFunction</code> de la classe
             <code>AutoDiscover</code>.
         </para>
 
         <para>
             <programlisting role="php"><![CDATA[
-$autodiscover = new Zend_Soap_AutoDiscover();
-// Par défaut il s'agit de 'use' => 'encoded'
-// et 'encodingStyle' => 'http://schemas.xmlsoap.org/soap/encoding/'
-$autodiscover->setOperationBodyStyle(array('use' => 'literal', 'namespace' => 'http://framework.zend.com'));
-
-// Par défaut il s'agit de 'style' => 'rpc'
-// et 'transport' => 'http://schemas.xmlsoap.org/soap/http'
-$autodiscover->setBindingStyle(array('style' => 'document', 'transport' => 'http://framework.zend.com'));
-...
-$autodiscover->addFunction('myfunc1');
-$autodiscover->handle();
-]]>
-            </programlisting>
-        </para>
+    $autodiscover = new Zend_Soap_AutoDiscover();
+    // Par défaut il s'agit de 'use' => 'encoded'
+    // et 'encodingStyle' => 'http://schemas.xmlsoap.org/soap/encoding/'
+    $autodiscover->setOperationBodyStyle(array('use' => 'literal', 'namespace' => 'http://framework.zend.com'));
+    
+    // Par défaut il s'agit de 'style' => 'rpc'
+    // et 'transport' => 'http://schemas.xmlsoap.org/soap/http'
+    $autodiscover->setBindingStyle(array('style' => 'document', 'transport' => 'http://framework.zend.com'));
+    ...
+    $autodiscover->addFunction('myfunc1');
+    $autodiscover->handle();
+    
+                ]]></programlisting>
+            </para>
     </sect2>
 </sect1>

+ 175 - 119
documentation/manual/fr/module_specs/Zend_Soap_Client.xml

@@ -1,175 +1,231 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 13732 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15341 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.soap.client">
     <title>Zend_Soap_Client</title>
 
-    <para><classname>Zend_Soap_Client</classname> est une classe destinée à simplifier l'interrogation de services SOAP.</para>
+    <para>
+        <classname>Zend_Soap_Client</classname> est une classe destinée à simplifier
+        l'interrogation de services SOAP.
+    </para>
 
     <para>Cette classe peut être utilisée en mode WSDL ou non WSDL.</para>
 
-    <para>Lorsque Zend_Soap_Client fonctionne en mode WSDL, il utilise le document WSDL pour définir les options de la
-    couche de transport des données.</para>
+    <para>
+        Lorsque Zend_Soap_Client fonctionne en mode WSDL, il utilise le document WSDL pour
+        définir les options de la couche de transport des données.
+    </para>
 
-    <para>Le fichier WSDL est en général fournit par le service auquel vous souhaitez accéder. Si la description WSDL
-    n'est pas disponible, vous pouvez vouloir utiliser <classname>Zend_Soap_Client</classname> en mode non WSDL . Dans ce cas,
-    toutes les options du protocole devront être définies explicitement dans la classe
-    <classname>Zend_Soap_Client</classname>.</para>
+    <para>
+        Le fichier WSDL est en général fournit par le service auquel vous souhaitez accéder.
+        Si la description WSDL n'est pas disponible, vous pouvez vouloir utiliser
+        <classname>Zend_Soap_Client</classname> en mode non WSDL . Dans ce cas, toutes les options
+        du protocole devront être définies explicitement dans la classe
+        <classname>Zend_Soap_Client</classname>.
+    </para>
 
     <sect2 id="zend.soap.client.constructor">
         <title>Constructeur de <classname>Zend_Soap_Client</classname></title>
 
-        <para>Le constructeur de <classname>Zend_Soap_Client</classname> accepte 2 paramètres: <itemizedlist>
-                <listitem>
-                    <para><code>$wsdl</code> : l'URI du fichier WSDL.</para>
-                </listitem>
-
-                <listitem>
-                    <para><code>$options</code> : options de création.</para>
-                </listitem>
-            </itemizedlist> Ces deux paramètres peuvent être insérés après construction, ceci grâce aux méthodes
-        <code>setWsdl($wsdl)</code> et <code>setOptions($options)</code>.</para>
+        <para>
+            Le constructeur de <classname>Zend_Soap_Client</classname> accepte 2 paramètres:
+            <itemizedlist>
+                    <listitem>
+                        <para><code>$wsdl</code> : l'URI du fichier WSDL.</para>
+                    </listitem>
+    
+                    <listitem>
+                        <para><code>$options</code> : options de création.</para>
+                    </listitem>
+                </itemizedlist> Ces deux paramètres peuvent être insérés après construction, ceci
+            grâce aux méthodes <code>setWsdl($wsdl)</code> et
+            <code>setOptions($options)</code>.
+        </para>
 
         <note>
             <title>Important!</title>
 
-            <para>Si vous utilisez Zend_Soap_Client en mode non WSDL, vous <emphasis>devez</emphasis> fournir les
-            options 'location' et 'uri'.</para>
+            <para>
+                Si vous utilisez Zend_Soap_Client en mode non WSDL, vous
+                <emphasis>devez</emphasis> fournir les options 'location' et 'uri'.
+            </para>
         </note>
 
-        <para>Les options suivantes sont reconnues: <itemizedlist>
-                <listitem>
-                    <para>'soap_version' ('soapVersion') : version du protocole SOAP à utiliser (SOAP_1_1 ou
-                    SOAP_1_2).</para>
+        <para>
+            Les options suivantes sont reconnues: <itemizedlist>
+                    <listitem>
+                    <para>
+                        'soap_version' ('soapVersion') : version du protocole SOAP à utiliser
+                        (SOAP_1_1 ou SOAP_1_2).
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para>'classmap' ('classMap') : doit être utilisé pour faire correspondre des types WSDL à des
-                    classes PHP.</para>
-
-                    <para>Cette option doit être un tableau avec comme clés les types WSDL et comme valeurs les noms des
-                    classes PHP.</para>
+                    <para>
+                        'classmap' ('classMap') : doit être utilisé pour faire correspondre
+                        des types WSDL à des classes PHP.
+                    </para>
+
+                    <para>
+                        Cette option doit être un tableau avec comme clés les types WSDL et
+                        comme valeurs les noms des classes PHP.
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para>'encoding' : encodage interne des caractères (l'encodage externe est toujours UTF-8).</para>
+                    <para>
+                        'encoding' : encodage interne des caractères (l'encodage externe est
+                        toujours UTF-8).
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para>'wsdl' : qui est équivalent à un appel à <code>setWsdl($wsdlValue)</code>.</para>
-
-                    <para>Changer cette option peut faire basculer Zend_Soap_Client en mode WSDL ou non WSDL.</para>
+                    <para>
+                        'wsdl' : qui est équivalent à un appel à
+                        <code>setWsdl($wsdlValue)</code>.
+                    </para>
+
+                    <para>
+                        Changer cette option peut faire basculer Zend_Soap_Client en mode WSDL
+                        ou non WSDL.
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para>'uri' : cible du service SOAP (requis pour le mode non WSDL, inusité en mode WSDL).</para>
+                    <para>
+                        'uri' : cible du service SOAP (requis pour le mode non WSDL, inusité
+                        en mode WSDL).
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para>'location' : l'URL à requêter (requis pour le mode non WSDL, inusité en mode WSDL).</para>
+                    <para>
+                        'location' : l'URL à requêter (requis pour le mode non WSDL, inusité
+                        en mode WSDL).
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para>'style' : style de requête (inusité en mode WSDL): <code>SOAP_RPC</code> ou
-                    <code>SOAP_DOCUMENT</code>.</para>
+                    <para>
+                        'style' : style de requête (inusité en mode WSDL):
+                        <code>SOAP_RPC</code> ou <code>SOAP_DOCUMENT</code>.
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para>'use' : méthode d'encodage des messages (inusité en mode WSDL): <code>SOAP_ENCODED</code> ou
-                    <code>SOAP_LITERAL</code>.</para>
+                    <para>
+                        'use' : méthode d'encodage des messages (inusité en mode WSDL):
+                        <code>SOAP_ENCODED</code> ou <code>SOAP_LITERAL</code>.
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para>'login' et 'password' : login et password pour l'authentification HTTP.</para>
+                    <para>
+                        'login' et 'password' : login et password pour l'authentification
+                        HTTP.
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para>'proxy_host', 'proxy_port', 'proxy_login', et 'proxy_password' : utilisés pour une connexion
-                    HTTP via un proxy.</para>
+                    <para>
+                        'proxy_host', 'proxy_port', 'proxy_login', et 'proxy_password' :
+                        utilisés pour une connexion HTTP via un proxy.
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para>'local_cert' et 'passphrase' : options d'authentification HTTPS.</para>
+                    <para>
+                        'local_cert' et 'passphrase' : options d'authentification
+                        HTTPS.
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para>'compression' : options de compression ; c'est une combinaison entre
-                    <code>SOAP_COMPRESSION_ACCEPT</code>, <code>SOAP_COMPRESSION_GZIP</code> et
-                    <code>SOAP_COMPRESSION_DEFLATE</code>, qui peuvent être utilisées de cette manière : <programlisting
-                    role="php"><![CDATA[
-// Accepte une response compressée
-$client = new Zend_Soap_Client("some.wsdl",
-  array('compression' => SOAP_COMPRESSION_ACCEPT));
-...
-// Compresse les requêtes avec gzip et un taux de 5
-$client = new Zend_Soap_Client("some.wsdl",
-  array('compression' =>
-            SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP | 5));
-...
-// Compresse les requêtes en utilisant deflate
-$client = new Zend_Soap_Client("some.wsdl",
-  array('compression' =>
-            SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_DEFLATE));
-]]></programlisting></para>
-                </listitem>
-            </itemizedlist></para>
+                    <para>
+                        'compression' : options de compression ; c'est une combinaison entre
+                        <code>SOAP_COMPRESSION_ACCEPT</code>, <code>SOAP_COMPRESSION_GZIP</code> et
+                        <code>SOAP_COMPRESSION_DEFLATE</code>, qui peuvent être utilisées de cette
+                        manière : <programlisting role="php"><![CDATA[
+    // Accepte une response compressée
+    $client = new Zend_Soap_Client("some.wsdl",
+      array('compression' => SOAP_COMPRESSION_ACCEPT));
+    ...
+    // Compresse les requêtes avec gzip et un taux de 5
+    $client = new Zend_Soap_Client("some.wsdl",
+      array('compression' =>
+                SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP | 5));
+    ...
+    // Compresse les requêtes en utilisant deflate
+    $client = new Zend_Soap_Client("some.wsdl",
+      array('compression' =>
+                SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_DEFLATE));
+    ]]></programlisting></para>
+                    </listitem>
+                </itemizedlist>
+            </para>
     </sect2>
 
     <sect2 id="zend.soap.client.calls">
         <title>Effectuer des requêtes SOAP</title>
 
-        <para>Lorsqu'un objet <classname>Zend_Soap_Client</classname> est crée, nous sommes prêts à créer des requêtes
-        SOAP.</para>
-
-        <para>Chaque méthode du service Web est liée à une méthode virtuelle de l'objet <classname>Zend_Soap_Client</classname>,
-        qui s'utilise de manière tout à fait classique comme PHP le définit.</para>
-
-        <para>Voici un exemple : <programlisting role="php"><![CDATA[
-...
-//****************************************************************
-//                Code du serveur
-//****************************************************************
-// class MyClass {
-//     /**
-//      * Cette méthode utilise ...
-//      *
-//      * @param integer $inputParam
-//      * @return string
-//      */
-//     public function method1($inputParam) {
-//         ...
-//     }
-//
-//     /**
-//      * Cette méthode utilise ...
-//      *
-//      * @param integer $inputParam1
-//      * @param string  $inputParam2
-//      * @return float
-//      */
-//     public function method2($inputParam1, $inputParam2) {
-//         ...
-//     }
-//
-//     ...
-// }
-// ...
-// $server = new Zend_Soap_Server(null, $options);
-// $server->setClass('MyClass');
-// ...
-// $server->handle();
-//
-//****************************************************************
-//                Fin du code du serveur
-//****************************************************************
-
-$client = new Zend_Soap_Client("MyService.wsdl");
-...
-// $result1 est une chaine
-$result1 = $client->method1(10);
-...
-// $result2 est un flottant
-$result2 = $client->method2(22, 'some string');
-]]></programlisting></para>
-    </sect2>
-</sect1>
+        <para>
+            Lorsqu'un objet <classname>Zend_Soap_Client</classname> est crée, nous sommes
+            prêts à créer des requêtes SOAP.
+        </para>
+
+        <para>
+            Chaque méthode du service Web est liée à une méthode virtuelle de l'objet
+            <classname>Zend_Soap_Client</classname>, qui s'utilise de manière tout à fait classique
+            comme PHP le définit.
+        </para>
+
+        <para>
+            Voici un exemple : <programlisting role="php"><![CDATA[
+    ...
+    //****************************************************************
+    //                Code du serveur
+    //****************************************************************
+    // class MyClass {
+    //     /**
+    //      * Cette méthode utilise ...
+    //      *
+    //      * @param integer $inputParam
+    //      * @return string
+    //      */
+    //     public function method1($inputParam) {
+    //         ...
+    //     }
+    //
+    //     /**
+    //      * Cette méthode utilise ...
+    //      *
+    //      * @param integer $inputParam1
+    //      * @param string  $inputParam2
+    //      * @return float
+    //      */
+    //     public function method2($inputParam1, $inputParam2) {
+    //         ...
+    //     }
+    //
+    //     ...
+    // }
+    // ...
+    // $server = new Zend_Soap_Server(null, $options);
+    // $server->setClass('MyClass');
+    // ...
+    // $server->handle();
+    //
+    //****************************************************************
+    //                Fin du code du serveur
+    //****************************************************************
+    
+    $client = new Zend_Soap_Client("MyService.wsdl");
+    ...
+    // $result1 est une chaine
+    $result1 = $client->method1(10);
+    ...
+    // $result2 est un flottant
+    $result2 = $client->method2(22, 'some string');
+    ]]></programlisting></para>
+        </sect2>
+    </sect1>

+ 280 - 187
documentation/manual/fr/module_specs/Zend_Soap_Server.xml

@@ -1,51 +1,81 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 12150 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15346 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.soap.server">
     <title>Zend_Soap_Server</title>
 
-    <para>La classe <classname>Zend_Soap_Server</classname> a été créée pour simplifier la création d'un service Web SOAP en
-    PHP.</para>
-
-    <para>Elle peut être utilisée en mode WSDL ou non-WSDL, et elle utilise des fonctions ou des classes pour définir le
-    service Web rendu.</para>
-
-    <para>Lorsque le composant <classname>Zend_Soap_Server</classname> fonctionne en mode WSDL, il utilise le document WSDL pour
-    décrire le comportement des objets du serveur ainsi que les options de transport vers les clients.</para>
-
-    <para>Un document WSDL peut être auto-généré en utilisant <link linkend="zend.soap.autodiscovery.introduction">le composant
-    Zend_Soap_AutoDiscovery</link>, ou alors construit manuellement avec <link linkend="zend.soap.wsdl">la classe
-    <classname>Zend_Soap_Wsdl</classname></link> ou tout autre outil de génération de XML</para>
-
-    <para>Si le mode non-WSDL est utilisé, alors toutes les options du protocole doivent être configurées.</para>
+    <para>
+        La classe <classname>Zend_Soap_Server</classname> a été créée pour simplifier la
+        création d'un service Web SOAP en PHP.
+    </para>
+
+    <para>
+        Elle peut être utilisée en mode WSDL ou non-WSDL, et elle utilise des fonctions ou des
+        classes pour définir le service Web rendu.
+    </para>
+
+    <para>
+        Lorsque le composant <classname>Zend_Soap_Server</classname> fonctionne en mode WSDL,
+        il utilise le document WSDL pour décrire le comportement des objets du serveur ainsi que les
+        options de transport vers les clients.
+    </para>
+
+    <para>
+        Un document WSDL peut être auto-généré en utilisant <link
+        linkend="zend.soap.autodiscovery.introduction">le composant Zend_Soap_AutoDiscovery</link>,
+        ou alors construit manuellement avec <link linkend="zend.soap.wsdl">la classe
+        <classname>Zend_Soap_Wsdl</classname></link> ou tout autre outil de génération de XML
+    </para>
+
+    <para>
+        Si le mode non-WSDL est utilisé, alors toutes les options du protocole doivent être
+        configurées.
+    </para>
 
     <sect2 id="zend.soap.server.constructor">
         <title>Constructeur de <classname>Zend_Soap_Server</classname></title>
 
-        <para>Le constructeur de <classname>Zend_Soap_Server</classname> s'utilise différemment selon que l'on fonctionne en mode
-        WSDL ou non.</para>
+        <para>
+            Le constructeur de <classname>Zend_Soap_Server</classname> s'utilise différemment
+            selon que l'on fonctionne en mode WSDL ou non.
+        </para>
 
         <sect3 id="zend.soap.server.constructor.wsdl_mode">
             <title>Constructeur de <classname>Zend_Soap_Server</classname> en mode WSDL</title>
 
-            <para>Le constructeur de <classname>Zend_Soap_Server</classname> prend 2 paramètres optionnel en mode WSDL:
-            <orderedlist>
-                    <listitem>
-                        <para><code>$wsdl</code>, l'URI permettant l'accès au fichier WSDL <footnote>
-                                <para>Peut être spécifié plus tard avec la méthode <code>setWsdl($wsdl)</code></para>
-                            </footnote>.</para>
+            <para>
+                Le constructeur de <classname>Zend_Soap_Server</classname> prend 2 paramètres
+                optionnel en mode WSDL: <orderedlist>
+                        <listitem>
+                        <para>
+                            <code>$wsdl</code>, l'URI permettant l'accès au fichier WSDL
+                            <footnote>
+                                <para>
+                                    Peut être spécifié plus tard avec la méthode
+                                    <code>setWsdl($wsdl)</code>
+                                </para>
+                                </footnote>.
+                            </para>
                     </listitem>
 
                     <listitem>
-                        <para><code>$options</code> - options de création des objets serveurs <footnote>
-                                <para>Peut être spécifié plus tard avec la méthode
-                                <code>setOptions($options)</code></para>
-                            </footnote>.</para>
-
-                        <para>Les options suivantes sont reconnues en mode WSDL : <itemizedlist>
-                                <listitem>
-                                    <para>"soap_version" ("soapVersion") : version du protocole SOAP à utiliser
-                                    (SOAP_1_1 ou SOAP_1_2).</para>
+                        <para>
+                            <code>$options</code> - options de création des objets serveurs
+                            <footnote>
+                                <para>
+                                    Peut être spécifié plus tard avec la méthode
+                                    <code>setOptions($options)</code>
+                                </para>
+                                </footnote>.
+                            </para>
+
+                        <para>
+                            Les options suivantes sont reconnues en mode WSDL : <itemizedlist>
+                                    <listitem>
+                                    <para>
+                                        "soap_version" ("soapVersion") : version du protocole SOAP
+                                        à utiliser (SOAP_1_1 ou SOAP_1_2).
+                                    </para>
                                 </listitem>
 
                                 <listitem>
@@ -53,43 +83,66 @@
                                 </listitem>
 
                                 <listitem>
-                                    <para>"classmap" ("classMap") : utilisé pour faire correspondre des types WSDL à des
-                                    classes PHP.</para>
-
-                                    <para>L'option doit être un tableau avec pour clés les types WSDL et pour valeur les
-                                    classes PHP correspondantes.</para>
+                                    <para>
+                                        "classmap" ("classMap") : utilisé pour faire correspondre
+                                        des types WSDL à des classes PHP.
+                                    </para>
+
+                                    <para>
+                                        L'option doit être un tableau avec pour clés les types
+                                        WSDL et pour valeur les classes PHP correspondantes.
+                                    </para>
                                 </listitem>
 
                                 <listitem>
-                                    <para>"encoding" : encodage interne des caractères (l'encodage externe est toujours
-                                    UTF-8).</para>
+                                    <para>
+                                        "encoding" : encodage interne des caractères (l'encodage
+                                        externe est toujours UTF-8).
+                                    </para>
                                 </listitem>
 
                                 <listitem>
-                                    <para>"wsdl" : équivalent à un appel à <code>setWsdl($wsdlValue)</code></para>
+                                    <para>
+                                        "wsdl" : équivalent à un appel à
+                                        <code>setWsdl($wsdlValue)</code>
+                                    </para>
                                 </listitem>
-                            </itemizedlist></para>
+                                </itemizedlist>
+                            </para>
                     </listitem>
-                </orderedlist></para>
+                    </orderedlist>
+                </para>
         </sect3>
 
         <sect3 id="zend.soap.server.wsdl_mode">
-            <title>Constructeur de <classname>Zend_Soap_Server</classname> en mode non-WSDL</title>
+            <title>Constructeur de <classname>Zend_Soap_Server</classname> en mode
+            non-WSDL</title>
 
-            <para>Le premier paramètre du constructeur <emphasis>doit</emphasis> être mis à la valeur
-            <code>null</code> si vous voulez utiliser <classname>Zend_Soap_Server</classname> en mode non-WSDL.</para>
+            <para>
+                Le premier paramètre du constructeur <emphasis>doit</emphasis> être mis à la
+                valeur <code>null</code> si vous voulez utiliser
+                <classname>Zend_Soap_Server</classname> en mode non-WSDL.
+            </para>
 
             <para>Vous devez aussi spécifier "uri" dans ce cas (voir juste après).</para>
 
-            <para>Le second paramètre de constructeur est un tableau (<code>$options</code>) d'options permettant la
-            création de l'objet serveur SOAP.<footnote>
-                    <para>Les options se configurent aussi plus tard, grâce à la méthode
-                    <code>setOptions($options)</code></para>
-                </footnote>.</para>
-
-            <para>Les options suivantes sont reconnues en mode non-WSDL : <itemizedlist>
-                    <listitem>
-                        <para>"soap_version" ("soapVersion") : version SOAP à utiliser (SOAP_1_1 ou SOAP_1_2).</para>
+            <para>
+                Le second paramètre de constructeur est un tableau (<code>$options</code>)
+                d'options permettant la création de l'objet serveur SOAP.<footnote>
+                    <para>
+                        Les options se configurent aussi plus tard, grâce à la méthode
+                        <code>setOptions($options)</code>
+                    </para>
+                    </footnote>.
+                </para>
+
+            <para>
+                Les options suivantes sont reconnues en mode non-WSDL : <itemizedlist>
+                        <listitem>
+                        <para>
+                            "soap_version" ("soapVersion") : version SOAP à utiliser (SOAP_1_1
+                            ou SOAP_1_2).
+                        </para>
                     </listitem>
 
                     <listitem>
@@ -97,22 +150,32 @@
                     </listitem>
 
                     <listitem>
-                        <para>"classmap" ("classMap") : utilisé pour faire correspondre des types WSDL à des classes
-                        PHP.</para>
-
-                        <para>L'option doit être un tableau avec pour clés les types WSDL et pour valeur les classes PHP
-                        correspondantes.</para>
+                        <para>
+                            "classmap" ("classMap") : utilisé pour faire correspondre des
+                            types WSDL à des classes PHP.
+                        </para>
+
+                        <para>
+                            L'option doit être un tableau avec pour clés les types WSDL et
+                            pour valeur les classes PHP correspondantes.
+                        </para>
                     </listitem>
 
                     <listitem>
-                        <para>"encoding" : encodage interne des caractères (l'encodage externe est toujours
-                        UTF-8).</para>
+                        <para>
+                            "encoding" : encodage interne des caractères (l'encodage externe
+                            est toujours UTF-8).
+                        </para>
                     </listitem>
 
                     <listitem>
-                        <para>"wsdl" : équivalent à un appel à <code>setWsdl($wsdlValue).</code></para>
+                        <para>
+                            "wsdl" : équivalent à un appel à
+                            <code>setWsdl($wsdlValue).</code>
+                        </para>
                     </listitem>
-                </itemizedlist></para>
+                    </itemizedlist>
+                </para>
         </sect3>
     </sect2>
 
@@ -121,118 +184,138 @@
 
         <para>Il existe 2 manières de déclarer l'API de votre serveur SOAP.</para>
 
-        <para>La première consiste à attacher des classes à l'objet <classname>Zend_Soap_Server</classname>, celles-ci devront
-        alors décrire l'API du service en totalité : <programlisting role="php"><![CDATA[
-...
-class MyClass {
+        <para>
+            La première consiste à attacher des classes à l'objet
+            <classname>Zend_Soap_Server</classname>, celles-ci devront alors décrire l'API du
+            service en totalité : <programlisting role="php"><![CDATA[
+    ...
+    class MyClass {
+        /**
+         * Cette méthode accepte ...
+         *
+         * @param integer $inputParam
+         * @return string
+         */
+        public function method1($inputParam) {
+            ...
+        }
+    
+        /**
+         * Cette méthode accepte ...
+         *
+         * @param integer $inputParam1
+         * @param string  $inputParam2
+         * @return float
+         */
+        public function method2($inputParam1, $inputParam2) {
+            ...
+        }
+    
+        ...
+    }
+    ...
+    $server = new Zend_Soap_Server(null, $options);
+    // Connecte la classe au serveur Soap
+    $server->setClass('MyClass');
+    // Connecte un objet déjà initialisé au serveur Soap
+    $server->setObject(new MyClass());
+    ...
+    $server->handle();
+    ]]></programlisting> <note>
+                    <title>Important!</title>
+    
+                <para>
+                    Vous devriez complètement décrire chaque méthode grâce aux blocs de
+                    commentaires PHPDoc dans le cas où vous souhaitez utiliser l'auto découverte du
+                    service pour préparer le WSDL correspondant.
+                </para>
+                </note>
+            </para>
+
+        <para>
+            La seconde manière de décrire l'API de votre service Web est d'utiliser des
+            fonctions PHP conjointement avec les méthodes <code>addFunction()</code> ou
+            <code>loadFunctions()</code> :<programlisting role="php"><![CDATA[
+    ...
     /**
-     * Cette méthode accepte ...
+     * Cette fonction ...
      *
      * @param integer $inputParam
      * @return string
      */
-    public function method1($inputParam) {
+    function function1($inputParam) {
         ...
     }
-
+    
     /**
-     * Cette méthode accepte ...
+     * Cette fonction ...
      *
      * @param integer $inputParam1
      * @param string  $inputParam2
      * @return float
      */
-    public function method2($inputParam1, $inputParam2) {
+    function function2($inputParam1, $inputParam2) {
         ...
     }
-
-    ...
-}
-...
-$server = new Zend_Soap_Server(null, $options);
-// Connecte la classe au serveur Soap
-$server->setClass('MyClass');
-// Connecte un objet déjà initialisé au serveur Soap
-$server->setObject(new MyClass());
-...
-$server->handle();
-]]></programlisting> <note>
-                <title>Important!</title>
-
-                <para>Vous devriez complètement décrire chaque méthode grâce aux blocs de commentaires PHPDoc dans le
-                cas où vous souhaitez utiliser l'auto découverte du service pour préparer le WSDL correspondant.</para>
-            </note></para>
-
-        <para>La seconde manière de décrire l'API de votre service Web est d'utiliser des fonctions PHP conjointement
-        avec les méthodes <code>addFunction()</code> ou <code>loadFunctions()</code> :<programlisting
-        role="php"><![CDATA[
-...
-/**
- * Cette fonction ...
- *
- * @param integer $inputParam
- * @return string
- */
-function function1($inputParam) {
     ...
-}
-
-/**
- * Cette fonction ...
- *
- * @param integer $inputParam1
- * @param string  $inputParam2
- * @return float
- */
-function function2($inputParam1, $inputParam2) {
+    $server = new Zend_Soap_Server(null, $options);
+    $server->addFunction('function1');
+    $server->addFunction('function2');
     ...
-}
-...
-$server = new Zend_Soap_Server(null, $options);
-$server->addFunction('function1');
-$server->addFunction('function2');
-...
-$server->handle();
-]]></programlisting></para>
-    </sect2>
-
-    <sect2 id="zend.soap.server.request_response">
-        <title>Gestion des objets de requête et de réponse</title>
-
-        <note>
-            <title>Avancée</title>
-
-            <para>Cette section décrit la gestion avancée des requêtes et réponses SOAP et pourra être évitée.</para>
+    $server->handle();
+    ]]></programlisting></para>
+        </sect2>
+    
+        <sect2 id="zend.soap.server.request_response">
+            <title>Gestion des objets de requête et de réponse</title>
+    
+            <note>
+                <title>Avancée</title>
+    
+            <para>
+                Cette section décrit la gestion avancée des requêtes et réponses SOAP et
+                pourra être évitée.
+            </para>
         </note>
 
-        <para>Le composant Zend_Soap_Server effectue des requêtes et récupère des réponses, ceci automatiquement. Il est
-        possible d'intercepter la requête/réponse pour ajouter du pré ou post processus.</para>
+        <para>
+            Le composant Zend_Soap_Server effectue des requêtes et récupère des réponses, ceci
+            automatiquement. Il est possible d'intercepter la requête/réponse pour ajouter du pré ou
+            post processus.
+        </para>
 
         <sect3 id="zend.soap.server.request_response.request">
             <title>Requête</title>
 
-            <para>La méthode <classname>Zend_Soap_Server::handle()</classname> utilise la requête depuis le flux d'entrée standard
-            ('php://input'). Le comportement peut être changé en passant des paramètres à la méthode
-            <code>handle()</code> ou en spécifiant sa propre requête grâce à la méthode <code>setRequest()</code>
-            :<programlisting role="php"><![CDATA[
-...
-$server = new Zend_Soap_Server(...);
-...
-// Affecte une requête personnalisée
-$server->handle($request);
-...
-// Affecte une requête personnalisée
-$server->setRequest();
-$server->handle();
-]]></programlisting></para>
-
-            <para>Un objet de requête peut être représenté de plusieurs manières différentes :<itemizedlist>
-                    <listitem>
-                        <para>DOMDocument (casté en XML)</para>
-                    </listitem>
-
-                    <listitem>
-                        <para>DOMNode (le DOMDocument attaché est extrait et casté en XML)</para>
+            <para>
+                La méthode <classname>Zend_Soap_Server::handle()</classname> utilise la
+                requête depuis le flux d'entrée standard ('php://input'). Le comportement peut être
+                changé en passant des paramètres à la méthode <code>handle()</code> ou en spécifiant
+                sa propre requête grâce à la méthode <code>setRequest()</code> :<programlisting
+                role="php"><![CDATA[
+    ...
+    $server = new Zend_Soap_Server(...);
+    ...
+    // Affecte une requête personnalisée
+    $server->handle($request);
+    ...
+    // Affecte une requête personnalisée
+    $server->setRequest();
+    $server->handle();
+    ]]></programlisting></para>
+    
+            <para>
+                Un objet de requête peut être représenté de plusieurs manières différentes
+                :<itemizedlist>
+                        <listitem>
+                            <para>DOMDocument (casté en XML)</para>
+                        </listitem>
+    
+                        <listitem>
+                        <para>
+                            DOMNode (le DOMDocument attaché est extrait et casté en
+                            XML)
+                        </para>
                     </listitem>
 
                     <listitem>
@@ -240,34 +323,43 @@ $server->handle();
                     </listitem>
 
                     <listitem>
-                        <para>stdClass (__toString() est appelée et son contenu est vérifié comme XML valide)</para>
+                        <para>
+                            stdClass (__toString() est appelée et son contenu est vérifié
+                            comme XML valide)
+                        </para>
                     </listitem>
 
                     <listitem>
                         <para>chaînes de caractères (vérifiée comme XML valide)</para>
                     </listitem>
-                </itemizedlist></para>
-
-            <para>La dernière requête utilisée et traitée peut être récupérée en utilisant la méthode
-            <code>getLastRequest()</code> :<programlisting role="php"><![CDATA[
-...
-$server = new Zend_Soap_Server(...);
-...
-$server->handle();
-$request = $server->getLastRequest();
-]]></programlisting></para>
-        </sect3>
-
-        <sect3 id="zend.soap.server.request_response.response">
-            <title>Réponse</title>
+                    </itemizedlist>
+                </para>
 
-            <para><classname>Zend_Soap_Server::handle()</classname> émet automatiquement la réponse vers le flux standard de
-            sortie. Ce comportement peut être changé en utilisant <code>setReturnResponse()</code> avec une valeur
-            <code>true</code> ou <code>false</code> en paramètre. <footnote>
-                    <para>L'état actuel du drapeau de retour de la réponse peut être vérifié via la méthode
-                    <code>setReturnResponse()</code> sans paramètre.</para>
-                </footnote>. La réponse générée par <code>handle()</code> est alors retournée et non plus émise.
-            <programlisting role="php"><![CDATA[
+            <para>
+                La dernière requête utilisée et traitée peut être récupérée en utilisant la
+                méthode <code>getLastRequest()</code> :<programlisting role="php"><![CDATA[
+    ...
+    $server = new Zend_Soap_Server(...);
+    ...
+    $server->handle();
+    $request = $server->getLastRequest();
+    ]]></programlisting></para>
+            </sect3>
+    
+            <sect3 id="zend.soap.server.request_response.response">
+                <title>Réponse</title>
+    
+            <para>
+                <classname>Zend_Soap_Server::handle()</classname> émet automatiquement la
+                réponse vers le flux standard de sortie. Ce comportement peut être changé en
+                utilisant <code>setReturnResponse()</code> avec une valeur <code>true</code> ou
+                <code>false</code> en paramètre. <footnote>
+                    <para>
+                        L'état actuel du drapeau de retour de la réponse peut être vérifié via
+                        la méthode <code>setReturnResponse()</code> sans paramètre.
+                    </para>
+                </footnote>. La réponse générée par <code>handle()</code> est alors retournée et
+            non plus émise. <programlisting role="php"><![CDATA[
 ...
 $server = new Zend_Soap_Server(...);
 ...
@@ -278,15 +370,16 @@ $response = $server->handle();
 ...
 ]]></programlisting></para>
 
-            <para>Autrement, la dernière réponse peut être récupérer avec la méthode <code>getLastResponse()</code>
-            :<programlisting role="php"><![CDATA[
-...
-$server = new Zend_Soap_Server(...);
-...
-$server->handle();
-$response = $server->getLastResponse();
-...
-]]></programlisting></para>
-        </sect3>
-    </sect2>
-</sect1>
+            <para>
+                Autrement, la dernière réponse peut être récupérer avec la méthode
+                <code>getLastResponse()</code> :<programlisting role="php"><![CDATA[
+    ...
+    $server = new Zend_Soap_Server(...);
+    ...
+    $server->handle();
+    $response = $server->getLastResponse();
+    ...
+    ]]></programlisting></para>
+            </sect3>
+        </sect2>
+    </sect1>

+ 468 - 271
documentation/manual/fr/module_specs/Zend_Soap_Wsdl.xml

@@ -1,261 +1,392 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 13768 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15341 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.soap.wsdl">
     <title>WSDL</title>
 
     <note>
-        <para>La classe <classname>Zend_Soap_Wsdl</classname> est utilisée par le composant Zend_Soap_Server pour manipuler des
-        documents WSDL. Néanmoins, vous pouvez vous-même utiliser les services fournis par cette classe pour vos propres
-        besoins. La classe Zend_Soap_Wsdl contient à la fois un analyseur et un constructeur de documents WSDL.</para>
-
-        <para>Si vous ne voulez pas l'utiliser pour vos propres besoins, vous pouvez alors passer cette section de la
-        documentation.</para>
+        <para>
+            La classe <classname>Zend_Soap_Wsdl</classname> est utilisée par le composant
+            Zend_Soap_Server pour manipuler des documents WSDL. Néanmoins, vous pouvez vous-même
+            utiliser les services fournis par cette classe pour vos propres besoins. La classe
+            Zend_Soap_Wsdl contient à la fois un analyseur et un constructeur de documents
+            WSDL.
+        </para>
+
+        <para>
+            Si vous ne voulez pas l'utiliser pour vos propres besoins, vous pouvez alors
+            passer cette section de la documentation.
+        </para>
     </note>
 
     <sect2 id="zend.soap.wsdl.constructor">
         <title>Constructeur <classname>Zend_Soap_Wsdl</classname></title>
 
-        <para>Le constructeur de <classname>Zend_Soap_Wsdl</classname> prend 3 paramètres : <orderedlist>
-                <listitem>
-                    <simpara><code>$name</code> - nom du service Web décrit.</simpara>
-                </listitem>
-
-                <listitem>
-                    <simpara><code>$uri</code> - URI d'accès au fichier WSDL. (Une référence dans le système de fichier
-                    local est possible.)</simpara>
-                </listitem>
-
-                <listitem>
-                    <simpara><code>$strategy</code> - identifiant optionnel pour identifier la détection de stratégie
-                    des types complexes. Ceci est un booléen <code>$extractComplexTypes</code> avant la version 1.7 et
-                    peut toujours être paramétrer via un booléen pour la compatibilité ascendante. Par défaut le
-                    comportement de détection de la 1.6 est activé. Pour avoir de plus amples informations concernant
-                    les stratégies de détection des types complexes, lisez : <xref
-                    linkend="zend.soap.wsdl.types.add_complex" />.</simpara>
-                </listitem>
-            </orderedlist></para>
+        <para>
+            Le constructeur de <classname>Zend_Soap_Wsdl</classname> prend 3 paramètres :
+            <orderedlist>
+                    <listitem>
+                        <simpara><code>$name</code> - nom du service Web décrit.</simpara>
+                    </listitem>
+    
+                    <listitem>
+                        <simpara><code>$uri</code> - URI d'accès au fichier WSDL. (Une référence
+                        dans le système de fichier local est possible.)</simpara>
+                    </listitem>
+    
+                    <listitem>
+                        <simpara><code>$strategy</code> - identifiant optionnel pour identifier la
+                        détection de stratégie des types complexes. Ceci est un booléen
+                        <code>$extractComplexTypes</code> avant la version 1.7 et peut toujours être
+                        paramétrer via un booléen pour la compatibilité ascendante. Par défaut le
+                        comportement de détection de la 1.6 est activé. Pour avoir de plus amples
+                        informations concernant les stratégies de détection des types complexes,
+                        lisez : <xref linkend="zend.soap.wsdl.types.add_complex" />.</simpara>
+                    </listitem>
+                </orderedlist>
+            </para>
     </sect2>
 
     <sect2 id="zend.soap.wsdl.addmessage">
         <title><code>addMessage()</code></title>
 
-        <para><code>addMessage($name, $parts)</code> ajoute un message de description au document WSDL
-        (/definitions/message de l'élément).</para>
+        <para>
+            <code>addMessage($name, $parts)</code> ajoute un message de description au
+            document WSDL (/definitions/message de l'élément).
+        </para>
 
-        <para>Chaque message correspond à une méthode en terme de fonctionnalité de <classname>Zend_Soap_Server</classname> et
-        <classname>Zend_Soap_Client</classname>.</para>
+        <para>
+            Chaque message correspond à une méthode en terme de fonctionnalité de
+            <classname>Zend_Soap_Server</classname> et
+            <classname>Zend_Soap_Client</classname>.
+        </para>
 
         <para>Le paramètre <code>$name</code> représente le nom du message.</para>
 
-        <para>Le paramètre <code>$parts</code> est un tableau de paramètre des messages décrivant les paramètres d'appel
-        SOAP. Le tableau est associatif: 'nom du paramètre' (nom du paramètre d'appel SOAP) =&gt; 'type du
-        paramètre'.</para>
+        <para>
+            Le paramètre <code>$parts</code> est un tableau de paramètre des messages
+            décrivant les paramètres d'appel SOAP. Le tableau est associatif: 'nom du paramètre'
+            (nom du paramètre d'appel SOAP) =&gt; 'type du paramètre'.
+        </para>
 
-        <para>La correspondance de types est effectuée grâce à <code>addTypes()</code> et
-        <code>addComplexType()</code>(voyez après).</para>
+        <para>
+            La correspondance de types est effectuée grâce à <code>addTypes()</code> et
+            <code>addComplexType()</code>(voyez après).
+        </para>
 
         <note>
-            <para>Les paramètres de messages peuvent être soit "element", soit "type" (voyez <ulink
-            url="http://www.w3.org/TR/wsdl#_messages"></ulink>).</para>
-
-            <para>"element" doit correspondre à un élément de définition de type. "type" correspond à une entrée
-            complexType.</para>
-
-            <para>Tous les types standards XSD possèdent une définition "element" et "complexType" (Voyez <ulink
-            url="http://schemas.xmlsoap.org/soap/encoding/"></ulink>).</para>
-
-            <para>Tous les éléments non standards, qui doivent être ajoutés avec la méthode
-            <classname>Zend_Soap_Wsdl::addComplexType()</classname>, sont décrits en utilisant un noeud "complexType" décrits dans
-            la section "/definitions/types/schema/" du document WSDL.</para>
-
-            <para>Ainsi, la méthode <code>addMessage()</code> utilise toujours un attribut "type" pour décrire des
-            types.</para>
+            <para>
+                Les paramètres de messages peuvent être soit "element", soit "type" (voyez
+                <ulink url="http://www.w3.org/TR/wsdl#_messages"></ulink>).
+            </para>
+
+            <para>
+                "element" doit correspondre à un élément de définition de type. "type"
+                correspond à une entrée complexType.
+            </para>
+
+            <para>
+                Tous les types standards XSD possèdent une définition "element" et
+                "complexType" (Voyez <ulink
+                url="http://schemas.xmlsoap.org/soap/encoding/"></ulink>).
+            </para>
+
+            <para>
+                Tous les éléments non standards, qui doivent être ajoutés avec la méthode
+                <classname>Zend_Soap_Wsdl::addComplexType()</classname>, sont décrits en utilisant
+                un noeud "complexType" décrits dans la section "/definitions/types/schema/" du
+                document WSDL.
+            </para>
+
+            <para>
+                Ainsi, la méthode <code>addMessage()</code> utilise toujours un attribut
+                "type" pour décrire des types.
+            </para>
         </note>
     </sect2>
 
     <sect2 id="zend.soap.wsdl.add_port_type">
         <title><code>addPortType()</code></title>
 
-        <para><code>addPortType($name)</code> ajoute un nouveau type de portage au document WSDL
-        (/definitions/portType).</para>
+        <para>
+            <code>addPortType($name)</code> ajoute un nouveau type de portage au document WSDL
+            (/definitions/portType).
+        </para>
 
-        <para>Ceci fait la jointure entre des méthodes du service décrites en tant qu'implémentations de
-        Zend_Soap_Server.</para>
+        <para>
+            Ceci fait la jointure entre des méthodes du service décrites en tant
+            qu'implémentations de Zend_Soap_Server.
+        </para>
 
-        <para>Voyez <ulink url="http://www.w3.org/TR/wsdl#_porttypes"></ulink> pour plus de détails.</para>
+        <para>
+            Voyez <ulink url="http://www.w3.org/TR/wsdl#_porttypes"></ulink> pour plus de
+            détails.
+        </para>
     </sect2>
 
     <sect2 id="zend.soap.wsdl.add_port_operation">
         <title><code>addPortOperation()</code></title>
 
-        <para><code>addPortOperation($portType, $name, $input = false, $output = false, $fault = false)</code> ajoute
-        des définitions de portage au portage défini dans le document WSDL (/definitions/portType/operation).</para>
-
-        <para>Chaque opération de portage correspond à une méthode de classe (si le Web Service est basé sur une classe)
-        ou à une fonction (si le Web Service est basé sur des fonctions), ceci en terme d'implémentation de
-        Zend_Soap_Server.</para>
-
-        <para>Cette méthode ajoute aussi les messages d'opération correspondants aux portages, ceci dépend des
-        paramètres <code>$input</code>, <code>$output</code> and <code>$fault</code>. <note>
-                <para>Zend_Soap_Server génère 2 messages pour chaque opération de portage lorsque le service est décrit
-                au travers de la classe <classname>Zend_Soap_Server</classname>: <itemizedlist>
-                        <listitem>
-                            <para>Le message d'entrée nommé <code>$methodName . 'Request'</code>.</para>
+        <para>
+            <code>addPortOperation($portType, $name, $input = false, $output = false, $fault =
+            false)</code> ajoute des définitions de portage au portage défini dans le document WSDL
+            (/definitions/portType/operation).
+        </para>
+
+        <para>
+            Chaque opération de portage correspond à une méthode de classe (si le Web Service
+            est basé sur une classe) ou à une fonction (si le Web Service est basé sur des
+            fonctions), ceci en terme d'implémentation de Zend_Soap_Server.
+        </para>
+
+        <para>
+            Cette méthode ajoute aussi les messages d'opération correspondants aux portages,
+            ceci dépend des paramètres <code>$input</code>, <code>$output</code> and
+            <code>$fault</code>. <note>
+                <para>
+                    Zend_Soap_Server génère 2 messages pour chaque opération de portage
+                    lorsque le service est décrit au travers de la classe
+                    <classname>Zend_Soap_Server</classname>: <itemizedlist>
+                            <listitem>
+                            <para>
+                                Le message d'entrée nommé <code>$methodName .
+                                'Request'</code>.
+                            </para>
                         </listitem>
 
                         <listitem>
-                            <para>Les message de sortie nommé <code>$methodName . 'Response'</code>.</para>
+                            <para>
+                                Les message de sortie nommé <code>$methodName .
+                                'Response'</code>.
+                            </para>
                         </listitem>
-                    </itemizedlist></para>
-            </note></para>
-
-        <para>Voyez <ulink url="http://www.w3.org/TR/wsdl#_request-response"></ulink> pour les détails.</para>
+                        </itemizedlist>
+                    </para>
+                </note>
+            </para>
+
+        <para>
+            Voyez <ulink url="http://www.w3.org/TR/wsdl#_request-response"></ulink> pour les
+            détails.
+        </para>
     </sect2>
 
     <sect2 id="zend.soap.wsdl.add_binding">
         <title><code>addBinding()</code></title>
 
-        <para><code>addBinding($name, $portType)</code> ajoute de nouvelles correspondances (bindings) au document WSDL
-        (/definitions/binding).</para>
-
-        <para>Le noeud du document WSDL "binding" définit le format du message et les détails du protocole pour les
-        opérations et messages définis par un portage "portType" particulier (voyez <ulink
-        url="http://www.w3.org/TR/wsdl#_bindings"></ulink>).</para>
-
-        <para>La méthode crée le noeud de correspondance et le retourne. Il peut alors être utilisé.</para>
-
-        <para>L'implémentation de Zend_Soap_Server utilise le nom <code>$serviceName . "Binding"</code> pour la
-        correspondance ("binding") de l'élément du document WSDL.</para>
+        <para>
+            <code>addBinding($name, $portType)</code> ajoute de nouvelles correspondances
+            (bindings) au document WSDL (/definitions/binding).
+        </para>
+
+        <para>
+            Le noeud du document WSDL "binding" définit le format du message et les détails du
+            protocole pour les opérations et messages définis par un portage "portType" particulier
+            (voyez <ulink url="http://www.w3.org/TR/wsdl#_bindings"></ulink>).
+        </para>
+
+        <para>
+            La méthode crée le noeud de correspondance et le retourne. Il peut alors être
+            utilisé.
+        </para>
+
+        <para>
+            L'implémentation de Zend_Soap_Server utilise le nom <code>$serviceName .
+            "Binding"</code> pour la correspondance ("binding") de l'élément du document
+            WSDL.
+        </para>
     </sect2>
 
     <sect2 id="zend.soap.wsdl.add_binding_operation">
         <title><code>addBindingOperation()</code></title>
 
-        <para><code>addBindingOperation($binding, $name, $input = false, $output = false, $fault = false)</code> ajoute
-        une opération à l'élément de correspondance avec le nom spécifié (/definitions/binding/operation).</para>
-
-        <para>Cette méthode prend un objet <code>XML_Tree_Node</code> tel que retourné par <code>addBinding()</code>, en
-        paramètre (<code>$binding</code>) pour ajouter un élément "operation" avec des entrées input/output/false
-        dépendantes des paramètres spécifiés.</para>
-
-        <para><classname>Zend_Soap_Server</classname> ajoute les correspondances pour chaque méthode du Web Service avec des
-        entrées et sorties, définissant l'élément "soap:body" comme <code>&lt;soap:body use="encoded"
-        encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/&gt;</code></para>
-
-        <para>Voyez les détails à <ulink url="http://www.w3.org/TR/wsdl#_bindings"></ulink>.</para>
+        <para>
+            <code>addBindingOperation($binding, $name, $input = false, $output = false, $fault
+            = false)</code> ajoute une opération à l'élément de correspondance avec le nom spécifié
+            (/definitions/binding/operation).
+        </para>
+
+        <para>
+            Cette méthode prend un objet <code>XML_Tree_Node</code> tel que retourné par
+            <code>addBinding()</code>, en paramètre (<code>$binding</code>) pour ajouter un élément
+            "operation" avec des entrées input/output/false dépendantes des paramètres
+            spécifiés.
+        </para>
+
+        <para>
+            <classname>Zend_Soap_Server</classname> ajoute les correspondances pour chaque
+            méthode du Web Service avec des entrées et sorties, définissant l'élément "soap:body"
+            comme <code>&lt;soap:body use="encoded"
+            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/&gt;</code>
+        </para>
+
+        <para>
+            Voyez les détails à <ulink
+            url="http://www.w3.org/TR/wsdl#_bindings"></ulink>.
+        </para>
     </sect2>
 
     <sect2 id="zend.soap.wsdl.add_soap_binding">
         <title><code>addSoapBinding()</code></title>
 
-        <para><code>addSoapBinding($binding, $style = 'document', $transport =
-        'http://schemas.xmlsoap.org/soap/http')</code> ajoute des correspondances (bindings) SOAP ("soap:binding") à
-        l'élément (déjà lié à un portage de type) avec le style et le transport spécifié (<classname>Zend_Soap_Server</classname>
-        utilise le style RPC sur HTTP).</para>
-
-        <para>L'élément "/definitions/binding/soap:binding" est alors utilisé pour spécifier que la correspondance est
-        relative au format du protocole SOAP.</para>
-
-        <para>Voyez <ulink url="http://www.w3.org/TR/wsdl#_bindings"></ulink> pour les détails.</para>
+        <para>
+            <code>addSoapBinding($binding, $style = 'document', $transport =
+            'http://schemas.xmlsoap.org/soap/http')</code> ajoute des correspondances (bindings)
+            SOAP ("soap:binding") à l'élément (déjà lié à un portage de type) avec le style et le
+            transport spécifié (<classname>Zend_Soap_Server</classname> utilise le style RPC sur
+            HTTP).
+        </para>
+
+        <para>
+            L'élément "/definitions/binding/soap:binding" est alors utilisé pour spécifier que
+            la correspondance est relative au format du protocole SOAP.
+        </para>
+
+        <para>
+            Voyez <ulink url="http://www.w3.org/TR/wsdl#_bindings"></ulink> pour les
+            détails.
+        </para>
     </sect2>
 
     <sect2 id="zend.soap.wsdl.add_soap_operation">
         <title><code>addSoapOperation()</code></title>
 
-        <para><code>addSoapOperation($binding, $soap_action)</code> ajoute une opération SOAP ("soap:operation") à
-        l'élément de correspondance avec l'action spécifiée. L'attribut "style" de l'élément "soap:operation" n'est pas
-        utilisé alors que le modèle de programmation (RPC-oriented ou document-oriented) devrait utiliser la méthode
-        <code>addSoapBinding()</code></para>
-
-        <para>L'attribut "soapAction" de l'élément "/definitions/binding/soap:operation" spécifie la valeur de l'en-tête
-        SOAPAction pour l'opération. Cet attribut est requis pour SOAP sur HTTP et <emphasis>ne doit pas</emphasis> être
-        renseigné pour les autres modes de transports.</para>
-
-        <para><classname>Zend_Soap_Server</classname> utilise <code>$serviceUri . '#' . $methodName</code> pour le nom de l'action
-        SOAP.</para>
-
-        <para>Voyez <ulink url="http://www.w3.org/TR/wsdl#_soap:operation"></ulink> pour plus de détails.</para>
+        <para>
+            <code>addSoapOperation($binding, $soap_action)</code> ajoute une opération SOAP
+            ("soap:operation") à l'élément de correspondance avec l'action spécifiée. L'attribut
+            "style" de l'élément "soap:operation" n'est pas utilisé alors que le modèle de
+            programmation (RPC-oriented ou document-oriented) devrait utiliser la méthode
+            <code>addSoapBinding()</code>
+        </para>
+
+        <para>
+            L'attribut "soapAction" de l'élément "/definitions/binding/soap:operation"
+            spécifie la valeur de l'en-tête SOAPAction pour l'opération. Cet attribut est requis
+            pour SOAP sur HTTP et <emphasis>ne doit pas</emphasis> être renseigné pour les autres
+            modes de transports.
+        </para>
+
+        <para>
+            <classname>Zend_Soap_Server</classname> utilise <code>$serviceUri . '#' .
+            $methodName</code> pour le nom de l'action SOAP.
+        </para>
+
+        <para>
+            Voyez <ulink url="http://www.w3.org/TR/wsdl#_soap:operation"></ulink> pour plus de
+            détails.
+        </para>
     </sect2>
 
     <sect2 id="zend.soap.wsdl.add_service">
         <title><code>addService()</code></title>
 
-        <para><code>addService($name, $port_name, $binding, $location)</code> ajoute un élément "/definitions/service"
-        au document WSDL avec le nom du Web Service spécifié, le nom du portage, la correspondance, et l'adresse.</para>
-
-        <para>WSDL 1.1 autorise d'avoir plusieurs types de portage par service. Cette particularité n'est pas utilisée
-        dans <classname>Zend_Soap_Server</classname> et est non supportée par la classe <classname>Zend_Soap_Wsdl</classname>.</para>
-
-        <para>Utilisations de <classname>Zend_Soap_Server</classname> : <itemizedlist>
-                <listitem>
-                    <para><code>$name . 'Service'</code> comme nom du Web Service,</para>
-                </listitem>
-
-                <listitem>
-                    <para><code>$name . 'Port'</code> comme nom de portage des types,</para>
+        <para>
+            <code>addService($name, $port_name, $binding, $location)</code> ajoute un élément
+            "/definitions/service" au document WSDL avec le nom du Web Service spécifié, le nom du
+            portage, la correspondance, et l'adresse.
+        </para>
+
+        <para>
+            WSDL 1.1 autorise d'avoir plusieurs types de portage par service. Cette
+            particularité n'est pas utilisée dans <classname>Zend_Soap_Server</classname> et est non
+            supportée par la classe <classname>Zend_Soap_Wsdl</classname>.
+        </para>
+
+        <para>
+            Utilisations de <classname>Zend_Soap_Server</classname> : <itemizedlist>
+                    <listitem>
+                        <para><code>$name . 'Service'</code> comme nom du Web Service,</para>
+                    </listitem>
+    
+                    <listitem>
+                        <para><code>$name . 'Port'</code> comme nom de portage des types,</para>
+                    </listitem>
+    
+                    <listitem>
+                    <para>
+                        <code>'tns:' . $name . 'Binding'</code> <footnote>
+                            <para>
+                                <code>'tns:' namespace</code> est l'URI du script
+                                (<code>'http://' .$_SERVER['HTTP_HOST'] .
+                                $_SERVER['SCRIPT_NAME']</code>).
+                            </para>
+                            </footnote> comme nom de la correspondance,
+                        </para>
                 </listitem>
 
                 <listitem>
-                    <para><code>'tns:' . $name . 'Binding'</code> <footnote>
-                            <para><code>'tns:' namespace</code> est l'URI du script (<code>'http://'
-                            .$_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME']</code>).</para>
-                        </footnote> comme nom de la correspondance,</para>
+                    <para>
+                        l'URI du script<footnote>
+                            <para>
+                                <code>'http://' .$_SERVER['HTTP_HOST'] .
+                                $_SERVER['SCRIPT_NAME']</code>
+                            </para>
+                        </footnote> en tant qu'URI du service pour les Web Service utilisant des
+                        classes.
+                    </para>
                 </listitem>
-
-                <listitem>
-                    <para>l'URI du script<footnote>
-                            <para><code>'http://' .$_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME']</code></para>
-                        </footnote> en tant qu'URI du service pour les Web Service utilisant des classes.</para>
-                </listitem>
-            </itemizedlist> où <code>$name</code> est un nom de classe pour le Web Service utilisant des classes, ou un
-        nom de script pour le Web Service qui utilise des fonctions.</para>
-
-        <para>Voyez <ulink url="http://www.w3.org/TR/wsdl#_services"></ulink> pour les détails.</para>
+            </itemizedlist> où <code>$name</code> est un nom de classe pour le Web Service
+        utilisant des classes, ou un nom de script pour le Web Service qui utilise des
+            fonctions.
+        </para>
+
+        <para>
+            Voyez <ulink url="http://www.w3.org/TR/wsdl#_services"></ulink> pour les
+            détails.
+        </para>
     </sect2>
 
     <sect2 id="zend.soap.wsdl.types">
         <title>Correspondance de type</title>
 
-        <para>Le WSDL de Zend_Soap utilise les correspondances suivantes pour faire correspondre les type SOAP à des
-        types PHP : <itemizedlist>
-                <listitem>
-                    <para>chaînes PHP &lt;-&gt; <code>xsd:string</code>.</para>
-                </listitem>
-
-                <listitem>
-                    <para>entiers PHP &lt;-&gt; <code>xsd:int</code>.</para>
-                </listitem>
-
-                <listitem>
-                    <para>flottants PHP &lt;-&gt; <code>xsd:float</code>.</para>
-                </listitem>
-
-                <listitem>
-                    <para>booléens PHP &lt;-&gt; <code>xsd:boolean</code>.</para>
-                </listitem>
-
-                <listitem>
-                    <para>tableaux PHP &lt;-&gt; <code>soap-enc:Array</code>.</para>
-                </listitem>
-
-                <listitem>
-                    <para>objets PHP &lt;-&gt; <code>xsd:struct</code>.</para>
-                </listitem>
-
-                <listitem>
-                    <para>Classe PHP &lt;-&gt; basé sur la stratégie des types complexes (Voir : <xref
-                    linkend="zend.soap.wsdl.types.add_complex" />)<footnote>
-                            <para><classname>Zend_Soap_AutoDiscover</classname> sera créé avec la classe
-                            <classname>Zend_Soap_Wsdl_Strategy_DefaultComplexType</classname> en tant qu'algorithme de détection
-                            pour les types complexes. Le premier paramètre du constructeur AutoDiscover accepte toute
-                            stratégie de types complexes implémentant <classname>Zend_Soap_Wsdl_Strategy_Interface</classname> ou
-                            une chaîne correspondant au nom de la classe. Pour une compatibilité ascendante, avec
-                            <code>$extractComplexType</code> les variables booléennes sont analysées comme avec
-                            Zend_Soap_Wsdl. Regardez le manuel <link
-                            linkend="zend.soap.wsdl.types.add_complex">Zend_Soap_Wsdl sur l'ajout des types
-                            complexes</link> pour plus d'informations.</para>
-                        </footnote>.</para>
+        <para>
+            Le WSDL de Zend_Soap utilise les correspondances suivantes pour faire correspondre
+            les type SOAP à des types PHP : <itemizedlist>
+                    <listitem>
+                        <para>chaînes PHP &lt;-&gt; <code>xsd:string</code>.</para>
+                    </listitem>
+    
+                    <listitem>
+                        <para>entiers PHP &lt;-&gt; <code>xsd:int</code>.</para>
+                    </listitem>
+    
+                    <listitem>
+                        <para>flottants PHP &lt;-&gt; <code>xsd:float</code>.</para>
+                    </listitem>
+    
+                    <listitem>
+                        <para>booléens PHP &lt;-&gt; <code>xsd:boolean</code>.</para>
+                    </listitem>
+    
+                    <listitem>
+                        <para>tableaux PHP &lt;-&gt; <code>soap-enc:Array</code>.</para>
+                    </listitem>
+    
+                    <listitem>
+                        <para>objets PHP &lt;-&gt; <code>xsd:struct</code>.</para>
+                    </listitem>
+    
+                    <listitem>
+                    <para>
+                        Classe PHP &lt;-&gt; basé sur la stratégie des types complexes (Voir :
+                        <xref linkend="zend.soap.wsdl.types.add_complex" />)<footnote>
+                            <para>
+                                <classname>Zend_Soap_AutoDiscover</classname> sera créé avec
+                                la classe
+                                <classname>Zend_Soap_Wsdl_Strategy_DefaultComplexType</classname> en
+                                tant qu'algorithme de détection pour les types complexes. Le premier
+                                paramètre du constructeur AutoDiscover accepte toute stratégie de
+                                types complexes implémentant
+                                <classname>Zend_Soap_Wsdl_Strategy_Interface</classname> ou une
+                                chaîne correspondant au nom de la classe. Pour une compatibilité
+                                ascendante, avec <code>$extractComplexType</code> les variables
+                                booléennes sont analysées comme avec Zend_Soap_Wsdl. Regardez le
+                                manuel <link
+                                linkend="zend.soap.wsdl.types.add_complex">Zend_Soap_Wsdl sur
+                                l'ajout des types complexes</link> pour plus d'informations.
+                            </para>
+                            </footnote>.
+                        </para>
                 </listitem>
 
                 <listitem>
@@ -263,128 +394,190 @@
                 </listitem>
 
                 <listitem>
-                    <para>Si le type na aucune correspondance avec les valeurs ci-dessus, alors <code>xsd:anyType</code>
-                    est utilisé.</para>
+                    <para>
+                        Si le type na aucune correspondance avec les valeurs ci-dessus, alors
+                        <code>xsd:anyType</code> est utilisé.
+                    </para>
                 </listitem>
-            </itemizedlist> Où <code>xsd:</code> est l'espace de noms "http://www.w3.org/2001/XMLSchema",
-        <code>soap-enc:</code> est l'espace de noms "http://schemas.xmlsoap.org/soap/encoding/", <code>tns:</code> est
-        un "espace de noms cible" pour le service.</para>
+            </itemizedlist> Où <code>xsd:</code> est l'espace de noms
+        "http://www.w3.org/2001/XMLSchema", <code>soap-enc:</code> est l'espace de noms
+        "http://schemas.xmlsoap.org/soap/encoding/", <code>tns:</code> est un "espace de noms
+            cible" pour le service.
+        </para>
 
         <sect3 id="zend.soap.wsdl.types.retrieve">
             <title>Récupérer des infos sur les types</title>
 
-            <para><code>getType($type)</code> peut être utilisée pour récupérer la correspondance d'un type PHP spécifié
-            : <programlisting role="php"><![CDATA[
-...
-$wsdl = new Zend_Soap_Wsdl('My_Web_Service', $myWebServiceUri);
-
-...
-$soapIntType = $wsdl->getType('int');
-
-...
-class MyClass {
+            <para>
+                <code>getType($type)</code> peut être utilisée pour récupérer la
+                correspondance d'un type PHP spécifié : <programlisting role="php"><![CDATA[
     ...
-}
-...
-$soapMyClassType = $wsdl->getType('MyClass');
-]]></programlisting></para>
-        </sect3>
-
-        <sect3 id="zend.soap.wsdl.types.add_complex">
-            <title>Ajouter des infos sur les types complexes</title>
-
-            <para><code>addComplexType($type)</code> est utilisée pour ajouter des types complexes (classes PHP) à un
-            document WSDL.</para>
-
-            <para>C'est automatiquement utilisé par la méthode <code>getType()</code> pour ajouter les types complexes
-            des paramètres de méthodes ou des types retournés.</para>
-
-            <para>Sa détection et son algorithme de construction est basé sur la détection de stratégie des types
-            complexes couramment active. Vous pouvez paramétrer la stratégie de détection soit en spécifiant le nom de
-            classe sous la forme d'une chaîne de caractères ou une instance implémentant
-            <classname>Zend_Soap_Wsdl_Strategy_Interface</classname> en tant que troisième paramètre du constructeur ou en
-            utilisant la fonction <code>setComplexTypeStrategy($strategy)</code> de <classname>Zend_Soap_Wsdl</classname>. Les
-            stratégies de détection suivantes existent couramment :</para>
+    $wsdl = new Zend_Soap_Wsdl('My_Web_Service', $myWebServiceUri);
+    
+    ...
+    $soapIntType = $wsdl->getType('int');
+    
+    ...
+    class MyClass {
+        ...
+    }
+    ...
+    $soapMyClassType = $wsdl->getType('MyClass');
+    ]]></programlisting></para>
+            </sect3>
+    
+            <sect3 id="zend.soap.wsdl.types.add_complex">
+                <title>Ajouter des infos sur les types complexes</title>
+    
+            <para>
+                <code>addComplexType($type)</code> est utilisée pour ajouter des types
+                complexes (classes PHP) à un document WSDL.
+            </para>
+
+            <para>
+                C'est automatiquement utilisé par la méthode <code>getType()</code> pour
+                ajouter les types complexes des paramètres de méthodes ou des types
+                retournés.
+            </para>
+
+            <para>
+                Sa détection et son algorithme de construction est basé sur la détection de
+                stratégie des types complexes couramment active. Vous pouvez paramétrer la stratégie
+                de détection soit en spécifiant le nom de classe sous la forme d'une chaîne de
+                caractères ou une instance implémentant
+                <classname>Zend_Soap_Wsdl_Strategy_Interface</classname> en tant que troisième
+                paramètre du constructeur ou en utilisant la fonction
+                <code>setComplexTypeStrategy($strategy)</code> de
+                <classname>Zend_Soap_Wsdl</classname>. Les stratégies de détection suivantes
+                existent couramment :
+            </para>
 
             <itemizedlist>
                 <listitem>
-                    <para>la classe <classname>Zend_Soap_Wsdl_Strategy_DefaultComplexType</classname> : activé par défaut (quand
-                    aucun troisième paramètre n'est fourni). Itère parmi les attributs publics d'un type de classe et
-                    les enregistre en tant que sous-types d'un type d'objet complexe.</para>
+                    <para>
+                        la classe
+                        <classname>Zend_Soap_Wsdl_Strategy_DefaultComplexType</classname> : activé
+                        par défaut (quand aucun troisième paramètre n'est fourni). Itère parmi les
+                        attributs publics d'un type de classe et les enregistre en tant que
+                        sous-types d'un type d'objet complexe.
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para>la classe <classname>Zend_Soap_Wsdl_Strategy_AnyType</classname> : caste tous les types complexes en un
-                    type XSD simple xsd:anyType. Attention ce raccourci pour la détection des types complexes peut
-                    probablement seulement être géré avec des langages faiblement typés comme le PHP.</para>
+                    <para>
+                        la classe <classname>Zend_Soap_Wsdl_Strategy_AnyType</classname> :
+                        caste tous les types complexes en un type XSD simple xsd:anyType. Attention
+                        ce raccourci pour la détection des types complexes peut probablement
+                        seulement être géré avec des langages faiblement typés comme le PHP.
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para>la classe <classname>Zend_Soap_Wsdl_Strategy_ArrayOfTypeSequence</classname> : cette stratégie permet de
-                    spécifier les paramètres de retour de type : <code>int[]</code> ou <code>string[]</code>. Il peut
-                    seulement gérer les types PHP simples comme int, string, boolean, float et ainsi de suite, mais
-                    permet de spécifier des tableaux imbriqués de tableaux de type.</para>
+                    <para>
+                        la classe
+                        <classname>Zend_Soap_Wsdl_Strategy_ArrayOfTypeSequence</classname> : cette
+                        stratégie permet de spécifier les paramètres de retour de type :
+                        <code>int[]</code> ou <code>string[]</code>. Il peut seulement gérer les
+                        types PHP simples comme int, string, boolean, float et ainsi de suite, mais
+                        permet de spécifier des tableaux imbriqués de tableaux de type.
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para>la classe <classname>Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex</classname> : cette stratégie permet de
-                    détecter des tableaux complexes d'objets. Les types d'objets sont détectés sur la base de
-                    <classname>Zend_Soap_Wsdl_Strategy_DefaultComplexType</classname> et un tableau enveloppe cette
-                    définition.</para>
+                    <para>
+                        la classe
+                        <classname>Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex</classname> : cette
+                        stratégie permet de détecter des tableaux complexes d'objets. Les types
+                        d'objets sont détectés sur la base de
+                        <classname>Zend_Soap_Wsdl_Strategy_DefaultComplexType</classname> et un
+                        tableau enveloppe cette définition.
+                    </para>
                 </listitem>
 
                 <listitem>
-                    <para>la classe <classname>Zend_Soap_Wsdl_Strategy_Composite</classname> : cette stratégie peut combiner
-                    toutes les stratégies en connectant les types complexes PHP (nom de classe) à la stratégie désirée
-                    grâce à la méthode <code>connectTypeToStrategy($type, $strategy)</code>. Une carte de correspondance
-                    complète de types peut être fourni au constructeur sous la forme d'un tableau de paires
-                    <code>$type</code> -&gt; <code>$strategy</code>. Le second paramètre spécifie la stratégie par
-                    défaut si un type inconnu est ajouté. La valeur par défaut de ce paramètre est la stratégie
-                    <classname>Zend_Soap_Wsdl_Strategy_DefaultComplexType</classname>.</para>
+                    <para>
+                        la classe <classname>Zend_Soap_Wsdl_Strategy_Composite</classname> :
+                        cette stratégie peut combiner toutes les stratégies en connectant les types
+                        complexes PHP (nom de classe) à la stratégie désirée grâce à la méthode
+                        <code>connectTypeToStrategy($type, $strategy)</code>. Une carte de
+                        correspondance complète de types peut être fourni au constructeur sous la
+                        forme d'un tableau de paires <code>$type</code> -&gt;
+                        <code>$strategy</code>. Le second paramètre spécifie la stratégie par défaut
+                        si un type inconnu est ajouté. La valeur par défaut de ce paramètre est la
+                        stratégie
+                        <classname>Zend_Soap_Wsdl_Strategy_DefaultComplexType</classname>.
+                    </para>
                 </listitem>
             </itemizedlist>
 
-            <para>la méthode <code>addComplexType()</code> crée un élément
-            "<code>/definitions/types/xsd:schema/xsd:complexType</code>" pour chaque type complexe décrit avec le nom
-            d'une classe PHP spécifiée.</para>
-
-            <para>Les propriétés des classes <emphasis>doivent</emphasis> posséder un bloc de documentation avec le type
-            PHP en question, afin que la propriété soit incluse dans la description WSDL.</para>
-
-            <para><code>addComplexType()</code> vérifie sur le type est déjà décrit dans la section des types du
-            document WSDL.</para>
-
-            <para>Ceci évite les duplications et récursions si cette méthode est appelée plus d'une fois.</para>
-
-            <para>Voyez <ulink url="http://www.w3.org/TR/wsdl#_types"></ulink> pour plus de détails.</para>
+            <para>
+                la méthode <code>addComplexType()</code> crée un élément
+                "<code>/definitions/types/xsd:schema/xsd:complexType</code>" pour chaque type
+                complexe décrit avec le nom d'une classe PHP spécifiée.
+            </para>
+
+            <para>
+                Les propriétés des classes <emphasis>doivent</emphasis> posséder un bloc de
+                documentation avec le type PHP en question, afin que la propriété soit incluse dans
+                la description WSDL.
+            </para>
+
+            <para>
+                <code>addComplexType()</code> vérifie sur le type est déjà décrit dans la
+                section des types du document WSDL.
+            </para>
+
+            <para>
+                Ceci évite les duplications et récursions si cette méthode est appelée plus
+                d'une fois.
+            </para>
+
+            <para>
+                Voyez <ulink url="http://www.w3.org/TR/wsdl#_types"></ulink> pour plus de
+                détails.
+            </para>
         </sect3>
     </sect2>
 
     <sect2 id="zend.soap.wsdl.add_documentation">
         <title><code>addDocumentation()</code></title>
 
-        <para><code>addDocumentation($input_node, $documentation)</code> ajoute de la documentation lisible ("human
-        readable") grâce à l'élément optionnel "wsdl:document".</para>
-
-        <para>L'élément "/definitions/binding/soap:binding" est utilisé pour dire que la correspondance est liée au
-        format du protocole SOAP.</para>
-
-        <para>Voyez <ulink url="http://www.w3.org/TR/wsdl#_documentation"></ulink> pour les détails.</para>
+        <para>
+            <code>addDocumentation($input_node, $documentation)</code> ajoute de la
+            documentation lisible ("human readable") grâce à l'élément optionnel
+            "wsdl:document".
+        </para>
+
+        <para>
+            L'élément "/definitions/binding/soap:binding" est utilisé pour dire que la
+            correspondance est liée au format du protocole SOAP.
+        </para>
+
+        <para>
+            Voyez <ulink url="http://www.w3.org/TR/wsdl#_documentation"></ulink> pour les
+            détails.
+        </para>
     </sect2>
 
     <sect2 id="zend.soap.wsdl.retrieve">
         <title>Récupérer un document WSDL finalisé</title>
 
-        <para><code>toXML()</code>, <code>toDomDocument()</code> et <code>dump($filename = false)</code> peuvent être
-        utilisées pour récupérer un document WSDL sous forme de XML, de structure DOM, ou de fichier.</para>
+        <para>
+            <code>toXML()</code>, <code>toDomDocument()</code> et <code>dump($filename =
+            false)</code> peuvent être utilisées pour récupérer un document WSDL sous forme de XML,
+            de structure DOM, ou de fichier.
+        </para>
     </sect2>
 
     <sect2 id="zend.soap.wsdl.parser">
         <title>Analyse des documents WSDL</title>
 
-        <para>Zend_Soap_Wsdl contient aussi un analyseur de documents WSDL qui a son application la plus importante dans
-        les tests unitaires et dans la génération de code pour les services Web SOAP (client et serveur). L'exemple
-        suivant vous montre comment l'analyseur peut être utilisé :</para>
+        <para>
+            Zend_Soap_Wsdl contient aussi un analyseur de documents WSDL qui a son application
+            la plus importante dans les tests unitaires et dans la génération de code pour les
+            services Web SOAP (client et serveur). L'exemple suivant vous montre comment l'analyseur
+            peut être utilisé :
+        </para>
 
         <programlisting role="php"><![CDATA[
 // Chargement du WSDL dans un DOMDocument
@@ -430,9 +623,13 @@ foreach($result->types AS $type) {
 }
 ]]></programlisting>
 
-        <para>Tous les éléments implémentent l'interface <classname>Zend_Soap_Wsdl_Element_Interface</classname> qui déclare les
-        fonctions <code>getName()</code> et <code>getDocumentation()</code> fournissant respectivement un identifiant
-        unique de l'élément et sa documentation. Tous les éléments possèdent des propriétés publiques qui décrivent son
-        état avec plus de détails et qui contient aussi ses dépendances imbriquées pour un accès itérable facile.</para>
+        <para>
+            Tous les éléments implémentent l'interface
+            <classname>Zend_Soap_Wsdl_Element_Interface</classname> qui déclare les fonctions
+            <code>getName()</code> et <code>getDocumentation()</code> fournissant respectivement un
+            identifiant unique de l'élément et sa documentation. Tous les éléments possèdent des
+            propriétés publiques qui décrivent son état avec plus de détails et qui contient aussi
+            ses dépendances imbriquées pour un accès itérable facile.
+        </para>
     </sect2>
 </sect1>