Skip to content

Ressources du module Développement API (références, énoncés d'exercices et corrections, démos, etc.)

Notifications You must be signed in to change notification settings

paul-schuhm/web-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Développement API (web API/RESTful API)

Démos

Liste des démos (mini projets pour présenter un ou plusieurs concepts)

Démo youtypeitwepostit

Disponible sur ce dépôt.

#A la racine du projet
node server/app.js

Démos du cours

Exercices et corrections

Kit de démarrage complet pour développer son API

  • Starter pack: RESTful web API avec Node.js, Express.js, MySQL et Adminer, un starter pack dockerisé d'une application web Node.js pour développer une web API RESTful. En plus d'un service Node.js pour développer son application/API, le pack vient avec un service de base de données relationnelles (MySQL) et un gestionnaire de base de données graphique (Adminer).

Outils

Clients HTTP

  • cURL, un outil en ligne de commande pour le transfert de données via des URL. Peut être utilisé comme un client HTTP. Attention, cURL sur Windows et cURL sur les systèmes UNIX (GNU/Linux et macOS) ne sont pas implémentées pareil et ont des options différentes. Tous les exemples de cURL sur le dépôt et dans les supports de cours sont au format UNIX (à adapter pour Windows si besoin), sinon installer la WSL et utiliser cURL depuis votre instance GNU/Linux
  • Sur Windows, Invoke-RestMethod, un client HTTP intégré à PowerShell. Ouvrir une invite de commande PowerShell pour l'utiliser
  • Extension VScode Thunder Client, une extension pour effectuer des reqûetes HTTP et gérer des collections de requêtes depuis VS Code
  • Extension VSCode REST client, une extension pour effectuer des reqûetes HTTP et gérer des collections de requêtes depuis VS Code, plus minimaliste mais efficace
  • Postman, l'artillerie lourde. Nécessite de créer un compte
  • Swagger UI, servir de la documentation et de quoi tester son API directement sur son service web (voir Exercice 2 et starter-pack)

Références

Ouvrages

Conférences (YouTube)

Articles sur le web, les systèmes hypertextes et les services RESTful

Sur le cache HTTP

RFC (Request For Comments) intéressantes et utilisées

Documents à l'origine des standards du web. Vous êtes encouragé·es à les parcourir

Spécifications de structures de représentations/messages ou media types

Sur la sémantique des hypermédias (vocabulaires, actions)

  • Resource Description Framework, a pour but de décrire formellement les ressources Web et leurs métadonnées, afin de permettre le traitement automatique de ces descriptions. Développé par le W3C, RDF est le langage de base du Web sémantique;
  • Schema.org, Schema.org is a collaborative, community activity with a mission to create, maintain, and promote schemas for structured data on the Internet. Propose une liste de vocabulaires standardisés à suivre pour différents modèles de données;
  • Microformats wiki, un wiki qui décrit des spécifications de structure de données interopérables:
  • JSON-LD 1.1, A JSON-based Serialization for Linked Data, une spécification de représentation standardisée des données soutenue et recommandée par le W3C. Fait partie du projet Hydra. Vocabulaire standardisé
  • Hydra Core Vocabularies, soutenue et recommandée par le W3C Hydra is an effort to simplify the development of interoperable, hypermedia-driven Web APIs. The two fundamental building blocks of Hydra are JSON‑LD and the Hydra Core Vocabulary. Décrit des ressources, leurs types et leurs propriétés, ainsi que les opérations (actions) qui peuvent être effectuées sur ces ressources. Actions standardisées