AutoHotkey
Sous Windows, AutoHotkey transforme n’importe quelle combinaison de touches en bouton de chronomètre. Le script n’a besoin que d’AutoHotkey v2 et de l’interface HTTP intégrée à Windows, sans autre bibliothèque ; après chaque appui, une notification t’indique où tu en es.
- Sous Paramètres, API et appareils, ajoute un appareil de type « Autre appareil » et copie le jeton.
- Installe AutoHotkey v2.
- Enregistre le script ci-dessous sous
horaka.ahk(UTF-8) et lance-le par un double clic. Pour d’autres projets, copie la ligne avec^!F9et donne-lui sa propre touche et son propre alias. - Pour lancer le script à la connexion, place un raccourci dans le dossier de démarrage (Windows+R,
shell:startup).
#Requires AutoHotkey v2.0
#SingleInstance Force
Address := "https://api.horaka.com/v1"
Token := "TON_JETON"
; Ctrl+Alt+F9: toggle project, Ctrl+Alt+F10: stop, Ctrl+Alt+F11: show status
^!F9::Notify("/track/toggle", '{"project": "PROJET"}')
^!F10::Notify("/track/stop")
^!F11::Notify()
Horaka(Method, Path, Body := "") {
Request := ComObject("WinHttp.WinHttpRequest.5.1")
Request.Open(Method, Address Path, false)
Request.SetRequestHeader("Authorization", "Bearer " Token)
Request.SetRequestHeader("Content-Type", "application/json; charset=utf-8")
Request.Send(Body)
if (Request.Status != 200)
throw Error("HTTP " Request.Status)
return Request.ResponseText
}
Notify(Path := "", Body := "{}") {
try {
if (Path != "")
Horaka("POST", Path, Body)
TrayTip(Horaka("GET", "/track/status?format=text"), "Horaka")
} catch as Problem {
TrayTip(Problem.Message, "Horaka", "Iconx")
}
}
Au lieu de /track/toggle, tu peux utiliser /track/start et /track/switch avec le même corps ; ajoute "activity" à côté de "project" pour saisir une activité précise. Après chaque appui, la notification affiche les heures du jour et le chronomètre en cours. « HTTP 401 » signifie un jeton incorrect, « HTTP 403 » signifie que l’appareil n’a pas le droit de saisir sur ce projet ou que la limite d’appareils de ton offre est atteinte.
Sur certaines dispositions de clavier, Ctrl+Alt avec une lettre équivaut à AltGr, c’est pourquoi l’exemple utilise les touches de fonction. Chaque point de terminaison est décrit dans la documentation de l’API.