Projet ASR 2009 : Proxy XMPP pour un Nabaztag et services réseau associés

Contexte

Le Nabaztag est un objet communiquant original sous forme d'un lapin très stylisé. Il se connecte à Internet par ondes Wi-Fi et communique avec son utilisateur en émettant des messages vocaux, lumineux ou en remuant les oreilles. Par défaut, il diffuse des informations du type météo, bourse, qualité de l'air, circulation routière du périphérique de Paris, arrivée d’e-mail, etc. Un micro est placé au niveau du nombril ; celui-ci permet de contrôler le lapin grâce à la voix ou d'envoyer des messages vocaux aux autres Nabaztag. Enfin, le Nabaztag est équipé d'un lecteur de tag RFID, permettant au lapin de reconnaître un objet qui lui est présenté.

Ces différentes actions sont mises en oeuvre dans une architecture complètement centralisée : toutes les informations transitent par des serveurs exploités par la société Violet, commercialisant le Nabaztag. Outre des problèmes de performances (congestion, disponibilité...) ou de sécurité (analyse/enregistrement des échanges), la pérennité d'un tel système est liée à celle de l'exploitant.

Dans ce projet, nous proposons de construire un proxy (proxy, serveur mandataire) capable d'intercepter les communications sortantes du Nabaztag, ainsi que de fournir des services permettant de déclencher les différentes actions du lapin.

Pour cela, il faudra :
  • Etudier le protocole de communication entre le serveur et le Nabaztag, basé sur XMPP, à l'aide d'un outil d'analyse de protocole réseau (Wireshark)
  • Proposer une architecture de services contenant le proxy XMPP et offrant une API similaire à celle de Violet
  • Réaliser quelques exemples de pilotage (sous la forme d'une démo) de l'ensemble

Environnement

  • PC Linux (serveur), machine(s) au choix pour les clients.
  • Utilisation du logiciel Wireshark (ex. Ethereal) pour le reverse ingineering du contenu XMPP.
  • Vous aurez à votre disposition le nabaztag "LapINF" du département INF.
  • Programmation en langage PHP (côté serveur) et Java (côté client).
  • Développement sous Eclipse, utilisation de Picoforge/svn.

Crédit image : http://nabaztag.com

Contacts / Encadrement

Pour plus d'informations n'hésitez pas à me contacter.
Sébastien Leriche, bureau B310.01
http://www-public.it-sudparis.eu/~leriche
Sebastien.Leriche AT it-sudparis.eu
Tél : 45 63

Quelques références

Nabaztag : http://www.nabaztag.com
API "web" Nabaztag : http://doc.nabaztag.com/api/home.html
Tester l'API : http://www.nabzone.com/tstnewapi.php
XMPP / wikipedia : http://fr.wikipedia.org/wiki/XMPP
XMPP : http://www.xmpp.org/rfcs
Wireshark : http://www.wireshark.org