Voici un exemple de recherche sur Fotolia via le composant Zend_XmlRpc_Client du Zend Framework.
require_once 'Zend/Loader.php';

Zend_Loader::registerAutoload();
$client = new Zend_XmlRpc_Client('http://www.fotolia.com/Xmlrpc/rpc');

// on récupère l'objet correspondant à l'espace de noms 'system'
$system = $client->getProxy('system');

// on affiche la liste des méthodes supportées par le serveur
echo "Méthodes disponibles :\n";
print_r($system->listMethods());

// on affiche l'aide xml-rpc de la méthode search.getSearchResults
echo "Aide du serveur :\n";
echo $system->methodHelp('search.getSearchResults');

// clé API fotolia
$api_key = 'ma clé api fotolia';

// on récupère l'objet correspondant à l'espace de noms 'search'
$search = $client->getProxy('search');

// on recherche toutes les photos de bulldog anglais sur le site US
$results = $search->getSearchResults($api_key,
array('words' => 'bulldog anglais'));

// on recherche toutes les photos de bulldog anglais sur le site français
$results = $search->getSearchResults($api_key,
array('words' => 'bulldog anglais',
'language_id' => 1));

// on recherche les 10 première photos de bulldog anglais sur le site français
$results = $search->getSearchResults($api_key,
array('words' => 'bulldog anglais',
'language_id' => 1,
'limit' => 10));

// on affiche les résultats de la recherche
foreach ($results as $result) {
echo 'Photo #' . $result['id'] . "\\n";
echo 'Titre : ' . $result['title'] . "\\n";
echo 'Auteur : ' . $result['creator_name'] . "\\n";
echo 'Miniature de la photo : ' . $result['thumbnail_url'] . "\\n";
echo 'Tag html à utiliser : ' . $result['thumbnail_html_tag'] . "\\n";
echo "\\n";
}
Exemple de requête nécessitant une identification préalable :
require_once 'Zend/Loader.php';

Zend_Loader::registerAutoload();

// on utilise un client http avec le support des cookies activé
$http_client = new Zend_Http_Client();
$http_client->setCookieJar();
$client = new Zend_XmlRpc_Client('http://www.fotolia.com/Xmlrpc/rpc',
$http_client);

// clé API fotolia
$api_key = 'ma clé api fotolia';

// on récupère l'objet correspondant à l'espace de noms 'user'
$user = $client->getProxy('user');

// on s'identifie
$res = $user->loginUser($api_key, 'identifiant', 'mot de passe');
$sess_id = $res['session_id'];

// on récupère les statistiques du compte
$stats = $user->getUserStats($api_key, $sess_id);

echo 'Nombre de médias envoyés : ' . $stats['nb_media_uploaded'] . "\\n";
echo 'Nombre de médias validés : ' . $stats['nb_media_accepted'] . "\\n";
echo 'Nombre de médias achetés : ' . $stats['nb_media_purchased'] . "\\n";
echo 'Nombre de médias vendus : ' . $stats['nb_media_sold'] . "\\n";
echo 'Classement du compte : ' . $stats['ranking_absolute'] . "\\n";
echo 'Classement du compte sur les 7 derniers jours : ' . $stats['ranking_relative'] . "\\n";
Comme vous le voyez, il est très simple d'accéder à toute la puissance de Fotolia grâce au Zend Framework !