SlideShare uma empresa Scribd logo
1 de 12
Bonnes pratiques des API
eric.daspet.name
www.tea-ebook.com
SOAP(hahaha!)
Enveloppe
REST
Direct HTTP
Media type
HATEOAS
Hypermedia
Relations
Links
Pragmatisme
Utilisateur
Bidouilleur
Compréhension
Raccourcis
Littérature
Simplicité
I18N
Dates
Heures
Locales GMT
Fuseau horaire
Langues
UTF8
ISO
Pagination
offset + quantité
after | before
Optionnel
Obligatoire
Cache
Limites
Limites2
Versionnement
imParfait
Erreurs
Évolution
Évolution2
Compatibilité
Refonte
Refonte!
/v2/…
Sécurité
Fait maison
HTTP Basic
Oauth /!
HTTPS
SSL / TLS
Désactivable
Clef d’API
Structure
Découverte par
(Hypermedia)
Bidouillables
Prédictibles
Libres
Sans surprise
(/[a-z0-9-]+)+(.[a-z]+)?
/collection/item/lien
En faire peu
…en ouvrant les possibles
Enrichir dans un second temps
SIMPLE, Standard, Pragmatique
Questions ? Débat ? Désaccord ? -> informelles
eric.daspet.name
www.tea-ebook.com
Images réutilisées
sous licence Creative Commons
http://www.flickr.com/photos/mctumshie/8016134432/ par Andrew Smith sous CC-BY-NC-ND
http://www.flickr.com/photos/jstar/32486696/ par J. Star sous CC-BY-NC-SA
http://geek-and-poke.com/geekandpoke/2013/6/14/insulting-made-easy par Geek and Poke, sous CC-BY
http://www.flickr.com/photos/adamcohn/3076525070/ par Adam Cohn sous CC-BY-NC-ND
http://www.flickr.com/photos/clintjcl/5940857187/ par Rev. Xanatos Satanicos sous CC-NC-SA
http://www.flickr.com/photos/designwallah/4885177922/ par Francis Mariani sous CC-NC-ND
http://www.flickr.com/photos/leebennett/3181855130/ by Lee Bennett sous CC-BY-NC-SA
http://www.flickr.com/photos/leamarzloff/3204021240/ par Lea Marzloff sous CC-BY-NC-ND
http://www.flickr.com/photos/hellocatfood/5799842139/ par Antonio Roberts sous CC-BY-NC-SA
http://www.flickr.com/photos/janisbrass/8078718025/ par Memaxmarz sous CC-BY-NC-ND
http://www.flickr.com/photos/hellocatfood/5799842139/ par Antonio Roberts sous CC-BY-NC-SA
1. Fournir un SDK + un générateur d’exemples (ex: Twilio)
2. Fuir l’optionnel et le paramétrable, rendre obligatoire et explicite
3. Aucune information essentielle dans les entêtes
4. Paramètres génériques, valables sur toute l’API
5. Numéroter les erreurs avec un identifiant unique à tous vos projets
6. Ne pas se fier aux identifiants uniques externes
7. Mettre ses identifiants principaux au format texte
8. Penser au cache (if-modified-since, etag)
9. Toujours utiliser un sous-objet, pas de libellé ou code en direct
10. Utiliser un domaine distinct pour l’API
En faire peu
…en ouvrant les possibles
Enrichir dans un second temps
SIMPLE, Standard, Pragmatique
Questions ? Débat ? Désaccord ? -> informelles
eric.daspet.name
www.tea-ebook.com

Mais conteúdo relacionado

Semelhante a Bonnes pratiques API - Paris Web 2013

Création des sites web pour débutant
Création des sites web pour débutantCréation des sites web pour débutant
Création des sites web pour débutantKorteby Farouk
 
Api - mix it 2013
Api - mix it 2013Api - mix it 2013
Api - mix it 2013Eric D.
 
BreizhCamp 2014 - Voteriez-vous pour un web déconnecté ?
BreizhCamp 2014 - Voteriez-vous pour un web déconnecté ?BreizhCamp 2014 - Voteriez-vous pour un web déconnecté ?
BreizhCamp 2014 - Voteriez-vous pour un web déconnecté ?Rossi Oddet
 
CSS @font-face : Des polices personnalisées
CSS @font-face : Des polices personnaliséesCSS @font-face : Des polices personnalisées
CSS @font-face : Des polices personnaliséesYves Van Goethem
 
Identifier ce qui peut géner ou bloquer votre référencement
Identifier ce qui peut géner ou bloquer votre référencementIdentifier ce qui peut géner ou bloquer votre référencement
Identifier ce qui peut géner ou bloquer votre référencementrelevant_traffic_france
 
Web APIs in Action (in French)
Web APIs in Action (in French)Web APIs in Action (in French)
Web APIs in Action (in French)Restlet
 
Presentation article rest : How-to
Presentation article rest : How-toPresentation article rest : How-to
Presentation article rest : How-toDamien Cavaillès
 
Introduction dans la Programmation Web Course 1
Introduction dans la Programmation Web Course 1Introduction dans la Programmation Web Course 1
Introduction dans la Programmation Web Course 1Vlad Posea
 

Semelhante a Bonnes pratiques API - Paris Web 2013 (8)

Création des sites web pour débutant
Création des sites web pour débutantCréation des sites web pour débutant
Création des sites web pour débutant
 
Api - mix it 2013
Api - mix it 2013Api - mix it 2013
Api - mix it 2013
 
BreizhCamp 2014 - Voteriez-vous pour un web déconnecté ?
BreizhCamp 2014 - Voteriez-vous pour un web déconnecté ?BreizhCamp 2014 - Voteriez-vous pour un web déconnecté ?
BreizhCamp 2014 - Voteriez-vous pour un web déconnecté ?
 
CSS @font-face : Des polices personnalisées
CSS @font-face : Des polices personnaliséesCSS @font-face : Des polices personnalisées
CSS @font-face : Des polices personnalisées
 
Identifier ce qui peut géner ou bloquer votre référencement
Identifier ce qui peut géner ou bloquer votre référencementIdentifier ce qui peut géner ou bloquer votre référencement
Identifier ce qui peut géner ou bloquer votre référencement
 
Web APIs in Action (in French)
Web APIs in Action (in French)Web APIs in Action (in French)
Web APIs in Action (in French)
 
Presentation article rest : How-to
Presentation article rest : How-toPresentation article rest : How-to
Presentation article rest : How-to
 
Introduction dans la Programmation Web Course 1
Introduction dans la Programmation Web Course 1Introduction dans la Programmation Web Course 1
Introduction dans la Programmation Web Course 1
 

Mais de Eric D.

Blend Web Mix 2013 : Concevoir son API
Blend Web Mix 2013 : Concevoir son APIBlend Web Mix 2013 : Concevoir son API
Blend Web Mix 2013 : Concevoir son APIEric D.
 
Un peu de TLS ne fait pas de mal - Sudweb 2013
Un peu de TLS ne fait pas de mal - Sudweb 2013Un peu de TLS ne fait pas de mal - Sudweb 2013
Un peu de TLS ne fait pas de mal - Sudweb 2013Eric D.
 
Performance des applications web - USI Casa 2011
Performance des applications web - USI Casa 2011Performance des applications web - USI Casa 2011
Performance des applications web - USI Casa 2011Eric D.
 
Webpagetest en 5 minutes - Sud Web 2011
Webpagetest en 5 minutes - Sud Web 2011Webpagetest en 5 minutes - Sud Web 2011
Webpagetest en 5 minutes - Sud Web 2011Eric D.
 
Soirée webperf du 29 nov 2010 - Latence et CDN
Soirée webperf du 29 nov 2010 - Latence et CDNSoirée webperf du 29 nov 2010 - Latence et CDN
Soirée webperf du 29 nov 2010 - Latence et CDNEric D.
 
PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005Eric D.
 
Introduction à Rails - Paris on Rails 2006
Introduction à Rails - Paris on Rails 2006Introduction à Rails - Paris on Rails 2006
Introduction à Rails - Paris on Rails 2006Eric D.
 
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007Eric D.
 
Yahoo! Search monkey API - CEBIT 2008
Yahoo! Search monkey API - CEBIT 2008Yahoo! Search monkey API - CEBIT 2008
Yahoo! Search monkey API - CEBIT 2008Eric D.
 
Yahoo! Fire eagle API - CEBIT 2008
Yahoo! Fire eagle API - CEBIT 2008Yahoo! Fire eagle API - CEBIT 2008
Yahoo! Fire eagle API - CEBIT 2008Eric D.
 
Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009Eric D.
 
Frameworks php - Solutions Linux 2008
Frameworks php - Solutions Linux 2008Frameworks php - Solutions Linux 2008
Frameworks php - Solutions Linux 2008Eric D.
 
Un web ouvert, Paris Web 2009
Un web ouvert, Paris Web 2009Un web ouvert, Paris Web 2009
Un web ouvert, Paris Web 2009Eric D.
 
Performance des sites web : qui, pourquoi, quoi, comment et où ? - USI 2010
Performance des sites web : qui, pourquoi, quoi, comment et où ? - USI 2010Performance des sites web : qui, pourquoi, quoi, comment et où ? - USI 2010
Performance des sites web : qui, pourquoi, quoi, comment et où ? - USI 2010Eric D.
 
Introduction à la soirée webperf du 21 juillet 2010, Paris
Introduction à la soirée webperf du 21 juillet 2010, ParisIntroduction à la soirée webperf du 21 juillet 2010, Paris
Introduction à la soirée webperf du 21 juillet 2010, ParisEric D.
 
Performance des sites web - Latence - AFUP 2010
Performance des sites web - Latence - AFUP 2010Performance des sites web - Latence - AFUP 2010
Performance des sites web - Latence - AFUP 2010Eric D.
 
web, métier de valeur - Paris Web 2010
web, métier de valeur - Paris Web 2010web, métier de valeur - Paris Web 2010
web, métier de valeur - Paris Web 2010Eric D.
 
Performances Web - Afup 2008
Performances Web - Afup 2008Performances Web - Afup 2008
Performances Web - Afup 2008Eric D.
 

Mais de Eric D. (18)

Blend Web Mix 2013 : Concevoir son API
Blend Web Mix 2013 : Concevoir son APIBlend Web Mix 2013 : Concevoir son API
Blend Web Mix 2013 : Concevoir son API
 
Un peu de TLS ne fait pas de mal - Sudweb 2013
Un peu de TLS ne fait pas de mal - Sudweb 2013Un peu de TLS ne fait pas de mal - Sudweb 2013
Un peu de TLS ne fait pas de mal - Sudweb 2013
 
Performance des applications web - USI Casa 2011
Performance des applications web - USI Casa 2011Performance des applications web - USI Casa 2011
Performance des applications web - USI Casa 2011
 
Webpagetest en 5 minutes - Sud Web 2011
Webpagetest en 5 minutes - Sud Web 2011Webpagetest en 5 minutes - Sud Web 2011
Webpagetest en 5 minutes - Sud Web 2011
 
Soirée webperf du 29 nov 2010 - Latence et CDN
Soirée webperf du 29 nov 2010 - Latence et CDNSoirée webperf du 29 nov 2010 - Latence et CDN
Soirée webperf du 29 nov 2010 - Latence et CDN
 
PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005
 
Introduction à Rails - Paris on Rails 2006
Introduction à Rails - Paris on Rails 2006Introduction à Rails - Paris on Rails 2006
Introduction à Rails - Paris on Rails 2006
 
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
 
Yahoo! Search monkey API - CEBIT 2008
Yahoo! Search monkey API - CEBIT 2008Yahoo! Search monkey API - CEBIT 2008
Yahoo! Search monkey API - CEBIT 2008
 
Yahoo! Fire eagle API - CEBIT 2008
Yahoo! Fire eagle API - CEBIT 2008Yahoo! Fire eagle API - CEBIT 2008
Yahoo! Fire eagle API - CEBIT 2008
 
Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009
 
Frameworks php - Solutions Linux 2008
Frameworks php - Solutions Linux 2008Frameworks php - Solutions Linux 2008
Frameworks php - Solutions Linux 2008
 
Un web ouvert, Paris Web 2009
Un web ouvert, Paris Web 2009Un web ouvert, Paris Web 2009
Un web ouvert, Paris Web 2009
 
Performance des sites web : qui, pourquoi, quoi, comment et où ? - USI 2010
Performance des sites web : qui, pourquoi, quoi, comment et où ? - USI 2010Performance des sites web : qui, pourquoi, quoi, comment et où ? - USI 2010
Performance des sites web : qui, pourquoi, quoi, comment et où ? - USI 2010
 
Introduction à la soirée webperf du 21 juillet 2010, Paris
Introduction à la soirée webperf du 21 juillet 2010, ParisIntroduction à la soirée webperf du 21 juillet 2010, Paris
Introduction à la soirée webperf du 21 juillet 2010, Paris
 
Performance des sites web - Latence - AFUP 2010
Performance des sites web - Latence - AFUP 2010Performance des sites web - Latence - AFUP 2010
Performance des sites web - Latence - AFUP 2010
 
web, métier de valeur - Paris Web 2010
web, métier de valeur - Paris Web 2010web, métier de valeur - Paris Web 2010
web, métier de valeur - Paris Web 2010
 
Performances Web - Afup 2008
Performances Web - Afup 2008Performances Web - Afup 2008
Performances Web - Afup 2008
 

Bonnes pratiques API - Paris Web 2013