Skip to main content

TP Nodered

TP API GET/POST

Introduction

Exemples

https://developer.twitter.com/en/docs/api-reference-index

https://openweathermap.org/current

Installation de NodeRed

Windows

  1. Installer nodeJS 10.x : https://nodejs.org/en/
  2. Lancer la console (cliquer sur Windows en bas à gauche, taper cmd le raccourci devrait apparaître)
  3. Taper npm install -g --unsafe-perm node-red
  4. Lancer nodeRed en tapant node-red (dans la console toujours)

Autres OS

https://nodered.org/docs/getting-started/local

A faire

Créer une API répondant aux demandes suivantes :

  • GET /test : renvoie "coucou"
  • GET /timestamp : renvoie le temps actuel en heure Posix (aussi appelé temps Unix ou Unix timestamp). Il sera exprimé en seconde.
  • GET /multiplication?number1=xxx&number2=yyy : renvoie le résultat de xxx*yyy
  • POST /insertmyname  : renvoie "My name is xxx" xxx étant un prénom passer dans le body du message (indice NodeRED : c'est ce qui est passé dans msg.payload ;) )
  • GET /velomag : renvoie le nombre de place(s) de vélo disponible(s) à la vélo-station Euromédecine (id = 41)

Liens utiles

Aide dates en node js : https://usefulangle.com/post/187/nodejs-get-date-time

Open Data Montpellier : https://data.montpellier3m.fr/dataset/disponibilite-des-places-velomagg-en-temps-reel/resource/adb98f8d-c4d2-4012-8abe

Evaluation

Quand vous estimez avoir terminé, et seulement après ça, un script automatique va tester votre travail. Attention vous n'avez droit qu'à un essai. Suivez les étapes suivantes :

  1. Connecter vous au point d'accès (SSID = AP_EPSI_4G  Mot de passe = epsi123456).
  2. Récupérer votre propre adresse IP (soit dans les menus de votre OS, soit en ligne de commande, elle doit avoir la forme 192.168.30.x  x étant compris en entre 100 et 200). Dans la suite des explications elle sera notée IP_ELEVE.
  3. Demander au professeur l'adresse IP du serveur. Dans la suite des explications elle sera notée IP_SERVEUR.
  4. Dans votre navigateur, tapez :                                                                                                     IP_SERVEUR:1880/evaluation?nom=VOTRE_NOM&prenom=VOTRE_PRENOM&ip=IP_ELEVE:1880&pass=VOTRE_MOT_DE_PASSE_EPSI    Exemple :                   192.168.30.100:1880/evaluation?nom=Dupont&prenom=Martin&ip=192.168.30.105:1880&pass=123ABC                                  Note : on part du principe que autant côté serveur qu'élève, NodeRed tourne sous le port 1880. Dans le cas contraire, voir avec le professeur.
  5. Le script va alors récupérer les informations dans l'URL, tester votre API et vous donner le résultat au format JSON que vous pouvez copier/coller ici par exemple pour plus de lisibilité.