These Blaise FYAMA
These Blaise FYAMA
These Blaise FYAMA
Remerciements
Ce mémoire de thèse représente l'achèvement de quatre années d'un long,
fastidieux, mais ô combien exaltant et enrichissant travail qui n'aurait pu voir le jour sans la
participation, l'aide, le soutien, les conseils, ou encore la présence de nombreuses
personnes. D'avance je m'excuse pour les noms oubliés et donne ci-après les non-oubliés.
De prime abord, un immense merci à Pascal Francq pour m'avoir encadré avec autant
de sérieux, de rigueur scientifique, mais aussi d'humour, de gentillesse, de générosité,
d’humanité et d'humilité. Merci de m'avoir toujours fait confiance, sans jamais m'avoir sous-
estimé et de m'avoir toujours encouragé et même soutenu dans les moments obscurs, les
moments de faiblesse, les moments de doute qui ont parsemés ces quatre années… Une
litanie de mots ne suffirait pas pour exprimer l’indicible profondeur de ma reconnaissance et
mon émotion, seulement ce petit mot merci, merci, et merci pour tout Pal.
enseignement dont le contexte est particulier… Je témoigne et confirme encore ici que vous
êtes resté un ami du Congo.
Je remercie la CTB (Coopération Technique Belge), d’avoir financé cette thèse. Merci
à l’Etat belge qui par son agence au développement participe réellement à l’élimination de la
pauvreté (en tous sens du terme) dans le monde. Merci à la CTB, qui, en finançant cette
thèse, m’a offert l’opportunité d’apporter une contribution, pour une société africaine qui
donne aux générations actuelles et futures les moyens de construire un monde durable et
équitable.
pour Florence Binon, qui par sa relecture m’a permis d’améliorer l’orthographe du présent
texte.
Du Côté Belgique, pour avoir contribué pour peu ou prou à rendre mon séjour
agréable loin des miens, je remercie du fonds du cœur et avec la plus grande gratitude : Da
Pierrette, Chantal Diaki, Shannon, Ya Fifi et son mari, Natacha Tambwe, Murie Decreton,
Usha Zammit, Papa Jeannot le seul représentant local des Mulongo.
Du côté de la mère patrie, vous avez été nombreux durant ce parcours à m’apporter
des encouragements, un soutien moral, financier, et matériel. Grâce à vous j’ai pu
persévérer, je m’en vais donc vous dire du fond de mon cœur, un grand Merci. Je pense
donc à : Eric Kitanic frangin de toujours, Daddy Mbumb, Francis Tshipeng, Arthur Kabila
Mutonkole fidèle des fidèles, Akilimali AK, Musole Riziki Stone, Pr Khang Mat, Vieux Perry
Balloy, Laura Kimemwenze, Joseph Leonard, Omalanga Pele, Flory Kiseya, Daniel Kalufya. La
ligue de petits frères, Joe Shimbi, Gaulthier Mabika, Acclamer Petu, Yves Kabwika Papy, Alex
Matata, Cedrick Kikunda, Yves Mulongo, Horizon Makesa.
Enfin pour ma famille, merci Maman toi qui es toujours là, reçois des honneurs
mérités à travers ce travail. Merci Papa Jean, Papa Huit enfin un deuxième professeur est là.
Paix à ton âme Tante Astride toi chez qui tout a commencé…
12
Aussitôt qu'une pensée vraie est entrée dans notre esprit, elle jette une
lumière qui nous fait voir une foule d'autres objets que nous
n'apercevions pas auparavant.
Merci pour tout… Quelle que soit la durée de la nuit, le soleil fini par apparaître.
13
CHAPITRE 1 : INTRODUCTION
1.1 Enjeux de la thèse
Le travail initié ici s’inscrit dans le cadre de la coopération nord-sud, plus
spécialement la Coopération Technique Belge (CTB) dans son volet de la promotion de
l’enseignement supérieur dans les pays en développement du sud, au travers de la
recherche des voies et moyens pour favoriser les conditions capables de permettre un
développement durable de ces pays. Une des voies utilisées pour atteindre cet objectif
est l’éducation, la lutte contre l’illettrisme, l’amélioration et l’incrémentation du niveau
de l’enseignement supérieur et universitaire. Afin de garantir la formation des cadres
intellectuels pouvant relever le défi d’un développement durable ainsi que la recherche
scientifique pour donner des réponses locales aux divers et multiples problèmes que
connaît cette partie du monde.
1
Dans la suite du document nous utiliserons les termes « apprentissage en ligne » ou « e-learning » avec la
même signification.
14
L’enjeu de cette thèse se situe au niveau de l’utilisation des outils que nous
offrent les nouvelles technologies de l’information et de la communication dans
l’enseignement afin d’une part, de mettre à jour les enseignements en Afrique
subsaharienne et, d’autre part, de favoriser des échanges de contenus de formation afin
de permettre aux étudiants du sud d’avoir accès à des cours de professeurs du nord
surtout pour les domaines dans lesquels il n’existe pas de compétences locales. Ceci
implique une connaissance des outils à utiliser, une adaptation de ces derniers au
contexte local de formation, l’environnement étant un facteur déterminant dans le
déroulement d’un enseignement médiatisé par les TIC (Pernin, et al., 2004), et le
développement des moyens informatiques (technologiques) à mettre en œuvre pour
permettre un échange quasi automatique des contenus des cours et services entre des
plates-formes hétérogènes3.
2
Rapport de la séance parlementaire le 05-1-2011, République Démocratique du Congo.
3
Nous appelons plates-formes « hétérogènes » celles dont le modèle de conception, la structure et
l’architecture sont différentes.
15
Nous présenterons ici le sujet, sa pertinence et son apport par rapport au milieu
sur lequel il s’applique, les objectifs visés à travers cette thèse, la problématique posée
par rapport au contexte, les approches conceptuelles et méthodologiques qui
constituent des pistes de recherches potentielles.
médiatisé par l’outil informatique. Une analyse générale de la question sera ensuite
abordée et sera suivie d’un bilan.
La problématique sera à son tour décortiquée pour étayer de manière très précise
les aspects retenus de la question qui sera traitée dans le présent travail. Viendront
ensuite les hypothèses laissant entrevoir les pistes de solutions, ou les voies à suivre pour
arriver à bout de la problématique. L’approche méthodologique déterminera à son tour
comment, avec quels outils et en s’appuyant sur quels concepts, nous allons atteindre les
objectifs de la thèse.
4
Moodle et Dokeos sont deux plates-formes open source qui sont présentées en profondeur au chapitre 5.
18
6. Interopérabilité statique
Nous avons choisi pour notre travail de subdiviser au niveau technique la notion
d’interopérabilité en deux phases l’interopérabilité statique et l’interopérabilité
dynamique. L’interopérabilité statique concerne un transfert des contenus entre les
plates-formes de manière quasi automatique tandis que l’interopérabilité dynamique
traite des échanges de données (forum, messages, etc.) entre services des différentes
plates-formes. Nous proposons une méthodologie de conception d’un outil informatique
permettant les échanges des contenus entre les deux plates-formes Moodle et Dokeos.
Ensuite nous passons à une mise en œuvre de l’interopérabilité statique en choisissant
deux cours pilotes. Le premier cours est un cours générique obtenu sur le site officiel de
5
Cet objectif est développé aux chapitres 6 et 7.
19
7. Interopérabilité dynamique
8. Conclusions et perspectives
6
Centre des Technologies au Service de l’Enseignement de l’ULB.
7
Technologies permettant une interopérabilité entre applications informatiques totalement différentes (voir
chapitre 7)
8
Tous ces acronymes des organismes de la normalisation sont définis et développés au point 3.1.2, du
chapitre3
20
entre elles, afin de faciliter l’usage des ressources (éducatives dans notre cas) quels que
soient la plate-forme ou l’environnement technologique utilisés.
Il faut noter que l'interopérabilité est basée sur l'interconnectivité des plates-
formes, qui est elle-même régie par le respect des normes et des standards
informatiques de communication, d’échanges et de définitions des concepts. Les
standards de communication consistent en des spécifications techniques qui se
traduisent par des définitions et des règles d'ingénierie, de façon à assurer que les
produits, les traitements et les services remplissent bien leurs rôles. C’est pourquoi,
sachant que les plates-formes Dokeos et Moodle ont la vocation d’être conformes à la
norme SCORM qui est assez générique et a le vent en poupe dans l’univers de l’e-
learning. Ce travail se penchera sur SCORM pour déterminer et appréhender tous ses
concepts établis. En effet, il est évident que l’application ULLOXA devra elle-même y être
compatible pour arriver à interfacer Moodle et Dokeos. Nous y consacrerons tout un
chapitre.
SCORM, c'est-à-dire que les contenus des deux plates-formes passeront par une
transcription en SCORM. Ceci va bien entendu mener à une interface commune de
référence qui va conserver le sens des données échangées et qui va aider, en plus des
échanges syntaxiques, à effectuer aussi la conformité sémantique des contenus ainsi que
des services échangés. Tout cela pour s’assurer que les plates-formes en communication
aient une compréhension commune de la signification des données et des services
qu'elles échangent.
Ceci conduit à penser que l’application devrait avoir, au-delà de l’interface, pour les
deux plates-formes, des modules d’extraction de contenus, de traduction ou mise en forme
des contenus aussi bien côté Dokeos, que côté Moodle. D’autre part, l’usage des deux
plates-formes nous enseigne que leurs contenus se présentent sous la forme d’un fichier zip
contenant les ressources d’apprentissage, les matériaux, les outils, les liens liés à l’unité
d’apprentissage. Un manifeste XML décrivant la méthode d’enseignement utilisée et tous les
éléments physiques, appelés aussi ressources. Ils constituent soit un cours soit un module de
cours, ou encore une unité d’apprentissage quelconque et pointent sur des liens et des
services éventuels faisant partie de l’apprentissage d’une matière. La figure 1.1 Schématise
le fonctionnement de l’application.
Interface Plate-forme B.
Quelques uns auront retenu notre attention pour apporter une contribution dans la
recherche des solutions. Il s’agit du format ou scénario des cours conçus à la base dans un
contexte d’enseignement-apprentissage du nord qui est généralement totalement différent
de celui du sud, et cela à plusieurs points de vue. Une révision de leur format est parfois
nécessaire pour arriver à un résultat et éviter la lassitude et les abandons de la part des
enseignants et des étudiants que l’on constate fréquemment dans ce type de projet en
Afrique. Un autre élément qui accentue les difficultés de l’e-learning à atteindre son objectif,
de fournir au sud des enseignements mis à jour et de haut niveau du nord, c’est la difficulté
du suivi de la part d’un enseignant du nord de ses étudiants du sud de manière permanente
et continue ainsi que de l’évolution des enseignements qu’il dispense au sud. Cela est dû en
grande partie à la différence de plates-formes utilisées par l’université de l’enseignant du
Nord d’une part, et celle de l’université de ses étudiants du sud d’autre part. Il est clair que,
pour encourager les deux parties, chacune devrait œuvrer avec son outil et pouvoir
échanger avec l’autre dans le cadre des enseignements pour éviter le risque d’obliger
chacune des parties d’utiliser autant de plates-formes qu’il n’y a des cours venus de
plusieurs universités. Pire, au nord, il existe des universités possédant plus d’une plate-forme
d’apprentissage en ligne. La contribution de notre travail se situe à ce niveau : il s’agit d’une
part, d’imaginer le format de cours adapté au contexte local lors de l’usage d’une plate-
forme car le contexte pour tenir compte des particularités liées à la discipline concernée par
la formation, ainsi que des contraintes organisationnelles, spatiales, temporelles, techniques
et économiques dans lesquelles s'inscrivent les activités (Pernin, et al., 2007). Pour cela,
nous analyserons les usages et les comportements émergeants d’un enseignement par les
biais des moyens informatiques pour détecter les fonctionnalités pertinentes au bon
apprentissage et les calibrer. D’autre part, nous cherchons à concevoir un outil qui fera
l’interfaçage entre des plates-formes hétérogènes pour permettre les échanges des données
et la communication afin que l’enseignant du nord arrive à suivre de manière régulière,
synchronisée, et automatique ses étudiants du sud à partir de sa propre plate-forme
d’enseignement. L’objectif est de ne pas perdre la motivation car l’apprentissage permanent
de l’usage d’un outil informatique nouveau peut engendrer effectivement un
25
2.2. Problématique
L’apprentissage en ligne à ses débuts a nourri beaucoup d’espoir dans la
communauté de l’enseignement en général, mais il a vite posé de nombreux problèmes
spécifiques qui pousse la communauté e-learning mondiale à imaginer des solutions en
s’attaquant à chacun des problèmes posés. Pour ce qui est de l’Afrique, on dénombre de
nombreux projets d’e-learning. Spécifiquement en R.D Congo, aux débuts des années 2000,
quelques projets ont été initiés, mais ils ont vite fait l’objet d’abandons pour plusieurs
raisons relatives à l’usage des TIC9 en enseignement. Pour notre part, parmi ces raisons,
nous nous intéressons particulièrement aux nombreuses lacunes dans l’accompagnement
des apprenants, à la difficulté pour l’apprenant évoluant dans un contexte purement africain
de s’approprier certains paradigmes d’enseignement spécifiques à des situations du nord, à
la difficulté pour l’enseignant du nord d’assurer un suivi permanent à distance de ses
étudiants du Congo. Ces lacunes découlent d’un manque d’outils informatiques appropriés
pour assurer de manière automatique le suivi du cours et de l’évolution des étudiants, et
éviter ainsi l’un des facteurs de découragement les plus constatés en e-learning. Le fait de
devoir, pour chaque projet, s’approprier d’un nouvel outil informatique qui pose un biais
pour l’acquisition effective du savoir qui est finalement le but suprême de l’enseignement.
1. Le manque d’adaptation des formats des contenus des cours au contexte local de
l’environnement dans lequel se déroule l’enseignement.
2. L’absence d’un outil informatique capable de permettre des échanges automatiques
et un suivi à distance permanent des étudiants et du déroulement global du cours.
Dès lors il nous incombe, pour assurer un succès à un cours en ligne et lui donner
toutes ses chances, d’arriver, à terme, de mettre au point des stratégies capables d’endiguer
la difficulté afin de diminuer le taux d’abandon inhérent à l’apprentissage en ligne. Pour cela
il faut répondre aux questions suivantes : quels sont les indicateurs et les outils à mettre en
9
TIC: Technologies de l’Information et de la Communication
30
place et à surveiller qui reflètent le déroulement réel d’une session de formation en ligne
dans le contexte local ? Lesquels sont déterminants dans le scénario d’enseignement et le
format adéquat du cours ? Quels dispositifs informatiques imaginer pour permettre et
faciliter un suivi à distance quasi automatique et permanent des étudiants et de l’évolution
de l’unité d’apprentissage par l’enseignant ? Quelles stratégies mettre en place pour
s’assurer de l’adaptation au contexte du format du cours et de la maintenance de l’outil
informatique afin de garantir le bon déroulement d’une formation et l’atteinte de ses
objectifs ?
profondeur la question du type d’influence que ces interactions ont sur l’apprentissage et le
déroulement global des enseignements.
Le souhait ici est que des systèmes informatiques soient mis à la disposition des
utilisateurs des plates-formes d’apprentissage en ligne, pour leur éviter des difficultés de
lassitude dues à la prise en charge et à l’appropriation de nouveaux outils informatiques qui
sont souvent porteurs de plus de complexité. Ils deviennent par la même occasion des
difficultés supplémentaires dans tous les domaines où l’outil informatique est devenu
indispensable en général, et dans l’apprentissage en ligne en particulier. Il est dorénavant
important de s’intéresser de près à l’activité de l’utilisateur et de soutenir celle-ci en
proposant des systèmes informatiques disposant d’outils et d’artefacts appropriés. Cette
préoccupation devrait interpeller les informaticiens et les engager à identifier des outils, des
concepts et des paradigmes capables de les aider à analyser, concevoir, spécifier et
développer ces systèmes informatiques (Mbala, 2003).
Dans un deuxième temps, étant en présence pour nos travaux des plates-formes
Moodle et Dokeos, nous devrons décortiquer, analyser et caractériser les formats des
33
contenus d’une unité d’apprentissage (chapitre, leçon, module, cours, cursus, etc.) de
chacune des plates-formes, comprendre leur constitution et leur empaquetage à l’export
afin de mieux les manipuler et les formater conformément à une norme tampon plus
générique pouvant s’interfacer avec chacune des deux plates-formes. Notons que la quasi
universalité de la norme tampon SCORM a pour objectif non avoué de servir toujours
d’interface pour d’autres plates-formes d’e-learning qui pourraient lui être conformes,
sachant bien que la conformité des contenus des plates-formes à telle ou telle autre norme
est discutable.
Lubumbashi dans sa ville a des accès suffisants à Internet. Quelle est la disponibilité des
ordinateurs ? Quel type de matériel l’étudiant a-t-il à sa disposition ? Quelles sont les
caractéristiques des connexions Internet disponibles ? Peut-on alors de manière sérieuse
envisager pour l’étudiant de l’UNILU10 une session de formation en ligne se basant sur
l’infrastructure disponible dans sa ville ?
Pour arriver à cette fin nous avons diligenté une enquête de 2007 à 2010. Cela nous
a permis d’avoir un synopsis de l’infrastructure informatique offert par la ville de
Lubumbashi. Nous avons également, durant la même période, effectué une expérimentation
en grandeur nature de l’e-learning à l’Université de Lubumbashi. Comme déjà signalé plus
haut, ces expérimentations avaient pour but principal d’identifier les comportements
émergents lors du déroulement des enseignements en ligne pour déterminer quels sont les
outils de la plate-forme qui s’avéraient indispensables ou étaient les plus utilisés par les
étudiants au cours des enseignements. Ceci devrait nous permettre de prévoir quels sont les
outils majeurs à intégrer dans la forme du scénario des cours importés sur notre plate-forme
en amont du développement de l’outil d’import-export. Mais nous y reviendrons avec force
détails dans le chapitre prochain.
10
UNILU: Université de Lubumbashi.
35
navigation sur Internet et la recherche de l’information via le Web. Et nous catégorisons ces
entités en quatre groupes à savoir les cybercafés, les bureautiques, les centres des
formations et les fournisseurs d’accès Internet11:
11
Parfois ces trois catégories se retrouvent dans une même entité.
36
Pour étayer le profil informatique de la ville de Lubumbashi pendant ces trois ans,
nous l’avons subdivisée en 10 sites partant du campus universitaire de la Kasapa (sud-ouest)
jusqu’au site le plus éloigné, la commune de la Ruashi (nord). Il est aussi important de noter
d’ores et déjà que nous ferons nos analyses partant du postulat que l’étudiant de
l’Université de Lubumbashi ne possède pas d’ordinateurs personnels vu le faible taux (soit
moins de 4%) d’étudiants en possédant. Pour chaque site, nous avons fourni un tableau
détaillé qui représente par catégories les cybercafés, les bureautiques, ainsi que les centres
de formation. Ces tableaux regroupent les informations suivantes pour chaque catégorie
d’entité informatique : le site, le type d’entité informatique, le nom de l’entité, l’adresse
physique ainsi que l’adresse e-mail, le nombre d’ordinateurs, le type de processeur, Le
système d’exploitation utilisé, les nombres d’onduleurs, scanners, imprimantes,
photocopieuses, graveurs, le Fournisseur d’Accès Internet, l’antivirus utilisé et les horaires
d’ouverture. Pour ce qui concerne les fournisseurs d’accès Internet, étant les points qui
constituent le nœud d’entrée de l’Internet dans la ville de Lubumbashi, nous avons choisi de
les recenser et les regrouper dans un même tableau qui détaille leur nom, le débit offert, le
prix de la connexion, le mode de connexion, les services disponibles, ainsi que l’adresse
physique de ces FAI. Chaque site est présenté en détails en annexe du travail, un seul
tableau (tableau 1.1) est retenu ici pour nous donner une idée de la situation du campus
universitaire de la Kasapa.
décrivant en détails les observations faites sur terrain. Nous représentons ici juste les
conclusions de quelques analyses au tableau 1.2.
Tableau n° 1.1 : Extrait du profil informatique du site de la Kasapa (Année 2010)(tiré de notre enquête)
S T Nom Adresse & Mail Nombre des OS & Onduleurs & Imprimante & Graveur Antivirus FAI Horaire
Site Type PC Processeurs Scanner Photocopieuse
6 PC Win XP SP3 Pas d’onduleur 2 imprimantes Deskjet 1 Graveur AVIRA sans Vodanet 9
CAMPUS
12
Franc Congolais (monnaie locale)
41
d’accueil. Il était donc intéressant de capter les indicateurs d’évolution dans le temps, de la
disponibilité et de l’usage de l’informatique dans une zone donnée pour se rendre compte
de la faisabilité d’un projet d’enseignement via les TIC.
en ligne, et en ne considérant que les étudiants ayant été concernés par l’expérimentation
(soit 1100 étudiants), nous obtenons à peu près six heures par étudiant et un ordinateur
connecté à Internet pour deux étudiants. L’indicateur du nombre d’ordinateurs connectés à
Internet dans la ville de Lubumbashi de 2007 à 2010 passe de 104 à 545 (du simple au
quintuple), et révèle de manière encourageante qu’il y a une évolution nette de l’usage de
l’outil informatique et d’Internet dans la ville de Lubumbashi comme le montre la figure n°
1.2.
2.5 Hypothèses
La conviction que nous avons à travers ces travaux est que l’apprentissage en ligne
est certainement une plus-value dans l’enseignement supérieur pour la République
43
Démocratique du Congo. L’apprentissage en ligne ne devenant utile que lorsqu’il porte les
fruits attendus, il est nécessaire de poser les bases de la réussite d’un projet. Notre
démarche repose sur les hypothèses suivantes :
3° L’interopérabilité est ici un facteur majeur pour une garantie du succès de l’e-
learning qui permettrait, par son automatisme, des échanges de contenus et de services
d’une unité d’enseignement, et d’éviter pour l’enseignant du nord à distance comme pour
l’étudiant au sud de céder à la lassitude qui mène à l’abandon que l’on constate souvent.
Cette lassitude est en partie causée par la lourdeur qu’engendre le fait de devoir
s’accommoder à un nouvel outil autre que son outil local qui n’a généralement pas la même
philosophie de fonctionnement. Concevoir sur le plan informatique des applications
capables d’assurer les échanges automatiques de contenus et services des plates-formes
d’e-learning sollicitant le moins possible d’efforts de la part des utilisateurs multiplierait à
coup sûr par un facteur non négligeable les probabilités de succès d’une session
d’apprentissage en ligne.
44
Au niveau informatique, nous nous sommes attelés d’abord à maîtriser les deux
plates-formes en jeu dans nos travaux, à savoir Moodle et Dokeos, afin de déterminer
comment les deux fonctionnent. Puis, nous avons choisi des cours de référence du site
officiel de Moodle et l’Université de Mons, les avons implémentés sur Moodle pour ensuite
les importer dans Dokeos qui est la plate-forme d’accueil à Lubumbashi. Nous avons aussi
déterminé les formats des contenus numériques d’apprentissage de chacune des plates-
formes, le listing des métadonnées de description des contenus, la caractérisation de ces
métadonnées pour en avoir une signification claire que nous convertissons au format
SCORM. Ensuite, nous avons conçu un outil partant de l’API DOM XML, du langage de
Programmation Python (avec la classe PyXML) ou de PHP et qui s’assurera de la traduction
SCORM et du transfert bidirectionnel automatique des contenus numériques d’une plate-
45
forme à une autre. Enfin, nous avons développé le module de transfert et de mise à jour des
services accompagnant une session d’apprentissage en ligne entre les deux plates-formes.
46
13
Learning Management System, équivalent en anglais de la plate-forme d’apprentissage en ligne.
47
Ces standards proposés sont par nature génériques et ont vocation de traiter de
manière universelle la question de l’apprentissage par des moyens informatiques et de
l’ingénierie. Ils ne se focalisent donc pas uniquement sur les thématiques liées à l’aviation et
sur le domaine aéronautique. L’AICC publie des AICC Guidelines & Recommandations (AGR)
dans différents domaines comme par exemple l’AGR-007 (AICC, 1995), qui traite de
l’échange de contenus entre plates-formes, ou l’AGR-002 (AICC, 2002) qui traite de la plate-
forme matérielle d’un poste client (vitesse du microprocesseur, capacité disque dur, etc). Il
existe à l’heure actuelle neuf AGRs différentes. Celle qui nous intéresse le plus est l’AGR-006
(AICC, 1998) qui traite de l’interopérabilité entre Computer Managed Instruction (CMI), un
CMI étant défini comme un système gérant à la fois le comportement connecté (on-line) et
déconnecté (off-line) des activités d’apprentissage. Il peut notamment s’appuyer sur des
CBTs. L’AGR-006 décrit, notamment de manière technique, l’échange de fichiers
représentant la structure d’un cours (AICC, 2001).
14
Alliance of Remote Instructional Authoring and Distribution for Europe.
54
NBN est le TC 353, le nom de cette commission est Information and Communication
Technologies for Learning, Education and Training.
Tableau 3.2 : groupes qui appliquent les normes et standards (profils et protocoles
d’implantation).
Reste maintenant à mettre tout le monde d’accord et autour d’une même table, ce qui,
principalement pour des raisons techniques, technologiques ou stratégiques, n’est pas
encore atteint.
par les expériences, elles deviennent des standards reconnus dans le secteur. Ceci conduit
enfin à la validation officielle des standards par un organisme reconnu. Au vu de ce qui
précède, la normalisation nécessite donc une description, dans un langage commun pour
tous les acteurs, des concepts entrant en jeu dans une problématique et un domaine précis.
Langage qui doit du reste demeurer à la fois compréhensible par l’homme et par la machine
d’où la création de descripteurs (niveau syntaxique) avec une signification (niveau
sémantique) commune et convenue avec tous les acteurs concernés. Les descripteurs à leur
tour devraient être stockés dans un repère accessible, au fonctionnement transparent et au
format connu et exploitable par tout le monde. Viendraient ensuite les outils capables
d’opérer des extractions, des modifications, des ajouts, et des suppressions sur le stockage
des descripteurs, afin que les échanges s’opèrent en toute tranquillité et de manière
automatique. Cette réflexion conduit donc les acteurs de l’e-learning à concevoir des
concepts techniques dédiés à la normalisation et à l’interopérabilité dans la communauté,
permettant ainsi de matérialiser le plus possible la normalisation qui a pour finalité
l’interopérabilité entre diverses applications d’e-learning. Mais, en e-learning, quels sont ces
descripteurs? Ce sont les métadonnées. Comment crée-t-on et où trouve-t-on ces
métadonnées? Les standards et les normes ont le rôle de les déterminer. Que décrivent ces
métadonnées? Elles décrivent des objets pédagogiques15.
15
Voir section 6.4, pour plus de détails.
16
http://www.educnet.education.fr (consulté en janvier 2011)
59
Nous dirons pour notre part que la norme est la dernière couche d’une démarche
conduisant à permettre une interopérabilité des systèmes. Elle est le résultat d’un processus
laborieux pouvant s’étaler sur plusieurs mois, aussi bien sur un niveau national, régional ou
international, et peut avoir dans certains pays un statut de loi. Actuellement des organismes
reconnus mondialement comme l’ISO, International Standard Organisation, constituent des
références en matière d’assurance qualité dans des très nombreux domaines et pour
plusieurs industries au niveau international.
Le fait que l’on rencontre plusieurs acteurs dans l’exploitation d’un produit ou d’un
service impose qu’un secteur bien déterminé puisse se doter d’un modèle commun
d’expression, conduisant à des manières de faire, de concevoir, de produire, d’utiliser, etc.,
communes pour tout le secteur. Nous citerons ici à titre illustratif les RFC (Request For
Comments) de l’IETF (Internet Engineering Task Force) ou les recommandations du W3C ou
de l’IEEE. Les standards constituent évidemment l’avant dernière étape dans le processus de
normalisation.
Avec les spécifications nous sommes encore à une étape embryonnaire dans la
démarche de normalisation : c’est l’agrégat de spécifications qui donnera naissance à des
standards. De manière très spécifique en e-learning les standards sont bâtis sur un ensemble
de spécifications qui permettent de décrire les éléments de l’apprentissage, et son
organisation pour sa réutilisation et sa migration vers d’autres environnements ou plates-
formes d’e-learning. Citons quelques standards et spécifications des objets d’apprentissage :
60
Pour ce travail nous attacherons une attention particulière aux spécifications IMS et
SCORM pour examiner la description des contenus d’apprentissage (IMS Content Packaging),
les métadonnées permettant leur recherche et leur classification et les outils pouvant les
transporter d’une plate-forme à une autre, notamment entre la plate-forme de l’Université
de Lubumbashi et ses partenaires belges.
Dans cette thèse nous partirons de la définition suivante donnée par IEEE
« Un objet d’apprentissage est une entité digitale, numérique (ou non), qui
peut être utilisée, réutilisée et référencée pendant un apprentissage par e-
learning» (IEEE, 2001). Une autre définition de l’objet d’apprentissage est
celle qui le qualifie d’une brique à partir de laquelle sont construits les
nouveaux cursus de formation en e-learning (Pernin, 2003).
Notons qu’à ce jour, pour l’e-learning, le standard IEEE LOM spécifie la syntaxe et la
sémantique de l’objet qui permet de décrire un objet d’apprentissage. Un objet métadonnée
(Learning Object Metadata –LOM) a donc pour mission de stocker l’information des attributs
d’un objet d’apprentissage qui seront nécessaires pour leur description sémantique. Leurs
attributs sont aussi relatifs à la catégorisation et à l'heuristique, à la gestion et à l’évaluation.
Ces attributs peuvent être : type d’objet, description, format, créateur, location, style
d’apprentissage, niveau, pré requis (voir section 6.4).
juridiques tandis qu’un standard correspond à un produit ou un service qui s’impose dans le
temps sur le marché et qui par sa position dominante, amène les concurrents à rendre
compatibles leurs produits et services. In fine, la norme relève du droit et le standard relève
des faits (Arnaud, 2002). Et les faits en l’absence des normes d’e-learning claires nous
imposent de nous intéresser de manière particulière pour nos travaux à deux standards qui,
par leur nombre d’utilisateurs dans le monde académique, s’imposent de fait comme des
normes. Il s’agit de l’IMS (IMS Global Learning Consortium) et du SCORM (Sharable Content
Object Reference Model) que nous allons développer dans la section suivante.
Dans le cadre de cette thèse, on sait d’ores et déjà que l’interopérabilité des plates-
formes d’apprentissage en ligne que nous visons recouvre deux dimensions. Une première
est celle qui permet un échange des contenus que nous qualifions à ce stade de « physique »
des unités d’enseignements (ressources) entre plates-formes hétérogènes. Une deuxième
est celle qui devra permettre un échange entre des services (applications) de ces différentes
plates formes pour échanger des éléments sur notamment la présentation des apprenants,
le suivi, les échanges (interactions), la production des rapports, la gestion du contenu
d’apprentissage des apprenants, la planification des séances des cours et des activités du
cours, etc. Et en ce sens il sera donc nécessaire pour notre application de se référer à
certaines normes, à des standards, à des spécifications établis et reconnus, ainsi qu’à des
modèles de référence, tels que IMS et SCORM, pour arriver à faire dialoguer des applications
hétérogènes.
Les travaux d’IMS ont successivement porté sur les différents domaines liés à l’e-
learning (Lejeune, 2004): indexation des ressources d’apprentissage (IMS Meta-Data), profil
de l’apprenant (IMS Learner Information Package), description des compétences (IMS
Reusable Definition of Competency or Educational Objectives), interrelations au sein d’une
organisation (IMS Enterprise), interopérabilité des systèmes et des environnements (IMS
Content Packaging), évaluation des connaissances et des compétences (IMS Question & Test
Interoperability), métamodélisation d’une unité d’apprentissage (IMS Learning Design), et
interopérabilité des banques de ressources pédagogiques (IMS Shareable State Persistence).
Toutes ces spécifications portant sur l’apprentissage en ligne ont tout naturellement des
similitudes et des connexions étroites.
Les spécifications IMS sont dotées d’une documentation riche avec accès libre au
grand public depuis le site officiel du consortium. Pour ce mémoire de thèse nous allons
nous employer en n’en décrire qu’un seul qui cadre avec nos travaux, il s’agit de Content
Packaging.
17
Les privilèges déterminent les droits, à accéder aux différents outils de la plate-forme. Par exemple : gérer les
forums, administrer un groupe, etc.
65
La structure d’un package IMS content est illustré par le diagramme conceptuel
dans la figure 3.1 :
Figure 3.1 : Diagramme conceptuel d’un content packaging tiré de (IMS, 2007).
C’est pourquoi dans le but d’atteindre cet objectif, l’ADL a imaginé une démarche
principalement basée sur trois axes :
Le chapitre suivant sera consacré au SCORM, et nous reviendrons alors sur tous ces
concepts en détails. Notons en attendant que le SCORM s’est imposé aujourd’hui comme le
standard de facto de l’e-learning. Il est le premier qui, dans la démarche internationale de
normalisation de l’e-learning, a apporté la couche informatique en fournissant les moyens
techniques pour une interopérabilité concrète entre plates-formes.
18
Le RTE est la partie de la norme SCORM qui décrit les échanges entre le contenu et la plate-forme d’accueil,
nous y revenons en détails au chapitre 4.
69
19
Deux cours car le cours d’Algorithmique 1 et Base de données, a été donné à la fois en Polytechnique et à
l’Ecole Supérieure des Ingénieurs Industriels.
20
En effet 1000 étudiants environ pour 15 ordinateurs seulement disponibles, cela rendait la tâche quasi
impossible, car la plate-forme n’était accessible que par intranet de l’UNILU.
72
groupes pour favoriser les échanges (Johnson, et al., 1998). Nous avons ainsi constitué des
groupes de huit à neuf étudiants pour G2 ELM et quatre à cinq étudiants pour G2 Info.
Les cours ainsi choisis furent les cours d'Algorithmique et Programmation pour G2
ELM et de Base de Données pour G2 Info. Notons par ailleurs que l'objectif pédagogique
d'un tel choix de cours est de favoriser auprès de l'apprenant une acquisition des
compétences en programmation, conception et administration des systèmes de gestion des
bases de données relationnelles. La durée des expérimentations s’est étalée sur les années
académiques 2007-2008 et 2008-2009 et nous a permis de relever, à partir des
comportements émergeants et de l’usage des outils, le design que nous pourrons donner au
scénario d’importation des cours qu’il fallait adapter à notre plate-forme ainsi qu’au
73
contexte d’utilisation de cette dernière localement. Pour relever les résultats des
expérimentations, nous avions cherché d’abord à relever les traces des activités des
étudiants à partir d’outils de communication synchrones et asynchrones. Un questionnaire a
ensuite été préparé pour avoir une juste appréhension de l’outil informatique qu’ont les
étudiants avant et après son utilisation. Le tutorat que nous avons assuré nous a permis de
relever les outils les plus utilisés en fin de chaque journée au cours de la session
Pour cette première expérience dans l'institution, on notera que les différentes
étapes des phases de l'activité ont été présentées au fur et à mesure de l'évolution des
apprenants, suivant le calendrier académique et le temps imparti aux apprenants pour
accéder à la salle informatique (la plate-forme ne pouvant fonctionner à l’époque qu'en
Intranet).
d'une étude par analyse multicritère basée sur trois axes : l'ergonomie, la technicité, la
Pédagogie. Trois plates-formes open source candidates ont été comparées (Fyama, 2006).
Son interface conviviale offre les outils d'apprentissage répertoriés dans le tableau 3.4.
Description Agenda
Parcours Forums
Tests Utilisateurs
Documents Discuter
Liens Groupes
Travaux
que pouvions-nous interpréter ensuite pour une modélisation fidèle au contexte réel
d'enseignement-apprentissage ?
Pour décortiquer l'activité d'apprentissage, nous nous sommes appuyés sur les
expériences des travaux de plusieurs chercheurs (Betbeder, 2003; Gounon, et al., 2004;
Gounon, et al., 2005; Vantroys, 2003; Depover, et al., 2005; De Lièvre, et al., 2006). Les
théories d'activité de Kuuti nous ont amené à comprendre que les échanges entre les trois
acteurs principaux d'une formation en ligne, à savoir l'enseignant, le tuteur et les étudiants.
Ils constituent des observables qui réifient le déroulement des activités d'apprentissage dont
les analyses quantitative et qualitative (Paquette, 1998) peuvent dévoiler des
comportements émergeants dans la manière d'utiliser les outils médiatisant les échanges et
amener à décrire enfin ce que nous appelons des “facteurs de contextualisation” par
lesquels on va modéliser l'activité. Schématiquement cela donne:
faire face à l’impossibilité de se replier sur des salles hors du domaine de l’UNILU. Mais, au
delà de ces difficultés, la remarquable volonté des étudiants de s’approprier un outil
visiblement moderne et à la mode a fait que les cours se sont déroulés dans des conditions
acceptables que nous allons à présent analyser.
Ainsi après catégorisation des interventions, nous nous sommes aussi basés sur le
recueil des observables tels que les questionnaires, productions des étudiants, traces
informatiques (Betbeder, et al., 2003) pour nous aider à l’élaboration définitive des grilles de
classification des interventions, dont nous donnons un exemple sur le tableau 3.5, ainsi qu’à
l’analyse des interventions.
77
Organisation sur la forme Chacun crée sa table puis nous les mettons ensemble.
Proposer une séance N’oublie pas de rappeler Dan et Elie pour qu’on travaille demain
Nous avons noté par ailleurs qu’il existait un lien évident entre la nature de l’outil
de communication utilisé et la forme de travail:
21
Dans le même ouvrage cité quelques lignes plus haut (Charlier, 1998).
79
la richesse de cet outil qui est globalement basée sur sa convivialité et son
interactivité.
2. Le forum est lié à des échanges de documents entre apprenants et les aide à
coopérer. Il a aussi été largement utilisé en remplacement de l’e-mail, et
nous sommes à ce niveau sur la même longueur d’ondes que Henri et
Lungren-Cayrol (Henri, et al., 2001) qui stipulent que dans le cadre des
stratégies d’apprentissage l’intérêt principal du forum réside dans son rôle
de distributeurs des contenus.
Forum 23 24 59 106
Agenda 12 12 12 36
Annonces 53 51 56 160
Tests 16 16 16 48
des échanges par forum et 47,8% par chat. La communication asynchrone révèle ici le
recours constant au formateur pour toutes sortes de difficultés rencontrées, ce qui à coup
sûr renseigne que, pour les étudiants de l’UNILU, l’usage des outils tout à fait nouveaux a
nécessité de l’assistance. Ceci confirme que, en e-learning, l’accès à un tuteur humain
conduit à un usage plus important des outils d'aide que son absence (De Lièvre, et al., 2001).
Cette expérimentation corrobore Mason qui argue que la proactivité donnerait à l’apprenant
le sentiment d’être suivi en le stimulant à rester en état de veille cognitive et à plus exploiter
les aides mises à disposition (Mason, 1992). Au cours de notre expérimentation, le tuteur
était parfois désigné par les apprenants affectueusement sous le sobriquet de « coach ».
Pour ce qui est des types d’échanges menés avec le tuteur, comme illustrés dans les
tableaux 3.6, 3.7 et 3.8, les pourcentages très élevés touchent l’organisation (44,1%), alors
que seulement 38,6% concernent l’activité et 17,3% les divers. Les échanges sur
l’organisation qui sont majoritaires nous font découvrir un recours constant à l’autorité de
l’enseignant en apprentissage académique classique et traduisent très peu d’indépendance
vis-à-vis de celui-ci. Ceci est évidemment compréhensible car l’apprentissage en ligne est un
fait nouveau pour l’étudiant de l’UNILU chez qui, comme le dit Rodet, l’enseignant joue le
rôle principal en étant considéré comme possesseur de la connaissance qu’il doit
transmettre à l’apprenant (Rodet, 2000). Les échanges sur la formation ont aussi été
nombreux car, tout naturellement, les groupes sont guidés par l’enseignant-tuteur. Nous
remarquerons aussi, en nous focalisant sur les performances des notes des étudiants
obtenues à l’issue de la formation, que le groupe 3 s’est distingué des autres, notamment
parce qu’il avait la meilleure note, mais aussi par ses pourcentages élevés d’échanges basés
sur l’activité (47,6% par forum et 60,2% par chat) c'est-à-dire sur le contenu. Il a visiblement
passé plus de temps que les autres au travail. Il est par ailleurs celui qui recours le moins à
l’assistance du tuteur sur son organisation (vu ses pourcentages les plus faibles des trois),
exprimant par là une certaine autonomie affichée par rapport aux autres groupes. Ses
échanges de groupe dans la catégorie divers sont parmi les plus nombreux et atteignent leur
maximum en mode synchrone ce qui nous laisse soupçonner une plus grande convivialité
dans le groupe et beaucoup plus de socialisation en son sein. Nous rejoignons en cela la
81
Tableau 3.7 : Echanges avec le tuteur par catégorie via le forum, en pourcentages.
Tableau 3.8 : Echanges avec le tuteur par catégorie via le Chat en pourcentages.
(convivialité, remerciements, complicité, félicitations, etc.). Les messages hors activité ont
aussi exprimés des temps de flottement, de fatigue, d’attente, et de difficultés techniques.
Un fait marquant aussi de notre expérimentation est que, au vu des résultats des
étudiants, il est apparu que la quantité des échanges synchrones était directement
proportionnelle au rendement du groupe, le meilleur des groupes étant le 3 suivi du 2 puis
du 1 qui était le dernier, tel que l’illustre la figure ci-dessous.
600
500
Groupe1
Quantités
400
Groupe2
300
Groupe3
200
Total
100
0
Forum Discuter(Chat)
Outils
Figure 3.3 : Usages des outils asynchrones vs synchrones par les différents groupes.
Notons qu’une bonne partie des échanges n’était pas médiatisée par la plate-forme,
cela était du à l’usage de la même salle par des étudiants qui du reste était familier entre
eux.
2. Prévoir pour chaque groupe un forum et un chat thématiques qui, par leurs modes
de communication synchrone et asynchrone, sont le gage d’un apprentissage
collaboratif assuré.
3. Un outil des dépôts et de partage de fichiers et documents sous forme de
collecticiel22.
4. Un outil d’annonces et un agenda pour des rappels des dates et des rendez-vous
importants.
5. Un outil permettant d’accéder à des liens hypertextes utiles pour l’apprentissage.
6. Un outil de suivi des performances et du parcours de l’étudiant.
7. Inclure dans la plate-forme un service d’e-mail interne favorisant aussi certains types
d’échanges privés auxquels nos étudiants avaient aussi recours.
8. Le souci des étudiants de voir physiquement l’enseignant qui assure le cours à
distance, souci constaté par rapport aux nombreuses questions reçues de leur part,
nous pousse à prévoir un outil de vidéoconférence qui rapprochera un peu plus, à
notre avis, l’apprenant de son enseignant à distance.
9. Nous noterons aussi qu’une unité d’apprentissage devrait être subdivisée en
plusieurs phases successives, chaque phase étant accompagnée des outils de
communication synchrone et asynchrone.
22
Un collecticiel est un logiciel qui permet un travail collectif, collaboratif et à distance afin de rassembler ainsi
des groupes de personnes éloignées sur un projet commun.
84
si bien Arnaud : « Sans occulter les disparités géo-économiques d’accès aux réseaux,
le Web, pour devenir un espace commun partagé par le plus grand nombre, doit
intégrer l’avis de représentants d’autres régions du monde tout en prenant en compte
des critères de plurilinguisme. » (Arnaud, 2002).
6. L’UNILU devrait pour sa part réfléchir sur les moyens de mise en place au sein du
service informatique des compétences nécessaires afin de répondre à des demandes
urgentes de mise en ligne des contenus.
86
Au cours de ce chapitre nous noterons qu’il existe très peu d’études analytiques qui
concernent le standard SCORM, au-delà du site officiel de l’ADL qui établit la norme. La
plupart de nos éléments de descriptions s’inspirent donc de la documentation disponible sur
le site officiel d’ADL23. Nous nous appuierons aussi sur un exemple d’un cours fictif, d’un
cours de Physique avec ses modules, pour illustrer les trois concepts du modèle SCORM. Le
cours est schématiquement représenté sur la figure 4.1.
23
www.adlnet.org (consulté en mai 2011)
87
SCORM est l’une des normes qui constituent un premier pas important vers la
libéralisation des objets (contenus) pédagogiques à l’égard des réalisations locales et des
contextes hétérogènes. Elle a pour but de fournir les moyens techniques permettant aux
objets de contenu d’être facilement partagés dans des environnements de prestation
d’apprentissage multiples (Fage, 2005). Le modèle se veut aussi pédagogiquement neutre
dans le sens où il permet une description d’un contenu indépendamment de son contexte.
Ceci dit, le débat est ouvert car une bonne partie des pédagogues lui conteste à ce stade
ladite neutralité pédagogique.
1. AICC est plus vieux que SCORM, et dans AICC, le contenu est considéré comme
monobloc et sans granularité. Les liens entre les éléments ne sont pas clairement
déterminés. « Le modèle pédagogique est basé sur l’apprentissage procédural,
consistant à présenter le cours, les questions à choix multiple avec validation, selon
une approche behaviouriste et linéaire »24.
24
http://www.educnet.education.fr: site du ministère français de l’éducation (consulté en janvier 2011)
89
1. « SCORM s’appuie sur le langage XML, largement utilisé sur le Web et conforme aux
standards du W3C qui définissent le Web ; alors que AICC a été au départ développé
pour des contenus sur CD ROM. XML est largement utilisé au niveau mondial, en
dehors du secteur enseignement/formation, ce qui garantit sa pérennité et son
évolutivité.
2. SCORM se base sur un système de métadonnées. Les ressources SCORM sont
identifiées par des mots clés, une description, une structure interne, etc., qui serviront
à faire le lien vers des LMS25 et, plus largement, vers tout système ayant des fonctions
de gestion documentaire (recherche, indexation, ...). Ce système de métadonnées est
particulièrement intéressant et est utilisé par plusieurs projets de recherche et normes
(LOM, IMS, Dublin Core, etc.), que ce soit en éducation/formation comme en gestion
documentaire.
3. SCORM propose de travailler sur des « SCO ». Les SCO échangent des informations
avec la plate-forme de suivi si cette dernière est également SCORM. A noter que
chaque grain ou SCO est lui-même identifié par ses métadonnées. Ces grains peuvent
être composés eux mêmes de plusieurs exercices et pages de cours. On travaille donc
sur un cours comme un séquencement d’unités et non comme un bloc, ce qui améliore
nettement le suivi et les possibilités d’individualisation.
4. SCORM permet également de définir la structuration des grains en un cours. Pour être
plus précis, un fichier précis (imsmanifest.xml) détaille les métadonnées transmises à
la plate-forme, l’organisation du cours (table des matières du cours et le mode de
25
Learning Management System appellation anglaise des plates-formes d’apprentissage en ligne.
91
26
Le site francophone consacré à SCORM révèle quant à lui que SCORM est plus
moderne, dans le sens qu’il est adapté au Web, et que son identification des cours et des
grains des contenus SCO par des métadonnées les rend réutilisables, partageables et d’une
exploitabilité riche en informations. Le même site abonde dans le même sens en établissant
un distinguo entre les avantages offerts par SCORM d’une part, à l’apprenant et son
enseignant, et d’autre part à l’informaticien. En effet, l’informaticien voit son travail devenir
plus complexe pour satisfaire aux exigences de SCORM. En contre partie l’enseignant jouit
du fait que SCORM assure un suivi très détaillé de l’apprenant et l’apprenant se voit offrir
une plate-forme nettement plus ergonomique. Par ailleurs, l’observation des sites des
consortiums travaillant sur les normes laisse transparaître clairement qu’AICC n’évolue
presque plus et est restée essentiellement technique. À l’inverse les acteurs de la norme
26
http://www.scorm.fr: site francophone dédié au SCORM (consulté en janvier 2011)
92
SCORM sont très actifs: c’est un monde qui bouge et qui réfléchit beaucoup aux aspects
pédagogiques.
Pour stimuler les travaux et bien cibler les acteurs à atteindre par l’ADL, trois nœuds
du Colaboratoire ont vu le jour ensuite. Premièrement le Colaboratoire ADL conjoint
d’Orlando qui visait les militaires et divers services de l’armée, deuxièmement le
Colaboratoire ADL universitaire de Madison qui avait pour cible les milieux universitaires,
enfin troisièmement le Colaboratoire ADL des travailleurs à Memphis qui concerne les
entreprises et les industries.
Ces colaboratoires ont pour mission principale, chacun dans son contexte, de
promouvoir et de faire connaître les technologies d’ADL et de collaborer dans le but de
partager les résultats des recherches, l’expertise, les outils communs et les contenus
d’apprentissage via leur réseau. Les Colaboratoires sont chargés en outre d’évaluer la
conformité des divers produit au modèle SCORM. Ces évaluations concernent :
concepteur. Pour atteindre ces visées, SCORM se dote des exigences de haut niveau que
l’ADL nomme les « capacités » à appliquer aux contenus d’apprentissage. Et ces capacités
sont :
Et pour finir, outre ces capacités, SCORM définit un autre concept général qui est
« l’hypothèse sur le Web », qui affirme que le Web constitue la meilleure occasion de
maximiser l’accès au contenu d’apprentissage et sa réutilisation.
Ainsi se basant à la fois sur les capacités et sur l’hypothèse sur le Web, SCORM
compte offrir à ceux qui l’adoptent les assurances suivantes :
1. La capacité d’un système basé sur le Web à lancer un contenu développé au moyen
d’outils provenant de différents fournisseurs et à échanger des données avec ce
contenu.
2. La capacité des produits et des systèmes basés sur le Web provenant de différents
fournisseurs à lancer le même contenu et à échanger des données avec ce contenu
lors de l’exécution.
95
La description qui va suivre durant cette section est totalement inspirée du site
officiel de l’ADL qui met à disposition une documentation unique sur le SCORM27, l’étude
s’appuiera aussi sur un exemple de cours pour illustrer les concepts.
27
www.adlnet.org: site officiel de l’initiative ADL (consulté en mai 2011)
96
Les parcours de formation sont constitués d’activités supportées par des ressources
d’apprentissage électroniques et non électroniques.
Pour pouvoir être réutilisé, le SCO lui-même doit être indépendant du contexte
d’apprentissage. Les SCO sont conçus pour être des unités subjectivement petites, de façon
à pouvoir être réutilisées dans un grand nombre d’objectifs d’apprentissage.
28
Un actif est toujours prévu, comme nous le verrons plus loin, pour entamer le dialogue avec la plate-forme
d’accueil du contenu.
98
de ces parties comporte deux chapitres accompagnés de deux travaux pratiques donc
l’ensemble est constitué de 18 fichiers.
Pour que ce module constitue un SCO au sens de SCORM, il faut lui ajouter un dix-
neuvième fichier au format JavaScript qui sera chargé de fournir à la plate-forme les
informations suivantes : que les six chapitres constituent un module (ou un cursus), que le
premier chapitre est le chapitre 1, que chaque chapitre a pour pré-requis le chapitre
précédent, que chaque chapitre est suivi d’une évaluation et un apprenant n’accède au
chapitre suivant que s’il a réussi au test, etc.
4.5.1.3 Activités
Une activité d’apprentissage peut être décrite comme une unité significative
d'instruction. Elle est conceptuellement quelque chose que l'apprenant fait tout au long de
son évolution lors de l’apprentissage (par exemple, les séances de cours ex cathedra, les
séances des TP, etc.). Une activité d’apprentissage peut fournir une ressource
d’apprentissage (SCO ou Actif) à l'apprenant et elle peut en outre être composée de
plusieurs sous-activités.
comment l’utiliser. Les informations de séquencement sont donc associées à chaque activité.
La plate-forme est responsable de l’interprétation de ces informations décrites dans
l’organisation du contenu ainsi que du contrôle de l’exécution du séquencement des
ressources d’apprentissage.
SCORM établit en plus une distinction entre une ressource et un contenu. Une
ressource est représentative, comme le décrit le manifeste, d’une ressource aussi bien
externe qu’interne au content package. Il peut s’agir de fichiers multimédia, de fichiers
textes, d’objets de questionnements ou toute autre donnée sous forme électronique. Le
102
contenu quant à lui représente conceptuellement les fichiers référencés dans les
composants des ressources. Cela peut être des fichiers contenus physiquement dans le
package tout comme des ressources externes référencés par une URI (Universal Ressource
Identifier).
Ce fichier XML est appelé « fichier manifeste » (anglicisme dérivé de son libellé :
imsmanifest.xml). Le manifeste doit se situer à la racine du package comme illustré sur figure
3.1 de la section 3.3.2.1 au chapitre précédent.
Un package représente ainsi une unité logique de formation dite « unité modulaire
de formation ». En ce qui nous concerne, Une telle unité logique peut être vue comme une
portion de cours ou comme une formation complète contenant plusieurs cours. Une unité
modulaire est autonome, c’est-à-dire qu’elle doit contenir toutes les informations
nécessaires à l’utilisation des contenus, pour une séquence d’apprentissage, quand elle est
importée par la plate-forme. Un package doit contenir un unique manifeste à sa racine, mais
celui-ci peut contenir un ou plusieurs « sous-manifestes ».
29
Technique informatique qui consiste à décrire un objet à l’aide des ces métadonnées au sein d’un fichier
XML. Nous développons cette notion au chapitre prochain.
103
<metadata>
< !- - les éléments descendants de metadata - ->
</metadata>
<organizations>
< !- - les éléments descendants de organizations - ->
</organizations>
<ressources>
< !- - les éléments descendants de ressources - ->
</ressources>
</manifest>
1 <manifest> M M
1.1 identifier M M
1.2 version O O
1.4 <metadata> M M
1.4.1 <schema> M M
1.4.2 <schemaversion> M M
1.5 <organizations> M M
1.5.1 default NP M
1.5.2 <organization> NP M
1.5.2.1 identifier NP M
1.5.2.2 structure NP O
1.5.2.3 adlseq:objectivesGlobalToSystem NP O
1.5.2.4 adlseq:sharedDataGlobalToSystem NP O
1.5.2.5 <title> NP M
1.5.2.6 <item> NP M
1.5.2.6.1 identifier NP M
1.5.2.6.2 identifierref NP O
105
Ces fichiers peuvent être des fichiers locaux au package, ou externes et référencés
par une URI (Universal Resource Identifier).
Notons de manière pertinente que les éléments du fichier manifeste ont chacun
une assez longue liste des descendants dont nous regrouperons un extrait au sein du tableau
4.1. Ce tableau révèle aussi les exigences auxquels il faut répondre pour que le contenu que
l’on conçoit ainsi que sa structure répondent au profil d’un SCORM Content Package30. Ainsi
en partant du XML Binding on donne quelques contraintes sur les éléments et les attributs
(voir tableau 4.1) du manifeste ("M" obligatoire, "O" optionnel, "NP" non permis).
Ces métadonnées sont divisées en neuf catégories décrites dans le standard LOM.
Nous les illustrons à travers le schéma XML de la figure 4.6, qui est le schéma officiel du
LOM.
30
Car l’agrégation du contenu se fait avec des éléments obligatoires et non obligatoires
106
<lom xmlns="http://ltsc.ieee.org/xsd/LOM">
<general/>
<classification/>
<annotation/>
<lifeCycle/>
<technical/>
<metaMetadata/>
<educational/>
<relation/>
<rights/>
</lom>
L’élément parent ici est l’élément <lom> et contient les éléments enfants: <general>,
<lifeCycle>, <metaMetadata>, <technical>, <educational>, <rights>, <relation>,
1. La catégorie General est utilisée pour décrire des informations générales sur le
contenu du SCORM Content Model Component comme un tout.
2. La catégorie Life Cycle est utilisée pour décrire les caractéristiques liées à l’histoire et
l’état actuel du contenu SCORM ainsi que celles qui ont affectées le contenu durant
son évolution.
3. La catégorie Meta-metadata est utilisée pour décrire des informations en rapport
avec les métadonnées elles mêmes, ce sont des métadonnées décrivant des
métadonnées.
4. La catégorie Technical est utilisée pour décrire les exigences et les pré-requis
techniques ainsi que les caractéristiques du contenu SCORM.
5. La catégorie Educational est utilisée pour décrire les caractéristiques pédagogiques et
d’éducation du contenu SCORM.
6. La catégorie Rights est utilisée pour décrire les éléments de propriété intellectuelle
ainsi que les conditions d’utilisation du contenu SCORM.
7. La catégorie Relation est utilisée pour décrire les caractéristiques qui régissent les
relations entre le contenu SCORM et les autres composants ciblés.
107
8. La catégorie Annotation est utilisée pour fournir des commentaires sur l’usage dans
l’enseignement des composants du contenu SCORM, ainsi que des informations sur
l’auteur et la date des commentaires émis.
9. La catégorie Classification est utilisée pour dire dans quelle catégorie particulière du
système on peut classer le contenu.
Comme on peut le voir en examinant la figure 4.7, les trois aspects caractéristiques
de l’environnement d’exécution concernent respectivement le lancement, l’interface de
programmation d’applications (API) et le modèle de données.
108
Côté client
Navigateur
Modèle de
données
Données Actif
échangées Lancement
SCO
entre le ent
SCO et le Adaptateur
LMS
d’API JavaScript
API (Liaison de
communication entre
le SCO et le LMS)
4.5.2.1.1 Actifs
Dans le cas des ressources d’apprentissage qui représentent des actifs (Assets), le
modèle de lancement de SCORM exige uniquement que la plate-forme lance l’actif au
moyen du protocole HTTP. Comme un actif n’a pas besoin de re-communiquer, avec la plate-
forme, il n’est pas nécessaire qu’il cherche l’adaptateur d’API fourni par ce dernier.
31
C’est un déclencheur des fonctions de l’API qui est expliqué à la section 4.5.2.2.1
110
simplement un ensemble de fonctions définies que le SCO peut rendre disponibles, l’API
implementation est un bout de code qui implémente et expose les fonctions de l’API, et l’API
instance représente pour sa part un contexte d’exécution particulier et un état de l’API
Implementation.
Un adaptateur d’API est un logiciel fonctionnel qui met en œuvre et présente les
fonctions de l’API (voir figure 4.8). Les développeurs de contenu n’ont pas à se préoccuper
des mécanismes internes de l’adaptateur d’API, pourvu qu’ils utilisent la même interface
publique. Il suffit que la plate-forme fournisse un adaptateur d’API mettant en œuvre les
fonctionnalités de l’API et qu’il présente son interface au SCO client.
chacun de ces états, le SCO peut entreprendre diverses activités. Voici quels sont les états
possibles de l’API : Not Initialized, running et Terminated.
LMSGetDiagnostic(). Le SCO peut utiliser ces fonctions pour échanger des données avec la
plate-forme. Elles sont divisées en trois catégories, que nous déclinons dans le tableau 4.2.
Session Methods ou fonctions de session Elles marquent le début et la fin d’une session
de communication entre un SCO et une plate-
forme via l’API instance.
2. Terminate
- description : elle met fin à la session de communication, lorsque le SCO réalise qu’il
n’a plus besoin de communication avec le LMS ou la plate-forme.
1. Get value
2. SetValue
3. Commit
la fonction Commit („‟) retourne la valeur „true‟ et met le code d’erreur à 0 (pas
d’erreur rencontrée) et ne fais plus aucun traitement. L’appel à la fonction Commit ne
modifie pas les données en cache.
1. GetLastError
2. GetErrorString
responsable de la reconnaissance des codes d’erreurs identifiés. Cet appel n’a aucun
effet sur l’état d’erreur courant, il retourne simplement l’information recherchée.
3° GetDiagnostic
SCORM fait appel à un API Adapter qui est en fait le modèle de la session de
communication. L’API Adapter doit résider dans une fenêtre qui est une fenêtre appelante
ou un cadre parent de la fenêtre qui contient la leçon. Ce qui signifie que la plate-forme peut
lancer le contenu soit dans une nouvelle fenêtre soit dans un ensemble de fenêtre cadre
(frameset). L’API Adapter doit être un objet JavaScript nommé « API ». Cet adaptateur doit
implémenter les huit fonctions énumérées précédemment.
Toutes les communications entre le contenu et la plate-forme sont gérées par cet
adaptateur. Ainsi le développeur du contenu n’a pas à se soucier de la communication avec
le serveur, il doit seulement trouver l’API et appeler les fonctions adéquates en JavaScript.
115
Cette séparation du client et du serveur est essentielle avec SCORM et assure ainsi la
portabilité des contenus. Il est important de bien noter que le contenu peut communiquer
avec la plate-forme uniquement en JavaScript avec cette API. En revanche il n’y a pas de
méthode obligatoire et le contenu peut utiliser un service Web ou une requête HTTP.
4.5.3 Le séquencement
4.5.3.1 Structure de contenu et arbre d’activité
Le but poursuivi ici est d’activer pour chaque apprenant « un arbre d’activité » à
partir du « package de contenu ». Le séquencement de SCORM (SCORM Sequencing and
Navigation) est basé sur les travaux des spécifications de l’IMS Simple Sequencing (IMS SS)
qui ont pour but de prévoir pour un apprentissage le comportement de la plate-forme par
rapport au séquencement des activités discrètes d’apprentissage. Dans le séquencement,
IMS SS ne tient compte que de l’apprenant lui-même sans s’occuper des apports issus ou
dépendants des autres acteurs tels que l’enseignant, le tuteur ou ses pairs.
4.5.3.2.2 Cluster
Un «cluster» est une activité qui intègre une ou plusieurs sous-activités. Il comprend
un parent et ses fils immédiats mais pas les descendants de ses fils. Le schéma de la figure
4.9 montre cinq exemples de cluster. Le cluster est considéré comme le bloc de base de
l’arbre d’activité. Beaucoup d’éléments du séquencement s’appliquent spécifiquement aux
clusters. La partie parente du cluster contient les informations globales du séquencement.
117
Un cluster a pour enfant aussi bien d’autres clusters que des activités feuilles, cependant une
activité feuille n’est pas un cluster.
Nous avons dans notre exemple sept clusters au total qui sont composés de la
manière suivante, sachant que le cluster rassemble uniquement le nœud et ses enfants :
Module:
Electricité
Questions Manipulati
théoriques ons au labo
4.5.3.2.4 Tentatives
Une tentative est définie comme un effort d’arriver au bout d’une activité, des
objectifs pédagogiques pouvant être satisfaits ou pas. Les tentatives sur une activité sont
liées au contexte des activités parents. Il est important de noter ici que pour un arbre
d’activités donné, une et une seule activité feuille peut être essayée à un moment donné et
toutes les tentatives sur ses ancêtres via la racine vont progresser en même temps. Quand
une activité est essayée, cela va de soi que l’objet de contenu correspondant est lancé. Le
statut de dépistage pour une activité peut changer, par le résultat d'une tentative sur une
activité ou par une action administrative extérieure, et lorsque son statut change celui de ses
ancêtres est aussi affecté, on appelle ça un Roll-Up.
1. Un objectif local peut lire les composants d’informations des traces de suivi d’un
et d’un seul objectif global partagé.
2. Pour l’ensemble des objectifs locaux définis pour une activité donnée, deux
objectifs ne peuvent lire les traces de suivi sur le même objectif global partagé.
4.5.3.5 Le tracking
Le tracking consiste à pouvoir suivre (littéralement poursuivre) le cheminement et
l'activité de l'apprenant dans son parcours de formation. Cet accompagnement est organisé
à partir des données significatives mémorisées au cours de la formation. L’état du tracking
peut changer suite à un comportement particulier au sein d’une activité. Si l’état du tracking
d’un objet change, cela peut également affecter l’état du tracking de ses ancêtres. Ce
mécanisme s’appelle le Roll-up.
Pour permettre le séquencement conditionnel des activités, les informations sur les
interactions de l’apprenant avec les objets de contenus associés doivent être mises à jour et
gérées. Le comportement du séquenceur SCORM est lié aux valeurs courantes du modèle
d’état du tracking. A chaque activité déroulée par un apprenant sont associées des données
représentatives de l’état du tracking (par exemple, la durée de la connexion, le nombre des
clics, le nombre de pages parcourues, etc.). Les interactions de l’apprenant avec un objet de
contenu peuvent naturellement affecter l’état du tracking de l’activité associé à l’objet.
Pendant le parcours d’apprentissage, les éléments du modèle de tracking mis à jour
reflètent les interactions de l’apprenant avec l’objet de contenu lancé.
121
32
www.lms-selection.fr: site de l’entreprise KNOWLEDGE DECISION expert indépendant en technologies e-
Learning (Consulté en mai 2011).
33
Extrait du même site.
122
34
http://www.siloinsiproche.com: blog de Stéphane Wattier expert français en e-learning (consulté mai 2011)
35
http://www.masmithers.com: expert australien en e-learning (consulté mai 2011)
36
http://www.cursus.edu: le portail e-learning de référence dans la francophonie (consulté en mai 2011)
37
Les plates-formes dites publiques sont celles utilisées par les organismes publiques ou étatiques
38
Résultats tirés de : http://www.cursus.edu (consulté en mai 2011)
123
1. Moodle. Plus de 50000 sites dans plus de 208 pays ont enregistré leur
implantation. L'implantation la plus importante comportant 19000 cours avec
41000 utilisateurs.
2. WBT Manager. Deuxième plate-forme au monde.
3. WebCT. Plate-forme utilisée dans plus de 80 pays par plus de 3500 institutions.
4. Claroline. Deuxième plate-forme européenne après Moodle.
5. Dokéos. Plate-forme ayant deux millions d'utilisateurs, 7155 portails, 150794
cours.
6. Atutor. Plate-forme très utilisée dans l'enseignement supérieur aux États-Unis.
7. SAKAI. Plate-forme utilisée dans des universités de renommée mondiale comme
Cambridge, Yale, Cape Breton University, Stanford, the Australian National
University et Massachusetts Institute of Technology.
8. GANESHA. Plus de 3656 téléchargements de la version 1.2.1, plus de 3395
téléchargements de la version 1.1.0, 124 abonnés dans la mailing-list Ganesha
(développement).
Nous rappelons, pour finir cette introduction, que notre travail se concentrera, au
vu des considérations précédentes, sur l’interopérabilité entre Moodle et Dokeos. Ceci
d’abord parce que les deux plates-formes, comme nous l’avons montré, sont suffisamment
représentatives des deux milieux d’application du travail (UNILU et universités belges). Aussi
39
http : //moodle.org, site officiel de la plate-forme Moodle (consulté en Août 2011).
124
La structure générale des plates-formes d’e-learning se base le plus souvent sur une
architecture client/serveur avec un serveur Web, une base de données ou un système de
fichiers pour le stockage des ressources supplémentaires (par exemple des fichiers PDF).
Cependant, l'évolution et le progrès technologique en matière d'architecture Web
conduisent actuellement les plates-formes à proposer des architectures trois-tiers. Ce type
d’architecture permet notamment de séparer la présentation, le traitement et le stockage
des données, elle est découpée de la manière qui suit :
40
En anglais « Middleware » c’est un logiciel intermédiaire traduisant les données échangées entre plusieurs
applicatifs afin de garantir l’interopérabilité des applications
125
Les deux plates-formes Moodle et Dokeos reposent, pour leur déploiement, sur une
architecture trois-tiers. A l’Université de Lubumbashi, le serveur Web est Apache, le système
de gestion des bases de données MySQL, l’intergiciel est PHP et nous avons utilisé Mozilla
Firefox comme client. La présentation que nous ferons de ces deux plates-formes dans les
sections suivantes résulte de la compilation des observations relevées durant leur utilisation
pendant ces cinq dernières années à l’Université de Lubumbashi. Elle sera aussi l’émanation
de la documentation officielle tirée des sites des ces plates-formes et enfin nous nous
sommes aussi basés sur des études d’évaluation faites par d’autres chercheurs dans le cadre
de l’enseignement supérieur et universitaire.
5.2.1.1.1 Introduction
La plate-forme Moodle a été créée en 2002, par un ancien administrateur de la
plate-forme WebCT (maintenant Blackboard) à l’Université de Curtin en Australie, du nom
de Martin Dougiamas. Ce dernier, au cours de ses recherches doctorales, a étudié les
apports du constructivisme social dans l’apprentissage en ligne. Ses travaux ont fortement
influencé la conception de la plate-forme. Depuis 2002, à sa création, Moodle reste une
plate-forme d'avant-garde, aujourd'hui, il existe plus de 200 modules additionnels
développés depuis des années par la communauté.
Moodle fait partie des systèmes d’e-learning qui sont appelés dispositifs de
«Formation Ouverte et à Distance» (FOAD), pour favoriser un cadre de formation
socioconstructiviste. Ce courant de pensée affirme que les gens construisent activement
leurs nouvelles connaissances en interagissant avec leur voisinage. Tout ce que nous lisons,
voyons, entendons, ressentons et touchons est comparé à nos connaissances antérieures et
si cela est viable dans notre monde mental, il pourra former une nouvelle connaissance qui
nous appartiendra. L’interface de Moodle se présente sous forme de différents blocs : le bloc
central présente les documents et les activités du cours (voir figure 5.1). Ils peuvent être
classés selon plusieurs formats :
- composer une page de cours avec un texte court sans mise en forme ;
- créer une page Web au format HTML qui peut être éditée à l'aide de l'éditeur
intégré à la plate-forme ;
- mettre un lien vers un site Internet ou un fichier déposé sur le serveur ;
- afficher le contenu d'un dossier par un lien vers une liste de fichiers déposés sur
le serveur ;
- ajouter un fichier IMS Content Package par un lien vers un fichier de format
SCORM ou AICC ;
- insérer une étiquette permettant de commenter la ressource.
127
Les blocs latéraux affichés sur les pages Web donnent accès aux différents outils et liens du
cours, par exemple :
Les membres d’un cours ont accès aux activités suivantes si l’enseignant les a sélectionnées :
Retenons aussi que toutes les activités qui concernent un cours sont paramétrables
par l’enseignant titulaire ou concepteur du cours. L'enseignant peut en outre diviser son
groupe de classe en plusieurs sous-groupes de manière à faciliter la communication entre les
personnes. Les groupes ont des outils dédiés : forum, sondage, chat, etc. Moodle a été créée
de manière modulaire : elle permet de répondre aux besoins d'un formateur isolé comme
d'une institution académique.
Moodle est très novateur dans l'exploitation des nombreuses spécifications en e-learning et
tente d’implémenter notamment, SCORM pour partager les contenus, Dublin Core Metadata
pour les métadonnées, l’IMS Simple Sequencing pour les parcours d’apprentissage et l’IMS
Content Packaging pour la gestion des contenus. Elle fait un effort palpable et va
notamment au-delà des autres plates-formes en essayant de manière active d’intégrer IMS-
LD, une des dernières spécifications parues, visant à incorporer la flexibilité pédagogique et
elle contribue à compléter certains aspects traités par les autres normes avec des aspects
pédagogiques. Elle sera l'une des premières plates-formes à l'intégrer vers mi-2008. IMS-LD
n'impose pas de modèle pédagogique particulier, mais peut être utilisée avec un grand
nombre de scénarii et de modèles pédagogiques.
Les forums de discussions de Moodle sont très actifs. Ces groupes de discussions
participent à une critique positive sur les caractéristiques, l'utilisabilité, les fonctionnalités
des spécifications, leur contexte théorique et les applications qui leurs sont liées. Très au fait
des nouvelles tendances pédagogiques comme technologiques, la communauté de Moodle
s'intéresse aussi au Portfolio, au standard RSS, au Podcasting ou « balladodiffusion ».
L'enseignant a la possibilité de faire une sauvegarde de ses cours avec ou non les données et
les productions estudiantines. La restauration d'une sauvegarde permet de créer ou
compléter un cours de manière extrêmement rapide. On peut aussi réinitialiser le cours afin
de garder sa structure sans les ressources, les utilisateurs et les échanges d’informations.
Ceci permet à un enseignant d'utiliser la même base pour tous ses cours. Un cours peut être
défini comme «méta-cours» d’un cours principal, chaque étudiant qui s’inscrit dans le cours
principal est automatiquement inscrit dans les méta-cours connexes prédéfinis. Moodle peut
accueillir un grand nombre d’utilisateurs, et l’une des plus grandes implémentations compte
plus de 41000 utilisateurs et environ 19000 cours, comme indiqué en début de ce chapitre à
la section 5.1.
paramétrage de chaque outil, les différentes interfaces proposées pour chaque cours font de
Moodle une plate-forme extrêmement novatrice, originale, et aujourd'hui incontournable.
Dans l’agenda du cours, on peut effectuer une visualisation des nouveautés, une
prévision d’événements pour tout type d’utilisateur. Les travaux à rendre
apparaissent automatiquement dans l’agenda, mais il n’existe pas d’agenda
personnel.
Moodle est une plate-forme très riche en fonctionnalités, et sa prise en main par les
apprenants peut nécessiter un temps d'adaptation, car les pages peuvent être très
chargées en informations ce qui constitue une lourdeur ergonomique.
Pour les enseignants, la diversité et la spécificité de tous les paramétrages des outils
peuvent paraître trop complexes aux yeux d'utilisateurs peu familiers à
l’apprentissage en ligne et à l’informatique. Cependant, malgré les nombreux
tutoriels qui existent en ligne, il est aussi important que l'administrateur de la plate-
forme ou le coordinateur du projet puisse être disponible pour aider les enseignants
à appréhender la totalité des fonctionnalités de Moodle.
41
Le positionnement révèle une évolution quantifié (par exemple sur un total de 10) de l’évolution d’un
apprenant par rapport aux objectifs pédagogiques du cours.
131
5.2.1.2.1 Introduction
Classée actuellement deuxième après Moodle à l’échelle européenne (voir section
5.1), Dokeos est une plate-forme open source (sous licence GPL42). Créé par Thomas
Depraeter, qui a participé à la création de Claroline, ce logiciel est un fork43 de Claroline. Il
s'appuie sur une architecture multilingue qui supporte 34 langues. Le logiciel est écrit en PHP
et utilise le Système de Gestion de Bases de données MySQL. Il est réputé efficace, complet,
modulaire, évolutif, et supporté par une importante communauté d’utilisateurs. Le fait
d’être open source, disponible et fonctionnel milite en faveur de son adoption comme plate-
forme la plus adaptée pour un public novice et débutant en e-learning, typique de l’Afrique
subsaharienne. Il s’est en outre révélé comme la plate-forme la plus ergonomique lors d’une
étude comparative que nous avions menée pour l’Université de Lubumbashi en 2006
(Fyama, 2006).
42
General Public Licence, licence des logiciels dont le code source est à accès libre.
43
Un fork, ou embranchement, est un nouveau logiciel créé à partir du code source d'un logiciel existant.
132
L’interface d’accueil d’un cours sur Dokeos (voir figure 5.2) offre les fonctionnalités
suivantes :
Gestion des cours et catégories. Dokeos propose, en plus des catégories de cours
communes à tous les créateurs de cours, la possibilité de créer des catégories
personnelles connues et visibles du concepteur seul, à des fins de classement et
d’organisation de son propre espace de cours. Il y décidera notamment de l’organisation
des cours, des inscriptions, ainsi que de la visibilité de ses cours par les autres
utilisateurs.
Documents. Cet outil fonctionne comme le gestionnaire des fichiers d’un ordinateur. On
peut y transférer des documents de tous types (html, Word, Powerpoint, Excel, Acrobat,
Flash, Quicktime, etc.). On peut aussi les organiser dans des dossiers que l’on crée. La
seule contrainte réside dans le fait que l’utilisateur doit posséder, sur son ordinateur,
l’application ou la visionneuse permettant de relire les formats de fichiers mis à sa
disposition.
Liens. Cet outil permet de constituer une bibliothèque de ressources pour les utilisateurs
et en particulier de ressources externes. Dokeos offre la possibilité à l’enseignant
d'organiser les liens en catégories afin de faciliter la recherche d'informations par les
étudiants.
Agenda. L'agenda est un outil qui peut être attaché à chaque cours ou sous forme d’un
agenda global propre à chaque utilisateur. Un agenda est attaché à chaque cours pour
programmer les différentes tâches. L'agenda global est accessible depuis l'onglet «Mes
cours», et reprend les événements des cours dont l’enseignant est responsable. Il peut
être enrichi d'événements privés à l’enseignant et qui n'apparaîtront pas dans les cours
des apprenants.
Annonces. Cet outil permet d'envoyer un message par courriel aux utilisateurs afin de
publier une information importante liée à un cours. L'envoi de courriels, constitue un
important outil de remise à l’ordre et de relance lorsque l’enseignant voit que les
étudiants prennent du retard et que son cours est de plus en plus abandonné. Il peut
notamment signaler aux utilisateurs que le concepteur a déposé un nouveau document,
que la date de remise des rapports approche ou qu'un des apprenants a réalisé un travail
de qualité. En définitive, dans son fonctionnement, cet outil est assez similaire à l’agenda
et semble de toute façon être en surplus.
Partage de fichiers. Comme l’indique son nom, c’est un outil de partage qui offre la
possibilité à l’enseignant d’adresser un fichier à un ou plusieurs apprenants. Il permet
134
Utilisateurs. Cet outil fournit la liste des personnes inscrites au cours. Il sert à gérer les
inscrits, à les partager en groupes, à leur donner des rôles ou des responsabilités et à les
suivre pendant une activité quelconque.
Groupes. Cet outil a pour rôle principal de créer et d’administrer des groupes de travail.
Les groupes se créent soit manuellement, soit automatiquement, et peuvent être dotés
d’outils propres au groupe (documents, agenda, travaux, annonces, forum).
Travaux. Cet outil très simple permet aux apprenants d'envoyer des documents vers le
cours. Il peut servir à réceptionner des rapports individuels ou collectifs, des réponses à
des questions ouvertes ou toute autre forme de document.
Outils de suivi. Cet outil permet de faire le suivi des apprenants durant l’apprentissage de
deux façons. La première façon est dite « globale », elle englobe tous les apprenants et
tente de donner une vue d’ensemble sur les différentes statistiques concernant le cours
en termes de nombre d’apprenants, de temps passé sur le cours, de score moyen des
apprenants, de progression moyenne des apprenants, etc. La deuxième façon d’effectuer
le suivi est dite « nominative » et concerne le suivi d’un seul apprenant en particulier.
44
Les propriétés d’un cours rassemblent les formats des fichiers, leur origine, leur localisation, leur format à
l’écran d’affichage etc. que la maintenance ne peut manipuler.
135
Les groupes. : un étudiant une fois inscrit dans un groupe ne peut pas s’en désinscrire.
Les dossiers «documents» et «liens» d’un groupe ont une capacité réduite de stockage (7
Mo).
La Messagerie instantanée n'est pas très ergonomique. Ceci dit, on peut maintenant
grâce aux modules complémentaires changer le design de l'outil pour en utiliser un
meilleur.
137
Les espaces de travail restent cloisonnés : un gestionnaire d'espace ne peut pas copier
les informations qu'il a créées dans un autre espace (planning, annonces, documents,
etc.).
45
http://www.educnet.education.fr: site du ministère français de l’éducation (consulté en juillet 2011).
138
OUTILS D'ORGANISATION
Gestion des étudiants Oui, suivi automatique des Création par l'administrateur ou le formateur
(planning, inscription) étudiants. des comptes étudiants. Planning proposé par le
formateur.
Gestion des enseignants Création par l'administrateur Création par l'administrateur des comptes
des comptes
Gestions des cours Gérés par les formateurs Gérés par les formateurs
groupe, selon la plate-forme, peuvent se voir entre eux ou non. Cette visibilité peut être
encore restreinte à des sous-groupes, pour certains outils de communication qui
accompagnent les travaux des groupes d’apprenants. Pour les autres outils de partage la
situation est présentée dans le tableau 5.3.
OUTILS DE PARTAGE
Plate-forme Moodle Dokeos
Dépôts de documents Oui Oui
Mise en ligne de cours Oui, structuration du contenu par Oui
rubriques. Banque d’exercices,
etc.
Salle de cours (partage tous Oui Oui
les documents avec tous
les apprenants)
Historique Apprendre c'est aussi une activité Oui
d'observation.
Cours (audio, visuel…) Oui Oui
Tableau blanc Non Non
Ouverture, alertes, flux Possibilité d'afficher des flux RSS Oui
46
RSS de l'extérieur.
46
RSS: Really Simple Syndication, Système de mise à jour automatique sur un site des informations venues
d’un autre site.
140
Tableau 5.5 : Extrait de la comparaison des outils de gestion des aspects pédagogiques
Nous avons cependant noté pour Dokeos qu’une certaine assistance technique serait
payante et la vidéoconférence est proposée à part comme module payant. Un extrait de
comparaison est donné dans le tableau 5.7.
5.3.8 Discussion
A travers tous ces tableaux comparatifs, il apparaît clairement que Moodle et
Dokeos sont des outils similaires. Leur philosophie d’organisation reste la même et on
retrouve dans 90% des catégories les mêmes fonctionnalités dans les deux plates-formes. La
142
Au regard des outils proposés par les deux plates-formes, il apparaît qu’elles
prennent en compte toutes les caractéristiques fonctionnelles nécessaires pour favoriser un
apprentissage collaboratif avec notamment l’intégration des aspects de gestion des rôles,
des droits, des ressources, des outils asynchrones et synchrones, des activités individuelles
et collaboratives, de la production etc. En nous appuyant sur les travaux d’Ellis et Wainer, on
peut étudier les plates-formes par des fonctionnalités offertes en termes d'outils mis à
disposition des apprenants et enseignants. Pour cela, une classification fonctionnelle
s'appuyant sur un modèle semblable à celui des trois « C » (Ellis, et al., 1994) ou sur un
modèle dérivé (David, 2001; Tarpin-Bernard, 1997) en quatre dimensions, est possible pour
nous permettre d’établir un ordre prioritaire à donner aux outils à implémenter dans le
prototype informatique d’interopérabilité et prévoir de manière méthodique leur utilité sur
terrain à l’UNILU.
Le modèle des trois « C » dérivé en quatre dimensions, repose sur quatre espaces
d’interactions:
D'autres auteurs ont également proposé d'ajouter des dimensions orthogonales aux
trois espaces initiaux. Par exemple, Ferraris propose l'espace de régulation qui permet de
décrire les règles de coopération entre les individus impliqués dans un apprentissage
collectif (Ferraris, et al., 2000). La figure 5.3 illustre les quatre dimensions conçus par David
(David, 2001) et décrit les tâches principales associées à chaque cercle et ses intersections.
Nous avons numéroté ces différentes parties comme les différents usages possibles pour des
apprenants comme des tuteurs, tel que le suggère Laforcade (2006).
L’étude des plates-formes Moodle et Dokeos nous a permis, comme on l’a montré
dans les sections précédentes, d’extraire les différents outils pour ensuite les positionner par
rapport aux usages. Nous en consignons une partie dans le tableau 5.8.
rappelons-le, l’échange des contenus doit être suivi de l’utilisation de certains outils de la
plate-forme pour vivifier l’apprentissage.
Domaine de COMMUNICATION
contrôlé 2
Initialisation Préparation
Production isolée Répartition des tâches 6
4 5
Domaine de COORDINATION
Domaine de PRODUCTION Validation de
production 9
Formulation de 8 Résolution des conflits
production
7
Dialogues divers
Remotivation
10
Domaine de CONVERSATION
Ces outils participent aussi à l’élaboration d’un scénario narratif qui constituera le
modèle de base sur lequel se fonderont tous les projets des sessions d’apprentissage afin de
les adapter au contexte de l’UNILU.
Les usages définis dans le modèle des trois «C» sont plus nombreux pour les outils
qui ont été les plus utilisés dans nos expérimentations décrits au chapitre 3. On découvre
notamment, au-delà de l’effet de mode, l’importance indéniable de la vidéoconférence et de
la messagerie électronique qui pourrait servir pour neuf usages différents (tableau 5.8). Elles
145
sont suivies du forum et de la messagerie instantanée qui peuvent rassembler quatre usages
chacun. La prise en compte de l’importance de ces outils devrait présider aux choix guidant
la mise en œuvre du prototype d’interopérabilité.
de comparer les rôles des outils dans les deux plates-formes, et de vérifier leur existence et
enfin d’établir l’ordre de priorité dans lequel on devrait les choisir par rapport aux usages du
cahier des charges. Cet ordre de priorité est montré au tableau 5.8, le principe est que plus
un outil a des usages, plus il est prioritaire.
Nous allons analyser de près le contenu d’un package Moodle pour comprendre son
mécanisme et préparer l’implémentation de l’outil d’interopérabilité. D’ores et déjà, le
premier constat que nous faisons sur les contenus à l’export est qu’ils se présentent comme
des fichiers zip avec un certain nombre de répertoires et un fichier jouant le rôle de
manifeste. Nous allons mener notre étude suivant deux axes : le premier axe est la
composition et l’agrégation du package, et le deuxième concerne le mécanisme d’échange et
d’intégration entre la package et la plate-forme.
cours, tous ceux du site ou aucun. Enfin, on peut exporter ou non les historiques du cours,
les fichiers des utilisateurs, ou encore les fichiers du cours appartenant à l'enseignant.
Manifeste moodle.xml
INFO
ROLES
COURSES
Fichiers physiques
La documentation de Moodle étant très éparpillée et très peu canalisée sur le net,
nous ferons ici une description basée essentiellement sur les expérimentations effectuées au
cours de nos recherches ainsi que sur la rarissime documentation concernant le
développement de Moodle.
- Un rôle : il identifie le statut d'un utilisateur dans un certain contexte (par exemple :
enseignant, étudiant ou modérateur de forum sont des exemples de rôles) ;
- Une capacité : c’est la description d'une fonctionnalité particulière de Moodle. Elles
peuvent être associées aux rôles (par exemple, mod/forum:replypost est une
capacité) ;
- Une permission est une certaine valeur qui définit l'usage d'une certaine capacité par
un rôle donné. (autoriser, empêcher, etc.) ;
- Un contexte est un «endroit» dans Moodle, tel qu'un cours, un module d'activité, un
bloc, etc.
150
Moodle permet à des utilisateurs autorisés de créer des rôles en nombre illimité. Un
rôle étant une liste de permissions attribuées à chacune des actions connues dans Moodle.
Les rôles peuvent être attribués à des utilisateurs dans un certain contexte.
L’élément ROLES du manifeste moodle.xml possède un seul enfant ROLE qui lui
donne à son tour plusieurs descendants notamment : ID pour le numéro d’identification du
rôle, NAME pour le nom du rôle, NAMEINCOURSE le nom du rôle dans le cours,
CAPABILITIES pour décrire les capacités. A travers l’élément enfant CAPABILITY en
termes de permissions, des noms, des mises à jour etc. Et les éléments enfants du nœud
sont NAME, PERMISSION, TIMEMODIFIED, MODIFIERID, CAPABILITY.
METACOURSE. Pour créer des relations parent-enfant entre cours. Avec des
enfants comme PARENTS, CHILD etc. Un cours de Physique générale par
151
exemple peut être le parent (Méta cours) des cours suivants, Electricité,
Optique, Mécanique, Physique quantique etc.
MESSAGES. Cet élément contient les messages, lus ou non, à sauvegarder avec
leurs auteurs et leurs destinataires. Il possède plusieurs descendants.
BLOGS. Cet élément répertorie les blogs d’un cours à sauvegarder. Il précise,
entre autres, comment les identifier, leur sujet, leur résumé, leur contenu, leurs
auteurs, le groupe concerné, ainsi que le module du cours concerné par le blog.
BLOCKS. Certaines parties d’un cours peuvent être rassemblées en blocs et être
décrites comme un tout, ce qui se précise par cet élément. Il décrit notamment
le poids du bloc (nombre d’octets), sa visibilité (qui a le droit de le voir parmi les
utilisateurs), sa position dans le cours, son nom, etc. Certains éléments de
description sont : NAME, WEIGHT, VISIBLE, POSITION, PAGETYPE, etc. ;
LOGS. Cet élément reprend le suivi des apprenants à travers leurs connexions
au cours, le temps passé sur un module, l’heure du début de la connexion,
l’heure de la fin de la connexion, ou encore le module concerné par la session. Il
a un élément enfant qui est LOG et qui à son tour a une suite des descendants
qui décrivent la session : USERID, TIME, MODULE, IP, ACTION, INFO etc. ;
GRADEBOOK. Cet élément s’appuie sur une longue série des descendants pour
classifier les différents modules des cours par rapport à un sujet ou une
thématique précise traitée par le cours. Il spécifie aussi le niveau d’études ou les
compétences à atteindre à l’issue d’une formation.
Nous recensons aussi les éléments SCALES qui donnent les étapes à suivre,
EVENTS qui décrivent les événements du cours ou du module, GROUPS qui
s’occupent des groupes, GROUPINGS, GROUPINGSGROUPS, pour les
groupements, MODULES pour traiter des modules.
d’importation. Le premier est que la sauvegarde en vue d’une exportation d’un simple cours
débouche sur un fichier zip que l’on stocke sur le disque dur et qui constitue une archive des
documents du cours. Certains outils ayant servi pendant le cours tels que «Agenda», «Wiki»,
«Partage de fichiers», «Travaux» sont exclus de la sauvegarde par défaut. Le second est que
lors de l’exportation, si le cours concerné est accompagné d’un «parcours pédagogique»,
cette fois-là Dokeos propose de l’exporter sous format SCORM.
des matières. Il peut aussi être organisé en fonction d'activités. Il s'apparentera alors à un
agenda de « choses à faire » pour acquérir la maîtrise d'un savoir ou d'une compétence. Les
étapes successives du parcours peuvent être nommées « semaines », « modules », «
séquences » ou avec toute autre appellation répondant à la nature du scénario
d’apprentissage envisagé par l’enseignant. En plus d'être structuré, un parcours peut être
séquencé. Cela signifie que certaines étapes peuvent constituer des pré-requis pour
d’autres : par exemple on n’atteint pas l’étape n° 2 sans être passé par l’étape n° 1 par
exemple (Pecquet, 2007).
Une séquence peut être suggestive en montrant les étapes l'une après l'autre ou
contraignante en obligeant l'étudiant à suivre les étapes dans un ordre imposé. Il est
important de comprendre qu'un parcours est plus que le découpage d'une matière : il est un
itinéraire à travers le savoir qui inclut potentiellement des épreuves, des temps de
discussion, d'évaluation, d'expérimentation, de publication, de regards-croisés, etc. C'est
pourquoi l'outil de parcours de Dokeos constitue une sorte de « méta-outil » qui utilise de
nombreux autres outils pour les séquencer ou les ordonner afin d’atteindre les objectifs
d’apprentissage. En définitive, le parcours d’apprentissage est une sorte d’outil intégrateur
des autres outils comme expliqué plus haut qui permet de faire d’un cours un tout cohérent
exprimant une entité de parcours conçue par l’enseignant pour permettre l’exécution d’un
programme de cours selon sa vision. Dokeos prévoit qu’un cours ainsi constitué peut être
archivé et exporté conformément à la norme SCORM.
Mais cette conformité à la norme SCORM pose des problèmes que nous allons
identifier pour comprendre quelle est la constitution d’un package Dokeos à partir d’un
parcours pédagogique.
Un cours conforme à la norme SCORM est capable d’établir un dialogue avec la plate-
forme d’accueil. Ce dialogue peut rester basique, c’est à dire le cours informe la plate-forme
que telle étape est commencée ou terminée, ou être plus évolué, par exemple le cours
récupère en plus le nom de l’étudiant qui étudie le cours, son groupe, etc. La pratique nous
apprend pour l’instant que la conformité de Dokeos au modèle SCORM reste basique et que
les cours exportés ne portent pas d’aussi grands renseignements que ça. Certaines données
n’apparaissent pas ou ne sont tout simplement pas reconnues.
156
Dokeos précise en outre que lors de l’exportation d’un cours tous les documents
exportables au format SCORM se trouvent dans le fichier archive au format SCORM à
l’exception des données de certains outils tels : «Travaux», «Groupes», «Partage de fichiers»
et «Utilisateurs».
Notre prototype d’interopérabilité aura pour objectif à long terme de faire interagir
les fonctionnalités suivantes entre de Moodle et Dokeos:
Signalons qu’à ce stade, dans le cadre d’une étude de faisabilité, nous mettons un
accent particulier uniquement sur les outils de communication asynchrone.
Il ne suffit pas de transférer les données d’une plate-forme à une autre, encore
faut-il un suivi des étudiants. Nous focaliserons dès lors, nos travaux sur les outils de
communication. En effet le suivi des étudiants, le travail collaboratif et la communication
sont souvent invoqués comme des procédés à valeur ajoutée favorisés par des outils de type
plate-forme (Ecoutin, 2001). Ce constat nous l’avons d’ailleurs fait dans le scénario
prévisionnel narratif que nous avons pu élaborer lors de nos expérimentations à l’UNILU
(section 3.4.3.2).
47
Le cas de la messagerie instantanée n’a pas été implémenté dans le présent travail.
161
stratégiques stimulées par la concurrence et un souci des parts du marché des plates-
formes (CSC, 2003). Il faut reconnaître que la concurrence ne favorise pas
l’interopérabilité.
Dès lors, l’interopérabilité pour notre cas d’étude se limite à une démarche en deux
temps : transférer les contenus d’une plate-forme à l’autre, et assurer un suivi effectif des
étudiants. De là notre implémentation se divise en deux volets. Le premier volet,
l’interopérabilité statique, s’occupe du déplacement et de la compatibilité des contenus
d’une plate-forme à une autre. Le second volet, l’interopérabilité dynamique, établira une
synchronisation en temps réel des outils de communication des deux plates-formes à
distance. Cela pour un suivi effectif, efficace et efficient des étudiants. Le chapitre suivant
nous révèle une proposition de mise en œuvre de cette interopérabilité entre Moodle et
Dokeos.
CHAPITRE 6 : IMPLEMENTATION DE
L’INTEROPERABILITE STATIQUE
6.1. Introduction
Nous avons défini l’interopérabilité statique comme étant, au niveau import/export
des deux plates-formes Moodle et Dokeos, la capacité des contenus de l’une et de l’autre à
être reconnus et utilisés par les deux à la fois. Plus précisément, l’interopérabilité peut être
définie fonctionnellement et techniquement comme « la capacité d’échanger des données
entre systèmes multiples disposant de différentes caractéristiques en terme de matériels,
logiciels, structures de données et interfaces, et avec le minimum de perte d’information et
de fonctionnalités » (NISO, 2004). Nous travaillerons donc dans ce chapitre à rendre possible
un des aspects de l’interopérabilité, à savoir la migration des contenus en les transformant
en contenus SCORM, puis en améliorant la capacité de chacune des plates-formes à intégrer
des contenus SCORM.
Dès lors, la question est comment y arriver techniquement ? Notons d’abord que les
contenus se présentent tous sous un fichier de format zip à la racine duquel se trouve un
manifeste XML qui décrit la manière d’utiliser et d’identifier le contenu. Le contenu est à son
tour décrit à l’aide des métadonnées. Les métadonnées à leur tour sont récupérées à travers
le manifeste XML, par le mécanisme de XML Binding qui permet notamment d’implémenter
dans un fichier XML toute la structure et l’identification des données. Les données de base à
échanger en e-learning sont des objets pédagogiques qui peuvent avoir plusieurs natures : il
peut s’agir de programmes d’enseignement, de transparents, de notes de cours, de pages
Web, de logiciels de simulation, d’objectifs pédagogiques qui peuvent être utilisés, réutilisés
ou référencés durant toute l’activité liée à l’enseignement ou à l’apprentissage. Pour obtenir
une description plus précise des objets pédagogiques en termes d’informations sur les
documents, sur les auteurs, sur leurs champs d’intérêt, leurs idées, leurs objectifs
pédagogiques, on peut inclure des métadonnées comme ressources elles-mêmes qui sont
structurées suivant des catégories ou champs sémantiques à l’exemple des neuf catégories
des métadonnées du LOM illustrées à la section 5.2.4 (Bourda, et al., 2003).
163
Le langage XML est conçu pour structurer logiquement le contenu des documents
avec pour objectif de pouvoir séparer le fond et la forme (nous proposons en annexe
quelques concepts du XML). Il apparaît comme le moyen le plus adéquat pour décrire à la
fois les métadonnées et la structure des documents afin d’assurer la pérennité de la
documentation électronique. Plusieurs chercheurs pensent d’ailleurs que le XML soutient la
manière de produire, de gérer et d’utiliser les objets pédagogiques (Gorga, 2003; Bourda, et
al., 2003). Le langage XML est le format d’implémentation privilégié de nombreux standards
de métadonnées pour assurer la pérennité et l’interopérabilité des données à l’intérieur
d’un système ou entre systèmes. L’utilisation de standards s’impose, sur les éléments de
métadonnées utilisés, sur leurs valeurs et sur leurs formats d’implémentation (Morel-Pair,
2007). Le consortium IMS pour sa part reconnaît que, par rapport à d’autres formats
d’implémentation, le XML standard soutenu par le W3C, donne aux métadonnées leur
puissance opérationnelle en matière de recherche, de gestion et d’interopérabilité (IMS,
2001).
Aussi, les métadonnées sont dotées d’une nature ambivalente et polymorphe dans
le sens où elles peuvent être utilisées pour décrire n’importe quelle donnée, objet,
évènement, ou personne dans le monde (Hodgins, 2002). Cependant, en matière de
métadonnées, certains auteurs distinguent deux catégories principales. D’une part, les
métadonnées objectives qui ont vocation de décrire des propriétés physiques telles que la
date, l’auteur, les identifiants, etc. Elles peuvent la plupart du temps être générées
automatiquement (Cardinaels, et al., 2005). D’autre part, les métadonnées subjectives qui
relèvent des attributs plus variables et importants, elles sont librement créées et
déterminées par une personne ou un groupe de personnes. Dans un contexte
d’apprentissage en ligne, les métadonnées doivent aider la recherche d’objets pédagogiques
à partir de critères didactiques et faciliter la mise en œuvre de l’apprentissage (Greenberg,
2002).
Pour Duval, afin de mieux remplir leur mission, les métadonnées doivent présenter
les quatre caractéristiques suivantes (Duval, et al., 2002) :
Pour nos travaux, les métadonnées du LOM repris dans le modèle SCORM pour
l’apprentissage en ligne remplissent déjà les critères ci-dessus car elles sont réputées
modulaires, extensibles, raffinées et multilingues. Ceci constitue une motivation
supplémentaire dans le cadre de l’UNILU à concevoir des moyens authentiques pour la mise
en œuvre d’une interopérabilité des contenus que nous appelons ici interopérabilité
statique.
al.). Pour l’interopérabilité statique, l’interchangeabilité concerne ici les contenus des plates-
formes Moodle et Dokeos. En définitive, au niveau statique, la manipulation se fait sur du
contenu d’apprentissage constitué d’objets pédagogiques décrits par les métadonnées.
48
The Computer Education Management Association
167
Figure 6.1 : L’objet pédagogique, un concept au centre de fortes tensions (Pernin, 2003).
168
6.3.2.2 La granularité
La granularité d’un objet pédagogique détermine la grandeur spatiale de l’objet et
constitue un élément majeur de son intégration dans un cursus. Il peut partir d’une entité
aussi petite qu’une simple phrase, un paragraphe explicatif, une image, un graphique, une
animation, etc. En fait le flou persiste quant à savoir quelle est la taille maximale d’un objet
pédagogique. On peut pressentir à ce niveau que l’objet pédagogique peut aller d’une
simple entité, jusqu’au cursus complet. Hodgins définit cinq niveaux de granularité différents
(Hodgins, 2002) :
169
6.3.2.3 La réutilisabilité
Dès 1965, l’idée de la réutilisabilité apparaît avec Nelson qui établit un cadre
permettant de construire du contenu à partir d’objets réutilisables issus de librairies
électroniques en interconnexion préalable (Nelson, 1965). L’idée de composants réutilisables
peut être appliquée au monde éducatif car une fois créé, un objet pédagogique doit servir
dans différents contextes pédagogiques. Ces composants doivent être autonomes, peuvent
être produits séparément, mais doivent pouvoir être modifiés pour correspondre aux
besoins des utilisateurs. Certains auteurs comme Baumgartner reviennent sur le fait que la
granularité d’un objet pédagogique est inversément proportionnelle à sa grandeur : les
objets pédagogiques de petite granularité sont dénués de contexte et sont facilement
réutilisables, alors que les objets pédagogiques de forte granularité sont très contextualisés
pour des raisons pédagogiques et deviennent de fait très difficiles à réutiliser (Baumgartner,
2004).
6.3.2.4 L’agrégation
Un objet pédagogique peut certes être réutilisé tel quel, mais il peut aussi être créé
par agrégation d’autres objets pédagogiques de granularité plus fine. Il répond ainsi au
besoin d’appropriation de la part de l’enseignant, et de mise en contexte pour répondre aux
170
L’agrégation attire l’attention pour nos travaux d’autant plus qu’au niveau statique
de l’interopérabilité, le déplacement des contenus (agrégats d’objets pédagogiques)
démandera de les extraire de leur plate-forme d’origine pour les agréger ensuite de manière
compatible avec la plate-forme d’accueil. Le modèle d’agrégation auquel nous recourrons
pour nos travaux est le CAM (Content Agregation Model) du modèle SCORM (voir la section
4.5.1). Les objets pédagogiques y sont décrits avec des métadonnées issues du LOM de
l’IEEE. Le dispositif informatique pour assurer l’interopérabilité devra aussi implémenter ce
mécanisme global d’agrégation.
6.3.2.5 L’accessibilité
Il est indispensable de pouvoir retrouver facilement un objet pédagogique. Il doit être
étiqueté avec des métadonnées pour être stocké et référencé dans une base de données. Ce
171
processus est appelé «indexation». L’accès à un objet pédagogique est efficace lorsque le
coût engendré par sa recherche en vue de sa réutilisation est inférieur au coût nécessaire
pour créer un objet équivalent.
L’objet pédagogique doit être diffusé le plus largement possible, ce qui rend
nécessaire la possibilité d’échanger et de communiquer entre les systèmes de stockage. La
qualité et la quantité des métadonnées jouent ici un rôle important.
6.3.2.6 L’interopérabilité
Comme nous l’avons précedemment martelé dans ce travail, un objet pédagogique
doit être autonome, c’est-à-dire indépendant du support de diffusion et de la plate-forme
d’apprentissage. Cela soulève la notion d’interopérabilité qui passe nécessairement par la
mise en place des standards et des normes.
De façon pratique, SCORM établit une table de correspondance pour chacun des
niveaux, en indiquant la nature (obligatoire, optionnelle ou «en attente») de chacun des 45
éléments (et leurs sous-éléments) définis du LOM (voir figure 6.4). Nous utiliserons ce
principe lors de la transformation des métadonnées Moodle.
Plus concrètement, pour nos travaux, les métadonnées Moodle devront trouver
leurs équivalents dans le standard LOM, mis en place, comme on le sait déjà, par l’IEEE en
2002 (IEEE, 2002; Grandbastien, 2002). Ce choix s’explique parce qu’il est le plus utilisé, et
qu’il s’appuie en grande partie sur les travaux initiés par la fondation ARIADNE depuis 1997
(Duval, et al., 2002). Il permet de décrire un objet pédagogique à l’aide de métadonnées et
favorise le partage et la réutilisation des objets pédagogiques. Son schéma de métadonnées
comprend neuf catégories : général, cycle de vie, méta-métadonnées, technique,
pédagogique, droits, relation, commentaire, classification. La figure 6.4 offre une
représentation de l’ensemble des descripteurs de ce standard. Pour répondre aux besoins
particuliers des utilisateurs, le standard LOM peut être spécialisé à travers des profils
d’application.
adaptations, est trop rigide et ne peut répondre aux besoins de plus en plus nombreux et
complexes des développeurs Web. Il lui était essentiellement reproché de ne pas séparer la
présentation des données de leur contenu. Le XML fut créé pour séparer le contenu des
données de leur présentation. XML est un langage de description de documents structurés.
1. Extraire la valeur d’un élément. Dans DOM, toute chose est un nœud. Les
éléments nœuds n’ont pas de valeur textuelle. Le texte d’un élément nœud est
stocké comme enfant de ce nœud, et le texte à son tour constitue un nœud texte.
Pour avoir donc le texte d’un élément il faut obtenir la valeur du nœud enfant
(nœud texte). La propriété nodeValue est utilisée pour avoir la valeur textuelle
d’un nœud. La fonction getAttribute() retourne la valeur d’un attribut.
2. Changer la valeur d’un nœud. La propriété nodeValue est utilisée pour changer la
valeur d’un nœud. La fonction setAttribute() sert à changer la valeur d’un
attribut.
177
3. Déplacer un nœud. Quand un nœud est déplacé, tous ses enfants sont déplacés
avec lui. La fonction removeChild() déplace un nœud donné et la méthode
removeAttribute() déplace un attribut donné.
4. Remplacer un nœud. La fonction replaceChild() remplace un nœud spécifique
et la propriété nodeValue remplace le texte dans un nœud texte.
5. Créer un nœud. La fonction createElement() crée un nouvel élément nœud, et
pour créer un nœud texte on utilise la fonction createTextNode(). La création
d’un attribut est assurée par la fonction createAttribute().
6. Ajouter un nœud. Pour ajouter un nœud dans un nœud existant, on utilise la
fonction appendChild(). Le nœud ajouté est placé juste après un nœud enfant
existant déjà au sein de l’élément. Au cas où la position du nœud s’avère
importante, on peut la fixer à l’aide de la fonction insertBefore().
7. Copier un nœud. La fonction cloneNode() crée une copie d’un nœud donné. Elle
possède un paramètre booléen (true ou false) qui indique si le nœud copié
pourrait inclure les attributs ainsi que les nœuds enfants du nœud original.
8. L’objet XMLHttpRequest est utilisé pour échanger des données avec un serveur.
Cet objet aide notamment les développeurs pour :
- mettre à jour une page Web sans avoir besoin de recharger la page ;
- faire des requêtes à partir d’un serveur après avoir chargé la page ;
- recevoir des données à partir d’un serveur après avoir chargé la page ;
- envoyer des données à un serveur à l’arrière-plan.
Le fichier XML ainsi créé devrait obéir au schéma XSD, tel que spécifié sur le site
Web officiel du consortium ADL, que nous illustrons dans l’exemple de la figure 6.6.
Container Ce type de données sert à indiquer que l’élément contient des sous-
éléments et ne contient aucune valeur de données.
String Il s’agit d’un ensemble de caractères. Une limite du nombre de
caractères peut être indiquée.
Timespan Il s’agit d’une longueur du format de temps en heures, minutes,
secondes HHHH : MM : SS.SS.
ID Objet qui sert à identifier de manière unique un élément au sein
d’une instance d’un document XML.
IDRef Une référence à un ID.
Boolean Une valeur booléenne, ‘true’ ou ‘false’.
Vocabulary Une liste restreinte des vocabulaires des éléments. La valeur d’un
élément devrait être conforme à celle consignée dans la liste.
AnyURI Il désigne n’importe quel URI
decimal Un décimal
Tableau 6.5 : Exigences de l’élément <manifest> dans les modes d’agrégation CAM.
5. Les types de données : <manifest> est un élément container, il n’a donc pas
de valeur associée et peut posséder les attributs suivants :
- Identifier (obligatoire) : C’est un attribut obligatoire qui identifie
sequencingCollection>.
le nœud racine de toutes les métadonnées du contenu ce qui sous entend que toutes les
métadonnées de description du contenu devrait être ses enfants. On définit donc les règles
suivantes pour <metadata>.
Tableau 6.6 : Exigences de l’élément <metadata> dans les modes d’agrégation CAM.
5. Les types de données : <metadata> est un élément container, il n’a donc pas de
valeur associée et peut posséder les attributs suivants :
- Attributs : cet élément ne se dote pas d’attributs ;
- Éléments : - <schéma>, <schemaversion>, {metadata}.
6. L’équivalent de l’élément <metadata> dans Moodle est <INFO>.
Tableau 6.7 : Exigences de l’élément <organizations> dans les modes d’agrégation CAM.
Tableau 6.8 : Exigences de l’élément <resources> dans les modes d’agrégation CAM.
5. Les types de données : <resources> est un élément container. Il n’a donc pas
de valeur associée et peut avoir l’attribut xml: base (optionnel) qui fournit un
chemin d’accès à des fichiers qui sont dans le contenu. C’est une donnée du
type xs: anyURI avec une longueur maximum de 2000 caractères.
6. Les éléments : l’élément <resource> est l’unique élément de <resources>, il
constitue une référence à toutes les ressources qui constituent le package. Au
sens de SCORM, nous avons deux types de ressources les SCO et les Assets.
7. Exigences SCORM pour <resource> : les exigences de SCORM sur l’intégration
de l’élément <resource> dans un manifeste sont les suivantes ( tableau 6.9).
Tableau 6.9 : Exigences de l’élément <resource> dans les modes d’agrégation du CAM
Un élément feuille <item> est requis pour référencer une ressource (SCO ou
actif). Si un <item> fait référence à une ressource, cette ressource devra être
identifiée afin d’être fournie et lancée pour un apprenant. Si un <item>
référence un <resource>, alors l’élément <resource> doit obéir aux règles
suivantes :
8. Les types de données : <resource> est un élément un container. Il n’a donc pas
de valeur associée et peut avoir les attributs suivants : identifier (obligatoire),
type (obligatoire), href (optionnel), xml: base (optionnel), adlcp:
scormType (obligatoire).
Nous venons de faire un parcours de la mise en œuvre du SCORM XML binding des
descendants du premier degré de l’élément <manifest> du fichier manifeste. Nous allons,
dans les deux sections suivantes, traiter le contenu Moodle en trouvant pour chaque
métadonnée de moodle.xml un correspondant dans imsmanifest.xml. Une fois toutes les
correspondances établies nous passerons à la modélisation de la conception de l’outil
d’interopérabilité statique.
Dans nos travaux, nous avons essayé d’aller le plus loin possible avec la conformité
dans l’implémentation. Mais, le niveau de conformité est plus guidé en amont par les
objectifs du concepteur du cours au sein de Moodle. Selon ses objectifs un cours peut
devenir apte à être transformé du niveau le plus bas de conformité ou au niveau le plus
élevé. Le substrat de base du cours est déterminé sous Moodle, lorsqu’un cours est grossier
à partir de Moodle, il n’atteindra pas un niveau élevé de conformité à SCORM.
Ici, le contenu d’apprentissage est assez basique et pas sophistiqué. Il est constitué
principalement des fichiers multimédia, sons, images, vidéos, pages Web, des questionnaires
ainsi que des données susceptibles d’être délivrées à un client Web. Au sens de SCORM il
s’agit d’un package uniquement constitué des assets.
8. Le contenu devra respecter à la fois les deux profils d’application des packages des
ressources et des packages d’agrégation.
9. Le package devrait contenir au moins un SCO ou un asset comme ressource.
10. Toutes les ressources identifiées comme SCO doivent être au moins conformes au
SCORM Run-Time Environment (RTE).
11. Toutes les métadonnées contenues dans le manifeste devraient être conformes au
SCORM Meta-data Application Profiles (voir section précédente 6.5.2.1).
1. Une instance des métadonnées XML d’un SCO doit contenir l’élément <general>,
qui doit apparaître une et une seule fois et contenir les éléments suivants :
<identifier> (réservé), <title> (obligatoire), <catalogenty> (obligatoire),
<language> (optionnel), <description> (obligatoire), <keyword> (obligatoire),
<coverage> (optionnel), <structure> (optionnel), et <aggregationlevel>
(optionnel). Tous ces éléments possèdent à leur tour des descendants dont
SCORM détermine la priorité ainsi que les occurrences.
2. L’instance doit contenir aussi l’élément <lifecycle> qui doit apparaître une et
une seule fois et contenir les éléments optionnels suivants : <version>,
<status>, et <contribute>. Ceux-ci possèdent à leur tour des descendants dont
les règles d’implémentation sont données par SCORM.
3. L’instance doit contenir l’élément <metametadata> qui doit apparaître une et une
seul fois et contenir les éléments suivants : <identifier> (reservé),
<catalogentry> (optionnel), <contribute> (optionnel), <metadatascheme>
189
(obligatoire). Comme pour tous les autres éléments, SCORM définit aussi les
règles auxquelles les éléments de <annotation> sont soumis.
190
<learningresourcetype>
1.3.1… <MODTYPE> optionnel
Car en amont Moodle ne fournit pas clairement à l’exportation le cursus, mais rend
disponibles les utilisateurs et leurs rôles dans le cours. En définitive tout cela dépend du
concepteur du cours sous Moodle.
<MOODLE_BACKUP> <manifest>
<INFO> <metadata>
<NAME>backup-BDD-25.zip</NAME> <schema>MOODLE_BACKUP</schema>
<BACKUP_VERSION>2003112200 <schemaversion>2003112200</schemavers
</BACKUP_VERSION> ion>
<BACKUP_RELEASE>1.2 </metadata>
development</BACKUP_RELEASE>
<DATE>1072999538</DATE> <organizations/>
</INFO> <resources>
<COURSE> <resource identifier="99"
<MODULES> adlcp:scormType="sco" href="">
<MOD> <metadata>
<MOD> <title>Bases de
<ID>99</ID> données</title>
<MODTYPE>resource</MODTYPE> <description>Bases
<NAME>Bases de données de données 1</description>
1</NAME> <educational>
<REFERENCE></REFERENCE>
<SUMMARY>2</SUMMARY> <learningresourcetype>Narrative
<ALLTEXT> Introduction au text</learningresourcetype>
langage SQL</ALLTEXT> </educational>
</metadata>
<TIMEMODIFIED>1070141467</TIMEMODIF <file
IED> href="BDD_1.htm"/>
</MOD> <file
</MODULES> href="BDD_1.ppt"/>
</COURSE> </resource>
</resources>
</manifest>
Dans le tableau 6.11 nous illustrons un extrait de changement opéré sur les
métadonnées, pendant nos expérimentations (avec une flèche qui indique la création d’un
193
SCO lors de l’agrégation des contenus). On voit bien que l’élément <MOD> dont la valeur de
l’élément <ID> est 99 est transformé en un SCO, que l’on détecte par les attributs adlcp:
scormType dont la valeur est sco et identifier qui a pour valeur 99.
<MOODLE_BACKUP> <manifest>
<COURSE> <resources>
<MODULES> <resource identifier= "129"
<MOD> adlcp:scormType="asset" href="
<SUBMISSIONS> moddata/exercice/129">
<SUBMISSION> <metadata>
<ID>129</ID> <title>Word Exercice 10</title>
<USERID>0</USERID> <description> Word Exercice
<TITLE>Word 10</description>
Exercice 10</TITLE> <educational>
<learningresourcetype>Exercise</learningres
<TIMECREATED>1065706170</TIMEC ourcetype>
REATED> </educational>
</metadata>
<RESUBMIT>0</RESUBMIT> <file href="Word10.doc">
<MAILED>0</MAILED> <adlcp:location> </adlcp:location>
</file>
<ISEXERCISE>1</ISEXERCISE> <resource>
</SUBMISSION> <resources>
</SUBMISSIONS> </manifest>
</MOD>
</MODULES>
</COURSE>
</MOODLE_BACKUP>
On remarque au tableau 6.12 que l’élément <MOD> est bel et bien un asset : il est
transformé en son équivalent SCORM qui est l’élément <ressource>, dont l’identifiant est
l’élément <ID> côté Moodle, qui se transforme en un attribut identifier côté SCORM en
gardant la même valeur. Son attribut adlcp:scormtype est là pour certifier que l’élément
Moodle <MOD> a été transformé en actif. La valeur booléenne de l’élément Moodle
<ISEXERCISE>, qui confirme que la ressource utilisée dans le contenu contient un
194
<MOODLE_BACKUP> <manifest>
<COURSE> <resources>
<MODULES> <resource identifier= ""
<MOD> adlcp:scormType="SCO" href="
<SUBMISSIONS> moddata/exercise/">
<SUBMISSION> <metadata>
<ID>128</ID> <general>
<USERID>0</USERID> <title>Exercices Word</title>
<TITLE>Word <description> Ensemble d‟exercices
Exercise 9</TITLE> </description>
</general>
<TIMECREATED>1064314819</TIMEC <educational>
REATED> <learningresourcetype>Exercise</learningres
ourcetype>
<RESUBMIT>0</RESUBMIT> </educational>
<MAILED>0</MAILED> </metadata>
<file href="Word9.doc">
<ISEXERCISE>1</ISEXERCISE> <adlcp:location>
</SUBMISSION> moddata/exercise/128</adlcp:location>
</SUBMISSIONS> </file>
</MOD> <file href="Word10.doc">
<MOD> <adlcp:location>
<SUBMISSIONS> moddata/exercise/129</adlcp:location>
<SUBMISSION> </file>
<ID>129</ID> </resource>
<USERID>0</USERID> <resources>
<TITLE>Word </manifest>
Exercise 10</TITLE>
<TIMECREATED>1065706170</TIMEC
REATED>
<RESUBMIT>0</RESUBMIT>
<MAILED>0</MAILED>
<ISEXERCISE>1</ISEXERCISE>
</SUBMISSION>
</SUBMISSIONS>
</MOD>
</MODULES>
</COURSE>
</MOODLE_BACKUP>
Dans notre exemple au tableau 6.13 nous constatons que le SCO Exercices Word
est bâti sur deux actifs que sont les fichiers Word word9.doc et word10.doc. Ceux-ci font
désormais partie d’un parcours pédagogique déterminé par le concepteur du cours. Les
exemples que nous venons de donner corroborent à plusieurs égards la théorie d’agrégation
de Steinmetz et Rensing (voir section 6.3.2.4) qui affirme que le passage des ressources d’un
195
système à un autre passe par une rémodularisation, une adaptation, une permutation de ces
ressources et de leurs descripteurs pour arriver enfin à les réagréger autrement.
Sur ce modèle (figure 6.7), on voit bien que les éléments de <MOD>,
<SUBMISSIONS>, <SUBMISSION> de Moodle participent à la génération de l’élément
<resource> dont l’attribut adlcp: scormtype spécifie qu’il s’agit d’un asset, l’attribut
identifier tire sa valeur de <ID>, tandis que href pointe sur <REFERENCE> pour
retrouver l’URI de localisation du fichier physique concerné. Notons également que les
196
1..*
1..*
<MOD>
vaProduireSCORM <resource>
1..*
+identifier
1 vaProduireSCORM +href
+adlcp: scormtype
<SUBMISSIONS> 1
vaProduireSCORM 1
1
0..1 0..*
1..*
<SUBMISSION> 1..* <metadata> <file>
identifierTireValeurDe
estDescendantDe estDescendantDe 1
1
0..*
1 1 <title> <learningsourcetype>
vaProduireSCORM
<ID> <TITLE>
1
0..1
scormtypePointeSur
<REFERENCE> hrefPointeSur <ISEXERCISE>
filePointeSur
Examinons à présent le cas d’un SCO représenté à la figure 6.8. Ici <identifier> ne
tire plus sa valeur de <ID> mais, comme il est déclaré RESERVED dans les exigences de
SCORM, sa valeur résultera des échanges entre le SCO et la plate-forme qui se réserve ainsi
le droit de lui attribuer une valeur au sein de la plate-forme d’accueil. Ici un SCO est
constitué de plusieurs fichiers constituant des ressources du type asset, dont la description
est donnée par l’élément <metadata> de <file> avec des métadonnées conformes au profil
d’application d’un asset. Ces données sont fournies au départ de Moodle par l’élément
197
1..* 1..*
<MOD> <resource>
vaProduireSCORM
1..* +identifier
1 vaProduireSCORM +href
+adlcp: scormtype
<SUBMISSIONS>
vaProduireSCORM
1..* 0..1 0..*
1..*
<SUBMISSION> <metadata> <file>
1
+href
0..1
<metadata>
1 1 estDescendantDe estDescendantDe
<TITLE> 1 0..*
<ID> 1
<title> <learningsourcetype> 1
0..1 1 <general> adlcp:location
<REFERENCE> <ISEXERCISE>
vaPointerSur 1 estDescendantDe 1
1 <title> 0..*
tireSaValeurDe
<learningsourcetype>
pointeSur
1
pointeSur
Sur le diagramme de la figure 6.9 nous voyons comment toutes les grandes fonctions
qui constitueront le prototype d’interopérabilité sont basées sur DOM (Document Object
Model)49. Comme le diagramme le montre, les manipulations venues de la classe
Traduction_Moodle_SCORM vont alimenter la classe
Moteur_Transformation_imsmanifest qui finalise le processus XML binding.
49
DOM est un standard pour lire et manipuler des documents par le biais d’un programme. C’est une
représentation informatique d’un document XML voir section 6.4.2.2
198
DOM XML
Package: Empaquetage_SCORM
Extraction_Contenu_Moodle
+getElementsByTagName()
+getAttribute()
Moteur_Transformation_imsmanifest
+IMS Content Packaging XML Schema Definition (XSD)
+DocumentImplementation object
+DocumentType Object
Traduction_Moodle_SCORM
+nodeValue
Package: Injection_Dokeos
+setAttribute()
+removeChild()
+removeAttribute()
+replaceChild()
+createElement()
+appendChild()
+insertData()
+cloneNode()
Figure 6.9 : Diagramme des classes des principaux éléments de l’architecture de l’outil
d’interopérabilité statique.
Pour ce qui est de Dokeos, il exporte un cursus complet, c'est-à-dire le suivi d’un
parcours pédagogique, au format SCORM. Ce format SCORM est limité à une conformité que
199
nous estimons minimale à l’échelle de SCORM. Même des contenus SCORM venus des
éditeurs SCORM passent par un « réaménagement » pour être importables dans Dokeos.
Pour sa part, Moodle se veut complet et autonome en ce qui concerne le format zip
attendu. Il faut savoir qu’il ne favorise quasiment pas l’usage de packages SCORM pour les
cours en ligne dans la plupart de ses sites de production et que la plate-forme Moodle n'en
produit pas directement. On peut y importer du SCORM en tant que cours en ligne ou en
tant qu'activité d'apprentissage mais on ne peut pas en exporter. On dispose juste de
certains formats d'exportation normalisés dans certains contextes tels IMS QTI 2.0 (Question
and Test Interoperability) ou GIFT (General Import Format Template) qui permettent à un
utilisateur de se servir d’un éditeur texte pour écrire des questions à choix multiples, vrai-
faux, espaces blancs à remplir, etc. Moodle permet tout de même de réaliser un backup
complet d'un cours en ligne sous la forme d'un fichier zip contenant les ressources du cours
et un fichier XML, du nom de moodle.xml, reprenant toute sa configuration comme nous
l’avons déjà souligné au chapitre 5. Il accepte l’importation de tout ce qui est SCORM et
«refuse» visiblement d’en produire.
Dokeos pour sa part ne pousse pas sa conformité plus loin, et plusieurs acteurs e-
learning en font de même. Sur le marché, comme stipulé d’entrée de jeu, c’est la volonté
politique des acteurs qui manque sûrement guidés par la concurrence pour arriver à une
interopérabilité basée sur le modèle SCORM.
3 : Finalisation du manifeste()
Figure 6.10 : Diagramme de séquence illustrant les phases des opérations principales de
Moodle à Dokeos.
DEBUT
Var, ValeurNoeud : car ;
Lire listeNoeudsDeNom ;
NombreNoeuds <-0 ; PositionNoeuds <- 0 ;
Pour PositionNoeuds allant de 0 à NombreNoeuds
Faire
CreerNoeud(„resource‟) ;
Le nœud créé est enfant de RendreEnfant(„resources‟) ;
Lire ListeNoeudEnfants ;
Si NomNoeud == „NAME‟
Si ValeurNoeud == „label‟ ;
Lire valeurNoeudEnfant(„CONTENT‟) = ValeurNoeud ;
Copier ValeurNoeud ;
CreerNoeud(„metadata‟) ;
Le nœud créé est enfant de RendreEnfant(„resource‟) ;
CreerNoeud(„description‟) ;
Le nœud créé est enfant de RendreEnfant(„metadata‟) ;
Ecrire ValeurNoeud ;
FinSi
Si ValeurNoeud == „resource‟ ;
Lire valeurNoeudEnfant(„REFERENCE‟) = ValeurNoeud ;
Copier ValeurNoeud ;
CreerAttribut(„href‟) ;
href = ValeurNoeud ;
L‟attribut créé est du nœud
RendreAttributDe(„resource‟) ;
CreerNoeud(„file‟) ;
Le nœud créé est enfant de RendreEnfant(„resource‟) ;
Ecrire ValeurNoeud ;
CreerAttribut(„href‟) ;
Href = ValeurNoeud ;
L‟attribut créé est du nœud
RendreAttributDe(„file‟) ;
FinSi
Finsi
CreerNoeud(„educational‟) ;
Le nœud créé est enfant de RendreEnfant(„metadata‟) ;
CreerNoeud(„learningsourcetype‟) ;
Le nœud créé est enfant de RendreEnfant(„educational‟) ;
Ecrire ValeurNoeud = „asset‟ ;
FinFaire
FIN
Le choix d’une solution Web se justifie aussi par le fait que cela devient avantageux
dans la mesure où la quasi-totalité des acteurs de l’e-learning est familiarisée à la navigation
sur Internet. De plus la maintenance logicielle est réduite car aucune application n’est à
installer sur les postes des utilisateurs. L’utilisation de l’application en déplacement et à
distance est un autre avantage à escompter. Sachant qu’une application est un ensemble de
codes spécifiques écrits dans un langage informatique dit « langage de programmation» qui
permet de réaliser une ou plusieurs tâches précises destinées à fonctionner sur un appareil
202
informatique ou ordinateur dit système informatique. Nous sommes pour notre cas sur une
architecture client-serveur dans la mesure où notre prototype sollicitera les services des
mêmes logiciels serveur que les plates-formes pour lui fournir les ressources nécessaires à
l’accomplissement de ses tâches.
Le langage de programmation choisi pour l’instant est celui des deux plates-formes,
c’est à dire PHP. Nous allons voir ici quelques missions assignées à notre outil
d’interopérabilité. Notre outil a pour mission d’exécuter les tâches suivantes que nous
divisons en deux catégories à savoir les tâches d’agrégation et les tâches de réadaptation
adaptées des principes d’agrégation et de réadaptation Steinmetz et Rensing (Steinmetz, et
al., 2007) vus au chapitre 5.
$reference = $dom->getElementsByTagName('REFERENCE');
$nombreReference= count($reference);
echo $nombreReference. "<br />";
foreach($reference as $href)
//$fileResource = $resources-> createElement("file");
echo $href-> nodeValue. "<br />";
$fileResource-> setAttribute("href", $href->nodeValue);
<COURSE> qui est remplacé par <resource> dans SCORM. Ses attributs sont
identifier qui s’autodétermine par le Run-time Environment de la plate-forme
d’accueil. Les attributs type, href, adlcp :scormtype, trouvent aussi leurs
valeurs par l’extraction des valeurs des éléments contenus dans le nœud <MOD>
comme le montre le tableau 6.14
Tableau 6.14 : Exemple des correspondances adoptées dans nos travaux des éléments
Moodle vs SCORM.
ID identifier
NAME title
SUMMARY description
XPath : COURSE/MODULES/MOD XPath : resources/resource/metadata/educational
CONTENT description
SCALES/SCALE/DESCRIPTION description
MODTYPE learningsourcetype
Il faut noter que pour une agrégation de ressources, nous avons adopté deux types
d’éléments <MOD> différents via la valeur des nœuds enfants <MODTYPE> : soit label,
soit resource. La valeur label décrit du texte à afficher soit de manière brute, soit entre les
balises HTML (webcontent). Tandis que la valeur resource fait référence à un fichier
physique par son URI. L’élément <TYPE> de <MOD> détermine quant à lui l’existence d’un
fichier.
avons aussi l’élément <SCALES>. À travers son nœud enfant <SCALE>, il produit une
ressource SCORM du type asset qui ajoute des informations supplémentaires sur le cursus
du cours sans nécessairement avoir un caractère contraignant. Ses nœuds enfants <NAME>,
<SCALETEXT>, <DESCRIPTION> fournissent respectivement le nom, le résumé, ainsi
que la description de la ressource.
Une fois que l’on clique sur l’onglet «démarrer une transformation de contenu », on
accède à la première phase où il est demandé à l’utilisateur via l’onglet « Choisir et Charger »
de choisir et charger le contenu à transformer (fichier zip exporté depuis Moodle). Une fois
209
le contenu choisi, on peut alors démarrer les transformations et l’utilisateur est guidé
d’interface en interface de la phase 1 à la phase 4 tel qu’illustré sur la figure 6.10 du
diagramme des séquences de l’outil, jusqu'au transfert complet des données.
messages et sans les données des parcours personnalisés des apprenants. Il manque aussi
les interactions via les différents outils de communication synchrones et asynchrones, la
synchronisation dynamique s’en chargera. Mais la méthodologie utilisée est généralisable.
Néanmoins cette réussite de transfert s’est faite avec certaines difficultés, dont les
principales ont été :
50
Ce cours est proposé sur le site officiel de Moodle comme un des back up utiles à des études portant sur les
caractéristiques des contenus Moodle et de la manière de les agréger
211
des systèmes Moodle et Dokeos est très différente. Ceci pourra faire l’objet
d’une étude ultérieure.
3. Le contenu devant être sous format zip, on a été limité par la puissance du
langage qui n’implémente pas une classe suffisamment puissante pour la
compression des données. Pour zipper les données, nous avons dû le faire
manuellement à l’aide des logiciels dédiés. Mais le développement futur de
l’outil dans un langage de programmation plus puissant pourrait permettre
de zipper automatiquement.
4. Le mode d’envoi des fichiers zip par Internet (par exemple, en FTP) dépend
en partie de la configuration de chacun des réseaux locaux sur lesquels sont
installées les deux plates-formes et de la politique d’administration des
réseaux. Il faut donc des accords entre des universités partenaires.
5. Nous avons trouvé tout à fait absurde le fait que Moodle soit capable
d’agréer SCORM que dans un seul sens, c'est-à-dire à l’import, et soit
incapable d’agréger ses propres contenus et de les exporter au format
SCORM. Nous pensons qu’une bijectivité de l’interface d’interopérabilité
entre Moodle et SCORM apporterait une plus-value à l’interopérabilité en e-
learning, compte tenu des places de choix qu’occupent ces deux acteurs
majeurs dans le domaine.
6. Pour l’instant le prototype se limite au transfert des contenus. Une étude
plus approfondie est nécessaire pour assurer un transfert encore plus
complet des cursus qui pourrait faire l’objet d’un financement ultérieur.
212
CHAPITRE 7 : IMPLEMENTATION DE
L’INTEROPERABILITE DYNAMIQUE.
7.1 Introduction
Pour atteindre les objectifs de nos travaux tels que retracés dans la chapitre 2,
notamment la mise à jour et l’incrémentation du niveau des enseignements donnés à
l’Université de Lubumbashi, les outils de communication occupent une place prépondérante
et sont appelés à être intégrés dans un processus optimisé d’interopérabilité entre plates-
formes. Cela répond aussi à une des exigences obtenues lors de nos expérimentations où
nous avons découvert que dans le cadre de l’e-learning à l’UNILU, il fallait prévoir, pour
chaque groupe, un forum et un chat thématiques. En effet, les modes de communication
synchrone et asynchrone se sont révélés être le gage d’un apprentissage collaboratif réussi.
Ayant travaillé sur une méthodologie de transfert des contenus entre Moodle et Dokeos au
chapitre précédent, nous voulons maintenant proposer une méthodologie pour synchroniser
les outils de communications synchrones et asynchrones de Moodle et Dokeos. Pour ce
faire, nous nous focalisons dans un premier temps sur l’outil de communication asynchrone
à savoir le forum. Ce dernier a l’avantage de favoriser aussi une communication quasi
synchrone avec l’enseignant, ce qui améliore le suivi des étudiants. Le forum, au-delà d’être
un outil favorisant le tutorat et le suivi des apprenants, permet la construction d'une
véritable communauté d'apprentissage. Il est aussi un outil à multiples usages avantageux
pour un enseignement et peut servir comme :
). Pour simplifier la lecture des messages plusieurs vues peuvent être affichées selon la
complexité des échanges sur les forums et les réponses aux articles postés. Ainsi nous
distinguons :
1. La vue linéaire : qui présente simplement les articles sous forme chronologique.
2. La vue thématique : qui simplifie grandement l'affichage de l'interface en ne
proposant à la lecture qu'un seul article à la fois, selon le thème développé.
3. La vue hiérarchique : qui reprend le principe de la vue thématique, en affichant
l'intégralité des articles d'un sujet ou d’un thème, avec une indentation.
On note aussi une évaluation possible des apprenants par leur enseignant lorsque ce
dernier choisi de noter un fil de discussion, qui possède alors un score maximum à atteindre.
Un titre de colonne et un coefficient apparaissent dans le rapport de compétences. Il devient
ainsi possible d’évaluer un apprenant depuis la liste des fils de discussion d’un forum. Au
niveau technique le forum est un module constitué de plus d’une vingtaine des scripts PHP,
interagissant pour le bon fonctionnement de l’outil.
1. Le forum des nouvelles qui est placé dans la section 0 de chaque cours. Ce forum
est particulier :
- il est créé automatiquement avec chaque cours et est unique ;
- seul l'enseignant peut y écrire ;
- il est associé à un bloc latéral «dernières nouvelles» qui, comme
son nom l'indique, diffuse les derniers messages de ce forum ;
- quand il est supprimé, il n'est pas possible de le recréer par la
méthode traditionnelle (création d'une nouvelle activité forum).
2. Les forums d'apprentissage qui sont placés dans les sections spécifiques du cours
auxquelles ils se rapportent. Ils sont organisés et numérotés de la même façon
que les sections du cours dans lesquelles ils apparaissent.
WSD JDB
L C
Dokeos Service Web Moodle
SOAP SQL
Axis
MySQL MySQL
Tomcat
BD Forum_Dokeos BD Forum_Moodle
Pour rendre interopérables les forums de Moodle et Dokeos plusieurs possibilités s’offrent à
MySQL
nous. Parmi les nombreuses techniques permettant d’établir des échanges entre les
applications informatiques, citons :
MySQL
- l’échange des données entre applications ;
- la technique d’interopérabilité point à point ;
- les EAI (Enterprise Application Integration) ;
217
Notre choix portera dans la cadre de ce travail sur les techniques d’interopérabilité
point à point notamment les appels des procédures à distances dont les services Web sont
un cas particulier.
Nous adopterons donc les services Web comme moyen de faire communiquer et
d’échanger les messages des forums entre Dokeos et Moodle. Dans les sections suivantes,
nous allons brièvement aborder les notions de base des services Web. Ensuite, nous
proposerons une méthode pour synchroniser les deux forums afin de permettre un suivi à
distance effectif des étudiants de l’Université de Lubumbashi par un enseignant belge
utilisant une autre plate-forme (Moodle dans notre implémentation).
51
En architecture 3-tiers, elles correspondent à la partie fonctionnelle de l'application, celle qui implémente la
logique, et qui décrit les opérations que l'application opère sur les données en fonction des requêtes des
utilisateurs, effectuées au travers de la couche présentation.
219
d’échange des messages assuré par SOAP. La figure 7.2 schématise les principes de
fonctionnement d’un service Web.
Annuaire
UDDI
Serveur
Client
3. Quel format d'appel ?
6. Résultat
Figure 7.2 : Principe de fonctionnement d’un service Web, inspiré de (Tahé, 2009).
52
Universal Description Discovery and Integration, annuaire universel des services Web.
53
Web Services Description Language, langage de description d’un service Web.
220
Découverte UUDI
Description WSDL
Découverte UUDI
Figure 7.3 : Répartition en couches des protocoles des Web Services (Carbone, 2006).
54
Les principaux organismes ou consortium sont : W3C, OASIS (Organization for the Advancement of Structured
Information Standards), IETF (Internet Engineering Task Force)
221
7.3.3.3.2.1 XML-RPC
XML-RPC (XML Remote Procedure Call) est un protocole d’échange de messages XML
ayant pour vocation d’appeler des méthodes à distance, à travers un réseau. Le serveur
retourne une erreur ou une réponse toujours au format XML. En dépit de ces limitations,
XML-RPC permet une grande variété d’actions souvent suffisantes à l’implémentation d’un
service Web.
7.3.3.3.2.2 SOAP
SOAP (Simple Object Acces Protocol) est un protocole gérant l'échange
d'informations. Il utilise XML pour formater ses messages et HTTP pour les véhiculer. C’est
en fait la spécification du format des messages XML échangés lors des invocations de
services Web et de leurs réponses. Dans sa version 1.2, il s'étend au support d'autres
protocoles que HTTP (TCP, UDP, etc.) tout en étant capable d'intégrer des fichiers attachés
(par le biais de SOAP Attachment et DIME). A l’initiative de plusieurs acteurs, notamment de
Microsoft, le protocole SOAP a été créé en 1999 sur les bases de la spécification XML-RPC
SOAP a été ensuite appuyé et supporté par une recommandation du consortium W3C (W3C,
2002). La version courante est 1.2 et date de 2003. La spécification de SOAP 1.2 se compose
de quatre parties :
Figure 7.4 : Exemple d’une requête HTTP POST transportant un message SOAP.
HTTP/1.1 200 OK
Content-Type : application/soap+xml; charset="utf-8"
Content-Length : nnnn
<? xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns: SOAP-ENV
="http://www.w3.org/2001/12/soapenvelope">
<SOAP-ENV:Body>
<m: messageEntrantResponse xmlns:m=" ">
<m: Message type=”string”>Nous avons fini le TP
N°4</m:Message>
</m: messageEntrantResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
service Web. WSDL est l’acronyme de Web Services Description Language, c’est une
spécification qui est née des apports conjoints de Microsoft, IBM55 et leurs partenaires dans
le but de réifier la couche de description. WSDL permet d’expliciter «complètement» un
service Web à travers les types des données, les messages, les opérations, le binding (ou
incarnation), ainsi que la méthode d'invocation, dans une grammaire XML commune. WSDL
spécifie les quatre parties nécessaires à la mise en œuvre d’un service Web :
On voit dans cette énumération que la description WSDL d’un service Web
représente un contrat entre le demandeur et le fournisseur du service. Ainsi, WSDL
s’apparente au contrat IDL (Khelifi, 2004) que l’on rencontre dans CORBA56.
55
International Business Machines
56
Common Object Request Broker Architecture, est une architecture logicielle, pour le développement de
composants et d’Object Request Broker ou ORB.
224
UML est donc souvent utilisé pour spécifier un document WSDL, notamment en
permettant la modélisation des trois domaines des services Web à savoir : la sémantique des
messages (WSDL), la spécification des types (XML Schema), et la conception Orientée-Objet
traditionnelle des implémentations. La figure 7.8 propose un diagramme statique de la
structure traditionnelle WSDL.
binding
+name
input
* 0..*
part
operation
portType * output message * 0..* +name
0..*
+name +element
+name 0..* +name
+parameterOrder * +type
* 0..*
fault
- Axis1.4 qui est une implémentation java de la spécification SOAP c’est une
structure pour construire des processus SOAP comme des clients, des
serveurs, des passerelles, etc. ;
- Apache Jakarta Tomcat server 7.0 qui est un serveur d'applications exécutant
les servlets Java.
Rappelons que notre intention ici est de transférer le contenu des messages de forum
postés depuis la plate-forme Moodle vers Dokeos et vice-versa, sachant que chacune des
deux plates-formes stocke les contenus des forums dans des bases de données dédiées au
service de forum. Parmi les multiples possibilités, nous avons donc choisi d’implémenter un
service Web d'accès générique à une base de données. Un service de ce genre peut avoir de
multiples utilisations. Tout d'abord, il permet de s'affranchir du type de SGBD 58 utilisé (ici
MySQL59). Il peut également servir lorsque l'on doit effectuer un transfert de base de
données entre deux SGBD hétérogènes qui utilisent parfois des syntaxes SQL spécifiques. En
extrayant le contenu d'une base dans un format générique (XML en l’occurrence), on peut
effectuer cette traduction de n'importe quel SGBD vers n'importe quel autre et permettre
ainsi un transfert des contenus d’une de ses bases des données vers une autre.
57
Un servlets est une classe Java qui s'exécute dans un serveur Web, généralement à la suite d'une requête
HTTP.
58
Système de Gestion des Bases de Données.
59
Système de Gestion de Base de Données relationnelles, open source voir http://dev.mysql.com/
226
qui montre également le rôle de chacun des outils à utiliser. Ici le client, sachons-le, peut
être tour à tour Moodle ou Dokeos, pour une circulation bijective des échanges.
WSD JDB
L C
Service Web
SOAP SQL BD
Client
Axis
Forum
Moodle
Tomcat
MySQL
Enfin, les messages SOAP étant exprimés dans le formalisme XML, nous utiliserons le
parseur Java Xerces.
Essayons donc pour illustrer l’idée de notre démarche, de définir une classe Java,
basée sur JDBC60, une API Java pour interagir avec des bases de données relationnelles, qui
60
Java Data Base Connectivity : API Java pour les bases de données.
227
va exécuter des requêtes SQL (statiques ou dynamiques), et récupérer ensuite les résultats
sous forme de chaîne de caractère. Prenons, par exemple, le cas de la table
«mdl_forum_post» de la base de données «forum» dans la plate-forme Moodle qui a la
structure suivante décrite au tableau 7.1.
Nous souhaitons en extraire les messages postés par un utilisateur par une requête
(exemple : SELECT* FROM mdl_forum_post), ce qui aura pour résultat une chaîne de
228
while (r.next()) {
// imprime les éléments du tuple
}
}
Cette classe une fois placée dans le domaine applicatif d’Axis, son implémentation
SOAP met à disposition un outil permettant de créer une spécification WSDL à partir d'une
classe Java :
Ainsi la description de notre service Web pourra ressembler à celui de la figure 7.11
</wsdl:input>
<wsdl:output name="mainResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" n
amespace="http://127.1.1.0:8080/axis/moodleForumPost.jws" use="encoded"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="moodleForumPostService">
<wsdl:port binding="impl:moodleForumPostSoapBinding" name="moodleForumPost">
<wsdlsoap:address location="http://127.1.1.0:8080/axis/moodleForumPost.jws"/>
</wsdl:port>
</wsdl:service>
Ce contrat WSDL ainsi obtenu, une fois transmis à l'application cliente, permettra de
générer le code d'invocation à travers une classe souche interface (ou Stub) (Gibello, 2003).
61
En génie logiciel, un patron de conception (Design pattern en anglais) est une solution générique
d'implémentation répondant à un problème spécifique.
230
2. On crée un proxy SOAP (en s'appuyant sur le design pattern Proxy) sous la forme
d'un objet invocable par l'application cliente. C'est cet objet qui sera en relation
avec le service Web. Il se chargera de traduire les requêtes émises par le client en
requêtes SOAP, qui seront compréhensibles par le serveur. Cet objet proxy (ou
stub) se chargera aussi de traduire les réponses SOAP renvoyées par le serveur.
De nombreux éditeurs de logiciels fournissent les librairies (exemple NuSOAP 62)
nécessaires à la génération dynamique de proxy à partir des contrats WSDL.
Nous avons opté pour la deuxième solution, mais vu que les plates-formes Dokeos
et Moodle sont toutes les deux conçues sous PHP, pour intégrer le service Web nous avons
recouru à une implémentation en PHP de SOAP, soit NuSOAP. NuSOAP est un bon candidat
disponible gratuitement sur Internet. Cet outil est constitué de plusieurs classes permettant
la mise en place de clients et de serveurs SOAP en utilisant le langage PHP. Ceci permettra
l’accès des deux plates-formes aux services Web.
NuSOAP s’installe simplement dans un serveur Web et est d’une utilisation aisée car
il suffit de mettre sur le serveur un simple script PHP pour avoir accès à des services. Nous
prévoirons dans les scripts des pages d’accueil des deux plates-formes, un bouton tel qu’une
fois que l’on clique dessus, il démarre l’appel au service (). Ceci est faisable d’autant plus que
sous NuSOAP la partie serveur est démarrée à chaque appel de l’URL du script implémentant
la partie serveur pour SOAP.
<?php
require_once('../nusoap/nusoap.php');
$s = new soap_server;
$s->register(' moodleForumPost ',false,false," moodleForumPost ");
function moodleForumPost ($chaine){
// optionally catch an error and return a fault
if ($chaine == '') {
return new soap_fault ('Client','','La chaine est vide.');
}
$res="message envoyé:".$chaine;
return $res;
}
$s->service($HTTP_RAW_POST_DATA);
?>
62
Site officiel : http://dietrich.ganx4.com/nusoap/: site de NuSOAP (consulté en Août 2011)
231
En outre, NuSOAP permet, si l’on utilise les descripteurs de services écrits en WSDL
comme c’est notre cas, de générer un proxy pour service. Ce proxy permet d’accéder à la
méthode distante comme si elle était une méthode d’un objet local. Cela permet d’avoir un
code beaucoup plus clair et moins lourd (voir figure 7.13).
<?php
require_once('../nusoap/nusoap.php');
$soapclient= new
soapclient(' http://127.1.1.0:8080/axis/moodleForumPost.jws ');
$proxy=$soapclient->getProxy();
$res=$proxy-> moodleForumPost ($lachaine);
echo $res;
Figure 7.13 : script client : appel direct service MoodleForumPost avec le fichier WSDL
et le proxy
recherches ultérieures. Nous avons identifié une problématique qui caractérise le suivi
dynamique à l’aide des outils de communication asynchrone, en vue de permettre à un
enseignant belge de communiquer avec ses étudiants de l’Université de Lubumbashi sans
que les uns et les autres ne soient obligés de changer leur plate-forme d’apprentissage en
ligne. Actuellement, une des technologies qui s’y prête le mieux est celle des services Web,
car c’est une technologie Web qui permet de communiquer à travers le Web avec l’objectif
notamment de supporter l’interopérabilité. L’interopérabilité entre services doit permettre
la communication entre eux tout en gardant l’indépendance du rapport à un environnement
technologique donné et la cohérence de chacun d’eux (Sanlaville, et al., 2005).
Nous avons dans ce chapitre rappelé les concepts de base de la technologie des
services Web, puis nous les avons adaptés à notre problématique. Nous avons aussi proposé
un schéma de conception pour arriver à déployer les services Web entre Moodle et Dokeos
pour le cas des forums des deux plates-formes afin de permettre un transfert des contenus
des messages entre eux. L’une des difficultés est que les plates-formes elles mêmes ne sont
à ce jour pas suffisamment prêtes à implémenter les services Web. Du côté Moodle, il est
signalé sur le site officiel63 qu’à partir de la version 2.0, Moodle supportera plusieurs
protocoles des services Web, notamment SOAP, XML-RPC, REST et AMF64. Côté Dokeos,
aucune publication sur le site officiel, juste une indication65 d’un groupe de développeur
ayant réussi à implémenter un service Web (non flexible selon ses auteurs !), permettant
l’importation d’un groupe d’utilisateurs au format CSV dans la plate-forme. Cette réalité
oblige pour arriver à déployer un service Web entre Moodle et Dokeos au niveau technique,
à prévoir le développement des extensions pour chacune des plates-formes capable
d’implémenter les services Web. Ceci est possible car les deux plates-formes étant open
source, il est facile d’en étendre les fonctionnalités. Un tel travail pourrait faire l’objet d’un
financement supplémentaire.
63
www.moodle.org: site officiel de la plate forme Moodle (consulté en juillet 2011).
64
REST: Representational State Transfer, AMF: Action Message Format.
65
http://beeznest.wordpress.com (consulté en juillet 2011)
233
sciences sociales. Pour le contexte du milieu d’application, nous avons mené une enquête
pour déterminer le « profil informatique » de la ville de Lubumbashi. Cela afin de dégager les
vraies chances de la réussite d’un projet d’apprentissage en ligne. Nous avons fait un
inventaire du parc informatique de la ville pour déduire la faisabilité d’un tel projet et nous
avons eu des résultats encourageants. Nos analyses ont aussi ressorti une tendance à la
progression de l’usage des TIC surtout dans le milieu des étudiants, de la ville de
Lubumbashi. On a aussi établi une croissance du nombre d’ordinateurs dans la ville de
Lubumbashi allant presque du simple au triple en 3 ans.
Les observations, les analyses et les contextes nous ont permis de définir la
problématique principale de nos travaux dont le questionnement essentiel tourne autour de
l’apport de l’e-learning dans le contexte local des enseignements ainsi que de l’utilité de
l’interopérabilité entre plates-formes d’apprentissage en ligne et son impact sur la
coopération universitaire.
Au troisième chapitre nous avons fait un état de l’art sur les avancées accomplies en
matière d’interopérabilité par les différentes plates-formes. Cela nous a amené à faire un
tour d’horizons de toutes les normes et standards établis en la matière. Nous avons recensé
tous les acteurs (organismes) œuvrant dans le domaine, avec une mention spéciale pour le
modèle SCORM qui est celui dont la stratégie le propulse au rang de leader en matière
standardisation pour l’interopérabilité dans l’e-learning. Il s’impose comme étant un
standard de facto vu le nombre d’acteurs du secteur l’ayant déjà adopté.
Vu que depuis 2005, des tentatives d’établissement des projets e-learning ont vu jour
à l’Université de Lubumbashi, il nous a paru capital de statuer sur l’état de l’e-learning en
son sein. Nous sommes partis des expérimentations menées dans le cadre de la présente
thèse avec un échantillon d’étudiants, pour dégager les comportements émergeants d’une
telle pratique, l’apport de l’encadreur (tuteur) et l’usage des outils. Tout ceci nous a permis
d’établir un scénario narratif indiquant un cahier des charges en termes d’outils à utiliser.
Cela pour un déroulement optimal d’une session d’apprentissage en ligne sur base de nos
analyses des résultats des expérimentations. Nous avons relevé ici surtout la place
prépondérante des outils de communication synchrone et asynchrone favorisant la
235
Nous avons noté un succès grandissant de SCORM qui a notamment détrôné son
grand rival AICC qui n’a visiblement pas réalisé que le support Web remplaçait
irrémédiablement le support CD en matière d’apprentissage assisté par ordinateur. La
stratégie remarquable du département de la défense américain (DOD) avec les
colaboratoires chargés de diffuser le plus possible le modèle, est un des facteurs de la
progression de SCORM.
Au chapitre 5, nous nous attardions sur les deux plates-formes qui constituent notre
cas d’étude, à savoir Moodle et Dokeos. Nous avons commencé par une brève présentation
de chacune pour passer ensuite à une étude comparative des contenus de chaque plate-
forme. Le constat ici est que Moodle implémente son propre format de cours à exporter
uniquement entre plates-formes Moodle (pour autant qu’elles soient de même version
d’ailleurs !). Son empaquetage est intrinsèquement défini par Moodle et la documentation
sur la question est très peu disponible. Pour Dokeos, l’exportation d’un cours se fait de deux
façons : soit il s’agit des fichiers que l’on disponibilise dans un répertoire, soit il s’agit d’un
package SCORM pour autant que le cours contienne un « parcours pédagogique » prédéfini.
Bien que la conformité SCORM des packages de Dokeos soit imparfaite, cela nous a permis
de mettre SCORM au centre comme modèle d’interopérabilité entre Moodle et Dokeos.
Nous avons ensuite comparé les fonctionnalités de Moodle et Dokeos pour détecter
les outils qui sont à la fois présents dans les deux plates-formes ainsi que leurs rôles au sein
des plates-formes. Ensuite, nous nous sommes appuyés sur le modèle des trois « C », pour
déterminer quelles sont, d’un point de vue pédagogique, les tâches que ces outils
permettent d’accomplir. Et nous avons classé les outils selon un ordre hiérarchique bâti sur
le nombre de tâches qu’ils permettent d’accomplir. A ce niveau, nous avons rejoint notre
scénario narratif du chapitre 3 qui a déterminé le cahier des charges des outils nécessaires
pour une session d’apprentissage en ligne adaptée à Lubumbashi ; car nous avons su les
classer par ordre prioritaire.
pédagogiques pouvant être décrits par des métadonnées spécialisées, notamment celles du
LOM. Nous avons établi une correspondance entre les métadonnées propre à Moodle et
celles définies par le LOM partant des règles d’adaptation et réadaptation. Techniquement,
nous nous sommes appuyés sur le DOM pour implémenter la transformation des
métadonnées Moodle pour les rendre conformes au SCORM. Puis nous avons présenté
l’application informatique ainsi qu’une mise en œuvre de l’interopérabilité statique.
Le chapitre 7 part du souci du suivi à distance des étudiants par leur enseignant
belge. Nous nous focalisons pour cela sur l’outil de communication asynchrone, le forum.
Nous effectuons à ce stade une étude de faisabilité sur la meilleure implémentation d’un
moyen technique d’échange des messages entre les forums de Moodle et ceux de Dokeos.
Nous avons opté pour cela pour la solution des services Web et avons montré les moyens de
sa mise en œuvre.
Cette thèse a attiré notre attention sur l’apport que pourrait octroyer les services
Web. Ceux-ci par leur indépendance vis-à-vis des plates-formes qui les supportent et des
langages de programmation, peuvent s’avérer indispensables pour permettre des échanges
entre services des plates-formes. Nous remarquons dans la littérature que cette option,
pourtant prometteuse en matière d’interopérabilité n’est que rarement évoquée dans la
communauté des développeurs des plates-formes. Ce qui, il nous semble, est guidé par la
concurrence que se mènent les différents acteurs du secteur.
Notons aussi que l’e-learning quoique comportant plusieurs avantages avérés, n’est
pas une sorte de « panacée » pour l’enseignement en Afrique subsaharienne. En effet
certains cours ne se prêtent pas totalement à l’e-learning (par exemple les travaux de labo),
d’où l’incontournabilité du présentiel qui devra accompagner des solutions e-learning.
Et pour finir, cette thèse s'inscrit dans le cadre d’une recherche pluridisciplinaire qui
touche l’ingénierie informatique et plus particulièrement dans le domaine de l’apprentissage
en ligne ou l’e-learning. Dès lors nos travaux nous ont offert l’opportunité de nous intéresser
à plusieurs domaines allant des sciences sociales et de la pédagogie jusqu'à l’ingénierie
informatique. C’est cette pluridisciplinarité qui nous a conduits à établir le profil
informatique de la ville de Lubumbashi, à effectuer des expérimentations d’apprentissage en
240
ligne et d’en dégager les comportements émergeants ainsi que les faits saillants. Nous avons
eu recours à des sciences informatiques et plusieurs technologies nous ont servi au cours de
notre méthodologie. Notre travail en informatique concerne encore plus la communauté de
la programmation Web et du Web sémantique notre contribution représente une
application de leurs méthodes et de leurs techniques, particulièrement le traitement des
métadonnées.
241
Bibliographie
ADL, Advanced Distributed Learning. 2002. SCORM Conformance Requirements Version 1.2.
[Online] Fevrier 15, 2002. http://www.adlnet.org.
—. 2001. The SCORM Content Aggregation Model . Sharable Content Object Reference
Model(SCORM) version1.2, Octibre 1, 2001.
—. 2009. SCORM. ®. 2004 4 th. Edition Sequencing and Navigation (SN). [Online] 2009.
http://www.adlnet.org.
—. 2009. SCORM. ®. 2004 4 th. Edition Run-Time Environment (RTE). [Online] 2009.
http://www.adlnet.org.
AICC. 2001. CMI Guidelines for Interoperability. Technical Report CMI001, Revision 3.5,
Aviation Industry CBT Committee, Avril 2, 2001.
AIF-INTIF. 2002. Rapport de l'atelier " Logiciels libres: enjeux stratégiques pour l'Afrique".
Conférence régionale Afrique, Sommet mondial sur la société de l'information, Bamako,
2002.
Baumgartner, Peter. 2004. Didaktik und Reusable Learning Objects (RLO's). In: Campus 2004
- Kommen die digitalen Medien an den Hochschulen in die Jahre? , 2004.
Bernd, Amann. 2001. Données Semistructurées et XML. Conservatoire National des Arts et
Métiers. Paris : s.n., 2001.
Bersini, H. 2009. La programmation orientée objet: Cours et exercices en UML2 avec Java 5,
C#2, C++, Python, PHP5 et LINQ. Paris : Eyrolles, 2009.
Bourda, Yolaine and Hélier, Marc. 2003. Métadonnées et XML.Applications aux “Objets
pédagogiques”. Supélec, Plateau de Moulon, F-91192 Gif-sur-Yvette cedex France, 2003.
Burgos, D, et al. 2005. IMS Learning Design:la flexibilité pédagogique au service des besoins
de l'e-formation. Publications and Preprints Keur der Wetenschap., Octobre 27, 2005.
Carbone, Cedric. 2006. Cours de Web dynamique. [Online] 2006. IUT Evry, Licence
Professionnelle IRS2I. http://www.iut.univ-evry.fr.
Cardinaels, K, Meire, M and Duval, E. 2005. Automating Metadata Generation: the Simple
Indexing Interface. 14th International Conference on World Wide Web, 2005.
243
Chikh, A. 2008. Modélisation avec IMS-LD des scénarios d'apprentissage. 2008, Vol.
CEMAFORAD4.
Crepuq. 2002. Les normes et standards de la formation en ligne - Etat des lieux et enjeux.
[Online] Septembre 2002. Conférence des Recteurs et des Principaux des Universités du
Québec. http://profetic.org.
CSC. 2003. Les learning management systems (LMS) - Solutions logicielles de gestion de la
formation- étude annuelle. [Online] 2003. Technical report. http://csc.com.
David, Bertrand. 2001. IHM pour les collecticiels. Hermès, Les télé-applications, 2001, Vol.
13.
DCMI, Dublin Core Metadata Initiative. 1995. The Dublin Core Metadata Initiative Limited.
[Online] 1995. Copyright © 1995-2011 DCMI. http://dublincore.org.
De Lièvre, Bruno and Depover, Christian. 2001. Apports d'une modalité de tutorat proactive
ou réactive sur l'utilisation des aides dans un hypermédia de formation à distance. Actes du
Ve Colloque Hypermédias & Apprentissages, Mai 9-11, 2001.
De Lièvre, Bruno, Depover, Christian and Acierno, Melanie. 2006. Analyse du soutien fourni
ax apprenants par les tuteurs à l'aide d'outils synchrones et asynchrones. Colloques JOCAIR
06, Première journée communication et Apprentissage instrumentés en réseaux , Juillet
2006.
De Lièvre, Bruno, Depover, Christian and Dillenbourg, P. 2006. The relationship between
tutoring mode and learners' use of help tools in distance education. Instructional Science,
2006, Vol. 34.
Degoulet, P, Fieschi, M and Attali, C. 1997. Les enjeux de l'interopérabilité sémantique dans
les systèmes d'information de santé. Informatique et Santé, 1997, Vol. 9.
Depover, Christian and De Lièvre, Bruno. 2005. Analyse des usages des outils de
communication médiatisés par ordinateur dans le acdre de deux scénarios de formation à
distance. Colloque Symfonic, 2005.
Dorel, Gorga. 2003. Exposé 2: Métadonnées et XML – une initiation. TECFA, 2002 – 2003 Taf
14, Juin 2003.
Duval, E, et al. 2002. Metadata principles and practicalities. D-Lib Magazine, 2002.
Ecoutin, Eric. 2001. Fiche pratique no.1 : les utilisations d'une plate-forme. [Online] Mars
2001. Technical report. http://capfoad.chez.com.
Ferber, J and Gutknecht, O. 1998. A meta-model for the anlysis and design of organisations
in multi-agents sytems. Third International Conference on Multi-Agent Systems(ICMAS'98)
Proceedings, 1998, pp. 128-135. IEEE Computer Society.
Ferber, J. 1995. Les systèmes multi-agents : vers une intelligence collective. s.l. :
Intereditions., 1995.
Friesen, N. 2004. Three Objections to Learning Objects and E-learning Standards. [ed.] R
McGreal. Online Education Using Learning Objects. London : Routledge, 2004. pp. 59-70.
Fyama, Blaise. 2006. Conception d'une plate-forme open source d'e-learning en R.D Congo:
cas de l'université de Lubumbashi. Mémoire de DEA, Université Libre de Bruxelles,
Septembre 2006.
George, W, Gagnon, Jr and Michel, C. 2005. Constructivist Learning design- Key Questions
for teaching to Standards. s.l. : Corwin Press, 2005.
Glikman, V. 1999. Formation à distance: au nom de l'usager. DistanceS. 3.2, 1999, pp. 101-
117.
Gorga, Dorel. 2003. Exposé 2: Métadonnées et XML – une initiation. TECFA, 2002 – 2003 Staf
14., Juin 2003.
Greenberg, J. 2002. Metadata and the World Wide Web. Encyclopedia of Library and
Information Science, 2002.
IEEE. 2001. IEEE Learning Object Metadata. [Online] Septembre 26, 2001.
http://ltsc.ieee.org.
—. 2002. Draft Standard for Learning Object Metadata. [Online] Juillet 15, 2002. LTSC.
http://ltsc.ieee.org.
IMS, Global Learning Consortium. 2001. IMS Content Packaging XML Binding Version 1.1.2.
[Online] Août 2001. Final Specification. http://www.imsglobal.org.
247
—. 2004. IMS Vocabulary Definition Exchange. Best Practice and Implementation Guide,
Fevrier 2004.
—. 2007. IMS Content Packaging Specification Primer, version 1.2. [Online] Mars 2007.
http://www.imsglobal.org.
—. 2003. IMS Learning Design, Information model, version1.0. [Online] Janvier 20, 2003.
Final Specification. http://www.imsgobal.org.
—. 2002. IMS Question & Test Interoperability. [Online] 2002. ASI Best Practice &
Implementation Guide, IMS Global Learning Consortium, Inc. http://www.imsglobal.org.
Johnson, D and Johnson, R. 1998. Cooperative learning and social interdependence theory.
Cooperative learning, 1998.
Khelifi, Karim. 2004. Cours de Systèmes informatiques répartis. Université de Laval, 2004.
Koper, R. 2003. [ed.] A. Littlejohn. Combining re-usable learning, resources and services to
pedagogical purposeful units of learning. Reusing Online Resources: A sustainable
approachto eLearning, 2003, pp. 46-59.
Koper, R. 2001. Modelling units of study from a pedagogical perspective. The pedagogical
meta-model behind EML. [Online] 2001. http://eml.ou.nl.
Leclercq, Eric, Savonnet, Marinette and Terrasse, Marie-Noëlle. 2003. Adaptation d'une
plateforme d'e-learning à un modèle pédagogique. Katholieke Universiteit Leuven, 2003.
Conference, Proceedings of 3rd Annual Ariadne.
248
Lejeune. 2006. IMS Learning Design. Etude d’un langage de modélisation pédagogique.
Formamente, 2006, pp. 29-58.
Lejeune, A. 2004. IMS Learning Design. Distances et Savoirs, 2004, Vol. 2, pp. 409-450.
Leroux, P. 2002. Machines partenaires des enseignants et des apprenants – Etude dans le
cadre desenvironnements supports de projets pédagogiques. Université du Maine, 2002.
Habilitation à Diriger les Recherches de l'Université du Maine.
Mason, R. 1992. Application of electronic communication for distance education in the third
world. BANCMC; University of Calgary, 1992. Bangkok Project.
Nelson, Ted. 1965. Complex information processing: a file structure for the complex, the
changing and the indeterminate. ACM '65 Proceedings of the 1965 20th national conference,
1965.
Newcomer, Eric. 2002. Understanding Web Services: XML, WSDL, SOAP, and UDDI. s.l. :
Addison-Wesley Professional, 2002. 0201750813.
Nilsson, M, et al. Expressing Dublin Core metadata using the Resource Description
Framework (RDF). [Online] http://dublincore.org.
OMG. 2003. Unified Modeling Language v1.5 Specification. [Online] Mars 2003. Report
formal/03-03-01. http://www.omg.org.
Paquette, G. 1998. L'ingénierie des interactions dans les systèmes d'apprentissage. Revue
des sciences de l'éducation, Septembre 1998.
Pecquet, E. 2007. Développer des cours en ligne avec Dokeos 1.8. [Online] Avril 2007.
http://www.dokeos.org.
Pernin, Jean-Philipe, Prieur, Michèle and Sanchez, Eric. 2007. Stratégies d'élaboration, de
réutilisation et d'indexation de scénarios. Colloque SCENARIOS, 2007.
250
Pernin, J-P and Lejeune, A. 2004. Modèles pour la réutilisation des scénarios
d'apprentissage. Actes du colloque TICE méditerrannée, 2004.
—. 2004. Dispositifs d’apprentissage instrumentés par les technologies :vers une ingénierie
centrée sur les scénarios. TICE 2004, Octobre 2004, pp. 407-414.
Polsani, Pithamber R. 2003. Use and Abuse of Reusable Learning Objects. Journal of Digital
Information, 2003, Vol. 3, 4. Learning Technology Center, University of Arizona, USA.
Provost, Will. 2003. UML for Web services. [Online] Mai 08, 2003. http://XML.com.
Psyché, V. 2007. Rôle des ontologies en ingénierie des EIAH: Cas d'un système d'assistance
au design pédagogique. Thèse de doctorat, Université du Québec, Juillet 2007.
Schneider, D. 2006. La norme Learning design, Technologie Internet et Education. TICE, 2006.
251
Smith-Yoshimura, Karen and Cellentani, Diane. 2007. RLG Programs Descriptive Metadata
Practices. [Online] 2007. Report produced by OCLC Programs and Research. http://
www.oclc.org.
Steinmetz, R, Rensing, C and Lehmann, L. 2007. [ed.] C. Montgomerie & J. Seale. Lifecycle
Information Management and Utilization in an Authoring by Aggregation Environment.
Proceedings of World Conference on Educational Multimedia, Hypermedia and
Telecommunications 2007, 2007, pp. 3142-3149.
Strijker, A. 2004. Reuse of Learning Objects in Context: Technical and Human Aspects.
Faculty of Behavioural Sciences, University of Twente, Enschede, Netherlands., 2004. PhD
dissertation.
Tahé, Serge. 2009. Construire un service web Java EE avec l'IDE Netbeans 6.5 et le serveur
Java EE Glassfish. [Online] Février 2009. http://developpez.com.
Tarpin-Bernard, Franck. 1997. Travail coopératif synchrone assisté par ordinateur : Approche
AMFC. Thèse de doctorat, Doctorat de l'Ecole Centrale de Lyon, spécialité Ingénierie
Informatique, 1997.
Vantroys, Thomas. 2003. Du langage métier au langage technique, une plate-forme flexible
d'exécution des scénarios pédagogiques. Université des Sciences et Technologies de Lille,
Décembre 16, 2003. Thèse de doctorat.
—. 1999. Langage XML Path (XPath) version1.0. [Online] 1999. Recommandation du W3C du
16 novembre 1999. xmlfr.org/W3C/TR/xpath.
—. 2002. SOAP Version 1.2, Préliminaires. [Online] 2002. Nilo Mitra. http://www.w3.org.
W3C, World Wide Web Consortium. 2004. Web Services Architecture. [Online] Février 2004.
W3C Working Group Note 11. http://www.w3.org/TR/ws-arch/.
Wiley, David A. 2000. Learning Object design and sequecing theory. Department of
Instructional Psychology and Technology, 2000. Dissertation.
majorité, il y a usage des onduleurs et tout l’attirail des périphériques de bureautique y est
présent notamment des imprimantes, scanners, photocopieuses, graveurs, etc. Notons que
la grande majorité n’utilise que des antivirus gratuits pour la sécurité, quatre fournisseurs
d’accès Internet occupent cet espace avec plus de 50% du marché pour Microcom. Les
heures d’ouverture sont en moyenne de 12 heures par jour. Les bureautiques quant à elles
sont au nombre de cinq avec aussi cinq ordinateurs en moyenne pour chaque bureautique,
les caractéristiques techniques restant pour la plupart similaires à celles des cybercafés.
Leurs heures d’ouvertures sont en moyenne légèrement inférieures pour atteindre 12h.
A.5. Révolution-Kimbangu-Lumumba-Kamanyola.
Cette zone est située entre le site Quartier-Golf et le site Kimbangu-L.D Kabila.
Comme son nom l’indique, elle est délimitée par quatre grandes artères de la ville de
Lubumbashi (Avenue de la Révolution, Kimbangu, Lumumba, Kamanyola). Avec ses près de
49 km2, elle compte toutes les catégories des entités informatiques à savoir les cybercafés,
les bureautiques et les centres de formation. Nous y dénombrons six cybercafés ce qui fait
un cyber pour huit km2 avec en moyenne six ordinateurs, le système d’exploitation y est
toujours Windows. Quatre cybercafés sur six utilisent des onduleurs, mais tous proposent les
dispositifs et périphériques de bureautique (imprimantes, graveurs, photocopieuses, scanner
etc.). Tous les cybers sont ici dotés d’antivirus sous licence légale (Kaspersky et Norton) à
l’exception d’un seul qui aurait un crack d’AVIRA version professionnelle. Deux fournisseurs
d’accès se partagent cet espace (Comax et Vodanet), et les heures d’ouvertures sont
évaluées à 10h30 par jour. Les bureautiques sont au nombre de cinq, avec cinq ordinateurs
en moyenne, leurs caractéristiques demeurent similaires à celles des cybercafés. On notera
ici que toutes sont protégées par des antivirus sous licence légale et les heures d’ouvertures
sont en moyennes de 12 heures par jour. Dans ce site comme nous l’avons dit plus haut,
nous rencontrons à nouveau des centres de formation aux caractéristiques techniques
similaires à celles des deux entités précédentes, mais elles possèdent exceptionnellement
une densité élevée en nombre d’ordinateurs, soit 39 ordinateurs par centre. Ce qui est
remarquable car c’est un chiffre qui est environ quatre fois supérieur à la moyenne des
autres sites toutes entités confondues. Leurs heures d’ouvertures sont de 10 heures par
256
jour. Notons que pour ce site, le personnel d’encadrement est en grande partie qualifié c’est
à dire de formation technique d’informaticien contrairement au reste des sites où le
personnel est souvent formés sur le tas. Les exceptions notées pour ce site sont dues au fait
que tous les centres de formation appartiennent à des institutions universitaires, qui sont
relativement dotées des moyens de se fournir en matériel et personnel d’appoint.
Contrairement aux entités des autres sites qui sont majoritairement des initiatives privées
de particuliers moins nantis.
Le personnel de formation est aussi relativement bien formé et expérimenté, et ces centres
fonctionnent en moyenne 11h 30 par jour.
OUTILS DE PARTAGE
Plate-forme Moodle Dokeos
Dépôts de documents Oui Oui
Mise en ligne de cours Oui, structuration du contenu Oui
par rubriques :
- banque d’exercices ;
- intégration multimédia aux
questions ;
- audio/vidéo ;
- flash ;
- import/export d’exercices
d’autres systèmes.
Salle de cours (partage Oui Oui
tous les documents avec
tous les apprenants)
Salle de TP (partage des Il existe trois modalités de Oui, les membres du
documents limités à des fonctionnement de groupes : groupe ne se voient
groupes d'apprenants) aucun groupe, groupes séparés, qu’entre eux.
groupes visibles.
1. Dans le mode séparé, chaque
258
ASPECTS PEDAGOGIQUES
Plate-forme Moodle Dokeos
Nombre d’utilisateurs Illimité. Illimité.
maximum de la
plateforme
Profils et rôles Les administrateurs peuvent tout Le formateur gère les
faire sur le site, dans tous les outils pour les rendre
cours. Les créateurs des cours visibles et exploitables par
peuvent créer de nouveaux cours les apprenants, qui
et y enseigner. suivent les cours.
Les enseignants peuvent tout
faire dans un cours, y compris L'administrateur modifie
ajouter et modifier les activités et les droits et les profils des
donner des notes aux étudiants. utilisateurs si nécessaire.
Les enseignants non éditeurs
peuvent enseigner dans leur
cours et donner des notes aux
étudiants, mais ne peuvent ni
ajouter, ni modifier des activités.
Les étudiants ont en général
moins de privilèges dans un
cours. Les visiteurs anonymes ont
259
ASPECTS TECHNIQUES
Plate-forme Moodle Dokeos
Format propriétaire Oui Non
Personnalisation de la Oui Oui
plateforme
Ergonomie de la Menu à droite et cours L’administrateur peut manipuler
plateforme au centre, navigation l’ergonomie de toute la plate forme, tandis
facile car l'arborescence que l’enseignant ne peut configurer que
de tous les cours l’ergonomie de son propre cours.
apparait sur la page
principale.
Maintenance et mise à Oui, hebdomadaire. Oui
jour
Environnement Fonctionne avec de Fonctionne avec de nombreux systèmes
informatique nombreux systèmes d'exploitation.
d'exploitation.
Langues Multilingue Multilingue (supporte 34 langues à ce jour).
Sécurité Oui, identifiant + mot de Oui, identifiant + mot de passe.
passe.
260
<module>
<chapitre> Le modèle conceptuel</chapitre>
<auteur> Blaise Fyama</auteur>
<apprenant statut="stagiaire" />
</module>
Un élément peut être aussi vide c'est-à-dire se retrouver sans aucun enfant ni
descendant. Nous en donnons un exemple à la figure C.2.
Caractère Entité
& & ;
< <
> >
" "
' &aquot;
La DTD, issue du monde SGML, a été le modèle le plus utilisé au départ. Sa syntaxe
est relativement simple et ramassée conformément à l’esprit XML, mais sa puissance reste
limitée. Le schéma XML, de syntaxe plus complexe, présente de nombreux avantages :
67
Logiciel specialisé pour parcourir, lire et analyser un document XML.
263
C.1.4 XPath
XPath est un premier langage de requête qui permet de désigner des nœuds de
l’arbre en fonction de leur position, du nom et du contenu des éléments, des attributs et des
valeurs d’attribut. C’est un module de base utilisé par tous les autres pour retrouver des
éléments à travers un arbre XML. Il implémente notamment des axes (ou chemins) de
recherche que nous présentons sommairement dans le tableau C.2.
68
Tiré de http://www.w3schools.com: site officiel des tutoriels des standards et spécifications du W3C
(consulté en mai 2011).
265
<xsl :template>. Cet élément est utilisé pour construire les modèles (templates).
<xsl :value-of>. Cet élément peut être utilisé pour extraire la valeur d’un élément
XML et l’ajouter dans le flux de sortie de la transformation.
<xsl :for-each>. Cet élément peut être utilisé pour sélectionner chaque élément
d’un ensemble spécifique des nœuds.
<xsl:sort>. Cet élément une fois ajouté dans <xsl :for-each> du fichier XSL
permet de trier les éléments à la production.
<xsl:if>. Cet élément permet de poser un choix conditionnel sur un fichier XML
lorsqu’on l’intègre dans un fichier XSL destiné à une production.
<xsl :choose>. Cet élément est utilisé en conjonction avec les éléments
<xsl :when> et <xsl :otherwise>. Pour exprimer un test conditionnel à choix
multiple.
Le protocole HTTP fait recours à un certain panel des méthodes pour fonctionner et
nous citerons à titre indicatif les méthodes suivantes:
- la méthode GET, elle est utilisée pour obtenir une ressource identifiée par
son URI (Uniform Resource Identifier) ;
- la méthode POST, elle est utilisée pour envoyer des données au serveur et
déclencher un traitement. Un corps de message est joint à la requête. Il
contient les données nécessaires au traitement ;
- la méthode OPTIONS, elle permet de connaître les options de
communication utilisables pour obtenir une ressource.
D.1.3.1 XML-RPC
XML-RPC (XML Remote Procedure Call) est un protocole d’échange de messages XML
ayant pour vocation d’appeler des méthodes à distance, à travers un réseau. Il a été créé en
1998, c’est un protocole simple qui fonctionne par appel de procédures paramétrées au
formalisme XML. Le serveur retourne une erreur ou une réponse toujours au format XML. Le
typage des paramètres est limité. Les structures et les tableaux sont les types les plus
complexes que propose XML-RPC. En dépit de ces limitations, XML-RPC permet une grande
variété d’actions souvent suffisantes à l’implémentation d’un service Web. Notons tout de
268
même qu’à ce jour cette technologie quoique plausible est de moins en moins utilisée et ne
connais pas une grande diffusion.
D.1.3.2 SOAP
SOAP (Simple Object Acces Protocol) c’est un protocole gérant l'échange
d'informations. Il utilise XML pour formater ses messages et HTTP pour les véhiculer.
Enveloppe
Il est aussi par ailleurs possible de représenter sous forme d’un diagramme UML, la
structure d’une enveloppe SOAP.
Envelope
1
0..*
Header Body
0..1
1..*
Faultcode Faultstring
Notons que le corps (Body) de l’enveloppe SOAP est un ensemble d’éléments XML. Il
n’existe pratiquement aucune restriction à son contenu. Les formats des données quant à
eux devront respecter le modèle d’encodage. Les règles de typage des données s’appuient
sur les spécifications XML Schema et utilisent un grand nombre de types de données. Dans
une optique exclusivement d’appel à procédure à distance des messages RPC (Remote
Procedure Call), le corps de l’enveloppe ne contient typiquement que deux types
d’informations :
Sans entrer dans le vif du sujet précisons ici les modèles d’utilisation de SOAP :
270
En outre, l'appel de la méthode doit être décrit dans le corps du message selon la
convention de définition d'une structure (struct). L'invocation de la méthode distante
comportera un accesseur pour chaque paramètre. Cette structure doit avoir le même nom
que la méthode invoquée.
271
<definitions name="forumMoodlePost"
targetnamespace=http://localhost/moodle/forumMoodlePost.wsdl
xmlns=http://schemas.xmlsoap.org/wsdl/ >
<types>
<schema targetNamespace="rechercheMessage-xsd"
xmlns=http://www.w3c.org/2001/XMLSchema>
<complexeType name="Dokeos_forum_posts">
<all>
<element name="userid" type="xsd:int"/>
<element name="title" type="xsd:string"/>
<element name="content" type="xsd:string"/>
</all>
</complexeType>
</schema>
</types>
Figure D.4 : exemple d’un message partant d’une structure WSDL "Dokeos_forum_posts".
272
<message name="rechercheMessage">
<part name="userid" type="xsd:int"/>
</message>
<portType name="rechercheMessage_PortType">
<operation name="trouveMessage">
<input message="tns:rechercheMessage"/>
<output message="tns:rechercheMessageReponse"/>
</operation>
</portType>
Figure D.6 : Code de définition d’un portType pour rechercher un message posté dans un
forum.
associé à plusieurs éléments <binding>, et c’est par son attribut type que ce dernier
permet de définir le <portType> associé.
<binding name="rechercheMessage_Binding"
type=="rechercheMessage_PortType">
<soap:binding style="rpc"
transport=http://schema.xmlsoap.org/soap/http/>
<operation name="trouveMessage">
<soap:operation soapAction="trouveMessage"/>
<input>
<soap:body
encodingStyle="http://schema.xmlsoap.org/soap/encoding/>
</input>
<output>
<soap:body
encodingStyle="http://schema.xmlsoap.org/soap/encoding/>
</output>
</operation>
</binding>
Figure D.7 : Illustration d’un moyen d’associer l’appel du service d’un message du forum au
protocole SOAP.
UDDI est donc un annuaire des services Web rendus disponibles par quelques organisations
et entreprises. Il se révèle lui-même comme étant un service Web et se veut d’une
dimension universelle, sa version actuelle est UDDI 3.x depuis 2004. Cependant nous n’en
avons pas eu besoin pour notre proposition d’implémentation.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
/**
*
* @author Blaise FYAMA
*/
public class moodleForumPost {
public static void main(String[] arg){
Connection conn = null;
Statement st = null;
Statement stmt = null;
ResultSet r = null;
try {
conn =
DriverManager.getConnection("jdbc:mysql:localhost/phpmyadmin/moodle"
,"root"," ");
st = conn.createStatement();
r = st.executeQuery("SELECT discussion, parent, userid, created,
modified, mailed, subject, message, format, attachment, totalscore,
mailnow FROM mdl_forum_posts");
while (r.next()) {
// imprime les éléments du tuple
int ladiscussion = r.getInt("discussion");
int leparent = r.getInt("parent");
int luserid = r.getInt("userid");
int cree = r.getInt("created");
int modification = r.getInt("modified");
int envoye = r.getInt("mailed");
String lesujet = r.getString("subject");
String lemessage = r.getString("message");
int leformat = r.getInt("format");
String piecejointe = r.getString("attachment");
int lescore = r.getInt("totalscore");
int ecriremaintenant = r.getInt("mailnow");
}
catch (SQLException ex){
// handle any errors
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}
}
}
<wsdl:definitions xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="http://127.1.1.0:8080/axis/moodleForumPost.jws"
xmlns:intf="http://127.1.1.0:8080/axis/moodleForumPost.jws"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://127.1.1.0:8080/axis/moodleForumPost.jws">
<!--
WSDL created by Apache Axis version: 1.4 Built on Apr 22, 2006
(06:55:48 PDT)
-->
<wsdl:types>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://127.1.1.0:8080/axis/moodleForumPost.jws">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="ArrayOf_xsd_string">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/>
</restriction>
</complexContent>
</complexType>
</schema>
</wsdl:types>
<wsdl:message name="mainRequest">
<wsdl:part name="arg" type="impl:ArrayOf_xsd_string"/>
</wsdl:message>
<wsdl:message name="mainResponse"></wsdl:message>
276
<wsdl:portType name="moodleForumPost">
<wsdl:operation name="main" parameterOrder="arg">
<wsdl:input message="impl:mainRequest" name="mainRequest"/>
<wsdl:output message="impl:mainResponse" name="mainResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="moodleForumPostSoapBinding"
type="impl:moodleForumPost">
<wsdlsoap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="main">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="mainRequest">
<wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://DefaultNamespace" use="encoded"/>
</wsdl:input>
<wsdl:output name="mainResponse">
<wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://127.1.1.0:8080/axis/moodleForumPost.jws"
use="encoded"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="moodleForumPostService">
<wsdl:port binding="impl:moodleForumPostSoapBinding"
name="moodleForumPost">
<wsdlsoap:address
location="http://127.1.1.0:8080/axis/moodleForumPost.jws"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>