← Wiki personnel

Wiki personnel

8 mars 2024

La première version du wiki est construite avec le générateur de site statique Hugo et le thème Hugo Book d’Alex Shpak, qui en plus de son design sobre et humble (un peu à l'ancienne) apporte des shortcodes très pratiques dans un wiki, notamment des colonnes, et des sections à onglets. Le site est hébergé sur GitHub Pages à l'adresse aureliendossantos.github.io/wiki.

Je n'étais pas très satisfait de devoir entrer dans un repo git et envoyer des commits manuellement dès que je voulais faire un petit changement de contenu. Je voulais rendre ce processus plus léger, accessible sur mobile et aussi moins procédurier : envoyer un commit avait quelque chose de très officiel et je me sentais obligé que chaque changement soit intéressant et impeccable.

J'ai migré le contenu du wiki vers Notion, une application que j'aime beaucoup, et cela m'a bel et bien soulagé d'un poids — cela m'a même donné de nouvelles idées pour organiser mon contenu.

Je pouvais même rendre le wiki sur Notion public pour obtenir un site web navigable sans effort. Il était tentant de remplacer l'ancien wiki par une redirection vers Notion, mais cela me posait plusieurs problèmes. D'abord un sentiment de culpabilité de participer à la Notion-isation du web, qui implique des sites au code inaccessible, au design neutre et identique, et d'une lenteur désespérante. Bien que je trouve Notion révolutionnaire pour la production et l'organisation de contenu, il tire les sites vers le bas quant à l'expérience utilisateur et le message renvoyé par l'auteur.

Après avoir suivi l'excellent tutoriel "Build Static Pages Dynamically using Next.js and the Notion API" de Jon Meyers, je me suis rendu compte qu'utiliser Notion comme CMS était sans doute le meilleur moyen de conserver ma liberté d'écriture sans pour autant compromettre ma liberté de designer le site.

La nouvelle version du wiki, encore en cours de développement, est donc développée avec Next.js et hébergée gratuitement sur Vercel. Lors du build initial, toutes les pages sont mises en cache afin qu'elles se chargent rapidement.

Chaque visite sur une page en cache déclenche un nouveau build de la page côté serveur (avec une limite d'une fois par minute). Ainsi, le visiteur suivant aura une version plus récente de la page.