Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
GraphQL aide vos applications JavaScript à récupérer exactement les données dont elles ont besoin en une seule requête. Cet article explique ce qu’est GraphQL, pourquoi vous pouvez l’utiliser et comment les services Azure peuvent vous aider à créer des applications GraphQL avec un minimum d’effort. Que vous migriez une application GraphQL existante ou que vous en créiez une nouvelle, Azure fournit des outils et des services pour simplifier le processus.
Qu’est-ce GraphQL ?
GraphQL est un moyen moderne pour votre application Web de communiquer avec des serveurs et des bases de données. Considérez-le comme un moyen plus intelligent de demander exactement les informations dont vous avez besoin :
- C’est comme commander un repas personnalisé au lieu d’accepter un menu fixe - vous demandez exactement ce que vous voulez
- Il fonctionne bien avec les applications JavaScript telles que React, Vue ou Angular
- Il peut rendre vos applications Web plus rapides et plus faciles à créer
Au lieu d’effectuer plusieurs requêtes à différents points de terminaison de serveur (comme avec les API REST traditionnelles - la façon standard dont la plupart des services Web communiquent), GraphQL vous permet d’effectuer une requête précise pour obtenir toutes les données dont vous avez besoin.
Pourquoi voudrais-je utiliser GraphQL dans mon application web ?
GraphQL améliore vos applications JavaScript de trois manières principales :
Obtenez exactement ce dont vous avez besoin : votre application peut demander uniquement les données dont elle a besoin au moment présent, ni plus, ni moins. C’est comme aller à un buffet et ne prendre que ce que vous allez manger, au lieu de se faire servir un repas fixe géant où la plupart sont gaspillés. Cela rend votre application plus rapide, car elle télécharge moins de données.
Une seule demande au lieu de plusieurs : Vous avez besoin d’informations provenant de plusieurs endroits ? Au lieu de faire 5 requêtes différentes à 5 points de terminaison différents, GraphQL vous permet de faire une seule requête pour tout obtenir. C’est comme si une seule personne rassemblait tous vos achats au lieu que vous alliez dans cinq magasins différents.
Moins d’erreurs avec de meilleurs outils : GraphQL est livré avec des outils qui aident à détecter les erreurs pendant que vous codez plutôt que pendant l’exécution de votre application. C’est comme si vous aviez un correcteur orthographique qui fonctionne pendant que vous tapez, plutôt que de découvrir des fautes de frappe après avoir publié votre document.
Outils JavaScript populaires pour GraphQL
Lorsque vous créez avec GraphQL et JavaScript, vous utiliserez probablement l’un de ces outils populaires :
- Client Apollo : Le client GraphQL le plus utilisé qui fonctionne avec React, Vue, Angular et JavaScript simple.
- URQL : Une alternative légère avec de bonnes performances.
- Relay : Créé par Facebook (qui a également créé GraphQL), idéal pour les grandes applications React.
Services Azure pour les applications GraphQL
Choisissez votre approche en fonction de votre scénario spécifique :
| Pour... | Alors vous devriez... | Utilisation de ces services Azure |
|---|---|---|
| Apporter une application GraphQL existante à Azure | Déployez votre application sans modifier votre code | Azure App Service ou Azure Container Apps |
| Ajouter GraphQL à vos données existantes | Créez des points de terminaison GraphQL pour vos données avec un minimum de codage | Générateur d’API de données |
| Création d’une couche d’API GraphQL | Créer une interface GraphQL unifiée sur les API existantes | Gestion des API Azure avec transformation GraphQL |
Héberger des applications GraphQL sur Azure
Vous disposez de quelques options intéressantes en fonction du type d’application que vous créez :
App Service : Il s’agit d’un service d’hébergement Web traditionnel, mais avec des fonctionnalités supplémentaires. C’est idéal pour la plupart des applications JavaScript qui ont besoin d’un serveur.
Applications de conteneur : si votre application est empaquetée dans des conteneurs (comme Docker), ce service facilite leur exécution et leur mise à l’échelle.
Stockage de données pour les applications GraphQL
GraphQL doit se connecter à vos données. Azure propose plusieurs façons de procéder :
Transformez votre base de données en API GraphQL : l’outil « Data API builder » peut créer automatiquement un point de terminaison GraphQL (une URL où votre application peut envoyer des requêtes GraphQL) à partir de votre base de données existante - aucun codage n’est requis !
Stockez vos données : Azure propose des bases de données pour différents besoins :
- Base de données SQL : pour les données traditionnelles basées sur des tables
- Cosmos DB : pour un stockage de données flexible et évolutif sans schémas rigides
Applications GraphQL sécurisées
- Connexion et sécurité de l’utilisateur : la plateforme d’identité d’Azure vous permet d’ajouter des fonctionnalités de connexion à votre application afin que seules les bonnes personnes puissent accéder à vos données GraphQL.
- Accès basé sur les rôles : contrôlez exactement quels utilisateurs peuvent interroger ou modifier quelles données via vos points de terminaison GraphQL.
- Protection des API : ajoutez une limitation de débit et une surveillance pour éviter les abus de vos API GraphQL.
Créez des API GraphQL pour vos données existantes
Vous avez déjà des données dans Azure et souhaitez y accéder avec GraphQL ? Il existe des moyens simples de le faire :
Gestion des API : ce service peut créer une couche GraphQL devant vos API ou sources de données existantes. C’est comme si vous ajoutiez un traducteur GraphQL à des systèmes qui ne parlent pas GraphQL en natif.
Data API Builder : cet outil crée automatiquement des points de terminaison GraphQL à partir de vos bases de données. C’est le moyen le plus rapide d’ajouter GraphQL à vos données existantes - il suffit de le pointer vers votre base de données et il fait le travail pour vous.
Un exemple simple : création d’une API GraphQL pour une base de données de produits
Voici comment le processus fonctionne en termes simples :
- Vous disposez d’une base de données avec des informations sur les produits (noms, prix, descriptions)
- Vous configurez Data API Builder pour vous connecter à votre base de données
- Data API Builder crée automatiquement un point de terminaison GraphQL
- Votre application JavaScript peut désormais effectuer des requêtes GraphQL telles que :
{
products(where: { price_lt: 50 }) {
name
price
description
}
}
Cette requête vous obtiendrait tous les produits de moins de 50 $, en affichant uniquement leurs noms, prix et descriptions.
Ressources pour vous aider à démarrer
Si vous souhaitez en savoir plus ou commencer à créer avec GraphQL sur Azure, voici quelques ressources utiles :
- Introduction à GraphQL pour les débutants
- Premiers pas avec Data API Builder
- Exemples JavaScript GraphQL sur Azure
Étapes suivantes
- Installer Data API Builder
- Azure Container Apps
- Gestion des API Azure - Créer et gérer des API
- Azure App Service
- Azure SQL Database - Stocker des données structurées
- Azure Cosmos DB - Stocker des données flexibles et non structurées