|
par Georges Tarbouriech <georges.t/at/linuxfocus.org> L´auteur: Georges est un vieil utilisateur d'Unix. En tant qu'inconditionnel de NeXTSTEP, il aime beaucoup ces projets libres offrant l'apparence et le comportement (et plus encore) de ce système extraordinaire. Traduit en Français par: Georges Tarbouriech <georges.t/at/linuxfocus.org> |
GNUMail.app, la preuve de portabilitéRésumé:
GNUMail.app est un clone du Mail.app de NeXT, fonctionnant sous GNUstep et MacOS X. Le même code source permet d'utiliser ce superbe logiciel sur différentes plates-formes. En conséquence, il est la preuve irréfutable de la portabilité des applications entre GNUstep et MacOS X. |
A la fin des années 80, un nouveau système d'exploitation appelé NeXTSTEP.
Cet OS offrait ce que nous n'avions jamais vu auparavant. Parmi beaucoup
d'autres "choses", il proposait aux utilisateurs le tout premier client de
courrier électronique entièrement graphique, Mail.app. Non seulement il
était graphique, mais il pouvait gérer tous les types de données : les
images, les sons, etc.
Quelques années plus tard, NeXT décidait de porter NeXTSTEP vers d'autres
plates-formes : OpenStep était né.
A partir de là, quelques individus commencèrent à travailler sur des projets
libres offrant la même philosophie. Le projet le plus important est bien sûr
GNUstep, puisque son but est de proposer une
version libre d'OpenStep. Les gens de GNUstep font un travail formidable,
surtout si l'on considère l'ampleur du projet.
Un autre projet d'envergure se nomme Window Maker. Ce gestionnaire de fenêtres
fait partie du projet GNUstep. En visitant ces deux sites, vous saurez
tout sur ces deux grands projets libres. Vous pouvez aussi jeter un coup
d'oeil sur ces "vieux" articles de LinuxFocus :
Window Maker, ou NeXTStep, le retour
et GNUstep, l'OpenStep open source.
(Allons, les "intégristes", ce titre n'était que pour jouer autour du mot
"open" : nous savons tous que GNUstep c'est du logiciel libre !).
Pour terminer avec ce bref historique, ajoutons que le fondateur de NeXTSTEP
n'a jamais oublié l'avance de son "enfant". Il l'a vendu à Apple (dont il
est le co-fondateur...), est rentré "à la maison", et il est devenu le
président par intérim d'Apple. Cela nous a valu MacOS X, qui n'est autre que
NeXTSTEP à la sauce Apple. Et nous y voici : GNUstep et MacOS X ont de
nombreux points communs. Ainsi, on peut s'attendre à une compatibilité entre
les applications et le code source. Comme GNUstep est capable de fonctionner
sur de nombreuses plates-formes (de manière plus ou moins stable), la
portabilité devient grande ouverte. Pour information, GNUstep fonctionne sur
la plupart des BSD, des distributions Linux, Solaris, Irix... et même sous
Windos.
D'autres projets sont en plein développement : le port de Darwin (le coeur
d'OS X) sur architecture Intel ix86. Voir http://gnu-darwin.sourceforge.net/.
Vous pouvez aussi visiter http://www.linuxstep.org. Le nom suffit.
Il existe également Simply GNUstep from http://simplygnustep.sourceforge.net/
qui est une image ISO exécutable à partir d'un CD : en d'autres termes, point
besoin d'installer quoi que ce soit.
GNUMail.app est le résultat du travail de Ludovic Marcotte (et de ses amis)
et il est distribué sous licence GPL. La partie artistique (icônes) est
l'oeuvre d'Andrew Lindesay. Sur le site de GNUstep vous pouvez voir les
superbes icônes créées pour le projet (dans la partie "User Apps).
Comme déjà mentionné, GNUMail.app est un client de courrier électronique,
clone du Mail.app de NeXT (ou aujourd'hui, clone du Mail.app de MacOS X).
Voici toute la famille : de gauche à droite, le père, le fils... et les
neveux.
GNUMail.app a l'apparence et les caractéristiques du Mail.app de NeXT.
Certes, il y a eu d'autres clients de courrier électronique à l'apparence
NeXTSTEP, particulièrement destinés à fonctionner sous Window Maker. Citons
par exemple, Postilion à http://www.postilion.org/ ou Aileron sur http://ucsu.colorado.edu/~nwanua/Aileron/.
Vous pouvez les considérer comme des projets arrêtés : leurs auteurs sont
convaincus que GNUMail.app est bien l'étape suivante.
GNUMail.app, c'est autre chose : il est écrit en Objective C, utilise les
outils de développement d'Apple (NeXT) tels que InterfaceBuilder ou
ProjectBuilder côté Mac, et devrait bientôt être capable d'utiliser Gorm ou
ProjectCenter côté GNUstep (ces derniers sont disponibles sur le site de
GNUstep dans la section Developer Apps). Toutefois, le plus important reste
le fait de pouvoir utiliser le même code source pour le compiler, que ce soit
sous MacOS X ou sous GNUstep. La version en cours au moment d'écrire ces
lignes est la 1.0.0. Une bibliothèque nommée Pantomime est requise,
puisqu'elle est en charge de la gestion des connexions de courrier
(SMTP, POP, IMAP...). La version actuelle est la 1.0.2, et, encore une
fois... c'est la même qui est utilisée pour MacOS X et GNUstep. Les deux
archives peuvent être téléchargées sur http://www.collaboration-world.com/gnumail/
Caractéristiques
Comme je ne vais pas réinventer la roue, voici ce que vous pouvez lire sur le
site de GNUMail.app :
- Comptes POP3 multiples (avec support APOP) avec support de cache local
(pour laisser les messages sur le serveur);
- Agents de distribution multiples (SMTP ou gestionnaire local);
- Support de fichier de "spool" pour la réception;
- Bon support IMAP avec cache local;
- Support complet des RFC822 et RFC2822;
- Lecture, composition, rejet, réponse et transfert de messages;
- Gestion de boîtes à lettres (création, suppression, verrouillage et transfert
des messages) grâce à l'utilisation du format mbox de Berkeley;
- Gestion des Préférences personnelles;
- Support MIME (décodage et encodage);
- Gestionnaire de types MIME;
- Support de l'impression et de BASE64;
- Carnet d'adresses avec support des groupes;
- Fenêtre de recherche avec support des expressions régulières;
- Récupération automatique ou manuelle du courrier (au choix de l'utilisateur);
- Filtres puissants supportant les expressions régulières;
Ludovic espère ajouter de nouvelles caractéristiques très rapidement, telles
qu'une nouvelle fenêtre de Préférences ou le support de PGP. Et vous pouvez
lui faire confiance lorsque vous connaissez la vitesse à laquelle il travaille !
Ceci devrait vous donner envie de visiter le site de GNUMail.app ;-)
GNUMail.app est disponible sous forme de code source pour MacOS X et Linux et
c'est pareil pour Pantomime (rappelez-vous, il vous faut les deux). Préciser
Linux est plutôt restrictif : tous les OS susceptibles de faire fonctionner
GNUstep sont concernés. Par exemple, GNUMail.app fonctionne sous FreeBSD,
NetBSD...
Si vous n'avez pas envie de compiler, il existe des versions binaires pour MacOS
X. Vous disposez aussi de paquetages pour Debian et de "ports" pour FreeBSD.
Toutefois, nous ne parlerons pas de ces versions.
Pour compiler et utiliser GNUMail.app, il est nécessaire de remplir certaines
conditions.
De toute évidence, sous MacOS X, vous devez posséder les outils de
développement. Sous GNUstep, il vous faut... GNUstep. Comment installer GNUstep
n'entre pas dans le cadre de cet article, mais vous trouverez tout ce dont vous
avez besoin sur le site de GNUstep. Recommandons quand même, une version de gcc
égale ou supérieure à 3.0 pour éviter certains problèmes de compilation. Il vous
faut également les versions dites "instables" de make (1.3.0), de base (1.3.0),
de gui (0.7.6) et de xgps (0.7.6). Rassurez-vous, elles sont qualifiées
d'instables mais fonctionnent parfaitement.
Tout d'abord, si vous n'avez pas lu la FAQ, sachez que vous devez décompresser
les archives en utilisant dans la ligne de commande quelque chose comme
tar zxvf archive.tar.gz. Des outils de décompression automatique tels que
Stuff-it altèrent certains fichiers de l'archive et vous devrez donc les
renommer.
Le fichier README du répertoire "docs" vous dira tout sur la compilation et
l'installation de Pantomime et de GNUMail.app avec ProjectBuilder (Pantomime
doit être compilé en premier). Suivre les différentes étapes vous offrira un
exécutable GNUMail tout neuf.
Si vous préférez la ligne de commande, vous pouvez vous servir de
pbxbuild et pbxbuild install. Si vous ne connaissez pas pbxbuild,
l'aide en ligne de ProjectBuilder vous dira tout ce que vous devez savoir sur
cet outil.
Pour résumer, précisons que vous ne pouvez pas installer une "cible" depuis
ProjectBuilder : vous devez utiliser pbxbuild install. C'est-à-dire,
l'exécutable que vous obtenez à partir de ProjectBuilder est lié au répertoire
dans lequel vous avez compilé l'application. Si vous déplacez l'exécutable et
que vous supprimiez ce répertoire, l'application ne fonctionnera plus
correctement. Si vous souhaitez détruire le répertoire source (dans lequel vous
avez compilé) et conserver une application fonctionnelle, l'utilisation de
pbxbuild install est obligatoire.
Quand c'est terminé, il vous suffit de lancer l'exécutable GNUMail en cliquant
sur son icône.
Une fois GNUstep installé et fonctionnel, décompressez l'archive par la
commande mentionnée plus haut. Tapez ensuite make et make install dans un shell
et c'est fini (bien sûr, Pantomime doit être compilé avant GNUMail.app).
Exécutez la commande openapp GNUMail.app et comme par magie, vous
obtiendrez un très esthétique client de courrier sur votre écran.
Si vous voulez rester à jour, des versions CVS de GNUMail.app (et Pantomime)
sont disponibles. Ludovic et ses copains travaillent dur et proposent des
améliorations pratiquement tous les jours. Ceci implique bien évidemment de
conserver le code source utilisé pour compiler votre première version. Il peut
également être nécessaire de mettre à jour GNUstep (CVS aussi) ou les outils de
développement de MacOS X. Pour ces derniers, vous devez être enregistré comme
développeur (ne vous inquiétez pas, c'est gratuit !).
Maintenant que vous disposez d'une application sympathique, vous avez sans doute
envie de l'utiliser.
GNUMail.app vous propose une fenêtre de Préférences très réussie, rendant la
configuration très facile. Cette fenêtre est divisée en sections : personnel,
visualisation, envoi, réception, composition, polices, MIME et filtres.
Comme le nom l'indique, la section personnel permet de fournir à GNUMail.app les
informations vous concernant : nom, adresse de courrier électronique, signature.
La partie visualisation est destinée à définir les entêtes que vous souhaitez
voir dans le message ou à mettre en surbrillance les URL disponibles dans le
corps du message.
La section envoi concerne... les méthodes d'envoi. Vous y définissez la méthode
choisie, le nom d'utilisateur, le mot de passe, etc.
La section réception définit comment... recevoir le courrier. Vous y spécifiez
le nom du (ou des) serveur de courrier.
Le panneau composition détermine la position de la signature, de la réponse
jointe, du nombre de caractères par ligne.
Dans le panneau polices, vous sélectionnez les polices utilisées dans
l'affichage du message.
Le panneau MIME permet de définir les types de données visualisables en tant que
pièces jointes (images, documents tels que PDF...)
Le dernier et non le moindre, le panneau de filtres dans lequel vous pouvez
définir les règles de filtrage.
Comme vous pouvez le remarquer, le processus de configuration est simple et
convivial. Le but était, bien sûr, de vous montrer à quoi ça ressemble, à la
fois sous GNUstep et sous MacOS X.
Utiliser GNUMail.app est tellement évident que ça ne devrait pas justifier un
chapitre. Sous MacOS X, cliquez sur l'icône GNUMail.app depuis le Finder et
c'est tout. Vous obtenez bien sûr une nouvelle icône dans le dock, où vous
pouvez la maintenir si bon vous semble. Lorsque l'application est lancée, il
suffit de cliquer sur les icônes situées en haut de la fenêtre de la boîte à
lettres ouverte (par défaut Inbox) pour effacer un message, recevoir ou envoyer
votre courrier, ouvrir d'autres boîtes, composer un nouveau message, répondre à
un message ou le transférer, ouvrir le carnet d'adresses ou faire une recherche
dans les boîtes.
Le menu propose les mêmes caractéristiques plus quelques autres. Les options les
plus importantes possèdent des raccourcis clavier. Ce menu fonctionne également
comme menu contextuel.
Sous GNUstep, la seule différence vient de la manière de démarrer l'application
pour la première fois. Si vous connaissez GNUstep, vous savez que vous devez
taper openapp suivi du chemin de l'application. Si Window Maker est votre
gestionnaire de fenêtres (recommandé !), vous obtiendrez alors une "appicon" :
glissez-la et déposez-la dans le dock... et vous n'aurez plus à taper dans votre
shell pour lancer GNUMail.app.
Le plus important dans tout cela c'est que GNUMail.app est devenu
remarquablement stable. L'amélioration est considérable si l'on compare aux
versions précédentes, particulièrement sous GNUstep. Après quelques semaines
d'utilisation, il n'a pas "planté" une seule fois. GNUMail.app est maintenant
parfaitement utilisable en tant que client de courrier pour tous les jours.
Sous MacOS X, il était déjà stable avant la version 1.0.
Nous pourrions considérer GNUMail.app comme une expérience de portabilité. Mais
c'est une expérience fonctionnelle ! Certes, de nombreux autres clients de
courrier possèdent beaucoup plus de fonctionnalités. Toutefois, GNUMail.app est
la première véritable application capable de s'exécuter sous des environnements
aussi différents que MacOS X et GNUstep avec absolument le même code source.
Ludovic travaille également sur un autre projet qui, s'il est moins avancé, n'en
reste pas moins digne d'intérêt.
Il se nomme Affiche, et ce n'est autre qu'un équivalent des "post-it", et encore
une fois, il fonctionne sous MacOS X et GNUstep. Le site héberge également
EasyDiff, un "diff" graphique signé Pierre-Yves Rivaille, qui ne fonctionne que
sous GNUstep, au moins pour l'instant.
Nombreux étaient les sceptiques qui ne croyaient pas à la portabilité entre
MacOS X et GNUstep : Ludovic apporte la preuve de cette portabilité. Alors, bien
sûr, la route est longue avant l'aboutissement de GNUstep, pourtant
l'amélioration est constante. Nous devons féliciter tous ceux qui sont investis
dans ce projet. La première raison vient de l'énorme travail à réaliser pour
mener à bien un tel projet et la seconde vient du petit nombre de personnes
concernées. Un grand merci à Adam Fedor et ses amis pour ce superbe travail.
Il est évident que chaque développement dépendra de l'état d'avancement de
GNUstep. Pour l'instant, de nombreuses applications fonctionnelles sont déjà
disponibles, même si pour la plupart elles en sont à leur début. La méthode
inverse pourrait bien accélérer le processus : c'est-à-dire que le plus gros du
travail est actuellement effectué sous GNUstep, mais nous pouvons espérer une
plus grande quantité de développement sous MacOS X, avec la portabilité en
arrière-pensée. Ce serait un excellent point de départ pour de véritables
applications multi-plates-formes.
A une époque où le "clonage" de Windos semble être la règle, c'est une chance de
bénéficier d'une telle alternative. Si la "mode" aujourd'hui est au mot
open, alors GNUstep est le modèle.
Une partie de la communauté Linux attend que son système se répande sur les
machines de bureau... ou parvienne à la "domination du monde" !!! Du calme : un
monopole, libre ou non, reste un monopole... et parmi bien d'autres choses, un
monopole tue la création. La diversité est beaucoup plus importante puisqu'elle
crée une émulation, ce qui ne signifie pas "cloner" un pseudo standard (et ses
applications), comme si leur éditeur détenait la vérité et était considéré comme
la référence absolue.
Environ 15 ans plus tôt, NeXTSTEP lançait une véritable révolution dans le monde
Unix : permettre aux gens d'utiliser Unix sans y connaître quoi que ce soit !
C'est ce que propose MacOS X aujourd'hui. Et, de fait, Linux est très loin de ce
stade, même en clonant la "mauvaise" référence. Vous avez sans doute remarqué que
GNUstep n'est PAS un clone de Windos (ça y est, je l'ai dit !). C'est une
réalisation libre du "fils" (OpenStep) de l'un des systèmes les plus novateurs
de tous les temps (NeXTSTEP).
Pour éviter toute confusion, GNUstep est une couche logicielle et devient un
environnement (léger) lorsqu'on lui ajoute des applications... telles que
GNUMail.app.
Encore mieux, GNUstep ne se limite pas à Linux.
Au milieu des années 80, il existait de nombreux OS différents. Maintenant,
l'alternative c'est Unix ou Windos : dommage. Pourtant, je préfèrerais un monde
dans lequel nous pourrions choisir entre une multitude de systèmes : plus il y
en aurait, mieux ce serait.
Mais nous avons quand même de la chance : nous avons plein d'Unices différents,
et la plupart sont capables d'utiliser GNUstep !
C'était l'habituelle partie hors-sujet et elle ne représente que mon opinion.
Pour en revenir à GNUMail.app, nous pouvons espérer qu'elle donnera des idées à
de nombreux développeurs. Les utilisateurs de MacOS X ont une grande chance qui
se nomme InterfaceBuilder (et ProjectBuilder). Découvrir ces outils changera
leur vie. Dans un futur proche, nous pouvons imaginer que Gorm et ProjectCenter
seront capables de faire la même chose que leurs modèles, rendant ainsi GNUstep
indispensable.
Merci beaucoup Ludovic d'avoir ouvert la voie.
quand je vous disais que nous vivions une époque formidable !
La maison de GNUMail.app : http://www.collaboration-world.com/gnumail/
Tout sur GNUstep : http://www.gnustep.org
Aussi... mais in French : http://www.clubstep.org
Encore plus sur GNUstep : http://www.gnustep.net
Applications, tutoriels, HOWTOs par Nicola Pero et Pierre-Yves Rivaille : http://www.gnustep.it
Outils de développement Apple MacOS X : http://developer.apple.com/tools/macosxtools.html
Site Web maintenu par l´équipe d´édition LinuxFocus
© Georges Tarbouriech "some rights reserved" see linuxfocus.org/license/ http://www.LinuxFocus.org |
Translation information:
|
2005-01-14, generated by lfparser_pdf version 2.51