You are on page 1of 46

i

Rapport du Projet
de Fin d’Etudes

Site Web destiné à la


formation en ligne

Session de Septembre

Réalisé par :
ENNAHDI ELIDRISSI Mohamed
ERRADJA Jihad
Option MIAGE

Encadrant EMSI
Mr.MADRANE Nabil

Encadrant Devo-Services
Mme SAADI Sabah

Année Universitaire
2006-2007
E-Learning
E-Learning

Remerciements

« Si j’ai vu plus loin, c’est en me tenant sur les épaules des géants qui m’ont
précédé » Isaac Newton

Nous Voulons remercier Mr Achraf El Youssoufi, Chef du département Offshore, pour nous avoir
fait confiance en nous révèlant la réalisation de ce projet.

Nous Tenons à remercier aussi Mme Sabah Saadi, la responsable de notre stage, pour son aide, ses
encouragements et sa motivation, et aussi Abdel Jawad Hafoud pour son précieux travail au niveau
de l’interface graphique, ainsi que toute l'équipe de Devo Services.

Nous Remercions également Mr Nabil Madrane Responsable de stage à l’EMSI pour ses conseils et
son soutien le long de la période du stage.
E-Learning

Résumé
Ce document présente notre stage de fin d’études dans le cadre du diplôme MIAGE de l’EMSI.
Notre stage qui a occupé une période de 4 mois au sein de la société Devo Services, a pour objectif
d’appliquer nos acquis et connaissances.

Il nous a été confié la réalisation d’un site Web offrant des services E-Learning pour lequel le
département formation de la société a exprimé un grand intérêt.

Notre rapport vous permet d’avoir une idée générale sur l’environnement dans lequel nous avons
évolué pendant ces quatre mois, les outils de travail utilisés ainsi que le fruit de notre présence dans
un milieu professionnel.
E-Learning

Abstract
This document presents our work done for the EMSI MIAGE degree education. Our internship
which was spread out four months, had as an objective to apply our acquired knowledge inside the
company named Devo Services.

We were entrusted to realise a web site offering E-learning services that the formation department
expressed a loud interest.

Our document allow you to get a general idea of the working environment we have been into during
these four months, the tools used and the result of our presence in such a professional environment.
E-Learning

Sommaire
Introduction_______________________________________________________________________ 1
I. Présentation de l’organisme d’accueil
i. Présentation de Devo Services_______________________________________________ 2
ii. Secteurs d’activités________________________________________________________ 2
II. Contexte et objectif du projet
i. Le concept du E-Learning___________________________________________________ 3
ii. Cahier des charges_________________________________________________________ 4
iii. Etude de l’existant_________________________________________________________ 5
III. Modélisation du système
i. Règles de gestion _________________________________________________________ 6
ii. Langage de modélisation ___________________________________________________ 7
iii. Diagramme de classes _____________________________________________________ 8
iv. Diagramme de cas d’utilisations _____________________________________________ 10
v. Diagramme de séquences ___________________________________________________ 12
vi. Outil de modélisation ______________________________________________________ 22
IV. Réalisation
i. Les outils de réalisation_____________________________________________________ 23
ii. Architecture Globale de l’application__________________________________________ 29
iii. Les interfaces types de l’application___________________________________________ 33
Conclusion________________________________________________________________________ 38
Glossaire_________________________________________________________________________ 39
Sources___________________________________________________________________________ 40
E-Learning

Introduction
Ce rapport expose le travail effectué dans le cadre d’un Projet de Fin d’Études réalisé au
sein de la société Devo Services à Casablanca, au niveau de son Département Offshore.
L’objectif de ce projet confié à ce dernier, est de réaliser une solution web destinée à la
formation en ligne pour le compte de son Département formation.

Au Maroc, le E-Learning est un outil important qui permettra de mieux diffuser le savoir
et de mettre à niveau notamment, le personnel des entreprises. Pour les entreprises qui
adopteront le E-Learning, cela leur permettra de réaliser des innovations technologiques,
de développer un plus fort potentiel de compétences et d’améliorer le rendement de
l’entreprise.

Le présent document envisage dans sa première partie, la présentation de Devo Services


qui est la société qui a bien voulu nous accueillir et au sein de laquelle nous avons réalisé
ce projet. Nous présentons ensuite la description globale du projet tout en mettant en
valeur les avantages du E-Learning par rapport à la méthode traditionnelle. Nous
exposons, la partie conception de donnée pour laquelle nous avons utilisé le langage
UML, et enfin la phase de réalisation avec la Plate-forme ASP .NET et SQL Server pour
la base de donnée et sans oublier AJAX pour donner une ergonomie et rapidité efficaces.

1
E-Learning

I. Présentation de l’organisme d’accueil


i. Présentation de Devo Services
DEVO SERVICES est un opérateur global de services aux entreprises et aux
administrations. Créée en 2005, La société s’est fixée les missions suivantes:

- Accompagner les entreprises marocaines dans leurs efforts de mise à niveau, en


mettant à leur disposition son expérience en Management, Conseil et des applications
sur mesure supportant leur processus ;
- Etre un partenaire des projets de modernisation de l’administration ;
- Se positionner comme un acteur de référence en offshoring.

ii. Secteur d’activités


 Organisation : définition des processus et leur déploiement, modélisation des
processus (Méga processus).
 Accompagnement dans une démarche Qualité.
 Assistance à maîtrise d’ouvrage : alignement du SI aux objectifs opérationnels.
 Outillage des processus : spécification des applications supportant les processus de
l’entreprise.
 SI : Audit de la sécurité selon COBIT, ISO, urbanisation
 Ingénierie de processus : Mise en conformité avec les recommandations ITIL ;
gestion des incidents, gestion des nivaux de services (SLA), gestion des changements
 Gestion de projets : en partant de la spécification d’un besoin exprimé à la mise en
production
 Formation Continue : Plusieurs types de formation (Certifications, langues,
technologies,…).

2
E-Learning

II. Contexte et Objectif du Projet

i. Le concept du E-Learning
L'apprentissage en ligne ou E-Learning, étymologiquement l'apprentissage par des
moyens électroniques, peut être défini selon divers points de vue et notamment socio-
économique, organisationnel, pédagogique et technologique.

Une définition du E-Learning a été donnée par l'Union Européenne: « le E-Learning est
l’utilisation des nouvelles technologies multimédias de l’Internet pour améliorer la
qualité de l’apprentissage en facilitant d’une part l’accès à des ressources et à des
services, d’autre part les échanges et la collaboration à distance ».

Le E-Learning est une modalité pédagogique et technologique qui concerne la formation


continue, mais aussi l’enseignement supérieur, c’est-à-dire pour un apprenant adulte
ayant une certaine autonomie dans l’organisation de son processus d’apprentissage,
comme en entreprise par exemple. Cependant, il faut remarquer, qu’aux USA, dans des
textes officiels récents, le E-Learning est souvent décliné sous la forme
« Enhanced-Learning Through Information Technologies », pour tout type de public, de
la maternelle à la formation continue, et qui y inclut toutes les technologies éducatives
que nous avons déjà connues : didacticiels, CD/Rom, Hypermédias, Tuteur (formateur)
Intelligent… (US DoE, 2000).

Ainsi, le E-Learning serait un assemblage, tant de pratiques pédagogiques que de


technologies éducatives qui existaient, et dont le développement proviendrait de
l’avènement d’Internet (2000/2001) avec son potentiel d’ubiquité. Il semble cependant,
comme pour les évolutions récentes des organisations, que le E-Learning qui est en
émergence particulièrement au Maroc, possède des caractéristiques qui le font différer
des approches des technologies de l’éducation telles que nous les connaissions.

3
E-Learning

Plusieurs termes sont utilisés pour traduire le terme E-Learning. La traduction la plus
fidèle est apprentissage en ligne. On parle aussi parfois d’e-formation, le « e » comme
dans E-Learning étant une référence explicite aux technologies de l’information.
L'apprentissage mixte conjugue les notions d'apprentissage en ligne et d'apprentissage
hors ligne. L'apprentissage mixte désigne une méthode d'acquisition d'un savoir ou de
construction de connaissance utilisant des interactions (acteur-acteur ou acteurs-
ressources) relayées par un système télématique (électronique, informatique connecté par
réseau). L'apprentissage électronique peut avoir lieu à distance (en ligne), en classe (hors
ligne et/ou en ligne) ou les deux. L'apprentissage en ligne est une spécialisation de
l'apprentissage à distance (ou formation à distance), un concept plus général qui inclut
entre autres les cours par correspondance, et tout autre moyen d'enseignement en temps
et lieu asynchrone.

ii. Cahier des charges

a. Contexte du projet

La société Devo Service qui dispose parmi les missions qu’elle s’est astreinte
la formation, désire améliorer la qualité des services qu’elle offre. Cette
société dans le cadre de l’étude qu’elle a mené, a considéré qu’il y avait un
besoin de création et mise au point un site d’apprentissage en ligne et
notamment, pour offrir un service de qualité à sa clientèle et augmenter le
rendement de son Département formation et le fortifier. Par ailleurs, un site
d’apprentissage en ligne permettra à Devo services de compléter les
prestations qu’elle offre aux entreprises.

b. Objectif Ciblé

 Mettre au point une solution web présentant les services de la


formation proposés par Devo Services, accessible à distance et
continuellement disponible.
 Augmenter le nombre de bénéficiaires, ainsi que la réduction du
nombre de formateurs en plus de l’automatisation de quelques
tâches manuelles visant à renforcer la fiabilité et la qualité de la
formation offerte par la société.

4
E-Learning
c. Acteurs

Après la phase d’analyse, nous avons identifié trois catégories d’utilisateurs :


Les apprenants, les formateurs et les administrateurs.

 Les Apprenants : Ils consultent les cours, envoi des messages via la
messagerie interne. Il peut aussi passer des évaluations.

 Les Formateurs : Le Formateur créent les séances ainsi que des quiz,
consulte les cours. Il est à la disposition des
apprenants afin de répondre aux questions de ces
derniers.

 Les Administrateurs : Leurs rôles principaux sont de préparer les


sessions et de mettre en place les ressources des
chapitres et des exercices, après avoir
déterminé les programmes de formations le
contenu des cours. D’autres rôles optionnels
leurs sont confiés : la création de groupes et d’y
insérer/retirer des apprenants. La création des
séances et la possibilité d’inscrire les
apprenants aux sessions.

iii. Etude de l’existant

La formation continue se fait actuellement de façon traditionnelle : cours, apprenants et


formateurs sur place.
 Inconvénients :
- Places limitées;
- Nombre de salles réduites;
- Charge élevée de la formation;
- Nécessité de se déplacer pour assister aux cours.

 Solution :
- Augmenter le nombre de bénéficiaires
- Réduire le nombre de professeurs
- Créer un média (site Web) de partage des ressources

5
E-Learning

III. Modélisation du Système

Notre travail a nécessité une étude pour modéliser le système. Pour cela, nous avons
établis des règles de gestion, puis nous avons adopté le langage UML pour symboliser
nos idées sous forme de schémas. Nous avons ensuite utilisé IBM Rational System
Developer pour représenter ces schémas sous format électronique.

i. Règles de gestion
Le département formation de La société Devo Services met à la disposition des
apprenants des cours et des quiz. Devo Services a établit à cet effet des règles de
gestion :

 RG1 : Un thème rassemble un nombre de modules ;

 RG2 : Un module contient plusieurs cours ;

 RG3 : Un cours se compose de plusieurs chapitres, et chaque chapitre se compose de


plusieurs exercices. Les chapitres et les exercices détiennent plusieurs ressources ;

 RG4 : Les sessions ont une période désignée, portent sur un module unique et ont un
tarif qui dépend des la période et du module ;

 RG5 : Les apprenants s’inscrivent aux sessions, en se rendant personnellement aux


lieux de la société afin de payer les coûts de la formation. L’inscription ne peut se
faire que si l’apprenant en question est enregistré (compte attribué) ;

 RG6 : Chaque apprenant peut appartenir à plusieurs groupes, et chaque groupe


englobe plusieurs apprenants ;

 RG7 : Un groupe assiste aux séances programmées par les administrateurs (aussi par
les formateurs). Chaque séance possède une date et une heure précisées, et est
attachée à une session déterminée ;

 RG8 : Un quiz sert à évaluer les apprenants sur un cours pendant une certaine
session ;

 RG9 : Un quiz se compose de plusieurs questions, et chaque question a une liste de


propositions ;

 RG10 : Un quiz est créé par un formateur, programmé pour une séance et passé par
un apprenant appartenant au groupe concernant la séance en question ;

 RG11 : L’accès au quiz se fait durant une séance donnée, chaque apprenant ne peut
accéder au quiz que pendant les premières cinq minutes de cette séance ;
6
E-Learning

 RG12 : Les formateurs et les apprenants peuvent accéder aux ressources des cours
qui les intéresse, mais seuls les administrateurs peuvent les gérer.

ii. Langage de modélisation

UML (Unified Modeling Language, que l'on peut traduire par "langage de modélisation
unifié") est un concept permettant de modéliser un problème de façon standard. Ce
langage est né de la fusion de plusieurs méthodes existant auparavant, et est devenu
désormais la référence en terme de modélisation objet, à un tel point que sa connaissance
est souvent nécessaire pour obtenir un poste de développeur objet.

UML se décompose en plusieurs sous-ensembles :


 Les vues : Les vues sont les éléments observables du système. Elles décrivent le
système d'un point de vue donné, qui peut être organisationnel, dynamique,
temporel, architectural, géographique, logique, etc. En combinant toutes ces vues
il est possible de définir (ou retrouver) le système complet.
 Les diagrammes : Les diagrammes sont des graphiques. Ceux-ci décrivent le
contenu des vues, qui sont des notions abstraites. Les diagrammes peuvent faire
partie de plusieurs vues.
 Les modèles d'élément : Les modèles d'élément sont les briques des diagrammes
UML, ces modèles sont utilisés dans plusieurs types de diagramme. Exemple
d'élément : cas d’utilisation, classe, association, etc.

7
E-Learning

iii. Diagramme de classes


Le diagramme de classes est un schéma utilisé en génie logiciel pour présenter les
classes et les interfaces d'un système ainsi que les différentes relations entre celles-ci. Ce
diagramme appartient à la partie statique d'UML car il fait abstraction des aspects
temporels et dynamiques.

Une classe décrit les responsabilités, le comportement et le type d'un ensemble d'objets.
Les éléments de cet ensemble sont les instances de la classe.

Une classe est un ensemble de fonctions et de données (attributs) qui sont liées
ensembles par un champ sémantique. Les classes sont utilisées dans la programmation
orientée objet. Elles permettent de modéliser un programme et ainsi de découper une
tâche complexe en plusieurs petits travaux simples.

Les classes peuvent être liées entre elles grâce au mécanisme d'héritage qui permet de
mettre en évidence des relations de parenté. D'autres relations sont possibles entre des
classes, chacune de ces relations est représentée par un arc spécifique dans le diagramme
de classes.

Elles sont finalement instanciées pour créer des objets (une classe est un moule à objet :
elle décrit les caractéristiques des objets, les objets contiennent leurs valeurs propres
pour chacune de ces caractéristiques lorsqu'ils sont instanciés).

8
E-Learning

La figure1 montre le diagramme de classes que nous avons réalisés, en illustrant toutes
les classes, relations entre ces classes et leurs cardinalités.

Figure 1 : Diagramme de classes

9
E-Learning

iv. Diagramme de cas d’utilisation


Les diagrammes de cas d'utilisation sont des diagrammes UML utilisés pour donner
une vision globale du comportement fonctionnel d'un système logiciel. Un cas
d'utilisation représente une unité discrète d'interaction entre un utilisateur (humain ou
machine) et un système. Il est une unité significative de travail. Dans un diagramme de
cas d'utilisation, les utilisateurs sont appelés acteurs (actors), ils interagissent avec les cas
d'utilisation (use cases).

UML définit une notation graphique pour représenter les cas d'utilisation, cette notation
est appelée diagramme de cas d'utilisation. UML ne définit pas de standard pour la forme
écrite de ces cas d'utilisation, et en conséquence il est aisé de croire que cette notation
graphique suffit à elle seule pour décrire la nature d'un cas d'utilisation. Dans les faits,
une notation graphique ne peut donner qu'une vue générale simplifiée d'un cas ou d'un
ensemble de cas d'utilisation. Les diagrammes de cas d'utilisation sont souvent
confondus avec les cas d'utilisation. Bien que ces deux concepts soient reliés, les cas
d'utilisation sont bien plus détaillés que les diagrammes de cas d'utilisation.

10
E-Learning

La figure2 décrit les différents cas d'utilisations de chaque acteur. Elle permet de
distinguer les rôles et les acteurs du projet.

Figure2 : Diagramme des Cas d’Utilisations (Use Case)

11
E-Learning

v. Diagramme de séquence
Les diagrammes de séquence sont couramment utilisés par nombre d'acteurs d'un projet.
En effet, le diagramme de séquence est une représentation intuitive lorsque l'on souhaite
concrétiser des interactions entre deux entités (deux sous-systèmes ou deux classes d'un
futur logiciel). Ils permettent à l'architecte/designer de créer au fur et à mesure sa
solution. Cette représentation intuitive est également un excellent vecteur de
communication dans une équipe d'ingénierie pour discuter cette solution. Les
diagrammes de séquence peuvent également servir à la problématique de test. Les traces
d'exécution d'un test peuvent en effet être représentées sous cette forme et servir de
comparaison avec les diagrammes de séquence réalisés lors des phases d'ingénierie. Les
diagrammes de séquence tels que définis en UML souffraient cependant d'un gros
inconvénient. La quantité de diagrammes à réaliser pouvait atteindre un nombre élevé
dès lors que l'on souhaitait décrire avec un peu de détail les différentes branches
comportementales d'une fonctionnalité.

12
E-Learning

La figure3 montre la séquence d'authentification. C'est la première séquence déclenchée


dans ce projet. L'utilisateur entrain de se connecter attend la réponse pour être redirigé
vers la page d'accueil correspondante à son profil.

Figure 3 : Diagramme de séquence Authentification

13
E-Learning

La Figure4 démontre l'interaction entre deux utilisateurs échangeant des messages


synchrones.

Figure 4 : Diagramme de séquence Messagerie

14
E-Learning

La figure5 démontre le processus suivi par l'apprenant pour passer une évaluation (quiz).
Ce processus ne se déclenche si, et seulement si, une évaluation est programmé pour le
cours en question.

Figure 5 : Diagramme de séquence Passage de Quiz par apprenant

15
E-Learning

La figure6 expose la manière avec laquelle un formateur crée un quiz. Il doit spécifier les
questions, et pour chaque question, il doit déterminer les propositions.

Figure 6 : Diagramme de séquence création de quiz par formateur

16
E-Learning

La figure7 décrit la façon avec laquelle un administrateur crée des modules et des
thèmes. Il doit spécifier l'intitulé et le module de chacun des deux.

Figure 7 : Diagramme de séquence gestion thème module par administrateur

17
E-Learning

La figure8 retrace le déroulement de la création des cours. Un cours contient plusieurs


chapitres, et un chapitre contient plusieurs exercices. Ces deux derniers contiennent tous
les deux des ressources.

Figure 8 : Diagramme de séquence gestion cours par administrateur

18
E-Learning

La figure9 montre la procédure d'insertion des apprenants dans un groupe spécifié. Cette
séquence est déclenchée par les administrateurs.

Figure 9 : Diagramme de séquence gestion de groupe par administrateur

19
E-Learning

La figure10 expose le déroulement de la consultation des cours. Les apprenants ou


formateurs provoquent cette séquence.

Figure 10 : Diagramme de séquence consultation cours par apprenant ou formateur

20
E-Learning

La figure11 explique comment est ce que les formateurs ou les administrateurs


programment une séance. La disponibilité d'au moins un groupe, et de au moin un cours
est indispensable pour la pouvoir créer une séance.

Figure 11 : Diagramme de séquence gestion séances par administrateur ou Formateur

21
E-Learning

vi. Outil de modélisation (Version d’évaluation)

Rational Systems Developer est un environnement de développement intégré pour aider


les organisations qui administrent des processus commerciaux de développement de
logiciels et de systèmes.
Rational Systems Developer mise sur la puissance d'Eclipse et aide les équipes de
développement à utiliser le langage de modélisation UML 2 pour créer des applications
bien structurées et guidées par modèles en C/C++, Java et CORBA.
Rational Rose permet de :

 Augmenter la valeur de l’environnement Eclipse en tirant parti d'avantages


comme une meilleure intégration des outils et l'accès à un écosystème de
plugiciels permettant de personnaliser l'environnement de développement ;
 S’adapter pour Microsoft Windows et Linux.
 Utiliser l'ensemble complet d'outils de graphiquage du langage de modélisation
UML 2 pour expliquer les détails de l'architecture dans un environnement de
développement guidé par modèle.
 Gérer en souplesse les ressources de modélisation afin de faciliter le
développement en parallèle et le ré-usinage architectural.
 Appliquer de puissants modèles et utiliser les fonctions de création de modèles
afin d'assurer le respect des conventions et des meilleures pratiques.
 Miser sur les fonctions de transformation classique et inverse pour automatiser
la transition entre les modèles et le code, par exemple pour passer du langage
UML à Java ou du code C++ à UML.
 Utiliser les fonctions de vérification et de contrôle des structures pour détecter
les faiblesses des applications Java et y voir.

22
E-Learning

IV. Réalisation :
Pour la réalisation de ce projet, il a été nécessaire d'utiliser plusieurs outils
informatiques. La majorité de ces outils nous ont été conseillés par Devo Services.

i. Les outils de réalisation

a. Visual Studio .NET 2005

Visual Studio est un ensemble complet d'outils de développement permettant de générer


des applications Web, des applications bureautiques et des applications mobiles.
Plusieurs langages sont disponibles tels que le C# (mélange de C++ et de Java), le J#
(proche du Java, mais non compatible Java) et le Visual Basic .NET (Visual Basic
.NET). Grâce à la disponibilité des spécifications techniques, différents acteurs sont
libres d'ajouter le support pour un autre langage, ou un langage classique (notamment
Cobol, Pascal, Fortran, Eiffel, Ada) ainsi que ASP.NET.
Il a pour but de faciliter la tâche des développeurs en proposant une approche unifiée à la
conception d'applications Windows ou Web, tout en introduisant des facilités pour le
développement, le déploiement et la maintenance d'applications.
Le framework gère tous les aspects de l'exécution de l'application :
• Il alloue la mémoire pour le stockage des données et des instructions du
programme ;
• Il autorise ou interdit les droits de l'application ;
• Il démarre et gère l'exécution ;
• Il gère la réallocation de la mémoire pour les ressources qui ne sont plus
utilisées.
C'est pour cela que le framework .NET est qualifié d'environnement « managé ».
Il est composé de deux blocs principaux : le CLR et la bibliothèque de classes .NET.

23
E-Learning

b. ASP .NET

ASP (Active Server Pages) est un standard mis au point par Microsoft en 1996
permettant de développer des applications Web interactives, c'est-à-dire dont le contenu
est dynamique. Ainsi une page web ASP (fichier repérable par l'extension .asp) aura un
contenu pouvant être différent selon certains paramètres (des informations stockées dans
une base de données, les préférences de l'utilisateur, ...) tandis qu'une page web
« classique » (dont l'extension est .htm ou .html) affichera continuellement la même
information.

ASP est une technologie web dynamique, permettant de représenter sous forme d'objets
les interactions entre le navigateur du client, le serveur web, ainsi que les connexions à
des bases de données (grâce à ADO, ActiveX Data Object) ou bien des composants COM
(Component Object Model). Les ASP sont donc exécutées du côté du serveur (au même
titre que les scripts CGI, PHP, ...) et non du côté client (les scripts écrits en JavaScript ou
les applets Java s'exécutent dans le navigateur de la personne connectée à un site).

Les ASP sont intégrables au sein d'une page Web en HTML à l'aide de balises spéciales
permettant au serveur Web de savoir que le code compris à l'intérieur de ces balises doit
être interprété afin de renvoyer des données (généralement du code HTML) au
navigateur du client.

Ainsi, les Active Server Pages s'inscrivent dans une architecture 3-tiers. Ce terme
compliqué signifie qu'un serveur supportant les Active Server Pages peut servir
d'intermédiaire entre le navigateur du client et une base de données en permettant un
accès transparent à celle-ci grâce à la technologie ADO (ActiveX Data Object), qui
fournit les éléments nécessaires à la connexion à un système de gestion de bases de
données, à la manipulation des données grâce au langage SQL.

24
E-Learning

La figure12 expose l'échange de données entre le client et le serveur grâce à la


technologie ASP sous la plateforme .NET.

Figure 12 : Architecture ASP .NET

c. AJAX

(Asynchronous JavaScript And XML, traduisez JavaScript asynchrone et XML) est une
méthode de développement web basée sur l'utilisation d'un script JavaScript pour
effectuer des requêtes web à l'intérieur d'une page web sans recharger la page. AJAX
rend plus interactifs les sites web et offre une meilleure ergonomie ainsi qu'une réactivité
amélioré en permettant de modifier interactivement une partie de l'interface web
seulement.

En effet, le modèle web traditionnel est basé sur une suite de requêtes et de réponses
successives, c'est-à-dire une navigation séquentielle de page web en page web. AJAX
permet de ne modifier que la partie de la page web qui nécessite d'être mise à jour en
créant une requête HTTP locale et en modifiant tout ou partie de la page web en fonction
de la requête HTTP récupérée.

25
E-Learning

La figure9 compare le déroulement de l'exécution d'une application web classique (à


gauche) et l'exécution du même élément à l'aide de la technologie AJAX.

Figure 9 : Comparaison entre le model classique et le model Ajax d’une application web

26
E-Learning

d. SQL SERVER 2005

SQL Server 2005 (Nom de code: Yukon) est un SGBDR de la plateforme Microsoft.
Basé sur les points forts de son prédécesseur (SQL Server 2000), Yukon apporte
beaucoup de nouvelles fonctionnalités, Il permet, entre autres choses:

- de proposer aux développeurs un environnement de développement riche, souple et


moderne permettant de créer des applications de bases de données plus sûres;
- de partager des données entre diverses plates-formes, applications et systèmes pour
faciliter les connexions, tant internes qu'externes.
- La montée en charge: Des améliorations comme le partitionnement, l'isolement des
captures instantanées et la prise en charge des systèmes 64 bits, vous permettent de
créer et de déployer vos applications les plus exigeantes;
- Sécurité : Cryptage de base de données, choix de la sécurité maximale par défaut;
- Gestion : Une nouvelle suite d'outils de gestion de base de données, amélioration du
Profiler SQL;
- L’interopérabilité: Grâce à une prise en charge étendue des standards, des services
Web et de Microsoft .NET Framework, SQL Server 2005 assure l'interopérabilité
entre plates-formes, applications et systèmes.
- L’amélioration des outils: Les développeurs pourront utiliser un outil de
développement pour Transact-SQL, XML, MDX (Multidimensional Expression) et
XML for Analysis (XML/A). L'intégration avec l'outil de développement Visual
Studio permettra un développement et un débogage plus efficaces des applications
métier et décisionnelles ;
- L’intégration de la CLR (Common Language Runtime) dans le moteur de base de
données: Les développeurs auront la possibilité de choisir le langage (C#, VB.NET,
Transact-SQL) qu'ils utiliseront pour développer leurs application de base de
données ;
- Le support du XML et XQuery ;
- Le support des Web Services : La prise en charge de standards ouverts, existants ou
nouveaux, tels que HTTP (Hypertext Transfer Protocol), XML, SOAP (Simple
Object Access Protocol), XQuery et XSD (XML Schema Definition) facilitera
également les communications entre systèmes d'entreprise étendus.

27
E-Learning

e. JAVASCRIPT

C’est un langage de script incorporé dans un document HTML. Historiquement il s'agit


du premier langage de script pour le Web. Ce langage est un langage de programmation
qui permet d'apporter des améliorations au langage HTM pour exécuter des commandes
du côté client, c'est-à-dire au niveau du navigateur et non du serveur web. JavaScript a
été mis au point par Netscape en 1995. A l'origine, il se nommait LiveScript et était
destiné à fournir un langage de script simple au navigateur Netscape Navigator 2. Il a, à
l'époque, longtemps été critiqué pour son manque de sécurité, son développement peu
poussé et l'absence de messages d'erreur explicites rendant difficile son utilisation. Le 4
décembre 1995, suite à une association avec le constructeur Sun, Netscape rebaptise son
langage JavaScript (un clin d'œil au langage Java développé par Sun). A la même
époque, Microsoft mit au point le langage Jscript, un langage de script très similaire.
Ainsi, pour éviter des dérives de part et d'autre, un standard a été défini pour normaliser
les langages de script, il s'agit de l'ECMA 262, créé par l'organisation du même nom
(ECMA, European Computer Manufactures Association).

La figure13 démontre le fonctionnement du JavaScript en mettant en valeur le côté client


et le côté serveur.

Figure 13 : Fonctionnement de JavaScript

28
E-Learning

ii. Architecture globale de l’application

L’architecture adoptée pour notre application est celle la plus utilisée dans le
développement des grandes applications, c’est l’architecture 3-tiers. Elle permet de
rendre les trois couches (présentation, métier et accès aux données) indépendantes les
unes des autres grâce aux interfaces.

La figure14 reflète les différentes couches de l'architecture 3-tiers et leurs interactions


entre eux-mêmes.

Couche Présentation Couche Métier Couche d’Accès aux


Données

ASP .NET
WebForms Procédures
Classes C# Stockées BD SQL
ADO .NET
ASP .NET SQL Server Server
MasterPages

SQL Server

Figure 14 : Structure de l’architecture 3-tiers

29
E-Learning

a. La couche Présentation

Elle représente le premier niveau de l’architecture et est la partie visible de l’application


et interactive avec l’utilisateur. Dans notre cas, elle est représentée en HTML et est
exploitée par des navigateurs Web.

Les figures 15, 16 et 17 montrent l'arborescence des éléments qui représentent la couche
présentation.

Figure 15 : La couche Présentation

30
E-Learning

b. La couche Métier

C’est la couche du second niveau de l’architecture. Elle représente la partie fonctionnelle


de l’application. Cette couche opère sur les données en fonction des requêtes des
utilisateurs effectuées au travers de la couche présentation (Couche intermédiaire).

Figure 16 : La couche Métier

31
E-Learning

c. La couche accès aux données

La fonction principale de cette couche est de gérer les données. La façon dont elle
organise, manipule et stocke les données est transparente vis-à-vis des application
externes et des utilisateurs.

Figure 17 : La couche accès aux données

32
E-Learning

iii. Les interfaces types de l’application

Figure 18: Ecran Authentification

Page initiale du projet. Tout utilisateur doit s'authentifier (login et mot de passe). Les apprenants
peuvent s'enregistrer.

33
E-Learning

Figure 19 : Ecran Apprenant

Cette page est la plus importante pour un utilisateur de profil apprenant. Elle permet à l'apprenant de
sélectionner les sessions auxquels il est inscrit. Il peut ainsi suivre ses cours en accédant aux
ressources des chapitres et exercices. Les ressources peuvent être des documents, des séquences
audio et même video.

34
E-Learning

Figure 20 : Ecran Administrateur

Cet écran montre le menu latéral des administrateurs et la liste des thèmes disponibles.

35
E-Learning

Figure 21 : Ecran Formateur

Cette page affiche le menu latéral des formateurs. Elle affiche aussi les séances dont le formateur est
responsable dans une session donnée.

36
E-Learning

Figure 22 : Ecran Insertion Apprenants dans un groupe

Cet écran montre la manière d'inserer et/ou retirer des apprenants d'un groupe. Cette opération se
fait après avoir précisé le groupe concerné. On peut voir les apprenants non appartenant au groupe
sur la liste gauche, et ceux qui y appartiennent sur la liste droite.

37
E-Learning

Conclusion
Pendant la période de stage, nous avons pu acquérir une expérience professionnelle et
concrétisé ainsi nos acquis théoriques.

Ce projet nous a permis de connaître le E-Learning et d’approfondir nos connaissances,


notamment en terme de conception et de réalisation de ce domaine.

Pour la modélisation, nous avons optés pour UML comme langage de modélisation et
IBM Rational Rose comme outil de modélisation nous permettant ainsi de représenter
nos diagrammes sous format électronique.

Pour la réalisation, nous nous sommes orientés vers la plateforme .NET, en utilisant ASP
.NET pour la solution Web et le langage C# comme de codage côté Serveur. Le SGBD
exploité n’est autre que SQL Server 2005, nous permettant de bénéficier des services des
procédures stockées et la gestion des données.

L’architecture 3-tiers qui permet de faire correspondre les interfaces avec les données,
nous a facilité la tâche de son développement.

En effet, ce projet peut être encore développé, et parmi ces perspectives nous
pouvons envisagé :
- La gestion des utilisateurs ;
- La gestion des archives ;
- La messagerie instantanée ;
- La gestion et l’utilisation des forums ;
- Les conférences audio et vidéo en temps réel.

38
E-Learning

Glossaire
-A-
ADO : ActiveX Data Object
AJAX : Asynchronous Javascript And Xml
ASP : Active Server Pages
-B-
BD : Base de Données
-C-
CLR : Common Language Runtime
COBIT : Control Objectives for Information and related Technology
CSS : Cascading Style Sheets
-D-
DB : Data Base
-H-
HTML : HyperText Markup Language
HTTP : HyperText Transport Protocol
-I-
IBM : International Business Machines
ISO : International Organisation for Standardisation
ITIL : Information Technology Infrastructure Library
-M-
MDX : MultiDimensional Expression
-S-
SGBD : Système de Gestion de Base de Données
SGBDR : Système de Gestion de Base de Données Relationnelles
SI : Systèmes d’Information
SLA : Service Level Agreement
SQL : Structured Query Language
SysML : Systems Modeling Languages
-U-
UML : Unified Modeling Language
-X-
XML : eXtensible Markup Language

39
E-Learning

Sources
Webographie :
- www.developpez.com
- www.4guysfromrolla.com
- www.ajax.net
- www.gridviewguy.com
- www.west-wind.com
- msdn.microsoft.com/asp.net/
- fr.wikipedia.org
Bibliographie :
- Yannick LEJEUNE, « Le langage C# .NET », Micro Application, e-Poche (2001)

40

You might also like