À propos de GitHub Pages
GitHub Pages est un service d’hébergement de site statique qui prélève des fichiers HTML, CSS et JavaScript directement dans un dépôt sur GitHub, les exécute éventuellement dans un processus de génération, puis publie un site web. Vous pouvez voir des exemples de sites GitHub Pages dans la collection d’exemples GitHub Pages.
Vous pouvez héberger votre site sur le domaine github.io
de GitHub ou sur votre propre domaine personnalisé. Pour plus d’informations, consultez « Configuration d’un domaine personnalisé pour votre site GitHub Pages ».
Vous pouvez créer des sites GitHub Pages qui sont à la disposition de tous sur Internet. Les organisations qui utilisent GitHub Enterprise Cloud peuvent également publier des sites en privé en gérant leur contrôle d’accès. Pour plus d’informations, consultez « Modification de la visibilité de votre site GitHub Pages » dans la documentation GitHub Enterprise Cloud.
Pour bien démarrer, consultez Création d’un site GitHub Pages.
Les propriétaires d’organisation peuvent désactiver la publication de sites GitHub Pages à partir des dépôts de l’organisation. Pour plus d’informations, consultez « Gestion de la publication de sites GitHub Pages pour votre organisation ».
Types de sites GitHub Pages
Il existe trois types de sites GitHub Pages : projet, utilisateur et organisation. Les sites de projet sont connectés à un projet spécifique hébergé sur GitHub, comme une bibliothèque JavaScript ou une collection de recettes. Les sites des utilisateurs et des organisations sont connectés à un compte spécifique sur GitHub.com.
Pour publier un site d’utilisateur, vous devez créer un dépôt appartenant à votre compte personnel, nommé <username>.github.io
. Pour publier un site d’organisation, vous devez créer un dépôt appartenant à une organisation, nommé <organization>.github.io
. Sauf si vous utilisez un domaine personnalisé, les sites des utilisateurs et des organisations sont disponibles via http(s)://<username>.github.io
ou http(s)://<organization>.github.io
.
Les fichiers sources d’un site de projet sont stockés dans le même dépôt que leur projet. Sauf si vous utilisez un domaine personnalisé, les sites de projet sont disponibles via http(s)://<username>.github.io/<repository>
ou http(s)://<organization>.github.io/<repository>
.
Pour plus d’informations sur la façon dont les domaines personnalisés affectent l’URL de votre site, consultez À propos des domaines personnalisés et des pages GitHub.
Vous ne pouvez créer qu’un seul utilisateur ou site d’organisation pour chaque compte sur GitHub. Les sites de projet, qu’ils appartiennent à un compte d’organisation ou personnel, sont illimités.
Publication de sources pour les sites GitHub Pages
Warning
Les sites > GitHub Pages sont accessibles au public sur Internet, même si le référentiel du site est privé (si votre plan ou votre organisation le permet). Si vous avez des données sensibles dans le dépôt de votre site, vous pouvez les supprimer avant publication. Pour plus d’informations, consultez « À propos des dépôts ».
Vous pouvez publier votre site lorsque des modifications sont poussées vers une branche spécifique ou vous pouvez écrire un workflow GitHub Actions pour publier votre site.
Si vous n’avez pas besoin de contrôle sur le processus de génération de votre site, nous vous recommandons de publier votre site lorsque des modifications sont poussées vers une branche spécifique. Vous pouvez spécifier la branche et le dossier à utiliser comme source de publication. La branche source peut être n’importe quelle branche de votre dépôt, et le dossier source peut être la racine du dépôt (/
) sur la branche source ou un dossier /docs
de la branche source. Chaque fois que des modifications sont poussées vers la branche source, les modifications du dossier source sont publiées sur votre site GitHub Pages.
Si vous souhaitez utiliser un processus de génération autre que Jekyll ou si vous ne souhaitez pas qu’une branche dédiée contienne vos fichiers statiques compilés, nous vous recommandons d’écrire un workflow GitHub Actions pour publier votre site. GitHub fournit des modèles de workflow pour les scénarios de publication courants afin de vous aider à écrire votre workflow.
Pour plus d’informations, consultez « Configuration d’une source de publication pour votre site GitHub Pages ».
Générateurs de sites statiques
GitHub Pages publie tous les fichiers statiques que vous envoyez (push) à votre dépôt. Vous pouvez créer vos propres fichiers statiques ou utiliser un générateur de site statique pour générer votre site à votre place. Vous pouvez également personnaliser votre propre processus de génération localement ou sur un autre serveur.
Si vous utilisez un processus de génération personnalisé ou un générateur de site statique autre que Jekyll, vous pouvez écrire une action GitHub Actions pour générer et publier votre site. GitHub fournit des modèles de workflow pour plusieurs générateurs de sites statiques. Pour plus d’informations, consultez « Configuration d’une source de publication pour votre site GitHub Pages ».
Si vous publiez votre site à partir d’une branche source, GitHub Pages utilise Jekyll pour générer votre site par défaut. Si vous souhaitez utiliser un générateur de site statique autre que Jekyll, nous vous recommandons plutôt d’écrire une action GitHub Actions pour générer et publier votre site. Sinon, désactivez le processus de génération Jekyll en créant un fichier vide appelé .nojekyll
à la racine de votre source de publication, puis suivez les instructions de votre générateur de site statique pour générer votre site localement.
GitHub Pages ne prend pas en charge les langages côté serveur tels que PHP, Ruby ou Python.
Limites relatives à l’utilisation de GitHub Pages
Les sites GitHub Pages créés après le 15 juin 2016 et utilisant des domaines github.io
sont servis via HTTPS. Si vous avez créé votre site avant le 15 juin 2016, vous pouvez activer la prise en charge de HTTPS pour le trafic vers votre site. Pour plus d’informations, consultez « Sécurisation de votre site GitHub Pages avec HTTPS ».
Utilisations interdites
GitHub Pages n’est ni destiné, ni autorisé à être utilisé comme service d’hébergement web gratuit pour exécuter votre entreprise en ligne, votre site de commerce électronique ou tout autre site web visant principalement à faciliter des transactions commerciales ou à fournir un SaaS commercial. Les sites GitHub Pages ne devraient pas être utilisés pour des transactions sensibles telles que l’envoi de mots de passe ou de numéros de carte de crédit.
En outre, votre utilisation de GitHub Pages est régie par les conditions d’utilisation de GitHub, y compris les restrictions concernant les systèmes d’enrichissement rapide, les contenus sexuellement obscènes et les contenus ou activités violents ou menaçants.
Exercices de pédagogie
L’utilisation de GitHub Pages pour créer une copie d’un site web existant en tant qu’exercice d’apprentissage n’est pas interdite. Toutefois, en plus de vous conformer aux conditions d’utilisation du service de GitHub, vous devez écrire le code vous-même, le site ne doit pas collecter de données utilisateur, et vous devez mettre en évidence une clause d’exclusion de responsabilité sur le site indiquant que le projet n’est pas associé à l’original et a été créé uniquement à des fins pédagogiques.
Limites d’utilisation
Les sites GitHub Pages sont soumises aux limites d’utilisation suivantes :
-
Les référentiels sources GitHub Pages ont une limite recommandée de 1 Go. Pour plus d’informations, consultez À propos des fichiers volumineux sur GitHub
-
Les sites publiés GitHub Pages ne peuvent ne pas avoir une taille supérieure à 1 Go.
-
Les déploiements GitHub Pages expirent s’ils prennent plus de 10 minutes.
-
Les sites GitHub Pages ont une limite de bande passante souple de 100 Go par mois.
-
Les sites GitHub Pages ont une limite souple de 10 builds par heure. Cette limite ne s’applique pas si vous générez et publiez votre site avec un flux de travail GitHub Actions personnalisé.
-
Afin de fournir une même qualité de service pour tous les sites GitHub Pages, des limites de débit peuvent être appliquées. Ces limites de débit ne doivent pas interférer avec les utilisations légitimes de GitHub Pages. Si votre demande déclenche une limitation du débit, vous recevrez une réponse contenant le code d’état HTTP
429
, ainsi qu’un corps HTML informatif.
Si votre site dépasse ces quotas d’utilisation, il se peut que nous ne puissions pas le servir ou que vous receviez un e-mail poli de Support GitHub suggérant des stratégies de réduction de l’impact de votre site sur nos serveurs, dont la mise en place d’un réseau de distribution de contenu tiers (CDN) devant votre site, l’utilisation d’autres fonctionnalités GitHub telles que les versions, ou le passage à un autre service d’hébergement susceptible de mieux répondre à vos besoins.
Types MIM sur GitHub Pages
Un type MIME est un en-tête qu’un serveur envoie à un navigateur, fournissant des informations sur la nature et le format des fichiers que le navigateur a demandés. GitHub Pages prend en charge plus de 750 types MIME dans des milliers d’extensions de fichier. La liste des types MIME pris en charge est générée à partir du projet mime-db.
Bien que vous ne puissiez pas spécifier de types MIME personnalisés par fichier ou par dépôt, vous pouvez ajouter ou modifier des types MIME à utiliser sur GitHub Pages. Pour plus d’informations, consultez les recommandations relatives aux contributions mime-db.
Collecte de données
Quand un site GitHub Pages est visité, l’adresse IP du visiteur est journalisée et stockée à des fins de sécurité, que le visiteur se soit ou non connecté à GitHub. Pour plus d’informations sur les pratiques de sécurité de GitHub, consultez la Déclaration de confidentialité de GitHub.
Pour aller plus loin
- GitHub Pages sur GitHub Skills
- Points de terminaison d’API REST pour les référentiels