Serveur informatique
![](http://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Server_Linux.jpg/220px-Server_Linux.jpg)
Un serveur informatique est un dispositif informatique (matériel et logiciel) qui offre des services à un ou plusieurs clients (parfois des milliers). Les services les plus courants sont :
- l'accès aux informations du World Wide Web ;
- le courrier électronique ;
- le partage de périphériques (imprimantes, disques durs, etc.) ;
- le commerce électronique ;
- le stockage en base de données ;
- la gestion de l'authentification et du contrôle d'accès ;
- le jeu et la mise à disposition de logiciels applicatifs.
En fonctionnement, un serveur répond automatiquement à des requêtes provenant d'autres dispositifs informatiques (les clients), selon le principe dit client-serveur. Le format des requêtes et des résultats est normalisé, se conforme à des protocoles réseaux et chaque service peut être exploité par tout client qui met en œuvre le protocole propre à celui-ci.
Les serveurs sont utilisés par les entreprises, les institutions et les opérateurs de télécommunication. Ils sont courants dans les centres de traitement de données et le réseau Internet.
D'après le cabinet Netcraft, il y a en plus de 12 millions de serveurs web dans le monde, et leur nombre est en augmentation constante depuis l'invention du World Wide Web en 1991[1].
Histoire
[modifier | modifier le code]Au milieu des années 1970, les systèmes informatiques dans lesquels plusieurs ordinateurs coopèrent deviennent réalisables grâce à la baisse de prix et à l'augmentation de la puissance des ordinateurs. Les prix abordables des mini-ordinateurs ou des micro-ordinateurs permettent alors à une institution d'en acquérir plusieurs. La recherche s'oriente alors vers deux axes différents, qui sont l'utilisation en commun de ressources telles que les imprimantes et les disques durs, et l'utilisation de la puissance de calcul des différentes machines par répartition des tâches[2].
En 1975, les services de poste des États-Unis, du Canada, de l'Allemagne de l'Ouest et du Royaume-Uni mettent en place des serveurs en vue d'utiliser des moyens électroniques pour envoyer du courrier. Des moyens qui — contrairement au fax, au télégramme ou au télex — n'utilisent pas de papier[3].
Entre 1980 et 1995, l'avènement simultané des réseaux locaux, des services en ligne, d'Internet et de l'architecture client-serveur sont des facteurs qui influencent le marché, la technologie et les usages des serveurs.
Les réseaux locaux
[modifier | modifier le code]Avant la mise en place de serveurs, l'utilisation d'ordinateurs à usage personnel et isolés est peu pratique. La nécessité pour une entreprise d'acquérir une imprimante pour chaque ordinateur, la difficulté des échanges d'informations numériques entre les différents ordinateurs. Chaque usager devait copier les informations sur une disquette puis la transmettre en main propre au destinataire. Mais assez vite, le monopole IBM doit s'adapter face aux constructeurs proposant des machines moins coûteuses et moins encombrantes.
En 1980 apparaissent les premiers réseaux locaux équipés d'ordinateurs personnels et de serveurs. Xerox met sur le marché un ensemble composé de quatre serveurs qui permet aux ordinateurs connectés au réseau local d'imprimer des documents et enregistrer des fichiers. Il permet également d'échanger des fichiers et du courrier électronique avec une installation similaire ailleurs dans le monde[4]. À la même période Nestar met sur le marché une suite de logiciels pour offrir les mêmes services sur un réseau composé uniquement d'ordinateurs personnels Apple II tous identiques. Un des ordinateurs est arbitrairement choisi pour servir de serveur de fichier ou d'impression[5].
En 1984, Sun Microsystems met sur le marché le Network file system (NFS), un service qui permet l'accès aux fichiers de différents ordinateurs d'un réseau local (LAN). La documentation du protocole réseau est immédiatement rendue publique, en vue de permettre aux autres constructeurs de créer les logiciels nécessaires pour offrir ou exploiter ce service avec leurs propres ordinateurs. Quatre ans plus tard il existe plus de 100 produits serveur et client du service NFS[6].
Les serveurs de fichiers facilitent les échanges de fichiers entre utilisateurs[7]. Utilisés dans les institutions, ils permettent à plusieurs utilisateurs d'exécuter un même logiciel. Une seule copie du logiciel est stockée sur le serveur de fichier.
En 1989, 70 % des serveurs sont utilisés pour du partage de fichiers, 34 % comme serveur de bases de données et 10 % pour du courrier électronique. Apparu deux ans avant, le service de bases de données se place comme concurrent du partage de fichiers, offrant un service de stockage d'informations plus efficace, plus sûr, et plus rapide[8].
Les services en ligne et Internet
[modifier | modifier le code]En 1978, le bureau de recherche du département de la Défense des États-Unis, le DARPA étudie la possibilité d'internetworking - relier entre eux plusieurs réseaux locaux dans un réseau de réseaux. Le DARPA relie ensemble quatre serveurs dans quatre universités des États-Unis. Cinq ans plus tard, le réseau relie de nombreuses universités des États-Unis. La majorité des serveurs connectés utilisent alors le système d'exploitation Unix, le réseau étant principalement exploité par des étudiants qui l'ont appelé Internet. Le département de la Défense abandonne alors ce projet devenu public[9].
En 1979, The Source Telecomputing Corporation met à disposition une suite de services informatiques destinés aux petits groupes d'utilisateurs. Les services mis à disposition sont des banques de données, du courrier électronique, des nouvelles, les horaires des vols, du commerce électronique, des prévisions météo ainsi que d'autres services. Par la suite, d'autres sociétés ont fait de même, par exemple Telenet, Compuserve, Dow Jones ou Lockheed[10].
En 1980, les serveurs du bulletin board system permettent à l'aide d'un micro-ordinateur, un modem et un émulateur de terminal d'accéder à des services. Ils permettent également aux différents usagers de s'envoyer des messages, poster des annonces, dialoguer entre eux et s'échanger des fichiers[11].
Depuis 1989, les technologies apportées à l'Internet passent par un procédé démocratique d'acceptation mutuelle organisé par l'Internet Engineering Task Force (abr. IETF) - un consortium d'industriels[12]. Pour qu'un service soit reconnu officiellement comme service Internet, son protocole doit avoir été publié sous la forme d'un RFC et être accepté par les membres de l'IETF[13]. Ce procédé de standardisation aide à obtenir une large audience des technologies des serveurs et clients Internet[14].
En 1994 plus de 5 000 réseaux et autant de serveurs sont reliés à Internet[15], les fournisseurs d'accès Internet mettent à disposition des services tels que Gopher, World wide web, le courrier électronique ou le transfert de fichiers FTP[16] pour plus de sept millions d'usagers[15].
Le client-serveur et le downsizing
[modifier | modifier le code]En 1987, le principe du client-serveur, dans lequel une application informatique est scindée en deux processus distincts pouvant être exécutés par deux ordinateurs différents[17], intéresse les fournisseurs de logiciels pour les bases de données. Ashton-Tate, Microsoft et Sybase travaillent ensemble au développement d'un système de gestion de base de données selon le principe du client-serveur, en même temps que IBM et Oracle Corporation mettent sur le marché de tels produits[18].
Depuis 1990, les systèmes informatiques, en client-serveur, ont connu une croissance explosive[19] ; le client-serveur était une nouveauté à la mode et le mot était considéré comme un buzzword[17]. Contrairement aux systèmes informatiques précédents qui étaient alors équipés d'un ordinateur central manipulé depuis des terminaux, un système informatique en client-serveur demandait un matériel moins spécifique et moins coûteux. De plus les systèmes client-serveurs utilisaient des produits ouverts, basés sur des standards industriels évitant à l'acheteur de devoir acquérir la totalité de son système informatique auprès du même fabricant[19]. Ces avantages sont à l'origine du downsizing : le remplacement progressif des ordinateurs centraux coûteux et volumineux par des serveurs plus petits, meilleur marché et qui travaillent de concert avec des micro-ordinateurs[20].
Les logiciels sont typiquement organisés en trois couches : une qui contient les traitements relatifs à l'affichage, une pour ce qui est relatif aux calculs, et la dernière qui est relative au stockage des informations. En client-serveur les traitements des différentes couches ont été répartis entre deux processus voire ordinateurs différents - un client et un serveur[21].
L'architecture trois tiers est une évolution de l'architecture client-serveur où les traitements des trois couches sont répartis entre un client et deux serveurs[22].
Technique
[modifier | modifier le code]![](http://upload.wikimedia.org/wikipedia/commons/thumb/f/fb/Server-based-network.svg/220px-Server-based-network.svg.png)
Une application distribuée est une application informatique dans laquelle les résultats sont obtenus par la coopération de plusieurs ordinateurs d'un réseau informatique. Un protocole de communication établit les règles selon lesquelles les ordinateurs communiquent et coopèrent[23].
En particulier, en architecture client/serveur les traitements sont effectués par l'exécution conjointe de deux logiciels différents et complémentaires placés sur des ordinateurs différents : le client et le serveur. Le client formule des requêtes, puis les transmet au serveur. Le serveur traite les demandes, puis envoie sa réponse au client. Le client affiche la réponse (par exemple, il présente le résultat à l'écran). Un protocole de communication établit le format des requêtes envoyées au serveur et des réponses de celui-ci[23].
Dans l'architecture client-serveur les clients vont rechercher les informations stockées dans les serveurs. Dans l'architecture pair-à-pair (anglais peer-to-peer abrégé P2P) par contre les clients vont rechercher des informations stockées dans d'autres clients, et les serveurs jouent le rôle d'intermédiaires[24].
Caractéristiques techniques
[modifier | modifier le code]Dans les produits du marché des serveurs, l'accent est mis sur le débit (nombre de réponses données par unité de temps), la disponibilité et la capacité de montée en charge. Les serveurs gèrent de plusieurs utilisateurs simultanément, et ont souvent besoin d'une puissance de calcul supérieure à celle des ordinateurs personnels[25]. Les serveurs jouent un rôle clé dans de nombreux réseaux et sont souvent logés dans des locaux ventilés et sécurisés[26].
Les serveurs fonctionnent continuellement pour assurer la disponibilité du service 24 heures sur 24. Les constructeurs de matériel affirment souvent que l'ordinateur peut assurer une disponibilité de 99,999 % (soit moins de 5 minutes d'interruption par année). La disponibilité effective est cependant moins élevée. Les pannes dues au logiciel sont plus fréquentes que celles dues au matériel, et leur nombre a tendance à augmenter avec l'évolution technologique : la quantité de logiciel augmente et sa qualité moyenne stagne. La qualité du matériel, la qualité du logiciel, autant que la qualité des procédures de manipulation du serveur ont un impact sur la disponibilité des services[27].
Les composants du matériel dont les caractéristiques ont un effet sur le débit du serveur sont l'interface réseau, les disques durs, les bus, la mémoire, ainsi que la puissance de calcul du ou des processeurs. Le débit du serveur ne sera jamais plus élevé que celui du plus faible des composants[28]. Le débit est souvent limité par la connexion au réseau. Les serveurs peuvent être équipés de plusieurs processeurs, ce qui leur permet de servir plus de clients, accélère le traitement des requêtes, et augmente le débit[25]. Des journaux d'activité permettent de déceler des erreurs, dues à un débit trop bas ou des temps de réponse trop longs[28].
La capacité d'adaptation (scalabilité) du matériel d'un serveur permettra d'augmenter le débit du serveur en ajoutant ultérieurement des pièces. En cas de manque de scalabilité, une demande accrue posera des problèmes techniques et il sera alors nécessaire de remplacer le serveur. Le coût de remplacement sera le coût d'acquisition du matériel, auquel s'ajoute le coût des travaux de bascule du serveur, et le manque à gagner dû à l'indisponibilité du service[27].
Matériel
[modifier | modifier le code]Le mot serveur ne désigne pas une taille d'ordinateur, mais un rôle joué par un appareil sur un réseau informatique. Un serveur peut être une petite boîte, un micro-ordinateur, ou alors un mini-ordinateur, un ordinateur central voire une ferme de calcul. La taille de l'appareil et sa puissance sera choisie en fonction de la quantité de travail, qui dépend du nombre d'utilisateurs qui demandent des services au même instant[29].
Divers constructeurs et assembleurs tels que Apple, HP, Sun, IBM ou Bull vendent des ordinateurs destinés au marché des serveurs[30].
La durée moyenne d'arrêt des serveurs varie entre 36 minutes et 10 heures par année[31].
![](http://upload.wikimedia.org/wikipedia/commons/thumb/5/54/Floridaserversfront1.jpg/220px-Floridaserversfront1.jpg)
Les serveurs peuvent être montés dans des baies, ce qui permet de les empiler. Ils peuvent être équipés de dispositifs de prévention des pannes et de pertes d'informations, tels que les dispositifs RAID : les informations sont copiées sur plusieurs disques durs, en vue d'éviter leur perte irrémédiable en cas de panne d'un des disques durs[32].
Le regroupement de plusieurs serveurs en une grappe (en anglais cluster) permet de répartir la charge, et assure que les clients sont servis même en cas d'arrêt d'un des serveurs.
Un Network Attached Storage est un appareil clé en main, conçu spécialement comme serveur de fichier. Il existe également des appareils clé en main pour les serveurs d'impression[33].
Les serveurs sont parfois reliés à des réseaux de stockage : un ensemble de serveurs est relié par un réseau en fibre optique à une batterie de disques durs. L'espace de stockage de la batterie de disques durs est découpé en partitions réparties entre les serveurs.
Un appareil serveur peut exécuter plusieurs logiciels serveurs en même temps et servir pour de nombreux usagers en même temps. Un serveur est rarement manipulé, et le clavier et l'écran (s'il y en a) servent principalement à des travaux de maintenance, de réparation et de contrôle.
Pour l'année 2005, la consommation électrique annuelle de l'ensemble des serveurs informatiques a été estimée à environ 45 TWh aux États-Unis et 123 TWh pour toute la planète[34].
Du plus petit au plus grand
[modifier | modifier le code]La taille et la puissance de calcul d'un appareil serveur seront choisies en fonction de la charge de travail, qui dépend du nombre d'utilisateurs servis au même instant. Un micro-ordinateur peut être suffisant pour offrir des services de partage de fichiers et d'imprimantes sur un réseau qui comporte une dizaine de clients, alors qu'un ordinateur central peut être nécessaire pour mettre à disposition une volumineuse base de données à plusieurs milliers de clients[29]. Par exemple le serveur central de Whirlpool Corporation est un ordinateur central qui sert 73 000 employés répartis dans 70 sites dans le monde entier[35].
En 2009, le coût d'acquisition d'un ordinateur pour serveur peut aller de 1 000 dollars (micro-ordinateur) à 500 000 dollars (ordinateur central)[29]. La scalabilité verticale des ordinateurs du marché des serveurs permet d'y ajouter des composants en vue d'augmenter après coup leur capacité, ce qui leur permet de s'occuper de plus de clients, stocker plus d'information et traiter plus de demandes en moins de temps[36].
Outre les ordinateurs, les serveurs existent également sous forme d'appareils prêts à l'emploi et offrant un service unique. Ces appareils peu coûteux, dont les plus petits tiennent au creux de la main, mettent en œuvre des services tels que le partage d'imprimante ou de fichiers. Ils possèdent souvent un serveur web incorporé, permettant de manipuler l'appareil. Ils sont destinés aux particuliers et petites entreprises et sont vendus en grande distribution[37].
![](http://upload.wikimedia.org/wikipedia/commons/thumb/2/20/IBM_HS20_blade_server.jpg/220px-IBM_HS20_blade_server.jpg)
Les appareils serveur (anglais server appliance) sont des appareils dans un boîtier, qui mettent en œuvre des services courants tels que partage de fichiers, courrier électronique, world wide web, ainsi que des fonctions réseau tel que le pare-feu et le réseau privé virtuel et peuvent servir jusqu'à 50 clients. Les serveurs lame quant à eux, sont des serveurs composés d'un circuit imprimé unique, qui s'installe dans un châssis. Le châssis comporte plusieurs emplacements, permettant d'y placer plusieurs serveurs lame. L'encombrement réduit de tel appareils permet à une entreprise d'en placer un grand nombre dans un petit espace et d'obtenir ainsi de puissants serveurs[38].
L’avènement de l'Internet a permis de mettre des services à disposition d'un très grand nombre d'usagers. En raison de la taille sans précédent du réseau Internet, les services les plus populaires ont dû pour la première fois être construits en vue de supporter plus d'un million d'utilisations simultanées. Ces besoins ont posé un véritable défi en nécessitant une puissance de calcul et un débit de réseau sans précédent; les applications Internet sont ainsi devenues un des moteurs de la recherche et de l'industrie informatique. Les serveurs de grande dimension sont souvent mis en œuvre par une ferme de serveurs (cluster). Dans ces dispositifs il y a un groupe d'ordinateurs et un appareil qui répartit les demandes en les distribuant à tour de rôle à chacun des ordinateurs du groupe. Le moteur de recherche de Google est une ferme composée de 6 000 micro-ordinateurs x86 en 2004, ce qui lui permet à cette époque de traiter plus de mille demandes par seconde[39].
Systèmes d'exploitation
[modifier | modifier le code]Les premiers systèmes d'exploitation pour serveurs ont été Banyan Vines et Novell NetWare, ils ont été développés spécialement dans le but de fournir des services de partage de fichiers et d'imprimante, ainsi que les fonctions de contrôle d'accès, qui n'existaient pas dans les produits concurrents. Depuis l'an 2000 il y a très peu de différence entre un système d'exploitation pour serveur et un pour les clients[40].
Dans les systèmes d'exploitation de la famille UNIX, les seules différences entre les modèles pour serveur et ceux destinés aux clients sont que les modèles pour serveurs sont adaptés à la puissance de calcul de ces ordinateurs, et que les contrôles d'accès y sont plus sévères[26]. Dans la famille Windows, les modèles pour serveurs sont équipés du même noyau et du même environnement de bureau que les modèles pour les ordinateurs personnels. Les modèles pour serveurs comportent en plus des fonctions et des utilitaires en rapport avec les réseaux informatique et les serveurs[40].
Tandis qu'un système d'exploitation pour ordinateur personnel est prévu pour offrir la meilleure performance au logiciel qui est actuellement manipulé par l'utilisateur, un système d'exploitation pour serveur est prévu pour répartir la puissance de calcul entre les différents utilisateurs qui exploitent le serveur[26]. Les fonctionnalités caractéristiques des systèmes d'exploitation pour les serveurs sont la prise en charge de la connexion au réseau (pile de protocoles), différents services tels que le partage de fichiers, d'imprimantes et le service DNS. Ces systèmes d'exploitation offrent également des fonctions fréquemment utilisées avec les serveurs tels que le contrôle d'identité, le contrôle d'accès, la fonction de proxy, de pare-feu, le protocoles DHCP ainsi que et les mécanismes de sauvegarde et de tolérance de faute[26],[41].
Les systèmes d'exploitation populaires sur les serveurs sont la série Windows NT de Microsoft (Windows NT, Windows 2000, Windows 2003, Windows 2008, Windows 2019 et Windows 2022), Novell NetWare et la famille UNIX, parmi lesquels il y a Linux, macOS de Apple et les systèmes BSD[26],[41].
Pour assurer la confidentialité, chaque processus est attaché à un compte utilisateur (typiquement le compte de l'utilisateur qui a lancé la demande), et chaque opération est soumise à un mécanisme de contrôle d'accès qui l'autorisera ou la refusera en fonction d'informations de permissions, de listes de contrôle d'accès ou de privilèges[42].
D'une importance mineure pour cet usage, l'interface homme-machine d'un système d'exploitation pour serveur est peu développée[43], et les capacités multimédia sont réduites : les machines n'ont souvent pas de carte sonore, pas de clavier et pas d'écran.
Protection des informations
[modifier | modifier le code]La sécurité des informations est la première des préoccupations des professionnels de l'informatique. Les serveurs pour le world wide web, le partage de fichiers et les bases de données stockent de grandes quantités d'informations. Ils sont équipés de moyens de protection visant à assurer la confidentialité, la disponibilité et l'authenticité des informations: Que les informations soient accessibles uniquement aux personnes concernées, qu'elles soient accessibles à tout moment, et dépourvues de falsifications[44].
Les possibilités d'accès aux informations contenues dans le serveur sont typiquement réduites au strict minimum nécessaire à chaque usager, en vue de donner le moins possible d'opportunités de compromettre la confidentialité et l'authenticité des informations. Les mesures de protection sont limitées par le confort d'utilisation du serveur: si les mesures sont trop lourdes et encombrantes, ceci diminue l'utilisabilité du serveur et les usagers ont tendance à les contourner[45].
Les mesures de sécurité prises dépendent du niveau de confidentialité requis, des services offerts par le serveur, de sa localisation (réseau Internet ou entreprise), et des risques encourus. La protection est souvent assurée par un dispositif médiateur, qui arbitre l'accès aux informations. Le pare-feu et le proxy sont des dispositifs médiateurs courants. Les ordinateurs serveurs peuvent fournir un service unique, dans le but de diminuer les possibilités d'attaque et leur impact sur le système informatique[45].
Les administrateurs système, ou les administrateurs réseau sont les personnes responsables de la préparation, l'installation et la maintenance des serveurs, et une de leurs activités quotidienne est la lutte contre les attaques et le maintien d'un niveau de sécurité élevé des serveurs. Ils travaillent notamment à l'application régulière de correctifs visant à corriger les failles de sécurité des logiciels présents sur les serveurs. Ils surveillent l'état de santé et l'activité du serveur, à la recherche d'éventuelles anomalies, et effectuent sur demande des tests des mécanismes de défense[45].
Utilisations
[modifier | modifier le code]![](http://upload.wikimedia.org/wikipedia/commons/thumb/6/69/Wikimedia_Foundation_Servers-8055_35.jpg/220px-Wikimedia_Foundation_Servers-8055_35.jpg)
Les serveurs sont couramment utilisés pour le partage de fichiers, le partage d'imprimantes, le courrier électronique, le world wide web, les bases de données, les applications, les jeux ou les proxys.
Un serveur mandataire (anglais proxy) reçoit des demandes, les contrôle, puis les transmet à d’autres serveurs[46].
L’auto-hébergement consiste pour un particulier à utiliser son ordinateur personnel comme serveur, et de le mettre à disposition par l'intermédiaire de sa connexion Internet personnelle. L'usager évite ainsi les frais dus à un contrat avec un hébergeur web. Il peut ainsi avoir son propre serveur web (LAMP, WAMP…) et, en utilisant un DNS dynamique, avoir son propre nom de domaine. Certains FAI font payer les adresses IP fixes, mais elles ne sont pas indispensables.
Le démarrage et l'exécution du logiciel qui traite les demandes se fait sans intervention humaine, il peut avoir lieu lors du démarrage de l'ordinateur (anglais boot), ou sur demande. Rien n'est affiché à l'écran et le logiciel est invisible (voir aussi Daemon).
Depuis le début des années 2000, un usage très fréquent des serveurs informatiques est de délivrer des sites web, via un ensemble de logiciels spécifiques : un logiciel de bases de données (exemple : MySQL), un logiciel d'interprétation et d'exécution d'un langage de programmation (exemple : PHP-FPM), ainsi qu'un logiciel dit « serveur web » (ou « serveur HTTP » ; exemple : Nginx).
Partage de fichiers
[modifier | modifier le code]Le partage de fichiers consiste à enregistrer des fichiers dans un emplacement central – tel les disques durs d'un serveur – et permettre l'utilisation commune de ces fichiers par plusieurs personnes à partir de plusieurs clients. Network File System (abr. NFS) est un service de partage de fichier lancé par Sun Microsystems, et Server Message Block (abr. SMB) est un service lancé par Microsoft, ces deux services permettent de manipuler des fichiers présents sur des serveurs exactement comme s'ils se trouvaient sur l'ordinateur client. AFP (Apple Filling Protocol), appelé précédemment AppleTalk, est le protocole de partage de fichier développé par Apple. File Transfer Protocol (abr. FTP) est un service Internet qui permet de parcourir les fichiers enregistrés sur un serveur, de les télécharger ou d'envoyer des fichiers au serveur[47]. Le partage de fichiers était le service le plus courant en 1990, avec 70 % des serveurs[8]. Les serveurs de fichiers sont souvent inclus dans les systèmes d'exploitation.
Le partage de fichiers en pair à pair est une application de partage de fichier décentralisé, ou chaque client peut utiliser des fichiers qui sont enregistrés sur d'autres clients, et aussi mettre ses propres fichiers à disposition des autres clients. Napster et BitTorrent sont des services de partage pair-à-pair[48].
Un NAS est un équipement matériel / logiciel clé en main prévu exclusivement pour du partage de fichiers. Les NAS reconnaissent plusieurs protocoles[33].
Partage d'imprimantes
[modifier | modifier le code]Dans les entreprises, il y a souvent plusieurs ordinateurs, qui utilisent en même temps une imprimante branchée à un des ordinateurs du réseau. Le partage d'imprimantes permet d'économiser l'achat d'un matériel onéreux, et qui est souvent inutilisé pendant de longues périodes[49]. Certaines imprimantes sont équipées d'un serveur incorporé et se branchent directement au réseau[50]. Le service de partage de fichier Server Message Block (abr. SMB) permet également le partage des imprimantes. Common Unix Printing System (abr. CUPS) est un service de partage d'imprimantes. D'autres services utilisent le protocole Internet Printing Protocol (abr. IPP) ou Line Printer Daemon protocol (abr. LPD)[51].
Un serveur d'impression répond à des demandes en rapport à des travaux d'impression numérique. Les documents sont placés dans des files d'attente, puis envoyés aux imprimantes (voir spooling)[52].
Les demandes concernent la manipulation des files d'attente (une pour chaque imprimante) : lecture du contenu, ajout ou suppression de documents, mise en attente, priorités. Le serveur envoie automatiquement les documents un après l'autre à l'imprimante. Les documents peuvent subir des transformations de format en vue de les adapter aux caractéristiques de l'imprimante destinataire. PCL et PostScript sont des formats de données courant en impression numérique[52].
JetDirect est une gamme de serveurs d'impression sous forme d'une carte d'extension à poser dans les imprimantes Hewlett Packard[53].
Courrier électronique
[modifier | modifier le code]Le courrier électronique est un service d'envoi de courriers rapides dérivé du télégramme et du télex, mis en place par les services de poste en 1975[54]. Les réseaux Usenet, Fidonet, Bitnet puis Internet sont utilisés pour transporter du courrier électronique. Dans ces réseaux, chaque serveur transmet les messages à un autre serveur pour qu'ils s'échangent du courrier[55]. Simple Mail Transfer Protocol (abr. SMTP) est un protocole utilisé par les serveurs de messagerie pour s'échanger du courrier électronique, et Post Office Protocol (abr. POP) ou Internet Message Access Protocol (abr. IMAP) sont des protocoles utilisés par les clients pour récupérer les messages en attente dans les serveurs de courrier[56]. X.400 est un standard déposé par ISO en 1984, concernant le format de données du courrier électronique[57].
Un serveur de courrier répond à des demandes d'acheminement de messages électroniques. Le serveur stocke les messages arrivés, et transmet les messages en partance au destinataire (un autre serveur de courrier). Un serveur de courrier répond également aux demandes de manipulation et de récupération des messages stockés.
Les messages en partance sont souvent placés dans des files d'attente, et envoyés groupés à intervalles réguliers (voir spooling).
Un webmail est une application placée sur un serveur web, qui agit comme un client sur un serveur de courrier.
Services d'information - le world-wide web
[modifier | modifier le code]Le world wide web (abrégé www ou Web) est un service créé en 1990 dans le but de faciliter l'accès à l'information. Il offre à l'informateur le moyen de mettre à disposition ses informations, et offre aux usagers les moyens de retrouver facilement des informations connexes disséminées à travers le monde (anglais world wide)[58]. Le service utilise le protocole HTTP, et un logiciel client, le navigateur web, offre une manière uniforme d'accéder aux informations mises à disposition par différents serveurs selon les protocoles HTTP ainsi que Gopher, WAIS, FTP ou NNTP[59][réf. incomplète]. Les informations souvent mises à disposition par les serveurs web concernent l'économie, la finance, la formation, la santé, la culture, la musique, l'informatique, l'actualité, le sport, le divertissement, la vente, les voyages, la politique et la pornographie[60].
En 1998, le world wide web est le service dominant d'Internet, à l'origine de 75 % de l'activité du réseau, au côté du transfert de fichiers FTP et du courrier électronique[61]. Dix ans plus tard, il est suivi de près par le partage de fichiers en pair à pair[62],[63]. Initialement utilisé passivement pour rechercher et consulter de la documentation, le world wide web a évolué en 2005 vers Web 2.0, ou il est devenu un moyen technique de réaliser des services où le lecteur devient acteur et peut non seulement lire le contenu, mais également le modifier ou en ajouter - Facebook, YouTube ou Wikipédia sont des exemples de services Web 2.0[64].
Un serveur web répond à des demandes de consultation de documents tels que ceux du World wide web. Chaque consultation d'un nouveau document hypertexte par parcours d'un hyperlien dans le logiciel client (la plupart du temps un navigateur web) provoque l'envoi d'une nouvelle demande. Chaque demande peut être envoyée à un serveur différent.
En réponse à une demande, le serveur peut envoyer un document qui est stocké en tant que fichier dans les mémoires de masse du serveur ou exécuter un traitement, puis envoyer le résultat sous forme d'un document. HTTP et HTTPS sont les protocoles des serveurs web et HTML est le format de fichier prévu à cet effet.
En 1997, plus de 100 logiciels permettent de mettre en œuvre un serveur web. Ceux-ci fonctionnent sur des ordinateurs tels que compatible PC, Macintosh, HP 9000, IBM RISC/6000, Sun SPARC, Silicon Graphics ou VAX[65].
Apache et NGINX sont des serveurs webs pour les systèmes d'exploitation Unix et Windows. Internet Information Services (abrégé IIS) est un serveur web inclus dans les systèmes d'exploitation Windows.
Une application web est un logiciel applicatif composé d'un ensemble de traitements qui créent des documents instantanés à la suite de la réception de demandes de consultation. Le webmail, le wiki et le weblog sont des applications web.
Commerce électronique
[modifier | modifier le code]Depuis 1995, le world wide web est utilisé pour faire du commerce électronique (e-commerce). Des sociétés comme Amazon.com mettent leurs produits en vente sur un serveur, le consommateur y recherche ce qui l'intéresse, puis commande, envoie le numéro de sa carte de crédit, et reçoit la marchandise quelques jours plus tard. Cette utilisation business to consumer vient compléter l'échange de données informatisé déjà effectué depuis plusieurs années entre les sociétés commerciales (détaillants, producteurs, revendeurs…). Le commerce électronique permet de diminuer les coûts de la vente, mais pose un problème de sécurité : la nécessité pour le consommateur d'envoyer des informations confidentielles sur un réseau public[66]. En 2000, 80 % des ventes effectuées en commerce électronique concernent des produits informatiques, du divertissement, des voyages et des produits discount[67].
Base de données
[modifier | modifier le code]Le stockage d'information dans des bases de données est un service d'arrière-plan (back-end) offert par différents serveurs. Un logiciel d'avant-plan (front-end) émet une demande formulée dans le langage normalisé Structured Query Language (abr. SQL), puis la transmet au serveur d'arrière-plan[68]. Le logiciel d'avant-plan peut servir de client, d'interface graphique, ou offrir un autre service[69]. En architecture trois tiers, un service (e-commerce, médias, forums…) est fourni par un serveur d'avant-plan qui lui-même exploite les services d'un serveur de base de données en arrière-plan[70].
Il n'existe pas de technologie normalisée pour exploiter les services d'un serveur de base de données, et chaque firme fournit un kit pour connecter un logiciel d'avant-plan avec les serveurs de base de données produits par la firme[71], un kit qui s'utilise avec des middleware comme ODBC ou JDBC.
Un serveur de base de données répond à des demandes de manipulation de données stockées dans une ou plusieurs bases de données. Il s'agit typiquement de demandes de recherche, de tri, d'ajout, de modification ou de suppression de données[72].
Le serveur de base de données fait partie d'un système de gestion de base de données (abréviation SGBD) — logiciel qui manipule une base de données — qui comporte un logiciel client et un logiciel serveur. Les demandes de manipulation de données sont souvent générées par un logiciel de gestion sous forme de requêtes en langage SQL, puis le client les transmet au serveur en utilisant un protocole propre au SGBD[72],[73].
Oracle, Microsoft SQL Server ou MySQL sont des SGBD qui comportent un serveur de base de données[74].
Applications web
[modifier | modifier le code]Les serveurs d'application sont des outils de développement (frameworks) spécialement conçus pour faciliter la programmation d'applications web - des logiciels applicatifs en construction 3-tiers, dont l'interface graphique se manipule à l'aide d'un navigateur web à partir d'un client[70].
Les serveurs d'applications comportent généralement un kit permettant de connecter le logiciel avec un serveur de base de données, et un outil pour créer des interfaces graphiques sous forme de documents au format HTML[75] - le format des documents du world wide web, qui permet facilement de générer l'interface graphique d'un logiciel[76].
Le but de la construction en trois tiers est de retirer du logiciel client des traitements complexes et spécifiques à un domaine d'activité, pour les faire exécuter par un serveur dédié, où ils seront plus facile d'accès et pourront plus facilement être maintenus et améliorés[70]. L'utilisation du navigateur web comme logiciel client évite à l'utilisateur de devoir acquérir et installer un logiciel client spécifique, et permet la disponibilité immédiate de l'application à une large audience[76].
Les technologies Server Side Includes et Common Gateway Interface (abr. CGI), apparues en 1995[77] se révèlent insuffisantes pour réaliser des logiciels en architecture trois tiers, dans lesquels la puissance de calcul d'un serveur d'avant-plan (tiers du milieu) est utilisée pour réaliser des traitements complexes, et c'est ce créneau qui est rempli par les serveurs d'application[70]. En 1998, il existe plus de 40 produits de ce type[78].
Logiciel en tant que service
[modifier | modifier le code]La nouvelle tendance apparue au début des années 2000 est de ne plus considérer un logiciel applicatif comme un produit destiné à la vente, mais comme un service à disposition des utilisateurs. C'est l'optique software as a service (abr. SaaS). Au lieu de payer cher l'acquisition et l'installation d'un produit complexe, le consommateur loue un service mis à disposition par un fournisseur de services applicatifs ; les coûts d'installation et de maintenance sont pris en charge par le fournisseur. Les logiciels en tant que services sont mis à disposition des entreprises ainsi que des particuliers. Hotmail est un exemple de tels services[79].
Serveur de jeu
[modifier | modifier le code]Le serveur fait partie d'un logiciel de jeu en ligne multijoueur en architecture client-serveur. Il répond à des demandes de diffusion des opérations effectuées par chaque joueur. Le serveur valide les opérations de chaque joueur, arbitre le jeu, puis transmet les évolutions du jeu aux autres joueurs.
Le serveur de jeu stocke l'état du jeu en mémoire et l'entretient. Une copie de tout ou partie de l'état du jeu est envoyée aux joueurs qui entrent dans la partie.
Lors de la réception d'une demande — opération effectuée par un joueur — le serveur effectue divers traitements en vue de contrôler la conformité de l'opération par rapport aux règles du jeu, puis il effectue les modifications nécessaires sur l'état du jeu qu'il stocke en mémoire. Le serveur envoie ensuite aux différents clients la liste des évolutions effectuées sur l'état du jeu. Chaque client entretient sa propre copie de l'état du jeu.
Le protocole est différent pour chaque jeu en ligne et dépend de la vitesse d'évolution du jeu. Dans un jeu d'action comme Quake ou Half-Life le protocole est adapté à une évolution très rapide[80],[81]. Dans un jeu sur navigateur web, les protocoles sont ceux du web et le serveur est une application web.
Économie
[modifier | modifier le code]Marché
[modifier | modifier le code]Le marché des ordinateurs serveurs s'est établi à 53 milliards de dollars en 2008 (en baisse de 3,3 % sur l'année)[82].
Fabricants
[modifier | modifier le code]Les principaux fabricants d'ordinateurs serveurs sont (au 4e trimestre 2008, selon le cabinet d'études Gartner)[82] :
- IBM : 4,4 milliards de dollars de chiffre d'affaires serveurs au quatrième trimestre 2008 ;
- Hewlett Packard[83] : 3,9 milliards ;
- Dell[84] : 1,4 milliard ;
- Sun Microsystems : 1,2 milliard ;
- Fujitsu et Fujitsu Siemens : 0,6 milliard ;
- autres : 1,6 milliard.
En 2009, 35 % des serveurs sont équipés avec les systèmes d'exploitation Windows NT, 14 % sont installés avec Linux et 36 % sont installés avec un autre système d'exploitation de la famille UNIX. Les parts de Windows NT sur le marché des serveurs sont soutenus par la domination des systèmes d'exploitation Windows sur le marché des ordinateurs clients (plus de 80 % des parts de ce marché)[85].
Une solution adoptée par de plus en plus de particuliers pour acquérir un serveur consiste à recycler un vieux PC, en installant dessus une version serveur d'un système d'exploitation, souvent libre comme Debian ou Ubuntu server (famille UNIX)[réf. nécessaire].
- Differents types de serveurs
-
Premier serveur web.
-
Serveur MediaSmart de HP.
Essor des jeux vidéo
[modifier | modifier le code]Il est également possible de créer son propre serveur de jeu pour des jeux vidéo multijoueurs comme Minecraft[86], Garry's mod, CS: GO, GTA, Valheim[87], ARMA III. De fait, nombre de développeurs ou studios de développement n’investissent plus de moyens dans le multijoueur[réf. nécessaire]. Ils laissent cette tâche à la communauté, ce qui présente des avantages pour les deux parties : des coûts réduits, des serveurs créés par et pour la communauté, etc. On retrouve un grand nombre de serveurs de jeu sur Steam, mais il est également possible d'héberger un serveur de jeu dédié chez soi. Cela permet de profiter d'une liberté totale au niveau de la configuration, de fixer le règlement du serveur et de décider d'en faire un serveur public ou privé.
Notes et références
[modifier | modifier le code]- (en) « Netcraft March 2009 Web Server Survey », sur news.netcraft.com.
- (en) I. W. Draffan et F. Poole, Distributed data bases, CUP Archive, 1980, (ISBN 9780521230919)
- (en) National Research Council (U.S.). U.S. Postal Service Support Panel, Electronic message systems for the U.S. Postal Service: a report, National Academies, 1976.
- (en) Computerworld, 24 nov. 1980, vol. 14, n° 48 (ISSN 0010-4841)
- (en) InfoWorld, 25 mai 1981, vol. 3, n° 10 (ISSN 0199-6649)
- (en)AUUGN, juin 1988, vol. 9, n° 3.
- (en) « Distributed file systems overview », sur cs.chalmers.se
- (en) Computerworld, 16 oct. 1989, vol. 23, n° 42 (ISSN 0010-4841)
- (en) InfoWorld, 25 avril 1988, vol. 10, n° 17 (ISSN 0199-6649).
- (en) Marvin B. Sussman, Personal computers and the family, Routledge, 1985 (ISBN 9780866563611)
- (en) Popular Mechanics, mars 1981, vol. 155, n° 3 (ISSN 0032-4558)
- (en) Jeremy Malcolm, Multi-Stakeholder Governance and the Internet Governance Forum, Consumers International, 2008 (ISBN 9780980508406)
- InfoWorld, 12 juin 1989, vol. 11, n° 24 (ISSN 0199-6649)
- (en) Brian Kahin et James Keller, Coordinating the Internet, MIT Press, 1997 (ISBN 9780262611367)
- (en) InfoWorld, 14 septembre 1992, vol. 14, n° 37 (ISSN 0199-6649).
- (en) InfoWorld, 21 nov. 1994, vol. 16, n° 47 (ISSN 0199-6649)
- (en)CIO, mai 1991, vol. 4, n° 8
- (en) Network World, , vol. 5, no 47 (ISSN 0887-7661)
- (en) CIO, , vol. 8, no 5.
- (en)CIO, , vol. 2, no 12 (ISSN 0894-9301)
- PPUR presses polytechniques, 2005 Impact des décisions informatiques: Introduction à l'informatique pour décideur non informaticien (ISBN 978-2-88074-610-0), p. 19.
- (en) David G. Messerschmitt, Networked applications: a guide to the new computing infrastructure, Morgan Kaufmann, 1999 (ISBN 978-1-55860-536-7), chapitre 3.2
- (en) Weijia Jia et Wanlei Zhou, Distributed network systems: from concepts to implementations, Springer, 2005 (ISBN 978-0-387-23839-5), p. 16.
- (en) Michael Graves, The Complete Guide to Networking and Network, Cengage Learnin, 2003 (ISBN 978-1-4018-3339-8), chapitre 2.
- (en) Patrick Killelea, Web performance tuning, O'Reilly Media, Inc., 2002 (ISBN 9780596001728)
- (en) Uyless D. Black, Sams Teach Yourself Networking in 24 Hours, Sams Publishing, 2009 (ISBN 9780768685763)
- (en) René J. Chevance, Server architectures: multiprocessors, clusters, parallel systems, Web servers, and storage solutions, Digital Press, 2005 (ISBN 9781555583330).
- (en) James Stanger - Alan Grayson, CIW: Server Administration Study Guide: Exam 1D0-450, John Wiley and Sons, 2006 (ISBN 9780782152067)
- (en) Stephen D. Burd, Systems Architecture, Cengage Learning, 2010 (ISBN 9780538475334).
- (en) Martin N Baily et Clifford Winston, Brookings Papers on Economic Activity 1996: Microeconomics (ISBN 978-0-8157-1244-2), p. 31.
- (en) « Year 2008 Server OS Reliability Survey »
- (en) « Introducing Servers ».
- (en) Doug Lowe, Networking all-in-one desk reference for dummies, For Dummies, 2005 (ISBN 978-0-7645-9939-2), p. 57
- (en) J. Koomey. Estimating total power consumption by servers in the U.S. and the world. Technical Report Final Report, Lawrence Berkeley National Laboratory, février 2007
- (en) Kenneth Baldauf - Ralph Stair, Succeeding with Technology, Cengage Learning, 2010 (ISBN 9780538745789)
- (en) Ralph M. Stair - George Reynolds - George W. Reynolds, Fundamentals of Information Systems, Cengage Learning, 2008 (ISBN 9781423925811)
- (en) Terry William Ogletree, Upgrading and repairing networks, Que Publishing, 2004 (ISBN 9780789728173)
- (en) Curt White, Data Communications and Computer Networks: A Business User's Approach, Cengage Learning, 2010 (ISBN 9780538452618)
- (en) Hossein Bidgoli, The Internet encyclopedia, volume 2, John Wiley and Sons, 2004 (ISBN 9780471222040)
- (en) Buddy Shipley, Installer's Guide to Local Area Networks, Cengage Learning, 2003 (ISBN 9780766833746)
- (en) Drew Bird, Mike Harwood, Network+ Training Guide, Que Publishing, 2002 (ISBN 9780789728302)
- (en) Béla G. Lipták, Instrument Engineers' Handbook: Process Software and Digital Networks, CRC Press, 2003 (ISBN 978-0-8493-1082-9), p. 201
- Benjamin Bayart, « Ce qu'Ubuntu peut faire pour sauver Internet », (consulté le )
- (en) Mark Ciampa, Security+ Guide to Network Security Fundamentals, Cengage Learning, 2008 (ISBN 9781428340664)
- (en) Karen Scarfone, Guide to General Server Security: Recommendations of the National Institute of Standards and Technology, DIANE Publishing, 2009 (ISBN 9781437913507)
- (en) Doug Lowe, Networking for Dummies, Les réseaux pour les nuls, For Dummies, 2007 (ISBN 978-0-470-05620-2), p. 70
- (en) Glenn Fleishman, Take Control of Sharing Files in Tiger, TidBITS, 2005 (ISBN 9780975950340)
- (en) Peer-to-Peer File-Sharing Technology: Consumer Protection and Competition Issues: A Federal Trade Commission Staff Workshop Report (June 2005), DIANE Publishing (ISBN 9781428952546)
- (en) Ann E. Barron, Gary W. Orwig, New technologies for education: a beginner's guide, Libraries Unlimited, 1997 (ISBN 9781563084775)
- (en) Charles J. Brooks, A+ Certification Training Guide: (Exam 220-301, Exam 220-302), Que Publishing - 2003, (ISBN 9780789730442)
- (en) Sander Van Vugt, Beginning Ubuntu Server Administration: From Novice to Professional, Apress, 2007 (ISBN 9781590599235)
- (en) Todd Radermacher et Matthew Gast, Network printing, O'Reilly Media, Inc., 2000 (ISBN 978-0-596-00038-7)
- (en) « HP JetDirect print server overview »
- (en) Electronic message systems for the U.S. Postal Service: a report, National Academies - 1976
- (en) InfoWorld, 28 nov. 1988, Vol. 10, N° 48 (ISSN 0199-6649)
- (en) InfoWorld, 4 sept. 1989, Vol. 11, N° 36 (ISSN 0199-6649)
- (en) InfoWorld, 2 juil. 1990, vol. 12, N° 27 (ISSN 0199-6649)
- (en) National Research Council (U.S.), RENAISSANCE Committee, Realizing the information future: the Internet and beyond, volume 1994, partie 2, National Academies, 1994.
- (en) , AUUGN, déc. 1993, vol. 14, N° 6.
- (en) OECD, Information Technology Outlook 2004, OECD Publishing, 2004 (ISBN 9789264016873).
- (en) K. Claffy, « The nature of the beast: recent traffic measurements from an Internet backbone », sur caida.org, Center for Applied Internet Data Analysis, (consulté le ).
- Web : 35 % d'usagers pour 20 % du trafic ; pair à pair : 5 % d'usagers pour 35 % du trafic.
- (en) Jordi Domingo-Pascual, Yuval Shavitt et Steve Uhlig, Traffic Monitoring and Analysis: Third International Workshop, TMA 2011, Vienna, Austria, Springer, 2011, (ISBN 9783642203046).
- (en) Amy Shuen, Web 2.0: a strategy guide, O'Reilly Media Inc., 2008 (ISBN 9780596529963)
- (en) S. M. H. Collin, Setting up a Web server, Elsevier, 1997 (ISBN 9781555581749)
- (en)CIO, 15 juin 1999, vol. 12, N° 17 (ISSN 0894-9301)
- (en) J. Christopher Westland - Theodore H. K. Clark, Global electronic commerce: theory and case studies, MIT Press, 1999 (ISBN 9780262232050)
- (en)CIO, 1er sept, vol. 7, N° 20, 1994.
- (en) Computerworld, vol. 23, N° 50, 11 décembre 1989 (ISSN 0010-4841).
- (en) Jason Pritchard, COM and CORBA side by side: architectures, strategies, and implementations, Addison-Wesley Professional, 1999 (ISBN 9780201379457)
- (en) InfoWorld, 26 févr. 1990, vol. 12, N° 9, (ISSN 0199-6649).
- (en) Chin-Sheng Chen, Joaquim Filipe, Isabel Seruca et José Cordeiro Enterprise information systems VII, Springer, 2006 (ISBN 978-1-4020-5323-8)
- (en) « IETF Network Database Protocol Draft » [PDF].
- (en) Phillip I. Good, A manager's guide to the design and conduct of clinical trials, John Wiley and Sons, 2002 (ISBN 978-0-471-22615-4), p. 133
- (en) InfoWorld, 4 sept. 1995, vol. 17 - N° 36, (ISSN 0199-6649)
- (en) Rick Strahl, Internet Applications with Visual FoxPro 6.0, Hentzenwerke, 1999 (ISBN 9780965509398)
- (en)AUUG Conference Proceedings, sept. 1995, AUUG, Inc.
- (en) InfoWorld, 7 déc. 1998, vol. 20, N° 49 (ISSN 0199-6649)
- (en) International Engineering Consortium, The Business of Broadband: Access and Applications, Intl. Engineering Consortiu, 2003 (ISBN 9781931695152)
- (en) « Technology strategies for multiplayer games »
- (en) « Distributed multiplayer game system »
- Gartner in Les Échos, 17 mars 2009, p. 24
- Gamme « Proliant », « Integrity », « HP 9000 »,…
- http://www.dell.com/poweredge : Gamme « Dell PowerEdge »
- (en) « IDC Press Release - Worldwide server market »
- « Comment créer son Serveur Minecraft ? », sur Minecraft.fr, (consulté le )
- « Créer un serveur Valheim : configuration requise et consignes », sur IONOS Digitalguide (consulté le )
Voir aussi
[modifier | modifier le code]Articles connexes
[modifier | modifier le code]Liens externes
[modifier | modifier le code]
- Notices dans des dictionnaires ou encyclopédies généralistes :
- R. Arzoomanian, « 66 ans de serveurs en images », Tom's France FR (consulté le )
- 1&1, « Qu'est-ce qu'un serveur Web »
- ServCompare : "Comment trouver un serveur de jeu idéal"
Bibliographie
[modifier | modifier le code]- (en) Douglas E. Comer et David L. Stevens, Vol III : Client-Server Programming and Applications, Department of Computer Sciences, Purdue University, West Lafayette, IN 47907, Prentice Hall, , 519 p. (ISBN 0-13-474222-2)
- (en) Yadav Subhash Chandra, An Introduction to Client/Server Computing, New Age International (ISBN 978-81-224-2689-2)
- (en) Craig Mindrum, Netcentric and client/server computing: a practical guide, CRC Press, 1998 (ISBN 978-0-8493-9967-1)