Aller au contenu

420-707-AH
Initiation au développement côté serveur

Programmation web avec PHP
Fondements du développement côté serveur
Séance 1

Introduction et mise en route

  • Présentation du plan de cours
  • Modèle client-serveur et cycle d'une requête HTTP
  • Rôle du serveur: exécuter du code et produire du HTML
  • Prise en main des outils de développement (éditeur, navigateur)
  • Révision des bases de programmation (variables, conditions, boucles)
Séance 2

Environnement XAMPP et premiers pas en PHP

  • Installation et configuration de XAMPP (Apache)
  • Dossier htdocs et exécution d'un script via localhost
  • Balises PHP, echo, print
  • Variables, typage dynamique et types de base
  • Commentaires et débogage (var_dump, print_r)
  • Première page web dynamique
Séance 3

Structures, tableaux et fonctions

  • Opérateurs et structures conditionnelles (if, switch, ternaire, ??)
  • Boucles (for, while, foreach)
  • Tableaux indexés et associatifs
  • Fonctions: paramètres, valeurs par défaut, return
  • Portée des variables (scope)
  • Inclusion de fichiers (include, require)
  • Création d'un site simple avec traitement backend
Séance 4

Formulaires et validation

  • Envoi de données: méthodes GET et POST
  • Récupération des données de formulaire ($_GET, $_POST)
  • Validation des données côté serveur
  • Sécurité de l'affichage (htmlspecialchars)
Environnement XAMPP, MVC et base de données
Séance 5

Superglobales et introduction au MVC

  • Superglobales: $_GET, $_POST, $_SERVER
  • Verbes HTTP et $_SERVER['REQUEST_METHOD']
  • Aperçu des API: répondre à un programme plutôt qu'à un navigateur (réponse JSON avec json_encode, test avec curl)
  • Le patron MVC: modèle, vue, contrôleur
  • Séparation des responsabilités (données, logique, présentation)
  • Routes et contrôleurs: aiguiller une requête
  • Vues: générer le HTML côté serveur
Travail pratique 1 (20 %)
Séance 6

Base de données MySQL et CRUD

  • Rappel des bases de données relationnelles
  • Introduction à MySQL et à phpMyAdmin
  • Connexion à la base de données (PDO)
  • Requêtes préparées et protection contre l'injection SQL
  • Opérations CRUD via contrôleurs et formulaires
Séance 7

Structuration MVC du code

  • Organisation du code en MVC: modèles, contrôleurs, vues
  • Modèles: encapsuler l'accès à la base de données
  • Gabarits de vues et réutilisation (en-tête, pied de page)
  • Bonnes pratiques de structure et de maintenabilité
Travail pratique 2 (20 %)
Sécurité et projet intégrateur
Séance 8

Authentification, sessions et cookies

  • Notion de session HTTP et d'état côté serveur
  • Sessions PHP ($_SESSION, session_start)
  • Cookies: portée et limites
  • Inscription et connexion d'un utilisateur
  • Hachage des mots de passe (password_hash, password_verify)
  • Présentation du projet intégrateur
Séance 9

Rôles, permissions et contrôle d'accès

  • Contrôle d'accès basé sur les rôles
  • Restriction des pages selon l'utilisateur connecté
  • Protection des routes et redirections
  • Suivi de l'avancement du projet intégrateur
Séance 10

Finalisation du projet et révision

  • Finalisation et présentation du projet intégrateur
  • Préparation à la livraison et au déploiement
  • Révision en vue de l'examen final
Projet intégrateur (30 %)
Séance 11

Examen final

Examen final (30 %)