Aller au contenu

Rudel

Environnements de superposition WordPress sélectionnés par requête pour les environnements isolés.

Terminal
composer require rudel/rudel

Dernière version v0.10.0 GPL-2.0-or-later WordPress 6.4+, PHP 8.2+

En pratique

Créez un environnement isolé depuis le site hôte, puis dirigez WP-CLI ou une requête HTTP vers celui-ci.

Créer un environnement isolé et y acheminer une requête

wp rudel create clone les tables de l'hôte sous un nouveau préfixe, copie le thème dans le répertoire de l'environnement isolé et affiche son ID.

Transmettez cet ID dans RUDEL_ENVIRONMENT pour WP-CLI, ou dans l'en-tête X-Rudel-Environment ou le cookie rudel_environment pour HTTP. La commande PHP API crée le même environnement isolé avec ses métadonnées de cycle de vie.

Terminal
wp rudel create --name=alpha --theme=twentytwentyfour
RUDEL_ENVIRONMENT=alpha-1234 wp option get siteurl
curl -H 'X-Rudel-Environment: alpha-1234' http://localhost:8000/

Environnements de test

Environnements de superposition temporaires pour le développement, les tests et les agents IA.

Sélection par requête

Acheminez une requête vers un environnement isolé à l'aide d'un en-tête X-Rudel-Environment, d'un cookie rudel_environment ou de RUDEL_ENVIRONMENT dans WP-CLI. La sélection repose uniquement sur l'ID de l'environnement isolé, sans authentification.

Exécution en superposition

L'activation ajoute une ligne d'amorçage à wp-config.php. Chaque environnement isolé reçoit ensuite des tables clonées sous son propre préfixe et une copie du thème actif ; le cœur, les fichiers des plugins et les téléversements WordPress restent partagés.

Arbres de travail Git

Flux intégrés de clonage, de push et d'arbres de travail PHP natifs Git, sans nécessiter de binaire git sur l'hôte.

Snapshots

Points de récupération nommés qui copient les tables et les fichiers de thème gérés d'un environnement isolé. Créez-les et restaurez-les depuis WP-CLI ou PHP.

Isolation des requêtes

Préfixes de table, racines de thèmes, répertoire temporaire, sel de clé de cache d'objets et blocage des e-mails par requête.

WP-CLI & PHP API

Les commandes wp rudel et les méthodes statiques Rudel\Rudel permettent de créer, lister, mettre à jour, prendre un instantané, restaurer et détruire des environnements isolés.

Prêt pour les agents

Fournit aux agents de programmation une copie WordPress temporaire, avec WP-CLI limité par RUDEL_ENVIRONMENT et les e-mails sortants bloqués.

Pourquoi Rudel

Une installation, de nombreux environnements isolés

Rudel s'exécute dans une installation WordPress ordinaire, sans multisite ni seconde installation WordPress. Le site hôte continue de servir ses propres données à chaque requête qui ne désigne pas un environnement isolé.

Copie les tables et un thème

Un environnement isolé reçoit une copie des tables de l'hôte, utilisateurs compris, sous son propre préfixe, et une copie du thème actif ainsi que de son thème parent s'il s'agit d'un thème enfant. Le cœur, les fichiers des plugins et les téléversements WordPress restent sur l'hôte.

Des environnements isolés qui expirent

Attribuez à un environnement isolé un propriétaire, des libellés, un objectif et une durée de vie en jours (TTL). Une tâche horaire WP-Cron supprime les environnements expirés et ignore ceux marqués comme protégés.

Facile à prévisualiser

Les requêtes des environnements isolés bloquent les e-mails sortants et enregistrent chaque message bloqué dans les journaux. À moins que wp-config.php n'en définisse un, le sel de clé du cache d'objets est dérivé de l'ID de l'environnement isolé ; les caches persistants séparent ainsi les clés de l'hôte et de l'environnement.

Comparaison avec

Rudel fonctionne dans le site que vous utilisez déjà. Ces outils répondent à des besoins voisins.

Rudel comparé à d'autres outils
WordPress Multisite Idéal pourExécute un réseau de sites virtuels avec un seul ensemble de fichiers du cœur et des plugins et thèmes partagés, tout en séparant les tables de base de données et les répertoires de téléversement de chaque site. Différence avec RudelRudel n'a pas besoin du multisite. Un environnement isolé est une copie des tables et du thème actif du site existant, sélectionnée pour chaque requête par un en-tête, un cookie ou une variable d'environnement WP-CLI.
wp-env Idéal pourConfigure un site WordPress local avec Docker pour créer et tester des plugins et des thèmes, sans configuration supplémentaire. Différence avec RudelRudel ne nécessite pas de seconde installation WordPress. Il crée des environnements isolés à partir du contenu du site que vous utilisez déjà ; leurs tables résident dans la même base de données MySQL que l'hôte. Un environnement isolé n'a ni exécution PHP ni serveur de base de données propres.
WordPress Playground Idéal pourExécute WordPress côté client dans WebAssembly, sans backend, isolé dans le navigateur et sans effets persistants à l'extérieur. Différence avec RudelRudel s'exécute sur le serveur, à côté d'un site réel et de sa base de données MySQL. Un environnement isolé part du contenu actuel du site et est accessible depuis WP-CLI et depuis tout client HTTP.

Questions et réponses

Réponses courtes issues de la documentation de Rudel.

Installez le plugin, créez un environnement isolé depuis votre propre site et envoyez-y votre première requête grâce au guide de démarrage.