3 Gestion des programmes
nobohan edited this page 2021-10-27 14:04:22 +02:00

Gestion des programmes

Dans l'interface d'administration, le troisième onglet, "Enquêtes", permet d'ajouter et de gérer les programmes d'observations de l'application. Cette accès ne permet pas de gérer les données encodées par les utilisateurs ou importées: pour cela, il faut utiliser la connexion avec QGIS ou directement via la base de données (cfr sections "Accès à la base de donnée" et "Interaction entre QGIS et la base de données").

L'interface d'administration est accessible via l'adresse "/api/admin". L'onglet "Enquêtes" se subdivise en 5 parties qui permettent d'ajouter ou d'éditer un programme:

    1. Projets
    1. Zones géographiques
  • 3a) Formulaires dynamiques
  • 3b) Types de sites
    1. Programmes

Ces onglets doivent être remplis dans cet ordre pour faire un programme car les programmes ont besoin des autres entités (projets, zones géographiques, formulaires, types de sites).

1) Projets

Création d'un projet. Un projet peut contenir plusieurs programmes. Il faut au moins un projet pour ajouter des programmes. Tous les programmes peuvent dépendre du même projet.

2) Zones géographiques

Définition d'une zone géographique pour les programmes. Une zone géographique doit avoir un nom et un fichier geojson ou kml de type Polygon ou MultiPolygon dans le système de coordonnées WGS84 (EPSG:4326). Typiquement, ce fichier géographique est un polygone représentant le territoire d'une commune.

Pour obtenir facilement un fichier d'une zone géographique, on pourra utiliser un découpage administratif (e.g., découpage des communes en Belgique) ou bien à partir d'OpenStreetMap via une requête overpass.

Par exemple, voici la requête utilisée pour retrouver la commune de Wasseiges via overpass-turbo.eu: http://overpass-turbo.eu/s/15qX. Lorsque la requête est lancée, on peut télécharger le polygone des limites communales en cliquant sur "Exporter".

[out:json][timeout:25];
{{geocodeArea:Wasseiges}}->.searchArea;
(
  relation["admin_level"="8"](area.searchArea);
);
out body;
>;
out skel qt;

3a) Formulaires dynamiques

Définition des formulaires utilisés dans les rapports de visites. Ces formulaires sont utilisés dans les programmes pour qualifier les observations à l'aide d'un rapport de visite.

Ils comprennent un nom et le formulaire en tant que tel sous forme d'un schéma json.

Au moment d'écrire ces lignes, il n'y a pas de documentation exhaustive pour construire ces formulaires, mais les exemples fournis permettent de créer de nouveaux formulaires. En bref:

  • les "steps" permettent de décomposer le formulaire en différentes étapes dans le rapport de visites, correspondant à différents écrans.
  • les "properties" définissent les données qui peuvent être encodées. Ces "properties" ont différents "types": string, integer, ...
  • pour chaque "properties", le type de sélecteur puet être défini: "type": "select" avec un tableau de choix ("titleMap"), "type": "textarea", etc.

Pour créer ou modifier un formulaire, le plus facile est de partir d'un formulaire existant! On peut aussi valider le formulaire sur un site tel que https://jsonlint.com/.

NB: par défaut, les photos sont intégrées dans chaque rapport de visite, sans qu'il faille les ajouter au formulaire.

3b) Types de sites

Définition des types de sites. Chaque programme doit être qualifié par un ou plusieurs type de site. Par exemple, le programme "Bosquets, buissons, friches & lisières" est qualifié par les sites "Lisières", "Friches", "Buissons", "Bosquets".

Chaque type de site comporte un nom (sous "Type"), une catégorie ("Category"), un formulaire ("Custom Form") et en option un pictogramme.

Dans l'application, lors de l'encodage d'un site dans un programme, il est demandé de définir le type de site (avant l'encodage d'un rapport de visite).

4) Programmes

Définition des programmes d'observations. C'est l'entité finale qu'il faut définir pour voir apparaitre un programme dans l'application. Nous détaillons ici un programme de type "site":

  • module: "sites" ou "observations"
  • custom form: formulaire dynamique défini en 3a) pour les rapports de visites
  • geometry: zone géographique définie en 2). Le programme ne pourra être utilisé que dans cette zone.
  • project: projet défini en 1).
  • title: titre du programme, apparaissant dans l'application
  • short desc: description courte, apparaissant dans l'application
  • long desc: description longue, apparaissant dans l'application
  • geometry type: type de géométrie que l'on veut éditer. Cette géométrie peut être de 3 types: POINT, LINESTRING (ligne) ou POLYGON. Ce champ détermine le type d'encodage des géométries du programme. Il n'est pas possible de combiner plusieurs types de géométries dans un programme.
  • image ou logo: chemin relatif ou absolu vers une image pour définir l'image du programme apparaissant en médaillon (voir Ajouter/changer une image d'un programme). Exemple: ../api/media/lisiere.jpg
  • types de site: ajouter un ou plusieurs types de sites