Utility
Le logiciel de gestion des entreprises ivoiriennes et africaines : caisse, facturation, stock, personnel, projets et dépôts git — dans une seule application, sur le téléphone comme sur l'ordinateur.
Ce dépôt ne contient que les versions publiées. Le code source vit ailleurs ; ici, on télécharge.
Télécharger
Prenez la dernière version et le fichier qui correspond à votre machine :
| Système | Fichier |
|---|---|
| Windows | Utility-Setup.exe |
| macOS | Utility.dmg |
| Linux | Utility.AppImage ou Utility.deb |
L'application se met à jour toute seule : les versions suivantes se téléchargent en arrière-plan et s'installent à la fermeture.
Les installateurs ne sont pas encore signés. macOS demandera de confirmer l'ouverture dans Réglages → Confidentialité et sécurité, et Windows affichera un avertissement SmartScreen — Informations complémentaires, puis Exécuter quand même. La signature viendra ; en attendant, vérifiez que vous téléchargez bien depuis ce dépôt.
L'agent git — utility-driver
Un petit programme qui tourne sur votre machine et exécute, sur vos dépôts git, les opérations demandées depuis l'application : valider, basculer de branche, publier, mettre à jour.
Votre code ne quitte jamais votre machine. Ce qui remonte, ce sont des états — la branche courante, le nombre de fichiers modifiés, l'avance sur le dépôt distant — et des comptes rendus d'exécution. Jamais un diff, jamais le contenu d'un fichier.
L'installer
Par l'application de bureau, le plus simple : l'agent y est embarqué. Dans Réglages → Git → Sur ce poste, un bouton appaire la machine, un autre choisit un dépôt, et le service démarre. Aucun terminal, et l'agent se met à jour en même temps que l'application.
À la main, sinon. Chaque version publie le binaire et son empreinte :
Installation manuelle
Téléchargement et vérification du binaire
Détection de votre système…
La deuxième ligne compte : elle vérifie que le fichier téléchargé est bien celui que la machine de construction a produit.
L'appairer
Dans l'application : Réglages → Git → Postes de travail → Appairer un poste. Un code de huit chiffres s'affiche, valable dix minutes, à usage unique.
utility-driver pair 48219930Le jeton obtenu va au trousseau de votre système. Il est révocable à tout moment depuis l'application, et cette révocation arrête le poste sur-le-champ.
Déclarer vos dépôts
Rien n'est exposé tant que vous ne l'avez pas écrit. Dans
~/.config/utility-driver/config.toml :
[[repos]]
name = "mon-projet" # le nom affiché dans l'application
path = "/home/moi/code/mon-projet" # chemin absolu
policy = "write" # read | write | confirmLa politique est la limite du pouvoir de l'application, et elle vit sur votre machine :
read— l'application observe, elle n'écrit jamais.write— elle agit sans demander. C'est le mode de la télécommande.confirm— elle demande ; vous validez sur la machine, parutility-driver confirm <id>.
Le serveur ne peut pas élargir ce fichier. Un dépôt absent d'ici n'existe pas pour l'agent.
Le faire tourner
utility-driver runSous systemd, en service utilisateur :
# ~/.config/systemd/user/utility-driver.service
[Unit]
Description=Agent git Utility
After=network-online.target
[Service]
ExecStart=%h/.local/bin/utility-driver run
Restart=on-failure
RestartSec=10
[Install]
WantedBy=default.targetsystemctl --user enable --now utility-driverL'agent se sert des identifiants git déjà présents sur la machine — agent SSH, puis credential helper. Il n'en demande aucun et n'en stocke aucun.
Les commandes
utility-driver repos # les dépôts exposés et leur politique
utility-driver pending # les ordres en attente
utility-driver confirm <id> # valider un ordre retenu par « confirm »
utility-driver state # l'état de l'installation, en JSON
utility-driver update-check # une version plus récente est-elle publiée ?
utility-driver forget # oublier l'appairage sur cette machineforget efface le jeton local ; il ne révoque rien côté espace de travail.
Pour couper réellement un poste, débranchez-le depuis l'application.
Ce que l'agent refuse
La liste des opérations est fermée : status, fetch, pull (fast-forward
seulement), switch, stage, commit, push, stash. Pas de shell, pas de
commande arbitraire, pas de --force, pas de reset --hard.
Et il s'arrête, en disant pourquoi, quand :
- le dépôt est en plein rebase, merge ou cherry-pick ;
- une bascule ou une mise à jour écraserait des modifications non validées ;
- un push n'est pas en avance simple sur son distant ;
- l'index est vide au moment de valider ;
- le dépôt est en lecture seule sur ce poste.
Réglages avancés
L'agent vise un déploiement par défaut. Pour en viser un autre :
UTILITY_CONVEX_URL=https://mon-deploiement.convex.cloud utility-driver runUn agent installé à la main ne se met pas à jour tout seul :
utility-driver update-check lit le manifeste de la dernière version publiée
et indique où prendre la suite. Quand une version minimale plus récente est
exigée, l'espace de travail refuse l'agent périmé en le disant, et
l'application affiche le poste comme « à mettre à jour ».
Vérifier une version
Chaque publication contient driver-manifest.json : la version, l'étiquette,
et l'empreinte SHA-256 de chaque binaire, calculée par la machine qui l'a
compilé.
curl -sSL https://github.com/AZTRA2022/utility-releases/releases/latest/download/driver-manifest.json© Aztra Inc.