erplibre/doc/RUN.fr.md
Mathieu Benoit 292a03be8d [ADD] run: choisir la base au démarrage, sans jamais bloquer
« ./run.sh » sans argument partait sans base et l'on choisissait dans le
gestionnaire web. Il choisit maintenant : une seule base, il démarre
dessus ; plusieurs, il affiche un menu numéroté.

Ce qui décide n'est pas le menu mais l'endroit où il ne doit PAS s'ouvrir.
systemd écrit « ExecStart=/bin/bash …/run.sh » sans argument, avec
Restart=always : une question posée là serait une boucle de redémarrage.
Le défaut implicite exige donc un terminal sur stdin ET sur stderr — pas
stdout, qui est toujours un tube dans la substitution qui nous lit.
Mesuré : sans terminal, la ligne d'arguments est identique à l'octet et
la sonde, qui coûte 0,8 s, n'est jamais appelée.

--- EN ---

« ./run.sh » with no argument started without a database and one picked
in the web manager. It now picks: a single database, it starts on it;
several, it shows a numbered menu.

What decides is not the menu but where it must NOT open. systemd writes
« ExecStart=/bin/bash …/run.sh » with no argument and Restart=always: a
question asked there would be a restart loop. The implicit default
therefore requires a terminal on stdin AND on stderr — not stdout, which
is always a pipe inside the substitution that reads us. Measured: with no
terminal the argument line is byte-for-byte identical and the 0.8 s probe
is never called.

Assisted-by: Claude Opus 5
2026-08-23 17:26:41 -04:00

1.8 KiB

Exécuter ERPLibre

Démarrer la base de données

sudo systemctl start postgresql.service

Exécuter ERPLibre

Méthode 1

Simplement

./run.sh

Sans aucun argument, ERPLibre choisit la base pour vous : s'il n'y en a qu'une il démarre dessus, s'il y en a plusieurs il affiche un menu numéroté. Il ne pose la question que devant un vrai terminal — un service lancé par systemd se comporte exactement comme avant.

Deux options le pilotent, et aucune n'arrive jusqu'à Odoo :

option effet
--auto-erplibre choisir la base même quand d'autres arguments sont donnés
--no-cli-erplibre ne jamais afficher le menu ; une base seule est quand même retenue

Nommer soi-même une base — -d, --database — désactive tout, de même qu'un db_name posé dans le fichier de configuration.

Avec des arguments

./run.sh -h

Méthode 2

Exécutez votre propre script Python :

./run.sh --log-level debug

Tout mettre à jour

Bonne idée de l'exécuter lors de la mise à jour d'Odoo, cela met à jour la base de données de chaque module.

./run.sh -d [DATABASE] -u all --log-level debug

Mettre à jour un module

./run.sh -d [DATABASE] -u [module] --log-level debug

Test

Première exécution, installez vos dépendances, choisissez une nouvelle base de données.

./run.sh -d [DATABASE] -i [module to test] --test-enable --no-http --stop-after-init --log-level=test

Exécutez vos tests sur un module spécifique.

./run.sh -d [DATABASE] -u [module to test] --test-enable --no-http --stop-after-init --log-level=test

Exécutez vos tests sur un module spécifique avec des tags.

./run.sh -d [DATABASE] -u [module to test] --test-enable --no-http --stop-after-init --log-level=test --test-tags [module_name][tags]