• 12 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 15/12/2020

Qu’est-ce qu’un serveur ?

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Bienvenue à toutes et à tous dans ce cours ! Vous rêvez  de monter votre premier serveur de fichier sous Linux ? C’est parfait, nous allons y venir rapidement. Mais avant, faisons ensemble le point sur ce qu’est un serveur.

L’ordinateur depuis lequel vous visionnez cette page vous offre de nombreuses fonctionnalités : vous disposez peut-être d’un logiciel de dessin, d’un traitement de texte, d’un lecteur multimédia, de jeux, etc. Pour utiliser tout cela, votre ordinateur est autonome et vous n’avez besoin que d’un peu d’électricité.

En revanche, pour certaines fonctionnalités, vous avez besoin d’être connecté à un réseau car votre ordinateur va aller demander à un autre ordinateur quelque part sur le réseau l’information qui vous intéresse : c’est le cas pour afficher cette page Web. Dans ce cas, on dit que votre ordinateur se comporte comme un client qui va demander de l’information à un serveur.

Un homme fou de joie devant son ordinateur en voyant s'afficher un fichier. On voit que l'ordinateur est connecté à des nuages informatiques contenant plein de fichiers.
Un client ravi de trouver un fichier en ligne

Voyons plus précisément comment fonctionne cette relation client-serveur.

Le modèle client-serveur

En fait, c’est exactement la même chose quand vous êtes assis à la terrasse d’un café. Vous êtes le client et vous demandez une boisson au serveur.

Le serveur fournit un service : il apporte des boissons. Pour obtenir une boisson, le client doit en faire la demande au serveur, il doit faire une requête.

Une serveuse vous tend une boisson avec le sourire
Une serveuse vous amène la boisson que vous lui avez demandé

Pour que le client puisse faire une demande au serveur et être compris, il aura besoin d’un langage commun avec le serveur. En informatique, lorsqu’un client et un serveur communiquent, ils utilisent un protocole réseau.

Par exemple, pour afficher cette page, votre navigateur (on parle de logiciel client) a utilisé le protocole HTTP pour en faire la demande au serveur web d’OpenClassrooms. Comme on est sympa, on a accepté de vous envoyer la page demandée pour qu’elle puisse être affichée par votre navigateur :D

Il faut bien comprendre que dans le modèle client-serveur, chaque entité joue le rôle du client ou du serveur dans un contexte donné mais peut changer de rôle dans un autre contexte. Par exemple, le serveur du café commande tous les mois des boissons à son grossiste. Dans ce contexte, le serveur de café est client de son grossiste qui lui fournit un service de vente de boissons en gros. Le cafetier est donc serveur pour la vente au détail et client pour la vente en gros.

Maintenant que cette relation client-serveur est plus claire, essayons de définir simplement ce qu’est un serveur.

Le serveur

Au final, un serveur est un logiciel qui fournit un service à d’autres logiciels. Bien souvent, il fournit ce service via le réseau informatique mais il peut aussi être installé sur la même machine que les clients.

Par extension, on parle aussi de serveur pour désigner la machine physique (ou virtuelle) dont le but principal est de faire tourner un ou plusieurs logiciels serveurs.

En pratique, vous verrez que le terme de serveur est employé aussi bien pour désigner le logiciel que le matériel ou même les services fournis. C’est le contexte qui vous permettra de savoir de quoi on parle vraiment.

Les services

On vient de voir que la raison d’être d’un serveur est de fournir un service. Vous vous demandez peut-être quels types de services peut bien fournir un serveur ? Voici un petit aperçu des services les plus courants :

Mindmap dont le centre est
Une liste non-exhaustive de services courants

Ouah ! Un serveur peut fournir tous ces services ?

Et bien oui et bien plus encore car cette liste est loin d’être exhaustive.

Et je peux mettre en place tous ces services sur mon ordinateur personnel ?

Oui et non :) Même si théoriquement n’importe quel ordinateur peut fournir les services ci-dessus, ils ne sont pas toujours optimisés pour ça et on utilise généralement un matériel dédié : un serveur informatique.

Voyons ensemble ce qui fait la spécificité de ces matériels dédiés.

Les caractéristiques d’un serveur

Même si les caractéristiques précises d’un serveur informatique peuvent varier en fonction du service qu’on veut rendre et de beaucoup d’autres facteurs, voici quelques caractéristiques qu’on retrouve très souvent :

  • Un serveur est généralement allumé 24h/24 et 7j/7. Vous imaginez bien qu’on attend de la plupart de ces services qu’ils soient disponibles tout le temps.

  • Très souvent, il ne dispose ni d’écran, ni de clavier, ni d’équipements multimédia (carte son, etc.). Un serveur interagit principalement avec d’autres machines et logiciels donc il est simplement connecté au réseau et l’administration du serveur se fait à distance.

Quatre serveurs plats posés les uns sur les autres
Les serveurs sont souvent plats pour pouvoir en empiler plusieurs dans des baies de stockage
  • Il est généralement entreposé dans une salle machine dont l’accès est sécurisé et qui présente des sécurités vis-à-vis des risques liés au feu et à l’eau. L’alimentation en électricité et la connexion au réseau peuvent être redondées (en double quoi :-) ). Et oui, quand on ne peut pas se permettre de se passer des services fournis par notre serveur, plus il est nécessaire d’en assurer la sécurité physique.

Une rue d'une salle machine très design où on voit des séries de baies de stockage de chaque côté de l'allée centrale.
Une salle machine où vous voyez des séries de baies de stockage
  • Un serveur Linux n’a généralement pas d’interface graphique car on préfère désactiver les composants jugés non-essentiels pour des raisons de performance et de sécurité. Pour administrer ces serveurs, il vous faudra donc être à l’aise avec la ligne de commande car ce sera souvent votre seul moyen d’interagir avec le système.

Gros plan sur une interface de commande où on voit une tentative ratée de connexion SSH
Administration d'un serveur en ligne de commande
  • Un serveur utilise généralement un système d’exploitation spécialisé. Vous vous souvenez ? Un système d’exploitation c’est par exemple Windows, MacOS, GNU/Linux. La plupart des systèmes d’exploitation proposent des versions spéciales pour serveur (je vous en dirai plus ci-dessous).

  • Un serveur peut disposer de performances physiques plus importantes qu’un poste client. Il est plus difficile de généraliser ce dernier point mais que ce soit en terme de processeur, de mémoire, d’espace de stockage, de carte réseau ou autre, il est très courant d’avoir des configurations matérielles bien supérieures à ce qu’on pourrait trouver sur un poste client.

Vous savez maintenant qu’il existe des systèmes d’exploitation ou OS (pour Operating Systems) spécialisés pour serveurs mais vous vous demandez peut-être ce que ces OS peuvent bien avoir de spécial. Voyons ça plus en détails.

Les OS serveur

Mais alors, qu’est-ce qui différencie un OS Serveur de l’OS de mon ordinateur personnel ?

En fait, assez peu de choses :-) Ils sont généralement très proches des OS dits “Desktop” (de bureau) mais présentent des configurations optimisées pour l’installation de logiciels serveur et pour toutes les caractéristiques que vous venez de voir :

  • Comme les serveurs restent allumés en permanence, les OS ne sont pas configurés avec des fonctions de mise en veille.

  • Les OS Serveur sont fournis avec peu de pilotes multimédia mais sont plutôt configurés pour supporter le matériel qu’on trouve sur les serveurs (support de composants matériels spécifiques, de grandes quantités de RAM ou de nombreux processeurs)

  • Les OS Serveur sont installés sans interface graphique pour les systèmes Linux et avec une interface sans effets esthétiques pour les systèmes Windows

  • Le programme d’installation est pensé à destination des professionnels avec une esthétique plus sobre et des choix plus techniques

  • Les licences et systèmes de tarification sont généralement différents et bien plus chers ^^

  • Il est possible de souscrire à des services de support payants pensés pour les entreprises

Vous aurez bientôt l’occasion d’expérimenter vous-même les différences de configuration de ces systèmes puisque vous terminerez cette partie par l’installation de deux version d’Ubuntu : une Server et une Desktop.

Au final, retenez que la notion essentielle qui se cache derrière le terme de serveur est celle de service. Or les services que vous choisirez de fournir auront de grandes conséquences sur votre installation. C’est pourquoi dans le chapitre suivant, nous verrons comment définir vos besoins pour faire les choix matériels, logiciels et d’infrastructure les plus adaptés.

En résumé

  • un serveur est un logiciel qui fournit des services à d’autres logiciels

  • par extension, on parle aussi de serveur pour désigner la machine physique et parfois le service

  • on parle de relation client-serveur pour désigner les demandes d’informations d’un logiciel vers un autre logiciel

  • un serveur dispose d’un matériel, d’un OS et de logiciels optimisés pour le service qu’il doit rendre

Exemple de certificat de réussite
Exemple de certificat de réussite