Et c'est valable pour n'importe quel navigateur (moderne, s'entend), ou simplement FFOS?
N'importe quel navigateur moderne.
Tout ça c'est bien joli, mais c'est pas avec ça que je vais pouvoir me connecter à mon (vieil) OpenLDAP ou à mon serveur IRC préféré.
Dans l'ordre :
a - Non on ne peut pas ouvrir n'importequel socket TCP ou UDP de n'importe quel IP depuis une webapp (Et heureusement d'ailleurs, si il suffisait de trois lignes de javascript pour que toute personne qui visite un site se mette à faire du DOS sur telle ou telle IP j'imagine pas le carnage).
b - De toute façon pour qu'une webapp marche (et à forciori un websocket) il faut un serveur web qui sert les infos quelque part. Pour les apps simple on peut se contenter d'un stockage fichier (j'imagine que c'est comme ça que fonctionnent les applis non connectées dans FFOS). Pour les applis connectés et les websockets il faut sortir un vrai serveur web avec à minima le handshake pris en charge.
c- On en arrive à ton problème.
- Est-ce qu'une webapp classique (FFOS ou autre) peut se connecter directement à un annuaire LDAP ou à un serveur IRC : non, clairement c'est pas fait pour.
- Est-ce qu'une webapp peut se connecter sur n'importe quel serveur pour peu qu'il y ait un convertisseur websocket/tcp quelque part : oui. A noter ca ne marche bien qu'avec le TCP, en UDP ca devient glissant très vite, les websockets s'attendent à ce qu'on leur réponde systématiquement - il faut donc que le convertisseur "invente" des réponses quand il n'y en a pas, ca se fait mais c'est lourdingue.
- Est-ce qu'on peut mettre le convertisseur sur le portable FFOS (et donc avoir un serveur web en 127.0.0.1) : oui, mais c'est déconseillé (perf, batterie, toussa). Il vaut mieux utiliser la solution donnée en dessous.
- Est-ce qu'on peut faire autrement : Oui - https://developer.mozilla.org/en-US/docs/Web/API/TCPSocket il y a toute une API qui permet d'accéder aux bons vieux socket TCP depuis une webapp MAIS c'est pas vraiment comme ça qu'on fait une webapp normalement ET ca ne marche que pour les applis certifiées ou privilégiées.
Normalement on sera en mesure de décider de privilégier n'importe quelle appli ou d'installer n'importe quel jeu de clef pour les certifications, donc ca n'est pas vraiment une limitation.
Voilà pour la théorie, reste à voir ce que ca va donner dans la pratique.
[^] # Re: Liberté ?
Posté par Kaane . En réponse à la dépêche Firefox OS est lancé. Évalué à 10.
Et c'est valable pour n'importe quel navigateur (moderne, s'entend), ou simplement FFOS?
N'importe quel navigateur moderne.
Tout ça c'est bien joli, mais c'est pas avec ça que je vais pouvoir me connecter à mon (vieil) OpenLDAP ou à mon serveur IRC préféré.
Dans l'ordre :
a - Non on ne peut pas ouvrir n'importequel socket TCP ou UDP de n'importe quel IP depuis une webapp (Et heureusement d'ailleurs, si il suffisait de trois lignes de javascript pour que toute personne qui visite un site se mette à faire du DOS sur telle ou telle IP j'imagine pas le carnage).
b - De toute façon pour qu'une webapp marche (et à forciori un websocket) il faut un serveur web qui sert les infos quelque part. Pour les apps simple on peut se contenter d'un stockage fichier (j'imagine que c'est comme ça que fonctionnent les applis non connectées dans FFOS). Pour les applis connectés et les websockets il faut sortir un vrai serveur web avec à minima le handshake pris en charge.
c- On en arrive à ton problème.
- Est-ce qu'une webapp classique (FFOS ou autre) peut se connecter directement à un annuaire LDAP ou à un serveur IRC : non, clairement c'est pas fait pour.
- Est-ce qu'une webapp peut se connecter sur n'importe quel serveur pour peu qu'il y ait un convertisseur websocket/tcp quelque part : oui. A noter ca ne marche bien qu'avec le TCP, en UDP ca devient glissant très vite, les websockets s'attendent à ce qu'on leur réponde systématiquement - il faut donc que le convertisseur "invente" des réponses quand il n'y en a pas, ca se fait mais c'est lourdingue.
- Est-ce qu'on peut mettre le convertisseur sur le portable FFOS (et donc avoir un serveur web en 127.0.0.1) : oui, mais c'est déconseillé (perf, batterie, toussa). Il vaut mieux utiliser la solution donnée en dessous.
- Est-ce qu'on peut faire autrement : Oui - https://developer.mozilla.org/en-US/docs/Web/API/TCPSocket il y a toute une API qui permet d'accéder aux bons vieux socket TCP depuis une webapp MAIS c'est pas vraiment comme ça qu'on fait une webapp normalement ET ca ne marche que pour les applis certifiées ou privilégiées.
Normalement on sera en mesure de décider de privilégier n'importe quelle appli ou d'installer n'importe quel jeu de clef pour les certifications, donc ca n'est pas vraiment une limitation.
Voilà pour la théorie, reste à voir ce que ca va donner dans la pratique.