Alors, au final, voilà le rendu de l’intégration de widgets web dans JC:

ici, sur la vidéo, je clique sur une page météo avec plusieurs widget par localisation, puis je clique sur une page avec un widget de chat pour donner un accès à Whatsapp.
Voilà, je suis assez content du rendu même si je constate quelques désagréments:
- le widget webview est (re)rendus à chaque fois que l’on se rend sur la page où il est installé ce qui a pour conséquence d’avoir au mieux un scintillement de rafraichissement de la page et au pire une page blanche qui mouline infiniment pour charger la page. Le widget finit par s’afficher au bout d’un moment sans explication après avoir navigué entre temps sur l’app.
Bon, bien sur, je n’enseigne pas grand chose aux utilisateurs ou développeurs avertis de JC mais voilà un moyen très pragmatique et efficace de rajouter quelques fonctionnalités avant peut être qu’elles ne soient directement disponibles par la suite.
Pour l’aspect pratique:
j’ai opté pour un fichier html appelé par exemple « monwidget.html » qui contient le code fourni par le fournisseur du service de widget web (par exemple: elfsight.com) et une petite custo de la feuille de style (ici un zoom) pour que le rendu sur mobile soit niquel.
le miens ressemble à ceci:
<html>
<script src="https://apps.elfsight.com/p/platform.js" defer></script>
<div class="elfsight-app-0360f406-6fef-4550-b169-41bf7ac31d58"></div>
<style>
.joSrve {
zoom:300%;
}
</style>
</html>
Ensuite, j’ai renoncé à déposer le fichier html dans jeedom car comme mentionné plus haut, la Content Security Policy de jeedom empêche le traitement de la page.
Pour ceux que ça intéresse toutefois, ça marche en passant le serveur Apache en non sécurisé (à vos risques) ici: Réglage(jeedom) > configuration > Système > OS DB > Ouvrir administration system > click sur « Apache non sécurisé ».
J’ai donc préféré stocker le fichier sur mon hébergement ovh (rien ne vous empeche de le mettre sur un serveur local).
Après, grâce au fantastique widget WebView, il suffit de pointer l’url de notre fichier html, et soit
- régler l’édition de widget en forcé « détail » si on souhaite que le widget occupe toute la page (hors menus).
- soit cocher « afficher dans la grille » pour un affichage du widget dans une tuile
Voilà, enjoy et je suis preneurs de vos retours concernant les désagréments évoqué plus haut.
Jérôme