Les tubes de Telepathy disponibles dans Empathy

Posté par (page perso) . Modéré par Jaimé Ragnagna.
Tags :
1
26
avr.
2008
XMPP
La version 0.23.1 du logiciel de messagerie instantanée Empathy basé sur Telepathy est sortie cette semaine. La version précédente activait la voix et la vidéo pour les utilisateurs de Jabber et de SIP. Cette nouvelle version, outre une quantité impressionnante de bogues corrigés, améliore la gestion des tubes de Telepathy.

Les tubes de Telepathy permettent aux différentes applications du bureau déjà existantes de réutiliser la messagerie instantanée pour échanger des données arbitraires dans le protocole de l'application. Cela permet par exemple de faire de l'édition collaborative ou de jouer sur internet avec vos contacts.

Cette sortie est l'occasion de faire un tour d'horizon des utilisations actuelles ou à venir des tubes de Telepathy. Les différents composants de Telepathy

Telepathy n'est pas un logiciel mais une spécification D-Bus. Plusieurs logiciels suivent cette spécification.
  • Les Connection Manager : ils se connectent à la messagerie instantanée (Jabber, MSN, etc.) et exportent la connexion sur D-Bus. Ils n'ont pas d'interface utilisateur et sont lancés automatiquement au besoin par activation D-Bus. Les principaux sont Gabble pour Jabber, Salut pour link-local, Telepathy-Sofiasip pour SIP et Telepathy-haze pour les greffons de libpurple (pidgin).
  • L'Account Manager : il gère les comptes de l'utilisateur. Le logiciel Mission Control remplit ce rôle.
  • Les clients Telepathy : c'est la partie visible par l'utilisateur. Empathy est un client Telepathy visant l'intégration GNOME, il utilise les Connection Managers et l'Account Manager à travers D-Bus pour afficher la liste des contacts, les discussions en cours, ou une videoconférence.

Les tubes

Les tubes permettent un échange de données arbitraires entre les applications de plusieurs contacts. Telepathy propose plusieurs types de tubes :
  • stream tubes : similaire à TCP. Un contact offre un service (il écoute sur une socket) et d'autres contacts se connectent. Ce tube garantit l'ordre et la retransmission comme TCP. Ils sont utilisés par gtetrinet et VNC.
  • datagram tubes : pas encore implémenté, similaire à UDP. Ils pourraient être utilisé pour Openarena.
  • D-Bus tubes : similaire à D-Bus. Ils permettent de faire passer des messages D-Bus. Les messages sont retransmis si nécessaire. Les messages d'un contact sont ordonnés (ordre causal). Ils sont utilisés par la plupart des activités de l'OLPC.

L'implémentation actuelle des tubes pour Jabber fait passer les données des stream tubes et D-Bus tubes par les serveurs Jabber. Les protocoles gourmands en bande passante comme la musique ou VNC ne peuvent pas raisonnablement être utilisés de cette façon. Une implémentation des tubes utilisant des connections peers-to-peers (avec pénétration NAT) est en cours sans changer la spécification D-Bus pour les applications utilisant les tubes.

AbiWord

AbiWord est un traitement de texte pour GNU/Linux et Windows. La version 2.6.2 sortie récemment permet désormais l'édition collaborative de documents en temps réel grâce à un greffon nommé Collab. Celui-ci possède plusieurs backends, ce qui lui permet d'être utilisé au dessus de Jabber ou simplement de TCP. Dans le cadre de l'utilisation d'AbiWord sur l'OLPC un nouveau backend a été créé en utilisant les tubes D-Bus de Telepathy, ainsi on utilise le système intégré de messagerie instantanée et l'utilisateur n'a plus besoin que d'indiquer le ou les contact(s) avec qui il souhaite éditer le document. Le backend Telepathy de Collab n'est toutefois pas encore prêt à être utilisé sur le desktop.

Inkscape

Inkscape est un logiciel de dessin vectoriel pour Windows, OSX et GNU/Linux.
Inkboard était un projet de tableau blanc coopératif qui est maintenant intégré dans Inkscape. Il est cependant toujours en développement et n'est pas activé avec les options de compilation par défaut. Le tableau blanc se base sur Jabber. Comme le greffon Collab d'Abiword avec le backend XMPP, il faut indiquer le serveur Jabber, login et mot de passe à Inkscape pour qu'il se connecte et qu'il affiche la liste des contacts avec lesquels vous pouvez partager votre tableau blanc.

L'utilisation des tubes de Telepathy permettrait à l'utilisateur de réutiliser la connexion à la messagerie instantanée du bureau.

VNC Vinagre/Vino

Le protocole VNC permet l'accès à un ordinateur à distance de manière graphique. Vino est un serveur VNC pour GNOME qui permet l'accès à votre session courante. Vinagre est un client VNC pour GNOME qui permet d'accéder à une session distante.

Lorsque l'ordinateur distant n'est pas dans le réseau local, Vinagre vous demande son adresse IP. Un prototype d'intégration à Telepathy a été fait dans Empathy. Il permet de ne plus saisir une adresse IP mais de simplement choisir un contact.
Le protocole VNC est alors encapsulé de manière transparente dans un stream tube de Telepathy.

Tic Tac Tube

Tic Tac Tube est un jeu de morpion qui utilise les tubes de Telepathy pour jouer avec ses contacts. Des screencasts montrent une invitation à jouer et la réception d'une invitation à jouer

Gtetrinet

Gtetrinet est un tetris multijoueur. Il utilise le protocole Tetrinet et nécessite un serveur. Des screencasts montrent le principe.

Rhythmbox

Rhythmbox est un lecteur audio. Il est possible d'indiquer à ses contacts ce qu'on écoute à l'aide du greffon IM Status.

L'étape suivante est de partager la musique avec ses contacts. Deux Google Summer of Code de 2005 permettent de faire cela :

Le premier permet de streamer ce qu'on écoute vers ses contacts, alors que le deuxième permet de partager sa bibliothèque avec le protocole DAAP.

Actuellement, le greffon DAAP de Rhythmbox permet de se connecter à une bibliothèque sur un réseau local ou d'un serveur dont on connait l'adresse IP.
Encapsuler le protocole DAAP dans un stream tube de Telepathy permettrait à l'utilisateur de choisir directement son contact sans avoir besoin de demander son adresse IP. Screencast export, screencast import.

D'autres projets utilisant Telepathy

Développement en cours

Les discussions se font sur le réseau IRC Freenode (irc.freenode.net) sur les salons #telepathy et #telepathy-fr.
  • # Comparaison Empathy / Decibel

    Posté par (page perso) . Évalué à 8.

    Il serait intéressant de faire une comparaison entre les choix d'implémentation de Telepathy choisie par GNOME (Empathy) et KDE (Decibel). Quelqu'un peut donner plus d'infos là-dessus ?
    • [^] # Re: Comparaison Empathy / Decibel

      Posté par . Évalué à 6.

      Le problème de decibel c'est que c'est une partie qui dont il n'y a pas encore de spec. Empathy utilise MissionControl de Nokia qui n'est pas compatible avec decibel.

      Collabora est entrain d'écrire une spec s'inspirant des deux.
  • # Compatibilité autres OS ?

    Posté par (page perso) . Évalué à 5.

    Il semblerait que Telepathy permette de simplifier la communication des applications entre elles. Comme par exemple abiword ou inkscape utilisant une connexion IM, ou je suppose même un client SIP permettant d'utiliser des contacts jabber. Je me trompe ?


    Dans ce cas, sauf si on veut juste rester entre linuxiens, y a-t-il des possibilités d'utiliser telepathy sur d'autres plateformes (je pense à Windows et Mac OS X). D'une manière facile à installer ?

    Mildred
    • [^] # Re: Compatibilité autres OS ?

      Posté par . Évalué à 2.

      Bah, decibel est porté pour ces 2 plateformes, mais l'utilisabilité de décibel est pas encore au top (laissons le temps aux dev de KDE de faire leurs affaires). Sinon pour Empathy, je vois pas bien ce qui ferait que ca ne marche pas sous pomme et autre MS gameboy.

      A+
      Seb
    • [^] # Re: Compatibilité autres OS ?

      Posté par . Évalué à 2.

      Pas mal de composant du stack Telepathy ont déjà été buildé sous Windows. Je garantit pas que ce soit totalement utilisable mais ça ne devrait pas demander trop de boulot.

      Pour Empathy ça devrait être jouable aussi (c'est surtout du GTK+ et du D-Bus), donc si des gens sont intéressés toutes les contributions sont les bienvenues.
  • # Sécurité

    Posté par (page perso) . Évalué à 10.

    Ce qui m'inquiète, c'est le caractère automatique. C'est le genre d'architecture propice aux vers. Un vers qui serait un client DBus, écoutant les conversations IM, et introduisant alors des messages automatiques pour demander à un interlocuteur de télécharger le vers. Pour peu que le client de messagerie ait des comportements automatiques, cela peut rapidement dégénérer.

    Ou alors, quels sont les mécanismes de sécurité mis en place pour éviter ce genre de choses ?
    • [^] # Re: Sécurité

      Posté par (page perso) . Évalué à 6.

      Enfin en même temps si tu arrives à avoir un logiciel qui accède à dBus, il doit pouvoir accéder au reste du système, et donc télécharger lui-même tout ce qu'il veut ... et l'exécuter.
      Je ne voit pas tant que ça un problème. Car le bud dBus reste local d'après ce que je comprend. Il n'est pas accessible depuis l'extérieur. Si ?
      • [^] # Re: Sécurité

        Posté par . Évalué à 3.

        Ben, par exemple, je ne sais pas si Abiword a un système de macros, mais il ne faudrait pas qu'un macrovirus puisse se propager par n'importe quel tube, ou au moins que le destinataire ait un gros message "Attention !" clignotant en rouge (et même ça, ça ne découragerait pas toutes les ICC).

        Certes, le problème se pose dans n'importe quel système où différents nœuds d'un réseau sont capable de communiquer et d'exécuter ce qui arrive. Mais si j'ai bien compris LupusMic, le risque avec Telepathy, c'est que tout cela devienne tellement transparent qu'on ne fasse plus attention du tout.
    • [^] # Re: Sécurité

      Posté par . Évalué à 2.

      Le DBus de session n'est accessible que par l'utilisateur connecté localement, donc si un virus parvient à y accéder tu as plus grave à te soucier que simplement un msg envoyé par messagerie.

      De plus un aspect interressant de Telepathy c'est que les ConnectionManager tournent chacun dans un processus indépendant qui ne font qu'accéder au bus de session, ils peuvent donc être isolés dans un chroot et on peut largement restreindre leurs permissions pour éviter toute propagation d'une attaque depuis le server de messagerie.

      Bref je crois pas que telepathy soit plus vulnérable qu'un autre système, que du contraire. Cela dit je suis vraiment pas un spécialiste de la questions....
  • # Je veux tester le VoIP !

    Posté par (page perso) . Évalué à 2.

    Ouaip, je n'ai aucun contact qui dispose d'un client qui supporte aussi la VoIP pout Jabber.
    Il y aurait des DLFPiens qui seraient prêts à perdre du temps avec moi pour tester ça ?
  • # Pendant que j'y pense…

    Posté par (page perso) . Évalué à 2.

    Il y a quelques petites choses qui me manquent sous Empathy :
    - le chiffrement GPG ;
    - la gestion des méta-contacts ;
    - un visualisation plus complète des informations sur le contact.

    Ces fonctions sont-elles prévues à terme ou pas ?
    • [^] # Re: Pendant que j'y pense…

      Posté par . Évalué à 3.

      Il n'y a pas (encore) de spec Telepathy pour le chiffrement GPG. Je t'invite à ouvrir un bug sur bugs.freedesktop.org afin de garder une trace de cette requête.

      Empathy a un bug ouvert pour les meta-contacts:
      http://bugzilla.gnome.org/show_bug.cgi?id=460647
      On réfléchit à la meilleure façon de faire ça. Idéalement ça devrait se faire en intégrant les contacts avec le carnet d'addresse (e-d-s, People, etc).

      Que veux-tu dire par "plus complète"? Je présume que tu es intéressé par les infos du contact. Pour ça, on a besoin d'une spec également. Tu peux suivre l'évolution sur ce bug: https://bugs.freedesktop.org/show_bug.cgi?id=13350
      • [^] # Re: Pendant que j'y pense…

        Posté par (page perso) . Évalué à 2.

        Merci pour ces informations ; le simple fait de savoir que certaines de ces fonctions sont en cours de réflexion fait déjà plaisir.

        Quand je disais « plus complète », je voulais dire par là : client et OS utilisés, coordonées postales et téléphoniques, etc…

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.