Qt et NodeJS

Une mélange entre Qt et NodeJS

a marqué ce sujet comme résolu.

Bien le bonjour !

Mon problème est assez simple et assez compliqué à la fois. Voilà, je développe un navigateur web avec Qt (dans sa dernière version, 5.10) et QWebEngine. Mon souci est que j’aimerais pouvoir faire tourner une application NodeJS et Electron (https://getshuttle.xyz/) dans mon navigateur. J’ai fait de nombreuses recherches mais je n’ai aucune idée de comment ou par quoi commencer.... ^^"

En espérant pouvoir être aidé :)

+0 -0

Hello!

Je me pose la même question que victor. Si pour une raison ou une autre tu as besoin de ton client en Qt pour afficher une page web, pourquoi avoir besoin d’Electron qui lui-même te permet, si j’ai bien compris, d’avoir une application frontend en tant qu’application de bureau ?

En fait, l’application node ne peut pas démarrer sur un serveur comme elle utilise Electron et du HTML… ^^"

Quelle application Node ? Quel serveur ? De quoi tu parles ?

EDIT : Du coup pour être plus précis, je ne vois pas comment démarrer l’app sur Sielo au lieu d’éléctron

Feldrise

C’est quoi Sielo ?

Fais un petit effort, on n’est pas dans ta tête ;)

[edit] En fait essayons autrement. Imagine que je veux faire tourner OpenOffice dans ton navigateur Qt. Comment je fais ?

+2 -0

Je crois que ce qu’il veut dire c’est qu’il aimerait utiliser son navigateur basé sur QWebEngine comme front end pour faire afficher les applications développés avec Electron au lieu du navigateur chromium utilisé normalement par Electron.

+0 -0

Je crois que ce qu’il veut dire c’est qu’il aimerait utiliser son navigateur basé sur QWebEngine comme front end pour faire afficher les applications développés avec Electron au lieu du navigateur chromium utilisé normalement par Electron.

Demandred

C’est exactement ça, j’aimerais que Sielo (https://zestedesavoir.com/forums/sujet/9405/sielo-navigateur/) affiche la fenêtre Shuttle au lieu que celle ci soit dans le centre de notification (comme induiqué sur le site)

+0 -0

Je viens d’aller sur le site de shuttle, puis de googler "centre de notification", j’ai pas compris de quoi tu parles. Il faut que tu apprennes à expliquer ce dont tu parles. Tes questions ne sont pas compréhensibles.

Revenons à Electron. Le principe d’Electron c’est d’avoir un backend (node) et un frontend sans chrome, le tout dans un seul package (appelez ça ’bundle’, ’application’, ce que vous voulez).

Toi tu n’as pas développé de moteur de rendu ou de runtime JS, tu as juste développé un chrome. Le but d’Electron est de ne pas avoir de chrome, toi tu as développé un chrome. Tu vois la contradiction ?

Maintenant imagine que tu veuilles absolument avoir ton chrome, comment comptes-tu faire tourner le backend ? Tu vas sandboxer node dans ton navigateur ?

[edit pour Demandred, qui a édité sa réponse après que je lui ai répondu]

Je crois que ce qu’il veut dire c’est qu’il aimerait utiliser son navigateur basé sur QWebEngine comme front end pour faire afficher les applications développés avec Electron au lieu du navigateur chromium utilisé normalement par Electron.

Il n’y a pas de navigateur avec Electron. Tu peux utiliser Electron pour créer un navigateur, mais l’énorme majorité des applications Electron ne sont pas des navigateurs et n’intègrent pas de navigateur. Télécharge Atom, ouvre-le, puis essais de naviguer sur ZdS si tu veux t’en convaincre.

C’est ça qui rend la question et ta réponse pas compréhensibles. L’OP veut juste remplacer Blink et V8 par QWebEngine ?

+0 -0

L’image (https://cdn.discordapp.com/attachments/398762396547809280/398775573696217100/image.png) est beaucoup trop petite pour voir quoi que ce soit, mais bon.

Du coup ce que tu vas devoir faire, c’est faire un fork open source de shuttle et le modifier de sorte à ce que seul le backend démarre. Tu vas aussi probablement devoir changer la façon dont le front est bundlé, parce que ton navigateur n’a pas les bindings utilisés par Electron.

Ensuite, dans ton navigateur, tu pourras simplement pointer un onglet sur localhost avec le bon port, et voilà.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte