plateforme e-learning php

26

Upload: saad-zerhouni

Post on 05-Dec-2014

2.515 views

Category:

Education


3 download

DESCRIPTION

Code source disponible ici : http://www.mediafire.com/download/cuk14ead1zd6xj6/e-learning%20php.zip Une plateforme e-learning qui offre aux étudiants la possibilité de passer des séries de questionnaires déposer par les professeurs d'un établissement en passent par le cloud enligne. cette plateforme offre une interface d'administration qui gère l'ensemble des enseignants et étudiants facilement

TRANSCRIPT

Page 1: Plateforme e-learning PHP

CONTACT : [email protected] | [email protected] | [email protected] | [email protected]

PROJET PHPPlatforme des quetionnaires

ÉCOLE NATIONALE DES SCIENCES APPLIQUÉES

KENITRA

Réalisé par

Pr. Abdellah ABOUABDELLAH

Encadré par

Ichioui AyoubSikal Nawfal Jadli Toufik Zerhouni Saad

Page 2: Plateforme e-learning PHP

Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013

1 | P a g e

Remerciements

En préambule à ce rapport, nous souhaitons adresser nos remerciements les plus sincères aux personnes qui nous ont apporté leur aide et qui ont contribué à l'élaboration de ce projet ainsi qu’à la

réussite de cette formidable année universitaire.

Nous tenons aussi à remercier le Mr. Abdellah ABOUABDELLAH, Professeur de technologies web au sein de l’école nationale des

sciences appliquées de Kenitra, de nous avoir très bien appris et instruit le bagage nécessaire, ainsi que pour ses efforts colossales et ses

conseils avisés qui nous ont permis de donner naissance à ce projet.

Page 3: Plateforme e-learning PHP

Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013

2 | P a g e

Dédicaces

On dédie ce rapport modeste à nos parents pour leurs soutient et tous leurs sacrifices durant nos études et notre

formation. A toute l’équipe des enseignants de l’école nationale des

sciences appliquées de Kenitra pour leurs grands efforts dont ils font toujours preuve.

A l’équipe administrative de l’école qui lutte acharnement pour nous offrir un espace éducatif et des conditions de

travail de normes internationales.

Page 4: Plateforme e-learning PHP

Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013

3 | P a g e

Abstract

Pour évaluer leurs étudiants les professeurs des écoles et des

universités ont souvent recours à des méthodes classiques telle une

évaluation écrite, orale ou un questionnaire.

Cela sans doute requiert du temps et de l’effort des deux parties :

étudiant et professeur. Pour contrer ces problèmes on a créé une

application à l’aide de PHP et MySQL. Cette application a pour but de

numériser la pratique de l’évaluation classique en implémentant une

application qui sera un pont entre les professeurs de différentes

matières et les élèves, cette application est divisée en trois (3) interfaces

essentielles : Interface professeur qui offrira aux profs de créer leurs

questionnaires selon des niveaux de difficultés ainsi que le niveau

d’étude des élèves. Une interface étudiant : Qui donnera un accès aux

questionnaires proposés par les profs afin d’y répondre et avoir une

note, et Finalement une interface Admin qui permettra la validation des

membres et des questionnaires afin de contrer les fraude, en plus de

quelques interfaces secondaires tel que l’inscription.

Pour sauvegarder les réponses, les membres ainsi que les questionnaires

afin de les consulter après on a eu recours au fameux SGBD MySQL.

Page 5: Plateforme e-learning PHP

Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013

4 | P a g e

Résumé du travail Le travail consiste à réaliser une application de génératrice de formulaire. Cette

application a été entièrement codé en PHP et MySQL ce qui permettra sa portabilité

et qui va faciliter l’accès aux données n’importe quand et n’ importe où.

Cette application se divise en trois parties majeures :

Espace professeurs

Espace étudiant

Espace administration

Donc un professeur, après s’être enregistré attendra sa validation auprès de

l’administrateur qui après la vérification de la validité des informations fournies le

fera à l’aide de son panel, pourra créer à volonté des questionnaires dont il pourra

contrôler la difficulté pour évaluer différents élèves avec différents niveau. Ces

questionnaires ainsi qu’aux réponses correctes seront stockées dans une base de

données implémentée sous MySQL.

Quant aux Etudiants inscrits, une fois connectés via le panel d’authentification

pourrons voir les différents questionnaires disponibles pour son niveau, qu’il faut y

répondre. Les réponses et le score de l’étudiant sera ensuite stocké dans la base de

données.

Finalement l’administrateur aura accès à un panel qui lui servira de télécommande

qui validera les questionnaires, les étudiants, les professeurs et bien d’autres

fonctionnalités utiles pour le bon fonctionnement de l’application et la limitation des

fraudes et des anomalies.

Page 6: Plateforme e-learning PHP

Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013

5 | P a g e

Table des matières

Remerciements ................................................................................................... 1

Dédicaces ............................................................................................................. 2

Abstract ................................................................................................................ 3

Résumé du travail............................................................................................... 4

Chapitre 1 : Besoins fonctionnels et conduite de projet ............................ 6

Les besoins fonctionnels : .................................................................................................. 6

Les besoin non-fonctionnels : ........................................................................................... 6

Chapitre 2 : Conception et modélisation de la base de données ............10

1) Diagramme de cas d’utilisation ............................................................................... 10

2) Diagramme de séquence .......................................................................................... 11

3) Diagramme d’activité ................................................................................................ 14

4) Règles de gestion et diagramme de classe ....... Error! Bookmark not defined.

5) Modèle relationnelle de données ........................................................................... 17

a) MCD :......................................................................................................................... 17

b) MLDR ........................................................................................................................ 18

Chapitre 3 : Réalisation ...................................................................................19

Outils de travail : ................................................................................................................ 19

Code : ................................................................................................................................... 22

Page 7: Plateforme e-learning PHP

Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013

6 | P a g e

Chapitre 1 : Besoins fonctionnels et conduite de projet

Les besoins fonctionnels Il s'agit des fonctionnalités du système. Ce sont les besoins spécifiant un comportement d'entrée / sortie du site :

o Enregistrer un étudiant o Enregistrer un professeur o Entrer une matière o Définir un niveau de difficulté o Définir un niveau de scolarité o Créer un questionnaire o Entrer les questions pour un questionnaire o Entrer les réponses o Définir une réponse comme correcte o Un étudiant peut passer un questionnaire o Chaque évaluation de l’étudiant doit avoir une note o un professeur doit être défini par une matière et un niveau o un questionnaire est définit par une matière, un niveau et une difficulté o activer un compte o désactiver un compte o valider un questionnaire o désactiver un questionnaire o chiffrer les mots de passe o pouvoir uploader une image o supprimer un questionnaire o la suppression d’un questionnaire, implique la suppression de toutes

les questions qui y appartient. o La suppression d’une question, implique la suppression de toutes les

réponses qui y appartient.

Les besoin non-fonctionnels Connectivité :

o Établissement de la connexion à la base de donnée (SELECT, INSERT,

UPDATE et DELETE)

o Besoins de mot de passe - hashage

o Déconnexion : fermer la session de l’utilisateur.

Audit

o Vérification de l’existence des attributs avant l’exécution des requêtes.

Performance

o Temps de réponse : temps de reponse très court.

o Temps de traitement – temps de traitement optimiser.

Page 8: Plateforme e-learning PHP

Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013

7 | P a g e

Disponibilité

o Le site doit être disponible a tout moment et de n’importe quel source.

Intégrité

o La capture des erreurs – traitement conditionnels des pages web.

Compatibilité

o Compatible avec l’ensemble des navigateurs web.

Aptitude à la maintenance

o La conforme aux règles de normalisation de MERISE : ce qui offre une

capacité de maintenance assez important.

Conduit de projet :

o Planification prévisionnelle :

Decoupage du project :

Le partitionnement chronologique du projet est comme suit :

1- Etudes des besoins

2- Modélisation de la base de données

3- Réalisation des pages web en PHP

4- L’adaptation d’un design

Répartition des taches :

Chaque membre devait remplir une partie du projet bien précise

dans une durée limité :

o 2 jours pour faire l’étude des besoins

o 3 jours pour la modélisation de la base de données

o 10 jours pour le codage des pages web

o 3 jours pour l’implémentation du design

Planning :

Le 15/04/2013 : rassemblement de tous les membres pour

mettre en place les phases de l’analyse et la réalisation du projet.

Le 19/04/2013 : début de la phase de l’étude des besoins.

Le 22 / 05 /2013 : analyse des résultats obtenu et début de la

modélisation de la base de données

Le 01/05 /2013 : entamer la partie du codage des pages PHP

Le 12/05/ 2013 : adaptation d’un design choisi

o Planification réelle :

Répartition chronologique du projet :

Page 9: Plateforme e-learning PHP

Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013

8 | P a g e

Vu que les besoins fonctionnel ont été défini par le professeur

encadrant dans la séance cour, on a donc juste eu a les

développé un peu plus et commencer la modélisation

directement.

1- Conception base de données

2- Codification des pages web

3- Intégration du design

Répartition des tâches :

A l’encontre de la différence de difficulté entre les taches une

nouvelle répartition s’est imposée :

o 4 jours pour la modélisation de la base de données

par un membre.

o 5 jours pour le codage des pages web par 2

membres.

o 4 jours pour l’implémentation du design par un

membre.

Planning :

Dû à quelques contraintes le planning c’est a subi un décalage

de quelque jours :

Le 26/04/2013 : réunion des membres

Le 05/05/2013 : début de la phase de modélisation de la base de

données.

Le 19/ 05 /2013 : entamer la partie du codage des pages PHP

o Analyse des écarts

Ecart sur les résultats souhaité :

Bien que le résultat soit satisfaisant vu qu’il remplit l’ensemble

des besoins décelé précédemment, il reste insatisfaisant.

Ecart sue la répartition des tâches :

Dû à l’intervention du professeur encadrant, où il a réalisé une

partie de la conception qui est l’analyse du besoin, notre

planification pour les la répartition des taches a dû s’adapter, et

vu que la quantité de travail n’est pas équitablement répartie sur

les différentes taches, une nouvelle répartition des membres

été nécessaire aussi.

Ecart du planning :

Notre planning de départ a été repoussé par une période de 2

semaines, vu que l’ensemble des membres de l’équipe été

occupé par des examens final avancé de sa date initial, ainsi que

le développement d’un autre projet dont la date de livraison été

déterminer après pour le 15/05/2013.

Page 10: Plateforme e-learning PHP

Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013

9 | P a g e

Page 11: Plateforme e-learning PHP

Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013

10 | P a g e

Chapitre 2 : Conception et modélisation de la base de données

1) Diagramme de cas d’utilisation

Etudiant – Admin

Passer un questionnaire

<<include>>

Authentification

Modifier profil

Deconnection

S'inscrire

<<include>>

Etudiant

<<include>>

Consulter un questionnaire

<<include>>

Valider

<<include>>

Creer un profil

Modifier un profil

Supprimer un profil

Admin

Prof – Admin

Authentification

Modifier profil

Deconnection

S'inscrire

<<include>>

Prof

<<include>>

Consulter ses propres questionnaires

<<include>>

Valider

<<include>>

Creer un profil

Valider un questionnaire

Modifier un profil

Supprimer un profil

AdminConsulter questionnaire de sa matiere

<<include>>

Ajouter questionnaire<<include>>

Page 12: Plateforme e-learning PHP

Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013

11 | P a g e

2) Diagramme de séquence

Etudiant

Authentification()

Reponse

Base de données

Etudiant

Modifier_Profil()

Reponse

Afficher_Questionnaire()

Reponse

Passer_Questionnaire()

Reponse

Deconnection()

Page 13: Plateforme e-learning PHP

Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013

12 | P a g e

Professeur

Authentification()

Reponse

Modifier_Profil()

Reponse

Ajouter_Questionnaire()

Reponse

Consulter_Propres_Questionnaire()

Reponse

Consulter_Questionnaires_matiere()

Reponse

Professeur

Base de données

Deconnection()

Page 14: Plateforme e-learning PHP

Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013

13 | P a g e

Admin

Authentification()

Reponse

Modifier_Profil_(Prof/Etudiant)()

Reponse

Valider_(Questionnaire/Prof/Etudiant)()

Reponse

Administrateur

Base de données

Deconnection()

Page 15: Plateforme e-learning PHP

Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013

14 | P a g e

3) Diagramme d’activité

Etudiant

Authentification

Echec

Choisir operation

Reussite

Modifier profilDeconnectionConsulter un questionnaire

Echec

Passer ou refaire un questionnaire Retour au menuAfficher les scores

Retour au menu

Page 16: Plateforme e-learning PHP

Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013

15 | P a g e

Professeur

Authentification

Echec

Choisir operation

Reussite

Modifier profilDeconnection

Echec

Afficher questionnaires meme matiere

Afficher questionnaires créés

Remplissage des questions

Ajouter un questionnaire

Retour au menu

Retour au menu Afficher les notes /questionnaire

Retour au menu

Page 17: Plateforme e-learning PHP

Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013

16 | P a g e

Admin

Authentification

Valider questionnaire /

admin / profModifier profil etudiant / prof

Echec

Choix

Supprimer questionnaire

Page 18: Plateforme e-learning PHP

Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013

17 | P a g e

4) Modèle relationnelle de données

a) MCD

Page 19: Plateforme e-learning PHP

Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013

18 | P a g e

b) MLDR

Etudiant (id, nom, prenom, pseudo, password, activation, id_niveau) Professeur(id, nom , prenom, pseudo, password ,email, image, id_niveau, id_matiere) Matiere (id,libelle,image) Niveau (id,libelle) Difficulte (id, libelle) Passer (id, id_etudiant, id_questionnaire, note) Questionnaire (id, libelle, id_matiere, id_niveau, id_prof, activation) Question (id, libelle) Reponse (id, libelle, etat)

Page 20: Plateforme e-learning PHP

Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013

19 | P a g e

Chapitre 3 : Réalisation

Outils de travail :

Dans cette partie nous allons détailler les différents outils utilisés pour la réalisation du projet. Nous avons utilisé le couple PHP/MySQL, et sans aucun doute eu besoin de HTML/CSS pour le développement du site, nous détaillerons dans les sous parties les raisons de ce choix.

PHP / MySQL : Nous avons choisi de développer le projet en langage PHP, car celui-ci est le langage universel pour le développement de site web dynamique, autant pour ses qualités comme langage de programmation ainsi que sa popularité extravagante. De plus MySQL est son complémentaire indispensable pour gérer tout trafic de donnée.

Pourquoi le choix du PHP et MySQL ?

Présentation : Le langage PHP est un langage de programmation web côté serveur, ce qui veut dire que c'est le serveur qui va interpréter le code PHP (langage de scripts) et générer du code HTML qui pourra être interprété par votre navigateur. Le PHP permet d'ajouter des fonctionnalités de plus en plus complexe, d'avoir des sites dynamiques, de pouvoir gérer une administration de boutique en ligne, de modifier un blog, de créer des réseaux sociaux... Le PHP fut créé en 1994 par Rasmus Lerdorf, c'est un langage libre et gratuit, avec une grande communauté mondiale.

Pourquoi PHP ?

Le PHP est rapide. Compilé en tant que module Apache, les temps d’exécution sont

très performants. A condition toutefois de l’utiliser sur une plateforme Linux.

Contrairement aux CGI, les scripts PHP sont donc exécutés par le serveur web, sans

ressources supplémentaires. Pour des sites très fréquentés, le PHP s’avère plus

performant que l’ASP.

Le PHP est d’abord un langage facile à apprendre. Il reprend assez fidèlement la

syntaxe du C, ce qui rend sa prise en main par un développeur qui connait ce langage

quasi immédiate. De plus c’est un "C pour les nuls", c’est à dire qu’il ne contient pas

Page 21: Plateforme e-learning PHP

Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013

20 | P a g e

les contraintes qui empoisonnent les développeurs débutants, comme les

problèmes de déclaration de variables, ou la gestion des chaînes de caractères.

Le PHP gère très bien, depuis les origines, les requêtes SQL. On peut donc

facilement écrire des programmes qui affichent des données extraites de bases SQL,

ou qui stockent des données postées par un formulaire dans une table SQL. Le PHP

sait communiquer avec presque tous les SGBD de la création (Oracle, MySql, DB2,

Informix, Ingres, Postgresql, SQL Server, Access etc...).

Les plateformes Linux/Apache/PHP sont d’une très grande stabilité. Un site peut

tourner pendant des mois et des mois sans avoir besoin d’un reboot... Appréciable

pour les sites d’e-commerce ou les sites boursiers (ces derniers choisissent de plus

en plus le PHP, ce n’est pas un hasard) pour lesquels une panne d’une heure peut

coûter des millions...

Aux instructions de bases du PHP, s’ajoutent une foule de fonctions, couvrant tous

les besoins imaginables pour un webmaster : applications e-commerce, génération

de PDF, création d’images à la volée, parsing XML, programmation COM,

compression/décompression, statistiques, cryptologie, génération d’email, gestion

d’annuaires LDAP et... un raton laveur. Pour le cas, fort improbable, où il resterait

quelque chose à inventer, vous pourrez, grâce à une API très stable et bien faite,

programmer vos propres modules d’extension.

Un atout majeur, et qui achève de convaincre nombre d’utilisateurs : le PHP, élaboré

par des pionniers de l’Open Source, bénéficie d’une énorme communauté

d’utilisateurs, qui s’entraident au sein de nombreux forums, mettent à disposition

des scripts ou des applications complètes en Open Source.

Enfin, PHP est gratuit ! (licence GNU GPL !)

MySQL

Présentation

MySQL est un système de gestion de base de données (SGBD). Il est distribué sous

une double licence GPL et propriétaire. Il fait partie des logiciels de gestion de base

de données les plus utilisés au monde, autant par le grand public (applications web

principalement) que par des professionnels, en concurrence avec Oracle, Informix et

Microsoft SQL Server.

Son nom vient du prénom de la fille du co-créateur Michael Widenius, My. SQL fait

allusion au Structured Query Language, le langage de requête utilisé.

MySQL AB a été acheté le 16 janvier 2008 par Sun Microsystems pour un milliard de

dollars américains. En 2009, Sun Microsystems a été acquis par Oracle Corporation,

mettant entre les mains d'une même société les deux produits concurrents que sont

Oracle Database et MySQL. Ce rachat a été autorisé par la Commission européenne

le 21 janvier 2010.

Page 22: Plateforme e-learning PHP

Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013

21 | P a g e

Pourquoi MySQL

Quelques avantages de MySQL

Les principaux concurrents de MySQL sont PostgreSQL, Microsoft SQL Server et

Oracle. Par rapport à tous ces produits, MySQL possède plusieurs avantages majeurs,

dont :

De performances élevées,

Un coût réduit,

Sa simplicité de configuration,

Sa portabilité,

L'accessibilité de son code source.

Performances de MySQL

MySQL est indéniablement un système rapide. Vous pouvez consulter les

statistiques des performances sur le site mysql.com.

Coût

MySQL est disponible gratuitement, sous une licence Open Source, ou pour un prix

très raisonnable pour les licences commerciales si vous en avez besoin pour votre

application.

Portabilité

MySQL peut être utilisé sur un grand nombre de systèmes Unix, ainsi qu'avec

Windows.

Framework CSS : Foundation

Foundation est un framework CSS qui permet de concevoir rapidement des

interfaces Web « responsive » fluides et réactives. Cette technique permet de créer

une seule interface qui s’adapte automatiquement aux tailles d’écrans des différents

appareils (PC, tablettes, smartphones, etc.).

Le framework propose des fonctionnalités comme un système de grilles pour le

positionnement des éléments en CSS, un système de layout responsive pour adapter

le site aux différents navigateurs web et mobiles, des éléments d’interfaces (onglets,

tableaux, etc.) et bien plus.

Utilisation de Zepto, la bibliothèque JavaScript légère compatible jQuery.

En outre, une fonctionnalité « mixins » puissante est disponible avec la version SASS

(Syntactically Awesome Stylesheets). Elle permet d'utiliser les « grid tools » sans

alourdir le code HTML de la page avec des noms de classes de la grille.

Page 23: Plateforme e-learning PHP

Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013

22 | P a g e

Code Dans cette section, nous allons voir la manière dont nous avons ordonné les différentes sections du site : tant au niveau fonctions, qu’au niveau de l’arborescence. Nous allons donc dans un premier temps expliquer l’architecture du dossier parents. Ci- dessous est le schéma explicatif de l’arborescence :

Page 24: Plateforme e-learning PHP

Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013

23 | P a g e

Le Design Point important d’un site internet, la mise en page a connu quelques modifications au cours du temps. Le design serait même un atout pour donner envie à l’utilisateur de naviguer sur votre site… ou pas ! Le design du site entier nous a donc pris beaucoup de réflexion, pour qu’il soit aussi simpliste qu’opérationnel et pratique, tant sa structure qui met en avant toutes ses fonctionnalités dans un cadre aisé à se familiariser avec. La maquette de la page d’accueil du site est la suivante :

Page 25: Plateforme e-learning PHP

Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013

24 | P a g e

Conclusion générale et perspectives du travail

La projet traité dans ce rapport représente un atout puissant et moderne qui

s’intègre avec brio dans la nouvelle politique adaptée par le Maroc qui s’intitule

Maroc numérique 2013 qui bute a informatiser et à numériser tous les support

d’information et à délaisser les moyens classiques avec le papier.

En effet ce projet permet de faciliter toute une tache très rude auparavant qui est

l’évaluation des élèves à travers un questionnaire créé par les profs pour différents

élèves et de stoker tous les résultats dans une base de données qui sera accessible

partout où l’en ai.

Néanmoins comme chaque travail, celui-là aussi est loin d’être achevé, car une fois

sortit du LAN et envoyé sur internet pour que l’accès à la plateforme soit possible

partout, il sera sujet de différentes attaques pirates, car le coté sécurité requiert des

spécialistes dans le domaine pour l’implémenter.

Aussi quelques fonctionnalités utiles peuvent être ajoutées au niveau de la base de

données et au programme, tel un Timer qui permettra de calculer le temps que les

étudiants ont fait, ou bien d’un Timer qui valide automatiquement le questionnaire

après un laps de temps.

Finalement on peut aussi songer à implémenter un système de notification et de

messagerie à l’aide de PHP ou AJAX qui va permettre de prévenir les étudiants des

nouveautés via email ou bien directement dans la plateforme.

Page 26: Plateforme e-learning PHP

Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013

25 | P a g e

Webographie

http://www.webmasterfrance.fr/definition-php.html

http://www.webmaster-hub.com/publication/Pourquoi-choisir-le-

PHP-pour.html

http://fr.wikipedia.org/wiki/MySQL