Repository with sources and generator of https://larlet.fr/david/ https://larlet.fr/david/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.html 27KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503
  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>
  13. Étiquette #lecture
  14. — David Larlet</title>
  15. <script>
  16. function toggleTheme(themeName) {
  17. document.documentElement.classList.toggle(
  18. 'forced-dark',
  19. themeName === 'dark'
  20. )
  21. document.documentElement.classList.toggle(
  22. 'forced-light',
  23. themeName === 'light'
  24. )
  25. }
  26. const selectedTheme = localStorage.getItem('theme')
  27. if (selectedTheme !== 'undefined') {
  28. toggleTheme(selectedTheme)
  29. }
  30. </script>
  31. <!-- Documented, feel free to shoot an email. -->
  32. <link rel="stylesheet" href="/static/david/css/style_2024-03-09.css">
  33. <!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
  34. <link rel="preload"
  35. href="/static/david/css/fonts/century_supra_ot_a_regular.woff2"
  36. as="font"
  37. type="font/woff2"
  38. media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
  39. crossorigin>
  40. <link rel="preload"
  41. href="/static/david/css/fonts/century_supra_ot_a_bold.woff2"
  42. as="font"
  43. type="font/woff2"
  44. media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
  45. crossorigin>
  46. <link rel="preload"
  47. href="/static/david/css/fonts/century_supra_ot_a_italic.woff2"
  48. as="font"
  49. type="font/woff2"
  50. media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
  51. crossorigin>
  52. <link rel="preload"
  53. href="/static/david/css/fonts/century_supra_ot_b_regular.woff2"
  54. as="font"
  55. type="font/woff2"
  56. media="(prefers-color-scheme: dark)"
  57. crossorigin>
  58. <link rel="preload"
  59. href="/static/david/css/fonts/century_supra_ot_b_bold.woff2"
  60. as="font"
  61. type="font/woff2"
  62. media="(prefers-color-scheme: dark)"
  63. crossorigin>
  64. <link rel="preload"
  65. href="/static/david/css/fonts/century_supra_ot_b_italic.woff2"
  66. as="font"
  67. type="font/woff2"
  68. media="(prefers-color-scheme: dark)"
  69. crossorigin>
  70. <meta name="description" content="Publications relatives au tag #lecture">
  71. <!-- That good ol' feed, subscribe :). -->
  72. <link rel="alternate"
  73. type="application/atom+xml"
  74. title="Feed"
  75. href="/david/log/">
  76. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  77. <link rel="apple-touch-icon"
  78. sizes="180x180"
  79. href="/static/david/icons2/apple-touch-icon.png">
  80. <link rel="icon"
  81. type="image/png"
  82. sizes="32x32"
  83. href="/static/david/icons2/favicon-32x32.png">
  84. <link rel="icon"
  85. type="image/png"
  86. sizes="16x16"
  87. href="/static/david/icons2/favicon-16x16.png">
  88. <link rel="manifest" href="/static/david/icons2/site.webmanifest">
  89. <link rel="mask-icon"
  90. href="/static/david/icons2/safari-pinned-tab.svg"
  91. color="#07486c">
  92. <link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
  93. <meta name="msapplication-TileColor" content="#f7f7f7">
  94. <meta name="msapplication-config"
  95. content="/static/david/icons2/browserconfig.xml">
  96. <meta name="theme-color"
  97. content="#f7f7f7"
  98. media="(prefers-color-scheme: light)">
  99. <meta name="theme-color"
  100. content="#272727"
  101. media="(prefers-color-scheme: dark)">
  102. <!-- Is that even respected? Retrospectively? What a shAItshow…
  103. https://neil-clarke.com/block-the-bots-that-feed-ai-models-by-scraping-your-website/ -->
  104. <meta name="robots" content="noai, noimageai">
  105. <style type="text/css">
  106. details[open] summary {
  107. display: none;
  108. }
  109. </style>
  110. <body data-instant-intensity="viewport-all">
  111. <article>
  112. <header>
  113. <hgroup>
  114. <h1>#lecture</h1>
  115. <p>Publications relatives à cette étiquette</p>
  116. </hgroup>
  117. </header>
  118. <nav>
  119. <p>
  120. <a href="/david/" title="Aller à l’accueil">
  121. Accueil</a>
  122. <a rel="tags"
  123. href="/david/2024/#tags"
  124. title="Liste de toutes les étiquettes">
  125. Étiquettes</a>
  126. <a href="/david/recherche/" title="Aller à la page de recherche" rel="search" data-no-instant>Recherche</a>
  127. <a href="/david/log/" title="Accès au flux RSS">Suivre</a>
  128. </p>
  129. </nav>
  130. <h2>
  131. <a href="/david/2024/03/16/" title="Lien permanent vers cet article">Descriptions</a> <time datetime="2024-03-16">16 mars 2024</time>
  132. </h2>
  133. <blockquote>
  134. <p>Le crépuscule était tombé lorsqu’ils partirent enfin&nbsp;: rampant par-dessus le bord ouest du vallon, ils passèrent comme des fantômes dans le pays accidenté en bordure de la route. La Lune n’était plus qu’à trois nuits de son plein, mais elle ne devait pas franchir les Montagnes avant minuit ou presque, et le début de leur voyage se fit dans la plus grande obscurité. […]</p>
  135. <p><mark>Enfin, quand la nuit se fit vieille et que la fatigue les eut déjà rattrapés</mark>&nbsp;[…]</p>
  136. <p>Dès la tombée de la nuit, la terre s’étant évanouie en un gris informe, ils se remirent en route. […]</p>
  137. <p>Le jour était en train d’éclore, et ils virent que les Montagnes étaient à présent beaucoup plus distantes, fuyant vers l’est en une longue courbe qui se perdait à l’horizon. […]</p>
  138. <p>La lumière croissante leur révéla une terre déjà moins aride et moins ravagée. Les Montagnes se dressaient encore de façon menaçante sur leur gauche, mais la route du Sud était visible tout près d’eux, et elle s’éloignait à présent des racines noires des collines, obliquant vers l’ouest. […]</p>
  139. <p><cite><em>Le Seigneur des Anneaux</em>, J.R.R. Tolkien, traduction de Daniel&nbsp;Lauzon</cite></p>
  140. </blockquote>
  141. <p>Je ne sais pas si j’y suis plus sensible à <a href="/david/2024/02/06/" title="Anneau">cette relecture</a> ou s’il s’agit d’améliorations avec la nouvelle traduction mais je remarque des tournures de phrases qui m’inspirent pour raconter des aventures en nature. Le sujet devenant l’environnement pour traduire les contraintes qu’il&nbsp;impose.</p>
  142. <p>Puisqu’il faut s’éloigner du style de <a data-link-domain="comptoir.org" href="https://comptoir.org/2024/03/11/sylvain-tesson-les-vers-de-la-reaction/" hreflang="fr"
  143. title="Consultation de l’article">Sylvain Tesson</a>
  144. <a href="/david/cache/2024/d767413ad435c2d833e7d0711c40c370/" hreflang="fr"
  145. data-tippy data-description="La rentrée littéraire de ce début d’année 2024 fut marquée – comme presque chaque année désormais – par la parution d’un nouveau récit de voyage de Sylvain Tesson, doublé d’une polémique sur sa nom…"
  146. data-source="https://comptoir.org/2024/03/11/sylvain-tesson-les-vers-de-la-reaction/"
  147. data-date="2024-03-17"
  148. data-favicon="https://secure.gravatar.com/blavatar/d516daa7fb122f031098a3523884605516add46cc63f1940d3e69aa42056b5c2?s=32"
  149. data-domain="comptoir.org"
  150. ><svg xmlns="http://www.w3.org/2000/svg"
  151. width="24" height="24" viewBox="0 0 24 24" fill="none"
  152. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  153. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  154. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  155. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  156. </svg>
  157. <span class="sr-only">[archive]</span></a>…</p>
  158. <nav>
  159. <p>
  160. <a href="/david/2024/aventure/"
  161. title="Liste de tous les articles 2024 associés à cette étiquette"
  162. rel="tag">#aventure</a>
  163. <a href="/david/2024/ecriture/"
  164. title="Liste de tous les articles 2024 associés à cette étiquette"
  165. rel="tag">#écriture</a>
  166. <a href="/david/2024/lecture/"
  167. title="Liste de tous les articles 2024 associés à cette étiquette"
  168. rel="tag">#lecture</a>
  169. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  170. </p>
  171. </nav>
  172. <h2>
  173. <a href="/david/2024/03/10/" title="Lien permanent vers cet article">Dune</a> <time datetime="2024-03-10">10 mars 2024</time>
  174. </h2>
  175. <p>Je crois bien n’être allé que 3&nbsp;fois dans une salle de cinéma ces 10&nbsp;dernières années. Et puis l’occasion s’est présentée, sans prévenir, aujourd’hui. J’avais <a href="/david/2021/10/18/">quelques retenues sur la première partie</a> mais j’attendais quand même avec impatience la suite. Et j’avais réussi à ne pas trop regarder les bandes annonces, ni les&nbsp;critiques.</p>
  176. <p><em>Note&nbsp;: ça va forcément divulgâcher un peu dans la&nbsp;suite.</em></p>
  177. <p>L’adaptation est bonne, le défi était de taille et —&nbsp;en dépit des quelques ajustements qui piquent un peu le <em>fan</em> que je suis (surtout vers la fin&#8239;!)&nbsp;— la scénarisation est cohérente. Ce qui n’était pas une mince affaire car encore une fois la temporalité n’est pas évidente et rendre l’évolution des personnages visible avec tout ce qui est censé se passer dans leur tête requiert des redéfinitions et des&nbsp;raccourcis.</p>
  178. <p>Mon erreur a probablement été de choisir de l’IMAX alors que c’était Hans “<a data-link-domain="20k.org" href="https://www.20k.org/episodes/boojstrikesback">booj</a>” Zimmer aux platines. Autant dire que le siège a vibré la moitié du film&#8239;! Au-delà de la bande originale, le son a vraiment été travaillé mais je crois que c’était un peu trop pour mes vieilles oreilles plus vraiment adaptées à de tels volumes. Il y a des moments où j’ai même trouvé que ça altérait la compréhension des dialogues… j’avais un peu l’impression de me noyer dans la volonté im·mer·sive alors que l’on est en plein désert. Je doute de retourner dans une salle de si&nbsp;tôt.</p>
  179. <p>Tout ce qui tourne autour des vers est bien fait, j’avais toujours eu du mal à me faire ma propre représentation des tailles et interactions à la lecture et là ça me semble être respecté / réaliste. Idem pour les <em>Sietchs</em>, c’est fidèle à la projection mentale que je pouvais m’en faire, même si l’on n’en voit pas grand chose au final. J’ai particulièrement apprécié le choix de faire une <em>Chani</em> forte qui est davantage consciente des enjeux et des répercutions. La jalousie aurait mérité d’être plus subtile, la différence entre la femme (politique) de Paul et sa compagne (amoureuse) est vraiment explicite dans le&nbsp;livre.</p>
  180. <p>Paul Muad’dib perd un peu trop d’eau à mon goût au cours de nombreuses scènes. Il était probablement plus difficile de transmettre des émotions&nbsp;sèches&nbsp;(?).</p>
  181. <p>Pour finir sur une note positive, l’image bien sûr. C’est à la limite du trop <em>et</em> c’est magnifique au niveau des différents tableaux qui s’enchaînent avec leurs propres couleurs, cinématiques et points de vues. On sent le travail de recherche sans qu’il ne devienne complètement distrayant. J’y serai d’autant plus attentif lors d’un second visionnage, chez moi, en choisissant le volume&nbsp;sonore.</p>
  182. <p>Je ne vois pas comment est-ce qu’il ne pourrait pas y avoir une troisième partie. À voir comment / si ça raccroche les wagons des livres. J’aurais presque envie que ça explore sa propre branche. <em>Dune&nbsp;multi·vers·e&#8239;!</em></p>
  183. <nav>
  184. <p>
  185. <a href="/david/2024/adaptation/"
  186. title="Liste de tous les articles 2024 associés à cette étiquette"
  187. rel="tag">#adaptation</a>
  188. <a href="/david/2024/cinema/"
  189. title="Liste de tous les articles 2024 associés à cette étiquette"
  190. rel="tag">#cinéma</a>
  191. <a href="/david/2024/lecture/"
  192. title="Liste de tous les articles 2024 associés à cette étiquette"
  193. rel="tag">#lecture</a>
  194. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  195. </p>
  196. </nav>
  197. <h2>
  198. <a href="/david/2024/02/17/" title="Lien permanent vers cet article">Quotidien</a> <time datetime="2024-02-17">17 février 2024</time>
  199. </h2>
  200. <p>S’il y a une chose qui a changé depuis que j’ai repris une écriture quotidienne c’est de ne presque plus regarder de films /&nbsp;séries.</p>
  201. <p>Vu la qualité des vidéos que <q lang="fr_ca">j’écoutais</q>, ça n’est vraiment pas une mauvaise&nbsp;chose.</p>
  202. <a href="#hr-74" title="Lien vers cette section de la page"><hr id="hr-74" /></a>
  203. <p>Outil du jour&nbsp;: <a data-link-domain="whocanuse.com" href="https://www.whocanuse.com">who can use</a>.</p>
  204. <p>Voir en direct la perception des personnes sous forme de boutons pour des couleurs données permet de lâcher prise et de se concentrer sur la lisibilité. Savoir que seules 68% des personnes ont la capacité à voir ce que je vois (peut-être) donne un autre sens à&nbsp;l’accessibilité.</p>
  205. <a href="#hr-75" title="Lien vers cette section de la page"><hr id="hr-75" /></a>
  206. <p>Découverte d’un nouveau <a data-link-domain="montreal.ca" href="https://montreal.ca/lieux/parc-nature-du-cap-saint-jacques">terrain de jeu en hiver</a>.</p>
  207. <p>Le nombre d’hivers où il sera encore possible de skier à Montréal sont comptés. Il fait probablement partie de la dernière génération à pouvoir le faire. Aujourd’hui, une dizaine de kilomètres à skis-de-fond-de-location-qui-ne-glissent-pas&nbsp;(sic).</p>
  208. <a href="#hr-76" title="Lien vers cette section de la page"><hr id="hr-76" /></a>
  209. <blockquote lang="en">
  210. <p>Most “news” is designed to trick us into giving our fucks to things that don’t deserve them or where they have no&nbsp;value.</p>
  211. <p><cite><em><a data-link-domain="patrickrhone.net" href="https://www.patrickrhone.net/the-fucks-and-how-we-give-them-a-manifesto/" hreflang="en"
  212. title="Consultation de l’article (anglais)">The Fucks and How We Give Them (A Manifesto)</a>
  213. <a href="/david/cache/2024/d890da6c22300e52daec05e9c5888784/" hreflang="en"
  214. data-tippy data-description="The older I get, the fewer fucks I’m willing to give."
  215. data-source="https://www.patrickrhone.net/the-fucks-and-how-we-give-them-a-manifesto/"
  216. data-date="2024-02-18"
  217. data-favicon="https://www.patrickrhone.net/favicon.ico"
  218. data-domain="patrickrhone.net"
  219. ><svg xmlns="http://www.w3.org/2000/svg"
  220. width="24" height="24" viewBox="0 0 24 24" fill="none"
  221. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  222. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  223. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  224. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  225. </svg>
  226. <span class="sr-only">[archive]</span></a></em></cite></p>
  227. </blockquote>
  228. <nav>
  229. <p>
  230. <a href="/david/2024/ecriture/"
  231. title="Liste de tous les articles 2024 associés à cette étiquette"
  232. rel="tag">#écriture</a>
  233. <a href="/david/2024/lecture/"
  234. title="Liste de tous les articles 2024 associés à cette étiquette"
  235. rel="tag">#lecture</a>
  236. <a href="/david/2024/solastalgia/"
  237. title="Liste de tous les articles 2024 associés à cette étiquette"
  238. rel="tag">#solastalgia</a>
  239. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  240. </p>
  241. </nav>
  242. <h2>
  243. <a href="/david/2024/02/06/" title="Lien permanent vers cet article">Anneau</a> <time datetime="2024-02-06">6 février 2024</time>
  244. </h2>
  245. <blockquote>
  246. <p>«&nbsp;J’aurais voulu que cela n’ait pas à arriver de mon temps&nbsp;», dit Frodo.<br />
  247. «&nbsp;Moi aussi, dit Gandalf, et il en va de même pour tout ceux qui vivent en de pareils temps. Mais il ne leur appartient pas de décider. Tout ce qu’il nous appartient de décider, c’est <mark>ce que nous comptons faire du temps qui nous est imparti.</mark>&nbsp;»</p>
  248. <p><cite><em>Le seigneur des anneaux</em>, J.R.R. Tolkien</cite></p>
  249. </blockquote>
  250. <p>Me voilà reparti pour un tour au départ <strong>du</strong> Comté, cette fois avec la nouvelle traduction de Daniel Lauzon. Ça pique un peu au niveau des noms, forcément.</p>
  251. <p>Je vais moins publier ces prochains&nbsp;jours&nbsp;😇.</p>
  252. <blockquote>
  253. <p><em>Tout ce qui est or ne brille pas,</em><br />
  254. <em>Ne sont pas perdus tout ceux qui vagabondent&#8239;;</em><br />
  255. <em>Ce qui est vieux mais fort ne se flétrit pas,</em><br />
  256. <em>Le gel n’atteint pas les racines&nbsp;profondes.</em></p>
  257. <p><cite><em>Ibid.</em></cite></p>
  258. </blockquote>
  259. <a href="#hr-68" title="Lien vers cette section de la page"><hr id="hr-68" /></a>
  260. <blockquote lang="en">
  261. <p>The webring is a directory of neighbor websites and&nbsp;portfolios.</p>
  262. <p>This is an attempt to <strong>inspire artists and developers to create and maintain their own personal website,</strong> and share traffic organically among each other. The ring’s aim is to promote the creation of hand crafted diaries, wikis, bookmarks and&nbsp;portfolios.</p>
  263. <p><cite><em><a data-link-domain="wiki.xxiivv.com" href="https://wiki.xxiivv.com/site/webring.html" hreflang="en"
  264. title="Consultation de l’article (anglais)">XXIIVV - webring</a>
  265. <a href="/david/cache/2024/842e88c947068b81c9b9d6218c600dd2/" hreflang="en"
  266. data-tippy data-description="The Webring, like we are in the 2000s."
  267. data-source="https://wiki.xxiivv.com/site/webring.html"
  268. data-date="2024-02-06"
  269. data-favicon="https://wiki.xxiivv.com/media/services/icon.png"
  270. data-domain="wiki.xxiivv.com"
  271. ><svg xmlns="http://www.w3.org/2000/svg"
  272. width="24" height="24" viewBox="0 0 24 24" fill="none"
  273. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  274. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  275. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  276. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  277. </svg>
  278. <span class="sr-only">[archive]</span></a></em></cite></p>
  279. </blockquote>
  280. <p>C’est marrant de voir ressurgir d’anciennes pratiques. Il y a un côté vintage, ou reprise d’une ancienne chanson populaire. Avec ce questionnement récurrent&nbsp;: <q>N’a-t-on vraiment rien inventé de mieux depuis&#8239;?</q> (Ah si, maintenant il faut avoir un compte Microsauron Github pour accéder à&nbsp;l’anneau.)</p>
  281. <p><em>Écrit-il en relisant pour la x-ième fois le même&nbsp;livre.</em></p>
  282. <blockquote lang="en">
  283. <p>With roots in the world of fashion, there exists a cyclical principle suggesting that every two decades, previously popular trends “every 20&nbsp;years or so the trends that were once popular will begin to be on the forefront again.” What’s old is new again. However, <mark>these recurring trends aren’t just rip-offs.</mark> They are remixed and reinterpreted through the lens of a new&nbsp;generation.</p>
  284. <p>We are, perhaps, in a 20&nbsp;year resurgence for the indie web and&nbsp;blogging.</p>
  285. <p><cite><em><a data-link-domain="thehistoryoftheweb.com" href="https://thehistoryoftheweb.com/weve-been-waiting-20-years-for-this/" hreflang="en"
  286. title="Consultation de l’article (anglais)">We’ve been waiting 20&nbsp;years for this</a>
  287. <a href="/david/cache/2024/155c5458fcbfb1450f19bc0d268c871e/" hreflang="en"
  288. data-tippy data-description="The indie web may be back. But if is, it is likely in a way we least expect."
  289. data-source="https://thehistoryoftheweb.com/weve-been-waiting-20-years-for-this/"
  290. data-date="2024-02-06"
  291. data-favicon="https://ik.imagekit.io/aoi3fgebjgr/wp-content/uploads/2017/09/cropped-thotw-logo-square-1-32x32.jpg"
  292. data-domain="thehistoryoftheweb.com"
  293. ><svg xmlns="http://www.w3.org/2000/svg"
  294. width="24" height="24" viewBox="0 0 24 24" fill="none"
  295. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  296. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  297. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  298. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  299. </svg>
  300. <span class="sr-only">[archive]</span></a></em></cite></p>
  301. </blockquote>
  302. <nav>
  303. <p>
  304. <a href="/david/2024/communaute/"
  305. title="Liste de tous les articles 2024 associés à cette étiquette"
  306. rel="tag">#communauté</a>
  307. <a href="/david/2024/equipe/"
  308. title="Liste de tous les articles 2024 associés à cette étiquette"
  309. rel="tag">#équipe</a>
  310. <a href="/david/2024/lecture/"
  311. title="Liste de tous les articles 2024 associés à cette étiquette"
  312. rel="tag">#lecture</a>
  313. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  314. </p>
  315. </nav>
  316. <form action="/david/recherche/" method="get">
  317. <fieldset>
  318. <legend>Recherche</legend>
  319. <label for="input-search">Termes de votre recherche :</label>
  320. <input id="input-search" type="search" name="s" aria-describedby="indexation-infos" required>
  321. <input type="submit" value="Chercher">
  322. <p id="indexation-infos">
  323. <small>
  324. Seuls les contenus de ces 8 dernières années sont indexés.
  325. </small>
  326. </p>
  327. </fieldset>
  328. </form>
  329. <aside>
  330. <theme-toggle></theme-toggle>
  331. </aside>
  332. </article>
  333. <hr>
  334. <footer>
  335. <p>
  336. <a href="/david/" title="Aller à l’accueil">Accueil</a>
  337. <a href="/david/log/" title="Accès au flux RSS">Suivre</a>
  338. <a href="http://larlet.com"
  339. title="Go to my English profile"
  340. data-instant>Pro</a>
  341. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">Email</a>
  342. <abbr title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">Légal</abbr>
  343. </p>
  344. <template id="theme-selector">
  345. <form>
  346. <style type="text/css">
  347. fieldset div {
  348. text-align: center;
  349. }
  350. </style>
  351. <fieldset>
  352. <legend>Thème</legend>
  353. <div>
  354. <label>
  355. <input type="radio" value="auto" name="chosen-color-scheme" checked>
  356. Auto
  357. </label>
  358. <label>
  359. <input type="radio" value="dark" name="chosen-color-scheme">
  360. Foncé
  361. </label>
  362. <label>
  363. <input type="radio" value="light" name="chosen-color-scheme">
  364. Clair
  365. </label>
  366. </div>
  367. </fieldset>
  368. </form>
  369. </template>
  370. </footer>
  371. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  372. <script>
  373. class ThemeToggle extends HTMLElement {
  374. constructor() {
  375. super()
  376. const themeSelectorTemplate = document.querySelector('#theme-selector')
  377. const form = themeSelectorTemplate.content.firstElementChild
  378. this.attachShadow({ mode: 'open' })
  379. this.shadowRoot.appendChild(form.cloneNode(true))
  380. }
  381. connectedCallback() {
  382. const form = this.shadowRoot.querySelector('form')
  383. form.addEventListener('change', (e) => {
  384. const chosenColorScheme = e.target.value
  385. localStorage.setItem('theme', chosenColorScheme)
  386. toggleTheme(chosenColorScheme)
  387. })
  388. const selectedTheme = localStorage.getItem('theme')
  389. if (selectedTheme && selectedTheme !== 'undefined') {
  390. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  391. }
  392. }
  393. }
  394. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  395. window.addEventListener('load', () => {
  396. let colorsLayer = undefined
  397. let hasDarkRules = false
  398. for (const styleSheet of Array.from(document.styleSheets)) {
  399. let mediaRules = []
  400. for (const layerRule of styleSheet.cssRules) {
  401. if (!(layerRule instanceof CSSLayerBlockRule)) {
  402. continue
  403. }
  404. if (layerRule.name === 'colors') {
  405. colorsLayer = layerRule
  406. }
  407. for (const cssRule of layerRule.cssRules) {
  408. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  409. continue
  410. }
  411. // WARNING: Safari does not have/supports `conditionText`.
  412. if (cssRule.conditionText) {
  413. if (cssRule.conditionText !== prefersColorSchemeDark) {
  414. continue
  415. }
  416. } else {
  417. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  418. continue
  419. }
  420. }
  421. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  422. }
  423. }
  424. // WARNING: do not try to insert a Rule to a styleSheet you are
  425. // currently iterating on, otherwise the browser will be stuck
  426. // in a infinite loop…
  427. for (const mediaRule of mediaRules) {
  428. // Safari requires the `0` second parameter (even if default).
  429. colorsLayer.insertRule(mediaRule.cssText, 0)
  430. hasDarkRules = true
  431. }
  432. }
  433. if (hasDarkRules) {
  434. if ('customElements' in window && !customElements.get('theme-toggle')) {
  435. customElements.define('theme-toggle', ThemeToggle)
  436. }
  437. }
  438. })
  439. </script>
  440. </body>
  441. </html>