Accueil > Boîtes à outils > Tutoriels > Fonctionnement d’un service web

Fonctionnement d’un service web

Voici un schéma fonctionnel de ce qui se passe lorsqu’on demande une page PHP à un serveur d’Ouvaton. (Pour les puristes et curieux : je n’ai pas vraiment utilisé de formalisme de représentation, c’est du "petit nègre" de la schématisation informatique.)

Appel d'une page php
  1. Un visiteur tape dans son fureteur l’adresse de votre site, et cherche par exemple à obtenir le fichier bonjour.php
  2. Le serveur web (Apache) va chercher, dans le système de fichiers, celui qui correspond à bonjour.php. Pour ce faire, il utilise sa configuration pour déterminer où il doit chercher. Si votre site s’appelle monsite.org, il ira par exemple chercher dans /data/www/m/o/nsite.org/html/ (Note pour les utilisateurs de Windows : avec Linux/Unix, il n’y a pas de lettres de lecteurs comme c : ou d : dans Windows, c’est normal !) On supposera que vous l’avez bien téléchargé (via FTP), et que le fichier existe donc bien. (Note à propos de FTP : le chemin visible par FTP est limité pour des raisons de sécurité et de simplicité.)
  3. L’extension du fichier est .php et la configuration d’Apache lui dit que lorsque c’est le cas, il faut passer le contenu du fichier à PHP pour l’interpréter. C’est donc ce qui est fait. Si l’extension du fichier avait été .html, .gif ou .txt, par exemple, on serait directement allé à l’étape 8.
  4. PHP, en interprétant le code du fichier, rencontre peut-être des instructions lui demandant de lire ou d’écrire un fichier (comme fopen() ou include() par exemple).
  5. PHP, en interprétant le code du fichier, rencontre peut-être des instructions lui demandant de lire ou d’écrire dans une base de données (mysql_connect() puis mysql_query(), par exemple).
  6. Le serveur MySQL n’est accessibe que de l’intérieur du réseau Ouvaton, contrairement aux serveurs web et FTP. C’est lui qui se charge du traitement des requêtes faites par PHP.
  7. Quand PHP a fini son travail, tous les morceaux interprétables du code (c’est à dire ceux qui sont entourés de balises de début de code <?php et de fin de code ?> ) l’ont été, et le résultat est envoyé à Apache. Le plus souvent, le résultat sera équivalent au contenu d’un fichier HTML, mais il est aussi possible de demander à PHP de créer du contenu PDF, des images, ainsi que de lui faire faire des choses sans rien afficher du tout, auquel cas le résultat pourrait être vide. S’il y a une erreur dans le code, le résultat comprendra une mention de cette erreur en format plus ou moins lisible par l’utilisateur.
  8. Apache envoie ce qu’il a trouvé (contenu du fichier, résultat de l’interprétation par PHP, etc.) au fureteur du visiteur.

Précédemment publié par Raphaël sur Ouvatonlesamis le 30 mai 2003.