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 :

Flux RSS et esprit libre

J’ai réalisé que mon flux RSS est tronqué depuis ma migration sous Hugo et je viens de corriger le tir. Loin de moi l’idée de forcer les gens à venir sur le blog pour lire l’article en entier et ainsi gonfler mes statistiques (ridiculement basses) ou flatter mon égo. Mea culpa auprès du Planet Libre aussi d’avoir fourni un article tronqué. En cherchant des informations pour définir mon flux RSS correctement je suis tombé sur le blog d’un anglophone, appelons le Jim, qui dénonce le choix du développeur de Hugo d’avoir insidieusement glissé le passage d’un flux complet à un flux partiel au détour d’une version, sous le fallacieux argument que c’est ce que veulent la plupart des utilisateurs.

Performance Python Web

J’ai terminé l’article précédent en évoquant le système de gestion des commentaires Stacosys et sa mise en place sur le blog propulsé par Hugo. Il est installé sur le même serveur que le blog mais il pourrait tout à fait être déporté car le blog statique interagit avec lui par du code JavaScript qui envoit des requêtes RESTful afin de : récupérer le nombre de commentaires d’un article récupérer les commentaires d’un article soumettre un nouveau commentaire Avant de migrer vers Hugo, les commentaires étaient visibles seulement à l’intérieur des articles.

Migration du blog sous Hugo

J’ai remplacé le le moteur de blog statique Pélican par Hugo et à vrai dire, ce n’était pas prévu. Un peu cloué par le rhume pour le week-end, j’ai suivi la recommandation du médecin de rester tranquille. La cervelle fonctionnant encore un peu, j’ai consulté ma liste de projets pour l’année, vous savez cette liste mi-voeux / mi-résolutions qu’on établit en début d’année. En bonne place, j’avais noté “apprentissage ou perfectionnement dans un langage informatique”.

Du nouveau sur Pecosys

Pecosys est le gestionnaire de commentaires pour les blog statiques créés avec Pelican présenté dans ce billet en août dernier. Pour rappel, il s’agit de proposer une alternative aux systèmes décentralisés sur des sites tiers comme Disqus et de conserver ces données qui font partie de l’Histoire d’un blog dans les sources du blog. La présentation du projet a eu un petit succès d’estime. Je suis conscient que le public ciblé est réduit : du barbu (ou pas) qui écrit ses articles en Markdown, le construit en HTML statique gràce à Pelican et versionne les sources dans GIT.

Pecosys, les commentaires avec Pelican

Pecosys est le projet évoqué dans mon dernier billet pour gérer des commentaires avec un blog statique créé avec Pelican. J’ai publié l’ensemble des sources sur mon GitHub sous licence GPL. Avant d’expliquer à quoi ça sert, une présentation des types de moteurs de blog s’impose. Petite intro sur les blog statiques Les moteurs de blog classiques comme Wordpress ou Dotclear stockent leurs données (articles, commentaires) dans une base de données et ils utilisent une logique côté serveur pour produire les pages HTML.

Migration du blog sous Pelican

Et oui, un de plus à migrer son blog sous Pelican ! J’ai lu plusieurs récits de migration depuis trois mois, ce qui dénote un engouement certain pour ce moteur de blog par… essentiellement des développeurs. La perspective de gérer ses articles comme du code, avec un article par fichier, de construire le blog avec une commande ‘make’ et publier dans un gestionnaire de source nous ramène en terrain familier.

Le moteur de blog PluXml évolue

La version 5.1.3 de PluXml est sortie ! Elle contient un joli lot de corrections et d’évolutions dont je n’ai pas fait le tour complet (mais j’apprécie le repli de la zone chapô lors de la création d’un article et la re-génération des miniatures dans la gestion des médias). La mise à jour s’est passée sans problème : on sauvegarde le répertoire data qui contient les articles, les médias et les commentaires, on extrait la nouvelle archive en écrasant les fichiers existants, on se connecte au blog et on accepte la mise à jour.

Surveiller son blog

Quand on héberge son blog à la maison se pose la question de savoir s’il est bien accessible de l’extérieur car un problème de DNS, une mauvaise configuration de la box de son fournisseur ou bien un coup de mou de celle-ci peuvent rendre le site inaccessible sans qu’on le sache. La première chose est d’avoir un test périodique lancé depuis l’Internet qui nous prévient en cas de problème. Plusieurs sites proposent cela gratuitement.

PluXml : le moteur de blog qui carbure à XML

Le titre de ce billet est un clin d’œil au site officiel de PluXml. J’ai profité de mon retour en auto-hébergement pour changer de moteur de blog. Pourquoi ? Pour voir autre chose essentiellement… je n’ai jamais eu de souci avec WordPress, j’ai passé 3 ou 4 mises à jour en automatique sans souci (en croisant les doigts), je faisais une sauvegarde hebdomadaire de la base. Deux points m’ont accroché quand j’ai entendu parler de PluXml.