<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<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 <acronym>API</acronym> 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 <methodname>tagSearch()</methodname>
            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 language="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>
                <methodname>tagSearch()</methodname> 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>
                    <methodname>userSearch()</methodname>: 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>
                    <methodname>getIdByUsername()</methodname>: Retourne l'identifiant utilisateur,
                    correspondant à son nom d'utilisateur.
                </para>
            </listitem>

            <listitem>
                <para>
                    <methodname>getIdByEmail()</methodname>: 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
                <methodname>userSearch()</methodname> :
            </para>

            <programlisting language="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
            <methodname>groupPoolGetPhotos()</methodname> :
        </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 language="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>
                <methodname>groupPoolGetPhotos()</methodname> 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
            <methodname>getImageDetails()</methodname>, 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 language="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 <methodname>tagSearch()</methodname> et
            <methodname>userSearch()</methodname> : <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 <methodname>seek()</methodname>.
                </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 <acronym>NSID</acronym> 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 <constant>URLs</constant>
                                ???.</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>