Le Site du dernier matou

Le site qui fait miaou!

Aucun commentaire

Je continue dans la série des outils en ligne de commande, aujourd'hui : l'agenda.

Pour l'installation sous Debian pas de souci :

apt-get install khal

Pour la configuration, elle se fait dans le fichier "config" qui se situe dans le répertoire "~/.config/khal/". Il y a une configuration par défaut assez complète que j'ai extrêmement simplifié vu mes besoins. La voici :

[calendars]
[[perso]]
path = ~/.vdirsyncer/mes_agendas/perso/
type = calendar
[[pro]]
path = ~/.vdirsyncer/mes_agendas/pro/
type = calendar

[locale]
timeformat = %H:%M
dateformat = %d/%m/%Y
longdateformat = %d/%m/%Y
datetimeformat = %d/%m/%Y %H:%M
longdatetimeformat = %d/%m/%Y %H:%M

J'ai donc configuré deux agendas, et je n'ai pas changé les formats de date et heure.

la commande "khal" vous affiche un calendrier avec le mois actuel et les deux suivants. Ainsi que les les événements du jour et du lendemain. Elle permet aussi avec les bons arguments de gérer entièrement vos agendas mais la commande "ikhal" permet de profiter d'une interface texte.
On se déplace dans la calendrier avec les touches directionnelles, "entrée" pour sélectionner puis modifier un événement. "n" pour en créer un nouveau et "d" pour le supprimer. On a même droit à un rappel des commandes grâce à "?".

Une dernière chose la commande :

khal list now 30 days

permet d'avoir la liste des événements des trente prochains jours. Très utile pour les scripts.

Aucun commentaire

Je continue dans la série des outils en ligne de commande, aujourd'hui : les contacts.

Pour l'installation sous Debian pas de souci :

apt-get install khard

Pour la configuration, elle se fait dans le fichier "khard.conf" qui se situe dans le répertoire "~/.config/khard/". Il y a juste à renseigner ses carnets de contacts et les répertoires qui correspondent.

Pour ajouter un contact :

khard new

On choisit le carnet de contacts, on renseigne un fichier texte et c'est bon.

Pour rechercher un contact :

khard le_truc_à_chercher

Khard recherche dans tous les champs possibles, très pratique pour les recherches inverses (à partir d'une adresse mail ou d'un numéro même partiel).

Pour modifier un contact :

khard modify un_truc_du_contact

Si vous n'êtes pas assez précis, Khard vous propose la liste des contacts correspondant au truc. Vous choisissez et vous modifiez le fichier texte (le même que pour la création) et c'est fini.

Pour supprimer un contact :

khard delete un_truc_du_contact

Si vous n'êtes pas assez précis, c'est comme pour la modification. Vous choisissez et le contact est supprimez.

Pour plus de commande ;

khard --help

Aucun commentaire

Suite à un appel de détresse, je débarque pour réparer un ordinateur qui ne démarre plus. Le diagnostic semble simpliste mais précis. On appuie sur le bouton d'alimentation mais rien ne se passe. Je me dis que j'ai bien fait d'apporter une alimentation. Démontage de la tour et première surprise la carte-mère est alimentée, une DEL le signale.

Je tente donc de démarrer l'ordinateur en agissant directement sur la carte-mère. Je retire les fils de l'interrupteur d'alimentation, ils sont indiqués par l'inscription PWR SW sur leur connexion et avec un tournevis je fais un contact entre les deux broches de la carte mère où était fixer la connexion de l'interrupteur d'alimentation. Et bonne nouvelle l'ordinateur démarre.

Par contre, où trouver un tel interrupteur? Pour commencer je démonte la face avant pour voir à quoi il ressemble.

C'est un interrupteur avec une DEL au centre pour faire une lumière bleue quand l'ordinateur est allumé. Mais je remarque que l'un des crochets est cassé et ne maintient plus l'interrupteur (celui du haut sur la photo précédente). Comment réparer?

Avec un bout de carton et une allumette pour maintenir le crochet dans la bonne position et par conséquent l'interrupteur.

Si vous avez le même souci mais vous ne pouvez pas réparez l'interrupteur, placez l'ordinateur sur une prise avec interrupteur. Dans le BIOS, modifiez l'option "AC Power Loss Restart". Ainsi votre ordinateur démarrera dès que vous l'alimenterez.

Aucun commentaire

Connaissez vous le jeu de rôle (papier celui autour d'une table et pas en jeu vidéo dans un canapé). Personnellement, j'ai découvert il y a plus de vingt ans et je continue toujours.

Par contre lors de mes dernières parties j'ai utilisé des cartes précises (pas de simples schémas). Cependant le camouflage de la carte ne fut pas simple à gérer. J'ai voulu voir si l'informatique pouvait simplifier le procédé et j'ai réalisé un petit programme pour gérer mes cartes, les déplacements des personnages et les points de vie.

Le programme est réalisé en Python avec la bibliothèque Tornado. Le programme est un serveur WEB, le maître du jeu s'y connecte par l'intermédiaire d'un navigateur WEB (Firefox) et peut agir sur la carte comme il le souhaite :

  • créer/déplacer/retirer des personnages,
  • cacher/masquer des personnages,
  • changer le nombre de points de vie des personnages,
  • cacher/dévoiler des parties de la carte,
  • zoomer sur sa carte.

L'écran du maître et celui des joueurs sont différents donc on peut avoir de nombreux personnages/monstres cachés et les faire apparaître seulement au besoin. De plus la carte du maître et celle des joueurs peuvent être différentes, très utile pour les emplacements des pièges et des notes numérotés pour des informations.

Voici l'écran du maître (informatique cette fois ci) à l'adresse "votre-adresse-ip:5000/dm" :

En haut à gauche le menu pour :

  • ajouter des personnages en choisissant leur nom, leur couleur (en anglais) et leur taille,
  • choisir le rayon (le nom est mal choisi) pour découvrir la carte : 1 pour une case, 2 pour 4 cases, 3 pour 9 cases...
  • choisir le zoom,
  • un bouton de sauvegarde,
  • un retour aux choix des plateaux.

Les actions suivantes sont possibles aussi :

  • un clic sur le quadrillage rouge et bleu pour le faire disparaître, on clique sur une case découverte pour la camoufler,
  • un clic sur un personnage pour le montrer ou le camoufler,
  • la molette sur un personnage pour modifier le nombre de points de vie.

Voici l'écran des joueurs "votre-adresse-ip:5000" :

Les joueurs peuvent seulement zoomer et se déplacer sur la carte.

Pour Le programme en ZIP, cliquez sur le lien précédent. Il suffit de décompresser le fichier et de lancer le fichier jdr.py. Auparavant vous aurez installer Python3. Mais aussi la bibliothèque Tornado, pour les utilisateurs de GNU/Linux utilisez votre gestionnaire de paquets, pour moi ce sera :

aptitude install python3-tornado

Pour les utilisateurs de Micro$oft Windows :

pip install tornado

Enfin vous pouvez utiliser vos propres cartes en modifiant le fichier plateaux.json et en plaçant les images dans le répertoire "static".

Bon jeu à tous.

Aucun commentaire

Lors d'un précédent article je parlais de Mutt, un client de messagerie. Pour pouvoir l'utiliser, il me manquait une fonctionnalité pouvoir consulter tous mes anciens courriers lorsque je suis sans connexion.

Si Mutt n'a pas cette fonctionnalité, on peut l'obtenir de manière presque transparente grâce à Offlineimap. Ce logiciel s'occupe de synchroniser votre ou vos boites mails distantes dans un répertoire de votre ordinateur et Mutt lira vos courriers sur ce répertoire plutôt que sur la boite distante.

Pour l'installation :

aptitude install offlineimap

Ensuite il faut le configurer en éditant le fichier ".offlineimaprc" dans votre répertoire personnel :

[general]
accounts = Perso, Pro
[Account Perso]
localrepository = PersoLocal
remoterepository = PersoDistant
status_backend = sqlite
[Repository PersoDistant]
type = IMAP
remotehost = adressePerso.net
remoteuser = IdentifiantPerso
remotepass = MotDePassePerso
ssl = yes
sslcacertfile = /etc/ssl/certs/ca-certificates.crt
[Repository PersoLocal]
type = Maildir
localfolders = ~/Maildir/Perso
restoreatime = no
[Account Pro]
localrepository = ProLocal
remoterepository = ProDistant
status_backend = sqlite
[Repository ProDistant]
type = IMAP
remotehost = adressePro.net
remoteuser = IdentifiantPro
remotepass = MotDePassePro
ssl = yes
sslcacertfile = /etc/ssl/certs/ca-certificates.crt
[Repository ProLocal]
type = Maildir
localfolders = ~/Maildir/Pro
restoreatime = no

Comme vous l'aurez compris, offlineimap va synchroniser mes boites distantes personnelle et professionnelle dans le répertoire Maildir. Si vous lancez la commande "offlineimap", la synchronisation débute, la première fois pourra être très longue suivant le nombre de courriers à récupérer.

Pour automatiser la procédure on écrit un petit script (que j'ai appelé sync.sh pour ne pas être original) :

#!/bin/bash
imapactive=$(ps -ef | grep offlineimap | grep -v grep | wc -l)
# Tuer offlineimap s'il est actif (car il a planté)
case $imapactive in
        '1')
                killall offlineimap && sleep 5
                ;;
esac
/usr/bin/offlineimap -u quiet

Et on ajoute une règle à la con cron :

crontab -e

Ajouter la ligne suivante :

*/10 * * * * ~/sync.sh

Ainsi la synchronisation aura lieu toutes les dix minutes. Il ne reste plus qu'à configurer Mutt pour qu'il lise les courriers dans le répertoire Maildir, pour cela retirer la configuration imap de ".muttrc" pour la remplacer par:

# Mutt doit utiliser le fomat Maildir
set mbox_type=Maildir
# On configure les répertoires communs
set spoolfile="~/Maildir/Perso/INBOX"
set folder="~/Maildir"
folder-hook Perso set record="+Perso/Sent"
folder-hook Pro set record="+Pro/Sent"
folder-hook Perso set postponed="+Perso/Drafts"
folder-hook Pro set postponed="+Pro/Drafts"
set tmpdir    = ~/tmp
# On initialise les boites en balayant les répertoires de ~/Maildir:
mailboxes `find ~/Maildir/ -type d -name cur -printf '%h '`

Et voilà, vos mails sont relevés toutes les dix minutes et sauvegardés en local, Mutt aura toujours accès à vos mails avec au pire un décalage de dix minutes.