Journal Utilisez votre client courriel sur le réseau XMPP/Jabber grâce à « Salut à Toi » + nouveautés

Posté par (page perso) .
6
18
jan.
2011
Bonjour à tous,

Je commence par un rapide petit rappel:
« Salut à Toi » (ou SàT) est un client XMPP/Jabber que je développe depuis un moment, j'ai déjà fait quelques journaux à ce sujet avec une présentation détaillée:
Il permet l'utilisation de différentes interfaces (frontends) et est ainsi utilisable avec une interface graphique (Wix), une interface console (Primitivus) ou en ligne de commande (jp). Il utilise un système d'extensions, et permet notamment de jouer au Tarot avec vos amis (ou d'envoyer un mail à plusieurs personnes sur CouchSurfing, mais c'est plus anecdotique).

Je viens de développer de nouvelles extensions qui permettent d'utiliser votre client courriel (MUA) de type KMail, Mutt, Thunderbird, Roundcube sur le réseau jabber. L'idée est qu'à terme, XMPP/Jabber disposent de tous les atouts pour remplacer avantageusement le courriel. Ces extensions permettent la réceptions (en IMAP) de mails autant que l'envoi (en SMTP). Vous aurez plus de détails sur mon billet à ce sujet.

D'autre part, j'ai récemment mis en place les outils nécessaires pour accepter les contributions, et travaillé sur un script d'installation pour la rendre triviale.
Ainsi avec le wiki, le traqueur de bogues, les dépôts publics, les listes de diffusion, et le serveur ftp public, j'espère commencer à voir arriver des contributions (ne serait-ce qu'un rapport de bogue, des corrections de fautes dans le wiki, etc.). Mon traqueur de bogues n'est en place que depuis un peu moins d'une semaine, et j'aimerais le voir se remplir un peu (bogues ou suggestions d'améliorations/de fonctionnalités).
Le logiciel est à un niveau « alpha », comprendre qu'il ne faut pas l'utiliser comme client principal, mais XMPP permet justement de continuer à garder votre client favori tout en essayant SàT.

Pour l'installation, ça devrait fonctionner sans soucis avec pip ou easy_install. Sur une *buntu, il suffit d'entrer:
sudo apt-get install python-pip python-dev
sudo pip install "ftp://ftp.goffi.org/sat/sat.tar.bz2"


et si vous voulez la version de dév (et donc les extensions IMAP/SMTP):
sudo apt-get install python-pip python-dev mercurial
sudo pip install hg+http://repos.goffi.org/sat/


Enfin, j'ai l'intention de proposer une dépêche bientôt pour présenter le logiciel, mais j'attends encore quelques fonctionnalités/corrections.

quelques liens:
  • # corrections

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

    «un interface»: s/un/une/
    «de mails autant que l'envoi (en XMPP)»: s/XMPP/SMTP/ (mais ça va de soi)

    Et pourtant j'ai relu !
    • [^] # Re: corrections

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

      bon j'ai ajouté des espaces (pas demi-cadratin) à côté des « et » et corrigé dans ton journal ce que tu indiquais. Pour le reste, je vais essayer de t'envoyer Nÿco< pour des remarques avisées :-)
      • [^] # Re: corrections

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

        Ben en fait ça m'intéresse beaucoup d'avoir aussi les remarques de ceux qui s'intéressent peut être un peu moins à XMPP/Jabber, donc faut pas hésiter hein ;)

        PS: merci pour les corrections :)
      • [^] # Re: corrections

        Posté par . Évalué à 3.

        Ah, non, justement ! Tu as mis des demi-cadratins (à raison, semble-t-il, avec les guillemets français...), mais il en faut des insécables pour éviter les renvois à la ligne. L'espace demi-cadratin correspondant à la séparation entre deux mots. L'espace fine utilisée avec les ponctuations hautes/doubles (à l'exception des deux-points, semble-t-il également) est un quart de cadratin...
        L'espace cadratin, parfois appelée tabulation, est une espace longue censée faire la largeur d'un M.

        http://fr.wikipedia.org/wiki/Cadratin
        http://fr.wikipedia.org/wiki/Espace_typographique#Variations

        En principe, avec une distribution Linux suffisamment récente, tu devrais avoir :
        - l'espace insécable " " via [Alt Gr]+[espace] ;
        - l'espace fine insécable via " " [SHIFT]+[Alt Gr]+[espace] ;

        Sous Gnome, c'est paramétrable dans Système/Préférences/Clavier, onglet Agencement, bouton Options, option « Utiliser la barre d'espacement pour insérer un espace insécable » et une liste d'options possibles.
  • # Un client unique pour communiquer avec ses contacts

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

    Je ne sais pas trop si c'est ton objectif, mais le client de messagerie libre de mes rêves (un peu inspirés d'Android et d'Emphaty) permettrait de dialoguer avec tout ses contacts sans se soucier du moyen par lequel on communique : Mail, messagerie instantanée, SMS, téléphone, …

    Du style, pour chaque contact, on entre une liste d'identifiants, puis il y a un voyant vert pour indiquer quand il est connecté et on peut lui parler (c'est sûr que si lui utilise Hotmail, il va pas être très rapide pour répondre :D), et ça permet de garder des historiques de conversations avec tout les contacts.

    Voici une liste non exhaustive de protocoles : Jabber (dont Facebook), les mails (en PUSH), MSN, Skype, SIP (un client qui fonctionne avec la Freebox serait parfait :D), SMS, téléphone, pigeon voyageur, …

    « En fait, le monde du libre, c’est souvent un peu comme le parti socialiste en France » Troll

    • [^] # Re: Un client unique pour communiquer avec ses contacts

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

      Ben en fait XMPP permet déjà ça avec les transports: tu utilises ton compte Jabber, et tu t'abonnes aux transports désirés, et ça y'a rien à faire côté client (à part gérer le protocole des transport - XEP-0100 - correctement :) ).
      D'ailleurs le transport mail est une des raisons qui me font dire que XMPP est bien placé comme alternative à celui-ci (cf mon dernier billet cité dans ce journal).

      Là ce que je viens de faire, ça permet surtout de déléguer la messagerie "lourde" à des logiciels qui savent déjà très bien la gérer, pour me concentrer sur la partie "messagerie instantanée" (ce qui n'exclue pas que je laisserai sûrement la possibilité de gérer la messagerie lourde dans les frontends plus tard).

      PS: sinon pour ce que tu veux, les clients multi-protocole sont peut être plus adaptés ? Kopete gère une bonne partie de ce que tu cites.
    • [^] # Re: Un client unique pour communiquer avec ses contacts

      Posté par . Évalué à 2.

      Le problème de l'interface unique, c'est que finalement on ne communique pas exactement pareil suivant le support. Par exemple, on vas pas envoyer pleins de messages via SMS ($), par mail, on fait attention à avoir un style correct, à mettre un objet...
      • [^] # Re: Un client unique pour communiquer avec ses contacts

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

        Je suis d'accord, il peut donc y avoir plusieurs "fils" de conversations ?

        PS : SMS illimités c'est le bien.

        « En fait, le monde du libre, c’est souvent un peu comme le parti socialiste en France » Troll

      • [^] # Re: Un client unique pour communiquer avec ses contacts

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

        D'où l'intérêt d'avoir un client pour le "message lourd" (mail), un pour le chat, etc. C'est dans cette direction que part SàT, surtout avec ses différents frontends :). Après, xmpp te permet de parler à d'autres réseaux grâce aux transports.

        En gros pour un mail:

        Client Mail (Thunderbird) ==> SàT ==> Serveur XMPP ==> Transport ==> Tout (XMPP, Mail, SIP, etc).

        Pour une messagerie instantané, c'est la même chose sauf que c'est un frontend qui est utilisé au lieu du client mail (Wix par exemple).

        Pour envoyer un fichier, tu utilises toujours le même réseau (XMPP) qui peut au final envoyer vers tout (genre par mail), mais tu peux utiliser un frontend plus adapté en ligne de commande, comme jp:

        jp fichier.tar.bz2 contact@serveur.ext


        Bref, tout passe par XMPP, mais t'utilises une interface adaptée à ton besoin.
        • [^] # Re: Un client unique pour communiquer avec ses contacts

          Posté par . Évalué à 2.

          Toutefois, je pense qu'un client spécifique Mail sur XMPP (et non pas IMAP/SMTP) à tout son intêret. Je pense notament à la sauvegarde des contacts et des différents paramètres (régles de filtrage, etc...).

          Ha, le rêve de pourvoir ouvrir son client mail n'importe où et de retrouver toutes ces petites habitudes.

          Après, une seule interface (bien pensée toutefois) ou 5 clients différents pour gérer à fond son compte jabber, ça dépendra surtout de l'utilisateur.
          • [^] # Re: Un client unique pour communiquer avec ses contacts

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

            Hum, c'est tout à fait faisable de sauver ses contacts du MUA via XMPP (enfin ça dépend du client ce coup ci: IMAP et SMTP c'est standard et géré partout, la gestion des contacts c'est autre chose), mais c'est une idée intéressante à creuser.
            Les règles de filtrage, il suffit d'implémenter les scripts sieve qui sont justement prévus pour ça (langage de script standard côté serveur IMAP - ou autre -, c'est déjà géré nativement au moins dans kmail, et je crois qu'il faut un plugin pour thunderbird). Vu qu'il y a des déjà des bibliothèques Python pour ça, il suffit de proposer la fonctionnalité sur http://bugs.goffi.org pour que je m'en souvienne le jour où j'ai un peu de temps libre (c'est pas demain la veille ceci dit ;) ).

            Au passage, je n'exclus pas de faire moi même une gestion de messages "lourd" (type courriel) plus tard dans les frontends de SàT, mais c'est surtout que c'est impossible dans l'immédiat (j'ai trop de choses à faire, et je suis seul).
          • [^] # Re: Un client unique pour communiquer avec ses contacts

            Posté par . Évalué à 2.

            Le souci, c'est le stockage. Si tu te limites à une approche "POP" de la récupération des mails, ça va : tu envoies tes messages en XMPP, et tu récupères à la connexion et/ou à l'arrivée des messages. (en gros du POP en Push, si vous suivez :p )

            Sauf que bien des gens, moi compris, souhaitent généralement garder leurs mails existants à même le serveur. Et du coup, on préfère IMAP. Et là, XMPP est "tout nu" pour l'instant. Même si on peut envisager de se servir de PubSub pour ça, il faudrait proposer une XEP, et c'est du boulot.
            • [^] # Re: Un client unique pour communiquer avec ses contacts

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

              • [^] # Re: Un client unique pour communiquer avec ses contacts

                Posté par . Évalué à 2.

                J'entends bien, mais on est très loin des possibilités offertes par IMAP. Pas de dossiers, pas d'index, rien du tout. Si on recherche un message, faut se paner la liste. Sans compter le fait que _pour_l'instant_, les serveurs ne sont généralement pas chauds à l'idée de voir leurs clients stocker massivement leurs messages archivés dessus.

                Alors je ne dis pas que c'est insurmontable. Si l'idée prend - et je pense que c'est possible, depuis le temps que ça me démange - c'est clair que les admins de serveurs Jabber vont commencer à prévoir davantage d'espace et/ou des quotas d'archivage. Mais comme d'habitude, certains (Google?) vont traîner la patte. Idem pour la structure des messages : on pourrait envisager de stocker un index dans PubSub, par exemple. Mais rien n'est défini pour l'instant à ce niveau, et c'est nécessaire pour pouvoir proposer une "expérience utilisateur" similaire à celle d'un MUA.
    • [^] # Re: Un client unique pour communiquer avec ses contacts

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

      Bonsoir,

      SIP (un client qui fonctionne avec la Freebox serait parfait :D),

      Cela fait longtemps que Free à corrigé un bug sur ses serveurs, et maintenant n'importe quel client fonctionne avec.

      Enfin, il n'y a pas que free qui propose du SIP.

      G
  • # Merci

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

    Et bravo pour ce travail, j'espère que ton travail va porter ses fruits, et que des bonnes âmes feront des paquets pour mandriva et arch (et les autres distributions que les gens utilisent)

    Juste une question, serait-il possible, même si c'est pas pour tout de suite, d'imaginer une extension qui permette de se connecter à un salon (MUC) de façon aussi simple que ca l'est aujourd'hui sur IRC. C'est à dire une grande fenêtre qui occupe tout l'écran, et pas une mini-fenêtre où il faut scroller à mort pour voir une conversation cohérente, et réductible en petite icône dans la barre des tâches :)

    (Je sais je radote, je répète cette rengaine à chaque fois qu'il y a un journal sur XMPP en espérant qu'un jour quelqu'un sera d'accord avec moi, et sera capable de et motivé pour développer l'application de surcroît - et qu'on ne me parle pas de tkabber :-P )
    • [^] # Re: Merci

      Posté par . Évalué à 2.

      Je n'ai peut-être rien compris à ta problématique, mais as-tu essayé Poezio ? C'est client Jabber "MUC-only" inspiré graphiquement par irssi.
    • [^] # Re: Merci

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

      Merci pour les encouragements :)

      Le paquet Arch va être disponible très bientôt (il va s'appeler sat-xmpp, sat étant déjà pris): quelqu'un du forum Ubuntu (Wido) m'a proposé d'en faire un et s'en charge donc, et nous avons passé une partie de la soirée hier dessus. Par la même occasion il a packagé sat-urwid qui sont les extensions pour Urwid (bibliothèque console python de type ncurses) que j'ai fait pour Primitivus. D'ailleurs si d'autres se sentent l'âme de faire un paquet pour une autre distro, n'hésitez pas à me contacter pour régler les soucis éventuels (il y a beaucoup de dépendances, ce n'est pas forcément simple).

      Pour IRC, outre en effet Poezio déjà cité, Primitivus permet d'avoir le salon en plein écran en console (on peut cache les contacts et les membres du salon en deux raccourcis clavier, on peut même supprimer l'horodatage pour gagner de la place). Côté interface de bureau, je suis pour l'instant dans le très classique (type ICQ avec contacts + fenêtres de conversations), mais maintenant que ça commence doucement à tourner, je vais pouvoir commencer à me lacher un peu de ce côté; j'ai quelques idées en tête, dont un affichage proche d'IRC.
      Gajim permet plusieurs types d'interface (type ICQ classique, tout groupé, etc), c'est très proche d'IRC.

      Pour ce genre de suggestion, vous pouvez utiliser le bugzilla ( http://bugs.goffi.org ): dans un forum je peux oublier, le bugzilla garde trace, attend une réponse argumentée en cas de refus, et permet de voter pour savoir ce qui est le plus demandé :).

Suivre le flux des commentaires

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