Le nouveau jaBuT Backup 2019

Le temps passe, beaucoup de code a été ajouté, supprimé et amélioré. Mais maintenant, il est enfin temps de vous dire sur quoi j’ai travaillé et à quoi s’attendre cette année !

Cela fait deux ans que j’ai commencé à tester une nouvelle fonctionnalité, que j’ai toujours appelée « la nouvelle liste de profil ». Cette fonctionnalité et quelques autres éléments sont enfin en phase finale et peuvent être présentés.


L’ancienne liste de profils

L’ancienne liste de profile jusqu’à version 2019.03.23612

Techniquement, le code de l’ancienne liste de profils jusqu’à la version 2019.03.23612 était très brouillon. Jusqu’à cette version, je n’avais jamais séparé le code et le design, ce qui est très important si vous souhaitez programmer pour l’avenir. Mais bon, ça a toujours bien fonctionné !
Toutefois, le principal inconvénient de ce type de travail est que le logiciel doit charger des données à partir du disque dur à chaque fois. Par exemple, lorsque vous ouvrez un profil pour le modifier, toutes les informations du profil sont chargées à partir du disque dur. Lorsque vous enregistrez, les modifications sont sauvegardées sur le disque dur et le profil est enfin rechargé à partir du disque dur pour l’écrire dans la liste des profils.
Le gros avantage de cette conception absolument mauvaise est encore une fois qu’il est difficile de perdre toutes les données en une fois, car toutes les données sont toujours chargées, utilisées et sauvegardées sur le disque dur.

Ce comportement s’applique dans tout le programme. Peu importe ce qui est fait avec un profil. L’exécution d’un profil, la duplication d’un profil, voire le changement de nom d’un profil, entraîne le chargement et la sauvegarde inutiles de données et de tout le reste nécessaire pour accéder aux données du profil.
En tout état de cause, cette procédure est mauvaise et ne devrait être utilisée par personne. Même si vous commencez à programmer, n’utilisez pas cette approche. Investissez un peu de temps et apprenez de la bonne façon.


La nouvelle liste de profils

La nouvelle liste de profils depuis mi 2019

L’implémentation de la nouvelle liste de profils a été reconstruite à partir de zéro, en utilisant une approche complètement différente, meilleure et plus pérenne. L’interface utilisateur, l’accès aux données et la logique businnes sont maintenant séparés, comme il se doit. La mise en œuvre de ce changement a été un travail long et fastidieux. Mais l’effort en vaut la peine, car je peux ainsi implémenter plus facilement des nouvelles fonctions.


La nouvelle interface utilisateur

La plupart des modifications ont été apportées sous le capot et ne sont pas visibles. Pour certains utilisateurs, il peut être frustrant d’attendre une mise à jour avant d’apporter des modifications visibles. En conséquence, j’ai décidé d’apporter aussi quelques modifications à l’interface utilisateur.

Le premier changement évident est la nouvelle liste de profils. Les entrées de profil sont maintenant plus grandes et donc plus faciles à lire. Vous pouvez redimensionner en utilisant le menu principal > Affichage > Zoom. Les icônes d’état ont été reconstruites et peuvent être de tailles différentes. Les profils peuvent maintenant aussi être favorisés en cliquant sur la petite étoile. En outre, les éléments de profil ont désormais des couleurs d’arrière-plan différentes, en fonction de leur statut, et peuvent contenir un texte informatif pouvant être ajouté aux paramètres du profil.

La deuxième modification apportée à l’interface utilisateur concerne un nouveau et plus beau système de groupes de profils. Les groupes de profils peuvent maintenant être ajoutés, renommés, supprimés et réorganisés beaucoup plus facilement qu’auparavant. Le regroupement de profils est maintenant beaucoup plus facile grâce aux onglets plus grands. Cliquez simplement sur un profil avec votre souris et faites-le glisser sur un groupe de profils. Si vous préférez utiliser le clavier, vous pouvez le faire dans les paramètres du profil. Tous les groupes sauf Tous les profils et Favoris peuvent être renommés, supprimés et réorganisés.

La troisième modification concerne les modifications mineures de couleur et de conception dans la fenêtre principale. La fenêtre principale devait avoir l’air plus propre et un peu plus moderne, mais ne devait pas ressembler à une application Windows 10.

Dernier point mais pas le moindre, j’ai mis en œuvre de nombreuses améliorations HighDPI, certains utilisateurs ayant défini une mise à l’échelle supérieure à 100%. Toutes les fenêtres et les boîtes de dialogues devraient maintenant être affichées en DPI jusqu’à 175%. Des tests supplémentaires avec des affichages 4K et une mise à l’échelle de 225% et plus seront effectués ultérieurement. Remarque : Je ne peux pas prédire le comportement actuel de certaines installations de Windows 7 ou d’anciennes versions de Windows, car la mise à l’échelle des fenêtres ne fonctionne correctement que depuis Windows 10.


Prochainement

Les corrections de bugs et améliorations régulières feront toujours partie du développement de jaBuT Backup. Pour cette année, j’ai prévu d’implémenter la possibilité d’ajouter plusieurs répertoires sources par profil, selon les souhaits de plusieurs utilisateurs. Pour implémenter cela correctement, je dois apporter de nombreuses modifications au code et à l’interface utilisateur. Une fois que cela sera fait, je réfléchirai à ce qui va être mis en œuvre ensuite. Si tu veux, tu peux m’aider ! Contactez-moi par e-mail et dites-moi ce que vous aimeriez voir dans jaBuT Backup =)


Résumé

Maintenant que les deux grandes refactorisations sont terminées, je peux me concentrer sur la mise en œuvre de fonctionnalités supplémentaires, comme indiqué dans la feuille de route. Malheureusement, les deux dernières refactorisations étaient absolument nécessaires pour pouvoir mettre en œuvre de nouvelles fonctions de manière ordonnée sans introduire un énorme chaos de code.

J’espère que les modifications apportées à cette implémentation et jaBut Backup vous plairont également. Si vous trouvez des erreurs, n’hésitez pas à me contacter.


git diff pour geek

diff between update 2019.03.23612 and now
324 files changed, 26884 insertions(+), 19656 deletions(-)

diff between update when I started this refactor and now
1035 files changed, 50268 insertions(+), 122604 deletions(-)