Le groupe avait pour but de travailler durant le hackathon sur la conception de nouvelles interfaces EOLE en intégrant de nouvelles techniques de développement web.
Après la constitution du groupe, la présentation de divers projets Eolica, QuickZéphir, Web Console) et une discussion autour des techniques de développement web il a été envisagé d’apporter des améliorations à l’application QuickZéphir développée par Christophe Dezé.
QuickZéphir est un frontend alternatif à celui proposé par le module Zéphir. Il permet notamment un accès plus rapide à l’information. QuickZéphir utilise l’API du module Zéphir. Le résultat des appels XMLRPC est transposé en JSON. Les technologies utilisées sont, entre autres, HTML5, Node.js et AngularJS.
Voici dans les grandes lignes le travail effectué durant le hackathon :
  • création d’un projet GitHub pour versionner, travailler et partager les sources de QuickZéphir au moins le  temps du hackathon : https://github.com/gwen21/hackathon ;
  • déploiement d’un module Zéphir de test dans l’infrastructure de virtualisation OpenNebula ;
  • refactoring de code ;
  • création d’un menu de navigation ;
  • création d’un backend pour récupérer la liste des utilisateurs du serveur Zéphir ainsi que leurs droits (en s’appuyant la documentation de l’API) ;
  • création d’une page d’administration des droits de gestion du parc enregistré sur le module Zéphir ;
  • création d’une page de gestion des serveurs ;
  • ajout d’un formulaire de création d’un serveur et du backend correspondant.

Interface QuickZéphir

Depuis, le travail a donné lieu à l’hébergement du projet en tant que contribution dans la forge EOLE  :  https://dev-eole.ac-dijon.fr/projects/quickzephir

Tester QuickZéphir

  • Cloner le dépôt :
    $ git clone https://dev-eole.ac-dijon.fr/git/quickzephir.git
    $ cd quickzephir
  • Installer Node.js :
    $ sudo apt-get install nodejs nodejs-legacy
  • Lancer l’installation des composants :
    $ npm install
  • Exécuter le serveur en renseignant l’IP ou l’adresse du Zéphir :
    $ ZEPHIR_SERVEUR='<adresseIPserveurZephir>' npm start
  • Se connecter avec un navigateur web sur le serveur en local sur le port 9000 : http://localhost:9000