Créer un site » Tutoriaux » PHP » Qu'est-ce que PHP

Qu'est-ce que PHP


Le langage PHP

Le langage PHP, contrairement à d'autres comme le HTML et le Javascript, n'est pas exécuté sur l'ordinateur du visiteur. Pour illustrer cette particularité importante de ce langage, voyons comment se déroule l'échange entre l'ordinateur (du visiteur) et le serveur (où est hébergé le site).

Schéma représentant les échanges entre l'ordinateur et le serveur. Les quatres étapes sont détaillées ci-dessous.

1. Visite de la page : les internautes visitent le site et cherchent donc à afficher les pages présentes sur le serveur.

2. Exécution du code PHP par le serveur. Le serveur lit la page et exécute le code php. A noter : plus l'hébergement sera de qualité (serveurs rapides, non encombrés...) et plus la page sera analysée et envoyée rapidement. L'ordinateur du visiteur n'est pas encore sollicité. A ce niveau, il n'y a donc aucune différence entre un visiteur avec modem classique et un autre avec connexion haut débit. Seul le choix de l'hébergeur (étudié dans une étape suivante) sera influant.

3. Envoi de la page traitée. Une fois la page analysée, le serveur la renvoie au visiteur. Ce dernier ne reçoit donc sur son ordinateur que la page générée par le serveur. Il n'y a plus de code PHP qui a déjà été exécuté. A ce stade, les internaute ne sont plus égaux : ceux disposant d'une connexion classique devront attendre plus longtemps que ceux disposant du haut débit. Il est donc important d'adapter le site aux visiteurs, quitte à développer des sources pour chacun (notamment pour la vidéo et la musique).

4. Traitement de la page par le navigateur du visiteur. Rappelons que le code PHP est déjà traité. La page qui arrive au navigateur peut être composée de divers langages : html (obligatoire pour un site), javascript... et faire appel à divers fichiers (css, vidéo, audio, images, animations...).

Remarques importantes :

  • PHP est donc un langage complémentaire mais non de substitution au HTML.
  • Pour que le serveur traite le code PHP, la page doit porter l'extension .php. Il faut donc faire attention aux éditeurs html wysiwyg (comme FrontPage ou Dreamweaver) qui enregistrent par défaut les pages avec l'extension .htm ! Cette extension est utilisée pour les pages ne contenant pas de code « serveur » c'est à dire exécuté par le serveur comme PHP.
  • PHP est peu contraignant car il affichera la même page pour tous les visiteurs quelque soit leur configuration (système, navigateur et plug-ins installés...) et qu'il donne au site un dynamisme et une souplesse très importante.

Structure d'une page PHP

Nous avons étudié, dans une étape précédente, la structure de base d'une page html, cette structure reste la même. Nous savons également que PHP vient en complément du code html et qu'il est exécuté sur le serveur. Voyons donc maintenant comment s'intègre un script PHP à notre page HTML :

<?PHP // balise d'ouverture... on commence à programmer en PHP
   // script PHP 1  ?>
// fin de la première partie de code
<html>
<head>
<?PHP // Une autre partie de code
	// script PHP 2
?>
</head>
<body>
<?PHP // Une autre partie de code
	// script PHP 3
?>
</body>
</html>

Remarques importantes :

  • tout code php est entouré des balises <?php et ?> (il est également possible d'utiliser les balises <? ... ?> ou encore <script language="php">...</script>, mais cette possibilité n'est pas toujours activée par les hébergeur... il est donc préférable d'utiliser la première solution). Remarquez au passage que les balises diffèrent légèrement de ce qui a déjà été vu : il s'agit bien de ?> et non pas <?>.
  • le code PHP peut être placé dans tout le document.
  • tout comme pour le langage HTML, il est possible d'insérer des commentaires, mais les balises sont différentes. On peut utiliser un double slash en début de ligne « // » pour un commentaire d'une ligne ou entourer le texte de « /* » et « */ » pour un commentaire de plusieurs lignes. Contrairement au HTML et au JavaScript, les visiteurs n'ont jamais accès au code PHP. Il leur est donc impossible d'avoir accès à ces commentaires.
// ceci est un commentaire en langage PHP
/* ceci est également un commentaire, mais
on peut écrire sur plusieurs lignes */

Exemple d'exécution d'un script PHP

Voyons un exemple plus concret de l'intérêt du langage php. Nous verrons plus loin comment récupérer des variables, mais retenez simplement dans cet exemple que php permet de stocker des « variables » (du texte, des données chiffrées...) qui peuvent être utilisées dans toute la page et envoyées à d'autres pages. Nous considérons donc que l'on a récupéré trois variables : le nom de l'utilisateur, le nombre de messages qu'il a posté et le nombre total de messages. On a donc :

$nom = "Cédric";
$nombre_messages = 300;
$total_messages = 1000;

<?PHP
  /* Nous avons donc nos 3 variables qui seront utilisées dans la page.
  Nous allons d'abord calculer le pourcentage de messages qu'a posté Cédric */
  $pourcentage = $nombre_messages / $total_messages * 100;
  /* cette nouvelle variable $pourcentage a seulement été définie.
  Elle n'apparaît pas (pour le moment) dans le code html généré.
  Elle est donc sauvegardée et pourra être utilisée plus loin dans la page */
?>
<html>
<head>
  <title><?PHP
  echo("Messages postés par $nom");
  // echo() permet d'afficher du texte dans la page HTML
  // Ici, on affiche donc le nom d'utilisateur dans le titre
  ?></title>
  </head>
<body>
  <p><?PHP
  echo("$nom a posté $nombre_messages messages,
  soit $pourcentage % du nombre total de messages.");
  ?></p>
  </body>
</html>

Nous reprenons le schéma pour commenter l'exécution du script. Les quatres étapes sont détaillées ci-dessous.

Reprenons en fonction du shéma précédent, pour voir ce qu'il va se passer...

1. Visite de la page : un internaute visite cette page dans son navigateur, qui envoie donc la requête au serveur.

2. Exécution du code PHP par le serveur. Le serveur lit la page et exécute le code php : on sait que Cédric a posté 300 messages sur 1000. On calcule d'abord le pourcentage de messages postés à partir des variables (300/1000*100) puis on affiche les variables aux endroits nécessaires. Voici donc le résultat après exécution du script PHP sur le serveur :

<html>

<head>
<title>Messages postés par Cédric</title>
</head>

<body>
<p>Cédric a posté 300 messages, soit 30 % des messages</p>
</body>

</html>

3. Envoi de la page traitée. Une fois la page analysée, le serveur renvoie au visiteur la page compilée (avec uniquement le code html).

4. Traitement de la page par le navigateur du visiteur. Ne restant plus que du code HTML, la page est analysée normalement par le navigateur du visiteur.

Etendue des fonctionnalités de PHP

Fonctions mathématiques, modifications de chaînes de caractères, boucles et conditions, opérations sur les dates, accès à des bases de données... PHP propose un nombre important de fonctions prédéfinies qui permettent de programmer des scripts complexes très simplement. Vous retrouverez des informations plus détaillées sous « Perfectionnement PHP » dans le menu ci-contre.