You are here -> Home Logram et son site » Premier mockup du gestionnaire de paquets graphique

Premier mockup du gestionnaire de paquets graphique

Le 25/11/2009 à 21h04 by steckdenis, in Logram et son site, 2 commentaries

Bonjour :) ,

Bien que Setup soit encore loin d'être fini, j'ai tout de même occupé mon après-midi à réfléchir à ce à quoi allait ressembler l'interface graphique de Setup, qui ne porte pour le moment aucun nom.

Le résultat est correct, bien que facilement améliorable. Si vous avez des idées, c'est maintenant, tant que rien n'est codé. Dans les prochains jours, quelques corrections seront apportées à Setup, puis la version Alpha sortira. Ensuite, les choses amusantes pourront commencer : suppression, mise à jour, deltas, et début de l'interface graphique.

En effet, pour garantir la réussite de Setup, l'interface console et l'interface graphique doivent être développés quasi en même temps, mais pas dès le début. En effet, commencer trop tôt l'interface graphique nécessiterait un énorme chantier au moindre changement un peu profond (par exemple, la gestion des erreurs, qui est est à sa troisième version :p ).

Commencer trop tard est également néfaste. Si Setup sort en version 1, que les empaqueteurs commencent leur travail, et qu'on se rend compte que la GUI nécessite une refonte assez profonde, nous sommes foutus.

Développer les deux en même temps permettra d'avoir une liblpackages robuste, convenant aussi bien à l'interface console qu'à la GUI. Il n'y aura pas une interface délaissée.

Trop orientée console, l'interface GUI est limitée et pauvre, manquant de fonctionnalités. Trop orientée GUI, l'interface console devient lourde et inutilisable, voir impossible :-° . C'est donc un juste milieu qu'il faut trouver, en développant les deux en même temps.

Pourquoi développer sa propre GUI et ne pas utiliser PackageKit

Personnellement, je ne suis pas satisfait de PackageKit. Déjà, il serait bien mal intégré à la liblpackages (partage des questions, progressions, etc). Ensuite, il est un peu trop basique, car générique, et ne permettrait pas facilement d'utiliser toute la puissance de la liblpackage (téléchargements en parallèle, etc).

Néanmoins, comme nous utilisons une bibliothèque de gestion des paquets, un plugin pour PackageKit est faisable, normalement pas trop difficilement, mais dans un avenir un peu plus lointain. Ainsi, les utilisateurs pourront choisir entre une interface maison et PackageKit, en version GNOME, KDE ou standalone :) . Logram pourrait donc, au travers de PackageKit, s'ouvrir à GNOME et Logram DE.

Petite modification au passage

Je profite de cette news pour vous parler d'une modification récente de Setup, les réponses par défaut. Quand un paquet demande une chaîne, il peut maintenant fournir une réponse par défaut.

Toute la difficulté est de rendre ça dans une console (en graphique, c'est super simple). En effet, aucune des fonctions de style gets, cin >>, etc, ne permet de «pré-remplir» l'entrée standard, pour que l'utilisateur puisse simplement éditer ce qui s'y trouve déjà.

C'est chose faite. J'ai codé une fonction manipulant les TTY (les entrées consoles), et permettant ceci. Maintenant, quand Setup demande si on veut installer la liste des paquets, il suffit d'appuyer sur ENTER. Si on ne veut pas, on efface le y pré-rempli, et on le remplace par la lettre qu'on veut.

La taille limite du buffer est gérée, les déplacements aussi (oui, il faut tout refaire à la main, même simplement taper une lettre). Les touches Home, End, Gauche et Droite permettent de se déplacer. Backspace efface une lettre, Delete aussi (une autre). Entrée valide l'entrée. Ça a été un travail long, difficile et désagréable, mais c'est maintenant une forte valeur ajoutée à Setup, et un patch qui volera normalement dans une future version de la LibC, au plus grand plaisir des développeurs :) .

Les screenshot !

Revenons à la GUI de Setup :unsure: . Je me suis armé de Qt Designer, et vous ai concocté une multitude de captures d'écrans montrant les différentes parties de l'utilitaire. N'attendons plus :

Question de type chaîne de caractère. Les règles de validation seront validées à la volée, Qt Animation Framework sera utilisé pour faire apparaître le message (en rouge ici) en dégradé :) :

Question String

Question de type «Nombre à virgule», un peu plus simple, mais adaptée à ce type (la liblpackages fournit l'information nécessaire :) ) :

Question Double

Question de type «Choix simple». L'utilisateur peut choisir une option. Pour les «Choix multiples», ce sont des cases à cocher que l'utilisateur peut activer ou pas.

Question Choix Simple

Progression d'une installation. Les téléchargements en parallèle sont bien montrés. Les paquets sont également installés en parallèle, mais comme ils n'ont pas de progression, un simple progression générale est montrée. Elle permet aussi de savoir où on en est dans l'installation :

Installation

La Fenêtre Principale, le coeur du programme. Des heures et des heures de réflexion et de modelage pour arriver à ce résultat, le plus ergonomique, simple et puissant que je puisse faire. Des notions complexes, comme le versionnement, sont montrées très simplement. Les paquets sont ajoutés dans des listes, qu'on peut ensuite, éxécuter et annuler. On pourra peut-être directement supprimer des paquets de cette liste, dans la liste elle-même, en plus de la zone montrant les paquets.

Les informations supplémentaires sont affichées pour chaque paquet sélectionné, après téléchargement des métadonnées. C'est là qu'on aura les screenshots, le ChangeLog, les commentaires en provenance de la v4, des liens vers de la documentation, les pages de wiki liées, les notes, etc :D .

MainWindow

Conclusion

Malheureusement, vous ne pourrez pas utiliser ce programme en vrai avant quelque temps. En effet, je n'ai que deux mains, bientôt des examens, mais après ce seront les vacances. J'espère que Setup sera capable de supprimer des paquets avant la fin des vacances de Noël, et une GUI plus ou moins fonctionnelle pour Février. Ainsi, le 4 avril, pour les 2 ans de Logram, la toute première version de la distribution, ou du moins des outils, pourra sortir :) .

J'attends tous vos commentaires sur cette interface. Ce sera vous qui utiliserez ce programme, je vous attends :) .

Commentaries

Author Message
linkdd
# le 25/11/2009 à 22h21
Logram, c'est la liberté, la liberté d'enlever KDE
Avatar
Group : Packageur

Beau travail, seulement je pense que pour Logram DE PackageKit ne sera pas utilisé mais bien cette interface (le 100% made by us est à la clé).

Il vaut mieux se taire et passer pour un con que l'ouvrir et ne laisser aucun doute

code lyoko fan
# le 26/11/2009 à 2h00
Dev de Logram DE, quand il peut...
Website
Group : Codeur

Oui, et puis, autant privilégier les superbes programmes de steck. Normallement, Logram DE utilisera bien Setup, pas envie de recoder ce qui a été si bien fait. Après, si l'intéraction Setup <---> Programme (commandes, ...) est bien faite, on se permettera un petit Linstaller (Comprendre "L'installeur" ^^ )