From d3bfa99ee4d3e0b0dc58dd0c9b70b748a7dc74da Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Wed, 19 Nov 2025 20:29:56 +0100 Subject: [PATCH] fix: hidden/disabled --- caracteristique.md | 67 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 66 insertions(+), 1 deletion(-) diff --git a/caracteristique.md b/caracteristique.md index 10a22c22c..6e32e2de0 100644 --- a/caracteristique.md +++ b/caracteristique.md @@ -811,11 +811,76 @@ Ces propriétés peuvent être fixe ou calculer suivant le contexte #### Variable cachée -Une variable cachée est une variable qui ne sera pas modifiable par l'utilisateur et que ne sera pas présente en mode "lecture écriture" mais présente en mode "lecture seule" +Une variable cachée est une variable qui ne sera pas modifiable par l'utilisateur et que ne sera pas présente en mode "lecture écriture" mais présente en mode "lecture seule". + +Généralement on utilise ce type de variable lorsqu'on ne veut pas que l'acteur qui adapte la configuration puisse modifier cette variable ou alors parce que la valeur de la variable est issu d'un calcul. #### Variable désactivée +Une variable désactiver est une variable qui sera accessible a aucun des acteurs. + +On utilise généralement cette propriété de façon dynamique pour supprimer l'accès à cette variable suivant le context. + +Prenons un exemple de variable cachée (donc non modifiable) et ajoutons un variable "use_proxy" qui permet de définir une adresse proxy si on le souhait. Pour cela nous allons créer le fichier suivante : `structure_properties.yml` : + +```yaml +%YAML 1.2 +--- +version: 1.1 + +hidden_variable: + hidden: true + default: accessible + +use_proxy: false + +proxy_address: + disabled: + variable: use_proxy + when: false +... +``` + +```bash +rougail -m structure_properties.yml +╭────────────── Caption ──────────────╮ +│ Variable Default value │ +│ Unmodifiable variable │ +╰─────────────────────────────────────╯ +Variables: +┣━━ 📓 hidden_variable: accessible +┗━━ 📓 use_proxy: false +``` + +Essayons de modifier la variable cachée et de configurer le proxy dans le fichier `userdata_properties.yml` : + +```yaml +--- +hidden_variable: inaccessible + +use_proxy: true + +proxy_address: https://proxy.foo.net:4128/ +``` + +```yaml +rougail -m structure_properties.yml -u yaml -ff userdata_properties.yml +🔔 WARNINGS +┗━━ variable "hidden_variable" is hidden, it will be ignored when loading from the YAML file "userdata_properties.yml" +╭───────────────────── Caption ─────────────────────╮ +│ Variable Default value │ +│ Unmodifiable variable Modified value │ +│ (⏳ Original default value) │ +╰───────────────────────────────────────────────────╯ +Variables: +┣━━ 📓 hidden_variable: accessible +┣━━ 📓 use_proxy: true ◀ loaded from the YAML file "userdata_properties.yml" (⏳ false) +┗━━ 📓 proxy_address: https://proxy.foo.net:4128/ ◀ loaded from the YAML file "userdata_properties.yml" +``` + + +layers prééminance Spécialisation des variables