Aller au contenu

Introduction au développement côté serveur avec PHP

Dans ce premier chapitre, nous installons le modèle mental du développement côté serveur avant toute syntaxe : qui fait quoi entre le navigateur et le serveur, ce qu’apporte PHP, et comment une page se construit à chaque requête.

Quand vous accédez à une page web, le navigateur n’a pas le contenu d’avance. Il envoie une demande au serveur associé à l’adresse tapée dans la barre de navigation, par exemple https://www.collegeahuntsic.qc.ca. C’est pour cette raison qu’on l’appelle le client : il demande, il ne produit pas le contenu.

Le serveur, lui, reçoit cette demande, exécute le code associé à l’adresse, et renvoie une réponse.

  1. Client (navigateur) vers Serveur (Apache + PHP) : Requête HTTP (GET /index.php)
  2. Serveur (Apache + PHP) vers Client (navigateur) : 200 · Réponse : HTML
Le client demande, le serveur répond

PHP est né en 1994-1995. Rasmus Lerdorf l’a d’abord écrit comme un ensemble de scripts pour suivre les visites de sa page personnelle en ligne ; le nom venait de « Personal Home Page ». Le besoin initial était concret : rendre les pages web dynamiques et traiter les données de formulaires côté serveur, sans réécrire un programme complet pour chaque page.

PHP fait tourner une grande partie du web : selon W3Techs, environ 75 % des sites dont on connaît le langage serveur l’utilisent, et WordPress (écrit en PHP) propulse à lui seul plus de 40 % des sites. Autour du langage gravitent :

  • Composer : le gestionnaire de dépendances (l’équivalent de npm pour PHP).
  • Des frameworks : Laravel et Symfony pour les applications, en plus de plateformes prêtes à l’emploi comme WordPress, Drupal et Magento.

Une page dont tout le contenu est déjà en HTML sur le serveur est une page statique : le serveur la renvoie telle quelle, identique pour tout le monde.

À l’inverse, une page dynamique crée son contenu au moment où le serveur reçoit la requête . Le contenu peut alors varier et s’adapter automatiquement : une page de produits générée depuis une base de données, un tableau de bord qui change selon l’utilisateur connecté, ou simplement une page qui affiche la date du jour.

Quand une page PHP est demandée, la requête traverse trois acteurs avant que le navigateur n’affiche le résultat.

  1. Navigateur vers Serveur (Apache) : Requête HTTP (GET /produits.php)
  2. Serveur (Apache) vers Interpréteur PHP : Confie le script à PHP
  3. Interpréteur PHP : Exécute le code, lit les données
  4. Interpréteur PHP vers Serveur (Apache) : HTML produit
  5. Serveur (Apache) vers Navigateur : 200 · Réponse
  6. Navigateur : Affiche la page
Le cycle d'une requête, du navigateur à la réponse
  1. Le navigateur envoie une requête HTTP (par exemple GET /index.php).

  2. Le serveur (Apache) repère le fichier et le confie à l’interpréteur PHP.

  3. L’interpréteur PHP exécute le code et produit du texte, généralement du HTML.

  4. Le serveur renvoie ce HTML ; le navigateur l’affiche. Le code source visible ne contient aucune instruction PHP.

Pour exécuter du PHP sur votre machine, il faut trois choses : un serveur web qui reçoit les requêtes, l’interpréteur PHP qui exécute le code, et une base de données pour stocker les données. XAMPP réunit le tout en une seule installation :

  • Apache : le serveur web ;
  • PHP : l’interpréteur ;
  • MariaDB / MySQL : la base de données ;
  • phpMyAdmin : une interface web pour gérer la base de données.

Le flux de travail est toujours le même :

  1. Démarrez Apache dans le panneau de contrôle XAMPP.

  2. Placez votre fichier dans htdocs (par exemple htdocs/essai.php).

  3. Ouvrez http://localhost/essai.php dans le navigateur.

Quiz. Où s'exécute le code PHP d'une page ?

Quiz. À la fin du cycle, que reçoit le navigateur ?

Quiz. PHP a d'abord été créé pour répondre à quel besoin ?

Quiz. Qu'est-ce qui caractérise une page dynamique ?

  • Le client (navigateur ou autre) envoie une requête ; le serveur exécute du code et renvoie une réponse.
  • PHP s’exécute côté serveur et ne renvoie que le HTML produit, jamais son propre code.
  • Une page statique est servie telle quelle ; une page dynamique est construite à l’exécution et peut s’adapter.
  • Le cycle d’une requête : navigateur, puis Apache, puis interpréteur PHP, puis retour du HTML.
  • XAMPP fournit Apache, PHP et MySQL pour développer localement.