Guide Git et Hugo - site web statique

2 min de lecture

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

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/