IMA5 2018/2019 P06

De Wiki de Projets IMA
Révision datée du 19 septembre 2018 à 13:15 par Aduqueno (discussion | contributions) (Liste des tâches à effectuer)


Présentation générale

Conception et développement d'un système de gestion d'un réseau de capteurs

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.

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.

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

  • Création d'un serveur web (back-end)
  • Création d'un interface utilisateur (front-end)
  • Implémentation d'un gestionnaire d'utilisateurs
  • Création d'une base de donnée 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