Signature des emails avec DKIM

Je me suis finalement décidé à utiliser DKIM pour signer les emails que j'envoie via mon domaine personnel. J'utilise postfix et amavis du coup l'opération est très rapide.

Tout d'abord, on commence par générer la clé RSA qui servira à signer et vérifier les messages :

$ amavisd genrsa /var/db/dkim/<mon domaine>.pem

La taille de cette clé est par défaut de 1024 octets.

Ensuite, on active la signature des emails par amavis. Ajoutez les lignes suivantes dans le fichier de configuration qui va bien :

# DKIM signing
$enable_dkim_signing = 1;
dkim_key('mon domaine', '<selecteur>', '/var/db/dkim ...

La magie du perl ?

Pour mon employeur actuel, je suis amené à écrire pas mal de code en Perl. C'est un langage que j'apprécie moyennement, notamment pour la raison suivante.

Il y a quelques jours, j'ai cherché comment stocker une référence sur une méthode de classe. Technique relativement commune, j'ai d'abord écrit quelque chose dans ce goût là:

#!/usr/bin/perl -w

package test;

sub new { return bless {}; }

sub hello {
  my $self = shift;

  print "Hello $self\n";
}

package main;

$t = test->new();
$ref = \$t->hello;

$ref->();

Dans le cadre d'une méthode, ce code est incorrect. Au lieu de ...

Avec de la couleur tout va mieux

Peut-être l'avez vous déjà remarqué mais les extraits de code présentés sur ce blog sont en couleur. La coloration syntaxique est, de mon point de vue, un élément indispensable pour faciliter la lecture du code source.

Cette coloration est gentiment fournie par Pygments et son utilisation dans zinnia en mode restructuredtext se fait de la manière suivante :

  • Récupérer le fichier contenant l'instruction sourcecode fournie avec pygments,
  • Le copier quelque part au sein des sources de votre blog,
  • Importer le contenu de ce module dans le fichier __init__.py situé à la racine :
from rst_directive import *
  • Extraire l'un ...

Rédiger ses billets avec classe

Zinnia offre la possibilité d'écrire des billets avec autre chose que de l'HTML. Il supporte plusieurs languages (parce que Django le vaut bien) comme, par exemple, le ReStructuredText.

Certains se demanderont peut-être quel est l'intérêt d'utiliser une syntaxe aussi archaique. D'un point de vue tout à fait personnel, j'en vois plusieurs :

  • Comme tout bon pythonista qui se respecte, j'écris de la documentation en utilisant cette syntaxe. Ce qui est cool en faisant cela, c'est que je peux par la suite utiliser Sphinx pour générer de la belle documentation,
  • C'est lisible, le ...