[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Troll] Avec morceaux de reflexion dedans



On Thu, Jul 31, 2003 at 01:57:16PM -0400, Daniel Déchelotte wrote:
> > Principe Unix vieux comme Unix: un programme devrait faire
> > une chose, et le faire bien. 
> 
> Pas si vite, cette approche a ses inconvenients. 

Tiens, je rechatouilles les moustaches trollesque aussi
alors:

> Pour recuperer quelques photos sur mon appareil, je dois
> utiliser gtkam, interface affligeante a libgphoto2, sauver
> les fichiers dans un repertoire, puis utiliser un clone
> mediocre de ACDsee (GTK See, GQview, gImageView) pour
> simplement voir _enfin_ les photos. Si quelques'unes
> necessitent un traitement, je dois encore lancer le Gimp.
> 
> Il y a un *reel* interet a avoir *une* application qui
> _integre_ (oui, le mot pestifere) l'acquisition de
> l'image, depuis le scanner ou l'APN, la visualisation en
> vignettes et en diaporama, les retouches simples
> (recadrage, rotation, balance des couleurs), et
> l'exportation (sauver l'image, l'imprimer, l'envoyer par
> courriel, par messagerie instantanee, oui oui, pourquoi
> pas).

L'intégration de plusieurs fonctions est certainement
importante; mais ça n'a pas besoin d'être fait au dépend de
la modularité, ni de l'intépendance des programmes qui font
les fonctions indépendantes.

Le meilleur exemple reste à mon avis celui de la chaine de
traitement du mail (je décris ici ma propre chaine, qui est
assez typique je pense):
- Le mail est sauvegardé dans un fichier par le serveur,
- Il est récupéré par fetchmail
- Il est classé par procmail
- Il est lu par Mutt
- Il est édité par vim
- Il est finalement expedié par le serveur (exim en
l'occurence).

À chaque étape, on trouve un programme qui ne fait qu'une
chose, mais la fait bien. Et si on n'est pas content d'un
maillon, on peut facilement le remplacer par autre chose
(Vim par Emacs par exemple). La chaine s'adapte facilement
pour récuprer du mail sur un serveur distant par pop3, par
imap ou n'importe quoi; on y ajoute du filtrage de spam si
on veut.

À l'opposé, on trouve la chaine Exchange: Outlook qui parle
à Exchange avec un protocole propriétaire, ne permet pas
facilement de mettre des filtres, ne permet pas de choisir
un éditeur  différent, etc. Entre les deux, on trouve par
exemple Mozilla Mail.

Pour revenir au problème des caméras: 
Certaines exportent leurs images comme un système de
fichier. Met par dessus ça n'importe quel explorateur de
fichier, et tu auras miniatures, ouverture dans Gimp, et
peut-être expédition vers ton programme de courrier. Il n'y
a pas besoin d'une application spéciale pour ça.

> Et pour eviter que notre appli duplique le gestionnaire de
> courriel, d'impression, d'acquisition d'image, etc, il
> faut amenager un protocole pour faire que les applications
> puissent echanger des donnees, il ne faut ni Qt ni Gtk, il
> faut Gnome ou Kde.

Philosophie Unix: tout est un fichier. Dans l'exemple du
mail plus haut, tous les maillons de la chaines se causent
avec des fichiers et en se passant les noms de fichiers par
les lignes de commandes, ou encore en passant toutes les
données directement par stdin/stdout.

Personnellement, je suis pas convaincu que les protocoles de
Gnome ou Kde apportent quoi que ce soit, si ce n'est qu'il
devient plus difficile de faire se parler les applications
entre elles.

/Y

-- 
This signature left empty.



Reply to: