Archives de catégorie : XMPP

XMPP (ce qui signifie « Extensible Messaging and Presence Protocol » que l’on peut traduire par « Protocole extensible de présence et de messagerie ») est un ensemble de protocoles standards utile pour la mise en place de messageries instantanées, et plus généralement pour les architectures décentralisées d’échange de données.
Grâce à XMPP, il est possible d’effectuer des échanges quasiment en temps réel, ou non, selon les besoins. Il est donc possible d’utiliser XMPP pour la VoIP, ou des jeux temps réels ou ce genre de joyeuseté !

XMPP et Java avec Smack : un peu de Privacy

Publié dans XMPP | Un commentaire

Une extension XMPP en cours de standardisation permet de gérer les permissions d’accès  : l’extension Privacy. Le terme Privacy fait beaucoup penser à la protection des données personnelles, or en réalité avec cette extension, on gère simplement les permissions pour me contacter ou connaître ma présence.

L’idée général est simple :

  • On définie des règles dans un PrivacyItem (ex : j’autorise Jacques à m’envoyer des messages, mais pas Pierre)
  • On créé un PrivacyList qui contient autant de PrivacyItem que souhaité
  • On ajoute ce ou ces listes à notre PrivacyListManager et on active la liste à utiliser

Voici ce que cela donne avec la librairie Smack :

// Create PrivacyItems
List<PrivacyItem> privacyItems = new ArrayList<PrivacyItem>();
PrivacyItem item = new PrivacyItem(...);
// On verra ça plus bas
privacyItems.add(item);
// Add it
PrivacyListManager privacyManager = PrivacyListManager.getInstanceFor(xmppManager.connection);
privacyManager.createPrivacyList("blockedPeople", privacyItems);
privacyManager.setDefaultListName("blockedPeople");

Regardons plus en détails ce qu’il est possible de faire avec cette extension.

Continuer la lecture

XMPP et Java avec Smack : b.a.-ba

Publié dans XMPP | Laisser un commentaire

Après le serveur XMPP et le client XMPP, nous allons nous intéresser d’avantage au côté client en codant quelques bribes de Java pour faire du XMPP. Pour cela, il existe encore une liste de librairies XMPP proposée par XMPP.org, et, comme précédemment, j’ai choisi celle qui m’a été conseillée et qui est développée par Jive Software : Smack !

Pour faire mes tests, j’ai lancé en local un serveur Openfire, sur lequel j’ai créé deux utilisateurs : « Fylhan » et « Test ». J’ai lancé Fylhan sur le client XMPP Spark et je vais utilisé « Test » pour mes tests. (quand je dis que j’ai « lancé Fylhan », je ne parlais pas de moi hein !)

Continuer la lecture

Un client XMPP : Spark

Publié dans XMPP | Un commentaire

Après le serveur XMPP avec Openfire, place au client XMPP avec Spark !

Un client ? Que… quoi ?

Un client XMPP est le logiciel ou l’outil à la disposition de l’utilisateur pour lui permettre de communiquer avec son serveur XMPP, et donc par cet intermédiaire avec ses contacts. Il en existe plusieurs. Certains sont confinés à un seul serveur (GTalk pour le serveur Google Talk par exemple), d’autres permettent de se connecter à n’importe quel serveur comme Pidgin, Emphaty ou encore Spark ! Et c’est ce dernier que nous allons étudier aujourd’hui. Ce n’est pas très très compliqué à prendre en main, mais l’idée ici est surtout d’en profiter pour mieux comprendre quelques notions d’XMPP.

XMPP.org fournit une liste de clients XMPP : liste de clients XMPP.

Continuer la lecture

Un serveur XMPP : Openfire

Publié dans XMPP | 3 commentaires

Un serveur ? Pour quoi faire ?

Dans un précédent billet où j’ai expliqué les principes d’XMPP, on a vu que dans l’architecture XMPP, pour que deux utilisateurs communiquent entre eux, ils doivent chacun dialoguer avec leur serveur XMPP et ce sont ces serveurs XMPP qui vont s’échanger des messages pour les rediriger ensuite vers leur utilisateur.

Echange XMPP Continuer la lecture