plateforme e-learning php
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 facilementTRANSCRIPT
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
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.
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.
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.
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.
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
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.
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 :
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.
Ecole Nationale des Sciences Appliquées - Kenitra Année Universitaire 2012-2013
9 | P a g e
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>>
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()
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()
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()
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
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
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
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
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)
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
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.
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.
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 :
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 :
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.
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