Aller au contenu

Archive de juin, 2010

30
juin

Planifier une execution avec at

ClockLorsque l’on souhaite planifier de façon régulière l’exécution d’une commande ou d’un script, le plus efficace reste l’utilisation de cron. En revanche, lorsqu’il s’agit d’une action unique, il existe une commande linux très pratique : at. L’utilisation de base pour une planification dans la journée est assez simple. Il suffit de faire suivre at de l’heure à laquelle on souhaite exécuter la commande ou le script en concaténant les heures et les minutes. Après avoir pressé la touche <entrée> un prompt s’ouvre pour y tapper la ou les commandes souhaitées chacune suivie d’<entrée>. Après la dernière commande, un Ctrl+D validera la planification. Par exemple, pour lancer le script synchro.sh aujourd’hui à 23h30 :

$ at 2330
warning: commands will be executed using /bin/sh
at> sh ~/synchro.sh
at> 
job 7 at Tue Jun 29 23:30:00 2010
$

Plusieurs options sont proposées pour personnaliser un peu plus l’exécution. On peut citer en particulier le paramètre -l permettant de lister les planifications en cours :

$ at -l
7	Tue Jun 29 23:30:00 2010 a username
$

ou encore la commande atrm suivie de l’id de la tâche pour la supprimer.

$ at -l
7	Tue Jun 29 23:30:00 2010 a username
$ atrm 7
$ at -l
$

Pour le manuel de la commande, c’est par là.

12
juin

Créer son CV en LaTeX avec moderncv

moderncv est une classe de document pour LaTeX permettant de mettre en forme son CV de façon propre, lisible et dans un design moderne (d’où son nom!). Cette classe est disponible dans le paquet TeXlive. Par rapport à d’autres classes de ce type, elle a l’avantage de supporter quelques options intéressantes comme deux mises en page différentes (version « casual » ou « classic ») ou un choix de couleur de bordures parmi le bleu, le vert, l’orange, le rouge ou le gris. L’exemple fourni par l’auteur de cette classe est bien documenté et permet de réaliser rapidement son CV en s’en inspirant. En version « classic bleu », le mien ressemble à ça :

CV

CV réalisé avec moderncv

Autant dire que j’en ai définitivement fini avec les CV créés sous Word (ou Open Office) ! Encore une preuve de la puissance de LaTeX.

[EDIT ] : Voir comment mettre à jour le package moderncv pour avoir accès à toutes les balises de l’exemple.

[EDIT 2] : A la demande générale (!!), je mets en ligne le .tex de mon CV : cv.tex.

8
juin

Ixquick, métamoteur de recherche confidentiel

Ixquick est un métamoteur de recherche. Ce qui signifie qu’il ne fait pas les recherches lui-même mais envoie les requêtes à plusieurs moteurs de recherches pour ensuite fusionner leurs résultats en supprimant évidemment les doublons. Ixquick permet entre autres de récupérer les résultats de moteurs comme Google ou Bing.

Ce qui différencie Ixquick des autres métamoteurs ou même des moteurs de recherche classiques c’est qu’il s’engage à ne pas enregistrer l’adresse IP de l’utilisateur. Certes, des données comme le navigateur, l’heure de la recherche ou l’OS utilisé sont stockées. Cependant, ces données ne sont pas rattachées à une adresse IP ce qui assure donc une certaine confidentialité pour l’utilisateur.

Une page défini les moyens mis en oeuvre par Ixquick pour protéger les données personnnelles de ses utilisateurs. C’est intéressant de voir que de plus en plus de projets, souvent open source d’ailleurs mais pas uniquement, font de la protection de la vie privée une priorité et parfois même l’argument « marketing » principal comme pour Ixquick. C’est intéressant mais aussi préoccupant puisque de tels projets prouvent que la notion de « données personnelles » n’est plus une évidence mais est devenu un avantage que l’on veut bien nous céder, une sorte de bonus offert à l’utilisateur…

Bref, afin d’utiliser Ixquick plus facilement, une extension Firefox est disponible sur le site. Celle-ci permet d’ajouter Ixquick dans la liste des (méta)moteurs du champ de recherche en haut à droite du navigateur. Une version utilisant HTTPS est également proposée.

Pour tester :

Ixquick
Web Ce site

4
juin

Notifications depuis le shell

Voilà déjà un moment que les bulles de notification ont fait leur apparation sur des distributions linux (je pense en particulier à Ubuntu ou Kubuntu). Je les trouve personnellement très pratiques et bien intégrées. Du coup, pourquoi ne pas s’en servir pour une utilisation plus personnelle depuis un terminal?

Prenons un exemple concret dans le cadre du développement d’un site web avec le framework PHP Symfony (comme ça je commence un peu à en parler…). La tâche Symfony doctrine:build-all-reload permet de reconstruire la base de données, regénérer les classes d’abstraction et remplir la base avec les données qu’on lui fournit. Bref, dans le cadre d’un projet qui devient important, cette tâche peut prendre facilement une dizaine de minutes. Il peut alors être intéressant d’être alerté une fois ceci terminé plutôt que de surveiller régulièrement son terminal. C’est là que la commande notify-send intervient. Pour pouvoir l’utiliser :

sudo apt-get install libnotify-bin

Puis pour faire apparaitre un premier message :

notify-send "Test notification"
Test Notification

Notification simple

Pour le moment c’est assez simple. Mais bien entendu, comme toujours, il existe un certain nombre de paramètres pour personnaliser tout ça. Les deux principaux selon moi sont :

  • -t <temps_en_millisecondes> qui permet de spécifier le temps (en millisecondes) au bout duquel le message expirera.
  • -i <chemin_vers_icone> qui permet d’ajouter une icone dans la bulle de notification. Très pratique pour que l’avertissement soit plus visuel.

Revenons à notre exemple. Dans un premier temps, j’ai créé à la racine de mon répertoire personnel un dossier .notify dans lequel j’ai copié une icone représentant le logo de Symfony. J’ai ensuite rajouté un alias pour ma commande dans mon .bashrc. La commande qui doit être executée comprend la commande Symfony suivi d’une notification (d’où le && entre). Ce qui donne ceci :

alias sf-doctrine-build-all-reload='sf doctrine:build-all-reload --no-confirmation &amp;&amp; notify-send -i ~/.notify/sf.png "doctrine:build-all-reload done"'

On obtient tout de suite quelque chose de plus sympa!

Sf Notification

Notification 'sf doctrine:build-all-reload'

Et voilà! C’est facilement adaptable à d’autres alias ou scripts en tout genre et ça a quand même de la gueule! Pour la manuel, c’est par là. Pour les spécifications complètes de la commande, c’est par ici.

2
juin

sl ou comment s’auto-flageller

Tous les utilisateurs de linux familiers avec la ligne de commande se sont retrouvés un jour avec cette faute de frappe :

user@server:~# sl
-bash: sl: command not found
user@server:~#

De façon à se punir de cette coquille, il existe une commande dont la description est plutôt claire :

sl – display animations aimed to correct users who accidentally enter sl instead of ls.

Cette commande fait passer un train en ASCII dans le terminal. Pour couronner le tout, on ne peut d’une part pas tuer le processus (à moins de spécifier le paramètre -e mais là c’est clairement plus une faute de frappe !!!) et d’autre part les principaux paramètres à la commande ls, à savoir le -l et le -a, sont également implémentés dans sl. Le premier affichera un train plus petit et le second fera appeler au secours les passagers avec des « help! ».

Commande sl

Commande sl -a

Bref, c’est inutile, énervant et relève du masochisme : autant dire indispensable! Donc pour l’installer c’est comme d’habitude :

sudo apt-get install sl

Et le manuel est là : manuel sl.