Jabber

Javatar Presence

23 July 2007 - 16:02Intégrer Jabber dans WordPress et mediawiki

Dans cet article nous allons voir quelques exemples d’intégration de Jabber dans un site web grâce à http://presence.jabberfr.org.

Ce service permet de récupérer un lien vers votre avatar, votre message d’état et votre état (connecté, absent, …). Il faut que vous ayez rajouté le contact Jabber presence.jabberfr.org auparavant.

Intégration dans un site quelconque

Tout ce que vous avez besoin c’est du JID de la personne dont vous voulez afficher le statut ou l’avatar. Une fois cette adresse récupérée, il suffit de faire le hash MD5 du JID (en minuscule) et de créer une URL comme indiqué sur la page API. Pour l’avatar il est possible de choisir une image alternative (qui sera affiché lorsque la personne ne dispose pas d’avatar). Si aucune image alternative est choisi, presence.jabberfr.org renverra une erreur 404 si l’avatar n’existe pas.

Intégration dans WordPress

WordPress dispose d’un puissant système de plugins. J’ai réalisé deux petits plugins, un permettant d’afficher les Javatars (Jabber avatars) des personnes postant des commentaires, et un ajoutant un widget avec votre avatar et votre statut Jabber.

Intégration dans Mediawiki

Lorsqu’on voit une modification sur un wiki, il peut-être intéressant de savoir si la personne est connectée, cela permet de pouvoir discuter de sa modification directement avec la personne.

Mediawiki a aussi un puissant système d’extensions, mais il ne permet pas de faire ce qu’on l’on veut ici, il va donc falloir mettre un peu les mains dans le cambouis.

Les profils des utilisateurs de mediawiki ne contiennent pas les JID, il va donc falloir les rajouter. On commence donc par rajouter une table dans la base de donnée (on pourrait modifier la table utilisateur existante, mais ça risque de compliquer les choses lors des mises à jour).

CREATE TABLE `user_jid` (
`uj_user` int(5) NOT NULL,
`user_jid` tinytext NOT NULL,
PRIMARY KEY (`uj_user`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Selon votre configuration, il faudra peut-être rajouter un préfixe au nom de la table. Le patch suivant : Patch mediawiki JID permet d’ajouter un champs dans la page de préférence, et de rajouter la gestion du jid dans la classe User. Elle rajoute en plus une méthode getJabberStatus() à la classe User, cette fonction retourne le code HTML pour afficher l’icône de présence de la personne. Pour activer ces modifications, il faut rajouter à la fin du fichier LocalSettings.php :

$wgEnableJid = true;

Le patch mediawiki statut Jabber ajoute l’icône de présence à coté des liens vers la page utilisateur de la personne. Voilà c’est tout, ce patch est activé et tourne très bien sur le wiki de JabberFR

Il est possible de jabberifier n’importe qu’elle application de cette manière. Chez JabberFR on a aussi modifié PunBB pour récupérer l’avatar Jabber et afficher l’état de la personne ayant posté. Un bot nous notifie lorsqu’un nouveau message est posté sur le forum ou une modification effectué sur le wiki.

Merci à Jim++, mon premier visiteur

8 Comments | Tags: Jabber-fr, Planet libre

Comments:

  1. [...] Je viens aussi de changer le thème du blog pour avoir des onglets sur le haut (je me suis bien amusé avec le css mais finalement j’ai trouvé un truc tout fait) ça fait plus classe et le widget Jabber s’intègre plutôt bien je trouve D’ailleurs je précise que ce dernier n’est pas de moi mais de l’admin de mon serveur Jabber Omega (le plugin est dispo sur son blog). [...]

  2. Pour le widget avec wordpress, j’ai bien JABBER qui apparaît mais c’est tout, pas d’état, rien, j’ai été là http://presence.jabberfr.org ok et après je ne pige plus …

  3. Javatarterre says;
    22 Sep 2008 - 9:05

    Il faut rajouté le bot dans tes contacts, sinon moi j’utilise javatar pour mon wordpress, et j’aime bien. Merci, au créateur.

  4. [...] j’ai trouvé mon bonheur. Ainsi, avec les plugins javatar et widget jabber, tous deux issu du blog d’Omega, ainsi que le plugin WordBook, et qu’un nouveau thème, cela donne un coup de frais au blog, [...]

  5. Coucou,

    comment afficher un javatar par défaut sous WP quand la personne n’a pas mis de JID? :)

    Et sinon, comment est stocké le Javatar? Ton plugin n’ajoutant pas de requéte sql supplémentaire, les jid étaient donc dans WP avant? pas compris l’entraille de la chose, je suis curieux :p :)

    ++

  6. @Frédéric:
    Pour afficher une image par défaut tu peux changer la ligne du script php qui commence par define(DEFAULT_AVATAR, . Par défaut ça va chercher l’image
    wp-content/plugins/blank.png dans le répertoire de wordpress (qui est une image vide).

    Sinon le javatar n’est pas stocké dans wordpress, il est stocké sur le serveur presence.jabberfr.org qui récupère les avatars quand les gens s’inscrivent au service, donc en fait tout ce que fait le plugin c’est de récupérer l’image sur le serveur http://presence.jabberfr.org

  7. [...] ne rien cacher,  j’ai repris l’excellent travaille d’ OMEGA qui a présenté le premier widget jabber pour WordPress. Il faut dire qu’il a réalisé le [...]

  8. [...] libre et ouverte à Facebook : NoserubGG on Adoptons OpenIDWidget Jabber pour WordPress on Intégrer Jabber dans WordPress et mediawikiOmega on Intégrer Jabber dans WordPress et mediawikiFrédéric on Intégrer Jabber dans WordPress [...]