Zend_Service_Simpy.xml 10.0 KB

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