diff --git a/doc/source/_static/css/custom.css b/doc/source/_static/css/custom.css
index ea94ab7d99b29c2e5b2a75efe0db67826b29b28d..97cd3922b8f3de7e73fae1f5e675abadd14ea8f9 100644
--- a/doc/source/_static/css/custom.css
+++ b/doc/source/_static/css/custom.css
@@ -43,3 +43,21 @@
     content : ''!important;
     visibility: hidden;
 }
+
+/** bouton dropdown amonition */
+button.toggle-button {
+  font-family: inherit;
+  font-size: 18px;
+  color: white;
+  font-weight: 700;
+  top: 2px !important;
+  display: flex;
+  flex-direction: row;
+  justify-content: center;
+  align-items: center;
+}
+
+svg.tb-icon {
+  margin-top: 0px;
+  padding: 0px;
+}
\ No newline at end of file
diff --git a/doc/source/_static/js/custom.js b/doc/source/_static/js/custom.js
new file mode 100644
index 0000000000000000000000000000000000000000..0b955f4033386320886e010c59b7b83bf67bc2db
--- /dev/null
+++ b/doc/source/_static/js/custom.js
@@ -0,0 +1,26 @@
+document.addEventListener('DOMContentLoaded', () => {
+    // fonction pour ouvrir les liens externes dans un nouvel onglet
+    document.querySelectorAll('a.reference.external').forEach(function(link) {
+      link.target = '_blank';
+    });
+    // renplacement du data-toggle-hint pour que le texte des dropdowns soit en Français, sans toucher à la librairie
+    document.querySelectorAll('p.admonition-title > button.toggle-button.toggle-button-hidden').forEach((elem) => {
+      // il y a un bug lors de la première ouverture du dropdown, donc je simule une ouverture pour l'éviter
+      // un seul click : ouvert, deux clicks : fermé
+      elem.click();
+      // elem.click();
+      elem.setAttribute('data-toggle-hint', 'Cliquez pour dévoiller')
+    })
+  
+    // Permet de rajouter l'ouverture d'image dans un nouvel onglet au click, permet de voir l'image plus zoomée
+    const imgs = document.querySelectorAll("img");
+    for (const img of imgs) {
+        // Prepare link
+        const link = document.createElement("a");
+        link.href = img.src;
+        link.target = "_blank";
+        // Reparent img tag
+        img.replaceWith(link);
+        link.append(img);
+    }
+  });
\ No newline at end of file
diff --git a/doc/source/administrator/index.rst b/doc/source/administrator/index.rst
index 441baea252f2071ebff8ae912d1d21abd088df56..4807371844fac6387de149fd80dacb7609bd44bd 100644
--- a/doc/source/administrator/index.rst
+++ b/doc/source/administrator/index.rst
@@ -11,6 +11,7 @@ Il est conseillé aux administrateurs de consulter en premier la `Documentation
    :maxdepth: 2
 
    authentification/index.rst
+   rights/index.rst
    users.md
    configuration/index.rst
    api/api.rst
diff --git a/doc/source/administrator/rights/auth_token.md b/doc/source/administrator/rights/auth_token.md
new file mode 100644
index 0000000000000000000000000000000000000000..b3b03440d37b757e0a89c2f98b551f144aa94bee
--- /dev/null
+++ b/doc/source/administrator/rights/auth_token.md
@@ -0,0 +1,90 @@
+# Gestion des jetons de connexion
+
+Un jeton de connexion est une manière de permettre un accès à l'application, via le compte de la personne qui possède le jeton, sans avoir à fournir ses identifiants.  
+
+L'avatange d'un jeton est qu'il ne donne aucunes informations sur l'utilisateur à la personne, et peut être désactivé à tout moment.  
+
+## Utilité
+
+Le jeton de connexion permet de faire tout ce que l'utilisateur lié au jeton peut faire, et est au centre de plusieurs fonctionnalités :  
+
+- Il permet l'utilisation de l'API
+- Il permet d'utiliser le mode public de vMap2, en étant connecté à l'application via cet utilisateur.
+- Il permet d'utiliser les widgets.
+
+## Création
+
+Il est possible de créer un token dans l'interface prévue à cet effet, à l'emplacement "Utilisateurs" > "Jetons de connexion", puis de cliquer sur le bouton "Ajouter" pour ajouter un nouveau jeton de connexion.  
+
+![ajout_jeton](../../images/administrator/rights/auth_token/ajout_jeton.png)
+
+Il suffit ensuite de remplir les différents champs du formulaire pour créer le token :  
+
+![add_modify_token_form](../../images/administrator/rights/auth_token/add_modify_token_form.png)
+
+## Utilisation
+
+### Utilisation de l'API avec un jeton
+
+Il est possible, via un jeton utilisateur, de récupérer un jeton de connexion, permettant d'utiliser l'API de vMap2.
+
+Pour ce faire, il faut tout d'abord récupérer le champ `ID` au niveau du token dans la liste :  
+
+![id_token](../../images/administrator/rights/auth_token/id_jeton.png)
+
+Il est ensuite possible d'obtenir un token d'authentification en requêtant la route `vitis/privatetoken` avec le jeton dans l'header `Authorization` :  
+
+![auth_token_api](../../images/administrator/rights/auth_token/auth_token_api.png)
+
+Celui-ci peut ensuite être utilisé dans le reste des routes de l'API, dans le token `Authorization`, et permet de se servir de l'API comme une connection utilisateur/mot de passe classique :  
+
+![auth_token_jeton](../../images/administrator/rights/auth_token/auth_token_jeton.png)
+
+### Connexion au mode publique
+
+Une autre des utilités des jetons est la mise en place du mode publique.  
+En effet, le mode public nécessite un jeton de connexion afin de pouvoir connecter l'utilisateur invité à l'application.  
+
+Pour ce faire, il suffit de paramétrer deux propriétés, dont une nécessitant le jeton de connexion : 
+
+```js
+{
+...
+"public_connect_enabled": false,
+"public_connect_token": "",
+...
+}
+```
+
+Une fois ces informations mises en place, il est possible d'accéder à l'application sans connexion de l'utilisateur. 
+
+```{figure} ../../images/administrator/rights/auth_token/mode_publique.png
+:alt: mode_publique
+:align: center
+
+Exemple d'application avec le mode publique
+```
+
+### Création d'un widget carte
+
+Dans vMap2, il est également possible de créer un widget carte qui permet d'intégrer des cartes dans d'autres sites WEB.  
+
+Pour ce faire, il est absolument nécessaire d'avoir un jeton de connexion existant.  
+
+Pour créer un widget, il faut se rendre dans "Cartes et Couches" > "Cartes".
+
+![carte_datagrid](../../images/administrator/rights/auth_token/carte_datagrid.png)
+
+Il faut ensuite appuyer sur le crayon au niveau de la carte choisie, puis sur le formulaire.
+
+Une fois sur le formulaire d'édition de la carte, il faut se rendre dans le sous-menu "appel externe" et ajouter un nouvel enregistrement :  
+
+![carte_appel_externe](../../images/administrator/rights/auth_token/carte_appel_externe.png)
+
+Une fois dans l'interface d'ajout, il suffit de remplir les différentes informations, en choisissant le bon token dans la liste déroulante.
+
+![ajout_widget](../../images/administrator/rights/auth_token/ajout_widget.png)
+
+Une fois le formulaire validé, le code pour intégrer la carte est disponible dans une nouvelle fenêtre dans le formulaire :  
+
+![url_widget](../../images/administrator/rights/auth_token/url_widget.png)
\ No newline at end of file
diff --git a/doc/source/administrator/rights/data.md b/doc/source/administrator/rights/data.md
new file mode 100644
index 0000000000000000000000000000000000000000..5eaa7a6a4ec60c8226584a2e5d140aa06b44485c
--- /dev/null
+++ b/doc/source/administrator/rights/data.md
@@ -0,0 +1,65 @@
+# Les droits portant sur les données
+
+La gestion des droits sur la donnée est une responsabilité administrateur, sa gestion revient donc à ceux-ci.
+
+## Introduction
+
+Bien que les privilèges permettent l'accès à certaines fonctionnalités de l'application, et les groupes à certaines cartes et modèles d'impression, une autre notion importante à considérer quant à la gestion des droits, est la gestion des droits PostgreSQL.  
+
+En effet, les droits PostgreSQL permettent à l'administrateur de définir quels sont les droits dont les utilisateurs disposent sur une donnée (une table/vue).  
+
+Rajouter des droits à ces éléments permet notamment à l’utilisateur final de pouvoir réaliser des actions différentes sur une donnée visualisée dans vMap2 (consultation, saisie, édition ou suppression d’une donnée géographique et attributaire).  
+
+Une mauvaise gestion, ou un oubli de ceux-ci pourraient entraîner l'impossibilité pour un utilisateur d'exploiter certaines données dans vMap2.  
+
+## Fonctionnement
+
+```{info}
+Le tutoriel suivant est illustré avec le client SQL pgadmin.  
+Le fonctionnement peut différer légèrement pour d'autres clients (DBeaver, phpMyAdmin, ...).  
+Le principe est que le code SQL reste cependant le même.
+```
+
+Pour cet exemple, j'aimerais rajouter le privilège `exploitant_ville` sur ma table `data_demo_vmap`.`f_villes_l93`, afin qu'un utilisateur ayant ce privilège puisse utiliser/mettre à jour/supprimer les données de ma couche `ville` utilisant cette table.
+
+```{note}
+Le fonctionnement et la création d'un privilège sont expliqués dans la [section suivante](./privilege.md).
+```
+
+![privilege_gestion_droits](../../images/administrator/rights/data/privilege_gestion_droits.png)
+
+Pour ajouter des droits sur une table, il faut tout d'abord ouvrir un client SQL.  
+
+Il faut ensuite effectuer une connexion à la base de données contenant la structure de vMap2.
+
+![connexion_base](../../images/administrator/rights/data/connexion_base.png)
+
+Une fois connecté, je navigue dans ma base via le menu latéral jusqu'à trouver la table concernée :  
+
+![table_menu_lateral](../../images/administrator/rights/data/table_menu_lateral.png)
+
+Une fois la table trouvée, il faut faire un clique droit dessus, option "properties...", dans la nouvelle fenêtre qui s'ouvre, cliquer sur l'onglet "Security".  
+
+![onglet_securite](../../images/administrator/rights/data/onglet_securite.png)
+
+En cliquant sur le signe "+" de la ligne "Privileges", il m'est possible d'ajouter un nouvel utilisateur/groupe à ma table, je vais donc rajouter mon privilège `exploitant_ville`, avec les droits `SELECT`, `INSERT`, `UPDATE`, `DELETE` afin qu'il puisse gérer les données de la table.
+
+![onglet_securite](../../images/administrator/rights/data/ajout_droit.png)
+
+Une fois ceci fait, il me suffit de sauvegarder, et l'utilisateur ayant le privilège `exploitant_ville` pourra maintenant consulter, ajouter, mettre à jour et supprimer des données dans cette table.
+
+:::{admonition} **Gérer les droits en SQL**
+:class: dropdown important
+Il est également possible d'atteindre le même résultat en pur SQL.
+
+En utilisant l'éditeur de requêtes, par exemple via ce bouton sur pgadmin:
+![query_tool](../../images/administrator/rights/data/query_tool.png)
+
+Il est possible de rajouter les droits `SELECT`, `INSERT`, `UPDATE`, `DELETE` à la table `data_demo_vmap`.`f_villes_l93` pour le groupe `exploitant_ville` avec la requête suivante :
+
+```sql
+GRANT SELECT, INSERT, UPDATE, DELETE ON data_demo_vmap.f_villes_l93 TO exploitant_ville;
+```
+
+Cette requête aboutit au même résultat que les étapes au-dessus.
+:::
\ No newline at end of file
diff --git a/doc/source/administrator/rights/group.md b/doc/source/administrator/rights/group.md
new file mode 100644
index 0000000000000000000000000000000000000000..a0a3a434c259c62f90a5bb16ede7c4bd57b63488
--- /dev/null
+++ b/doc/source/administrator/rights/group.md
@@ -0,0 +1,68 @@
+# Les groupes
+
+## Utilité 
+
+Dans vMap2, la notion de groupe est utilisée :  
+- pour définir les cartes qu'un "goupe" d'utilisateur a le droit de consulter
+- pour définir les modèles d'impression qu'un "goupe" d'utilisateur peut utiliser (A4, A3, portrait, paysage...)
+
+:::{admonition} **Détail de l'utilité des groupes**
+:class: dropdown important
+
+Les groupes de vMap2 sont utilisés aux emplacements suivants :  
+
+Au niveau des "informations générales" à l'édition d'une carte, afin de permettre l'accès aux cartes
+![groupe_edition_carte](../../images/administrator/rights/group/groupe_carte.png)
+
+Au niveau des "informations générales" des modèles d'impression, afin de permettre aux utilisateurs du groupe d'utiliser un modèle d'impression
+![groupe_modele_impression](../../images/administrator/rights/group/groupe_modele_impression.png)
+
+:::
+
+## Création
+
+Il existe actuellement deux manières de créer un groupe dans vMap2 :  
+
+- Via l'interface de création des groupes
+- Via l'import de groupes de l'interface AD/LDAP
+
+### Création de groupes via l'interface
+
+Il est possible d'ajouter un nouveau groupe dans l'interface "Utilisateurs" > "Groupes", puis en cliquant sur le bouton "Ajouter" en haut à droite :  
+![add_group_vitis](../../images/administrator/rights/group/add_group_vitis.png)
+
+Il suffit ensuite de saisir un nom pour le groupe, de cliquer sur les utilisateurs à ajouter et de les déplacer dans le menu de droite pour les ajouter, puis de cliquer sur le bouton "Créer".
+![insert_add_group_vitis](../../images/administrator/rights/group/insert_add_group_vitis.png)
+
+
+### Création de groupes via l'import de l'AD/LDAP
+
+Il est également possible de créer des groupes en important des groupes d'un AD lié à vMap2.
+
+Pour ce faire, il faut se rendre dans la section "Utilisateurs" > "Domaines" et cliquer sur le bouton en forme de crayon associé au domaine que l'on veut modifier.
+
+```{tip}
+Un tutoriel sur le fonctionnement de l'ajout d'un AD ou d'un LDAP est disponible au [lien suivant](#).
+```
+![edit_ad_ldap](../../images/administrator/rights/group/edit_ad_ldap.png)
+
+Une fois dans ce menu, il est ensuite possible d'ajouter les groupes dans vMap2 en allant dans la sous-section "Liste des groupes", en sélectionnant plusieurs groupes en cliquant dessus, puis en cliquant sur le bouton "Importer".
+![import_ad_ldap](../../images/administrator/rights/group/import_ad_ldap.png)
+
+:::{admonition} **Synchronisation des groupes AD/LDAP avec vMap2**
+:class: dropdown important
+
+Il est possible de synchroniser les groupes avec l'annuaire, dans ce cas, un script viendra mettre à jour le lien entre les utilisateurs de ce domaine et ce groupe à intervalle régulier. 
+La synchronisation est à configurer dans la [configuration](../configuration/active_directory.md).
+
+Il est ensuite possible d'activer ou de désactiver la synchronisation dans le menu du groupe, à noter qu'il est également possible de la faire manuellement via le bouton "Synchroniser".
+![ad_ldap_sync](../../images/administrator/rights/group/ad_ldap_sync.png)
+
+:::
+
+```{note}
+Le fonctionnement est légèrement différent de ce que l'application faisait en version 2019 et antérieur.  
+Les groupes ne sont plus vérifiés par rapport à l'annuaire systématiquement à chaque fois, les groupes locaux sont toujours utilisés, en revanche, il est possible de rafraîchir le lien local régulièrement pour suivre les modifications faites sur l'annuaire.
+```
+
+Les groupes fonctionnent par la suite comme des groupes vMap2 normaux.
\ No newline at end of file
diff --git a/doc/source/administrator/rights/index.rst b/doc/source/administrator/rights/index.rst
new file mode 100644
index 0000000000000000000000000000000000000000..d948b429ff2363327456de598ed8de57a0f0ff88
--- /dev/null
+++ b/doc/source/administrator/rights/index.rst
@@ -0,0 +1,17 @@
+Gestions des droits
+============================================
+
+--------------
+
+Cette section concerne la gestion de l'intégralité des droits de l'application vMap2, c'est-à-dire leurs utilités, leurs fonctionnements, leurs portées, ...
+
+============================================
+
+.. toctree::
+   :maxdepth: 2
+
+   group.md
+   privilege.md
+   data.md
+   restriction.md
+   auth_token.md
\ No newline at end of file
diff --git a/doc/source/administrator/rights/privilege.md b/doc/source/administrator/rights/privilege.md
new file mode 100644
index 0000000000000000000000000000000000000000..b61e7a1650f593f51072ef955454bdc6fda46f1d
--- /dev/null
+++ b/doc/source/administrator/rights/privilege.md
@@ -0,0 +1,53 @@
+# Les privilèges
+
+Les privilèges sont une notion administrateur, leur gestion revient donc à ceux-ci.
+
+## Fonctionnement
+
+Les privilèges sont l'essence de l'application, ce sont ceux-ci qui permettent l'accès aux différentes fonctionnalités dans l'application.
+
+Il existe deux types de privilèges :
+
+- Les privilèges propres à l'application, ceux-ci ne doivent pas être modifiés, édités, ou supprimés, sous peine d'une impossibilité d'utiliser l'application par la suite.
+- Les privilèges créés par l'administrateur de l'application, qui servent souvent à limiter l'accès aux données.
+
+## Privilèges de vMap
+
+vMap contient une liste de privilèges permettant d'autoriser l'accès à différentes parties de l'application :  
+
+- `vmap_user:` Il s'agit du droit le plus basique pour utiliser vMap, il permet l'accès à la cartographie, ainsi qu'à toutes les fonctionnalités associées à celle-ci (requêteur, filtre, sélection, ...).
+
+- `vmap_admin:` Il permet d'accéder à la partie administration de l'application, c'est-à-dire l'ajout de couches/flux, la gestion de ceux-ci, la gestion des thèmes, des sources de données, des systèmes de coordonnées et des symboles et polices d'écriture.
+
+- `vmap_data_manager:` permet à l'utilisateur d'avoir accès au mode "tableau", et ses différentes fonctionnalités, à savoir ajouter, supprimer ou modifier de la donnée.
+
+En plus des privilèges vMap2, certains autres privilèges sont disponibles pour les accès aux fonctionnalités du noyau :  
+
+- `vitis_user` : permet de se connecter à l'application et de configurer son utilisateur.
+
+- `vitis_admin` : permet l'accès aux modes pour gérer les utilisateurs, domaines, groupes, jetons de connexions, logs, modèles d'email, interface et configuration de l'application. Il a en charge la gestion des paramètres système et de la configuration de vMap2. Il accède également dans le mode API à la documentation relative à l'API de vMap2.
+
+- `vitis_shared` : permet de gérer l'arborescence du dossier shared, qui est un dossier partagé entre plusieurs utilisateurs pour partager des ressources.
+
+## Gestion des privilèges
+
+La gestion des privilèges est accessible via l'interface des privilèges disponible dans "Utilisateurs" > "Privilèges".  
+L'accès à l'interface nécessite le droit `vitis_admin`
+
+![interface_privilege](../../images/administrator/rights/privileges/interface_privileges.png)
+
+Il est ensuite possible de créer des nouveaux privilèges via le bouton "Ajouter", ou d'en modifier via le crayon :  
+
+![gestion_privilege](../../images/administrator/rights/privileges/privileges_gestion.png)
+
+Il suffit ensuite de renseigner ou modifier les différentes informations, ainsi qu'associer les utilisateurs via la liste, puis d'appuyer sur le bouton "Créer"/"Modifier".
+
+![form_privileges](../../images/administrator/rights/privileges/form_privileges.png)
+
+```{tip}
+Il est également possible d'ajouter des privilèges à un utilisateur via le formulaire d'ajout/modification d'un utilisateur, au chemin "Utilisateurs" > "Utilisateurs".
+
+![interface_users](../../images/administrator/rights/privileges/interface_users.png)
+
+![form_users_privileges](../../images/administrator/rights/privileges/form_users_privilege.png)
+```
\ No newline at end of file
diff --git a/doc/source/administrator/rights/restriction.md b/doc/source/administrator/rights/restriction.md
new file mode 100644
index 0000000000000000000000000000000000000000..d75fa3432e46190573ea6326f83968e320798854
--- /dev/null
+++ b/doc/source/administrator/rights/restriction.md
@@ -0,0 +1,88 @@
+# Les restrictions (ex: restriction communales)
+
+Les restrictions sont un principe qui permet à un adminstrateur de restreindre l'accès à un utilisateur, à certaines données uniquement, contre un peu de configuration côté application et base de données.  
+
+Ce principe est par exemple très utilisé au niveau des données cadastrales, afin de mettre en place des restrictions communale sur les données cadastrales, en renseignant par exemple le code INSEE d'une ou plusieurs communes, afin que l'utilisateur n'ait accès qu'aux données cadastrales nécessaires à son travail sur l'application.  
+
+## Configuration
+
+Pour saisir une restriction, il faut se rendre sur un utilisateur, dans la section "Utilisateurs" > "Utilisateurs" du menu latéral, puis de cliquer sur le bouton en forme de crayon à côté de l'utilisateur pour lequel il faut définir les restrictions.
+
+![user_datagrid](../../images/administrator/rights/restriction/user_datagrid.png)
+
+Une fois dans l'interface de modifications, dans la section "Droits et restrictions", une section "restrictions" permet de définir les différentes restrictions qui seront appliquées sur les données.  
+
+![restriction_modify_user](../../images/administrator/rights/restriction/restriction_modify_user.png)
+
+La bonne syntaxe pour la chaîne de caractères est un ensemble de chaînes de caractères, séparés par un séparateur (le caractère `|`).  
+
+Par exemple, pour des restrictions communales, la bonne syntaxe serait un ensemble de code INSEE, séparés par le caractère `|`.  
+
+```sql
+66106|66125|07324
+```
+
+Une fois cela fait, la restriction est en place, il reste maintenant à voir le paramétrage côté données (donc en base de données).
+
+## Paramétrage côté base de données
+
+```{tip}
+Les restrictions sur les données du cadastre sont déjà appliquées par défaut, étant une structure de données de Veremes.  
+L'ajout n'est nécessaire que dans le cas où vous voudriez appliquer la restriction à des données autres que le modèle de données du cadastre.  
+```
+
+Maintenant que les restrictions sont mises en place côté utilisateur, il faut également s'assurer que la restriction est appliquée à la table, afin de bien filtrer les données retournées.
+
+Pour ce faire, il va être nécessaire de faire une vue, avec un filtre en fonction de cette restriction.  
+
+Pour cet exemple, je vais prendre une table des villes (`data_demo_vmap`.`f_villes_f93`) constituée des colonnes suivantes :  
+
+![table_villes](../../images/administrator/rights/restriction/table_villes.png)
+
+Je crée donc ensuite une vue, en cliquant droit sur "views" > "Create" > "View..."
+
+![create_view](../../images/administrator/rights/restriction/creer_vues.png)
+
+Il faut rentrer un nom, puis ensuite se rendre dans l'onglet "code" :  
+
+![view_onglet_code](../../images/administrator/rights/restriction/view_onglet_code.png)
+
+Puis il faut ensuite rentrer le code de la vue, en ajoutant le code suivant en tant que condition `WHERE` :  
+
+```sql
+WHERE [nom de la colonne] ~ similar_escape(( SELECT "user".restriction
+FROM s_vitis."user"
+WHERE "user".login::name = "current_user"()), NULL::text);
+```
+
+Pour ma vue, le code suivant me permet de filtrer les villes :  
+
+```sql
+SELECT * FROM data_demo_vmap.f_villes_93
+WHERE f_villes_93.code ~ similar_escape(( SELECT "user".restriction
+FROM s_vitis."user"
+WHERE "user".login::name = "current_user"()), NULL::text);
+```
+
+![code_sql_vue](../../images/administrator/rights/restriction/code_sql_vue.png)
+
+Une fois cette vue créée, on peut voir que je ne récupère que les données filtrées par la restriction de mon utilisateur :  
+
+![filtre_fonctionnel](../../images/administrator/rights/restriction/filtre_fonctionnel.png)
+
+
+## Exemple dans le module Cadastre
+
+L'application la plus commune des restrictions est la limitation des données dans le module cadastre.  
+
+Les données du cadastre étant sensibles, il est d'usage de limiter les données retournées à l'utilisateur au strict nécessaire.  
+
+Voici un exemple avec le module cadastre sur les Pyrénées-Orientales.  
+
+Par défaut, sans restrictions, mon utilisateur a accès à la totalité des Pyrénées-Orientales.  
+
+![restriction_cadastre_sans](../../images/administrator/rights/restriction/restriction_cadastre_sans.png)
+
+Une fois la restriction en place (pour celle-ci, `661316|66210`), seules les communes filtrées sont accessibles à l'utilisateur.
+
+![restriction_cadastre_avec](../../images/administrator/rights/restriction/restriction_cadastre_avec.png)
diff --git a/doc/source/conf.py b/doc/source/conf.py
index 176f292e239b6ac587d32c6c745fa2618e8cf95a..0ace35e10da3bed0c99b872e85756c6807a576bb 100644
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -54,6 +54,7 @@ extensions = [
     'sphinx.ext.coverage',
     'sphinx.ext.mathjax',
     'sphinx.ext.autosectionlabel',
+    'sphinx_togglebutton',
     'myst_parser',
     'sphinx.ext.viewcode',
 ]
@@ -116,6 +117,10 @@ html_css_files = [
     'css/custom.css',
 ]
 
+html_js_files = [
+    'js/custom.js',
+]
+
 # All the foremat supported
 source_suffix = {
     '.rst': 'restructuredtext',
diff --git a/doc/source/images/administrator/rights/auth_token/add_modify_token_form.png b/doc/source/images/administrator/rights/auth_token/add_modify_token_form.png
new file mode 100644
index 0000000000000000000000000000000000000000..efdbdb46a331149fd27b60d6230043aa0597aadd
Binary files /dev/null and b/doc/source/images/administrator/rights/auth_token/add_modify_token_form.png differ
diff --git a/doc/source/images/administrator/rights/auth_token/ajout_jeton.png b/doc/source/images/administrator/rights/auth_token/ajout_jeton.png
new file mode 100644
index 0000000000000000000000000000000000000000..a6d760d04d92e092d8f2833b33fe6324c11cc576
Binary files /dev/null and b/doc/source/images/administrator/rights/auth_token/ajout_jeton.png differ
diff --git a/doc/source/images/administrator/rights/auth_token/ajout_widget.png b/doc/source/images/administrator/rights/auth_token/ajout_widget.png
new file mode 100644
index 0000000000000000000000000000000000000000..55e53fc3e28a6ff1ab6333a99bcab32414d53438
Binary files /dev/null and b/doc/source/images/administrator/rights/auth_token/ajout_widget.png differ
diff --git a/doc/source/images/administrator/rights/auth_token/auth_token_api.png b/doc/source/images/administrator/rights/auth_token/auth_token_api.png
new file mode 100644
index 0000000000000000000000000000000000000000..682a6859316b41189b9572801f465b1f9752bce6
Binary files /dev/null and b/doc/source/images/administrator/rights/auth_token/auth_token_api.png differ
diff --git a/doc/source/images/administrator/rights/auth_token/auth_token_jeton.png b/doc/source/images/administrator/rights/auth_token/auth_token_jeton.png
new file mode 100644
index 0000000000000000000000000000000000000000..4cf32ec04c5cc6859cefa9077a67aa5534c57f41
Binary files /dev/null and b/doc/source/images/administrator/rights/auth_token/auth_token_jeton.png differ
diff --git a/doc/source/images/administrator/rights/auth_token/carte_appel_externe.png b/doc/source/images/administrator/rights/auth_token/carte_appel_externe.png
new file mode 100644
index 0000000000000000000000000000000000000000..e7de07c9d760401c0eb726a5e380acd8da10da60
Binary files /dev/null and b/doc/source/images/administrator/rights/auth_token/carte_appel_externe.png differ
diff --git a/doc/source/images/administrator/rights/auth_token/carte_datagrid.png b/doc/source/images/administrator/rights/auth_token/carte_datagrid.png
new file mode 100644
index 0000000000000000000000000000000000000000..f592d2ee1c6ba079d55dee4289f32fbf530c9bd4
Binary files /dev/null and b/doc/source/images/administrator/rights/auth_token/carte_datagrid.png differ
diff --git a/doc/source/images/administrator/rights/auth_token/id_jeton.png b/doc/source/images/administrator/rights/auth_token/id_jeton.png
new file mode 100644
index 0000000000000000000000000000000000000000..40e7222311533ad383f3492b47ca9a9aa6f239f1
Binary files /dev/null and b/doc/source/images/administrator/rights/auth_token/id_jeton.png differ
diff --git a/doc/source/images/administrator/rights/auth_token/mode_publique.png b/doc/source/images/administrator/rights/auth_token/mode_publique.png
new file mode 100644
index 0000000000000000000000000000000000000000..2e35680fcf091eb82820424d9c03507d70155254
Binary files /dev/null and b/doc/source/images/administrator/rights/auth_token/mode_publique.png differ
diff --git a/doc/source/images/administrator/rights/auth_token/url_widget.png b/doc/source/images/administrator/rights/auth_token/url_widget.png
new file mode 100644
index 0000000000000000000000000000000000000000..9d586b7f2aebe68829ab8856b9e85531e11b0b4b
Binary files /dev/null and b/doc/source/images/administrator/rights/auth_token/url_widget.png differ
diff --git a/doc/source/images/administrator/rights/data/ajout_droit.png b/doc/source/images/administrator/rights/data/ajout_droit.png
new file mode 100644
index 0000000000000000000000000000000000000000..cee1552e2cbab0de905181c3335fb0a4f40d4f77
Binary files /dev/null and b/doc/source/images/administrator/rights/data/ajout_droit.png differ
diff --git a/doc/source/images/administrator/rights/data/connexion_base.png b/doc/source/images/administrator/rights/data/connexion_base.png
new file mode 100644
index 0000000000000000000000000000000000000000..9e7ef66ee6ec41fd875b5e004ced8bdf01c0b936
Binary files /dev/null and b/doc/source/images/administrator/rights/data/connexion_base.png differ
diff --git a/doc/source/images/administrator/rights/data/onglet_securite.png b/doc/source/images/administrator/rights/data/onglet_securite.png
new file mode 100644
index 0000000000000000000000000000000000000000..4c658999f22a6a63f1e777b267c72424948df1a9
Binary files /dev/null and b/doc/source/images/administrator/rights/data/onglet_securite.png differ
diff --git a/doc/source/images/administrator/rights/data/privilege_gestion_droits.png b/doc/source/images/administrator/rights/data/privilege_gestion_droits.png
new file mode 100644
index 0000000000000000000000000000000000000000..8641f6156f00b8ba8d0171cdb3530215be9886f2
Binary files /dev/null and b/doc/source/images/administrator/rights/data/privilege_gestion_droits.png differ
diff --git a/doc/source/images/administrator/rights/data/query_tool.png b/doc/source/images/administrator/rights/data/query_tool.png
new file mode 100644
index 0000000000000000000000000000000000000000..44c4d08b8a7463358b24fb2e2e511cd3835c2e66
Binary files /dev/null and b/doc/source/images/administrator/rights/data/query_tool.png differ
diff --git a/doc/source/images/administrator/rights/data/table_menu_lateral.png b/doc/source/images/administrator/rights/data/table_menu_lateral.png
new file mode 100644
index 0000000000000000000000000000000000000000..b67637c020c5cd2efac29fb4aaaa49e1a744ead7
Binary files /dev/null and b/doc/source/images/administrator/rights/data/table_menu_lateral.png differ
diff --git a/doc/source/images/administrator/rights/group/ad_ldap_sync.png b/doc/source/images/administrator/rights/group/ad_ldap_sync.png
new file mode 100644
index 0000000000000000000000000000000000000000..d2387207d05724340598b518868514f762071a2a
Binary files /dev/null and b/doc/source/images/administrator/rights/group/ad_ldap_sync.png differ
diff --git a/doc/source/images/administrator/rights/group/add_group_vitis.png b/doc/source/images/administrator/rights/group/add_group_vitis.png
new file mode 100644
index 0000000000000000000000000000000000000000..e1eb6ad67a0851db038e121e1edc7512f10af806
Binary files /dev/null and b/doc/source/images/administrator/rights/group/add_group_vitis.png differ
diff --git a/doc/source/images/administrator/rights/group/edit_ad_ldap.png b/doc/source/images/administrator/rights/group/edit_ad_ldap.png
new file mode 100644
index 0000000000000000000000000000000000000000..8a08a242096d83ae3f275e8cf98bb00728ba44f2
Binary files /dev/null and b/doc/source/images/administrator/rights/group/edit_ad_ldap.png differ
diff --git a/doc/source/images/administrator/rights/group/groupe_carte.png b/doc/source/images/administrator/rights/group/groupe_carte.png
new file mode 100644
index 0000000000000000000000000000000000000000..93b25f9b77ab10866d78277923f492151ae7e9ce
Binary files /dev/null and b/doc/source/images/administrator/rights/group/groupe_carte.png differ
diff --git a/doc/source/images/administrator/rights/group/groupe_modele_impression.png b/doc/source/images/administrator/rights/group/groupe_modele_impression.png
new file mode 100644
index 0000000000000000000000000000000000000000..3646324b1f4c1f7035bca9aaad9c5b28d303b438
Binary files /dev/null and b/doc/source/images/administrator/rights/group/groupe_modele_impression.png differ
diff --git a/doc/source/images/administrator/rights/group/import_ad_ldap.png b/doc/source/images/administrator/rights/group/import_ad_ldap.png
new file mode 100644
index 0000000000000000000000000000000000000000..a5b8e3d1bfc895b2fb65acd394ff50a72f47a675
Binary files /dev/null and b/doc/source/images/administrator/rights/group/import_ad_ldap.png differ
diff --git a/doc/source/images/administrator/rights/group/insert_add_group_vitis.png b/doc/source/images/administrator/rights/group/insert_add_group_vitis.png
new file mode 100644
index 0000000000000000000000000000000000000000..c39e29e0d8c63fa86a06d8a6964f569d463b7529
Binary files /dev/null and b/doc/source/images/administrator/rights/group/insert_add_group_vitis.png differ
diff --git a/doc/source/images/administrator/rights/privileges/form_privileges.png b/doc/source/images/administrator/rights/privileges/form_privileges.png
new file mode 100644
index 0000000000000000000000000000000000000000..b9f94481c24bb4c3ddf521c822349438e7e6ae16
Binary files /dev/null and b/doc/source/images/administrator/rights/privileges/form_privileges.png differ
diff --git a/doc/source/images/administrator/rights/privileges/form_users_privilege.png b/doc/source/images/administrator/rights/privileges/form_users_privilege.png
new file mode 100644
index 0000000000000000000000000000000000000000..55a9dd0d9da73034ad4cf4e48b4c767f6a3b84a3
Binary files /dev/null and b/doc/source/images/administrator/rights/privileges/form_users_privilege.png differ
diff --git a/doc/source/images/administrator/rights/privileges/interface_privileges.png b/doc/source/images/administrator/rights/privileges/interface_privileges.png
new file mode 100644
index 0000000000000000000000000000000000000000..c8365bc32feba10ace6ecf25de233c96e312b619
Binary files /dev/null and b/doc/source/images/administrator/rights/privileges/interface_privileges.png differ
diff --git a/doc/source/images/administrator/rights/privileges/interface_users.png b/doc/source/images/administrator/rights/privileges/interface_users.png
new file mode 100644
index 0000000000000000000000000000000000000000..b6bd7d540a4f7d4df65164e11ee17d6df8411149
Binary files /dev/null and b/doc/source/images/administrator/rights/privileges/interface_users.png differ
diff --git a/doc/source/images/administrator/rights/privileges/privileges_gestion.png b/doc/source/images/administrator/rights/privileges/privileges_gestion.png
new file mode 100644
index 0000000000000000000000000000000000000000..a93ed56288ec228a4ebf7f24205f41a07d14876d
Binary files /dev/null and b/doc/source/images/administrator/rights/privileges/privileges_gestion.png differ
diff --git a/doc/source/images/administrator/rights/restriction/code_sql_vue.png b/doc/source/images/administrator/rights/restriction/code_sql_vue.png
new file mode 100644
index 0000000000000000000000000000000000000000..818a503290f82d98b74586810cb6d02f3d322690
Binary files /dev/null and b/doc/source/images/administrator/rights/restriction/code_sql_vue.png differ
diff --git a/doc/source/images/administrator/rights/restriction/creer_vues.png b/doc/source/images/administrator/rights/restriction/creer_vues.png
new file mode 100644
index 0000000000000000000000000000000000000000..4258b1254daa765385b1a3451ba91b96d3607a17
Binary files /dev/null and b/doc/source/images/administrator/rights/restriction/creer_vues.png differ
diff --git a/doc/source/images/administrator/rights/restriction/filtre_fonctionnel.png b/doc/source/images/administrator/rights/restriction/filtre_fonctionnel.png
new file mode 100644
index 0000000000000000000000000000000000000000..a1dd709c2618e1da8c88654b85a19a519f7dff4e
Binary files /dev/null and b/doc/source/images/administrator/rights/restriction/filtre_fonctionnel.png differ
diff --git a/doc/source/images/administrator/rights/restriction/restriction_cadastre_avec.png b/doc/source/images/administrator/rights/restriction/restriction_cadastre_avec.png
new file mode 100644
index 0000000000000000000000000000000000000000..b47b79e400f6f94d9d69e29c07379f60ae54fd08
Binary files /dev/null and b/doc/source/images/administrator/rights/restriction/restriction_cadastre_avec.png differ
diff --git a/doc/source/images/administrator/rights/restriction/restriction_cadastre_sans.png b/doc/source/images/administrator/rights/restriction/restriction_cadastre_sans.png
new file mode 100644
index 0000000000000000000000000000000000000000..970e8a95c10741865c325d5d43ff253dc1c233c8
Binary files /dev/null and b/doc/source/images/administrator/rights/restriction/restriction_cadastre_sans.png differ
diff --git a/doc/source/images/administrator/rights/restriction/restriction_modify_user.png b/doc/source/images/administrator/rights/restriction/restriction_modify_user.png
new file mode 100644
index 0000000000000000000000000000000000000000..e81f75e3df5cbce4adb03abac0057befae3c8f26
Binary files /dev/null and b/doc/source/images/administrator/rights/restriction/restriction_modify_user.png differ
diff --git a/doc/source/images/administrator/rights/restriction/table_villes.png b/doc/source/images/administrator/rights/restriction/table_villes.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd0f2d02379e16cd12dda49e2bd12fe67f033fd2
Binary files /dev/null and b/doc/source/images/administrator/rights/restriction/table_villes.png differ
diff --git a/doc/source/images/administrator/rights/restriction/user_datagrid.png b/doc/source/images/administrator/rights/restriction/user_datagrid.png
new file mode 100644
index 0000000000000000000000000000000000000000..8b00557f06b6396d4242e3e2cf4fdf72c8614287
Binary files /dev/null and b/doc/source/images/administrator/rights/restriction/user_datagrid.png differ
diff --git a/doc/source/images/administrator/rights/restriction/view_onglet_code.png b/doc/source/images/administrator/rights/restriction/view_onglet_code.png
new file mode 100644
index 0000000000000000000000000000000000000000..157c156f6756c3c8fc4e6733be6b488544faca6d
Binary files /dev/null and b/doc/source/images/administrator/rights/restriction/view_onglet_code.png differ