{
	"title": "Bulletin de la Web Academy no 16",
	"summary": "Sortie de Firefox 67 et statut actuel des modules JavaScript au sein de la plateforme web",
	"date_published": "2019-05-23",
	"authors": [
		{
			"name": "PolariTOON"
		}
	],
	"tags": [],
	"external_url": "https://polaritoon.github.io/web-academy/news/16-2019-05-23/",
	"id": "web-academy-news-no-16",
	"image": "./*.svg",
	"content_html": "<p><strong>Cet article a initialement été publié sur <em>Discord</em> avant d'être archivé ici et sur <a href=\"//polaritoon.github.io/web-academy/news/16-2019-05-23/\"><em>GitHub</em></a>.</strong></p>\n<div lang=\"fr\">\n\t<ul>\n\t\t<li>\n\t\t\t<p>Ce mardi est sorti <em>Firefox 67</em> avec un peu de retard à cause de la désactivation inopinée des extensions de tous les utilisateurs le <em>week-end</em> du 4 mai ; cependant cette version apporte un certain nombre de nouveautés intéressantes :</p>\n\t\t\t<ul>\n\t\t\t\t<li>\n\t\t\t\t\t<p>Du côté du <em>JS</em> :</p>\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<p>La méthode <code>String.prototype.matchAll</code>, désormais standard (souvenez-vous, je vous en parlais il y a deux mois), est supportée</p>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<p>La proposition en stage 3 de la syntaxe <em>Hashbang Grammar</em> (les commentaires <code>#!</code> en début de script) est supportée également</p>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<p>La proposition en stage 3 <code>import()</code>, c'est-à-dire les imports dynamiques de modules <em>ECMAScript</em>, est maintenant exposée dans la version stable de <em>Firefox</em>, ce qui en fait déjà le troisième navigateur à l'implémenter ; cela fait désormais plus de deux ans et demi que cette proposition attend d'être standardisée à cause des craintes de certains délégués d'<em>Ecma</em> (l'organisme qui spécifie <em>ECMAScript</em>), qui la jugent potentiellement incompatible avec la future proposition visant à étendre les <code>Realm</code>s (désomais connue sous le nom de <em>Secure ECMAScript</em>, ou <em>SES</em>) ; cependant le feu vert semble avoir été donné et on peut enfin espérer la standardisation dans deux semaines, lors de la réunion bimestrielle du <em>TC39</em> ! je vous tiendrai au courant !</p>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</li>\n\t\t\t\t<li>\n\t\t\t\t\t<p>Du côté des <em>CSS</em> :</p>\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<p>Le mot-clé universel <code>revert</code>, qui permet de restaurer la valeur originale d'une propriété (telle que définie par l'<em>User-Agent</em>, c'est-à-dire le navigateur), a été ajouté et constitue un complément aux valeurs universelles <code>unset</code>, <code>initial</code> et <code>inherit</code></p>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<p>La <em>media query</em> <code>prefers-color-scheme</code> est désormais implémentée, et ceci selon la dernière version de la spécification (contrairement à <em>Safari</em>) ; nous disposons donc de deux navigateurs indépendants à supporter les thèmes (clairs, sombres et sans-préférence) ! un certain nombre de sites propose déjà deux versions de leurs pages via ce nouveau mécanisme</p>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</li>\n\t\t\t\t<li>\n\t\t\t\t\t<p>Pour plus d'informations, consultez certaines de ces pages <a href=\"https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/67,\">https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/67,</a> <a href=\"https://hacks.mozilla.org/2019/05/firefox-67-dark-mode-css-webrender/\">https://hacks.mozilla.org/2019/05/firefox-67-dark-mode-css-webrender/</a> et <a href=\"https://www.fxsitecompat.com/en-CA/versions/67/\">https://www.fxsitecompat.com/en-CA/versions/67/</a></p>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</li>\n\t\t<li>\n\t\t\t<p>D'autres nouvelles relatives aux modules en <em>ECMAScript</em> :</p>\n\t\t\t<ul>\n\t\t\t\t<li>\n\t\t\t\t\t<p>Si vous avez bien suivi, vous n'êtes pas sans savoir que :</p>\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<p>Tous les navigateurs supportent déjà les modules <em>ECMAScript</em> statiques via l'instruction <code>import</code> et que <em>Node.js</em> dispose d'une implémentation expérimentale</p>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<p><em>Firefox</em>, <em>Chrome</em> et <em>Safari</em> supportent l'import dynamique de modules <em>ECMAScript</em> (autant dans un script classique que dans un script modulaire) et que <em>Node.js</em> a aussi une implémentation expérimentale</p>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</li>\n\t\t\t\t<li>\n\t\t\t\t\t<p>Par contre saviez-vous que :</p>\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<p><em>Node.js 12.3</em>, sorti mardi, supporte également les modules <em>JSON</em> (<code>import &quot;./structured-data.json&quot;;</code>) et <em>Web Assembly</em> (<code>import &quot;./low-level.wasm&quot;;</code>), toujours de manière expérimentale</p>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<p>L'import de modules <em>JSON</em> a été standardisé par le <em>WHATWG</em> et intégré au langage <em>HTML</em> cette semaine</p>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<p>Les travaux débutent sur la généralisation des imports <em>ECMAScript</em> aux formats <em>HTML</em>, <em>CSS</em>, <em>JSON</em>, <em>Web Assembly</em> et <em>WebIDL</em>, connue sous le nom de <em>Synthetic Modules</em>, qui dispose à la fois du soutien des auteurs de spécifications et des concepteurs de navigateurs, en plus de l'enthousiasme des développeurs</p>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</li>\n\t\t\t\t<li>\n\t\t\t\t\t<p>Vous trouverez plus d'informations dans les pages <a href=\"https://github.com/nodejs/node/pull/27752,\">https://github.com/nodejs/node/pull/27752,</a> <a href=\"https://github.com/w3ctag/design-reviews/issues/375,\">https://github.com/w3ctag/design-reviews/issues/375,</a> <a href=\"https://github.com/nodejs/node/pull/27659\">https://github.com/nodejs/node/pull/27659</a> et <a href=\"https://github.com/w3ctag/design-reviews/issues/377\">https://github.com/w3ctag/design-reviews/issues/377</a></p>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</li>\n\t</ul>\n</div>\n",
	"banner_image": "./*.png"
}