diff --git a/docs/tutorial/multiple.rst b/docs/tutorial/multiple.rst index 06646be09..9a5f44d91 100644 --- a/docs/tutorial/multiple.rst +++ b/docs/tutorial/multiple.rst @@ -16,13 +16,13 @@ Variable with multiple values Of course, you can also decide to copy/paste or download the tutorial files contents while following the tutorial steps. If you want to follow this tutorial with the help of the corresponding :tutorial:`rougail-tutorials git repository `, - this workshop page corresponds to the tags :tutorial:`v1.1_100 ` to :tutorial:`v1.1_111 ` + this workshop page corresponds to the tags :tutorial:`v1.1_110 ` to :tutorial:`v1.1_111 ` in the repository. :: git clone https://forge.cloud.silique.fr/stove/rougail-tutorials.git - git switch --detach v1.1_100 + git switch --detach v1.1_110 .. type-along:: A web_address variable @@ -34,7 +34,7 @@ It is related to the automatic proxy configuration :term:`situation `: -.. extinclude:: https://forge.cloud.silique.fr/stove/rougail-tutorials/raw/commit/v1.1_100/config/03/config.yml +.. extinclude:: https://forge.cloud.silique.fr/stove/rougail-tutorials/raw/commit/v1.1_110/config/03/config.yml :language: yaml :caption: The :file:`config/03/config.yml` user data file @@ -68,7 +68,7 @@ Let's launch the Rougail CLI on this :term:`user data file `: we have this output: .. raw:: html - :url: https://forge.cloud.silique.fr/stove/rougail-tutorials/raw/commit/v1.1_100/config/03/output_ro.html + :url: https://forge.cloud.silique.fr/stove/rougail-tutorials/raw/commit/v1.1_110/config/03/output_ro.html :class: output .. diff --git a/docs/tutorial/practice1.rst b/docs/tutorial/practice1.rst new file mode 100644 index 000000000..73a36ac47 --- /dev/null +++ b/docs/tutorial/practice1.rst @@ -0,0 +1,110 @@ +Practice +================================ + +.. objectives:: Objectives + + There is nothing new in the two next Firefox variables. So it is the time to practice what we loarn until now. + + This page will divided in two part for each variable: + + - Explain what we want to implement + - Propose to you a solution + + The best for you is to do this job on your own and compare to our propositions. + + Here are the two variables highlighted as describe in Firefox: + +.. FIXME comment gérer l'image au mieux ?? +.. image:: https://forge.cloud.silique.fr/stove/rougail-tutorials/media/commit/v1.1_130/firefox.png + +.. prerequisites:: Prerequisites + + - We assume that Rougail's library is :ref:`installed ` on your computer. + + - It is possible to retrieve the current state of the various Rougail files manipulated in this tutorial step + by checking out the corresponding tag of the `rougail-tutorials` git repository. + Each tag corresponds to a stage of progress in the tutorial. + Of course, you can also decide to copy/paste or download the tutorial files contents while following the tutorial steps. + + This workshop page corresponds to the tags :tutorial:`v1.1_130 ` to :tutorial:`v1.1_131 ` + +A conditional disabled boolean variable +------------------------------------------------------------- + +What do we want implement +''''''''''''''''''''''''''''''' + +- choice a file name that respect the :ref:`file naming and organizing convention ` +- define an appropriate variable name # FIXME pas de convention pour le nom des familles/variables ? +- the Firefox description is in negative mode, which is not a good practice for us, we rewrite it in positive mode +- the variable is a boolean with the default value `true` (the opposite of unchecked option) +- the variable is available for all proxy mode choice by user, so disable it only when the `proxy mode` is "No proxy". + +Our solution +''''''''''''''''''''''''''''''' + +.. type-along:: For those who follow the tutorial with the help of the git repository + + Now you need to checkout the :tutorial:`v1.1_130 ` version:: + + git switch --detach v1.1_130 + +.. extinclude:: https://forge.cloud.silique.fr/stove/rougail-tutorials/raw/commit/v1.1_130/firefox/50-prompt_authentication.yml + :language: yaml + :caption: The :file:`firefox/50-prompt_authentication.yml` a conditional disabled boolean variable + +.. + %YAML 1.2 + --- + version: 1.1 + + prompt_authentication: + description: Prompt for authentication if password is saved + default: true + disabled: + variable: _.proxy_mode + when: No proxy + ... + +A Jinja conditional disabled boolean variable +------------------------------------------------- + +What do we want implement +''''''''''''''''''''''''''''''' + +- choice a file name that respect the :ref:`file naming and organizing convention ` +- define an appropriate variable name # FIXME pas de convention pour le nom des familles/variables ? +- the description will be the Firefox description +- the variable is a boolean with the default value `false` (unchecked option) +- the variable is only available with the "Manual proxy configuration" proxy mode and when the proxy socks version is not v4. + + +Our solution +''''''''''''''''''''''''''''''' + +.. type-along:: For those who follow the tutorial with the help of the git repository + + Now you need to checkout the :tutorial:`v1.1_131 ` version:: + + git switch --detach v1.1_131 + +.. extinclude:: https://forge.cloud.silique.fr/stove/rougail-tutorials/raw/commit/v1.1_131/firefox/55-proxy_dns_socks5.yml + :language: yaml + :caption: The :file:`firefox/55-proxy_dns_socks5.yml` a Jinja conditional disabled boolean variable + +.. + %YAML 1.2 + --- + version: 1.1 + + proxy_dns_socks5: + description: Use proxy DNS when using SOCKS v5 + default: false + disabled: + jinja: |- + {{ _.proxy_mode != "Manual proxy configuration" or _.manual.socks_proxy.version == 'v4' }} + return_type: boolean + description: |- + if "_.proxy_mode" is not "Manual proxy configuration" + or "_.manual.socks_proxy.version" is "v4" + ...