La programmation dans Node-RED

La programmation dans Node-RED

Les outils Node-RED

Pour pouvoir rรฉaliser notre projet, nous avons dรฉcidรฉ dโ€™utiliser lโ€™environnement de dรฉveloppement graphique open source Node-RED dโ€™IBM qui offre une interface simple pour connecter les APIs dโ€™IBM et en particulier la rรฉcupรฉration des tweets, leur stockage et analyse. Quโ€™est-ce que Node-RED ? Cโ€™est lโ€™oeuvre de deux chercheurs, Nick Oโ€™Leary et Dave Conway-Jones, qui, ร  la base, cherchaient un outil pour eux et qui lโ€™ont ensuite offert en open source. Cโ€™est une interface graphique pour crรฉer des ยซ flows ยป formรฉs de composants de traitement, les ยซ nodes ยป quโ€™on interconnecte visuellement. On peut รฉgalement programmer des fonctions en Javascript dans un node function qui possรจde son propre รฉditeur. Node-RED se base sur Node.js qui est le cรดtรฉ serveur de Javascript. Grรขce ร  Node.js nous pouvons faire des fonctions en Javascript directement sur notre interface Node-RED. La puissance de Node-RED vient de la combinaison de deux facteurs principaux :

– Cโ€™est une mรฉthodologie de programmation visuelle qui se base sur des nodes et des flows (nous verrons plus en dรฉtails ces deux notions dans la suite de ce document).

– La variรฉtรฉ et la puissance des nodes proposรฉs dans la palette pour la crรฉation de flows et qui sont en lien avec le monde rรฉel, comme par exemple le node de Twitter. Pourquoi utiliser Node-RED ? Node-RED permet de rรฉunir et de connecter les composants nรฉcessaires ร  notre application sous forme de ยซ nodes ยป, en particulier les node-modules des APIs dโ€™IBM Watson. La facilitรฉ dโ€™utilisation de cet environnement nous a permis de tester facilement les diffรฉrents APIs afin de dรฉterminer celui qui correspond le mieux ร  nos attentes. La programmation dans Node-RED Les nodes Node-RED considรจre un node comme une boite noire, cโ€™est un composant du flow qui a un but dรฉfini. Il reรงoit des donnรฉes, exรฉcute une action prรฉcise et transmet les donnรฉes traitรฉes au node suivant dans le flow. Lorsquโ€™on installe Node-RED on dispose dโ€™une palette de base relativement complรจte avec les principaux nodes, mais il est possible dโ€™ajouter des nodes-modules supplรฉmentaires dรฉveloppรฉs par la communautรฉ Node-RED.

Propriรฉtรฉs de base des messages Tous les nodes ont une propriรฉtรฉ commune : les messages. Grรขce aux messages transmis dโ€™un node ร  un autre, nous pouvons construire un flow complet. Le node de type ยซ inject ยป permet dโ€™introduire de lโ€™information dans le systรจme. Pour faire passer un message dโ€™un node ร  un autre, il faut les relier graphiquement pour crรฉer un flow. La caractรฉristique principale dโ€™un node est de consommer un message en input et de produire un message en output. Ces messages transmettent lโ€™information dans le flow dโ€™un node ร  un autre et ce sont ces messages qui vont รชtre traitรฉs et analysรฉs. Ces messages sont des objets en Javascript qui ont trois propriรฉtรฉs de base :

– Un message topic Cโ€™est-ร -dire le ยซ titre ยป du message. Dans le cas de Twitter, le message topic sera ยซ tweet/ ยป et le pseudo de lโ€™internaute qui a tweetรฉ.

– Un payload Cโ€™est le coeur du message. Cโ€™est la partie que lโ€™on analyse dans notre cas.

– Une identification interne Cโ€™est une identification qui est mise par Node-RED. : Dans la partie ยซ tweet ยป, on retrouve en plus des informations sur le user, les hashtags, une indication si cโ€™est un retweet, la date de crรฉation du tweet et encore dโ€™autres informations. Les diffรฉrents types de nodes Il existe trois principaux diffรฉrents types de nodes :

1. Les Input Nodes Ces nodes injectent de la data dans notre flow.

Conclusion des rรฉsultats obtenus

Les scores sont dans la plupart des cas attribuรฉs correctement. Le node ยซ Sentiment Analysis ยป peut รชtre considรฉrรฉ comme fiable et permet une vraie notation du sentiment globale du tweet. Le problรจme est que trop de bruit passe depuis Twitter et les scores attribuรฉs sont parfois positifs ou nรฉgatifs mรชme si une grande partie reste neutre. Il y a un effet en chaรฎne lors dโ€™un retweet publicitaire qui a un score positif ou nรฉgatif qui peut influencer nos rรฉsultats. Le node Twitter ne possรจde pas un filtre adรฉquat pour garder uniquement les tweets ยซ intรฉressants ยป. Ce node devrait avoir un filtre plus fin. Une amรฉlioration possible serait de pouvoir รฉcrire les mots-clefs des tweets que nous ne voulons pas rรฉcupรฉrer. Nous avons pu constater que les tweets publicitaires contenaient souvent lโ€™expression ยซ sign up ยป, en รฉliminant seulement les tweets contenants ces mots, nous pourrions dรฉjร  obtenir des rรฉsultats plus intรฉressants pour notre analyse. Notre source de donnรฉes nโ€™est finalement pas assez fiable pour pouvoir faire une analyse entre nos rรฉsultats et le cours rรฉel du Bitcoin.

Durant ce projet, nous avons appris ร  utiliser de nouveaux outils et des nodes des APIs cognitifs dโ€™IBM Watson pour crรฉer une application qui nous permettrait de rรฉpondre ร  notre besoin qui est de savoir si les spรฉculations รฉmises sur le cours du Bitcoin peuvent avoir une corrรฉlation avec le cours rรฉel de cette cryptomonnaie. En utilisant les nodes-modules disponibles, nous avons pu rรฉcupรฉrer les tweets selon les paramรจtres que nous avions dรฉfinis selon les mots-clefs pertinents ร  notre besoin, les stocker dans une base de donnรฉes NoSQL grรขce au node-module de MongoDB et les analyser grรขce ร  celui dโ€™IBM Watson, ยซ Sentiment Analysis ยป. Malgrรฉ les rรฉsultats non concluants de ce projet, Node-RED sโ€™avรจre รชtre intรฉressant pour la crรฉation dโ€™application. Son interface visuelle facilite les traitements et nous a permis de construire lโ€™architecture nรฉcessaire ร  ce travail et peut devenir une rรฉvolution dans le domaine de crรฉation dโ€™application. Nous pouvons en conclure que notre hypothรจse de spรฉculation concernant le cours du Bitcoin grรขce aux avis รฉmis sur Twitter pourrait sโ€™avรฉrer vraie si nous pouvions rรฉcupรฉrer uniquement les tweets ยซ intรฉressants ยป ร  notre besoin.

Le rapport de stage ou le pfe est un document d’analyse, de synthรจse et d’รฉvaluation de votre apprentissage, c’est pour cela rapport gratuit propose le tรฉlรฉchargement des modรจles gratuits de projet de fin d’รฉtude, rapport de stage, mรฉmoire, pfe, thรจse, pour connaรฎtre la mรฉthodologie ร  avoir et savoir comment construire les parties d’un projet de fin d’รฉtude.

Table des matiรจres

Dรฉclaration
Remerciements
Rรฉsumรฉ
Introduction
Dรฉmarrage du projet et recherches
Diffรฉrentes รฉtapes de recherches
Rรฉcupรฉration des tweets – Recherches des diffรฉrentes APIs de Twitter
Analyse des messages : APIs dโ€™IBM Watson
Les outils
Node-RED
Quโ€™est-ce que Node-RED ?
Pourquoi utiliser Node-RED ?
La programmation dans Node-RED
Les nodes
Propriรฉtรฉs de base des messages
Les diffรฉrents types de nodes
Node Function
Context et Global Context dans un node function
Les interactions entre les diffรฉrents nodes pour former un flow
MongoDB
Quโ€™est-ce que MongoDB ?
Pourquoi utiliser une base de donnรฉes NoSQL ?
Architecture
Mise en place du projet
Node Twitter
Node MongoDB
Node Sentiment Analysis
Node Switch
Node Counter
Node Function
Node Mongo
Node Debug
Rรฉsultat du projet
Analyse des scores
Conclusion des rรฉsultats obtenus
Conclusion
Sites internet
Vidรฉos
Images
Annexe 1 : Guide dโ€™installation
Annexe 2 : Document de vision

Rapport PFE, mรฉmoire et thรจse PDFTรฉlรฉcharger le rapport complet

Tรฉlรฉcharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiรฉe. Les champs obligatoires sont indiquรฉs avec *