Stella

Gérer des sites WordPress en ligne de commande

Si vous utilisez WordPress, vous vous êtes forcément déjà promenés dans l’interface d’administration. Elle permet certes de gérer tout son site, mais pour automatiser les choses, ce n’est pas très pratique. Alors on va vous présenter un petit outil qui nous a bien aidés pour ça !

Qu’est-ce que WordPress ?

Vous connaissez probablement déjà WordPress, mais au cas où, on va faire une rapide présentation.

WordPress est ce qu’on appelle un CMS et permet de créer et gérer des sites Web. Il est utilisé par un peu plus de 40% des sites, c’est pas mal.

Après avoir installé quelques petites choses, comme PHP et MySQL (ou MariaDB), vous êtes prêts à installer WordPress, avec la fameuse installation en 5 minutes.

C’est magique
Installer WordPress

Une fois installé, c’est parti pour le bidouillage de votre site ! Si aucun des thèmes fournis par WordPress ne vous plait, vous pouvez en installer un autre créé par la grande communauté WordPress, ou alors vous pouvez créer le vôtre. Pour vous aider dans tout ça, vous pouvez compter sur les différentes extensions. Il en existe vraiment plein, qui vous proposent des formulaires de contact, des calendriers, des cartes…

Bref, il y en a pour tous les goûts et tous les besoins. Et si vous ne trouvez pas votre bonheur, vous pouvez toujours créer ce dont vous avez envie 🌼.

Qu’est ce qu’on voudrait automatiser et pourquoi ?

Pour installer WordPress, le plus simple est de créer une base de données, de télécharger l’archive WordPress disponible sur le site de WordPress, de l’extraire et de lancer le script d’installation.

Pour les divers thèmes et extensions que l’on souhaite utiliser, on peut les installer en passant par le panneau d’administration de notre site.

Ces étapes ne prennent pas beaucoup de temps et ne sont pas très compliquées. Elles sont même plutôt pratiques, quand on a un seul site à gérer à la fois. Quand on a plusieurs sites dont on doit s’occuper, ou que l’on veut automatiser l’installation, passer par l’interface devient alors long et fastidieux.

Le cas qui s’est présenté à nous est le suivant : notre client (coucou Hugo) crée des thèmes WordPress pour ses clients. Il développe ça sur sa propre machine, mais pour montrer l’évolution aux clients, ce n’est pas très pratique. Le besoin est d’avoir un serveur sur lequel un WordPress serait installé pour chaque thème/client et auquel le client aurait accès pour voir l’évolution et faire ses retours.

Bien sûr, installer un nouveau WordPress à la main à chaque fois est faisable. Mais ça fait beaucoup de clics et de temps perdu pour rien.

Le lapin blanc
Le temps ! Qu’est ce que le temps !?

Nous avons donc cherché à automatiser l’installation de WordPress et en cherchant une solution, nous avons trouvé WP-CLI.

Un outil sympathique : WP-CLI

WP-CLI est un outil libre qui permet de gérer des sites WordPress directement depuis le terminal. Il s’installe facilement en le téléchargeant depuis leur dépôt GitHub.

Une fois WP-CLI installé, tout ce que vous faisiez depuis l’interface web de votre WordPress, vous pouvez le faire depuis votre terminal. Et qui dit ligne de commande, dit automatisation possible !

Pour installer un nouveau site WordPress, on a vu qu’il fallait :

  • avoir une base de données
  • télécharger l’archive WordPress
  • extraire l’archive
  • lancer le script d’installation magique.

Avec WP-CLI, il est possible de mettre toutes ces étapes dans un petit script et de n’avoir plus rien à faire à la main. Ce script pourrait ressembler à quelque chose comme ça :

# Téléchargement de WordPress
wp-cli core download --locale="fr_FR"

# Création de la configuration de WordPress
wp-cli config create --dbname="db_name" --dbuser="db_user" --dbpass="db_pass"

# Création de la base de données
wp-cli db create

# Installation basique de WordPress
wp core install --url="example.com" --title="Titre" --admin_user="admin" --admin_password="admin_pass" --admin_email="admin@example.com"

Si vous avez plusieurs WordPress sur la même machine, il est possible de spécifier le dossier WordPress avec l’option --path. Comme ça vous pouvez avoir des configurations différentes pour chacun de vos sites.

Il s’agit là de l’installation basique de WordPress. Avec WP-CLI, vous pouvez installer les extensions dont vous avez besoin, les activer/désactiver, les mettre à jour…

# Installation de l’extension bbpress
wp-cli plugin install bbpress

# Activation
wp-cli plugin activate bbpress

# Désactivation
wp-cli plugin deactivate bbpress

# Mise à jour
wp-cli plugin update bbpress

Comme pour l’installation basique de WordPress, il est possible de spécifier le dossier WordPress avec l’option --path et donc d’installer des extensions pour des sites en particulier.

WP-CLI permet bien d’autres choses, comme la gestion des thèmes (similaire à la gestion des extensions), des posts, des utilisateurs, des packs de langues… On vous laisse visiter la page de leur site qui liste tout ça 😉.