{"id":72143,"date":"2023-08-22T09:20:34","date_gmt":"2023-08-22T08:20:34","guid":{"rendered":"https:\/\/kinqsta.com\/fr\/?p=72143&#038;preview=true&#038;preview_id=72143"},"modified":"2023-08-23T07:54:36","modified_gmt":"2023-08-23T06:54:36","slug":"gerer-services-kinsta-api-slack","status":"publish","type":"post","link":"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/","title":{"rendered":"G\u00e9rer les services Kinsta avec l&rsquo;API Kinsta et Slack"},"content":{"rendered":"<p>Au fil des ans, nos services Kinsta ont toujours \u00e9t\u00e9 g\u00e9r\u00e9s manuellement via le tableau de bord MyKinsta. Cependant, avec l&rsquo;introduction de l&rsquo;API Kinsta et la publication continue de nouveaux points de terminaison de l&rsquo;API, vous pouvez am\u00e9liorer votre jeu en d\u00e9veloppant une m\u00e9thode personnalis\u00e9e pour vous engager avec les services Kinsta. L&rsquo;un de ces moyens consiste \u00e0 d\u00e9velopper un Slackbot pour surveiller et g\u00e9rer des activit\u00e9s telles que la cr\u00e9ation de sites.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Ce que vous construisez<\/h2>\n<p>Ce tutoriel explique comment cr\u00e9er un Slackbot (ou une application Slack) qui interagit avec l&rsquo;<a href=\"https:\/\/kinqsta.com\/fr\/docs\/api-kinsta\/\">API de Kinsta<\/a> pour r\u00e9cup\u00e9rer des informations et les transmettre sous forme de messages en temps r\u00e9el \u00e0 un canal Slack d\u00e9sign\u00e9 \u00e0 l&rsquo;aide des <a href=\"https:\/\/api.slack.com\/messaging\/webhooks\" target=\"_blank\" rel=\"noopener noreferrer\">Webhooks entrants de l&rsquo;API Slack<\/a>.<\/p>\n<p>Pour cela faire, vous allez cr\u00e9er une application <a href=\"https:\/\/kinqsta.com\/fr\/blog\/comment-installer-node-js\/\">Node.js<\/a> avec le framework <a href=\"https:\/\/kinqsta.com\/fr\/blog\/qu-est-express-js\/\">Express<\/a> pour cr\u00e9er une interface utilisateur pour la cr\u00e9ation de sites <a href=\"https:\/\/kinqsta.com\/wordpress\/\">WordPress<\/a> et l&rsquo;int\u00e9grer \u00e0 l&rsquo;API Kinsta. L&rsquo;application utilise un formulaire pour collecter les d\u00e9tails de configuration de votre site WordPress et envoie ensuite une mise \u00e0 jour en temps r\u00e9el des informations sur le site et des d\u00e9tails sur la fa\u00e7on de v\u00e9rifier son \u00e9tat de fonctionnement au canal Slack sp\u00e9cifi\u00e9.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2023\/08\/kinsta-services-slack.gif\" alt=\"Gif montrant l'application qui serait construite et comment elle envoie des informations en temps r\u00e9el \u00e0 Slack.\" width=\"1600\" height=\"360\"><figcaption class=\"wp-caption-text\">Gif montrant l&rsquo;application qui serait construite et comment elle envoie des informations en temps r\u00e9el \u00e0 Slack.<\/figcaption><\/figure>\n<h3>Pr\u00e9-requis<\/h3>\n<p>Pour suivre ce projet, vous devez disposer des \u00e9l\u00e9ments suivants :<\/p>\n<ul>\n<li>Connaissances de base en <a href=\"https:\/\/kinqsta.com\/javascript\/\">JavaScript<\/a> et Node.js<\/li>\n<li>Node.js version 12 ou sup\u00e9rieure<\/li>\n<li>npm (<a href=\"https:\/\/kinqsta.com\/fr\/blog\/qu-est-npm\/\">Node Package Manager<\/a>) install\u00e9 sur votre ordinateur<\/li>\n<li>Un espace de travail Slack<\/li>\n<\/ul>\n<h2>Configuration de l&rsquo;environnement de d\u00e9veloppement<\/h2>\n<p>Pour commencer, cr\u00e9ez un nouveau r\u00e9pertoire pour votre application et initialisez-le avec npm :<\/p>\n<pre><code class=\"language-bash\">mkdir my-express-app \ncd my-express-app \nnpm init -y<\/code><\/pre>\n<p>Apr\u00e8s avoir ex\u00e9cut\u00e9 la commande <code>npm init -y<\/code>, un nouveau fichier <strong>package.json<\/strong> sera cr\u00e9\u00e9 dans le r\u00e9pertoire de votre projet avec des valeurs par d\u00e9faut. Ce fichier contient des informations importantes sur votre projet et ses d\u00e9pendances.<\/p>\n<p>Ensuite, installez les d\u00e9pendances n\u00e9cessaires \u00e0 votre projet. Les d\u00e9pendances suivantes sont essentielles :<\/p>\n<ul>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/ejs\" target=\"_blank\" rel=\"noopener noreferrer\">ejs<\/a>: EJS (Embedded JavaScript) est un moteur de template qui vous permet de g\u00e9n\u00e9rer du contenu HTML dynamique avec JavaScript.<\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/express\" target=\"_blank\" rel=\"noopener noreferrer\">express<\/a>: Express est un framework d&rsquo;application web rapide et minimaliste pour Node.js. Il simplifie la cr\u00e9ation d&rsquo;applications web et d&rsquo;API en fournissant des fonctionnalit\u00e9s essentielles telles que le routage, la prise en charge d&rsquo;intergiciels et la gestion des requ\u00eates et r\u00e9ponses HTTP.<\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/express-ejs-layouts\" target=\"_blank\" rel=\"noopener noreferrer\">express-ejs-layouts<\/a>: Express EJS layouts est une extension pour Express qui permet d&rsquo;utiliser des mises en pages ou des mod\u00e8les pour maintenir une structure coh\u00e9rente entre plusieurs vues.<\/li>\n<\/ul>\n<p>Pour installer ces d\u00e9pendances, ex\u00e9cutez la commande ci-dessous :<\/p>\n<pre><code class=\"language-bash\">npm install ejs express express-ejs-layouts<\/code><\/pre>\n<p>En outre, vous devrez installer les d\u00e9pendances suivantes pour faciliter la construction et le test de votre projet Node.js :<\/p>\n<ul>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/nodemon\" target=\"_blank\" rel=\"noopener noreferrer\">nodemon<\/a>: Un outil pr\u00e9cieux qui red\u00e9marre automatiquement votre application Node.js chaque fois qu&rsquo;un changement de fichier est d\u00e9tect\u00e9 dans le r\u00e9pertoire, garantissant ainsi un flux de d\u00e9veloppement rationalis\u00e9.<\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/dotenv\" target=\"_blank\" rel=\"noopener noreferrer\">dotenv<\/a>: ce module sans d\u00e9pendance joue un r\u00f4le crucial dans le chargement des variables d&rsquo;environnement \u00e0 partir d&rsquo;un fichier <strong>.env<\/strong>.<\/li>\n<\/ul>\n<p>Pour installer ces d\u00e9pendances, ex\u00e9cutez la commande ci-dessous :<\/p>\n<pre><code class=\"language-bash\">npm install -D nodemon dotenv<\/code><\/pre>\n<p>Une fois que votre <strong>package.json<\/strong> est initialis\u00e9 et que toutes les d\u00e9pendances sont install\u00e9es, cr\u00e9ez un nouveau fichier, par exemple <strong>app.js<\/strong>.<\/p>\n<pre><code class=\"language-bash\">touch app.js<\/code><\/pre>\n<p>Voici une configuration par d\u00e9faut pour votre fichier <strong>app.js<\/strong>, o\u00f9 vous importez les modules n\u00e9cessaires et le configurez pour fonctionner sur un port sp\u00e9cifique :<\/p>\n<pre><code class=\"language-js\">\/\/ Import required modules\nconst express = require('express');\nconst app = express();\n\n\/\/ Set up your routes and middleware here\n\/\/ ...\n\n\/\/ Start the server to listen on the specified port\napp.listen(process.env.PORT || 3000, () =&gt; {\n  console.log(`Server is running on port ${process.env.PORT || 3000}`);\n});<\/code><\/pre>\n<p>Pour lancer votre application Node.js, ex\u00e9cutez la commande :<\/p>\n<pre><code class=\"language-bash\">node app.js<\/code><\/pre>\n<p>Cependant, l&rsquo;ex\u00e9cution d&rsquo;une application de ce type implique de la red\u00e9marrer manuellement \u00e0 chaque fois que vous apportez des modifications \u00e0 votre projet. Pour pallier cet inconv\u00e9nient, utilisez <code>nodemon<\/code>, que vous avez d\u00e9j\u00e0 install\u00e9. Configurez-le dans votre fichier <strong>package.json<\/strong> en cr\u00e9ant une commande script :<\/p>\n<pre><code class=\"language-json\">  \"scripts\": {\n    \"dev\": \"nodemon app.js\"\n  },<\/code><\/pre>\n<p>Maintenant, ex\u00e9cutez votre application Node.js avec red\u00e9marrage automatique en utilisant la commande suivante :<\/p>\n<pre><code class=\"language-bash\">npm run dev<\/code><\/pre>\n<h3>Premiers pas avec Express et EJS Templating<\/h3>\n<p>Dans ce tutoriel, vous construisez une application Node.js qui affichera du contenu sur le navigateur. Pour ce faire, express.js est utilis\u00e9 comme framework web, et EJS (Embedded JavaScript) comme moteur de templating.<\/p>\n<p>Pour d\u00e9finir EJS comme moteur de visualisation, ajoutez la ligne suivante \u00e0 votre fichier <strong>app.js<\/strong>. Cela permettra d&rsquo;ex\u00e9cuter les fichiers <code>.ejs<\/code>:<\/p>\n<pre><code class=\"language-js\">\/\/ Use EJS as the view engine \napp.set('view engine', 'ejs');<\/code><\/pre>\n<p>Maintenant qu&rsquo;Express est configur\u00e9 avec EJS, d\u00e9finissez vos routes. Dans les applications web, les routes d\u00e9terminent la mani\u00e8re dont l&rsquo;application r\u00e9pond aux diff\u00e9rentes requ\u00eates HTTP (telles que GET ou POST) et sp\u00e9cifient les actions \u00e0 entreprendre lorsqu&rsquo;une URL sp\u00e9cifique est consult\u00e9e.<\/p>\n<p>Par exemple, cr\u00e9ez une route qui chargera une page sp\u00e9cifique lorsqu&rsquo;un utilisateur naviguera jusqu&rsquo;\u00e0 la page d&rsquo;<strong>index<\/strong> (<code>\/<\/code>). Pour cela, utilisez la m\u00e9thode de requ\u00eate GET.<\/p>\n<pre><code class=\"language-js\">\/\/ Define a route for the homepage\napp.get('\/', (req, res) =&gt; {\n  \/\/ Here, you can specify what to do when someone accesses the homepage\n  \/\/ For example, render an EJS template or send some HTML content\n});<\/code><\/pre>\n<p>Dans le code ci-dessus, lorsqu&rsquo;un utilisateur acc\u00e8de \u00e0 l&rsquo;<strong>index<\/strong> de votre application, le serveur ex\u00e9cute la fonction de rappel sp\u00e9cifi\u00e9e en tant que deuxi\u00e8me param\u00e8tre. Dans cette fonction de rappel, vous pouvez g\u00e9rer la logique de rendu d&rsquo;un mod\u00e8le EJS ou envoyer un contenu <a href=\"https:\/\/kinqsta.com\/fr\/blog\/qu-est-ce-que-le-html\/\">HTML<\/a> \u00e0 afficher sur la page d&rsquo;accueil.<\/p>\n<p>Vous pouvez utiliser la m\u00e9thode <code>res.render()<\/code> pour rendre un mod\u00e8le EJS ou utiliser <code>res.send()<\/code> pour envoyer un simple contenu HTML.<\/p>\n<pre><code class=\"language-js\">app.get('\/', (req, res) =&gt; {\n    res.send('Hello World');\n});<\/code><\/pre>\n<p>Lorsque vous ex\u00e9cutez votre application, \u00ab Hello World \u00bb s&rsquo;affiche sur la page d&rsquo;<strong>index<\/strong>.<\/p>\n<h3>Mod\u00e8le EJS<\/h3>\n<p>Ce tutoriel se concentre sur la logique et inclut des fichiers de d\u00e9marrage, de sorte que vous n&rsquo;avez pas \u00e0 vous soucier de cr\u00e9er des mod\u00e8les \u00e0 partir de z\u00e9ro. Suivez les \u00e9tapes suivantes pour commencer :<\/p>\n<ol start=\"1\">\n<li>Acc\u00e9dez au <a href=\"https:\/\/github.com\/kinsta\/site-builder-nodejs\" target=\"_blank\" rel=\"noopener noreferrer\">mod\u00e8le sur GitHub<\/a> pour cr\u00e9er un nouveau d\u00e9p\u00f4t.<\/li>\n<li>Cochez l&rsquo;option <strong>Inclure toutes les branches<\/strong> lors de la cr\u00e9ation du d\u00e9p\u00f4t.<\/li>\n<li>Une fois le d\u00e9p\u00f4t cr\u00e9\u00e9, clonez le projet sur votre ordinateur \u00e0 l&rsquo;aide de <a href=\"https:\/\/kinqsta.com\/fr\/sujets\/git\/\">Git<\/a>.<\/li>\n<li>Pour acc\u00e9der au code de d\u00e9marrage, passez \u00e0 la branche <a href=\"https:\/\/github.com\/kinsta\/site-builder-nodejs\/tree\/starter-files\" target=\"_blank\" rel=\"noopener noreferrer\">starter-files<\/a> dans votre d\u00e9p\u00f4t local.<\/li>\n<\/ol>\n<p>Dans le code de d\u00e9marrage, nous avons deux dossiers principaux : <strong>public<\/strong> et <strong>views<\/strong>. Le dossier <strong>public<\/strong> contient toutes les ressources statiques (fichiers CSS et images). Ils sont ajout\u00e9s au mod\u00e8le en tant que fichiers statiques :<\/p>\n<pre><code class=\"language-js\">\/\/ Static files\napp.use(express.static('\/public'));\napp.use('\/css', express.static(__dirname + '\/public\/css'));\napp.use('\/images', express.static(__dirname + '\/public\/images'));<\/code><\/pre>\n<p>Dans le dossier <strong>views<\/strong>, vous avez le fichier <strong>layout.ejs<\/strong> et deux dossiers : <strong>pages<\/strong> et <strong>partials<\/strong>. Le fichier <strong>layout.ejs<\/strong> contient la mise en page g\u00e9n\u00e9rale de ce projet, de sorte que vous n&rsquo;avez pas \u00e0 r\u00e9p\u00e9ter un code r\u00e9current pour toutes les pages. Importez la biblioth\u00e8que <code>express-ejs-layouts<\/code> dans le fichier <strong>app.js<\/strong>, puis configurez-la :<\/p>\n<pre><code class=\"language-js\">\/\/ Import\nconst expressEjsLayouts = require('express-ejs-layouts');\n\n\/\/ Configure\napp.use(expressEjsLayouts);<\/code><\/pre>\n<p>Le dossier <strong>pages<\/strong> contient les fichiers de route (<strong>index.ejs<\/strong> et <strong>operation.ejs<\/strong>), tandis que le dossier <strong>partials<\/strong> contient les composants (<strong>header.ejs<\/strong> et <strong>footer.ejs<\/strong>). Ajoutez-les \u00e0 la mise en page comme suit :<\/p>\n<pre><code class=\"language-ejs\">&lt;!DOCTYPE html&gt;\n&lt;html lang=\"en\"&gt;\n    &lt;head&gt;\n        &lt;meta charset=\"UTF-8\" \/&gt;\n        &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/&gt;\n        &lt;link rel=\"icon\" href=\"\/images\/favicon.ico\" \/&gt;\n        &lt;link rel=\"stylesheet\" href=\"\/css\/index.css\" \/&gt;\n        &lt;title&gt;Site Builder&lt;\/title&gt;\n    &lt;\/head&gt;\n    &lt;body&gt;\n        &lt;div class=\"app-container\"&gt;\n            &lt;%- include('partials\/header') %&gt;\n            &lt;div class=\"container\"&gt;&lt;%- body %&gt;&lt;\/div&gt;\n            &lt;%- include('partials\/footer') %&gt;\n        &lt;\/div&gt;\n    &lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n<p>Lorsque vous <a href=\"https:\/\/docs.sevalla.com\/templates\/overview\">ex\u00e9cutez votre application Node.js<\/a>, l&rsquo;interface utilisateur se charge, mais vous devez ajouter de la logique \u00e0 cette application pour envoyer les donn\u00e9es du formulaire \u00e0 l&rsquo;API Kinsta et envoyer des informations sur le site \u00e0 Slack lorsque l&rsquo;op\u00e9ration d\u00e9marre.<\/p>\n<h2>D\u00e9marrer avec les webhooks entrants de Slack<\/h2>\n<p>Les webhooks entrants de Slack offrent un moyen simple d&rsquo;envoyer des messages d&rsquo;applications externes \u00e0 Slack. Pour utiliser les webhooks entrants de Slack, cr\u00e9ez et configurez une application Slack, puis copiez l&rsquo;URL de votre webhook pour envoyer des messages \u00e0 Slack de mani\u00e8re programmatique.<\/p>\n<h3>Configuration d&rsquo;une application Slack et obtention de l&rsquo;URL du webhook<\/h3>\n<p>Cr\u00e9ez une nouvelle application Slack en suivant les \u00e9tapes suivantes :<\/p>\n<ol start=\"1\">\n<li>Acc\u00e9dez au tableau de bord de l&rsquo;<a href=\"https:\/\/api.slack.com\/apps\/\" target=\"_blank\" rel=\"noopener noreferrer\">API Slack<\/a>.<\/li>\n<li>Cliquez sur le bouton <strong>Cr\u00e9er une nouvelle application<\/strong>, qui ouvrira une fen\u00eatre modale.<\/li>\n<li>S\u00e9lectionnez l&rsquo;option <strong>\u00c0 partir de z\u00e9ro<\/strong> pour commencer \u00e0 construire votre application \u00e0 partir de z\u00e9ro.<\/li>\n<li>Donnez un nom \u00e0 votre application Slack, par exemple <strong>Kinsta Bot<\/strong>.<\/li>\n<li>Ensuite, choisissez l&rsquo;espace de travail dans lequel vous souhaitez installer l&rsquo;application et cliquez sur le bouton <strong>Cr\u00e9er une application<\/strong>.<\/li>\n<\/ol>\n<p>Une fois votre application Slack cr\u00e9\u00e9e, vous pouvez activer les webhooks entrants en naviguant vers <strong>Fonctionnalit\u00e9s<\/strong> et en s\u00e9lectionnant <strong>Webhooks entrants<\/strong>. Basculez le commutateur pour activer les webhooks entrants pour votre application.<\/p>\n<p>Faites d\u00e9filer vers le bas jusqu&rsquo;\u00e0 la section <strong>URL du webhook pour votre espace de travail<\/strong> et cliquez sur <strong>Ajouter un nouveau webhook \u00e0 l&rsquo;espace de travail<\/strong>. Vous serez invit\u00e9 \u00e0 choisir un canal o\u00f9 les messages seront envoy\u00e9s. S\u00e9lectionnez le canal souhait\u00e9 et cliquez sur <strong>Autoriser<\/strong>.<\/p>\n<p>Une fois l&rsquo;autorisation obtenue, vous recevrez une URL de webhook pour le canal s\u00e9lectionn\u00e9. C&rsquo;est cette URL que vous utiliserez pour envoyer des messages \u00e0 Slack de mani\u00e8re programmatique. Voici \u00e0 quoi ressemble une URL de webhook :<\/p>\n<pre><code class=\"language-js\">https:\/\/hooks.slack.com\/services\/T00000000\/B00000000\/XXXXXXXXXXXXXXXXXXXXXXXX<\/code><\/pre>\n<p>Ce Webhook est sp\u00e9cifique \u00e0 un seul utilisateur et \u00e0 un seul canal. Gardez-le s\u00e9curis\u00e9, car il sert de jeton d&rsquo;authentification pour votre application. Vous pouvez stocker les codes uniques apr\u00e8s <code>\/services\/<\/code> dans votre fichier <strong>.env.<\/strong> Vous serez \u00e9galement invit\u00e9 \u00e0 r\u00e9installer l&rsquo;application dans votre espace de travail pour que les modifications soient prises en compte.<\/p>\n<h2>Envoi de messages \u00e0 Slack avec Node.js et l&rsquo;API Kinsta<\/h2>\n<p>Maintenant que l&rsquo;interface de votre application Node.js est configur\u00e9e et que le Slackbot a \u00e9t\u00e9 cr\u00e9\u00e9 avec succ\u00e8s (avec votre URL de webHook), il est temps de g\u00e9rer la logique.<\/p>\n<h3>R\u00e9cup\u00e9rer les donn\u00e9es du formulaire en Node.js<\/h3>\n<p>Sur la page d&rsquo;<strong>index<\/strong>, vous avez un formulaire qui enverra des donn\u00e9es \u00e0 l&rsquo;API Kinsta pour cr\u00e9er un nouveau site WordPress. Pour que cela fonctionne, vous devez cr\u00e9er une requ\u00eate POST \u00e0 partir de la page d&rsquo;index. Assurez-vous que votre formulaire a une m\u00e9thode <code>POST<\/code>, et que les champs d&rsquo;entr\u00e9e ont un attribut <code>name<\/code>, qui sera utilis\u00e9 dans le fichier <strong>app.js<\/strong>.<\/p>\n<pre><code class=\"language-js\">app.post('\/', (req, res) =&gt; {\n    \/\/ Perform the desired operation with the form data\n});<\/code><\/pre>\n<p>Pour r\u00e9cup\u00e9rer les donn\u00e9es d&rsquo;un formulaire dans Node.js, vous devez utiliser l&rsquo;intergiciel suivant :<\/p>\n<pre><code class=\"language-js\">app.use(express.json());\napp.use(express.urlencoded({ extended: true }));<\/code><\/pre>\n<p>Vous pouvez maintenant acc\u00e9der aux valeurs de votre formulaire en utilisant <code>req.body.[form field name]<\/code>. Par exemple, <code>req.body.displayName<\/code> vous donnera le nom d&rsquo;affichage soumis par le biais du formulaire. Enregistrons les donn\u00e9es globales du formulaire :<\/p>\n<pre><code class=\"language-js\">app.post('\/', (req, res) =&gt; {\n    console.log(req.body);\n});<\/code><\/pre>\n<p>Lorsque vous ex\u00e9cutez votre code, les donn\u00e9es du formulaire s&rsquo;affichent apr\u00e8s que vous avez rempli le formulaire et cliqu\u00e9 sur le bouton <strong>Envoyer<\/strong>.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2023\/08\/req-details-node-js.jpg\" alt=\"D\u00e9tails du formulaire r\u00e9cup\u00e9r\u00e9s \u00e0 partir du param\u00e8tre req dans Node.js.\" width=\"1600\" height=\"360\"><figcaption class=\"wp-caption-text\">D\u00e9tails du formulaire r\u00e9cup\u00e9r\u00e9s \u00e0 partir du param\u00e8tre req dans Node.js.<\/figcaption><\/figure>\n<h3>Cr\u00e9ation d&rsquo;un site avec l&rsquo;API Kinsta dans Node.js<\/h3>\n<p>Pour cr\u00e9er un site WordPress avec l&rsquo;API Kinsta dans Node.js, vous pouvez utiliser la m\u00e9thode <code>fetch()<\/code>, qui est d\u00e9sormais prise en charge et fonctionne efficacement dans les <a href=\"https:\/\/kinqsta.com\/fr\/blog\/node-js-20\/#performance\">derni\u00e8res versions de Node.js<\/a>.<\/p>\n<p>Pour effectuer toute op\u00e9ration avec l&rsquo;API Kinsta, vous devez cr\u00e9er une <a href=\"https:\/\/kinqsta.com\/fr\/blog\/cle-api-kinsta\/\">cl\u00e9 API<\/a>. Pour g\u00e9n\u00e9rer une cl\u00e9 API :<\/p>\n<ol start=\"1\">\n<li>Allez sur votre tableau de bord MyKinsta.<\/li>\n<li>Naviguez jusqu&rsquo;\u00e0 la page des <strong>cl\u00e9s API <\/strong>(<strong>Votre nom<\/strong> &gt; <strong>R\u00e9glages de l&rsquo;entreprise<\/strong> &gt; <strong>Cl\u00e9s API<\/strong>).<\/li>\n<li>Cliquez sur <strong>Cr\u00e9er une cl\u00e9 API<\/strong>.<\/li>\n<li>Choisissez une date d&rsquo;expiration ou d\u00e9finissez une date de d\u00e9but personnalis\u00e9e et un nombre d&rsquo;heures pour l&rsquo;expiration de la cl\u00e9.<\/li>\n<li>Donnez un nom unique \u00e0 la cl\u00e9.<\/li>\n<li>Cliquez sur <strong>G\u00e9n\u00e9rer<\/strong>.<\/li>\n<\/ol>\n<p>Veillez \u00e0 copier la cl\u00e9 API g\u00e9n\u00e9r\u00e9e et \u00e0 la stocker en toute s\u00e9curit\u00e9, car elle ne sera visible qu&rsquo;\u00e0 ce moment-l\u00e0. Pour ce projet, cr\u00e9ez un fichier <strong>.env<\/strong> dans votre r\u00e9pertoire racine et enregistrez la cl\u00e9 API sous <code>KINSTA_API_KEY<\/code>.<\/p>\n<p>De plus, pour cr\u00e9er un site WordPress en utilisant l&rsquo;API Kinsta, vous aurez besoin de l&rsquo;identifiant de votre entreprise (qui peut \u00eatre trouv\u00e9 dans MyKinsta sous <strong>Entreprise<\/strong> &gt; <strong>D\u00e9tails de facturation<\/strong> &gt; <strong>Identifiant de l&rsquo;entreprise<\/strong>). Enregistrez \u00e9galement cet identifiant dans le fichier <strong>.env<\/strong>, afin de pouvoir acc\u00e9der \u00e0 ces variables d&rsquo;environnement via <code>process.env<\/code>. Pour activer cette fonctionnalit\u00e9, assurez-vous de configurer la d\u00e9pendance <code>dotenv<\/code> en haut de votre fichier <strong>app.js<\/strong> comme suit :<\/p>\n<pre><code class=\"language-js\">require('dotenv').config();<\/code><\/pre>\n<p>Pour cr\u00e9er un site WordPress via l&rsquo;API Kinsta, envoyez une requ\u00eate POST au point de terminaison <code><a href=\"https:\/\/api-docs.kinqsta.com\/tag\/WordPress-Sites#operation\/addWordPressSite\" target=\"_blank\" rel=\"noopener noreferrer\">\/sites<\/a><\/code> avec les donn\u00e9es n\u00e9cessaires fournies dans l&rsquo;objet <code>req.body<\/code>:<\/p>\n<pre><code class=\"language-js\">const KinstaAPIUrl = 'https:\/\/api.kinqsta.com\/v2';\n\napp.post('\/', (req, res) =&gt; {\n    const createSite = async () =&gt; {\n        const resp = await fetch(`${KinstaAPIUrl}\/sites`, {\n            method: 'POST',\n            headers: {\n                'Content-Type': 'application\/json',\n                Authorization: `Bearer ${process.env.REACT_APP_KINSTA_API_KEY}`,\n            },\n            body: JSON.stringify({\n                company: process.env.REACT_APP_KINSTA_COMPANY_ID,\n                display_name: req.body.displayName,\n                region: req.body.location,\n                install_mode: 'new',\n                is_subdomain_multisite: false,\n                admin_email: req.body.email,\n                admin_password: req.body.password,\n                admin_user: req.body.username,\n                is_multisite: false,\n                site_title: req.body.siteTitle,\n                woocommerce: false,\n                wordpressseo: false,\n                wp_language: 'en_US',\n            }),\n        });\n        const data = await resp.json();\n        console.log(data);\n    };\n    createSite();\n});<\/code><\/pre>\n<p>En ex\u00e9cutant le code ci-dessus, vous cr\u00e9erez un nouveau site WordPress avec l&rsquo;API Kinsta. Mais ce n&rsquo;est pas l&rsquo;objectif principal. L&rsquo;objectif est d&rsquo;envoyer un message \u00e0 Slack contenant des informations sur le site lorsque l&rsquo;op\u00e9ration de cr\u00e9ation du site est r\u00e9ussie.<\/p>\n<h3>Envoyez un message \u00e0 Slack avec l&rsquo;URL du webhook entrant<\/h3>\n<p>Pour cela, cr\u00e9ez une instruction <strong>If<\/strong> pour v\u00e9rifier l&rsquo;\u00e9tat de la r\u00e9ponse \u00e0 la requ\u00eate API. S&rsquo;il s&rsquo;agit de <code>202<\/code>, cela signifie que la cr\u00e9ation du site a commenc\u00e9 et que vous pouvez envoyer un message \u00e0 Slack \u00e0 l&rsquo;aide de l&rsquo;URL Webhooks entrante. Pour cela, vous pouvez utiliser votre biblioth\u00e8que de requ\u00eates HTTP pr\u00e9f\u00e9r\u00e9e (par exemple <a href=\"https:\/\/kinqsta.com\/fr\/blog\/requetes-http-javascript\/#5-how-to-make-an-http-request-in-javascript-using-axios\">Axios<\/a>) ou une m\u00e9thode pour envoyer une requ\u00eate POST \u00e0 Slack. Utilisons la m\u00e9thode <code>fetch()<\/code>:<\/p>\n<pre><code class=\"language-js\">if (data.status === 202) {\n    fetch(\n        `https:\/\/hooks.slack.com\/services\/${process.env.SLACK_WEBHOOK_ID}`,\n        {\n            method: 'POST',\n            headers: {\n                'Content-Type': 'application\/json',\n            },\n            body: JSON.stringify({\n                text: 'Hello, world.',\n            }),\n        }\n    );\n}<\/code><\/pre>\n<p>Ex\u00e9cutez le code ci-dessus et remplissez le formulaire de cr\u00e9ation de site. Si le processus est r\u00e9ussi, un message sera imm\u00e9diatement envoy\u00e9 \u00e0 Slack.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2023\/08\/message-sent-with-incoming-webhooks.jpg\" alt=\"Hello World envoy\u00e9 de Node.js \u00e0 Slack avec les webhooks entrants.\" width=\"1600\" height=\"360\"><figcaption class=\"wp-caption-text\">Hello World envoy\u00e9 de Node.js \u00e0 Slack avec les webhooks entrants.<\/figcaption><\/figure>\n<h3>Personnalisation des messages Slack<\/h3>\n<p>L&rsquo;exemple ci-dessus envoie un message texte de base, mais les webhooks entrants de Slack prennent en charge bien plus qu&rsquo;un simple texte. Vous pouvez personnaliser vos messages pour y inclure des pi\u00e8ces jointes, des liens, des images, des boutons, etc.<\/p>\n<p>L&rsquo;une des fa\u00e7ons de personnaliser les messages Slack est d&rsquo;utiliser le <a href=\"https:\/\/app.slack.com\/block-kit-builder\" target=\"_blank\" rel=\"noopener noreferrer\">Block Kit Builder de Slack<\/a>. Le Block Kit est un framework d&rsquo;interface utilisateur fourni par Slack qui vous permet de cr\u00e9er des messages riches et interactifs avec divers \u00e9l\u00e9ments de contenu.<\/p>\n<p>Pour ce tutoriel, voici un bloc cr\u00e9\u00e9 avec le Block Kit Builder pour formater correctement le message et ajouter quelques valeurs du formulaire et de la r\u00e9ponse de cr\u00e9ation de site :<\/p>\n<pre><code class=\"language-js\">const message = {\n    blocks: [\n        {\n            type: 'section',\n            text: {\n                type: 'mrkdwn',\n                text: `Hello, your new site (${req.body.displayName}) has started building. It takes minutes to build. You can check the operation status intermittently via https:\/\/site-builder-nodejs-xvsph.kinsta.app\/operation\/${req.body.displayName}\/${data.operation_id}.`,\n            },\n        },\n        {\n            type: 'divider',\n        },\n        {\n            type: 'section',\n            text: {\n                type: 'mrkdwn',\n                text: \"_Here are your site's details:_\",\n            },\n        },\n        {\n            type: 'section',\n            text: {\n                type: 'mrkdwn',\n                text: `1. *Site URL:* http:\/\/${req.body.displayName}.kinsta.cloud\/n2. *WP Admin URL:* http:\/\/${req.body.displayName}.kinsta.cloud\/wp-admin\/`,\n            },\n        },\n    ],\n};<\/code><\/pre>\n<p>Dans ce code, vous cr\u00e9ez un objet message contenant un tableau de blocs. Chaque bloc repr\u00e9sente une section sp\u00e9cifique du message Slack et peut avoir diff\u00e9rents types de contenu.<\/p>\n<ol start=\"1\">\n<li><strong>Bloc de section <\/strong>: Ce type de bloc est utilis\u00e9 pour afficher une section de texte. Vous utilisez <code>type: 'section'<\/code> pour indiquer qu&rsquo;il s&rsquo;agit d&rsquo;un bloc de section. \u00c0 l&rsquo;int\u00e9rieur du bloc de section, la propri\u00e9t\u00e9 text est utilis\u00e9e avec <code>type: 'mrkdwn'<\/code> pour sp\u00e9cifier que le contenu du texte doit \u00eatre interpr\u00e9t\u00e9 au format Markdown. Le contenu textuel r\u00e9el est fourni dans la propri\u00e9t\u00e9 text, et nous utilisons des litt\u00e9raux de mod\u00e8le pour inclure des valeurs dynamiques provenant du formulaire et de la r\u00e9ponse de cr\u00e9ation de site, telles que <code>req.body.displayName<\/code> et <code>data.operation_id<\/code>.<\/li>\n<li><strong>Bloc de s\u00e9paration <\/strong>: Ce type de bloc est utilis\u00e9 pour ajouter une ligne horizontale afin de s\u00e9parer les sections du message. Nous utilisons <code>type: 'divider'<\/code> pour cr\u00e9er le bloc s\u00e9parateur.<\/li>\n<\/ol>\n<p>Lorsque ce message est envoy\u00e9 \u00e0 Slack \u00e0 l&rsquo;aide du webhook entrant, il g\u00e9n\u00e8re un message visuellement attrayant et informatif dans votre canal Slack. Le message comprendra des valeurs dynamiques provenant du formulaire (comme le nom du site) et des informations provenant de la r\u00e9ponse \u00e0 la cr\u00e9ation du site, ce qui en fait un message hautement personnalis\u00e9.<\/p>\n<p>Pour envoyer ce message personnalis\u00e9, remplacez l&rsquo;objet dans le corps de la page <code>fetch()<\/code> par le contenu de la variable message :<\/p>\n<pre><code class=\"language-js\">if (data.status === 202) {\n    fetch(\n        `https:\/\/hooks.slack.com\/services\/${process.env.SLACK_WEBHOOK_ID}`,\n        {\n            method: 'POST',\n            headers: {\n                'Content-Type': 'application\/json',\n            },\n            body: JSON.stringify(message),\n        }\n    );\n}<\/code><\/pre>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2023\/08\/slack-block-kit-builder-message.jpg\" alt=\"Message Slack personnalis\u00e9 avec Slack Block Kit Builder.\" width=\"1600\" height=\"360\"><figcaption class=\"wp-caption-text\">Message Slack personnalis\u00e9 avec Slack Block Kit Builder.<\/figcaption><\/figure>\n<h2>G\u00e9rer l&rsquo;op\u00e9ration de cr\u00e9ation de site avec l&rsquo;API Kinsta<\/h2>\n<p>Dans le message envoy\u00e9 \u00e0 Slack, un lien est cr\u00e9\u00e9 avec l&rsquo;ID de l&rsquo;op\u00e9ration et le nom d&rsquo;affichage. Vous pouvez cr\u00e9er une nouvelle route pour la page <strong>Op\u00e9rations<\/strong> afin d&rsquo;utiliser ces donn\u00e9es pour v\u00e9rifier le statut de l&rsquo;op\u00e9ration.<\/p>\n<p>Dans Express, vous pouvez acc\u00e9der aux param\u00e8tres de l&rsquo;URL avec le param\u00e8tre <code>req<\/code>. Par exemple, pour obtenir l&rsquo;identifiant de l&rsquo;op\u00e9ration, vous utilisez <code>req.params.operationId<\/code>.<\/p>\n<pre><code class=\"language-js\">const KinstaAPIUrl = 'https:\/\/api.kinqsta.com\/v2';\n\napp.get('\/operation\/:displayName\/:operationId', (req, res) =&gt; {\n    const checkOperation = async () =&gt; {\n        const operationId = req.params.operationId;\n        const resp = await fetch(`${KinstaAPIUrl}\/operations\/${operationId}`, {\n            method: 'GET',\n            headers: {\n                Authorization: `Bearer ${process.env.REACT_APP_KINSTA_API_KEY}`,\n            },\n        });\n        const data = await resp.json();\n        res.render('pages\/operation', {\n            operationID: req.params.operationId,\n            displayName: req.params.displayName,\n            operationMessage: data.message,\n        });\n    };\n    checkOperation();\n});<\/code><\/pre>\n<p>Avec le code ci-dessus, cliquer sur le lien dans Slack enverra une requ\u00eate \u00e0 l&rsquo;API Kinsta pour v\u00e9rifier l&rsquo;\u00e9tat de l&rsquo;op\u00e9ration de votre site. Mettez \u00e0 jour le fichier <strong>operation.ejs<\/strong> pour ajouter des donn\u00e9es dynamiques :<\/p>\n<pre><code class=\"language-ejs\">&lt;div class=\"container-title\"&gt;\n    &lt;h1 class=\"title\"&gt;Check Site Operation Status&lt;\/h1&gt;\n    &lt;p&gt;\n        Check the status of your site tools operation via the id. Feel free to copy\n        the ID and check in few seconds.\n    &lt;\/p&gt;\n&lt;\/div&gt;\n&lt;div class=\"form-container\"&gt;\n    &lt;div class=\"input-div\"&gt;\n        &lt;input class=\"form-control\" value=\"&lt;%= operationID %&gt;\" readOnly \/&gt;\n    &lt;\/div&gt;\n    &lt;button class=\"btn\" type=\"submit\" onclick=\"window.location.reload()\"&gt;\n        Refresh Operation Status\n    &lt;\/button&gt;\n&lt;\/div&gt;\n&lt;div class=\"services\"&gt;\n    &lt;div class=\"details\"&gt;\n        &lt;p&gt;&lt;%= operationMessage %&gt;..&lt;\/p&gt;\n    &lt;\/div&gt;\n&lt;\/div&gt;\n&lt;div class=\"services\"&gt;\n    &lt;p class=\"description\"&gt;\n        If message above indicates that \"Operation has successfully finished\", use\n        the links below to access your WP admin and the site itself.\n    &lt;\/p&gt;\n    &lt;div class=\"details\"&gt;\n        &lt;a\n            href=\"http:\/\/&lt;%= displayName %&gt;.kinsta.cloud\/wp-admin\/\"\n            target=\"_blank\"\n            rel=\"noreferrer\"\n            class=\"detail-link\"\n        &gt;\n            &lt;p&gt;Open WordPress admin&lt;\/p&gt;\n            &lt;FiExternalLink \/&gt;\n        &lt;\/a&gt;\n        &lt;a\n            href=\"http:\/\/&lt;%= displayName %&gt;.kinsta.cloud\/\"\n            target=\"_blank\"\n            rel=\"noreferrer\"\n            class=\"detail-link\"\n        &gt;\n            &lt;p&gt;Open URL&lt;\/p&gt;\n            &lt;FiExternalLink \/&gt;\n        &lt;\/a&gt;\n    &lt;\/div&gt;\n&lt;\/div&gt;<\/code><\/pre>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2023\/08\/operations-page-1.jpg\" alt=\"Page des op\u00e9rations affichant l'identifiant de l'op\u00e9ration et les d\u00e9tails du site.\" width=\"1600\" height=\"360\"><figcaption class=\"wp-caption-text\">Page des op\u00e9rations affichant l&rsquo;identifiant de l&rsquo;op\u00e9ration et les d\u00e9tails du site.<\/figcaption><\/figure>\n<p>Une derni\u00e8re chose, vous pouvez utiliser la m\u00e9thode de redirection pour naviguer vers la page des op\u00e9rations lorsque le processus de cr\u00e9ation d&rsquo;un site d\u00e9marre :<\/p>\n<pre><code class=\"language-js\">if (data.status === 202) {\n    fetch(\n        `https:\/\/hooks.slack.com\/services\/${process.env.SLACK_WEBHOOK_ID}`,\n        {\n            method: 'POST',\n            headers: {\n                'Content-Type': 'application\/json',\n            },\n            body: JSON.stringify(message),\n        }\n    );\n    res.redirect(`\/operation\/${req.body.displayName}\/${data.operation_id}`);\n}<\/code><\/pre>\n<p>Le code source complet de ce projet est disponible sur la <a href=\"https:\/\/github.com\/kinsta\/site-builder-nodejs\/tree\/main\" target=\"_blank\" rel=\"noopener noreferrer\">branche principale de ce d\u00e9p\u00f4t GitHub<\/a>.<\/p>\n<h2>D\u00e9ployer votre application Node.js sur Kinsta<\/h2>\n<p>Vous pouvez facilement d\u00e9ployer cette application Node.js sur la plateforme d&rsquo;<a href=\"https:\/\/sevalla.com\/application-hosting\/\">h\u00e9bergement d&rsquo;applications<\/a> de Kinsta. Tout ce que vous avez \u00e0 faire est de pousser votre code vers votre fournisseur Git pr\u00e9f\u00e9r\u00e9 (<a href=\"https:\/\/docs.sevalla.com\/applications\/git\/bitbucket#grant-access-to-the-kinsta-bitbucket-application\">Bitbucket<\/a>, <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/github#authenticate-and-authorize\">GitHub<\/a>, ou <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/gitlab#authorize-the-kinsta-gitlab-application\">GitLab<\/a>). Suivez ensuite les \u00e9tapes suivantes :<\/p>\n<ol start=\"1\">\n<li>Connectez-vous \u00e0 votre compte Kinsta sur le tableau de bord <a href=\"https:\/\/my.kinqsta.com\/?lang=fr\">MyKinsta<\/a>.<\/li>\n<li>Cliquez sur <strong>Ajouter un service<\/strong>.<\/li>\n<li>S\u00e9lectionnez <strong>Application<\/strong> dans le menu d\u00e9roulant.<\/li>\n<li>Dans la fen\u00eatre modale qui s&rsquo;affiche, choisissez le d\u00e9p\u00f4t que vous souhaitez d\u00e9ployer. Si vous avez plusieurs branches, vous pouvez s\u00e9lectionner la branche souhait\u00e9e et donner un nom \u00e0 votre application.<\/li>\n<li>S\u00e9lectionnez l&rsquo;un des centres de donn\u00e9es disponibles. Kinsta d\u00e9tectera et installera les d\u00e9pendances de votre application \u00e0 partir du fichier package.json, puis construira et d\u00e9ploiera.<\/li>\n<\/ol>\n<p>Enfin, il n&rsquo;est pas s\u00fbr d&rsquo;envoyer les cl\u00e9s d&rsquo;API \u00e0 des h\u00f4tes publics comme votre fournisseur Git. Lors de l&rsquo;h\u00e9bergement, vous pouvez les ajouter en tant que <a href=\"https:\/\/docs.sevalla.com\/applications\/environment-variables\">variables d&rsquo;environnement<\/a> en utilisant le m\u00eame nom de variable et la m\u00eame valeur que ceux sp\u00e9cifi\u00e9s dans le fichier <strong>.env<\/strong>.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2023\/08\/set-env-mykinsta.jpg\" alt=\"D\u00e9finissez les variables d'environnement sur DevKinsta lors du d\u00e9ploiement.\" width=\"1600\" height=\"360\"><figcaption class=\"wp-caption-text\">D\u00e9finissez les variables d&rsquo;environnement sur DevKinsta lors du d\u00e9ploiement.<\/figcaption><\/figure>\n<p>Une fois que vous avez lanc\u00e9 le d\u00e9ploiement de votre application, celle-ci sera g\u00e9n\u00e9ralement construite et d\u00e9ploy\u00e9e en quelques minutes. Un lien vers votre nouvelle application sera fourni, qui ressemble \u00e0 ceci <strong>: https:\/\/site-builder-nodejs-xvsph.kinsta.app<\/strong>.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>S&rsquo;il y a un probl\u00e8me avec vos configurations Node.js qui affecte le d\u00e9ploiement, vous pouvez ajouter un buildpack Node.js dans l&rsquo;onglet des r\u00e9glages de d\u00e9ploiement.<\/p>\n<\/aside>\n\n<h2>R\u00e9sum\u00e9<\/h2>\n<p>Dans ce tutoriel, vous avez appris \u00e0 envoyer des messages \u00e0 Slack \u00e0 partir d&rsquo;une application Node.js \u00e0 l&rsquo;aide de webhooks entrants et \u00e0 personnaliser les messages Slack avec le Block Kit Builder.<\/p>\n<p>Les possibilit\u00e9s offertes par Slack et l&rsquo;API Kinsta sont vastes, et ce tutoriel n&rsquo;est qu&rsquo;un d\u00e9but. En int\u00e9grant ces outils, vous pouvez cr\u00e9er un flux de travail transparent qui permet \u00e0 votre \u00e9quipe d&rsquo;\u00eatre bien inform\u00e9e et d&rsquo;accro\u00eetre sa productivit\u00e9.<\/p>\n<p><em>Comment utilisez-vous l&rsquo;API Kinsta ? Quelles sont les fonctionnalit\u00e9s que vous aimeriez voir ajout\u00e9es\/expos\u00e9es prochainement ?<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Au fil des ans, nos services Kinsta ont toujours \u00e9t\u00e9 g\u00e9r\u00e9s manuellement via le tableau de bord MyKinsta. Cependant, avec l&rsquo;introduction de l&rsquo;API Kinsta et la &#8230;<\/p>\n","protected":false},"author":287,"featured_media":72144,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[953,994,985],"class_list":["post-72143","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-api","topic-node-js","topic-services-kinsta"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>G\u00e9rer les services Kinsta avec l&#039;API Kinsta et Slack - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Apprenez \u00e0 g\u00e9rer sans effort les services Kinsta \u00e0 l&#039;aide de l&#039;API Kinsta et de l&#039;int\u00e9gration Slack. Augmentez votre efficacit\u00e9 d\u00e8s aujourd&#039;hui !\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"G\u00e9rer les services Kinsta avec l&#039;API Kinsta et Slack\" \/>\n<meta property=\"og:description\" content=\"Apprenez \u00e0 g\u00e9rer sans effort les services Kinsta \u00e0 l&#039;aide de l&#039;API Kinsta et de l&#039;int\u00e9gration Slack. Augmentez votre efficacit\u00e9 d\u00e8s aujourd&#039;hui !\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstafrance\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-08-22T08:20:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-23T06:54:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/08\/building-a-slackbot-using-node.js-and-kinsta-api-for-message-sending.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Joel Olawanle\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Apprenez \u00e0 g\u00e9rer sans effort les services Kinsta \u00e0 l&#039;aide de l&#039;API Kinsta et de l&#039;int\u00e9gration Slack. Augmentez votre efficacit\u00e9 d\u00e8s aujourd&#039;hui !\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/08\/building-a-slackbot-using-node.js-and-kinsta-api-for-message-sending.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@olawanle_joel\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_fr\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joel Olawanle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/\"},\"author\":{\"name\":\"Joel Olawanle\",\"@id\":\"https:\/\/kinqsta.com\/fr\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\"},\"headline\":\"G\u00e9rer les services Kinsta avec l&rsquo;API Kinsta et Slack\",\"datePublished\":\"2023-08-22T08:20:34+00:00\",\"dateModified\":\"2023-08-23T06:54:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/\"},\"wordCount\":3273,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/08\/building-a-slackbot-using-node.js-and-kinsta-api-for-message-sending.jpg\",\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/\",\"url\":\"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/\",\"name\":\"G\u00e9rer les services Kinsta avec l'API Kinsta et Slack - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/08\/building-a-slackbot-using-node.js-and-kinsta-api-for-message-sending.jpg\",\"datePublished\":\"2023-08-22T08:20:34+00:00\",\"dateModified\":\"2023-08-23T06:54:36+00:00\",\"description\":\"Apprenez \u00e0 g\u00e9rer sans effort les services Kinsta \u00e0 l'aide de l'API Kinsta et de l'int\u00e9gration Slack. Augmentez votre efficacit\u00e9 d\u00e8s aujourd'hui !\",\"breadcrumb\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/#primaryimage\",\"url\":\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/08\/building-a-slackbot-using-node.js-and-kinsta-api-for-message-sending.jpg\",\"contentUrl\":\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/08\/building-a-slackbot-using-node.js-and-kinsta-api-for-message-sending.jpg\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinqsta.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API\",\"item\":\"https:\/\/kinqsta.com\/fr\/sujets\/api\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"G\u00e9rer les services Kinsta avec l&rsquo;API Kinsta et Slack\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinqsta.com\/fr\/#website\",\"url\":\"https:\/\/kinqsta.com\/fr\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solutions d&#039;h\u00e9bergement premium, rapides et s\u00e9curis\u00e9es\",\"publisher\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinqsta.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinqsta.com\/fr\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinqsta.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinqsta.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstafrance\/\",\"https:\/\/x.com\/kinsta_fr\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinqsta.com\/fr\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\",\"name\":\"Joel Olawanle\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinqsta.com\/fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"caption\":\"Joel Olawanle\"},\"description\":\"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.\",\"sameAs\":[\"https:\/\/joelolawanle.com\/\",\"https:\/\/www.linkedin.com\/in\/olawanlejoel\/\",\"https:\/\/x.com\/olawanle_joel\",\"https:\/\/www.youtube.com\/@joelolawanle\"],\"gender\":\"male\",\"knowsAbout\":[\"JavaScript\",\"React\",\"Next.js\"],\"knowsLanguage\":[\"English\"],\"jobTitle\":\"Technical Editor\",\"worksFor\":\"Kinsta\",\"url\":\"https:\/\/kinqsta.com\/fr\/blog\/author\/joelolawanle\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"G\u00e9rer les services Kinsta avec l'API Kinsta et Slack - Kinsta\u00ae","description":"Apprenez \u00e0 g\u00e9rer sans effort les services Kinsta \u00e0 l'aide de l'API Kinsta et de l'int\u00e9gration Slack. Augmentez votre efficacit\u00e9 d\u00e8s aujourd'hui !","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/","og_locale":"fr_FR","og_type":"article","og_title":"G\u00e9rer les services Kinsta avec l'API Kinsta et Slack","og_description":"Apprenez \u00e0 g\u00e9rer sans effort les services Kinsta \u00e0 l'aide de l'API Kinsta et de l'int\u00e9gration Slack. Augmentez votre efficacit\u00e9 d\u00e8s aujourd'hui !","og_url":"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstafrance\/","article_published_time":"2023-08-22T08:20:34+00:00","article_modified_time":"2023-08-23T06:54:36+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/08\/building-a-slackbot-using-node.js-and-kinsta-api-for-message-sending.jpg","type":"image\/jpeg"}],"author":"Joel Olawanle","twitter_card":"summary_large_image","twitter_description":"Apprenez \u00e0 g\u00e9rer sans effort les services Kinsta \u00e0 l'aide de l'API Kinsta et de l'int\u00e9gration Slack. Augmentez votre efficacit\u00e9 d\u00e8s aujourd'hui !","twitter_image":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/08\/building-a-slackbot-using-node.js-and-kinsta-api-for-message-sending.jpg","twitter_creator":"@olawanle_joel","twitter_site":"@kinsta_fr","twitter_misc":{"\u00c9crit par":"Joel Olawanle","Dur\u00e9e de lecture estim\u00e9e":"17 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/#article","isPartOf":{"@id":"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/"},"author":{"name":"Joel Olawanle","@id":"https:\/\/kinqsta.com\/fr\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07"},"headline":"G\u00e9rer les services Kinsta avec l&rsquo;API Kinsta et Slack","datePublished":"2023-08-22T08:20:34+00:00","dateModified":"2023-08-23T06:54:36+00:00","mainEntityOfPage":{"@id":"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/"},"wordCount":3273,"commentCount":0,"publisher":{"@id":"https:\/\/kinqsta.com\/fr\/#organization"},"image":{"@id":"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/#primaryimage"},"thumbnailUrl":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/08\/building-a-slackbot-using-node.js-and-kinsta-api-for-message-sending.jpg","inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/","url":"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/","name":"G\u00e9rer les services Kinsta avec l'API Kinsta et Slack - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinqsta.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/#primaryimage"},"image":{"@id":"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/#primaryimage"},"thumbnailUrl":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/08\/building-a-slackbot-using-node.js-and-kinsta-api-for-message-sending.jpg","datePublished":"2023-08-22T08:20:34+00:00","dateModified":"2023-08-23T06:54:36+00:00","description":"Apprenez \u00e0 g\u00e9rer sans effort les services Kinsta \u00e0 l'aide de l'API Kinsta et de l'int\u00e9gration Slack. Augmentez votre efficacit\u00e9 d\u00e8s aujourd'hui !","breadcrumb":{"@id":"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/#primaryimage","url":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/08\/building-a-slackbot-using-node.js-and-kinsta-api-for-message-sending.jpg","contentUrl":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/08\/building-a-slackbot-using-node.js-and-kinsta-api-for-message-sending.jpg","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinqsta.com\/fr\/blog\/gerer-services-kinsta-api-slack\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinqsta.com\/fr\/"},{"@type":"ListItem","position":2,"name":"API","item":"https:\/\/kinqsta.com\/fr\/sujets\/api\/"},{"@type":"ListItem","position":3,"name":"G\u00e9rer les services Kinsta avec l&rsquo;API Kinsta et Slack"}]},{"@type":"WebSite","@id":"https:\/\/kinqsta.com\/fr\/#website","url":"https:\/\/kinqsta.com\/fr\/","name":"Kinsta\u00ae","description":"Solutions d&#039;h\u00e9bergement premium, rapides et s\u00e9curis\u00e9es","publisher":{"@id":"https:\/\/kinqsta.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinqsta.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/kinqsta.com\/fr\/#organization","name":"Kinsta","url":"https:\/\/kinqsta.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinqsta.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinqsta.com\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstafrance\/","https:\/\/x.com\/kinsta_fr","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinqsta.com\/fr\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07","name":"Joel Olawanle","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinqsta.com\/fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","caption":"Joel Olawanle"},"description":"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.","sameAs":["https:\/\/joelolawanle.com\/","https:\/\/www.linkedin.com\/in\/olawanlejoel\/","https:\/\/x.com\/olawanle_joel","https:\/\/www.youtube.com\/@joelolawanle"],"gender":"male","knowsAbout":["JavaScript","React","Next.js"],"knowsLanguage":["English"],"jobTitle":"Technical Editor","worksFor":"Kinsta","url":"https:\/\/kinqsta.com\/fr\/blog\/author\/joelolawanle\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/posts\/72143","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/users\/287"}],"replies":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/comments?post=72143"}],"version-history":[{"count":6,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/posts\/72143\/revisions"}],"predecessor-version":[{"id":72197,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/posts\/72143\/revisions\/72197"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/72143\/translations\/en"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/72143\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/72143\/translations\/fr"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/72143\/translations\/it"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/72143\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/72143\/translations\/nl"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/72143\/translations\/de"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/72143\/translations\/es"},{"href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/72143\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/media\/72144"}],"wp:attachment":[{"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/media?parent=72143"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/tags?post=72143"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/topic?post=72143"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}