Maintenance du site en cours

Migration de serveur en cours… Le blog est en ligne, les commentaires existants sont publiés mais l’ajout de commentaires n’est pas encore opérationnel.

Un blog plus respectueux

Je suis allé plus loin dans le respect de la vie privée sur le blog. Quand on laisse un commentaire, l’adresse e-mail a toujours été optionnelle. Elle sert à retrouver un avatar sur Gravatar et à informer les abonnés de la parution d’un nouveau commentaire pour un article. J’ai ajouté à mon gestionnaire de commentaires un mode privé qui désactive la fonction d’abonnement et se passe de l’e-mail. En fait, l’e-mail est résolu en avatar dans le navigateur avec quelques lignes de JavaScript et il n’est pas pas envoyé au serveur, donc jamais stocké.

Un blog plus statique

Un échange avec Bruno Adelé, qui fut l’initiateur du projet CaCause à une époque (déjà 5 ans) où les blogs statiques n’avaient pas d’autre alternative que Disqus, a titillé mon intellect. Bruno envisage de migrer son blog vers Hugo et d’utiliser le gestionnaire de commentaires staticman dont la particularité est de soumettre les commentaires par des pull-request GIT. Cela m’a rappelé le projet Pecosys qui avait une approche similaire : les commentaires étaient partie intégrante du blog, publiés dans GIT sous forme de fichiers au format Markdown et convertis en HTML par le moteur de blog Pelican.

Performances, Golang à la rescousse

Dans l’article précédent j’ai optimisé le système de gestion des commentaires Stacosys en : remplaçant le serveur HTTP de Flask par Sanic, un serveur HTTP Python tirant parti des capacités asynchrones de Python 3.5 et multi-processus (plusieurs workers) ajoutant un cache mémoire à la partie de l’API de Stacosys qui récupère le compteur de commentaires d’un article J’ai terminé sur une performance bien améliorée : plus de 11000 requêtes traitées en 1 minute un temps de requête moyen de 1,3 seconde une répartition du temps de traitement entre 81 ms et 18 secondes (assez élevé) 171 des requêtes (soit 1,5 %) avec un temps de traitement supérieur à 10 secondes L’architecture avec Sanic ressemble à ceci :