05/08/2009

Google Wave #1 : C’est quoi Wave?

Logo de Google WaveIl y a quelques jours nous avons reçu des accès de bêta-testeur à la nouvelle plateforme de communication de Google : Wave. Plutôt que de nous lancer dans la rédaction d’un immense et rébarbatif dossier sur les innombrables possibilités offertes par cette plateforme, nous pensons qu’il est plus judicieux de vous les présenter en une série d’articles plus pointus. Nous espérons de cette manière pouvoir être assez clairs pour vous présenter cette technologie qui, à nos yeux, va révolutionner la communication électronique.

Dans ce premier article, nous allons voir ce qu’est Wave, quels protocoles le supportent et son principe général de fonctionnement.

À quoi ressemblerait l’e-mail s’il était inventé aujourd’hui?

C’est lors du congrès Google I/O fin mai 2009 que les ingénieurs de chez Google ont présenté leur nouvelle innovation technologique : Google Wave. Menée par les frères Rasmussen (créateurs de Google Maps), l’équipe de développeurs s’est interrogée : « L’e-mail existe depuis plus de 40 ans, il est même plus vieux que le web. À quoi l’e-mail ressemblerait-il si on l’avait inventé aujourd’hui? »

Aujourd’hui, sur internet, nous communiquons en effet de beaucoup de façons différentes. Les trois principaux moyens sont les messageries instantannées, les réseaux sociaux et bien sûr les e-mails. Et comme les ingénieurs de Google l’ont fait remarquer, les e-mails sont un reliquat des échanges postaux, plus du tout en phase avec les technologies actuelles.

Wave Federation Procol

Wave est un nouveau protocole qui sera déployé sur des serveurs indépendants de GoogleWave n’est pas un nouveau service de Google mais bien un nouveau protocole de communication, à l’instar des e-mail. À terme, Google ne sera qu’un des nombreux fournisseurs du service “Wave”, tout comme actuellement il n’est qu’un des nombreux fournisseurs d’e-mail (Gmail).

Dans cette optique, Google a développé son protocole de façon entièrement open source. Le Wave Federation Protocol est une extension du XMPP (Jabber), Ses spécifications sont aisément accessibles sur le site web dédié.

Les développeurs ont même publié une implémentation en Java d’un serveur Wave sous licence Apache. Des projets indépendants tels que PyGoWave ont déjà développé une version Python d’un serveur répondant au brouillon des spécifications de Wave.

Federation?

Le terme est sans doute mal choisi. Wave étant un XMPP, il n’y a pas de serveur “big brother” qui contrôle toutes les communications. Si deux employés d’une même entreprise conversent sur Wave, leurs messages n’iront jamais plus loin que le serveur de cette société.

Les serveurs Waves ne communiquent pas plus que nécessaire, seuls les serveurs concernés par un certain message auront connaissance de l’existence même de ce message. C’est donc bien un protocole libre, aussi sécuritaire que l’e-mail (même plus, grâce au chiffrement des communications imposé) et sans aucune centralisation des données chez Google.

Une Wave

Lors de la création d’une Wave (voir prochain article), un fichier XML est créé sur le serveur Wave de son créateur. Ce fichier XML est commun à tous les participants de cette Wave.

À l’ajout d’un participant, dont l’adresse a exactement la même forme qu’une adrese e-mail (utilisateur@serveur.tld), le serveur envoie une copie de ce fichier au serveur de ce nouveau participant. Les modifications utérieures seront uniquement des différentiels de ce fichier, pour économiser la bande passante et arrêter cette pratique très “e-mailesque” de citer le message précédent.

En résumé

Wave est un nouveau protocole libre, basé sur le XMPP et dont le but principal est de remplacer l’e-mail. Ce procole est sécurisé et respectueux de la protection de l’information en ne communiquant pas plus que nécessaire avec les autres serveurs. Enfin, une Wave consiste en un fichier XML synchronisé en permanence avec les serveurs des participants de celle-ci.

Dans le prochain article, maintenant que vous saisissez les grandes lignes du protocole, nous vous expliquerons ce qu’est une Wave, c’est-à-dire comment s’articule une conversation entre les différents participants.

En savoir plus