# À propos de l’API GraphQL

L’API GitHub GraphQL offre une flexibilité et la possibilité de définir précisément les données que vous souhaitez extraire.

## Vue d’ensemble

Voici quelques liens rapides pour vous aider à devenir opérationnel avec l’API GraphQL :

* [Authentication](/fr/enterprise-server@3.22/graphql/guides/forming-calls-with-graphql#authenticating-with-graphql)
* [Point de terminaison racine](/fr/enterprise-server@3.22/graphql/guides/forming-calls-with-graphql#the-graphql-endpoint)
* [Introspection de schéma](/fr/enterprise-server@3.22/graphql/guides/introduction-to-graphql#discovering-the-graphql-api)
* [Limites du taux de transfert](/fr/enterprise-server@3.22/graphql/overview/rate-limits-and-query-limits-for-the-graphql-api)
* [Migrer depuis REST](/fr/enterprise-server@3.22/graphql/guides/migrating-from-rest-to-graphql)

Pour plus d’informations sur GitHubles API, consultez [Comparaison de l'API REST de GitHub et de l'API GraphQL](/fr/enterprise-server@3.22/rest/about-the-rest-api/comparing-githubs-rest-api-and-graphql-api).

## À propos de GraphQL

Le langage de requête de données [GraphQL](https://graphql.org/) est :

* **Une [spécification](https://spec.graphql.org/June2018/).** La spécification détermine la validité du [schema](/fr/enterprise-server@3.22/graphql/guides/introduction-to-graphql#schema) sur le serveur d’API. Le schéma détermine la validité des appels clients.

* **[Fortement typé](#about-the-graphql-schema-reference).** Le schéma définit le système de type et toutes les relations d’objet d’une API.

* **[Introspective](/fr/enterprise-server@3.22/graphql/guides/introduction-to-graphql#discovering-the-graphql-api).** Un client peut interroger le schéma afin d’obtenir des détails sur celui-ci.

* **[Hiérarchique](/fr/enterprise-server@3.22/graphql/guides/forming-calls-with-graphql).** La forme d’un appel GraphQL reflète celle des données JSON qu’il retourne.               Des [champs imbriqués](/fr/enterprise-server@3.22/graphql/guides/migrating-from-rest-to-graphql#example-nesting) vous permettent d'interroger et recevoir uniquement les données que vous spécifiez en un seul aller-retour.

* **Une couche d'application** GraphQL n’est pas un modèle storage ni un langage de requête de base de données. Le *graph* fait référence aux structures de graphe définies dans le schéma, où [nodes](/fr/enterprise-server@3.22/graphql/guides/introduction-to-graphql#node) définir des objets et des [edges](/fr/enterprise-server@3.22/graphql/guides/introduction-to-graphql#edge) définir des relations entre les objets. L’API traverse et retourne des données d’application en fonction des définitions du schéma, indépendamment de la façon dont les données sont stockées.

## Pourquoi GitHub utilise GraphQL

GitHub choisi GraphQL, car il offre beaucoup plus de flexibilité pour nos intégrateurs. La possibilité de définir précisément les données que vous souhaitez —et *uniquement*  celles-ci— offre un avantage puissant par rapport aux points de terminaison d’API REST traditionnels. GraphQL vous permet de remplacer plusieurs requêtes REST par *un seul appel* pour extraire les données que vous spécifiez.

Pour plus d’informations sur la raison pour laquelle GitHub investi dans GraphQL, consultez le billet de blog [announcement d’origine](https://github.blog/2016-09-14-the-github-graphql-api/).

## À propos de la référence du schéma GraphQL

Les documents de la barre latérale sont générés à partir du GitHub[schéma](/fr/enterprise-server@3.22/graphql/guides/introduction-to-graphql#discovering-the-graphql-api) GraphQL. Tous les appels sont validés et exécutés par rapport au schéma. Utilisez ces documents pour découvrir les données que vous pouvez appeler :

* Opérations autorisées : requêtes et mutations.

* Types définis par le schéma : scalaires, objets, énumérations, interfaces, unions et objets d’entrée.

Pour d’autres informations, telles que les détails de la limite d’authentification et de débit, consultez la [guides](/fr/enterprise-server@3.22/graphql/guides).

## Demande de support

Pour consulter les questions, les rapports de bogues et les discussions concernant GitHub Apps, OAuth apps et le développement d’API, explorez les [Catégorie API et Webhooks dans les discussions de la communauté GitHub](https://github.com/orgs/community/discussions/categories/api-and-webhooks). Les discussions sont animées et gérées par le personnel GitHub et répondues par la communauté GitHub.

Envisagez de contacter le [Support GitHub](https://support.github.com/) directement à l’aide du formulaire de contact pour :

* Réponse garantie du personnel de GitHub
* Les demandes de support impliquant des données sensibles ou des préoccupations d’ordre privé
* Demandes de fonctionnalités
* Commentaires sur les produits GitHub

Si vous observez des défaillances inattendues, vous pouvez utiliser [githubstatus.com](https://www.githubstatus.com/) ou [l’APIGitHub d’état](https://www.githubstatus.com/api) pour rechercher les incidents affectant l’API.