Petits bouts d’Hubic

Introduction

Voici déjà quelques temps que je me suis installé à Nantes. Au moment de l’emménagement, s’est posée la question désormais classique : quelles sont les boutiques du voisinage quel opérateur téléphonique/internet prendre ?

Jusqu’à présent j’ai souvent été chez SFR, d’autant que je possédais un forfait mobile chez eux. Puis je suis passé chez Joe Mobile et la pertinence de prendre également SFR pour l’internet (offres groupées) disparaissait. De même, les preuves apparues récemment de modification du contenu des pages Web servies aux mobinautes me chagrinait un peu.

Dans l’absolu, je ne souhaitais pas non plus m’embarquer dans une offre avec télévision comprise, étant donné que je ne la regarde jamais. Alors, SFR, Orange, Bouygues, Free ? Bof, bof… (oui, Free dans le même panier. Depuis l’épisode des sites en annu de la fin des années 90, je me suis promis de ne jamais donné le moindre centime directement à Iliad.)

L’offre la plus attirante pour moi sur Nantes était bien sûr celle proposée par FAI maison, le FAI alternatif, associé à la fédération FDN. Malheureusement, au moment de mon établissement des retards de livraison dans l’établissement des lignes me faisait craindre un délai un peu compliqué. J’aurai pu, certes, passer directement par FDN, mais les soucis semblant justement venir de là-bas, j’ai préféré reporter à plus tard, tout en me promettant de m’investir tout de même à terme dans l’association.

Tout ça, ce n’était que la moitié de l’introduction. Bref, j’ai finalement craqué pour l’offre d’OVH Télécom. N’étant pas là pour faire de la pub, je vous laisse vous documenter par vous-même sur leur site. Cette offre propose en option (activable gratuitement à la demande) un espace sur leur solution de stockage/synchro en ligne hubiC (oui, la majuscule est à la fin, je ne sais pas non plus pourquoi…).

Client de longue date chez Dropbox, j’y ai vu entre autres un moyen de réduire considérablement ma facture, tout en rapatriant mes données personnelles sous les yeux de la DGSE, plutôt que la NSA. Un geste patriotique quoi (ça donne droit à des réductions d’impôt vous pensez ?). Néanmoins, comme on ne fait pas deux fois les mêmes erreurs, j’en ai profité pour mettre en place une solution de chiffrement de mes données envoyées sur le cloud (flûte, mes chances de réduction d’impôt viennent de voler en éclat :s). Mais c’est un autre sujet.

J’ai donc commencé à utiliser le client linux d’hubiC, tout en mono.

De la beauté de la ligne de commande… au besoin d’information

Chez OVH, quand on fait quelque chose, on le fait à fond. Donc quand on fait un client de synchronisation dans le cloud, on barde son produit d’options (comme la publication de fichiers ou répertoires, la possibilité d’avoir différents comptes, la liaison avec DBUS et j’en passe)… mais on reste sensible aux clichés. Vous êtes sous linux ? Vous n’aurez donc qu’une ligne de commande.

Même si cette dernière est ma foi fort pratique, à l’usage (surtout en comparaison de Dropbox) on regrette quand même parfois le manque de visibilité et de possibilité de monitoring du bouzin en natif.

Du coup j’ai décidé de palier à ce problème en écrivant des scripts me permettant d’afficher en permanence dans ma barre de statut l’état d’hubiC.

Widget Awesome

À ce moment là, j’utilisais principalement le gestionnaire de fenêtre automatique (une meilleure traduction que « en tuile » pour tiling ?) Awesome. J’en suis toujours extrêmement content. La simplicité de mise en œuvre de scripts divers et variés pour personnaliser son environnement est tout bonnement… awesome (oui, je sais, c’était facile).

J’ai donc commis dans un premier temps un petit bout de script en Lua permettant d’afficher dans la wibox l’état courant de son hubiC, le tout agrémenté d’un petit nuage utf-8. Le script en lui même est à placer où bon vous semble et dépend d’un script bash. La configuration de se widget se fait assez simplement.

Dans votre fichier de configuration ~/.config/awesome/rc.lua, placez simplement les lignes suivantes

1: local cloudwidget = require("edcloudmon")
2: cloudwidget.init()

La première ligne inclut le fichier en question. C’est une bonne pratique de regrouper les fichiers tiers dans un sous-dossier de votre dossier de préférence. Ainsi, je place ces fichiers dans le dossier ~/.config/awesome/plugins/ La ligne pour insérer le fichier se transforme alors simplement en local cloudwidget = require("plugins.edcloudmon")

La deuxième ligne du fragment précédent permet d’initialiser le widget et en particulier de lancer les différents timers qui iront vérifier à intervalle régulier l’état d’hubiC.

N’oubliez pas d’ajouter le widget à votre wibox, par exemple à l’aide d’une ligne ressemblant à la cinquième ligne du bloc suivant :

 1: for s = 1, screen.count() do
 2:    mylayoutbox[s] = awful.widget.layoutbox(s)
 3:    [...]
 4:    local right_layout = wibox.layout.fixed.horizontal()
 5:    right_layout:add(cloudwidget.label)
 6:    [...]
 7:    local layout = wibox.layout.align.horizontal()
 8:    layout:set_right(right_layout)
 9:    [...]
10:    mywibox[s]:set_widget(layout)
11: end

En étudiant ce code, vous constaterez que j’y suis allé un peu comme un bourrin, étant donné que je débutais en partie. Les appels répétés à la commande hubic status suivi d’un sed n’est pas la soupe la plus digeste pour votre système.

Par ailleurs, j’ai pu constater que les dernières évolutions du projet MATE le rendait enfin très intéressant, pour l’amoureux abandonné du projet Gnome que je suis. La découverte du très bon thème Clearlooks-Phénix a fini de me convaincre et je suis revenu à mes premiers amours. Ce changement de bureau s’est accompagné d’une quête de nouveaux outils de monitoring et comme on n’est jamais si bien servi que par soi même, j’ai décidé qu’il était définitivement temps que je me mette au python.

StatusIcon pygtk

L’option la plus évidente s’ouvrant à moi pour suivre l’activité d’hubiC sur mon beau bureau gnome mate, était l’écriture d’un script me permettant de loger une icône dans le systray. L’occasion était trop belle, j’ai donc attrapé mon navigateur et je me suis renseigné sur pygtk.

Le résultat est téléchargeable sous la forme d’une archive tar.gz à dézipper où bon vous semble. Je considère cette première version comme une version de test (que j’utilise cependant quotidiennement). Dès que j’aurai l’assurance d’un début de stabilité, je fournirai également un paquet pour Archlinux. N’étant plus depuis longtemps dans le monde Debian, je ne pourrais pas fournir directement de paquet .deb (donc éventuellement pour ubuntu), mais n’hésitez surtout pas à le faire, je place tous mes développements (sauf mention explicite du contraire) sous la belle licence WTF.

L’application actuelle propose les fonctionnalités suivantes :

Parmi les fonctionnalités que je ne souhaite PAS développer, car ne répondant pas (à mon avis) à la problématique de monitoring, il y a toutes les fonctionnalités liées au premier lancement d’hubiC (appariement d’un compte, création d’un compte ou que sais-je), aux opération de login/logout ou de publication de fichiers / répertoires. Pour cela je considère que le client en ligne de commande est largement suffisant. Mais tout peut-être négociable ;)

Parmi les évolutions d’ores et déjà envisagées, par contre, vous pouvez trouver :

Voili voilou. Comme d’habitude, tous les commentaires / applaudissements / insultes sont les bienvenus.