Refonte EzMaster

Tous les outils utilisés pour reproduire l’application ezMaster, décrite ci-après, sont disponibles librement sur le Web.

Maquette de l'Interface Homme Machine

Maquette de l’Interface Homme Machine

EzMaster est un outil qui a pour objectif de permettre à des non-informaticiens d’exécuter et de contrôler des instances d’application (telle que LODEX) avec une interface web en “Material Design“. C’est-à-dire que l’administrateur d’ezMaster a aisément la possibilité de démarrer, d’arrêter, de supprimer l’instance ainsi que d’accéder à son contenu. De plus, il aura par la suite la capacité d’ajouter une nouvelle instance.
Une application (basée sur pm2 qui est un gestionnaire de processus de production pour les applications Node.js) est déjà déployée mais pour des raisons de maintenance et de facilité d’utilisation une nouvelle application est développée. Cette dernière repose sur Docker (logiciel de gestion de containers) où chaque instance correspond à un « container Docker ». Ce choix de conception va notamment permettre de gérer facilement les « App », c’est-à-dire que leurs instances seront exploitées de manière autonome et indépendante, nécessitant seulement un fichier de configuration et des données.
La structure d’ezMaster repose sur celle de castor-boilerplate  car c’est un outil qui permet de créer rapidement une application web. Elle est composée d’un serveur web Node.js, d’un fichier client en Javascript et d’une interface graphique en Html/Css. La communication de Docker avec Node.js se fait avec le module Javascript « Dockerode » qui permet d’interagir sur Docker grâce à des requêtes Ajax envoyées du client vers le serveur.

Schéma d'architecture d'ezMaster

Schéma d’architecture d’ezMaster

Lexique :

  • Material Design : Ensemble de règles de design proposées par Google et qui s’appliquent à l’interface graphique des logiciels et applications.
  • Container : Version d’application exécutable.
  • App : Application avec des contraintes (serveur web, répertoire de données, fichier de configuration, base de données Mongo si il y a une base).
  • Castor-boilerplate : Squelette d’une application basée sur castor-core.
  • Castor-core : Serveur web basé sur ExpressJS (infrastructure web) avec quelques addons ou fonctionnalités pré-configurées.

 

Vidéo de présentation du Produit Minimal Viable :

 

Nicolas Lamblin