Vous êtes sur la page 1sur 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_______________________________________________________________________ I. Présentation de l’organisme d’accueil i. ii. i. ii. iii. i. ii. iii. iv. v. vi. i. ii. iii. Présentation de Devo Services_______________________________________________ Secteurs d’activités________________________________________________________ Le concept du E-Learning___________________________________________________ Cahier des charges_________________________________________________________ Etude de l’existant_________________________________________________________ Règles de gestion _________________________________________________________ Langage de modélisation ___________________________________________________ Diagramme de classes _____________________________________________________ Diagramme de cas d’utilisations _____________________________________________ Diagramme de séquences ___________________________________________________ Outil de modélisation ______________________________________________________ Les outils de réalisation_____________________________________________________ Architecture Globale de l’application__________________________________________ Les interfaces types de l’application___________________________________________ 2 2 3 4 5 6 7 8 10 12 22 23 29 33 38 39 40 1

II. Contexte et objectif du projet

III. Modélisation du système

IV. Réalisation

Conclusion________________________________________________________________________ Glossaire_________________________________________________________________________ Sources___________________________________________________________________________

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 acteursressources) 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 technologie ASP sous la plateforme .NET.

grâce à la

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 ASP .NET MasterPages

Classes C#

Procédures Stockées SQL Server
SQL Server

ADO .NET

BD 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
-AADO AJAX ASP -BBD : ActiveX Data Object : Asynchronous Javascript And Xml : Active Server Pages : Base de Données

-CCLR : Common Language Runtime COBIT : Control Objectives for Information and related Technology CSS : Cascading Style Sheets -DDB : Data Base -HHTML : HyperText Markup Language HTTP -IIBM ISO ITIL -MMDX -SSGBD SGBDR SI SLA : HyperText Transport Protocol : International Business Machines : International Organisation for Standardisation : Information Technology Infrastructure Library : MultiDimensional Expression : Système de Gestion de Base de Données : Système de Gestion de Base de Données Relationnelles : Systèmes d’Information : Service Level Agreement

SQL : Structured Query Language SysML : Systems Modeling Languages -UUML : Unified Modeling Language -XXML : 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