Borsalino News - 28 septembre 1999
Après une si longue absence, Borsa News se devait d'être consistant. Je pense que c'est le cas. (Lisez ce message
en plusieurs fois si vous le trouvez trop consistant...)
1- Le point sur la mailing-list :
Suite à des problèmes techniques pendant le mois d'aout la mailing list a
cessé de fonctionner durant quelques temps. Elle est aujourd'hui pleinement
opérationnelle.
Le traffic est cependant resté quasiment inexistant depuis l'été (les
habitudes sont longues à reprendre). 41 personnes sont pourtant aujourd'hui
à l'écoute. N'hésitez donc pas à profitez de cette tribune pour partager
votre point de vue sur le projet.
2- Freelog n°3 :
Le magazine FreeLog mentionne le projet Borsalino. Il confirme l'intérêt
grandissant pour les projets d'outils de gestion libre, nous incite à
redoubler d'effort et lance un appel à volontaire.
Voici le texte (intégral) de l'annonce:
Un logiciel de gestion libre
Linux France héberge un projet qui devrait intéresser de nombreuses petites
sociétés : un logiciel de gestion libre et en français. Borsalino ne propose
pas encore grand chose à se mettre sous la dent, mais les volontaires sont les bienvenus...
3- Nouveau look :
J'ai profité de la mise à jour de la page Web pour changer le look.
Il sera visible dès le 29 septembre 1999.
4- Architecture : Quelques précisions
Suite aux questions posées sur la mailing list, je reviens sur la question de l'architecture de Borsalino
Borsalino s'appuie sur le modèle Client / Serveur pour se structurer. En soit ce terme ne signifie
pas grand chose et il convient de préciser les notions sous-jacentes.
En règle générale, les classifications des modèles Client / Serveur reposent sur la répartition du
travail entre le client et le serveur.
Le modèle dit "client léger" (thin client) constitue un premier extrême. Le client ne joue qu'un rôle d'affichage et de saisie. Il prend surtout en charge l'affichage et présente les options s'offrant à l'utilisateur. L'essentiel du travail
est effectué par le serveur. C'est ce modèle qui est le plus souvent utilisé sur Internet (Transactions, achat/vente en ligne, par exemple).
A l'autre extrême, le modèle Client / Serveur avec client "lourd". La partie programme tournant sur le client réalise la
quasi-totalité des tâches. Le serveur ne sert qu'à gérer le partage et l'accès des données dans un environnement multi-utilisateur.
Borsalino peut se placer dans un juste milieu. Le serveur héberge les traitements fonctionnels, définis par l'analyse du problème. Le client peut toutefois disposer de la liberté d'invoquer et de combiner des traitements de manière différente, sans risque pour l'équilibre global du système. Le serveur est en effet garant de l'intégrité des données et de la cohérence fonctionnelle des traitements demandés.
En revanche, une édition spécificique à un métier pourra être réalisée par le client grâce à une succession de macro-commandes envoyées au serveur.
Attention: Lorsque l'on aborde le sujet de l'architecture, on entend souvent les mots Client / Serveur et très rapidement on va également parler de "tiers". Ce sont deux choses différentes. Choisir un modèle Client / Serveur consite à choisir une répartition de tâches entre le client et le serveur. Ce choix ne présuppose pas le nombre de tiers qui sera utilisés. Les tiers désignent en fait le nombre d'éléments constitutifs du serveur. On descend donc à un niveau d'analyse plus fin. Parler d'un modèle 3 tiers ou multi-tiers concerne la manière dont sera conçu le serveur. C'est un concept transparent du point de vue du client. Le modèle 3-tiers ou multi-tiers est un moyen de rendre l'implémentation du serveur plus transparente pour le client que dans le simple modèle client / serveur, grâce notamment à une couche intermédiaire d'abstraction. Pour les afficionados de l'analyse objet, le modèle multi-tiers est un moyen de masquer au client l'implémentation du serveur.
Je pense que ce long commentaire va susciter de nombreuses remarques et corrections, alors feu !!!
5- L'atelier Erlang : Exercices
Après ce passage ennuyeux sur l'architecture, passons à la détente.
Pour vous aider dans la prise en main d'Erlang, des exercices accompagneront
régulièrement les Borsa News. Ils seront repris dans une rubrique sur la page
Web
Installation d'Erlang
La première étape est évidemment de récupérer l'environnement de développement d'Erlang. Vous pouvez le télécharger depuis le site officiel d'Erlang.
L'environnement est disponible sous plusieurs formes, pour plusieurs plate-formes.
Sous Windows, vous pouvez récupérer trois programmes exécutables qui vont installer
l'environnement de manière entièrement automatique.
Sous Linux, le confort est le même. Vous pouvez récupérez trois fichiers RPM
qui vont gérer l'installation des programmes.
Pourquoi y-a-t-il trois packages à installer ?
En fait, les concepteurs d'Erlang ont découpé leur environnement de
développement en un module de base, chargé de faire fonctionner un système
Erlang minimum, et des modules optionnels (Outils graphiques et
bibliothèques complémentaires). Si la partie graphique peut être omise,
je vous recommande toutefois l'installation du module dit "OTP", comprenant
notamment la base de données Mnesia.
Pour les plus hardis d'entre vous, vous pouvez vous lancer dans la compilation
de l'environnement. Celle-ci se déroule sans problème sur une
distribution Debian 2.1 (Celle que j'utilise). Pour la compilation sur
d'autres distributions (surtout celle en GLIBC 2.1), je recommande l'application
des patches disponibles sur le site d'Erlang
Bugs and fixes
L'environnement Erlang : Le shell, votre outil quotidien...
Une fois votre environnement installé, vous pouvez commencer à
"jouer" avec.
Lancez le shell à l'aide de la commande :
erl
Essayer ensuite de naviguer dans l'aborescence de votre disque dur, par exemple à l'aide
des commandes :
ls().
ls() permet de lister le contenu du répertoire courant.
cd('/home/mikl').
cd() permet de changer de répertoire courant.
Attention : N'oubliez pas le point final à la fin de la commande.
Utilisez la commande :
help().
Pour obtenir la liste des commandes de base du shell.
Pour terminer, si vous avez installez tous les packages, vous pouvez essayer de lancer un programme :
toolbar:start().
Pour lancer une barre d'outils simplifiant l'accès à certains modules Erlang
Pour sortir proprement du shell Erlang, faites :
init:stop().
La semaine prochaine, nous passerons au premier programme, à sa compilation et à son exécution. Nous ferons
ensuite quelques exercices de styles sur les listes. D'ici là, bon courage !