L’API Kinsta ne sert pas uniquement à contrôler la sécurité de votre site ou à récupérer des informations sur l’environnement. En fait, une partie de notre philosophie est de vous aider à rationaliser vos flux de développement.

En tant que tel, les points de terminaison peuvent vous accompagner depuis votre installation locale initiale jusqu’au déploiement initial et même votre maintenance après le lancement. L’API peut prendre en charge la plupart des tâches de votre liste, telles que la création d’environnements, le clonage de sites, et bien plus encore.

Dans cet article, nous allons vous montrer comment vous pouvez développer des sites en utilisant les points de terminaison de l’API Kinsta. Vous apprendrez comment intégrer l’API dans votre flux de développement habituel et comprendrez comment rendre le processus plus efficace et plus fluide. Commençons par un aperçu rapide de ce qu’est l’API Kinsta et de ce qu’elle peut faire.

Un bref aperçu de l’API Kinsta

En bref, l’API Kinsta vous permet d’interagir de manière programmatique avec vos sites et environnements sur notre plateforme. Nous vous fournissons un ensemble de points de terminaison que vous pouvez utiliser pour effectuer diverses tâches, telles que la création de nouveaux sites WordPress, le clonage de sites existants, la gestion des sauvegardes, et plus encore.

Cette API RESTful offre de nombreux avantages à vos projets de développement grâce à ses caractéristiques et fonctionnalités clés :

  • Automatisation. Vous êtes en mesure d’automatiser des tâches et des flux de travail courants, ce qui vous permet de gagner du temps, de réduire les efforts manuels et de vous consacrer à des tâches plus importantes.
  • Intégration. Vous pouvez intégrer l’API à vos outils et systèmes existants. L’intégration et le déploiement continus (CI/CD) constituent un excellent cas d’utilisation de l’API Kinsta et d’outils tiers.
  • Flexibilité. L’API peut vous donner un contrôle granulaire sur vos sites et environnements, vous permettant de personnaliser votre configuration en fonction de vos besoins spécifiques avec peu de restrictions.

si vous souhaitez en savoir plus sur les possibilités offertes par l’API Kinsta, consultez la documentation dédiée. Néanmoins, nous examinerons de nombreux exemples dans le reste de cet article, après avoir approfondi les avantages que l’API peut vous apporter.

Pourquoi vos flux de développement peuvent-ils bénéficier de l’API Kinsta ?

Le tableau de bord MyKinsta.
Le tableau de bord MyKinsta.

Bien sûr, nous adorons le tableau de bord MyKinsta pour sa profondeur, son interface magnifique et son niveau de contrôle. Cependant, vous pouvez également trouver la plupart des fonctionnalités dans l’API Kinsta. Si vous êtes un développeur, cela devrait vous intéresser pour plusieurs raisons :

  1. Approvisionnement plus rapide. L’API offrira un moyen programmatique de créer de nouveaux sites et environnements WordPress. En fonction des scripts que vous créerez, vous réduirez probablement le temps nécessaire à la mise en place d’un nouveau projet.
  2. Rationalisation de la collaboration. Pour les équipes, l’API peut vous aider à cloner des sites et à créer des environnements de staging rapidement. Ce sera un moyen efficace de collaborer et de travailler sur différentes versions d’un site en même temps.
  3. Déploiements automatisés. Si vous intégrez l’API Kinsta à votre pipeline CI/CD, vous pourrez automatiser le processus de déploiement dans tous vos environnements de staging et de production.
  4. Configurations cohérentes. Parce que vous pouvez configurer les paramètres sur plusieurs sites et environnements avec l’API, vous pouvez réduire les erreurs et rendre vos flux de travail plus cohérents.

Mais trêve de bavardage : passons à l’utilisation de l’API Kinsta. Nous commencerons par les points de terminaison qui fonctionnent bien pour le développement, puis nous les utiliserons dans votre flux de travail.

Les points de terminaison de l’API Kinsta pour le développement

L’API de Kinsta offre de nombreux points de terminaison, mais certains vous intéresseront plus que d’autres. Pour le développement, vous reviendrez souvent sur certains d’entre eux :

  • Les sites WordPress. Vous disposez d’une sélection de points de terminaison pour vous aider à créer, récupérer, supprimer et cloner des sites.
  • Environnements de sites WordPress. Vous pouvez également gérer les environnements de vos sites par le biais de certains points de terminaison. Par exemple, vous disposez d’un certain nombre de moyens pour travailler avec des sites de staging.
  • Sauvegardes. Vous pouvez avoir besoin de travailler sur la gestion des sauvegardes de votre site pendant le développement. Nous proposons des points de terminaison pour les récupérer, les restaurer, les supprimer et les créer.
  • Domaines de sites WordPress. Si vous avez besoin d’ajouter un nouveau domaine personnalisé à votre hébergement, vous vous tournerez vers nos points de terminaison simples pour gérer les domaines de site.

Ces points de terminaison couvrent les fonctionnalités de base dont vous aurez besoin pour la plupart des flux de développement. Cependant, d’autres peuvent compléter les points de terminaison que vous utilisez souvent. Par exemple, ceux qui gèrent les bases de données, le déploiement, la mise en cache et votre réseau de diffusion de contenu (CDN) ont tous un rôle à jouer.

Dans la suite de l’article, nous verrons comment vous pouvez utiliser l’API Kinsta dans le cadre d’un développement réel. Dans la section des commentaires à la fin de l’article, vous pouvez même partager vos propres exemples où vous pensez que l’API Kinsta pourrait être utile – nous serions ravis de les entendre !

Un cas d’utilisation réel : le développement d’un site

Essayons d’illustrer comment vous pouvez utiliser l’API Kinsta dans la pratique. Il existe de nombreuses façons de développer WordPress, nous allons donc voir comment une agence de conception web peut utiliser l’API tout au long d’un flux de travail. En général, cela implique quelques étapes :

  1. Créer un environnement de développement local, initialisez un dépôt Git et travaillez sur le site naissant.
  2. Créer un environnement de staging au sein de Kinsta pour les tests et l’approbation du client. Cela peut également impliquer la création d’une base de données et la mise en place d’un domaine
  3. Entreprendre la mise en place technique, comme restreindre les adresses IP de l’environnement de test, initialiser les sauvegardes, modifier les versions PHP, installer les thèmes et les plugins WordPress, et plus encore.
  4. Effectuer des tâches de pré-déploiement telles que la création d’un CDN ou la mise en place d’une mise en cache.
  5. Pour la dernière étape du flux de travail, vous devrez transférer les modifications de l’environnement de staging à l’environnement de production.

Malgré l’importance de l’API Kinsta dans cet article, notre première étape n’en aura pas besoin. Commençons par mettre en place votre environnement de développement local, puis passons aux éléments programmatiques pour la mise à l’essai et la production.

1. Mise en place d’un environnement de développement local

Votre environnement local doit être solide comme un roc, et chaque développeur aura sa propre approche préférée. Bien sûr, notre choix ici se portera sur DevKinsta.

L'écran d'accueil de DevKinsta.
L’écran d’accueil de DevKinsta.

Cela peut simplifier le processus de mise en place de votre environnement local, en particulier si vous utilisez l’hébergement de Kinsta. DevKinsta est gratuit et vous offre de nombreuses fonctionnalités que d’autres outils similaires ne peuvent pas fournir :

  • L’application fonctionne à l’aide de conteneurs Docker, de sorte qu’elle est isolée de votre système global.
  • Vous pouvez choisir un domaine de premier niveau (TLD) personnalisé, tel que .local ou .staging, qui convient à votre projet et à l’étape du flux de travail.
  • Vous pouvez choisir la version de PHP et Kinsta utilise par défaut des bases de données MariaDB. Cette dernière est cruciale, grâce à ses performances supérieures à celles de MySQL.
  • Il existe un gestionnaire de base de données intégré qui fonctionne sur Adminer.

DevKinsta fournit également un certain nombre d’outils pour les développeurs. Par exemple, vous pouvez activer Xdebug en un clic et modifier les fichiers de configuration php.ini et Nginx à partir de l’écran des réglages :

Modifier les fichiers de configuration de Nginx dans DevKinsta.
Modifier les fichiers de configuration de Nginx dans DevKinsta.

La configuration et l’utilisation de DevKinsta dépassent le cadre de cet article, car nous voulons nous concentrer sur l’API Kinsta. Cependant, nous disposons d’une documentation complète sur le démarrage de l’environnement local qui devrait être une lecture obligatoire.

2. Gérer les environnements de développement local et de staging

À ce stade, vous disposez d’un environnement de développement local (avec un peu de chance, DevKinsta !) et d’un site suffisamment complet pour passer à l’étape suivante. La création d’un environnement d’essai utilise à la fois les fonctionnalités de DevKinsta et celles de l’API Kinsta. Décomposons cela en quelques étapes.

Création d’un environnement de staging

Tout d’abord, créez un nouvel environnement de staging avec l’API Kinsta. Vous pouvez le faire à l’intérieur de DevKinsta grâce à des liens vers le tableau de bord MyKinsta :

Créer un nouvel environnement de site dans DevKinsta.
Créer un nouvel environnement de site dans DevKinsta.

Cependant, l’API de Kinsta a des points de terminaison pour couvrir tous les cas d’utilisation pratiques. Par exemple, vous pouvez créer des sites et des environnements simples et peuplés. Nous vous recommandons d’utiliser des environnements simples à ce stade, car vous pouvez avoir l’esprit tranquille en sachant que votre site local sera déplacé vers un emplacement « frais ».

Pour ce faire, vous devrez d’abord créer un nouveau site WordPress sur Kinsta en utilisant le point de terminaison approprié :

const resp = await fetch(
  `https://api.kinsta.com/v2/sites/plain`,
  {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    },
    body: JSON.stringify({
      company: '54fb80af-576c-4fdc-ba4f-b596c83f15a1',
      display_name: 'First plain site',
      region: 'us-central1'
    })
  }
);

const data = await resp.json();

Une fois le site en place, vous pouvez obtenir une liste de sites en indiquant l’identifiant de l’entreprise :

…
  "company": {
    "sites": [
      {
        "id": "54fb80af-576c-4fdc-ba4f-b596c83f15a1",
        "name": "firstsite",
        "display_name": "First site",
        "status": "live",
        "siteLabels": [
          {
            "id": "54fb80af-576c-4fdc-ba4f-b596c83f15a1",
            "name": "Do not remove"
…

Une fois cette étape franchie, vous pouvez créer l’environnement de staging en utilisant le bon identifiant de site :

const siteId = 'YOUR_site_id_PARAMETER';
const resp = await fetch(
  `https://api.kinsta.com/v2/sites/${siteId}/environments/plain`,
  {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    },
    body: JSON.stringify({
      display_name: 'staging',
      is_premium: false
    })
  }
);

const data = await resp.json();

Nous vous recommandons également de créer une base de données pour le site de staging pendant que vous êtes ici. Dans quelques instants, vous l’écraserez avec votre base de données locale, mais l’initialisation d’un espace réservé est une bonne pratique :

…
  {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    },
    body: JSON.stringify({
      company_id: '54fb80af-576c-4fdc-ba4f-b596c83f15a1',
      location: 'us-central1',
      resource_type: 'db1',
      display_name: 'test-db',
      db_name: 'test-db',
      db_password: 'example-password',
      db_user: 'example-user',
      type: 'postgresql',
      version: '15'
    })
  }
);
…

En fonction de votre configuration, vous devrez peut-être ajouter un nouveau domaine à Kinsta, ce que vous pouvez faire par le biais d’un simple point de terminaison. Cependant, une fois que le staging est mis en place, vous pouvez chercher à pousser vos changements locaux vers ce staging.

Synchroniser les modifications locales avec celles du staging

Le processus exact pour pousser vos changements vers le staging dépendra de votre configuration et de vos outils spécifiques. Une approche générale et typique peut ressembler à ce qui suit :

  1. Apportez des modifications à votre site WordPress local.
  2. Livrez les modifications à Git.
  3. Transférez ces modifications sur un serveur distant (par exemple, GitHub ou GitLab).
  4. Utilisez DevKinsta ou l’API Kinsta pour mettre à jour l’environnement de staging avec les derniers changements.

Nous ne couvrirons pas le contrôle de version ici, mais DevKinsta offre des outils pratiques pour vous aider à pousser les changements vers votre hébergement Kinsta :

Les options de synchronisation avec Kinsta dans l'écran Site info de DevKinsta.
Les options de synchronisation avec Kinsta dans l’écran Site info de DevKinsta.

Cela vous permettra de choisir l’environnement sur l’ensemble de votre serveur d’hébergement. Une fois que vous avez fait cela, vous pouvez également choisir de pousser votre base de données – encore une fois, quelque chose que peu d’outils de développement local vous permettent de faire :

Confirmer un push dans DevKinsta, et choisir de pousser des fichiers, votre base de données, ou les deux.
Confirmer un push dans DevKinsta, et choisir de pousser des fichiers, votre base de données, ou les deux.

Une fois que vous avez rempli votre environnement Kinsta, l’API vous sera d’une grande utilité. Par exemple, vous pouvez créer un script et exécuter une sauvegarde initiale, qui ne nécessite qu’un identifiant et un libellé d’environnement :

  {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    },
    body: JSON.stringify({
      tag: 'my-awesome-backup'
    })
  }
);

Vous pouvez également installer d’autres thèmes et extensions à ce stade si vous le souhaitez. A ce stade, notre utilisation de DevKinsta se termine car vous pouvez déployer votre site en utilisant l’API Kinsta à partir de maintenant.

3. Transférer les modifications de la phase de staging à la phase de production

Avant d’envisager de transférer les modifications vers la production, vous devrez effectuer quelques tâches cruciales, toutes avec l’API Kinsta :

À partir de là, vous devez tester entièrement votre site dans l’environnement de staging et obtenir l’approbation de votre client. À ce stade, vous pouvez envisager le déploiement. Kinsta vous propose plusieurs options pour cela :

  1. Le tableau de bord MyKinsta vous permet de pousser les changements de la phase de staging à la phase de production.
  2. Vous pouvez utiliser l’API de Kinsta pour déployer les changements de manière programmatique.

Nous allons (bien sûr) nous concentrer sur la deuxième option, car elle permet un flux de travail plus automatisé et rationalisé.

Utiliser l’API pour déployer des changements

L’API Kinsta propose plusieurs façons de déplacer un environnement. Vous pouvez pousser votre environnement de staging vers votre environnement de production ou le cloner.

const siteId = 'YOUR_site_id_PARAMETER';
const resp = await fetch(
  `https://api.kinsta.com/v2/sites/${siteId}/environments`,
  {
    method: 'PUT',
    headers: {
      'Content-Type': 'application/json',
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    },
    body: JSON.stringify({
      source_env_id: '54fb80af-576c-4fdc-ba4f-b596c83f15a1',
      target_env_id: '54fb80af-576c-4fdc-ba4f-b596c83f15a1',
      push_db: true,
      push_files: true,
      run_search_and_replace: true
    })
  }
);

const data = await resp.json();

Quoi qu’il en soit, c’est une bonne idée de créer une autre sauvegarde de chaque environnement que vous exécutez afin de pouvoir récupérer en cas de problème.

Pratiques typiques et conseils pour l’utilisation de l’API Kinsta

L’API Kinsta est un moyen puissant d’effectuer des changements programmatiques sur vos sites et environnements. En tant que tel, vous devez être prudent lorsque vous l’utilisez, car si quelque chose ne va pas, il sera de votre responsabilité de le réparer.

Dans cette optique, nous allons passer en revue quelques conseils, astuces et pratiques typiques que vous devriez intégrer dans votre propre flux de développement :

  • Sécurisez vos identifiants API. Vous ne devez jamais partager votre jeton d’API avec qui que ce soit ni l’inclure dans des poussées Git distantes. Utilisez plutôt des variables d’environnement ou similaires pour stocker et accéder à vos informations d’identification. L’API Kinsta comprend un point de terminaison d’authentification pour vous aider.
  • Fournissez un accès basé sur le principe du moindre privilège. Gérez correctement l’accès à votre compte Kinsta et à l’API. Ne donnez l’accès qu’aux membres de l’équipe qui en ont besoin. En outre, vous devez prévoir des révisions et des mises à jour régulières de toutes les autorisations d’accès.
  • Utilisez la gestion des erreurs. Lorsque vous faites des requêtes d’API, pensez à gérer les erreurs et les exceptions de manière gracieuse. Le point de terminaison Logs peut vous aider à identifier et à résoudre rapidement les problèmes.
  • Maintenez l’API à jour. Nous nous occupons des changements et des mises à jour de l’API de Kinsta, mais vous devez également la surveiller. Le journal des modifications de Kinsta sera votre premier arrêt ici, bien qu’il soit également recommandé d’examiner la documentation existante pour les nouvelles modifications.

Ceci est beaucoup plus important lorsqu’il s’agit de poursuivre la collaboration avec les équipes et l’automatisation que vous pourriez vouloir employer. Notre dernière section aborde ce sujet de manière un peu plus détaillée.

Automatiser votre flux de développement

L’un des principaux avantages de l’utilisation de l’API Kinsta est la possibilité d’automatiser les tâches répétitives dans votre flux de développement. En écrivant des scripts ou en intégrant d’autres outils, vous pouvez rationaliser les processus et gagner du temps.

Pour rationaliser complètement votre flux de travail, vous pouvez automatiser le passage de la phase de préparation à la phase de production en intégrant l’API Kinsta à votre pipeline CI/CD. Il peut s’agir d’un processus complexe et subjectif qui peut même changer d’un projet à l’autre. Par exemple, voici un exemple de flux de travail pour un script approprié :

  1. Mettez en œuvre un déclencheur lorsque des changements sont poussés vers une branche spécifique dans Git (telle qu’une branche de publication).
  2. Créez une sauvegarde manuelle de l’environnement de production à l’aide de l’API.
  3. Remplacez l’environnement de production par l’environnement de staging en utilisant le point de terminaison approprié.
  4. Exécutez toutes les tâches de post-déploiement nécessaires (telles que l’effacement du cache, l’exécution des migrations de base de données, etc.)

C’est le grand avantage de l’API Kinsta. Vous pouvez automatiser presque tous les aspects de votre flux de travail pour garantir des déploiements cohérents et fiables. Vous pouvez également faire bien d’autres choses avec cette API :

  • Créez des sauvegardes avant les poussées de clés. Cela devrait être une partie importante de votre flux de travail de déploiement afin que vous ayez des instantanés de chaque étape du processus.
  • Surveillez les performances du site et recevez des notifications. L’outil APM de Kinsta peut garder un œil sur toutes les anomalies de mesures dont vous pourriez avoir besoin. Avec l’API de Kinsta, vous disposez d’un ensemble de points de terminaison pour surveiller des mesures spécifiques. À partir de là, vous pouvez configurer des notifications dans le tableau de bord MyKinsta.
  • Examinez souvent les utilisateurs du site. Il existe un point de terminaison simple qui permet d’obtenir une liste d’utilisateurs basée sur l’identifiant du site. L’affichage de cette liste à des moments clés du flux de travail peut contribuer à la sécurité de vos sites.

La beauté de l’API Kinsta réside dans la quantité de choses que vous pouvez contrôler à l’aide de méthodes programmatiques. Le champ d’application est large et vous pouvez même créer des tableaux de bord personnalisés qui affichent certaines de ces mesures ou options pour un flux de développement encore plus fluide.

Résumé

L’API Kinsta est sans doute le seul moyen de rationaliser votre flux de développement. En exploitant les différents points de terminaison pour la gestion des sites, des environnements, des sauvegardes et autres, vous pouvez automatiser les tâches répétitives, améliorer la collaboration et déployer les changements en toute confiance.

De plus, l’intégration de l’API Kinsta dans votre processus de développement peut vous aider à personnaliser le processus pour chaque projet. En retour, cela peut vous aider à fournir des sites de haute qualité plus rapidement que jamais.

Quel aspect de l’API Kinsta vous intéresse dans votre processus de développement ? Faites-le nous savoir dans la section des commentaires ci-dessous !

Jeremy Holcombe Kinsta

Content & Marketing Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems ;).