Un mot : serveur

Depuis une réflexion partagée avec A1, je suis particulièrement attentif aux mots que j’utilise dans mes articles. J’essaie autant que possible d’utiliser les bons mots car j’ai compris que c’était la matière première qui permettait de vous rejoindre. C’est très difficile.

Il m’est déjà arrivé d’utiliser un mot alors que l’idée que je m’en faisais était totalement différente. Imaginez que vous pensiez à une baleine et que le mot que vous utilisez pour nommer cette idée est espadrille. Oui c’est comique mais pour se faire comprendre c’est une vrai catastrophe.

A1 m’avait également parlé de la difficulté à se faire comprendre lorsqu’une idée est définie par un mot dans une langue mais que ce mot est absent dans une autre. Vous connaissez tous : « Free as in free speech, not as in free beer ». Free peut signifier deux mots, libre ou gratuit. Je trouve ça fascinant. Comment prendre conscience d’une idée si on n’a pas le mot ? Je vois une baleine mais le mot n’existe pas dans le dictionnaire, comment me faire comprendre ? Comment rejoindre l’autre quand un des deux n’a pas l’outil (le mot) ?

Au fil de mes articles j’ai rencontré une nouvelle difficulté, des mots qui peuvent signifier tellement de choses qu’au final ils ne signifient plus grand-chose. C’est le cas du mot serveur (informatique). Si je demandais définissez serveur informatique, ce serait un gros bordel. Alors que les mots sont principalement là pour nous permettre de communiquer, nous rejoindre sur un terrain commun, certains mots sont tellement peu précis qu’ils finissent par nous diviser.

Je me retrouve donc, si je veux être bien compris, à devoir définir un mot. C’est particulièrement drôle je trouve et en même temps il y a une réappropriation du langage. Cette réappropriation m’est nécessaire si je veux vous rejoindre, si je veux qu’il soit possible qu’on parle de la même chose.

Je m’appuie sur l’article Serveur informatique de Wikipédia. Voici comment je définis un serveur, ma définition d’un serveur informatique : Dispositif informatique matériel ou logiciel fonctionnant en permanence, offrant un ou plusieurs services sur un réseau en répondant automatiquement à des requêtes provenant d’autres dispositifs informatiques (les clients).

Je ne sais pas si vous vous rendez bien compte de la complexité à définir un simple mot. Pour moi ce qui définit principalement mais pas suffisamment un serveur c’est qu’il fonctionne en permanence :

  • La taille ne permet pas de définir un serveur : Raspberry Pi, Dell PowerEdge R710…
  • Un pc portable branché sur secteur peut faire office de serveur… on se rend compte que le matériel ne peut guère servir à la définition d’un serveur
  • Un serveur est-il obligatoirement matériel ? Non, une machine virtuelle peut faire office de serveur et est uniquement logicielle
  • Le fait de dire que ce qui définit principalement un serveur c’est qu’il fonctionne en permanence n’est pas suffisant. Si je laisse mon pc allumé non stop, ça n’en fait pas un serveur. C’est un serveur car il fonctionne en permanence et…
  • Un supercalculateur n’est pas un serveur… je vous laisse aller voir la définition : « Un superordinateur, ou supercalculateur, est un ordinateur conçu pour atteindre les plus hautes performances possibles avec les techniques connues lors de sa conception, en particulier en ce qui concerne la vitesse de calcul ». Le supercalculateur n’offre pas des services, il exécute des tâches, la différence est fine mais bien réelle
  • Si on laisse un serveur allumé c’est parce que le rôle (un ou des services) qu’il remplit doit être disponible en permanence. C’est parce qu’on a besoin d’un service en permanence qu’on utilise un serveur, ce besoin particulier fait le serveur
  • « sur un réseau » est intéressant dans la définition, si le serveur est injoignable parce qu’il n’est pas/plus en réseau, est-ce toujours un serveur informatique ? Un serveur éteint est-il toujours un serveur ? Non car le fait qu’il soit injoignable (déconnecté) fait qu’il ne joue pas/plus son rôle d’offrir des services. Un homme qui vient de mourir n’est plus un homme, c’est un cadavre
  • Il y a un dernier écueil, les microservices qui rentrent presque dans ma définition d’un serveur. Dans la philosophie d’un microservice on va trouver « Les services sont petits, et conçus pour remplir une seule fonction ». De base un microservice c’est un seul service éventuellement quelques-uns mais la proportion n’a rien à voir avec un serveur. « Les services individuels sont simples à remplacer », une autre différence importante avec les serveurs, le service n’est pas voué à être disponible en permanence mais à la demande. Citons aussi : « L’architecture est plus symétrique que hiérarchique (passage d’une architecture client-serveur à une architecture de plusieurs entités communicantes) ». On retombe sur nos pattes, le mot microservice correspond bien à autre chose, pas à un serveur par quelques différences

Pour info « serveur » (informatique) est défini ainsi sur le CNRTL : « Organisme qui exploite un système informatique permettant à un demandeur la consultation et l’utilisation directes d’une ou de plusieurs banques de données ». C’est bien si on considère « directes » comme signifiant en permanence et automatiquement. La définition reste vague englobant ainsi beaucoup de cas, c’est en même temps sa faiblesse, c’est au final peu clair. Je doute qu’à partir de la définition quelqu’un puisse retrouver le mot. C’est assez drôle de voir le mot « organisme » utilisé. J’aurai remplacé « demandeur » par client, j’aurai viré « d’une ou de plusieurs banques » pour faire ressortir seulement « données ».

Je considère la définition Larousse comme mauvaise : « Ensemble matériel et logiciel, branché sur un réseau télématique et mettant à la disposition des utilisateurs de ce réseau des banques de données ou de programmes spécialisées ; organisme qui assure ce service ». Je trouve notamment le « Ensemble matériel et logiciel » très bancal. Personnellement bien qu’une machine virtuelle s’appuie et fonctionne sur un matériel physique (pc, serveur…), je considère qu’une VM est uniquement logicielle. C’est un gros paquet de données qu’on peut copier sur une clé USB et faire fonctionner sur un autre matériel physique par exemple.

Voilà j’ai défini pour moi ce qu’était un serveur informatique. Je me suis beaucoup amusé et passionné à écrire cet article, maintenant je vais aller prendre ma dose de Prozac. La question qui fâche : Êtes-vous d’accord avec cette définition ?

Déjà 27 avis pertinents dans Un mot : serveur

  • Rapidement,

    Un serveur c’est le mec qui m’apporte ma bière sur la terrasse.

    Sinon, j’ai tendance à dire qu’un serveur ‘sert’ un service : Site web, fichiers, mails, … À partir du moment où il est capable de me servir ce que j’attends, c’est un serveur, quelle que soit sa taille, sa capacité, son matériel, …

  • Scorbut
    Un serveur de réception de mails peut ne fonctionner qu’un jour sur deux. Ça reste un serveur. Une seedbox peut n’être allumée qu’un jour par semaine, lorsque c’est le cas elle a, notamment, un rôle de serveur.
    Est-ce qu’un serveur éteint n’est plus un serveur ?

    Un serveur informatique ne serait-il pas simplement un objet (physique ou virtuel) qui peut être en écoute sur un connecteur réseau (socket, RJ…) ?
    Et, oui, un ordinateur personnel peut avoir un rôle de serveur, ne serait-ce que parce qu’il peut partager des fichiers ou autres ressources sur le réseau.

    Finalement la définition de Wikipédia me semble adaptée : un dispositif qui offre des services. Il n’est pas nécessaire d’être plus spécifique dans le cas d’un usage générique.

  • Un peu pareil que les autres, pour moi un serveur c’est une machine qui fourni un ou plusieurs services. Il ne m’est pas nécessaire qu’il fonctionne en permanence.
  • Je viens de voir ta réponse à Scorbut. Prenons un serveur de fichier sur lesquel tu fais des sauvegarde par exemple. Une fois éteint il reste ton serveur de fichiers, les dits fichiers sont toujours dessus, certes inaccessible. Mais l’accessibilité permanente ne fait pas forcément partie du service, en l’occurrence du service de sauvegarde.
  • Krapace
    Un serveur délivre un service. Permanent ou ponctuel.
    Pour l’ensemble logiciel ou matériel qui héberge ce serveur on parle d’hôte. Un hôte peut délivrer un ou plusieurs services.
  • Scorbut
    Oui, un serveur éteint n’est plus un serveur, c’est un serveur éteint :)
    En fait c’est surtout à cause de l’usage de la métonymie. « serveur » c’est un rôle. Lorsque qu’on dit « un serveur » on peut vouloir dire « un ordinateur qui fait office de serveur », du coup lorsqu’on l’arrête c’est toujours un ordinateur (sa définition) mais ce n’est plus un serveur (son rôle), puisqu’il ne rend plus de service.
    Après, une machine rackable va souvent se définir comme un « serveur » puisque ce sera généralement le rôle qu’on lui associera.

    Dernier point, pourrais-tu développer un peu tes arguments ? Parce que j’ai vraiment du mal à voir ce qui te chagrine dans la définition actuelle :
    – « Trop court à mon avis, je pense notamment à offrant « services » et « automatiquement ». Je branche mon pc portable au net, si il ne rend aucun service (même en étant à l’écoute), ce n’est pas un serveur. » → s’il est à l’écoute c’est pour rendre un service, donc c’est un serveur. Que ce soit un ordinateur portable personnel ne change rien à l’affaire.
    – « C’est vrai qu’elle est très bien mais le fait qu’on n’y parle pas de réseau m’ennuie. » → pourquoi ?
    – à un moment tu dis qu’une définition est trop courte et ensuite tu trouve qu’une autre est trop longue. Tu veux un nombre précis de mots ? De lettres ? Combien ? Pourquoi ? Une définition d’un terme générique sera soit courte et vague soit longue et précise à mon avis.

  • Bruno
    Salut,

    Voici la définition simple que je donnais à mes stagiaires à l’époque où je faisais de la formation :

    « Un serveur est un système informatique qui met à disposition des ressources pour les autres systèmes (clients) présents sur le réseau. »

    C’est évidement assez vague et doit être précisé par la suite. Par exemple, les ressources peuvent être des services : VoIP, messagerie, courriel, etc. ; des données : fichiers, bases de données, etc. ; des périphériques : imprimantes, scanners, etc.

  • Bruno
    Je ne me souviens plus d’où vient cette définition, je l’ai très probablement adapté d’une de mes lectures.

    La difficulté classique c’est qu’il faut absolument essayer de donner une définition la plus universelle possible. Or, généralement les gens ont tendance à essayer de définir ce type de terme à partir de cas particuliers, voire uniquement de cas particuliers dont ils ont connaissance. Pour expliquer ce qu’est un serveur (ou un réseau, ou l’Internet, etc.) il faut au contraire partir de ce qui est universel et ensuite, si besoin, expliquer les cas particuliers.

  • Scorbut
    > Pas sûr qu’on soit d’accord sur le « s’il est à l’écoute »
    Hum, oui, j’entends par là la définition technique, en gros si `netstat -plante | grep -c LISTEN` (pour TCP) te retourne un nombre supérieur à 0 alors il y a des trucs à l’écoute sur ta machine, donc ils rendent de potentiels services donc ce sont des serveurs et donc, par métonymie, ta machine est un serveur.

    > il ne rend aucun service car aucun service n’est installé/paramétré dessus
    Parfois le système fourni des services par lui même, sans qu’on lui ait demandé explicitement.

    > Est-ce qu’il faut considérer que ce qu’il y a sur Wikipédia c’est une définition ou une explication ?
    Sur Wikipédia, je dirais un peu des deux, pour juste une définition il y a le wiktionnaire : https://fr.wiktionary.org/wiki/serveur

    > La question est un peu bizarre, je te donne mon avis, on est d’accord que je peux ? Donc oui ça m’ennuie qu’on n’y parle pas de réseau.
    Bien sûr, mais un avis doit être étayé par des arguments si on veut qu’il soit compris et pris en compte.

    > je doute que ce soit évident pour quelqu’un qui n’y connaît rien en informatique comme un gosse de 5 ans par exemple.
    Ça c’est un argument. Cependant je ne suis pas certain que ce soit le rôle de la définition de s’adresser aux enfants de 5 ans mais plutôt celui de l’explication. D’autre part le réseau me semble une notion secondaire pour un serveur puisqu’il peut fonctionner (et rendre des services) en local ou autrement qu’en UDP ou TCP.

    À mon sens on peut garder la définition générique « un dispositif qui offre des services » et expliquer (par exemple avec la définition de chacun des termes) les détails qui resteraient flous à un non initié, tout en complétant avec des exemples connus des personnes à qui l’on s’adresse.

  • Scorbut
    > mais ces services ne tournent que pour moi.
    Ça n’en reste pas moins des services, donc la machine qui les fait tourner a un rôle (non exclusif) de serveur.
    J’ai un serveur IMAP sur la machine qui me sert de serveur chez moi, il ne tourne que pour moi mais c’est un serveur.

    > Des services en local c’est un poste client pas un serveur.
    Ah moi je dirais qu’il fait les deux, un ordinateur n’est pas un Minitel, il n’a pas à se cantonner à un seul rôle. Lorsque j’utilise une technologie en pair-à-pair ma machine a un rôle de client ET de serveur, il en va de même lorsque je demande une impression (client) à mon serveur local d’impression, cupsd. Après on peut parler de rôle principal…

  • Client Serveur c’est une architecture. Elle peut être utilisé en utilisant n’importe quel support de transmission(local ou pas), d’ailleurs tout les logiciels(ou presque) devrait utiliser cette architecture(c’est plus flexible). C’est ce qui permet d’avoir N clients codés différemment(curse, gtk,QT). L’important étant alors le protocole pour communiquer, le client doit être compris par le serveur.

    Le serveur a alors pour rôle de donner accès a des ressources. Bien souvent il s’agit de fichiers (tout est fichiers). Dans le cadre d’une seedboxe nous accédons aussi a des ressources autres, la bande passante, une ip localisée sur Mars. C’est notamment ce qui me fait dire que je rentrerais sans doute les supercalculateurs dans la catégorie serveur. Mais c’est c’est sans doute un abus de langage de ma part.

    Sans doute que pour être sûr de la définition il faudrait savoir a quelle occasion il est apparu dans le domaine de l’informatique et surtout si étymologiquement cela était sensé.

  • Erwann
    N’oubliez pas X11 !!!
    Le client X11 est l’application qui tourne sur le « serveur », tandis que le serveur X11 est sur le terminal.
    Donc le serveur met des services à disposition tandis que le client est l’utilisateur des dits services.

    La notion de serveur matériel est en fait une extension (abus de langage) du service logiciel qui est fourni.
  • erwann
    Salut,
    ce qui déstabilise la première fois que l’on a à faire à X Windows (X11), c’est que le « serveur X11 » réside sur le X-terminal, tandis que le « client X11 » (en fait l’application qui a besoin du service de fenêtre pour afficher son interface utilisateur) est sur le serveur d’application.
    Lorsque j’ai débuté avec X11 en 1989, cela m’a fortement déstabilisé, je ne comprenais pas. Après une bonne explication, tout était clair.
  • Smeulf
    Commentaire tardif, je découvre ce blog ^^

    Le seul problème pour moi c’est qu’on associe 3 idées à un même mot.

    Un serveur est soit :

    – Une machine dédiée, en général rackée dans une salle dédiée (j’ai bien dit ‘en général’…)

    – Tout équipement réseau rendant un service. Selon cette définition, un switch administrable est aussi un serveur, étant donné qu’on pourra s’y connecter en ssh ou en http(s)

    – Tout logiciel qui accepte des connexions réseau entrantes et y répond pour fournir un service. On parle de serveur DHCP, qui fournit le service DHCP (oui c’est subtil)

    Pas besoin que l’équipement ou le logiciel soit en fonction pour être serveur de mon point de vue.

    Bref, pour faire simple et clair, il faudrait (au moins) 3 mots :)

Les commentaires sont fermés.