Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
UNIVERSITE DE SFAX
*************
**********
MINISTERE DE L’ENSEIGNEMENT
INSTITUT SUPERIEUR
SUPERIEUR ET DE LA RECHERCHE
D’INFORMATIQUE ET DE
SCIENTIFIQUE
MULTIMEDIA
Hal i m a
Dédi c ac es
A mes parents
Aucun hommage ne pourrait être à la hauteur de
l’amour
Et de l’affection dont ils ne cessent de me comble
A mon Mari
A mes Frères
En leur souhaitant la réussite et le bonheur
A toute ma famille
A tous mes amis
A tous mes professeurs et ceux qui ont contribué à
la réussite de ce travail
Ri m
Remerciements
Cette étude entre dans le cadre de la préparation d’un mémoire de fin d’études en vue de
l’obtention du diplôme d’Ingénieur en Informatique, Technologie Web et Multimédia au sein
de l’Institut Supérieur d’Informatique et de Multimédia de Sfax.
C’est ainsi que nous avons eu l’occasion de préparer notre projet de fin d’étude intitulé
«Conception et réalisation d’une plateforme d’Elearning» proposé par la société Génie
Consulting.
Introduction générale
L'enseignement est un mode d'éducation permettant de développer les connaissances d'un
élève par le biais de la communication verbale et écrite. Des nombreux observateurs avertis
que les structures de l'enseignement traditionnel n’ont guère changé depuis le début du
XIXème siècle et ce, en dépit des bouleversements sociaux et de l'évolution des moyens de
communication.
L’enseignement traditionnel est centré sur le cours magistral. Les auditeurs sont passifs,
souvent intellectuellement absents du fait des conditions difficiles imposées par la surcharge
horaire. Les principaux moyens mis en œuvre dans ce type d’enseignement: un cours
magistral associé à des travaux dirigés et pratiques, le « tableau noir » et le support « papier ».
Par ailleurs, les systèmes traditionnels d'enseignement imposent à tous les apprenants une
unité de lieu, une unité de temps, une unité d'action, une unité de rythme ce qui implique une
rigidité des mécanismes et une difficulté d'adéquation avec la réalité quotidienne.
La tendance à l'amélioration du système sur le plan pédagogique par le recours aux moyens
audiovisuels classiques (projections de diapositives, de transparents, séquences vidéo) n'a pas
résolu le problème. En effet, le formateur doit à la fois exposer le cours et entreprendre des
manipulations techniques assez difficiles.
L’enseignement moderne exige des moyens pour faciliter l'apprentissage de l'apprenant tels
que le choix de situation, l’explicitation d'objectifs et des critères, les choix de contenus, la
mise en œuvre de procédures d’éducation, l’élaboration d'outils pour aider l'élève à construire
et s'approprier des savoirs et des savoir-faire.
Plusieurs solutions d’organisation des formations, à base des TICE, existent sur le marché.
Ces solutions proposent les différentes fonctionnalités de base (communication audio vidéo,
Tchat …).Cependant, elles possèdent plusieurs inconvénients comme la lenteur au niveau du
temps de réponse du système, le nombre limité des apprenants. Aussi, il est à noter que la
majorité des solutions de pilotage à distance existantes exigent autre que l’installation une
configuration d'accessibilité. Il n’existante pas une solution d’apprentissage en ligne complète
qui offre à la fois les fonctionnalités de la gestion des formations, du web conferencing et le
pilotage.
1
Introduction générale
Le travail présenté dans ce mémoire s’inscrit dans ce contexte. Notre objectif est de concevoir
et de mettre en place un système qui réunie les différentes fonctionnalités nécessaire à une
plateforme d’apprentissage en ligne et confronte les inconvénients des solutions existants.
Notre pojet est composé de trois parties principales qui sont:
Gestion des formations : permet l’organisation des formations ainsi que la gestion des
utilisateurs (creation des comptes pour les formateurs et les apprenants…)
WebConférence :cette partie represente notre salon de formation qui offre les
fonctionnalités suivantes
Uploader le support d’une formation,
Utiliser les ressouces audio et vidéo,
Conversation textuelle(Tchat),
Telécharger et uploader des documents.
Pilotage d’un PC à distance: donne la possibilité à un formateur de piloter les pc des
apprenants.
Le reste de ce manuscrit sera organisé comme suit :
Dans le premier chapitre, nous mettrons l’accent sur le champ d’étude de notre application
qui est l’apprentissage en ligne. Nous présentons une synthèse des solutions existantes sur le
marché en discutant les avantages et les inconvénients de chacune d’elles. Puis nous
proposons les différentes solutions aux problèmes soulevés.
Dans le deuxième chapitre, la modélisation conceptuelle de notre solution sera détaillé.
Ensuite nous exposons le modèle logique des données.
Dans le troisième chapitre, une étude technique sera présentée où nous décrivons
l’environnement de développement matériel et logiciel et nous présentons les différents
fonctionnalités de notre application à travers des capture d’écran.
2
Chapitre I :
ETUDE PREALABLE
Etude préalable
1.1 Introduction
L’étude préalable constitue une étape préliminaire pour la réalisation d’une application.
En effet, elle permet d’analyser, d’évaluer et de critiquer le fonctionnement habituel, tout en
élaborant la liste des solutions possibles.
Ce chapitre sera réservé pour présenter l’étude préalable de notre projet. Nous commençons
par la définition du champ de l’étude et les objectifs à atteindre. Ensuite nous analysons
quelques solutions existantes sur le marché en discutant leurs avantages et leurs
inconvénients. L’analyse et le critique de l’existant nous ont permis de cerner nos objectifs
afin de développer un système de qualité dans le futur. Enfin, nous proposons les différentes
solutions aux problèmes soulevés.
4
Etude préalable
(Recherche & Développement) implanté dans la ville de Sfax. Ce pôle R&D propose chaque
année des stages qui suivent les exigences et l’actualité du marché.
1.3 Recueil
1.3.1 Définition du champ de l’étude
L'utilisation des Technologies d’Information et de Communication « TIC» dans les
processus de transmission des connaissances fait désormais partie de l'environnement
fonctionnel et intellectuel de plusieurs sociétés[VIEIRA ET AL 07].De ce fait, de nouvelles
articulations entre la production, la diffusion et l'appropriation des contenus à vocation
pédagogique ont été élaboré pour donner naissance à de nouvelles logiques d'usage s'appuyant
sur un accès à une information plurielle et interconnectée émergent, tant pour les enseignants
que pour les apprenants.
L’appellation générique TIC recouvre une réalité plurielle et englobe une série de
déclinaisons spécifiques, parmi lesquelles on trouve notamment les technologies de
l’information et de la communication éducatives « TICE » [VIEIRA ET AL 07]
Avec les TICE, nous nous intéresserons plus particulièrement aux dynamiques portées par les
technologies numériques dans les contextes éducatifs. Dans une approche générique, on peut
considérer les TICE comme toute application informatique, participant au fonctionnement
d’une formation, et à la transmission et à la mise en commun des connaissances. Cela inclut
les services et applications informatiques utilisant la technologie du réseau internet à des fins
d’enseignement ainsi que les dispositifs intégrés (dits plateformes, environnement
pédagogiques) disponibles à partir de serveurs donnant par exemple accès à des applications
de type visioconférences, audioconférences, chat, production, édition et stockage
d’informations pédagogiques et bien sûr courrier électronique (Bouillon, Bourdin, 2005).
Dans le but de valoriser la notion de TICE et de téléformation, nous mettons en exergue à
développer un système de téléformation.
Afin de mieux comprendre le contexte de notre futur système nous définissons dans ce qui
suit quelque notion relative à notre champ d'étude.
FOAD :
La formation ouverte et/ou à distance est un dispositif souple de formation organisé en
fonction de besoins individuels ou collectifs (individus, entreprises, territoires). Elle comporte
des apprentissages individualisés et l'accès à des ressources et compétences locales ou à
distance. Elle n'est pas exécutée nécessairement sous le contrôle permanent d'un formateur.
5
Etude préalable
FOAD vient dans l’ordre de remédier aux problèmes des formations en présentiel. Ceci
présente l’avantage majeur du FOAD. Plusieurs type de personnes peuvent profiter de cet
avantage comme :
Les personnes salariées souhaitant évaluer leur carrière professionnelle,
Les personnes handicapées, qui ne peuvent pas se déplacer,
Les personnes voulant réaliser une formation à l’étranger.
Parmi les Formes les plus courantes de formation ouverte à distance est le E-learning.
E-Learning :
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 .[ref : Union
Européenne]
Plusieurs termes sont utilisés pour traduire le terme E-Learning. La traduction la plus fidèle
est apprentissage en ligne.
Aujourd’hui, le e-Learning est lié spécialement à deux secteurs :
6
Etude préalable
simultanément en ligne avec leur formateur, partagent des applications, visionnent les mêmes
écrans ou encore reçoivent des images de vidéoconférence.
RIA (Rich Internet Application) :
RIA est une application semi-légère qui utilise les ressources de l'ordinateur client.
Les RIA offrent une meilleure réactivité et ergonomie que les applications internet utilisant
des formulaires HTML traditionnels nécessitant des rechargements de pages.
Les avantages des RIA sont:
Aucune installation est nécessaire à part l'environnement (navigateur Web ou Air ou
Java),
Les données sont sauvegardées sur un serveur sécurisé,
Vous pouvez accéder à votre environnement (application et données) depuis n'importe
quel ordinateur,
Une meilleure ergonomie au niveau de la réactivité par rapport aux applications web
traditionnelles.
Web Conférence :
Le web conférence permet de réunir plusieurs collaborateurs autour d'une plateforme
virtuelle pour une réunion de travail, des formations ou des séminaires. Tous les participants,
devant leurs ordinateurs et munis d'une connexion internet, communiquent et échangent des
données en temps réel à distance. Le web conférence permet un gain en temps et en argent.
En contre partie, il souffre des problèmes confidentialité et sécurité sont les points faibles de
ces solutions.
Streaming :
Le streaming, encore appelé « lecture en transit », est la diffusion de
contenus audio et/ou vidéo en continu, au fur et à mesure du téléchargement du fichier.
Il s'oppose ainsi au principe de diffusion par téléchargement préalable du media.
Dans le cadre de la formation à distance, la gestion du streaming est un élément déterminant.
Il est important de maitriser la totalité de la chaine de streaming pour obtenir un cours en ligne
de qualité.
Il existe deux types de streaming :
Streaming progressif :
Encore appelé streaming statique, représente la solution la plus courante sur le web et
utilise les protocoles HTTP et FTP. Il ne nécessite pas un serveur spécialise. C'est le
navigateur Web qui effectue la lecture des medias audio et / ou vidéo. La qualité du media
n'est donc pas adaptable à la qualité de la connexion.
7
Etude préalable
Streaming continu :
Contrairement au streaming progressif, le streaming continu, encore appelée streaming
dynamique ou vrai streaming, permet une adaptabilité dynamique de la qualité du media
diffusée, en fonction des capacités de la connexion réseau cliente.
Tout ceci est rendu possible grâce a l'utilisation d'un serveur spécialisé dédié au streaming
vidéo tel que FMS ou encore red5. Il n'est pas nécessaire de télécharger l'ensemble du fichier
pour commencer à le visualiser. Le serveur n'envoie à l'internaute que les données dont il a
besoin.
Sharing :
Le Sharing une fonction utilisée dans les outils de e-Learning qui permet de :
Partager un document : en sélectionnant les fichiers à partir d’un ordinateur et les
en les affichant.
Partager l’écran : vous permet de montrer aux participants de la réunion les
manipulations effectuées en temps réel sur un ordinateur.
Pilotage à distance d’un ordinateur :
L'assistance à distance est une méthode permettant, depuis un ordinateur éloigné,
de prendre le contrôle d'un autre ordinateur en visualisant l'écran de celui-ci et en manipulant
les fonctions correspondant au clavier et à la souris. Cette assistance peut être effectuée sur
des ordinateurs et des serveurs avec certains logiciels.
Un bureau à distance est une innovation technologique permettant d'accéder à son ordinateur
distant physiquement via un autre ordinateur local. Cette technologie utile pour :
Assistance à distance (informatique),
Diagnostic (matériel),
Aide en ligne,
Configuration et paramétrage à distance.
Après avoir examiné le champ de l’étude relatif à l’application que nous allons développer,
nous présentons dans la section suivante nos objectifs à atteindre.
8
Etude préalable
Notre objectif consiste à créer une plateforme d’E-Learmnig qui répond au besoin du
formateur et des apprenants à la fois et de manière à :
La clé principale de la réussite d’un projet est un bon planning. En effet, le planning aide à
bien subdiviser le travail et séparer les taches à réaliser, il offre une meilleure estimation et
gestion de temps nécessaire pour chaque tache. De plus, il donne assez de visibilité permettant
d’estimer approximativement la date d’achèvement de chaque tâche.
Dans notre projet, nous avons estimé de réaliser notre application dans une durée
approximative de 4 mois. Le tableau ci-dessous montre le planning que nous avons adapté
pour mener à bien notre réalisation des différentes parties du projet.
Comme le montre le tableau1.1 ci dessous, cinq principales phases peuvent être dégagés :
L’étude préalable: le résultat de cette phase est la détermination des objectifs à atteindre
dans notre future application en partant de l’existant.
Conception : il s’agit de détailler les spécifications des fonctions ainsi que la structure des
données, et des contrôles et les interfaces.
Réalisation : il s’agit de réaliser l’implémentation des programmes et effectuer les tests
unitaires.
Test et Validation: Il s ‘agit de tester notre plateforme de E-Learning.
Rédaction du rapport : description détaillée de notre travail.
2
http://www.skype.com
10
Etude préalable
Dim Dim3:
Dimdim est une application de réunion à distance (aussi appelée web conferencing)
permettant de communiquer en direct par Internet, sans avoir à installer de logiciel sur son
poste de travail. La conférence mixe tableau blanc, partage de documents (tels qu'une
présentation PowerPoint ou Impress), VoIP et vidéo. La figure ci-dessous présente l’nterface
de l'application DimDim .
Parmi les fonctionnalités de dimdim, nous notons :
Partage de documents, écran, tableau blanc
Audio et Vidéo conférence
Chat public ou privé
Enregistrement des conférences
Dimdim est basé sur ces technologies opensource 0:
Mysql, Serveur de base de données SQL
3
http://www.dimdim.com/
11
Etude préalable
OpenMetting4:
OpenMeetings ressemble à Dimdim sauf qu’il est toujours open source et on peut
encore la tester. Pour cela, il suffit de créer un compte test sur leur site officiel .Cette
application est très riche en fonctionnalités et assez bien conçue.
Voici une liste non-exhaustive de ses fonctionnalités :
Vidéo/Audio
Partage de bureau avec tous les participants
Tableau blanc avec possibilité de dessiner, écrire et éditer, redimensionner, ajout
une image et un symbole
Import de différents types de documents.
4
http://www.openmeetings.de/
12
Etude préalable
5
http://www.adobe.com/
13
Etude préalable
BigBlueButton6:
BigBlueButton est un système Open source de webconférence qui permet aux institutions
éducatives d’offrir leurs cours en ligne, avec une bonne qualité des diapositives, de la voix
et de la vidéo à un coût réduit. Il est à noter que BigBlueButton est conçue plutôt pour
l’enseignement supérieur que pour les entreprises. Elle s’apparente plus à une application
E-Learning qu’une application de E-Meeting.
BigBlueButton offre plusieurs fonctionnalités comme :
Visualisation de tous les participants connectés,
Possibilité à un utilisateur de lever sa main pour poser une question lors de la
présentation,
6
http://www.bigbluebutton.org/
14
Etude préalable
7
http://www.teamviewer.com
15
Etude préalable
• Transfert de fichiers: Transférer des fichiers depuis ou vers l'ordinateur d’un partenaire.
• VPN: Créez un réseau virtuel privé avec un partenaire.
8
www.ultravnc.fr/
16
Etude préalable
17
Etude préalable
18
Etude préalable
19
Etude préalable
1.6 Conclusion
Dans ce premier chapitre, nous avons défini le champ de notre étude suivi d’une étude de
l’existant afin de préciser nos objectifs à atteindre.
En effet, l’étude de l’existant nous a permis de préparer une bonne conception pour les
améliorations que nous allons ajouter dans la solution proposée afin de répondre à nos
besoins.
Dans le chapitre qui suit nous présenterons les démarches de développement et de conception
de notre solution.
20
Chapitre II:
MODELISATION CONCEPTUELLE
&
ORGANISATIONELLE
Modélisation Conceptuelle & Organisationnelle
2.1 Introduction :
La modélisation conceptuelle et organisationnelle constitue une étape importante dans la
convergence des notations utilisées dans le domaine de l’analyse de conception objet
puisqu’elle représente une synthèse pour notre système.
Dans ce chapitre nous commençons par le modèle conceptuel détaillé de notre application,
ensuite nous exposons le modèle logique des données. Enfin nous clôturons ce chapitre par
une conclusion.
Introduction
Le Modèle conceptuel de données est une représentation statique du système
d’information. Il a comme objectif de constituer une représentation claire et cohérente des
données manipulées dans le système d’information.
Cette section, sera présentée comme suit : nous commençons par le choix de la méthodologie
de conception et justification. Ensuite nous identifions les acteurs et les diagrammes des cas
d’utilisation, puis nous présentons le diagramme de classe, diagramme de collaboration et
enfin les diagrammes d’état transition.
Une vue est constituée d'un ou plusieurs diagrammes. On distingue deux types de vues:
La vue statiques, permettant de représenter le système physiquement :
Diagrammes de classes: représentent des collections d'éléments de modélisation
statiques (classes, paquetages...), qui montrent la structure d'un modèle.
Diagrammes d'objets: ces diagrammes montrent des objets (instances classes dans un
état particulier) et des liens (relations sémantiques) entre objets.
Diagrammes de cas d'utilisation: identifient les utilisateurs du système (acteurs) et
leurs interactions avec le système.
Diagrammes de composants: permettent de décrire l'architecture physique statique
d'une application en termes de modules : fichiers sources, librairie exécutables, etc.
Diagrammes de déploiement: montrent la disposition physique du matériel qui
compose le système et la répartition des composants sur ce matériel.
La vue dynamiques, montrant le fonctionnement du système :
Diagrammes de collaboration: montrent des interactions entre objet (instances de
classes et acteurs).
Diagrammes de séquence: permettent de représenter des collaborations eu objets selon
un point de vue temporel, on y met l'accent sur la chronologie (envois de messages).
Diagrammes d'états-transitions: permettent de décrire les changements d'états d'un
objet ou d'un composant, en réponse aux interactions avec d'autres objets/composants
ou avec des acteurs.
Diagrammes d'activités: (une variante des diagrammes d'états-transitions) servent à
représenter graphiquement le comportement d'une méthode ou déroulement d'un cas
d'utilisation.
La conception de notre interface a été élaborée en suivant la démarche suivante :
L'élaboration des diagrammes de cas d'utilisation. Cette étape à été réalisée suite à la
spécification fonctionnelle de l’application.
Recensement des classes candidates et élaboration du diagramme des classes.
Dresser les diagrammes de collaboration et de séquences pour mettre en évidence
interactions entre les différents objets du système.
Elaborer le diagramme d'états-transitions pour montrer les différents états l'interface.
23
Modélisation Conceptuelle & Organisationnelle
Authentifier
Consulter la liste des utilisateurs (apprenant ; formateur) ;
Répondre aux réclamations ;
Consulter la liste des formations existantes ;
Supprimer l’utilisateur non actif (apprenant, formateur) ;
Pour simplifier notre diagramme de cas d'utilisation, nous avons procédé à sa décomposition
en trois diagrammes :
Diagramme qui concerne les activités de l’administrateur
24
Modélisation Conceptuelle & Organisationnelle
25
Modélisation Conceptuelle & Organisationnelle
CU2: Authentification
Résumé: Ce CU permet à l’acteur de se connecter au système.
Acteurs: Formateur, Apprenant
Pré-Condition:l’utilisateur possède un profil
Post-Condition : le cas démarre après le point 02 de l’enchainement nominal, l’utilisateur
s’authentifie
26
Modélisation Conceptuelle & Organisationnelle
Scénario nominal
DESCRIPTION DU SCENARIO NOMINAL
« DEBUT»
01 : Le système invite l’acteur à entrer son login et son mot de passe.
02: L’acteur saisit le login et le mot de passe et choisit son profil.
03: Le système vérifie les paramètres.
04: Le système ouvre l'espace de travail correspondant au profil.
« FIN»
Scénario alternative
DESCRIPTION DU SCENARIO ALTERNATI F
Le login ou le mot de passe est incorrect: ce scénario commence au point 03 du scénario
nominal.
01 : Le système informe l’acteur que les données saisies sont erronées et le scénario reprend
au point 01 du scénario nominal.
27
Modélisation Conceptuelle & Organisationnelle
Scénario alternative
les informations sont manquantes ou incorrectes: ce scénario commence au point 04 du
scénario nominal.
01 : Le système informe l’acteur que les données saisies sont erronées et le scénario reprend
au point 01 du scénario nominal.
28
Modélisation Conceptuelle & Organisationnelle
« DEBUT»
01 : le système affiche l’interface du salon de formation
02 : Le système affiche les paramètres relatifs au camera et au microphone du formateur
03 : le formateur autorise l’accès à son camera et son microphone
04 : Le formateur uploade son support de formation
03 : Le système rafraîchie le panel spécifique au support de la formation.
« FIN»
29
Modélisation Conceptuelle & Organisationnelle
30
Modélisation Conceptuelle & Organisationnelle
Le tableau ci-dessous représente la liste des attributs composants toutes les classes
formants notre système ainsi que leur description, leur taille et leur type.
31
Modélisation Conceptuelle & Organisationnelle
32
Modélisation Conceptuelle & Organisationnelle
La modalisation objet est utilisée dans le langage UML pour définir des objets-métiers
et l’architecture de l’application. Ces objets sont créés en tant qu’instance de classe et
s’interagissent dynamiquement pour offrir le comportement décrit par les cas d’utilisation.
La modélisation objet définit le comportement requis par les différentes classes pour assurer
la bonne mise en place des cas d’utilisation et des règles de gestion.
Les objets constituent la base de l’architecture des applications, ils peuvent être
réutilisés à travers des domaines d’application ou encore être identifiés et dérivés directement
des cas d’utilisation ou des domaines d’application. Une classe est composée :
Attributs : représentant des données dont les valeurs représentent l’état de l’objet.
La méthode : il s’agit des opérations applicables aux objets.
Après avoir dégagé le dictionnaire de données épuré, nous pouvons dégager les classes ainsi
leurs méthodes et leurs attributs qui sont présentés dans le tableau suivant :
N° Nom Classe Liste des Attributs Methodes
01 Utilisateur id_util inscrire()
Nom authentifier()
Prenom consulter_Profil()
Sex reclamer()
Pseudo maj_Profil()
mot_pass
date_nais
Email
Tel
Pays
33
Modélisation Conceptuelle & Organisationnelle
05 Assister prix_aassiter -
34
Modélisation Conceptuelle & Organisationnelle
Les associations sont des relations entre classes. Elles représentent un lieu durable ou
ponctuel entre deux objets, une appartenance, ou une collaboration. Elles sont représentées
par une ligne entre les classes.
Le modèle de données d’UML comprend trois associations génériques principales :
Généralisation, association, dépendance à partir de ces trois associations de base, nous
représentons ainsi les différents types d’association qui décrivent les dépendances entre les
classe déjà citées
Association simple : les associations simples sont des liaisons logiques entre entités.
Les cardinalités : précisent combien d’objets de classe considérée peuvent être liés à un objet
de l’autre classe.
Le tableau suivant illustre une représentation des cardinalités :
Cardinalités Désignation
1 Un et un seul
0..1 Zero ou un
N Entier naturel
m..n De m à n(deux entiers naturels)
0..* De 0 à plusiers
1..* De 1 à plusieurs
Le tableau suivant illustre les associations simples en indiquant leurs désignations, les classes
participantes et leurs cardinalités
35
Modélisation Conceptuelle & Organisationnelle
Généralisation/spécialisation :
C’est une relation d’héritage, dans laquelle les objets de l’élément spécialisé peuvent
remplacer les objets de l’élément général.
Le tableau suivant représente les associations de généralisation en indiquant la super classe et
la sous classe et leurs contraintes.
36
Modélisation Conceptuelle & Organisationnelle
37
Modélisation Conceptuelle & Organisationnelle
RG3: Un ou plusieurs apprenants peuvent assister à une ou plusieurs formations dans des
dates différentes.
RG4 : Un ou plusieurs formations peuvent contenir un ou plusieurs modules.
RG5 : Chaque module se compose de un ou plusieurs chapitres
RG6 : Un ou plusieurs utilisateurs peuvent envoyer une ou plusieurs réclamations
5. Diagrammes de collaborations
Boundary :
• Elles représentent l’interface entre l’acteur d’un cas d’utilisation et le système.
Contrôleur :
• Ces classes dirigent les activités entre les classes boundary et les classes métier
Métier :
Ce sont les classes décrites dans les cas d’utilisation qui représentent les données manipulées
lors des processus.
Le diagramme de collaboration de pilotage d’un PC à distance présenté ci-dessous explique
les messages échangés entre l’interface de pilotage de coté apprenant et l’apprenant aussi bien
entre l’interface de pilotage coté formateur et le formateur.
38
Modélisation Conceptuelle & Organisationnelle
39
Modélisation Conceptuelle & Organisationnelle
Les diagrammes de séquences représentent les interactions entre les objets en indiquant
la chronologie des séquences. Les diagrammes de séquences ajoutent une dimension
temporelle aux diagrammes de collaborations.
40
Modélisation Conceptuelle & Organisationnelle
41
Modélisation Conceptuelle & Organisationnelle
Nous présentons dans ce diagramme l’ajout d’une formation (La validation de l’ajout d’une
formation nécessite la vérification des champs saisis dans l’interface formation et ceux dans
l'interface payement).
1:Recuperer_infos_Personnel(id_Formateur)()
2:Recuperer_Liste_Formation(id_Formateur)()
3:Afficher_Profil()
4:Charger_page_demander()
loop(1,n) 5:Afficher_Formulaire_disponibilité()
10[!verif1]:Affichier("Date_Indisponible")() 9[!verif1]:Erreur()
12:Afficher_Formulaire_Formation() 11[verif1]:Disponible()
13:Saisir_Information_Formation(titre,description,module,payement...)()
14:Réaliser_payement()
16:Payementréalisé
15:Payementréalisé
17:Sauvgarder_Formation(titre,module,..)()
42
Modélisation Conceptuelle & Organisationnelle
43
Modélisation Conceptuelle & Organisationnelle
7. Diagramme d'états-transitions:
44
Modélisation Conceptuelle & Organisationnelle
La figure suivante illustre l’état de transition d’une instance de la classe « Pilotage d’un PC à
distance »
45
Modélisation Conceptuelle & Organisationnelle
Introduction
Dans la section précédente nous avons proposé une modélisation conceptuelle des
données et des traitements en se basant sur l’approche objet UML qui représente l’état de l’art
des langages de modélisation objet, il permet de modéliser la structure et le comportement
d’un système indépendamment de toute méthode ou langage de programmation.
La fiabilité de cette conception est notre porte vers un modèle organisationnelle et logique de
données efficace et confiant. Ainsi dans cette section nous allons présenter le modèle
organisationnel et logique de notre application.
1. Diagramme d’activités:
Le diagramme d’activité permet de mettre l’accent sur les traitements. Il est donc
particulièrement adapté à la modélisation du cheminement de flots de contrôle et de flots de
données. Il permet ainsi de représenter graphiquement le comportement d’une méthode ou le
déroulement d’un cas d’utilisation.
Les diagrammes d’activités sont relativement proches des diagrammes d’états-transitions dans
leur présentation, mais leur interprétation est différente.
Une activité représente une exécution d’un mécanisme, un déroulement d’étapes
séquentielles. Le passage d’une activité vers une autre est matérialisé par une transition.
Les transitions sont déclenchées par la fin d’une activité et provoquent le début immédiat
d’une autre.
Dans ce qui suit, nous présentons notre diagramme d’activité pour créer et gérer le profil du
formateur
La figure suivante illustre le déroulement séquentiel des traitements accomplis par un
formateur.
46
Modélisation Conceptuelle & Organisationnelle
47
Modélisation Conceptuelle & Organisationnelle
Nous avons utilisé dans notre cas la troisième stratégie d’héritage. Chaque classe fils
représente une relation (table).
48
Modélisation Conceptuelle & Organisationnelle
Module(id_Module, libelle_Module,#id_formation)
Enseignier_Formation(id_EF,Heure_Formation,# id_formateur)
Conclusion :
Dans cette partie, nous avons réalisé la modélisation organisationnelle et logique de notre
application. Cette modélisation nous a permis de dégager le modèle logique des données qui
sera exploité lors de l’implémentation. Ce modèle sera transformé en modèle physique de
données qui fera l’objet du chapitre suivant.
49
Chapitre III :
REALISATION
Réalisation
3.1 Introduction
Après avoir élaboré la conception de notre application, nous abordons dans ce chapitre le
dernier volet de ce rapport, qui a pour objectif d'exposer la phase de réalisation.
La phase de réalisation est considérée comme étant la concrétisation finale de toute la
méthode de conception.
Nous menons tout d’abord une étude technique où nous décrivons les ressources logicielles
utilisées dans le développement de notre projet. Nous présentons en premier lieu notre choix
de l’environnement de travail, où nous spécifions l’environnement matériel et logiciel qu‘on a
utilisé pour réaliser notre application puis nous détaillons l’architecture, aussi nous
présentons quelques interfaces réalisées pour illustrer le fonctionnement de quelques activités
du système.
50
Réalisation
Java
Java est un langage de programmation informatique orienté objet. Java permet de
développer des applications client-serveur. Côté client, les applets sont à l’origine de la
notoriété du langage. C’est surtout côté serveur que Java s’est imposé dans le milieu de
l’entreprise grâce aux servlets, et aux JSP (JavaServer Pages)[8]
Jsp :
JSP est l’acronyme de Java Server Page. C’est une technologie java qui permet la
génération des pages web dynamiques.
La technologie JSP permet de séparer la présentation sous forme de code HTML et les
traitements sous formes de classes [1].
La technologie JSP possède plusieurs avantages dont nous pouvons cituer:
L'utilisation de Java par les JSP permet une indépendance de la plate-forme d'exécution
mais aussi du serveur web utilisé.
La séparation des traitements et de la présentation : la page web peut être écrite par un
designer et les tags Java peuvent être ajoutés ensuite par le développeur. Les traitements
peuvent être réalisés par des composants réutilisables (des Java beans).
Les JSP sont basées sur les servlets : tout ce qui est fait par une servlet pour la génération
de pages dynamiques peut être fait avec une JSP.
51
Réalisation
JavaScript :
Le JavaScript est un langage informatique utilisé dans le développement des pages web [2].
Ce langage a la particularité de s'activer sur le poste client, Autrement dit,c'est votre
ordinateur qui va recevoir le code et qui devra l'exécuter. C'est en opposition à d'autres
langages qui sont activé côté serveur. L'exécution du code est effectué par votre navigateur
internet tel que Firefox ou Internet Explorer.
Action Script
ActionScript est le langage de programmation utilisé au sein d'applications clientes (Adobe
Flash, Adobe Flex).
Ce langage permet d'ajouter de l'interactivité aux animations Flash, en répondant aux actions
de l'utilisateur et les différents objets multimédias (images, son, vidéo…).
Ce langage est orienté objet et permet le développement de la partie dynamique de
l’application [5].
L'une des particularités d'ActionScript, par rapport aux autres langages web, est d'avoir
intégrer dans sa bibliothèque une API utilisant les Socket et les fichiers XML pour transférer
l'information entre un serveur et ses clients Flash de façon automatique sans action de la part
de l'utilisateur. Ceci permet la conception d'une application multi-utilisateurs en temps réel
Xml
XML est l’acronyme de eXtensible Markup Language langage extensible de
balisage. C’est un langage informatique de balisage générique,il sert essentiellement à
stocker/transférer des données de type texte unicode structurées en champs arborescents. Ce
langage est qualifié d’extensible car il permet à l’utilisateur de définir les balises des
éléments. L’utilisateur peut multiplier les espaces de nommage des balises et emprunter les
définitions d’autres utilisateurs [4].
52
Réalisation
MXML
MXML, un langage de description développé par Macromedia, puis repris par Adobe
Systems pour la plateforme Adobe Flex. Il est dérivé du XML et permet de décrire la
présentation des interfaces utilisées dans le cadre du développement des clients riches ou RIA
(Rich Internet Application). L'interactivité est créée par l'utilisation d'ActionScript 3.0 [6].
MySQL
MySQL(My Structured Query Langage-Langage de requêtes structuré) est un système de
gestion de bases de données relationnelles dédiées Open source. Il est très rapide, fiable et
facile à utiliser et gratuit.il a été développé à l’origine pour gérer des très grandes bases de
données beaucoup plus rapidement que des solutions déjà établies. Il offre un ensemble de
fonctionnalités large et riche. Sa rapidité et sa sécurisation en font un outil idéal pour les
applications internet [7].
StarUML
C’est un logiciel de modélisation UML open source sous une licence modifiée de GNU GPL
.L'objectif de ce projet est de se substituer à des solutions commerciales comme IBM Rational
Rose ou Borland Together. StarUML gère la plupart des diagrammes spécifiés dans la norme
UML 2.0.
Flex Builder3:
Flex est une solution de développement créée par Macromedia en 2004 puis reprise
par Adobe en 2006, permettant de créer et de déployer des applications Internet riches (RIA)
multiplate-formes grâce à la technologie Flash et particulièrement son lecteur. Son modèle de
programmation fait appel à MXML (basé sur XML) et ActionScript 3.0.La technologie Flex
produit un fichier .swf intégré dans une page html [9].
Eclipse (europa)
C’est un projet de la Fondation Eclipse visant à développer tout un environnement de
développement libre, extensible, universel et polyvalent.
Son objectif est de produire et fournir divers outils gravitant autour de la réalisation de
logiciel, englobant les activités de codage logiciel proprement dites (avec notamment
53
Réalisation
Adobe Dreamweaver8
C’st un logiciel de type éditeur de site web, il utilise les derniers standards et langages de
programmation web en date (HTML, PHP, CSS, Javascript, etc.). C’est un logiciel de type
WYSIWYG (What you see is what you get), c’est-à-dire que ce que vous voyez dans la
fenêtre de création de Dreamweaver, en mode création graphique, est le résultat que vous
obtiendrez réellement à l’écran. Adobe Dreamweaver permet la conception,
54
Réalisation
55
Réalisation
mot_pass varchar(50)
date_nais Date
email varchar(50)
tel int(15)
pays varchar(50)
grade varchar(50)
specialite varchar(50)
Apprenant id_app int(10)
nom varchar(50)
prenom varchar(50)
sex varchar(20)
pseudo varchar(50)
mot_pass varchar(50)
date_nais Date
email varchar(50)
tel int(15)
pays varchar(50)
niveau_etude varchar(50)
diplôme varchar(50)
56
Réalisation
objet varchar(50)
msg_reclam text
rep_reclam text
#id_formateur int(10)
Assister_formation id int(10)
prix_assister float(5)
#id_app int(10)
#id_formation int(10)
Enseigner_formation Id int(10)
prix_animer float(5)
#id_formateur int(10)
#id_formation int(10)
57
Réalisation
Interface Principale
Utilisateur Administrateur
Consulter la liste
des réclamations
Animer une Assister une
envoyées
formation formation
Conversation Conversation
textuelle textuelle
Consulter la liste
des apprenants
Activer Activer
audio/vidéo audio/vidéo
Paramétrer le Paramétrer le
pilotage pilotage Supprimer un
apprenant
Consulter la liste
des formateurs
Consulter
Consulter
les
les
nouveautés
nouveautés
Envoyer Supprimer un
Envoyer réclamation formateur
réclamation
58
Réalisation
59
Réalisation
3.4.2 Architecture
L’architecture de notre application est de type client-serveur, où un ordinateur interagit avec
d’autres sur Internet.
Comme nous l’avons mentionné précédament, notre application est composée de trois parties:
une partie pour la gestion des formations et des apprenants developpé en
jsp/servlet/javaBeans, une partie pour le salon de formation developpée
Flex(MXML,ActionScript) et une partie pour le pilotage d’un PC à distance dont nous avons
adapté des outils open souces comme VNC viewer et VNC server.
Donc nous déduisaons qu’on a besoin :
D’un serveur d’application(ApacheTomcat): utilisé comme un serveur d’application
pour la partie gestion des formations et des utilisateurs.
D’ un serveur de streaming(Red5): qui se charge de diffuser l'ensemble des informations
Multimedia (video, micro, slides) à l'ensemble des participants.
D’un serveur base de données MySQL: se charge au stockage des données.
D’un client lèger: un navigateur web(InternetEplorer,GoogleChrome..)
Dans la realisation de notre projet, nous avons opté pour une architecture MVC afin de
garantir une assurance de la maintenabilité, la modularité de l’application et la rapidité de
développement.
MVC littéralement Modèle Vue Contrôleur est une architecture qui organise l'interface
Homme-Machine d'une manière à ce que le développement puisse se faire en couches
indépendantes. Il impose la séparation entre les données, la présentation et les traitements, ce
qui donne trois parties fondamentales dans l'application finale: le modèle de données, le
contrôleur et la vue.
Couche Modèle
Permet d'enregistrer les données, de les récupérer, de les lister, de les supprimer, et de les
mettre à jour.
Couche Vue
La vue correspond à l'interface avec laquelle l'utilisateur interagit. Sa première tâche est de
présenter les résultats renvoyés par le modèle. Sa seconde tâche est de recevoir toutes les
actions de l'utilisateur (clic de souris, sélection d'une entrée, boutons, etc). Ces différents
événements sont envoyés au contrôleur, elle se contente d'afficher les résultats des traitements
effectués par le modèle et d'interagir avec l'utilisateur.
60
Réalisation
Couche Contrôleur
Le contrôleur prend en charge la gestion des événements de synchronisation pour mettre à
jour la vue ou le modèle et les synchroniser. Il reçoit tous les événements de l'utilisateur et
enclenche les actions à effectuer. Si une action nécessite un changement des données, le
contrôleur demande la modification des données au modèle, et ce dernier notifie la vue que
les données ont changée pour qu'elle se mette à jour.
La figure suivant represente l’architecture de notre application.
2: La requête est prise en charge par la servlet faisant office de contrôleur. Le contrôleur
traite cette requête à l’aide de la couche modèle (javaBeans) qui envoie la requête au serveur
de base de données.
4: La JSP génère la réponse qui est renvoyée par le serveur d’application au client
61
Réalisation
Pour entrer au salon de formation il faut que l’utilisateur envoie une requête HTTP au serveur
d’application
5: Après validation de ces informations et création du profil, l’utilisateur sera redirigé vers
l’interface de son profil.
10. Le serveur red5 partage ces flux aux autres utilisateurs. Ce serveur utilise un objet
NetConnection10 qui relie l’application cliente au serveur de streaming. Cette NetConnection
va ensuite permettre de transférer plusieurs objets NetStream11 qui correspondent aux
différents flux de streaming.
9
L’ensemble des fichiers actions script et Mxml compilées donnent naissance à une fichier SWF peuvent être
intégré dans une page HTML
11
NetStream(package flash.net) : Il s'agit de la classe qui permet de manipuler le flux Video.
62
Réalisation
requêtes|réponses qui eux même contiennent des données pré-traitées sous forme de
JavaBeans (instances d'objet java), ou de type simple.
Pour la partie salon développé en Flex :
Couche Vue: Représentée par MXML, langage de description des composants graphiques
de l’interface.
Couche Contrôler : Représentée par l’action script qui est un langage de Programmation
Oriente Objet d’ Adobe assignant aux objets graphiques leurs fonctions et leurs
interconnexions.
Couche Modèle: Des classes crées en action script qui interagit avec les contrôleurs.
Notre charte graphique est basée sur la technique des feuils de style CSS ce qui la rend facile
à manipuler :
63
Réalisation
• il vous suffira de changer les définitions de style figurant dans les feuilles de style CSS
pour que la présentation de notre site soit mis à jour.
• Le nombre de d’une page web ligne n’est pas statique (on peux changer le contenu
textuel et visuel du site et notre charte graphique reste stable et robuste.
64
Réalisation
À partir de cette interface, s’il est déjà inscrit, un utilisateur (formateur ou apprenant) pourra
se connecter. Il suffit d’entrer son login et son mot de passe et de choisir son profil
(apprenant ou formateur) et cliquer sur le bouton « login » pour ouvrir sa session.
Bien évidement, un nouveau utilisateur doit s’inscrire.
La figure ci-dessous présente l’interface de l’inscription d’un nouveau utilisateur de type
apprenant.
65
Réalisation
A partir de cette interface l’apprenant aura la possibilité de s’inscrire à des formations qui ont
déjà proposées en cliquant sur le bouton « ADD NEW TRAINING» .La figure 26 présente
l’interface des formations proposées
66
Réalisation
Une fois le formateur a choisit une date où la salle est occupée un message d’erreurs sera
affiché par le système.
Le formateur doit donc changer la date choisie afin de finaliser la création de sa formation
(voir figure 28).
68
Réalisation
69
Réalisation
70
Réalisation
3.5 Apports :
Ce projet de fin d’études nous a permis de se familiariser avec un certain nombre de
concepts tout en se basant sur nos connaissances acquises au cours de notre formation au sein
de notre institut.
Ainsi, le fait d’avoir travaillé avec nos encadreurs, les personnels de la société nous a mis sur
la voie professionnelle.
Notre projet de fin d’étude a été une occasion, pour développer et exercer nos capacités
d’observation, d’analyse, de conception, de développement et de rédaction.
Mettre en œuvre les notions et les connaissances acquises au sein des modules
« Méthodologie de conception des bases de données ».
Manipuler les logiciels MySql Server, FlexBuilder et Eclipse au cours du
développement de l’application.
Améliorer nos connaissances théoriques concernant la communication client/serveur.
Manipuler le serveur d’application RED5.
Etudier les architectures multicouches et réaliser l’importance du travail sur ce type
d’application dans le monde de programmation.
Apprendre à gérer un projet.
72
Réalisation
3.6 Evaluation
3.6.1 Bilan quantitatif
Le bilan quantitatif de notre projet est la récapitulation des volumes effectués pendant la
réalisation :
Nombre de tables dans la base de données : 14 tables
Nombre des classes : 9 classes.
Nombre de relation : 5 relations.
Nombre des interfaces:14 interfaces.
3.7 Conclusion:
Dans ce chapitre, nous avons pu présenter l’environnement et le processus de
développement. Nous avons exposé ainsi le résultat de développement à l’aide des aperçus
écran. Nous avons clôturé par une évaluation du travail réalisé.
73
Conclusion et Perspectives
Conclusion et Perspectives
Notre projet intitulé « Conception et réalisation d’une pateforme d’E-learning »
consiste à la conception et la réalisation d’une plateforme web destiné pour l’apprentissage en
ligne.
Contrairement à la majorité des travaux existants sur le marché qui offrent des fonctionnalités
limités et nécessitent un effort de configuration considérable, nous avons réalisé un système
qui permet à la fois de gérer des formations, simuler un salon de formation virtuel, et donner
la possibilité aux formateurs de guider leurs apprenants à l’aide du pilotage de leurs PC à
distance.
En ce qui concerne la démarche, nous avons en premier lieu effectué une phase d’étude des
différents outils existants. En deuxième lieu nous avons spécifié notre application pour
discerner les fonctionnalités .En troisième lieu, nous avons procédé à sa conception ainsi
qu’aux choix technologiques pour sa réalisation. Enfin, nous l’avons mise en œuvre.
Toutes les fonctionnalités décrites dans le cahier des spécifications fonctionnelles ont été
développées et validées. Néanmoins, notre projet pourra être amélioré par l’ajout d’autre
fonctionnalités comme :
76
Conclusion et Perspectives
Il est important à noter que la réalisation de ce projet noua a été bénéfique sur tous les plans.
Sur le plan technique, ce projet nous a été une bonne occasion pour découvrir et maitriser la
technologie Flex, d’approfondir nos connaissance sur le plan des nouvelles technologies de
communications et hébergement des applications en ligne.
Sur le plan humain, ce projet a été une véritable occasion de vivre de prés l’expérience du
travail au sein d’une société, qui exige la ponctualité et l’intégration dans un groupe de travail.
Ce qui nous a permis d’améliorer nos capacités de communication et de nous adapter à la vie
professionnelle. Nous avons fait de notre mieux pour bien laisser une bonne impression sur
notre discipline, nos qualités et nos compétences techniques vis à vis du staff technique de la
société Génie consulting et présenter un travail à la hauteur de la formation qui nous avons
eu au sein de l'ISIMS.
77
Glossaire
Glossaire
MVC :Modele-Vue-Controleur
78
Bibliographie & webliographie
[1] http://www.jmdoudoux.fr/java/dej/chap-jsp.htm
[2] http://glossaire.infowebmaster.fr/javascript/
[3] http://membres.multimania.fr/ahmedfarag/documents/ArticlesFrancais/XML.pdf
[4] www.commentcamarche.net/contents/xml/xmlintro.php3
[5] http://livedocs.adobe.com/flash/9.0_fr/main/flash_as3_programming.pdf
[6] http://fr.inforapid.org/index.php?search=UIML
[7] http://pages-web.com/docs/phpmyadmin/Documentation.fr.html
[8] http://www.kernix.com/developpement/26-developpement-java
[9] http://fr.wikipedia.org/wiki/Rich_Internet_Application
[10] http://fr.wikipedia.org/wiki/Eclipse_(logiciel)
[11] http://tomcat.apache.org/
79
Titre : « Conception et réalisation d’une plateforme d’E-learning »
Résumé :
Mots clés : Apprentissage en ligne, pilotage à distance, architecture MVC, MXML, Flex,
RED5, Streaming
Abstract :
This project consists in installing a platform of E-learning .The objective of our final project
is to develop a web interface to training fair
This work was developed within Genie-Consulting company and it is principally intended to
trainers desiring animate a distance learning and to learners to attend a cherchants teletraining.
Keywords : E-learning, remote control , architecture MVC, MXML, Flex, RED5, Streaming
:اﻟﺨﻼﺻﺔ
اﻟﮭﺪف ﻣﻦ ھﺬا اﻟﻤﺸﺮوع ﻟﺨﺘﻢ اﻟﺪروس ھﻮ ﺗﺼﻤﯿﻢ وﺑﺮﻣﺠﺔ.ھﺬا اﻟﻤﺸﺮوع ﻣﻮﺟﮫ ﻹﻧﺠﺎز ﻣﻨﻈﻮﻣﺔ ﻟﻔﺎﺋﺪة اﻟﺘﻌﻠﻢ ﻋﺒﺮ اﻻﻧﺘﺮﻧﺖ
.ﻣﻮﻗﻊ ﻟﻐﺮﻓﺔ ﺗﻌﻠﻢ ﻋﻦ ﺑﻌﺪ
ھﺬا اﻟﻤﺸﺮوع ﺗﻢ إﻧﺠﺎزه ﻟﻔﺎﺋﺪة ﺷﺮﻛﺔ ﺟﻨﻲ ﻛﻮﻧﺴﻠﺘﯿﻨﻎ وھﻮ ﻣﻮﺟﮫ ﺑﺎﻷﺳﺎس إﻟﻰ اﻟﻤﺪرﺳﯿﻦ اﻟﺬﯾﻦ ﯾﺮﻏﺒﻮن ﻓﻲ ﺗﻨﺸﯿﻂ دروس
.ﻋﻦ ﺑﻌﺪ وإﻟﻰ اﻟﻤﺘﻌﻠﻤﯿﻦ اﻟﺬﯾﻦ ﯾﺒﺤﺜﻮن ﻋﻦ ﻣﺜﻞ ھﺬا اﻟﻨﻤﻂ ﻣﻦ اﻟﺪروس