Rapport_pfe_yassine (3)
Rapport_pfe_yassine (3)
Rapport_pfe_yassine (3)
Résumé :
Ce travail s’inscrit dans le cadre du projet de fin d’études en vue de l’obtention du diplôme
national de Licence Fondamentale en Sciences Informatique. Le projet intitulé « Mise en place
d’une plateforme éducative en ligne » est réalisé sur une période de quatre mois, consiste
à développer une plateforme qui facilite l’éducation de nos élèves de l’école primaire en
leurs offrants des cours en ligne, des exercices d’application, des quiz et des examens. Ce
projet est développé par symfony 4, framework PHP, et MySQL qui est une base de données
Relationelle.
Mots clés : Symfony4,PHP , twig, MySQL, Javascript, jQuery ,Bootstrap, HTML, CSS.
Abstract :
This work is part of the End of Study Project with a view to obtaining the national diploma
of Basic License in Computer Sciences. The project entitled « Establishment of an online
educational platform » and released in a period of four months, consists in developing a
platform that facilitates the education of our primary school students by offering them online
courses, application exercises, quizzes and exams. This project, is developed by symfony 4,
PHP framework, and MySQL which is a relational database
Key-words : Symfony4,PHP , twig, MySQL, Javascript, jQuery ,Bootstrap, HTML, CSS.
Page i
DÉDICACES
Dans ces instants de jovialité et de reconnaissance, je me permets d’offrir ce travail
À mon cher papa Afif .
Aucune dédicace ne saurait exprimer l’amour,l’estime, le dévouement et le respect que j’ai
toujours eu pour toi. Rien au monde ne vaut les efforts fournis jour et nuit pour mon
éducation et mon bien être. Ce travail est le fruit de tes sacrifices que tu as consentis pour
mon éducation et ma formation.
Page ii
À tous les membres de ma famille, mes voisins et mes amies.
Merci pour vos amours et vos encouragements.
Landari Yassine
Page iii
REMERCIEMENT
Je tiens à remercier toutes les personnes qui ont contribué au succès de ce stage grâce à
leurs conseils et leurs orientations.
Tout d’abord, je cite la société Dot IT qui m’a ouvert sa porte et m’a donné de la confiance
et en particulier Monsieur Monastiri Karawat Abderahim, qui malgré leur engagement, a
accepté de m’encadrer et de me diriger.
Ensuite, j’adresse mes remerciements à ma professeure, Dr. Abbes Hanen, qui m’a minutieusement
orienté tout au long de ce travail . Vos conseils judicieux méritent toute attention et respect.
Je témoigne ici à tous les membres du jury, toutes mes reconnaissances et mes respects
que j’ai pour eux d’avoir accepté d’évaluer mon travail.
Enfin, je souhaite souligner tant de gratitude envers le corps enseignant à l’institut Supérieur
d’Informatique et de Mathématiques de Monastir, qui ont fait preuve d’excellence pédagogique
et professionnelle.
Page iv
TABLE DES MATIÈRES
INTRODUCTION GÉNÉRALE 2
Page v
TABLE DES MATIÈRES
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2 Identification des acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3 Spécification des besoins fonctionnels . . . . . . . . . . . . . . . . . . . . . 19
2.4 Diagramme de cas d’utilisation global . . . . . . . . . . . . . . . . . . . . . 20
2.5 Raffinement des cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5.1 Espace Administrateur . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5.1.1 Diagramme de cas d’utilisation "Gérer les maîtres(ses)" . . 23
2.5.1.2 Diagramme de cas d’utilisation "Gérer les matiéres" . . . . 25
2.5.2 Espace Maître(sse) . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.5.2.1 Diagramme de cas d’utilisation "Gérer cours" . . . . . . . 28
2.5.2.2 Diagramme de cas d’utilisation "Gérer quiz" . . . . . . . . 29
2.5.3 Espace Eléve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.6 Spécification des besoins non fonctionnels . . . . . . . . . . . . . . . . . . . 33
2.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3 Conception 35
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2 Langage de modélisation utilisée . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4 Diagramme de séquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4.1 Cas d’utilisation "S’authentifier" . . . . . . . . . . . . . . . . . . . . 39
3.4.2 Cas d’utilisation "S’inscrire" . . . . . . . . . . . . . . . . . . . . . . 40
3.4.3 Cas d’utilisation "Modifier Eléve" . . . . . . . . . . . . . . . . . . . 40
3.4.4 Cas d’utilisation "Ajouter Quiz" . . . . . . . . . . . . . . . . . . . . 41
3.4.5 Cas d’utilisation "Supprimer Question" . . . . . . . . . . . . . . . . 42
3.4.6 Cas d’utilisation "Télécharger Examen" . . . . . . . . . . . . . . . . 43
3.5 Diagramme de déploiement . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4 Réalisation 47
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.2 Architecture de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.2.1 Architecture MVC . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Page vi
TABLE DES MATIÈRES
CONCLUSION GÉNÉRALE 54
WEBOGRAPHIE 54
Page vii
LISTE DES FIGURES
Page viii
Liste des tableaux
Page ix
LISTE DES ABRÉVIATIONS
CU Cas d’utilisation
Page 1
INTRODUCTION GÉNÉRALE
Être physiquement présent dans une salle de classe n’est plus la seule option d’apprentissage
c’est pourquoi, les élèves les collégiens, les lycéennes et les étudiants, tous ont poursuivi leurs
cours en ligne afin de rattraper le programme et réussir l’année. Vu la contrainte du temps,
on a remarqué que les cours seulement reste insuffisant surtout pour nos élèves de l’éducation
primaire, le pratique est toujours un enjeu nécessaire pour renforcer l’apprentissage.
C’est dans ce contexte que s’inscrit mon projet de fin d’études qui consiste à développer
une plateforme d’éducation en ligne pour le compte des élèves. Ainsi, pour bien mener mon
projet, il serait judicieux de suivre une démarche méthodique afin de répondre aux critères de
définition des besoins, de bonne planification et surtout de rigueur.
Ce rapport présente l’ensemble des étapes suivies pour développer l’application. Il contient
quatre chapitres.
Le premier chapitre, intitulé "Présentation du cadre du projet" sera consacré à la description
du l’organisme d’accueil et du projet. Le deuxième chapitre, intitulé " Analyse et spécification
des besoins " sera consacré à l’identification des acteurs, présentation des cas d’utilisation
généraux et raffinées, et description des besoins non fonctionnels. Le troisième chapitre intitulé
"Conception" sera consacré à la conception de mon application. Finalement, le quatrième
chapitre intitulé "Réalisation" couronnera le travail réalisé en exposant l’architecture, l’environnement
de travail, les techniques utilisées ainsi que les interfaces de mon application. Je clôturerai par
une conclusion générale qui résumera mon travail.
Page 2
Chapitre
1
Présentation du cadre du projet
Sommaire
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Présentation de l’organisme d’accueil . . . . . . . . . . . . . 4
1.2.1 Présentation de l’entreprise . . . . . . . . . . . . . . . . . . . . 4
1.2.2 Secteur d’activité . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Présentation du projet . . . . . . . . . . . . . . . . . . . . . . 6
1.3.1 Contexte général et problématique . . . . . . . . . . . . . . . . 6
1.3.2 Travail demandé . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Analyse et critique de l’existant . . . . . . . . . . . . . . . . . 7
1.4.1 Analyse de l’existant . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4.2 Critique de l’existant . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.3 Solution proposée et objectifs . . . . . . . . . . . . . . . . . . . 13
1.5 Méthodologie adoptée . . . . . . . . . . . . . . . . . . . . . . . 13
1.5.1 Principes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5.2 Vue d’ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.5.3 Synthèse des étapes . . . . . . . . . . . . . . . . . . . . . . . . 14
1.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Page 3
CHAPITRE 1. PRÉSENTATION DU CADRE DU PROJET
1.1 Introduction
Dans ce chapitre, je commence par présenter l’organisme d’accueil et ses secteurs d’activité,
puis je tâcherai d’expliquer les motivations et les objectifs du projet, ensuite je me concentrerai
à analyser et critiquer l’existant pour enfin finir avec la présentation de la méthodologie
adoptée.
Page 4
CHAPITRE 1. PRÉSENTATION DU CADRE DU PROJET
• Solutions E-commerce [. . . ]
3. IT externalise : DOT IT offre une démarche d’outsourcing permettant de :
• Disposer d’une flexibilité et d’une réactivité pour gérer les variations de charge et
mobiliser toutes les compétences nécessaires.
• Redéployer des ressources humaines et financières vers des activités cœur du métier
et des projets à plus forte valeur ajoutée.
4. Web : DOT IT s’est spécialisée dans la création et la refonte de sites Web institutionnels,
vitrines et catalogues de type dynamique à travers la conception graphique Web Design :
Des chartes graphiques, des logos, des cartes visites, des affiches publicitaires et les sites
web.
5. Solutions mobiles : DOT IT assure la création, la conception et l’hébergement de
services WAP :
Page 5
CHAPITRE 1. PRÉSENTATION DU CADRE DU PROJET
• En accompagnant ses clients dans l’animation de leur service WAP. En y intégrant les
solutions de paiements adéquates sur les terminaux Android et iPhone.
Ce projet s’inscrit dans le cadre de stage de fin d’études pour l’obtention du diplôme
de licence fondamentale en sciences informatique à l’institut supérieure de l’informatique et
mathématiques de Monastir, Ce stage s’est déroulé au sein de « Dot IT » pour une période de
4 mois du 15 février 2021 au 15 juin 2020.
La réussite des élèves dépend de la qualité des informations. Les maîtres(ses) doivent bien
préparer leurs cours afin de bien passer l’information d’une façon pédagogique sans oublier la
nécessité de choisir des exercices d’application convenable.
Durant ces deux dernières années l’apprentissage primaire rencontré des failles, je peux en
citer quelques-uns :
— Les cours restent incomplets et insuffisants : vu que les cours ont été assisté parfois en
classe et parfois en ligne.
— Manque des exercices de pratiques : l’apprentissage des élèves n’est pas renforcé vu
qu’il n’est basé que sur des cours et parfois un petit nombre d’exercices.
Page 6
CHAPITRE 1. PRÉSENTATION DU CADRE DU PROJET
Face à cette problématique, une plate-forme d’apprentissage en ligne pour les éléves s’avère
être très efficace et efficient. En effet, mon projet de fin d’études, consiste à concevoir et
développer une application publique dédiée à renforcer l’apprentissage des éléves afin d’améliorer
le niveau de nos futures cadres.
Cette plateforme vise à faciliter l’éducation de nos éléves de l’école primaire, en leurs
offrants des cours en ligne, des exercices d’application, des quizs et des examens.
— Module de création des cours : les maîtres(ses) inscrits dans la plateforme ajoutent des
cours de toutes les matières pour les différents niveaux d’éducation primaire. Ces cours
seront accessibles par n’importe quel éléve ayant un compte dans l’application.
— Module de création des exercices : les maîtres(ses) ajoutent des exercices qui correspond
à un cour donné afin de renforcer l’apprentissage.
— Module de création des examens : les maîtres(ses) importent des examens liés à une
matière donnée avec leurs corrections.
— Module de création des quizs : les maîtres(ses) crée des questions pour formuler des
quizs.
D’après l’étude que j’ai fait, il existe dans notre pays tant des plateformes d’éducation en
ligne. Généralement, chaque école privée possède une plateforme en ligne gui gère l’éducation
Page 7
CHAPITRE 1. PRÉSENTATION DU CADRE DU PROJET
de l’éléve et la relation entre le(s) maître(ses) et les parents . Sinon il y a d’autres qui ne
dépendent pas à une école précise, dont on peut cité quelques-uns.
« TOPNET SCHOOL » [2], un service exclusif pour les clients TOPNET leur permettant
de bénéficier d’une plateforme d’éducation en ligne pour tous les niveaux, grâce à une varieté
de cours et exercices en ligne conforme au programme de l’éducation nationale.
— Un espace collaboratif d’éducation via un réseau social dédié permettant aux élèves
d’interagir entre eux et avec des professeurs et partager des documents et activités
Page 8
CHAPITRE 1. PRÉSENTATION DU CADRE DU PROJET
1.4.1.2 Drousi.tn
1.4.1.3 Kademia.tn
Page 9
CHAPITRE 1. PRÉSENTATION DU CADRE DU PROJET
1.4.1.4 Monprof.tn
« Monprof.tn » [4] est une plateforme d’enseignement en ligne proposé par la startup
Estifida comme solution pour aider enseignants à finir leur mission durant la crise Covid
19. Cette plateforme est un complément aux plateformes des visioconférences, des groupes
Facebook et aux cours diffusés à la télévision nationale. Elle garantit à l’élève de poursuivre
son apprentissage et travailler sur des contenus interactifs envoyés par son enseignant et
recevoir des cours et des exercices conformes au programme de l’éducation nationale.
Page 10
CHAPITRE 1. PRÉSENTATION DU CADRE DU PROJET
le tableau 1.1 présente les avantages et les inconvénients de chaque solution sité dans la
partie d’avant :
Topnet School
— Activités interactives
Page 11
CHAPITRE 1. PRÉSENTATION DU CADRE DU PROJET
Drousi.tn
Kademia.tn
Monprof.tn
Page 12
CHAPITRE 1. PRÉSENTATION DU CADRE DU PROJET
Puisque la plupart des solutions sont soit payantes soit incomplet, je propose de mettre en
oeuvre une application web d’éducation en ligne qui va offrir un espace pour l’administrateur
les maîtres(ses) et les élèves.
Parmi les objectifs de mon application :
— Faciliter le partage des cours conforme au programme d’éducation national et des exercices
de pratique convenables.
Avant la réalisation d’un projet informatique, il est nécessaire de choisir une méthode de
travail et un procès de suivi afin d’aboutir à la fin un logiciel fiable.
J’ai choisi de travailler avec la méthode « Cycle en V ».
1.5.1 Principes
Le cycle en V est une méthode d’organisation très connue utilisé dans différents processus
de développement, notamment dans le développement de logiciels.
C’est l’une des premières méthodes qu’on apprend à l’école après le cycle en cascade, et à ce
jour, il reste le cycle de vie le plus utilisé.
Page 13
CHAPITRE 1. PRÉSENTATION DU CADRE DU PROJET
C’est un cycle de vie orienté test : A chaque activité créative (spécification, conception et
codage) correspond une activité de vérification (validation, intégration, tests unitaires).
De manière simplifiée, le cycle en V comprend les grandes étapes que l’on retrouve, pour
la plupart, dans le modèle en cascade
— Une première série d’étapes : le flux descendant, vise à détailler le produit jusqu’à sa
réalisation. Il comprend l’expression des besoins, l’analyse, la conception, puis la mise
en œuvre.
— Une deuxième série d’étapes : le flux ascendant, vise à valider le produit jusqu’à sa «
recette », c’est-à-dire son acceptation par le client. Il comprend principalement une série
de tests jusqu’à pouvoir valider que le produit répond au besoin et aux exigences.
— Spécifications fonctionnelles :
C’est le cahier des charges exact du produit final, tel que le désire le client. Il doit couvrir
l’intégralité des cas d’utilisation du produit, en expliquant ce qu’il doit faire et non pas
comment il va le faire.
— Spécifications techniques :
C’est une traduction des spécifications fonctionnelles en termes techniques. C’est durant
Page 14
CHAPITRE 1. PRÉSENTATION DU CADRE DU PROJET
l’élaboration des specs techniques que sont choisies les technologies à mettre en œuvre
pour développer le produit, et qu’est conçue l’architecture logicielle du produit.
— Codage :
C’est la phase de réalisation à proprement parler, pendant laquelle sont développées des
briques qui sont ensuite assemblées pour créer le produit fini.
— Tests unitaires :
Ces tests interviennent à un niveau « atomique ». Chaque brique logicielle a été modélisée
puis codée durant les étapes précédentes. Les tests unitaires assurent que ces briques
respectent de manière individuelle leur cahier des charges.
— Tests d’intégration :
Ce sont là les premiers tests grandeur nature du produit fini. On s’assure qu’il suit les
indications des spécifications techniques.
— Validation :
Le produit est à ce moment testé en regard de la spécification fonctionnelle. Toutes les
utilisations qui y ont été définies doivent pouvoir se vérifier dans les faits.
Page 15
CHAPITRE 1. PRÉSENTATION DU CADRE DU PROJET
1.6 Conclusion
Durant ce chapitre, j’ai présenté en premier lieu l’organisme d’accueil, ensuite, j’ai présenté
le projet de façon à donner une idée claire du travail qui sera réalisé par la suite, j’ai cité les
solutions existant dans le marché avec une étude critique et j’ai clôturé avec le choix de la
méthodologie qui sera utilisée tout au long du projet. Dans cette optique, j’entamerai dans le
chapitre suivant l’analyse et spécification des besoins.
Page 16
Chapitre
2
Analyse et spécification des besoins
Sommaire
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2 Identification des acteurs . . . . . . . . . . . . . . . . . . . . . 18
2.3 Spécification des besoins fonctionnels . . . . . . . . . . . . . 19
2.4 Diagramme de cas d’utilisation global . . . . . . . . . . . . . 20
2.5 Raffinement des cas d’utilisation . . . . . . . . . . . . . . . . 22
2.5.1 Espace Administrateur . . . . . . . . . . . . . . . . . . . . . . . 22
2.5.2 Espace Maître(sse) . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.5.3 Espace Eléve . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.6 Spécification des besoins non fonctionnels . . . . . . . . . . . 33
2.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Page 17
CHAPITRE 2. ANALYSE ET SPÉCIFICATION DES BESOINS
2.1 Introduction
La capture des besoins se considère comme étant une activité majeure sur laquelle le projet
peut avoir un élan remarquable. Tout au long de ce chapitre , j’entamerai mon travail avec
les acteurs intervenants dans le système en identifiant leurs besoins fonctionnels représentés
dans des diagrammes de cas d’utilisation. De même, je prêterai attention aux besoins non
fonctionnels du produit logiciel.
Quand on parle d’un acteur , on désigne toute personne ou machine voire un autre système
qui s’engage directement avec le système principal en vue d’accomplir un besoin bien déterminé.
le tableau 2.1 présente les principaux acteurs :
Administrateur C’est le responsable de notre plateforme ayant déjà un compte qui lui permet
de gérer des maîtres, des éléves, des niveaux et des matiéres.
Maître C’est un acteur qui sera inscrit pour créer un compte qui lui permet de gérer
des cours, des exercices, des examens, des questions et des quiz .
Eléve C’est un acteur qui sera inscrit pour créer un compte qui lui permet de
consulter des cours, s’inscrire à un/plusieurs cour(s), télécharger des exercices
et des examens et passer des quizs .
Page 18
CHAPITRE 2. ANALYSE ET SPÉCIFICATION DES BESOINS
— S’inscrire :
L’utilisateur (maître/éléve) pourra créer un compte dans la plateforme tout en identifiant
ses coordonnées afin de jouir de ses fonctionnalités.
— S’authentifier :
Chaque acteur doit s’authentifier afin d’accéder à son espace privé et bénéficier de ses
fonctionnalités.
Page 19
CHAPITRE 2. ANALYSE ET SPÉCIFICATION DES BESOINS
— Consulter cour :
L’éléve pourra consulter un cour et le télécharger en PDF.
— Télécharger exercice :
L’éléve pourra télcharger un exercice et sa correction.
— Télécharger examen :
L’éléve pourra télcharger un examen et sa correction.
— Passer un quiz :
L’éléve, pourra passer un quiz ************(à détailler).
Page 20
CHAPITRE 2. ANALYSE ET SPÉCIFICATION DES BESOINS
Page 21
CHAPITRE 2. ANALYSE ET SPÉCIFICATION DES BESOINS
Chaque acteur du système possède un espace spécifique où il peut bénéficier de ses fonctionnalités
et réaliser ses tâches.
— Gérer maîtres(ses) : confirmer les maîtres(ses) qui ont été inscrit à la plateforme, les
modifier ou bien les supprimer
— Gérer élèves : confirmer les élèves qui ont été inscrit à la plateforme, les modifier ou
bien les supprimer
— Gérer niveaux : créer les niveaux d’éducation disponible dans la plateforme, les modifier
ou bien les supprimer
— Gérer matières : créer les matières qui doivent exister, les modifier ou bien les supprimer
Page 22
CHAPITRE 2. ANALYSE ET SPÉCIFICATION DES BESOINS
Page 23
CHAPITRE 2. ANALYSE ET SPÉCIFICATION DES BESOINS
Acteurs Administrateur
Scénario nominal
Page 24
CHAPITRE 2. ANALYSE ET SPÉCIFICATION DES BESOINS
— Ajouter une matière qui doit être associé à un niveau d’éducation bien précis
Page 25
CHAPITRE 2. ANALYSE ET SPÉCIFICATION DES BESOINS
Acteurs Administrateur
Scénario nominal
Page 26
CHAPITRE 2. ANALYSE ET SPÉCIFICATION DES BESOINS
Page 27
CHAPITRE 2. ANALYSE ET SPÉCIFICATION DES BESOINS
— Ajouter un cour
— Modifier un cour
— Supprimer un cour
Acteurs maître(sse)
Page 28
CHAPITRE 2. ANALYSE ET SPÉCIFICATION DES BESOINS
Scénario nominal
— Modifier quiz
— Supprimer quiz
Page 29
CHAPITRE 2. ANALYSE ET SPÉCIFICATION DES BESOINS
Acteurs Maître(sse)
Page 30
CHAPITRE 2. ANALYSE ET SPÉCIFICATION DES BESOINS
Scénario nominal
— Consulter cour
— Télécharger exercice
— Télécharger examen
— Passer quiz
Page 31
CHAPITRE 2. ANALYSE ET SPÉCIFICATION DES BESOINS
Acteurs Eléve
Page 32
CHAPITRE 2. ANALYSE ET SPÉCIFICATION DES BESOINS
Scénario nominal
Ces besoins sont les contraintes techniques exigées et les fonctionnalités nécessaires pour
rendre la plateforme plus performante et qui se résument généralement en :
— Ergonomie : les interfaces utilisateur doivent être conviviales et faciles à exploiter par
les utilisateurs.
Page 33
CHAPITRE 2. ANALYSE ET SPÉCIFICATION DES BESOINS
2.7 Conclusion
Au fin de ce chapitre, j’ai entamé le travail avec l’identification des acteurs impliqués
dans le système. Puis, j’ai identifié les besoins fonctionnels à travers des scénarios et des
diagrammes de cas d’utilisation sans oublier les besoins non fonctionnels.
Durant le chapitre suivant, je me intéresserai à la phase de conception.
Page 34
Chapitre
3
Conception
Sommaire
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2 Langage de modélisation utilisée . . . . . . . . . . . . . . . . 36
3.3 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . 37
3.4 Diagramme de séquence . . . . . . . . . . . . . . . . . . . . . 39
3.4.1 Cas d’utilisation "S’authentifier" . . . . . . . . . . . . . . . . . 39
3.4.2 Cas d’utilisation "S’inscrire" . . . . . . . . . . . . . . . . . . . . 40
3.4.3 Cas d’utilisation "Modifier Eléve" . . . . . . . . . . . . . . . . . 40
3.4.4 Cas d’utilisation "Ajouter Quiz" . . . . . . . . . . . . . . . . . 41
3.4.5 Cas d’utilisation "Supprimer Question" . . . . . . . . . . . . . 42
3.4.6 Cas d’utilisation "Télécharger Examen" . . . . . . . . . . . . . 43
3.5 Diagramme de déploiement . . . . . . . . . . . . . . . . . . . 44
3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Page 35
CHAPITRE 3. CONCEPTION
3.1 Introduction
Après avoir réalisé l’analyse et spécification des besoins du projet, j’avance, dans ce
chapitre, dans la préparation de la phase de réalisation et ce en proposant une conception
plus détaillée pour mon système.
UML est un langage de modélisation graphique normalisé, basé sur les concepts orientés
objets. UML offre un standard de modélisation réfléchir, spécifier, visualiser, analyser, construire
et communiquer les documents nécessaires au bon développement oriente objets d’un logiciel.
Sans un moyen de communication standard tel que UML, il serait extrêmement difficile non
seulement de comprendre ce que font les autres personnes impliquées dans le développement,
mais aussi de transmettre les informations d’une activité à l’autre, d’une phase à l’autre et
d’une version à l’autre.
Page 36
CHAPITRE 3. CONCEPTION
Après l’étude approfondie des besoins et des cas d’utilisation, j’ai dégagé les entités de
mon projet qui se résument dans le diagramme des classes suivantes :
Page 37
CHAPITRE 3. CONCEPTION
Page 38
CHAPITRE 3. CONCEPTION
Afin d’accéder à son espace et jouir de ses fonctionnalités, l’utilisateur doit s’authentifier
en premier lieu.
Page 39
CHAPITRE 3. CONCEPTION
Afin de créer un compte, le maître ou bien l’éléve, peut accéder à la page d’inscription et
remplit un formulaire afin de saisir des coordonnées.
Page 40
CHAPITRE 3. CONCEPTION
Afin d’ajouter un quiz, le maître(sse), peut accéder à la page d’ajout et et remplit les
champs nécéssaire.
Page 41
CHAPITRE 3. CONCEPTION
Afin de supprimer une question, le maître(sse), peut accéder à la liste des questions et
choisit laquelle à supprimer.
Page 42
CHAPITRE 3. CONCEPTION
Afin de télécharger un examen, l’éléve, peut accéder à la liste des examens et choisit lequel
à télécharger.
Page 43
CHAPITRE 3. CONCEPTION
Page 44
CHAPITRE 3. CONCEPTION
application.
Page 45
CHAPITRE 3. CONCEPTION
3.6 Conclusion
J’ai présenté, tout au long de ce chapitre, le système souhaité à travers un certain nombre
de diagrammes. Je présente, dans le prochain chapitre, la phase de réalisation et de validation
qui mèneront à la mise en oeuvre de mon système.
Page 46
Chapitre
4
Réalisation
Sommaire
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.2 Architecture de l’application . . . . . . . . . . . . . . . . . . . 48
4.2.1 Architecture MVC . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.2.2 Architecture physique du projet . . . . . . . . . . . . . . . . . . 49
4.3 Environnement de travail . . . . . . . . . . . . . . . . . . . . . 50
4.3.1 Environnement matériel . . . . . . . . . . . . . . . . . . . . . . 50
4.3.2 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . 50
4.4 Choix technologique . . . . . . . . . . . . . . . . . . . . . . . . 52
4.5 Développement de la plateforme d’éducation en ligne . . . 53
4.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Page 47
CHAPITRE 4. RÉALISATION
4.1 Introduction
L’implémentation est la phase la plus importante après celle de la conception. Cette phase
consiste à transformer le modèle conceptuel établi précédemment en des composants logiciels
formant mon système. Ce chapitre qui est le dernier volet de ce rapport vient pour présenter
l’environnement matériel et logiciel, les choix technologiques réalisés ainsi que le résultat de
l’implémentation.
— Les vues : ce sont les représentations des résultats de la requête que l’utilisateur a
effectuée.
— Les contrôleurs : ils interceptent toutes les requêtes faites par les utilisateurs.
Page 48
CHAPITRE 4. RÉALISATION
Mon application sera basée sur une architecture MVC.Elle est composée d’une couche
physique de données (base de données), d’une couche accès aux données qui permet la manipulation
des données, d’une couche service qui contient les traitements métiers, d’une couche présentation
(IHM).
La figure 4.2 présente l’architecture de mon application Web.
Page 49
CHAPITRE 4. RÉALISATION
Au cours de notre projet, j’ai utilisé un ordinateur portable qui dispose de cette configuration :
Overleaf
Page 50
CHAPITRE 4. RÉALISATION
PhpStorm
PhpStorm est un éditeur pour PHP, HTML, CSS et JavaScript, édité par
JetBrains. Il permet d’éditer du code PHP pour les versions allant de la 5.3
à la 7.4
Gitlab
Git est un système de contrôle de versions open source qui contient
un ensemble d’outils logiciels. Il permet d’historiser différentes versions
d’un projet et facilite le travail collaboratif. Gitlab est une plateforme
totalement intégrée de développement logiciel qui fournit à votre équipe
la transparence, la rapidité, l’efficacité et cohésive de la discussion d’une nouvelle idée aux
productions, tous sur la même plateforme.
Wampserver
Wampserver permet d’installer et de gérer Apache, PHP, MySQL,
phpMyAdmin, Sqlite manager et un gestionnaire de services.Il permet
donc de faire tourner un serveur de développement pour des applications
en PHP sur votre ordinateur et permet la gestion SGBD relationnelle.
Page 51
CHAPITRE 4. RÉALISATION
En mesure de développer mon application, j’ai opté pour une multitude d’environnements
de développement présentés ci dessous :
PHP7
PHP est un langage de programmation libre, principalement utilisé pour
produire des pages Web dynamiques via un serveur HTTP, mais pouvant
également fonctionner comme n’importe quel langage interprété de façon
locale. PHP est un langage impératif orienté objet.
Symfony4
Symfony est un ensemble de composants PHP ainsi qu’un framework
MVC libre écrit en PHP. Il fournit des fonctionnalités modulables et
adaptables qui permettent de faciliter et d’accélérer le développement d’un
site web.
Bootstrap
Bootstrap est une collection d’outils utile à la création du design
(graphisme, animation et interactions avec la page dans le navigateur ...
etc. ...) de sites et d’applications web. C’est un ensemble qui contient
des codes HTML et CSS, des formulaires, boutons, outils de navigation et autres éléments
interactifs, ainsi que des extensions JavaScript en option.
HTML5/CSS3
Page 52
CHAPITRE 4. RÉALISATION
JQuery
jQuery est une bibliothèque JavaScript libre et multiplateforme créée pour
faciliter l’écriture de scripts côté client dans le code HTML des pages
web3.
MySQL
MySQL est un serveur de bases de données relationnelles SQL développé
dans un souci de performances élevées en lecture, ce qui signifie qu’il est
davantage orienté vers le service de données déjà en place que vers celui
de mises à jour fréquentes et fortement sécurisées. Il est multi-thread et multi-utilisateur.
Dans cette section, je vais présenter un certain nombre d’interfaces de mon application
pour visualiser quelques sénarios.
4.6 Conclusion
Dans ce chapitre, j’ai identifié les logiciels et les techniques que j’ai utilisées durant la
phase de développement de mon application. Puis, j’ai enrichi mon travail par des imprimes
écrans englobant la majorité des fonctionnalités.
Page 53
CONCLUSION GÉNÉRALE
************************************* ***************************************
******************************************************
Pour réaliser ce travail, j’ai commencé par définir le contexte général, létude et le critique
de l’existant ainsi que la méthodologie de travail adoptée. Ensuite j’ai effectué une analyse et
spécification des besoins auxquels devra répondre ma solution. Dans une étape suivante, j’ai
détaillé ma conception à travers le diagramme de classe, les diagrammes de séquences, et le
diagramme de déploiement. Puis, j’ai présenté l’architecture de l’application, l’environnement
de travail, les outils et les techniques utilisés tout au long de mon stage. Finalement, j’ai décrit
mon application à travers des captures d’écran.
Ce stage m’a permis d’approfondir mes connaissances théoriques, acquises tout au long
de ma formation. je me suis familiarisés avec le langage de modélisation UML, le framework
de développement Symfony 4 et le SGBD relationnel MySql.
Page 54
WEBOGRAPHIE
[1] Dot IT Sousse [en ligne]. Visité en février 2021. Disponible sur :
http ://www.dotit-corp.com/
[2] Topnet School [en ligne]. Visité en Mars 2021. Disponible sur :
https ://www.topnet.tn/offres/detail/services-securite-/topnet-school
[5] Diagramme de classe [en ligne]. Visité en février 2020. Disponible sur :
https ://www.uml-sysml.org/diagrammes-uml-et-sysml/diagramme-uml/diagramme-de-classe/
[6] Diagramme de séquence [en ligne]. Visité en Mai 2020. Disponible sur :
https ://www.uml-diagrams.org/sequence-diagrams.html
[7] Diagramme de deploiement [en ligne]. Visité en Mai 2020. Disponible sur :
https ://www.uml-diagrams.org/deployment-diagrams-overview.html
Page 55