diff --git a/README.fr.md b/README.fr.md
new file mode 100644
index 0000000..03a93d6
--- /dev/null
+++ b/README.fr.md
@@ -0,0 +1,23 @@
+---
+gitea: none
+include_toc: true
+---
+[🇬🇧 (EN)](README.md) - [🇫🇷 (FR)](README.fr.md)
+
+===============
+{}
+## Charge les données utilisateur depuis un fichier compatible avec Ansible
+
+> [!NOTE]
+>
+> **Chemin** : ansible\
+> *`désactivé`*\
+> **Désactivé** : si ansible n'est pas définit dans "[Sélection pour données utilisateur](#step.user_data)"
+
+| Variable | Description | Valeur par défaut | Type | Contrôle des accès | Validateur |
+|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------|---------------------|--------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|
+| **ansible.filename**
**Ligne de commande** :
--ansible.filename
**Variable d'environnement** : ANSIBLE.FILENAME | Nom du fichier d'inventaire Ansible. | | [`UNIX filename`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` `obligatoire` | *`désactivé`*
**Désactivé** : si ansible n'est pas définit dans "[Sélection pour données utilisateur](#step.user_data)" | `unique`
• le nom de fichier peut être une chemin relatif
• le fichier doit exister
• type de fichier autorisé: "file". |
+| **ansible.secret**
**Ligne de commande** :
--ansible.secret
**Variable d'environnement** : ANSIBLE.SECRET | Secret pour déchiffrer le fichier. | | [`secret`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` | *`désactivé`*
**Désactivé** : si ansible n'est pas définit dans "[Sélection pour données utilisateur](#step.user_data)" | |
+| **ansible.file_with_secrets**
**Ligne de commande** :
--ansible.file_with_secrets
**Variable d'environnement** : ANSIBLE.FILE_WITH_SECRETS | Les fichiers Ansible qui peuvent contenir des secrets. | all | [`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` | *`désactivé`*
**Désactivé** : si ansible n'est pas définit dans "[Sélection pour données utilisateur](#step.user_data)" | **Choix** :
• all
• first
• last
• none |
+
+
diff --git a/README.md b/README.md
index 49f2c4c..34914e3 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,23 @@
-# rougail-user-data-ansible
+---
+gitea: none
+include_toc: true
+---
+[🇬🇧 (EN)](README.md) - [🇫🇷 (FR)](README.fr.md)
+
+===============
+{}
+## Load user data from Ansible compatible file
+
+> [!NOTE]
+>
+> **Path**: ansible\
+> *`disabled`*\
+> **Disabled**: if ansible is not set in "[Select for user datas](#step.user_data)"
+
+| Variable | Description | Default value | Type | Access control | Validator |
+|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------|-----------------|------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------|
+| **ansible.filename**
**Command line**:
--ansible.filename
**Environment variable**: ANSIBLE.FILENAME | Ansible filename inventory. | | [`UNIX filename`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` `mandatory` | *`disabled`*
**Disabled**: if ansible is not set in "[Select for user datas](#step.user_data)" | `unique`
• this filename could be a relative path
• this file must exist
• file type allowed: "file". |
+| **ansible.secret**
**Command line**:
--ansible.secret
**Environment variable**: ANSIBLE.SECRET | Secret to decrypt file. | | [`secret`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | *`disabled`*
**Disabled**: if ansible is not set in "[Select for user datas](#step.user_data)" | |
+| **ansible.file_with_secrets**
**Command line**:
--ansible.file_with_secrets
**Environment variable**: ANSIBLE.FILE_WITH_SECRETS | Ansible files that may contain secrets. | all | [`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | *`disabled`*
**Disabled**: if ansible is not set in "[Select for user datas](#step.user_data)" | **Choices**:
• all
• first
• last
• none |
+
diff --git a/locale/fr/LC_MESSAGES/rougail_user_data_ansible.po b/locale/fr/LC_MESSAGES/rougail_user_data_ansible.po
index 7d9ed13..3161727 100644
--- a/locale/fr/LC_MESSAGES/rougail_user_data_ansible.po
+++ b/locale/fr/LC_MESSAGES/rougail_user_data_ansible.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"POT-Creation-Date: 2025-02-10 09:15+0100\n"
-"PO-Revision-Date: 2025-02-10 09:15+0100\n"
+"POT-Creation-Date: 2026-02-11 21:30+0100\n"
+"PO-Revision-Date: 2026-02-11 21:31+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: fr\n"
@@ -14,26 +14,38 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: pygettext.py 1.5\n"
-"X-Generator: Poedit 3.5\n"
+"X-Generator: Poedit 3.8\n"
-#: src/rougail/user_data_ansible/__init__.py:47
+#: src/rougail/user_data_ansible/__init__.py:48
msgid "ansible is not set in step.user_data"
msgstr "ansible n'est pas définit dans step.user_data"
-#: src/rougail/user_data_ansible/config.py:30
-msgid "Configuration of user data Ansible"
-msgstr "Configuration des données utilisateurs Ansible"
+#: src/rougail/user_data_ansible/__init__.py:56
+msgid "the Ansible file \"{0}\""
+msgstr "le ficher Ansible \"{0}\""
-#: src/rougail/user_data_ansible/config.py:39
+#: src/rougail/user_data_ansible/config.py:30
+msgid "Load user data from Ansible compatible file"
+msgstr "Charge les données utilisateur depuis un fichier compatible avec Ansible"
+
+#: src/rougail/user_data_ansible/config.py:35
+#: src/rougail/user_data_ansible/config.py:50
+#: src/rougail/user_data_ansible/config.py:59
+#: src/rougail/user_data_ansible/config.py:73
+msgid "if ansible is not set in \"step.user_data\""
+msgstr "si ansible n'est pas définit dans \"step.user_data\""
+
+#: src/rougail/user_data_ansible/config.py:38
msgid "Ansible filename inventory"
msgstr "Nom du fichier d'inventaire Ansible"
-#: src/rougail/user_data_ansible/config.py:55
+#: src/rougail/user_data_ansible/config.py:53
msgid "Secret to decrypt file"
msgstr "Secret pour déchiffrer le fichier"
-#: src/rougail/user_data_ansible/config.py:65
-#, fuzzy
-#| msgid "Ansible file that may contain passwords"
-msgid "Ansible file that may contain secrets"
-msgstr "Fichier Ansible qui peuvent contenir des secrets"
+#: src/rougail/user_data_ansible/config.py:62
+msgid "Ansible files that may contain secrets"
+msgstr "Les fichiers Ansible qui peuvent contenir des secrets"
+
+#~ msgid "Configuration of user data Ansible"
+#~ msgstr "Configuration des données utilisateurs Ansible"
diff --git a/locale/rougail_user_data_ansible.pot b/locale/rougail_user_data_ansible.pot
index 004637f..492fd71 100644
--- a/locale/rougail_user_data_ansible.pot
+++ b/locale/rougail_user_data_ansible.pot
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2025-10-10 08:05+0200\n"
+"POT-Creation-Date: 2026-02-11 21:31+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -19,19 +19,30 @@ msgstr ""
msgid "ansible is not set in step.user_data"
msgstr ""
-#: src/rougail/user_data_ansible/config.py:30
-msgid "Configuration of user data Ansible"
+#: src/rougail/user_data_ansible/__init__.py:56
+msgid "the Ansible file \"{0}\""
msgstr ""
-#: src/rougail/user_data_ansible/config.py:39
+#: src/rougail/user_data_ansible/config.py:30
+msgid "Load user data from Ansible compatible file"
+msgstr ""
+
+#: src/rougail/user_data_ansible/config.py:35
+#: src/rougail/user_data_ansible/config.py:50
+#: src/rougail/user_data_ansible/config.py:59
+#: src/rougail/user_data_ansible/config.py:73
+msgid "if ansible is not set in \"step.user_data\""
+msgstr ""
+
+#: src/rougail/user_data_ansible/config.py:38
msgid "Ansible filename inventory"
msgstr ""
-#: src/rougail/user_data_ansible/config.py:55
+#: src/rougail/user_data_ansible/config.py:53
msgid "Secret to decrypt file"
msgstr ""
-#: src/rougail/user_data_ansible/config.py:65
-msgid "Ansible file that may contain secrets"
+#: src/rougail/user_data_ansible/config.py:62
+msgid "Ansible files that may contain secrets"
msgstr ""
diff --git a/src/rougail/user_data_ansible/__init__.py b/src/rougail/user_data_ansible/__init__.py
index 3ba05a4..84e3ba4 100644
--- a/src/rougail/user_data_ansible/__init__.py
+++ b/src/rougail/user_data_ansible/__init__.py
@@ -1,6 +1,6 @@
"""
Silique (https://www.silique.fr)
-Copyright (C) 2024-2025
+Copyright (C) 2024-2026
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by the
@@ -53,6 +53,7 @@ class RougailUserDataAnsible(RougailUserDataYaml):
self.config = config
self.errors = []
self.warnings = []
+ self.source = _('the Ansible file "{0}"')
def open(self, filename: str) -> dict:
"""Open file
diff --git a/src/rougail/user_data_ansible/config.py b/src/rougail/user_data_ansible/config.py
index de23990..ca91130 100644
--- a/src/rougail/user_data_ansible/config.py
+++ b/src/rougail/user_data_ansible/config.py
@@ -1,6 +1,6 @@
"""
Silique (https://www.silique.fr)
-Copyright (C) 2024-2025
+Copyright (C) 2024-2026
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by the
@@ -27,13 +27,12 @@ def get_rougail_config(
# or create a new only only for user data
options = f"""
ansible:
- description: {_("Configuration of user data Ansible")}
+ description: {_("Load user data from Ansible compatible file")}
disabled:
- type: jinja
jinja: |
- {{% if step.user_data is propertyerror or 'ansible' not in step.user_data %}}
- disabled
- {{% endif %}}
+ {{{{ _.step.user_data is propertyerror or 'ansible' not in _.step.user_data }}}}
+ return_type: boolean
+ description: {_('if ansible is not set in "step.user_data"')}
filename:
description: {_("Ansible filename inventory")}
@@ -45,24 +44,22 @@ ansible:
types:
- file
disabled:
- type: jinja
jinja: |
- {{% if step.user_data is propertyerror or 'ansible' not in step.user_data %}}
- disabled
- {{% endif %}}
+ {{{{ _.step.user_data is propertyerror or 'ansible' not in _.step.user_data }}}}
+ return_type: boolean
+ description: {_('if ansible is not set in "step.user_data"')}
secret:
description: {_("Secret to decrypt file")}
type: secret
disabled:
- type: jinja
jinja: |
- {{% if step.user_data is propertyerror or 'ansible' not in step.user_data %}}
- disabled
- {{% endif %}}
+ {{{{ _.step.user_data is propertyerror or 'ansible' not in _.step.user_data }}}}
+ return_type: boolean
+ description: {_('if ansible is not set in "step.user_data"')}
file_with_secrets:
- description: {_("Ansible file that may contain secrets")}
+ description: {_("Ansible files that may contain secrets")}
default: all
choices:
- all
@@ -70,11 +67,10 @@ ansible:
- last
- none
disabled:
- type: jinja
jinja: |
- {{% if step.user_data is propertyerror or 'ansible' not in step.user_data %}}
- disabled
- {{% endif %}}
+ {{{{ _.step.user_data is propertyerror or 'ansible' not in _.step.user_data }}}}
+ return_type: boolean
+ description: {_('if ansible is not set in "step.user_data"')}
"""
return {
"name": "ansible",
diff --git a/src/rougail/user_data_ansible/i18n.py b/src/rougail/user_data_ansible/i18n.py
index c0b944d..fcdc9bd 100644
--- a/src/rougail/user_data_ansible/i18n.py
+++ b/src/rougail/user_data_ansible/i18n.py
@@ -1,6 +1,6 @@
"""Internationalisation utilities
Silique (https://www.silique.fr)
-Copyright (C) 2024-2025
+Copyright (C) 2024-2026
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by the
diff --git a/src/rougail/user_data_ansible/locale/fr/LC_MESSAGES/rougail_user_data_ansible.mo b/src/rougail/user_data_ansible/locale/fr/LC_MESSAGES/rougail_user_data_ansible.mo
index 99b33b5..e1465de 100644
Binary files a/src/rougail/user_data_ansible/locale/fr/LC_MESSAGES/rougail_user_data_ansible.mo and b/src/rougail/user_data_ansible/locale/fr/LC_MESSAGES/rougail_user_data_ansible.mo differ