<!-- EN-Revision: 13910 -->
<sect1 id="zend.progressbar.introduction" xmlns:xi="http://www.w3.org/2001/XInclude">
    <title>Zend_ProgressBar</title>

    <sect2 id="zend.progressbar.whatisit">
        <title>Introduction</title>

        <para><classname>Zend_ProgressBar</classname> est un composant pour créer et mettre à jour les barres de progression dans
        différents environnements. Il consiste en un backend unique, qui affiche la progression au travers de l'un des
        multiples adaptateurs. A chaque mise à jour, il prend un chemin absolu et un message d'état, et appelle ensuite
        l'adaptateur avec certaines valeurs précalculées comme le pourcentage et le temps restant estimé.</para>
    </sect2>

    <sect2 id="zend.progressbar.basic">
        <title>Utilisation basique de Zend_Progressbar</title>

        <para><classname>Zend_ProgressBar</classname> est assez simple d'utilisation. Vous créez simplement une nouvelle instance
        de <classname>Zend_Progressbar</classname>, en définissant des valeurs minimum et maximum, et en choisissant un adaptateur
        pour afficher les données. Si vous voulez travailler avec un fichier, vous pouvez faire comme ceci :</para>

        <programlisting role="php"><![CDATA[
$progressBar = new Zend_ProgressBar(0, $fileSize, $adapter);

while (!feof($fp)) {
    // Faire quelque chose

    $progressBar->update($currentByteCount);
}

$progressBar->finish();
]]></programlisting>

        <para>Dans un premier temps, une instance de <classname>Zend_ProgressBar</classname>, avec une valeur minimum de 0, une
        valeur maximum correspondant à la taille totale du fichier et un adaptateur spécifique. Ensuite on travaille
        avec le fichier et à chaque boucle la barre de progression est mise à jour avec le nombre d'octets courant. A la
        fin de la boucle, le statut de la barre de progression est réglé à terminé.</para>

        <para><classname>Zend_ProgressBar</classname> possède aussi une méthode <code>refresh()</code> qui recalcule le temps
        restant estimé et met à jour l'adaptateur. Ceci est pratique quand il n'y a aucune donnée à mettre à jour mais
        que vous souhaitez que la barre de progression soit mise à jour.</para>
    </sect2>

    <sect2 id="zend.progressbar.adapters">
        <title>Adaptateurs standard</title>

        <para><classname>Zend_ProgressBar</classname> est fourni avec les deux adaptateurs suivants : <itemizedlist
                mark="opencircle">
                <listitem>
                    <para>
                        <xref linkend="zend.progressbar.adapter.console" />
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <xref linkend="zend.progressbar.adapter.jspush" />
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <xref linkend="zend.progressbar.adapter.jspull" />
                    </para>
                </listitem>
            </itemizedlist></para>

        <xi:include href="Zend_ProgressBar_Adapter_Console.xml" />

        <xi:include href="Zend_ProgressBar_Adapter_JsPush.xml" />

        <xi:include href="Zend_ProgressBar_Adapter_JsPull.xml" />
    </sect2>
</sect1>