C’est probablement un paramètre très simple que j’ai oublié, mais actuellement j’essaie d’intégrer Discourse dans une application mobile que j’ai créée avec Glide (glideapps.com).
Cependant, lorsque j’essaie de l’intégrer via un composant WebView, il me dit que je n’ai pas les droits d’accès nécessaires.
Je suppose que je dois ajouter le domaine à la liste blanche, mais je ne parviens pas à le trouver dans les paramètres.
Vous pouvez essayer d’ajouter à la liste blanche dans admin >> personnaliser >> intégration. Je ne suis pas sûr de ce que fait Glide, mais Discourse peut fonctionner parfaitement dans une vue web standard (par exemple, notre propre application DiscourseHub pour iOS utilise une vue web).
Cela ne devrait pas poser de problème. Je viens de tester votre site sur l’application DiscourseHub, et il se charge correctement. Cela ressemble à un problème lié à Glide, et je vois que vous avez ouvert un ticket à ce sujet, donc j’espère qu’ils pourront vous aider.
Vous pouvez également essayer d’intégrer d’autres sites, par exemple Meta, ou la communauté Glide (qui fonctionne également sur Discourse). Si aucun d’entre eux ne fonctionne, le problème vient certainement du côté de Glide (soit un bug dans Glide, soit un problème lié à la manière dont vous implémentez cela).
J’ai reçu un retour de la part de Glide concernant les raisons pour lesquelles cela ne fonctionne pas.
“Si vous saisissez cette URL (https://community.pelvic.app/) dans cet outil, il indique qu’elle possède des paramètres empêchant son exécution dans un iFrame. Webview est un conteneur pour un iFrame.”
La première partie de ce message est correcte : par défaut, nous bloquons le chargement des sites Discourse dans des iframes. Cela protège votre site contre divers risques, allant des manipulations SEO au clickjacking (voir ce lien pour plus de détails).
La deuxième partie est cependant étrange : les webviews ne sont absolument pas des iframes. Les webviews sont de petits navigateurs qui peuvent être intégrés dans des applications mobiles et se comportent comme un véritable navigateur. Une iframe est un moyen de charger une page web à l’intérieur d’une autre page web. Je suppose que l’application Glide dans son ensemble est essentiellement une page web, donc ils utilisent peut-être des iframes à l’intérieur de la webview ?
Nous disposons d’un paramètre de site qui peut être activé pour autoriser l’intégration de votre site dans une iframe, mais nous ne recommandons pas de le faire, et il existe des particularités liées à l’utilisation de Discourse dans une iframe. En d’autres termes, nous pouvons activer l’intégration via iframe pour vous, mais cela pourrait entraîner des problèmes irrésolus à l’avenir.
Pas besoin de l’activer pour nous pour le moment. Mais pour clore ce sujet, pour toute personne qui le lira plus tard. Voici le retour de Glide.
Nous utilisons une iframe pour alimenter notre WebView. C’est la seule façon de le faire fonctionner dans les navigateurs web. Il a raison de dire que de nombreux sites bloquent cela pour des raisons de sécurité, mais c’est vraiment le mieux que nous puissions faire sur le web.
La communauté Discourse suppose probablement la capacité WebView des applications natives, ce que nous ne pouvons bien sûr pas utiliser.
Pour la petite histoire. Glide est une application web progressive, et non une application native.