lundi 25 avril 2011, 21:44:44 (UTC+0200)

Squelettes de fichier avec Vim

Beaucoup de langages, comme par exemple le Perl, nécessitent pour les scripts très souvent les mêmes premières en-têtes, du genre :

#!/usr/bin/env perl
use strict;
use warnings;
On peut s'abstenir de les recopier pour chaque nouveau fichier «.pl», en les écrivant une fois pour toutes dans un fichier squelette, que l'on placera par exemple dans son $HOME_DIR (ex : «~/.vim/skeleton.pl»), et que l'on invoquera via son fichier personnel «.vimrc» de la manière suivante :
autocmd BufNewFile  *.pl 0r ~/.vim/skeleton.pl
Cela permet par exemple de ne jamais oublier les indispensables pragmas pour Perl !

dimanche 10 avril 2011, 02:54:32 (UTC+0200)

Authentification Kerberos sous Mozilla Firefox

Ceux qui auront déjà essayé de consulter un site avec Mozilla Firefox (3,4), nécéssitant une authentification Kerberos (par exemple, monté sur un serveur Apache2 configuré avec le module mod_auth_kerb), auront sûrement déjà remarqué que par défaut, l'authentification ne se fait tout simplement pas, à la différence d'Internet Explorer (7,8) et Google Chrome (10).
Il faut en effet préciser le domaine Kerberos utilisé à Mozilla Firefox, via son interface de configuration, en mettant à jour la variable network.negotiate-auth.trusted-uris, comme suit :

network.negotiate-auth.trusted-uris : kerberosrealm.org

Le changement est ensuite pris en compte à la volée, sans redémarrage nécessaire du navigateur.

dimanche 23 janvier 2011, 14:14:36 (UTC+0100)

bsdmainutils : un calendrier décalé ?

Il est de ces anomalies que l'on trouve anodines, amusantes, énervantes voire très problématiques. Sous Debian Sid, il faut croire que l'on aime se confronter régulièrement à de tels imprévus, sans aucun masochisme : on dira juste que c'est « sport ».
Le paquet bsdmainutils de Debian Sid, à l'heure d'écriture de ce billet, en est à sa version 8.2.1. Ce paquet fournit un grand nombre d'utilitaires, dont les fameuses commandes cal et ncal. Grâce à ces commandes, il est possible d'obtenir très rapidement par exemple, le calendrier mensuel d'un mois donné pour une année précise : cette fonctionnalité est d'ailleurs utilisée dans ce même blog !

Or, quelle ne fut pas ma surprise lorsque mettant à jour ma Debian Sid sur laquelle s'appuie ce blog, donc en installant cette version du paquet bsdmainutils et rechargeant alors le moteur du blog, de constater l'affichage d'un calendrier complètement décalé. Plus exactement, voici quel était précisément l'affichage rendu par les commandes *cal :

  • sous Debian Testing, bsdmainutils version 8.0.17 :
    wedjat@set:~$ cal | cat -E
        January 2011$
    Su Mo Tu We Th Fr Sa$
                       1$
     2  3  4  5  6  7  8$
     9 10 11 12 13 14 15$
    16 17 18 19 20 21 22$
    23 24 25 26 27 28 29$
    30 31$
    
  • sous Debian Sid, bsdmainutils version 8.2.1 :
    wedjat@thoth:~$ cal | cat -E
        January 2011      $
    Su Mo Tu We Th Fr Sa  $
                       1  $
     2  3  4  5  6  7  8  $
     9 10 11 12 13 14 15  $
    16 17 18 19 20 21 22  $
    23 24 25 26 27 28 29  $
    30 31                 $
    
    plusieurs espaces supplémentaires sont donc apparus en fin de ligne, particulièrement la première.
Ce n'est pas tout : la commande cal par défaut surligne dans un terminal de type xterm la date du jour courant. Sous Debian Testing, l'affichage généré ne se retransmet que dans le terminal. Sous Sid, la fameuse date se retrouve écrite ainsi : _^H2_^H3 au lieu de 23.

La solution à ce problème n'est pas vraiment complexe. Pour s'assurer d'obtenir la même sortie dans un fichier de la commande cal à l'avenir, il faudra utiliser deux opérations :

  • l'ajout de l'option « -h », pour supprimer le surlignage de la date du jour et donc l'écriture dans un fichier de caractères inutiles,
  • un pipe vers une commande sed pour supprimer les espaces inutiles en fin de ligne, ce qui donne : cal -h | sed 's/[ \t]*$//'
Pour les utilisateurs de nanoblogger concernés par le problème, il suffit de rajouter dans votre fichier de configuration blog.conf l'option « -h » dans la variable « $CAL_ARGS » et d'éditer votre fichier de plugins calendar.sh ainsi, en remplaçant :
[ ! -z "$DATE_LOCALE" ] && CALENDAR=`LC_ALL="$DATE_LOCALE" $CAL_CMD $CAL_ARGS "$cal_month" "$cal_year"`
[ -z "$DATE_LOCALE" ] && CALENDAR=`$CAL_CMD $CAL_ARGS "$cal_month" "$cal_year"`
par
[ ! -z "$DATE_LOCALE" ] && CALENDAR=`LC_ALL="$DATE_LOCALE" $CAL_CMD $CAL_ARGS "$cal_month" "$cal_year" | sed 's/[ \t]*$//'`
[ -z "$DATE_LOCALE" ] && CALENDAR=`$CAL_CMD $CAL_ARGS "$cal_month" "$cal_year" | sed 's/[ \t]*$//'`
On notera évidemment que l'on peut d'ores et déjà prendre la précaution d'utiliser ces deux opérations pour les versions antérieures de bsdmainutils.

jeudi 13 janvier 2011, 21:37:27 (UTC+0100)

Hommage à Hatem Bettahar, enseignant-chercheur en informatique à l'UTC

La nouvelle m'aura secoué ce matin.
J'ai appris avec une certaine stupeur le décès de Hatem Bettahar, enseignant-chercheur à l'UTC survenu d'après les médias lors d'émeutes en Tunisie. Il faut dire que la couverture médiatique a porté sur un grand nombre de châines de télévision française, de radios et de journaux, comme dans cet article du Monde. Une vidéo qui circule à ce sujet est assez choquante, tellement que j'ai eu le réflexe de flagger sur YouTube les contenus que je jugeais irrespectueux vis-à-vis de l'homme et de son entourage. Selon certains commentaires d'articles sur le sujet, on prétend que ce serait la famille elle-même qui aurait choisi de diffuser ces images : cependant, qui croire ? Même dans ce cas, a-t'on besoin d'une vidéo pour relayer correctement une information ?

Pour en revenir à M. Bettahar, bien que je sois originaire de la formation GI de l'UTC, je ne l'ai croisé qu'à de courtes reprises, une séance de travaux pratiques dans une UV, une surveillance de soutenance dans une autre... Il m'avait semblé très pédagogue, passionné. Je garde également le souvenir d'un cours de très bonne qualité sur les systèmes informatiques qu'il avait contribué à rédiger.

Je pense aujourd'hui à sa famille, ses amis, collègues, ses étudiants qui auront suivis les UV qu'il animait et gérait personnellement. M. Bettahar se sera trouvé être le martyr d'une population tunisienne en proie à une douloureuse situation sur tous les plans et à ce titre, ne sera pas oublié non seulement de ses proches et étudiants mais également d'un grand nombre de Français et Tunisiens dans leur vision de cette décennie pour la Tunisie.
M. Bettahar, vous serez regretté.

mercredi 12 janvier 2011, 22:10:49 (UTC+0100)

« Hello, world ! »

« Que la lumière soit ! » comme diraient d'autres. Bref, après quelques (beaucoup) de petites magouilles et joyeuseries en XHTML, CSS, PHP, MySQL, et aussi parce que j'aime arriver à ce que je veux, ce weblog voit le jour sous le rutilant et non pas moins puissant Nanoblogger. Je parlerai certainement plus tard de ce moteur de blog qui propulse ce petit espace.

Bref, je mettrai dans ce weblog ce qui me passe par la tête, de la petite astuce qui dépanne bien, glanée au fond d'un tiroir, à l'oreille du boucher ou déterrée dans le jardin (hein ?) aux divers évènements qui m'amusent et me font réagir dans nos jolis sous-réseaux de sous-réseaux.

Bon, reste plus qu'à commencer un premier billet, hein...