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.phpaccessible en écriture lorsque le plugin est activé
Installation
Installez Rudel avec Composer et activez-le comme un plugin WordPress ordinaire.
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 :
wp rudel status
Bootstrap installed devrait afficher yes.
Créer un environnement isolé
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é
RUDEL_ENVIRONMENT=alpha-3be7 wp option get blogname
Sans RUDEL_ENVIRONMENT, WP-CLI communique avec l'hôte.
Acheminer HTTP vers un environnement isolé
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.