Encadré Cors : l’erreur CORS (Cross origin Resource Sharing) intervient quand un site essaye d’accéder aux ressources d’un autre site (source). Le site source peut ouvrir ou limiter l’accès à ses ressources.
Les APIs ouvertes
Une API ouverte est accessible sans aucune identification préalable. Il suffit d’envoyer une requête vers l’URL concernée pour recevoir une réponse.
fetch('https://dog.ceo/api/breeds/image/random')
.then(res => res.json())
.then(data => console.log(data))
Ces APIs sont souvent utilisées à des fins pédagogiques ou pour des données véritablement publiques (données gouvernementales, informations culturelles, etc.).
Les APIs avec restrictions
La majorité des APIs professionnelles exigent une identification. Il est nécessaire de créer un compte auprès du fournisseur et d’obtenir une clé API (API key) ou un token d’accès. Ce jeton est ensuite transmis à chaque requête.
Les raisons sont généralement au nombre de deux : contrôler les volumes d’utilisation et facturer au-delà d’un certain quota.
La transmission se fait le plus souvent via un en-tête HTTP :
javascript
fetch('https://api.exemple.com/data', {
headers: {
'Authorization': 'Bearer MON_TOKEN'
}
})
Sécurité des tokens
Un token d’accès doit être considéré comme un mot de passe. Il ne doit jamais apparaître dans du code JavaScript exécuté côté navigateur, ni être déposé sur un dépôt public. Les appels vers des APIs sécurisées transitent idéalement par un serveur intermédiaire.
