boardz:design:generalstructure

Ceci est une ancienne révision du document !


Conception Générale du service BoardZ

La version 2 de BoardZ propose un système de statistique et d'indicateurs déportés de Moodle constitué de 3 parties principales :

  • 1/ Un serveur de calcul autonome, écrit en Java compilé et capable de :
    • Recevoir un flux en temps réels de messages de journalisation de Moodle
    • Mettre à jour une représentation interne des contextes de gestion de moodle, et les métadonnées informatives qui y sont liées.
    • Définir des indicateurs, scalaires, vectoriels ou temporels
    • Mettre en place un modèle de données, et des stockages associés (caches mémoire, persistant sur base de données) permettant de mémoriser les valeurs d'indicateurs dans les dimensions concernées
    • Donner accès à des vues sur les indicateurs selon plusieurs modalités d'assemblage (granularité de la vue) et plusieurs formats de présentation (données brutes csv, objets json, rendu formaté HTML (widget), rendu graphé)
  • 2/ Un ensemble de primitives d'intégration dans Moodle, permettant de mettre en scène les vues de données dans la plate-forme Moodle pour les utilisateurs
  • 3/Un jeu de plugins permettant le transfert des données sources vers le serveur de calcul (plugins moodle), en mode push ou en mode pull.

Le projet prévoit à termes d'autres parties telles que :

  • Une GUI propre du serveur pour l'administration et la configuration des objets opérationnels.

Le serveur de calcul

Il s'agit d'un serveur écrit en Java faisant tourner :

  • Un serveur de requêtes HTTP léger permettant de donner un accès en mode requête/réponse aux services de :
    • Push de données de moodle
    • Requêtes de vues
  • Une tâche autonome continue d'intégration de données. Cette tâche consomme un tampon de données rempli par les requêtes d'alimentation des données source, effectue les calculs et abonde les modèles de représentation des indicateurs.
  • Une tâche autonome de synchronisation régulière des métadonnées de contexte.
  • Une tâche de monitoring, surveillant l'état des deux sous-ensembles ci-dessus, et capable de donner des alertes en cas de rupture ou de dépassement de capacités des “valeurs de travail acceptable” du serveur.
  • Une tâche “console” permettant d'invoquer des commandes sur le serveur en cours d'exécution, tel que le lancement d'une synchronisation manuelle, le nettoyage de caches ou de données temporaires, etc. Cette console développera un ensemble de primitives bas niveau de gestion sur lesquelles une GUI d'administration plus élaborée et graphique pourra être montée par la suite.

si le mode “Pull” est choisi pour récupérer les données d'exploitation :

  • Une tâche régulière d'aspiration de données dans Moodle au travers d'un plugin d'exposition des données associé (report/etl)

Les plugins d'intégration de résultats

Il s'agit dans un premier temps de plugins intégrables dans Moodle afin de proposer aux utilisateurs le rendu d'indicateurs “intéressants” pour eux, intégrés dans la conception du dispositif pédagogique lui-même.

Ces plugins permettront d'afficher dans les espaces de cours, ou les espaces annexes d'affichage adéquats (tableau de bord, blocs spécifiques d'une GUI d'une activité, en-tête de site, pied de page, ou tout autre espace de présentation projeté par Moodle), des éléments simples et compacts, basés sur un ou plusieurs indicateurs, mais potentiellement aussi des “tableaux de bord” statistiques plus complets, regroupant de nombreux indicateurs et sorties de données dans un agencement prédéfini.

Les plugins d'alimentation

boardz/design/generalstructure.1555270485.txt.gz · Dernière modification: 2020/04/07 11:07 (modification externe)