LINUX ET LES ARCHITECTURES

À BASE DE CLIENTS LÉGERS


Stéfane FERMIGIER

Nous présentons les principales architectures à base de clients légers ainsi que leur rapport avec le système d'exploitation libre Linux.

1. INTRODUCTION

Les PC sous Windows coûtent cher à maintenir. Il n'est pas rare qu'un changement de configuration réseau ou que le déploiement d'une nouvelle application impose à l'administrateur système d'intervenir physiquement sur chacun des postes de travail dont il a la charge. Autre source de perte de temps : les virus et les incompatibilités entre applications ou entre DLL qui nécessitent souvent de procéder à des réinstallations complètes du système d'exploitation et des applications.

L'informatique en réseau doit permettre en théorie de simplifier considérablement la plupart des tâches d'administration, et l'introduction d'un serveur Novell, Windows NT ou Linux (avec le logiciel Samba) dans un réseau local est un facteur de stabilité et de réduction des coûts d'exploitation. Il s'avère pourtant en pratique qu'un grand nombre des problèmes liés à l'administration individuelle des postes de travail subsistent dans ces environnements.

Une réponse qui a émergé ces dernières années est la notion de client léger ("thin client") qui renforce le rôle des serveurs et vise l'"administration zéro" sur les postes clients.

Cette notion recouvre en fait plusieurs types d'architectures nettement différents, que nous allons à présent passer en revue.

2. LES SOLUTIONS À BASE DE TERMINAUX GRAPHIQUES PASSIFS

Ces solutions reposent sur un serveur puissant sur lequel sont exécutées les applications et sur des postes de travail dont le rôle se réduit à l'affichage des applications et à l'interaction avec l'utilisateur (clavier, souris).

2.1 Le système X Window

Le système X Window (aussi baptisé X11 ou X Window System) développé au MIT dans les années 80 et incorporé dans la totalité des systèmes Unix aujourd'hui, y compris Linux, a été conçu dès l'origine pour fonctionner en utilisation déportée.

Les postes clients que l'on trouve le plus souvent aujourd'hui sont soit des "terminaux X" dédiés, qui sont souvent des matériels conçus spécifiquement à cet effet, donc construits en petites quantité, soit des PC standards sous Linux.

Des logiciels commerciaux et libres permettent également d'utiliser des PC sous Windows ou des Macintosh comme clients X Window.

2.2 Le protocle ICA

Le protocole ICA développé par la société Citrix, présente une approche similaire au système X Window pour le monde Windows. Il permet d'exécuter des applications Windows (Win16 et Win32) sur un serveur Windows NT et d'en déporter l'utilisation grâce à un logiciel client sur des postes qui peuvent tourner sous Linux, Windows, OS/2, MacOS ou encore sur des terminaux dédiés.

Un avantage technologique important du protocole ICA est qu'il nécessite une bande passante très réduite (en moyenne, 20 Ko/s pour une utilisation bureautique) ce qui lui permet d'être utilisé sur de simples liaisons téléphoniques (modem ou RNIS).

Son inconvénient majeur est qu'il est essentiellement limité à l'heure actuelle à l'exécution d'applications Windows NT.

2.3 Windows Terminal Server Edition

Windows Terminal Server Edition (Windows TSE) est un système en cours d'expérimentation par Microsoft qui est similaire à la technologie ICA de Citrix.

2.4 Les solutions sous Linux

Le système X Window est l'interface graphique par défaut de Linux, et il est très facile à partir d'une installation de Linux standard de transformer un PC en terminal X se connectant sur un serveur (Linux ou Unix).

Un kit réalisé par Jacques Gélinas permet par ailleurs de convertir en terminal X des postes de travail déclassés pour un usage traditionnel. Nos propres expérimentations montre que ces solutions commencent à devenir pleinement satisfaisantes à partir de 486/66 avec 16 Mo de RAM.

Un client pour le protocole ICA étant disponible gratuitement pour Linux, il est donc possible à un poste sous Linux de se connecter indifféremment à un serveur Unix ou à un serveur Windows NT.

3. LES SOLUTIONS À BASE DE TERMINAUX ACTIFS

Les deux défauts principaux des solutions basées sur les clients passifs sont qu'elles nécessitent d'une part des serveurs très puissants, souvent multiprocesseurs et avec beaucoup de mémoire, pour exécuter simultanément les applications de tous les utilisateurs, d'autre part une bande passante importante, notamment dans le cas des applications multimédia. Ces dernières impliquent en effet le transfert de données graphiques et sonores importantes.

Il a donc été envisagé de concevoir des terminaux sur lesquels les applications s'exécutent en local, comme dans le modèle traditionnel, mais qui présentent néanmoins le bénéfice de l'administration zéro que revendiquent les solutions de clients passifs, en déportant toute l'administration des postes au niveau des serveurs.

3.1 Le Network Computer

Le Network Computer est une architecture proposée par Sun Microsystems et Oracle depuis environ 3 ans et qui repose sur le langage Java.

Il s'avère à l'usage que les implémentations actuelles du langage Java n'offrent pas la puissance et la stabilité nécessaires à l'exécution d'applications complexes, comme en témoigne l'abandon par Lotus et Corel du développement de leurs suites bureautiques 100 % Java.

Malgré ces défauts constatés, on peut remarquer que Linux constitue une excellente base pour constituer des Nework Computers, puisque l'ensemble, normalisé par l'Open Group, des composants logiciels qui constituent un Network Computer est disponible pour Linux et sous forme de logiciel libre.

Le principal problème des Network Computer est la quasi-absence d'applications clientes Java natives à l'heure actuelle.

3.2 La Linbox Network Architecture

La Linbox Network Architecture (LNA) repose quant à elle sur des postes clients de type PC sous Linux sans disque dur qui se connectent sur un serveur Linux. L'OS des postes clients, puis les applications Linux natives, sont téléchargées depuis le serveur. Il est par ailleurs possible d'exécuter sur les postes clients des applications Windows ou MacOS natives grâce à un virtualiseur de matériel, et d'exécuter des applications Linux, Unix ou Windows en déporté depuis le même serveur Linux ou depuis un autre grâce aux protocoles X11 et ICA.

Grâce aux progrès dans les performances des réseaux locaux, où l'Ethernet à 100 Mbits/s est maintenant la norme, l'absence de disque dur sur les postes clients n'est pas une pénalité en termes de performances. Le fait que le serveur soit doté d'une quantité confortable de mémoire vive est même plutôt un facteur d'augmentation des performances.

3.3 MacOS X

Apple propose sous une forme propriétaire une architecture comparable à la Linbox Network Architecture, sans la mettre en avant à l'heure actuelle.

3.4 Le navigateur Web, client universel

Une dernière approche du client léger consiste à constater que pour la plupart des applications, notamment les applications de gestion, les formulaires d'acquisition des données peuvent être remplacés sans pertes de fonctionnalités par de simples pages HTML. Ainsi les applications traditionnelles sont remplacées par un serveur Web avec un système de génération de pages dynamiques, scripts CGI ou serveur d'application.

Cette approche est transversale aux deux approches citées précédemment, puisqu'elle nécessite d'avoir sur les postes clients un environnement capable d'exécuter au moins un navigateur Web.

On pourra lire à ce sujet le livre d'Alain Lefebvre Web client-serveur : le triomphe du client léger aux édition Eyrolles.

4. COMPARAISON DES COÛTS

Les clients légers X11 ou ICA coûtent sensiblement le même prix que des PC d'entrée de gammes, le prix d'achat des postes clients n'est donc pas un critère de choix important. L'avantage des clients sans disque dur sur les PC avec disque, outre le prix d'achat, est surtout qu'ils permettent de s'affranchir de l'élément mécanique le plus sujet aux pannes parmi les composants actuels.

Les serveurs pour terminaux passifs coûtent en revanche beaucoup plus cher que les serveurs pour architectures de type LNA, car ils doivent exécuter de nombreuses applications simultanément.

Les solutions propriétaires de clients légers, comme ICA ou Windows TSE, induisent de plus des coûts de licences d'utilisations par poste qui s'avèrent très élevés.

A contrario, l'usage de logiciels libres permet de réduire considérablement les prix des logiciels et d'éviter de mettre un fournisseur en position d'imposer sa politique tarifaire sans faire jouer la concurrence.

5. CONCLUSION

Le système Linux s'insère parfaitement dans les différentes architectures de clients légers qui existent à l'heure actuelle. Les deux solutions qui ont notre préférence sont d'une part la LNA, lorsque l'on achète du matériel neuf, et d'autre part les clients X11, lorsqu'on souhaite reconvertir un parc existant ou récupéré auprès de mécènes.

Les approches de type LNA sont plus efficaces dans le multimédia et permettent, dans le cas de l'achat de matériel neuf totalement standard, une réduction des coûts de 50 % à 75 % par rapport aux solutions traditionnelles.

6. RÉFÉRENCES

La Linbox Network Architecture : http://www.linbox.com/products/lna/

L'offre de Citrix : http://www.citrix.com/

Le système X Window : http://www.x.org/ ou http://www.xfree86.org/

Les Network Computers : http://www.faqs.org/faqs/network-computers/faq/, http://www.opennc.com/ ou http://www.nc.com/

Stéfane FERMIGIER
AFUL
sf@fermigier.com

Paru dans la Revue de l'EPI  n° 96 de Décembre 1999.

____________
(12 février 2000)