Bon ça avance, mais j’ai un eu un problème…
J’ai atteint les limites de Tkinter pour ce projet.
- Limite des listes de sélection : il me fallait en fait un tableau sélectionnable, avec plusieurs cellules par lignes pour afficher des zolis zîcones. Ce n’est pas possible avec Tkinter. Il faut le faire à la main.
- Thème : Pas de support des thèmes.
- Problème dans la barre de menu : celle-ci se désactive et il faut cliquer ailleurs dans la fenêtre pour la réactiver… Pas eu la patience de chercher pourquoi.
J’ai donc pris la décision de changer de cadre d’application pour l’interface.
J’ai testé PysimpleGUI, mais j’ai obtenu la même chose que Tkinter avec les mêmes limites (puisque c’est une surcouche à Tkinter).
Les thèmes fonctionnaient, mais étaient top moches…
J’ai testé Kivy. C’est très bien, mais c’est orienté jeu/mobile. Pas du tout desktop. Et comme Python sur mobile, c’est possible, mais franchement pas conseillé du tout (à moins d’avoir une batterie de Tesla… et un mobile de compète) et que c’est Ğecko et Cesium qui sont déjà sur ce support, j’ai renoncé. Le tuto permet de faire un jeu de Pong en quelque minutes, puisque c’est du OpenGL derrière, on a des sprites et de la 3d, avis aux amateurs de jeu desktop en Python !.
Finalement, j’ai testé wxPython. Et je suis tout à fait satisfait pour l’instant. J’ai la puissance de feu de Qt5, mais avec un look adapté au système d’exploitation. Ainsi, pas de thèmes, car l’application prend le thème de votre bureau. C’est vraiment un gros plus pour s’intégrer dans tous les OS. Je pense qu’une fois la version Linux stable, je ferai des packages Windows et MacOS. Ça n’a pas l’air trop dur.
La bonne nouvelle est que l’architecture du code de l’interface n’est pas modifiée (c’est la même philosophie pour Tkinter et wxPython).
Le nom Tikka
Vous allez me dire que le nom ne rime plus à rien (Tikka → Tkinter) et vous aurez raison. Mais tant pis, il sonne bien, je le garde…
Utilisateurs cibles de Tikka
J’ai réfléchi à la cible d’une application de bureau. C’est important car cela permet de savoir quoi implémenter dans l’application.
Je veux que l’application soit très “illustrée”, avec des icônes et des images très présentes pour que son approche soit ludique et simple.
Mais je veux qu’elle ait un plus par rapport à Cesium et Ğecko. Je pense qu’une fois les fonctions de bases implémentées, je vais me pencher sur les besoins des commerçants. Pourquoi pas ajouter des fonctions de comptabilité (relative si possible) et des graphiques permettant d’avoir des dates précises pour la dévaluation d’une trésorerie en relatif au dessus de la moyenne par exemple. A voir…
To do
Sauvegarde en fichier DEWIF (Tikka mémorise le chemin pour le charger en cas de signature).
Chargement de fichier DEWIF pour ajouter un compte ou pour le lier à un compte existant (là aussi, Tikka ne chargera le fichier qu’en cas de signature de document).
Ajouter la licence Ğ1 dans les deux langues supportées.
Refaire l’interface avec wxPython (en cours)
Connection à GVA pour afficher les transactions
Publication sur GitLab et appel à contributions pour les pythonistes.
Support du p2p (nécessite une contribution à GVA).