Birthday – pour ceux qui n’ont aucune mémoire (comme moi)

23 juillet 2009 par flo

Il y a quelques temps j’avais découvert l’excellente application OSMO qui permet de gérer à merveille ses contacts en inscrivant tout un tas d’info sur eux. Ce logiciel embarquait également un gestionnaire de notes, un gestionnaire de tâches (ou to do list) et un calendrier. L’une des fonctions les plus utiles d’OSMO se situe dans la partie contact, une icône en forme de cadeau permet d’afficher tous les anniversaires à venir du plus proche au plus lointain !

anniversaires à venir sous OSMO

anniversaires à venir sous OSMO

Avec ça, aucune chance de rater l’anniversaire de Tati Rosanna ! Alors oui, c’est de la triche, on ne devrait pas avoir à utiliser un logiciel pour ça… Mais c’est pas de ma faute si ma génération préfère utiliser des calculatrices pour faire des calculs simples plutôt que de faire du calcul mental ou préfère reposer sur des outils informatiques pour se rappeler de tout à sa place ! (héhé la bonne excuse)

Bien que je trouve OSMO génial, je lui reproche tout de même deux choses, tout d’abord son côté tout en un et ensuite… son interface graphique !

J’ai donc trouvé un petit programme tout simple et tout bête qui remplace à merveille cette fonctionnalité indispensable de rappel d’anniversaires : birthday.

Birthday

Birthday devrait être disponible sur à peu près toutes les distributions Linux et s’installe facilement à l’aide de votre gestionnaire de paquets favori.

Utilisation :

La première chose à faire et qui peut paraître fastidieuse est de créer en remplir le fichier « ~/.birthdays »

Sa syntaxe est très simple, il faut inscrire le nom de la personne suivit du signe ‘=’ suivi de sa date de naissance au fomat « JJ/MM/AAAA » ou « JJ/MM » suivit éventuellement d’une option.

Les options sont les suivantes :

  • bd : anniversaire d’une personne, c’est l’option par défaut si rien n’est précisé (exemple : l’anniversaire de Maurice)
  • ann : anniversaire d’un événement quelconque (exemple : anniversaire de mariage)
  • ev : annonce d’un événement. Si l’année est précisée, le rappel n’aura lieu que cette année là (exemple : rdv chez le dentiste)

Pour vous montrer à quoi celà ressemble, je vous donne le .birthdays de mon pote Robert Grouchu :
# birthdays
Maurice Bien-membré=26/07/1975
Maurissette Bien-membré=05/08/1977
# anniversaries
Lucette and I married=29/07/1999 ann # ça va faire 10 ans, cette année, va pas falloir se rater !
# events
RDV Dentiste=09/08 ev

Et voici ce que Robert obtiens en entrant la commande birthday :
$ birthday
Maurice Bien-membré is 34 years old in 3 days' time.
Lucette and I married 10 years ago in 6 days' time.
Maurissette Bien-membré is 32 years old in 1 week and 6 days' time.
RDV Dentiste in 2 weeks and 3 days' time.

Par défaut, la commande birthday va afficher tout ce qui va se passer dans les 21 prochains jours. Il est possible de modifier ce comportement avec une option dans le fichier « .birthdays » ou avec une option passée à la commande birthday.

Calendrier

Il est également possible d’afficher une sorte de calendrier horrible avec l’option « $ birthday -c » mais même en jouant sur les options d’affichage, le résultat reste toujours immonde.

Conclusion :

On peut voir une plus grande utilité à cette commande en la lançant automatiquement dans une console au démarrage de l’ordinateur. Personnellement je la laisse tourner sur mon serveur dans un screen à l’aide de la commande watch qui va réactualiser la commande de temps en temps ($ watch -n 3000 ‘birthday’).

Il suffit de jeter un petit coup d’oeil de temps en temps à la fenêtre virtuelle pour s’asurer de ne rien manquer !

Comme d’habitude, pour découvrir à fond toutes les particularités de cette commande : RTFM ! (la page man de birthday est très simple).


Screen – l’outil magique

22 juillet 2009 par flo

Je commence une série d’articles basés sur le thème de l’interface en ligne de commande ou CLI en anglais. Ces articles auront pour but de découvrir des logiciels en ligne de commande qui permettent de remplacer souvent efficacement les grosses applications usine à gaz graphiques habituelles. Souvent ces outils se montrent, plus rapides, plus stables et plus flexibles. Ils limitent également l’utilisation de la souris et dans mon cas c’est un gros avantage puisque je subis des douleurs assez atroces dans tout le bras droit lorsque je l’emploie.

Pour débuter, je propose la découverte de screen. Pour simplifier son fonctionnement, disons que screen permet de créer des « fenêtres virtuelles ». Pour bien saisir toute l’utilité de la chose, le mieux est de commencer à l’utiliser.

Screen

Installez le paquet screen si ce n’est pas déjà fait puis lancez le avec la commande « screen » depuis votre terminal préféré.
Une page va s’ouvrir dans le terminal présentant l’outil et la version utilisée. Appuyez sur la touche « entrée » pour lancer la première fenêtre virtuelle. Son apparence sera identique au terminal précédent. Vous pouvez donc à partir de là taper des commandes comme dans n’importe quel autre terminal.

Les commandes de Screen :

Toutes les commandes concernant Screen sont basées sur la combinaison de touches ctrl+a puis dans un second temps, sur l’appui d’une autre touche, ou combinaison de touche.

Créer une nouvelle fenêtre :

Appuyez maintenant sur ctrl+a puis sur la touche ‘c‘, une nouvelle fenêtre virtuelle est créée. Vous pouvez là encore entrer des commandes.

Rennomer une fenêtre :

Pour rennomer cette fenêtre virtuelle, appuyez sur ctrl+a puis sur ‘A‘.

Se ballader parmi les fenêtres :

Pour revenir à la fenêtre précédente, appuyez sur crtl+a puis sur la touche <« > (en dessous du nombre 3). Vous verrez apparaître la liste des fenêtres . Vous pouvez vous déplacer dans cette liste et entrer dans n’importe laquelle.

Détacher le screen :

Une des fonctions les plus utiles de screen est qu’il permet de « détacher » les fenêtres. Il faut pour cela faire la combinaison de touche ctrl+a puis ‘d‘. On retombe dans le terminal de base ayant servi à lancer screen. Mais les fenêtres virtuelles existent encore et si vous avez lancés une application comme « top« , elle continue à tourner dedans.

Rattacher le screen :

Pour retrouver ses fenêtres virtuelles, il faut relancer screen avec l’option -r : « screen -r« .
Vous retrouverez les fenêtres créées. Les applications lancées ont tourné sans interruption de service.

Partager un screen :

Un autre intérêt est celui de partager la session screen avec quelqu’un d’autre. Si deux personnes sont connectées sur la même machine, ils pourront utiliser le même screen.
Une fois que la première personne a lancé screen, la seconde le rejoint en tapant « screen -x » et elle verra alors tout ce que l’autre fait. Utile dans le cas d’un dépannage ou d’une explication à distance.

En conclusion :

Voilà pour un aperçu rapide de screen, on a fait le tour des commandes les plus utiles, si vous voulez appronfondir le sujet comme des gros boeufs de l’informatique, je vous laisse avec un joli RTFM !

Il est par exemple possible de changer les raccourcis clavier pour ceux qui ne trouvent pas pratique de sacrifier l’habituel ctrl+a qui permet d’ordinaire de revenir en début de ligne dans une invite de commande…

L’utilité principale de screen est de fournir une non interruption de service aux commandes lancées dedans. Prenons l’exemple d’une compilation effectuée sur une machine distante à l’aide d’une connexion en ssh. Si cette compilation est effectuée à l’aide de screen et que la connexion coupe, elle pourra se terminer et le résultat sera lisible dès que la connexion sera de nouveau opérationnelle.

Quand il s’agit de travailler à distance sur une autre machine, screen est donc un excellent réflexe à avoir !