Réponse rapide : Oui, GitHub Pages héberge gratuitement n’importe quel site web statique. Il suffit d’un compte GitHub, d’un dépôt public et de quelques clics dans les réglages. La limite essentielle : votre site doit rester statique et non commercial. Voici comment procéder et jusqu’où ça tient.
Vous cherchez à publier un portfolio, une documentation technique ou un blog sans débourser un centime. GitHub Pages est la réponse la plus propre qui existe : aucune carte bancaire requise, un déploiement en quelques minutes, un HTTPS activé automatiquement. La solution est utilisée par des milliers de développeurs à travers le monde, des étudiants qui construisent leur première page aux équipes open source qui documentent leurs projets.
Mais GitHub Pages n’est pas un hébergement universel. Ses limites sont précises, ses conditions d’utilisation souvent mal comprises, et les tutoriels qui circulent évitent soigneusement de mentionner ce que la plateforme interdit. Ce guide ne fait pas ce choix.
Vous y trouverez le tutoriel complet, étape par étape, avec les commandes exactes. Vous y trouverez aussi les quotas officiels, l’interdiction commerciale telle qu’elle est formulée dans les CGU de GitHub, et un tableau comparatif des alternatives. Enfin, si GitHub Pages ne correspond pas à votre projet, la dernière partie vous explique comment migrer vers un hébergement dynamique sans tout reconstruire.
Récap 👇
ToggleCe qu’est GitHub Pages et à qui il s’adresse
Un hébergement de sites statiques adossé à un dépôt Git
GitHub Pages est le service d’hébergement statique de GitHub. Il prend le contenu d’un dépôt Git : fichiers HTML, CSS, JavaScript, images et le publie sur le web via un sous-domaine github.io ou un nom de domaine personnalisé. Chaque push sur la branche configurée déclenche un nouveau déploiement. Pas de panneau d’administration, pas de FTP : le workflow est entièrement git-natif.
Le service supporte Jekyll nativement. Poussez un projet Jekyll sur GitHub, et GitHub construit automatiquement le site sans que vous ayez à configurer quoi que ce soit. Hugo, Eleventy, Astro et les autres générateurs statiques fonctionnent également, via GitHub Actions.
GitHub Pages est disponible gratuitement pour tous les comptes GitHub Free, à condition que le dépôt soit public. Les dépôts privés nécessitent un plan GitHub Pro, Team ou Enterprise.
Les cas d’usage idéaux : portfolio, documentation, blog statique, projet open source
GitHub Pages excelle dans quatre situations précises :
- Portfolio de développeur ou de designer : publication rapide, URL propre, mise à jour en un commit.
- Documentation technique : des projets comme Bootstrap, Jekyll ou Vue.js hébergent leur documentation officielle sur GitHub Pages.
-
Blog statique : avec Jekyll ou Hugo, vous rédigez en Markdown et publiez en un
git push. - Landing page de projet open source : idéal pour présenter un projet sans frais fixes.
Ces cas partagent un point commun : il n’y a rien à vendre, aucune base de données à interroger, aucune logique côté serveur à exécuter.
➡️ 3 sites gratuits pour héberger ton site web en 2026 (et ce qu’il faut savoir avant de foncer)
Héberger un site sur GitHub Pages, étape par étape
Créer un dépôt et y placer ses fichiers
La règle de nommage est simple : pour un site utilisateur, le dépôt doit s’appeler exactement username.github.io, où username correspond à votre nom d’utilisateur GitHub. Ce dépôt sera publié à l’adresse https://username.github.io.
Pour les autres projets, le nom du dépôt peut être quelconque, le site sera alors accessible à https://username.github.io/nom-du-depot.
Créez le dépôt depuis l’interface GitHub ou en ligne de commande :
# Initialiser un dépôt local et le pousser vers GitHub
git init
git add .
git commit -m "Initial commit"
git remote add origin https://github.com/username/username.github.io.git
git push -u origin main
À minima, placez un fichier index.html à la racine du dépôt. GitHub Pages le servira comme page d’accueil.
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8" />
<title>Mon site</title>
</head>
<body>
<h1>Bonjour depuis GitHub Pages</h1>
</body>
</html>
Activer GitHub Pages dans les réglages du dépôt
- Ouvrez votre dépôt sur GitHub.
- Cliquez sur Settings (onglet en haut à droite).
- Dans le menu latéral gauche, sélectionnez Pages.
- Vous arrivez sur la section « GitHub Pages ».
C’est ici que tout se configure : la source de déploiement, la branche, le dossier, et éventuellement le domaine personnalisé.
Choisir la branche et le dossier source
Dans la section Source, choisissez :
- Deploy from a branch : GitHub Pages surveille une branche spécifique et déploie automatiquement à chaque push.
- La branche source : en général
mainough-pages. - Le dossier source :
/ (root)pour publier depuis la racine, ou/docssi vous préférez isoler le contenu publié dans un sous-dossier.
Après validation, GitHub construit et publie votre site. Comptez une à deux minutes pour le premier déploiement. L’URL de votre site apparaît directement dans la section Pages une fois le build terminé.
Publier avec un générateur statique comme Jekyll ou Hugo
Avec Jekyll (intégration native) :
# Installer Jekyll et Bundler
gem install jekyll bundler
# Créer un nouveau projet Jekyll
jekyll new mon-site
cd mon-site
# Tester en local
bundle exec jekyll serve
Poussez ensuite le dossier sur GitHub. GitHub Pages détecte automatiquement un projet Jekyll et le compile lors de chaque push, sans GitHub Actions supplémentaire.
Avec Hugo (via GitHub Actions) :
# Créer un projet Hugo
hugo new site mon-site
cd mon-site
# Ajouter un thème (exemple : Ananke)
git init
git submodule add https://github.com/theNewDynamic/gohugo-theme-ananke.git themes/ananke
echo "theme = 'ananke'" >> hugo.toml
# Tester en local
hugo server
Créez ensuite le fichier .github/workflows/hugo.yml pour automatiser le build :
name: Deploy Hugo site to GitHub Pages
on:
push:
branches: ["main"]
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: peaceiris/actions-hugo@v3
with:
hugo-version: "latest"
- run: hugo --minify
- uses: actions/upload-pages-artifact@v3
with:
path: ./public
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/deploy-pages@v4
id: deployment
Dans les réglages Pages du dépôt, passez la source sur GitHub Actions plutôt que sur une branche.
Connecter un nom de domaine personnalisé et activer HTTPS
Côté hébergeur DNS :
Ajoutez un enregistrement CNAME qui pointe votre sous-domaine vers username.github.io :
www.mondomaine.com. CNAME username.github.io.
Pour un domaine apex (mondomaine.com sans www), ajoutez quatre enregistrements A pointant vers les adresses IP de GitHub Pages :
185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
Côté GitHub :
- Dans Settings > Pages, renseignez votre domaine dans le champ Custom domain.
- GitHub crée automatiquement un fichier
CNAMEdans votre dépôt. - Cochez Enforce HTTPS : disponible après propagation DNS (jusqu’à 24 heures pour les domaines apex).
Le certificat TLS est émis et renouvelé automatiquement via Let’s Encrypt. Aucune action manuelle requise.
Les limites réelles de l’hébergement gratuit GitHub
Sites statiques uniquement : pas de backend, pas de base de données
GitHub Pages sert uniquement des fichiers statiques : HTML, CSS, JavaScript, images, polices. Il n’exécute aucun code côté serveur. PHP, Node.js, Python, Ruby, rien de tout cela ne tourne sur GitHub Pages. Pas de base de données, pas de sessions, pas de traitement de formulaires.
Si votre site a besoin d’une API, elle devra être hébergée ailleurs. GitHub Pages peut appeler une API externe depuis le navigateur, mais il ne peut pas en héberger une.
L’usage commercial est interdit par les conditions d’utilisation
C’est la limite que la plupart des tutoriels omettent. Les CGU de GitHub sont pourtant explicites (GitHub Terms for Additional Products and Features, version du 27 avril 2026) :
« GitHub Pages is not intended for or allowed to be used as a free web hosting service to run your online business, e-commerce site, or any other website that is primarily directed at either facilitating commercial transactions or providing commercial software as a service (SaaS). »
En clair : une boutique en ligne, un site SaaS, ou tout site dont la fonction principale est de générer des revenus commerciaux est interdit sur GitHub Pages. GitHub autorise les boutons de donation et les liens vers des campagnes de crowdfunding, mais pas la vente directe.
GitHub se réserve le droit de désactiver votre site sans préavis en cas de non-respect des conditions.
Les quotas de taille et de bande passante à connaître
Voici les limites officielles publiées dans la documentation GitHub (GitHub Pages Limits) :
| Paramètre | Limite |
|---|---|
| Taille du dépôt source | 1 Go recommandé |
| Taille du site publié | 1 Go maximum |
| Bande passante mensuelle | 100 Go (soft limit) |
| Builds par heure | 10 (soft limit, sauf GitHub Actions) |
| Timeout de déploiement | 10 minutes |
| Sites par compte | 1 site utilisateur ou organisation |
« Soft limit » signifie que GitHub peut vous contacter ou limiter votre site si vous dépassez ces seuils, sans blocage automatique immédiat. Il n’y a pas de SLA. Si votre site est indisponible, il n’y a aucun engagement de rétablissement.
Le sous-domaine github.io et ses implications
Votre site est publié par défaut sous username.github.io. Ce sous-domaine appartient à GitHub. GitHub se réserve le droit de le reprendre à tout moment, sans compensation. Si GitHub modifie ses conditions ou décide de fermer le service Pages, votre présence en ligne disparaît avec lui.
Un domaine personnalisé corrige partiellement ce problème, vous gardez votre adresse mais le contenu reste dépendant de l’infrastructure GitHub. Aucune garantie de disponibilité, aucun contrat de service.
➡️ Hébergeur site web gratuit : les meilleures solutions gratuites (et leurs vraies limites) en 2026
Les alternatives gratuites pour sites statiques
Netlify, Vercel, GitLab Pages, Firebase Hosting
Quatre alternatives méritent d’être connues avant de choisir GitHub Pages :
Netlify propose un tier gratuit avec un hard limit de 300 crédits par mois (bande passante + compute + déploiements). L’usage commercial est autorisé sur le plan gratuit. Netlify intègre nativement la gestion de formulaires, les fonctions serverless légères, les tests A/B et l’authentification, fonctionnalités absentes de GitHub Pages.
Vercel offre 100 Go de bande passante mensuelle en plan Hobby. Comme GitHub Pages, l’usage commercial est explicitement interdit sur le plan gratuit. Vercel est particulièrement optimisé pour les frameworks React/Next.js.
GitLab Pages fonctionne de manière similaire à GitHub Pages et supporte tous les générateurs statiques via le CI/CD GitLab. Disponible gratuitement pour les projets publics et privés. Aucune restriction explicite sur l’usage commercial, mais les ressources CI/CD gratuites sont limitées.
Firebase Hosting (Google) donne accès à 10 Go de stockage et 360 Mo par jour de transfert de données dans son plan gratuit. Le CDN mondial de Google assure des performances élevées. Idéal si votre stack est déjà dans l’écosystème Google/Firebase.
Tableau comparatif des hébergements statiques gratuits
| Service | Bande passante gratuite | Stockage | Usage commercial | Backend/DB | Domaine perso | HTTPS auto |
|---|---|---|---|---|---|---|
| GitHub Pages | 100 Go/mois (soft) | 1 Go | ❌ Interdit | ❌ | ✅ | ✅ |
| Netlify (Free) | 300 crédits/mois (hard) | Non précisé | ✅ Autorisé | Fonctions légères | ✅ | ✅ |
| Vercel (Hobby) | 100 Go/mois | Non précisé | ❌ Interdit | Fonctions légères | ✅ | ✅ |
| GitLab Pages | Non limitée explicitement | Non précisé | ✅ Non restreint | ❌ | ✅ | ✅ |
| Firebase Hosting | 360 Mo/jour | 10 Go | ✅ Autorisé | Via Firebase | ✅ | ✅ |
Toutes ces alternatives partagent la même contrainte fondamentale : elles sont conçues pour des sites statiques. Dès que votre projet nécessite une logique serveur réelle, une base de données relationnelle ou des transactions financières, aucune d’entre elles ne suffit.
Quand GitHub Pages ne suffit plus
Vous avez besoin d’un backend ou d’une base de données
Un site dynamique, c’est un site qui adapte son contenu en temps réel : un profil utilisateur, un panier, un tableau de bord, un moteur de recherche interne. Ces fonctionnalités exigent un serveur qui exécute du code et une base de données qui stocke des données structurées.
GitHub Pages ne peut pas exécuter de PHP, de Node.js ou de Python côté serveur. Il ne peut pas connecter de MySQL, de PostgreSQL ou de MongoDB. Si votre projet a besoin d’une de ces briques, vous avez besoin d’un hébergement réel.
Vous voulez vendre en ligne, ce que GitHub Pages interdit
La règle est nette : GitHub Pages ne peut pas héberger une boutique en ligne, un service SaaS payant, ou tout site dont la vocation principale est de faciliter des transactions commerciales. Ce n’est pas une interprétation, c’est le texte exact des CGU.
Utiliser GitHub Pages pour un site de vente expose à la désactivation sans préavis. Aucune migration d’urgence n’est prévue par GitHub.
Vous avez besoin de formulaires, d’emails ou de traitement côté serveur
Les formulaires de contact qui envoient des emails, les webhooks, les notifications push, les scripts de traitement de fichiers tout cela nécessite un serveur. GitHub Pages ne traite rien côté serveur. Des services tiers comme Formspree ou EmailJS permettent de contourner partiellement ce problème pour des cas simples, mais avec des limites importantes et une dépendance à des plateformes externes.
Passer du statique gratuit à un hébergement dynamique sans tout refaire
La migration ne signifie pas réécrire votre site depuis zéro. Si vous avez construit votre site avec Jekyll ou Hugo, le contenu Markdown est réutilisable dans un CMS comme WordPress. Si vous avez développé un frontend React ou Vue, il peut rester tel quel, seul le backend et l’hébergement changent.
La démarche concrète :
- Exporter votre contenu : récupérez vos fichiers Markdown, vos images et vos assets depuis votre dépôt Git.
- Choisir un CMS ou un framework backend : WordPress pour les sites éditoriaux, Laravel ou Node.js pour les applications custom.
- Pointer votre domaine vers le nouvel hébergeur : votre nom de domaine personnalisé reste le vôtre. Seul l’enregistrement DNS change.
- Tester avant de basculer : un hébergement mutualisé de qualité permet de faire tourner votre nouveau site en parallèle avant de couper l’ancien.
Héberger un site dynamique ou commercial avec Systalink
GitHub Pages et ses alternatives gratuites ont une frontière commune : celle du statique. Quand votre projet la dépasse, Systalink prend le relais avec une infrastructure conçue pour l’Afrique de l’Ouest : datacenters à Dakar, facturation en FCFA, support en français.
Hébergement web dès 825 FCFA par mois, VPS dès 6 400 FCFA par mois
L’hébergement mutualisé Systalink (à partir de 825 FCFA par mois en offre promotionnelle) est la première marche au-dessus du statique gratuit. Il prend en charge PHP, MySQL 8.0, WordPress, Joomla et PrestaShop. Vous pouvez y déployer un site dynamique, un blog avec commentaires, un formulaire de contact qui envoie des emails, ou une petite boutique e-commerce tout ce que GitHub Pages interdit.
Le plan Starter inclut 50 Go de stockage, deux sites hébergés, deux adresses email professionnelles, des sauvegardes automatiques quotidiennes et un certificat SSL. C’est le passage naturel depuis un site statique qui commence à avoir besoin de PHP ou d’une base de données.
Pour les projets qui nécessitent un contrôle total de l’environnement serveur : configuration personnalisée, accès root, déploiement de stacks Node.js ou Python, ou gestion de plusieurs applications, les VPS Systalink démarrent à 6 400 FCFA par mois. Ces serveurs virtuels privés sont hébergés dans les datacenters sénégalais de Diamniadio et Rufisque, avec une latence réduite pour les utilisateurs d’Afrique de l’Ouest.
Serverless et bases de données managées pour les projets qui grandissent
L’infrastructure Systalink repose sur Nutanix et OpenStack, orchestrés via Kubernetes. Concrètement, cela signifie que vos ressources s’ajustent à la demande, sans redémarrage ni interruption. Si votre trafic double en une journée lors d’une campagne ou d’un pic viral, le serveur absorbe la charge. Vous ne découvrez pas votre site hors ligne le lendemain matin.
Les bases de données MySQL sont incluses dans tous les plans d’hébergement mutualisé, avec phpMyAdmin pour l’administration. Les plans Pro et Agence ajoutent Node.js, Python et un accès SSH, pour les équipes qui préfèrent déployer par ligne de commande.
Infrastructure à Dakar, paiement en FCFA ou en euros, support en français
Chaque serveur Systalink est physiquement situé au Sénégal. Pour un site à destination d’un public ouest-africain, la latence locale est un avantage direct sur la vitesse de chargement et donc sur le référencement. Les données restent sous juridiction sénégalaise, ce qui simplifie la conformité réglementaire pour les projets opérant localement.
Le paiement s’effectue en FCFA, en euros, par carte bancaire, Wave ou Orange Money. Aucune carte internationale requise. La facturation est prévisible : pas de conversion de devises, pas de frais cachés liés aux fluctuations du dollar.
Le support technique est disponible 24 h/24, 7 j/7, avec des équipes basées localement. Pour un développeur ou une petite entreprise qui migre d’un hébergement gratuit vers une infrastructure professionnelle, l’accompagnement en français et la compréhension du contexte local font une différence concrète.
→ Découvrir les offres d’hébergement Systalink
FAQ
GitHub Pages est-il vraiment gratuit et sans limite ?
GitHub Pages est gratuit, mais avec des limites précises. Le dépôt source ne doit pas dépasser 1 Go, le site publié non plus. La bande passante est limitée à 100 Go par mois (soft limit). Au-delà, GitHub peut vous contacter ou suspendre votre site. Il n’existe aucune garantie de disponibilité (SLA). Le service est gratuit tant que vous restez dans les quotas et respectez les conditions d’utilisation.
Peut-on héberger une boutique en ligne sur GitHub Pages ?
Non. Les CGU de GitHub interdisent explicitement d’utiliser GitHub Pages pour un site e-commerce, un site dont la fonction principale est de faciliter des transactions commerciales, ou un SaaS commercial. Cette interdiction est formulée dans les GitHub Terms for Additional Products and Features. GitHub se réserve le droit de désactiver tout site qui ne respecte pas cette règle. Pour vendre en ligne, un hébergement mutualisé avec support PHP et MySQL comme les plans, Systalink est la solution adaptée.
Peut-on utiliser PHP ou une base de données sur GitHub Pages ?
Non. GitHub Pages sert uniquement des fichiers statiques. Aucun code n’est exécuté côté serveur : pas de PHP, pas de Node.js, pas de Python. Aucune base de données n’est disponible. Si votre site nécessite une de ces technologies, vous devez migrer vers un hébergement qui exécute un serveur applicatif : hébergement mutualisé, VPS ou infrastructure cloud.
Comment migrer d’un site GitHub Pages vers un hébergement dynamique ?
La migration se déroule en quatre étapes : (1) récupérez vos fichiers depuis votre dépôt Git : Markdown, assets, code HTML/CSS/JS ; (2) choisissez votre nouvel hébergement et configurez-y votre environnement (WordPress, Laravel, Node.js selon votre besoin) ; (3) mettez en place votre site sur le nouvel hébergement et testez-le avant de basculer ; (4) modifiez les enregistrements DNS de votre domaine personnalisé pour pointer vers le nouvel hébergeur. Votre domaine reste le vôtre, seule la destination change. La plupart des hébergeurs proposent une migration assistée. Systalink inclut une migration gratuite depuis tout autre hébergeur.