Sessions multiples
En bref
Jabber permet à un utilisateur d'ouvrir plusieurs sessions du même compte. Un utilisateur peut par exemple être connecté de chez lui et de son bureau simultanément. Ce mécanisme de sessions multiples est rendu possible grâce aux ressources et aux priorités :
- La ressource
L'adresse de base d'un utilisateur est du type « toto@serveur.org ». Pour ouvrir une session, il est obligatoire de se choisir une ressource. L'adresse de votre session sera alors du type « toto@serveur.org/maison ». Pour créer une autre session, il faut choisir une ressource différente du type « toto@serveur.org/bureau ».
- La priorité
Avoir plusieurs sessions en même temps, c'est bien mais si quelqu'un envoie un message à « toto@serveur.org », qui va recevoir ce message ? Pour définir quelle session devra récupérer les messages, une priorité est associée à chaque ressource (envoyée avec le message de présence). Une priorité est un nombre compris entre -128 et +127. Par défaut, tous les messages arriveront à la ressource de plus haute priorité. Si la priorité est négative, les messages ne seront pas délivrés tout de suite mais stockés sur le serveur comme si l'utilisateur était déconnecté. Les messages seront transmis à la ressource lorsque cette dernière se reconnectera avec une priorité positive.
On peut passer outre le mécanisme de priorité et envoyer un message à une priorité plus basse (même négative) en précisant la ressource dans l'adresse du destinataire.
Pratiques courantes
La quasi-totalité des clients permettent de choisir sa ressource et sa priorité. La priorité par défaut dépend du client mais la ressource par défaut est en général le nom du client. Il est aussi très courant de préciser sa localisation géographique dans la ressouce.
Cas d'utilisation
Chez lui, Toto est connecté avec l'adresse « toto@serveur.org/Maison » de priorité « 10 ».
Le matin, Toto part au bureau. Il change donc sa priorité à « -1 » et son état de présence à « Absent ».
Une fois au travail, Toto ouvre la session « toto@serveur.org/Bureau » de priorité « 5 ».
Oncle Sam voit que Toto est en ligne et envoie un message à l'adresse « toto@serveur.org ». Le message est délivré à l'adresse de priorité la plus haute, c'est à dire à la ressource « /Bureau » de priorité « 5 ».
Après avoir discuté un peu avec Oncle Sam, Toto trouve un site intéressant sur internet qu'il aimerait bien regarder plus en détail chez lui. Il envoie donc un lien vers le site en question à l'adresse « toto@serveur.org/Maison ».
C'est finalement la fin de la journée. Toto déconnecte la session « /Bureau » et rentre chez lui. Alors qu'il est en chemin, Oncle Sam lui envoie un message « tu veux aller au cinéma ce soir ? » à « toto@serveur.org ». La seule session active de Toto est « /Maison » mais comme la priorité est négative, le message n'est pas transmis immédiatement. Il est stocké sur le serveur.
Toto rentre chez lui. Il découvre qu'il a un seul message, le message qu'il s'est lui-même envoyé pour se souvenir du super site internet. Après avoir enregistré l'adresse du site dans son navigateur, Toto change sa priorité à « 10 », et son état de présence à « Connecté ».
Alors que sa priorité redevient positive, il reçoit le message d'oncle Sam l'invitant à aller au cinéma.