Aller au contenu

L'outil en ligne de commande

lqcli est un petit programme qui pilote votre compte Louquillou depuis un terminal. Il affiche toujours ses résultats en JSON, ce qui le rend facile à enchaîner avec d’autres outils.

lqcli est un binaire unique, sans runtime ni dépendance système à installer. Les archives pour macOS (Apple Silicon et Intel), Linux et Windows sont sur la page de téléchargement.

Décompressez l’archive et placez le binaire dans un répertoire de votre PATH :

Fenêtre de terminal
tar xzf lqcli-macos-arm64.tar.gz
sudo mv lqcli /usr/local/bin/
lqcli --version

Chaque archive est publiée avec son empreinte SHA-256, dans le fichier SHA256SUMS de la même version. Vérifiez-la avant d’exécuter le binaire.

Vérifiez ensuite que tout répond :

Fenêtre de terminal
lqcli health

Deux réglages pilotent l’outil, en variables d’environnement ou en options :

VariableOptionRôle
LOUQUILLOU_API_URL--api-urlL’adresse du service. Par défaut https://api.louquillou.com, l’API de production ; pour cet environnement, utilisez https://api.louquillou.com.
LOUQUILLOU_TOKEN--tokenVotre jeton de connexion.

Connectez-vous avec vos identifiants habituels, puis conservez le jeton :

Fenêtre de terminal
export LOUQUILLOU_API_URL=https://api.louquillou.com
export LOUQUILLOU_TOKEN=$(
lqcli auth login --email vous@example.com --password 'votre-mot-de-passe' \
| jq -r .access_token
)

Toutes les commandes sauf health et auth login nécessitent ce jeton.

L’outil s’organise par ressource, sur le modèle lqcli <ressource> <action>.

RessourceCe qu’elle couvre
authCréer un compte, se connecter, consulter son profil, se déconnecter
dashboardLe récapitulatif de votre compte
alertsLister les alertes, les marquer comme lues
propertiesVos biens, leur photo de couverture, leurs baux et paiements
tenantsLes locataires d’un bien
leasesLe bail d’un locataire, sa génération en PDF, son envoi et sa conformité
paymentsLes paiements d’un bail
receiptsLes quittances d’un bail, leur génération et leur lien de téléchargement
chargesLa régularisation annuelle des charges
revisions / irlLa révision des loyers
remindersLes relances d’impayés
deadlinesLes échéances à venir
sepaLe prélèvement automatique et les mandats
billing / planVotre abonnement et votre facturation
onboardingLa mise en route de votre compte
documentsConsulter, modifier, téléverser et télécharger vos documents

Presque toute l’API est couverte : 88 points d’entrée sur 90. Les deux exceptions sont des adresses techniques qui n’ont pas de sens en ligne de commande — la page d’autorisation présentée au locataire et le retour automatique de Stripe.

Quelques exemples :

Fenêtre de terminal
# Vos biens, filtrés
lqcli properties list --city Paris
# Les locataires d'un bien
lqcli tenants list <identifiant-du-bien>
# Générer une quittance
lqcli receipts generate <identifiant-du-bail> '{"month": "2026-03"}'

Ajoutez --help à n’importe quel niveau pour obtenir la liste exacte des options : lqcli properties --help.

Partout où une commande attend des données, trois écritures sont acceptées : le JSON directement entre guillemets, un fichier précédé de @, ou l’entrée standard avec -.

Fenêtre de terminal
lqcli charges create <identifiant-du-bail> '{"year": 2026}'
lqcli charges set-actual <identifiant> @charges.json
jq -n '{charges: [{category: "eau", amount: 120.00}]}' | lqcli charges set-actual <identifiant> -
Fenêtre de terminal
lqcli documents upload --file bail.pdf --metadata '{"title": "Bail", "category": "contract"}'

Le type de fichier est déduit de l’extension ; l’option --content-type permet de le forcer. Les catégories acceptées sont diagnostic, photo, receipt, contract et other.

Comme la sortie est du JSON, jq permet d’extraire ce qui vous intéresse :

Fenêtre de terminal
# Les noms de tous vos biens
lqcli properties list | jq '.data[].name'
# Les paiements en attente d'un bail
lqcli payments list <identifiant-du-bail> --status en_attente | jq '.data[]'

Les résultats partent sur la sortie standard et les messages d’information sur la sortie d’erreur, ce qui permet de rediriger proprement l’un sans l’autre.