<!-- generated by cli/scripts/command-reference.mjs from the CLI's own command definitions — do not edit by hand -->
Toutes les commandes que Zinnector® 0.1.6 prend en charge — 43 au total, exactement comme zinnector --help les liste — avec leurs options, un exemple exécutable et ce que vous devriez voir. Cette page est générée à partir de la CLI elle-même, elle ne peut donc pas être en désaccord avec l’outil que vous avez installé ; si une commande présente ici est manquante sur votre machine, exécutez npm install -g zinnector@latest.
Avant de commencer
Installez-le avec npm install -g zinnector sur Node 24 ou une version plus récente, puis vérifiez l’installation avec zinnector --version et zinnector --help. Le guide de démarrage présente les cinq premières minutes ; cette page est la référence vers laquelle vous reviendrez.
Chaque commande accepte -h, --help. Ces options globales se placent avant le nom de la commande :
| option | what it does |
|---|
-V, --version | affiche la version |
--profile <name> | utilise un profil d’identifiants nommé |
Les commandes
zinnector new
Échafaudez un projet WordPress que vous pouvez exécuter immédiatement.
zinnector new [options] [name]
| argument | requis | description |
|---|
name | non | répertoire dans lequel créer le projet, et nom du projet — requis sauf si --here est spécifié |
| option | description de l’action | valeur par défaut |
|---|
-t, --template <kind> | l’un des éléments suivants : site, plugin, theme | "site" |
--php <version> | version de PHP ciblée pour le développement | "8.3" |
--wp <version> | version de WordPress pour l’environnement d’exécution local | "latest" |
--runtime <name> | playground ou docker | "playground" |
--here | initialiser la structure dans le répertoire courant plutôt que dans un nouveau | |
Exemple
zinnector new my-site
Ce que vous voyez — capturé — 0.1.2 sur Linux
Created my-site · site
──────────────────────────
+ .gitignore
+ README.md
+ wp-content/mu-plugins/000-zinnector-dev.php
+ wp-content/plugins/.gitkeep
+ wp-content/themes/.gitkeep
+ zinnector.json
php 8.3
wordpress latest
runtime playground
→ run it:
cd my-site
zinnector dev
→ then, when you have a hosting slot:
zinnector link # point it at a site
zinnector check # pre-flight before you push
zinnector push
zinnector dev
Exécutez ce projet localement — aucun Docker requis.
zinnector dev [options]
| option | rôle | valeur par défaut |
|---|
--php <version> | version de PHP à exécuter (5.2–8.5 sur playground, 7.4–8.5 sur docker) | |
--wp <version> | version de WordPress | |
-p, --port <port> | port sur lequel effectuer le service | |
--runtime <name> | playground (par défaut) ou docker | |
--login | se connecter automatiquement en tant qu’administrateur | true |
--no-login | ne pas se connecter automatiquement | |
--once | démarrer, indiquer ce qui est en cours d’exécution, puis s’arrêter | |
--yes | installer l’environnement d’exécution local sans confirmation | |
--reset-runtime | supprimer l’environnement d’exécution installé et le réinstaller | |
-v, --verbose | afficher la propre sortie de l’environnement d’exécution | |
Exemple
cd my-site
zinnector dev
Ce que vous voyez — capturé — 0.1.2. La première exécution demande une fois de télécharger l’environnement d’exécution de WordPress (~570 Mo) ; passez --yes pour ignorer la question
my-site · WordPress Playground (WASM, no Docker)
───────────────────────────────────────────────────
serving a WordPress project
from /home/you/my-site
php 8.3
wordpress latest
✔ running at http://127.0.0.1:9400
admin: http://127.0.0.1:9400/wp-admin (already signed in)
Ctrl-C to stop
zinnector login
Connectez-vous — avec votre propre compte dans le navigateur, ou avec une clé API.
zinnector login [options]
| option | rôle | valeur par défaut |
|---|
--profile <name> | stocker sous un profil nommé (valeur par défaut : default) | |
--api <url> | URL de base de l’API | "https://api.zinndigital.com" |
--api-key | collez une clé d’API par organisation au lieu de vous connecter en tant que vous-même | |
--issuer <url> | le service de connexion | "https://auth.zinndigital.com/realms/zinn" |
--no-browser | afficher le lien de connexion sans tenter d’ouvrir un navigateur | |
Exemple
zinnector login
Ce que vous voyez — la clé est saisie à l’invite, jamais sur la ligne de commande. En CI, transférez-la par un tube : echo « $ZINN_API_KEY » | zinnector login --profile ci
Sign in to Zinn Digital® · https://api.zinndigital.com
────────────────────────────────────────────────────
API key: ••••••••••••••••••••••••••••
✔ signed in as you@example.com (Acme Ltd) — profile “default”
→ next: zinnector sites
zinnector logout
Oublier une connexion enregistrée.
zinnector logout [options]
| option | ce qu’elle fait | par défaut |
|---|
--profile <name> | quel profil oublier (par défaut : default) | |
Exemple
zinnector logout
Ce que vous voyez
✔ signed out of profile “default”
zinnector whoami
Afficher sous quelle identité cette CLI est connectée et ce à quoi elle peut accéder.
zinnector whoami [options]
| option | rôle | valeur par défaut |
|---|
--profile <name> | utiliser un profil nommé | |
--scopes | lister les autorisations associées à une clé d’API | |
--json | sortie lisible par une machine | |
Exemple
zinnector whoami --scopes
Ce que vous voyez — capturé lors d’une exécution réelle de la version 0.1.5 en production le 2026-09-14 ; les domaines, les identifiants et les liens à usage unique ont été remplacés
Signed in · https://api.zinndigital.com
──────────────────────────────────────────
account you@example.com
as a person, signed in through the browser
organisations 8 — listed below
mode live
credential profile “default”
· Example Org owner · 01a00000-0000-7000-8000-000000000000
· Example Org· 01a00001-0000-7000-8000-000000000001
· Example Org· 01a00002-0000-7000-8000-000000000002
· Example Org· 01a00003-0000-7000-8000-000000000003
· Example Org· 01a00004-0000-7000-8000-000000000004
· Example Org· 01a00005-0000-7000-8000-000000000005
· Example Org· 01a00006-0000-7000-8000-000000000006
· Example Org· 01a00007-0000-7000-8000-000000000007
scopes belong to API keys — a signed-in person acts with their ROLE in each organisation (shown above).
zinnector sites
Lister les sites que cette clé peut voir.
zinnector sites [options]
| option | ce qu’elle fait | par défaut |
|---|
--json | sortie lisible par une machine | |
--status <status> | uniquement les sites dans cet état | |
Exemple
zinnector sites
Ce que vous voyez — capturé lors d’une exécution réelle de la version 0.1.5 en production le 2026-09-14 ; les domaines, les identifiants et les liens à usage unique ont été remplacés
Sites · 12
─────────────
domain status php target id
example-2.com active php — fleet 01a00000-0000-7000-8000-000000000000
example-3.com active php — fleet 01a00001-0000-7000-8000-000000000001
example-4.com active php — fleet 01a00002-0000-7000-8000-000000000002
example-5.com active php 8.5 fleet 01a00003-0000-7000-8000-000000000003
example-6.com active php — fleet 01a00004-0000-7000-8000-000000000004
example.com active php 8.4 fleet 01a00005-0000-7000-8000-000000000005
example-7.com active php — fleet 01a00006-0000-7000-8000-000000000006
example-8.com active php 8.5 fleet 01a00007-0000-7000-8000-000000000007
example-9.com active php 8.5 fleet 01a00008-0000-7000-8000-000000000008
example-10.com active php 8.5 fleet 01a00009-0000-7000-8000-000000000009
example-11.com active php 8.5 fleet 01a00010-0000-7000-8000-000000000010
example-12.com active php 8.5 fleet 01a00011-0000-7000-8000-000000000011
zinnector status
Tout ce que la plateforme sait sur un site.
zinnector status [options] [site]
| argument | obligatoire | description |
|---|
site | non | un ID de site, domaine principal ou nom — par défaut le site associé dans zinnector.json |
| option | ce que cela fait | valeur par défaut |
|---|
--json | sortie lisible par une machine | |
Exemple
zinnector status example.com
Ce que vous voyez — capturé lors d’une exécution réelle de la version 0.1.5 en production le 2026-09-14 ; les domaines, les identifiants et les liens à usage unique ont été remplacés
example.com · 01a00000-0000-7000-8000-000000000000
────────────────────────────────────────────────────────────────────────
status active
product line footprint_free
stack wordpress
region fsn1
deploy target fleet
plan PBN 10
● PHP
version 8.4
can switch to 8.5, 8.4, 8.3, 8.2, 8.1, 8.0, 7.4
● Quota
disk 188 MB used of 500.0 GB
files 6,313 of 2,000,000
database 1 MB
● Deploy
status building
target fleet
repository —
commit —
live url —
last deployed 2026-09-14T01:29:26.991511Z
● WordPress
version 7.1
up to date yes
multisite no
zinnector share
Donnez à une personne l’accès à UN seul site — un développeur, un designer, un client.
zinnector share [options] <site> <email>
| argument | requis | ce dont il s’agit |\n|---|---|---|\n| site | oui | le site à partager — un id, un domaine principal ou un nom |\n| email | oui | à qui donner l’accès — une invitation lui est envoyée par e-mail s’il ne possède pas encore de compte |\n\n| option | ce qu’elle fait | valeur par défaut |\n|---|---|---|\n| --role <role> | ce qu’ils peuvent faire : viewer, editor, manager | |\n| --reason <text> | pourquoi ils en ont besoin — conservé avec l’autorisation pour la piste d’audit |\n| --until <date> | date à laquelle l’accès prend fin automatiquement (YYYY-MM-DD) ; omettez pour conserver l’accès jusqu’à révocation | |\n| --json | sortie lisible par une machine | |\n\nExemple
zinnector share example.com dev@agency.test --role editor --reason "rebuild the checkout"
Ce que vous voyez — la forme exacte affichée par la commande, depuis la source (W40-DEVTOOL les a ajoutées après la dernière capture de ce fichier) ; vos domaines, identifiants et dates seront différents
Shared example.com · 01a03f39-730a-7dc4-84b0-5d4f7582dd04
────────────────────────────────────────────────────────────
✔ invited dev@agency.test as editor
They have no account yet, so an invitation has been emailed. Until they
sign in and accept it they can see nothing; the moment they do, the site is theirs.
→ what they do next, on their own machine:
npm i -g zinnector && zinnector login # sign in as themselves
zinnector clone example.com # pull the files down
zinnector collaborators
Qui a reçu l’accès à un site, et s’il a été accepté.
zinnector collaborators [options] [site]
| argument | obligatoire | description |
|---|
site | non | un ID de site, domaine principal ou nom — par défaut le site associé dans zinnector.json |
| option | ce que cela fait | valeur par défaut |
|---|
--json | sortie lisible par une machine | |
Exemple
zinnector collaborators example.com
Ce que vous voyez — capturé à partir d’une exécution réelle de 0.1.5 en production le 2026-09-14 ; domaines, identifiants et liens à usage unique substitués. la forme exacte affichée par la commande, depuis la source (W40-DEVTOOL les a ajoutés après la dernière capture de ce fichier) ; vos domaines, identifiants et dates différeront
Access to example.com · 3
───────────────────────────────────────────────────────────
who role status ends why grant
dev@agency.test viewer revoked — Example Org— revoked immediately after 01a00000-0000-7000-8000-000000000000
dev@agency.test viewer revoked — Example Org— revoked at the end of the walk 01a00001-0000-7000-8000-000000000001
dev@agency.test editor revoked — Example Org— revoked at the end of the walk 01a00002-0000-7000-8000-000000000002
zinnector unshare
Révoquer l’accès d’une personne à un site — par e-mail ou identifiant d’autorisation (grant id).
zinnector unshare [options] <site> <who>
| argument | obligatoire | description |
|---|
site | oui | le site auquel retirer l’accès — un identifiant (id), domaine principal ou nom |
who | oui | la personne à supprimer — son adresse e-mail ou le grant id de zinnector collaborators |
| option | action | valeur par défaut |
|---|
--yes | ne pas demander confirmation | |
Exemple
zinnector unshare example.com dev@agency.test --yes
Ce que vous voyez — la forme exacte affichée par la commande, depuis la source (W40-DEVTOOL les a ajoutées après la dernière capture de ce fichier) ; vos domaines, identifiants et dates seront différents
✔ withdrew the invitation to dev@agency.test
zinnector invitations
Les invitations qui vous attendent, et en accepter une.
zinnector invitations [options] [command]
Exemple
zinnector invitations
Ce que vous voyez — capturé à partir d’une exécution réelle de 0.1.5 en production le 2026-09-14 ; domaines, identifiants et liens à usage unique remplacés. la forme exacte affichée par la commande, depuis la source (W40-DEVTOOL les a ajoutés après la dernière capture de ce fichier) ; vos domaines, identifiants et dates différeront ; sans sous-commande, la commande exécute list
Invitations · 0
──────────────────
● nothing waiting for you
zinnector invitations list
Invitations adressées au compte auquel vous êtes connecté.
zinnector invitations list [options]
| option | ce que cela fait | par défaut |
|---|
--json | sortie lisible par une machine | |
Exemple
zinnector invitations list
Ce que vous voyez — capturé à partir d’une exécution réelle de 0.1.5 en production le 2026-09-14 ; domaines, identifiants et liens à usage unique substitués. la forme exacte affichée par la commande, depuis la source (W40-DEVTOOL les a ajoutés après la dernière capture de ce fichier) ; vos domaines, identifiants et dates différeront
Invitations · 0
──────────────────
● nothing waiting for you
zinnector invitations accept
Acceptez une invitation — le site vous appartient dès que cette commande se termine.
zinnector invitations accept [options] <id>
| argument | obligatoire | description |
|---|
id | oui | l’id d’invitation provenant de zinnector invitations — un préfixe unique de celui-ci suffit |
Exemple
zinnector invitations accept 01a03f39-9c11-7b02-a7e0-2e4d0c5f1b77
Ce que vous voyez — la forme exacte affichée par la commande, depuis la source (W40-DEVTOOL les a ajoutées après la dernière capture de ce fichier) ; vos domaines, identifiants et dates seront différents
✔ you now have access to example.com
zinnector link
Pointez ce projet vers un emplacement d’hébergement (et connectez son dépôt).
zinnector link [options] [site]
| argument | obligatoire | description |
|---|
site | non | un ID de site, domaine principal ou nom — par défaut, le site lié dans zinnector.json |
| option | action | valeur par défaut |
|---|
--repo <owner/name> | connecter ce dépôt au site sur la plateforme | |
--provider <name> | le compte connecté via lequel effectuer le déploiement : github_app, github ou gitlab (par défaut : celui connecté par votre organisation) | |
--branch <name> | branche à partir de laquelle un push est déployé | |
--no-repo | écrire uniquement zinnector.json ; ne pas toucher à la plateforme | |
Exemple
zinnector link example.com --repo acme/example-site --branch main
Ce que vous voyez
✔ this project deploys to example.com (01a03f39-730a-7dc4-84b0-5d4f7582dd04)
written to zinnector.json — commit it so everyone deploys to the same slot
✔ the platform will deploy acme/example-site (main)
→ next: zinnector check
zinnector pull
Rapatriez les fichiers d’un site hébergé dans ce projet pour le développement local — et réexécutez pour resynchroniser.
zinnector pull [options] [site]
| argument | obligatoire | description |
|---|
site | non | un ID de site, domaine principal ou nom — par défaut, le site lié dans zinnector.json |
| option | rôle | valeur par défaut |
|---|
--via <seam> | auto (par défaut), git ou backup | "auto" |
--fresh | créer une nouvelle sauvegarde plutôt que d’utiliser la plus récente (consomme un créneau à la demande) | |
--max-age <hours> | accepter la dernière sauvegarde si elle est plus récente que cette durée | "24" |
--full | l’intégralité de la racine du document, cœur WordPress inclus (par défaut : wp-content uniquement) | |
--no-uploads | ignorer wp-content/uploads (médias) | |
--no-database | ignorer la base de données du site — ne récupérer que les fichiers | |
--live-config | écrire également wp-config.php — contient les identifiants de la base de données EN PRODUCTION | |
--clean | vider wp-content avant l’extraction, afin de répercuter les suppressions effectuées sur le site | |
--dry-run | indiquer ce qui se passerait puis s’arrêter | |
--yes | ne pas demander confirmation | |
Exemple
zinnector pull
Ce que vous voyez
Pull example.com · 01a03f39-730a-7dc4-84b0-5d4f7582dd04
─────────────────────────────────────────────────────────────
● via git — the site syncs to its own repository and this is a clone of it
✔ fast-forwarded 3 commits 4f1c2a9b → 9d2e7c14
● not synced, and why
✖ database the local playground has its own; the site's is not copied
✖ offloaded media objects in storage are not in the site's files
✖ anything outside the repository only wp-content syncs
→ next: zinnector dev
zinnector clone
Créez un projet local à partir d’un site hébergé : clonez son dépôt ou extrayez ses fichiers.
zinnector clone [options] <site> [dir]
| argument | obligatoire | description |
|---|
site | oui | le site hébergé à copier — un identifiant, un domaine principal ou un nom |
dir | non | répertoire à créer — par défaut le domaine principal du site |
| option | action | valeur par défaut |
|---|
--via <seam> | auto (par défaut), git ou backup | "auto" |
--fresh | effectuer une nouvelle sauvegarde plutôt que d’utiliser la plus récente | |
--full | l’intégralité de la racine du document, cœur WordPress inclus | |
--no-uploads | ignorer wp-content/uploads (médias) | |
--no-database | ignorer la base de données du site — ne récupérer que les fichiers | |
--live-config | écrire également wp-config.php — contient les identifiants de la base de données EN PRODUCTION | |
--yes | ne pas demander confirmation | |
Exemple
zinnector clone client.example.com
Ce que vous voyez
Clone client.example.com · client.example.com
──────────────────────────────────────────────────────
✔ wrote client.example.com/zinnector.json (php 8.3, wordpress 6.7.1)
● via backup — the site does not sync to a repository
✔ downloaded 214 MB and extracted wp-content
● not synced, and why
✖ database the local playground has its own; the site's is not copied
✖ offloaded media objects in storage are not in the site's files
✖ wp-config.php holds the live database credentials (--live-config to write it)
✖ WordPress core the runtime supplies the version the slot runs (--full to take it)
→ next: zinnector dev
→ run it:
cd client.example.com
zinnector dev
zinnector sync
Synchronisation bidirectionnelle entre les fichiers en production d’un site et son dépôt.
zinnector sync [options] [command]
Exemple
zinnector sync --help
Ce que vous voyez — sans sous-commande, zinnector sync <site> correspond à sync status
Usage: zinnector sync [options] [command]
two-way sync between a site's live files and its repository
site → repository zinnector sync run commits the live files and pushes the branch
repository → site zinnector push builds the branch and publishes it
zinnector sync status
État de la synchronisation bidirectionnelle et ses dernières exécutions.
zinnector sync status [options] [site]
| argument | obligatoire | description |
|---|
site | non | un ID de site, domaine principal ou nom — par défaut le site associé dans zinnector.json |
| option | ce que cela fait | valeur par défaut |
|---|
--json | sortie lisible par une machine | |
Exemple
zinnector sync status example.com
Ce que vous voyez — capturé lors d’une exécution réelle de 0.1.4 sur un site de test le 2026-09-12 ; le domaine et les identifiants sont remplacés par des valeurs d’exemple
Two-way sync — example.com
──────────────────────────
repository acme/example-site (main)
available yes
sync on
state synced
last sync 2026-09-12T22:51:41.539832Z
note Started from acme/example-site@main.
run files commit when
synced 2 changed da85d73cef5f 2026-09-12T22:52:10.117301Z
zinnector sync on
Activez la synchronisation bidirectionnelle (ne transfère rien par elle-même).
zinnector sync on [options] [site]
| argument | obligatoire | description |
|---|
site | non | un identifiant de site, domaine principal ou nom — par défaut le site associé dans zinnector.json |
| option | action | valeur par défaut |
|---|
--subdir <path> | synchroniser uniquement ce sous-répertoire du site | |
--json | sortie lisible par une machine | |
Exemple
zinnector sync on example.com
Ce que vous voyez — nécessite un dépôt connecté sur votre propre compte GitHub ; il ne pousse rien de lui-même
✔ two-way sync is on
Two-way sync — example.com
…
→ next: zinnector sync run
zinnector sync off
Désactivez la synchronisation bidirectionnelle.
zinnector sync off [options] [site]
| argument | obligatoire | description |
|---|
site | non | un identifiant de site, domaine principal ou nom — par défaut le site associé dans zinnector.json |
| option | action | valeur par défaut |
|---|
--subdir <path> | synchroniser uniquement ce sous-répertoire du site | |
--json | sortie lisible par une machine | |
Exemple
zinnector sync off example.com
Ce que vous voyez
✔ two-way sync is off
zinnector sync run
Validez les fichiers en direct du site dans son dépôt maintenant.
zinnector sync run [options] [site]
| argument | obligatoire | description |
|---|
site | non | un ID de site, domaine principal ou nom — par défaut le site associé dans zinnector.json |
| option | ce que cela fait | valeur par défaut |
|---|
--json | sortie lisible par une machine | |
Exemple
zinnector sync run example.com
Ce que vous voyez — capturé lors d’une exécution réelle de 0.1.4 sur un site de test le 2026-09-12 ; le domaine et les identifiants sont remplacés par des valeurs d’exemple. Une exécution que le dépôt a déjà dépassée est mise en attente (HELD) : rien n’est poussé ni écrasé, la commande se termine avec le code 1 et indique l’étape suivante
✔ committed 2 changed files da85d73cef5f
Two-way sync — example.com
…
→ next: git pull in your clone
zinnector sync resolve
Effacez une synchronisation suspendue en choisissant quel côté l’emporte.
zinnector sync resolve [options] [site]
| argument | requis | description |
|---|
site | non | un id de site, domaine principal ou nom — par défaut le site lié dans zinnector.json |
| option | ce que cela fait | valeur par défaut |
|---|
--keep <side> | site (commiter le site par-dessus) ou repository (ignorer les modifications non synchronisées du site) | |
--yes | ne pas demander | |
--json | sortie lisible par une machine | |
Exemple
zinnector sync resolve example.com --keep repository --yes
Ce que vous voyez — capturé lors d’une exécution réelle de 0.1.4 sur un site de test le 2026-09-12 ; le domaine et les id sont remplacés par des valeurs d’exemple. Sans --yes, il demande d’abord, et refuse catégoriquement lorsqu’il n’y a pas de terminal dans lequel poser la question
✔ kept the repository
Two-way sync — example.com
…
state synced
zinnector check
Comparez ce projet avec l’emplacement sur lequel vous êtes sur le point de déployer.
zinnector check [options] [site]
| argument | requis | ce que c’est |\n|---|---|---|\n| site | non | un id de site, domaine principal ou nom — par défaut, le site lié dans zinnector.json |\n\n| option | ce que cela fait | valeur par défaut |\n|---|---|---|\n| --probe | démarrer l’environnement d’exécution local et MESURER son php, plutôt que de faire confiance à zinnector.json | |\n| --all | afficher également les vérifications réussies | |\n| --strict | échouer également lorsque quelque chose n’a pas pu être vérifié | |\n| --json | sortie lisible par une machine | |\n\nExemple
zinnector check
Ce que vous voyez — capturé lors d’une exécution réelle de la version 0.1.5 en production le 2026-09-14 ; domaines, identifiants et liens à usage unique substitués — l’exécution a détecté une divergence réelle (PHP 8.3 dans le projet contre 8.4 sur le slot), ce qui est la raison d’être de la commande
→ reading the slot
size excludes: .git
Pre-flight — example.com · 01a00000-0000-7000-8000-000000000000
────────────────────────────────────────────────────────────────────────
local php 8.4 3 files, 0.0 MB
slot php 8.4 target fleet
local php is the version DECLARED in zinnector.json — run with --probe to measure it
? unknown local php extensions could not be enumerated
try zinnector dev --once
? unknown wordpress versions could not be compared
No WordPress version found in the working copy.
try zinnector status
7 passed · 2 could not be checked
zinnector push
Contrôle préalable, envoyez vos commits et déployez.
zinnector push [options] [site]
| argument | obligatoire | description |
|---|
site | non | un id de site, un domaine principal ou un nom — par défaut, le site lié dans zinnector.json |
| option | action | valeur par défaut |
|---|
-f, --force | déployer même lorsque la vérification préliminaire signale des anomalies | |
--skip-checks | ne pas exécuter la vérification préliminaire | |
--probe | mesurer l’environnement d’exécution local pendant la vérification préliminaire au lieu de se fier à zinnector.json | |
--no-wait | déclencher le déploiement et quitter sans le surveiller | |
--no-git | ne pas exécuter git push ; déployer ce qui se trouve déjà sur la plateforme | |
--dry-run | tout exécuter à l’exception du déploiement | |
Exemple
zinnector push
Ce que vous voyez
Deploy to example.com · 01a03f39-730a-7dc4-84b0-5d4f7582dd04
───────────────────────────────────────────────────────────────
✔ pre-flight: 8 passed · 0 to look at · 2 could not be checked
→ pushing main (4f1c2a9b add the contact form)
✔ pushed
● deploy 7c0e… started — watching
✔ deployed 4f1c2a9b in 48s
status success
commit 4f1c2a9b
url https://example.com
zinnector deploy
Redéployez ce dont la plateforme dispose déjà, sans pousser.
zinnector deploy [options] [site]
| argument | requis | description |\n|---|---|---|\n| site | non | un identifiant de site, un domaine principal ou un nom — par défaut le site associé dans zinnector.json |\n\n| option | action | valeur par défaut |\n|---|---|---|\n| --no-wait | déclencher et quitter | |\n\nExemple
zinnector deploy example.com
Ce que vous voyez — capturé lors d’une exécution réelle de la version 0.1.5 en production le 2026-09-14 ; les domaines, les identifiants et les liens à usage unique ont été remplacés
Redeploy example.com · 01a00000-0000-7000-8000-000000000000
────────────────────────────────────────────────────────────────────────
→ starting the deploy
✔ deploy started
zinnector deploys
Historique des déploiements d’un site.
zinnector deploys [options] [site]
| argument | obligatoire | description |
|---|
site | non | un ID de site, domaine principal ou nom — la valeur par défaut est le site associé dans zinnector.json |
| option | rôle | valeur par défaut |
|---|
--json | sortie lisible par une machine | |
-n, --limit <n> | quantité à afficher | "10" |
Exemple
zinnector deploys example.com
Ce que vous voyez — capturé lors d’une exécution réelle de la version 0.1.5 en production le 2026-09-14 ; les domaines, les identifiants et les liens à usage unique ont été remplacés
Deploys — example.com · 2
───────────────────────────────────────────────────────────
status commit branch trigger started message
live — — manual 2026-09-14T09:06:39.685554Z —
live — — manual 2026-09-14T01:29:20.196957Z —
zinnector php
Afficher ou modifier la version de PHP d’un site.
zinnector php [options] [version]
| argument | obligatoire | description |
|---|
version | non | la version de PHP vers laquelle basculer le site, par ex. 8.4 — omettez pour afficher la version actuelle |
| option | ce qu’elle fait | valeur par défaut |
|---|
-s, --site <site> | id du site ou domaine | |
--list | lister les versions proposées par la plateforme | |
--json | sortie lisible par une machine | |
Exemple
zinnector php 8.3 --site example.com
Ce que vous voyez — capturé à partir d’une exécution réelle de la version 0.1.5 en production le 2026-09-14 ; les domaines, identifiants et liens à usage unique ont été remplacés. sans version, la version actuelle s’affiche ; --list indique ce que la plateforme propose pour la gamme de produits de ce site
PHP — example.com
──────────────────────────────────────────────────────
version 8.4
can switch to 8.5, 8.4, 8.3, 8.2, 8.1, 8.0, 7.4
zinnector quota
Utilisation du disque, des fichiers et de la base de données par rapport aux ressources accordées par le forfait.
zinnector quota [options] [site]
| argument | obligatoire | description |
|---|
site | non | un ID de site, domaine principal ou nom — par défaut le site associé dans zinnector.json |
| option | ce que cela fait | valeur par défaut |
|---|
--json | sortie lisible par une machine | |
Exemple
zinnector quota example.com
Ce que vous voyez — capturé lors d’une exécution réelle de la version 0.1.5 en production le 2026-09-14 ; les domaines, les identifiants et les liens à usage unique ont été remplacés
Quota — example.com
────────────────────────────────────────────────────────
disk used 188 MB
disk limit 500.0 GB
disk granted 500 GB (per_site)
files used 6,313
file limit 2,000,000
database 1 MB
“limit” is what is enforced today; “granted” is what the plan says.
zinnector db
Taille de la base de données et liens à usage unique vers phpMyAdmin et le gestionnaire de fichiers.
zinnector db [options] [site]
| argument | obligatoire | description |
|---|
site | non | un ID de site, domaine principal ou nom — par défaut le site associé dans zinnector.json |
| option | ce que cela fait | valeur par défaut |
|---|
--json | sortie lisible par une machine | |
Exemple
zinnector db example.com
Ce que vous voyez — capturé à partir d’une exécution réelle de la version 0.1.5 en production le 2026-09-14 ; les domaines, identifiants et liens à usage unique ont été remplacés. Les liens vers phpMyAdmin et le gestionnaire de fichiers sont à usage unique et expirent ; ne les collez nulle part
Database — example.com
───────────────────────────────────────────────────────────
size 1 MB
tables 14
single-use links, valid for one visit:
phpMyAdmin https://pma.example.com/signon.php?t=<single-use>
file manager https://files.example.com/signon.php?t=<single-use>
zinnector logs
Suivez en temps réel les journaux d’accès et d’erreurs d’un site.
zinnector logs [options] [site]
| argument | obligatoire | description |\n|---|---|---|\n| site | non | un id de site, un domaine principal ou un nom — par défaut, le site lié dans zinnector.json |\n\n| option | ce que cela fait | valeur par défaut |\n|---|---|---|\n| --access | uniquement le journal d’accès | |\n| --error | uniquement le journal d’erreurs | |\n| --build | à la place, le journal de compilation du déploiement le plus récent | |\n| --json | sortie lisible par une machine | |\n\nExemple
zinnector logs example.com --error
Ce que vous voyez — capturé lors d’une exécution réelle de 0.1.5 en production le 2026-09-14 ; domaines, identifiants et liens à usage unique substitués. --access pour le journal des accès, --build pour le journal de build du dernier déploiement (un site non généré par un fournisseur de build affiche les étapes propres au déploiement) ; sans indicateur, les deux journaux du site s’affichent, et un journal illisible l’indique explicitement au lieu de paraître vide
Error log — example.com
────────────────────────────────────────────────────────────
2026-09-14 11:06:07.153643 [NOTICE] [1929978] [T0] [config:vhost:zcaffb6eec5abbdab03fb9b2d62a15:epsr:lsphp-zcaffb6eec5abbdab03fb9b2d62a15]'Process Limit' probably is too low, adjust the limit to: 640.
2026-09-14 11:06:37.873060 [INFO] [1929982] [T0] [lsphp-zcaffb6eec5abbdab03fb9b2d62a15] add child process pid: 1933036, procinfo: 0x5555561cfe30
zinnector wp
Exécutez une commande WP-CLI autorisée sur un site.
zinnector wp [options] [command...]
| argument | obligatoire | description |\n|---|---|---|\n| command... | non | la commande WP-CLI et ses arguments, par ex. plugin list — omettez-la avec --commands |\n\n| option | action | valeur par défaut |\n|---|---|---|\n| -s, --site <site> | identifiant du site ou domaine | |\n| --commands | lister ce que la plateforme exécutera | |\n| --json | sortie lisible par une machine | |\n\nExemple
zinnector wp plugin list --site example.com
Ce que vous voyez — capturé à partir d’une exécution réelle de 0.1.5 en production le 2026-09-14 ; domaines, identifiants et liens à usage unique remplacés. la liste d’autorisation est fournie par la plateforme — zinnector wp --commands l’affiche
name status update version update_version auto_update
akismet inactive none 5.7.2 off
hello inactive none 1.7.2 off
imunify-security active none 4.1.0 off
litespeed-cache active none 7.9.1 off
redis-cache active none 2.8.0 off
zinn-cache active none 1.2.2 off
object-cache.php dropin off
zinnector backup
Lister et créer des sauvegardes de site.
zinnector backup [options] [command]
Exemple
zinnector backup list example.com
Ce que vous voyez — capturé lors d’une exécution réelle de la version 0.1.5 en production le 2026-09-14 ; les domaines, identifiants et liens à usage unique ont été remplacés. La commande backup seule affiche ses sous-commandes ; voir backup list et backup now ci-dessous
Backups — example.com · 3
───────────────────────────────────────────────────────────
status taken size id
stored 2026-09-14T09:06:39.918280Z 4.7 MB 01a00000-0000-7000-8000-000000000000
stored 2026-09-14T01:29:20.403161Z 36 MB 01a00001-0000-7000-8000-000000000001
stored 2026-09-14T01:29:15.898099Z 36 MB 01a00002-0000-7000-8000-000000000002
daily backups on
retention 30 days
off-site copy yes
on-demand left 2 of 3
zinnector backup list
Lister les sauvegardes d’un site et ce que son offre accorde.
zinnector backup list [options] [site]
| argument | obligatoire | description |
|---|
site | non | un ID de site, domaine principal ou nom — par défaut le site associé dans zinnector.json |
| option | ce que cela fait | valeur par défaut |
|---|
--json | sortie lisible par une machine | |
Exemple
zinnector backup list example.com
Ce que vous voyez — capturé lors d’une exécution réelle de la version 0.1.5 en production le 2026-09-14 ; les domaines, les identifiants et les liens à usage unique ont été remplacés
Backups — example.com · 3
───────────────────────────────────────────────────────────
status taken size id
stored 2026-09-14T09:06:39.918280Z 4.7 MB 01a00000-0000-7000-8000-000000000000
stored 2026-09-14T01:29:20.403161Z 36 MB 01a00001-0000-7000-8000-000000000001
stored 2026-09-14T01:29:15.898099Z 36 MB 01a00002-0000-7000-8000-000000000002
daily backups on
retention 30 days
off-site copy yes
on-demand left 2 of 3
zinnector backup now
Effectuez une sauvegarde à la demande.
zinnector backup now [options] [site]
| argument | obligatoire | description |
|---|
site | non | un id de site, un domaine principal ou un nom — par défaut le site associé dans zinnector.json |
Exemple
zinnector backup now example.com
Ce que vous voyez
✔ backup started — zinnector backup list example.com shows it when it completes
zinnector domains
Lister les domaines visibles par cette clé.
zinnector domains [options]
| option | ce que cela fait | par défaut |
|---|
--json | sortie lisible par une machine | |
Exemple
zinnector domains
Ce que vous voyez — capturé lors d’une exécution réelle de la version 0.1.5 en production le 2026-09-14 ; les domaines, les identifiants et les liens à usage unique ont été remplacés
Domains · 1
──────────────
domain status ownership renewal expires
example.com connected connected no auto-renew —
zinnector dns
Lire et modifier les enregistrements DNS.
zinnector dns [options] [command]
Exemple
zinnector dns list example.com
Ce que vous voyez — capturé à partir d’une exécution réelle de 0.1.5 en production le 2026-09-14 ; les domaines, les identifiants et les liens à usage unique ont été remplacés. La commande dns seule affiche ses sous-commandes ; voir dns list, dns add et dns rm ci-dessous
DNS — example.com · 1 records
────────────────────────────────────────
type name value ttl
TXT w4357-verify zinn-w4357-updated ttl 3600
zinnector dns list
Lister les enregistrements DNS d’un domaine.
zinnector dns list [options] <domain>
| argument | obligatoire | description |
|---|
domain | oui | le domaine, par nom ou id |
| option | action | valeur par défaut |
|---|
--type <type> | uniquement les enregistrements de ce type | |
--json | sortie lisible par une machine | |
Exemple
zinnector dns list example.com
Ce que vous voyez — capturé lors d’une exécution réelle de la version 0.1.5 en production le 2026-09-14 ; les domaines, les identifiants et les liens à usage unique ont été remplacés
DNS — example.com · 1 records
────────────────────────────────────────
type name value ttl
TXT w4357-verify zinn-w4357-updated ttl 3600
zinnector dns add
Créez un enregistrement DNS.
zinnector dns add [options] <domain> <type> <name> <value>
| argument | requis | description |
|---|
domain | oui | le domaine, par nom ou id |
type | oui | type d’enregistrement : A, AAAA, CNAME, MX, TXT, SRV, … |
name | oui | le nom de l’enregistrement — @ pour le domaine lui-même, ou un libellé de sous-domaine |
value | oui | ce vers quoi pointe l’enregistrement — une adresse, un nom d’hôte ou du texte |
| option | action | valeur par défaut |
|---|
--ttl <seconds> | durée de vie (TTL) | "3600" |
--priority <n> | priorité, pour MX et SRV | |
--proxied | acheminer via le CDN | |
-y, --yes | ne pas demander confirmation | |
Exemple
zinnector dns add example.com TXT _acme "token" --ttl 300
Ce que vous voyez — l’enregistrement est affiché et confirmé avant d’être écrit ; transmettez --yes pour ignorer la question
Add a DNS record to example.com
───────────────────────────────
type TXT
name _acme
value "token"
ttl 300
create it? [y/N] y
✔ created TXT _acme
zinnector dns rm
Supprimez un enregistrement DNS.
zinnector dns rm [options] <domain> <recordId>
| argument | obligatoire | description |
|---|
domain | oui | le domaine, par nom ou id |
recordId | oui | l’id de l’enregistrement, tel qu’affiché par zinnector dns list |
| option | ce qu’elle fait | par défaut |
|---|
-y, --yes | ne pas demander | |
Exemple
zinnector dns rm example.com rec_7f3a
Ce que vous voyez
⚠ deleting A @ 203.0.113.10 from example.com
delete it? [y/N] y
✔ deleted
zinnector mail
Lister les services de messagerie.
zinnector mail [options]
| option | ce que cela fait | par défaut |
|---|
--json | sortie lisible par une machine | |
Exemple
zinnector mail
Ce que vous voyez — capturé lors d’une exécution réelle de la version 0.1.5 en production le 2026-09-14 ; les domaines, les identifiants et les liens à usage unique ont été remplacés
Mail services · 0
────────────────────
● no mail services
zinnector bulk
Exécutez une opération sur plusieurs sites (cache_purge, malware_scan, sitemap, block_ip).
zinnector bulk [options] <operation>
| argument | requis | description |\n|---|---|---|\n| operation | oui | ce qu’il faut exécuter sur chaque site sélectionné : cache_purge, malware_scan, sitemap ou block_ip |\n\n| option | ce que cela fait | valeur par défaut |\n|---|---|---|\n| --all | chaque site que cette clé peut voir | |\n| --site <site...> | sites spécifiques, par id ou domaine | |\n| --status <status> | chaque site dans cet état | |\n| -y, --yes | ne pas demander | |\n| --json | sortie lisible par une machine | |\n\nExemple
zinnector bulk cache_purge --all
Ce que vous voyez — capturé à partir d’une exécution réelle de la version 0.1.5 en production le 2026-09-14 ; domaines, identifiants et liens à usage unique substitués. un seul appel à la plateforme pour l’ensemble de la sélection, et non un par site ; la sélection est d’abord affichée et confirmée
Bulk cache_purge · 1 sites
─────────────────────────────
· example.com
→ running cache_purge
✔ cache_purge accepted for 1 sites
The platform runs this asynchronously; results appear per site in the dashboard.
zinnector ai
Posez une question à l’assistant Zinn Digital®, avec ce projet pour contexte.
zinnector ai [options] <question...>
| argument | obligatoire | description |\n|---|---|---|\n| question... | oui | ce que vous souhaitez demander, en termes simples — les guillemets sont facultatifs |\n\n| option | fonction | valeur par défaut |\n|---|---|---|\n| -s, --site <site> | poser une question sur un site particulier | |\n| --org <id> | l’organisation au nom de laquelle poser la question, lorsque votre compte appartient à plusieurs organisations | |\n| --no-context | ne rien envoyer concernant le projet local | |\n| --json | sortie lisible par une machine | |\n\nExemple
zinnector ai "why is my deploy failing?"
Ce que vous voyez — capturé lors d’une exécution réelle de la version 0.1.5 en production le 2026-09-14 ; domaines, identifiants et liens à usage unique substitués. L’assistant répond dans la langue du COMPTE — la langue de ce compte étant l’arabe, la réponse capturée est en arabe pour une question en anglais
→ thinking
Zinn Digital® assistant
────────────────────────────
هذا مشروع WordPress تم إنشاؤه بواسطة Zinnector® (مُهيّأ على PHP 8.4، أحدث
إصدار WordPress، وبيئة تشغيل playground)؛ لتشغيله محلياً، انتقل إلى مجلده
وشغّل الأمر: cd <اسم-المشروع> ثم zinnector dev، وسيقوم بتشغيل موقع WordPress
حقيقي على جهازك دون الحاجة إلى Docker.
sources:
· https://zinndigital.com/kb/zinnector-getting-started
· https://zinndigital.com/kb/zinnector-local-development
zinnector mcp
Exécutez un pont stdio vers le serveur MCP hébergé — pour Claude Desktop et les autres clients exclusivement locaux.
zinnector mcp [options]
Exemple
ZINN_MCP_TOKEN=zmcp_live_… zinnector mcp
Ce que vous voyez — démarré PAR un client IA tel que Claude Desktop, jamais manuellement — communique en MCP sur stdin et stdout. Éprouvé depuis Claude Code 2.1.270 sur le serveur de production le 2026-09-12
zinnector 0.1.4: MCP bridge to https://api.zinndigital.com/v1/mcp
Variables d’environnement
| variable | effet |
|---|
ZINNECTOR_TOKEN | une clé API, utilisée à la place d’un profil enregistré — c’est ainsi que CI s’authentifie |
ZINNECTOR_API | URL de base de l’API (par défaut https://api.zinndigital.com) |
ZINNECTOR_DEBUG=1 | afficher les traces de la pile et la propre sortie du programme d’installation de l’environnement d’exécution |
ZINNECTOR_CACHE_DIR | emplacement où sont conservés l’environnement d’exécution WordPress et tout Node géré (par défaut ~/.cache/zinnector) |
ZINNECTOR_CONFIG_DIR | emplacement où réside le fichier de profil de la clé API (par défaut ~/.config/zinnector) |
NO_COLOR | désactiver la couleur |
Codes de sortie
0 succès · 1 un constat ou un refus · 70 une erreur interne · 77 authentification ou autorisation · 78 Node non pris en charge.