Skip to main content

Nouveautés de la version 4.5

1. Mise à jour du socle technique

Migration vers WildFly 35.

Cette version n’est plus compatible avec Java version 11. Seules les versions LTS 17 et 21 le sont.

Les versions minimales des navigateurs supportés sont les mêmes qu’en 4.3 et 4.4.

La librairie Chart.js a été mise à jour de la version 2.8 à la version 4.4.8 :

  • Les bulles d’aides ne sont plus dessinées dans le Canvas, ce qui évite qu’elles soient coupées si le graphique est trop petit ;
  • Ajout d’un plugin rendant les légendes accessibles au clavier ;
  • Nouvelles propriétés de style : barBorderRadius pour l’arrondi des barres ainsi que lineHover* et barHover* pour changer le style au survol de la souris.

Mise à jour de plusieurs dépendances Java dont Apache Tika v2 vers v3, Apache PDFBox v2 vers v3 et Apache Commons JEXL v2 vers v3.

Suite à la mise à jour de librairie Apache Commons JEXL en version 3, les rapports JETT peuvent être incompatible :

  • Les expressions ${if(condition) 'yes' else 'no'} doivent être remplacés par : ${condition ? 'yes' : 'no'}
  • Les expressions ${while}, ${for} et ${do} ne sont plus supportés
  • Au premier redémarrage, un log d'erreur indiquera les rapports à modifier.

Une vérification est désormais effectuée et un message d'erreur peut apparaître dans les logs, au premier redémarrage après une mise à jour, pour les librairies de fonctions nécessitant des dépendances qui auraient été mises à jour avec des classes externes qui n'existent plus. Il faudra, le cas échéant, modifier la librairie en ajoutant la bonne version de la dépendance dans le répertoire lib du jar ou en recompilant le code.

Optimisation au niveau du référentiel sur les Boites de messages et les Services Web en fourniture et en appel.

Corrections de bugs sur mobile et principalement sous iOS.

2. Amélioration de l’intégration de l’Intelligence Artificielle

Il est possible de charger une image d’un schéma dans le modèle de donnée pour qu’il nous crée les tables.

Amélioration des performances.

Support de la plateforme Ollama pour la génération de texte.

Support de la plateforme Open WebUI avec support des mêmes fonctionnalités qu'avec OpenAI :  

  • Gestion de l'upload de fichiers pour analyse via un RAG (Retrieval Augmented Generation) (y compris les PDF images) et des images pour le mode Vision ;
  • Implémentation d'un Code Interpreter via une plateforme Jupyter pour lire les fichiers Excel, ODS, ou CSV ou créer des fichiers ;
  • Recherche Web ;
  • Génération d'image ;
  • Transcription et génération Audio.

Améliorations de l’action IA :

  • Possibilité de créer des types complexes en retour ;
  • Ajout du mode Recherche sur le web avec OpenAI et Open WebUI.

3. Ajout d’un vérificateur d’application

Ajout d’un vérificateur de règle, capable de détecter certaines erreurs dans les applications et de les reporter au designer.

Un bouton est ajouté dans la barre de menu Conception du designer ouvrant un popup contenant un arbre de toutes les erreurs classé par catégorie et sous-catégorie.

Un menu clique droit « Corriger » sera disponible pour certaines d’entre elles.

Une barre d’outils avec des checkbox permettra de choisir les niveaux de criticité à afficher et de filtrer les type d’erreur à rechercher.

Cela permet d’améliorer la qualité des applications.

Le erreur détectées sont :

  • Les actions/conditions déliées (suite à la suppression d’une variable/contrôles ou un copier/coller) ;
  • Colonne requise sans valeur par défaut manquante ou vide dans les actions Insertion en base, appel de service Web et de service métier ;
  • Expressions avec un nombre incorrect d'opérandes ;
  • Mises à jour ou suppressions dans une table sans filtre ;
  • Méthodes métiers : objets non réinitialisés ;
  • Opérandes déliés ;
  • Rapports JETT avec expression JEXL invalides ;
  • Rapports Jasper avec langage Groovy ;
  • Comportements non appelés ;
  • Constantes contenant des variables de contextes ;
  • Ecrans non utilisés ;
  • Jeux de données non utilisés ;
  • Variables non utilisées ;
  • Sécurité : Contrôles affectés et non échappés (HTML autorisé  ;
  • Sécurité : Méthodes de WebService en accès public ;
  • Sécurité : Uploads sans limite de taille ;
  • Sécurité : Uploads sans types de fichiers définis ;
  • Sécurité : Variables de contexte : mots de passe en clair ;
  • Accessibilité : Champs de formulaire sans label inline, ni composant label lié ;
  • Performance : Sélections de données imbriquées ;

4. Historisation des tables et types fonctionnels

Dans les modèles de données, ajout d’une liste de types fonctionnels sur les attribut.

Ils permettent, entre autre, à l’assistant de création de formulaire et l’IA de générer des écrans mieux adaptés. 

Les types disponibles sont :

  • Désignation ;
  • Login utilisateur ;
  • Nom de famille ;
  • Prénom ;
  • Adresse ;
  • Code postal ;
  • Ville ;
  • Pays ;
  • E-mail ;
  • Numéro de téléphone ;
  • Couler ;
  • Actif ;
  • Ordre ;
  • Latitude ;
  • Longitude ;
  • Identifiant du fichier : servira à afficher une alerte si le fichier n’est pas sauvé en GED ;
  • Nom du fichier ;
  • Taille du fichier (en octets) ;
  • Type MIME du fichier ;
  • Signature du fichier (SHA1) ;
  • Version : incrémentera la version automatiquement à chaque mise à jour ;
  • Date de création : enregistra automatiquement la date à l’insertion ;
  • Date de modifications : enregistra automatiquement la date à chaque mise à jour ;
  • Login utilisateur création : enregistra automatiquement le login utilisateur à l’insertion ;
  • Login utilisateur modification : enregistra automatiquement le login utilisateur à chaque mise à jour ;

Des options pour créer des colonnes de ces cinq derniers types sont disponibles sur le formulaire de l’entité pour PostgreSQL ;

Les champs dates de création et modification et versions sont gérés automatiquement par un trigger PostgreSQL pour les cas où la mise à jour se ferait en dehors de la plateforme ;

Les attributs ont désormais un champ Label pour contenir le nom affichable de la colonne par l’assistant de création de formulaire et dans la table historique ;

Afin de connaître les modifications apportées à une table, il est désormais possible d’Historiser une table en cochant l’option sur le formulaire des entités PostgreSQL

Une table avec le suffixe _history est alors créé dans le modèle de donnée. Elle contient les colonnes id, id_ref, column_name, column_label, old_valeu, new_value, operation, date_operation, version, login…

À chaque insertion ou mise à jour, sur la table originale, une ligne est ajoutée pour chaque valeur modifiée ainsi qu’une ligne est ajoutée lorsqu'une ligne est supprimée de la table originale vie un trigger PostgreSQL ; 

 

5. Autres fonctionnalités

Ajout d’un graphique dans la supervision du Designer montrant la mémoire consommé par la JVM, et la mémoire utilisée sur le système dans les 15 dernières secondes.

Révision de la gestion des icônes pour ne plus utiliser d'espaces insécables entre le texte, mais une classe CSS.

Améliorations de l’accessibilité :

  • Ajout d'une nouvelle variable CSS --outline-color (initialisée par défaut à Transparent) qui affiche un contour lorsque les boutons et liens reçoivent le focus via tabulation. Elle est activée dans le Designer et le Débogueur, mais elle peut être activée dans les applications via le Theme Roller en l’affectant, par exemple, avec var(--accent-color) ;
  • Amélioration sur les options des filtres de recherches, des tableaux...

Le modèle de données dispose d’une option pour n’afficher que les erreurs (entités non synchronisées ou non déployées, fonctions introuvables ou non synchronisées).

Ajout des opérateurs d’agrégat STRING_AGG et STRING_AGG_DISTINCT.

Ajout du support des index.

Ajout des types fonctionnels sur les attributs. Ils permettent, entre autres, à l’assistant de création de formulaire et l’IA de générer des écrans mieux adaptés.

Ajout des options pour historiser les tables.

Faille de sécurité de type XSS corrigée sur les listes du Designer.

Ajout de la propriété Défilement Vertical au composant Éditeur.

Lors de la création d'une méthode Web, le mode d’accès affecté est le même que les autres méthodes ou Basic HTTP si c’est la première.

En mode LDAP Authentification uniquement, il est dorénavant possible de spécifier un Groupe Défaut dans l’annuaire qui contiendra la liste des seuls utilisateurs pouvant se connecter à la plateforme. Dans ce mode, tous les membres de ce groupe sont automatiquement importés et il n’est plus possible de déclarer d’autres utilisateurs dans la plateforme.

Possibilité de créer une sélection de donnée depuis une requête SQL.

L’explorateur d’image peut désormais afficher la vue en mode Liste.