Feature #58
Liste de XEP a implementer
100%
Description
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.
Extensions requise pour BEEM¶
XMPP Core Client 2009¶
Un client XMPP doit implementer ces specifications:- rfc3920 Cette specification definie le coeur du protocole XMPP
- rfc3921 Cette specification definie un ensemble d'extension basique pour le XMPP
- XEP-0030 Service Discovery 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 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 et rfc3921bis . 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.
XMPP Advanced Client 2009¶
Un client XMPP "avance" doit implementer ces specifications :- XEP-0016: Privacy Lists Cette extension specifie le protocole pour implementer le blocage d'un contact (comme msn)
- XEP-0191: Simple Communications Blocking 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 Cette specification permet d'implementer des salons de discussion like irc
- XEP-0054 vcard-tmp permet de stocker une v-card sur le serveur et ainsi permettre de recuperer des informations sur un contact
- XEP-0085: Chat State Notifications 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 qui est en status experimental.
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 definit le coeur du protocole Jingle
- XEP-0167: Jingle RTP Sessions specifie le protocole pour realiser une session en utilisant le protocole RTP
- XEP-0176: Jingle ICE-UDP Transport Method 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 specifie une methode de transport en UDP. C'est une methode simple qui marche dans les configurations simples.
Autres extensions interessantes¶
Personnal Eventing Protocol ou PEP¶
PEP est une simplification de l'extension Publish-Subscribe 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 pour la fonction "Je suis en train d'ecouter ..."
XEP-0108: User Activity pour "Je suis en train de dormir"
XEP-0107: User Mood pour "Je suis fatigue"
XEP-0080: User Location pour "Je suis a la Tour Eiffel plus precisement a latitutde 42 longitude 42"
XEP-0084: User Avatar pour envoyer son nouvel avatar
Avatars¶
Afin de gerer les avatars de l'utilisateur on peut implementer ces specification:- XEP-0153: vCard-Based Avatars 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 Cette extension elle utilise Publish-Subscribe
Gains en bande passante¶
XEP-0138: Stream Compression pour compresser la connexion avec le serveur
XEP-0237: Roster Versioning 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
Divers¶
XEP-0126: Invisibility pour apparaitre deconnecte.
XEP-0154: User Profile 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