Académique Documents
Professionnel Documents
Culture Documents
DIPLÔME DE LICENCE EN
INGÉNIERIE DES SYSTÈMES INFORMATIQUES
Par
Yasser Rahmani
Aucun mot si sacré soit-il, ne suffira à apprécier à sa juste valeur, le soutien matériel et
spirituel, les sacrifices que vous ne m’avez cessé de déployer.
Je vous offre en guise de reconnaissance, ce modeste travail en vous souhaitant santé,
bonheur et longue vie qu’on puisse combler à nous tour.
Je vous dédie ce travail en témoignage des liens solides et intimes qui nous unissent et pour
votre soutiens, encouragements en vous souhaitant un avenir
rempli de succès et joie.
A ma chère famille
Que ma grande famille aussi trouve ici mes vifs remerciements pour son soutien et son aide
durant toute ma cursus et surtout durant les moments difficiles.
Remerciements
C’est avec un grand plaisir que je réserve ces lignes en signe de gratitude et de reconnaissance à
tous ceux qui ont contribué de près ou de loin à l’élaboration de ce travail.
Je tiens à exprimer mes remerciements les plus vifs à Mr, CHAABEN Mohsen pour m’avoir
accepté et suivi tout le long de l’avancement de mon travail.
J’adresse mes profondes reconnaissances à Mme. ALYA Hazar, la fondatrice de AHSL, qui
m’a accepté pour passer mon projet de fin d’étude au sein de son organisme.
Je tiens à exprimer ma sincère gratitude envers mon encadrante Mme. BEN ALI Faten, pour
m’avoir incité à mener à bien ce travail, pour son aide, ses efforts pour m’intégrer dans
l’environnement, son dévouement et ses précieux conseils.
Par ailleurs, je remercie les membres de jury d’avoir accepté de juger mon travail tout en
espérant qu’ils trouvent dans ce rapport les qualités de clarté et de motivation qu’ils attendent.
Sommaire
Dédicaces.....................................................................................................................................................i
Remerciements ...........................................................................................................................................ii
Sommaire.................................................................................................................................................. iii
Liste des tableaux ......................................................................................................................................v
Liste des figures........................................................................................................................................ vi
Introduction Générale ........................................................................................................................... 1
Chapitre 1 : Présentation du cadre de projet....................................................................................... 2
1. Introduction............................................................................................................................................2
2. Présentation de l’entreprise....................................................................................................................2
3. Contexte général du projet ....................................................................................................................3
4. Les Problématiques traitées ..................................................................................................................3
5. Solution proposée..................................................................................................................................3
6. Méthodologie de travail ........................................................................................................................4
7. Conclusion ............................................................................................................................................7
Chapitre 2 : Planification du projet...................................................................................................... 8
1. Introduction............................................................................................................................................8
2. Constitution de l’équipe SCRUM et rôle...............................................................................................8
3. Identification des acteurs.......................................................................................................................9
4. Backlog du produit.................................................................................................................................9
5. Planification des Releases......................................................................................................................12
6. Conclusion.............................................................................................................................................12
Chapitre 3 : Release 1............................................................................................................................. 13
1. Introduction...........................................................................................................................................13
2. Organisation des Sprints........................................................................................................................13
3. Sprint 1 : Intégration de l’interface du site, inscription et authentification ..........................................13
4. Sprint 2 : Gestion des admins ...............................................................................................................13
4.1. Sprint Goal......................................................................................................................................... 13
4.2. Sprint Backlog .................................................................................................................................. 13
4.3 . Analyse des besoins.......................................................................................................................... 14
4.4 . Conception .............................................................................................................................…….. 18
4.5. Réalisation .................................................................................................................................. …..23
5. Conclusion ............................................................................................................................................26
Chapitre 4 : Release 2............................................................................................................................. 27
1. Introduction............................................................................................................................................27
2. Organisation de sprint 3 ........................................................................................................................27
3. Sprint Goal ............................................................................................................................................27
4. Sprint Backlog.......................................................................................................................................27
5. Analyse des besoins...............................................................................................................................28
5.1. Les besoins fonctionnels.....................................................................................................................28
5.2. Diagramme de cas d’utilisation du sprint 3........................................................................................29
5.3. Conception......................................................................................................................................... 34
5.4. Réalisation ......................................................................................................................................... 41
6. Conclusion ............................................................................................................................................44
Chapitre 5 : Release 3..............................................................................................................................45
1. Introduction............................................................................................................................................45
2. Sprints goal............................................................................................................................................45
3. Sprint Backlog ......................................................................................................................................45
4. Analyse des besoins ..............................................................................................................................45
4.1. Les besoins fonctionnels ....................................................................................................................45
4.2. Diagramme de cas d’utilisation .........................................................................................................46
5. Conception............................................................................................................................................ 48
6. Realisation............................................................................................................................................. 48
7. Conclusion.............................................................................................................................................49
6. Conclusion Générale ...........................................................................................................................50
Page 1
Chapitre 1 : Présentation du cadre de projet
1. Introduction
Dans ce chapitre introductif, nous citons le projet dans son cadre général. Pour ce faire, nous procédons
à la présentation de l’entreprise d’accueil, la méthodologie de travail et le contexte général du projet
suivi par les problématiques traitées et les solutions proposées.
2. Présentation de l’entreprise
Awtar Hazar Sound & Lighting en Tunisie est une société spécialisée dans l'organisation d'événements
et de spectacles en direct : sonorisation, lumière, structure, scènes, écran led géant... Elle offre des
produits de haute qualité et des services professionnels aux clients. Elle utilise la nouvelle technologie
bien exploitée et mise en service pour le client. Dés l'étude à la réalisation. Elle a la charge de :
Page 2
Grâce à une expertise technique, AHSL offre à ses clients une solution adaptée à leurs besoins dans
différents secteurs d’activités, même elle garantit également un service de support de qualité toute
demandes.
Pour les grandes entreprises disposant de leurs propres plateformes, celles-ci leur permettent de
construire des relations plus interactives avec les clients. C'est ce qui les incite à réserver sur les sites
Web de ces entreprises.
En raison du rythme de vie accéléré, les clients n'ont pas le temps ni la possibilité de se déplacer pour
faire des réservations, même si on utilise l’E-mail. Certains Courriers sont considère comme Spam car le
client ne spécifié pas l’objet.
5. Solution proposée
Pour pallier ces problèmes, nous proposons de concevoir et d'implémenter un site web qui regroupe tous
les services de l’entreprise, donc notre solution permet de/d’:
Eviter les coûts engendrés par le déplacement
Eviter la perte du temps
Faciliter l'utilisation.
Fonctionnalités nécessaires pour une réservation pour évènement.
Page 3
6. Méthodologie de travail
L'une des suggestions pour obtenir un logiciel satisfaisant est de suivre des méthodes de développement
efficaces. Les méthodes agiles prennent en compte tous les aspects d'un projet informatique et de son
cycle de vie. Il existe plusieurs méthodes agiles et classiques déjà en place :
6.1 Cycle en V
La première méthode largement utilisée dans le monde est la méthode du « Cycle en V», qui est une
méthode d'organisation de projet conçue pour limiter les problèmes et permettre un retour limité aux
étapes précédentes en cas d'exception. Il est sous forme d'un V dont la première étape contient les étapes
de la conception du projet, et la deuxième étape contient les tests du projet. La pointe du V représente la
phase de mise en œuvre du projet et chaque étape est liée à l'étape précédente. La figure 2 montre le
principe de base du « Cycle en V » [1]
Figure 2 : Cycle en V
Page 4
6.2 Scrum
Scrum est une méthode de gestion de projet agile : des cadences itératives, des rôles et réunions
spécifiques et limités dans le temps, des artefacts (Product Backlog, Sprint Backlog et Schedule) et les
règles du jeu. C'est ce qui est de plus en plus utilisé dans le monde des "méthodes" agiles. Il existe
d'autres méthodologies agiles telles que "SCRUM/XP Hybrid", "CUSTOM Hybrid", etc., mais Scrum
est la plus couramment utilisée (figure 3). Scrum définit trois rôles [2] :
o Le Product Owner [3] : porte la vision du produit à réaliser. Son travail est en interaction avec
l’équipe de développement. Il s’agit généralement d’un expert du domaine métier du projet.
o L’Équipe de Développement [3] : chargée de transformer les besoins exprimés par le Product
Owner en fonctionnalités utilisables. Elle est pluridisciplinaire et peut donc encapsuler plusieurs
compétences tels que le graphiste, l’architecte web, l’intégrateur, etc.
o Le Scrum Master [3]: qui doit maîtriser la conduite du cadre de processus Scrum et de s’assurer
qu’il est correctement appliqué. Il a donc un rôle de coach entre le Product Owner et l’équipe de
développement
La deuxième étape consiste à établir toutes les exigences fonctionnelles et non fonctionnelles du produit.
L'équipe de développement estime ensuite chaque exigence à l'aide de la technologie Planning Poker.
Ensuite, convertissez les exigences en fonctions utilisables. Le principe est de convertir d'abord les
besoins qui apportent la plus grande valeur ajoutée au parrain.
Par conséquent, prioriser les exigences fonctionnelles à plus forte valeur ajoutée est un problème. Cette
liste est appelée Product Backlog.
Page 6
On présente ci-dessous un tableau comparatif (Tableau 1) qui présente selon un ensemble des critères, la
différence entre Cycle en V et SCRUM.
L’une des recommandations permettant d’aboutir à un logiciel satisfaisant est de suivre une
méthodologie de développement efficace. Les méthodes Agiles prennent en compte tous les aspects d’un
projet informatique ainsi que son cycle de vie. Nous conduirons donc notre projet selon l’Agile et
précisément en nous conformant au cadre de processus Scrum.
7. Conclusion
Tout au long de ce chapitre, nous avons présenté l’organisme d’accueil AHSL, sa structure sociale et ses
principales activités et compétences. Par ailleurs, nous avons dégagé la méthodologie de travail et du
développement de notre projet. À la fin, nous avons présenté le contexte général du projet et la
problématique pour énoncer la solution proposée.
1. Introduction
Page 7
Dans ce chapitre, nous commencerons par présenter notre équipe SCRUM. Nous engagerons par la
suite, l’expression des besoins fonctionnels et non fonctionnels avec une identification des acteurs de
notre solution. Par la suite, nous élaborons le Backlog du produit et nous planifierons les releases.
Pour conclure, nous présenterons notre identification de l’architecture de l’application et la présentation
de l’environnement matériel.
Page 8
Product Owner Mohsen Chaaben Encadrant professionnel
4. Backlog du produit
Le backlog du produit est une liste d’éléments ou de fonctionnalités nécessaires pour atteindre les
objectifs ou définir les attentes au sein d’une équipe, le tout classé par ordre de priorité. Elle permet à
ses membres de suivre leurs tâches. Chaque produit développé a généralement un seul backlog produit,
lui-même attribué à une équipe [4].
Notre Backlog du produit, présenté dans le tableau (tableau 3), est constitué de User Story. Chaque User
Story est caractérisé par les champs suivants :
Page 9
Id Story : c’est un nombre unique et auto-incrémenté pour chaque story.
Priorité : Par rapport au client représentée suivant la méthode "MoSCoW", qui est une
technique possédant un objectif qui s'articule autour d'un accord entre le maître d’œuvre
et le maître d'ouvrage sur l’importance des tâches que nous allons réaliser par rapport aux
délais prévus. MoSCoW a pour signification (le o ne représente rien c’est juste pour
rendre le mot prononçable) :
Page 10
Dans le tableau ci-dessous nous présentons Product Backlog de notre projet :
3
En tant qu’admin/ master admin,
je peux consulter les réservations
Gestion des
5 En tant que client je peux faire Moyenne Must
Réservations
une réservation, annuler ou
confirmer une réservation
Page 11
5. Planification des Releases
Une fois le bocklog du produit est terminé et ordonnancé, nous établissons, lors de la réunion de
planification des sprints, l’estimation de la durée nécessaire de chaque sprint.
Sprint 2
6. Conclusion
Au terme de ce chapitre, nous commençons par présenter la constitution de notre équipe SCRUM. Nous
avons consacré la deuxième section pour définir l’identification des acteurs, après nous avons présenté
le backlog de produit et enfin la planification des releases. Dans le chapitre suivant nous entamerons le
développement du premier release.
Page 12
Chapitre 3 : Release 1
1. Introduction
Les étapes de hiérarchisation du backlog produit montrent l'intérêt de commencer avec l’intégration de
l’interface du site et la gestion des admins. Ce chapitre constitue le document de concept et de mise en
œuvre pour les deux premiers Sprints du projet. Par conséquent, son objectif est de fournir un produit
livrable et testé qui sera déployé dans le sprint final.
L'objectif de ce sprint est d'implémenter toutes les fonctionnalités permettant aux admins (admin) de
gérer les comptes.
Page 13
Dans ce tableau nous rappelons les users story qui s’imposent pour la réalisation de la Gestion des
admins.
Page 14
Modification d’un administrateur : le système affiche à l’administrateur un formulaire pour modifier
les détails de cet administrateur
Suppression d’un administrateur : Après la consultation de la liste des admins, l’administrateur peut
choisir un administrateur pour supprimer.
4.3.2 Les besoins non-fonctionnels
Ce sont les exigences pour les caractéristiques du système. Il s'agit des exigences de performance, du
type de matériel ou du type de conception. Ces exigences peuvent être liées à des contraintes
d'implémentation (langage de programmation, type de SGBD, système d'exploitation, etc.) [6].
L’ergonomie : Toute interface de notre application doit être convivial et facile à comprendre et à
exploiter par l’admin.
La portabilité : Le site doit être capable de fonctionner dans un environnement matériel différent de
son environnement initial.
Sécurité : Notre site devra assurer la sécurité des admins, d’où la nécessité de procéder à
l’authentification des admins tout en assurant la confidentialité de leurs données.
4.3.3. Outil de modélisation et de conception
Draw.io est une application gratuite en ligne, accessible via son navigateur (protocole https) qui permet
de dessiner des diagrammes ou des organigrammes. Cet outil vous propose de concevoir toutes sortes de
diagrammes, de dessins vectoriels, de les enregistrer au format XML puis de les exporter. [7]
Page 15
Figure 6 : Diagramme de cas d’utilisation du sprint 2
Administrateur
Acteurs
Les admins doivent ouvrir le site web
Pré condition
Authentification
Post condition
1. L’administrateur clique sur le bouton « Connexion ».
Scénario nominal
2. Un formulaire de connexion s’affiche.
3. L’administrateur doit remplir le formulaire de connexion (E-mail et Mot de
passe)
4.puis l’administrateur clique sur « Connexion ».
5. L’administrateur sera dirigé vers la page d’accueil.
Page 16
alternatif Le système affiche un message d’erreur.
Le processus reprend à l’étape 3.
Erreur2 : L’e-mail ou mot de passe ne correspond au celles qui sont
sauvegardées dans la base de données.
Le système affiche un message d’erreur.
Le processus reprend à l’étape 3.
Page 17
Description textuelle de « supprimer un administrateur »
Acteurs Admin
4.4. Conception
Le diagramme de classe est un schéma utilisé pour présenter les classes et les interfaces des systèmes
ainsi que les différentes relations entre celles-ci. Une classe est un ensemble de fonctions et données
(attributs) qui sont liées ensemble par un champ sémantique.
Page 18
Figure 7 : Diagramme de classe du sprint 2
Pour systématiser la vision comportementale du système que nous voulons développer, nous utilisons les
diagrammes de séquence UML et leurs descriptions textuelles
Page 19
Figure 8 : Diagramme de séquence « Authentification »
Page 20
Figure 9 : Diagramme de séquence « Consulter un administrateur »
Page 21
Diagramme de séquence « Ajout des admins » :
Page 22
Figure 11 : Diagramme de séquence « Suppression un administrateur »
4.5. Réalisation
Page 23
4.5.1. Technologies et outils de réalisation
Tout au long de ce projet, j’ai utilisé plusieurs outils et technologies pour la réalisation et les tests
a) Environnement matériel
Nom du Pc Pc ASUS
b) Environnement de développement
Visual Studio Code est l'éditeur de code extensible de Microsoft pour Windows, Linux et MacOs
XAMPP
XAMPP est un ensemble de logiciels permettant de mettre en place facilement un serveur Web et un
serveur FTP. [9]
Page 24
Figure 13 : Logo XAMPP
Interface authentification
L’interface de la (figure 14) permet à l’administrateur de s’authentifier suite à la saisie de son adresse
email et son mot de passe.
Dans le cas où l’administrateur a oublié son mot de passe pour l’accès à l’interface admin, il faut qu’il
clique sur « Forgot Password ? ». Pour accéder a une interface de récupération.
Page 25
Dans le cas ou l’administrateur oubli son mot de passe il peut le récupérer en cliquant sur « forgot
password » de la figure 14
Page d’acceuil
Page 26
Pour consulter la liste des administrateurs (figure 17), il suffit de cliquer sur « services » du menu
LAyouts(figure 16)
5. Conclusion
Page 27
Dans ce chapitre intitulé « Release 1 », nous avons commencé par définir l'objectif du travail grâce au
sprint goal et Backlog Sprint. Ensuite, nous avons fait l'analyse détaillée de ce dernier pour aboutir et
expliquer les techniques utilisées. On termine notre premier release avec une étude conceptuelle et la
réalisation de cette itération. Nous pouvons poursuivre notre travail et passer au release 2 qui fera l'objet
du chapitre suivant.
Chapitre 4 : Release 2
Page 28
1. Introduction
Après avoir détaillé le déroulement des deux premiers sprints, nous allons dans ce chapitre présenter le
deuxième release. Il est composé d’un sprint à savoir le sprint 3. L’étude de ce sprint couvre l’analyse, la
conception et la réalisation.
2. Organisation de sprint 3
Ce sprint contient les user story suivantes :
Ajouter un service
Modifier un service
Supprimer un service
3. Sprint Goal
L'objectif de ce Sprint consiste à réaliser l'ensemble des fonctionnalités permettant à un administrateur
ou client de gérer les services et les réservations
4. Sprint Backlog
Page 29
Le Tableau ci-dessous représente le Backlog de notre troisième sprint :
Tableau 11 : Tableau de backlog de sprint 3
Release
Modifier un service
Sprint 3
Supprimer un service
réservation
Ajouter une réservation
Page 30
Confirmation d’une réservation : après la consultation de la liste des réservations, l’administrateur peut
confirmer une réservation.
Ajout une réservation : le client peut remplir le formulaire de réservation et la confirmer
Modification une réservation : le système affiche au client un formulaire pour modifier les détails de
cette réservation.
Suppression d’une réservation : Après la consultation de la liste des réservations, l’administrateur peut
choisir une réservation pour supprimer.
Page 31
Figure 19 : Diagramme de cas d’utilisation du sprint 3
Acteurs Admin/Client
Page 32
Post condition Affichage de la liste des services
Acteurs Admin
Acteurs Admin
Page 33
Post condition Suppression d’un service
Acteurs Admin
Acteurs Admin
Page 34
Scénario 1. L’administrateur choisit dans le menu « Les réservations ».
2. La liste des réservations est affiché
nominal
Acteurs Client
Pré condition
Acteurs Client
Page 35
Scénario 1. le client reçoi le lien de confirmation par Email
nominal 2. Le client clique sur « Confirmer »
3.Le système affiche la réservation a été confirmer
Acteurs Admin
Scénario 1. L’administrateur choisit dans le menu « les réservation » une réservation pour
nominal la supprimer
2. L’administrateur Clique Button « Supprimer »
3. Le système affiche la nouvelle liste des réservations
Acteurs Admin
Page 36
Scénario 1. L’administrateur choisit dans le menu « Les réservations » une réservation
nominal pour la modifier
2. L’administrateur Clique Button « Modifier » et remplit les nouvelles données
3. Le système affiche la nouvelle liste des réservations
5.3Conception
Page 37
Interface CommandeControlleur Commande
Page 38
Interface CommandeControlleur Commande
Page 39
Figure 23 : Diagramme de séquence de modification les services
Page 40
Figure 24 : Diagramme de séquence de suppression de services
Page 41
Figure 25 : Diagramme de séquence d’ajout d’une réservation
Page 42
Figure 26 : Diagramme de séquence de suppression d’une réservation
5.4 Réalisation
Page 43
Liste de services :
L’interface de la (figure 26) sert à aider l’administrateur de consulter la liste des services. Où on a les
possibilités d’ajouter, modifier et supprimer un service.
Page 44
En cliquant sur le bouton « ajouter service » de l’interface de la figure 26, le formulaire d’ajout d’un
service s’affiche comme le montre (la figure 27).
Le fait de cliquer sur le bouton « modifier service » de l’interface de la figure 26, lance un appel au
formulaire de modification du service comme la montre (la figure 28).
Page 45
L’interface de cette figure (figure 29) montre la liste des reservation effectuées.
Pour l’ajout d’une reservation un formulaire sera afficher pour l’utilisateur (figure 30). Si l’utilisateur
oublie de remplir l’un des champs un message d’erreur sera afficher (figure 31).
Page 46
Figure 33 : Modification d’une réservation
6. Conclusion
Le résultat de cette release est de mettre en place un système de gestion des services et des réservations.
À la fin de ce chapitre, nous avons réussi à produire un incrément ayant suffisamment de valeur pour le
client. Dans le chapitre qui suit, notre effort sera consacré pour produire une nouvelle release couvrant
les fonctionnalités qui concernent gestion des questions.
Chapitre 5 : Release 3
Page 47
1. Introduction
Après avoir fini le deuxième release de notre site, nous passons au troisième Et dernier release. Le
release couvre l’analyse, la conception et la réalisation du sprint 4
2. Sprint goal
L'objectif de ce Sprint consiste à réaliser l'ensemble des fonctionnalités permettant à un administrateur
de gérer les messages.
3. Sprint Backlog
Tableau 21 : Tableau backlog de sprint 4 :
Sprint 4
Page 48
4.2 Diagramme de cas d’utilisation
Acteurs Administrateur
Page 49
Acteurs Client
Pré condition
Acteurs Administrateur
Page 50
Figure 35 : Diagramme de classe de sprint 4
6. Réalisation
Les interfaces
L’administrateur peut consulter les messages envoyés par les utilisateurs sur la page questions de
l’interface administrateur (figure 35)
L’administrateur choisie la menue question pour consulter l’interface les réservations.
Page 51
L’utilisateur doit remplir le formulaire pour envoyer un message (figure 36). L’utilisateur choisie le
menu contact pour pouvoir émettre une question Si l’un des champs est vide une erreur s’affiche (figure37).
7. Conclusion
Durant ce chapitre nous avons réalisé les différentes tâches mentionnées dans le backlog Sprint.
D'abord, nous avons fait l'analyse détaillée puis la conception et enfin la réalisation de chaque sprint.
Ce release comme mentionné précédemment se focalisait sur les gestions des messages. C'est le
dernier chapitre de notre projet.
Conclusion Générale
Page 52
Le travail présenté dans ce rapport a été réalisé au sein de la société AHSL dans le cadre d'un projet
de fin d'études pour l'obtention du diplôme de licence Ingénierie des Systèmes informatique. Le but
de notre projet est de créer un site web pour la société, ceci m’a amené à enrichir mes compétences
en développement web et mon expérience.
Pour aboutir à ce résultat, nous avons tout d'abord commencé par introduire le cadre du projet ainsi
qu'une étude de l'art avec les problématiques traitées et la solution proposée. Ensuite, nous avons
expliqué la mise en place du Framework SCRUM dans notre projet.
Le troisième chapitre « Release 1 » présente les deux premiers sprints portant sur l'intégration de
l'interface, l’inscription, l'authentification et la gestion des admins.
Le quatrième chapitre « Release 2 » dont nous avons pu développer le sprint3, portant sur la gestion
des services et gestion des réservations.
Le cinquième chapitre « Release 3 » consacré pour le dernier sprints 4 qu'il est pour la gestion des
questions. Ce projet a permis de s'adapter, de s'améliorer dans le développement des web, d'enrichir
et d'approfondir mes connaissances techniques.
On peut aussi rendre le projet plus attractif, on rendre la reservation et les proposition des questions
n'est possible que pour les clients qu'ils ont des comptes et ils doivent être connecter pour consulter
la page de réservations ou la page de contact
Page 53
Bibliographie
[1]: https://blog.dcube.fr/index.php/2014/04/28/scrum-vs-cycle-en-v-2-2/
[2]: https://agiliste.fr/guide-de-demarrage-scrum/
[3]:https://blog-gestion-de-projet.com/roles-et-responsabilites-de scrum/#t1648036339551
[4]: https://asana.com/fr/resources/product-backlog
[5]: en.wikipedia.org/wiki/MoSCoW_method
[6] :Memoire Online - Conception et developpement d'une application de gestion d'une bibliothèque
- wilfried-Erisco MVOU-OSSIALAS
[8]: https://www.ibm.com/docs/fr/rational-soft-arch/9.5?topic=diagrams-use-case
[9]: https://desgeeksetdeslettres.com/web/xampp-plateforme-pour-heberger-sonpropre-site-web
Page 54