Ludovicclain. Com maîtriser une api rest – les pré-requis

Maîtriser une API REST – les pré-requis

Nous avons vu dans l’article précédent les quelques ressources nécessaires au bon déroulement de notre projet. Jetons un coup d’oeil maintenant aux compétences que j’ai dû consolider et que vous allez peut-être devoir maîtriser aussi.

WP-CLI : gérer WordPress depuis le Terminal

WP-CLI est un outil permettant de gérer WordPress grâce à des lignes de commande. Quel intérêt ?

Voici un exemple :

wp option update blogdescription 'Juste un autre super site'
wp option update use_smilies 0
wp option update category_base '/cat'
wp option update tag_base '/tag'
wp option update comment_moderation 1
wp option update default_comment_status 'closed'
wp option update comment_registration 1
wp option update use_trackback 0
wp option update default_ping_status 'closed'
wp option update default_pingback_flag 0
wp option update avatar_default 'gravatar_default'
wp option update close_comments_for_old_posts 1
wp option update comment_registration 1
wp option update date_format 'd/m/Y'
wp option update timezone_string 'Indian/Reunion'
wp option update time_format 'H:i'
wp option update image_default_align 'center'
wp option update uploads_use_yearmonth_folders 1
wp option update rss_use_excerpt 1
wp option update blog_public 0
wp option update permalink_structure '/%postname%/'
wp comment delete 1 --force
wp post delete 1 --force
wp post delete 2 --force

👆 Grâce aux lignes ci-dessus (à copier / coller dans votre Terminal), vous pourrez désormais nettoyer et optimiser WordPress après une installation fraîche (je ferais une vidéo explicative à l’occasion).

o2switch, l’hébergeur que j’ai utilisé pour faire cette série de tutoriels, a WP-CLI d’installé par défaut sur tous ses serveurs (ce que j’ignorais 😅 ).

Voici quelques références utiles :

Les bash scripts à la rescousse

Une fois que vous maîtrisez les commandes wp-cli, habituellement vous les utilisez directement dans un Terminal, mais dans le cas de notre API REST il m’a fallu chercher quel type de fichier pouvait bien accueillir des lignes de commande, pour les stocker et les solliciter à la volée.

Ces fichiers portent le nom de bash scripts, sont en général avec l’extension « .sh » et leur contenu démarre souvent avec « #!/bin/bash » afin de préciser l’interprète pour l’exécution.

Pour aller plus loin dans la compréhension du fonctionnement d’un bash script (notamment en ce qui concerne la création et l’appel de variables), je vous laisse avec un excellent article écrit avec soin et clarté par Tania Rascia :

How to Create and Use Bash Scripts by Tania Rascia

Monty Python’s Flying Circus

Avec un hébergement o2switch, dans votre cPanel, 3 options s’offrent à vous lorsqu’il s’agit de créer une Web app :

  • Une application Node.js
  • Une application Python
  • Une application Ruby
Screen shot 2022 01 02 at 19. 55. 19

Pour notre projet, et étant peut-être comme vous, un codeur novice, il m’a été conseillé d’essayer Python dans un premier temps. Et à l’user, j’ai adoré !

Sa réputation d’être accessible et compréhensible, même aux grands débutants n’est pas une rumeur. Et si vous souhaitez partir du bon pied, voici un site qui m’a bien aidé :

Real Python – Python tutorials

Oui, mais…

Même si à ce stade, toutes les pièces du puzzle semblent être là, je me suis tout de même cassé les dents à faire exécuter un fichier bash script de test, comprenant des commandes wp-cli.

Même le support d’o2switch pourtant dévoué et compétent, n’a pas pu m’aider. J’ai trouvé la solution en tatônnant, après des heures de tests :

En fonction de la configuration de votre serveur et des possibilités offertes par votre hébergement, il faudra parfois préciser les chemins absolus vers l’interprète nécessaire à l’exécution de votre commande.

Par exemple avant d’être simplifié en « wp » la commande wp-cli complète originelle est « php wp-cli.phar », et parfois il sera nécessaire de préciser le chemin absolu du binaire à partir duquel PHP s’exécute :

Screen shot 2022 01 02 at 20. 39. 23

Voici ce que ça donnerait pour lister tous les sous-sites d’un WordPress multisite via un bash script :

#!/bin/bash
WP_PATH="/home/xxxxxx/dossier_de_mon_wp_multisite"
WP="/usr/local/bin/wp"
PHP="/opt/alt/php74/usr/bin/php"

$PHP $WP site list --fied=url --path="$WP_PATH"

Le résumé en vidéo

Cet article vous a été utile ?
Oui 👍 Non 👎
Retour en haut