Onyx v2.2.0
Cette version apporte un assistant IA connecté à Onyx, un explorateur GitHub intégré, une page Infrastructure, la prise en compte de l'empreinte carbone dans les planifications, deux nouveaux widgets, et un ensemble de renforcements de sécurité sur les téléchargements de fichiers et les sessions.
Nouveautés
Un menu principal réorganisé
Chaque entrée de premier niveau du menu dit désormais ce que l'on y fait : "Développer", "Superviser", "Consulter" et "Administrer".
Les écrans Projets, Github et Utiliser l'IA sont regroupés sous "Développer". L'écran Projets se trouve donc maintenant dans ce menu.
"Superviser" remplace "Workflows" et regroupe les écrans Workflows, Infrastructure, Historique et Planifications. Ces trois derniers n'étaient atteignables que par des boutons de la barre d'outils de l'écran Workflows, et rien dans le menu ne signalait leur existence. Devenus des doublons, ces boutons ont été retirés de l'écran Workflows ; ceux du même nom présents sur un workflow ou une tâche en cours d'édition sont conservés, car ils ouvrent une fenêtre limitée à l'objet édité.
"Consulter" remplace "Apps" et mène toujours à la liste des rapports. Cette entrée n'était pas traduite et s'affichait sous le nom "Apps" dans toutes les langues.
"Administrer" remplace "Administration", sans changement de contenu.
Voir Le menu principal.
Assistant IA et tokens applicatifs
L'écran Développer - Utiliser l'IA permet de connecter un assistant conversationnel à Onyx, par l'intermédiaire d'un serveur MCP installé sur le poste de l'utilisateur.
Un nouvel onglet "Tokens applicatifs" permet de créer et de révoquer des jetons d'accès. Un token porte exactement les droits de la personne qui l'a créé, évalués à chaque appel, et se révoque à tout moment. Sa durée de validité est au choix de 30, 90 ou 365 jours, ou illimitée.
L'assistant est volontairement limité à la consultation et à la préparation : il n'exécute rien, ne démarre ni n'arrête aucun traitement, ne supprime rien, et ne révèle jamais la valeur d'un secret.
Voir Utiliser un assistant IA.
Explorateur de dépôt GitHub
L'écran Développer - Github permet désormais de parcourir le dépôt configuré sans quitter Onyx : arborescence, recherche de fichier dans tout le dépôt, affichage du contenu avec coloration syntaxique, dernier commit, historique d'un fichier et commits de la branche.
Les utilisateurs qui en ont le droit peuvent également créer, modifier et supprimer des fichiers : chaque enregistrement produit un commit sur la branche configurée, avec son message.
Un bouton "Mettre à jour les workers" demande à chaque worker du tenant de rafraîchir sa copie du dépôt, et suit l'avancement worker par worker.
La configuration du dépôt a quitté la page Administrer - Paramètres : elle se fait maintenant directement depuis l'écran Github. Tant qu'aucun dépôt n'est renseigné, l'écran propose un message d'accueil et un accès direct à la configuration. Un bouton "Tester la connexion" a été ajouté : il indique précisément ce qui ne va pas (token refusé, dépôt inaccessible, branche absente, ou droits en lecture seule).
Voir Utiliser GitHub.
Page Infrastructure
Un nouvel écran, accessible depuis le menu Superviser - Infrastructure, présente en temps réel l'état de l'infrastructure d'exécution du tenant : l'ordonnanceur, les files d'attente et les serveurs de traitement, sous forme de diagramme ou de tableaux.
On y voit d'un coup d'œil le nombre de serveurs actifs, les tâches en attente, les tâches en cours et les échecs des dernières 24 heures, ainsi que les tâches en cours d'exécution sur chaque worker.
Cet écran accueille aussi deux réglages qui se trouvaient auparavant dans Administrer - Paramètres : la connexion à l'ordonnanceur (avec les actions Synchroniser et Désynchroniser) et la consultation de la configuration des workers.
Voir Infrastructure.
Prise en compte de l'empreinte carbone
Une planification peut désormais se voir accorder un délai de report, afin que son exécution soit déclenchée dans le créneau horaire où l'électricité du réseau est la moins carbonée. Cinq niveaux sont proposés, du démarrage immédiat au report de 24 heures.
Un graphique affiche la prévision d'intensité carbone de la journée, et permet de comparer la zone de calcul en cours avec une autre zone.
Un nouveau widget de tableau de bord, "Carbone évité", récapitule sur deux mois les émissions évitées, la réduction d'intensité obtenue, le nombre d'exécutions décalées et l'énergie estimée.
Voir Réduire l'empreinte carbone.
Deux nouveaux types de widgets
- PivotGrid : un tableau croisé dynamique. L'utilisateur place les champs en lignes, en colonnes et en valeurs, choisit l'agrégation, déplie le détail d'une cellule et exporte le résultat.
- DetailView : une fiche présentant un enregistrement à la fois, avec pagination si la requête en renvoie plusieurs, et un menu "Actions" reprenant les boutons configurés.
Voir Les widgets.
Catégories et recherche d'utilisation sur les secrets
Un secret peut désormais porter une catégorie, et le tableau des secrets est regroupé par catégorie.
Surtout, une recherche d'utilisation permet de savoir, avant de modifier ou de supprimer un secret, quels objets en dépendent : pipelines, notifications, scripts SQL, scripts Shell et Python, widgets, filtres, colonnes de formulaire, connexions et serveurs de fichiers. Un bouton affiche la même vue pour tous les secrets à la fois.
Voir Gérer les secrets.
Variables user.login et user.email
Deux variables système sont désormais disponibles dans tous les projets, sans avoir à les créer :
{{user.login}} et {{user.email}}. Elles se remplacent par le compte qui exécute l'appel.
Attention : lors d'une exécution planifiée, il s'agit du compte technique du worker, et non de l'auteur de la planification.
Voir Les variables.
Japonais
Le japonais rejoint l'anglais et le français parmi les langues actives par défaut.
Améliorations
- Journal d'exécution en flux. Sur l'écran de détail d'un workflow, les lignes de la dernière exécution s'affichent au fur et à mesure de leur chargement, sans attendre la fin du transfert. Les lignes d'une exécution en cours continuent de s'ajouter en direct, y compris après une coupure réseau ou une mise en veille du poste, situations dans lesquelles l'affichage s'arrêtait auparavant jusqu'au rechargement de la page.
- Statut d'exécution immédiat. Le passage d'un workflow à l'état "en cours" et l'apparition du bouton d'arrêt sont désormais instantanés au lancement.
- Diffusion des logs plafonnée. Pendant une exécution, 500 lignes de log par tâche sont diffusées en direct, et une ligne est tronquée au-delà de 2 000 caractères. Le journal complet reste consultable en rouvrant l'exécution. Les lignes de log détaillées sont conservées 24 heures.
- Agrandissement d'un widget. Dans un rapport, chaque widget peut être ouvert en plein écran depuis son coin supérieur droit, sans relancer sa requête.
- Widget carbone et widgets natifs. Les boutons de ligne des widgets DataGrid, Form et DetailView partagent désormais le même comportement.
- Planifications verrouillées. Une planification active peut être consultée et modifiée sans avoir à la désactiver, et toute modification prend effet immédiatement. La suppression reste réservée aux planifications désactivées. Une formule CRON incorrecte est refusée à l'enregistrement comme à l'activation.
- Gestion des langues. Un administrateur peut désormais activer ou désactiver une langue depuis l'écran Administrer - Langues.
- Fiabilité des exécutions. Les erreurs réseau et d'authentification passagères entre les composants de la plateforme sont désormais rattrapées automatiquement, au lieu de faire échouer l'exécution.
Corrections
-
Le bouton d'agrandissement ne se superpose plus au bouton du widget WorkflowTrigger, qui redevient cliquable.
-
Un serveur de fichiers SFTP dont le port est fourni sous forme de texte (par exemple via un secret), ou dont la chaîne de connexion utilise une casse différente, ne pouvait plus être ouvert. Il fonctionne de nouveau.
-
Sur le widget Form, un bouton de ligne dont l'action avait été changée de "workflow" à "script SQL" déclenchait malgré tout l'ancien workflow. L'action réellement configurée est désormais respectée.
-
Le menu "Actions" de l'écran Administrer - Langues n'affichait pratiquement jamais l'entrée "Modifier les textes". Il est réparé.
-
Les couleurs laissées ouvertes par une exécution ne débordent plus sur le journal de l'exécution suivante.
-
Export Excel réparé. L'export au format Excel échouait : la bibliothèque de rendu d'images dont il dépend n'était livrée dans aucun paquet. Elle l'est désormais, et l'export fonctionne de nouveau.
-
Annulation d'une requête longue. Une extraction SQL Server, MySQL ou Oracle ne s'interrompait pas lorsque l'exécution était annulée : la requête se poursuivait jusqu'à son terme côté base. Le signal d'annulation est maintenant transmis au pilote.
-
Colonne
idsous Oracle. À la création d'une table cible Oracle, la colonneidreçoit une valeur générée automatiquement à l'insertion, comme sur les autres moteurs. -
Valeurs par défaut des colonnes. Le contrôle de compatibilité du moteur ne s'appliquait qu'à la suppression d'une valeur par défaut et pas à sa publication. Les valeurs par défaut calculées requièrent MySQL 8.0.13 ou supérieur.
Sécurité
- Fin de session effective. À la suite d'une déconnexion, ni le jeton de session ni le jeton de rafraîchissement ne permettent plus de poursuivre ou de rouvrir la session. Il en va de même après la révocation d'un token applicatif.
- Téléchargements de fichiers contrôlés. L'accès aux fichiers stockés par la plateforme exige désormais une authentification et une vérification de propriété. Une pièce jointe de conversation n'est lisible que par les participants à l'échange concerné, et un export de données personnelles (RGPD) n'est récupérable que par la personne à laquelle il est destiné, en cliquant sur la notification qui l'annonce. À noter : les pièces jointes de conversation antérieures à cette version ne sont plus consultables.
- Type de contenu imposé par la plateforme. Un fichier n'est plus servi sous un type déclaré par l'appelant, ce qui empêche qu'un fichier déposé soit interprété par le navigateur comme une page.
- Images bornées. Une image dont un côté dépasse 16 384 pixels, ou dont le nombre total de pixels dépasse 40 millions, est refusée au dépôt (logo du tenant, photo de profil).
- Token applicatif tenu hors des journaux. La valeur d'un token applicatif n'apparaît pas dans le journal d'audit.
- Pilotage de l'ordonnanceur restreint. Les opérations de l'ordonnanceur, notamment l'annulation d'un job ou l'arrêt d'un workflow, ne sont plus accessibles à tout utilisateur authentifié.