1

yop,

Je cherche à faire un outil de backup différentiel pour mes besoins perso. Foin de rsync et autres xcopy (ils existent, donc n'ont aucun intérêt), je veux faire mon p'tit truc graphique. Objectif, simplicité (faut que ma femme puisse l'utiliser).
Donc pas trop de bouton et une interface intuitive. Et là c'est mal barré pour moi.

Tout de suite, un mockup : 6XBv

Donc l'idée, c'est de prendre les choses dans l'ordre. Je vais aussi essayer d'expliquer pourquoi j'ai choisi cette façon de faire.
- on définit un répertoire source et un destination. Leur chemin complet remplace "src" et "dest".
- ensuite, on clisque sur "Lancer l'ananlyse des fichiers", qui sert à les lister en interne. Je souhaite pas lancer le listing / comparaison dès la définition de la destination, pour ne pas provoquer un freeze un peu inattendu si le traitement est long.
- une fois l'analyse faite, les boutons du cadre "Fichiers" s'activent. On peut afficher dans le tableau en dessous les fichiers qui vont être sauvegardés (les créés ou modifiés), ou tous (ie ceux qui n'ont pas bougé). La colonne "Sauvegarder" contient une case à cocher, cochée par défaut, qui permet de ne pas traiter un fichier.
- on lance l'opétation avec "Lancer la Sauvegarde".
- le log, je sais pas si c'est utile, mais j'aime bien que les softs qui lancent des opérations qui dure un moment me racontent un peu ce qui se passe.


Donc, je poste ça pour avoir des critiques, il me semble évident qu'on peut faire 10 fois mieux. Le truc, c'est que je sais pas comment grin
Deux possibilités :
- vous avez du courage et vous faites vous aussi un mockup
- vous me donnez des idées assez précises pour que je les implante, en poste une image et qu'on en discute ensemble
Merci d'avance. smile

2

Premier point que je vois : ton "flux" d'utilisation est séquentiel, mais ton mockup représente toute les étapes à la fois. Du coup, ça donne quelque chose d'apparence très lourde, avec des élements qui sont actifs ou non suivant le mode, etc.

Pour ce genre de cas, et surtout si tu vises des utilisateurs débutants, une solution de type "wizard" (genre les assistants Windows, où tu fais une étape à la fois, avec des boutons "suivant" et "précédent") convient mieux.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

3

Bien vu. J'ai pas précisé, tant que src/dest/analyse ne sont pas faits, le cadre "Fichiers" et son contenu sont grisés, donc on n'y regarde même pas a priori.
Mais c'est une bonne idée ton truc, c'est vrai que ça serait bien plus intuitif.
Ca donnerait :
Fenêtre 1 : choix de src
Fenêtre 2 : choix de dest
Fenêtre 3 : listing des fichiers
Fenêtre 4 : résultat du backup

Les fenêtres 2, 3 et 4 indiquent sur une simple ligne les données définies aux étapes précédentes, histoire qu'on soit sûr de ses billes tout au long du processus.
C'est bien ça l'idée ?

4

Ouaip, mais tu n'as même pas besoin de rappeler dans les étapes suivantes ce qui a été choisi dans les étapes précédentes. On suppose que l'utilisateur a un minimum de mémoire tongue
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

5

Toi, tu n'as pas vu Nemo embarrassed

Mon beau père apprécierait de voir ses choix précédents je pense (pour peu que ces choix aient été fait à la va-vite)
avatar
pedrolane stoppe la chute des chevaux

La DNC-Team : un club plein de mystères

6

En cas de doute, on peut toujours cliquer sur Précédent pour revoir ses choix smile
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

7

C'est sûr. Mais je vais voir si je peux quand même intégrer ce que j'ai dit sans rendre ça illisible. Dans un premier temps, ce n'est pas nécessaire de toute façon.

8

Folco (./3) :
Les fenêtres 2, 3 et 4 indiquent sur une simple ligne les données définies aux étapes précédentes, histoire qu'on soit sûr de ses billes tout au long du processus.
Perso, j'aime bien cette idée... je déteste avoir à faire "Précédent", déjà parce que psychologiquement je prends ça pour un retour en arrière, mais surtout parce que je n'ai jamais la certitude que le magiciel (oui, c'est mon néologisme pour wizard embarrassed ) ne va pas me reproposer les choix par défaut au lieu de mes propres choix.
avatar

9

plutôt que magiciel, je proposerais plus sorciel, parce que bien souvent, ça fait plus de mal que de bien ^^
avatar
pedrolane stoppe la chute des chevaux

La DNC-Team : un club plein de mystères

10

Bon, nouvelle maquette :
Step 1 :
Kmdz

Step 2 :
kFte

Step 3 :
yCAr

Et un récap en dernière étape, quand même. Ca serait ça, l'idée ?

Bon sinon, j'ai une idée qui mix ça et ma première, mais j'ai jamais vu ça nulle part donc ça doit être supayrnulashié, on va quand même tenter un mockup en speed, histoire de rigoler hehe

11

Voilà, idée suivante :
99r8

Donc là on a tout sur une page, mais on garde la logique étape par étape, et ce explicitement : il y a une seule zone active (on pourrait même faire une emphase particulière avec un cadre de couleur ou assimilé), les zones précédentes et suivantes sont grisées.
On a donc tout sur une page, on avance donc pas à tâton, parce que c'est ce qui me gêne avec un wizard.
Mais on voit clairement quelle étape on traite, et on a qu'une action à réaliser par étape, c'est donc très séquentiel au niveau visuel et au niveua input.

J'ia jamais vu ça, j'imagine donc que c'est mauvais ?

Surtout n'hésitez pas à proposer et à critiquer, ça prend trois minutes de faire une maquette de ce genre.

12

Je pense que ça combine les inconvénients de ta première solution (aspect très chargé) avec ceux des wizards (c'est séquentiel, donc si on veut changer quelque chose après coup, il faut revenir en arrière). Désolé tongue
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

13

Ca doit être pour ça que c'est nul alors tripo

Bon et sinon, le wizard, c'est un truc du genre que t'aurais fait ? Evidemment, comme ça c'est pas beau mais c'est du détail qui se travaille. smile

14

Oui c'est ça. Le bouton Quitter est un peu redondant, vu que tu peux fermer la fenêtre avec la croix.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

15

perso, j'aime bien, au contraire. On voit tout d'un coup, on sait ce qui nous attend ou ce qui est déjà fait;
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

16

flan -> donc plus ./11 ou ./1 ? Moi aussi j'aime bien cette idée de "on sait ce qui nous attend". Après, c'est probablement pas le plus user-friendly. Ceci dit, ça n'a pas non plus besoin d'être neuneu-friendly grin

Pour le bouton Quitter, je comprends, mais j'aime bien les apps qui en ont, ça évite de se poser la question "si je ferme l'application en l'état, que va-t-il se passer, est-ce que qqchose aura été traité ou pas ? Là, c'est prévu pour, on ne se pose même pas la question amha.

17

plutôt ./11 (et pareil pour le bouton quitter)
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

18

alors, attention, accroche toi folco, je te rajoute l'idée du con qui sait pas programmer pour deux ronds : la combinaison du wizard et du n°3 à savoir :

Les étapes non atteintes sont "comme" des menus déroulants compactés non actifs, les étapes franchies des menus déroulants compactés actifs et qui contiennent le résumé des choix effectués, et le menu en cours est lui déployé.

Ce qui te fait une fenêtre plus compacte, où tu vois ce que tu as fait, les étapes à venir.

Sinon, vu que je sens que mon idée est capillotractée, j'ai une nette préférence pour la 3 et aussi pour le bouton quitter mais peut être en le nommant "annuler"
avatar
pedrolane stoppe la chute des chevaux

La DNC-Team : un club plein de mystères

19

Ahahah, j'ai eu la même idée, mais ça semble tellement tordu que j'ai pas osé poster grin
A cause notamment du fait que toute l'UI va bouger à chaque changement d'étape, donc pour s'y retrouver il y a mieux ^^
Mais bon, vu que tu me le proposes, c'est ce qu'on va tenter dès la débauche cheeky

20

Perso je propose une autre idée qui me semble plus légère visuellement et plus conforme aux cannons de l'UI.
tromb Fichier joint : vEdF
* maquette non contractuelle faite en 2 minutes sous Netbeans
J'ai pas refait l'intérieur du cadre de fichiers, mais il serait identique sur la forme. Il faudrait le rafraichir à chaque fois qu'un des deux dossier change, et il resterait bien sur vide et grisé, tant que les deux dossiers ne sont pas des répertoires valides.

Le journal pourrait rester dans la fenêtre, mais je pense qu'il serait aussi bien dans une fenêtre séparée, ouverte quand on clique sur lancer.
avatar

21

Superbe. Simple et efficace, tout y est sans rien de trop. Merci beaucoup, je fais ça !

22

Et voici mon draft : tromb Fichier joint : dROf

Juste une petite différence : le bouton "Analyser les différences". Pour être bien sûr qu'on a bien choisi les deux bons chemins, avant de lancer une analyse qui pourrait être longue (je sais pas si ça pourrait être suffisamment long pour être "bloquant").
- ce bouton, comme "Lancer la sauvegarde", est désactivé quand on a pas les chemins.
- les boutons de choix de chemins sont désactivés quand on a lancé le diff et que le tableau est rempli.
- ce bouton "Lancer la sauvegarde" a pour intitulé "Modifier les chemins" une fois le diff affiché.


***WIP***

Ca donne ça. Au début, on sélectionne les chemins : tromb Fichier joint : dudr

Puis on a la liste des fichiers, mais on peut modifier les paths (ce qui demande de refaire l'analyse etc...) : tromb Fichier joint : 1LQ7

Enfin, une fois la sauvegarde fait, on a le log et on peut recommencer un nouveau backup : tromb Fichier joint : qS7K

Donc encore une fois une UI séquentielle, mais bien simplifiée à mes yeux, et une activation/désactivation des boutons qui indique clairement la marche à suivre.
Je suis pas hyper convaincu par le log. Peut-être dans un onglet à part ? Le coup de la fenêtre à part, je suis pas un fan, je peste toujours après les softs multi-fenêtrés pour le plaisir.

23

Avoir un bouton qui change de nom et de fonction mais qui reste à la même place, c'est pas très recommandé, question ergonomie (à la rigueur pour un toggle on/off, et encore, c'est discutable).
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

24

Ah oui, j'avais pas vu ça comme ça, en effet. Il me faut une autre idée.

Ahahah, Qt love
http://doc.qt.io/qt-5/qtreeview.html#details
Regardez le snippet : 4 lignes pour générer une liste arborescente et détaillée d'un filesystem, à partir du répertoire qu'on veut, c'est pas beau ça ? love

edit -> tromb Fichier joint : 9chd

Bon après c'est qu'une vue, reste avec un diff avec la destination, et proposer quelques options, puis écrire l'algo du backup, bref de la cosmétique, quoi embarrassed

25

Folco (./22) :
Juste une petite différence : le bouton "Analyser les différences". Pour être bien sûr qu'on a bien choisi les deux bons chemins, avant de lancer une analyse qui pourrait être longue (je sais pas si ça pourrait être suffisamment long pour être "bloquant").
Ça serait un peu plus complexe, mais il doit y avoir moyen de faire le traitement de comparaison dans un Thread séparé qui ne bloquerait pas l'interface. Cela permettrait de changer le répertoire pendant que la liste se charge.
SVgi
Folco (./22) :
Je suis pas hyper convaincu par le log. Peut-être dans un onglet à part ? Le coup de la fenêtre à part, je suis pas un fan, je peste toujours après les softs multi-fenêtrés pour le plaisir.
En fait, je ne suis même pas convaincu qu'il soit vraiment utile de l'afficher le journal par défaut, surtout si l'appli doit être utilisée par des gens qui veulent une interface très simple. Avant de lancer l'import, le tableau des différence te permet de voir la liste des opérations donc s'il n'y a pas eu d'erreur, c'est que ces opérations se sont réalisées. Si tu rafraîchis le tableau juste après l'import, tu as la confirmation que les actions on bien eu lieu.

Personnellement je le verrais bien affiché que sur demande une fois l'opération terminée :
ekgS

Si tu tiens a l'avoir dans la fenêtre, je pense que le replier par défaut pourrait être une bonne idée :
UNRK

Après c'est toi qui connais le mieux ton usage.
avatar

26

Et pourquoi pas, au lieu du journal, avoir un résumé du style x fichiers / y traités soit z octets / z'
avatar
pedrolane stoppe la chute des chevaux

La DNC-Team : un club plein de mystères

27

Merci beaucoup pour ces maquettes poussées Uther top
Je vais certainement piquer sans vergogne dans toutes vos idées, merci à tous cheeky

28

Bon, je suis sur autre chose en ce moment.
J'ai une masse absolument énorme de documents à scanner, des milliers de pages.
Mon scanner me sort des 12341435.jpg, il me faut donc renommer rapidement ces documents.

Je veux pouvoir :
- spécifier le répertoire source, qui contient tous les fichiers scannés appartenant à un bouquin
- spécifier éventuellement une destination, pour copier voire déplacer les fichiers
- spécifier un nom plus parlant, en y accollant _01, _02 etc...
- utiliser une partie du path destination dans le nom des fichiers (par exemple, si la destination est /abc/def/ghi, je veux que le fichier s'appelle "ghi - page_01.jpg", ou "def - ghi - page_01.jpg")
- avoir un séparateur paramétrable entre les noms de répertoire et le nom de fichier

Donc au niveau de la programmation, pas de souci. Par contre au niveau visuel, j'ai du mal à faire un truc cohérent, qui ressemble à quelque chose même sur une fenêtre de bonne taille.

Voici ce que j'ai fait de plus potable, mais j'ai quand même du mal à organiser le layout de la fenêtre. Peut-être même que cette n-ième ébauche est complètement à revoir :
tromb Fichier joint : QOqx

Merci pour vos avis et conseils. Pour ceux qui voudrait retoucher ça plus rapidement avec Qt Creator, voici le fichier de l'ui : tromb Fichier joint : MainWindow.ui

Souane a été appelée sur ce sujet.

C'est le moment où jamais de prouver que t'es agrégée en interface ! grin

29

(tu sais que tu es encore en train de réinventer la ro... non rien, laisse tomber hehe)
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

30

alors déjà j'avais tout fait pour ne pas taper "batch renaming", c'est pas sympa de poster le lien embarrassed

Ensuite, je bosse sur une fonction que j'ai pas décrite : le programme devrait pouvoir trouver les fichiers d'un même bouquin, ce qui me permettrait de scanner au kilomètre pour ne trier qu'après, en se basant tout simplement sur les timestamps. Le tableau en bas contient la liste des fichiers, en affiche un aperçu, peut l'ouvrir en double-cliquant pour contrôler que la sélection automagique a bien fonctionné. Et ça, j'ai pas encore trouvé embarrassed