Przeglądaj źródła

Added some french doc translations
Fixed a typo in Zend_Log-Writers-Mail doc

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@17008 44c647ce-9c0f-0410-b52a-842ac1e357ba

doctorrock83 16 lat temu
rodzic
commit
56c1f23da3

+ 1 - 1
documentation/manual/en/module_specs/Zend_Log-Writers-Mail.xml

@@ -91,7 +91,7 @@ $layout = new Zend_Layout();
 
 // Create a formatter that wraps the entry in a listitem tag.
 $layoutFormatter = new Zend_Log_Formatter_Simple(
-    '<li>' . Zend_Layout::DEFAULT_FORMAT . '</li>'
+    '<li>' . Zend_Log_Formatter_Simple::DEFAULT_FORMAT . '</li>'
 );
 
 $writer = new Zend_Log_Writer_Mail($mail, $layout);

+ 279 - 0
documentation/manual/fr/module_specs/Zend_Application-CoreFunctionality-Bootstrap_BootstrapAbstract.xml

@@ -0,0 +1,279 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Reviewed: no -->
+<sect2 id="zend.application.core-functionality.bootstrap-bootstrapabstract">
+    <title>Zend_Application_Bootstrap_BootstrapAbstract</title>
+
+    <para>
+        <classname>Zend_Application_Bootstrap_BootstrapAbstract</classname> est une classe abstraite qui
+        propose les fonctionnalités de base d'un bootstrap classique. Elle implémente
+        both <link linkend="zend.application.core-functionality.bootstrap-bootstrapper">
+            Zend_Application_Bootstrap_Bootstrapper</link> et <link
+            linkend="zend.application.core-functionality.bootstrap-resourcebootstrapper">
+            Zend_Application_Bootstrap_ResourceBootstrapper</link>.
+    </para>
+
+    <table id="zend.application.core-functionality.bootstrap-bootstrapabstract.api.table">
+        <title>Zend_Application_Bootstrap_BootstrapAbstract Methods</title>
+        <tgroup cols="4">
+            <thead>
+                <row>
+                    <entry>Méthode</entry>
+                    <entry>Valeur de retour</entry>
+                    <entry>Paramètres</entry>
+                    <entry>Description</entry>
+                </row>
+            </thead>
+            <tbody>
+                <row>
+                    <entry><methodname>__construct($application)</methodname></entry>
+                    <entry><type>Void</type></entry>
+                    <entry><itemizedlist>
+                        <listitem><para>
+                            <varname>$application</varname>: <emphasis>requis</emphasis>.
+                            Accepte un objet <classname>Zend_Application</classname> ou
+                            <classname>Zend_Application_Bootstrap_Bootstrapper</classname>
+                        </para></listitem>
+                    </itemizedlist></entry>
+                    <entry><para>
+                        Constructeur. Accepte un seul argument de type
+                        <classname>Zend_Application</classname>, ou un autre objet bootstrap.
+                    </para></entry>
+                </row>
+
+                <row>
+                    <entry><methodname>setOptions(array $options)</methodname></entry>
+                    <entry><classname>Zend_Application_Bootstrap_Bootstrapper</classname></entry>
+                    <entry><itemizedlist>
+                        <listitem><para>
+                            <varname>$options</varname>: <emphasis>requis</emphasis>.
+                            Tableau d'options à configurer.
+                        </para></listitem>
+                    </itemizedlist></entry>
+                    <entry>
+                    <para>
+                        Toute option possédant un setter l'invoquera, sinon l'option sera stockée
+                        pour une utilisation ultérieure. Par exemple, si votre classe fille définit
+                        une méthode <methodname>setFoo()</methodname>, l'option 'foo' passera sa 
+                        valeur à cette méthode.
+                    </para>
+                    <para>
+                        Deux options supplémentaires spéciales peuvent aussi être utilisée.
+                        <property>pluginPaths</property> spécifie des préfixes de chemin vers
+                        les plugins; on attend ici un tableau de paires prefixes, chemins.
+                        <property>resources</property> permet de spécifier un plugin
+                        à utiliser.
+                    </para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getOption()</methodname></entry>
+                    <entry><type>Array</type></entry>
+                    <entry>N/A</entry>
+                    <entry><para>
+                        Retourne toutes les options enregistrées via
+                        <methodname>setOptions()</methodname>.
+                    </para></entry>
+                </row>
+
+                <row>
+                    <entry><methodname>hasOption($key)</methodname></entry>
+                    <entry><type>Boolean</type></entry>
+                    <entry><itemizedlist>
+                        <listitem><para>
+                            <varname>$key</varname>: <emphasis>requis</emphasis>.
+                            Option dont on veut tester la présence.
+                        </para></listitem>
+                    </itemizedlist></entry>
+                    <entry><para>Détermine si une option est présente.</para></entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getOption($key)</methodname></entry>
+                    <entry><type>Mixed</type></entry>
+                    <entry><itemizedlist>
+                        <listitem><para>
+                            <varname>$key</varname>: <emphasis>requis</emphasis>.
+                            Option à récupérer.
+                        </para></listitem>
+                    </itemizedlist></entry>
+                    <entry><para>
+                        Récupère la valeur de l'option associée à la clé passée comme paramètre.
+                    </para></entry>
+                </row>
+
+                <row>
+                    <entry>
+                        <methodname>setApplication(Zend_Application |
+                            Zend_Application_Bootstrap_Bootstrapper $application)</methodname>
+                    </entry>
+                    <entry>
+                        <classname>Zend_Application_Bootstrap_BootstrapAbstract</classname>
+                    </entry>
+                    <entry><itemizedlist>
+                            <listitem><para>
+                                <varname>$application</varname>: <emphasis>requis</emphasis>.
+                            </para></listitem>
+                    </itemizedlist></entry>
+                    <entry><para>
+                        Enregistre l'objet application parent, ou un objet de bootstrap.
+                    </para></entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getApplication()</methodname></entry>
+                    <entry>
+                        <classname>Zend_Application</classname> |
+                        <classname>Zend_Application_Bootstrap_Bootstrapper</classname>
+                    </entry>
+                    <entry>N/A</entry>
+                    <entry><para>
+                        Récupère l'objet application ou bootstrap passé par le constructeur.
+                    </para></entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getEnvironment()</methodname></entry>
+                    <entry><type>String</type></entry>
+                    <entry>N/A</entry>
+                    <entry><para>
+                        Récupère l'environnement (chaine) enregistré dans l'objet parent, application
+                        ou bootstrap.
+                    </para></entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getClassResources()</methodname></entry>
+                    <entry><type>Array</type></entry>
+                    <entry>N/A</entry>
+                    <entry><para>
+                        Récupère la liste des noms des chargeurs de ressources définis dans la
+                        classe. Spécifique à l'implémentation.
+                    </para></entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getContainer()</methodname></entry>
+                    <entry><type>Object</type></entry>
+                    <entry>N/A</entry>
+                    <entry><para>
+                        Récupère le conteneur stockant les ressources. Si aucun conteneur n'est spécifié,
+                        un objet<link linkend="zend.registry">Zend_Registry</link> sera crée pour cet usage,
+                        puis retourné.
+                    </para></entry>
+                </row>
+
+                <row>
+                    <entry><methodname>setContainer($container)</methodname></entry>
+                    <entry>
+                        <classname>Zend_Application_Bootstrap_BootstrapAbstract</classname>
+                    </entry>
+                    <entry><itemizedlist>
+                        <listitem><para>
+                            <varname>$container</varname>, <emphasis>requis</emphasis>.
+                            Un objet dans lequel stocker les resources.
+                        </para></listitem>
+                    </itemizedlist></entry>
+                    <entry><para>
+                        Définit un conteneur mémorisant les ressources. Lorsqu'une ressource est
+                        demandée, elle est chargée puis stocker dans ce conteneur pour être retournée
+                        lors des prochains appels.
+                    </para></entry>
+                </row>
+
+                <row>
+                    <entry><methodname>hasResource($name)</methodname></entry>
+                    <entry><type>Boolean</type></entry>
+                    <entry><itemizedlist>
+                        <listitem><para>
+                            <varname>$name</varname>, <emphasis>requis</emphasis>.
+                            Nom de la ressource dont on veut vérifier la présence.
+                        </para></listitem>
+                    </itemizedlist></entry>
+                    <entry><para>
+                        Lorsqu'une ressource est demandée (retournée par une méthode ou un plugin),
+                        elle est stockée dans un objet conteneur (voyez
+                        <methodname>getContainer()</methodname> et
+                        <methodname>setContainer()</methodname>.) Cette méthode interroge le
+                        conteneur pour savoir si une ressource y est présente.
+                    </para></entry>
+                </row>
+
+                <row>
+                    <entry><methodname>getResource($name)</methodname></entry>
+                    <entry><type>Mixed</type></entry>
+                    <entry><itemizedlist>
+                        <listitem><para>
+                            <varname>$name</varname>, <emphasis>requis</emphasis>.
+                            Nom de la ressource à récupérer
+                        </para></listitem>
+                    </itemizedlist></entry>
+                    <entry><para>
+                        Lorsqu'une ressource est demandée (retournée par une méthode ou un plugin),
+                        elle est stockée dans un objet conteneur (voyez
+                        <methodname>getContainer()</methodname> et
+                        <methodname>setContainer()</methodname>.) Cette méthode récupère une 
+                        ressource depuis le conteneur.
+                    </para></entry>
+                </row>
+
+                <row>
+                    <entry><methodname>bootstrap($resource = null)</methodname></entry>
+                    <entry><type>Mixed</type></entry>
+                    <entry><itemizedlist>
+                        <listitem><para>
+                            <varname>$resource</varname>: <emphasis>optionnel</emphasis>.
+                        </para></listitem>
+                    </itemizedlist></entry>
+                    <entry>
+                    <para>
+                        Si <varname>$resource</varname> est vide, charge toutes les ressources
+                        (bootstrap). Si une chaine est passée, charge uniquement la ressource
+                        demandée. Enfin si un tableau est passé, charge les ressources nommées
+                        dans ce tableau.
+                    </para>
+
+                    <para>
+                        Cette méthode peut être utilisée pour déclencher le chargement d'une 
+                        ressource, définit sous forme de méthode ou de plugin (c'est égal).
+                        Attention si vous spécifiez à la fois une méthode et un plugin pour une
+                        même ressource, alors la méthode sera préférée comme bootstrap, le plugin sera
+                        ignoré.
+                    </para>
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><methodname>run()</methodname></entry>
+                    <entry><type>Void</type></entry>
+                    <entry>N/A</entry>
+                    <entry><para>
+                        Définis la logique applicative à lancer après le bootstrap (la configuration)
+                    </para></entry>
+                </row>
+
+                <row>
+                    <entry><methodname>__call($method, $args)</methodname></entry>
+                    <entry><type>Mixed</type></entry>
+                    <entry><itemizedlist>
+                        <listitem><para>
+                            <varname>$method</varname>: <emphasis>requis</emphasis>.
+                            Nom de la méthode appelée
+                        </para></listitem>
+
+                        <listitem><para>
+                            <varname>$args</varname>: <emphasis>requis</emphasis>.
+                            Tableau d'arguments d'invocation pour la méthode.
+                        </para></listitem>
+                    </itemizedlist></entry>
+                    <entry><para>
+                        Propose une interface agréable pour configurer (bootstrap)
+                        des ressources individuelles en appelant
+                        'bootstrap&lt;NomDeLaRessource&gt;()' à la place de
+                        <methodname>bootstrap()</methodname>.
+                    </para></entry>
+                </row>
+            </tbody>
+        </tgroup>
+    </table>
+</sect2>

+ 150 - 0
documentation/manual/fr/module_specs/Zend_Log-Writers-Mail.xml

@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Reviewed: no -->
+<sect2 id="zend.log.writers.mail">
+    <title>Ecrire vers un email</title>
+
+    <para>
+        <classname>Zend_Log_Writer_Mail</classname> va écrire les entrées du log dans un message
+        email en utilisant <classname>Zend_Mail</classname>. Le constructeur de
+        <classname>Zend_Log_Writer_Mail</classname> requière un objet <classname>Zend_Mail</classname>
+        et optionnellement un objet <classname>Zend_Layout</classname>.
+    </para>
+
+    <para>
+        Le cas d'utilisation principal de <classname>Zend_Log_Writer_Mail</classname> est
+        de notifier les développeurs, les administrateurs ou toute personne concernée, d'une
+        erreur qui peut survenir dans des scripts.
+        <classname>Zend_Log_Writer_Mail</classname> a été crée avec l'idée que si quelque chose
+        ne tourne pas rond, une intervention humaine est nécessaire.
+    </para>
+
+    <para>
+        Voici un exemple d'utilisation basique:
+    </para>
+
+    <programlisting language="php"><![CDATA[
+$mail = new Zend_Mail();
+$mail->setFrom('errors@example.org')
+     ->addTo('project_developers@example.org');
+
+$writer = new Zend_Log_Writer_Mail($mail);
+
+// Ecrit le sujet. Un résumé des erreurs est ajouté à la suite
+$writer->setSubjectPrependText('Errors with script foo.php');
+
+// Limite uniquement au niveau Warning ou supérieur
+$writer->addFilter(Zend_Log::WARN);
+
+$log = new Zend_Log();
+$log->addWriter($writer);
+
+// Essai
+$log->error('unable to connect to database');
+
+// A la fermeture, Zend_Mail::send() est inviqué et concernera
+// tous les logs passés dans le filtre.
+]]></programlisting>
+
+    <para>
+        <classname>Zend_Log_Writer_Mail</classname> utilisera un corps de message
+        en texte plein (plain text) par défaut.
+    </para>
+
+    <para>
+        Le filtre est géré. Par exemple si le filtre est réglé sur Warnings, et que
+        2 évènements warnings et 5 évènements erreurs se produisent, alors 7
+        évènements seront envoyés.
+    </para>
+
+    <sect3 id="zend.log.writers.mail.layoutusage">
+        <title>Utilisation avec Zend_Layout</title>
+
+        <para>
+            Une instance de <classname>Zend_Layout</classname> peut être utilisée pour générer
+            du HTML qui fera partie de l'email multipart. Si <classname>Zend_Layout</classname>
+            est utilisé, <classname>Zend_Log_Writer_Mail</classname> considèrera que le corps HTML
+            du message sera la valeur du rendu de <classname>Zend_Layout</classname>.
+        </para>
+
+        <para>
+            En utilisant <classname>Zend_Log_Writer_Mail</classname> avec un objet
+            <classname>Zend_Layout</classname> vous pouvez utiliser un formateur
+            personnalisé grâce à <code>setLayoutFormatter()</code>. Si aucun formateur spécifique
+            <classname>Zend_Layout</classname> n'est indiqué, le formateur en cours d'utilisation
+            sera appelé. Voici un exemple.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$mail = new Zend_Mail();
+$mail->setFrom('errors@example.org')
+     ->addTo('project_developers@example.org');
+// Nous ne spécifions pas le sujet du message dans l'objet Zend_Mail !
+
+// Utilisons un simple objet Zend_Layout
+$layout = new Zend_Layout();
+
+// Créons un formateur à base de listes
+$layoutFormatter = new Zend_Log_Formatter_Simple(
+    '<li>' . Zend_Log_Formatter_Simple::DEFAULT_FORMAT . '</li>'
+);
+
+$writer = new Zend_Log_Writer_Mail($mail, $layout);
+
+// Appliquons le formateur sur le rendu de Zend_Layout.
+$writer->setLayoutFormatter($layoutFormatter);
+$writer->setSubjectPrependText('Errors with script foo.php');
+$writer->addFilter(Zend_Log::WARN);
+
+$log = new Zend_Log();
+$log->addWriter($writer);
+
+// essai
+$log->error('unable to connect to database');
+
+// A la fermeture, Zend_Mail::send() est inviqué et concernera
+// tous les logs passés dans le filtre.
+// l'email contiendra une partie "plain text", et une partie HTML
+]]></programlisting>
+    </sect3>
+
+    <sect3 id="zend.log.writers.mail.dynamicsubjectline">
+        <title>Ligne du sujet dynamique</title>
+
+        <para>
+            La méthode <code>setSubjectPrependText()</code> est utilisée à la place de
+            <classname>Zend_Mail::setSubject()</classname> pour que la ligne de sujet dans l'email soit
+            générée dynamiquement avant l'envoie de l'email. Par exemple, si le texte indiqué est
+            "Erreurs depuis ce script", le sujet de l'email généré par
+            <classname>Zend_Log_Writer_Mail</classname> avec 2 warnings et 5 errors sera alors
+            "Erreurs depuis ce script (warn = 2; error = 5)". Si le sujet n'est pas indiqué
+            via <classname>Zend_Log_Writer_Mail</classname>, la ligne de sujet
+            de <classname>Zend_Mail</classname>, si il y en a une, sera utilisée.
+        </para>
+    </sect3>
+
+    <sect3 id="zend.log.writers.mail.caveats">
+        <title>Attention</title>
+
+        <para>
+            Envoyer des rapports d'erreurs par emails peut être dangeureux.
+            Si votre système de tracking d'erreurs n'est pas correct ou a un problème,
+            vous risquez de vous retrouver innondé de tonnes d'emails en provenance de
+            votre application.
+        </para>
+
+        <para>
+            A l'heure actuelle, il n'existe dans <classname>Zend_Log_Writer_Mail</classname>
+            aucun système de limitation ou de contrôle du nombre ou de la fréquence d'envoi
+            des emails. Si vous nécessitez un tel système, vous devrez l'implémenter vous-même.
+        </para>
+
+        <para>
+            Encore une fois, l'unique but de <classname>Zend_Log_Writer_Mail</classname>
+            est la notification d'un humain au sujet d'une erreur. Si ce système est
+            clairement contrôlé, alors il peut devenir un avantage très appréciable.
+        </para>
+    </sect3>
+</sect2>
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 61 - 0
documentation/manual/fr/module_specs/Zend_Log-Writers-Syslog.xml

@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Reviewed: no -->
+<sect2 id="zend.log.writers.syslog">
+    <title>Ecrire dans lee journal du système</title>
+
+    <para>
+        <classname>Zend_Log_Writer_Syslog</classname> écrits les rapports de log dans le
+        journal système (syslog). En interne, il utilise les fonctions <acronym>PHP</acronym>
+        <methodname>openlog()</methodname>,
+        <methodname>closelog()</methodname>, et
+        <methodname>syslog()</methodname>.
+    </para>
+
+    <para>
+        Un cas d'utilisation intéressant de <classname>Zend_Log_Writer_Syslog</classname>
+        est le cluster de machines. La fonctionnalité d ejournal système permet de
+        faire en sorte que chaque machine enregistre dans un fichier de journal centralisé,
+        ce qui simplifie l'administration.
+    </para>
+
+    <para>
+        Par défaut, tous les messages gérés sont préfixés par "Zend_Log". Si vous souhaitez
+        changer ce nom, utilisez le contructeur ou l'accesseur:
+    </para>
+
+    <programlisting language="php"><![CDATA[
+// A l'instanciation
+$writer = new Zend_Log_Writer_Syslog(array('application' => 'FooBar'));
+
+// Plus tard:
+$writer->setApplication('BarBaz');
+]]></programlisting>
+
+    <para>
+        Le journal système vous aidera aussi à identifier les messages
+        par types d'application ("facility"), les programmes de journalisation système
+        vont générer des fichiers journaux différents en fonction des types
+        d'application, ce qui là encore, peut aider dans l'administration.
+    </para>
+
+    <para>
+        Pour spécifier le type d'application, utilisez le constructeur ou l'accesseur.
+        Cette option peut être l'une des constantes utilisées par
+        <methodname>openlog()</methodname>, définies dans la page
+        <ulink url="http://php.net/openlog">du manuel de openlog()</ulink>.
+    </para>
+
+    <programlisting language="php"><![CDATA[
+// A l'instanciation
+$writer = new Zend_Log_Writer_Syslog(array('facility' => LOG_AUTH));
+
+// Plus tard
+$writer->setFacility(LOG_USER);
+]]></programlisting>
+
+    <para>
+        En utilisant l'objet de log, continuez d'utiliser les contantes de
+        <classname>Zend_Log</classname>, elles vont être convertie en leurs valeurs
+        par <methodname>syslog()</methodname>.
+    </para>
+</sect2>