From 6b80b26a90bac46859e938c0ecae8ccfbab34b49 Mon Sep 17 00:00:00 2001 From: Remi Allegre <remi.allegre@unistra.fr> Date: Thu, 6 Mar 2025 14:32:44 +0100 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20du=20README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 71 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 49 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 7ba0b20..8cb2575 100644 --- a/README.md +++ b/README.md @@ -2,22 +2,45 @@ A utiliser avec XAMPP, WAMP, Laragon, ou équivalent. -##Exemples d'appels +### Exemples d'appels - Restaurer la base de données à partir du fichier users.orig.json (GET) : - users.php?function=restore + +``` +users.php?function=restore +``` + - Envoyer tous les users (GET) : - users.php?function=readall + +``` +users.php?function=readall +``` + - Envoyer le user dont l'id a la valeur 1 (GET) : - users.php?function=read&user=1 + +``` +users.php?function=read&user=1 +``` + - Recevoir un nouveau user et envoyer le tableau users mis à jour (POST) : - users.php?function=create + +``` + users.php?function=create +``` + - Supprimer le user dont l'id a la valeur 1 et envoyer le tableau users mis à jour (DELETE) : - users.php?function=delete&user=1 + +``` +users.php?function=delete&user=1 +``` + - Mettre à jour le user dont l'id a la valeur 1 et envoyer le tableau users mis à jour (PUT) : - users.php?function=update&user=1 - -## Configurer Apache pour les requêtes Cross-Origin + +``` +users.php?function=update&user=1 +``` + +### Configurer Apache pour les requêtes Cross-Origin Lors de l'exécution de la fonction fetch(…) côté front, si les réponses HTTP du serveur web ne contiennent pas d'en-tête Access-Control-Allow-Origin, le navigateur va bloquer l'exécution de fetch. C'est ce qu'on appelle le Cross-origin Resource Sharing (CORS), ou “partage de ressources entre origines multiplesâ€, qui est restreint par défaut pour des raisons de sécurité. @@ -25,21 +48,25 @@ Si vous utilisez un serveur Apache (cas de XAMPP, WAMP, Laragon, etc.), vous dev Exemple qui permet d'autoriser les requêtes depuis 127.0.0.1:5500 (Live Server de VSCode) et localhost:5173 (serveur web de Vite.js) : +``` <Directory "..."> - ... - SetEnvIf Origin "^http?://[^/]*(127.0.0.1:5500|localhost:5173)$" ORIGIN=$0 - Header set Access-Control-Allow-Origin %{ORIGIN}e env=ORIGIN - Header set Access-Control-Allow-Credentials "true" env=ORIGIN - # Always set Vary: Origin when it's possible you may send CORS headers - Header merge Vary Origin - Header set Access-Control-Allow-Methods "GET,POST,PUT,DELETE" - Header set Access-Control-Allow-Headers "Content-Type" +... +SetEnvIf Origin "^http?://[^/]\*(127.0.0.1:5500|localhost:5173)$" ORIGIN=$0 +Header set Access-Control-Allow-Origin %{ORIGIN}e env=ORIGIN +Header set Access-Control-Allow-Credentials "true" env=ORIGIN # Always set Vary: Origin when it's possible you may send CORS headers +Header merge Vary Origin +Header set Access-Control-Allow-Methods "GET,POST,PUT,DELETE" +Header set Access-Control-Allow-Headers "Content-Type" </Directory> +``` + Plus simplement, vous pouvez autoriser les requêtes depuis n'importe quel hôte de la façon suivante, mais cela n'est pas recommandé sur un serveur web autre que local pour des raisons de sécurité : +``` <Directory "..."> - ... - Header set Access-Control-Allow-Origin "*" - Header set Access-Control-Allow-Methods "GET,POST,PUT,DELETE" - Header set Access-Control-Allow-Headers "Content-Type" -</Directory> \ No newline at end of file +... +Header set Access-Control-Allow-Origin "\*" +Header set Access-Control-Allow-Methods "GET,POST,PUT,DELETE" +Header set Access-Control-Allow-Headers "Content-Type" +</Directory> +``` -- GitLab