Interface utilisateur
Présentation générale
Biblizou s’intègre dans QGIS sous la forme d’un panneau latéral ancrable (QDockWidget),
accessible depuis le menu .
Le panneau est défini dans biblizou_dockwidget_base.ui (Qt Designer)
et piloté par BiblizouDockWidget (biblizou_dockwidget.py).
Il se compose de trois zones :
Un en-tête avec le logo et le titre
Un sélecteur de dossier de travail, commun à tous les modules
Un widget à onglets donnant accès aux quatre modules (FSD, TaxRef, BDC Statuts)
Un pied-de-page avec un bouton [i] Aide et un bouton options signalé par un
figuré d’engrenage
Tous les traitements sont lancés dans des QThread distincts afin de ne pas bloquer
l’interface QGIS. La progression est reportée dans la barre de statut principale de QGIS
(statusBar().showMessage()) et les messages détaillés dans le panneau
sous la catégorie Biblizou.
Une barre de chargement apparait en pied-de-page lors des traitements et disparait lorsque les traitements sont terminés ou interrompus. Le dernier message d’étape s’affiche également au-dessus de la barre de progression
Dossier de travail
Le widget QgsFileWidget (mQgsFileWidget) en mode GetDirectory est commun à
l’ensemble des modules. Il désigne le dossier dans lequel :
les fichiers XML téléchargés ou déposés manuellement doivent se trouver ;
le fichier
biblizou.gpkgsera créé ou mis à jour par tous les modules.
Une validation bloque l’exécution de tout workflow si le chemin est absent ou invalide.
Onglet FSD
Cet onglet permet de lancer le moissonnage des Formulaires Standards de Données (voir Module FSD — Formulaires Standards de Données).
Widgets de saisie :
Widget (nom objet) |
Type |
Rôle |
|---|---|---|
|
|
Couche polygonale de référence pour les ZNIEFF (filtre : couches polygonales uniquement) |
|
|
Couche polygonale de référence pour les sites Natura 2000 (filtre : couches polygonales uniquement) |
|
|
Dossier de travail contenant les fichiers XML |
Note
Les couches de référence sélectionnées dans cet onglet ne sont pas transmises au thread
de traitement FsdProcessingThread : seul le chemin working_folder lui est passé.
La sélection spatiale dans DwlXml s’effectue en interrogeant directement le projet QGIS
(via QgsProject.instance()), ce qui suppose que les couches WFS Patrinat sont déjà
chargées dans le projet.
Validation (validate_fsd()) :
La couche ZNIEFF de référence doit être sélectionnée.
La couche Natura 2000 de référence doit être sélectionnée.
Le dossier de travail doit exister sur le disque.
Bouton btnRunFsd — Lancer le moissonnage FSD :
Appel de
validate_fsd().Affichage d’une boîte de confirmation récapitulant le dossier de travail.
Instanciation de
FsdProcessingThreadet connexion de ses signaux.Démarrage du thread ; le bouton est désactivé pendant l’exécution.
À la fin (signal
finished), réactivation du bouton et message de succès.
Onglet TaxRef
Cet onglet permet de consolider les taxons présents dans des couches du projet avec le référentiel national TaxRef via l’API INPN (voir Module TaxRef — Consolidation taxonomique).
Widgets de saisie :
Widget (nom objet) |
Type |
Rôle |
|---|---|---|
|
|
Table de configuration des sources de |
|
|
Ajoute une ligne dans |
Structure du tableau ``tableTaxref`` :
Chaque ligne correspond à une source de codes taxons :
Colonne |
Type de widget |
Rôle |
|---|---|---|
0 |
|
Couche source contenant les |
1 |
|
Champ de la couche contenant les |
2 |
|
Supprime la ligne |
Les colonnes 0 et 1 sont extensibles ; la colonne 2 s’ajuste au contenu.
Validation (validate_taxref()) :
Le dossier de travail doit être valide.
Au moins une ligne doit être configurée dans
tableTaxref.
Bouton btnRunTaxref — Lancer la consolidation TaxRef :
Appel de
validate_taxref().Extraction des paires
{layer_id, column}depuistableTaxrefviaget_taxref_consolidation_data().Confirmation indiquant le nombre de couches à traiter.
Instanciation de
TaxrefProcessingThreadavec les paramètresworking_folder,consolidation_configetgpkg_path.Démarrage du thread.
Onglet BDC Statuts
Cet onglet permet d’interroger la Base de Données sur les statuts de conservation de l’INPN et de consolider les résultats avec les taxons du projet (voir Module BDC — Base de Données sur les statuts de Conservation).
Widgets de saisie :
Widget (nom objet) |
Type |
Rôle |
|---|---|---|
|
|
Sélection du département de référence (filtrage par nom, stocke le |
|
|
Table de configuration des sources de |
|
|
Ajoute une ligne dans |
Liste déroulante département (comboBoxDpt) :
Alimentée depuis data/dept_fr.csv (colonnes nom_officiel, code_insee).
La liste est rendue éditable et dotée d’un QCompleter en mode MatchContains
(insensible à la casse) permettant de filtrer les départements en saisissant
n’importe quelle partie du nom.
La valeur stockée (currentData()) est le code_insee, transmis à l’API.
Structure du tableau ``tableStat`` : identique à tableTaxref (couche + champ + supprimer).
Validation (validate_stat()) :
Le dossier de travail doit être valide.
Un département doit être sélectionné (
currentData()non nul).Au moins une ligne doit être configurée dans
tableStat.
Bouton btnRunStat — Associer à la BDC :
Appel de
validate_stat().Confirmation récapitulant le département, le nombre de couches et le chemin du GeoPackage.
Instanciation de
BdStatutsProcessingThreadavec les paramètresgpkg_path,code_inseeetconsolidation_config.Démarrage du thread.
Comportement commun aux threads
Les trois threads (FsdProcessingThread, TaxrefProcessingThread,
BdStatutsProcessingThread) partagent le même schéma de signaux et de réponses UI :
Signal émis par le thread |
Comportement dans |
|---|---|
|
Affichage dans |
|
Écriture dans |
|
Réactivation du bouton lanceur + |
|
Réactivation de tous les boutons + |
À la fermeture du panneau (closeEvent), le signal closingPlugin est émis
pour permettre au plugin principal (biblizou.py) de nettoyer ses références.
Référence des fichiers source
Fichier |
Rôle |
|---|---|
|
Définition Qt Designer du panneau (widgets, layout, styles QSS) |
|
Logique de l’interface : validation, collecte des paramètres, gestion des threads |
|
Liste des départements français ( |