Atelier Professionnel PHP XML MySQL MVC DAO PHPUnit

Journée d'intégration

Développement d'une application web PHP MVC pour la gestion des ateliers de la journée d'intégration PICNIC du BTS SIO — puis refactoring complet vers le patron de conception DAO avec tests unitaires PHPUnit et documentation phpDocumentor.

Outils & Technologies

PHP — MVC, PDO, SimpleXML
MySQL / MariaDB
XML — SimpleXML
Pattern MVC + DAO
PHPUnit — tests unitaires
phpDocumentor
GitHub Codespace + Docker
HTML / CSS — vues
VS Code + XDebug

Contexte

Le BTS SIO du lycée Saint-John Perse de Pau organise chaque année une journée d'intégration PICNIC pour les nouveaux étudiants. L'objectif est de les accueillir et de leur permettre de se retrouver autour d'activités communes : théâtre, algorithmes déconnectés, entretiens d'embauche simulés, escape game.

Dans ce cadre, l'atelier consistait à développer une application web PHP pour afficher et gérer les ateliers proposés lors de cette journée, en suivant une architecture MVC claire, puis en faisant évoluer le code vers un patron DAO plus robuste et maintenable.

Mission & Objectifs

Concevoir une application PHP en architecture MVC permettant d'afficher les ateliers de la journée d'intégration à partir d'un fichier XML, puis refactorer cette application en appliquant le patron de conception DAO pour séparer l'accès aux données de la logique métier — avec mise en place de tests unitaires PHPUnit et génération automatique de la documentation via phpDocumentor.

Tickets GLPI traités

Les demandes et incidents ont été soumis via GLPI par des utilisateurs fictifs et attribués à un étudiant de SIO2. Chaque ticket constituait une mission à implémenter.

V1 Application MVC PHP

  • Architecture Modèle-Vue-Contrôleur, routage par paramètre GET (?controleur=gestionAteliers&action=consultation)
  • Classe FichierXML — lecture des 4 ateliers PICNIC via SimpleXML depuis ateliers.xml
  • Classe FichierJSON — liste des salles depuis exempleInfosSalles.json
  • Classe Base — connexion PDO avec gestion des erreurs, table Developpeur (id, nom, prénom)
Schéma d'architecture MVC
Schéma architecture MVC
Routage par paramètre GET — séparation Modèle / Vue / Contrôleur
Résultat — pages de l'application
Vues PHP
Contrôleurs
Modèles
Configuration base de données
Configuration BDD
Fichier .env — paramètres DSN, utilisateurs restreints, connexion PDO

V2 Base de Données — DAO

Documentation phpDocumentor

Génération automatique depuis les commentaires PHPDoc

Toutes les classes et méthodes sont commentées avec des annotations @param, @return et @throws. La documentation HTML est générée via la commande :

php phpDocumentor.phar run -d ./site -t ./documentation
  • -d ./site — dossier source du projet PHP
  • -t ./documentation — dossier de sortie HTML généré
  • Résultat : site statique navigable listant toutes les classes, méthodes et leurs signatures typées

Structure de la base de données

Table Developpeur — id, nom, prénom
Table Competence — id, nom
Droits restreints (JI_Dev_Read)
Fichier XML ateliers.xml — 4 ateliers

Résultats & Apprentissages

2
Versions livrées (V1 MVC & V2 DAO)
DAO
Patron de conception maîtrisé
100%
Code documenté (phpDocumentor)

Cet atelier m'a permis de consolider l'architecture MVC en PHP et de découvrir le patron DAO, qui sépare nettement la logique d'accès aux données de la logique métier. La gestion des droits d'accès à la base de données selon le rôle (JI_Dev_Read) m'a sensibilisée aux bonnes pratiques de sécurité dès la conception.

La mise en place de tests unitaires PHPUnit et la génération de documentation phpDocumentor m'ont donné une vision complète du cycle de développement professionnel : conception, codage, test et documentation technique.

Compétences BTS SIO validées

B2.1 Concevoir et développer une solution applicative
B2.2 Réaliser les tests de validation d'une solution
B2.3 Rédiger la documentation technique
B1.4 Travailler en mode projet
B1.1 Gérer le patrimoine informatique
Atelier précédent
PicDuMidiBoutique
Voir les compétences
Atelier suivant
Gestion Commande V2