Leçon 1/8 6 min

Introduction à PHP

Découvrez PHP, le langage côté serveur qui fait tourner 77% du web, et comprenez comment le serveur génère du HTML.

C'est quoi PHP ?

PHP est un langage qui s'exécute sur le serveur, pas dans ton navigateur. C'est la grande différence avec HTML, CSS et JavaScript qui tournent chez l'utilisateur.

Reprenons notre métaphore du bâtiment. Le HTML, ce sont les fondations. Le CSS, la façade. Le JavaScript, l'électricité. Et PHP ? C'est la plomberie : tout ce qui se passe derrière les murs.

Quand tu ouvres un robinet (tu cliques sur un bouton), l'eau arrive (les données s'affichent). Tu ne vois pas les tuyaux, mais sans eux, rien ne fonctionne. PHP gère les formulaires, les comptes utilisateurs, les bases de données : tout l'invisible qui rend un site dynamique.

Pourquoi apprendre PHP ?

PHP fait tourner 77% des sites web dont le langage serveur est connu. WordPress, Wikipedia, Facebook (au départ) : tous PHP. C'est aussi le langage derrière Laravel et Symfony, deux frameworks très utilisés en entreprise.

Avec l'IA, tu peux générer du PHP en quelques secondes. Mais quand le formulaire ne sauvegarde pas, quand la session expire sans raison, quand la requête SQL renvoie zéro résultat : il faut comprendre pourquoi.

En 6 leçons, tu apprendras à :

  • Lire du PHP et comprendre le flux serveur → navigateur
  • Débugger les erreurs courantes (variable inconnue, requête SQL vide)
  • Sécuriser les formulaires et les accès à la base de données

Comment PHP fonctionne

Voici ce qui se passe quand tu visites une page PHP :

  1. Ton navigateur envoie une requête au serveur (ex: GET /contact.php)
  2. Le serveur lit le fichier .php et exécute le code PHP
  3. PHP génère du HTML pur
  4. Le serveur envoie ce HTML au navigateur
  5. Le navigateur affiche la page : il ne voit jamais le code PHP

C'est pour cela que PHP ne peut pas tourner dans l'éditeur de ce cours (qui tourne dans ton navigateur). Nous te montrerons le code PHP et son résultat HTML côte à côte.

Le cycle requête / réponse : le navigateur envoie une requête HTTP au serveur PHP, qui interroge la base de données puis renvoie une page HTML. 1. requête HTTP Navigateur côté client Serveur PHP exécute le code Base de données 2. requête SQL 3. données 4. page HTML
Le navigateur ne reçoit jamais le code PHP, seulement le HTML final généré par le serveur.

Syntaxe de base : <?php ?>, echo, commentaires

Le code PHP s'écrit entre les balises <?php et ?>. La commande echo affiche du texte (génère du HTML) :

Prédisez avant de lire

Un fichier page.php contient : <h1>Bonjour</h1>, puis <?php echo "Il est " . date("H:i"); ?>, puis <p>Bienvenue</p>. Avant de dérouler : qu'arrive-t-il au texte qui se trouve EN DEHORS des balises <?php ... ?> (le <h1> et le <p>) ? Est-il exécuté, ignoré, ou autre chose ?

Voir la réponse

Tout ce qui est en dehors de <?php ?> est envoyé tel quel au navigateur, sans interprétation. PHP ne « voit » que ce qui est entre <?php et ?>, et exécute uniquement ce code-là. Le <h1>Bonjour</h1> et le <p>Bienvenue</p> sortent donc en HTML brut, tandis que le echo entre les balises est remplacé par son résultat (l'heure). C'est ce qui rend PHP si pratique pour mélanger HTML et logique : on ouvre <?php seulement là où on a besoin de calculer quelque chose.

<?php
echo "Bonjour le monde !";
?>

Ce code produit exactement : Bonjour le monde ! dans le navigateur.

On peut mélanger HTML et PHP dans le même fichier :

<!DOCTYPE html>
<html>
<body>
    <h1><?php echo "Bienvenue"; ?></h1>
    <p>Il est <?= date("H:i"); ?></p>
</body>
</html>

Le raccourci <?= ... ?> est identique à <?php echo ... ?>.

Les commentaires :

// Commentaire sur une ligne

/* Commentaire
   sur plusieurs lignes */

# Aussi valide (mais moins courant)

À toi d'essayer (modifie le code, puis exécute) :

<?php
$nom = "Alice";
echo "Bonjour $nom !\n";
echo "Bienvenue dans PHP.";
?>

What is PHP?

PHP is a language that runs on the server, not in your browser. That's the big difference with HTML, CSS and JavaScript, which run on the user's machine.

Let's revisit our building metaphor. HTML is the foundations. CSS is the facade. JavaScript is the electricity. And PHP? It's the plumbing — everything happening behind the walls.

When you turn on a faucet (click a button), water flows (data appears). You can't see the pipes, but without them nothing works. PHP handles forms, user accounts, databases — all the invisible stuff that makes a site dynamic.

Why learn PHP?

PHP powers 77% of websites with a known server-side language. WordPress, Wikipedia, Facebook (originally) — all PHP. It also powers Laravel and Symfony, two frameworks widely used in the industry.

With AI, you can generate PHP in seconds. But when the form doesn't save, when the session expires for no reason, when the SQL query returns zero results — you need to understand why.

In 7 lessons, you'll learn to:

  • Read PHP and understand the server → browser flow
  • Debug common errors (unknown variable, empty SQL query)
  • Secure forms and database access

How PHP works

Here's what happens when you visit a PHP page:

  1. Your browser sends a request to the server (e.g. GET /contact.php)
  2. The server reads the .php file and executes the PHP code
  3. PHP generates pure HTML
  4. The server sends this HTML to the browser
  5. The browser displays the page — it never sees the PHP code

That's why PHP can't run in this course's editor (which runs in your browser). We'll show you PHP code and its HTML result side by side.

The request / response cycle: the browser sends an HTTP request to the PHP server, which queries the database then returns an HTML page. 1. HTTP request Browser client side PHP server runs the code Database 2. SQL query 3. data 4. HTML page
The browser never receives the PHP code, only the final HTML generated by the server.

Basic syntax: <?php ?>, echo, comments

PHP code is written between <?php and ?> tags. The echo command outputs text (generates HTML):

Predict before reading

A page.php file contains: <h1>Bonjour</h1>, then <?php echo "Il est " . date("H:i"); ?>, then <p>Bienvenue</p>. Before scrolling down: what happens to the text that sits OUTSIDE the <?php ... ?> tags (the <h1> and the <p>)? Is it executed, ignored, or something else?

See the answer

Everything outside <?php ?> is sent as-is to the browser, without any interpretation. PHP only “sees” what is between <?php and ?>, and only executes that code. The <h1>Bonjour</h1> and <p>Bienvenue</p> come out as raw HTML, while the echo inside the tags is replaced by its result (the time). This is what makes PHP so handy for mixing HTML and logic: you open <?php only where you need to compute something.

<?php
echo "Hello world!";
?>

This produces exactly: Hello world! in the browser.

You can mix HTML and PHP in the same file:

<!DOCTYPE html>
<html>
<body>
    <h1><?php echo "Welcome"; ?></h1>
    <p>It is <?= date("H:i"); ?></p>
</body>
</html>

The shorthand <?= ... ?> is identical to <?php echo ... ?>.

Comments:

// Single-line comment

/* Multi-line
   comment */

# Also valid (but less common)

À vous d'essayer (vrai PHP)

Ce code PHP s'exécute pour de vrai sur un serveur et génère du HTML. Change le prénom, puis clique sur « Run » :

<?php
$nom = "Alice";
$heure = date("H:i");

// echo génère du HTML que le navigateur recevra
echo "<h1>Bonjour $nom</h1>";
echo "<p>Il est " . $heure . "</p>";

// Le navigateur ne verra QUE ce HTML, jamais le code PHP.
?>

🎯 Pratique

S'entraîner (clique pour ouvrir) :

Prompt IA
Avec l'IA

Copiez ce prompt dans Claude ou ChatGPT :

Explique-moi la différence entre PHP (côté serveur) et JavaScript (côté client) avec la métaphore de la plomberie. Pourquoi le navigateur ne voit-il jamais le code PHP ?
💬 Ré-explique sans regarder
Ré-explique sans regarder

Sans relire la réponse de l'IA : avec tes mots et la métaphore de la plomberie, pourquoi le navigateur ne reçoit-il jamais le code <?php ?>, seulement le HTML ?

Une bonne explication dit : PHP s'exécute sur le serveur (la plomberie, derrière les murs), avant l'envoi. Le serveur transforme le code en HTML pur, puis n'envoie que ce HTML (l'eau au robinet). Le navigateur reçoit déjà du HTML fini : il n'a jamais accès aux tuyaux ni au code <?php ?>. C'est aussi ce qui protège la logique et les secrets (mots de passe, requêtes) côté serveur.
⚖️ Juge le code de l'IA
Accepter ou rejeter le code de l'IA

Tu as demandé à l'IA une page qui affiche un titre et l'heure. Voici sa réponse. Ton rôle de relecteur : l'accepter telle quelle ou la rejeter, et dire pourquoi.

<!DOCTYPE html>
<html>
<body>
    <h1><?php echo "Bienvenue"; ?></h1>
    <p>Il est <?= date("H:i"); ?></p>
</body>
</html>
À accepter. Le code est correct : <?php echo ... ?> et le raccourci <?= ... ?> injectent bien du HTML, et date("H:i") renvoie l'heure. Le réflexe utile ici : ne pas tout rejeter par principe. Le texte affiché (« Bienvenue », une heure générée par le serveur) ne vient pas de l'utilisateur, donc pas de risque d'injection à ce stade. On rejette quand il y a un vrai problème, pas par méfiance automatique.
🧠 Rappel libre
Rappel libre

Sans remonter dans la leçon : où s'exécute le code PHP, qu'est-ce que le navigateur reçoit au final, et que fait echo ?

Le code PHP s'exécute sur le serveur, jamais dans le navigateur. Le serveur exécute le PHP, qui génère du HTML pur : c'est ce HTML (et seulement lui) que le navigateur reçoit et affiche. echo sert à afficher du texte, c'est-à-dire à écrire le HTML que recevra le navigateur.
Dans la métaphore du bâtiment, PHP est...
Où s'exécute le code PHP ?
Que fait la commande echo en PHP ?
Prochaine étape

Tu sais maintenant faire parler PHP avec echo. Mais jusqu'ici, tu n'as fait que le lire. Place à l'action : installe PHP sur ta machine et fais tourner ton premier fichier avec le serveur de développement intégré.

Leçon 2 : Installer et exécuter PHP →

Une erreur dans cette leçon, un passage flou, une question ? Écrivez-moi : chaque retour améliore ce cours.

Besoin d'un développeur pour votre projet ?

Réponse sous 24h · Sans engagement