UTILITY / DOCUMENTATION

Utility Driver

Guide d'installation, configuration et gestion de vos dépôts Git.

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èmeFichier
WindowsUtility-Setup.exe
macOSUtility.dmg
LinuxUtility.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…

Vérifiez le résultat de la commande de contrôle avant de poursuivre. Si la vérification SHA-256 échoue, n'installez pas le fichier.

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 48219930

Le 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 | confirm

La 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, par utility-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 run

Sous 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.target
systemctl --user enable --now utility-driver

L'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 machine

forget 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 run

Un 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.