Qu'est-ce que PHP ?

Avant toute chose, il faut que vous sachiez ce que veut dire XHTML avant de commencer a lire toute la section concernant PHP. En effet, le XHTML (nouvelle version du langage HTML) est la base de construction des sites web (tous les sites web, utilisant PHP ou non, doivent envoyer du code HTML aux internautes qui le consultent). En effet, le navigateur que vous utilisez pour consulter les sites web ne sait transcrire en document visible que du code (X)HTML.

Je vous encourage donc a aller consulter la section XHTML. Si vous ne connaissez pas ce langage, apprendre le PHP ne vous servira pas a grand chose. Bien que PHP ne se limite pas qu'a l'affichage de code HTML (il peut aussi generer des images ou agir sans renvoyer de code a l'internaute) il est aujourd'hui inconcevable de parler de PHP sans savoir comment les sites web dits "statiques" sont concus. Un site web statique est un site qui ne peut avoir son contenu modifie en temps reel sans intervention du webmaster (le webmaster etant le "gerant" du site). Le PHP va vous permettre de creer ce qu'on appelle des sites "dynamiques". Par opposition au HTML, le PHP qui est interprete par le serveur permet d'effectuer beaucoup plus de choses (affichage de l'heure du serveur en temps reel pour donner un exemple tres simple).

Depuis tout a l'heure je vous parle de serveur. Qu'est-ce qu'un serveur ? pour faire simple, lorsque vous consultez un site internet, ce site est stocke sur une machine qui vous l'envoie. Cette machine est appelee serveur. C'est elle qui contient le site et qui va permettre, si PHP est installe, d'analyser le code PHP pour le transcrire en code HTML. Voici un schema explicatif simple (a gauche, l'internaute qui consulte le site, a droite le serveur qui stocke le site) :

Client - serveur

Maintenant que vous avez compris les bases de ce qu'on appelle l'architecture client/serveur, parlons un peu de PHP. De nombreux sites l'utilisent pour pouvoir creer tout ce qui permet de creer de l'interactivite avec le visiteur, comme par exemple des forums, chats, livres d'or, compteurs de visiteurs, etc ...

Differences entre X(HTML) et PHP

Nous avons vu que XHTML ne permet de creer que des pages statiques. PHP peut se mettre dans du code XHTML pour rendre celui-ci dynamique ! Voyons le code d'une page XHTML basique permettant d'afficher "Bonjour" et la meme page en PHP (la page en PHP devra porter l'extension .php pour que le serveur puisse savoir que cette page devra etre analysee par PHP avant d'etre envoyee, sinon vous aurez le code source PHP qui s'affichera au visiteur, ce qui pourrait etre facheux, surtout si vous placez des mots de passe !

Voici le code basique de notre page en XHTML :

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Ici le titre de votre page</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" ="style.css" media="screen" type="text/css" />
</head>
<body>
Bonjour !
</body>
</html>

Nous allons maintenant transformer cette page en PHP, nous utiliserons pour afficher le texte la fonction (qui n'en est pas reellement une, mais je ne vais pas vous compliquer la tache) echo(). Cette fonction permet d'afficher du texte, nous verrons comment l'utiliser en detail plus loin dans la section PHP.

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Ici le titre de votre page</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" href="style.css" media="screen" type="text/css" />
</head>
<body>
<?php echo 'Bonjour !'?>
</body>
</html>

On constate que le code PHP se place dans le code HTML (pensez a donner a votre page une extension .php). A premiere vue, on ne voit pas enormement de differences, et on pourrait se demander de l'utilite d'un tel code. Pour l'instant, l'utilite d'un tel code est nulle. Pourquoi ? car utiliser PHP pour generer du contenu statique (ici, votre page affichera tout le temps Bonjour !) est inutile car cela engendre une perte de performances (le serveur doit d'abord traiter la page en PHP avant de l'envoyer, contrairement a une page (X)HTML). Mais patience ! PHP ne se limite pas a l'affichage de texte (et heureusement), d'abord on commence par les bases et on approfondira ensuite :)

Nous venons de voir un exemple de code PHP integre dans du code XHTML, mais le PHP peut tres bien etre a part dans un fichier, sans code XHTML autour. Ne jamais oublier que le PHP permet de generer du texte (ou des images) qui seront envoyes au navigateur. Le code XHTML genere par PHP via la fonction echo() n'est rien d'autre que du texte. Si nous prenons par exemple ceci :

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Ici le titre de votre page</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" href="style.css" media="screen" type="text/css" />
</head>
<body>
<p>Bonjour !</p>
</body>
</html>

On peut generer la meme chose en PHP (il y a plusieurs facons de le faire, on peut aussi tres bien mettre tout le contenu XHTML dans la fonction echo()) :

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Ici le titre de votre page</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" href="style.css" media="screen" type="text/css" />
</head>
<body>
<?php echo '<p>Bonjour !</p>'?>
</body>
</html>

Le visiteur verra absolument la meme page XHTML ! Pourquoi utiliser PHP alors ? parce que grace a lui, vous pourrez mettre des instructions beaucoup plus complexes que le serveur executera (comme par exemple lire un fichier et en afficher le contenu, ou encore afficher le nombre de visiteurs d'une page, etc ...). Vous pourrez egalement personnaliser des pages en fonction des visiteurs par exemple (comme je le fais sur ce site en affichant Bonjour visiteur si vous n'etes pas connecte au site et en le remplacant par votre pseudo si vous etes connecte). Tout ceci est impossible en (X)HTML !

Chapitre suivant

WAMP