À 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 Server, 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.
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 Server, 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 votre instance GitHub Enterprise Server.
Pour publier un site d’utilisateur, vous devez créer un dépôt appartenant à votre compte personnel, nommé <username>.<hostname>
. Pour publier un site d’organisation, vous devez créer un dépôt appartenant à une organisation, nommé <organization>.<hostname>
.
Les fichiers sources d’un site de projet sont stockés dans le même dépôt que leur projet.
Vous ne pouvez créer qu’un seul utilisateur ou site d’organisation pour chaque compte sur GitHub Enterprise Server. Les sites de projet, qu’ils appartiennent à un compte d’organisation ou personnel, sont illimités.
L’URL à laquelle votre site est disponible dépend de l’activation de l’isolation de sous-domaine pour votre instance GitHub Enterprise Server.
Type de site | Isolation de sous-domaine activée | Isolation de sous-domaine désactivée |
---|---|---|
Utilisateur | http(s)://pages.<hostname>/<username> | http(s)://<hostname>/pages/<username> |
Organisation | http(s)://pages.<hostname>/<organization> | http(s)://<hostname>/pages/<organization> |
Site de projet appartenant à un compte personnel | http(s)://pages.<hostname>/<username>/<repository>/ | http(s)://<hostname>/pages/<username>/<repository>/ |
Site de projet appartenant au compte d’organisation | http(s)://pages.<hostname>/<orgname>/<repository>/ | http(s)://<hostname>/pages/<orgname>/<repository>/ |
Pour plus d’informations, consultez « Activation de l’isolation de sous-domaine » ou contactez votre administrateur de site.
Publication de sources pour les sites GitHub Pages
Warning
Si l'administrateur de votre site a activé les pages publiques, les sites GitHub Pages sont accessibles au public sur internet, même si le référentiel du site est privé ou interne. 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 « Configuration de GitHub Pages pour votre entreprise » et « À 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. Pour utiliser GitHub Actions en tant que source de publication de GitHub Pages, un administrateur de site doit activer GitHub Actions pour GitHub Enterprise Server. Pour plus d’informations, consultez « Activation de GitHub Actions pour GitHub Enterprise Server ».
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 Server 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 Enterprise Server 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
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.
- 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.
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 »