{
	"title": "Bulletin de la Web Academy no 43",
	"summary": "Sortie de Firefox 75 et sortie de Safari 13.1",
	"date_published": "2020-04-08",
	"authors": [
		{
			"name": "PolariTOON"
		}
	],
	"tags": [],
	"external_url": "https://polaritoon.github.io/web-academy/news/43-2020-04-08/",
	"id": "web-academy-news-no-43",
	"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/43-2020-04-08/\"><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 75</em> et les nouveautés sont au rendez-vous :</p>\n\t\t\t<ul>\n\t\t\t\t<li>\n\t\t\t\t\t<p>Du côté des outils de développement :</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>À l'instar de celle de <em>Chrome</em>, la console de <em>Firefox</em> propose désormais une évaluation instantanée des expressions qui y sont saisies, du moment qu'elle ne provoquent pas d'effet de bord ; les objets <em>ECMAScript</em>, les élements <em>HTML</em> ou encore les erreurs disposent chacun de leur propre prévisualisation</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'outil de mesure d'aires et de distances propose désormais le redimensionnement de la zone mesurée ; c'est bien plus pratique que de s'y reprendre à plusieurs fois ; malheureusement il est pour l'instant pas possible de déplacer cette zone sans la redimensionner</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 barre de recherche de l'inspecteur <em>HTML</em> accepte désormais des requêtes de type <em>XPath</em>, pratique si on a besoin de rechercher un élément en particulier au milieu d'une page</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é de <em>HTML</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 chargement paresseux des images, tout juste standardisé, est à présent disponible ; en spécifiant l'attribut <code>loading=&quot;lazy&quot;</code> sur un élément <code>&lt;img/&gt;</code>, le chargement de l'image n'est opéré que lorsque l'image rentre dans le <em>scrollport</em> (la zone visible d'un élément défilant)</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 nouvelles annotations <em>ARIA</em> <code>aria-description</code>, <code>role=&quot;comment&quot;</code>, <code>role=&quot;mark&quot;</code>, <code>role=&quot;suggestion&quot;</code> sont disponibles sous <em>Windows</em> et <em>Linux</em> ; il n'y a plus qu'à attendre leur support par les lecteurs d'écrans</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é 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>Les champs de classes publics et statiques sont maintenant pris en charge ; la syntaxe est la même que pour les champs de classes publics et non statiques, à part que la déclaration doit être précédée du mot-clé <code>static</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>Le constructeur <code>Intl.Locale</code> a été ajouté et permet d'instancier une locale <em>Unicode</em> pré-configuré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>Les éléments <code>&lt;form&gt;&lt;/form&gt;</code> disposent désormais d'une méthode <code>requestSubmit()</code> qui, contrairement à la méthode <code>submit()</code>, permet d'émuler le clic sur un bouton de soumission de formulaire tout en vérifiant sa validité ; par ailleurs l'évènement <code>&quot;submit&quot;</code> déclenché est désormais de type <code>SubmitEvent</code> avec une propriété <code>submitter</code> dont la valeur correspond à l'élément en question</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'API <em>Web Animations</em> se dote d'une myriade de nouvelles fonctionnalités : valeur initiale et valeur finale implicites, les nouvelles classes <code>AnimationTimeline</code> et <code>DocumentTimeline</code>, la nouvelle propriété <code>timeline</code> des instances de <code>Animation</code> et <code>Document</code>, la nouvelles méthode <code>getAnimations()</code> des classes <code>Animation</code> et <code>Document</code> entre autres</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>Les fonctions <code>clamp()</code>, <code>max()</code> et <code>min()</code> ont été ajoutées ; utilisable partout où la fonction <code>calc()</code> pouvait déjà être utilisée, ces nouvelles fonctions permettent de placer des points de rupture sans avoir recours à des <em>media queries</em> portant sur les dimensions, aux propriétés <code>max-height</code>, <code>max-width</code>, <code>min-height</code> et <code>min-width</code> ou encore la technique des <em>CSS Locks</em></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 propriété <code>text-decoration-skip-ink</code> accepte désormais la valeur <code>all</code></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 les pages <a href=\"https://hacks.mozilla.org/2020/04/firefox-75-ambitions-for-april/,\">https://hacks.mozilla.org/2020/04/firefox-75-ambitions-for-april/,</a> <a href=\"https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/75\">https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/75</a> et <a href=\"https://www.fxsitecompat.dev/en-CA/versions/75/\">https://www.fxsitecompat.dev/en-CA/versions/75/</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><em>Safari 13.1</em> est en cours de déploiement et apporte aussi ses nouveautés ; comme j'ai oublié de vous faire le point sur <em>Safari 13</em> en décembre dernier, je vous fait un petit récapitulatif des deux versions :</p>\n\t\t\t<ul>\n\t\t\t\t<li>\n\t\t\t\t\t<p>Du côté des outils de développement :</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>Un nouvel outil permet de visualiser la chronologie des animations <em>CSS</em></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>Le nouvel onglet &quot;Sources&quot; combine désormais les anciens onglets &quot;Resources&quot; et &quot;Debugger&quot;</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>Le nouvel onglet &quot;Layers&quot; permet de visualiser en 3 dimensions le rendu de la page ; ça me rappelle beaucoup la vue 3D de <em>Firefox</em>, retirée dans la versions 47</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>Le sélecteur de couleur a été refait pour supporter d'autres espaces de couleurs plus étendus que <em>sRGB</em> ; il permet entre autres de comparer les couleurs <em>sRGB</em> aux couleurs <em>Display-P3</em> (eh oui, en utilisant les bonnes vieilles couleurs <em>sRGB</em>, vous n'avez accès qu'à une partie des couleurs que peut afficher votre ordinateur !)</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é de <em>HTML</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>L'attribut <code>enterkeyhint=&quot;&quot;</code> peut être utilisé dans <em>iOS</em> sur les champs de formulaires pour spécifier l'apparence du bouton &quot;Entrée&quot; du clavier virtuel</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é 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 proposition en stage 3 <code>String.prototype.replaceAll()</code> est supportée et permet de remplacer toutes les occurrences d'une chaîne de caractère au sein d'une autre</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'opérateur de fusion nulle <code>??</code> a été ajouté</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'API <em>ResizeObserver</em>, alternative moderne à l'évènement <code>&quot;resize&quot;</code> a été ajouté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>L'API <em>Async Clipboard</em> et notamment la propriété <code>navigator.clipboard</code> a été ajouté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>L'API <em>Web Animations</em> a été implémenté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>L'API <em>Visual Viewport</em> a été ajouté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>Les évènements de pointeur sont désormais supportés</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 évènement de souris ont aussi été ajoutés sur <em>iPadOS</em></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>Sur <em>iOS</em> et <em>iPadOS</em>, la méthode historique <code>document.execCommand()</code> accepte désormais la valeur <code>&quot;paste&quot;</code> qui permet comme sont nom l'indique de coller le contenu du presse-papier</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 mode sombre a été ajouté et est détectable avec les <em>media queries</em> appropriées</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>Le module <em>CSS Shadow Parts</em> est désormais supporté et permet de réaliser des composants <em>CSS</em></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'unité de longueur <code>q</code> (le quart de millimètre, très utilisé au Japon) a été ajouté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 propriété <code>font-family</code> accepte les nouvelles valeurs système <code>ui-monospace</code>, <code>ui-rounded</code>, <code>ui-serif</code> et <code>ui-sans-serif</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 propriété <code>line-break</code> accepte la nouvelle valeur <code>anywhere</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 nouvelle <em>media query</em> <code>dynamic-range</code> a été ajoutée et permet de tester le support de <em>HDR</em> sur les différents appareils</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é de <em>WebDriver</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>L'API est désormais supportée sous <em>iOS</em></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 les pages <a href=\"https://webkit.org/blog/9674/new-webkit-features-in-safari-13/\">https://webkit.org/blog/9674/new-webkit-features-in-safari-13/</a> et <a href=\"https://webkit.org/blog/10247/new-webkit-features-in-safari-13-1/\">https://webkit.org/blog/10247/new-webkit-features-in-safari-13-1/</a> et je vous rappelle que si vous n'avez pas d'appareil <em>Apple</em> et que vous êtes sous <em>Linux</em> (plus exactement sous une distribution intégrant <em>Gnome</em>, comme <em>Ubuntu</em>) vous pouvez quand même tester ces fonctionnalités en installant <em>Gnome Web</em> (encore appelé <em>Epiphany</em>) qui est basé sur <em>Webkit</em>, comme <em>Safari</em></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"
}