Pendant que tout le monde était en vacances ou scotché devant les jeux olympiques, la R&D Mendix n’a pas ralenti la cadence et vous a proposé une nouvelle release mineure mensuelle avec quelques nouveautés intéressantes que nous allons détailler dans la suite de ce billet.

Au menu de cette mise à jour, nous avons continué notre travail sur l’amélioration des performances de Studio Pro, les traductions automatiques de Maia ont été étendues, la bascule d’un onglet à l’autre de manière dynamique est maintenant possible, et des nouveautés sont disponibles pour nos connecteurs.

Aller, on vous parle de tout ça dans le détail ci-dessous !


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, présentation des mises à jour côté :

Application Development

Performance

Pour améliorer l’expérience dans Studio Pro, nous avons mis en œuvre plusieurs changements clés en matière de performances. Alors qu’il était déjà possible de l’activer soi-même, nous avons désormais activé par défaut la nouvelle boîte à outils, qui est plus réactive et offre une expérience d’édition plus rapide. Aussi, nous avons optimisé les performances lors de l’exécution d’une application en local et résolu les problèmes de performances liés à une utilisation prolongée de Studio Pro.

Classe, style et classe dynamique également dans les propriétés

Pour les utilisateurs plus avancés qui utilisent principalement le champ des classes et des styles, nous avons simplifié les choses. Les utilisateurs peuvent désormais modifier les propriétés Classe, Style et Classes dynamiques directement à partir de l’onglet “Properties“. Il n’est plus nécessaire de passer par l’onglet Style pour effectuer ces modifications, ce qui est plus rapide qu’auparavant.

Traduction IA dans les textes systèmes

Nous avons rendu les traductions via IA possibles dans l’éditeur de texte système. Les utilisateurs qui disposent à la fois du nouvel éditeur de textes système et de l’option AI Translations dans Studio Pro peuvent générer automatiquement des traductions pour toutes les langues utilisées dans leur application pour les textes système, ce qui réduit le temps nécessaire à la mise en place de ces traductions. Tout texte modifié manuellement sera conservé, de sorte que les traductions déjà effectuées ou les textes générés corrigés ne seront pas perdus.

Une petite vidéo pour vous le présenter !

Amélioration du Tab Container : changement d’onglet dynamique

Dans le widget Tab Container, il est désormais possible de définir dynamiquement l’onglet actif. Cette amélioration répond à l’une des idées les plus votées sur le forum d’idées. Grâce à l’introduction d’un champ d’attribut au niveau du conteneur, les développeurs peuvent désormais contrôler l’onglet actif en modifiant la valeur de l’attribut. Les onglets basculeront automatiquement vers le nouvel index. Nous avons également ajouté un événement “on change” qui peut être utilisé pour exécuter une action lorsque l’utilisateur change d’onglet. Cette nouvelle fonctionnalité offre un contrôle et une flexibilité accrus, permettant une gestion transparente des onglets dans le widget Tab Container.

Enfin, la propriété “default tab” au niveau de l’onglet est désormais abandonnée et remplacée par une propriété “default tab page” au niveau du conteneur. Pour assurer une transition en douceur, une conversion a été ajoutée pour déterminer l’index par défaut de la page d’onglet actuelle et le convertir en la nouvelle propriété “default tab”.

Nouveau widget : Markdown viewer

Le nouveau widget Markdown Viewer permet aux utilisateurs de rendre de manière transparente le contenu Markdown en HTML dans leurs applications. Conçu à des fins de visualisation, le widget offre une expérience conviviale pour l’affichage de contenu écrit en syntaxe Markdown. Les cas d’utilisation courants incluent l’exploitation du contenu Markdown généré par l’IA, ainsi que l’intégration d’une documentation basée sur Markdown directement dans les applications.

Mendix Connect

External database connector – Appel de Procédures Stockées

Le connecteur de base de données externe prend désormais en charge l’appel de procédures stockées SQL avec paramètres. Les bases de données contiennent souvent une logique liée aux données, soit pour valider et sécuriser les données, soit pour améliorer les performances des mises à jour de données en masse. Aussi, les systèmes de gestion de bases de données modernes comme Snowflake fournissent également des procédures stockées, autour des fonctionnalités d’IA par exemple, afin d’exploiter la valeur de l’IA directement à partir de la base de données. Mendix 10.14 facilite désormais l’utilisation de ces procédures et fonctions stockées depuis votre application Mendix.

Une petite vidéo pour mettre cela en image !

Pont AWS SQS pour les Business Events

Avec cette version 10.14, le Mendix Event Broker offre un support complet pour l’échange d’événements entre le Mendix Event Broker et les files d’attente AWS SQS. Non seulement vous pouvez envoyer et recevoir des business events définis dans vos applications Mendix vers et depuis les files d’attente SQS, mais vous pouvez également envoyer et recevoir des événements définis par des applications non Mendix utilisant les files d’attente SQS. Vous aurez besoin d’un contrat AsyncAPI pour décrire les événements que vous utilisez dans les files d’attente SQS à partir d’autres applications. Ce contrat peut être téléchargé sur le portail Event Broker avant de définir un pont SQS. Vous pourrez sélectionner les événements que vous souhaitez que votre application Mendix puisse envoyer et recevoir via les Business Events. Une fois le pont configuré, toute application Mendix peut échanger des événements via SQS avec d’autres applications utilisant SQS.

La bonne nouvelle, c’est que la prise en charge des contrats AsyncAPI dans l’Event Broker n’est pas seulement utile pour établir un pont avec AWS SQS. Les développeurs peuvent désormais définir tous les Business Events que vous souhaitez utiliser dans vos applications Mendix dans un contrat AsyncAPI, par exemple en utilisant un outil tiers comme AsyncAPI Studio. Une fois le contrat créé, vous le téléchargez dans l’Event Broker, puis les développeurs utilisent simplement les événements prédéfinis dans vos applications.

La preuve en vidéo ?

Expérimental : support de GraphQL pour les services OData REST

Mendix 10.14 fournit un support expérimental pour GraphQL lorsque vous exposez des API OData REST de votre application. Cela signifie que les clients peuvent choisir d’utiliser la syntaxe GraphQL lorsqu’ils appellent une API publiée ou d’utiliser la syntaxe OData REST. Actuellement, cette version expérimentale ne fournit pas un support GraphQL complet pour toutes les fonctionnalités OData (par exemple, le filtrage et les mutations ne sont pas encore implémentés). Vous pourrez récupérer des types de données avec des associations, spécifier les attributs à inclure et les enregistrements dont vous avez besoin (décalage, limite). L’API fournit une introspection, de sorte que les clients GraphQL tels que Postman pourront décrire les données fournies par une API et vous aider à construire la requête correcte. Pour consommer les API GraphQL, vous pouvez coller la requête de Postman dans le Mendix Rest Client et mapper le résultat aux entités.

Comment l’activer et l’utiliser ? tout est montré dans cette vidéo.

Mise à jour de la suite de connecteurs AWS

Connecteur Amazon Location Service (support plateforme)

Le connecteur Amazon Location Service est un service de localisation que vous pouvez utiliser pour ajouter des données géospatiales et des fonctionnalités de localisation à vos applications Mendix. Il existait déjà depuis un certain temps en tant que connecteur communautaire. En raison de son succès et des nombreuses demandes pour l’intégrer à la plateforme, nous l’avons maintenant adopté officiellement. En même temps, nous l’avons mis à jour pour utiliser la dernière version du connecteur d’authentification, de sorte que ce connecteur peut maintenant être facilement utilisé en combinaison avec d’autres connecteurs.

Connecteur d’authentification AWS

Nous lui avons apporté plusieurs petites améliorations. Il y a maintenant la possibilité de valider les informations d’identification configurées avant d’appeler une opération, ce qui peut améliorer la robustesse d’une application. Un composant d’interface utilisateur a été ajouté au connecteur en tant qu’extrait prêt à l’emploi afin de pouvoir créer facilement des pages d’administration et de configurer les informations d’identification AWS. Enfin, nous avons renommé et réorganisé les légendes des régions, afin qu’il soit plus facile de sélectionner la bonne région.

Connecteur Amazon S3

Le connecteur Amazon S3, l’un de nos connecteurs les plus populaires, a fait l’objet d’un grand nombre d’observations et de commentaires au cours des derniers mois. Aujourd’hui, nous avons le plaisir d’annoncer que nous avons ajouté certaines des fonctionnalités les plus demandées :

  • Nous avons lancé l’opération HeadBucket, qui renvoie des métadonnées pour un bucket donné. Cette opération est particulièrement utile pour identifier la région où se trouve un bucket S3.
  • La possibilité de pré-signer des requêtes d’objets (GetObject, PutObject, DeleteObject) afin que les clients puissent autoriser leurs utilisateurs finaux à manipuler temporairement des objets S3. Par exemple :
    • Téléchargement d’un fichier statique hébergé dans un bucket S3 tel qu’une police d’assurance
    • Téléchargement d’un fichier dans un bucket S3 prédéfini sans avoir à charger le fichier dans le Runtime Mendix
  • La capacité d’intégrer des API compatibles S3 (BackBlaze, MinIO), afin que les clients puissent utiliser leur propre stockage d’objets avec le connecteur.
Connecteur Amazon Bedrock

Nous avons ajouté deux nouvelles opérations au connecteur pour interagir plus facilement avec les agents, qui ont été créés avec Amazon Bedrock dans la console AWS, à partir de votre application Mendix :

  • L’opération ListAgents peut être utilisée pour afficher une liste d’agents prédéfinis sélectionnables. Elle renvoie les agents appartenant à un compte et donne des informations sur chaque agent
  • L’opération GetAgents, quant à elle, renvoie des informations détaillées sur un agent donné.

Amazon Bedrock dispose d’une nouvelle fonctionnalité en preview qui permet d’utiliser d’autres sources de données telles qu’un web crawler pour une base de connaissances. Un bug a été corrigé car ces nouvelles sources de données entraînaient une erreur et actuellement une réponse partielle pour ces nouveaux ajouts est prise en charge.

Extension TeamCenter

Dans la version 2.0 de l’extension Teamcenter (qui a été publié avec la version 10.11 et dont nous parlions donc ici), le nouvel onglet “Historique” offre une vue d’ensemble simplifiée de votre travail passé. Situé sur la page principale, cet onglet affiche la liste des intégrations précédemment créées dans l’extension. La sélection d’une intégration permet d’en connaître les détails, y compris un système de retour d’information sur la validation qui surveille son état de fonctionnement. Les améliorations comprennent la possibilité de modifier une intégration existante, de la dupliquer pour de nouveaux projets tout en préservant l’original, ou de la supprimer si nécessaire. Il est important de noter que la suppression d’une intégration n’affecte pas les microflows et entités sous-jacents dans le modèle Mendix.

Aussi, nous avons apporté plusieurs améliorations à l’interface utilisateur à différents points du parcours de l’utilisateur et nous avons corrigé des bugs pour garantir une expérience plus fluide.

Mendix Portal

App Insights

Nous sommes ravis de vous annoncer que la nouvelle version de notre module de feedback (v2.0.0) est désormais disponible sur le Marketplace ! Nous avons complètement repensé le widget, débloquant des fonctionnalités qui étaient auparavant inaccessibles dans la version React. Ces fonctionnalités ont été réécrites dans Mendix, vous donnant la flexibilité de les mettre à jour et de les personnaliser selon vos besoins.

Voici les principales fonctionnalités de personnalisation que vous pouvez désormais exploiter :

  • Emplacement du bouton : décidez de l’emplacement exact du bouton de feedback dans votre application.
  • Déclenchement et affichage du formulaire : contrôlez comment et quand le formulaire de retour d’information est déclenché, afin de garantir une expérience utilisateur transparente.
  • Destination du retour d’information : décidez de l’endroit où les retours d’information sont envoyés, ce qui permet une intégration plus aisée avec vos systèmes existants.
  • Style et copie : personnalisez le design et le texte du widget pour qu’ils correspondent à la marque et au ton de votre application.

Grâce à ces nouvelles fonctionnalités, vous pouvez vous assurer que le widget de feeddback répond parfaitement aux exigences uniques de votre application.

Gouvernance

Module de gestion du cycle de vie de l’utilisateur SCIM

Nous sommes ravis de présenter un nouveau module sur notre marketplace : le module de gestion du cycle de vie de l’utilisateur SCIM.

Le protocole SCIM (System for Cross-domain Identity Management) change la donne pour les organisations qui cherchent à rationaliser leurs processus de gestion des identités, en particulier lorsqu’il s’agit de gérer l’intégration, le déplacement et le retrait des employés – également appelés “joiners”, “movers” et “leavers”.

En incluant le module SCIM dans vos applications Mendix, les administrateurs informatiques peuvent automatiser le provisionnement des comptes d’utilisateurs finaux pour les nouveaux arrivants et déprovisionner efficacement l’accès pour les personnes qui quittent l’entreprise. Si un utilisateur a changé de rôle et n’est plus autorisé à utiliser votre application, SCIM peut également désactiver cet utilisateur dans votre application. Cela permet non seulement d’économiser du temps et des ressources, mais aussi de minimiser le risque d’erreur humaine et de garantir que les politiques de contrôle d’accès mises en œuvre dans votre IdP sont appliquées de manière cohérente dans l’ensemble de votre portefeuille d’applications Mendix.

Le protocole SCIM est supporté par toutes les principales technologies IdP, il s’agit donc d’une question de configuration pour avoir à la fois le SSO et la gestion du cycle de vie SCIM entre votre application et votre IdP. Nous avons testé le module avec Entra ID de Microsoft et avec Okta, en utilisant SAML et OIDC SSO – il fonctionne comme prévu !

Si votre organisation cherche à optimiser la gouvernance et à réduire les risques concernant les utilisateurs, SCIM pourrait être le module essentiel pour atteindre ces objectifs !

Sécurité des API à l’aide de jetons

Si vous créez des API (éventuellement des API OData) dans le cadre d’une solution multi-applications, vous devez penser à la sécurité. La sécurité de l’API peut être assurée par des clés d’API, mais ce n’est pas la meilleure pratique en matière de sécurité. Si vous préférez utiliser des jetons OAuth (également appelés bearer tokens ou access tokens ou JWTs), deux options s’offrent à l’application cliente :

  • Utiliser des identités humaines. Un utilisateur final de votre application (client) se connecte à l’aide du SSO, et l’application cliente peut consommer l’API au nom de l’utilisateur final en utilisant le jeton d’accès OAuth qu’elle a reçu à la suite du processus SSO.
  • Utiliser une identité machine. Les identités machine sont également connues sous le nom de comptes de service ou de comptes d’application. Dans ce cas, les jetons d’accès sont utilisés par l’application cliente pour consommer l’API en son nom propre. L’utilisateur final n’est pas concerné par ce scénario.

La sécurité n’est pas seulement une question d’authentification, mais aussi d’autorisation. Qui peut faire quoi ? Pour les API, vous pouvez souhaiter une logique similaire à la suivante :

  • Autoriser toutes les identités à effectuer un GET sur votre point de terminaison pour “lire” certaines données
  • Autoriser uniquement des identités spécifiques à écrire des données à l’aide d’une méthode POST sur votre point de terminaison API.

Tout cela est désormais pris en charge par le module OIDC SSO ! (On pourrait dire que le nom du module n’est plus exact – c’est un module utile même si vous ne faites pas de SSO !)

Et justement, quelles sont les nouveautés du module OIDC SSO ?

Lorsqu’il travaille avec des identités machines, le module OIDC est désormais capable de créer à la volée un “utilisateur” local pour le client. En d’autres termes, il assure le provisionnement de l’utilisateur juste à temps pour l’identité de la machine du client. L’avantage est que les concepts de sécurité du runtime Mendix sont désormais exploités pour les identités machine également. Tant pour les identités humaines (SSO) que pour les identités machines (Client credential grant), le module OIDC validera le token et mappera les permissions associées au token (OAuth scopes) aux rôles utilisateurs dans votre application Mendix. Rappelez-vous que le concept de sécurité vous permet de définir des contrôles d’accès aux microflows, aux entités et aux data sets par le biais des rôles d’utilisateur.

Tout cela fait que votre API (en tant que serveur de ressources OAuth) délègue effectivement l’authentification de l’utilisateur, l’authentification du client et les décisions d’autorisation à l’IdP. C’est pourquoi l’utilisation de jetons OAuth est une pratique exemplaire pour la sécurité de l’API : il s’agit de confier les responsabilités à qui de droit.

Grâce à ces fonctionnalités du module OIDC SSO, la sécurité est prête à l’emploi et vous pouvez vous concentrer sur la logique métier de votre solution multi-applications !

Mais aussi…

Mise à jour de la page des certifications

L’academy prend des mesures pour mieux guider l’utilisateur dans son parcours. L’une des premières mesures que nous avons prises est d’afficher une séquence dans les certifications disponibles. Cela permettra aux utilisateurs de mieux comprendre la relation entre les différentes certifications. Cela nous permettra également à l’avenir, lorsque nous introduirons d’autres types de certifications de spécialisation, de permettre à l’utilisateur de choisir entre différentes voies et de voir son parcours reflété sur la page.

Uploader son certificat Mendix sur LinkedIn

Il est maintenant très facile de partager votre dernier succès Mendix avec votre communauté sur LinkedIn. Il vous suffit d’accéder à votre certificat via Academy.mendix.com et de cliquer sur le bouton “partager”. Nous allons pré-remplir toutes les informations nécessaires pour vous et en deux clics vous avez partagé votre dernier succès avec vos pairs. Alors, soyez fier et partagez-le maintenant !

Voilà comment faire !

Le mot de la fin et autres ressources

Vous retrouverez la release note de la version 10.14 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 !

Pas encore de 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.