Installer et utiliser wp-cli sur l'hébergement o2switch

WordPress est un système de gestion de contenu très populaire et utilisé par des millions de personnes. Il peut être utilisé pour créer très facilement un site internet, créer du contenu, l'organiser et communiquer avec vos visiteurs.

La plupart des utilisateurs utilisent l'interface graphique de WordPress qui permet de gérer assez simplement son site internet. Cependant, WordPress dispose également d'un outil permettant de le gérer en ligne de commande : wp-cli. A première vue cela peut paraître plus compliqué et il faut effectivement un temps d'adaptation. Cependant, une fois l'outil maîtrisé cela va vous permettre de gagner beaucoup de temps sur certaines tâches d'administration de votre site WordPress.

Le but de cet article est de présenter rapidement l'outil wp-cli au travers de quelques exemples pratiques et d'un guide pour l'installation de wp-cli sur un compte de l'hébergeur site web o2switch.

Depuis Juin 2019, wp-cli est installé nativement sur les hébergements o2switch et est directement accessible en SSH via la commande wp. La procédure d'installation reste utile si jamais vous souhaitez utiliser la dernière version de wp-cli

Pour commencer, il faut demander le déblocage de votre accès SSH au support en suivant ce guide. L'accès SSH est indispensable pour utiliser correctement wp-cli.

Ensuite, il faut vous connecter en SSH et suivre le guide d'installation de https://make.wordpress.org/cli/.

Voici ce qu'il faut faire :

Installation de wp-cli
# Téléchargement de wp-cli
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
 
# Déplacement de l'exécutable dans le dossier bin de votre hébergement
mkdir ~/bin
mv wp-cli.phar ~/bin/wp 
chmod +x ~/bin/wp 
 
# Pour rendre l'exécutable "wp" accessible depuis votre shell, il faut éditer le .bashrc
vi ~/.bashrc
# Il faut ajouter la ligne suivante : export PATH="~/bin:$PATH"
# Si vous ne savez pas utiliser vi, lancez la commande suivante :
cat << EOF >> ~/.bashrc
export PATH="~/bin:\$PATH"
EOF
 
# Ensuite, vous pouvez testez wp-cli
source ~/.bashrc
wp --info

Ajout de l'auto-complétion

Wp-cli dispose de l’auto-complétion. L’auto-complétion est très pratique et permet de gagner du temps, c'est le système qui permet de compléter automatiquement une commande incomplète en utilisant la touche de tabulation du clavier.

Par exemple :

wp com <tab><tab>
# la commande sera automatiquement complétée par
wp comment 
# si on souhaite lister toutes les commandes wp-cli commançant par "c"
wp c <tab><tab>
# affichera 
wp c
cache     cap       cli       comment   core      cron  

Ce système d’auto-complétion est très pratique pour deux choses :

  • cela permet d'éviter de taper les commandes en intégralité au clavier, ce qui fait gagner beaucoup de temps.
  • en cas de trou de mémoire, cela permet de retrouver rapidement les bonnes options sans devoir faire appel au manuel ou à l'option –help. Exemple : “je sais que telle option commence par c …”

Pour le mettre en place, il faut télécharger le fichier d’auto-complétion et le faire prendre en compte dans votre .bashrc au lancement de votre shell.

wget https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash
mv wp-completion.bash ~/bin
vi .bashrc 
# il faut ajouter, avant la modification précédente de préférence : source ~/bin/wp-completion.bash
# ou sinon, vous pouvez lancer
cat << EOF >> ~/.bashrc
source ~/bin/wp-completion.bash
EOF
 
# Pour tester
source ~/.bashrc
wp c <tab><tab>

Pour commencer, je vous recommande de lire rapidement la documentation de wp-cli, tous les exemples cités ici sont basés sur cette documentation.

On va commencer par installer un site WordPress sur l'hébergement à l'aide de wp-cli. La première étape consiste à préparer le terrain en créant une base de données, un utilisateur et un mot de passe dans l'outil base de données mysql de cPanel.

Dans cet exemple, nous allons installer un site WordPress dans le répertoire public_html de l'hébergement. L'adresse du site pointant dans ce répertoire est http://o2alex.odns.fr.

# On télécharge WordPress
wp core download
# On génère le fichier de configuration
# Attention aux caractères spéciaux dans le mot de passe qui peuvent être mal interprétés par le shell ! Préférez utiliser les caractères alphanumériques. 
cd ~/public_html
wp core config --dbname="o2alex_wp" --dbuser="o2alex_wp" --dbprefix="monwp_" --dbpass="mot de passe bdd"
# On lance l'installation
wp core install --url="http://o2alex.odns.fr" --title="Mon site WordPress" --admin_user="alexis" --admin_password="mon mot de passe" --admin_email="support@o2switch.fr"
# On change la langue de WordPress, par défaut en anglais
wp core language list
wp core language install --activate fr_FR
# Changement de la structure des liens pour ne conserver que le nom de l'article
wp rewrite structure '/%postname%'

On va installer un nouveau thème disponible dans le listing des thèmes WordPress. La commande d’installation de thèmes accepte également un lien vers l'archive zip d'un thème ou directement le chemin vers un fichier zip de thème.

Installation d'un thème
# Liste les thèmes trouvables dans l'installation
wp theme list
# Installe un nouveau thème 
# https://fr.wordpress.org/themes/wck2014/
wp theme install wck2014
# On active le thème
wp theme activate wck2014
# Une erreur nous indique qu'il faut le thème parent
wp theme install twentythirteen
wp theme install wck2014

Pour aller plus loin, les sous-options de la partie thème de wp-cli sont consultable ici.

On peut installer des plugins en ligne de commande. Par défaut, avec le nom d'un plugin cela va chercher dans les dépôts WordPress. La commande accepte également le chemin vers un fichier ZIP ou bien une adresse HTTP vers un zip de plugin.

Installation d'un plugin
# On commence par lister les plugins détectés
wp plugin list
# On installe le plugin jetpack
wp plugin install jetpack
# On l'active, à noter qu'on peut aussi l'activer en même temps que l'installation avec --activate
wp plugin activate jetpack

Il y a également d'autres options sur la rubrique plugin de wp-cli, c'est expliqué ici.

Il est possible de gérer les mises à jours de WordPress, des plugins et des thèmes depuis l'outil wp-cli. Les mises à jours sont gérées modules par modules, c'est-à-dire qu'il faudra utiliser l'option update des modules core, plugin et theme. Le fonctionnement est légèrement différent de la partie graphique où il est possible de tout mettre à jour d'un coup.

Gestion des mises à jours
# Est-ce que des MAJ sont disponibles ?
wp core check-update
# Mise à jour du coeur de WordPress
wp core update
# Mise à jour de la base de données (parfois nécessaire avec certaines grosses MAJ)
wp core update-db
# Est-ce qu'il y a des mises à jours plugin ?
wp plugin update --all --dry-run
# Mettre à jour tous les plugins
wp plugin update --all
# Même principe pour les thèmes
wp theme update --all --dry-run
wp theme update --all

Wp-cli permet de gérer les commentaires en ligne de commande à l'aide du module comment.

Gestion des commentaires
# Affiche le nombre puis la liste des commentaires
wp comment count
wp comment list
# Approuve le commentaire id=2
# Les id des commentaires sont visible avec 'list'
wp comment approve 2
# Passe un commentaire en spam
wp comment spam 3

Il y a plein d'autres options pour la gestion des commentaires, c'est expliqué ici.

Enfin, pour la dernière partie de ce guide, nous allons voir qu'il est possible de gérer le contenu avec wp-cli ! Il est possible de créer, éditer des articles et pages en ligne de commande. Si vous connaissez un peu de code HTML ou n'utilisez pas des fonctions avancées nécessitant une interface graphique, cela peut représenter un gain de temps considérable.

Gestion du contenu
# Récupère la liste des articles
wp post list
# Création d'un nouvel article
cat << EOF >> mon_article.txt
Ceci est le contenu de mon article !
EOF
wp post create ./monPost --post_category=1 --post_title="Mon premier article wpcli"
# On peut aussi éditer l'article depuis l'éditeur du système (vi, nano)
wp post create --edit --post_category=1 --post_title="Mon premier article wp-cli avec l'editeur"
# On peut éditer des billets existants 
wp post edit 1
# Mettre à jour des informations sur un article
wp post update 2 --post_status=published

Plein d'autres actions sont possibles, la documentation sur les articles/pages est disponible ici.

Pour trouver de l'aide sur wp-cli, plusieurs possibilités :

  • N'hésitez pas à utiliser l'autocomplétion pour découvrir les commandes disponibles et les différents arguments pour ces commandes.
  • La page des commandes de base, du cœur de wp-cli est également très simple à prendre en main.
  • Vous avez également la commande wp help
  • Dernière modification: il y a 2 ans
  • de o2switch