SlideShare une entreprise Scribd logo
Créer une API
GraphQL
avec Symfony
Paris, le 21 février 2017
Qui suis-je?
Sébastien Rosset
Développeur PHP depuis 2000
Symfony depuis 2015
Freelance
@srosset81
La première plateforme qui rassemble tous les acteurs du bien commun
(associations, ONG, bénévoles, donateurs, experts, porteurs de projets…)
Lancement prévu courant 2017 – www.goodship.eu
La générosité en action
Quelle technologie pour demain?
• Chargement rapide
• Micro-interactions
• Animations
Le meilleur des deux mondes !
Pourquoi
GraphQL ?
Un nouveau standard pour les API
• Vise à remplacer REST (défini en 2000)
• Développé par Facebook
• Utilisé en prod depuis 2012
• Open-source depuis 2015
• Nombreuses implémentations
côté back-end et front-end
Javascript / Ruby / PHP / Python / Java / C++ /
Go / Scala / .NET / Elixir / Haskell / SQL / Lua
/ Elm / Clojure / Swift / OCaml / Rust …
1. Déclaratif On obtient exactement ce dont on a besoin,
Ni plus, ni moins.
{ REST }
Une dizaine de
requêtes pour
une seule page
2. Auto-documenté
{ REST }
Impossible à utiliser sans
une documentation
conséquente.
3. Fortement typé
{ REST }
Aucun typage. On reçoit
les données «brut»
On peut même définir
ses propres types.
+ Validation automatique!
4. API unique
• Un seul point d’entrée : /graphql
• Pas de gestion de versions
(On peut marquer des champs
comme «deprecated»)
• Tous les supports utilisent le même API
{ REST }
Gestion des versions
très délicate.
Les développeurs back-end et front-end peuvent se réconcilier !
Pourquoi
Symfony ?
Un écosystème idéal pour le back-end
https://github.com/Youshido/GraphQLBundle
Disponible depuis février 2016
DEMO !
www.github.com/srosset81/symfony-graphql-demo
Une transition douce !
• Transformer progressivement une application Symfony en API
• Appeler d’autres APIs et serveurs via un seul endpoint GraphQL
(www.github.com/APIs-guru/graphql-apis)
Futur du bundle Youshido
• Subscriptions
• Extensions (gestion des uploads, résultats paginés…)
• Générateur de types
• Livre à paraître en septembre 2017
• Peut-être votre contribution ?
www.github.com/Youshido/GraphQL
www.github.com/Youshido/GraphQLBundle
Pour aller plus loin…
www.graphql.org
www.learngraphql.com
GraphQL Europe (17 mai 2017, Berlin)
www.twitter.com/graphqleu
www.github.com/lexik/jwt-authentication-bundle
www.github.com/Youshido/GraphQLDemoApp
www.github.com/srosset81/symfony-graphql-demo
Pour son lancement,
aura besoin d’un
Pour son API GraphQL et son infrastructure serveur (Docker, etc.)
DevOp Symfony
06 45 95 51 87
www.twitter.com/srosset81
Merci !
www.github.com/srosset81/symfony-graphql-demo

Contenu connexe

Similaire à Créer une API GraphQL avec Symfony

Investir sur son API web (in French)
Investir sur son API web (in French)Investir sur son API web (in French)
Investir sur son API web (in French)
Restlet
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)
Restlet
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
ENSIBS
 
De l'open source à l'open API avec Restlet
De l'open source à l'open API avec RestletDe l'open source à l'open API avec Restlet
De l'open source à l'open API avec Restlet
Jerome Louvel
 
Swagger, language pour décrire des API REST
Swagger, language pour décrire des API RESTSwagger, language pour décrire des API REST
Swagger, language pour décrire des API REST
Pierre-André Vullioud
 
Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !
matparisot
 
Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !
Mathieu Parisot
 
Php forum 2017 - Maisons du Monde
Php forum 2017 - Maisons du MondePhp forum 2017 - Maisons du Monde
Php forum 2017 - Maisons du Monde
marchugon
 
Asp.Net Web.API, SignalR et UX : le futur
Asp.Net Web.API, SignalR et UX : le futurAsp.Net Web.API, SignalR et UX : le futur
Asp.Net Web.API, SignalR et UX : le futur
Microsoft
 
Flutter Rennes - #1
Flutter Rennes - #1Flutter Rennes - #1
Flutter Rennes - #1
Aloïs Deniel
 
TypeScript for dummies
TypeScript for dummiesTypeScript for dummies
TypeScript for dummies
Microsoft
 
Lbv Dev Meetup #1
Lbv Dev Meetup #1Lbv Dev Meetup #1
Lbv Dev Meetup #1
LbvDev
 
43_pps.pdf
43_pps.pdf43_pps.pdf
43_pps.pdf
ssuser192642
 
Actionscript: du web au mobile
Actionscript: du web au mobileActionscript: du web au mobile
Actionscript: du web au mobile
Martin Arvisais
 
Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)
Camille Roux
 
Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !
Cédric Leblond
 
Bien comprendre le nouveau modèle Apps de SharePoint 2013
Bien comprendre le nouveau modèle Apps de SharePoint 2013Bien comprendre le nouveau modèle Apps de SharePoint 2013
Bien comprendre le nouveau modèle Apps de SharePoint 2013
Louis-Philippe Lavoie
 
Front end, une île qui mérite d'être visitée
Front end, une île qui mérite d'être visitéeFront end, une île qui mérite d'être visitée
Front end, une île qui mérite d'être visitéeOuadie LAHDIOUI
 
CWIN17 Morocco / Microsoft re-invent .net with the future in mind amine belha...
CWIN17 Morocco / Microsoft re-invent .net with the future in mind amine belha...CWIN17 Morocco / Microsoft re-invent .net with the future in mind amine belha...
CWIN17 Morocco / Microsoft re-invent .net with the future in mind amine belha...
Capgemini
 
Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !
Société ELOSI
 

Similaire à Créer une API GraphQL avec Symfony (20)

Investir sur son API web (in French)
Investir sur son API web (in French)Investir sur son API web (in French)
Investir sur son API web (in French)
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
 
De l'open source à l'open API avec Restlet
De l'open source à l'open API avec RestletDe l'open source à l'open API avec Restlet
De l'open source à l'open API avec Restlet
 
Swagger, language pour décrire des API REST
Swagger, language pour décrire des API RESTSwagger, language pour décrire des API REST
Swagger, language pour décrire des API REST
 
Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !
 
Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !
 
Php forum 2017 - Maisons du Monde
Php forum 2017 - Maisons du MondePhp forum 2017 - Maisons du Monde
Php forum 2017 - Maisons du Monde
 
Asp.Net Web.API, SignalR et UX : le futur
Asp.Net Web.API, SignalR et UX : le futurAsp.Net Web.API, SignalR et UX : le futur
Asp.Net Web.API, SignalR et UX : le futur
 
Flutter Rennes - #1
Flutter Rennes - #1Flutter Rennes - #1
Flutter Rennes - #1
 
TypeScript for dummies
TypeScript for dummiesTypeScript for dummies
TypeScript for dummies
 
Lbv Dev Meetup #1
Lbv Dev Meetup #1Lbv Dev Meetup #1
Lbv Dev Meetup #1
 
43_pps.pdf
43_pps.pdf43_pps.pdf
43_pps.pdf
 
Actionscript: du web au mobile
Actionscript: du web au mobileActionscript: du web au mobile
Actionscript: du web au mobile
 
Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)
 
Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !
 
Bien comprendre le nouveau modèle Apps de SharePoint 2013
Bien comprendre le nouveau modèle Apps de SharePoint 2013Bien comprendre le nouveau modèle Apps de SharePoint 2013
Bien comprendre le nouveau modèle Apps de SharePoint 2013
 
Front end, une île qui mérite d'être visitée
Front end, une île qui mérite d'être visitéeFront end, une île qui mérite d'être visitée
Front end, une île qui mérite d'être visitée
 
CWIN17 Morocco / Microsoft re-invent .net with the future in mind amine belha...
CWIN17 Morocco / Microsoft re-invent .net with the future in mind amine belha...CWIN17 Morocco / Microsoft re-invent .net with the future in mind amine belha...
CWIN17 Morocco / Microsoft re-invent .net with the future in mind amine belha...
 
Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !
 

Dernier

Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
abderrahimbourimi
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Laurent Speyser
 
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
Horgix
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
OCTO Technology
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
Université de Franche-Comté
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
UNITECBordeaux
 

Dernier (6)

Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
 
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
 

Créer une API GraphQL avec Symfony

Notes de l'éditeur

  1. Fragments