{"meta":{"title":"Gestion des comptes d’entreprise","intro":"Vous pouvez gérer votre compte d’entreprise et les organisations qu’il détient avec l’API GraphQL.","product":"GraphQL API","breadcrumbs":[{"href":"/fr/enterprise-cloud@latest/graphql","title":"GraphQL API"},{"href":"/fr/enterprise-cloud@latest/graphql/guides","title":"Guides"},{"href":"/fr/enterprise-cloud@latest/graphql/guides/managing-enterprise-accounts","title":"Gérer des comptes d’entreprise"}],"documentType":"article"},"body":"# Gestion des comptes d’entreprise\n\nVous pouvez gérer votre compte d’entreprise et les organisations qu’il détient avec l’API GraphQL.\n\n## À propos de la gestion des comptes d’entreprise avec GraphQL\n\nPour vous aider à superviser et à apporter des modifications dans vos organisations et à maintenir la conformité, vous pouvez utiliser l’API Enterprise Accounts et l’API Audit Log, qui sont disponibles uniquement en tant qu’API GraphQL.\n\nLes points de terminaison de compte d’entreprise fonctionnent à la fois pour GitHub Enterprise Cloud et pour GitHub Enterprise Server.\n\nGraphQL vous permet de demander et de retourner uniquement les données que vous spécifiez. Par exemple, vous pouvez créer une requête GraphQL ou demander des informations pour afficher tous les nouveaux membres de l’organisation ajoutés à votre organisation. Ou vous pouvez effectuer une mutation, ou un changement, pour inviter un administrateur à votre compte d’entreprise.\n\nAvec l’API Audit Log, vous pouvez surveiller quand quelqu’un :\n\n* Accède aux paramètres de votre organisation ou de votre référentiel.\n* Modifie les autorisations.\n* Ajoute ou supprime des utilisateurs dans une organisation, un référentiel ou une équipe.\n* Promeut les utilisateurs en administrateurs.\n* Modifie les autorisations d’une application GitHub.\n\nL’API Audit Log vous permet de conserver des copies de vos données de journal d’audit. Pour les requêtes effectuées avec l’API Audit Log, la réponse GraphQL peut inclure des données pendant 90 à 120 jours. Pour obtenir la liste des champs disponibles avec l’API de journal d'audit, consultez [Administration d’entreprise](/fr/enterprise-cloud@latest/graphql/reference/enterprise-admin#interface-auditentry).\n\nAvec l’API Enterprise Accounts, vous pouvez :\n\n* Lister et passer en revue toutes les organisations et dépôts qui appartiennent à votre compte d’entreprise.\n* Modifier les paramètres de compte d’entreprise.\n* Configurer des stratégies pour les paramètres sur votre compte d’entreprise et ses organisations.\n* Inviter des administrateurs à votre compte d’entreprise.\n* Créer de nouvelles organisations dans votre compte d’entreprise.\n\nPour obtenir la liste des champs disponibles avec l’API Comptes d’entreprise, consultez [Gestion des comptes d’entreprise](/fr/enterprise-cloud@latest/graphql/guides/managing-enterprise-accounts#graphql-fields-and-types-for-the-enterprise-accounts-api).\n\n## Commencer en utilisant GraphQL pour les comptes d'entreprise\n\nConsultez [Utilisation des clients GraphQL](/fr/enterprise-cloud@latest/graphql/guides/using-graphql-clients) pour commencer à utiliser GraphQL et gérer vos comptes d'entreprise.\n\nPour obtenir des exemples de requêtes, consultez [Exemple de requête à l’aide de l’API Enterprise Accounts](#an-example-query-using-the-enterprise-accounts-api).\n\n### 1. Authentifiez-vous avec votre personal access token\n\n1. Pour vous authentifier auprès de GraphQL, vous devez générer un personal access token à partir des paramètres du développeur. Pour plus d’informations, consultez [Gestion de vos jetons d’accès personnels](/fr/enterprise-cloud@latest/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens).\n\n2. Accordez à votre personal access token des autorisations d’administrateur et de contrôle total pour les secteurs de votre entreprise auxquels vous souhaitez accéder. Pour obtenir une autorisation complète pour les dépôts privés, les organisations, les équipes, les données utilisateur et l’accès aux données de facturation et de profil d’entreprise, nous vous recommandons de sélectionner ces étendues pour votre personal access token:\n\n   * `repo`\n   * `admin:org`\n   * `user`\n   * `admin:enterprise`\n\n   Les étendues propres au compte d’entreprise sont les suivantes :\n\n   * `admin:enterprise` : donne le contrôle total des entreprises (y compris `manage_runners:enterprise`, `manage_billing:enterprise` et `read:enterprise`)\n   * `manage_billing:enterprise`: Lire et écrire des données de facturation d’entreprise.\n   * `read:enterprise` : lire les données de profil d’entreprise.\n\n3. Copiez votre personal access token et conservez-le en lieu sûr jusqu’à ce que vous l’ajoutiez à votre client GraphQL.\n\n### 2. Choisir un client GraphQL\n\nNous vous recommandons d’utiliser GraphiQL ou un autre client GraphQL autonome qui vous permet de configurer l’URL de base.\n\nVous pouvez également envisager d’utiliser ces clients GraphQL :\n\n* [Insomnia](https://support.insomnia.rest/article/176-graphql-queries)\n* [GraphiQL](https://www.gatsbyjs.org/docs/running-queries-with-graphiql/)\n* [Postman](https://learning.getpostman.com/docs/postman/sending_api_requests/graphql/)\n\nLes étapes suivantes utilisent Insomnia.\n\n### 3. Configurer Insomnia pour utiliser l'API GraphQL GitHub avec des comptes d'entreprise\n\n1. Ajoutez l’URL de base et la méthode `POST` à votre client GraphQL. Lorsque vous utilisez GraphQL pour demander des informations (requêtes), modifier des informations (mutations) ou transférer des données à l’aide de l’API GitHub, la méthode HTTP par défaut est `POST` et l’URL de base suit cette syntaxe :\n   * Pour votre instance d’entreprise : `https://<HOST>/api/graphql`\n   * Pour GitHub Enterprise Cloud : `https://api.github.com/graphql`\n   * Pour GitHub Enterprise Cloud avec résidence des données : `https://api.SUBDOMAIN.ghe.com/graphql`\n\n2. Sélectionnez le menu « Auth » et cliquez sur **Jeton du porteur**. Si vous avez précédemment sélectionné une autre méthode d’authentification, le menu est étiqueté avec cette méthode, par exemple « Authentification de base », à la place.\n\n![Capture d’écran du menu « Auth » développé dans Insomnia. L’étiquette de menu « Auth » et l’option « Jeton du porteur » sont présentées en orange foncé.](/assets/images/developer/graphql/insomnia-bearer-token-option.png)\n\n1. Dans le champ « TOKEN », entrez votre personal access token provenant d’une étape précédente.\n\n![Capture d’écran des paramètres d’authentification « Porteur » dans Insomnia. Le champ « JETON » est indiqué en orange foncé.](/assets/images/developer/graphql/insomnia-base-url-and-pat.png)\n\n1. Cliquez sur **En-têtes**.\n\n![Capture d’écran des onglets de paramètres dans Insomnia. L’onglet « En-têtes » est présenté en orange foncé.](/assets/images/developer/graphql/json-content-type-header.png)\n\n1. Sous l’onglet **En-têtes**, cliquez sur **Ajouter**.\n2. Dans le champ « en-tête », entrez `Content-Type`.\n3. Dans le champ « value », entrez `application/json`.\n\nMaintenant, vous êtes prêt à effectuer des requêtes.\n\n## Exemple de requête utilisant l’API Enterprise Accounts\n\nCette requête GraphQL demande le nombre total de `public` dépôts dans chacune des organisations de votre appliance à l’aide de l’API Enterprise Accounts. Pour personnaliser cette requête, remplacez `<enterprise-account-name>` par le handle de votre compte d’entreprise. Par exemple, si votre compte d’entreprise se trouve à `https://github.com/enterprises/octo-enterprise`, remplacez `<enterprise-account-name>` par `octo-enterprise`.\n\n```graphql\nquery publicRepositoriesByOrganization($slug: String!) {\n  enterprise(slug: $slug) {\n    ...enterpriseFragment\n  }\n}\n\nfragment enterpriseFragment on Enterprise {\n  ... on Enterprise{\n    name\n    organizations(first: 100){\n      nodes{\n        name\n        ... on Organization{\n          name\n          repositories(privacy: PUBLIC){\n            totalCount\n          }\n        }\n      }\n    }\n  }\n}\n\n# Passing our Enterprise Account as a variable\nvariables {\n  \"slug\": \"<enterprise-account-name>\"\n}\n```\n\nL’exemple de requête GraphQL suivant montre combien il est difficile de récupérer le nombre de référentiels `public` dans chaque organisation sans utiliser l’API Enterprise Accounts. Notez que l’API GraphQL Enterprise Accounts simplifie cette tâche pour les entreprises, car vous n’avez besoin de personnaliser qu’une seule variable. Pour personnaliser cette requête, remplacez `<name-of-organization-one>` et `<name-of-organization-two>`, etc. par les noms d’organisation de votre instance.\n\n```graphql\n# Each organization is queried separately\n{\n  organizationOneAlias: organization(login: \"nameOfOrganizationOne\") {\n    # How to use a fragment\n    ...repositories\n  }\n  organizationTwoAlias: organization(login: \"nameOfOrganizationTwo\") {\n    ...repositories\n  }\n  # organizationThreeAlias ... and so on up-to lets say 100\n}\n\n## How to define a fragment\nfragment repositories on Organization {\n  name\n  repositories(privacy: PUBLIC){\n    totalCount\n  }\n}\n```\n\n## Interroger chaque organisation séparément\n\n```graphql\nquery publicRepositoriesByOrganization {\n  organizationOneAlias: organization(login: \"<name-of-organization-one>\") {\n    # How to use a fragment\n    ...repositories\n  }\n  organizationTwoAlias: organization(login: \"<name-of-organization-two>\") {\n    ...repositories\n  }\n  # organizationThreeAlias ... and so on up-to lets say 100\n}\n# How to define a fragment\nfragment repositories on Organization {\n  name\n  repositories(privacy: PUBLIC){\n    totalCount\n  }\n}\n```\n\nCette requête GraphQL demande les cinq dernières entrées de journal pour une organisation d’entreprise. Pour personnaliser cette requête, remplacez `<org-name>` et `<user-name>`.\n\n```graphql\n{\n  organization(login: \"<org-name>\") {\n    auditLog(last: 5, query: \"actor:<user-name>\") {\n      edges {\n        node {\n          ... on AuditEntry {\n# Get Audit Log Entry by 'Action'\n            action\n            actorLogin\n            createdAt\n# User 'Action' was performed on\n           user{\n              name\n                email\n            }\n          }\n        }\n      }\n    }\n  }\n}\n```\n\nPour plus d’informations sur la prise en main de GraphQL, consultez [Présentation de GraphQL](/fr/enterprise-cloud@latest/graphql/guides/introduction-to-graphql) et [Création d’appels avec GraphQL](/fr/enterprise-cloud@latest/graphql/guides/forming-calls-with-graphql).\n\n## Types et champs GraphQL pour l’API Enterprise Accounts\n\nPour plus d’informations sur les nouvelles requêtes, mutations et types définis par schéma disponibles pour une utilisation avec l’API Enterprise Accounts, consultez la barre latérale où figurent des définitions GraphQL détaillées à partir de n’importe quelle [page de référence GraphQL](/fr/enterprise-cloud@latest/graphql).\n\nVous pouvez accéder aux documents de référence à partir des clients GraphQL. Pour plus d’informations, consultez [Utilisation des clients GraphQL](/fr/enterprise-cloud@latest/graphql/guides/using-graphql-clients).\nPour d’autres informations, telles que les détails de la limite d’authentification et de débit, consultez la [guides](/fr/enterprise-cloud@latest/graphql/guides)."}