À propos de ce site web

2021-04-26
5 min de lecture

Site propulsé par le générateur Hugo et mis en page à l'aide du thème Eureka, je souhaite ici présenter les divers éléments techniques mis en oeuvre ainsi qu'introduire les objectifs de cet espace.

Pourquoi ce site web ?

Commençons par le plus évident : j’ai été pris de l’envie de créer un site qui me servirait aussi bien de vitrine professionnelle que d’espace d’expression si l’envie m’en prenait. Ce site répond donc à plusieurs objectifs aussi bien techniques que personnels.

Passionné de technologies, j’ai souvent pris le temps de présenter certaines de mes connaissances en écrivant aussi bien des tutoriels sur des forums, que des articles sur divers blogs qui ont depuis disparus dans l’oubli. C’est aussi pour cette raison que j’ai été attiré par l’enseignement mais je n’avais jusqu’alors jamais franchi le pas en officialisant ces contenus.

Je souhaitais développer ce site web en parlant tout d’abord de moi, de mon profil professionnel et c’est la raison d’être de la page d’accueil qui saura je l’espère apporter de la crédibilité à mon parcours. Ensuite, j’ai bon espoir de pouvoir occasionnellement développer certains sujets, techniques ou non, de sorte à partager sur ce qui m’importe ; d’où la section blog. Finalement, la section la plus ambitieuse, docs, me permettrait de présenter de façon structurée des sujets techniques en lien ou non avec mon cœur de métier. En effet, je tire quotidiennement des fonctionnalités et des connaissances issues du logiciel libre sans pour autant y contribuer. À défaut d’avoir pu apporter à ce jour une réelle contribution technique à cet univers, je souhaite pouvoir au moins transmettre une partie de ce que j’ai appris.

Ce qui se cache derrière

Accordant plus d’importance au contenu qu’à la forme, j’ai tout naturellement cherché des gestionnaires de contenus légers. Wordpress est depuis longtemps devenu une référence en la matière, j’ai moi-même passé parfois du temps à créer de nouvelles extensions ou thèmes pour un usage personnel. Ce qui me déplaisait cependant, c’était sa lourdeur. Il est de plus en plus difficile de créer un site web rapide et sécurisé sans reposer sur une batterie d’extensions qui impliquent soit une consommation réseau soit une consommation CPU accrues avec des temps de réponse parfois abusifs.

Nul doute qu’une solution aurait été de migrer vers un serveur plus robuste. Or, le bidouilleur que je suis est déjà équipé d’un serveur tout à fait capable mais dont l’activité principale n’est pas de manger des requêtes PHP à longueur de journée et encore moins d’y répondre rapidement. Par soucis de crédibilité aussi, j’ai préféré m’orienter vers un gestionnaire simple et ultra léger qui implique plus de sécurité et moins de maintenance.

HUGO, qui se présente officiellement comme étant The world’s fastest framework for building websites, aura forcément attiré mon attention. Pas du tout familier avec ce système, j’y ai donc découvert un logiciel permettant de générer des sites webs complets à partir de simples fichiers Markdown. Premier bon point, le WYSIWYG (What You See Is What You Get) de Wordpress a ses avantages, la fluidité et la précision n’en font cependant pas partis bien quel cela ait pu s’améliorer avec le temps.

Concernant la rapidité, le pari semble là aussi tenu. Pas spécialement créatif, j’ai apprécié avoir accès à un large panel de thèmes open source et très facile à mettre en oeuvre ; l’affaire d’un git clone. De plus les fichiers générés étant composés principalement d’HTML et de CSS, c’est aussi très rapide pour les utilisateurs. L’amateur que je suis a aussi conscience de ne pas pouvoir se protéger d’attaques ciblées ou non, je sais cependant que plus le système est simple, plus il sera facile à sécuriser. C’est pour cette raison que j’ai tendance à conteneuriser tous mes services et à limiter autant que possible leurs intéractions avec le reste du système.

J’ai d’ailleurs quelques contraintes concernant l’intégration : le serveur que j’ai mis en place repose presque exclusivement sur Docker et Ansible pour déployer sa configuration et gérer les interactions entre les différentes applications. J’ai donc sans trop de soucis pu intégrer une image Docker contenant une installation de HUGO, il ne me restait plus qu’à rediriger sa sortie dans un service nginx qui puisse gérer les affichages statiques. Étant déjà équipé de nombreux sites webs, je n’ai eu qu’à retailler mon image Docker php-nginx et interfacer le tout avec mon network global qui inclut déjà une génération automatique de certificats SSL pour le HTTPS via letsencrypt et mon reverse-proxy qui me permet de rediriger les requêtes vers les bons conteneurs, le tout via les DNS de Cloudflare. Cerise sur le gâteau, le serveur HUGO pouvant surveiller les modifications locales je n’ai même pas besoin de lui dire quand se mettre à jour : il me suffit de sauvegarder mon fichier et celui-ci est directement en ligne.

Tout ça n’a rien d’une prouesse technique, la plupart des services que j’ai utilisés existaient déjà en l’état et ne demandaient qu’une légère configuration. Là où j’éprouve de la satisfaction, c’est d’avoir réussi à mettre tout ça en oeuvre sans prise de tête et en une soirée alors que je n’avais initialement aucune idée de ce que je voulais faire.

C’est donc avec beaucoup de plaisir que je vous présente ce site web.

Avatar

Arthur Picavet

Jeune ingénieur spécialisé en bidouillages