0.1Qu'est-ce que PHP ? Son rôle
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.
Le saviez-vous ? La cuisine invisible du Web
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
- 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.
- Mémorisez le cycle requête → PHP → HTML : à chaque demande de page, le serveur exécute le code et renvoie le HTML résultant.
- Comprenez la différence avec JavaScript côté client : le visiteur voit le HTML produit, jamais votre code PHP.
- Situez les usages : pages dynamiques et personnalisées (formulaires, comptes, données), de petits sites aux grandes applications (WordPress, Laravel, Symfony).
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).
- 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.
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 ».
Où s'exécute le code PHP ?