Chroniques d'un gnou libre

Aller au contenu | Aller au menu | Aller à la recherche

mardi, décembre 27 2011

Qasim, le SSHFS qui vous veut du bien

L'autre jour, j'ai craqué... J'en ai eu marre d'utiliser les gestionaires d'url des deux principaux bureaux gnu-linux (KDE avec KIO/VFS et Gnome avec GIO/VFS) pour accéder à mes fichiers distant sous GNU/Linux. Ceux-ci ne permettaient l'accès aux fichiers qu'aux applications utilisant les mêmes bliothèques ou sinon en les copiant temporairement en local. Pas vraiment satisfaisant... j'ai ainsi lorgné du coté de SSHFS[1].

SSHFS c'est sympa, me dis-je, non seulement à cause de son nom imprononçable, mais aussi parce que c'est basé sur SSH et FUSE.

Petit récapitulatif, de rigueur :

  • SSH, tout le monde connaît, ça permet de se connecter sur une machine distante de façon sécurisée, c'est standard et facile à mettre en place (quand c'est pas installé par défaut).
  • FUSE[2], c'est standard, solide, fourni par le kernel linux et ça permet à toutes les applications d'accéder de façon transparente (sans modification) à un système de fichiers géré par une application. Cette application vous permettra alors de manipuler localement des fichiers distants, mais pourquoi pas aussi les entrées d'une base de donnée ou d'autres choses.

SSHFS est donc un programme fournissant un système de fichiers virtuels basé sur FUSE et utilisant SSH pour manipuler les fichiers distants.

Dans le cas général, ça s'utilise tout simplement. Pour associer le répertoire distant Config au répertoire local mnt/Config, il suffira de taper :

sshfs warbrain@daneel.glenux.net:Config mnt/Config/

En revanche, ça devient un peu moins simple lorsque vous engagez sur le chemin des options pour le port, la compression, le mapping des utilisateurs, le cypher, la re-connexion automatique, le timeout du cache, etc... Surtout lorsque ces options, les répertoires distants et les points de montage doivent varier selon les serveurs.

En général c'est à ce moment qu'on improvise une séance de shell-scripting pour configurer tout ça, selon les serveurs (ne riez pas, je suis sûr que vous l'avez fait aussi ;) ).

Par exemple en écrivant des choses comme ça:

#!/bin/sh
### Connexion au serveur example.com

### Quelques variables (à changer dans chaque script)
remotedir=user@example.com:Somewhere
localdir=~/mnt/Somewhere
remoteport=22

### La commande magique
sshfs \
      -o allow_root \
      -o idmap=user \
      -o uid=`id -u` \
      -o gid=`id -g` \
      -o reconnect \
      -o workaround=all \
      -o cache_timeout=240 \
      -o ServerAliveInterval 15 \
      -o no_readahead \
      -o Ciphers=arcfour \
      -o Port=$remoteport \
      $remotedir \
      $localdir

Et Qasim dans tout ça ?

Qasim intervient le jour où vous souhaitez laisser un utilisateur final accéder à des documents distants via SSHFS. Plus question de ligne de commande, il va falloir trouver un outil graphique...

Et c'est exactement de cela qu'il s'agit ! Qasim est justement une interface graphique (Ruby + Qt) à ces scripts SSHFS.

Cela permet à tout un chacun de monter et démonter les répertoires distants en un simple clic :

qasim.article.1.png

qasim.article.4.png

qasim.article.3.png

Le projet est utilisable, stable mais encore un peu jeune. Il manque notamment les options de paramétrage :

qasim.article.5.png

Par conséquent, pour définir un partage, il faut aujourd'hui définir manuellement des fichier .map dans le répertoire ~/.config/qasim/ ou bien dans /etc/qasim/maps.d/.

Par exemple, pour le partage example.map :

REMOTE_USER=$USER
REMOTE_HOST=example.com
REMOTE_PORT=22

MAP=Example.Documents /home/$USER/Documents
MAP=Example.Media /home/shared-media

Si ce logiciel vous intéresse, les sources sont disponibles sur Github. Un paquet debian est également à votre disposition si vous ajoutez les lignes suivantes à votre /etc/apt/sources.list

deb http://repository.glenux.net/debian/ unstable main contrib non-free
deb-src http://repository.glenux.net/debian/ unstable main contrib non-free

N'hésitez pas à me faire part de vos remarques pour améliorer ce logiciel ! :)

mercredi, juin 9 2010

Comparatif Apple iPhone 4 | Android(s) | Nokia N900

Suite aux annonces sur l'Apple iPhone 4, notre ami BeBoXos a eu la bonne idée de compléter le comparatif iPhone4 vs Android qui circule depuis quelques jours avec les caractéristiques techniques du Nokia N900. Comme on le voit, ili n'a pas à rougir un seul instant face à la nouveauté pas-si-révolutionnaire-que-ça de la marque à la pomme...

Voyez vous-même :

comparatif_N900.png

A cela, il faudra ajouter les autres (petits) détails suivants :

  • l'Apple A4 est aussi un ARM cortex A8
  • la couche Froyo qui va apporter pas mal de choses à Android (support de Flash complet, radio FM, etc.)
  • le récepteur/transmetteur FM du Nokia N900 (et sur le Nexus One dès la sortie de Froyo)
  • le support du HTML5 et du format webm sur le N900 ..

OVS - Hide Full Events

Il y a quelques temps on me faisait découvrir l'excellent site OnVaSortir (OVS).

Malheureusement, même si l'idée du site est géniale, il reste quelques détails d'ergonomie et de lisibilité à repenser. Il y est par exemple difficile de distinguer les évènements complets (où l'on ne peut plus s'inscrire) des autres. Cette raison, ajoutée à une extrème lenteur et usage difficile sur navigateur mobile, m'avait découragé d'utiliser le site...

Mais j'ai entendu, par ci, par là, de plus en plus de vives recommandations pour y retourner... J'ai donc craqué et fait mon baptême d'OVS lundi dernier. C'était en effet excellent ! Des sorties comme ça j'en referai avec plaisir !

Restait cependant un problème à résoudre: l'usabilité du site.

Il se trouve que certains navigateurs web modernes (Firefox, Chrome, ...) via une extension logicielle permettent de charger des scripts qui modifient le comportement ou l'aspect des pages visitées... Je me suis donc décidé enfin à écrire un tel script (et sûrement d'autres à venir) pour pouvoir utiliser OVS comme il se doit !

Pour passer de ça :

capture65.png

À ça :

capture66.png

Notez la réduction de la liste (et la disparition des événements superflus) ;-)

Pour avoir ça chez vous aussi, il suffit :

  • d'utiliser une version récente de Mozilla Firefox ou de Google Chrome
  • d'installer l'extension greasemonkey (si vous utilisez Firefox seulement)
  • de vous rendre sur la page du script ovs-hidefullevents
  • de cliquer enfin sur "Install" (le gros bouton vert, puis dans le message de confirmation qui apparaît) pour installer le script !

C'est tout ! Lorsque vous retournerez sur OVS, les listes d'événements seront automatiquement filtrées !

Enfin, si jamais vous changez d'avis en cours de route, vous pouvez réactiver le comportement normal, c'est à dire la liste complète et non filtrée en cliquant (clic droit) sur le petit singe dans la barre d'état de Firefox, puis sur l'option "OVS-Hide Full Events (toggle)" ci dessous :

capture67.png

Alors, heureux ? :-)

- page 1 de 20