Hugo

Générateur de site statique

Sommaire

  • Qu'est ce que "Hugo" ?
  • Générateur statique, CMS, SAAS ?
  • Fonctionnement d'Hugo
  • Architecture JAMstack
  • Pour quels usages ?
  • Démo

Hugo?

Il s'agit d'un framework qui permet de générer des sites statiques.

Un site statique est un ensemble de pages visibles telle qu'elle ont été conçues.

 

Cette manière de concevoir s'oppose aux sites dynamiques qui génèrent "à la volée" les pages.

Générateur, CMS, SAAS

Avec un CMS

Les CMS se basent sur une génération côté serveur pour générer le HTML qui sera restitué à l'internaute.

Le backoffice offre une souplesse pour la gestion du contenu.

Avec un SSG

C'est le code versionné couplé avec une phase de génération qui donnera le site.

Avantages générateur

  • {Sécurité} aucun backoffice
  • {Sécurité} pas d'écriture en prod
  • {Performance} aucun génération serveur
  • {Backup} sauvegarde simplifiée
  • {Traçabilité} le gestionnaire de source

Inconvénients

  • {Traitement} pas de serveur
    • ex : gérer un formulaire, envoyer un @
  • {Publication} passage par "le code"
  • {Publication} plateforme de build
  • {Maintenabilité} config HTTP externalisée
    • ex : .htaccess pour des redirections

Fonctionnement

Le framework Hugo offre un cadre pour rédiger du contenu en markdown++. 

Le moteur de template est en "go". 

 

Hugo propose une gestion du "brouillon".

Le site généré doit être exploité par un serveur web.

Exemple

Cloud : Netlify

Le service Netlify gère l'aspect industrialisation de votre projet hugo:

  • Build
  • Publication
  • formulaire
  • fonction
  • ....

 

Architecture JAMstack

Sites et applications rapides et sécurisés fournis par des fichiers de pré-rendu et servis directement à partir d'un CDN, supprimant la nécessité de gérer ou d'exécuter des traitements (partie serveur).

Usages ?

  • Contenu simple
  • Admin = technicien
  • Sites :
    • vitrine
    • blog
    • petites boutiques

Démo

  • Petite boutique

https://hugo-exemple.netlify.com/

Hugo

By Florent Fremont

Hugo

  • 268