h1. Liste des XEP h2. Intro Voici une liste d'extension qu'ils nous faudrait implementer dans BEEM. Cette liste est non exhaustive et sert surtout pour avoir une idee des differents ecrans utilisateur (activite android) qu'il faut realiser. h2. Extensions requise pour BEEM h3. XMPP Core Client 2009 Un client XMPP doit implementer ces specifications: * "rfc3920":http://tools.ietf.org/html/rfc3920 Cette specification definie le coeur du protocole XMPP * "rfc3921":http://tools.ietf.org/html/rfc3921 Cette specification definie un ensemble d'extension basique pour le XMPP * "XEP-0030 Service Discovery":http://xmpp.org/extensions/xep-0030.html Cette specification permet de decouvrir les services disponible avec un agent XMPP, aussi bien un client que le serveur ou autre chose. Ainsi on peut par exemple gerer que notre contact supporte la video donc on active la possibilite de communiquer avec lui par webcam. * "XEP 115 Entity capabilities":http://xmpp.org/extensions/xep-0115.html Cette specification permet de gagner de la bande passante lors de la decouverte des services disponibles. Les rfc 3920 et 3921 sont mises a jours par ces 2 rfcs "rfc3920bis":http://tools.ietf.org/html/draft-saintandre-rfc3920bis-09 et "rfc3921bis":http://tools.ietf.org/html/draft-saintandre-rfc3921bis-08 . Dans l'ensemble ces 4 specifications sont implementes dans Smack donc niveau protocole, il ne devrait pas y avoir grand chose a coder. Je vous conseille de parcourir le sommaire de ces specs afin de voir quel fonctionnalites activer dans l'interface utilisateur. h3. XMPP Advanced Client 2009 Un client XMPP "avance" doit implementer ces specifications : * "XEP-0016: Privacy Lists":http://xmpp.org/extensions/xep-0016.html Cette extension specifie le protocole pour implementer le blocage d'un contact (comme msn) * "XEP-0191: Simple Communications Blocking":http://xmpp.org/extensions/xep-0191.html est une simplification de la XEP-0016 afin de faciliter l'implementation de cette fonctionnalite donc c'est surtout elle qu'il faut regarder * "XEP-0045: Multi-User Chat":http://xmpp.org/extensions/xep-0045.html Cette specification permet d'implementer des salons de discussion like irc * "XEP-0054 vcard-tmp":http://xmpp.org/extensions/xep-0054.html permet de stocker une v-card sur le serveur et ainsi permettre de recuperer des informations sur un contact * "XEP-0085: Chat State Notifications":http://xmpp.org/extensions/xep-0085.html Lors d'une discussion, cette extenstion permet de signaler que quelqu'un est en train d'ecrire un message (par exemple) La XEP-0085 ne semble pas tres interessantes pour BEEM car elle cause aussi une utilisation supplementaire de la bande passante sans apporter de reel interet pour une utilisation sur mobile. La XEP-0054 est deja assez ancienne et risque fort d'etre remplacer par la "XEP-0154: User Profile":http://xmpp.org/extensions/xep-0154.html qui est en status experimental. h3. Jingle Comme vous le savez tous Jingle est l'extension XMPP qui permet de realiser des echanges multimedia. Cette extension est plutot grosse, elle est donc definie en plusieurs XEP. * "XEP-0166: Jingle":http://xmpp.org/extensions/xep-0166.html definit le coeur du protocole Jingle * "XEP-0167: Jingle RTP Sessions":http://xmpp.org/extensions/xep-0167.html specifie le protocole pour realiser une session en utilisant le protocole RTP * "XEP-0176: Jingle ICE-UDP Transport Method":http://xmpp.org/extensions/xep-0176.html specifie une methode de transport utilisant ICE-UDP. Cette methode de transport permet notamment de regler les problemes de NAT. * "XEP-0177: Jingle Raw UDP Transport Method":http://xmpp.org/extensions/xep-0177.html specifie une methode de transport en UDP. C'est une methode simple qui marche dans les configurations simples. * "XEP-0262: Use of ZRTP in Jingle RTP Sessions ":http://xmpp.org/extensions/xep-0262.html specifie comment utiliser zrtp a la place du simple RTP * "XEP-0272 Multipary Jingle (MUJI)":http://xmpp.org/extensions/xep-0272.html specifie comment coordonner des sessions jingle entre un groupe de personnes et donc permet de faire des conferences multi. h2. Autres extensions interessantes h3. "Personnal Eventing Protocol":http://xmpp.org/extensions/xep-0163.html ou PEP PEP est une simplification de l'extension "Publish-Subscribe":http://xmpp.org/extensions/xep-0060.html realise dans l'optique de permettre a l'utilisateur de definir des information contextuelle tel que la musique qu'il ecoute ou encore son activite actuelle. Elle definie un ensemble de specifications pour chaque possibilite. "XEP-0118: User Tune":http://xmpp.org/extensions/xep-0118.html pour la fonction "Je suis en train d'ecouter ..." "XEP-0108: User Activity":http://xmpp.org/extensions/xep-0108.html pour "Je suis en train de dormir" "XEP-0107: User Mood":http://xmpp.org/extensions/xep-0107.html pour "Je suis fatigue" "XEP-0080: User Location":http://xmpp.org/extensions/xep-0080.html pour "Je suis a la Tour Eiffel plus precisement a latitutde 42 longitude 42" "XEP-0084: User Avatar":http://xmpp.org/extensions/xep-0084.html pour envoyer son nouvel avatar h3. Avatars Afin de gerer les avatars de l'utilisateur on peut implementer ces specification: * "XEP-0153: vCard-Based Avatars":http://xmpp.org/extensions/xep-0153.html cette extension est actuellement la plus utilise pour gerer les avatars. Cependant elle est destine a etre remplace par la suivante * "XEP-0084: User Avatar":http://xmpp.org/extensions/xep-0084.html Cette extension elle utilise Publish-Subscribe h3. Gains en bande passante "XEP-0138: Stream Compression":http://xmpp.org/extensions/xep-0138.html pour compresser la connexion avec le serveur "XEP-0237: Roster Versioning":http://xmpp.org/extensions/xep-0237.html Cette extension permet d'eviter l'envoi de toute la liste de contact. Elle met en place un mecanisme de version de la liste envoie uniquement les changements entre les differentes version de la liste de contact. Elle est egalement specifier dans la rfc3921bis h3. Divers "XEP-0126: Invisibility":http://xmpp.org/extensions/xep-0126.html pour apparaitre deconnecte. "XEP-0154: -User Profile-":http://xmpp.org/extensions/xep-0154.html Cette extension est destine a remplacer les vcards. Elle permet le stockage de beaucoup plus d'informations et pourrait meme servir a mettre en place un social networking <-- Deferred by the XMPP Standards Foundation, en gros faut plus l'utiliser!