Spip Loves Twitter, un nouveau plugin spip
25 août 2008 // 13 commentaires // Technos Web // précédent // suivant
La geekerie a toujours du bon, elle permet d’offrir un peu de soi aux autres.
EDIT : La version de ce plugin compaticle avec spip 2.0 est disponible ici. La mise à jour est fortement recommandée.
La gestation de ce plugin s’est fait progressivement pendant mon 1er hiver Australien. Le froid ambiant ne m’ayant pas incité à sortir de chez, je me suis dis qu’il fallait se trouver une activité saine (le tricot n’en faisant pas parti). Je me suis donc lancé dans la création du plugin « SpipLovesTwitter ».
Rappel : twitter est un système de micro-blogging. Des amis suivent votre fil twitter et vous en faite autant avec les gens que vous appréciez. La limite d’un message est de 140 caractères.
L’autre point fort de twitter, c’est l’envoi gratuit de SMS quand une personne que vous suivez met à jour son fil.
Fonctionnement : ce plugin utilise tout simplement une partie de l’API twitter.com pour publier des messages via l’interface twitter mais aussi de manière automatique via une balise dédiée à intégrer dans les squelettes spip.
L’interface d’administration : elle se veut simple et souple à la fois. Un certains nombres de paramètres sont pré-remplis.
De plus l’interface permet de publier manuellement un message sur votre fil, de configurer le fonctionnement de la balise, mais aussi de raccourcir une URL (via le service is.gd).
Pour simplifier le tout, il y a une aide en ligne intégrée au plugin, la possibilité de tester la connectivité aux services, de voir les messages publies via le plugin et de demander une nouvelle publication.

La balise : #SPIPLOVESTWITTER est une balise dynamique. Elle s’intègre dans les squelettes spip avec ou sans paramètres en fonction de vos besoins.
Voici quelques possibilités :
[(#SPIPLOVESTWITTER)] ou [(#SPIPLOVESTWITTER{process=oui})] : Publie un message si il y en a un de disponible. Ne renvoie aucune autre information
[(#SPIPLOVESTWITTER{process=non,item=followers})] : N'effectue aucune publication, affiche simplement le nombre de personnes suivant le fil twitter (followers).
[(#SPIPLOVESTWITTER{process=oui,item=url})] : Publie un message si il y en a un de disponible et affiche l'url de votre fil twitter.A noter qu’au moins un appel à la balise doit être fait sans paramètre ou avec process=oui, pour qu’une publication twitter puisse s’effectuer.
Télechargez la version 1.0 du plugin ci dessus.












hello, penses-tu as faire un version pour spip 2.0 ?
Voir en ligne : Spip 2.0...
Très sympa le plugin. Je l’ai installé sur mon site, deux questions :
Merci !
Voir en ligne : http://www.exibit.be/-blog-.html
Effectivement, le serveur mail est down chez mon hébergeur, le genre d’ennuis dont on se passerait bien :-\
holà,
belle initiative.
mais j’ai un bug, je suis en 1.9.2f
et j’ai cela :
Parse error : syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ’’ in /mnt/103/sda/e/4/aubai.mema/plugins/spiplovestwitter/twitter.class.php on line 30
en retour de ceci :
http://aubai.mema.free.fr/ecrire/?e...
un problème de mon côté ? sachant que je n’ai pas encore modifié mes squelettes en y intégrant :
#SPIP_CRON
merci de votre retour.
@hakan,
L’erreur se trouve dans la declaration d’une variable de la class MyTwitter. La variable est declaree en tant que "private", ce qui me fait penser a un souci dans la version de PHP. A mon avis, free.fr doit utiliser une vieille version qui ne supporte pas encore ce type de declarations.
Pour ce qui est de #SPIP_CRON, le plugin n’en a pas besoin.
BobCaTT
Voir en ligne : http://www.menfin.net
Parse error : syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ’’ in /homez.131/sicelaco/www/plugins/spiplovestwitter/twitter.class.php on line 30
J’ai aussi un problème. Je suis chez OVH. Merci d’avance pour votre aide....
Et pendant que je suis peut-on inverser les twitts. Mettre le plus ancien en premier.
Ok, n’oubliez pas qu’il faut impérativement PHP5 pour faire fonctionner le plug-in. Faites une page de test avec la commande phpinfo() ;
bonjour
pour installer le plugin j’ai migré chez mon hebergeur vers du php 5 (version 5.0.4 de mon hebergeur) pour eviter l’erreur de version du php
et maintenant j’ai une erreur :
Warning : Call-time pass-by-reference has been deprecated - argument passed by value ; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /web/Xw/Xe/Xb/monsite.com/public/www/mondossier/plugins/spiplovestwitter/exec/spiplovestwitter.php on line 178
Comment corriger cette erreur ? merci d’avance pour votre aide
Bonjour
Pour info, php-5.0.4 est tres vieux. Je te conseille de mettre cette version a jour. Actuellement c’est 5.2.9
Pour corriger le probleme, a la ligne 178 retire le ’&’ de devant $shorturl
Puis, a la ligne 308 declare la fonction ainsi :
function isgd_raccourcir_url($url,&$shorturl,$timeout)Tu noteras le ’&’ qui est en plus.
Pour info, ce probleme est regle dans la version du plugin compatible spip-2.0
J’ai placé la balise "[(#SPIPLOVESTWITTER)]" dans le squelette "inc-pied.html", lui-même inclus dans les squelettes "article" et "brève". Bizarrement, seuls les articles sont twittés, pas les brèves. Une explication possible ? En tout cas merci pour le boulot.
Voir en ligne : CeD
Bonjour CeD,
Dans cette version 1.0 du plugin, uniquement les articles sont publiés. Cela changera avec la venue de la version 2.0 prévue d’ici quelques semaines. Bref, il faut juste que je finisse un projet personnel et je devrais pouvoir me mettre à tâche sur la version 2.0. Entre les deux d’ailleurs, il y aura l’adaptation du du plugin pour spip 2.0
Bonjour,
il semble que la méthode POST ne soit plus supporté par Twitter, il faut passer en GET.
Cordialement.
Merci de l’info. Le problème est lié a un changement côté twitter. C’est déjà corrigé dans la nouvelle version du plugin.