Journal Sortie de Calendar Assistant 0.1 beta

Posté par  . Licence CC By‑SA.
Étiquettes :
22
7
nov.
2021

Bonjour Nal,

Si je prends ma plume pour t’écrire aujourd'hui, c'est pour te présenter un petit projet, temporairement et sobrement nommé "Calendar Assistant" (rien que ça !), résultat d'une volonté de ma part de jouer un peu avec Python et surtout GTK, afin d'avoir une première vraie expérience avec ce langage et ce toolkit.

Comme son nom l'indique, Calendar Assistant est principalement destiné aux assistés de mon espèce, qui ont besoin d'une sorte de Smithers à leur cotes en permanence, pour leur rappeler certaines dates importantes. Ex-cel-lent !

Par date importante, je pense d'abord aux dates d'expirations de certains documents, par exemple celle de mon passeport. Si toi aussi tu as déjà fais l’expérience de découvrir que ton passeport était arrivé à expiration en arrivant à l’aéroport, dis le dans les commentaires, et laisse un pouce bleu.

Je sais ce que tu vas me dire Nal, mais pourquoi diable ne pas utiliser directement le Calendrier de ton environnent de bureau tout simplement ? C'est à dire que le calendrier, je préfère l'utiliser pour les rendez-vous fixes et proches, d'avantage que pour les dates d'expirations, d'autant qu'avec les évènements répétitifs, le calendrier est vite encombré. L'autre soucis, c'est que je fais parti de ces gens qui cinq minutes après être sortis de chez eux, ont besoin d'y retourner immédiatement pour vérifier que le gaz n'est pas resté allumé, et que j'ai bien éteint ma cigarette (pour me rendre compte en revenant que ce sont des plaques à induction, et surtout que je ne fume pas, ouf alors, mais est-ce que j'ai bien reverrouillé la porte d’entrée en repartant la deuxième fois ?). Donc pas question pour moi d'utiliser un outil qui ne serait pas capable de m'afficher d'un coup toutes les dates de tous mes documents, j'ai besoin d’être rassuré en voyant que tout est bien là à tout moment.

Bon, je te vois venir, Nal, tu vas me demander pourquoi ne pas utiliser une TODO list, genre "GTG". Et bien figure toi que j'y ai pensé. J'utilise déjà ce genre d'outil, principalement pour les tâches insurmontables (par exemple : changer l'ampoule des toilettes pour arrêter de faire ça dans le noir comme depuis six mois) que je ne ferais sans doute jamais (ou peut être quand je serais à la retraite), mais qui doivent quand même apparaître sur une liste pour me donner bonne conscience (et surtout pour pouvoir dire à ma femme que c'est sur ma liste quand tous les deux jours elle me demande où ça en est). Bref, c'est déjà pris pour les tâches sans dates précises, qui s'accumulent, et pour lesquelles la simple vue me fatigue déjà (alors inutile de rajouter à cela les choses vraiment importantes).

Bon, tu l'auras compris Nal, Calendar Assistant est principalement destiné aux évènements cycliques (mais pas que), qu'ils soient courts ou longs. Il permet de définir plus ou moins finement la façon dont la prochaine date sera calculée, et, et c'est la que ça devient intéressant, de faire le renouvellement d'un simple clic. Une nimage pour résumer le tout ci-dessous.

Nimage

Le tout se veut plus ou moins (oui je dis souvent plus ou moins et alors ?) cohérent avec un environnement GNOME.

C'est une toute première version bêta pour le moment, qui marchera sans doute pas très bien (ou pas du tout) une fois installée ailleurs que sur ma Debian old stable (et oui, la mise à jour est déjà présente sur ma liste gtg, plus ou moins).
Il y a quand même déjà quelques petites fonctionnalités implémentées :
- internationalisation (l'application est déjà disponible dans un anglais approximatif, et évidemment en français, approximatif également).
- quelques raccourcis claviers
- des notifications
- possibilité de générer des fichiers .ics pour voir la même chose dans un calendrier quand même
- possibilité d'importer quelques cas pré-configurés, pour ceux qui n'ont pas de passeport et qui veulent quand même commencer une liste de choses qui expirent
Avec en prime un .deb sans doute pas encore tout à fait conforme, mais qui chez moi fonctionne. Et le tout en GPL v3+. (En fait le .deb if faut le générer en exécutant un fichier bash)

Bon, je sais ce que tu vas me dire, Nal, tu vas me dire : tu as regardé un peu du côté de insérer ici le nom du logiciel libre qui fait exactement la même chose mais en mieux depuis dix ans ? Oui, ben si tu avais lu attentivement, l’idée de départ c’était quand même de jouer avec Python et GTK. Il faut lire avant de commenter enfin ! Et comme c'est la première fois que j'utilise de façon un peu sérieuse l'un et l'autre, il y a bien des choses qui pourraient être, j'en suis sûr, améliorées. Tous les retours et les conseils sont les bienvenus.

Avant que je n'oublie, voila le lien vers le code.
https://gitlab.com/ant1kbg-main/cal-assistant

Je sais Nal que tu meurs d'impatience de savoir comment tu pourrais contribuer à cette fabuleuse aventure. Tous les tickets sont appréciés, les rapports de bugs comme les propositions de nouvelles fonctionnalités (même si à mon goût, c'est déjà devenu plus complexe que je ne l'aurais voulu initialement) ou autres idées améliorations. Il est évidemment possible de directement contribuer au code, mais il est aussi possible de proposer de meilleurs traductions (ou de nouvelles), ou d'autres évènements pré-configurés, ou encore d’améliorer le manuel d'utilisation. Plus important, tu auras sans doute remarqué que les icônes (y compris le logo) ont étés un peu chourave à un thème GNOME et au logiciel GNOME Calendrier (avec un petit camouflage pour pas que cela se remarque, quand même !). Bon, je compte sur toi pour pas aller le crier sous les toits, hein, ça reste entre nous. C’était ça, ou bien saigner des yeux a chaque fois que j'ouvre CA (c'est le diminutif pour Calendar Assistant), si j'avais dû les faire moi-même. Dis, Nal, tu aurais des icônes chouettes que je pourrais utiliser ? Et si c'est pas trop te demander, tu aurais un logo cool que je pourrais adopter ?

  • # soutien et inintérêt

    Posté par  (site web personnel, Mastodon) . Évalué à 3.

    J'approuve pour le principe éducatif (formation à Python) et ludique (c'est important de faire des choses qui vous font plaisir) :-)
    Après, je ne suis pas dans la cible correspondante : les rappels de calendriers d'événements et de tâches classiques me vont bien, et je n'ai pas besoin d'afficher mes changements de draps/caleçons/etc. Pour le passeport, c'est une bonne idée et j'ai aussi mis en place un calendrier dédié pour être notifié à temps de certaines échéances administratives (papiers à renouveler ou contrat à résilier/reconduire)
    Pour les icônes, tu peux piocher dans the Noun Project et Remix Icon par exemple.

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

    • [^] # Re: soutien et inintérêt

      Posté par  . Évalué à 1.

      Merci pour ce retour et pour ces deux liens, je vais regarder ça de plus près, même si a première vue toutes les icônes sont monochromes, il faudrait que j'essaye, mais j'ai peur que ça fasse un peu trop austère.

  • # Merci !

    Posté par  . Évalué à 3.

    Tout le monde ne gère pas son temps de la même façon et comme tu l'as dit, il existe déjà des agendas disponibles dans les environnements de bureau.

    Mais ce sont des méthodes qui ne me conviennent pas plus qu'à toi : ton approche semble assez proche de ce dont j'aurais besoin, je vais y jeter un œil.

    Pour le moment, j'utilise un simple script Python maison sur un VPS. Lancé en ligne de commande avec les arguments qui vont bien, il me permet d'ajouter/éditer/supprimer des entrées. Lancé sans argument à intervalles réguliers dans mon crontab, il m'envoie des mails pour me dire qu'aujourd'hui j'ai rendez-vous au garage, que demain c'est l'anniversaire de Bidule ou que dans deux mois ma carte de banque arrive à expiration…

    • [^] # Re: Merci !

      Posté par  . Évalué à 1. Dernière modification le 08 novembre 2021 à 15:19.

      Oui ça pourrais en effet correspondre.

      Une fonctionnalité qui n'est pas implémentée pour le moment est la possibilité d’héberger le fichier de données sur un serveur pour pouvoir l’éditer depuis plusieurs endroits. Ce n'est pas quelque chose que j'avais prévu initialement, même si ça pourrait être pratique, principalement pour une édition depuis un mobile (mais ça signifie le développement d'une application mobile ou au minimum d'une interface Web).

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.