Une télécommande universelle pour vos logiciels

goffi 10 years ago 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 10 years ago

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 10 years ago

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