Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
2
Introduction
En informatique, on parle d'un système temps réel lorsque ce système est capable
de contrôler (ou piloter) un procédé physique à une vitesse adaptée à l'évolution
du procédé contrôlé.
Les systèmes informatiques temps réel se différencient des autres systèmes
informatiques par la prise en compte de contraintes temporelles dont le respect est
aussi important que l'exactitude du résultat, autrement dit le système ne doit pas
simplement délivrer des résultats exacts, il doit les délivrer dans des délais
imposés. Dans ce TP nous essaierons d’exploiter les connaissances acquises dans
le cours à travers le développement d’une application temps réel sur web en se
basant sur les technologies HTML, HTTP et NODEJS et ses frameworks.
Objectif
L’objectif de ce TP est de mettre en pratique certains des concepts discutés dans
le cours du Système temps réel et embarqués à l’aide d’une application web.
L’application à développer doit permettre à ses utilisateurs d’interagir avec le
serveur pour lui demander d’exécuter des requêtes sur son système de fichiers et
retourner les résultats en les affichant sur la fenêtre du navigateur client. Pour
pouvoir utiliser l’application, un utilisateur doit d’abord s’inscrire auprès du
système en introduisant son nom et son prénom et en choisissant un login et un
mot de passe pour des fins d’authentification. Les informations saisies par
l’utilisateur doivent être inscrites dans une collection en mémoire ou dans une
base de données No SQL telle que Mongo DB, ceci en utilisant la plateforme
NodeJS pour la mise en place d’un serveur modulaire pour faciliter la
maintenance et l’évolution de l’application tout en respectant les consignes
indiquées .Les utilisateurs possédant un compte dans le système peuvent accéder
à un ensemble de fonctionnalités/services en fournissant l’URI correspondant
(login, logout, upload, show, find, …) :
Le service login doit servir à ouvrir une session avec le serveur alors que le
service logout permet de mettre fin à la session courante.
Le service upload doit permettre à l’utilisateur de choisir une image pour son
profil et la sauvegarder sur le disque du serveur pour pouvoir la retourner plus
tard.
Le service show, quant à lui, permet à l’utilisateur de retourner et afficher sur
son navigateur la dernière image qu’il a chargée sur le serveur, sinon une
image par défaut sur le système de fichiers.
Enfin, le service find doit être demandé par l’utilisateur lorsqu’il veut afficher
sur son navigateur l’ensemble des fichiers du serveur.
3
Outils et logiciels utilisés
4
I. Réalisation du TP : Implémentation des solutions
a. 1 ère version de l’application :
1. Créer un fichier server.js
5
c. 3eme version de l’application :
1. Création des modules :
Dans cette implémentation nous allons donc créer 3 modules : server.js,
index.js et router.js contenant le code indiquer.
2. Exécution :
On exécute la commande node index.js dans le terminal et on essaie cette fois
ci d’envoyer une requête, le console log nous indique que la requête est
envoyé.
On peut donc penser à ajouter un 4eme module pour améliorer le code qui va
s’occuper du traitement des requêtes spécifiques.
2. Exécution :
On essaie cette fois ci les différentes requêtes que nous avons ajoutées, on
appelle « find » par exemple :
6
2. Fonction Start:
On change le code de la fonction start pour qu’elle soit ainsi :
7
II. Extensions : Socket.io et Mongo DB
a. Socket.io :
1. Installation des dépendances :
Nous avons besoin d’un package.json pour cela on commence par la commande
npm init -y
Installons socket.io
2. Exécution :
On exécute la commande node index.js et on ouvre le local host 3000 dans le
navigateur
8
Et on appelle le service show par exemple qui fonctionne correctement.
Premièrement l’utilisateur doit s’inscrire, son nom sera ajouté dans la base de
données de MongoDB et ainsi il peut s’authentifier avec le compte crée :
9
Lorsque l’utilisateur s’authentifie, il est dirigé vers une sorte d’interface avec les
services que nous avons implémenté upload, show, find et logout, si l’utilisateur
choisit upload, il peut insérer du texte qui sera afficher dans le service show.
On peut retrouver les textes que nous avons ajouté simplement en cliquant sur
le bouton show
10
Cliquez sur ce lien Git hub pour voir l’integralité du code.
Conclusion
Ce TP était une occasion pour apprendre à maitriser certains aspects des sytemes
temps réel sur le web et nous a permis de s’initier à NodeJS et plusieurs
framework comme mongoose, socket.io et express tout en utilisant MongoDB.
L’objectif de ce TP etait de mettre en pratique les acquis discutés dans le cours
du Système temps réel et embarqués à l’aide d’une application web, ce qui
nous a permis de mieux cerner la manipulation des technologies utilisées.
11