3.3. Administration de Lizmap

Nous verrons ici comment gérer les utilisateurs et leur attribuer des droits sur les cartes publiées dans Lizmap. Comment faire par exemple pour limiter l'accès aux outils d'édition à un groupe d'utilisateurs ?

3.3.1. Interface d'administration

Connectez-vous en tant qu'admin sur http://lizmap.localhost/ et cliquez en haut à droite sur Administration. Ici, nous allons pouvoir :

  • définir les paramètres généraux de Lizmap,
  • configurer les répertoires (ou repositories) où sont rangés les cartes,
  • créer des utilisateurs et définir leurs droits.

Le mot de passe pour se connecter en tant qu'administrateur Lizmap sur la machine virtuelle est admin / anf2020.

Configuration de Lizmap

Dans les paramètres Lizmap configuration est défini l'URL d'accès à QGIS Server. Par défaut il s'agit de http://127.0.0.1/cgi-bin/qgis_mapserv.fcgi. Ne changez pas cette valeur pour les TP.

Les paramètres d'enregistrement des fichiers en "cache" sont aussi configurés ici.

Création d'utilisateurs et de groupes

Par défaut, il existe 2 utilisateurs dans Lizmap : admin et l'utilisateur anonyme (lorsqu'on visite le site sans être authentifié) et 3 groupes : admin, users et anonyme.

Un utilisateur peut faire partie des plusieurs groupes. Les nouveaux comptes utilisateurs créés sont par défaut inclus dans users.

Pour la création de compte, il existe 2 approches :

  • on donne aux visiteurs anonymes la possibilité de s'inscrire sur le site avec leur adresse email. L'administrateur de Lizmap reçoit une notification et il valide (ou pas) l'inscription.
  • c'est l'administrateur qui créé directement un utilisateur dans Lizmap. Si une adresse email d'expéditeur a été définie pour les notifications, le nouvel utilisateur recevra un courriel l'invitant à définir son mot de passe. Sinon (comme c'est le cas ici), c'est l'administrateur qui définit le mot de passe.

TP : Création de groupe et d'utilisateur

Dans la partie Configuration de Lizmap, laissez Autoriser les visiteurs à demander un compte sur Off. Pour les notifications, n'indiquez pas d'adresse email pour le Courriel où envoyer les notifications.

Créez un nouveau groupe SIST. Dans l'interface d'administration, allez sur Groupes d’utilisateurs pour les droits puis Créer un groupe avec les paramètres suivants :

  • Libellé (Label) = SIST
  • Identifiant (Ident) = sist

Cliquez sur Enregistrer.

Créez un nouvel utilisateur. Allez sur le menu Utilisateurs puis Créer un nouvel utilisateur. Le nouvel utilisateur aura comme nom d'utilisateur tintin (ou plus simplement, votre prénom), avec votre adresse email et le mot de passe de votre choix. Validez la création.

Sur l'écran suivant, ajoutez-le au groupe SIST. Par défaut, il appartient aussi au groupe Users.

Création et configuration des répertoires

Dans Lizmap, les cartes sont rangées dans des répertoires.

Ce sont au niveau des répertoires que sont définis les droits d'accès et d'édition, pour les groupes. On utilise l'interface d'administration de Lizmap pour définir ces droits.

Vocabulaire

  • Un répertoire Lizmap = un dossier sur le serveur. La configuration de Lizmap autorise l'utilisation de 1 seul ou plusieurs répertoires.
  • Une carte = un projet QGIS (fichiers .qgs et .qgs.cfg). Un répertoire peut contenir 1 ou plusieurs cartes.

Le mode opératoire pour configurer des répertoires dans Lizmap est le suivant.

  1. Créer physiquement le dossier sur le serveur (sous Linux, avec le terminal, cela se fait la commande mkdir). Ce répertoire peut être situé n'importe où, mais il faut veiller à ce qu'Apache ait le droit de lecture sur ce répertoire.

  2. Dans l'interface d'administration de Lizmap, aller sur Configuration Lizmap et cliquer sur le bouton Ajouter un répertoire, tout en bas de l'écran. Donner un identifiant court et un nom au nouveau répertoire, puis définir les droits de chaque groupe sur ce répertoire.

Pour consulter la documentation officielle, se reporter à https://docs.lizmap.com/current/fr/admin/lizmap-configuration.html

TP : configuration d'un répertoire de cartes

Dans ce TP, nous allons créer un nouveau répertoire prive, avec une carte de Montpellier en 1724 :

  • uniquement accessible pour un groupe d'utilisateurs authentifiés SIST
  • avec des outils d'édition permettant de mettre à jour les couches montp.occsol_1724 et montp.point_legend_1724 dans PostGIS

Créez un nouveau dossier prive sur la partie serveur, avec l'explorateur de fichier ou la commande :

mkdir ~/data/mon_travail/3_lizmap/prive

Dans l'interface d'administration, allez sur Configuration Lizmap. En bas de l'écran, cliquez sur Ajouter un répertoire. Définissez votre répertoire avec les paramètres suivants :

  • Id = prive
  • Nom affiché = Accès réservé SIST
  • Chemin vers le répertoire local = /home/sist/data/mon_travail/3_lizmap/prive/

Sur l'écran suivant (Modifier le répertoire), ne cochez aucune case et cliquez sur Enregistrer. Nous reviendrons plus tard sur cet écran, dans la partie 3.3.3.

3.3.2. Création d'une carte Lizmap avec les outils d'édition

TP : une carte en accès réservé

Vous allez maintenant créer un nouveau projet QGIS avec le scan du plan de Montpellier par Antoine Niquet et avec la couche montp.occsol_1724 de PostGIS, qui sera ouverte en édition pour les utilisateurs authentifiés dans Lizmap.

Création des répertoires et du projet

Dans prive, commencez par créer le répertoire destiné aux données : prive/data. Dans ce dernier, copiez-collez le fichier 1724_montpel_cv_niquet_georef.tif issu de data/Occitanie/Montpellier_Niquet.

Créez un projet QGIS vierge. Ajoutez la couche 1724_montpel_cv_niquet_georef.tif. Réglez le SCR du projet sur EPSG:3857 (WGS84 / Pseudo-Mercator) et enregistrez le projet sous le nom Montpellier1724_PostGIS.qgs dans le répertoire /home/sist/data/mon_travail/prive/3_lizmap.

Connectez-vous à la base bdd_sist_solution avec l'utilisateur sist, et ajoutez les 2 couches PostGIS du schéma montp : occsol_1724 et point_legend_1724.

Remarque : le nom d'utilisateur et le mot de passe PostgreSQL doivent être enregistrés dans le projet .qgs pour QGIS Server et Lizmap. Reportez-vous à la partie 2.2.1. pour les détails sur la connexion à la base de données dans QGIS.

Enregistrez le projet.

Configuration du projet pour QGIS Server

Dans l'onglet QGIS Server des propriétés du projet, indiquez les valeurs suivantes :

  • Nom court = plan_montpellier_1724
  • Titre = Plan de Montpellier en 1724
  • Organisation = SIST
  • Résumé = Ce plan à l’échelle du 1/3600, avec voies et édifices principaux repérés par des numéros renvoyant à la légende, a été réalisé à l’encre et aquarelle en 1724. Il est signé d’Antoine Niquet, directeur des fortifications de Provence et du Languedoc, et directeur des travaux publics du Languedoc.
  • WMS / Etendue annoncée = Utiliser l'emprise du canevas
  • WMS / Restreindre les SCR = EPSG:3857

Pour les capacités WFS, cochez Publié pour les 2 couches vectorielles : occsol_1724 et point_legend_1724.

Enregistrez le projet.

Configuration des couches pour QGIS Server

Ouvrez les propriétés de chaque couche, onglet QGIS Server. Indiquez les valeurs ci-dessous.

Pour point_legend_1724 :

  • Nom court = lieux_plan_montpellier_1724
  • Titre = Lieux remarquables
  • Résumé = Lieux remarquables sur le plan de Montpellier dressé par Antoine Niquet en 1724

Pour occsol_1724 :

  • Nom court = occsol_1724
  • Titre = Occupation du Sol
  • Résumé = Occupation du sol en 1724 d'après le plan d'Antoine Niquet

Pour 1724_montpel_cv_niquet_georef.tif :

  • Nom court = scan_montpellier_1724
  • Titre = Plan de Montpellier en 1724
  • Résumé = Plan de Montpellier dressé par Antoine Niquet en 1724

Enregistrez le projet.

Configuration Lizmap

Dans QGIS, ouvrez la fenêtre de configuration Lizmap (menu Internet / Lizmap).

Dans l'onglet Options de carte, activez les outils : Impression, Outils de mesure, Zoom précédent/suivant. Les niveaux d'échelles min. et max. pour cette carte seront : 500, 25000 (remarque : comme le projet est en pseudo-mercator - EPSG:3857 - il n'est pas nécessaire de préciser les niveaux intermédiaires). Définissez l'emprise initiale de la carte à partir des propriétés du projet.

Dans l'onglet Couches, indiquez les propriétés des couches. Les propriétés Titre et Résumé doivent être déjà remplies, si vous les avez décrites pour QGIS Server (voir ci-dessus). Cliquez sur Cochée pour que les couches s'affichent dès l'ouverture de la carte. Pour la couche occsol_1724, cochez la case Popup. Pour toutes les couches, décochez Tuile unique et cochez Cache de tuiles serveur pour les publier sous forme de tuiles.

Dans l'onglet Fonds, cochez OSM Mapnik et OSM Stamen Toner comme fonds de carte, et définissez le premier comme fond de carte à l'ouverture (Fond de carte actif au démarrage). Cochez également Ajouter un fond vide pour que l'utilisateur puisse visualiser la carte sans fond de carte.

Dans l'onglet Table attributaire, ajoutez point_legend_1724 comme table à exposer dans Lizmap (avec le champ id comme Clé primaire).

Dans l'onglet Edition de couches, ajoutez point_legend_1724 et occsol_1724 comme couches éditables, avec les 4 options activées (créer, éditer les attributs, éditer les géométries, supprimer). Laissez Groupes autorisés vide.

Appliquez les modifications et sauvegardez le projet QGIS. Vous devez maintenant avoir 2 fichiers : Montpellier1724_PostGIS.qgs et Montpellier1724_PostGIS.qgs.cfg.

3.3.3. Réglage des droits

Vous pouvez régler les droits des groupes dans l'interface d'administration, en cliquant sur Groupes d'utilisateurs pour les droits, puis Changer les droits des groupes.

Les droits définis dans le tableau Droits des groupes s'appliqueront sur tous les répertoires sans distinction.

droits des groupes

Concurrence entre groupes

Notez qu'un utilisateur peut appartenir à plusieurs groupes : voir en bas du tableau Droits des groupes les règles d'applications dans ce cas.

Exemple : par défaut, tous les utilisateurs font partie du groupe Users ce qui implique qu'ils peuvent changer leur mot de passe (car le droit est sur "yes" dans le tableau). Sauf si l'utilisateur fait partie d'un autre groupe où "changer son mot de passe" = "non" : car le "non" l'emporte sur le "oui".

Vous pouvez aussi régler les droits au niveau des répertoires : dans Configuration Lizmap, cliquez sur Modifier sous le répertoire concerné.

droits repertoire

TP : définition des droits

Cliquez sur Groupes d'utilisateurs pour les droits, puis Changer les droits des groupes. Pour le groupe admins, cochez les droits suivants :

  • Visualiser les projets du répertoires
  • Afficher les liens WMS des projets

Cliquez sur Enregistrer

Cliquez sur Configuration Lizmap puis, sous le répertoire prive, sur Modifier.

Cochez la case du groupe SIST (sist) pour :

  • Visualiser les projets du répertoires
  • Utiliser l'outil Edition
  • Permettre l'export des couches

Pour vérifier l'application des droits, connectez-vous successivement en tant que "admin" puis en tant que "tintin" sur la page d'accueil : http://lizmap.localhost/ (ou bouton Projets), et enfin en tant qu'anonyme (non-connecté).

  • en tant qu'anonyme, vous n'avez pas accès à la carte Montpellier 1724 (du répertoire prive).
  • en tant que "tintin" (du groupe SIST), vous avez accès à la carte Montpellier 1724 et à l'outil d'édition pour celle-ci. Testez l'ajout d'un point dans les lieux remarquables (vous pouvez vérifier ensuite via QGIS que l'ajout à bien été effectué dans la couche PostGIS correspondante).
  • en tant que "admin" (du groupe admins), vous avez accès à toutes les cartes de tous les répertoires, mais vous n'avez pas accès à l'outil d'édition dans la carte Montpellier 1724.

3.3.4. Outil d'édition Lizmap

L'outil d'édition Outils d'édition Lizmap est un des atouts de Lizmap. Il donne à l'utilisateur la possibilité de dessiner et enregistrer dans une base de données PostGIS des entités simplement par son navigateur, sans passer par un SIG.

TP : outil d'édition

Connectez-vous en tant que "tintin", et ouvrez la carte Montpellier 1724.

Cliquez sur l'outil d'édition. Sélectionnez la couche Occupation du sol et cliquez sur Ajouter.

Dessiner un polygone sur la carte avec des clics gauche + un double-clic gauche pour le dernier sommet. Définissez les attributs : id=99 et libelle=potager (par exemple). Puis cliquez sur Enregistrer. Recommencez l'opération avec un autre polygone et libelle=vigne.

Notez que dans QGIS Desktop, il est possible de définir des Formulaires d'attribut dans les propriété des couches. Ainsi, vous pouvez proposer à l'utilisateur une liste de valeur prédéfinies pour un attribut. Une fois la carte publiée, vous retrouverez ensuite dans Lizmap ces valeurs dans l'outil d'édition, dans une liste déroulante.
Par exemple, pour une couche Occupation du sol, vous pouvez définir une liste de valeur prédéfinie telle que 'friche', 'potager', 'vigne' pour le champ libelle.

3.3.5. A RETENIR

  • Les droits sont définis au niveau des groupes, plutôt qu'au niveau des utilisateurs
  • Par défaut il existe 3 groupes dans Lizmap : les anonymes (internautes qui visitent le site sans être authentifiés), les users (groupe générique pour ceux qui ont un compte), les admins (administrateur(s) du site).
  • Dans l'interface Administration, l'administrateur doit indiquer et configurer les répertoires, qui correspondent aux dossiers dans lesquels sont enregistrés les projets QGIS sur le serveur. Un répertoire peut regrouper un ou plusieurs projets.
  • Il est possible de définir dans Lizmap d'autres groupes d'utilisateurs, avec des droits différencié sur ces répertoires.
  • C'est au niveau de ces répertoires que l'administrateur définit ce qui est possible pour chaque groupe : voir les cartes du répertoire, accéder aux outils d'édition, etc. Cela permet par exemple de cacher certains répertoires aux utilisateur anonymes, ou de restreindre la mise à jour des données pour certains utilisateurs.