Zinnector®

La CLI pour développeurs dédiée à l’hébergement WordPress

Zinnector® crée WordPress localement sans rien installer d’autre que Node — sans Docker, sans MAMP — puis compare ce que vous avez créé avec l’emplacement d’hébergement vers lequel vous êtes sur le point de déployer et vous indique ce qui ne correspondra pas, avant votre push. Installez-le avec npm install -g zinnector. Il est gratuit, sous licence MIT et conçu sur la même API publique que tout le reste ici.

Un éditeur de code dans un navigateur, avec une arborescence de fichiers à côté d’un fichier ouvert et un curseur à l’intérieur.

Cinq commandes, et celle du milieu est le point essentiel

La plupart des CLI d’hébergement commencent au déploiement. Zinnector® commence avant cela — il construit le site avec vous, puis vérifie votre travail par rapport à la machine vers laquelle vous vous apprêtez à l’envoyer. C’est dans le fossé entre « cela fonctionnait sur mon ordinateur portable » et « cela fonctionne sur le serveur » que passent les après-midis, et ce fossé est mesurable.

Nouveau zinnector

Générez l’échafaudage d’un site, d’une extension ou d’un thème basé sur des blocs prêt à démarrer immédiatement. Aucun fichier de remplacement, aucun TODO : l’extension s’active et le thème peut être sélectionné dès sa création.

zinnector dev

Un véritable WordPress sur votre machine en quelques secondes, prenant en charge vos propres extensions et thèmes, sans Docker et sans PHP dans votre PATH. Choisissez n’importe quelle version de PHP de 5.2 à 8.5 pour vos développements.

Vérification zinnector

La vérification préalable. Compare ce que vous avez créé avec l’emplacement sur lequel vous êtes sur le point de déployer et signale chaque discordance — ainsi que chaque vérification impossible à effectuer — avant votre envoi.

zinnector push

Effectuez la vérification préalable, poussez vos commits, déclenchez le déploiement et suivez-le jusqu’à son terme. En cas d’échec, le journal de build n’est qu’à une commande.

zinnector ai

Interrogez l’assistant depuis le terminal, avec votre projet et votre site comme contexte. Il s’exécute sur la plateforme via votre propre compte, de sorte qu’aucune clé de modèle n’est jamais stockée sur votre machine.

Testez son fonctionnement en deux minutes, aucun compte requis

Six commandes, dans l’ordre, et à quoi ressemble le succès pour chacune d’elles. Tout s’exécute ici sur votre propre machine ; une clé API n’est nécessaire que lorsque vous atteignez un emplacement d’hébergement.

  1. L’installer

    Exécutez npm install -g zinnector sur Node 24 ou une version plus récente. Si npm affiche EBADENGINE, votre version de Node est antérieure à 24 — installez la version LTS actuelle depuis nodejs.org et relancez l’installation.

  2. Vérifier la version

    zinnector --version affiche un numéro de version tel que 0.1.2. Sur une version de Node antérieure à 24, il affiche un message indiquant que Node 24 ou une version plus récente est nécessaire, puis se ferme.

  3. Consulter l’aide

    zinnector --help répertorie chaque commande ci-dessous avec une brève description d’une ligne. Chaque commande accepte également sa propre option --help.

  4. Générer la structure d’un site

    zinnector new my-site crée un projet qui démarre immédiatement — un fichier zinnector.json, une arborescence wp-content et un fichier README — et affiche les commandes suivantes à exécuter.

  5. Exécuter

    cd my-site, puis zinnector dev. La première exécution demande une fois de télécharger l’environnement d’exécution de WordPress (environ 570 Mo, conservé dans le cache propre de la CLI, jamais dans votre projet). Le succès ressemble à « running at http://127.0.0.1:9400 ».

  6. Ouvrez-le dans un navigateur

    http://127.0.0.1:9400 est un nouveau site WordPress ; /wp-admin ouvre le tableau de bord avec une session déjà active. Déposez une extension dans wp-content/plugins et elle apparaîtra au prochain rechargement.

  7. Ensuite, avec un emplacement d’hébergement

    zinnector login, zinnector link, zinnector check, zinnector push — vérifiez préalablement ce que vous avez créé par rapport à l’emplacement, puis déployez et regardez l’opération se terminer.

La vérification préalable, en détail

Vous avez développé sous PHP 8.3. L’emplacement exécute la version 8.1. Rien ne vous avertit avant que le site ne devienne une page blanche. C’est le problème pour lequel cette commande existe, et c’est ce que le propriétaire de cette plateforme a demandé explicitement. Zinnector® lit les deux environnements et les place côte à côte — puis vous permet de déployer quand même, car vous avez peut-être une raison de le faire.

PHP, évalué en toute honnêteté

Un écart de version majeure est signalé comme élevé car il bloque systématiquement un site ; un écart mineur est signalé comme plus faible. Tout classer comme critique apprend simplement aux gens à ignorer l’avertissement.

Nombre de disques et de fichiers, séparément

Une arborescence WordPress se compose de dizaines de milliers de petits fichiers, et un site peut épuiser son quota d’inode tout en restant bien en deçà de sa limite d’espace disque. Les deux sont vérifiés par rapport à ce qu’il reste réellement sur le slot, et non par rapport au forfait.

« Impossible de vérifier » est une réponse en soi

Une vérification qui ne peut pas voir son objet signale non vérifié, jamais réussi. Une exécution sans erreur indique combien d’éléments elle n’a pas pu vérifier, car personne ne regarde à deux fois une fausse alerte de bon fonctionnement.

Avertit, ne bloque jamais

Chaque résultat peut être outrepassé avec --force, et le résumé l’indique. Dans CI, le code de sortie sert de barrière, de sorte qu’un pipeline peut être strict tout en laissant le contrôle à une personne.

Deux environnements d’exécution locaux, tous deux réels

WordPress Playground est l’option par défaut : du PHP compilé en WebAssembly, s’exécutant dans Node, de sorte qu’un ordinateur portable avec seulement Node d’installé passe de rien à un WordPress opérationnel à peu près dans le temps qu’il vous faut pour lire cette phrase.

Lorsque vous avez besoin d’un PHP natif — une extension comme imagick, un vrai MySQL — transmettez --runtime docker et obtenez à la place des conteneurs php-fpm et MariaDB. Les deux servent les mêmes fichiers du même projet, donc basculer entre eux change le moteur et rien d’autre.

Tout ce que vous faites déjà dans le panneau

Zinnector® repose sur la même API publique que le tableau de bord, de sorte que tout ce que le panneau peut faire, il peut également le faire — et chaque commande est une opération documentée dans la spécification OpenAPI plutôt qu’un point de terminaison privé.

Sites et déploiements

Répertoriez les sites, lisez tout ce que la plateforme sait sur l’un d’eux, redéployez et consultez l’historique des déploiements et les journaux de build.

Domaines, DNS et e-mails

Lister les domaines, lire et modifier les enregistrements DNS avec l’enregistrement affiché avant d’être écrit, et lire vos services de messagerie.

PHP, quota, base de données et journaux

Changez de version de PHP, consultez l’utilisation du disque et des inodes par rapport à ce que prévoit votre forfait, obtenez des liens à usage unique vers phpMyAdmin et suivez en direct les journaux d’accès et d’erreurs.

WP-CLI et opérations groupées

Exécutez des commandes WP-CLI autorisées sur un site, et purgez les caches ou lancez des analyses de logiciels malveillants sur l’ensemble d’une sélection en un seul appel plutôt qu’un par site.

Chaque commande, exactement comme --help la liste

La liste complète, une ligne chacune. La référence complète — chaque indicateur, un exemple exécutable et ce qu’affiche chaque commande — est générée directement depuis la CLI et réside dans la documentation pour les développeurs et la base de connaissances, de sorte qu’elle ne peut pas diverger de l’outil que vous avez installé.

nouveau zinnector

Générez l’ossature d’un projet WordPress que vous pouvez exécuter immédiatement.

zinnector dev

Exécutez ce projet localement — aucun Docker requis.

Connexion à zinnector

Connectez-vous avec une clé d’API Zinn Digital®.

Déconnexion de zinnector

Oublier une clé d’API enregistrée.

zinnector whoami

Afficher l’identité sous laquelle cette CLI est authentifiée.

sites zinnector

Répertoriez les sites que cette clé peut voir.

statut de zinnector

Tout ce que la plateforme sait sur un site.

partager zinnector

Donnez à une personne l’accès à un seul site — un développeur, un designer, un client — avec un rôle et un motif.

collaborateurs zinnector

Voyez qui a reçu l’accès à un site, son rôle et s’il a déjà accepté.

zinnector unshare

Révoquez l’accès d’une personne, par e-mail ou identifiant d’octroi.

invitations zinnector

Les invitations qui vous attendent, et acceptez-en une.

Lien zinnector

Pointez ce projet vers un emplacement d’hébergement (et connectez son dépôt).

zinnector pull

Récupérez les fichiers d’un site hébergé dans ce projet pour le développement local, et réexécutez pour resynchroniser. Emprunte le chemin rapide lorsque le site se synchronise avec son propre dépôt, sinon fonctionne à partir de la dernière sauvegarde.

Synchronisation zinnector

Synchronisation bidirectionnelle entre les fichiers en ligne d’un site hébergé et son référentiel : consultez son statut, activez-la, validez les modifications du site ou choisissez quel côté prévaut.

zinnector mcp

Une passerelle vers le serveur MCP de Zinn Digital® pour Claude Desktop et d’autres clients d’AI qui ne démarrent que des serveurs locaux.

Cloner zinnector

Créez un projet local à partir d’un site hébergé en une seule étape : clonez son dépôt ou récupérez ses fichiers, écrivez le fichier de projet et soyez prêt à exécuter zinnector dev.

Vérification zinnector

Comparez ce projet à l’emplacement dans lequel vous êtes sur le point de déployer.

zinnector push

Effectuez les vérifications préalables, publiez vos commits et déployez.

zinnector deploy

Redéployez ce dont la plateforme dispose déjà, sans effectuer de push.

déploiements zinnector

Historique des déploiements d’un site.

zinnector php

Afficher ou modifier la version de PHP d’un site.

quota zinnector

Utilisation du disque, des fichiers et de la base de données par rapport à ce que prévoit l’abonnement.

zinnector db

Taille de la base de données et liens à usage unique vers phpMyAdmin et le gestionnaire de fichiers.

journaux zinnector

Suivez en temps réel les journaux d’accès et d’erreurs d’un site.

zinnector wp

Exécutez une commande WP-CLI autorisée sur un site.

sauvegarde zinnector

Lister et créer des sauvegardes du site. Sous-commandes : list, now.

domaines zinnector

Listez les domaines auxquels cette clé peut accéder.

zinnector dns

Lisez et modifiez les enregistrements DNS. Sous-commandes : list, add, rm.

zinnector mail

Lister les services de messagerie.

zinnector en masse

Exécutez une opération sur plusieurs sites (cache_purge, malware_scan, sitemap, block_ip).

zinnector ai

Demandez à l’assistant Zinn Digital®, avec ce projet comme contexte.

Questions

Dois-je être client de Zinn Digital® pour l’utiliser ?

Non. `zinnector new` et `zinnector dev` ne nécessitent aucun compte — générez la structure d’une extension, d’un thème ou d’un site complet et exécutez-le localement, gratuitement, pour toujours. Une clé API n’est requise que pour les commandes qui communiquent avec votre hébergement.

Nécessite-t-il Docker ?

Pas pour l’environnement d’exécution par défaut. WordPress Playground compile PHP en WebAssembly et s’exécute dans Node, de sorte que `zinnector dev` démarre un véritable WordPress en quelques secondes sans rien installer d’autre. Si vous avez besoin d’un PHP natif — pour tester une extension telle qu’imagick ou ionCube —, `--runtime docker` vous fournit à la place des conteneurs php-fpm et MariaDB. Les deux sont pris en charge ; aucun n’est une solution de secours.

Que compare réellement la vérification préalable ?

Votre version locale de PHP par rapport à celle du slot, la capacité du slot à basculer vers la version sur laquelle vous avez développé, le fait que le PHP du slot ait ou non dépassé sa fin de vie et son application effective par la machine, la taille et le nombre de fichiers de votre projet par rapport à la marge restante de disque et d’inodes, les versions de WordPress de chaque côté, la finalisation du provisionnement du slot, et la connexion d’un dépôt git pour le déploiement. Tout élément qu’il n’a pas été possible de vérifier est signalé comme non vérifié plutôt que comptabilisé comme un succès.

Cela peut-il m’empêcher de déployer ?

Non, et c’est délibéré. La vérification préalable émet un avertissement et vous permet de continuer — `--force` déploie en passant outre toute anomalie. Vous connaissez sur votre propre site des éléments qu’un outil de vérification ignore, et un outil qui refuse de déployer est un outil que l’on désinstalle.

Ma clé API est-elle sécurisée ?

La clé n’est jamais lue depuis la ligne de commande — uniquement à partir d’une invite ou d’un stdin redirigé — elle ne peut donc pas se retrouver dans l’historique de votre shell ou dans une liste de processus. Elle est stockée dans votre propre répertoire de configuration avec le mode de fichier 600, et Zinnector® réapplique ces autorisations à chaque écriture.

Puis-je l’utiliser dans CI ?

Oui. Définissez `ZINNECTOR_TOKEN`, et chaque commande accepte `--json`. La sortie lisible par l’homme est dirigée vers stderr et les données vers stdout, de sorte que les canaux restent propres. `zinnector check` se termine par un code non nul lorsqu’il trouve quelque chose, fonctionnant ainsi comme une porte de pipeline, et `--strict` échoue également lorsqu’une comparaison n’a pas pu être effectuée.

Installez-le et lancez un site dans la minute qui suit

Exécutez npm install -g zinnector, ou essayez-le une fois avec npx zinnector new my-site. Gratuit, sous licence MIT et conçu sur l’API publique. Générez un projet, exécutez-le localement sans Docker et effectuez une vérification préalable avant de le déployer.

Consulter la documentation