
Contexte de la mission
Dans le cadre de la formation Développeur PHP (OpenClassrooms), j’ai accompagné des étudiants sur le projet The ArtBox, une galerie d’art en ligne existante à refactorer en PHP.
Objectif pédagogique : apprendre à factoriser du HTML en composants PHP réutilisables, automatiser la génération de pages à partir de données, et poser les bases d’une architecture plus maintenable.
Description du projet
Le site fonctionnait initialement avec des pages HTML dupliquées. Le travail demandé consistait à :
- Isoler les parties communes (header, footer, navigation) en partials PHP et les inclure via
require/include. - Centraliser les données des œuvres (tableau/JSON/DB selon variante) puis générer la liste et les pages de détail par boucle PHP.
- Réduire la dette technique (DRY), clarifier la structure des fichiers et préparer une éventuelle connexion MySQL.
Mon rôle : cadrage méthodo (arborescence, nommage, plan de refacto), relecture de code, et mise en place d’un cahier de recettes minimal pour vérifier que chaque étape n’introduit pas de régression.
Technologies utilisées
- PHP 8 (includes, boucles, logique de templates)
- MySQL (selon option : préparation/connexion, requêtes simples)
- HTML5 / CSS (structure et styles existants)
- MAMP / LAMP / WAMP (environnement local)
- Git (versionnement des étapes de refactorisation)
Étapes guidées
- Préparation du travail : audit des pages, repérage des duplications, plan de factorisation.
- Factorisation du header & footer : création de partials et intégrations propres.
- Création du tableau des œuvres : structure de données unique (array/JSON/DB).
- Factorisation de la page d’accueil : génération de la grille via boucle PHP.
- Factorisation des pages de détail : page unique qui récupère l’œuvre par id/slug (GET), avec gestion d’erreurs (404 simple).
Compétences travaillées
- Factorisation de code (DRY) et templates PHP
- Automatisation de la création de pages (boucles, includes)
- Structuration des données (array/JSON/DB) et séparation des responsabilités
- Mise en place d’un environnement local (MAMP) et Git workflow
- Cahier de recettes : vérifications pas à pas après chaque refactor
Positionnement mentor : j’ai reproduit le projet en parallèle pour anticiper les blocages (routing simple, variables d’environnement, 404, sécurité basique) et outillé les étudiants (checklists, étapes intermédiaires, commits pédagogiques) afin qu’ils mènent eux-mêmes la refactorisation sans solution “clé en main”.
