PHP - Maîtriser la Programmation Web Dynamique
Aperçu du cours
Table des matières
- PHP procédural
- Les classes en PHP
- Formulaires HTML/PHP
- Injections XSS, Filtrage, Expressions Régulières
- Conception Objet, Gestion des Erreurs
- Cookies
- Sessions
- Bases de Données et PHP Data Objects
- Couche d’Accès aux données (DAL)
- Analyse Fonctionnelle
- Organisation des Répertoires et Configuration
- Architecture Modèle-Vue-Contrôleur
- Utilisateurs et Front Controller
- Web Services
Contenu détaillé du cours
Objectifs d'apprentissage
- Maîtriser les bases de la programmation procédurale en PHP, y compris les structures de contrôle et les fonctions.
- Comprendre et implémenter la programmation orientée objet (POO) en PHP avec des classes, des méthodes et des propriétés.
- Créer et gérer des formulaires HTML/PHP pour collecter et traiter des données utilisateur.
- Appliquer des techniques de sécurité pour prévenir les injections XSS et filtrer les données avec des expressions régulières.
- Développer des applications robustes avec une gestion efficace des erreurs et des exceptions.
- Utiliser les cookies et les sessions pour gérer l'état des utilisateurs.
- Interagir avec des bases de données via PHP Data Objects (PDO) pour des requêtes sécurisées.
- Concevoir une couche d'accès aux données (DAL) pour une meilleure organisation du code.
- Analyser les besoins fonctionnels d'une application web et structurer son développement.
- Organiser les répertoires et configurer un environnement de développement optimal.
- Implémenter l'architecture Modèle-Vue-Contrôleur (MVC) pour une application web scalable.
- Gérer les utilisateurs et implémenter un Front Controller pour centraliser les requêtes.
- Créer et consommer des Web Services pour des interactions client-serveur modernes.
Public cible
Ce cours s'adresse aux développeurs débutants ou intermédiaires souhaitant acquérir des compétences solides en programmation web avec PHP. Il est idéal pour les étudiants en informatique, les professionnels en reconversion, ou les autodidactes désireux de maîtriser le développement back-end. Une connaissance de base en HTML et en algorithmique est recommandée pour tirer pleinement profit de la formation.
Contenu détaillé
PHP procédural
Introduction aux bases du PHP : syntaxe, variables, opérateurs, structures conditionnelles et boucles. Apprentissage des fonctions et des tableaux pour manipuler des données.
Les classes en PHP
Découverte de la POO en PHP : création de classes, instanciation d'objets, héritage, encapsulation, et polymorphisme. Utilisation des méthodes et propriétés statiques.
Formulaires HTML/PHP
Création de formulaires interactifs avec validation côté serveur. Traitement des données POST/GET et sécurisation des entrées utilisateur.
Injections XSS, Filtrage, Expressions Régulières
Protection contre les attaques XSS et injections SQL. Techniques de filtrage avec filter_var et validation via expressions régulières (regex).
Conception Objet, Gestion des Erreurs
Bonnes pratiques de conception objet (SOLID). Gestion des erreurs avec try/catch et personnalisation des exceptions.
Cookies
Utilisation des cookies pour stocker des données côté client. Configuration, lecture et suppression des cookies en PHP.
Sessions
Mécanismes de sessions PHP pour suivre les utilisateurs. Sécurisation des données de session et gestion des timeouts.
Bases de Données et PHP Data Objects
Connexion à une base MySQL avec PDO. Exécution de requêtes préparées pour éviter les injections SQL. Récupération et manipulation des résultats.
Couche d’Accès aux données (DAL)
Création d'une abstraction entre la base de données et le code métier. Réutilisation des requêtes et centralisation des accès aux données.
Analyse Fonctionnelle
Méthodologie pour traduire des besoins clients en spécifications techniques. Rédaction de user stories et définition des cas d'usage.
Organisation des Répertoires et Configuration
Structure optimale pour un projet PHP (autoloading, namespaces). Configuration via fichiers .env et gestion des environnements (dev/prod).
Architecture Modèle-Vue-Contrôleur
Découpage d'une application en trois couches : modèle (données), vue (interface), contrôleur (logique). Implémentation d'un routeur basique.
Utilisateurs et Front Controller
Gestion des rôles utilisateurs et contrôle d'accès. Pattern Front Controller pour un point d'entrée unique (ex: index.php).
Web Services
Création d'APIs RESTful en PHP (JSON). Authentification via tokens (JWT) et documentation avec OpenAPI.