SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
À la découverte des APIs
La tech amiénoise, Juin 2017
Louis VIART
Développeur
API everywhere
Internet of things
Nouveaux Business models
Open Innovation / Open Data
ATAWAD (AnyTime, AnyWhere, AnyDevice)
API everywhere
Qu’est ce que c’est ?
API : Application Programming Interface
Qu’est ce que c’est ?
ȵ Interface
Qu’est ce que c’est ?
API : Application Programming Interface
• Façade
• Propose des fonctionnalités
• Documentée
REST
Roy Fielding
Representational State Transfer
REST
Representational State Transfer
Architecture basée sur HTTP
REST
Respect de 5 critères
• Client - serveur
• Sans état
• Mise en cache
• Interface uniforme
• Hiérarchisé par couche
REST
Client - Serveur
REST
Sans état
REST
Mise en cache

Cache
REST
Interface Uniforme
• Identification des ressources
• Représentation définie
• Message auto-descriptif
• Hypermedia
REST
Interface Uniforme
• Identification des ressources
• Représentation définie
• Message auto-descriptif
• Hypermedia
REST
Interface Uniforme
• Identification des ressources
• Représentation définie
• Message auto-descriptif
• Hypermedia
REST
HTTP/1.0 200 OK
Content-Type: application/json;charset=utf-8
{
"films": "http://swapi.co/api/films/",
"people": "http://swapi.co/api/people/",
"planets": "http://swapi.co/api/planets/",
"species": "http://swapi.co/api/species/",
"starships": "http://swapi.co/api/starships/",
"vehicles": "http://swapi.co/api/vehicles/"
}
Interface Uniforme
• Identification des ressources
• Représentation définie
• Message auto-descriptif
• Hypermedia
REST
Interface Uniforme
• Identification des ressources
• Représentation définie
• Message auto-descriptif
• Hypermedia
REST
Hiérarchisé par couche
REST
Verbes HTTP (en théorie)
GET POST PUT PATCH DELETE
REST
GET POST PATCH DELETE
Verbes HTTP (dans la vraie vie)
/comments/commentId
REST
GET POST PATCH DELETE
Verbes HTTP (dans la vraie vie)
/comments
REST
GET POST PATCH DELETE
Verbes HTTP (dans la vraie vie)
/comments/commentId
REST
GET POST PATCH DELETE
Verbes HTTP (dans la vraie vie)
/comments
REST
GET POST PATCH DELETE
Verbes HTTP (dans la vraie vie)
/comments/commentId
REST
GET POST PATCH DELETE
Verbes HTTP (dans la vraie vie)
/comments/commentId
Authentification
JWT
JSON Web Token
• Standard ouvert (RFC7519)
• Échanger des informations
• JSON object
JWT
Comment ça marche ?
JWT
Comment ça marche ?
Structure d’un JWT :
XXXX YYYY ZZZZ. .
Header Payload Signature
JWT
Comment ça marche ?
Étapes de l’authentification :
Un peu de code ?
Merci !
@Petrucheqa

Weitere ähnliche Inhalte

Ähnlich wie À la découverte des API - Louis Viart - Iteracode

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
 
Introduction au développement Web
Introduction au développement Web Introduction au développement Web
Introduction au développement Web Romain Willmann
 
Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?Quentin Adam
 
Symfony2 & l'architecture Rest
Symfony2 & l'architecture Rest Symfony2 & l'architecture Rest
Symfony2 & l'architecture Rest Ahmed Ghali
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EESabri Bouchlema
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesENSET, Université Hassan II Casablanca
 
Aspectize meetup
Aspectize meetupAspectize meetup
Aspectize meetupAspectize
 
WebApp #1 : introduction
WebApp #1 : introductionWebApp #1 : introduction
WebApp #1 : introductionJean Michel
 
Resource Oriented Architecture
Resource Oriented ArchitectureResource Oriented Architecture
Resource Oriented ArchitectureDNG Consulting
 
JEE_chapitre 1.pdf
JEE_chapitre 1.pdfJEE_chapitre 1.pdf
JEE_chapitre 1.pdfiyadamri
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptKhalid Jebbari
 
ÉVolution d'un système de publication de données techniques automobiles, modé...
ÉVolution d'un système de publication de données techniques automobiles, modé...ÉVolution d'un système de publication de données techniques automobiles, modé...
ÉVolution d'un système de publication de données techniques automobiles, modé...SemWebPro
 
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 futurMicrosoft
 
Développer et déployer WordPress en environnement microsoft
Développer et déployer WordPress en environnement microsoftDévelopper et déployer WordPress en environnement microsoft
Développer et déployer WordPress en environnement microsoftLeTesteur
 
ASP.NET MVC 5 et Web API 2
ASP.NET MVC 5 et Web API 2ASP.NET MVC 5 et Web API 2
ASP.NET MVC 5 et Web API 2Microsoft
 
Gestion des APIs avec Azure API Management - Samir AREZKI
Gestion des APIs avec Azure API Management - Samir AREZKIGestion des APIs avec Azure API Management - Samir AREZKI
Gestion des APIs avec Azure API Management - Samir AREZKISamir Arezki ☁
 

Ähnlich wie À la découverte des API - Louis Viart - Iteracode (20)

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)
 
Introduction au développement Web
Introduction au développement Web Introduction au développement Web
Introduction au développement Web
 
Web services SOAP et REST
Web services  SOAP et RESTWeb services  SOAP et REST
Web services SOAP et REST
 
Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?
 
Symfony2 & l'architecture Rest
Symfony2 & l'architecture Rest Symfony2 & l'architecture Rest
Symfony2 & l'architecture Rest
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EE
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependances
 
Api&sdk
Api&sdkApi&sdk
Api&sdk
 
Aspectize meetup
Aspectize meetupAspectize meetup
Aspectize meetup
 
HomeAgain
HomeAgainHomeAgain
HomeAgain
 
WebApp #1 : introduction
WebApp #1 : introductionWebApp #1 : introduction
WebApp #1 : introduction
 
Resource Oriented Architecture
Resource Oriented ArchitectureResource Oriented Architecture
Resource Oriented Architecture
 
JEE_chapitre 1.pdf
JEE_chapitre 1.pdfJEE_chapitre 1.pdf
JEE_chapitre 1.pdf
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascript
 
ÉVolution d'un système de publication de données techniques automobiles, modé...
ÉVolution d'un système de publication de données techniques automobiles, modé...ÉVolution d'un système de publication de données techniques automobiles, modé...
ÉVolution d'un système de publication de données techniques automobiles, modé...
 
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
 
Développer et déployer WordPress en environnement microsoft
Développer et déployer WordPress en environnement microsoftDévelopper et déployer WordPress en environnement microsoft
Développer et déployer WordPress en environnement microsoft
 
ASP.NET MVC 5 et Web API 2
ASP.NET MVC 5 et Web API 2ASP.NET MVC 5 et Web API 2
ASP.NET MVC 5 et Web API 2
 
Gestion des APIs avec Azure API Management - Samir AREZKI
Gestion des APIs avec Azure API Management - Samir AREZKIGestion des APIs avec Azure API Management - Samir AREZKI
Gestion des APIs avec Azure API Management - Samir AREZKI
 
technologie web
technologie webtechnologie web
technologie web
 

Mehr von Iteracode

Etapes de développement Night Code 2018
Etapes de développement Night Code 2018Etapes de développement Night Code 2018
Etapes de développement Night Code 2018Iteracode
 
Guidelines github git_server
Guidelines github git_serverGuidelines github git_server
Guidelines github git_serverIteracode
 
Mockup Night code 2018
Mockup Night code 2018Mockup Night code 2018
Mockup Night code 2018Iteracode
 
Outils et technique Night Code 2018
 Outils et technique Night Code 2018 Outils et technique Night Code 2018
Outils et technique Night Code 2018Iteracode
 
15 min pour comprendre : Git et GitHub - Charles Fourdrignier - Iteracode
15 min pour comprendre : Git et GitHub - Charles Fourdrignier - Iteracode15 min pour comprendre : Git et GitHub - Charles Fourdrignier - Iteracode
15 min pour comprendre : Git et GitHub - Charles Fourdrignier - IteracodeIteracode
 
Apéro PHP Amiens - l'ORM de CakePHP, c'est du gâteau !
Apéro PHP Amiens - l'ORM de CakePHP, c'est du gâteau !Apéro PHP Amiens - l'ORM de CakePHP, c'est du gâteau !
Apéro PHP Amiens - l'ORM de CakePHP, c'est du gâteau !Iteracode
 
Présentation de l'approche agile
Présentation de l'approche agilePrésentation de l'approche agile
Présentation de l'approche agileIteracode
 
Entreprise 80 - Mars 2016 - Iteracode
Entreprise 80 - Mars 2016  - IteracodeEntreprise 80 - Mars 2016  - Iteracode
Entreprise 80 - Mars 2016 - IteracodeIteracode
 

Mehr von Iteracode (9)

Etapes
EtapesEtapes
Etapes
 
Etapes de développement Night Code 2018
Etapes de développement Night Code 2018Etapes de développement Night Code 2018
Etapes de développement Night Code 2018
 
Guidelines github git_server
Guidelines github git_serverGuidelines github git_server
Guidelines github git_server
 
Mockup Night code 2018
Mockup Night code 2018Mockup Night code 2018
Mockup Night code 2018
 
Outils et technique Night Code 2018
 Outils et technique Night Code 2018 Outils et technique Night Code 2018
Outils et technique Night Code 2018
 
15 min pour comprendre : Git et GitHub - Charles Fourdrignier - Iteracode
15 min pour comprendre : Git et GitHub - Charles Fourdrignier - Iteracode15 min pour comprendre : Git et GitHub - Charles Fourdrignier - Iteracode
15 min pour comprendre : Git et GitHub - Charles Fourdrignier - Iteracode
 
Apéro PHP Amiens - l'ORM de CakePHP, c'est du gâteau !
Apéro PHP Amiens - l'ORM de CakePHP, c'est du gâteau !Apéro PHP Amiens - l'ORM de CakePHP, c'est du gâteau !
Apéro PHP Amiens - l'ORM de CakePHP, c'est du gâteau !
 
Présentation de l'approche agile
Présentation de l'approche agilePrésentation de l'approche agile
Présentation de l'approche agile
 
Entreprise 80 - Mars 2016 - Iteracode
Entreprise 80 - Mars 2016  - IteracodeEntreprise 80 - Mars 2016  - Iteracode
Entreprise 80 - Mars 2016 - Iteracode
 

À la découverte des API - Louis Viart - Iteracode