laceramic virtual university
Post on 16-Jun-2015
465 Views
Preview:
DESCRIPTION
TRANSCRIPT
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.
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.
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.
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.
top related