Le modèle client-serveur est l’un des concepts d’ar­chi­tec­ture les plus courants dans les réseaux. Il régit l’in­te­rac­tion entre le client et le serveur. Les tâches quo­ti­diennes telles que l’envoi de requêtes HTTP à des serveurs Web ou le transfert de fichiers via FTP sont des cas d’ap­pli­ca­tion typiques.

Dé­fi­ni­tion du modèle client-serveur

Le modèle client-serveur, aussi appelé « protocole client-serveur », est un mode de tran­sac­tion qui permet la ré­par­ti­tion des tâches au sein d’un réseau.

Le terme de serveur englobe d’une part le matériel qui met les res­sources né­ces­saires à dis­po­si­tion d’autres or­di­na­teurs ou ap­pli­ca­tions, d’autre part le logiciel in­for­ma­tique qui se charge de la com­mu­ni­ca­tion avec les clients. Le serveur accepte les demandes (ou requêtes) du client, les traite et fournit la réponse demandée. Un client se présente aussi sous dif­fé­rentes formes : soit un or­di­na­teur, soit un logiciel qui com­mu­nique avec le serveur. Le client envoie ses requêtes et reçoit les réponses du serveur. L’in­te­rac­tion entre le serveur et le client ca­rac­té­rise le modèle client-serveur.

Conseil

Vous cherchez à louer un serveur ? Jetez un œil sur les serveurs IONOS. Choi­sis­sez votre serveur per­son­na­lisé : serveur privé virtuel, serveur Cloud ou serveur dédié.

Quelles sont les ca­rac­té­ris­tiques du protocole client-serveur ?

L’en­vi­ron­ne­ment client-serveur possède quelques ca­rac­té­ris­tiques propres. Il existe par exemple une ré­par­ti­tion claire des tâches entre clients et serveurs. Le serveur est res­pon­sable de la four­ni­ture des services, il exécute les requêtes demandées et fournit la réponse attendue. Dans la tran­sac­tion, le client est la partie uti­li­sa­trice qui demande les services mis à dis­po­si­tion et reçoit la réponse du serveur.

Dans le modèle client-serveur, plusieurs clients utilisent un même serveur. Le serveur traite donc les requêtes de dif­fé­rents clients. Pour cela, il met à dis­po­si­tion un service de manière per­ma­nente et passive. Un client envoie des demandes actives de services au serveur et initie ainsi ses tâches.

Dans cette ar­chi­tec­ture, un or­di­na­teur physique peut être à la fois client et serveur. Le fait qu’il envoie ou reçoive les requêtes de services et de res­sources détermine son rôle dans le réseau.

Les pro­to­coles dé­fi­nis­sent les règles selon les­quelles la com­mu­ni­ca­tion entre les clients et les serveurs se font. Dif­fé­rents pro­to­coles réseau pour l’échange de données sont utilisés selon les tâches. De plus, en fonction du domaine d’ap­pli­ca­tion, il existe dif­fé­rents types de réseaux

Quels sont les avantages et les in­con­vé­nients du modèle client-serveur ?

Le concept de ré­par­ti­tion des tâches et des services au sein d’un réseau selon le modèle client-serveur présente des avantages in­dé­niables mais aussi certains in­con­vé­nients qu’il convient de rappeler.

Avantages

Si le modèle client-serveur constitue l’une des ar­chi­tec­tures les plus utilisées dans la technique des réseaux, c’est notamment grâce à ses nombreux avantages.

Une ad­mi­nis­tra­tion centrale

L’un des grands avantages réside dans son ad­mi­nis­tra­tion centrale : le serveur constitue le centre du réseau. Tous les uti­li­sa­teurs ou clients l’utilisent. Les res­sources les plus im­por­tantes, comme les bases de données, sont dis­po­nibles sur le serveur et donc cen­tra­li­sées. Cette structure simplifie l’ad­mi­nis­tra­tion et la main­te­nance des res­sources im­por­tantes et sensibles. La position centrale du serveur permet aussi d’effectuer fa­ci­le­ment et sûrement les mises à jour avec peu de risques.

Contrôle global des droits d’accès

La cen­tra­li­sa­tion des res­sources-clés permet aussi de gérer au plus près les droits d’accès pour une plus grande sécurité. Il est important de savoir à tout moment qui a accès aux données sensibles, et qui peut effectuer certaines ma­ni­pu­la­tions. Afin de garantir une pro­tec­tion optimale des données, il s’agit dans ce cas de limiter au maximum les droits d’accès.

Un seul serveur pour de nombreux clients

Le nombre de clients est ex­ten­sible et plusieurs clients tra­vail­lent si­mul­ta­né­ment avec un serveur. Les clients se partagent les res­sources du serveur. Il est aussi possible que le serveur se trouve phy­si­que­ment à un autre endroit que les clients : c’est l’ar­chi­tec­ture du réseau qui dé­ter­mi­nera la relation entre serveur et clients. À ce titre, il n’est pas né­ces­saire d’avoir les res­sources sur place.

In­con­vé­nients

Malgré ses nombreux avantages, le modèle client-serveur présente aussi certains in­con­vé­nients.

Panne de serveur

L’in­con­vé­nient majeur du modèle client-serveur réside dans sa cen­tra­li­sa­tion : une panne serveur entraîne une panne générale du système. S’il devait être in­dis­po­nible, les clients ne pour­raient plus faire leur travail car ils ne re­ce­vraient plus les réponses attendues du serveur.

Res­sources serveur

Le serveur exécute des tâches qui demandent beaucoup de res­sources. Le client fonc­tionne avec des exigences en matière de res­sources nettement moins élevées. Un serveur qui dis­po­se­rait de trop peu de res­sources aurait une incidence sur le travail de tous les clients. C’est pourquoi il est important de choisir un four­nis­seur fiable qui ga­ran­tisse la mise à dis­po­si­tion de res­sources.

Chro­no­phage

Un autre élément à ne pas sous-estimer est le temps à consacrer pour l’ex­ploi­ta­tion de son propre serveur. Non seulement ce type de matériel demande le savoir-faire cor­res­pon­dant, notamment pour sécuriser et con­fi­gu­rer les serveurs, mais aussi des res­sources en temps non né­gli­geables.

Quelles al­ter­na­tives au modèle client-serveur ?

Bien que le modèle client-serveur reste le plus utilisé pour la ré­par­ti­tion des tâches au sein des réseaux, il existe d’autres concepts et ar­chi­tec­tures.

L’une des al­ter­na­tives est le modèle peer-to-peer, aussi appelé pair-à-pair. Dans ce modèle, un programme « pair » joue à la fois le rôle de serveur et de client à parts égales. Ce modèle constitue la base de la Blo­ck­chain.

On retrouve aussi le modèle maître-esclave. Dans celui-ci, la partie maître dirige les parties esclaves et les coordonne. Le maître exécute lo­ca­le­ment les requêtes avant de les faire suivre aux esclaves et décider à quel moment celles-ci prennent en charge une tâche donnée.

Client-serveur : ap­pli­ca­tions et pro­to­coles typiques

Un serveur Web constitue une ap­pli­ca­tion client-serveur classique : ici, le client envoie une demande au serveur Web pour ouvrir une page spé­ci­fique. Le serveur renvoie les données demandées au client et la page Web s’affiche dans le na­vi­ga­teur du client. Les données sont envoyées sous forme de HyperText Transfer Protocol sous forme de requêtes HTTP.

Un serveur de mes­sa­ge­rie fonc­tionne aussi selon le principe client-serveur. Lorsqu’un client de mes­sa­ge­rie com­mu­nique avec un serveur de mes­sa­ge­rie, le client demande les e-mails qui se trouvent sur le serveur et les récupère. Le serveur met les e-mails à la dis­po­si­tion du client. Les dif­fé­rents pro­to­coles utilisés sont SMTP, IMAP ou POP et TLS.

Enfin, une autre ap­pli­ca­tion très répandue est le transfert de données entre le client et le serveur Web via File Transfer Protocols (FTP). Ce protocole permet de té­lé­char­ger et d’ajouter des fichiers.

Aller au menu principal