<!-- EN-Revision: 13846 -->
<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://www.getfirebug.com/">console 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 HTTP pour s'assurer que le contenu de la page n'est pas perturbé. Déboguer les requêtes AJAX qui
    requière du JSON "propre" ou un réponse XML est possible avec cette approche.</para>

    <para>Éléments requis :</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 <classname>Zend_Controller_Front</classname></title>

        <programlisting role="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 <classname>Zend_Controller_Front</classname></title>

        <programlisting role="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>