Skip to main content

Présentation

Qu'est-ce que Node-RED

Node-RED est un outil visuel permettant de créer des programmes ou des API directement dans le navigateur.
Fondamentalement, Node-RED peut être considéré comme un remplacement du back-end, ou même un fournisseur serverless.
Il est aussi officiellement appelé un système de programmation "low-code".

Il permet d'interagir avec un grand nombre de services en ligne différents, de dispositifs matériels et de bases de données en quelques clics seulement.
Il est mondialement connu dans le monde de l'IoT et dans de nombreuses industries, mais ne se limite pas à ces domaines.

L'interface est facile à comprendre et directement accessible dans un navigateur.
De nombreux blocs fonctionnels sont prêts à être utilisés sans avoir à programmer quoi que ce soit.
Ils peuvent être reliés entre eux pour créer des systèmes complexes en quelques minutes seulement.

Pour les utilisateurs experts ou les usages avancés, du code JavaScript peut être ajouté, également directement dans le navigateur, ouvrant des possibilités infinies.

Node-RED est écrit en Node.js (JavaScript).

image.png

Que peut-on faire avec Node-RED

Node-RED a des possibilités infinies.
Mais voici quelques exemples de ce que les utilisateurs ont réalisé avec :

  • Passerelle de capteurs IoT (en utilisant MQTT)
  • Création de services API
  • Automatisation de courriels (e-mails)
  • Création de robots Twitter
  • Scrapping de pages web
  • Passerelle entre des services tels que des API et des bases de données

Qui a créé Node-RED

Node-RED a été développé à l'origine en 2013 par deux employés d'IBM, Nick O'Leary et Dave Conway-Jones.
Le projet a été open sourcé en septembre 2013 et ajouté à la fondation OpenJS en octobre 2016.

Nick O'Leary et Dave Conway-Jones sont toujours parmi les plus grands contributeurs au projet.

Que sont les "nodes" dans Node-RED

Dans Node-RED, un "node" (nœud en français) est un bloc qui peut recevoir des données, les transformer et ensuite les transmettre.

Ces données peuvent être reçues ou transmises depuis ou vers d'autres nœuds, des API externes (Google, Stripe, Twitter etc...), des bases de données (MySQL, MongoDB, Elasticsearch, OpenSearch etc...) ou d'autres systèmes (MQTT, serveur de messagerie, stockage d'objets S3 etc...).

Les nœuds sont connectés entre eux à l'aide de fils ("wire") qui sont tirés de manière visuelle directement dans le navigateur.

Node-RED contient environ 40 nœuds pré-installés.
Certains d'entre eux sont basiques, comme les conditions Switch, certains peuvent se connecter au monde extérieur, comme les nœuds HTTP, MQTT ou Email et certains peuvent contenir du code complexe, comme Function qui peut contenir du code JavaScript ou Template pour créer des documents texte avancés ou des pages HTML.

Avec la "palette" Node-RED, vous pouvez ajouter des nœuds externes, créés par des entreprises ou des utilisateurs du monde entier. Aujourd'hui il y a presque 4 000 noeuds externes disponibles gratuitement.

image.png

Que sont les "flows" Node-RED

Que sont les "flows" (flux en français) dans Node-RED ? Les flux Node-RED sont des onglets qui contiennent des nœuds.
Le but des flux est de séparer la logique des sous-projets en plusieurs pages.

image.png

Pourquoi Node-RED est si intéressant

Node-RED est formidable car il est très facile d'accès au commencement. Puis, une fois que vous avez dépassé le stade de débutant et avez besoin de fonctionnalités avancées, Node-RED propose des solutions expertes qui le rende illimité.

Vous pouvez créer un POC simple en quelques minutes pour une démonstration. Ou vous pouvez entièrement automatiser un processus industriel avec des dizaines de dépendances.
Tout cela avec Node-RED et quelques clics.

Quand utiliser Node-RED

Il n'y a pas de cas d'utilisation typique de Node-RED car ses possibilités sont infinies.

Mais voici quelques exemples de projets qui peuvent être construits rapidement avec Node-RED :

  • Interconnecter les dispositifs (comme les capteurs IoT) aux bases de données.
  • Récupérer des données à partir d'APIs, traiter ces données et les sauvegarder.
  • Créer des automatisations entre les services (MQTT, APIs, bases de données).
  • Construire une API pour se connecter aux bases de données.