Base de connaissances

Référence des commandes Zinnector®

Chaque commande Zinnector® exactement telle que zinnector --help la répertorie — arguments, options et valeurs par défaut, un exemple exécutable et ce qu’il affiche —, générée directement depuis le CLI lui-même afin qu’elle ne diffère pas de la version que vous avez installée.

<!-- 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 :

optionwhat it does
-V, --versionaffiche 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]
argumentrequisdescription
namenonrépertoire dans lequel créer le projet, et nom du projet — requis sauf si --here est spécifié
optiondescription de l’actionvaleur 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"
--hereinitialiser 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]
optionrôlevaleur 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
--loginse connecter automatiquement en tant qu’administrateurtrue
--no-loginne pas se connecter automatiquement
--oncedémarrer, indiquer ce qui est en cours d’exécution, puis s’arrêter
--yesinstaller l’environnement d’exécution local sans confirmation
--reset-runtimesupprimer l’environnement d’exécution installé et le réinstaller
-v, --verboseafficher 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]
optionrôlevaleur 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-keycollez 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-browserafficher 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]
optionce qu’elle faitpar 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]
optionrôlevaleur par défaut
--profile <name>utiliser un profil nommé
--scopeslister les autorisations associées à une clé d’API
--jsonsortie 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]
optionce qu’elle faitpar défaut
--jsonsortie 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]
argumentobligatoiredescription
sitenonun ID de site, domaine principal ou nom — par défaut le site associé dans zinnector.json
optionce que cela faitvaleur par défaut
--jsonsortie 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]
argumentobligatoiredescription
sitenonun ID de site, domaine principal ou nom — par défaut le site associé dans zinnector.json
optionce que cela faitvaleur par défaut
--jsonsortie 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>
argumentobligatoiredescription
siteouile site auquel retirer l’accès — un identifiant (id), domaine principal ou nom
whoouila personne à supprimer — son adresse e-mail ou le grant id de zinnector collaborators
optionactionvaleur par défaut
--yesne 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]
optionce que cela faitpar défaut
--jsonsortie 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>
argumentobligatoiredescription
idouil’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]
argumentobligatoiredescription
sitenonun ID de site, domaine principal ou nom — par défaut, le site lié dans zinnector.json
optionactionvaleur 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]
argumentobligatoiredescription
sitenonun ID de site, domaine principal ou nom — par défaut, le site lié dans zinnector.json
optionrôlevaleur par défaut
--via <seam>auto (par défaut), git ou backup"auto"
--freshcré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"
--fulll’intégralité de la racine du document, cœur WordPress inclus (par défaut : wp-content uniquement)
--no-uploadsignorer wp-content/uploads (médias)
--no-databaseignorer 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
--cleanvider wp-content avant l’extraction, afin de répercuter les suppressions effectuées sur le site
--dry-runindiquer ce qui se passerait puis s’arrêter
--yesne 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]
argumentobligatoiredescription
siteouile site hébergé à copier — un identifiant, un domaine principal ou un nom
dirnonrépertoire à créer — par défaut le domaine principal du site
optionactionvaleur par défaut
--via <seam>auto (par défaut), git ou backup"auto"
--fresheffectuer une nouvelle sauvegarde plutôt que d’utiliser la plus récente
--fulll’intégralité de la racine du document, cœur WordPress inclus
--no-uploadsignorer wp-content/uploads (médias)
--no-databaseignorer 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
--yesne 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]
argumentobligatoiredescription
sitenonun ID de site, domaine principal ou nom — par défaut le site associé dans zinnector.json
optionce que cela faitvaleur par défaut
--jsonsortie 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]
argumentobligatoiredescription
sitenonun identifiant de site, domaine principal ou nom — par défaut le site associé dans zinnector.json
optionactionvaleur par défaut
--subdir <path>synchroniser uniquement ce sous-répertoire du site
--jsonsortie 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]
argumentobligatoiredescription
sitenonun identifiant de site, domaine principal ou nom — par défaut le site associé dans zinnector.json
optionactionvaleur par défaut
--subdir <path>synchroniser uniquement ce sous-répertoire du site
--jsonsortie 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]
argumentobligatoiredescription
sitenonun ID de site, domaine principal ou nom — par défaut le site associé dans zinnector.json
optionce que cela faitvaleur par défaut
--jsonsortie 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]
argumentrequisdescription
sitenonun id de site, domaine principal ou nom — par défaut le site lié dans zinnector.json
optionce que cela faitvaleur par défaut
--keep <side>site (commiter le site par-dessus) ou repository (ignorer les modifications non synchronisées du site)
--yesne pas demander
--jsonsortie 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]
argumentobligatoiredescription
sitenonun id de site, un domaine principal ou un nom — par défaut, le site lié dans zinnector.json
optionactionvaleur par défaut
-f, --forcedéployer même lorsque la vérification préliminaire signale des anomalies
--skip-checksne pas exécuter la vérification préliminaire
--probemesurer l’environnement d’exécution local pendant la vérification préliminaire au lieu de se fier à zinnector.json
--no-waitdéclencher le déploiement et quitter sans le surveiller
--no-gitne pas exécuter git push ; déployer ce qui se trouve déjà sur la plateforme
--dry-runtout 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]
argumentobligatoiredescription
sitenonun ID de site, domaine principal ou nom — la valeur par défaut est le site associé dans zinnector.json
optionrôlevaleur par défaut
--jsonsortie 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]
argumentobligatoiredescription
versionnonla version de PHP vers laquelle basculer le site, par ex. 8.4 — omettez pour afficher la version actuelle
optionce qu’elle faitvaleur par défaut
-s, --site <site>id du site ou domaine
--listlister les versions proposées par la plateforme
--jsonsortie 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]
argumentobligatoiredescription
sitenonun ID de site, domaine principal ou nom — par défaut le site associé dans zinnector.json
optionce que cela faitvaleur par défaut
--jsonsortie 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]
argumentobligatoiredescription
sitenonun ID de site, domaine principal ou nom — par défaut le site associé dans zinnector.json
optionce que cela faitvaleur par défaut
--jsonsortie 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]
argumentobligatoiredescription
sitenonun ID de site, domaine principal ou nom — par défaut le site associé dans zinnector.json
optionce que cela faitvaleur par défaut
--jsonsortie 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]
argumentobligatoiredescription
sitenonun 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]
optionce que cela faitpar défaut
--jsonsortie 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>
argumentobligatoiredescription
domainouile domaine, par nom ou id
optionactionvaleur par défaut
--type <type>uniquement les enregistrements de ce type
--jsonsortie 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>
argumentrequisdescription
domainouile domaine, par nom ou id
typeouitype d’enregistrement : A, AAAA, CNAME, MX, TXT, SRV, …
nameouile nom de l’enregistrement — @ pour le domaine lui-même, ou un libellé de sous-domaine
valueouice vers quoi pointe l’enregistrement — une adresse, un nom d’hôte ou du texte
optionactionvaleur par défaut
--ttl <seconds>durée de vie (TTL)"3600"
--priority <n>priorité, pour MX et SRV
--proxiedacheminer via le CDN
-y, --yesne 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>
argumentobligatoiredescription
domainouile domaine, par nom ou id
recordIdouil’id de l’enregistrement, tel qu’affiché par zinnector dns list
optionce qu’elle faitpar défaut
-y, --yesne 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]
optionce que cela faitpar défaut
--jsonsortie 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

variableeffet
ZINNECTOR_TOKENune clé API, utilisée à la place d’un profil enregistré — c’est ainsi que CI s’authentifie
ZINNECTOR_APIURL de base de l’API (par défaut https://api.zinndigital.com)
ZINNECTOR_DEBUG=1afficher les traces de la pile et la propre sortie du programme d’installation de l’environnement d’exécution
ZINNECTOR_CACHE_DIRemplacement où sont conservés l’environnement d’exécution WordPress et tout Node géré (par défaut ~/.cache/zinnector)
ZINNECTOR_CONFIG_DIRemplacement où réside le fichier de profil de la clé API (par défaut ~/.config/zinnector)
NO_COLORdé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.

Toute la documentation pour les développeurs →

Les dernières nouveautés du blog

Ce que nous avons écrit sur l’hébergement, le SEO et la gestion de sites à grande échelle.

SEO et création de liens depuis la couche d’hébergement : Le point de vue d’un opérateur en 2026

Comment l’hébergement façonne l’indexation et le jus de lien en 2026 : maintenir les pages indexées, évaluer les domaines expirés avant de les exploiter, créer des liens sans empreinte pour les moteurs de recherche, et un aperçu honnête de ce que l’infrastructure peut et ne peut pas faire pour le SEO.

Lire l’article →

Rendre WordPress rapide et sécurisé : liste de contrôle des performances et des extensions

Une liste de contrôle pratique pour un WordPress rapide et sécurisé : mise en cache au niveau du serveur, cache d’objets par site, la poignée d’extensions utiles, maintien de la pile à jour et pages WooCommerce à ne jamais mettre en cache.

Lire l’article →

Comment choisir un hébergement web infogéré en 2026 : un guide d’achat

Ce qui différencie réellement un bon hébergement infogéré d’une machine bon marché avec panneau de configuration — migrations, sauvegardes, isolation, véritable mise en cache et mise à l’échelle honnête — et comment en juger avant de vous engager.

Lire l’article →

Lire le blog →

Vous avez encore besoin d’aide ?

Le support est inclus dans chaque forfait, le service est ouvert 24 heures par jour et vous pouvez nous écrire dans l’une de nos 58 langues ; nous vous répondons dans la vôtre.

Contacter l’assistance → Tous les articles →