95
edicace Je d´ edie ce travail A Mes chers parents Pour tout le bonheur qu’ils m’apportent, pour leur soutien moral, mat´ eriel et affectif. Pour leur encouragement durant mes ´ etudes et tout au long de la r´ ealisation de ce travail. Qu’ils trouvent dans ce travail le fruit de leurs sacrifices consentis pour mon ´ education et l’expression de mon amour et ma gratitude pour tout leur encouragement qui m’a toujours pouss´ e vers l’avant. Que Dieu le tout puissant leur prot` ege et leur procure sant´ e et longue vie. A Mes sœurs Je leur souhaite tout le succ` es et le bonheur du monde. A Tous les membres de ma famille, pour les encouragements et les conseils qu’ils n’ont cess´ e de me prodiguer, plus sp´ ecialement mes ch` eres Ines Maalej, Mouna Mallouli et son mari Sabeur, Pour leur patience, leur confiance et leur affection. Qu’ils trouvent avec ce travail l’expression de ma sinc` ere gratitude et de mon affection. A Tous mes ami(e)s, notemment Zyed Triki, Ayoub Zayeti et Aladdin El Gharbi. A Ma ch` ere amie Chikhrouhou Monia. Rim

Laceramic Virtual University

Embed Size (px)

DESCRIPTION

Suite aux dernières mutations du monde économique suite à la crise financière apparue ses deux dernières années, les grandes entreprises se sont précipités vers l’adoption des stratégies avec lesquelles elles feront face à ces nouvelles circonstances et afin de défendre leur existence su le marché. C’est dans ce contexte que Laceramic SA a emprunté le chemin des technologies de l’information et de la communication en lançant un projet de réalisation d’une plateforme de formation à distance permettant ainsi à ces employés de partager leur savoir et s’unir pour protéger leur société.

Citation preview

Dedicace

Je dedie ce travail

A

Mes chers parents

Pour tout le bonheur qu’ils m’apportent, pour leur soutien moral, materiel et affectif.

Pour leur encouragement durant mes etudes et tout au long de la realisation de ce

travail. Qu’ils trouvent dans ce travail le fruit de leurs sacrifices consentis pour mon

education et l’expression de mon amour et ma gratitude pour tout leur encouragement

qui m’a toujours pousse vers l’avant. Que Dieu le tout puissant leur protege et leur

procure sante et longue vie.

A

Mes sœurs

Je leur souhaite tout le succes et le bonheur du monde.

A

Tous les membres de ma famille, pour les encouragements et les conseils qu’ils n’ont

cesse de me prodiguer, plus specialement mes cheres Ines Maalej, Mouna Mallouli et son

mari Sabeur, Pour leur patience, leur confiance et leur affection.

Qu’ils trouvent avec ce travail l’expression de ma sincere gratitude et de mon affection.

A

Tous mes ami(e)s, notemment Zyed Triki, Ayoub Zayeti et Aladdin El Gharbi.

A

Ma chere amie Chikhrouhou Monia.

Rim

Dedicace

Je me permet d’exprimer ma plus profonde reconnaissance a :

Mon pere Ahmed : Qui n’a jamais cesse de me soutenir, m’assister et m’encourager

depuis mes premiers jours du primaire jusqu’aujourd’hui. A celui qui a sacrifie ses

belles annees pour embellir les miennes.

Ma mere Majda : Qu’aucune expression de gratitude ne suffisait pour temoigner de

l’etendue des sentiments que j’eprouve a son egard, pour sa bienveillance meme

avant que je vit la lumiere et pour son affection et son amour avec lesquels elle m’a

comble. A celle que je sacrifierai mon ame pour regarder son sourire celeste.

Mes sœurs Sara et Maroua : Que personne ne peut egaler leurs places dans mon

cœur, pour les magnifiques moments passes ensemble. Je leur souhaite une belle vie

et qu’Allah les protege.

Ma fiancee Yosr : Pour ses encouragements et son support durant la periode du

stage. Je lui souhaite la reussite dans ses etudes et dans sa vie entiere.

Lina : La perle qui ne cesse pas de semer la joie et la gaıte dans la maison. Qu’Allah la

garde pour ses parents.

A toute la famille et tous mes amis, qui m’ont toujours pousse vers la reussite, qu’Allah

leur offre le bonheur et nous rassemble dans ses paradis.

Akram

Remerciements

Qu’il nous soit permis de remercier les membres du jury, pour l’honneur qu’ils me font

de juger ce modeste travail.

Nos vifs remerciements s’adressent a Monsieur Walid Sadfi pour l’honneur qu’il nous

fait en acceptant d’encadrer notre projet de fin d’etudes. Votre haute competence, votre

dynamisme, votre amour de metier et de vos etudiants, et votre sens de l’humain qu’on a

tant admire, sont pour vous le meilleur guide. Vous etes pour nous le maıtre dont je suis

fier d’etre l’eleve.

Nous presentons nos remerciements les plus sinceres a tout le corps enseignant de

l’Ecole Nationale des Sciences de l’Informatique auxquels nous devons nos instructions.

Au terme de ce travail, nous presentons notamment notre profonde gratitude a Mon-

sieur Hakim Harzallah, Directeur de developpement du Groupe Laceramic SA, pour sa

bienveillance de nous avoir accueilli au sein de la societe, pour la confiance qu’il nous a

accorde, pour son assistance et son suivi.

Nous citons en particulier nos encadreurs professionnels Messieurs Sofiene Bchir et Bilel

El Ghali dont l’aide et l’encouragement continu nous ont permis de defier les entraves et

de travailler avec acharnement. Nous esperons etre a la hauteur de leur confiance. Qu’ils

trouvent dans ce travail l’expression de notre profonde gratitude.

Nous remercions specialement tous ceux qui ont croise pour quelques temps notre

route au sein de LACERAMIC, nous pensons notamment a l’equipe des stagiaires qui ont

anime ces quatre mois de travail, notamment notre collegue Hsis Mos’ab.

Enfin, nous exprimons notre sympathie a toutes les personnes qui ont contribuees de

pres ou de loin au bon deroulement de ce travail.

Table des matieres

Introduction 1

1 Presentation generale 3

1.1 Presentation de Laceramic S.A . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.1.1 Activites principales de Laceramic . . . . . . . . . . . . . . . . . . 3

1.1.2 Dispersion geographique du groupe LACERAMIC . . . . . . . . . . 4

1.2 Presentation du sujet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Etat de l’art 9

2.1 Le E-Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.1 Generalites sur le E-Learning . . . . . . . . . . . . . . . . . . . . . 9

2.1.2 Processus du E-Learning . . . . . . . . . . . . . . . . . . . . . . . . 11

2.1.3 Situation du E-Learning en Tunisie . . . . . . . . . . . . . . . . . . 12

2.2 Les outils du E-Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2.1 Les outils de gestion des formations (LMS) . . . . . . . . . . . . . . 14

2.2.2 Les outils de gestion des contenus de formation (LCMS) . . . . . . 18

3 Analyse et specification des besoins 23

3.1 Methodologie de developpement . . . . . . . . . . . . . . . . . . . . . . . . 23

3.1.1 Quelques methodes agiles de developpement . . . . . . . . . . . . . 24

3.1.2 Methodologie retenue . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.2 Standard UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

viii TABLE DES MATIERES

3.3 Definition des acteurs du systeme . . . . . . . . . . . . . . . . . . . . . . . 26

3.4 Analyse des besoins fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . 27

3.5 Analyse des besoins non fonctionnels . . . . . . . . . . . . . . . . . . . . . 27

3.6 Les diagrammes des cas d’utilisation . . . . . . . . . . . . . . . . . . . . . 28

3.6.1 Cas d’utilisation de l’apprenant . . . . . . . . . . . . . . . . . . . . 28

3.6.2 Cas d’utilisation de l’adminstrateur . . . . . . . . . . . . . . . . . . 30

3.7 Plan de navigation de la plateforme . . . . . . . . . . . . . . . . . . . . . . 30

3.8 Les diagrammes d’activite . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.8.1 Espace de collaboration . . . . . . . . . . . . . . . . . . . . . . . . 31

3.8.2 Gestion des supports de formation . . . . . . . . . . . . . . . . . . 33

4 Conception 35

4.1 Conception generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.1.1 Architecture multi-tiers . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.1.2 Diagramme de paquetages . . . . . . . . . . . . . . . . . . . . . . . 36

4.2 Conception detaillee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.2.1 Diagrammes de sequences . . . . . . . . . . . . . . . . . . . . . . . 38

4.2.2 Diagrammes de classes . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.2.3 Conception de la base de donnees . . . . . . . . . . . . . . . . . . . 45

5 Realisation 49

5.1 Environnement logiciel du travail . . . . . . . . . . . . . . . . . . . . . . . 49

5.2 Travail realise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5.2.1 Cote apprenant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5.2.2 Cote administrateur . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.3 Chronogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

6 Conclusion et perspectives 60

TABLE DES MATIERES ix

Netographie 65

Glossaire 66

A Le standard J2EE 66

B Le framework JSF 71

C DAO et Hibernate 73

Table des figures

1.1 Dispersion geographique du groupe LACERAMIC . . . . . . . . . . . . . . 4

2.1 Processus du E-Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2 Comparaison des LMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.3 Comparaison des fonctionnalites des CMS . . . . . . . . . . . . . . . . . . 21

3.1 Le processus XP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.2 Cas d’utilisation d’un apprenant . . . . . . . . . . . . . . . . . . . . . . . . 29

3.3 Cas d’utilisation de l’administrateur . . . . . . . . . . . . . . . . . . . . . . 30

3.4 Plan de navigation de la plateforme . . . . . . . . . . . . . . . . . . . . . . 31

3.5 Espace de collaboration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.6 Gestion des supports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.1 Architecture de l’application . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.2 Diagramme de paquetages de l’application . . . . . . . . . . . . . . . . . . 37

4.3 Evaluation des acquis des apprenants . . . . . . . . . . . . . . . . . . . . . 39

4.4 Suppresion de formation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.5 Suivi des utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.6 Diagramme de classes du paquetage Utilisateurs . . . . . . . . . . . . . . . 43

4.7 Diagramme de classes du paquetage Formations . . . . . . . . . . . . . . . 43

4.8 Diagramme de classes du paquetage Evaluation . . . . . . . . . . . . . . . 44

4.9 Diagramme de classes du paquetage Collaboration . . . . . . . . . . . . . . 45

xii TABLE DES FIGURES

4.10 Schema conceptuel de la base de donnees . . . . . . . . . . . . . . . . . . . 46

4.11 Conception de la base de donnees du forum . . . . . . . . . . . . . . . . . 47

5.1 Architecture du framework JSF . . . . . . . . . . . . . . . . . . . . . . . . 50

5.2 Position d’Hibernate dans une application web . . . . . . . . . . . . . . . . 51

5.3 Les modules realises de la plateforme . . . . . . . . . . . . . . . . . . . . . 52

5.4 Authentification des utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . 52

5.5 Accueil d’un apprenant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5.6 Livre interactif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.7 Evaluation par QCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.8 Participation au forum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.9 Accueil de l’administrateur . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.10 Gestion des modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.11 Ajout d’un support de formation . . . . . . . . . . . . . . . . . . . . . . . 60

5.12 Ajouter un utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

5.13 Chronogramme des taches . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

A.1 Architecture N-tiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Introduction

D e nos jours, le monde vit une situation economique de criticite indeniable. En effet les

mutations ineluctables de l’industrie mondiale mettent les entreprises devant le probleme

de l’inadequation de ses employes avec leur environnement economique, chose qui les

empeche d’evoluer dans le rythme international.

Maıtriser et non subir ces changements est alors un enjeu qui est hors question de le

perdre. Pour cela la majorite des etablissements dans le monde a concentre plein d’effort

autour de son maıtre d’œuvre qui n’est personne autre que l’employe puisque developper

son sens creatif, sa capacite a apprendre et a evoluer et maintenir ses competences sont

devenus vitaux pour accroıtre l’agilite et la flexibilite de l’entreprise.

En Tunisie, la formation professionnelle continue est organisee par le code de travail

(article 339) et qui la considere comme service comprenant l’acquisition d’elements essen-

tiels de culture generale et celle d’une technique professionnelle, theorique et pratique, le

perfectionnement professionnel, le reclassement professionnel et la formation profession-

nelle acceleree.

La competitivite est encore plus d’actualite et le temps de travail reste fixe alors que

le besoin en formation augmente ce qui ne favorise pas la productivite recherchee. En

effet partir en formation necessite le regroupement d’un nombre maximal d’apprenants

avec le formateur dans une periode convenable a tout le monde, d’ou la difficulte de la

planification. Comme � le temps, c’est l’argent � , les societes se trouvent dans une course

contre la montre et avec des budgets sans cesse optimises.

Avec leur apparition, les technologies de l’information et de la communication

representaient l’arche de Noe pour les entreprises. En effet, que ce soit via Internet ou

l’intranet, les moyens de formation, d’apprentissage, d’accompagnement et d’informations

2 INTRODUCTION

se developpent ; faits principalement lies au gain de temps et a l’augmentation du public

touche.

C’est ainsi que le concept de la formation a distance a vu le jour. Neanmoins, la e-

formation n’est pas un luxe qui peut attendre l’arrivee des jours meilleurs de l’economie,

bien au contraire, elle fait partie integrante du processus susceptible de conduire a ces

jours.

C’est dans ce contexte que s’integre notre travail et qui consistait a la conception et la

realisation d’une plateforme de formation a distance au sein de LACERAMIC S.A qui a

inclus l’E-Learning dans sa strategie pour faire face aux defis du marche et aux nouvelles

circonstances qui viennent de s’imposer.

Le present document est un rapport descriptif synthetisant tout le travail que nous

avons effectue dans cette perspective. Il est organise en chapitres comme suit :

– Le premier donne une presentation generale du projet : l’organisme d’accueil ainsi

que les objectifs a atteindre.

– Dans le second, nous exposons l’etat de l’art du domaine du E-Learning afin de bien

se mettre dans le contexte.

– Le troisieme chapitre intitule ” Analyse et specification des besoins ” presente les

differents besoins fonctionnels et non fonctionnels que doit satisfaire l’application a

realiser.

– La conception generale et la conception detaillee font ensuite l’objet du quatrieme

chapitre.

– Le dernier chapitre decrit les taches accomplies durant le stage en titre de realisation.

Enfin nous donnons une conclusion recapitulant le travail realise ainsi que des pers-

pectives futures.

Le rapport est muni aussi de quelques annexes representant les details techniques de

la conception et de la realisation ainsi que quelques concepts theoriques indispensables

pour la bonne comprehension du rapport.

CHAPITRE 1 Presentation generale

Ce chapitre a pour objectif de situer notre projet dans son contexte general a savoir

l’organisme d’accueil et le sujet a traiter. Dans la premiere section nous donnons une breve

presentation de l’organisme d’accueil ’LACERAMIC S.A’. Dans la deuxieme section, nous

decrivons le sujet a traiter et les objectifs a atteindre.

1.1 Presentation de Laceramic S.A

Pour bien se mettre dans le contexte du stage, nous avons juge necessaire de presenter

l’organisme qui nous a accueilli en mettant en relief ses activites diverses et l’etendu

geographique de ses sites en Tunisie.

1.1.1 Activites principales de Laceramic

Fondee en 1931, ”La Ceramique Tunisienne”, c’est ainsi que la societe s’appelait ini-

tialement, a ete rebaptisee LACERAMIC apres son rachat par le groupe eponyme.

LACERAMIC, signifiant un groupe et un label, a profite de sa privatisation pour re-

vendiquer le titre d’entreprises pionnieres et innovatrices dans leurs domaines : les produits

rouges, refractaires et les carreaux de faıence. LACERAMIC vient, ces dernieres annees,

de diversifier ses activites pour toucher d’autres secteurs afin de continuer et accentuer sa

participation dans la construction de la Tunisie en prenant en charge les secteurs dont le

pays a le plus besoin. C’est ainsi que le groupe LACERAMIC a cree MAS, (Mediterranean

Air Service) l’operateur aerien specialise en matiere de fret aerien. C’est dans ce contexte

qu’il a egalement mis sur pied MEDSOFT, une societe de service et d’ingenierie informa-

tique dont le champ de competences est l’etude technique et le conseil en informatique.

4 CHAPITRE 1. PRESENTATION GENERALE

LACERAMIC s’est aussi interessee a la finance avec la creation de MEDINVEST, une

societe a capital risque.

1.1.2 Dispersion geographique du groupe LACERAMIC

Le groupe touche un effectif d’un millier de personnes entre cadres, ingenieurs, tech-

niciens, agents techniques, agents de maıtrise et ouvriers, travaillant dans les divers sites

de produits rouges et de carreaux de faıences situes a Fouchana, Jendouba, El Hamma,

Kasserine, Bizerte et a Tajerouine comme le montre la figure 1.1.

Figure 1.1 — Dispersion geographique du groupe LACERAMIC

1.2. PRESENTATION DU SUJET 5

1.2 Presentation du sujet

Une etude de cas a revele l’obligation de certaines formations pour les differents agents

de LACERAMIC. D’ou le besoin a un parcours professionnel avec des formations obliga-

toires dans le cadre d’une Validation des Acquis Professionnels (VAP) afin de permettre

aux agents de partir en formation malgre un manque de personnel, d’ou la favorisation

du remplacement de la strategie de formation.

Vu la richesse de son systeme d’information et sa volonte d’amelioration, LACERAMIC

a opte pour la realisation de sa propre plate-forme de formation a distance. C’est ainsi

qu’elle pourra depasser les obstacles poses par la formation professionnel classique dont

les principaux sont :

– Le manque de disponibilite du personnel.

– La dispersion geographique des differents sites du groupe.

– Le cout important de la planification et d’execution.

La solution est donc de diversifier le systeme d’apprentissage en developpant l’utili-

sation des nouvelles technologies. Il s’agit surtout de mettre en place une solution qui

accompagnera les apprenants dans le nouveau dispositif de formation et qui vise a at-

teindre les objectifs suivants :

– Liberer les professionnels intervenant dans la formation.

– Toucher une tranche de population plus large.

– Evaluer les connaissances et les aptitudes de chacun dans la maıtrise des differents

applicatifs de l’entreprise.

– Mettre a jour les contenus et methodes afin d’optimiser l’impact de la formation sur

les apprenants.

– Permettre une individualisation de la formation.

– Developper l’autonomie des apprenants, tout en offrant une grande souplesse : le

E-Learning laisse le choix aux apprenants quant au moment et au lieux auxquels ils

desirent se former.

– Permettre la formation juste a temps : les employes changent frequemment d’em-

plois, de postes, de projets et les informations deviennent obsoletes de plus en plus

rapidement. Avec le E-Learning, l’employe peut consulter le cours(ou la partie du

cours) juste avant d’accomplir la tache voulue ou avant de resoudre un probleme.

6 CHAPITRE 1. PRESENTATION GENERALE

– Assurer un suivi et un controle de la formation plus efficacement.

– Accelerer l’apprentissage : permettre de former rapidement une multitude de per-

sonnes (employes, clients, partenaires) reparties dans des lieux differents.

– Creer des espaces de communication et de collaboration ( forums et mails).

1.2. PRESENTATION DU SUJET 7

Pour chacune des formations, les niveaux de competence visent a attribuer aux appre-

nants une des qualifications suivantes :

– sensibilisation : avoir des notions sur des concepts choisis.

– familiarisation : appliquer les bases des concepts choisis dans des situations

connues.

– maıtrise : avoir des connaissances approfondies et les appliquer dans des situations

connues mais complexes.

– expertise : appliquer l’ensemble des connaissances dans des situations nouvelles et

etre capable d’analyser et d’evaluer ces situations

Conclusion

Dans ce premier chapitre nous avons pu situer le projet dans son cadre general en

presentant l’organisme d’accueil et les buts de l’application. Dans le chapitre suivant,

nous allons proceder a une etude detaillee des principaux concepts en relation avec notre

sujet.

CHAPITRE 2 Etat de l’art

Avant d’entamer l’elaboration de notre projet, nous avons juge primordial de presenter

les objectifs generaux d’une telle application a partir de ses elements moteurs, a savoir le

concept et les les outils communement utilises dans l’E-Learning .

2.1 Le E-Learning

Le but de cette section est de s’initier a la notion du E-Learning. Pour cela, nous

commencons par definir ce concept et presenter ses principes. Ensuite, nous definissons le

processus de developpement d’un systeme de formation a distance. Enfin, nous exposons

l’experience tunisienne dans l’apprentissage a distance.

2.1.1 Generalites sur le E-Learning

Definition

La definition du E-Learning varie selon le plan de vision de ce concept. en effet deux

plans principaux ont contribuer a une definition.

Pedagogiquement, le E-Learning peut se definir comme un ensemble de methodes de

formation permettant de suivre un programme de formation a distance en ayant recours

a Internet ou Intranet.

l’E-Learning, du point de vue informatique, est la mise en œuvre des outils multimedia

(son, image, video) au sein d’un systeme reparti grace aux supports de distribution de l’in-

10 CHAPITRE 2. ETAT DE L’ART

formation (PC, Internet, Intranet, Extranet . . .) pour permettre a l’apprenant d’accomplir

un ensemble de formation et aux responsables de gerer le contenu de la formation.

Les formes du E-Learning

L’E-Learning peut se presenter de trois facons :

– La formation asynchrone : methode de formation s’appuyant sur la guise de

l’apprenant. Elle ne l’oblige pas a etre connecte a une heure precise mais plutot le

laisse le choix.

– La formation synchrone : permet plus d’interactivite entre les apprenants et les

responsables des formations grace a la communication en temps reel entre eux.

– L’apprentissage mixte : c’est la combinaison entre les deux facons deja evoquees.

Elle donne a l’apprenant une periode limitee pour acquerir une formation tout en

offrant les outils necessaires de collaboration en temps reel.

Principes du E-Learning

Le concept du E-Learning se base essentiellement sur trois principes :

– Utilisation des nouvelles technologies : le premier principe porte sur l’utilisation des

TIC 1 interactives et accessibles a un tres large public.

– Organisation du contenu : le second principe concerne l’organisation du contenu

pedagogique. Ce contenu est decoupe en modules de telle sorte que l’on puisse

construire des parcours d’apprentissage adaptes aux apprenants en fonction de leurs

connaissances de base, de leurs experiences, de leurs objectifs . . .Il s’agit de definir

des sous ensembles ou modules coherents et de definir une progression logique (un

chemin d’apprentissage) d’un module a l’autre de telle sorte que les conditions sui-

vantes soient satisfaites :

[-] Chaque module apporte a l’apprenant un ensemble de connaissances qui

viennent s’ajouter, de maniere coherente, aux connaissances acquises dans les mo-

dules precedents.

[-] L’assimilation du contenu de chaque module doit etre evaluee par des tests

en fin de module. Ces tests seront proposes a l’apprenant sous forme de ques-

1. Technologies de l’Information et de la Communication

2.1. LE E-LEARNING 11

tions/reponses, de questionnaires a choix multiples, de problemes a resoudre, de

simulation, d’etudes . . .

[-] Les pre-requis d’un module doivent etre contenus dans le(s) module(s)

precedent(s) (sauf, bien entendu, pour le premier module du cours).

[-] La redondance de certains modules, dans leur contenu, permet a l’apprenant

de se rafraichir la memoire et de revoir sous une autre forme ce qui n’a pas ete bien

assimile.

– La collaboration entre apprenants : par rapport a une formation classique, les ap-

prenants d’un cours dispense par E-Learning ne sont plus physiquement rassembles

dans un meme local. Comme il est important de ne pas perdre la valeur ajoute

que represente la communication formelle et informelle entre les apprenants, les pla-

teformes de E-Learning fournissent des outils qui permettent de creer des classes

virtuelles ou des groupes d’apprenants vont pouvoir ” se rencontrer ”, echanger des

idees, confronter leurs experiences.

2.1.2 Processus du E-Learning

Le processus de developpement des plateformes de formation a distance est

generalement decompose en cinq phases principales qui sont organisees en boucles afin

de garantir une demarche iterative. En effet les differentes phases sont :

– L’analyse : elle constitue la base sur laquelle les objectifs et les fonctionnalites de

la plateforme seront eclaircis.

– La modelisation (Design) : c’est la phase dans laquelle les developpeurs mettent

en place les specifications des modules de formation, des dependences entre eux ainsi

que des formats et des contenus des supports de formation.

– L’implementation : c’est la ou l’equipe de developpement travaille sur la trans-

formation du modele en un systeme fonctionnel. Cette phase doit alors produire des

metadonnees sur les formations, les supports et sur l’evaluation des connaissances.

– Le test et l’integration : c’est la mise en œuvre de la totalite ou d’une partie du

systeme afin de le tester et de recueillir les remarques et les votes de ses utilisateurs

directs.

– L’evaluation et la maintenance : apres avoir identifie les defauts du systeme

et ses sources de plantages eventuelles il est necessaire de passer par une phase de

12 CHAPITRE 2. ETAT DE L’ART

maintenance permettant de reparer et le rendre operationnel.

Les differentes phases de ce processus sont decrites par la figure 2.1.

Figure 2.1 — Processus du E-Learning

2.1.3 Situation du E-Learning en Tunisie

Les principaux pays actuellement exportateurs de services de formation par Inter-

net sont les Etats-Unis, les pays europeens, l’Australie et le Canada. Les realisateurs au

Etats-Unis et au Canada sont enormes et diversifies. En effet c’est vu l’importance qu’ils

l’accordent a ce nouveau mode d’education que nous assistons ces jours la a une croissance

vertigineuse du E-Learning . L’Australie et les pays europeens investissent moins dans ce

secteur que les pays de l’Amerique de Nord, mais ils reagissent rapidement a l’evolution

de la formation ouverte et a distance. Ils y affectent des credits importants et se dotent

des structures necessaires pour le developpement de ce secteur. Dans le cadre de la mo-

dernisation et de la mondialisation, les pays en cours de developpement commencent bien

2.1. LE E-LEARNING 13

a s’incliner devant cette nouvelle methode d’apprentissage virtuel. Seulement, certains

sont encore en phase d’hesitation car la transaction vers ce nouveau mode d’education est

delicate. En Tunisie, les initiatives dans le secteur professionnel et educatif du E-Learning

ont debute avec la creation de ces trois principaux sites : l’ecole virtuelle Tunisienne,

l’ecole virtuelle de la poste tunisienne et l’universite virtuelle de Tunis.

L’ecole virtuelle Tunisienne

Depuis le 28 janvier 2002, la phase experimentale de l’ecole virtuelle tunisienne a

debute. Cette ecole s’organise autour de trois axes : accompagnement et encadrement,

apprentissage de la langue arabe et formation aux TIC. L’ecole virtuelle constitue un

espace d’echange de ressources educatives, d’experiences et d’idees et veut offrir l’oppor-

tunite de debattre dans le cadre de forums de discussion a propos de sujets divers.

L’ecole virtuelle de la poste tunisienne

L’ecole virtuelle de la poste tunisienne ouvre dans une premiere etape un ensemble de

cycle de formation a distance a l’intention des apprenants qui remplissent les conditions

de participation. Le deroulement de la formation effectue conformement aux etapes es-

sentielles suivantes (apprentissage, auto-evaluation, examen d’evaluation a distance, exa-

men final presentiel). Les cours de l’ecole virtuelle portent sur des themes a caractere

academique tel que la comptabilite, les finances, la gestion, l’economie, le droit, l’informa-

tique, les langues et les themes a caractere professionnel postal comme l’epargne postale

des cheques postaux, les nouveaux services.

L’universite virtuelle de Tunis.

L’universite virtuelle de Tunis(UVT) a demarre ses activites le 28 janvier 2002 en par-

tenariat avec les Instituts Superieurs des Etudes Technologiques (ISET). L’enseignement

au sein de l’UVT est modulaire, il se fait, essentiellement, avec une dose en presentiel

de 20%. L’UVT se propose d’offrir differents types de formation ouverte et a distance

(FOAD)en utilisant les nouvelles technologies de l’information et de la communication :

– Formations initiales

– Formations specialises post-maıtrise

14 CHAPITRE 2. ETAT DE L’ART

– Formations courtes a vocation professionnelle

Cette experience a debute avec la plate-forme ACOLAD 2 , par la suite, a partir de

fevrier 2004, elle a migre vers la plateforme INES 3.

2.2 Les outils du E-Learning

Dans une plateforme typique d’apprentissage a distance, nous trouvons des outils de

gestion des formations (LMS=Learning Management System), des outils de creation des

modules de cours (LCMS=Learning Content Management System) et des outils destines

aux differentes formes de communication.

2.2.1 Les outils de gestion des formations (LMS)

L’appellation Learning Management System(LMS), en francais ”plate-forme de

gestion de la formation” , designe une solution logicielle axee sur l’integration, la diffusion

et la gestion de contenu pour la formation a distance.

Les principales fonctionnalites d’un LMS sont :

– La gestion des apprenants : il s’agit de la principale fonctionnalite d’un LMS. Elle

permet aux responsables de la formation de definir, avec l’aide de l’administrateur,

les differents types de profils avec leurs droits associes. Elle administre l’inscription

et l’identification des apprenants aux formations, de facon individuelle ou groupee :

respect d’un circuit d’approbation predefini, prise en compte eventuelle des pre-

requis necessaires pour suivre une formation. Certains LMS gerent egalement la

notion de � domaine �, segmentant l’acces aux formations selon les profils des

apprenants et/ou les entites concernees.

– La conception des cours : les LMS integrent le plus souvent des outils simples de

creation de contenu, permettant la creation de cours, d’exercices et d’evaluations, en

assemblant les differents supports pedagogiques crees par le concepteur (documents,

animations, multimedia). Il est possible de definir un scenario et une arborescence

2. Apprentissage COLLaboratif A Distance3. Interactive E-Learning System

2.2. LES OUTILS DU E-LEARNING 15

de cours.

– le suivi des cursus de formation : les LMS permettent de suivre les temps consacres a

la formation et aux exercices, ainsi que d’affecter des roles aux differents apprenants.

Il est possible d’evaluer les performances des apprenants et de leur delivrer des

certifications si certaines conditions d’obtention sont remplies.

– le suivi et le bilan de la formation : les LMS integrent des outils de reporting et

de statistiques permettant de suivre de facon synthetique, par apprenant ou groupe

d’apprenants, le temps passe en formation, les resultats obtenus, etc. Cela autorise

notamment le suivi et la gestion des couts de formation.

Etude de quelques LMS

Il existe deux choix pour mettre en place une plateforme de E-Learning :

– soit choisir parmi les geants des LMS car ils sont riches et proposent des fonction-

nalites standards.

– soit deployer son propre LMS qui repond exactement aux besoins du client.

La solution LMS retenue doit pouvoir permettre le developpement d’un contenu E-

Learning facile a utiliser et adaptable. Une personne sans connaissance technique parti-

culiere doit etre en mesure de developper du contenu E-Learning et de le mettre en ligne

sur la plate-forme pedagogique. Les criteres fonctionnels a prendre en compte dans le

choix d’une plateforme LMS sont :

– Simplicite de l’installation et de l’utilisation : un LMS doit avoir une grande simpli-

cite pour qu’il soit juge convenable a la mise en place d’une plate-forme d’appren-

tissage a distance.

– Adaptabilite : c’est la capacite d’un LMS de s’integrer avec les elements du systeme

d’information de l’entreprise.

– Modularite : un gestionnaire de formation modulaire est un systeme dont l’architec-

ture est developpee en module, ce critere favorise alors l’extension de la plate-forme

en lui ajoutant d’autres modules.

– Scalabilite : c’est la caracteristique d’un systeme a evoluer en cas d’augmentation

du nombre d’utilisateurs et/ou de la taille son contenu.

– Respect des normes et des standards du E-Learning : pour faciliter les echanges

entre les differents systemes d’apprentissage a distance, des normes sont mis en

16 CHAPITRE 2. ETAT DE L’ART

place. Mais le probleme reside au fait que les travaux de normalisation sont en cours

et donc les specifications changent frequemment.

– Ergonomie des vues : afin d’intensifier la motivation des apprenants ainsi que celle

des tuteurs, les LMS doivent avoir des interfaces interactives et ergonomiques.

Notre strategie d’evaluation consistait a consulter la documentation de reference en

ligne ainsi que les comparatifs, les analyses et les retours d’experiences des experts. Nous

effectuerons une etude comparative de quatre LMS (Claroline, Dokeos, Ganesha, Moodle)

et qui vise l’identification des caracteristiques ergonomiques, techniques, pedagogiques qui

repondent au mieux a nos contraintes.

Claroline : est une plate-forme Open Source de formation a distance et de travail col-

laboratif. Elle permet aux formateurs de creer des espaces de cours en ligne et de

gerer des activites de formation sur Internet. Elle est simple a installer et a utiliser

grace a la documentation riche et claire contenue dans le site officiel. Cependant,

elle a quelques points faibles comme l’espace tres limite pour les documents et les

liens d’un groupe et l’ergonomie modeste de la messagerie instantannee. De plus, la

possibilite de creer plusieurs comptes avec le meme e-mail et de creer des comptes

avec des adresses fausses existent. Ceci pose un probleme de statistique quant au

nombre exacte d’utilisateurs. La creation de parcours pedagogique est aussi un peu

rigide (difficultes de revenir en arriere suite a une erreur de creation).

Dokeos : Dokeos est une plate-forme d’apprentissage a distance. D’une grande simpli-

cite de mise en oeuvre et tres intuitive pour ses utilisateurs (professeurs, formateurs,

eleves, auditeurs de la formation continue, etc. . .). Dokeos propose de nombreux ou-

tils destines a organiser les apprentissages et laisse toute latitude a la creativite du

developpeur pour elaborer des cours reellement attractifs, interactifs et multimedias.

Ganesha : est un LMS presentant un ensemble d’outils a des fins pedagogiques. Cette

plateforme est developpee a sources ouvertes en 2001 par la societe Anema. Ganesha a

ete la premiere plateforme de teleformation gratuite sous licence GNU GPL. Plusieurs

autres plateformes telle que AnaXagora ont ete concues en se basant sur Ganesha. Elle

integre les standards d’E-Learning SCORM 1.2 4, SCORM 2004, AICC 5 et LOM 6.

Ces standards sont a la base de la construction des contenus, de l’insertion de ces

4. Sharable Content Object Reference Model5. Aviation Industry CBT Committee6. Learning Object Metadata

2.2. LES OUTILS DU E-LEARNING 17

contenus dans un LMS et de la communication entre ces contenus et le LMS.

Moodle : Moodle est un LMS a code ouvert sous licence GNU GPL et developpe par

Martin Dougiamas en 2003 permettant de creer des communautes d’apprenants au-

tour de contenus et d’activites pedagogiques. La modularite de Moodle lui permet

de s’adapter a toutes les structures. Un des points forts de Moodle c’est qu’il est

centre sur la classe devenue communaute d’apprenants qui doivent partager leurs

connaissances pour apprendre. Avec Moodle il est possible de creer et rassembler les

apprenants dans des groupes simulant ainsi des classes classiques.

Tableau comparatif

Le tableau 2.2 recapitule notre evaluation de ces differents LMS.

Figure 2.2 — Comparaison des LMS

Cette comparaison favorise l’adoption de l’un de Dokeos et Moodle. Or chacune de

ces solutions presente des points faibles qui nous ont mene a les ecarter. En premier lieu,

Moodle presente les defauts suivants :

– Pas de creation des chemins d’apprentissage.

– Pas d’outil de feedback pour la generation des rapports, fonctionnalite requise pour

l’evaluation des apprenants.

18 CHAPITRE 2. ETAT DE L’ART

– Incapacite de creer des contenus hierarchiques.

En second lieu, Dokeos est elimine pour les raisons suivantes :

– Oriente entreprise ne prenant pas suffisamment en compte les besoins specifiques de

l’apprenant.

– N’offre pas de latitude dans le parametrage de l’interface.

– Systeme lent ce qui pose des problemes lors de la mise en ligne des cours.

– Sa prise en main n’est pas facile.

– La creation des parcours pedagogiques est assez rigide.

– Sa prochaine orientation vers l’aspect commercial.

A la fin de cette etude nous avons choisi d’opter a developper notre propre gestionnaire

de formation qui s’adapte bien aux besoins de l’Universite Virtuelle de LACERAMIC

(UVL).

2.2.2 Les outils de gestion des contenus de formation (LCMS)

Nous pouvons definir les outils de creation de cours comme ceux qui offrent les fonc-

tionnalites necessaires a l’assemblage en modules des pages de contenu et a la creation du

cours a partir de ces modules. Nous y trouvons donc :

– Des facilites d’assemblage des pages en modules avec construction automatique de

la navigation a l’interieur du module.

– Des aides a la creation des differents types de tests (questionnaires a choix multiples,

tests, navigation a l’interieur du module).

– Des outils permettant de construire plus ou moins facilement la logique de navigation

d’un module a l’autre en fonction de la filiere de cours et des resultats aux tests de

fin de module.

Les LCMS sont principalement bases sur les systemes de gestion de contenu (CMS)

qui ont pour but de simplifier la creation et la gestion du contenu en ligne. Ils permettent

une meilleure frequence des mises a jour des ressources deja publiees et a moindre cout.

Cela repose sur le principe de separation de la forme et du fond ainsi les auteurs doivent

pouvoir se concentrer uniquement sur leur contenu. Ils disposent pour ce faire de modeles

de presentation predefinis specifiques a chaque element qui compose le document (en-tete,

format du titre, emplacement d’une image, integration d’un fichier multimedia etc.)[N1]

2.2. LES OUTILS DU E-LEARNING 19

Etude de quelques CMS

Il y a enormement de choses a verifier avant de choisir un CMS, mais en voici les plus

decisives :

Personnalisation du front office : elle consiste a creer la structure editoriale et a

ajouter des modules fonctionnels specifiques (sondages, annuaires, . . .).

Personnalisation graphique du front office : si ce critere est preponderant, il est

strictement conseille de choisir un CMS se basant sur l’architecture des templates

graphiques car elle determine une part importante des couts de maintenance et

d’evolution.

Multilinguisme : c’est la capacite du CMS a gerer plusieurs langues. Ce critere est le

premier a prendre en compte dans les projets internationaux.

Personnalisation du back office : c’est la finesse qu’offre le CMS au niveau de ges-

tion des droits utilisateurs et de personnalisation des workflows offerts par la solu-

tion. Certaines solutions obligent l’entreprise a s’adapter a leur logique et d’autres

lui laissent le choix et ce dans le cas des projets ou le but n’est pas de publier les

informations seulement mais de les bien partager.

Flxibilite : c’est la capacite des gestionnaires de contenu a s’integrer au systeme d’in-

formation deja existant. Plus le projet est autonome des autres projets de l’entreprise

plus il sera facile de trouver des solutions repondant precisement aux besoins, notam-

ment parmi les CMS open source.

Capacite a monter en charge : la plupart des CMS proposent un systeme de cache

qui repond au probleme en precalculant les pages et les stockant au format HTML.

Dans ce cas, les elements a analyser sont l’architecture du cache et ses performances

reelles, via des tests de montee en charge par exemple. Dans le cas contraire, il faut

s’assurer qu’un systeme externe peut etre ajoute sans difficultes.

Appropriation : en pratique, il s’agit de mesurer l’ecart entre les habitudes des futurs

utilisateurs et les nouveaux processus. En fonction des cultures d’entreprise, ce critere

peut etre le facteur clef de succes, la bonne ou la mauvaise volonte des utilisateurs

pouvant a elle seule faire avorter ou non le projet.

La ponderation de ces criteres depend essentiellement de la nature du projet a realiser.

Une expression du besoin tres precise et une grande objectivite sont donc incontournables

20 CHAPITRE 2. ETAT DE L’ART

a ce stade. Une etude de certaines solutions de gestion de contenu est alors necessaire.

Pour cela nous avons choisi d’etudier de pres trois CMS open source vu le cout de creation

et le cout de possession qu’obligent des solutions payantes.

Corinis CCM : Corinis CCM est un systeme de gestion de contenu open-source base

sur le langage Java. Il combine a la fois la puissance d’une solution professionnelle de

gestion de contenu (editeur WYSIWIG, gestion de version, assurance de qualite basee

sur le role, . . .) avec facilite d’utilisation d’un framework communautaire. La concep-

tion modulaire du systeme encourage le developpement d’extensions reutilisables

(comme le forum, le vote ou les modules d’album photo). Par ailleurs, le code Java et

l’utilisation de XML comme format de donnees garantissent l’interoperabilite. L’uti-

lisation de Corinis CCM dans un environnement Internet ou Intranet permettra de

reduire les couts, les niveaux de competence exiges et le temps requis pour sa mise

en place tout en s’assurant d’avoir un outil fiable et un developpement ouvert de

plate-forme.

Alfresco CMS : Alfresco (Originellement Fresco - FRont-End for Sequence COmpari-

son mais ce nom a deja ete pris) est une referentielle open source pour la gestion de

contenu d’entreprise et des portlets (CMS). C’est un projet multiplateformes, utili-

sant des standards ouverts, et massivement base sur la technologie J2EE. Alfresco a

developpe une architecture moderne qui utilise les derniers outils open-source pour

optimiser les performances, et la Programmation Oriente Aspect (AOP) 7 facilitant

ainsi la modularite et l’adaptabilite de l’application. Il comprend la gestion de do-

cuments, la gestion de contenu Web, la collaboration, la gestion des enregistrement

ainsi que des images. Son architecture modulaire utilise les dernieres technologies

Java open source : Spring, Hibernate, Lucene et JSF. Cet outil favorise de sa sim-

plicite pour atteindre sa mission : ”ouvrir le monde de la gestion de contenu afin

d’augmenter les innovations grace a la participation de la communaute et au libre

acces au code source, et viser a fournir une application complete a moindre cout ”

dotCMS : dotCMS est un systeme open-source de gestion de contenu dedie aux entre-

prises qui integre les meilleures fonctionnalites de gestion de contenu. Il permet de

creer des structures de donnees pour diverses entites et ainsi que des liens entre eux

pour faciliter la creation de bases de donnees generees dynamiquement sous forme

7. Aspect-Oriented Programming

2.2. LES OUTILS DU E-LEARNING 21

de donnees en cours de validation a l’aide de l’outil perl facile a modifier. En outre,

il permet de creer des conteneurs inclus dans des templates qui generent des pages.

On peut utiliser les macros rapides inclus dans les templates qui supportent Ajax a

travers XML-RPC, la pagination, la recherche, le diaporama et les fonctions gale-

rie. Entre autres macros disponibles dotCMS presente les galeries de photos, le MP3

Player Streaming, le depot de fichiers, l’execution des requetes SQL et beaucoup

d’autres macros.

Tableau comparatif Une etude comparative a ete alors elaboree dans le but de faire le

bon choix. la figure 2.3 recapitule la comparaison effectuee. En premier lieu les choix

Figure 2.3 — Comparaison des fonctionnalites des CMS

de Corinis CCM et d’Alfresco CMS se sont ecartes vu que le premier ne peut pas

integrer la connexion au serveurs d’annuaire LDAP (qui est une fonctionnalite sur

laquelle l’authentification a la plateforme doit se baser) et que la richesse technolo-

gique et fonctionnelle de la deuxieme induisent une legere complexite d’utilisattion

pour les developpeurs ainsi que pour les utilisateurs finaux. Enfin nous nous sommes

concentre sur l’etude de dotCMS qui consistituait une solution parfaite de gestion

de contenu. Cependant, le probleme de dotCMS c’est qu’il requiert un acces com-

plet au serveur, car il necessite l’installation personnalisee d’Apache Tomcat comme

serveur d’application , alors que la majorite des possesseurs de domaines internet

n’ont pas cet acces a leur serveur, ils ne possedent que le domaine dans le nuage In-

ternet. D’autre part, tellement dotCMS est puissant dans sa maniere d’architecturer

ses donnees et dans sa maniere de considerer le contenu qu’il necessite un serveur

de derniere generation au niveau des ressources materielles, ce qui n’est encore pas

22 CHAPITRE 2. ETAT DE L’ART

du ressort du grand public. Par ailleurs, le grand defaut de dotCMS reste sa do-

cumentation. En effet, la politique de dotMarketing (l’entreprise qui gere dotCMS)

est d’ailleurs tres explicite sur ce point, en liberant le code source, mais en faisant

payer toute aide et support. Enfin comme tout autre CMS, dotCMS presente certains

inconvenients parmi lesquels nous citons :

– La structure en 3 colonnes immuables.

– La rigidite des themes (ou templates) telechargeables gratuitement et qui

necessitent de conserver un lien visible sur le site developpee vers le site de leur

concepteur, et la creation de nouveaux themes meme si elle est possible parfois elle

sera couteuse.

– L’uniformite de la diffusion de l’information donne des sites semblables.

– Les CMS sont un peu des usines a gaz puisqu’ils cachent les details concrets de

realisation.

– La scalabilite n’est pas toujours assuree.

– Les risques de securite venant du fait que tout le monde connaıt le code source du

site et peut engendrer d’eventuels risques de securite et des vulnerabilites.

– Les modules complementaires, souvent developpes par des tiers et mis a la disposi-

tion de la communaute des utilisateurs du CMS, peuvent etre source d’instabilite

du site.

Conclusion

Dans ce chapitre nous avons pu degager et etudier les differents concepts surlesquels se

base la FOAD. Le chapitre suivant aura pour but de decortiquer les besoins fonctionnels

et non fonctionnels que notre application doit satisfaire.

CHAPITRE 3 Analyse et specification

des besoins

La reussite de tout projet depend de la qualite de son depart. De ce fait, l’etape de

specification constitue la base de depart de notre travail. En outre, l’adequation de toute

l’application a realiser, aux besoins des utilisateurs et aux traitements envisages au niveau

de ses operations assurera la reussite de l’application et son utilite future. Pour assurer

ces objectifs, il est essentiel que nous parvenions a une vue claire des differents besoins

escomptes de notre projet.

Dans ce chapitre, nous commencons par definir notre processus de developpement ainsi

que standard de modelisation adopte. Nous detaillons ensuite les besoins fonctionnels et

non fonctionnels du systeme. Enfin, nous proposons quelque diagrammes expliquant les

aspects statiques et dynamiques de l’application.

3.1 Methodologie de developpement

Vu la diversite des methodologies de conception et de developpement, il etait indis-

pensable de faire un choix judicieux afin d’assurer la bonne conduite du projet.

C’est dans ce contexte que s’inscrivent les methodes agiles de developpement visant a

reduire le cycle de vie en adoptant une approche iterative base sur l’ecoute continue du

client. Les methodes agiles sont concues pour s’adapter au changement, en assurant un

plan macroscopique precis et adaptatif.

24 CHAPITRE 3. ANALYSE ET SPECIFICATION DES BESOINS

3.1.1 Quelques methodes agiles de developpement

Les methodes agiles les plus connues sont :

RAD 1 : developpement rapides d’applications.

DSDM 2 : developpement des systemes dynamiques.

RUP 3 : methode de developpement de processus unifie de Rational Software.

XP 4 : eXtreme Programming.

2TUP 5 : propose un cycle de developpement en Y, qui dissocie les aspects techniques

des aspects fonctionnels.

3.1.2 Methodologie retenue

Apres une etude des differents processus de developpement et de gestion de projets il

nous est apparu favorable d’adopter le modele XP, et ce vu ses points forts suivants :

– Communication : la communication dans XP est un point central a tous les niveaux

(client-equipe, intra-equipe).

– Integration continue : l’integration continue permet de connaıtre l’etat du logiciel

a tout moment, en compilant, lancant les tests unitaires et fonctionnels a chaque

commit de developpeurs.

– Refactoring : le code doit etre remanie de facon continue afin de le rendre plus

maintenable et d’ameliorer sa qualite.

– Le travail en binome : dans XP, le travail en binome est la regle.

La figure 3.1 montre l’aspect iteratif du modele XP et la frequence de chaque iteration.

3.2. STANDARD UML 25

Figure 3.1 — Le processus XP

3.2 Standard UML

UML est un langage de modelisation unifie standardise par l’OMG. C’est un langage

d’analyse et de conception orientee objet. Il couvre l’aspect statique et dynamique d’un

systeme selon ses differents diagrammes. Son but est de specifier, visualiser, construire,

et documenter les systemes informatiques. Pour cela, il definit des diagrammes qui sont

subdivises en des vues statiques (qui representent ”physiquement” le systeme a modeliser

au moyen de diagrammes d’objets, de classes, de cas d’utilisation, etc.) et des vues dyna-

26 CHAPITRE 3. ANALYSE ET SPECIFICATION DES BESOINS

miques (qui montrent le fonctionnement du systeme au moyen de diagrammes de sequence,

de communication, d’etats transitions et d’activites). UML est purement un langage, Il

n’induit aucune methodologie. Base sur une demarche guidee par les besoins des utilisa-

teurs et centree sur l’architecture logicielle, UML offre un environnement de conception

solide et efficace ainsi que des methodes de representation claires et concises. UML a

ete realise pour materialiser des strategies et des heuristiques, bien comprendre et bien

repondre aux specifications, analyser le risque, organiser le travail et concevoir des ar-

chitectures reutilisables extensibles efficaces. L’approche de la modelisation des besoins

par cas d’utilisation se prete tres bien a un processus iteratif de developpement. Pour ces

avantages de UML, nous l’avons adopte comme langage de modelisation tout au long du

processus de developpement.

3.3 Definition des acteurs du systeme

Cette application vise tous les employes de la societe Laceramic, du simple ouvrier

jusqu’au cadre, dirigeant et directeur. Apres avoir identifie les objectifs generaux de UVL

, nous avons pu degager les acteurs qui vont interagir avec l’application. En effet ils sont

en nombre de deux a savoir : l’administrateur et les apprenants.

– L’administrateur : c’est le gerant du systeme qui a tous les privileges et qui a la

responsabilite de la gestion des formations et de la mise en ligne des differents sup-

ports. Ce super utilisateur contribue en outre a l’enrichissement de la bibliotheque

virtuelle en deposant differents types de supports utiles pour les formations a court

et a long terme (articles, images, videos . . .) Par ailleurs, il est charge de diriger les

utilisateurs a savoir la definition du cursus approprie a chaque membre.

– L’apprenant : c’est l’acteur principal sur lequel est base tout le processus de for-

mation a distance. Il possede un espace prive depuis lequel il a acces aux diverses

activites d’apprentissage et aux ressources necessaires qui lui permettent de mener

a bien sa formation.

3.4. ANALYSE DES BESOINS FONCTIONNELS 27

3.4 Analyse des besoins fonctionnels

L’analyse des besoins fonctionnels consiste a definir d’une maniere complete les diverses

fonctions de l’application a realiser, ainsi que les informations manipulees. Il s’agit de

traduire les besoins du client en fonctionnalites du systeme a concevoir.

Nous proposons dans ce travail de realiser une plateforme E-Learning se reposant sur

trois axes complementaires a savoir :

– La formation professionnelle continue des employes independamment de leur locali-

sation geographique.

– L’evaluation et le suivi du personnel de la societe dans le but d’assurer une evolution

legale sur l’echelle fonctionnelle et donc une reponse a des besoins individuels

(carriere, employabilite, remuneration . . .). Pour ce faire un generateur de ques-

tions a choix multiples aleatoires doit etre mis en place assurant une equitabilite

entre les differents candidats.

– La collaboration entre les differentes categories d’utilisateurs par l’echange d’idees

et le partage du savoir faire afin de reduire l’isolement professionnel, encourager une

participation plus active entre eux et de developper un esprit critique et synthetique

stimule par le dialogue entre agents venant d’horizons differents.

Les solutions du E-Learning doivent miser, en outre, sur l’interaction pour susciter

l’attention des participants tout en assurant leur fiabilite, leur pertinence, leur portabilite

ainsi que leur maintenabilite.

3.5 Analyse des besoins non fonctionnels

Les besoins non fonctionnels decrivent toutes les contraintes aux quelles est soumis le

systeme pour son bon fonctionnement.

Besoin de fiabilite et de performance : le systeme devra etre operationnel d’une

facon continue. En outre, il doit garantir un temps de reponse minimal : le site

devra se charger rapidement et chargement d’une page Web dans le navigateur ne

devrait pas depasser 6 secondes en condition normale.

Besoin d’ergonomie des interfaces : l’interface de l’application doit etre simple et

28 CHAPITRE 3. ANALYSE ET SPECIFICATION DES BESOINS

pratique afin que l’utilisateur puisse l’exploiter sans se referer a des connaissances

particulieres. En d’autres termes, les informations doivent etre lisibles et faciles a

acceder par n’importe quel utilisateur.

Besoin de securite : differents niveaux d’acces possibles au systeme pour les diverses

categories d’utilisateurs du systeme. Ce besoin est assure via une authentification.

Par ailleurs, le systeme doit garantir l’integrite des donnees de la plateforme quels

que soientt leurs types.

Besoin de flexibilite et de l’evolutivite : le systeme doit s’adapter aux divers chan-

gements exiges par la societe. Il doit etre modulaire garantissant ainsi une evolutivite

de la future solution.

Besoin de portabilite : le systeme doit etre multiplateforme, c’est a dire capable a

fonctionner facilement dans les differents environnements materiels et logiciels dans

le but de couvrir tous les ordinateurs des employes tenant compte de leurs diversites.

3.6 Les diagrammes des cas d’utilisation

Un cas d’utilisation permet de mettre en evidence les relations fonctionnelles entre

les acteurs et le systeme etudie. Il centre l’expression des exigences du systeme sur ses

utilisateurs. La determination et la comprehension des besoins sont souvent difficiles car

les intervenants sont noyes sous de trop grandes quantites d’informations. Il faut clarifier

et organiser les besoins des clients (les modeliser). Pour cela, les cas d’utilisation identifient

les utilisateurs (acteurs) et leurs interactions avec le systeme.

3.6.1 Cas d’utilisation de l’apprenant

Au sein de la plateforme a realiser, le cas d’utilisation attribue a l’apprenant est la

formation sur les differents composants du systeme d’information de LACERAMIC. Ce

cas d’utilisation represente l’ensemble des services mis a la disposition des utilisateurs a

savoir le recours aux differents supports de cours, des livres de la bibliotheque, l’evaluation

des acquis et encore la communication avec d’autres utilisateurs. Ce cas d’utilisation est

donne par la figure 3.2.

3.6. LES DIAGRAMMES DES CAS D’UTILISATION 29

Figure 3.2 — Cas d’utilisation d’un apprenant

L’apprenant peut a partir de la plateforme s’inscrire a des modules de formation, se

former en consultant les supports de formations recommandes et doit ensuite passer une

evaluation a travers un QCM de duree de reponse limitee. Ce QCM doit etre generer

aleatoirement et sans reprise pour chaque utilisateur. Pour enrichir leurs connaissances,

le systeme offre a ses utilisateurs la possibilite de consulter une bibliotheque riche en

documents de tous les formats et de participer aux discussions du forum. Tous ces services

ne sont accessibles qu’apres l’authentification de l’utilisateur.

30 CHAPITRE 3. ANALYSE ET SPECIFICATION DES BESOINS

3.6.2 Cas d’utilisation de l’adminstrateur

Afin de bien veiller sur le bon fonctionnement de la plateforme et son integrite, celle-ci

necessite un utilisateur ayant plus de privileges pour la gerer correctement. Cet utilisateur

est nome ”‘administrateur”’. La figure 3.3 montre les taches dont l’administrateur en est

responsable.

Figure 3.3 — Cas d’utilisation de l’administrateur

3.7 Plan de navigation de la plateforme

La navigation dans la plateforme se fait comme l’indique la figure 3.4 :

3.8 Les diagrammes d’activite

Les diagrammes d’activite decrivent le comportement d’un systeme, tout en mettant

l’accent sur les traitements. Ils sont donc particulierement adaptes a la modelisation du

3.8. LES DIAGRAMMES D’ACTIVITE 31

Figure 3.4 — Plan de navigation de la plateforme

cheminement de flots de controle et de flots de donnees (les workflows). Ils permettent ainsi

de representer graphiquement le comportement d’une methode ou le deroulement d’un cas

d’utilisation. Par ailleurs, ils peuvent comporter des synchronisations pour representer

les deroulements paralleles. La notion de couloir d’activite decrit les responsabilites en

repartissant les activites entre les differents acteurs operationnels.

3.8.1 Espace de collaboration

La figure 3.5 represente le diagramme d’activite relatif a l’integration de l’utilisateur

dans l’espace collaboratif offert par la plateforme. A travers cet espace l’apprenant a la

possiblite de consulter les differentes categories du forum afin de poser des questions en

relation avec son cursus, s’informer aupres des responsables de quelques details concernant

le deroulement des formations ou afin de repondre a des problematiques postees par

d’autres utilisateurs. La communication via le mail est aussi offerte par l’UVL. C’est ainsi

que les apprenants peuvent contacter l’administrateur du site pour des demandes privees

ou concernant leurs informations personnelles. Dans cet espace l’administrateur agit en

controllant les messages du forum, repondant a ceux qui le concernent et supprimant ceux

qui portent du vandalisme dans leurs contenus.

32 CHAPITRE 3. ANALYSE ET SPECIFICATION DES BESOINS

Figure 3.5 — Espace de collaboration

3.8. LES DIAGRAMMES D’ACTIVITE 33

3.8.2 Gestion des supports de formation

La figure 3.6 presente le diagramme d’activite relatif a la gestion des supports de

formations de la plate-forme. L’administrateur choisit l’operation, qui soit une suppression

soit un ajout, a effectuer sur un support en precisant la formation concernee et en inserant

les informations necessaires.

Figure 3.6 — Gestion des supports

34 CHAPITRE 3. ANALYSE ET SPECIFICATION DES BESOINS

Conclusion

Dans cette partie, nous avons cerne les objectifs du systeme cible. Ces objectifs doivent

tenir comptes des exigences citees. Cette phase va nous permettre de bien elaborer le

modele de conception de l’application qui sera le sujet du chapitre suivant.

CHAPITRE 4 Conception

Dans ce present chapitre nous entamerons une partie cruciale du developpement logiciel

et qui constitue un pont entre la specification et la realisation. Elle comporte la conception

de l’application ainsi que la conception de la base de donnees.

4.1 Conception generale

Dans cette section, nous donnerons un apercu sur l’architecture globale de l’ap-

plication, ensuite nous allons explorer l’ensemble de composants de l’application a

realiser. En fait, l’UVL est une plateforme qui se base essentiellement sur trois modules

complementaires, a savoir, le module d’apprentissage, le module d’evaluation ainsi que le

module de collaboration.

4.1.1 Architecture multi-tiers

L’architecture multi-tier est mise en œuvre dans notre application afin de bien separer

tous ses niveaux et nous offrir la possibilite d’utilisation des composants graphiques riches

pour le niveau presentation. Cette approche ne divise pas l’application en un nombre

indetermine de niveaux de service comme le fait penser son appellation, mais plutot elle

la decompose en trois couches de services subdivisees elles-meme en multiple services.

36 CHAPITRE 4. CONCEPTION

L’architecture de notre application integrant les framework JSF et Hibernate est

schematisee par la figure 4.1.

Figure 4.1 — Architecture de l’application

4.1.2 Diagramme de paquetages

La notion de paquetages (ou de packages) permet de separer le modele en conteneurs

logiques, et decrire leurs interactions a un haut niveau. Le diagramme de paquetages est

donc utilise pour refleter l’organisation des paquetages et leurs elements. La figure 4.2

montre cette organisation au sein de notre application.

4.1. CONCEPTION GENERALE 37

Figure 4.2 — Diagramme de paquetages de l’application

Le paquetage ”Utilisateurs” : les utilisateurs de la plate-forme sont, comme deja

cite, l’administrateur et les apprenants. Ces derniers commencent le cycle de forma-

tion avec un nombre de points ” jetons ” initial et qu’ils les perdent en fonction de la

formation et le resultat de l’evaluation.Le but est donc de consommer tous les jetons.

Le paquetage”Formations” : les formations proposees sont en relation avec les di-

verses activites de la societe comme le systeme d’information, l’administration, la

gestion. . .Ces formations sont organisees sous forme de cursus personnalises. En effet,

cette personnalisation est basee sur plusieurs parametres comme les postes remplis

par l’utilisateur, son poste actuel, son niveau educatif, son experience, son age. . .

A chaque formation est attribue un nombre de jetons qui sera retire de l’apprenant

lorsqu’il la passe avec succes. En plus, le temps alloue a une formation est predefini

afin d’encourager les apprenant a la prendre au serieux. En cas de depassement du

delai sans reussir la formation l’administrateur sera notifie et il peut intervenir soit

pour donner une autre chance a l’apprenant soit pour lui proposer un autre cursus

plus adapte a son profile.

38 CHAPITRE 4. CONCEPTION

Une formation est generalement decomposee en des sous formations afin de definir

des differents niveaux de competences et pour rendre plus performant le suivi de

l’evolution de la formation.

Les apprenants ont besoin, sans doute, de supports de formation dans lesquels ils

trouvent toutes les informations necessaires pour acquerir des competences en premier

lieu, et pour reussir l’evaluation en second lieu. Dans l’UVL les utilisateurs peuvent

trouver l’information dans deux emplacements differents : au sein du module de

formation et dans la bibliotheque virtuelle mise pour la raison.

Le paquetage ”Evaluation” : ce module est base sur les questionnaires a choix mul-

tiples (QCM) generes aleatoirement et sans reprise avec un temps de reponse bien

determine et a ne pas depasser. La plateforme offre trois chances a l’apprenant de

passer un QCM pour la meme formation.

Le paquetage ”Collaboration” : comme partager les connaissances ne fait que les

accroıtre, le module de collaboration de l’UVL offre un forum de discussion dans lequel

les utilisateurs peuvent faire des suggestions, demander de l’aide ou bien resoudre

des problemes pour les autres formes. Ils peuvent aussi utiliser la plateforme pour la

communication par mails.

4.2 Conception detaillee

La conception detaillee vise a transformer le modele d’analyse (specification : haut

niveau d’abstraction) en un modele concret, de bas niveau d’abstraction et a partir duquel

le programmeur peut directement implementer le systeme.

4.2.1 Diagrammes de sequences

Un diagramme de sequence est une structure de representation des interactions entre

objets comme une serie d’etapes sequentielles dans le temps. Il est utilise pour decrire

le flux de travail, le passage du message, et de quelle maniere les elements en general

cooperent avec le temps pour obtenir un resultat. Dans ce qui suit nous allons detailler

les cas d’utilisation presente dans le chapitre precedent.

4.2. CONCEPTION DETAILLEE 39

Evaluation des acquis des apprenants

La figure 4.3 met en relief le deroulement de l’evaluation des apprenants. Le scenario

d’evaluation peut se declencher du moment ou l’utilisateur commence sa formation. Cette

derniere est caracterisee par une duree que l’utilisateur n’est pas oblige de tout consommer

et une fois epuisee, un echec lui sera accorde avec une notification a l’administrateur. Si

Figure 4.3 — Evaluation des acquis des apprenants

les delais sont bien respectes, un nouveau test se cree declenchant un generateur de QCM

qui provoque la selection de questions aleatoires et l’internaute est charge d’y repondre

pendant une duree qui lui est permise. Le systeme verifie alors la validite des reponses

40 CHAPITRE 4. CONCEPTION

et lui affiche le resultat et la correction. Deux cas de figures peuvent avoir lieu : soit un

echec causant la perte de jetons de l’utilisateur, soit un succes et le systeme met a jour le

score de l’apprenant et lui propose la formation suivante dans son cursus.

Suppresion de formation

Le diagramme de sequence presente par la figure 4.4 explique comment doit proceder

un administrateur afin de supprimer une formation. Cette derniere peut etre un module

ou un sous module. Notre acteur, ayant les permissions necessaires pour acceder a l’admi-

nistration des modules doit selectionner la formation a supprimer, le systeme lui demande

alors de confirmer sa demande.

Figure 4.4 — Suppresion de formation

Une fois effectuee, le systeme met a jour un par un les cursus des apprenants dont la

formation choisie en fait partie (et ceci en reglant les ordres respectifs des autres formations

avant de supprimer le module selectionne du cursus). Les apprenants concernes seront alors

4.2. CONCEPTION DETAILLEE 41

notifies par ces changements. Par la suite le systeme se charge de supprimer la formation

selectionnee tout en l’indiquant a l’administrateur.

Suivi des utilisateurs

Le diagramme de sequence illustre par la figure 4.5 resume le scenario de consulta-

tion des informations et le suivi des utilisateurs par l’administrateur qui commence par

rechercher les utilisateurs.

Figure 4.5 — Suivi des utilisateurs

42 CHAPITRE 4. CONCEPTION

L’espace d’administration sera sollicite par cette demande et l’action correspondante

sera invoquee. Cette action sera par la suite transmise a la couche Controle qui exige

l’entite Apprenant de retrouver les postes ainsi que les diverses directions presentes dans

la base. Le systeme affiche alors les criteres de choix par lesquels notre internaute peut

filtrer la liste demandee, tout en enumerant l’ensemble de tous les utilisateurs. Du moment

ou l’administrateur introduit ses criteres, le systeme se charge de recenser la nouvelle liste,

afin que cet acteur fasse de nouveau son choix. Une fois l’utilisateur selectionne, tous ses

details seront charges, le cursus obligatoire qui lui est affecte ainsi que les formations qu’il

a deja elabore permettant ainsi d’assurer le suivi de l’apprenant.

4.2.2 Diagrammes de classes

Un diagramme de classes montre la structure interne du systeme en fournissant une

representation abstraite des objets du systeme qui vont interagir ensemble pour realiser

les cas d’utilisation.

Il s’agit d’une vue statique car il ne tient pas compte du facteur temporel dans le

comportement du systeme. Le diagramme de classes modelise les concepts du domaine

d’application ainsi que les concepts internes crees de toutes pieces dans le cadre de

l’implementation d’une application.

Diagramme de classes du paquetage Utilisateurs

La figure 4.6 illustre les differentes classes concues pour la realisation du paquetage

Utilisateurs. La classe Apprenant represente un apprenant de la plateforme. Elle contient

toutes les informations de ce dernier ainsi que les methodes permettant sa bonne gestion.

De cette classe herite la classe Administrateur qui represente un utilisateur ayant les

privileges de gestion de la plateforme.

4.2. CONCEPTION DETAILLEE 43

Figure 4.6 — Diagramme de classes du paquetage Utilisateurs

Diagramme de classes du paquetage Formations

Les formations dans l’UVL sont organisees en modules se composant eux meme d’un

nombre de sous modules. Chaque utilisateur a son propre cursus, represente par la classe

Cursus, qui est l’agregation ordonnee d’un ensemble de formations obligatoires, classe

SousModule du diagramme.

Figure 4.7 — Diagramme de classes du paquetage Formations

44 CHAPITRE 4. CONCEPTION

Les formations sont enrichies par des differents supports permettant aux appre-

nants d’acquerir certaines connaissances. Cette richesse vient du fait que la plate-forme

propose plusieurs types de supports (PDF, presentation PPT, Flash, livres interactifs,

videos)representes par la classe Support element du paquetage Bibliotheque et utlisee

par le paquetage Formation. Ces differentes classes et relations sont illustrees dans la

figure 4.7.

Diagramme de classes du paquetage Evaluation

Dans les delais de chaque formation, les apprenants doivent s’evaluer, et ce, a travers

un QCM (classe QCM dans le diagramme) comportant un ensemble de questions generees

automatiquement a partir de la classe CatalogQCM qui contient toutes les questions

en relation avec la formation en cours. Afin d’eviter les repetitions des questions pour un

meme apprenant nous avons eu recours a la classe QCMPasse pour sauvegarder toutes

les evaluations des utilisateurs. La figure 4.8 montre comment ces classes sont organisees

au sein du paquetage Evaluation.

Figure 4.8 — Diagramme de classes du paquetage Evaluation

Diagramme de classes du paquetage Collaboration

Le partage de connaisances entre les apprenants se fait essentiellement a travers le

Forum mis a leur disposition. La plate-forme offre aussi la possiblite de contacter l’ad-

4.2. CONCEPTION DETAILLEE 45

ministrateur par mail. Les differentes formes de collaboration sont donnees par la figure

4.9.

Figure 4.9 — Diagramme de classes du paquetage Collaboration

4.2.3 Conception de la base de donnees

Le modele relationnel de donnees est un modele de donnees comme d’autres existants

ayant pour but la description e monde reel a partir des informations et des donnees qu’on

peut en extraire et se differencient par la nature des associations qu’ils permettent de

modeliser. L’objectif essentiel du modele relationnel etait d’accroıtre l’independance vis-

a-vis du niveau de representation des donnees. Du point de vue utilisateur, une base de

donnees peut etre consideree comme un ensemble de tables manipulables par des langages

de haut niveau dont la caracteristique principale est d’etre des langages non procederaux.

A ce niveau de l’application et tout en tenant compte des besoins deja specifies, nous

avons envisage un certain nombre de tables pour le stockage des donnees necessaires pour

la bonne gestion de la plateforme.

Les tables concues et les relations qui les inter-relient sont donnees par les figures 4.10

et 4.11.

46 CHAPITRE 4. CONCEPTION

Figure 4.10 — Schema conceptuel de la base de donnees

4.2. CONCEPTION DETAILLEE 47

Figure 4.11 — Conception de la base de donnees du forum

48 CHAPITRE 4. CONCEPTION

Conclusion

Dans ce chapitre nous avons determine les differents objets de l’application contri-

buants a assurer les fonctionnalites souhaitees par ses utilisateurs.

Cette phase etait alors une preparation a la phase de codage qui constituera l’objet

du chapitre suivant.

CHAPITRE 5 Realisation

Apres avoir acheve l’etape de conception de l’application, nous entamons dans ce

chapitre la phase de realisation. Nous commencons par presenter les outils, les technologies

et les frameworks utilises lors de la realisation de la plate-forme. Ensuite, nous donnerons

un apercu sur le travail accompli a travers des captures d’ecran de l’application. Enfin,

nous illustrons, via un chronogramme, la repartition temporelle des taches tout au long

du stage.

5.1 Environnement logiciel du travail

Dans cette section nous donnons les caracteristiques logicielles de l’environnement de

realisation de la plate-forme d’apprentissage en ligne.

Entreprise Architect

Enterprise Architect (EA) est un Atelier de Genie Logiciel (AGL) s’appuyant sur le

langage de modelisation unifie UML 2.1, langage qui constitue un moyen efficace pour

recenser, structurer et formaliser les besoins recueillis par l’Analyste.

Netbeans

Netbeans est un environnement de developpement integre (IDE 1) pour le

developpement des application java/j2ee, C++, python, Ruby. . .Il rassemble toutes les

caracteristiques d’un IDE moderne (editeur de code en couleur et permettant l’auto-

compelation, projets multilangages, refactoring, edition graphique d’interfaces . . .).

1. Integrated Development Environment

50 CHAPITRE 5. REALISATION

Microsoft SQL Server 2005

SQL Server 2005 est le premier produit Microsoft pour la gestion des bases de donnees

relationnelles. Il est considere comme le ”Big brother” de Microsoft Access, mais il vise

des bases de donnees d’entreprises plus serieuses. SQL Server 2005 se base sur le langage

Transact-SQL pour la manipulation des donnees.

Le framework JSF

JSF ou Java Server Faces est un framework java pour le developpement de clients

riches pour les applications web. JSF est base sur la notion de composants, il reprend le

modele d’autres frameworks pour l’IHM tel que Swing ou SWT ou l’etat d’un composant

est enregistre lors du rendu de la page pour etre ensuite restaure au retour de la requete.

JSF met en œuvre le modele MVC base sur une seule servlet nommee Faces Servlet faisant

office de controleur et des pages JSF pour l’IHM. L’application de ce modele permet la

separation du mode web en trois parties distinctes : le modele, la vue et le controleur.

L’architecture de JSF est donnee par la figure 5.1.

Figure 5.1 — Architecture du framework JSF

Le framework Hibernate

C’est un framework qui donne une solution pour le mapping objet/relationnel et la

gestion de la couche de persistence. Hibernate permet la gestion automatique de la struc-

ture de la base de donnees : creation et mise a jour. Il utilise un langage simple pour

5.2. TRAVAIL REALISE 51

l’interrogation de la base de donnees appele HQL 2 et qui fournit une couche d’abstrac-

tion SQL. Hibernate vient se positionner entre la couche metier de l’application et les

donnees auxquelles elle a besoin comme represente dans la figure 5.2.

Figure 5.2 — Position d’Hibernate dans une application web

5.2 Travail realise

A cette etape, nous rappellons, a travers la figure 5.3, la structuration fonctionnelle

de la plate-forme. Nous exposerons ensuite le travail realise a travers des captures d’ecran

relatives aux principaux modules implementes.

5.2.1 Cote apprenant

Authentification des utilisateurs

La page d’authentification des utilisateurs, representee par la figure 5.4, est le point

d’entree a la plate-forme. A travers son login et son mot de passe, l’utilisateur est identifie

par le systeme. En fait, il peut etre soit un apprenant qui veut acceder pour se former

et s’evaluer, soit un administrateur voulant executer des taches de gestion dans la plate-

forme.

2. Hibernate Query Language

52 CHAPITRE 5. REALISATION

Figure 5.3 — Les modules realises de la plateforme

Figure 5.4 — Authentification des utilisateurs

5.2. TRAVAIL REALISE 53

Accueil d’un apprenant

Apres avoir ete reconnu par le systeme, l’apprenant se trouve dans la page d’accueil

qui lui propose de continuer la formation en cours s’il y en a une ou de s’inscrire dans la

formation suivante de son cursus sinon. La figure 5.5 illustre cette page.

Choix et consultation des supports de formation

L’apprenant est amene ensuite a consulter les differents supports de formation de

differents formats relatives a la sous formation en cours. A travers la page de formation,

l’utilisateur choisit le support a consulter. Un des supports disponibles au sein de l’UVL

est le livre interactif a feuilleter represente dans la figure 5.6. En effet c’est dans le but

d’attirer les apprenants que ce type de support est mis en place.

L’evaluation par QCM

Les utilisateurs sont invites a un QCM pour valider leurs connaissances acquises durant

la formation. L’interface de cette evaluation est donnee par la figure 5.7. Le test contient

cinq questions a deux, trois ou qutre propositions et l’apprennant doit l’y repondre et

valider sa reponse avant l’ecoulement des dix secondes allouees.

54 CHAPITRE 5. REALISATION

Figure 5.5 — Accueil d’un apprenant

5.2. TRAVAIL REALISE 55

Figure 5.6 — Livre interactif

Figure 5.7 — Evaluation par QCM

56 CHAPITRE 5. REALISATION

Participation au forum

A l’aide d’un forum, l’apprenant peut communiquer avec d’autres utilisateurs afin de

poser des questions ou de repondre a d’autres posees par d’autres apprenants.

5.2. TRAVAIL REALISE 57

Figure 5.8 — Participation au forum

5.2.2 Cote administrateur

Un administrateur doit s’authentifier pour pouvoir acceder au site. Ce super utili-

sateur jouit de plusieurs fonctionnalites. Il a la possibilite de gerer toutes les bases de

donnees de la plate-forme. Cette figure montre l’administration des apprenants, des mo-

58 CHAPITRE 5. REALISATION

dules, des QCMs, des divers supports de cours. Par ailleurs l’administrateur peut acceder

aux differents rubriques du site tel que le forum et la bibliotheque.

Accueil de l’administrateur

La figure 5.9 donne un apercu sur la premiere page de l’administration de la plate-

forme a partir de laquelle l’administrateur effectue

Figure 5.9 — Accueil de l’administrateur

5.2. TRAVAIL REALISE 59

Gestion des modules

La figure 5.10 montre l’interface de modification des modules. Cette interface inclue

la modification des divers champs relatifs a ce module. Par ailleurs, un administrateur a

la possibilite d’ajouter un sous module, changer les donnees concernant ce dernier tel que

la duree de formation . . .Il peut eventuellement supprimer un sous module.

Figure 5.10 — Gestion des modules

Ajout d’un support de cours

L’ajout d’un document electronique est une tache aussi simple. Tout d’abord, l’admi-

nistrateur doit choisir le module et le sous module auxquels est lie le support de formation.

Une fois choisi, le systeme se charge automatiquement d’extraire le nom, le type du fichier

et sa taille afin de les inserer dans la base de donnees. La figure 5.11 montre l’interface

a partir laquelle l’administrateur peut ajouter un document a une formation.

60 CHAPITRE 5. REALISATION

Figure 5.11 — Ajout d’un support de formation

Ajout d’un utilisateur

La figure 5.12 illustre l’interface d’ajout d’un utilisateur. Cette derniere demande le

remplissage ses coordonnees relatives. L’administrateur est alors sollicite de recenser les

formations qui lui sont obligatoires. Des qu’il commence le systeme met a jour le cursus

de formation et l’affiche au fur et a mesure que l’administrateur le definit.

5.3. CHRONOGRAMME 61

Figure 5.12 — Ajouter un utilisateur

5.3 Chronogramme

Il est necessaire de tracer un diagramme qui decrit la repartition temporelle des taches

du travail durant deux mois afin de montrer les differentes phases par lesquelles notre

projet a passe.

– Documentation et etudes theorique : elle consiste a rechercher une documentation

sur le sujet et a etudier les objectifs generaux du stage.

– Specification et analyse de besoins : elle consiste a etudier l’etat actuel du processus

62 CHAPITRE 5. REALISATION

de travail de l’entreprise ainsi que ses besoins reels.

– Conception : elle vise a modeliser le systeme selon une vue bien claire.

– Implementation : elle s’occupe du developpement du codes des differentes fonctio-

nalites du systeme comme modelise dans la conception.

– Redaction du rapport : elle collecte toutes les informations necessaires et autorisees

a etre publiees.

Le chronogramme suivant donne la repartition de ces differentes phases :

Figure 5.13 — Chronogramme des taches

Conclusion

Dans cet ultime chapitre nous avons presente l’environnement de la mise en œuvre de

notre application. Nous avons presente aussi le travail realise a l’aide de quelques captures

d’ecran.

CHAPITRE 6 Conclusion et

perspectives

Au terme de ce rapport nous rappelons les objectifs du stage et les differentes etapes

par lesquelles l’application a passe pour aboutir a son etat actuel.

Ce present document est le rapport de la memoire de fin d’etudes effectue au sein

de Laceramic SA et qui avait pour objectif de developper une plateforme de formation a

distance baptisee ”Laceramic Virtual University” permettant aux differents employes de

laCeramic de suivre a distance des formations concernant le systeme d’information de la

societe afin de gagner en terme de temps et d’argents.

Nous avons commence par une mise en contexte a travers une introduction et une

presentation generales. Ensuite une etude theorique a ete effectuee afin de nous permettre

de bien definir les concepts theoriques en relation avec le domaine de l’apprentissage a

distance. La partie suivante a mis en relief les besoins specifiques de LACERAMIC qui

l’ont fait penser a une solution de formation a distance. La conception est venu ensuite

pour traduire les specifications recensees en un modele logique presentant l’architecture

generale de l’application. La realisation, ou nous avons transforme le modele theorique en

un systeme fonctionnel, a constitue la cloture du rapport.

En guise de conclusion, ce projet nous a permis de travailler sur un produit d’avenir

au moins en Tunisie(les plate-formes du E-Learning). Il a ete benifique aussi bien sur le

plan theorique que sur le plan pratique. En effet le developpement de cette application

nous a donne l’occasion de se familiariser avec les notions et les outils de la mise en œuvre

des architectures web, notamment l’architecture J2EE.

En outre le travail accompli durant le stage contribuera dans l’amelioration du ren-

61

dement des employes de Laceramic SA travaillant sur son systeme d’information. C’est

alors que dans cet esprit qu’en perspective notre application peut etre perfectionner en

la migrant vers un portail d’apprentissage a distance sans oublier bien evidemment de lui

ajouter d’autres formes de collaboration comme un tableau blanc ou un wiki.

Bibliographie

[1] Olivier Debas, Christine Deffaix Remy Applications Web Java Servlets et JSP,2004

[2] David GearyCore, Cay Horstmann JavaServer Faces, Second Edition,2007

[3] Giulio zambon Begining JSP, JSF and Tomcat web devloppement.Apress 2007

[4] Eric Sarrion. UML 2 pour la pratique .4eme edition, Septembre 2005

[5] G. Booch, J. Rumbaugh, I. Jacobson. The Unified Modeling Language User Guide

.WESLEY, 1999

[6] Som Naidu. E-Learning – A Guidebook of Principles, Procedures and Practices .se-

cond Revised Edition, CEMCA, 2006

[7] Terry Anderson. Theory and Practice of Online Learning .AU Press, 2008

Netographie

[N1] http://www.elearning-developer.com/2008/ consulte le 02 fevrier 2009

[N2] http://www.leprojetweb.com consulte le 27 fevrier 2009

[N3] http://www.institut.minefi.gouv.fr/e-formation/ consulte le 25 fevrier 2009

[N4] http://cmsreport.com/category/dotcms consulte le 27 fevrier 2009

[N5] http://cms.epfl.ch/ consulte le 28 fevrier 2009

[N6] http://claroline.up.univ-mrs.fr consulte le 01 mars 2009

[N7] http://fr.wikipedia.org/wiki/Alfresco consulte le 02 mars 2009

[N8] http://dev.corinis.org/corinis consulte le 02 mars 2009

[N9] http://www.jsftoolbox.com/documentation/ consulte le 10 mars 2009

[N10] https://javaserverfaces.dev.java.net/ consulte le 20 mars 2009

[N11] http://www.jsfcentral.com/ consulte le 7 avril 2009

[N12] http://www.netbeans.org/ consulte le 10 avril 2009

Glossaire

2TUP : 2 Track Unified Process

ACCOLAD : Apprntissage COLLaboratif A Distance

AJAX :

AOP : Aspect-oriented programming

API : Application Programming Interface

ASP : Active Server Page

CMS : Content Management System

CORBA : Common Object Request Broker Architecture

CGI : Common Gateway Interface

DNS : Domain Name Service

DSDM : Dynamic System Development Method

EJB : Enterprise Java Beans

EVT : Ecole Virtuelle Tunisienne

FOAD : Formation Ouverte A Distance

GNU :

GPL :

HQL : Hibernate Query Language

HTML : HyperText Markup Language

IDE : Integrated Development Environment

IHM : Interface Homme Machine

INES : INteractive E-Learning System

GLOSSAIRE 65

ISET : Institut Superieur des Etudes Technologiques

J2EE : Java 2 Entreprise Edition

J2SE : Java 2 Standard Edition

JDBC : Java DataBase Connectivity

JMS : Java Messaging Service

JNDI : Java Naming and Directory Interface

JSF : Java Server Face

JSP : JavaServer Pages

JTA : Java Transaction API

LCMS : Learning Content Management System

LDAP : Lightweight Directory Access Protocol

LMS : Learning Management System

MAS : Mediterranean Air Service

MP3 : Mpeg Audio Layer-3

MVC : Model-View-Controller

NIS : Network Information Services

OMG : Object Management Group

PDF : Portable Document Format

PPT : PowerPoinT

QCM : Questionnaire a Choix Mutiples

RAD : Rapid Application Development

RPC : Remote Procedure Call

RUP : Rational Unified Process

SA : Societe Anonyme

SQL : Structured Query Language

SWT :

TIC : Technologies de l’information et de la communication

66 GLOSSAIRE

UML : Unified Modeling Language

UVL : Universite Virtuelle de LACERAMIC

UVT : Universite Virtuelle Tunisienne

VAP : Validation des Acquis Professionnels

WYSIWYG : What You See Is What You Get

XML : eXtensible Markup Language

XP : Extreme Programming

ANNEXE A Le standard J2EE

J2EE signifie signifie Java 2 Entreprise Edition et repose donc sur Java, le fameux

langage objet concu pour etre ”portable” (”Write Once, Run Anywhere”).

J2EE a pour but de credibiliser le statut de Java en tant que plateforme pour la

programmation en entreprise.

Architecture systeme

Il existe de nombreuses architectures possibles pour les applications d’entreprise, nous

allons passer en revue les plus connues et nous verrons a quelle problematique J2EE tente

de repondre.

Architecture a deux niveaux

Pour simplifier, on peut dire que, dans ce type d’architecture, les traitements sont sur

le client et la base de donnees est sur le serveur. Le plus gros probleme est celui de la

maintenance : La moindre modification oblige a mettre a niveau chaque poste client. De

plus les performances de l’application sont pour beaucoup en fonction des ressources des

clients.

Architecture a trois niveaux

A cause des problemes de l’architecture a deux niveaux, on a rajoute un autre niveau.

Ainsi une application est divisee en trois niveaux logiques :

1. Niveau presentation : l’interface graphique pour l’utilisateur.

67

2. Niveau metier : Recouvre la logique metier ( aussi appelee logique applicative).

3. Niveau donnees : Les donnees de l’application ( serveur de base de donnees, docu-

ments XML, serveur LDAP . . .).

Le niveau metier contient le code appele (via le niveau presentation) par l’utilisateur

pour extraire et traiter les donnees de la troisieme couche. Cette separation en couches

ameliore la souplesse de l’application. Il devient facile de deployer de nombreuses interfaces

utilisateur sans devoir modifier la logique applicative.

Architecture a n niveaux

Ce genre d’architecture se compose de differents niveaux que l’on peut subdiviser

comme le montre la figure suivante :

Figure A.1 — Architecture N-tiers

– Interface utilisateur ou vue : Couche chargee de gerer les interactions entre l’utilisa-

teur et l’application (Application de bureau, navigateur WAP, Browser Internet. . .)

– Logique de presentation ou controleur : Elle permet de definir ce que doit afficher

l’interface utilisateur et la maniere dont les requetes doivent etre traitees.

– Logique metier : Modelise les regles metiers de l’entreprise.

– Service d’infrastructure ou classes d’acces aux donnees : Fonctionnalites fournies

aux composants (connexions, transactions. . .).

68 ANNEXE A. LE STANDARD J2EE

– Donnees : Donnees de l’entreprise.

Ce genre d’architecture suit le modele Modele Vue Controleur (Voir les explications

du pattern MVC sur le site de sun ), c’est ce modele que J2EE suit.

La plateforme J2EE

En fait, J2EE est une norme qui va specifier a la fois l’infrastructure de gestion de vos

applications et les API des services utilisees pour concevoir ces applications. La plateforme

J2EE est essentiellement un environnement fournissant :

– Une infrastructure d’execution pour faire tourner les applications.

– Un ensemble de services accessibles via l’API J2EE pour vous aider a concevoir les

applications.

Les API J2EE

La specification de la plateforme J2EE prevoit un ensemble d’extensions Java standard

que chaque plate-forme J2EE doit prendre en charge :

– JNDI : JNDI est une extension JAVA standard qui fournit une API uniforme per-

mettant d’acceder a divers services de noms et de repertoires. Derriere un nom JNDI,

il peut y avoir un appel a des services CORBA, DNS, NIS, LDAP . . .En fait, JNDI

permet de localiser et d’utiliser des ressources.

– JDBC : Java Database Connectivity est une API qui permet aux programmes Java

d’interagir avec les bases de donnees SQL.

– Servlet : Un servlet est un composant cote serveur, ecrit en Java, dont le role

est de fournir une trame generale pour l’implementation de paradigmes ” requete-

reponse ”. Ils remplacent les scripts CGI tout en apportant des performances bien

superieures.

– JSP : La technologie JSP (JavaServer Pages) est une extension de la notion de

servlet permettant de simplifier la generation de pages web dynamiques. Elle se

sert de balises semblables au XML ainsi que de scriplets Java afin d’incorporer la

logique de fabrication directement dans le code HTML. JSP est un concurent direct

de l’ASP et du PHP.

69

– JMS : Java Messaging Service est a la fois une ossature et une API permettant

aux developpeurs de construire des applications professionnelles qui se servent de

messages pour transmettre des donnees.

– JTA : La specification JTA (Java Transaction API) definit des interfaces standards

entre un gestionnaire de transactions et les elements impliques dans celles-ci : L’ap-

plication, le gestionnaire de ressources et le serveur.

– EJB : Chaque instance d’un EJB se construit dans conteneur EJB, un environnement

d’execution fournissant des services (Securite, Communications, Cycle de vie...). Un

client n’accede JAMAIS directement a un composant. Il doit pour cela passer par une

interface locale et une interface distance. L’interface locale decrit le cycle d’existence

du composant en definissant des methodes permettant de le trouver, de le creer, de

le detruire. Et L’interface distante specifie les methodes que ce composant presente

au monde exterieur.

Les conteneurs J2EE

Un conteneur J2EE est un environnement d’execution charge de gerer des composants

applicatifs et leur donner acces aux API J2EE.

L’architecture des conteneurs J2EE doit comporter :

– Les composants applicatifs : Les servlets, les JSP, les EJB. . .. En somme les compo-

sants de votre application.

– Descripteur de deploiement : C’est un fichier XML decrivant vos composants appli-

catifs et qui fournit des informations au conteneur sur vos composants applicatifs

(droit d’acces, transaction . . .).

L’architecture d’un conteneur, quand a elle, se divise en quatre parties :

– Les interfaces des composants : Ensembles d’interfaces specifiees par le conteneur et

que vos composants applicatifs doivent implementer.

– API des services du conteneur : Services supplementaires fournies par le conteneur

– Services declaratifs : Services introduits par le conteneur sur vos applications.

– ” Autres services du conteneur : Il s’agit des services tels que le garbage collector,

le pooling des connexions base de donnees . . .

70 ANNEXE A. LE STANDARD J2EE

Processus de developpement d’application J2EE

Une application J2EE commence par la creation de composants J2EE. Ces composants

sont ensuite regroupes en modules auquel on associe des descripteurs de deploiement. Ces

modules J2EE peuvent ensuite etre deployes comme application a part entiere ou etre as-

sembles avec un descripteur de deploiements J2EE et etre deployes en tant qu’application

J2EE. ( voir la specification de sun au format PDF )

Creation de composants applicatifs

Durant cette phase, nous modelisons les regles metiers sous la forme de composants

applicatifs. Ces composants applicatifs seront groupes selon leur type ( Web, EJB.. )

avec un descripteur de deploiement pour donner un module J2EE. Ces modules J2EE

composeront l’application J2EE.

Assemblage de l’application

Une application J2EE peut etre constituee d’un ou plusieurs module J2EE et un

descripteur d’application J2EE. L’application J2EE est packagee dans un fichier ayant

l’extension .ear ( Entrerpise Archive ).

Deploiement

Le deploiement d’applications consiste a installer et a personnaliser des modules empa-

quetes sur une plateforme J2EE. Ce processus se compose de deux etapes :l’installation(On

installe l’application sur le serveur J2EE) et la configuration (On parametre l’application

pour qu’elle s’integre a l’infrastructure sur laquelle elle vient d’etre installee : mot de passe

base de donnees, factory de connexions, utilisateurs, droits . . .).

ANNEXE B Le framework JSF

JSF - ou JavaServer Faces - est une specification Sun pour le developpement d’inter-

faces utilisateur enrichies pour les applications Web.

Un des principaux avantages de JSF, c’est qu’il est a la fois un standard de Java Web

user-interface et un framework qui suit fermement le Modele-Vue-Controleur (MVC) de-

sign pattern. Cela fait que les applications JSF sont beaucoup plus gerables car le code

d’interface utilisateur (Vue) est nettement separe des donnees et de la logique metier

(modele). Afin de preparer le contexte JSF, qui fournit l’acces des donnees aux pages,

et pour proteger contre les acces non autorises ou impropres des pages, toutes les inter-

actions de l’utilisateur avec l’application sont traitees par un front-end ”Faces” Servlet

(Controleur).

FacesServlet est l’element controleur dans le framework JSF a travers lequel toutes les

demandes des utilisateurs vont passer. FacesServlet examine les demandes et les appels

des differentes actions sur le modele utilisant les managed beans. Les Managed beans sont

un exemple du modele. Les composants de JSF User Interface (UI) representent la couche

vue.

Le cycle de vie de JSF

Le controleur Faces servlet sert comme un lien entre l’utilisateur et l’application JSF.

Il fonctionne dans le cadre d’un du cycle de vie de JSF bien defini qui decrit l’ensemble du

flux d’evenements entre les requetes des utilisateurs. Par exemple, lors d’une initialisation

d’une application JSF, le controleur Faces Servlet gere la requete par preparation du

contexte JSF, qui presente un objet Java detenant toutes les donnees d’application. Le

72 ANNEXE B. LE FRAMEWORK JSF

controleur redirige ensuite l’utilisateur a la page demandee. La page rend habituellement

les donnees a partir du contexte de JSF utilisant un langage simple d’Expression (Ce

langage permet de lier les composants aux managed-beans). Le controleur effectue alors

des mises a jour de tout type de donnees, tout en fournissant les nouvelles donnees. Ceci

permet aux developpeurs de JSF d’avoir acces a l’ensemble du cycle de vie JSF, tout au

long de son execution, offrant ainsi un degre eleve de controle sur le comportement de

l’application.

Les composants User-Interface de JSF

Le point fort de JavaServer Faces reside dans son modele de composants User-

Interface(UI), ou les applications sont simplement construites a partir de collections de

composants qui peuvent se presenter de diverses manieres pour plusieurs types de clients.

Vaguement semblable a d’autres technologies proprietaires tels ASP.Net, la technologie

de composants UI propose une productivite illimitee permettant aux developpeurs de

construire des interfaces Web utilisant des composants pre-construit plutot que d’avoir

a construire l’interface utilisateur entierement a partir de zero. Les composants JSF UI

prennet de nombreuses formes et peuvent etre aussi simple qu’un outputLabel (compsant

qui affiche du simple texte) ou aussi complexe qu’un DataTable (composant qui peut

representer un tableau de donnees a partir de collections de donnees telles que la table

d’une base de donnees.

La specification de JavaServer Faces fournit un ensemble de composants de base de

l’interface utilisateur qui sont tres utiles. Il s’agit notamment de deux bibliotheques de

composants tels que la bibliotheque ”HTML” de composants, qui s’inspire largement de

la contribution des elements HTML standard, avec une bibliotheque ”Core” qui aide les

taches communes de developpement d’application telles que l’internationalisation, la va-

lidation / conversion des donnees d’entree... En plus de la bibliotheque de base ” User

Interface Components ”, l’API de JSF offre la possibilite d’etendre et de creer des com-

posants UI offrant des fonctions supplementaires qui depassent les composants de base.

ANNEXE C DAO et Hibernate

Quelque soit le choix du programmeur de la plateforme et du serveur de base de

donnees, la tendance actuelle veut que le developpement soit fait dans un langage objet

et utilise une base de donnees relationnelle.

Les difficultes de cohabitation entre les mondes objets et relationnels sont resolues

grace au concept de Mapping objet-relationnel (O/R Mapping), qui est le nom donne aux

techniques de transformation des modeles objets en modeles relationnels.

Separation des couches

Le choix d’une architecture multi-tiers pour les diverses applications, ou la separation

entre couches est mise en relief, est en train de plus en plus s’accentuer. Ces couches

devant etre independantes. Des que les specifications fonctionnelles de chacune d’entre

elles soient etablies, leur developpement pourra se faire en parallele, et la maintenance de

l’application n’en sera que plus aisee.

La couche d’acces aux donnees (Data Access Layer ou DAL), prend en charge toutes

les interactions entre l’application et la base de donnees. Si une telle couche n’existait

pas, il sera inevitable de reecrire les memes lignes de code a differents endroits de l’appli-

cation. En effet, cette couche prend en compte l’ensemble des interactions possibles avec

la base de donnees, c’est-a-dire la creation, la lecture, la modification ou la suppression

des enregistrements dans chacune des tables de la base de donnees. Il est commun de

creer une classe pour chaque table existante, et de creer des methodes possedant autant

de parametres que la table possede de champs.

74 ANNEXE C. DAO ET HIBERNATE

Objectifs d’une couche d’acces aux donnees

Quel que soit le systeme de developpement, il est toujours possible d’acceder aux

donnees relationnelles. L’utilisation des API telles que JDBC, ADO, ADO.Net put servir

a executer des requetes SQL, ou a obtenir des objets representant des tables et leurs

champs,. . .

Ces outils sont suffisants mais ne permettent jamais a eux seuls une vraie abstraction

de la base de donnees sous-jacente. Par exemple l’obtention de toutes les commandes

d’un client donne avec une seule ligne de code est impossible. De plus, la suppression

d’un client exige sa suppression manuelle par l’intermediaire de son adresse, alors qu’elle

pourrait etre faite automatiquement.

Tous ces problemes doivent etre geres par une couche d’acces aux donnees chargee de

communiquer avec le serveur de bases de donnees, et de renvoyer des objets metiers au

programmeur ; Ce denier n’aurait alors plus besoin de taper des requetes SQL, comprendre

les relations entre les tables, ou connaıtre tous les parametres des procedures stockees, ou

encore d’autres elements.

C’est le but des DAO. Ils sont crees pour simplifier au maximum le travail du program-

meur avec le systeme de donnees en encapsulant les acces a la base via les frameworks tels

qu’ADO.Net. De plus, les DAO permettent d’acceder a des entites qui sont en relation,

effectuant les jointures en base de donnees automatiquement.

Limitations

Fonctionnalites : Les DAO n’ont pas pour objectif de gerer des concepts plus com-

plexes tels que les transactions ou la concurrence. De ce fait, la realisation de la

couche metier restera quand meme plus ou moins complexe a realiser suivant le

modele de base de donnees.

Couplage : Vis-a-vis du programmeur des classes metiers, le decouplage avec la base de

donnees est realise. Cependant, d’autres programmeurs devront se charger du codage

de l’ensemble de ces classes, et la moindre modification de la base de donnees obligera

a revoir l’implementation des DAO correspondants.

Taille des projets : Meme s’il existe aujourd’hui de nombreux generateurs de classes

75

DAO qui utilisent des bases de donnees existantes, leur utilisation pour des projets

volumineux s’avere limitee, car necessitant des fonctionnalites plus avancees.

Frameworks de persistance

Les frameworks de persistance sont plus que de simples wrappers de tables proposant

l’acces aux champs de celles-ci. Il s’agit en general d’outils permettant de modeliser un

systeme de donnees, en UML ou en XML par exemple, et de generer tous les DAO ainsi

que les objets metiers permettant d’exploiter au maximum un systeme de donnees.

De plus, ils prennent en charge des concepts avances comme le cache des objets, la

concurrence, les transactions distribuees, le chargement des donnees via des requetes ob-

jets, et peuvent egalement offrir une totale independance vis-a-vis du serveur de bases de

donnees.

Ils creent des systemes completement autonomes de gestion du systeme d’information,

autorisent un fort decouplage avec la base de donnees, ameliorent les performances et

apportent une grande simplicite d’utilisation. Le seul inconvenient est qu’il s’agit sou-

vent de solutions commerciales plus ou moins couteuses suivant les fonctionnalites ou la

plateforme d’utilisation.

Avantages des Framework de persistance

Independance : On n’a plus a se soucier des problemes lies aux bases de donnees telles

que le mapping, ou les methodologies d’acces aux differents serveurs de bases de

donnees.

Performances : L’utilisation d’un cache objet performant permet d’ameliorer sensible-

ment les caracteristiques de montee en charge des applications.

Modelisation objet : Elle est d’autant plus facile qu’elle est objet, permettant une

meilleure comprehension du systeme de donnees grace a l’UML, et une reutilisation

d’autant plus facile de modeles preexistants.

Savoir-faire : En informatique, personne n’est specialiste dans tous les domaines, et

l’exploitation des bases de donnees est un domaine vaste. Les frameworks de per-

sistance permettent a n’importe qui d’exploiter des methodologies d’acces avancees,

76 ANNEXE C. DAO ET HIBERNATE

avec une simplicite d’utilisation deconcertante.

Temps de developpement : Les temps de developpement sont enormement reduits,

encore plus si il y a peu de logique metier a votre application. Par exemple, un outil

de persistance a permis de reduction du nombre de lignes de codes de 850 000 lignes

de codes a 300 000.

Exemple de framework de persistance : Hibernate

Hibernate permet d’alleger de facon importante le developpement de la persistance

de donnees. Cette librairie a ete developpee a la base par une equipe de developpeurs

Java mene par Gavin King et ensuite fournie par JBoss. Elle permet de faire du mapping

relationnel/objet. C’est un outil de persistence puissant et performant permettant le lien

entre les objets d’une application et les tables d’une base de donnees tout en executant

des requetes.

Concretement, Hibernate permet de lier/mapper un objet defini en Java avec une table

dans une base de donnees, via un fichier declaratif de mapping. Le systeme peut s’occuper

de la creation des tables en fonction des fichiers de configuration et mettre aussi a jour

les tables si necessaire lors d’un changement dans l’un des fichiers de configuration.

Hibernate possede plusieurs moyens pour effectuer des requetes. Il est possible d’expri-

mer des requetes en SQL, ou en HQL (language propre a Hibernate) ou encore en criteres

oriente objet.

La nouvelle version d’Hibernate (version 3) a apporte de nouvelles fonctions. Une de

ces nouvelles fonctions est la gestion temporelle des donnees en sous-ensembles. Dans

les versions anterieures, le developpeur devait ecrire lui-meme les requetes lui permettant

d’acceder a des donnees d’une certaine periode. Le classement en sous-ensembles se fait via

des filtres definis declarativement. Cela permet de definir quels sont les droits d’acces d’un

utilisateur donne. La derniere version d’Hibernate est liee etroitement avec la specification

des EJB 3 permettant ainsi une meilleure implementation des EJB dans JBoss.