<!-- EN-Revision: 13582 -->
<sect1 id="zend.service.flickr">
    <title>Zend_Service_Flickr</title>

    <sect2 id="zend.service.flickr.introduction">
        <title>Introduction</title>

        <para><classname>Zend_Service_Flickr</classname> est une API simple pour utiliser le service Web REST de Flick. Pour
        pouvoir utiliser les services Web Flickr, vous devez avoir une clé d'utilisation de l'API. Pour obtenir une
        telle clé, et pour plus d'information sur le service Web REST de Flickr, veuillez vous référez à la <ulink
        url="http://www.flickr.com/services/api/">documentation de l'API Flickr</ulink>.</para>

        <para>Dans l'exemple suivant, nous allons utiliser la méthode <code>tagSearch()</code> pour rechercher des
        photos ayant "php" dans les tags.</para>

        <example id="zend.service.flickr.introduction.example-1">
            <title>Simple recherche de photos sur Flickr</title>

            <programlisting role="php"><![CDATA[
$flickr = new Zend_Service_Flickr('MA_CLE_API');

$results = $flickr->tagSearch("php");

foreach ($results as $result) {
    echo $result->title . '<br />';
}
]]></programlisting>
        </example>

        <note>
            <title>Paramètres optionnels</title>

            <para><code>tagSearch()</code> accepte un tableau d'options comme second paramètre optionnel.</para>
        </note>
    </sect2>

    <sect2 id="zend.service.flickr.finding-users">
        <title>Trouver les photos et les informations des utilisateurs Flickr</title>

        <para><classname>Zend_Service_Flickr</classname>fournit plusieurs façons différentes de récupérer des informations sur les
        utilisateurs.</para>

        <itemizedlist>
            <listitem>
                <para><code>userSearch()</code>: Accepte une chaîne de caractère de balise délimitée par des espaces, et
                un tableau d'options en second paramètre optionnel. Elle retourne un jeu de photos sous la forme d'un
                objet <classname>Zend_Service_Flickr_ResultSet</classname>.</para>
            </listitem>

            <listitem>
                <para><code>getIdByUsername()</code>: Retourne l'identifiant utilisateur, correspondant à son nom
                d'utilisateur.</para>
            </listitem>

            <listitem>
                <para><code>getIdByEmail()</code>: Retourne l'identifiant utilisateur correspondant à l'adresse émail
                donnée.</para>
            </listitem>
        </itemizedlist>

        <example id="zend.service.flickr.finding-users.example-1">
            <title>Trouver les photos publiques d'un utilisateur Flickr par son adresse émail</title>

            <para>Dans cet exemple, nous havons une adresse émail d'un utilisateur Flickr, et nous recherchons les
            photos publiques des utilisateurs en utilisant la méthode <code>userSearch()</code> :</para>

            <programlisting role="php"><![CDATA[
$flickr = new Zend_Service_Flickr('MA_CLE_API');

$results = $flickr->userSearch($userEmail);

foreach ($results as $result) {
    echo $result->title . '<br />';
}
]]></programlisting>
        </example>
    </sect2>

    <sect2 id="zend.service.flickr.grouppoolgetphotos">
        <title>Trouver des photos dans le pool d'un groupe</title>

        <para><classname>Zend_Service_Flickr</classname> vous permet de récupérer les photos issues du pool d'un groupe à partir
        de son ID. Utilisez pour cela la méthode <code>groupPoolGetPhotos()</code> :</para>

        <example id="zend.service.flickr.grouppoolgetphotos.example-1">
            <title>Récupération les photos du pool d'un groupe grâce à son ID</title>

            <programlisting role="php"><![CDATA[
$flickr = new Zend_Service_Flickr('MA_CLE_API');

$results = $flickr->groupPoolGetPhotos($groupId);

foreach ($results as $result) {
    echo $result->title . '<br />';
}
]]></programlisting>
        </example>

        <note>
            <title>Paramètre optionnel</title>

            <para><code>groupPoolGetPhotos()</code> accepte un second paramètre optionnel sous la forme d'un tableau
            d'options.</para>
        </note>
    </sect2>

    <sect2 id="zend.service.flickr.getimagedetails">
        <title>Récupérer les détails d'une image</title>

        <para><classname>Zend_Service_Flickr</classname> permet de récupérer facilement et rapidement, les détails d'une image
        grâce à son ID. Utilisez simplement la méthode <code>getImageDetails()</code>, comme dans l'exemple suivant
        :</para>

        <example id="zend.service.flickr.getimagedetails.example-1">
            <title>Récupérer les détails d'une image</title>

            <para>Une fois que vous avez l'identifiant de l'image Flickr, il est simple de retrouver les informations
            qui lui sont associées :</para>

            <programlisting role="php"><![CDATA[
$flickr = new Zend_Service_Flickr('MA_CLE_API');

$image = $flickr->getImageDetails($imageId);

echo "ID de l'image : $imageId, taille : "
   . "$image->width x $image->height pixels.<br />\n";
echo "<a href=\"$image->clickUri\">Clicker pour l'image</a>\n";
]]></programlisting>
        </example>
    </sect2>

    <sect2 id="zend.service.flickr.classes">
        <title>Classes de résultats Zend_Service_Flickr</title>

        <para>Les classes suivantes sont toutes retournées par <code>tagSearch()</code> et <code>userSearch()</code> :
        <itemizedlist>
                <listitem>
                    <para><link
                    linkend="zend.service.flickr.classes.resultset"><classname>Zend_Service_Flickr_ResultSet</classname></link></para>
                </listitem>

                <listitem>
                    <para><link
                    linkend="zend.service.flickr.classes.result"><classname>Zend_Service_Flickr_Result</classname></link></para>
                </listitem>

                <listitem>
                    <para><link
                    linkend="zend.service.flickr.classes.image"><classname>Zend_Service_Flickr_Image</classname></link></para>
                </listitem>
            </itemizedlist></para>

        <sect3 id="zend.service.flickr.classes.resultset">
            <title>Zend_Service_Flickr_ResultSet</title>

            <para>Représente le jeu de résultats d'une recherche sur Flickr.</para>

            <note>
                <para>Implémente l'itérateur <code>SeekableIterator</code> (ie en utilisant <code>foreach</code>), ainsi
                qu'un accès direct à un résultat particulier en utilisant <code>seek()</code>.</para>
            </note>

            <sect4 id="zend.service.flickr.classes.resultset.properties">
                <title>Propriétés</title>

                <table id="zend.service.flickr.classes.resultset.properties.table-1">
                    <title>Propriétés Zend_Service_Flickr_ResultSet</title>

                    <tgroup cols="3">
                        <thead>
                            <row>
                                <entry>Nom</entry>

                                <entry>Type</entry>

                                <entry>Description</entry>
                            </row>
                        </thead>

                        <tbody>
                            <row>
                                <entry>totalResultsAvailable</entry>

                                <entry>int</entry>

                                <entry>Nombre total de résultats disponibles</entry>
                            </row>

                            <row>
                                <entry>totalResultsReturned</entry>

                                <entry>int</entry>

                                <entry>Nombre total de résultats retournés</entry>
                            </row>

                            <row>
                                <entry>firstResultPosition</entry>

                                <entry>int</entry>

                                <entry>??? The offset in the total result set of this result set ???</entry>
                            </row>
                        </tbody>
                    </tgroup>
                </table>
            </sect4>

            <sect4 id="zend.service.flickr.classes.resultset.totalResults">
                <title>Zend_Service_Flickr_ResultSet::totalResults()</title>

                <para><methodsynopsis>
                        <type>int</type>

                        <methodname>totalResults</methodname>

                        <void />
                    </methodsynopsis></para>

                <para>Retourne le nombre de totale de résultats dans ce jeu de résultats.</para>

                <para><link linkend="zend.service.flickr.classes">Retour à la liste des classes</link></para>
            </sect4>
        </sect3>

        <sect3 id="zend.service.flickr.classes.result">
            <title>Zend_Service_Flickr_Result</title>

            <para>Un seule image résultant d'une requête sur Flickr.</para>

            <sect4 id="zend.service.flickr.classes.result.properties">
                <title>Propriétés</title>

                <table id="zend.service.flickr.classes.result.properties.table-1">
                    <title>Propriétés Zend_Service_Flickr_Result</title>

                    <tgroup cols="3">
                        <thead>
                            <row>
                                <entry>Nom</entry>

                                <entry>Type</entry>

                                <entry>Description</entry>
                            </row>
                        </thead>

                        <tbody>
                            <row>
                                <entry>id</entry>

                                <entry>string</entry>

                                <entry>Identifiant de l'image</entry>
                            </row>

                            <row>
                                <entry>owner</entry>

                                <entry>string</entry>

                                <entry>Le NSID du propriétaire de la photo.</entry>
                            </row>

                            <row>
                                <entry>secret</entry>

                                <entry>string</entry>

                                <entry>La clé utilisée dans la construction de l'URL.</entry>
                            </row>

                            <row>
                                <entry>server</entry>

                                <entry>string</entry>

                                <entry>Le nom du serveur à utiliser pour construire l'URL.</entry>
                            </row>

                            <row>
                                <entry>title</entry>

                                <entry>string</entry>

                                <entry>Le titre de la photo.</entry>
                            </row>

                            <row>
                                <entry>ispublic</entry>

                                <entry>string</entry>

                                <entry>La photo est publique.</entry>
                            </row>

                            <row>
                                <entry>isfriend</entry>

                                <entry>string</entry>

                                <entry>Vous pouvez voir la photo parce que vous êtes un ami du propriétaire de cette
                                photo.</entry>
                            </row>

                            <row>
                                <entry>isfamily</entry>

                                <entry>string</entry>

                                <entry>Vous pouvez voir la photo parce que vous êtes de la famille du propriétaire de
                                cette photo.</entry>
                            </row>

                            <row>
                                <entry>license</entry>

                                <entry>string</entry>

                                <entry>La licence sous laquelle cette photo est disponible.</entry>
                            </row>

                            <row>
                                <entry>dateupload</entry>

                                <entry>string</entry>

                                <entry>La date à laquelle la photo a été uploadée.</entry>
                            </row>

                            <row>
                                <entry>datetaken</entry>

                                <entry>string</entry>

                                <entry>La date à laquelle la photo a été prise.</entry>
                            </row>

                            <row>
                                <entry>ownername</entry>

                                <entry>string</entry>

                                <entry>Le screenname du propriétaire de la photo.</entry>
                            </row>

                            <row>
                                <entry>iconserver</entry>

                                <entry>string</entry>

                                <entry>Le serveur utilisé pour l'assemblage des ??? icon URLs ???.</entry>
                            </row>

                            <row>
                                <entry>Square</entry>

                                <entry><link
                                linkend="zend.service.flickr.classes.image">Zend_Service_Flickr_Image</link></entry>

                                <entry>Une miniature de l'image au format 75x75 pixels.</entry>
                            </row>

                            <row>
                                <entry>Thumbnail</entry>

                                <entry><link
                                linkend="zend.service.flickr.classes.image">Zend_Service_Flickr_Image</link></entry>

                                <entry>Une miniature de l'image de 100 pixels.</entry>
                            </row>

                            <row>
                                <entry>Small</entry>

                                <entry><link
                                linkend="zend.service.flickr.classes.image">Zend_Service_Flickr_Image</link></entry>

                                <entry>Une version en 240 pixels de l'image.</entry>
                            </row>

                            <row>
                                <entry>Medium</entry>

                                <entry><link
                                linkend="zend.service.flickr.classes.image">Zend_Service_Flickr_Image</link></entry>

                                <entry>Une version en 500 pixel version de l'image.</entry>
                            </row>

                            <row>
                                <entry>Large</entry>

                                <entry><link
                                linkend="zend.service.flickr.classes.image">Zend_Service_Flickr_Image</link></entry>

                                <entry>Une version en 640 pixel version de l'image.</entry>
                            </row>

                            <row>
                                <entry>Original</entry>

                                <entry><link
                                linkend="zend.service.flickr.classes.image">Zend_Service_Flickr_Image</link></entry>

                                <entry>L'image originale.</entry>
                            </row>
                        </tbody>
                    </tgroup>
                </table>

                <para><link linkend="zend.service.flickr.classes">Retour à la liste des classes</link></para>
            </sect4>
        </sect3>

        <sect3 id="zend.service.flickr.classes.image">
            <title>Zend_Service_Flickr_Image</title>

            <para>Représente une image retournée pour une recherche Flickr.</para>

            <sect4 id="zend.service.flickr.classes.image.properties">
                <title>Propriétés</title>

                <table id="zend.service.flickr.classes.image.properties.table-1">
                    <title>Propriétés Zend_Service_Flickr_Image</title>

                    <tgroup cols="3">
                        <thead>
                            <row>
                                <entry>Nom</entry>

                                <entry>Type</entry>

                                <entry>Description</entry>
                            </row>
                        </thead>

                        <tbody>
                            <row>
                                <entry>uri</entry>

                                <entry>string</entry>

                                <entry>URI de l'image originale.</entry>
                            </row>

                            <row>
                                <entry>clickUri</entry>

                                <entry>string</entry>

                                <entry>URI cliquable (ie la page Flickr) de l'image.</entry>
                            </row>

                            <row>
                                <entry>width</entry>

                                <entry>int</entry>

                                <entry>Largeur de l'image.</entry>
                            </row>

                            <row>
                                <entry>height</entry>

                                <entry>int</entry>

                                <entry>Hauteur de l'image.</entry>
                            </row>
                        </tbody>
                    </tgroup>
                </table>

                <para><link linkend="zend.service.flickr.classes">Retour à la liste des classes</link></para>
            </sect4>
        </sect3>
    </sect2>
</sect1>