<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect3 id="zend.db.profiler.profilers.firebug">
    <title>Profiler avec Firebug</title>

    <para>
        <classname>Zend_Db_Profiler_Firebug</classname> envoie des informations de profilage
        vers la <ulink url="http://getfirebug.com/logging.html">console</ulink>
        <ulink url="http://www.getfirebug.com/">Firebug</ulink>.
    </para>

    <para>
        Toutes les données sont envoyées via le composant
        <classname>Zend_Wildfire_Channel_HttpHeaders</classname> qui utilise les en-têtes
        <acronym>HTTP</acronym> pour s'assurer que le contenu de la page n'est pas perturbé.
        Déboguer les requêtes <acronym>AJAX</acronym> qui requière du <acronym>JSON</acronym>
        "propre" ou un réponse <acronym>XML</acronym> est possible avec cette approche.
    </para>

    <para>Éléments requis&#160;:</para>

    <itemizedlist>
        <listitem>
            <para>
                Navigateur Firefox idéalement en version 3 mais la version 2 est aussi
                supportée.
            </para>
        </listitem>

        <listitem>
            <para>
                L'extension Firefox nommée Firebug qui peut être téléchargée à cette adresse
                <ulink
                    url="https://addons.mozilla.org/en-US/firefox/addon/1843">https://addons.mozilla.org/en-US/firefox/addon/1843</ulink>.
            </para>
        </listitem>

        <listitem>
            <para>
                L'extension Firefox nommée FirePHP qui peut être téléchargée à cette adresse
                <ulink
                    url="https://addons.mozilla.org/en-US/firefox/addon/6149">https://addons.mozilla.org/en-US/firefox/addon/6149</ulink>.
            </para>
        </listitem>
    </itemizedlist>

    <example id="zend.db.profiler.profilers.firebug.example.with_front_controller">
        <title>Profilage de base de données avec Zend_Controller_Front</title>

        <programlisting language="php"><![CDATA[
// Dans votre fichier d'amorçage
$profiler = new Zend_Db_Profiler_Firebug('All DB Queries');
$profiler->setEnabled(true);

// Attacher le profileur à votre adaptateur de base de données
$db->setProfiler($profiler);

// Distribuer votre contrôleur frontal

// Toutes les requêtes dans vos fichiers de modèles, vues et
// contrôleurs seront maintenant profilées et envoyées à Firebug
]]></programlisting>
    </example>

    <example id="zend.db.profiler.profilers.firebug.example.without_front_controller">
        <title>Profilage de base de données sans Zend_Controller_Front</title>

        <programlisting language="php"><![CDATA[
$profiler = new Zend_Db_Profiler_Firebug('All DB Queries');
$profiler->setEnabled(true);

// Attacher le profileur à votre adaptateur de base de données
$db->setProfiler($profiler);

$request  = new Zend_Controller_Request_Http();
$response = new Zend_Controller_Response_Http();
$channel  = Zend_Wildfire_Channel_HttpHeaders::getInstance();
$channel->setRequest($request);
$channel->setResponse($response);

// Démarrer l'output buffering
ob_start();

// Maintenant vous pouvez lancer les requêtes
// qui doivent être profilées

// Envoi des données de profiling vers le navigateur
$channel->flush();
$response->sendHeaders();
]]></programlisting>
    </example>
</sect3>