SPIP-Contrib

SPIP-Contrib

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

286 Plugins, 197 contribs sur SPIP-Zone, 743 visiteurs en ce moment

Accueil > Interactivité, échanges > Recommandation Sociale > Microblogage > Twitter > Twitter

Twitter

17 juin 2013 – par Cerdic, cy_altern, Fil, kent1, [id-pop] – 77 commentaires

22 votes

Un plugin qui facilite l’intégration de Twitter dans un site SPIP et permet :

  • d’envoyer facilement des messages avec un ou plusieurs comptes Twitter
  • d’afficher des Widgets standards dans le site public (qui respectent la vie privée des visiteurs)
  • d’utiliser les données de Twitter avec une boucle (DATA)

Le plugin fait office de proxy afin qu’aucune requête ne soit faite par vos visiteurs vers Twitter et éviter tout traçage possible de leur activité (préservation de leur vie personnelle).

Ce plugin intègre les 2 plugins Microblog (dont seule la partie Twitter était encore fonctionnelle) et Twitter Widget. Il les remplace avantageusement pour SPIP 3.

Mode d’emploi

Le plugin s’installe comme tous les autres

Pré-requis

Ce plugin nécessite le module cURL de PHP pour fonctionner.

Configuration

Une fois le plugin activé, il faut passer sur sa page de configuration accessible depuis la page des plugins.

Configurer l’accès à Twitter

Toute l’API Twitter n’étant accessible qu’en étant identifié, il faut y configurer les clés secrètes d’une Application Twitter et ajouter un ou plusieurs comptes que le site pourra utiliser. Cette partie de la configuration est décrite en détail dans Créer une Application Twitter pour utiliser dans SPIP.

Configurer l’envoi de Tweets

Une fois l’application et les comptes configurés, vous pouvez ensuite indiquer :

  • les évènements qui déclencheront l’envoi d’une notification ; pour l’instant 4 types sont disponibles :
    • le post d’un nouveau message de forum (y compris message en attente de modération)
    • la publication d’un nouveau message de forum
    • le passage d’un article en mode « Proposé à la publication »
    • la publication en ligne d’un article.
  • la présence ou non d’une invite de status sur chaque article pour permettre de personaliser le Tweet qui sera envoyé.

Configurer les Widgets

Tout cela concerne la configuration du fonctionnement par défaut des Widgets lorsqu’ils seront insérés dans les squelettes. Ces réglages par défauts sont ensuite personnalisables au cas par cas lors de l’insertion.

Chose importante à noter : les résultats affichés dans les widgets sont récupérés avec le compte de l’utilisateur Twitter par défaut qui a été ajouté auparavant. Les tweets que cet utilisateur ne peut pas voir (comptes bloqués par exemple) ne s’afficheront pas.

Widget de recherche
Il affiche les tweets qui correspondent à une recherche Twitter.

Pour ajouter ce widget dans votre squelette vous pouvez utiliser le code :
#INCLURE{fond=inclure/twidget_search}

Widget de profil
Il affiche tous les tweets d’un utilisateur Twitter

Pour ajouter ce widget dans votre squelette vous pouvez utiliser le code :
#INCLURE{fond=inclure/twidget_profile}

Tweeter un article

Il est possible d’éditer le message qui sera envoyé, article par article, ou de bloquer l’envoi du message pour un article donné. On peut également relancer a posteriori l’envoi du message.

Lorsque vous visualisez le message avant publication de l’article, celui-ci incorpore une url vers la page d’édition de l’article. Si vous ne modifiez pas le message par défaut, l’url sera remplacée par l’url publique lors de la publication. Mais si vous modifiez le message, faites attention à bien donner une url publique de l’article, car le plugin ne touchera plus à votre message personalisé.

Pour rétablir le message d’origine, il suffit d’effacer complètement votre message personnalisé, et d’enregistrer.

Tweeter n’importe quoi !

Le plugin propose aussi une interface pour envoyer un message immédiatement sur n’importe quel sujet. La page est accessible depuis le menu Publication > Twitter

Insérer les Widgets dans le site public

Widget de recherche
Pour ajouter le widget de recherche dans votre squelette insérez le code :
#INCLURE{fond=inclure/twidget_search}
Vous pouvez le personnaliser lors de l’insertion :
#INCLURE{fond=inclure/twidget_search,search=#SPIP,width=200}

Les variables personnalisables sont :

  • search : terme(s) recherché(s)
  • title : titre en clair de la recherche
  • subject : sous titre de la recherche
  • interval : intervalle de mise à jour en millisecondes
  • width : largeur en px
  • height : hauteur en px
  • shell_background : couleur de background
  • shell_color : couleur de police
  • tweets_background : couleur de background
  • tweets_color : couleur de police
  • tweets_links : couleur des liens
  • scrollbar : true/false
  • loop : true/false
  • live : true/false
  • hashtags : true/false
  • timestamp : true/false
  • avatar : true/false
  • toptweets : true/false

Widget de profil
Pour ajouter le widget de profil dans votre squelette insérez le code :
#INCLURE{fond=inclure/twidget_profile}

Vous pouvez le personnaliser :
#INCLURE{fond=inclure/twidget_profile,user=spip,width=200,height=300}

Les variables personnalisables sont :

  • user : nom de l’utilisateur Twitter dont la timeline est affichée
  • rpp : nombre de résultats affichés
  • interval : intervalle de mise à jour en millisecondes
  • width : largeur en px
  • height : hauteur en px
  • shell_background : couleur de background
  • shell_color : couleur de police
  • tweets_background : couleur de background
  • tweets_color : couleur de police
  • tweets_links : couleur des liens
  • scrollbar : true/false
  • loop : true/false
  • live : true/false
  • hashtags : true/false
  • timestamp : true/false
  • avatar : true/false

API tweet()

Ce plugin offre une fonction tweet() que l’on peut utiliser pour envoyer des micro-messages (status) sur Twitter [1].

La fonction s’utilise comme suit :

  include_spip('inc/twitter);
  tweet('Bonjour, monde');

Boucle (DATA){source twitter}

Si vous utilisez Twitter, le plugin permet [2] l’utilisation facile de l’API Twitter dans une boucle (DATA) pour afficher par exemple vos tweets, les tweets de votre timeline, les tweets résultats d’une recherche....

Pour ce faire, il suffit d’utiliser {source twitter,...} dans une boucle (DATA), en y précisant quelle méthode de l’API utiliser (toutes les méthodes GET de https://dev.twitter.com/docs/api/1.1 sont possibles) et les arguments sous forme de query-string.

Par exemple :

Dans un exemple complet, cela donne :

  1. <B_tweets>
  2. <ul class='liste-items'>
  3. <BOUCLE_tweets(DATA)
  4. {source twitter,search/tweets?q=%23spip}
  5. {datapath statuses}
  6. {pagination 10}
  7. >
  8. <li class='item tweet'>
  9. <img src='#VALEUR{user/profile_image_url}' style='float:right' />
  10. from <a href='http://twitter.com/#VALEUR{user/screen_name}'>@#VALEUR{user/screen_name} (#VALEUR{user/name})</a> :
  11. &laquo;<q>#VALEUR{text}</q>&raquo;
  12. </li>
  13. </BOUCLE_tweets>
  14. </ul>
  15. [<p class='pagination'>(#PAGINATION{precedent_suivant})</p>]
  16. </B_tweets>

Télécharger

Attention, il faut bien avoir en tête que les requêtes sont faites à l’API Twitter en utilisant le compte Twitter associé au site, et donc seuls les tweets visibles par cet utilisateur seront listés dans tous les cas.

Flux RSS

Le plugin Twitter génère automatiquement un flux RSS des tweets du compte Twitter par défaut auquel il est associé.

Ce flux RSS est disponible à l’adresse spip.php?page=twitter-backend de votre site (par sécurité, il ne répondra rien si le compte Twitter est protégé).

Le squelette twitter-backend.html peut être pris comme modèle pour générer d’autres flux RSS pour d’autres utilisateurs.

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

Notes

[1la fonction microblog() héritée du plugin Microblog reste fonctionnelle

[2à partir de la version 1.1

Dernière modification de cette page le 23 mai 2015

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 11 mars à 15:23, par joz En réponse à : Twitter

    Bonjour,
    Quand je vérifie la validité du html de mon site ça me dit « Element script must not have attribute charset unless attribute src is also specified. »
    Cela concernt le fichier inclure/twidget_profile de ce plugin.
    Je ne sais pas si vous trouvez ça important ?
    à+
    j

    Répondre à ce message

  • Le 29 février à 17:58, par Philippe En réponse à : Twitter

    bonjour

    après plusieurs tentative et vérification de tous les champs, plusieurs fois.
    j’ai même recréé la API key etc.

    mais toujours la même erreur ...

    Erreur : Cette fonctionnalité est temporairement indisponible
    Le serveur a repondu 401 Unauthorized
    Avez-vous bien rempli le champ « Callback URL » de votre application Twitter ?
    PNG - 103.7 ko

    Répondre à ce message

  • Le 7 janvier 2015 à 09:54, par En réponse à : Twitter

    Bonjour,

    J’utilisais avec succès la syntaxe from:@AstuceSPIP dans le widget de recherche, mais depuis le début de l’année, je n’ai plus de résultat.

    Si je teste cette syntaxe, via l’outil de recherche de Twitter : https://twitter.com/search-home les résultats sont correctement affichés.

    Est-ce qu’il y a eu une modification de l’api Twitter qui empêcherait d’utiliser cette syntaxe ?

    Merci

    • Le 6 janvier à 12:20, par maat En réponse à : Twitter

      Bonjour,

      Je rencontre le même souci avec la syntaxe suivante dans un bloc de texte libre :

      <twitter|search=from:@toto #monhashtag>

      Ça remonte en « live » des tweets faits APRES ouverture de la fenêtre mais il n’y a pas de tweets pré-existants qui remontent.

      J’ai loupé quelque chose ?

    Répondre à ce message

  • Le 28 octobre 2015 à 10:56, par GIL En réponse à : Twitter

    Bonjour,

    J’ai le message cURL is missing
    Alors qu’il est installé sur le VM, ainsi qu’OpenSSL

    Que faire ?

    Merci.

    JPEG - 24.3 ko
    • Le 28 octobre 2015 à 11:10, par Fil En réponse à : Twitter

      Il te faut la colle entre php et curl (package php5-curl si tu es sous Debian).

    • Le 28 octobre 2015 à 11:16, par Gil En réponse à : Twitter

      C’est à dire ?

    • Le 28 octobre 2015 à 11:23, par Fil En réponse à : Twitter

      Tu dis que tu as cURL sur la machine mais PHP ne sait pas lui parler car il manque la fonction PHP `curl_init()` et ses copines. Si tu es sous Debian celles-ci s’installent en faisant apt-get install php5-curl.

    • Le 28 octobre 2015 à 12:14, par GIL En réponse à : Twitter

      Merci

      Gil

    • Le 28 octobre 2015 à 18:26, par GIL En réponse à : Twitter

      Super ça a fonctionné ... du moins le problème précédent corrigé.
      Par contre ça me met le message suivant (capture) lors de la connection ...

      JPEG - 25.1 ko
    • Le 29 octobre 2015 à 06:23, par Gil En réponse à : Twitter

      Bon, ça fonctionne, ça a débuggé tout seul :-)
      SUPER PLUGIN !

      Dernière question, lorsque l’intègre les tweets avec la boucle, il n’y a pas les liens actifs dans le texte. tout est en textebrut.
      Y a t’il moyen de changer cela ?

    • Le 29 octobre 2015 à 08:01, par Gil En réponse à : Twitter

      en attendant je vous offre mon code :

      [(#REM) Liste des tweets ]
      <B_tweets>
      <div class="menu menu_comments">
      <h2>Dernier Tweet</h2>

      <ul>
      <BOUCLE_tweets(DATA) {source twitter,#VAL{statuses/user_timeline}|parametre_url{count,40,'&'}|parametre_url{screen_name,#GET{screen_name},'&'}}{0,1}>
      <li><!-- <img src='#VALEUR{user/profile_image_url}' style='float:left; margin-right:5px;' /> -->

      <q>#VALEUR{text}</q>

      <div style="font-size:0.8em;">de <a href='http://twitter.com/#VALEUR{user/screen_name}'>@#VALEUR{user/screen_name} </a>

      |
      <!-- formatage de la date du Tweet -->
      <?php
      $date_tweet= new DateTime( $tweet->created_at );
      echo $date_tweet->format('d-m-Y | H:i');
      ?>
      <!-- formatage de la date du Tweet -->
      <br />
      <a target="_blank" class="twtr-reply" href="https://twitter.com/intent/tweet?in_reply_to=#VALEUR{id}">r&eacute;pondre</a> | <a target="_blank" class="twtr-reply" href="https://twitter.com/intent/retweet?tweet_id=#VALEUR{id}">retweeter</a>
      </div></li>
      </BOUCLE_tweets>
      </ul>
      </div>
      </B_tweets>

    Répondre à ce message

  • Le 10 juin 2015 à 15:39, par ierpe En réponse à : Twitter

    Bonjour,

    Est-t-il actuellement possible d’accéder à l’image d’un Tweet ?

    La documentation Twitter précise que la réponse json inclut les media dans entities -> media -> media_url, mais quand j’essaie #VALEURentities/media/media_url dans ma boucle, ça ne fonctionne pas.

    Pareil pour l’url partagée d’un Tweet, est-il possible de l’obtenir ?

    Ce serait pratique d’avoir un exemple plus poussé des valeurs disponibles dans la boucle :)

    Répondre à ce message

  • Le 28 mai 2015 à 07:42, par Nicolas En réponse à : Twitter

    Bonjour,
    j’ai découvert et installé aujourd’hui ce super plugin. Tout semble marcher parfaitement et la mise en place est très rapide.
    Petit souci cependant : si, dans la page de configuration, il est indiqué que par défaut, seuls les admins ont accès à l’invite de status, avec la dernière version, tout le monde semble y avoir accès, rédacteurs et admins, ce qui est plutôt gênant car tout le monde peut envoyer un message Twitter sur le compte du site…
    Il doit y avoir un paramètre à changer quelque part dans un des fichiers, mais je ne l’ai pas trouvé pour le moment.
    Si vous avez des pistes, nous sommes intéressés.
    Nicolas

    Répondre à ce message

  • Le 31 janvier 2015 à 04:35, par raphael valentin En réponse à : Twitter

    Bonjour,
    Je tente de mettre en place le plugin sur mon site et je rencontre un petit soucis technique. Il semblerait que si je peux associer des comptes twitter en utilisant le plugin, il m’est impossible de les dissocier. Je suis dirigé vers le lien http://xxx/edit/@url_assoc@ puis sur une page 404. Lorsque je ré install le plugin (avec rm), les associations subsistent. J’utilise SPIP 3.0, et NGINX. Est-ce un mauvaise configuration de ma part ou un bug ? Comment faire pour les dissocier ?
    Merci d’avance pour votre réponse.

    • Le 17 mai 2015 à 00:16, par ashledombos En réponse à : Twitter

      Salut,

      ça fait longtemps que ce message est posté, tu as peut-être trouvé depuis, mais as-tu une ligne de ce type dans ton fichier de conf :

      rewrite ^/([\w]+).api(/(.*)) ?$ /spip.php ?action=api_$1&arg=$3 last ;

    Répondre à ce message

  • Le 16 mars 2015 à 08:38, par wilfrid En réponse à : Twitter

    Bonjour,
    Je ne comprends pas pourquoi la création d’application m’oblige à donner mon numéro de téléphone mobile à twitter.

    Error
    You must add your mobile phone to your Twitter profile before creating an application. Please read https://support.twitter.com/articles/110250-adding-your-mobile-number-to-your-account-via-web for more information

    Est-ce qu’il est possible d’évité ce message et d’utiliser le plugin ?

    Bonne journée,

    Répondre à ce message

  • Le 30 novembre 2014 à 19:46, par Jo Arb En réponse à : Twitter

    Bonjour Cedric
    Le plugin à l’air super mais je n’arrive pas à utiliserla fonction « tweeter n’importe quoi »
    J’ai ce message « Il y a une erreur, veuillez vérifiez la configuration »
    Avez vous une idée ?
    Merci !!!!.

    Répondre à ce message

  • Le 12 juin 2014 à 10:36, par yanouil En réponse à : Twitter

    Bonjour,

    Merci pour ce plugin.
    J’ai cependant un souci, l’adresse des tweet est sous forme :
    http://monsite.fr/30

    Or, cette adresse retourne une erreur. Mon article 30 étant à l’adresse : http://monsite.fr//spip.php?article30.

    Y a t-il un moyen de régler ce problème ?

    Merci d’avance

    • Le 12 juin 2014 à 10:39, par Fil En réponse à : Twitter

      Le htaccess de SPIP prévoit ce cas — il faut peut-être faire une mise à jour de ce fichier.

    • Le 12 juin 2014 à 10:41, par yanouil En réponse à : Twitter

      Ah oui effectivement.

      Quelle réactivité. Merci beaucoup

    • Le 30 novembre 2014 à 19:12, par Jo Arb En réponse à : Twitter

      Bonjour
      Je rencontre le meme probleme
      Pouvez vous me dire ce que vous avez modifié dans htacces ?
      Merci !

    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

  • Intranet / Extranet

    31 mai 2013 – 37 commentaires

    Intranet / Extranet est un plugin très simple permettant d’interdire l’accès au site à tout visiteur non identifié. Mise à jour Août 2014 : Version 0.4.0, plage d’IP paramétrable permettant de voir le site sans se logguer. Mise en place La (...)

  • FB Antispam - CAPTCHA pour forums

    26 octobre 2013 – 45 commentaires

    Un simple captcha pour protéger les forums des spams qui envahissent et submergent les bons messages. Pour valider l’envoi d’un commentaire, un code à 4 chiffre doit être saisi. Description Le plugin FBCaptcha ajoute un champs supplémentaire au (...)

  • Owncloud

    24 mai – commentaires

    Ce plugin permet d’importer des documents dans SPIP en vous connectant à votre Owncloud avec Webdav. Vous devez dans un premier temps configurer le plugin en ajoutant les paramètres de connexion à webdav de votre Owncloud. Vous pouvez ensuite (...)

  • Saisies

    27 mars 2010 – 459 commentaires

    Introduction Créer un formulaire est une tâche toujours un peu répétitive : les champs ont souvent les mêmes propriétés, le même accompagnement (message d’erreur, explication, ...) et la même structure HTML. Ce plugin est un outil pour les développeurs (...)

  • Évaluations d’éléments SPIP

    5 avril 2014 – commentaires

    Ce plugin vient en complément du plugin notations, et permet de créer, d’exécuter, de suivre et d’analyser les résultats de campagnes d’évaluations d’éléments SPIP. Le plugin « notations d’éléments SPIP » nous a servi de base pour le développement du plugin (...)