Guide Git et Hugo - site web statique
But : mettre en place une routine de travail claire (aperçu local → build → déploiement) + versionner le site et activer un déploiement CI via GitHub Actions.
1) Routine en 4 étapes (quotidien)
1. Aperçu local
hugo server -D
- Ouvre http://localhost:1313
-D
inclut les brouillons (draft: true
).
2. Build de production
rm -rf public/ resources/_gen/
hugo --minify
- Le site statique final est dans
public/
.
3. Déploiement sur le serveur (Linode + Apache)
rsync -avz --delete public/ user@ton-linode:/var/www/mon-site.ca/public_html/
--delete
nettoie les fichiers obsolètes côté serveur.- Optionnel :
ssh user@ton-linode "sudo systemctl reload apache2"
4. Versionner les sources
git add -A
git commit -m "Mise à jour du contenu"
git push
2) Créer un dépôt distant (GitHub ou autre)
Option A — GitHub (dépôt privé ou public)
Crée un dépôt vide sur GitHub (sans README/License au moment de la création) puis lie-le :
git remote add origin git@github.com:TonCompte/mon-site.ca.git
git branch -M main
git push -u origin main
Option B — Serveur perso (bare repo via SSH)
Sur le serveur (ex. un VPS) :
ssh user@mon-serveur
mkdir -p ~/repos && cd ~/repos
git init --bare mon-site.ca.git
Sur le laptop (dans le projet) :
git remote add origin user@mon-serveur:repos/mon-site.ca.git
git branch -M main
git push -u origin main
3) Exemple de README.md
minimal
# mon-site.ca — Site Hugo
Site statique construit avec **Hugo (extended)** et déployé sur un serveur **Apache**.
## Développement
```bash
hugo server -D
Aperçu local : http://localhost:1313
Build
rm -rf public/ resources/_gen/
hugo --minify
La sortie est générée dans public/
.
Déploiement (manuel)
rsync -avz --delete public/ user@ton-linode:/var/www/mon-site.ca/public_html/