SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

288 Plugins, 197 contribs sur SPIP-Zone, 172 visiteurs en ce moment

Accueil > Outils pour plugins > Itérateurs > Booksearch > Plugin Booksearch

Plugin Booksearch

29 décembre 2010 – par Fil – 13 commentaires

12 votes

Ce plugin a vocation à servir de passerelle avec les webservices s’intéressant aux livres.

Interface avec Amazon

Le plugin intègre la librairie « Amazon ECS Class », qui sait récupérer des informations de produits sur l’API « Product Advertising » d’Amazon (qui auparavant s’appelait ECS).

En clair, il offre une fonction qui permet, à partir d’un titre ou d’un auteur, de retrouver toutes les données des livres correspondants : éditeur, date de publication, image de couverture, nombre de pages, etc. Cette fonction peut être utilisée directement en PHP.

Cette fonction sert également de format pour la boucle (DATA) (nécessite une version de SPIP supportant les itérateurs), ce qui permet de faire par exemple une boucle sur les livres traitant de SPIP, et d’afficher leur titre et leur couverture :

<BOUCLE_books(DATA) {source booksearch, "SPIP"}
{Publisher!=Books LLC}
>
[<h1>(#VALEUR{Title}|typo)</h1>]
[<h2>(#VALEUR{Author}|print|typo)</h2>]
[<h3>(#VALEUR{Publisher}|print|typo)</h3>]
[<dt>ISBN</dt>
<dd>(#VALEUR{ASIN})</dd>]
[<dt>Pages</dt>
<dd>(#VALEUR{NumberOfPages})</dd>]
[<dt>Prix</dt>
<dd>(#VALEUR{ListPrice/FormattedPrice})</dd>]
[<dt>Publié :</dt>
<dd>(#VALEUR{PublicationDate}|affdate)</dd>]
[<dt>Langue</dt><dd>(#VALEUR{Languages/Language/0/Name})</dd>]
[<img src="(#VALEUR{MediumImage/URL})" height="[(#VALEUR{MediumImage/Height/_})]" width="[(#VALEUR{MediumImage/Width/_})]" />
]
<hr />
</BOUCLE_books>

et d’afficher ainsi les livres concernés. Si vous regardez attentivement la définition de la boucle, elle indique le mot-clé demandé « SPIP », et exclut des résultats « Books LLC », un éditeur spammeur.

Le tri n’est pas précisé, Amazon se chargeant de nous livrer les résultats « par pertinence ». Mais on pourrait par exemple trier ceux-ci par prix ou par date de publication.

Interface avec Google Books

L’API de Google Books permet de faire une recherche dans les livres, mais le format de retour est exclusivement JSON ; pour effectuer une veille permanente sur un terme donné, ce plugin contient un squelette qui emploie l’API JSON avec une boucle DATA, et retourne le résultat au format RSS.

Voici par exemple ce que donne la recherche sur « le gué du loir » dans le logiciel Reeder.

L’URL du flux est ?page=googlebooks.rss&q=TERMES+de+RECHERCHE.

Voir en ligne : http://plugins.spip.net/booksearch

Dernière modification de cette page le 11 juin 2012

Retour en haut de la page

Vos commentaires

  • Le 13 mai 2011 à 23:05, par bruno31 En réponse à : Plugin Booksearch

    Bonjour

    Savez-vous si il est possible d’ajouter des liens d’affilié pour chaque produit ?

    • Le 19 mai 2011 à 19:03, par bruno31 En réponse à : Plugin Booksearch

      Je me réponds à moi-même et je donne la solution :

      1. #VALEUR{DetailPageURL}

      Par ailleurs la BDD Amazon fournit des tas d’autres renseignements. Pour afficher les champs dispo, j’ai simplement ajouté momentanément un print_r du résultat envoyé par Amazon, dans le fichier /inc/booksearch_to_array.php :

      1. $response = $amazonEcs
      2. ->responseGroup('Large')
      3. ->category('Books')
      4. ->search($u);
      5.  
      6. // on se limite a la premiere page de resultats
      7. $u = @$response['Items']['Item'];
      8. print_r($u);

      Télécharger

    Répondre à ce message

  • Le 13 janvier 2011 à 12:16, par J-Ph Guihard En réponse à : Plugin Booksearch

    Tu nous dis que l’on peut trier les résultats, mais je n’y arrive pas. Aurais tu un exemple de syntaxe pour trier par date de publication. j’ai bien essayé un par PublicationDate mais sans succès.

    J’ai modifié aussi un petit bout du code dans ton fichier pour ajouter l’affichage d’une couv générique et ajouter le tag alt.

    <!-- Test la presence d une couverture renvoyee par amazon, sinon, affiche une couv generique -->
    [(#SET{image,[(#VALEUR{MediumImage/URL} |sinon{#CHEMIN{images/couv-generique.png}} )]})]
    [<img src="(#GET{image})" alt="[(#VALEUR{Author}|print|typo)] : [(#VALEUR{Title}|typo)]" height="[(#VALEUR{MediumImage/Height/_})]" width="[(#VALEUR{MediumImage/Width/_})]" />]

    Répondre à ce message

  • Le 30 décembre 2010 à 14:55, par claudeD En réponse à : Plugin Booksearch

    bonjour,

    spip 2.1.5 ce plugin et plugin iterateurs ; j’ai copié-collé la boucle de l’exemple pour tester, rien même en désactivant les autres plugins et en vidant le cache

    quel est l’oubli ?

    • Le 30 décembre 2010 à 15:06, par claudeD En réponse à : Plugin Booksearch

      ah, est-ce l’histoire de la clé AWS Amazon ?

      sinon l’article ne signale pas la dépendance (?) à iterateurs

    • Le 30 décembre 2010 à 16:07, par Fil En réponse à : Plugin Booksearch

      En l’absence de clé AWS, le plugin est censé provoquer une erreur pour le webmestre si tu fais var_mode=recalcul ; mais en effet suite à un bricolage j’avais masqué cette erreur ; je corrige.

      Concernant itérateurs, l’article mentionne la boucle (DATA) ; mais je vais être plus explicite.

    • Le 30 décembre 2010 à 17:40, par claudeD En réponse à : Plugin Booksearch

      mince,
      j’ai bien (?) rempli

      $this->requestConfig['A....R']     = $accessKey;
         $this->requestConfig['R...b']     = $secretKey;
         $this->requestConfig['associateTag']  = $associateTag;
         $this->responseConfig['FRANCE']      = $country;

      dans booksearch/lib/AmazonECS.class.php ; toujours le message d’erreur : « [SPIP, booksearch] The AWS Access Key Id you provided does not exist in our records. » Je ne comprends pas l’associateTag demandé.

    • Le 30 décembre 2010 à 20:48, par Fil En réponse à : Plugin Booksearch

      Le réglage de la clé se fait dans config/mes_options.php :

      # Amazon API KEY, pour le plugin booksearch
      define('AWS_API_KEY', '28JZRT9KFAGT9K1D39G2');
      define('AWS_API_SECRET_KEY', 'RuNnWsSDcjejFsCC4R1hFeTLG75B+WzDNKa42fXW');

      (Une prochaine évolution du plugin pourrait être d’ajouter un CFG pour indiquer cette clé plus simplement.)

    • Le 30 décembre 2010 à 20:58, par claudeD En réponse à : Plugin Booksearch

      ok, ce coup-ci mes codes fonctionnent ; c’est impressionnant

      merci

    • Le 11 janvier 2011 à 11:51, par J-Ph Guihard En réponse à : Plugin Booksearch

      Je viens de faire un essai en copiant-colant le réglage de la clé dans config/mes_options.php et appelant la page iter_booksearch.html et j’ai toujours l’erreur [SPIP, booksearch] The AWS Access Key Id you provided does not exist in our records.

    • Le 11 janvier 2011 à 21:47, par Fil En réponse à : Plugin Booksearch

      si tu as copié-collé l’identifiant que j’ai mis ci-dessus c’est normal car ce n’est pas le vrai ; il faut que tu en demandes un à toi sur le site d’AWS.

    • Le 12 janvier 2011 à 08:51, par J-Ph Guihard En réponse à : Plugin Booksearch

      Effectivement, cela fonctionne maintenant. Encore un petit truc à ajouter à la doc ;-)

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • La Fabrique

    20 avril 2012 – 315 commentaires

    La Fabrique est un outil pour webmestres ou développeurs qui souhaitent créer des plugins. La Fabrique est capable de générer le code source minimal d’un plugin pour SPIP 3 (elle accélère donc le démarrage d’un plugin) et peut s’occuper également de (...)

  • Formulaire upload

    25 septembre 2012 – 34 commentaires

    Ce plugin permet d’uploader des documents depuis l’espace public Objectifs Ce plugin permet d’ajouter un formulaire dans l’espace public pour uploader et gérer des fichiers. A priori, il peut se greffer sur tous types objets SPIP : articles, (...)

  • Publier archivelist.txt via svn/terminal

    10 août 2009 – 11 commentaires

    Objectif : mettre à jour l’index archivelist.txt Environnement : commandes svn via terminal Si vous désirez voir publié dans la zone la version paquet de votre contribution, il faut ajouter la ligne nécessaire dans le fichier archivelist.txt. (...)

  • Plugin Logo SVG : pouvoir utiliser des logos SVG

    17 octobre 2016 – 10 commentaires

    Le SVG est un format vectoriel donc très léger et redimensionnable sans pertes, mais SPIP ne l’acceptait pas sur les logos. Ce plugin comble ce manque. Comment ça fonctionne ? Vous installez ce plugin, vous l’activez, et c’est tout. Crédits Une (...)

  • Refonte de l’identité graphique

    10 juillet – 31 commentaires

    Lors de la SPIP Party 2017 à Toulouse, un nouveau contributeur est venu nous présenter son travail sur une refonte du logo. Au delà de la refonte du logo, c’est une toute nouvelle identité graphique pour SPIP que Jordan nous propose. Voici une (...)

Ça spipe par là