[LinuxFocus-icon]
LinuxFocus article number 230
http://linuxfocus.org

Georges Tarbouriech
par Georges Tarbouriech
<georges.t/at/linuxfocus.org>

L´auteur:

Georges est un vieil utilisateur d'Unix. Il apprécie ces produits réellement novateurs capables de transformer notre façon de travailler.



Traduit en Français par:
Georges Tarbouriech <georges.t/at/linuxfocus.org>

IOS, une nouvelle REBOLution

MySQL and Perl

Résumé:

IOS signifie Internet Operating System. C'est un produit commercial destiné à faciliter le travail collaboratif. Rebol est le concepteur de cet incroyable logiciel. LinuxFocus a eu la chance de pouvoir tester une version d'évaluation limitée à 30 jours. Cet article essaie de présenter cette REBOLution.


_________________ _________________ _________________

 

L'idée

Parmi beaucoup d'autres choses, REBOL a une particularité unique : la taille extrêmement réduite des applications que vous pouvez développer avec le langage. Jetez un oeil sur ce "vieil" article pour découvrir sa puissance et la facilité avec laquelle il est possible de développer des applications fonctionnelles pour environ 40 plates-formes. Rebol/View, par exemple, fait 587 Ko et vous permet de développer pratiquement tout ce que vous voulez. Vous pouvez le télécharger gratuitement depuis le site de Rebol. Il est aussi possible de télécharger plus de 300 scripts d'exemple qui vous apprendront tout.
Vous ne trouverez aucun autre moyen de créer des applications aussi petites quel que soit le langage de programmation utilisé. IOS est né de cette philosophie. C'est-à-dire, un serveur dédié vous fournit le nécessaire, et en tant que client vous bénéficiez d'applications distribuées sur un bureau ultra-léger, utilisable sous environ 25 OS différents. Bien évidemment, il est possible de développer ses propres applications en fonction des besoins. Toutefois, c'est un résumé très bref dans la mesure où IOS est beaucoup plus que ça.

 

Les faits

De nombreux jeunes gens (et des plus agés) doivent penser : de quoi il parle ? Qu'est-ce qu'on en a à faire de la taille ? Aujourd'hui, nous avons des disques de 20 ou 40 Go, des tonnes de RAM, des processeurs "de course", pourquoi devrions-nous "faire" petit ? Ils ont sans doute envie de me dire : allons, papy, les temps ont changé ! Rigoureusement exact... MAIS qu'en est-il d'Internet ?
Vous avez sans doute remarqué que de plus en plus de monde utilise Internet. Nombreux sont ceux qui utilisent des modems pour se connecter aux sites web, pour envoyer et recevoir leur courrier, etc. Et de toute évidence, tout ceci consomme une grande quantité de bande passante. Ca signifie que même avec le câble ou l'ADSL, les connexions sont de plus en plus lentes.
Je sais, tout le monde s'en moque ! Qui fait "l'effort" d'envoyer du texte ou du HTML à la place des ces @#%*$ de documents Word ou Excel, ou d'envoyer des images JPEG à la place des BMP ? Très peu de monde !!! Ne parlons pas des sites web "offrant" du son, de la vidéo, des images énormes, etc. Par conséquent, travailler à distance devient un peu plus difficile tous les jours.
Pourtant de plus en plus de gens travaillent à distance. Les grosses multinationales, les organisations internationales, etc, et n'oublions pas la communauté du logiciel libre (qu'il s'agisse de développement logiciel, de documentation...). Je veux dire, elles ont toutes des collaborateurs dans le monde entier qui ont besoin de communiquer, de préférence en temps réel. C'est déjà le cas... sans Rebol. Alors quoi ?

 

La REBOLution

Aujourd'hui, pour travailler à distance, tout le monde utilise des outils bien connus : des navigateurs de 50 Mo, des logiciels de courrier de 20 Mo, des logiciels de conférence de 10 Mo, des logiciels de messagerie de 10 Mo, des logiciels de bases de données de 1Go... pour échanger tous les types de données. De préférence, de très grosses données (voir plus haut !). Alors, qu'est-ce qui est nouveau dans l'offre de Rebol ? Rien ! Mes compères m'ont dit : le logiciel de messagerie envoie des messages, le logiciel de courrier envoie du courrier, le gestionnaire de tâches gère les tâches...
Encore une fois, c'est exact ! Sinon que le logiciel de courrier fait 2915 octets (non, pas de faute de frappe !), le logiciel de messagerie fait 14.5 Ko, le "who" fait 7372 octets, le logiciel de conférence fait 14.41 Ko, etc ! Tous ces outils sont disponibles sur votre bureau avec un exécutable de 610 Ko pour vous connecter au serveur. C'est la taille du client Linux; c'est sensiblement la même pour toutes les plates-formes disponibles : 25 au moment de cet article.
Voilà à quoi ça ressemble :

desk


Pour mieux comprendre le concept, il faut savoir que Rebol propose toute une gamme de produits permettant de tout faire ou presque. Nous avons déjà mentionné Rebol/View (gratuit ou petit prix pour une version améliorée), mais vous pouvez ajouter Rebol/Core (gratuit), Rebol/Command (commercial, en clair, pas gratuit) qui est un produit destiné à communiquer avec des SGBDR (Systèmes de Gestion de Bases de Données Relationnelles) ou à gérer des scripts cgi, par exemple. Bien sûr, tous ces produits sont utilisables au sein d'IOS. Tout cela procure une superbe "boîte à outils" : un langage de programmation (ou de messagerie) à couper le souffle, la possibilité d'interfacer vos programmes (appelés reblets) avec des bases de données existantes, ou des serveurs web ou que sais-je encore. Comme déjà dit dans l'article précédent : la seule limite, c'est votre imagination. Un exemple devrait rendre les choses un peu plus compréhensibles.

 

Le test

Nous avons demandé à Rebol une version d'évaluation et ils ont eu l'amabilité d'accepter. Nous avons obtenu 3 comptes clients hébergés sur le serveur de Rebol. Evidemment nous n'avons pas pu tester le côté serveur : nous y reviendrons. Puisqu'il s'agit d'un test pour LinuxFocus, nous avons utilisé... le client Linux.
Tout ce que nous avons eu à faire a consisté à télécharger un exécutable et à le lancer (Bon, je déteste les exécutables, mais dans ce cas, disons que j'ai fait confiance à Rebol). Ceci installe le client sur votre machine : ça prend moins d'une minute !
Si par exemple, Rebol/View est installé sur votre machine, vous n'avez même pas à configurer le client puisque toutes les informations dont il a besoin existent déjà. Il s'agit de l'adresse email, des adresses des serveurs pop et smtp... Toutefois, vous devez fournir le nom d'utilisateur et le mot de passe communiqués par Rebol. Ca y est : vous êtes prêts !
Vous pouvez utiliser tous les outils présents sur le bureau : le logiciel de messagerie, le courrier, le logiciel de conférence, etc. Au fait, de nouveaux reblets sont ajoutés fréquemment. Des utilitaires sont également proposés, du style calculatrice, presse-papier, panneau d'information, etc. Voici la partie utilitaires :

deskutil


Les différents boutons du bureau permettent d'accéder à chaque zone pour les applications, la documentation, etc. Le bouton Users est le bon puisqu'il vous permet de créer votre propre dossier(s) dans cette zone. Vous pouvez définir les utilisateurs autorisés à accéder au dossier, simplement en les nommant dans les champs appropriés. Ensuite, vous mettez dans ce dossier ce que bon vous semble. Il peut s'agir d'applications, d'images de documents... Vous pouvez considérer ce dossier comme un NFS (Network File System) "mondial"... sans les problèmes de sécurité ! C'est-à-dire, les utilisateurs autorisés peuvent lire, écrire dans ce dossier en fonction des permissions que vous leur avez données. Bien sûr, tout cela est présent sur votre disque dur. En d'autres termes, tout est utilisable hors connexion.
Qu'avons-nous mis là-dedans ?
Une petite application permettant de se connecter sur le dernier numéro de LinuxFocus. C'est le même exemple que celui apparu dans l'article sur Rebol, sinon qu'il dirige vers un autre numéro du magazine. Pourquoi avoir écrit le même script ? Parce que la syntaxe a légèrement changé depuis l'article en question. Voilà le nouveau code source

A quoi ça ressemble ?

lfissue


Ce programme fait 2182 octets, mais il ne contient que du texte, des boutons, des URL et une image de fond... et peu de code. Pas vraiment significatif, n'est-il pas ?
Essayons quelque chose d'un peu plus élaboré.
Prenons encore LinuxFocus pour exemple. Encore et toujours, nous allons créer une base de données très simple. Elle est censée permettre aux utilisateurs autorisés de consulter, créer ou effacer des enregistrements. Evidemment, comme il s'agit d'un exemple très simple, vous ne pouvez pas faire de requêtes, vous ne pouvez voir qu'un seul enregistrement en même temps. Les enregistrements sont stockés dans un fichier texte nommé articles.r.
Le programme se nomme lfdb.r et "pèse" 5983 octets !
Le code est emprunté au programme rebodex.r de Carl Sassenrath (le fondateur de Rebol) et fait partie des exemples fournis déjà mentionnés.
Voici le code source

Regardons-le en action :

lfdb


Comme vous pouvez voir, rien d'extraordinaire, mais ça fonctionne et c'est tout petit. Ca signifie que le travail à distance est très rapide, quel que soit le type de connexion.
Ceci pour dire que vous pouvez créer tout ce que vous souhaitez dans un temps très court et en faire profiter des gens à l'autre bout de la planète comme s'ils étaient dans le bureau voisin. Rappelez-vous, ils peuvent également utiliser votre "oeuvre" une fois déconnectés, puisque tout est sur leur disque dur.
Il est évident que cet exemple est très simple, mais encore une fois, il n'y a pas de limites à ce que vous pouvez faire avec IOS. Par exemple, puisque nous parlons de bases de données, vous pourriez utiliser Rebol/Command pour vous connecter à un serveur de SGBDR.
Ce n'est qu'une manière d'utiliser IOS, il en existe beaucoup d'autres. Pensez simplement à toutes les applications sophistiquées qu'il pourrait vous permettre de créer.
Et maintenant, le plus important : la seule et unique sécurité.

 

Le côté sécurité

Dès qu'il s'agit de communication par Internet, le risque est très élevé. Comment Rebol a géré cette grande "affaire" ?
Comme d'habitude, ils ont gardé les choses simples, faciles et dignes de confiance.

Le serveur

Comme déjà précisé, nous n'avons pas pu tester le serveur IOS. Mais un guide d'administration est disponible dans la partie documentation du bureau d'IOS. De plus, les gens de Rebol se font un plaisir de répondre à vos questions : ce n'est pas si fréquent et devait être dit. Encore plus intéressant, ils vous répondent en temps réel en utilisant la messagerie d'IOS. Sympa, non ? (D'ailleurs, c'est à se demander quand ils dorment, puisque le décalage horaire entre eux et nous est de l'ordre de 9 heures !)
Tout d'abord, le serveur fonctionne sous de nombreux OS différents. La plupart des serveurs Unix ou Windos feront l'affaire. La sécurité d'IOS est gérée en interne et s'intègre parfaitement à votre réseau existant, sans aucun changement d'infrastructure. Espérons quand même que votre réseau est déjà protégé par un pare-feu, un proxy, un NIDS (Network Intrusion Detection System), des communications cryptées, etc.
IOS est une couche au-dessus du serveur web qui utilise le protocole HTTP avec une technique de "tunnelling". Ce serveur web sert de passerelle pour se connecter au serveur IOS. Un programme cgi agit comme un proxy pour rediriger les données du serveur web vers le serveur IOS. Tous les échanges sont cryptés. Le serveur IOS stocke les données et un autre processus synchronise les données entre le serveur et le client. C'est-à-dire que les nouvelles données sont automatiquement transférées sur votre disque dur.
Dernier point et non le moindre, il faut environ 5 minutes pour installer le serveur si vous avez déjà un serveur web fonctionnel.
Bien sûr, cette explication est un survol, mais elle montre que la philosophie de Rebol a bien été appliquée ici aussi. Ajoutons que Rebol fournit des reblets pour rendre l'administration encore plus facile.

Le client

Nous avons déjà décrit la facilité d'installation du client. Il n'y a pas grand chose à ajouter, sinon qu'elle prend moins d'une minute.
En tant que client, vous vous connectez au serveur avec des clés de session uniques, ainsi l'authentification est garantie. Tout ce qui circule sur le réseau est crypté. Les connexions peuvent être limitées à des adresses IP ou à des ports spécifiques (entrant et sortant). Ca devient alors comme une connexion poste à poste.
Pour ce qui concerne les répertoires et les fichiers, les permissions peuvent être gérées très facilement. Les accès sont limités à une zone locale spécifique. C'est-à-dire qu'un utilisateur ne peut accéder qu'à sa propre zone. Etc.
Il y aurait beaucoup plus à dire sur le schéma de sécurité d'IOS, mais il faudrait plusieurs articles pour couvrir la totalité.
En résumé, la sécurité d'IOS est très bien pensée. J'ai testé la circulation des données avec tcpdump et je n'ai rien vu sinon la connexion proprement dite. J'ai scanné le serveur avec nmap et n'ai obtenu aucune réponse. Certes, ça ne signifie pas qu'il n'y a aucune vulnérabilité : nous savons tous que la sécurité n'atteint jamais 100%, pourtant nous pouvons dire que Rebol a encore fait du beau travail.

 

La partie "commerce"

Oui, Rebol fournit du logiciel propriétaire. Il faut bien qu'il vende pour vivre, même si de nombreux produits sont gratuits. Toutefois, IOS par exemple, est vendu de différentes façons : voici la gamme des produits IOS.
IOS Express est destiné aux grosses et moyennes entreprises.
IOS Lite est destiné aux petites entreprises.
IOS Host est destiné aux entreprises hébergées : Rebol héberge sur ses serveurs.
IOS Alliance est un programme de support pour les développeurs commerciaux.
De toute évidence, selon le choix, le tarif sera différent. Le prix de départ est à 2000$ pour le serveur et 10 clients. Les clients additionnels sont facturés 100$ chacun. Pour une grosse quantité de clients, une réduction est négociable.
Ce n'est que pour information et ceci pourrait changer dans un proche avenir en fonction du nombre d'applications fourni avec IOS.

 

Retour vers le futur

IOS est tellement en avance, tout en gardant une grande simplicité, qu'il devient difficile d'expliquer ses multiples avantages. La plupart des gens utilisent différents produits dans leur travail quotidien et ne remarquent pas que ces produits ne sont pas forcément les plus adaptés. Soit, ils ne souhaitent pas s'en séparer, soit ils ne sont pas assez curieux pour essayer autre chose. Parfois, ils n'ont même pas le choix. Pourtant des produits tels qu'IOS sont une véritable révolution si on les compare à ceux d'aujourd'hui. Pour cet extraordinaire logiciel, Rebol n'a aucun concurrent. Le problème vient du fait qu'être trop en avance trop tôt peut profiter à d'autres. Le monde de l'informatique est plein d'exemples édifiants.
Venons-en à l'habituelle "zone" hors-sujet.
Carl Sassenrath, le fondateur de Rebol, travaillait pour Commodore, un très gros constructeur, pour ceux qui n'ont pas connu. L'ordinateur Amiga était l'un de leurs produits. L'Amiga OS était l'un des systèmes les plus avancés de l'époque : le premier ordinateur personnel multitâches, le premier véritable ordinateur multimedia, le premier à utiliser des puces multiples, etc. Commodore a été incapable de vendre cette machine comme elle le méritait. Les autres fabricants ou éditeurs ont mis des années pour atteindre le même degré technique... mais ces "autres" ont réussi à vendre leurs produits, parfois en "forçant" un peu (beaucoup) la main de l'acheteur.
Carl était très impliqué dans le fabuleux travail autour de l'Amiga OS.
Plus tard, toujours pour Commodore, Carl a travaillé sur le CDTV, disons le père des "set-top boxes". Encore une fois, Commodore a été incapable de le vendre. Pourtant, quelques mois après le lancement du CDTV, un autre grand constructeur a sorti un équivalent... et a réussi à le vendre. Tout cela pour dire que Carl a toujours été en avance, mais peut-être trop. Ce qui aurait dû être un avantage s'est transformé en inconvénient. Son travail a profité à d'autres, plus tard.
Un autre exemple pourrait être NeXT et son OS, NeXTSTEP. Plus de dix ans après, le monde découvre MacOS X, souvent sans savoir que c'est un très vieux système... appelé NeXTSTEP. C'est un peu différent dans la mesure où le même personnage est derrière les deux systèmes.
Mais, encore une fois, il semble que ce ne soit pas un avantage d'être trop en avance. Une phrase résume la "bonne" façon de procéder : "Nous ne copions pas, nous essayons seulement de ne pas reproduire les mêmes erreurs que ceux qui ont ouvert la voie" (la véritable phrase est peut-être un peu différente). Devinez qui a dit ça ! Aucune idée ?
Cette digression nous amène à une question : est-ce que le travail de Carl et de ses compères va encore profiter à d'autres ? Bon, nombreux sont ceux qui ne réalisent pas à quel point IOS et la gamme de produits Rebol sont en avance. Toutefois, ça pourrait bien "donner" des idées à certains éditeurs. Pourtant, il y a une chose qu'ils ne pourront pas "copier" : la taille des applications et du langage pour les créer. Comme je ne crois pas vraiment que l'amélioration de la vitesse sur Internet soit pour demain, je persiste à croire que Rebol est le seul à avoir vraiment conscience du problème. Je sais bien que des vitesses extraordinaires ont été atteintes sur Internet, mais quand pensez-vous qu'elles seront accessibles à tous ? Ne parlons pas du coût.
Certes, le câble, l'ADSL sont un progrès par rapport au modem ou à RNIS (au moins parfois, particulièrement avec le câble). De toute manière, même avec des vitesses élevées, les applications de petite taille seront toujours plus rapides que les grosses. Pour une entreprise, c'est quelque chose d'important : ça signifie moindre coût (communications plus courtes), meilleure efficacité (on peut travailler hors connexion et sans devoir télécharger des Mo de données), sécurité améliorée (de nombreux serveurs dans le monde sont de véritables passoires), etc.
Enfin, la majeure partie de la sécurité est gérée par IOS et ne réclame pas les connaissances requises pour sécuriser un réseau. En clair, si votre réseau fait partie des passoires mentionnées ci-dessus, vous aurez une sécurité acceptable simplement en installant correctement le serveur IOS... même si je suis loin de recommander une chose pareille !

 

Fin

Le travail collaboratif à distance se répand tous les jours un peu plus. Beaucoup de solutions bien connues existent mais sont très chères et très lourdes à mettre en oeuvre. Rebol nous propose une nouvelle façon de travailler, de penser : les applications distribuées ultra-légères. L'idée des applications distribuées n'est pas nouvelle, mais si vous y ajoutez "ultra-légères", elle le devient.
Les produits tels qu'IOS et sa suite représentent vraiment une toute nouvelle approche. Comme toujours, "il y a plus d'une manière de le faire", mais celle de Rebol est assez incroyable. Je ne dis pas que vous devez jeter les autres langages ou logiciels. Par exemple, je continue à adorer Perl ou MySQL. IOS, c'est autre chose : utilisé conjointement à Rebol/Core, Rebol/View, Rebol/Command, il devient l'outil absolu pour le travail collaboratif à distance.
D'accord, vous lisez LinuxFocus et d'habitude nous parlons du logiciel libre. Toutefois, lorsque le logiciel propriétaire est réellement novateur, vous pouvez difficilement l'ignorer, particulièrement quand il fonctionne sur pratiquement tous les OS disponibles.
Nier cette évidence ressemblerait à de l'intégrisme.
De plus, les gens de Rebol ne sont pas seulement agréables et serviables, ils sont aussi très ouverts, ce qui n'est pas toujours vrai pour d'autres, y compris pour quelques individus de la communauté du logiciel libre. Désolé, mais c'est un fait !
Une suggestion : essayez les produits Rebol et comme Apple le préconise, "pensez autrement". Oubliez vos habitudes et faites quelques tests avec différents produits Rebol.Je suis certain que vous ne regretterez pas le temps passé. Pour bien débuter, allez sur le site de Rebol. Téléchargez Rebol/View et les scripts d'exemple : vous comprendrez tout sur la REBOLution.
Vous pouvez également lire le livre sur "Rebol" de mon compère Olivier Auverlot du magazine "Login" (aux Editions Eyrolles).
Si vous voulez en savoir plus sur IOS, vous trouverez de nombreuses informations sur le site de Rebol. Le scenario est chaudement recommandé, dans la mesure où il propose l'exemple de ce que peut faire une entreprise moyenne avec IOS.
Amusez-vous bien !
Quand je vous dis qu'on vit une époque formidable !



Site Web maintenu par l´équipe d´édition LinuxFocus
© Georges Tarbouriech
"some rights reserved" see linuxfocus.org/license/
http://www.LinuxFocus.org
Translation information:
en --> -- : Georges Tarbouriech <georges.t/at/linuxfocus.org>
en --> fr: Georges Tarbouriech <georges.t/at/linuxfocus.org>

2005-01-14, generated by lfparser_pdf version 2.51