Service Workers

Avec la sortie prochaine d'un OS Mobile basé sur Gecko (Firefox OS) et la création d'un marketplace ouvert pour Firefox utilisant HTML5/CSS3/Javascript, la création d'applications web visant des centaines de millions d'utilisateurs est désormais ouverte à tous.
Répondre
brieucs
Lézard vert
Messages : 109
Inscription : 02 mai 2015, 22:33

Service Workers

Message par brieucs » 11 avr. 2016, 09:21

bonjour,

l'évolution annoncée de FxOS et de B2G-OS ,
avec la "deprecation" des packaged-apps,
le futur modèle de sécurité, la refonte des API,
nous oblige à nous intéresser aux service-workers :

mais quelqu'un a-t-il essayé les "service-workers" dans Firefox 45 ?

Enguerran Colson :
http://makina-corpus.com/blog/metier/20 ... ice-worker

Julien Wajsberg :
http://www.24joursdeweb.fr/2015/une-nou ... b-mobiles/

Stephane Haimet :
http://www.haimet.com/article/service-w ... on-basique

en attendant que B2G-OS soit défini et qu'un build les accepte,
on "pourrait" commencer avec firefox-(45)-desktop,

cepandant, il y a un bémol, Ashley Gullen, 5th, April 2016 :
https://www.scirra.com/blog/ashley/27/s ... in-the-ass

...
Dernière édition par brieucs le 21 mai 2016, 11:23, édité 3 fois.

brieucs
Lézard vert
Messages : 109
Inscription : 02 mai 2015, 22:33

Re: Service Workers (bémol)

Message par brieucs » 15 avr. 2016, 14:59

SW-bémol, suite:
outre 2 articles sur [ mozf.org - bidouilleux d'web ], 2 videos courant 2015 :
Eric Daspect (15 min):
http://www.paris-web.fr/2015/conference ... gateur.php
Hubert Sablonnière (45 min):
http://www.infoq.com/fr/presentations/w ... es-workers
Maximiliano Firtman (bémol) :
https://medium.com/@firt/service-worker ... b6f473cc9b
"incredibly complicated" ? ... à vous de juger !

brieucs
Lézard vert
Messages : 109
Inscription : 02 mai 2015, 22:33

Re: Service Workers (bémol)

Message par brieucs » 21 avr. 2016, 08:28

Y-a-t-il un autre moyen que les service-workers pour construire une webapp autonome i.e. sans connexion,
comme par exemple une calculette ou une torche ? ( sous android, la torche se connecte à google ;-) )

Selon MDN, les Service-workers sont pris en charge à partir de firefox-v44, mais pour Fx-OS (et B2G-OS) :

Jan Jongboom ( firefoxinaction, mars 2015) :
As said in the beginning of this section appcache will be deprecated in the near future.
From Firefox-OS 2.3 there will be a new technique called service workers.
George Roter ( Mozilla-aidera-communaute-a-continuer-Firefox-OS-sur-smartphones, février 2016) :
Cet effort couvrira plusieurs domaines du code :
- dépréciation des applications packagées ;
- le modèle d’intégration ;
- les API de bas niveau ;
- faire vraiment fonctionner les Service Workers.
vraiment ?
Votre Navigateur : Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0

sizvix
Lézard à collerette
Messages : 427
Inscription : 05 sept. 2013, 15:03

Re: Service Workers (bémol)

Message par sizvix » 21 avr. 2016, 11:28

À mon avis appcache est déprécié en préparation, et ne sera enlevé que quand la relève sera bien prête ( contrairement à mozzApps ... ) , du moins j'espère qui ne vont pas encore tout recasser dans la précipitation ...
Et c'est probablement déjà opérationnel sur B2G je pense, pour que ça puisse tout faire tourner.
Votre Navigateur : Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0
Iwinote, une webapp pour créer une partition à partir d'un air que vous sifflez ^^
https://www.indiegogo.com/projects/iwinote
Merci de soutenir son financement et de le partager :)

Avatar de l’utilisateur
lapineige
Iguane
Messages : 643
Inscription : 19 avr. 2015, 17:36

Re: Service Workers (bémol)

Message par lapineige » 23 avr. 2016, 09:44

@sizvix:
À mon avis appcache est déprécié en préparation, et ne sera enlevé que quand la relève sera bien prête ( contrairement à mozzApps ... ) , du moins j'espère qui ne vont pas encore tout recasser dans la précipitation ...
C'est un choix complètement assumer de virer les anciennes API pour utiliser les nouveaux standards, et c'est même presque plus sain de n'avoir qu'un code à refaire et non pas de faire cohabiter les deux.
Le but n'est pas d'avoir une version utilisable pendant la transition (du moins au début), lourde à maintenir, un bordel niveau code.
Et au final la base de travail sera plus légère, simple, facile à maintenir.

Pour appcache, je n'ai pas d'info.

Le vraiment à mon avis veut dire qu'ils seront pleinement supportés et utilisés.
Votre Navigateur : Mozilla/5.0 (X11; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0 Iceweasel/43.0.1

sizvix
Lézard à collerette
Messages : 427
Inscription : 05 sept. 2013, 15:03

Re: Service Workers (bémol)

Message par sizvix » 25 avr. 2016, 14:31

lapineige a écrit :C'est un choix complètement assumer de virer les anciennes API
Oui, mais viré mozApp du jour au lendemain sans passer en deprecated ni attendre que les progressives webapps soit au point, on perd de l'avance face au autre navigateur, voir on prend du retard, car eux on un équivalent utilisable et on perd cette fonctionnalité pour un moment...
( et moi, j'ai dû repasser une semaine à recoder une partie d'appli pour un client où je souhaitais me baser sur Firefox for android ... et donc sans le mozApp --qui était pourtant sur les versions publique de Firefox-- j'ai dû remonter une partie de structure à la place ... bon, le sérieux de Firefox en a pris un coup chez ce client ... dommage, il avait un bon potentiel ... )
Votre Navigateur : Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0
Iwinote, une webapp pour créer une partition à partir d'un air que vous sifflez ^^
https://www.indiegogo.com/projects/iwinote
Merci de soutenir son financement et de le partager :)

Avatar de l’utilisateur
lapineige
Iguane
Messages : 643
Inscription : 19 avr. 2015, 17:36

Re: Service Workers (bémol)

Message par lapineige » 28 avr. 2016, 20:28

sizvix a écrit :Oui, mais viré mozApp du jour au lendemain sans passer en deprecated
Tout va passer sur une base de standards. Ils ont dû faire le choix de garder un code propre, allégé, simple à maintenir.
Et on garde la logique du: on enlève ce qui doit être remplacé, les tests passent au rouge, on travaille pour les faire passer au vert au fur et à mesure.
sizvix a écrit :ni attendre que les progressives webapps soit au point, on perd de l'avance face au autre navigateur, voir on prend du retard, car eux on un équivalent utilisable et on perd cette fonctionnalité pour un moment...
Je ne comprends pas en quoi on prends du retard sur d'autres navigateur. Au contraire, le système est en avance, avec des technos qui commence à peine à être intégrées pour du bon sur desktop et mobile dans les navigateurs, on va les utiliser de base pour tout un OS.
Les autres navigateurs sont très loin de proposer les fonctions de Firefox OS (je ne parle pas des autres systèmes, mais navigateurs), et en virant ces API ont repasse certes à un niveau de fonctionnalités presque égale, mais pour un OS complet, pas pour le simple navigateur.
sizvix a écrit :j'ai dû repasser une semaine à recoder une partie d'appli pour un client où je souhaitais me baser sur Firefox for android
Ah ça a bougé de ce côté là ? J'ai pas d'infos.


Sinon, puisque tu sais programmer, tu peux parfaitement venir aider à intégrer plus rapidement ces nouvelles APIs et mécaniques ;)
(et je t'encourage à le faire :))

sizvix
Lézard à collerette
Messages : 427
Inscription : 05 sept. 2013, 15:03

Re: Service Workers (bémol)

Message par sizvix » 29 avr. 2016, 14:00

lapineige a écrit :Je ne comprends pas en quoi on prends du retard sur d'autres navigateur.
C'est sur le coté desktop et android de Firefox, les autres navigateurs peuvent faire des applis comme natives en HTML5 , qui apparaissent donc dans la liste de leur programmes, mais Firefox ne peut plus le faire depuis qu'ils ont viré mozApp ...
Du coup, ceux qui avaient commencé à faire des applis Firefox basé sur ce système, du jour au lendemain, ça n'est plus possible, donc ils vont sur les autres plateformes qui le proposent ...
lapineige a écrit :Sinon, puisque tu sais programmer, tu peux parfaitement venir aider à intégrer plus rapidement ces nouvelles APIs et mécaniques ;)
(et je t'encourage à le faire :))
C'est vrai que techniquement, je pourrais, mais il me faudrait du temps ( bon, je suis à mon compte, ça pourrait se moduler , quoi que le soir, je ne suis pas trop dispo pour les réunions ) et je suis à l'aise avec l'anglais qu'au bout de 1 ou 2heures d'immersion
Du coup, si je n'y bosse pas au moins la journée entière avec une team, ça n'est pas trop la peine , ou sinon une team française qui dispatche les tâches en français ... en plus, j'ai du mal à intégrer une équipe si je n'ai pas une place claire dedans ... ( le seul patch que j'avais filé sur Firefox OS ,il y a 2ans, m'avait été refusé car ce n'était pas lié à une fiche bugzilla , blablabla .... mais mince, c'était de la traduction d'une partie qui n'avait pas été traduite, il y a besoin d'ouvrir une fiche pour ça ??? ... du coup, je n'ai pas retenté , je déteste la paperasse ou équivalent ... )
Bref ... ça peut paraitre un peu fermé , mais c'est surtout que dans ce condition je perds mon rendement/productivité ...
J'ai beau être assez autonome, j'ai besoin de connaitre mon champ d'action / ce qu'il y a à faire ( ok, certains disent qu'il faut aller me chercher ... un certain coté hermine/punk il parait : " reste à crever si tu me dis pas ce que tu as besoin " :) , bon, j'ai pourtant l'impression d'aider les gars qui rament ^^ )
Iwinote, une webapp pour créer une partition à partir d'un air que vous sifflez ^^
https://www.indiegogo.com/projects/iwinote
Merci de soutenir son financement et de le partager :)

brieucs
Lézard vert
Messages : 109
Inscription : 02 mai 2015, 22:33

Re: Service Workers

Message par brieucs » 21 mai 2016, 11:06

bonjour,
voici un dispositif pour tester l'excellent exemple :
http://www.haimet.com/article/service-w ... on-basique

- dans un PC avec Ubuntu et python3, créer et placer index.html, style.css, scripts.js, sw.js, dans un dossier;
depuis ce dossier, lancer dans un terminal : [ python3 -m http.server ]

Regarder dans Firefox, le site "localhost:8000", en surveillant les messages dans la console de dev,
renouveler la page pour voir les nouveaux messages de la console; couper le serveur python, avec ctrl-C, et renouveler encore, etc .... On voit les fetch, avec ou sans get . Relancer le serveur, modifier le contenu de index.html dans le dossier, recommencer ...

Pour localhost, les servicesWorkers acceptent le simple http.
Avec "about:serviceworkers" dans Firefox, on voit les services enregistrés.
On peut les désinscrire, mais à la moindre erreur, les tests restent compliqués.

MDN : Service Worker API : Utiliser les Service Workers :
https://developer.mozilla.org/en-US/doc ... ce_Workers

sizvix
Lézard à collerette
Messages : 427
Inscription : 05 sept. 2013, 15:03

Re: Service Workers

Message par sizvix » 23 mai 2016, 06:01

C'est agaçant le https ... Il est nécessaire pour faire des tests hors localhost (notamment avec le tel, il est rarement le serveur qui fait tourner le host ) ... faudrait voir si il n'y a pas une option dans Firefox pour le désactiver pour faire des tests ...
Iwinote, une webapp pour créer une partition à partir d'un air que vous sifflez ^^
https://www.indiegogo.com/projects/iwinote
Merci de soutenir son financement et de le partager :)

brieucs
Lézard vert
Messages : 109
Inscription : 02 mai 2015, 22:33

Re: Service Workers

Message par brieucs » 23 mai 2016, 12:08

- la page de MDN : "Using Service Workers" de franzy1709, Mar 25, 2016,
indique qu'on peut faire des tests en http-seul, avec une option des "outils de developpement" de firefox :

paramètres avancés : "activer les service-workers via http" (lorsque la boite à outils est ouverte)

Est-ce que ça marche pour le téléphone avec webIde ?
qque chose dans about:config ou l'équivalent pour le téléphone, accessible via le webIDE ?

Pour l'instant je fais qques tests en localhost : c'est plus que déconcertant, tout se suit en regardant le log de la console dans les outils de developpement. Peut-il y avoir interférence avec le cache de base de firefox ? (préférences / avancé / contenu web en cache | ... hors connexion). Surveiller "about:serviceworkers".

Dans l'exemple cité plus haut (haimet), ainsi que les exemples de MDN, le "sw.js" regarde dans le cache s'il ya les éléments à afficher ( pour le cas où ils n'y sont pas, on peut rajouter un appel au serveur distant, voir doc MDN ); le service devrait recharger "sw.js" depuis le serveur distant chaque fois que c'est possible, et ainsi se rendre compte d'une nouvelle version ...

On dispose ainsi de la méthode pour remplacer la technique des "packaged-apps" dépréciée, intégrant les mises à jour possibles; mais franchement, avec l'asynchrone et le multi-tasking, ça devient hyper-tordu !

HTTPS : reste encore "let's encrypt", même pour un site sur un raspberry-PI local ?
ceci-dit, OVH permet d'accéder à un site en hebergement mutualisé, par une URL du type "https://ssl9.ovh.net/~monloginftp/...".

sizvix
Lézard à collerette
Messages : 427
Inscription : 05 sept. 2013, 15:03

Re: Service Workers

Message par sizvix » 27 mai 2016, 04:56

brieucs a écrit :Est-ce que ça marche pour le téléphone avec webIde ?
qque chose dans about:config ou l'équivalent pour le téléphone, accessible via le webIDE ?
Pour le about:config de Firefox OS, dans WebIDE, tu as, à droite en bas, préférence de l'appareil et paramètre de l'appareil. Il permette de modifier les paramètres type about:config
Votre Navigateur : Mozilla/5.0 (X11; Linux x86_64; rv:46.0) Gecko/20100101 Firefox/46.0
Iwinote, une webapp pour créer une partition à partir d'un air que vous sifflez ^^
https://www.indiegogo.com/projects/iwinote
Merci de soutenir son financement et de le partager :)

brieucs
Lézard vert
Messages : 109
Inscription : 02 mai 2015, 22:33

Re: Service Workers

Message par brieucs » 27 mai 2016, 19:19

merci, Sizvix;
effectivement, j'arrive à "préférences", après avoir opté pour "plus de privilèges" (paramètres développeur), mais "paramètres" reste en grisé.
Dans "préférences" on a bien des options qu'on voit dans les "about:config", y compris au sujet des "workers", mais pas trouvé avec "http". Donc l'option "serviceworker en http" est bien circonscrit aux "outils de dev". Je crois avoir lu qu'il fallait de toutes façons "serviceWorkers enabled" ce qui est le cas ici.

brieucs
Lézard vert
Messages : 109
Inscription : 02 mai 2015, 22:33

Re: Service Workers (web or dead)

Message par brieucs » 30 juin 2016, 11:03

il ne reste plus qu'à se plonger dans les exemples-démos de
The Service Worker Cookbook : https://serviceworke.rs/
avec firefox, et un localhost, comme cité plus haut.
v aussi : https://fetch.spec.whatwg.org/

bonne nouvelle !
les hebergements vont bientôt offrir par défaut le https
( ex: OVH avec let's encrypt )

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité