Aller au contenu

Premiers pas

Prérequis

  • PHP 8.2+
  • WordPress 6.4+
  • MySQL ou MariaDB via la connexion normale à la base de données WordPress
  • un wp-config.php accessible en écriture lorsque le plugin est activé

Installation

Installez Rudel avec Composer et activez-le comme un plugin WordPress ordinaire.

Shell
composer require rudel/rudel
wp plugin activate rudel

Composer installe Rudel dans vendor/rudel/rudel, sauf si votre projet place les plugins WordPress dans wp-content/plugins (par exemple avec composer/installers). Le plugin doit se trouver dans le répertoire des plugins pour que wp plugin activate rudel le détecte.

Effets de l'activation

L'activation crée les tables de Rudel, planifie l'événement de nettoyage horaire et ajoute une ligne d'amorçage à wp-config.php, juste au-dessus de la ligne qui charge wp-settings.php. Cette ligne permet à Rudel de sélectionner un environnement isolé avant la fin du chargement de WordPress. Rudel écrit d'abord une copie de sauvegarde nommée wp-config.php.rudel-backup-{timestamp}.

Il n'y a pas de commande d'installation distincte. Si wp-config.php n'est pas accessible en écriture, l'activation échoue. La désactivation supprime la ligne et l'événement planifié.

Vérifiez l'état d'exécution :

Shell
wp rudel status

Bootstrap installed devrait afficher yes.

Créer un environnement isolé

Shell
wp rudel create --name=alpha --theme=twentytwentyfour

Rudel affiche l'ID généré de l'environnement isolé, par exemple alpha-3be7. Il clone les tables WordPress de l'hôte sous un préfixe propre à l'environnement isolé, copie le thème dans son répertoire et enregistre la fiche dans la base de données WordPress de l'hôte. Les exemples ci-dessous utilisent alpha-3be7 ; utilisez l'ID affiché par votre commande.

Utiliser WP-CLI dans un environnement isolé

Shell
RUDEL_ENVIRONMENT=alpha-3be7 wp option get blogname

Sans RUDEL_ENVIRONMENT, WP-CLI communique avec l'hôte.

Acheminer HTTP vers un environnement isolé

Shell
curl -H 'X-Rudel-Environment: alpha-3be7' http://localhost:8000/

Pour une session de navigateur, définissez un cookie rudel_environment contenant l'ID de l'environnement isolé. Rudel lit le cookie, mais ne le définit ni ne l'efface jamais. Supprimez le cookie pour revenir à l'hôte.

L'environnement isolé s'exécute sur le URL de l'hôte. Sans l'en-tête ni le cookie, le même URL sert l'hôte.

Étapes suivantes