Introduire PHP : un langage qui fabrique des pages
Ce qu'est PHP, où il s'exécute, comment il se mélange au HTML avec les balises <?php ?> et <?=, et tout ce qu'il sait faire côté serveur.
1Situer
Le client et le serveur se parlent en HTTP. Reste à écrire le programme qui, côté serveur, fabrique la page : c'est le rôle de PHP. Avant d'apprendre sa syntaxe en détail, on regarde comment un fichier PHP est construit et ce qui se passe quand Apache le reçoit.
2Comprendre
Ce qui se passe quand on demande une page PHP
Le navigateur demande /index.php au serveur web Apache.
1 / 5
PHP en quelques mots
PHP fait tourner une grande partie du web : WordPress (plus de 40 % des sites), Wikipédia, de nombreux sites de e-commerce et la plupart des hébergements mutualisés le proposent. Il est gratuit, open source, et sa version actuelle est PHP 8 (8.3 dans ce simulateur).
Ce que PHP sait faire côté serveur :
produire du HTML (mais aussi du JSON pour une API, un PDF, une image…) ;
lire les formulaires envoyés par le navigateur ;
dialoguer avec une base de données (MySQL avec PDO) ;
se souvenir d’un visiteur (sessions, cookies) ;
lire et écrire des fichiers sur le serveur, envoyer des emails.
Le trajet d’une page PHP
Le navigateur demande http://localhost/index.php.
Apache voit l’extension .php : au lieu d’envoyer le fichier, il le confie à PHP.
PHP parcourt le fichier. Le texte hors des balises PHP est recopié tel quel ; le code entre <?php et ?> est exécuté, et ce qu’il affiche (echo) prend sa place.
Le résultat (du pur HTML) repart vers le navigateur.
Les balises PHP
<?php$prenom="Hiba"; // instruction PHP : terminée par ;$panier=3;
?><h1>Bonjour <?=$prenom?></h1><!-- raccourci d'affichage --><p>Vous avez <?phpecho$panier; ?> article(s) dans le panier.</p>
Trois règles à retenir :
chaque instruction PHP se termine par un point-virgule; ;
un fichier entièrement PHP (sans HTML) commence par <?php et ne met pas de ?> à la fin : on évite ainsi les espaces parasites envoyés après ;
les commentaires s’écrivent // sur une ligne ou /* sur plusieurs lignes */.
PHP, JavaScript : qui fait quoi ?
PHP
JavaScript (navigateur)
Où ?
serveur
navigateur
Quand ?
avant l’envoi de la page
après l’affichage
Accès à la base de données
oui
non (il passe par le serveur)
Réagir à un clic sans recharger
non
oui
Code visible par le visiteur
non
oui
Les deux se complètent : PHP fabrique la page et enregistre les données, JavaScript rend la page vivante. Au module 05, vos scripts tournaient dans le navigateur ; ici, tout se passe sur le serveur.
Exemple simple
Le moule à gâteaux
Un fichier HTML est une photo du gâteau : tout le monde reçoit la même. Un fichier PHP est la recette avec des cases à remplir : à chaque commande, le pâtissier (le serveur) suit la recette et écrit le prénom du client sur le gâteau.
Exemple simple
Le formulaire de la mairie
Le texte imprimé du formulaire ne change pas (le HTML), seules les cases sont remplies à la main pour chaque citoyen (les parties PHP entre <?php et ?>).
<p>Bonjour <?=$prenom?>, votre commande n° <?=$numero?> est prête.</p>
Publicité
3Manipuler
Exécutez la page, puis regardez « Code source reçu » : les balises PHP ont disparu, remplacées par leur résultat. Réalisez ensuite les consignes en modifiant index.php.
Pas à pas dans le lab ↗Cliquez sur Exécuter : PHP 8.3 démarre dans votre navigateur (environ 5 Mo à télécharger, une seule fois).
La page s'affichera ici.
Le navigateur demandera /index.php au serveur, qui exécutera le PHP et renverra du HTML.
Entre le navigateur et le serveuraucun échange pour l'instant
Consignes 0 / 3
Ajoutez une variable $ville qui vaut « Fès » et affichez « Livraison depuis Fès » dans un paragraphe
Affichez avec echo un lien HTML <a href="contact.php">Contact</a>
Changez le nom de la boutique en « Souk Atlas Maroc » : le titre de l'onglet et le h1 changent ensemble
4Pratiquer
Exercice 1 · Ce que reçoit le navigateur
Le fichier contient : <h1><?php echo 2 + 3; ?> produits</h1>. Qu'est-ce que le navigateur reçoit exactement ?
Voir le corrigé
<h1>5 produits</h1>
Le calcul est fait sur le serveur ; le navigateur ne voit ni echo, ni 2 + 3.
Exercice 2 · Écrire une page PHP
Écrivez une page qui affiche « Il reste N jours avant la fin du mois », N étant calculé avec date('t') (nombre de jours du mois) et date('j') (jour actuel).
Voir le corrigé
<?php$reste= (int) date('t') - (int) date('j');
?><p>Il reste <?=$reste?> jours avant la fin du mois.</p>
Exercice 3 · PHP ou JavaScript ?
Pour chaque besoin, dites s'il se fait en PHP (serveur) ou en JavaScript (navigateur) : vérifier un mot de passe dans la base ; afficher un menu quand on clique ; enregistrer une commande ; compter les caractères pendant la frappe.
Voir le corrigé
Vérifier un mot de passe dans la base : PHP (la base n'est accessible que du serveur)
Afficher un menu au clic : JavaScript (réaction immédiate dans la page)
Enregistrer une commande : PHP
Compter les caractères pendant la frappe : JavaScript