P H P

Accueil

Définition

PHP est un langage de scripts côté serveur.

Cela signifie qu'il est capable de générer une page web dynamique
à la demande, avant son envoi au client.

Un peu d’histoire

Aux débuts de l’informatique, les ordinateurs fonctionnaient isolément.
Ils ne pouvaient fonctionner qu’avec leurs propres ressources :
Disques durs, disquettes, cassettes, cartes et rubans perforés.

Dans les années 1990 vint la diffusion d'Internet dans le grand public.
(Arpanet date du début des années 1970, à des fins militaires)

Internet permit à un ordinateur d’accéder facilement à un autre pour y puiser des ressources.
C’est le début du fonctionnement en mode client-serveur.

Entre les deux, Internet sert de vecteur de communication, selon un mode requête - réponse.

Le serveur est un simple logiciel de transfert de fichiers.
Son seul rôle est de lire un fichier sur le disque (page web, image, son, vidéo, …)
et de la délivrer au client telle quelle.
Pour ce faire, il gère la communication selon le protocole HTTP (HyperText Transfer Protocol),
permettant au client de faire une sorte de lecture à distance.

Toutes les pages web ont l’extension .HTM(L). Elles sont toujours délivrées à l’identique.

Ce schéma est toujours fonctionnel en 2025.
PHP ne fait qu’ajouter une fonctionnalité sans rompre avec le passé.

Le web dynamique

L’accroissement de puissance des processeurs permit de donner un rôle plus actif au serveur :
celui de composer une page web à la demande, plutôt que de se limiter à une simple délivrance passive.

Derrière le serveur se trouve un moteur de pages web dynamique
C’est à dire une application qui rédige la page web, puis la délivre au serveur, qui, pour sa part, joue toujours le même rôle qu’avant : délivrer la page web au client.

Ce qui est nouveau, c’est qu’avec PHP, une page web ne provient plus du disque dur, mais d’une application qui la crée au moment même de la demande.

C’est ainsi que je peux vous dire que nous sommes le 06-09-2025
Qu'en Belgique, il est 15:48:00
Vous surfez avec l’adresse IP 216.73.216.162, qui permet de géo-localiser votre fournisseur d’accès à Internet.

Lorsqu'un client se connecte à un serveur, il l'informe de sa nature et de celle du logiciel client (le navigateur).
En ce qui vous concerne, c’est : Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)

Toutes ces informations m’étaient inconnues au moment de rédiger la page que vous lisez.
Si vous les voyez, c’est parce que PHP les a insérées selon les instructions que je lui ai donné, au moment de rédiger la page.

La notion de page web n’existe plus en tant que telle, puisqu’un même script PHP permet de générer une multitude de variantes d’une page web selon la manière dont il s’exécute.

Schéma

Processus de requête de gauche à droite
Processus de réponse de droite à gauche

Client Réseau Serveur Moteur d’applications Base de données
Navigateur
  • FireFox
  • Opera
  • Google Chrome
  • Internet Explorer

Internet

  • Envoie les requêtes du client au serveur
  • Envoie les réponses du serveur au client

Selon le protocole HTTP

  • Apache
  • I.I.S.
  • PHP
  • Ruby on Rails
  • Django
  • JEE (Tomcat)
  • ASP.NET
  • ...
  • MySql
  • PostGre SQL
  • Oracle
 

PAGE.HTM(L)

SCRIPT.PHP

Databases

 

  1. Le client adresse une requête au serveur en utilisant le protocole HTTP.
    http://www.monServeur.be/chemin/maPage.htm
    http://www.monServeur.be/chemin/maPage.php
    http://www.monServeur.be/chemin/monImage.jpg
  2. Internet expédie la requête au serveur concerné en consultant ses tables de routage
    pour trouver le bon chemin dans le dédale du web.
  3. Le serveur reçoit la requête.
    • Si elle cible une ressource fichier (HTM, GIF, JPG, vidéo, son, …), il la lit et l’expédie telle quelle (étape 7).
    • Si elle cible un script, le serveur, incapable de l’exécuter par lui-même, s'adresse au moteur qui l’exécute et lui répond.
  4. Le script peut contenir des instructions de consultation d’une base de données.
    Dans ce cas, le moteur devra à son tour s’adresser (query) à une base de données
    pour obtenir la réponse (resultset) contenant les données à traiter ou à afficher, éventuellement en boucle.
  5. La base de données répond au moteur, qui met la page en forme.
  6. Le moteur adresse le code HTML ainsi produit au serveur, qui la réceptionne comme si il ’avait lue dans un fichier.
  7. Le serveur expédie la réponse en HTTP par le web
  8. Le client la reçoit et l’affiche comme une page web HTML ordinaire.
    A son stade, il n’y a aucune différence entre une page web dynamique ou statique.

La concurrence

PHP n’est pas le seul langage à permettre de rédiger des pages web dynamiques :

Côté serveur

PHP s’exécute côté serveur. Cela signifie que, pour le client, rien ne change.
Il reçoit toujours de l’HTML comme du bon vieux temps du Web 1 des années 1990.
Pour vous en convaincre, faites un clic droit sur cette page, et affichez-en la source.

Vous ne verrez pas une seule instruction de PHP.
Pourtant, elle vous donne l’heure et votre adresse IP

Un langage interprété

Un langage de programmation consiste en une série d’instructions compréhensibles par un être humain.
D’autre part, un ordinateur ne comprend que du code binaire, incompréhensible par un être humain.
Entre les deux, il faut un traducteur.
PHP n’échappe pas à la règle.

En règle générale, cette traduction peut avoir lieu à deux moments distincts :

  1. Avant l’exécution (compilation)
  2. Pendant l’exécution (interprétation)

Un langage comme le C est compilé avant son exécution.
La compilation génère un code exécutable,
généralement placé dans un fichier .exe sous MS-DOS / Windows.
Le C est un langage compilé

Un langage comme Java est aussi compilé avant son exécution.
Le compilateur génère du ByteCode .class, qui sera ensuite interprété
par la machine virtuelle appropriée à l’environnement d’exécution.
Le Java est un langage pré-compilé.

Un langage comme PHP est traduit pendant son exécution. On ne produit pas de fichier exécutable en PHP.
PHP est un langage interprété.

C’est pourquoi on parlera plutôt d’un langage de script, bien que,
comme dans tout autre langage de programmation,
on puisse y déclarer des variables, y faire des tests, des fonctions, des boucles et même des objets.

PHP est à mi-chemin entre :