Projet 1789 : Plateforme d'enseignement innovante Groupe n°81 : Lan Xu, Tanguy Kerdoncuff, Thomas Fredon, Vincent Feugère Encadrants : Alexander Pelov, Baptiste Gaultier, Géraldine Texier, Jean-Pierre Le Narzul 21/05/2018
Sommaire Présentation générale du projet Architecture globale de la plateforme Présentation du Service-Browser Présentation des différents plugins : Poll, File-Transfer, Chat Démonstration de la plateforme Perspectives d'évolution
Présentation générale du projet 1789 Un projet hybride Un projet « double » : Projet logiciel et projet de recherche Un projet destiné à être poursuivi lors des années suivantes Volonté de lancement d'une communauté de développement S’inscrit dans le cadre de la plate-forme d’expérimentation RAMMUS (RAdio Mobile MUlti Standards) Une suite de logiciels destinés à l'enseignement Une suite applicative standardisée appropriée au partage d'informations dans un amphithéâtre ou une salle de classe : Partage de documents, sondages, salons de discussion. Objectif : Interaction avec les personnes à proximité Proposer une découverte des services disponibles à proximité
Architecture globale de la plateforme (1/2) Point central : le browser de services Annonce la présence de la suite Découvre les services des autres utilisateurs Plugins de service Fournisseurs et consommateurs de service Axée sur les services DNS-SD Protocole d'annonce de service Implémenté par Avahi sous Linux Implémenté par d'autre plateformes : Jmdns, Apple Bonjour, Windows CE
Architecture globale de la plateforme (2/2)
Présentation du Service-Browser (1/2)
Présentation du Service-Browser (2/2) Inspiré du Browser de service de Zeroconf Code Python – interface GTK DNS-SD géré par l'interface DBus de Avahi Seconde fonction de gestionnaire de plugins
Présentation du Poll Plugin (1/4) But : Fournir un outil de sondage interactif sur le réseau local
Présentation du Poll Plugin (2/4) Exemple d'utilisation : Créateur du sondage Réseau Utilisateurs qui répondent au sondage Service Browser
Présentation du Poll Plugin (3/4) Technologies utilisées : Code en Python Interface graphique : PyGTK Communication réseau via des requêtes HTTP (requêtes GET et POST)
Présentation du Poll Plugin (4/4) poll_state Design Patterns utilisés : poll_manager poll_guiobserver poll_command poll_gui
Présentation du File-Transfer Plugin (1/3) But : Permettre de partager divers documents entre les utilisateurs de la plateforme 1789 Différentes technologies existantes : XMPP, FTP, HTTP, Classroom Presenter … Notre solution : Serveur FTP & Serveur HTTP Un simple clic permet à l'utilisateur de lancer un serveur FTP ou un serveur HTTP, sur lequel les autres utilisateurs pourront se connecter.
Présentation du File-Transfer Plugin (2/3) Utilisation d'un serveur FTP :
Présentation du File-Transfer Plugin (3/3) Résolution du service de transfert de fichier : Lancement d'un client FTP (Filezilla)
Présentation du Chat Plugin But : Permettre des conversations pair à pair ou dans des salons de discussion. Exemple d'utilisation :
Démonstration de la plateforme
Perspectives d'évolution Ajout de plugins supplémentaires : Agenda Lecteur/éditeur de flux de news Subversion Traitement de texte collaboratif Gestion rémanente des services Portage vers d'autres plateformes Implémentation des tubes Telepathy
Présentation des tubes Telepathy Avantages Technologie permettant le partage d'application Inspirée de D-Bus pour l'export de méthodes Permet une diffusion unicast ou multicast Limites actuelles : Technologie pas encore mature : Non implémentée actuellement sur Telepathy Glib Peu de documentation
Merci de votre attention. Des questions ?