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.
Public Concerné BTS SIO
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.

Pré-Requis Bases du développement en PHP/HTML : variables, formulaires HTML, structures de contrôle, tableaux, fonctions. Exploitation d'une base de données MariaDB/MySQL : savoir importer une base de données existante et exécuter des requêtes SQL.
Savoir

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

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
Auteurs Mathieu Capliez avec les relectures de Yann Barrot, Roger Sanchez et Fabrice Missonnier
Version V1.0
Date de Publication 28 Mai 2019
Date de Modification 28 Mai 2019