À 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 Enterprise Cloud, 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 ».
Sauf si votre entreprise utilise Enterprise Managed Users, vous pouvez choisir de publier des sites de projet publiquement ou 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. »
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 Enterprise Cloud, 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
.
Les fichiers sources d’un site de projet sont stockés dans le même dépôt que leur projet.
Si vous publiez votre site en privé, l’URL de votre site sera différente. Pour plus d’informations, consultez « Modification de la visibilité de votre site pages GitHub ».
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 Enterprise Cloud. Les sites de projet, qu’ils appartiennent à un compte d’organisation ou personnel, sont illimités.
Publication de sources pour les sites GitHub Pages
Avertissement : sauf si votre entreprise utilise Enterprise Managed Users, les sites GitHub Pages sont disponibles publiquement sur Internet par défaut, même si leur dépôt est privé ou interne. Vous pouvez publier un site en privé en gérant le contrôle d’accès à celui-ci. Autrement, 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 » et « Modification de la visibilité de votre site pages GitHub ».
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 Enterprise Cloud 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 ».
Limitations pour Enterprise Managed Users
Si vous êtes un compte d’utilisateur managé, votre utilisation de GitHub Pages est limitée.
- Les sites GitHub Pages ne peuvent être publiés qu’à partir de dépôts appartenant à des organisations.
- Les sites GitHub Pages sont toujours publiés en privé et vous ne pouvez pas modifier cette visibilité. Pour plus d’informations, consultez « Modification de la visibilité de votre site pages GitHub ».
- Vous ne pouvez pas créer de site d’organisation (site publié à partir d’un dépôt nommé
<organization>.github.io
)
Pour plus d’informations sur Enterprise Managed Users, consultez « À propos d’Enterprise Managed Users ».
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 Enterprise Cloud 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 dépôts 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.
Pour aller plus loin
- GitHub Pages sur GitHub Skills
- « Points de terminaison d’API REST pour les référentiels »