WordPress Staging : développer et tester sans erreurs

Plus de 60 % des sites Internet dans le monde ont recours au système de gestion de contenu (CMS) WordPress. Proposé gratuitement, ce système est facile à installer et à utiliser et fait l’objet d’un développement constant grâce à sa vaste communauté. En principe, les rédacteurs doivent pouvoir gérer leurs contenus en disposant de connaissances simples dans MS-Word. Près de 60 000 plugins sont disponibles pour réaliser pratiquement n’importe quelle tâche imaginable sur un site Internet.

Pour autant, les problèmes liés à l’installation de WordPress ou à la mise à jour d’un plugin ne sont pas l’apanage des programmeurs débutants : écran blanc, disparition de l’espace de connexion, site Internet fichu. Ces problèmes peuvent être évités en créant un environnement de test sur lequel vous pourrez tester librement toutes les nouveautés possibles et imaginables sans avoir peur de provoquer une erreur, sans contrainte de temps et sans risques de détruire le site Internet que vous avez minutieusement créé. Nous vous montrons comment créer un environnement de test de ce type dans ce guide sur le WordPress Staging.

Conseil

Avec l’hébergement WordPress de IONOS, vous bénéficiez de tarifs préférentiels et profitez de mises à jour automatiques avec l’option « Managed ».

Mettre en place un environnement de test WordPress manuellement

En principe, deux fichiers de sécurité doivent être créés lorsqu’un site Internet WordPress fonctionne sans accroc. Avant toute mise à jour, il est recommandé de :

Sauvegarder tous les fichiers de votre installation dans un répertoire local. Généralement, cela représente trois dossiers et près de 20 fichiers, le fichier .htaccess et l’éventuel Favicon WordPress que vous avez défini. Le transfert des données est effectué à l’aide d’un client FTP comme FileZilla ou dans votre espace administrateur auprès de votre fournisseur à la rubrique Espace Web ou en utilisant le FTP via un navigateur Web.

Connectez-vous alors à l’interface d’administration de votre fournisseur et exportez la base de données WordPress sous forme de fichier de sécurité. En général, le nom du fichier sera constitué du nom de la base de données, éventuellement accompagné d’une date et de l’extension « .sql ».

Ces deux sauvegardes permettent de rapidement résoudre les éventuels crashs dans les mises à jour de version de WordPress ou les plugins installés. Dans le même temps, vous disposerez des contenus nécessaires pour créer un environnement de test WordPress. Procédez ensuite par étapes :

  1. Créez un sous-répertoire pour WordPress Staging sur le serveur Web. Pour cela, rendez-vous dans votre espace administrateur auprès de votre fournisseur sous « Utiliser l’espace Web » ou utilisez un client FTP comme FileZilla. Dans notre exemple, le répertoire est nommé www.domainetype.fr/test-stage.
  1. À présent, nous allons avoir besoin d’une nouvelle base de données (vide) pour le site Internet cloné. Après l’avoir créée auprès de votre fournisseur, notez les données d’accès indiquées à cet endroit.
  2. Ouvrez le fichier wp-config-sample.php enregistré localement dans un éditeur et saisissez les données d’accès pour la nouvelle base de données :

Pour travailler dans WordPress Staging, il est fortement recommandé d’activer le mode de débogage :

define( 'WP_DEBUG', true );

L’adresse de l’environnement de test WordPress est différente de celle du site publié. Il convient de le noter dans le fichier wp-config.php à l’aide des deux lignes suivantes :

define('WP_SITEURL', 'https://domainetype.fr/test-stage');
define('WP_HOME', 'https://domainetype.fr/test-stage');

Si vous connaissez bien MySQL, vous pourrez par la suite modifier manuellement ces deux indications dans la base de données fraîchement créée. Si vous avez choisi un sous-domaine, il prendra la place de cette entrée.

Le fichier wp-config-sample.php est enregistré en tant que wp-config-test.php pour que le wp-config.php du fichier de sécurité ne soit pas écrasé. Le fichier wp-config-test.php est ensuite chargé dans le répertoire « \test-stage » via le FTP et renommé en wp-config.php pour que WordPress puisse intégrer ce fichier dans l’environnement de test avec le bon nom.

  1. La nouvelle base de données doit à présent être complétée avec des contenus. Cette étape peut demander un certain temps.
  1. L’environnement de test WordPress Staging mis en place manuellement pour l’administrateur ou le développeur est accessible en consultant l’adresse domainetype.fr/test-stage/wp-admin.

Vous pouvez également décider si un sous-domaine comme « test-stage.domainetype.fr » est nécessaire. Dans ce cas, le sous-domaine doit renvoyer au nouveau répertoire créé.

Mettre en place un environnement de test WordPress à l’aide d’un plugin

Comme nous l’avons déjà évoqué, il existe des milliers de plugins pour WordPress, certains permettant la duplication ou le clonage d’un site Internet. Le plugin « WP Staging – DB & File Duplicator & Migration » est particulièrement apprécié et permet d’automatiser en grande partie le processus. La version gratuite du plugin propose déjà une duplication parfaite de l’installation WordPress existante dans un environnement de test. Toutefois, si vous souhaitez davantage de fonctionnalités, par exemple pour transposer efficacement des modifications dans le site Internet publié, les cloner sur d’autres domaines ou dans d’autres bases de données, vous devrez acheter la version pro payante. Au moment de la publication de ce guide, le plugin avait été testé jusqu’à la version 5.5.1. de WordPress. Il est disponible en allemand, en anglais et en espagnol.

Environ deux minutes et demie sont nécessaires pour cloner l’intégralité d’un site de test complet (sans boutique). Après ce processus, un lien s’affiche à l’utilisateur. Celui-ci lui permet de se connecter avec ses données d’administrateur habituelles. Dans la version gratuite du plugin utilisée ici, tous les tableaux de la base de données existants sont recréés avec un autre préfixe de tableau dans la même base de données. Lorsque vous travaillez dans WordPress Staging, seuls ces nouveaux tableaux sont modifiés, les tableaux de la base de données de la véritable installation WordPress n'étant pas affectés. Cette méthode présente l’avantage de ne demander qu’une seule base de données et ne nécessite donc pas de mise à niveau des tarifs Web.

Protéger l’environnement de test WordPress

Pour protéger l’environnement de test WordPress contre les accès non autorisés, vous pouvez protéger des répertoires dans l’espace administrateur de votre fournisseur, comme le répertoire pour WordPress Staging. Chez IONOS, vous trouverez cet espace sous « Hébergement » à la rubrique « Espace Web ». À cet endroit, vous trouverez l’entrée de menu « Protection des répertoires » en cliquant sur l’engrenage. La configuration est facile à réaliser. Notez le mot de passe indiqué à cet endroit dans un endroit sûr !

Le fichier .htaccess situé dans le répertoire racine de l’environnement de test WordPress offre une autre protection possible. À cet endroit, ouvrez le fichier .htaccess enregistré localement avec un éditeur et ajoutez les lignes suivantes :

AuthType Basic
AuthName "Pagedetest"
# Enregistrement du fichier de mot de passe avec un chemin d’accès absolu au serveur #
AuthUserFile /homepages/99/d1234567890/htdocs/test-stage/.htpasswd 
Require valid-user

Différents générateurs en ligne sont disponibles pour créer le fichier .htpasswd. Avec un procédé de cryptage, ils génèrent des séquences de caractères telles que :

Pagedetest:$1$xyUaMnyQ$AbkfDta7T876ObPNYaoj1.

Cette ligne est également enregistrée en tant que .htpasswd avec un éditeur de texte. Si l’éditeur de texte attribue une extension de fichier, il faudra la modifier manuellement après le chargement dans le répertoire racine de l’environnement de test WordPress. Lorsque vous consultez l’environnement de test WordPress, il vous est à présent demandé d’indiquer votre nom d’utilisateur et votre mot de passe.

Environnement de test WordPress local

Pour développer/améliorer un site WordPress, il est également possible d’utiliser un staging local. De cette façon, le processus de développement reste protégé contre les éventuelles attaques de tiers puisqu’il n’existe aucune connexion à Internet. Pour pouvoir travailler de cette façon, l’ordinateur correspondant doit travailler en tant que serveur et a besoin d’un logiciel de serveur spécifique à cet effet. Pourquoi ? Le langage de script PHP, par exemple, ne peut pas être interprété par un navigateur. Pour cela, il a besoin des services d’un serveur.

Parmi les logiciels permettant de réaliser un tel environnement local, on trouve MAMP ou encore XAMPP, ce dernier étant en open source et fonctionnant sous Linux, Windows et MacOS. Ce logiciel a été développé par « Apache Friends », un projet à but non lucratif qui soutient le serveur Web Apache et abrite le projet XAMPP. Ce type de staging WordPress est principalement utilisé par les équipes de développeurs professionnels.

Avantages et inconvénients des deux variantes : staging WordPress local vs en ligne

Pour conclure, voici un comparatif des avantages et des inconvénients des deux variantes de staging WordPress.

  Environnement de test WordPress local Environnement de test WordPressen ligne
Avantages - pas besoin d’accès à Internet- développement et recherche des erreurs sans mettre en danger le site Internet publié- protection sûre contre les tentatives d’accès - création automatisée et rapide avec le plugin- modifications transposables sur le site Internet publié avec le plugin correspondant
Inconvénients - nécessite un logiciel de serveur à installer localement- nécessite de réaliser manuellement les modifications du site Internet publié - vulnérabilité de l’environnement de test et du véritable site Internet- plugin payant nécessaire pour travailler de façon confortable- peut entraîner des frais d’hébergement supplémentaires pour la base de données supplémentaire
En résumé

Le staging WordPress est une méthode élégante et sûre pour développer et rechercher les erreurs d’un site Internet WordPress. L’utilisation d’un plugin offre des avantages évidents en termes de confort. Si vous développez personnellement des plugins ou des thèmes WordPress, un environnement de test WordPress est indispensable.