Skip to main content

À propos de la crĂ©ation d’applications GitHub

Les GitHub Apps vous permettent de générer des intégrations pour automatiser les processus et étendre les fonctionnalités de GitHub.

À propos de GitHub Apps

Une GitHub App est un type d’intĂ©gration que vous pouvez crĂ©er pour interagir avec les fonctionnalitĂ©s de GitHub et les Ă©tendre. Vous pouvez crĂ©er une GitHub App pour offrir de la flexibilitĂ© et rĂ©duire les frictions dans vos processus, sans avoir besoin de connecter un utilisateur ou de crĂ©er un compte de service.

Les cas d’usage courants pour les GitHub Apps sont les suivants :

  • Automatisation des tĂąches ou des processus en arriĂšre-plan
  • Prise en charge de « Se connecter avec GitHub Â», qui permet aux utilisateurs de se connecter avec leur compte GitHub pour fournir leur identitĂ© dans votre Ă©cosystĂšme
  • Comme outil de dĂ©veloppement, permettre aux utilisateurs d’utiliser GitHub en se connectant Ă  votre GitHub App, laquelle peut ensuite agir en leur nom
  • IntĂ©gration de votre outil ou service externe Ă  GitHub

Comme les OAuth apps, une GitHub Apps utilise OAuth 2.0 et peut agir pour le compte d’un utilisateur. Contrairement aux OAuth apps, les GitHub Apps peuvent aussi agir indĂ©pendamment d’un utilisateur.

GitHub Apps peut ĂȘtre installĂ© directement sur les entreprises, les organisations et les comptes personnels, et peut donner accĂšs Ă  des rĂ©fĂ©rentiels spĂ©cifiques. Elles sont fournies avec des webhooks intĂ©grĂ©s et des autorisations spĂ©cifiques et limitĂ©es.

Vous pouvez Ă©galement crĂ©er une GitHub App appartenant Ă  l'entreprise qui ne peut ĂȘtre installĂ©e que sur l'entreprise elle-mĂȘme ou les organisations au sein de votre entreprise, et qui ne peut ĂȘtre autorisĂ©e que par les membres de votre entreprise. Pour plus d’informations, consultez « CrĂ©ation d’applications GitHub pour votre entreprise Â».

Par dĂ©faut, seuls les propriĂ©taires d’organisation peuvent gĂ©rer les paramĂštres des applications GitHub dans une organisation. Pour permettre Ă  d’autres utilisateurs de modifier les paramĂštres de dĂ©veloppeur des applications GitHub appartenant Ă  l’organisation, un propriĂ©taire peut leur accorder des autorisations de gestionnaire d’applications GitHub. Les gestionnaires d’applications GitHub ne peuvent pas gĂ©rer les applications tierces. Pour plus d’informations sur l’ajout et la suppression de gestionnaires d’applications GitHub dans votre organisation, consultez RĂŽles dans une organisation.

Créer une GitHub App

Pour gĂ©nĂ©rer une GitHub App, vous devez d’abord inscrire une GitHub App. Pour plus d’informations, consultez « Inscription d’une application GitHub Â».

Ensuite, vous devez Ă©crire du code pour ajouter des fonctionnalitĂ©s Ă  votre GitHub App. Vous pouvez utiliser les informations d’identification de votre inscription d’GitHub App pour effectuer des requĂȘtes authentifiĂ©es auprĂšs des API GitHub. Pour plus d’informations sur l’écriture de code pour votre GitHub App, consultez « Ă€ propos de l’écriture de code pour une application GitHub Â». Pour plus d’informations sur la crĂ©ation de requĂȘtes authentifiĂ©es, consultez « Ă€ propos de l’authentification avec une application GitHub Â».

Une fois que vous avez Ă©crit le code de votre GitHub App, votre application doit s’exĂ©cuter quelque part. Si votre application est un site web ou une application web, vous pouvez hĂ©berger votre application sur un serveur comme Azure App Service. Si votre application est une application cĂŽtĂ© client, elle peut s’exĂ©cuter sur l’appareil d’un utilisateur.

Pour utiliser votre GitHub App, vous devez l'installer sur votre entreprise, organisation ou compte personnel.

  • Si votre GitHub App est privĂ©e, elle peut ĂȘtre installĂ©e uniquement sur le compte propriĂ©taire de l’application.
  • Si votre GitHub App est public, d'autres comptes peuvent Ă©galement l'installer.
  • Si votre GitHub App appartient Ă  une entreprise, vous pouvez l'installer sur l'entreprise elle-mĂȘme ou n'importe quelle organisation au sein de cette entreprise. Seuls les membres de l'entreprise peuvent s'y connecter.

Pour plus d’informations, consultez « Installation de votre propre application GitHub Â» et « Partage de votre application GitHub Â».

PrĂ©sentation du type d’GitHub App Ă  crĂ©er

Il existe plusieurs façons de concevoir une GitHub App selon les fonctionnalitĂ©s que vous voulez que l’application ait.

GitHub Apps qui agissent au nom d’un utilisateur

Si vous souhaitez que votre application effectue des actions au nom d’un utilisateur, vous devez utiliser un jeton d’accĂšs utilisateur pour l’authentification. Ce type de demande est parfois appelĂ© « utilisateur Ă  serveur Â», ce qui signifie que l’application est limitĂ©e par les autorisations qui lui ont Ă©tĂ© accordĂ©es et par l’autorisation de l’utilisateur. Avec ce modĂšle, l’utilisateur doit autoriser l’application avant que celle-ci ne puisse effectuer des actions. Pour plus d’informations, consultez « Authentification auprĂšs d’une application GitHub pour le compte d’un utilisateur Â».

Voici quelques exemples d’automatisations que vous pouvez crĂ©er avec une GitHub App, oĂč l’application agit au nom d’un utilisateur :

  • Une GitHub App qui utilise GitHub comme fournisseur d’identitĂ© pour votre Ă©cosystĂšme.
  • Une GitHub App qui ajoute un service en plus de GitHub qui peut ĂȘtre utile Ă  un utilisateur GitHub. Vous pouvez partager l’application avec d’autres dĂ©veloppeurs via GitHub Marketplace ou en rendant l’application publique.

GitHub Apps qui agissent en leur nom

Si vous souhaitez que votre application effectue des actions en son nom, plutĂŽt qu’au nom d’un utilisateur, vous devez utiliser un jeton d’accĂšs d’installation pour l’authentification. Ce type de demande est parfois appelĂ© « serveur Ă  serveur Â», ce qui signifie que l’application est limitĂ©e par les autorisations qui lui ont Ă©tĂ© accordĂ©es. Pour plus d’informations, consultez « Installation de l’authentification en tant qu’application GitHub Â».

Voici quelques exemples d’automatisations que vous pouvez crĂ©er avec une GitHub App, oĂč l’application agit en son nom :

  • Une GitHub App qui utilise des webhooks pour rĂ©agir Ă  un Ă©vĂ©nement en fonction d’un certain ensemble de critĂšres. Par exemple, vous pouvez crĂ©er une automatisation autour des points de terminaison d’API REST pour examiner les demandes de fine-grained personal access token qui approuvent une demande en fonction d’une certaine stratĂ©gie.
  • Une GitHub App qui aide les contributeurs de dĂ©pĂŽt. Par exemple, l’application peut publier des ressources utiles une fois qu’un contributeur a créé une demande de tirage ou fait un commentaire.
  • Une GitHub App qui gĂ©nĂšre des jetons de courte durĂ©e Ă  donner Ă  d’autres outils CI/CD ou pour tirer (pull) les informations d’un dĂ©pĂŽt.

Des GitHub Apps qui répondent aux webhooks

Si vous souhaitez que votre application rĂ©ponde aux Ă©vĂ©nements sur GitHub, votre application doit s’abonner Ă  des webhooks. Par exemple, vous voudrez peut-ĂȘtre que votre application laisse un commentaire lorsqu’une demande de tirage est ouverte. Pour plus d’informations, consultez « Utilisation de webhooks avec des applications GitHub Â».

Les applications installĂ©es sur les entreprises ne prennent actuellement pas en charge les webhooks et doivent ĂȘtre installĂ©es sur une organisation pour les recevoir.

Des GitHub Apps pouvant effectuer certaines actions

Quand vous configurez votre GitHub App, vous pouvez sĂ©lectionner des autorisations spĂ©cifiques pour elle. Ces autorisations dĂ©terminent ce que l’application peut faire via l’API GitHub, ce qu’elle peut faire au nom d’un utilisateur connectĂ© et quels webhooks elle peut recevoir. Pour plus d’informations, consultez « Choix des autorisations pour une application GitHub Â».