Comment j'ai créé mon propre blog hébergé avec Hugo et Firebase

J’ai toujours rêvé de créer mon propre blog, personnalisé et hébergé sous mon propre domaine, sans dépenser un centime. J’ai récemment découvert Hugo, un générateur de sites statiques, et ça a allumé un feu en moi. J’ai réalisé que je n’avais pas besoin d’écrire beaucoup de code pour publier mes idées, et que rien ne pouvait empêcher mes gribouillis de trouver leur place sur Internet. Créer un blog avec Hugo est étonnamment simple, même avec des bases en codage. Et le meilleur, c’est que c’est gratuit, à condition de posséder un nom de domaine.

Associer Hugo à Firebase Hosting s’est avéré être la combinaison idéale pour moi. Hugo se charge de générer un site statique rapide, et Firebase le déploie partout dans le monde, très rapidement et gratuitement. Le plus ? Grâce à GitHub Actions, le déploiement est automatique dès que j’apporte des modifications. Il suffit de lancer le déploiement et c’est parti !

Dans ce guide, je vous expliquerai tout ce que j’ai fait pour donner vie à mon blog, de la configuration d’Hugo à sa mise en ligne avec Firebase, en passant par l’automatisation de l’ensemble du processus. Voici ce que nous aborderons :

1. Configuration d’Hugo

Tout d’abord, j’ai dû installer Hugo, le générateur de sites statiques qui rend la création de blogs ultra-rapide et légère. L’installation a été rapide et sans effort, et une fois installé sur ma machine, j’étais prêt à me lancer.

Installer Hugo

BASH
brew install hugo           # macOS
sudo apt install hugo       # Linux
choco install hugo-extended # Windows
Cliquez pour développer et voir plus

Une fois installé, vérifiez si cela fonctionne :

BASH
hugo version
Cliquez pour développer et voir plus

Vous devriez voir le numéro de version apparaître. Bravo ! Hugo est prêt.


Création d’un projet de blog

Une fois Hugo installé, il était temps de passer à la création du projet de blog. Cette étape était étonnamment simple : une seule commande suffit et Hugo configure tout.

BASH
hugo new site my-blog
cd my-blog
Cliquez pour développer et voir plus

Vous disposez ainsi d’un nouveau dossier de projet avec toute la structure de base nécessaire : mises en page, dossiers de contenu, fichiers de configuration, etc.

À ce stade, le blog est encore vierge. Prochaine étape : lui donner du style grâce à un thème.

Ajouter le thème à votre blog

Un blog sans thème, c’est juste… du Markdown déprimant. Je voulais quelque chose de simple, épuré et minimaliste, et après quelques recherches, j’ai opté pour Hugo-Narrow. C’est léger et efficace.

Theme Link: https://hugo-narrow-docs.vercel.app/

BASH
git init
git submodule add https://github.com/tom2almighty/hugo-narrow.git themes/hugo-narrow
# Update submodules
git submodule update --init --recursive --remote
Cliquez pour développer et voir plus

Update hugo.yaml:

THEME:
baseURL: 'https://example.com'  # Change to your website URL
title: 'My Blog'  # Change to your website title
Cliquez pour développer et voir plus

Ajouter une publication

C’est parti pour l’écriture ! Hugo simplifie la création d’articles de blog. Une seule commande suffit et vous obtenez un fichier Markdown prêt à être modifié, prêt à écrire.

BASH
hugo new posts/my-first-post.md
Cliquez pour développer et voir plus

Modifier la page de garde :

PLAINTEXT
title: "My First Post"
date: 2025-06-13
draft: false
categories: ["Blog"]
tags: ["Hugo", "Tutorial"]
Cliquez pour développer et voir plus

Modifiez le titre, écrivez ce que vous voulez en dessous et lorsque vous êtes prêt à publier, définissez brouillon : faux.

Construire le site

Pour prévisualiser votre site localement :

BASH
hugo server -D
Cliquez pour développer et voir plus

Cela génère les fichiers statiques dans lepublic/ dossier. Vous pouvez maintenant visiter http://localhost:1313 dans votre navigateur pour afficher votre site Web.

2. Lancer votre blog avec Firebase Hosting

Écrire, c’est amusant, mais mettre son blog en ligne ? C’est là que la magie opère. J’ai opté pour Firebase Hosting : c’est rapide, gratuit et compatible avec Hugo. Commençons par le configurer.

Installer l’interface de ligne de commande Firebase

Vous aurez besoin de l’interface de ligne de commande Firebase pour déployer des éléments :

BASH
npm install -g firebase-tools
Cliquez pour développer et voir plus

Connectez-vous ensuite à votre compte Firebase :

BASH
firebase login
Cliquez pour développer et voir plus

Initialiser l’hébergement Firebase (multisite)

J’ai choisi l’hébergement multisite de Firebase car j’héberge mon portfolio personnel et mon blog dans le même projet Firebase. Vous pouvez bien sûr choisir de les séparer si cela vous convient mieux.

Maintenant, dans votre dossier de projet Hugo :

BASH
firebase init hosting
Cliquez pour développer et voir plus

À l’invite :

Hugo crée votre site dans le dossier public ; c’est donc ce dossier que Firebase doit gérer.

Après l’initialisation, vous obtiendrez :

.firebaserc

JSON
{
  "projects": {
    "default": "Your-Blog-Name"
  },
  "targets": {
    "Your-Blog-Name": {
      "hosting": {
        "blog": ["Your-Blog-Name"]
      }
    }
  }
}
Cliquez pour développer et voir plus

firebase.json

JSON
{
  "hosting": [
    {
      "target": "blog",
      "public": "public",
      "ignore": ["firebase.json", "**/.*", "**/node_modules/**"]
    }
  ]
}
Cliquez pour développer et voir plus

Assurez-vous que le nom de la cible correspond à celui que vous utiliserez ultérieurement dans les actions GitHub (par exemple, « hosting:blog »).

Tester un déploiement local (facultatif)

Vous souhaitez le tester avant de passer au CI/CD complet ? Si votre blog est en ligne à l’URL Firebase, bravo !

BASH
hugo --minify
firebase deploy --only hosting:blog
Cliquez pour développer et voir plus

3. Déposez votre blog sur GitHub

Initialisez un dépôt Git si ce n’est pas déjà fait :

BASH
git init
git add .
git commit -m "Initial Hugo blog setup"
git remote add origin https://github.com/your-username/your-repo.git
git push -u origin main
Cliquez pour développer et voir plus

Assurez-vous que votre code est bien présent dans la branche principale ; notre workflow GitHub Actions s’en chargera.

4. Automatisez avec GitHub Actions

Les déploiements manuels sont acceptables… une fois. Automatisons-les pour que votre blog soit publié à chaque fois que vous le publiez.

Générer un jeton Firebase

Opération unique : ceci donne à GitHub l’autorisation de déployer :

BASH
firebase login:ci
Cliquez pour développer et voir plus

Copiez le jeton obtenu.

Ajouter le jeton aux secrets GitHub

Accédez à votre dépôt GitHub :


Créer le fichier de workflow

Créons maintenant la configuration des actions GitHub :

.github/workflows/deploy.yml

YAML
name: Deploy Hugo blog to Firebase

on:
  push:
    branches:
      - main

jobs:
  build-deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Setup Hugo
        uses: peaceiris/actions-hugo@v2
        with:
          hugo-version: 'latest'

      - name: Build Hugo site
        run: hugo --minify

      - name: Install Firebase CLI
        run: npm install -g firebase-tools

      - name: Deploy to Firebase Hosting
        env:
          FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
        run: |
          firebase deploy --only hosting:blog
Cliquez pour développer et voir plus

5. Finalisation et déploiement

C’est fait ? Lancez le déploiement et laissez la magie opérer.

Déclenchez un déploiement :

BASH
git add .
git commit -m "New blog post"
git push origin main
Cliquez pour développer et voir plus

Cela déclenchera votre workflow GitHub Actions, créera votre blog Hugo et le déploiera automatiquement sur Firebase !

Facultatif : Nettoyer les workflows supplémentaires

Si vous avez testé plusieurs fichiers « .yml » sous « .github/workflows/ » (comme moi), veillez à supprimer ou renommer ceux que vous n’utilisez pas afin d’éviter les exécutions de workflow en double.

BASH
rm .github/workflows/preview.yml
git commit -am "Remove unused workflow"
git push origin main
Cliquez pour développer et voir plus

Résumé

ÉtapeCe que vous avez fait
1.Création d’un blog Hugo et choix d’un thème
2.Création et prévisualisation de votre site avec « hugo server -D »
3.Configuration de l’hébergement Firebase avec des cibles multisites
4.Ajout d’un jeton de déploiement à GitHub Secrets
5.Création d’un workflow GitHub Actions pour le déploiement
6.Déploiement vers « main » pour déclencher des déploiements automatiques

Et voilà !

Vous disposez désormais de :

Vous souhaitez ajouter des fonctionnalités comme des analyses, des commentaires ou une newsletter ? Laissez un commentaire ci-dessous ou contactez-moi et je vous enverrai un message !

Avis de droits d'auteur

Auteur: Padmaj P Kumar

Lien: https://blog.padmajp.com/fr/posts/comment-jai-cr%C3%A9%C3%A9-mon-propre-blog-h%C3%A9berg%C3%A9-avec-hugo-et-firebase/

Licence: CC BY-NC-SA 4.0

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Please attribute the source, use non-commercially, and maintain the same license.

Commentaires

Commencer la recherche

Saisissez des mots-clés pour rechercher des articles

↑↓
ESC
⌘K Raccourci