Qu’est ce que WP-CLI
WP-CLI est un ensemble de fonctionnalité en ligne de commande, permettant de gérer tous projets sur WordPress. Comme il est dit sur le site wp-cli.org, nous pouvons faire beaucoup de chose. Par exemple :
- Installer un site (ou un multisite)
- Générer, et gérer le fichier wp-config.php
- Mise à jour des plugins, thèmes et traductions
- etc…
Utilisation de WP-CLI…
Pour pouvoir utiliser WP-CLI, il est obligatoire d’installer sur votre poste (ou le serveur) le fichier PHAR qui va bien. Voici le script actuel d’installation :
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar php wp-cli.phar --info chmod +x wp-cli.phar sudo mv wp-cli.phar /usr/local/bin/wp wp --info
Et c’est suffisant. En tapant la commande wp –version, vous devriez avoir cette réponse : WP-CLI 1.5.0.
Remarque : pour mettre à jour WP-CLI, il existe deux solutions, la première étant la commande wp cli update, la deuxième étant de repasser le script d’installation.
Comme je disais dans l’introduction, il est possible d’installer WordPress avec WP-CLI, en quelques lignes.
Voici le script minimal d’installation :
wp core download --locale=fr_FR wp core config --dbname=wordpress --dbuser=root --dbpass=admin --dbprefix=wp_ wp db create wp core install --url="http://local.wordpress/" --title="Example Site DEV" --admin_name=guillaume --admin_email=g.jf.richard@gmail.com --admin_password=guillaume; wp rewrite structure '/%postname%/' --hard wp rewrite flush --hard
Voici ce que fait le script, ligne par ligne :
Ligne 1 : Téléchargement des fichiers WordPress de base (en VF). Ligne 2 : Génération et lecture du fichier wp-config.php, avec les informations sur la base de donnée (nom BDD, utilisateur, mot de passe, préfixe des tables de la base) Ligne 3 : Création de la base de donnée Ligne 4 : Processus d'installation standard de WordPress, avec les informations qui vont bien (url du projet, titre du projet et informations de l'utilisateur). Ligne 5 : Met à jour la structure des liens (par exemple : /%postname%/) Ligne 6 : Réécriture des règles
On obtient l’installation suivante :
Et configuration plus poussé…
Il est possible d’améliorer ce dernier script, grâce à un fichier de configuration.
Vous pouvez en savoir plus directement sur la page dédié du site make.wordpress.org, la page est en anglais.
En quelques mots, WP-CLI peut automatiquement découvrir et lire les options d’un fichier de configuration (si il existe).
WP-CLI détecte tout d’abord le fichier wp-cli.local.yml, présent dans le répertoire courant du projet. Il détecte ensuite le fichier wp-cli.yml, présent aussi dans le dossier courant du projet.
Pour finir, la détection de ~/.wp-cli/config.yml. Le chemin du fichier doit être défini par la variable d’environnement WP_CLI_CONFIG_PATH.
Le fichier de configuration peut contenir beaucoup de chose, comme :
- Les variables globales (de la BDD, des utilsateurs, etc…)
- Les commandes à désactivées (selon l’environnement)
- Les plugins et thèmes a installer (ou à désinstaller).
- etc…
Il existe un exemple de fichier wp-cli.yml, sur la page dédié du site make.wordpress.org. Il est compréhensible.
Voici le fichier de configuration que je veux utiliser pour améliorer mon script d’installation :
# Global parameter defaults color: true apache_modules: - mod_rewrite rewrite structure: - /%year%/%monthnum%/%postname%/ core download: locale: fr_FR core install: admin_user: guillaume admin_password: guillaume admin_email: g.jf.richard@gmail.com title: WordPress Development url: http://local.wordpress/ core config: dbuser: root dbpass: admin dbhost: localhost dbname: wordpress dbprefix: wp_ extra-php: | define('WP_DEBUG', true); define('WP_CACHE', false);
Reprenons mon précédent script d’installation de WP et modifions-le pour qu’il corresponde au fichier de configuration précédent.
Voici ce que cela donne :
wp core download wp core config wp db create wp core install wp rewrite structure --hard wp rewrite flush --hard
En l’état, si vous lancez ce script, vous vous retrouverez avec un WordPress minimal, correspondant à l’autre script d’installation.
Vous pourrez réutilisez ce script avec tous les fichiers de configuration wp-cli.yml que vous aurez, quelque soit le projet, quelque soit l’environnement.
A partir de là, vous pourrez installer facilement n’importe quel projet WP en quelques secondes.
Si vous avez des questions en relation à l’article, ou si vous voulez des précisions, n’hésitez pas à me le dire en commentaires, ou par mail.
Liens
L’interface de ligne de commande pour WordPress : https://wp-cli.org/fr/
Commandes WP-CLI https://developer.wordpress.org/cli/commands/
Handbook wp-cli https://make.wordpress.org/cli/handbook/