{"id":25868,"date":"2021-06-14T16:50:00","date_gmt":"2021-06-14T13:50:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25868"},"modified":"2021-10-18T02:04:19","modified_gmt":"2021-10-17T23:04:19","slug":"comment-ajouter-des-points-de-terminaison-personnalises-a-l-api-wordpress","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fr\/comment-ajouter-des-points-de-terminaison-personnalises-a-l-api-wordpress\/","title":{"rendered":"Comment ajouter des points de terminaison personnalis\u00e9s \u00e0 l&rsquo;API WordPress"},"content":{"rendered":"<p>R\u00e9cemment, j&rsquo;ai travaill\u00e9 sur un projet o\u00f9 nous voulions utiliser AngularJS sur le front-end et WordPress comme backend. Afin d&rsquo;\u00e9changer des donn\u00e9es entre AngularJS et WordPress, nous avons utilis\u00e9 l&rsquo;API WordPress REST. Ce fut une bonne exp\u00e9rience de travailler avec l&rsquo;API REST dans WordPress. WordPress fournit un moyen tr\u00e8s propre et efficace de commencer \u00e0 utiliser l&rsquo;API REST. Ce CMS populaire vous permet \u00e9galement de cr\u00e9er le point de terminaison personnalis\u00e9 pour envoyer\/recevoir des donn\u00e9es via celui-ci.<\/p>\n<p>Dans cet article, nous \u00e9tudions comment cr\u00e9er un point de terminaison personnalis\u00e9 dans l&rsquo;API REST WordPress. Je vais cr\u00e9er le point de terminaison personnalis\u00e9 pour les requ\u00eates GET et POST.<\/p>\n<h3>Utilisation de l&rsquo;API REST WordPress<\/h3>\n<p>Tout le monde conna\u00eet la popularit\u00e9 des applications mobiles et des frameworks JavaScript. Lors de la cr\u00e9ation d&rsquo;une application mobile ou d&rsquo;un site Web \u00e0 l&rsquo;aide du framework JavaScript, vous devez interagir avec le backend pour l&rsquo;\u00e9change de donn\u00e9es.<\/p>\n<p>On peut choisir n&rsquo;importe quelle plate-forme comme WordPress, Laravel \u00e0 des fins de backend. La seule exigence est que vous devez avoir des points de terminaison d&rsquo;API sur votre plate-forme backend pour \u00e9changer des donn\u00e9es avec le frontend. Le syst\u00e8me frontal donne un appel API au backend. Sur le backend, nous devons construire un syst\u00e8me qui re\u00e7oit les requ\u00eates API et les traite.<\/p>\n<p>Nous avons principalement utilis\u00e9 deux types de requ\u00eates dans les points de terminaison d&rsquo;API\u00a0: GET et POST. Pendant que nous appelons l&rsquo;API avec la requ\u00eate GET, l&rsquo;API fournira des donn\u00e9es de la base de donn\u00e9es en r\u00e9ponse ou supprimera les donn\u00e9es de la base de donn\u00e9es. Dans le cas des requ\u00eates POST, nous ins\u00e9rons des enregistrements dans la base de donn\u00e9es ou v\u00e9rifions les donn\u00e9es par rapport \u00e0 la base de donn\u00e9es. Bien s\u00fbr, ce n&rsquo;est pas une r\u00e8gle de pouce. Les utilisateurs peuvent d\u00e9cider de son comportement en fonction de leurs besoins.<\/p>\n<h3>Autorisation \u00e0 l&rsquo;aide de l&rsquo;API REST WordPress<\/h3>\n<p>L&rsquo;API REST WordPress vous oblige \u00e0 suivre le flux d&rsquo;authentification de base. Dans l&rsquo;authentification de base, vous devez envoyer un jeton dans l&rsquo;en-t\u00eate d&rsquo;autorisation lors de l&rsquo;envoi d&rsquo;une demande d&rsquo;API. \u00c0 partir de WordPress 5.6, une nouvelle fonctionnalit\u00e9 \u00ab\u00a0Mot de passe d&rsquo;application\u00a0\u00bb est introduite dans le syst\u00e8me. Ce mot de passe d&rsquo;application (avec nom d&rsquo;utilisateur) peut \u00eatre utilis\u00e9 comme jeton dans l&rsquo;en-t\u00eate d&rsquo;autorisation.<\/p>\n<p>Les mots de passe d&rsquo;application sont disponibles pour tous les utilisateurs sur les sites desservis par SSL\/HTTPS. Si, pour une raison quelconque, vous n&rsquo;utilisez pas SSL sur votre site Web, vous le rendez disponible \u00e0 l&rsquo;aide du filtre ci-dessous.<\/p>\n<pre><code>add_filter( 'wp_is_application_passwords_available', '__return_true' );<\/code><\/pre>\n<p>Vous trouverez l&rsquo;option pour les mots de passe d&rsquo;application sur la page <strong>Utilisateurs-&gt;Profil<\/strong>. G\u00e9n\u00e9rez le mot de passe en entrant simplement le nom de l&rsquo;application.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20211-6081cde961b7f.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20211-6081cde961b7f.png\" alt=\"Comment ajouter des points de terminaison personnalis\u00e9s \u00e0 l&#039;API WordPress\" ><\/a><\/p>\n<p>Dans la capture d&rsquo;\u00e9cran, vous remarquez les espaces dans le mot de passe. Les mots de passe d&rsquo;application peuvent \u00eatre utilis\u00e9s avec ou sans espaces. S&rsquo;ils sont inclus, les espaces seront simplement supprim\u00e9s avant que le mot de passe ne soit hach\u00e9 et v\u00e9rifi\u00e9 du c\u00f4t\u00e9 de WordPress.<\/p>\n<p>Maintenant, vous \u00eates pr\u00eat avec le mot de passe. Ensuite, pour cr\u00e9er un jeton d&rsquo;authentification, vous devez cr\u00e9er une version cod\u00e9e en Base64 de votre nom d&rsquo;utilisateur et du mot de passe de l&rsquo;application. Disons que votre nom d&rsquo;utilisateur est \u00ab\u00a0admin\u00a0\u00bb et que votre mot de passe est \u00ab\u00a0Ho9c 9vGs AOBG nXb0 FPpr W5vO\u00a0\u00bb. Utilisez l&rsquo;instruction suivante qui vous donne un jeton valide final.<\/p>\n<pre><code>&lt;?php\n$username = 'admin';\n$application_password = 'Ho9c 9vGs AOBG nXb0 FPpr W5vO';\n\u00a0\necho base64_encode($username.':'.$application_password);<\/code><\/pre>\n<p>L&rsquo;instruction ci-dessus renvoie une valeur de jeton sous la forme <code>YWRtaW46SG85YyA5dkdzIEFPQkcgblhiMCBGUHByIFc1dk8=<\/code>. Vous devez envoyer ce jeton dans l&rsquo;en-t\u00eate d&rsquo;autorisation lors de l&rsquo;appel de l&rsquo;API REST WordPress.<\/p>\n<h3>Connectez-vous \u00e0 l&rsquo;aide de l&rsquo;API REST WordPress<\/h3>\n<p>Nous sommes pr\u00eats avec la valeur du jeton d&rsquo;authentification de base. Maintenant, cr\u00e9ons un point de terminaison personnalis\u00e9 pour un syst\u00e8me de connexion. Dans le code ci-dessous, nous \u00e9crivons un point de terminaison d&rsquo;API qui re\u00e7oit les informations d&rsquo;identification de l&rsquo;utilisateur et v\u00e9rifie si les d\u00e9tails sont corrects ou non. Vous devez ajouter ce code dans votre <code>functions.php<\/code>fichier de th\u00e8mes .<\/p>\n<pre><code>add_action(\n\u00a0\u00a0\u00a0\u00a0'rest_api_init',\n\u00a0\u00a0\u00a0\u00a0function() {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0register_rest_route(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'api',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'login',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0array(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'methods'\u00a0 =&gt; 'POST',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'callback' =&gt; 'login',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0);\n\u00a0\u00a0\u00a0\u00a0}\n);<\/code><\/pre>\n<p>WordPress fournit une action &lsquo;rest_api_init&rsquo; \u00e0 l&rsquo;aide de laquelle nous pouvons cr\u00e9er nos points de terminaison personnalis\u00e9s. Ici, j&rsquo;utilise la fonction <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/register_rest_route\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">register_rest_route<\/a> qui produit le point de terminaison de l&rsquo;API ci-dessus en tant que YOUR_SITE_URL\/wp-json\/api\/login.<\/p>\n<p>Dans notre code, &lsquo;api&rsquo; est l&rsquo;espace de noms, &lsquo;login&rsquo; est la route, une m\u00e9thode est &lsquo;POST&rsquo; et la fonction de rappel est &lsquo;login&rsquo;. La m\u00e9thode de rappel aura une logique r\u00e9elle.<\/p>\n<p>Afin d&rsquo;\u00e9crire une logique pour le flux de connexion, les param\u00e8tres POST requis sont l&rsquo;e-mail et le mot de passe qui doivent \u00eatre envoy\u00e9s depuis le frontend avec l&rsquo;en-t\u00eate d&rsquo;autorisation. Lors de la publication de ces donn\u00e9es, vous devez les envoyer au format JSON. Par exemple, \u00e0 partir du VSCode utilisant l&rsquo; <a href=\"https:\/\/themewp.inform.click\/fr\/rest-client-extension-pour-visual-studio-code\/\" title=\"extension Rest Client,\">extension Rest Client,<\/a> j&rsquo;envoie la requ\u00eate POST comme indiqu\u00e9 dans la capture d&rsquo;\u00e9cran ci-dessous.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20211-6081cde961b7f.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20211-6081cde961b7f.png\" alt=\"Comment ajouter des points de terminaison personnalis\u00e9s \u00e0 l&#039;API WordPress\" ><\/a><\/p>\n<p>Ici, nous avons transmis le jeton cr\u00e9\u00e9 \u00e0 l&rsquo;\u00e9tape pr\u00e9c\u00e9dente en tant que valeur d&rsquo;en-t\u00eate d&rsquo;autorisation.<\/p>\n<p>Ajoutez le code ci-dessous pour la <code>login()<\/code>m\u00e9thode dans le <code>functions.php<\/code>fichier.<\/p>\n<pre><code>function login( WP_REST_Request $request) {\n\u00a0\u00a0\u00a0\u00a0$arr_request = json_decode( $request-&gt;get_body() );\n\u00a0\n\u00a0\u00a0\u00a0\u00a0if (! empty( $arr_request-&gt;email) &amp;&amp;! empty( $arr_request-&gt;password)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ this returns the user ID and other info from the user name.\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$user = get_user_by( 'email', $arr_request-&gt;email );\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (! $user) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ if the user name doesn't exist.\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'status' =&gt; 'error',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'message' =&gt; 'Wrong email address.',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0];\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ check the user's login with their password.\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (! wp_check_password( $arr_request-&gt;password, $user-&gt;user_pass, $user-&gt;ID)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ if the password is incorrect for the specified user.\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'status' =&gt; 'error',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'message' =&gt; 'Wrong password.',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0];\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'status' =&gt; 'success',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'message' =&gt; 'User credentials are correct.',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0];\n\u00a0\u00a0\u00a0\u00a0} else {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'status' =&gt; 'error',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'message' =&gt; 'Email and password are required.',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0];\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p><strong>Remarque\u00a0:<\/strong> Si vous recevez une erreur du type \u00ab\u00a0Aucun itin\u00e9raire n&rsquo;a \u00e9t\u00e9 trouv\u00e9 correspondant \u00e0 l&rsquo;URL et \u00e0 la m\u00e9thode de demande\u00a0\u00bb, vous devez mettre \u00e0 jour votre lien permanent.<\/p>\n<p>Apr\u00e8s avoir re\u00e7u la valeur \u00ab\u00a0succ\u00e8s\u00a0\u00bb pour la cl\u00e9 \u00ab\u00a0\u00e9tat\u00a0\u00bb, vous pouvez connecter l&rsquo;utilisateur dans l&rsquo;application frontale.<\/p>\n<h3>Cr\u00e9er un point de terminaison pour la demande GET<\/h3>\n<p>Nous avons vu comment cr\u00e9er des points de terminaison personnalis\u00e9s pour les requ\u00eates POST. Examinons maintenant la requ\u00eate GET \u00e0 l&rsquo;aide de l&rsquo;API REST de WordPress. Pour cela, je vais \u00e9crire une API qui supprime un utilisateur. Depuis le frontend, vous devez passer l&rsquo;identifiant d&rsquo;un utilisateur en tant que param\u00e8tre GET.<\/p>\n<pre><code>add_action(\n\u00a0\u00a0\u00a0\u00a0'rest_api_init',\n\u00a0\u00a0\u00a0\u00a0function() {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0register_rest_route(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'api',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'delete_user\/(?P&lt;id&gt;d+)',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0array(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'methods'\u00a0 =&gt; 'GET',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'callback' =&gt; 'delete_user',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0);\n\u00a0\u00a0\u00a0\u00a0}\n);<\/code><\/pre>\n<p>Ce code g\u00e9n\u00e8re un point de terminaison d&rsquo;API en tant que YOUR_SITE_URL\/wp-json\/api\/delete_user\/id. \u00c0 ce point de terminaison, au lieu de l&rsquo;identifiant, vous devez transmettre l&rsquo;identifiant r\u00e9el d&rsquo;un utilisateur.<\/p>\n<p>La m\u00e9thode de rappel <code>delete_user<\/code>aura le code suivant.<\/p>\n<pre><code>function delete_user( $data) {\n\u00a0\u00a0\u00a0\u00a0\/\/ delete the user\n\u00a0\u00a0\u00a0\u00a0require_once(ABSPATH.'wp-admin\/includes\/user.php' );\n\u00a0\u00a0\u00a0\u00a0if (wp_delete_user($data['id'])) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'status' =&gt; 'success',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'message' =&gt; 'User deleted successfully.',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0];\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0return [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'status' =&gt; 'error',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'message' =&gt; 'It seems you passed the wrong user id.',\n\u00a0\u00a0\u00a0\u00a0];\n}<\/code><\/pre>\n<p>J&rsquo;esp\u00e8re que vous comprendrez comment cr\u00e9er un point de terminaison personnalis\u00e9 dans l&rsquo;API REST WordPress. S&rsquo;il vous pla\u00eet partager vos pens\u00e9es et suggestions dans la section commentaires ci-dessous.<\/p>\n<h4>Articles Li\u00e9s<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/un-guide-rapide-sur-l-api-rest-de-woocommerce\/\" title=\"Un guide rapide sur l&#039;API REST de WooCommerce\">Un guide rapide sur l&rsquo;API REST de WooCommerce<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/comment-afficher-les-produits-associes-a-l-aide-de-l-api-rest-woocommerce\/\" title=\"Comment afficher les produits associ\u00e9s \u00e0 l&#039;aide de l&#039;API REST WooCommerce\">Comment afficher les produits associ\u00e9s \u00e0 l&rsquo;aide de l&rsquo;API REST WooCommerce<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/speech-to-text-a-l-aide-d-amazon-transcribe-en-php\/\" title=\"Speech-To-Text \u00e0 l&#039;aide d&#039;Amazon Transcribe en PHP\">Speech-To-Text \u00e0 l&rsquo;aide d&rsquo;Amazon Transcribe en PHP<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Voulez-vous cr\u00e9er un point de terminaison personnalis\u00e9 dans l&rsquo;API REST WordPress\u00a0? Lors de la cr\u00e9ation d&rsquo;une application mobile ou d&rsquo;un site Web \u00e0 l&rsquo;aide d&rsquo;un framework JavaScript<\/p>\n","protected":false},"author":1,"featured_media":21623,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[608],"tags":[844],"class_list":["post-25868","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized-4","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/25868","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/comments?post=25868"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/25868\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media\/21623"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media?parent=25868"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/categories?post=25868"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/tags?post=25868"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}