2012-02-06

BigPic comment archive

Si vous êtes un lecteur du blog Big Picture de Corine Lesnes sur lemonde.fr, la possibilité existe que vous avez remarqué que les commentaires ont la mauvaise habitude de disparaître. Ce n'est pas du tout amusant. Je ne sais pas la raison, si c'est à cause d'une politique du journal ou d'une faille technique du logiciel. J'ai décidé d'inventer un contournement.

C’est pour Macintosh seulement, et c’est inélégant. Mais ça marche.

Il faut premièrement installer un petit script dans votre dossier Sites. Je l’appelle « curlBigPic.ksh ». C’est comme suit :

#!/bin/ksh

# keep an archive of the last NSAMP BigPic comments

NSAMP=200 # a little more than a two days worth of 15 minute samples

DB=~/Sites/bigpicdb

mkdir -p $DB

cd $DB

newf=`date -u +"%Y.%m.%d-%Hh%M"`

prev=`ls | head -1`

if [[ -e "$prev" ]] ; then

rm -f `ls -r *.xml | tail -n +$((NSAMP-1))`

fi

if ! curl --connect-timeout 20 --max-time 30 --silent \

http://clesnes.blog.lemonde.fr/comments/feed/ > /tmp/curlBigPic.$$ ; then

exit $?

fi

if [[ -e "$prev" ]] ; then

if ! cmp -s "$prev" /tmp/curlBigPic.$$ ; then

mv /tmp/curlBigPic.$$ $newf.xml

else

rm -f /tmp/curlBigPic.$$

fi

fi

Il ne faut que copier-coller ces lignes dans un fichier de ce nom, mais faites attention : il faut être « texte seulement », pas de rtf, doc, ou quoi que ce soit d’autre.

Après l’installation, il faut exécuter une commande dans Terminal :

cd Sites ; chmod +x curlBigPic.ksh

Finalement, il faut créer un crontab, avec la commande suivante :

crontab -e

Une sorte d’éditeur ouvrira ; il faut y mettre la ligne suivante :

0,15,30,45 * * * * ~/Sites/curlBigPic.ksh

NB : il n’y a pas d’espaces dans cette ligne, ce sont des tab. Les chiffres sont les minutes de téléchargement, par exemple 10h00, 10h15, 10h30, 10h45.

Pour éviter les blocages, je suggère que chacun choisisse une compensation de 1-14 minutes, par exemple :

3,18,33,48 * * * * ~/Sites/curlBigPic.ksh

Dans les Sharing Preferences, activer « Web Sharing ». J’ignore les noms en français, désolé. C’est pour activer le serveur web de votre compte.

Toutes les 15 minutes, votre ordinateur va télécharger un fichier XML avec un sommaire des commentaires le plus récents.

Dans Safari, ouvrez l’URL « http://localhost/~VOTRENOM/bigpicdb ». Par exemple, j’utilise « http://localhost/~greg/bigpicdb/ ».

Une page ouvrira qui dit « Index of /~VOTRENOM/bigpicdb ». Dans cette page, tous les fichiers XML seront montrés. Les noms des fichiers sont la date et l’heure du téléchargement (en UTC). Notez bien que si un fichier est égal au précédent, il n’est pas installé. Safari comprend les RSS en format XML, donc, si vous cliquez sur l’un des liens, il ouvrira avec les plus récents commentaires à l’heure de téléchargement. De cette manière, vous pouvez chercher parmi tous les commentaires des derniers jours. Il est possible que ce script manque un commentaire, si HAL est très rapide. Si cela arrive trop souvent, on peut télécharger les XML plus fréquemment.

Je crois qu’il serait mieux pour le script d’être sur un seul serveur où tous peuvent aller chercher leurs commentaires perdus, mais je ne le veux pas sur les miens. Désolé encore. Mais, si quelqu’un a le contrôle d’un serveur et la volonté de se joindre à la lutte contre les abus de HAL, ce serait la bienvenue.