Omniprésence

Permet d’accéder aux informations de « présence étendue » et d’activité d’un utilisateur Jabber (ça inclut les adresses Gmail).

XMPP (le protocole sous-jacent du système de messagerie instantanée Jabber) permet aux utilisateurs d’annoncer dynamiquement certains types d’information variable dans le temps. Parmi eux : l’avatar, l’état de présence, la musique qu’on écoute, etc.

Ce plugin permet donc de récupérer ces informations, à partir d’un JID (adresse Jabber) donné explicitement ou enregistré dans le profil d’un auteur.

Qu’est-ce qu’Omniprésence ?

Omniprésence est un bot Jabber qui, une fois que vous l’y avez autorisé (en l’ajoutant dans votre liste de contacts), se tient à jour des informations que vous annoncez via Jabber. Ces informations sont : état de présence (en ligne, absent, déconnecté, occupé, etc.), message de statut, avatar, humeur du moment, activité du moment, musique en cours d’écoute.

Une fois collectées, il publie ces informations via le protocole HTTP, ce qui les rend utilisables directement par n’importe quel site web via une API spécifique.

Une instance du bot tourne actuellement sur http://presence.jabberfr.org, mais le code est téléchargeable : si vous avez un serveur web, vous pouvez donc tout-à-fait fournir vous aussi un serveur Omniprésence.

Que fait ce plugin ?

Le plugin Omniprésence permet d’intégrer les informations fournies par un ou plusieurs serveurs Omnipresence dans un site SPIP. Il fournit pour cela plusieurs nouvelles balises [1], suivant le type d’information souhaitée :

  • Avatar (doc) :
    • Avatar Jabber : #JABBER_AVATAR
    • Logo de l’auteur s’il en a un, sinon avatar Jabber : #LOGO_AUTEUR
  • État de présence :
    • Nom de l’état (connecté, absent, déconnecté, etc.) : #JABBER_STATUS [2]
    • Icône représentant l’état : #JABBER_STATUS_ICON [3]
    • Texte libre : #JABBER_STATUS_TEXT
  • Humeur du moment (doc) :
    • Nom de l’humeur : #JABBER_MOOD [2]
    • Icône représentant l’humeur : #JABBER_MOOD_ICON
    • Texte libre : #JABBER_MOOD_TEXT
  • Activité (doc) :
    • Nom de l’activité : #JABBER_ACTIVITY [2]
    • Icône représentant l’activité : #JABBER_ACTIVITY_ICON
    • Texte libre : #JABBER_ACTIVITY_TEXT
  • Musique en cours d’écoute (doc) :
    • Artiste : #JABBER_TUNE_ARTIST
    • Titre de l’œuvre : #JABBER_TUNE_TITLE

Prérequis pour utiliser ce plugin

-  Les auteurs qui souhaitent voir leur information affichée doivent ajouter le JID d’un bot Omniprésence à leur liste de contacts, puis fournir dans leur profil l’URL (commençant par http:// ou https://) du bot.
-  Le cas le plus probable étant que l’on souhaite afficher l’information d’un auteur SPIP, il est nécessaire d’installer également le plugin Adresse Jabber (fournissant le champ JID sur les auteurs) si vous installez ce plugin.
-  Le plugin ajoute un champ omnipresence_serveur aux auteurs. Il nécessite donc aussi le plugin Champs Extras 2 (requis de toutes façons par Adresse Jabber). Ce champ est utilisable dans vos squelettes via la balise #OMNIPRESENCE_SERVEUR.

Configuration

Ce plugin utilise optionnellement CFG. Ce dernier permet de spécifier l’URL du serveur Omniprésence à utiliser pour les utilisateurs qui n’en ont pas indiqué dans leur profil. Si vous n’installez pas CFG ou si vous laissez ce champ de configuration également vide, l’URL suivante sera utilisée : http://presence.jabberfr.org.

Discussion sur l’architecture

L’idée de ce plugin est née du plugin Gravatar, dont le code a servi de base pour développer Omniprésence. Merci !

Concernant le système Gravatar lui-même (pas le plugin), ce qui me gêne cependant est son aspect centralisé. Vu qu’il n’existe pas de manière standard de déclarer un avatar chez les hébergeurs de mail, pas vraiment moyen de faire autrement. Inversement, l’avatar Jabber étant intégré dans le compte lui-même, il n’y a pas ce problème structurel.

L’approche d’Omnipresence apporte malgré tout, malheureusement, une certaine « presque-centralisation » : actuellement, le seul serveur fournissant ce service est presence.jabberfr.org, ce qui oblige à donner notre avatar (via l’autorisation dans la liste de contacts) au bot de ce serveur. Cependant, la grosse différence avec Gravatar est qu’il est possible pour d’autres serveurs Jabber de fournir un service Omniprésence, utilisable de façon immédiate avec le plugin.

Une autre approche, plus directe, serait d’implémenter la connexion en tant que client Jabber par un plugin SPIP, et d’aller récupérer directement l’avatar de l’utilisateur via Jabber. À vos claviers...

À faire

-  Trouver un moyen de découvrir automatiquement le serveur Omniprésence utilisé par un utilisateur d’après son JID, sans passer par un champ à remplir. (si quelqu’un a des idées, moi je sèche)

Notes

[1Un argument {utilisateur@exemple.org} facultatif permet de spécifier l’identifiant Jabber (JID) pour lequel on souhaite afficher l’information. En l’absence d’argument, on récupère le JID dans le contexte.

[2On peut spécifier un code de langue comme deuxième argument facultatif, par exemple « fr » ou « fr_FR ». Sinon, c’est la langue du contexte qui est utilisée.

[3On peut spécifier un thème d’icône comme deuxième argument facultatif.

Discussion

2 discussions

Ajouter un commentaire

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

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom

Dernière modification de cette page le 9 novembre 2017