Mise en place des commentaires

Configuration d’Hiawatha

Je n’ai eu aucun souci particulier à l’installer. Néanmoins, si cela peut servir à d’autres, voici pour information la configuration que j’ai utilisé. En effet j’utilise le serveur Web Hiawatha et les exemples de configurations pour ce logiciel ne sont pas légions.

Notez tout d’abord en prérequis que pour me simplifier la tâche, j’ai placé la directive suivantes à la fin de mon fichier /etc/hiawatha/hiawatha.conf afin d’approcher une séparation « à la » Apache de mes différents hôtes virtuels : Include /etc/hiawatha/site-enabled.

De cette façon je place mes différentes configurations dans un dossier /etc/hiawatha/site-available et crée des liens symboliques dans le dossier /etc/hiawatha/site-enabled lorsque nécessaire.

Sur Archlinux, Isso est livré avec un fichier de service systemd. Je lance donc Isso à l’aide de son serveur intégré, écoutant sur un port lambda en local. Le but du jeu est alors de configurer Hiawatha en tant que reverse-proxy pour aller servir ce port local en restant à l’écoute sur un hôte virtuel public quelconque. En ce qui me concerne, j’ai choisi (ohlala quel hasard =D) le sous-domaine isso.depar.is.

Ma configuration hiawatha est donc la suivante, placée dans le fichier (le nom n’a aucune importance) /etc/hiawatha/site-available/isso.depar.is.

VirtualHost {
  Hostname = isso.depar.is
  ReverseProxy .* http://localhost:XXXX 60
  WebsiteRoot = /srv/http/hiawatha
  StartFile = index.html
}

À noter que les directives WebsiteRoot et StartFile sont sans doute inutiles, mais je les utilise pour rediriger au besoin les égarés sur la page d’accueil de mon site. Les XXXX sont à remplacer par le numéro de port de votre choix.

Récupération des derniers commentaires

Une fois l’installation terminée, je me suis rendu-compte que vu le succès de mon blog (mouhahah), je me fichais un tantinet de recevoir un mail pour chaque commentaire reçu. Un courrier quotidien (voire hebdomadaire ?) me suffit largement. Mais cette configuration n’a pas l’air nativement possible avec Isso.

Comme j’ai manqué un peu de temps pour me pencher sur le code d’Isso (même s’il semble très clair pour autant), j’ai décidé de me tourner vers la solution du pauvre hyper classique sous linux : une petite tâche cron bien sentie.

Pour cela j’ai tout de même dégainé mes premières connaissances de python pour écrire le petit script récupérant les commentaires du jour dans la base SQLite d’Isso, pour ensuite les passer (via un pipe) à la commande mail du système.

Ce script très simple prend deux paramètres en entrée : le chemin vers la base SQLite d’Isso et le mail de destination. Vous pouvez ajouter au besoin l’url de préfixe de votre blog afin d’avoir des liens complets dans le mail reçu vers l’article commenté. Par exemple, utiliser -u http://etienne.depar.is (sans / final !) vous permettra d’avoir des liens de la forme http://etienne.depar.is/a-ecrit/... au lieu du format strict /a-écrit/... utilisé par Isso.

Voici, pour exemple, la ligne résultante dans mon crontab (l’aide du script est accessible avec un simple ./comments_notifier.py -h) :

$ crontab -l
0 6 * * * /home/etienne/comments_notifier.py -u http://etienne.depar.is /var/db/isso_comments.db etienne@youshouldknow

Le script est disponible, comme à l’accoutumé, dans mon dépôt personnel.