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.
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
Un administrateur informatique configurer des sources de données et des paramètres via les paramètres MSI ou des fichiers de configuration.
L’outil de déploiement pousse l’installation sur les appareils gérés (Intune, SCCM, PDQ Deploy, etc.).
Utilisateurs lancer l'appli pour la première fois.
L'appli lit la configuration et crée automatiquement les sources de données.
Les utilisateurs se connecter pour compléter la connexion.
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.
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.cfgComment cela fonctionne :
L'installation MSI écrit la configuration dans ProgramData lors de l’installation
Lorsque tout utilisateur lance Workspace, l'appli détecte la configuration à l'échelle du système
La configuration est automatiquement copiée dans le profil itinérant de l’utilisateur
L’utilisateur a configuré l'application
Fiable : Fonctionne indépendamment du contexte utilisateur (aucun problème d’utilisateur « Default user »)
Cohérent : tous les utilisateurs sur la machine obtiennent la même configuration
Compatible avec l'automatisation : Parfait pour Intune, SCCM, installations silencieuses
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
msiexec /i Workspace.msi /qn USER_CONFIG="C:\path\to\Config.cfg"
Cible :
%LOCALAPPDATA%\net.devolutions\Workspace\Config.cfgComment cela fonctionne :
Le MSI écrit la configuration dans le dossier AppData local de l'utilisateur qui installe
L’utilisateur lance Workspace
La configuration est copiée dans le profil itinérant de l'utilisateur
Seulement cet utilisateur a configuré l’application
Limitations :
Configurer uniquement l'utilisateur qui a exécuté l'installateur
Peut échouer lors des déploiements automatisés (problèmes de contexte utilisateur)
Non adapté aux machines multi-utilisateurs
Idéal pour : Installations interactives par les utilisateurs finaux, appareils monoposte
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 : Outils – Installation personnalisée (dans l’application de bureau)
Consulter la section Générateur de fichier de configuration pour les détails.
Les fichiers de configuration utilisent l’extension .cfg et contiennent des données en format JSON.
{
"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
}
}
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 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) |
Paramètres de l'application à préconfigurer.
Voir Référence des paramètres de configuration pour la liste complète.
Les fichiers de configuration sont chargés par ordre de priorité selon leur emplacement.
AppData itinérant :
%APPDATA%\net.devolutions\Workspace\Config.cfgPar défaut :
C:\Users\[Username]\AppData\Roaming\net.devolutions\Workspace\Config.cfgSynchronise sur tous les ordinateurs joints au domaine
Priorité la plus élevée (spécifique à l'utilisateur)
-
Local AppData :
%LOCALAPPDATA%\net.devolutions\Workspace\Config.cfgDéfaut :
C:\Users\[Username]\AppData\Local\net.devolutions\Workspace\Config.cfgSpécifique à la machine, non synchronisé
Utilisé lors de l’installation MSI, puis copié dans Roaming
-
ProgramData :
%ProgramData%\net.devolutions\Workspace\DefaultConfig.cfgPar défaut :
C:\ProgramData\net.devolutions\Workspace\DefaultConfig.cfgS’appliquer à tous les utilisateurs du système
Nécessite le fichier indicateur
config.readydans le même répertoireCopié vers l’emplacement de l’utilisateur en itinérance lors du premier lancement (si la configuration utilisateur n’existe pas)
Fichier :
config.readyEmplacement : Même répertoire que
DefaultConfig.cfgBut : Signaler que la configuration système est prête pour le déploiement
Contenu : fichier vide, seule la présence est vérifiée
Vérifier les sources de configuration dans l’ordre suivant (le premier trouvé prévaut) :
Fichier de configuration utilisateur – Configuration spécifique à l'utilisateur
Fichier de configuration système – valeur par défaut à l'échelle du système (copié dans l'emplacement utilisateur)
L’installateur MSI Windows accepte les paramètres suivants pour la préconfiguration.
| 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.
| 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.appRemarque :
ORGANIZATION_IDest 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è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è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è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è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è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ètre | Type | Valeurs | Par défaut | Description |
|---|---|---|---|---|
| SHARE_USAGE_DATA | Chaîne de caractères | true, false |
true |
Partager des statistiques d'usage anonymes. |
L’application de bureau inclut un outil visuel pour créer des fichiers de configuration.
Lancer Devolutions Workspace (version bureau).
Aller à : Outils – Installation personnalisée.
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
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)
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
Options d’exportation
Générer le fichier .cfg : Enregistrer la configuration dans un fichier
.cfgCopier la commande MSI : Générer la commande MSI complète avec tous les paramètres
Sélection de fichier
Parcourir les fichiers
.cfgValidation et analyse du fichier
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à)
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
Compléter la référence de tous les paramètres configurables.
| 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) |
| 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) |
| 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.
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"
# 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"
Créer un dossier de travail (par exemple, C:\IntuneApps\Workspace\) et placer ces fichiers :
Workspace.msiconfig.cfg(créé via Outils – Installation personnalisée ou manuellement)Install-Workspace.ps1(script PowerShell ci-dessous)
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
Utiliser l’outil Microsoft Win32 Content Prep (IntuneWinAppUtil.exe) :
IntuneWinAppUtil.exe -c C:\IntuneApps\Workspace -s Install-Workspace.ps1 -o C:\IntuneApps\Output
Dans le portail Microsoft Intune :
Naviguer vers : Applications – Windows – Ajouter – Application Windows (Win32)
Fichier de paquet d’appli : Téléverser
Workspace.intunewinInformations sur l'appli : saisir le nom, la description, l'éditeur
Configuration du programme :
Commande d'installation :
powershell.exe -ExecutionPolicy Bypass -File .\Install-Workspace.ps1Commande de désinstallation :
msiexec.exe /x {PRODUCT-CODE-GUID} /qn /norestartComportement d’installation : Système
Exigences : Windows 10 1607+ (64 bits)
Règles de détection : code produit MSI (détection automatique)
Affectations : Affecter aux groupes cibles
Lorsque l'appli est déployée sur un appareil, les actions suivantes se produire automatiquement :
Intune télécharge et exécute
Install-Workspace.ps1Le script copie
config.cfgversC:\Program Files\config.cfgLe script installe le MSI avec
DEPLOY_CONFIG="C:\Program Files\config.cfg"Le MSI lit le fichier de configuration et l'écrit dans
%ProgramData%\net.devolutions\Workspace\DefaultConfig.cfgQuand 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.
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
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"
Fichier de configuration présent mais paramètres non appliqués.
Vérifier l’emplacement du fichier : vérifier le chemin correct (
%ProgramData%\net.devolutions\Workspace\DefaultConfig.cfg)Vérifier la validité du JSON : valider la syntaxe JSON (pas de virgules finales, guillemets appropriés)
Vérifier les permissions : l’utilisateur doit avoir une autorisation de lecture pour le fichier de configuration
Vérifier le fichier indicateur : vérifier si le fichier
config.readyexiste dans le même répertoireVérifier les journaux : Examiner les journaux d'activité de l'application pour des erreurs d'analyse
Problème : configuration globale du système ignorée.
Solution : Créer le fichier
config.ready:
type nul > "%ProgramData%\net.devolutions\Workspace\config.ready"
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"
Les paramètres MSI ne créent pas la configuration.
Vérifier la syntaxe des paramètres : S’assurer d’utiliser la bonne syntaxe des guillemets (utiliser
"value", et non'value')Journaliser l'installation MSI : Ajouter
/l*v install.logpour voir les erreurs détailléesVérifier l’exécution PowerShell : vérifier si la stratégie d’exécution bloquer les scripts
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 reviennent aux valeurs par défaut après le redémarrage.
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.
Substitution de stratégie de groupe : Vérifier si le GPO applique les paramètres
Permissions sur les fichiers : vérifier les autorisations d'accès en écriture à l'emplacement de configuration utilisateur
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).
Supprimer manuellement la source de données existante avant l’importation
Modifier le fichier de configuration pour supprimer les entrées en double
Utiliser l’outil d'installation personnalisée pour fusionner les configurations
Windows Hello ne s'active pas.
Configuration de Windows Hello : s'assurer que Windows Hello est configuré dans les paramètres Windows
Secours : le système basculer automatiquement vers le mot de passe si le matériel n'est pas disponible
Vérifier les journaux : consulter les journaux de l’application pour détecter les erreurs d’initialisation biométrique
Avant de déployer à tous les utilisateurs :
Créer un groupe test d’utilisateurs/appareils
Appliquer la configuration au groupe de test
Vérifier que les sources de données et les paramètres fonctionnent comme attendu
Déployer en production
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
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
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
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)
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.comhttps://workspace.devolutions.appdvls.company.com(manquant https://)http://dvls.company.com(HTTP non recommandé)
Ordinateur joint à un domaine : Utiliser les données d’application itinérantes (
TARGET_LOCATION="roaming") pour la synchronisation des profilsAutonome : Utiliser Local AppData (
TARGET_LOCATION="local") ou Système (TARGET_LOCATION="system")
{
"dvls": [
{
"name": "DVLS Server",
"serverUrl": "https://dvls.example.com"
}
]
}
msiexec /i Workspace.msi /qn /norestart DEPLOY_CONFIG="\\server\share\Config.cfg"
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.
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
L'administrateur TI configurer les sources de données et les paramètres via MDM ou fichiers de configuration
Le MDM pousse la configuration vers les appareils gérés
L’utilisateur lance l’appli pour la première fois
L’appli lire la configuration et créer les sources de données automatiquement
L’utilisateur s’authentifie pour terminer la connexion (saisit les identifiants)
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.
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
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.
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.cfgEmplacement par utilisateur :
~/Library/Application Support/Workspace/Config.cfg
Voir la section Structure du fichier de configuration pour plus de détails.
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
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
}
}
}
Dans Jamf Pro, aller à : Ordinateurs – Profils de configuration – Application & paramètres personnalisés
Cliquer sur Configurer et importer le fichier de schéma JSON
Configurer les paramètres souhaités en utilisant l'interface graphique fournie par Jamf
Cibler le profil vers vos ordinateurs concernés
Déployer le profil de configuration
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é
Aller à : Appareils – Profils de configuration – Créer un profil.
Plateforme : macOS.
Type de profil : Personnalisé.
Téléverser le profil de configuration (fichier
.mobileconfig).Attribuer aux groupes cibles.
Déployer.
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
Les fichiers de configuration utilisent l’extension .cfg et contiennent des données en format JSON.
{
"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
}
}
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 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) |
Paramètres de l'application à préconfigurer.
Voir la Référence des paramètres de configuration pour la liste complète.
Chemin :
~/Library/Application Support/Workspace/Config.cfgPriorité : la plus élevée pour les configurations spécifiques à l'utilisateur
Chemin :
/Library/Application Support/Devolutions/Workspace/DefaultConfig.cfgPriorité : appliquer si la configuration utilisateur n’existe pas
Priorité : la plus élevée (remplace toute configuration basée sur un fichier)
Domaine de préférences :
net.devolutions.authenticatorClés : Identique à l'objet
configsau format JSONConfiguration : via un profil MDM ou la commande
defaults
Vérifier les sources de configuration dans l’ordre suivant (le premier trouvé prévaut) :
Préférences gérées macOS – Politiques MDM/Jamf (priorité la plus élevée)
Fichier de configuration utilisateur – configuration spécifique à l’utilisateur
Fichier de configuration système – Par défaut à l'échelle du système (copié vers l'emplacement utilisateur)
Compléter la référence de tous les paramètres configurables.
| 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) |
| 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) |
| 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 |
Utiliser le schéma JSON Jamf :
Téléverser le schéma JSON dans Jamf Pro
Configurer via l'interface graphique d'administration :\n
Configuration de Devolutions Server : ajouter le serveur avec l’URL
https://dvls.company.comMé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)
Cibler les ordinateurs visés
Déployer
<?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>
#!/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
#!/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"
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.
Profil de configuration installé, mais les paramètres ne s'appliquent pas.
Vérifier le domaine de préférence : S'assurer d'utiliser
net.devolutions.authenticator(et nonnet.devolutions.workspace).Vérifier l’état du profil : Préférences Système – Profils – Vérifier que le profil est installé.
Rafraîchir le profil de force :
sudo profiles renew -type enrollment.Vérifier les conflits : Supprimer tous les fichiers de configuration utilisateur existants.
Examiner les journaux : vérifier Console.app pour les erreurs liées à Workspace.
Fichier de configuration présent mais non appliqué.
Vérifier l’emplacement du fichier : Vérifier le chemin correct (
/Library/Application Support/Devolutions/Workspace/DefaultConfig.cfg).Vérifier la validité du JSON : valider la syntaxe JSON (pas de virgules finales, guillemets appropriés).
Vérifier les permissions : S'assurer que le fichier est lisible par tous les utilisateurs (
chmod 644).Vérifier la propriété : doit appartenir à root ou à l'administrateur.
Supprimer la configuration utilisateur : enlever
~/Library/Application Support/Workspace/Config.cfgpour permettre l'application de la configuration système.
Touch ID ne s'active pas.
Vérification du matériel : vérifier que le Mac dispose du matériel Touch ID
Configuration Touch ID : S’assurer que Touch ID est configuré dans Préférences système – Touch ID
Secours : le système basculer automatiquement vers le mot de passe si le matériel n'est pas disponible
Vérifier les journaux : consulter les journaux de l’application pour détecter les erreurs d’initialisation biométrique
Ne pas savoir quel domaine de préférences utiliser.
Solution : Toujours utiliser net.devolutions.authenticator pour toutes les configurations Workspace (mobiles et bureau).
Les paramètres reviennent aux valeurs par défaut après le redémarrage.
MDM vs configuration utilisateur : les paramètres MDM avoir la priorité la plus élevée et écraser les changements effectués par l'utilisateur
Configuration utilisateur vs système : la configuration système ne s'applique que si la configuration utilisateur n'existe pas
Permissions de fichiers : Vérifier les permissions d’écriture sur l’emplacement de configuration utilisateur
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).
Supprimer manuellement la source de données existante avant d'appliquer la configuration.
Modifier la configuration pour supprimer les entrées en double.
Supprimer le fichier de configuration utilisateur pour forcer la réimportation de la configuration système.
Avant de déployer à tous les utilisateurs :
Créer un groupe test d’ordinateurs dans Jamf/Intune.
Appliquer la configuration au groupe de test.
Vérifier que les sources de données et les paramètres fonctionner comme prévu.
Déployer en production.
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
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
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
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)
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.comhttps://workspace.devolutions.appdvls.company.com(manquant https://)http://dvls.company.com(HTTP non recommandé)
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
{
"dvls": [
{
"name": "DVLS Server",
"serverUrl": "https://dvls.example.com"
}
]
}
net.devolutions.authenticator
/Library/Application Support/Devolutions/Workspace/DefaultConfig.cfg
defaults read net.devolutions.authenticator
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.
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.
L’administrateur informatique configurer les sources de données et les paramètres dans la console MDM (Jamf ou Apple MDM).
MDM pousser la configuration vers les appareils gérés.
L’utilisateur lance l’appli pour la première fois.
L'application lit la configuration MDM et crée les sources de données automatiquement.
L'utilisateur s'authentifie pour compléter la connexion (saisit les identifiants).
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.
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
Se connecter à Jamf Pro.
Accéder à Applications pour appareils mobiles – Trouver l’application « Workspace ».
Cliquer sur l'appli – Aller à l'onglet Configuration de l'application.
Cliquer sur Ajouter pour créer une nouvelle configuration.
Dans l'écran de configuration de l'appli :
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.
Télécharger le fichier de spécification AppConfig pour Workspace.
Ouvrir le Jamf AppConfig Generator.
Téléverser le fichier de spécification et configurer les paramètres via le formulaire graphique.
Télécharger le fichier de configuration plist généré à partir du générateur.
Dans Jamf Pro, naviguer vers Applications d’appareils mobiles – Workspace – Configuration de l’application.
Coller le plist généré dans le champ App Configuration, cibler les appareils concernés, puis déployer.
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.
Définir Méthode de distribution à la portée appropriée (utilisateurs, appareils ou groupes).
Cliquer sur Enregistrer.
Pousser la configuration sur les appareils cibles.
Sur un appareil iOS géré :
Installer/lancer l'application Workspace iOS.
L’appli doit automatiquement afficher les sources de données préconfigurées.
Utilisateur appuyer sur la source de données – saisir les identifiants – se connecter.
{
"name": string, // Display name (required)
"serverUrl": string, // Full URL with https:// (required)
"serverVersion": string // Version like "2024.1" (optional)
}
{
"url": string, // Full URL with https:// (required)
"organizationId": string, // Org ID (optional)
"type": "business", // Always "business" (required)
"version": "2020" // Always "2020" (required)
}
| 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 |
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"
}
]
}
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
}
}
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
}
}
Problème : Les utilisateurs signalent qu’aucune source de données pré–configurée n’apparaît.
Solutions :
Vérifier l'inscription MDM :\n
iOS : Paramètres – Général – VPN & Gestion des appareils – Vérifier le profil
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
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)
Réappliquer la configuration :\n
Supprimer l'appli – Réinstaller via MDM – La configuration s'applique au premier lancement
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 »
Les paramètres ne correspondent pas aux valeurs attendues.
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 :
60et non"60")Chaînes : Toujours utiliser des guillemets (par exemple :
"en–US")
Vérifier les noms des paramètres :\n
Vérifier l'orthographe (par exemple,
lockInactivityDelayet nonlockInactivityTimeout)Respecte la casse (utiliser la casse exacte indiquée dans le schéma)
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
Face ID / Touch ID ne s'active pas.
Vérifier la prise en charge de l'appareil : Vérifier que l'appareil dispose du matériel Face ID ou Touch ID
Vérifier les paramètres iOS : veiller à configurer Face ID/Touch ID dans les paramètres
Vérifier les permissions : l'appli peut avoir besoin de la permission biométrique de l'utilisateur
Solution de repli : le système bascule automatiquement vers le code secret si la biométrie n’est pas disponible
Avant de déployer à tous les utilisateurs :
Créer un groupe de test utilisateur/appareil dans Jamf.
Appliquer la configuration au groupe de test.
Vérifier que les sources de données et les paramètres fonctionner comme prévu.
Déployer en production.
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.
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
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
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)
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
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.comhttps://workspace.devolutions.appdvls.company.com(manquant https://)http://dvls.company.com(HTTP non recommandé)
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
{
"dvls": [
{
"name": "DVLS Server",
"serverUrl": "https://dvls.example.com"
}
]
}
net.devolutions.workspace.mobile
Télécharger le fichier de spécification AppConfig.
Téléverser dans le Jamf AppConfig Generator.
Configurer les paramètres via le formulaire GUI.
Télécharger le fichier plist généré.
Dans Jamf Pro : Applications d’appareil mobile – Workspace – Configuration de l’application.
Coller le fichier plist, cibler les appareils concernés et déployer.