Rapport PFE E-Learning

46
i Rapport du Projet de Fin d’Etudes Session de Septembre Année Universitaire 2006-2007 Réalisé par : ENNAHDI ELIDRISSI Mohamed ERRADJA Jihad Option MIAGE Encadrant EMSI Mr.MADRANE Nabil Encadrant Devo-Services Mme SAADI Sabah Site Web destiné à la formation en ligne

description

Rapport de fin d'étude d'un projet E-Learning en .NET, SQL Server 2005 et UML 2.Client LégerRéalisé Par: Mohamed Ennahdi El Idrissi

Transcript of Rapport PFE E-Learning

Page 1: Rapport PFE E-Learning

i

Rapport du Projet de Fin d’Etudes

Session de Septembre

Année Universitaire

2006-2007

Réalisé par : ENNAHDI ELIDRISSI Mohamed

ERRADJA Jihad

Option MIAGE

Encadrant EMSI Mr.MADRANE Nabil

Encadrant Devo-Services

Mme SAADI Sabah

Site Web destiné à la

formation en ligne

Page 2: Rapport PFE E-Learning

E-Learning

Page 3: Rapport PFE 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.

Page 4: Rapport PFE E-Learning

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.

Page 5: Rapport PFE E-Learning

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.

Page 6: Rapport PFE E-Learning

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

Page 7: Rapport PFE E-Learning

E-Learning

1

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.

Page 8: Rapport PFE E-Learning

E-Learning

2

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,…).

Page 9: Rapport PFE E-Learning

E-Learning

3

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.

Page 10: Rapport PFE E-Learning

E-Learning

4

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é.

Page 11: Rapport PFE E-Learning

E-Learning

5

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

Page 12: Rapport PFE E-Learning

E-Learning

6

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 ;

Page 13: Rapport PFE E-Learning

E-Learning

7

� 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.

Page 14: Rapport PFE E-Learning

E-Learning

8

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).

Page 15: Rapport PFE E-Learning

E-Learning

9

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

Page 16: Rapport PFE E-Learning

E-Learning

10

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.

Page 17: Rapport PFE E-Learning

E-Learning

11

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)

Page 18: Rapport PFE E-Learning

E-Learning

12

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é.

Page 19: Rapport PFE E-Learning

E-Learning

13

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

Page 20: Rapport PFE E-Learning

E-Learning

14

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

synchrones.

Figure 4 : Diagramme de séquence Messagerie

Page 21: Rapport PFE E-Learning

E-Learning

15

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

Page 22: Rapport PFE E-Learning

E-Learning

16

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

Page 23: Rapport PFE E-Learning

E-Learning

17

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

Page 24: Rapport PFE E-Learning

E-Learning

18

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

Page 25: Rapport PFE E-Learning

E-Learning

19

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

Page 26: Rapport PFE E-Learning

E-Learning

20

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

Page 27: Rapport PFE E-Learning

E-Learning

21

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

Page 28: Rapport PFE E-Learning

E-Learning

22

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.

Page 29: Rapport PFE E-Learning

E-Learning

23

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.

Page 30: Rapport PFE E-Learning

E-Learning

24

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.

Page 31: Rapport PFE E-Learning

E-Learning

25

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.

Page 32: Rapport PFE E-Learning

E-Learning

26

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

Page 33: Rapport PFE E-Learning

E-Learning

27

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.

Page 34: Rapport PFE E-Learning

E-Learning

28

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

Page 35: Rapport PFE E-Learning

E-Learning

29

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 d’Accès aux Données

Couche MétierCouche Présentation Couche d’Accès aux Données

Couche MétierCouche Présentation

ASP .NET WebForms

ASP .NETMasterPages

BD SQLServer

ProcéduresStockées

SQL ServerADO .NETClasses C#Classes C#

SQL Server

Figure 14 : Structure de l’architecture 3-tiers

Page 36: Rapport PFE E-Learning

E-Learning

30

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

Page 37: Rapport PFE E-Learning

E-Learning

31

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

Page 38: Rapport PFE E-Learning

E-Learning

32

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

Page 39: Rapport PFE E-Learning

E-Learning

33

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.

Page 40: Rapport PFE E-Learning

E-Learning

34

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.

Page 41: Rapport PFE E-Learning

E-Learning

35

Figure 20 : Ecran Administrateur Cet écran montre le menu latéral des administrateurs et la liste des thèmes disponibles.

Page 42: Rapport PFE E-Learning

E-Learning

36

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.

Page 43: Rapport PFE E-Learning

E-Learning

37

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.

Page 44: Rapport PFE E-Learning

E-Learning

38

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.

Page 45: Rapport PFE E-Learning

E-Learning

39

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

Page 46: Rapport PFE E-Learning

E-Learning

40

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)