Module 1 — Fondations PHP et environnement de développement
- Rôle de PHP dans le web : exécution serveur, cycle requête/réponse
- Installer/configurer : PHP, extensions, serveur local, CLI, variables d’environnement
- Structure d’un projet : arborescence, entrypoint, conventions
- Syntaxe de base : variables, types, opérateurs, conditions, boucles
- Fonctions : signatures, valeurs par défaut, typage, retour
- Mise en application encadrée : créer un mini-script CLI et une page dynamique.
Module 2 — Types, tableaux, chaînes et manipulation de données
- Types scalaires et typage strict : avantages, pièges, conversions
- Tableaux : indexés/associatifs, itérations, fonctions utiles, immutabilité (principes)
- Chaînes : encodage UTF-8, concaténation, formatage, regex (bases)
- Dates et heures : DateTime, fuseaux, formats, calculs
- Gestion des fichiers : lecture/écriture, uploads (principes), chemins
- Mise en application encadrée : transformer et valider un jeu de données
Module 3 — Programmation orientée objet (OOP) et conception propre
- Classes/objets : propriétés, méthodes, visibilité, statique
- Constructeurs, injection de dépendances (principes), composition
- Héritage vs composition : critères de choix, interfaces, traits
- Exceptions : création, propagation, gestion cohérente des erreurs
- Namespaces et autoloading : organiser le code, éviter les collisions
- Mise en application encadrée : refactoriser un code procédural en OOP simple
Module 4 — PHP côté web : HTTP, formulaires, sessions et fichiers
- Superglobales : $_GET, $_POST, $_SERVER, $_FILES (usage maîtrisé)
- Validation et sanitation : filtres, règles, messages d’erreur
- Sessions et cookies : cycle, sécurité, fixation de session (principes)
- Gestion des headers : redirections, codes HTTP, content-type
- Upload : contraintes, taille, types, stockage, sécurisation
- Mise en application encadrée : créer un formulaire complet (validation + erreurs)
Module 5 — Accès aux données avec PDO et SQL sécurisé
- Connexion PDO : DSN, options, erreurs, encodage
- Requêtes préparées : paramètres, prévention des injections SQL
- CRUD : créer/lire/mettre à jour/supprimer avec une couche dédiée
- Transactions : cohérence, rollback, gestion d’erreurs
- Pagination, tri, filtres : patterns robustes et contrôlés
- Mise en application encadrée : développer un mini-back-office CRUD simple
Module 6 — Structurer une application : MVC léger et bonnes pratiques
- Séparation des responsabilités : routeur, contrôleurs, services, vues
- Templates : échappement, composants, partials (principes)
- Configuration par environnement : dev/staging/prod, secrets (principes)
- Gestion des erreurs : pages 404/500, handler centralisé, journalisation
- Standards : PSR (PSR-1/12, PSR-4), conventions de code
- Mise en application encadrée : organiser une mini-appli web en MVC léger.
Module 7 — Écosystème moderne : Composer, dépendances et qualité
- Composer : init, require, autoload, scripts, lockfile
- Choisir une dépendance : maintenance, sécurité, licences, compatibilité
- Qualité : PHPStan/Psalm (notions), PHP-CS-Fixer, linters
- Debug : Xdebug, var_dump maîtrisé, logs, profiler (principes)
- Documentation : README, docblocks, règles de contribution
- Mise en application encadrée : outiller un projet (autoload + lint + analyse)
Module 8 — Sécurité applicative PHP (niveau avancé)
- XSS : échappement, CSP (principes), gestion du contenu
- CSRF : tokens, vérifications, bonnes pratiques sur formulaires
- Authentification : hash (password_hash), politiques mots de passe, rate limiting
- Autorisation : rôles, permissions, contrôles côté serveur
- Sécurité des sessions : cookies secure/httponly, rotation, expiration
- Mise en application encadrée : sécuriser un flux login + formulaire sensible
Module 9 — Tests, déploiement et exploitation
- Tests unitaires : PHPUnit, structure, fixtures, assertions
- Tests d’intégration : base de données, mocks vs réel (principes)
- CI basique : lancer tests/lint à chaque push (principes)
- Packaging & déploiement : env vars, migrations, cache, opcache
- Observabilité : logs, erreurs, métriques (notions), gestion d’incidents
- Mise en application encadrée : préparer une checklist de mise en prod et validation






