diff --git a/conf/app.struct.ts b/conf/app.struct.ts
index 15687d83022a93960c36ac3ea68ef0d4fd6ce3ca..f71b35d8a6fd96ecd7e4a359897ddf38b7edf62f 100755
--- a/conf/app.struct.ts
+++ b/conf/app.struct.ts
@@ -65,7 +65,7 @@ export const appStruct: AppConfig = {
   'modes': [{
     'type': 'separator',
     'label': 'TITLE_SEPARATOR_MAP',
-    'privilege': 'vmap_user'
+    'privilege': ['vmap_user', 'vmap_data_manager']
   },
   vmapAdminCartoObject,
   vmapAdminManageDataObject,
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/authentification/ad.md b/doc/source/administrator/authentification/ad.md
new file mode 100644
index 0000000000000000000000000000000000000000..c88725fb2c6f18905aa057b5ef986c338541cdd7
--- /dev/null
+++ b/doc/source/administrator/authentification/ad.md
@@ -0,0 +1,4 @@
+# Utilisateur externe (Active Directory ou LDAP)
+
+## En cours de rédaction
+
diff --git a/doc/source/administrator/authentification/index.rst b/doc/source/administrator/authentification/index.rst
new file mode 100644
index 0000000000000000000000000000000000000000..d12f13936c2b4de33daf3d42735deeaee6da535d
--- /dev/null
+++ b/doc/source/administrator/authentification/index.rst
@@ -0,0 +1,17 @@
+Gestion des utilisateurs - Méthodes d'authentification
+============================================
+
+--------------
+
+Il existe 3 méthodes d'authentification sur vMap2 : 
+
+
+============================================
+
+.. toctree::
+   :maxdepth: 2
+   :glob:
+
+   local_user.md
+   ad.md
+   sso.md
\ No newline at end of file
diff --git a/doc/source/administrator/authentification/local_user.md b/doc/source/administrator/authentification/local_user.md
new file mode 100644
index 0000000000000000000000000000000000000000..003e2b0d67f359f489d29ac2023297bf650d3339
--- /dev/null
+++ b/doc/source/administrator/authentification/local_user.md
@@ -0,0 +1,3 @@
+# Utilisateur local
+
+## En cours de rédaction
\ No newline at end of file
diff --git a/doc/source/administrator/authentification/sso.md b/doc/source/administrator/authentification/sso.md
new file mode 100644
index 0000000000000000000000000000000000000000..451ad416a08987ba6526600b534bc311522f4ff4
--- /dev/null
+++ b/doc/source/administrator/authentification/sso.md
@@ -0,0 +1,208 @@
+# Utilisateur d'un fournisseur OIDC (Système d'authentification SSO)
+
+
+Votre application intégre la possibilité d'utiliser un fournisseur **OpenID Connect (OIDC)** (exemple : Google, Microsoft, Keycloak...) comme systéme d'authentification SSO.
+
+Pourquoi utiliser SSO ?
+
+- Simplification de l'administration de vos utilisateurs
+- Facilité d'utilisation pour les utilisateurs finaux
+- Fonctionnalités portés par le fournisseur d'authentification non pris en charge par l'application (ex : rotation de mot de passe, Authentification multi-facteurs, ...)
+
+## Fonctionnement du protocole OpenId Connect
+
+![Sequence OIDC Vitis](../../images/administrator/authentification/sequence_oidc_vitis.jpg)
+
+Pour que le protocole fonctionne il faut passer par trois étapes d'authentification.
+
+Premièrement l'application vous redirige vers le fournisseur OIDC qui se chargera de gérer l'authentification si nécessaire (simple, avec MFA, ...), suite à quoi vous serez rediriger vers la page d'origine avec des informations permettant de passer aux étapes suivantes.
+
+Ces élements sont ensuite envoyés au serveur qui se chargera de récupérer les informations d'authentification (jetons de connexion, d'authentification et de rafraichissement).
+
+Ensuite l'application vérifiera la validité du token à intervalle régulier en requêtant les informations de votre compte auprès du fournisseur OIDC.
+
+```{Note}
+  Les colonnes contenant les jetons d'authentification et de rafraichissement sont chiffrées. L'administrateur de l'application lui-même n'est pas en capacité d'y accéder facilement, de façon à garantir à chaque utilisateur la sécurité que ses jetons ne seront utilisés que pour assurer l'authentification de l'utilisateur dans l'application.
+```
+
+## Mise en place dans votre application
+
+Il faut d'abord configurer votre fournisseur OIDC de façon à récupérer certaines informations : 
+- Client ID
+- Client Secret
+- Point de terminaisons (fichier accessible via l'API .well-known/openid-configuration)
+- Possibilité d'utiliser un jeton de rafraichissement
+- Structure des jetons JWT retournés
+
+Ensuite il faut aller sur le serveur et modifier la configuration du fichier `vas/src/Module/Vitis/conf/properties.json` : 
+- **allow_oauth2_connection** : Booléen permettant de définir si la fonctionnalité est active
+- **oauth2_auth_endpoint** : Requête permettant la redirection vers le fournisseur OIDC pour l'authentification, doit contenir certaines balises : 
+  - *\[CLIENT_ID\]* : permet de placer le client_id dans la requête
+  - *\[REDIRECT_URI\]* : permet de définir au fournisseur vers quelle page il devra réaliser la redirection aprés l'authentification
+  - *\[STATE\]* : défini une chaine aléatoire compatible avec la gestion d'état (c'est une sécurité du protocole)
+  - *\[RANDOMIZE\]* (optionnel) : chaine aléatoire si besoin dans certaines implémentation du protocole (ex : Google OIDC)
+- **oauth2_token_endpoint** : Point de terminaison pour la génération de token
+- **oauth2_refresh_endpoint** : Point de terminaison pour le rafraichissement de token (normalement identique au token_endpoint)
+- **oauth2_userinfo_endpoint** : Point de terminaison pour récupérer les informations de l'utilisateur
+- **oauth2_token_field_access_token** : Clé contenant le jeton d'accés dans la réponse de la requête de génération
+- **oauth2_token_field_id_token** : Clé contenant le jeton d'identification dans la réponse de génération et de rafraichissement (permet de récupérer le login dans le JWT) 
+- **oauth2_token_field_id_token_username** : nom du champs dans le corps du jeton JWT contenant le login
+- **oauth2_token_field_refresh_token** : Clé contenant le jeton de rafraichissement dans la réponse de rafraichissement
+- **oauth2_userinfo_authorization_header** : Nom de l'en-tête permettant de passer le jeton d'authentification lors de la requête userinfos
+- **oauth2_userinfo_authorization_prefix** : Préfixe du jeton d'authentification pour la valeur de l'en-tête
+- **oauth2_refresh_period_seconds** : Période de vérification de la validité de l'authentification
+- **oauth2_auto_import** : Booléen permettant d'activer l'import automatique des nouveaux comptes lors de la première connexion depuis le founisseur OIDC
+- **oauth2_user_password_salt** : Sel utilisé dans les mots de passe internes à l'application pour les utilisateurs OIDC
+- **oauth2_clientId** : Identifiant du client OIDC
+- **oauth2_clientSecret** : Secret du client OIDC
+- **default_login_endpoint** : Point de terminaison par défaut de l'application, /login interface de connexion classique, /oauth2 connexion en SSO par défaut. Dans tous les cas les deux sont utilisables si vous souhaitez un fonctionnement mixte.
+
+```{Note}
+  Changez le niveau de verbosité de vos journaux au niveau DEBUG pour configurer plus facilement certains de ces paramètres.
+```
+
+### Création de compte manuellement
+
+Vous pouvez ajouter manuellement les utilisateurs qui pourront se connecter via le protocole OIDC.
+
+Aprés avoir configurer votre provider OIDC sur le serveur, une boite à cocher supplémentaire sera disponible dans le formulaire de création des utilisateurs (Dans l'administration classique des utilisateurs).
+
+![Sequence OIDC Vitis](../../images/administrator/authentification/oidc_checkbox_user.png)
+
+Il vous suffit d'utiliser comme login le champ récupéré dans le token JWT (properties : **oauth2_token_field_id_token_username**).
+
+
+## Exemples
+
+Pour tous les exemples qui vont suivre : 
+- oauth2_refresh_period_seconds doit être inférieur à la durée de validité du jeton d'authentification définit par le fournisseur OIDC
+- oauth2_auth_endpoint : contient des balises entre crochet qui ne sont pas à remplacer par l'administrateur
+- oauth2_auto_import est à définir à votre convenance mais peut impliquer un risque pour votre application en cas de mauvaise administration du client OIDC, dans le cas de la création de ces utilisateurs les droits appliqués lors de la création seront ceux définit pour l'inscription classique : 
+  - sign_up_automated_roles
+  - sign_up_automated_groups
+
+```{Warning}
+  Les configurations proposées par la suite sont des exemples simples.
+  Il est probable que des configurations supplémentaires soit nécessaire pour garantir la sécurité de votre fournisseur d'authentification.
+```
+
+### Google
+
+[Documentation officielle](https://developers.google.com/identity/openid-connect/openid-connect?hl=fr)
+
+- Se rendre sur la [page de credential](https://console.cloud.google.com/apis/credentials?hl=fr) 
+- Ajouter un client OAuth 2.0 : 
+    - URI de redirection : `https://mon-domaine/vmap/oauth2`
+- Ouvrir [les informations sur les points de terminaisons](https://accounts.google.com/.well-known/openid-configuration)
+- Ouvrir le fichier de configuration de l'application et retoucher les clés suivantes  : 
+```json
+{
+    "allow_oauth2_connection": true,
+    "oauth2_auth_endpoint": "https://accounts.google.com/o/oauth2/v2/auth?response_type=code&client_id=[CLIENT_ID]&scope=openid%20email&redirect_uri=[REDIRECT_URI]&state=[STATE]&nonce=[RANDOMIZE]&access_type=offline",
+    "oauth2_token_endpoint": "https://oauth2.googleapis.com/token",
+    "oauth2_refresh_endpoint": "https://oauth2.googleapis.com/token",
+    "oauth2_userinfo_endpoint": "https://openidconnect.googleapis.com/v1/userinfo",
+    "oauth2_token_field_access_token": "access_token",
+    "oauth2_token_field_id_token": "id_token",
+    "oauth2_token_field_id_token_username": "email",
+    "oauth2_token_field_refresh_token": "refresh_token",
+    "oauth2_userinfo_authorization_header": "Authorization",
+    "oauth2_userinfo_authorization_prefix": "Bearer ",
+    "oauth2_refresh_period_seconds": 3500,
+    "oauth2_user_password_salt": "CHAINE RANDOM A DEFINIR",
+    "oauth2_clientId": "ID CLIENT A DEFINIR",
+    "oauth2_clientSecret": "SECRET CLIENT A DEFINIR",
+    "oauth2_auto_import" : false,
+    "default_login_endpoint": "oauth2",
+}
+```
+- Ouvrir `https://mon-domaine/vmap/oauth2` dans votre navigateur, vous devriez être redirigé vers le systéme d'authentification de google.
+
+### Microsoft Office 365
+
+[Documentation officielle](https://learn.microsoft.com/fr-fr/entra/identity-platform/v2-oauth2-auth-code-flow)
+
+
+- Se rendre sur la [console d'administration Microsoft](https://entra.microsoft.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade/quickStartType~/null/sourceType/Microsoft_AAD_IAM) 
+- Ajouter une Inscription
+- Dans la partie `Authentification` :
+    - Définir l'URI de redirection : `https://mon-domaine/vmap/oauth2`
+    - L'utilisation du jeton de connexion et d'identification
+- Dans `Certificat et secrets` :
+    - Ajouter un secret pour le client (**ATTENTION : vous ne pourrez le récupérer qu'une seule fois**)
+- Dans `Vue d'ensemble` il est possible d'accéder aux points de terminaison dont le `/.well-known/openid-configuration` qui contiendra les autres
+- Ouvrir le fichier de configuration de l'application et retoucher les clés suivantes : 
+```json
+{
+    "allow_oauth2_connection": true,
+    "oauth2_auth_endpoint": "https://login.microsoftonline.com/TENANT A REMPLACER/oauth2/v2.0/authorize?response_type=code&client_id=[CLIENT_ID]&scope=openid%20offline_access%20https%3A%2F%2Fgraph.microsoft.com%2Fuser.read&redirect_uri=[REDIRECT_URI]&state=[STATE]&response_mode=query",
+    "oauth2_token_endpoint": "https://login.microsoftonline.com/TENANT A REMPLACER/oauth2/v2.0/token",
+    "oauth2_refresh_endpoint": "https://login.microsoftonline.com/TENANT A REMPLACER/oauth2/v2.0/token",
+    "oauth2_userinfo_endpoint": "https://graph.microsoft.com/oidc/userinfo",
+    "oauth2_token_field_access_token": "access_token",
+    "oauth2_token_field_id_token": "access_token",
+    "oauth2_token_field_id_token_username": "unique_name",
+    "oauth2_token_field_refresh_token": "refresh_token",
+    "oauth2_userinfo_authorization_header": "Authorization",
+    "oauth2_userinfo_authorization_prefix": "Bearer ",
+    "oauth2_refresh_period_seconds": 3500,
+    "oauth2_user_password_salt": "CHAINE RANDOM A DEFINIR",
+    "oauth2_clientId": "ID CLIENT A DEFINIR",
+    "oauth2_clientSecret": "SECRET CLIENT A DEFINIR",
+    "oauth2_auto_import" : false,
+    "default_login_endpoint": "oauth2",
+}
+```
+- Ouvrir `https://mon-domaine/vmap/oauth2` dans votre navigateur, vous devriez être redirigé vers le systéme d'authentification de Microsoft.
+
+### Keycloack
+
+[Documentation officielle](https://www.keycloak.org/docs/latest)
+
+- Sur votre instance de keycloack définisser le realm à utiliser
+- Ajouter vos comptes utilisateurs ou ajouter un connecteur
+- Créer un client avec les paramètres suivant à minima
+    - **standard flow** activé
+    - Redirect URI valid redirect Uri : https://mon-domain/vmap/oauth2
+    - Web-Origin : https://mon-domain
+    - Acess type : Confidential
+- Sur la configuration du realm cliquer sur le lien `OpenID Endpoint Configuration` pour accéder au json contenant les informations des différents endpoint à utiliser pour votre realm.
+- Ouvrir le fichier de configuration de l'application et retoucher les clés suivantes : 
+```json
+{
+    "allow_oauth2_connection": true,
+    "oauth2_auth_endpoint": "https://app.please-open.it/auth/realms/REALM A REMPLACER/protocol/openid-connect/auth?client_id=[CLIENT_ID]&response_type=code&scope=openid%20offline_access&redirect_uri=[REDIRECT_URI]&state=[STATE]",
+    "oauth2_token_endpoint": "https://app.please-open.it/auth/realms/REALM A REMPLACER/protocol/openid-connect/token",
+    "oauth2_refresh_endpoint": "https://app.please-open.it/auth/realms/REALM A REMPLACER/protocol/openid-connect/token",
+    "oauth2_userinfo_endpoint": "https://app.please-open.it/auth/realms/REALM A REMPLACER/protocol/openid-connect/userinfo",
+    "oauth2_token_field_access_token": "access_token",
+    "oauth2_token_field_id_token": "access_token",
+    "oauth2_token_field_id_token_username": "preferred_username",
+    "oauth2_token_field_refresh_token": "refresh_token",
+    "oauth2_userinfo_authorization_header": "Authorization",
+    "oauth2_userinfo_authorization_prefix": "Bearer ",
+    "oauth2_refresh_period_seconds": 600,
+    "oauth2_user_password_salt": "CHAINE RANDOM A DEFINIR",
+    "oauth2_clientId": "ID CLIENT A DEFINIR",
+    "oauth2_clientSecret": "SECRET CLIENT A DEFINIR",
+    "oauth2_auto_import" : false,
+    "default_login_endpoint": "oauth2",
+}
+```
+- Ouvrir `https://mon-domaine/vmap/oauth2` dans votre navigateur, vous devriez être redirigé vers le systéme d'authentification de Keycloack.
+
+## Limitation de la fonctionnalité
+
+Les utilisateurs OIDC ne sont pas considérés comme des utilisateurs locaux.
+Il ne peuvent pas : 
+- Se connecter via le endpoint /login
+- Avoir des jetons de connexion publiques
+- Changer de mot de passe dans l'application (il faut passer par le fournisseur OIDC)
+
+La validité des jetons de connexion est relative au rafraichissement défini via `oauth2_refresh_period_seconds` ou la durée de vie de notre propre jeton de connexion.
+
+En cas d'utilisation d'un provider OIDC hébergé en dehors de votre infrastructure le serveur applicatif doit avoir accés à internet ou utiliser un proxy.
+
+```{Warning}
+  Il est primordial d'utiliser le même sel sur toutes les applications Veremes (vMap, GTF, ...) connectées à votre provider SSO, qui utilisent des bases de données dans le même cluster Postgres.
+```
\ No newline at end of file
diff --git a/doc/source/administrator/cadastre/config_fiche_desc.md b/doc/source/administrator/cadastre/config_fiche_desc.md
new file mode 100644
index 0000000000000000000000000000000000000000..73694aa47964c8b769d6ec6dd8b6d1d38a6b0d1e
--- /dev/null
+++ b/doc/source/administrator/cadastre/config_fiche_desc.md
@@ -0,0 +1,64 @@
+# Configuration de la fiche descriptive
+
+Cette section est dédiée à la configuration de la fiche descriptive.  
+Elle est décomposée en 3 parties :  
+![config_section_fiche_descriptive](../../images/administrator/cadastre/config_fiche_descriptive.jpg)
+
+## Tolérance d'intersection
+
+Surface (en pourcent %) à partir de laquelle une intersection est prise en compte.
+
+## Intersection sur "id_com"
+
+Cette option est un champ a activer (cocher "Oui" ou "Non").  
+Si cette option est activée, lors d'une intersection, vMap utilisera également l'identifiant "id_com" pour faire les intersections, si celui-ci existe dans la table.
+
+## Tables d'intersection
+
+Ce champ est un document JSON, permettant d'indiquer les différentes tables utilisées pour les intersections avec vMap, ainsi qu'indiquer le type de champ pour la représentation de cette donnée (nombre, texte, lien, ...).
+
+Le document JSON accepte les paramètres suivant :  
+
+| Nom du champ | Type de champ        | Obligatoire ? | Description                                                                                               |
+|--------------|----------------------|---------------|-----------------------------------------------------------------------------------------------------------|
+| columns      | Objet JSON           | Oui           | Objet JSON contenant la description des champs de la table à intersecter pour la construction du document |
+| schema       | chaîne de caractères | Oui           | Schéma dans lequel se trouve la table à intersecter                                                       |
+| table        | chaîne de caractères | Oui           | Table à intersecter                                                                                       |
+| title        | chaîne de caractères | Oui           | Nom de la section intersectée dans la fiche descriptive                                                   |
+| type         | chaîne de caractères | Oui           | Type de la géométrie contenue dans la table intersectée                                                   |
+
+Pour le descriptif du document JSON représentant les colonnes de la table :  
+
+| Nom du champ   | Type de champ        | Exemple de valeurs | Obligatoire ?       | Description                                                                                                                                                                                                                                                                                                                                             |
+|----------------|----------------------|--------------------|---------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| alias          | chaîne de caractères | "Cliquez ici"      | Non                 | Permet d'afficher une chaîne de caractères alternative dans le nom du lien de la colonne de la table intersectée, au lieu d'afficher le nom de la colonne, ne sert que pour les champs de type 'lien'                                                                                                                                                                                  |
+| alias_variable | chaîne de caractères |  - true  - false   | non, défaut à false | Permet d'indiquer si le l'alias est une chaîne de caractère à afficher (false), ou du texte contenu dans un attribut qu'il faut référencer (true), ne sert que pour les champs de type 'lien'                                                                                                                                                                                                |
+| label          | chaîne de caractères | "Identifiant"      | Oui                 | Nom de la colonne à afficher                                                                                                                                                                                                                                                                                                                            |
+| name           | chaîne de caractères | "id_X"             | Oui                 | nom de la colonne en base de données                                                                                                                                                                                                                                                                                                                    |
+| type           | chaîne de caractères |  - lien  - texte   | Non, défaut à texte                 | Permet d'indiquer le type de représentation pour la donnée de la colonne.  - En tant que texte, le contenu est juste affichée dans la colonne.  - En tant que lien, le contenu est utilisé pour proposer un accès de type lien hypertexte à un document, cela est très utile pour donner l'accès à un document en rapport avec la parcelle par exemple. |
+
+Ci-dessous, un exemple fictif de document JSON pour les intersections d'une fiche descriptive, celle-ci pouvant servir d'exemple :  
+
+```js
+[
+  {
+    "columns": [
+      {
+        "label": "titre",
+        "name": "col_titre",
+      }
+      {
+        "alias": "Réglement",
+        "alias_variable": false,
+        "label": "Lien vers règlement",
+        "name": "lien_reglement",
+        "type": "lien"
+      }
+    ],
+    "schema": "schema1",
+    "table": "table1",
+    "title": "Titre de ma table",
+    "type": "POLYGON"
+  }
+]
+```
\ No newline at end of file
diff --git a/doc/source/administrator/cadastre/config_fiche_urba.md b/doc/source/administrator/cadastre/config_fiche_urba.md
new file mode 100644
index 0000000000000000000000000000000000000000..95568f023e78ee0adc5f1a6a5974e14fa5e785f7
--- /dev/null
+++ b/doc/source/administrator/cadastre/config_fiche_urba.md
@@ -0,0 +1,91 @@
+# Configuration de la fiche d'urbanisme
+
+Cette section est dédiée à la configuration de la fiche d'urbanisme.  
+Elle est décomposée en 7 parties :  
+![config_section_fiche_urbanisme](../../images/administrator/cadastre/config_fiche_urbanisme.jpg)
+
+## Logo fiche urbanisme
+
+Ce champ permet de définir le logo à afficher sur la fiche d'urbanisme.  
+
+```{warning}
+L'image du logo doit être saisie sous forme de chaîne caractère au format base64.  
+Plus d'informations sur le format des URL en base64 [au lien suivant](https://developer.mozilla.org/fr/docs/Web/HTTP/Basics_of_HTTP/Data_URLs).
+```
+
+## Organisation fiche urbanisme
+
+Nom de l'organisation à afficher sur la fiche d'urbanisme.
+
+## Template d'impression pour fiche d'urbanisme
+
+Identifiant du modèle d'impression à utiliser pour la fiche d'urbanisme.  
+Quand celui-ci est renseigné, vMap utilise ce modèle à la place du modèle de fiche d'urbanisme par défaut, cela permet d'utiliser des modèles personnalisés.  
+
+```{tip}
+Plus d'informations sur la fonctionnement des modèles d'impression [au lien suivant](./)
+```
+
+## Marge de zoom pour la géométrie
+
+Cette attribut permet de définir la marge utilisée dans la fiche d'urbanisme entre la géométrie et le bord de la carte.  
+**Elle est exprimée en pixels (px), et ne peut pas dépasser de la largeur ou de la hauteur de la carte**.
+
+## Tolérance d'intersection
+
+Surface (en pourcent %) à partir de laquelle une intersection est prise en compte.
+
+## Intersection sur "id_com"
+
+Cette option est un champ a activer (cocher "Oui" ou "Non").  
+Si cette option est activée, lors d'une intersection, vMap utilisera également l'identifiant "id_com" pour faire les intersections, si celui-ci existe dans la table.
+
+## Tables d'intersection
+
+Ce champ est un document JSON, permettant d'indiquer les différentes tables utilisées pour les intersections avec vMap, ainsi qu'indiquer le type de champ pour la représentation de cette donnée (nombre, texte, lien, ...).
+
+Le document JSON accepte les paramètres suivant :  
+
+| Nom du champ | Type de champ        | Obligatoire ? | Description                                                                                               |
+|--------------|----------------------|---------------|-----------------------------------------------------------------------------------------------------------|
+| columns      | Objet JSON           | Oui           | Objet JSON contenant la description des champs de la table à intersecter pour la construction du document |
+| schema       | chaîne de caractères | Oui           | Schéma dans lequel se trouve la table à intersecter                                                       |
+| table        | chaîne de caractères | Oui           | Table à intersecter                                                                                       |
+| title        | chaîne de caractères | Oui           | Nom de la section intersectée dans la fiche d'urbanisme                                                   |
+| type         | chaîne de caractères | Oui           | Type de la géométrie contenue dans la table intersectée                                                   |
+
+Pour le descriptif du document JSON représentant les colonnes de la table :  
+
+| Nom du champ   | Type de champ        | Exemple de valeurs | Obligatoire ?       | Description                                                                                                                                                                                                                                                                                                                                             |
+|----------------|----------------------|--------------------|---------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| alias          | chaîne de caractères | "Cliquez ici"      | Non                 | Permet d'afficher une chaîne de caractères alternative dans le nom du lien de la colonne de la table intersectée, au lieu d'afficher le nom de la colonne, ne sert que pour les champs de type 'lien'                                                                                                                                                                                               |
+| alias_variable | chaîne de caractères |  - true  - false   | non, défaut à false | Permet d'indiquer si le l'alias est une chaîne de caractère à afficher (false), ou du texte contenu dans un attribut qu'il faut référencer (true), ne sert que pour les champs de type 'lien'                                                                                                                                                                                                      |
+| label          | chaîne de caractères | "Identifiant"      | Oui                 | Nom de la colonne à afficher                                                                                                                                                                                                                                                                                                                            |
+| name           | chaîne de caractères | "id_X"             | Oui                 | nom de la colonne en base de données                                                                                                                                                                                                                                                                                                                    |
+| type           | chaîne de caractères |  - lien  - texte   | Oui                 | Permet d'indiquer le type de représentation pour la donnée de la colonne.  - En tant que texte, le contenu est juste affichée dans la colonne.  - En tant que lien, le contenu est utilisé pour proposer un accès de type lien hypertexte à un document, cela est très utile pour donner l'accès à un document en rapport avec la parcelle par exemple. |
+
+Ci-dessous, un exemple fictif de document JSON pour les intersections d'une fiche d'urbanisme, celle-ci pouvant servir d'exemple :  
+
+```js
+[
+  {
+    "columns": [
+      {
+        "label": "titre",
+        "name": "col_titre",
+      }
+      {
+        "alias": "Réglement",
+        "alias_variable": false,
+        "label": "Lien vers règlement",
+        "name": "lien_reglement",
+        "type": "lien"
+      }
+    ],
+    "schema": "schema1",
+    "table": "table1",
+    "title": "Titre de ma table",
+    "type": "POLYGON"
+  }
+]
+```
\ No newline at end of file
diff --git a/doc/source/administrator/cadastre/config_generale.md b/doc/source/administrator/cadastre/config_generale.md
new file mode 100644
index 0000000000000000000000000000000000000000..34642624d3edbf210158f3c5f56f1a72b617ab38
--- /dev/null
+++ b/doc/source/administrator/cadastre/config_generale.md
@@ -0,0 +1,44 @@
+# Configuration générale
+
+Cette section concerne la configuration générale du module cadastre.  
+Celle-ci est décomposée en 3 parties.  
+
+![conf_generale](../../images/administrator/cadastre/conf_generale.jpg)
+
+## Liste des départements
+
+Cette option est un champ a activer (cocher "Oui" ou "Non").  
+Celle-ci a pour effet d'activer la possibilité de filtrer les données par département.
+
+```{note}
+Cette option utilise la table `s_cadastre`.`departement` afin de fournir la table des départements.
+```
+
+```{figure} ../../images/administrator/cadastre/cadastre_option_departements.jpg
+:alt: module_cadastre_avec_liste_departements
+:align: center
+
+Avec la liste des départements activée
+```
+
+```{figure} ../../images/administrator/cadastre/cadastre_sans_option_departements.jpg
+:alt: module_cadastre_sans_liste_departements
+:align: center
+
+Sans la liste des départements activée
+```
+
+## Projection de la base de données (code EPSG)
+
+Ce champ sert à renseigner le système de la projection de la base de données, afin de projetter les données dans le bon système au niveau de l'application.  
+Le code est sous la forme d'une chaîne de caractère au format EPSG :  
+- EPSG:<numéro du code> (ex: EPSG:2154 pour le Lambert93)
+
+## Base de donnée à utiliser pour les intersections
+
+Ce champ permet de récupérer la base de données qui sera utilisée pour réaliser les intersections des `fiches d'urbanisme` et `fiches descriptives`.  
+
+```{warning}
+La base de données indiquée doit être présente dans le même cluster de base de données Postgres afin que cela fonctionne.  
+Sinon les intersections ne fonctionneront pas.
+```
\ No newline at end of file
diff --git a/doc/source/administrator/cadastre/index.rst b/doc/source/administrator/cadastre/index.rst
new file mode 100644
index 0000000000000000000000000000000000000000..2da2aaf81fd89ef0fc4a9902ed95c3bfe68aa8c1
--- /dev/null
+++ b/doc/source/administrator/cadastre/index.rst
@@ -0,0 +1,24 @@
+Module Cadastre
+============================================
+
+--------------
+
+.. Note:: | La configuration du mode cadastre est située dans l'onglet  
+  | Configuration > Configuration vMap > Cadastre.
+  |chemin_conf_cadastre|
+
+.. |chemin_conf_cadastre| image:: ../../images/administrator/cadastre/chemin_config.jpg
+    :width: 200
+    :alt: chemin_configuration_cadastre
+
+Cette section concerne la documentation de la configuration du module Cadastre de vMap.  
+Celui-ci est composé de 3 sous-parties :  
+
+============================================
+
+.. toctree::
+   :maxdepth: 2
+
+   config_generale.md
+   config_fiche_urba.md
+   config_fiche_desc.md
diff --git a/doc/source/administrator/flux/flux.md b/doc/source/administrator/flux/flux.md
new file mode 100644
index 0000000000000000000000000000000000000000..8399d930b2be3a794da910af19d0bc5012596a85
--- /dev/null
+++ b/doc/source/administrator/flux/flux.md
@@ -0,0 +1,71 @@
+# Publication d'un jeu de données sous forme de flux (WMS, WFS)
+
+La publication d'un jeu de données sous forme de flux, permet à l'administrateur de rendre disponible la données à partir d'un URL. Publiée et disponible sur le web, la donnée peut ainsi être exploitée par l'intermédiaire de logiciels tiers (exemple : Qgis)
+
+L'application vMap permet de publier des données sous forme de flux WMS et WFS. La documentation suivante détaille les différentes étapes pour publier une données sous forme de flux depuis vMap.
+
+## Etapes nécessaires à la publication d'un jeu de données
+
+La publication d'un jeu de données sous forme de flux WMS ou WFS dans vMap demande de réaliser 3 étapes :  
+    1- La mise en place de publication  
+	2- La création d'un flux  
+	3- L'association des publications à un flux.
+	
+Ces trois étapes sont détaillées ci-dessous.
+
+```{Note}
+Les étapes 1 et 2 peuvent être réalisées dans le sens inverse.
+```
+
+
+## Création d'une publication 
+
+La création d'une publication suit le même processus que la création d'une couche.
+
+Depuis le mode `Sources de données` de l'application, accéder à la données à publier (table, vue, vue matérialisée) en se déplaçant dans l'arborescence `PostgreSQL` de l'arbre. Cliquer droit sur la roue crantée à droite de `Publication` et `Ajouter une publication Postgres`.
+
+![creation publication](../../images/administrator/flux/creation_publication.png)
+
+De la même manière que pour une couche, l'interface de vMap propose dans un premier temps définir certaines informations importantes de la publication (identifiant, champ géométrique, le système de coordonnées de la données source...), puis, une fois la publication créée, d'éditer sa symbologie depuis un studio entièrement en no-code.
+
+![symbologie publication](../../images/administrator/flux/symbologie_publication.png)
+
+
+Toutes les publications créées dans vMap peuvent être consultées et modifiées depuis le mode `Flux et publication` > `Publication` de l'application.
+
+## Création d'un flux
+
+Pour créer un flux dans vMap2, ajouter un nouveau flux depuis le mode `Flux et publication` > `flux` de l'application.
+
+A l'instar de la création d'une carte, l'application demande plusieurs paramètres importants : 
+- un nom
+- De définir si le flux généré est de type WMS ou WFS.
+
+Une fois le flux créé, il n'est pas encore possible de générer l'URL de ce dernier tant qu'aucune publication ne lui a été associé (cf point suivant). 
+
+## Association des publications à un flux.
+
+Une fois la création du flux réalisé, l'application permet à l'administrateur de lui associer des publications.  
+De la même manière comme pour une carte, vMap demande à l'administrateur de choisir quelles publications il souhaite rendre disponible dans son flux.
+
+Pour ce faire, se rendre dans la section `Publication`, `Ajouter une publication` et sélectionner les publications dans la liste des publications disponible.
+
+Lorsque la ou ou les premières publications sont ajoutées au flux, l'application permet de le générer (générer l'URL).  
+
+Une fois l'URL générée, l'application permet d'obtenir le GetCapabilities du flux ainsi que le lien complet de l'URL qui peut être utilisées dans différents logiciels.
+
+```{Note}
+L'ajout ou la suppression d'une publication d'un flux demande de relancer la génération du flux afin que le contenu de ce dernier soit actualisé.
+```
+
+## Accessibilité des données disponibles depuis un flux.
+
+Les données disponibles depuis les publications présentes dans un flux dépendent des droits de l'administrateur qui a généré le flux (cliqué sur le bouton `Générer le flux`). Cela signifie que bien qu'une publication soit présente dans un flux, si l'administrateur n'a pas les droits d'accès à la donnée, cette dernière ne sera pas disponible pour l'utilisateur final qui va l'utiliser.
+
+Explication : Considérons deux scénarii distincts impliquant deux utilisateurs : Utilisateur_A et Utilisateur_B.
+
+Scenario 1 : L'Utilisateur_A crée une publication mais ne dispose pas des droits suffisants pour lire les données de la table qui est la source de sa publication. L'utilisateur_B qui utilisera la publication (la couche) présente dans le flux ne verra aucune donnée.
+
+Scenario 2 : L'Utilisateur_A crée une publication et dispose de droits pour lire les données de la table qui est la source de sa publication. L'utilisateur_B qui utilisera la publication (la couche) présente dans le flux visualisera l'ensemble des données.
+
+En résumé, la capacité à visualiser les données cartographiques et attributaires d'une publication d'un flux dépend directement des droits de l'utilisateur qui génère le flux.
\ No newline at end of file
diff --git a/doc/source/administrator/index.rst b/doc/source/administrator/index.rst
index 7a0597ebe75125886b9e6c58e4a1426161cc9caf..35c909c64e97821788e17718be942245baa22830 100644
--- a/doc/source/administrator/index.rst
+++ b/doc/source/administrator/index.rst
@@ -10,7 +10,12 @@ Il est conseillé aux administrateurs de consulter en premier la `Documentation
 .. toctree::
    :maxdepth: 2
 
+   authentification/index.rst
+   rights/index.rst
    users.md
+   rapports/index.rst
    configuration/index.rst
    api/api.rst
    journaux.md
+   cadastre/index.rst
+   flux/flux.md
diff --git a/doc/source/administrator/rapports/definition_html.md b/doc/source/administrator/rapports/definition_html.md
new file mode 100644
index 0000000000000000000000000000000000000000..ec3047efd71bc72fa278b15f8e0cb0dff4c2aab4
--- /dev/null
+++ b/doc/source/administrator/rapports/definition_html.md
@@ -0,0 +1,150 @@
+# Définition du modèle HTML
+
+Un rapport est défini selon un modèle HTML développé par l'administrateur.  
+Il est également possible d'utiliser le langage CSS dans la définition HTML pour personnaliser son rapport.  
+```{Note}
+  Le modèle HTML peut utiliser la syntaxe de AngularJS pour lui permettre de réaliser des conditions ou de boucler sur un élément (Exemple `ng-if` et `ng-repeat`).
+```
+
+## Intégrer une valeur dynamique dans le rapport 
+
+Lorsqu'un rapport est lié à une couche, il est possible d'insérer une valeur dynamique à partir des champs de celle-ci. Pour cela, il faut indiquer le champ précédé par "BO." et le tout entouré d'accolades.  
+
+**Exemple :**
+
+Si dans la couche "Ville" il y a un champ "nom_ville", il est possible d'utiliser `{{BO.nom_ville}}` dans le rapport. Cette balise sera alors remplacée par la valeur du champ "nom_ville" de l'objet courant.
+
+```html
+<p>{{BO.nom_ville}}</p>
+```
+
+### Variables disponibles
+
+En plus des variables possibles à renseigner depuis la couche associée, les rapports de vMap disposent d'un ensemble de variables disponibles par défaut. Pour les utiliser, il suffit de les insérer en les entourant de doubles accolades (**{{..}}**).
+
+- **date** : date du jour
+- **date_hour** : date et heure du jour
+- **layer_sources** : sources des couches
+- **map_legend** : légende de la carte principale
+- **user_name** : nom de l'utilisateur
+- **user_login** : login de l'utilisateur
+- **user_company** : société de l'utilisateur
+- **user_department** : service de l'utilisateur
+- **user_email** : adresse mail de l'utilisateur
+- **user_id** : identifiant de l'utilisateur
+
+## Intégrer une image dynamiquement
+
+Il est possible d'intégrer une image dans un rapport en utilisant la balise HTML **img** et en modifiant la source dynamiquement. Deux formats sont alors pris en compte :
+
+- Lien (de type https://...)
+- Base 64 (de type data:image/png;base64,...)
+
+<u>Exemple :</u>
+```html
+<img src="https://www.example.com/image.png" alt="Description de l'image">
+<img src="data:image/png;base64,..." alt="Description de l'image">
+```
+
+Il est aussi possible de mettre un id="..." à la balise et de la lier à un objet JSON pour afficher l'image dynamiquement.  
+
+*Exemple avec id et lien à un objet JSON :*
+
+Code HTML : 
+```html
+<img id="sig_logo" src="" alt="Image dynamique">
+```
+
+Code Json correspondant à l'image: 
+
+```html
+{
+	"type": "image",
+	"imageUrl": "data:image/png;base64,iVBORw0KGgoAAxFDAnF6fftB2....",
+	"target": "#sig_logo"
+}
+```
+
+```{Note}
+Si à la fois l'attribut id de la balise HTML et l'attribut src sont tous deux remplis, l'objet JSON prendra le dessus pour déterminer l'URL finale de l'image affichée.
+```
+
+## Intégrer une valeur dynamique à l'aide d'une boucle
+
+Dans certains cas, l'objet Json renvoie de multiples valeurs. Afin de pouvoir toutes les afficher dans le rapport, réaliser une boucle peut s'avérer nécessaire. Pour cela, utiliser la syntaxe `ng-repeat` dans le modèle HTML.
+
+```{Note}
+Il est également possible d'ajouter la syntaxe `ng-if` dans les boucles pour faire des conditions.
+```
+
+Voici comment procéder :
+
+1. S'assurer que les données que l'on souhaite afficher dans la boucle sont disponibles sous forme d'un [Objet JSON](objet_json.md).
+2. Utiliser la syntaxe `ng-repeat` et `ng-if` dans le modèle HTML utiliser les données de l'Objet JSON
+3. À chaque itération de la boucle, accéder aux propriétés de l'objet souhaité pour afficher les données dans le rapport.
+
+### Exemple :
+
+Supposons que l'ont ait une liste d'objets représentant des intersections de routes, et que l'on souhaite afficher les détails de chaque intersection dans le rapport. Voici comment procéder en utilisant `ng-repeat` :
+
+```html
+<!-- Boucle exécutée uniquement si parcel_details existe -->
+<div ng-repeat="parcelle in parcel_details" ng-if="parcel_details">
+    <div ng-if="parcelle.prop">
+        <!-- Afficher les détails de chaque intersection -->
+        <p>Propriétaire de la parcelle : {{parcelle.prop}}</p>
+    </div>
+    <div ng-if="parcelle.id_par">
+        <p>Nombre de routes : {{parcelle.id_par}}</p>
+        <!-- Ajoutez d'autres détails selon vos besoins -->
+    </div>
+</div>
+```
+
+Dans cet exemple :
+
+- ng-repeat="parcelle in parcel_details" indique que vous itérez à travers la liste de parcelles stockées dans la variable parcel_details.
+- {{parcelle.prop}}, {{parcelle.id_par}}, etc., représentent les propriétés de chaque objet `parcelle` que vous affichez dans votre rapport.
+
+Il est aussi possible d'afficher entièrement un objet au format JSON dans le rapport en utilisant la syntaxe `{{ ma_variable|json }}`.  
+En reprenant notre exemple cela donnerait : 
+
+```html
+<div ng-if="parcelle">
+    {{parcelle|json}}
+</div>
+```
+
+## Exemple complet
+
+```html
+<style>
+.prop {
+    font-size: 15px;
+    color: red;
+    text-align: center;
+}
+
+#id_par {
+    font-size: 12px;
+}
+</style>
+
+<!-- Boucle exécutée uniquement si parcel_details existe -->
+<div ng-repeat="parcelle in parcel_details" ng-if="parcel_details">
+    <div ng-if="parcelle.prop">
+        <!-- Afficher les détails de chaque intersection -->
+        <p class="prop">Propriétaire de la parcelle : {{parcelle.prop}}</p>
+    </div>
+    <div ng-if="parcelle.id_par">
+        <p id="id_par">Nombre de routes : {{parcelle.id_par}}</p>
+        <!-- Ajoutez d'autres détails selon vos besoins -->
+    </div>
+    <img src="https://www.veremes.com/wp-content/uploads/2023/01/vMap2_carteFrance.webp" alt="Image d'exemple">
+    <!-- L'objet sig_logo doit être renseigné dans l'objet JSON -->
+    <img id="sig_logo" src="" alt="Image dynamique">
+    <div ng-if="parcelle">
+        {{parcelle|json}}
+    </div>
+</div>
+```
\ No newline at end of file
diff --git a/doc/source/administrator/rapports/index.rst b/doc/source/administrator/rapports/index.rst
new file mode 100644
index 0000000000000000000000000000000000000000..a9ed02dff59b0a54c63f141d4bec35dd0bf4d8b5
--- /dev/null
+++ b/doc/source/administrator/rapports/index.rst
@@ -0,0 +1,16 @@
+Mode Rapport
+============================================
+
+--------------
+
+Le mode rapport permet d'administrer les rapports disponibles dans l'application c'est à dire, d'en définir un modèle, et de le compléter par des valeurs issues de données variables.
+
+============================================
+
+.. toctree::
+   :maxdepth: 2
+   :glob:
+
+   informations_generales.md
+   definition_html.md
+   objet_json.md
diff --git a/doc/source/administrator/rapports/informations_generales.md b/doc/source/administrator/rapports/informations_generales.md
new file mode 100644
index 0000000000000000000000000000000000000000..29c6ef255f445c93e8bde0a33368425c7520faf5
--- /dev/null
+++ b/doc/source/administrator/rapports/informations_generales.md
@@ -0,0 +1,23 @@
+# Informations générales
+
+Un rapport est un document PDF généré dans vMap et personnalisable permettant d'afficher diverses informations selon les besoins des utilisateurs. Ce document est basé sur un modèle écrit par un administrateur de l'application.  
+Il peut être généré à partir de deux endroits dans l'application :
+- Le requêteur
+![rapport_requeteur](../../images/administrator/rapports/rapport_requeteur.png)
+- Edition d'un objet métier
+![rapport_objet_metier](../../images/administrator/rapports/rapport_objet.png)
+
+Pour qu'un rapport soit disponible, il est nécessaire de le créer à partir du menu "Rapports".
+
+Lors de la création d'un rapport, plusieurs paramètres doivent être renseignés :
+- **Nom du rapport** : Nom affiché dans les différentes listes de sélection du rapport.
+- **Format de la page** : Formats pris en charge allant de A0 à A4.
+- **Orientation du document** : Format **portrait** ou **paysage**.
+- **Format de sortie** : Extension du document téléchargé après sa génération (par exemple : PDF).
+- **Couche** : Le rapport doit être associé à une couche unique pour laquelle il sera disponible. Par exemple, si un rapport doit être généré lors de la sélection d'un objet de la couche "Ville" sur la carte, il faut associer ce rapport à la couche "Ville".
+- **Rapport sur plusieurs éléments dans un fichier** : En cas de sélection multiple, ce paramètre indique si l'application doit générer un rapport par élément (Non) ou un seul rapport contenant tous les éléments (Oui).
+- **Active les styles d'impression** : Si activé, une fenêtre modale s'ouvrira lorsque l'utilisateur demandera la génération d'un rapport, pour sélectionner le style d'impression à utiliser.
+- **Définition HTML** : Voir [Définition du modèle HTML](definition_html.md).
+- **Objet JSON** : Voir [Objet JSON](objet_json.md).
+
+![rapport_parametres](../../images/administrator/rapports/rapport_parametres.png)
\ No newline at end of file
diff --git a/doc/source/administrator/rapports/objet_json.md b/doc/source/administrator/rapports/objet_json.md
new file mode 100644
index 0000000000000000000000000000000000000000..e33cc8cf225efc618bb721873401a2687115c014
--- /dev/null
+++ b/doc/source/administrator/rapports/objet_json.md
@@ -0,0 +1,100 @@
+# Objet JSON
+
+Pour générer des rapports dynamiques, l'application utilise des objets JSON définis selon une structure spécifique. Cette section explique la structure et les différents types de données que l'on peut inclure dans ces objets JSON.
+
+## Exemple d'objet JSON
+
+```json
+[
+    {
+        "type": "map",
+        "target": "#map_container",
+        "map_id": 10,
+        "resolution_coeff": 1,
+        "scale_target": "map_scale"
+    },
+    {
+        "type": "webservice",
+        "params": {
+			"database": "vmap",
+            "schema": "s_cadastre",
+            "table": "v_vmap_parcelle",
+            "filter": "{\"column\":\"id_par\", \"compare_operator\":\"=\", \"value\": \"{{BO.id_par}}\"}"
+        },
+        "target": "parcel_details"
+    },
+    {
+        "type": "webservice",
+        "ressource": "/cadastre/ficheurbanisme",
+        "params": {
+            "ID_PAR": "{{BO.id_par}}"
+        },
+        "target": "urbanism_report"
+    },
+    {
+        "type": "image",
+        "imageUrl": "https://example.com/images/logo.png",
+        "target": "#sig_logo"
+    },
+    {
+        "type": "object",
+        "content": {
+            "company": "Ma_compagnie"
+        },
+        "target": "sig_info"
+    }
+]
+```
+
+## Explication des champs
+
+### 1. Map (`type: "map"`)
+
+- **target** : Élément HTML cible pour afficher la carte. Utiliser un sélecteur CSS.
+- **map_id** : Identifiant de la carte.
+- **resolution_coeff** : Coefficient de résolution de la carte.
+- **scale_target** : Élément HTML cible pour afficher l'échelle de la carte.
+
+### 2. Webservice (`type: "webservice"`)
+
+Il y a deux possibilités pour ce type de ressource :
+
+1. **Utilisation d'une table locale de la base de données de l'application** :
+    - **params** :
+      - **database** : Nom de la base de données. Ce paramètre n'est pas obligatoire. S'il n'est pas présent, l'application recherche le schema + table dans la base de données ou l'application vMap a été installée.
+      - **schema** : Schéma de la base de données.
+      - **table** : Table de la base de données.
+      - **filter** : Filtre pour la requête SQL. Il est possible d'inclure des variables dynamiques ou fixes, et d'inclure plusieurs filtres si besoin.
+      Le filtre doit être sous forme de chaîne de caractères avec les guillemets échappés, comme suit :
+        ```json
+        "[{\"column\":\"id_par\", \"compare_operator\":\"=\", \"value\": \"{{BO.id_par}}\"}, {\"column\":\"id_par\", \"compare_operator\":\"=\", \"value\": \"AZ0001\"}]"
+        ```
+        - **column** : Nom de la colonne à filtrer.
+        - **compare_operator** : Opérateur de comparaison. Les opérateurs disponibles sont :
+          - `=`, `!=`, `<>`, `>=`, `<=`, `>`, `<`, `IN`, `NOT IN`, `IS NULL`, `IS NOT NULL`, `LIKE`, `INTERSECT`.
+        - **value** : Valeur à comparer, qui peut inclure une variable dynamique telle que `{{BO.id_par}}`.
+    - **target** : Nom de la variable à utiliser dans le HTML avec les doubles accolades. Par exemple : `{{parcel_details}}`.  
+
+2. **Utilisation d'une route externe** :
+    - **ressource** : Chemin de la ressource du webservice.
+    - **params** : Les paramètres nécessaires pour la route. Ces paramètres dépendent des besoins spécifiques de la route externe et peuvent inclure des variables dynamiques. Exemple :
+      ```json
+      {
+          "ID_PAR": "{{BO.id_par}}"
+      }
+      ```
+    - **target** : Nom de la variable à utiliser dans le HTML avec les doubles accolades. Par exemple : `{{urbanism_report}}`.
+
+Les routes disponibles via l'utilisation du webservice peuvent être trouvées dans le mode "API" de l'application :
+![rapport_routes](../../images/administrator/rapports/rapport_routes.png)
+
+### 3. Image (`type: "image"`)
+
+- **imageUrl** : URL de l'image à intégrer.
+- **target** : Élément HTML cible pour afficher l'image. Utiliser un sélecteur CSS.
+
+### 4. Object (`type: "object"`)
+
+- **content** : Contenu de l'objet, peut inclure diverses propriétés.
+- **target** : Nom de la variable à utiliser dans le HTML avec les doubles accolades. Par exemple : `{{sig_info}}`.
+
diff --git a/doc/source/administrator/rights/auth_token.md b/doc/source/administrator/rights/auth_token.md
new file mode 100644
index 0000000000000000000000000000000000000000..e3b2a1639d222b25c622610bae09036da6b7bdc7
--- /dev/null
+++ b/doc/source/administrator/rights/auth_token.md
@@ -0,0 +1,84 @@
+# Gestion des jetons de connexion
+
+Un jeton de connexion est une manière d'accéder à l'application, via le compte d'un utilisateur, sans avoir à fournir ses identifiants.  
+Cette fonctionnalité est communément utilisé pour réaliser des `cartes ou applications publiques` (sans avoir à renseigner des informations de connexion).
+
+## Utilité
+
+Un jeton de connexion permet :
+
+- D'utiliser l'API
+- D'utiliser vMap comme un utilisateur normal mais sans que ce dernier ait la nécessité de se loguer à l'application (carte publique)
+- D'utiliser vMap sous forme de widget (intégrer vMap dans un site web).
+
+## Création d'un jeton
+
+Il est possible de créer un jeton de connexion depuis le bouton `Ajouter` présent dans le mode "Utilisateurs" > "Jetons de connexion".  
+
+![ajout_jeton](../../images/administrator/rights/auth_token/ajout_jeton.png)
+
+Les informations demandées permettent ainsi de définir : 
+    - Le nom du jeton de connexion
+	- S'il possède une date limite de fonctionnement
+	- Un login et mot de passe utilisateur permettant à l'application de se connecter `en tant que` l'utilisateur renseigné
+	- Et enfin une restriction de ce jeton sur une IP précise.
+
+![add_modify_token_form](../../images/administrator/rights/auth_token/add_modify_token_form.png)
+
+## Exemples d'utilisation
+
+### Utilisation d'un jeton dans l'API de vMap
+
+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)
+
+### Utilisation d'un jeton pour réaliser une "carte publique"
+
+Pour réaliser une connexion publique (sans couple login / mot de passe à renseigner) dans vMap, il est nécessaire de mettre en place un jeton de connexion et de renseigner ce jeton 
+
+
+Pour ce faire, 2 propriétés sont à paramétrer dans la section `Authetification` du mode `Configuration > Général.`.
+
+```{figure} ../../images/administrator/rights/auth_token/jeton_connexion_public.png
+:alt: Paramètre du mode public
+:align: center  
+```
+
+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 public
+```
+
+### Utilisation d'un jeton pour réaliser un "widget carte"
+
+Dans vMap2, il est également possible de créer un `widget de type carte` permettant d'intégrer des cartes dans d'autres applications WEB.  
+Pour fonctionner, les widgets nécessitent un jeton de connexion existant.  
+
+Pour créer un widget, éditer une carte depuis le mode `Cartes et Couches` > `Cartes` de l'application :
+
+![carte_datagrid](../../images/administrator/rights/auth_token/carte_datagrid.png)
+
+Se rendre dans la section `Appel externe`,  y ajouter un nouvel enregistrement et y renseigner les informations demandées, notamment le jeton de connexion (indirectement le login de l'utilisateur) qui sera utilisé lors de chaque utilisation du widget :
+
+![carte_appel_externe](../../images/administrator/rights/auth_token/carte_appel_externe.png)
+
+![ajout_widget](../../images/administrator/rights/auth_token/ajout_widget.png)
+
+Une fois créé, l'application génère un code HTML qu'il suffit de copier / coller à l'endroit souhaité sur le site web :  
+
+![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..3d75d924247cf859735e94a41e7a6c22afbe6bd3
--- /dev/null
+++ b/doc/source/administrator/rights/data.md
@@ -0,0 +1,77 @@
+# Les droits portant sur les données
+
+## Introduction
+
+Bien que les privilèges et les groupes permettent d'accéder à certaines fonctionnalités de l'application, ces deux notions ne permettent pas de gérer l'accéssibilité à la données (lecture, saisie, modification, suppression). Cette notion là est gérée par le SGBD (Postgresql pour vMap) sur la donnée (table, vue, vue matérialisée...). Cela peut être réalisé en ligne de commande ou plus communément par l'intermédiaire d'un client de base de données (exemple : PgAdmin, Dbeaver...)
+
+Rajouter des droits à ces éléments permet ainsi à l’utilisateur final de pouvoir réaliser des actions différentes sur une donnée dans vMap2 (consultation, saisie, édition, suppression, d’une donnée géographique et / ou attributaire).  
+
+Une mauvaise gestion, ou un oubli de ces droits pourraient entraîner l'impossibilité pour un utilisateur de visualiser, d'éditer, de saisir ou de supprimer une donnée.
+
+## Exemple
+
+```{note}
+Le tutoriel suivant est illustré avec le client SQL pgadmin.  
+Le principe est que quelque soit le client utilisé, le code SQL pour Postgresql reste le même.
+```
+
+Pour cet exemple, nous souhaitons qu'un utilisateur ou groupe d'utilisateurs (appartenant au groupe `exploitant_ville`) puisse consulter, mettre à jour ou supprimer les données de la table `data_demo_vmap`.`f_villes_l93`. Pour cela voici les étapes : 
+
+    1- Créer un rôle groupe (soit directement en base de données, soit via les privilèges de vMap)
+	2- Associer l'utilisateur à ce rôle groupe  
+	3- Affecter les droits sur la table à ce rôle groupe  
+	
+
+
+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 consulter, saisir/mettre à jour/supprimer les données de ma couche `ville` utilisant cette table.
+
+### 1- Créer un rôle groupe
+
+```{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)
+
+### 2- Associer l'utilisateur à ce rôle groupe  
+
+```{note}
+La gestion d'un utilisateur ainsi que ses droits sont expliqués dans la [section suivante](../authentification/local_user.md).
+```
+
+### 3- Affecter les droits sur la table à ce rôle groupe
+
+
+Pour ajouter des droits sur une table, il faut tout d'abord ouvrir un client de base de données (exemple pgAdmin) et se connecter à la base de données. 
+
+![connexion_base](../../images/administrator/rights/data/connexion_base.png)
+
+Une fois connecté, naviguer dans la base via le menu latéral jusqu'à trouver la table concernée :  
+
+![table_menu_lateral](../../images/administrator/rights/data/table_menu_lateral.png)
+
+Clic droit > Propriété, et se rendre dans l'onglet "Security" de la fenêtre qui s'ouvre.  
+
+![onglet_securite](../../images/administrator/rights/data/onglet_securite.png)
+
+Cliquer sur le signe "+" de la ligne "Privileges", sélectionner `exploitant_ville` dans la colonne `Grantee` afin de donner des droits au rôle groupe (et donc à l'ensemble des utilisateurs associés à ce rôle groupe) sur la table `data_demo_vmap`.`f_villes_l93`. 
+
+```{note}
+Il est possible d'ajouter des droits pour un utilisateur simple ou un groupe d'utilisateur.
+```
+
+Sélectionner les droits `SELECT`, `INSERT`, `UPDATE` et `DELETE` dans la colonne `Privilèges` pour donner les droits en consultation, création, mise à jour et suppression. Enregistrer.
+
+![onglet_securite](../../images/administrator/rights/data/ajout_droit.png)
+
+:::{admonition} **Gérer les droits en SQL**
+:class: dropdown important
+Il est également possible d'atteindre le même résultat en SQL en utilisant l'éditeur de requêtes, par exemple via le bouton `Query Tool` sur pgadmin:
+![query_tool](../../images/administrator/rights/data/query_tool.png)
+
+La requête serait la suivante :
+```sql
+GRANT SELECT, INSERT, UPDATE, DELETE ON data_demo_vmap.f_villes_l93 TO exploitant_ville;
+```
+
+:::
\ 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..3d419b0020aaa75ef9467187f0e1e8c8ffc1e9b9
--- /dev/null
+++ b/doc/source/administrator/rights/privilege.md
@@ -0,0 +1,60 @@
+# Les privilèges
+
+## 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 l'application vMap
+
+vMap contient une liste de privilèges permettant d'autoriser l'accès à différentes parties de l'application :  
+
+
+- `vitis_user :` permet de se connecter à l'application et de configurer son utilisateur.
+
+- `vitis_admin :` permet d'accéder à différents modes "super administrateur" de vMap permettant :  
+    - de gérer les utilisateurs, domaines, groupes ou jetons de connexions
+    - de consulter les logs
+    - de consulter l'API
+    - et de configurer l'application de manière générale (propriétés générales sur l'authentification, l'interface, les traductions...)
+
+- `vmap_user :` permet d'accéder au mode "Carte" (à la cartographie) et donc à l'ensemble des fonctionnalités qui y sont disponibles (requêteur, filtre, sélection, ...).
+
+- `vmap_admin :` permet d'accéder à l'administration de vMap au sens "cartographie" c'est-à-dire 
+    - la gestion des couches, cartes, thèmes, sources
+	- la gestion des flux (WMS et WFS)
+	- la gestion des symboles et polices d'écriture
+	- la gestion des sources de données
+	- la gestion des formulaires métier
+	- et enfin la gestion des impressions (modèles et styles) et rapports
+
+- `vmap_data_manager :` permet à l'utilisateur d'avoir accès au mode "tableau" et à ses différentes fonctionnalités.
+
+- `vitis_shared :` permet de gérer l'arborescence du dossier shared, dossier partagé entre plusieurs utilisateurs pour s'échanger 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..5d2594d9e6a325cb7296a4cf996cd5cc14c1e3b1
--- /dev/null
+++ b/doc/source/administrator/rights/restriction.md
@@ -0,0 +1,105 @@
+# 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 en renseignant, par exemple, le code INSEE d'une ou plusieurs communes, afin que l'utilisateur ait seulement accès (en consultation et interrogation) aux données cadastrales de son territoire.  
+
+## Configuration
+
+Pour saisir une restriction, il faut se rendre dans la section "Utilisateurs" > "Utilisateurs" du menu latéral, puis éditer l'utilisateur sur lequel il faut définir une restruction (cliquer sur le bouton en forme de crayon à côté de l'utilisateur).
+
+![user_datagrid](../../images/administrator/rights/restriction/user_datagrid.png)
+
+Une fois dans l'interface de modifications, renseigner la restriction dans le champ  `Restriction` de la section "Droits et restrictions".  
+
+![restriction_modify_user](../../images/administrator/rights/restriction/restriction_modify_user.png)
+
+```{note}
+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 réaliser une restriction communales sur plusieurs communes, inscrire les Code INSEE séparés par le caractère `|`.  
+
+```sql
+66106|66125|07324
+```
+
+Une fois la restriction côté utilisateur réalisée, il reste désormais à configurer la base de données afin que cette dernière utilise la restriction.
+
+## Paramétrage côté base de données
+
+Côté base de données, les restrictions sont réalisées par l'intermédiaire de vues en utilisant une clause `WHERE`.
+
+#### Exemple
+
+Dans cet exemple, nous allons travailler avec la table des villes (`data_demo_vmap`.`f_villes_f93`) constituée des colonnes suivantes :  
+
+![table_villes](../../images/administrator/rights/restriction/table_villes.png)
+
+Voici les étapes à réaliser : 
+
+    1- Création de la vue 
+	2- Ajouter la clause `WHERE` en faisant référence à la restriction de l'utilisateur.
+
+
+Pour créer la vue, cliquer droit sur "views" > "Create" > "View..."
+
+![create_view](../../images/administrator/rights/restriction/creer_vues.png)
+
+Entrer un nom, et se rendre dans l'onglet "code" :  
+
+![view_onglet_code](../../images/administrator/rights/restriction/view_onglet_code.png)
+
+Dans l'onglet "Code", ajouter le code SQL suivant en adaptant le paramètre `[nom de la colonne]` :  
+
+
+```sql
+WHERE [nom de la colonne] ~ similar_escape(( SELECT "user".restriction
+FROM s_vitis."user"
+WHERE "user".login::name = "current_user"()), NULL::text);
+```
+
+```{note}
+`[nom de la colonne]` correspond au nom du champ référencé dans le champ `Restriction` de l'utilisateur.  
+Exemple : `code_insee`, `code_com`, `code_dep`.
+```
+
+Dans notre exemple, le code suivant permet de filtrer les villes en fonction du champ `code` correspondant au `Code INSEE` de la commune:  
+
+
+```sql
+WHERE f_villes_93.code ~ similar_escape(( SELECT "user".restriction
+FROM s_vitis."user"
+WHERE "user".login::name = "current_user"()), NULL::text);
+```
+
+Ce code SQL rajoute une condition WHERE à la vue dont l'aspect final est celui-ci :
+
+![code_sql_vue](../../images/administrator/rights/restriction/code_sql_vue.png)
+
+
+#### Test
+
+Afin de tester si la restriction fonctionne, se connecter à la base de données et exécuter une requête `SELECT` sur la vue en changeant d'utilisateur (exemple ci-dessous avec l'utilisateur `kyllian`) : 
+
+![filtre_fonctionnel](../../images/administrator/rights/restriction/filtre_fonctionnel.png)
+
+
+## Les restrictions dans le module Cadastre.
+
+Tout le module cadastre de vMap utilise nativement les restrictions expliquées ci-dessous. Excepté le champ `Restriction` qui doit être paramétré par l'administrateur, aucune vue ne doit être configurée car tout est déjà réalisé par Veremes.
+
+
+Pour le module cadastre, l'utilisation la plus commune est de restreindre, pour un utilisateur donné, l'accessibilité à une ou plusieurs communes du territoire chargé en base de données.
+
+Les données du cadastre étant sensibles, il est indispensable qu'un utilisateur puisse consulter et surtout interroger uniquement les données dont il doit avoir l'accès.
+
+#### Exemple
+
+Dans l'exemple ci-dessous, nous avons chargé les données cadastrales de l'ensemble des Pyrénées-Orientales.
+
+Sans restriction (valeur `%` dans le champ `restriction` de l'utilisateur), un utilisateur a accès à la totalité des données des Pyrénées-Orientales.  
+
+![restriction_cadastre_sans](../../images/administrator/rights/restriction/restriction_cadastre_sans.png)
+
+Une fois la restriction mise en place (pour celle-ci, `66136|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/changelog/2024.01.00/changelog.md b/doc/source/changelog/2024.01.00/changelog.md
new file mode 100644
index 0000000000000000000000000000000000000000..b1782c04456c7ffa2fde3b092268397fa0a02bef
--- /dev/null
+++ b/doc/source/changelog/2024.01.00/changelog.md
@@ -0,0 +1,95 @@
+# vMap2 2024.01.00
+
+Le document ci-dessous présente une liste non exhaustive d'évolutions / corrections à retrouver dans la nouvelle version majeure 2024.01.00 de vMap2.
+
+## Évolutions
+
+### Évolution - Prise en charge du système d'authentification SSO
+
+vMap2 offre la possibilité de se connecter à l'application par l'intermédiaire :
+- D'un compte local
+- D'un compte de l'Active Directory
+- D'un compte issu d'un fournisseur OIDC par l'intermédiaire du système d'authentification SSO. _[NOUVEAU]_  
+[En savoir plus](http://documentation.veremes.net/vmap2/administrator/authentification/sso.html)
+
+### Évolution - Nouvelle version d'Angular
+
+vMap2 utilise désormais Angular 14.
+
+### Évolutions - Module Cadastre 
+
+- Récupération du nom d'usage dans les relevés de propriétés
+- Pour les polygones uniquement, la surface intersectée peut désormais être affichée :
+    - En pourcentage. Exemple : xx % (valeur par défaut) : attribut à utiliser "percent"
+	- En mètre carré. Exemple : yy m² : attribut à utiliser "meter"
+    - En pourcentage et mètre carré. Exemple : xx % (yy m²) : attribut à utiliser "both"
+
+### Évolutions - Tableaux
+
+- Les filtres personnalisés prennent en charge les caractères accentués.  Ce paramétrage est réalisé colonne par colonne dans la section "Tableaux" disponible lors de l'édition d'une couche : 
+    - Si "Recherche stricte" est coché, les accents sont pris en compte
+    - Si "Recherche stricte" n'est pas coché, les accents sont ignorés
+
+ATTENTION : Il est indispensable d'installer l'extention "Unaccent" sur la base de données Postgresql qui exploite les données
+
+![](images/filtres_caracteres_accentues_tableaux.png)
+![](images/recherche_stricte.png)
+
+- Ajout d'un bouton permettant d'exécuter des traitements FME par l'intermédiaire de GTF depuis le mode Tableaux. 
+
+    - Prérequis 1 : L'application vMap2 doit être configurer pour fonctionner avec GTF (mode Configuration > Configuration vMap)
+    - Prérequis 2 : La couche consultée avec Tableaux doit être paramétrée pour pouvoir être exploitée par GTF
+
+![](images/vmap_gtf_tableaux.png)
+
+### Évolutions diverses
+
+- La liste des échelles présente dans les impressions est paramétrable par l'administrateur dans le mode "Impression > Echelle d'impression"
+
+![](images/echelle_impression.png)
+
+- Ajout de l'attribut "Pattern" dans la symbologie des couches pour permettre à l'administrateur de créer des contours de polygone en pointillé
+
+![](images/pattern_polygone.png)
+
+- URL des documents de l'application protégées par authentification
+
+_Les URL des documents de vMap2 sont générées automatiquement. Bienque très longues, elles peuvent être consultables par n'importe qui et sans protection._  
+
+_Depuis vMap 2024.01.00, l'adminsitrateur peut forcer le consommateur de l'URL à posséder des droits (un privilège) minimums. Si un utilisateur essaye de consommer une URL sans être authentifié, l'accès lui sera refusé._
+
+Paramétrage à réaliser dans "Configuration > Général.
+
+
+![](images/protection_url.png)
+
+
+## Corrections - Module cadastre
+
+- La recherche par "Adresse DGFiP" ne retourne aucune parcelle
+
+![](images/cadastre_recherche_par_adresse_dgfip.gif)
+
+- La sélection des parcelles sélectionnée retourne de mauvaises valeurs au changement de carte
+- La fiche descriptive d'une parcelle s'ouvre plusieurs fois (l'une sur l'autre)
+
+## Corrections diverses
+
+- L'application ne redirige pas vers les paramètres présents dans l'URL (carte, étendue...)
+- Une carte avec des outils disponibles seulement en bas à droite ne les affiche pas correctement
+
+![](images/bug_outil.gif)
+
+- Les onglets présents dans un formulaire sont remplacés par des "containers"
+
+Résultat demandé :  
+![](images/onglet.png)
+
+Résultat optenu :  
+![](images/container.png)
+
+- Traduction manquantes
+- Erreur 500 sur les rapports lorsque l'utilisateur ne possède pas le privilège vitis_admin
+- Requêteur : Plusieurs lignes sont sélectionnées si l'identifiant de la couche n'est pas présent dans les colonnes affichées
+- Tableaux : Le filtre effectué sur une couche persiste lorsque l'utilisateur consulte d'une autre couche (les champs n'ont plus rien à voir).
+- Administration - Les couches ajoutées à une carte ne sont pas visibles en temps réel. Un rafraichissement de l'application est nécessaire pour que cela soit visible.
diff --git a/doc/source/changelog/2024.01.00/images/bug_outil.gif b/doc/source/changelog/2024.01.00/images/bug_outil.gif
new file mode 100644
index 0000000000000000000000000000000000000000..dcdf1c10537f4c6eb8657d5215758304adbf66e5
Binary files /dev/null and b/doc/source/changelog/2024.01.00/images/bug_outil.gif differ
diff --git a/doc/source/changelog/2024.01.00/images/cadastre_recherche_par_adresse_dgfip.gif b/doc/source/changelog/2024.01.00/images/cadastre_recherche_par_adresse_dgfip.gif
new file mode 100644
index 0000000000000000000000000000000000000000..20d5f32a07b68cfac3c62eb9d1b59bf74a227cff
Binary files /dev/null and b/doc/source/changelog/2024.01.00/images/cadastre_recherche_par_adresse_dgfip.gif differ
diff --git a/doc/source/changelog/2024.01.00/images/container.png b/doc/source/changelog/2024.01.00/images/container.png
new file mode 100644
index 0000000000000000000000000000000000000000..fe45589f9db8f8bf1c6897aa18da8cee7c6b9980
Binary files /dev/null and b/doc/source/changelog/2024.01.00/images/container.png differ
diff --git a/doc/source/changelog/2024.01.00/images/echelle_impression.png b/doc/source/changelog/2024.01.00/images/echelle_impression.png
new file mode 100644
index 0000000000000000000000000000000000000000..2aa4ca175304163f85909ed45253997c9a92dc5f
Binary files /dev/null and b/doc/source/changelog/2024.01.00/images/echelle_impression.png differ
diff --git a/doc/source/changelog/2024.01.00/images/filtres_caracteres_accentues_tableaux.png b/doc/source/changelog/2024.01.00/images/filtres_caracteres_accentues_tableaux.png
new file mode 100644
index 0000000000000000000000000000000000000000..f2beec90db05f1517032ab63d97b7acc2087dfe1
Binary files /dev/null and b/doc/source/changelog/2024.01.00/images/filtres_caracteres_accentues_tableaux.png differ
diff --git a/doc/source/changelog/2024.01.00/images/onglet.png b/doc/source/changelog/2024.01.00/images/onglet.png
new file mode 100644
index 0000000000000000000000000000000000000000..030162b0e7f3773bb77dca4fb9a4d02e2745ef73
Binary files /dev/null and b/doc/source/changelog/2024.01.00/images/onglet.png differ
diff --git a/doc/source/changelog/2024.01.00/images/pattern_polygone.png b/doc/source/changelog/2024.01.00/images/pattern_polygone.png
new file mode 100644
index 0000000000000000000000000000000000000000..55d660099c338f719d35957771bfcc9665f0a2c6
Binary files /dev/null and b/doc/source/changelog/2024.01.00/images/pattern_polygone.png differ
diff --git a/doc/source/changelog/2024.01.00/images/protection_url.png b/doc/source/changelog/2024.01.00/images/protection_url.png
new file mode 100644
index 0000000000000000000000000000000000000000..c670c01fcb8e231c65211395d12afdbe807154ef
Binary files /dev/null and b/doc/source/changelog/2024.01.00/images/protection_url.png differ
diff --git a/doc/source/changelog/2024.01.00/images/recherche_stricte.png b/doc/source/changelog/2024.01.00/images/recherche_stricte.png
new file mode 100644
index 0000000000000000000000000000000000000000..3a75788b3f29642dfe746f58d752e207ca9c18bb
Binary files /dev/null and b/doc/source/changelog/2024.01.00/images/recherche_stricte.png differ
diff --git a/doc/source/changelog/2024.01.00/images/vmap_gtf_tableaux.png b/doc/source/changelog/2024.01.00/images/vmap_gtf_tableaux.png
new file mode 100644
index 0000000000000000000000000000000000000000..820b7ace64f75a992dd03a22c3bd70667048fbd8
Binary files /dev/null and b/doc/source/changelog/2024.01.00/images/vmap_gtf_tableaux.png differ
diff --git a/doc/source/changelog/2024.01.01/changelog.md b/doc/source/changelog/2024.01.01/changelog.md
new file mode 100644
index 0000000000000000000000000000000000000000..ba28920a29412743b2f59940deebe7e36307178c
--- /dev/null
+++ b/doc/source/changelog/2024.01.01/changelog.md
@@ -0,0 +1,24 @@
+# vMap2 2024.01.01
+
+Le document ci-dessous présente une liste non exhaustive d'évolutions / corrections à retrouver dans la nouvelle version majeure 2024.01.01 de vMap2.
+
+## Évolutions
+
+### Évolution - Module cadastre
+
+- Ajout d'une checkbox permettant de garder la sélection active. Cela permet de réaliser une impression et d'y visualiser les parcelles sélectionnées à partir du module cadastre.
+
+![](images/garder_selection_active.png)
+
+## Corrections
+
+- Les calendriers des champs de type date ne s'affichent pas
+- Les filtres sur un champ de type date ne renvoient aucune donnée
+- L'écriture dans les logs de flux WMS très volumineux fait exploser la RAM de l'ordinateur
+
+### Corrections (côté administration)
+
+- Impossible de configurer une couche WMS en "non tuilée"
+- Le paramètre "Seuil de zoom pour les points" ne fonctionne pas
+
+![](images/seuil_zoom_point.png)
diff --git a/doc/source/changelog/2024.01.01/images/garder_selection_active.png b/doc/source/changelog/2024.01.01/images/garder_selection_active.png
new file mode 100644
index 0000000000000000000000000000000000000000..c01d3493275fa6d40d929f2460b53e773d5fc1d7
Binary files /dev/null and b/doc/source/changelog/2024.01.01/images/garder_selection_active.png differ
diff --git a/doc/source/changelog/2024.01.01/images/seuil_zoom_point.png b/doc/source/changelog/2024.01.01/images/seuil_zoom_point.png
new file mode 100644
index 0000000000000000000000000000000000000000..1fe55548f78be7d57f8eebbb55126e83d32d358a
Binary files /dev/null and b/doc/source/changelog/2024.01.01/images/seuil_zoom_point.png differ
diff --git a/doc/source/changelog/2024.01.02/changelog.md b/doc/source/changelog/2024.01.02/changelog.md
new file mode 100644
index 0000000000000000000000000000000000000000..e17fa492e6aef4507d955f7f5ab61a079b46a798
--- /dev/null
+++ b/doc/source/changelog/2024.01.02/changelog.md
@@ -0,0 +1,30 @@
+# vMap2 2024.01.02
+
+Le document ci-dessous présente une liste non exhaustive d'évolutions / corrections à retrouver dans la nouvelle version majeure 2024.01.02 de vMap2.
+
+## Évolutions
+
+Aucune évolution dans cette version
+
+## Corrections
+
+### Corrections - Module cadastre
+
+- Correction diverses sur la fonctionnalité "Garder la sélection active"
+- Le bouton "Fiche descriptive" disparait après la recherche d'une parcelle par "Adresse DGFiP"
+- Le raccourci fiche descriptive ne fonctionne pas après une recherche par "Adresse DGFiP"
+- Les sections ne sont pas tout le temps réinitialisées lorsque l'utilisateur change de commune
+- Impossible de réaliser des rapports de type "Propriétaires des locaux"
+- La génération d'un rapport sur plusieurs objets intègre tout le temps la même image
+
+### Corrections - Tableaux
+
+- La visualisation d'une couche est impossible si l'utilisateur n'est pas vmap_user
+- Gain de performances : Suppression de requêtes inutiles si la lien avec GTF n'est pas configuré.
+
+### Corrections - utilisateur
+
+- La génération de rapports sur plusieurs parcelle ne fonctionne pas.
+- La génération de rapport sans style ne fonctionne pas.
+- L'affichage de formulaire trop grands empêchent la visualisation des boutons de validation
+- L'affichage de formulaire trop petits ajoute un vide inutile
\ No newline at end of file
diff --git a/doc/source/changelog/index.rst b/doc/source/changelog/index.rst
index 30f54a7b331b37fb292891e0d9772bfdb1f13b1c..f4f64855ce7d2bc7530ca6bfa0919459086b1f78 100644
--- a/doc/source/changelog/index.rst
+++ b/doc/source/changelog/index.rst
@@ -5,6 +5,9 @@
    :maxdepth: 1
    :glob:
    
+   2024.01.02/changelog.md  
+   2024.01.01/changelog.md  
+   2024.01.00/changelog.md   
    2023.03.02/changelog.md     
    2023.03.01/changelog.md  
    2023.03.00/changelog.md 
diff --git a/doc/source/conf.py b/doc/source/conf.py
index 626c1bb13990a99974f5017b98c204c504ab04de..0ace35e10da3bed0c99b872e85756c6807a576bb 100644
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -54,10 +54,15 @@ extensions = [
     'sphinx.ext.coverage',
     'sphinx.ext.mathjax',
     'sphinx.ext.autosectionlabel',
+    'sphinx_togglebutton',
     'myst_parser',
     'sphinx.ext.viewcode',
 ]
 
+myst_enable_extensions = [
+    "colon_fence"
+]
+
 # Add any paths that contain templates here, relative to this directory.
 templates_path = ['_templates']
 
@@ -112,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/authentification/oidc_checkbox_user.png b/doc/source/images/administrator/authentification/oidc_checkbox_user.png
new file mode 100644
index 0000000000000000000000000000000000000000..7b223ff68961f274781444bcf79880e9f199979b
Binary files /dev/null and b/doc/source/images/administrator/authentification/oidc_checkbox_user.png differ
diff --git a/doc/source/images/administrator/authentification/sequence_oidc_vitis.jpg b/doc/source/images/administrator/authentification/sequence_oidc_vitis.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..33b4053f5179c9308d47f067802f8ce09be5d3d2
Binary files /dev/null and b/doc/source/images/administrator/authentification/sequence_oidc_vitis.jpg differ
diff --git a/doc/source/images/administrator/cadastre/cadastre_option_departements.jpg b/doc/source/images/administrator/cadastre/cadastre_option_departements.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..dbdc81371ee1add830a7edcd061ce4852929da14
Binary files /dev/null and b/doc/source/images/administrator/cadastre/cadastre_option_departements.jpg differ
diff --git a/doc/source/images/administrator/cadastre/cadastre_sans_option_departements.jpg b/doc/source/images/administrator/cadastre/cadastre_sans_option_departements.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..9430620320bb4dad347509d17f04e9908ec9865f
Binary files /dev/null and b/doc/source/images/administrator/cadastre/cadastre_sans_option_departements.jpg differ
diff --git a/doc/source/images/administrator/cadastre/chemin_config.jpg b/doc/source/images/administrator/cadastre/chemin_config.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..c33d287018c696bc9ec8b0883d8ee9e515c653d7
Binary files /dev/null and b/doc/source/images/administrator/cadastre/chemin_config.jpg differ
diff --git a/doc/source/images/administrator/cadastre/conf_generale.jpg b/doc/source/images/administrator/cadastre/conf_generale.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..dbf867e0ad7174ec35a216c7ae57b56611069629
Binary files /dev/null and b/doc/source/images/administrator/cadastre/conf_generale.jpg differ
diff --git a/doc/source/images/administrator/cadastre/config_fiche_descriptive.jpg b/doc/source/images/administrator/cadastre/config_fiche_descriptive.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..9bc93d5d17ca46edd371249a4eb698d1c0260b41
Binary files /dev/null and b/doc/source/images/administrator/cadastre/config_fiche_descriptive.jpg differ
diff --git a/doc/source/images/administrator/cadastre/config_fiche_urbanisme.jpg b/doc/source/images/administrator/cadastre/config_fiche_urbanisme.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..bab34fca99d31e0fb5c6045a2a9ae5441cf3fba1
Binary files /dev/null and b/doc/source/images/administrator/cadastre/config_fiche_urbanisme.jpg differ
diff --git a/doc/source/images/administrator/flux/creation_flux.png b/doc/source/images/administrator/flux/creation_flux.png
new file mode 100644
index 0000000000000000000000000000000000000000..09592864b9cd2edac02a6511319d04c93bb17ac8
Binary files /dev/null and b/doc/source/images/administrator/flux/creation_flux.png differ
diff --git a/doc/source/images/administrator/flux/creation_publication.png b/doc/source/images/administrator/flux/creation_publication.png
new file mode 100644
index 0000000000000000000000000000000000000000..3143a0ba2d69ff348857699738281582b3f08fae
Binary files /dev/null and b/doc/source/images/administrator/flux/creation_publication.png differ
diff --git a/doc/source/images/administrator/flux/flux_url_getcapabilities.png b/doc/source/images/administrator/flux/flux_url_getcapabilities.png
new file mode 100644
index 0000000000000000000000000000000000000000..85eacc2635a8da2f97b1fc1ad48fd1c4b39aedfd
Binary files /dev/null and b/doc/source/images/administrator/flux/flux_url_getcapabilities.png differ
diff --git a/doc/source/images/administrator/flux/generation_flux.png b/doc/source/images/administrator/flux/generation_flux.png
new file mode 100644
index 0000000000000000000000000000000000000000..4b2d1b8ed5d3368e337860539fa66c546c5064b1
Binary files /dev/null and b/doc/source/images/administrator/flux/generation_flux.png differ
diff --git a/doc/source/images/administrator/flux/publication.png b/doc/source/images/administrator/flux/publication.png
new file mode 100644
index 0000000000000000000000000000000000000000..aae3921de65d9806417cedb8a0e791be37caea66
Binary files /dev/null and b/doc/source/images/administrator/flux/publication.png differ
diff --git a/doc/source/images/administrator/flux/symbologie_publication.png b/doc/source/images/administrator/flux/symbologie_publication.png
new file mode 100644
index 0000000000000000000000000000000000000000..9483e42fe8253b8dbbf13a78e05852191b787141
Binary files /dev/null and b/doc/source/images/administrator/flux/symbologie_publication.png differ
diff --git a/doc/source/images/administrator/rapports/rapport_objet.png b/doc/source/images/administrator/rapports/rapport_objet.png
new file mode 100644
index 0000000000000000000000000000000000000000..f67594ae03c14fcf0e409a2ae2d5406249f5e99e
Binary files /dev/null and b/doc/source/images/administrator/rapports/rapport_objet.png differ
diff --git a/doc/source/images/administrator/rapports/rapport_parametres.png b/doc/source/images/administrator/rapports/rapport_parametres.png
new file mode 100644
index 0000000000000000000000000000000000000000..29da887caf3503f0a4f64bedc3998cb4e11cfc40
Binary files /dev/null and b/doc/source/images/administrator/rapports/rapport_parametres.png differ
diff --git a/doc/source/images/administrator/rapports/rapport_requeteur.png b/doc/source/images/administrator/rapports/rapport_requeteur.png
new file mode 100644
index 0000000000000000000000000000000000000000..e12ace5bd3684ddcc0c14114dfc125593653dc8b
Binary files /dev/null and b/doc/source/images/administrator/rapports/rapport_requeteur.png differ
diff --git a/doc/source/images/administrator/rapports/rapport_routes.png b/doc/source/images/administrator/rapports/rapport_routes.png
new file mode 100644
index 0000000000000000000000000000000000000000..1358f4cdbfbcd750f5ba85f3f90ad0c47b4e650d
Binary files /dev/null and b/doc/source/images/administrator/rapports/rapport_routes.png differ
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/jeton_connexion_public.png b/doc/source/images/administrator/rights/auth_token/jeton_connexion_public.png
new file mode 100644
index 0000000000000000000000000000000000000000..58cfdf247bcd1a49bae0692644f59c7c57a35f11
Binary files /dev/null and b/doc/source/images/administrator/rights/auth_token/jeton_connexion_public.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