Zend_Service_Simpy.xml 9.6 KB

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