IMA5 2018/2019 P06 : Différence entre versions

De Wiki de Projets IMA
(Liste des tâches à effectuer)
(Présentation générale)
Ligne 2 : Ligne 2 :
 
<br style="clear: both;"/>
 
<br style="clear: both;"/>
  
=Présentation générale=
+
=Présentation générale=;
Conception et développement d'un système de gestion d'un réseau de capteurs
+
Conception et développement d'un système de gestion d'un réseau de capteur.
 
   
 
   
 
==Description==
 
==Description==
Notre projet s'inscrit dans le cadre d'un projet de recherche à l'IRCICA sur un réseaux de capteurs à large échelle (100 noeuds). Face à un réseau de cette ampleur, il est intéressant de développer une solution de maintenance automatique (ou manuel) de ce réseau. Il sera bien plus aisé aux chercheurs de tester leurs hypothèses en déployant rapidement leurs logicielles sur tout ou partie des noeuds disponibles grâce à des fonctionnalités tel que la sélection d'une partie du réseau ou encore la mise à jour d'un ensemble de capteurs de même type.
+
 
 +
Notre projet s'inscrit dans le cadre d'un projet de recherche à l'IRCICA sur un réseau de capteurs à large échelle (100 noeuds). Face à un réseau de cette ampleur, il est intéressant de développer une solution de maintenance à distance de ce réseau. Il sera bien plus aisé pour les chercheurs de tester leurs hypothèses en déployant rapidement leurs logicielles sur tout ou une partie des noeuds disponibles grâce à des fonctionnalités telles que la sélection d'une partie du réseau ou encore la mise à jour d'un ensemble de capteurs de même type / architecture.
  
 
==Objectifs==
 
==Objectifs==
L'objectif de notre travail consiste pour cela à développer simultanément le front-office et le back-office. La partie front sera réalisée en utilisant les technologies web classiques. La partie back-end sera constitué d'un ensemble de webservices en différents langages permettant la communication réseau et la gestion d'une base de donnée de noeuds et capteurs. Il faudra y développer des services classiques comme la gestion des utilisateurs et des services spécifiques (compilation du code source, téléchargement à distance du logiciel sur les noeuds).
+
 
La partie front-end aura vocation à être utilisé par des utilisateurs externes au projet et devra donc être ergonomique et facile de compréhension. Il devra également être fonctionnel et modifiable facilement.
+
L'objectif de notre travail consiste pour cela à développer simultanément le front-office et le back-office. La partie front sera réalisée en utilisant les technologies web classiques. La partie back-end sera constituée d'un ensemble de webservices en différents langages permettant la communication réseau et la gestion d'une base de données de noeuds et capteurs. Il faudra y développer des services classiques comme la gestion des utilisateurs et des services spécifiques (compilation du code source, téléchargement à distance du logiciel sur les noeuds).
 +
La partie front-end aura vocation à être utilisée par des utilisateurs externes au projet et devra donc être ergonomique et facile de compréhension. Elle devra également être fonctionnel et modifiable facilement.
  
 
=Préparation du projet=
 
=Préparation du projet=

Version du 19 septembre 2018 à 13:37


=Présentation générale=; Conception et développement d'un système de gestion d'un réseau de capteur.

Description

Notre projet s'inscrit dans le cadre d'un projet de recherche à l'IRCICA sur un réseau de capteurs à large échelle (100 noeuds). Face à un réseau de cette ampleur, il est intéressant de développer une solution de maintenance à distance de ce réseau. Il sera bien plus aisé pour les chercheurs de tester leurs hypothèses en déployant rapidement leurs logicielles sur tout ou une partie des noeuds disponibles grâce à des fonctionnalités telles que la sélection d'une partie du réseau ou encore la mise à jour d'un ensemble de capteurs de même type / architecture.

Objectifs

L'objectif de notre travail consiste pour cela à développer simultanément le front-office et le back-office. La partie front sera réalisée en utilisant les technologies web classiques. La partie back-end sera constituée d'un ensemble de webservices en différents langages permettant la communication réseau et la gestion d'une base de données de noeuds et capteurs. Il faudra y développer des services classiques comme la gestion des utilisateurs et des services spécifiques (compilation du code source, téléchargement à distance du logiciel sur les noeuds). La partie front-end aura vocation à être utilisée par des utilisateurs externes au projet et devra donc être ergonomique et facile de compréhension. Elle devra également être fonctionnel et modifiable facilement.

Préparation du projet

Cahier des charges

Choix techniques : matériel et logiciel

Matériel

  • Un Serveur dédié contenant l'ensemble des services
  • Un réseau de capteurs orchestré par des Raspberry Pi

Logiciel

  • Ansible pour faciliter le déploiement des binaires sur les noeuds
  • La plateforme Java EE pour la partie back-end couplé au framework Spring
  • Une base de données PostgreSQL dans un premier temps pour assurer la persistance des données
  • Une partie front-end moderne basée sur le framework Vue.js et sur un framework CSS tel que Bootsrap, Semantic UI ou Fondation pour ne citer que les plus connus

Liste des tâches à effectuer

  • Comparaison et documentation sur les frameworks web de création d'interface (Angular, React, Vue ...)
  • Documentation sur Spring et Java EE en général
  • Configuration des routes du projet Spring (racine, connexion dans un premier temps)
  • Création d'une interface utilisateur (front-end)
    • Page de connexion pour commencer
  • Implémentation d'un gestionnaire d'utilisateurs
  • Création d'une base de données pour gérer les noeuds
  • Implémentation du service d’envoi des fichiers de mise à jour

Calendrier prévisionnel

Réalisation du Projet

Semaine 1

Semaine 2

Documents Rendus