Configuration de Jekyll
Configurez votre environnement de développement Jekyll axé sur Docker. Démarrez le serveur de développement, créez du contenu et personnalisez votre thème.
Configuration de Jekyll
Démarrez votre serveur de développement Jekyll basé sur Docker et créez votre premier contenu. Aucune installation locale de Ruby n’est nécessaire — tout s’exécute à l’intérieur du conteneur.
flowchart LR
A([Repo cloned]) --> B[docker-compose up]
B --> C{First run?}
C -->|Yes| D[bundle install\n~2 min]
C -->|No| E[Stats generator runs]
D --> E
E --> F[Jekyll server starts]
F --> G([localhost:4000 🎉])
Prérequis
Complétez d’abord Configuration de la machine (Docker Desktop, Git, GitHub CLI).
Étape 1 — Cloner le dépôt
Si vous n’avez pas encore cloné :
gh repo clone bamr87/zer0-mistakes
cd zer0-mistakes
Ou, si vous avez utilisé l’assistant d’installation, vous êtes déjà dans le bon répertoire.
Étape 2 — Démarrer le serveur de développement
docker-compose up
Au premier lancement, Docker :
- Récupère l’image Jekyll (≈ 1–2 min)
- Exécute
bundle installà l’intérieur du conteneur - Exécute
_data/generate_statistics.shpour générer les statistiques du site - Démarre Jekyll avec le rechargement automatique
Votre site est disponible à l’adresse http://localhost:4000.

Étape 3 — Vérifier l’état du site
docker-compose exec jekyll bundle exec jekyll doctor

Sortie attendue :
Configuration file: /app/_config.yml
Source: /app
Destination: /app/_site
Incremental build: enabled
Generating: done in X seconds.
Commandes essentielles
# Start server (foreground — shows live logs)
docker-compose up
# Start detached
docker-compose up -d && docker-compose logs -f
# Stop server
docker-compose down
# Force rebuild (after Gemfile or Dockerfile changes)
docker-compose down && docker-compose up --build
# Shell into the container
docker-compose exec jekyll bash
# Build for production (no watch)
docker-compose exec -T jekyll bundle exec jekyll build \
--config '_config.yml,_config_dev.yml'
Fichiers de configuration
Le thème utilise deux configurations superposées — le développement remplace la production :
_config.yml (production)
title: "Your Site Title"
description: "Your site description"
url: "https://yourdomain.com"
baseurl: ""
remote_theme: "bamr87/zer0-mistakes"
plugins:
- github-pages
- jekyll-remote-theme
- jekyll-feed
- jekyll-sitemap
- jekyll-seo-tag
- jekyll-paginate
- jekyll-relative-links
- jekyll-redirect-from
- jekyll-include-cache
_config_dev.yml (surcharges de développement)
url: "http://localhost:4000"
baseurl: ""
# Use local theme files instead of remote
theme: "jekyll-theme-zer0"
remote_theme: false
livereload: true
incremental: true
show_drafts: true
future: true
Bootstrap 5.3.3 est intégré dans
assets/vendor/— il n’y a aucune clé de configurationbootstrap:.
Créer votre premier article
Les articles se trouvent dans pages/_posts/. Format du nom de fichier : YYYY-MM-DD-slug.md.
cat > pages/_posts/$(date +%Y-%m-%d)-my-first-post.md << 'EOF'
---
title: "My First Post"
description: "Hello from zer0-mistakes"
date: 2026-05-30T00:00:00.000Z
layout: article
tags: [hello-world]
categories: [Blog]
---
Hello, world! This is my first post.
EOF
Jekyll le prend en compte immédiatement (le rechargement automatique actualise le navigateur).
Structure du projet
zer0-mistakes/
├── _config.yml # Production config
├── _config_dev.yml # Dev overrides (loaded by docker-compose)
├── docker-compose.yml # Container definition
├── pages/
│ ├── _posts/ # Blog posts
│ ├── _docs/ # Documentation pages
│ └── _quickstart/ # This guide
├── _layouts/ # Page templates
├── _includes/ # Reusable components
├── _sass/ # Sass partials
└── assets/
├── css/ # Compiled CSS + custom overrides
├── js/ # JavaScript modules
└── vendor/ # Bootstrap 5.3.3 (vendored)

Styles personnalisés
Ajoutez vos styles dans _sass/custom.scss (compilés dans assets/css/main.css) :
// _sass/custom.scss
:root {
--bs-primary: #0d6efd; // override Bootstrap primary color
}
.my-hero {
background: linear-gradient(135deg, var(--bs-primary), var(--bs-secondary));
}
Ou ajoutez assets/css/user-overrides.css et liez-le dans _includes/core/head.html après main.css.
Dépannage
Le conteneur ne démarre pas
docker-compose logs jekyll
docker-compose down && docker-compose up --build
Erreurs bundle install
docker-compose exec jekyll bundle install --retry 3
Page introuvable / contenu obsolète
docker-compose exec jekyll bundle exec jekyll clean
docker-compose restart
Erreurs de permissions (Linux)
sudo chown -R $USER:$USER .