Avant propos :
Cet article contient quelques lignes de code. En tant qu’auteur j’ai pris soin de les vérifier sur mon système. Cependant, dans votre cas, il se peut que certains résultats ne soient pas ceux escomptés.
De manière générale, il faut TOUJOURS vérifier les lignes de code que l’on vous fait exécuter (c’est la première faille des OS ;D). Les risques restent toutefois limités, car rien n’est fait en root ici.
Toutes les actions peuvent être effectuées graphiquement (décompression d’archive, édition de fichiers, etc.). Pour des raisons "d’universalité" j’ai préféré présenter les lignes de commandes (de toute façon c’est un calendrier en ligne de commandes !)
Bonne lecture…
Présentation
est un calendrier en ligne de commande qui affiche des événements à la manière de la commande des distributions UNIX, de de GNU ou de des distributions BSD.
Les avantages :
-
Un calendrier avec mise en évidence des jours auxquels sont associés un/des événements
- Organisation des événements par type et couleurs
- Recherche d’événements par expressions régulières
- Prise en charge des événements officiels (vacances, saints, journées historiques, etc.)
- Les événements peuvent être ponctuels ou répétitifs (quotidiens, hebdomadaire, mensuels, annuels) avec date de début et date de fin
- Ajout des événements en ligne (option -m ) ou en externe (éditions de fichiers)
- Exportation en HTML ou LATeX.
Les inconvénients :
-
Ne peut pas récupérer les événements sur internet
- N’est pas compatible vcal
- En ligne de commande (hum mais c’est l’intérêt ça, non ?!)
Mais ça peut se faire avec des scripts (ce n’est pas expliqué ici).
1. Installation
Pour les distributions Debian ou Ubuntu, on installera le paquet pal :
sudo aptitude install palPour les autres, vous trouverez les sources .
2. Utilisation
2.1. Lancement
-
pal * se lance simplement avec
pal2.2. Édition
Pour éditer les événements en ligne, on ajoutera l’option -m :
pal -mLes flèches du clavier permettent de changer de jour.
- [a] * pour ajouter un événement
- [e] * pour entrer un descriptif
- [Suppr] * pour supprimer un événement
- [q] * pour quitter
- [h] * pour l’aide sur les autres options d’édition
2.3. Recherche
Pour rechercher un événement particulier on utilisera les option -s et -r :
pal -s formule -r nbrjoursoù formule est une chaîne de caractères (ou une ) comprise dans la description de l’événement recherché dans les nbrjours prochains jours
Example : Recherche le prochain jour le Pâques (en anglais ou en français)
pal -r 365 -s "(p.ques)|(easter)"Ou, plus simplement, si vous avez vos événements en français :
pal -r 365 -s "pâques"2.4. Exportation
Pour exporter en HTML, on utilisera l’option –html
cat >> mon_calendrier.html << EOF
Mon calendrier généré depuis pal
$(pal –html -c 12)
EOF
Note : l’option -c permet de spécifier le nombre de "lignes"
()Pour exporter en LATeX, on utilisera l’option –latex
pal –latex -c 12 > mon_cal.tex
sed -i ‘5i\usepackage[latin1]{ inputenc}’ mon_cal.tex
sed -i ‘5i\usepackage[francais]{ babel}’ mon_cal.tex
sed -i ‘s/Monday/lundi/g’ mon_cal.tex
sed -i ‘s/Tuesday/mardi/g’ mon_cal.tex
sed -i ‘s/Wednesday/mercredi/g’ mon_cal.tex
sed -i ‘s/Thursday/jeudi/g’ mon_cal.tex
sed -i ‘s/Friday/vendredi/g’ mon_cal.tex
sed -i ‘s/Saturday/samedi/g’ mon_cal.tex
sed -i ‘s/Sunday/dimanche/g’mon_cal. tex
pdflatex mon_cal.tex || latex mon_cal.texNote : la première ligne permet d’exporter le calendrier en LATeX. La dernière ligne permet de compiler en pdf. Les autres lignes permettent de mettre le calendrier en français.
() #### 2.5. AutresVous trouverez un tas d’autres options dans le manuel d’utilisation de pal
man pal3. Configuration
Le dossier de configuration de pal pour les utilisateurs est .pal/ dans votre home ($HOME/.pal/).
3.1. Fichier de configuration pal.conf
Pour éditer les préférences de pal (nombre de lignes, jour du début de semaine, etc.), il faut éditer le fichier pal.conf
Avant tout, on part du fichier de configuration par défaut que l’on copie dans le dossier de configuration personnel :
cd
mkdir .pal
cp /etc/pal.conf ~/.pal/Puis on l’édite avec un éditeur de textes (ici nano car il est fourni par défaut en général) :
nano ~/.pal/pal.confLe fichier étant très bien commenté, je vous laisse le parcourir et adapter pal comme bon vous semble.
Notons tout de même les lignes commençant par ‘file’. Elles permettent d’ajouter des événements contenus dans des fichiers externes. Ces fichiers d’événements, par défaut, sont pour les États-Unis, commentez/supprimer toutes les lignes qui ne vous intéressent pas.3.2. Fichiers d’événements
Les fichiers d’événements permettent de définir en externe des événements. Ils vont être plus pratiques que l’option -m pour ajouter un grand nombre d’événements au calendrier.
Pour vous montrer comment ça marche, on créera un fichier d’événements pour les jours notables en France (nouvel an, fêtes nationales, etc.).Commençons par télécharger des définitions d’événements (), ce qui nous facilitera la tâche :
cd /tmp #on se met dans le dossier temporairetéléchargement
wget
tar -xvjf bsdcalendar-0.9.tar.bz2 #décompressionAinsi, le dossier /tmp/caledar/calendars/fr_FR. ISO-8859-1 contient des fichiers d’événements dont il nous faudra adapter le contenu pour pal .
Copions le fichier calendar.jferies dans le dossier de configuration de pal :
cp /tmp/calendar/calendars/fr_FR. ISO-8859-1/calendar.jferies ~/.pal/Dans un premier temps, il faut changer les commentaires. En effet, les commentaires de pal sont des lignes commençant par #, tandis qu’ils sont délimités par / … / dans le fichier que l’on a :
sed -i ‘s/^[ t]/?/?/#/’ ~/.pal/calendar.jferies
sed -i ‘s/LANG/#LANG/’ ~/.pal/calendar.jferiesEnsuite, pal définit les événements récursifs en mettant des zéros (0) pour les années (événement annuels) et pour les mois (événement mensuels) :
sed -i ‘s:([0-9][0-9])/([0-9][0-9] )*?:000012:’ ~/.pal/calendar.jferiesContinuons avec les événements référencés par rapport à Pâques (Easter). pal utilise le mot clé ‘Easter’ pour référencer par rapport à Pâques. ‘Easter+nnn’ définit un événement intervenant nnn jours après Pâques (il faut mettre 3 chiffres) :
sed -i ‘s/Easter+([0-9])[ t]/Easter+001t/’ ~/.pal/calendar.jferies
sed -i ‘s/Easter+([0-9][0-9])[ t]/Easter+01t/’ ~/.pal/calendar.jferiesOccupons nous maintenant de la fête des mères (dernier dimanche de mai), celle des pères (troisième dimanche de juin) et les changements d’heures.
- pal permet de définir un événement qui intervient le Nième jour d’un mois avec ‘mmnd’. ‘mm’ est le mois (10 pour octobre), ‘d’ le jour (1=lundi, 7=dimanche).
Exemple : 0547 (06=mai; 4="quatrième"; 7=dimanche ==> dernier dimanche de mai).
On fait la modif avec :
sed -i ‘s/May Sun+2/0547/’ ~/.pal/calendar.jferies
sed -i ‘s/June Sun+2/0637/’ ~/.pal/calendar.jferies
sed -i ‘s:03/SundayLast:0347:’ ~/.pal/calendar.jferies
sed -i ‘s:10/SundayLast:*1047:’ ~/.pal/calendar.jferies
Il faut aussi définir, en début du fichier, les caractères d’affichage des événements (de par et d’autre de la date) et leur type. Pour cela on ajoute en première ligne : ‘FR France’ où ‘FR’ sont les caractères d’affichage et ‘France’ le type :
sed -i ‘1iFR France’ ~/.pal/calendar.jferiesPour que les caractères accentués soient acceptés par pal il est nécessaire de convertir le fichier en avec iconv (paquet du même nom sous Débian et dérivés)
iconv -f ISO8859-1 -t utf-8 ~/.pal/calendar.jferies calendar.jferies >temp
mv temp ~/.pal/calendar.jferiesEnfin on ajoute le fichier d’événements dans pal.conf pour qu’il le prenne en compte :
sed -i ‘1ifile calendar.jferies (magenta)’ pal.confIl ne vous reste plus qu’à créer vos propres fichiers d’événements (pour les anniversaires c’est bien pratique :D).
N’oubliez pas de regarder le manuel de pal pour plus d’information (je n’ai pas tout décrit ici).4. Conclusion
Voili, voilou, vous connaissez un nouveau logiciel bien sympathique.
J’ai essayé de vous montrer l’essentiel des fonctionnalités et configurations. Il en reste encore donc n’hésitez pas à consulter le manuel (je sais, je me répète, mais il y a tout dedans, ça évite les questions inutiles …).Vous pouvez l’ajouter dans votre .bashrc pour l’avoir au démarrage des terminaux.
Je vous conseillerai de ne pas trop abuser des événements (les saints et autres proverbes), ça devient vite ennuyeux et on ne voit plus l’essentiel. Mais bon, je dis ça, c’est à vous de voir !Il existe d’autres calendriers en ligne de commande (voir le haut de l’article) et graphiques (je vous laisse le plaisir de chercher avec votre moteur de recherche favori :D).
À plus ..!