PROJET Design Patterns

Description de projet 

Le e-learning

                                                                                                                               









I-Introduction
Le e-learning consiste à utiliser les ressources de l’informatique et de l’Internet pour acquérir, à distance, des connaissances. Ce type d’apprentissage, constituant une des facettes du e-learning, se différencie par l’utilisation de la technologie Web. Ces applications et ces contenus sont dispensés via un ordinateur relié à un intranet ou à Internet. Les contenus constituent une étape plus avancée que l’utilisation du CD-Rom ou les cours sont dispensés en salle. Le e-learning est un domaine révolutionnaire, un changement dans le champ de l’apprentissage. Les instructions qu'il offre en ligne peuvent être fournies n’importe quand et n’importe où par une variété de solutions d'apprentissages électroniques. Quand on parle de e-learning, il ne faut pas oublier une partie importante que sont les apprenants. Est-ce que les objectifs d’apprentissage ont été basés sur les besoins du public cible ?
Public cible :
Cette application Web est particulièrement destinée aux enseignants et aux étudiants.
Utilité :
Ce projet est une application Web permettant à des enseignants de se constituer une base d'exercices pour les TDs et TPs. Le projet devra permettre à un enseignant de rentrer des exercices, d'éditer à partir de ces exercices une feuille de TD au format PDF. Le TD correspondant sera aussitôt disponible au format HTML ou PDF pour les étudiants.
Rapport Design Patterns 2011/2012
4
II -Analyse et conception
1.1 Cahier de Charge
Le projet devra permettre à un enseignant de rentrer des exercices, d'éditer à partir de ces exercices une feuille de TD au format PDF. Le TD correspondant sera aussitôt disponible au format HTML ou PDF pour les étudiants. Le projet est une application Web comportant trois zones distinctes.
1. Une zone de visualisation où n'importe quel étudiant peut consulter les TDs/TPs propres à
un enseignement aux formats HTML et PDF.
2. Une zone d'édition qui permet à n'importe quel enseignant d'ajouter de nouveau exercices à la base, de créer de nouveaux TDs/TPs à partir de ces exercices, et enfin, de visualiser les
TDs/TPs obtenus.
3. Une zone d'administration qui permet de changer/mettre à jour les mots de passe et d'effectuer la configuration.
 Voici une liste des fonctionnalités obligatoires :
 Authentification des différents acteurs grâce à des utilisateurs stockés dans une base de données.
 Permettre à un enseignant d'uploader des exercices sous différents format.
 Donner la possibilité d’ajouter des pièces jointe à un exercice (Documentation, codes, …).
 Permettre à un enseignant de déclarer un nouvel enseignement ; matière (ex: POO avancée), année (ex: 2011/2012), section (ex: Master).
 Permettre à un enseignant de rechercher des exercices par mot-clé pour créer un TD/TP dans un enseignement donné.
 Permettre à un enseignant de créer et de lier une correction à un TD/TP donné.
Rapport Design Patterns 2011/2012
5
 Permettre à un enseignant de créer des sujets de projet.
 Appliquer des feuilles de styles uniques pour un ensemble de TD.
 Générer les index permettant de parcourir le site jusqu'à l'enseignement voulu.
 Organiser un ensemble de TD/TP pour un enseignement donné.
 Voici une liste des fonctionnalités optionnelles :
 Possibilité d'associer une FAQ pour chaque exercice.
 Avoir un petit éditeur sur une page Web qui permette de saisir directement un exercice au lieu de le uploader.
 Permettre à un enseignant de créer un QCM à partir de questions déjà rentrées (recherche par mot-clé également).
Rapport Design Patterns 2011/2012
6
1.2 Conception préliminaire avec UML
1.2.1 Diagramme des cas d’utilisation
Rapport Design Patterns 2011/2012
7
1.2.2 Modèles dynamiques
Diagrammes de séquences enseignant :
Rapport Design Patterns 2011/2012
8
Diagrammes de séquences étudiant :
Rapport Design Patterns 2011/2012
9
Diagrammes de séquences administrateur :
Rapport Design Patterns 2011/2012
10
Diagrammes d’états-transitions
Rapport Design Patterns 2011/2012
11
Diagrammes d’activités
Rapport Design Patterns 2011/2012
12
1.2.3 Diagramme de classe
Rapport Design Patterns 2011/2012
13
Application des Design-Patterns
Après la conception préliminaire, « il se peut » que vous avez rencontré des problèmes de création, de structure ou de comportement, auxquels vous trouverez surement des solutions en utilisant un ou plusieurs Design-patterns. Pour chaque design pattern adopté, il faut justifier l’utilisation :
Avant
Problème
Solution
on fait une construction de l'objet enseignement à partir d’objet enseignant
L'objet enseignement et complexe car il est composé par deux outre objet Exercice et sujet_ projet
Pour faciliter la création de l'objet enseignement on utiliser le Design Pattern Builder
Avant
Problème
Solution
l'enseignement et créer des exercices et les TP_TP contient des exercices
problème de hiérarchie
Pour éviter la hiérarchie on utiliser la Design Pattern composite
Avant
Problème
Solution
On peut créer un objet TD TP avec un pièce joint , donc l’objet pièce joint et comme un décorateur de l’objet TP_TD
La redéfinition des méthode de l'objet pièce joint sans utiliser l’héritage
Pour éviter l'héritage on utilise le Design Pattern Décorateur
Rapport Design Patterns 2011/2012
14
Diagrammes de classe finale :
Rapport Design Patterns 2011/2012
15
III –Réalisation
 Outil utilisé
1 Système de gestion de base de données MySQL
MySQL est le serveur de base de données le plus utilisé
dans le monde. Son architecture logicielle le rend
extrêmement rapide et facile à personnaliser.
Les principaux avantages de MySQL sont sa rapidité, sa robustesse et sa facilité d'utilisation et d'administration. Un autre avantage majeur de MySQL est sa documentation très complète et bien construite.
MySQL est un serveur de bases de données relationnelles SQL développé dans un souci de performances élevées en lecture, ce qui signifie qu'il est davantage orienté vers le service de données déjà en place que vers celui de mises à jour fréquentes et fortement sécurisées. Il est multi-thread et multiutilisateurs.
2 Langage de programmation orienté objet PHP5.
PHP (sigle de PHP: Hypertext Preprocessor) est un langage de scripts libre principalement utilisé pour produire des pages Web dynamiques
via un serveur HTTP, mais pouvant également fonctionner comme
n'importe quel langage interprété de façon locale, en exécutant les programmes en ligne de commande. PHP est un langage impératif
disposant depuis la version 5 de fonctionnalités de modèle objet
complètes. En raison de la richesse de sa bibliothèque, on désigne parfois PHP comme une plate-forme plus qu'un simple langage.
3 Moteur de Template Smarty.
Smarty est un moteur de template pour PHP. Plus précisément, il facilite la séparation entre la logique applicative et la présentation. Cela s'explique plus
Rapport Design Patterns 2011/2012
16
facilement dans une situation où le programmeur et le designer de templates jouent des rôles différents, ou, comme la plupart du temps, sont deux personnes distinctes. Les avantages de Smarty :
 La séparation des deux codes permet une meilleure visibilité dans le code. Idéal pour le travail d'équipe.
 On peut alors toucher ou modifier un des deux fichiers sans que cela ait un impact sur l'autre.
 La mise en cache est proposée et permet ainsi d'économiser les ressources des serveurs avec la possibilité de configurer le tout.
4 Langage de programmation JavaScript.
JavaScript est un langage de programmation de scripts principalement utilisé dans les pages web interactives mais aussi côté serveur1. C'est un langage orienté objet à prototype, c'est-à-dire que les bases du langage et ses 5 La technologie Ajax
Asynchronous Javascript And XML (AJAX) : il désigne un nouveau type de conception de pages Web permettant l'actualisation de certaines données d'une page sans procéder au rechargement total de cette page. Cette méthode de conception repose sur la combinaison de
technologies déjà existantes : HTML/CSS, Javascript/DOM, XML et les requêtes HTTP. 6 Les feuilles de style CSS.
Les feuilles de styles (en anglais "Cascading Style Sheets", abrégé CSS) sont un langage qui permet de gérer la présentation d'une page Web. Le langage CSS est
principales interfaces sont fournies par des objets qui ne sont pas des instances de classes, mais qui sont chacun équipés de constructeurs permettant de générer leurs propriétés, et notamment une propriété de prototypage qui permet d'en générer des objets héritiers personnalisés.
Rapport Design Patterns 2011/2012
17
une recommandation du World Wide Web Consortium (W3C), au même titre que HTML ou XML.
Les styles permettent de définir des règles appliquées à un ou plusieurs documents HTML. Ces règles portent sur le positionnement des éléments, l'alignement, les polices de caractères, les couleurs, les marges et espacements, les bordures, les images de fond, etc. 7 HTML
L’Hypertext Markup Language, généralement abrégé HTML, est le format de données conçu pour représenter les pages web. C’est un langage de balisage qui permet d’écrire de l’hypertexte, d’où son nom. HTML permet également de structurer sémantiquement et de mettre en forme le contenu des pages, d’inclure des ressources multimédias dont des images, des formulaires de saisie, et des éléments programmables tels que des applets.
Il permet de créer des documents interopérables avec des équipements très variés de manière conforme aux exigences de l’accessibilité du web. Il est souvent utilisé conjointement avec des langages de programmation (JavaScript) et des formats de présentation (feuilles de style en cascade). HTML est initialement dérivé du Standard Generalized Markup Language (SGML).
8 Editeur de code Dreamweaver CS4
Logiciel créé par Macromedia (et géré maintenant par Adobe) permettant la conception de sites web. Dreamweaver fonctionne en mode WYSIWYG ou en mode code et dispose d'un Client FTP permettant le transfert des pages créées sur le serveur hébergeant le site web. 9 Photoshop CS4
Photoshop est un logiciel de retouche, de traitement et de dessin assisté par ordinateur édité par Adobe. Il est principalement utilisé pour le traitement de photographies numériques, mais sert également à la création d’images
Photoshop est un logiciel travaillant sur images matricielles (également
Rapport Design Patterns 2011/2012
18
Page d'authentification Session (Administrateur, enseignant, étudiant) Pour chaque session on vérifiant le type d’authentification, et on le redirige :
Page consulté par l'étudiant pour voir les TDs/TPs de chaque enseignant
Rapport Design Patterns 2011/2012
19
Page d’inscription des étudiants
Page consulté par enseignant permet d’afficher les TDs/TPs de l’enseignant connecté
Rapport Design Patterns 2011/2012
20
Page consulté par enseignant pour ajouter des exercices pour un TD/TP
La modification des exercices
Rapport Design Patterns 2011/2012
21
Page consulté par l’enseignant pour gérer les matières
La suppression des TDs/TPs par l‘enseignant.
Rapport Design Patterns 2011/2012
22
Gestion des utilisateurs par l’administrateur
Gestion des groupes des utilisateurs (étudiant, enseignant, administrateur)
Rapport Design Patterns 2011/2012
23
CONCLUSION
Durant la réalisation de ce projet on a pu suivre les différentes étapes de la conception et de la réalisation de ce travail qui fait l'objet d'une démarche de réalisation progressive .une démarche qui a commencé par l'établissement d'un cahier de charge et qui s'est soldée à la fin par la réalisation d’une application. En fin, nous sommes tenus à préciser que nous estimons avoir réussi à exploiter nos connaissances, à améliorer notre savoir être ainsi que notre savoir-faire, et comprendre certaines règles du jeu qui assure la réussite dans le travail en équipe. On a également pu résoudre plusieurs problèmes auxquels on a été confronté.
Rapport Design Patterns 2011/2012
24
VI- WEBOGRAPHIE http://abrillant.developpez.com/tutoriel/java/design/pattern/introduction/ public.enst-bretagne.fr/~beugnard/cours/DP.pdf www.dofactory.com/Patterns/Patterns.aspx/ www.developpez.net
http://php.net/manual/
VII- BIBLIOGRAPHIE