Projet-e-learning-PHP

Projet e-learning PHP

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,










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.

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

1.2 Conception préliminaire avec UML

1.2.1 Diagramme des cas d’utilisation


1.2.2 Modèles dynamiques

Diagrammes de séquences enseignant :

Diagrammes de séquences étudiant :

Diagrammes de séquences administrateur :

Diagrammes d’états-transitions

Diagrammes d’activités

1.2.3 Diagramme de classe


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
on fait une construction de l'objet enseignement à partir d’objet enseignant

Problème
L'objet enseignement et complexe car il est composé par deux outre objet Exercice et sujet_ projet

Solution
Pour faciliter la création de l'objet enseignement on utiliser le Design Pattern Builder


Avant
l'enseignement et créer des exercices et les TP_TP contient des exercices

Problème
problème de hiérarchie

Solution
Pour éviter la hiérarchie on utiliser la Design Pattern composite


Avant
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

Problème
La redéfinition des méthode de l'objet pièce joint sans utiliser l’héritage

Solution
Pour éviter l'héritage on utilise le Design Pattern Décorateur


Diagrammes de classe finale :

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

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.

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

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

Page d’inscription des étudiants
Page consulté par enseignant permet d’afficher les TDs/TPs de l’enseignant connecté
Rapport Design Patterns 2011/2012

Page consulté par enseignant pour ajouter des exercices pour un TD/TP
La modification des exercices

Page consulté par l’enseignant pour gérer les matières
La suppression des TDs/TPs par l‘enseignant.

Gestion des utilisateurs par l’administrateur
Gestion des groupes des utilisateurs (étudiant, enseignant, administrateur)

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

Télécharger Rapport Complet