Et de 100 articles ! Petit bilan de 13 ans de blogging !
À ce qu'il parait, on n'est pas un vrai blogueur tant qu'on n'a pas déjà parlé de son blog sur son blog. J'avais raté l'occasion de fêter les 10 ans, alors on va se rattraper aujourd'hui. Je vais profiter de ce 100ème article pour vous raconter un peu l'histoire derrière ce blog. Ça sera l'occasion pour moi de faire un petit bilan aussi bien technique que personnel ! 😁
Préhistoire
Mais avant de vous parler du blog, il faut que je vous raconte un peu mon parcours de développeur Web amateur. Je vous préviens, les dates vont être très approximatives, car il me reste assez peu de trace de cette période... 😅
Je m'intéresse aux technologies Web depuis aussi longtemps que je possède un ordinateur. Sur mon tout premier PC, un vieux Pentium II sous Windows 95 qui m'avait été donné par des amis de la famille, je n'avais même pas encore d'accès à Internet que je bricolais déjà des pages Web. On devait être aux alentours de 2002 / 2003 je pense.
J'ai passé des heures à analyser le code source des manuels d'aide au format HTML qui accompagnaient certain des logiciels installés afin d'essayer d'en comprendre la syntaxe. J'ai vite remarqué qu'il y avait des « trucs » qui semblaient aller par pair (enfin la plupart du temps), qui modifiaient l'affichage du texte. J'ai appris bien plus tard qu'on appelait ça des balises. À force de persévérance, j'ai fini par inférer le but de chacune d'entre elles en mode die-and-retry : tiens, celle-là affiche le texte en gros, celle-ci saute une ligne, oh et puis là ça fait défiler le texte (coucou <marquee>), trop bien ! 😎
Le jour où j'ai enfin eu une connexion à internet, vers 2005 ou 2006, j'ai tout de suite voulu publier des sites Web... Mes sites Web à moi ! Il m'a pourtant fallu attendre encore un peu avant de mettre en ligne le premier d'entre eux.
Déjà je n'avais encore aucune idée de comment m'y prendre. Ça m'a pris un certain temps pour comprendre qu'il fallait héberger ça quelque part et il m'a fallu encore plus de temps pour trouver un hébergeur... À l'époque je n'avais pas de carte bancaire et contrairement à aujourd'hui, les hébergements gratuits ne courraient pas les rues. En plus, ils venaient généralement avec de très grosses contraintes, du genre pas plus de 5 pages, 2 ou 3 Mo de stockage, injection de pubs,... Et puis c'est bien beau de faire des sites, mais encore faut-il avoir du contenu à y publier... 😅
Bref, aux alentours de 2006 / 2007 j'ai fini par publier quelques sites et forums sur les zinterwebs avec l'aide de quelques acolytes, mais aucun n'a survécu jusqu'à aujourd'hui. J'en ai retrouvé quelques bribes sur Internet Archive, et on va dire que c'est pas plus mal comme ça [comment ça j'assume pas ? 🫣]...
Un peu plus tard (entre 2010 et 2011) j'ai publié un site pour mes projets de dev, une interface Web pour mes dépôts de code Bazaar (à l'époque je n'utilisais pas Git) et même un petit Wiki que j'ai malheureusement sous-exploité... Ils sont toujours en ligne, mais ça fait très longtemps que je n'ai pas mis à jour leur contenu, et d'un point de vue technique ils sont complètement dépassés... On parle de Python 2.7 pour les deux premiers (impossible de les passer à Python 3 en l'état), et de PHP 7.0 pour le Wiki [je m'attendais à pire à vrai dire !]. Il faudra que je me penche sur leur cas un de ces jours... 😬
Puis vers fin 2012, je fais le constat qu'il me faudrait vraiment un blog. En réalité j'y songeais déjà depuis un certain temps, car ça faisait quelques années que j'étais complètement passé sous Linux (depuis fin 2006 / début 2007, je ne sais plus bien) et que j'avais très envie de partager mes découvertes.
Il y avait bien mon Wiki qui aurait pu me permettre de m'exprimer, au moins sur une partie des sujets (surtout que je l'avais déjà un peu « bloguifié » en lui ajoutant un système de commentaire), mais je n'arrivais pas à me motiver à publier dessus. Je pense que c'était principalement dû au fait que j'avais choisi d'y publier en anglais, langue avec laquelle je n'étais pas très à l'aise à l'époque. Donc on oublie le Wiki, et on va faire un blog !
Le problème, c'est que j'aime développer des sites Web, et du coup je tenais absolument à le faire moi-même... Grosse erreur ! Entre les cours, le boulot, les logiciels que je bidouillais (Cover Thumbnailer, Nautilus Terminal, ALSA Tray,...) et tout le reste, bah j'ai jamais vraiment eu le temps de m'y mettre. Je le regrette aujourd'hui, car j'aurai beaucoup aimé relire le début de mes tribulations sous Linux.
Tout s'est débloqué grâce à un routeur cassé !
Puis vint l'été 2013. À cette époque, je vivais dans une veille maison avec des murs ultra-épais et le Wifi passais assez mal jusqu'à ma chambre. Je me suis donc mis en tête de bricoler un routeur TP-Link pour résoudre mes problèmes de connexion. Mais pour disposer des fonctionnalités dont j'avais besoin, j'allais devoir lui flasher un firmware alternatif (DD-WRT). Sauf que tout ne s'est pas passé comme prévu, et j'ai juste réussi à briquer le pauvre routeur... Zut flûte et mute ! 😰
Heureusement je suis un peu têtu, et à force de recherche et de persévérance, je suis parvenu à le débriquer. Pour cela il a quand même fallu souder quelques fils sur la carte mère et charcuter un firmware... Mais au final j'ai réussi à reflasher le firmware d'origine, puis à partir de là, à flasher un autre firmware alternatif (Open-WRT), avec succès cette fois-ci. 😎
Pendant que je réparais mon routeur, j'ai pris moultes notes et photos et j'avais vraiment très très envie de partager mon expérience... Sauf que je n'avais toujours pas de blog... 😭
Les débuts avec BlogoText (2013 - 2015)
Le weekend du 12 et 13 juillet 2013, j'ai enfin décidé de me bouger. Tant pis pour le site fait maison ; j'ai pris le premier moteur de blog léger que j'ai trouvé, je l'ai installé sur mon serveur avec un petit thème minimaliste fait main [je suis incorrigible 😅], puis j'ai rédigé et publié coup sur coup les deux premiers articles :
- « Débriquer un routeur TP-Link TL-WR841ND v8.4 » le 14 juillet,
- puis « Flasher OpenWRT sur un routeur TP-Link TL-WR841ND » le lendemain.
Ce petit moteur de blog c'était BlogoText, qui était à l'époque utilisé et en partie développé par Timo du blog Le Hollandais Volant. BlogoText utilisait une stack technique assez classique et que je maîtrisais bien à l'époque : PHP / MySQL, donc aucune difficulté particulière pour le déployer.
Je n'ai pas conservé BlogoText très longtemps : un peu moins de 2 ans, pour 4 articles publiés au total. Il fonctionnait bien, mais je ne l'aimais pas trop. Je n'aimais pas sa manière de gérer les médias, et je détestais carrément la syntaxe de formatage des articles. Je ne regrette cependant pas de l'avoir choisi. Il m'a permis de me lancer. C'est grâce à lui que ce blog existe aujourd'hui !
Voici une capture d'écran du blog à ses tout début, juste après la publication du premier article. À l'époque les articles étaient affichés en totalité les uns à la suite des autres sur la page d'accueil puis sur des pages secondaires. Simple et efficace.
Résumé :
- Moteur de blog : BlogoText
- Technologie : PHP / MySQL
- Durée d'utilisation : environ 2 ans
- Nombre d'articles publiés : 4
- Commentaires : système de commentaire intégré à BlogoText
L'arc Hexo (2015 - 2018)
En 2015 je décide de changer d'approche. Fini la génération de pages dynamiques, on va passer à un générateur de site statique. Ça signifie la perte des commentaires — et il y en avait pas mal de mémoire sur le premier article — mais tant pis.
À cette période-là, je bossais sur la réécriture complète de Wanaplan — renommé Kazaplan par la suite — un logiciel d'architecture 2D / 3D entièrement en JavaScript et WebGL. Un gros morceau ! Je faisais donc énormément de JavaScript toute la journée au boulot, et j'ai donc assez logiquement choisi un générateur de blog écrit dans ce langage que je maîtrisais bien.
C'est ainsi que le blog est passé sur Hexo. Ce nouveau moteur était très personnalisable, et les articles y étaient écrits en Markdown, une syntaxe bien plus agréable que celle de BlogoText ! Mais une fois encore, ça n'a pas duré. J'ai utilisé Hexo un peu plus de 4 ans... pour seulement 4 articles publiés ! Décidément, j'étais plus doué pour faire des sites que du contenu... 😅
J'aimais bien Hexo, mais fin 2018 quand j'ai voulu commencer à publier ma série d'articles sur le développement GameBoy, je me suis retrouvé face à un problème : plus rien ne fonctionnait !
Entre mai 2016 (date du dernier article) et octobre 2018, l'écosystème Node.js avait tellement bougé que tout était pété. C'est le gros problème de JavaScript : tout évolue trop vite, c'est impossible à suivre. Et pour ne rien arranger, Hexo était développé en grande partie par des chinois, qui ne faisaient pas toujours l'effort d'utiliser l'anglais dans les rapports de bug. 😓
J'ai donc fait le choix de changer une fois encore, pour quelque chose de plus stable et de plus compréhensible pour moi.
Voici une capture d'écran d'époque. On peut voir que ça reste assez minimaliste, mais que le design s'est affiné. Un travail avait notamment été fait sur la police et l'interlignage pour rendre la lecture plus agréable.
Résumé :
- Moteur de blog : Hexo
- Technologie : Node.js / JavaScript
- Durée d'utilisation : environ 4 ans
- Nombre d'articles publiés : 4
- Commentaires : aucun système de commentaire
L'avènement du Pelican (2018)
Suite à ma mésaventure avec Hexo et l'écosystème JavaScript, j'ai décidé de choisir bien plus judicieusement le logiciel qui allait lui succéder. J'aurais pu choisir Jeykill (Ruby) ou Hugo (Go), mais j'ai finalement porté mon choix sur Pelican.
Pourquoi Pelican ? Par ce qu'il est écrit en Python, un langage que je maîtrise bien, dont les batteries sont incluses (on n'a pas besoin de 3000 dépendances pour faire des trucs basiques) et dont l'écosystème évolue à un rythme raisonnable. Bref, c'est plus stable.
Tout comme Hexo, Pelican est un générateur de site statique, donc ça veut dire toujours pas de commentaires. Côté syntaxe pour le formatage des articles, on est plus sur du Markdown mais sur du reStructuredText. C'est la même syntaxe que celle utilisée dans les documentations Sphinx, donc je la connaissais déjà et ça ne me posait aucun problème d'en changer. À noter qu'il m'aurait été possible à l'époque de continuer à utiliser Markdown grâce à un plugin, et qu'aujourd'hui il est nativement supporté par Pelican.
Voici une capture d'écran de l'une des premières versions du blog Pelicanisé. On peut remarquer que par rapport à la version Hexo, j'avais rajouté des images de couverture aux articles. Je trouvais que ça faisait plus joli... et c'était aussi une bonne excuse pour dessiner des trucs dans Inkscape. 😁
Résumé :
- Moteur de blog : Pelican
- Technologie : Python
- Durée d'utilisation : 8 ans, et c'est pas fini !
- Nombre d'articles publiés : 92, et on ne va pas s'arrêter là !
- Commentaires : aucun système de commentaire
Des évolutions au fil de l'eau
De nombreuses versions du blog se sont succédé ensuite, mais toujours avec Pelican au cœur de la machine. Comme il serait trop long de lister tous les changements, voici les plus importants.
2019 : Le retour des commentaires !
Une des fonctionnalités qui me manquait vraiment c'était les commentaires. C'est pourquoi début octobre 2019 j'ai décidé de me pencher sur la question. Le problème, c'est qu'on est toujours sur un site statique. La seule solution pour ajouter un système de commentaire dans ces cas-là, c'est JavaScript.
Au lieu de construire côté serveur la page Web avec les commentaires directement dedans, on fait ça côté client. Lorsqu'un visiteur arrive sur un article, un script s'exécutant dans son navigateur Web va chercher les commentaires correspondants dans une application dédiée et les inserts dans la page.
Il existe des services clefs en main pour cela, le plus connu étant certainement Disqus, mais je me refusais à dépendre d'un service tiers pour des raisons d'indépendance et de respect de la vie privé de mes visiteurs. J'ai donc opté pour un logiciel libre et autohébergeable : Isso. La raison principale de ce choix était encore une fois la stack technique : le backend est en Python et la base de donnée est un simple fichier SQLite... Rien de plus simple à gérer pour moi en somme ! 😄
2023 : Décollage de la version Gemini !
En mars / avril 2023 je m'intéresse de très près au protocole Gemini [non, rien à voir avec l'IA de Google 🙄], et je décide de lancer mon blog dans le geminispace. Pour cela j'ai dû développer un plugin pour permettre à mon petit Pelican de générer le gemlog en parallèle de la version Web du blog, mais rien d'insurmontable. 😄
Je vous en dis pas plus ici, car j'avais déjà tout bien expliqué dans un article à l'époque :
Évolution du design et de l'accueil
Si le design et l'organisation du blog ont assez peu évolués entre les versions BlogoText et Hexo, l'arrivée de Pelican a apporté davantage de changements. Je vais vous en décrire seulement quelques-uns ici, sinon ça va vite devenir long et pénible [vous pouvez me croire, ça fait bien 5 ou 6 fois que je réécris cette partie !]... 😅
Comme on l'a vu précédemment, j'avais dès le début ajouté des images de couverture aux articles, ainsi qu'une touche de couleur avec les bandeaux de titre orange. Par la suite j'ai également ajouté un polygone bleu en background. À l'origine uni, celui-ci affiche à présent une version floutée/désaturée/bleutée de la couverture du dernier article. Tout cela contribue à l'identité visuelle du blog et je pense qu'il est aujourd'hui assez reconnaissable avec tous ces éléments. 😄
Un des points importants pour moi sur la version actuelle de la home page, c'est la section « Sélection d'articles ». Plus le nombre d'articles a augmenté, plus j'ai voulu en mettre certains en avant, afin de donner de la visibilité à mes articles préférés et à ceux que je pensais les plus représentatifs du contenu du blog. Ainsi un nouveau visiteur à la possibilité de se faire rapidement une idée de ce qu'il pourra trouver ici. Au début les articles recommandés étaient au nombre de 5, mais ils sont récemment passés à 7 car je n'arrivais plus à choisir [mais promis je m'arrête là ! 😅].
Un autre élément important ajouté tout récemment est la section « À la une ». Elle permet de mettre en avant le dernier article publié. Le bloc d'article recommandé évoluant assez peu, j'avais peur que les gens visitant régulièrement la page d'accueil du blog aient l'impression qu'il n'y avait jamais rien de nouveau étant donné qu'il fallait scroller pour tomber sur les derniers articles...
Bref, pas mal d'évolutions qui se sont construites petit à petit et qui continueront à se faire au gré de mes envies. 🙃
Quel avenir (technique) pour le blog ?
Le blog aura connu de nombreuses évolutions techniques durant ses 13 années d'existence, mais j'ai toujours pris un grand soin à ne jamais casser les liens. « Cool URIs don't change » nous dit le W3C, et aujourd'hui encore, les veilles URL de BlogoText et d'Hexo continuent à fonctionner, elles redirigent simplement vers les nouvelles adresses des articles.
Pour le moment, Pelican me satisfait en tous points. J'aime sa manière de fonctionner, j'aime le reStructuredText, j'ai réussi à faire ce que je voulais avec. Et puis le plus important : il ne se met pas en travers de ma route. Il est toujours fonctionnel lorsque je veux publier un article. Pas besoin de passer du temps à le maintenir, même si j'essaye de le mettre à jour tous les 2 ou 3 ans, quand j'en ai le temps (mais à chaque fois c'est par volonté et pas par nécessité).
Je ne peux pas prédire l'avenir, mais je pense que je vais continuer l'aventure avec lui pendant encore longtemps ! ☺️
Bilan personnel
J'ai longtemps rêvé d'avoir un blog pour y partager mes découvertes, mes aventures dans la tech. Mais comme vous avez pu le constater, ça a pris du temps à vraiment démarrer. Seulement 8 articles sur les 6 premières années du blog, avec 2 années à vide (2014 et 2017), c'est peu !
Puis fin 2018 je me suis réveillé. J'avais commencé à développer des jeux sur GameBoy et je me suis mis à publier toute une série d'articles sur le sujet. C'est à ce moment-là que le blog a réellement prit vie. À cette période-là, j'avais un rythme de quasiment 1 article tous les 15 jours, ce qui était pas mal quand on y pense. En été 2019 j'ai même publié dans un magazine, j'étais au top ! Depuis il y a eu des haut et des bas, mais aucune année blanche.
Quand j'ai commencé à bloguer, l'écriture n'était pas une chose aisée pour moi et je manquais d'assurance... D'autant plus que j'étais (et suis toujours) assez mauvais en orthographe et en grammaire. Mais depuis j'ai pris un peu plus confiance, et écrire est devenu plus facile (même s'il m'arrive toujours de galérer par moment).
Pour l'orthographe et la grammaire, c'est toujours un point difficile, même si j'essaye de m'améliorer. J'utilise tous les outils que j'ai à ma disposition pour essayer de limiter les erreurs (Aspell, Antidote, LanguageTool, Grammalect, collègues de travail et amis,...), mais je ne stresse plus autant à l'idée de laisser des fautes dans les articles... Je me dis que tant pis, ça arrive. Ceci dit, n'hésitez pas à me les signaler, je les corrigerai avec plaisir ! 😉
Aujourd'hui, même si ça reste ma matière principale, je n'ai plus envie de me limiter uniquement aux sujets techniques. C'est pourquoi j'ai lancé les journaux de bord il y a quelques semaines. Avec ce nouveau format, il y a des chances que je sois plus prolifique que jamais... En tout cas j'ai l'impression que ça m'a donné un nouvel élan : j'ai en effet publié 1 article par semaine entre l'annonce du format et début juillet, où j'ai décidé de réduire un peu le rythme pour l'été. 🫠
Le mot de la fin
Si je devais donner un conseil à ceux qui voudraient se lancer dans le blogging : ne perdez pas trop de temps à choisir la plateforme ou le logiciel idéal. Lancez-vous, maintenant ! Ne faites pas comme moi à vouloir à tout prix trouver (ou développer) l'outil parfait avant même de commencer... C'est le meilleur moyen de ne jamais démarrer.
On s'en fiche de l'outil, on s'en fiche du design. Vous aurez tout le temps de changer la technique plus tard, quand vous comprendrez mieux vos besoins. C'est en forgeant qu'on devient forgeron, et c'est en écrivant qu'on devient blogueur. Tout le reste est secondaire.
J'espère en tout cas que cet article sur l'histoire de mon blog aura pu intéresser quelques personnes. Je vous dis à bientôt pour un prochain article (probablement un journal de bord), sur un sujet encore indéterminé ! 😄
Pour ceux qui ne se sont pas endormis en cours de route et qui ont eu le courage d'aller jusqu'au bout de l'article, voici un petit bonus ! Je vous mets ci-dessous quelques couvertures inédites que j'ai retrouvées en faisant mes recherches pour le présent article.
Je dessine parfois la cover d'un article avant de l'avoir terminé, voire même avant de l'avoir commencé... Et il m'est donc arrivé d'avoir illustré des articles qui n'ont au final jamais été publiés.
Ma préférée, c'est celle de SphinxJS inspirée de Kill Bill. Quel dommage que l'article ne soit jamais sorti, je m'étais beaucoup amusé à la dessiner celle-là ! 😆️