COMPRENDRE-INFORMATIQUE.COM

Deviens autonome dans l’utilisation de l’informatique et comprends ce que tu fais !

Qu’est-ce qu’un serveur, en informatique (partie 1) ?

Salut à toi ! Si tu es ici, c’est sûrement parce que tu te demandes ce qu’est un serveur, au sens informatique du terme ? C’est une question qui revient souvent. Alors, allons-y ensemble et essayons de comprendre ce qu’est un serveur de manière simple et amusante.

Comme cet article comporte beaucoup de matière, je l’ai divisé en deux parties :

  1. Cette première partie sera plus théorique
  2. La deuxième partie (actuellement en cours d’écriture) présentera plusieurs exemples concrets

C’est parti !

Un serveur, c’est quoi exactement ?

📰 Un pirate informatique a pénétré le serveur de l’entreprise Tartempion et a récupéré toutes ses données !

👨‍💻 Vas-y, Jimmy, connecte-toi au serveur et installe un virus informatique !

👩‍💼 Le serveur est en panne et on ne peut pas travailler ! On attend l’intervention du service informatique !

🤓 Sur quel genre de serveur ton site web est-il hébergé ?

Tu as sûrement entendu l’une des phrases ci-dessus (ou une variante) dans une série, un film, au travail ou encore aux actualités et tu as sûrement compris le message dans sa globalité. Mais tu n’as peut-être pas forcément saisi ce qu’est un serveur, ou alors tu en as une vague idée.

Tu t’imagines peut-être une grande machine pleine de câbles sous la surveillance d’un-e technicien-ne, comme dans cette image :

Image fictive d’un serveur maintenu par un technicien (générée avec l’IA neural.love)

C’est à peu près correct. Mais bien que des opérations de maintenance devront de temps à autre être effectuées sur un serveur, le reste du temps, il doit être capable de remplir sa mission de manière autonome sans qu’on ait besoin de le surveiller.

Mais quelle est sa mission, au juste ?

Il peut avoir plein ! Ne t’inquiète pas, nous y reviendrons plus loin…

Bon, ça c’est la perception qu’on a habituellement d’un serveur, c’est-à-dire une grande machine qui fait des trucs magiques ✨ et dont on entend surtout parler quand il est en panne ! 🚧

Mais un serveur, ça peut aussi être un programme informatique.

Noooooooon !?! Mais alors, je n’y comprends plus rien ! 😵

Eh oui, un serveur, ça peut être un ordinateur super puissant et ça peut aussi être un programme. Eh oui, un terme qui peut désigner deux choses, ça arrive, c’est la vie…

Mais pas de panique ! Laisse-moi t’expliquer.

Le serveur, c’est avant tout un concept

Pour que tu comprennes bien ce qu’est un serveur dans le contexte de l’informatique, je vais t’expliquer ce que c’est fondamentalement. Un serveur, en informatique, c’est avant tout un concept.

Mais c’est un concept informatique simple, que tu vas pouvoir comprendre car il fait déjà partie de ton quotidien.

Quel est le point commun entre une serveuse et une coiffeuse ?

Non, il ne s’agit pas d’une blague….

Les deux fournissent un service.

Comme un serveur.

Un serveur est là pour servir.

Un serveur, en informatique, c’est quasiment la même chose !

Un serveur, c’est…
un ordinateur… 💻
ou un programme… 📱
qui fournit… 🎁
un service… 🛎️
ou une ressource… 📦
à des clients. 💻

Tout simplement !

La petite nuance est qu’un serveur peut aussi être conçu pour fournir des ressources.

🛎️ Un service est une action que le serveur va effectuer pour le client.

📦 Une ressource est une ressource informatique (fichier, données, texte, résultat, nombre, image, document, etc.) que le serveur va retourner au client.

Maintenant que cette nuance est clarifiée, permets-moi de me répéter pour bien que ça rentre dans ton esprit :

Un serveur, c’est…
un ordinateur 💻 ou un programme… 📱
qui fournit un service 🛎️ ou une ressource… 📦
à des clients. 💻

Dans la deuxième partie, je te donnerai des exemples bien concrets.

Mais hey, pourquoi as-tu utilisé l’emoji 💻 pour désigner les clients ???

Mais quel fin talent d’observateur ! J’attendais justement cette question !

La relation client-serveur

ATTENTION : Dans cette section, je vais t'expliquer 6 concepts-clés et il faudra augmenter un peu plus ton niveau de concentration pour bien en saisir les nuances ! Chacun de ces 6 concepts apparaîtra en bleu, une fois introduit, pour que tu puisses facilement le repérer.

Un serveur qui, rappelons-le, peut être un ordinateur ou un programme qui fournit un service ou une ressource, n’a aucune raison d’être sans client. À quoi bon fournir quelque chose si personne n’en veut ?

Le client est donc un concept essentiel quand on parle de serveur. Parler de client n’a de sens que si l’on parle de serveur.

Le client demande un service ou une ressource au serveur et le serveur la lui fournit.

Répète après moi :

Le client demande
Le serveur fournit

Le client demande
Le serveur fournit

En informatique, on pourrait penser que le-la client-e, c’est toi, étant donné que c’est toi qui utilise le service ou la ressource.

Eh ben non ! Le client, c’est ton ordinateur (un ordinateur ici peut aussi bien désigner un ordinateur de bureau qu’un laptop, un smartphone ou encore une tablette) ou un programme de ton ordinateur. Et toi, tu es l’utilisateur. Un utilisateur est celui qui va exploiter la ressource ou qui va bénéficier de la ressource.

🛑 MAINTENANT, STOP ! 🛑

Prends un moment pour apprécier la différence entre un client et un utilisateur dans le contexte de la relation client-serveur.

Un CLIENT, c’est…
un ordinateur… 💻
ou un programme… 📱
qui va demander… 🙏
un service… 🛎️
ou une ressource… 📦
à un serveur… 💻/📱
pour un utilisateur. 👤

Un UTILISATEUR, c’est…
la personne… 👤
qui va bénéficier… 🎁
du service… 🛎️
ou de la ressource… 📦
demandée au serveur… 💻/📱
par le client. 💻/📱

C’est ton ordinateur ou un programme de ton ordinateur (le client) qui s’occupe de demander un service ou une ressource à un serveur. Et une fois qu’il aura reçu cette ressource du serveur ou qu’il aura exécuter ce service, il te fournira un retour. Ce retour sera la ressource demandée ou le résultat de l’exécution du service.

Pour illustrer ceci, voici Derpina, une utilisatrice immodérée du réseau social Instagram. Elle poste des photos de son chat Kiwiskas tous les jours au plus grand bonheur (ou ennui) de ses abonnés. Derpina aimerait récupérer une des photos qu’elle a postée sur Instagram depuis son smartphone. Pour ce faire, elle va se rendre sur Instagram et retrouver la photo voulue. Une opération basique en soi, mais derrière les décors, voici ce qui se produit :

Derpina (utilisatrice) télécharge la photo de son chat Kiwiskas depuis son compte Instagram sur son smartphone. Ce dernier va jouer le rôle du client.

Le smartphone de Derpina, ou plus précisément l’application Instagram qui est installée dessus, va prendre le rôle du client et demander au serveur Instagram de lui retourner la photo de Kiwiskas, qui est une ressource informatique enregistrée sur ce serveur. Le serveur se charge alors de la retrouver et de la renvoyer au client (smartphone / application Instagram –> les deux peuvent être considérés comme des clients, c’est juste qu’ils sont à des niveaux différents). Une fois la ressource (photo) récupérée, l’application Instagram affiche la photo de Kiwiskas à Derpina, l’utilisatrice, qui saute de joie tellement haut qu’elle troue le plafond.

Mais pourquoi je peux pas directement demander au serveur une ressource ou un service moi-même au lieu de passer par un « client » ???

Eh bien, tu le peux. Bonne chance ! 😉

Cette relation temporaire entre le client et un serveur où ils communiquent ensemble pour obtenir ce dont tu as besoin est appelée la relation client-serveur, et c’est l’un des concepts fondamentaux en informatique.

On appelle la demande qui est faite au serveur par le client, la requête. Et le retour qui est fait au client par le serveur, la réponse. Cette réponse contient la ressource demandée ou le résultat du service demandé. Elle peut aussi contenir une erreur comme :

  • 🤷 Le service ou la ressource n’existe pas ou plus (il s’agit de la fameuse erreur 404 — si tu ne sais pas de quoi je parle, pas grave du tout !);
  • ⛔ Le service ou la ressource ne peut être accédé-e que si l’on possède certains droits d’accès privilégiés;
  • ⁉️ La requête est mal formulée;
  • Etc.

Voici un schéma qui représente la relation client-serveur :

  1. Pour satisfaire l’utilisateur, le client envoie une requête au serveur pour lui demander une ressource ou un service.
  2. Le serveur exécute le service ou retrouve la ressource et fournit une réponse au client. Cette réponse est la ressource ou le résultat de l’exécution du service.
  3. La réponse est transmise à l’utilisateur qui pourra l’exploiter à sa guise.

Dans certains cas, l’utilisateur peut être un ordinateur ou un programme. C’est typiquement le cas lorsqu’un serveur agit comme un intermédiaire. Il ne possède pas lui-même le service ou une ressource qu’on lui demande et doit demander à un autre serveur de le/la lui fournir. Il deviendra alors lui-même le client de ce serveur. Comme tu peux le constater, le concept est simple mais, dans la pratique, il peut aussi devenir complexe.

Résumé des 6 concepts-clés

  1. Un serveur est un ordinateur ou un programme qui fournit un service ou une ressource à un client.
  2. Un client est un ordinateur ou un programme qui demande un service ou une ressource à un client.
  3. La relation client-serveur est la communication dans laquelle un client demande un service ou une ressource au serveur qui le lui fournit.
  4. Un utilisateur, c’est la personne, l’ordinateur ou le programme qui va demander au client de demander au serveur un service ou une ressource et va pouvoir utiliser cette dernière une fois reçue.
  5. Une requête est une demande de service ou de ressource effectuée au serveur par le client.
  6. La réponse est la réponse du serveur au client par rapport à sa demande. Elle contient soit le service ou la ressource demandé-e, soit une erreur.

Voyons quelques exemples concrets !

Dans la deuxième partie de cet article, nous verrons des exemples concrets.

La deuxième partie est en cours d’écriture alors suis-moi sur Facebook pour être tenu-e au courant de la suite. 😉

Cet article t'a plu ? Partage-le !

Laisser un commentaire