TRAAM STI 2013-2014 Acquisition et exploitations pédagogiques des données sur un système pédagogique



Documents pareils
La mesure des écarts en Sciences de l'ingénieur

Armand PY-PATINEC 2010

Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive. Version 1.0

Yann Struillou. Domaines de compétence. Développeur Web & Logiciels. 37 ans, en couple, 2 enfants. 19 hameau de Kerguillec Tréméoc

Documentation utilisateur. [EIP] TransLSF

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

SITE WEB E-COMMERCE ET VENTE A DISTANCE

Livre blanc Mesure des performances sous Windows Embedded Standard 7

Microsoft Windows NT Server

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Java 7 Les fondamentaux du langage Java

MYOSOTIS. Logiciel de supervision et de conduite de réseau NC. 107/2B

Plan de notre intervention 1. Pourquoi le test de charge? 2. Les différents types de tests de charge 1.1. Le test de performance 1.2.

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

TecLocal 4.0. Nouveautés de la version 4.0 (notes de mise à jour)

Extrait des Exploitations Pédagogiques

NOUVEAUTES de Microsoft Dynamics CRM 2011 REF FR 80342A

Compte-rendu N 04 Réunion du 19/12/14

Guide de la documentation des produits BusinessObjects XI

Guide Utilisateur - Guide général d'utilisation du service via Zdesktop ou Webmail v.8. Powered by. - media-2001.communication &.

Technologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

Prototypage électronique

Un serveur web, difficile?

Utilisation du visualiseur Avermedia

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Visual Paradigm Contraintes inter-associations

REQUEA. v PD 20 mars Mouvements d arrivée / départ de personnels Description produit

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

Configuration de SQL server 2005 pour la réplication

Chapitre 1 Introduction

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version septembre 2006

Contrôleur de communications réseau. Guide de configuration rapide DN

Microsoft Application Center Test

MEGA Application Portfolio Management. Guide d utilisation

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février :30 à 20:30

Préparation à l installation d Active Directory

Installation de Windows 2000 Serveur

Sommaire. 1 Introduction Présentation du logiciel de commerce électronique 23

Business Intelligence avec SQL Server 2012

Outil de gestion et de suivi des projets

Manuel d'utilisation avec le superviseur ISCANSERVER et le client VEHICLE Network System

FileMaker 13. Guide ODBC et JDBC

Alfresco Guide Utilisateur

Mise en place d une plateforme collaborative de développement en BTS SIO

Catalogue & Programme des formations 2015

SQL Server, MySQL, Toad (client MySQL), PowerAMC (modélisation) Proxy SLIS

Profil d études détaillé. Section : Informatique et systèmes Finalité : Technologie de l informatique

Notice PROFESSEUR Le réseau pédagogique

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO)

Capture Pro Software. Démarrage. A-61640_fr

Installation de Windows 2003 Serveur

Windows Internet Name Service (WINS)

OMGL6 Dossier de Spécifications

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

LimeSurvey Editeur de Questionnaire

TP redondance DHCP. Gillard Frédéric Page 1/17. Vue d ensemble du basculement DHCP

Projet Active Object

TAGREROUT Seyf Allah TMRIM

Méthodes de développement. Analyse des exigences (spécification)

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Services TCP/IP : Authentification, partage de fichier et d'imprimante dans un domaine Microsoft

Plateforme de capture et d analyse de sites Web AspirWeb

Eco énergie Solution. Maison de la solidarité départementale d Orthez

Logiciel EV3 LEGO MINDSTORMS Education

EIP 2012 Projet Livepad. Documentation technique 1.5

INTRODUCTION À LA GESTION DE PROJET AGILE (BACKLOG, TABLEAUX DE BORD, BURNDOWN, PLANIFICATION D ITERATIONS)

Nouveautés joomla 3 1/14

Espace numérique de travail collaboratif

Windows 8 Installation et configuration

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO)

Ma maison Application téléphone mobile

Mercredi 15 Janvier 2014

Logiciel de Gestion de la Relation Client

Animation Shop PREAMBULE... 2 CONTRAINTE... 2 CREER UNE ANIMATION... 2 AJOUTER DES IMAGES... 3 ENREGISTRER UNE ANIMATION... 3

Ateliers Python+Qt : Premiers pas : Comment développez ses propres interfaces graphiques sur le RaspberryPi?

DENOMINATION DU DOCUMENT : CAHIER DES CHARGES «MONITORING DOMOTIQUE» MOE : GROUPE 6 (SANOGO, AFFANE, DIALLO, N GOUAN, DJIMERA)

BIRT (Business Intelligence and Reporting Tools)

Annexe : La Programmation Informatique

Leica Application Suite

ipra*cool v 1.08 guide de l utilisateur ipra*cool v.1-08 Guide de l'utilisateur ipra*cool v

NOTICE D' UTILISATION CAMWORKS FRAISAGE. Luc Vallée Lycée Blaise Pascal Segré

Analyse,, Conception des Systèmes Informatiques

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

novapro Entreprise Introduction Supervision

Qu est-ce que VMIgreenlight? Solution de Gestion de Flotte facile et économique

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

PHPWEBSITE -Tutoriel image

IMAGE BASED MODELING généralités et utilisation des outils de photomodélisation. 123D Catch de Autodesk.

TD/TP 1 Introduction au SDK d Android

Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon

Interface PC Vivago Ultra. Pro. Guide d'utilisation

Séquence de découverte de SparkAngels Logiciel d entraide numérique

InfraCenter Introduction

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

Transcription:

TRAAM STI 2013-2014 Acquisition et exploitations pédagogiques des données sur un système pédagogique Bilan technique et éléments de développement Fonctionnalités attendues Une vingtaine d établissements de la Région Centre sont équipés du véhicule électrique TWIZY. Afin d'exploiter ce support avec des élèves, nous avons souhaité pouvoir relever des informations du véhicule lors d'un trajet et mettre les données en ligne. C est ce développement qui nous a servi de base pour ce compte rendu, dans l objectif dans transposition à tout autre système pédagogique dont les données de fonctionnement pourraient s avérer utiles pour des exploitations pédagogiques avec ou sans le système dans le laboratoire. Nous tenterons ici une description usant de SysML, qui semble pertinente pour ce type de présentation liant matériel et logiciel. L'objectif de la solution à développer était de pouvoir mettre en ligne des données issues du véhicule électrique Twizy afin que les enseignants puissent les exploiter avec les élèves. Ces campagnes de mesures sont réalisées lorsque le véhicule roule afin d obtenir des valeurs sur la vitesse, la charge de la batterie, etc. On peut grossièrement indiquer les différentes phases d'utilisation de la solution et les résultats attendus : les mesures se font lorsque le véhicule est roulant. Elles se feront donc avec un ordinateur positionné dans la voiture. À la fin de la mesure, on possède un fichier Excel dont le format est donné en annexe (format csv). Ce fichier est uploadé depuis une interface web dédiée vers la base de données de l'application web. Il est traité par l'application web à la réception pour mettre les données dans la base. Pour l'exploitation pédagogique, l'application web aura une interface permettant de sélectionner des critères de recherche afin de pouvoir extraire des campagnes de mesures parmi toutes celles présentes dans la base. Une campagne pourra ensuite être sélectionnée puis affiché graphiquement en fonction du temps. Il est possible de faire une synthèse de ce qui a été décrit grâce au diagramme de cas d'utilisation suivant :

Il est à noter que ce diagramme est la base sur laquelle toute la suite du développement repose. Nous y voyons apparaitre les différents acteurs et les différentes fonctionnalités attendues. A ce stade, il est nécessaire de modéliser les comportements attendus de l'application avant de commencer à développer. Scénarios nominaux Scénario de capture des données : Commentaires : afin de mieux faire apparaitre le scénario nominal lors de la capture des données, il est noté ici deux phases d'utilisation détaillées ci-dessous. Remarque : à ce stade, on peut noter sur les scénarios qu'il apparait 2 éléments logiciels différents : l'application web et l'application embarquée. La suite va les détailler. Figure 2 Solution d'acquisition en cours de développement chez Exxotest Figure 1 Interface du prototype de l'application WEB

Application embarquée : scénario phase initialisation Commentaires : dans l'idéal, il faudrait écrire un scénario où l'application embarquée est vue comme un tout (boite noire). Sauf qu'ici, il n'y a pas de difficultés particulières. On voit apparaitre une classe IHM qui permet de dialoguer avec l'utilisateur (affichage et saisie) ainsi qu'une classe de gestion de l'application (cœur de l'application) et une classe de dialogue avec le matériel. Il est important de bien scinder ces éléments pour ne pas aboutir à du code trop monolithique, c est-à-dire difficile à mettre au point et maintenir.

Application embarquée : scénario phase capture Commentaires : comme dans le scénario précédent, on continue à détailler l'application embarquée avec des classes qui cette fois-ci permettent de piloter du matériel. Ceci est issu du patron de conception Modèle-Vue-Contrôleur. La partie VUE ne sert qu'à l'affichage et la saisie des informations : elle est représentée ici par toutes les IHM. La partie CONTRÔLEUR sert à la gestion de l'application. C'est le cœur. C'est elle qui prend les décisions suite aux événements reçus. Normalement elle doit être indépendante des IHM et des classes matérielles. La partie MODELE sert à la gestion des données et des classes matérielles, ici c'est représenté par les classes CAcquisition et CExcel. Remarque : les classes qui sont apparues dans les deux scénarios précédents sont issues d'une pratique métier du développement. Mais il peut y avoir d'autres découpages possibles. Un langage de modélisation ne donne pas les choix, il ne peut que les représenter. Dans le diagramme ci-dessus, il faut préciser que l'acquisition des données dépend du système sur lequel on travaille. Dans notre cas, nous avons travaillé avec la TWIZY en nous branchant sur son bus CAN. Les données nous sont donc automatiquement envoyées sans avoir à les demander (ce qui est représenté ici). Par contre, sur un autre projet comme la maison PASSILAB, il faut aller interroger le système pour récupérer les données. Dans ce cas, la classe Acquisition aura un comportement légèrement différent dans le scénario ci-dessus.

Application embarquée : architecture niveau 1 Commentaires : les scénarios permettent de proposer le diagramme de classes ci-dessus. À gauche on trouve toutes les classes de dialogue avec les utilisateurs et à droite toutes les classes liées au matériel et à l'enregistrement de fichiers. Ils nous permettent aussi de faire émerger les différentes méthodes et signaux de chaque classe (l'objet n'est pas de détailler ici la différence entre ces deux concepts). À l'aide d'un logiciel de modélisation, la création des messages les ajoute automatiquement aux classes. Remarque : toutes les méthodes n'apparaissent pas forcément dans les scénarios. Si on ne s'attache à ne tracer que les plus importants, alors il faudra compléter les classes de manière indépendante. Par exemple ici est complétée la classe CExcel avec les méthodes Ouvrir() et Fermer(). Remarque : il est à noter ici que la classe CAcquisition est une classe générique. Il faudra donc adapter et modifier cette classe en fonction du système depuis lequel on souhaite effectuer des mesures. Dans notre cas, nous avons travaillé avec la TWIZY en nous branchant sur son bus CAN. Les données nous sont donc automatiquement envoyées sans avoir à les demander (ce qui est représenté ici). Par contre, sur un autre projet comme la maison PASSILAB, il faut aller interroger le système pour récupérer les données. Dans ce cas, la classe Acquisition aura un comportement légèrement différent dans le scénario de la page précédente. On peut distinguer ainsi 3 cas : Système type TWIZY : les informations sont envoyées par le biais d'un bus. Il faut donc pouvoir se brancher sur le bus par un moyen ou un autre (ici pour le cas du système TWIZY nous avons choisi le CANUSB qui est un moyen peu cher et assez facile à utiliser). Système PASSILAB : il existe une station contrôlant l'ensemble du système. Pour récupérer les données, il nous a fallu ajouter un module communicant par TCP/IP (en fait une passerelle bus KNX-> TCP/IP). Système instrumenté où à instrumenter : pour aller chercher les informations sur un système qui ne possède pas de moyen de communication, il faudra lui ajouter par exemple une solution de type microcontrôleur (Arduino par exemple) pour gérer les capteurs ainsi qu'un bus de communication. Selon les contraintes, les informations seront envoyées automatiquement par le µc ou bien elles seront récupérées à la demande par une application distante.

Application web : scénario Uploader les données Commentaires : scénario simple avec une seule alternative. L'upload doit vérifier à la fin que le fichier contient des informations viables (pas de valeurs erronées).

Application web : Consultation des données Commentaires : pas de problème particulier soulevé, donc pas d'alternative possible.

Application web : gérer le système Pas de diagramme particulier ici car cela ressemble fortement à ce qui est fait pour la consultation. Une fois le choix de la consultation fait, le gestionnaire tombe sur une nouvelle IHM lui permettant de réaliser toutes les tâches d'administration souhaitées (élément classique dans une application web). On retrouvera par exemple : Gérer les établissements, les Twizys et les comptes utilisateurs (ceux autorisés à uploader des fichiers). Gérer englobe Créer, Modifier, Supprimer. Cela fera appel à autant d'ihm nécessaires. Gérer les données (supprimer par exemple). Obtenir des statistiques sur des données comme le nombre de campagnes par établissement par exemple. Application web : structure niveau 1 On pourrait donner une architecture de site sur la base d'un diagramme de classes, mais son implémentation peut ensuite sembler un peu difficile à expliquer. De plus il existe plusieurs solutions possibles. Dans notre cas, l'application web reste simple. Application web : la base de données. Une application web va avoir besoin d'une base de données. De manière assez classique, on va commencer par mettre au point le modèle conceptuel de données (MCD). C'est une sorte de diagramme de classes (schéma entités-relations) simplifié. Ci-dessous, celui qui a été mise au point pour l'application web liée à la TWIZY : Ce diagramme a été saisi avec le logiciel gratuit JMerise. Le gros avantage dans notre cas est de pouvoir par la suite générer automatiquement le code SQL de création de la base (en plus de vérifier que le modèle est correct), une fois ce diagramme généré, aucune ligne de code n'est tapée. On copie-colle le code SQL dans un PHPMyadmin (interface classique de gestion d'une base de données MySQL) et après validation, la base est créée et opérationnelle.

Justification des choix techniques : Acquisition des données : le système sur lequel nous travaillons ayant un bus CAN sur lequel circulaient les données, nous avons choisi le matériel CANUSB pour plusieurs raisons : o peu cher, environ une centaine d'euros. o permet de visualiser ce qu'il se passe sur le bus CAN avec le logiciel CAN monitor pro ainsi que de générer des trames à la demande. o possède une librairie utilisable avec Borland C++ Builder. Environnement de développement : o Les langages de programmation évolués comme Java ou C# sont des outils adaptés pour un tel développement. La difficulté ici est d'arriver à intégrer la DLL venant avec le CANUSB. Avec le langage Java, c'est plus technique, et en C#, ce n'est à priori pas trop difficile. o Nous avons donc cherché à utiliser Java dans un premier temps, mais nous avons rencontré des problèmes avec la DLL. Comme il y avait une librairie spéciale C++ Builder nous nous sommes tournés vers cet environnement. Comme avec Netbeans ou Visual Studio, cet IDE nous permet de créer des IHM en les dessinant, ce qui est beaucoup plus facile et rapide. C'est le seul que je connaisse en C++. Il existe bien sûr Qt mais là plutôt réservé aux connaisseurs. Nous sommes donc partis avec C++ Builder. hébergement web : ici pas de secret, nous avons pris ce que le rectorat utilise, c est-à-dire le couple PHP/MySQL. Conclusion générale : L'aboutissement de ce type de projet dépend bien évidemment des compétences techniques de l'équipe. Ici c'est un projet qui est un peu électronique, mais surtout informatique industrielle, qui a demandé des compétences de développement logiciel à minima, des connaissances sur les bases de données et des connaissances sur les bus industriels. Le 1 er juillet 2014 Baudouin MARTIN Professeur au lycée Vaucanson à Tours Émile FERRÈRE Professeur au lycée Henri Brisson à Vierzon Cyril MARINE Chef de Travaux au lycée Henri Brisson Frédéric TARAUD Chef de Travaux au lycée Benjamin Franklin à Orléans