vendredi 30 mai 2008

Jabberd 2.x sur Linux Fedora

Pourqoi nous choisissons le Jabberd 2.x?

Cette version apporte de nombreuses améliorations, notament le fait que le serveur utilise maintenant une base de données (MySQL,PgSQL,...) afin de stocker les informations des utilisateurs. Jabberd 2.X a été entièrement repensé afin d'être plus modulaire. D'après le site jabber.org, 77% des fonctionnalités du protocole jabber ont été implementées.

Préconfiguration

1.Téléchargement le package "libidn"

wget download.fedora.redhat.com/pub/fedora/linux/releases/7/Everything/x86_64/os/Fedora/libidn-0.6.8-4.x86_64.rpm (en 64 bits)

ou

wget download.fedora.redhat.com/pub/fedora/linux/releases/7/Everything/i386/os/Fedora/libidn-0.6.8-4.i386.rpm (en 32 bits

2.Installation le package "libidn" (par exemple, en 32 bits)

rpmbuild --rebuild libidn-0.6.8-4.i386.rpm

cd /usr/src/redhat/RPMS/i386

rpm -ivh libidn-0.6.8-4.i386.rpm libidn-devel-0.6.8-4.i386.rpm

ou

rpmbuild --recompile libidn-0.6.8-4.i386.rpm

cp -R /var/tmp/libidn-0.6.8-root/* /

PS: Sur Fedora, il a besoin que une seule commande en "yum install libidn"

3.Installation MySQL-shared Library

wget http://downloads.mysql.com/archives/mysql-3.23/MySQL-shared-3.23.58-1.i386.rpm

rpm -ivh MySQL-shared-3.23.58-1.i386.rpm

4.Configuration l'environnement de Linux

-Pour ajouter un utilisateur au serveur, exécutez la commande suivante en tant que root :

adduser jabber

-Choisissez ensuite un mot de passe pour ce compte à l'aide de la commande suivante :

passwd jabber

-Après avoir changé le mot de passe, nous devons créer un répertoire dans lequel le processus stockera ses journaux et ses pids. Pour ce faire, exécutez les commandes suivantes :

mkdir -p /usr/local/var/jabberd/pid/

mkdir -p /usr/local/var/jabberd/log/

-Une fois les répertoires créés, changeons l'appartenance des répertoires de façon à ce que l'utilisateur jabber puissent écrire dedans. Exécutez les commandes suivantes :

chown -R jabber:jabber /usr/local/var/jabberd/pid/

chown -R jabber:jabber /usr/local/var/jabberd/log

Installation et configuration Jabberd 2.x

Nous pouvons télécharger le dernier version de Jabberd 2.X sur la site http://web.archive.org/web/20061010224606/jabberd.jabberstudio.org/2/, mais d'ici nous voulons installer et tester jabberd-2.0s11.

tar zxf http://jabberstudio.rediris.es/jabberd2/jabberd-2.0s11.tar.gz

cd jabberd-2.0s11

./configure --enable-ssl

make

make install

PS: Avant compiler les fichiers d'installation, il nous faut vérifier les compilateurs de Linux suivant qui sont déjà installés :

  1. GNU c compliler
  2. GNU make
  3. autoconf
  4. automake
  5. GNUlib
  6. libtool
  7. libglib2

1.Configuration une base de données MySQL

-Configuration une nouvelle base de données MySQL à laquelle jabberd peut accéder :

mysql -u root -p <>

-Saisissons le mot de passe root de MySQL à l'invite. Ce script crée une nouvelle base de données et la peuple avec les tables nécessaires au serveur jabberd. Une fois que le script se termine, nous devons créer un utilisateur appelé jabberd2 dans MySQL pour permettre à jabberd de manipuler la base de données. Pour ce faire, exécutez la commande suivante :

mysql -u root -p

-Saisissons à présent le mot de passe root à l'invite, et nous obtenons l'invite de commande de MySQL. À cette invite, saisissons la commande suivante :

GRANT select,insert,delete,update ON jabberd2.* to jabberd2 at localhost IDENTIFIED by 'examplepassword';

PS: en remplaçant "examplepassword" par un mot de passe de notre choix, puis saisissons "exit" sous terminal pour quitter la script de MySQL.

ou

cd /path_to_jabberd_source/tools


mysql -u root -p


mysql>\. db-setup.mysql


mysql>grant select,insert,delete,update on jabberd2.* to jabberd2@localhost identified by 'secret';


mysql>flush privileges;


mysql>quit

2.Configuration le fichier sm.xml

-Configuration "Hostname" :

<sm>
<id>hostname.domain.name</id>

...

-Suppression les commentaires pour la ligne suivant:

<pemfile>/usr/local/etc/jabberd/server.pem</pemfile>

3.Configuration le fichier c2s.xml

-Configuration "Hostname" :

<local>
<id>hostname.domain.name</id>

...

-Suppression les commentaires pour deux lignes suivant:

<pemfile>/usr/local/etc/jabberd/server.pem</pemfile>


<ssl-port>5223</ssl-port>

PS: Pour modifier un fichier à l'aide de la commande "vi", donc "vi /usr/local/etc/jabberd/sm.xml" et "vi /usr/local/etc/jabberd/c2s.xml" pour modifier les fichiers de sm.xml et c2s.xml.

Création un cryptage SSL

cd /usr/local/etc/jabberd


openssl req -new -x509 -newkey rsa:1024 -days 3650 -keyout privkey.pem -out server.pem


openssl rsa -in privkey.pem -out privkey.pem


cat privkey.pem >> server.pem

rm privkey.pem


chown root:jabber server.pem


chmod 640 server.pem

Démarrage le serveur Jabberd 2

su -c "/usr/local/bin/jabberd &" - jabber

Autorisation les portes de sortie

iptables -A INPUT -p tcp -m multiport --dports 5222,5223,5269 -j ACCEPT

PS: la porte 5222 : le client pour connecter le serveur

la porte 5223 : communication entre le client et le serveur par SSL

la porte 5269 : communication entre deux serveurs

samedi 3 mai 2008

Démarrage/Arrêt du serveur Jabber

-Si vous avez installé Jabber depuis les sources (fichier tar.gz), pour démarrez le serveur, tapez :
# ./usr/local/jabberd/jabberd

-Il y a un mode debug:
# ./usr/local/jabber/jabberd/jabberd -D

-Si vous avez installé Jabber à partir du fichier rpm, pour démarrer/arrêter/redémarrer, votre serveur Jabber, tapez:
service jabber start/stop/restart

-et le mode "debug" (option -D):

# service jabber stop
# /usr/sbin/jabberd -h jabber.masociete.com -c /etc/jabber/jabber.xml -B -D


-Pour vérifier que le serveur Jabber est effectivement en service, tapez:
ps ax grep jabber

-Vous devez obtenir un résultat ressemblant aux deux lignes suivantes:
3052 ? S 0:00 /usr/sbin/jabberd -h jabber.masociete.com -c /etc/jabber/jabber.xml -B
> 3053 ? S 0:00 /usr/sbin/jabberd -h jabber.masociete.com -c /etc/jabber/jabber.xml -B


-où jabber.masociete.com est remplacé par le hostname de votre serveur.

-Le serveur jabber utilise les ports 5222 (connexion normale avec le client), 5223 (connexion sécurisée avec le client) et 5269 (connexion entre serveurs). En tapant:
netstat -an grep -E '5222'

-vous devez obtenir la ligne suivante, qui vous indique que le serveur Jabber écoute le port 5222:
tcp 0 0 0.0.0.0:5222 0.0.0.0:* LISTEN

-De même pour 5223 et 5269.

-Pour gérer le démarrage, vous pouvez utiliser chkconfig :

# chkconfig --list less # liste des services démarrés
# chkconfig --add jabber # ajouter jabber à la liste des services
# chkconfig jabber off # inhibition du démarrage automatique
# chkconfig jabber on # démarrage automatique au démarrage

vendredi 2 mai 2008

Configuration simple pour votre serveur jabber 1.4

L'essentiel de la configuration du serveur s'effectue en intervenant sur le fichier /usr/local/jabber/jabber.xml (ou /etc/jabber/jabber.xml si vous avez utilisé un paquet Mandrake). Avant toute modification, il est judicieux de faire une copie de secours du fichier original

NB : le fichier jabber.xml étant au format XML, la mise en commentaire est réalisée en utilisant des balises : (balise fermante), comme en HTML



-Ouvrir le fichier jabber.xml et modifier la ligne:

<host><jabberd:cmdline
flag="h">localhost</jabberd:cmdline></host>


-en remplaçant localhost par votre nom de domaine (jabber.masociete.com par exemple), ou par l'adresse IP de votre serveur Jabber (déconseillé). Si vous créer un serveur jabber interne, sans lien avec internet, vous pouvez commenter cette ligne:

<update><jabberd:cmdline
flag="h">localhost</jabberd:cmdline></update>


-C'est la commande permettant de contrôler automatiquement la présence de mise à jour sur le serveur jabber.org. Configurer alors le répertoire destiné à stocker les fichiers de profils des utilisateurs:

mkdir -p /usr/local/jabber/spool/jabber.masociete.com


-en remplaçant jabber.masociete.com par le nom que vous avez indiqué ci-dessus à la place de localhost dans la balise du fichier jabber.xml. Démarrez Jabber et tester son fonctionnement sans cryptage ssl (voir Démarrer/Arrêter le serveur]). Si tout fonctionne normalement, on peut passer à la suite.

Il faut maintenant créer la clé de cryptage SSL. Rester dans le répertoire /usr/local/jabber et repérer l'emplacement de l'éxécutable openssl :
which openssl

-Il réside normalement dans le répertoire /usr/bin/openssl. C'est ce chemin qui devra figurer dans la première ligne du fichier keygen.sh.
Créer un fichier keygen.sh:
$ vi keygen.sh

-et taper le code suivant:

#!/bin/sh
## régler le chemin ci desous sur le chemin de openssl
OPENSSL=/usr/bin/openssl
## Génération du certificat et de la clé
$OPENSSL req -new -x509 -newkey rsa:1024 -keyout privkey.pem -out key.pem
## effacement de la phrase servant de mot de passe
$OPENSSL rsa -in privkey.pem -out privkey.pem
## Assemblage
cat privkey.pem >> key.pem
## Effacement
rm privkey.pem


-Enregistrer et rendre exécutable ce fichier:
chmod u+x keygen.sh

-Exécuter ce fichier:
./keygen.sh

-Répondre aux questions posées. A la fin de l'éxécution, vous devez trouver dans le répertoire /usr/local/jabber un fichier key.pem. Tester alors le mode ssl :
openssl s_client -connect 192.168.0.1:5223

-en remplaçant 192.168.0.1 par l'adresse ip de votre serveur. Vous devez recevoir une réponse du type:

CONNECTED(00000003)
depth=0 /C=FR/ST=FRANCE/L=Departement/O=organization/OU=Jabber/CN=contact name/Email=email address
verify error:num=18:self signed certificate
verify return:1
depth=0 /C=FR/ST=FRANCE/L=Departement/O=organization/OU=Jabber/CN=contact name/Email=email address
verify return:1
---
Certificate chain
0 s:/C=FR/ST=FRANCE/L=Departement/O=organization/OU=Jabber/CN=contact name/Email=email address
i:/C=FR/ST=FRANCE/L=Departement/O=organization/OU=Jabber/CN=contact name/Email=email address
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIDdDCCAt2gAwIBAgIBADANBgkqhkiG9w0BAQQFADCBiTELMAkGA1UEBhMCVVMx EDAOBgNVBAgTB0FyaXpvbmExEDAOBgNVBAcTB1Bob2VuaXgxETAPBgNVBAoTCERJ TExJR0FGMQ8wDQYDVQQLEwZKYWJiZXIxFzAVBgNVBAMTDkNocmlzIE1jRG9uYWxk MRkwFwYJKoZIhvcNAQkBFgpwaHgtamFiYmVyMB4XDTAxMDYwNjAxNTMwNloXDTAx MDcwNjAxNTMwNlowgYkxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRAw DgYDVQQHEwdQaG9lbml4MREwDwYDVQQKEwhESUxMSUdBRjEPMA0GA1UECxMGSmFi YmVyMRcwFQYDVQQDEw5DaHJpcyBNY0RvbmFsZDEZMBcGCSqGSIb3DQEJARYKcGh4 LWphYmJlcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArbyosgcyf9VNpPZc +nU6yKdfAsOSpBu/n/MkChis5POuLkXo62WEoiYuDYF6bmd6XYaVC7ZwItcCwTIv OqdErh4u82E2qeArN0j9eq6EX+MMrYBSkv2nzwabNkkWPCS9VaOsVWx+kvRw598p ACyANf52liFhfDGISIoTlBOn+ysCAwEAAaOB6TCB5jAdBgNVHQ4EFgQUv9mxa1Yj o7Um9ZK0OSW0phiG23AwgbYGA1UdIwSBrjCBq4AUv9mxa1Yjo7Um9ZK0OSW0phiG 23ChgY+kgYwwgYkxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRAwDgYD VQQHEwdQaG9lbml4MREwDwYDVQQKEwhESUxMSUdBRjEPMA0GA1UECxMGSmFiYmVy MRcwFQYDVQQDEw5DaHJpcyBNY0RvbmFsZDEZMBcGCSqGSIb3DQEJARYKcGh4LWph YmJlcoIBADAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBAUAA4GBAGzAwYHlBY+P ioqT8O4t4o30MkIDR7Q9Wqc0Uv1dUXViOKDzkzHXV/gB89yOmFVf6qNg7GB4rexs 0/fMmlSOkvXJPRCvmX05J9c5JpvcprkTjp7ECHPNZgaGsdNT+lilJ2f83uTvpJgM KoQY9OKbV4NnkxDM8lxCjvIvGvrbvnkR
-----END CERTIFICATE-----
subject=/C=FR/ST=FRANCE/L=Departement/O=organization/OU=Jabber/CN=contact name/Email=email address
issuer=/C=FR/ST=FRANCE/L=Departement/O=organization/OU=Jabber/CN=contact name/Email=email address
---
No client certificate CA names sent
---
SSL handshake has read 1042 bytes and written 320 bytes
---
New, TLSv1/SSLv3, Cipher is DES-CBC3-SHA
Server public key is 1024 bit
SSL-Session:
Protocol : TLSv1
Cipher : DES-CBC3-SHA
Session-ID: A23C1FB04F635EC09F92CBD722DAB8BB1503B54D4A0E9C61B3708CB33D6ED372
Session-ID-ctx:
Master-Key: C8C25C17D5B4312E1440DBC956FF5738829C50E16E8E704010B84B1A8D33C405995D8B7FB02E06988890C7ED400ACF32
Key-Arg : None
Start Time: 991792771
Timeout : 300 (sec)
Verify return code: 0 (ok)
---


-Ouvrir le fichier /usr/local/jabber/jabber.xml et valider la prise en charge du mode SSL en repérant la ligne:
<ip port='5222'/>

-et en ajoutant la ligne suivante à la suite:

<ssl port='5223'>192.168.0.1< /ssl >

-De même, repérer la ligne:
<ssl> /usr/local/jabber/key.pem < /ssl >

-Redémarrez le serveur et tester avec cryptage ssl (voir [Démarrer/Arrêter le serveur]).

Installation votre serveur Jabber 1.4 sous linux

-Se logger comme root:
su - root

-Récupérer la source du serveur Jabberd à l'adresse suivante :
http://jabberd.jabberstudio.org/downloads/jabber-1.4.2.tar.gz

ou

wget http://jabberd.jabberstudio.org/downloads/jabber-1.4.2.tar.gz


-et la copier dans le répertoire /usr/local ,puis entrer dans ce répertoire:
cp jabber-1.4.2.tar.gz /usr/local

cd /usr/local

-Décompresser le fichier source:
# tar zxvf jabber-1.4.2.tar.gz

-Renommer le répertoire jabber-1.4.2:
# mv jabber-1.4.2 jabber

-Récupérer le code source de openssl (openssl-0.9.7b.tar.gz) à l'adresse suivante : http://www.openssl.org. Et la copier dans le répertoire /usr/local. Décompresser le fichier source:
# tar zxvf openssl-0.9.7b.tar.gz

-Renommer le répertoire openssl-0.9.7b:
# mv openssl-0.9.7b ssl

-Changer de répertoire:
cd ssl

-Compiler openssl (Perl5 doit notamment être installé):

# ./config

# make

# make test

# make install


-Changer de répertoire:
cd /usr/local/jabber

-Installer le serveur jabber, avec prise en charge du cryptage de la connexion ssl:
$ ./configure --enable-ssl 1>sortie.txt 2>&1

-Vérifier que ssl a bien été pris en compte. Les premières lignes du fichier sortie.txt doivent contenir:

Running Jabber Configure
Searching for SSL... Found.


-Une erreur existe dans le fichier résultant platform-settings, qu'il faut corriger. Editer le fichier avec vi par exemple:
$ vi platform-settings

-Repérer la ligne:
CFLAGS= -I/usr/local/ssl/include/openssl -DHAVE_SSL

-Et la transformer en:
CFLAGS=-I/usr/local/ssl/include/openssl -I/usr/local/ssl/include -DHAVE_SSL

-Faire la même modification pour la ligne CCFLAGS. Taper alors:
$ make

$ make install

-Et c'est terminé, votre serveur de messagerie instantanée est installé (enfin presque...) !

Les interfaces de messagerie instantannée jabber ( III )

Jabber sous Windows


Miranda est un logiciel de messagerie instantanée libre, compatible avec la plupart des logiciels existants et très léger: ICQ, AIM, MSN, Jabber, Yahoo, IRC, Gadu-Gadu, Tlen, Netsend...

Les interfaces de messagerie instantannée jabber ( II )

Jabber sous Mac





Adium 1.2.3 nécessite au minimum OS X 10.4.0. Si vous avez OS X 10.3.9, télechargez Adium 1.0.6. Si vous avez OS X 10.2, téléchargez Adium 0.89.1.
Simplissime client pour les protocoles suivants:

-AOL Instant Messenger (dont ICQ & .Mac)
-Jabber (dont Google Talk & LiveJournal)
-MSN Messenger
-Yahoo! Messenger (dont Yahoo! Japan)
-Bonjour (Compatible avec iChat)
-MySpace IM
-Gadu-Gadu
-Novell Groupwise
-QQ
-Lotus Sametime

A peu près tout est implémenté, de l'envoi de fichier à la liste noire (blacklist) en passant par les conversations à plusieurs. Personnalisable à souhait:

C'est à ce jour le meilleur client que j'ai trouvé pour Mac OS X, hormis iChat, qui ne gère malheureusement que les protocoles AOL, .Mac et ICQ.

Les apports de Jabber

Tout d'abord, Jabber permet une meilleure compréhension de l'échange de l'instant messaging, puisque l'identifiant d'un utilisateur est similaire à celui qu'il a pour ses Emails.La migration du système d'envoi d'emails, vers l'instant messaging est donc plus aisée. Ensuite, les utilisateurs déjà familiarisés avec les divers protocoles prioritaires,pourront migrer sans douleur vers Jabber, puisqu'à travers lui, ils pourront garder le contact avec leurs amis n'ayant pas migré.

En ce qui concerne l'administrateur ou l'entreprise hébergeant un serveur Jabber. Cette dernière assure donc elle-même l'acheminement des messages, tout en contrôlant l'accès aux services. Il est possible de définir les règles de sécurité et permettre un cryptage des messages échangés. Jabber étant évolutif, cette solution assure un développement durable au sein de l'entreprise, tout en garantissant l'indépendance du système d'information par rapport à des sociétés extérieures. Ainsi un réseau de serveurs Jabber peut s'avérer très utile, d'autant qu'une fois mis en place, son évolution sera souple.Jabber peut donc apporter un gain de productivité puisqu'il permet de savoir si une personne est directement joignable ou non, et de la joindre si possible. Cette solution d'Instant Messaging est viable du fait que les clients sont stables et matures, mais aussi disponibles sur quasiment toutes les plateformes utilisées couramment en entreprise.C'est un outil global, fonctionnel, modulaire, évolutif et maîtrisé.

Ajout de passerelles de jabber

Il existe 2 manière de mettre en service les passerelles:

- 1. les passerelles sont gérées par un seul et même processus
- 2. un processus prend en charge une passerelle pour le serveur

Dans le premier cas, un seul processus jabberd prend en charge les interactions avec les autres protocoles. L'avantage réside dans le fait qu'il ne soit pas nécessaire de gérer plusieurs configurations différentes, mais l'inconvénient majeur provient du fait suivant: si le composant logiciel chargé de gérer une passerelle « crash » alors c'est tout le serveur qui est arrêté.

Dans le deuxième cas, un processus est lancé et il ouvre un port de communication pour d'autres serveurs Jabber gérant une passerelle spécifique. Ainsi si le serveur chargé de gérer une passerelle tombe, le serveur principal, lui, continue à tourner. Cela permet aussi d'effectuer des mises à jour des passerelles sans obliger l'ensemble des utilisateursprésents à se reconnecter.


Configuration spécifique à la passerelle


Dans les deux types de configuration, le fichier de configuration XML du serveur principal doit être enrichi des informations suivantes (par exemple):

section < service > dans la section < browse >
< name="Nom du Service" jid="nom du service.localhost.localdomain" type="Passerelle vers nom du service">
< ns >jabber:iq:register< /ns >
< ns >jabber:iq:gateway< /ns >
< ns >fonctionnalités de la passerelle< /ns >
< /service >

...

section < service >
< id="nom du service.localhost.localdomain">
< xmlns="jabber:config:icqtrans">

...

< /service >

Cette section va être différente suivant la configuration des passerelles que vous avez choisi. Dans la cas d'une configuration à plusieurs serveurs, il sera nécessaire de créer un fichier de configuration spécifique. Le service apparaîtra dans le fichier de configuration principal comme un lien (link) avec un port attribué.

Exemple version 1.4 :

dans jabber.xml (serveur principal)
< service id="yahoo-linker">
< host >yahoo.localdomain< /host >
< accept >
< ip >127.0.0.1< /ip >
< port >5051< /port >
< secret >secretpass< /secret >
< /accept >
< /service >

dans jabber-yahoo.xml (serveur pour la passerelle)
< service id="yahoo-linker">
< connect >
< ip >127.0.0.1< /ip >
< port >5051< /port >
< secret >secretpass< /secret>
< /connect >
< /uplink >

Ceci définit le serveur, comme celui qui sera l'esclave du serveur
principal.
< /service >
< service id="yahoo.localdomain">
< load >< yahoo_transport >/usr/lib/jabber/transp
orts/yahoo-transport.so< /yahoo_transport >< /load >
< xmlns="jabber:config:yahoo">
< vcard >
< name >Yahoo Transport< /name >
< /vcard >
< service >scs.yahoo.com< /server >
< port >5050< /port >
< charmap >CP1252< /charmap >
< /config >

A peu de choses près, ce que l'on aurait trouvé dans une configuration à processus unique.

La configuration d'une passerelle dépendant de chaque protocole, il est quasiment impossible de proposer un schéma type de configuration. Il s'agit donc de se référer à la documentation fournie avec la passerelle. Dans la majorité des cas, un exemple de configuration est fourni pour les 2 types d'approches: uni-serveur, multiserveurs.

Vous noterez qu'il est possible de faire tourner un serveur dédié à une passerelle sur une machine qui servira un ensemble d'autres serveurs principaux.

D'un point de vue réseau, les ports de communication entre les serveurs jabber se résument aux ports 5222 et 5223 (pour SSL). Néanmoins, les passerelles vers les autres protocoles en requièrent d'autres. A l'aide de la configuration multiserveurs, il est possible de placer une passerelle en dehors d'une zone protégée et d'acheminer toutes les données relatives à un protocole particulier via un seul port. De ce fait, les données relatives aux utilisateurs restent dans la zone sécurisée.

Les interfaces de messagerie instantannée jabber ( I )

Pidgin Internet Messenger

Pidgin (anciennement Gaim) est un client de messagerie instantanée multi-protocole compatible avec AIM, ICQ , MSN Messenger, Yahoo!, IRC, Jabber, Gadu-Gadu, SILC, Novell GroupWise Messenger, Lotus Sametime, et Zephyr. Pidgin permet de se connecter simultanément à plusieurs comptes sur des réseaux différents. Cela signifie qu'il est possible de discuter avec un contact sur AOL Instant Messenger tout en ayant en parallèle une conversation avec un ami sur Yahoo Messenger. Pidgin propose des fonctionnalités proposées par les différents réseaux, comme le transfert de fichiers, les messages d'absence ou les notifications. Il propose de plus des fonctionnalités uniques, telles que la possibilités de définir des actions (son, lancement d'un exécutable, envoi d'un message) en fonction d'événements (connexion d'une personne, déconnexion, etc.).



Utilisation pidgain sous linux


Le protocole XMPP et Jabber


XMPP (Extensible Messaging and Presence Protocol), ce qui signifie en français « protocole extensible de présence et de messagerie » est le nom d'un protocole standard ouvert de l'IETF de messagerie instantanée.

C'est un protocole basé sur une architecture Client/Serveur permettant les échanges décentralisés de messages instantanés ou non entre clients au format XML. XMPP est en développement constant et ouvert au sein de l'IETF.


La force du protocole XMPPréside dans sa séparation en deux parties différentes :


- Le protocole de base contient les concepts fondamentaux pour faire fonctionner une infrastructure Jabber. Il est défini par les RFC 3920, 3921, 3922 et 3923. Théoriquement, une telle infrastructure ne peut pas fonctionner sans appliquer complètement ces protocoles.


- Les XEPs (XMPP Extension Proposal) sont des propositions pour ajouter des fonctionnalités au protocole Jabber. Les serveurs ou clients ne sont pas obligés d'adopter ces extensions. Cela peut bloquer certaines fonctionnalités entre deux utilisateurs. Les XEPs sont continuellement créés, révisés ou améliorés.


XMPP est utilisé à travers le monde par des centaines de serveurs publics et privés, et des millions d'utilisateurs. À noter que de très nombreux acteurs industriels utilisent XMPP, notamment Google talk, Wanadoo Livecom, Gizmo Project, IBM Lotus Notes, etc.




XMPP et Jabber


XMPP est le cœur de Jabber. XMPP est à Jabber ce que http est au Web. Grâce à Jingle, extension multimédia de XMPP, il sera bientôt possible d'étendre les flux à tout contenu binaire : téléphonie sur Internet, visioconférence, etc.


Introduction a Jabber

Qu'est ce que c'est Jabber ?

Jabber est un protocole ouvert basé sur le standard XML pour l'interconnexion de deux stations sur Internet.La principale application de la technologie Jabber consiste en une plateforme extensible de messagerie et un réseau MI (Messagerie Instantannée) qui offre des fonctionnalités similaires à celles des autres systèmes MI tels que AIM, ICQ, MSN et Yahoo.


Qu'apporte Jabber de plus par rapport aux autres systemes ?

Ouvert : le protocole de Jabber est gratuit, ouvert, publique et compréhensible. De plus, Il existe plusieurs implémentations de code ouvertpour des clients/serveurs Jabber ainsi que de nombreuses librairies de développement.

Extensible : en exploitant le potentiel du langage XML, chaque interessé peut étendre l'utilisation du protocole Jabber pour des fonctionnalités personnalisées. Néanmoins, pour maintenir l'interopérabilité, les extensions communes sont controléespar la fondation Jabber de Software.

Décentralisé : chacun peut monter son propre serveur Jabber, et en plus il est libre et utilisable sans limitation.

Sûr : chaque serveur Jabber peut être isolé du réseau publique. Chaque implémentation du serveur utilise SSL pour les communicationsclient/serveur et plusieurs clients supporte PGP/GPG pour chiffrer les données échangés. En outre, une sécurité plus robuste est en cours de développement grâce à l'utilisation de SASL et clés de sessions.

Multiréseaux : Jabber permet de communiquer à travers une passerelle avec d'autres protocoles de messageries comme MSN messenger, AOL ...


Brève histoire de Jabber

Le projet Jabber fut initié par Jeremie Miller en 1998, quand il commença à développer jabberd.La première apparition publique du projet fut à slashdot le 4 Janvier 1999. Quelque peu après, bon nombre de développeurs se sont réunis pour travailler sur ce projet. Ils ont construit le serveur et les clients Jabber, ainsi que des passerelles pour AIM, MSN ...
A l'issue de 1999, Web Interactive Services commença à diriger l'équipe princiaple pour accélérer l'évolution du projet. En effet, la plus grande partie du protocole Jabber fut développé et du coup les premiers clients comme Winjab ou Exodus (pour Windows) et Gabber (pour Linux). Cette période de changement rapide s'est terminé en Mai 2000 avec la sortie de la version 1.0 de jabberd. Depuis, le protocole Jabber ne cesse de se developper (depuis Août 2001 sous le contrôle de la fondation Jabber de SOftware, similaire aux fondations de software comme Apache) et le nombre de projets de Software basés sur Jabber se multipile (la plupart sont dans
http://www.jabber.org/).
Par exemple, actuellement, il existe au moins 4 implémentations du serveur, plusieurs librairies Jabber pour divers langages et divers clients Jabber pour toutes les plateformes (depuis Amiga, jusqu'à Windows en passant par Linux). Actuellement, on estime qu'il existe environ un million d'utilisateurs Jabber dans le monde.


Différents clients Jabber

Sur le site http://jabberstudio.org/, vous trouverez une liste de clients Jabber pour tout type de plateforme.Il est recommandé PSI (pour Windows, Linux, MacOS,etc...), Exodus (pourWindows), Gaim ou Gabber (para Linux).


J'aimerairais acceder à l'univers Jabber. Comment faire ?

Tout d'abord, il vous faut un login comme dans tous les sytèmes de messagerie. Ensuite, il faut choisir le serveur que l'on apprécie, puis créer un compte client associé à ce serveur. Une fois le compte est crée, vous pouvez configurer le client à votre choix,ajouter des contacts et personnaliser votre VCard.


Glossaire

Client : programme qu'utilise un utlisateur (client) pour accéder à un service du réseau.
Serveur : programme qu'utilise l'administrateur pour la gestion du système (services réseau, sécurité ...).

XML : langage standard du consortium W3C destiné à la communication réseau.

VCard : information publique associée à chaque compte Jabber; c'est comme un profil permmettant aux autres utilisateurs d'obtenir des informations sur vous.