Un client pour les contrôler tous !!

  gtalk (1)      1150131-logo-msn-messenger-mac       05585275-photo-logo-facebook

 

Un client pour les gourverner tous, ça en jette nan ?

Vous avez installer un serveur XMPP, mais vos amis son sur Facebook, MSN, Gtalk, Skype …
Vous vous sentez seul ?

Le XMPP, le protocole de furieux, n'a pas dit son dernier mot !

On va installer des passerelles vers les protocoles qu'utilisent vos autres contacts, et ainsi les fédérer sous le même logiciel, une gestion de groupe unifiée, avec une seule authentification…
Bref, ça semble pas trop mal :)

Pour ça on va installer un nouveau programme sur notre serveur XMPP (basé sur ejabberd dans notre cas, mais ça fonctionne avec d'autres !).

Ce programme c'est: Spectrum2 ⇒ http://spectrum.im

Dans ce "tuto" on va créer des passerelles pour : Facebook, MSN, et Gtalk, mais il en existe beaucoup d'autres, et c'est très simple à faire !

On commence par rajouter les sources de spectrum (afin de pouvoir l'installer par le gestionnaire de paquet) à notre source liste.

# nano /etc/apt/sources.list

Editez votre fichier et rajoutez :

deb http://repo.spectrum.im wheezy main

Et on installe :

# aptitude update
# aptitude install spectrum2 spectrum2-backend-libpurple

Après avoir installé les trouze millions de dépendances, on va aller configurer tous ça :)

Premièrement, préparer les fichiers de conf :

# cd /etc/spectrum2/transports
# cp spectrum.cfg.example msn.cfg
# cp spectrum.cfg.example facebook.cfg
# cp spectrum.cfg.example gtalk.cfg

On commence avec MSN ?
Alors modifiez (et adaptez selon vos besoins) votre fichier msn.cfg, de la façon suivante :

# JID of Spectrum instance.
jid = msn.sheldon.fr

# Password used to connect the XMPP server.
password = monsecret1

# XMPP server port.
port = 5347

# Libpurple protocol-id for spectrum_libpurple_backend
#protocol=prpl-jabber
protocol=prpl-msn
#protocol=prpl-icq

[identity]
# Name of Spectrum instance in service discovery
name=MSN

# Type of transport ("msn", "icq", "xmpp").
# Check http://xmpp.org/registrar/disco-categories.html#gateway
type=msn

#à rajouter à la fin du fichier
[purple]
# avatar, vcard, roster storage
# needs to be unique for each spectrum instance
userdir=/var/lib/spectrum/$jid/userdir
port=80
http_method=1

 

Pas trop compliqué ça va ?
Alors la suite avec Facebook :

# JID of Spectrum instance.
jid = facebook.sheldon.fr

# Password used to connect the XMPP server.
password = monsecret2

# XMPP server port.
port = 5348

# Libpurple protocol-id for spectrum_libpurple_backend
protocol=prpl-jabber
#protocol=prpl-msn
#protocol=prpl-icq

[identity]
# Name of Spectrum instance in service discovery
name=Facebook

# Type of transport ("msn", "icq", "xmpp").
# Check http://xmpp.org/registrar/disco-categories.html#gateway
type=facebook

 

Pour Gtalk, c'est strictement identique, on change juste les noms (et le port):

# JID of Spectrum instance.
jid = gtalk.sheldon.fr

# Password used to connect the XMPP server.
password = monsecret

# XMPP server port.
port = 5349

# Libpurple protocol-id for spectrum_libpurple_backend
protocol=prpl-jabber
#protocol=prpl-msn
#protocol=prpl-icq

[identity]
# Name of Spectrum instance in service discovery
name=Gtalk

# Type of transport ("msn", "icq", "xmpp").
# Check http://xmpp.org/registrar/disco-categories.html#gateway
type=gtalk

 

Maintenant que Spectrum est configuré, on va s'occuper de ejjaberd.

# nano /etc/ejabberd/ejabberd.cfg

Rajouter les éléments suivant dans la partie "Listening Ports".
Chez moi ça donne :

 

%%%   ===============
%%%   LISTENING PORTS

%%
%% listen: Which ports will ejabberd listen, which service handles it
%% and what options to start it with.
%%
{listen,
 [
  {5222, ejabberd_c2s, [
                        {access, c2s},
                        {shaper, c2s_shaper},
                        {max_stanza_size, 65536},
                        %%zlib,
                        starttls, {certfile, "/etc/ejabberd/ejabberd.pem"}
                       ]},


  {5269, ejabberd_s2s_in, [
                           {shaper, s2s_shaper},
                           {max_stanza_size, 131072}
                          ]},

%%Passerelle msn

{{5347, "127.0.0.1"}, ejabberd_service, [
                                        {access, all},
                                        {host, "msn.sheldon.fr", [{password, "monsecret1"}]}
                                        ]},

%%Passerelle facebook

{{5348, "127.0.0.1"}, ejabberd_service, [
                                        {access, all},
                                        {host, "facebook.sheldon.fr", [{password, "monsecret2"}]}
                                        ]},

%%Passerelle gtalk

{{5349, "127.0.0.1"}, ejabberd_service, [
                                        {access, all},
                                        {host, "gtalk.sheldon.fr", [{password, "monsecret3"}]}
                                        ]},

 

On démarre les services spectrum :

# spectrum2_manager start

Ce qui doit donner :

root@ovz-XMPP:~# spectrum2_manager start
Starting "/etc/spectrum2/transports/gtalk.cfg": OK
Starting "/etc/spectrum2/transports/msn.cfg": OK
Starting "/etc/spectrum2/transports/facebook.cfg": OK

Puis on redémmarre ejabberd :

# /etc/init.d/ejabberd restart

 

 

Voilà c'est fini ! :)

Pour tester si ça fonctionne, allez sur votre client préféré (Gajim, Pidgin, Jappix …) et faites une recherche de services :

Capture d'écran - 26032013 - 11:59:01

Pour moi ça fonctionne, je vois bien mes passerelles, je n'ai cas en sélectionner une, cliquer sur "Souscrire" :

Capture d'écran - 26032013 - 12:02:37

 

 

Voilà à quoi ressemble mon client lorsque je me connect à mon unique compte XMPP :)

Capture d'écran - 26032013 - 12:03:46

 

P.S : Si vous souhaitez essayer ce service, vous pouvez créer un compte XMPP ici : http://www.sheldon.fr/jappix/
Et par la suit utiliser le client léger à la même adresse ou un client lourd de votre choix ;)

Capture d'écran - 29032013 - 14:38:17

Vus : 509
Publié par Sheldon.fr : 17