Que fait codex-wp-builder ?
Compétence Codex : piloter WordPress/WooCommerce via REST — CLI Node sans dépendance, HTTPS uniquement, contrôle de publication, import produit en simulation, secrets en mode 0600
Aperçu
Cette compétence fournit un outil en ligne de commande (codex-wp-builder) qui permet à un agent IA (Codex, Cursor, Claude Code, etc.) de gérer un site WordPress/WooCommerce en utilisant l'API REST. L'outil est écrit en Node.js et ne nécessite aucune dépendance externe : il utilise uniquement les modules natifs de Node (https, fs, path, crypto).
Fonctionnalités principales
- Connexion HTTPS uniquement : toutes les communications avec le site WordPress sont chiffrées via TLS/SSL.
- Contrôle de publication (publish gate) : un mécanisme optionnel permet de valider ou de rejeter la publication d'un article ou d'un produit avant son envoi.
- Import de produits en simulation (dry-run) : possibilité de tester l'import d'un produit sans réellement le créer, afin de vérifier les données.
- Gestion sécurisée des secrets : les identifiants (nom d'utilisateur, mot de passe d'application, clés API) sont stockés dans un fichier aux permissions
0600(lecture/écriture uniquement pour le propriétaire).
Utilisation
Syntaxe générale
npx codex-wp-builder <commande> [options]
Commandes disponibles
| Commande | Description |
|---|---|
publish | Publie un article ou une page WordPress |
import | Importe un produit WooCommerce |
list | Liste les articles ou produits existants |
delete | Supprime un article ou un produit |
Options communes
--url <url>: URL du site WordPress (ex:https://monsite.com)--username <nom>: Nom d'utilisateur WordPress--password <motdepasse>: Mot de passe d'application WordPress--dry-run: Exécute la commande en mode simulation (aucune modification réelle)--publish-gate: Active le contrôle de publication (valider avant de publier)
Exemples
Publier un article :
npx codex-wp-builder publish --url https://monsite.com --username admin --password app_password --title "Mon article" --content "Contenu de l'article"
Importer un produit (mode simulation) :
npx codex-wp-builder import --url https://monsite.com --username admin --password app_password --product-data product.json --dry-run
Lister les articles récents :
npx codex-wp-builder list --url https://monsite.com --username admin --password app_password --type posts
Configuration des secrets
Pour éviter de passer les identifiants en ligne de commande à chaque fois, vous pouvez définir les variables d'environnement suivantes :
WP_URL: URL du site WordPressWP_USERNAME: Nom d'utilisateur WordPressWP_PASSWORD: Mot de passe d'application WordPress
Ou utiliser un fichier de configuration ~/.wp-builder/config.json avec les permissions 0600.
Sécurité
- HTTPS obligatoire : l'outil refuse toute connexion non chiffrée.
- Permissions des fichiers de secrets : tout fichier contenant des identifiants doit avoir les permissions
0600. - Pas de dépendances : en utilisant uniquement les modules natifs de Node.js, la surface d'attaque est réduite.
Prérequis
- Node.js 18 ou version ultérieure
- Un site WordPress avec l'API REST activée
- (Pour WooCommerce) Le plugin WooCommerce installé et l'API REST activée
Dépannage
Erreur : Connexion refusée Vérifiez que l'URL est correcte et que le site WordPress est accessible via HTTPS.
Erreur : Authentification échouée Assurez-vous d'utiliser un mot de passe d'application WordPress, et non le mot de passe de connexion habituel. Les mots de passe d'application se génèrent dans la section Utilisateurs > Gérer les mots de passe d'application du tableau de bord WordPress.
Erreur : Permissions du fichier de secrets
Vérifiez que le fichier de configuration a les permissions 0600. Sous Linux/macOS, utilisez chmod 600 <fichier>.