> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/password-manager/fr/knowledge-base/application-knowledge-base/devolutions-password-manager-pre-configuration.md).

# Préconfiguration de Devolutions Password Manager

{% tabs %}
{% tab title="Windows" %}

#### Qu'est-ce que la préconfiguration ?

La préconfiguration permet aux administrateurs informatiques de déployer l'application Windows Devolutions Password Manager avec des paramètres et des espaces de travail préconfigurés (Devolutions Server et Devolutions Cloud) sur les points de terminaison Windows. Cela élimine le besoin pour les utilisateurs finaux de configurer manuellement l'application après l'installation.

#### Avantages clés

* Déploiement sans intervention : les utilisateurs démarrent avec des applications entièrement configurées
* Cohérence : garantissez que tous les utilisateurs disposent des mêmes espaces de travail et paramètres
* Gain de temps : éliminez les étapes de configuration manuelle
* Flexibilité : plusieurs méthodes de déploiement pour s'adapter à différentes infrastructures informatiques
* Évolutivité : déployez sur des centaines ou des milliers de points de terminaison efficacement

#### Fonctionnement

1. Un administrateur informatique configure les espaces de travail et les paramètres via les paramètres MSI ou des fichiers de configuration.
2. L'outil de déploiement pousse l'installation vers les appareils gérés (Intune, SCCM, PDQ Deploy, etc.).
3. Les utilisateurs lancent l'application pour la première fois.
4. L'application lit la configuration et crée automatiquement les espaces de travail.
5. Les utilisateurs se connectent pour finaliser la connexion.

#### Remarques importantes

* Authentification requise : les espaces de travail préconfigurés sont créés en état « en attente ». Les utilisateurs doivent tout de même se connecter pour finaliser la connexion.
* Premier lancement seulement : la configuration est appliquée une seule fois au premier lancement. Les modifications ultérieures nécessitent la réinstallation de l'application ou une configuration manuelle.
* Identifiants NON stockés : la préconfiguration n'inclut PAS les identifiants des utilisateurs. Les utilisateurs doivent se connecter avec leurs propres identifiants.

### Méthodes de déploiement

#### Méthode 1 : paramètres du programme d'installation MSI

Transmettez les paramètres de configuration directement au programme d'installation Windows lors du déploiement. Vous pouvez combiner des paramètres d'espace de travail avec des paramètres d'application.

Cas d'utilisation : déploiements rapides, configurations simples, tests

* Exemple de base (espaces de travail seulement) :

```bash
msiexec /i Workspace.msi /qn DVLS_SERVER_URL="https://server.com" HUB_NAME="mycompany"
```

* Avec paramètres (espaces de travail + paramètres d'application) :

```bash
msiexec /i Workspace.msi /qn ^
  DVLS_SERVER_URL="https://server.com" ^
  HUB_NAME="mycompany" ^
  ORGANIZATION_ID="guid-here" ^
  LANGUAGE="fr" ^
  LOCKING_OPTION="windowsCredentials"
```

Limitations : un seul Devolutions Server peut être configuré via les paramètres MSI. Pour plusieurs serveurs, utilisez la méthode 2.

#### Méthode 2 : déploiement par fichier de configuration (recommandé pour les entreprises)

Déployez un fichier `.cfg` précréé sur les systèmes cibles.

* Cas d'utilisation : Intune, SCCM, configurations complexes, espaces de travail multiples

**Option A : déploiement à l'échelle du système (DEPLOY\_CONFIG) — RECOMMANDÉ**

```bash
msiexec /i Workspace.msi /qn DEPLOY_CONFIG="C:\path\to\Config.cfg"
```

* Cible : `%ProgramData%\net.devolutions\Workspace\DefaultConfig.cfg`
* Fonctionnement :

1. Le MSI écrit la configuration dans ProgramData lors de l'installation
2. Lorsqu'un utilisateur lance Devolutions Password Manager, l'application détecte la configuration à l'échelle du système
3. La configuration est automatiquement copiée dans le profil itinérant de l'utilisateur
4. L'utilisateur dispose de l'application configurée

**Pourquoi DEPLOY\_CONFIG pour les entreprises :**

1. Fiable : fonctionne quel que soit le contexte utilisateur (pas de problèmes liés à l'utilisateur « Default »)
2. Cohérent : tous les utilisateurs de la machine obtiennent la même configuration
3. Compatible avec l'automatisation : idéal pour Intune, SCCM, les installations silencieuses
4. Prise en charge multi-utilisateurs : s'applique à tous les utilisateurs existants et futurs

* Idéal pour : Intune, SCCM, installations silencieuses, machines multi-utilisateurs, postes de travail partagés

**Option B : déploiement par utilisateur (USER\_CONFIG)**

```bash
msiexec /i Workspace.msi /qn USER_CONFIG="C:\path\to\Config.cfg"
```

* Cible : `%LOCALAPPDATA%\net.devolutions\Workspace\Config.cfg`
* Fonctionnement :

1. Le MSI écrit la configuration dans les données d'application locales de l'utilisateur qui effectue l'installation
2. L'utilisateur lance Devolutions Password Manager
3. La configuration est copiée dans le profil itinérant de l'utilisateur
4. Seul cet utilisateur dispose de l'application configurée

* Limitations :

1. Configure uniquement l'utilisateur qui a exécuté le programme d'installation
2. Peut échouer dans les déploiements automatisés (problèmes de contexte utilisateur)
3. Ne convient pas aux machines multi-utilisateurs

* Idéal pour : installations interactives par les utilisateurs finaux, appareils mono-utilisateur

#### Méthode 3 : créateur de configuration basé sur l'interface utilisateur

Utilisez l'application de bureau pour créer des fichiers de configuration et des commandes MSI.

* Cas d'utilisation : administrateurs informatiques préparant des packages de déploiement
* Accès : ***Outils*** – ***Installation personnalisée*** (dans l'application de bureau)

Consultez la section Créateur de fichier de configuration pour plus de détails.

### Structure du fichier de configuration

Les fichiers de configuration utilisent l'extension `.cfg` et contiennent des données au format JSON.

#### Format de fichier

```json
{
  "hubs": [
    {
      "url": "https://mycompany.devolutions.app",
      "organizationId": "00000000-0000-0000-0000-000000000000",
      "type": "Business",
      "version": ""
    }
  ],
  "dvls": [
    {
      "name": "Production DVLS",
      "serverUrl": "https://devolutions-server.company.com",
      "serverVersion": ""
    },
    {
      "name": "Development DVLS",
      "serverUrl": "https://devolutions-server-dev.company.com",
      "serverVersion": ""
    }
  ],
  "configs": {
    "language": "en-US",
    "reduceToTrayOnClose": true,
    "clearClipboardSensitiveData": true,
    "clipboardTimer": 30,
    "useFavicon": true,
    "useEntriesSyncOnDatasourceAccess": false,
    "useHubEmbeddedBrowser": true,
    "shareUsageData": false,
    "lockingOption": "windowsCredentials",
    "useBackgroundLock": true,
    "useLockWhenInactive": true,
    "lockInactivityDelay": 300
  }
}
```

#### Composants du schéma

**Tableau Devolutions Cloud (facultatif)**

Tableau des instances Devolutions Cloud à configurer.

| Champ              | Type   | Obligatoire | Description                                                                    |
| ------------------ | ------ | ----------- | ------------------------------------------------------------------------------ |
| **url**            | string | Oui         | URL de Devolutions Cloud (p. ex., `https://mycompany.devolutions.app`)         |
| **organizationId** | string | Oui         | GUID de l'organisation                                                         |
| **type**           | string | Non         | Toujours « Business » (rempli automatiquement)                                 |
| **version**        | string | Non         | Version de Devolutions Cloud (remplie automatiquement à la première connexion) |

**Tableau Devolutions Server (facultatif)**

Tableau des instances Devolutions Server à configurer.

| Champ             | Type   | Obligatoire | Description                                                                  |
| ----------------- | ------ | ----------- | ---------------------------------------------------------------------------- |
| **name**          | string | Oui         | Nom d'affichage du serveur                                                   |
| **serverUrl**     | string | Oui         | URL de Devolutions Server (p. ex., `https://devolutions-server.company.com`) |
| **serverVersion** | string | Non         | Version du serveur (remplie automatiquement à la première connexion)         |

**Objet Configs (facultatif)**

Paramètres d'application à préconfigurer.

Consultez la [référence des paramètres de configuration](https://docs.devolutions.net/fr/password-manager/kb/application-knowledge-base/devolutions-password-manager-pre-configuration/#configuration-settings-reference) pour la liste complète.

### Emplacements des fichiers de configuration

Les fichiers de configuration sont chargés par ordre de priorité selon leur emplacement.

#### Configuration au niveau de l'utilisateur

* Données d'application itinérantes : `%APPDATA%\net.devolutions\Workspace\Config.cfg`
* Par défaut : `C:\Users\[NomUtilisateur]\AppData\Roaming\net.devolutions\Workspace\Config.cfg`
* Se synchronise sur les ordinateurs joints au domaine
* Priorité la plus haute (spécifique à l'utilisateur)
* Données d'application locales : `%LOCALAPPDATA%\net.devolutions\Workspace\Config.cfg`
* Par défaut : `C:\Users\[NomUtilisateur]\AppData\Local\net.devolutions\Workspace\Config.cfg`
* Spécifique à la machine, non synchronisé
* Utilisé lors de l'installation MSI, puis copié dans le profil itinérant

#### Configuration à l'échelle du système

* ProgramData : `%ProgramData%\net.devolutions\Workspace\DefaultConfig.cfg`
* Par défaut : `C:\ProgramData\net.devolutions\Workspace\DefaultConfig.cfg`
* S'applique à tous les utilisateurs du système
* Nécessite un fichier indicateur `config.ready` dans le même répertoire
* Copié à l'emplacement itinérant de l'utilisateur au premier lancement (si la configuration utilisateur n'existe pas)

#### Fichier indicateur

* Fichier : `config.ready`
* Emplacement : même répertoire que `DefaultConfig.cfg`
* Rôle : signale que la configuration à l'échelle du système est prête pour le déploiement
* Contenu : fichier vide, seule sa présence est vérifiée

#### Ordre de priorité

Les sources de configuration sont vérifiées dans l'ordre suivant (la première trouvée est utilisée) :

1. Fichier de configuration utilisateur – configuration spécifique à l'utilisateur
2. Fichier de configuration système – valeur par défaut à l'échelle du système (copiée à l'emplacement utilisateur)

### Paramètres du programme d'installation MSI

Le programme d'installation MSI Windows accepte les paramètres suivants pour la préconfiguration.

#### Paramètres d'espace de travail

**Configuration de Devolutions Server**

| Paramètre             | Type   | Description               | Exemple                                  |
| --------------------- | ------ | ------------------------- | ---------------------------------------- |
| **DVLS\_SERVER\_URL** | String | URL de Devolutions Server | `https://devolutions-server.company.com` |

* Remarque : un seul Devolutions Server peut être configuré via les paramètres MSI. Pour plusieurs serveurs, utilisez un fichier de configuration.

**Configuration de Devolutions Cloud**

| Paramètre            | Type   | Description                                                          | Exemple                                |
| -------------------- | ------ | -------------------------------------------------------------------- | -------------------------------------- |
| **HUB\_NAME**        | String | Nom de sous-domaine Devolutions Cloud (obligatoire)                  | `mycompany`                            |
| **ORGANIZATION\_ID** | String | GUID de l'organisation (facultatif – laissez vide si non applicable) | `00000000-0000-0000-0000-000000000000` |

* Remarque : l'URL complète de Devolutions Cloud est construite comme suit : `https://{HUB_NAME}.devolutions.app`
* Remarque : `ORGANIZATION_ID` est facultatif. Certaines instances Devolutions Cloud ne nécessitent pas d'identifiant d'organisation. S'il n'est pas applicable, vous pouvez omettre ce paramètre ou transmettre une chaîne vide.

#### Paramètres de déploiement du fichier de configuration

| Paramètre          | Type   | Description                                                | Emplacement cible                                           |
| ------------------ | ------ | ---------------------------------------------------------- | ----------------------------------------------------------- |
| **DEPLOY\_CONFIG** | String | Configuration à l'échelle du système (recommandé)          | `%ProgramData%\net.devolutions\Workspace\DefaultConfig.cfg` |
| **USER\_CONFIG**   | String | Configuration par utilisateur (installations interactives) | `%LOCALAPPDATA%\net.devolutions\Workspace\Config.cfg`       |

#### Paramètres des paramètres d'application

**Paramètres généraux**

| Paramètre            | Type   | Valeurs                      | Par défaut | Description                                       |
| -------------------- | ------ | ---------------------------- | ---------- | ------------------------------------------------- |
| **TARGET\_LOCATION** | String | `roaming`, `local`, `system` | `roaming`  | Emplacement d'enregistrement de la configuration. |
| **LANGUAGE**         | String | Code de langue               | `en-US`    | Langue de l'application.                          |

**Paramètres de l'interface utilisateur**

| Paramètre                       | Type   | Valeurs         | Par défaut | Description                                                               |
| ------------------------------- | ------ | --------------- | ---------- | ------------------------------------------------------------------------- |
| **REDUCE\_TO\_TRAY\_ON\_CLOSE** | String | `true`, `false` | `false`    | Réduire dans la barre d'état système au lieu de fermer.                   |
| **USE\_FAVICON**                | String | `true`, `false` | `false`    | Télécharger et afficher les favicons des sites Web.                       |
| **USE\_HUB\_EMBEDDED\_BROWSER** | String | `true`, `false` | `true`     | Utiliser le navigateur intégré pour l'authentification Devolutions Cloud. |

**Paramètres de sécurité**

| Paramètre                             | Type   | Valeurs                                       | Par défaut | Description                                                               |
| ------------------------------------- | ------ | --------------------------------------------- | ---------- | ------------------------------------------------------------------------- |
| **CLEAR\_CLIPBOARD\_SENSITIVE\_DATA** | String | `true`, `false`                               | `false`    | Vider automatiquement le presse-papiers après la copie des mots de passe. |
| **CLIPBOARD\_TIMER**                  | Number | Secondes (1-999)                              | `30`       | Secondes avant de vider le presse-papiers.                                |
| **LOCKING\_OPTION**                   | String | `password`, `biometric`, `windowsCredentials` | (aucun)    | Méthode de verrouillage de l'application.                                 |
| **USE\_BACKGROUND\_LOCK**             | String | `true`, `false`                               | `false`    | Verrouiller lors de la réduction dans la barre d'état système.            |
| **USE\_LOCK\_WHEN\_INACTIVE**         | String | `true`, `false`                               | `false`    | Verrouiller après une période d'inactivité.                               |
| **LOCK\_INACTIVITY\_DELAY**           | Number | Secondes (30-3600)                            | `30`       | Secondes avant le verrouillage automatique.                               |

**Paramètres de synchronisation**

| Paramètre                                      | Type   | Valeurs         | Par défaut | Description                                                                     |
| ---------------------------------------------- | ------ | --------------- | ---------- | ------------------------------------------------------------------------------- |
| **USE\_ENTRIES\_SYNC\_ON\_DATASOURCE\_ACCESS** | String | `true`, `false` | `false`    | Synchroniser automatiquement les entrées lors de l'accès à l'espace de travail. |

**Paramètres de confidentialité**

| Paramètre              | Type   | Valeurs         | Par défaut | Description                                       |
| ---------------------- | ------ | --------------- | ---------- | ------------------------------------------------- |
| **SHARE\_USAGE\_DATA** | String | `true`, `false` | `true`     | Partager des statistiques d'utilisation anonymes. |

### Créateur de fichier de configuration

L'application de bureau comprend un outil visuel permettant de créer des fichiers de configuration.

#### Accès à l'outil

1. Lancez Devolutions Password Manager.
2. Accédez à : ***Outils*** – ***Installation personnalisée***.

#### Fonctionnalités

**Onglet Exporter (créer une configuration)**

1. Sélection de l'espace de travail.

* Afficher toutes les instances configurées (Devolutions Server et Devolutions Cloud)
* Sélectionner les espaces de travail à inclure via des cases à cocher
* Plusieurs espaces de travail pris en charge

2. Configuration des paramètres

* Activer/désactiver les paramètres d'application individuels regroupés par catégorie :
* Général (langue, comportement de la barre d'état système)
* Sécurité (presse-papiers, verrouillage)
* Synchronisation
* Confidentialité (statistiques d'utilisation)

3. Aperçu en direct

* Aperçu JSON en temps réel de la configuration
* Copier le JSON dans le presse-papiers
* L'aperçu se met à jour au fur et à mesure des sélections

4. Options d'exportation

* Générer un fichier .cfg : enregistrer la configuration dans un fichier `.cfg`
* Copier la commande MSI : générer une commande MSI complète avec tous les paramètres

**Onglet Importer (charger une configuration)**

1. Sélection du fichier

* Parcourir les fichiers `.cfg`
* Validation et analyse du fichier

2. Aperçu avant importation

* Afficher les espaces de travail et les paramètres avant de les appliquer
* Détection des doublons (avertissement si l'espace de travail existe déjà)

3. Actions d'importation

* Applique la configuration à l'application actuelle
* Crée de nouveaux espaces de travail s'ils n'existent pas
* Met à jour les paramètres immédiatement

### Référence des paramètres de configuration

Référence complète de tous les paramètres configurables.

#### Correspondance des clés de paramètres

| Clé d'exportation (Config/MSI)       | Clé interne                 | Type    | Par défaut | Description                                                                    |
| ------------------------------------ | --------------------------- | ------- | ---------- | ------------------------------------------------------------------------------ |
| **language**                         | languageCode                | String  | `en-US`    | Langue de l'interface de l'application                                         |
| **reduceToTrayOnClose**              | minimizeOnClose             | Boolean | `false`    | Réduire dans la barre d'état système au lieu de quitter                        |
| **clearClipboardSensitiveData**      | removeSensitiveFromKeyboard | Boolean | `false`    | Minuterie de vidage automatique du presse-papiers                              |
| **clipboardTimer**                   | clipboardTimer              | Integer | `30`       | Secondes avant de vider le presse-papiers (1-999)                              |
| **useFavicon**                       | useRichIcons                | Boolean | `false`    | Télécharger les favicons des sites Web pour les entrées                        |
| **useEntriesSyncOnDatasourceAccess** | useEntriesSyncSpaceAccess   | Boolean | `false`    | Synchroniser automatiquement les entrées lors de l'accès à l'espace de travail |
| **useHubEmbeddedBrowser**            | hubEmbeddedBrowser          | Boolean | `true`     | Utiliser le navigateur intégré pour l'authentification Devolutions Cloud       |
| **shareUsageData**                   | shareAnonymousData          | Boolean | `true`     | Partager des statistiques d'utilisation anonymes                               |
| **lockingOption**                    | lockingOption               | String  | `(none)`   | Méthode de verrouillage : `password`, `biometric`, `windowsCredentials`        |
| **useBackgroundLock**                | useBackgroundLock           | Boolean | `false`    | Verrouiller lors de la réduction dans la barre d'état système                  |
| **useLockWhenInactive**              | useLockWhenInactive         | Boolean | `false`    | Verrouiller après une période d'inactivité                                     |
| **lockInactivityDelay**              | lockInactivityDelay         | Integer | `30`       | Secondes avant le verrouillage automatique (30-3600)                           |

#### Langues prises en charge

| Code     | Langue                  |
| -------- | ----------------------- |
| `en-US`  | English (United States) |
| `fr`     | French                  |
| `de`     | German                  |
| `es`     | Spanish                 |
| `cs`     | Czech                   |
| `hu`     | Hungarian               |
| `it`     | Italian                 |
| `nl`     | Dutch                   |
| `pl`     | Polish                  |
| `ru`     | Russian                 |
| `sv`     | Swedish                 |
| `tr`     | Turkish                 |
| `uk`     | Ukrainian               |
| `zh-CHS` | Chinese (Simplified)    |
| `zh-TW`  | Chinese (Traditional)   |

#### Options de verrouillage

| Valeur                 | Description                | Prérequis                                                     |
| ---------------------- | -------------------------- | ------------------------------------------------------------- |
| **password**           | Mot de passe principal     | L'utilisateur définit le mot de passe au premier verrouillage |
| **biometric**          | Empreinte digitale/Face ID | Matériel biométrique requis                                   |
| **windowsCredentials** | Windows Hello              | Windows 10/11 avec Windows Hello                              |

* Remarque : si Windows Hello n'est pas disponible, le système revient au mot de passe.

### Exemples de déploiement

#### Exemple 1 : Devolutions Server unique avec paramètres de sécurité

```bash
msiexec /i Workspace.msi /qn ^
  DVLS_SERVER_URL="https://devolutions-server.company.com" ^
  LOCKING_OPTION="windowsCredentials" ^
  USE_LOCK_WHEN_INACTIVE="true" ^
  LOCK_INACTIVITY_DELAY="300" ^
  CLEAR_CLIPBOARD_SENSITIVE_DATA="true" ^
  CLIPBOARD_TIMER="60"
```

#### Exemple 2 : Devolutions Cloud avec langue française

```bash
# Avec identifiant d'organisation
msiexec /i Workspace.msi /qn ^
  HUB_NAME="mycompany" ^
  ORGANIZATION_ID="12345678-1234-1234-1234-123456789abc" ^
  LANGUAGE="fr" ^
  REDUCE_TO_TRAY_ON_CLOSE="true"

# Sans identifiant d'organisation (pour les instances Devolutions Cloud qui n'en nécessitent pas)
msiexec /i Workspace.msi /qn ^
  HUB_NAME="mycompany" ^
  LANGUAGE="fr" ^
  REDUCE_TO_TRAY_ON_CLOSE="true"
```

#### Exemple 3 : déploiement Microsoft Intune

**Étape 1 : préparer les fichiers**

Créez un dossier de travail (p. ex., `C:\IntuneApps\Workspace\`) et placez-y ces fichiers :

* `Workspace.msi`
* `config.cfg` (créé via ***Outils*** – ***Installation personnalisée*** ou manuellement)
* `Install-Workspace.ps1` (script PowerShell ci-dessous)

**Étape 2 : script d'installation PowerShell**

Créez `Install-Workspace.ps1` :

```powershell
# Install-Workspace.ps1
# Source files in the Intune package
$ConfigSource = "$PSScriptRoot\config.cfg"
$ConfigTarget = "C:\Program Files\config.cfg"
$MsiPath = "$PSScriptRoot\Workspace.msi"

# Copy config.cfg to Program Files
try {
    Copy-Item -Path $ConfigSource -Destination $ConfigTarget -Force
} catch {
    Write-Host "Error copying config file: $($_.Exception.Message)"
    exit 1
}

# Install MSI silently with DEPLOY_CONFIG parameter
$Arguments = "/i `"$MsiPath`" /qn /norestart DEPLOY_CONFIG=`"C:\Program Files\config.cfg`""
$Process = Start-Process "msiexec.exe" -ArgumentList $Arguments -Wait -PassThru

# Return exit code to Intune
exit $Process.ExitCode
```

**Étape 3 : créer le package .intunewin**

Utilisez l'outil de préparation de contenu Win32 de Microsoft (`IntuneWinAppUtil.exe`) :

```bash
IntuneWinAppUtil.exe -c C:\IntuneApps\Workspace -s Install-Workspace.ps1 -o C:\IntuneApps\Output
```

**Étape 4 : configurer l'application Intune**

Dans le portail Microsoft Intune :

1. Accédez à : **Apps** – **Windows** – **Add** – **Windows app (Win32)**
2. Fichier de package d'application : téléversez `Workspace.intunewin`
3. Informations sur l'application : renseignez le nom, la description et l'éditeur
4. Configuration du programme :

* Commande d'installation : `powershell.exe -ExecutionPolicy Bypass -File .\Install-Workspace.ps1`
* Commande de désinstallation : `msiexec.exe /x {PRODUCT-CODE-GUID} /qn /norestart`
* Comportement d'installation : Système

5. Prérequis : Windows 10 1607+ (64 bits)
6. Règles de détection : code produit MSI (détecté automatiquement)
7. Affectations : affecter aux groupes cibles

**Flux d'installation sur le point de terminaison**

Lorsque l'application est déployée sur un appareil, les opérations suivantes se déroulent automatiquement :

1. Intune télécharge et exécute `Install-Workspace.ps1`
2. Le script copie `config.cfg` vers `C:\Program Files\config.cfg`
3. Le script installe le MSI avec `DEPLOY_CONFIG="C:\Program Files\config.cfg"`
4. Le MSI lit le fichier de configuration et l'écrit dans `%ProgramData%\net.devolutions\Workspace\DefaultConfig.cfg`
5. Lorsqu'un utilisateur lance Devolutions Password Manager, l'application détecte la configuration à l'échelle du système et l'applique

Résultat : le fichier de configuration est distribué avec l'application, placé automatiquement au bon emplacement, et l'installation est entièrement silencieuse et compatible Intune.

#### Exemple 4 : déploiement SCCM

* Commande d'installation :

```bash
msiexec /i Workspace.msi /qn /norestart DEPLOY_CONFIG="%~dp0Config.cfg"
```

* Commande de désinstallation :

```bash
msiexec /x {PRODUCT-CODE} /qn /norestart
```

* Méthode de détection : clé de registre `HKLM\SOFTWARE\Devolutions\Workspace\Version`

#### Exemple 5 : plusieurs Devolutions Server via un fichier de configuration

Créez `config.cfg` :

```json
{
  "dvls": [
    {
      "name": "Production Devolutions Server",
      "serverUrl": "https://devolutions-server-prod.company.com"
    },
    {
      "name": "Development Devolutions Server",
      "serverUrl": "https://devolutions-server-dev.company.com"
    },
    {
      "name": "Test Devolutions Server",
      "serverUrl": "https://devolutions-server-test.company.com"
    }
  ],
  "configs": {
    "language": "en-US",
    "shareUsageData": false
  }
}
```

Déployez via :

```bash
msiexec /i Workspace.msi /qn DEPLOY_CONFIG="\\fileserver\IT\Workspace\config.cfg"
```

### Dépannage

#### Configuration non appliquée

Le fichier de configuration est présent mais les paramètres ne sont pas appliqués.

1. Vérifiez l'emplacement du fichier : confirmez le chemin correct (`%ProgramData%\net.devolutions\Workspace\DefaultConfig.cfg`)
2. Vérifiez la validité JSON : validez la syntaxe JSON (pas de virgules superflues, guillemets corrects)
3. Vérifiez les autorisations : l'utilisateur doit avoir accès en lecture au fichier de configuration
4. Vérifiez le fichier indicateur : assurez-vous que le fichier `config.ready` existe dans le même répertoire
5. Consultez les journaux : examinez les journaux d'application pour les erreurs d'analyse

#### Fichier indicateur manquant

* Problème : la configuration à l'échelle du système est ignorée.
* Solution : créez le fichier `config.ready` :

```bash
type nul > "%ProgramData%\net.devolutions\Workspace\config.ready"
```

#### USER\_CONFIG déployé dans le profil utilisateur « default »

* Problème : USER\_CONFIG échoue lors des installations silencieuses/automatisées, la configuration se retrouve dans `C:\Users\Default\AppData\Local`.
* Cause : USER\_CONFIG nécessite un contexte de session utilisateur actif, qui n'est pas disponible lors de l'installation MSI automatisée.
* Solution : utilisez **DEPLOY\_CONFIG** pour les déploiements en entreprise :

```bash
# CORRECT pour Intune/SCCM
msiexec /i Workspace.msi /qn /norestart DEPLOY_CONFIG="%~dp0Config.cfg"

# INCORRECT pour le déploiement automatisé
msiexec /i Workspace.msi /qn /norestart USER_CONFIG="%~dp0Config.cfg"
```

#### Installation silencieuse MSI n'appliquant pas la configuration

Les paramètres MSI ne créent pas de configuration.

1. Vérifiez la syntaxe des paramètres : assurez-vous des guillemets corrects (utilisez `"valeur"`, pas `'valeur'`)
2. Journalisez l'installation MSI : ajoutez `/l*v install.log` pour voir les erreurs détaillées
3. Vérifiez l'exécution PowerShell : vérifiez si la stratégie d'exécution bloque les scripts
4. Droits d'administration : assurez-vous que le programme d'installation s'exécute avec élévation de privilèges

* Exemple avec journalisation :

```bash
msiexec /i Workspace.msi /qn /l*v C:\Temp\install.log DVLS_SERVER_URL="https://server.com"
```

#### Paramètres non persistants

Les paramètres reviennent aux valeurs par défaut après le redémarrage.

1. Configuration utilisateur vs système : la configuration système ne s'applique que si la configuration utilisateur n'existe pas. Une fois que l'utilisateur modifie les paramètres, ils sont enregistrés dans la configuration utilisateur et remplacent les valeurs par défaut du système.
2. Remplacement par stratégie de groupe : vérifiez si une GPO applique des paramètres
3. Autorisations de fichiers : vérifiez les autorisations d'écriture sur l'emplacement de configuration utilisateur

#### L'espace de travail existe déjà

Problème : l'importation échoue avec le message « workspace already exists ».

Explication : l'analyseur de configuration détecte les doublons par URL normalisée (insensible à la casse, barre oblique finale supprimée).

1. Supprimez manuellement l'espace de travail existant avant l'importation
2. Modifiez le fichier de configuration pour supprimer les entrées en double
3. Utilisez l'outil d'installation personnalisée pour fusionner les configurations

#### Option de verrouillage non fonctionnelle

Windows Hello ne s'active pas.

1. Configuration de Windows Hello : assurez-vous que Windows Hello est configuré dans les paramètres Windows
2. Repli : le système revient automatiquement au mot de passe si le matériel n'est pas disponible
3. Consultez les journaux : examinez les journaux d'application pour les erreurs d'initialisation biométrique

### Meilleures pratiques

#### 1. Tester la configuration en premier

Avant de déployer pour tous les utilisateurs :

1. Créez un groupe d'utilisateurs/appareils de test
2. Appliquez la configuration au groupe de test
3. Vérifiez que les espaces de travail et les paramètres fonctionnent comme prévu
4. Déployez en production

#### 2. Utiliser DEPLOY\_CONFIG pour les entreprises

* Utilisez toujours DEPLOY\_CONFIG pour :
* Les déploiements Intune
* Les déploiements SCCM
* Les installations silencieuses/sans assistance
* Les machines multi-utilisateurs
* Les postes de travail partagés
* Utilisez USER\_CONFIG uniquement pour :
* Les installations interactives par les utilisateurs finaux
* Les appareils mono-utilisateur
* Les scénarios de test

#### 3. Documenter la configuration

Maintenez la documentation de votre configuration, notamment :

* Quels espaces de travail sont préconfigurés
* Quels paramètres sont appliqués
* L'expérience utilisateur attendue
* Le contact de support pour les problèmes

#### 4. Communication avec les utilisateurs

Informez les utilisateurs :

* Les espaces de travail seront préconfigurés
* Ils doivent quand même se connecter avec leurs identifiants
* La configuration se produit au premier lancement de l'application
* Contacter l'informatique si les espaces de travail n'apparaissent pas

#### 5. Considérations de sécurité

**Paramètres de sécurité recommandés** :

```json
{
  "lockingOption": "windowsCredentials",
  "useBackgroundLock": true,
  "useLockWhenInactive": true,
  "lockInactivityDelay": 300,
  "clearClipboardSensitiveData": true,
  "clipboardTimer": 60,
  "shareUsageData": false
}
```

**Pourquoi** :

* Impose l'authentification Windows Hello
* Verrouille l'application immédiatement lors de la mise en arrière-plan
* Verrouille automatiquement après 5 minutes d'inactivité
* Vide le presse-papiers après 60 secondes
* Désactive la collecte de données d'utilisation (facultatif)

#### 6. Exigences de format d'URL

Toutes les URL doivent :

* Inclure le protocole (`https://`)
* Être des URL valides et accessibles
* Ne pas se terminer par une barre oblique finale (l'application normalisera)

**Exemples :**

* `https://devolutions-server.company.com`
* `https://password-manager.devolutions.app`
* `devolutions-server.company.com` (https\:// manquant)
* `http://devolutions-server.company.com` (HTTP non recommandé)

#### 7. Considérations domaine vs autonome

* Joint au domaine : utilisez les données d'application itinérantes (`TARGET_LOCATION="roaming"`) pour la synchronisation des profils
* Autonome : utilisez les données d'application locales (`TARGET_LOCATION="local"`) ou le système (`TARGET_LOCATION="system"`)

### Référence rapide

#### Modèle de configuration minimal

```json
{
  "dvls": [
    {
      "name": "Devolutions Server",
      "serverUrl": "https://devolutions-server.example.com"
    }
  ]
}
```

#### Commande de déploiement en entreprise recommandée

```bash
msiexec /i Workspace.msi /qn /norestart DEPLOY_CONFIG="\\server\share\Config.cfg"
```

{% endtab %}

{% tab title="macOS" %}

#### Qu'est-ce que la préconfiguration ?

La préconfiguration permet aux administrateurs informatiques de déployer Devolutions Password Manager avec des paramètres et des espaces de travail préconfigurés (instances Devolutions Server et Devolutions Cloud) sur les points de terminaison macOS gérés. Cela élimine le besoin pour les utilisateurs finaux de configurer manuellement l'application après l'installation.

#### Avantages clés

* Déploiement sans intervention : les utilisateurs démarrent avec des applications entièrement configurées
* Cohérence : garantissez que tous les utilisateurs disposent des mêmes espaces de travail et paramètres
* Gain de temps : éliminez les étapes de configuration manuelle
* Gestion centralisée : configurez depuis la console MDM
* Application des politiques : possibilité d'empêcher les utilisateurs de modifier les paramètres
* Standard en entreprise : approche recommandée pour les parcs macOS gérés

#### Fonctionnement

1. L'administrateur informatique configure les espaces de travail et les paramètres via MDM ou des fichiers de configuration
2. Le MDM pousse la configuration vers les appareils gérés
3. L'utilisateur lance l'application pour la première fois
4. L'application lit la configuration et crée automatiquement les espaces de travail
5. L'utilisateur s'authentifie pour finaliser la connexion (saisit ses identifiants)

#### Remarques importantes

* Authentification requise : les espaces de travail préconfigurés sont créés en état « en attente ». Les utilisateurs doivent tout de même s'authentifier (se connecter) pour finaliser la connexion.
* Premier lancement seulement : la configuration est appliquée une seule fois au premier lancement. Les modifications ultérieures nécessitent la réinstallation de l'application ou une configuration manuelle.
* Identifiants NON stockés : la préconfiguration n'inclut PAS les identifiants des utilisateurs. Les utilisateurs doivent se connecter avec leurs propres identifiants.

### Méthodes de déploiement

#### Méthode 1 : préférences MDM/gérées (recommandé)

Déployez la configuration via des solutions de gestion des appareils mobiles (MDM) pour les environnements macOS gérés.

* Cas d'utilisation : Jamf Pro, Microsoft Intune pour Mac, autres solutions MDM
* Priorité : la plus haute (remplace toutes les configurations basées sur des fichiers)
* Domaine de préférence : `net.devolutions.authenticator`

**Avantages :**

* Gestion centralisée : configurez depuis la console MDM
* Application des politiques : possibilité d'empêcher les utilisateurs de modifier les paramètres
* Priorité la plus haute : remplace les fichiers de configuration locaux
* Standard en entreprise : approche recommandée pour les parcs macOS gérés

Consultez la section [Préférences MDM/gérées](https://docs.devolutions.net/fr/password-manager/kb/application-knowledge-base/devolutions-password-manager-pre-configuration/#method-1-mdmmanaged-preferences-recommended) pour les instructions détaillées.

#### Méthode 2 : déploiement par fichier de configuration

Déployez un fichier `.cfg` précréé sur les systèmes cibles.

* Cas d'utilisation : déploiements scriptés, environnements sans MDM, tests
* Emplacement à l'échelle du système : `/Library/Application Support/Devolutions/Workspace/DefaultConfig.cfg`
* Emplacement par utilisateur : `~/Library/Application Support/Workspace/Config.cfg`

Consultez la section [Structure du fichier de configuration](https://docs.devolutions.net/fr/password-manager/kb/application-knowledge-base/devolutions-password-manager-pre-configuration/#configuration-file-structure-1) pour plus de détails.

#### Méthode 3 : configuration manuelle (commande defaults)

Pour la configuration manuelle ou les scripts :

```bash
# Set language
defaults write net.devolutions.authenticator language -string "en-US"

# Enable tray minimize
defaults write net.devolutions.authenticator reduceToTrayOnClose -bool true

# Set locking option
defaults write net.devolutions.authenticator lockingOption -string "biometric"
```

**Cas d'utilisation** : configuration manuelle, tests, scripts shell

### Préférences MDM/gérées

#### Déploiement Jamf Pro

**Option A : utilisation du schéma JSON (recommandé)**

1. Téléchargez ou copiez le schéma JSON Jamf Pro pour Devolutions Password Manager :

<details>

<summary><strong>Cliquer pour développer : schéma JSON Jamf Pro de Devolutions Password Manager</strong></summary>

```json
{
  "title": "Devolutions Password Manager Configuration (net.devolutions.authenticator)",
  "description": "Configuration settings for Devolutions Password Manager deployed via Jamf Pro. These settings are deployed as managed preferences to managed devices.",
  "__version": "1.0",
  "__preferencedomain": "net.devolutions.authenticator",
  "options": {
    "remove_empty_properties": true
  },
  "properties": {
    "dvls": {
      "title": "DVLS Configuration",
      "description": "Devolutions Server connection settings",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "title": "Server Name",
            "description": "Display name for the Devolutions Server",
            "type": "string",
            "default": "Devolutions Server"
          },
          "serverUrl": {
            "title": "Server URL",
            "description": "Full URL to the Devolutions Server (e.g., https://server.company.com)",
            "type": "string",
            "pattern": "^https?://.*"
          },
          "serverVersion": {
            "title": "Server Version",
            "description": "Devolutions Server version (optional)",
            "type": "string",
            "default": ""
          }
        },
        "required": ["serverUrl"]
      },
      "default": []
    },
    "hubs": {
      "title": "Devolutions Cloud Configuration",
      "description": "Devolutions Cloud connection settings",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "title": "Devolutions Cloud URL",
            "description": "Full Devolutions Cloud URL (e.g., https://yourcompany.devolutions.app)",
            "type": "string",
            "pattern": "^https://.*\\.devolutions\\.app$"
          },
          "organizationId": {
            "title": "Organization ID",
            "description": "Organization identifier for Devolutions Cloud",
            "type": "string"
          },
          "type": {
            "title": "Devolutions Cloud Type",
            "description": "Devolutions Cloud connection type (optional)",
            "type": "string"
          },
          "version": {
            "title": "Devolutions Cloud Version",
            "description": "Devolutions Cloud version compatibility",
            "type": "string",
            "default": "2020"
          }
        },
        "required": ["url"]
      },
      "default": []
    },
    "configs": {
      "title": "Application Settings",
      "description": "User preferences and application behavior settings",
      "type": "object",
      "properties": {
        "language": {
          "title": "Language",
          "description": "Default language for Devolutions Password Manager interface",
          "type": "string",
          "enum": [
            "en-US", "fr", "de", "es", "cs", "hu", "it", "nl", "pl", "ru", "sv", "tr", "uk", "zh-CHS", "zh-TW"
          ],
          "default": "en-US",
          "options": {
            "enum_titles": [
              "English", "Français", "Deutsch", "Español", "Čeština", "Magyar", "Italiano",
              "Nederlands", "Polski", "Русский", "Svenska", "Türkçe", "Українська", "简体中文", "繁體中文"
            ]
          }
        },
        "reduceToTrayOnClose": {
          "title": "Minimize to Tray on Close",
          "description": "When enabled, closing the window minimizes to system tray instead of quitting",
          "type": "boolean",
          "default": false
        },
        "clearClipboardSensitiveData": {
          "title": "Clear Clipboard Sensitive Data",
          "description": "Automatically clear sensitive data from clipboard after a specified timeout",
          "type": "boolean",
          "default": false
        },
        "clipboardTimer": {
          "title": "Clipboard Timeout (seconds)",
          "description": "Duration in seconds before clearing clipboard when sensitive data clearing is enabled",
          "type": "integer",
          "enum": [30, 60, 120, 180, 240, 300, 0],
          "default": 30,
          "options": {
            "enum_titles": ["30 seconds", "1 minute", "2 minutes", "3 minutes", "4 minutes", "5 minutes", "Never"]
          }
        },
        "useFavicon": {
          "title": "Use Favicons",
          "description": "Download and display website favicons for entries",
          "type": "boolean",
          "default": false
        },
        "useEntriesSyncOnDatasourceAccess": {
          "title": "Sync Entries on Workspace Access",
          "description": "Automatically synchronize entries when accessing a workspace",
          "type": "boolean",
          "default": false
        },
        "useHubEmbeddedBrowser": {
          "title": "Use Devolutions Cloud Embedded Browser",
          "description": "Open Devolutions Cloud connections in embedded browser (disable if using credential providers)",
          "type": "boolean",
          "default": true
        },
        "lockingOption": {
          "title": "Locking Method",
          "description": "Authentication method used when locking/unlocking Devolutions Password Manager. Leave empty for no locking method.",
          "type": "string",
          "enum": ["", "password", "biometric"],
          "default": "",
          "options": {
            "enum_titles": ["None", "Password/PIN", "Biometric (Touch ID)"]
          }
        },
        "useBackgroundLock": {
          "title": "Lock When Backgrounded",
          "description": "Automatically lock the application when minimized or sent to system tray",
          "type": "boolean",
          "default": false
        },
        "useLockWhenInactive": {
          "title": "Auto-Lock When Inactive",
          "description": "Automatically lock the application after a period of inactivity",
          "type": "boolean",
          "default": false
        },
        "lockInactivityDelay": {
          "title": "Inactivity Lock Delay (seconds)",
          "description": "Time in seconds before locking due to inactivity (requires Auto-Lock to be enabled)",
          "type": "integer",
          "enum": [30, 60, 120, 180, 240, 300],
          "default": 30,
          "options": {
            "enum_titles": ["30 seconds", "1 minute", "2 minutes", "3 minutes", "4 minutes", "5 minutes"]
          }
        }
      }
    },
    "preventStartup": {
      "title": "Prevent Startup",
      "description": "When true, prevents Devolutions Password Manager from starting automatically after configuration deployment",
      "type": "boolean",
      "default": true
    }
  }
}
```

</details>

2. Dans Jamf Pro, accédez à : **Computers – Configuration Profiles – Application & Custom Settings**
3. Cliquez sur **Configure** et téléversez le fichier de schéma JSON
4. Configurez les paramètres souhaités via l'interface graphique fournie par Jamf
5. Appliquez le profil à vos ordinateurs cibles
6. Déployez le profil de configuration

**Option B : profil de configuration manuel**

Si vous n'utilisez pas Jamf Pro, vous pouvez créer un profil de configuration macOS standard :

**Exemple de profil** (com.devolutions.workspace.mobileconfig) :

```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>PayloadContent</key>
    <array>
        <dict>
            <key>PayloadType</key>
            <string>net.devolutions.authenticator</string>
            <key>PayloadVersion</key>
            <integer>1</integer>
            <key>PayloadIdentifier</key>
            <string>net.devolutions.authenticator.config</string>
            <key>PayloadUUID</key>
            <string>GENERATE-UUID-HERE</string>
            <key>PayloadDisplayName</key>
            <string>Devolutions Password Manager Configuration</string>
            <key>language</key>
            <string>en-US</string>
            <key>reduceToTrayOnClose</key>
            <true/>
            <key>lockingOption</key>
            <string>biometric</string>
            <key>dvls</key>
            <array>
                <dict>
                    <key>name</key>
                    <string>Corporate DVLS</string>
                    <key>serverUrl</key>
                    <string>https://devolutions-server.company.com</string>
                </dict>
            </array>
        </dict>
    </array>
</dict>
</plist>
```

Déployez via :

* Jamf Pro : Configuration Profiles – Upload profile
* Microsoft Intune : Device Configuration – Custom profile
* Autres MDM : téléversement de profil de configuration personnalisé

#### Microsoft Intune pour Mac

1. Accédez à : **Devices** – **Configuration profiles** – **Create profile**.
2. Plateforme : **macOS**.
3. Type de profil : **Custom**.
4. Téléversez le profil de configuration (fichier `.mobileconfig`).
5. Affectez aux groupes cibles.
6. Déployez.

#### Vérification de la configuration MDM

Sur un Mac géré :

```bash
# Check if preferences are set
defaults read net.devolutions.authenticator

# Check for specific setting
defaults read net.devolutions.authenticator language
```

### Structure du fichier de configuration

Les fichiers de configuration utilisent l'extension `.cfg` et contiennent des données au format JSON.

#### Format de fichier

```json
{
  "hubs": [
    {
      "url": "https://mycompany.devolutions.app",
      "organizationId": "00000000-0000-0000-0000-000000000000",
      "type": "Business",
      "version": ""
    }
  ],
  "dvls": [
    {
      "name": "Production DVLS",
      "serverUrl": "https://devolutions-server.company.com",
      "serverVersion": ""
    },
    {
      "name": "Development DVLS",
      "serverUrl": "https://devolutions-server-dev.company.com",
      "serverVersion": ""
    }
  ],
  "configs": {
    "language": "en-US",
    "reduceToTrayOnClose": true,
    "clearClipboardSensitiveData": true,
    "clipboardTimer": 30,
    "useFavicon": true,
    "useEntriesSyncOnDatasourceAccess": false,
    "useHubEmbeddedBrowser": true,
    "shareUsageData": false,
    "lockingOption": "biometric",
    "useBackgroundLock": true,
    "useLockWhenInactive": true,
    "lockInactivityDelay": 300
  }
}
```

#### Composants du schéma

**Tableau Devolutions Cloud (facultatif)**

Tableau des instances Devolutions Cloud à configurer.

| Champ              | Type   | Obligatoire | Description                                                                    |
| ------------------ | ------ | ----------- | ------------------------------------------------------------------------------ |
| **url**            | string | Oui         | URL de Devolutions Cloud (p. ex., `https://mycompany.devolutions.app`)         |
| **organizationId** | string | Oui         | GUID de l'organisation                                                         |
| **type**           | string | Non         | Toujours « Business » (rempli automatiquement)                                 |
| **version**        | string | Non         | Version de Devolutions Cloud (remplie automatiquement à la première connexion) |

**Tableau Devolutions Server (facultatif)**

Tableau des instances Devolutions Server à configurer.

| Champ             | Type   | Obligatoire | Description                                                                  |
| ----------------- | ------ | ----------- | ---------------------------------------------------------------------------- |
| **name**          | string | Oui         | Nom d'affichage du serveur                                                   |
| **serverUrl**     | string | Oui         | URL de Devolutions Server (p. ex., `https://devolutions-server.company.com`) |
| **serverVersion** | string | Non         | Version du serveur (remplie automatiquement à la première connexion)         |

**Objet `configs` (facultatif)**

Paramètres d'application à préconfigurer.

Consultez la [référence des paramètres de configuration](https://docs.devolutions.net/fr/password-manager/kb/application-knowledge-base/devolutions-password-manager-pre-configuration/#configuration-settings-reference-1) pour la liste complète.

### Emplacements des fichiers de configuration

#### Configuration au niveau de l'utilisateur

* Chemin : `~/Library/Application Support/Workspace/Config.cfg`
* Priorité : la plus haute pour les configurations spécifiques à l'utilisateur

#### Configuration à l'échelle du système

* Chemin : `/Library/Application Support/Devolutions/Workspace/DefaultConfig.cfg`
* Priorité : appliquée si la configuration utilisateur n'existe pas

#### Préférences gérées (MDM/Jamf)

* Priorité : la plus haute (remplace toutes les configurations basées sur des fichiers)
* Domaine de préférence : `net.devolutions.authenticator`
* Clés : identiques à l'objet `configs` au format JSON
* Configuration : via un profil MDM ou la commande `defaults`

#### Ordre de priorité

Les sources de configuration sont vérifiées dans l'ordre suivant (la première trouvée est utilisée) :

1. Préférences gérées macOS – politiques MDM/Jamf (priorité la plus haute)
2. Fichier de configuration utilisateur – configuration spécifique à l'utilisateur
3. Fichier de configuration système – valeur par défaut à l'échelle du système (copiée à l'emplacement utilisateur)

### Référence des paramètres de configuration

Référence complète de tous les paramètres configurables.

#### Correspondance des clés de paramètres

| Clé d'exportation (Config/MDM)       | Type    | Par défaut | Description                                                                    |
| ------------------------------------ | ------- | ---------- | ------------------------------------------------------------------------------ |
| **language**                         | String  | `en-US`    | Langue de l'interface de l'application                                         |
| **reduceToTrayOnClose**              | Boolean | `false`    | Réduire dans la barre d'état système au lieu de quitter                        |
| **clearClipboardSensitiveData**      | Boolean | `false`    | Minuterie de vidage automatique du presse-papiers                              |
| **clipboardTimer**                   | Integer | `30`       | Secondes avant de vider le presse-papiers (1-999)                              |
| **useFavicon**                       | Boolean | `false`    | Télécharger les favicons des sites Web pour les entrées                        |
| **useEntriesSyncOnDatasourceAccess** | Boolean | `false`    | Synchroniser automatiquement les entrées lors de l'accès à l'espace de travail |
| **useHubEmbeddedBrowser**            | Boolean | `true`     | Utiliser le navigateur intégré pour l'authentification Devolutions Cloud       |
| **shareUsageData**                   | Boolean | `true`     | Partager des statistiques d'utilisation anonymes                               |
| **lockingOption**                    | String  | (aucun)    | Méthode de verrouillage : `password`, `biometric`                              |
| **useBackgroundLock**                | Boolean | `false`    | Verrouiller lors de la réduction dans la barre d'état système                  |
| **useLockWhenInactive**              | Boolean | `false`    | Verrouiller après une période d'inactivité                                     |
| **lockInactivityDelay**              | Integer | `30`       | Secondes avant le verrouillage automatique (30-3600)                           |

#### Langues prises en charge

| Code     | Langue                  |
| -------- | ----------------------- |
| `en-US`  | English (United States) |
| `fr`     | French                  |
| `de`     | German                  |
| `es`     | Spanish                 |
| `cs`     | Czech                   |
| `hu`     | Hungarian               |
| `it`     | Italian                 |
| `nl`     | Dutch                   |
| `pl`     | Polish                  |
| `ru`     | Russian                 |
| `sv`     | Swedish                 |
| `tr`     | Turkish                 |
| `uk`     | Ukrainian               |
| `zh-CHS` | Chinese (Simplified)    |
| `zh-TW`  | Chinese (Traditional)   |

#### Options de verrouillage

| Valeur        | Description            | Prérequis                                                     |
| ------------- | ---------------------- | ------------------------------------------------------------- |
| **password**  | Mot de passe principal | L'utilisateur définit le mot de passe au premier verrouillage |
| **biometric** | Touch ID               | Matériel Touch ID requis                                      |

### Exemples de déploiement

#### Exemple 1 : Jamf Pro avec Devolutions Server et paramètres de sécurité

Utilisation du schéma JSON Jamf :

1. Téléversez le schéma JSON dans Jamf Pro
2. Configurez via l'interface graphique :
   * Configuration Devolutions Server : ajoutez le serveur avec l'URL `https://devolutions-server.company.com`
   * Méthode de verrouillage : biométrique (Touch ID)
   * Verrouiller lors de la mise en arrière-plan : activé
   * Verrouillage automatique lors de l'inactivité : activé
   * Délai de verrouillage par inactivité : 5 minutes (300 secondes)
3. Appliquez aux ordinateurs cibles
4. Déployez

#### Exemple 2 : profil de configuration manuel pour Devolutions Cloud

```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>PayloadContent</key>
    <array>
        <dict>
            <key>PayloadType</key>
            <string>net.devolutions.authenticator</string>
            <key>PayloadVersion</key>
            <integer>1</integer>
            <key>PayloadIdentifier</key>
            <string>net.devolutions.authenticator.config</string>
            <key>PayloadUUID</key>
            <string>REPLACE-WITH-UNIQUE-UUID</string>
            <key>PayloadDisplayName</key>
            <string>Devolutions Password Manager Cloud Configuration</string>
            <key>hubs</key>
            <array>
                <dict>
                    <key>url</key>
                    <string>https://mycompany.devolutions.app</string>
                    <key>organizationId</key>
                    <string>12345678-1234-1234-1234-123456789abc</string>
                    <key>type</key>
                    <string>Business</string>
                    <key>version</key>
                    <string>2020</string>
                </dict>
            </array>
            <key>configs</key>
            <dict>
                <key>language</key>
                <string>en-US</string>
                <key>lockingOption</key>
                <string>biometric</string>
            </dict>
        </dict>
    </array>
</dict>
</plist>
```

#### Exemple 3 : commande defaults pour les tests

```bash
#!/bin/bash

# Configure Devolutions Server (complex structure requires plist file)
defaults write net.devolutions.authenticator dvls -array-add \
  '{name = "Production DVLS"; serverUrl = "https://devolutions-server.company.com"; }'

# Configure application settings
defaults write net.devolutions.authenticator language -string "en-US"
defaults write net.devolutions.authenticator lockingOption -string "biometric"
defaults write net.devolutions.authenticator useBackgroundLock -bool true
defaults write net.devolutions.authenticator useLockWhenInactive -bool true
defaults write net.devolutions.authenticator lockInactivityDelay -int 300
defaults write net.devolutions.authenticator clearClipboardSensitiveData -bool true
defaults write net.devolutions.authenticator clipboardTimer -int 60
```

#### Exemple 4 : déploiement de fichier de configuration via script

```bash
#!/bin/bash

# Create system-wide configuration directory
sudo mkdir -p "/Library/Application Support/Devolutions/Workspace"

# Deploy configuration file
sudo cp "/path/to/config.cfg" "/Library/Application Support/Devolutions/Workspace/DefaultConfig.cfg"

# Set proper permissions
sudo chmod 644 "/Library/Application Support/Devolutions/Workspace/DefaultConfig.cfg"
```

#### Exemple 5 : plusieurs Devolutions Server via un fichier de configuration

Créez `config.cfg` :

```json
{
  "dvls": [
    {
      "name": "Production DVLS",
      "serverUrl": "https://devolutions-server-prod.company.com"
    },
    {
      "name": "Development DVLS",
      "serverUrl": "https://devolutions-server-dev.company.com"
    },
    {
      "name": "Test DVLS",
      "serverUrl": "https://devolutions-server-test.company.com"
    }
  ],
  "configs": {
    "language": "en-US",
    "shareUsageData": false
  }
}
```

Déployez via script ou placez manuellement à l'emplacement à l'échelle du système.

### Dépannage

#### Configuration MDM non appliquée

Le profil de configuration est installé mais les paramètres ne s'appliquent pas.

1. **Vérifiez le domaine de préférence** : assurez-vous d'utiliser `net.devolutions.authenticator` (pas `net.devolutions.workspace`).
2. **Vérifiez l'état du profil** : Préférences Système – Profils – vérifiez que le profil est installé.
3. **Forcez l'actualisation du profil** : `sudo profiles renew -type enrollment`.
4. **Recherchez les conflits** : supprimez les fichiers de configuration utilisateur existants.
5. **Examinez les journaux** : consultez Console.app pour les erreurs liées à Devolutions Password Manager.

#### Fichier de configuration non chargé

Le fichier de configuration est présent mais n'est pas appliqué.

1. Vérifiez l'emplacement du fichier : confirmez le chemin correct (`/Library/Application Support/Devolutions/Workspace/DefaultConfig.cfg`).
2. Vérifiez la validité JSON : validez la syntaxe JSON (pas de virgules superflues, guillemets corrects).
3. Vérifiez les autorisations : assurez-vous que le fichier est lisible par tous les utilisateurs (`chmod 644`).
4. Vérifiez la propriété : doit appartenir à root ou à un administrateur.
5. Supprimez la configuration utilisateur : supprimez `~/Library/Application Support/Workspace/Config.cfg` pour permettre l'application de la configuration système.

#### Option de verrouillage non fonctionnelle

Touch ID ne s'active pas.

1. Vérification du matériel : vérifiez que le Mac dispose du matériel Touch ID
2. Configuration de Touch ID : assurez-vous que Touch ID est configuré dans Préférences Système – Touch ID
3. Repli : le système revient automatiquement au mot de passe si le matériel n'est pas disponible
4. Consultez les journaux : examinez les journaux d'application pour les erreurs d'initialisation biométrique

#### Confusion de domaine de préférence

Incertitude quant au domaine de préférence à utiliser.

Solution : utilisez toujours `net.devolutions.authenticator` pour toutes les configurations Devolutions Password Manager (mobile et bureau).

#### Paramètres non persistants

Les paramètres reviennent aux valeurs par défaut après le redémarrage.

1. MDM vs configuration utilisateur : les paramètres MDM ont la priorité la plus haute et remplaceront les modifications utilisateur
2. Configuration utilisateur vs système : la configuration système ne s'applique que si la configuration utilisateur n'existe pas
3. Autorisations de fichiers : vérifiez les autorisations d'écriture sur l'emplacement de configuration utilisateur

#### L'espace de travail existe déjà

L'importation échoue avec le message « workspace already exists ».

Explication : l'analyseur de configuration détecte les doublons par URL normalisée (insensible à la casse, barre oblique finale supprimée).

1. Supprimez manuellement l'espace de travail existant avant d'appliquer la configuration.
2. Modifiez la configuration pour supprimer les entrées en double.
3. Supprimez le fichier de configuration utilisateur pour forcer la réimportation de la configuration système.

### Meilleures pratiques

#### 1. Tester la configuration en premier

Avant de déployer pour tous les utilisateurs :

1. Créez un groupe d'ordinateurs de test dans Jamf/Intune.
2. Appliquez la configuration au groupe de test.
3. Vérifiez que les espaces de travail et les paramètres fonctionnent comme prévu.
4. Déployez en production.

#### 2. Utiliser le MDM pour les parcs gérés

Utilisez toujours les préférences MDM/gérées pour :

* Les Mac gérés par Jamf Pro
* Les Mac gérés par Intune
* Tout environnement géré par MDM

Avantages :

* Gestion centralisée
* Application des politiques
* Priorité la plus haute (remplace les configurations locales)
* Approche standard en entreprise

#### 3. Documenter la configuration

Maintenez la documentation de votre configuration MDM, notamment :

* Quels espaces de travail sont préconfigurés
* Quels paramètres sont appliqués
* L'expérience utilisateur attendue
* Le contact de support pour les problèmes

#### 4. Communication avec les utilisateurs

Informez les utilisateurs :

* Les espaces de travail seront préconfigurés
* Ils doivent quand même se connecter avec leurs identifiants
* La configuration se produit au premier lancement de l'application
* Contacter l'informatique si les espaces de travail n'apparaissent pas

#### 5. Considérations de sécurité

Paramètres de sécurité recommandés :

```json
{
  "lockingOption": "biometric",
  "useBackgroundLock": true,
  "useLockWhenInactive": true,
  "lockInactivityDelay": 300,
  "clearClipboardSensitiveData": true,
  "clipboardTimer": 60,
  "shareUsageData": false
}
```

Pourquoi :

* Impose l'authentification Touch ID
* Verrouille l'application immédiatement lors de la mise en arrière-plan
* Verrouille automatiquement après 5 minutes d'inactivité
* Vide le presse-papiers après 60 secondes
* Désactive la collecte de données d'utilisation (facultatif)

#### 6. Exigences de format d'URL

Toutes les URL doivent :

* Inclure le protocole (`https://`)
* Être des URL valides et accessibles
* Ne pas se terminer par une barre oblique finale (l'application normalisera)

Exemples :

* `https://devolutions-server.company.com`
* `https://password-manager.devolutions.app`
* `devolutions-server.company.com` (https\:// manquant)
* `http://devolutions-server.company.com` (HTTP non recommandé)

#### 7. Exploiter le schéma JSON Jamf

Pour les déploiements Jamf Pro, utilisez toujours le schéma JSON :

* Fournit une interface graphique conviviale
* Valide la configuration avant le déploiement
* Prévient les erreurs de syntaxe
* Affiche toutes les options disponibles avec les descriptions

### Référence rapide

#### Fichier de configuration minimal

```json
{
  "dvls": [
    {
      "name": "Devolutions Server",
      "serverUrl": "https://devolutions-server.example.com"
    }
  ]
}
```

#### Domaine de préférence

```
net.devolutions.authenticator
```

#### Emplacement de configuration à l'échelle du système

```
/Library/Application Support/Devolutions/Workspace/DefaultConfig.cfg
```

#### Vérifier les paramètres MDM

```bash
defaults read net.devolutions.authenticator
```

{% endtab %}

{% tab title="iOS" %}

#### Qu'est-ce que la préconfiguration MDM ?

La préconfiguration MDM (Mobile Device Management) permet aux administrateurs informatiques de provisionner automatiquement les espaces de travail Devolutions Password Manager (Devolutions Server et Devolutions Cloud) et les paramètres d'application sur les appareils iOS gérés ***avant*** que les utilisateurs lancent l'application pour la première fois.

#### Avantages

* Déploiement sans intervention : les utilisateurs reçoivent des espaces de travail préconfigurés.
* Configuration cohérente : garantissez que tous les utilisateurs disposent des mêmes paramètres.
* Réduction de la charge de support : pas besoin de guider manuellement les utilisateurs lors de la configuration.
* Application des politiques de sécurité : préconfigurez le verrouillage biométrique, les minuteries du presse-papiers, etc.

#### Fonctionnement

1. L'administrateur informatique configure les espaces de travail et les paramètres dans la console MDM (Jamf ou Apple MDM).
2. Le MDM pousse la configuration vers les appareils gérés.
3. L'utilisateur lance l'application pour la première fois.
4. L'application lit la configuration MDM et crée automatiquement les espaces de travail.
5. L'utilisateur s'authentifie pour finaliser la connexion (saisit ses identifiants).

#### Remarques importantes

* Authentification requise : les espaces de travail préconfigurés sont créés en état « en attente ». Les utilisateurs doivent tout de même s'authentifier (se connecter) pour finaliser la connexion.
* Premier lancement seulement : la configuration est appliquée une seule fois au premier lancement. Les modifications ultérieures nécessitent la réinstallation de l'application ou une configuration manuelle.
* Identifiants NON stockés : la préconfiguration MDM n'inclut PAS les identifiants des utilisateurs. Les utilisateurs doivent se connecter avec leurs propres identifiants.

### Prérequis

* Serveur Jamf Pro ou solution Apple MDM
* Devolutions Password Manager déployé via MDM (App Store ou en interne)
* iOS 13.0 ou version ultérieure sur les appareils gérés
* Appareils inscrits dans MDM

### Déploiement avec Jamf Pro

#### Étape 1 : créer la configuration d'application gérée

1. Connectez-vous à ***Jamf Pro***.
2. Accédez à ***Mobile Device Apps*** – Trouvez l'application « Devolutions Password Manager ».
3. Cliquez sur l'application – Accédez à l'onglet ***App Configuration***.
4. Cliquez sur ***Add*** pour créer une nouvelle configuration.

#### Étape 2 : configurer les paramètres

Dans l'écran de configuration de l'application :

**Méthode de configuration**

* Sélectionnez : ***Upload specfile*** dans le générateur AppConfig Jamf pour un formulaire GUI (recommandé), OU
* Sélectionnez : ***Enter configuration directly*** sous forme de plist/dictionnaire dans Jamf Pro

**Option A : utilisation du fichier de spécification AppConfig (recommandé)**

Jamf Pro utilise la norme [communauté AppConfig](https://www.appconfig.org/) pour la configuration des applications iOS gérées. Le fichier de spécification fournit un formulaire GUI dans le générateur AppConfig Jamf où les administrateurs peuvent configurer les paramètres sans écrire de configuration brute.

1. Téléchargez le [fichier de spécification AppConfig de Devolutions Password Manager](https://cdnweb.devolutions.net/docs/workspace_mobile_appconfig_specfile.xml).
2. Ouvrez le [générateur AppConfig Jamf](https://generator.appconfig.jamfresearch.com/generator).
3. Téléversez le fichier de spécification et configurez les paramètres via le formulaire GUI.
4. Téléchargez le plist de configuration généré par le générateur.
5. Dans Jamf Pro, accédez à ***Mobile Device Apps*** – ***Devolutions Password Manager*** – ***App Configuration***.
6. Collez le plist généré dans le champ App Configuration, appliquez aux appareils cibles, et déployez.

**Option B : configuration directe (alternative)**

Si vous n'utilisez pas le fichier de spécification, vous pouvez saisir la configuration directement sous forme de dictionnaire plist dans Jamf Pro. Utilisez le format de clé plate ci-dessous — l'application transforme automatiquement les clés plates (p. ex., `dvls_serverUrl`, `hub_url`) en structure imbriquée interne :

```xml
<dict>
  <!–– Devolutions Server ––>
  <key>dvls_serverUrl</key>
  <string>https://devolutions-server.company.com</string>

  <!–– Devolutions Cloud ––>
  <key>hub_url</key>
  <string>https://password-manager.devolutions.app</string>
  <key>hub_organizationId</key>
  <string>your–org–id</string>

  <!–– Application Settings ––>
  <key>language</key>
  <string>en–US</string>
  <key>lockingOption</key>
  <string>biometric</string>
  <key>shareUsageData</key>
  <false/>
  <key>useBackgroundLock</key>
  <true/>
  <key>backgroundLockDelay</key>
  <integer>0</integer>
  <key>useLockWhenInactive</key>
  <true/>
  <key>lockInactivityDelay</key>
  <integer>300</integer>
  <key>useFavicon</key>
  <true/>
  <key>autoSearch</key>
  <false/>
  <key>useHubEmbeddedBrowser</key>
  <true/>
</dict>
```

Remarque : le format de clé plate (`dvls_serverUrl`, `hub_url`) est utilisé pour la configuration des applications gérées Jamf. L'application détecte automatiquement ce format et le transforme en structure imbriquée interne. Un nom d'affichage est généré automatiquement à partir de l'URL DVLS.

#### Étape 3 : affecter aux appareils

1. Définissez ***Distribution Method*** sur la portée appropriée (utilisateurs, appareils ou groupes).
2. Cliquez sur ***Save***.
3. Poussez la configuration vers les appareils cibles.

#### Étape 4 : vérifier le déploiement

Sur un appareil iOS géré :

1. Installez/lancez Devolutions Password Manager.
2. L'application devrait afficher automatiquement les espaces de travail préconfigurés.
3. L'utilisateur appuie sur l'espace de travail – saisit ses identifiants – se connecte.

### Schéma de configuration

#### Configuration de Devolutions Server

```typescript
{
  "name": string,           // Display name (required)
  "serverUrl": string,      // Full URL with https:// (required)
  "serverVersion": string   // Version like "2024.1" (optional)
}
```

#### Configuration de Devolutions Cloud

```typescript
{
  "url": string,            // Full URL with https:// (required)
  "organizationId": string, // Org ID (optional)
  "type": "business",       // Always "business" (required)
  "version": "2020"         // Always "2020" (required)
}
```

#### Paramètres d'application

| Paramètre                      | Type    | Valeurs valides                 | Description                                                              |
| ------------------------------ | ------- | ------------------------------- | ------------------------------------------------------------------------ |
| language                       | String  | "en-US", "fr", "de", "es", etc. | Langue d'affichage de l'application                                      |
| **lockingOption**              | String  | "", "biometric"                 | Méthode de verrouillage de l'application                                 |
| **shareUsageData**             | Boolean | true, false                     | Partager des analyses d'utilisation anonymes                             |
| **useBackgroundLock**          | Boolean | true, false                     | Verrouiller lorsque l'application passe en arrière-plan                  |
| **backgroundLockDelay**        | Integer | 0, 60, 300, 900, 1800, 3600     | Délai avant le verrouillage lors de la mise en arrière-plan (secondes)   |
| **useLockWhenInactive**        | Boolean | true, false                     | Activer le verrouillage automatique après inactivité                     |
| **lockInactivityDelay**        | Integer | 30, 60, 120, 180, 240, 300      | Délai d'inactivité (secondes)                                            |
| **useFavicon**                 | Boolean | true, false                     | Utiliser les favicons des sites Web                                      |
| **autoSearch**                 | Boolean | true, false                     | Activer la recherche automatique dans les coffres                        |
| **useHubEmbeddedBrowser**      | Boolean | true, false                     | Utiliser le navigateur intégré pour l'authentification Devolutions Cloud |
| **highlightSpecialCharacters** | Boolean | true, false                     | Mettre en évidence les caractères spéciaux dans les mots de passe        |

### Exemples de configuration

#### Exemple 1 : Devolutions Server unique seulement

***Configuration Jamf*** (utilisation du GUI du schéma) :

* Devolutions Server : ajouter un serveur
  * Nom : « Corporate DVLS »
  * URL du serveur : « <https://devolutions-server.acme.com> »
  * Version du serveur : « 2024.1 »
* Instances Devolutions Cloud : laisser vide
* Paramètres d'application : laisser par défaut

***JSON direct*** (si vous n'utilisez pas le schéma) :

```json
{
  "dvls": [
    {
      "name": "Corporate DVLS",
      "serverUrl": "https://devolutions-server.acme.com",
      "serverVersion": "2024.1"
    }
  ]
}
```

#### Exemple 2 : Devolutions Cloud avec paramètres de sécurité

***Configuration Jamf*** (utilisation du GUI du schéma) :

* ***Instances*** Devolutions Cloud : ajouter une instance Devolutions Cloud
  * URL de Devolutions Cloud : « <https://password-manager.devolutions.app> »
  * Identifiant d'organisation : (laisser vide ou saisir votre identifiant d'organisation)
* ***Paramètres d'application*** :
  * Méthode de verrouillage : « Biométrique (Touch ID/Face ID) »
  * Verrouiller lors de la mise en arrière-plan : activé
  * Délai de verrouillage en arrière-plan : « Immédiatement »
  * Verrouillage automatique lors de l'inactivité : activé
  * Délai de verrouillage par inactivité : « 3 minutes »

***JSON direct*** (si vous n'utilisez pas le schéma) :

```json
{
  "hubs": [
    {
      "url": "https://password-manager.devolutions.app",
      "organizationId": "",
      "type": "business",
      "version": "2020"
    }
  ],
  "configs": {
    "lockingOption": "biometric",
    "useBackgroundLock": true,
    "backgroundLockDelay": 0,
    "useLockWhenInactive": true,
    "lockInactivityDelay": 180
  }
}
```

#### Exemple 3 : espaces de travail multiples

***Configuration Jamf*** (utilisation du GUI du schéma) :

* Devolutions Server : ajouter plusieurs
  * Serveur 1 : Nom « Production DVLS », URL « <https://devolutions-server–prod.company.com> »
  * Serveur 2 : Nom « Test DVLS », URL « <https://devolutions-server–test.company.com> »
* ***Instances Devolutions Cloud*** : ajouter une
  * URL de Devolutions Cloud : « <https://password-manager.devolutions.app> »
  * Identifiant d'organisation : « org–abc123 »
* ***Paramètres d'application*** :
  * Langue : « English »
  * Partager les données d'utilisation : désactivé

***JSON direct*** (si vous n'utilisez pas le schéma) :

```json
{
  "dvls": [
    {
      "name": "Production devolutions-server",
      "serverUrl": "https://devolutions-server–prod.company.com",
      "serverVersion": "2024.1"
    },
    {
      "name": "Test devolutions-server",
      "serverUrl": "https://devolutions-server–test.company.com",
      "serverVersion": "2024.1"
    }
  ],
  "hubs": [
    {
      "url": "https://password-manager.devolutions.app",
      "organizationId": "org–abc123",
      "type": "business",
      "version": "2020"
    }
  ],
  "configs": {
    "language": "en–US",
    "shareUsageData": false
  }
}
```

### Dépannage

#### Configuration non appliquée

***Problème :*** les utilisateurs signalent qu'aucun espace de travail préconfiguré n'apparaît.

***Solutions :***

1. ***Vérifiez l'inscription MDM :***
   * iOS : Réglages – Général – VPN et gestion de l'appareil – Vérifier le profil
2. ***Vérifiez la syntaxe de la configuration :***
   * Validez la syntaxe JSON (utilisez jsonlint.com)
   * Assurez-vous que tous les champs obligatoires sont présents
3. ***Vérifiez que l'application est gérée par MDM :***
   * L'application doit être déployée via MDM (pas installée manuellement depuis l'App Store)
4. ***Réappliquez la configuration :***
   * Supprimez l'application – Réinstallez via MDM – La configuration s'applique au premier lancement

#### Les utilisateurs ne peuvent pas supprimer les espaces de travail en attente

Les utilisateurs sont bloqués avec des espaces de travail en attente qu'ils ne peuvent pas supprimer.

* ***Nouveauté dans la version 2025.3.2 :*** les utilisateurs peuvent maintenant supprimer les espaces de travail en attente
  * Depuis le menu tiroir : appui long sur l'espace de travail – sélectionner « Remove »
  * Depuis l'écran en attente : appuyer sur le bouton « Remove »

#### Paramètres incorrects appliqués

Les paramètres ne correspondent pas aux valeurs attendues.

1. ***Vérifiez les types de données :***
   * Booléens : utilisez `true`/`false` (pas les chaînes `"true"`/`"false"`)
   * Entiers : utilisez des nombres sans guillemets (p. ex., `60` et non `"60"`)
   * Chaînes : utilisez toujours des guillemets (p. ex., `"en–US"`)
2. ***Vérifiez les noms des paramètres :***
   * Vérifiez l'orthographe (p. ex., `lockInactivityDelay` et non `lockInactivityTimeout`)
   * Sensible à la casse (utilisez exactement la casse indiquée dans le schéma)

#### Plusieurs instances du même espace de travail

Des espaces de travail en double apparaissent. La configuration a été appliquée plusieurs fois (application réinstallée ou configuration modifiée).

* La préconfiguration vérifie les espaces de travail existants par URL
* Si des doublons existent, les utilisateurs peuvent supprimer les extras via le menu tiroir

#### Verrouillage biométrique non fonctionnel

Face ID/Touch ID ne s'active pas.

1. ***Vérifiez la prise en charge de l'appareil*** : vérifiez que l'appareil dispose du matériel Face ID ou Touch ID
2. ***Vérifiez les paramètres iOS*** : assurez-vous que Face ID/Touch ID est configuré dans les Réglages
3. ***Vérifiez les autorisations*** : l'application peut nécessiter l'autorisation biométrique de l'utilisateur
4. ***Repli*** : le système revient automatiquement au code secret si la biométrie n'est pas disponible

### Meilleures pratiques

#### 1. Tester la configuration en premier

Avant de déployer pour tous les utilisateurs :

1. Créez un groupe d'utilisateurs/appareils de test dans Jamf.
2. Appliquez la configuration au groupe de test.
3. Vérifiez que les espaces de travail et les paramètres fonctionnent comme prévu.
4. Déployez en production.

#### 2. Utiliser le fichier de spécification AppConfig

Pour les déploiements Jamf Pro :

* Utilisez toujours le fichier de spécification AppConfig (option A).
* Fournit un formulaire GUI convivial via le [générateur AppConfig Jamf](https://generator.appconfig.jamfresearch.com/generator).
* Valide la configuration avant le déploiement.
* Prévient les erreurs de syntaxe.
* Affiche toutes les options disponibles avec les descriptions.

#### 3. Documenter la configuration

Maintenez la documentation de votre configuration MDM, notamment :

* Quels espaces de travail sont préconfigurés
* Quels paramètres sont appliqués
* L'expérience utilisateur attendue
* Le contact de support pour les problèmes

#### 4. Communication avec les utilisateurs

Informez les utilisateurs :

* Les espaces de travail seront préconfigurés
* Ils doivent quand même se connecter avec leurs identifiants
* La configuration se produit au premier lancement de l'application
* Contacter l'informatique si les espaces de travail n'apparaissent pas

#### 5. Considérations de sécurité

***Paramètres de sécurité recommandés :***

```json
{
  "lockingOption": "biometric",
  "useBackgroundLock": true,
  "backgroundLockDelay": 0,
  "useLockWhenInactive": true,
  "lockInactivityDelay": 300,
  "shareUsageData": false
}
```

***Pourquoi :***

* Impose l'authentification Face ID/Touch ID
* Verrouille l'application immédiatement lors de la mise en arrière-plan
* Verrouille automatiquement après 5 minutes d'inactivité
* Désactive la collecte de données d'utilisation (facultatif)

#### 6. Compatibilité des versions

* ***Version minimale :*** 2025.3.2 (pour la prise en charge complète des espaces de travail en attente)
* ***Versions*** de Devolutions Server : Devolutions Server 2023.3+ recommandé
* ***iOS :*** 13.0+ requis

#### 7. Exigences de format d'URL

Toutes les URL doivent :

* Inclure le protocole (`https://`)
* Être des URL valides et accessibles
* Ne pas se terminer par une barre oblique finale (l'application normalisera)

***Exemples :***

* `https://devolutions-server.company.com`
* `https://password-manager.devolutions.app`
* `devolutions-server.company.com` (https\:// manquant)
* `http://devolutions-server.company.com` (HTTP non recommandé)

#### 8. Gérer les environnements multiples

Pour les organisations disposant de plusieurs environnements (prod, dev, test) :

* Créez des profils de configuration Jamf distincts pour chaque environnement
* Appliquez chaque profil aux groupes d'appareils appropriés
* Les utilisateurs dans chaque environnement obtiennent automatiquement les bons espaces de travail

### Référence rapide

#### Configuration minimale

```json
{
  "dvls": [
    {
      "name": "Devolutions Server",
      "serverUrl": "https://devolutions-server.example.com"
    }
  ]
}
```

#### Domaine de préférence

```
net.devolutions.workspace.mobile
```

#### Résumé des étapes de déploiement

1. Téléchargez le [fichier de spécification AppConfig](https://cdnweb.devolutions.net/docs/workspace_mobile_appconfig_specfile.xml).
2. Téléversez-le dans le [générateur AppConfig Jamf](https://generator.appconfig.jamfresearch.com/generator).
3. Configurez les paramètres via le formulaire GUI.
4. Téléchargez le plist généré.
5. Dans Jamf Pro : Mobile Device Apps – Devolutions Password Manager – App Configuration.
6. Collez le plist, appliquez aux appareils cibles, et déployez.
   {% endtab %}
   {% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.devolutions.net/password-manager/fr/knowledge-base/application-knowledge-base/devolutions-password-manager-pre-configuration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
