Zend_Service_Simpy.xml 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288
  1. <!-- EN-Revision: 11089 -->
  2. <sect1 id="zend.service.simpy">
  3. <title>Zend_Service_Simpy</title>
  4. <sect2 id="zend.service.simpy.introduction">
  5. <title>Introduction</title>
  6. <para><classname>Zend_Service_Simpy</classname> permet l'interaction avec les services Web du réseau social de partage de
  7. 'marque-pages' (de 'favoris', de 'liens') Simpy.</para>
  8. <para>Pour utiliser <classname>Zend_Service_Simpy</classname>, vous devez posséder un compte. Pour ceci, voyez <ulink
  9. url="http://simpy.com">le site Web de Simpy</ulink>. Pour plus d'informations sur l'API REST de Simpy, voyez
  10. <ulink url="http://www.simpy.com/doc/api/rest">sa documentation </ulink>.</para>
  11. <para>Les sections qui suivent vont vous indiquer les éléments sur lesquels vous pouvez agir en utilisant l'API
  12. de Simpy, via <classname>Zend_Service_Simpy</classname>. <itemizedlist>
  13. <listitem>
  14. <para>Liens: Créer, requêter, mettre à jour, supprimer</para>
  15. </listitem>
  16. <listitem>
  17. <para>Mots-clés: requêter, supprimer, renommer, fusionner, éclater</para>
  18. </listitem>
  19. <listitem>
  20. <para>Notes: Créer, requêter, mettre à jour, supprimer</para>
  21. </listitem>
  22. <listitem>
  23. <para>Listes: récupérer, récupérer tout</para>
  24. </listitem>
  25. </itemizedlist></para>
  26. </sect2>
  27. <sect2 id="zend.service.simpy.links">
  28. <title>Liens</title>
  29. <para>Lors d'interactions avec les liens, ceux-ci sont retournées dans l'ordre descendant par date d'ajout. Vous
  30. pouvez les chercher par titre, auteur, mots-clés, notes ou même via le contenu de leur page. Vous pouvez
  31. chercher selon tous ces critères avec des phrases, des booléens ou des jokers. Voyez la <ulink
  32. url="http://www.simpy.com/faq#searchSyntax">syntaxe de recherche</ulink> et <ulink
  33. url="http://www.simpy.com/faq#searchFieldsLinks">les champs de recherche</ulink> depuis la FAQ de Simpy, pour
  34. plus d'informations.</para>
  35. <example id="zend.service.simpy.links.querying">
  36. <title>Requêter des liens</title>
  37. <programlisting role="php"><![CDATA[
  38. $simpy = new Zend_Service_Simpy('yourusername', 'yourpassword');
  39. /* Recherche les 10 liens les plus récents */
  40. $linkQuery = new Zend_Service_Simpy_LinkQuery();
  41. $linkQuery->setLimit(10);
  42. /* Récupère et affiche les liens */
  43. $linkSet = $simpy->getLinks($linkQuery);
  44. foreach ($linkSet as $link) {
  45. echo '<a href="';
  46. echo $link->getUrl();
  47. echo '">';
  48. echo $link->getTitle();
  49. echo '</a><br />';
  50. }
  51. /* Recherche les 5 derniers liens ajoutés,
  52. contenant 'PHP' dans leur titre */
  53. $linkQuery->setQueryString('title:PHP');
  54. $linkQuery->setLimit(5);
  55. /* Cherche tous les liens avec le mot 'French' dans le titre
  56. et le mot-clé 'language' */
  57. $linkQuery->setQueryString('+title:French +tags:language');
  58. /* Cherche tous les liens avec le mot 'French' dans le titre
  59. et pas le mot-clé 'travel' */
  60. $linkQuery->setQueryString('+title:French -tags:travel');
  61. /* Cherche tous les liens ajoutés le 9/12/06 */
  62. $linkQuery->setDate('2006-12-09');
  63. /* Cherche tous les liens ajoutés après le 9/12/06 (exclu)*/
  64. $linkQuery->setAfterDate('2006-12-09');
  65. /* Cherche tous les liens ajoutés avant le 9/12/06 (exclu)*/
  66. $linkQuery->setBeforeDate('2006-12-09');
  67. /* Cherche tous les liens ajoutés entre le 1/12/06 et le 9/12/06 (exclues) */
  68. $linkQuery->setBeforeDate('2006-12-01');
  69. $linkQuery->setAfterDate('2006-12-09');
  70. ]]></programlisting>
  71. </example>
  72. <para>Les liens sont représentés de manière unique par leur URL. Ainsi tenter de sauvegarder un lien ayant le
  73. même URL qu'un lien existant va l'écraser.</para>
  74. <example id="zend.service.simpy.links.modifying">
  75. <title>Modifier des liens</title>
  76. <programlisting role="php"><![CDATA[
  77. $simpy = new Zend_Service_Simpy('yourusername', 'yourpassword');
  78. /* Sauvegarde un lien */
  79. $simpy->saveLink(
  80. 'Zend Framework' // Title
  81. 'http://framework.zend.com', // URL
  82. Zend_Service_Simpy_Link::ACCESSTYPE_PUBLIC, // Access Type
  83. 'zend, framework, php' // Tags
  84. 'Zend Framework home page' // Alternative title
  85. 'This site rocks!' // Note
  86. );
  87. /* Ecrase le lien avec les nouvelles données */
  88. $simpy->saveLink(
  89. 'Zend Framework'
  90. 'http://framework.zend.com',
  91. Zend_Service_Simpy_Link::ACCESSTYPE_PRIVATE, // Access Type has changed
  92. 'php, zend, framework' // Tags have changed order
  93. 'Zend Framework' // Alternative title has changed
  94. 'This site REALLY rocks!' // Note has changed
  95. );
  96. /* Effacement du lien */
  97. $simpy->deleteLink('http://framework.zend.com');
  98. /* Effacement de plusieurs liens */
  99. $linkSet = $this->_simpy->getLinks();
  100. foreach ($linkSet as $link) {
  101. $this->_simpy->deleteLink($link->getUrl());
  102. }
  103. ]]></programlisting>
  104. </example>
  105. </sect2>
  106. <sect2 id="zend.service.simpy.tags">
  107. <title>Mots-clés</title>
  108. <para>Les mots-clés sont récupérés dans l'ordre descendant, par le nombre de liens utilisant le mot-clé.</para>
  109. <example id="zend.service.simpy.tags.working">
  110. <title>Travailler avec les mots-clés</title>
  111. <programlisting role="php"><![CDATA[
  112. $simpy = new Zend_Service_Simpy('yourusername', 'yourpassword');
  113. /* Sauvegarde d'un lien avec des mots-clés */
  114. $simpy->saveLink(
  115. 'Zend Framework' // Title
  116. 'http://framework.zend.com', // URL
  117. Zend_Service_Simpy_Link::ACCESSTYPE_PUBLIC, // Access Type
  118. 'zend, framework, php' // Tags
  119. );
  120. /* Récupère la liste de tous les mots-clés utilisés par les liens
  121. et les notes */
  122. $tagSet = $simpy->getTags();
  123. /* Affiche chaque mot-clé avec le nombre de liens les utilisant */
  124. foreach ($tagSet as $tag) {
  125. echo $tag->getTag();
  126. echo ' - ';
  127. echo $tag->getCount();
  128. echo '<br />';
  129. }
  130. /* Efface le mot-clé 'zend' de tous les liens l'utilisant */
  131. $simpy->removeTag('zend');
  132. /* Renome le mot-clé 'framework' vers 'frameworks' */
  133. $simpy->renameTag('framework', 'frameworks');
  134. /* Eclate le mot-clé 'frameworks' en 'framework' et 'development',
  135. ce qui va effacer le mot-clé 'frameworks' et ajouter les mots-clés
  136. 'framework' et 'development' pour tous les liens l'utilisant
  137. anciennement */
  138. $simpy->splitTag('frameworks', 'framework', 'development');
  139. /* Cette opération de fusion est l'opposé de l'opération ci-dessus */
  140. $simpy->mergeTags('framework', 'development', 'frameworks');
  141. ]]></programlisting>
  142. </example>
  143. </sect2>
  144. <sect2 id="zend.service.simpy.notes">
  145. <title>Notes</title>
  146. <para>Les notes peuvent être sauvées, récupérées, effacées. Elles possèdent un identifiant numérique
  147. unique.</para>
  148. <example id="zend.service.simpy.notes.working">
  149. <title>Travailler avec les notes</title>
  150. <programlisting role="php"><![CDATA[
  151. $simpy = new Zend_Service_Simpy('yourusername', 'yourpassword');
  152. /* Sauvegarde une note */
  153. $simpy->saveNote(
  154. 'Test Note', // Title
  155. 'test,note', // Tags
  156. 'This is a test note.' // Description
  157. );
  158. /* Ecrase une note existante */
  159. $simpy->saveNote(
  160. 'Updated Test Note', // Title
  161. 'test,note,updated', // Tags
  162. 'This is an updated test note.', // Description
  163. $note->getId() // Unique identifier
  164. );
  165. /* Recherche les 10 notes les plus récentes */
  166. $noteSet = $simpy->getNotes(null, 10);
  167. /* Affiche ces notes */
  168. foreach ($noteSet as $note) {
  169. echo '<p>';
  170. echo $note->getTitle();
  171. echo '<br />';
  172. echo $note->getDescription();
  173. echo '<br >';
  174. echo $note->getTags();
  175. echo '</p>';
  176. }
  177. /* Cherche les notes avec le mot 'PHP' dans leur titre */
  178. $noteSet = $simpy->getNotes('title:PHP');
  179. /* Cherche les notes avec le mot 'PHP' dans leur titre et pas le mot
  180. 'framework' dans leur description */
  181. $noteSet = $simpy->getNotes('+title:PHP -description:framework');
  182. /* Efface une note */
  183. $simpy->deleteNote($note->getId());
  184. ]]></programlisting>
  185. </example>
  186. </sect2>
  187. <sect2 id="zend.service.simpy.watchlists">
  188. <title>Listes de surveillance</title>
  189. <para>Les listes de surveillance ne peuvent qu'être requêtées via l'API Simpy. Vous devez donc vous assurer
  190. qu'elles sont correctement créées, depuis le site Web de Simpy, il n'est pas possible de les créer ou les
  191. supprimer depuis l'API.</para>
  192. <example id="zend.service.simpy.watchlists.retrieving">
  193. <title>Récupérer des listes de surveillance</title>
  194. <programlisting role="php"><![CDATA[
  195. $simpy = new Zend_Service_Simpy('yourusername', 'yourpassword');
  196. /* Récupérer une liste de listes de surveillance */
  197. $watchlistSet = $simpy->getWatchlists();
  198. /* Affiche les données de chaque liste */
  199. foreach ($watchlistSet as $watchlist) {
  200. echo $watchlist->getId();
  201. echo '<br />';
  202. echo $watchlist->getName();
  203. echo '<br />';
  204. echo $watchlist->getDescription();
  205. echo '<br />';
  206. echo $watchlist->getAddDate();
  207. echo '<br />';
  208. echo $watchlist->getNewLinks();
  209. echo '<br />';
  210. foreach ($watchlist->getUsers() as $user) {
  211. echo $user;
  212. echo '<br />';
  213. }
  214. foreach ($watchlist->getFilters() as $filter) {
  215. echo $filter->getName();
  216. echo '<br />';
  217. echo $filter->getQuery();
  218. echo '<br />';
  219. }
  220. }
  221. /* Récupère une liste de surveillance par son identifiant */
  222. $watchlist = $simpy->getWatchlist($watchlist->getId());
  223. $watchlist = $simpy->getWatchlist(1);
  224. ]]></programlisting>
  225. </example>
  226. </sect2>
  227. </sect1>
  228. <!--
  229. vim:se ts=4 sw=4 et:
  230. -->