html2wp / Documentation html2wp / Plugin
Plugin pour Claude Code et Codex
Ce guide explique comment installer le plugin html2wp dans Claude Code ou Codex et convertir avec lui un site en thème WordPress. Il avance étape par étape, jusqu'à la vérification des pages finies. Vous convertissez plutôt dans l'app de bureau ? Les étapes pour l'app sont dans sa propre documentation.
Quand il vous faut une clé de licence
Pour essayer, vous n'en avez pas besoin. L'offre gratuite est ouverte à tous et vous donne trois conversions de cinq pages maximum chacune, plus cinq relances. Les deux chiffres sont comptés par adresse IP. Une licence est nécessaire pour le travail client, pour les sites de plus de cinq pages et pour les boutiques WooCommerce. Vous l'achetez sur la page des tarifs, et la clé arrive par e-mail. Comment se passe l'achat.
Installation
Le plugin se trouve dans deux dépôts GitHub, l'un pour Claude Code, l'autre pour Codex. Les deux ont le même contenu et le même numéro de version. Seule change la façon dont chaque outil les charge. Installez celui qui correspond à votre outil, car l'autre ne se chargerait pas.
| Outil | Dépôt |
|---|---|
| Claude Code | iOSDevSK/html2wp-cc-plugin |
| Codex | iOSDevSK/html2wp-codex-plugin |
Sélectionnez votre outil ci-dessous, puis lancez les deux commandes l'une après l'autre :
/plugin marketplace add iOSDevSK/html2wp-cc-plugin/plugin install html2wp@html2wpLa première commande ajoute depuis GitHub le catalogue de plugins (le marketplace). La seconde installe ensuite html2wp à partir de ce catalogue. Codex a besoin de son propre dépôt, car il trouve les plugins grâce au fichier .agents/plugins/marketplace.json, absent du dépôt Claude Code.
Mises à jour
La commande de mise à jour ne porte pas le même nom dans les deux outils. Dans Codex, c'est upgrade, dans Claude Code, update :
/plugin marketplace update html2wpActivez les mises à jour automatiques dans Claude Code
Claude Code n'active pas les mises à jour automatiques pour les catalogues tiers. Sans elles, vous ne recevez une nouvelle version du plugin que si vous la demandez, et certaines versions corrigent des failles de sécurité. Pour les activer, ouvrez /plugin, choisissez html2wp sous "Marketplaces" et activez "auto-update".
Pour voir la version installée, lancez codex plugin list dans Codex. Dans Claude Code, allez dans /plugin → "Marketplaces" → html2wp.
Si la version dans Codex n'a pas changé après une mise à jour, Codex a gardé une ancienne copie en cache. Supprimez-la et réinstallez le plugin :
rm -rf ~/.codex/plugins/cache/html2wpcodex plugin marketplace upgrade && codex plugin add html2wp@html2wpSi cela ne suffit toujours pas, Codex a peut-être aussi une autre copie, plus ancienne, issue d'une installation manuelle. La commande codex plugin marketplace list affiche tous les catalogues. Si vous y voyez html2wp@<other-name>, supprimez-la avec codex plugin remove html2wp@<that-name>.
L'essentiel du travail se fait dans le service html2wp, et ce service se met à jour tout seul. Votre prochaine conversion tourne donc déjà sur la nouvelle version. Vous ne mettez à jour que la partie qui tourne sur votre ordinateur : les contrôles, les scripts et le filtre des données sortantes. Les changements de chaque version sont dans l'historique des commits sur GitHub.
Prérequis
| Node.js | version 20 ou plus récente |
|---|---|
| Python 3 | avec les paquets Playwright (chromium) et Pillow |
| Docker | y compris docker compose, qui fait tourner le WordPress de test |
| Autres outils | php-cli, jq, curl, bash, tar |
| Site cible | WordPress 6.6 ou plus récent |
Inutile de vérifier tout cela vous-même. Quand vous lancez une conversion, le plugin contrôle d'abord votre ordinateur et liste ce qui manque :
Node.js ok v22.14.0 Python ok 3.12.4 Playwright MISSING mirroring, prerendering and every screenshot Docker NOT RUNNING installed, but the daemon is not up
Certains paquets s'installent seulement dans votre dossier utilisateur, comme Playwright ou le navigateur chromium. Pour ceux-là, le plugin propose de les installer à votre place, et il demande avant chaque commande. Ce qui modifie tout le système, comme Docker Desktop ou une version plus récente de Node.js, il se contente de le signaler. Il attend ensuite que vous l'installiez vous-même.
Si vous voulez installer les paquets Python à la main :
python3 -m pip install playwright pillow && python3 -m playwright install chromiumQuel modèle choisir
Pendant une conversion, l'IA doit prendre beaucoup de décisions. Par exemple : quelle page est l'accueil, pourquoi un contrôle a échoué, ou si un client remarquerait vraiment la différence entre deux captures d'écran. Le choix du modèle pèse donc sur le résultat plus que n'importe quel autre réglage.
| Outil | Modèle recommandé |
|---|---|
| Claude Code | Opus 5, avec Fable 5 comme conseiller. |
| Codex | Luna avec un effort de raisonnement xhigh. |
L'option la moins chère
Codex avec Luna en xhigh coûte moins cher, et ses résultats sont au-dessus de la moyenne. Si le coût d'une conversion compte pour vous, choisissez cette combinaison.
Dans Claude Code, Opus 5 fait le travail et Fable 5 est consulté pour les décisions importantes. C'est là qu'une conversion déraille le plus souvent.
Clé de licence
Avec l'offre gratuite, vous n'avez pas besoin de clé : passez cette section. Si vous avez une licence, enregistrez la clé sur votre ordinateur avant votre première conversion. Vous ne le faites qu'une fois, depuis n'importe quel dossier :
mkdir -p ~/.config/html2wpprintf '%s' 'YOUR-KEY' > ~/.config/html2wp/licencechmod 600 ~/.config/html2wp/licenceVous pouvez aussi passer la clé dans la variable d'environnement H2WP_KEY, qui l'emporte sur le fichier. Le fichier est plus sûr, car la clé ne finit pas dans l'historique de votre terminal.
Ce fichier reçoit la clé de licence html2wp, celle que vous obtenez en achetant Pro. Une clé Visual Edit Pro n'y a pas sa place. Elle se saisit dans l'extension Visual Edit, sur le site que vous modifiez, et ne sert pas aux conversions.
Enregistrez la clé avant de lancer une conversion
Dès le départ, le plugin calcule combien de pages vous avez le droit de convertir. S'il n'a pas encore de clé, il prévoit la conversion selon la limite gratuite de cinq pages. Une clé ajoutée pendant la conversion n'y change rien.
Pour savoir si une clé est valide, à quoi elle sert et jusqu'à quand, lancez npx html2wp-license YOUR-KEY. La vérification de clé sur la page des licences explique ce que signifie le résultat. Le contenu d'une licence et la façon de l'acheter sont décrits sur la page des licences.
Convertir un projet
Ouvrez un terminal dans le dossier du projet à convertir, et lancez-y votre agent :
git clone https://github.com/YOU/YOUR-LOVABLE-PROJECTcd YOUR-LOVABLE-PROJECTcodexSi vous utilisez Claude Code, tapez claude au lieu de codex sur la dernière ligne.
Donnez ensuite une seule commande à l'agent :
/html2wp:html2wp convert this projectC'est tout. Vous ne lancez ni npm install ni npm run build, et vous ne configurez rien. Les projets Bolt, v0, shadcn ou un export Next.js se convertissent de la même façon. Dans Claude Code, vous pouvez aussi taper simplement /html2wp:html2wp, ou demander à Codex d'utiliser html2wp. Le plugin vous demande alors quoi convertir.
Les premières minutes d'une conversion
> convert this project
Checking this machine first…
Node.js ok v22.14.0
Playwright MISSING
Two Python packages are missing. Shall I install them? (they go in your
user directory, no root)
> yes
… installed. Building the project, then prerendering it.
7 routes found: /, /about, /pricing, /blog, /blog/launch, /contact, /faq
Decided: /blog is the listing, /blog/launch an article, the rest are pages.
Written to the manifest; carrying on.
Dans les dernières lignes, le plugin a noté comment il a classé les pages : /blog est la liste des articles, /blog/launch un article, et le reste des pages ordinaires. Vérifiez ce classement sur le site fini, à la fin.
Autres sources
La commande convert this project convertit le dossier où vous vous trouvez. Si les fichiers sont ailleurs, tapez leur chemin, par exemple convert ./dist.
| Ce que vous avez | Ce que vous tapez |
|---|---|
| Un projet à partir duquel le site est construit : Lovable, Bolt, v0, Vite, Astro, un export Next.js | convert this project |
Un dossier de fichiers .html finis, d'images et de styles | convert ./folder-name |
La source doit toujours se trouver sur votre disque. Le plugin ne convertit pas l'adresse d'un site en ligne. Il lui faut les fichiers dont le site est fait, pas ce qu'affiche le navigateur.
Comment se convertit un projet Lovable
Une app Lovable est construite en React. Son index.html ne contient qu'un élément vide et un script, et la page ne prend vie que dans le navigateur. Le plugin commence donc par construire le projet, l'ouvre dans un vrai navigateur et enregistre chaque page en HTML fini. Il capture aussi le contenu qui n'apparaît qu'après l'exécution des scripts, comme des accordéons ouverts ou des menus déroulants. Ensuite, il crée le thème à partir de ces pages. Les détails sont dans le guide Lovable vers WordPress.
Ce que le plugin décide pour vous
Le rôle de chaque page
Une décision pèse plus que toutes les autres sur le résultat : quelle page est l'accueil, laquelle est la liste des articles, lesquelles sont des articles et lesquelles des produits. Le plugin le déduit du code des pages, le note et continue sans vous demander. Il ne s'arrête que s'il ne peut pas trancher. C'est le cas quand le site a plus de pages que votre limite ne le permet, ou quand deux pages semblent être la même.
S'il se trompe, la correction coûte peu. Vous corrigez le classement et relancez la conversion. C'est une relance, et elle ne compte pas dans votre limite de conversions.
Ensuite, tout tourne presque seul
Flash prend environ une demi-heure, Full environ une heure, selon le nombre de pages et la vitesse de votre ordinateur. Pendant ce temps, le plugin construit le site, le compare à l'original et l'envoie au service html2wp pour la conversion. Il installe ensuite le thème fini dans un WordPress temporaire sous Docker, sur votre ordinateur, et le teste là.
La vérification à ne pas sauter
À la fin, le plugin vous montre chaque page à côté de l'original, dans une seule image. Regardez chaque image et dites ce que vous voyez.
Pourquoi une personne doit vérifier les pages
Les contrôles automatiques comparent des chiffres. Ils laissent donc passer des erreurs qu'une personne verrait tout de suite. Dans une conversion, toute une section plus bas dans la page manquait, mais la comparaison n'indiquait qu'un écart de 0,4 %, et le contrôle est passé. À ce stade, le ZIP du thème est déjà prêt. Cette vérification vous permet de décider si vous pouvez le livrer.
Ce que vous obtenez
- Le thème en fichier ZIP. Vous l'envoyez dans WordPress via Apparence → Thèmes → Ajouter un thème → Téléverser un thème. Le plugin refuse de construire un thème cassé, par exemple si le PHP contient une erreur de syntaxe, s'il manque du contenu, si la capture du thème n'a pas la bonne taille ou si l'on ne peut rien acheter dans la boutique.
- Le rapport
CONVERSION-REPORT.md, dans le même dossier que le ZIP. Il liste les pages converties, les menus branchés, tout ce que vous avez relevé lors de la vérification, chaque avertissement de la conversion et ce qui reste à faire. - Un lien vers Visual Edit Lite, l'éditeur gratuit pour modifier en pointant et cliquant. L'éditeur ne fait pas partie du thème, et le thème fonctionne sans lui. Visual Edit Pro est une licence payante distincte.
Le thème est autonome. Pages, blog, formulaires, menus, SEO et redirections font partie de son code et fonctionnent sans extensions. Le code est du PHP, du CSS et du JavaScript lisibles. Il vous appartient et ne dépend pas de nous. Le thème ne se connecte nulle part. La modification par clic est décrite dans la partie Visual Edit de la documentation de l'app.
Ce qui quitte votre ordinateur
Votre ordinateur fait le travail de navigateur : construire les pages, comparer les captures d'écran et faire tourner un WordPress temporaire sous Docker pour les contrôles finaux. Le thème lui-même est fabriqué par le service html2wp. Le plugin lui envoie donc le site construit et reçoit le thème en retour.
Les contrôles du thème tournent chez vous, et le service ne voit pas leurs résultats. C'est pourquoi le plugin les lui envoie à la fin. Cet envoi est obligatoire : le service ne lance pas la conversion suivante tant que la précédente n'a pas envoyé ses résultats.
- Ce qui est envoyé : le nom des contrôles, s'ils ont réussi, le nombre de pages, le pire pourcentage de concordance et le nom court des pages en échec, comme
aboutoupricing. - Ce qui n'est pas envoyé : l'adresse ou le domaine du site, le code, le texte, les captures d'écran, les chemins de fichiers, la clé de licence ou le nom du site. Le plugin n'envoie que des champs définis à l'avance, rien d'autre.
- Vérifiez par vous-même : la commande
send-verdicts.sh <workspace> --dry-runaffiche exactement ce qui serait envoyé, sans rien envoyer. C'est un seul petit script, que vous pouvez lire.
Le plugin n'envoie aucune autre donnée, et le thème fini n'envoie rien du tout. La description complète, avec la durée de conservation des données, se trouve sur la page sur les données.
Signaler un bug
Si le convertisseur lui-même fait une erreur, signalez-la avec cette commande :
curl -sS -X POST https://api.html2wp.dev/v1/report \
-H 'content-type: application/json' \
-d '{"subject":"what went wrong","body":"what you saw","evidence":"page keys, warnings"}'Une personne lit chaque signalement. La correction part ensuite dans le service, et elle profite ainsi à tous les utilisateurs.
Signalez autrement les failles de sécurité
Pas avec cette commande, ni dans une issue GitHub. La marche à suivre est sur la page sur la sécurité.