erplibre/script/todo/todo.json
Mathieu Benoit 315e45e5f0 [ADD] menu vpn : créer un profil, déposer les secrets, monter le tunnel
`vpn.py` savait tout faire en ligne de commande, mais il fallait écrire le
profil JSON à la main et déposer les secrets dans KeePassXC soi-même. Le menu
pose les questions que le pilote choisi déclare, et lui seul : ajouter une
technologie n'ajoute pas une ligne ici.

Le coffre est manipulé EN PROCESSUS — le mot de passe maître est déjà en
mémoire, le redemander à un sous-processus serait une saisie de plus à chaque
geste. Montage, démontage et diagnostic passent au contraire par `vpn.py` en
sous-processus : ils durent, ils parlent, et la sortie en direct est ce qui
rend une montée de tunnel suivable.
Vérifié : 37 tests sur le menu, aucune saisie réelle.

--- EN ---

`vpn.py` could already do everything from the command line, but the JSON
profile had to be written by hand and the secrets filed into KeePassXC by
hand. The menu asks the questions the chosen driver declares, and only those:
adding a technology adds no line here.

The vault is handled IN PROCESS — the master password is already in memory,
and asking a subprocess for it again would be one more entry at every step.
Raising, tearing down and diagnosing go through `vpn.py` as a subprocess
instead: they last, they talk, and live output is what makes a tunnel coming
up followable.
Checked: 37 tests on the menu, no real input.

Assisted-by: Claude Opus 5
2026-09-04 03:43:02 +00:00

72 lines
2.5 KiB
JSON

{
"kdbx": {
"path": "",
"password": ""
},
"kdbx_config": {
"openai": {
"kdbx_key": "OpenAI api"
}
},
"instance": [
{
"prompt_description_key": "Test - Minimal base instance",
"makefile_cmd": "db_restore_erplibre_base_db_test",
"database": "test"
},
{
"prompt_description_key": "Open RobotLibre 🤖 minimal",
"makefile_cmd": "robot_libre",
"database": "robotlibre"
},
{
"prompt_description_key": "Open RobotLibre 🤖 with search enabled",
"makefile_cmd": "robot_libre_all",
"database": "robotlibre"
}
],
"function": [
{
"prompt_description_key": "Open ERPLibre with TODO 🤖",
"command": "./.venv.erplibre/bin/python ./script/selenium/web_login.py"
}
],
"update_from_makefile": [
{
"prompt_description_key": "Update all erplibre_base on database test",
"makefile_cmd": "db_erplibre_base_db_test_update_all",
"database": "test"
}
],
"code_from_makefile": [
{
"prompt_description_key": "Show code status",
"makefile_cmd": "repo_show_status"
},
{
"prompt_description_key": "Stash all code",
"makefile_cmd": "repo_do_stash"
},
{
"prompt_description_key": "Format modified code",
"makefile_cmd": "format"
}
],
"git_from_makefile": [
{
"prompt_description_key": "Configure git local editor to vim",
"bash_command": "git config --global core.editor \"vim\""
},
{
"prompt_description_key": "Generate git patch to /tmp",
"bash_command": "PATCH=\"/tmp/patch_$(date +%Y%m%d_%H%M%S).patch\"; git -C \"$(pwd)\" diff HEAD > \"$PATCH\" && printf \"\\n✓ Patch created: %s\\n\\n=== Guide to apply the patch ===\\n Check compatibility : git apply --check %s\\n Apply (git) : git apply %s\\n Apply (patch) : patch -p1 < %s\\n Revert (git) : git apply -R %s\\n\" \"$PATCH\" \"$PATCH\" \"$PATCH\" \"$PATCH\" \"$PATCH\""
}
],
"vpn": [],
"qemu_from_makefile": [
{
"prompt_description_key": "QEMU - Sample dry-run (demo-vm, Ubuntu 24.04)",
"bash_command": "./script/qemu/deploy_qemu.py --name demo-vm --version 24.04 --dry-run"
}
]
}