Salut tout le monde,
Quel serait le véritable intérêt d'utiliser Python dans ce cas ? Autant
continuer ce que tu as fait en Bash :-)
Perso, je reste convaincu que les Dialog en tout genre sont limités, et
qu'on
pourrait avoir beaucoup mieux, même en mode texte avec curses.
Il y a toujours une limite. Tout toolkit a ses limites. Des fois, on
voudrait faire des trucs particuliers mais le toolkit ne le permet pas.
C'est vrai qu'on peut sûrement faire des choses plus évoluées avec curses,
gtk, qt, ... mais à quel prix ? Pour écrire une boîte de dialogue avec un
menu fonctionnel, il faut au moins 20 lignes de code en python (à multiplier
par le nombre de toolkits que l'on veut supporter).
Pour écrire une boîte de dialogue avec un menu fonctionnel, il faut une
seule ligne de code en shell (bon, une grosse ligne mais une seule ligne
:p).
Sur ce plan, le shell est plus simple pour développer et, pour moi, qui dit
simplicité de codage dit qualité de l'application.
> De meme, je n'ai effectivement trouvé aucune soultion curse utilsable
par
python
http://www.amk.ca/python/howto/curses/
Le module curses est un module standard de la distribution python :
http://docs.python.org/lib/module-curses.html
Il existe le module pygtk pour GTK2 et le module pyqt pour Qt mais ces
"wrappers" ne sont pas fournis en standard dans la distribution python.
Du côté des "wrappers" de toolkit, ce n'est pas un problème. Il y a ce qu'il
faut. Cependant, comme je le disais, il n'existe pas de module qui abstrait
tous les toolkits.
Le 17/05/05, Julien L.<[EMAIL PROTECTED]> a écrit :
> Deux solutions vont s'ouvrir à toi :
> - soit tu fais une interface Nsetup pour chaque toolkit. Pour moi, c'est
le
> risque d'avoir des fonctionnalités présentes sur une interface et pas
sur
> une autre...
Pour moi, cette solution est viable :-)
Je ne sais pas si vous avez lu la proposition que j'ai fait avec un schéma
pour le module Nsetup d'ajout d'un utilisateur, mais elle sépare clairement
les interfaces curses, gtk+, qt ou autre, de la partie « métier » tout en
_imposant_ la présence d'un certains nombres de méthodes set* et get* que
doivent fournir _chaque_ interface graphique. Cette manière de faire impose
que toutes les interfaces utilisateurs fournissent les méthodes requises
par
la partie métier. Une interface qui ne répond pas à cette exigence serait
tout simplement inutilisable, ce qui la force à être à jour, et à offrir
les
mêmes fonctionnalités que les autres interfaces.
Je ne suis pas d'accord avec ce que tu dis. Quelque soit le "design", quand
tu voudras ajouter un module, il faudra que tu rajoutes les boîtes de
dialogue, les zones de textes, les boutons correspondant à ce nouveau module
pour chaque toolkit. Je ne vois pas comment tu peux y couper.
De ce fait, je vois déjà ce qui va arriver :
- l'interface d'un module sera utilisable par un toolkit et par l'autre
- l'interface d'un module sera plus fonctionnel sur un toolkit que sur
l'autre toolkit (car des tests auront été effectués principalement sur un
seul toolkit)
A mon humble avis, en se limitant à dialog/gdialog/kdialog (qui, comme l'a
écrit Chicha, couvre la grande majorité des besoins), une interface écrite
avec un *dialog sera automatiquement valable avec un autre *dialog. Le code
n'est pas dupliqué. La création de l'interface n'est faite qu'une seule fois
dans le code.
Je sais ce que vous allez me dire : les *dialog présentent des différences
dans les options qu'elles fournissent. Cependant, si une option est valable
sur dialog et pas sur kdialog, le développeur/testeur s'en rendra rapidement
compte et pourra corriger le tir.
D'autre part, il me semble que vous oubliez de prendre en compte un point
important sur le choix du langage : l'exécution à partir du CD live.
Avec python, il faudrait embarquer toute la distribution sur le CD (ainsi
que ses dépendances). Je ne sais pas combien fait une distribution python
installée sur disque. Je l'estime à quelques dizaines de Mo. Cela me paraît
chaud.
Avec le shell, il suffit d'embarquer bash (obligatoire de toute façon) et
dialog. Tout cela a déjà été fait pour Nasgaia 1.0.
Voilà tout ce que je voulais ajouter sur le sujet.
A+
--
Julien
_________________________________________________________________
Bénéficiez de 250 Mo de stockage avec MSN Hotmail http://g.msn.fr/FR1001/866