Skip to content

ElodieBayet/php-mvc

Repository files navigation

PHP & MVC

Version Objectif Domaine Cadre Démo
2.2 Andragogie Programmation Laboratoire PHP & MVC

Reupload et correction du support 'PHP & MVC' daté d'octobre 2019.


Présentation

Ce projet est une ressource pédagogique qui sert d'exemple de développement en PHP à travers l'architecture Model-View-Controller et le paradigme Orienté Objet.

Ce support était fourni aux stagiaires ayant accompli le cours "Laboratoire PHP".

Objectifs

  • Résoudre un système de routage en PHP en deux versions linguistiques
  • Respecter l'architecture Model-View-Controller et l'abstraction Orientée Objets
  • Se préprarer à l'apprentissage d'un Framework professionnel comme Symfony

Prérequis

Cours

  1. "Informatique"
  2. "Algorithmique"
  3. "HTML/CSS"
  4. "Programmation PHP"
  5. "Modélisation de base de données"
  6. "Orienté Objet en PHP"
  7. "SQL / MySQL"

Exploitation

Ce projet peut être utilisé dans un cadre d'apprentissage individuel et privé. Il ne convient pas pour une utilisation publique ou professionnelle.


Analyse et conception

Le projet gère 2 versions linguistiques : le français et l'anglais. Les URIs et la base de données sont conçues en conséquence.

Sitemap

Architecture SEO

Logiciel

1️⃣ Diagramme de séquence

Diagramme séquence

2️⃣ Diagramme de communication

Diagramme communication

3️⃣ Diagramme de classes

Diagramme classes

Base de données

1️⃣ Schéma entités-associations

2️⃣ Schéma relationnel

Schéma relationnel


Installation

Clônez ce repository dans un répertoire local sur votre machine.

Prérequis

Configuration

1️⃣ Virtual Host

Fichier httpd-vhosts.conf

<VirtualHost *:80>
	ServerName php-mvc.local
	DocumentRoot "YOUR-DIRECTORY-PATH-HERE"
	<Directory "YOUR-DIRECTORY-PATH-HERE">
		Options +Indexes +Includes +FollowSymLinks +MultiViews
		AllowOverride All
		Require local
	</Directory>
</VirtualHost>

Fichier host

127.0.0.1 php-mvc.local
::1 php-mvc.local

2️⃣ Base de données

Le dossier _database/ contient les fichiers SQL nécessaires à l'implémentation de la base de données.

  1. 1_schema.sql définit la structure (DDL). Il doit être exécuté en premier.
  2. 2_data_periods.sql implémente la table period et ses sous-entités languistiques (DML). C'est l'entité forte, donc il doit être exécuté en deuxième.
  3. 3_data_compositor.sql implémente la table compositor (DML). C'est l'entité faible, donc il doit être exécuté après le DML précédent.

3️⃣ Variables d'environnement

Dupliquez le fichier env.template.php et renommez-le en env.local.php. Adaptez les constantes avec des propriétés adéquantes pour votre utilisation locale – en particulier les valeurs de connexion la base de données.

Si vous déployez ce projet en ligne, dupliquez une nouvelle fois le fichier env.template.php et renommez-le en env.php. Adaptez cette fois les constantes avec des propriétés adaptées pour l'environnement de production. C'est cette version en.php doit être déployée sur votre serveur distant.

⚠️ Attention : ne divulguez jamais vos variables d'environnement publiquement.


Remarques

Ressources

Les ressources externes CSS et JavaScript sont à votre disposition gracieusement et leur utilisation est autorisée. Mais notez bien que ces ressources sont susceptibles d'évoluer sans préavis car elles ne font pas l'objet d'une librairie publique.

En revanche, l'utilisation des ressources externes .png, .jpg, .svg figurant dans /trademark est formellement interdite. Si vous souhaitez utiliser et publier ce projet, veuillez replacer ces images par vos logos et icônes.

Références

About

RE-UPLOAD - Support de cours : Exemple de développement MVC & OOP en PHP

Topics

Resources

Stars

Watchers

Forks

Contributors