{"id":1973,"date":"2024-10-09T11:37:53","date_gmt":"2024-10-09T03:37:53","guid":{"rendered":"https:\/\/www.openbyt.com\/persuasion-is-often-more-effectual-than-force-2"},"modified":"2024-10-17T19:56:16","modified_gmt":"2024-10-17T11:56:16","slug":"persuasion-is-often-more-effectual-than-force-2","status":"publish","type":"post","link":"https:\/\/www.openbyt.com\/fr\/la-persuasion-est-souvent-plus-efficace-que-la-force-2","title":{"rendered":"Ma\u00eetriser l'API REST de WordPress : Authentification et int\u00e9gration"},"content":{"rendered":"<p><strong>Qu'est-ce que l'API REST ?<\/strong><\/p><p><strong>API REST (interface de programmation d'application de transfert d'\u00e9tat repr\u00e9sentationnel) <\/strong>est un ensemble de r\u00e8gles qui permet \u00e0 diff\u00e9rents syst\u00e8mes logiciels de communiquer sur l'internet. Imaginez une API comme un pont reliant deux syst\u00e8mes, leur permettant de demander et de partager des informations.<\/p><figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.23.43-An-illustration-of-how-a-REST-API-works.-Include-a-visual-representation-of-an-API-as-a-bridge-connecting-two-systems-a-client-and-a-server-with-ar.webp\" alt=\"\" class=\"wp-image-2249\" srcset=\"https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.23.43-An-illustration-of-how-a-REST-API-works.-Include-a-visual-representation-of-an-API-as-a-bridge-connecting-two-systems-a-client-and-a-server-with-ar.webp 1024w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.23.43-An-illustration-of-how-a-REST-API-works.-Include-a-visual-representation-of-an-API-as-a-bridge-connecting-two-systems-a-client-and-a-server-with-ar-600x600.webp 600w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.23.43-An-illustration-of-how-a-REST-API-works.-Include-a-visual-representation-of-an-API-as-a-bridge-connecting-two-systems-a-client-and-a-server-with-ar-100x100.webp 100w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.23.43-An-illustration-of-how-a-REST-API-works.-Include-a-visual-representation-of-an-API-as-a-bridge-connecting-two-systems-a-client-and-a-server-with-ar-300x300.webp 300w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.23.43-An-illustration-of-how-a-REST-API-works.-Include-a-visual-representation-of-an-API-as-a-bridge-connecting-two-systems-a-client-and-a-server-with-ar-150x150.webp 150w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.23.43-An-illustration-of-how-a-REST-API-works.-Include-a-visual-representation-of-an-API-as-a-bridge-connecting-two-systems-a-client-and-a-server-with-ar-768x768.webp 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><p>D\u00e9cortiquons les composants d'une API REST :<\/p><ul class=\"wp-block-list\"><li><strong>API (Interface de programmation d'applications)<\/strong>: Une API est comme un menu dans un restaurant. Elle fournit une liste d'op\u00e9rations qu'un client peut demander, et le serveur (comme un chef) effectue ces op\u00e9rations et renvoie la r\u00e9ponse.<\/li>\n\n<li><strong>REST (Representational State Transfer)<\/strong>: REST est un ensemble de lignes directrices pour la cr\u00e9ation de services web qui fonctionnent sur HTTP, en utilisant des op\u00e9rations standard telles que GET, POST, PUT et DELETE.<\/li><\/ul><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.26.03-An-illustration-depicting-an-API-as-a-menu-in-a-restaurant.-Show-a-client-customer-selecting-from-a-menu-of-operations-with-a-server-chef-perform.webp\" alt=\"\" class=\"wp-image-2251\" srcset=\"https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.26.03-An-illustration-depicting-an-API-as-a-menu-in-a-restaurant.-Show-a-client-customer-selecting-from-a-menu-of-operations-with-a-server-chef-perform.webp 1024w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.26.03-An-illustration-depicting-an-API-as-a-menu-in-a-restaurant.-Show-a-client-customer-selecting-from-a-menu-of-operations-with-a-server-chef-perform-600x600.webp 600w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.26.03-An-illustration-depicting-an-API-as-a-menu-in-a-restaurant.-Show-a-client-customer-selecting-from-a-menu-of-operations-with-a-server-chef-perform-100x100.webp 100w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.26.03-An-illustration-depicting-an-API-as-a-menu-in-a-restaurant.-Show-a-client-customer-selecting-from-a-menu-of-operations-with-a-server-chef-perform-300x300.webp 300w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.26.03-An-illustration-depicting-an-API-as-a-menu-in-a-restaurant.-Show-a-client-customer-selecting-from-a-menu-of-operations-with-a-server-chef-perform-150x150.webp 150w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.26.03-An-illustration-depicting-an-API-as-a-menu-in-a-restaurant.-Show-a-client-customer-selecting-from-a-menu-of-operations-with-a-server-chef-perform-768x768.webp 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><p><strong _msttexthash=\"32972290\" _msthash=\"186\">Comment fonctionne une API REST ?<\/strong><\/p><p>L'API REST permet aux clients (comme votre navigateur ou une application) d'envoyer des demandes aux serveurs et de recevoir des donn\u00e9es en retour. Voyons comment cela fonctionne, \u00e9tape par \u00e9tape :<\/p><ol class=\"wp-block-list\"><li><strong>Demande du client<\/strong>: Le client (votre application) envoie une requ\u00eate HTTP \u00e0 une URL sp\u00e9cifique sur le serveur. Cette URL repr\u00e9sente une ressource (par exemple, un utilisateur, un produit, etc.).<ul class=\"wp-block-list\"><li>Exemple : GET <code>https:\/\/api.example.com\/users<\/code> demande la liste des utilisateurs.<\/li><\/ul><\/li>\n\n<li><strong>Traitement du serveur<\/strong>: Le serveur re\u00e7oit la demande, la traite, r\u00e9cup\u00e8re les donn\u00e9es (g\u00e9n\u00e9ralement \u00e0 partir d'une base de donn\u00e9es) et pr\u00e9pare une r\u00e9ponse.<\/li>\n\n<li><strong>R\u00e9ponse du serveur<\/strong>: Le serveur envoie une r\u00e9ponse HTTP au client. Cette r\u00e9ponse comprend<ul class=\"wp-block-list\"><li><strong>Code de statut<\/strong>: Indique si la demande a abouti (par exemple, 200 OK en cas de succ\u00e8s, 404 Not Found si la ressource n'existe pas).<\/li>\n\n<li><strong>Donn\u00e9es<\/strong>: G\u00e9n\u00e9ralement au format JSON, repr\u00e9sentant la ressource demand\u00e9e.<\/li><\/ul><\/li><\/ol><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.28.59-An-illustration-showing-the-process-of-a-client-sending-a-request-to-a-server.-Include-visuals-for-Client-Request-with-an-arrow-pointing-to-a-Serve.webp\" alt=\"\" class=\"wp-image-2252\" srcset=\"https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.28.59-An-illustration-showing-the-process-of-a-client-sending-a-request-to-a-server.-Include-visuals-for-Client-Request-with-an-arrow-pointing-to-a-Serve.webp 1024w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.28.59-An-illustration-showing-the-process-of-a-client-sending-a-request-to-a-server.-Include-visuals-for-Client-Request-with-an-arrow-pointing-to-a-Serve-600x600.webp 600w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.28.59-An-illustration-showing-the-process-of-a-client-sending-a-request-to-a-server.-Include-visuals-for-Client-Request-with-an-arrow-pointing-to-a-Serve-100x100.webp 100w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.28.59-An-illustration-showing-the-process-of-a-client-sending-a-request-to-a-server.-Include-visuals-for-Client-Request-with-an-arrow-pointing-to-a-Serve-300x300.webp 300w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.28.59-An-illustration-showing-the-process-of-a-client-sending-a-request-to-a-server.-Include-visuals-for-Client-Request-with-an-arrow-pointing-to-a-Serve-150x150.webp 150w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.28.59-An-illustration-showing-the-process-of-a-client-sending-a-request-to-a-server.-Include-visuals-for-Client-Request-with-an-arrow-pointing-to-a-Serve-768x768.webp 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><p><strong>Authentification de base :<\/strong> Qu'est-ce que c'est et pourquoi est-ce important ?<\/p><p><strong>Authentification de base<\/strong> est un moyen simple pour les utilisateurs de v\u00e9rifier leur identit\u00e9 lorsqu'ils demandent une API. Dans cette m\u00e9thode, le client envoie le nom d'utilisateur et le mot de passe encod\u00e9s dans l'en-t\u00eate de la requ\u00eate, que le serveur valide ensuite.<\/p><p><strong>Pourquoi est-ce important ?<\/strong>: L'authentification garantit que seuls les utilisateurs autoris\u00e9s ont acc\u00e8s aux ressources, emp\u00eachant ainsi les utilisateurs non autoris\u00e9s d'y acc\u00e9der.<\/p><p><strong>Comment cela fonctionne-t-il ?<\/strong>: Lorsqu'un client envoie une requ\u00eate au serveur, il inclut un <code>Autorisation<\/code> avec les informations d'identification encod\u00e9es en Base64.<\/p><p><strong>Exemple\uff1a<\/strong><\/p><pre class=\"wp-block-code\"><code>Autorisation : Basic dXNlcm5hbWU6cGFzc3dvcmQ=<\/code><\/pre><p>Le serveur d\u00e9code cet en-t\u00eate et v\u00e9rifie si le nom d'utilisateur et le mot de passe sont valides.<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.34.10-An-illustration-explaining-Basic-Authentication-for-REST-API.-Show-a-simplified-visual-of-a-client-user-sending-an-HTTP-request-to-a-server-with-an.webp\" alt=\"\" class=\"wp-image-2255\" srcset=\"https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.34.10-An-illustration-explaining-Basic-Authentication-for-REST-API.-Show-a-simplified-visual-of-a-client-user-sending-an-HTTP-request-to-a-server-with-an.webp 1024w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.34.10-An-illustration-explaining-Basic-Authentication-for-REST-API.-Show-a-simplified-visual-of-a-client-user-sending-an-HTTP-request-to-a-server-with-an-600x600.webp 600w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.34.10-An-illustration-explaining-Basic-Authentication-for-REST-API.-Show-a-simplified-visual-of-a-client-user-sending-an-HTTP-request-to-a-server-with-an-100x100.webp 100w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.34.10-An-illustration-explaining-Basic-Authentication-for-REST-API.-Show-a-simplified-visual-of-a-client-user-sending-an-HTTP-request-to-a-server-with-an-300x300.webp 300w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.34.10-An-illustration-explaining-Basic-Authentication-for-REST-API.-Show-a-simplified-visual-of-a-client-user-sending-an-HTTP-request-to-a-server-with-an-150x150.webp 150w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.34.10-An-illustration-explaining-Basic-Authentication-for-REST-API.-Show-a-simplified-visual-of-a-client-user-sending-an-HTTP-request-to-a-server-with-an-768x768.webp 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><p><strong>M\u00e9thodes d'authentification pour l'API REST de WordPress<\/strong><\/p><p>Lorsque vous travaillez avec le <strong>API REST WordPress<\/strong>Plusieurs m\u00e9thodes d'authentification peuvent \u00eatre utilis\u00e9es pour s\u00e9curiser les demandes :<\/p><p><strong>1\uff1aAuthentification de base<\/strong><\/p><ul class=\"wp-block-list\"><li>Cette m\u00e9thode est souvent utilis\u00e9e pour des tests et des applications simples. Vous envoyez votre nom d'utilisateur et votre mot de passe WordPress dans les en-t\u00eates de la requ\u00eate.<\/li>\n\n<li><strong>Astuce du plugin<\/strong>: Pour utiliser l'authentification de base avec WordPress, vous pouvez utiliser l'option <a href=\"https:\/\/github.com\/WP-API\/Basic-Auth\" target=\"_blank\" rel=\"noreferrer noopener\">Plugin d'authentification de base<\/a>. Cette m\u00e9thode n'est pas recommand\u00e9e pour les environnements de production en raison de probl\u00e8mes de s\u00e9curit\u00e9.<\/li><\/ul><p><strong>2\uff1aCookie Authentification<\/strong><\/p><ul class=\"wp-block-list\"><li>L'authentification par cookie est utilis\u00e9e lorsque vous souhaitez que l'utilisateur actuellement connect\u00e9 acc\u00e8de \u00e0 l'API. Lorsqu'un utilisateur se connecte \u00e0 WordPress, un cookie de session est cr\u00e9\u00e9 et l'API utilise ce cookie pour authentifier l'utilisateur.<\/li>\n\n<li><strong>Cas d'utilisation<\/strong>: Cette option est souvent utilis\u00e9e pour les applications JavaScript frontales fonctionnant sur le m\u00eame domaine que le site WordPress.<\/li><\/ul><p><strong>3\uff1aOAuth Authentification<\/strong><\/p><ul class=\"wp-block-list\"><li>OAuth est une m\u00e9thode plus s\u00fbre qui permet \u00e0 des applications tierces d'acc\u00e9der \u00e0 l'API REST de WordPress au nom des utilisateurs sans partager leurs mots de passe.<\/li>\n\n<li><strong>Exemple de plugin<\/strong>: Vous pouvez utiliser le plugin serveur OAuth 1.0a pour WordPress pour mettre en \u0153uvre l'authentification bas\u00e9e sur OAuth.<\/li><\/ul><p><strong>4\uff1aApplication Mots de passe<\/strong><\/p><ul class=\"wp-block-list\"><li>WordPress prend \u00e9galement en charge <strong>Mots de passe de l'application<\/strong>qui sont des mots de passe uniques pour l'acc\u00e8s \u00e0 l'API. Vous pouvez g\u00e9n\u00e9rer des mots de passe d'application dans votre tableau de bord WordPress, et ces mots de passe peuvent \u00eatre utilis\u00e9s pour l'authentification.<\/li>\n\n<li><strong>Comment g\u00e9n\u00e9rer<\/strong>: Allez dans votre profil d'utilisateur dans WordPress, faites d\u00e9filer jusqu'\u00e0 la section Application Passwords, et g\u00e9n\u00e9rez un nouveau mot de passe.<\/li><\/ul><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.41.26-An-illustration-comparing-different-WordPress-REST-API-authentication-methods.-Include-visual-representations-for-Basic-Authentication-username-and-p.webp\" alt=\"\" class=\"wp-image-2257\" srcset=\"https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.41.26-An-illustration-comparing-different-WordPress-REST-API-authentication-methods.-Include-visual-representations-for-Basic-Authentication-username-and-p.webp 1024w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.41.26-An-illustration-comparing-different-WordPress-REST-API-authentication-methods.-Include-visual-representations-for-Basic-Authentication-username-and-p-600x600.webp 600w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.41.26-An-illustration-comparing-different-WordPress-REST-API-authentication-methods.-Include-visual-representations-for-Basic-Authentication-username-and-p-100x100.webp 100w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.41.26-An-illustration-comparing-different-WordPress-REST-API-authentication-methods.-Include-visual-representations-for-Basic-Authentication-username-and-p-300x300.webp 300w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.41.26-An-illustration-comparing-different-WordPress-REST-API-authentication-methods.-Include-visual-representations-for-Basic-Authentication-username-and-p-150x150.webp 150w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.41.26-An-illustration-comparing-different-WordPress-REST-API-authentication-methods.-Include-visual-representations-for-Basic-Authentication-username-and-p-768x768.webp 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><p><strong>Maximiser le d\u00e9veloppement avec l'API REST de WordPress<\/strong><\/p><p>L'API WordPress REST permet de cr\u00e9er de puissantes applications web en vous permettant d'interagir avec votre site WordPress depuis l'ext\u00e9rieur du tableau de bord de WordPress. Voici comment vous pouvez optimiser le d\u00e9veloppement :<\/p><p><strong>1\uff1aCustom Endpoints :<\/strong> Vous pouvez cr\u00e9er des points de terminaison personnalis\u00e9s pour exposer des donn\u00e9es suppl\u00e9mentaires de votre site WordPress qui peuvent ne pas \u00eatre disponibles par d\u00e9faut.<\/p><ul class=\"wp-block-list\"><li><strong>Comment cr\u00e9er<\/strong>: Utilisez la fonction <code>register_rest_route()<\/code> dans votre th\u00e8me ou plugin WordPress pour ajouter de nouveaux points de terminaison.<\/li><\/ul><p>Exemple :<\/p><pre class=\"wp-block-code\"><code>add_action('rest_api_init', function() {\n  register_rest_route('myplugin\/v1', '\/custom-data\/', array(\n    'methods' =&gt; 'GET',\n    'callback' =&gt; 'my_custom_data_callback',\n  )) ;\n}) ;\n\nfunction my_custom_data_callback() {\n  return new WP_REST_Response(array('data' =&gt; 'Hello, world!'), 200) ;\n}<\/code><\/pre><p><strong>2\uff1aJavaScript Integration :<\/strong> Utilisez JavaScript pour envoyer des requ\u00eates \u00e0 l'API REST afin de cr\u00e9er des exp\u00e9riences utilisateur dynamiques et interactives. Par exemple, vous pouvez cr\u00e9er une application React ou Vue.js qui interagit avec votre backend WordPress via l'API REST.<\/p><p><strong>Exemple pratique<\/strong>: Imaginez que vous construisiez un syst\u00e8me de commentaires personnalis\u00e9 dans lequel les utilisateurs peuvent publier des commentaires sans recharger la page, tout en interagissant avec l'API REST via JavaScript.<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.50.24-A-realistic-illustration-of-a-developer-working-on-WordPress-REST-API.-The-scene-includes-a-modern-workspace-with-a-developer-sitting-at-a-desk-in-fr.webp\" alt=\"\" class=\"wp-image-2258\" srcset=\"https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.50.24-A-realistic-illustration-of-a-developer-working-on-WordPress-REST-API.-The-scene-includes-a-modern-workspace-with-a-developer-sitting-at-a-desk-in-fr.webp 1024w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.50.24-A-realistic-illustration-of-a-developer-working-on-WordPress-REST-API.-The-scene-includes-a-modern-workspace-with-a-developer-sitting-at-a-desk-in-fr-600x600.webp 600w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.50.24-A-realistic-illustration-of-a-developer-working-on-WordPress-REST-API.-The-scene-includes-a-modern-workspace-with-a-developer-sitting-at-a-desk-in-fr-100x100.webp 100w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.50.24-A-realistic-illustration-of-a-developer-working-on-WordPress-REST-API.-The-scene-includes-a-modern-workspace-with-a-developer-sitting-at-a-desk-in-fr-300x300.webp 300w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.50.24-A-realistic-illustration-of-a-developer-working-on-WordPress-REST-API.-The-scene-includes-a-modern-workspace-with-a-developer-sitting-at-a-desk-in-fr-150x150.webp 150w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.50.24-A-realistic-illustration-of-a-developer-working-on-WordPress-REST-API.-The-scene-includes-a-modern-workspace-with-a-developer-sitting-at-a-desk-in-fr-768x768.webp 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><p><strong>Envoi de requ\u00eates authentifi\u00e9es avec JavaScript<\/strong><\/p><p>Pour envoyer des requ\u00eates authentifi\u00e9es \u00e0 l'aide de JavaScript, vous devez inclure les informations d'identification ou les jetons corrects dans les en-t\u00eates de la requ\u00eate. Par exemple :<\/p><pre class=\"wp-block-code\"><code>fetch('https:\/\/api.example.com\/users', {\n  method : 'GET',\n  headers : {\n    'Authorization' : 'Basic ' + btoa('username:password'),\n    'Content-Type' : 'application\/json'\n  }\n})\n  .then(response =&gt; response.json())\n  .then(data =&gt; console.log(data)) ;<\/code><\/pre><p>Dans cet exemple, la fonction btoa() encode les informations d'identification en Base64 pour l'authentification primaire.<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.54.03-An-illustration-showing-a-developer-using-JavaScript-to-send-authenticated-requests-to-a-REST-API.-Include-a-visual-of-a-computer-screen-with-JavaScri.webp\" alt=\"\" class=\"wp-image-2259\" srcset=\"https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.54.03-An-illustration-showing-a-developer-using-JavaScript-to-send-authenticated-requests-to-a-REST-API.-Include-a-visual-of-a-computer-screen-with-JavaScri.webp 1024w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.54.03-An-illustration-showing-a-developer-using-JavaScript-to-send-authenticated-requests-to-a-REST-API.-Include-a-visual-of-a-computer-screen-with-JavaScri-600x600.webp 600w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.54.03-An-illustration-showing-a-developer-using-JavaScript-to-send-authenticated-requests-to-a-REST-API.-Include-a-visual-of-a-computer-screen-with-JavaScri-100x100.webp 100w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.54.03-An-illustration-showing-a-developer-using-JavaScript-to-send-authenticated-requests-to-a-REST-API.-Include-a-visual-of-a-computer-screen-with-JavaScri-300x300.webp 300w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.54.03-An-illustration-showing-a-developer-using-JavaScript-to-send-authenticated-requests-to-a-REST-API.-Include-a-visual-of-a-computer-screen-with-JavaScri-150x150.webp 150w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-16.54.03-An-illustration-showing-a-developer-using-JavaScript-to-send-authenticated-requests-to-a-REST-API.-Include-a-visual-of-a-computer-screen-with-JavaScri-768x768.webp 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><p><strong>Authentification par cookie<\/strong><\/p><p>Lorsque vous travaillez avec l'authentification par cookie, vous pouvez utiliser les cookies de session de l'utilisateur connect\u00e9 \u00e0 WordPress pour acc\u00e9der \u00e0 l'API REST. Voici un exemple de fonctionnement \u00e9tape par \u00e9tape :<\/p><ol class=\"wp-block-list\"><li><strong>L'utilisateur se connecte<\/strong> L'utilisateur se connecte \u00e0 votre site WordPress et WordPress place un cookie d'authentification dans le navigateur de l'utilisateur.<\/li>\n\n<li><strong>Envoyer des demandes<\/strong>: Lorsque votre code JavaScript demande l'API REST, le navigateur inclut le cookie dans les en-t\u00eates de la demande, et WordPress sait quel utilisateur fait la demande.<\/li><\/ol><p><strong>Envoyer des requ\u00eates avec l'API HTTP de WordPress<\/strong><\/p><p>Vous pouvez \u00e9galement utiliser la fonction <strong>API HTTP WordPress<\/strong> pour envoyer des requ\u00eates depuis votre site WordPress. L'API HTTP est un ensemble de fonctions que WordPress fournit pour interagir avec les API REST.<\/p><p>Exemple d'envoi d'une requ\u00eate GET :<\/p><pre class=\"wp-block-code\"><code>$response = wp_remote_get('https:\/\/api.example.com\/users') ;\nif (is_wp_error($response)) {\n  $error_message = $response-&gt;get_error_message() ;\n  echo \"Quelque chose s'est mal pass\u00e9 : $error_message\" ;\n} else {\n  $body = wp_remote_retrieve_body($response) ;\n  echo $body ;\n}<\/code><\/pre><p>Cet exemple utilise la fonction wp_remote_get() pour envoyer une requ\u00eate GET \u00e0 une API externe et r\u00e9cup\u00e9rer la r\u00e9ponse.<\/p><h3 class=\"wp-block-heading\">R\u00e9sum\u00e9<\/h3><p>Dans ce guide, nous avons abord\u00e9 les sujets suivants :<\/p><ul class=\"wp-block-list\"><li><strong>Qu'est-ce que l'API REST ?<\/strong> et comment permet-il \u00e0 diff\u00e9rents syst\u00e8mes de communiquer ?<\/li>\n\n<li><strong>Comment fonctionne l'API REST<\/strong>y compris les modalit\u00e9s d'introduction et de traitement des demandes.<\/li>\n\n<li><strong>M\u00e9thodes d'authentification<\/strong>L'authentification de base, l'authentification par cookie, OAuth et les mots de passe d'application, ainsi que les raisons pour lesquelles ils sont essentiels.<\/li>\n\n<li><strong>Authentification de l'API REST de WordPress<\/strong>y compris la mani\u00e8re d'utiliser JavaScript et PHP pour envoyer des requ\u00eates authentifi\u00e9es.<\/li><\/ul><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-17.00.52-A-clear-and-engaging-illustration-summarizing-the-use-of-WordPress-REST-API-for-development.-Show-a-developer-at-a-computer-screen-creating-custom-end.webp\" alt=\"\" class=\"wp-image-2262\" srcset=\"https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-17.00.52-A-clear-and-engaging-illustration-summarizing-the-use-of-WordPress-REST-API-for-development.-Show-a-developer-at-a-computer-screen-creating-custom-end.webp 1024w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-17.00.52-A-clear-and-engaging-illustration-summarizing-the-use-of-WordPress-REST-API-for-development.-Show-a-developer-at-a-computer-screen-creating-custom-end-600x600.webp 600w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-17.00.52-A-clear-and-engaging-illustration-summarizing-the-use-of-WordPress-REST-API-for-development.-Show-a-developer-at-a-computer-screen-creating-custom-end-100x100.webp 100w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-17.00.52-A-clear-and-engaging-illustration-summarizing-the-use-of-WordPress-REST-API-for-development.-Show-a-developer-at-a-computer-screen-creating-custom-end-300x300.webp 300w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-17.00.52-A-clear-and-engaging-illustration-summarizing-the-use-of-WordPress-REST-API-for-development.-Show-a-developer-at-a-computer-screen-creating-custom-end-150x150.webp 150w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-17.00.52-A-clear-and-engaging-illustration-summarizing-the-use-of-WordPress-REST-API-for-development.-Show-a-developer-at-a-computer-screen-creating-custom-end-768x768.webp 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><h3 class=\"wp-block-heading\">FAQ : Questions courantes sur l'API REST et l'authentification<\/h3><ol class=\"wp-block-list\"><li><strong>Puis-je utiliser l'API REST sans authentification ?<\/strong><ul class=\"wp-block-list\"><li>Oui, mais uniquement pour les donn\u00e9es publiques. Pour les donn\u00e9es sensibles, vous avez besoin d'une authentification appropri\u00e9e.<\/li><\/ul><\/li>\n\n<li><strong>L'authentification de base est-elle s\u00fbre ?<\/strong><ul class=\"wp-block-list\"><li>L'authentification de base n'est pas s\u00e9curis\u00e9e pour la production car les informations d'identification sont cod\u00e9es et non crypt\u00e9es. Elle est mieux adapt\u00e9e aux tests ou \u00e0 l'utilisation de HTTPS.<\/li><\/ul><\/li>\n\n<li><strong>\u00c0 quoi servent les mots de passe d'application ?<\/strong><ul class=\"wp-block-list\"><li>Les mots de passe d'application authentifient les demandes d'API sans partager votre mot de passe WordPress principal. Ils permettent d'int\u00e9grer des applications tierces.<\/li><\/ul><\/li><\/ol><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-17.03.17-An-illustration-summarizing-common-questions-about-REST-API-and-authentication-for-WordPress.-Include-visual-representations-of-key-FAQ-items_-using-R.webp\" alt=\"\" class=\"wp-image-2263\" srcset=\"https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-17.03.17-An-illustration-summarizing-common-questions-about-REST-API-and-authentication-for-WordPress.-Include-visual-representations-of-key-FAQ-items_-using-R.webp 1024w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-17.03.17-An-illustration-summarizing-common-questions-about-REST-API-and-authentication-for-WordPress.-Include-visual-representations-of-key-FAQ-items_-using-R-600x600.webp 600w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-17.03.17-An-illustration-summarizing-common-questions-about-REST-API-and-authentication-for-WordPress.-Include-visual-representations-of-key-FAQ-items_-using-R-100x100.webp 100w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-17.03.17-An-illustration-summarizing-common-questions-about-REST-API-and-authentication-for-WordPress.-Include-visual-representations-of-key-FAQ-items_-using-R-300x300.webp 300w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-17.03.17-An-illustration-summarizing-common-questions-about-REST-API-and-authentication-for-WordPress.-Include-visual-representations-of-key-FAQ-items_-using-R-150x150.webp 150w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-17.03.17-An-illustration-summarizing-common-questions-about-REST-API-and-authentication-for-WordPress.-Include-visual-representations-of-key-FAQ-items_-using-R-768x768.webp 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><h3 class=\"wp-block-heading\">Prochaines \u00e9tapes<\/h3><ul class=\"wp-block-list\"><li><strong>Pratique de l'authentification<\/strong>: Essayez de mettre en \u0153uvre diff\u00e9rentes m\u00e9thodes d'authentification sur un site WordPress local.<\/li>\n\n<li><strong>Cr\u00e9er des points de terminaison personnalis\u00e9s<\/strong>: Exp\u00e9rimentez la cr\u00e9ation de points d'extr\u00e9mit\u00e9 personnalis\u00e9s dans WordPress pour \u00e9tendre les fonctionnalit\u00e9s de votre API REST.<\/li>\n\n<li><strong>Int\u00e9gration de JavaScript et PHP<\/strong>: Entra\u00eenez-vous \u00e0 envoyer des requ\u00eates en utilisant JavaScript (comme fetch) et PHP (en utilisant l'API HTTP de WordPress).<\/li>\n\n<li><strong>Utiliser Postman pour les tests<\/strong>: Utilisez des outils tels que <a href=\"https:\/\/www.postman.com\/\" target=\"_blank\" rel=\"noopener\">Facteur<\/a> pour tester vos points d'extr\u00e9mit\u00e9 d'API REST et vous entra\u00eener \u00e0 envoyer des requ\u00eates authentifi\u00e9es.<\/li><\/ul><p>Bon codage et continuez \u00e0 explorer ! L'API REST est un outil puissant, et comprendre comment l'utiliser vous ouvrira des possibilit\u00e9s infinies en mati\u00e8re de d\u00e9veloppement web.<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-17.04.49-An-illustration-summarizing-next-steps-for-practicing-WordPress-REST-API-development.-Show-a-developers-workspace-with-elements-like-practicing-diffe.webp\" alt=\"\" class=\"wp-image-2264\" srcset=\"https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-17.04.49-An-illustration-summarizing-next-steps-for-practicing-WordPress-REST-API-development.-Show-a-developers-workspace-with-elements-like-practicing-diffe.webp 1024w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-17.04.49-An-illustration-summarizing-next-steps-for-practicing-WordPress-REST-API-development.-Show-a-developers-workspace-with-elements-like-practicing-diffe-600x600.webp 600w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-17.04.49-An-illustration-summarizing-next-steps-for-practicing-WordPress-REST-API-development.-Show-a-developers-workspace-with-elements-like-practicing-diffe-100x100.webp 100w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-17.04.49-An-illustration-summarizing-next-steps-for-practicing-WordPress-REST-API-development.-Show-a-developers-workspace-with-elements-like-practicing-diffe-300x300.webp 300w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-17.04.49-An-illustration-summarizing-next-steps-for-practicing-WordPress-REST-API-development.-Show-a-developers-workspace-with-elements-like-practicing-diffe-150x150.webp 150w, https:\/\/www.openbyt.com\/wp-content\/uploads\/2024\/10\/DALL\u00b7E-2024-10-10-17.04.49-An-illustration-summarizing-next-steps-for-practicing-WordPress-REST-API-development.-Show-a-developers-workspace-with-elements-like-practicing-diffe-768x768.webp 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>","protected":false},"excerpt":{"rendered":"<p>Qu'est-ce que l'API REST ? L'API REST (Representational State Transfer Application Programming Interface) est un ensemble de r\u00e8gles qui permet \u00e0 diff\u00e9rents syst\u00e8mes logiciels de communiquer...<\/p>","protected":false},"author":1,"featured_media":3107,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33,78],"tags":[191,193,192,190],"class_list":["post-1973","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-rest-api","category-rest-api-use","tag-authenticationmethods","tag-javascriptintegration","tag-webdevelopment","tag-wordpressrestapi",""],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.openbyt.com\/fr\/wp-json\/wp\/v2\/posts\/1973","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.openbyt.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.openbyt.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.openbyt.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.openbyt.com\/fr\/wp-json\/wp\/v2\/comments?post=1973"}],"version-history":[{"count":11,"href":"https:\/\/www.openbyt.com\/fr\/wp-json\/wp\/v2\/posts\/1973\/revisions"}],"predecessor-version":[{"id":3191,"href":"https:\/\/www.openbyt.com\/fr\/wp-json\/wp\/v2\/posts\/1973\/revisions\/3191"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.openbyt.com\/fr\/wp-json\/wp\/v2\/media\/3107"}],"wp:attachment":[{"href":"https:\/\/www.openbyt.com\/fr\/wp-json\/wp\/v2\/media?parent=1973"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.openbyt.com\/fr\/wp-json\/wp\/v2\/categories?post=1973"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.openbyt.com\/fr\/wp-json\/wp\/v2\/tags?post=1973"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}