#1 Tue 18 March 2025 10:21
- Antoine_Byr
- Juste Inscrit !
- Lieu: Montpellier
- Date d'inscription: 28 Feb 2025
- Messages: 7
[QField - QField Cloud] Filtre de couche par utilisateur
Bonjour à tous,
Voici ma situation :
Je souhaite créer un projet QField où plusieurs personnes peuvent se connecter.
À l'intérieur de ce projet se trouve une couche générale, l'objectif serait de filtrer l'affichage et l'édition de cette couche selon l'utilisateur connecté.
Exemple :
Une couche de parcelles de forêt est intégrée à mon projet.
Le forestier A doit pouvoir voir et éditer une partie de la couche tandis qu'il ne doit pas être en mesure de voir et éditer le reste de celle-ci associée au forestier B.
J'ai trouvé dans la documentation de QField (https://docs.qfield.org/how-to/attribut … -variables) des variables comme @cloud_username qui permettrait de récupérer le nom d'utilisateur qui crée une entité.
J'ai tenté la manipulation et j'ai essayé de filtrer la couche par symbologie ou par attribut avec le nom d'un utilisateur mais cela n'a pas fonctionné :
Exemple pour la symbologie :
Code:
@cloud_username = 'forestier_A'
J'ai également essayé dans le formulaire de la couche d'inscrire @cloud_username pour que lors de la création d'une entité le nom d'utilisateur soit automatiquement entré dans le champ (de la même manière que pour calculer automatiquement une surface on entrerait $area).
Est-ce que certains d'entre vous ont expérimenté la question ?
Dans le cas où cette opportunité n'est pas encore mise en test ou en production par les développeurs, la seule possibilité envisagée selon moi serait de créer un projet par utilisateur et de filtrer directement dans le projet même si cela engendre une perte de temps conséquente.
Merci à tous pour votre aide !
Informations techniques :
J'utilise la version 0.32.5 de QField Cloud en auto-hébergé (Je n'ai pas le sentiment que le problème soit lié à l'auto-hébergement).
J'ai également testé des projets de test avec la 3.22 et la 3.34 de QGIS.
Enfin concernant QField, j'ai utilisé la dernière version disponible sur le Play Store et celle proposée en apk sur le git.
Hors ligne
#2 Mon 24 March 2025 08:33
- GlaDal
- Participant assidu
- Date d'inscription: 30 Aug 2013
- Messages: 1161
Re: [QField - QField Cloud] Filtre de couche par utilisateur
Bonjour, je n'ai jamais expérimenté la question mais je vous encourage à publier en parallèle votre question sur :https://github.com/opengisch/qfield/discussions
Je ne sais pas si ce fil répond à votre question : https://github.com/opengisch/QField/discussions/6126
Redites nous !
Hors ligne
#3 Tue 25 March 2025 11:57
- Antoine_Byr
- Juste Inscrit !
- Lieu: Montpellier
- Date d'inscription: 28 Feb 2025
- Messages: 7
Re: [QField - QField Cloud] Filtre de couche par utilisateur
Bonjour GlaDal,
Merci pour votre réponse !
Tout d'abord, je me permets de notifier que je ne devais pas être le seul à me poser la question parce que j'ai fini par tomber sur cette issue sur GitHub https://github.com/opengisch/QField/issues/5963
Elle soumet l'idée d'utiliser la variable @cloud_username dans les outils QGIS pour permettre une meilleure gestion des permissions granulaires, et ce, depuis janvier dernier. La bonne nouvelle c'est que les développeurs n'ont pas répondu en disant que ce n'était pas une priorité, espérons que cela sous-entende qu'ils travaillent dessus .
Concernant votre réponse, j'avais effectivement pris connaissance de cette manière de faire, toutefois voici les points qui ne me permettent pas de résoudre mon problème avec la méthode proposée :
- Le but de ma manipulation est d'empêcher une partie des utilisateurs d'accéder à de la donnée qui ne les concerne pas. Pour cela, je ne peux pas me permettre d'afficher la totalité de la donnée puis de demander à l'utilisateur de la filtrer en fonction d'une modification d'un attribut.
- Il aurait pu être possible de demander cela à l'utilisateur dès l'ouverture du projet en le forçant à entrer sa valeur d'identifiant pour afficher le thème de symbologie correspondant mais je n'ai pas trouvé de moyen d'afficher une QMessageBox ou une fenêtre dans QField.
- De plus, étant donné que plusieurs utilisateurs pourraient être connectés au projet, ils pourraient modifier simultanément la table, ou alors il faudrait autant de tables que d'utilisateurs.
Je continue à rester informé des différentes possibilités mais pour le moment ça ne bouge pas beaucoup, si j'avais su obliger l'utilisateur à entrer une valeur cela aurait été envisageable, mais pour le moment, il n'y a que la solution 1 projet pour 1 utilisateur.
Encore merci !
Hors ligne