Application desktop (Wails v2, Go + React) qui synchronise les temps enregistrés sur toggl track vers Redmine.
- Chargement des temps enregistrés sur toggl track pour une période donnée.
- Rapprochement avec les entrées de temps déjà présentes sur Redmine, pour éviter les doublons.
- Blocage de la synchronisation d'une tâche toggl track en cours d'enregistrement.
- Blocage de la synchronisation d'une tâche dont le ticket Redmine associé est fermé depuis plus de 15 jours.
- Gestion du dépassement de quota de l'API toggl track (affichage du délai avant de pouvoir réessayer).
- Envoi des entrées sélectionnées vers Redmine en un clic, depuis l'écran « Synchroniser ».
Les clés API et URLs de toggl track et Redmine se saisissent dans l'écran « Configurer » de l'application.
Elles sont stockées dans ~/.toggl-redmine/config.json (fichier créé automatiquement au premier lancement). Valeurs
par défaut des URLs :
- toggl track :
https://api.track.toggl.com/api/v9 - Redmine :
https://suivi.umanit.fr
L'environnement de dev est fourni par Nix + direnv (flake.nix / .envrc) : Go, la CLI Wails, Node.js et les
dépendances système GTK/WebKit nécessaires sont chargés automatiquement.
direnv allowPuis, pour lancer l'application en mode développement (hot reload du frontend via Vite, devtools accessibles sur
http://localhost:34115) :
wails devLe build tag Go
webkit2_41(requis pour lier contre webkitgtk 4.1) est déjà fixé viabuild:tagsdanswails.json: pas besoin de le passer à la main.
Le shellHook du flake affiche le GOROOT à utiliser à chaque entrée dans l'environnement (direnv allow ou
nix develop). À défaut, go env GOROOT donne la même information.
wails buildLe binaire est généré dans build/bin/.
- Go 1.25, Wails v2.13
- Frontend : React 18 + Vite 3 (
frontend/)
Voir CHANGELOG.md pour l'historique des versions.
Les releases sont construites automatiquement par la CI GitHub Actions (.github/workflows/main.yaml) sur chaque
tag Git poussé : builds linux/amd64 et darwin/universal, publiés en release GitHub.
Le binaire linux/amd64 est compilé sous Ubuntu et lié dynamiquement contre les libs système à leur emplacement
standard (FHS) : il fonctionne tel quel sur Ubuntu/Debian et distributions similaires, mais pas sur NixOS
(erreur error while loading shared libraries: libglib-2.0.so.0: cannot open shared object file, NixOS n'ayant
pas cette arborescence FHS). Sur NixOS, utiliser plutôt le flake du repo :
nix run github:umanit/toggl-redmineou, depuis un clone local :
nix build .
nix run .Pour une installation persistante (avec entrée dans le menu applications et icône), plutôt que
nix run à chaque lancement :
nix profile install github:umanit/toggl-redmine