Vous êtes sur la page 1sur 3

16/06/2022 17:53 Client et serveur : définitions et interactions - Pierre Giraud

Dans cette nouvelle leçon, nous allons définir ce qu’est un « client » et ce qu’est un « serveur » et
allons par la même voir les grandes différences entre les langages dits « client side » et les
langages dits « server side ».

Le fonctionnement d’Internet et du Web


L’Internet est un système créé pour transporter de l’information. C’est un réseau de réseaux qui
utilisent chacun des protocoles (ensemble de règles établies qui définissent comment formater,
transmettre et recevoir des données) différents pour envoyer de l’information.

Le World Wide Web, ou plus simplement « Web », est l’un des réseaux de l’Internet. Le Web n’est
donc qu’une partie d’Internet.

Plus précisément, le Web est un réseau de machines interconnectées qui stockent des sites.
Lorsqu’une machine est connectée au web et fournit un accès à un site web, on l’appelle un serveur
car elle « sert » le site web.

Un serveur est une sorte de super ordinateur, fonctionnant 24h/24 et 7j/7 (en théorie), et étant
beaucoup plus puissant que nos ordinateurs. Un serveur dispose de certains logiciels spécifiques et
son rôle est de stocker toutes sortes de médias composant les sites (fichiers, images, etc.), et de les
rendre accessible pour tout utilisateur à n’importe quel moment, où qu’il soit.

Pour pouvoir se comprendre et échanger des données toutes ces machines doivent parler la même
langue, c’est-à-dire utiliser le même protocole.

Le Web repose ainsi sur le protocole HTTP, pour HyperText Transfer Protocol (protocole de transfert
hypertexte) et sur son frère qui utilise des clefs de cryptage : le HTTPS (Secure HTTP). Pour utiliser
ce protocole, nous allons devoir passer par un navigateur web (Chrome, Safari, etc.) qu’on va alors
appeler un « client http ».

Pour accéder directement à une page web, on passe ainsi par un navigateur en utilisant le
protocole HTTP. On va passer une adresse au format spécial à notre navigateur : une URL pour
Uniform Resource Locator ou « localisateur uniforme de ressource » qui sert à identifier une page
web de manière unique.

Ici, notre navigateur (et nous) sommes des « clients » puisque nous sommes ceux qui demandons à
accéder à la page web.

Le navigateur va alors chercher où se trouve le serveur hébergeant la page demandée. Pour cela il
va utiliser un service de DNS (Domain Name Server) qui sont des serveurs permettant d’associer un
nom de domaine (pierre-giraud.com par exemple) à une adresse IP unique.

Notez ici que chaque fournisseur de services Internet fournit une liste d’adresses de DNS à
contacter. Si le premier DNS ne reconnait pas le site, alors il envoie la demande à d’autres DNS et
ainsi de suite jusqu’à ce qu’un DNS possède le site dans sa liste de noms.
https://www.pierre-giraud.com/php-mysql-apprendre-coder-cours/client-serveur/ 1/3
16/06/2022 17:53 Client et serveur : définitions et interactions - Pierre Giraud

L’adresse IP liée au site va alors être renvoyée au serveur. L’IP (Internet Protocol) est une suite de
nombres qui permet d’identifier de manière unique une machine connectée à Internet. Chaque
machine va posséder sa propre IP qui va changer en fonction du réseau sur lequel elle est
connectée (l’IP est attribuée par le fournisseur de services Internet).

Le navigateur possède donc maintenant l’adresse IP de notre site et donc l’adresse de la machine
(le fameux « serveur ») sur lequel il est stocké. Il va ainsi pouvoir directement contacter le serveur
en utilisant le protocole HTTP pour lui demander de renvoyer la page en question et va également
envoyer notre IP pour que le serveur sache à quelle adresse renvoyer la page demandée.

Lorsque le serveur reçoit la requête, il recherche immédiatement le fichier demandé, effectue


éventuellement certaines opérations dessus et le renvoie au navigateur ou renvoie un code d’erreur
si le fichier demandé est introuvable ou ne peut pas être envoyé.

Langages client side et server side


Un site Internet n’est qu’un ensemble de fichiers de codes liés entre eux et faisant éventuellement
appel à des ressources ou médias comme des images, etc.

Le code écrit dans ces fichiers, encore appelé « script », va pouvoir être exécuté soit côté client
(client-side), c’est-à-dire directement dans le navigateur de l’utilisateur qui cherche à afficher la
page, soit du côté du serveur (server-side).

Vous devez bien comprendre ici qu’un navigateur (côté client) et un serveur (côté serveur) ne vont
pouvoir chacun effectuer que certaines opérations et lire certains langages.

Pour être tout à fait précis, la grande majorité des navigateurs ne sont capables de comprendre et
de n’exécuter que du code HTML, CSS et JavaScript. Un navigateur est ainsi incapable de
comprendre du code PHP.

Lorsqu’un navigateur demande à un serveur de lui servir une page, le serveur va donc se charger
d’exécuter tout code qui ne serait pas compréhensible par le navigateur (en utilisant au besoin un
interpréteur).

Une fois ces opérations effectuées, le serveur va renvoyer le résultat (la page demandée après
interprétation) sous forme de code compréhensible par le navigateur, c’est-à-dire principalement
en HTML. Le navigateur va alors afficher la page au visiteur. Cette page va être unique puisqu’elle a
été générée par le serveur pour un utilisateur spécifiquement et en tenant compte de données
particulières.

Si en revanche la page demandée par le visiteur ne contient aucun code nécessitant l’intervention
du serveur, alors le serveur va la renvoyer telle quelle au navigateur qui va l’afficher au visiteur.

Notez bien ici que les opérations réalisées côté serveur vont être transparentes pour le visiteur et
que celui-ci ne va jamais avoir accès ni pouvoir voir le code exécuté côté serveur tout simplement

https://www.pierre-giraud.com/php-mysql-apprendre-coder-cours/client-serveur/ 2/3
16/06/2022 17:53 Client et serveur : définitions et interactions - Pierre Giraud

car une fois les opérations terminées, le serveur ne va renvoyer que du code compréhensible par le
navigateur.

C’est la raison pour laquelle lorsque vous analyser le code d’un page, vous ne trouverez jamais
d’instructions PHP mais seulement généralement du code HTML, CSS et JavaScript qui sont des
langages qui s’exécutent côté client.

Le schéma ci-dessous résume ce qu’il se passe lorsque vous demandez à accéder à une page web
via votre navigateur :

https://www.pierre-giraud.com/php-mysql-apprendre-coder-cours/client-serveur/ 3/3

Vous aimerez peut-être aussi