Une fenêtre de terminal stylisée avec une barre de titre bleue affiche "> /WP-CLI" en grande police blanche sur fond sombre, représentant la migration de WordPress vers un nouveau serveur à l'aide de l'outil de ligne de commande WP-CLI.

Migrer WordPress avec WP-CLI vers un nouveau serveur

Migrer WordPress n’a pas à être stressant. Avec WP-CLI, vous orchestrez chaque étape en ligne de commande : c’est plus rapide, scriptable et reproductible.

Au programme : sauvegarde propre, transfert net, import SQL, search-replace sans casse et permissions verrouillées. Vous évitez les plugins lourds, vous gagnez en contrôle et vous limitez les surprises.

Notez que ce tutoriel ne couvre pas l’installation d’une pile serveur Web comme LEMP ou LAMP. Je recommande bien sûr NGINX et MariaDB.

Liste des tâches du tutoriel

Ancien serveur WordPress

  • Installer WP-CLI sur l’ancien serveur
  • Sauvegarder l’installation WordPress et la base de données
  • Transférer les sauvegardes vers le nouveau serveur

Nouveau serveur WordPress

  • Créer une nouvelle base de données sur le nouveau serveur
  • Restaurer l’ancienne base sur la base du nouveau serveur
  • Installer WordPress sur le nouveau serveur

Préparer l’ancien serveur WordPress

Installer WP-CLI

sudo wget -q https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -O /usr/bin/wp
sudo chmod 755 /usr/bin/wpCode language: JavaScript (javascript)

Entrer dans votre dossier WordPress

cd /var/www/wp-oldCode language: JavaScript (javascript)

Exporter votre base de données

mkdir -p ~/backups
wp db export ~/backups/wp-old.sql --allow-root --skip-themes --skip-plugins

Créer une archive de votre dossier WordPress

Le . inclut tous les fichiers et dossiers du répertoire courant.
L’option -z ajoute la compression gzip.

tar -czf ~/backups/wp-old.tar.gz .Code language: JavaScript (javascript)

Notez le préfixe de table dans wp-config.php : vous devrez le renseigner pour que la restauration fonctionne sur le nouveau serveur.

Vous avez maintenant, dans le dossier ~/backups, une sauvegarde de la base de données et une archive complète du site.

Transférez ces deux fichiers sur votre ordinateur via SFTP ou SSH.

Lire la suite

Illustration d'une fusée lancée à partir d'un écran d'ordinateur portable affichant "WooCommerce HPOS". Deux personnes travaillent à des bureaux de chaque côté, avec des engrenages et des nuages en arrière-plan, symbolisant le stockage des commandes à haute performance et le progrès technologique. Fond bleu clair.

Rendre votre plugin WooCommerce compatible avec HPOS (High-Performance Order Storage)

HPOS accélère WooCommerce en stockant les commandes dans des tables dédiées. Vous gagnez en rapidité, en fiabilité et en scalabilité. Pour les nouvelles boutiques, HPOS est activé par défaut. Pour les sites plus anciens, vous pouvez l’activer en toute sécurité après vérification des extensions.

Dans cet article, je vous montre comment rendre votre plugin compatible avec HPOS. Vous verrez comment déclarer la compatibilité, utiliser l’API WooCommerce plutôt que les fonctions WordPress génériques et tester correctement. Enfin, je liste des pièges courants et des astuces de performance.

HPOS en deux minutes

  • Les commandes ne vivent plus dans wp_posts/wp_postmeta.
  • HPOS ajoute des tables dédiées aux commandes, adresses et index.
  • Résultat : création de commande plus rapide et recherche d’ordre plus fluide.

1. Déclarez la compatibilité HPOS

Ajoutez la déclaration dans le fichier principal de votre plugin. C’est le signal officiel pour WooCommerce.

<?php
/**
 * Plugin Name: Mon Plugin — Compat HPOS
 * Description: Déclare la compatibilité HPOS pour WooCommerce.
 * Author: Vous
 * Version: 1.0.0
 *
 * @package MonPlugin
 */

use Automattic\\WooCommerce\\Utilities\\FeaturesUtil;

defined( 'ABSPATH' ) || exit;

/**
 * Déclare la compatibilité HPOS pour le plugin.
 *
 * @since 1.0.0
 * @return void
 */
function monplugin_declarer_compatibilite_hpos() : void {
    // Vérifie la disponibilité de la classe avant l'appel.
    if ( class_exists( FeaturesUtil::class ) ) {
        // Le troisième argument = true -> compatible ; false -> incompatible (affiche un avertissement aux admins).
        FeaturesUtil::declare_compatibility( 'custom_order_tables', __FILE__, true );
    }
}
add_action( 'before_woocommerce_init', 'monplugin_declarer_compatibilite_hpos' );Code language: PHP (php)

2. Utilisez l’API WooCommerce (CRUD), pas les fonctions WP

N’utilisez pas get_post() ou get_post_meta() pour les commandes. Servez-vous des objets WC_Order et des méthodes WC_Data.

<?php
/**
 * Récupère et modifie une commande via l'API WooCommerce (compatible HPOS).
 *
 * @param int $order_id Identifiant de la commande.
 * @return void
 */
function monplugin_mettre_a_jour_commande( int $order_id ) : void {
    // Au lieu de get_post( $order_id ).
    $order = wc_get_order( $order_id ); // Retourne un objet WC_Order ou null.

    if ( ! $order instanceof WC_Order ) {
        return;
    }

    // Métadonnées : utiliser les méthodes WC_Data (HPOS-safe).
    $order->update_meta_data( '_monplugin_flag', 'yes' );
    $order->add_meta_data( '_monplugin_score', 95 );

    // Sauvegarde unique pour réduire les I/O (perf).
    $order->save();
}Code language: HTML, XML (xml)

Remplacements typiques :

  • get_post_meta() → $order->get_meta( $key, true );
  • update_post_meta() → $order->update_meta_data( $key, $value ); $order->save();
  • add_post_meta() → $order->add_meta_data( $key, $value ); $order->save();
  • delete_post_meta() → $order->delete_meta_data( $key ); $order->save();

Lire la suite

Un personnage menaçant en armure, portant une couronne à pointes, chevauche une créature ressemblant à un dragon devant une montagne brumeuse couverte d'une forteresse. Un texte en blanc annonce une exposition de l'œuvre Tolkien et imaginaire médiéval de John Howe à Landerneau, en France, du 25 juin 2023 au 28 janvier 2024.

Sur les traces de Tolkien et de l’imaginaire médiéval, peintures et dessins de John Howe

Conçue par Diane et Jean-Jacques Launier comme une exploration picturale et commentée de l’œuvre de Tolkien et de l’origine des légendes médiévales, l’exposition présente plus de 250 dessins et peintures de John Howe au Fond Hélène et Edouard Leclerc pour la Culture à Landerneau.

Artiste de renommée internationale, John Howe a d’abord illustré les romans de Tolkien, avant de participer à la direction artistique des deux trilogies cinématographiques Le Seigneur des Anneaux, et Le Hobbit aux côtés du réalisateur Peter Jackson. Plus récemment, il a également pris part à la création artistique de la série Le Seigneur des Anneaux : Les Anneaux de Pouvoir.

L’évocation des influences poétiques et mythologiques ancestrales permet de percevoir à quel point la richesse de l’œuvre romanesque de Tolkien et de l’imaginaire médiéval puisent leurs sources dans la résonance de ces temps lointains. L’exposition est complétée par d’authentiques objets d’époque médiévale (armure, épées…) et ponctuée d’œuvres contemporaines de Tolkien.

John Howe sur les traces de Tolkien

John Howe rencontre l’œuvre de Tolkien à l’adolescence, tout d’abord en lisant Le Seigneur des anneaux, puis en découvrant les calendriers illustrés par différents artistes. Il dessine alors lui aussi chaque mois le thème proposé par le calendrier.

Quelques années plus tard, il quitte le Canada et part étudier dans le lycée américain de Strasbourg pour ensuite poursuivre sa scolarité à l’école des Arts Décoratifs de la ville. Il se nourrit de la culture européenne, très différente de ce qu’il connaît au Canada, notamment en termes d’histoire et d’architecture.

Sa visite du château du Haut-Koenigsbourg le marque. Il découvre par ailleurs que ce château en ruine depuis le XVIIe siècle a été totalement reconstruit au XXe siècle dans un style fantasmé du XIIe siècle.

La cathédrale de Strasbourg est également un élément essentiel de la construction de son imaginaire médiéval.

Un homme âgé aux longs cheveux gris, à la barbe blanche et aux lunettes porte un costume et une chemise noirs. Il est adossé à un canapé jaunâtre dans une pièce moderne dont le décor évoque subtilement l'imaginaire médiéval des illustrations de Tolkien de John Howe.

Pour illustrer les œuvres de Tolkien, John Howe a étudié en profondeur l’univers de l’auteur et pris des notes très précises, s’assurant ainsi que ses illustrations soient fidèles à l’esprit de l’œuvre. Il s’inspire ensuite des lieux qui ont nourri Tolkien pour l’écriture de ses livres, comme la Suisse, où il réside et où Tolkien a séjourné l’été de ses 19 ans. Il recherche également des lieux plus intimistes où il peut se retrouver seul face à la beauté de la nature.

Tout comme Tolkien, John Howe s’intéresse également à William Morris : il est séduit par son art, mais surtout par sa philosophie de vie et son rapport contemplatif à la nature.

Passionné de reconstitution historique et plus précisément de l’époque médiévale, John Howe collectionne des objets en lien avec ce thème : armures, armes… Ces objets lui sont précieux pour enrichir son imaginaire mais surtout pour lui permettre de rendre crédibles ses idées. Il est également fasciné par les mythes et légendes des cultures du monde entier qui inspirent ses dessins depuis si longtemps.

Grâce à ses nombreuses illustrations de l’œuvre de J.R.R. Tolkien, le réalisateur américain Peter Jackson fait appel à lui pour être directeur artistique de la trilogie Le Seigneur des anneaux, puis Le Hobbit, aux côtés de son collègue Alan Lee. Il a récemment collaboré avec les réalisateurs de la série Le Seigneur des anneaux : Les Anneaux de pouvoirs.

Pour mener à bien ces différentes missions, John Howe s’installe en Nouvelle-Zélande et est fortement influencé par les paysages sauvages de l’île pour imaginer les décors de cinéma.

Lire la suite