Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

WebUSB : une API pour connecter les appareils USB aux softwares grâce au Web
Le nouveau draft du Web Incubator Community Group

Le , par vermine

0PARTAGES

4  0 
Le Web Incubator Community Group (un groupe de discussion qui envisage d'autres fonctionnalités et manières de faire pour les plateformes Web) propose une nouvelle API : WebUSB.

Ce projet est né suite à ce constat : aujourd'hui, lorsque nous connectons un appareil à notre ordinateur, nous espérons que ce dernier trouve le bon driver tout seul et que tout va fonctionner correctement sans intervention de notre part. Ce qui est le cas de beaucoup d'appareils qui utilisent des drivers standardisés. Mais qu'en est-il des autres appareils ainsi que des nouveautés ?

WebUSB pousse le principe du « plug and play » à un niveau supérieur en connectant les appareils aux softwares sur n'importe quelle plateforme en exploitant la puissance des technologies Web.

Par contre, WebUSB ne fournit pas un mécanisme général permettant à n'importe quelle page Web de se connecter à n'importe quel appareil USB. Cette confiance aveugle des débuts de l'USB a bien vite été la cause de diverses attaques malicieuses. Par conséquent, les périphériques USB sont associés à une « Web origin » et ne peuvent être connectés qu'à partir d'une page de la même origine. Ce qui implique que les nouveaux périphériques (ou mises à jour de firmware) doivent inclure une liste d'origines acceptables que l'agent utilisateur peut interroger, ce qui est similaire au mécanisme de CORS pour les requêtes HTTP.

Le WICG prend pour exemple les imprimantes 3D. Celles-ci ne sont pas encore vraiment supportées par les OS. Du coup, les réflexes acquis avec les imprimantes classiques ne sont pas nécessairement disponibles. WebUSB pourrait y remédier. Premièrement, un fabricant pourrait construire un logiciel de configuration directement sur son site Web. Ensuite, l'utilisateur, soi-disant surexcité (pour une imprimante 3D, ça peut se comprendre), n'aurait qu'à brancher son câble USB et être directement invité à se connecter au site Web pour poursuivre l'installation. Pour la communication proprement dite, on parle alors de Window.postMessage(), d'origines reconnues, d'iframe et de bibliothèque JavaScript.

Le but étant que WebUSB remplace le code natif et les SDK avec un support multiplateforme et des bibliothèques « web-ready ».

Quoi qu'il en soit, ce projet fait déjà débat dans la communauté anglophone ! Affaire à suivre...

La page du draft de WebUSB : https://wicg.github.io/webusb/

Et vous ?

Que pensez-vous de ce nouveau projet ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de JackJnr
Membre confirmé https://www.developpez.com
Le 11/04/2016 à 15:36
Tel que je le conçois ça permettrait d'automatiser la recherche du driver, le processus est transparent. En se connectant automatiquement à un site web pour y récupérer les drivers tu te permets de récupérer la dernière version à jour pour un environnement donné. Tu auras toujours des pilotes de base embarqués (AMHA) mais tu peux aussi ajouter le support d'une plateforme en supportant par exemple la dernière version de Tails qui est devenue la distro la plus populaire depuis la promulgation de Hadopi (lol). Je caricature volontairement mais l'objectif me semble être là. On peut aussi envisager l'ajout de fonctionnalités et un update automatique. C'est toujours agréable même si ça peut engendrer des instabilités.

Dans le fond l'intérêt est certainement discutable notamment pour les raisons de sécurité précédemment évoquées.
2  0 
Avatar de Traroth2
Membre chevronné https://www.developpez.com
Le 11/04/2016 à 17:42
Citation Envoyé par sizvix Voir le message
Disons que c'est un peu risqué de permettre d'utiliser les ports les ports USB directement via le web.
Si c'est permettre à une personne qui n'y connait rien en informatique de donner accès au web ses port USB ... Ça veut probablement dire que la personne ne saura pas vérifier si le site qui lui demande ça est digne de confiance ...
J'ai rapidement parcouru le draft, et l'idée, c'est de faire une whitelist de sites qui ont le droit de se connecter, et ensuite de prompter l'utilisateur pour demander l'autorisation pour les autres.

Ca peut marcher dans une certaine mesure, mais s'enregistrer dans la whitelist sera sans doute payant, d'une manière ou d'une autre. Et donc ça sera pour ceux qui peuvent se le permettre...
2  0 
Avatar de Jhulk
Membre du Club https://www.developpez.com
Le 11/04/2016 à 14:09
J'aime pas trop le concept, assez peu d'utilité (si on est capable d'ouvrir une url avec un truc USB branché, on peut faire la même chose sans le truc usb branché et ensuite double cliquer sur l'installeur ...) et surtout des dérives potentielles du type vente de clefs usb pour accéder à des services : "avec la nouvelle clef usb le figaro, lisez les articles complets avec des polices pas floues !"
Bref à enterrer comme idée.
1  0 
Avatar de Kirisute Gomen
Membre à l'essai https://www.developpez.com
Le 11/04/2016 à 14:44
Je n'arrive pas à cerner le principe...
Une fois que le périphérique nous a redirigé sur un site web, le site web installe/configure le tout pour nous ?
Si c'est le cas, ça pue les attaques non ?
Si ça n'est pas le cas, je ne comprends vraiment pas l'intérêt, autant donner un installateur avec un manuel directement...
1  0 
Avatar de sizvix
Membre habitué https://www.developpez.com
Le 11/04/2016 à 16:22
Disons que c'est un peu risqué de permettre d'utiliser les ports les ports USB directement via le web.
Si c'est permettre à une personne qui n'y connait rien en informatique de donner accès au web ses port USB ... Ça veut probablement dire que la personne ne saura pas vérifier si le site qui lui demande ça est digne de confiance ...
1  0 
Avatar de Traroth2
Membre chevronné https://www.developpez.com
Le 11/04/2016 à 16:49
En gros le principe, c'est de pouvoir accéder à un périphérique USB depuis une appli web.
1  0 
Avatar de RyzenOC
Inactif https://www.developpez.com
Le 11/04/2016 à 17:38
Je vois bien le scénario suivant:

J’achète une imprimante 3D 2000€, je la branche, le programme m'installe un .exe, une fois le "pilote" installer écran bleu et court-circuit/surchauffe dans l'imprimante qui est détruite.

Sinon c'est quoi le problème avec le bon vieux CD-Rom et/ou le simple fait d'aller sur le site web du constructeur ?

Sur le site d'amd/nvidia par exemple sur leurs site y'a un onglet donwload, ou on sélectionne la carte graphique et on télécharge l'exe de 300mo, je vois pas ce qu'il y'a de compliquer la dedans

Edit:
J'ai compris le concept, le cloud c'est la mode, donc faut crée maintenant des périphériques as a service comme la "Printer as a service". En gros t’achètera toujours ton imprimante 3D mais tu devras en plus te connecter au cloud et payer le droit de l'utiliser, avec plein de pub qui s'affiche en arrière plan.
Vous ne me croyez pas ?, HP fait déjà un truc similaire avec HP Instant Ink

Tant qu'on pourra acheter de l'encre de chine à 7€ les 400ml et désactiver les maj automatiques des imprimantes (qui à chaque maj force l'achat d'encre original) ils font ce qu'ils veulent.
J'ai dévié sur les imprimante classique, mais c'est/se sera la même chose avec les 3D.
1  0 
Avatar de Traroth2
Membre chevronné https://www.developpez.com
Le 11/04/2016 à 17:49
Citation Envoyé par sazearte Voir le message

J'ai dévié sur les imprimante classique, mais c'est/se sera la même chose avec les 3D.
Pour l'instant non. Les imprimantes 3D sont soit des machines open-source (Ultimaker, RepRap), soit des machines à 50.000 €. Avec quelques exceptions, genre MakerBot.

Cela dit, je suis du même avis que toi. Utiliser un matériel depuis une appli web, ok, mais mettre à jour les drivers, ça peut être problématique.
1  0 
Avatar de RyzenOC
Inactif https://www.developpez.com
Le 11/04/2016 à 18:31
Pour l'instant non. Les imprimantes 3D sont soit des machines open-source
Oui tu as raison, je voulais dire que sa risque à terme (quand sa se démocratisera aux grand publique) d'évoluer vers le même modèle économique que les imprimantes 2D, à savoir l'enfermement.

J'envisage de bientot m'en acheter une, une chose qui est bien avec l'imprimante 3D, c'est qu'il doit techniquement être possible de fabriquer ces propres pièce détaché et donc de la réparer, voir l'upgrader

L'imprimante qui m’intéresse, se serait la Discovery200, cette dernière est livrée avec le logiciel dans un cd, et le soft peut même être téléchargé sur le site du constructeur. Donc je vois vraiment pas l’intérêt de cette techno.

HS: un truc marrant, c'est que les "cartouches" des imprimantes 3D dont moins cher que les cartouches d'encres des fabricants...
1  0 
Avatar de Traroth2
Membre chevronné https://www.developpez.com
Le 11/04/2016 à 21:53
Citation Envoyé par sazearte Voir le message

J'envisage de bientot m'en acheter une, une chose qui est bien avec l'imprimante 3D, c'est qu'il doit techniquement être possible de fabriquer ces propres pièce détaché et donc de la réparer, voir l'upgrader
C'est ce que je fais avec mon Ultimaker...

Des amortisseurs, des tendeurs de courroies, et même tout un bloc pour un extrudeur E3D v6 qui peut imprimer du polycarbonate. Maintenant, il faut que j'imprime un amortisseur pour mon feeder, mais il faut que j'achète du filament élastique, pour ça...

Les trucs auxquels être attentifs quand tu achètes une imprimante 3D, selon mon expérience : en X et Y, il vaut mieux que ça soit l'extrudeur qui se déplace plutôt que le plateau (les chocs d'arrêt et de changement de direction peuvent altérer la qualité d'impression), un plateau qui doit dans l'idéal être chauffant, l'extrudeur doit être aussi léger que possible (comme il se déplace, chaque changement de direction provoque un wobble, un effet de rebond qui diminue la qualité, et qui est amoindri si l'extrudeur est plus léger), il vaut donc mieux préférer un design Bowden, où le moteur du feeder se trouve à l'arrière de l'appareil à un design Direct, où il se trouve sur l'extrudeur même. De nos jours, je me suis laissé dire que les filaments 1,75 mm étaient préférables au 3 mm, mais je n'ai pas pu vérifier si ça apportait réellement quelque chose au niveau qualité. Pour la diversité des matériau, ça revient encore au même, pour l'instant, on trouve tout en 1,75 mm et en 3 mm. Si tu achètes en kit, comme moi, fais attention à la facilité de calibrage, j'en ai chié avec l'Ultimaker, à ce niveau là (ils n'ont pas de bonne méthode pour calibrer la distance entre le plateau et la buse. Faut bidouiller avec une feuille de papier et j'ai dû m'y prendre à 50 fois, environ). Mais sinon, c'est cool.

Ensuite, je ne sais pas dans quelle mesure tu as déjà vu fonctionner un tel engin, mais imprimer en 3D, c'est... long. Au début, ça surprend. Et plus tu veux une impression de qualité, plus c'est long.

Autre chose, prévoir une pièce bien aérée, surtout si tu prévois d'imprimer en ABS. En PLA (Poly Lactic Acid), ça sent le grillé (c'est fait avec de l'amidon de maïs, après tout), mais en ABS (Acrylonitrile Butadiène Styrène), ça pue grave le plastique cramé. Comme dit le mec de "Will it blend?" : "don't breath that!"
1  0