PHP moderne : bases du développement côté serveur
Apprendre PHP 8, le langage serveur le plus utilisé du web. Variables, fonctions, connexion à une base de données MySQL : les bases pour construire des applications web dynamiques.
Dernière mise à jour le 03/04/2026
Public visé
- Débutants souhaitant apprendre un premier langage backend pour construire des applications web dynamiques.
- Personnes en reconversion vers le développement web ayant déjà des notions de HTML et CSS.
- Développeurs front-end voulant comprendre ce qui se passe côté serveur et élargir leur profil vers le full-stack.
- Toute personne souhaitant créer des sites web dynamiques connectés à une base de données sans passer par un CMS.
Objectifs pédagogiques
- Comprendre le fonctionnement de l'architecture client-serveur et le rôle de PHP dans une application web
- Maîtriser la syntaxe PHP 8 : variables, conditions, boucles, fonctions et tableaux
- Traiter des formulaires HTML avec PHP en sécurisant les données reçues
- Interagir avec une base de données MySQL via PDO : créer, lire, modifier et supprimer des données
- Gérer les sessions et les cookies pour maintenir l'état d'un utilisateur entre les pages
- Comprendre les bases de la sécurité web : injection SQL, XSS, CSRF, validation et filtrage des entrées
- Organiser un projet PHP avec une architecture claire et maintenable
- Construire une application web dynamique complète de bout en bout
Prérequis
- Notions de HTML et CSS : savoir créer une page web statique avec des formulaires.
- Aucune expérience en backend ou en programmation côté serveur n'est requise.
- Savoir utiliser un navigateur web et un éditeur de texte (VS Code recommandé).
Programme détaillé
- Comment fonctionne le web : navigateur, serveur, HTTP
- Le rôle de PHP : générer du HTML dynamiquement côté serveur
- PHP dans l'écosystème : WordPress, Symfony, Laravel — pourquoi apprendre PHP en 2025
- Cycle de vie d'une requête HTTP : de la saisie URL à l'affichage de la page
- Installer XAMPP ou Laragon : Apache, MySQL, PHP en local
- Structure d'un projet PHP : dossiers, fichiers, point d'entrée
- Premier script PHP : balises d'ouverture, echo, var_dump
- Activer l'affichage des erreurs en développement
- Cas pratique : afficher une page HTML générée par PHP avec la date du jour
- Déclarer une variable en PHP : la convention du dollar
- Les types natifs : string, int, float, bool, null, array
- Typage dynamique et inférence : comment PHP détermine le type
- Les nouveautés PHP 8 : types union, nullsafe operator, match expression
- Concaténation de chaînes et interpolation de variables
- Cas pratique : afficher une fiche produit avec des variables
- if, elseif, else : syntaxe et opérateurs de comparaison
- L'opérateur ternaire et le null coalescing operator ??
- switch et match : choisir selon une valeur
- Cas pratique : afficher un message personnalisé selon l'heure de la journée
- while, do...while : boucler tant qu'une condition est vraie
- for : boucler un nombre défini de fois
- foreach : parcourir un tableau
- break et continue : contrôler le flux d'une boucle
- Cas pratique : afficher une liste de produits depuis un tableau PHP
- Déclarer et appeler une fonction
- Paramètres, valeurs par défaut et typage des paramètres en PHP 8
- Valeur de retour et type de retour déclaré
- Portée des variables : locale vs globale
- Fonctions anonymes et closures
- Cas pratique : bibliothèque de fonctions utilitaires pour formater des prix et des dates
- Tableaux indexés et tableaux associatifs
- Tableaux multidimensionnels
- Fonctions essentielles : array_map, array_filter, array_reduce, usort
- Déstructuration de tableaux avec list() et la syntaxe courte []
- Cas pratique : filtrer et trier un catalogue de produits
- Les superglobales PHP : $_GET, $_POST, $_SERVER, $_FILES
- Différence entre GET et POST : cas d'usage et sécurité
- Vérifier la présence et la validité des données : isset, empty, filter_input
- Afficher les erreurs de validation au-dessus du formulaire
- Cas pratique : formulaire de contact avec validation côté serveur
- Ne jamais faire confiance aux données utilisateur : le principe de base
- Échapper les sorties HTML avec htmlspecialchars pour prévenir le XSS
- Valider et filtrer avec filter_var : emails, URLs, entiers
- Préparer les données avant insertion en base de données
- Cas pratique : sécuriser un formulaire d'inscription complet
- Les bases de MySQL : tables, colonnes, types de données, clés primaires
- Créer une base de données et des tables avec phpMyAdmin
- Relations entre tables : clés étrangères, jointures
- Cas pratique : concevoir le schéma d'une application de gestion d'articles
- Pourquoi PDO et pas mysqli : portabilité et sécurité
- Créer une connexion PDO : DSN, gestion des exceptions
- Requêtes simples avec query() : lire des données
- Requêtes préparées avec prepare() et execute() : la règle absolue contre l'injection SQL
- Récupérer les résultats : fetch, fetchAll, fetchColumn
- Cas pratique : afficher la liste des articles depuis la base de données
- CREATE : insérer un enregistrement avec lastInsertId
- READ : lire un enregistrement par son identifiant
- UPDATE : modifier un enregistrement existant
- DELETE : supprimer un enregistrement avec confirmation
- Cas pratique : interface complète de gestion d'articles avec ajout, modification et suppression
- Les cookies : créer, lire, modifier, supprimer avec setcookie()
- Les sessions PHP : session_start(), $_SESSION, session_destroy()
- Implémenter une authentification simple : connexion, déconnexion, accès protégé
- Sécuriser les mots de passe : password_hash() et password_verify()
- Cas pratique : page de connexion avec redirection selon le statut de la session
- Séparer la logique PHP du rendu HTML : le pattern MVC simplifié
- Les fichiers include et require : factoriser l'entête, le pied de page, la connexion BDD
- Organiser ses dossiers : public/, includes/, config/, views/
- Le fichier de configuration centralisé : constantes et paramètres de connexion
- Cas pratique : refactoriser le projet CRUD avec une architecture propre
- Les niveaux d'erreur PHP : notice, warning, fatal error
- try, catch, finally : gérer les exceptions proprement
- Journaliser les erreurs avec error_log
- Différencier environnement de développement et de production
- Cas pratique : ajouter une gestion d'erreur robuste à la connexion PDO
- Les attaques CSRF : comprendre et implémenter un token de protection
- Upload de fichiers sécurisé : vérifier le type MIME, limiter la taille
- Les headers HTTP de sécurité : Content-Security-Policy, X-Frame-Options
- Cahier des charges : application de gestion de contenu avec authentification
- Fonctionnalités : inscription et connexion sécurisée avec password_hash, CRUD complet sur une ressource, sessions pour protéger les pages d'administration, validation et sécurisation des formulaires, affichage dynamique des données depuis MySQL, architecture organisée avec include et fichiers de configuration
- Étape 1 : mise en place de la base de données et de la connexion PDO
- Étape 2 : pages d'inscription et de connexion avec gestion de session
- Étape 3 : interface d'administration CRUD protégée
- Étape 4 : affichage public des données avec pagination
- Revue de code collective : sécurité, organisation, lisibilité
- Retour formateur individualisé sur le projet rendu
Compétences visées
- Écrire des scripts PHP 8 fonctionnels et lisibles respectant les bonnes pratiques
- Concevoir et interroger une base de données MySQL avec PDO de manière sécurisée
- Traiter et valider des formulaires HTML côté serveur
- Gérer les sessions utilisateur pour implémenter une authentification simple
- Structurer une application PHP avec une organisation de fichiers claire et maintenable
- Appliquer les bases de la sécurité web pour protéger une application contre les vulnérabilités courantes
Modalités et méthodes pédagogiques
Modalités d'évaluation
- En cours de formation : exercices pratiques et mini-projets corrigés à chaque module
- En fin de formation : réalisation d'une application PHP complète avec authentification et base de données
- Questionnaire d'auto-évaluation des acquis en fin de parcours
Critères d'évaluation
- Écriture de scripts PHP 8 fonctionnels et lisibles sans erreurs de syntaxe
- Utilisation systématique des requêtes préparées PDO pour toute interaction avec la base de données
- Validation et sécurisation correcte des données reçues depuis les formulaires
- Implémentation fonctionnelle de la gestion de session pour protéger les pages d'administration
- Organisation du code avec une séparation claire entre logique métier et rendu HTML
Modalités de validation
Moyens pédagogiques et techniques
- Support de cours numérique mis à disposition des apprenants
- Dépôt GitHub de démonstration avec exercices et corrections par module
- Environnement de développement : VS Code + XAMPP ou Laragon + phpMyAdmin
- Pour le distanciel : visioconférence (Zoom ou équivalent), partage d'écran, chat en direct
- Accès à la plateforme pédagogique LaPolaris (supports, ressources, émargement)
Accessibilité aux personnes en situation de handicap
Suivi et accompagnement
- Feuilles d'émargement signées par demi-journée (présentiel) ou émargement numérique (distanciel)
- Traçabilité des activités pédagogiques réalisées
- Attestation d'assiduité délivrée en fin de formation
- Suivi individuel via les exercices corrigés et le projet de synthèse
Conditions d'accès
Délais d'accès
Autres formations en Développement Backend
Symfony 7 : initiation au framework PHP professionnel
Prendre en main Symfony 7 pour construire des applications web robustes et maintenables. Architecture MVC, Doctrine ORM, Twig, formulaires et sécurité : les fondamentaux du standard professionnel PHP.
Spring Boot : développer des API REST en Java
Créer des API REST robustes et sécurisées avec Spring Boot. Injection de dépendances, Spring Data JPA, Spring Security avec JWT, gestion des erreurs et déploiement : le standard du backend Java en entreprise.
PHP orienté objet : concevoir des applications structurées
Maîtriser la programmation orientée objet en PHP 8. Classes, héritage, interfaces, traits, design patterns et architecture MVC : écrivez un code PHP professionnel, maintenable et réutilisable.