Il est parfois dur d’expliquer simplement à des néophytes, certains aspects assez techniques de l’informatique. Personnellement dans ces cas là, j’aime bien me reposer sur des métaphores et des éléments concrets. Et quoi de mieux pour expliquer les histoires de client et serveur web que de replacer tout ça dans le contexte d’un restaurant.

Le client, c’est vous lorsque vous rentrez dans le restaurant. La plupart du temps on rentre dans un restaurant par la porte d’entrée (enfin c’est ce que j’ai l’habitude de faire), en quelque sorte le nom de domaine d’un site : www.restaurant.com. Afin que vous puissiez faire une sélection sur ce que vous aimeriez manger, le serveur vous fournit normalement un menu.
Il en est quasiment de même sur Internet, car le serveur web vous fournit une page d’accueil, qui contient la plupart du temps des liens vers les différentes parties du site.
Vous faîtes donc votre sélection dans le menu, vous cliquez sur un lien. Et le serveur vous apporte ce que vous avez demandé.

Mais qu’en est t’il de la préparation de l’assiette? Elle peut être déjà préparée à l’avance. Les pages contiennent alors que du HTML. Mais elles peuvent aussi être préparées au moment de la commande. Afin de correspondre par exemple au menu du jour. Sur le web ce sont les languages PHP, ASP, etc. qui s’en occupent. Et si on veut aller encore plus loin. On peut faire le rapprochement entre les aliments pris dans le frigo pour préparer le plat, et les données récupérées dans une base de données.

Une fois que la page est prête, on vous la sert. Le serveur vous donne donc votre assiette. Si vous avez la chance de manger dans un restaurant à plusieurs étoiles, votre assiette sera sûrement bien préparée grâce à un petit coup de CSS sur le contenu de l’assiette. Et afin d’améliorer votre repas, vous pourrez utiliser sur votre table des condiments (Javascript).

Tout deviens tellement plus simple vu sous cet angle…