Salut à Toi 0.4.0: toujours en chemin...

Posté par (page perso) . Édité par ZeroHeure, Xavier Teyssier, tuiu pol, palm123 et Benoît Sibaud. Modéré par ZeroHeure. Licence CC by-sa
61
27
fév.
2014
XMPP

Salut à vous !

Nous avons le plaisir d'annoncer « Salut à Toi » version 0.4, qui marque de très gros changements dans la vie du projet.

Salut à Toi est un puissant outil de communication libre et multi-interfaces, il permet le microblogage, la messagerie instantanée, la gestion simple des permissions de groupes (aussi appelées « aspects » ou « cercles » par ailleurs), les jeux, et bien d'autres choses.

Bâti avec une réflexion permanente sur l'éthique et le social (dans son sens politique), Salut à Toi (SàT par la suite) dispose notamment d'un contrat social.

Étant basé sur XMPP, SàT est décentralisé et compatible avec les autres projets utilisant ce protocole.

Sommaire

Glossaire

  • Bellaciao : interface de bureau (basée sur Qt)
  • Libervia : interface web, et aussi le nom du site de démo
  • jp : l'interface en ligne de commande
  • Primitivus : l'interface console
  • Wix : Interface de bureau (basée sur WxWidgets)

logo SàT

De gros changements

Avant d’entamer la traditionnelle liste de nouvelles fonctionnalités, quelques notes sur l'évolution du projet. Nous sommes désormais deux à travailler dessus, et à plein temps : Souliane, un ami de longue date, m'a ainsi rejoint. Nous souhaitons vivre du projet, mais nous voulons respecter nos idéaux (dont une partie est déclarée dans le contrat social) : aussi nous refusons toute publicité, toute vente d'information ou assimilé, etc.

Nous avons choisi de nous organiser en autogestion, probablement sous la forme d'une coopérative et nous espérons pouvoir débuter cet été.

Il y a trois modèles économiques que nous envisageons :

  • Le premier serait un fonctionnement basé sur les dons. C'est un modèle précaire, mais qui nous offrirait la plus grande indépendance dans nos décisions.
  • Le deuxième, plus à la mode aujourd'hui, est l'utilisation de plate-formes de financement collaboratif (crowdfunding). Au final, c'est assez proche d'un fonctionnement par dons, mais ça demande plus de travail pour la préparation des dossiers etc. De plus nous devrions choisir avec soin les plate-formes à utiliser.
  • La troisième est un fonctionnement plus classique basé sur les services : support technique, développement de fonctionnalités particulières etc. C'est le modèle qui nous laisserait le moins d'indépendance, et le moins de temps à consacrer au projet lui même.

Le choix des fonctionnalités

Nous débattons régulièrement de l'organisation du projet, des fonctionnalités à implémenter, etc. La vie privée est certes primordiale, mais nous pensons que ce n'est pas le seul point à étudier, et que l'impact qu'a ce genre d'outil sur nos vies mérite qu'on s'y attarde. La technologie n'est pas neutre, aussi nous réfléchissons aux façons d'implémenter et de disposer les choses, et nous sommes ouverts au débat (et si possible en vis à vis et non derrière l'écran) ; n'hésitez pas à venir discuter avec nous.

Ceci dit, passons un peu aux nouveautés…

La liste est très longue (la dernière version a plus d'un an), en voici une sélection :

Microblogage

Le microblogage a beaucoup évolué. Les commentaires sont désormais gérés, toujours avec les permissions fines: les commentaires ont la permission du microblog qu'ils commentent. L'unibox de Libervia qui perturbait beaucoup de monde est désormais optionnelle, par défaut la saisie se fait de manière plus classique.

vue_globale.png

Les textes riches ont été implémentés. Le système est très souple, et il est facile d'ajouter de nouvelles syntaxes, qui seront disponibles pour tous les frontaux.

sat_capture_rich.png

Quand vous éditez un contenu, vous pouvez l'éditer dans la syntaxe de votre choix même s'il a été publié autrement. Il est ainsi possible d'éditer en Markdown un billet publié en XHTML.

Pour le moment, XHTML, Markdown et du texte simple sont disponibles, et d'autres devraient arriver rapidement (notamment Dokuwiki ou la syntaxe Dotclear).

sat_params.png

Les (micro)billets en texte pur disposent désormais d'une détection d'URL.

En plus de l'édition riche, une édition WYSIWYG (qui sert aussi de pré-visualisation) est possible avec Libervia.

sat_wysiwyg.png

Et il y a toujours le blog statique qui affiche vos billets publics. Il dispose désormais d'un flux Atom. Nous sommes proches d'avoir un moteur de blog décentralisé complet, et nous envisageons de passer nos propres blogs sur SàT d'ici la prochaine version, aussi des outils d'import gérant Dotclear et Dokuwiki sont à prévoir.

sat_static_blog.png

Messagerie

Il est désormais possible d'envoyer des messages en copie carbone ou copie carbone invisible, suivant la XEP-0033

sat_extended_addressing.png

La configuration MUC a été implémentée (le menu n'est pour le moment disponible que dans Primitivus)

les notifications d'état de discussion ont été implémentées, vous permettant de savoir si quelqu'un est en train de vous écrire ou parti.

sat_chat_states.png

un plugin ajoute les commandes à la IRC, de type /nick ou /join

ligne de commande

Grâce à Dal, jp—le frontal en ligne de commande—est désormais passé à ArgParse. Ceci a permis de réorganiser les commandes proprement, et d'affirmer jp comme couteau suisse XMPP.

Il est facile de transmettre la sortie d'une commande ou d'un tube (pipe) à un contact, mais aussi de créer une télécommande (voir plus bas) ou d'envoyer un fichier. Sont à prévoir des commandes pour publier un microblog, gérer son roster, etc.

Un script d'auto-complétion est fourni pour Zsh.

Complètement de jp dans zsh

Divers

Gros travail sur les extras des salons de discussions. La Radio Collective (qui permet aux membres d'un salon de discussion d'uploader de la musique et de l'écouter en même temps) a été améliorée, et gère la sortie et le retour dans un salon.

sat_radiocol.png

sat_radiocol_invit.pngsat_radiocol_invit_2.png

Les commandes Ad-Hoc sont disponible, permettant de contrôler une entité à distance avec n'importe quel client XMPP

Basée sur les commandes ad-hoc, une télécommande universelle a été implémentée vous permettant de contrôler la plupart des logiciels à distance. Un billet sur mon blog en fait la présentation, et il y a également une courte vidéo de démo avec VLC

telecommande_-_libervia_-_4.png

Export de commande : autre fonctionnalité originale, il est possible de rediriger les entrées/sorties d'un programme à n'importe lequel de vos contacts (y compris sur un autre réseau à travers une passerelle), toujours en gérant les permissions simplement. Mon blog fait une démo avec l'export d'une session ftp à un contact sous Gajim

Les notifications sont disponibles dans Libervia (contribution de Link Mauve): si on vous parle alors que l'onglet est caché, un message devrait apparaître sur votre bureau

sat_notifs.png

Dans Libervia : en plus du glisser/déposer déjà disponible, un simple clic sur un contact ou un groupe ouvre maintenant le widget correspondant. Les widgets sont désormais déplaçables d'un onglet à l'autre.

Vue l'importance des groupes dans SàT (très utilisés pour la gestion des permissions), une interface de gestion du roster a été ajoutée à Libervia.

sat_roster_manager.png

Un mini annuaire XMPP a été commencé, il est déjà exploité par le serveur de démonstration sur libervia.org.

sat_directory.png

Sous et autour du capot :

De gros ré-usinages ont été faits, qui devraient entre autres choses faciliter la création de futurs frontaux, comme ceux pour petits écrans.

La base de données SQLite est mise à jour automatiquement.

Un travail a été fait sur les tests, avec l'installation d'un buildbot ( https://buildbot.goffi.org ) qui permet de les lancer à chaque commit.

Il y a aussi des projets satellites :

  • « SàT Pubsub » (basé sur Idavoll) est un composant Pubsub pour Prosody qui gère les permissions fines, utilisé pour le microblogage ;
  • « Urwid SàText » (basé sur Urwid) est une bibliothèque de widgets pour l'affichage en mode console, utilisé par le frontal Primitivus.
  • « Salut » est un très jeune annuaire XMPP. Vraiment basique pour le moment

Le saviez vous ?

Quelques rappels sur certaines fonctionnalités pas forcément connues :

Dans Libervia vous pouvez disposer vos Widget sur plusieurs lignes et/ou colonnes

SàT dispose d'un serveur IMAP qui permet d'utiliser un MUA tel que Thunderbird ou KMail pour lire vos messages

Futur

En dehors de nos projets de coopérative, sur le plan technique voici ce qui devrait arriver:

  • un gros travail sur la sécurité : nous avons volontairement laissé de côté cette question pour ne pas faire les choses à moitié et s'y consacrer pleinement, aussi l'intégration du https pour Libervia, le chiffrement de bout en bout, et le chiffrement des mots de passe en base sont à prévoir ;
  • finir le support microblogage et passer nos propre blogs sur SàT ;
  • étiquettes (aussi appelé (hash)tags) ;
  • frontaux/ports pour téléphones et tablettes, ainsi que pour Windows (et Mac ?) ;
  • remise à jour du frontal Bellaciao, basé sur Qt ;
  • intégration des flux RSS/Atom ;
  • gestion des événements, calendrier, etc.

Nous envisageons une version grand public pour cet été, ce sera la première version nommée et elle se nommera, comme déjà annoncé, « la Commune ».

Remerciements:

Un grand merci au contributeurs:

  • Link Mauve (Emmanuel Gil Peyrot) : notifications et passage en plugin Twisted pour Libervia, améliorations de style ;
  • Dal : gestion profils dans jp, passage de jp à ArgParse ;
  • Robotux (Thomas Preud'homme) : correction locales, mise à jour distribute.

Merci également aux empaqueteurs (Naha et Robotux pour Debian, Link Mauve pour Arch, et probablement d'autres qu'on ne connaît pas, n'hésitez pas à nous contacter).

Merci à Elefantom d'utiliser régulièrement la démo (qui n'était pas prévue pour ça) et de nous avoir ainsi transmis des messages d'encouragements ou des demandes d'améliorations.

Merci à Parinux et à Nanterrux pour m'avoir invité à donner des conférences, ainsi qu'aux JDLL auxquelles nous participerons de nouveau cette année.

Merci au Loop pour avoir hébergé le premier hackathon Salut à Toi :). L'ambiance et le lieux étaient géniaux.

Merci à Luc et Manu pour m'avoir interviewé dans l'émission « Symbiose », ainsi que pour les conversations qui ont suivi.

N'hésitez pas à nous rejoindre sur le salon SàT: sat@chat.jabberfr.org

  • # petite erreur

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

    Merci encore une fois aux modo pour avoir été rapides :).

    J'ai fait une petite erreur: le MUA est Thunderbird et non Firefox, mais bon je pense que tout le monde avait compris :)

  • # Euh

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

    J'ai pas compris, c'est quoi l’intérêt d'avoir une télécommande dans un réseau social? Que tes amis qui ne voient pas ton écran contrôle ton VLC? Je vois pas :p

    • [^] # Re: Euh

      Posté par (page perso) . Évalué à 10. Dernière modification le 27/02/14 à 11:45.

      regarde la vidéo.

      Imagine t'es dans ton salon, t'as VLC qui tourne sur l'ordi branché sur ton projecteur: en une commande tu fais une télécommande. Maintenant tu utilises un client XMPP sur ton téléphone, et hop tu peux contrôler VLC depuis ton téléphone, dans ton canapé sans te déplacer.

      Tu es dans une colocation, t'as Amarok qui tourne toujours dans le salon, et tu veux que tout le monde puisse changer le musique. En une commande tu fais la télécommande, et tu autorises tous les membres du groupe colocation à changer la musique.

      Tu fais une conférence, l'ordi est branché loin sur le projecteur. Tu fais ta télécommande pour Okular et tu peux changer les diapos depuis ton téléphone.

      Bref, ça sert à contrôler à distance. SàT a été construit dans l'idée d'utiliser XMPP aussi pour ce genre de choses, qui sortent de la messagerie instantanée ou du microblogage.

      • [^] # Re: Euh

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

        Et aussi, à terme on pourra faire ça avec des script ou n'importe quelle commande shell.

        Par exemple, un admin pourra relancer un serveur ou récupérer des stats très facilement, tu pourras l'utiliser en domotique pour monter ton chauffage avant d'arriver, etc…

        • [^] # Re: Euh

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

          Nono, méfie-toi je vais ouvrir un suivi : piloter la modération linuxfr depuis nos smartphones… Goffi, si tu mets ça au point, ça va être une tuerie!

          "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

          • [^] # Re: Euh

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

            Ben si s'il y a des scripts ou des API dispo, c'est pas très compliqué ;)

          • [^] # Re: Euh

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

            Bonjour,
            
            ceci est un message automatique.
            
            Nous vous remercions pour votre proposition de dépêche, et vous encourageons à en proposer d'autres. Cependant votre proposition ne peut être publiée telle que.
            
            Le chauffage n'était pas satisfaisant pour l'équipe de modération. En effet, nous n'acceptons pas de modérer des dépêches lorsqu'il fait trop froid.
            
            -- 
            L'équipe de modération
            
  • # Et la tribune

    Posté par . Évalué à 4.

    Si je peux me permettre, il vous manque le support du plus formidable outil de communication en ligne, inventé ici-même, une technologie bien française et qui roxe !!!

    Je suis donc triste de ne point voir le support des tribunes dans cet outil

    • [^] # Re: Et la tribune

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

      Elle est demandée sur notre traqueur de bogues: http://bugs.goffi.org/show_bug.cgi?id=22 (par devnewton). Nous avons un peu laissé les bogues de côté car nous avions un gros travail à faire en interne et sur le microblogage, mais elle est prévue pour la 0.5, surtout que ça m'intéresse aussi. Dans la même veine, la gestion de l'utf-8 dans les noms de comptes dans libervia, qui a été demandé dans la dernière dépêche, est prévue aussi pour la prochaine version…

  • # Ouch

    Posté par . Évalué à 9.

    Ben y'a des choses qui semblent sympa à premiere vue… mais qu'est-ce que c'est mal fichu :

    julien@misato ~/Downloads/sat-0.4.0 % head -1 setup.py
    #!/usr/bin/env python

    OK, donc ca doit tourner avec un peu n'importe quel python… hé ben non, ca marche pas en 3 :
    julien@misato ~/Downloads/sat-0.4.0 % python3.3 setup.py
    File "setup.py", line 79
    mode = ((os.stat(dest_name)[ST_MODE]) | 0555) & 07777
    ^
    SyntaxError: invalid token

    OK, donc forçons python 2 :
    julien@misato ~/Downloads/sat-0.4.0 % python2 setup.py install
    Running pre-installation dependencies check
    which: no apt-get in (/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/julien/.gem/ruby/1.9.1/bin:/home/julien/.vpn)
    You should install the following dependencies with your distribution recommanded tool before installing sat:
    - wx (Debian name: python-wxgtk2.8)

    OK, donc le script fait un which apt-get, c'est pas du tout distrib-oriented…

    Apres une petite install, le script d'install passe.
    Et là :
    julien@misato ~/Downloads/sat-0.4.0 % sat
    /usr/bin/sat: ligne61: twistd : commande introuvable

    Ok, donc ca check wxpython, mais pas cette dep la…

    julien@misato ~/Downloads/sat-0.4.0 % sat
    exceptions.ImportError: No module named wokkel

    Ah, ca non plus…

    Bon, voila, la ca marche :
    julien@misato ~/Downloads/sat-0.4.0 % sat
    Initialisation du gestionnaire de mémoire
    Connecting database
    Parameters init
    Loading default params template
    Bridge initialization
    Init DBus…
    Init DbusObject…
    registering DBus bridge method [getVersion]
    registering DBus bridge method [getProfileName]
    registering DBus bridge method [getProfilesList]
    registering DBus bridge method [getEntityData]
    registering DBus bridge method [createProfile]
    registering DBus bridge method [asyncCreateProfile]
    registering DBus bridge method [deleteProfile]
    registering DBus bridge method [registerNewAccount]
    registering DBus bridge method [connect]
    registering DBus bridge method [asyncConnect]
    registering DBus bridge method [disconnect]
    registering DBus bridge method [getContacts]
    registering DBus bridge method [getContactsFromGroup]
    registering DBus bridge method [getLastResource]
    registering DBus bridge method [getPresenceStatus]
    registering DBus bridge method [getWaitingSub]
    registering DBus bridge method [getWaitingConf]
    registering DBus bridge method [sendMessage]
    registering DBus bridge method [getConfig]
    registering DBus bridge method [setParam]
    registering DBus bridge method [getParamA]
    registering DBus bridge method [asyncGetParamA]
    registering DBus bridge method [getParamsUI]
    registering DBus bridge method [getParams]
    registering DBus bridge method [getParamsForCategory]
    registering DBus bridge method [getParamsCategories]
    registering DBus bridge method [paramsRegisterApp]
    registering DBus bridge method [getHistory]
    registering DBus bridge method [setPresence]
    registering DBus bridge method [subscription]
    registering DBus bridge method [addContact]
    registering DBus bridge method [updateContact]
    registering DBus bridge method [delContact]
    registering DBus bridge method [isConnected]
    registering DBus bridge method [launchAction]
    registering DBus bridge method [confirmationAnswer]
    registering DBus bridge method [getProgress]
    registering DBus bridge method [getMenus]
    registering DBus bridge method [getMenuHelp]

    J'ai pas encore de retour à faire sur le truc en lui meme, mais question packaging y'a encore du boulot :)

    Mais ca semble sympa sur certains points :)

    • [^] # Re: Ouch

      Posté par (page perso) . Évalué à 3. Dernière modification le 27/02/14 à 12:57.

      Ah le setup.py, pour le coup je l'attendais pas celle là :)

      OK, donc ca doit tourner avec un peu n'importe quel python… hé ben non, ca marche pas en 3 :

      le problème c'est que t'es pas certain que python2 existe sur toutes les distro, mais c'est vrai que c'est probalement mieux de faire python2 (nous sommes bloqués sur python 2 à cause de Twisted pour le moment). C'est noté

      OK, donc le script fait un which apt-get, c'est pas du tout distrib-oriented…

      En effet, ça fait un which pour tester si on est sur une distro basée sur Debian et faciliter l'installation dans ce cas, sinon ça indique clairement quel est le paquet à installer. Le problème est que Wx ne s'installe pas depuis Pypi, et la façon la plus simple pour l'installer et de demander de l'installer avant.

      Les installations sont un des gros points noir de Python, y'a eu une tentative d'amélioration avec setuptools 2, mais je crois que le projet est maintenant à l'eau :(

      julien@misato ~/Downloads/sat-0.4.0 % sat
      /usr/bin/sat: ligne61: twistd : commande introuvable

      julien@misato ~/Downloads/sat-0.4.0 % sat
      exceptions.ImportError: No module named wokkel

      les dépendances sont gérées par pip, et c'est indiqué dans le README d'utiliser pip. Le setup de base ne sait pas le faire. Celle du début (le which) est une customisation qui ne devrait pas avoir lieu d'être, mais Wx nous y oblige.

      • [^] # Re: Ouch

        Posté par . Évalué à 5.

        En effet, ça fait un which pour tester si on est sur une distro basée sur Debian et faciliter l'installation dans ce cas, sinon > ça indique clairement quel est le paquet à installer. Le problème est que Wx ne s'installe pas depuis Pypi, et la façon la plus simple pour l'installer et de demander de l'installer avant.

        Ca fait l'install en quiet et yes, c'est pas tres propre de pas demander quand meme.
        C'est dommage, la procédure d'install c'est le premier contact, or la ca rebute un peu.

        Si je prends le readme :
        ** HOW TO USE IT ? **

        For installation instructions, please read the file "INSTALL". Note that SàT is available in several GNU/Linux distributions

        OK :
        julien@misato ~/Downloads/sat-0.4.0 % cat INSTALL


        You can install SàT automatically using easy_install or pip, and it is available in several GNU/Linux distributions. The full instructions are available on the wiki: http://wiki.goffi.org/wiki/Salut_%C3%A0_Toi


        OK…
        julien@misato ~/Downloads/sat-0.4.0 % sudo pip2 install sat

        […]
        Downloading/unpacking PIL (from sat)
        Could not find any downloads that satisfy the requirement PIL (from sat)
        Some externally hosted files were ignored (use --allow-external PIL to allow).
        Cleaning up…

        OK grrr :
        julien@misato ~/Downloads/sat-0.4.0 % sudo pip2 install sat --allow-external PIL

        […]
        Downloading/unpacking PIL (from sat)
        Could not find any downloads that satisfy the requirement PIL (from sat)
        Some insecure and unverifiable files were ignored (use --allow-unverified PIL to allow).

        RAaaah :
        julien@misato ~/Downloads/sat-0.4.0 % sudo pip2 install sat --allow-external PIL --allow-unverified PIL
        […]
        gcc -pthread -fno-strict-aliasing -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -DNDEBUG -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -fPIC -I/usr/include/freetype2 -IlibImaging -I/usr/include -I/usr/local/include -I/usr/include/python2.7 -c imagingft.c -o build/temp.linux-x8664-2.7/_imagingft.o

        _imagingft.c:73:31: erreur fatale: freetype/fterrors.h : Aucun fichier ou dossier de ce type

        #include

                                   ^
        

        compilation terminée.

        error: command 'gcc' failed with exit status 1


        Cleaning up…
        Command /usr/bin/python2 -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/PIL/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /tmp/pip-dJs0v7-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/PIL
        Traceback (most recent call last):
        File "/usr/bin/pip2", line 9, in
        load_entry_point('pip==1.5.2', 'console_scripts', 'pip')()
        File "/usr/lib/python2.7/site-packages/pip/__init__.py", line 185, in main
        return command.main(cmd_args)
        File "/usr/lib/python2.7/site-packages/pip/basecommand.py", line 161, in main
        text = '\n'.join(complete_log)
        UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 60: ordinal not in range(128)

        ----> pendaison :)

        En fait, apres :
        Install à partir du tbz et ajustements
        Retour arriere, tentative a partir d'un paquet AUR (j'utilise archlinux)
        Tentative avec pip

        bah j'ai toujours pas pu lancer grand chose :
        julien@misato ~/Downloads/sat-0.4.0 % primitivus
        Traceback (most recent call last):
        File "/usr/bin/primitivus", line 29, in
        from sat_frontends.primitivus.contact_list import ContactList
        File "/usr/lib/python2.7/site-packages/sat_frontends/primitivus/contact_list.py", line 26, in
        from sat_frontends.primitivus.status import StatusBar
        File "/usr/lib/python2.7/site-packages/sat_frontends/primitivus/status.py", line 24, in
        from sat_frontends.primitivus.xmlui import XMLUI
        File "/usr/lib/python2.7/site-packages/sat_frontends/primitivus/xmlui.py", line 135, in
        class PrimitivusAdvancedListContainer(xmlui.AdvancedListContainer, sat_widgets.TableContainer, PrimitivusEvents):
        AttributeError: 'module' object has no attribute 'TableContainer'

        julien@misato ~/Downloads/sat-0.4.0 % wix
        Initialisation de la liste de contacts
        Traceback (most recent call last):
        File "/usr/bin/wix", line 44, in
        sat = SATApp()
        File "/usr/bin/wix", line 35, in init
        super(SATApp,self).__init__(redirect, filename, useBestVisual, clearSigInt)
        File "/usr/lib/python2.7/site-packages/wx-3.0-gtk2/wx/_core.py", line 8631, in init
        self._BootstrapApp()
        File "/usr/lib/python2.7/site-packages/wx-3.0-gtk2/wx/_core.py", line 8196, in BootstrapApp
        return _core
        .PyApp__BootstrapApp(args, **kwargs)
        File "/usr/bin/wix", line 38, in OnInit
        self.main = MainWindow()
        File "/usr/lib/python2.7/site-packages/sat_frontends/wix/main_window.py", line 87, in init
        self.tray_icon.SetIcon(ticon, ("Wix jabber client"))
        File "/usr/lib/python2.7/site-packages/wx-3.0-gtk2/wx/
        windows.py", line 2833, in SetIcon
        return windows.TaskBarIcon_SetIcon(
        args, **kwargs)
        wx._core.PyAssertionError: C++ assertion "IsOk()" failed at ./src/gtk/bitmap.cpp(1328) in GetPixbuf(): invalid bitmap

        (en boite de dialogue : can't open file '/usr/share/sat/media/icons/crystal/32/tray_icon.xpm' (error 2: No such file or directory) )

        Bref, ca pourrait etre cool, là ca marche pas :)

        • [^] # Re: Ouch

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

          Ca fait l'install en quiet et yes, c'est pas tres propre de pas demander quand meme.
          C'est dommage, la procédure d'install c'est le premier contact, or la ca rebute un peu.

          Noté

          Les problèmes avec pil et distribute (le UnicodeDecodeError) semblent venir du paquet respectif et de pip, a priori on ne peut pas faire grand chose à part remonter un bogue.

          AttributeError: 'module' object has no attribute 'TableContainer'

          Ah ça c'est nous, on a oublié de monter la version minimale d'un paquet (urwid_satext), et du coup si tu as une vieille version déjà installé ça ne marche pas. C'est noté

          Et pour le dernier problème, il doit te manquer sat_media, mais on aurait dû l'indiquer dans le fichier INSTALL (c'est indiqué sur le wiki mais pas dans le fichier), c'est noté aussi.

          Ok, merci pour les retours, on va essayer de publier une 0.4.1 qui corrige ça assez rapidement.

        • [^] # Re: Ouch

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

          Je viens de sortir une version 0.4.1 en prenant en compte tes remarques. J'aurais aimé faire ça le jour même, mais j'ai pas la super forme depuis 3 jours :(.

          En plus si tu es sous Arch, le paquet à été mis à jour, donc tu ne devrais même avoir à l'installer depuis l'archive.

          Merci pour les retours critiques, ça permet d'améliorer le projet :)

      • [^] # Re: Ouch

        Posté par . Évalué à 2.

        nous sommes bloqués sur python 2 à cause de Twisted pour le moment

        Est-il prévu d'utiliser trollius ou tulip pour passer directement sur le module asyncio une fois que python 3.4 sera disponible ?

        • [^] # Re: Ouch

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

          Non, parce que même si asyncio a l'air sympa, c'est quand même incomparable à Twisted et ses plus de 10 ans d'expérience. Nous avons besoin de toute la couche XMPP gérée par Twisted/Wokkel (Wokkel est une bibliothèque par dessus Twisted qui ajoute des fonctionnalités XMPP), et nous utilisons d'autre partie comme le serveur IMAP. Et Twisted est très actif, il n'est pas près d'être rattrapé à mon avis.

          Bref, pas dans un futur immédiat en tout cas, on verra à terme si la situation évolue…

  • # Thunderbird?

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

    Vous proposez Thunderbird comme MUA, celui-ci intégrant un module de chat qui gère XMPP, pourquoi ne pas contribuer à ce dernier plutôt que de proposer un autre client lourd (wix)?

    http://devnewton.bci.im

    • [^] # Re: Thunderbird?

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

      Nous utilisons des MUA pour gérer les messages « lourds » parce qu'ils sont bien adaptés à ça, mais pas la messagerie instantanée.

      L'idée est surtout dans l'optique de voir à terme XMPP remplacer SMTP.

      Thunderbird est cité parce que c'est probablement le plus connu, mais tu peux utiliser n'importe quoi à la place.

      Après pourquoi ne pas contribuer à Thunderbird ? Parce qu'on ne fait pas du tout la même chose, qu'on n'utilise pas le même langage et les même technos, et que cette fonctionnalité existait dans SàT bien avant que la messagerie instantanée soit inclue dans Thunderbird.

      Bref, vois plutôt ça comme une façon générique de récupérer les messages lourd XMPP dans n'importe quel MUA…

    • [^] # Re: Thunderbird?

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

      C'est une excellente question, je me l'étais posée mais cette fois je suis allé fouilller le bugzilla des mozilliens. Verdict : il y a bien un ticket ouvert pour cette feature, je vous invite chaudement à le voter et surtout à compléter avec autant d'infos que possible.

      Bug 385758 - Support Jabber (XMPP) in addition to Mail and News

  • # sympa..

    Posté par . Évalué à 1.

    J'ai testé aussi pas mal de truc avant de voir sat marcher.

    Pour le coup, c'est sur que c'est pas encore super intuitif et la doc.. :P

    Le INSTALL est intéressant…
    Au final sur Debian Sid, pour que ça marche j'ai fait :

    apt-get install python-pip python-dev
    pip install "ftp://ftp.goffi.org/sat/sat.tar.bz2"
    

    Après avoir essayé avec l'archive…

    Puis sat en non root et wix… mais pour Bellaciao et Libervia… je sèche!

    Quelqu'un a tester les conversations vidéo avec ? (sur Sid empathy marche pas alors là ça m'arrangerait…)
    Comment afficher les contacts hors lignes ?

    • [^] # Re: sympa..

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

      Je suis en train de corriger les problèmes mentionnés pour l'installation. J'aurais aimé faire ça plus vite, mais je suis en train de lutter pour rester devant l'écran à cause d'une nausée persistante aujourd'hui :-/. J'espère commiter ça dans la soirée.

      Bellaciao n'est pas utilisable, et Libervia c'est indiqué dans son fichier INSTALL (mais c'est assez complexe pour le moment). De nouveaux paquets au moins pour Debian et Arch sont à prévoir assez rapidement…

      Quelqu'un a tester les conversations vidéo avec ? (sur Sid empathy marche pas alors là ça m'arrangerait…)

      euh, il n'y a pas encore de vidéo-conférence dans SàT, et c'est prévu mais pas dans les priorités

      Comment afficher les contacts hors lignes ?

      Sur Primitivus, avec M-d (cf http://wiki.goffi.org/wiki/Primitivus ), sur Libervia ils sont toujours affichés, et sur Wix… on ne peut pas (Wix est maintenu au minimum, Bellaciao deviendra l'interface de bureau de référence quand on aura un peu plus de temps à y consacrer).

  • # Et pourquoi ?

    Posté par . Évalué à 4.

    Bonjour,
    Première chose : je n'ai pas testé "Salut à toi", et ne vais probablement pas le faire (pas le besoin, pas le temps, etc). Mais je me demande surtout pourquoi sortir encore un nouveau réseau social libre quand on pourrait, par exemple, contribuer à Movim qui me semble avoir l'antériorité, reposer sur des bases similaires, etc.

    Merci.

    • [^] # Re: Et pourquoi ?

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

      Oui pourquoi :) ?
      Je dirait surtout qu'on travaille sur le même protocole et offrir le choix aux utilisateurs d'avoir plusieurs clients pour accéder à leur compte est un gros plus. Après il est sur que le fait de travailler sur des projets distincts à tendance à diluer les efforts qui pourraient êtres fait :(

    • [^] # Re: Et pourquoi ?

      Posté par . Évalué à 2.

      Je ne peux pas répondre pour l'auteur. En revanche il me semble que SàT est antérieur à MOVIM : il y a une 0.0.1 qui date de mai 2009 contre novembre 2010 pour le premier commit chez MOVIM. Au delà de cela, je pense que si les deux utilisent XMPP, les technologies sont assez différentes (Python, multiclients d'un côté, PHP et Web de l'autre) et les fonctionnalités développées et imaginées sans doute également.

    • [^] # Re: Et pourquoi ?

      Posté par (page perso) . Évalué à 9. Dernière modification le 28/02/14 à 11:40.

      Salut,

      D'une part MOVIM n'a pas l'antériorité (SàT a été commencé en 2008, c'est probablement un des plus anciens projets de ce type encore actif), et d'autre part nous n'utilisons pas les mêmes langages, pas les mêmes technos, et n'avons pas la même philosophie.

      MOVIM est en PHP (ce qui déjà est bloquant pour les échanges avec SàT qui est majoritairement en Python), uniquement Web (SàT est multi-interfaces), et n'a pas les mêmes choix de priorités (par exemple ils implémentent la vidéo-conférence en ce moment quand pour nous c'est un truc qui viendra beaucoup plus tard).

      Ceci dit, les 2 projets se connaissent (nous sommes devenus amis à force de se croiser sur les salons), et ont toutes les raisons du monde de collaborer là où c'est possible. Par exemple ils viennent de sortir un transport RSS/Atom qui peut nous servir, nous avons un annuaire ou un composant pubsub qui peuvent leur servir (surtout quand on aura trouvé le temps de proposer nos modifs PubSub sous forme de XEP à la XSF).

      Bref, en plus de tout ça, et même si tout le monde n'est pas d'accord, je pense qu'une des forces du libre est sa diversité, ses visions différentes, etc.

      Pourquoi Gnome alors que Kde ? Pourquoi XFCE alors que Gnome ? Pourquoi Emacs alors que Vi ? Pourquoi Vim alors que Vi ? Pourquoi Emacs alors qu'on n'a que 10 doigts ? etc.

      Edit: ah ben Yakulu a fait la version courte de mon commentaire avant que je poste :)

    • [^] # Re: Et pourquoi ?

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

      Je dirais que les projets sont complémentaires. Aujourd'hui Movim s'oriente vers des fonctionnalités que l'on retrouve dans Twitter, Facebook, les forums et Skype. C'est un mix qui se prête très bien à un usage mobile et multiplateforme, le PHP est en plus un langage qui dispose de très, très nombreuses possibilités d'hébergement clé-en-mains, gratuites, parfois Libres.

      SàT me semble sur un autre créneau, nettement plus technique (on l'a vu plus haut, l'install est encore loin d'être triviale, et même si le but est d'avoir quelque chose de simple ça restera pour les nerds qui ont pris l'option Linuxien au bac). Les fonctionnalités me paraissent plus orientées "famille" : partage de musique, télécommande, etc. Je ne réduit pas à SàT qu'à ça, puisqu'on a un équivalent très puissant des mails qui est arrivé, mais les priorités dressent une politique suffisamment différente pour qu'on puisse envisager d'utiliser les deux dans des contextes différents, et c'est pas plus mal en fait. Toute la puissance de SàT me parait résider dans ce qu'on peut faire si on dispose d'un accès à un serveur, alors que Movim postule sur l'inverse.

      Dans tous les cas, la diversité n'a jamais nuit dans ce secteur, vu le taux de mortalité des projets. Et je parie que les projets meurent plus à cause de leurs choix techniques qu'à cause du manque de contributions. Movim est actuellement très réussi et SàT l'est tout autant.

    • [^] # Re: Et pourquoi ?

      Posté par (page perso) . Évalué à 4. Dernière modification le 28/02/14 à 13:40.

      Ce n'est pas un nouveau réseau social libre. C'est une nouvelle application pour le même réseau social: XMPP.

      Pour le moment toutes les applications ne peuvent pas communiquer entre elles parfaitement (notamment pour ce qui est microblogage), mais le gros avantage d'avoir plusieurs implémentations est de penser a plus de choses en même temps et de voir plus de problèmes. Le but final est que toutes les applications soient capables de faire la même chose et qu'on puisse passer de l'une a l'autre sans encombre.

      Du coup, si toutes les applications (Movim, SàT, Jappix, Buddycloud et autres) pouvaient parler les mêmes XEP ça serait cool. La route est encore un peu longue, malheureusement.

    • [^] # Re: Et pourquoi ?

      Posté par . Évalué à 2.

      Je me la pête et je me réponds pour vous remercier tous d'avoir un peu plus éclairé ma lanterne de simple spectateur. Je me coucherai moins ignorant ce soir, grâce à vous.

Suivre le flux des commentaires

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