septembre
2010
Suite à ma première contribution directe au projet debian (cf : ci-dessous), j’écris ce billet pour présenter mon expérience avec linux. Je précise que je ne suis pas informaticien de formation.
À la découverte de linux
Suite à quelques utilisations sporadiques de différentes distributions linux, j’ai réellement découvert linux en installant ubuntu 5.10. Après avoir réglé quelques difficultés, je trouve mes marques et retrouve certains logiciels que j’utilisais sous windows. Un seul logiciel me manque vraiment, il s’agit de DéKiBulle un lecteur audio que j’apprécie particulièrement.
À la découverte de ruby
Plus pour m’amuser que pour autres choses, en 2007, je commence à développer un petit script, en bash, nommé ZiK qui me permet de lire mes fichiers audio. Puis je décide de développer une interface graphique et un lecteur audio digne de ce nom dans l’idée d’apprendre un langage de programmation. Après avoir hésité entre ruby et python, j’opte pour ruby. Si j’avais su que python est livré en standard dans la plupart des distributions, mon choix aurait peut-être été différent. Cependant, je ne regrette pas mon choix, je trouve ruby plus sexy (avis totalement orienté par mon expérience).
À la (re)découverte des paquets debian
J’ai découvert les paquets debian côté « fabricant » lorsque j’ai voulu distribuer ZiK sous la forme d’un paquet debian.
J’ai procédé en plusieurs étapes.
J’ai tout d’abord, tout simplement, invoquer dpkg-deb –build sur une arborescence locale imageant une installation de ZiK en prenant soin d’ajouter un dossier DEBIAN contenant les fichiers control et changelog.
J’ai ensuite écrit un fichier rules afin de pouvoir publier un paquet sur mon ppa (debuild et pbuilder sont devenus alors très utiles). La qualité de paquets disponibles sur ce dernier laissent à désirer.
La troisième étape implique la création de paquets plus propres qui seront, si possible, intégrés à debian.
Contribuer à debian
Afin de pouvoir définir des raccourcis clavier globaux pour mon application ZiK, je développe une bibliothèque nommée rghk (ruby global hotkeys). La construction de son paquet debian étant relativement aisé, je me suis proposé pour inclure cette bibliothèque. Elle est maintenant disponible pour debian unstable (ainsi que sous ubuntu 10.10) sous le nom libglobalhotkeys-ruby. Elle ne devrait cependant pas être incluse dans squeeze car son arrivée dans les dépôts à précéder le gel seulement de quelques heures.
Je remercie Lucas Nussbaum de l’équipe pkg-ruby-extra pour son aide lors du processus d’inclusion.
Ayant réussi mon galon d’essai, ZiK devrait prochainement rejoindre debian (en version 0.15 ou 0.16).
Mes codes
rghk
rghk permet de définir des raccoucrcis clavier globaux (actifs même si l’applications est en arrière plan).
Le code suivant permet d’afficher Binded lorsque les touches control et a sont enfoncées. Un exemple plus détaillé est disponible avec le code source.
#require 'rghk'#for older version
kb=GlobalHotKeys::KeyBinder.new
kb.bind(GlobalHotKeys::KeyVal.from_name('a'), GlobalHotKeys::Modifier::CONTROL_MASK){puts 'Binded'}
#GlobalHotKeys::KeyVal.from_name function is implemented since 0.2.0
kb.unbind
La dernière version de rghk, pas encore disponible sous debian, apporte des changements importants :
l’appel à require a été modifié,
la possibilité d’obtenir la « valeur d’une touche clavier » depuis une chaîne de caractère.
ZiK
Si vous voulez tester le lecteur audio nommé ZiK, un paquet debian est disponible. Les instructions pour l’installation du paquet sont disponibles sur le wiki.
Pour les utilisateurs d’Ubuntu un ppa permet une installation aisée de ZiK sous ubuntu. L’installation est détaillée sur le wiki.
N’hésitez pas à faire part de vos impressions.