Namespaces
============

.. objectives:: Objectives

   In this section we are going to evolve our use case. 
   We're going to use a Firefox add-on called `Foxy Proxy <https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/>`_.

.. prerequisites:: Prerequisites

    - We assume that Rougail's library is :ref:`installed <installation>` 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.

    If you want to follow this tutorial with the help of the corresponding :tutorial:`rougail-tutorials git repository <src/branch/1.1>`,
    this workshop page corresponds to the tags :tutorial:`1.1_180 <src/tag/1.1_180/README.md>` to :tutorial:`1.1_181 <src/tag/1.1_181/README.md>`
    in the repository.

    ::

       git clone https://forge.cloud.silique.fr/stove/rougail-tutorials.git
       git switch --detach 1.1_180

Namespace
-----------

The purpose here is not to teach you how to use the Foxy Proxy addon, 
but rather to explain that using this Firefox plugin will require us
to make decisions about how to organize our variables. 

We will store them in namespaces.

Variables related to the Foxy Proxy plugin will be stored in a separate namespace.

New "FoxyProxy" namespace
----------------------------

.. type-along:: For those who follow the tutorial with the help of the git repository

    Now you need to checkout the :tutorial:`1.1_181 <src/tag/1.1_181/README.md>` version::

          git switch --detach 1.1_181



.. image:: images/foxyproxy.png



