Ce plugin offre une fonction microblog() que l’on peut utiliser pour envoyer des micro-messages (status) sur les sites de microblog compatibles avec l’API Twitter [1].
La fonction s’utilise comme suit :
include_spip('inc/microblog');
microblog('Bonjour, monde', 'user', 'pass', 'spipo');Si pass est le mot de passe de l’utilisateur user sur le site spipo, un nouveau statut s’affichera.

- affichage sur (feu) spip.org

- affichage par jabber
À quoi ça sert-y donc ?
euh... essayons une théorie... faudra surtout voir en pratique.
Soit un ensemble de sources (les sites), et un ensemble de destinataires (des personnes intéressées par ces sources, qu’elles soient webmestres, participants aux forums ou simples lectrices).
Actuellement, chaque source doit écrire individuellement à chacun de ses destinataires ; il faut donc qu’elle en maintienne une liste. De plus cela ne facilite ni l’envoi (qui devient lourd s’il y a beaucoup de destinataires), ni la souplesse de codage (il faut un code pour chaque type de destinataire : email, jabber, SMS, RSS, etc.), ni la souplesse d’utilisation (à l’exception du suivi par RSS, il faut se déclarer sur un site pour pouvoir le suivre).
Le service de microblog (twitter par exemple) sert de tiers pour la diffusion des nouveautés/alertes. Dès qu’elle a une alerte à envoyer, chaque source notifie le service de microblog, et le service notifie à son tour chaque abonné. C’est le service tiers qui fait le boulot délicat (se connecter au jabber de l’un, au identi.ca de l’autre, envoyer un rss au 3e et un mail au 4e). C’est sur le service tiers que les abonnés indiquent leurs préférences (à quoi ils s’abonnent, comment ils veulent recevoir leurs infos). Bien entendu, si le tiers est planté, tout est planté.
identi.ca ou Twitter ?
Identi.ca est un service de microbloging proposé par StatusNet L’avantage de StatusNet est en théorie son caractère décentralisé : il est ainsi possible par exemple se créer un compte sur le site identi.ca mais de suivre une source qui « microblog » sur une autre instance installé sur son propre serveur.
L’avantage de twitter est son caractère industriel qui fait que, s’il plante, quelques dizaines d’ingénieurs seront mobilisés dans l’instant pour le remettre en service. A noter qu’il est possible d’utiliser les deux, et même de les faire communiquer.
Mode d’emploi
Une fois le plugin activé, il faut passer sur la page de configuration (.../ecrire/?exec=configurer_microblog) pour renseigner les paramètres suivants :
- le service sur lequel le SPIP doit envoyer les notifications, à choisir parmi les 2 sites suivants : http://identi.ca ou http://twitter.com
- le compte ouvert sur ce service sur lequel seront envoyés les notifications (oAuth de votre application Twitter, voir ci-dessous pour la configuration, ou identifiant + mot de passe pour identi.ca)
- 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 messages 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 [2].

Configuration avec Twitter et oAuth
Depuis 2010 il n’est plus possible d’accéder à l’API Twitter via un simple login&mot de passe et il est donc nécessaire de créer une application Twitter pour chaque site et d’utiliser Oauth, ce qui complique la configuration initiale du plugin.
Voici les étapes détaillées de la configuration pour Twitter.
Créer une Application sur Twitter
Vous devez tout d’abord créer une nouvelle application (vous devez être connecté au compte twitter qui sera le propriétaire de l’application), en renseignant bien le nom, descriptif, l’url de votre site, ainsi qu’une URL de Callback (l’url de votre site fait l’affaire).

Après validation, il faut modifier les droits en allant dans l’onglet Settings et cocher le choix Read and Write de Application Type pour donner le droit à votre application de poster des nouveaux messages.

Une fois que vous avez validé, vous pouvez récupérer le consumer key et le consumer secret de votre application et les renseigner dans le formulaire de configuration du plugin microblog :

Enregistrez la configuration, puis cliquez sur le lien Associer votre compte twitter à ce site. Si tout se passe bien vous revenez normalement sur la page d’accueil de votre site. Vous pouvez venir vérifier dans le formulaire de configuration du plugin, il est maintenant affiché un lien avec la mention Dissocier le compte twitter actuellement utilisé (Nomdevotrecomptetwitter) .
Pour tester le bon fonctionnement du plugin vous pouvez utiliser le compte d’identifiant spipotest / passe spipotest1 sur le service twitter. Les notifications seront visibles sur http://twitter.com/spipotest, par exemple : une notification d’envoi de forum ou le passage d’un article en mode proposé à la publication et le passage en statut publié de cet article
Préalable dans le htaccess
Les liens figurant dans les messages générés sont des liens de type "ping" ultra-raccourcis pour ne pas trop empiéter sur les 140 caractères alloués. Typiquement, ils sont du type http://votresite.ext/1234 où 1234 est le numéro de l’article publié. Si votre site SPIP n’est pas récent, le fichier .htaccess n’intègre pas la lecture de ces urls, et il faut ajouter la ligne suivante dans le fichier .htaccess, juste avant la description des urls propres (sur une seule ligne) :
Microbloguer 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.
Microbloguer n’importe quoi !
Le plugin propose aussi une interface pour envoyer un message immédiatement à n’importe quel sujet. La page est accessible depuis le menu Publication (sous SPIP 2.1 il faut utiliser le plugin bandeau).


Boucle (DATA){source twitter}
Si vous utilisez Twitter, le plugin permet [3] 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 :
- pour lister ses derniers tweets on écrira
{source twitter,statuses/user_timeline}(qui utilise https://dev.twitter.com/docs/api/1.1/get/statuses/user_timeline) - pour lister les tweets résultats de recherche sur "spip" on écrira
{source twitter,search/tweets?q=spip}(qui utilise https://dev.twitter.com/docs/api/1.1/get/search/tweets)
Dans un exemple complet, cela donne :
- <B_tweets>
- <ul class='liste-items'>
- <BOUCLE_tweets(DATA)
- {source twitter,search/tweets?q=%23spip}
- {datapath statuses}
- {pagination 10}
- >
- <li class='item tweet'>
- <img src='#VALEUR{user/profile_image_url}' style='float:right' />
- from <a href='http://twitter.com/#VALEUR{user/screen_name}'>@#VALEUR{user/screen_name} (#VALEUR{user/name})</a> :
- «<q>#VALEUR{text}</q>»
- </li>
- </BOUCLE_tweets>
- </ul>
- [<p class='pagination'>(#PAGINATION{precedent_suivant})</p>]
- </B_tweets>
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 utilisateurs seront listés dans tous les cas.
A partir de la version 1.2.0 le plugin microblog génère automatiquement un flux RSS des tweets du compte Twitter 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é)



Version 1.2.1
Vos commentaires
# Le 8 février à 16:14, par osarrat
En réponse à : Microblog
Bonjour,
Merci tout d’abord pour ce plugin qui offre un superbe service !
Nous sommes en phase de réflexion d’intégration de la dimension « réseaux sociaux » sur notre site multilingue (http://www.urd.org). Et parmi les hypothèses à l’étude, nous envisageons d’avoir 2 comptes Twitter : un français et un anglais.
Comment jugeriez la complexité d’étendre votre plugin pour :
1. permettre d’enregistrer plusieurs comptes de microblogage ;
2. permettre d’associer un compte de microblogage par défaut sur certains secteurs du site (typiquement, nos secteurs « fr » et « en »), ou certaines langues d’article.
Est-ce relativement simple avec l’architecture que vous avez mise en place, ou faudrait-il carrément tout réécrire ?
Bonne journée,
Olivier.
# Le 23 mai à 08:30, par Valéry
En réponse à : Microblog
J’avais le même besoin mais n’ai pas trouvé de solution. Je suis intéressé si quelqu’un a une idée.
# Le 23 mai à 08:47, par Fil
En réponse à : Microblog
Pour permettre d’avoir deux comptes il faudra dédoubler la configuration. Pour permettre des les utiliser à bon escient (tel message part sur tel canal), il faudra voir où insérer la logique de choix du compte à employer.
Ça fait donc trois endroits où intervenir, sans doute rien de très complexe (il n’y a pas à « reprogrammer » la partie API), mais ça ne se fait pas sans coder un peu et faire des tests : le plugin n’est pas prévu pour ça à priori.
# Le 23 mai à 10:28, par Cedric Morin
En réponse à : Microblog
J’avoue que compte tenu :
- de la divergence entre Laconica (devenu status.net devenu pump.io) et Twitter d’une part ;
- du nombre de plugin twitter-truc qui propose un moyen d’afficher les tweets sur le site public (tous mourants car reposant sur l’API v1 en cours de fermeture) ;
je pense de plus en plus à forker complètement le plugin pour en faire un plugin Twitter qui gèrerait l’ensemble des features associées à Twitter reposant sur l’authentification oAuth (donc publication des messages, et affichage dans le site public).
Du coup, la configuration en serait grandement simplifiée, et il deviendrait possible d’ajouter du multi-compte sans que ça prenne une allure d’usine à gaz. Un compte par défaut pourrait alors être choisi, ce qui n’empêcherait pas de permettre la sélection d’un autre compte.
# Le 23 mai à 13:55, par Valéry
En réponse à : Microblog
Merci pour vos retours !
Répondre à ce message
# Le 22 avril à 13:41, par Guillaume
En réponse à : Microblog
Salut,
Super plugin !
Il fonctionne parfaitement sur mon site.
J’aimerais cependant y effectuer une modification. Au lieu d’envoyer le TITRE de l’article suivi de son URL, je souhaiterais que Microblog envoie le SOUSTITRE.
Est-ce possible ? Comment procéder ? Qu’y a-t-il à modifier dans le code source ?
Guillaume
# Le 22 avril à 15:06, par Fil
En réponse à : Microblog
Le texte est calculé à partir d’un squelette, que tu peux modifier à ta guise après l’avoir recopié dans le dossier squelettes/
# Le 23 avril à 12:04, par Guillaume
En réponse à : Microblog
Désolé, je ne comprends pas... Ce squelette que je peux modifier, où se trouve-t-il ? Il est normalement parmi les fichiers du plugin Microblog, non ?
# Le 23 avril à 13:16, par Guillaume
En réponse à : Microblog
C’est bon, j’ai trouvé ! Il s’agit de ce fichier :
/modeles/microblog_instituerarticle.html
En remplaçant #TITRE par #SOUSTITRE ce dernier remplace bien le second.
=> « résolu » ;)
Répondre à ce message
# Le 17 janvier à 01:11, par André Berdouan
En réponse à : Microblog
Bonsoir à tous,
Je dois être particulièrement idiot mais je suis incapable d’associer mon compte twitter à mon site.
J’ai fait, re-fait et re-fait encore, les procédures comme indiquées dans la documentation.
J’avais utilisé Microblog pour SPIP 2.1 et cela s’était déroulé sans problème.
Si vous pouvez m’éclairer,
Merci d’avance.
AB
Message affiché :
« Fatal error : Cannot redeclare class OAuthException in /home/www/a1932d5cc1c1a99ee669316d2b43e680/web/mrc39/plugins/auto/microblog/v1.1.0/inc/OAuth.php on line 28 »
Version SPIP utilisée : SPIP 3.0.5 [19905]
Version Microblog : 1.1.0
Répondre à ce message
# Le 20 novembre 2012 à 18:10, par franck
En réponse à : Microblog
Bonjour
j’ai réussi à installer le plugin et je peux twitter sur mon site
j’abuse peut-être est il possible d’avoir l’exemple pour récupérer ses tweets
j’ai bidouillé votre exemple en utilisant la methode get en vain dois je rentrer quelque part l’adresse de mon compte twitter et mon user merci
source twitter,statuses/user_timeline
datapath statuses
pagination 5
Répondre à ce message
# Le 13 novembre 2012 à 10:31, par pycos
En réponse à : Microblog
Bonjour,
J’ai le même problème que davduf.
Je suis sur V2.1 avec la version 0.75 de Microblog.
Suite à la supression de SuperTwett j’ai basculé sur le système O_Auth (http://dev.twitter.com/apps/new)) et ai crée l’application qui me donne bien les :
- Consumer key et Consumer secret.
Je valide par « associer votre compte twitter à ce site » avec le Consumer key.
Et j’obtiens bien le Access token
Mais à ce stade ca bloque. Coment ré-initialiser chez Twitter ?
Merci
Cordialement,
Pierre-Yves
# Le 13 novembre 2012 à 13:00, par Cedric Morin
En réponse à : Microblog
Bonjour,
j’ai détaillé les étapes de configuration de l’application Twitter dans la documentation. En particulier il faut impérativement renseigner le champ « URL Callback » de l’application sinon l’association du compte twitter ne fonctionne pas, pour une raison qui m’échappe.
# Le 13 novembre 2012 à 14:41, par pycos
En réponse à : Microblog
Merci Cedric !
Cas typique de non lecture de la doc jusqu’au bout. Désolé...
Je confirme donc que ca fonctionne avec le renseignement du champ « URL Callback ».
J’y ai mis l’adresse de mon twitter. Pour y mettre qql chose...
Pour info (ceux qui installent pour la première fois) : sur votre compte twitter à https://twitter.com/settings/applications vous avez (en outre) la confirmation que le lien est bien établi (mention de l’application : approuvé)
# Le 16 novembre 2012 à 22:52, par bcharier
En réponse à : Microblog
Bonjour,
Merci pour ces précisions ; je bloquais et le fait de renseigner le champ « URL Callback » avec l’adresse du site appelant a débloqué les choses et tout fonctionne parfaitement.
Je cherche maintenant à publier sur Spip (Zpip) les tweets d’un compte particulier ou bien les tweets du même compte (celui de Spip vers twitter) avec un hashtag identifié.
J’utilise SPIP 3.0.5.
Avez-vous des idées ?
Merci de votre aide.
Bertrand
Répondre à ce message
# Le 16 juillet 2012 à 18:31, par davduf
En réponse à : Microblog
Petit souci avec la dernière version.
Les forums en attente de validation sont... twittés.
Du coup, les spams, ils sont heureux :-)
Un moyen de contourner ça ?
Merci aux dev !
# Le 13 novembre 2012 à 11:01, par Cedric Morin
En réponse à : Microblog
Hello,
En effet, quand tu actives la notifications des « Forums Postés » dans la configuration du plugin Microblog, cela inclue tous les forums. Note que le réglage est voisin de celui « Articles proposés » et il a été pensé pour faire de la modération (via un compte privé par exemple).
Cela dit le fonctionnement de ce réglage n’a pas changé depuis 2 ans donc je pense que ta configuration a du être modifiée, ou c’est une modification dans un autre plugin qui a entrainé ce changement.
On pourrait utilement ajouter un réglage pour ne notifier que les messages de forum validés !
# Le 13 novembre 2012 à 12:59, par Cedric Morin
En réponse à : Microblog
L’option est ajoutée à la version 1.0.0 du plugin qui devrait être dans le zip très rapidement !
Répondre à ce message
# Le 2 mai 2012 à 08:55, par Rainer Müller
En réponse à : Microblog
Bonjour, sur spip3 en essayant de configurer le plugin (/ecrire/ ?exec=configurer_microblog)
j’obtiens "Fatal error : Cannot redeclare class OAuthException in ../auto/microblog/v0.7.3/inc/OAuth.php on line 28
avec la version 0.7.3 SVN [59281] du plugin
# Le 15 juillet 2012 à 18:59, par davduf
En réponse à : Microblog
Pour ma part, avec la v3, et la 0.7.5, quand j’essaye :
j’obtiens :
Tous les paramètres Key, etc, + l’access lvel est bien sur read+write chez Twitter.
Une idée ?
# Le 15 juillet 2012 à 19:12, par davduf
En réponse à : Microblog
Bon, tout va bien. J’ai tout réinitialisé côté Twetter et ça marche au poil.
Merci aux développeurs !
Répondre à ce message
# Le 8 septembre 2011 à 13:45, par tetue
En réponse à : Microblog
Microblog est un super plugin qui permet de tweeter plus vite que son ombre. Mais, pour être en cohérence avec le flux RSS qui ne les diffuse pas, il devrait ne pas tweeter par défaut les articles publiés en accès restreint.
Répondre à ce message
# Le 27 mai 2011 à 15:10, par balou
En réponse à : Microblog
Bonjour,
J’utilise depuis quelque temps le plugin qui rend tous les services attendus.
Pensez vous intégrer au plugin la possibilité de générer des format URL court de type Bit.ly.
Merci pour ce plugin.
# Le 27 mai 2011 à 15:20, par Fil
En réponse à : Microblog
Non ce n’est pas envisagé ; mais rien n’interdit d’en faire un plugin spécifique
Répondre à ce message
# Le 28 mars 2011 à 21:52, par Shnoulle
En réponse à : Microblog
Juste une petite question : pourquoi pas encore en zip ?
Merci à vous
Répondre à ce message