Introduction à WP-CLI

15-03-2014 - 1000 mots - temps de lecture estimé ~ 4 minutes

Voir le post

Petite introduction à l’utilisation de WP-CLI pour les développeurs WordPress. Tuto du week-end car je n’aurai pas le temps cette semaine mais je tenais à partager ceci avec vous.

WP-CLI possède une documentation relativement bien fournie en Anglais : http://wp-cli.org/. Les blogs anglosaxons regorgent de ressources et autres tutoriels en la matière mais on a finalement très peu en Français donc j’y vais de mon petit mot.

WP-CLI est un outil qui permet d’effectuer la plupart des tâches courantes sur une installation WordPress en fournissant une interface de commande aux développeurs et administrateurs. L’affichage est de type “terminal de commandes”.

Si vous n’avez pas d’accès SSH ou que vous n’êtes pas en local vous pouvez lire ce tutoriel mais la mise en application sera impossible. Faites bien attention à ce que vous faites, on manipule des commandes sensibles donc à tester avant d’appliquer sur un site live.

Pré-requis

Comme je le disais dans la note précédente, il vous faudra :

  • soit un localhost soit un serveur de test (si vous voulez vous faire la main, vous faites comme moi, vous prenez un kimsufi de base)

  • des accès SSH et avoir créé un utilisateur autre que root

  • pour les OS Linux et MAC, le terminal, pour Windows l’excellent Putty

  • des connaissances serveur solides ou un apprentissage accéléré, débrouillez-vous là-dessus c’est important !

  • avoir installé apache2,  MySQL, cURL , PHP5 et GIT

Pour les windowsiens

Normalement si vous vous êtes formés un minimum à la gestion des serveurs et que vous évoluez sous Windows vous connaissez déjà mais je vais quand même partager le paramétrage du logiciel Putty pour l’exemple.

La logique de cet OS me dépasse parfois mais il faut bien s’adapter et je trouve qu’un développeur doit savoir évoluer sous plusieurs OS. Après cette considération personnelle “hautement importante”, passons aux réglages de Putty :

  1. Sur la page de téléchargement choisissez ‘A Windows installer for everything except PuTTYtel

  2. Installez le soft et entrez dedans ensuite

  3. Sous le menu Session entrez vos informations de connexion

  4. Sous le menu Connexion > Data pour le paramètre auto-login-username entrez ou laissez root pour l’instant

  5. Sous le menu SSH sélectionnez “2 only” pour le protocole SSH, en général c’est ce qui vous faudra

  6. Revenez sous le menu Session et enregistrez tous ces réglages en entrant un nom dans le champ Save Session puis en cliquant sur save

Voilà Putty est paramétré comme il faut, enfin de manière basique. Le port par défaut est 22. Pour des raisons de sécurité je vous conseille de changer ce port sur votre serveur.

Créer un utilisateur non root

Une fois connecté au serveur via SSH et après avoir rentré votre mot de passe, commencez par créer un nouvel utilisateur qui ne sera pas root. De toute manière pour améliorer la sécurité on peut conseiller d’interdire l’accès SSH en mode root. Surtout bien créer un utilisateur admin avec les droits suffisants avant d’interdire le root. Dans Putty veillez à bien laissez les fenêtres actives, peu importe qu’il y en ait plusieurs d’ouvertes, mieux vaut ne pas les fermer sans avoir testé la connexion. Dans le pire des cas faut tout réinstaller alors autant éviter cela non?

Remarque: pour les windowsiens revenez, après avoir testé que la connexion avec ce nouvel utilisateur fonctionne, dans Putty et créez un nouveau profil pour votre utilisateur.

Installation de WP-CLI

Après avoir réussi les dernières étapes, on peut passer à WP-CLI. Il y aura peut-être quelques subtilités supplémentaires dans un cadre projet client mais la démarche reste globalement la même. Rendez-vous sur votre dossier, par exemple \home\votre_nom_utilisateur\www\ et entrez la commande suivante :

$ curl https://raw.github.com/wp-cli/wp-cli.github.com/master/installer.sh | bash

C’est une commande un peu différente de celle indiquée sur le site de WP-CLI mais on ne fait qu’exécuter le fichier .sh d’installation. Si tout se passe bien vous aurez un ensemble de processus d’installation qui démarrera. Sinon l’erreur vous sera indiquée. Il faudra alors selon les cas inclure une règle dans un des fichiers de WP-CLI (utilisez alors la commande nano pour éditer le fichier) ou alors regarder si vous n’avez pas oublié d’installer un des modules ou des logiciels indiqués dans la partie pré-requis.

Suivre la doc

Vous pouvez ensuite inclure les commandes indiquées par la documentation. Notamment celles-ci :

chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

Ces commandes permettent d’utiliser directement wp au lieu de wp-cli.phar.

N’oubliez pas de modifier en conséquence le fichier .bash_profile suivant ce que vous indiquera le terminal. Le reste du travail pour cette partie consiste à lire la documentation.

Commencer à utiliser WP-CLI

Une fois la documentation à peu près assimilée, vous pourrez passer aux commandes WP-CLI. Nous allons voir juste la base de la base :

 wp post create

A chaque commande vous aurez un message de succès ou d’erreur donc vous saurez à quoi vous en tenir :D.

Quelques commandes

La documentation est riche. Voici en plus quelques commandes utiles:

$ wp core update
$ wp plugin install jm-twitter-cards --activate
$ wp COMMAND --help
$ wp db dump
$ wp db query "votre_requete_dans_la_base"

Les termes sont assez explicites je pense. Si vous avez besoin de précisions demandez :D. La très grande qualité de l’outil WP-CLI réside dans sa simplicité de sorte que l’on se demande pourquoi cela n’existait pas avant.

Tout est écrit en PHP donc pour ajouter vos propres commandes il suffira d’ajouter votre code.

Et? Après?

Après tout est possible. Plus besoin de se connecter à l’admin de votre site pour le gérer, faire des publications, des mises à jour, etc. Vraiment pratique et clean. Une fois la base saisie, vous accéderez aux tutoriels spécifiques liés à WP-CLI.

Vraiment simple à comprendre puisque moi j’ai compris et de toute manière c’est conçu pour être un outil facile d’accès.

J’espère vous avoir aidé et convaincu de passer à WP-CLI pour vos projets WP. Si vous êtes intéressés par une vidéo faites le savoir. D’ici là amusez-vous bien avec cet outil.

comments powered by Disqus