Filière : Ingénierie en Data Science and IoT (IDSIT)
Rapport de projet de fin d’année
Conception et Développement d’une
application web de gestion d’un
cabinet dentaire
Présenté par : Membres de Jury :
Fadwa LACHAM [Link] NAFIL
Sara MASMOUDI [Link] RADOUANE
Encadré par :
[Link] ZELLOU
Année Universitaire : 2022-2023
Dédicace
À nos chers parents,
En signe de témoignage d’un immense respect et d’une profonde reconnaissance, nous
souhaitons exprimer notre gratitude pour les sacrifices et les efforts incommensurables
qu’ils ont consentis pour notre éducation et notre formation. Leur soutien inconditionnel
et leur amour indéfectible ont été les piliers de notre réussite. Leur dévouement sans
faille a été une source d’inspiration tout au long de notre parcours académique. Nous
leur sommes infiniment reconnaissants pour les valeurs, les enseignements et les
opportunités qu’ils nous ont offerts.
À nos chers frères et sœurs,
Nous voulons également adresser nos remerciements les plus sincères à nos frères et
sœurs pour leur soutien constant et leur encouragement. Leur présence bienveillante
dans nos vies a été une source de réconfort et de motivation.
À tous nos amis et nos collègues,
Nous tenons à exprimer notre profonde reconnaissance envers nos amis et nos collègues,
qui ont partagé avec nous des moments de joie, de soutien mutuel et de collaboration
tout au long de notre parcours académique. Leur présence et leur encouragement ont été
essentiels pour surmonter les défis et atteindre nos objectifs. Leur amitié sincère et leur
esprit d’équipe ont contribué à rendre cette expérience enrichissante et mémorable.
À tous nos professeurs,
Nous souhaitons exprimer notre profonde gratitude envers tous nos professeurs, dont la
passion, les connaissances et le dévouement ont été sources d’inspiration. Leur patience,
leurs encouragements et leurs précieux enseignements ont façonné notre parcours
académique et nous ont permis d’acquérir les compétences nécessaires pour relever les
défis futurs. Leur mentorat et leurs conseils avisés resteront gravés dans notre esprit.
À toute la famille,
Nous voulons exprimer notre gratitude envers toute notre famille élargie pour leur
amour, leur soutien et leur présence constante. Leur soutien moral et leurs
encouragements ont été un moteur essentiel dans notre parcours. Nous sommes
reconnaissants d’avoir une famille unie qui nous a soutenus à chaque étape de notre vie.
Aucun mot ou expression ne pourrait pleinement valoriser les sacrifices que nos parents,
notre famille, nos amis et nos enseignants ont consentis pour notre bien-être, notre
éducation et notre formation. Leur soutien indéfectible restera à jamais gravé dans nos
cœurs et nous les remercions du fond du cœur pour tout ce qu’ils ont fait pour nous.
I
Remerciements
La présentation de ce modeste travail nous offre l’occasion d’exprimer
notre profonde gratitude à Monsieur Ahmed ZELLOU , Professeur à
l’Ecole Nationale Supérieure de l’Informatique et de l’Analyse des Sys-
tèmes ENSIAS, qui a bien voulu diriger ce travail pendant toute la durée
de l’expérimentation et la mise en forme du document final. Ses nombreux
conseils ne nous ont jamais fait défaut. Nous sommes heureux de lui expri-
mer ici notre respectueuse reconnaissance.
Nous souhaitons également exprimer notre sincère reconnaissance à Mon-
sieur Taoufik RACHAD, notre chef de filière à l’Ecole Nationale Supé-
rieure de l’Informatique et de l’Analyse des Systèmes ENSIAS. Nous tenons
à le remercier pour son soutien, ses précieux conseils et sa disponibilité tout
au long de notre parcours académique. Sa passion pour l’informatique et
son dévouement envers ses étudiants ont été une source d’inspiration pour
nous. Nous sommes reconnaissants de l’avoir eu comme guide et nous lui
exprimons notre profonde gratitude pour son accompagnement.
Nous tenons également à remercier les membres du jury Monsieur Moha-
med RADOUANE et Monsieur Khalid NAFIL, pour l’intérêt qu’ils
ont porté à ce travail et pour les remarques constructives qu’ils ont fait sur
notre projet.
Un profond respect et un remerciement particulier pour tout le corps pro-
fessoral de l’Ecole Nationale Supérieure de l’Informatique et de l’Analyse
des Systèmes ENSIAS, pour le travail énorme qu’il effectue pour nous créer
les conditions les plus favorables pour le déroulement de nos études.
Nous adressons nos profonds remerciements à nos familles qui ont tou-
jours été présentes à notre côté au long de notre projet de fin d’études.
II
Que tous ceux et celles qui ont contribué de près ou de loin à l’accom-
plissement de ce travail trouvent l’expression de Nos remerciements les
plus chaleureux.
III
Résumé
L’objectif de notre projet de fin d’année, présenté dans ce rapport, est
la conception et la réalisation d’une application web qui aide les dentistes
à augmenter la fiabilité et l’efficacité de l’effort humain, tout en facilitant
les tâches pénibles au sein d’un cabinet dentaire. Notre application permet
également d’avoir un bilan général de l’anamnèse de chaque patient avant
de passer aux examens physiques. La rédaction des ordonnances peut sou-
vent conduire à la réception d’un mauvais médicament, d’où la nécessité de
développer un module d’ordonnance visant à offrir une ordonnance lisible
sous forme numérique.
Le processus de développement a été réalisé en trois phases :
• La première phase : La collecte des informations et l’étude du marché
potentiel de notre application.
• La deuxième phase : La conception du système avec le langage de
modélisation MERISE.
• La troisième phase : L’implémentation de notre application, où nous
avons utilisé le langage de programmation « PHP », le Framework
« LARAVEL 10 » et d’autres outils similaires.
Ce rapport présente en détail l’analyse, la conception, le développement
et la réalisation du projet.
Mots clés : MERISE, PHP, Laravel 10.
IV
Abstract
The objective of our end-of-year project, presented in this report, is the
design and development of a web application that helps dentists increase
reliability and efficiency in their work while simplifying arduous tasks wi-
thin a dental clinic. Our application also allows for a comprehensive patient
medical history assessment prior to physical examinations. The process of
writing prescriptions often leads to the receipt of incorrect medication,
highlighting the need for a prescription module that provides legible digi-
tal prescriptions.
The development process consisted of three phases :
• The first phase involved gathering information and studying the po-
tential market for our application.
• The second phase focused on system design using the MERISE mo-
deling language.
• The third phase encompassed the implementation of our application,
utilizing the PHP programming language, the Laravel 10 Framework,
and various related tools.
This report provides a comprehensive overview of the project, including
analysis, design, development, and implementation.
Keywords : MERISE, PHP, Laravel 10.
V
Liste des abréviations
SI Système d’Information
MERISE Méthode d’Etude de Réalisation Informatique par
Sous-Ensembles
CSS Cascading Style Sheet
PHP Hypertext Preprocessor
HTML Hypertext Markup Language
SQL Structured Query Language
SGBD Système de Gestion de Base de Données
VI
Table des figures
1.1 Equipe de travail. . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Schéma de modèle en V. . . . . . . . . . . . . . . . . . . . . 8
1.3 Diagramme de Gantt de base. . . . . . . . . . . . . . . . . . 9
2.1 Le modèle conceptuel des communications. . . . . . . . . . . 13
2.2 Etablir un rendez-vous. . . . . . . . . . . . . . . . . . . . . 14
2.3 Préparation de la fiche du patient. . . . . . . . . . . . . . . 15
2.4 Etablir une ordonnance. . . . . . . . . . . . . . . . . . . . . 15
2.5 Le dictionnaire de données. . . . . . . . . . . . . . . . . . . 16
2.6 Le modèle conceptuel des données. . . . . . . . . . . . . . . 18
3.1 Logo « PHP » . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2 Logo « HTML5 » . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3 Logo « Css3 » . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4 Logo « JS » . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.5 Le schéma Modèle-Vue-Contrôleur. . . . . . . . . . . . . . . 25
3.6 Logo framework « Laravel » . . . . . . . . . . . . . . . . . . 27
3.7 Logo composer . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.8 Commande d’installation Laravel 10 ([Link]) . . . . . 28
3.9 Logo « Laravel Breeze » . . . . . . . . . . . . . . . . . . . . 28
3.10 Logo « Dompdf » . . . . . . . . . . . . . . . . . . . . . . . . 29
3.11 Logo « Bootstrap » . . . . . . . . . . . . . . . . . . . . . . . 30
3.12 Logo « SGBD MySQL » . . . . . . . . . . . . . . . . . . . . 31
3.13 Logo « Visual Studio Code » . . . . . . . . . . . . . . . . . . 31
3.14 Logo « Xampp » . . . . . . . . . . . . . . . . . . . . . . . . 32
3.15 page d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.16 Page de registre . . . . . . . . . . . . . . . . . . . . . . . . 33
3.17 Page de login . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.18 Envoyé le lien pour réinitialiser le mot de pass . . . . . . . . 34
3.19 Tableau de bord de médecin . . . . . . . . . . . . . . . . . 35
3.20 Liste des patients . . . . . . . . . . . . . . . . . . . . . . . . 35
VII
Table des figures
3.21 Affichage des informations d’un patient . . . . . . . . . . . . 36
3.22 Formulaire pour ajouter un patient . . . . . . . . . . . . . 36
3.23 Liste des Rendez-vous . . . . . . . . . . . . . . . . . . . . . 37
3.24 Formulaire d’ajout d’un Rendez-vous . . . . . . . . . . . . . 37
3.25 Confirmation par mail . . . . . . . . . . . . . . . . . . . . . 38
3.26 Liste des interventions . . . . . . . . . . . . . . . . . . . . . 38
3.27 Formulaire pour ajouter une intervention . . . . . . . . . . . 39
3.28 Liste des ordonnances . . . . . . . . . . . . . . . . . . . . . 39
3.29 Affichage des informations d’une ordonnance . . . . . . . . . 39
3.30 PDF généré pour l’ordonnance . . . . . . . . . . . . . . . . 40
3.31 Formulaire pour ajouter une ordonnance . . . . . . . . . . 40
VIII
Table des matières
Dédicace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I
Remerciements . . . . . . . . . . . . . . . . . . . . . . . . . . . . II
Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IV
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Introduction générale . . . . . . . . . . . . . . . . . . . . . . . . 1
Chapitre 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1 Contexte général du projet . . . . . . . . . . . . . . . . . . . 3
1.1 Contexte du travail . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Objectif du projet . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.1 Objectif général du projet . . . . . . . . . . . . . . . . 4
1.3.2 Objectif pédagogique . . . . . . . . . . . . . . . . . . 5
1.4 Cahier de charges . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4.1 Analyse des besoins . . . . . . . . . . . . . . . . . . . 5
1.4.2 Les besoins fonctionnels . . . . . . . . . . . . . . . . 5
1.4.3 Les besoins non fonctionnels . . . . . . . . . . . . . . 6
1.5 Equipe de projet . . . . . . . . . . . . . . . . . . . . . . . . 7
1.6 Méthodologie . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.6.1 Modèle de cycle de vie en V . . . . . . . . . . . . . . 7
1.7 Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.7.1 Diagramme de Gantt de base . . . . . . . . . . . . . . 8
1.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Chapitre 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2 Analyse et Conception . . . . . . . . . . . . . . . . . . . . . 10
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 11
IX
Table des matières
2.2 La Méthode utilisée Merise . . . . . . . . . . . . . . . . . . 11
2.2.1 Présentation de la méthode MERISE . . . . . . . . . 11
2.2.2 Le fondement de MERISE . . . . . . . . . . . . . . . 11
2.2.3 Les différents modèles de la méthode MERISE . . . . 12
2.2.4 Le modèle conceptuel des communications (MCC) . . 13
2.2.5 Modèle conceptuel des traitements . . . . . . . . . . . 14
2.2.6 Modèle conceptuel de données (MCD) . . . . . . . . . 15
2.2.7 Modèle logique de données (MLD) . . . . . . . . . . . 18
2.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Chapitre 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Environnement du travail . . . . . . . . . . . . . . . . . . . 21
3.2.1 Environnement matériel . . . . . . . . . . . . . . . . . 21
3.3 Outil de conception . . . . . . . . . . . . . . . . . . . . . . 21
3.4 Language de programmation . . . . . . . . . . . . . . . . . 22
3.4.1 PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4.2 HTML . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4.3 CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4.4 JavaScript . . . . . . . . . . . . . . . . . . . . . . . . 23
3.5 Architecture MVC . . . . . . . . . . . . . . . . . . . . . . . 24
3.6 Choix du Framework . . . . . . . . . . . . . . . . . . . . . . 25
3.6.1 Laravel . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.6.2 Bootstrap . . . . . . . . . . . . . . . . . . . . . . . . 29
3.7 Système de gestion de bases de données (SGBD) . . . . . . 30
3.7.1 MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.8 Environnement logiciel . . . . . . . . . . . . . . . . . . . . 31
3.8.1 Visual Studio Code . . . . . . . . . . . . . . . . . . . 31
3.8.2 XAMPP . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.8.3 Interfaces Graphiques . . . . . . . . . . . . . . . . . . 32
3.9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Conclusion et perspectives . . . . . . . . . . . . . . . . . . . . . 41
Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
X
Introduction générale
L’informatique est indéniablement la révolution la plus marquante de ce
siècle, apportant des avantages considérables à tous les aspects de notre vie.
Bien plus qu’une simple tendance, elle améliore notre quotidien de manière
significative. Aucun domaine n’échappe à son influence, offrant de nom-
breux services aussi bien aux entreprises et administrations qu’au grand
public. C’est dans ce contexte que s’inscrit notre projet de fin d’année, qui
vise à exploiter les multiples opportunités offertes par l’informatique. Notre
objectif est d’utiliser cette technologie pour fournir des solutions pratiques
et efficaces, améliorant ainsi notre manière de vivre et de travailler.
L’objectif de ce projet est de développer une application web pour la
gestion des patients dans un cabinet médical. En automatisant les tâches
essentielles telles que la collecte des données de diagnostic et la gestion des
rendez-vous, nous visons à améliorer l’efficacité globale du cabinet médi-
cal. Grâce à l’utilisation de langages de programmation et de frameworks
adaptés, nous facilitons l’accès rapide aux informations des patients. Notre
application offre la création et la gestion des dossiers médicaux, la plani-
fication des rendez-vous et la génération de rapports pertinents. En sim-
plifiant la recherche et le suivi des données médicales, nous contribuons à
une meilleure gestion des patients et à une amélioration des soins médicaux.
Le présent rapport doit être bien structuré pour être exploité après la
mise en place de l’application, et nous l’avons organisé de la manière sui-
vante :
• Dans le premier chapitre, nous présentons une description complète
du projet avec les utilisateurs qu’ont le droit d’accès à ce service.
• Le deuxième chapitre aborde la phase de conception de données-
méthodes. en spécifiant la méthodologie adaptée pour la conception.
1
Introduction générale
• Finalement, au niveau du dernier chapitre intitulé réalisation, nous
présentons les différents outils de développement, ainsi que les princi-
pales interfaces graphiques réalisées et quelques scénarios applicatifs.
2
Chapitre 1
Contexte général du projet
Dans ce chapitre, nous allons commencer par analyser la problématique
de notre projet de fin d’année ainsi la spécification des besoins et la modé-
lisation des fonctionnalités fournies par le système pour proposer une so-
lution et atteindre ces objectifs. Ce chapitre contient aussi l’organigramme
de l’équipe de projet.
3
Chapitre 1. Contexte général du projet
1.1 Contexte du travail
Ce chapitre situe le projet dans son contexte général, en commençant
par l’objectif du projet,cahier de charges, la méthodologie du travail, et
planning.
1.2 Problématique
Dès les premières années de Construction des cabinets dentaires , les
dentistes s’orientaient à un objectif bien déterminé, celui-ci se résumait à
comment aider les patients avec des moyens faciles et rapides. Mais mal-
gré tous les efforts des dentistes il reste des difficultés, parmi lesquelles :
L’archivage des dossiers des patients sur des feuilles peut engendrer leur
perte et perdre beaucoup de temps pour trouver un dossier ; la modification
d’un élément dans un dossier peut obliger le médecin à refaire un nouveau
dossier. A cause de ces difficultés, les dentistes préfèrent s’approprier des
bénéfices liés à l’automatisation de l’informatisation dans le but de simpli-
fier, sécuriser et optimiser leur travail.
1.3 Objectif du projet
1.3.1 Objectif général du projet
Dans le cadre de notre projet, nous développons une application web
complète pour la gestion des cabinets dentaires. Notre objectif principal
est d’optimiser les processus de travail et d’améliorer l’efficacité des den-
tistes. Notre application offre une gamme de fonctionnalités essentielles,
notamment la gestion des patients, la collecte des données médicales et la
planification des rendez-vous . De plus, nous incluons la gestion des fac-
tures et des interventions, permettant aux dentistes de créer des factures
détaillées et de suivre l’historique des traitements effectués. Grâce à notre
application, les dentistes pourront offrir des soins de qualité supérieure tout
en optimisant la gestion globale de leur cabinet dentaire.
4
Chapitre 1. Contexte général du projet
1.3.2 Objectif pédagogique
Réinvestir nos connaissances acquises tout au long du deuxième semestre
principalement dans les éléments suivants : conception MERISE et tech-
nologie PHP.
1.4 Cahier de charges
1.4.1 Analyse des besoins
La spécification des besoins constitue la phase de départ de toute appli-
cation web à développer. Dans cette partie nous allons identifier les besoins
de notre système d’information. Nous allons mettre l’accent sur les besoins
fonctionnels ainsi que les besoins non fonctionnels pour éviter le dévelop-
pement d’un site web non satisfaisant.
1.4.2 Les besoins fonctionnels
Les besoins fonctionnels représentent les principales fonctionnalités du
système. Ils proviennent généralement des utilisateurs du système. La so-
lution proposée doit offrir :
• Une interface qui contient la page d’authentification.
• Une interface qui contient la page de registre.
• Une interface qui présente le tableau de bord qui s’affiche au médecin.
• Une interface qui présente le tableau de bord qui s’affiche aux patients.
• Un module pour la gestion des patients.
• Une interface qui contient un formulaire d’anamnèse.
• Un module pour la gestion des rendez-vous.
• Une interface pour la prescription des ordonnances.
• Un module pour la gestion des interventions.
5
Chapitre 1. Contexte général du projet
1.4.3 Les besoins non fonctionnels
Les besoins non fonctionnels décrivent les objectifs liés aux performances
du système et aux contraintes de son environnement. Ses exigences tech-
niques sont souvent exprimées sous forme d’objectifs spécifiques que doit
atteindre le système :
• La maintenabilité : Le code doit être compréhensible par simple lec-
ture, notamment en respectant les règles de gestion et les normes de
développement.
• Exploitabilité : Les impacts en termes de performances doivent être
pris en compte lors du développement, ainsi que la consommation des
ressources (CPU, mémoire, etc.) qui doit être minimisée.
• Sécurité : Le médecin et les patients pour accéder à l’application sont
obligés(es) de s’authentifier par un nom d’utilisateur et un mot de
passe. Ils ne pourront accéder qu’aux pages qui leur sont permises par
leur profil ou les droits d’accès qui leur sont affectés par l’administra-
teur.
• Ergonomie des interfaces de l’application web : Le design ergonomique
d’une application web doit prendre en compte de nombreux critères,
qui agissent en synergie au service de l’expérience utilisateur. Il vise
essentiellement quatre objectifs :
– Utilisabilité
– Lisibilité
– Interactivité
– Accessibilité
6
Chapitre 1. Contexte général du projet
1.5 Equipe de projet
Fig. 1.1 : Equipe de travail.
1.6 Méthodologie
1.6.1 Modèle de cycle de vie en V
Le modèle en V décrit les différents niveaux de test et explique les dif-
férentes étapes du cycle de vie correspondant à ces niveaux.
Dans la figure, la descente à gauche correspond aux différentes étapes du
processus de développement et les correspondantes sont les parties mon-
tantes à droite, c’est-à-dire les différentes étapes du processus de test.
En général, le cycle en V est plus adapté aux structures multisites, car
il ne demande pas de réunions quotidiennes, mais seulement des réunions
de pilotage actant le passage d’une phase à l’autre. Son aspect linéaire
autorise donc une organisation géographique éclatée, où le côtoiement des
collaborateurs n’est pas clé dans le processus.
7
Chapitre 1. Contexte général du projet
Fig. 1.2 : Schéma de modèle en V.
1.7 Planning
1.7.1 Diagramme de Gantt de base
Le diagramme de Gantt est un outil couramment utilisé en gestion de
projet pour visualiser de manière efficace l’avancement des tâches. Il offre
une représentation visuelle claire où chaque tâche est présentée sous forme
d’une barre horizontale, indiquant sa durée et sa date de début et de fin. Les
tâches sont répertoriées dans la colonne de gauche, tandis que les unités
de temps sont affichées en en-tête. Grâce à ce diagramme, il est facile
de planifier, coordonner et suivre les activités du projet, d’identifier les
dépendances entre les tâches et de détecter d’éventuels retards. C’est un
outil précieux pour assurer le respect des délais et la gestion efficace du
projet. Ce diagramme permet donc de visualiser d’un seul coup d’œil :
• Les différentes tâches à envisager
• La date de début et la date de fin de chaque tâche
• La durée escomptée de chaque tâche
• Le chevauchement éventuel des tâches, et la durée de ce chevauche-
ment.
• La date de début et la date de fin du projet dans son ensemble
En résumé, un diagramme de Gantt répertorie toutes les tâches à ac-
complir pour mener le projet à bien, et indique la date à laquelle ces tâches
8
Chapitre 1. Contexte général du projet
doivent être effectuées (le planning).
Fig. 1.3 : Diagramme de Gantt de base.
1.8 Conclusion
Ce chapitre a été le point de départ pour l’élaboration du projet, dans
la mesure où il décrivait l’objectif général à atteindre , le cahier de charge
de notre projet ainsi que la spécification de la méthodologie de cycle de vie
adopté et la plannification de notre projet .
9
Chapitre 2
Analyse et Conception
Après avoir abordé la phase d’étude préliminaire et analyse des besoins
fonctionnels et techniques, nous passons dans ce chapitre à l’étude concep-
tuelle et la réalisation de l’architecture effectuée.
10
Chapitre 2. Analyse et Conception
2.1 Introduction
Le développement d’une application Web passe par plusieurs étapes et
possède un cheminement long et complexe (cycle de vie du développement
logiciel), c’est pour cela qu’il est nécessaire de bien préparer et faire une
analyse afin d’éviter toute sorte d’erreurs qui mèneraient le projet à l’échec
et pour obtenir un logiciel de qualité. Dans ce chapitre on va donc s’intéres-
ser à l’analyse et la conception faites avant la réalisation de la plateforme.
2.2 La Méthode utilisée Merise
2.2.1 Présentation de la méthode MERISE
MERISE est une méthode de conception, de développement et de réa-
lisation de projets informatiques. Conçue en 1976, elle a connu une crois-
sante diffusion entre les équipes chercheurs et les entreprises de services
informatiques.
Le but de cette méthode est d’arriver à concevoir un système d’informa-
tion. La méthode MERISE est basée sur la séparation des données et des
traitements à effectuer en plusieurs modèles conceptuels et physiques.
2.2.2 Le fondement de MERISE
La méthode de MERISE repose sur trois formulations qui prennent
en charge tous les ascpects du travail de conception des SI.
• Formulation Conceptuelle : Cette formulation vise à formaliser les
données et les traitements nécessaires au système d’information, sans
aborder l’aspect organisationnel. Elle se concentre sur la modélisa-
tion des entités, des associations et des règles métier, et répond à la
question ”à quoi on s’intéresse ?”. C’est la partie la plus statique du
système..
• Formulation Organisationnelle : Cette formulation ajoute à la formu-
lation conceptuelle la notion de temps, de lieux et d’acteurs. Elle prend
11
Chapitre 2. Analyse et Conception
en compte les aspects temporels, géographiques et organisationnels du
système d’information. Elle répond aux questions telles que ”quand
une certaine tâche s’effectue ?”, ”où ?”, et ”par qui ?”. Elle permet de
modéliser les processus métier et les interactions entre les acteurs du
système.
• Formulation Opérationnelle : Cette formulation se concentre sur la
définition des solutions concrètes pour résoudre le problème identifié.
Elle répond à la question ”comment ?”. Elle permet de spécifier les
choix techniques, les interfaces, les programmes et les bases de don-
nées nécessaires à la mise en œuvre du système d’information.
2.2.3 Les différents modèles de la méthode MERISE
Afin de concrétiser ces formulations, la méthode MERISE propose
l’utilisation de différents modèles qui permettent de représenter les diffé-
rents aspects du système d’information. Ces modèles viennent compléter
les formulations en fournissant des représentations plus détaillées et spéci-
fiques. Les principaux modèles utilisés dans la méthode MERISE sont les
suivants :
• Modèle Conceptuel des Données (MCD) : représente la structure des
données, les entités, les associations et les règles métier.
• Modèle Organisationnel des Données (MOD) : prend en compte les
aspects temporels, géographiques et organisationnels du système.
• Modèle Conceptuel des Communications (MCC) : met l’accent sur les
échanges d’informations entre les acteurs.
• Modèle Organisationnel des Traitements (MOT) : décrit les processus
métier, les interactions entre les acteurs et les règles de traitement des
données.
• Modèle Physique des Données (MPD) : spécifie la façon dont les don-
nées sont stockées et organisées dans la base de données.
12
Chapitre 2. Analyse et Conception
2.2.4 Le modèle conceptuel des communications (MCC)
Le modèle des communications est un modèle de la méthode Merise
permettant de faire un inventaire des échanges d’informations entre les
différentes intervenants (acteurs internes et externes) du domaine étudié.
La construction du MCC nécessite la détermination des éléments suivants :
• Le domaine concerné par l’étude.
• Les acteurs impliqués, qui se divisent en acteurs internes et acteurs
externes .
• Les flux d’information .
Ainsi, dans notre système d’information, nous identifions les composants
suivants :
- Le domaine : le cabinet dentaire.
- Les acteurs internes : le dentiste.
- L’acteur externe : les patients.
- Les flux d’information : représentés par des flèches qui indiquent les
échanges d’informations entre les acteurs.
Fig. 2.1 : Le modèle conceptuel des communications.
13
Chapitre 2. Analyse et Conception
2.2.5 Modèle conceptuel des traitements
Le modèle conceptuel des traitements permet de traiter la dynamique
du système d’information, c’est-à-dire les opérations qui sont réalisées en
fonction d’évé[Link] modèle permet donc de représenter de façon sché-
matique l’activité d’un système d’information sans faire référence à des
choix organisationnels ou des moyens d’exécution.
Lors de l’élaboration du Modèle Conceptuel des Traitements (MCT),
il est essentiel de répondre aux questions suivantes :
• Qu’est-ce qui est réalisé ? Quelles sont les actions effectuées dans le
système ?
• Qui réalise ces actions ? Quels sont les acteurs ou les intervenants
impliqués ?
• Quand les actions sont-elles réalisées ? Quel est le déroulement tem-
porel des activités ?
• Où les actions sont-elles réalisées ? Quels sont les lieux ou les contextes
où se déroulent les traitements ?
Pour notre système, le Modèle Conceptuel des Traitements se présente
comme suit :
1. MCT rendez-vous
Fig. 2.2 : Etablir un rendez-vous.
2. MCT fiche patient
14
Chapitre 2. Analyse et Conception
Fig. 2.3 : Préparation de la fiche du patient.
3. MCT ordonnances
Fig. 2.4 : Etablir une ordonnance.
2.2.6 Modèle conceptuel de données (MCD)
[Link] Dictionnaire de données
Description centrale de la structure des données stockées dans la base
de données et il est utilisé à titre informationnel par les modules du SGBD
pour savoir où et comment sont stockées les informations.
15
Chapitre 2. Analyse et Conception
Fig. 2.5 : Le dictionnaire de données.
[Link] Dépendences fonctionnelles
• Déterminer les liens entre les données afin d’identifier l’ensemble des
entités et des relations qui les associent.
• Eliminer toute transitivité existante.
Pour notre système les dépendences fonctionnelles sont comme suit :
1. L’identifiant du patient permet d’avoir son nom, prénom, son CIN,
son email, son numéro de téléphone, son adresse et sa date de nais-
sance.
2. L’identifiant de la fiche du patient nous fournit des informations sur
l’état du patient donc il donne s’il est atteint par le diabète , hyper-
tension , maladie cardiaque , trouble coagulation , autre maladie ,
allergie et ses détails.
16
Chapitre 2. Analyse et Conception
3. L’identifiant de la table rendez-vous permet d’avoir la date du rendez-
vous.
4. L’identifiant de l’ordonnance nous donne la date de l’ordonnance et
le traitement préscrit.
5. L’identifiant de l’intervention nous fournit le type de l’intervention ,
et le montant.
[Link] Régles de gestion
Les règles de gestion du MCD précisent les contraintes d’intégrité qui
doivent être respectées par le modèle. Pour notre système, les règles de
gestion ont été définies de la manière suivante :
-Chaque patient est enregistré dans le système avec des informations telles
que son nom, son adresse, son numéro de téléphone, etc.
-Chaque patient peut prendre rendez-vous pour une consultation dentaire.
-Chaque rendez-vous est associé à un patient spécifique.
-Chaque rendez-vous a une date spécifique.
-Chaque patient peut avoir plusieurs ordonnances associées à différentes
consultations.
-Chaque intervention dentaire est associée à un patient et à un rendez-vous
spécifiques.
-Chaque utilisateur a son propre compte (Email+Mot de pass).
[Link] Elaboration du Modèle conceptuel de données (MCD)
Le modèle conceptuel des données (MCD) a pour but d’écrire de fa-
çon formelle les données qui seront utilisées par le système d’information
à l’aide d’entités et d’associations.
17
Chapitre 2. Analyse et Conception
Fig. 2.6 : Le modèle conceptuel des données.
2.2.7 Modèle logique de données (MLD)
Le modèle logique de données permet de modéliser la structure selon
laquelle les données seront stockées dans la future base de données.
Il est adapté à une famille de SGBD et permet ainsi d’implémenter la base
de données dans un SGBD donné.
◦ Patients(Pat_id,nom_pat,prenom_pat,adresse_pat,email,date_naissance,
cin,telephone,diabete,hypertension,trouble_coagulation,maladie_cardiaque,
autre_maladie,allergie,allergies_details).
◦ rdvs(rdv_id,#Pat_id).
◦ Ordonnances(id_Ord,date_ord,traitement,#rdv_id).
◦ Interventions(inter_id,type_intervention,montant,#rdv_id).
2.3 Conclusion
Dans ce chapitre nous avons abordé le cahier des charges, ainsi la
modélisation des données et des traitements en utilisant la méthode Me-
18
Chapitre 2. Analyse et Conception
rise (modèle conceptuel des communications, modèle conceptuel des trai-
tements, modèle conceptuel de données, modèle logique des données) qui
permettent de donner une vision bien détaillée sur le fonctionnement du
système. Maintenant nous allons entamer la phase de réalisation de notre
application.
19
Chapitre 3
Réalisation
Au niveau de cette dernière partie, nous nous intéressons aux outils de
développement utilisés pour la réalisation de notre application ainsi qu’aux
principales interfaces de l’application et quelques scénarios applicatifs.
20
Chapitre 3. Réalisation
3.1 Introduction
Ce chapitre a pour but de détailler les aspects techniques, graphiques
du projet.
3.2 Environnement du travail
3.2.1 Environnement matériel
• PC Portable 1 HP DESKTOP-5FDQ05H
◦ Intel® Core™ i5-1135G7 @ 2.40GHz 2.42 GHz
◦ Mémoire RAM 16GO.
• PC Portable 2 HP Pavilion laptop 15-cs0xxx
◦ Intel Core i5-1135G7 @ 2.40GHz 2.42 GHz
◦ Mémoire RAM 8GO.
3.3 Outil de conception
- Logiciel de Conception [Link] :
[Link] met à la disposition des adeptes de la méthode ME-
RISE et de ses utilisateurs des outils de modélisation pour construire leurs
modèles de manière bien structurée.
⋆ JFLUX : est un logiciel de modélisation des diagrammes conceptuels
de flux (MCC).
⋆ JMCT : est un logiciel de modélisation des diagrammes conceptuels
de traitements (MCT).
⋆ JMERISE : est un logiciel dédié à la modélisation des modèles concep-
tuels de donnée (MCD).
21
Chapitre 3. Réalisation
3.4 Language de programmation
Un langage de programmation est un mode de communication per-
mettant de dialoguer avec une machine en lui soumettant des instructions
à exécuter.
Choisir des langages très utilisés permet de bénéficier d’un meilleur sup-
port au moment du codage de l’application, et donc de développer une ap-
plication plus rapidement. Cela permet également d’obtenir un outil plus
robuste en suivant les conseils de développeurs plus expérimentés et de faci-
liter la maintenance ou l’évolution du produit par des personnes extérieures
au projet.
3.4.1 PHP
HyperText Préprocesseur, plus connu sous son sigle PHP (acronyme
récursif), est un langage de programmation libre, principalement utilisé
pour produire des pages Web dynamiques via un serveur HTTP, mais pou-
vant également fonctionner comme n’importe quel langage interprété de
façon locale. PHP est un langage impératif orienté objet. PHP a permis de
créer un grand nombre de sites web célèbres, comme Facebook, Wikipédia,
etc. Il est considéré comme une des bases de la création de sites web dits
dynamiques, également des applications web.
Fig. 3.1 : Logo « PHP »
3.4.2 HTML
L’HyperText Markup Language, généralement abrégé HTML, est le
langage de balisage conçu pour représenter les pages web. C’est un langage
permettant d’écrire de l’hypertexte, d’où son nom.
HTML permet également de structurer sémantiquement et logiquement et
de mettre en forme le contenu des pages, d’inclure des ressources multimé-
22
Chapitre 3. Réalisation
dias dont des images, des formulaires de saisie et des programmes informa-
tiques.
Il permet de créer des documents interopérables avec des équipements très
variés de manière conforme aux exigences de l’accessibilité du web. Il est
souvent utilisé conjointement avec le langage de programmation JavaScript
et des feuilles de style en cascade (CSS).
Fig. 3.2 : Logo « HTML5 »
3.4.3 CSS
Les feuilles de style en cascade1, généralement appelées CSS, forment
un langage informatique qui décrit la présentation des documents HTML .
Les standards définissant CSS sont publiés par le World Wide Web Consor-
tium (W3C).
Introduit au milieu des années 1990, CSS devient couramment utilisé dans
la conception de sites web et bien pris en charge par les navigateurs web
dans les années 2000.
Fig. 3.3 : Logo « Css3 »
3.4.4 JavaScript
JavaScript est un langage de programmation de scripts, principale-
ment utilisé dans les pages web interactives. C’est un langage orienté objet
à prototype, c’est-à-dire que les bases du langage et ses principales inter-
faces sont fournies par des objets qui ne sont pas des instances de classes,
mais qui sont équipés de constructeurs permettant de générer leurs pro-
priétés.
23
Chapitre 3. Réalisation
Le langage a été créé en 1995 par Brendan Eich pour le compte de Nets-
cape Communications Corporation.
Le langage actuellement à la version 1.8.2 est une implémentation de la 3e
version de la norme ECMA-262 qui intègre également des éléments inspirés
du langage Python.
La version 1.8.5 du langage est prévu pour intégrer la 5e version du stan-
dard ECMA.
Fig. 3.4 : Logo « JS »
3.5 Architecture MVC
Afin de clarifier l’architecture de note application et de simplifier la
tâche du développement nous avons choisi le patron MVC (Modèle-Vue-
Contrôleur) qui est un modèle destiné à répondre aux besoins des applica-
tions interactives en séparant les problématiques liées aux différents com-
posants au sein de leur architecture respective.
Ce patron regroupe les fonctions nécessaires en trois catégories :
◦ Modèle :
Un modèle contient les données utilisées par un programme. Il peut
s’agir d’une base de données, d’un fichier ou d’un simple objet. Par
exemple, un objet Client récupérera les informations de la base de
données, les manipulera et mettra à jour ses données dans la base de
données.
◦ Vue :
C’est avec quoi l’utilisateur interagit et se nomme précisément la vue.
Sa première tâche est de présenter les résultats renvoyés par le modèle.
Sa seconde tâche est de recevoir toute action de l’utilisateur (hover,
clic de souris, sélection d’un bouton radio, le fait de cocher une case,
24
Chapitre 3. Réalisation
entrée de texte, de mouvements, de voix, etc.). Ces différents événe-
ments sont envoyés au contrôleur. La vue n’effectue pas de traitement,
elle se contente d’afficher les résultats des traitements effectués par le
modèle et d’interagir avec l’utilisateur.
◦ Contrôleur :
Les contrôleurs agissent comme une interface entre le modèle et la vue,
pour traiter toute la logique métier et les requêtes entrantes, manipuler
les données à l’aide du composant Modèle et interagir avec les Vues
pour rendre le résultat final. Par exemple, le contrôleur « Client » va
traiter toutes les interactions et les entrées de la Vue « Client » et
mettre à jour la base de données en utilisant le Modèle « Client ». Le
même contrôleur sera utilisé pour visualiser les données du client.
Fig. 3.5 : Le schéma Modèle-Vue-Contrôleur.
3.6 Choix du Framework
En programmation informatique, un Framework (appelé aussi infra-
structure logicielle, infrastructure de développement, environnement de dé-
veloppement, socle d’applications, cadre d’applications ou cadriciel) est
un ensemble cohérent de composants logiciels structurels qui sert à créer
les fondations ainsi que les grandes lignes de tout ou partie d’un logiciel,
25
Chapitre 3. Réalisation
c’est-à-dire une architecture. Le Framework n’est pas indispensable pour la
création de notre site web. Cependant, pour que l’application soit robuste,
sécurisé, bien structurer, facile à faire évoluer et réalisable en un temps
minimum, un Framework représente un outil idéal.
3.6.1 Laravel
Laravel est un Framework web open-source écrit en PHP crée par Tay-
lor Otwell en juin 2011. Il respecte le modèle MVC (modèle-vue-contrôleur).
C’est un Framework orienté objet distribué sous licence MIT.
Laravel est un outil qui, dans sa conception, se base sur le meilleur de
plusieurs autres Framework (Symfony…) pour développer son propre sys-
tème et être plus efficace. Il possède également des composants qui lui sont
propres. En quelque sorte, Otwel a fait son marché parmi toutes les bi-
bliothèques disponibles. Nous verrons dans cet ouvrage comment cela est
réalisé.
Néanmoins, Laravel n’est pas seulement le regroupement de bibliothèques
existantes ; c’est aussi un ensemble de nombreux composants originaux et
surtout une orchestration de tout cela. Il fournit entre autres :
• Un système de routage des vues.
• Un créateur de requêtes SQL et une gestion de version de Base de
données.
• Un système d’authentification pour les connexions.
• Un système de cache.
• Une gestion de sessions.
• Un moteur de Template efficace,
• Un constructeur de formulaire très pratique…
26
Chapitre 3. Réalisation
Fig. 3.6 : Logo framework « Laravel »
[Link] Installation de Laravel 10 avec composer
• Composer :
Composer est un gestionnaire de dépendances pour PHP.
C’est un outil simple et fiable que les développeurs utilisent pour gérer
et intégrer des paquets ou des bibliothèques externes dans leurs projets
basés sur PHP. Ainsi, ils n’ont pas à créer leurs pages ou applications
web à partir de zéro.
Fig. 3.7 : Logo composer
• Installation de Laravel 10:
27
Chapitre 3. Réalisation
Fig. 3.8 : Commande d’installation Laravel 10 ([Link])
[Link] Bibliothèques de laravel 10
1. Laravel Breeze :
Laravel Breeze est une implémentation minimale et simple de toutes
les fonctionnalités d’authentification de Laravel, y compris la connexion,
l’inscription, la réinitialisation de mot de passe, la vérification d’email
et la confirmation de mot de passe. De plus, Breeze inclut une simple
page ”profil” où l’utilisateur peut mettre à jour son nom, son adresse
email et son mot de pass.
Fig. 3.9 : Logo « Laravel Breeze »
2. Laravel Dompdf :
Laravel Dompdf est une bibliothèque qui permet de générer des fichiers
PDF à partir de vues HTML dans le framework Laravel. Dompdf est
une bibliothèque PHP autonome qui facilite la création de fichiers
PDF à partir du contenu HTML.
Dans le contexte de Laravel, la bibliothèque Dompdf est intégrée en
tant que package et fournit une interface simple pour générer des fi-
chiers PDF à partir de vues. Elle utilise la syntaxe Blade de Laravel
28
Chapitre 3. Réalisation
pour faciliter la création de templates HTML et l’intégration des don-
nées dynamiques.
Laravel Dompdf s’appuie sur la bibliothèque Dompdf sous-jacente et
offre des fonctionnalités telles que la génération de tableaux, l’ajout
de styles CSS, l’inclusion d’images et bien plus encore. Elle permet
également de télécharger les fichiers PDF générés ou de les enregistrer
sur le serveur.
Fig. 3.10 : Logo « Dompdf »
3. La bibliothèque ”illuminate/mail” :
La bibliothèque ”illuminate/mail” est la composante de messagerie
de Laravel, qui est une partie intégrante du framework Laravel lui-
même. Elle offre des fonctionnalités pour envoyer des e-mails à partir
de votre application Laravel.
3.6.2 Bootstrap
Bootstrap, un Framework CSS, fait partie de ces outils qui accélèrent
grandement un projet web. Il étend les possibilités du langage CSS en
ajoutant plein de fonctionnalités et de composants. Je dirais plutôt, on
peut avoir le même résultat que du CSS en utilisant seulement Bootstrap.
Même si c’est un Framework CSS, il ajoute également un plus au HTML
et au JavaScript.
Parmi les avantages de l’utilisation du Bootstrap :
• Facile et rapide pour la mise en place de présentation d’une page web
• Il dispose d’un système de grille qui permet le positionnement des
éléments HTML sur une page web.
29
Chapitre 3. Réalisation
• La possibilité de rendre un site responsif de manière assez facile com-
parée aux méthodes purement CSS.
• Une compatibilité entre tous les navigateurs. Bootstrap permet à ce
que la présentation CSS soit similaire, quel que soit le navigateur
utilisé.
Fig. 3.11 : Logo « Bootstrap »
3.7 Système de gestion de bases de données (SGBD)
Un système de gestion de base de données (SGBD) est le logiciel qui
permet à un ordinateur de stocker, récupérer, ajouter, supprimer et mo-
difier des données. Un SGBD gère tous les aspects primaires d’une base
de données, y compris la gestion de la manipulation des données, comme
l’authentification des utilisateurs, ainsi que l’insertion ou l’extraction des
données.
Un SGBD définit ce qu’on appelle le schéma de données ou la structure
dans laquelle les données sont stockées. Toujours dans l’optique d’une opti-
misation de l’outil, il faut choisir le système de gestion de bases de données
le plus efficace possible.
Son adéquation avec les besoins du programme impacte directement le
temps de développement et la stabilité du système c’est pour ces raisons
que nous avons choisi le SGBD MySQL.
3.7.1 MySQL
Il s’agit d’une base de données relationnelle open-source sous licence
GPLv2. Elle est également développée par Oracle Corporation (ancienne-
ment par MySQL AB et Sun Microsystems). La première version a été
distribuée en 1995. MySQL est implémenté en C et C++ et disponible
sous FreeBSD, Linux, Solaris, OSX et Windows.
30
Chapitre 3. Réalisation
Il supporte également une grande variété de langages, dont PHP. MySQL
est un système de gestion de bases de données relationnelles (SGBDR).
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 et Microsoft SQL
Server.
Fig. 3.12 : Logo « SGBD MySQL »
3.8 Environnement logiciel
3.8.1 Visual Studio Code
Visual studio code est un éditeur de code extensible développé par
Microsoft pour Windows, Linux et macOS. Les fonctionnalités incluent la
prise en charge du débogage, la mise en évidence de la syntaxe, la com-
plétion intelligente du code, les snippets, la refactorisation du code et Git
intégré.
Fig. 3.13 : Logo « Visual Studio Code »
31
Chapitre 3. Réalisation
3.8.2 XAMPP
XAMPP est un ensemble de logiciels permettant de mettre en place
facilement un serveur Web local, un serveur FTP et un serveur de mes-
sagerie électronique. Il s’agit d’une distribution de logiciels libres offrant
une bonne souplesse d’utilisation, réputée pour son installation simple et
rapide.
Ainsi, il est à la portée d’un grand nombre de personnes puisqu’il ne re-
quiert pas de connaissances particulières et fonctionne, de plus, sur les
systèmes d’exploitation les plus répandus.
Fig. 3.14 : Logo « Xampp »
3.8.3 Interfaces Graphiques
[Link] Interface de page d’accueil
La page d’accueil est constitué par les éléments suivants :
- Login : permet au médecin et au patient d’accéder à leur compte.
- Register : permet de s’inscrire .
32
Chapitre 3. Réalisation
Fig. 3.15 : page d’accueil
[Link] Interface register
Fig. 3.16 : Page de registre
33
Chapitre 3. Réalisation
[Link] Interface login
Fig. 3.17 : Page de login
Fig. 3.18 : Envoyé le lien pour réinitialiser le mot de pass
[Link] Tableau de bord du médecin / patient
Après l’authentification du médecin / patient, le système affiche un
tableau de bord qui offre plusieurs fonctionnalités :
34
Chapitre 3. Réalisation
Fig. 3.19 : Tableau de bord de médecin
[Link] Module Patient
Cette page permet de gérer les patients (Ajouter – Supprimer et mo-
difier ) et elle affiche la liste de tous les patients de notre cabinet.
Fig. 3.20 : Liste des patients
Après un clic sur le bouton « view » le système affiche toutes les infor-
mations d’un patient.
35
Chapitre 3. Réalisation
Fig. 3.21 : Affichage des informations d’un patient
Cette page permet au le médecin d’ajouter un nouveau patient et au
patient d’entrer ses informations. En remplissant le formulaire suivant :
Fig. 3.22 : Formulaire pour ajouter un patient
Après un clic sur le bouton « edit » le système affiche un formulaire
(comme le formulaire de l’ajout) pour la modification des données d’un
36
Chapitre 3. Réalisation
patient précis.
Après un clic sur le bouton « supprimer » le système supprime une
ligne de la liste patient.
[Link] Module Rendez-Vous
Cette page permet de gérer les Rendez-vous (Ajouter – Supprimer et
modifier) et elle affiche la liste de tous les Rendez-vous enregistrés.
Fig. 3.23 : Liste des Rendez-vous
Le bouton « Ajouter un Rendez-vous » permet au médecin d’enregis-
trer un rendez-vous .
Fig. 3.24 : Formulaire d’ajout d’un Rendez-vous
Une fois le rendez-vous pris, que ce soit par le patient ou par le méde-
cin, une confirmation par courrier électronique est envoyée.
37
Chapitre 3. Réalisation
Fig. 3.25 : Confirmation par mail
Après un clic sur le bouton « edit » le système affiche un formulaire
(comme le formulaire de l’ajout) pour la modification des données d’un
rendez-vous.
Après un clic sur le bouton « supprimer » le système supprime un
rendez-vous précis .
[Link] Module Intervention
Cette page permet de gérer les interventions (Ajouter – Supprimer et
modifier ) et elle affiche la liste de tous les interventions de notre cabinet.
Fig. 3.26 : Liste des interventions
Cette page permet au le médecin d’ajouter une nouvelle intervention
. En remplissant le formulaire suivant :
38
Chapitre 3. Réalisation
Fig. 3.27 : Formulaire pour ajouter une intervention
Après un clic sur le bouton « modifier » le système affiche un formulaire
(comme le formulaire de l’ajout) pour la modification des données d’une
intervention précise.
Après un clic sur le bouton « supprimer » le système supprimer les données
d’une intervention donnée.
[Link] Module Ordonnance
Cette page permet de gérer les ordonnances (Ajouter – Supprimer et
modifier) et elle affiche la liste de tous les ordonnances de notre cabinet.
Fig. 3.28 : Liste des ordonnances
Après un clic sur le bouton « voir » le système affiche toutes les infor-
mations d’une ordonnance.
Fig. 3.29 : Affichage des informations d’une ordonnance
39
Chapitre 3. Réalisation
Après un clic sur le bouton « upload » le système génère un pdf à
télécharger.
Fig. 3.30 : PDF généré pour l’ordonnance
Cette page permet au le médecin d’ajouter une nouvelle ordonnance .
En remplissant le formulaire suivant :
Fig. 3.31 : Formulaire pour ajouter une ordonnance
Après un clic sur le bouton « modifier » le système affiche un formulaire
(comme le formulaire de l’ajout) pour la modification des données d’une
ordonnance précis. Après un clic sur le bouton « supprimer » le système
supprime une ordonnance précise.
3.9 Conclusion
Dans ce chapitre nous avons montré et détaillé l’architecture et les
technologies utilisées pour la réalisation de notre projet ainsi que l’envi-
ronnement de travail. En présentant ainsi les principales interfaces qui
permettent de répondre aux besions de l’application.
40
Conclusion et perspectives
41
Conclusion et perspectives
Conclusion générale
Le présent rapport est le résultat de notre projet de fin d’année au
sein de l’ENSIAS.
Notre projet de fin d’année avait donc pour but de concevoir et dé-
velopper une application web visant à améliorer la gestion des cabinets
dentaires. Notre démarche s’est déroulée en plusieurs étapes clés.
Nous avons, tout d’abord, entamé notre étude par l’analyse qui est une
étape cruciale et nécessaire pour mieux assimiler le système déjà existant,
puis par la définition des principaux intervenants et l’identification des
besoins. Elle nous a permis la conception d’une architecture de base stable.
Enfin, nous avons procédé au choix justifié des technologies avant de passer
à l’implémentation, qui nous a permis de développer cette application.
En bref, pendant la période du PFA, nous ont permis de réaliser un
projet très riche qui est la succession de plusieurs étapes planifiées et dé-
pendantes les unes des autres. Toutes les étapes de ce projet nous ont
permis d’enrichir notre expérience au niveau professionnel vu que ce genre
de projet demande une bonne organisation, maitrise du domaine et une
cohérence entre les différents intervenants dans le projet.
En conclusion, notre projet de fin d’année à l’ENSIAS a été une ex-
périence enrichissante et nous a permis de mettre en pratique nos connais-
sances théoriques. À travers les différentes étapes du projet, nous avons pu
développer une application web de gestion de cabinet dentaire qui contri-
bue à améliorer la fiabilité et l’efficacité de l’effort humain tout en facilitant
les tâches pénibles. Bien que notre application puisse être améliorée à l’ave-
nir avec des fonctionnalités telles que la messagerie, l’appel vocal et vidéo,
ainsi qu’un système intelligent basé sur l’apprentissage automatique, nous
sommes fiers des résultats obtenus et du travail accompli.
42
Bibliographie
[1] Cours Mme Naoual Chaouni Benabdellah - MODÉLISATION ET SI.
[2] Cours M. Ahmed ZELLOU - Développement des Applications Web
Framework Laravel.
[3] https ://[Link]/docs/10.x/readme
[4] https ://[Link]/fr/
[5] https ://[Link]/playlist ?list=PLprzxDsHXuDbgGpfhhplcq-
AxVCYtpvjJ
[6] https ://[Link]/project/647aa794d4e9184c9e9ae72
[7] https ://[Link]/2TIHglVz9NQ
[8] https ://[Link]/
43