Skip to main content

Gestion d’un domaine personnalisé pour votre site GitHub Pages

Vous pouvez configurer ou mettre à jour certains enregistrements DNS et vos paramètres de dépôt pour pointer le domaine par défaut de votre site GitHub Pages vers un domaine personnalisé.

Qui peut utiliser cette fonctionnalité ?

GitHub Pages est disponible dans les référentiels publics avec GitHub Free et GitHub Free pour les organisations, et dans les référentiels publics et privés avec GitHub Pro, GitHub Team, GitHub Enterprise Cloud et GitHub Enterprise Server. Pour plus d’informations, consultez « Plans de GitHub ».

GitHub Pages utilise désormais GitHub Actions pour exécuter la version de Jekyll. Lorsque vous utilisez une branche comme source de votre version, GitHub Actions doit être activé dans votre référentiel si vous souhaitez utiliser le flux de travail Jekyll prédéfini. Comme alternative, si GitHub Actions n’est pas disponible ou désactivé, l’ajout d’un fichier .nojekyll à la racine de votre branche source contournera le processus de version de Jekyll et déploiera le contenu directement. Pour plus d'informations sur l'activation des GitHub Actions, consultez « Gestion des paramètres de GitHub Actions pour un dépôt ».

Platform navigation

Les personnes disposant d’autorisations d’administrateur sur un dépôt peuvent configurer un domaine personnalisé pour un site GitHub Pages.

À propos de la configuration de domaines personnalisés

Tip

Nous vous recommandons de vérifier votre domaine personnalisé avant de l’ajouter à votre dépôt afin d’améliorer la sécurité et d’éviter les attaques de prise de contrôle. Pour plus d’informations, consultez « Vérification de votre domaine personnalisé pour GitHub Pages ».

Veillez à ajouter votre domaine personnalisé à votre site GitHub Pages avant de configurer votre domaine personnalisé auprès de votre fournisseur DNS. La configuration de votre domaine personnalisé auprès de votre fournisseur DNS sans ajouter votre domaine personnalisé à GitHub peut entraîner la possibilité pour une autre personne d’héberger un site sur un de vos sous-domaines.

La commande dig, qui peut être utilisée pour vérifier la configuration correcte des enregistrements DNS, n’est pas incluse dans Windows. Pour vérifier que vos enregistrements DNS sont configurés correctement, vous pouvez utiliser la commande PowerShell Resolve-DnsName ou installer BIND.

Note

Les changements de DNS peuvent prendre jusqu'à 24 heures pour se propager.

Configuration d’un domaine apex

Pour configurer un domaine apex, comme example.com, vous devez configurer un domaine personnalisé dans vos paramètres de dépôt et au moins un enregistrement ALIAS, ANAME ou A avec votre fournisseur DNS.

  1. Dans GitHub, accédez au dépôt de votre site.

  2. Sous le nom de votre dépôt, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

    Capture d’écran d’un en-tête de dépôt montrant les onglets. L’onglet « Paramètres » est mis en évidence avec un encadré orange foncé.

  3. Dans la section « Code et automatisation » de la barre latérale, cliquez sur Pages.

  4. Sous « Domaine personnalisé », entrez votre domaine personnalisé, puis cliquez sur Enregistrer. Si vous publiez votre site à partir d’une branche, cela crée un commit qui ajoute un fichier CNAME directement à la racine de votre branche source. Si vous publiez votre site avec un flux de travail GitHub Actions personnalisé, aucun fichier CNAME n’est créé. Vous devez donc en créer un manuellement (avec uniquement une ligne de texte avec votre domaine personnalisé). Pour plus d’informations sur votre source de publication, consultez Configuration d’une source de publication pour votre site GitHub Pages.

  5. Accédez à votre fournisseur DNS et créez un enregistrement ALIAS, ANAME ou A. Vous pouvez aussi créer des enregistrements AAAA pour la prise en charge d’IPv6. Si vous implémentez le support IPv6, nous vous recommandons vivement d’utiliser un enregistrement A en plus de votre enregistrement AAAA, en raison de la lenteur de l’adoption d’IPv6 à l’échelle mondiale. Pour plus d’informations sur la création de l’enregistrement approprié, consultez la documentation de votre fournisseur DNS.

    • Pour créer un enregistrement ALIAS ou ANAME, faites pointer votre domaine apex vers le domaine par défaut pour votre site. Pour plus d’informations sur le domaine par défaut de votre site, consultez « À propos de GitHub Pages ».

    • Pour créer des enregistrements A, faites pointer votre domaine apex vers les adresses IP pour GitHub Pages.

      185.199.108.153
      185.199.109.153
      185.199.110.153
      185.199.111.153
      
    • Pour créer des enregistrements AAAA, faites pointer votre domaine apex vers les adresses IP pour GitHub Pages.

      2606:50c0:8000::153
      2606:50c0:8001::153
      2606:50c0:8002::153
      2606:50c0:8003::153
      

    Warning

    Nous vous recommandons vivement de ne pas utiliser d’enregistrements DNS génériques, tels que *.example.com. Ces enregistrements vous exposent à un risque immédiat de prise de contrôle de domaine, même si vous vérifiez le domaine. Par exemple, si vous vérifiez example.com, vous empêchez un tiers d’utiliser a.example.com, mais cette personne peut toujours prendre le contrôle de b.a.example.com (couvert par l’enregistrement DNS générique). Pour plus d’informations, consultez « Vérification de votre domaine personnalisé pour GitHub Pages ».

  6. Ouvrez TerminalTerminalGit Bash.

  7. Pour vérifier que votre enregistrement DNS est correctement configuré, utilisez la commande dig, en remplaçant EXAMPLE.COM par votre domaine apex. Vérifiez que les résultats correspondent aux adresses IP pour GitHub Pages ci-dessus.

    • Pour les enregistrements A :

      $ dig EXAMPLE.COM +noall +answer -t A
      > EXAMPLE.COM    3600    IN A     185.199.108.153
      > EXAMPLE.COM    3600    IN A     185.199.109.153
      > EXAMPLE.COM    3600    IN A     185.199.110.153
      > EXAMPLE.COM    3600    IN A     185.199.111.153
      
    • Pour les enregistrements AAAA :

      $ dig EXAMPLE.COM +noall +answer -t AAAA
      > EXAMPLE.COM     3600    IN AAAA     2606:50c0:8000::153
      > EXAMPLE.COM     3600    IN AAAA     2606:50c0:8001::153
      > EXAMPLE.COM     3600    IN AAAA     2606:50c0:8002::153
      > EXAMPLE.COM     3600    IN AAAA     2606:50c0:8003::153
      

      N’oubliez pas de vérifier également votre enregistrement A.

  8. Si vous utilisez un générateur de site statique pour générer votre site localement et poussez les fichiers générés vers GitHub, tirez le commit qui a ajouté le fichier CNAME à votre dépôt local. Pour plus d’informations, consultez « Résolution des problèmes liés aux domaines personnalisés et aux pages GitHub Pages ».

  9. Pour appliquer un chiffrement HTTPS à votre site, vous pouvez sélectionner Appliquer le protocole HTTPS. Jusqu’à 24 heures peuvent s’écouler avant que cette option soit disponible. Pour plus d’informations, consultez « Sécurisation de votre site GitHub Pages avec HTTPS ».

Configuration d’un domaine apex et de la variante de sous-domaine www

Note

La configuration d’un sous-domaine www avec un domaine apex est recommandée pour les sites web sécurisés HTTPS.

Si vous utilisez un domaine apex comme domaine personnalisé, nous vous recommandons également de configurer un sous-domaine www. Si vous configurez les enregistrements appropriés pour chaque type de domaine à travers votre fournisseur DNS, GitHub Pages crée automatiquement les redirections entre les domaines. Par exemple, si vous configurez www.example.com comme domaine personnalisé pour votre site et que vous avez des enregistrements DNS GitHub Pages configurés pour les domaines www et apex, example.com redirige vers www.example.com. Notez que les redirections automatiques s’appliquent uniquement au sous-domaine www. Les redirections automatiques ne s’appliquent à aucun autre sous-domaine, par exemple, blog. Pour plus d’informations, consultez Configuration d’un sous-domaine.

Accédez à votre fournisseur DNS et créez un enregistrement CNAME pour le sous-domaine www qui fait pointer vers votre domaine GitHub Pages par défaut. Par exemple, si votre site se trouve sur <user>.github.io, vous devez créer un enregistrement CNAME qui fait pointer www.example.com vers <user>.github.io. De même, pour un site d’organisation situé sur <organization>.github.io, vous devez créer un enregistrement CNAME qui fait pointer www.example.com vers <organization>.github.io. Vérifiez que l’enregistrement CNAME pointe directement vers <user>.github.io ou <organization>.github.io, sans inclure le nom du référentiel.

Pour plus d’informations sur la création de l’enregistrement approprié, consultez la documentation de votre fournisseur DNS. Pour plus d’informations sur le domaine par défaut de votre site, consultez « À propos de GitHub Pages ».

Configuration d’un sous-domaine

Pour configurer un sous-domaine www ou personnalisé, comme www.example.com ou blog.example.com, vous devez ajouter votre domaine dans les paramètres du dépôt. Ensuite, configurez un enregistrement CNAME auprès de votre fournisseur DNS.

  1. Dans GitHub, accédez au dépôt de votre site.

  2. Sous le nom de votre dépôt, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

    Capture d’écran d’un en-tête de dépôt montrant les onglets. L’onglet « Paramètres » est mis en évidence avec un encadré orange foncé.

  3. Dans la section « Code et automatisation » de la barre latérale, cliquez sur Pages.

  4. Sous « Domaine personnalisé », entrez votre domaine personnalisé, puis cliquez sur Enregistrer. Si vous publiez votre site à partir d’une branche, cela crée un commit qui ajoute un fichier CNAME directement à la racine de votre branche source. Si vous publiez votre site avec un flux de travail GitHub Actions personnalisé, aucun fichier CNAME n’est créé. Vous devez donc en créer un manuellement (avec uniquement une ligne de texte avec votre domaine personnalisé). Pour plus d’informations sur votre source de publication, consultez Configuration d’une source de publication pour votre site GitHub Pages.

    Note

    Si votre domaine personnalisé est un nom de domaine internationalisé, vous devez entrer la version Punycode encodée.

    Pour plus d’informations sur Punycode, consultez Nom de domaine internationalisé.

  5. Accédez à votre fournisseur DNS et créez un enregistrement CNAME qui fait pointer votre sous-domaine vers le domaine par défaut de votre site. Par exemple, si vous voulez utiliser le sous-domaine www.example.com pour votre site utilisateur, créez un enregistrement CNAME qui fait pointer www.example.com vers <user>.github.io. Si vous voulez utiliser le sous-domaine another.example.com pour votre site d’organisation, créez un enregistrement CNAME qui fait pointer another.example.com vers <organization>.github.io. L’enregistrement CNAME doit toujours pointer vers <user>.github.io ou vers <organization>.github.io, à l’exclusion du nom du dépôt. Pour plus d’informations sur la création de l’enregistrement approprié, consultez la documentation de votre fournisseur DNS. Pour plus d’informations sur le domaine par défaut de votre site, consultez « À propos de GitHub Pages ».

    Warning

    Nous vous recommandons vivement de ne pas utiliser d’enregistrements DNS génériques, tels que *.example.com. Ces enregistrements vous exposent à un risque immédiat de prise de contrôle de domaine, même si vous vérifiez le domaine. Par exemple, si vous vérifiez example.com, vous empêchez un tiers d’utiliser a.example.com, mais cette personne peut toujours prendre le contrôle de b.a.example.com (couvert par l’enregistrement DNS générique). Pour plus d’informations, consultez « Vérification de votre domaine personnalisé pour GitHub Pages ».

  6. Ouvrez TerminalTerminalGit Bash.

  7. Pour vérifier que votre enregistrement DNS est correctement configuré, utilisez la commande dig, en remplaçant WWW.EXAMPLE.COM par votre sous-domaine.

    $ dig WWW.EXAMPLE.COM +nostats +nocomments +nocmd
    > ;WWW.EXAMPLE.COM.                    IN      A
    > WWW.EXAMPLE.COM.             3592    IN      CNAME   YOUR-USERNAME.github.io.
    > YOUR-USERNAME.github.io.      43192   IN      CNAME   GITHUB-PAGES-SERVER .
    > GITHUB-PAGES-SERVER .         22      IN      A       192.0.2.1
    
  8. Si vous utilisez un générateur de site statique pour générer votre site localement et poussez les fichiers générés vers GitHub, tirez le commit qui a ajouté le fichier CNAME à votre dépôt local. Pour plus d’informations, consultez « Résolution des problèmes liés aux domaines personnalisés et aux pages GitHub Pages ».

  9. Pour appliquer un chiffrement HTTPS à votre site, vous pouvez sélectionner Appliquer le protocole HTTPS. Jusqu’à 24 heures peuvent s’écouler avant que cette option soit disponible. Pour plus d’informations, consultez « Sécurisation de votre site GitHub Pages avec HTTPS ».

    Note

    Si vous pointez votre sous-domaine personnalisé vers votre domaine apex, vous rencontrerez des problèmes liés à l’application du protocole HTTPS à votre site web, et vous pouvez rencontrer des problèmes où votre sous-domaine n’atteint pas votre site GitHub Pages.

Enregistrement DNS pour votre domaine personnalisé

Si vous connaissez le processus de configuration de votre domaine pour un site GitHub Pages, vous pouvez utiliser le tableau ci-dessous pour rechercher les valeurs DNS de votre scénario spécifique et les types d’enregistrements DNS pris en charge par votre fournisseur DNS. Pour plus d’informations, notamment comment configurer votre site GitHub Pages sur GitHub et comment vérifier la configuration à l’aide de la commande dig, reportez-vous aux sections ci-dessus.

Pour configurer un domaine apex, il vous suffit de choisir un seul type d’enregistrement DNS dans le tableau ci-dessous. Pour configurer un domaine apex et un sous-domaine www (par exemple, example.com et www.example.com), configurez le domaine apex, puis le sous-domaine. Pour plus d’informations, consultez Configuration d’un domaine apex et de la variante de sous-domaine www.

Warning

Nous vous recommandons vivement de ne pas utiliser d’enregistrements DNS génériques, tels que *.example.com. Ces enregistrements vous exposent à un risque immédiat de prise de contrôle de domaine, même si vous vérifiez le domaine. Par exemple, si vous vérifiez example.com, vous empêchez un tiers d’utiliser a.example.com, mais cette personne peut toujours prendre le contrôle de b.a.example.com (couvert par l’enregistrement DNS générique). Pour plus d’informations, consultez « Vérification de votre domaine personnalisé pour GitHub Pages ».

ScénarioType d’enregistrement DNSNom d’enregistrement DNSValeur(s) d’enregistrement DNS
Domaine apex
(example.com)
A@185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
Domaine apex
(example.com)
AAAA@2606:50c0:8000::153
2606:50c0:8001::153
2606:50c0:8002::153
2606:50c0:8003::153
Domaine apex
(example.com)
ALIAS ou ANAME@USERNAME.github.io ou
ORGANIZATION.github.io
Sous-domaine
(www.example.com,
blog.example.com)
CNAMESUBDOMAIN.example.com.USERNAME.github.io ou
ORGANIZATION.github.io

Suppression d’un domaine personnalisé

Si vous obtenez une erreur relative à la prise d’un domaine personnalisé, vous devrez peut-être supprimer celui-ci d’un autre dépôt.

  1. Dans GitHub, accédez au dépôt de votre site.

  2. Sous le nom de votre dépôt, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

    Capture d’écran d’un en-tête de dépôt montrant les onglets. L’onglet « Paramètres » est mis en évidence avec un encadré orange foncé.

  3. Dans la section « Code et automatisation » de la barre latérale, cliquez sur Pages.

  4. Sous « Domaine personnalisé », cliquez sur Supprimer.

    Capture d’écran d’une zone de paramètres pour enregistrer ou supprimer un domaine personnalisé sur GitHub Pages. À droite d’une zone de texte contenant « example.com » se trouve un bouton intitulé « Supprimer » en rouge.

Sécurisation de votre domaine personnalisé

Si votre site GitHub Pages est désactivé, mais qu’un domaine personnalisé est configuré, il est exposé à un risque de prise de contrôle du domaine. Avoir un domaine personnalisé configuré avec votre fournisseur DNS alors que votre site est désactivé peut potentiellement laisser une autre personne héberger un site sur l’un de vos sous-domaines.

La vérification de votre domaine personnalisé empêche les autres utilisateurs GitHub d’utiliser votre domaine avec leurs dépôts. Si votre domaine n’est pas vérifié et que votre site GitHub Pages est désactivé, vous devez tout de suite mettre à jour ou supprimer vos enregistrements DNS avec votre fournisseur DNS. Pour plus d’informations, consultez Vérification de votre domaine personnalisé pour GitHub Pages.

Pour aller plus loin