DTLdesktop — Manuel de référence v1.1-1
Référence fonctionnelle du gestionnaire de configurations multi-écrans du bureau Windows.
Préface
Objet du manuel
Ce manuel décrit ce qu'est l'outil DTLdesktop, la raison pour laquelle il a été créé et ce qu'il fait. Il constitue une référence fonctionnelle et d'architecture. Il ne décrit volontairement ni menu, ni commande, ni procédure d'utilisation pas à pas, qui font l'objet d'un Guide de l'utilisateur.
DTLdesktop capture et restaure une configuration complète du bureau Windows — disposition et orientation des écrans, fond d'écran de chaque moniteur, position de chaque icône — sous la forme d'un profil nommé, et coordonne leur remise en cohérence en une seule opération vérifiée.
Audience visée
Le document s'adresse aux administrateurs de postes multi-écrans, aux mainteneurs de la suite NetDTL et à toute personne devant comprendre le comportement de capture et de restauration de DTLdesktop avant de l'intégrer à un poste de travail ou à un script de démarrage.
Principes structurants
- Localité : les profils sont stockés localement, aux côtés de l'application, sans dépendance à un service distant.
- Indépendance vis-à-vis du nommage Windows : la reconnaissance d'une configuration repose sur une signature géométrique normalisée, insensible à la façon dont Windows nomme ou renumérote les écrans.
- Coordination : orientation, résolution, fonds d'écran et icônes sont traités comme un seul état de bureau cohérent, pas comme trois réglages indépendants.
- Vérification : toute application de profil est contrôlée après coup ; un écart déclenche une tentative de retour automatique à l'état antérieur.
- Non-intrusion du diagnostic : la comparaison d'un profil à l'état courant n'applique jamais de modification.
- Langue : l'interface de DTLdesktop est en français ; ce manuel est disponible en français et en anglais.
Contexte
Origine du besoin
Sous Windows, la disposition des icônes du bureau et l'assignation d'un fond d'écran à chaque moniteur ne sont pas conservées de façon fiable lorsque la configuration des écrans change : ajout, retrait ou permutation physique d'un moniteur, changement de résolution ou d'orientation, reconnexion après mise en veille ou changement de poste d'accueil. Windows redistribue alors les icônes selon sa propre logique, et l'association d'un fond d'écran donné à un écran donné peut se retrouver perdue ou déplacée sur le mauvais écran.
Un facteur aggravant tient au nommage même des écrans : les identifiants que Windows attribue à chaque moniteur ne sont pas stables dans le temps. Une simple permutation physique de deux écrans peut suffire à inverser cette numérotation, alors que la disposition réellement voulue par l'utilisateur n'a pas changé.
Problème traité
DTLdesktop a été conçu pour traiter ce problème à la racine : reconnaître une configuration d'écrans par sa géométrie plutôt que par le nom que Windows lui attribue à un instant donné, et restaurer en une seule opération vérifiée l'ensemble de l'état de bureau associé à cette configuration — orientation, résolution, fond d'écran adapté à l'orientation de chaque écran, et position de chaque icône. Il corrige également un comportement observé sur certaines versions récentes de Windows 11, où un changement d'orientation d'un écran secondaire peut réorganiser les icônes du bureau de l'écran principal.
Architecture
Vue d'ensemble
DTLdesktop s'articule autour de trois couches : une couche d'accès aux API Windows d'affichage, de fond d'écran par moniteur et d'icônes du bureau ; une couche de modélisation des profils, qui capture, compare et applique un état de bureau ; et une couche de présentation, interactive ou non interactive.
Si la vérification d'une de ces trois branches échoue, DTLdesktop tente un retour automatique à l'état de bureau capturé juste avant l'application.
Composants
| Couche | Responsabilité |
|---|---|
| Accès système | Énumération des écrans et de leurs modes d'affichage, lecture et écriture des fonds d'écran par moniteur, lecture et écriture de la position des icônes du bureau dans le processus de l'Explorateur Windows. |
| Modèle de profils | Capture, chargement, comparaison, diagnostic, application coordonnée et reconnaissance automatique d'une configuration de bureau. |
| Présentation | Mode interactif au clavier et mode non interactif destiné à une intégration à un poste de travail ou à un script de démarrage. |
Organisation des fichiers
Application
DTLdesktop.pyImplémentation complète de l'outil : accès système, modèle de profils et présentation.
Profils
Desktop/<nom du profil>/monitors.jsonicons.jsonwallpaper.jsonÉtat capturé d'une configuration nommée : écrans, icônes et fonds d'écran par moniteur.
Réglages
Desktop/settings.jsonProfil actif et dernier dossier d'image utilisé pour la sélection des fonds d'écran.
Modèle de données
Signature de configuration
Chaque profil enregistre une signature géométrique normalisée de l'ensemble des écrans : position relative à l'écran le plus en haut à gauche, largeur, hauteur, orientation et statut d'écran principal, triés de façon déterministe. Cette signature ne fait référence à aucun nom de périphérique. Elle est recalculée à partir de la configuration réellement observée chaque fois qu'une comparaison est nécessaire, ce qui permet de reconnaître une disposition déjà connue même si Windows a renommé ou renuméroté les écrans depuis la capture du profil.
Identification des écrans
Au-delà de la signature géométrique, chaque écran possède un identifiant natif Windows utilisé pour lui associer son fond d'écran ; cet identifiant est distinct du nom de périphérique d'affichage. Lorsque tous les identifiants d'un profil sont retrouvés dans la configuration courante, la correspondance est établie sur cette base ; à défaut, elle repose sur la signature géométrique seule.
Identification des icônes
Chaque icône du bureau est identifiée par son nom et par son rang d'apparition parmi les icônes portant le même nom, ce rang permettant de distinguer plusieurs icônes de même nom présentes simultanément sur le bureau. Cette paire sert de clé pour retrouver, lors d'une restauration, l'icône correspondant à une position enregistrée.
Versions de profil
Le document décrivant les fonds d'écran a évolué d'un format à fond d'écran global unique vers un format associant, à chaque écran, un fond distinct pour l'orientation paysage et un fond distinct pour l'orientation portrait. Un profil dans l'ancien format reste lisible et continue de fonctionner ; il est réécrit dans le nouveau format dès qu'un fond d'écran est reconfiguré pour l'un de ses moniteurs.
Fonctionnalités
Détection de la configuration d'écrans
DTLdesktop interroge l'API Windows d'énumération des moniteurs pour obtenir, pour chaque écran, sa position, ses dimensions, son orientation, sa rotation et son statut d'écran principal. Cette lecture est complétée par l'identifiant et le fond d'écran associés à chaque moniteur ; lorsque l'interface de gestion des fonds d'écran par moniteur n'est pas disponible, DTLdesktop se replie sur le fond d'écran global de Windows.
Capture et restauration des icônes du bureau
DTLdesktop lit, directement dans le processus de l'Explorateur Windows, la liste d'affichage qui contient les icônes du bureau — nom et position de chacune — puis peut réécrire ces positions dans la même liste. Cette lecture et cette écriture traversent la frontière de processus par une zone mémoire allouée dans l'Explorateur, car la liste des icônes du bureau appartient à ce processus et non à DTLdesktop.
Gestion des fonds d'écran par moniteur
DTLdesktop associe à chaque écran d'un profil deux fonds d'écran distincts, l'un pour l'orientation paysage, l'autre pour l'orientation portrait, et applique celui qui correspond à l'orientation effective de l'écran au moment de la restauration. Le mode d'affichage « Remplir » est systématiquement contrôlé et réappliqué si Windows ne l'a pas conservé.
Application coordonnée d'un profil et sécurité
L'application d'un profil modifie, dans l'ordre, la disposition et l'orientation des écrans, puis les fonds d'écran, puis la position des icônes, et vérifie ensuite que ces trois aspects correspondent effectivement à l'état attendu. Avant toute modification, l'état courant du bureau — modes d'affichage, fonds d'écran, icônes — est conservé en mémoire. Si la vérification échoue à quelque étape que ce soit, DTLdesktop tente de restaurer automatiquement cet état antérieur plutôt que de laisser le bureau dans un état intermédiaire non conforme.
Diagnostic et comparaison sans modification
DTLdesktop peut comparer l'état courant du bureau à un profil enregistré — écarts d'orientation ou de résolution, icônes déplacées, manquantes ou nouvelles, non-conformité des fonds d'écran — sans appliquer aucune modification. Cette fonction sert à examiner un écart avant de décider d'une correction.
Reconnaissance de profil et automatisation
À partir de la signature géométrique de la configuration courante, DTLdesktop détermine si elle correspond exactement à un profil enregistré, si elle correspond à un profil compatible mais dont les identifiants d'écran diffèrent, ou si elle constitue une configuration nouvelle sans profil associé. Cette reconnaissance ne dépend pas des noms de périphérique attribués par Windows et reste donc valable après une permutation physique d'écrans. DTLdesktop peut être utilisé de façon interactive ou de façon non interactive, ce qui permet d'intégrer la restauration automatique du profil reconnu à un poste de travail ou à une tâche exécutée au démarrage.
Référence interne
Modules internes
| Composant | Rôle |
|---|---|
| WindowsDesktop | Accès bas niveau à l'énumération des écrans, aux modes d'affichage et à la liste d'icônes du bureau. |
| DesktopWallpaperAPI | Accès à l'interface Windows de gestion des fonds d'écran par moniteur, avec repli sur le mécanisme global. |
| RemoteMemory | Allocation et accès à une zone mémoire dans le processus de l'Explorateur Windows, utilisée pour lire et écrire les icônes du bureau. |
| DesktopManager | Modèle de profil : capture, chargement, comparaison, diagnostic, application coordonnée et reconnaissance. |
Robustesse et intégrité
- Toute opération dépendant de l'affichage, des fonds d'écran ou des icônes échoue explicitement en dehors de Windows.
- L'application d'un profil est encadrée par une capture de l'état antérieur et une vérification a posteriori ; un échec de vérification déclenche une tentative de retour à cet état antérieur.
- Un nom de profil est normalisé et purgé des caractères interdits par le système de fichiers avant tout usage.
- L'écriture des fichiers de profil passe par un fichier temporaire puis un remplacement atomique, pour éviter un profil partiellement écrit en cas d'interruption.
- Une interface de gestion des fonds d'écran par moniteur indisponible fait basculer la lecture et l'écriture des fonds d'écran vers le mécanisme global, sans interrompre l'opération.
Annexes
Limites connues
- DTLdesktop fonctionne uniquement sous Windows ; les opérations dépendant de l'affichage, des fonds d'écran ou des icônes ne peuvent pas s'exécuter sur une autre plateforme.
- La restauration des icônes du bureau nécessite d'accéder au processus de l'Explorateur Windows avec un niveau de droits suffisant ; un niveau de droits insuffisant empêche cette restauration.
- L'identification d'une icône repose sur son nom et son rang d'apparition parmi les icônes de même nom ; un renommage d'icône ou une variation du nombre d'icônes de même nom entre la capture et la restauration peut empêcher sa reconnaissance.
- Un profil « compatible » (identifiants d'écran différents, géométrie identique) est distingué d'un profil en correspondance exacte, et n'est pas nécessairement celui qui était actif au moment de sa capture.
- Le format de profil à fond d'écran global unique reste lu pour compatibilité, mais est réécrit au format par orientation dès qu'un fond d'écran est reconfiguré pour un moniteur.
Versions et schémas
| Identifiant | Valeur | Portée |
|---|---|---|
| Application | v1.1-1 | Fonctionnalités distribuées. |
| Format profil (écrans, icônes) | 1 | Structure de monitors.json et icons.json. |
| Format profil (fonds d'écran) | 2 | Structure par orientation de wallpaper.json ; le format 1, à fond global unique, reste lu en compatibilité. |
Glossaire
| Terme | Définition |
|---|---|
| Profil | Ensemble nommé des documents décrivant une configuration de bureau capturée : écrans, icônes et fonds d'écran. |
| Signature de configuration | Représentation normalisée de la géométrie des écrans, indépendante des noms attribués par Windows. |
| Occurrence | Rang d'une icône parmi les icônes du bureau portant le même nom, utilisé pour la retrouver de façon univoque. |
| Fond paysage / fond portrait | Fond d'écran associé à un moniteur pour chacune de ses deux orientations possibles. |
| Retour automatique | Restauration de l'état antérieur du bureau lorsque la vérification d'une application de profil échoue. |
| Profil compatible | Profil dont la géométrie correspond à la configuration courante, mais dont les identifiants d'écran diffèrent de ceux enregistrés. |