Vous êtes sur la page 1sur 26

Ecole Nationale des Sciences Appliques - Kenitra

Anne Universitaire 2012-2013

Remerciements
En prambule ce rapport, nous souhaitons adresser nos remerciements les plus sincres aux personnes qui nous ont apport leur aide et qui ont contribu l'laboration de ce projet ainsi qu la russite de cette formidable anne universitaire. Nous tenons aussi remercier le Mr. Abdellah ABOUABDELLAH, Professeur de technologies web au sein de lcole nationale des sciences appliques de Kenitra, de nous avoir trs bien appris et instruit le bagage ncessaire, ainsi que pour ses efforts colossales et ses conseils aviss qui nous ont permis de donner naissance ce projet.

1|Page

Ecole Nationale des Sciences Appliques - Kenitra

Anne Universitaire 2012-2013

Ddicaces
On ddie ce rapport modeste nos parents pour leurs soutient et tous leurs sacrifices durant nos tudes et notre formation. A toute lquipe des enseignants de lcole nationale des sciences appliques de Kenitra pour leurs grands efforts dont ils font toujours preuve. A lquipe administrative de lcole qui lutte acharnement pour nous offrir un espace ducatif et des conditions de travail de normes internationales.

2|Page

Ecole Nationale des Sciences Appliques - Kenitra

Anne Universitaire 2012-2013

Abstract
Pour valuer leurs tudiants les professeurs des coles et des universits ont souvent recours des mthodes classiques telle une valuation crite, orale ou un questionnaire. Cela sans doute requiert du temps et de leffort des deux parties : tudiant et professeur. Pour contrer ces problmes on a cr une application laide de PHP et MySQL. Cette application a pour but de numriser la pratique de lvaluation classique en implmentant une application qui sera un pont entre les professeurs de diffrentes matires et les lves, cette application est divise en trois (3) interfaces essentielles : Interface professeur qui offrira aux profs de crer leurs questionnaires selon des niveaux de difficults ainsi que le niveau dtude des lves. Une interface tudiant : Qui donnera un accs aux questionnaires proposs par les profs afin dy rpondre 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 linscription. Pour sauvegarder les rponses, les membres ainsi que les questionnaires afin de les consulter aprs on a eu recours au fameux SGBD MySQL.

3|Page

Ecole Nationale des Sciences Appliques - Kenitra

Anne Universitaire 2012-2013

Rsum du travail
Le travail consiste raliser une application de gnratrice de formulaire. Cette application a t entirement cod en PHP et MySQL ce qui permettra sa portabilit et qui va faciliter laccs aux donnes nimporte quand et n importe o. Cette application se divise en trois parties majeures : Espace professeurs Espace tudiant Espace administration

Donc un professeur, aprs stre enregistr attendra sa validation auprs de ladministrateur qui aprs la vrification de la validit des informations fournies le fera laide de son panel, pourra crer volont des questionnaires dont il pourra contrler la difficult pour valuer diffrents lves avec diffrents niveau. Ces questionnaires ainsi quaux rponses correctes seront stockes dans une base de donnes implmente sous MySQL. Quant aux Etudiants inscrits, une fois connects via le panel dauthentification pourrons voir les diffrents questionnaires disponibles pour son niveau, quil faut y rpondre. Les rponses et le score de ltudiant sera ensuite stock dans la base de donnes. Finalement ladministrateur aura accs un panel qui lui servira de tlcommande qui validera les questionnaires, les tudiants, les professeurs et bien dautres fonctionnalits utiles pour le bon fonctionnement de lapplication et la limitation des fraudes et des anomalies.

4|Page

Ecole Nationale des Sciences Appliques - Kenitra

Anne Universitaire 2012-2013

Table des matires


Remerciements................................................................................................... 1 Ddicaces ............................................................................................................. 2 Abstract................................................................................................................ 3 Rsum 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 modlisation de la base de donnes ............10


1) Diagramme de cas dutilisation ............................................................................... 10 2) Diagramme de squence .......................................................................................... 11 3) Diagramme dactivit ................................................................................................ 14 4) Rgles de gestion et diagramme de classe ....... Error! Bookmark not defined. 5) Modle relationnelle de donnes ........................................................................... 17 a) MCD :......................................................................................................................... 17 b) MLDR ........................................................................................................................ 18

Chapitre 3 : Ralisation ...................................................................................19


Outils de travail :................................................................................................................ 19 Code : ................................................................................................................................... 22

5|Page

Ecole Nationale des Sciences Appliques - Kenitra

Anne Universitaire 2012-2013

Chapitre 1 : Besoins fonctionnels et conduite de projet


Les besoins fonctionnels
Il s'agit des fonctionnalits du systme. Ce sont les besoins spcifiant un comportement d'entre / sortie du site : o Enregistrer un tudiant o Enregistrer un professeur o Entrer une matire o Dfinir un niveau de difficult o Dfinir un niveau de scolarit o Crer un questionnaire o Entrer les questions pour un questionnaire o Entrer les rponses o Dfinir une rponse comme correcte o Un tudiant peut passer un questionnaire o Chaque valuation de ltudiant doit avoir une note o un professeur doit tre dfini par une matire et un niveau o un questionnaire est dfinit par une matire, un niveau et une difficult o activer un compte o dsactiver un compte o valider un questionnaire o dsactiver un questionnaire o chiffrer les mots de passe o pouvoir uploader une image o supprimer un questionnaire o la suppression dun questionnaire, implique la suppression de toutes les questions qui y appartient. o La suppression dune question, implique la suppression de toutes les rponses qui y appartient.

Les besoin non-fonctionnels


Connectivit : o tablissement de la connexion la base de donne (SELECT, INSERT, UPDATE et DELETE) o Besoins de mot de passe - hashage o Dconnexion : fermer la session de lutilisateur. Audit o Vrification de lexistence des attributs avant lexcution des requtes. Performance o Temps de rponse : temps de reponse trs court. o Temps de traitement temps de traitement optimiser.

6|Page

Ecole Nationale des Sciences Appliques - Kenitra

Anne Universitaire 2012-2013

Disponibilit o Le site doit tre disponible a tout moment et de nimporte quel source.

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

Compatibilit o Compatible avec lensemble des navigateurs web. Aptitude la maintenance o La conforme aux rgles de normalisation de MERISE : ce qui offre une capacit de maintenance assez important.

Conduit de projet : o Planification prvisionnelle : Decoupage du project : Le partitionnement chronologique du projet est comme suit : 1- Etudes des besoins 2- Modlisation de la base de donnes 3- Ralisation des pages web en PHP 4- Ladaptation dun design Rpartition des taches : Chaque membre devait remplir une partie du projet bien prcise dans une dure limit : o 2 jours pour faire ltude des besoins o 3 jours pour la modlisation de la base de donnes o 10 jours pour le codage des pages web o 3 jours pour limplmentation du design Planning : Le 15/04/2013 : rassemblement de tous les membres pour mettre en place les phases de lanalyse et la ralisation du projet. Le 19/04/2013 : dbut de la phase de ltude des besoins. Le 22 / 05 /2013 : analyse des rsultats obtenu et dbut de la modlisation de la base de donnes Le 01/05 /2013 : entamer la partie du codage des pages PHP Le 12/05/ 2013 : adaptation dun design choisi o Planification relle : Rpartition chronologique du projet :
7|Page

Ecole Nationale des Sciences Appliques - Kenitra

Anne Universitaire 2012-2013

Vu que les besoins fonctionnel ont t dfini par le professeur encadrant dans la sance cour, on a donc juste eu a les dvelopp un peu plus et commencer la modlisation directement. 1- Conception base de donnes 2- Codification des pages web 3- Intgration du design Rpartition des tches : A lencontre de la diffrence de difficult entre les taches une nouvelle rpartition sest impose : o 4 jours pour la modlisation de la base de donnes par un membre. o 5 jours pour le codage des pages web par 2 membres. o 4 jours pour limplmentation du design par un membre.

Planning : D quelques contraintes le planning cest a subi un dcalage de quelque jours : Le 26/04/2013 : runion des membres Le 05/05/2013 : dbut de la phase de modlisation de la base de donnes. Le 19/ 05 /2013 : entamer la partie du codage des pages PHP

o Analyse des carts Ecart sur les rsultats souhait : Bien que le rsultat soit satisfaisant vu quil remplit lensemble des besoins dcel prcdemment, il reste insatisfaisant. Ecart sue la rpartition des tches : D lintervention du professeur encadrant, o il a ralis une partie de la conception qui est lanalyse du besoin, notre planification pour les la rpartition des taches a d sadapter, et vu que la quantit de travail nest pas quitablement rpartie sur les diffrentes taches, une nouvelle rpartition des membres t ncessaire aussi. Ecart du planning : Notre planning de dpart a t repouss par une priode de 2 semaines, vu que lensemble des membres de lquipe t occup par des examens final avanc de sa date initial, ainsi que le dveloppement dun autre projet dont la date de livraison t dterminer aprs pour le 15/05/2013.

8|Page

Ecole Nationale des Sciences Appliques - Kenitra

Anne Universitaire 2012-2013

9|Page

Ecole Nationale des Sciences Appliques - Kenitra

Anne Universitaire 2012-2013

Chapitre 2 : Conception et modlisation de la base de donnes


1) Diagramme de cas dutilisation

Etudiant Admin
Creer un profil S'inscrire Modifier profil Modifier un profil

Passer un questionnaire
<<include>>

Supprimer un profil

Etudiant

Consulter un questionnaire

<<include>>

Admin

<<include>>

Authentification
<<include>>

<<include>>

Deconnection

Valider

Prof Admin
Creer un profil S'inscrire Modifier profil Supprimer un profil

Consulter ses propres questionnaires


<<include>> <<include>>

Valider un questionnaire

Prof

Consulter questionnaire de sa matiere

Admin Modifier un profil Authentification


<<include>>

<<include>>
<<include>>

Ajouter questionnaire

<<include>>

Valider Deconnection

10 | P a g e

Ecole Nationale des Sciences Appliques - Kenitra

Anne Universitaire 2012-2013

2) Diagramme de squence

Etudiant
Etudiant Base de donnes

Authentification() Reponse

Modifier_Profil() Reponse

Afficher_Questionnaire()
Reponse

Passer_Questionnaire() Reponse

Deconnection()

11 | P a g e

Ecole Nationale des Sciences Appliques - Kenitra

Anne Universitaire 2012-2013

Professeur
Professeur Base de donnes

Authentification()
Reponse

Modifier_Profil()
Reponse Ajouter_Questionnaire() Reponse

Consulter_Propres_Questionnaire() Reponse
Consulter_Questionnaires_matiere()

Reponse

Deconnection()

12 | P a g e

Ecole Nationale des Sciences Appliques - Kenitra

Anne Universitaire 2012-2013

Admin
Administrateur Base de donnes

Authentification()
Reponse

Modifier_Profil_(Prof/Etudiant)()
Reponse Valider_(Questionnaire/Prof/Etudiant)() Reponse

Deconnection()

13 | P a g e

Ecole Nationale des Sciences Appliques - Kenitra

Anne Universitaire 2012-2013

3) Diagramme dactivit

Etudiant

Authentification

Echec

Reussite

Choisir operation

Deconnection

Consulter un questionnaire

Modifier profil

Echec

Passer ou refaire un questionnaire

Afficher les scores

Retour au menu

Retour au menu

14 | P a g e

Ecole Nationale des Sciences Appliques - Kenitra

Anne Universitaire 2012-2013

Professeur

Authentification

Echec

Reussite

Choisir operation

Deconnection

Modifier profil

Echec

Afficher questionnaires meme matiere

Ajouter un questionnaire

Afficher questionnaires crs

Retour au menu

Remplissage des questions

Retour au menu

Afficher les notes / questionnaire

Retour au menu

15 | P a g e

Ecole Nationale des Sciences Appliques - Kenitra

Anne Universitaire 2012-2013

Admin

Authentification

Echec

Choix

Valider questionnaire / admin / prof

Supprimer questionnaire

Modifier profil etudiant / prof

16 | P a g e

Ecole Nationale des Sciences Appliques - Kenitra

Anne Universitaire 2012-2013

4) Modle relationnelle de donnes a) MCD

17 | P a g e

Ecole Nationale des Sciences Appliques - Kenitra

Anne 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

Ecole Nationale des Sciences Appliques - Kenitra

Anne Universitaire 2012-2013

Chapitre 3 : Ralisation
Outils de travail : Dans cette partie nous allons dtailler les diffrents outils utiliss pour la ralisation du projet. Nous avons utilis le couple PHP/MySQL, et sans aucun doute eu besoin de HTML/CSS pour le dveloppement du site, nous dtaillerons dans les sous parties les raisons de ce choix.

PHP / MySQL :
Nous avons choisi de dvelopper le projet en langage PHP, car celui-ci est le langage universel pour le dveloppement de site web dynamique, autant pour ses qualits comme langage de programmation ainsi que sa popularit extravagante. De plus MySQL est son complmentaire indispensable pour grer tout trafic de donne.

Pourquoi le choix du PHP et MySQL ?


Prsentation :
Le langage PHP est un langage de programmation web ct serveur, ce qui veut dire que c'est le serveur qui va interprter le code PHP (langage de scripts) et gnrer du code HTML qui pourra tre interprt par votre navigateur. Le PHP permet d'ajouter des fonctionnalits de plus en plus complexe, d'avoir des sites dynamiques, de pouvoir grer une administration de boutique en ligne, de modifier un blog, de crer des rseaux 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 dexcution sont trs performants. A condition toutefois de lutiliser sur une plateforme Linux. Contrairement aux CGI, les scripts PHP sont donc excuts par le serveur web, sans ressources supplmentaires. Pour des sites trs frquents, le PHP savre plus performant que lASP. Le PHP est dabord un langage facile apprendre. Il reprend assez fidlement la syntaxe du C, ce qui rend sa prise en main par un dveloppeur qui connait ce langage quasi immdiate. De plus cest un "C pour les nuls", cest dire quil ne contient pas
19 | P a g e

Ecole Nationale des Sciences Appliques - Kenitra

Anne Universitaire 2012-2013

les contraintes qui empoisonnent les dveloppeurs dbutants, comme les problmes de dclaration de variables, ou la gestion des chanes de caractres. Le PHP gre trs bien, depuis les origines, les requtes SQL. On peut donc facilement crire des programmes qui affichent des donnes extraites de bases SQL, ou qui stockent des donnes postes par un formulaire dans une table SQL. Le PHP sait communiquer avec presque tous les SGBD de la cration (Oracle, MySql, DB2, Informix, Ingres, Postgresql, SQL Server, Access etc...). Les plateformes Linux/Apache/PHP sont dune trs grande stabilit. Un site peut tourner pendant des mois et des mois sans avoir besoin dun reboot... Apprciable pour les sites de-commerce ou les sites boursiers (ces derniers choisissent de plus en plus le PHP, ce nest pas un hasard) pour lesquels une panne dune heure peut coter des millions... Aux instructions de bases du PHP, sajoutent une foule de fonctions, couvrant tous les besoins imaginables pour un webmaster : applications e-commerce, gnration de PDF, cration dimages la vole, parsing XML, programmation COM, compression/dcompression, statistiques, cryptologie, gnration demail, gestion dannuaires LDAP et... un raton laveur. Pour le cas, fort improbable, o il resterait quelque chose inventer, vous pourrez, grce une API trs stable et bien faite, programmer vos propres modules dextension. Un atout majeur, et qui achve de convaincre nombre dutilisateurs : le PHP, labor par des pionniers de lOpen Source, bnficie dune norme communaut dutilisateurs, qui sentraident au sein de nombreux forums, mettent disposition des scripts ou des applications compltes en Open Source. Enfin, PHP est gratuit ! (licence GNU GPL !)

MySQL Prsentation
MySQL est un systme de gestion de base de donnes (SGBD). Il est distribu sous une double licence GPL et propritaire. Il fait partie des logiciels de gestion de base de donnes les plus utiliss 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 prnom de la fille du co-crateur Michael Widenius, My. SQL fait allusion au Structured Query Language, le langage de requte utilis. MySQL AB a t achet le 16 janvier 2008 par Sun Microsystems pour un milliard de dollars amricains. En 2009, Sun Microsystems a t acquis par Oracle Corporation, mettant entre les mains d'une mme socit les deux produits concurrents que sont Oracle Database et MySQL. Ce rachat a t autoris par la Commission europenne le 21 janvier 2010.
20 | P a g e

Ecole Nationale des Sciences Appliques - Kenitra

Anne 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 possde plusieurs avantages majeurs, dont : De performances leves, Un cot rduit, Sa simplicit de configuration, Sa portabilit, L'accessibilit de son code source.

Performances de MySQL MySQL est indniablement un systme rapide. Vous pouvez consulter les statistiques des performances sur le site mysql.com. Cot MySQL est disponible gratuitement, sous une licence Open Source, ou pour un prix trs raisonnable pour les licences commerciales si vous en avez besoin pour votre application. Portabilit MySQL peut tre utilis sur un grand nombre de systmes Unix, ainsi qu'avec Windows.

Framework CSS : Foundation


Foundation est un framework CSS qui permet de concevoir rapidement des interfaces Web responsive fluides et ractives. Cette technique permet de crer une seule interface qui sadapte automatiquement aux tailles dcrans des diffrents appareils (PC, tablettes, smartphones, etc.). Le framework propose des fonctionnalits comme un systme de grilles pour le positionnement des lments en CSS, un systme de layout responsive pour adapter le site aux diffrents navigateurs web et mobiles, des lments dinterfaces (onglets, tableaux, etc.) et bien plus. Utilisation de Zepto, la bibliothque JavaScript lgre 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

Ecole Nationale des Sciences Appliques - Kenitra

Anne Universitaire 2012-2013

Code
Dans cette section, nous allons voir la manire dont nous avons ordonn les diffrentes sections du site : tant au niveau fonctions, quau niveau de larborescence. Nous allons donc dans un premier temps expliquer larchitecture du dossier parents. Ci- dessous est le schma explicatif de larborescence :

22 | P a g e

Ecole Nationale des Sciences Appliques - Kenitra

Anne Universitaire 2012-2013

Le Design
Point important dun site internet, la mise en page a connu quelques modifications au cours du temps. Le design serait mme un atout pour donner envie lutilisateur de naviguer sur votre site ou pas ! Le design du site entier nous a donc pris beaucoup de rflexion, pour quil soit aussi simpliste quoprationnel et pratique, tant sa structure qui met en avant toutes ses fonctionnalits dans un cadre ais se familiariser avec. La maquette de la page daccueil du site est la suivante :

23 | P a g e

Ecole Nationale des Sciences Appliques - Kenitra

Anne Universitaire 2012-2013

Conclusion gnrale et perspectives du travail La projet trait dans ce rapport reprsente un atout puissant et moderne qui sintgre avec brio dans la nouvelle politique adapte par le Maroc qui sintitule Maroc numrique 2013 qui bute a informatiser et numriser tous les support dinformation et dlaisser les moyens classiques avec le papier. En effet ce projet permet de faciliter toute une tache trs rude auparavant qui est lvaluation des lves travers un questionnaire cr par les profs pour diffrents lves et de stoker tous les rsultats dans une base de donnes qui sera accessible partout o len ai. Nanmoins comme chaque travail, celui-l aussi est loin dtre achev, car une fois sortit du LAN et envoy sur internet pour que laccs la plateforme soit possible partout, il sera sujet de diffrentes attaques pirates, car le cot scurit requiert des spcialistes dans le domaine pour limplmenter. Aussi quelques fonctionnalits utiles peuvent tre ajoutes au niveau de la base de donnes et au programme, tel un Timer qui permettra de calculer le temps que les tudiants ont fait, ou bien dun Timer qui valide automatiquement le questionnaire aprs un laps de temps. Finalement on peut aussi songer implmenter un systme de notification et de messagerie laide de PHP ou AJAX qui va permettre de prvenir les tudiants des nouveauts via email ou bien directement dans la plateforme.

24 | P a g e

Ecole Nationale des Sciences Appliques - Kenitra

Anne 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

P R O J E TP H P
P l a t f o r med e s q u e t i o n n a i r e s
C O L EN A T I O N A L E D E S S C I E N C E S A P P L I Q U E S K E N I T R A

R a l i s p a r
I c h i o u i A y o u b S i k a l N a w f a l J a d l i T o u k Z e r h o u n i S a a d

E n c a d r p a r
P r . A b d e l l a hA B O U A B D E L L A H
C O N T A C T: z e r . s a a d @g ma i l . c o m | i c h i o u i @g ma i l . c o m | t o u k . j a d l i @g ma i l . c o m| n a w f a l . s i k a l @g ma i l . c o m