DevBlog — Votre Blog Dynamique

Le projet fil rouge de cette formation : construire un blog complet avec PHP et MySQL, incluant articles, catégories, commentaires, authentification et panel admin.

Structure du Projet DevBlog

Organisation des fichiers et base de données

text
devblog/
├── index.php               — Page d'accueil (liste des articles)
├── article.php             — Page détail d'un article
├── connexion.php           — Page de connexion
├── inscription.php         — Page d'inscription
├── admin/
│   ├── dashboard.php       — Panel admin
│   ├── create-article.php  — Créer un article
│   └── edit-article.php    — Modifier un article
├── includes/
│   ├── config.php          — Connexion PDO à MySQL
│   ├── functions.php       — Fonctions utilitaires
│   ├── header.php          — En-tête commun (nav)
│   └── footer.php          — Pied de page commun
├── models/
│   ├── Article.php         — Requêtes articles (CRUD)
│   ├── User.php            — Requêtes utilisateurs
│   └── Category.php        — Requêtes catégories
├── css/
│   └── style.css           — Styles du blog
├── uploads/                — Images uploadées
└── sql/
    └── devblog.sql         — Structure de la base

BASE DE DONNÉES MySQL :
───────────────────────
users        — id, username, email, password, role, created_at
articles     — id, title, slug, content, image, user_id, category_id, created_at
categories   — id, name, slug
comments     — id, content, user_id, article_id, created_at

FONCTIONNALITÉS :
─────────────────
✓ CRUD complet (Create, Read, Update, Delete) des articles
✓ Catégories avec filtrage
✓ Commentaires sous les articles
✓ Authentification (inscription + connexion + sessions)
✓ Upload d'images de couverture
✓ Panel admin avec rôles (admin/auteur)
✓ Pagination des résultats
✓ Protection CSRF, XSS, injection SQL
✓ Architecture MVC (préparation à Laravel)

PHP Backend

  • Variables, fonctions, tableaux
  • Formulaires (GET/POST) et validation
  • Sessions, cookies, messages flash
  • Inclusions et templates (layout)

MySQL & PDO

  • Création de tables et relations
  • Requêtes préparées (anti injection SQL)
  • CRUD complet avec PDO
  • Jointures SQL (INNER, LEFT JOIN)

Authentification

  • password_hash / password_verify
  • Inscription avec validation
  • Connexion avec sessions
  • Protection des pages (middleware)

Sécurité & MVC

  • Protection CSRF (tokens)
  • Protection XSS (htmlspecialchars)
  • Architecture Model-View-Controller
  • Transition vers Laravel

La Stack Technique

Backend
  • PHP 8.2+ — Langage serveur
  • MySQL — Base de données relationnelle
  • PDO — Accès base de données sécurisé
  • Apache — Serveur web (via XAMPP)
Prérequis
  • HTML, CSS, JavaScript (bases)
  • XAMPP installé (Apache + MySQL + PHP)
  • VS Code avec les extensions PHP
  • phpMyAdmin (inclus dans XAMPP)

Prêt à construire DevBlog ?

Suivez le cours étape par étape pour créer votre blog dynamique avec PHP et MySQL

Commencer le Chapitre 0