<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wiki.lololand.org/index.php?action=history&amp;feed=atom&amp;title=Trace_install_tas_-_Hugo</id>
	<title>Trace install tas - Hugo - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.lololand.org/index.php?action=history&amp;feed=atom&amp;title=Trace_install_tas_-_Hugo"/>
	<link rel="alternate" type="text/html" href="https://wiki.lololand.org/index.php?title=Trace_install_tas_-_Hugo&amp;action=history"/>
	<updated>2026-05-25T20:51:28Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.lololand.org/index.php?title=Trace_install_tas_-_Hugo&amp;diff=164&amp;oldid=prev</id>
		<title>Daneel : Ajout de la trace d&#039;installation de Hugo</title>
		<link rel="alternate" type="text/html" href="https://wiki.lololand.org/index.php?title=Trace_install_tas_-_Hugo&amp;diff=164&amp;oldid=prev"/>
		<updated>2026-04-11T07:45:57Z</updated>

		<summary type="html">&lt;p&gt;Ajout de la trace d&amp;#039;installation de Hugo&lt;/p&gt;
&lt;a href=&quot;https://wiki.lololand.org/index.php?title=Trace_install_tas_-_Hugo&amp;amp;diff=164&amp;amp;oldid=134&quot;&gt;Voir les modifications&lt;/a&gt;</summary>
		<author><name>Daneel</name></author>
	</entry>
	<entry>
		<id>https://wiki.lololand.org/index.php?title=Trace_install_tas_-_Hugo&amp;diff=134&amp;oldid=prev</id>
		<title>Loic : Page créée avec « = Trace install tas - Hugo =  == Objectif == Déployer un site statique simple à maintenir avec &#039;&#039;&#039;Hugo&#039;&#039;&#039;, servi localement par &#039;&#039;&#039;Podman&#039;&#039;&#039; puis exposé par le reverse proxy &#039;&#039;&#039;Caddy&#039;&#039;&#039;.  L&#039;objectif est d&#039;obtenir : * une maintenance faible * un contenu rédigé en Markdown * une publication reproductible * un rollback simple  == Choix techniques retenus == * Générateur statique : &#039;&#039;&#039;Hugo&#039;&#039;&#039; * Build : conteneur `docker.io/klakegg/hugo:ext-alpine` * Service HT... »</title>
		<link rel="alternate" type="text/html" href="https://wiki.lololand.org/index.php?title=Trace_install_tas_-_Hugo&amp;diff=134&amp;oldid=prev"/>
		<updated>2026-03-30T19:56:22Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « = Trace install tas - Hugo =  == Objectif == Déployer un site statique simple à maintenir avec &amp;#039;&amp;#039;&amp;#039;Hugo&amp;#039;&amp;#039;&amp;#039;, servi localement par &amp;#039;&amp;#039;&amp;#039;Podman&amp;#039;&amp;#039;&amp;#039; puis exposé par le reverse proxy &amp;#039;&amp;#039;&amp;#039;Caddy&amp;#039;&amp;#039;&amp;#039;.  L&amp;#039;objectif est d&amp;#039;obtenir : * une maintenance faible * un contenu rédigé en Markdown * une publication reproductible * un rollback simple  == Choix techniques retenus == * Générateur statique : &amp;#039;&amp;#039;&amp;#039;Hugo&amp;#039;&amp;#039;&amp;#039; * Build : conteneur `docker.io/klakegg/hugo:ext-alpine` * Service HT... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Trace install tas - Hugo =&lt;br /&gt;
&lt;br /&gt;
== Objectif ==&lt;br /&gt;
Déployer un site statique simple à maintenir avec &amp;#039;&amp;#039;&amp;#039;Hugo&amp;#039;&amp;#039;&amp;#039;, servi localement par &amp;#039;&amp;#039;&amp;#039;Podman&amp;#039;&amp;#039;&amp;#039; puis exposé par le reverse proxy &amp;#039;&amp;#039;&amp;#039;Caddy&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
L&amp;#039;objectif est d&amp;#039;obtenir :&lt;br /&gt;
* une maintenance faible&lt;br /&gt;
* un contenu rédigé en Markdown&lt;br /&gt;
* une publication reproductible&lt;br /&gt;
* un rollback simple&lt;br /&gt;
&lt;br /&gt;
== Choix techniques retenus ==&lt;br /&gt;
* Générateur statique : &amp;#039;&amp;#039;&amp;#039;Hugo&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Build : conteneur `docker.io/klakegg/hugo:ext-alpine`&lt;br /&gt;
* Service HTTP : conteneur `docker.io/library/nginx:alpine`&lt;br /&gt;
* Orchestration locale : &amp;#039;&amp;#039;&amp;#039;Podman rootless&amp;#039;&amp;#039;&amp;#039; + service utilisateur&lt;br /&gt;
* Port local : `8100`&lt;br /&gt;
* Exposition publique prévue :&lt;br /&gt;
** `hugo.lololand.org`&lt;br /&gt;
** `https://lololand.hopto.org:25700`&lt;br /&gt;
* Répertoire projet : `/home/loic/sites/hugo-docs`&lt;br /&gt;
&lt;br /&gt;
== Arborescence ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/home/loic/sites/hugo-docs/&lt;br /&gt;
├── content/&lt;br /&gt;
├── layouts/&lt;br /&gt;
├── public/&lt;br /&gt;
├── hugo.toml&lt;br /&gt;
└── publish.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fichiers importants ==&lt;br /&gt;
* Sources Hugo : `/home/loic/sites/hugo-docs`&lt;br /&gt;
* Site généré : `/home/loic/sites/hugo-docs/public`&lt;br /&gt;
* Service Podman user : `/home/loic/.config/containers/systemd/hugo-docs.container`&lt;br /&gt;
&lt;br /&gt;
== Principe de fonctionnement ==&lt;br /&gt;
Le contenu est rédigé dans le projet Hugo, puis généré en fichiers statiques dans le dossier `public/`.&lt;br /&gt;
&lt;br /&gt;
Le service Podman ne génère pas le site lui-même :&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Hugo&amp;#039;&amp;#039;&amp;#039; produit les fichiers statiques&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;nginx&amp;#039;&amp;#039;&amp;#039; sert ensuite le dossier `public/`&lt;br /&gt;
&lt;br /&gt;
Cette séparation simplifie :&lt;br /&gt;
* la maintenance&lt;br /&gt;
* le diagnostic&lt;br /&gt;
* le rollback&lt;br /&gt;
* la reproductibilité&lt;br /&gt;
&lt;br /&gt;
== Publication ==&lt;br /&gt;
=== Générer le site ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /home/loic/sites/hugo-docs&lt;br /&gt;
./publish.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Redémarrer le service ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl --user restart hugo-docs.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vérifier localement ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -I http://127.0.0.1:8100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Service Podman ==&lt;br /&gt;
Le service utilisateur repose sur le fichier :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/home/loic/.config/containers/systemd/hugo-docs.container&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Principe :&lt;br /&gt;
* image `nginx:alpine`&lt;br /&gt;
* montage en lecture seule du dossier `public/`&lt;br /&gt;
* exposition locale sur le port `8100`&lt;br /&gt;
* redémarrage automatique du service&lt;br /&gt;
&lt;br /&gt;
== Reverse proxy Caddy ==&lt;br /&gt;
Bloc prévu dans `/etc/caddy/Caddyfile` :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Hugo docs&lt;br /&gt;
hugo.lololand.org:443 {&lt;br /&gt;
    import common_acme&lt;br /&gt;
    reverse_proxy 127.0.0.1:8100&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Hugo docs (accès port dédié de secours)&lt;br /&gt;
https://lololand.hopto.org:25700 {&lt;br /&gt;
    import common_acme&lt;br /&gt;
    reverse_proxy 127.0.0.1:8100&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Utilisation courante ==&lt;br /&gt;
=== Ajouter une page ===&lt;br /&gt;
Créer un fichier Markdown dans `content/`.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /home/loic/sites/hugo-docs&lt;br /&gt;
mkdir -p content/docs&lt;br /&gt;
cat &amp;gt; content/docs/bonjour.md &amp;lt;&amp;lt;&amp;#039;EOF&amp;#039;&lt;br /&gt;
---&lt;br /&gt;
title: &amp;quot;Bonjour&amp;quot;&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
# Bonjour&lt;br /&gt;
&lt;br /&gt;
Première page de test.&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Regénérer le site ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /home/loic/sites/hugo-docs&lt;br /&gt;
./publish.sh&lt;br /&gt;
systemctl --user restart hugo-docs.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Avantages du choix Hugo ==&lt;br /&gt;
* pas de base de données&lt;br /&gt;
* pas d&amp;#039;application dynamique à maintenir&lt;br /&gt;
* contenu lisible en texte brut&lt;br /&gt;
* publication très rapide&lt;br /&gt;
* très bon couplage avec git&lt;br /&gt;
* rollback facile en restaurant les sources ou le rendu généré&lt;br /&gt;
&lt;br /&gt;
== Points d&amp;#039;attention ==&lt;br /&gt;
* toute modification du contenu nécessite une régénération du site&lt;br /&gt;
* le reverse proxy Caddy doit être configuré séparément&lt;br /&gt;
* il faut conserver une sauvegarde du `Caddyfile` avant modification&lt;br /&gt;
* le dossier `public/` ne doit pas être modifié manuellement&lt;br /&gt;
&lt;br /&gt;
== Rollback ==&lt;br /&gt;
En cas de problème :&lt;br /&gt;
* restaurer la sauvegarde du `Caddyfile`&lt;br /&gt;
* corriger ou restaurer le projet Hugo&lt;br /&gt;
* régénérer le site&lt;br /&gt;
* redémarrer `hugo-docs.service`&lt;br /&gt;
* recharger `caddy`&lt;br /&gt;
&lt;br /&gt;
== Commandes utiles ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /home/loic/sites/hugo-docs&lt;br /&gt;
./publish.sh&lt;br /&gt;
systemctl --user status hugo-docs.service&lt;br /&gt;
systemctl --user restart hugo-docs.service&lt;br /&gt;
curl -I http://127.0.0.1:8100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Résultat attendu ==&lt;br /&gt;
Une chaîne simple et maintenable :&lt;br /&gt;
* édition en Markdown&lt;br /&gt;
* génération statique via Hugo&lt;br /&gt;
* service local via Podman&lt;br /&gt;
* exposition publique via Caddy&lt;/div&gt;</summary>
		<author><name>Loic</name></author>
	</entry>
</feed>