Déployer sur Netlify
Déployez votre site Jekyll sur Netlify avec un déploiement continu depuis GitHub et des en-têtes personnalisés.
Déployer sur Netlify
Déployez votre site Jekyll sur Netlify avec un déploiement continu depuis GitHub.
Vue d’ensemble
Netlify offre plusieurs avantages par rapport à GitHub Pages :
- En-têtes personnalisés — Contrôlez la mise en cache et les en-têtes de sécurité
- Redirections — Réécriture d’URL et redirections
- Formulaires — Gestion intégrée des formulaires
- Fonctions — Fonctions serverless
- Aperçus de déploiement — Prévisualisez les branches avant de les fusionner
Prérequis
- Un compte GitHub avec le dépôt de votre site Jekyll
- Un compte Netlify (offre gratuite disponible)
Configuration
Étape 1 : Préparer votre dépôt
Assurez-vous que votre Gemfile.lock est à jour :
bundle install
bundle update
Validez le fichier de verrouillage mis à jour :
git add Gemfile.lock
git commit -m "Update Gemfile.lock for Netlify"
git push
Étape 2 : Créer un compte Netlify
- Rendez-vous sur netlify.com
- Cliquez sur S’inscrire et authentifiez-vous avec GitHub
- Autorisez Netlify à accéder à vos dépôts
Étape 3 : Connecter le dépôt
- Depuis le tableau de bord Netlify, cliquez sur « Add new site » → « Import an existing project »
- Choisissez GitHub comme fournisseur Git
- Autorisez Netlify si vous y êtes invité
- Sélectionnez votre dépôt Jekyll
Étape 4 : Configurer les paramètres de build
| Paramètre | Valeur |
|---|---|
| Branche à déployer | main (ou votre branche par défaut) |
| Commande de build | jekyll build |
| Répertoire de publication | _site |
Cliquez sur « Deploy site » pour lancer le premier build.
Étape 5 : Surveiller le déploiement
- Surveillez les journaux de build pour détecter d’éventuelles erreurs
- Une fois terminé, Netlify fournit une URL aléatoire (par ex.
random-name-12345.netlify.app) - Cliquez sur l’URL pour afficher votre site déployé
Fichiers de configuration
netlify.toml
Créez netlify.toml à la racine de votre dépôt pour une configuration avancée :
[build]
command = "jekyll build"
publish = "_site"
[build.environment]
JEKYLL_ENV = "production"
RUBY_VERSION = "3.0.0"
# Redirects
[[redirects]]
from = "/old-page"
to = "/new-page"
status = 301
# Headers
[[headers]]
for = "/*"
[headers.values]
X-Frame-Options = "DENY"
X-XSS-Protection = "1; mode=block"
X-Content-Type-Options = "nosniff"
# Cache static assets
[[headers]]
for = "/assets/*"
[headers.values]
Cache-Control = "public, max-age=31536000"
Fichier _redirects
Vous pouvez aussi créer un fichier _redirects à la racine de votre site :
# Redirect old URLs
/old-page /new-page 301
# SPA fallback (if using client-side routing)
/* /index.html 200
Fichier _headers
Créez un fichier _headers pour des en-têtes personnalisés :
/*
X-Frame-Options: DENY
X-XSS-Protection: 1; mode=block
/assets/*
Cache-Control: public, max-age=31536000
Domaine personnalisé
Option 1 : Interface Netlify
- Rendez-vous dans Site settings → Domain management
- Cliquez sur « Add custom domain »
- Saisissez votre nom de domaine
- Suivez les instructions de configuration DNS
Option 2 : Configuration DNS
Ajoutez ces enregistrements chez votre registrar de domaine :
Pour le domaine apex (example.com) :
Type: A
Name: @
Value: 75.2.60.5
Pour le sous-domaine www :
Type: CNAME
Name: www
Value: your-site.netlify.app
Netlify provisionne automatiquement des certificats SSL via Let’s Encrypt.
Variables d’environnement
Définissez les variables d’environnement dans l’interface Netlify ou dans netlify.toml :
- Rendez-vous dans Site settings → Build & deploy → Environment
- Ajoutez les variables :
JEKYLL_ENV=production- Toutes les clés API dont votre site a besoin
Aperçus de déploiement
Netlify crée automatiquement des déploiements d’aperçu pour les pull requests :
- Ouvrez une pull request sur GitHub
- Netlify construit et déploie un aperçu
- L’URL de l’aperçu apparaît dans les commentaires de la PR
- Testez les modifications avant de fusionner
Dépannage
Échecs de build
Consultez le journal de déploiement pour identifier les erreurs :
- Accédez à l’onglet Deploys
- Cliquez sur le déploiement en échec
- Examinez les journaux de build
Problèmes courants :
Gemfile.lockmanquant — Exécutezbundle lock- Incompatibilité de version Ruby — Spécifiez-la dans
netlify.toml - Erreurs de plugin — Assurez-vous que toutes les gems figurent dans
Gemfile
Builds lents
Optimisez le temps de build :
- Utilisez
bundle install --jobs 4pour des installations parallèles - Mettez en cache les dépendances (Netlify le fait automatiquement)
- Réduisez la portée du build avec des builds incrémentaux
Problèmes de certificat SSL
Si HTTPS ne fonctionne pas :
- Vérifiez la propagation DNS avec
dig yourdomain.com - Consultez Domain management → HTTPS
- Cliquez sur Verify DNS configuration
- Provisionnez le certificat manuellement si nécessaire
Comparaison avec GitHub Pages
| Fonctionnalité | Netlify | GitHub Pages |
|---|---|---|
| Plugins personnalisés | Oui | Non (liste blanche uniquement) |
| En-têtes personnalisés | Oui | Non |
| Redirections | Oui | Limitées |
| Aperçus de déploiement | Oui | Non |
| Formulaires | Oui | Non |
| Fonctions | Oui | Non |
| Temps de build | Plus rapide | Plus lent |
| Offre gratuite | Généreuse | Illimitée |
Étapes suivantes
- Configuration d’un domaine personnalisé
- En-têtes de sécurité — Renforcez votre site
Voir aussi
- [[Deployment]]
- [[Deploy to GitHub Pages]]
- [[Custom Domain Setup]]