[oui qui]

wiki, blog, etc.

Outils pour utilisateurs

Outils du site


accueil

Extraire des pièces jointes avec mu

Imaginons que vous ayez plusieurs mails (au hasard 28) et que chaque mail contiennent une pièce jointe. Pour détacher chaque pièce jointe, on peut « cliquer » plusieurs fois ou… utiliser mu (paquet Debian maildir-utils). Ce logiciel libre permet de faire quelques opérations bien pratiques sur des dossiers de messagerie au format Maildir.

En utilisant mu il est possible d'extraire les informations des messages et les pièces jointes. J'ai choisi d'extraire ces pièces jointes dans un répertoire par expéditeur. Voilà ce que ça donne (il faut lancer la commande depuis le répertoire Maildir qui contient les messages à traiter) :

tmpdir=/tmp/mail
for mail in *
do
    email=$(mu view $mail | grep From | sed -e 's/From: //' -e 's/.*<//' -e 's/>.*//')
    dir="$tmpdir/$email"
    mkdir -p "$dir"
    mu extract --save-attachments --target-dir="$dir" $mail
done

Le répertoire /tmp/mail va contenir un répertoire par expéditeur avec toutes les pièces jointes de chaque message. En combinant avec un carnet d'adresse, il est possible de renommer ces pièces jointes pour qu'elles portent le nom de l'expéditeur.

C'est pratique et rapide.

Le 27/11/2013 à 23:34 · Sylvain Collilieux

Le corbeau et le renard by Scratch

Scratch est une implémentation visuelle et dynamique du langage de programmation Smalltalk basé sur Squeak

(source Wikipédia Scratch).

Cette implémentation permet de « créer des histoires, des jeux et des animations » de manière ludique avec des enfants, ou des grands ;-). Il y a des tas d'exemples. Vous pouvez également consulter ma modeste version de la fable de la Fontaine « le corbeau et le renard » (sous licence WTFPL).

Voilà ce que donne l'interface :

Interface de Scratch

Petit bémol : la version 1.4 est téléchargeable et utilisable sous différents systèmes d'exploitation mais la v2 nécessite Adobe AIR :-(. Il existe aussi une version en HTML5 qui fait chauffer mon PC…

Amusez-vous bien !

Sylvain et son fiston

Le 18/11/2013 à 00:12 · Sylvain Collilieux

De Apache2 à Nginx

Apache est le serveur web le plus utilisé actuellement mais un petit nouveau le bouscule un peu : Nginx. C'est un serveur assez léger avec de très bonnes performances. Comme Apache, il peut servir directement le contenu ou être utilisé en reverse proxy.

Depuis sa version 1.4, Nginx supporte les WebSocket utilisées massivement par des applications développées sur NodeJS. Cette version est maintenant disponible dans les backports de Debian Wheezy. J'ai donc installé Nginx sur le serveur utilisé pour ce blog.

La migration s'est globalement bien passée (environ 3h pour une douzaine d'applications). Il faut juste s'habituer à la syntaxe de la configuration. J'ai gardé Apache derrière pour certaines applications, notamment le temps de prendre en main les règles de réécriture d'URL de Nginx qui sont différentes de celles d'Apache que je commence à maîtriser ;-).

Le 25/09/2013 à 21:27 · Sylvain Collilieux · 0 Pas de commentaires

On n'a peut-être pas d'IPv6 mais on a des idées

Si votre fournisseur d'accès ne vous fournit pas encore une connectivité IPv6, ça va finir par arriver… un jour… peut-être, ou pas. Si vous voulez tout de même goûter aux joies de l'IPv6, il y a plein de solutions. Je vous en présente une.

Pour cette recette, il vous faut :

  • Un machine GNU/Linux « cliente » (votre machine de chez vous)
  • Un serveur hébergé chez un gentil hébergeur qui vous laisse 18 446 744 073 709 551 616 adresses IPv6 (une suffit au serveur, autant utiliser le reste).
  • Être root ou pouvoir utiliser sudo en tant que root sur les deux machines.
  • Pouvoir accéder au serveur en SSH depuis la machine cliente.

Nous allons créer un tunnel IPv6 sur IPv4 (il est possible que cette technique pose problème à votre *box). Pour cela, vous trouverez ci-dessous deux scripts pour créer ce tunnel : un pour le client, l'autre pour le serveur. Ces scripts sont très largement commentés et sous licence WTFPL.

Script client (nommé ipv6) :

#!/bin/bash
# © 2013 Sylvain Collilieux <Sylvain CHEZ Collilieux POINT NET>
# licence WTFPL http://www.wtfpl.net/txt/copying/
 
# nom de la machine qui fera passerelle ipv4/ipv6
# ce nom servira de nom de l'interface tunnel
SERVER_HOST=monserveur
DOMAIN='mondomaine.net'
 
# on obtient l'adresse IP à partir de l'enregistrement DNS type A
SERVER_IPv4=$(host -t a ${SERVER_HOST}.$DOMAIN | awk '{print $4}')
# Choix arbitraire parmis un /64
SERVER_IPv6='2441:00e7:9:fbe8:1::1'
 
# l'adresse locale est obtenue à partir de la route vers le serveur
CLIENT_IPv4=$(ip -o route get $SERVER_IPv4 | awk '{print $7}')
CLIENT_IPv6='2441:00e7:9:fbe8:1::2'
# TODO : choisir un masque adéquat
MASK='112'
TTL=32 # pourquoi 32 ? pourquoi pas !
 
# On commence par créer le tunnel sur le serveur
# on fait un SSH en IPv4 (des fois qu'il reste un bout
# de conf IPv6)
# Le script doit être sur le serveur et exécutable
ssh -t -4 ${SERVER_HOST}.${DOMAIN} bin/ipv6_sit.sh
 
# suppression de l'interface qu'elle existe ou pas
sudo ip tun del $SERVER_HOST > /dev/null
# création du tunnel
sudo ip tun add $SERVER_HOST mode sit remote $SERVER_IPv4 local $CLIENT_IPv4 ttl $TTL
# on passe l'interface UP
sudo ip link set $SERVER_HOST up
# affectation de l'adresse IPv6 en statique
sudo ip addr add $CLIENT_IPv6/$MASK dev $SERVER_HOST
# route par défaut via la serveur
sudo ip route add default via $SERVER_IPv6 dev $SERVER_HOST

Script serveur ipv6_sit.sh :

#!/bin/bash
# © 2013 Sylvain Collilieux <Sylvain CHEZ Collilieux POINT NET>
# licence WTFPL http://www.wtfpl.net/txt/copying/
 
# L'interface portera le nom de l'utilisateur
INT=$USER
 
# l'adresse IP est obtenue à partir du who, l'utilisateur doit être connecté
CLIENT_IPv4=$(who -m --ips | awk '{print $5}')
CLIENT_IPv6='2441:00e7:9:fbe8:1::2'
 
# pour obtenir l'adresse IP locale, on interroge la route vers l'adresse
# distante
SERVER_IPv4=$(ip -o route get $CLIENT_IPv4 | awk '{print $7}')
# Choix arbitraire parmis un /64
SERVER_IPv6='2441:00e7:9:fbe8:1::1'
# TODO : choisir un masque adéquat
MASK='112'
TTL=32 # pourquoi 32 ? pourquoi pas !
 
# suppression de l'interface qu'elle existe ou pas
sudo ip tun del $INT > /dev/null
# création du tunnel
sudo ip tun add $INT mode sit remote $CLIENT_IPv4 local $SERVER_IPv4 ttl $TTL
# on passe l'interface UP
sudo ip link set $INT up
# affectiation de l'adresse IPv6 en statique
sudo ip addr add $SERVER_IPv6/$MASK dev $INT
# le serveur doit répondre aux requêtes Neighbor Solicitation
# à la place du distant
sudo ip -6 neigh add proxy $CLIENT_IPv6 dev eth0

Il faut rendre ces deux scripts exécutables (chmod u+x) et surtout les adapter à votre configuration (nom du serveur et adresses IPv6). Pour créer le tunnel, on lance le script côté client qui lancera le script côté serveur.

Le script fonctionne quel que soit le lieu où on est connecté. Il faut « juste » que SSH et le tunnel puisse passer à travers votre point d'accès box ou routeur (en bref il faut de l'internet, pas seulement du web).

Il y a plein d'autres solutions pour obtenir une connectivité IPv6. N'hésitez pas à partager la vôtre.

Le 06/06/2013 – Sylvain Collilieux –

Le 06/06/2013 à 23:29 · Sylvain Collilieux

ownCloud, bookmark et bookmarlet

J'utilise ownCloud depuis quelques temps. Les versions se suivent et la qualité varie d'une à l'autre mais globalement, le logiciel s'améliore avec le temps.

Depuis la version 5, j'utilise la fonction « bookmark » (ou favoris pour ceux qui préfèrent). Cette fonctionnalité sert normalement à stocker ses favoris. Pour cela j'utilise Firefox Sync, je me sers donc de l'application pour garder les liens que je veux lire plus tard.

L'application favoris de ownCloud propose un « bookmarlet ». C'est un lien que l'on peut stocker dans ces marque-pages. J'ai associé le mot-clef « ++ » à ce bookmarklet pour l'activer plus facilement. Voici comment.

Dans l'application favoris de owncloud, cliquer sur la petite roue en bas à gauche et suivez les instructions :

Avec Firefox, il est possible d'associer un mot clef à ce bookmarklet, ici « ++ ».

Pour sauvegarder une page dans les favoris de ownCloud, « CTRL + L » pour aller dans la barre d'adresse puis « ++ ». Il est aussi possible de cliquer sur le bookmarklet dans les marque-pages de Firefox.

Le navigateur va alors ouvrir une page de ownCloud.

La description semble peut-être compliquée mais une fois mis en place, c'est très simple et très pratique ;-).

Je teste actuellement l'application « news » de ownCloud pour comme lecteur de flux RSS. Si elle me convient, ce sera l'occasion d'un prochain billet.

Anciens billets >>

accueil.txt · Dernière modification: Le 12/11/2013 à 23:01 par sylvain