Benj's tavern

ACPI for fun and profit

Une petite astuce qui utilise l'ACPI et qui me permet de gagner 2 secondes de temps de cerveau humain disponible : comment faire pour que mes applications de messagerie instantanée et d'IRC soient automatiquement mises en suspension lorsque mon portable est en veille (écran replié ?). C'est assez pénible de taper la commande idoine à chaque pause café alors autant que le système le fasse pour moi !

Pour ce faire, il suffit (sous Debian GNU/Linux) de créer un répertoire /etc/acpi/local et d'y placer deux scripts lid.sh.pre et lid.sh.post (qui doivent être exécutables) et qui seront exécutés à chaque mise en veille puis en mode normal du portable.

Voici le script lid.sh.post :

#!/bin/sh                                                                       
users=$(ps auxw | grep emacs | grep -v root | awk '{print $1}' | sort | uniq)
for user in $users ; do
    su $user -c "gnuclient -batch -eval '(erc-cmd-GAWAY \"\")(message \"Welcome back\")'"
done
users=$(ps auxw | grep gaim | grep -v root | awk '{print $1}' | sort | uniq)
for user in $users ; do
    su $user -c "gaim-remote 'setstatus?status=available&message='"
done

Et le script lid.sh.pre :

#!/bin/sh                                                                       
users=$(ps auxw | grep emacs | grep -v root | awk '{print $1}' | sort | uniq)
for user in $users ; do
    su $user -c "gnuclient -batch -eval '(erc-cmd-GAWAY \"Laptop suspended\")'"
done
users=$(ps auxw | grep gaim | grep -v root | awk '{print $1}' | sort | uniq)
for user in $users ; do
    su $user -c "gaim-remote 'setstatus?status=away&message=Laptop suspended'"
done

Ces deux scripts envoient les commandes idoines aux programmes Emacs et Gaim. Concernant Emacs, il utilise le programme gnuclient, donc gnuserv doit être lancé dans le fichier .emacs des utilisateurs:

(load-library "gnuserv")
(gnuserv-start)

Également, j'utilise la gaim-remote pour envoyer l'ordre à gaim. Ceci implique que python-dbus soit installé.

Bien évidemment, on peut adapter ces scripts pour son propre client de messagerie instantanée. Même, cette astuce peut être utilisée pour exécuter des tâches coûteuses en temps machine lors des pauses café.

[18/Mar/2008] | [APRIL] | Link


Où est-ce qu'on paye sa cotisation ?

Cette question, longtemps posée par les adhérents de l'APRIL, est enfin répondue : gDTC !

En effet, le SI de l'APRIL intègre désormais une fonction de paiement par carte bancaire directe. Plus besoin de passer par la boutique en ligne, qui était il faut l'avouer peu adaptée au paiement de cotisation en ligne.

Amis adhérents en retard de cotisation, pour payer votre cotisation par carte bancaire, rendez vous désormais sur http://adherents.april.org/my/ !

[18/Jan/2008] | [APRIL] | Link


Etags, ça poutre sévère

Dans la catégorie « l'outil ultime qui déchire, » il y a Etags.

Etags est, comme on peut le deviner, un outil d'Emacs qui gère les tags dans les codes sources. Les tags en question sont des pointeurs vers les fonctions, variables, defines et autres symboles qui permettent de savoir où ils sont placés dans le code source.

L'idée est de maintenir un fichier contenant ces positions (le fichier TAGS) puis de l'utiliser comme base de données pour tout travail ultérieur de recherche. Ce fichier est créé avec la commande suivante (exemple pour du code C, mais ça marche avec tous les langages majeurs) :

  $ etags *.c

En mode d'édition, si on désire savoir où est définie telle fonction, on déplace le curseur sur un appel à cette fonction et on appuie sur M-.. Emacs demande où se trouve le fichier TAGS si c'est la première utilisation (et fait une proposition de nom), il suffit ensuite de valider. Et là, magie!, Emacs ouvre tout seul comme un grand le fichier contenant la fonction appelée et positionne la marque au début de la fonction.

Il est également possible d'effectuer une recherche sur un symbole particulier. Par exemple, vous voulez savoir à quel endroit du code telle fonction est appelée et comment. Facile ! Tapez M-x tags-search puis le nom de votre fonction. Emacs déplacera le point vers la prochaine occurence de la définition ou de l'appel de votre fonction, tout en ignorant les commentaires. L'appui sur M-, permettra de passer à l'occurence suivante.

Finies les longues minutes à rechercher les fonctions d'un code à coups de grep ... encore une victoire de canard !

[18/Dec/2007] | [APRIL] | Link


Une sacrée Tramp

L'autre jour, j'ai appris avec horreur qu'il y a des emacsiens qui ne connaissent pas encore tramp, l'ultime évolution du système Emacs. C'est un tort !

Tramp, pour Transparent Remote (file) Access, Multiple Protocol, est comme son nom l'indique un module Emacs permettant d'accéder à distance à des fichiers, mais pas uniquement. Il supporte plusieurs protocoles, dont SCP/SSH, FTP, Telnet, rsync, smb, mais aussi sudo et su. Il est possible d'utiliser la plupart des commandes Emacs à travers Tramp, comme dired ou le gestionnaire de version. Oui monsieur !

Comment ça marche ? C'est très simple, il suffit d'installer tramp (apt-get install tramp sous les distributions modernes), puis de demander à Emacs d'ouvrir ou de sauvegarder un fichier en utilisant un nom de fichier de la forme:

/utilisateur@machine:/chemin/fichier.txt

Ensuite, Emacs se charge comme un grand du reste, il vous demande un mot de passe (sauf si ce n'est pas nécessaire, par exemple pour accéder à un serveur SSH dont l'authentification passe par une clef), puis télécharge le fichier et vous l'affiche comme s'il était en local. À chaque sauvegarde, il le met à jour sur le serveur, de manière transparente. C'est très pratique, par exemple si on a besoin de développer un applicatif web à distance sur un serveur sans environnement graphique mais que l'on souhaite conserver son environnement de travail habituel (Emacs bien sûr ;-)). À titre d'exemple, ce billet est rédigé en utilisant Tramp et le mode blogmax d'Emacs.

[16/Oct/2007] | [APRIL] | Link


Planète APRIL powered by gDTC!

Ça y est, planète APRIL utilise le nouveau système de gestion des adhérents mis en place tout récemment. Ce système, gDTC (pour gestion Des Tâches Courantes) permet aux adhérents de mettre à jour directement leur blog dans planète APRIL sans intervention des admins. C'est un gain de temps appréciable. :-)

Plus d'info et le lancement officiel bientôt !

[30/Aug/2007] | [APRIL] | Link


1500 !

L'APRIL a lancé une campagne d' adhésion pour atteindre l'objectif des 1500 membres d'ici la fin de l'année.

Richard Stallman avait à cet occasion appelé à adhérer à l'APRIL et de nombreuses personnes ont répondu à cet appel et rejoint les rangs de l'interlocuteur de référence du logiciel libre en France.

L'objectif du 1500è membre a été atteint lors des Rencontres Mondiales du Logiciel Libre et c'est une très bonne chose !

Pour autant, l'objectif de l'association est de continuer à grandir et toutes les énergies sont les bienvenues. Nous avons déjà un poids plus important à 1500, mais nous serons encore mieux écoutés à 5000.

Alors si ce n'est pas déjà fait, j'adhère à l'APRIL

[14/Jul/2007] | [APRIL] | Link


Geek!

Ça y est, je suis devenu officiellement un geek, j'ai investi dans un portable (non pas un téléphone). Il me servira d'une part à pouvoir travailler dans le train que pour des trajets réguliers de 5 ou 6h et d'autre part à bosser plus efficacement quand dans les locaux de l'APRIL pour faire la trésorerie.

J'ai choisi un Acer 5613WLMI, car il répondait au cahier des charges suivants:

  • fonctionnel avec des drivers libres
  • autonomie d'au moins 2h30
  • au moins 512M de RAM
  • moins de 700 euros

L'installation d'une Debian Etch à partir du lecteur de DVD se passe sans problème. À vrai dire les temps glorieux de l'installation manuelle sont bien révolus, l'installeur Etch est d'une simplicité d'utilisation déroutante.

Un reboot plus loin, un joli bureau Gnome m'accueille ! Il reste cependant quelques réglages à effectuer, par exemple 915resolution doit être installé pour une résolution d'écran correcte.

Ce qui marche et ce qui ne marche pas :

OK Carte graphique (i950). Le DRI est détecté directement, aucune configuration à faire.
Non Webcam. Avec les versions SVN de linux-ucv la caméra est détectée mais pas ce qu'elle renvoie ... à suivre. En même temps je m'en moque un peu. :-)
OK Carte son. Le HP intégré crachote un peu mais ça marche.
OK Carte ethernet.
Non Wifi. Nécessite des drivers propriétaires ... mauvaise surprise, je me suis trompé sur ce composant.  Ça sera donc ethernet ou avec une carte wifi PCMCIA supplémentaire.
OK Lecteur de DVD
OK Hibernation sur disque
Non Hibernation sur RAM. Problème support ACPI sur mon kernel, à voir mais ça doit être juste de la configuration à faire.
À tester PCMCIA (ça devrait fonctionner).

Autre surprise, l'autonomie est plus importante que les 2h30 annoncée. Avec un peu de tuning, à voir...

Bref, mis à part la surprise du wifi (et la webcam) une bonne configuration qui marche avec des drivers libres.

[02/Jul/2007] | [APRIL] | Link


Easyneuf gagne un lutèce d'or !

Lutèce d'Or Le 13 juin dernier a eu lieu la remise des Lutèces d'Or, qui sont en quelque sorte les Césars du logiciel libre.

Parmi les concurrents, le projet Easyneuf me concerne tout particulièrement car j'y suis impliqué depuis pratiquement un an. Et c'est avec plaisir que j'ai appris que ce projet avait reçu le prix spécial du jury.

C'est à ma connaissance la première fois que du logiciel libre est ainsi distribué au grand public (le vrai, la ménagère de moins de cinquante ans tout comme ma grand-mère) et que ce grand public peut bénéficier d'un support professionnel sur des logiciels libres inclus dans l'offre. Bref, un prix bien mérité !

[15/Jun/2007] | [APRIL] | Link


Rejoignez l'APRIL !

L'APRIL joue depuis 1996 un rôle majeur dans la défense et la promotion du logiciel libre. Pour continuer son action toujours plus importante et pour continuer à répondre aux nouveaux défis qui attendent le logiciel libre toujours plus nombreux, elle a besoin de moyens.

Ces moyens passent par une base d'adhérents solides. Chaque adhésion compte, le logiciel libre aura d'autant de poids qu'une association représentative existe.

C'est pourquoi Richard Stallman, le père du logiciel libre encourage les utilisateurs de logiciels libres à rejoindre l'association: « L'APRIL joue en France un rôle fondamental et unique pour la promotion et la défense du logiciel libre et de ses différents acteurs. La liberté informatique est un enjeu de société et il est essentiel, aujourd'hui plus encore qu'avant, de soutenir celle-ci en rejoignant l'APRIL. J'encourage tous les citoyens épris de liberté informatique à adhérer dès maintenant à l'APRIL ».

Vous vous sentez concernés par le logiciel libre ? Alors participez maintenant, adhérez !

[24/May/2007] | [APRIL] | Link


L'APRIL contre-attaque

Issu du communiqué de l'APRIL :

L'APRIL (Association pour la Promotion et la Recherche en Informatique Libre) a déposé ce jour au Conseil d'État une requête en annulation contre le décret du 23 décembre 2006 «relatif à la répression pénale de certaines atteintes portées au droit d'auteur et aux droits voisins» (NOR: MCCA0600979D).

Contrairement à l'intitulé donné par le gouvernement, ce décret ne vise en effet nullement des atteintes au droit d'auteur ou aux droits voisins. Il rend par contre passible d'une contravention de 4ème classe des actes légitimes comme, par exemple, la lecture avec un logiciel libre d'un DVD acheté dans le commerce, ou de toute autre information contrôlée par une mesure technique.

L'APRIL soutient dans son recours que, ce faisant, ce décret contredit le droit communautaire, méconnaît la loi DADVSI, contrevient à plusieurs principes généraux du droit, et menace la sécurité juridique du Logiciel Libre, déjà mise à mal par les dispositions légales complexes et parfois contradictoires relatives à l'interopérabilité.

En savoir plus sur le site de l'APRIL.

[21/Feb/2007] | [APRIL] | Link