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.
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
--reportet--debugpour 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
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>
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.
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
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)
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]
| Option | Description |
|---|---|
-h, --help | Affiche l'aide générale |
-v, --version | Affiche la version de l'outil |
--update | Met à 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.
| Option | Alias | Description | Requis |
|---|---|---|---|
--report | -r | Mode lecture seule (dry-run), affiche les différences sans les appliquer | ❌ |
--debug | -d | Active les logs détaillés pour le débogage | ❌ |
--async | -a | Exécute les synchronisations en parallèle | ❌ |
--server <server> | -s | ID ou nom du serveur à synchroniser | ❌ |
--path <paths...> | -p | Un 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-commande | Alias | Description |
|---|---|---|
list | ls | Lister les serveurs enregistrés |
add | mk | Ajouter un serveur distant |
auth | touch | Réauthentifier un serveur (renouvellement du jeton) |
remove | rm | Supprimer 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]
| Option | Alias | Description | Requis |
|---|---|---|---|
--name <name> | -n | Nom personnalisé pour identifier le serveur | ✅ |
--url <url> | -w | URL du serveur (ex. : https://mon-instance.com) | ✅ |
--login <login> | -u | Identifiant ou adresse e-mail de l'utilisateur | ✅ |
--password <password> | -p | Mot de passe de l'utilisateur | ✅ |
--code <code> | -c | Code 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>]
| Option | Alias | Description | Requis |
|---|---|---|---|
--server <server> | -s | ID ou nom du serveur | ✅ |
--login <login> | -u | Identifiant ou adresse e-mail de l'utilisateur | ✅ |
--password <password> | -p | Mot de passe de l'utilisateur | ✅ |
--code <code> | -c | Code 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>
| Option | Alias | Description | Requis |
|---|---|---|---|
--server <server> | -s | ID ou nom du serveur | ✅ |
Commandes paths
| Sous-commande | Alias | Description |
|---|---|---|
list | ls | Lister les chemins de synchronisation par serveur |
add | mk | Ajouter un nouveau chemin local/distant à synchroniser |
remove | rm | Supprimer un chemin synchronisé |
set | vi | Modifier les options d'un chemin existant |
update | up | Mettre à jour les chemins depuis les dernières infos serveur |
flush | reset | Supprimer 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>]
| Option | Alias | Description | Requis | Valeurs possibles | Par défaut |
|---|---|---|---|---|---|
--server <server> | -s | ID ou nom du serveur | ✅ | — | — |
--local-path <path> | -l | Chemin local vers un fichier ou dossier | ✅ | — | — |
--remote-path <path> | -r | Chemin distant (spaces, personal ou shares) | ✅ | — | — |
--name <name> | -n | Nom personnalisé pour la synchronisation | ❌ | — | — |
--mode <mode> | -m | Mode de synchronisation | ✅ | download, upload, both | — |
--ignore-delete | — | Ne synchronise pas les suppressions | ❌ | Drapeau sans valeur | false |
--diff-mode <mode> | -d | Mode de détection des différences | ❌ | fast, secure | fast |
--conflict-mode <mode> | -c | Stratégie en cas de conflit (si --mode both) | ❌ | recent, local, remote | recent |
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>
| Option | Alias | Description | Requis |
|---|---|---|---|
--server <server> | -s | ID ou nom du serveur | ✅ |
--path <path> | -p | ID 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>]
| Option | Alias | Description | Requis | Valeurs possibles |
|---|---|---|---|---|
--server <server> | -s | ID ou nom du serveur | ✅ | — |
--path <path> | -p | ID ou nom du chemin synchronisé | ✅ | — |
--name <name> | -n | Nouveau nom de synchronisation | ❌ | — |
--mode <mode> | -m | Mode de synchronisation | ❌ | download, upload, both |
--ignore-delete <boolean> | — | Active ou désactive la synchronisation des suppressions | ❌ | true, false |
--diff-mode <mode> | -d | Mode de détection des différences | ❌ | fast, secure |
--conflict-mode <mode> | -c | Straté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>
| Option | Alias | Description | Requis |
|---|---|---|---|
--server <server> | -s | ID 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>
| Option | Alias | Description | Requis |
|---|---|---|---|
--server <server> | -s | ID ou nom du serveur | ✅ |
--path <path> | -p | ID ou nom du chemin synchronisé | ✅ |