Serveur informatique

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Serveur.
Des serveurs empilés

Un serveur informatique est un dispositif informatique matériel ou logiciel qui offre des services, à différents clients. Les services les plus courants sont :

Un serveur fonctionne en permanence, répondant 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 à ce service.

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 mars 2014 plus de 412 millions de serveurs web dans le monde, et leur nombre est en augmentation constante depuis l'invention du World Wide Web en 1995[1].

Histoire[modifier | modifier le code]

  • Au milieu des années 1970, les systèmes informatiques dans lesquels plusieurs ordinateurs coopèrent, sont devenus réalisables à la suite de la baisse de prix et de l'augmentation de la puissance des ordinateurs. Les prix abordables des petits mini-ordinateurs ou des micro-ordinateurs permettaient 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, de l'Internet, et de l'architecture client-serveur sont des facteurs qui ont influencé 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 était 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 (abr. NFS), un service qui permet l'accès aux fichiers de différents ordinateurs d'un réseau local (abr. 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 ont facilité les échanges de fichiers entre utilisateurs[7]. Utilisés dans les institutions, ils ont permis à 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 4 serveurs dans 4 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 le système d'exploitation Unix, le réseau est alors 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 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 pas 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].

Le client-serveur et le downsizing[modifier | modifier le code]

  • 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 mainframe 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 mainframes 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 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]

Le serveur et les clients

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].

L'architecture client/serveur est un modèle d'organisation d'une application distribuée dans laquelle 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 scalabilité - capacité d'adaptation à une augmentation de la demande. Les serveurs s'occupent de plusieurs utilisateurs simultanément, et ont 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, l'objectif visé étant la disponibilité continue 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 du à 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 mainframe 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].

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 mainframe 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 mainframe qui s'occupe de 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 (mainframe)[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].

Les appareils serveur (anglais server appliance) sont des appareils dans un boitier, 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 challenge 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 et Windows 2008), Novell NetWare et la famille Unix, parmi lesquels il y a Linux, Mac OS X 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 les professionnels, 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]

Article connexe : sécurité informatique.

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 base 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 protections 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és 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èmes, 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 patches 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]

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 (en), 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).

Partage de fichiers[modifier | modifier le code]

Article détaillé : Serveur de fichiers.

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. 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]

Article détaillé : Serveur d'impression.

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]

Article détaillé : courrier électronique.

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 appelle à intervalle régulier un autre serveur, souvent à l'aide d'un modem, pour qu'ils s'échangent du courrier[55]. Simple Mail Transfer Protocol (abr. SMTP) est un protocole utilisé par les serveurs de poste pour s'échanger du courrier électronique, et Post Office Protocol (abr. POP) est un protocole utilisé 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]

Article détaillé : world wide web.

Le world wide web (abr. 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 disé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 mis à disposition par différents serveurs selon les protocoles HTTP ainsi que Gopher, WAIS, FTP ou NNTP[59]. 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 de l'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, il existe plus de 100 logiciels qui mettent 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 est un serveur web 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 (backend) 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]

Article détaillé : application web.

Les serveurs d'application sont des outils de développement (frameworks) spécialement concus 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]

Article détaillé : software as a service.

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]

Article connexe : Multi-user dungeon.

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] :

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, la plupart libres comme debian ou ubuntu server.

Photos[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. (en) « Netcraft March 2009 Web Server Survey »
  2. (en)I. W. Draffan et F. Poole,Distributed data bases,CUP Archive, 1980,(ISBN 9780521230919)
  3. (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
  4. (en) Computerworld,24 nov. 1980,Vol. 14 - N° 48,(ISSN 0010-4841)
  5. (en) InfoWorld,25 mai 1981,Vol. 3 - N° 10, (ISSN 0199-6649)
  6. (en)AUUGN,juin 1988,Vol. 9 - N° 3
  7. (en) « Distributed file systems overview »
  8. a et b (en) Computerworld,16 oct. 1989,Vol. 23 - N° 42,(ISSN 0010-4841)
  9. (en) InfoWorld,25 avr. 1988,Vol. 10 - N° 17,(ISSN 0199-6649)
  10. (en) Marvin B. Sussman,Personal computers and the family,Routledge - 1985,(ISBN 9780866563611)
  11. (en) Popular Mechanics,mars 1981,Vol. 155 - N° 3,(ISSN 0032-4558)
  12. (en) Jeremy Malcolm,Multi-Stakeholder Governance and the Internet Governance Forum,Consumers International, 2008,(ISBN 9780980508406)
  13. InfoWorld,12 juin 1989,Vol. 11 - N° 24,(ISSN 0199-6649)
  14. (en) Brian Kahin et James Keller,Coordinating the Internet,MIT Press, 1997,(ISBN 9780262611367)
  15. a et b (en) InfoWorld,14 sept. 1992,Vol. 14 - N° 37,(ISSN 0199-6649)
  16. (en) InfoWorld,21 nov. 1994,Vol. 16 - N° 47,(ISSN 0199-6649)
  17. a et b (en)CIO,mai 1991,Vol. 4 - N° 8
  18. (en) Network World21 nov. 1988,Vol. 5 - N° 47,(ISSN 0887-7661)
  19. a et b (en)CIO,1 déc. 1994, Vol. 8 - N° 5
  20. (en)CIO,sept. 1989,Vol. 2 - N° 12,(ISSN 0894-9301)
  21. PPUR presses polytechniques, 2005 Impact des décisions informatiques: Introduction à l'informatique pour décideur non informaticien, (ISBN 978-2-88074-610-0), page 19
  22. (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
  23. a et b (en) Weijia Jia et Wanlei Zhou, Distributed network systems: from concepts to implementations,Springer - 2005, (ISBN 978-0-387-23839-5), page 16
  24. (en) Michael Graves, The Complete Guide to Networking and Network, Cengage Learnin - 2003, (ISBN 978-1-4018-3339-8), chapitre 2
  25. a et b (en) Patrick Killelea,Web performance tuning,O'Reilly Media, Inc. - 2002,(ISBN 9780596001728)
  26. a, b, c, d et e (en) Uyless D. Black,Sams Teach Yourself Networking in 24 Hours,Sams Publishing - 2009,(ISBN 9780768685763)
  27. a et b (en) René J. Chevance,Server architectures: multiprocessors, clusters, parallel systems, Web servers, and storage solutions,Digital Press - 2005,(ISBN 9781555583330)
  28. a et b (en) James Stanger - Alan Grayson,CIW: Server Administration Study Guide: Exam 1D0-450,John Wiley and Sons - 2006,(ISBN 9780782152067)
  29. a, b et c (en) Stephen D. Burd,Systems Architecture,Cengage Learning - 2010,(ISBN 9780538475334)
  30. (en) Martin N Baily et Clifford Winston, Brookings Papers on Economic Activity 1996: Microeconomics, (ISBN 978-0-8157-1244-2), page 31
  31. (en) « Year 2008 Server OS Reliability Survey »
  32. (en) « Introducing Servers »
  33. a et b (en) Doug Lowe, Networking all-in-one desk reference for dummies , For Dummies - 2005, (ISBN 978-0-7645-9939-2), page 57
  34. (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
  35. (en) Kenneth Baldauf - Ralph Stair,Succeeding with Technology,Cengage Learning - 2010,(ISBN 9780538745789)
  36. (en) Ralph M. Stair - George Reynolds - George W. Reynolds,Fundamentals of Information Systems,Cengage Learning - 2008,(ISBN 9781423925811)
  37. (en) Terry William Ogletree,Upgrading and repairing networks,Que Publishing - 2004,(ISBN 9780789728173)
  38. (en) Curt White,Data Communications and Computer Networks: A Business User's Approach,Cengage Learning - 2010,(ISBN 9780538452618)
  39. (en) Hossein Bidgoli,The Internet encyclopedia, Volume 2,John Wiley and Sons - 2004,(ISBN 9780471222040)
  40. a et b (en) Buddy Shipley,Installer's Guide to Local Area Networks,Cengage Learning - 2003,(ISBN 9780766833746)
  41. a et b (en) Drew Bird, Mike Harwood,Network+ Training Guide,Que Publishing - 2002,(ISBN 9780789728302)
  42. (en) Béla G. Lipták, Instrument Engineers' Handbook: Process Software and Digital Networks, CRC Press - 2003, (ISBN 978-0-8493-1082-9), page 201
  43. Benjamin Bayart, « Ce qu'Ubuntu peut faire pour sauver Internet »,‎ 2010 (consulté le 21 décembre 2010)
  44. (en) Mark Ciampa,Security+ Guide to Network Security Fundamentals,Cengage Learning - 2008,(ISBN 9781428340664)
  45. a, b et c (en) Karen Scarfone,Guide to General Server Security: Recommendations of the National Institute of Standards and Technology,DIANE Publishing - 2009,(ISBN 9781437913507)
  46. (en) Doug Lowe, Networking for Dummies, Les réseaux pour les nuls, For Dummies, 2007 (ISBN 978-0-470-05620-2), page 70
  47. (en) Glenn Fleishman,Take Control of Sharing Files in Tiger,TidBITS, 2005,(ISBN 9780975950340)
  48. (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)
  49. (en) Ann E. Barron, Gary W. Orwig,New technologies for education: a beginner's guide,Libraries Unlimited - 1997,(ISBN 9781563084775)
  50. (en) Charles J. Brooks,A+ Certification Training Guide: (Exam 220-301, Exam 220-302),Que Publishing - 2003,(ISBN 9780789730442)
  51. (en) Sander Van Vugt,Beginning Ubuntu Server Administration: From Novice to Professional,Apress - 2007,(ISBN 9781590599235)
  52. a et b (en) Todd Radermacher et Matthew Gast, Network printing, O'Reilly Media, Inc. - 2000, (ISBN 978-0-596-00038-7)
  53. (en) « HP JetDirect print server overview »
  54. (en) Electronic message systems for the U.S. Postal Service: a report, National Academies - 1976
  55. (en) InfoWorld,28 nov. 1988,Vol. 10 - N° 48,(ISSN 0199-6649)
  56. (en) InfoWorld,4 sept. 1989,Vol. 11 - N° 36,(ISSN 0199-6649)
  57. (en) InfoWorld,2 juil. 1990,Vol. 12 - N° 27,(ISSN 0199-6649)
  58. (en) National Research Council (U.S.). NRENAISSANCE Committee,Realizing the information future: the Internet and beyond, Volume 1994,Partie 2 ,National Academies - 1994
  59. (en)AUUGN,déc. 1993,Vol. 14 - N° 6
  60. (en)OECD,Information Technology Outlook 2004,OECD Publishing - 2004,(ISBN 9789264016873)
  61. http://www.caida.org/publications/papers/1998/Inet98/Inet98.html
  62. web : 35 % d'usagers pour 20 % du trafic ; pair à pair : 5 % d'usagers pour 35 % du trafic
  63. (en) Jordi Domingo-Pascual - Yuval Shavitt et Steve Uhlig,Traffic Monitoring and Analysis: Third International Workshop, TMA 2011, Vienna, Austria,Springer - 2011,(ISBN 9783642203046)
  64. (en) Amy Shuen,Web 2.0: a strategy guide,O'Reilly Media Inc. - 2008,(ISBN 9780596529963)
  65. (en)S. M. H. Collin,Setting up a Web server,Elsevier - 1997,(ISBN 9781555581749)
  66. (en)CIO,15 juin 1999,Vol. 12 - N° 17,(ISSN 0894-9301)
  67. (en)J. Christopher Westland - Theodore H. K. Clark,Global electronic commerce: theory and case studies,MIT Press - 1999,(ISBN 9780262232050)
  68. (en)CIO,1 sept. 1994,Vol. 7 - N° 20
  69. (en) Computerworld,11 déc. 1989,Vol. 23 - N° 50,(ISSN 0010-4841)
  70. a, b, c et d (en) Jason Pritchard,COM and CORBA side by side: architectures, strategies, and implementations,Addison-Wesley Professional - 1999,(ISBN 9780201379457)
  71. (en) InfoWorld,26 févr. 1990,Vol. 12 - N° 9,(ISSN 0199-6649)
  72. a et b (en) Chin-Sheng Chen, Joaquim Filipe, Isabel Seruca et José Cordeiro Enterprise information systems VII, Springer - 2006, (ISBN 978-1-4020-5323-8)
  73. (en) « IETF Network Database Protocol Draft »
  74. (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), page 133
  75. (en) InfoWorld,4 sept. 1995,Vol. 17 - N° 36,(ISSN 0199-6649)
  76. a et b (en) Rick Strahl,Internet Applications with Visual FoxPro 6.0,Hentzenwerke - 1999,(ISBN 9780965509398)
  77. (en)AUUG Conference Proceedings,sept. 1995,AUUG, Inc.
  78. (en) InfoWorld,7 déc. 1998,Vol. 20 - N° 49,(ISSN 0199-6639)
  79. (en) International Engineering Consortium, The Business of Broadband: Access and Applications,Intl. Engineering Consortiu - 2003,(ISBN 9781931695152)
  80. (en) « Technology strategies for multiplayer games »
  81. (en) « Distributed multiplayer game system »
  82. a et b Gartner in Les Echos, 17 mars 2009, page 24
  83. Gamme « Proliant », « Integrity », « HP 9000 »,...
  84. http://www.dell.com/poweredge : Gamme « Dell PowerEdge »
  85. (en) « IDC Press Release - Worldwide server market »

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Sur les autres projets Wikimedia :

Liens externes[modifier | modifier le code]

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,‎ 1993 (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)