GraphQL
GraphQL est une technologie moderne, développée par Facebook en 2012 et rendue open-source en 2015, qui transforme la façon dont nous concevons et consommons les APIs.
Contrairement aux APIs REST traditionnelles, GraphQL permet aux clients de demander exactement les données dont ils ont besoin, grâce à un seul point d’entrée.
Cette approche résout les problèmes courants de récupération excessive de données (over-fecthing) et élimine le besoin de joindre plusieurs requêtes (under-fetching) que l’on a avec une API REST classique.
Elle améliore les performances des applications, et offre une meilleure expérience développeur avec des outils puissants comme l’introspection et les playgrounds interactifs.
Dans cette formation, nous verrons comment développer une API GraphQL côté serveur, puis comment la consommer côté client avec des technologies adaptées à votre stack technique existante.
Cependant, GraphQL introduit également sa propre complexité. La flexibilité offerte aux clients peut engendrer des requêtes coûteuses et imprévisibles, nécessitant une attention particulière à la limitation de profondeur, à la complexité des requêtes, et à la résolution du problème N+1. Il est essentiel de bien comprendre ces défis pour tirer parti de GraphQL tout en maintenant des performances optimales.
L’écosystème GraphQL s’est considérablement développé avec des outils comme Apollo Client et Server, Relay, ou encore GraphQL Code Generator, qui facilitent l’adoption et l’intégration de GraphQL dans vos projets existants.
- +15ans d'expérience pour tous nos formateurs
- 1jours
À qui s’adresse cette formation "GraphQL" ?
Description de la formation "GraphQL"
-
Méthodes pédagogiques
- La formation se passe en mode présentiel (face à face). Elle se compose de 75% de travaux pratiques (Mises en situation, débats, exercices). Le formateur alterne entre théorie et pratique ; chaque participant dispose d'un ordinateur sur lequel il réalisera les exercices proposés.
- Une synthèse est proposée en fin de chaque chapitre, ainsi qu'en fin de formation. Une évaluation à chaud sera proposée au stagiaire à la fin du cours.
- Un support de cours (version électronique) sera remis à chaque participant comprenant les slides sur la théorie, les exercices.
- Une feuille d'émargement par demi-journée de présence est fournie en fin de formation ainsi qu'une attestation de fin de formation si le stagiaire a bien assisté à la totalité de la session.
-
Présentation
GraphQL est une technologie moderne, développée par Facebook en 2012 et rendue open-source en 2015, qui transforme la façon dont nous concevons et consommons les APIs.
Contrairement aux APIs REST traditionnelles, GraphQL permet aux clients de demander exactement les données dont ils ont besoin, grâce à un seul point d’entrée.
Cette approche résout les problèmes courants de récupération excessive de données (over-fecthing) et élimine le besoin de joindre plusieurs requêtes (under-fetching) que l’on a avec une API REST classique.
Elle améliore les performances des applications, et offre une meilleure expérience développeur avec des outils puissants comme l’introspection et les playgrounds interactifs.
Dans cette formation, nous verrons comment développer une API GraphQL côté serveur, puis comment la consommer côté client avec des technologies adaptées à votre stack technique existante.
Cependant, GraphQL introduit également sa propre complexité. La flexibilité offerte aux clients peut engendrer des requêtes coûteuses et imprévisibles, nécessitant une attention particulière à la limitation de profondeur, à la complexité des requêtes, et à la résolution du problème N+1. Il est essentiel de bien comprendre ces défis pour tirer parti de GraphQL tout en maintenant des performances optimales.
L’écosystème GraphQL s’est considérablement développé avec des outils comme Apollo Client et Server, Relay, ou encore GraphQL Code Generator, qui facilitent l’adoption et l’intégration de GraphQL dans vos projets existants.
-
Objectifs
- Comprendre les principes fondamentaux de GraphQL et ses avantages par rapport à REST
- Concevoir et implémenter une API GraphQL robuste
- Maîtriser la syntaxe des queries, mutations et subscriptions
- Appliquer les bonnes pratiques de sécurité
- Optimiser les performances et résoudre le problème N+1
- Implémenter une pagination efficace
- Limiter la complexité et la profondeur des requêtes
- Intégrer GraphQL dans votre stack technique existante, côté backend et frontend.
-
Audience
- Développeurs
-
Formateur
Le formateur est un expert du domaine qui intervient sur le sujet depuis plusieurs années en formation mais aussi en conseil. Doté d’une grande qualité d’écoute, sa pédagogie et sa compétence technique vous permettront d’acquérir les compétences sur GraphQL. Il saura alterner entre théorie, pratique, et retours d’expérience.
-
Prérequis
- Pour la partie Backend : Connaissances de Java, connaissances basiques de Quarkus recommandée
- Pour la partie Frontend : Connaissances de HTML/CSS/Javascript, connaissances basiques de React recommandée
- Un échange aura lieu avant la formation pour cadrer le contenu avec les besoins, attentes et pré-requis des participant. Un test d'auto-positionnement par rapport aux objectifs de la formation sera réalisé en début et en fin de session.
-
Programme
Partie théorique (3h30) :
- Fondamentaux de GraphQL
- Introduction
- Queries, Mutations & Subscriptions
- Schema Definition Language (SDL)
- Query Language (QL)
- Implémentation de l’API
- Bonnes pratiques de GraphQL
- Types avancés : interface, fragment et union
- Le problème N + 1: batching et dataloader
- Pagination et Cache
- Sécurité, authentification et autorisation
- Limitation de profondeur et de complexité
- Ecosystème Apollo
Workshop (10h30):
- Implémentation d’une API de gestion de bibliothèque en Quarkus GraphQL
- Implémentation de son frontend avec React et Appolo Client
-
Tarif
Nous consulter