<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<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 language="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
            <methodname>refresh()</methodname> 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>
                        <link
                            linkend="zend.progressbar.adapter.console">Zend_ProgressBar_Adapter_Console</link>
                    </para>
                </listitem>

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

                    </para>
                </listitem>

                <listitem>
                    <para>
                        <link
                            linkend="zend.progressbar.adapter.jspull">Zend_ProgressBar_Adapter_JsPull</link>
                    </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>