Conseil : intégration maps

Hello à tous,

Avec le blocage récent des iFrame, je dois trouver une alternative pour l’affichage d’une map type googlemaps pour le widget de mon #plugin-mybmw.
Je vois ici et là que pas mal d’entre vous utilisent Leaflet ! Vous en pensez quoi en terme de rendu ? en terme d’intégration ? C’est complexe ou pas ? Je voufrais éviter de surcharger le plugin juste pour l’affichage d’une carte :wink:
D’autres solutions intéressantes ?

Merci d’avance pour vos retours,

Xav

Hello,

Malheureusement depuis qu’il y a eux des restrictions de sécurité il y a pas de moyen simple de faire les choses.

Pour JeeMate nous avons du codé un proxy qui permet de télécharger les frame de la Map grâce à jeedom.

Cependant cela est pas des plus user friendly. Car sa complique les choses et surtout c’est très limitant pour les petits connexion.

Car tout la carte passe par le jeedom.

Cordialement
Thibaut

1 « J'aime »

Salut,

Il me semble que le domaine de google a été ajouté dans les destinations autorisées donc maps.google.com fonctionne
En tout cas avoir un widget avec une carte googlemaps ca fonctionne.

Mais du coup sans passer par un iFrame ?

Hello,

C’est une bonne nouvelle sa. Tu penses qu’il y a moyen de faire whitliste aussi leflet. Car pas fan de la politique de monétisation de Google.

Cordialement
Thibaut

1 « J'aime »

Non, t’es obligé de mettre une iframe pour afficher un autre site, google maps ici.
mais je ne comprend pas la question, iframe ou pas ca ne change rien sur la CSP (content security policy)

Sur une fresh install depuis une image jeedom puis upgrade en 4.2.20 :

Si je passe sur apache non sécurisé dans la config, ca fonctionne

EDIT : à noter que sur mon install de prod qui date de 3 ans, je n’ai pas le souci

On en parlait déjà ici où @vercors voulait rajouter jawg.io (on a tous nos préférences)

et du coup j’ai déjà donné mon avis: https://community.jeedom.com/t/la-config-apache-bloque-les-images-non-white-listees/84209/3

1 « J'aime »

Merci,

Je me souviens du sujet, j’y ai pas mal participer.
Mais malheureusement je vois qu’il a pas eux de suite au idée de tout le monde.

PS : j’ai redemandé car j’avais pas le souvenir pour Google Map

Cordialement
Thibaut

1 « J'aime »

Je viens de refaire le test sur une beta en sécurisé et ca fonctionne,

tu peux voir la défnition ici d’ailleurs:

Donc faudrait voir le code de ton widget

Merci Mips pour ce lien ! J’étais passer au travers.

Donc du coup ca devrait fonctionner pour moi. Je vais creuser pour voir ce qui coince !

ca fonctionne très bien sur ma prod qui est en sécurisé aussi ! Et pour tous mes utilisateurs apparemment :smiley:
Mais pas sur mon environnement de dev (fresh install avec la dernière image Jeedom pour RPi 3B)

Pour mon widget, du très classique :

<span class="label cmdName" style="font-weight: bold">Localisation</span>
<div class="row" id="location">
	<iframe id="myFrame#id#" src="https://maps.google.com/maps?hl=fr&ie=utf8&output=embed&q=#gps_coordinates#" width="380" height="239" frameborder="0" style="border:0"></iframe>
</div>

Et bien évidemment ma carte SD vient de rendre l’âme :frowning: donc je peux pas checker le CSP

Bon j’ai remonté ma machine de dev en partant sur la dernière image Jeedom pour RPi du 01/07.
Jeedom en 4.2.20 beta.

J’ai checker le CSP qui autorise bien les sources *.google.com

Mais toujours le même souci :
image

Côté inspecteur : ca a bien l’air de venir du CSP
image

J’ai également testé sur un autre navigateur : même résultat

Si vous avez une idée je suis preneur :slight_smile: Merci

Xav

j’essaierai de tester à l’occasion la semaine prochaine

Top merci :pray:t2:

Bon j’ai finalement avancé :slight_smile:

Via l’inspecteur du navigateur :

J’ai donc modifié le fichier "apache_security en ajoutant :

frame-src 'self' *.jeedom.com *.google.com *.google.fr data:;

Et tout fonctionne. Ce que je ne m’explique pas, c’est pourquoi cela fonctionne depuis le début sur ma prod sans souci et pas sur ma fresh install !

Je laisse donc la team Jeedom voir pour ajouter (ou pas) cette ligne en natif dans la prochaine version :wink:

Xav

En fait j’ai p-e trouvé une piste sur le pourquoi

de base modheaders est pas installé (je viens de m’en rendre compte sur mes installs dev :confused:) du coup t’as beau avoir le fichier de config, les headers csp sont pas retournés au client évidemment … c’est con mais j’avais pas testé le cas « positif » (shame on me)

du coup pour installer le module sur une install qui ne l’aurait pas encore:

sudo a2enmod headers

et restart apache bien sur:

sudo service apache2 restart

pour vérifier la présence du module

sudo apache2ctl -M | grep headers

si rien ne s’affiche => :x:
si headers_module => :white_check_mark:

2 « J'aime »

Bonjour,
Pour info j’ai intégra la correction pour les frame en alpha 4.3. Ne pas hesiter la prochaine fois a faire un PR ca sera plus vite traité.

1 « J'aime »

Salut , on pourra intégrer des page grafana sur le même réseaux ?

Ben non la securité est en fonction de l’url donc a moins que j’autorise toute les urls ca ne sera pas possible. Par contre si tu es pres a avoir moins de sécurité tu peux le faire j’ai expliqué comment sur l’article du blog.