Node-RED 5.0 est disponible : la plus importante mise à jour de l'histoire de l'outil de développement introduit un éditeur entièrement repensé pour améliorer la circulation de l'information et l'efficacité Node-RED 5.0 est lancé avec une refonte majeure de l’éditeur, un thème sombre et des améliorations fonctionnelles. Node-RED 5.0 constitue la plus importante mise à jour de l’histoire de cet outil de développement basé sur les flux, introduisant un éditeur entièrement repensé pour améliorer la circulation de l’information et l’efficacité de l’espace de travail. Avec cette version, Node-RED prend en charge nativement un thème sombre qui suit les préférences du navigateur ou du système d’exploitation. De plus, l’éditeur Markdown intégré prend désormais en charge les alertes de type GitHub. Parmi les autres modifications apportées au flux de travail, citons la navigation par recherche qui s’affiche dans une fenêtre contextuelle, les infobulles de description pour les catégories de palettes, ainsi que la possibilité de mettre en pause la barre latérale de débogage à l’aide d’un bouton bascule.
Node-RED est un outil de développement « low-code » basé sur les flux et destiné à la programmation visuelle. Il a été initialement développé par IBM pour relier entre eux des périphériques matériels, des API et des services en ligne dans le cadre de l'Internet des objets. Node-RED propose un éditeur de flux accessible via un navigateur web, qui permet de créer des fonctions JavaScript. Les éléments des applications peuvent être enregistrés ou partagés en vue d’une réutilisation. Le moteur d’exécution repose sur Node.js. Les flux créés dans Node-RED sont stockés au format JSON. En 2016, IBM a open-sourcé Node-RED en tant que projet de la JS Foundation.
Récemment, Node-RED 5.0 est lancé avec une refonte majeure de l’éditeur, un thème sombre et des améliorations fonctionnelles. Node-RED 5.0 constitue la plus importante mise à jour de l’histoire de cet outil de développement basé sur les flux, introduisant un éditeur entièrement repensé pour améliorer la circulation de l’information et l’efficacité de l’espace de travail. Les utilisateurs peuvent désormais afficher deux panneaux en divisant verticalement la barre latérale et les réorganiser par glisser-déposer, ce qui permet des mises en page plus flexibles. Suite à cette refonte, l’ancienne barre latérale d’informations a été remplacée par des panneaux distincts d’exploration et d’informations, rendant la navigation et les détails de sélection plus accessibles.
Avec cette version, Node-RED prend en charge nativement un thème sombre qui suit les préférences du navigateur ou du système d’exploitation. Un nouveau système de plugins de thème permet de disposer de plusieurs variantes de thème, tandis que les améliorations en matière d’accessibilité mettent en évidence les nœuds sélectionnés à l’aide d’un halo bleu et standardisent les commandes de panoramique et de zoom. En ce qui concerne la documentation, les nœuds comportant des détails supplémentaires affichent un badge dans l’espace de travail, permettant aux utilisateurs d’ouvrir une fenêtre contextuelle pour une consultation rapide. De plus, l’éditeur Markdown intégré prend désormais en charge les alertes de type GitHub.
Parmi les autres modifications apportées au flux de travail, citons la navigation par recherche qui s’affiche dans une fenêtre contextuelle, les infobulles de description pour les catégories de palettes, ainsi que la possibilité de mettre en pause la barre latérale de débogage à l’aide d’un bouton bascule. Les nœuds de lien peuvent être appelés à partir de nœuds de fonction avec gestion des réponses, et les nœuds fréquemment utilisés répertorient des cibles sélectionnables dans leurs boîtes de dialogue. Le nœud de délai ajoute un mode rafale pour la limitation de débit. Cette version apporte également des améliorations en matière de sécurité grâce à des mises à jour du noyau.
Voici un extrait de l'annonce de Node-RED 5.0 :
Annonce de Node-RED 5.0
Node-RED 5.0 est désormais disponible au téléchargement. Si vous effectuez une mise à jour, veuillez consulter les instructions de mise à jour.
Node-RED 5.0 marque le plus grand changement apporté à l’expérience utilisateur de l’éditeur depuis le lancement du projet. Dans notre article sur la feuille de route, nous avions défini quatre axes prioritaires : la modernisation de l’expérience utilisateur, l’amélioration de l’apparence des nœuds, des améliorations fonctionnelles ciblées et la mise à jour de l’infrastructure du projet. Après une longue série de versions bêta – et une multitude de retours de la communauté tout au long de ce processus –, nous sommes ravis de rassembler tous ces éléments dans cette version finale.
Nous avons mis en avant les principales modifications ci-dessous. Comme toujours, la communauté a apporté de nombreuses contributions, qu’il s’agisse de corrections de bogues, de nouvelles fonctionnalités, de documentation ou de traductions. Nous ne pourrions pas mener à bien notre mission sans ces contributions : un grand merci à toutes les personnes impliquées.
Un éditeur modernisé
L’aspect général de l’éditeur n’avait pas changé de manière substantielle depuis longtemps. Avec la version 5.0, nous avons saisi l’occasion de prendre du recul et de repenser la disposition de l’éditeur, en mettant l’accent sur un meilleur flux d’informations, une utilisation plus flexible de l’espace et une accessibilité améliorée.
Il s’agissait d’un travail de grande envergure, mené de manière itérative et affiné au fil des versions bêta en réponse aux retours de la communauté. Le résultat est un éditeur qui devrait vous sembler familier, mais qui exploite bien mieux l’espace mis à votre disposition.
Barres latérales repensées
Auparavant, les barres latérales constituaient un espace fourre-tout situé à droite, les panneaux disponibles étant masqués derrière un menu déroulant difficile à repérer. Les deux côtés de l’éditeur partagent désormais le même comportement pour les barres latérales, qui sont ainsi plus faciles à repérer.
Le changement le plus important est que vous pouvez désormais afficher deux panneaux à la fois en divisant une barre latérale verticalement. Cela signifie que vous pouvez, par exemple, garder le panneau « Debug » visible dans la partie inférieure tout en travaillant avec un autre panneau au-dessus — une fonctionnalité réclamée depuis longtemps.
Vous pouvez réorganiser les panneaux en les faisant glisser directement entre les emplacements disponibles. Chaque panneau comporte un petit en-tête indiquant son nom, que vous pouvez saisir pour le déplacer dans l’éditeur — vers l’un ou l’autre côté, ou vers la partie supérieure ou inférieure d’un côté.
En bas se trouvent les boutons de la barre latérale, regroupés par section, ainsi que des boutons bascules permettant d’ouvrir et de fermer les barres latérales en un seul clic.
Les barres latérales « Explorateur » et « Informations »
L’ancienne barre latérale « Informations » a été divisée en deux panneaux distincts :
- L’« Explorateur » vous permet de naviguer parmi vos flux et vos nœuds. Dans notre convention de lecture de gauche à droite, il est bien plus naturel d’avoir cette vue d’ensemble à gauche ; c’est donc désormais le panneau par défaut dans la section supérieure gauche de la barre latérale.
- Le panneau « Informations » affiche les détails de l’élément que vous avez actuellement sélectionné ; il s’agit du panneau par défaut affiché en haut à droite.
Thème sombre intégré
Node-RED dispose enfin d’un thème sombre intégré. L’éditeur choisit automatiquement le thème clair ou sombre en fonction des préférences de votre navigateur ou de votre système d’exploitation, et vous pouvez en sélectionner un explicitement dans la boîte de dialogue « Paramètres utilisateur ».
Par ailleurs, nous avons ajouté un mécanisme permettant aux plugins de thème de proposer plusieurs variantes. Ainsi, un thème tiers peut désormais inclure à la fois une variante claire et une variante sombre dans un seul package, et l'éditeur bascule automatiquement entre les deux.
Améliorations fonctionnelles
Mise en pause de l'affichage du débogage
Une fonctionnalité très attendue : vous pouvez désormais mettre en pause la barre latérale de débogage à l'aide d'un bouton situé dans son en-tête. Lorsqu'elle est en pause, la barre cesse de défiler et les nouveaux messages reçus ne s'affichent plus.
Appel de nœuds « Link » depuis le nœud « Function »
Il est désormais possible d’appeler un nœud « Link » depuis le milieu d’un nœud « Function » et d’attendre qu’une réponse soit renvoyée. Par exemple, si vous avez créé un flux encapsulé dans des nœuds « Link » pour gérer des requêtes de base de données, vous pouvez l’appeler depuis le code avec :
| Code : | Sélectionner tout |
const { payload: data } = await node.linkcall('query-database', { query: "SELECT * FROM T1" })
La nouvelle API est accessible via node.linkcall. Vous lui transmettez le nom ou l’identifiant du nœud Link à appeler, ainsi que le message à lui envoyer.
Listes de sélection de nœuds triées
Les nœuds Link, Complete, Catch et Status présentent tous une liste d’autres nœuds parmi lesquels choisir dans leur boîte de dialogue d’édition. Auparavant, cette liste s’affichait dans l’ordre dans lequel les nœuds avaient été ajoutés à l’espace de travail. Elle est désormais triée par ordre alphabétique selon le libellé, ce qui facilite considérablement la recherche du nœud souhaité.
Mode « burst » du nœud Delay
Le mode de limitation de débit du nœud Delay a toujours réparti les messages entrants de manière uniforme selon le débit configuré. Il peut désormais être mis en mode « burst », dans lequel il laisse passer les messages quel que soit leur débit d’arrivée jusqu’à ce que la limite soit atteinte — auquel cas il les bloque jusqu’au début de l’intervalle de temps suivant.
Mises à jour des nœuds et de la sécurité
Options TLS supplémentaires
Le nœud de configuration TLS et plusieurs nœuds principaux disposent désormais d’options plus flexibles pour sécuriser les connexions :
- Les certificats et clés TLS peuvent désormais être fournis à partir d’un fichier PFX/P12.
- Les certificats et clés peuvent être chargés à partir de variables d’environnement.
- Le nœud « Requête HTTP » peut désormais définir le nom de serveur SNI TLS.
Authentification renforcée
Nous avons apporté quelques modifications afin de renforcer l’authentification dans l’éditeur :
- Les connexions OAuth utilisent désormais un modèle d’échange de jetons.
- Les règles CORS par défaut pour l’administrateur ont été supprimées.
En coulisses
Node.js 24
Node-RED 5.0 nécessite au minimum Node.js 22.9.0 pour fonctionner ; il ne fonctionnera pas avec une version antérieure.
Toutefois, compte tenu de la prise en charge prévue de Node.js, nous recommandons d’utiliser Node.js 24, sur lequel reposent nos images Docker.
Le projet Node.js ne créant plus d’images basées sur l’architecture ARM 32 bits (arm/v7), nous ne sommes plus en mesure de prendre en charge l’exécution sur les anciens Raspberry Pi (3b ou antérieurs), car ceux-ci ne peuvent pas exécuter le système d’exploitation 64 bits requis.
Intégration de npm
Auparavant, Node-RED dépendait de l’installation de npm et de sa présence dans le chemin d’accès pour que le gestionnaire de palettes fonctionne. Avec cette version, npm est désormais une dépendance explicite de Node-RED. Cela nous donne plus de contrôle sur son utilisation et résout certains problèmes de sécurité potentiels.
Modernisation de l’environnement de développement
Pour les contributeurs au code source principal, nous avons abandonné l’exécuteur de tâches grunt au profit de scripts npm personnalisés. Grunt était le bon choix il y a 13 ans, mais le monde a évolué — et nous aussi. Cela nous permet de supprimer du projet de nombreuses dépendances de développement (devDependencies) qui n’étaient plus maintenues.
Nous sommes également passés de jshint, inactif depuis longtemps, à eslint. À ce stade, nous n’appliquons pas de nouvelles règles de linting, mais cela pose les bases pour le faire dans un avenir proche.
Source : Annonce de Node-RED 5.0
Et vous ?
Pensez-vous que cette annonce est crédible ou pertinente ?
Quel est votre avis sur le sujet ?Voir aussi :
Node-RED 2.0 est disponible, l'outil de développement basé sur les flux porte la version minimale de Node.js à la version 12. Il ajoute un bouton d'injection rapide du nœud Inject
Node.js intègre enfin le support de TypeScript en natif : avec Node.js v22.18.0 (LTS), les développeurs peuvent exécuter directement leurs fichiers TypeScript sans configuration supplémentaire
Vous avez lu gratuitement 31 268 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.