Chapitre 6.3Clients et serveurs

Comment le contenu arrive jusqu'à ton navigateur.

2 minutes de lecture

On sait maintenant que des machines forment des réseaux et qu'elles s'entendent grâce à des protocoles. Reste à savoir qui parle à qui. Dans la quasi-totalité des échanges, l'un demande et l'autre répond. C'est le modèle client-serveur, et il gouverne à peu près tout ce que tu fais en ligne.

L'analogie du restaurant

Imagine-toi en tant que client dans un restaurant 3 étoiles. C'est tellement chic que tu as à disposition un serveur qui peut te conseiller sur le plat, un autre sur le dessert, un troisième sur les vins... Chacun t'apporte un service différent. Ils sont entraînés pour répondre à toutes sortes de requêtes : "je veux un plat sans gluten", "on peut avoir du pain"...

Les serveurs ont tous leur mode de communication et leur vocabulaire. Rosé, pour l'un, fait allusion au vin, alors que l'autre pensera à une cuisson de canard.

Le serveur, un logiciel qui attend

Dans le monde informatique, c'est tout pareil.

Concrètement, un serveur informatique est un logiciel qui tourne en continu sur une machine. Dans le langage courant, on utilise indistinctement le mot serveur pour désigner soit le logiciel, soit la machine.

Le serveur est en permanence à l'écoute d'une requête entrante pour assurer un service de qualité à ses clients.

Il y a des serveurs dédiés pour chaque service : les sites web, les emails, le transfert de fichiers... Chacun a son propre vocabulaire et sa façon d'organiser ses communications, autrement dit son propre protocole.

Le client, le logiciel qui demande

Pour charger un site web, il faut donc dialoguer avec un serveur web en respectant son protocole. Les serveurs web communiquent en utilisant les protocoles HTTP et HTTPS.

De base, ton ordinateur n'a aucune idée de comment faire ça, il faut installer un logiciel dédié. C'est ce logiciel capable de communiquer avec le serveur en suivant le protocole qu'on appelle "client".

Des clients qui savent parler à des serveurs web, tu en utilises tous les jours : les navigateurs web. Chrome, Safari, Firefox, Opera, Edge... ce sont tous des clients HTTP, capables d'interpréter la réponse d'un serveur HTTP et d'en faire une page lisible.

Une même machine peut d'ailleurs jouer les deux rôles. Un serveur web qui va chercher des informations dans une base de données est serveur pour ton navigateur, et client pour la base de données. Ce sont des rôles dans une conversation, pas des catégories de machines.

Ce modèle n'est pas le seul. Dans un réseau pair à pair (peer to peer), chaque machine est à la fois client et serveur des autres, sans point central. C'est le principe du BitTorrent, et une partie de ce qui fait tenir le dark web.

PrécédentLa programmation objet Tous les chapitres