erplibre/test
Mathieu Benoit 2df3be2df8 [FIX] ssh config : une seule décision sur ce qu'est un nom de machine
Trois lecteurs de ~/.ssh/config tranchaient la même question autrement : l'un
comparait le mot-clé avec la casse, un autre exigeait un espace là où une
tabulation est légale, un troisième laissait passer le motif nié `!nom`. Un
alias déclaré « host » en minuscules était donc vu par l'un et invisible aux
deux autres, ce qui se lit comme une panne intermittente de la découverte.

La décision passe dans un module qui ne lit aucun fichier. Il rend None sur ce
qui n'est pas une déclaration et une liste — possiblement vide — sur ce qui en
est une : « Host * » ne nomme aucune machine mais reste une déclaration, sinon
ses directives se rattachent au bloc précédent. Vérifié : 19 tests, et le menu
reconnaît toujours le serveur du réseau par sa source SSH.

--- EN ---

Three readers of ~/.ssh/config settled the same question differently: one
compared the keyword case-sensitively, another required a space where a tab is
legal, a third let the negated pattern `!name` through. An alias declared with
a lowercase "host" was therefore seen by one and invisible to the other two,
which reads as intermittent discovery failure.

The decision moves into a module that reads no file. It returns None for what
is not a declaration and a list — possibly empty — for what is: "Host *" names
no machine yet remains a declaration, otherwise its directives attach to the
previous block. Checked: 19 tests, and the menu still recognises the server on
the network through its SSH source.

Assisted-by: Claude Opus 5
2026-09-09 07:35:15 -04:00
..
code_generator [FIX] make test with coverage: missing coverage parameter 2023-03-04 23:34:37 -05:00
llm_fake_server.py [ADD] assistant : serveur LLM reconnu, catalogue gpt, sessions locales 2026-09-09 07:35:15 -04:00
mail_sandbox.py [ADD] mail: read and send email from the TODO CLI 2026-08-16 03:56:34 -04:00
test_analyse_custom_field.py [ADD] analyse: inspect an Odoo database without restoring it 2026-08-10 03:10:50 -04:00
test_analyse_lib.py [FIX] tests : balayer test/test_*.py et refuser un fichier muet 2026-08-29 02:11:04 -04:00
test_analyse_schema_size.py [ADD] analyse: inspect an Odoo database without restoring it 2026-08-10 03:10:50 -04:00
test_analyse_view_custom.py [FIX] tests : balayer test/test_*.py et refuser un fichier muet 2026-08-29 02:11:04 -04:00
test_anonymize.py [FIX] tests : balayer test/test_*.py et refuser un fichier muet 2026-08-29 02:11:04 -04:00
test_assistant_capabilities.py [ADD] assistant : serveur LLM reconnu, catalogue gpt, sessions locales 2026-09-09 07:35:15 -04:00
test_assistant_claude_sessions.py [ADD] assistant : serveur LLM reconnu, catalogue gpt, sessions locales 2026-09-09 07:35:15 -04:00
test_assistant_context.py [ADD] assistant : serveur LLM reconnu, catalogue gpt, sessions locales 2026-09-09 07:35:15 -04:00
test_assistant_conversation.py [ADD] assistant : serveur LLM reconnu, catalogue gpt, sessions locales 2026-09-09 07:35:15 -04:00
test_assistant_fingerprint.py [ADD] assistant : serveur LLM reconnu, catalogue gpt, sessions locales 2026-09-09 07:35:15 -04:00
test_assistant_gpt_loader.py [ADD] assistant : serveur LLM reconnu, catalogue gpt, sessions locales 2026-09-09 07:35:15 -04:00
test_assistant_hosts.py [ADD] assistant : serveur LLM reconnu, catalogue gpt, sessions locales 2026-09-09 07:35:15 -04:00
test_assistant_menu.py [ADD] assistant : serveur LLM reconnu, catalogue gpt, sessions locales 2026-09-09 07:35:15 -04:00
test_assistant_probe_transport.py [ADD] assistant : serveur LLM reconnu, catalogue gpt, sessions locales 2026-09-09 07:35:15 -04:00
test_assistant_servers.py [ADD] assistant : serveur LLM reconnu, catalogue gpt, sessions locales 2026-09-09 07:35:15 -04:00
test_assistant_sweep.py [ADD] assistant : serveur LLM reconnu, catalogue gpt, sessions locales 2026-09-09 07:35:15 -04:00
test_auto_execute.py [ADD] migration: make Enter mean the answer you always give 2026-08-22 07:23:59 -04:00
test_check_addons_exist.py [FIX] tests : balayer test/test_*.py et refuser un fichier muet 2026-08-29 02:11:04 -04:00
test_check_chart_drift.py [ADD] migration : mesurer la dérive du plan comptable entre paliers 2026-08-29 02:11:04 -04:00
test_check_comment_hygiene.py [ADD] commentaires : un relevé non bloquant, sa règle, le code nettoyé 2026-08-30 06:08:30 -04:00
test_check_cow_views_render.py [ADD] migration: prédire la copie de site qui rendra 500 après le palier 2026-08-25 03:19:18 -04:00
test_check_filestore.py [ADD] filestore: purge once at the end, tidy at the restore, see the 30 MB 2026-08-23 02:09:59 -04:00
test_check_hidden_models.py [FIX] migration: la sonde de visibilité déclare ce qu'elle n'a pas prouvé 2026-08-25 03:28:39 -04:00
test_check_instance_state.py [ADD] analyse: l'état d'une instance, lu pour l'usage qu'on en fait 2026-08-25 03:28:39 -04:00
test_check_manifest_gaps.py [ADD] manifestes : détecter un dépôt absent d'un palier de migration 2026-08-29 02:11:04 -04:00
test_check_migration_quality.py [FIX] verdicts de migration : distinguer trouvaille et échec d'outil 2026-08-29 02:11:04 -04:00
test_check_module_dependency.py [ADD] analyse: i, u et t — installés, en cours, applications 2026-08-23 04:03:18 -04:00
test_check_module_package.py [ADD] analyse: offer to install the suggested modules that are ready 2026-08-23 02:09:59 -04:00
test_check_stale_scss.py [ADD] migration : garder la sortie des tests, par pseudo-terminal 2026-08-29 02:11:04 -04:00
test_check_view_type_tree.py [ADD] migration : détecter le type de vue tree resté dans les sources 2026-08-29 02:11:04 -04:00
test_code_generator_tools.py [REF] tests : passer isort et black sur trois fichiers oubliés 2026-09-04 03:42:34 +00:00
test_config_file.py [ADD] mail: read and send email from the TODO CLI 2026-08-16 03:56:34 -04:00
test_database_cleanup.py [ADD] migration : garder la sortie des tests, par pseudo-terminal 2026-08-29 02:11:04 -04:00
test_database_tools.py [FIX] tests : balayer test/test_*.py et refuser un fichier muet 2026-08-29 02:11:04 -04:00
test_db_duplicate.py [FIX] conventions : retirer un nom d'organisation des exemples 2026-09-09 07:35:15 -04:00
test_deep_qemu.py [FIX] long_test : bail attendu, rallumage à froid, marge mémoire 2026-08-29 01:53:03 -04:00
test_deploy_form_help.py [IMP] qemu deploy : pré-configurer la VM, et dire ce qui s'y installe 2026-09-04 02:03:52 -04:00
test_dms_access_repair.py [ADD] migration: repair DMS at the 13 bump, and catch the whole class 2026-08-22 07:24:00 -04:00
test_docker_update_version.py [REF] tests : passer isort et black sur trois fichiers oubliés 2026-09-04 03:42:34 +00:00
test_error_retry_loop.py [ADD] migration : garder la sortie des tests, par pseudo-terminal 2026-08-29 02:11:04 -04:00
test_execute.py [FIX] execute : caviarder les clés d'API et les jetons Bearer 2026-09-09 07:35:15 -04:00
test_fix_account_root.py [FIX] migration 17→18 : retirer la vue morte account_root 2026-08-29 02:11:04 -04:00
test_fix_cow_render.py [ADD] migration: prédire la copie de site qui rendra 500 après le palier 2026-08-25 03:19:18 -04:00
test_fix_duplicate_index.py [ADD] migration: retirer les index qu'Odoo 17 a créés en double 2026-08-25 03:19:18 -04:00
test_fix_migration_120_to_130.py [ADD] migration: decode percent-encoded page anchors before the 13 bump 2026-08-23 02:20:19 -04:00
test_fix_view_type.py [ADD] migration: convert the <tree> tags Odoo 18 renamed to <list> 2026-08-22 07:24:00 -04:00
test_format_file_to_commit.py [FIX] tests : balayer test/test_*.py et refuser un fichier muet 2026-08-29 02:11:04 -04:00
test_git_change_remote.py [FIX] git remote : ignorer un dépôt fautif, lister les écarts à la fin 2026-09-04 03:48:39 +00:00
test_git_commit_msg.py [FIX] conventions : retirer un nom d'organisation des exemples 2026-09-09 07:35:15 -04:00
test_git_tool.py [FIX] git tool : garder le dépôt racine quand le manifeste manque 2026-09-04 03:48:32 +00:00
test_install_swig_compat.py [FIX] install : compiler pykcs11 avec SWIG 4.3 et au-delà 2026-08-23 02:11:50 -04:00
test_iscompatible.py [FIX] tests : balayer test/test_*.py et refuser un fichier muet 2026-08-29 02:11:04 -04:00
test_kdbx_manager.py [FIX] kdbx : nommer le coffre avant que getpass ne pose sa question 2026-09-04 03:42:18 +00:00
test_kill_process_by_port.py [IMP] script: update copyright year to 2026 2026-03-11 23:16:05 -04:00
test_mail_account_setup.py [ADD] mail: read and send email from the TODO CLI 2026-08-16 03:56:34 -04:00
test_mail_accounts.py [ADD] mail: read and send email from the TODO CLI 2026-08-16 03:56:34 -04:00
test_mail_charset.py [ADD] mail: read and send email from the TODO CLI 2026-08-16 03:56:34 -04:00
test_mail_compose.py [ADD] mail: read and send email from the TODO CLI 2026-08-16 03:56:34 -04:00
test_mail_crypto.py [ADD] mail: read and send email from the TODO CLI 2026-08-16 03:56:34 -04:00
test_mail_imap_transport.py [FIX] tests : balayer test/test_*.py et refuser un fichier muet 2026-08-29 02:11:04 -04:00
test_mail_live_server.py [ADD] mail: read and send email from the TODO CLI 2026-08-16 03:56:34 -04:00
test_mail_menu.py [ADD] assistant : serveur LLM reconnu, catalogue gpt, sessions locales 2026-09-09 07:35:15 -04:00
test_mail_secrets.py [ADD] mail: read and send email from the TODO CLI 2026-08-16 03:56:34 -04:00
test_mail_send.py [ADD] mail: read and send email from the TODO CLI 2026-08-16 03:56:34 -04:00
test_mail_store.py [ADD] mail: read and send email from the TODO CLI 2026-08-16 03:56:34 -04:00
test_mail_sync.py [ADD] mail: read and send email from the TODO CLI 2026-08-16 03:56:34 -04:00
test_mail_tui.py [ADD] mail: read and send email from the TODO CLI 2026-08-16 03:56:34 -04:00
test_mail_tui_account.py [ADD] mail: read and send email from the TODO CLI 2026-08-16 03:56:34 -04:00
test_mail_tui_help.py [ADD] mail: read and send email from the TODO CLI 2026-08-16 03:56:34 -04:00
test_mail_tui_layout.py [ADD] mail: read and send email from the TODO CLI 2026-08-16 03:56:34 -04:00
test_mail_tui_log.py [ADD] mail: read and send email from the TODO CLI 2026-08-16 03:56:34 -04:00
test_mail_tui_refresh.py [ADD] mail: read and send email from the TODO CLI 2026-08-16 03:56:34 -04:00
test_mail_tui_resize.py [ADD] mail: read and send email from the TODO CLI 2026-08-16 03:56:34 -04:00
test_mail_tui_splitter.py [ADD] mail: read and send email from the TODO CLI 2026-08-16 03:56:34 -04:00
test_mail_tui_text.py [ADD] mail: read and send email from the TODO CLI 2026-08-16 03:56:34 -04:00
test_master_password_retry.py [FIX] db_restore: la sonde du mot de passe maître ne validait rien 2026-08-25 03:19:18 -04:00
test_migration_form_back.py [ADD] migration: offer « go back to a step » on the resume screen 2026-08-22 07:23:59 -04:00
test_migration_status.py [FIX] verdicts de migration : distinguer trouvaille et échec d'outil 2026-08-29 02:11:04 -04:00
test_migration_tools_i18n.py [ADD] migration: prédire la copie de site qui rendra 500 après le palier 2026-08-25 03:19:18 -04:00
test_mobile_bundle_transfer.py [FIX] mobile: the bundle check refused a real build 2026-08-25 03:28:39 -04:00
test_monitoring.py [FIX] conventions : retirer un nom d'organisation des exemples 2026-09-09 07:35:15 -04:00
test_odoo_rc.py [FIX] odoo_bin : lire le config.conf du dépôt, pas le ~/.odoorc 2026-08-29 02:11:04 -04:00
test_old_python_annotations.py [FIX] script: différer les annotations, la 12 tourne en Python 3.7 2026-08-23 03:13:58 -04:00
test_openupgrade_analysis.py [ADD] migration quality: lay OpenUpgrade's declared changes over the real ones 2026-08-22 07:24:00 -04:00
test_plan.base.md [ADD] test: add bilingual test plan with mmg 2026-03-11 23:07:01 -04:00
test_plan.fr.md [ADD] test: add bilingual test plan with mmg 2026-03-11 23:07:01 -04:00
test_plan.md [ADD] test: add bilingual test plan with mmg 2026-03-11 23:07:01 -04:00
test_prompt_defaults.py [FIX] conventions : retirer un nom d'organisation des exemples 2026-09-09 07:35:15 -04:00
test_proxmox_deploy.py [FIX] proxmox : apt-daily tient le verrou au démarrage 2026-08-29 01:53:03 -04:00
test_proxmox_form.py [FIX] LongTest : ne pas détruire sous une descente vivante ; blocs ssh 2026-08-29 01:53:03 -04:00
test_proxmox_nesting.py [FIX] imbrication : le coût d'un vCPU dépend de la profondeur de l'étage 2026-08-29 01:53:03 -04:00
test_qemu_ai_tools.py [IMP] qemu deploy : pré-configurer la VM, et dire ce qui s'y installe 2026-09-04 02:03:52 -04:00
test_qemu_arch_yay.py [ADD] qemu arch : yay et bash-completion sur l'invité, guide au MOTD 2026-09-02 08:04:05 -04:00
test_qemu_cleanup.py [FIX] nettoyage : les enfants s'en vont avec leur rebond 2026-08-25 03:31:12 -04:00
test_qemu_deploy_failure_output.py [FIX] qemu deploy : montrer le message de l'outil quand une VM échoue 2026-09-03 05:00:55 -04:00
test_qemu_deploy_form_disk.py [FIX] test : ne pas dépendre de la langue de l'interface 2026-08-25 03:19:18 -04:00
test_qemu_deploy_form_install.py [REF] déploiement : un seul socle pour ce qui décrit le système invité 2026-08-25 03:28:39 -04:00
test_qemu_deploy_monitor.py [FIX] proxmox : l'installation partait sur la mauvaise machine 2026-08-25 03:28:39 -04:00
test_qemu_desktop_tools.py [ADD] qemu deploy : poser rtk, starship et un agent dans la VM 2026-09-03 05:00:55 -04:00
test_qemu_egl_fallback.py [ADD] qemu deploy : case 3D à la création, même sans écran virtuel 2026-09-03 05:00:55 -04:00
test_qemu_emulator_menu.py [FIX] test : ne pas dépendre de la langue de l'interface 2026-08-25 03:19:18 -04:00
test_qemu_forgejo.py [ADD] script todo: ouvrir l'écran d'une VM avec virt-viewer 2026-08-23 02:07:42 -04:00
test_qemu_gpu.py [FIX] qemu menu : passer par le groupe libvirt plutôt que par sudo 2026-09-03 05:00:55 -04:00
test_qemu_gpu_option.py [ADD] qemu deploy : poser rtk, starship et un agent dans la VM 2026-09-03 05:00:55 -04:00
test_qemu_host_network.py [FIX] qemu réseau : ne plus compter le pont d'un réseau contre lui-même 2026-09-04 03:31:08 -04:00
test_qemu_install_profile.py [FIX] qemu : ne pas poser ERPLibre sur une VM Proxmox VE 2026-08-25 03:17:13 -04:00
test_qemu_install_summary.py [FIX] script todo: résumer les erreurs au lieu de chercher « error » 2026-08-23 02:07:42 -04:00
test_qemu_lease_read.py [FIX] qemu : lire les baux dnsmasq sans invite de mot de passe 2026-09-09 07:35:15 -04:00
test_qemu_monitor_pve.py [FIX] qemu menu : nommer l'URI libvirt, sinon la liste des VM est vide 2026-09-03 05:00:55 -04:00
test_qemu_monitor_telemetry.py [ADD] script todo: dire depuis quand un journal d'installation est muet 2026-08-23 02:07:42 -04:00
test_qemu_monitor_vmstats.py [ADD] suivi : les statistiques de chaque VM (écriture, RAM, disque) 2026-08-23 02:20:10 -04:00
test_qemu_motd.py [ADD] qemu guide: dire comment démarrer le bureau, sur les VM qui en ont un 2026-08-23 02:07:42 -04:00
test_qemu_network_recreate.py [ADD] qemu réseau : voir et recréer le sous-réseau des VM 2026-09-04 03:31:22 -04:00
test_qemu_orphan_disk.py [ADD] qemu deploy : proposer d'effacer un disque orphelin qui bloque 2026-09-03 05:00:55 -04:00
test_qemu_privilege.py [FIX] qemu menu : sortir le venv du PATH des outils système 2026-09-03 05:00:55 -04:00
test_qemu_proxmox.py [ADD] qemu : déployer Proxmox VE (amd64, arm64) 2026-08-23 03:28:03 -04:00
test_qemu_recover.py [ADD] qemu diagnostic : un relevé à transmettre, Gérer scindé en trois 2026-09-03 05:00:55 -04:00
test_qemu_setup_host_reboot.py [FIX] qemu setup-host : demander avant de redémarrer l'hôte 2026-09-02 07:38:11 -04:00
test_qemu_shrink_tools.py [FIX] qemu shrink : place mesurée avant sauvegarde, étape annoncée 2026-08-31 07:51:19 -04:00
test_qemu_start_egl.py [FIX] tests qemu : deux gardes rendus muets par mes propres ajouts 2026-09-03 05:00:55 -04:00
test_qemu_sudo_reason.py [IMP] qemu deploy : constater le motif du sudo, le dire avant l'invite 2026-09-04 02:27:51 -04:00
test_qemu_tunnel_menu.py [ADD] script todo : installer les outils manquants, les quatre familles 2026-08-31 07:18:13 -04:00
test_qemu_vm_name.py [UPD] qemu manage : nom de VM sans la version d'une publication continue 2026-09-02 04:13:48 -04:00
test_qemu_vm_table.py [IMP] script todo: RAM utilisée et uptime dans les infos avancées d'une VM 2026-08-23 02:07:42 -04:00
test_reset_stale_cow_prompt.py [ADD] migration : garder la sortie des tests, par pseudo-terminal 2026-08-29 02:11:04 -04:00
test_reset_stale_cow_tui.py [ADD] migration: repair views whose stored type contradicts their parent 2026-08-22 07:24:00 -04:00
test_restore_config_defaults.py [ADD] migration: recréer les réglages qu'aucun événement ne remet 2026-08-25 03:19:18 -04:00
test_run_sh_auto_db.py [ADD] run: choisir la base au démarrage, sans jamais bloquer 2026-08-23 17:26:41 -04:00
test_script_permissions.py [FIX] test: check the exec bit git stores, not the mode umask decides 2026-08-22 07:23:59 -04:00
test_smoke_final_url.py [FIX] smoke: two sites still unpacked three fields from the failure tuple 2026-08-23 02:07:42 -04:00
test_smoke_internal_ui.py [FIX] smoke: judge the back office AFTER the repair, and say why it failed 2026-08-22 07:23:59 -04:00
test_smoke_public_url.py [ADD] migration : garder la sortie des tests, par pseudo-terminal 2026-08-29 02:11:04 -04:00
test_ssh_config_names.py [FIX] ssh config : une seule décision sur ce qu'est un nom de machine 2026-09-09 07:35:15 -04:00
test_suite_reaches_every_file.py [FIX] tests : balayer test/test_*.py et refuser un fichier muet 2026-08-29 02:11:04 -04:00
test_target_version_default.py [ADD] migration: an auto-run that takes the default after five seconds 2026-08-22 07:23:59 -04:00
test_theme_on_error.py [ADD] migration : garder la sortie des tests, par pseudo-terminal 2026-08-29 02:11:04 -04:00
test_todo.py [ADD] script todo : /todo_generate_code, effort high et règles du dépôt 2026-09-02 07:16:23 -04:00
test_todo_deploy_form_lib.py [FIX] deploy : la branche du dépôt, et la sortie pendant qu'elle arrive 2026-08-25 03:19:18 -04:00
test_todo_deploy_form_parity.py [IMP] qemu deploy : pré-configurer la VM, et dire ce qui s'y installe 2026-09-04 02:03:52 -04:00
test_todo_deploy_progress.py [FIX] proxmox : viser la bonne machine, et dire la vérité sur le disque 2026-08-25 03:28:39 -04:00
test_todo_file_browser.py [FIX] todo: test menu, file browser and KeePass refusals 2026-08-16 03:56:34 -04:00
test_todo_i18n.py [FIX] todo: test menu, file browser and KeePass refusals 2026-08-16 03:56:34 -04:00
test_todo_install.py [ADD] script todo : installer les outils manquants, les quatre familles 2026-08-31 07:18:13 -04:00
test_todo_longtest.py [FIX] long_test : bail attendu, rallumage à froid, marge mémoire 2026-08-29 01:53:03 -04:00
test_todo_menu.py [ADD] qemu réseau : voir et recréer le sous-réseau des VM 2026-09-04 03:31:22 -04:00
test_todo_rtk.py [FIX] script todo : rtk hors du PATH, résultat d'installation annoncé 2026-09-02 03:53:40 -04:00
test_todo_shell_tools.py [ADD] script todo : installer Claude Code et opencode, PATH garanti 2026-09-02 04:51:03 -04:00
test_todo_sshfs.py [ADD] commentaires : un relevé non bloquant, sa règle, le code nettoyé 2026-08-30 06:08:30 -04:00
test_todo_upgrade_archive.py [ADD] migration: keep the previous log when a run restarts 2026-08-17 01:25:23 -04:00
test_todo_upgrade_capture.py [ADD] migration : garder la sortie des tests, par pseudo-terminal 2026-08-29 02:11:04 -04:00
test_todo_upgrade_cow_prompt.py [ADD] migration: make Enter mean the answer you always give 2026-08-22 07:23:59 -04:00
test_todo_upgrade_repairs.py [ADD] migration: brancher les deux réparations qui ne tournaient jamais 2026-08-25 03:28:39 -04:00
test_todo_upgrade_steps.py [ADD] migration: offer « go back to a step » on the resume screen 2026-08-22 07:23:59 -04:00
test_tooling_requirements.py [FIX] suite unitaire : bit d'exécution, script/*.py balayé, clé i18n 2026-08-31 00:03:50 -04:00
test_uninstall_addons_theme.py [ADD] migration : garder la sortie des tests, par pseudo-terminal 2026-08-29 02:11:04 -04:00
test_uninstall_module_list.py [FIX] migration: un clone refait rejoue la liste de son palier 2026-08-23 04:35:58 -04:00
test_uninstall_verified.py [FIX] migration: un module fautif n'emporte plus tout le lot 2026-08-25 03:19:18 -04:00
test_version.py [REF] tests : passer isort et black sur trois fichiers oubliés 2026-09-04 03:42:34 +00:00
test_vpn_anyconnect_xml.py [ADD] vpn : préréglages de site, importés d'un profil AnyConnect 2026-09-04 06:26:34 -04:00
test_vpn_drivers.py [FIX] vpn : ne plus demander la route par défaut à qui ne la pose pas 2026-09-08 09:41:17 -04:00
test_vpn_menu.py [FIX] vpn : ne plus demander la route par défaut à qui ne la pose pas 2026-09-08 09:41:17 -04:00
test_vpn_presets.py [REM] vpn : retirer la recherche de préréglage que personne n'appelle 2026-09-08 09:41:29 -04:00
test_vpn_profiles.py [ADD] vpn : cinq pilotes, secrets en coffre, diagnostic étagé 2026-09-04 03:42:49 +00:00
test_vpn_render.py [ADD] vpn install : proposer et poser le greffon SSO 2026-09-07 22:19:22 -04:00
test_vpn_vault.py [ADD] vpn : cinq pilotes, secrets en coffre, diagnostic étagé 2026-09-04 03:42:49 +00:00
test_warmup_http.py [ADD] run : précharger le registre Odoo au lancement, sans nuire 2026-08-29 02:11:04 -04:00