IV.2.3.PHP, côté serveur
Particulièrement un script PHP est
exécuté par un interpréteur qui se trouve du
côté serveur. En cela PHP est complètement
différent d'un langage comme JavaScript qui s'exécute sur un
navigateur.
En général l'interpréteur PHP est
intégré par le serveur Apache sous forme de module, et le mode
d'exécution est alors très simple. Quand un fichier avec une
extension .php (ou .php3 pour les anciennes versions) est demandé au
serveur web, ce dernier le charge en mémoire et y cherche tous les
scripts PHP qu'il transmet à l'interpréteur.
L'interpréteur exécute le script, ce qui a pour effet de produire
du code HTML qui vient remplacer le script PHP dans le document finalement
fourni au navigateur. Ce dernier reçoit donc du HTML « pur »
et ne voit jamais la moindre instruction PHP.
A titre d'exemple, voici le code HTML produit par le fichier
PHP précédent, tel que nous avons vérifié. Le
résultat correspond à une exécution sur la machine serveur
lutumba.mbenga.cd, avec un navigateur Netscape (dont le nom est
Mozilla). Les parties HTML sont inchangées, les scripts PHP ont
été remplacés par le résultat de leur
exécution.
<HTML>
<HEAD><TITLE>HTML avec PHP</TITLE>
</HEAD><BODY><H1>HTML + PHP</H1> Nous sommes le
29/08/2013
<P> Je suis informaticien architecte </BODY>
</HTML>
51
Le principe est donc très proche du CGI, avec des
améliorations notables
:
? Nous pouvons mixer HTML et PHP de manière très
souple ;
? Les variables CGI ou autres sont fournies directement et sans
effort ;
? Enfin les scripts sont exécutés directement au
sein d'Apache, ce qui évite d'avoir à lancer
systématiquement un programme CGI.
III.2.2.4.Accès à MySQL
Un des grands atouts de PHP est sa très riche
collection d'interfaces (API) avec tout un ensemble de SGBD. En particulier il
est possible à partir d'un script PHP de se connecter à un
serveur mysqld pour récupérer des données que
l'on va ensuite afficher dans des documents HTML. D'une certaine
manière, PHP permet de faire d'Apache ou tout autre serveur web un
client MySQL, ce qui aboutit à l'architecture de la figure IV.9.
Figure 9:Architecture d'une Application web avec
MySQL/PHP
Il s'agit d'une architecture à trois composantes,
chacune réalisant une des trois tâches fondamentales d'une
application.
? Le navigateur constitue l'interface graphique dont le
rôle est de permettre à l'utilisateur de visualiser et d'interagir
avec l'information ;
? MySQL est le serveur de données ;
52
? Enfin l'ensemble des fichiers PHP contenant le code
d'extraction, traitement et mise en forme des données est le serveur
d'application, associé à Apache qui se charge de
transférer les documents produits sur l'Internet.
Rien n'empêche d'aller un tout petit peu plus loin et
d'imaginer une architecture où les trois composantes sont franchement
séparées et dialoguent par l'intermédiaire du
réseau Internet. Dans ce mémoire nous supposerons que le serveur
mysqld et Apache sont sur la même machine, mais le passage
à une solution réellement à « trois pôles
» ne présente pas, ou peu, de différence du point de vue
technique.
|