Repository with sources and generator of https://larlet.fr/david/ https://larlet.fr/david/
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

index.html 17KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282
  1. <!doctype html><!-- This is a valid HTML5 document. -->
  2. <!-- Screen readers, SEO, extensions and so on. -->
  3. <html lang="fr">
  4. <!-- Has to be within the first 1024 bytes, hence before the `title` element
  5. See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
  6. <meta charset="utf-8">
  7. <!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
  8. <!-- The viewport meta is quite crowded and we are responsible for that.
  9. See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
  10. <meta name="viewport" content="width=device-width,initial-scale=1">
  11. <!-- Required to make a valid HTML5 document. -->
  12. <title>R&amp;Day — David Larlet</title>
  13. <meta name="description" content="The beauty is the build process works like progressive enhancement in the browser: the core experience is functional and accessible, then the build process enhances whatever you want to add by injecting those enhancements to the original, accessible HTML documents […]">
  14. <!-- That good ol' feed, subscribe :). -->
  15. <link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
  16. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  17. <link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
  18. <link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
  19. <link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
  20. <link rel="manifest" href="/static/david/icons2/site.webmanifest">
  21. <link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
  22. <link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
  23. <meta name="msapplication-TileColor" content="#f7f7f7">
  24. <meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
  25. <meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
  26. <meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
  27. <!-- Documented, feel free to shoot an email. -->
  28. <link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
  29. <!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
  30. <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>
  31. <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>
  32. <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>
  33. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  34. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  35. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  36. <script>
  37. function toggleTheme(themeName) {
  38. document.documentElement.classList.toggle(
  39. 'forced-dark',
  40. themeName === 'dark'
  41. )
  42. document.documentElement.classList.toggle(
  43. 'forced-light',
  44. themeName === 'light'
  45. )
  46. }
  47. const selectedTheme = localStorage.getItem('theme')
  48. if (selectedTheme !== 'undefined') {
  49. toggleTheme(selectedTheme)
  50. }
  51. </script>
  52. <body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">
  53. <article>
  54. <header>
  55. <h1>R&amp;Day</h1>
  56. </header>
  57. <nav>
  58. <p class="center">
  59. <a rel="prev" href="/david/2022/04/23/" title="Publication précédente : Quarantaine">← Précédent</a> •
  60. <nobr>
  61. <a href="/david/" title="Aller à l’accueil"
  62. ><svg class="icon icon-home">
  63. <use
  64. xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-home"
  65. ></use>
  66. </svg>
  67. Accueil</a
  68. >
  69. </nobr>
  70. <nobr>
  71. <a href="/david/recherche/" title="Aller à la page de recherche"
  72. ><svg class="icon icon-search">
  73. <use
  74. xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-search"
  75. ></use>
  76. </svg>
  77. Recherche</a
  78. >
  79. </nobr>
  80. • <a rel="next" href="/david/2022/05/13/" title="Publication suivante : Aurore">Suivant →</a>
  81. </p>
  82. </nav>
  83. <hr>
  84. <blockquote lang="en">
  85. <p>The beauty is the build process works like progressive enhancement in the browser: the core experience is functional and accessible, then the build process enhances whatever you want to add by injecting those enhancements to the original, accessible HTML documents&nbsp;[…]</p>
  86. <p><mark>The build process is a progressive enhancement to the core content of your website.</mark> Whether it runs or not, your site remains accessible and deployable at any point in&nbsp;time.</p>
  87. <p><cite><em><a href="https://blog.jim-nielsen.com/2022/progressively-enhanced-builds/">Progressively Enhanced Builds</a></em>&nbsp;(<a href="/david/cache/2022/0707aa459878d644f14b65e9e05e9537/">cache</a>)</cite></p>
  88. </blockquote>
  89. <p>Cet article m’a fait <a href="https://inoads.com/articles/2021-01-09-Next-Gen-Static-Blogging">explorer l’usage</a>&nbsp;(<a href="/david/cache/2022/2458bbc9f86af47ffffcd1b99f19743a/">cache</a>) de la propriété <code>white-space</code> puis le <a href="https://news.ycombinator.com/item?id=25701053">retrait potentiel</a>&nbsp;(<a href="/david/cache/2022/6a8fadb032ab4c1951319268a1315655/">cache</a>) de balises fermantes pour alléger la charge codale (?!) du texte, ce qui semble être <a href="https://remysharp.com/2019/09/12/why-some-html-is-optional">historiquement pertinent</a>&nbsp;(<a href="/david/cache/2022/f761b745c18906fa98046badd51231c2/">cache</a>).</p>
  90. <p>Et puis en parallèle, ça fait un moment que je regarde ce qui peut être fait avec des composants web <a href="https://www.zachleat.com/web/details-utils/">comme details/summary</a>&nbsp;(<a href="/david/cache/2022/ce44e844633f17f25d53f44c1ebd35e7/">cache</a>) pour apporter une <a href="https://cloudfour.com/thinks/web-components-as-progressive-enhancement/">couche d’amélioration progressive</a>&nbsp;(<a href="/david/cache/2022/72b4d15d286c2df85aba5742b1d98e62/">cache</a>). Mais alors que se passe-t-il lorsqu’on essaye de <a href="https://md-block.verou.me/">combiner les deux</a>&#8239;? <a href="https://md-block.verou.me/md-block.js">Ce code</a> est probablement bien plus important à comprendre que les <em>frameworks</em> JS à la mode (en bonus, essayer de décrypter les <a href="https://github.com/guybedford/es-module-shims/">module shims</a>).</p>
  91. <p>Pour avoir récemment proposé un format Frontmatter en YAML histoire d’avoir la lisibilité du Markdown tout en ayant des méta-données, je me rends compte qu’une en-tête HTML pourrait être tout aussi (?) accessible. En revanche, on perd le rendu lisible en tableau depuis l’interface du dépôt git, ce qui est non&nbsp;négligeable.</p>
  92. <p>Pour un usage un peu plus technique/personnel, je vois bien comment itérer à partir de cette base de réflexions. Ça rejoint un peu l’idée que <a href="https://www.robinrendle.com/notes/blogging-and-the-heat-death-of-the-universe/">le HTML d’une publication est son format pérenne</a>&nbsp;(<a href="/david/cache/2022/7f62798239c75130d19c030a4c695027/">cache</a>), ce que j’applique déjà <a href="https://git.larlet.fr/davidbgk/larlet-fr-david">par ici</a> d’une année sur l’autre. De simples <a href="https://sive.rs/plaintext">fichiers textes</a>&nbsp;(<a href="/david/cache/2022/1dd0383e3a416109e4259144d7a67e2d/">cache</a>) en&nbsp;somme.</p>
  93. <p>Il y a des jours comme ça… et je ne vais pas m’en plaindre. Une façon de partager ma propre amélioration progressive&nbsp;🤷.</p>
  94. <hr />
  95. <p>Citation du&nbsp;moment&nbsp;:</p>
  96. <blockquote>
  97. <p>C’est une erreur de croire que les bottes sont dangereuses, ce sont les pantoufles qui le&nbsp;sont.</p>
  98. </blockquote>
  99. <h2 id="w-lit">W&amp;Lit <a href="#w-lit" title="Ancre vers cette partie">#</a></h2>
  100. <blockquote lang="en">
  101. <p>🏰 Looking at how we responded to the virus I am not optimistic at all. Nobody wants to believe or know that things will be bad, so we’ll all try to live life as normally as possible, whatever normal means. Prevention is better than cure, but prevention is also a lot of hard&nbsp;work.</p>
  102. <p>Unlike my younger self I don’t blame people for wanting <mark>to stay in their made-belief Disneyland</mark> while fire is burning outside. Even without all the issues we face, life is inherently difficult. I think we have limited emotional and psychological&nbsp;capacity.</p>
  103. <p><cite><em><a href="https://winnielim.org/journal/bearing-witness/">bearing witness</a></em>&nbsp;(<a href="/david/cache/2022/ce69309198dcbdbcb1d5ff9f784c4925/">cache</a>)</cite></p>
  104. </blockquote>
  105. <blockquote>
  106. <p>🦋 Un·e charmant·e&nbsp;amoureux·se.</p>
  107. <p><cite><em><a href="https://typo-inclusive.net/inventaire/">Révolution typographique&nbsp;post-binaire</a></em></cite></p>
  108. </blockquote>
  109. <blockquote lang="en">
  110. <p>🛠 With version 2&nbsp;of pandoc came a new option: <code>--pdf-engine</code>. That option lets you specify which tool to use when doing a conversion to PDF. While you can still use LaTeX (and a few other tools) to do the deed, you don’t need to bother with all that&nbsp;bulk.</p>
  111. <p><cite><em><a href="https://plaintextproject.online/articles/2022/04/06/pdf.html">Creating a Nice-Looking PDF with pandoc</a></em>&nbsp;(<a href="/david/cache/2022/4d01ca34a54c4be19535df17fdf0c9d2/">cache</a>)</cite></p>
  112. </blockquote>
  113. <blockquote>
  114. <p>🗳 Le fait que GvoT soit un logiciel libre ne protège pas de tous les risques de&nbsp;manipulation.</p>
  115. <p><cite><em><a href="https://voter.cliss21.org/consid%C3%A9rations-g%C3%A9n%C3%A9rales-sur-le-vote-en-ligne/">Considérations générales sur le vote en ligne</a></em>&nbsp;(<a href="/david/cache/2022/7616326c2896e35714a26de5d2898736/">cache</a>)</cite></p>
  116. </blockquote>
  117. <blockquote>
  118. <p>🤹 Mais surtout, la notion de capital numérique évite les termes d’inclusion/exclusion. Il faut bien admettre qu’on peut faire le choix de ne pas développer de capital numérique, parce qu’on n’en voit pas l’intérêt, qu’on ne développe pas d’appétence numérique. Et il faudra bien finir par accepter que <mark>tous les citoyens ne sont pas intéressés par les technologies numériques,</mark> n’en déplaise à certains politiques ou champions de la&nbsp;tech.</p>
  119. <p><cite><em><a href="https://louisderrac.com/2020/11/19/du-concept-de-fractures-numeriques-a-celui-de-capital-numerique/">Du concept de «&nbsp;fracture(s) numérique(s)&nbsp;» à celui de capital numérique&#8239;?</a></em>&nbsp;(<a href="/david/cache/2022/34e73243a6ed7e36a8348b98ea79e52b/">cache</a>)</cite></p>
  120. </blockquote>
  121. <blockquote>
  122. <p>😔 Une femme a très peu de chances de parvenir à quitter un conjoint maltraitant tant qu’elle reste convaincue d’avoir <mark>la possibilité de l’amener à changer.</mark> Et, tant qu’elle restera à ses côtés, il aura tout le loisir de continuer à la meurtrir, en instaurant une escalade graduelle de la violence qui aura pour effet de resserrer de plus en plus sur elle l’étau de l’attachement traumatique, caractéristique des situations&nbsp;d’emprise.</p>
  123. <p><cite><em><a href="https://centre-bertha-pappenheim.fr/2021/10/20/un-homme-peut-il-etre-un-conjoint-violent-malgre-lui/">Un homme peut-il être un conjoint violent malgré lui&#8239;?</a></em>&nbsp;(<a href="/david/cache/2022/0195a7767c46de6bc21bb35b542911a6/">cache</a>)</cite></p>
  124. </blockquote>
  125. <blockquote>
  126. <p>💪 Ma devise, c’est “Tout est possible”. Quand j’ai commencé le chantier, se souvient-elle, on me disait que je n’y arriverais pas. <mark>Les gens rêvent puis crèvent sans avoir pris de risques, assis sur leur canapé.</mark> Moi, j’ai le soleil dans la tête. La peur m’est étrangère. Je risque quoi&#8239;? Ce ne sera jamais un échec, j’aurai&nbsp;appris.</p>
  127. <p><cite><em><a href="https://bag.fiat-tux.fr/share/6252865f762331.80369904">La maison en A, plan B des «&nbsp;fauchés&nbsp;»</a></em>&nbsp;(<a href="/david/cache/2022/4687697ee56ee244b7d9d17a4a328c6a/">cache</a>)</cite></p>
  128. </blockquote>
  129. <nav>
  130. <p class="center">
  131. <a rel="prev" href="/david/2022/04/23/" title="Publication précédente : Quarantaine">← Précédent</a> •
  132. <a href="/david/2022/" title="Liste des publications récentes">↑ En 2022</a>
  133. • <a rel="next" href="/david/2022/05/13/" title="Publication suivante : Aurore">Suivant →</a>
  134. </p>
  135. </nav>
  136. </article>
  137. <hr>
  138. <footer>
  139. <p>
  140. <nobr>
  141. <a href="/david/" title="Aller à l’accueil"
  142. ><svg class="icon icon-home">
  143. <use
  144. xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-home"
  145. ></use>
  146. </svg>
  147. Accueil</a
  148. >
  149. </nobr>
  150. <nobr>
  151. <a href="/david/log/" title="Accès au flux RSS"
  152. ><svg class="icon icon-rss2">
  153. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-rss2"></use>
  154. </svg>
  155. Suivre</a
  156. >
  157. </nobr>
  158. <nobr>
  159. <a href="http://larlet.com" title="Go to my English profile" data-instant
  160. ><svg class="icon icon-user-tie">
  161. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-user-tie"></use>
  162. </svg>
  163. Pro</a
  164. >
  165. </nobr>
  166. <nobr>
  167. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel"
  168. ><svg class="icon icon-mail">
  169. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-mail"></use>
  170. </svg>
  171. Email</a
  172. >
  173. </nobr>
  174. <nobr>
  175. <abbr
  176. class="nowrap"
  177. title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"
  178. ><svg class="icon icon-hammer2">
  179. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-hammer2"></use>
  180. </svg>
  181. Légal</abbr
  182. >
  183. </nobr>
  184. </p>
  185. <template id="theme-selector">
  186. <form>
  187. <fieldset>
  188. <legend><svg class="icon icon-brightness-contrast">
  189. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-brightness-contrast"></use>
  190. </svg> Thème</legend>
  191. <label>
  192. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  193. </label>
  194. <label>
  195. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  196. </label>
  197. <label>
  198. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  199. </label>
  200. </fieldset>
  201. </form>
  202. </template>
  203. </footer>
  204. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  205. <script>
  206. function loadThemeForm(templateName) {
  207. const themeSelectorTemplate = document.querySelector(templateName)
  208. const form = themeSelectorTemplate.content.firstElementChild
  209. themeSelectorTemplate.replaceWith(form)
  210. form.addEventListener('change', (e) => {
  211. const chosenColorScheme = e.target.value
  212. localStorage.setItem('theme', chosenColorScheme)
  213. toggleTheme(chosenColorScheme)
  214. })
  215. const selectedTheme = localStorage.getItem('theme')
  216. if (selectedTheme && selectedTheme !== 'undefined') {
  217. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  218. }
  219. }
  220. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  221. window.addEventListener('load', () => {
  222. let hasDarkRules = false
  223. for (const styleSheet of Array.from(document.styleSheets)) {
  224. let mediaRules = []
  225. for (const cssRule of styleSheet.cssRules) {
  226. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  227. continue
  228. }
  229. // WARNING: Safari does not have/supports `conditionText`.
  230. if (cssRule.conditionText) {
  231. if (cssRule.conditionText !== prefersColorSchemeDark) {
  232. continue
  233. }
  234. } else {
  235. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  236. continue
  237. }
  238. }
  239. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  240. }
  241. // WARNING: do not try to insert a Rule to a styleSheet you are
  242. // currently iterating on, otherwise the browser will be stuck
  243. // in a infinite loop…
  244. for (const mediaRule of mediaRules) {
  245. styleSheet.insertRule(mediaRule.cssText)
  246. hasDarkRules = true
  247. }
  248. }
  249. if (hasDarkRules) {
  250. loadThemeForm('#theme-selector')
  251. }
  252. })
  253. </script>
  254. </body>
  255. </html>