Pré-configuration de l’application Workspace

Sur cette page

Qu’est-ce que la préconfiguration ?

La pré-configuration permet aux administrateurs TI de déployer l’application Workspace Windows avec des paramètres et des sources de données préconfigurés (Devolutions Server et Devolutions Hub Business) sur des terminaux Windows. Cela élimine le besoin, pour les utilisateurs finaux, de configurer manuellement l'application après l'installation.

Avantages clés

  • Déploiement sans interaction : Les utilisateurs commencent avec des applications entièrement configurées

  • Cohérence : garantir que tous les utilisateurs aient les mêmes sources de données et paramètres

  • Gagner du temps : éliminer les étapes de configuration manuelle

  • Flexibilité : plusieurs méthodes de déploiement pour s’adapter à différentes infrastructures informatiques

  • Évolutivité : Déployer efficacement sur des centaines ou des milliers de terminaux

Comment cela fonctionne

  1. Un administrateur informatique configurer des sources de données et des paramètres via les paramètres MSI ou des fichiers de configuration.

  2. L’outil de déploiement pousse l’installation sur les appareils gérés (Intune, SCCM, PDQ Deploy, etc.).

  3. Utilisateurs lancer l'appli pour la première fois.

  4. L'appli lit la configuration et crée automatiquement les sources de données.

  5. Les utilisateurs se connecter pour compléter la connexion.

Notes importantes

  • Authentification requise : Les sources de données préconfigurées sont créées dans un état « en attente ». Les utilisateurs doivent toujours se connecter pour finaliser la connexion.

  • Premier lancement uniquement : la configuration s’applique une seule fois au premier lancement. Toute modification ultérieure nécessite la réinstallation de l’appli ou une configuration manuelle.

  • Identifiants NON stockés : La préconfiguration n'inclure pas les identifiants utilisateur. Les utilisateurs devoir se connecter avec leurs propres identifiants.

Méthodes de déploiement

Méthode 1 : Paramètres de l’installateur MSI

Passer les paramètres de configuration directement à l’installateur Windows lors du déploiement. Combiner les paramètres de source de données avec les paramètres d’application.

Cas d’utilisation : Déploiements rapides, configurations simples, tests

  • Exemple de base (sources de données uniquement) :

msiexec /i Workspace.msi /qn DVLS_SERVER_URL="https://server.com" HUB_NAME="mycompany"
  • Avec paramètres (sources de données + paramètres de l'application) :

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é par les paramètres MSI. Pour plusieurs serveurs, utiliser la méthode 2.

Déployer un fichier .cfg pré-créé sur les systèmes cibles.

  • Cas d'utilisation : Intune, SCCM, configurations complexes, sources de données multiples

msiexec /i Workspace.msi /qn DEPLOY_CONFIG="C:\path\to\Config.cfg"
  • Cible : %ProgramData%\net.devolutions\Workspace\DefaultConfig.cfg

  • Comment cela fonctionne :

  1. L'installation MSI écrit la configuration dans ProgramData lors de l’installation

  2. Lorsque tout utilisateur lance Workspace, l'appli 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 a configuré l'application

Pourquoi DEPLOY_CONFIG pour l’entreprise :

  1. Fiable : Fonctionne indépendamment du contexte utilisateur (aucun problème d’utilisateur « Default user »)

  2. Cohérent : tous les utilisateurs sur la machine obtiennent la même configuration

  3. Compatible avec l'automatisation : Parfait pour Intune, SCCM, installations silencieuses

  4. Prise en charge multi-utilisateurs : S'applique à tous les utilisateurs existants et futurs

  • Idéal pour : Intune, SCCM, installations silencieuses, ordinateurs multi-utilisateurs, postes partagés

Option B : Déploiement par utilisateur (USER_CONFIG)

msiexec /i Workspace.msi /qn USER_CONFIG="C:\path\to\Config.cfg"
  • Cible : %LOCALAPPDATA%\net.devolutions\Workspace\Config.cfg

  • Comment cela fonctionne :

  1. Le MSI écrit la configuration dans le dossier AppData local de l'utilisateur qui installe

  2. L’utilisateur lance Workspace

  3. La configuration est copiée dans le profil itinérant de l'utilisateur

  4. Seulement cet utilisateur a configuré l’application

  • Limitations :

  1. Configurer uniquement l'utilisateur qui a exécuté l'installateur

  2. Peut échouer lors des déploiements automatisés (problèmes de contexte utilisateur)

  3. Non adapté aux machines multi-utilisateurs

  • Idéal pour : Installations interactives par les utilisateurs finaux, appareils monoposte

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

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

  • Cas d'utilisation : administrateurs des TI préparant les paquets de déploiement

  • Accéder : OutilsInstallation personnalisée (dans l’application de bureau)

Consulter la section Générateur de fichier de configuration pour les détails.

Structure du fichier de configuration

Les fichiers de configuration utilisent l’extension .cfg et contiennent des données en format JSON.

Format de fichier

{
  "hubs": [
    {
      "url": "https://mycompany.devolutions.app",
      "organizationId": "00000000-0000-0000-0000-000000000000",
      "type": "Business",
      "version": ""
    }
  ],
  "dvls": [
    {
      "name": "Production DVLS",
      "serverUrl": "https://dvls.company.com",
      "serverVersion": ""
    },
    {
      "name": "Development DVLS",
      "serverUrl": "https://dvls-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 Hubs (optionnel)

Tableau d’instances Devolutions Hub Business à configurer.

Champ Type Obligatoire Description
url string Oui URL du Hub (ex. : https://mycompany.devolutions.app)
organizationId string Oui GUID de l’organisation
type string Non Toujours « Business » (rempli automatiquement)
version string Non Version du Hub (remplie automatiquement lors de la première connexion)

Tableau Dvls (optionnel)

Tableau d’instances Devolutions Server à configurer.

Champ Type Obligatoire Description
name string Oui Nom affiché pour le serveur
serverUrl string Oui URL Devolutions Server (ex. https://dvls.company.com)
serverVersion string Non Version du serveur (remplie automatiquement lors de la première connexion)

Objet Configs (optionnel)

Paramètres de l'application à préconfigurer.

Voir Référence des paramètres de configuration 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 utilisateur

  • AppData itinérant : %APPDATA%\net.devolutions\Workspace\Config.cfg

  • Par défaut : C:\Users\[Username]\AppData\Roaming\net.devolutions\Workspace\Config.cfg

  • Synchronise sur tous les ordinateurs joints au domaine

  • Priorité la plus élevée (spécifique à l'utilisateur)

    • Local AppData : %LOCALAPPDATA%\net.devolutions\Workspace\Config.cfg

    • Défaut : C:\Users\[Username]\AppData\Local\net.devolutions\Workspace\Config.cfg

    • Spécifique à la machine, non synchronisé

    • Utilisé lors de l’installation MSI, puis copié dans Roaming

Configuration à l’échelle du système

    • ProgramData : %ProgramData%\net.devolutions\Workspace\DefaultConfig.cfg

    • Par défaut : C:\ProgramData\net.devolutions\Workspace\DefaultConfig.cfg

    • S’appliquer à tous les utilisateurs du système

    • Nécessite le fichier indicateur config.ready dans le même répertoire

    • Copié vers l’emplacement de l’utilisateur en itinérance lors du premier lancement (si la configuration utilisateur n’existe pas)

Fichier indicateur

  • Fichier : config.ready

  • Emplacement : Même répertoire que DefaultConfig.cfg

  • But : Signaler que la configuration système est prête pour le déploiement

  • Contenu : fichier vide, seule la présence est vérifiée

Ordre de priorité

Vérifier les sources de configuration dans l’ordre suivant (le premier trouvé prévaut) :

  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é dans l'emplacement utilisateur)

Paramètres de l'installateur MSI

L’installateur MSI Windows accepte les paramètres suivants pour la préconfiguration.

Paramètres de source de données

Configuration de Devolutions Server

Paramètre Type Description Exemple
DVLS_SERVER_URL Chaîne de caractères URL Devolutions Server https://dvls.company.com
  • Remarque : Un seul (Devolutions Server peut être configuré via les paramètres MSI. Pour plusieurs serveurs, utiliser un fichier de configuration.

Configuration Devolutions Hub Business

Paramètre Type Description Exemple
HUB_NAME Chaîne de caractères Nom de sous-domaine Hub (requis) mycompany
ORGANIZATION_ID Chaîne de caractères ID GUID d’organisation (optionnel – laisser vide si non pertinent) 00000000-0000-0000-0000-000000000000
  • Remarque : L’URL complète du Devolutions Hub est construite comme suit : https://{HUB_NAME}.devolutions.app

  • Remarque : ORGANIZATION_ID est optionnel. Certaines instances Devolutions Hub Business ne nécessiter pas d'ID d'organisation. Si non applicable, vous pouvoir omettre ce paramètre ou passer une chaîne vide.

Paramètres de déploiement du fichier de configuration

Paramètre Type Description Emplacement cible
DEPLOY_CONFIG Chaîne de caractères Configuration à l'échelle du système (recommandée) %ProgramData%\net.devolutions\Workspace\DefaultConfig.cfg
USER_CONFIG Chaîne de caractères Configuration par utilisateur (installations interactives) %LOCALAPPDATA%\net.devolutions\Workspace\Config.cfg

Paramètres de configuration de l'application

paramètres généraux

Paramètre Type Valeurs Par défaut Description
TARGET_LOCATION Chaîne de caractères itinérant, local, système roaming Où enregistrer la configuration.
LANGUAGE Chaîne de caractères Code de langue en-US Langue de l'application.

Paramètres de l'interface d'utilisateur

Paramètre Type Valeurs Par défaut Description
REDUCE_TO_TRAY_ON_CLOSE Chaîne de caractères true, false false Réduire dans la barre d'état système au lieu de fermer.
USE_FAVICON Chaîne de caractères true, false false Télécharger et afficher les favicônes des sites Web.
USE_HUB_EMBEDDED_BROWSER Chaîne de caractères true, false true Utiliser le navigateur intégré pour l’authentification Hub.

Paramètres de sécurité

Paramètre Type Valeurs Par défaut Description
CLEAR_CLIPBOARD_SENSITIVE_DATA Chaîne de caractères true, false false Effacer automatiquement le presse-papiers après la copie des mots de passe.
CLIPBOARD_TIMER Nombre Secondes (1-999) 30 Secondes avant d'effacer le presse-papiers.
LOCKING_OPTION Chaîne de caractères mot de passe, biométrie, windowsCredentials (aucun) Méthode pour verrouiller l'application.
USE_BACKGROUND_LOCK Chaîne de caractères true, false false Verrouiller lors de la réduction dans la barre d’état système.
USE_LOCK_WHEN_INACTIVE Chaîne de caractères true, false false Verrouiller après une période d’inactivité.
LOCK_INACTIVITY_DELAY Nombre 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 Chaîne de caractères true, false false Synchroniser automatiquement les entrées lors de l'accès à la source de données.

Paramètres de confidentialité

Paramètre Type Valeurs Par défaut Description
SHARE_USAGE_DATA Chaîne de caractères true, false true Partager des statistiques d'usage anonymes.

Créateur de fichier de configuration

L’application de bureau inclut un outil visuel pour créer des fichiers de configuration.

Accéder à l’outil

  1. Lancer Devolutions Workspace (version bureau).

  2. Aller à : OutilsInstallation personnalisée.

Fonctionnalités

Onglet Exporter (Créer la configuration)

  1. Sélection de la source de données.

  • Afficher toutes les instances configurées (Devolutions Server et Hub Business)

  • Sélectionner les sources de données à inclure via des cases à cocher

  • Plusieurs sources de données prises en charge

  1. Configuration des paramètres

  • Activer/désactiver les paramètres individuels de l’application regroupés par catégorie :

  • Général (Langue, comportement dans la barre d'état système)

  • Sécurité (presse-papiers, verrouillage)

  • Synchronisation

  • Confidentialité (Statistiques d'usage)

  1. Aperçu en direct

  • Aperçu JSON en temps réel de la configuration

  • Copier le JSON dans le presse-papiers

  • Apercevoir les mises à jour lors de la modification des sélections

  1. Options d’exportation

  • Générer le fichier .cfg : Enregistrer la configuration dans un fichier .cfg

  • Copier la commande MSI : Générer la commande MSI complète avec tous les paramètres

Onglet Importer (Charger la configuration)

  1. Sélection de fichier

  • Parcourir les fichiers .cfg

  • Validation et analyse du fichier

  1. Aperçu avant importation

  • Afficher les sources de données et les paramètres avant l’application

  • Détecter les doublons (avertit si la source de données existe déjà)

  1. Importer des éléments d'action

  • Appliquer la configuration à l’application actuelle

  • Créer de nouvelles sources de données si elles n’existent pas

  • Mettre à jour les paramètres immédiatement

Référence des paramètres de configuration

Compléter la référence de tous les paramètres configurables.

Correspondance des clés de paramètres

Exporter la clé (Config/MSI) Clé interne Type Par défaut Description
language languageCode Chaîne de caractères en-US Langue de l'interface utilisateur de l'application
reduceToTrayOnClose minimizeOnClose Booléen false Réduire dans la barre d’état système au lieu de quitter
clearClipboardSensitiveData removeSensitiveFromKeyboard Booléen false Minuterie pour effacer automatiquement le presse-papiers
clipboardTimer clipboardTimer Entier 30 Secondes avant d'effacer le presse-papiers (1-999)
useFavicon useRichIcons Booléen false Télécharger les favicônes du site Web pour les entrées
useEntriesSyncOnDatasourceAccess useEntriesSyncSpaceAccess Booléen false Synchroniser automatiquement les entrées lors de l'accès à la source de données
useHubEmbeddedBrowser hubEmbeddedBrowser Booléen true Utiliser le navigateur intégré pour l'authentification Hub
shareUsageData shareAnonymousData Booléen true Partager les statistiques d’usage anonymes
lockingOption lockingOption Chaîne de caractères (none) Méthode de verrouillage : password, biometric, windowsCredentials
useBackgroundLock useBackgroundLock Booléen false Verrouiller lors de la réduction dans la barre d'état système
useLockWhenInactive useLockWhenInactive Booléen false Verrouiller après période d'inactivité
lockInactivityDelay lockInactivityDelay Entier 30 Secondes avant le verrouillage automatique (30-3600)

Langues prises en charge

Code Langue
en-US Anglais (États-Unis)
fr Français
de Allemand
es Espagnol
cs Tchèque
hu Hongrois
it Italien
nl Néerlandais
pl Polonais
ru Russe
sv Suédois
tr Turc
uk Ukrainien
zh-CHS Chinois (simplifié)
zh-TW Chinois (traditionnel)

Options de verrouillage

Valeur Description Exigences
mot de passe Mot de passe maître L’utilisateur définit le mot de passe lors du premier verrouillage
biométrie Empreinte digitale / Reconnaissance faciale 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é

msiexec /i Workspace.msi /qn ^
  DVLS_SERVER_URL="https://dvls.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 Hub Business en langue française

# With Organization ID
msiexec /i Workspace.msi /qn ^
  HUB_NAME="mycompany" ^
  ORGANIZATION_ID="12345678-1234-1234-1234-123456789abc" ^
  LANGUAGE="fr" ^
  REDUCE_TO_TRAY_ON_CLOSE="true"

# Without Organization ID (for Hubs that don't require it)
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éer un dossier de travail (par exemple, C:\IntuneApps\Workspace\) et placer ces fichiers :

  • Workspace.msi

  • config.cfg (créé via OutilsInstallation personnalisée ou manuellement)

  • Install-Workspace.ps1 (script PowerShell ci-dessous)

Étape 2 : script d'installation PowerShell

Créer Install-Workspace.ps1 :

# 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 paquet .intunewin

Utiliser l’outil Microsoft Win32 Content Prep (IntuneWinAppUtil.exe) :

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. Naviguer vers : ApplicationsWindowsAjouterApplication Windows (Win32)

  2. Fichier de paquet d’appli : Téléverser Workspace.intunewin

  3. Informations sur l'appli : saisir le nom, la description, 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

  1. Exigences : Windows 10 1607+ (64 bits)

  2. Règles de détection : code produit MSI (détection automatique)

  3. Affectations : Affecter aux groupes cibles

Flux d'installation sur le terminal

Lorsque l'appli est déployée sur un appareil, les actions suivantes se produire 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. Quand un utilisateur lance l'application Workspace Windows, l'appli détecte la configuration système et l'applique

Le résultat : le fichier de configuration est distribué avec l'application, placé automatiquement au bon endroit, et l'installation est totalement silencieuse et compatible avec Intune.

Exemple 4 : Déploiement SCCM

  • Commande d'installation :

msiexec /i Workspace.msi /qn /norestart DEPLOY_CONFIG="%~dp0Config.cfg"
  • Commande de désinstallation :

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 fichier de configuration

Créer config.cfg :

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

Déployer via :

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

Résolution de problèmes

Configuration non appliquée

Fichier de configuration présent mais paramètres non appliqués.

  1. Vérifier l’emplacement du fichier : vérifier le chemin correct (%ProgramData%\net.devolutions\Workspace\DefaultConfig.cfg)

  2. Vérifier la validité du JSON : valider la syntaxe JSON (pas de virgules finales, guillemets appropriés)

  3. Vérifier les permissions : l’utilisateur doit avoir une autorisation de lecture pour le fichier de configuration

  4. Vérifier le fichier indicateur : vérifier si le fichier config.ready existe dans le même répertoire

  5. Vérifier les journaux : Examiner les journaux d'activité de l'application pour des erreurs d'analyse

Fichier indicateur manquant

  • Problème : configuration globale du système ignorée.

  • Solution : Créer le fichier config.ready :

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

USER_CONFIG déploie vers le profil utilisateur « par défaut »

  • 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 active, qui n'est pas disponible lors de l'installation automatisée du MSI.

  • Solution : Utiliser DEPLOY_CONFIG pour les déploiements en entreprise :

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

# WRONG for automated deployment
msiexec /i Workspace.msi /qn /norestart USER_CONFIG="%~dp0Config.cfg"

L’installation silencieuse MSI n’applique pas la configuration

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

  1. Vérifier la syntaxe des paramètres : S’assurer d’utiliser la bonne syntaxe des guillemets (utiliser "value", et non 'value')

  2. Journaliser l'installation MSI : Ajouter /l*v install.log pour voir les erreurs détaillées

  3. Vérifier l’exécution PowerShell : vérifier si la stratégie d’exécution bloquer les scripts

  4. Droits administratifs : S'assurer que l'installateur s'exécute avec élévation

  • Exemple avec journalisation :

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

Les paramètres ne pas persister

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

  1. Config utilisateur vs système : la configuration système s'appliquer uniquement si la configuration utilisateur n'exister pas. Une fois que l'utilisateur modifier les paramètres, ils être enregistrés dans la configuration utilisateur et remplacer les paramètres par défaut du système.

  2. Substitution de stratégie de groupe : Vérifier si le GPO applique les paramètres

  3. Permissions sur les fichiers : vérifier les autorisations d'accès en écriture à l'emplacement de configuration utilisateur

La source de données existe déjà

Problème : l'importation échouer avec le message « la source de données existe déjà ».

Explication : L'analyseur de configuration détecte les doublons par URL normalisée (sans distinction entre majuscules et minuscules, barre oblique finale supprimée).

  1. Supprimer manuellement la source de données existante avant l’importation

  2. Modifier le fichier de configuration pour supprimer les entrées en double

  3. Utiliser 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 : s'assurer que Windows Hello est configuré dans les paramètres Windows

  2. Secours : le système basculer automatiquement vers le mot de passe si le matériel n'est pas disponible

  3. Vérifier les journaux : consulter les journaux de l’application pour détecter les erreurs d’initialisation biométrique

Meilleures pratiques

1. Tester d'abord la configuration

Avant de déployer à tous les utilisateurs :

  1. Créer un groupe test d’utilisateurs/appareils

  2. Appliquer la configuration au groupe de test

  3. Vérifier que les sources de données et les paramètres fonctionnent comme attendu

  4. Déployer en production

2.Utiliser DEPLOY_CONFIG pour l'entreprise

  • Toujours utiliser DEPLOY_CONFIG pour :

  • Déploiements Intune

  • Déploiements SCCM

  • Installations silencieuses/sans assistance

  • Machines multi-utilisateurs

  • Stations de travail partagées

  • N’utiliser USER_CONFIG que pour :

  • Installations interactives par les utilisateurs finaux

  • Appareils à utilisateur unique

  • Scénarios de test

3. Documenter la configuration

Maintenir la documentation de votre configuration incluant :

  • Quelles sources de données sont préconfigurées

  • Quels paramètres appliquer

  • Expérience utilisateur attendue

  • Contact de l’assistance en cas de problème

4. Communiquer avec l'utilisateur

Informer les utilisateurs :

  • Les sources de données seront préconfigurées

  • Ils doivent toujours se connecter avec leurs identifiants

  • La configuration s'effectuer lors du premier lancement de l'appli

  • Contacter l’équipe TI si les sources de données n’apparaissent pas

5. Considérer les aspects de sécurité

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

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

Pourquoi :

  • Imposer l’authentification Windows Hello

  • Verrouiller l'appli immédiatement lorsqu'elle passe en arrière-plan

  • Verrouiller automatiquement après 5 minutes d’inactivité

  • Effacer le presse-papiers après 60 secondes

  • Désactiver la collecte des données d’usage (optionnel)

6. Définir les exigences du format d’URL

Toutes les URLs doivent :

  • Inclure le protocole (https://)

  • Être des URL valides et accessibles

  • Ne pas terminer par une barre oblique (l'appli va normaliser)

Exemples :

  • https://dvls.company.com

  • https://workspace.devolutions.app

  • dvls.company.com (manquant https://)

  • http://dvls.company.com (HTTP non recommandé)

7. Considérations Domaine vs autonome

  • Ordinateur joint à un domaine : Utiliser les données d’application itinérantes (TARGET_LOCATION="roaming") pour la synchronisation des profils

  • Autonome : Utiliser Local AppData (TARGET_LOCATION="local") ou Système (TARGET_LOCATION="system")

Référence rapide

Modèle de configuration minimale

{
  "dvls": [
    {
      "name": "DVLS Server",
      "serverUrl": "https://dvls.example.com"
    }
  ]
}
msiexec /i Workspace.msi /qn /norestart DEPLOY_CONFIG="\\server\share\Config.cfg"

Qu’est-ce que la préconfiguration

La préconfiguration permet aux administrateurs informatiques de déployer Workspace avec des paramètres et des sources de données préconfigurés (instances Devolutions Server et Hub Business) sur les terminaux macOS gérés. Cela élimine la nécessité pour les utilisateurs finaux de configurer manuellement l’application après l’installation.

Avantages clés

  • Déploiement sans interaction : Les utilisateurs commencent avec des applications entièrement configurées

  • Cohérence : garantir que tous les utilisateurs aient les mêmes sources de données et paramètres

  • Gagner du temps : éliminer les étapes de configuration manuelle

  • Gestion centralisée : Configurer depuis la console MDM

  • Application de la stratégie : peut empêcher les utilisateurs de modifier les paramètres

  • Standard d’entreprise : Approche recommandée pour les flottes macOS gérées

Comment cela fonctionne

  1. L'administrateur TI configurer les sources de données et les paramètres via MDM ou fichiers de configuration

  2. Le MDM pousse la configuration vers les appareils gérés

  3. L’utilisateur lance l’appli pour la première fois

  4. L’appli lire la configuration et créer les sources de données automatiquement

  5. L’utilisateur s’authentifie pour terminer la connexion (saisit les identifiants)

Notes importantes

  • Authentification requise : Les sources de données préconfigurées sont créées dans un état « en attente ». Les utilisateurs doivent toujours s'authentifier (se connecter) pour terminer la connexion.

  • Premier lancement uniquement : la configuration s’applique une seule fois au premier lancement. Toute modification ultérieure nécessite la réinstallation de l’appli ou une configuration manuelle.

  • Identifiants NON stockés : La préconfiguration n'inclure pas les identifiants utilisateur. Les utilisateurs devoir se connecter avec leurs propres identifiants.

Méthodes de déploiement

Déployer la configuration via des solutions Mobile Device Management (MDM) pour les environnements macOS gérés.

  • Cas d’utilisation : Jamf Pro, Microsoft Intune pour Mac, autres solutions MDM

  • Priorité : la plus élevée (remplace toute configuration basée sur un fichier)

  • Domaine de préférences : net.devolutions.authenticator

Avantages :

  • Gestion centralisée : Configurer depuis la console MDM

  • Application de la stratégie : peut empêcher les utilisateurs de modifier les paramètres

  • Priorité la plus élevée : ignorer les fichiers de configuration locaux

  • Standard d’entreprise : Approche recommandée pour les flottes macOS gérées

Voir la section Préférences MDM/gestionnées pour des instructions détaillées.

Méthode 2 : Déploiement du fichier de configuration

Déployer un fichier .cfg pré-créé sur les systèmes cibles.

  • Cas d’utilisation : Déploiements scriptés, environnements non-MDM, tests

  • Emplacement à l’échelle du système : /Library/Application Support/Devolutions/Workspace/DefaultConfig.cfg

  • Emplacement par utilisateur : ~/Library/Application Support/Workspace/Config.cfg

Voir la section Structure du fichier de configuration pour plus de détails.

Méthode 3 : Configuration manuelle (commande defaults)

Pour configurer manuellement ou utiliser des scripts :

# 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 : installation manuelle, tests, scripts shell

MDM/préférences gérées

Déploiement Jamf Pro

  1. Télécharger ou copier le schéma JSON Jamf Pro pour Workspace :

Click to expand: Workspace Jamf Pro JSON Schema
{
  "title": "Devolutions Workspace Configuration (net.devolutions.authenticator)",
  "description": "Configuration settings for Devolutions Workspace application 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 DVLS server",
            "type": "string",
            "default": "Devolutions Server"
          },
          "serverUrl": {
            "title": "Server URL",
            "description": "Full URL to the DVLS server (e.g., https://server.company.com)",
            "type": "string",
            "pattern": "^https?://.*"
          },
          "serverVersion": {
            "title": "Server Version",
            "description": "DVLS server version (optional)",
            "type": "string",
            "default": ""
          }
        },
        "required": ["serverUrl"]
      },
      "default": []
    },
    "hubs": {
      "title": "Hub Business Configuration",
      "description": "Devolutions Hub Business connection settings",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "title": "Hub URL",
            "description": "Full Hub URL (e.g., https://yourcompany.devolutions.app)",
            "type": "string",
            "pattern": "^https://.*\\.devolutions\\.app$"
          },
          "organizationId": {
            "title": "Organization ID",
            "description": "Organization identifier for Hub Business",
            "type": "string"
          },
          "type": {
            "title": "Hub Type",
            "description": "Hub connection type (optional)",
            "type": "string"
          },
          "version": {
            "title": "Hub Version",
            "description": "Hub 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 Workspace 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 Data Source Access",
          "description": "Automatically synchronize entries when accessing a data source",
          "type": "boolean",
          "default": false
        },
        "useHubEmbeddedBrowser": {
          "title": "Use Hub Embedded Browser",
          "description": "Open Hub connections in embedded browser (disable if using credential providers)",
          "type": "boolean",
          "default": true
        },
        "lockingOption": {
          "title": "Locking Method",
          "description": "Authentication method used when locking/unlocking Workspace. 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 Workspace from starting automatically after configuration deployment",
      "type": "boolean",
      "default": true
    }
  }
}
  1. Dans Jamf Pro, aller à : Ordinateurs – Profils de configuration – Application & paramètres personnalisés

  2. Cliquer sur Configurer et importer le fichier de schéma JSON

  3. Configurer les paramètres souhaités en utilisant l'interface graphique fournie par Jamf

  4. Cibler le profil vers vos ordinateurs concernés

  5. Déployer le profil de configuration

Option B : Profil de configuration manuel

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

Profil d’exemple (com.devolutions.workspace.mobileconfig) :

<?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>Workspace 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://dvls.company.com</string>
                </dict>
            </array>
        </dict>
    </array>
</dict>
</plist>

Déployer via :

  • Jamf Pro : Profils de configuration – Télécharger le profil

  • Microsoft Intune : Configuration de l’appareil – Profil personnalisé

  • Autres MDM : téléverser un profil de configuration personnalisé

Microsoft Intune pour Mac

  1. Aller à : AppareilsProfils de configurationCréer un profil.

  2. Plateforme : macOS.

  3. Type de profil : Personnalisé.

  4. Téléverser le profil de configuration (fichier .mobileconfig).

  5. Attribuer aux groupes cibles.

  6. Déployer.

Vérification de la configuration MDM

Sur un Mac géré :

# 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 en format JSON.

Format de fichier

{
  "hubs": [
    {
      "url": "https://mycompany.devolutions.app",
      "organizationId": "00000000-0000-0000-0000-000000000000",
      "type": "Business",
      "version": ""
    }
  ],
  "dvls": [
    {
      "name": "Production DVLS",
      "serverUrl": "https://dvls.company.com",
      "serverVersion": ""
    },
    {
      "name": "Development DVLS",
      "serverUrl": "https://dvls-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

hubs Array (Optionnel)

Tableau d’instances Devolutions Hub Business à configurer.

Champ Type Obligatoire Description
url string Oui URL du Hub (ex. : https://mycompany.devolutions.app)
organizationId string Oui GUID de l’organisation
type string Non Toujours « Business » (rempli automatiquement)
version string Non Version du Hub (remplie automatiquement lors de la première connexion)

hubs Array (Optionnel)

Tableau d’instances Devolutions Server à configurer.

Champ Type Obligatoire Description
name string Oui Nom affiché pour le serveur
serverUrl string Oui (URL de Devolutions Server (par exemple, https://dvls.company.com)
serverVersion string Non Version du serveur (remplie automatiquement lors de la première connexion)

Objet configs (optionnel)

Paramètres de l'application à préconfigurer.

Voir la Référence des paramètres de configuration pour la liste complète.

Emplacements des fichiers de configuration

Configuration au niveau utilisateur

  • Chemin : ~/Library/Application Support/Workspace/Config.cfg

  • Priorité : la plus élevée pour les configurations spécifiques à l'utilisateur

Configuration à l’échelle du système

  • Chemin : /Library/Application Support/Devolutions/Workspace/DefaultConfig.cfg

  • Priorité : appliquer si la configuration utilisateur n’existe pas

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

  • Priorité : la plus élevée (remplace toute configuration basée sur un fichier)

  • Domaine de préférences : net.devolutions.authenticator

  • Clés : Identique à l'objet configs au format JSON

  • Configuration : via un profil MDM ou la commande defaults

Ordre de priorité

Vérifier les sources de configuration dans l’ordre suivant (le premier trouvé prévaut) :

  1. Préférences gérées macOS – Politiques MDM/Jamf (priorité la plus élevée)

  2. Fichier de configuration utilisateur – configuration spécifique à l’utilisateur

  3. Fichier de configuration système – Par défaut à l'échelle du système (copié vers l'emplacement utilisateur)

Référence des paramètres de configuration

Compléter la référence de tous les paramètres configurables.

Correspondance des clés de paramètres

Exporter la clé (Config/MDM) Type Par défaut Description
language Chaîne de caractères en-US Langue de l'interface utilisateur de l'application
reduceToTrayOnClose Booléen false Réduire dans la barre d’état système au lieu de quitter
clearClipboardSensitiveData Booléen false Minuterie pour effacer automatiquement le presse-papiers
clipboardTimer Entier 30 Secondes avant d'effacer le presse-papiers (1-999)
useFavicon Booléen false Télécharger les favicônes du site Web pour les entrées
useEntriesSyncOnDatasourceAccess Booléen false Synchroniser automatiquement les entrées lors de l'accès à la source de données
useHubEmbeddedBrowser Booléen true Utiliser le navigateur intégré pour l'authentification Hub
shareUsageData Booléen true Partager les statistiques d’usage anonymes
lockingOption Chaîne de caractères (aucun) Méthode de verrouillage : password, biometric
useBackgroundLock Booléen false Verrouiller lors de la réduction dans la barre d'état système
useLockWhenInactive Booléen false Verrouiller après période d'inactivité
lockInactivityDelay Entier 30 Secondes avant le verrouillage automatique (30-3600)

Langues prises en charge

Code Langue
en-US Anglais (États-Unis)
fr Français
de Allemand
es Espagnol
cs Tchèque
hu Hongrois
it Italien
nl Néerlandais
pl Polonais
ru Russe
sv Suédois
tr Turc
uk Ukrainien
zh-CHS Chinois (simplifié)
zh-TW Chinois (traditionnel)

Options de verrouillage

Valeur Description Exigences
mot de passe Mot de passe maître L’utilisateur définit le mot de passe lors du premier verrouillage
biométrie Touch ID Matériel Touch ID requis
If Touch ID is not available, falls back to password.

Exemples de déploiement

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

Utiliser le schéma JSON Jamf :

  1. Téléverser le schéma JSON dans Jamf Pro

  2. Configurer via l'interface graphique d'administration :\n

    • Configuration de Devolutions Server : ajouter le serveur avec l’URL https://dvls.company.com

    • Méthode de verrouillage : biométrique (Touch ID)

    • Verrouillage lors du passage en arrière-plan : activé

    • Verrouillage automatique en cas d'inactivité : Activé

    • Délai de verrouillage pour inactivité : 5 minutes (300 secondes)

  3. Cibler les ordinateurs visés

  4. Déployer

Exemple 2 : Configuration manuelle du profil pour Devolutions Hub Business

<?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>Workspace Hub 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

#!/bin/bash

# Configure DVLS server (complex structure requires plist file)
defaults write net.devolutions.authenticator dvls -array-add \
  '{name = "Production DVLS"; serverUrl = "https://dvls.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 du fichier de configuration via script

#!/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 le fichier de configuration

Créer config.cfg :

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

Déployer via script ou placer manuellement dans l’emplacement global du système.

Résolution de problèmes

Configuration MDM non appliquée

Profil de configuration installé, mais les paramètres ne s'appliquent pas.

  1. Vérifier le domaine de préférence : S'assurer d'utiliser net.devolutions.authenticator (et non net.devolutions.workspace).

  2. Vérifier l’état du profil : Préférences Système – Profils – Vérifier que le profil est installé.

  3. Rafraîchir le profil de force : sudo profiles renew -type enrollment.

  4. Vérifier les conflits : Supprimer tous les fichiers de configuration utilisateur existants.

  5. Examiner les journaux : vérifier Console.app pour les erreurs liées à Workspace.

Fichier de configuration non chargé

Fichier de configuration présent mais non appliqué.

  1. Vérifier l’emplacement du fichier : Vérifier le chemin correct (/Library/Application Support/Devolutions/Workspace/DefaultConfig.cfg).

  2. Vérifier la validité du JSON : valider la syntaxe JSON (pas de virgules finales, guillemets appropriés).

  3. Vérifier les permissions : S'assurer que le fichier est lisible par tous les utilisateurs (chmod 644).

  4. Vérifier la propriété : doit appartenir à root ou à l'administrateur.

  5. Supprimer la configuration utilisateur : enlever ~/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érifier que le Mac dispose du matériel Touch ID

  2. Configuration Touch ID : S’assurer que Touch ID est configuré dans Préférences système – Touch ID

  3. Secours : le système basculer automatiquement vers le mot de passe si le matériel n'est pas disponible

  4. Vérifier les journaux : consulter les journaux de l’application pour détecter les erreurs d’initialisation biométrique

Confusion du domaine de préférence

Ne pas savoir quel domaine de préférences utiliser.

Solution : Toujours utiliser net.devolutions.authenticator pour toutes les configurations Workspace (mobiles 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 avoir la priorité la plus élevée et écraser les changements effectués par l'utilisateur

  2. Configuration utilisateur vs système : la configuration système ne s'applique que si la configuration utilisateur n'existe pas

  3. Permissions de fichiers : Vérifier les permissions d’écriture sur l’emplacement de configuration utilisateur

La source de données existe déjà

L'import échoue avec le message « source de données déjà existante ».

Explication : L'analyseur de configuration détecte les doublons par URL normalisée (sans distinction entre majuscules et minuscules, barre oblique finale supprimée).

  1. Supprimer manuellement la source de données existante avant d'appliquer la configuration.

  2. Modifier la configuration pour supprimer les entrées en double.

  3. Supprimer le fichier de configuration utilisateur pour forcer la réimportation de la configuration système.

Meilleures pratiques

1. Tester d'abord la configuration

Avant de déployer à tous les utilisateurs :

  1. Créer un groupe test d’ordinateurs dans Jamf/Intune.

  2. Appliquer la configuration au groupe de test.

  3. Vérifier que les sources de données et les paramètres fonctionner comme prévu.

  4. Déployer en production.

2. Utiliser la MDM pour gérer les flottes

Toujours utiliser les préférences MDM/gérées pour :

  • Macs gérés par Jamf Pro

  • Mac gérés par Intune

  • Tout environnement géré par MDM

Avantages :

  • Gestion centralisée

  • application de la politique

  • Priorité la plus élevée (outrepasse les configurations locales)

  • Approche standard d'entreprise

3. Documenter la configuration

Maintenir la documentation de votre configuration MDM incluant :

  • Quelles sources de données sont préconfigurées

  • Quels paramètres appliquer

  • Expérience utilisateur attendue

  • Contact de l’assistance en cas de problème

4. Communiquer avec l'utilisateur

Informer les utilisateurs :

  • Les sources de données seront préconfigurées

  • Ils doivent toujours se connecter avec leurs identifiants

  • La configuration s'effectuer lors du premier lancement de l'appli

  • Contacter l’équipe TI si les sources de données n’apparaissent pas

5. Considérer les aspects de sécurité

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

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

Pourquoi :

  • Imposer l’authentification Touch ID

  • Verrouiller l'appli immédiatement lorsqu'elle passe en arrière-plan

  • Verrouiller automatiquement après 5 minutes d’inactivité

  • Effacer le presse-papiers après 60 secondes

  • Désactiver la collecte des données d’usage (optionnel)

6. Définir les exigences du format d’URL

Toutes les URLs doivent :

  • Inclure le protocole (https://)

  • Être des URL valides et accessibles

  • Ne pas terminer par une barre oblique (l'appli va normaliser)

Exemples :

  • https://dvls.company.com

  • https://workspace.devolutions.app

  • dvls.company.com (manquant https://)

  • http://dvls.company.com (HTTP non recommandé)

7. Exploiter le schéma JSON Jamf

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

  • Fournit une interface graphique conviviale pour l’utilisateur

  • Valider la configuration avant le déploiement

  • Éviter les erreurs de syntaxe

  • Afficher toutes les options disponibles avec descriptions

Référence rapide

Fichier de configuration minimal

{
  "dvls": [
    {
      "name": "DVLS Server",
      "serverUrl": "https://dvls.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

defaults read net.devolutions.authenticator

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

La pré-configuration MDM (gestion des appareils mobiles) permettre aux administrateurs informatiques de provisionner automatiquement les sources de données Workspace (Devolutions Server et Devolutions Hub Business) ainsi que les paramètres d’application sur des appareils iOS gérés avant que les utilisateurs ne lancer l’application pour la première fois.

Avantages

  • Déploiement transparent : Les utilisateurs reçoivent des sources de données préconfigurées.

  • Configuration cohérente : S’assurer que tous les utilisateurs ont les mêmes paramètres.

  • Réduire la charge du support : ne pas avoir à guider manuellement les utilisateurs lors de la configuration.

  • Appliquer les politiques de sécurité : pré–configurer le verrouillage biométrique, les minuteries du presse-papiers, etc.

Comment cela fonctionne

  1. L’administrateur informatique configurer les sources de données et les paramètres dans la console MDM (Jamf ou Apple MDM).

  2. MDM pousser la configuration vers les appareils gérés.

  3. L’utilisateur lance l’appli pour la première fois.

  4. L'application lit la configuration MDM et crée les sources de données automatiquement.

  5. L'utilisateur s'authentifie pour compléter la connexion (saisit les identifiants).

Notes importantes

  • Authentification requise : Les sources de données pré-configurées sont créées dans un état « en attente ». Les utilisateurs doivent encore s'authentifier (se connecter) pour compléter la connexion.

  • Premier lancement seulement : la configuration est appliquée une seule fois lors du premier lancement. Toute modification ultérieure nécessitera la réinstallation de l'appli ou une configuration manuelle.

  • Identifiants NON stockés : La préconfiguration MDM n'inclure pas les identifiants utilisateur. Les utilisateurs devoir se connecter avec leurs propres identifiants.

Prérequis

  • Serveur Jamf Pro ou solution MDM Apple

  • Application Workspace déployée via MDM (App Store ou interne)

  • iOS 13.0 ou version ultérieure sur appareils gérés

  • Appareils inscrits dans une solution MDM

Déploiement avec Jamf Pro

Étape 1 : Créer une configuration d’application gérée

  1. Se connecter à Jamf Pro.

  2. Accéder à Applications pour appareils mobiles – Trouver l’application « Workspace ».

  3. Cliquer sur l'appli – Aller à l'onglet Configuration de l'application.

  4. Cliquer sur Ajouter pour créer une nouvelle configuration.

Étape 2 : configurer les paramètres

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

Méthode de configuration

  • Sélectionner : Téléverser le fichier de spécification dans le générateur Jamf AppConfig pour un formulaire GUI (recommandé), OU

  • Sélectionner : Entrer la configuration directement comme plist/dictionnaire dans Jamf Pro

Jamf Pro utilise la norme de la communauté AppConfig pour la configuration gérée d'applis iOS. Le fichier spec offre un formulaire GUI dans Jamf AppConfig Generator où les administrateurs peuvent configurer les paramètres sans écrire de configuration brute.

  1. Télécharger le fichier de spécification AppConfig pour Workspace.

  2. Ouvrir le Jamf AppConfig Generator.

  3. Téléverser le fichier de spécification et configurer les paramètres via le formulaire graphique.

  4. Télécharger le fichier de configuration plist généré à partir du générateur.

  5. Dans Jamf Pro, naviguer vers Applications d’appareils mobilesWorkspaceConfiguration de l’application.

  6. Coller le plist généré dans le champ App Configuration, cibler les appareils concernés, puis déployer.

Option B : configuration directe (alternative)

Si ne pas utiliser le specfile, pouvoir saisir la configuration directement en tant que dictionnaire plist dans Jamf Pro. Utiliser le format de clé plate ci-dessous — l'appli transforme automatiquement les clés plates (par exemple, dvls_serverUrl, hub_url) dans la structure interne imbriquée :

<dict>
  <!–– DVLS Server ––>
  <key>dvls_serverUrl</key>
  <string>https://dvls.company.com</string>

  <!–– Hub Business ––>
  <key>hub_url</key>
  <string>https://workspace.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é à plat (dvls_serverUrl, hub_url) est utilisé pour la configuration des applis gérées par Jamf. L’appli 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 : Assigner aux appareils

  1. Définir Méthode de distribution à la portée appropriée (utilisateurs, appareils ou groupes).

  2. Cliquer sur Enregistrer.

  3. Pousser la configuration sur les appareils cibles.

Étape 4 : Vérifier le déploiement

Sur un appareil iOS géré :

  1. Installer/lancer l'application Workspace iOS.

  2. L’appli doit automatiquement afficher les sources de données préconfigurées.

  3. Utilisateur appuyer sur la source de données – saisir les identifiants – se connecter.

Schéma de configuration

Configuration de Devolutions Server

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

Configuration de Devolutions Hub Business

{
  "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
langue Chaîne de caractères "en-US", "fr", "de", "es", etc. Langue d'affichage de l'appli
lockingOption Chaîne de caractères "", "biométrique" Méthode de verrouillage de l'appli
shareUsageData Booléen true, false Partager des analyses d'usage anonymes
useBackgroundLock Booléen true, false Verrouiller lorsque l’appli passe en arrière-plan
backgroundLockDelay Entier 0, 60, 300, 900, 1800, 3600 Délai avant le verrouillage lors de la mise en arrière-plan (secondes)
useLockWhenInactive Booléen true, false Activer le verrouillage automatique après inactivité
lockInactivityDelay Entier 30, 60, 120, 180, 240, 300 Délai d'inactivité (secondes)
useFavicon Booléen true, false Utiliser les favicônes du site Web
autoSearch Booléen true, false Activer la recherche automatique dans les coffres
useHubEmbeddedBrowser Booléen true, false Utiliser le navigateur intégré pour l'authentification Hub
highlightSpecialCharacters Booléen true, false Mettre en surbrillance les caractères spéciaux dans les mots de passe

Exemples de configuration

Exemple 1 : un seul Devolutions Server

Configuration Jamf (en utilisant le schéma GUI) :

  • Devolutions Server : Ajouter un serveur\n

    • Nom : "Corporate DVLS"

    • URL du serveur : "https://dvls.acme.com"

    • Version du serveur : "2024.1"

  • Instances Devolutions Hub Business : Laisser vide

  • Paramètres de l'application : laisser par défaut

JSON direct (si le schéma n'est pas utilisé) :

{
  "dvls": [
    {
      "name": "Corporate DVLS",
      "serverUrl": "https://dvls.acme.com",
      "serverVersion": "2024.1"
    }
  ]
}

Exemple 2 : Devolutions Hub Business avec paramètres de sécurité

Configuration Jamf (en utilisant le schéma GUI) :

  • Instances Devolutions Hub Business : Ajouter un Hub\n

    • URL du Hub : "https://workspace.devolutions.app"

    • ID d’organisation : (laisser vide ou entrer l’ID de votre organisation)

  • Paramètres de l'application:\n

    • Méthode de verrouillage : « Biométrique (Touch ID/Face ID) »

    • Verrouillage lors du passage en arrière-plan : activé

    • Délai de verrouillage en arrière-plan : « Immédiat »

    • Verrouillage automatique lorsque inactif : Activé

    • Verrouillage automatique en cas d’inactivité : « 3 minutes »

JSON direct (si le schéma n'est pas utilisé) :

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

Exemple 3 : Plusieurs sources de données

Configuration Jamf (en utilisant le schéma GUI) :

  • Devolutions Server : Ajouter plusieurs\n

    • Serveur 1 : Nom « Production DVLS », URL « https://dvls–prod.company.com »

    • Serveur 2 : Nom « Test DVLS », URL « https://dvls–test.company.com »

  • instances Devolutions Hub Business : Ajouter une

    • URL du Hub : "https://workspace.devolutions.app"

    • ID de l'organisation : "org–abc123"

  • Paramètres de l'application:\n

    • Langue : « English »

    • Partager les données d'usage : Désactivé

JSON direct (si le schéma n'est pas utilisé) :

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

Résolution de problèmes

Configuration non appliquée

Problème : Les utilisateurs signalent qu’aucune source de données pré–configurée n’apparaît.

Solutions :

  1. Vérifier l'inscription MDM :\n

    • iOS : Paramètres – Général – VPN & Gestion des appareils – Vérifier le profil

  2. Vérifier la syntaxe de la configuration :\n

    • Valider la syntaxe JSON (utiliser jsonlint.com)

    • S'assurer que tous les champs requis soient présents

  3. Vérifier que l'appli est gérée par la MDM :\n

    • L'appli doit être déployée via MDM (non installée manuellement depuis l’App Store)

  4. Réappliquer la configuration :\n

    • Supprimer l'appli – Réinstaller via MDM – La configuration s'applique au premier lancement

Les utilisateurs ne peuvent pas supprimer les sources de données en attente

Utilisateurs bloqués avec des sources de données en attente qu’ils ne peuvent pas supprimer.

  • Nouveau dans la version 2025.3.2 : Les utilisateurs peuvent désormais supprimer les sources de données en attente\n

    • Depuis le menu latéral : effectuer un appui long sur la source de données – Sélectionner « Supprimer »

    • Depuis l’écran en attente : Appuyer sur le bouton « Supprimer »

Paramètres incorrects appliqués

Les paramètres ne correspondent pas aux valeurs attendues.

  1. Vérifier les types de données :\n

    • Booléens : Utiliser true/false (et non les chaînes "true"/"false")

    • Entiers : utiliser les nombres sans guillemets (ex : 60 et non "60")

    • Chaînes : Toujours utiliser des guillemets (par exemple : "en–US")

  2. Vérifier les noms des paramètres :\n

    • Vérifier l'orthographe (par exemple, lockInactivityDelay et non lockInactivityTimeout)

    • Respecte la casse (utiliser la casse exacte indiquée dans le schéma)

Instances multiples de la même source de données

Des sources de données en double apparaissent. La configuration a été appliquée plusieurs fois (appli réinstallée ou configuration modifiée).

  • Vérifications de préconfiguration pour les sources de données existantes par URL

  • Si des doublons existent, permettre aux utilisateurs de supprimer les éléments supplémentaires via le menu du tiroir

Le verrou biométrique ne fonctionne pas

Face ID / Touch ID ne s'active pas.

  1. Vérifier la prise en charge de l'appareil : Vérifier que l'appareil dispose du matériel Face ID ou Touch ID

  2. Vérifier les paramètres iOS : veiller à configurer Face ID/Touch ID dans les paramètres

  3. Vérifier les permissions : l'appli peut avoir besoin de la permission biométrique de l'utilisateur

  4. Solution de repli : le système bascule automatiquement vers le code secret si la biométrie n’est pas disponible

Meilleures pratiques

1. Tester d'abord la configuration

Avant de déployer à tous les utilisateurs :

  1. Créer un groupe de test utilisateur/appareil dans Jamf.

  2. Appliquer la configuration au groupe de test.

  3. Vérifier que les sources de données et les paramètres fonctionner comme prévu.

  4. Déployer en production.

2. Utiliser le fichier de spécification AppConfig

Pour les déploiements Jamf Pro :

  • Toujours utiliser le fichier de spécification AppConfig (option A).

  • Fournir un formulaire GUI convivial via le Jamf AppConfig Generator.

  • Valider la configuration avant le déploiement.

  • Éviter les erreurs de syntaxe.

  • Afficher toutes les options disponibles avec descriptions.

3. Documenter la configuration

Maintenir la documentation de votre configuration MDM incluant :

  • Quelles sources de données sont préconfigurées

  • Quels paramètres appliquer

  • Expérience utilisateur attendue

  • Contact de l’assistance en cas de problème

4. Communiquer avec l'utilisateur

Informer les utilisateurs :

  • Préconfigurer les sources de données

  • Ils doivent toujours se connecter avec leurs identifiants

  • La configuration s'effectuer lors du premier lancement de l'appli

  • Contacter l’équipe TI si les sources de données n’apparaissent pas

5. Considérer les aspects de sécurité

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

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

Pourquoi :

  • Imposer l’authentification Face ID/Touch ID

  • Verrouiller l'appli immédiatement lorsqu'elle passe en arrière-plan

  • Verrouille automatiquement après 5 minutes d'inactivité

  • Désactiver la collecte des données d’usage (optionnel)

6. Vérifier la compatibilité des versions

  • Version minimale : 2025.3.2 (pour la prise en charge complète des sources de données en attente)

  • Devolutions Server versions : Devolutions Server 2023.3+ recommandé

  • iOS : 13.0+ requis

7. Indiquer les exigences de format d’URL

Toutes les URLs doivent :

  • Inclure le protocole (https://)

  • Être des URL valides et accessibles

  • Ne pas terminer par une barre oblique (l'appli va normaliser)

Exemples :

  • https://dvls.company.com

  • https://workspace.devolutions.app

  • dvls.company.com (manquant https://)

  • http://dvls.company.com (HTTP non recommandé)

8. Gérer plusieurs environnements

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

  • Créer des profils de configuration Jamf distincts pour chaque environnement

  • Associer chaque profil aux groupes d'appareils appropriés

  • Les utilisateurs dans chaque environnement obtenir automatiquement les bonnes sources de données

Référence rapide

Configuration minimale

{
  "dvls": [
    {
      "name": "DVLS Server",
      "serverUrl": "https://dvls.example.com"
    }
  ]
}

Domaine de préférence

net.devolutions.workspace.mobile

Résumé des étapes de déploiement

  1. Télécharger le fichier de spécification AppConfig.

  2. Téléverser dans le Jamf AppConfig Generator.

  3. Configurer les paramètres via le formulaire GUI.

  4. Télécharger le fichier plist généré.

  5. Dans Jamf Pro : Applications d’appareil mobile – Workspace – Configuration de l’application.

  6. Coller le fichier plist, cibler les appareils concernés et déployer.

Devolutions Forum logo Partagez vos commentaires