Documente Academic
Documente Profesional
Documente Cultură
ATMANI Hocine
SEFSAFI Soumia
2008/2009
Ministère de l’enseignement supérieur et de la recherche
scientifique
Ecole nationale Supérieure d’Informatique (ESI)
Oued-Smar, Alger
Thème
Découverte et sélection des web services dans le
cadre du e-Learning selon le profil utilisateur
Promotion : 2008/2009
Ecole nationale Supérieure d’Informatique (ESI)
ATMANI Hocine
SEFSAFI Soumia
Ecole national Supérieure d’Informatique (ESI)
JUIN 2009
A mes très chers parents qui sans leur aide ce travail n’aura pas vu le jour :
Mon cher père qui a voulu me voir réussir et à qui je dois beaucoup,
Ma chère maman qui a toujours su être à mes cotés, maman que dieu te
protège,
A mon frère Sidali qui m’a soutenu et aidé durant mes années d’études,
A mon amie et binôme Soumia qui par son savoir faire et son sens
de l’humour a facilité la naissance de ce travail,
ainsi que sa famille,
HOCINE
III
Dédicaces
A mes très chers parents qui m’ont couvert d’amour, de soutient qu’ils trouvent
dans ce mémoire le fruit de leur travail :
Mon papa que je ne remercierai jamais assez pour tout ce qu’il a fait pour
moi, que dieu le garde à jamais,
A mes chers grand- parents que dieu les protège, ainsi que mes oncles et tantes,
SOUMIA
IV
Remerciements
Nous aimerons exprimer notre gratitude aux personnes qui nous ont fait
l'honneur de participer au jury de ce mémoire.
V
Résumé
Actuellement, le nombre de plateformes e-Learning à base de Web services est de plus
en plus croissant. Par conséquent, leur découverte devient un défi très important. Pour rendre
le mécanisme de découverte plus efficace, la technologie des Web services sémantiques a été
proposée par exemple l’utilisation des ontologies telle que DAML-S et afin de soutenir la
description des critères ergonomiques et technologiques d’une plateforme e-Learning, une
extension a été rajoutée à DAML-S dans un travail effectué par Mlle Boudali dans le cadre
d’un mémoire de magistère à l’INI.
Mots-clés
E-Learning, Web services, Web services sémantique, WSDL, DAML-S, Ontologie.
VI
Abstract
Currently, the number of e-learning platforms based on Web services is increasingly
growing. Consequently, their discovery becomes a very important challenge. To make the
discovery mechanism more effective, the technology of semantic Web services was proposed
for example the use of the ontology DAML-S and in order to support the description of the
ergonomic and technological criteria of the platform, an extension has been added to DAML-
S in a work by Miss BOUDALI under a report of magister.
Our project is a continuation of this work and consists to design and construct a prototype for
the publication and the discovery of Web services in e-Learning and their adaptation
according to user's profile using ontology. Indeed, considering the diversity of the users and
the conditions in which they reach the Web services, other parameters must be considered
during the discovery, such as the type of the device used, the preferences of the user, etc. All
these parameters form the user profile.
Keywords
E-Learning, Web services, Web services semantics, WSDL, DAML-S, Ontology.
VII
Sommaire
Introduction générale .............................................................................................................. 1
Première partie
Etat de l'art
Chapitre I : E-learning
1. Introduction .......................................................................................................................... 3
7. Conclusion ........................................................................................................................... 15
VIII
Chapitre II : Les Web services
Introduction ............................................................................................................................ 16
I. Les Web services ................................................................................................................. 17
1. Définition d’un Service Web ............................................................................................. 17
2. Architecture des Web services............................................................................................... 17
3. Le XML et les trois standards SOAP, WSDL et UDDI .......................................................... 20
3.1. XML.............................................................................................................................. 20
3.2. SOAP (Simple Object Access Protocol) .................................................................... 21
3.3. Description WSDL (Web Services Description Language) ....................................... 22
3.4. Référentiel UDDI (Universal Description, Discovery and Integration) ................. 25
4. Applications des services Web .......................................................................................... 29
4.1. Application e-Learning ............................................................................................... 29
5. Conclusion ........................................................................................................................... 31
II. Le Web sémantique ........................................................................................................... 32
1. Définition ............................................................................................................................. 32
2. Langages pour le Web sémantique ................................................................................... 33
2.1. RDF (Resource Description Framework) ................................................................... 34
2.2. OWL (Web Ontology Language) ................................................................................ 35
3. Les ontologies ...................................................................................................................... 37
3.1. Définition ...................................................................................................................... 37
3.2. Les composants de l’ontologie .................................................................................... 37
4. Conclusion ........................................................................................................................... 39
III. Les services Web sémantiques ........................................................................................ 40
1. Présentation des services Web sémantique ...................................................................... 40
2. Objectifs des services Web sémantique ............................................................................ 41
2.1. La découverte automatique des services Web .......................................................... 41
2.2. Invocation automatique de services Web .................................................................. 41
2.3. Composition automatique de services Web .............................................................. 41
2.4. Surveillance automatique de l’exécution de services Web ...................................... 42
5. Conclusion ........................................................................................................................... 47
Conclusion ............................................................................................................................... 48
IX
Chapitre III : La découverte des Web services
1. Introduction ........................................................................................................................ 49
5. Conclusion ........................................................................................................................... 64
Deuxième partie
Conception et mise en œuvre
Chapitre IV : Conception du système
1. Introduction ........................................................................................................................ 65
2. Objectifs du système........................................................................................................... 65
X
7. Algorithme de découverte des Web services .................................................................... 78
9. Conclusion ........................................................................................................................... 83
7. Conclusion ........................................................................................................................... 97
Annexes
Annexe A : L’ontologie Qualité d’apprentissage
Annexe B : L’ontologie Profil Utilisateur
Annexe C : Le modèle MVC
XI
Liste des tableaux
Table 1 : Règles de correspondance entre DAML-S et WSDL. ............................................. 46
Table 2 : Architecture de mesure pour US. ............................................................................. 61
Table 3 : Comparaison des travaux de découverte .................................................................. 63
XII
Figure 38 : Interface de résultat de recherche. ........................................................................ 96
XII
Introduction générale
Introduction générale
Introduction générale
L’introduction des nouvelles Technologies de l’Information et de la Communication
"TIC" dans la formation a fait apparaitre un nouveau mode d’apprentissage appelé le e-
Learning. Il s’agit d’une évolution rapide des technologies pour l’apprentissage, rendue
possible par le développement planétaire de l’Internet. Ce mode d’apprentissage est basé sur
l’accès des formations en ligne, interactives et parfois personnalisées, diffusées par
l’intermédiaire d’un réseau -Internet ou Intranet- ou d’un autre média électronique. Cet accès
permet de développer les compétences des apprenants, tout en rendant le processus
d’apprentissage indépendant du temps et du lieu. Une plateforme E-Learning peut être
considérée comme un ensemble de Web services, qui constituent une infrastructure
technologique distribuée faite pour assembler des systèmes hétérogènes en un seul et même
modèle logique à travers un réseau et qui coopèrent entre eux pour fournir certaines
fonctionnalités aux acteurs de la plateforme.
En quelques mois, les Web Services sont devenus le nouveau point de convergence
technologique de l'ensemble des acteurs du marché de l'informatique, grâce à la disponibilité
immédiate d’outils et de standards permettant la découverte et l’invocation automatisées des
fonctions métiers via un échange de messages informatisés (SOAP, UDDI, WSDL).
Cependant ces mêmes standards, largement utilisés actuellement, ne permettent de décrire les
fonctionnalités des Web Services que de manière syntaxique ce qui rend leur découverte
moins efficace. La nouvelle génération du Web dite Web services sémantiques a pour
ambition de lever cette difficulté. Les ressources du Web seront plus aisément accessibles
aussi bien par l’homme que par la machine, grâce à la représentation sémantique de leurs
contenus. Les services Web sémantiques sont des services Web dotés de descriptions
sémantiques et cela est réalisé grâce à plusieurs langages et formalismes, entre autres
l’ontologie DAML-S. DAML-S offre, en plus de la description syntaxique, des informations
sémantiques sur le fonctionnement du service. Ces informations peuvent être utilisées pour
améliorer la qualité de la découverte.
Appliqué au domaine du e-Learning, DAML-S ne décrit pas les critères ergonomiques
et technologiques des services Web et pour bien décrire ces critères une extension a été
ajoutée à DAML-S dans le cadre d’un mémoire de Magister, cette extension consiste en une
ontologie de qualité d’apprentissage (QA) et notre projet s’inscrit dans la continuité de ce
travail.
1
Introduction générale
Vu la diversité des utilisateurs et des conditions dans lesquelles ils accèdent aux
services Web, d’autres paramètres doivent être considérés lors de la découverte, tel que le
type du dispositif utilisé, les préférences de l’utilisateur, etc. Tous ces paramètres forment le
profil de l’utilisateur pour ce faire nous allons utiliser une ontologie profil utilisateur.
Organisation du document
Ce document est composé de deux parties : la partie état de l’art et la partie conception et
mise en œuvre du système.
• La première partie, propose un état de l’art concernant les notions du l’e-Learning et
des Web services. Cette partie comprend trois chapitres :
Le premier chapitre traite le domaine du e-Learning, les plateformes et les différents
types d’acteurs. Ainsi que la notion du profil utilisateur.
Le second chapitre porte sur la notion des Web services : il présente l’architecture et
les différents standards ainsi que l’application des Web services dans le domaine du e-
Learning. Il présente aussi les différents langages du Web sémantique, les services
Web sémantique et précise l’importance des ontologies.
Le troisième chapitre se focalise sur les différentes techniques de découverte des Web
services ainsi que quelques prototypes de découverte.
• La deuxième partie, décrit la conception et l'implémentation de notre application
"EAsyLearn". Elle se compose de deux chapitres :
2
Partie I
Etat de l’Art
Chapitre I
Le E-Learning
Chapitre I E-Learning
1. Introduction
Les nouvelles Technologies de l’Information et de la Communication "TIC"
améliorent profondément nos façons de nous informer, de communiquer et de nous former.
Cette émergence technologique fait apparaître un nouveau mode d’apprentissage connu sous
le nom de l’e-Learning. Il constitue un processus d'apprentissage à distance s'appuyant sur des
ressources multimédias, qui permet à une ou plusieurs personnes de se former à partir de leur
ordinateur.
Son but principal est bien d’améliorer la qualité de l’apprentissage et non de se substituer aux
modes d’apprentissages traditionnels.
La première partie de ce chapitre traite la définition du E-Learning, acteurs et intervenants et
les principales plateformes existantes. Dans la deuxième partie nous aborderons la notion du
profil utilisateur.
2. E-Learning
L'apprentissage en ligne ou e-Learning, étymologiquement l'apprentissage par des
moyens électroniques, peut être caractérisé selon plusieurs points de vue: économique,
organisationnel, pédagogique, technologique.
Afin de mieux comprendre la notion du e-Learning, nous citons ici deux définitions que l’on
trouve communément dans la littérature.
Définition 1
«le e-Learning est un mode d'apprentissage basé sur l'utilisation des nouvelles
technologies, permettant l'accès à des formations en ligne, interactives et parfois
personnalisées, diffusées par l'intermédiaire d'internet, d'un intranet ou autre média
électronique, afin de développer les compétences, tout en rendant le processus
d'apprentissage indépendant de l'heure et de l'endroit. »[Guide, 05]
3
Chapitre I E-Learning
Définition 2
La définition de l'apprentissage en ligne (e-Learning) donnée par l'Union Européenne
est : « l’e-Learning est l’utilisation des nouvelles technologies multimédias de l’Internet pour
améliorer la qualité de l’apprentissage en facilitant d’une part l’accès à des ressources et à
des services, d’autre part les échanges et la collaboration à distance ».
En anglais, le terme e-Learning, employé par le monde économique, résulte d’une volonté
d’unifier des termes tels que : « Open and Distance Learning » (ODL) pour qualifier sa
dimension ouverte et qui vient du monde de la formation à distance, « Computer-Mediated
Communication » (CMC) pour traduire les technologies de communication (Mails, Forum,
Groupware) appliquées à la formation, « Web-Based Training » (WBT) pour traduire la
technologie dominante sur Internet pour la formation, « Distributed Learning » qui traduit
plus une approche pédagogique de type constructiviste et fondée sur la Cognition Distribuée
[Grabinger , 01].
3. 1. Outils synchrones
4
Chapitre I E-Learning
3.2. Outils asynchrones : l’interactivité n’est pas en temps réel mais en différé :
3.2.1. Forum : offre la possibilité de faire une communication collective différée (une
discussion asynchrone) afin de développer, grouper des informations par thème, confronter les
idées…etc.
3.2.2 Foire aux questions : Les questions de chaque apprenant, leurs réponses données
par un formateur, voire un autre apprenant sont consultables par tous.
3.2.3 Transfert de fichier : une fonctionnalité très utile, permet d’envoyer des
documents, des photos, des vidéos,…etc.
Dans le domaine du e-Learning on peut distinguer deux types de plateformes : les LMS
(Learning Management System) et les LCMS (Learning Content Management System).
La plupart de ces systèmes présentent également des générateurs internes de tests d'évaluation
que l'on retrouve sous forme de QCM, QCU, vrai/faux, texte à trous, appariements. Ces
activités sont soit soumises à validation par l'enseignant soit proposées comme activités de
régulation en auto-évaluation. D'une manière générale, elles sont intégrables en tant que
5
Chapitre I E-Learning
1
SCORM (Sharable Content Object Reference Model).
6
Chapitre I E-Learning
Les fonctionnalités des LMS et des LCMS sont complémentaires bien qu’elles se
recoupent sur certains points (figure 2) :
• les LCMS permettent en théorie de diffuser des contenus de façon plus complète que les
LMS (personnalisation dynamique), mais cette fonctionnalité n’est pas toujours applicable ;
de plus, si certains LCMS intègrent des fonctions de reporting, cela reste assez rare.
7
Chapitre I E-Learning
5.1. Le formateur
5.2. L’apprenant
- consulte en ligne ou télécharge les contenus pédagogiques qui lui sont recommandés
5.3. L’administrateur
Ainsi, une plateforme peut comporter des fonctionnalités relatives à la gestion des
compétences, à la gestion des ressources pédagogiques, à la gestion de la qualité de la
formation, etc. [Benayache, 05]
8
Chapitre I E-Learning
6. Profil utilisateur
Un processus d’accès personnalisé à l’information a pour objectif de délivrer à
l’utilisateur une information pertinente et appropriée à ses préférences, ses centres d’intérêts
ou plus globalement son profil.
6.1. Définition
- Les données personnelles : définissent l’identité de l’utilisateur (Code, Nom, Prénom, âge).
- Le centre d’intérêt à court terme : contient les documents jugés pertinents au moment de la
consultation des résultats de recherche.
9
Chapitre I E-Learning
Le profil persistant est exploité dans le processus de sélection de serveurs. Le profil évolutif
consiste à affiner la requête utilisateur, pour construire une requête plus représentative aux
besoins de l’utilisateur à court terme, avec moins d’effort de ce dernier. La requête affinée
(reformulée) sera utilisée dans le processus de recherche et dans le processus de fusion des
résultats.
Ces données sur l'utilisateur peuvent être décrites à l’aide de modèles standards.
On cite les standards: Personnel and Private Information Standard (PAPI) et Instructional
Management Systems (IMS), qui traitent de plusieurs catégories relatives à l'information sur
un apprenant.
10
Chapitre I E-Learning
informations sur la sécurité : Mot de passe, clés, etc. (PAPI Learner Security)
11
Chapitre I E-Learning
- Compétences professionnelles,
- Ingénierie pédagogique,
Le modèle IMS LIP, qui désigne IMS Learner Information Package, définit une
structure XML pour l'échange des données apprenant entre systèmes coopérants tels que : les
systèmes de gestion d'apprentissage, les systèmes des ressources humaines, les systèmes de
gestion des données des apprenants, les systèmes de gestion des connaissances, et d'autres
systèmes utilisant les processus d'apprentissage.
Il représente un modèle de données qui permet de décrire les caractéristiques nécessaires d'un
utilisateur pour des usages généraux tels que :
12
Chapitre I E-Learning
Ci-dessous sont présentées en bref les onze catégories du modèle IMS LIP.
1. Identification : Cette catégorie contient des éléments qui aident à identifier la personne tels
que son nom, son adresse, son email, etc.
3. QCL : Cette catégorie permet de décrire les qualifications, les certifications et les diplômes
attribués à une personne.
4. Activity : Cette catégorie regroupe les données sur les activités liées au travail et à la
formation d’une personne.
5. Goal : Cette catégorie contient les données sur les objectifs des personnes.
6. Competency : Cette catégorie décrit les compétences associées avec la formation formelle
ou informelle d’une personne et son expérience de travail.
7. Interest : Cette catégorie regroupe les données sur les hobbies et les activités créatrices
d’une personne.
8. Transcript : Cette catégorie permet de décrire les données sur les bulletins de notes de la
personne.
10. Securitykey : Cette catégorie regroupe les données de sécurité d’une personne, tels que
les mots de passe et les codes de sécurité qui doivent être utilisés durant ses communications.
Pour chaque clé de sécurité une structure différente sera utilisée.
11. Relationship : Cette catégorie permet de décrire les relations entre les structures de
données utilisées pour stocker les données de la personne employée dans ce modèle
[Oubahssi, 05]
13
Chapitre I E-Learning
6.2.3. Synthèse :
PAPI et IMS LIP forment une des premières bases de structuration des données
participant (ou utilisateur) qui peuvent être échangées entre les différents systèmes de e-
formation.
En effet, les six catégories du modèle PAPI forment l’une des premières spécifications
d’échange des données participant, mais ses éléments ne sont pas suffisamment complets pour
couvrir toutes les données apprenant qui peuvent être échangées entre les systèmes d’e-
formation. Les éléments de ce modèle restent une description générale de l’apprenant. Ces
spécifications ont été développées ensuite par IMS pour donner une version améliorée sous le
nom d’IMS LIP, Dans ce modèle beaucoup d’améliorations ont été apportées au modèle
PAPI, on retrouve les activités pédagogiques liées à l’apprenant.
Par la suite, IMS étend son LIP pour donner l’IMS ePortfolio, qui peut spécifier plus
d’informations sur les apprenants et donne plus de flexibilité d’échange d’informations.
14
Chapitre I E-Learning
7. Conclusion
Le principe derrière le e-Learning est de remplacer les anciennes façons
temps/place/contenu de l’apprentissage prédéterminé avec des processus d’apprentissage
rapides/ouverts/personnalisés.
Une plateforme E-Learning peut être considérée comme un ensemble de Web services,
qui constituent une infrastructure technologique distribuée faite pour assembler des systèmes
hétérogènes en un seul et même modèle logique à travers un réseau et qui coopèrent entre eux
pour fournir certaines fonctionnalités aux acteurs de la plateforme.
Nous présentons les Web services plus en détail dans le chapitre qui suit.
15
Chapitre II
Introduction
Avec l'essor du Web qui a eu dans les dernières années, il a surgi le besoin de permettre
qu'une application client invoque un service d'une application serveur en utilisant Internet. Ce
besoin a été l'origine de ce qui se connaît comme services Web. En tenant en compte que les
services Web permettent de connecter des applications différentes.
Leur objectif principal est de faciliter l'accès aux applications entre entreprises et ainsi de
simplifier les échanges de données. Ils poursuivent un vieux rêve de l'informatique distribuée où
les applications pourraient interopérer à travers le réseau, indépendamment de leur plateforme et
de leur langage d'implémentation. Pour ces raisons les activités de recherche et de
développement autour de ce sujet ont un dynamisme très haut.
Dans ce chapitre on décrira en première partie les technologies plus liés aux services Web,
ensuite on expliquera la notion du Web sémantique dans la deuxième partie et enfin dans la
troisième partie on parlera des services Web sémantiques.
16
Chapitre II Les web services
I. Web Service
Les Web services servent à transformer le Web en un dispositif distribué où les
programmes (services) peuvent interagir de manière intelligente en étant capables de se découvrir
automatiquement, de négocier entre eux et de se composer en des services plus complexes. En
d’autres termes, l’idée poursuivie avec les Web services, est de mieux exploiter les technologies
de l’Internet en substituant, autant que possible, les humains qui réalisent actuellement un certain
nombre de services (ou tâches), par des machines en vue de permettre une découverte et/ou une
composition automatique de services sur l’Internet.
L’architecture de référence des Web services (voir figure 4) s’articule autour des trois rôles
suivants :
17
Chapitre II Les web services
• Le client : correspond au demandeur de service. D’un point de vue technique, il est constitué
par l’application qui va rechercher et invoquer un service. L’application cliente peut être elle-
même un Web service.
Le client utilise les facilités de recherche disponibles au niveau de l’annuaire pour retrouver et
sélectionner un service donné. Il examine ensuite la description du service sélectionné pour
récupérer les informations nécessaires lui permettant de se connecter au fournisseur du service et
d’interagir avec l’implémentation du service considéré.
18
Chapitre II Les web services
Pour garantir l’interopérabilité des trois opérations précédentes (publication, recherche et lien),
des propositions de standards ont été élaborées pour chaque type d’interactions. Nous citons,
notamment les standards émergents suivants :
Toutes ces technologies sont disposées en couches et constituent l'architecture services Web
comme l’illustre ce schéma :
Les couches XML et SOAP sont les couches de plus bas niveau, elles permettent le transport de
l'information. XSD et WSDL permettent de décrire le service aux utilisateurs externes. Enfin la
couche la plus haute UDDI décrit ce qu'est capable de faire le service, c'est la couche la plus
sémantique [Hermes, 05]
19
Chapitre II Les web services
Promulgué en 1998 par le W3C, on retrouve dans XML une généralisation des idées contenues
dans HTML (HyperText Markup Language).
XML a été conçu pour des documents complexes, en s’appuyant sur 5 grands principes :
Le contenu d’un document est décrit par une succession d’éléments (blocs de texte encadrés par
de paires de balises ouvrantes et fermantes) qui sont les unités de contenu. Ces éléments sont liés
entre eux par une hiérarchie, certains éléments apparaissent imbriqués dans d’autres.
20
Chapitre II Les web services
SOAP n’est pas lié à aucun système d’exploitation ni langage de programmation. Il est
indépendant du langage d’implémentation des applications client et serveur. En plus, il peut
potentiellement être utilisé avec une variété de protocoles (eg. HTTP, HTTP Extension
Framework).
21
Chapitre II Les web services
Elle sépare clairement la définition abstraite du service (échange de messages) de ses mécanismes
de liaison (définition des protocoles applicatifs). Cette dernière caractéristique permet aux
composants d’interagir même si l’application a été modifiée, ce qui est un point important pour
assurer l’interopérabilité des services.
22
Chapitre II Les web services
Un document WSDL utilise les éléments suivants dans la définition des services Web :
• Types un conteneur pour les définitions de types de données à l'aide d'un système de
types (tel que XSD).
• Port Type série abstraite d'opérations supportées par un ou plusieurs points finaux.
• Port un point final unique défini comme une combinaison d'une liaison et d’une adresse
réseau.
WSDL définit un mécanisme commun de liaison. Il est utilisé pour attacher un protocole, ou un
format de données, ou une structure spécifique à un message, une opération, ou un point abstrait.
Il permet de réutiliser les définitions abstraites.
23
Chapitre II Les web services
25
Chapitre II Les web services
pages blanches (White Pages) : elles regroupent les informations sur les noms des
entreprises publiant leurs services Web, les moyens de les contacter, etc.
pages jaunes (Yellow Pages) : elles regroupent les informations à propos des standards de
classification des entreprises.
pages vertes (Green Pages) : elles contiennent des informations techniques comme les
services offerts par une entreprise, leur spécification, etc.
3.4.2. Les différents rôles d’UDDI
UDDI fournit trois services de bases :
Publish : ce service gère comment le fournisseur de service Web s’enregistre lui-même
ainsi que ses services (en utilisant UDDI).
Find : ce service gère comment un client peut localiser le service Web désiré (cela peut
passer par des invocations de services Web pour une utilisation automatique par un
programme ou par une consultation d’annuaire en utilisant des mots clés).
Bind : ce service gère également comment un client peut se connecter et utiliser le service
Web une fois celui-ci localisé.
Les entreprises qui fournissent ce service et hébergent un annuaire global UDDI sont appelées
des opérateurs UDDI. Ils sont responsables de la synchronisation de l’information des annuaires :
cette synchronisation d’annuaires s’appelle la réplication.
Il existe de nombreux annuaires UDDI dont les principaux sont :
• celui de Microsoft : http://uddi.microsoft.com
• celui d’IBM : http://uddi.ibm.com
Un des enjeux de UDDI est d’éviter le monopole d’une entreprise qui, par un annuaire
quelconque, donnerait comme réponse systématiquement ses services Web plutôt que celle des
autres : ce genre de pratique étant fortement limité car les annuaires UDDI se doivent d’avoir un
contenu identique aux autres annuaires. Ainsi, il permet de donner des solutions industriellement
viables pour la localisation de services Web.
3.4.3. Le modèle de données UDDI
UDDI est un modèle d’information composé de structures de données persistantes
appelées entités. Ces entités doivent être décrites en XML et sont stockées dans les différents
nœuds UDDI.
26
Chapitre II Les web services
businessEntity publisherAssertion
<tModels>
serviceEntity
Descriptions of specifications for
Descriptive information about
services.
a particular web services
<bindingTemplate>
27
Chapitre II Les web services
bindingTemplate : cette entité est utilisée pour les détails techniques des services Web. Elle
contient des informations sur le point d’accès du service (l’adresse du service). Ce sont les
éléments accessibles par l’annuaire pages vertes.
tModel : cette entité permet de stocker les informations spécifiques aux services, comme le
comportement, les conventions de typages et les types eux-mêmes utilisés par les services. Elle
regroupe donc les informations contenues dans les fichiers WSDL.
publisherAssertion : assertions contractuelles entre partenaires dans le cadre des échanges
d’exécution d’un service.
Voici une capture d'écran de la page Business_Search.aspx. Une recherche a été faite sur le
répertoire UDDI de Microsoft pour toutes les entreprises commençant par la lettre "M".
L'identificateur unique pour une entreprise est appelé un "Business Key".
28
Chapitre II Les web services
L’approche de ce projet est fondée sur la conviction qu'un système e-Learning est une
collection d'activités ou de processus qui ont un effet d’une part sur les étudiants et d’autre part
sur le contenu pédagogique convenablement choisi sous forme d’objets pédagogiques (Learning
Objects). Ainsi les fonctionnalités de base d'un système e-Learning peuvent être découpées en un
certain nombre de fonctions, qui peuvent alors être implantées séparément sous la forme des
services Web. La mise à disposition de ces services permet la réutilisation du contenu et des
fonctionnalités dans une plateforme e-Learning.
Le projet XESOP propose une étude et des solutions sur les moyens technologiques des
environnements e-Learning. Ses éléments essentiels comprennent, d’une part, des supports
sémantiques pour la création, la présentation et le stockage des objets pédagogiques basés sur des
technologies XML et d’autre part, des moyens pour la gestion du parcours de l’étudiant et
l’exécution d’exercices à distance.
Dans ce projet, l’évolution des travaux est guidée par une perception d’un système e-
Learning, à savoir, une collection d'activités ou de processus. Ces processus peuvent être
décomposés d’abord en éléments autonomes et par la suite réalisés et proposés comme des
29
Chapitre II Les web services
Services Web à savoir :la conception d’un contenu pédagogique, la publication d’un cours à
partir d’un contenu choisi, la gestion des objets pédagogiques, la mise à jour d’un contenu
pédagogique, l’adaptation d’un contenu à la demande, la recherche et présentation d’un contenu
pédagogique, l’inscription d’un étudiant et gestion de son compte et profil, l’évaluation des
connaissances acquises, mise en place et gestion d’une classe virtuelle, gestion d’un système de
communication synchronisé de type chat…
La publication et la recherche des objets pédagogiques peuvent se faire dans un cadre UDDI
faisant partie de l’architecture des services Web. Ses caractéristiques assurent le stockage de
données concernant la description des objets pédagogiques.
Figure 11. Les activités e-Learning comme services Web [Madjarov, 05]
En utilisant un tel schéma fonctionnel, le contenu pédagogique serait publié et organisé pour être
échangé, et serait accessible dans un environnement fondé sur des services Web
30
Chapitre II Les web services
5. Conclusion
En quelques mois, les Web Services sont devenus le nouveau point de convergence
technologique de l'ensemble des acteurs du marché de l'informatique, grâce à la disponibilité
immédiate d’outils et de standards permettant l’invocation automatisée des fonctions métiers via
un échange de messages informatisés (SOAP, UDDI, WSDL). Cependant ces mêmes standards,
largement utilisés actuellement, ne permettent de décrire les fonctionnalités des Web Services
que de manière syntaxique. En effet le Web actuel est essentiellement syntaxique, dans le sens
que la structure de documents (ou ressources au sens large) est bien définie, mais que son contenu
reste quasi inaccessible aux traitements machines. Seuls les humains peuvent interpréter leurs
contenus. La nouvelle génération de Web dite Web sémantique a pour ambition de lever cette
difficulté. Les ressources du Web seront plus aisément accessibles aussi bien par l’homme que
par la machine, grâce à la représentation sémantique de leurs contenus.
31
Chapitre II Les web services
1. Définition
L'expression Web sémantique, attribuée à Tim Berners-Lee au sein du W3C, fait d’abord
référence à la vision du Web de demain comme un vaste espace d’échange de ressources entre
êtres humains et machines permettant une exploitation, qualitativement supérieure, de grands
volumes d’informations et de services variés.
Le Web sémantique, concrètement, est d’abord une infrastructure pour permettre
l’utilisation de connaissances formalisées en plus du contenu informel actuel du Web, même si
aucun consensus n’existe sur jusqu’où cette formalisation doit aller. Cette infrastructure doit
permettre d’abord de localiser, d’identifier et de transformer des ressources de manière robuste et
saine tout en renforçant l’esprit d’ouverture du Web avec sa diversité d’utilisateurs. Elle doit
s’appuyer sur un certain niveau de consensus portant, par exemple, sur les langages de
représentation ou sur les ontologies (sera expliquée plus loin dans ce chapitre) utilisées. Elle doit
contribuer à assurer, le plus automatiquement possible, l’interopérabilité et les transformations
entre les différents formalismes et les différentes ontologies. Elle doit faciliter la mise en œuvre
de calculs et de raisonnements complexes tout en offrant des garanties supérieures sur leur
validité. Elle doit offrir des mécanismes de protection (droits d’accès, d’utilisation et de
reproduction), ainsi que des mécanismes permettant de qualifier les connaissances afin
d’augmenter le niveau de confiance des utilisateurs.
32
Chapitre II Les web services
RDF et RDF Schema ont essayé de résoudre ce problème en permettant d’associer des
sémantiques simples. Avec RDF Schema, une personne peut définir des classes qui ayant
plusieurs sous-classes et super classes, et peut aussi définir des propriétés pouvant avoir des sous
propriétés, de domaines ou d’intervalles. Dans ce sens RDF Schema est un langage d’ontologie
pour le Web primitif. Pour atteindre l’interopérabilité entre les divers schémas développés de
façon autonome, des sémantiques plus riches sont nécessaires.
La proposition du W3C s’appuie au départ sur une pyramide de langages dont seulement les
couches basses sont aujourd’hui relativement stabilisées. La figure 12 montre une des versions
de l’organisation en couches proposée par le W3C
33
Chapitre II Les web services
XML : fournit une surface syntaxique pour les documents structurés mais ne fournit aucune
contrainte sémantique sur le sens de ces documents.
XML Schema : est un langage pour restreindre la structure des documents XML et étendre aussi
XML avec des types de données.
RDF : est un modèle de données pour les objets (« ressources ») et les relations entre eux,
fournissant des sémantiques simples pour ce modèle de données qui peuvent être représentées en
XML.
RDF Schema : est un vocabulaire pour décrire les propriétés et les classes des ressources RDF.
OWL : ajoute plus de vocabulaire pour décrire les propriétés et les classes entre autres, les
relations entre les classes, cardinalité, égalité, typage de propriétés plus riche, caractéristiques des
propriétés et les hiérarchies des propriétés et des classes.
Une assertion telle que définie sur le site du W3C est une expression prétendue être vraie et peut
dépendre de plusieurs facteurs incluant les conventions sociales, les commentaires dans un
langage naturel et des liens vers des documents fournissant du contenu (content-bearing
documents). La plupart de ce contenu est inaccessible aux traitements des machines et est
mentionné ici seulement pour envisager que les sémantiques formelles décrites dans le document
de spécification n’ont pas l’intention de fournir une analyse complète du « sens ».
Un document RDF est un ensemble de triplets de la forme <sujet, prédicat, objet>. Les éléments
de ces triplets peuvent être des URIs (Universal Resource Identifiers) [Berners, 00], des littéraux
ou des variables. Cet ensemble de triplet peut être représenté de façon naturelle par un graphe
plus précisément un multi-graphe orienté étiqueté où les éléments apparaissant comme sujet ou
objet sont des sommets, et chaque triplet est représenté par un arc dont l’origine est son sujet et la
34
Chapitre II Les web services
destination est son objet. Ce document sera codé en machine par un document RDF/XML ou N3,
mais est souvent représenté sous une forme graphique (voir la figure 13).
2
Language, Extension de RDF pour construire des ontologies.
DAML : Darpa Agent Markup Language
3
OIL : Ontology Interchange Language
Language,Équivalent
Équivalent européen de DAML ne reposant pas sur RDF
DAML+OIL :fusion de DAML et OIL,langage de définition des ontologies.
35
Chapitre II Les web services
DAML+OIL. OWL décrit la structure d’un domaine en terme de classes et de propriétés comme
les approches orientées objets.
Bien qu’OWL soit dérivé de DAML+OIL qui est équivalent à un langage très expressif de la
logique des descriptions. Certaines caractéristiques font qu’il n’existe aucun algorithme
d’inférence décidable avec toute cette puissance d’expression. Par exemple, les propriétés dans
OWL peuvent être déclarées comme symétriques, une classe peut être traitée simultanément
comme une collection d’individus ou comme un seul individu pour son propre compte. OWL
Permet à une ontologie d’augmenter le sens du vocabulaire prédéfini (RDF et OWL). De ce fait
OWL fournit des sous langages de plus en plus expressifs conçus pour faire un compromis entre
son pouvoir expressif et son pouvoir de raisonnement.
1. OWL Lite : Supporte les utilisateurs qui ont besoin des hiérarchies de classifications et
des caractéristiques de contraintes simples. Par exemple, lorsqu’il supporte les contraintes de
cardinalité, il permet seulement les valeurs 0 et 1.
3. OWL Full : destiné aux utilisateurs qui demandent un maximum d’expressivité avec la
liberté syntaxique de RDF sans aucune garantie de calculs. Par exemple, une classe peut être
traitée comme une collection d’individus et en même temps peut être vue comme un seul
individu. OWL Full permet aussi à une ontologie d’augmenter le sens du vocabulaire prédéfini
(RDF et OWL).
OWL doit son nom au terme « ontologie », un mot emprunté à la philosophie qui, s'il est
d'origine grecque, ne fut manifestement créé qu'au XVIIe siècle.
36
Chapitre II Les web services
3. Les ontologies
Les ontologies ont été développées dans le domaine de l'intelligence artificielle pour
faciliter le partage et la réutilisation de connaissances. Elles sont utilisées dans différents
domaines de recherche comme l'ingénierie de connaissances, la représentation de connaissances,
la recherche d'informations, le commerce électronique, le Web sémantique, les services Web, etc.
3.1. Définition
Plusieurs définitions de l'ontologie ont été proposées. Neches et ses collègues [Neches,
91] définissent l'ontologie comme suit : « Une ontologie définit les termes de base (concepts,
entités, attributs, processus, etc.) et les vocabulaires d'un domaine et des relations qui permettent
de définir des extensions des vocabulaires ». Cette définition indique qu'une ontologie inclut non
seulement les termes et les vocabulaires qui sont définis explicitement mais encore les termes qui
peuvent être inférés en utilisant des relations ou des règles.
Thomas Gruber [Gruber, 93] donne la définition suivante : « Une ontologie est une spécification
formelle explicite d'une conceptualisation partagée ». Le terme « conceptualisation » réfère à un
modèle abstrait d'un phénomène dans le monde, en ayant identifié les concepts appropriés à ce
phénomène. La notion « partagée » réfère au fait qu'une ontologie capture la connaissance
consensuelle, c -à-d, non réservée à quelques individus, mais partagée par un groupe.
37
Chapitre II Les web services
Les ontologies peuvent se représenter par des réseaux sémantiques, la figure 14 nous montre un
exemple d'ontologie représentée par un réseau sémantique.
38
Chapitre II Les web services
4. Conclusion
Le Web Sémantique est une vision du futur Web dans lequel l’information est donnée un
sens explicite facilitant ainsi aux machines le traitement et l’intégration des informations sur le
Web. Le Web Sémantique sera construit sur la capacité de XML de définir des schémas de
balisage personnalisés et sur la flexibilité de l’approche RDF pour représenter les données. Si
les machines sont supposées faire des tâches de raisonnement utiles sur ces documents, le langage
doit aller au-delà des sémantiques de base du RDF Schema. OWL a été conçu pour répondre à ce
besoin pour un langage d’ontologie pour le Web.
Appliqués aux Services Web, les principes du Web sémantique doivent permettre de
décrire la sémantique de leurs fonctionnalités, et les raisonnements induits constituent par
conséquent une proposition d’automatisation des différentes tâches de leur cycle de vie.
39
Chapitre II les web services
Figure 15. Evolution vers les services Web sémantique [Phan, 05]
40
Chapitre II les web services
4
Daml-s va être détaillé plus loin dans ce chapitre.
41
Chapitre II les web services
42
Chapitre II les web services
43
Chapitre II les web services
4. DAML-S
DAML-S [Ankolenkar, 02] est un langage de description de services basé sur XML
utilisant le modèle des logiques de descriptions (et plus précisément DAML+OIL). Son
intérêt est qu’il est un langage de haut niveau pour la description et l’invocation des services
Web dans lequel la sémantique est incluse, contrairement par exemple à UDDI, DAML-S est
composé de trois parties principales:
44
Chapitre II les web services
Pour l’instant, DAML-S est un langage qui est encore en cours de spécification, mais dont les
grandes lignes sont déjà tracées. Un moyen de l’interfacer avec WSDL a été proposé afin de
pallier son absence de gestion d’échange de messages, ce qui permettra par exemple d’utiliser
SOAP pour échanger des messages XML. DAML-S pourra alors être réservé à une
description abstraite et sémantique des services, permettant également d’exprimer des
contraintes sur les paramètres et d’utiliser des constructeurs (comme « si…alors…sinon… »).
DAML-S est une des seules solutions proposant une réelle sémantique des données, et pas
seulement des champs prédestinés par la structure des standards ou par des « feuilles de styles
» utilisées pour décrire les services ; de plus, son utilisation des logiques de descriptions pour
modéliser les services permet une grande puissance d’expression, que ne possèdent pas les
autres systèmes.
Effectuer un "grounding" en WSDL nécessite deux étapes. La première consiste à créer une
sous-classe de la classe "Service Grounding" propre à l'usage de WSDL. La seconde étape
nécessite un mécanisme de correspondance entre certains concepts de DAML-S et certains de
WSDL. Il existe trois grandes règles de correspondance :
1. un processus atomique en DAML-S correspond à la notion d'opération de WSDL. Il
existe quatre situations où cette correspondance peut être obtenue. Ces quatre situations sont
résumées à la table 1.
2. DAML-S autorise d'avoir un ensemble d'entrées ou de sorties. Cette notion n'existe pas en
WSDL, c'est pourquoi un ensemble d'entrées ou de sorties sera traduit, en WSDL, par un
message unique.
45
Chapitre II les web services
3. la notion de type des entrées et sorties de DAML-S correspond à la notion de type abstrait
de WSDL. Cette correspondance permet la traduction des entrées et des sorties.
Grâce à ces deux étapes, il est aise de créer un "grounding" pour un service
DAML-S en WSDL.
46
Chapitre II les web services
5. Conclusion
Les services Web sémantiques sont des services Web dotés de descriptions
sémantiques. Cette sémantique est apportée grâce aux ontologies une des technologies
importantes du Web sémantique.
Les Web services sémantiques se situent à la convergence de deux domaines de
recherche importants qui concernent les technologies de l’Internet : le Web sémantique et les
Web services. Le Web sémantique s’intéresse principalement aux informations statiques
disponibles sur le Web et les moyens de les décrire de manière intelligible pour les machines.
Les Web services, quant à eux, ont pour préoccupation première l’interopérabilité entre
applications via le Web en vue de rendre le Web plus dynamique.
47
Chapitre II les web services
Conclusion
Les services Web deviennent des composants technologiques importants dans le
domaine d’intégration d’applications, en effet, ils permettent l’interopérabilité entre divers
logiciels fonctionnant sur diverses plateformes telle qu’une plateforme e-Learning.
Les Web services assurent, à travers UDDI, la publication et la découverte des
applications (des Web services). La réalisation de ces tâches, de manière manuelle, est
clairement fastidieuse, notamment pour la tâche de découverte dont l’utilisateur doit chercher
manuellement le service pertinent qui répond à ses besoins dans une grande gamme de
services. Les solutions d’automatisation de cette tâche devenaient de plus en plus
indispensables. Et c’est dans ce contexte que sont nés les premiers concepts d’automatisation
de la découverte, ces concepts consistent, pour la plupart de temps, à ajouter de la sémantique
aux Web services. L’objectif est d'exprimer de manière formelle des informations
sémantiques sur les données, pour qu'elles puissent être exploitées par des ordinateurs. Les
ontologies ont un rôle très important à jouer pour la réalisation du Web sémantique. Elles sont
utilisées pour fournir le vocabulaire et la structure de méta données associées aux sources
annotées, c'est une représentation pivot pour l'intégration de sources de données hétérogènes,
pour décrire des services Web.
Aujourd’hui, les Web services sémantiques constituent une voie prometteuse
permettant de mieux exploiter les Web services en automatisant, autant que possible, les
différentes tâches liées au cycle de vie d’un service.
48
Chapitre III
1. Introduction
Ce qui rend la notion de service Web si attirante est qu’il semble que les services Web
soient en mesure de permettre une meilleure automatisation dans la gestion des applications,
par exemple en permettant leur découverte dynamique, en facilitant la communication et la
négociation, voire en permettant leur composition en des services plus complexes.
Dans ce contexte, le problème de la découverte dynamique des services Web est le suivant :
en supposant que l’on a un certain nombre de descriptions de services Web (provenant de
fournisseurs divers et concernant par exemple le domaine du tourisme) ainsi qu’une requête
d’un utilisateur (cherchant par exemple un vol et une chambre d’hôtel), comment découvrir
parmi tous les services, ceux qui correspondent le plus à la requête de l’utilisateur ? Et ceci
dynamiquement puisque l’utilisateur ne sait pas a priori quels services il désire obtenir et
puisque l’offre de services peut changer très rapidement (pour une même requête, à des
instants différents, les services découverts ne seront pas toujours les mêmes, ceux-ci pouvant
à tout moment être modifiés, supprimés ou d’autres pouvant être proposés).
49
Chapitre III Découverte de web services
50
Chapitre III Découverte de web services
51
Chapitre III Découverte de web services
52
Chapitre III Découverte de web services
service), débit (le nombre de demandes accomplies pendant le temps) et temps de réponse
(le délai de la demande pour obtenir une réponse du service).
• Le coût : est la mesure du coût de demander un service. Il peut être chargé par nombre de
demandes de service, ou pourrait être un taux forfaitaire facturé pour une période de
temps.
Recherche sur la découverte de services de Web avec QoS
De nombreux chercheurs travaillent sur la façon de prendre en compte des
informations QoS pour les services Web dans le processus de découverte pour trouver les
services qui répondent le mieux aux exigences de client.
[Gouscos et al, 03] proposent une approche simple à la découverte dynamique de services
Web qui modèle des attributs de gestion de services Web tels que la QoS et le prix. Ils
étudient comment ce modèle simple peut être adapté et exploité dans des normes de
spécifications de base telles que WSDL. Les attributs principaux de qualité et de prix de
services Web sont identifiés et classés par catégorie dans deux groupes, statique et
dynamique. Le prix, le temps de réponse de service promis (SRT) et la probabilité d'échec
promise (POF) sont considérés comme statique dans la nature et pourrait être pris en compte
dans le registre UDDI. Les valeurs réelles de QoS qui sont les SRT réels et PoF sont soumises
à des mises à jour dynamiques et pourraient être stockés dans le registre UDDI ou dans le
document WSDL.
53
Chapitre III Découverte de web services
54
Chapitre III Découverte de web services
55
Chapitre III Découverte de web services
I.2. L’algorithme computeBCov ComputeBCov repose sur une propriété classique des
hypergraphes donnée dans [Berge, 89] et reprise dans [Mannila 94, Eiter 95], qui en fait un
algorithme itératif qui, à chaque itération, génère un certain nombre de candidats pour ne
conserver que les plus petits (au sens de l’inclusion ensembliste) à la fin de l’itération. Cette
phase de génération de candidats peut être optimisée par deux ajouts :
• La propriété des "persistants" établit une condition nécessaire et suffisante de minimalité
d’un candidat. Grâce à elle, on peut donc ne générer que les candidats minimaux à chaque
itération, et ce au prix d’un coût bien moindre que celui impliqué par l’élagage des non
minimaux après la génération de tous les candidats possibles.
• Une technique d’optimisation combinatoire appelée "Branch and Bound" (BnB) peut être
ajoutée pour améliorer encore l’algorithme de base. Elle permet d’élaguer de nombreuses
branches dans l’arbre des candidats possibles grâce à l’évaluation, à chaque itération, du
coût d’une solution possible, cette évaluation pouvant être calculée de deux manières
possibles (BnB1 ou BnB2).
On a donc au total 6 variantes pour computeBCov : avec ou sans les persistants, avec ou sans
le BnB, et si avec le BnB, alors avec BnB1 ou avec BnB2. Ces 6 variantes sont toutes
implémentées dans D2CP
L’algorithme computeBCov
Entrée(s) : Une ontologie T de services et une requête Q exprimées dans la logique de description
FL0.
Sortie(s) : L’ensemble des meilleures combinaisons de services répondant à Q étant donné
l’ontologieT.
1: Construction de l’hypergraphe HT Q = (∑, Г) ;
2: Tr ← ;
3: CostEval ∑
Г du sommet VSi de plus petit cout dans e ;
4: pour chaque arête e Г faire
5: Tr ← {transversaux minimaux générés selon l’algorithme 2}
6: pour chaque transversal minimal X Tr faire
7: RealCost ← cout(X) ;
8: si RealCost > CostEval alors
9: Tr ← Tr \ X ;
10: sinon si RealCost < CostEval alors
11: Eval ← RealCost+ ∑
Г
du sommet VSi de plus petit cout dans f
;
12: si Eval < CostEval alors
13: CostEval ← Eval ;
14: fin si
15: fin si
16: fin pour
17: fin pour
18: pour chaque X Tr tel que cout(X) = CostEval faire
19: Retourner le concept EX
20: fin pour
56
Chapitre III Découverte de web services
Un type de service peut être une ressource d'étude, un logiciel, un programme, un document et
ainsi de suite.
58
Chapitre III Découverte de web services
• Paiement et évaluation: le processus par lequel le fournisseur collecte les prix de ses
services
• les outils d'aide: les outils (comme le Chat room, liste de diffusion etc) qui aident les clients
à utiliser le service.
L'exemple suivant est un concept dans l'ontologie écrite en F-Logic, pour décrire
l'emplacement du fournisseur de services:
59
Chapitre III Découverte de web services
5
Le matching est la correspondance entre les propriétés du service demandé et les services publiés.
60
Chapitre III Découverte de web services
tel que n est le nombre de propriétés des sorties, US_outputi {1, 2, 3, 4, 5} est une
propriété OUTPUTs.
• US to QoS pour les services e-Learning peut être défini comme la valeur moyenne des
US pour le temps de réponse, le coût et la disponibilité.
US_QoS= (US_qos1+US_qos2+US_qos3)/3 ; Tel que US_qos1, US_qos2, US_qos3
{1, 2, 3, 4, 5} sont le temps de réponse, le coût et la disponibilité des services e-
Learning.
61
Chapitre III Découverte de web services
(6) Mettre les services publiés qui satisfont les entrées(INPUTs), les sorties(OUTPUTs)
et la qualité de service(QoS) dans le dépôt des résultats découverts;
(8) Selon le TotalMatchDegree, trier les services publiés dans le dépôt de résultat. Et
renvoyer le résultat assorti ;
(10) Selon le US, calculer le poids de degré de matching de chaque propriété de tout le
service retourné;
(11) Mettre à jour le poids de degré de matching de chaque propriété dans le dépôt des
services publiés.
Advetisement service
Requested service
US feedback
Service updater
E-Learning service
ONtology repository
62
Chapitre III Découverte de web services
Modèle de Algorithme
Prototype d2cp
métadonnées elSDAUS
Description des services ontologies ontologies ontologies
Domaine de découverte Général e-Learning e-Learning
Techniques de Algorithme Algorithme
Ontobroker
découverte computeBcov elSDAUS
L’utilisateur
Ne tient pas Ne tient pas participe
Profil utilisateur
En compte En compte Au processus de
découverte
Exact Non exact Exact
Exactitude des résultats
Calcul de formule Requête en f-logic Calcul de formule
Calcul de la Réinjection de la
Indexation des
Particularités Couverture Satisfaction de
services e-Learning
minimale L’utilisateur
Table 1: Comparaison des travaux de découverte.
63
Chapitre III Découverte de web services
5. Conclusion
La découverte de services Web constitue un axe de recherche émergeant. Diverses
approches ont été proposées. Ces approches sont passées d’une recherche basée mots clé
(correspondance syntaxique de la requête avec les descriptions des services Web) aux
méthodes basées sémantique (degré de correspondance sémantique de la requête avec la
sémantique des descriptions des services Web). Cependant vu la diversité des utilisateurs et
des conditions dans lesquelles ils accèdent aux services Web, d’autres paramètres doivent être
considérés lors de la découverte, tel que le type du dispositif utilisé (PDA, ordinateur portable,
etc.), préférences de l’utilisateur, etc. Tous ces paramètres forment un contexte d’utilisation
particulier.
64
Partie II
Conception du système
Chapitre IV Conception du système
1. Introduction
Tout au long de la partie précédente nous avons vu des notions tel que : e-Learning,
Web services, Web sémantique, ainsi qu’une phase très importante qui consiste en leur
découverte, les standards et outils utilisés. Les méthodes de découverte comme on l’a déjà vu
sont passées d’une recherche basée mots clé (correspondance syntaxique de la requête avec
les descriptions des services Web) aux méthodes basées sémantique en utilisant les
ontologies.
Dans ce chapitre nous allons décrire les objectifs de notre système, les insuffisances de
DAML-S pour la description des Web services e-Learning et l’ontologie ajoutée à DAML-S,
ensuite nous allons présenter l’architecture du système proposé avec ses différentes
fonctionnalités.
• Notre système permet la publication de nouveaux services Web. Pour cela, il sera doté
d’un module permettant au fournisseur (enseignant ou administrateur) à travers une
interface interactive, de publier des informations concernant le Web service.
• Il met en œuvre une interface de recherche riche offrant diverses options : recherche
par mot-clé, recherche multicritère, l’interface de recherche permet aussi d’utiliser le
profil utilisateur pour le filtrage et l’adaptation des résultats selon les préférences de
l’utilisateur.
65
Chapitre IV Conception du système
Le standard DAML-S ne fournit pas une description parfaite sur les aspects
technologiques et pédagogiques des services Web e-Learning. Afin de prendre en
considération ces aspects, en plus des descriptions fonctionnelles, une ontologie a été ajoutée
à DAML-S dans le travail de Mlle Boudali6. Cette ontologie est nommée ‘ontologie de
Qualité de l’Apprentissage’ (QA).et notre projet s’inscrit dans la continuité de ce travail.
Qualité
d’apprentissage
Informations
Informations
pédagogiques
financières
Informations
Est techniques
6
Mémoire de magister « Publication et découverte des web services pour le domaine du e-learning », à
l’institut national de formation en informatique. 2008.
66
Chapitre IV Conception du système
Service
Supporte
Presents Communique
A pour
ServiceProfile
Interopérabilité
QA
67
Chapitre IV Conception du système
L’interopérabilité
L’interopérabilité est la capacité d’utiliser, dans une plateforme, des composants
d’enseignement développés dans une autre plateforme et la possibilité d’intégration avec des
outils externes tel que LDAP7. Cette classe décrit les services avec lesquels le service en
question peut communiquer. Elle comporte les deux propriétés suivantes :
• Service : indique le service avec lequel le service en question peut communiquer,
c’est une instance de la classe service.
• Description : c’est une brève description qui peut être utilisée pour décrire le type de
relation entre les services (les services se complètent, sont équivalent…) ou pour
décrire la configuration entre les deux services,...etc.
7
Lightweight Directory Access Protocol.
68
Chapitre IV Conception du système
5. Architecture du système
Notre système est constitué d’un module pour la publication des Web services, un
module pour la découverte des services Web, et enfin un module pour le filtrage des résultats
trouvés lors de la recherche en utilisant l’ontologie du profil utilisateur.
L’architecture du système est illustrée dans le schéma ci-après :
69
Chapitre IV Conception du système
Gestion des
utilisateurs
« Includes »
Publication de services
web
Enseignant S’authentifie
Administrateur
Recherche de services
web
Gestion du profil
Apprenant
70
Chapitre IV Conception du système
Pré-conditions :
-L’utilisateur n’existe pas dans le système.
Scénario :
-l’utilisateur remplie un formulaire d’identification (nom, prénom, etc.).
-ensuite il valide les informations introduites.
Post-condition :
- Le nombre d'utilisateurs est incrémenté.
Web service de la
Utilisateur Identification Ontologie du profil
gestion des utilisateurs
Demande d’inscription
Demande d’inscription
Formulaire à remplir
Formulaire remplie
Mise à jour de l’ontologie
71
Chapitre IV Conception du système
Acteurs : administrateur.
Pré-conditions :
-L’administrateur doit s’identifier en introduisant son identifiant et son mot de passe.
-Le nombre d’essaies de se connecter au système ne doit pas dépasser trois.
Scénario :
-L’administrateur se connecte au système.
-L’administrateur clique sur l’onglet gestion des utilisateurs.
-il peut :- valider un nouvel utilisateur.
- supprimer un ou plusieurs utilisateurs.
Post-condition :
- Le nombre d'utilisateurs est décrémenté ou incrémenté selon le cas.
Web service de la
Utilisateur Identification Ontologie du profil
gestion des utilisateurs
Demande d’identification
Identification
La liste des
nouveaux inscrits
Affichage de la liste des nouveaux inscrits
Web service de la
Utilisateur Identification Ontologie du profil
gestion des utilisateurs
Afficher message d’accueil
Demande d’identification
Identification
Pré-conditions :
- l’utilisateur doit être inscrit au système.
-l’utilisateur (administrateur, enseignant et apprenant) s’authentifie à travers la page
d’accueil, en introduisant son login et mot de passe.
-Le nombre d’essaies de se connecter au système ne doit pas dépasser trois.
Scénario :
-l’utilisateur se connecte au système.
73
Chapitre IV Conception du système
Web service de la
Utilisateur Identification Ontologie du profil
gestion des utilisateurs
Afficher message d’accueil
Demande d’identification
Identification
Profil utilisateur
Affichage du profil utilisateur
74
Chapitre IV Conception du système
Web service de la
Utilisateur Identification Ontologie du profil
gestion des utilisateurs
Afficher message d’accueil
Demande d’identification
Identification
Profil utilisateur
Affichage du profil utilisateur
Modification du profil utilisateur
Profil utilisateur
Scénario :
-l’utilisateur se connecte au système.
-il introduit sa requête.
- L’utilisateur choisit les critères selon lesquels il voudrait effectuer sa recherche.
- il peut choisir d’utiliser son profil pendant la recherche ou non.
75
Chapitre IV Conception du système
-s’il décide d’utiliser son profil pendant la recherche les résultats seront filtrés.
- Les services trouvés sont affichés avec une petite description.
Demande d’identification
Identification
Demande de l’option
« recherche SW » Traitement
Requête utilisateur requête
Requête traitée
Critères de recherche
Résultats trouvés
Ou
Résultats trouvés
Consulter
Préférences
Résultats filtrés
Pré-conditions
- l’utilisateur doit être inscrit au système.
-l’utilisateur (administrateur, enseignant) s’authentifie à travers la page d’accueil, en
introduisant son login et mot de passe.
-Le nombre d’essaies de se connecter au système ne doit pas dépasser trois.
76
Chapitre IV Conception du système
Scénario :
- L’utilisateur introduit les informations nécessaires sur le service à publier (le nom,
l’URL, description, informations pédagogiques, coût, etc.).
-l’utilisateur valide les informations introduites.
Demande d’identification
Identification
Description sémantique
77
Chapitre IV Conception du système
78
Chapitre IV Conception du système
80
Chapitre IV Conception du système
Pour ce faire: on définit un ensemble de classes qu’on juge nécessaires pour le filtrage dites
classes cibles puis on compare les instances des classes de chaque service trouvé avec celles
des classes cibles, chaque fois qu’il y a correspondance on incrémente le degré de matching
du service en cours, sinon on élimine le service de la liste des services trouvés, enfin on
affiche les résultats de sélection selon un ordre décroissant de degré de matching.
Notre algorithme a la structure suivante :
Entrées :
L : La liste des services trouvés ;
Cptj : le degré de matching du service Sj ;
Ontologie du profil utilisateur ;
Cl : l’ensemble des classes cibles de l’ontologie du profil à utiliser pendant le filtrage ;
Sorties : la liste des services sélectionnés ;
1:j 0;
2 : Pour chaque service Sj faire
3: i 0;
4: Pour chaque classe cible Cli faire
8: Fin pour
9: Si le service Sj ne satisfait aucune préférence de l’utilisateur alors L L-Sj ;Fsi
10 : j j+1 ;
11 : Fin pour
12: Afficher les services sélectionnés dans l’ordre décroissant des nouveaux degrés de
matching selon un seuil déterminé;
81
Chapitre IV Conception du système
* il y a correspondance entre la langue du service (Français) et la préférence de l’utilisateur qui est langue
(Français), donc on incrémente le poids du service. Sinon on élimine le service (GANESHA3)
82
Chapitre IV Conception du système
9. Conclusion
Notre système permet à un fournisseur de services (exportateur) d’annoncer une offre
de service et à un consommateur de service (importateur) de s'enquérir afin de découvrir un
service requis. Pour ce faire nous avons employé l’ontologie DAML-S à laquelle une
ontologie a été ajouté qui est nommée qualité d’apprentissage QA citée précédemment.
Nous avons également adapté les services aux besoins des différents utilisateurs. À
cette fin, nous avons défini un profil pour chaque utilisateur. Il contient des valeurs désirées
par l’utilisateur de certaines propriétés d'un service Web. Quand l’utilisateur recherche un
service et s'il y a de nombreuses offres, nous allons employer le profil utilisateur pour filtrer
les services retournés et pour rendre la demande plus sélective. Ceci permet à l’utilisateur
d'obtenir les services qui sont compatibles avec ses préférences.
83
Chapitre V
1. Introduction :
Et pour expliquer le fonctionnement de notre prototype on a décrit les interfaces offertes par
l’application en utilisant des captures d’écrans.
84
Chapitre V Mise en œuvre du système
2. Environnement de développement
85
Chapitre V Mise en œuvre du système
86
Chapitre V Mise en œuvre du système
3. Les ontologies
3.1. L’ontologie des services
On donne ci – après une figure qui représente l’ontologie des services :
87
Chapitre V Mise en œuvre du système
88
Chapitre V Mise en œuvre du système
Parmi ces patterns, on retrouve le modèle MVC (Modèle Vue Contrôleur) qui a été
initialement développé pour le langage Smalltalk dans le but de mieux structurer une
application avec une interface graphique.
89
Chapitre V Mise en œuvre du système
• recuperer : Si le login et le password introduits par l’utilisateur sont corrects, cette classe
accède à l’ontologie et récupère les données personnelles de cet utilisateur.
• inserer_utililisateur : Dans le cas d’un nouvel utilisateur, cette classe permet son
inscription, qui consiste à récupérer les informations remplies dans le formulaire
d’identification (nom, prénom, adresse, login, password.etc) et les insérer dans l’ontologie
de profil utilisateur. Pour ce faire cette classe crée des instances dans les classes
« identité », « démographie » et « contact » et insère dedans les données qui leurs sont
appropriées et crée ensuite une nouvelle instance dans la classe « user » de l’ontologie
profil et remplit ces instances dans le slot « a_don_perso ».
90
Chapitre V Mise en œuvre du système
table tSlotName_ qualif. on ajoute cette instance dans la classe « user » à l’instance
nom_instance dans le slot a_les_qualifications.
• inserer_service: Cette classe est utilisée pour la publication d’un service e-Learning en
créant une nouvelle instance dans la classe service de l’ontologie service et en insérant les
données introduites par le fournisseur.
4.2.3. Les vues Les vues sont les interfaces qui permettent de mettre les utilisateurs en
communication avec l’application
• Vue accueil : C’est la vue qui s’affiche au chargement de l’application. C’est un point
d’accès des utilisateurs.
• Vue debut : C’est l’interface qui s’affiche une fois l’authentification faite. Elle affiche
le profil de l’utilisateur, et lui permet d’effectuer une recherche de services Web, gérer
son profil et publier un service s’il a le privilège.
• Vue inscription : permet à un nouvel utilisateur de s’inscrire à EAsyLearn en lui
proposant de remplir un formulaire d’identification.
91
Chapitre V Mise en œuvre du système
92
Chapitre V Mise en œuvre du système
93
Chapitre V Mise en œuvre du système
A l’aide du menu principal l’utilisateur peut effectuer une recherche de services Web : comme
le montre l’interface suivante :
94
Chapitre V Mise en œuvre du système
95
Chapitre V Mise en œuvre du système
96
Figure 38 : Interface de résultat de recherche
Chapitre V Mise en œuvre du système
Conclusion
Dans ce chapitre nous avons présenté l’implémentation et le déploiement de notre
application. Nous avons tout d’abord cité les différents outils utilisés lors du développement
de notre système, nous avons ensuite détaillé les principaux modules qui sont la découverte et
la publication des services Web et la gestion du profil utilisateur.
Notre application a été mise en œuvre suivant le modèle MVC qui est un modèle de
conception logicielle très répandu et fort utile, recommandé par des experts de la
programmation Web. Les vues de EAsyLearn sont des pages JSP qui assurent la
communication avec les utilisateurs, le contrôleur est une servlet assurant les liaisons entre les
vues et les modèles qui sont des classes java implémentant les algorithmes de l’application.
Pour mieux expliquer les différentes fonctionnalités du système nous avons effectué
quelques prises d’écran illustrant le module de recherche et de publication.
97
Conclusion et perspectives
Conclusion & Perspectives
98
Conclusion & Perspectives
Le travail qu’on a réalisé peut être amélioré et enrichi afin d’en faire un système plus
performant. Parmi les perspectives à prendre en compte pour améliorer le fonctionnement du
système, nous citons notamment :
99
BIBLIOGRAPHIE
Bibliographie
Bibliographie
[Ankolenkar, 02]: ANKOLENKAR Anupriya, BURSTEIN Mark, HOBBS Jerry, LASSILA
Ora, MARTIN David, MCILRAITH Sheila, NARAYANAN Srini, PAOLUCCI Massimo,
PAYNE Terry, SYCARA Katia & ZENG Honglei, « DAML-S: semantic markup for web
services », (2002).
[Berners, 00]: Berners-Lee T, «What the semantic web can represent», (2000).
http://www.w3.org/DesignIssues/RDFnot.html
[Bernstein, 02]: A. Bernstein & M. Klein, « Discovering Services: Towards High Precision
Service Retrieval. In CaiSE workshop on Web Services, e-Business, and the Semantic Web:
Foundations, Models, Architecture, Engineering and Applications». Toronto, Canada, (2002).
[Chauvet, 02] : Chauvet J M., « Services Web avec SOAP, WSDL, UDDI, ebXML », Eyrolles,
p. 19-28, (2002).
100
Bibliographie
[Madjarov, 05] : Ivan Madjarov, «Des services web pour le e-Learning», Laboratoire des
Sciences de l’Information et des Systèmes, 28 octobre 2005.
[Menascé, 02]: Menascé, D. A, «QoS Issues in Web Services», IEEE Internet Computing,
6(6):72-75, (2002).
[Moeglin, 99] : Moeglin Pierre, Tremblay Gaëtan, « Campus virtuel. Les avatars de la
convergence», in Sciences de la Société n° 47, p.96, Presses Universitaires de Toulouse,
(1999).
[Neches, 91]: R. Neches, R. E. Fikes, T. Finin, T. R. Gruber, T.Senator, and W.R Swartout.
Enabling Technology for Knowledge Sharing. « AI Magazine», pages 12(3): 36.56, (1991).
[Oussama, 05]: Oussama Kassem Zein, Yvon Kermarrec, Serge Garlatti, Jean-louis
Tetchueng, Sylvain Laubé «A Metadata Model for Web Services Applied to Index and
Discover E-Learning Services», (2005).
[PAPI 01] IEEE P1484.2.26/D8, 2001-11-25. «Draft Standard for Learning Technology -
Public and Private Information (PAPI) for Learners (PAPI Learner) -Learner Portfolio
Information»
101
Bibliographie
[Phan, 05]: PHAN Quang Trung Tien Hanoï, «Ontologies et Web Services», juillet 2005.
[Rahee, 05]: Rahee Ghurbhurn «Introduction aux Web Services», Master Web Intelligence,
(2005).
[Rampacek 06] : Sylvain RAMPACEK, «Sémantique, interactions et langages de
description des services web complexes», Thèse de doctorat (2006).
[SOAP, 04]: W3C World Wide Web Consortium, «SOAP Version 1.2 Part 1: Messaging
Framework», (2004).
http://www.w3.org/TR/soap12-part1/
[Toumani, 04]: Patrick Kellert et Farouk Toumani, « Les Web services sémantiques», (2004).
[w3c, 04]: W3C, «Web Services Architecture», W3C Working Group Note 11, Février 2004.
http://www.w3.org/TR/ws-arch
[Zhu, 08]: Zhu Zheng-zhou Wu Zhong-fu Zhou Shang-bo « an e-learning services discovery
algorithm based on user satisfaction », college of computer science and technology
Chongqing University, Chongqing, 400044, China, (2008).
Référence web
[URL, 1]: http://www.techno-science.net/?onglet=glossaire&definition=696
102
Annexe A
L’ONTOLOGIE QUALITE
D’APPRENTISSAGE
L’ontologie de qualité d’apprentissage (QA)
Une description des plateformes e-Learning selon les caractéristiques pédagogiques,
technologiques et financières s’est avérée nécessaire pour le choix de service Web.
L’ontologie de qualité d’apprentissage (QA) a été élaborée dans cette fin. Cette ontologie a le
schéma suivant :
Qualité
d’apprentissage
Informations
Informations
pédagogiques
financières
Informations
techniques
Est
103
Administration Informations
Formation
pédagogique pédagogiques
Collaboration
Type Réalise
Acteur
Ressource
Synchrone Asynchrone
Réalisé par
Conforme Tâche
avec
A pour
Est
Modalité
104
et de les diffuser au niveau du système tout en spécifiant leur domaine et leur
discipline.
• Mise à jour : la mise à jour des contenus déjà créés par modification et par
suppression.
• Partage : c’est le partage de ressources pédagogiques afin de permettre l'utilisation
d'une ressource qui n'est pas physiquement présente sur une machine.
• Téléchargement : la possibilité de télécharger les ressources pédagogiques.
• Import / export : c’est la possibilité d’importation / d’exportation de ressources de /
vers la plateforme.
• Parcours : la définition des parcours d’apprentissage types pour les apprenants.
• Propriété : un champ à utilisation libre pour ajouter d’autres propriétés ou
informations sur les ressources.
Une ressource présente un contenu d’un cours ou bien un test. Pour cela on a les deux classes
suivantes :
I.3. La classe « Contenu » Les ressources pédagogiques sont décrites par :
• Titre : indique le nom de la ressource.
• Sujet : représente un texte qui décrit le contenu de la ressource.
• Auteur : c’est l’auteur de la ressource.
• Droit : indique les droits d’utilisation de la ressource (utilisation, distribution et
modification).
• Région : indique la région dans laquelle la ressource est disponible.
• Langue : le langage du contenu de la ressource.
I.4. La classe « Test »
Cette classe décrit tout ce qui concerne le suivi et l’évaluation des apprenants. Elle comporte
les attributs suivants :
• Trace : garde la trace des tests et des évaluations.
• Fiabilité des réponses : niveau de fiabilité des réponses des tests.
• Fiabilités des évaluations : niveau de fiabilité des évaluations.
Les tests peuvent être classés en plusieurs modalités, pour cela la classe « modalité » a été
définie.
I.5. La classe « Modalité »
C’est la modalité de présentation des tests en quelque sorte il s’agit les types de tests (QCM,
texte à trou,…) qui peuvent être effectués au niveau de la plateforme.
105
• Modalité : le nom du type de test.
• Temps : c’est la durée maximale du test.
• Disponibilité : la disponibilité du test.
• Evaluation : c’est la manière d’évaluation du test : évaluation automatique en ligne,
manuelle par les enseignants ou autoévaluation qui permet à l’individu de s’évaluer
individuellement, en utilisant des tests dont les résultats ne sont pas sauvegardés (des
tests non corrigés).
• Action : les actions effectuées avec le test tel que l’inscription du résultat de test dans
le carnet de note de l’apprenant et l’envoi d’un message contenant le test à
l’enseignant.
• Essais : indique est ce que le test autorise plusieurs essais ou non.
• Affichage des résultats : l’affichage des résultats est différé ou immédiat.
• Affichage des réponses : précise si les réponses correctes sont affichées ou non.
• Statistiques : les statistiques sur la progression de la classe.
I.6. La classe « Standard » Décrit les standards respectés par les ressources.
Un standard est décrit par :
• Nom : le nom du standard.
• Constructeur : celui (organisme, entreprise, consortium, etc.) qui a crée le standard.
• Version : la version du standard.
I.7. La classe «Type_acteur » Décrit les différents types d’acteurs gérés par la plateforme.
• Type d’acteur : le nom du type d’acteur.
• Groupe : possibilité de création et gestion de groupe pour ce type d’acteur.
• Description : une description du rôle de l’acteur.
I.8. La classe « Tâche » Cette classe recouvre les fonctionnalités offertes pour le type de
l’acteur, tel que la création et l’affectation de test pour les enseignants.
• Tâche : le nom de la tâche.
I.9. La classe « Formation » Elle décrit les informations sur les formations réalisées avec le
web service, telles que : le titre de la formation, son objectif, le public visé, date début et date
fin, le coût….etc.
I.10. La classe « Administration pédagogique » Recouvre toutes les fonctionnalités de
gestion pédagogique de formation.
106
• Plan : la gestion des plans de formation. Un plan de formation est un ensemble de
modules pédagogiques ou de groupes de modules qu’est caractérisé par une
planification précise.
• Domaine : la gestion des domaines de la formation.
• Inscription : la gestion des inscriptions à une formation donnée.
• Niveaux : la gestion des niveaux d’apprentissage.
Informations
techniques
Administration
Adaptation
technique
Langue
Aide
Sécurité Matériel
Caractéristiques
Logiciel
techniques
Soft Soft
Serveur Client
Est
107
II. 1. La classe « Adaptation » la possibilité de changement du système afin qu’il s’adapte
aux exigences des utilisateurs. Elle se définit par les attributs suivants :
• Façon d’adaptation : automatique ou manuelle.
• Type d’adaptation : par rapport à l’individu ou par rapport à un groupe d’individu.
II.2. La classe « Langue » indique si le web service est multilingue, chaque instance de cette
classe indique une langue du service.
II.3. La classe « Sécurité » le niveau de sécurité du web service. Elle définit si le service
offre les mécanismes de sécurité suivants :
• Authentification : la vérification de l’identité d’une entité (personne, un
ordinateur,…) afin d’autoriser son accès à des ressources pédagogiques (web service,
un cours…).
• Confidentialité: la protection contre l’accès aux informations par des entités tierces
indésirables.
• Contrôle d’intégrité : la vérification que les données n’ont pas été modifiées par une
entité tierce.
• Contrôle d’accès : vérifie que toute entité n’accède qu’aux services et informations
pour lesquelles elle est autorisée.
• Non répudiation : c’est la protection contre la contestation d’envoi et de réception de
données lors d’une communication.
II.4. La classe « Caractéristiques techniques » décrit les informations technologiques du
web service. Ces informations se résument dans les propriétés suivantes :
• Date de mise à jour : la date de la dernière mise à jour de la plateforme.
• Version : la version de la plateforme.
• Débit : c’est le débit de communication, qu’est la largeur de bande passante exigée
pour utiliser les services de la plateforme.
• Performance: la vitesse d’exécution d’une requête (le temps de réponse).
• Disponibilité: la probabilité que le service peut répondre aux requêtes des utilisateurs.
• Capacité: nombre maximum d’utilisateurs (d’accès Internet simultané) que pourra
supporter la plateforme.
• Nb cours : nombre maximal de cours qui peuvent être gérés par la plateforme.
• Fiabilité : la fiabilité est une valeur probabiliste, on a deux types :
1. La fiabilité de l’institution d’éducation : elle indique est ce que
l’institution est connue par le respect des décisions.
108
2. La fiabilité du réseau : c’est le degré de fonctionnement du service en
présence d’entrées exceptionnelles pour une période donnée. C'est-à-dire à
quel point le réseau résiste aux désastres.
II.5. La classe « Logiciel » Décrit les outils soft (système d’exploitation, navigateur et autres
logiciels) exigés pour faire fonctionner la plateforme, dont les propriétés sont :
• Désignation : indique le nom du logiciel.
• Version : la version du logiciel.
• Description : une description textuelle qui peut contenir d’autres informations sur le
logiciel telle que le nom du fournisseur, la configuration du logiciel,…
II.6. La classe « Soft du client » Les logiciels exigés au niveau des postes clients.
II.7. La classe « Soft du serveur » Les logiciels exigés au niveau du poste serveur.
II.8. La classe « Matériel » décrit le matériel avec lequel la plateforme peut fonctionner. Elle
a les attributs :
• Désignation : le nom du matériel.
• Capacité : la capacité du matériel.
• Description : un texte qui décrit le dispositif matériel.
II.9. La classe « Aide » Les services offerts qui ont pour but l’explication de l'utilité et du
mode d’emploi de chaque fonctionnalité :
• Aide en ligne : possibilité d’offrir l’aide en ligne.
• Assistance TEL: la disponibilité de l’assistance téléphonique pour régler les
problèmes des utilisateurs.
• Technicien : disponibilité de techniciens qui se déplacent pour l’installation ou la
maintenance de la plateforme.
• Documentation : disponibilité de la documentation sur la plateforme.
II.10. La classe « Administration technique » Englobe les fonctionnalités de gestion de la
plateforme qui sont offertes pour un administrateur technique. Cette classe contient :
• Compte : c’est la gestion des comptes utilisateurs et leurs groupes.
• Droit : la gestion de l’affectation des droits d’accès aux différentes fonctionnalités de
la plateforme, la gestion des droits des cours en contrôlant l’accès en consultation et en
modification des différents cours, et la diffusion des cours selon les demandes des
utilisateurs.
109
III. Les informations financières Cette classe comporte trois classes principales :
Informations
financières
Coût Administration
financière
Licence
Est
III.1. La classe « Coût » Recouvre les coûts affectés au financement des formations, de façon
directe ou indirecte, dans l’institution. Elle comporte:
• Coûts d'investissement : coût non récurent, par exemple, équipement d’une salle de
formation.
• Coûts de fonctionnement : les coûts requis pour faire fonctionner le service tels que
les salaires des tuteurs afin de suivre les apprenants,…etc.
• Coût étudiant : le coût par étudiant.
• Coût cours : le coût par cours.
• Coût logiciel : coût des autres logiciels nécessaire pour le fonctionnement de la
plateforme (une estimation).
III.2. La classe « Licence » Le type et coût de la licence de la plateforme.
• Licence : c’est le nom de la licence.
• Coût : le coût de la licence.
• Durée : la période pendant laquelle la licence est valide.
III.3. La classe « Administration financière » Recouvre les recettes et dépenses de
formation.
• Contrat : la gestion des contrats.
• Paiement : la gestion des paiements.
110
Annexe B
L’ONTOLOGIE DU PROFIL
PROFIL
L’ontologie du profil utilisateur
Le modèle utilisateur proposé est défini comme une ontologie utilisateur générique,
comprenant diverses caractéristiques d’un utilisateur, à base de concepts, sous concepts et
relations entre les différents concepts.
Sécurité
But
Info_
Souhaite personnelles
A pour
avoir
Est caractérisé
par
Education A l’éducation
Effectue Activité
A les
A les
qualifications
intérêts
Intérêts
Qualifications
A exercé Possède
A les
préférences
Profession
Dispositif
Préférences Mot clé
DCL
111
1. La classe « Utilisateur » C’est la classe centrale de l’ontologie.
1.La classe « Info_personnelles » contient des attributs qui aident à identifier une
personne, cette classe est divisée en trois sous classes :
• La classe « Identité » : comprend l’identité de l’utilisateur (le nom, le prénom, mot
de passe et l’identifiant).
• La classe « Contacts » : les informations permettant de contacter l’utilisateur
(l’adresse, l’email, numéro de téléphone et numéro de carte bancaire).
• La classe « Info_démog » : comprend d’autres informations concernant l’utilisateur
(la date de naissance, le genre, situation familiale, langue maternelle).
2.La classe « Sécurité » Indique les aspects de sécurité (authentification, confidentialité,
contrôle d’intégrité, contrôle d’accès, non répudiation) souhaités par l’utilisateur.
3.La classe « Education » Les informations concernant le niveau d’éducation atteint par
l’utilisateur. Elle englobe les attributs suivants :
• Domaine d’éducation : indique le domaine d’éducation de l’utilisateur
• Niveau d’éducation : indique le niveau atteint dans l’éducation (primaire, collège,
lycée, universitaire).
• Organisation d’éducation : le nom de l’organisation au sein de laquelle l’utilisateur a
suivi son éducation.
4.La classe « Compétences » Le concept Compétence décrit les compétences associées
avec la formation formelle ou informelle de l’utilisateur et son expérience de travail.
• Domaine : le domaine dans lequel l’utilisateur a une expérience ou une certaine
compétence.
• Outils : définit les outils que l’utilisateur maîtrise.
5.La classe « Qualifications » Les domaines où l’utilisateur est qualifié. Elle comporte :
• La classe « DCL » : Diplômes, Certifications et les Licences obtenus par l’utilisateur.
Chaque qualification est définie par : le titre, le nom de l’organisation qui a attribué la
qualification à l’utilisateur, la date de l’obtention de la qualification et le niveau de la
qualification.
6.La classe « Préférences » Les données caractérisant les ressources cherchés ou
manipulés par l’utilisateur selon ses préférences.
• La classe «Contenant » : les données relatives à la forme des ressources que préfère
avoir l’utilisateur du point de vue format, volume maximal, date de création de la
ressource et la dernière date de mise à jour.
112
• La classe «Contenu » : les données relatives aux ressources que préfère avoir
l’utilisateur à savoir : le sujet, les droits d’utilisation de la ressource, la licence (libre,
payante), la langue, les régions où il souhaite que ses ressources soient disponibles.
7.La classe « Profession » comporte les informations sur les postes occupés par
l’utilisateur.
• Domaine : le domaine de profession exercé par l’utilisateur.
• Grade : indique le grade du poste occupé par l’utilisateur.
• Organisation : l’organisme au sein duquel l’utilisateur a exercé la profession.
• Expérience : l’expérience atteinte par l’utilisateur dans la profession.
• Période : la période durant laquelle la profession a été exercée.
8.La classe « Dispositif » Décrit les dispositifs matériels et logiciels de l’utilisateur.
• Matériel : les informations relatives aux dispositifs d’entré / sortie ainsi que d’autres
équipements disponibles chez l’utilisateur. Chaque dispositif est caractérisé par sa
désignation, sa description ainsi que sa capacité.
• Logiciel : les données relatives au système d’exploitation, au navigateur et aux autres
logiciels manipulés par l’utilisateur. Chaque dispositif est caractérisé par sa
désignation, sa description et par sa version.
9.La classe « Intérêts » Les centres d’intérêts de l’utilisateur que se soit dans le domaine
de formation ou dans d’autres domaines. Comporte le nom du domaine et une priorité
attribuée à ce domaine.
10. La classe « Requêtes » L’historique des requêtes déjà formulées par l’utilisateur.
11. La classe « Activités » Contient les activités liées au travail, formation de l’utilisateur
(consulter un cours, faire un exercice ou autres).
12. La classe « But » Contient l’information sur les buts des utilisateurs/apprenants.
• Le type : c’est le type du but visé par l’utilisateur (professionnel, éducationnel,
personnel).
• Description : une description verbale du but.
• Statut : l’état de réalisation du but.
• Priorité : la priorité attribuée au but.
13. La classe « Mots clé » Indique les concepts appartenant à un domaine d’intérêt donné.
Un mot clé est défini par sa description et sa priorité.
113
Annexe C
LE MODELE MVC
Le Modèle MVC (Model View Controller)
C’est un modèle de conception logicielle très répandu et fort utile. Créé dans les années
80 par Xerox PARC pour Smalltalk-80, il est aujourd’hui fortement recommandé dans
l’univers J2EE. Néanmoins il faut retenir que c’est un modèle de conception, et il est donc
indépendant du langage de programmation.
1. Principe
• Un modèle à trois couches
Le MVC est un modèle de conception qui repose sur la volonté de séparer les données, les
traitements et la présentation. Ainsi l’application se retrouve segmentée en trois composants
essentiels :
• le modèle
• la vue
• le contrôleur
114
Figure 7 : MVC model 2
Le MVC très pratique, peut se révéler lourd à mettre en place. Ceci à cause de la
multitude de contrôleur à implémenter. Afin de simplifier la réalisation d’un tel modèle, une
nouvelle version a été introduite : le MVC2. C’est exactement le même modèle de conception
à la différence qu’il n’y a plus qu’un seul contrôleur qui se charge de rediriger la requête vers
le bon traitement.
2. Dans la pratique
• Avantages
A l’époque des applications Web, il n’est pas rare que le développeur soit tenté de
mettre du code de traitement dans les composants de présentation (JSP, PHP, …). Certains
composants facilitent même ce genre de développement!! Le MVC impose cette séparation.
Comme précisé plus haut, plusieurs vues peuvent utiliser le même modèle. Ce qui représente
un gain en coût de développement important.
Le modèle est totalement indépendant de la vue. Si l’application a besoin d’un
nouveau mode d’accès, le modèle restera inchangé. Il suffit juste de changer la partie IHM.
Le modèle étant totalement autonome, il peut être modifié beaucoup plus facilement. En effet
si le mode de persistance des données change ou bien si des règles métier évoluent, il suffit de
modifier seulement le modèle. La vue n’a pas besoin d’être modifiée dans ce cas.
Deux équipes peuvent travailler en parallèle. Une équipe d’infographistes peut travailler sur
les vues et en même temps une équipe de développeurs peut travailler sur le modèle et le
115
contrôleur. Cet aspect nécessite tout de même une bonne communication entre les deux
entités.
Les trois couches doivent être réellement indépendantes et ne doivent communiquer
que par des interfaces. Dans ce cas l’application sera très modulaire et n’importe quelle
couche pourra être interchangée sans conséquence pour les autres.
Le contrôleur permet une très grande souplesse dans l’application. C’est lui qui
assemble différentes parties du modèle avec une vue à partir d’une requête. S’il est maitrisé à
la perfection, la factorisation des vues est envisageable. L’architecte peut alors s’amuser à en
surprendre plus d’un développeur!!
• Inconvénients
Le MVC se révèle trop complexe pour de petites applications. Le temps accordé à
l’architecture peut ne pas être rentable pour le projet.
Même si le code est factorisé, le nombre de microcomposant n’en est pas moins augmenté.
C’est le prix à payer pour la séparation des 3 couches. Et toutes les personnes qui font de la
gestion de configuration comprendront que le nombre important de fichiers représente une
charge non négligeable dans un projet.
3. Conclusion
Le MVC favorise le développement et la maintenance du code. Sur de gros projets
et/ou avec de grandes équipes de développements, l’application d’un tel modèle de conception
se révèle très performant. Il existe aujourd’hui des frameworks très avancés qui se basent sur
le MVC ou le MVC2. L’utilisation de ces frameworks facilite sa mise en place et cadre sa
réalisation.
http://blog.lecacheur.com/2004/12/09/mvc-mvc2-modele-vue-controlleur-model-view-controller/
116