114
R E Réf Eco f : ole M M M M eS MI 0 Ma Mo Mo Su 05 ada ons ons upé 5/0 D p M am sie sie éri 09 Dip pMa me eur eur ieu plô ésen aro ur ôm nté oue re d me é et ene Y A F de ed t so eH Yos Abd Feth es de out HA C ssra dal hi E Sc M ten AD Co aB llah ES cie po Ma nu p DD omp BEN hM SSE enc our aît pu DA pos ND MIS ELM ce ob tri ubli p AD siti DA SSA MI es e bte ise iqu par & ion ALI AO I et enir ee uem & n du IH OU Te r le en men M uj HLA UI ec e In nt l Mar jury AO chn nfo le 1 rou y OU niq or 18 uen UI qu rm 8 M ne ues mat Mai M sd tiq i 20 MEJ P R E de qu 00 JR Prés Rap Enc T ue 09 RI sid ppo cad Tun den orte dreu nis nte eur ur s r

Rapport PFE Marouene Haddad

Embed Size (px)

Citation preview

Page 1: Rapport PFE Marouene Haddad

Réf

Ecole Supérieure des Sciences et Techniques de Tunis

Réf

Ecole Supérieure des Sciences et Techniques de Tunis

Réf : MI 05/09

Ecole Supérieure des Sciences et Techniques de Tunis

: MI 05/09

Madame

Monsieur

Monsieur

Ecole Supérieure des Sciences et Techniques de Tunis

: MI 05/09

Madame

Monsieur

Monsieur

Ecole Supérieure des Sciences et Techniques de Tunis

: MI 05/09

Madame

Monsieur

Monsieur

Ecole Supérieure des Sciences et Techniques de Tunis

: MI 05/09

Diplôme de

p

Marouene HADDAD

Madame

Monsieur

Monsieur

Ecole Supérieure des Sciences et Techniques de Tunis

: MI 05/09

Diplôme de

présenté et soutenu publiquement le

Marouene HADDAD

Madame

Monsieur

Monsieur

Ecole Supérieure des Sciences et Techniques de Tunis

Diplôme de

résenté et soutenu publiquement le

Marouene HADDAD

Ecole Supérieure des Sciences et Techniques de Tunis

Diplôme de

résenté et soutenu publiquement le

Marouene HADDAD

Ecole Supérieure des Sciences et Techniques de Tunis

Diplôme de

résenté et soutenu publiquement le

Marouene HADDAD

Yossra BEN DALI HLAOUI

Abdallah MISSAOUI

Fethi ESSE

Ecole Supérieure des Sciences et Techniques de Tunis

Diplôme de

résenté et soutenu publiquement le

Marouene HADDAD

Yossra BEN DALI HLAOUI

Abdallah MISSAOUI

Fethi ESSE

Ecole Supérieure des Sciences et Techniques de Tunis

Diplôme de

résenté et soutenu publiquement le

Marouene HADDAD

Composition du jury

Yossra BEN DALI HLAOUI

Abdallah MISSAOUI

Fethi ESSE

Ecole Supérieure des Sciences et Techniques de Tunis

Diplôme de Maîtrise en Informatique

résenté et soutenu publiquement le

Marouene HADDAD

Composition du jury

Yossra BEN DALI HLAOUI

Abdallah MISSAOUI

Fethi ESSE

Ecole Supérieure des Sciences et Techniques de Tunis

pour obtenir le

Maîtrise en Informatique

résenté et soutenu publiquement le

Marouene HADDAD

Composition du jury

Yossra BEN DALI HLAOUI

Abdallah MISSAOUI

Fethi ESSE

Ecole Supérieure des Sciences et Techniques de Tunis

our obtenir le

Maîtrise en Informatique

résenté et soutenu publiquement le

Marouene HADDAD

Composition du jury

Yossra BEN DALI HLAOUI

Abdallah MISSAOUI

Fethi ESSELMI

Ecole Supérieure des Sciences et Techniques de Tunis

our obtenir le

Maîtrise en Informatique

résenté et soutenu publiquement le

par

Marouene HADDAD

Composition du jury

Yossra BEN DALI HLAOUI

Abdallah MISSAOUI

LMI

Ecole Supérieure des Sciences et Techniques de Tunis

our obtenir le

Maîtrise en Informatique

résenté et soutenu publiquement le

par

&

Composition du jury

Yossra BEN DALI HLAOUI

Abdallah MISSAOUI

LMI

Ecole Supérieure des Sciences et Techniques de Tunis

our obtenir le

Maîtrise en Informatique

résenté et soutenu publiquement le

&

Composition du jury

Yossra BEN DALI HLAOUI

Abdallah MISSAOUI

Ecole Supérieure des Sciences et Techniques de Tunis

our obtenir le

Maîtrise en Informatique

résenté et soutenu publiquement le

Marouene MEJRI

Composition du jury

Yossra BEN DALI HLAOUI

Abdallah MISSAOUI

Ecole Supérieure des Sciences et Techniques de Tunis

our obtenir le

Maîtrise en Informatique

résenté et soutenu publiquement le

Marouene MEJRI

Composition du jury

Yossra BEN DALI HLAOUI

Ecole Supérieure des Sciences et Techniques de Tunis

Maîtrise en Informatique

résenté et soutenu publiquement le 18

Marouene MEJRI

Composition du jury

Yossra BEN DALI HLAOUI

Ecole Supérieure des Sciences et Techniques de Tunis

Maîtrise en Informatique

18

Marouene MEJRI

Yossra BEN DALI HLAOUI

Ecole Supérieure des Sciences et Techniques de Tunis

Maîtrise en Informatique

18 Mai 2009

Marouene MEJRI

Ecole Supérieure des Sciences et Techniques de Tunis

Maîtrise en Informatique

Mai 2009

Marouene MEJRI

Ecole Supérieure des Sciences et Techniques de Tunis

Maîtrise en Informatique

Mai 2009

Marouene MEJRI

Président

Rapporteur

Encadreur

Ecole Supérieure des Sciences et Techniques de Tunis

Maîtrise en Informatique

Mai 2009

Marouene MEJRI

Président

Rapporteur

Encadreur

Ecole Supérieure des Sciences et Techniques de Tunis

Maîtrise en Informatique

Mai 2009

Marouene MEJRI

Président

Rapporteur

Encadreur

Ecole Supérieure des Sciences et Techniques de Tunis

Président

Rapporteur

Encadreur

Ecole Supérieure des Sciences et Techniques de Tunis

Présidente

Rapporteur

Encadreur

Ecole Supérieure des Sciences et Techniques de Tunis

Rapporteur

Page 2: Rapport PFE Marouene Haddad

À ma mère,

Pour l’amour qu’elle me porte et pour son encouragement qu’elle m’a apporté au

cours de ce projet, qu’elle trouve dans ce travail le témoignage de ma profonde

gratitude et mon infini dévouement.

À mon père,

À qui je dois tout et dont l’affectation, le dévouement et les encouragements ont

été pour moi le meilleur gage de réussite. Je lui dédie ce travail en témoignage de

mon grand amour et reconnaissance infinie.

À mon frère et mes sœurs,

Pour leur amour et leur encouragement continu.

À mes chers amis,

Qu’ils trouvent dans ce travail l’expression de mon profond respect et

reconnaissance.

À toute la famille,

source de ma motivation et mes espoirs.

À tous ceux qui me sont chers.

Marouene.H

Page 3: Rapport PFE Marouene Haddad

À mes très chers parents,

Pour tout l’amour dont vous m’avez entouré, pour tout ce que vous avez fait

pour moi. Je ferai de mon mieux pour rester un sujet de fierté à vos yeux avec

l’espoir de ne jamais vous décevoir. Que ce modeste travail, soit l’exaucement

de vos veux tant formulés et de vos prières quotidiennes.

À mes deux sœurs,

Vous occupez une place particulière dans mon cœur. Je vous dédie ce travail

en vous souhaitant un avenir radieux, plein de bonheur et de succès.

À mon frère,

Pour ton soutient et ton encouragement. Je te souhaite une bonne vie calme,

joyeuse et pleine de succès.

À mes très chers amis,

En souvenir de nos éclats de rire et des bons moments. En souvenir de

tout ce qu’on a vécu ensemble. J’espère de tout mon Cœur que

notre amitié durera éternellement.

À tous ceux qui me sont chers,

Marouene.M

Page 4: Rapport PFE Marouene Haddad

Nous exprimons nos sincères remerciements à monsieur Fethi ESSELMI pour

l’extrême gentillesse qu’il a bien voulu manifester à notre égard ainsi que notre

gratitude pour l’encadrement dont il nous a fait bénéficier aimablement. Nous le

remercions vivement d’avoir su nous encourager par une exaltation constante à

la circonspection de notre sujet.

Nous tenons à remercier madame Yossra BEN DALI HLAOUI pour l’honneur

qu’elle nous fait de présider le jury de ce projet de fin d’études. Qu’il nous soit

permis d’évoquer ici sa présence bienveillante aux étapes importantes de notre vie

universitaire à l’issue de nos premières recherches et découvertes sur le monde de

programmation. Nous avons grand plaisir à profiter de cette occasion très

formelle pour la remercier sincèrement.

Nous remercions monsieur Abdallah MISSAOUI enseignant à l’Ecole

Supérieure des Sciences et Techniques de Tunis d’avoir bien voulu accepter de

participer à ce jury et évoluer ce mémoire. Son jugement nous est d’autant plus

précieux qu’il émane d’une personne qui nous a enseignées.

Page 5: Rapport PFE Marouene Haddad

i

Introduction générale ......................................................................................................................1

Chapitre1 : Etat de l’art ..................................................................................................................4

1 Introduction........................................................................................................................ 4

2 Les approches pédagogiques ............................................................................................. 4

2.1 L’approche par objectifs ............................................................................................ 4

2.1.1 Définition............................................................................................................ 4

2.1.2 Caractéristiques .................................................................................................. 5

2.2 L’approche par compétences ..................................................................................... 6

2.2.1 Définition............................................................................................................ 6

2.2.2 Caractéristiques................................................................................................... 7

2.3 Approche par collaboration ....................................................................................... 7

2.3.1 Définition............................................................................................................ 7

2.3.2 Caractéristiques................................................................................................... 8

2.4 Conclusion ................................................................................................................ 9

3 Modèle de l’acceptation de technologie (TAM) .............................................................. 9

3.1 Introduction................................................................................................................ 9

3.2 Présentation de TAM................................................................................................. 9

3.3 Conclusion ............................................................................................................... 11

4 La logique Floue .............................................................................................................. 11

4.1 Introduction.............................................................................................................. 11

4.2 Présentation de la logique Floue.............................................................................. 11

4.3 Les composants d’un problème Floue ..................................................................... 12

5 Service Web ..................................................................................................................... 13

5.1 Définition................................................................................................................. 13

5.2 Service Web de type WS-*...................................................................................... 14

5.2.1 L’invocation...................................................................................................... 15

5.2.2 La découverte ................................................................................................... 15

5.2.3 La description ................................................................................................... 15

Page 6: Rapport PFE Marouene Haddad

ii

5.3 Critiques................................................................................................................... 16

5.3.1 Avantages ......................................................................................................... 16

5.3.2 Inconvénients.................................................................................................... 16

6 Conclusion......................................................................................................................... 16

Chapitre 2 : Etude de cas ............................................................................................................ 17

1 Introduction ..................................................................................................................... 17

2 L’élaboration du questionnaire ..................................................................................... 17

2.1 Introduction.............................................................................................................. 17

2.2 Définition................................................................................................................. 17

2.3 Caractéristiques qualitatives du questionnaire......................................................... 17

2.4 Caractéristiques quantitatives du questionnaire....................................................... 18

3 Le questionnaire de détermination de l’approche pédagogique................................. 19

3.1 L’approche par objectif............................................................................................ 19

3.2 L’approche par compétence..................................................................................... 20

3.3 L’approche par collaboration................................................................................... 21

4 L’implémentation du questionnaire .............................................................................. 22

4.1 Introduction.............................................................................................................. 22

4.2 Langage de contrôle floue (FCL) ........................................................................... 22

4.3 Le package jFuzzyLogic.......................................................................................... 22

5 Application....................................................................................................................... 23

5.1 Introduction.............................................................................................................. 23

5.2 Fichier FCL.............................................................................................................. 23

5.3 Etude empirique....................................................................................................... 25

6 Conclusion........................................................................................................................ 27

Chapitre 3 : Conception UML.................................................................................................. 28

1 Introduction ..................................................................................................................... 28

2 Présentation d’UML ....................................................................................................... 28

3 Conception Généralisée .................................................................................................. 29

3.1 Diagramme de classe ...................................................................................................... 29

3.2 Diagramme des cas d’utilisation..................................................................................... 31

4 Conception focalisée........................................................................................................ 33

Page 7: Rapport PFE Marouene Haddad

iii

4.1 Diagramme de classe ............................................................................................... 33

4.2 Diagramme de séquence .......................................................................................... 34

4.2.1 Inscription et authentification ........................................................................... 34

4.2.2 Réponse à un questionnaire .............................................................................. 35

4.2.3 Création d’un questionnaire.............................................................................. 35

4.2.4 Interaction entre le client et le service web ...................................................... 36

5 Conception de la base de données.................................................................................. 38

6 Conclusion........................................................................................................................ 39

Chapitre 4 : Implémentation...................................................................................................... 40

1 Introduction ..................................................................................................................... 40

2 Projection de la conception sur la pratique ................................................................. 40

2.1 La phase de l’inscription.......................................................................................... 41

2.2 Validation des inscriptions ...................................................................................... 42

2.3 Authentification et connexion à l’espace personnel ................................................ 43

2.4 Elaboration d’un questionnaire................................................................................ 45

2.5 Réponse à un questionnaire ..................................................................................... 50

2.6 Gestion du compte personnel................................................................................... 51

3 Tests et vérification ......................................................................................................... 51

4 Planification du projet .................................................................................................... 53

5 Conclusion........................................................................................................................ 53

Chapitre 5 : Résolution des problèmes rencontrés........................................................... 54

1 Introduction .................................................................................................................... 54

2 Problèmes au court du développement sous l’IDE Eclipse ........................................ 54

2.1 Création du fichier FCL de notre questionnaire ..................................................... 54

2.2 Recherche et expérimentation des variables significatives..................................... 55

2.3 Manipulation du code FCL par la programmation JAVA ...................................... 58

3 Exceptions rencontrées lors du déploiement du service Web .................................... 60

3.1 Exceptions liées à la configuration de Tomcat et Axis........................................... 60

3.2 Exception liée à l’inclusion de bibliothèques dans l’application serveur ............... 62

4 Conclusion....................................................................................................................... 64

Conclusion générale ..................................................................................................................... 65

Page 8: Rapport PFE Marouene Haddad

iv

Bibliographie ....................................................................................................................................... 67

Annexe A : Conception et modélisation de la base de données de l’application ....................... 69

Annexe B : Présentation d’UML ...................................................................................................... 70

Annexe C : Environnement de travail.............................................................................................. 74

Annexe D : Codes sources................................................................................................................. 78

Page 9: Rapport PFE Marouene Haddad

v

Figure 1 La construction d’une compétence .........................................................................6

Figure 2 Schéma du Modèle d’Acceptation de la Technologie ..........................................10

Figure 3 Schéma de fonctionnalité de la logique floue.......................................................13

Figure 4 Courbe de la variable d’entrée Quest1 .................................................................24

Figure 5 Fonction de la variable de sortie Préférence.........................................................24

Figure 6 Résultat de la Défuzzification...............................................................................25

Figure 7 Simulation de la projection...................................................................................25

Figure 8 Diagramme de Classe généralisé..........................................................................31

Figure 9 Diagramme des Cas d’Utilisation.........................................................................32

Figure 10 Diagramme de Classe d’un questionnaire ............................................................33

Figure 11 Diagramme de Séquence d’inscription et d’authentification ...............................34

Figure 12 Diagramme de Séquence de réponse à un questionnaire......................................35

Figure 13 Diagramme de séquence de création d’un questionnaire .....................................36

Figure 14 Diagramme de Séquence d’interaction utilisateur, plate forme et service Web...37

Figure 15 Page d’accueil de l’application.............................................................................41

Figure 16 Interface de l’inscription d’un utilisateur .............................................................42

Figure 17 Gestion des nouveaux abonnés.............................................................................43

Figure 18 Panneau d’authentification d’un acteur ................................................................43

Figure 19 Panneau de récupération du mot de passe oublié par E-mail ...............................44

Figure 20 Exemple de réception d’un mot de passe oublier par un courrier électronique ...45

Figure 21 Première étape de l’élaboration d’un questionnaire .............................................45

Figure 22 Deuxième étape de l’élaboration d’un questionnaire ...........................................46

Figure 23 Troisième étape de l’élaboration d’un questionnaire ...........................................47

Figure 24 Quatrième étape de l’élaboration d’un questionnaire...........................................48

Figure 25 Panneau de simulation lors de la création d’un questionnaire..............................49

Figure 26 Cinquième et dernière étape de l’élaboration d’un questionnaire ........................49

Figure 27 Liste de questionnaire disponible à un utilisateur ................................................50

Figure 28 Réponse à un questionnaire (exemple de l'approche pédagogique) .....................50

Figure 29 Espace de gestion du compte personnel d’un utilisateur......................................51

Page 10: Rapport PFE Marouene Haddad

vi

Figure 30 Chronogramme de planification du projet de fin d’études ...................................53

Figure 31 Edition d’un code FCL à l’aide d’un éditeur de texte ..........................................54

Figure 32 Première version des courbes des termes d’entrée d’une question .....................55

Figure 33 Deuxième version des courbes des termes d’entrée d’une question ...................56

Figure 34 Deuxième version des courbes des termes d’entrée d’une question ...................57

Figure 35 Courbe de la sortie du processus defuzzyfication avant la correction..................57

Figure 36 Courbe de la sortie du processus defuzzyfication après la correction..................58

Figure 37 Exception lancée lors du déploiement du service Web dans le serveur Tomcat ..60

Figure 38 Déploiement avec succès de l’application client et serveur .................................61

Figure 39 Exception lancée lors de l’appel d’une méthode du service Web ........................62

Figure 40 Exemple d’appel du service Web après déploiement...........................................63

Figure 41 Modèle conceptuel de données.............................................................................69

Figure 42 Modèle physique de données................................................................................69

Figure 43 Organigramme des diagrammes structurels et comportementaux d’UML ..........70

Figure 44 Méthode creationNovice extraite de la classe ManipLogicFloue ........................78

Figure 45 Méthode simulation extraite de la classe ManipLogicFloue ................................79

Figure 46 Méthode creationFCL extraite de la classe ManipLogicFloue.............................80

Figure 47 Méthode determineresultat extraite de la classe ManipLogicFloue .....................81

Figure 48 Utilisation du useBean extraite de la page novice2.jsp ........................................82

Figure 49 Appel du useBean extraite de la page novice2.jsp ...............................................82

Figure 50 Les inputs extraite de la page gerer-compte-u.jsp ................................................82

Figure 51 Fonction verifinom extraite de la page gerer-compte-u.jsp..................................83

Figure 52 Fonction file extraite de la page inscription.jsp....................................................84

Figure 53 Appel à la fonction file extraite de la page inscription.jsp ...................................84

Figure 54 Contenue de la page script.jsp ..............................................................................84

Figure 55 Fonction verifier-num extraite de la page expert2.jsp..........................................85

Figure 56 Extrait de la page expert2.jsp ...............................................................................86

Figure 57 Fonction VerifReel extraite de la page expert2.jsp ..............................................87

Figure 58 Organigramme du site Web..................................................................................88

Page 11: Rapport PFE Marouene Haddad

vii

Tableau 1 Taxonomie des objectifs éducationnels de Bloom ................................................. 5

Tableau 2 Tableau des jeux de tests des réponses au questionnaire ..................................... 26

Tableau 3 Légende du tableau des jeux de tests des réponses au questionnaire ................... 27

Tableau 4 Les différents cas de figure de la phase Authentification..................................... 44

Tableau 5 Les différents affichages du résultat d’une réponse à un questionnaire............... 51

Tableau 6 Jeux de tests des réponses au questionnaire de l’approche pédagogique............. 52

Page 12: Rapport PFE Marouene Haddad

Introduction générale

1

Depuis toujours, l’Homme a tendance à enseigner à ses descendants ses

connaissances et partager avec eux ses expériences afin d’évoluer. Il ne s’agissait pas à cette

époque d’un enseignement dans le propre sens du terme mais il était une sorte d’apprentissage

et de transmission d’information. Au cours des siècles, l’Homme devenait de plus en plus

civilisé et sentait la nécessité d’apprendre pour son propre bien. Alors, il procédait à

l’organisation du processus d’apprentissage en premier lieu. L’évolution humaine ne cessait

de croitre et le processus d’apprentissage n’était plus suffisant pour développer cette

évolution. En conséquence l’Homme se dirigeait vers l’accommodation du processus de

l’enseignement, ce qui a permit de délimiter une définition de ce terme.

L’enseignement est alors, un mode d'éducation permettant de développer les

connaissances d'un élève par le biais de communication verbale et écrite [27].

En poursuivant le parcours de l’échelle chronologique de la vie humaine, on atteint

le vingtième siècle qui constitue le siècle de la révolution technologique et électronique.

L’apparition des ordinateurs et le développement des réseaux ont influencé le domaine de

l’apprentissage et de l’enseignement, et on marqué ainsi la naissance d’une nouvelle sorte

d’enseignement qui est l’enseignement à distance, connu souvent sous le nom de e-Learning.

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 [27,17].

Le but d’e-Learning, n’étant pas de substituer l’enseignement traditionnel, est de

permettre à un apprenant d’accéder à une ressource éducative nommée objet d’apprentissage

par le biais de l’Internet. Le cours peut être sous différents formats afin de satisfaire la totalité

des apprenants demandeur d’un tel cours. De plus la plate forme Web permet l’accès aux

objets d’apprentissage tout en négligeant le cadre temporel et spatial. De ce fait, les

apprenants ne sont plus invités à assister à un cours mais on leur introduit le cours ou ils sont

et quand ils veulent.

L’e-Learning a participé à la résolution de plusieurs problèmes relatifs à

l’enseignement, qui est d’ailleurs expliqué par sa réputation dans le monde universitaire,

Page 13: Rapport PFE Marouene Haddad

Introduction générale

2

scolaire et même professionnel. Cependant, il souffre de quelques problèmes liés

principalement à la présence de l’enseignant. En effet, l’absence de l’enseignant néglige

l’obligation de suivre le cours et encourage le phénomène de l’abondance, surtout bien

lorsqu’il s’agit d’un cours difficile et complexe. Ce décrochage réduit les performances de

l’e-Learning et le rend moins efficace que les cours présentiels.

Un deuxième problème qui se marque, est la nouveauté de ce domaine. En effet,

l’e-Learning manque encore de l’expertise, ce qui a poussé plusieurs organismes

internationaux à inviter les concessionnaires des outils informatiques, technologiques et

éducatif à collaborer et à se lancer dans ce nouvel axe afin de l’améliorer. On cite parmi ces

organismes, l’union européenne, qui dans ses livres blancs, encourage et invite à la recherche

dans le domaine d’e-Learning et les domaines voisins tels que les Technologies de

l'information et de la communication [3].

De ce fait il est nécessaire de trouver une manière à travers laquelle on encourage

l’apprenant, qu’il soit professionnel, étudiant ou autre, à suivre sa formation sans

l’abandonner au mi-chemin. Effectivement, la solution réside dans l’adaptation du contenu du

cours présentés par les plates formes de l’enseignement à distance aux profils de l’apprenant

de façon automatique ; la personnalisation selon le profil.

Un profil d'utilisateur est une collecte des informations personnelles. Le profil de

l'utilisateur représente des qualifications cognitives, des capacités intellectuelles, des

intentions, des styles d’apprentissage, des préférences et des interactions avec le système. Ces

propriétés sont stockées après l'attribution de leurs valeurs. Ces valeurs peuvent être finales ou

changées au cours du temps [2].

Parmi les caractéristiques du profil de l’utilisateur on cite aussi l’approche

pédagogique qui permet de classer les apprenants en trois classes à savoir l’approche par

objectifs, l’approche par compétences et l’approche par collaboration [9]. Ce critère de

personnalisation informe d’avantage sur les préférences de l’utilisateur et améliore par suite le

processus de la personnalisation de l’adaptation des objets d’apprentissage au profil de

l’apprenant.

Notre projet consistera alors, à chercher et délimiter les caractéristiques des

différentes approches pédagogiques et élaborer un questionnaire qui permettra de déterminer

l’approche pédagogique d’un apprenant. La seconde mission consistera à la création d’un

Page 14: Rapport PFE Marouene Haddad

Introduction générale

3

service Web non seulement pour la détermination de l’approche pédagogique d’un apprenant,

mais qui, par ailleurs, donnera la main à la création des questionnaires et le calcul de la

préférence d’un sujet humain envers un thème spécifique.

Ce présent rapport est composé de cinq chapitres. Le premier chapitre rappelle les

notions de bases et illustre notre recherche. Le deuxième chapitre détaillera une étude de cas

démontrant ainsi la faisabilité de notre idée générale. Le troisième chapitre est réservé pour la

conception et la modélisation de l’application tandis que le quatrième chapitre est consacré à

son implémentation. Le cinquième et dernier chapitre présente les problèmes rencontrés ainsi

que les procédures de leurs résolutions.

Page 15: Rapport PFE Marouene Haddad

La recherche procède par des moments

distincts et durables, intuition,

aveuglement, exaltation et fièvre. Elle

aboutit un jour à cette joie, et connaît

cette joie celui qui a vécu des moments

singuliers.

Albert Einstein

Page 16: Rapport PFE Marouene Haddad

1 Introduction........................................................................................................................ 4

2 Les approches pédagogiques ............................................................................................. 4

2.1 L’approche par objectifs ............................................................................................ 4

2.1.1 Définition............................................................................................................ 4

2.1.2 Caractéristiques .................................................................................................. 5

2.2 L’approche par compétences ..................................................................................... 6

2.2.1 Définition............................................................................................................ 6

2.2.2 Caractéristiques................................................................................................... 7

2.3 Approche par collaboration ....................................................................................... 7

2.3.1 Définition............................................................................................................ 7

2.3.2 Caractéristiques................................................................................................... 8

2.4 Conclusion ................................................................................................................ 9

3 Modèle de l’acceptation de technologie (TAM) .............................................................. 9

3.1 Introduction................................................................................................................ 9

3.2 Présentation de TAM................................................................................................. 9

3.3 Conclusion ............................................................................................................... 11

4 La logique Floue .............................................................................................................. 11

4.1 Introduction.............................................................................................................. 11

4.2 Présentation de la logique Floue.............................................................................. 11

4.3 Les composants d’un problème Floue ..................................................................... 12

5 Service Web ..................................................................................................................... 13

5.1 Définition................................................................................................................. 13

5.2 Service Web de type WS-*...................................................................................... 14

5.2.1 L’invocation...................................................................................................... 15

5.2.2 La découverte ................................................................................................... 15

5.2.3 La description ................................................................................................... 15

5.3 Critiques................................................................................................................... 16

5.3.1 Avantages ......................................................................................................... 16

5.3.2 Inconvénients.................................................................................................... 16

6 Conclusion......................................................................................................................... 16

Page 17: Rapport PFE Marouene Haddad

Etat de l’art

4

1 Introduction

Le progrès scientifique et technologique a influencé divers et multiples domaines et

principalement l’enseignement avec ses différentes disciplines. Ce dernier a fait couler l’encre

de beaucoup de chercheurs de différentes spécialités, mais qui ont réagi fortement et

directement sur la qualité de l’apprentissage. La pédagogie, étant la décipiline la plus

laboureuse sur le sujet de l’apprentissage, a modifié et a progressé les méthodes de

l’enseignement.

Dans ce chapitre, nous présenterons en première partie notre domaine de

connaissance qui se manifeste par les différentes approches pédagogiques ainsi que leurs

caractéristiques. Dans une seconde partie, nous dévoilerons le modèle d’acceptation de la

technologie qui servira comme méthode d’élaboration de questionnaire et aussi bien comme

méthode de validation de nos travaux . En troisième partie nous étalerons la logique floue qui

constitura notre méthode de raisonnement et notre instrument de calcul et de résolution du

questionnaire. La dernière partie de ce chapitre portera sur la technologie des services Web

qui sera la technologie utilisée dans notre projet.

Alors quelles sont ces méthodes d’enseignement ? Sur quels principes sont-elles

fondées ? Y a-t-il une méthode applicable sur tous les apprenants ?

2 Les approches pédagogiques

2.1 L’approche par objectifs

2.1.1 Définition

L’approche par objectifs nécessite l’application d’une méthode pédagogique

construite rationnellement. Toutes les connaissances à acquérir sont déclinées en termes

d’objectifs généraux et opérationnels. Des niveaux intermédiaires peuvent être introduits, on

parle alors des objectifs intermédiaires, quand l’objectif du cours en question est important.

On se réfère à des méthodes de construction des objectifs pédagogiques, comme on se réfère à

Page 18: Rapport PFE Marouene Haddad

Etat de l’art

5

des processus et méthodes dans l’industrie. Des taxonomies ont été construites pour aider les

formateurs à formuler les objectifs de leurs cours. [16]

L’approche par objectifs, peut être définie comme étant une référence ou une

technique. Elle n’est pas incompatible avec les méthodes qui prennent en compte les

opérations mentales, les processus de raisonnement, l’influence de l’environnement social,

pour lesquelles l’acte d’apprendre est beaucoup plus que l’association d’un stimulus et d’un

comportement observable. [16]

2.1.2 Caractéristiques

Pour réussir l’implémentation de l’approche par objectifs dans un système

d’enseignement, il faut respecter certains aspects qualifiés primordiales. En premier lieu

l’information doit être organisée de façon hiérarchique. Pour ce faire, Bloom.B à mis en

œuvre en 1956, une taxonomie qui organise les objectifs selon un ordre particulier et étudié :

Niveau Activités

1. ConnaissanceMémoriser des informations, définir des terminologies, des techniques,etc.

2. Compréhension Comprendre un article afin d'en faire un résumé

3. ApplicationUtiliser les connaissances de l'apprenant pour les appliquer dans unesituation concrète (" la vraie vie ")

4. AnalyseDemander à l'apprenant de disséquer un sujet, d'en expliquer les tenantset les aboutissants

5. SynthèseReformuler les parties d'un sujet ensemble mais d'une toute nouvellemanière en se basant sur plusieurs sources

6. Évaluation Juger la valeur d'un sujet dans un but spécifique

Tableau 1 : Taxonomie des objectifs éducationnels de Bloom. [24]

Une telle approche favorise le travail individuel et pousse les apprenant à effectuer

tout le travail de façon autonome. Ceci approuve en conséquence, le forçage de l’introduction

de l’information qui est généralement déconseillé puisqu’il élargi l’écart entre l’information et

le récépteur de l’information.

Une autre caratéristique qui n’est pas moins importante, est l’aspect de généralisation

et d’abstraction. En effet, cette approche invite l’apprenant à s’orienter vers l’abstraction lors

Page 19: Rapport PFE Marouene Haddad

Etat de l’art

6

d’un traitement d’un problème, et l’encourage à généraliser ses requis dans divers domaines

d’application qui mène en conséquence à l’automatisme de l’apprentissage.

Par définition, le comportement humain est hyper-complex. Alors est-il possible

d’automatiser le processus d’apprentissage tout en tenant compte de cette contrainte ?

Dans le cas contraire est-il juste d’opprimer les apprenants qui ne leur convient pas

une telle approche ?

2.2 L’approche par compétences

2.2.1 Définition

L’approche par compétence est un savoir agir réfléchi faisant intervenir des

connaissances, des capacités, des aptitudes en vue d'une action finalisée. l’approche (par

compétence), par conséquence, implique une vigilance épistémologique parce que le savoir

est quelque chose de vivant . [25], définit Michel Devalay, Maître de conférence à

l’Université Lumière Lyon II.

L’approche par compétences vise essentiellement à mobiliser certaines compétences

en réaction à une situation déterminée. De ce fait, lors de la confrentation d’une situation, un

apprenant essaie d’utiliser les savoirs qu’il a appris. Ces savoirs, étant des prérequis, des

capacités ou des connaissances provenant de divers sciences et disciplines et leur assemblage

construira la compétence visée[figure3].

Figure1 : la construction d’une compétence [15]

Page 20: Rapport PFE Marouene Haddad

Etat de l’art

7

Dans le paragraphe suivant, nous présenterons les caractéristiques les plus

déterminantes de l’approche par compétences.

2.2.2 Caractéristiques

L’approche par compétences vise essentiellement à mobiliser les compétences de

l’apprenant. Selon cette approche la meilleure façon de s’adresser à ce dernier et d’être à la

fois util et familier. Pour ce faire il n’existe qu’une unique manière qui se base sur l’énoncé

des problèmes réels (au moins au regards de l’apprenant). Alors chaque situation ou famille

de situation que doit résoudre un apprenant doit se réferrer au monde réel pour que ce dernier

puisse percevoir l’utilité de l’apprentissage.

Lors d’un traitement d’une situation, l’apprenant doit exploiter tout ses prérequis

ainsi que toutes ses connaissances et doit les mobiliser indépendemant de la matière qu’il est

entrain d’étudier. De ce fait une telle approche élimine les frantières posées par l’étude d’une

matière et en second lieu permet à l’apprenant d’affronter un problème en entier sans

abstraction ni hypothèse et il ne sera pas obligé de traiter le même problème deux fois dans

deux scéances différentes.

Une fois l’apprenant est devenu capable de gérer une situation qu’on note S, il doit

être capble de résoudre pareillement la famille de situations à laquelle appartient S. Une

famille de situations étant une collection de situations semblables, similaires et qui sont gérées

par la même compétence. Cette famille peut être ordonnée selon la complexité de ses

situations qui les englobe afin de garantir le bon apprentissage de la compétance par

l’apprenant.

Plusieurs chercheurs ont qualifié l’approche par compétences comme correction ou

réaction aux critique qu’a subit l’approche par objectif [25]. Alors avons-nous atteint notre

objectif : une meilleur approche pédagogique d’enseignement pour tout le monde ?

2.3 Approche par collaboration

2.3.1 Définition

L’approche collaborative est toute activité d'apprentissage réalisée par un groupe

d'apprenants ayant un but commun, étant chacun source d'information, de motivation,

d'interaction et d'entraide, et bénéficiant chacun des apports des autres, de la synergie du

Page 21: Rapport PFE Marouene Haddad

Etat de l’art

8

groupe et de l'aide d'un formateur facilitant les apprentissages individuels et collectifs. [4]

Cette définition étant tirée d’une trentaine de page que Henri.F et Lundgren-Cayrol.K, avaient

consacré dans leur ouvrage « Apprentissage collaboratif à distance » pour définir le terme.

Ces auteurs montrent aussi dans leur ouvrage la différence entre une approche

collaborative et une approche coopérative pour ne pas faire de confusion. Ils citent que la

collaboration est mise autant sur la réalisation de la tâche par l’apprenant que par le groupe,

contrairement à la coopération qui propose à l’apprenant de s’acquitter d’une sous-tâche

permettant au groupe de réaliser la tâche. [14]

Alors quelles sont les caractéristiques de l’approche par collaboration?

2.3.2 Caractéristiques

L’approche par collaboration, comme l’indique son nom d’ailleurs, est une méthode

qui favorise le travail collectif et individuel en même temps. En effet, en terme de but, un

groupe d’apprenants (appelés souvent collaborateurs) fixent un but commun à atteindre (le cas

échéant est la résolution d’un problème). Cette fixation de but donne à l’apprenant une

assurance qu’il n’est pas seul face à un problème et lui donne le courage pour l’affronter. Et

voilà c’est l’aspect collectif de cette approche. Une fois le but est fixé, chaque collaborateur

essaie de sa part de résoudre le problème de façon autonome, ce qui manifeste le travail

individuel au sein d’un groupe. Par la suite, le collaborateur est invité à comparer ses résultats

avec celles obtenues par les autres membres du groupe. Cette étape permet à l’apprenant de se

fixer l’idée que s’il commit une erreur, certainement il y aura quelqu’un qui peut lui mettre

l’accent dessus. Cette caractéristique favorise la solidarité et le soutient mutuel.

L’approche par collaboration favorise l’aspect constructiviste plus que l’aspect

comportemental (dit aussi behavioriste). En effet, une telle approche pédagogique vise

essentiellement à la construction de la connaissance et non à sa reproduction : le but étant

d’apprendre comment construire une nouvelle connaissance et non l’apprendre. Cela exige la

maturité scientifique des apprenants (lycéens, étudiants).

Il est indispensable de signaler que l’approche collaborative encourage à la

recherche, la découverte et l’analyse puisqu’elle vise à construire la connaissance.

Page 22: Rapport PFE Marouene Haddad

Etat de l’art

9

L’approche par collaboration, comme les approches précédentes, admet à son tour

des caractéristiques importantes. Cependant, est-il évidant que tout les apprenant sont mûres

en matière de connaissance scientifique ?

Si c’est le cas, est-il évident qu’ils admettent le même degré de maturité qui leur

permet de suivre cette approche pédagogique ?

2.4 Conclusion

Dans cette partie on a essayé d’évoquer des questions qui se posent dans le monde de

l’apprentissage mais qui ne sont pas bien traitées vue la complexité de la situation. L’apport

technologique nous permet de résoudre plusieurs problèmes relatifs au processus de

l’apprentissage. On remarque qu’à l’aide de l’enseignement en ligne qu’on peut personnaliser

les cours selon les préférences de l’apprenant. De ce fait on a constaté l’importance et la

nécessité de classifier les apprenants selon leurs approches pédagogiques. Pour ce faire il

existe une méthode très connue et répondue : le questionnaire.

Nous expliquerons dans ce qui suit les étapes achevées et les logiques utilisées dans

le cadre de l’élaboration du questionnaire de détermination de l’approche pédagogique d’un

apprenant.

3 Modèle d’Acceptation de la Technologie (TAM)

3.1 Introduction

Au début de l’élaboration du questionnaire, nous avons eu une inquiétude concernant

les questions qu’on va poser. Alors de quelle manière allons-nous poser les questions ? Quels

sont les critères visés par ces questions ? Comment allons-nous élaborer notre questionnaire ?

Dans cette partie nous présenterons l’utilité de TAM et son exploitation.

3.2 Présentation de TAM

TAM : Modèle d’Acceptation de la Technologie (Technology Acceptance Model).

Créé par Davis.F en 1987, TAM dérive essentiellement d’un modèle très utilisé à savoir,

TRA : Modèle de l’Action Raisonnée (Theory of Reasoned Action).

Page 23: Rapport PFE Marouene Haddad

Etat de l’art

10

TRA a été élaboré pour déterminer la tendance et l’acceptation d’un consommateur

envers un produit. Ce modèle était général et applicable sur n’importe quel produit y inclus

même les services, alors que TAM est conçus spécifiquement pour les sujets purement

technologiques. D’ailleurs, en lisant le papier écrit par Davis.F [12], lors de la présentation de

TAM, on remarque que l’exemple des travaux effectués était l’acceptation des employés

d’une entreprise du système d’information implanté.

Davis.F explique dans le même papier que l’acceptabilité d’un système

d’information est basée essentiellement sur deux facteurs fondamentaux à savoir : la

perception de l’utilité et la perception de la facilité d’utilisation.

Davis définit le facteur perception de l’utilité comme étant un degré auquel une

personne croit que l’utilisation d’un système améliorera ses performances. La perception de la

facilité d’utilisation se réfère, quant à elle, au degré auquel une personne croit que l’utilisation

d’un système sera dénuée d’efforts.

Pour mieux comprendre le modèle, il est indispensable de comprendre le schéma

présenté par Davis résumant sa théorie.

Figure2 : Schéma du Modèle d’Acceptation de la Technologie. [11]

Il faut noter en premier lieu que les flèches reliant les différents facteurs du modèle

ne sont pas des flèches d’incidence. En effet, elles représentent l’influence d’un facteur sur un

autre.

En second lieu on note que les flèches ne portent pas de poids, pour autant, Davis.F

exprime dans ces travaux de validation de sa théorie que le lien entre la perception de l’utilité

et l’intention d’utilisation est plus fort que celui entre la perception de facilité d’utilisation et

l’intention de l’utilisation.

Page 24: Rapport PFE Marouene Haddad

Etat de l’art

11

3.3 Conclusion

TAM est un modèle d’acceptation de système d’information très répondu et très

utilisé pour l’établissement d’un questionnaire valide. Cependant la méthode de calcul des

approches reste un problème à confronter [12].

Dans la partie suivante on présentera une logique mathématique puissante, qui va

nous permettre de résoudre le problème tout en tenant compte de la relativité du

comportement humain. En second lieu nous présenterons ses critères et nous argumenterons le

choix de cette logique.

4 La logique Floue

4.1 Introduction

Nous avons eu l’occasion de manipuler un questionnaire lors du stage d’été. D’après

les recherches et les lectures effectuées, nous avons remarqué que les résultats des

questionnaires établis (sorties ou output) étaient calculés de façon rigide et radicale (vrai ou

faux) alors que les réponses (entrées ou input) étaient des tendances et non des réponses

exactes. La méthode était simple : on donnait une échelle pour les réponses, on calculait la

somme pour chaque catégorie, et on déterminait le résultat par le biais d’une comparaison

classique. Si on voulait avoir une idée sur l’intensité de la tendance il suffirait de comparer le

résultat par rapport aux tendances maximales relatives à la catégorie en question.

Le problème de relativité constitue alors un facteur important lors d’une telle

opération. Pour résoudre le problème il faut trouver une méthode plus convenable qui

supporte cette relativité. Alors existe-t-il une méthode ou une logique plus flexible, plus

souple et plus tolérante qui peut nous rapprocher plus à l’exactitude ?

4.2 Présentation de la logique Floue

Introduite par Zadeh.L en 1965 à L'université de Californie Berkeley, la logique

floue régnait tous les domaines scientifiques ainsi que les industriels, allant de l’électronique,

l’informatique et l’intelligence artificielle et arrivant à la médecine. Le succès de cette théorie

réside dans le fait qu’elle accepte une infinité de valeur de vérité contrairement aux logiques

ensemblistes qui sont binaire (vrai ou faux). Cette caractéristique permet de résoudre divers

Page 25: Rapport PFE Marouene Haddad

Etat de l’art

12

problème que les autres logiques n’arrivaient pas à les implémenter, surtout bien lorsqu’il

s’agit d’incertitude au niveau des entrée d’un problème. Ces intervalles incertains sont les

sous-ensembles floues que Zadeh à introduit en 1965 et débutant ainsi l’élaboration de sa

fameuse théorie. Zadeh effectuait par la suite une extension dans sa théorie en introduisant la

théorie des possibilités en 1987. Ainsi l’élaboration de la théorie de la logique floue s’avérait

terminée.

4.3 Les composants d’un problème Floue

Il est évident que chaque problème manipule des données qui constituent le point de

départ de sa résolution. Sans données initiales, notées aussi les entrées ou les inputs, on n’aura

rien à résoudre. La logique floue donne la main à son appliquant d’introduire les données de

problème à travers l’étape de ‘fuzzyfication’. Cette étape contient en effet, toutes les entrées

du problème à résoudre. La représentation des données par des courbes bidimensionnelles, est

le point fort de cette théorie car elles permettent de spécifier les sous-ensembles flous relatifs

à chaque donnée.

L’utilité de la résolution d’un problème est l’obtention d’un résultat significatif, par

conséquence une sortie ou output interprétable. C’est l’étape de ‘defuzzyfication’ qui

s’occupe de la présentation de la sortie. A son tour cette étape donne la main à l’appliquant

d’introduire la courbe de la sortie tout en utilisant les sous-ensembles flous qui constitue aussi

une caractéristique importante de cette théorie.

L’étape de ‘defuzzyfication’ contient aussi la spécification de la valeur par défaut, si aucune

règle n’est applicable, ainsi que la méthode de calcul de la valeur de sortie.

Le passage de l’entrée à la sortie nécessite un traitement. Le traitement dans la

logique floue est en fait, l’application des règles introduite par l’appliquant sur les données

afin d’obtenir des résultats. L’introduction des règles se fait à travers l’étape de règles.

L’étape de règles est constituée d’un ensemble de règles que chacune à son tour se compose

d’un nom, de termes linguistiques, introduit lors de la spécification des données d’entrées,

concaténés par des opérateurs logiques et une décision qui est toujours un terme linguistique

de sortie.

Nous notons dans ce contexte que le nombre de règles définies dans un problème à

résoudre avec la logique floue intervient dans la précision des résultats obtenus. En effet,

Page 26: Rapport PFE Marouene Haddad

Etat de l’art

13

lorsqu’il s’agit d’un nombre important de règles, il y aura plus de calculs et plus de traitement

selon ces règles, alors il y aura plus de raffinage des résultats. Cependant le nombre de règle

n’intervient pas dans la validité des résultats.

Pour résumer ce que nous venons de dire nous procéderons à la présentation d’un

schéma explicatif, montrant ainsi l’interaction entre les différentes composantes d’un

problème flou. Ce schéma éclaircie d’avantage les termes techniques que nous venons

d’utiliser dans ce qui précède.

Figure 3 : schéma de fonctionnalité de la logique floue. [1]

5 Service Web

5.1 Définition

Un service Web est un programme informatique permettant la communication et

l'échange de données entre applications et systèmes hétérogènes dans des environnements

distribués. Il s'agit donc d'un ensemble de fonctionnalités exposées sur Internet ou sur un

Intranet, par et pour des applications ou machines, sans intervention humaine, et en temps

réel. [27]

Le service Web utilise le protocole HTTP comme moyen de transport. Ainsi, les

communications s'effectuent sur un support universel, maîtrisé et généralement non filtré par

Page 27: Rapport PFE Marouene Haddad

Etat de l’art

14

les pare-feux. Sa syntaxe est basée sur la notation XML pour décrire les appels de fonctions

distantes et les données échangées en organisant les mécanismes d'appel et de réponse [23].

Grâce aux services Web, les applications peuvent être vues comme un ensemble de

services métiers, structurés et correctement décrits, dialoguant selon un standard international

plutôt qu'un ensemble d'objets et de méthodes entremêlés [23].

Ainsi, nous concluons qu’un service Web permet l’interopérabilité entre différentes

plates formes et la réduction de la complexité d’une application vue l’indépendance d’un

service Web par rapport à cette dernière. De ce fait la maintenance d’une telle application

devient aisée et de coût réduit.

Il existe plusieurs types de services Web à savoir les services Web REST et les

services Web WS-*qui sont les plus répondus. Alors le type WS-* sera utilisé lors de

l’implémentation de notre projet.

5.2 Service Web de type WS-*

Désigne l'implémentation logicielle des spécifications WS-* et repose sur un

ensemble de protocoles et de standards de base utilisés pour l'échange de données entre

applications dans des environnements hétérogènes:

Le protocole SOAP pour l'échange de messages.

Le fichier WSDL pour la description des messages, de leur type de données...

Une entrée éventuelle dans un annuaire UDDI

Ces services Web WS-* sont par ailleurs définis selon le type d'architecture SOA

(Services Oriented Architecture) qui est à l’origine de l’apparition du terme service.

L'OASIS et le World Wide Web Consortium (W3C) sont les comités de coordination

responsables de l'architecture et de la standardisation des services Web. Pour améliorer

l'interopérabilité entre les réalisations de service Web, l'organisation WS-I a développé une

série de profils pour faire évoluer les futures normes impliquées. [27]

Le fonctionnement des services Web WS-* repose sur un modèle en couches, dont

les trois couches fondamentales sont les suivantes :

Page 28: Rapport PFE Marouene Haddad

Etat de l’art

15

5.2.1 L’invocation

Visant à décrire la structure des messages échangés par les applications. Il existe deux

grands standards de services Web, tous deux basés sur XML :

XML-RPC (XML Remote Procedure Call), le plus ancien, fonctionnant sur un

principe procédural et sans gestion des états. Il a été défini depuis 1998, pour permettre

l’exécution des processus via un réseau. Il est à noté qu’il est l’ancêtre de SOAP. [27]

SOAP (Simple Object Access Protocol), fonctionnant selon le modèle objet. Il a été

définit à l'origine par Microsoft, puis standardisé par le W3C, utilisant la notation XML

permettant de définir les mécanismes d'échanges d'information entre des clients et des

fournisseurs de services Web. [23]

Quel que soit le standard utilisé, le principe de programmation est le même : l'appel

de méthode distante est réalisé grâce à une bibliothèque cliente qui transmet la demande au

fournisseur de service en la formatant en XML de manière transparente. Au niveau du

serveur, une bibliothèque spécifique décode la requête, et transmet les paramètres à

l’application serveur qui effectue les traitements nécessaire et retourne le résultat à cette

même bibliothèque, qui à son tour traduit la réponse et l’envoie au client. La bibliothèque

cliente décode la réponse reçue afin qu’elle soit utilisée.

5.2.2 La découverte

Permet de rechercher et de localiser un service Web particulier dans un annuaire de

services décrivant le nom de la société, l'objectif de chaque service, etc. Le protocole standard

le plus utilisé pour la découverte de services est UDDI.

Le standard UDDI (Universal Description Discovery and Integration) défini par

l'OASIS vise à décrire une manière standard de publier et d'interroger les services Web

proposés par un réseau, généralement au sein d'un service d'annuaire recensant les services

Web de l'organisation.

5.2.3 La description

L'objectif de cette couche est la description des interfaces (paramètres des fonctions,

types de données) des services Web.

Page 29: Rapport PFE Marouene Haddad

Etat de l’art

16

Le standard WSDL (Web Service Description Language) est un langage reposant sur

la notation XML permettant de décrire les services Web. WSDL permet ainsi de décrire

l'emplacement du service Web ainsi que les opérations (méthodes, paramètres et valeurs de

retour) que le service propose.

5.3 Critiques [27]

5.3.1 Avantages

Les services Web fournissent l'interopérabilité entre divers logiciels fonctionnant sur

diverses plateformes.

Les services Web utilisent des standards et protocoles ouverts.

Les protocoles et les formats de données sont au format texte dans la mesure du

possible, facilitant ainsi la compréhension du fonctionnement global des échanges.

Basés sur le protocole HTTP, les services Web peuvent fonctionner au travers de

nombreux pare-feux sans nécessiter des changements des règles de filtrage.

5.3.2 Inconvénients

Les normes de services Web dans certains domaines sont actuellement récentes.

Les services Web souffrent de performances faibles comparés à d'autres approches

de l'informatique répartie telles que le RMI, CORBA, ou DCOM.

6 Conclusion

Dans ce chapitre, nous avons présenté le domaine d’étude ainsi que les outils

nécessaires au développement de notre projet. Dans ce qui suit, nous montrerons l’application

de ces outils sur le domaine en question. Le deuxième chapitre comportera une étude de cas

du questionnaire qui permettra la détermination de l’approche pédagogique approprié à un

apprenant.

Page 30: Rapport PFE Marouene Haddad

Bien poser les questions, c'est tout un

art. Où tout dépend, bien sûr, de la

réponse que l'on veut obtenir.

André Frossard

Page 31: Rapport PFE Marouene Haddad

1 Introduction ..................................................................................................................... 17

2 L’élaboration du questionnaire ..................................................................................... 17

2.1 Introduction.............................................................................................................. 17

2.2 Définition................................................................................................................. 17

2.3 Caractéristiques qualitatives du questionnaire......................................................... 17

2.4 Caractéristiques quantitatives du questionnaire....................................................... 18

3 Le questionnaire de détermination de l’approche pédagogique................................. 19

3.1 L’approche par objectif............................................................................................ 19

3.2 L’approche par compétence..................................................................................... 20

3.3 L’approche par collaboration................................................................................... 21

4 L’implémentation du questionnaire .............................................................................. 22

4.1 Introduction.............................................................................................................. 22

4.2 Langage de contrôle floue (FCL) ........................................................................... 22

4.3 Le package jFuzzyLogic.......................................................................................... 22

5 Application....................................................................................................................... 23

5.1 Introduction.............................................................................................................. 23

5.2 Fichier FCL.............................................................................................................. 23

5.3 Etude empirique....................................................................................................... 25

6 Conclusion........................................................................................................................ 27

Page 32: Rapport PFE Marouene Haddad

Etude de cas

17

1 Introduction

L’une des contributions évoquées dans notre projet est la classification des

apprenants selon leurs approches pédagogiques. Pour ce faire nous allons y procéder par le

biais d’un questionnaire. Comment allons-nous élaborer le questionnaire ? Comment sera

déterminée l’approche appropriée à un apprenant ?

2 L’élaboration du questionnaire

2.1 Introduction

L’élaboration d’un questionnaire autour d’un thème spécifique n’est pas une tâche

facile du fait qu’il ne s’agit pas uniquement de poser des questions, mais aussi de les bien

poser. En effet, il faut savoir ce qu’on vise par une question et comment la formuler. Alors

pour produire un bon questionnaire il faut fouiller dans le domaine et apprendre les étapes

nécessaires.

2.2 Définition

Dans une enquête par sondage, un questionnaire représente une série de questions

écrites ou orales posées aux membres d’un échantillon représentatif pour connaître leurs

opinions sur les sujets abordés par l’enquête [7].

Dans notre cas, il s’agira d’une série de questions à travers laquelle nous

déterminerons l’opinion, la tendance, l’attitude, la préférence d’un apprenant envers chaque

approche pédagogique en appliquant la logique floue. Ensuite, par le biais d’une simple

comparaison, nous déterminerons celle qui lui est la plus appropriée.

2.3 Caractéristiques qualitatives du questionnaire

Un questionnaire peut comporter des questions ouvertes ou fermées. Une question

ouverte est comme l’indique son nom, laisse la possibilité au candidat de développer sa

réponse avec liberté et sans aucune limite qualitative ou quantitative, alors qu’une question

fermée limite sa réponse. En effet le candidat se trouve obligé de choisir une réponse parmi

Page 33: Rapport PFE Marouene Haddad

Etude de cas

18

celles préétablies et énoncées par le questionnaire. La question fermée peut être à choix

multiples, alors le candidat aura la liberté de choisir une ou plusieurs réponses, ou à choix

unique où le candidat doit choisir uniquement une et une seule réponse.

La question fermée, quelle soit à choix unique ou multiple est mieux interprétée lors

d’un traitement spécifique d’où la tendance des questionnaires vers l’utilisation de ce type de

question. En effet, vu que la question fermée admet une cardinalité de réponse limitée, il sera

facile de réaliser les calcules souhaités.

Dans ce contexte, notre questionnaire ne contiendra que des questions fermées.

L’imposition de cette règle étant argumentée par le faite que seules les questions fermées

permettront de calculer la préférence d’un candidat envers un thème déterminé. [13]

Puisqu’il s’agit d’un calcul de préférence, nous devons fixer une échelle pour les

questions qui vont être posées aux apprenants. En se référant à TAM, l’échelle comportera

sept graduations à savoir, totalement en accord, moyennement en accord, peu en accord, ni en

accord ni en désaccord, peut en désaccord, moyennement en désaccord et totalement en

désaccord. Cette échelle permet non seulement d’exprimer l’avis du candidat mais aussi de

mesurer l’intensité de son opinion.

Totalementenaccord

Moyennementenaccord

Peuenaccord

Ni enaccordni endésaccord

Peuendésaccord

Moyennementendésaccord

Totalementendésaccord

2.4 Caractéristiques quantitatives du questionnaire

Selon TAM, pour élaborer un questionnaire sur un thème spécifique, il faut tout

d’abord dégager les caractéristiques déterminantes du thème. Ensuite sur chaque

caractéristique, poser un nombre de question. Ce nombre était inconnu au début des travaux

empiriques de Fred Davis, puis le fondateur de TAM à démontré que le nombre quatre est

l’optimal [11]; il est le nombre minimal de question qui assure la bonne expression de

l’opinion du candidat envers la caractéristique en question.

Dans notre cas il s’agit de calculer la préférence d’un apprenant envers les approches

pédagogiques visées par le questionnaire. Pour cela, nous allons fixer quelques règles. La

première concerne le nombre de questions par caractéristique qui doit être identique pour

assurer l’équilibre du questionnaire. Le nombre de questions par caractéristique sera fixé à

Page 34: Rapport PFE Marouene Haddad

Etude de cas

19

quatre puisqu’il est l’optimum. La seconde règle énonce que chaque approche doit contenir le

même nombre de caractéristiques pour assurer l’objectivité.

Dans le premier chapitre, nous avons définie chaque approche et nous avons détaillé

leurs caractéristiques. Nous énonçons rapidement les caractéristiques fondamentales et

déterministes de chaque approche ainsi que leurs questions relatives.

3 Le questionnaire de détermination de l’approche pédagogique

3.1 Approche par objectif

Apprentissage individuel

Je préfère résoudre les exercices de façon autonome.

Je préfère travailler dans un environnement indépendant que j’ai créé moi-même.

J’aime être responsable uniquement sur les actions que je réalise.

Je préfère le travail individuel pour assumer uniquement mes responsabilités.

Plusieurs domaines d’application (Aspect abstrait et généralisé)

J’aime les théories qui sont applicables dans plusieurs domaines.

Je préfère ne considérer du problème que ce qui importe pour sa résolution.

Je crois que les sciences qui sont relatives admettent des problèmes qui se résolvent

par les mêmes méthodes.

Je préfère le travail méthodique et logique sans pour autant se référer au monde réel.

Forçage de l’introduction de l’information

Je préfère suivre un cours organisé et méthodique et atteindre son objectif final.

Je préfère l’application des théorèmes même s’ils sont ‘parachutés’ (je ne connais

pas ses précédences logiques).

J’aime refaire le travail jusqu’à l’apprendre ou apprendre comment l’effectuer.

L’entrainement est la meilleure méthode pour apprendre et pour réussir l’épreuve.

Page 35: Rapport PFE Marouene Haddad

Etude de cas

20

3.2 Approche par compétence

Problèmes réels (situation et famille de situations)

Je préfère la résolution des problèmes relatifs au monde réel et qui admettent des

significations réelles.

J’aime beaucoup appliquer mes compétences pour résoudre des problèmes pratiques

et réels.

Quand je reçois l’information j’essai toujours de la mettre dans un contexte réel,

pratique et quotidien.

J’ai tendance à appliquer mes compétences requises sur des problèmes similaires et

pratiques à la fois.

Mobilisation de plusieurs et diverses capacités

Je préfère utiliser différentes capacités dans la résolution d’un problème.

J’ai tendance à résoudre les problèmes qui nécessitent des compétences multiples et

diverses.

J’aime le travail qui vise à exploiter différentes connaissances et pré-requis.

Je m’entends mieux avec des gens qui aiment développer différentes capacités et

compétences.

Catégories de situations (familles de situations)

Il y a certainement une classification sémantique des situations à résoudre.

Chaque situation appartient à une classe bien précise.

Chaque groupement de situations similaires peut être considéré comme une famille

de situation.

La famille de situations constitue un conteneur des problèmes réels et analogues.

Page 36: Rapport PFE Marouene Haddad

Etude de cas

21

3.3 Approche par collaboration

Travail individuel et interdépendant

J’aime travailler de façon individuelle pour atteindre le but visé par les membres du

groupe.

Je préfère effectuer moi-même tout le travail et partager les idées et les résultats avec

les autres membres du groupe.

J’aime collaborer dans un travail collectif par l’introduction de ma vision et de mes

efforts personnels.

Lors d’un traitement d’un problème, j’ai tendance à vérifier mes résultats avec les

membres du groupe de travail.

Fixation d’un but commun

Je préfère fixer un but commun et chacun des membres du groupe collabore afin d’y

atteindre.

J’ai tendance à orienter mes efforts vers l’atténuation du but commun de mon

groupe de travail.

Je ressens l’assurance et le soutient lorsque je travaille sur un sujet en parallèle avec

mes collaborateurs.

Je tends à sacrifier mes efforts pour le but commun du groupe.

Partage de connaissance

J’aime partager mes connaissances avec un groupe d’apprenants.

Je crois fortement que l’échange d’informations est important pour la formation de

l’apprenant.

J’aime publier gratuitement mes travaux afin que tout le monde puisse y accéder et

s’en bénéficier.

Page 37: Rapport PFE Marouene Haddad

Etude de cas

22

J’ai tendance à partager ouvertement ce que je produis.

4 L’implémentation du questionnaire

4.1 Introduction

Après avoir élaboré le questionnaire et fixer toutes ses caractéristiques quantitatives

et qualitative, nous allons procéder à son implémentation afin de lui appliquer les mécanismes

de calcule flou. Pour ce faire il est indispensable d’utiliser un langage de programmation

spécifique.

4.2 Langage de Contrôle Flou (FCL)

‘FCL’ est l’abréviation de Fuzzy Control Language ou Langage de Contrôle Flou.

C’est un langage définit et standardisé par la Commission Electrotechnique Internationale

IEC ; IEC 61131-3 [5] et repris par la même commission dans le standard IEC 1131-7 [4],

dans le but d’implémenter la logique floue aussi bien que les contrôles flous. En effet, un

fichier ‘FCL’ contient un bloc de code qui inclut à son tour, un bloc pour la définition des

entrées, un bloc pour la définition des sorties, et un bloc de spécification des règles. Le

principe de fonctionnement d’un code ‘FCL’ est simple et se résume par l’application des

règles sur les entrées afin de calculer les sorties qui constituent le résultat du traitement.

Cependant, il est indispensable de noter que le langage ‘FCL’ n’admet pas d’API qui

permet de le manipuler. Cela signifie que si on désire effectuer des testes, on ne peut pas le

faire puisqu’il n’y a pas d’interface qui le permet. De ce fait nous sommes obligés d’utiliser

un API indépendant ou d’en créer un.

4.3 Le package jFuzzyLogic

C’est un package publié par le comité libre SourceForge.net. Il s’agit d’une

bibliothèque implémentée sous JAVA et d’un API professionnel qui permet de traiter les

fichiers écrit sous le standard IEC 61131-7 [5], en d’autres termes permet la manipulation des

fichiers ‘FCL’ [19]. Le fonctionnement de ce package est essentiellement basé sur un système

brouillé complet d'inférence (FIS) qui peut être convertit en flux ‘FCL’ ou manipulé

directement à travers ses fonctions pré implémentées.

Page 38: Rapport PFE Marouene Haddad

Etude de cas

23

5 Application

5.1 Introduction

Il s’agit dans cette partie de détailler l’implémentation technique du questionnaire et

de montrer en revanche l’application de la logique floue sur le questionnaire ainsi que la mise

en œuvre de l’utilisation des outils que nous venons de présenter.

5.2 Fichier FCL

Généralement, un fichier ‘FCL’ comporte cinq blocs de code. Le premier bloc,

nommé ‘VAR_INPUT’, définit les différentes entrées du système en question, ainsi que leurs

types. Le deuxième bloc qui se nomme ‘VAR_OUTPUT’, se contente de définir ses sorties

aussi bien que leurs types. Le troisième bloc est constitué d’un ensemble fini de sous bloc qui

représentent entre autre les spécifications des entrées. En effet, chaque sous-bloc, dit

‘FUZZIFY_ENTREE_i’, définit les termes linguistiques nécessaires et leurs fonctions. Le

quatrième bloc est réservé à la description des sorties. En effet, ce bloc est constitué à son tour

d’un nombre fini de sous-bloc, appelés ‘DEFUZZIFY_SORTIE_i’, qui sont responsables de

la spécification des termes linguistiques et leurs fonctions relatives. Ce bloc est également

responsable de la fixation de la méthode de calcul. Un dernier bloc, dit ‘RULEBLOCK’,

permet au concepteur des fichiers ‘FCL’ de décrire les règles applicables sur le système

d’interférence en question ainsi que les méthodes d’activation et d’accumulation. La méthode

d’activation se base sur un processus par lequel, le degré de respect d’une condition agit sur

un ensemble de sortie flou, alors que la méthode d’accumulation est la combinaison des

résultats des règles linguistiques dans un résultat final.

Dans notre cas, nous allons, en premier lieu, calculer la tendance d’un apprenant

envers une caractéristique bien déterminé. Pour ce faire, nous devons récupérer les réponses

aux questions relatives à cette caractéristique. Ces réponses constituent les entrées de notre

fichier ‘FCL’. La variable de sortie sera la préférence de cette caractéristique. Ensuite, nous

devons spécifier les termes linguistiques et leurs fonction respectives pour les entrées aussi

bien que pour la sortie. Les termes linguistiques sont l’accord, le désaccord et la tendance ou

la neutralité de l’apprenant envers une caractéristique. L’accord comportera trois degrés à

savoir totalement en accord, moyennement en accord et peut en accord, et pareillement pour

le désaccord qui comportera à son tour trois degrés à savoir totalement en désaccord,

Page 39: Rapport PFE Marouene Haddad

Etude de cas

24

moyennement en désaccord et peut en désaccord, tant disque le terme moyen comportera une

partie de l’accord et une parie du désaccord. En assemblant les degrés de l’accord, du

désaccord et du moyen on obtient sept graduations qui constituent l’échelle de tendance

présentée par Davis.F lors de l’élaboration de TAM [12].

Figure4 : Fonction de la variable d’entrée Quest1.

Figure 5 : Fonction de la variable de sortie Préférence.

Une fois les variables d’entrée et de sorties définies, nous devrons fixer la méthode

d’activation et la méthode d’accumulation. Par la suite nous devrons énoncer les règles de

calcul de préférence qui seront appliquées sur les entrées. Ainsi on obtient le résultat souhaité.

Nous notons que notre fichier ‘FCL’ utilise le Centre de Gravité comme méthode de calcul

qui est mentionnée au part avant dans le bloc DEFUZZIFY_PREFERENCE.

Page 40: Rapport PFE Marouene Haddad

Etude de cas

25

Figure 6 : Résultat de la Defuzzyfication

Il ne reste maintenant que projeter le centre de gravité obtenu sur l’axe des abscisses.

Cette projection nous permet de déterminer la valeur de la préférence de l’apprenant envers

une telle approche.

Figure 7 : Simulation de la projection

Maintenant, nous répliquons le même traitement sur les différentes caractéristiques

d’une même approche pour obtenir la préférence totale.

En appliquant les mêmes principes expliqués précédemment, nous calculons les

tendances envers les différentes approches. Une fois cette étape achevée, on procède à la

récupération des valeurs des tendances afin d’en tirer la plus appropriée.

5.3 Etude empirique

Le but de cette étude est de tester le questionnaire élaboré. Ce test vise

essentiellement à vérifier son bon fonctionnement, et exprime entre temps les résultats de

quelques jeux de test. Cette étude se résume dans le tableau présenté ci-dessous et qui est

accompagné, par ailleurs, d’une légende résumant les termes et les abréviations y inclus.

Page 41: Rapport PFE Marouene Haddad

Etude de cas

26

Questions Jeux1 Jeux2 Jeux3 Jeux4 Jeux5

Question 1 TEA TED NEANED MEA TEA

Question 2 MEA PED NEANED TEA MEA

Question 3 PED MED PED PEA TEA

Question 4 TED NEANED PEA NEANED PEA

Question 5 TEA PED NEANED MEA NEANED

Question 6 TEA MED PED NEANED MED

Question 7 MEA PED TED NEANED MEA

Question 8 NEANED PEA MED MEA NEANED

Question 9 PED TEA TEA NEANED PED

Question 10 PEA PEA MEA MEA MED

Question 11 MEA PED NEANED TED PED

Question 12 MEA NEANED MEA NEANED TED

Question 13 NEANED MEA TEA NEANED TEA

Question 14 MED PEA MEA MED MEA

Question 15 MED MEA NEANED TED TEA

Question 16 MED NEANED MED PEA MEA

Question 17 MED MEA TED PEA PEA

Question 18 PED PEA PEA MED NEANED

Question 19 TED PED PED NEANED PED

Question 20 TEA MED MEA NEANED NEANED

Question 21 MEA TED PEA MED TEA

Question 22 PEA NEANED TEA TED MEA

Question 23 NEANED PED NEANED PEA MEA

Question 24 PEA MED PED NEANED TEA

Question 25 NEANED TED MED MEA PED

Question 26 PED TEA TEA NEANED MED

Question 27 PEA MEA PED MEA NEANED

Question 28 MEA NEANED PEA NEANED TED

Question 29 PED MED MED PEA PED

Question 30 MED TED NEANED MEA NEANED

Question 31 TED NEANED MED NEANED MED

Question 32 TEA NEANED TED PEA PED

Question 33 MEA MEA PED MEA NEANED

Question 34 PEA NEANED MED NEANED PEA

Question 35 NEANED MEA NEANED MEA PED

Question 36 TEA PEA PEA NEANED NEANED

Résultats

Ap. Par objectif 1 7 4 1 4

Ap. Par compétence 7 4 1 7 1

Ap. Par collaboration 1.63 1 7 1 7

PréférenceAp. Parobj

Ap. Parcol

Ap. Parcom

Ap. Parobj

Ap. Parcom

Tableau 2 : Tableau des jeux de tests des réponses au questionnaire.

Page 42: Rapport PFE Marouene Haddad

Etude de cas

27

Abréviations Acronymes

TEA Totalement En AccordMEA Moyennement En AccordPEA Peu En AccordNEANED Ni En Accord Ni En DésaccordPED Totalement En DésaccordMED Moyennement En DésaccordTED Peu En DésaccordAp. Par obj Approche Par objectifAp. Par com Approche Par compétenceAp. Par col Approche Par collaboration

Tableau 3 : Légende du tableau des jeux de tests des réponses au questionnaire.

6 Conclusion

Après la lecture et la recherche exhaustive dans les différents domaines relatifs à

notre projet, nous avons essayé d’effectuer une expérience en appliquant les normes et les

théories présentés en premier chapitre. En effet, à travers cette étude expérimentale, nous

avons arrivé à élaborer un questionnaire fidèle aux normes. Par ailleurs nous nous sommes

assuré à travers l’expérience et l’étude empirique que la logique floue, qui n’est pas applicable

dans tous les domaines et qui nécessite une expertise importante, est applicable pour le calcul

des questionnaires.

Nous notons également que l’expérimentation de notre questionnaire qui détermine

l’approche pédagogique d’un apprenant, est effectuée à travers l’implémentation d’une petite

application locale qui permet en effet de manipuler le code ‘FCL’. Cependant dans ce qui suit,

nous allons procéder à la création d’un service web qui permet non seulement de calculer le

résultat d’un questionnaire mais aussi de créer ce dernier.

Page 43: Rapport PFE Marouene Haddad

La justesse de raisonnement a ses règles et sa

physionomie; la justesse de conception n'en a pas.

Mais elle est bien supérieure à l'autre.

Joseph Joubert

Page 44: Rapport PFE Marouene Haddad

1 Introduction ..................................................................................................................... 28

2 Présentation d’UML ....................................................................................................... 28

3 Conception Généralisée .................................................................................................. 29

3.1 Diagramme de classe ...................................................................................................... 29

3.2 Diagramme des cas d’utilisation..................................................................................... 31

4 Conception focalisée........................................................................................................ 33

4.1 Diagramme de classe ............................................................................................... 33

4.2 Diagramme de séquence .......................................................................................... 34

4.2.1 Inscription et authentification ........................................................................... 34

4.2.2 Réponse à un questionnaire .............................................................................. 35

4.2.3 Création d’un questionnaire.............................................................................. 35

4.2.4 Interaction entre le client et le service web ...................................................... 36

5 Conception de la base de données.................................................................................. 38

6 Conclusion........................................................................................................................ 39

Page 45: Rapport PFE Marouene Haddad

Conception UML

28

1 Introduction

La conception est une phase qui précède la réalisation d’un projet. Cette phase est

indispensable pour le succès du projet du fait qu’elle assure la cohérence entre la spécification

des besoins et le produit final.

Bien qu’il existe plusieurs méthodes et langages de conception et de modélisation,

nous allons choisir le langage UML comme outils de modélisation de notre projet. Ce choix,

étant non arbitraire, est argumenté par la standardisation d’UML par OMG. De plus UML est

plus approprié que d’autres langages de modélisation pour la conception des nouvelles

activités des entreprises telles que le commerce électronique et les services Internet [32]. De

plus UML, est fondu essentiellement sur l’approche Objet, ce qui rend la modélisation plus

claire et compréhensible.

Ce troisième chapitre comportera en première partie la présentation d’UML ainsi que

ses diagrammes utilisés dans la modélisation de notre projet. En seconde partie, nous

procéderons à la présentation des diagrammes représentant notre conception. En troisième

partie nous présenterons la base de données qui servira pour l’enregistrement des données

utilisées dans notre projet.

2 Présentation d’UML

UML : langage de modélisation unifié (Unified Modeling Language) est un langage

graphique de modélisation des données et des traitements. C'est une formalisation très aboutie

et non-propriétaire de la modélisation objet utilisée en génie logiciel.

La grande diversité des documentations qui existent sur le marché et qui concernent

UML indiquent différentes dates d’apparition d’UML. Il y en a qui indiquent que l’apparition

de ce langage était en 1976 avec l’implémentation des concepts fondateurs de l’approche

objet, d’autres indiquent des dates même antérieures à celle là. Mais ce qui est en commun

entre tous les documents est l’année 1995, quand Booch et Rumbaugh (et quelques autres) se

sont mis d’accord pour construire une méthode unifiée, Unified Method 0.8. En 1996,

Jacobson les a rejoints pour produire UML 0.9 (notez le remplacement du mot méthode par le

Page 46: Rapport PFE Marouene Haddad

Conception UML

29

mot langage, plus modeste). Les acteurs les plus importants dans le monde du logiciel

s’associent alors à l’effort (IBM, Microsoft, Oracle, DEC, HP, Rational, Unisys etc.) et UML

1.0 est soumis à l’OMG. L’OMG (Object Management Group), l’organisme qui fédère

aujourd’hui plus de 850 acteurs du monde informatique, adopte en novembre 1997 UML 1.1

comme langage de modélisation des systèmes d’information à objets. La version d’UML en

cours à la fin 2006 est UML 2.0 et les travaux d’amélioration se poursuivent. L'OMG diffuse

depuis Novembre 2007 la version UML 2.1.2 [27]. Actuellement l’OMG diffuse UML 2.2 qui

est en fait une révision de la version précédant. Cette nouvelle version d’UML marque la

naissance du quatorzième diagramme à savoir, le ‘Profil Diagram’ et qui est classé parmi les

diagrammes de structures. [31]

3 Conception Généralisée

3.1Diagramme de classe

Notre projet illustre six entités qui sont en interaction. Le diagramme de classe

présenté ci-dessous présentera alors les différentes entités, leurs attributs ainsi que leurs

méthodes. De plus, le diagramme de classe montre l’interrelation entre les différentes entités.

L’administrateur est un acteur indispensable pour n’importe qu’elle plate forme

quelque soit sa nature et son activité. Cet acteur admet comme rôle l’administration de la plate

forme. L’administration consiste dans notre cas à gérer les comptes des utilisateurs tels que la

validation des comptes et la suppression des comptes. Il gère aussi la plate forme en ajoutant

ou supprimant les objets d’apprentissage de la plate forme. Cependant, cette fonctionnalité est

considérée hors notre domaine d’étude alors elle est exclue de notre conception.

L’apprenant, étant l’entité centrale de nos travaux, constitue la classe la plus

laboureuse en termes d’interaction avec les autres entités. En effet, le compte de l’apprenant

est géré par un administrateur lors de son inscription à la plate forme en question. Suite à son

inscription, ce dernier aura la main de choisir le questionnaire au quel il va répondre afin de

déterminer sa préférence envers un thème.

Le questionnaire constitue à son tour une entité importante dans nos travaux

puisqu’il forme l’outil d’extraction d’informations qui servirons par la suite aux traitements

souhaités. Alors, pour qu’il soit cohérent, le questionnaire doit avoir un certain nombre de

caractéristiques déterminées à l’avance, et qui sont d’ailleurs détaillées dans le deuxième

Page 47: Rapport PFE Marouene Haddad

Conception UML

30

chapitre. Cependant, nous allons, en outre, ré-illustrer d’avantage ces caractéristiques dans un

paragraphe ultérieur qui servira à détailler la classe questionnaire.

Le questionnaire est crée par un pédagogue qui peut être à son tour un utilisateur.

Ceci explique le lien d’héritage entre le pédagogue et l’utilisateur. En plus des fonctionnalités

de l’utilisateur, le pédagogue a le privilège de proposer un questionnaire en fournissant les

informations nécessaires. En effet, notre service web offre l’opportunité au pédagogue de

choisir le mode de l’utilisation du service entre un mode simple dans lequel il donnera le

minimum d’information sur le questionnaire qu’il veut créer, et le mode expert qui demande

une expertise non seulement dans le domaine de la pédagogie mais aussi dans le domaine des

mathématiques et plus précisément dans le domaine de la logique floue. La version expert de

notre service web permet ainsi l’obtention des résultats plus raffinés que la version novice,

vue le nombre et la qualité de l’information requise. Ce raffinage influence en conséquence la

qualité du questionnaire produit.

Une fois le questionnaire créé, le pédagogue a le choix d’enregistrer son

questionnaire pour qu’il soit accessible à travers le Web et les apprenants peuvent ainsi y

accéder ou rejeter le questionnaire en cas de résultats non valide. Le service Web offre une

simulation du nouveau questionnaire pour aider le pédagogue de prendre le bon choix.

Page 48: Rapport PFE Marouene Haddad

Conception UML

31

Figure 8 : Diagramme de Classe généralisé

3.2 Diagramme des cas d’utilisation

En général, le but de présenter un diagramme des cas d’utilisation est de structurer

les besoins des utilisateurs et les objectifs correspondants d'un système. Dans notre cas il

s’agit d’organiser les fonctionnalités assurées par le service web à créer.

L’apprenant peut s’inscrire à la plate forme et attend la validation de son compte

auprès de l’administrateur. Une fois il est inscrit il peut alors aller choisir le questionnaire au

quel il va répondre afin de spécifier ses tendances.

Page 49: Rapport PFE Marouene Haddad

Conception UML

32

Le pédagogue peut effectuer toutes les fonctionnalités de l’apprenant. En outre, il a le

privilège de créer des questionnaires. Pour ce faire, il doit choisir une version. En fonction de

la version choisie, le pédagogue est inviter à remplir les étapes nécessaire afin d’arriver à la

production du questionnaire désiré.

L’administrateur gère les apprenants et les pédagogues. Dès qu’il soit authentifié, il

sera capable de valider les comptes des nouveaux inscrits ou de supprimer des comptes.

Figure 9: Diagramme des Cas d’Utilisation

Page 50: Rapport PFE Marouene Haddad

Conception UML

33

4 Conception focalisée

4.1 Diagramme de classe

Notre service Web permet de créer des questionnaires et de calculer la préférence

d’un candidat en fonction de sa réponse à ce questionnaire. Alors, nous somme engager à

spécifier d’avantage cette entité primordiale pour notre projet.

Un questionnaire est composé d’un ensemble de catégories, d’un ensemble de règles,

d’un ensemble de méthodes et d’une sortie.

Chaque catégorie est composée d’un ensemble de question que chacune, à son tour,

est constituée d’en ensemble de termes linguistiques. Chaque terme est défini par une fonction

mathématique prédéfinie et un ensemble de points caractéristiques pour former une courbe.

Cette courbe servira par la suite à la fuzzyfication de la réponse relative à la question ainsi

qu’à la defuzzyfication de la sortie.

L’ensemble de règle servira pour déterminer la sortie en fonction des entrées, tout en

appliquant les méthodes définies dans la classe méthodes.

Figure 10: Diagramme de Classe d’un questionnaire

Page 51: Rapport PFE Marouene Haddad

Conception UML

34

4.2 Diagrammes de séquences

Le diagramme de séquence vise essentiellement à représenter des interactions entre

les entités d’un système selon un point de vue temporel. En effet, l’axe vertical représente la

chronologie et montre l’enchainement des fonctionnalités réalisées par certains acteurs. Un

diagramme de séquence peut, en conséquence, représenter un scénario d’un ou plusieurs cas

d’utilisation. Alors, nous représenterons dans ce qui suit, à travers des diagrammes de

séquences, quelques cas d’utilisation que nous considérons importants dans notre projet.

4.2.1 Inscription et authentification

Lors de la consultation de la plate forme pour la première fois, le consultant est invité

à s’inscrire à la plate forme afin de se profiter de toutes les fonctionnalités disponibles. Pour

ce faire, ce dernier doit fournir quelques coordonnées à travers le remplissage d’un formulaire

donné par la plate forme. Une fois cette étape achevée, l’apprenant doit attendre la validation

auprès de l’administrateur. Si la décision est positive, l’inscription est validée, le nouveau

inscrit peut accéder à son compte à travers ses paramètres fixés au part avant dans la phase

d’inscription. Nous notons que l’inscription d’un apprenant est similaire à celle d’un

pédagogue sauf que la différence réside dans la validation. En effet, un apprenant est

généralement validé sans aucune exigence, cependant pour les pédagogues, l’administrateur

doit s’assurer de leurs habilitations.

Figure 11: Diagramme de Séquence d’inscription et d’authentification

Page 52: Rapport PFE Marouene Haddad

Conception UML

35

4.2.2 Réponse à un questionnaire

Un apprenant ou un pédagogue peut choisir le questionnaire au quel il va répondre à

travers l’interface qui lui affiche tous les questionnaires disponibles. Un fois choisi, le

questionnaire s’affiche à l’interface. Une fois toutes les questions répondues, les réponses sont

envoyées à travers la plate forme vers le service web qui calcule la préférence et retourne le

résultat vers la plate forme qui l’interprète et le formate afin de l’afficher.

Figure 12: Diagramme de Séquence de réponse à un questionnaire

4.2.3 Création d’un questionnaire

Seul le pédagogue a le privilège de proposer un questionnaire. Pour cela, et lors de la

phase d’authentification, la plate forme distingue les apprenants et les pédagogues à travers

les paramètres de connexion. Une fois authentifié, le pédagogue en question procède à la

création de son questionnaire. Pour ce faire il doit obligatoirement choisir la version de

l’interface de création des questionnaires puis remplir les étapes nécessaires.

Dès qu’il valide sa création, les paramètres saisis sont envoyés au service Web afin

de créer le FCL relatif au questionnaire. Ensuite la plate forme propose une simulation

chronologique du questionnaire et demande l’accord du pédagogue pour l’enregistrement de

son questionnaire.

Page 53: Rapport PFE Marouene Haddad

Conception UML

36

Figure 13: Diagramme de séquence de création d’un questionnaire

4.2.4 Interaction entre le client et le service Web

Dans ce paragraphe, nous allons descendre dans les détails technique afin

d’expliquer l’interaction entre l’application cliente et le service web hébergé dans un serveur

distant et qui communique à travers le web. Nous prenant le cas d’utilisation le plus répétitif

qui est la réponse à un questionnaire.

Comme le montre le diagramme de séquence ci-dessous, l’apprenant introduit les

réponses aux questions à travers sa machine (le cas échéant à travers le navigateur). Les

réponses sont envoyées à la plate forme sous format d’une requête POST qui est

compréhensible par la plate forme Web. Dès qu’elles atteignent la plate forme à travers son

serveur http, ce dernier élimine l’enveloppe POST, puis envoie les réponses qui sont

formatées et sérialisées au niveau du client soap. Une fois la sérialisation terminée, le client

soap envoie l’enveloppe au client http. Le client http ajoute une couche à cette enveloppe afin

de la transformer en requête POST. Dès que cette étape s’achève, la requête est envoyée via

Internet au serveur hébergeant le service web destination. Le serveur http intercepte la requête

POST et élimine l’enveloppe POST et envoi l’enveloppe soap résultante au serveur soap qui à

son tour la désérialise et passe les valeurs des réponses au service web. Le service web calcule

Page 54: Rapport PFE Marouene Haddad

Conception UML

37

ainsi la tendance de l’apprenant et retourne le résultat. Le serveur soap récupère la valeur

retournée et la sérialise dans une nouvelle enveloppe soap et la passe au serveur http pour la

transformer en message de retour de la requête POST et l’envoyer au client. La plate forme

effectue alors le processus de désérialisation en éliminant l’enveloppe POST au niveau du

client http et en écartant l’enveloppe soap au niveau du client soap. La seconde phase consiste

alors à formater le résultat retourné et le passer à son serveur http qui le transforme à son tour

en un message de retour de la requête POST et l’envoie à la machine du client. A travers le

navigateur Web, l’apprenant peut alors avoir sa préférence demandée.

Figure 14: Diagramme de Séquence d’interaction utilisateur, plate forme et service Web.

Page 55: Rapport PFE Marouene Haddad

Conception UML

38

5 Conception de la base de données

Pour sauvegarder les questionnaires élaborés par les pédagogues, nous avons besoin

d’une base de données qui permet l’historisation. La deuxième fonction que doit assurer est la

sauvegarde de la préférence d’un apprenant lors de la réponse à un questionnaire.

La première table concerne pratiquement tous les utilisateurs du service Web. En

effet, comme nous avons présenté au début de ce chapitre, nous distinguons principalement

trois acteurs humains à savoir, les apprenants, les pédagogues et les administrateurs. La table

utilisateur comportera alors les paramètres d’authentification, ainsi qu’un attribut qui permet

de distinguer le type de l’utilisateur.

La deuxième table comportera toutes les caractéristiques d’un questionnaire tels que

son nom, sa description, le nombre de catégories, le nombre de niveaux d’évaluation de

réponse, les questions, son code FCL, ainsi que sa date de création. Pour le code FCL, nous

avons deux choix : soit enregistrer le code dans un fichier qui a l’extension ‘.FCL’ et

enregistrer son nom dans la base de données afin de pouvoir y accéder, soit enregistrer le code

dans une chaine de caractère et l’enregistrer directement dans la base de données et la

convertir par la suite en un système d’inférence flou FIS. Malgré que le premier choix s’avère

l’optimale (pas de gaspillage de mémoire au niveau de l’allocation de l’espace nécessaire à

l’enregistrement du code FCL et qui est une allocation statique dans le cas de la base de

données), nous allons utiliser la deuxième alternative pour deux raisons ; la création et le

chargement des fichiers ainsi que la transformation du code FCL en système d’inférence flou

FIS augmentent la latence du réseau et peuvent en conséquence engorger le serveur surtout

lors d’un accès concurrent au ressources. En deuxième lieu, en cas de panne, il sera plus facile

de récupérer une base de données dans un seul fichier que d’aller chercher tous les fichiers

FCL créé.

De ce fait, et à travers l’association ‘créer’, un pédagogue peut proposer plusieurs

questionnaires. Cependant un questionnaire ne peut être créé que par un et un seul pédagogue,

ce qui est conforme au diagramme de classe proposé au part avant. Un apprenant peut

répondre à un questionnaire afin de déterminer sa préférence. Dans ce cas l’apprenant peut

répondre à plusieurs questionnaires. En consultant le diagramme de classe de l’application

nous pouvant remarquer la ressemblance entre les multiplicités des classes impliqués dans la

création et l’utilisation des questionnaires et les cardinalités des entités de la base de données.

Page 56: Rapport PFE Marouene Haddad

Conception UML

39

Cette ressemblance vérifie, en effet, la cohérence entre nos différentes perceptions de notre

projet.

La modélisation de la base de données relationnelle est détaillée dans l’annexe A, qui

comporte le modèle conceptuel de données ainsi que le modèle physique de données.

6 Conclusion

Nous avons consacré ce chapitre à la conception de notre travail. Cette conception

nous a permis de tracer les squelettes des différentes classes à implémenter. Elle nous a

permis de considérer les différentes fonctionnalités que doit assurer le service Web qui sera

implémenté, à travers les diagrammes UML qui permettent de percevoir le système de point

de vue structurel et comportemental. En second lieu la conception nous permettra par la suite,

un passage souple et fluide à l’étape de la mise en œuvre qui constitue l’étape la plus

laboureuse dans un projet. L’étape de l’implémentation fait, alors, l’objectif du chapitre

suivant.

Page 57: Rapport PFE Marouene Haddad

Faire aisément ce que d'autres trouvent

difficile à réaliser, c'est le talent; faire ce

qui est impossible au talent, c'est le génie.

Henri Frédéric Amiel

Page 58: Rapport PFE Marouene Haddad

1 Introduction ..................................................................................................................... 40

2 Projection de la conception sur la pratique ................................................................. 40

2.1 La phase de l’inscription.......................................................................................... 41

2.2 Validation des inscriptions ...................................................................................... 42

2.3 Authentification et connexion à l’espace personnel ................................................ 43

2.4 Elaboration d’un questionnaire................................................................................ 45

2.5 Réponse à un questionnaire ..................................................................................... 50

2.6 Gestion du compte personnel................................................................................... 51

3 Tests et vérification ......................................................................................................... 51

4 Planification du projet .................................................................................................... 53

5 Conclusion........................................................................................................................ 53

Page 59: Rapport PFE Marouene Haddad

Implémentation

40

1 Introduction

L’implémentation n’est qu’une projection fidèle de la phase de conception. La

fidélité du produit final à sa conception assure la satisfaction des besoins et facilite sa

maintenance.

Pour l’implémentation de notre service Web, nous avons utilisé un environnement de

travail se basant essentiellement sur les produits JEE, vue l’existence de plusieurs diversité

d’outils de programmation et de déploiement. De plus, la machine virtuelle JVM est la plus

utilisée [27] ce qui nous a encouragé à choisir cette plate forme de développement pour

assurer l’accessibilité et l’interopérabilité. Nous détaillerons dans l’annexe C les différentes

composantes de notre environnement de travail.

Dans ce chapitre, nous présenterons en premier lieu la projection de la conception sur

le plan pratique pour arriver à la création de l’application en question. Ensuite nous

consacrerons une partie de teste de l’application dans laquelle on va créer le questionnaire de

détermination de l’approche pédagogique d’un apprenant en utilisant notre service Web. La

troisième partie portera sur le planning chronologique de la période du projet de fin d’études.

2 Projection de la conception sur la pratique

Dans cette partie nous allons montrer l’application de point de vue fonctionnel. En

effet, nous représenterons, entre temps, la fidélité de la réalisation par rapport à la conception,

les contrôles de l’introduction des données assurant d’une part l’intégrité de données et

d’autre part l’interactivité de l’interface graphique. Nous présenterons en premier lieu, la page

d’accueil de l’application et par la suite les différents panneaux assurant ses fonctionnalités.

La page d’accueil comporte un panneau pour l’authentification et la connexion à

l’espace de travail personnel, un lien pour l’inscription et un lien pour la récupération du mot

de passe en cas d’oubli. Un deuxième anglet intitulé Infos est réservé à l’affichage interactive

des actualités. Les actualités sont généralement la création de nouveaux questionnaires. Un

troisième panneau étiqueté Newsletter est réservé pour l’envoi des actualités via un courrier

électronique.

Page 60: Rapport PFE Marouene Haddad

Implémentation

41

Figure 15 : Page d’accueil de l’application.

2.1 La phase de l’inscription

Le processus de l’inscription ne concerne que les pédagogues et les apprenants, alors

que le compte administrateur est considéré comme un compte spécial qui existe dès la mise en

place de l’application. Pour pouvoir s’inscrire, il faut remplir un formulaire et attendre la

validation du compte auprès de l’administrateur.

Lors du remplissage de formulaire, il y a lieu un contrôle qui assure l’introduction

d’information correcte syntaxiquement et sémantiquement. En effet, un script AJAX permet

de vérifier la syntaxe de l’information introduite instantanément ; le nom, le prénom et le nom

utilisateur doit être composé d’au moins deux caractères et l’e-mail doit vérifier la syntaxe

d’une adresse électronique selon le standard spécifique. Une fois la syntaxe est juste, il

Page 61: Rapport PFE Marouene Haddad

Implémentation

42

procède à la vérification sémantique. Cette vérification assure l’exclusivité du nom

d’utilisateur et la fidélité de la confirmation du mot de passe par rapport au mot de passe

introduit précédemment. Par la suite un simple clic sur le bouton ENVOYER permet

d’envoyer une demande d’inscription à l’administrateur qui se charge de prendre la décision

de valider ou de rejeter la demande. Le bouton RETABLIR permet de vider tout les champs

du formulaire.

Figure 16 : Interface de l’inscription d’un utilisateur.

2.2 Validation des inscriptions

L’administrateur est le seul acteur qui a la main sur la liste des nouveaux inscrits. Ce

dernier accède à l’espace de gestion des nouveaux abonné à travers un lien qui est inclut dans

son espace de travail. Dès qu’il consulte cet espace, une liste contenant les nouvelles

demandes d’inscription est affichée. L’administrateur peut alors valider ou supprimer les

demandes, soit une par une ou par lot en cochant les cases à cocher et en appuyant ensuite sur

le bouton correspondant. Nous notons dans ce contexte qu’une demande rejetée signifie que le

nouvel abonné ne pourra jamais se connecter avec les coordonnées présentées dans cette

demande. Une demande acceptée permet automatiquement la validation du compte en

question et son propriétaire peut se connecter à son espace personnel et se bénéficier en

conséquence de toutes les fonctionnalités qui lui sont offertes selon le type de son compte. La

validation d’un compte pédagogue est généralement plus délicate que la validation d’un

compte apprenant du fait que l’administrateur doit s’assurer de l’identité et les compétences

recommandées pour s’inscrire en tant qu’un pédagogue et proposer ainsi les questionnaires.

Page 62: Rapport PFE Marouene Haddad

Implémentation

43

Figure 17 : Gestion des nouveaux abonnés.

2.3 Authentification et connexion à l’espace personnel

Tous les acteurs humains de la plate forme passent par l’étape de l’authentification

pour pouvoir accéder à leurs espaces de travail. Bien évidement, cette phase consiste à

introduire le nom utilisateur et le mot de passe.

Figure 18 : Panneau d’authentification d’un acteur.

Après la vérification de l’existence du compte dans la base de données, il y trois

possibilités. L’utilisateur est inscrit mais n’a pas encore obtenu la validation de la part de

l’administrateur. Dans ce cas un message indiquant à l’utilisateur qu’il est inscrit mais non

validé s’affiche. La seconde possibilité se résume dans l’introduction d’un nom utilisateur non

existant dans la base de données. Par la suite un message indiquant à l’utilisateur qu’il n’est

pas inscrit. L’introduction d’un mot de passe erroné constitue la troisième possibilité. Un

message indiquant à l’utilisateur que le mot de passe n’est pas valide, est affiché. Nous

présenterons les différents affichages lors d’une erreur de connexion liée à l’introduction de

paramètres non valides.

Page 63: Rapport PFE Marouene Haddad

Implémentation

44

Panneau d’authentification Utilisateur non validé Mot de passe incorrecte

Tableau 4 : Les différents cas de figure de la phase Authentification.

Pour les utilisateurs qui ont oublié leurs mots de passe, il suffit de cliquer sur le lien

correspondant. Un utilisateur est redirigé dans une autre page pour introduire ses

coordonnées. Si les coordonnées introduites sont correctes, la plate forme lui envoie un

message électronique contenant son mot de passe oublié. Nous notons dans ce contexte que

certains serveurs de messagerie considèrent un tel message comme étant un courrier

indésirable.

Figure 19 : Panneau de récupération du mot de passe oublié par E-mail.

Nous montrerons dans la figure présentée ci-dessous la réception d’un courrier

électronique qui contient le nom utilisateur et le mot de passe.

Page 64: Rapport PFE Marouene Haddad

Implémentation

45

Figure 20 : Exemple de réception d’un mot de passe oublier par un courrier électronique.

Dans ce qui suit nous allons considérer un utilisateur pédagogue puisqu’il est capable

d’élaborer et de répondre à la fois aux questionnaires. Nous supposons entre temps que le

pédagogue en question est inscrit, validé et connecté.

2.4 Elaboration d’un questionnaire

Selon ses compétences et ses pré-requis dans le domaine du questionnaire et le

domaine de la logique floue, le pédagogue peut choisir d’utiliser soit la version pour les

experts ou la version pour les novices. Dans ce qui suit nous allons considérer la version pour

les experts puisqu’elle est plus exhaustive et plus précise.

La première étape consiste à introduire les caractéristiques fondamentales d’un

questionnaire à savoir le nombre de catégories sur lesquelles va porter le questionnaire, le

nombre de questions par catégorie et le nombre de niveau des réponses. Le contrôle de

données se fait de façon interactive et instantanée pour éviter la production des exceptions

système qui sont indésirables. Il suffit maintenant de cliquer sur le bouton ENVOYER.

Figure 21 : Première étape de l’élaboration d’un questionnaire.

Page 65: Rapport PFE Marouene Haddad

Implémentation

46

La deuxième étape permet au pédagogue d’introduire le nombre de terme par entrée

c'est-à-dire le nombre de tendances par question. A titre d’exemple, dans le questionnaire de

détermination de l’approche pédagogique d’un apprenant élaboré par nous-mêmes, il existe

trois termes à savoir, accord, désaccord et moyen. De même que l’étape précédente, la valeur

introduite est vérifiée. Pour continuer à remplir cette étape il est indispensable d’appuyer sur

le bouton ok qui confirme la valeur de terme par entrée. Une fois cette opération effectuée, un

sous-menu s’affiche dans la même page pour la description des termes. Pour décrire

convenablement un terme il faut lui affecter un nom ainsi qu’une fonction mathématique.

Notre application offre toutes les fonctions mathématiques supportées par la logique floue et

par le langage FCL à savoir, la fonction triangulaire, la fonction trapézoïdale, la fonction

gaussienne, la fonction cloche généralisée, la fonction sigmoïdale, les singletons et les

morceaux linéaires. De plus, notre application se porte garante de l’introduction

d’informations vérifiées, c'est-à-dire que le passage à l’étape suivant ne s’effectue que si et

seulement lorsque les valeurs introduites de chaque termes correspondent à la syntaxe et à la

sémantique de sa fonction mathématiques. Nous notons que pour chaque fonction

mathématique choisie, l’application affiche la syntaxe à suivre pour introduire les valeurs.

Figure 22 : Deuxième étape de l’élaboration d’un questionnaire.

Dans la troisième étape le service l’application offre au pédagogue l’opportunité de

définir la valeur par défaut, la méthode de calcul, le nombre de termes de sortie ainsi que leurs

définitions. En effet, le pédagogue donne la valeur à appliquer dans le cas ou le code FCL ne

trouve aucune règle applicable, la méthode de calcule est la méthode que va utiliser le code

FCL pour calculer le résultat final et les termes de sorties que doivent êtres définies de la

même manière que les termes d’entrée puisqu’ils constituent à leurs tours des termes

linguistiques.

Page 66: Rapport PFE Marouene Haddad

Implémentation

47

Figure 23 : Troisième étape de l’élaboration d’un questionnaire.

Une fois cette étape terminée, le pédagogue procède à la définition de la partie

comportementale de son questionnaire. Bien évidement, dans la quatrième étape le pédagogue

est invité à spécifier la méthode d’activation qui illustre le degré de respect d’une condition en

agissant sur un ensemble de sortie flou. Le pédagogue est invité aussi à définir la méthode

d’accumulation qui manifeste, en effet, la combinaison des résultats des règles linguistiques

dans un résultat final. Par la suite, le pédagogue procède à la définition des règles qui seront

appliquées sur les réponses aux questions que propose le futur questionnaire. La construction

des règles est assistée par l’application pour garantir son exactitude syntaxique. En effet, à

travers les processus d’activation et de désactivation des listes de choix.

En cas d’erreur lors de la construction d’un règle il est possible soit de réinitialiser la

construction si la détection de l’erreur s’est réalisée avant la validation de la règle, soit de la

supprimer après la validation à travers sa sélection et l’appui sur le bouton SUPPRIMER

REGLE.

Page 67: Rapport PFE Marouene Haddad

Implémentation

48

Figure 24 : Quatrième étape de l’élaboration d’un questionnaire.

Une fois la construction des règles achevée, le pédagogue valide son questionnaire.

Une simulation animée est affichée pour aider le pédagogue à prendre la décision de

l’enregistrement.

Page 68: Rapport PFE Marouene Haddad

Implémentation

49

Figure 25 : Panneau de simulation lors de la création d’un questionnaire.

Si la décision est positive, ce dernier procède à la cinquième et dernière étape qui se

résume par l’affectation d’un nom au questionnaire ainsi qu’une description de son motif. En

second lieu le pédagogue introduit dans cette étapes les questions du questionnaire pour finir

son chef-d'œuvre. Par la suite, le pédagogue enregistre son questionnaire pour qu’il soit

accessible aux autres utilisateurs.

Figure 26 : Cinquième et dernière étape de l’élaboration d’un questionnaire.

Page 69: Rapport PFE Marouene Haddad

Implémentation

50

2.5 Réponse à un questionnaire

A travers le lien Consultation Questionnaire, un apprenant ou un pédagogue consulte

la liste des questionnaires disponibles auxquels il peut répondre afin de déterminer une

préférence spécifique.

Figure 27 : Liste de questionnaire disponible à un utilisateur.

L’utilisateur choisi alors le questionnaire auquel il va répondre. Une description de

chaque questionnaire est affichée afin de donner une idée générale à l’utilisateur sur sa portée.

Figure 28 : Réponse à un questionnaire (exemple de l'approche pédagogique)

Dès que l’utilisateur termine la réponse à un questionnaire, le service web enregistre

sa préférence spécifique dans la base de données et l’affiche par la suite dans la page

d’accueil de son espace de travail personnel.

Page 70: Rapport PFE Marouene Haddad

Implémentation

51

Affichage de l’accueil de l’espace personnel Affichage à la fin de la réponse

Tableau 5 : Les différents affichages du résultat d’une réponse à un questionnaire.

2.6 Gestion du compte personnel

Chaque utilisateur a son propre compte. Par suite chaque utilisateur a le droit de

mettre à jour ses coordonnées. Pour ce faire il suffit de cliquer sur le lien Gérer mon compte.

Un formulaire s’affiche dans lequel la plate forme charge les données personnelles de

l’utilisateur en question et lui donne la main pour les modifier. Cependant, pour des mesures

de sécurité, lors du changement du mot de passe, l’utilisateur est invité à introduire lui-même

l’ancien mot de passe. Par la suite l’utilisateur souhaitant changer son mot de passe fourni le

nouveau et le confirme. Un appui sur le bouton envoyer permet d’enregistrer les

modifications apportées au compte et de rediriger l’utilisateur à la page d’accueil de son

espace de travail personnel.

Figure 29 : Espace de gestion du compte personnel d’un utilisateur.

3 Tests et vérification

Dans cette partie nous allons faire les mêmes jeux de tests effectués dans le

deuxième chapitre en sa partie empirique et par la suite nous procèderons à la comparaison.

Page 71: Rapport PFE Marouene Haddad

Implémentation

52

Questions Jeux1 Jeux2 Jeux3 Jeux4 Jeux5

Question 1 1 7 4 2 1Question 2 2 5 4 1 2Question 3 5 6 5 3 1Question 4 7 4 3 4 3Question 5 1 5 4 2 4Question 6 1 6 5 4 6Question 7 2 5 7 4 2Question 8 4 3 6 2 4Question 9 5 1 1 4 5Question 10 3 3 2 2 6Question 11 2 5 4 7 5Question 12 2 4 2 4 7Question 13 4 2 1 4 1Question 14 6 3 2 6 2Question 15 6 2 4 7 1Question 16 6 4 6 3 2Question 17 6 2 7 3 3Question 18 5 3 3 6 4Question 19 7 5 5 4 5Question 20 1 6 2 4 4Question 21 2 7 3 6 1Question 22 3 4 1 7 2Question 23 4 5 4 3 2Question 24 3 6 5 4 1Question 25 4 7 6 2 5Question 26 5 1 1 4 6Question 27 3 2 5 2 4Question 28 2 4 3 4 7Question 29 5 6 6 3 5Question 30 6 7 4 2 4Question 31 7 4 6 4 6Question 32 1 4 7 3 5Question 33 2 2 5 2 4Question 34 3 4 6 4 3Question 35 4 2 4 2 5Question 36 1 3 3 4 4

PréférenceParObjectif

ParCollaboration

ParCompétence

ParObjectif

ParCompétence

Tableau 6 : Jeux de tests des réponses au questionnaire de l’approche pédagogique.

Les jeux de tests présentés ci-dessus sont identiques à ceux présentés en deuxième

chapitre. L’unique différence réside dans l’expression de la valeur d’une réponse. En effet,

dans le deuxième chapitre, les valeurs sont des termes linguistiques alors que dans ce chapitre

les valeurs des numériques. Si nous comparons les résultats obtenu dans la partie empirique

du deuxième chapitre et les résultats obtenu dans cette partie nous remarquons qu’elles sont

identiques ce qui manifeste la fidélité de fonctionnement du service Web implémenté.

Page 72: Rapport PFE Marouene Haddad

Implémentation

53

4 Planification du projet

Dans cette partie nous allons présenter les différentes étapes achevées afin d’élaborer

notre projet de fin d’études. Nous énoncerons alors en premier lieu les différentes étapes et

nous présenterons en second lieu un chronogramme qui illustre les périodes consommées par

chaque étape. L’axe vertical présente les différentes étapes, tant disque l’axe horizontal

présente l’écoulement du temps par semaine.

Notre projet est passé par six étapes énumérées comme suit :

Etape 1 : étude et documentation.

Etape2 : étude de faisabilité.

Etape3 : Conception et spécification.

Etape4 : Réalisation et mise en œuvre.

Etape5 : Tests, identification de problèmes et correction.

Etape 6 : Rédaction du rapport.

Etape6 Chap1 Chap2 Chap3 Chap4Etape5Etape4Etape3Etape2Etape1

S1 S2 S3 S4 S1 S2 S3 S4 S1 S2 S3 S4 S1 S2 S3 S4 S1 S2 S3 S4

Janvier Février Mars Avril Mai

Figure 30 : Chronogramme de planification du projet de fin d’études.

5 Conclusion

Dans ce chapitre, nous avons détaillé la projection de la conception du plan théorique

sur le plan pratique tout en montrant la fidélité de notre application produite par rapport à la

conception. De plus nous avons montré que le service Web fonctionne convenablement et

produit les résultats prévus. La partie présentant le chronogramme de planification des travaux

montre le passage fluide de l’étape documentation à l’étape mise en œuvre et ceci se

manifeste par le chevauchement des différentes étapes comme exprimé dans le graphe.

Page 73: Rapport PFE Marouene Haddad

A tout problème existe sa solution. A toute

solution peut surgir un nouveau problème.

Daniel Desbiens

Page 74: Rapport PFE Marouene Haddad

1 Introduction .................................................................................................................... 54

2 Problèmes au court du développement sous l’IDE Eclipse ........................................ 54

2.1 Création du fichier FCL de notre questionnaire ..................................................... 54

2.2 Recherche et expérimentation des variables significatives..................................... 55

2.3 Manipulation du code FCL par la programmation JAVA ...................................... 58

3 Exceptions rencontrées lors du déploiement du service Web .................................... 60

3.1 Exceptions liées à la configuration de Tomcat et Axis........................................... 60

3.2 Exception liée à l’inclusion de bibliothèques dans l’application serveur ............... 62

4 Conclusion....................................................................................................................... 64

Page 75: Rapport PFE Marouene Haddad

Résolution des problèmes rencontrés

54

1 Introduction

Lors de l’implémentation de notre service Web, nous avons dû faire face à divers

problèmes. Ces problèmes peuvent être classés en deux grandes catégories. La première

catégorie, concerne les erreurs qui se sont lancées au court de l’implémentation du service

Web sous l’environnement de travail intégré Eclipse. La seconde catégorie, portera sur les

exceptions rencontrées lors du déploiement du service Web élaboré.

2 Problèmes au court du développement sous l’IDE Eclipse

2.1 Création du fichier FCL de notre questionnaire

Comme nous avons cité dans les chapitres précédents, la manipulation de la logique

floue nécessite un degré d’expertise assez élevé pour pouvoir comprendre les processus de

fuzzyfication et de defuzzyfication. De plus, nous devons maitriser les spécifications

syntaxiques et lexicales du langage FCL. La contrainte la plus importante dans ce contexte,

est qu’il n’y a pas de document solide qui explique ce langage à part le document fourni par

l’IEC [4,5]. D’autre part, ce langage n’admet pas d’éditeur. Alors nous ne pouvons créer des

codes FCL que par le biais d’un éditeur de texte.

Figure 31 : Edition d’un code FCL à l’aide d’un éditeur de texte.

Page 76: Rapport PFE Marouene Haddad

Résolution des problèmes rencontrés

55

2.2 Recherche et expérimentation des variables significatives

Notre problème est de trouver les termes d’entrée qui serviront par la suite à

organiser les réponses des apprenants selon la structure du langage FCL puis procéder à leur

traitement. Nous considérons dans nos démonstrations le questionnaire de détermination de

l’approche pédagogique qui fait part de notre projet.

Nous avons détecté en premier lieu le terme ‘agree’. Ce terme en fait représente le

degré de l’accord d’un apprenant exprimé à travers sa réponse. De plus, la courbe de ce

terme sera une courbe triangulaire s’étalant sur sept niveaux pour garantir le respect du

modèle TAM qui indique sept niveaux de réponses.

Figure 32 : Première version des courbes des termes d’entrée d’une question.

Après quelques essais de réponse au questionnaire nous avons remarqué que les

résultats de notre code FCL ne sont pas exacts. Alors nous avons déduit qu’il ne s’agit pas

uniquement de détecter l’accord de l’apprenant, mais en contre partie il faut détecter l’opinion

réciproque qui est le désaccord afin de garantir un équilibrage au niveau de l’application des

règles. De ce fait nous avons détecté un deuxième terme de qui est ‘desagree’. Ce terme à son

tour s’étalera sur sept niveaux puisqu’il exprime la fonction mathématique symétrique. Par

conséquence, la courbe exprimant le désaccord d’un apprenant sera triangulaire.

La figure ci-dessous exprime les deux termes linguistiques exprimant l’accord et le

désaccord d’un apprenant envers une question.

Page 77: Rapport PFE Marouene Haddad

Résolution des problèmes rencontrés

56

Figure 33 : Deuxième version des courbes des termes d’entrée d’une question.

Malgré que nous avons équilibré la defuzzyfication des termes linguistique, nous

avons détecté lors de l’expérimentation que les résultats obtenus ne sont pas assez précises. La

solution est d’ajouter un troisième terme pour donner un avis se situant entre l’accord et le

désaccord, pour deux raisons importantes.

La première étant la détection d’une valeur de réponse plus précise surtout lorsqu’il

s’agit d’un chevauchement des courbes des termes linguistique. En effet, ce chevauchement

permet d’exprimer le comportement humain qui est d’ailleurs un comportement flou. Si nous

prenons le cas de la première question, un apprenant peut être en accord avec la méthode

autonome de résolution d’exercice dans certains domaines. Cependant, il préfère résoudre les

exercices d’autres domaines avec un groupe d’apprenant. Ce dernier ne donnera pas en

conséquence, un avis total. A travers la multitude des termes linguistiques, nous

déterminerons une préférence plus proche de ce que l’apprenant veut exprimer. Cependant il

est à noté que le chevauchement exhaustif peut réduire les performances du calcul. Si nous

prenons à titre d’exemple la réponse d’un apprenant à la question1, et si cette réponse est

entre 3 et 5, cette valeur va être projetée trois fois sur les trois courbes. De ce fait nous avons

dû raccourcir l’échelle des courbes de l’accord et du désaccord pour ne contenir que quatre

degré et demi au lieu de sept degrés. La courbe de l’avis moyen couvrira la partie moyenne

entre les deux courbes.

La deuxième cause est l’augmentation des règles de defuzzyfication afin de garantir

un traitement plus précis et ainsi obtenir de meilleurs résultats. En effet l’application de

plusieurs règles permet d’assurer le non oubli et la non négligence de certaines informations.

Page 78: Rapport PFE Marouene Haddad

Résolution des problèmes rencontrés

57

Figure 34 : Deuxième version des courbes des termes d’entrée d’une question.

Nous avons aussi rencontré un problème au niveau de la sortie du processus de

defuzzification. En effet, le calcul par la méthode de centre de gravité assure l’obtention d’un

résultat qui couvre toute la surface de l’avis d’un apprenant. Cependant les courbes de sortie

ne permettent pas d’atteindre le degré maximal de l’avis même si les réponses aux questions

le permettront. A titre d’exemple si un apprenant est totalement en accord (toutes les réponses

sont mises à 1) ou totalement en désaccord (toutes les réponses sont mises à 7) avec une

approche ou une autre, à la sortie nous n’obtenons jamais une sortie exprimant un avis

extrémum (réciproquement une sortie égale à 1 ou une sortie égale à 7), mais un avis qui

comprend certaine incertitude (réciproquement une sortie supérieur à 1 ou une sortie inférieur

à 7).

Figure 35 : Courbe de la sortie du processus defuzzyfication avant la correction.

Page 79: Rapport PFE Marouene Haddad

Résolution des problèmes rencontrés

58

Nous avons compris alors que les courbes de sortie doivent non seulement représenter

les différents degrés des avis mais aussi doivent couvrir la surface symétrique par rapport à

l’axe horizontale passant par l’abscisse de l’avis maximal. Par exemple la courbe de ‘agree’

doit être une courbe triangulaire qui couvre l’intervalle [-2, 4] et le sommet admet comme

coordonnées (1, 0). La courbe ‘desagree’, à son tour, est triangulaire et couvre l’intervalle

[4, 10] et admet comme sommet le point de coordonnées (7, 1).

Figure 36 : Courbe de la sortie du processus defuzzyfication après la correction.

2.3 Manipulation du code FCL par la programmation JAVA

La création d’un système d’interférence flou FIS pour la manipulation du code FCL

est une tache assez compliquée. D’une part il faut respecter la syntaxe du langage FCL sans

pour autant avoir l’aide d’un éditeur puisqu’il n’en existe pas, comme c’est noté dans le

premier paragraphe de cette partie. D’autre part il faut préparer l’interception d’une exception

de type ‘Recognition Exception’. Au début de l’élaboration de notre projet nous n’avons pas

assez de documents qui nous permettent de bien manipuler cette exception. Cependant, après

avoir posé les questions techniques au chef du groupe responsable du développement du

package jFuzzyLogic [19], nous avons compris les démarches utilisées par ce groupe et nous

avons pu élaborer le code qui permettra l’interception de ce type d’exception. En effet il

s’agit de créer un bloc ‘try’ dans lequel nous programmons la création du FIS en question.

Puis nous passons à la création du bloc ‘catch’ dans lequel nous programmons l’interception

et le traitement de l’exception relative à la création des FIS. Pour plus de détails techniques,

veuillez consulter l’annexe D.

Une autre contrainte s’est posée lors de l’élaboration du service Web, du fait qu’il ne

s’agit plus de créer une application locale, mais en effet, de créer un service Web qui sera

Page 80: Rapport PFE Marouene Haddad

Résolution des problèmes rencontrés

59

déployé dans la plate forme Web. De plus ce service Web va manipuler non seulement les

fichiers FCL mais aussi toute une base de données. Pour cela il est plus approprié de créer des

variables de type chaine de caractères (String) qui sauvegardera le FCL créé puis sauvegarder

cette variable dans la base de données. Ainsi il n’y aura qu’un seul accès à la base de données

pour récupérer le FCL souhaité. Cette solution s’avère meilleur que celle qui propose de créer

des fichiers FCL comme en local, puis sauvegarder leurs emplacements dans la base de

données puis effectuer un accès à ce dernier. La première solution assure le minimum d’accès

pour ne pas engorger le serveur hébergeant notre service Web surtout bien qu’il s’agira par la

suite d’un accès parallèle et concurrent au ressources.

Lors de la création de cette chaine de caractère, nous avons rencontré beaucoup de

problèmes que nous n’en citons que les plus significatifs. Le premier problème s’est produit à

cause de la concaténation de plusieurs chaines de caractères pour obtenir la variable finale.

Après plusieurs tests, nous avons conclu qu’il faut faire un retour à la ligne dès l’ajout d’une

chaine de caractère à la variable finale. Ce retour assure la conformité au standard de

définition du langage FCL [4,5].

Le second problème qui est vraiment critique pour notre projet est l’élaboration d’un

code java qui permet de créer des codes FCL selon les spécifications proposées par un

pédagogues et de les sauvegarder dans des variables de type chaine de caractère puis les

enregistrés dans la base de données.

La première étape de l’élaboration d’un tel code consiste en premier lieu à bien lire les

spécifications du langage FCL [4,5], puis par la suite élaborer un code JAVA qui permettra de

les intégrer dans le bon emplacement.

La seconde étape qui est vraiment la plus difficile est de détecter les codes qui se

reproduisent tels que les codes de création des variables d’entrées ou le code de création des

règles. Par la suite, nous procédons à l’élaboration d’un code qui permet la création

dynamique des codes FCL. Cette dynamique se manifeste par les courbes qui prennent les

paramètres nécessaires et construisent le code FCL.

Dans l’annexe D, nous présentons en détails les codes sources qui permettent de

générer les codes FCL.

Page 81: Rapport PFE Marouene Haddad

Résolution des problèmes rencontrés

60

3 Exceptions rencontrées lors du déploiement du service Web

3.1 Exceptions liées à la configuration de Tomcat et Axis

Dès que nous avons terminé la création de notre application, nous avons essayé de la déployer

dans le serveur Tomcat pour voir son fonctionnement à l’extérieur de l’environnement de

développement.

Figure 37 : Exception lancée lors du déploiement du service Web dans le serveur Tomcat.

Après une recherche exhaustive, nous avons trouvé la source du problème. En effet,

le problème réside dans le processus d’entrée/sortie au niveau du serveur Tomcat. Ce dernier

Page 82: Rapport PFE Marouene Haddad

Résolution des problèmes rencontrés

61

est livré sans un système d’entrée/sortie puissant ce qui a poussé la fondation Apache à

élaborer un package résolvant ce type d’exception, qui est le ‘Common IO’.

Commons IO est une bibliothèque d’utilités assistées pour développer la

fonctionnalité d'E/S. Il y a quatre domaines principaux inclus [20]:

Classes de service - avec des méthodes statiques pour effectuer des tâches communes.

Diverses -Filtres pour réalisations des filtres de fichier.

Diverses -Comparateurs pour réalisations de java.util. Comparateur pour des dossiers.

Stream – Stream utilisable, pour l’implémentation de la lecture et de l’écriture.

Nous montrerons dans la figure ci-dessous le déploiement avec succès des

applications serveur et client.

Figure 38 : Déploiement avec succès de l’application client et serveur.

Page 83: Rapport PFE Marouene Haddad

Résolution des problèmes rencontrés

62

3.2 Exception liée à l’inclusion de bibliothèques dans l’application serveur

L’application serveur ainsi que l’application client sont correctement déployées.

Cependant lors d’un appel du service Web pour la création ou la réponse à un questionnaire il

y a lancement d’une exception.

Figure 39 : Exception lancée lors de l’appel d’une méthode du service Web.

Page 84: Rapport PFE Marouene Haddad

Résolution des problèmes rencontrés

63

Pareillement aux autres exceptions nous avons procédé à la recherche de la cause

mère qui a produit cette exception afin d’effectuer les traitements nécessaires. La recherche

nous a mené à comprendre qu’il faut intégrer la bibliothèque ANTLR dans la bibliothèque de

l’application serveur.

ANTLR, un autre outil pour l'identification de langue, (autrefois PCCTS) est un outil

linguistique qui fournit un cadre pour construire des reconnaisseurs (Recognizer), des

compilateurs, et des traducteurs des descriptions grammaticales contenant des actions de Java,

de C#, de C++, ou de python. ANTLR fournit l'excellent appui pour la construction d'arbre,

l'arbre marchant, et la traduction [22].

Ainsi nous arrivons à faire fonctionner le service Web lors de son déploiement dans

le serveur Tomcat. En effet, il y a plusieurs pages qui appellent des méthodes du service Web

parmi lesquelles on cite la page ‘novice2.jsp’. Voici une illustration :

Figure 40 : Exemple d’appel du service Web après déploiement.

Page 85: Rapport PFE Marouene Haddad

Résolution des problèmes rencontrés

64

4 Conclusion

Dans ce chapitre, nous avons présenté les problèmes rencontré lors des la création

des code ‘FCL’. Nous sommes arrivés à résoudre ces problèmes et nous avons procédé ainsi à

l’élaboration de l’application qui a un aspect généralisé. Par la suite nous avons présenté les

problèmes rencontrés lors du déploiement de l’application ainsi que les procédures suivies

pour leurs résolutions.

Page 86: Rapport PFE Marouene Haddad

Conclusion générale

65

En guise de conclusion, nous reconnaissons que la réalisation de notre projet nous a

permis de mettre en œuvre nos connaissances académiques acquises tout au long de notre

formation et de les approfondir dans le domaine de la recherche sur le Web et les outils de

recommandations dans la formation à distance.

L’approche pédagogique est un critère signifiant pour le calcul du profil de

l’apprenant. En effet, toute plate forme d’e-Learning souhaitant garantir un maximum de

raffinage et de personnalisation des objets d’apprentissage au profil des apprenants, doit

indispensablement souligner ce critère de personnalisation. Cependant, jusqu’à ce jour ci,

nous n’avons pas trouvé de moyens qui permettent concrètement de donner l’approche

pédagogique préférée d’un apprenant.

Par conséquence, nous avons entamé les travaux de projet de fin d’études en

sélectionnant et en compulsant le maximum de documents portant sur les approches

pédagogiques ce qui nous a permis de les définir et de délimiter leurs caractéristiques

principales. Nous notons dans ce contexte que les domaines cognitif et psychologique nous

ont posé d’énormes problèmes de sagacité.

En second lieu nous avons étudié les différentes méthodes de validation et de calcul

afin d’élaborer un questionnaire conforme qui permet de déterminer l’approche pédagogique

appropriée à un apprenant. Cependant nous avons eu des doutes concernant l’application de la

méthode de calcul dans notre contexte. En effet, chaque document portant sur la logique floue

prévient les lecteurs que cette dernière n’est pas toujours applicable. De plus l’utilisation de

cet outil mathématique nécessite une expertise assez importante afin de pouvoir simuler les

résultats obtenus par la réponse au questionnaire. La meilleur solution était donc d’essayer de

faire une étude de cas dans laquelle on applique la logique floue sur notre raisonnement tout

en utilisant le minimum de programmation et en comparant les résultats obtenu avec les

résultats que nous devions obtenir en utilisant la logique ensembliste classique. La partie

expérimentale nous a permis d’acquérir une expertise importante dans le domaine de la

logique floue.

Par la suite, nous sommes passés à la conception du service Web qui accorde la

détermination de l’approche pédagogique d’un apprenant tout en garantissant via cette

Page 87: Rapport PFE Marouene Haddad

Conclusion générale

66

technologie répondue l’interopérabilité, la réutilisabilité, l’accessibilité, l’adaptabilité et la

facilité d’utilisation. Nous avons eu également l’idée de généraliser la fonctionnalité du

service Web pour permettre par ailleurs, la création des questionnaires conformes résolus par

la logique floue. Par la suite nous sommes passés à l’implémentation du service Web, laquelle

nous nous somme attaché à qu’elle soit interactive et fluide afin de garantir aussi bien la

facilité d’utilisation que l’utilité d’utilisation.

Nous avons prouvé de grands efforts pour entamer la réalisation dans un délai plus

proche afin de passer à l’étape de validation qui est à son tour basée sur la théorie du modèle

d’acceptation de la technologie (TAM). Cette validation nécessite du temps pour la collecte

des résultats, leur filtrage et leur préparation à la phase de calcul, du personnel sur lequel nous

allons effectuer nos tests à travers la proposition du questionnaire et enfin de l’expertise dans

le domaine de statistique qui constituera notre outil de calcul et qui produira par la suite les

résultats qui valideront notre questionnaire. La validation du questionnaire par la méthode

TAM peut être le sujet d’un papier de travaux que nous essayerons de l’élaborer

ultérieurement avec notre encadreur.

Pour conclure, nous citons que notre projet nous a permis d’une part de mobiliser nos

différentes facultés de compréhension et d’intelligence et d’autre part de savoir quoi, où et

quand chercher l’information souhaitée. En effet notre projet qui est polyvalent nous a

poussés à explorer divers domaines qui semblent divergents, mais qui trouvent de notre cas de

figure un meilleur champ de convergence. Cette exploration était structurée et organisée de

façon à préserver le bon enchainement des travaux.

Page 88: Rapport PFE Marouene Haddad

Bibliographie

67

[1] Antoine Cornuéjols, Introduction à la logique floue.

[2] Christoph Fröschl Master’s Thesis , User Modeling and User Profiling in Adaptive E-learningSystems : An approach for a service-based personalization solution for the research projectAdeLE (Adaptive e-Learning with Eye-Tracking).

[3] COMMISSION DES COMMUNAUTES EUROPEENNES, eLearning : Penser l’éducation dedemain. Bruxelles, le 30.07.2003, SEC (2003) 905. DOCUMENT DE TRAVAIL DESSERVICES DE LA COMMISSION. Rapport à mi-parcours comme prévu par la résolution duConseil du 13 juillet 2001.

[4] Commission Electrotechnique Internationale IEC, IEC 1131

[5] Commission Electrotechnique Internationale IEC, IEC 61131

[6] Dictionnaire en ligne ‘A l’aide’. http://www.alaide.com

[7] Dictionnaire Encyclopédique LAROUSSE. Edition 2001. ISBN : 2-03-520154-3.

[8] Eclipse Platform Technical Overview Object Technology International, Inc. February 2003updated for 2.1. Originally published July 200. http://www.eclipse.org

[9] Fathi Essalmi, Leila Jemni Ben Ayed and Mohamed Jemni, A Multi-ParametersPersonnalization Approach of Learning Scenarios. Seventh IEEE International Conference onAdvanced Learning Technologies (ICALT 2007).

[10] Florian Casabianca , Introduction aux services web REST avec WCF 3.5.

[11] Fred Davis, Richard P.Bagozzi and Paul R. Warshaw, User acceptance of ComputerTechnology: acomparison of two theoretical models.

[12] Fred Davis, User acceptance of information system: the Technology Acceptance Model (TAM)Working Paper #529, University of Michigan.

[13] Gérard Lécrivain, Analyse des données et enquête par sondage. Université du Littoral Coted’Opale.

[14] HENRI France, LUNDGREN-CAYROL Karin, Apprentissage collaboratif à distance.

[15] http://concoursprof.chez.com

[16] http://cueep.univ-lille1.fr

[17] http://ec.europa.eu

[18] http://java.sun.com

[19] http://jfuzzylogic.sourceforge.net

Page 89: Rapport PFE Marouene Haddad

Bibliographie

68

[20] http://tomcat.apache.org

[21] http://ws.apache.org/axis

[22] http://www.antlr2.org/

[23] http://www.commentcamarche.net

[24] http://www.erudium.polymtl.ca

[25] http://www.e-tud.com

[26] http://www.w3.org

[27] http://www.wikipedia.org

[28] Laurent AUDIBERT UML 2. www.developpez.com

[29] Laurent PIECHOCKI, UML, le langage de modélisation objet unifié.www.developpez.com

[30] Marc Walckiers, Thomas De Praetere , L'apprentissage collaboratif en ligne : huit avantagesqui en font un must.

[31] OMG, Unified Modeling LanguageTM (OMG UML), Superstructure. http://www.omg.org

[32] Ronan HUOT, Merise ou UML : quelle méthode pour les systèmes d’informations ?

Page 90: Rapport PFE Marouene Haddad
Page 91: Rapport PFE Marouene Haddad

Conception et modélisation de la base de données de l’application

69

Modèle conceptuel de données

Modèle physique de données

Page 92: Rapport PFE Marouene Haddad
Page 93: Rapport PFE Marouene Haddad

Présentation d’UML

70

1 Hiérarchie des Diagrammes UML 2.0

Figure 43 : Organigramme des diagrammes structurels et comportementaux d’UML

Page 94: Rapport PFE Marouene Haddad

Présentation d’UML

71

2 Les diagrammes d’UML

2.1 Notion de modèle

Un modèle est une abstraction de la réalité. L’abstraction est un des piliers de

l’approche objet. Il s’agit d’un processus qui consiste à identifier les caractéristiques

intéressantes d’une entité, en vue d’une utilisation précise. Elle désigne aussi le résultat de ce

processus c'est-à-dire l’ensemble des caractéristiques essentielles d’une entité, retenus par un

observateur [29].

Un modèle est donc une vue subjective mais pertinente de la réalité. Il définit une

frontière entre la réalité et la perspective de l’observateur. Ce n’est pas ‘la réalité’ mais une

vue très subjective de la réalité. Bien qu’il ne représente pas une réalité absolu, un modèle

reflète des aspects important de la réalité, il en donne donc une vue juste et pertinente [29].

2.2 Notion de diagramme

Un diagramme est une représentation visuelle simplifiée et structurée des concepts,

des idées, des constructions, des relations, des données statistiques, de l'anatomie etc.

employé dans tous les aspects des activités humaines pour visualiser et clarifier la matière. Un

diagramme permet aussi de décrire des phénomènes, de mettre en évidence des corrélations

en certains facteurs ou de représenter des parties d’un ensemble [27].

Dans le cas de conception UML les deux notions présentées ci-dessus sont très

importantes. Nous concluons ainsi que chaque diagramme élaboré est une représentation

normalisé et compréhensibles d’un modèle tel que vue par un concepteur.

Pour une meilleur conception il est préférable d’utiliser tous les diagrammes

disponibles d’UML car certains offrent une vue que d’autres ne le font pas. Cependant dans

certains cas il est suffisant d’utiliser quelques diagrammes mais doivent être claires afin de

garantir la compréhension des développeurs de l’application à programmer.

2.3 Diagramme des cas d’utilisation

Bien souvent, la maîtrise d’ouvrage et les utilisateurs ne sont pas des informaticiens.

Il leur faut donc un moyen simple d’exprimer leurs besoins. C’est précisément le rôle des

diagrammes des cas d’utilisation qui permettent de recueillir, d’analyser et d’organiser les

Page 95: Rapport PFE Marouene Haddad

Présentation d’UML

72

besoins, et de recenser les grandes fonctionnalités d’un système. Il s’agit donc de la première

étape UML d’analyse d’un système [28].

Les cas d’utilisation permettent de structurer les besoins des utilisateurs et les

objectifs correspondants d'un système. Ils centrent l'expression des exigences du système sur

ses utilisateurs : ils partent du principe que les objectifs du système sont tous motivés. Se

limitant aux préoccupations ‘réelles’ des utilisateurs, les cas d’utilisations ne présentent pas de

solutions d'implémentation et ne forment pas un inventaire fonctionnel du système. Ils

identifient les utilisateurs du système (acteurs) et leur interaction avec le système et

permettent de les classer et structurer les objectifs du système. De plus ils servent de base à la

traçabilité des exigences d'un système dans un processus de développement intégrant UML

[29].

Il ne faut pas négliger cette première étape pour produire un logiciel conforme aux

attentes des utilisateurs. Pour élaborer les cas d’utilisation, il faut se fonder sur des entretiens

avec les utilisateurs [18].

2.4 Diagramme de séquences

Les diagrammes de séquences sont la représentation graphique des interactions entre

les acteurs et le système selon un ordre chronologique dans la formulation Unified Modeling

Language. On montre ces interactions dans le cadre d'un scénario d'un diagramme des cas

d'utilisation. Dans un souci de simplification, on représente l'acteur principal à gauche du

diagramme, et les acteurs secondaires éventuels à droite du système. Le but étant de décrire

comment se déroule les actions entre les acteurs ou les objets (échange d’information) [27].

Les principales informations contenues dans un diagramme de séquence sont les

messages échangés entre les lignes de vie (qui représente les acteurs du système en question),

présentés dans un ordre chronologique. [28] Les périodes d'activité des lignes de vie sont

symbolisées par des rectangles. Plusieurs types de messages (actions) peuvent transiter entre

les acteurs et les objets [27] :

message simple : le message n'a pas de spécificité particulière d'envoi et de réception.

message avec durée de vie : l'expéditeur attend une réponse du récepteur pendant un

certain temps et reprend ses activités si aucune réponse n'a lieu dans un délai prévu.

Page 96: Rapport PFE Marouene Haddad

Présentation d’UML

73

message synchrone : l'expéditeur est bloqué jusqu'au signal de prise en compte par le

destinataire. Les messages synchrones sont symbolisés par des flèches barrées.

message asynchrone : le message est envoyé, l'expéditeur continue son activité que le

message soit parvenu ou pris en compte ou non. Les messages asynchrones sont

symbolisés par des demi-flèches.

message dérobant : le message est mis en attente dans une liste d'attente de traitement

chez le récepteur.

2.5 Diagramme de classe

Le diagramme de classes est un schéma utilisé en génie logiciel pour présenter les

classes et les interfaces d'un système ainsi que les différentes relations entre celles-ci. Ce

diagramme fait partie de la partie statique d'UML car il fait abstraction des aspects temporels

et dynamiques.

Une classe décrit les responsabilités, le comportement et le type d'un ensemble

d'objets. Les éléments de cet ensemble sont les instances de la classe.

Une classe est un ensemble de fonctions et de données (attributs) qui sont liées

ensembles par un champ sémantique. Les classes sont utilisées dans la programmation

orientée objet. Elles permettent de modéliser un programme et ainsi de découper une tâche

complexe en plusieurs petits travaux simples.

Les classes peuvent être liées entre elles grâce au mécanisme d'héritage qui permet

de mettre en évidence des relations de parenté. D'autres relations sont possibles entre des

classes, chacune de ces relations est représentée par un arc spécifique dans le diagramme de

classes.

Elles sont finalement instanciées pour créer des objets (une classe est un moule à

objet : elle décrit les caractéristiques des objets, les objets contiennent leurs valeurs propres

pour chacune de ces caractéristiques lorsqu'ils sont instanciés) [27].

Page 97: Rapport PFE Marouene Haddad
Page 98: Rapport PFE Marouene Haddad

Environnement de travail

74

1 Le Serveur Web Apache Tomcat

Pour qu’il soit consultable à travers le Web par les clients, un service Web doit être

hébergé dans un serveur Web, dit aussi serveur http. Le serveur web reçoit les requêtes des

logiciels de navigation qui sont classées comme des applications clientes, et leur retourne des

pages au format HTML. Au besoin, il exécute également des programmes chargés, par

exemple, d'interroger des bases de données pour constituer des pages dynamiques [6].

Dans notre projet, nous allons utiliser le serveur Web Apache Tomcat qui est une

implémentation des technologies Java Servlet et Java Server Pages. Le Java Servlet et les

caractéristiques de Java Server Pages sont développés sous le processus de la Communauté de

Java [20]. Tomcat est développé dans un environnement ouvert et participatoire et libéré sous

le permis de logiciel d'Apache. Apache Tomcat est prévu pour être une collaboration des

meilleurs réalisateurs de partout dans le monde [20].

Le serveur Tomcat se charge d’accomplir deux fonctionnalités de base à savoir,

l’exécution des applications Web afin de répondre aux requêtes lancées par des applications

clientes et la traduction de ces requêtes en objet java (instance de java) afin qu’elles soient

traitées par l’application qui est écrit généralement sous l’environnement java. De plus le

serveur est chargé aussi d’effectuer l’opération inverse qui consiste à traduire l’objet résultat

en une requête de retour qui sera envoyé au client demandeur de service.

Dans le cadre d’un service web de type WS-*, un serveur http n’est pas suffisant

pour la création et le fonctionnement d’un service web. En effet, pour créer et gérer les

enveloppes SOAP nous avons besoin d’un serveur auxiliaire qui gère ces deux opérations.

2 Le Serveur SOAP Apache AXIS

Dans ce paragraphe, nous allons présenter les aspects techniques des langages SOAP

et WSDL que nous avons présenté leurs états de l’art dans le premier chapitre. Les détails

techniques sont énoncés tels que présentés par le Consortium W3C.

Page 99: Rapport PFE Marouene Haddad

Environnement de travail

75

2.1 Le langage WSDL

WSDL est un format de XML pour décrire des services en réseau comme un

ensemble de points finaux fonctionnant sur des messages contenant des documents orientés

ou des procédures orientées information. Les opérations et les messages sont décrits abstraits,

et bondissent alors à un protocole de réseau et à un format concret de message pour définir un

point final. Des points finaux concrets relatifs sont combinés dans des points finaux abstraits

(services). WSDL est extensible pour permettre la description des points finaux et leurs

messages indépendamment du format du message ou du protocole de réseau employé pour

communiquer [26].

Un document de WSDL définit des services comme collections de points finaux de

réseau, ou des ports. Dans WSDL, la définition abstraite des points finaux et des messages est

séparée de leurs attaches concrètes de déploiement de réseau ou de format de données. Ceci

permet la réutilisation des définitions abstraites : les messages, qui sont des descriptions

abstraites des données échangées, et les types des ports qui sont des collections abstraites

d'opérations. Les caractéristiques concrètes de format de protocole et de données pour un type

de port particulier constituent une attache réutilisable. Un port est défini en associant une

adresse réseau à une attache réutilisable. Une collection de ports définit un service [26].

2.2 Le langage SOAP

Simple Object Access Protocol est un protocole léger destiné à échanger

l'information structurée dans un environnement décentralisé et distribué. Elle emploie des

technologies de XML pour définir un cadre extensible de transmission de messages

fournissant une construction de message qui peut être échangée au-dessus d'une série de

protocoles fondamentaux. Le cadre a été conçu pour être indépendant de n'importe quel

modèle de programmation particulier et de toute autre sémantique de détail d'exécution [26].

Le protocole SOAP permet la transmission de messages entre objets distants. Nous

concluons alors qu'il autorise un objet à invoquer des méthodes d'objets physiquement situés

sur un autre serveur. Le transfert se fait le plus souvent à l'aide du protocole HTTP, mais peut

également se faire par un autre protocole, comme le protocole SMTP. Il est composé de deux

parties fondamentales à savoir, l’enveloppe qui contient les informations sur le message lui-

Page 100: Rapport PFE Marouene Haddad

Environnement de travail

76

même afin de permettre son acheminement et son traitement et le modèle de données qui

définit le format du message manifestant ainsi les informations à transmettre.

2.3 AXIS

AXIS est l’acronyme d’Apache eXtensible Interaction System. AXIS est en effet une

implémentation du protocol SOAP. Comme il peut fonctionner de façon autonome en tant que

serveur SOAP ou comme un plug-in d’un moteur de Servlet, et comme il présente un logiciel

totalement libre sous-mis à la licence d’Apache Software Fondation, AXIS est pratiquement

le meilleur choix pour l’élaboration d’un service Web. Nous notons aussi dans ce contexte

qu’AXIS sert, par ailleurs, de convertir les classes java en code WSDL et d’effectuer

l’opération réciproque.

D’autre part, AXIS supporte de différents protocoles réseau tels que le protocole

HTTP, le protocole FTP, le protocole SMTP et d’autres [21], ce qui explique sa robustesse

lors de la sérialisation et la désérialisation des objets java dans des enveloppes SOAP [21] et

assure le bon transport de l’information correcte.

En addition à ces fortes caractéristiques techniques, AXIS est écrit en java et est

élaboré par la fondation Apache, ce qui encourage son utilisation comme un plug-in sous le

moteur de Servlet Apache Tomcat, qui est d’ailleurs supportée par la fondation [21].

3 Java Server Page

La technologie JSP utilise XML comme des étiquettes qui encapsulent la logique qui

produit du contenu pour la page. La logique d'application peut résider dans les ressources

basées au niveau du serveur (telles que l'architecture composante de JavaBeans) auxquelles

la page accède avec ces étiquettes. Et toutes les étiquettes de formatage (HTML ou XML)

sont passées directement de nouveau à la page de réponse. En séparant la logique de page de

sa conception et affichage et en soutenant une conception à base de composants réutilisable, la

technologie de JSP la rend plus rapide et plus facile que jamais pour établir des applications

basées sur le WEB.

La technologie de Java Server Page est une prolongation de la technologie de Java

Servlet. Les Servlets constituent une plate-indépendant se manifestant en modules côté-

serveur qui s'insèrent sans couture dans un cadre de serveur Web et peuvent être employés

Page 101: Rapport PFE Marouene Haddad

Environnement de travail

77

pour prolonger les possibilités d'un serveur Web avec des frais généraux pour l'entretien et le

support minimaux. À la différence d'autres langages manuscrits, les Servlets ne comportent

aucune considération ou modification spécifique à la plate-forme ; ils sont des composants

d'application qui sont téléchargés, sur demande, à la partie du système qui a besoin d’eux.

Ensemble, la technologie de JSP et les Servlets fournissent une alternative attrayante à

d'autres types de programme manuscrit dédié au Web dynamique par l'offre de

l'indépendance de plate-forme, l’exécution augmentée, la séparation de la logique de

l'affichage, la facilité d'administration, l’extensibilité dans l'entreprise et, d'une manière plus

importante, la facilité d'utilisation [25].

4 Eclipse

Eclipse est un environnement de développement intégré (IDE :Integrated

Development Environment) dont le but est de fournir une plate-forme modulaire pour

permettre de réaliser des développements informatiques, tels que les sites web, les

programmes java et d’autres [8].

Eclipse utilise énormément le concept de modules nommés "plug-ins" dans son

architecture. D'ailleurs, hormis le noyau de la plate-forme nommé "Runtime", tout le reste de

la plate-forme est développé sous la forme de plug-ins. Ce concept permet de fournir un

mécanisme pour l'extension de la plate-forme et ainsi fournir la possibilité à des fournisseurs

d’outils informatiques de développer des fonctionnalités qui ne sont pas fournies en standard

par Eclipse.

Parmi les outils que peut encapsuler l’environnement intégré de développement

Eclipse on cite les serveurs Web tels que Apache Tomcat et Glassfish, et supporte le langage

JSP ainsi que XML, du fait qu’il permet la création des projets Web dynamiques.

Page 102: Rapport PFE Marouene Haddad
Page 103: Rapport PFE Marouene Haddad

Codes Sources

78

1 Code source du service Web

Dans cette partie nous allons présenter les méthodes les plus importantes de notre

service Web.

1.1 La méthode creationNovice

Figure 44 : Méthode creationNovice extraite de la classe ManipLogicFloue.

Cette méthode prend en paramètre le nombre de questions par catégorie et le nombre

de niveaux. Elle se charge de retourner, dans une chaine de caractère nommé ‘fcl’, le

public String creationNovice(int nbquest,int nbniv) //création des fcl pour les novices{

String fcl="FUNCTION_BLOCK testerecri"+"\n"+"VAR_INPUT"+"\n";//declaration fclfor(int i=1;i<=nbquest;i++)//parcourir le nb de question{

fcl=fcl+"QUEST"+i+" : REAL;"+"\n";//ajouter le num de question ds input}fcl=fcl+"END_VAR"+"\n"+"VAR_OUTPUT"+"\n"+"PREFERENCE :

REAL;"+"\n"+"END_VAR"+"\n";//ajouter le tag outputString e2="TERM agree := (1, 1)("+(((double)nbniv/2)+1)+",0) ;"+"\n"+"TERM

average := (0.5, 0)("+(1+((double)(nbniv-1)/2))+",1)("+(nbniv+0.5)+",0);"+"\nTERM disagree:=("+((((double)nbniv/2)-1)+1)+",0)("+nbniv+",1);"+"\n"+"END_FUZZIFY"+"\n";//contenue de input

for(int i=1;i<=nbquest;i++)//parcourir le nb de question{

fcl=fcl+"FUZZIFY QUEST"+i+"\n"+e2;//décrire le contenu de input}fcl=fcl+"DEFUZZIFY PREFERENCE"+"\n"+"TERM grande := ("+(1-((double)(nbniv-

1)/2))+",0)(1,1)("+(1+((double)(nbniv-1)/2))+",0) ;"+"\n"+"TERM moyenne := ("+(1-((double)(nbniv-1)/2))+",0)("+(1+((double)(nbniv-1)/2))+",1)("+(nbniv+((double)(nbniv-1)/2))+",0) ;"+"\n"+"TERM petite := ("+(1+((double)(nbniv-1)/2))+",0)("+nbniv+",1)("+(nbniv+((double)(nbniv-1)/2))+",0);"+"\n"+"METHOD : COG;

"+"\n"+"DEFAULT := 0;"+"\n"+"END_DEFUZZIFY";//contenue de outputfcl=fcl+"\n"+"RULEBLOCK No1"+"\n"+"AND : MIN;"+"\n"+"ACT : MIN;"+"\n"+"ACCU :

MAX;"+"\n";//ajout des methodes d’activation et d’accumulationfcl=fcl+"RULE 1 : IF ";//ajout des règlesfor(int i=1;i<nbquest;i++){

fcl=fcl+"(QUEST"+i+" IS agree )and";//ajout des réglés}fcl=fcl+"(QUEST"+nbquest+" IS agree )"+"THEN PREFERENCE IS grande;"+"\n"+"RULE 2

: IF ";//ajout des réglesfor(int i=1;i<nbquest;i++){

fcl=fcl+"(QUEST"+i+" IS disagree )and";//ajout des réglés}fcl=fcl+"(QUEST"+nbquest+" IS disagree )"+"THEN PREFERENCE IS

petite;"+"\n"+"RULE 3 : IF ";//ajout des réglesfor(int i=1;i<nbquest;i++){

fcl=fcl+"(QUEST"+i+" IS average )and";//ajout des règles}fcl=fcl+"(QUEST"+nbquest+" IS average )"+"THEN PREFERENCE IS

moyenne;"+"\n"+"END_RULEBLOCK"+"\n"+"END_FUNCTION_BLOCK"; //ajout des règles + cloture fclreturn(fcl); //retourner fcl

}

Page 104: Rapport PFE Marouene Haddad

Codes Sources

79

contenue qui va être transformé ultérieurement en FIS. Elle est invoqué si le pédagogue choisi

la version novice pour créer son questionnaire. Selon les valeurs passées en paramètre, les

courbes des termes d’entrée (terme agree, avrege et disagree) et de sortie (terme petite,

moyenne et grande) vont être crées dynamiquement. Nous notons aussi que cette création doit

être conforme au langage de contrôle flou.

1.2 La méthode simulation

Figure 45 : Méthode simulation extraite de la classe ManipLogicFloue.

Cette méthode simulation est responsable à la création de la simulation d’un

questionnaire. Elle prend comme paramètre le nombre de question par catégorie, le nombre de

niveau et une chaine de caractère nommé fcl. Cette dernière va être transformée en FIS avec

la méthode createFromString. Un JDialogFis va être également crée et qui va contenir les

courbes des termes d’entrée et de sortie ainsi que leur évolution dans le temps (assuré avec la

méthode repaint). Cette méthode peut lever deux types d’Exception à savoir

RecognitionException quand il y’a un problème avec la création du FIS (méthode

public void simulation(int nbques,int nbniv,String fcl){

Try{

FIS fis = FIS.createFromString(fcl,true); //création du Fis à partir d’unString

double q[]=new double[(nbques)+1]; //déclarer un tab pour contenir les xfor(int i=1;i<=(nbques);i++)//parcourir les nb question{

q[i]=1; //initialisation du tab}JDialogFis jdf = new JDialogFis(fis,1200,750); //création du JDIALOGFisjdf.setLocationRelativeTo(null); //mettre le jdf au centre de l’écranjdf.setAlwaysOnTop(true); //mettre le jdf toujours visiblejdf.setVisible(true); //mettre le jdv visiblefor( double i1 = q[1]; i1 <= (nbniv); i1 += 0.1 )//commencer la simulati

{ //on avance par 0.1for(int i=1;i<=(nbques);i++)//les qi reçoivent la nouv val

{q[i]=i1;

}for(int i=1;i<=(nbques);i++)//on determine le result pour

{ //chaque valeur de ifis.getVariable("QUEST"+i).setValue(q[i]);

}fis.evaluate();jdf.repaint();//rafraichir le jdialogThread.sleep(300); //nb de milliseconde entre chaque délai

}jdf.dispose();// fermer le JDialogFis

}catch(RecognitionException ee1){ee1.printStackTrace();}//intercépter l’exceptioncatch(InterruptedException ee2){ee2.printStackTrace();}//intercépter l’exception

}

Page 105: Rapport PFE Marouene Haddad

Codes Sources

80

createFromString) et l’Exception InterruptedException si le problème est causé par le

Thread.sleep responsable du nombre de milliseconde entre chaque repaint.

1.3 Les méthodes setFuzzyfiedBloc, setDefuzzyfiedBloc , setInputBloc ,

setOutputBloc and setRuleBloc

Ces méthodes vont êtres chargés de créer les différents compartiments du fcl. Elles

sont appelés lorsqu’un pédagogue choisis la version expert lors de la création de son

questionnaire.

1.4 La méthode creationFCL

Figure 46 : Méthode creationFCL extraite de la classe ManipLogicFloue.

Cette méthode va fusionner les différents parties du fcl et de les retourner dans une

chaine de caractère en incluant les entêtes (FUNCTION_BLOCKResolutionQuestionnaire) et

la fin du FCL (END_FUNCTION_BLOCK).

public String creationFCL(int nbquest,String fuzzyfiedBloc,String defuzzyfiedBloc,StringruleBloc)

{String blocFCL= new String();//declaration du String blocFclblocFCL="FUNCTION_BLOCK ResolutionQuestionnaire \n";//nom functionblockblocFCL=blocFCL+setInputBloc(nbquest); //appeler la methde inputblocblocFCL=blocFCL+setOutputBloc();//appeler la methde outputblocblocFCL=blocFCL+fuzzyfiedBloc;//appeler la methde fuzzyfiedputblocblocFCL=blocFCL+defuzzyfiedBloc; //appeler la methde defuzzyfiedputblocblocFCL=blocFCL+ruleBloc; //appeler la méthode ruleblocblocFCL=blocFCL+"END_FUNCTION_BLOCK\n";//ajouter la fin du FUNCTIONBLOCKreturn blocFCL; //retourner la chaine de caractère

}

Page 106: Rapport PFE Marouene Haddad

Codes Sources

81

1.5 La méthode determineresultat

Figure 47 : Méthode determineresultat extraite de la classe ManipLogicFloue.

La méthode determineresultat est très importante dans notre projet. Elle a comme

tâche de déterminer la préférence de l’apprenant selon ses réponses passé en paramètre. Elle

va retourner un tableau de double de taille le nombre de catégorie et contenant la préférence

pour chaque catégorie. La détermination de la préférence se fait à l’aide de la méthode

getVariable("PREFERENCE").getValue(). Puisque on a besoin de la méthode de création de

FIS à partir d’une chaine de caractère, notre méthode doit intercepter l’exception

RecognitionException comme dans les méthodes précedentes.

1.6 Conclusion

Dans cette partie nous avons essayé de présenter les méthodes les plus critiques de

notre service Web. Il est à noter qu’il existe d’autre méthodes mais qui ne représentent pas des

fonctionnalités critiques.

public double[] determineresultat (String e,int nbcategories,int nbquest,String fcl ){

try{FIS fis = FIS.createFromString(fcl, true);//creation fu FIS à partir de Stringdouble result[]=new double [nbcategories]; //tableau contenant les résultatsint k=0; //variable pour parcourir la chaine d’entrée efor (int i=0;i<nbcategories;i++)//commencer le parcourt de détermination pour{ //chaque catégorie

for(int j=1;j<=nbquest;j++)//commencer le parcourt de détermination pour{ //chaque question

fis.setVariable("QUEST"+j,Double.parseDouble(String.valueOf(e.charAt(k)))); //entrer la valeur du question j

k++;//avancer le k pour la valeur suivante}

fis.evaluate();//Evaluer le résultat pour la catégorie en questionresult[i]= fis.getVariable("PREFERENCE").getValue();//mettre le résultatSystem.out.println(result[i]); //dans le tab result

}return result; //retourner le tableau des résultats}catch(RecognitionException ea) //intercepter l’exception{ea.printStackTrace();return new double[0];}

}

Page 107: Rapport PFE Marouene Haddad

Codes Sources

82

2 Code source de l’application

Notre service Web a besoin d’une application cliente pour le manipuler de façon

souple et facile. Pour cela on a développé une partie dite cliente basé sur JSP (Java Server

Page) afin d’assurer ces objectifs.

Dans cette partie nous présenterons en premier lieu la liaison entre service web et

application cliente. Dans un second lieu nous décrirons les méthodes importantes de notre

application. Enfin nous montrerons l’organigramme de notre application cliente avec toutes

ses pages jsp.

2.1 Liaison entre service Web et application cliente

La liaison entre service Web et application cliente est assuré avec les useBean. Pour

ce faire il faut inclure l’identifiant, le scope et la classe du useBean dans les pages jsp qui font

appel aux méthodes du service Web. La transformation en useBean est assuré par axis qui est

présenté dans l’annexe C.

Figure 48 : Utilisation du useBean extraite de la page novice2.jsp.

Pour faire un appel aux méthodes du service Web il suffit alors de mettre l’id du

useBean suivi du nom de la méthode comme suit.

Figure 49 : Appel du useBean extraite de la page novice2.jsp.

2.2 Vérification des paramètres

Pour faciliter l’utilisation de l’application, nous avons recours à l’utilisation de

javascript, ajax et les expressions régulières.

sampleManipLogicFloueProxyid.simulation(nbquestion,niveau,fcl);//appel à la méthode simulation

<jsp:useBean id="sampleManipLogicFloueProxyid" scope="session" class="fcl.ManipLogicFloueProxy"

/> //inclusion du useBean dans la page

Page 108: Rapport PFE Marouene Haddad

Codes Sources

83

2.2.1 Javascript

Pour permettre une vérification instantanée des champs de nos formulaires, nous

avons utilisé les trois événements javaScript onKeyUp, onBlur et onChange pour appeler les

méthodes responsables.

Figure 50 : Les inputs extraite de la page gerer-compte-u.jsp.

Figure 51 : Fonction verifinom extraite de la page gerer-compte-u.jsp.

Ces fonctions javascript sont définies dans la partie head de nos pages jsp et

permettent de vérifier en temps réelles les différentes possibilités qui peuvent se produire. Il

est à noter que chaque champ de nos formulaires possède une fonction qui le vérifie.

<script language="JavaScript">function verifinom(pseudo){

if(pseudo != ''){if(pseudo.length<2) //si la longueur de la chaine est inférieur à 2

{verifnom=1; //variable pour dire qu’il y a un pb avec ce champdocument.getElementById('id_nom').innerHTML='<div

class="champ_invalide"><img src="images/n.gif" />&nbsp;&nbsp;&nbsp;&nbsp;'+pseudo+' : ce nomest trop court</div>'; //afficher à coté du champs texte le pb si il est survenue

}else if(pseudo.length>15) //si la longueur de la chaine est supérieur à 15

{verifnom=1; //variable pour dire qu’il y a un pb avec ce champ

document.getElementById('id_nom').innerHTML='<divclass="champ_invalide"><img src="images/n.gif"/>&nbsp;&nbsp;&nbsp;&nbsp;'+pseudo+' : ce nom esttrop long</div>'; //afficher à coté du champs texte le pb si il est survenue

}else

{verifnom=2; //variable pour dire que le champs est bondocument.getElementById('id_nom').innerHTML='<div

class="champ_valide"><img src="images/o.gif"/>&nbsp;&nbsp;ok</div>'; //afficher à coté duchamps texte que c’est OK

}}

else{verifnom=1; //variable pour dire qu’il y a un pb avec ce champ

document.getElementById('id_nom').innerHTML='<div class="champ_invalide"><imgsrc="images/n.gif"/>&nbsp;&nbsp;&nbsp;&nbsp;Veuillez entrer votre nom</div>'; //afficher àcoté du champs qu’il est vide et lui demander de l’entrer

}

}</script>

<input name="nom" type="text" id="pmp" onKeyUp="verifinom(this.value)"

onBlur="verifinom(this.value)" onChange="verifnom_=2;" style="width: 207px" />

//ajout d’un champ de texte et appel à la fonction verifinom si un événement est déclenché

Page 109: Rapport PFE Marouene Haddad

Codes Sources

84

2.2.2 Ajax

L’utilisation d’ajax est très importante puisqu’il est plus puissant que javascript en

termes de fonctionnalités. Par exemple lors de l’inscription, les utilisateurs de la plate forme

ne doivent pas avoir des noms d’utilisateurs semblables. Pour faciliter ce chois notre

application va chercher en temps réel si le nom d’utilisateur entré est disponible. Pour ce faire

l’intervention d’ajax est obligatoire. Nous avons créé une fonction nommée ‘file’ qui appelle

à un autre script de vérification de nom d’utilisateur.

Figure 52 : Fonction file extraite de la page inscription.jsp.

Voici l’appel à cette fonction.

Figure 53 : Appel à la fonction file extraite de la page inscription.jsp.

La page script.jsp va chercher dans la base de donnés si le nom d’utilisateur est disponible.

Figure 54 : Contenue de la page script.jsp.

<%@ page import="java.sql.*" %>// importer la bibliothèque java.sql.*<%

String login=(request.getParameter("pseudo"));// recevoir la valeur du loginStatement stmt = null;ResultSet rs = null,rs1=null;Class.forName("com.mysql.jdbc.Driver");//spécification du nom du connecteurConnection e=DriverManager.getConnection("jdbc:mysql:///pedago","root","0000");

// spécification de la nom de la BD,le nom d’utilisateur et le mot de passestmt= e.createStatement();rs = stmt.executeQuery("select login from utilisateur where

login='"+login+"';"); // execution de la requête SQl pour voir la disponibilité du loginString mess1;int a=0;

while(rs.next()){ a=1;

out.print(1); // retourner 1 si le résultat est positif}if (a==0)out.print(2); // retourner 2 si le résultat est négatif

%>

function file(fichier){if(window.XMLHttpRequest) // Firefoxxhr_object = new XMLHttpRequest();// créer l’objet XMLHttpRequest pour firefoxelse if(window.ActiveXObject) // Internet Explorerxhr_object = new ActiveXObject("Microsoft.XMLHTTP");// créer l’objet ActiveXObject pour IEelsereturn(false);xhr_object.open("GET", fichier, false); // method GETxhr_object.send(null);if(xhr_object.readyState == 4) return(xhr_object.responseText); // retourner le resultantelse return(false);}

else if(textee = file('script.jsp?pseudo='+pseudo)) // appeler la methode file

Page 110: Rapport PFE Marouene Haddad

Codes Sources

85

Et de cette façon nous avons pu résoudre ce problème.

Cette même procédure va être appliquée pour d’autres champs comme par exemple

lors de la modification du mot de passe puisque l’utilisateur est invité à entrer son ancien mot

de passe et la vérification de ce dernier se déclenche.

2.2.3 Les expressions régulières

Comme les pédagogues doivent entrer les types de fonctions ainsi que leur

cordonnés, la vérification des champs doit être très précise et conforme au type de fonction

choisis. La vérification classique dans ce cas est très difficile voir impossible donc nous avons

décidé d’utilisé les expressions régulières.

L’acteur principal dans les expressions régulières est l’objet RegExp qui contient la

forme du champ à vérifier. Par exemple pour tester si un champ est un entier positif ou négatif

avec une partie flottante il suffit d’écrire sa forme dans l’expression de RegExp puis appeler

la fonction test pour vérifier.

Figure 55 : Fonction verifier-num extraite de la page expert2.jsp.

Cet exemple est très simple car dans notre cas nos expressions régulières sont très

complexes. Par exemple si le pédagogue choisit la fonction trapézoïdale comme terme

d’entrés, la forme de nos champs doit être quatre valeur entière séparé par espace et dans

l’ordre croissant.

function verifier_num(chaine){var exp=new RegExp("^[+-]?[0-9]+([.][0-9][0-9]*)?$","g");//forme de l’expression régulièreif ( exp.test(chaine) ){return 1; }//retourner 1 si la chaine vérifie l’expression régulièreelse {return 2;} //retourner 2 si la chaine ne vérifie l’expression régulière

}

Page 111: Rapport PFE Marouene Haddad

Codes Sources

86

Figure 56 : Extrait de la page expert2.jsp.

La fonction VerifReel retourne deux tableaux. Le premier contient les entiers extrait

et le deuxième contient sa conformité à l’expression régulière. Pour décomposer la valeur

introduite, la fonction VerifReel utilise la méthode split qui est propriétaire au javascript.

if(l=="trape") //si la méthodes est trapézoïdal{

tt=VerifReel(t); //appeler la méthode VerifReelet mettre le resultat dans le ttif(tt[tt.length-1]!=""){for(i=0;i<tt.length;i++)tt[i]=parseFloat(tt[i]); //convertir les element en float

if((tt.length==4)&&(tab[0]==1)&&(tab[1]==1)&&(tab[2]==1)&&(tab[3]==1)&&(tt[0]<tt[1]) &&(tt[1]<tt[2])&&(tt[2]<tt[3]))

{document.getElementById(k).innerHTML='<span class="champ_valide"><img

src="images/o.gif"/>&nbsp;&nbsp;ok</span>';verifpseudo2=1; // le champ contient 4//valeurs et ordonnés alors OK

}else if(tt.length!=4)

{document.getElementById(k).innerHTML='<span class="champ_invalide"><img

src="images/n.gif" />&nbsp;&nbsp;&nbsp;&nbsp; Le champs doit contenir 4 réelseulement</span>';verifpseudo2=2; //le champ ne contient pas 4 valeurs alors//porblème

}else

if(((tab[0]==2)||(tab[1]==2)||(tab[2]==2)||(tab[3]==2))&&(tt.length==4)){document.getElementById(k).innerHTML='<span class="champ_invalide"><img

src="images/n.gif" />&nbsp;&nbsp;&nbsp;&nbsp; Le quatres valeurs doivent étredes réels</span>'; //le champ contient 4 valeurs mais pas des réelles alors//problème

verifpseudo2=2;}

elseif(((tt.length==4)&&(tt[0]>=tt[1]))||((tt.length==4)&&(tt[1]>=tt[2]))||((tt.length==4)&&(tt[2]>=tt[3])))

{document.getElementById(k).innerHTML='<span class="champ_invalide"><img

src="images/n.gif" />&nbsp;&nbsp;&nbsp;&nbsp; Le quatres valeur doivent étre dansun ordre croissant</span>';//le champ contient 4 valeurs réelles mais pas//ordonnées alors problème

verifpseudo2=2;}

else{document.getElementById(k).innerHTML='<span class="champ_invalide"><img

src="images/o.gif"/>&nbsp;&nbsp;errur</span>'; ;//autres erreurs

verifpseudo2=2;}

}}

Page 112: Rapport PFE Marouene Haddad

Codes Sources

87

Figure 57 : Fonction VerifReel extraite de la page expert2.jsp.

Ce traitement a été fait pour chacun des termes choisis par le pédagogue à savoir, la

fonction triangulaire, la fonction trapézoïdale, la fonction gaussienne, la fonction cloche

généralisée, la fonction sigmoïdale, les singletons et les morceaux linéaires.

3 Organigramme du site Web

function VerifReel(chaine){var exp=new RegExp("[ ]+","g");//délimiteur entre expression régulièrevar tabNom=chaine.split(exp); //déclarer un tableau et mettre dedans les sous-chaine extraiteif (tabNom==null) //si le tableau est nul

{alert("Problème dans l'expression !"); //informer l’utilisateur qu’il y’a un pb dans

//l’affichage}

else{for (var i=0;i<tabNom.length;i++)

{if(verifier_num (tabNom[i])==1)//vérifier pour chaque sous-chaine est un

//numero en appelant la fonction verifier_num présenté précédemment.{//mettre dans le deuxième tab que la sous-chaine est conformetab[i]=1;}else{//mettre dans le deuxième tab que la sous-chaine n’est conformetab[i]=2;}

//affichage=affichage + " ["+ tabNom[i] + "]\n";}

return (tabNom);//retourner le tableau tabNom}

}

Page 113: Rapport PFE Marouene Haddad

Figure 58 : Organigramme du site Web

index.jsp authentification.jsp

index_utilisateur.jsp

BD

Service

Web

index_pedagogue.jsp

administrateur.jsp

mot_passe_oublie.jsp

inscription.jsp

Légende :

: Page d’accueil

: Page jsp affiché

: Page jsp appelé mais pas affiché

: Appel à une méthode du service Web

: Interaction avec la base de données

: Redirection

mail_succes.jsp

mail_mot_passe.jsp BD

mail_erreur2.jspmail_erreur.jsp

inscription_base.jspBD

inscription_erreur.jspinscription_succes.jsp expert1.jsp

novice1.jsp

liste_fcl_p.jsp

gerer_compte_p.jsp

expert2.jsp expert3.jsp expert4.jsp

Service

Web

Service

Web

expert5.jsp

BDexpert6.jsp

expert_succes.jsp expert_erreur.jsp

novice2.jsp

Service

Web

Novice3.jsp BD

questionnaire_p.jsp

BD

Service

Webdetermination_p.jsp

BD

BDmodifier_p.jsp

liste_fcl.jsp questionnaire.jspService

Webdetermination.jsp

BDBD

gerer_compte.jsp

BDmodifier_u.jsp

utilisateur_succes.jsp utilisateur_erreur.jsp

gerer_utilisateur.jsp gerer_compte_a.jspgerer_a_utilisateur.jspvalidation.jsp

BD

suppression.jsp BD

modifier_p.jsp

BD

administrateur_succes.jsp

administrateur_erreur.jsp

Page 114: Rapport PFE Marouene Haddad

Résumé

Ce travail est effectué dans le cadre du Projet de Fin d’Etudes de la Maitrise en

Informatique. Il s’agit de la conception et l’implémentation d’un service Web pour le calcul du

Profil de l’apprenant à travers les questionnaires. Ce service Web offre la fonctionnalité de la

création de questionnaire. Les réponses à un questionnaire seront utilisées pour le calcul des

préférences en se basant sur la logique floue. D’autre part, ce service donne la main à son

paramétrage pour satisfaire les besoins des pédagogues selon leurs degrés d’expertise dans le

domaine de la logique floue.

Mots clés : Service Web, Logique floue, TAM, e-Learning, Personnalisation, Approche

pédagogique.

Abstract

The context of this work is the project of end of studies. The main aim of this project is the design

and the implementation of a Web service for the calculation of the Profile of learner through the

questionnaires. This Web service offers the functionality of the creation of questionnaire. The

responses of a questionnaire are used to calculate the preferences by using the fuzzy logic. In

addition, it gives the hand to its parameter setting to satisfy the needs for the pedagogs according to

their degrees of expertise in fuzzy logic.

Key words : Web Service, Fuzzy logic, TAM, e-Learning, Personalization, Teaching approach.

صملخّ

یتمحور .یندرج ھذا العمل في إطار مشروع نھایة الدروس للحصول على شھادة األستاذیة في علوم اإلعالمیة

تمكن .االستجواباتمن خاللمن حساب خاصیّات المتعلمنصمیم و إنجاز خدمة واب تمكّ ھذا المشروع حول ت

المیوالت و ذلك اعتمادا على اإلجابات عن االستجواب لحساب یتم استعمال.ھذه الخدمة من إنجاز إستجواب

من جھة أخرى یمكن للبیداغوجي تكییف ھذه الخدمة تماشیا مع درجة خبرتھ في مجال المنطق .المنطق الغامض

.الغامض

الطرق ‘التشخیص‘التعلم عن بعد‘التكنولوجیال تقبنموذج ‘المنطق الغامض‘خدمة واب:الكلمات المفاتیح

.البیداغوجیة