# Planifier une synchronisation

Pour les organisations utilisant le CLI du Directory Connector, des synchronisations automatiques peuvent être programmées à des intervalles définis en alternative à l'utilisation du paramètre **Intervalle** de l'application de bureau. C'est particulièrement utile dans les environnements sans tête, ou dans les circonstances où une application de bureau ne peut pas être laissée en fonctionnement en arrière-plan.

Pour planifier des synchronisations, utilisez **Cron** dans les environnements de type Unix, y compris Linux et MacOS, et utilisez **Planificateur de tâches** dans les environnements Windows :

### Cron

### Autorisations Cron

Lors de l'exécution d'une tâche cron, nous recommandons de le faire en tant qu'utilisateur dédié du connecteur de répertoire. Créez un utilisateur `bwdc` si vous ne l'avez pas déjà fait, et ajoutez cet utilisateur à la liste `etc/cron.allow`. Cela permettra à un utilisateur non-Root de configurer et d'exécuter des tâches cron.

Pour continuer, vous aurez également besoin de la [clé API](https://bitwarden.com/fr-fr/help/public-api/#authentication/) de votre `client_id` et `client_secret` de votre organisation, qui peuvent être obtenus par un **propriétaire** de l'organisation à partir du Web Coffre en naviguant vers les **paramètres** de l'organisation → **Mon Organisation**.

### Configurez un script de synchronisation

Pour éviter les délais d'expiration de session, nous recommandons de créer un script shell à exécuter via cron. Ce script devrait lire de manière sécurisée votre `client_secret` pour compléter l'identifiant, et exécuter une commande `bwdc synchroniser` qui écrit la sortie vers `bwdc.log`.

> [!TIP] (BWDC) Sync from multiple directories
> Need to sync from multiple directories? In your sync script, you can specify multiple folders, each of which must contain a `data.json` file with your directory sync settings. 
> 
> You can then specify each directory to sync by performing multiple `bwdc sync` operations, for example:
> 
> 
> ```bash
> # Linux
> BITWARDENCLI_CONNECTOR_APPDATA_DIR="./instance-1" bwdc sync
> BITWARDENCLI_CONNECTOR_APPDATA_DIR="./instance-2" bwdc sync
> 
> # Windows
> set BITWARDENCLI_CONNECTOR_APPDATA_DIR=./instance-1
> bwdc sync
> set BITWARDENCLI_CONNECTOR_APPDATA_DIR=./instance-2
> bwdc sync
> ```

### Configurez le travail cron

En tant qu'utilisateur autorisé `bwdc` :

1. Éditez le fichier crontab de l'utilisateur en entrant `crontab -e` dans le terminal, ou éditez le fichier crontab en tant que n'importe quel utilisateur en entrant `crontab -u -e`.
2. Ajoutez une ligne au crontab qui comprend :

 - Une expression de planification qui déterminera l'intervalle de temps/récurrence sur lequel exécuter la commande souhaitée (par exemple, `0 0 * * 2` pour exécuter chaque mardi à minuit).
 - La commande à exécuter à l'heure / intervalle de récurrence spécifié. Dans ce cas, exécutez le script de synchronisation précédemment créé (par exemple, `bwdcSyncService.sh`):

Par exemple, pour exécuter le script de synchronisation tous les lundis à 12h00 :

```
# 0 12 * * 1 bwdcSyncService.sh
```

#### Expressions de planification de tâches Cron

Utilisez la référence suivante lors de la planification des synchronisations via cron pour vous assurer que vous les planifiez pour l'heure souhaitée :

```
# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12)
# │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday;
# │ │ │ │ │ 7 is also Sunday on some systems)
# │ │ │ │ │
# │ │ │ │ │
# * * * * * <command to execute>
```

> [!NOTE]
> If you're not yet comfortable with cron job scheduling expressions, check out [https://crontab.guru/](https://crontab.guru/) for help.
> 
> Please note, this is a third-party resource that is not operated or maintained by Bitwarden.

### Planificateur de tâches

### Autorisations du planificateur de tâches

Lors de l'exécution d'une tâche, nous recommandons de le faire en tant qu'utilisateur dédié du Connecteur de Répertoire. Créez un utilisateur `bwdc` si vous ne l'avez pas déjà fait.

Pour continuer, vous aurez également besoin de la [clé API](https://bitwarden.com/fr-fr/help/public-api/#authentication/) de votre `client_id` et `client_secret` de votre organisation, qui peuvent être obtenus par un **propriétaire** de l'organisation à partir du Web Coffre en naviguant vers les **paramètres** de l'organisation → **Mon Organisation**.

### Configurez un script de synchronisation

Afin d'éviter les délais d'expiration de session, vous devrez créer un script à exécuter en tant qu'action du planificateur de tâches. Ce script devrait lire en toute sécurité votre `client_secret` pour compléter l'identifiant, et exécuter une commande `bwdc synchroniser` qui écrit la sortie vers `bwdc.log`.

> [!TIP] (BWDC) Sync from multiple directories
> Need to sync from multiple directories? In your sync script, you can specify multiple folders, each of which must contain a `data.json` file with your directory sync settings. 
> 
> You can then specify each directory to sync by performing multiple `bwdc sync` operations, for example:
> 
> 
> ```bash
> # Linux
> BITWARDENCLI_CONNECTOR_APPDATA_DIR="./instance-1" bwdc sync
> BITWARDENCLI_CONNECTOR_APPDATA_DIR="./instance-2" bwdc sync
> 
> # Windows
> set BITWARDENCLI_CONNECTOR_APPDATA_DIR=./instance-1
> bwdc sync
> set BITWARDENCLI_CONNECTOR_APPDATA_DIR=./instance-2
> bwdc sync
> ```

### Créer une tâche

En tant qu'utilisateur dévoué de `bwdc` :

1. Ouvrez le Planificateur de tâches et sélectionnez **Créer une tâche** dans le menu Actions.
2. Configurez la tâche avec les options de sécurité suivantes :

 - Définissez la tâche pour utiliser l'utilisateur `bwdc` créé.
 - Définissez la tâche pour **Exécuter que l'utilisateur soit connecté ou non**.
3. Sélectionnez l'onglet **Déclencheurs** et sélectionnez le bouton **Nouveau...** pour créer un déclencheur qui répond à vos besoins de synchronisation de répertoire.

> [!NOTE] Create weekly trigger
> For example, you could create a weekly trigger that runs at 8:00 PM every Sunday or every week:
> 
> ![Using Task Scheduler](https://bitwarden.com/assets/6GPFmp4DqONQyQ89jqq5mp/6d17bf8f050ee905b35b43c4061693ee/taskscheduler-trigger.png)
4. Sélectionnez l'**onglet Actions** et sélectionnez le bouton **Nouveau...** pour créer une action qui exécute le [script de synchronisation créé](https://bitwarden.com/fr-fr/help/schedule-directory-sync/#setup-a-sync-script/).
5. Sélectionnez **OK** pour terminer la création de la tâche planifiée.