Bonnes pratiques API - Paris Web 2013
-
Upload
eric-d -
Category
Technology
-
view
1.807 -
download
3
Transcript of Bonnes pratiques API - Paris Web 2013
![Page 1: Bonnes pratiques API - Paris Web 2013](https://reader035.fdocument.pub/reader035/viewer/2022062308/55d55694bb61eb151a8b4695/html5/thumbnails/1.jpg)
Bonnes pratiques des APIeric.daspet.namewww.tea-ebook.com
![Page 2: Bonnes pratiques API - Paris Web 2013](https://reader035.fdocument.pub/reader035/viewer/2022062308/55d55694bb61eb151a8b4695/html5/thumbnails/2.jpg)
SOAP (hahaha!)
Enveloppe
RESTDirect HTTPMedia type
HATEOASHypermediaRelationsLinks
![Page 3: Bonnes pratiques API - Paris Web 2013](https://reader035.fdocument.pub/reader035/viewer/2022062308/55d55694bb61eb151a8b4695/html5/thumbnails/3.jpg)
Pragmatisme
UtilisateurBidouilleur
CompréhensionRaccourcis
LittératureSimplicité
![Page 4: Bonnes pratiques API - Paris Web 2013](https://reader035.fdocument.pub/reader035/viewer/2022062308/55d55694bb61eb151a8b4695/html5/thumbnails/4.jpg)
I18N
DatesHeuresLocales GMTFuseau horaire
Langues
UTF8ISO
![Page 5: Bonnes pratiques API - Paris Web 2013](https://reader035.fdocument.pub/reader035/viewer/2022062308/55d55694bb61eb151a8b4695/html5/thumbnails/5.jpg)
Pagination
offset + quantitéafter | before
OptionnelObligatoire
CacheLimitesLimites2
![Page 6: Bonnes pratiques API - Paris Web 2013](https://reader035.fdocument.pub/reader035/viewer/2022062308/55d55694bb61eb151a8b4695/html5/thumbnails/6.jpg)
Versionnement
imParfaitErreurs
ÉvolutionÉvolution2
CompatibilitéRefonteRefonte!/v2/…
![Page 7: Bonnes pratiques API - Paris Web 2013](https://reader035.fdocument.pub/reader035/viewer/2022062308/55d55694bb61eb151a8b4695/html5/thumbnails/7.jpg)
Sécurité
Fait maisonHTTP BasicOauth /!\
HTTPSSSL / TLSDésactivable
Clef d’API
![Page 8: Bonnes pratiques API - Paris Web 2013](https://reader035.fdocument.pub/reader035/viewer/2022062308/55d55694bb61eb151a8b4695/html5/thumbnails/8.jpg)
Structure
Découverte par(Hypermedia)
BidouillablesPrédictibles
LibresSans surprise(/[a-z0-9-]+)+(\.[a-z]+)?/collection/item/lien
![Page 9: Bonnes pratiques API - Paris Web 2013](https://reader035.fdocument.pub/reader035/viewer/2022062308/55d55694bb61eb151a8b4695/html5/thumbnails/9.jpg)
En faire peu…en ouvrant les possiblesEnrichir dans un second tempsSIMPLE, Standard, Pragmatique
Questions ? Débat ? Désaccord ? -> informelleseric.daspet.namewww.tea-ebook.com
![Page 10: Bonnes pratiques API - Paris Web 2013](https://reader035.fdocument.pub/reader035/viewer/2022062308/55d55694bb61eb151a8b4695/html5/thumbnails/10.jpg)
Images réutilisées sous licence Creative Commons
http://www.flickr.com/photos/mctumshie/8016134432/ par Andrew Smith sous CC-BY-NC-NDhttp://www.flickr.com/photos/jstar/32486696/ par J. Star sous CC-BY-NC-SAhttp://geek-and-poke.com/geekandpoke/2013/6/14/insulting-made-easy par Geek and Poke, sous CC-BYhttp://www.flickr.com/photos/adamcohn/3076525070/ par Adam Cohn sous CC-BY-NC-NDhttp://www.flickr.com/photos/clintjcl/5940857187/ par Rev. Xanatos Satanicos sous CC-NC-SAhttp://www.flickr.com/photos/designwallah/4885177922/ par Francis Mariani sous CC-NC-NDhttp://www.flickr.com/photos/leebennett/3181855130/ by Lee Bennett sous CC-BY-NC-SAhttp://www.flickr.com/photos/leamarzloff/3204021240/ par Lea Marzloff sous CC-BY-NC-NDhttp://www.flickr.com/photos/hellocatfood/5799842139/ par Antonio Roberts sous CC-BY-NC-SAhttp://www.flickr.com/photos/janisbrass/8078718025/ par Memaxmarz sous CC-BY-NC-NDhttp://www.flickr.com/photos/hellocatfood/5799842139/ par Antonio Roberts sous CC-BY-NC-SA
![Page 11: Bonnes pratiques API - Paris Web 2013](https://reader035.fdocument.pub/reader035/viewer/2022062308/55d55694bb61eb151a8b4695/html5/thumbnails/11.jpg)
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
![Page 12: Bonnes pratiques API - Paris Web 2013](https://reader035.fdocument.pub/reader035/viewer/2022062308/55d55694bb61eb151a8b4695/html5/thumbnails/12.jpg)
En faire peu…en ouvrant les possiblesEnrichir dans un second tempsSIMPLE, Standard, Pragmatique
Questions ? Débat ? Désaccord ? -> informelleseric.daspet.namewww.tea-ebook.com