phpInfo.netLes ArchivesLes éléPHPants

  
  Accueil
  Trucs & Astuces
  Scripts
  Regex
  Annuaire
  Articles

.
      
 Articles   Comment ça marche - Requête sur un serveur Web avec PHP  Par Frédéric BOUCHERY   Mars 2001  

 »  Introduction
 »  Contact
 »  Présentation
 »  Interrogation
 »  Traitement


Introduction

Cet article n'est pas là pour vous apprendre à téléphoner, mais bien pour vous expliquer comment fonctionne une connexion Internet, un serveur Web et quel est le rôle de PHP/MySQL dans tout ça.

Pour cela, je vais faire un parallèle avec la téléphonie et je prendrai comme exemple une personne qui veut connaître l'état de son compte bancaire.

Remarques pour les "Pro" : cet article se veut le plus simple possible, donc on partira du principe que l'on parle de réseaux utilisant TCP/IP.

Contact

Pour entrer en communication avec votre agence bancaire, il va falloir l'appeler car ce n'est pas elle qui va le faire. En fait, elle attend qu'on l'appelle.

Le problème, c'est que vous ne connaissez pas son numéro de téléphone, par contre vous connaissez celui des renseignements. Donc vous appelez ces derniers, vous leur donnez le nom de votre agence, ils recherchent dans leur base et vous retournent le numéro que vous vous empressez de composer.

Traduction :

Une machine sur Internet qui propose un "service" attend que l'on entre en communication avec elle. Elle est identifiée par une adresse IP (Internet Protocol) qui est une suite de 4 numéros compris entre 0 et 255 du genre "192.25.110.27". Comme vous ne connaissez pas toujours cette adresse (et c'est souvent le cas), vous tapez le nom du site. Votre configuration logicielle est prévue pour contacter le serveur de noms (DNS) dont on connait l'adresse IP exacte. Le DNS va rechercher dans sa base le nom du site et retourne son adresse IP. Une connexion peut maintenant s'établir.

Remarque : il faut aussi préciser le numéro de port de communication qui est un chiffre compris entre 0 et 65535. Par convention, le numéro de port utilisé pour le Web (protocole HTTP) est le 80, mais ce n'est pas obligatoire.
Sur un même serveur (machine), il est donc possible d'avoir plusieurs services en utilisant des ports différents.

Exemples de ports conventionnels :
  • 80 : Web (protocole HTTP),
  • 25 : Envoyer un mail (protocole SMTP),
  • 119 : Groupes de discussions (protocole NNTP)


Présentation

Si votre interlocuteur est poli, il y a des chances pour que la conversation commence comme ceci :
  • "Banque Jeuveuduponion bonjour, que puis-je pour vous ?"
Et si vous êtes poli également, vous allez répondre :
  • "Bonjour, je m'appelle Monsieur Pigeon, je voudrais connaître l'état de mon compte !"

Traduction :

Lorsque vous entrez en contact avec le serveur, il s'ensuit un échange d'information où le serveur va acquitter votre connexion en s'identifiant (nom du serveur, protocole utilisable, ... etc.) et attendre votre requête.

Vous répondrez (enfin pas vous, mais le navigateur) en fournissant plein d'informations (cookies, protocole, référant, ... etc.) et vous demanderez la page que vous voulez afficher.


Interrogation

Votre interlocutrice (une femme avec une jolie voix) n'a pas la réponse à votre question et vous met donc en attente pendant qu'elle se renseigne auprès de la personne compétente.

Traduction :

La page avec l'extension "php" que vous demandez est d'un type nécessitant un traitement préalable par l'analyseur syntaxique PHP (en bon anglais on dit le parser PHP, voir "parseur" en franglais) qui va "traduire" le fichier en HTML compréhensible par votre navigateur favori.

Le serveur Web pourrait vous fournir le fichier, mais il ne le traduirait pas et vous le donnerait brut, c'est à dire que l'on afficherait directement les sources PHP. C'est pour cette raison qu'il est important de lui préciser l'extension des fichiers nécessitant cette analyse lors de sa configuration.


Traitement

Votre interlocutrice donne toutes les informations que vous lui avez fournies à la personne qui gère les comptes clients. Celle-ci interroge sa base de données et retourne l'information : "Le compte est débiteur de 0,51 euros, il faut rapidement remettre le compte à jour sinon on vous envoie un huissier !".
Votre interlocutrice, toute gênée, va vous répéter exactement ce qu'a dit le gestionnaire de compte et raccrochera. (Glupsss ...)

Traduction :

L'analyseur PHP, au moyen des paramètres que vous lui avez fournis, va interroger la base de données (MySQL ?), va interpréter les données retournées et va les mettre en forme pour fournir le résultat au serveur Web qui vous les communiquera, puis coupera la connexion.

Remarque :

PHP est un analyseur syntaxique qui s'exécute du coté de votre serveur. La seule chose qu'il sait de vous, c'est les informations que vous lui avez fournies : les cookies, le type de navigateur que vous utilisez, votre adresse IP (hmmm ... c'est pas toujours la bonne), les données passées en paramètre dans les liens ou postées via un formulaire ... etc. PHP n'est donc pas capable de lire ou d'écrire sur votre disque, ni de connaître la position de votre souris.
Par contre, il existe des technologies permettant d'exécuter des "choses" directement sur votre ordinateur, c'est à dire coté client. C'est le cas de JavaScript et de Flash.
Si l'on prend le cas du JavaScript, celui-ci peut exploiter des informations de votre ordinateur, mais il ne peut pas consulter lui-même la base de données du serveur. Il faut noter également que par soucis de sécurité, JavaScript n'a pas les moyens de lire ou d'écrire sur votre ordinateur (cookie mis à part).
En bon anglais, on dit que PHP est Server-Side et JavaScript est Client-Side.

Synseo