From WordPress to Hexo.io … and back to wordpress

Cv avec nuxtjs, netlify et firebase

Il y a à peu près un an (juin 2019 plus exactement). Je lance une révolution 🤣🤣à la façon de « Steve Jobs » lorsqu’il a présenté la première fois l’Iphone.

via GIPHY

Premièrement, je crée mon site CV avec nuxtjs pour à la fois utiliser vuejs et créer des pages de façon simple. Je déploye ce site sur netlify. J’enregistre les données issues de ce site sur le Cloud firestore de google sous forme de données json (puisque c’est comme ça que c’est stocké dans firestore), dans le but de ne pas devoir mettre la main dans le code en cas de mise à jour future de ces pages . J’ai un formulaire de contact qui m’envoye un email à chaque soumission de ce dernier. Pour l’envoi de cet email, je crée une autre application avec nodejs en utilisant la librairie nodemailer. Je déploye cette application sur heroku.

Tout cela est une découverte et beaucoup d’apprentissages avec passion. C’est impressionnant. Je me suis bien amusé en utilisant toutes les possibilités offertes par ces différentes technologies. Je suis dans le bon feeling et je rencontre que peu de blocages. Le rêve absolu du développeur quoi 😉

Blog avec Hexo.io

2ème révolution … je redémarre mon blog (après plus de 10 ans d’absence). Un blog avec le même objectif initial : partage de mes passions et de ce que j’apprends … Pour celui-ci, je mets un peu de temps à décider de la technologie à utiliser. Je veux tester les nouveautés du moment. Je me dis : cela me plait bien de faire un blog en full-nodejs – sans SGBDR (Système de Gestion de Base de Données Relationnelles). Je trouve alors hexo.io qui fait bien ce boulot. C’est une application nodejs qui convertit du markdown en pages statiques HTML et qui a pour but de créer aussi un blog. Ce sont les pages statiques HTML générées et converties qui seront ensuite déployées dans un espace sur le serveur web via FTP par exemple.

Je suis content, puisque mon but est d’écrire simplement des articles. Cependant, je code quand même quelques extensions au passage parce que je fais souvent des tâches répétitives … donc je veux automatiser ces tâches.

Il n’y a pas d’interface d’administration avec identifiant et mot de passe ici (quoique cela existe bien mais je le découvre un peu tard). Tout est géré à l’aide d’écriture d’article avec le format markdown (un format que je connais moins) – ensuite un push vers mon gitlab. Sur gitlab, je mets en place un webhook qui se déclenche dès qu’un push est présent, ceci pour mettre à jour automatiquement le blog à partir d’un « pull » de ce dernier.

Côté back office – sur mon PC 🤣, j’utilise typora, un logiciel fait avec electronjs. Il est très intuitif et me permet d’organiser et d’écrire mes articles.

J’ai donc pu écrire à peu près 40 articles sans compter ceux traduits en anglais par Andy A. que je remercie au passage ❤. Au début, 3 articles par jour (oui oui) – ensuite 1 article par jour – 1 par semaine – 1 par mois et plus rien depuis mars 2020.

L’envie d’écrire est intact. J’ai beaucoup d’idées d’article à rédiger puisque je ne cesse d’apprendre de nouvelles choses quand je fais de la veille au quotidien.

… La démotivation

La raison de ma démotivation est l’ensemble du processus et plus exactement la façon de déployer un article rédigé depuis typora vers le blog.

Parce qu’il faut passer par quelques étapes…

Déjà, il faut ouvrir Typora (et l’installer s’il ne l’est pas déjà sur le PC). Une fois rédigé – ouvrir un terminal – taper 3 lignes de commandes pour convertir l’article en HTML, l’envoyer sur git et publier :

En local, cela se traduit par:

cd /projet/monblog/
hexo build .
hexo deploy

Sur le serveur cela se fait tout le seul comme expliqué plus haut.

Certes, les commandes sont très simples. Elles peuvent être combinées pour ne faire qu’une seule ligne … j’aurai pu aussi faire un script bash. Sauf que quand ce n’est pas fait régulièrement, un détail ou alors plusieurs choses sont vite oubliés.

WordPress is back

Après ces mois de silence et cette expérience (qui m’a appris encore beaucoup de choses) , il est temps de reprendre l’écriture. Cependant, j’ai un critère : avoir une interface d’administration utilisable de partout avec juste une connexion internet.

Revenir à WordPress est alors mon ultime choix pour plusieurs raisons :

  • Je le connais bien. C’est ce avec lequel j’ai découvert ce qu’est un moteur de blog et aussi un CMS.
  • Il est simple d’utilisation et très intuitif. Tout le monde le crie haut et fort.
  • Il est possible de créer des contenus structurés (custom post type) facilement en quelques lignes
  • Des milliers de plugins existent pour tout type de besoin.

    Cependant, il ne faut pas abuser d’installer toutes sortes de plugin. Il faut juste installer ceux qui sont essentiels (j’y reviendrai) et le reste est à la charge du développeur (dans le fichier functions.php de ton thème ou via la création d’un plugin si nécessaire).

    Sinon, il va falloir surveiller la vulnérabilité des plugins à installer . Il y aussi le risque de ne pas pouvoir mettre à jour wordpress avec la dernière version existante, si jamais ces plugins ne sont pas compatibles avec la dernière version. Après tout, c’est au bon vouloir de chaque développeur du plugin en question de le mettre à jour pour rendre compatible avec la dernière version de wordpress ou pas. Et ce qui est rassurant, c’est qu’il le fait souvent parce que la notoriété de son plugin en dépends.
  • Une application pour smartphone existe. Elle me permet de gérer les pages et les articles. Elle ne permet pas de gérer pour l’instant les custom post types ni les plugins
  • Je peux l’utiliser en ligne de commande grâce à wp-cli si j’en aurais besoin un jour

Voila, welcome back WordPress 😉 je ne te quitterai plus jamais, promis.