SPIP-Contrib

SPIP-Contrib

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

288 Plugins, 197 contribs sur SPIP-Zone, 169 visiteurs en ce moment

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

Mastodon

3 octobre 2017 – par Cerdic – commentaire

6 votes

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

  • d’envoyer facilement des messages avec un ou plusieurs comptes Mastodon
  • d’utiliser les données de Mastodon avec une boucle (DATA)

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 à Mastodon

Le plugin s’enregistre automatiquement auprès de chaque instance Mastodon avec laquelle il devra discuter, en demandant une clé d’accès qui sera stockée dans le dossier config/credentials.

Pour ajouter un compte Mastodon dans la configuration, indiquez l’instance (par défaut le plugin enverra vers https://mamot.fr) et cliquez sur « Ajouter un compte ».
Vous serez envoyé vers la page d’autorisation de l’instance concernée : connectez-vous avec le compte concerné si besoin, et autorisez l’application à utiliser votre compte. Vous serez alors redirigé vers la page de configuration et le compte ajouté devrait apparaitre dans la liste des comptes disponibles.

Si vous ajoutez plusieurs comptes, vous pouvez choisir celui qui sera utilisé par défaut pour les envois de pouets depuis l’interface de SPIP. Les autres comptes sont utilisables quand vous utilisez la fonction pouet() en PHP.

Configurer l’envoi de Pouets

Une fois les comptes configurés, vous pouvez ensuite indiquer :

  • la visibilité par défaut des messages envoyés :
    • Publics (apparaissent sur les timelines publiques)
    • Non listé (les messages sont publics mais n’apparaissent pas sur les timelines)
    • Privé (les messages ne sont visibles que des seuls abonnés au compte Mastodon)
    • Direct (les messages ne sont visibles que des seules personnes mentionnées dans le message)
  • 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 personnaliser le Pouet qui sera envoyé.

Pouetter 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 personnalisé.

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

Pouetter 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 > Mastodon

Depuis cette page vous pouvez modifier la visibilité de chaque message envoyé, au cas par cas.

API pouet()

Ce plugin offre une fonction pouet() que l’on peut utiliser pour envoyer des messages sur Mastodon.

La fonction s’utilise comme suit :

  include_spip('inc/Mastodon);
  pouet('Bonjour, monde');

La fonction peut prendre un second argument permettant d’indiquer :

  • user_name : le nom du compte Mastodon à utiliser (pseudo@instance.fr, il faut évidemment que ce compte ait été ajouté dans la configuration du plugin)
  • visibility : la visibilité du message (par défaut celle indiquée dans la configuration)
  • max_len : la longueur maxi des messages (par défaut 500 caractères)

Boucle (DATA){source Mastodon}

Le plugin permet l’utilisation facile de l’API Mastodon dans une boucle (DATA) pour afficher par exemple vos pouets, les pouets de votre timeline, les pouets résultats d’une recherche....

Pour ce faire, il suffit d’utiliser {source Mastodon,...} dans une boucle (DATA), en y précisant quelle méthode de l’API utiliser (toutes les méthodes GET de https://github.com/tootsuite/documentation/blob/master/Using-the-API/API.md sont possibles) et les arguments sous forme de query-string.

Par exemple :

Il y a une API de recherche, mais elle ne vous permettra de trouver que des comptes et des hashtags, car par construction la recherche plein texte n’est pas proposée par Mastodon.

Dans un exemple complet, cela donne :

  1. <B_pouets>
  2. <ul class='liste-items'>
  3. <BOUCLE_pouets(DATA)
  4. {source mastodon,#VAL{timelines/home}|parametre_url{mastodon_account,#ENV{account,''}}}
  5. {pagination 10}
  6. >
  7. <li class='item pouet'>
  8. <img src='#VALEUR{account/avatar_static}' style='float:left;margin:0 10px 10px 0' width="32" height="32"/>
  9. from <a href='#VALEUR{account/url}'>[(#VALEUR{account}|mastodon_user_full_screen_name)][ \((#VALEUR{account/display_name})\)]</a>
  10. [<a href="#VALEUR{url}">(#VALEUR{created_at}|affdate)</a>]
  11. <blockquote>
  12. #VALEUR{content}
  13. <BOUCLE_images(POUR){tableau #VALEUR{media_attachments}}>[(#VALEUR{type}|=={image}|oui)<img src="#VALEUR{url}" />]</BOUCLE_images>
  14. </blockquote>
  15. </li>
  16. </BOUCLE_pouets>
  17. </ul>
  18. [<p class='pagination'>(#PAGINATION{precedent_suivant})</p>]
  19. </B_pouets>

Télécharger

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

Dernière modification de cette page le 3 octobre 2017

Retour en haut de la page

Vos commentaires

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

  • Import ICS 2 et supérieur (agenda distant)

    2 août 2016 – 57 commentaires

    La version 2 du plugin « import ICS » en reprend la principale fonctionnalité, à savoir l’ajout automatique d’évènements distants dans la liste des évènements d’un site. À la différence de la première version, elle ne dépend pas du plugin « Séminaire » et est (...)

  • ScolaSPIP 4

    19 janvier 2016 – 257 commentaires

    ScolaSPIP est plugin-squelette responsive personnalisable pour sites Web d’établissements scolaires basé sur SPIPr Présentation de ScolaSPIP Ce plugin pour SPIP 3 est développé par la Dane de l’académie de Versailles pour les webmestres de cette (...)

  • Utilisez le framework Foundation dans vos squelettes !

    13 août 2013 – 95 commentaires

    Foundation est un framework CSS et Javascript très complet pour réaliser des sites sur une grille propre et homogène. Mais surtout, il permet de rendre un site responsive très facilement ! Ce plugin ajoute le framework Foundation sur l’espace (...)

  • Champs Extras 3

    16 janvier 2012 – 602 commentaires

    Ce plugin permet de créer et/ou de gérer des champs supplémentaires dans les objets éditoriaux de SPIP. Il permet donc de prendre en compte et d’afficher de nouveaux éléments dans n’importe quel objet éditorial de SPIP. Screencast Vous n’aimez pas (...)

  • Optimiser les URLS pour google actus

    19 juin 2012 – 28 commentaires

    Les sites publiant de l’information de type « nouvelles » peuvent prétendre à être indexés par le site google actualités. Pour cela il faut qu’ils répondent à quelques caractéristiques précises qui sont énoncées ici par google. L’une de ces caractéristiques (...)