Conception d’une application interactive pour le MOOC Internet Measurements a Hands-on Introduction
Une application interactive pédagogique de mesures a été développée pour les besoins d’un MOOC d’introduction aux mesures d’internet. Il s’agit d’une application web qui permet aux apprenants de soumettre ou consulter des expériences sur un sous‐réseau de serveurs dédiés, nommé plateforme PlanetLab Europe. Ces expériences sont de simples commandes réseaux Unix, exécutées à distance sur un serveur donné de ladite plateforme, choisi par l’apprenant. Ce service web est conçu pour être facile d’usage, et également pour solliciter au minimum la plateforme en cas de montée en charge. Il communique avec le serveur vitrine de la plateforme via une API REST, et est basé sur le framework Python Django. Le cœur de l’application est une base de données stockant les correspondances entre les apprenants et leurs expériences ; et dont l’état est régulièrement actualisé afin de soumettre les nouvelles expériences à la plateforme et d’y récupérer celles qui sont achevées. Ce processus d’actualisation est confié à un processus indépendant du serveur web (Celery). Timur FRIEDMAN et Renata TEIXEIRA ont conçu le MOOC « Internet Measurements: a Hands‐on Introduction » [1] lancé en mai 2016 sur la plateforme France Université Numérique (FUN). Ce cours, en anglais, s’adresse en priorité à des opérateurs et concepteurs de réseaux de niveau Master. Y sont abordés différents concepts tels que la topologie des réseaux et le routage, les pertes, la latence, la géolocalisation, la bande passante et les mesures de trafic. Dans une approche pédagogique pratique basée sur des expérimentations réelles, les auteurs souhaitaient permettre aux apprenants à la fois de consulter des expériences et de réaliser leurs propres mesures à partir d’une plateforme de tests existante.
PlanetLab est un réseau d’ordinateurs connectés au niveau mondial et disponibles en tant que plateforme de tests dans le cadre de projets de recherche sur les réseaux informatiques et les systèmes distribués. Timur Friedman dirige la branche européenne, la plateforme PlanetLab Europe [2]. Il s’agit d’une plateforme de tests composée d’un réseau de serveurs (nodes) connectés à internet et mis à disposition par plusieurs dizaines d’instituts académiques. Elle permet de créer des expériences telles que des mesures de réseaux. Les nodes concernés se comptent actuellement en quelques centaines et sont répartis sur environ 200 sites géographiques européens. Cependant, cette plateforme est utilisable uniquement via authentification par des utilisateurs rattachés à une institution membre de PlanetLab Europe. Elle nécessite en outre d’être capable de solliciter des machines virtuelles, de s’y connecter et de les configurer pour pouvoir lancer des expériences. Les auteurs du MOOC souhaitaient que les apprenants puissent accéder à une interface connectée à PlanetLab Europe et directement intégrée au sein de la plateforme de formation et ce, sans besoin de s’identifier sur une autre plateforme. Le projet européen FORGE (Forging Online Education through Future Internet Research and Experimentation) [3] visait à promouvoir des actions de formation en ligne dans le domaine de l’internet du futur via des expérimentations réelles. UPMC, l’université où travaille Timur Friedman, étaient partenaires de ce projet, dont le porteur à l’UPMC était Olivier FOURMAUX.
Dans le cadre d’un Open Call, FORGE a permis à un ingénieur de l’UPMC, Mohammed Yasin RAHMAN, de développer un service connecté à PlanetLab Europe capable, avec un identifiant unique, de recevoir des demandes de mesures, de les envoyer aux nodes et de récupérer les résultats. Il nous a fourni une API REST. Le contexte d’implémentation était le suivant :droite) pour effectuer une mise à jour. L’apprenant peut soumettre de nouvelles expériences en cliquant sur l’onglet « new experiment » (Fig. 5). Une nouvelle expérience doit avoir un nom, un serveur sur lequel elle sera exécutée, et une commande réseau Unix (seulement ping ou traceroute dans la première version du service) avec optionnellement une URL de destination (ex : ping www.inria.fr) ainsi que des arguments optionnels. L’apprenant peut également supprimer ou consulter via des boutons une expérience de la liste.Le framework Bootstrap de Twitter (version 3) a été choisi car parfaitement adapté pour concevoir rapidement une interface conviviale (apparence des boutons, jeu d’icônes, responsive design). L’interface de base présente un système de deux onglets permettant de naviguer entre la liste des expériences déjà soumises (Fig. 4) et le panneau de soumission de nouvelles expériences (Fig. 5). Comme précisé dans la partie architecture, l’interface fait usage du JavaScript, ce qui permet également d’offrir une meilleure expérience utilisateur lors de l’affichage des détails d’une expérience (Fig. 6), de sa suppression de la liste, ou encore lors du filtrage des nodes opérationnels sur la plateforme PlanetLab Europe (Fig. 7) [3].