Vous êtes sur la page 1sur 7

Projet PhP- L’architecture MVC

Le but de ce projet était de créer un site permettant de visualiser les produits pharmaceutiques de la
société fictive GSB.
Pour cela, nous avons travaillé en groupe en testant la méthode « agile », qui consiste à respecter un
cycle de travail (courtes réunions, organisations des taches, travail organisé… ) tout en restant proche
du client afin de réagir rapidement à la demande.
Nous avons développé ce site grâce au système Modèle-vue-contrôleur (MVC), ce qui nous a permis
de séparer les différentes problématiques afin de mieux se répartir les tâches à accomplir.
Les données étaient stockés sur une base de données afin de pouvoir ajouter de nouveaux produits,
modifier la composition des produits etc…

Après quelques heures de réflexions, nous nous sommes mis d’accord sur l’interface qu’aurait notre
site, afin de répondre au mieux à la requête du client, tout en essayant d’avoir une navigation simple
mais efficace permettant à l’utilisateur de pouvoir rechercher ce qu’il désire.
L’utilisateur peut donc visualiser tous les produits de GSB ainsi que leur composition, rechercher un
produit en particulier, mais également trouver les pharmacies de son département vendant des
produits GSB.

Le modèle relationnel de gsbParcPharmaceutique :


Présentation de l’interface

Page d’accueil, permettant de visualiser tous les produits GSB présent dans la base

Composition d’un produit


Choix du département afin de trouver les pharmacies de sa région

Affichage des pharmacies vendant des produits GSB, dans la région choisie.

Affichage des produits vendus par la pharmacie sélectionnée.


Quelques notions techniques
Comme expliqué précédemment, nous avons développé ce site grâce au système MVC !

Mes principales tâches ont été de créer les modèles, les vues ainsi que les contrôleurs des
Produits, des Pharmacies, des Composants et des Départements.
Ainsi l’utilisateur peut visualiser la composition des produits, en fonction du produit
sélectionné, ou encore trouver les pharmacies de sa région vendant des produits GSB,
comme vu précédemment.

Voici comment fonctionne le modèle MVC :

1°) Le contrôleur

Le contrôleur prend en charge la gestion des événements afin de mettre à jour la vue ou le
modèle et de les synchroniser. Il reçoit les évènements de la vue et enclenche les actions à
effectuer !
Nous avons utilisé un système de « routeur », qui permet au site de naviguer selon les
actions demandés par l’utilisateur. Par défaut, le site nous renvoie à la page d’accueil, mais
si, par exemple, on décide de cliquer sur un produit afin de voir sa composition, le routeur
nous amène sur la page en question.
Voici un exemple, lorsque l’on clique sur un produit, de ce qui se produit au niveau du
routeur :
Le fait de cliquer sur le produit appelle l’action « produit » et garde en mémoire le code du
produit sur lequel on a cliqué, grâce au code php présent dans la vue des produits.
Le routeur va ensuite appeler la méthode unProduit sur l’objet ctrlProduit :

Cette fonction va d’abord récupérer le produit, puis les composants de ce produit, grâce aux
fonctions présentes dans la partie du modèle.

2°) Le modèle

Le modèle, c’est la partie algorithmique de l’application : il permet le traitement des


données, et il interagit avec la BDD !
Voici à quoi ressemble une fonction du modèle de Produit :

Le modèle permet donc de récupérer des données. Ici, il va récupérer le produit en question,
grâce à une requête SQL.
Il renvoi les données retournées au contrôleur, qui se charge de créer la vue.

3°) La vue

La vue permet de présenter les résultats renvoyés par le modèle, et permet à l’utilisateur
d’interagir, par exemple en cliquant sur le produit, comme dans notre exemple.
Ici, la vue Composant permet d’afficher les différents composants du produit sélectionné.
Pour résumer, la vue permet à l’utilisateur d’interagir avec le site, en cliquant sur un lien, en
sélectionnant un bouton radio, en cochant une case, en entrant du texte, ou encore en
parlant dans son micro… ce qui renvoie au contrôleur, qui va récupérer les actions saisies
par l’utilisateur et qui va les enclencher !
Le contrôleur demandera au modèle d’effectuer certaines opérations, comme des requêtes
SQL, afin de récupérer les informations nécessaires à la création de la prochaine vue !

Source : openclassrooms.com
Conclusion

Ce projet n’a pas été évident à mettre en place, dût au fait que l’on devait d’une part
travailler en groupe, mais également se repartir des tâches sur un sujet que personne ne
maitrisait vraiment bien au départ.
Les premières « réunions » étaient très brouillonnes, et cela a mis en évidence qu’il n’est pas
possible en programmation de se lancer dans quelque chose dont on ne connait pas l’issu.
Il est important de bien savoir ce que l’on désire faire et comment on va s’y prendre, avant
de commencer à coder, et le fait que l’on soit en groupe a rendu la chose encore plus
complexe.

Mais après quelques heures sur le projet à travailler sur le MVC, nous avons commencé à
mieux comprendre l’aboutissement du projet ainsi que le fonctionnement du MVC et cela
nous a permis de nous rattraper en nous répartissant bien les tâches.
Au final, nous avons relativement bien compris le principe du MVC, et notre coordination
s’est améliorée au fur et à mesure !

Personnellement, même si le Web (html, php…) n’est ni mon point fort, ni ce que j’aime le
plus en informatique, j’ai apprécié la finalité de ce projet et j’ai réalisé que le travail de
groupe était indispensable sur les projets de ce type.
Je pense que l’on aurait pu développer plus de fonctionnalités sur ce projet avec plus de
temps, mais la demande du client a été respectée, je suis donc plutôt satisfait de notre
travail !

Vous aimerez peut-être aussi