@@ -0,0 +1,236 @@ | |||
<!doctype html><!-- This is a valid HTML5 document. --> | |||
<!-- Screen readers, SEO, extensions and so on. --> | |||
<html lang="fr"> | |||
<!-- Has to be within the first 1024 bytes, hence before the `title` element | |||
See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset --> | |||
<meta charset="utf-8"> | |||
<!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 --> | |||
<!-- The viewport meta is quite crowded and we are responsible for that. | |||
See: https://codepen.io/tigt/post/meta-viewport-for-2015 --> | |||
<meta name="viewport" content="width=device-width,initial-scale=1"> | |||
<!-- Required to make a valid HTML5 document. --> | |||
<title>Foundations (archive) — David Larlet</title> | |||
<meta name="description" content="Publication mise en cache pour en conserver une trace."> | |||
<!-- That good ol' feed, subscribe :). --> | |||
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/"> | |||
<!-- Generated from https://realfavicongenerator.net/ such a mess. --> | |||
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png"> | |||
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png"> | |||
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png"> | |||
<link rel="manifest" href="/static/david/icons2/site.webmanifest"> | |||
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c"> | |||
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico"> | |||
<meta name="msapplication-TileColor" content="#f7f7f7"> | |||
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml"> | |||
<meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)"> | |||
<meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)"> | |||
<!-- Documented, feel free to shoot an email. --> | |||
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css"> | |||
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. --> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<script> | |||
function toggleTheme(themeName) { | |||
document.documentElement.classList.toggle( | |||
'forced-dark', | |||
themeName === 'dark' | |||
) | |||
document.documentElement.classList.toggle( | |||
'forced-light', | |||
themeName === 'light' | |||
) | |||
} | |||
const selectedTheme = localStorage.getItem('theme') | |||
if (selectedTheme !== 'undefined') { | |||
toggleTheme(selectedTheme) | |||
} | |||
</script> | |||
<meta name="robots" content="noindex, nofollow"> | |||
<meta content="origin-when-cross-origin" name="referrer"> | |||
<!-- Canonical URL for SEO purposes --> | |||
<link rel="canonical" href="https://adactio.com/journal/18337"> | |||
<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all"> | |||
<article> | |||
<header> | |||
<h1>Foundations</h1> | |||
</header> | |||
<nav> | |||
<p class="center"> | |||
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home"> | |||
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use> | |||
</svg> Accueil</a> • | |||
<a href="https://adactio.com/journal/18337" title="Lien vers le contenu original">Source originale</a> | |||
</p> | |||
</nav> | |||
<hr> | |||
<p>There was quite a kerfuffle recently about a feature being removed from Google Chrome. To be honest, the details don’t really matter for the point I want to make, but for the record, this was about <a href="https://www.chromestatus.com/feature/5148698084376576">removing <code>alert</code> and <code>confirm</code> dialogs from cross-origin iframes</a> (and eventually everywhere else too).</p> | |||
<p>It’s always tricky to <a href="https://whatwg.org/faq#removing-bad-ideas">remove a long-established feature from web browsers</a>, but in this case there were significant security and performance reasons. The problem was how the change was communicated. It kind of wasn’t. So the first that people found out about it about was when things suddenly stopped working (like CodePen embeds).</p> | |||
<p>The Chrome team responded quickly and the change has now been pushed back to next year. Hopefully there will be significant communication before that to let site owners know about the upcoming breakage.</p> | |||
<p>So all’s well that ends well and we’ve all learned a valuable lesson about the importance of communication.</p> | |||
<p>Or have we?</p> | |||
<p>While this was going on, <a href="https://twitter.com/estark37/status/1422694856544059396">Emily Stark tweeted a more general point about breakage on the web</a>:</p> | |||
<blockquote> | |||
<p>Breaking changes happen often on the web, and as a developer it’s good practice to test against early release channels of major browsers to learn about any compatibility issues upfront.</p> | |||
</blockquote> | |||
<p>Yikes! To me, this appears wrong on almost every level.</p> | |||
<p>First of all, breaking changes <em>don’t</em> happen often on the web. They are—and should be—rare. If that were to change, the web would suffer massively in terms of <a href="https://www.chromium.org/blink/platform-predictability">predictability</a>.</p> | |||
<p>Secondly, the onus is <em>not</em> on web developers to keep track of older features in danger of being deprecated. That’s on the browser makers. I sincerely hope we’re not expected to consult a site called <code>canistilluse.com</code>.</p> | |||
<p><a href="https://twitter.com/estark37/status/1422694856544059396/retweets/with_comments">I wasn’t the only one surprised by this message</a>.</p> | |||
<p><a href="https://twitter.com/simonw/status/1423123474629857281">Simon says</a>:</p> | |||
<blockquote> | |||
<p>No, no, no, no! One of the best things about developing for the web is that, as a rule, browsers don’t break old code. Expecting every website and application to have an active team of developers maintaining it at all times is not how the web should work!</p> | |||
</blockquote> | |||
<p><a href="https://twitter.com/eaf4/status/1422934984881487876">Edward Faulkner</a>:</p> | |||
<blockquote> | |||
<p>Most organizations and individuals do not have the resources to properly test and debug their website against Chrome canary every six weeks. Anybody who published a spec-compliant website should be able to trust that it will keep working.</p> | |||
</blockquote> | |||
<p><a href="https://twitter.com/youyuxi/status/1423127797174784003">Evan You</a>:</p> | |||
<blockquote> | |||
<p>This statement seriously undermines my trust in Google as steward for the web platform. When did we go from “never break the web” to “yes we will break the web often and you should be prepared for it”?!</p> | |||
</blockquote> | |||
<p>It’s worth pointing out that the original tweet was <em>not</em> an official Google announcement. As <a href="https://twitter.com/estark37">Emily says right there on her Twitter account</a>:</p> | |||
<blockquote> | |||
<p>Opinions are my own.</p> | |||
</blockquote> | |||
<p>Still, I was shaken to see such a cavalier attitude towards breaking changes on the World Wide Web. I know that removing dangerous old features is inevitable, but it should also be exceptional. It should not be taken lightly, and it should certainly not be expected to be an everyday part of web development.</p> | |||
<p>It’s almost miraculous that <a href="http://info.cern.ch/hypertext/WWW/TheProject.html">I can visit the first web page ever published</a> in a modern web browser and it still works. Let’s not become desensitised to how magical that is. I know it’s hard work to push the web forward, constantly add new features, while also maintaining backward compatibility, but it sure is worth it! We have collectively banked three decades worth of trust in the web as a stable place to build a home. Let’s not blow it.</p> | |||
<p>If you published a website ten or twenty years ago, and you didn’t use any proprietary technology but only stuck to web standards, you should rightly expect that site to still work today …and still work ten and twenty years from now.</p> | |||
<p>There was something else that bothered me about <a href="https://twitter.com/estark37/status/1422694856544059396">that tweet</a> and it’s not something that I saw mentioned in the responses. There was an unspoken assumption that the web is built by professional web developers. That gave me a cold chill.</p> | |||
<p>The web has made great strides in providing more and more powerful features that can be wielded in learnable, declarative, forgiving languages like HTML and CSS. With a bit of learning, anyone can make web pages complete with form validation, lazily-loaded responsive images, and beautiful grids that kick in on larger screens. The barrier to entry for all of those features has <em>lowered</em> over time—they used to require JavaScript or complex hacks. And with free(!) services like <a href="https://www.netlify.com/">Netlify</a>, you could literally drag a folder of web pages from your computer into a browser window and boom!, you’ve published to the entire world.</p> | |||
<p>But the common narrative in the web development community—and amongst browser makers too apparently—is that web development has become more complex; so complex, in fact, that only an elite priesthood are capable of making websites today.</p> | |||
<p>Absolute bollocks.</p> | |||
<p>You can <em>choose</em> to make it really complicated. Convince yourself that “the modern web” is inherently complex and convoluted. But then look at what makes it complex and convoluted: toolchains, build tools, pipelines, frameworks, libraries, and abstractions. Please try to remember that none of those things are required to make a website.</p> | |||
<p>This is for everyone. Not just for everyone to consume, but for everyone to make.</p> | |||
</article> | |||
<hr> | |||
<footer> | |||
<p> | |||
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home"> | |||
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use> | |||
</svg> Accueil</a> • | |||
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2"> | |||
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-rss2"></use> | |||
</svg> Suivre</a> • | |||
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie"> | |||
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-user-tie"></use> | |||
</svg> Pro</a> • | |||
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail"> | |||
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-mail"></use> | |||
</svg> Email</a> • | |||
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2"> | |||
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-hammer2"></use> | |||
</svg> Légal</abbr> | |||
</p> | |||
<template id="theme-selector"> | |||
<form> | |||
<fieldset> | |||
<legend><svg class="icon icon-brightness-contrast"> | |||
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-brightness-contrast"></use> | |||
</svg> Thème</legend> | |||
<label> | |||
<input type="radio" value="auto" name="chosen-color-scheme" checked> Auto | |||
</label> | |||
<label> | |||
<input type="radio" value="dark" name="chosen-color-scheme"> Foncé | |||
</label> | |||
<label> | |||
<input type="radio" value="light" name="chosen-color-scheme"> Clair | |||
</label> | |||
</fieldset> | |||
</form> | |||
</template> | |||
</footer> | |||
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script> | |||
<script> | |||
function loadThemeForm(templateName) { | |||
const themeSelectorTemplate = document.querySelector(templateName) | |||
const form = themeSelectorTemplate.content.firstElementChild | |||
themeSelectorTemplate.replaceWith(form) | |||
form.addEventListener('change', (e) => { | |||
const chosenColorScheme = e.target.value | |||
localStorage.setItem('theme', chosenColorScheme) | |||
toggleTheme(chosenColorScheme) | |||
}) | |||
const selectedTheme = localStorage.getItem('theme') | |||
if (selectedTheme && selectedTheme !== 'undefined') { | |||
form.querySelector(`[value="${selectedTheme}"]`).checked = true | |||
} | |||
} | |||
const prefersColorSchemeDark = '(prefers-color-scheme: dark)' | |||
window.addEventListener('load', () => { | |||
let hasDarkRules = false | |||
for (const styleSheet of Array.from(document.styleSheets)) { | |||
let mediaRules = [] | |||
for (const cssRule of styleSheet.cssRules) { | |||
if (cssRule.type !== CSSRule.MEDIA_RULE) { | |||
continue | |||
} | |||
// WARNING: Safari does not have/supports `conditionText`. | |||
if (cssRule.conditionText) { | |||
if (cssRule.conditionText !== prefersColorSchemeDark) { | |||
continue | |||
} | |||
} else { | |||
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) { | |||
continue | |||
} | |||
} | |||
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules)) | |||
} | |||
// WARNING: do not try to insert a Rule to a styleSheet you are | |||
// currently iterating on, otherwise the browser will be stuck | |||
// in a infinite loop… | |||
for (const mediaRule of mediaRules) { | |||
styleSheet.insertRule(mediaRule.cssText) | |||
hasDarkRules = true | |||
} | |||
} | |||
if (hasDarkRules) { | |||
loadThemeForm('#theme-selector') | |||
} | |||
}) | |||
</script> | |||
</body> | |||
</html> |
@@ -0,0 +1,69 @@ | |||
title: Foundations | |||
url: https://adactio.com/journal/18337 | |||
hash_url: b2c393ba384ba80f2361dc7652d50de3 | |||
<p>There was quite a kerfuffle recently about a feature being removed from Google Chrome. To be honest, the details don’t really matter for the point I want to make, but for the record, this was about <a href="https://www.chromestatus.com/feature/5148698084376576">removing <code>alert</code> and <code>confirm</code> dialogs from cross-origin iframes</a> (and eventually everywhere else too).</p> | |||
<p>It’s always tricky to <a href="https://whatwg.org/faq#removing-bad-ideas">remove a long-established feature from web browsers</a>, but in this case there were significant security and performance reasons. The problem was how the change was communicated. It kind of wasn’t. So the first that people found out about it about was when things suddenly stopped working (like CodePen embeds).</p> | |||
<p>The Chrome team responded quickly and the change has now been pushed back to next year. Hopefully there will be significant communication before that to let site owners know about the upcoming breakage.</p> | |||
<p>So all’s well that ends well and we’ve all learned a valuable lesson about the importance of communication.</p> | |||
<p>Or have we?</p> | |||
<p>While this was going on, <a href="https://twitter.com/estark37/status/1422694856544059396">Emily Stark tweeted a more general point about breakage on the web</a>:</p> | |||
<blockquote> | |||
<p>Breaking changes happen often on the web, and as a developer it’s good practice to test against early release channels of major browsers to learn about any compatibility issues upfront.</p> | |||
</blockquote> | |||
<p>Yikes! To me, this appears wrong on almost every level.</p> | |||
<p>First of all, breaking changes <em>don’t</em> happen often on the web. They are—and should be—rare. If that were to change, the web would suffer massively in terms of <a href="https://www.chromium.org/blink/platform-predictability">predictability</a>.</p> | |||
<p>Secondly, the onus is <em>not</em> on web developers to keep track of older features in danger of being deprecated. That’s on the browser makers. I sincerely hope we’re not expected to consult a site called <code>canistilluse.com</code>.</p> | |||
<p><a href="https://twitter.com/estark37/status/1422694856544059396/retweets/with_comments">I wasn’t the only one surprised by this message</a>.</p> | |||
<p><a href="https://twitter.com/simonw/status/1423123474629857281">Simon says</a>:</p> | |||
<blockquote> | |||
<p>No, no, no, no! One of the best things about developing for the web is that, as a rule, browsers don’t break old code. Expecting every website and application to have an active team of developers maintaining it at all times is not how the web should work!</p> | |||
</blockquote> | |||
<p><a href="https://twitter.com/eaf4/status/1422934984881487876">Edward Faulkner</a>:</p> | |||
<blockquote> | |||
<p>Most organizations and individuals do not have the resources to properly test and debug their website against Chrome canary every six weeks. Anybody who published a spec-compliant website should be able to trust that it will keep working.</p> | |||
</blockquote> | |||
<p><a href="https://twitter.com/youyuxi/status/1423127797174784003">Evan You</a>:</p> | |||
<blockquote> | |||
<p>This statement seriously undermines my trust in Google as steward for the web platform. When did we go from “never break the web” to “yes we will break the web often and you should be prepared for it”?!</p> | |||
</blockquote> | |||
<p>It’s worth pointing out that the original tweet was <em>not</em> an official Google announcement. As <a href="https://twitter.com/estark37">Emily says right there on her Twitter account</a>:</p> | |||
<blockquote> | |||
<p>Opinions are my own.</p> | |||
</blockquote> | |||
<p>Still, I was shaken to see such a cavalier attitude towards breaking changes on the World Wide Web. I know that removing dangerous old features is inevitable, but it should also be exceptional. It should not be taken lightly, and it should certainly not be expected to be an everyday part of web development.</p> | |||
<p>It’s almost miraculous that <a href="http://info.cern.ch/hypertext/WWW/TheProject.html">I can visit the first web page ever published</a> in a modern web browser and it still works. Let’s not become desensitised to how magical that is. I know it’s hard work to push the web forward, constantly add new features, while also maintaining backward compatibility, but it sure is worth it! We have collectively banked three decades worth of trust in the web as a stable place to build a home. Let’s not blow it.</p> | |||
<p>If you published a website ten or twenty years ago, and you didn’t use any proprietary technology but only stuck to web standards, you should rightly expect that site to still work today …and still work ten and twenty years from now.</p> | |||
<p>There was something else that bothered me about <a href="https://twitter.com/estark37/status/1422694856544059396">that tweet</a> and it’s not something that I saw mentioned in the responses. There was an unspoken assumption that the web is built by professional web developers. That gave me a cold chill.</p> | |||
<p>The web has made great strides in providing more and more powerful features that can be wielded in learnable, declarative, forgiving languages like HTML and CSS. With a bit of learning, anyone can make web pages complete with form validation, lazily-loaded responsive images, and beautiful grids that kick in on larger screens. The barrier to entry for all of those features has <em>lowered</em> over time—they used to require JavaScript or complex hacks. And with free(!) services like <a href="https://www.netlify.com/">Netlify</a>, you could literally drag a folder of web pages from your computer into a browser window and boom!, you’ve published to the entire world.</p> | |||
<p>But the common narrative in the web development community—and amongst browser makers too apparently—is that web development has become more complex; so complex, in fact, that only an elite priesthood are capable of making websites today.</p> | |||
<p>Absolute bollocks.</p> | |||
<p>You can <em>choose</em> to make it really complicated. Convince yourself that “the modern web” is inherently complex and convoluted. But then look at what makes it complex and convoluted: toolchains, build tools, pipelines, frameworks, libraries, and abstractions. Please try to remember that none of those things are required to make a website.</p> | |||
<p>This is for everyone. Not just for everyone to consume, but for everyone to make.</p> |
@@ -0,0 +1,176 @@ | |||
<!doctype html><!-- This is a valid HTML5 document. --> | |||
<!-- Screen readers, SEO, extensions and so on. --> | |||
<html lang="fr"> | |||
<!-- Has to be within the first 1024 bytes, hence before the `title` element | |||
See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset --> | |||
<meta charset="utf-8"> | |||
<!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 --> | |||
<!-- The viewport meta is quite crowded and we are responsible for that. | |||
See: https://codepen.io/tigt/post/meta-viewport-for-2015 --> | |||
<meta name="viewport" content="width=device-width,initial-scale=1"> | |||
<!-- Required to make a valid HTML5 document. --> | |||
<title>Chromium Blog: Increasing HTTPS adoption (archive) — David Larlet</title> | |||
<meta name="description" content="Publication mise en cache pour en conserver une trace."> | |||
<!-- That good ol' feed, subscribe :). --> | |||
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/"> | |||
<!-- Generated from https://realfavicongenerator.net/ such a mess. --> | |||
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png"> | |||
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png"> | |||
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png"> | |||
<link rel="manifest" href="/static/david/icons2/site.webmanifest"> | |||
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c"> | |||
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico"> | |||
<meta name="msapplication-TileColor" content="#f7f7f7"> | |||
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml"> | |||
<meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)"> | |||
<meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)"> | |||
<!-- Documented, feel free to shoot an email. --> | |||
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css"> | |||
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. --> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<script> | |||
function toggleTheme(themeName) { | |||
document.documentElement.classList.toggle( | |||
'forced-dark', | |||
themeName === 'dark' | |||
) | |||
document.documentElement.classList.toggle( | |||
'forced-light', | |||
themeName === 'light' | |||
) | |||
} | |||
const selectedTheme = localStorage.getItem('theme') | |||
if (selectedTheme !== 'undefined') { | |||
toggleTheme(selectedTheme) | |||
} | |||
</script> | |||
<meta name="robots" content="noindex, nofollow"> | |||
<meta content="origin-when-cross-origin" name="referrer"> | |||
<!-- Canonical URL for SEO purposes --> | |||
<link rel="canonical" href="https://adactio.com/links/18342"> | |||
<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all"> | |||
<article> | |||
<header> | |||
<h1>Chromium Blog: Increasing HTTPS adoption</h1> | |||
</header> | |||
<nav> | |||
<p class="center"> | |||
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home"> | |||
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use> | |||
</svg> Accueil</a> • | |||
<a href="https://adactio.com/links/18342" title="Lien vers le contenu original">Source originale</a> | |||
</p> | |||
</nav> | |||
<hr> | |||
<p>At some point, you won’t be able to visit <a href="http://info.cern.ch/hypertext/WWW/TheProject.html">the first web page ever published</a> without first clicking through a full-page warning injected by your web browser:</p> | |||
<blockquote> | |||
<p>Chrome will offer HTTPS-First Mode, which will attempt to upgrade all page loads to HTTPS and display a full-page warning before loading sites that don’t support it. Based on ecosystem feedback, we’ll explore making HTTPS-First mode the default for all users in the future.</p> | |||
</blockquote> | |||
</article> | |||
<hr> | |||
<footer> | |||
<p> | |||
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home"> | |||
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use> | |||
</svg> Accueil</a> • | |||
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2"> | |||
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-rss2"></use> | |||
</svg> Suivre</a> • | |||
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie"> | |||
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-user-tie"></use> | |||
</svg> Pro</a> • | |||
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail"> | |||
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-mail"></use> | |||
</svg> Email</a> • | |||
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2"> | |||
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-hammer2"></use> | |||
</svg> Légal</abbr> | |||
</p> | |||
<template id="theme-selector"> | |||
<form> | |||
<fieldset> | |||
<legend><svg class="icon icon-brightness-contrast"> | |||
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-brightness-contrast"></use> | |||
</svg> Thème</legend> | |||
<label> | |||
<input type="radio" value="auto" name="chosen-color-scheme" checked> Auto | |||
</label> | |||
<label> | |||
<input type="radio" value="dark" name="chosen-color-scheme"> Foncé | |||
</label> | |||
<label> | |||
<input type="radio" value="light" name="chosen-color-scheme"> Clair | |||
</label> | |||
</fieldset> | |||
</form> | |||
</template> | |||
</footer> | |||
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script> | |||
<script> | |||
function loadThemeForm(templateName) { | |||
const themeSelectorTemplate = document.querySelector(templateName) | |||
const form = themeSelectorTemplate.content.firstElementChild | |||
themeSelectorTemplate.replaceWith(form) | |||
form.addEventListener('change', (e) => { | |||
const chosenColorScheme = e.target.value | |||
localStorage.setItem('theme', chosenColorScheme) | |||
toggleTheme(chosenColorScheme) | |||
}) | |||
const selectedTheme = localStorage.getItem('theme') | |||
if (selectedTheme && selectedTheme !== 'undefined') { | |||
form.querySelector(`[value="${selectedTheme}"]`).checked = true | |||
} | |||
} | |||
const prefersColorSchemeDark = '(prefers-color-scheme: dark)' | |||
window.addEventListener('load', () => { | |||
let hasDarkRules = false | |||
for (const styleSheet of Array.from(document.styleSheets)) { | |||
let mediaRules = [] | |||
for (const cssRule of styleSheet.cssRules) { | |||
if (cssRule.type !== CSSRule.MEDIA_RULE) { | |||
continue | |||
} | |||
// WARNING: Safari does not have/supports `conditionText`. | |||
if (cssRule.conditionText) { | |||
if (cssRule.conditionText !== prefersColorSchemeDark) { | |||
continue | |||
} | |||
} else { | |||
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) { | |||
continue | |||
} | |||
} | |||
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules)) | |||
} | |||
// WARNING: do not try to insert a Rule to a styleSheet you are | |||
// currently iterating on, otherwise the browser will be stuck | |||
// in a infinite loop… | |||
for (const mediaRule of mediaRules) { | |||
styleSheet.insertRule(mediaRule.cssText) | |||
hasDarkRules = true | |||
} | |||
} | |||
if (hasDarkRules) { | |||
loadThemeForm('#theme-selector') | |||
} | |||
}) | |||
</script> | |||
</body> | |||
</html> |
@@ -0,0 +1,9 @@ | |||
title: Chromium Blog: Increasing HTTPS adoption | |||
url: https://adactio.com/links/18342 | |||
hash_url: b4ec4748a73b23b195366a74a17444f9 | |||
<p>At some point, you won’t be able to visit <a href="http://info.cern.ch/hypertext/WWW/TheProject.html">the first web page ever published</a> without first clicking through a full-page warning injected by your web browser:</p> | |||
<blockquote> | |||
<p>Chrome will offer HTTPS-First Mode, which will attempt to upgrade all page loads to HTTPS and display a full-page warning before loading sites that don’t support it. Based on ecosystem feedback, we’ll explore making HTTPS-First mode the default for all users in the future.</p> | |||
</blockquote> |
@@ -0,0 +1,234 @@ | |||
<!doctype html><!-- This is a valid HTML5 document. --> | |||
<!-- Screen readers, SEO, extensions and so on. --> | |||
<html lang="fr"> | |||
<!-- Has to be within the first 1024 bytes, hence before the `title` element | |||
See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset --> | |||
<meta charset="utf-8"> | |||
<!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 --> | |||
<!-- The viewport meta is quite crowded and we are responsible for that. | |||
See: https://codepen.io/tigt/post/meta-viewport-for-2015 --> | |||
<meta name="viewport" content="width=device-width,initial-scale=1"> | |||
<!-- Required to make a valid HTML5 document. --> | |||
<title>Subject: Re: Qualifiers on Hypertext links... (archive) — David Larlet</title> | |||
<meta name="description" content="Publication mise en cache pour en conserver une trace."> | |||
<!-- That good ol' feed, subscribe :). --> | |||
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/"> | |||
<!-- Generated from https://realfavicongenerator.net/ such a mess. --> | |||
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png"> | |||
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png"> | |||
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png"> | |||
<link rel="manifest" href="/static/david/icons2/site.webmanifest"> | |||
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c"> | |||
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico"> | |||
<meta name="msapplication-TileColor" content="#f7f7f7"> | |||
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml"> | |||
<meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)"> | |||
<meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)"> | |||
<!-- Documented, feel free to shoot an email. --> | |||
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css"> | |||
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. --> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<script> | |||
function toggleTheme(themeName) { | |||
document.documentElement.classList.toggle( | |||
'forced-dark', | |||
themeName === 'dark' | |||
) | |||
document.documentElement.classList.toggle( | |||
'forced-light', | |||
themeName === 'light' | |||
) | |||
} | |||
const selectedTheme = localStorage.getItem('theme') | |||
if (selectedTheme !== 'undefined') { | |||
toggleTheme(selectedTheme) | |||
} | |||
</script> | |||
<meta name="robots" content="noindex, nofollow"> | |||
<meta content="origin-when-cross-origin" name="referrer"> | |||
<!-- Canonical URL for SEO purposes --> | |||
<link rel="canonical" href="https://www.w3.org/People/Berners-Lee/1991/08/art-6484.txt"> | |||
<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all"> | |||
<article> | |||
<header> | |||
<h1>Subject: Re: Qualifiers on Hypertext links...</h1> | |||
</header> | |||
<nav> | |||
<p class="center"> | |||
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home"> | |||
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use> | |||
</svg> Accueil</a> • | |||
<a href="https://www.w3.org/People/Berners-Lee/1991/08/art-6484.txt" title="Lien vers le contenu original">Source originale</a> | |||
</p> | |||
</nav> | |||
<hr> | |||
<pre><code>From: timbl@info .cern.ch (Tim Berners-Lee) | |||
Newsgroups: alt.hypertext | |||
Subject: Re: Qualifiers on Hypertext links... | |||
Message-ID: <6484@cernvax.cern.ch> | |||
Date: 6 Aug 91 14:56:20 GMT | |||
References: <1991Aug2.115241@ardor.enet.dec.com> | |||
Sender: news@cernvax.cern.ch | |||
Lines: 52 | |||
In article <1991Aug2.115241@ardor.enet.dec.com> kannan@ardor.enet.dec.com (Nari | |||
Kannan) writes: | |||
> | |||
> Is anyone reading this newsgroup aware of research or development efforts | |||
in | |||
> the | |||
> following areas: | |||
> | |||
> 1. Hypertext links enabling retrieval from multiple heterogeneous sources | |||
of | |||
> information? | |||
The WorldWideWeb (WWW) project aims to allow links to be made to any | |||
information anywhere. The address format includes an access method | |||
(=namespace), and for most name spaces a hostname and some sort of path. | |||
We have a prototype hypertext editor for the NeXT, and a browser for line mode | |||
terminals which runs on almost anything. These can access files either locally, | |||
NFS mounted, or via anonymous FTP. They can also go out using a simple protocol | |||
(HTTP) to a server which interprets some other data and returns equivalent | |||
hypertext files. For example, we have a server running on our mainframe | |||
(http://cernvm.cern.ch/FIND in WWW syntax) which makes all the CERN computer | |||
center documentation available. The HTTP protocol allows for a keyword search | |||
on an index, which generates a list of matching documents as annother virtual | |||
hypertext document. | |||
If you're interested in using the code, mail me. It's very prototype, but | |||
available by anonymous FTP from info.cern.ch. It's copyright CERN but free | |||
distribution and use is not normally a problem. | |||
The NeXTstep editor can also browse news. If you are using it to read this, | |||
then click on this: <http://info.cern.ch/hypertext/WWW/TheProject.html> to find | |||
out more about the project. We haven't put the news access into the line mode | |||
browser yet. | |||
We also have code for a hypertext server. You can use this to make files | |||
available (like anonymous FTP but faster because it only uses one connection). | |||
You can also hack it to take a hypertext address and generate a virtual | |||
hypertext document from any other data you have - database, live data etc. It's | |||
just a question of generating plain text or SGML (ugh! but standard) mark-up on | |||
the fly. The browsers then parse it on the fly. | |||
The WWW project was started to allow high energy physicists to share data, | |||
news, and documentation. We are very interested in spreading the web to other | |||
areas, and having gateway servers for other data. Collaborators welcome! I'll | |||
post a short summary as a separate article. | |||
Tim Berners-Lee timbl@info.cern.ch | |||
World Wide Web project Tel: +41(22)767 3755 | |||
CERN Fax: +41(22)767 7155 | |||
1211 Geneva 23, Switzerland (usual disclaimer) | |||
</code></pre> | |||
</article> | |||
<hr> | |||
<footer> | |||
<p> | |||
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home"> | |||
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use> | |||
</svg> Accueil</a> • | |||
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2"> | |||
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-rss2"></use> | |||
</svg> Suivre</a> • | |||
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie"> | |||
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-user-tie"></use> | |||
</svg> Pro</a> • | |||
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail"> | |||
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-mail"></use> | |||
</svg> Email</a> • | |||
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2"> | |||
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-hammer2"></use> | |||
</svg> Légal</abbr> | |||
</p> | |||
<template id="theme-selector"> | |||
<form> | |||
<fieldset> | |||
<legend><svg class="icon icon-brightness-contrast"> | |||
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-brightness-contrast"></use> | |||
</svg> Thème</legend> | |||
<label> | |||
<input type="radio" value="auto" name="chosen-color-scheme" checked> Auto | |||
</label> | |||
<label> | |||
<input type="radio" value="dark" name="chosen-color-scheme"> Foncé | |||
</label> | |||
<label> | |||
<input type="radio" value="light" name="chosen-color-scheme"> Clair | |||
</label> | |||
</fieldset> | |||
</form> | |||
</template> | |||
</footer> | |||
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script> | |||
<script> | |||
function loadThemeForm(templateName) { | |||
const themeSelectorTemplate = document.querySelector(templateName) | |||
const form = themeSelectorTemplate.content.firstElementChild | |||
themeSelectorTemplate.replaceWith(form) | |||
form.addEventListener('change', (e) => { | |||
const chosenColorScheme = e.target.value | |||
localStorage.setItem('theme', chosenColorScheme) | |||
toggleTheme(chosenColorScheme) | |||
}) | |||
const selectedTheme = localStorage.getItem('theme') | |||
if (selectedTheme && selectedTheme !== 'undefined') { | |||
form.querySelector(`[value="${selectedTheme}"]`).checked = true | |||
} | |||
} | |||
const prefersColorSchemeDark = '(prefers-color-scheme: dark)' | |||
window.addEventListener('load', () => { | |||
let hasDarkRules = false | |||
for (const styleSheet of Array.from(document.styleSheets)) { | |||
let mediaRules = [] | |||
for (const cssRule of styleSheet.cssRules) { | |||
if (cssRule.type !== CSSRule.MEDIA_RULE) { | |||
continue | |||
} | |||
// WARNING: Safari does not have/supports `conditionText`. | |||
if (cssRule.conditionText) { | |||
if (cssRule.conditionText !== prefersColorSchemeDark) { | |||
continue | |||
} | |||
} else { | |||
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) { | |||
continue | |||
} | |||
} | |||
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules)) | |||
} | |||
// WARNING: do not try to insert a Rule to a styleSheet you are | |||
// currently iterating on, otherwise the browser will be stuck | |||
// in a infinite loop… | |||
for (const mediaRule of mediaRules) { | |||
styleSheet.insertRule(mediaRule.cssText) | |||
hasDarkRules = true | |||
} | |||
} | |||
if (hasDarkRules) { | |||
loadThemeForm('#theme-selector') | |||
} | |||
}) | |||
</script> | |||
</body> | |||
</html> |
@@ -0,0 +1,69 @@ | |||
title: Subject: Re: Qualifiers on Hypertext links... | |||
url: https://www.w3.org/People/Berners-Lee/1991/08/art-6484.txt | |||
hash_url: e39a703ed0d93c479d9c7d3b2f8444a9 | |||
From: timbl@info .cern.ch (Tim Berners-Lee) | |||
Newsgroups: alt.hypertext | |||
Subject: Re: Qualifiers on Hypertext links... | |||
Message-ID: <6484@cernvax.cern.ch> | |||
Date: 6 Aug 91 14:56:20 GMT | |||
References: <1991Aug2.115241@ardor.enet.dec.com> | |||
Sender: news@cernvax.cern.ch | |||
Lines: 52 | |||
In article <1991Aug2.115241@ardor.enet.dec.com> kannan@ardor.enet.dec.com (Nari | |||
Kannan) writes: | |||
> | |||
> Is anyone reading this newsgroup aware of research or development efforts | |||
in | |||
> the | |||
> following areas: | |||
> | |||
> 1. Hypertext links enabling retrieval from multiple heterogeneous sources | |||
of | |||
> information? | |||
The WorldWideWeb (WWW) project aims to allow links to be made to any | |||
information anywhere. The address format includes an access method | |||
(=namespace), and for most name spaces a hostname and some sort of path. | |||
We have a prototype hypertext editor for the NeXT, and a browser for line mode | |||
terminals which runs on almost anything. These can access files either locally, | |||
NFS mounted, or via anonymous FTP. They can also go out using a simple protocol | |||
(HTTP) to a server which interprets some other data and returns equivalent | |||
hypertext files. For example, we have a server running on our mainframe | |||
(http://cernvm.cern.ch/FIND in WWW syntax) which makes all the CERN computer | |||
center documentation available. The HTTP protocol allows for a keyword search | |||
on an index, which generates a list of matching documents as annother virtual | |||
hypertext document. | |||
If you're interested in using the code, mail me. It's very prototype, but | |||
available by anonymous FTP from info.cern.ch. It's copyright CERN but free | |||
distribution and use is not normally a problem. | |||
The NeXTstep editor can also browse news. If you are using it to read this, | |||
then click on this: <http://info.cern.ch/hypertext/WWW/TheProject.html> to find | |||
out more about the project. We haven't put the news access into the line mode | |||
browser yet. | |||
We also have code for a hypertext server. You can use this to make files | |||
available (like anonymous FTP but faster because it only uses one connection). | |||
You can also hack it to take a hypertext address and generate a virtual | |||
hypertext document from any other data you have - database, live data etc. It's | |||
just a question of generating plain text or SGML (ugh! but standard) mark-up on | |||
the fly. The browsers then parse it on the fly. | |||
The WWW project was started to allow high energy physicists to share data, | |||
news, and documentation. We are very interested in spreading the web to other | |||
areas, and having gateway servers for other data. Collaborators welcome! I'll | |||
post a short summary as a separate article. | |||
Tim Berners-Lee timbl@info.cern.ch | |||
World Wide Web project Tel: +41(22)767 3755 | |||
CERN Fax: +41(22)767 7155 | |||
1211 Geneva 23, Switzerland (usual disclaimer) | |||
@@ -303,6 +303,8 @@ | |||
<li><a href="/david/cache/2021/28242a5ba209770efabfdbe5a6718719/" title="Accès à l’article dans le cache local : Des chasseurs massacrent sadiquement des sangliers à l’arme blanche">Des chasseurs massacrent sadiquement des sangliers à l’arme blanche</a> (<a href="https://reporterre.net/Des-chasseurs-massacrent-sadiquement-des-sangliers-a-l-arme-blanche" title="Accès à l’article original distant : Des chasseurs massacrent sadiquement des sangliers à l’arme blanche">original</a>)</li> | |||
<li><a href="/david/cache/2021/b4ec4748a73b23b195366a74a17444f9/" title="Accès à l’article dans le cache local : Chromium Blog: Increasing HTTPS adoption">Chromium Blog: Increasing HTTPS adoption</a> (<a href="https://adactio.com/links/18342" title="Accès à l’article original distant : Chromium Blog: Increasing HTTPS adoption">original</a>)</li> | |||
<li><a href="/david/cache/2021/a52987d5a3fe3c1e6f3a267a20d43d52/" title="Accès à l’article dans le cache local : You are what you do, not what you say or write">You are what you do, not what you say or write</a> (<a href="https://www.baldurbjarnason.com/2021/you-are-what-you-do/" title="Accès à l’article original distant : You are what you do, not what you say or write">original</a>)</li> | |||
<li><a href="/david/cache/2021/4121412b765fff38f76943b7bc6391a5/" title="Accès à l’article dans le cache local : Stumbling">Stumbling</a> (<a href="https://lucybellwood.com/stumbling/" title="Accès à l’article original distant : Stumbling">original</a>)</li> | |||
@@ -435,6 +437,8 @@ | |||
<li><a href="/david/cache/2021/c6a317213165bc069aabb49c53184a7f/" title="Accès à l’article dans le cache local : Changes at Basecamp">Changes at Basecamp</a> (<a href="https://world.hey.com/jason/changes-at-basecamp-7f32afc5" title="Accès à l’article original distant : Changes at Basecamp">original</a>)</li> | |||
<li><a href="/david/cache/2021/e39a703ed0d93c479d9c7d3b2f8444a9/" title="Accès à l’article dans le cache local : Subject: Re: Qualifiers on Hypertext links...">Subject: Re: Qualifiers on Hypertext links...</a> (<a href="https://www.w3.org/People/Berners-Lee/1991/08/art-6484.txt" title="Accès à l’article original distant : Subject: Re: Qualifiers on Hypertext links...">original</a>)</li> | |||
<li><a href="/david/cache/2021/595df9c1f986df0678e4fc7d6aa34ef1/" title="Accès à l’article dans le cache local : Qui sont les dix auteurs de SF de la « Red Team » du ministère des Armées ?">Qui sont les dix auteurs de SF de la « Red Team » du ministère des Armées ?</a> (<a href="https://www.lepoint.fr/high-tech-internet/qui-sont-les-dix-auteurs-de-sf-de-la-red-team-du-ministere-des-armees-04-12-2020-2404230_47.php" title="Accès à l’article original distant : Qui sont les dix auteurs de SF de la « Red Team » du ministère des Armées ?">original</a>)</li> | |||
<li><a href="/david/cache/2021/03efcc832beba4212f70128850c9fe1f/" title="Accès à l’article dans le cache local : Émois en photos : année blanche, année noire - 2 : distance">Émois en photos : année blanche, année noire - 2 : distance</a> (<a href="https://lalunemauve.fr/emois-en-photos-annee-blanche-annee-noire-2-distance/" title="Accès à l’article original distant : Émois en photos : année blanche, année noire - 2 : distance">original</a>)</li> | |||
@@ -509,6 +513,8 @@ | |||
<li><a href="/david/cache/2021/19518aa194e8ddbc4dcbe9c5c8de9ec9/" title="Accès à l’article dans le cache local : Inclusive UX in an era of anxiety">Inclusive UX in an era of anxiety</a> (<a href="https://uxdesign.cc/inclusive-ux-in-an-era-of-anxiety-dc89c39ec202" title="Accès à l’article original distant : Inclusive UX in an era of anxiety">original</a>)</li> | |||
<li><a href="/david/cache/2021/b2c393ba384ba80f2361dc7652d50de3/" title="Accès à l’article dans le cache local : Foundations">Foundations</a> (<a href="https://adactio.com/journal/18337" title="Accès à l’article original distant : Foundations">original</a>)</li> | |||
<li><a href="/david/cache/2021/30069f97e4aa989a1d89fe8d88538da8/" title="Accès à l’article dans le cache local : We Had the COVID-19 Vaccine the Whole Time">We Had the COVID-19 Vaccine the Whole Time</a> (<a href="https://nymag.com/intelligencer/2020/12/moderna-covid-19-vaccine-design.html" title="Accès à l’article original distant : We Had the COVID-19 Vaccine the Whole Time">original</a>)</li> | |||
<li><a href="/david/cache/2021/e53ad7a748d59824b3323099fdeb5c48/" title="Accès à l’article dans le cache local : #39 : Le cri d’alarme de l’hydrologue Emma Haziza">#39 : Le cri d’alarme de l’hydrologue Emma Haziza</a> (<a href="https://nourrituresterrestres.substack.com/p/cri-alarme-hydrologue-emma-haziza" title="Accès à l’article original distant : #39 : Le cri d’alarme de l’hydrologue Emma Haziza">original</a>)</li> |