Passer au contenu principal

Settings

Color Mode

Theme Skin

Background

Appearance preferences are saved in this browser only.

Environment

Current Environment Dev

Built with JEKYLL_ENV=development. Changes auto-reload under jekyll serve.

Theme & Build

Jekyll v3.10.0
Last BuildNov 03, 07:01

Page Location

Page Info

Layout default
Collection none
Path fr/quickstart/jekyll-setup.md
URL /fr/quickstart/jekyll-setup/
Cette page a été traduite automatiquement depuis l'original en anglais. Voir l'original

Configuration de Jekyll : lancer le serveur de développement et créer du contenu

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 requise — 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[Gems already cached]
    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 :

  1. Télécharge l’image Jekyll (≈ 1–2 min)
  2. Exécute bundle install à l’intérieur du conteneur
  3. Démarre Jekyll avec le rechargement à chaud

Les statistiques de contenu ne sont pas régénérées au démarrage — _data/content_statistics.yml est validé et lu directement. Actualisez-les avec rake stats:generate (ou _data/generate_statistics.sh) après avoir ajouté du contenu.

Votre site est disponible à l’adresse http://localhost:4000.

sortie de docker compose up montrant le démarrage de Jekyll

Étape 3 — Vérifier l’état du site

docker compose exec jekyll bundle exec jekyll doctor \
  --config '_config.yml,_config_dev.yml'

sortie de jekyll doctor

Sortie attendue :

Configuration file: /site/_config.yml
Configuration file: /site/_config_dev.yml
            Source: /site
       Destination: /site/_site
 Incremental build: enabled
      Generating... done in X seconds.

Incremental build: enabled provient de _config_dev.yml ; sans cette seconde configuration, la ligne est absente.

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 surcharge 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 pas de clés de configuration bootstrap:.

Créez 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 à chaud 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)

Structure du projet dans le terminal

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 définissez user_overrides: true dans _config.yml. Le thème l’intègre alors après main.css, de sorte que vos règles l’emportent sans modifier aucun include. (Sans ce paramètre, le fichier est livré mais jamais chargé.)

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 / ancien contenu

docker compose exec jekyll bundle exec jekyll clean
docker compose restart

Erreurs de permissions (Linux)

sudo chown -R $USER:$USER .