Au programme de la version de ce mois-ci, des améliorations au niveau de la gestion des dépendances pour les bibliothèques Java, les microflow accessibles directement par URL, la possibilité d’inverser les associations au sein de son domain model, la possibilité de configurer l’appel d’un microflow pour gérer les sorties de tâches multi-utilisateurs, de nouveaux connecteurs AWS, des améliorations des Epics, l’historisation des commit, et le lancement en Beta publique de notre application “health dashboard” pour surveiller la santé de vos applications.


Pour bénéficier de ces nouveautés, vous pouvez télécharger la dernière version de l’outil depuis le marketplace, puis l’installer. Il vous restera alors simplement à ouvrir l’application à mettre à jour avec, et Mx Studio Pro vous proposera alors de la convertir.


Au sommaire de ce billet :

Conception d’applications, les nouveautés

Gestion des dépendances Java

La gestion des conflits entre fichiers .jar lors de l’utilisation de pleins de modules différents de la marketplace pouvait être jusqu’alors… rébarbative. Avec la version 10.3 Mendix en permet une gestion vraiment simplifiée.

Auparavant, les fichiers .jar étaient livrés à l’intérieur des modules, et ils étaient tous rassemblés dans le dossier userlib de l’application. Cependant, si plusieurs modules utilisaient des versions différentes de cette bibliothèque Java, le démarrage de l’application était impossible en raison d’erreurs de compilation. De plus, la résolution de ces conflits prenait du temps car il n’était pas toujours évident de savoir quels fichiers .jar appartenaient à quel module.

Avec les dépendances gérées, Mendix exploite la puissance de Gradle pour résoudre ces dépendances à partir de Maven Central ou même d’un dépôt Maven personnalisé (privé). Et pour les conflits ? Gradle sélectionne automatiquement la version la plus récente, ce qui résout efficacement les erreurs de compilation dans la plupart des cas.

Définissez vos dépendances par module dans les “module settings”

Les bibliothèques sont placées dans un dossier dédié appelé vendorlib. Le plus intéressant ? Mendix prend le contrôle complet de ce dossier et garde son contenu à jour chaque fois que votre configuration de dépendances change. Par exemple, lors de l’ajout ou de la suppression d’un module.

Tout comme le dossier userlib, vendorlib fait également partie de votre système de contrôle de version, ce qui garantit une expérience de déploiement transparente.

Pour rendre cette transition encore plus fluide, nous avons réorganisé nos modules Marketplace avec des dépendances .jar. Des modules comme Community Commons, MendixSSO, Database Replication, et bien d’autres ont reçu des mises à jour compatibles qui fonctionnent toujours avec Mendix 9.

Dès que vous utiliserez Studio Pro 10.3 ou une version supérieure, le module nettoiera les fichiers .jar de userlib, en les convertissant en dépendances gérées. Pour commencer à utiliser les dépendances gérées, la seule chose à faire est de mettre à niveau vos modules Marketplace vers une version compatible avec les dépendances gérées.

Contrôle de version : que s’est-il passé sur le serveur ?

Vous arrive-t-il de vous retrouver dans ce scénario frustrant où vous êtes impatient de télécharger vos dernières modifications sur le serveur de contrôle de version, avant de recevoir un avertissement vous demandant de “fusionner d’abord les modifications provenant du serveur” ? Si c’est le cas, nous avons quelques améliorations prévues pour vous dans cette version et les versions à venir.

Dans Mendix 10.2, nous avons ajouté une interrogation périodique du serveur et un indicateur de statut de contrôle de version pour vous montrer comment se situe votre référentiel local par rapport au serveur. Y a-t-il des modifications entrantes dont vous devriez être informé ? Ou avez-vous une longueur d’avance grâce à vos propres modifications locales ? Il vous suffit de double-cliquer sur l’indicateur pour ouvrir le gestionnaire de branches ou le panneau d’historique !

Statut montrant qu’il y a 4 livraisons provenant du serveur et que vous avez 1 livraison locale.

Avec ces informations à portée de main, Studio Pro peut désormais vous guider plus efficacement lorsque vous êtes sur le point d’effectuer certaines actions, telles que la validation de vos modifications. Si Studio Pro détecte des changements sur le serveur, il vous informera rapidement que vous ne pouvez procéder qu’à un commit local.

Si vous êtes en retard sur le serveur, le push est désactivé et vous ne pouvez effectuer qu’une validation locale

Mais ce n’est pas tout. Dans notre prochaine itération, nous fournirons encore plus d’options pour améliorer votre expérience du contrôle de version. Imaginez que vous ayez la possibilité d’extraire des modifications de manière transparente, d’effectuer des commits de fusion directs ou d’initier un processus de rebase… Studio Pro évolue pour vous offrir ces choix et faire en sorte que le contrôle de version ne soit plus jamais un obstacle à votre productivité.

Accès aux microflows par URLs

Grâce aux URL de page améliorées que nous avons lancées dans Mendix 10 (on en parlait ici), il est maintenant facile de configurer une URL personnalisée, incluant plusieurs paramètres pour vos pages.

Cependant, il n’était pas possible d’affecter la page affichée en fonction d’une logique applicative (un calcul ou le résultat d’une requête par exemple). Donc, pour répondre à ce besoin, nous introduisons les URLs de microflow.

La configuration et le fonctionnement d’une URL de microflow sont très similaires à ceux d’une URL de page. Il suffit de définir le chemin d’accès à l’aide d’espaces réservés et de connecter les paramètres de microflow à ces espaces. Il existe deux différences principales : les URL de microflow vous permettent également d’utiliser des paramètres primitifs, tels que des nombres et des chaînes, et ils vous permettent d’ajouter une logique personnalisée pour définir quelle page sera affichée à l’utilisateur.

Inversion du sens pour les associations

Lors de la conception de votre Domain Model, il arrive régulièrement de mettre en place accidentellement une association entre des entités dans la mauvaise direction. Auparavant, vous deviez supprimer l’association et recommencer pour résoudre le problème. Désormais, vous pouvez inverser le sens de l’association d’un simple clic (dans le menu contextuel). C’est tout bête… mais c’est ultra pratique 😎. Nous espérons que vous apprécierez ce gain de temps !

Utilisation d’un microflow pour gérer les sorties de tâches WF multi-utilisateurs

Dans Mendix 10.0, nous avons lancé la tâche multi-utilisateur (une tâche qui doit être exécutée par plusieurs personnes) et prédéfini quatre méthodes de décision pour décider de la sortie de la tâche :

  • Veto
  • Consensus
  • Majorité
  • Seuil

Nous avons ajouté la possibilité d’ajouter votre propre méthode de décision par microflow. Elle vous permet de contrôler de manière complètement personnalisée quand une tâche multi-utilisateurs est terminée et de décider du résultat.

Améliorations de la configuration du SSO

L’automatisation est un principe DevOps fondamental, vous aimeriez donc probablement que cela s’applique également à la configuration de l’authentification unique (SSO) pour vos applications. Avec la dernière version du module OIDC SSO, c’est exactement ce qu’il est possible de faire !

Jusqu’à présent, il fallait d’abord déployer votre (nouvelle) application et ensuite se connecter à l’application en tant qu’administrateur local pour effectuer les configurations nécessaires. Celles-ci peuvent inclure les informations d’identification du client et le endpoint de votre fournisseur d’identité (IDP). A partir de la version 2.3.0 du module, vous pouvez automatiser ce flow en utilisant des constantes d’application.

L’automatisation est pratique si vous utilisez différents environnements de test pour votre application. Elle évite de devoir répéter ces étapes de configuration pour chaque environnement et réduit la probabilité de faire des erreurs. Peut-être que vos environnement de test et d’acceptation utilisent le même “IDP de test”, alors que l’environnement de production doit avoir un SSO avec votre “IDP de production”. Tout cela peut être orchestré dans votre pipeline.

Outre les configurations SSO de base mentionnées précédemment, votre application peut également utiliser certaines fonctionnalités optionnelles plus avancées du module OIDC. L’avantage des constantes d’application est que le développeur peut définir des valeurs par défaut pour ces constantes, telles que la sélection du microflow d’analyse de jeton d’accès approprié. En fait, nous avons déplacé la configuration de l’exécution en partie vers la configuration du déploiement et en partie vers la configuration de la conception.

Votre pipeline peut remplacer les valeurs par défaut définies au moment de la conception si nécessaire. Cela peut être utile si les différences entre votre IDP de test et votre IDP de production nécessitent des microflow d’analyse de jeton d’accès différents.

Un autre avantage de la configuration SSO au moment du déploiement devient évident si vous restaurez une sauvegarde des données de votre application. Cela peut casser la configuration SSO puisque l’identifiant et le secret du client de votre application peuvent être différents de ceux persistés dans votre sauvegarde.

Cela peut être le cas en raison de la rotation des clés ou parce que vous voulez restaurer une sauvegarde d’un environnement d’acceptation vers un environnement de production, ou vice versa.

Laissez votre App demander du 2FA

Avec le Single Sign-On (SSO), votre application délègue le processus de connexion à votre IDP. Cela signifie que votre IDP doit décider si l’utilisateur de l’application peut se connecter uniquement avec un nom d’utilisateur et un mot de passe ou s’il doit également utiliser un second “facteur” (2FA). Dans la plupart des cas, votre IDP est capable de faire le bon choix :

  • En fonction de l’utilisateur
  • En fonction du groupe d’utilisateurs
  • Sur la base d’une configuration spécifique à l’application

Dans certains cas, cependant, il peut être nécessaire de laisser votre application demander un mode d’authentification particulier à votre IDP. Dans le protocole OpenID Connect (OIDC), un paramètre de demande appelé acr_values est défini à cet effet.

Avec la dernière version du module SSO OIDC, la logique de votre application peut demander une méthode d’authentification particulière en l’indiquant comme valeur du paramètre ACR dans la requête SSO. Si vous souhaitez utiliser cette fonctionnalité, vérifiez d’abord quelles valeurs ACR votre IDP prend en charge (si elle est prise en charge).

Vous vous demandez peut-être ce que signifie ACR ? Il s’agit de Authentication Context Class Reference (référence de classe de contexte d’authentification) – je suppose que quelqu’un a préféré l’acronyme à trois lettres à ACCR 😉 . Peu importe. Ce qui est important, c’est qu’en utilisant ce “mécanisme ACR”, vous pouvez être au top de la connexion des utilisateurs.

Nouveaux connecteurs AWS IoT et IA/ML

IA générative avec Amazon Bedrock

Amazon Bedrock est un service entièrement géré qui met à disposition des modèles (Foundation Models) d’Amazon et des principales startups d’IA par le biais d’une API. Cela vous permet de choisir parmi différents FM pour trouver le modèle qui convient le mieux à votre cas d’utilisation.

Les cas d’utilisation typiques sont les suivants :

  • Création d’un agent d’IA pour répondre à des questions sur des données propriétaires.
  • Générer des images basées sur des invites textuelles et les afficher dans l’application Mendix.

Avec le connecteur est livré un module d’implémentation d’exemples, comprenant des exemples pour les modèles disponibles dans Amazon Bedrock. Le module contient des fonctionnalités de base pour récupérer les modèles fondamentaux disponibles sur le serveur AWS et quelques microflows standard pour invoquer des modèles spécifiques.

Notez que le connecteur Amazon Bedrock obtiendra le support de la plateforme une fois que le service Amazon Bedrock deviendra GA.

Amazon SageMaker

En plus d’Amazon Bedrock, nous avons fourni une solution pour utiliser Amazon SageMaker en combinaison avec le Mendix ML Kit. Elle explique comment convertir un modèle Scikit-learn en un modèle ONNX, l’importer dans Mendix 10.1.1, et créer une application de test autour de ce modèle.

Collecte et traitement de données industrielles à l’aide du connecteur AWS IoT SiteWise

Un autre ajout à notre gamme de connecteurs AWS avec le connecteur AWS IoT SiteWise. Il s’agit d’un service AWS géré qui aide à consolider, structurer et analyser les flux de données IoT.

AWS IoT SiteWise dispose de nombreuses ressources sur lesquelles il est possible de créer des applications. En voici quelques exemples :

  • Maintenance prédictive
  • Assurance qualité
  • Et le dash-boarding (interactif et dynamique) de l’usine.

Jetez un coup d’œil à tous les nouveaux ajouts que nous avons faits, et n’hésitez pas à nous faire part de vos commentaires !

Health Dashboard (beta publique)

Toutes mes applications de production sont-elles opérationnelles ? Y a-t-il des applications dont les ressources allouées sont épuisées ? Si vous gérez plus de nombreuses applications Mendix, il n’est pas facile d’avoir une vue d’ensemble de l’état de fonctionnement de votre paysage applicatif.

Le tableau de bord de la santé des applications dans le centre de contrôle donne maintenant un aperçu de l’état d’alerte de vos environnements de production dans le cloud public. Vous pouvez filtrer par état de fonctionnement mais aussi par d’autres types d’alertes, par exemple pour voir quelles applications manquent d’espace dans la base de données.

Vous pouvez sélectionner une application dans la liste pour obtenir plus de détails, y compris la ou les personnes de contact à informer, ou passer directement à l’environnement de l’application pour résoudre les problèmes vous-même si cela relève de votre responsabilité.

Epics

Vous voulez garder un contrôle complet des commits sur vos stories ? Vous pouvez désormais le faire dans la toute nouvelle section Révisions de la page de détails de la story.

Si votre projet utilise Git, il suffit de développer cette section, de sélectionner une branche, et voilà ! Toutes vos modifications seront là, avec le message de modification, la date et l’heure, et le nom du membre de l’équipe qui a effectué les modifications.

Puis… à la demande générale, nous avons également ajouté l’option d’exportation vers Excel sur la page de planification (auparavant, cette option n’était disponible que pour l’archive).

D’ailleurs, en parlant de l’Archive, si vous exportez des histoires archivées, vous trouverez deux nouvelles colonnes dans le fichier Excel : Affecté à et Archivé par.

Et une dernière petite chose : sur la page de planification, vous pouvez désormais taper “bug” ou “feature” dans la barre de recherche pour filtrer le type d’élément de manière à n’afficher que les bugs ou les features. Il ne s’agit là que d’une première étape. D’autres moyens de filtrer les éléments seront bientôt disponibles !

Mais également…

Une nouvelle région Cloud

Pour renforcer notre engagement à soutenir les clients du Moyen-Orient, nous avons ouvert une nouvelle région Mendix Cloud aux Émirats Arabes Unis !

Côté Communauté – Les échanges

En discutant avec les membres de notre communauté, nous avons compris qu’ils recherchaient du contenu créé par la communauté au-delà du simple dépannage et de l’amélioration des produits.

Par exemple, des contenus qui inspirent, qui offrent une perspective différente ou qui suscitent simplement une discussion. C’est ce que nous permettons à notre communauté avec l’introduction des “échanges”, un nouveau type de message axé sur un contenu plus long.

Côté Communauté – Amélioration de la publication de contenu

Nous affinons l’expérience de publication de contenu en lançant un nouvel éditeur de texte, offrant une expérience de publication plus raffinée ainsi que des outils permettant d’ajouter des médias riches à vos messages.

Marketplace – Use In Studio Pro

Dans le passé, le téléchargement d’un module ou d’un widget directement à partir du Web Marketplace pouvait entraîner des erreurs de compatibilité.

Nous avons désormais modifié cette procédure de manière à ce que le téléchargement de modules et de widgets ne puisse se faire que directement à partir de Studio Pro. Cela réduira le risque d’introduire des erreurs de compatibilité. C’est pourquoi nous n’avons plus de bouton de téléchargement sur la page détaillée du site de la marketplace, mais nous l’avons remplacé par un bouton “Utiliser dans Studio Pro”.

Ce bouton vous permet de copier l’ID de contenu du produit souhaité, que vous pouvez ensuite utiliser lors de vos recherches dans Studio Pro. Tout ce que vous avez à faire, c’est :

  • Ouvrez votre application dans Studio Pro
  • Cliquez sur l’icône “panier” pour ouvrir la Marketplace
  • Collez l’ID de contenu copié et appuyez sur Entrée.
  • Vous pouvez alors ouvrir la page des détails du produit et cliquer sur Télécharger.
  • La version correcte du produit, compatible avec votre version de Mendix, sera intégrée directement dans votre application.

Le mot de la fin et autres ressources

Vous retrouverez la release note de la version 10.3 dans la documentation Mendix, détaillant également un ensemble de petites améliorations et corrections. Et ici la liste de toutes les releases notes, vous n’avez plus qu’à choisir votre version 😉.

Retrouvez également le billet 🇬🇧 de cette release… ou la liste de tous les billets 🇬🇧 concernant des releases.

Happy Mx-low-coding !

1 commentaire

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.