Architecture MVC en PHP – Présentation Propriétés Description Type de publicati
Architecture MVC en PHP – Présentation Propriétés Description Type de publication Coté labo Intitulé court Découverte du patron de conception MVC et de l'accès aux données dans une application web en PHP. Intitulé long Découverte du patron de conception MVC et de l'accès aux données en PHP par l'observation, l'analyse et l'ajout de fonctionnalités sur une application web existante. Formation(s) concernée(s) BTS SIO Matière(s) SI6 Présentation L'objectif de ce coté labo est d’appréhender les principes du patron de conception MVC et de comprendre comment accéder à une base de données depuis une application programmée en PHP. Le questionnement utilisé dans cette ressource est inductif et proche de la méthode O.A.C. (Observation – Analyse – Conceptualisation). Les 5 parties de cette production exploitent une application web existante que les étudiants doivent analyser puis modifier. L'application web est issue d'un contexte de critique de restaurants décrit dans ce document. Partie 1 : Généralités sur le MVC et analyse de la structure du site existant. Partie 2 : Analyse du fonctionnement du contrôleur et ajout de fonctionnalités. Partie 3 : Analyse du fonctionnement d'une vue puis ajout de nouvelles fonctionnalités. Partie 4 : Fonctionnement du modèle et principes de l'accès aux données en PHP avec PDO. Partie 5 : Analyse du fonctionnement du contrôleur principal et intégration de nouvelles fonctionnalités dans le site. L'application web finale accessible en ligne est utilisable par les étudiants. Ils ont ainsi une meilleure idée de ce qui est attendu. L'enseignant doit installer le site web complet et fournir l'URL de ce dernier aux étudiants dès le début des activités. Les sources ne sont pas fournies aux étudiants. Cette ressource est utilisable à mi-semestre en SI6 une fois que les bases du développement en PHP sont connues des étudiants. La ressource est accessible à des étudiants en spécialité SLAM et SISR. Elle pourra faire l'objet d'un approfondissement par la suite en 2eme année en spécialité SLAM. Savoirs D4.1 – Conception et réalisation d’une solution applicative Concevoir une interface utilisateur Interpréter un schéma de base de données Développer et maintenir une application exploitant une base de données partagée Transversalité SI3, PPE Prérequis Bases du développement en PHP/HTML : variables, formulaires HTML, structures de contrôle, tableaux, fonctions. http://www.reseaucerta.org © CERTA – mai 2019 – v1.0 Page 1/6 Exploitation d'une base de données MariaDB/MySQL : savoir importer une base de données existante et exécuter des requêtes SQL. Outils Netbeans ou autre AGL, serveur web en environnement Unix, serveur de base de données. Mots-clés resto.fr, r3st0.fr, HTML, CSS, PHP, MVC, modèle, vue, contrôleur, MySQL, MariaDB, PDO Durée Partie 1 : 2h Partie 2 : 4h Partie 3 : 4h Partie 4 : 4h Partie 5 : 4h Auteur(es) Mathieu Capliez avec les relectures de Yann Barrot, Roger Sanchez et Fabrice Missonnier Version v 1.0 Date de publication Mai 2019 Patron de conception MVC Le développement d'une application web complexe, proposant de multiples fonctionnalités, par des équipes de plusieurs informaticiens nécessite d'établir des règles dans les étapes du développement et dans l'organisation du projet. Pour passer de l'écriture d'un simple programme au développement d'une application maintenable et évolutive, il est indispensable d'industrialiser, de rationaliser son codage. C'est ce que proposent les patrons de conception, notamment MVC. L'objectif de cette ressource est d'étudier un exemple concret d'une application web développée en suivant le patron de conception MVC. Cette ressource est scindée en cinq parties. La première partie explore le projet sans entrer dans les détails pour avoir une vision d'ensemble où chaque composant du MVC est aperçu. Tous les composants du MVC seront étudiés en détail dans les supports suivants : d'abord le Contrôleur, puis la Vue, le Modèle et enfin le contrôleur principal. Accès à une base de données en PHP Dans l'approche MVC il est important de séparer l'accès à la base de données du reste du code applicatif. C'est l'occasion d'aborder le codage de fonctions spécialisées dans l'accès aux bases de données en PHP. L'étude des fonctions d'accès aux tables de la base de données est basée sur les connaissances acquises en SI3. Une approche procédurale similaire à DAO est étudiée, sans toutefois faire appel à la programmation objet afin de rester accessible à tous les profils d'étudiants. Une approche orientée objet pourra être adaptée par la suite. Une base de données est utilisée dans chaque activité. Les étudiants devront importer la base de données fournie, et paramétrer un fichier de connexion avec leurs identifiants de connexion et l'adresse du serveur de base de données. http://www.reseaucerta.org © CERTA – mai 2019 – v1.0 Page 2/6 Contexte Le site r3st0.fr est construit à l’image des nombreux sites de critique existant sur le marché : lafourchette, tripadvisor, etc. L'objectif de ce site est de construire une base d'un grand nombre de restaurants, de stocker leurs caractéristiques, de recueillir les avis des consommateurs, et de diffuser ces informations aux visiteurs pour leur permettre de mieux choisir où manger. Deux types d'utilisateurs ont accès au site : les visiteurs, et les utilisateurs authentifiés. Visiteur En tant que visiteur non authentifié, l’utilisateur a accès à : un module de recherche lui permettant de trouver des restaurants par nom, adresse, type de cuisine, et multi-critères. un module d'inscription Il a aussi accès sur la fiche d’un restaurant aux caractéristiques du restaurant, aux types de cuisine servis et aux évaluations laissées par les utilisateurs enregistrés. Utilisateur authentifié Un visiteur enregistré a accès à plus de fonctionnalités, il peut ainsi personnaliser son profil : choisir ses types de cuisine préférés, aimer des restaurants, noter des restaurants, critiquer des restaurants. http://www.reseaucerta.org © CERTA – mai 2019 – v1.0 Page 3/6 Modèle de données Chaque restaurant répertorié sur le site est une occurrence de l'entité resto. Les restaurants sont illustrés par des photos. Un utilisateur du site (visiteur enregistré) peut effectuer une critique sur un restaurant. Chaque critique est composée d'une note allant de 1 à 5 et d'un commentaire textuel contenant l'avis de l'utilisateur sur le restaurant. Les utilisateurs peuvent aussi aimer des restaurants. Les restaurants proposent des types de cuisine qui peuvent être préférés par les utilisateurs. Autres fonctionnalités Les fonctionnalités suivantes sont développées dans la version définitive du site, mais ne font pas l'objet d'exercices : écran d'accueil avec les meilleurs restaurants, gestion des types de cuisine préférés, affichage des restaurants préférés, administration de ses propres critiques, adaptation des recherches de restaurants en tenant compte des goûts de l’utilisateur. Ces fonctionnalités peuvent être l'objet d'activités supplémentaires pour les étudiants. Considérations pédagogiques Ce contexte permet d'aborder les notions concernant le développement et la maintenance d'une application exploitant une base de données. Le site web définitif est accessible depuis un serveur web mis en place par l'enseignant. Les étudiants ont donc un objectif : l'aspect visuel et fonctionnel final. L'enseignant doit installer le site web définitif et fournir l'URL de ce dernier aux étudiants dès le début des activités. On encouragera les étudiants à explorer le site définitif pour mieux s'approprier le contexte et comprendre l'objectif. Ce support est utilisable en milieu de semestre en SI6 une fois que les étudiants ont acquis les bases en programmation web. Évolutions envisageables Gestion des types d'utilisateurs http://www.reseaucerta.org © CERTA – mai 2019 – v1.0 Page 4/6 Des modérateurs pourraient avoir accès à un module spécifique permettant de contrôler les critiques émises par les utilisateurs, et vérifier qu'elles respectent bien les conditions générales d'utilisation du site. Application mobile Le modèle de données embarque les coordonnées de géolocalisation des restaurants. Ces données prennent tout leur sens lors d'une utilisation sur STA mobile. Une application mobile native (Android, iOS) ou une application web adaptée (responsive design, Jquery Mobile…) peuvent être envisagées. Crédits sur les images incorporées agadir.jpg par Bawdeep2010 : https://commons.wikimedia.org/wiki/File:Tajine_marocain.jpg auberge.jpg : https://pixabay.com/fr/photos/délicatesse-manger-menu-copieux-489629/ barDuCharcutier.jpg : https://pixabay.com/fr/photos/charcuterie-saucisson-alimentation-2351210/ barDuMarche.jpg par Myrabella : https://commons.wikimedia.org/wiki/File:Campo_dei_Fiori.jpg cidrerieDuFronton.jpg par Harrieta171 : https://fr.wikipedia.org/wiki/Fichier:Lasse_Fronton.JPG cidrerieDuFronton2.jpg par Harrieta171 : https://fr.wikipedia.org/wiki/Fichier:Bidarray_Fronton.jpg cidrerieDuFronton3.jpg par Harrieta171 : https://fr.wikipedia.org/wiki/Fichier:Hasparren_Fronton.jpg entrepote.jpg par Benoît Prieur : https://en.wikipedia.org/wiki/File:Côte_de_bœuf_au_barbecue.JPG laTableDePottoka.jpg : https://pixabay.com/fr/photos/pottok-cheval-des-pyrénées-1322606/ leBistrotSainteCluque.jpg : https://pxhere.com/en/photo/890322 rotisserieDuRoyLeon.jpg : https://pxhere.com/en/photo/1070022 sapporo.jpg : https://pxhere.com/en/photo/846655 trinquetModerne.jpg par Joanbanjo : https://commons.wikimedia.org/wiki/File:Trinquet_Xiquet_de_Gata,_Gata_de_Gorgos.JPG http://www.reseaucerta.org © CERTA – mai 2019 – v1.0 Page 5/6 Annexe 1 : Schéma relationnel resto (idR, nomR, numAdrR, voieAdrR, cpR, villeR, latitudeDegR, longitudeDegR, descR, horairesR) clé primaire : idR utilisateur (mailU, mdpU, pseudoU) clé primaire : mailU typeCuisine (idTC, libelleTC) clé primaire : idTC photo (idP, cheminP,idR) clé primaire : idP clé étrangère : idR en référence à idR de la table resto critiquer (idR, mailU, note, commentaire) clé primaire : idR,mailU clé étrangère : idR en référence à resto(idR) clé étrangère : mailU en référence à mailU de la table utilisateur aimer (idR,mailU) clé primaire : idR,mailU clé étrangère : idR en référence à idR de la table resto clé étrangère : mailU en référence à mailU de la table utilisateur proposer (idR,idTC) clé primaire : idR,idTC clé étrangère : idR en référence à idR de la table resto clé étrangère : idTC en référence à idTC de la table typeCuisine preferer (mailU,idTC) clé primaire : mailU,idTC uploads/Management/ sio-si6-architecture-mvc-php-presentation.pdf
Documents similaires










-
32
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mar 25, 2021
- Catégorie Management
- Langue French
- Taille du fichier 0.5412MB