Plateforme e-learning PHP
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Plateforme e-learning PHP

  • 2,480 views
Uploaded on

Code source disponible ici : http://www.mediafire.com/download/cuk14ead1zd6xj6/e-learning%20php.zip ...

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

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
2,480
On Slideshare
2,240
From Embeds
240
Number of Embeds
1

Actions

Shares
Downloads
160
Comments
0
Likes
0

Embeds 240

http://www.scoop.it 240

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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