diff --git a/actions.json b/actions.json
deleted file mode 100644
index d4bec69..0000000
--- a/actions.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[{
- "id": "reset_default_setupvars",
- "name": "Reset the config file and restore a default one.",
- "command": "/bin/bash scripts/actions/reset_default_config \"setupVars.conf\"",
- "user": "root",
- "accepted_return_codes": [0],
- "description": {
- "en": "Reset the config file setupVars.conf.",
- "fr": "Réinitialise le fichier de configuration setupVars.conf."
- }
-},
-{
- "id": "reset_default_ftl",
- "name": "Reset the config file and restore a default one.",
- "command": "/bin/bash scripts/actions/reset_default_config \"pihole-FTL.conf\"",
- "user": "root",
- "accepted_return_codes": [0],
- "description": {
- "en": "Reset the config file pihole-FTL.conf.",
- "fr": "Réinitialise le fichier de configuration pihole-FTL.conf."
- }
-}]
diff --git a/actions.toml b/actions.toml
new file mode 100644
index 0000000..5aff36a
--- /dev/null
+++ b/actions.toml
@@ -0,0 +1,17 @@
+[reset_default_setupvars]
+name = "Reset the config file and restore a default one."
+command = "/bin/bash scripts/actions/reset_default_config \"setupVars.conf\""
+# user = "root" # optional
+# cwd = "/" # optional
+# accepted_return_codes = [0, 1, 2, 3] # optional
+accepted_return_codes = [0]
+description = "Reset the config file setupVars.conf."
+
+[reset_default_ftl]
+name = "Reset the config file and restore a default one."
+command = "/bin/bash scripts/actions/reset_default_config \"pihole-FTL.conf\""
+# user = "root" # optional
+# cwd = "/" # optional
+# accepted_return_codes = [0, 1, 2, 3] # optional
+accepted_return_codes = [0]
+description = "Reset the config file pihole-FTL.conf."
diff --git a/config_panel.json b/config_panel.json
deleted file mode 100644
index e54118c..0000000
--- a/config_panel.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "name": "PiHole configuration panel",
- "version": "0.1",
- "panel": [{
- "name": "PiHole configuration",
- "id": "main",
- "sections": [{
- "name": "Overwriting config files",
- "id": "overwrite_files",
- "options": [{
- "name": "Overwrite the config file setupVars.conf ?",
- "help": "If the file is overwritten, a backup will be created.",
- "id": "overwrite_setupvars",
- "type": "bool",
- "default": true
- },
- {
- "name": "Overwrite the config file pihole-FTL.conf ?",
- "help": "If the file is overwritten, a backup will be created.",
- "id": "overwrite_ftl",
- "type": "bool",
- "default": true
- },
- {
- "name": "Overwrite the nginx config file ?",
- "help": "If the file is overwritten, a backup will be created.",
- "id": "overwrite_nginx",
- "type": "bool",
- "default": true
- },
- {
- "name": "Overwrite the php-fpm config file ?",
- "help": "If the file is overwritten, a backup will be created.",
- "id": "overwrite_phpfpm",
- "type": "bool",
- "default": true
- }]
- },
- {
- "name": "Global configuration",
- "id": "global_config",
- "options": [{
- "name": "Send HTML email to admin ?",
- "help": "Allow app scripts to send HTML mails instead of plain text.",
- "id": "email_type",
- "type": "bool",
- "default": true
- }]
- }]
- }
-]
-}
diff --git a/config_panel.toml b/config_panel.toml
new file mode 100644
index 0000000..338ee26
--- /dev/null
+++ b/config_panel.toml
@@ -0,0 +1,64 @@
+version = "0.1"
+name = "PiHole configuration panel"
+
+[main]
+name = "PiHole configuration"
+
+ [main.overwrite_files]
+ name = "Overwriting config files"
+
+ [main.overwrite_files.overwrite_setupvars]
+ ask = "Overwrite the config file setupVars.conf ?"
+ type = "boolean"
+ default = true
+ help = "If the file is overwritten, a backup will be created."
+
+ [main.overwrite_files.overwrite_ftl]
+ ask = "Overwrite the config file pihole-FTL.conf ?"
+ type = "boolean"
+ default = true
+ help = "If the file is overwritten, a backup will be created."
+
+ [main.overwrite_files.overwrite_nginx]
+ ask = "Overwrite the nginx config file ?"
+ type = "boolean"
+ default = true
+ help = "If the file is overwritten, a backup will be created."
+
+ [main.overwrite_files.overwrite_phpfpm]
+ ask = "Overwrite the php-fpm config file ?"
+ type = "boolean"
+ default = true
+ help = "If the file is overwritten, a backup will be created."
+
+
+ [main.global_config]
+ name = "Global configuration"
+
+ [main.global_config.email_type]
+ ask = "Send HTML email to admin ?"
+ type = "boolean"
+ default = true
+ help = "Allow app scripts to send HTML mails instead of plain text."
+
+
+ [main.php_fpm_config]
+ name = "PHP-FPM configuration"
+
+ [main.php_fpm_config.footprint]
+ ask = "Memory footprint of the service ?"
+ choices = ["low", "medium", "high", "specific"]
+ default = "low"
+ help = "low <= 20Mb per pool. medium between 20Mb and 40Mb per pool. high > 40Mb per pool.
Use specific to set a value with the following option."
+
+ [main.php_fpm_config.free_footprint]
+ ask = "Memory footprint of the service ?"
+ type = "number"
+ default = "0"
+ help = "Free field to specify exactly the footprint in Mb if you don't want to use one of the three previous values."
+
+ [main.php_fpm_config.usage]
+ ask = "Expected usage of the service ?"
+ choices = ["low", "medium", "high"]
+ default = "low"
+ help = "low: Personal usage, behind the sso. No RAM footprint when not used, but the impact on the processor can be high if many users are using the service.
medium: Low usage, few people or/and publicly accessible. Low RAM footprint, medium processor footprint when used.
high: High usage, frequently visited website. High RAM footprint, but lower on processor usage and quickly responding."