Title: Systme auteur MAI Le logiciel
1Système auteur MAILe logiciel
2PLAN
- Description de la méthodologie MAI
- Présentation des concepts de base de MAI
- Obstacle 1 Système Distribué
- Obstacle 2 Persistance des données
- Obstacle 3 Edition des contenus dapprentissage
- Obstacle 4 Echanges dinformations entre
client/Serveur - Obstacle 5 Présentation et utilisation des
informations - Obstacle 6 Manipulation et utilisation des
ressources - Obstacle 7 Utilisation en/hors réseau
- Obstacle 8 Deploiement du système
- Obstacle 9 Utilisation de lévaluation
- Obstacle 10 Définition dun glossaire
3Didier Vaiser
"Module d'Apprentissage Interactif (MAI) -
Système auteur" Maurice Ndaye Mukuna2, Cécile
Pirotte2, Anne de Baenst2, Jacques Van Cleve1,
Isabelle Housen1, Philippe Calmant1, Monique
Noirhomme2 et Eric Depiereux1 Facultés
Universitaires Notre-Dame de la Paix Milia 2002,
Cannes 4-8 février 2002 (1 Unité de Recherche en
Biologie Moléculaire, 2 Institut d'informatique,
Equipe multimédia) Mail mnd_at_info.fundp.ac.be ou
eric.depiereux_at_fundp.ac.be ou mno_at_info.fundp.ac.be
Site http//www.info.fundp.ac.be/cpi/AccueilMa
i.htm
PRINCIPES DE BASE DE MAI
NOUVEAUX HORIZONS
- Cours interactif
- Cours divisé en une série de problématiques ou
objectifs définissant une mise en projet.
Chaque objectif regroupe un ensemble dunités
d'apprentissage (UA). - Unités d apprentissage
- Partie très circonscrite de la matière à
enseigner ayant trait à un même concept
théorique. Une évaluation est prévue au terme de
chaque UA. - Réseau sémantique
- Réseau conceptuel organisant les UA les unes par
rapport aux autres. Représenté par une carte de
navigation pilotant l apprenant dans son
apprentissage en fonction des résultats de
l évaluation.
- Système-auteur créer des hypertextes ou des
hypermédias. - Modèle pédagogique lié à la notion de réseau
conceptuel/sémantique. - Approche par problème/ objectif .
- Professeur ne doit pas être expérimenté en
informatique. - Apprenant ne doit pas être spécialiste de la
matière proposée (secondaire, premier cycle,
formation continuée, entreprise, ...). - Accessible via le réseau ou sur CD.
UNITES D APPRENTISSAGE
- Une UA est caractérisée par trois attributs
importants - elle ne se rapporte qu'à un et un seul concept
- il ny a quun seul auteur qui l'a conçue
- elle a un numéro de version qui permet de
conserver un historique de la création de cette
UA.
CARTE DE NAVIGATION
- Une UA se compose de trois catégories d'éléments
- un noyau suite linéaire de pages contenant les
textes présentant le concept concerné - des ressources périphériques informations
multimédia (schémas, illustrations, animations,
simulations, exercices) considérées comme
intéressantes, mais pas indispensables. - des tests un test d entrée et un test de
sortie.
- Ensemble de nuds et d arcs.
- Parcours non linéaire des UA proposé à
l apprenant. - Permet à l apprenant de prendre connaissance des
UA pré-requises à une UA donnée et de choisir
celle qu'il veut étudier. - Outils de gestion de la carte mis uniquement à
disposition du professeur. - Mise-à-jour des accès au niveau de lévaluation.
TECHNOLOGIES UTILISEES
MATERIELS ET LOGICIELS REQUIS
- Architecture Client/Serveur.
- Java, HTML, SQL Server, QuickTime for Java.
- Remote Method Invocation (RMI) de Java.
- Fonctionnement en local (off line) ou via le
réseau (on line). - Animations Flash, Shockwave, QuickTime, ...
Supportées.
- Utilisation à partir dun PC (Windows) ?
professeur. - Utilisation à partir d un CD.
- Utilisation en réseau et/ou hors réseau.
- JRE, JMF et QuickTime for Java.
- Utilisable à partir d un browser.
4Obstacle 1 Système Distribué
- Raisons
- Manipulation des données
- Création des données
- Modification des données
- Suppresion des données
- Partage des données entre utilisateurs du
système - entre professeurs
- entre professeurs et apprenants
- Réutilisation des données entre professeurs
- SOLUTION ARCHITECTURE CLIENT/SERVEUR
5Système Distribué
6Système Distribué
Client
Serveur
Application MAI
BD
API JDBC
Serveur MAI MI
Client MAI RMI
7Implémentation du Système Distribué avec RMI
- API de Java
- Sert à créer des applicationsJava capable de
communiquer avec dautres applications Java en
réseau - Permet à une application dappeler des méthodes
et daccéder à des variables situées dans une
autre application - Permet le transfert des objets dans un sens et
dans lautre par lintermédiaire dune connexion
réseau - Repose sur 3 couches dabstraction
- la couche stubs/squelettes intercepte les
appels aux méthodes effectués par le client à
destination et les redirige vers lobjet distant. - la couche références distantes connecte les
clients aux objets distants par le biais dune
connexion point à point. - la couche transport garantit la connexion
et assure lexpédition des données.
8Implémentation du Système Distribué avec RMI
- Utilisation de HTTP (HyperText Transfer
Protocol) - Fournit des fonctionnalités aux serveurs et
aux navigateurs Webs - assure une connexion persistante entre le
serveur et le navigateur - Adéquation à la navigation Web, mais pas aux
applications Web - Possibilité de profiter des fonctions des
technologies servlets et JSP de Java - Possibilité de profiter des Applets Java
- Utilisation des applets de Java
- SOLUTION INTERFACE WEB (obstacle 8)
9Exemple implémentation RMI pour ressources
Client
Serveur
Application MAI Manipulations ressources
BD
API JDBC
Squeleton Ressources_Implementation
Stub Ressources_Implementation
10Obstacle 2 Persistance des données
Séminaire de vendredi
11Obstacle 3 Edition des contenus dapprentissage
- Besoin pour lutilisateur de générer des
contenus dapprentissage - Besoin pour lutilisateur de réaliser du
traitement de texte - Besoin pour lutilisateur dajouter des
ressources média - Besoin pour lutilisateur de créer des liens
hypertextes - Besoin pour lutilisateur dattacher des mots
aux termes du glossaire - Besoin pour lutilisateur de réutiliser des
contenus déjà créés et mis en page - SOLUTION EDITEUR DE TEXTES HTML wysiwyg
12Obstacle 4 Echanges dinformations entre
client/Serveur
- Comment réaliser les échanges dinformations
entre clients et serveurs ? - Sous quelle forme on va échanger les
informations entre les clients et le serveurs ? - SOLUTION DEFINITION ET IMPLEMENTATION DES
CLASSES SERIALISEES.
13Obstacle 4 Echanges dinformations entre
client/Serveur
Analogie 1 La programmation orientée objet
ressemble beaucoup à la bière la plupart des
personnes qui la boivent pour la première fois
lui trouvent un goût si désagréable quelle se
demandent si ses amateurs sont des êtres
normaux. Mais au bout d un certain temps,
certains persévérants peuvent se découvrir une
véritable passion pour cette boisson. Comme pour
la bière, le goût pour la programmation orientée
objet s acquiert.
14Présentation de la programmation orientée objet
1. Définition Il s agit d organiser les
programmes en s inspirant de la manière dont les
objets sont organisés dans la vie de tous les
jours. Un programme est un ensemble d objets
qui fonctionnent ensemble, dune manière
prédéfinie, afin d accomplir des tâches. Un
programme global est, en fait, constitué de
différents composants appelé objet.
15Présentation de la programmation orientée objet
2. Analogie 2 Les briques LEGO sont de petits
blocs en plastique vendus en différentes couleurs
et différentes tailles. Ces briques comportent
sur l une de leurs faces de petits crampons
ronds qui rentrent parfaitement dans les trous
des autres briques. Ces combinaisons de briques
permettent de construire des formes plus
importantes, et il est possible d utiliser
quantité de pièces LEGO différentes, telles que
des roues, des moteurs, des charnières et des
engrenages. Les briques LEGO permettent de
réaliser toutes sortes de choses des châteaux,
des voitures, des semi-remorques, des bretelles,
des vêtements de sports, bref, tout ce qui est
possible et imaginable. Chaque pièce LEGO est un
objet qui, associé à d autres objets d une
manière bien spéciale, permet de créer un objet
plus grand
16Présentation de la programmation orientée objet
Objets et classes Classe modèle utilisé pour
créer plusieurs objets présentant des
caractéristiques communes. Objet instances des
classes. Analogie 3 Supposons que vous
travailler avec une classe Arbre décrivant toutes
les caractéristiques de tous les arbres possède
des feuilles et des racines, pousse et donne de
la chlorophylle. Pour disposer réellement dun
objet et pour pouvoir le manipuler dans un
programme, vous devez linstancier. Il faut donc
créer un objet ( instance). Une même classe peut
servir à créer quantité d objets arbre
différents et chaque arbre peut présenter des
caractéristiques différentes.
17Présentation de la programmation orientée objet
Palmier
Classe Arbre
Sapin
18Présentation de la programmation orientée objet
3. Principes 1. Package Un package est une
manière de regrouper des classes apparentées et
des interfaces. - Ne rend des groupes de classes
disponibles que quand ils sont nécessaires. -
Elimine les risques de conflits entre des noms de
classes communs à des groupes de classes
différents. - Pour faire référence à une classe
au sein dun package, vous devez lister tous les
packages contenant la classe, en les faisant
suivre du nom de la classe et en séparant les
différents éléments à l aide dun point.
19Présentation de la programmation orientée objet
3. Principes 2. Encapsulation Mécanisme d accès
qui permet à un objet de contrôler ce que
l extérieur peut savoir sur lui et la façon dont
ce monde extérieur peut interagir avec lui
(possibilité de masquer certaines variables et
méthodes de la classe). Quatre niveaux de
contrôle d accès - public accessible de
toutes les classes - private visible quà
l intérieur de leur propre classe - protected
limite l accès aux sous-classes de la classe et
aux autres classes du même package - par défaut
(absence de modificateur) accessible de toutes
les autres classes
20Présentation de la programmation orientée objet
3. Principes 3. Héritage Mécanisme permettant à
une classe dhériter de lensemble du
comportement et des attributs dune autre classe.
Permet à une classe de disposer immédiatement de
toutes les fonctionnalités d une classe
existante. Toutes les classes sont donc
organisées suivant une structure hiérarchique
stricte. Un classe qui hérite dune autre classe
est appelée sous-classe, et la classe qui offre
son héritage à une autre est appelée super-classe.
21Objets et classes
COURS
Informations sur les cours
Canevas de présentation
Liste des UA
GLOSSAIRE
Liste des PAGEs
Informations sur lUA
QUESTIONNAIRE
Informations sur le questionnaire
Liste des QUESTION
RESSOURCES PERIPHERIQUES
Informations sur la page
Contenu
22Obstacle 5 Présentation et utilisation des
informations
- Besoin dune interface simple de travil
- Besoin daccès facile et rapide à linformation
- SOLUTION UTILISATION DUNE INTERFACE ADAPTEE
23Obstacle 5 Présentation et utilisation des
informations
- Présentation de linformation dans une carte de
navigation - Découpe de lécran en zones (CANEVAS)
- Présentation de linformation sous forme dune
liste des pages - Uitilisation dune information de base et dune
information pérphérique - Utilisation des onglets facilitant laccès à
linformation
24Obstacle 6 Manipulation et utilisation des
ressources
- Raisons
- Utilisation des ressources dans HTML
- Besoin dinplémenter un transfert des ressources
vers le serveur à la création - Besoin dinplémenter un transfert des ressources
vers les clients lors de lutilisation - Besoin dinplémenter un transfert des ressources
vers les clients lors de la consultation - SOLUTION implémentation dune classe serveur
RESSOURCE
25Obstacle 6 Manipulation et utilisation des
ressources
- - Obligation de faire une copie sur le serveur de
chaque ressource utilisée du côté client - Obligation de renvoyer une copie de chaque
ressource au client lors de chaque tentative de
consultation et de manipulation - Définition et implémentation de la classe
serveur Ressource_Implementation pour assurer
le traffic des ressources - Redéfinition des chemins daccès aux ressources
afin de la adapter aux interface du système MAI - Affichage des informations dans linterface MAI,
plutôt que dans les interfaces web
26Obstacle 7 Utilisation en/hors réseau
- Raisons
- Coût dune utilisation permanente du système en
réseau - Temps important de téléchargement des données
- Possibilité de réutiliser le contenu plusieurs
fois - Seule possibilité daccéder aux ressources
partagées - SOLUTION IMPLEMENTATION DES VERSION RESAEU ET
HORS RESEAU.
27Obstacle 7 Utilisation en/hors réseau
- Lutilisation est fonction de la catégorie de
lutilisateur - professeur obligation de travailler en
réseau (partage des données) et en local (isolé) - apprenant posibilité de travailler en
réseau et hors connexion (pc local et cdrom) - - Possibilité de sauver le contenu sur disque
local et sur support physique (CDROM) - Utilisation de la technologie serialisation
de Java - possibilité décrire des objets dans des
fichiers - possibilité de récuperer ces objets prédément
stockés
28Obstacle 8 Deploiement du système
- Comment proposer un outil multi-plateforme ?
- Comment étendre lutilisation du système ?
- Comment tenir compte des limitations matérielles
des utilisateurs potentiels ? - Comment donner la possibiliter aux utilisateurs
dinstaller et de traviller plus facilement avec
cet outil ? - SOLUTION DONNER UN ACCES WEB AUX UTILISATEURS
29Obstacle 8 Deploiement du système
- Utilisation de HTTP (HyperText Transfer
Protocol) - Fournit des fonctionnalités aux serveurs et
aux navigateurs Webs - assure une connexion persistante entre le
serveur et le navigateur - Adéquation à la navigation Web, mais pas aux
applications Web - Possibilité de profiter des fonctions des
technologies servlets et JSP de Java - Possibilité de profiter des Applets Java
- Utilisation des applets de Java
30Obstacle 8 Deploiement du système
- Utilisation des applets de Java
- Java est connu pour sa capacité à fonctionner sur
des pages Web - Possibilité pour les navigateurs de télécharger
un programme Java sur le web et de le faire
fonctionner localement sur le système de
lutilisateur du Web - Permettent dadmettre des données entrées par
lutilisateur, dy répondre et de présenter du
contenu capable dévoluer en permanence - Possibilité de tranformer une application Java
en une applet - Placée sur le serveur Web et peut sexécuter
comme un programme Java - LIMITE INTERDICTION DACCEDER AUX RESSOURCES
LOCALES
31Obstacle 8 Deploiement du système
- Utilisation des servlets et JSP de Java
- Servlets programmes Java qui permettent
dincorporer la logique applicative dans le
processus requête/réponse - Personnaliser la récupération des contenus mails
en fonction des utilisateurs - Pages JSP permettent de générer des contenus
statiques et des contenus dynamiques - Uilisent des balises et scriplets écrites en
Java pour générer des contenus dynamiques - LIMITE TAILLE DES PROGRAMMES