PHP est installé, php -v répond : on peut écrire le premier script.
Peu importe l’OS ou l’IDE (PhpStorm, VS Code, Cursor…). Activez les plugins PHP de votre éditeur, créez un dossier vide, et on enchaîne : serveur intégré, fichier index.php, balises <?php, echo et point-virgule. C’est le Hello World de la playlist, montré en vidéo.
Vérifier PHP, puis lancer un serveur
Dans un dossier vide, ouvrez un terminal :
php -v
Une version s’affiche (dans la vidéo : 8.4) : PHP est bien là.
Pour voir le résultat dans le navigateur, on lance le serveur web intégré de PHP, prévu pour le développement :
php -S localhost:8000
Le S est majuscule. Par défaut, localhost:8000 convient. Ouvrez http://localhost:8000 : page vide ou message d’erreur, c’est normal, il n’y a encore aucun fichier.
Référence : Serveur web interne. Ce serveur est fait pour développer, pas pour un site en production.
Créer index.php
Le fichier doit se terminer par .php. Un .html, .css ou .js ne sera pas interprété comme du PHP.
On l’appelle index.php : c’est le fichier que le serveur cherche par défaut à la racine de l’URL.
Au début, le fichier est vide. Un rafraîchissement donne une page blanche : PHP a trouvé un fichier, mais ce fichier ne fait rien. C’est déjà mieux qu’une 404.
Si on écrit simplement :
Hello World
…sans balise PHP, le navigateur affiche « Hello World ». PHP laisse passer le texte brut, et le navigateur le place dans un HTML par défaut. Ça marche, mais ce n’est pas encore du PHP.
Les balises <?php et echo
Pour exécuter du PHP, on l’entoure des balises officielles :
<?php
echo 'Hello World';
?>
<?php: « à partir d’ici, c’est du PHP » ;?>: « j’arrête le PHP » ;echo: « affiche ça ».
Si vous mettez Hello World au milieu des balises PHP, sans echo ni guillemets, PHP tente d’interpréter ça comme du code. Ce n’est pas du code : erreur. L’IDE le signale souvent avant même le navigateur.
Le point-virgule, vraiment obligatoire ?
En PHP, chaque instruction se termine par un point-virgule.
Avec une seule ligne, PHP peut parfois accepter l’oubli. N’en déduisez rien : dès qu’il y a une deuxième instruction, l’oubli casse le script, et l’IDE râle.
<?php
echo 'Hello World';
echo 'coucou';
Sans point-virgule après la première ligne : erreur. Avec, ça s’affiche… collé : Hello Worldcoucou. PHP n’ajoute pas de retour à la ligne tout seul.
Pour un saut de ligne dans le HTML renvoyé, on echo une balise HTML :
<?php
echo 'Hello World';
echo '<br>';
echo 'coucou';
Et pour un titre :
<?php
echo '<h1>Hello World</h1>';
On le répète parce que c’est le point de la playlist : à la fin, on retourne toujours du HTML.
Faut-il fermer ?> ?
Si le fichier ne contient que du PHP, on peut ne pas fermer la balise. PHP le gère, et c’est même souvent préférable (ça évite d’envoyer un espace invisible après le code). La doc officielle le recommande pour un fichier 100 % PHP.
En revanche, si après le PHP vous voulez remettre de l’HTML, il faut fermer :
<?php
echo '<p>Généré par PHP</p>';
?>
<p>HTML normal ensuite</p>
Sans ?>, PHP continue d’interpréter la suite comme du code : erreur. On peut donc mélanger plusieurs blocs PHP et HTML dans le même fichier. Plus tard, on évitera d’en abuser ; pour un premier script, retenir juste la règle suffit.
À vous de jouer
Créez un dossier (un « TP YouTube » sur le bureau, peu importe), lancez :
php -S localhost:8000
…et faites votre index.php avec echo. Conditions, boucles, tableaux : ce sera pour la suite.
Démo vidéo
FAQ rapide (SEO & technique)
C’est quoi php -S localhost:8000 ?
Le serveur web intégré de PHP, pour développer en local. Le S est majuscule.
Pourquoi index.php ?
C’est le fichier par défaut à la racine d’une URL. Sans lui, localhost:8000 n’a rien à servir.
Pourquoi le fichier doit finir par .php ?
Pour que PHP sache qu’il doit interpréter le fichier. Un .html est envoyé tel quel.
echo, ça fait quoi ?
Ça envoie du texte vers la sortie, donc vers le HTML de la page. Voir echo.
Faut-il toujours fermer ?> ?
Non, si le fichier est du PHP jusqu’à la fin. Oui, si vous reprenez de l’HTML après le bloc PHP.
Conclusion
Premier script : un dossier, php -S localhost:8000, un index.php, des balises <?php, un echo et des points-virgules. Le navigateur affiche le HTML généré, pas le PHP.
Suite de la série : PHP : comment fonctionne une requête HTTP ? (en ligne le 6 septembre).