Pages: 1
- Sujet précédent - Connexion Base de donnees postgresql/postgis et QfieldCloud - Sujet suivant
#1 Wed 19 March 2025 21:45
- Harimi
- Juste Inscrit !
- Lieu: Toulouse
- Date d'inscription: 17 Jun 2021
- Messages: 5
Connexion Base de donnees postgresql/postgis et QfieldCloud
Bonjour à tous à toutes:
Je souhaite connecter ma base de données à QFieldCloud. Mon objectif est de préparer un projet QGIS avec une couche issue d'une base de données, puis de le charger sur QFieldCloud. Après l'édition, les données devraient être directement versées dans la base de données lors de la synchronisation.
D'après la documentation officielle, cela semble possible.
Cependant, j'ai un problème : après la synchronisation de mon projet QGIS vers QFieldCloud, ma couche PostGIS est automatiquement convertie en GeoPackage. QFieldCloud duplique un projet avec le même nom + (QfieldCloud).
Résultat : lors de la synchronisation inverse (QFieldCloud vers QGIS), les modifications ne sont pas enregistrées dans la base de données, mais appliquées à la couche GeoPackage, ce qui les maintient uniquement au niveau du projet QFieldCloud.
Quelqu'un aurait-il une solution ou un retour d'expérience pour réussir à établir cette connexion entre ma base de données et QFieldCloud ?
Merci d'avance pour votre aide !
Hors ligne
#2 Thu 20 March 2025 11:57
- Antoine_Byr
- Juste Inscrit !
- Lieu: Montpellier
- Date d'inscription: 28 Feb 2025
- Messages: 7
Re: Connexion Base de donnees postgresql/postgis et QfieldCloud
Bonjour Harimi,
Pour connecter le projet QField avec sa base PostGIS, il faut dans le projet QGIS créer une variable d'environnement avec un fichier pg_service.conf :
Préférences > Options > Système > Envrionnement :
Si non défini > PGSERVICEFILE > chemin_vers_le_fichier_pg_service.conf
Ensuite dans l'interface web de QField Cloud il faut aller dans la rubrique du projet puis dans secret et créer un nouveau secret pour ajouter le contenu le contenu du fichier pg_service.conf qui aura au préalable était ajouté en variable dans le projet QGIS (en ayant bien sauvegardé PUIS poussé le projet sur le serveur : l'envoi sur le serveur ne sauvegarde pas automatiquement le projet).
En espérant que cela puisse régler ton problème !
Je modifie mon message pour rajouter une info : Il faut vérifier dans ton application la chose suivante :
- Aller dans le projet en question.
- Ouvrir le panneau de gauche avec la liste des couches.
- Cliquer sur le nuage bleu en haut du volet.
- Une fois des données crées ou des modifications effectuées sur les données en local il faudra les pousses sur la base, soit tu peux cliquer sur pousser les modifications soit les annules mais surtout tu peux faire en sorte qu'elles soient automatiquement poussées toutes les 30 minutes.
Dernière modification par Antoine_Byr (Thu 20 March 2025 12:04)
Hors ligne
#3 Thu 20 March 2025 19:42
- Harimi
- Juste Inscrit !
- Lieu: Toulouse
- Date d'inscription: 17 Jun 2021
- Messages: 5
Re: Connexion Base de donnees postgresql/postgis et QfieldCloud
Bonjour @Antoine_Byr et merci pour votre réponse,
J'ai suivi les étapes que vous avez proposées. Je n'ai pas encore réussi, mais je pense être sur la bonne voie ! ?
J’ai d’abord configuré ma base de données comme indiqué dans la documentation officielle (https://docs.qfield.org/fr/get-started/ … setup-qfc/). J'ai utilisé mon IP au lieu de localhost pour erndre accessible publiquement la connexion à la base de données PostGIS.
Ensuite, j’ai finalisé la préparation de mon projet :
La couche test est bien chargée depuis la base de données PostGIS.
L’environnement QGIS est configuré avec pg_service.conf.
J’ai renseigné le pg_service.conf du projet dans l’interface web de QFieldCloud.
Après rafraîchissement, mon projet apparaît bien dans QFieldCloud. Cependant, lorsque je tente de l’ouvrir, j’obtiens l’erreur suivante :
"code" : "permission_denied_plan_insufficient", message : "Permission denied because the useraccount's plan is insufficient"
Je pense qu’il s’agit d’un problème d’authentification ou d’une mauvaise configuration de ma part.
De plus, un message d’avertissement en orange apparaît à coté du projet dans l’interface web de QFieldCloud :
Warning! Your QGIS project may not work as expected on QField.
Layer "Sites" has an error with code "invalid_dataprovider" : Check the latest "process_projectfile" job logs for more info and reupload the project files with the required changes.
(Sites = nom de ma couche test)
Ma question est la suivante : est-ce que cela est censé fonctionner en local (en utilisant mon IP au lieu de localhost) ou ai-je besoin d’un serveur pour effectuer ce test ?
Merci
Dernière modification par Harimi (Thu 20 March 2025 19:51)
Hors ligne
#4 Tue 25 March 2025 12:11
- Antoine_Byr
- Juste Inscrit !
- Lieu: Montpellier
- Date d'inscription: 28 Feb 2025
- Messages: 7
Re: Connexion Base de donnees postgresql/postgis et QfieldCloud
Bonjour Harimi,
Voici quelques infos issues de mon expérimentation :
Warning! Your QGIS project may not work as expected on QField.
Layer "Sites" has an error with code "invalid_dataprovider" : Check the latest "process_projectfile" job logs for more info and reupload the project files with the required changes.
La solution est peut être explicitée dans les jobs de QField Cloud qu'on retrouve sur l'interface. Cela renvoie tous les messages concernant les modifications ou activités en lien avec QField Cloud comme les ajouts dans la BD, les téléchargement de projet.... Voici un exemple d'erreur qui m'a bloqué un moment (je n'avais pas de message d'erreur sur QField mais je ne savais ce qui se passait avant de regarder les erreurs retournées dans les jobs) :
Code:
15:28:53.805 QGSMSGLOG WARNING Commit errors: ERROR: 1 feature(s) not added. Provider errors: PostGIS error while adding features: ERROR: null value in column "NOM_DE_MA_COLONNE_DE_TEST" of relation "NOM_DE_MA_RELATION_DE_TEST" violates not-null constraint DETAIL: Failing row contains (LISTE_DES_CHAMPS_DE_MA_COUCHE). 15:28:53.805 qfc_worker.apply_deltas WARNING Error while applying a single delta: Failed to commit changes 15:28:54.025 qfc_worker.apply_deltas INFO Some deltas have not been applied
Finalement, j'avais un champs qui ne recevait pas la bonne valeur. Mais évidemment je n'avais pas d'erreur sur QField alors je pensais que tout était correct .
Concernant votre ultime question elle rejoint votre première erreur selon moi :
"code" : "permission_denied_plan_insufficient", message : "Permission denied because the useraccount's plan is insufficient"
Comment travaillez-vous sur QField Cloud ? L'avez-vous en auto-hébergé ou est-ce hébergé par OpenGIS car il semblerait que vous n'ayez pas le "plan" suffisant pour faire ce que vous essayiez de faire. Peut-être que si vous utilisez QField avec la version gratuite, il vous faut payer pour pouvoir effectuer la manipulation souhaitée ?
Tenez-nous informés !
Bonne journée !
Hors ligne
#5 Tue 25 March 2025 16:12
- Harimi
- Juste Inscrit !
- Lieu: Toulouse
- Date d'inscription: 17 Jun 2021
- Messages: 5
Re: Connexion Base de donnees postgresql/postgis et QfieldCloud
Bonjour Antoine_Byr
Notre structure vient de prendre un abonnement pour tester l'outil et oui je pense aussi que le message d'erreur relatif à la permission vient de la version gratuite.
J'ai refait toutes les configurations : configuration du pg_service.conf (format unix), authentification windows en ajoutant un environnement dédié et aussi sur qgis, j'ai configuré le rôle dans postgresql...je peux me connecter sans problème avec la base de données avec qfield_service. J'ai ajouté le secret (j'ai collé le contenu de pg_service). J'ai vérifié si le port 5432 et bien ouvert, mon IP est accessible (je peux me connecter à la bdd avec un autre pc en utilisant la même adresse ip). J'ai collé dans le téléphone android de fichier .conf...
Dans le jobs j'ai ce message d'erreur: QGSMSGLOG WARNING Connection todatabase failed, connection to servec at: mon_ip, port 5432 failed : timeout expired
Sur le projet j'ai l'erreur code "invalid_dataprovider"
Le problème vient de la connexion au niveau de la bdd. Poutant, j'ai suivi toutes les étapes mentionnées dans le doc officiel
Merci pour le retour
Dernière modification par Harimi (Tue 25 March 2025 22:19)
Hors ligne
#6 Tue 25 March 2025 16:38
- Antoine_Byr
- Juste Inscrit !
- Lieu: Montpellier
- Date d'inscription: 28 Feb 2025
- Messages: 7
Re: Connexion Base de donnees postgresql/postgis et QfieldCloud
Re-bonjour,
De mon côté je n'ai pas eu besoin de mettre le pg conf dans le téléphone/tablette. Par contre il est possible que :
- Les données entrées dans le pg conf ne soient pas les mêmes que pour le secret ou que le secret ne soit pas renseigné dans l'interface du projet : Home > Core > Projects > Projet en question > Secrets.
- L'utilisateur que vous avez créé pour la carte n'ai pas les droits sur les couches du projets.
- Vous vous soyez trompé en tapant les identifiants : https://github.com/opengisch/QField/issues/3176
Hors ligne
#7 Mon 31 March 2025 09:45
- Harimi
- Juste Inscrit !
- Lieu: Toulouse
- Date d'inscription: 17 Jun 2021
- Messages: 5
Re: Connexion Base de donnees postgresql/postgis et QfieldCloud
Bonjour,
Je n'ai pas encore pu déterminer la cause exacte du blocage. J'ai pris contact avec le support technique de QField et je suis en attente de leur retour. Parallèlement, je poursuis mes recherches de mon côté.
Hors ligne
Pages: 1
- Sujet précédent - Connexion Base de donnees postgresql/postgis et QfieldCloud - Sujet suivant