SAE 501 502 LIVRABLE1 FARINA BUVRY THIBONNET GrA
SAE 501 502 LIVRABLE1 FARINA BUVRY THIBONNET GrA
SAE 501 502 LIVRABLE1 FARINA BUVRY THIBONNET GrA
conception
ElClassico
FARINA Timothé
BUVRY Paul
THIBONNET Julian
Pour y parvenir, plusieurs besoins clés ont été iden fiés, englobant des domaines variés tels
que la ges on de projet, la collabora on en équipe, la concep on et la réalisa on technique,
ainsi que la sécurisa on des informa ons.
Les besoins spécifiques du projet incluent la mise en place d'un environnement de travail
collabora f, le découpage et l'a ribu on des tâches, la produc on de documenta on, la
sécurisa on de l'applica on, et la ges on de l'ensemble des étapes du développement.
Ce document permet de présenter l’ordre dans lequel nous allons réaliser ce projet et les
moyens que nous souhaitons me re en place pour y parvenir. Il nous servira de guide tout au
long de notre projet mais pourra être modifié à tout moment en fonc on des problèmes
rencontrés et de l’évolu on du projet.
2
SOMMAIRE
INTRODUCTION ................................................................................................................ 2
SOMMAIRE ...................................................................................................................... 3
SPÉCIFICATIONS DU PROJET .............................................................................................. 4
DIAGRAMME D’EXIGENCES ...................................................................................................... 5
ORDRE D’IMPLÉMENTATION ..................................................................................................... 6
PAGES MAQUETTES FRONT END ............................................................................................... 7
CONCEPTION .................................................................................................................... 9
ARCHITECTURE BACKEND ......................................................................................................... 9
API REST ................................................................................................................................ 10
Overload................................................................................................................................ 11
AVANCEMENT DU PROJET ............................................................................................... 11
CONCLUSION .................................................................................................................. 16
3
SPÉCIFICATIONS DU PROJET
Pour la ges on de projet et la collabora on en équipe, nous u liserons l’ou l Git, qui
assure le suivi des versions et facilite la collabora on entre les développeurs. En complément
de Git, un Diagramme de Gan sera mis en œuvre pour organiser et planifier le travail,
perme ant ainsi de visualiser clairement le calendrier des tâches, les dépendances entre elles
et l'avancement global du projet. En ce qui concerne l'a ribu on et le suivi des tâches, une
approche structurée sera adoptée. Les tâches, également appelées "issues", seront a ribuées
et répertoriées sur Git, et numérotées par ordre d'importance. Ce e méthode perme ra de
prioriser les ac vités et de s’assurer que les éléments cruciaux du projet soient traités en
priorité, garan ssant ainsi une progression ordonnée et efficace du projet.
Concernant la concep on proprement dite de l'applica on, celle-ci sera dotée d'une
page de connexion et d'une page dédiée à la comparaison des en tés Wiki. Les u lisateurs
enregistrés bénéficieront de fonc onnalités supplémentaires telles que la sauvegarde de
favoris et l'accès à un historique de comparaisons Wiki, tandis que les u lisateurs non
connectés auront la possibilité d'effectuer des comparaisons en tant qu'invités.
4
DIAGRAMME D’EXIGENCES
5
ORDRE D’IMPLÉMENTATION
6
PAGES MAQUETTES FRONT END
Le design du site sera élaboré en u lisant le Framework Bulma qui perme ra de styliser
l'interface u lisateur de manière moderne. Le visuel global sera cohérent sur toutes les pages.
7
Figure 3: Page de connexion
8
CONCEPTION
ARCHITECTURE BACKEND
L'architecture globale de notre applica on web repose sur une approche basée sur des
conteneurs, gérée par Podman. Ce e technologie permet de déployer et de configurer
plusieurs conteneurs chacun ayant une fonc on spécifique, et de les faire communiquer entre
eux pour le bon fonc onnement de l'applica on sur une machine virtuelle CentOS 9
garan ssant ainsi l’isola on, sécurité et flexibilité.
Un conteneur Nginx agit en tant que serveur web, gérant les requêtes HTTP et servant
les ressources sta ques de l'applica on.
Un autre conteneur est dédié au traitement PHP côté serveur, interagissant avec la
base de données et exécutant les scripts nécessaires pour répondre aux requêtes des
clients.
Le troisième conteneur est dédié à MySQL et héberge la base de données de
l'applica on, gérant toutes les données persistantes nécessaires.
Les Framework Bulma et Slim PHP seront ainsi adoptés pour, respec vement, styliser
l'interface u lisateur et structurer l'applica on.
9
De plus MySQLi sera employé pour faciliter l'interac on avec la base de données
MySQL assurant ainsi une communica on fluide et efficace entre les différentes
composantes de l'applica on.
API REST
L'implémenta on d'une API REST est un élément clé de notre projet perme ant une
communica on fluide et efficace entre les différents services et composants de l'applica on.
Ce e API offre une interface standardisée pour l'accès et la manipula on des ressources,
assurant ainsi l'interopérabilité entre les différentes par es de l'applica on.
L'API REST u lise les méthodes HTTP standard (GET, POST, PUT, DELETE) pour perme re la
créa on la lecture la mise à jour et la suppression des ressources. Elle est construite selon les
principes de l'architecture REST, ce qui implique un état sans état et une représenta on des
ressources sous forme de JSON ou XML. Ce e approche permet une maintenabilité op male
facilitant ainsi l'évolu on et l'adapta on de l'applica on a des besoins changeants.
10
Overload
AVANCEMENT DU PROJET
Tout d'abord, pour bien commencer le projet, nous avons réalisé en groupe un diagramme
de Gan . Cet ou l nous permet de visualiser l'ensemble des tâches à accomplir et ainsi de
définir les délais et afin d’iden fier des dépendances entre les différentes taches.
Par la suite nous avons Créer un fichier docker-compose.yml qui perme ra de gérer les
conteneurs PHP, MySQL et Nginx de manière automa que à chaque lancement de
l’applica on web sur l’hôte du client.
11
Figure 6: docker-compose.yml
12
Après avoir configuré notre fichier.yml nous avons ensuite procédé à la réalisa on d'un
prototype de Modèle Logique de Données (MLD) afin de préparer la bonne
configura on/installa on de la base de données MySQL. Le MLD nous permet de définir la
structure de la base de données, en iden fiant les tables nécessaires, les rela ons entre elles,
ainsi que les a ributs de chaque table.
Dans notre modèle logique de données (MLD), les rela ons entre les en tés sont définies
comme suit :
Un UTILISATEUR peut posséder plusieurs COMPTES, mais chaque COMPTE est lié à un seul
et unique UTILISATEUR. Ce e rela on est de type 1: N
13
Rela on entre COMPTE et COMPARAISON :
Une COMPARAISON implique l'étude de plusieurs ARTICLES, mais un ARTICLE donné peut
être analysé dans le cadre de différentes COMPARAISONS. Ce e rela on est de nature M:N,
mais est représentée ici comme 1:N à l'aide des clés étrangères dans l'en té COMPARAISON.
Un HISTORIQUE est associé à un seul UTILISATEUR, tandis qu'un UTILISATEUR peut avoir
plusieurs HISTORIQUES. Ce e rela on est également de type 1:N.
Les a ributs id présents dans chaque en té sont les clés primaires. Les autres a ributs
comme u lisateurId, ar cleId1, ar cleId2, compteId et comparaisonId sont u lisés comme
clés étrangères.
Il est important de noter que ce MLD est temporaire et sera suscep ble d'évoluer au fur et à
mesure du développement du projet. Par exemple il nous manque encore certaines tables
poten ellement comme la table des favoris.
14
Une fois les conteneurs correctement installés, nous avons procédé à l'installa on du
framework Slim et créé nos premières routes de test. Slim est framework PHP perme ant de
développer des applica ons web de manière rapide et efficace. Les premières routes nous
ont permis de vérifier l'intégra on réussie de Slim.
15
CONCLUSION
Pour conclure, au fil de notre projet, nous avons posé les bases essen elles à la bonne
réalisa on de celui-ci en u lisant des ou ls tels que Git et un Diagramme de Gan , et en
élaborant une architecture intégrant des conteneurs, des frameworks, et prochainement une
API REST. La mise en œuvre du fichier docker-compose.yml et la créa on d'un prototype de
MLD ont été cruciales pour structurer notre applica on.
L'installa on du framework Slim et la mise en place des premières routes vont nous perme re
de poursuivre le développement de notre applica on. Bien que notre MLD soit encore en
cours d'évolu on, il servira de guide pour définir la structure de notre base de données.
La concep on de notre projet visant à créer une applica on web de comparaison d'en tés
Wikipedia n'en est qu'à ses débuts, mais nous sommes sur la bonne voie pour mener à bien
ce projet dans les meilleures condi ons et en respectant les délais du clients (le prof).
16