Hugo

Petit billet pour vous raconter mes aventures webesques.

Un changement vient de s’opérer sur le site. Un changement majeur même.
Pendant longtemps, j’utilisais du PHP brut de fonderie pour rédiger mes billets… Sauf que… C’est long… C’est chiant… Et c’est clairement pas pratique…
Du coup, j’ai fait le choix de passer sur un truc plus simple, un petit framework en go Hugo. C’est « simple », pratique et pour le coup, ça juste fonctionne.

Mais c’est quoi Hugo ?

Comme je le disais, c’est un framework en Go. C’est léger, c’est mignon, et c’est simple.

Tout les billets sont rédigés en markdown, donc niveau remplissage, relecture, modification ou autre, c’est on ne peut plus simple.
La syntaxe est simple, compréhensible, ce qui permet de collaborer avec d’autres personnes beaucoup plus facilement que lorsque l’écriture d’une page implique un language « complexe ».

Comment ça fonctionne ?

Bah rien de plus simple… Deux commandes suffisent, pour la base tout du moins.

À noter tout de même que ce n’est pas simplement un outil qui permettra de générer des pages Web, mais c’est bien un « serveur », plus exactement un daemon qui tournera sur la machine sur laquelle vous l’utiliserez.

Création d’article

Une fois hugo installé, et le site créé, on crée un article :

hugo new blog/article.md

Lancement du serveur

Bon, plus qu’à lancer le serveur pour afficher ce que vous avez écrit

hugo server

Comment j’y suis venu ?

Très bonne question en effet.
En fait, pour ceux qui ne le savent pas, je fais parti de plusieurs associations et team de developpement (cf : mon billet sur EyesOfNetwork). Au détour de l’une d’elle Unixcorn pour ne pas la citer, j’ai entendu parler de notre fameux Hugo ici présent ! Et in fine, comme je disais plus haut, la simplicité de l’outil m’a bien accrochée.

Alimentation des pages.

Plusieurs possibilités sont possibles pour gérer les pages, la plus « simple » restant d’éditer les pages directement sur la cible où votre Hugo sera lancé.

Personnellement, je n’ai pas fait ce choix là. Pour plusieurs raison à vrai dire.
J’ai décidé d’utiliser un outil de versionning GIT pour ne pas le citer, afin d’assurer un historique de mes modifications, mais également pour ne pas avoir à me connecter à mon serveur pour faire une quelconque modification.

De plus, d’utiliser un système comme celui là me permet très facilement de migrer mon contenu Hugo d’une machine à une autre en cas de problème. Je n’ai qu’à récupérer le contenu de mon repository et ça repart comme en 40.

Encore un autre point positif pour la gestion par un outil de versionning comme GIT, c’est l’édition collaborative, je peux, dans le temps, ne plus être le seul à travailler sur le site (même si je pense que ça ne sera jamais le cas ici), comme c’est le cas pour la site d’Unixcorn. GIT permet en effet à plusieurs personnes de travailler sur le même projet, mais pour celà, je vous renvoie sur la « page wikipedia » explicant ce qu’est GIT et comment il fonctionne (même si ce n’est pas dans le détail, celà donne déjà un bon aperçu).

Bien sur, je parle ici de GIT, mais il existe d’autres outils similaires tels que Subversion ou Mercurial

Apparence

Hugo propose un grande Galerie de thèmes disponible pour un usage direct. Mais il est également possible de créer ses propres thèmes à partir de rien, voire d’en prendre un pour le modifier par la suite.

Documentation

Le petit point noir du produit à mon sens, est une documentation peu accessible je trouve (n’est que mon avis personnel), et du coup, un peu obscure.

Mais avec un peu de réflexion et d’analyse, on peut très bien s’en débrouiller et utiliser le produit comme il faut au final.


Je vais m’arrêter donc là sur ce billet, ça fait déjà un peu trop d’un coup.
Je pense cependant que je referais sous peu un petit billet pour la mise en place « basique » d’Hugo chez vous.

Bibliographie

  1. (en) Hugo
  2. (en) Wikipedia (Markdown)
  3. (fr) Unixcorn
  4. (en) GIT
  5. (en) Wikipedia (GIT)
  6. (en) Subversion
  7. (en) Mercurial
  8. (en) Hugo Themes
  9. [(en) Hugo Theming]