Pom’ De Blog

Rôle

Développeuse Back-End

Cours

Développement back-end en 1ère année de Bachelor Cycle Web et Multimédia

Outils

PHP, SQL, HTML, CSS

Contexte et Recherche

Pom’ De Blog est un projet réalisé dans le cadre du cours de Développement Back, durant ma première année de Bachelor Cycle Web & Multimédia à MyDigitalSchool Vannes. L’objectif était d’apprendre à gérer un backend complet avec PHP, SQL, une base de données structurée et un système d’administration fonctionnel.

La recherche a porté sur la conception d’un blog structuré, en définissant l’arborescence entre la partie client et la partie administrateur, en identifiant les tables SQL nécessaires (articles, utilisateurs et messages), ainsi qu’en réfléchissant aux routes, à la logique serveur et à la gestion des sessions. Cette phase a également inclus la mise en place d’un environnement serveur reproductible grâce à Docker, permettant de définir une architecture claire et adaptée au développement d’un blog dynamique.

Difficultés

Validation des entrées, protection contre les injections, gestion des erreurs et des messages utilisateurs. Structurer les routes, les pages, les templates et la base de données, tout en gardant un code clair et réutilisable.

Compétences transversales

Conception d’une architecture backend complète : routes, templates, base de données, logique serveur. Organisation du code, séparation des responsabilités, utilisation de Docker, pour reproduire un environnement serveur professionnel.

Développement

Le développement du projet s’est appuyé sur une architecture claire et modulaire. Le framework Flight a été utilisé, afin de gérer les routes et structurer l’application, tandis que les différentes pages ont été organisées dans le dossier templates/pages et les éléments communs, comme le header et le footer, dans templates/parts, avec une distinction entre les versions client et administrateur.

La base de données SQL, administrée via PHPMyAdmin, comprend des tables dédiées aux articles, aux utilisateurs et aux messages du formulaire de contact, avec une connexion centralisée dans inc/db.php.

Le backend intègre la gestion des sessions pour l’espace d’administration, un système d’authentification, un formulaire de contact sécurisé ainsi que les principales opérations de gestion des articles (ajout, suppression et affichage).

Côté frontend, l’interface repose sur une structure HTML et CSS simple, avec un fichier de réinitialisation (reset.css), un fichier principal (style.css) et deux feuilles de style destinées à séparer les interfaces du front-office et du back-office.

Enfin, Docker a été utilisé, grâce à un Dockerfile et un fichier docker-compose.yml, afin de disposer d’un environnement serveur local reproductible et proche des conditions de production.

Flight::route(‘/contact’, function () {
 require ‘inc/db.php’;
 $errors = [];
 $success = false;
 if ($_SERVER[‘REQUEST_METHOD’] === ‘POST’) {
  $nom = filter_input(INPUT_POST, ‘nom’, FILTER_SANITIZE_SPECIAL_CHARS);
  $objet = filter_input(INPUT_POST, ‘objet’, FILTER_SANITIZE_SPECIAL_CHARS);
  $contenu = filter_input(INPUT_POST, ‘contenu’, FILTER_SANITIZE_SPECIAL_CHARS);
  $datemessage = date(‘Y-m-d’);
  if (!$nom) $errors[] = « Le nom est obligatoire. »;
  if (!$objet) $errors[] = « L’objet est obligatoire. »;
  if (!$contenu) $errors[] = « Le contenu est obligatoire. »;
  if (empty($errors)) {
   $sql = « INSERT INTO message (nom, objet, contenu, datemessage) VALUES (:nom, :objet, :contenu, :datemessage) »;
   $stmt = $pdo->prepare($sql);
   $success = $stmt->execute([
    ’:nom’ => $nom,
    ’:objet’ => $objet,
    ’:contenu’ => $contenu,
    ’:datemessage’ => $datemessage
   ]);
  }
 }
 include ‘templates/parts/begin.php’;
 include ‘templates/pages/contact.php’;
 include ‘templates/parts/end.php’;
});

Gestion complète du backend

Routes, sessions, formulaires, base de données, sécurité et logique serveur maîtrisés.

Architecture claire et modulaire

Séparation des templates, des pages, des parties communes et du code backend, pour un projet propre et évolutif.

Environnement serveur professionnel

Utilisation de Docker, pour simuler un serveur réel et tester le site en conditions proches de la production.

Conclusion et résultat final

Pom’ De Blog a été un projet essentiel, pour comprendre la logique backend : gestion des routes, base de données, sécurité, sessions, architecture et environnement serveur. Il m’a permis de développer un blog complet côté client et côté admin, tout en apprenant à structurer un projet PHP professionnel.
Même s’il n’est pas en ligne pour des raisons de sécurité, il constitue une base solide, pour mes futurs projets backend, et son code est disponible sur mon compte GitHub, afin d’être testé en local.