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 :
- 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 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.
Discussions par date d’activité
54 discussions
Demande un peu incongrue :
- est-il possible (assez facilement) de faire en sorte que le tweet de publication d’un article soit fait plusieurs fois, à 2 heures d’intervalle par exemple et 4 fois en tout ?
Je ne sais plus la limite de twitter qui n’accepte pas le même message trop rapproché dans le temps ...
Ce n’est pas anodin car pour mieux communiquer avec des personnes qui ont des horaires différents, ce serait utile. (On lit ce que l’on voit !)
Attention je suis assez nul en programmation et je ne sais trop quel(s) fichier(s) modifier ou aménager , ou bien quel META !
Merci.
Répondre à ce message
Bonjour,
nous utilisons votre plugin sur notre site (régionale Apmep Île-de-France) et le tweet généré lors de la publication d’un article ne comprend que le titre de l’article et l’url correspondante.
Savez-vous comment faire en sorte qu’on ait, sur le tweet généré, le début de l’article (comme cela est fait sur la page d’accueil de notre site) et une image de l’article ? Je crois que cela correspond à un tweet cards mais je ne suis pas sûr.
Cordialement,
Michel Suquet
Bonjour michel,
pour améliorer le tweet généré, par exemple ajouter le soustitre, l’intro ou autre balise du genre, il suffit de surcharger le modèle du plugin twitter /www/plugins/auto/twitter/modelesmicroblog_instituerarticle.html
Après, pour une image, je suis tout comme toi preneur de conseil, ça me parait à priori un poil plus technique.
++
Luc.
Bonjour Luc,
comment réalises-tu cette surcharge ?
Excuse-moi pour cette question mais je n’ai jamais fait cela et cela ne m’est pas évident.
Par ailleurs, faut-il d’abord copier le fichier modelesmicroblog_instituerarticle.html dans le répertoire /squelettes/inclusions avant de le modifier ?
Ne serait-il pas mieux que ces paramétrages apparaissent dans la configuration du plugin ?
Cordialement,
Michel Suquet
Une surcharge c’est remplacer un squelette par un autre en le mettant dans le dossier
squelettes
, en respectant le chemin.Voir https://programmer.spip.net/La-notion-de-chemin
Donc si le squelette est directement dans le dossier du plugin, le recopier dans
squelettes
puis le modifier. S’il est dans le dossier « modeles » du dossier du plugin, le recopier danssquelettes/modeles
et le modifier.Quand à la dernière question elle est pertinente mais
1. Il faut avoir une liste claire des options possibles, à l’avance.
2. Il faut le coder.
Bonjour Maïeul,
si j’ai bien compris, au lieu de recopier le fichier modelesmicroblog_instituerarticle.html dans le répertoire /squelettes/inclusions, je le recopie dans le répertoire /squelettes/modeles.
Par ailleurs, je n’ai pas compris comment modifier le fichier modelesmicroblog_instituerarticle.html pour obtenir le sous-titre et l’intro. Quelles lignes faut-il ajouter pour cela ? Je pense qu’il doit y avoir aussi une balise pour l’image car dans les résumés qui apparaissent en page d’accueil, il y a aussi une image, même si elle n’est pas au début de l’article.
Désolé pour mes questions de débutant.
Cordialement,
Michel Suquet
Bonjour,
voici le contenu de modelesmicroblog_instituerarticle.html :
Cordialement,
Michel Suquet
Exactement pour le modèle.
Vous n’avez jamais fait de squelette (apparement).
Il vous faut mettre les balise
#SOUSTITRE
et#INTRODUCTION
(en remplacement de#TEXTE
).Pour l’image, il y a plusieurs manières de gerer les images avec SPIP, et comme je n’ai pas votre site sous les yeux je ne sais pas à quoi vous fait références...
Non, je n’ai jamais fait de squelette. Désolé.
Dans le fichier modelesmicroblog_instituerarticle.html, il n’y a pas #TEXTE. Mais je vois ceci :
Pour le site, il y a en bas à droite le retour depuis notre compte twitter et voici un article récemment publié (aujourd’hui) : Elle-est-mathophile. L’image apparaît aussi dans le résumé sur la page d’accueil.
Cordialement,
Michel Suquet
Visibelement votre squelette prend la première image de l’article pour la mettre en une dans le résumé. Est-ce cela que vous souhaitez prendre ?
un problème avec l’introduction est le nombre maximum de caractère. Il faut je pense s’assurer que le total n’excède pas ce qui est autorisé par twitter...
Oui, c’est bien cela, la 1re image de l’article.
Oui, le nombre maximum de caractères est 140, les images, vidéos, nom de l’utilisateur et liens étant non comptés.
Au fait, l’introduction c’est bien le début de l’article qui apparaît en une de la page d’accueil ?
Cordialement,
Michel Suquet
Si je mets ceci dans le fichier modèle :
C’est bon ? Ou c’est n’importe quoi ?
a priorier le couper serait plutot à la faim
pour couper le résultat de la concaténation du titre + introduction
par contre pour image une :
- je ne sais pas comment twitter gère les iomages
- je ne sais pas comment le squelette les gères
donc aucune idée
Pour info il y a un modèle ici pour Mastodon qui accepte 500 caractères (donc un peu plus long)
https://github.com/Cerdic/mastodon/blob/master/modeles/mastodon_instituerarticle.html
Sinon pour les images, il faut renseigner les meta opengraph et/ou twitter dans le
<head>
de la page, ce qui inclue l’image, car c’est Twitter qui se charge d’aller chercher l’URL que l’on twitte et de regarder si elle contient les informations nécessaires.Je crois qu’il y a aussi un processus de validation à faire chez Twitter aussi, qui doit valider le site car les cards ne sont pas activées pour le site de monsieur tout-le-monde (en gros les medias avec un peu de visibilité peuvent, mais les autres c’est tintin)
Bonsoir Cerdic,
la solution dans Mastodon correspond pratiquement à ce qu’a proposé Maïeul. J’ai modifié le fichier et l’ai copié dans /squelettes/modéles : je verrai ce que cela donne à la prochaine publication d’un article.
Par contre, pour l’image, je ne vois pas ce qu’il faut faire dans le head, ni de quelle page il s’agit. Peux-tu préciser ? Je ne sais pas ce que sont les meta opengraph et/ou twitter dont tu parles.
Et si je mets ceci ? J’ai un doute sur l’ajout de la syntaxe pour image-une…
Cordialement,
Michel Suquet
Oups, il y a eu de la perte en ligne.
Voici ce que je voulais mettre :
je ne sais pas pourquoi mais l’accolade fermante après #IMAGE-UNE ne passe pas…
Il faut utiliser la balise code et pas pre pour citer du code.
Comme le dit cerdic ... Pour une image de l’article il faut peut etre s’orienter vers les metas et notamment le plugin metas + ... Je teste aussi de mon côté
Bonjour,
je ne sais pas pourquoi mais j’ai été mis sur liste noire : comment en sortir ? Là, je vous envoie ce message depuis le collège où je travaille.
Merci pour m’avoir indiqué le plugin metas+ : je suis en train de regarder de ce côté et je me demande s’il faut maintenir la modification du fichier modelesmicroblog_instituerarticle.html ?
Cordialement,
Michel Suquet
Bonsoir,
j’ai pu progresser avec l’aide de Jean-Christophe Villedieu qui développe le squelette Escal que nous utilisons pour notre site.
Actuellement, le tweet émis, suite à la publication d’un article, donne bien un tweet-card, avec l’icône que j’avais ajouter dans le paramétrage de metas+. Je l’ai supprimée car elle est trop grande et je pense qu’il y aura pas défaut le favicon ; ce doit être ce qui est appelé le logo du site je suppose.
Pour cela, j’ai installé le plugin metas+ comme vous l’avez conseillé, et je n’ai pas eu besoin de modifier le fichier modelesmicroblog_instituerarticle.html (il n’y a donc plus rien dans /squelettee/modèles contrairement à mes essais avant l’installation de metas+). Jean-Christophe a fait une modification concernant le plugin Escal pour corriger une erreur de squelette suite à l’installation de metas+.
Cependant, j’aimerai que dans le tweet soit incorporée la 1re image de l’article, juste en dessous de l’introduction. Voyez-vous comment paramétrer le plugin tweeter pour obtenir cela ? À moins que cela se passe ailleurs, comme avec l’utilisation du plugin metas+ ?
Cordialement,
Michel Suquet
oups, il s’agit de Jean-Christophe Villeneuve (et non Villedieu).
Bonjour et bonne année,
cette fois-ci, cela fonctionne : l’image dans l’article est bien prise en compte dans le tweet.
J’ai l’impression que c’est suite à une mise à jour du plugins métas+ au sujet d’une boulette (voir la mise à jour 113419 de ce plugins).
L’image n’est pas retaillée mais elle est transmise : c’est déjà un progrès.
Par contre, je ne comprends pas la gestion de la taille de l’image dans la configuration du plugin metas+. On mentionne ceci : propriétés « og:image » et « twitter:image », format conseillé : 1,91:1 mais je ne comprends pas ce qu’il faut faire exactement. Pour l’instant, j’ai mis une image de 36pixels×36pixels.
Cordialement,
Michel Suquet
Je pense avoir compris : en mettant une image d’environ 380×190, cela fonctionne bien.
À+,
Michel Suquet
Répondre à ce message
Bonjour,
J’ai un problème avec le caractère & qui une fois arrivé sur twitter est transformé en
&
une idée du filtre à appliquer ? Je trouve vraiment pas.
Répondre à ce message
Bonjour à tous,
pour info, utilisant le plugin microblog sur un spip 2.x depuis longtemps et suite au passage en 3.x avec le plugin Twitter, j’avais un soucis sur les tweets envoyés tronqués dans la limite de 140 caractères.
Le problème, de mon côté, venait de la table spip_articles. La colonne microblog était un varchar de 140, évidemment la nouvelle limitation de twitter à 280 caractères n’était pas en adéquation. Un petit coup de PHPMyAdmin pour passer cette colonne à 280 caractères et le problème est réglé.
++
Répondre à ce message
Question sotte mais grenue :
Comment interdire l’envoi de tweets auto pour les articles situés dans les rubriques réservées par Accès restreint ?
Merci
Salut, tu peux le faire en personnalisant le modèle qui génère le contenu du twit dans
squelettes/modeles/microblog_instituerarticle.html
en y ajoutant les critères nécessaires à la boucle qui récupère l’article à twitter. Ainsi, si le squelette ne renvoie rien, il n’y aura pas de twit envoyé.C’est en effet une bonne idée ! Merci !
Répondre à ce message
Bonjour,
Si je ne me trompe pas, le calcul de la longueur du tweet est mauvais. En effet, les mots-clé (#...) et les urls ne comptent que pour 10 caractères quelle que soit leur longueur réelle.
Répondre à ce message
Bonjour,
Ce que je souhaite faire, c’est interdire l’envoi automatique des notifications, mais pouvoir envoyer le statut si je le souhaite et après modification.
Or, j’ai constaté que, lorsqu’on décoche la « notification publique » pour « articles publiés », l’invite de statut n’était pas affiché, même si la case correspondante était cochée.
Est-ce un bug ?
Répondre à ce message
Par défaut, le titre des articles repris dans les tweets est limité à 120 caractères moins la longueur de l’url. Bien que la longueur max des tweets soit passée à 280 caractères, cela n’a pas changé.
Pour modifier cette valeur il suffit d’aller dans le fichier modeles/microblog_instituerarticle.html
Bien vu ! La version 1.6.2 du plugin corrige les modèles, donc
Répondre à ce message
Juste un petit détail :
Dans la mesure où le plugin permet directement de twitter sur le compte de la structure, ne serait-il pas logique de restreindre son accès à minima aux administrateurs restreint ?
Dans son fonctionnement actuel, celui-ci permet à des rédacteurs, qui doivent soumettre leur articles à modération, de communiquer à la one again au nom de la structure. Pas logique ...
Répondre à ce message
hop. j’ai plus aucun tweet depuis 10 jours, alors que j’en ai posté hier (et que la tâche de job_queue a été effectuée.
Bonjour, même problème pour moi, avez-vous trouvé une solution ?
oui, suite à une mise à jour interne, l’hébergeur avait supprimé le module cURL de PHP. Verifiez via la page <code/ecrire/ ?exec=infos que ce module n’est pas activé. Si telle est bien le cas, demandez à votre hébergeur de l’activer.
Merci Maïeul, le module curl était bien activé mais toujours pas de tweets affichés, une autre piste ?
désolé, non.
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |