Version 1.2#

DataLab Version 1.2.0 (20/04/2026)#

✨ Nouvelles fonctionnalités#

Boîte de dialogue de configuration des plugins :

DataLab propose désormais une boîte de dialogue de configuration des plugins (accessible via « Plugins > Configurer les plugins… ») qui offre un contrôle total sur la gestion des plugins tiers :

  • Activez ou désactivez les plugins individuels à l’aide de cases à cocher, ou basculez tous les plugins en même temps avec une case à cocher principale à trois états

  • Filtrez les plugins par statut : tous, activés, désactivés ou plugins avec des erreurs d’importation

  • Affichez les détails des plugins, y compris la version, l’auteur et les descriptions longues extensibles directement dans la boîte de dialogue

  • Les plugins avec des erreurs d’importation sont affichés en haut avec leur trace complète, ce qui facilite le diagnostic des problèmes d’installation

  • Le widget de texte extensible utilisé pour les descriptions longues calcule sa largeur préférée à partir d’un contexte de mesure fixe, garantissant une mise en page stable et un basculement fiable de « Afficher la description complète » quelles que soient les redimensionnements de la boîte de dialogue ou le rendu hors écran

Rechargement à chaud des plugins :

  • Les plugins tiers peuvent désormais être rechargés à l’exécution sans redémarrer DataLab, via « Plugins > Recharger les plugins »

  • L’activation ou la désactivation des plugins dans la boîte de dialogue Préférences ou la boîte de dialogue de configuration des plugins prend effet immédiatement - aucun redémarrage n’est nécessaire

  • Le menu Plugins, le widget d’état et les actions des plugins sont automatiquement actualisés après les modifications de configuration

Détection de multi-instance :

DataLab détecte désormais lorsqu’une autre instance est déjà en cours d’exécution et avertit l’utilisateur avant d’ouvrir une deuxième instance :

  • Utilise un mécanisme de fichier de verrouillage basé sur le PID qui prend en charge plusieurs instances simultanées (comptage de références)

  • Les PID obsolètes des processus plantés sont automatiquement nettoyés

  • Prise en charge multiplateforme (Windows, macOS, Linux) utilisant la détection de processus spécifique à la plateforme

  • La fermeture d’une instance ne supprime plus incorrectement le fichier de verrouillage lorsque d’autres instances sont encore en cours d’exécution

Synchronisation du contraste de l’éditeur ROI d’image :

  • L’éditeur ROI d’image partage désormais les paramètres de contraste (LUT) avec le panneau de l’image source

  • L’ajustement du contraste dans l’éditeur ROI est reflété dans le panneau principal et vice versa

  • Les contrôles de contraste sont entièrement réactivés dans la boîte de dialogue de l’éditeur ROI d’image

API de contrôle à distance — renvoyer les objets modifiés vers DataLab :

L’API proxy (XML-RPC et Web API) expose désormais une nouvelle méthode set_object qui met à jour un signal ou une image existant dans DataLab à partir d’une copie modifiée obtenue via get_object (corrige Issue #305) :

  • Auparavant, les modifications des propriétés des objets (par ex. dx, dy, x0, y0, title) effectuées sur le résultat de get_object étaient perdues car get_object renvoie une copie — set_object fournit désormais un flux aller-retour propre

  • Fonctionne pour les objets signal et image : les éléments de résultats calculés attachés à l’objet sont préservés lors de la mise à jour, de sorte que la mise à jour d’un ImageObj ne déclenche plus d’incompatibilité de type

  • Le panneau des propriétés est automatiquement rafraîchi après set_object, de sorte que les propriétés modifiées (titre, unités, axes, incertitudes, etc.) sont immédiatement visibles dans l’interface graphique

📖 Documentation#

  • Ajout de la documentation de l’API pour le module datalab.objectmodel

  • Ajout de captures d’écran pour la boîte de dialogue « Coller les métadonnées » (panneaux de signal et d’image)

  • Mise à jour de la documentation des plugins pour décrire la nouvelle boîte de dialogue de configuration, le flux de travail de rechargement à chaud et les assistants de l’API des plugins

  • Mise à jour du guide de développement des plugins tiers avec de nouvelles références de modèles et des informations sur la couverture des tests

  • Enrichissement de la référence de l’API Web : documentation des options de transfert binaire (?compress=false pour des téléchargements NPZ non compressés plus rapides, ?overwrite=true pour le remplacement atomique d’objets existants), du point d’entrée PUT /objects/{name} qui met à jour un objet sur place en préservant son identité, son groupe d’appartenance et sa position, ainsi que de la nouvelle section « Calcul » listant les points d’entrée /select et /calc permettant de piloter les calculs DataLab à distance

  • Mise à jour des traductions françaises sur toutes les pages de documentation nouvelles et modifiées

🔧 Améliorations#

Compatibilité :

  • Prise en charge officielle de pandas 3.0.x (contrainte de dépendance mise à jour de < 3.0 à < 3.1)

  • Mise à jour de la version minimale requise de Sigima de 1.1.0 à 1.1.2 pour bénéficier des dernières corrections et améliorations du moteur de calcul

  • Ajout de la prise en charge héritée de la variable d’environnement WINPYDIRBASE pour les déploiements basés sur WinPython

Renforcement du système de plugins :

  • La découverte et l’enregistrement des plugins sont désormais résilients aux échecs d’importation de tiers tout en préservant le rapport d’erreurs dans la console, les journaux et la boîte de dialogue de configuration

  • Les sous-menus des plugins sont désormais défilables pour éviter le débordement lorsque de nombreuses entrées de plugins sont enregistrées

Outils de développement :

  • Nouveau script run_with_env.py pour exécuter des tâches dans plusieurs contextes d’environnement Python (WinPython, venv, etc.)

  • Simplification de la gestion des variables d’environnement en supprimant le système DATALAB_ENV_LOADED

  • Correction de la tâche complète Coverage dans VS Code pour utiliser correctement le wrapper run_with_env.py

🛠️ Corrections de bugs#

Espace de travail HDF5 - Sérialisation des tables :

  • Correction de la non-suppression des métadonnées appelables lors de l’enregistrement/chargement HDF5 des objets TableResult

  • Correction de la restauration incorrecte des valeurs d’énumération basées sur des chaînes dans les résultats de table après un aller-retour HDF5

  • Correction de la non-survie de l’attribut column_formats lors de l’aller-retour HDF5 pour les sorties TableResult et TableResultBuilder

Système de plugins :

  • Correction de l”AttributeError dans la boîte de dialogue de configuration des plugins lors du clic sur « Afficher la description complète » (référence d’attribut incorrecte)

  • Correction des erreurs d’importation de plugins étant silencieusement ignorées lorsqu’elles se produisaient avant l’initialisation de la console interne