0.1 · Qu'est-ce que PHP ? Son rôle

Prise en main

0.1Qu'est-ce que PHP ? Son rôle

Objectif : Comprendre ce qu'est PHP (un langage serveur qui génère du HTML) et le cycle requête → PHP → HTML — la base conceptuelle de toute page dynamique.
Temps estimé : 10 min · lecture autonome · Si vous n'avez que 5 min : lisez « L'essentiel en 30s » + le schéma.

L'essentiel en 30 secondes

  • PHP = langage côté serveur pour le Web : il s'exécute sur le serveur, jamais dans le navigateur, et génère du HTML.
  • Cycle requête → PHP → HTML : chaque demande de page rejoue le cycle — le serveur exécute, le navigateur affiche.
  • Le visiteur ne voit jamais votre code : il ne reçoit que le résultat HTML — la logique et la sécurité restent côté serveur.

Mini-cas filé — Riad situe sa première page dynamique

Riad, développeur web à Constantine, ne connaît que le HTML statique et un peu de JavaScript. Son client lui demande une page qui affiche « Bonjour » avec le prénom de chaque visiteur connecté. Riad découvre que PHP s'exécute côté serveur : à chaque requête, le serveur exécute son code, qui génère un HTML personnalisé, et le visiteur ne reçoit que ce HTML — jamais le code. Il note sur une fiche « requête → PHP → HTML » et choisit son premier test : une page qui affiche un prénom différent selon l'utilisateur.

Cas autonome de cette section : il revient dans le cours, le schéma, le script et le défi 48h de la section 0.1.

1. Un langage côté serveur

PHP (PHP: Hypertext Preprocessor) est un langage de programmation côté serveur conçu pour le Web. Deux mondes à distinguer : le côté client (le navigateur de l'utilisateur), qui exécute HTML, CSS et JavaScript — ce qui s'affiche et s'anime ; et le côté serveur (la machine distante qui héberge le site), qui exécute la logique : formulaires, base de données, authentification. PHP vit côté serveur : quand un visiteur demande une page, le serveur exécute le code PHP, qui produit du HTML, et c'est ce HTML — pas le code — qui est envoyé au navigateur. Le visiteur ne voit jamais votre code PHP. Riad retient l'image : la cuisine (serveur, invisible) prépare, la salle (navigateur) ne voit que le plat servi.

2. Le cycle requête → PHP → HTML

Le cycle à retenir absolument : requête → PHP → HTML. (1) L'utilisateur demande une page (il tape une URL ou clique un lien) — c'est la requête. (2) Le serveur web reçoit la requête, voit un fichier .php et le confie à l'interpréteur PHP, qui exécute le code (calculs, accès à la base, logique). (3) PHP génère du HTML, que le serveur renvoie au navigateur, qui l'affiche. À chaque requête, ce cycle se rejoue — et la page produite est souvent personnalisée (selon l'utilisateur, l'heure, les données) : c'est une page dynamique, par opposition à une page HTML statique toujours identique. Riad comprend : son « Bonjour + prénom » n'est pas écrit en dur, il est généré à chaque visite.

3. Un langage massivement utilisé et moderne

PHP propulse une part énorme du Web — dont WordPress, qui fait tourner à lui seul une immense proportion des sites — ainsi que boutiques, CMS et applications d'entreprise, jusqu'aux grandes applications via des frameworks comme Laravel ou Symfony (niveau 4). C'est un langage accessible (facile à démarrer), pragmatique (fait pour produire des sites rapidement) et mature : les versions modernes (PHP 8+) sont performantes et riches (typage, programmation orientée objet complète, exceptions). Sa mauvaise réputation vient de ses premières versions — le PHP moderne n'a plus rien à voir. Riad l'a noté en bas de sa fiche à Constantine : apprendre PHP, c'est investir sur un marché vivant, avec des concepts (serveur, base de données, sécurité) transférables partout.

Erreur d'interprétation fréquente : « PHP est dépassé, et de toute façon il s'exécute dans le navigateur comme JavaScript ». Non, deux erreurs en une. D'abord le lieu d'exécution : PHP s'exécute sur le serveur, jamais dans le navigateur — le visiteur ne reçoit que le HTML généré, jamais le code. Ensuite le prétendu déclin : cette réputation vise le PHP ancien ; le PHP moderne (PHP 8+) est performant, typé et outillé (Composer, Laravel, Symfony, PHPUnit) et propulse une part énorme du Web. PHP et JavaScript ne sont pas concurrents : ils sont complémentaires, l'un côté serveur, l'autre côté navigateur.
Le cycle d'une page PHP Requête → PHP → HTML : le cycle se rejoue à chaque demande. Requête L'utilisateurdemande une pageServeur Confie le .php àl'interpréteurPHP exécute Logique,base, calculsHTML généré Renvoyéau navigateur
Requête → PHP → HTML : le cycle se rejoue à chaque demande.
Version texte du schéma (SEO / lecteurs d'écran / traduction) : 1) Riad, développeur web à Constantine, découvre PHP : un langage exécuté côté serveur, qui génère du HTML envoyé au navigateur. 2) Chaque demande rejoue le cycle requête → PHP → HTML : le serveur exécute le code, le navigateur affiche le résultat. 3) La page produite est dynamique et personnalisée (prénom, données, heure), contrairement au HTML statique. Leçon : la logique et la sécurité vivent côté serveur ; PHP et JavaScript sont complémentaires.

Le saviez-vous ? La cuisine invisible du Web

undefined
undefined
undefined
undefined
undefined
undefined

Le serveur cuisine, le navigateur ne fait que servir.

🔎 Exemple concret — 🔎 Exemple concret — Statique vs dynamique

Une page qui s'adapte à chaque visiteur.

Bonjour " . $prenom . "";
// Le navigateur recoit UNIQUEMENT ce HTML, jamais ce code

Lecture : Riad demande la page : le serveur exécute le code avec le prénom du visiteur et renvoie un HTML personnalisé.

Leçon : la même URL produit un HTML différent selon l'utilisateur — c'est une page dynamique ; la logique reste à l'abri côté serveur.

Vocabulaire de la section

PHP
Langage de programmation côté serveur conçu pour le Web (PHP: Hypertext Preprocessor) ; il s'exécute sur le serveur et génère du HTML envoyé au navigateur.

Exemple simple : Riad écrit une page qui affiche le prénom de chaque visiteur connecté à Constantine.

Ce que ce n'est pas : un langage qui s'exécute dans le navigateur du visiteur.

Réflexe : devant une page personnalisée, demander « qu'est-ce que PHP génère ici ? ».

Côté serveur vs côté client
Serveur (PHP) : exécute la logique (formulaires, base, authentification) et génère les pages. Client (navigateur) : affiche le HTML/CSS et exécute le JavaScript.

Exemple simple : Riad place la vérification du mot de passe côté serveur, et l'animation du menu côté navigateur.

Ce que ce n'est pas : deux noms pour le même endroit.

Réflexe : placer chaque traitement du bon côté : sensible = serveur, animation = client.

Cycle requête → PHP → HTML
L'utilisateur demande une page → le serveur exécute le code PHP → PHP génère du HTML → le navigateur l'affiche. Ce cycle se rejoue à chaque requête.

Exemple simple : Riad recharge sa page : à chaque fois, le serveur réexécute et régénère le HTML du jour.

Ce que ce n'est pas : une exécution unique au démarrage du serveur.

Réflexe : penser « à chaque requête, le cycle se rejoue ».

Page dynamique
Page générée par le serveur, souvent personnalisée (selon l'utilisateur, les données) ; par opposition à une page HTML statique toujours identique.

Exemple simple : Riad affiche un profil différent pour chaque visiteur au lieu d'une page fixe.

Ce que ce n'est pas : un fichier HTML identique pour tout le monde.

Réflexe : dès qu'un contenu varie, prévoir une génération côté serveur.

Interpréteur PHP
Le programme qui exécute le code PHP sur le serveur ; le visiteur ne voit jamais le code PHP, seulement le HTML résultant.

Exemple simple : Riad installe l'interpréteur en local : ses fichiers .php s'exécutent au lieu de s'afficher en texte.

Ce que ce n'est pas : le navigateur, qui saurait lire le PHP.

Réflexe : si le code PHP s'affiche en clair, c'est l'interpréteur qui manque.

En pratique — En pratique — Situer PHP et son cycle

  1. Retenez la nature de PHP : un langage CÔTÉ SERVEUR (exécuté sur le serveur, pas dans le navigateur) qui génère du HTML.
  2. Mémorisez le cycle requête → PHP → HTML : à chaque demande de page, le serveur exécute le code et renvoie le HTML résultant.
  3. Comprenez la différence avec JavaScript côté client : le visiteur voit le HTML produit, jamais votre code PHP.
  4. Situez les usages : pages dynamiques et personnalisées (formulaires, comptes, données), de petits sites aux grandes applications (WordPress, Laravel, Symfony).
Vous comprenez ce qu'est PHP (un langage serveur qui génère du HTML) et le cycle requête → PHP → HTML — la base conceptuelle de toute page dynamique.

Script prêt à dire — expliquer PHP à un collègue (30 s)

« PHP, c'est notre langage côté serveur : quand un visiteur demande une page, le serveur exécute notre code PHP, qui génère du HTML personnalisé, et le navigateur n'affiche que ce HTML. Le visiteur ne voit jamais notre code — c'est pour ça qu'on y met la logique et la sécurité. »

À dire en montrant le schéma du cycle ; insister sur « jamais le code, seulement le résultat ».

Modèle copier-coller — première génération côté serveur

Bonjour " . $prenom . "";
echo "

Page generee cote serveur.

";

Venant du HTML statique

Vous faisiez des pages fixes : repérez ce qui varie (prénom, date, contenu) et confiez exactement ces parties à PHP, le reste reste du HTML pur.

Venant de JavaScript

Vous animiez côté navigateur : gardez-y l'interactivité visible, et déplacez vers PHP tout ce qui doit rester secret (mots de passe, accès base, règles).

Binôme à Constantine

Riad montre à son collègue le code source reçu par le navigateur (que du HTML) face à son fichier .php : celui qui retrouve une ligne de PHP dans le navigateur a perdu.

Choix de projet

Avant un site : listez les contenus fixes (HTML) et variables (PHP) — si tout est fixe, PHP est inutile ; dès qu'il y a comptes, formulaires ou données, il devient indispensable.

✓ Bonnes pratiques

  • Placez la logique et la sécurité côté serveur (PHP), jamais côté client seul.
  • Pensez « à chaque requête, le cycle se rejoue ».
  • Voyez PHP et JavaScript comme complémentaires (serveur/client).

✗ Pièges fréquents

  • Croire que PHP s'exécute dans le navigateur (c'est côté serveur).
  • Faire confiance au côté client pour la sécurité.
  • Confondre page statique (fixe) et page dynamique (générée).

Points clés à retenir

  • PHP est un langage CÔTÉ SERVEUR : il s'exécute sur le serveur et GÉNÈRE du HTML envoyé au client. Le visiteur ne voit jamais le code PHP.
  • Cycle fondamental : REQUÊTE (l'utilisateur demande une page) → PHP (le serveur exécute le code) → HTML (généré et affiché). Se rejoue à chaque requête.
  • PHP produit des pages DYNAMIQUES et personnalisées (selon l'utilisateur, les données) — vs une page HTML statique toujours identique.
  • Massivement utilisé sur le Web (WordPress et une grande part des sites) ; accessible, pragmatique, mature (PHP 8+ performant). De petits sites aux grandes apps (Laravel, Symfony).

Défi 48h — appliquez demain

Ouvrez une page de votre choix, affichez sa source côté navigateur, et expliquez à voix haute pourquoi on n'y voit aucun code PHP (cycle requête → PHP → HTML).

Checklist sortie de section
  • Je peux expliquer PHP (langage serveur qui génère du HTML) avec le cycle requête → PHP → HTML.
  • Je sais dire ce que voit le visiteur (le HTML) et ce qu'il ne voit jamais (le code PHP).
  • Je distingue une page statique d'une page dynamique avec un exemple.
Auto-évaluation 1-5 : est-ce que j'explique le cycle sans placer PHP dans le navigateur ?Auto-évaluation 1-5 : ai-je cité un usage dynamique (formulaire, compte, données) sans aide ?

Questions fréquentes

PHP est-il dépassé face à des technologies plus récentes comme Node.js ou Python ?

Non, c'est une idée reçue basée sur son passé. PHP a une longue histoire et ses premières versions avaient des défauts réels, d'où sa mauvaise réputation — mais le langage a profondément changé. Le PHP moderne (7, puis 8+) est très performant (gains spectaculaires), riche (typage, POO complète, exceptions, énumérations, attributs), avec un écosystème mature (Composer, Laravel, Symfony, PHPUnit) et des standards établis. Usage réel : PHP propulse une part énorme du web (WordPress à lui seul fait tourner une immense proportion des sites), des frameworks modernes appréciés (Laravel) attirent de nouveaux développeurs, et la demande d'emploi reste forte. Node.js, Python et PHP ne sont pas des « remplaçants » mais des alternatives aux forces différentes — pour le web pragmatique, PHP reste un excellent choix.

Quelle différence concrète entre PHP (serveur) et JavaScript (navigateur), et pourquoi ça compte ?

Deux mondes complémentaires. Côté CLIENT (navigateur) : HTML, CSS et JavaScript s'exécutent sur la machine de l'utilisateur ; le code JS client est visible. Côté SERVEUR (machine distante) : PHP exécute la logique sensible (formulaires, base, authentification, règles métier) et génère les pages ; le code PHP n'est jamais envoyé au navigateur, seul son résultat HTML l'est. Pourquoi ça compte : (1) SÉCURITÉ — le serveur est contrôlé par vous, le client ne l'est pas ; les opérations sensibles doivent être côté serveur, et il ne faut jamais faire confiance au client (une validation JavaScript doit être re-vérifiée côté serveur — section 3.4). (2) ACCÈS aux ressources — le serveur atteint la base et les fichiers, pas le navigateur. (3) PERSONNALISATION — PHP génère des pages différentes selon l'utilisateur et les données. Image de Riad : le serveur est la « cuisine », le client la « salle ».

Vérifiez votre compréhension

Où s'exécute le code PHP ?

Ressources supplémentaires (optionnel, pour aller plus loin)

Examen du niveau 0Questions inédites et durcies pour valider vos acquis