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
1. POE P P
R JT H
Pafr d s u t n a e
lt me e q ei n i s
o
o r
É O EN TO A E
C L A IN L
D S CE C S P LQ É S
E S IN E A P I U E
K NT A
E IR
R as p r
é lé a
i
I iu A o b
c o i yu
h
S aN w a
i l a fl
k
Jdio fi
al u k
T
Z ro n S a
eh u i a d
E cdé a
na r p r
P. b elhA O A D L A
rA d l
a B U B EL H
C N A T:
O TC
zrad ma. m
e. a @g i o
s
l
c
| i i i ma. m
c o @g i o
hu
l
c
|
tu ka l ma. m |
o fi .di
j @g i o
l
c
n w as a ma. m
a fli l
.k @g i o
l
c
2. Ecole Nationale des Sciences Appliquées - Kenitra
Année Universitaire 2012-2013
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.
1|Page
3. Ecole Nationale des Sciences Appliquées - Kenitra
Année Universitaire 2012-2013
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.
2|Page
4. Ecole Nationale des Sciences Appliquées - Kenitra
Année Universitaire 2012-2013
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.
3|Page
5. Ecole Nationale des Sciences Appliquées - Kenitra
Année Universitaire 2012-2013
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.
4|Page
6. Ecole Nationale des Sciences Appliquées - Kenitra
Année Universitaire 2012-2013
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
5|Page
7. Ecole Nationale des Sciences Appliquées - Kenitra
Année Universitaire 2012-2013
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.
6|Page
8. Ecole Nationale des Sciences Appliquées - Kenitra
Année Universitaire 2012-2013
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 :
7|Page
9. Ecole Nationale des Sciences Appliquées - Kenitra
Année Universitaire 2012-2013
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.
8|Page
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.
10. Ecole Nationale des Sciences Appliquées - Kenitra
9|Page
Année Universitaire 2012-2013
11. Ecole Nationale des Sciences Appliquées - Kenitra
Année Universitaire 2012-2013
Chapitre 2 : Conception et
modélisation de la base de données
1) Diagramme de cas d’utilisation
Etudiant – Admin
Creer un profil
S'inscrire
Modifier profil
Modifier un profil
Passer un questionnaire
Supprimer un profil
<<include>>
Etudiant
Consulter un
questionnaire
<<include>>
Admin
<<include>>
Authentification
<<include>>
<<include>>
Deconnection
Valider
Prof – Admin
Creer un profil
S'inscrire
Supprimer un profil
Modifier profil
Consulter ses propres
questionnaires
Valider un questionnaire
<<include>>
Prof
Consulter questionnaire de sa matiere
<<include>>
Admin
Modifier un profil
<<include>>
Ajouter questionnaire
<<include>>
Authentification
<<include>>
<<include>>
Valider
Deconnection
10 | P a g e
12. Ecole Nationale des Sciences Appliquées - Kenitra
Année Universitaire 2012-2013
2) Diagramme de séquence
Etudiant
Etudiant
Base de données
Authentification()
Reponse
Modifier_Profil()
Reponse
Afficher_Questionnaire()
Reponse
Passer_Questionnaire()
Reponse
Deconnection()
11 | P a g e
13. Ecole Nationale des Sciences Appliquées - Kenitra
Année Universitaire 2012-2013
Professeur
Professeur
Base de données
Authentification()
Reponse
Modifier_Profil()
Reponse
Ajouter_Questionnaire()
Reponse
Consulter_Propres_Questionnaire()
Reponse
Consulter_Questionnaires_matiere()
Reponse
Deconnection()
12 | P a g e
14. Ecole Nationale des Sciences Appliquées - Kenitra
Année Universitaire 2012-2013
Admin
Administrateur
Base de données
Authentification()
Reponse
Modifier_Profil_(Prof/Etudiant)()
Reponse
Valider_(Questionnaire/Prof/Etudiant)()
Reponse
Deconnection()
13 | P a g e
15. Ecole Nationale des Sciences Appliquées - Kenitra
Année Universitaire 2012-2013
3) Diagramme d’activité
Etudiant
Authentification
Echec
Reussite
Choisir operation
Deconnection
Consulter un
questionnaire
Modifier profil
Echec
Passer ou refaire un
questionnaire
Afficher les scores
Retour au menu
14 | P a g e
Retour au menu
16. Ecole Nationale des Sciences Appliquées - Kenitra
Année Universitaire 2012-2013
Professeur
Authentification
Echec
Reussite
Choisir operation
Deconnection
Modifier profil
Echec
Afficher
questionnaires
meme matiere
Ajouter un
questionnaire
Retour au menu
Remplissage des
questions
Afficher
questionnaires créés
Retour au menu
Afficher les notes /
questionnaire
Retour au menu
15 | P a g e
17. Ecole Nationale des Sciences Appliquées - Kenitra
Année Universitaire 2012-2013
Admin
Authentification
Echec
Choix
Valider
questionnaire /
admin / prof
16 | P a g e
Supprimer
questionnaire
Modifier profil
etudiant / prof
18. Ecole Nationale des Sciences Appliquées - Kenitra
4) Modèle relationnelle de données
a) MCD
17 | P a g e
Année Universitaire 2012-2013
19. Ecole Nationale des Sciences Appliquées - Kenitra
Année Universitaire 2012-2013
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)
18 | P a g e
20. Ecole Nationale des Sciences Appliquées - Kenitra
Année Universitaire 2012-2013
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
19 | P a g e
21. Ecole Nationale des Sciences Appliquées - Kenitra
Année Universitaire 2012-2013
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.
20 | P a g e
22. Ecole Nationale des Sciences Appliquées - Kenitra
Année Universitaire 2012-2013
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.
21 | P a g e
23. Ecole Nationale des Sciences Appliquées - Kenitra
Année Universitaire 2012-2013
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 :
22 | P a g e
24. Ecole Nationale des Sciences Appliquées - Kenitra
Année Universitaire 2012-2013
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 :
23 | P a g e
25. Ecole Nationale des Sciences Appliquées - Kenitra
Année Universitaire 2012-2013
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.
24 | P a g e
26. Ecole Nationale des Sciences Appliquées - Kenitra
Année Universitaire 2012-2013
Webographie
http://www.webmasterfrance.fr/definition-php.html
http://www.webmaster-hub.com/publication/Pourquoi-choisir-lePHP-pour.html
http://fr.wikipedia.org/wiki/MySQL
25 | P a g e