1

Afficher les messages Twitter qui pointent vers un site

7 février 2010
par ARNO*

[Niveau : facile] Il est désormais assez fréquent pour un webmestre d’afficher sur son site Web les derniers messages qu’il a posté sur Twitter (le compte Twitter qui, donc, « complète » son site Web). Je vous expliquais il y a quelques semaines que c’était très facile à réaliser avec les flux RSS de SPIP.

Maintenant, ce même webmestre voudrait afficher non pas les messages de son propre compte Twitter, mais tous les messages postés par n’importe qui sur Twitter et qui parlent de son site. Un pavé du style : « On cause de nous sur Twitter ».

On a ici deux difficultés :
— Twitter ne livre pas (à ma connaissance) de flux RSS portant sur une recherche, ce qui fait qu’on ne peut pas synchroniser son site avec un tel flux RSS ;
— surtout, on ne peut pas rechercher de liens vers son propre site dans Twitter en cherchant directement l’URL du site, parce que la plupart des messages utilisent des adresse raccourcies (de type bit.ly, ow.ly, etc.).

Il existe cependant un service gratuit qui résout ces difficultés : Backtweets.

Il suffit que j’indique l’URL de mon site dans le champ de recherche :

et j’obtiens immédiatement les derniers messages qui concernent mon site, même lorsque ces messages sont codées sous forme d’URL raccourcies :

Déjà, rien que pour savoir qui pointe vers vous sur Twitter, effectuer cette recherche manuelle est fort pratique. Il y a même la possibilité de se faire envoyer un mail automatiquement chaque fois qu’un nouveau message parle de votre site.

Mais le service qui nous intéresse ici, c’est la possibilité de récupérer un flux RSS de cette recherche. En haut de la liste des résultats, il y a un bouton « RSS » :

Et voilà, j’ai donc un flux RSS qui contient les derniers messages qui pointent vers mon site. Je recopie l’adresse de ce flux, ce qui donne dans mon cas :

Je vais donc dans l’interface privée de mon site sous SPIP, et je fabrique un nouveau « site syndiqué », selon la procédure habituelle (pour ceux qui n’ont pas l’habitude, c’est expliqué dans cet article.

Dans le même article, je vous donnais le code qui permettait de compléter sommaire.html pour afficher des flux tirés de Twitter. Complétons ce code pour afficher, de manière séparée, mon nouveau flux :

  1.                 <B_source_backtweet>
  2.                 <div class="menu">
  3.                 <h2>On parle de nous sur Twitter</h2>
  4.                 <BOUCLE_source_backtweet(SITES){url_syndic==^http://backtweets\.com}>
  5.                         <B_backtweets>
  6.                         <ul>
  7.                         <BOUCLE_backtweets(SYNDIC_ARTICLES) {id_syndic} >
  8.                         <li>
  9.                                 <a href="#URL_ARTICLE">#LESAUTEURS</a> &ndash;
  10.                                 [(#DESCRIPTIF|propre|ptobr)]
  11.                         </li>
  12.                         </BOUCLE_backtweets>
  13.                         </ul>
  14.                         </B_backtweets>
  15.                 </BOUCLE_source_backtweet>
  16.                 </div>
  17.                 </B_source_backtweet>

Télécharger

Le code complet devient :

  1.                 <B_source_backtweet>
  2.                 <div class="menu">
  3.                 <h2>On parle de nous sur Twitter</h2>
  4.                 <BOUCLE_source_backtweet(SITES){url_syndic==^http://backtweets\.com}>
  5.                         <B_backtweets>
  6.                         <ul>
  7.                         <BOUCLE_backtweets(SYNDIC_ARTICLES) {id_syndic} >
  8.                         <li>
  9.                                 <a href="#URL_ARTICLE">#LESAUTEURS</a> &ndash;
  10.                                 [(#DESCRIPTIF|propre|ptobr)]
  11.                         </li>
  12.                         </BOUCLE_backtweets>
  13.                         </ul>
  14.                         </B_backtweets>
  15.                 </BOUCLE_source_backtweet>
  16.                 </div>
  17.                 </B_source_backtweet>
  18.                
  19.  
  20.                 <B_twitter>
  21.                 <div class="menu">
  22.                 <h2>Sur Twitter</h2>
  23.                 <ul>
  24.                 <BOUCLE_twitter(SYNDIC_ARTICLES) {age<180} {par date}{inverse} {0,6} {url==^http://twitter\.com}>
  25.                 <li>
  26.                         <a href="#URL_ARTICLE">#NOM_SITE</a> &ndash;
  27.                         [(#TITRE|replace{^.*\:}|propre|ptobr)]
  28.                 </li>
  29.                 </BOUCLE_twitter>
  30.                 </ul>
  31.                 </div>
  32.                 </B_twitter>
  33.                
  34.                
  35.                 [(#REM) Sur le Web ]
  36.                 <B_syndic>
  37.                 <div class="menu">
  38.                         <h2><:nouveautes_web:></h2>
  39.                         <ul>
  40.                                 <BOUCLE_syndic(SYNDIC_ARTICLES) {age<180} {par date}{inverse} {0,6} {url!==^http://twitter\.com}>
  41.                                 <li>[(#DATE|affdate_jourcourt) &ndash; ]<a href="#URL_ARTICLE"[ title="(#NOM_SITE|attribut_html|couper{80})"] class="spip_out">#TITRE</a></li>
  42.                                 </BOUCLE_syndic>
  43.                         </ul>
  44.                 </div>
  45.                 </B_syndic>    

Télécharger

Ce qui donne sur la page d’accueil du site :

Qui êtes-vous ?
Votre message

Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.