Zend_Service_ShortUrl

Zend_Service_SlideShare

Le composant Zend_Service_SlideShare est utilisé dans l'interaction avec les services Web de » slideshare.net, plate-forme servant d'hébergement de diaporamas. Grâce à ce composant, vous pouvez intégrer des diaporamas de Slideshare, dans votre propre site Web, ou même uploader des nouveaux diaporamas sur votre compte Slideshare, depuis votre site Web.

Démarrage avec Zend_Service_SlideShare

Pour utiliser Zend_Service_SlideShare, vous devez créer au préalable un compte sur slideshare.net (plus d'informations à ce sujet » ici), afin de recevoir votre clé d'API et votre login / mot de passe, indispensables pour utiliser le service Web.

Une fois votre compte créé, vous pouvez utiliser Zend_Service_SlideShare en créant une instance de Zend_Service_SlideShare en lui passant vos identifiants :

  1. // Crée une instance du composant
  2. 'APIKEY',
  3.                                   'SHAREDSECRET',
  4.                                   'USERNAME',
  5.                                   'PASSWORD');

L'objet SlideShow

Chaque diaporama issu de Zend_Service_SlideShare est matérialisé par un objet Zend_Service_SlideShare_SlideShow (que ce soit pour uploader ou récupérer des diaporamas). Pour information, voici un pseudo code de cette classe :

  1. span style="color: #808080; font-style: italic;">/**
  2.      * Récupère l'emplacement du diaporama
  3.      *//**
  4.      * Récupère la transcription du diaporama
  5.      *//**
  6.      * Associe un mot-clé au diaporama
  7.      *//**
  8.      * Associe des mots-clés au diaporama
  9.      *//**
  10.      * Récupère tous les mots-clés associés au diaporama
  11.      *//**
  12.      * Règle le nom de fichier du diaporama dans le système
  13.      * de fichiers local (pour l'upload d'un nouveau diaporama)
  14.      *//**
  15.      * Rècupère le nom de fichier du diaporama dans le système
  16.      * de fichiers local qui sera uploadé
  17.      *//**
  18.      * Récupère l'ID du diaporama
  19.      *//**
  20.      * Récupère le code HTML utilisé pour la projection du diaporama
  21.      *//**
  22.      * Récupère l'URI de la vignette du diaporama
  23.      *//**
  24.      * Règle le titre du diaporama
  25.      *//**
  26.      * Récupère le titre du diaporama
  27.      *//**
  28.      * Régle la description du diaporama
  29.      *//**
  30.      * Récupère la description du diaporama
  31.      *//**
  32.      * Récupère le statut (numérique) du diaporama sur le serveur
  33.      *//**
  34.      * Récupère la description textuelle du statut du diaporama
  35.      * sur le serveur
  36.      *//**
  37.      * Récupère le lien permanent du diaporama
  38.      *//**
  39.      * Récupère le nombre de diapositives que le diaporama comprend
  40.      */

Note: La classe présentée ci dessus ne montre que les méthodes qui sont sensées être utilisées par les développeurs. D'autres méthodes internes au composant existent.

Lors de l'utilisation de Zend_Service_SlideShare, la classe de données Slideshow sera souvent utilisée pour parcourir, ajouter, ou modifier des diaporamas.

Récupérer un diaporama simplement

La manière la plus simple d'utiliser Zend_Service_SlideShare est la récupération d'un diaporama depuis son ID, fournit par le service slideshare.net, ceci est effectué via la méthode getSlideShow() de l'objet Zend_Service_SlideShare. Le résultat de cette méthode est un objet de type Zend_Service_SlideShare_SlideShow.

  1. // Création d'une instance du composant
  2. 'APIKEY',
  3.                                   'SHAREDSECRET',
  4.                                   'USERNAME',
  5.                                   'PASSWORD'"Titre du diaporama : {$slideshow->getTitle()}<br/>\n""Nombre de diapositives : {$slideshow->getNumViews()}<br/>\n";

Récupérer des groupes de diaporamas

Si vous ne connaissez pas l'ID spécifique d'un diaporama vous intéressant, il est possible de récupérer des groupes de diaporamas, en utilisant une de ces trois méthodes :

  • Diaporamas depuis un compte spécifique

    La méthode getSlideShowsByUsername() va retourner tous les diaporamas depuis un compte utilisateur.

  • Diaporamas contenant des tags spécifiques

    La méthode getSlideShowsByTag va retourner un ensemble de diaporamas comportant certains tags (mots-clés).

  • Diaporamas depuis un groupe

    La méthode getSlideShowsByGroup récupère tous les diaporamas d'un groupe donné.

Voici un exemple utilisant les méthodes décrites ci-dessus :

  1. // Crée une nouvelle instance du composant
  2. 'APIKEY',
  3.                                   'SHAREDSECRET',
  4.                                   'USERNAME',
  5.                                   'PASSWORD'// Récupère les 10 premiers de chaque type
  6. 'username''zend''mygroup'// Itère sur les diaporamas
  7. "Titre du diaporama : {$slideshow->getTitle}<br/>\n";
  8. }

Politique de cache de Zend_Service_SlideShare

Par défaut, Zend_Service_SlideShare va mettre en cache toute requête concernant le service Web, dans le système de fichier (par défaut : /tmp), ceci pour une durée de 12 heures. Si vous voulez changer ce comportement, vous devez passer votre propre objet Zend_Cache en utilisant la méthode setCacheObject :

  1. span style="color: #ff0000;">'lifetime' => 7200,
  2.                         'automatic_serialization''cache_dir' => '/webtmp/''Core',
  3.                              'File''APIKEY',
  4.                                   'SHAREDSECRET',
  5.                                   'USERNAME',
  6.                                   'PASSWORD''username'

Changer le comportement du client HTTP

Si pour une raison quelconque vous souhaitez changer le comportement de l'objet client HTTP utilisé pour interroger le service Web, vous pouvez créer votre propre instance de Zend_Http_Client (voyez Zend_Http). Ceci peut être utile par exemple pour spécifier un timeout ou toute autre chose :

  1. span style="color: #ff0000;">'timeout''APIKEY',
  2.                                   'SHAREDSECRET',
  3.                                   'USERNAME',
  4.                                   'PASSWORD''username'

Zend_Service_ShortUrl