Salut à Toi à Pas Sage en Seine et aux RMLL

goffi 27/06/2014, 12:34 jabber-xmpp GNU-Linux projet Libre planet-libre SàT

Salut à vous,

à l'origine je pensais écrire un billet sur mon expérience à La Navette, coopérative autogérée dans la Creuse où je viens de passer 1 semaine, afin de voir leur fonctionnement et de s'en inspirer pour la création de la notre, mais je suis trop débordé en ce moment par le développement, la préparation des conférences et la création de l'association qui gérera « Salut à Toi »

Donc pour faire bref, nous sommes en train de créer une association en autogestion, c'est à dire sans hiérarchie (pas de patron), avec égalité des salaires et partage des tâches. Nous espérons donc nous salarier avec le projet « Salut à Toi » tout en restant cohérent avec nos idées (et notamment le contrat social), chose peu aisée en refusant toute forme de publicité, en ayant le projet sous licence libre et en refusant la vente d'informations (mais nous avons plusieurs idées en tête pour nous financer).

J'espère avoir un peu plus de temps bientôt pour raconter mon expérience à Faux-la-Montagne, village petit par la taille mais grand par son dynamisme et les gens qu'on y croise.

En attendant vous pourrez me trouver à Pas Sage en Seine (à Paris) ce samedi à 16h, où je ferai une conférence pour expliquer le projet « Salut à Toi » et en particulier ses enjeux politiques, ainsi qu'aux Rencontres Mondiales du Logiciel Libre à Montpellier du 5 au 11 juillet, nous y tiendrons un stand et j'y ferai une conférence le jeudi à 9h30 (oui je sais, c'est tôt !). Je vous conseille également de vous rendre à la foire à l'autogestion qui aura lieu ce week-end à Montreuil, nous y seront présents (en simples visiteurs) le dimanche.

À bientôt Goffi

P.-.S.: nous avons une version 0.5 sur le feu qui ne devrait pas tarder du tout...

Salut à Toi la planète libre !

goffi 01/06/2014, 20:55 GNU-Linux projet planet-libre SàT Libre

Salut à vous,

comme je viens d'arriver sur planet-libre, je pense qu'il est plus correct de se présenter...

Je suis un des développeurs du projet « Salut à Toi » (SàT), un outil de communication décentralisé. Cet outil permet de faire de nombreuses choses allant du microblogage aux jeux, et fonctionne sous différents environnements (il est multi-interfaces): web, bureau, interface console, ligne de commande, etc.

Mon blog (du moins le flux utilisé pour planet-libre) parlera principalement de ce projet ou de XMPP, le protocole qu'il utilise, mais également de réflexions plus générales: nous développons avec une vision critique des nouveaux médias, et pas seulement en ce qui concerne la vie privée.

Un article publié récemment sur reflets.info présente SàT et son contrat social, et un billet que j'ai écris en 2011 parle de quelques-unes des motivations.

Nous sommes en cours de réflexion pour monter une coopérative (ou autre statut) autogérée pour développer SàT, et essayer d'en vivre en cohérence avec nos idées.

À bientôt, et merci à l'équipe de planet-libre (en particulier antistress et theClimber) pour avoir pris en compte rapidement mes critiques.

Goffi

SàT aux JDLL à Lyon ce week-end

goffi 09/04/2014, 09:36 jabber-xmpp GNU-Linux projet Libre SàT ici et maintenant

Salut à vous,

un petit billet pour vous rappeler que nous serons présents aux JDLL ce week-end à Lyon à la Maison pour Tous (Salle des Rancy, 249 rue Vendôme). J'y donnerai une conférence samedi à 12:30 pour expliquer un peu les dernières nouveautés et l'avenir du projet. N'hésitez à venir nous rencontrer et poser vos questions :)

SàT sur Reflets ! Et bientôt aux JDLL

goffi 03/04/2014, 12:49 GNU-Linux projet SàT jabber-xmpp Libre

Salut à vous,

un petit billet pour vous annoncer que Reflets a publié un article sur Salut à Toi, qui non seulement explique bien le projet (plus clairement que je ne le fais moi même :) ), mais en plus met l'accent sur le contrat social et le côté politisé du projet, qui sont souvent passés à la trappe bien que ce soient des éléments fondateurs. Le billet se trouve ici: http://reflets.info/sat-le-couteau-..., un grand merci à Drapher pour ce papier.

D'autre part Souliane et moi serons présents - comme tous les ans - aux Journées Du Logiciel Libre à Lyon les 12 et 13 avril. J'y donnerai une conférence pour expliquer les dernières nouveautés et notre projet de coopérative.

À bientôt :)

Salut à Toi 0.4.0: a new version of the powerful XMPP/Social software

goffi 26/02/2014, 19:04 GNU-Linux jabber-xmpp-en SàT projet Libre

G'day!

We are pleased to announce « Salut à Toi » version 0.4, which comes with many important changes, also regarding the project's life.

Salut à Toi is a powerful communication tool, free and multi-frontends. It offers some features like micro-blogging, instant messaging, an easy way to manage groups permissions (elsewhere called « aspects » or « circles »), games and much more.

Constantly designed with ethical and social thoughts (politically speaking), Salut à Toi (abbr.: SàT) is also bound to its social contract.
Being based on XMPP, SàT is decentralised and compatible with the other projects that use this protocol.

Before starting with the traditional listing of the new features, a few words about the evolution of the project. We are now two persons working full-time on SàT: so did Souliane, a friend for a long time, join me. We would like to live from the project, but we also want to respect our ideals (cf. the social contract) : we are firmly opposed to commercial advertisements, selling data or any similar behaviors.

We decided to organize ourselves as a self-managed entity, probably under the terms of a cooperative and we would like to start it this summer.
There are 3 economical models that we are thinking about:
  • the first would be based on donations. This is a precarious model but it would offer us the largest independance in our decisions taking process.
  • the second, more trendy, is the use of the so-called crowdfunding platforms. It is finally very close to the donations system, but it requires more work to file the applications etc. Moreover, we would need to select with care the platforms to be used.
  • the third one runs more classically, based on services : technical support, specific customizations etc. This is the one model which would leave us the least interdependancy, and the least time to focus on the project itself.
We often discuss about the project organisation, the features to be implemented, etc. We not only agree that privacy is primordial, we also believe that it is not the sole aspect to be studied, and that the impact these kinds of tools have on our lives deserve some special attention. Technology is not neutral, so we are thinking about how to implement and design things, and we are open to discuss (in real life better then behind a screen) ; feel free to launch a discussion with us.

That being said, let's have a look at the change log!
The list is quite long (the last version was more than a year ago), here is a selection:

Micro-blogging

The micro-blogging has been much improved. Comments are now handled, still using the fine access tuning for Pubsub: comments inherit the permissions from the micro-blogs they are replying to. The unibox of Libervia was disturbing many people and it is now optional, the default behavior for typing messages being more classic.

vue_globale.png


Rich texts have been implemented. The system is quite versatile and it's easy to add new syntaxes that would be available for all frontends.

sat_capture_rich.png

When you update some content, you can edit it using the syntax of your choice, even if it has been published with another one. Thus it is possible to edit in Markdown a post that has been originally created in XHTML.

For now, XHTML, Markdown and raw text are available, more should arrive soon (for instance Dokuwiki and Dotclear's syntax).

sat_params.png


The textual (micro)blogs are now recognizing and displaying inline URLs.
In addition to the rich text edition, a WYSIWYG edition (also to be used as a preview feature) is available in Libervia.
sat_wysiwyg.png


And there's still the static blog to display your public messages. It is now completed with an Atom feed. We are getting closer to a full decentralised blog engine and we plan to
move our own blogs to SàT by the next release, so some import tools to migrate from Dotclear and Dokuwiki are to be expected.

sat_static_blog.png

Messaging


It is possible to send messages in carbon copy or blind carbon copy, according to the XEP-0033
sat_extended_addressing.png


The MUC configuration has been implemented (the menu is currently only available in Primitivus)
Chat states notifications have been implemented, letting you know if someone is writing to you or if she/he left.

sat_chat_states.png

one plugin is adding some IRC-like commands e.g. /nick or /join

Command line

thanks to Dal, jp – the command line frontend – has been upgraded to ArgParse, allowing a proper commands refactorisation and confirming jp as being an XMPP “swiss knife”.

it's easy to forward a command or pipe output to a contact, but also to create a remote control (see below) or to transfer a file. Some more commands to publish micro-bloggs, manage your roster etc. are planned.

there's a bundled script to offer you the auto-completion with Zsh
Complètement de jp dans zsh

Misc

important work on the extra-features for the discussion rooms. The Collective Radio (allowing the members of a discussion room to upload some music and listen to it at the same time) has been improved, it also handles the user leaving and return.
sat_radiocol.png

sat_radiocol_invit.pngsat_radiocol_invit_2.png


Ad-Hoc commands are available, allowing to remotely control an entity with any XMPP client

based on the Ad-Hoc commands, a universal remote control has been implemented to offer the possibility to control most of the softwares. A post on my blog is presenting this feature, there's also a short demonstration video featuring VLC

telecommande_-_libervia_-_4.png

command export
: command export : another original feature - it's possible to redirect the input/output of a process to any of your contact (including to another network via a gateway), again the easy way with the fine accesses tuning. There is a demonstration on my blog with an FTP session export to a contact using Gajim

messages notifications are available in Libervia (a contribution from Link Mauve): if someone is talking to you while the tab is hidden, a message should appear on your desktop.

sat_notifs.png

In Libervia: in addition to the drag and drop which was already available, you can click on a contact or a group to open the associated widget. Widgets can now be moved from one tab to another.

considering the importance of the groups in SàT (used a lot to manage the permissions), a roster management user interface has been added to Libervia

sat_roster_manager.png

a mini XMPP discovery service has been started, it's already running on the libervia.org demonstration server.

Under and around the hood:

Some heavy refactorisations have been done to ease the development of future frontends e.g for small screen devices.
The SQLite database is automatically upgraded.

Some work has been done on the testing system, with the installation of a buildbot ( https://buildbot.goffi.org ) which is running a test batch after each commit.
Some SàTellites projects:
  • SàT Pubsub (based on Idavoll) is a Pubsub component for Prosody to manage fine access tuning, it's used for micro-blogging
  • Urwid SàText (based on Urwid) is a widgets library for console display, used by the frontend Primitivus.
  • "Salut" is a XMPP directory, at a very early development stage

Did you know ?

Some reminders about a couple of (hidden) features:

In Libervia you can position your widgets over several columns / lines

SàT comes with an IMAP server that let you use a MUA like Firefox or KMail to read your messages

Future

Beside our projects regarding the cooperative, the following should happen from the technical perspective:
  • an important work concerning the security. Until now, we left on purpose this aspect behind, to not do things by halves and fully focus on it when the time has come. So we plan to integrate HTTPS to Libervia, end to end encryption and password encryption in the database.
  • finish the micro-blogging support and migrate our own blogs to SàT
  • (hash)tags
  • frontends/ports for telephones and tablets, Windows (and Mac?)
  • update the Bellaciao frontend (Qt-based)
  • RSS/Atom feed integration
  • event and calendar management, etc.
We plan to release a public version this summer, it would be the first named version and, as already announced, it will be named « la Commune ».

Credits:

A big thank to contributors:
  • Link Mauve (Emmanuel Gil Peyrot): notifications Twisted plugin for Libervia, style improvments
  • Dal: jp profiles management, ArgParse in jp
  • Robotux (Thomas Preud'homme): locales correction, distribute update
thanks also to packagers (Naha and Robotux for Debian, Link Mauve for Arch, and surely other that we don't know, don't hesitate to contact us).
thanks to Elefantom for using daily the demo, and to give us several feedbacks
thanks to Parinux and Nanterrux to invite me for a talk, and to the JDLL where we'll be again this year.
thanks to the Loop to host the first Salut à Toi hackathon :). Ambiance and location where great.
thanks to Luc and Manu for the interview in the "Symbiose" emission, and for the following discuss.

Come and join us on XMPP MUC room sat@chat.jabberfr.org

Salut à Toi 0.4.0: toujours en chemin

goffi 26/02/2014, 15:39 jabber-xmpp GNU-Linux projet Libre planet-libre SàT

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.
Avant d’entamer la traditionnelle liste de nouvelles fonctionnalités, quelques notes sur l'évolution du projet. Nous sommes désormais 2 à 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 3 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.
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 billet 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 entrain 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 a 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 contact (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.
vu 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 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 Firefox 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 chiffrage 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é à faire 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.

A universal remote for your softwares

goffi 18/02/2014, 00:41 GNU-Linux jabber-xmpp-en SàT projet Libre

G'day,
Salut à Toi (SàT) now allows to easily create a remote for most of your softwares, and to share it with permissions management.
Suppose that you are in a flatshare, and you want that your flatmates can change the music of the Amarok running in your living room: the following command is all you need for that:

jp ad-hoc remote -g flatmates -- amarok

where "flatmates" is the name of the group which can control Amarok. You may also want to remote control Okular (e.g. for a talk), or VLC on your phone.
Below is an example with VLC.
telecommande_-_jp_-_1_-_aide.png


The syntax may seem complex in apparence, it's actualy very simple:
telecommande_-_jp_-_2_-_vlc.png
  • " jp ad-hoc remote" tell that we want a remote control
  • "-pgoffi" say thaat we want to use the profile "goffi", but if it's the default profile, it's not needed
  • "-cl" the "-c" means "connect this profile if it's not already done", the "-l" means that we want to loop on commands (after launching a command, we will return to the command menu instead of finishing the ad-hoc session).
  • "-g coloc" is a filter (coloc mean "flatmates" in french): it tells that in addition of your own jid, the jids from the group "coloc" are allowed to use the remote
  • " -- vlc" the "--" is just here to terminate optional arguments, and "vlc" is the name of the software to control.

once the command entered, SàT fill look in D-Bus's Session bus to find buses which have "vlc" in their names, and add commands which don't need arguments. The output show what has been found.

Now, let's see how we can use the remote in Libervia (web interface of SàT):



telecommande_-_libervia_-_1.png

We use the remote with the ad-hoc "commands" menu


telecommande_-_libervia_-_2.png
we enter the jid which exported the remote. So far, we have to enter manualy the full jid, but in the future, a simple right click should be enough.


telecommande_-_libervia_-_3.png
vlc is indeed visible in commands


telecommande_-_libervia_-_4.png
and voilà ! Commands are available. Once again, it's a bit unfriendly at the moment, but it will be easy to replace common names like "play", "stop", "previous", etc with nice icons...


telecommande_-_gajim_-_1.png

telecommande_-_gajim_-_2.png
And it's of course working with every XMPP clients featuring ad-hoc commands, like Gajim or Psi (here Louise can use the remote control created by Goffi because she is in her group "coloc").
There are many advantages: ease of use, it's generic (the software just need to have its commands exported via D-Bus, which is pretty common on freedesktop environments like Kde, Gnome or XFCE), authorisation can be easily managed, and it works everywhere where an XMPP client featuring ad-hoc commands is available. An another proof that XMPP can be used for far more than just instant messaging, and a demonstration of the potential of jp, the command line frontend of SàT...

To conclude, a short demo video (in french).

As usual, to watch the video you can use a recent browser (the last Firefox/Iceweasel for example).
You can also use VLC (version >=1.1 only), by using the "Media/Open Netword Stream" menu and by entering this URL: http://www.goffi.org/videos/pr%c3%a9sentation_S%c3%a0T_7_t%c3%a9l%c3%a9commande_universelle.webm
Last but not least, you can use mplayer:: mplayer "http://www.goffi.org/videos/pr%c3%a9sentation_S%c3%a0T_7_t%c3%a9l%c3%a9commande_universelle.webm"

this video is licenced under Creative Common BY-SA

Une télécommande universelle pour vos logiciels

goffi 17/02/2014, 17:10 jabber-xmpp GNU-Linux projet Libre planet-libre SàT

Salut à vous,
SàT permet désormais de créer très facilement une télécommande pour la plupart de vos logiciels, et de la partager avec une gestion des permissions.
Imaginons que vous soyez en colocation, et que vous vouliez que tous vos colocataires puissent changer la musique sur le Amarok qui tourne dans le salon: la commande suivante suffira:

jp ad-hoc remote -g coloc -- amarok

où coloc est le nom du groupe qui a le droit de piloter Amarok. On peut aussi imaginer que vous vouliez piloter Okular (pour une conférence), ou VLC depuis votre téléphone.
Ci-dessous un exemple avec VLC.
telecommande_-_jp_-_1_-_aide.png


La syntaxe peut sembler compliquée, mais en réalité elle est vraiment simple:
telecommande_-_jp_-_2_-_vlc.png
  • « jp ad-hoc remote » indique qu'on veut une télécommande
  • « -pgoffi » indique qu'on utilise le profil « goffi », si c'est le profil par défaut, c'est inutile de le préciser
  • « -cl » le « -c » indique qu'on veut se connecter si le profil est déconnecté, le « -l » indique qu'on veut boucler sur les commandes (après avoir utilisé une commande, on reviendra au menu des commandes au lieux de finir la session ad-hoc).
  • « -g coloc » est un filtre: il indique qu'en plus de votre propre jid, les jids du groupe « coloc » pourront utiliser la télécommande
  • « -- vlc » le « -- » indique la fin des arguments optionnels, et « vlc » est le nom du programme.

une fois la commande validée, SàT va chercher sur le bus session de D-Bus les bus qui comportent « vlc » dans leur nom, et ajouter les commandes qui ne prennent pas d'argument. La sortie indique ce qui a été trouvé.

Maintenant voyons comment on utilise la télécommande dans Libervia (interface web de SàT):



telecommande_-_libervia_-_1.png

La télécommande s'utilise avec le menu des commandes ad-hoc


telecommande_-_libervia_-_2.png
on entre le jid qui a déclaré la télécommande. Pour le moment il faut entrer l'adresse complète à la main, mais dans le futur un clic droit sur le nom devrait permettre d'y accéder facilement


telecommande_-_libervia_-_3.png
vlc apparaît bien dans les commandes


telecommande_-_libervia_-_4.png
et voilà ! Les commandes sont accessibles. Là encore c'est un peu austère pour le moment, mais il sera facile par la suite d'associer des icônes à des noms génériques comme « play », « stop », « previous », etc.


telecommande_-_gajim_-_1.png

telecommande_-_gajim_-_2.png
et ça fonctionne bien entendu avec les clients XMPP qui gèrent les commandes ad-hoc, comme Gajim ou Psi (ici Louise peut utiliser la commande déclarée par Goffi parce qu'elle est dans son groupe « coloc »).
Les avantages sont donc nombreux: facilité d'utilisation, c'est générique (il suffit que le logiciel exporte ses commandes via D-Bus), les permissions sont gérées, et ça fonctionne partout où un client XMPP qui gère les commandes ad-hoc existe. Une preuve de plus que XMPP peut être utilisé bien au delà de la messagerie, et une démonstration de ce que jp - l'interface en ligne de commande de SàT - peut permettre...

Pour finir, une courte vidéo de démo...



Comme d'habitude, pour lire la vidéo, vous devez utiliser un butineur récent (le dernier Firefox/Iceweasel par exemple).
Vous pouvez aussi utiliser VLC (version >=1.1 uniquement), en allant dans le menu « Média/Ouvrir un flux réseau » et en mettant cette URL: http://www.goffi.org/videos/pr%c3%a9sentation_S%c3%a0T_7_t%c3%a9l%c3%a9commande_universelle.webm
Enfin, vous pouvez utiliser mplayer: mplayer "http://www.goffi.org/videos/pr%c3%a9sentation_S%c3%a0T_7_t%c3%a9l%c3%a9commande_universelle.webm"

Cette vidéo est sous la licence Creative Common BY-SA

Vincent 18/02/2014, 16:56

Wao, je suis scié, je n'avais pas suivi les avancées de SàT depuis la dernière fois, le résultat est époustouflant de simplicité.

Je suppose qu'avec XBMC la liste doit être un peu plus longue, ça va pas trop long ? J'imagine aussi les possibilités, détachable dans un screen, pour gérer ses services sur un serveur par exemple. Tu aurait un moyen de le faire automatiquement pour tous les services actifs au lancement de la commande (via un paramètre spécifique par exemple) ou présents dans /etc/init.d/ ?

Rien à dire, félicitations, on peut parler de feature killer ou ce n'est qu'une pièce du puzzle ?

Très enthousiasmant en tout cas. Et l'idée de faire des vidéos courtes et aussi percutantes est un atout pour nous présenter ton travail, sans aucun doute :)


author website

Goffi 18/02/2014, 17:37

Vincent> Tout est toujours possible, ça ne serait pas très compliqué de tout scanner, maintenant il faut voir les logiciels vraiment intéressants à contrôler à distance. Je compte aussi ajouter la possibilité d'exécuter une commande shell, pour de l'administration à distance ça peut dépanner.

Sinon ça n'est qu'une pièce du puzzle, disons que là j'avais un cas concret à montrer, mais on commence à avoir un outil sympatique. Maintenant qu'on est à plein temps et que je ne suis plus tout seul, ça avance fort: Souliane (l'autre développeur) a fait un gros travail sur Libervia...


author website

Ligne de commande: passage de jp à argparse

goffi 10/02/2014, 15:19 jabber-xmpp GNU-Linux technique projet Libre SàT

Salut à vous,

jp, l'interface en ligne de commande de « Salut à Toi », vient de subit un gros ré-usinage. C'était auparavant un script fait rapidement qui permettait d'appeler quelques méthodes de SàT. Il est passé à argparse, grâce notamment à la contribution de Dal - merci à lui - et est désormais mieux organisé.

En effet, un des gros intérêts de argparse est sa gestion des sous-commandes, similaire à ce qu'on voit dans les gestionnaires de versions (comme svn co ou hg push). On peut ainsi élaborer des lignes de commandes complexes relativement facilement.
Par exemple, les commandes pour envoyer un message se forment avec « jp message »: « echo 'Salut à Toi !' | jp message -p goffi louise » enverra ainsi un message au contact nommé « louise » présent dans la liste (le roster). Ces commandes sont associées à des modules python (auparavant tout était dans un gros blog unique) plus ou moins court, ce découpage va permettre d'étendre jp facilement.

J'en ai profité pour faire un script de complètement pour zsh, qui s'adapte en fonction des commandes disponible. Il est également capable de compléter le profil quand nécessaire, et il devrait à terme être capable de compléter les jids ou les groupes selon ce qui est disponible dans votre roster.

Complètement de jp dans zsh

Bref, jp a tout ce qu'il faut pour devenir un couteau suisse XMPP, et permettre une utilisation simple et efficace de SàT en ligne de commande ou dans un script.