Aller au contenu principal

Synchronisation en ligne de commande

Utilisez l'interface en ligne de commande (CLI) de Sync-in pour configurer et déclencher des synchronisations entre vos fichiers locaux et vos serveurs distants. Cette interface permet également de gérer plusieurs serveurs, de définir des chemins de synchronisation personnalisés, et d'automatiser vos workflows de transfert.

Une solution idéale pour les utilisateurs avancés, les scripts ou les environnements sans interface graphique.

Sync CLI

Cas d'usage​

  • Travailler dans un environnement sans interface graphique, comme un serveur distant ou un conteneur.
  • Planifier des synchronisations automatiques avec des tâches CRON ou un planificateur système.
  • Automatiser vos workflows métiers, en intégrant le client CLI dans vos scripts de traitement ou de sauvegarde.
  • Tester vos synchronisations en mode simulation, avec les options --report et --debug pour identifier les changements sans les appliquer ou diagnostiquer les problèmes.
  • Gérer plusieurs serveurs, en centralisant les connexions dans un même outil.
  • Déployer des configurations préétablies, pour des installations automatisées sur de nombreux postes ou environnements.

Conditions d'accès​

Pour utiliser le client CLI, les conditions suivantes doivent être réunies :

  • Disposer de la permission d'accès depuis l'application de bureau
  • Disposer de la permission de synchronisation depuis l'application de bureau
  • Avoir téléchargé le binaire CLI depuis votre Compte ou depuis la page de Téléchargement
Compatibilité avec Node.js

Le CLI nécessite Node.js 22.12.0 ou une version ultérieure. Vérifiez la version installée avant de lancer le CLI :

node --version

Démarrage rapide​

1. Ajouter un serveur​

./sync-in-cli servers add \
--name <MON_SERVEUR> \
--url https://<VOTRE_DOMAINE> \
--login <VOTRE_LOGIN> \
--password <VOTRE_MOT_DE_PASSE>
info

Si l'authentification à deux facteurs est activée, vous pouvez fournir le code TOTP ou un code de récupération à l'aide de l'option --code.

astuce

Vous pouvez utiliser un mot de passe d'application pour procéder à l'enregistrement, par exemple lorsque seule l'authentification OpenID Connect est autorisée.

2. Ajouter un chemin à synchroniser​

./sync-in-cli paths add \
--server <MON_SERVEUR> \
--local-path </chemin/local/vers/les/fichiers> \
--remote-path <personal|spaces|shares/...> \
--name <NOM_CHEMIN> \
--mode <both|upload|download> \
--diff-mode <fast|secure> \
--conflict-mode <recent|local|remote>

3. Lancer la synchronisation​

./sync-in-cli run \
--server <MON_SERVEUR> \
--path <NOM_CHEMIN>

Mise à jour du CLI​

Pour connaître la version installée :

./sync-in-cli --version

Pour installer la dernière version stable :

./sync-in-cli --update

Le CLI télécharge la dernière version stable depuis GitHub et se remplace au même emplacement, en conservant ses permissions. Si la version installée est déjà à jour ou plus récente, aucun remplacement n'est effectué.

Exécutez --update seul, sans autre commande ni numéro de version. Votre utilisateur doit disposer des droits d'écriture dans le répertoire contenant le CLI.


Gestion​

Une fois le client CLI configuré et enregistré auprès du serveur, il dispose d'un accès à votre compte. Les informations liées à cette connexion sont consultables dans le menu Clients de votre compte.

L'accès du client CLI peut être révoqué à tout moment, quel que soit le poste depuis lequel il a été configuré.

Depuis ce même menu, il est également possible de modifier la configuration des synchronisations des chemins gérés par le client CLI. Les modifications seront prises en compte lors de la prochaine synchronisation.


Sécurité​

Après un certain délai, une nouvelle authentification peut être demandée afin de renouveler l'accès de manière sécurisée à votre compte.

Pour effectuer cette opération, voir la commande de réauthentification.


Notes​

remarque

Contrairement à l'application de bureau, les fichiers supprimés localement (sur le poste) ne sont pas déplacés dans la corbeille.


Commandes​

sync-in-cli
├── run
├── servers
│ ├── list (ls)
│ ├── add (mk)
│ ├── auth (touch)
│ └── remove (rm)
└── paths
├── list (ls)
├── add (mk)
├── remove (rm)
├── set (vi)
├── update (up)
└── flush (reset)
Aide correspondant à votre version

L'aide intégrée est la référence exacte pour la version du CLI installée. Utilisez ./sync-in-cli --help pour afficher les commandes ou ./sync-in-cli <commande> --help pour obtenir une aide contextuelle, par exemple :

./sync-in-cli paths add --help

Options globales​

./sync-in-cli [options]
OptionDescription
-h, --helpAffiche l'aide générale
-v, --versionAffiche la version de l'outil
--updateMet à jour le CLI vers la dernière version stable

Commande run​

Permet de lancer une synchronisation manuelle depuis la ligne de commande. Vous pouvez exécuter tous les chemins configurés ou cibler un serveur ou plusieurs chemins spécifiques.

./sync-in-cli run [--report] [--debug] [--async] [--server <server>] [--path <paths...>]

Sans --server, tous les serveurs configurés sont pris en compte. Sans --path, tous les chemins actifs des serveurs ciblés sont synchronisés. Si vous utilisez --path sans --server, le CLI recherche les chemins indiqués sur tous les serveurs configurés. Vous pouvez fournir plusieurs ID ou noms après une seule option --path, ou répéter cette option.

OptionAliasDescriptionRequis
--report-rMode lecture seule (dry-run), affiche les différences sans les appliquer❌
--debug-dActive les logs détaillés pour le débogage❌
--async-aExécute les synchronisations en parallèle❌
--server <server>-sID ou nom du serveur à synchroniser❌
--path <paths...>-pUn ou plusieurs ID ou noms de chemins, séparés par des espaces❌

Les options --report, --debug et --async sont des drapeaux sans valeur : leur présence active le comportement associé.

Commandes servers​

Sous-commandeAliasDescription
listlsLister les serveurs enregistrés
addmkAjouter un serveur distant
authtouchRéauthentifier un serveur (renouvellement du jeton)
removermSupprimer un serveur enregistré

Listez les serveurs enregistrés avec ./sync-in-cli servers list ou ./sync-in-cli servers ls.

servers add (alias : servers mk)​

Ajoute un serveur distant et l'enregistre pour l'utiliser avec le client CLI.

./sync-in-cli servers add --name <name> --url <url> --login <login> --password <password> [--code <code>] [--allow-invalid-certificate]
OptionAliasDescriptionRequis
--name <name>-nNom personnalisé pour identifier le serveur✅
--url <url>-wURL du serveur (ex. : https://mon-instance.com)✅
--login <login>-uIdentifiant ou adresse e-mail de l'utilisateur✅
--password <password>-pMot de passe de l'utilisateur✅
--code <code>-cCode d'authentification à deux facteurs ou code de récupération❌
--allow-invalid-certificate—Autorise un certificat TLS non reconnu❌

--allow-invalid-certificate est un drapeau sans valeur. Utilisez-le uniquement si vous faites confiance au serveur et à son certificat.

servers auth (alias : servers touch)​

Réauthentifie un serveur déjà enregistré et met à jour son jeton d'accès.

./sync-in-cli servers auth --server <server> --login <login> --password <password> [--code <code>]
OptionAliasDescriptionRequis
--server <server>-sID ou nom du serveur✅
--login <login>-uIdentifiant ou adresse e-mail de l'utilisateur✅
--password <password>-pMot de passe de l'utilisateur✅
--code <code>-cCode d'authentification à deux facteurs ou code de récupération❌

servers remove (alias : servers rm)​

Supprime un serveur enregistré.

./sync-in-cli servers remove --server <server>
OptionAliasDescriptionRequis
--server <server>-sID ou nom du serveur✅

Commandes paths​

Sous-commandeAliasDescription
listlsLister les chemins de synchronisation par serveur
addmkAjouter un nouveau chemin local/distant à synchroniser
removermSupprimer un chemin synchronisé
setviModifier les options d'un chemin existant
updateupMettre à jour les chemins depuis les dernières infos serveur
flushresetSupprimer les snapshots d'un chemin synchronisé

Listez les chemins configurés avec ./sync-in-cli paths list ou ./sync-in-cli paths ls.

paths add (alias : paths mk)​

Ajoute un chemin local/distant à synchroniser.

./sync-in-cli paths add \
--server <server> \
--local-path <path> \
--remote-path <path> \
--mode <mode> \
[--name <name>] \
[--ignore-delete] \
[--diff-mode <mode>] \
[--conflict-mode <mode>]
OptionAliasDescriptionRequisValeurs possiblesPar défaut
--server <server>-sID ou nom du serveur✅——
--local-path <path>-lChemin local vers un fichier ou dossier✅——
--remote-path <path>-rChemin distant (spaces, personal ou shares)✅——
--name <name>-nNom personnalisé pour la synchronisation❌——
--mode <mode>-mMode de synchronisation✅download, upload, both—
--ignore-delete—Ne synchronise pas les suppressions❌Drapeau sans valeurfalse
--diff-mode <mode>-dMode de détection des différences❌fast, securefast
--conflict-mode <mode>-cStratégie en cas de conflit (si --mode both)❌recent, local, remoterecent

Le chemin distant doit commencer par personal, spaces ou shares. La présence de --ignore-delete active cette option ; ne lui transmettez pas de valeur.


paths remove (alias : paths rm)​

Supprime un chemin déjà synchronisé.

./sync-in-cli paths remove --server <server> --path <path>
OptionAliasDescriptionRequis
--server <server>-sID ou nom du serveur✅
--path <path>-pID ou nom du chemin synchronisé✅

paths set (alias : paths vi)​

Modifie les paramètres de synchronisation d'un chemin.

./sync-in-cli paths set \
--server <server> \
--path <path> \
[--name <name>] \
[--mode <mode>] \
[--ignore-delete <boolean>] \
[--diff-mode <mode>] \
[--conflict-mode <mode>]
OptionAliasDescriptionRequisValeurs possibles
--server <server>-sID ou nom du serveur✅—
--path <path>-pID ou nom du chemin synchronisé✅—
--name <name>-nNouveau nom de synchronisation❌—
--mode <mode>-mMode de synchronisation❌download, upload, both
--ignore-delete <boolean>—Active ou désactive la synchronisation des suppressions❌true, false
--diff-mode <mode>-dMode de détection des différences❌fast, secure
--conflict-mode <mode>-cStratégie de résolution des conflits (si --mode both)❌recent, local, remote

Pour paths set, transmettez explicitement true ou false à --ignore-delete. Consultez Ignorer les suppressions pour connaître son comportement dans chaque direction de synchronisation.

paths update (alias : paths up)​

Met à jour tous les chemins synchronisés d'un serveur à partir des dernières informations du serveur.

./sync-in-cli paths update --server <server>
OptionAliasDescriptionRequis
--server <server>-sID ou nom du serveur✅

paths flush (alias : paths reset)​

Supprime les snapshots (états précédents) d'un chemin synchronisé.

./sync-in-cli paths flush --server <server> --path <path>
OptionAliasDescriptionRequis
--server <server>-sID ou nom du serveur✅
--path <path>-pID ou nom du chemin synchronisé✅