WP-cli – Garder WordPress à jour facilement

By | 2 février 2019 |

WP-cli est un outil en ligne de commande quoi vous permet d’installer et de garder votre site WordPress à jour.

Dans cet article, je vais juste traiter des mises à jour de WordPress, comme mon site est déjà installé, je n’ai pas validé la procédure d’installation, mais si vous êtes intéressés, voici le lien dans la langue de Shakespeare.

Installation de WP-cli

WP-cli est disponible sous la forme d’un fichier PHP archive (.phar), vous pouvez le télécharger avec la commande wget

wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Vous devez rendre ce fichier exécutable

chmod +x wp-cli.phar

Et pour des raison de simplicité, vous pouvez déplacer ce fichier dans le path en profitant pour le renommer « wp »

sudo mv wp-cli.phar /usr/local/bin/wp

Finalement, vous pouvez vérifier que ces opérations se sont bien passées avec la commande suivante:

wp --info
WP-cli : wp --info
WP-cli : wp –info

Pour voir les différentes commandes disponibles, vous pouvez utiliser

wp help

si vous exécutez cette commande en tant que root, vous devriez voir ce message sur votre terminal:

WP-cli : Exécuter comme root

Ce message vous invite simplement à préciser le user, c’est particulièrement important lors des opérations de mises à jour afin que les fichiers gardent les bonnes autorisations. Dans notre cas la commande devient:

sudo -u wp-user wp help

WP-cli – Mise à jour

Afin de mettre à jour votre site WordPress avec WP-cli, il vous suffira de lancer quelques commandes depuis votre terminal.
Vous pouvez même automatiser ces commandes avec un « cron » job.

Vous devez vous rendre dans la répertoire d’installation de votre site WordPress et lancer les commandes en précisant le user utilisé lors de l’installation de ce site. Dans mon cas ce user est « wp-user »

Mise à jour de WordPress Core

sudo -u wp-user wp core update
sudo -u wp-user wp core update-db

Dans mon cas, le site est déjà à jour:

WP-cli : Mettre à jour WordPress

Si vous rencontrez un message d’erreur, rendez-vous ici

Mise à jour des plugins

Vous pouvez commencer par vérifier les plugins installés avec la commande:

sudo -u wp-user wp plugin list
WP-cli : lister les plugins installés

vous pouvez mettre à jour un plugin en particulier en précisant le nom, par exemple pour le plugin jetpack:

sudo -u wp-user wp plugin update jetpack
WP-cli : Mettre à jour le plugin jetpack

Dans cette example le plugin est déjà à jour,
vous pouvez également décider de mettre à jour tous les plugins

sudo -u wp-user wp plugin update --all
WP-cli – Mettre à jour tous les plugins installés

Dans cet exemple, le plugin w3-total-cache est mis à jour

Mise à jour des thèmes

Pour les thèmes, c’est le même principe, vous pouvez lister les thèmes avec

sudo -u wp-user wp theme list
WP-cli – lister les thèmes installés

et pour la mise à jour vous avez la commande individuelle

sudo -u wp-user wp theme update iconic-one

ou pour tous les thèmes:

sudo -u wp-user wp theme update --all

Dans cet exemple, le thème est déjà à jour, le thème perso n’est évidemment pas impacté.

WP-cli – Mettre à jour les thèmes

Mise à jour des traductions

Vous disposez également des commandes afin de mettre à jour les « translations » du core, des plugins et des thèmes:

sudo -u wp-user wp language core update
sudo -u wp-user wp language plugin update --all
sudo -u wp-user wp language theme update --all
Mettre à jour les traductions

Messages d’erreurs

Lorsque vous exécutez la commande,
il se peut que vous rencontriez le message d’erreur suivant:

PHP Notice:  Undefined index: HTTP_HOST in phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php(1153) : eval()'d code on line 10
Neither <b>/etc/wordpress/config-.php</b> nor <b>/etc/wordpress/config-.php</b> could be found. <br/> Ensure one of them exists, is readable by the webserver and contains the right password/username

Il y a différentes façons de régler ce problème,

  • créer une variable d’environment (export HTTP_HOST=’blog.malandra.be’)
  • passer l’url lors de la commande (–url=blog.malandra.be)
  • créer un fichier wp-cli.yml
  • mettre à jour le fichier config.php
  • ..

pour ma part j’ai choisi de créer le fichier wp-cli.yml dans lequel j’ai inséré l’url du site

cba@malandra:~$ cd /etc/wordpress
cba@malandra:/etc/wordpress$ nano wp-cli.yml
création du fichier wp-cli.yml

Insérer dans ce fichier votre url, dans mon cas « blog.malandra.be »

url: <votre url>
fichier wp-cli.yml contenant l’url

Sauver et relancer la commande

cba@malandra:/var/www/blog.malandra.be$ sudo -u wp-user wp plugin update --all
Success: Plugin already updated.
Mise à jour des plugins près la création du fichier wp-cli.yml

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.