Laisser un commentaire

Jamments, l’API de commentaires de la JAMstack

Lorsque j’ai fait la transition depuis WordPress vers le statique avec Hexo, le plus challengeant a été de trouver une solution pour les commentaires. J’ai eu tellement de mal à trouver quelque chose qui répondait à mon besoin que j’ai décidé de développer ma propre solution de commentaires. Présentation rapide de Jamments, une API de commentaires open source conçue pour la JAMstack.

Fonctionnalités

Jamments, dont le nom provient de la contraction de JAMstack et comments, est une API REST dédiée à la gestion des commentaires. Ainsi, dans la plus pure tradition JAMstack, tout tourne autour d’un service via une api, vous gérez l’interface.

Cette api permet donc :

L’api dispose d’une documentation dédiée. Cependant, pour en faciliter l’usage, j’ai développé un module frontend qui permet de facilement interagir avec cette dernière, sans avoir a écrire les requêtes HTTP.

Sous le capot

Le serveur est écrit en Node.js et permet l’utilisation d’une base de données au choix :

Au rang des performances, le serveur n’est sollicité que lors de la soumission de nouveaux commentaires. Lorsqu’un commentaire est validé, les fichiers JSON sont générés et le serveur web n’a plus qu’à servir lesdits fichiers, sans même passer par Jamments ou la base de données. Tout est donc caché par défaut, gage de performances.

Actuellement, Jamments s’installe sur un serveur classique, cependant, il serait assez intéressant de l’adapter pour un usage serverless (Netlify, AWS…). Sa conception permettrait une adaptation assez aisée. Je suis à l’écoute des cas d’usage et serait ravi d’accepter une PR en ce sens.

Gestion du spam

Lorsque l’on parle de commentaires, une des problématiques majeures est la gestion du spam. Je pars ici d’un postulat très simple : les spammeurs ne s’encombrent pas d’emails valides. Partant de ce principe, plusieurs étapes permettent de valider un commentaire :

Je crois avoir fait le tour, si vous êtes convaincu, la documentation vous aidera à facilement l’installer sur votre propre serveur.

Dans tous les cas, n’hésitez pas à partager vos avis en commentaires et à l’améliorer !

Commentaires

Rejoignez la discussion !

Vous pouvez utiliser Markdown pour les liens [ancre de lien](url), la mise en *italique* et en **gras**. Enfin pour le code, vous pouvez utiliser la syntaxe `inline` et la syntaxe bloc

```
ceci est un bloc
de code
```