platform e-learning en PHP

download platform e-learning en PHP

of 26

Transcript of platform e-learning en PHP

  • 8/13/2019 platform e-learning en PHP

    1/26

    Ecole Nationale des Sciences Appliques - Kenitra Anne Universitaire 2012-2013

    1 | P a g e

    Remerciements

    En prambule ce rapport, nous souhaitons adresser nosremerciements les plus sincres aux personnes qui nous ont apportleur 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 instruitle bagage ncessaire, ainsi que pour ses efforts colossales et ses

    conseils aviss qui nous ont permis de donner naissance ce projet.

  • 8/13/2019 platform e-learning en PHP

    2/26

    Ecole Nationale des Sciences Appliques - Kenitra Anne Universitaire 2012-2013

    2 | P a g e

    Ddicaces

    On ddie ce rapport modeste nos parents pour leurssoutient 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 dontils font toujours preuve.

    A lquipe administrative de lcole qui lutte acharnementpour nous offrir un espace ducatif et des conditions de

    travail de normes internationales.

  • 8/13/2019 platform e-learning en PHP

    3/26

    Ecole Nationale des Sciences Appliques - Kenitra Anne Universitaire 2012-2013

    3 | P a g e

    Abstract

    Pour valuer leurs tudiants les professeurs des coles et desuniversits 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 uneapplication laide de PHP et MySQL. Cette application a pour but de

    numriser la pratique de lvaluation classique en implmentant uneapplication qui sera un pont entre les professeurs de diffrentesmatires et les lves, cette application est divise en trois (3) interfacesessentielles : Interface professeur qui offrira aux profs de crer leursquestionnaires selon des niveaux de difficults ainsi que le niveaudtude des lves. Une interface tudiant: Qui donnera un accs auxquestionnaires proposs par les profs afin dy rpondre et avoir une

    note, et Finalement une interface Admin qui permettra la validation desmembres et des questionnaires afin de contrer les fraude, en plus dequelques interfaces secondaires tel que linscription.

    Pour sauvegarder les rponses, les membres ainsi que les questionnairesafin de les consulter aprs on a eu recours au fameux SGBD MySQL.

  • 8/13/2019 platform e-learning en PHP

    4/26

  • 8/13/2019 platform e-learning en PHP

    5/26

    Ecole Nationale des Sciences Appliques - Kenitra Anne Universitaire 2012-2013

    5 | P a g e

    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

  • 8/13/2019 platform e-learning en PHP

    6/26

    Ecole Nationale des Sciences Appliques - Kenitra Anne Universitaire 2012-2013

    6 | P a g e

    Chapitre 1 : Besoins fonctionnels etconduite de projet

    Les besoins fonctionnelsIl s'agit des fonctionnalits du systme. Ce sont les besoins spcifiant uncomportement d'entre / sortie du site :

    o Enregistrer un tudianto Enregistrer un professeuro Entrer une matireo Dfinir un niveau de difficulto Dfinir un niveau de scolarito Crer un questionnaireo Entrer les questions pour un questionnaireo Entrer les rponseso Dfinir une rponse comme correcteo Un tudiant peut passer un questionnaireo Chaque valuation de ltudiant doit avoir une noteo un professeur doit tre dfini par une matire et un niveauo un questionnaire est dfinit par une matire, un niveau et une difficulto activer un compteo dsactiver un compteo valider un questionnaireo dsactiver un questionnaireo chiffrer les mots de passeo pouvoir uploader une imageo supprimer un questionnaireo 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-fonctionnelsConnectivit :

    otablissement de la connexion la base de donne (SELECT, INSERT,UPDATE et DELETE)

    o Besoins de mot de passe - hashageo 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 traitementtemps de traitement optimiser.

  • 8/13/2019 platform e-learning en PHP

    7/26

    Ecole Nationale des Sciences Appliques - Kenitra Anne Universitaire 2012-2013

    7 | P a g e

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

    Intgrito La capture des erreurstraitement 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 unecapacit de maintenance assez important.

    Conduit de projet :o Planification prvisionnelle :

    Decoupage du project :Le partitionnement chronologique du projet est comme suit :

    1- Etudes des besoins2- Modlisation de la base de donnes3- Ralisation des pages web en PHP4- Ladaptation dun design

    Rpartition des taches :Chaque membre devait remplir une partie du projet bien prcisedans une dure limit :

    o 2 jours pour faire ltude des besoinso 3 jours pour la modlisation de la base de donneso 10 jours pour le codage des pages webo 3 jours pour limplmentation du design

    Planning :Le 15/04/2013 : rassemblement de tous les membres pourmettre 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 lamodlisation de la base de donnesLe 01/05 /2013 : entamer la partie du codage des pages PHPLe 12/05/ 2013 : adaptation dun design choisi

    o Planification relle : Rpartition chronologique du projet :

  • 8/13/2019 platform e-learning en PHP

    8/26

    Ecole Nationale des Sciences Appliques - Kenitra Anne Universitaire 2012-2013

    8 | P a g e

    Vu que les besoins fonctionnel ont t dfini par le professeurencadrant dans la sance cour, on a donc juste eu a lesdvelopp un peu plus et commencer la modlisationdirectement.1- Conception base de donnes2- Codification des pages web3- 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 donnespar un membre.

    o 5 jours pour le codage des pages web par 2membres.

    o 4 jours pour limplmentation du design par unmembre.

    Planning :D quelques contraintes le planning cest a subi un dcalagede quelque jours :Le 26/04/2013 : runion des membresLe 05/05/2013 : dbut de la phase de modlisation de la base dedonnes.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, etvu que la quantit de travail nest pas quitablement rpartie sur

    les diffrentes taches, une nouvelle rpartition des membrest ncessaire aussi.

    Ecart du planning :Notre planning de dpart a t repouss par une priode de 2semaines, vu que lensemble des membres de lquipe t

    occup par des examens final avanc de sa date initial, ainsi quele dveloppement dun autre projet dont la date de livraison t

    dterminer aprs pour le 15/05/2013.

  • 8/13/2019 platform e-learning en PHP

    9/26

    Ecole Nationale des Sciences Appliques - Kenitra Anne Universitaire 2012-2013

    9 | P a g e

  • 8/13/2019 platform e-learning en PHP

    10/26

    Ecole Nationale des Sciences Appliques - Kenitra Anne Universitaire 2012-2013

    10 | P a g e

    Chapitre 2: Conception etmodlisation de la base de donnes

    1)Diagramme de cas dutilisationEtudiantAdmin

    Passer un questionnaire

    Authentification

    Modifier profil

    Deconnection

    S'inscrire

    Etudiant

    Consulter un

    questionnaire

    Valider

    Creer un profil

    Modifier un profil

    Supprimer un profil

    Admin

    ProfAdmin

    Authentification

    Modifier profil

    Deconnection

    S'inscrire

    Prof

    Consulter ses propresquestionnaires

    Valider

    Creer un profil

    Valider un questionnaire

    Modifier un profil

    Supprimer un profil

    AdminConsulter questionnaire de sa matiere

    Ajouter questionnaire

  • 8/13/2019 platform e-learning en PHP

    11/26

    Ecole Nationale des Sciences Appliques - Kenitra Anne Universitaire 2012-2013

    11 | P a g e

    2)Diagramme de squenceEtudiant

    Authentification()

    Reponse

    Base de donnes

    Etudiant

    Modifier_Profil()

    Reponse

    Afficher_Questionnaire()

    Reponse

    Passer_Questionnaire()

    Reponse

    Deconnection()

  • 8/13/2019 platform e-learning en PHP

    12/26

    Ecole Nationale des Sciences Appliques - Kenitra Anne 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 donnes

    Deconnection()

  • 8/13/2019 platform e-learning en PHP

    13/26

    Ecole Nationale des Sciences Appliques - Kenitra Anne Universitaire 2012-2013

    13 | P a g e

    Admin

    Authentification()

    Reponse

    Modifier_Profil_(Prof/Etudiant)()

    Reponse

    Valider_(Questionnaire/Prof/Etudiant)()

    Reponse

    Administrateur

    Base de donnes

    Deconnection()

  • 8/13/2019 platform e-learning en PHP

    14/26

    Ecole Nationale des Sciences Appliques - Kenitra Anne Universitaire 2012-2013

    14 | P a g e

    3)Diagramme dactivitEtudiant

    Authentification

    Echec

    Choisir operation

    Reussite

    Modifier profilDeconnectionConsulter un

    questionnaire

    Echec

    Passer ou refaire un

    questionnaireRetour au menuAfficher les scores

    Retour au menu

  • 8/13/2019 platform e-learning en PHP

    15/26

    Ecole Nationale des Sciences Appliques - Kenitra Anne Universitaire 2012-2013

    15 | P a g e

    Professeur

    Authentification

    Echec

    Choisir operation

    Reussite

    Modifier profilDeconnection

    Echec

    Afficher

    questionnaires

    meme matiere

    Afficher

    questionnaires crs

    Remplissage des

    questions

    Ajouter un

    questionnaire

    Retour au menu

    Retour au menu Afficher les notes /

    questionnaire

    Retour au menu

  • 8/13/2019 platform e-learning en PHP

    16/26

    Ecole Nationale des Sciences Appliques - Kenitra Anne Universitaire 2012-2013

    16 | P a g e

    Admin

    Authentification

    Valider

    questionnaire /

    admin / prof

    Modifier profil

    etudiant / prof

    Echec

    Choix

    Supprimer

    questionnaire

  • 8/13/2019 platform e-learning en PHP

    17/26

    Ecole Nationale des Sciences Appliques - Kenitra Anne Universitaire 2012-2013

    17 | P a g e

    4)Modle relationnelle de donnesa) MCD

  • 8/13/2019 platform e-learning en PHP

    18/26

    Ecole Nationale des Sciences Appliques - Kenitra Anne 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)

  • 8/13/2019 platform e-learning en PHP

    19/26

    Ecole Nationale des Sciences Appliques - Kenitra Anne Universitaire 2012-2013

    19 | P a g e

    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, etsans aucun doute eu besoin de HTML/CSS pour le dveloppement dusite, 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 sapopularit extravagante.De plus MySQL est son complmentaire indispensable pour grer touttrafic de donne.

    Pourquoi le choix du PHP et MySQL ?Prsentation :

    Le langage PHP est un langage de programmation web ct serveur, ce qui veut direque c'est le serveur qui va interprter le code PHP (langage de scripts) et gnrer ducode HTML qui pourra tre interprt par votre navigateur.Le PHP permet d'ajouter des fonctionnalits de plus en plus complexe, d'avoir dessites dynamiques, de pouvoir grer une administration de boutique en ligne, demodifier un blog, de crer des rseaux sociaux...Le PHP fut cr en 1994 par Rasmus Lerdorf, c'est un langage libre et gratuit, avecune grande communaut mondiale.

    Pourquoi PHP ?

    Le PHP est rapide. Compil en tant que module Apache, les temps dexcution sonttrs performants. A condition toutefois de lutiliser sur une plateforme Linux.

    Contrairement aux CGI, les scripts PHP sont donc excuts par le serveur web, sansressources supplmentaires. Pour des sites trs frquents, le PHP savre plusperformant que lASP.

    Le PHP est dabord un langage facile apprendre. Il reprend assez fidlement lasyntaxe du C, ce qui rend sa prise en main par un dveloppeur qui connait ce langagequasi immdiate. De plus cest un "C pour les nuls", cest dire quil ne contient pas

  • 8/13/2019 platform e-learning en PHP

    20/26

    Ecole Nationale des Sciences Appliques - Kenitra Anne Universitaire 2012-2013

    20 | P a g e

    les contraintes qui empoisonnent les dveloppeurs dbutants, comme lesproblmes de dclaration de variables, ou la gestion des chanes de caractres.

    Le PHP gre trs bien, depuis les origines, les requtes SQL. On peut doncfacilement 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 PHPsait 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 peuttourner 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 plusen plus le PHP, ce nest pas un hasard) pour lesquels une panne dune heure peutcoter des millions...

    Aux instructions de bases du PHP, sajoutent une foule de fonctions, couvrant tous

    les besoins imaginablespour un webmaster : applications e-commerce, gnrationde 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, laborpar des pionniers de lOpen Source, bnficie dune norme communautdutilisateurs, qui sentraident au sein de nombreux forums, mettent dispositiondes scripts ou des applications compltes en Open Source.

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

    MySQL

    PrsentationMySQL est un systme de gestion de base de donnes (SGBD). Il est distribu sousune 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 webprincipalement) que par des professionnels, en concurrence avec Oracle, Informix etMicrosoft SQL Server.

    Son nom vient du prnom de la fille du co-crateur Michael Widenius, My. SQL faitallusion au Structured Query Language, le langage de requte utilis.

    MySQL AB a t achet le 16 janvier 2008 par Sun Microsystems pour un milliard dedollars amricains. En 2009, Sun Microsystems a t acquis par Oracle Corporation,mettant entre les mains d'une mme socit les deux produits concurrents que sontOracle Database et MySQL. Ce rachat a t autoris par la Commission europenne

    le 21 janvier 2010.

  • 8/13/2019 platform e-learning en PHP

    21/26

    Ecole Nationale des Sciences Appliques - Kenitra Anne Universitaire 2012-2013

    21 | P a g e

    Pourquoi MySQLQuelques 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 MySQLMySQL est indniablement un systme rapide. Vous pouvez consulter lesstatistiques des performances sur le site mysql.com.

    Cot

    MySQL est disponible gratuitement, sous une licence Open Source, ou pour un prixtrs raisonnable pour les licences commerciales si vous en avez besoin pour votreapplication.

    Portabilit

    MySQL peut tre utilis sur un grand nombre de systmes Unix, ainsi qu'avecWindows.

    Framework CSS : Foundation

    Foundation est un framework CSS qui permet de concevoir rapidement desinterfaces Web responsive fluides et ractives. Cette technique permet de crerune 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 lepositionnement des lments en CSS, un systme de layout responsive pour adapterle 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 sansalourdir le code HTML de la page avec des noms de classes de la grille.

  • 8/13/2019 platform e-learning en PHP

    22/26

    Ecole Nationale des Sciences Appliques - Kenitra Anne Universitaire 2012-2013

    22 | P a g e

    CodeDans 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 dudossier parents.

    Ci- dessous est le schma explicatif de larborescence :

  • 8/13/2019 platform e-learning en PHP

    23/26

    Ecole Nationale des Sciences Appliques - Kenitra Anne Universitaire 2012-2013

    23 | P a g e

    Le esignPoint 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:

  • 8/13/2019 platform e-learning en PHP

    24/26

    Ecole Nationale des Sciences Appliques - Kenitra Anne Universitaire 2012-2013

    24 | P a g e

    Conclusion gnrale et perspectives du travail

    La projet trait dans ce rapport reprsente un atout puissant et moderne quisintgre avec brio dans la nouvelle politique adapte par le Maroc qui sintitule

    Maroc numrique 2013 qui bute a informatiser et numriser tous les supportdinformation et dlaisser les moyens classiques avec le papier.

    En effet ce projet permet de faciliter toute une tache trs rude auparavant qui estlvaluation des lves travers un questionnaire cr par les profs pour diffrentslves et de stoker tous les rsultats dans une base de donnes qui sera accessiblepartout o len ai.

    Nanmoins comme chaque travail, celui-l aussi est loin dtre achev, car une foissortit du LAN et envoy sur internet pour que laccs la plateforme soit possiblepartout, il sera sujet de diffrentes attaques pirates, car le cot scurit requiert desspcialistes dans le domaine pour limplmenter.

    Aussi quelques fonctionnalits utiles peuvent tre ajoutes au niveau de la base dedonnes et au programme, tel un Timer qui permettra de calculer le temps que lestudiants 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 demessagerie laide de PHP ou AJAX qui va permettre de prvenir les tudiants des

    nouveauts via email ou bien directement dans la plateforme.

  • 8/13/2019 platform e-learning en PHP

    25/26

    Ecole Nationale des Sciences Appliques - Kenitra Anne 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

    http://www.webmasterfrance.fr/definition-php.htmlhttp://www.webmasterfrance.fr/definition-php.html
  • 8/13/2019 platform e-learning en PHP

    26/26