Repository with sources and generator of https://larlet.fr/david/ https://larlet.fr/david/
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

index.html 91KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202
  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 #expérience
  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 #expérience">
  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>#expérience</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/08/" title="Lien permanent vers cet article">Flow</a> <time datetime="2024-03-08">8 mars 2024</time>
  132. </h2>
  133. <p>Le <a data-link-domain="fr.wikipedia.org" href="https://fr.wikipedia.org/wiki/Flow_(psychologie)">flow</a> n’est pas seulement un état où j’ai besoin de calme, il s’agit d’un contexte à part entière. Il me faut une problématique connue, qui est définie avec des contours relativement flous, davantage une intention qu’une direction. Si j’ai déjà eu l’occasion d’être précédemment frustré par l’implémentation en cours, cela me donne beaucoup de motivation pour plonger. Parfois la zone est atteinte en n’étant pas devant un écran (en courant, sous la douche, etc), une forme d’<em>Eurêka&#8239;!</em> qui annonce la libération du <em>flow</em> à&nbsp;venir.</p>
  134. <p>La crue monte et butte contre des digues techniques, plusieurs fois, avant de créer la brèche qui va tout libérer d’un coup et se répandre dans l’ensemble du code. Reste la tâche de <em>ressuyage</em>&nbsp;: <q lang="fr">l’évacuation des eaux qui se sont déversées dans les terres après une inondation et ainsi de diminuer le temps de submersion</q> nous dit le <a data-link-domain="symadrem.fr" href="https://www.symadrem.fr/anticiper-intervenir/evacuation-des-eaux-post-crue/quest-ce-que-le-ressuyage/">Symadrem</a>. Ce n’est pas une tâche ingrate car c’est celle qui rend le code pérenne et compréhensible, l’objet du <em>flow</em> accessible au plus grand nombre. Le temps de la décrue permet d’identifier les cas aux limites&nbsp;également.</p>
  135. <p>Ce contexte ne m’est atteignable que 3&nbsp;ou 4&nbsp;fois par an en moyenne. Et heureusement, car il est vraiment peu soutenable (mais tellement&nbsp;satisfaisant&#8239;!).</p>
  136. <a href="#hr-104" title="Lien vers cette section de la page"><hr id="hr-104" /></a>
  137. <blockquote lang="en">
  138. <p>CSS is a programming language because that’s what you’re doing when you write it; you’re <em>programming</em> the application’s presentation logic. And that’s important, because CSS has power enough to either maximize the useability of software, or to ruin it beyond all utility. (Really; you’d probably be astounded how many ways there are to utterly destroy anything on the web with hardly any&nbsp;CSS.)</p>
  139. <p>In many ways, <mark>CSS has greater impact than any other language</mark> on a user’s experience, which often directly influences success. Why, then, is its role so&nbsp;belittled?</p>
  140. <p><cite><em><a data-link-domain="joshcollinsworth.com" href="https://joshcollinsworth.com/blog/devaluing-frontend" hreflang="en"
  141. title="Consultation de l’article (anglais)">The quiet, pervasive devaluation of frontend</a>
  142. <a href="/david/cache/2024/64ec164fc6c5c23ede3fba6006a47f36/" hreflang="en"
  143. data-tippy data-description="I keep noticing those of us in the frontend field being treated much the same as nurses, paralegals, and executive assistants. Our work is seen as important, certainly, but just not the same as, or as important as, the “real” work."
  144. data-source="https://joshcollinsworth.com/blog/devaluing-frontend"
  145. data-date="2024-03-09"
  146. data-favicon="https://joshcollinsworth.com/favicon.png"
  147. data-domain="joshcollinsworth.com"
  148. ><svg xmlns="http://www.w3.org/2000/svg"
  149. width="24" height="24" viewBox="0 0 24 24" fill="none"
  150. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  151. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  152. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  153. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  154. </svg>
  155. <span class="sr-only">[archive]</span></a></em></cite></p>
  156. </blockquote>
  157. <p>J’aurais pu citer beaucoup de parties de cet article. Je choisis celle vraiment centrée sur CSS car les avancées récentes en font encore davantage un outil qui demande une grande connaissance du domaine, une veille active et une réflexion importante. Ce langage exprime la complexité de nos interfaces et de notre évolution collective en terme d’exploration d’affordances. Les <em>patterns</em>, ces façons de résoudre des problèmes similaires, évoluent et les personnes qui arrivent à suivre ces évolutions vont être de plus en plus sollicitées (j’en parlais <a href="/david/2024/02/28/#hr-94">par ici</a>) — notamment lorsqu’il va falloir nettoyer 10&nbsp;ans de&nbsp;CSS-in-JS/Tailwind/YouNameIt.</p>
  158. <p>Je n’ai pas la même considération pour ces personnes, <strong>j’en ai bien davantage</strong>.</p>
  159. <a href="#hr-105" title="Lien vers cette section de la page"><hr id="hr-105" /></a>
  160. <blockquote lang="en">
  161. <p>So far we have designed our component to be a function of the host. We can go further and ensure that the rendering routine is actually private to the host, so that the rendering code is encapsulated inside along with any potential behaviour enhancements (the <code>countClickable</code> mixin for example), while both remain&nbsp;reusable.</p>
  162. <p><cite><em><a data-link-domain="lorenzofox.dev" href="https://lorenzofox.dev/posts/component-as-infinite-loop/" hreflang="en"
  163. title="Consultation de l’article (anglais)">Coroutines and web components</a>
  164. <a href="/david/cache/2024/6f3cb3c0c6c580407b1cfaa2d7d9005b/" hreflang="en"
  165. data-tippy data-description="Custom elements (web components) modelling with coroutines"
  166. data-source="https://lorenzofox.dev/posts/component-as-infinite-loop/"
  167. data-date="2024-03-09"
  168. data-favicon="https://lorenzofox.dev/posts/component-as-infinite-loop/public/favicon.ico"
  169. data-domain="lorenzofox.dev"
  170. ><svg xmlns="http://www.w3.org/2000/svg"
  171. width="24" height="24" viewBox="0 0 24 24" fill="none"
  172. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  173. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  174. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  175. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  176. </svg>
  177. <span class="sr-only">[archive]</span></a></em></cite></p>
  178. </blockquote>
  179. <p>Je n’ai pas tout compris (et j’en suis à la seconde lecture) mais ça a l’air&nbsp;fun&#8239;!&nbsp;😜</p>
  180. <nav>
  181. <p>
  182. <a href="/david/2024/experience/"
  183. title="Liste de tous les articles 2024 associés à cette étiquette"
  184. rel="tag">#expérience</a>
  185. <a href="/david/2024/psychologie/"
  186. title="Liste de tous les articles 2024 associés à cette étiquette"
  187. rel="tag">#psychologie</a>
  188. <a href="/david/2024/technique/"
  189. title="Liste de tous les articles 2024 associés à cette étiquette"
  190. rel="tag">#technique</a>
  191. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  192. </p>
  193. </nav>
  194. <h2>
  195. <a href="/david/2024/02/22/" title="Lien permanent vers cet article">Responsabilité</a> <time datetime="2024-02-22">22 février 2024</time>
  196. </h2>
  197. <blockquote>
  198. <p>Il n’y a pas vraiment de conclusion à tout ça. Nous avons été témoins, par le petit bout de la lorgnette, du tout début de cette histoire&#8239;; nous avons imaginé un instant <mark>avoir l’opportunité, ou le devoir,</mark> d’y faire quelque chose. Finalement, nous n’avons jamais vraiment donné notre&nbsp;avis.&nbsp;🤷</p>
  199. <p><cite><em><a data-link-domain="codeursenliberte.fr" href="https://www.codeursenliberte.fr/blog/tous_anti_covid/" hreflang="fr"
  200. title="Consultation de l’article">TousAntiCovid&nbsp;: vu depuis Codeureuses en Liberté</a>
  201. <a href="/david/cache/2024/ddc3ee3603be2702cef745c180b87776/" hreflang="fr"
  202. data-tippy data-description="TousAntiCovid a refait récemment l’actualité sur les montants de l’hébergement et les modalités d’attribution du marché."
  203. data-source="https://www.codeursenliberte.fr/blog/tous_anti_covid/"
  204. data-date="2024-02-22"
  205. data-favicon="https://www.codeursenliberte.fr/favicon.png"
  206. data-domain="codeursenliberte.fr"
  207. ><svg xmlns="http://www.w3.org/2000/svg"
  208. width="24" height="24" viewBox="0 0 24 24" fill="none"
  209. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  210. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  211. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  212. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  213. </svg>
  214. <span class="sr-only">[archive]</span></a></em></cite></p>
  215. </blockquote>
  216. <p>Je me souviens vaguement de certaines discussions à ce sujet. D’un côté l’orgueil de penser que l’on pouvait faire mieux, de l’autre la culpabilité de pouvoir être associé à un tel projet. Et au milieu, une épidémie et le sentiment de pouvoir faire des choses avec nos compétences et notre position au sein de l’État français. Un mois plus tard, je m’embarquais dans <a href="/david/2020/05/26/">une autre aventure</a>, plus proche de mon&nbsp;style.</p>
  217. <p>Deux années, 23&nbsp;millions de visiteur·euses uniques et 60&nbsp;millions de pages vues plus tard, j’ai l’impression d’avoir été utile à mon échelle. Merci à la D<a data-link-domain="ronan.amicel.net" href="https://ronan.amicel.net/">R</a><a data-link-domain="ut7.fr" href="https://www.ut7.fr/">R</a>u<a data-link-domain="maiwann.net" href="https://www.maiwann.net/">M</a><a data-link-domain="fr.linkedin.com" href="https://fr.linkedin.com/in/m%C3%A9lodiedahi">M</a> team pour cette&nbsp;période.</p>
  218. <a href="#hr-84" title="Lien vers cette section de la page"><hr id="hr-84" /></a>
  219. <blockquote lang="en">
  220. <p>A custom element implementation of the Stack is provided for&nbsp;download.</p>
  221. <p><cite><em><a data-link-domain="every-layout.dev" href="https://every-layout.dev/layouts/stack/#the-component" hreflang="en"
  222. title="Consultation de l’article (anglais)">The Stack: Every Layout</a>
  223. <a href="/david/cache/2024/6b2b8e2559a07b8d66dac842017b2619/" hreflang="en"
  224. data-tippy data-description="A composable CSS layout primitive."
  225. data-source="https://every-layout.dev/layouts/stack/#the-component"
  226. data-date="2024-02-22"
  227. data-favicon="https://every-layout.dev/images/favicon.png"
  228. data-domain="every-layout.dev"
  229. ><svg xmlns="http://www.w3.org/2000/svg"
  230. width="24" height="24" viewBox="0 0 24 24" fill="none"
  231. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  232. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  233. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  234. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  235. </svg>
  236. <span class="sr-only">[archive]</span></a></em></cite></p>
  237. </blockquote>
  238. <p>Utiliser des <em>Web Components</em> pour appliquer un style, je n’y avais pas encore&nbsp;songé.</p>
  239. <a href="#hr-85" title="Lien vers cette section de la page"><hr id="hr-85" /></a>
  240. <p>Hier soir, j’ai regardé <a data-link-domain="en.wikipedia.org" href="https://en.wikipedia.org/wiki/The_Deepest_Breath">The Deepest Breath</a>. J’ai mal dormi. D’autant que, plus tôt dans la journée, on m’avait transmis <a data-link-domain="youtube.com" href="https://www.youtube.com/watch?v=LFLl9q-bEgk">ce retour d’expérience</a>, flippant (et discutable) à plus d’un&nbsp;titre.</p>
  241. <p>La récupération de ma cheville suit son cours, ça va être long, il manque du muscle. Je me sens suffisamment en confiance pour tenter une sortie hivernale en camping cette fin de semaine, on va voir ce que ça donne. Il va faire <q lang="fr_CA">frête</q> et ça laisse peu de place aux&nbsp;incapacités…</p>
  242. <nav>
  243. <p>
  244. <a href="/david/2024/decision/"
  245. title="Liste de tous les articles 2024 associés à cette étiquette"
  246. rel="tag">#décision</a>
  247. <a href="/david/2024/experience/"
  248. title="Liste de tous les articles 2024 associés à cette étiquette"
  249. rel="tag">#expérience</a>
  250. <a href="/david/2024/partage/"
  251. title="Liste de tous les articles 2024 associés à cette étiquette"
  252. rel="tag">#partage</a>
  253. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  254. </p>
  255. </nav>
  256. <h2>
  257. <a href="/david/2024/02/10/" title="Lien permanent vers cet article">Validisme</a> <time datetime="2024-02-10">10 février 2024</time>
  258. </h2>
  259. <blockquote>
  260. <p>En informatique, y’a ce concept de «&nbsp;ça marche sur ma machine&nbsp;». C’est quand une personne qui utilise un logiciel, remonte un problème qu’elle rencontre et la personne qui fabrique le logiciel répond&nbsp;ça</p>
  261. <p>Évidemment, c’est frustrant de recevoir cette réponse, parce que ça ne fournit aucune solution, mais ça ressemble aussi très fort à «&nbsp;je ne vois pas le problème, donc ce problème n’existe&nbsp;pas&nbsp;»</p>
  262. <p>Un peu comme une personne blanche qui dirait que le racisme n’existe pas vu qu’elle ne le vit pas<br />
  263. Ou un homme avec le&nbsp;sexisme</p>
  264. <p>Et j’ai vécu plusieurs fois avec des grosses structures (administrations et entreprises privées) un truc qui ressemble à «&nbsp;ça marche sur leur machine&nbsp;»<br />
  265. Là, c’est une variante de dénégation qui dit «&nbsp;ça marche pour suffisamment d’autres personnes, donc on ne va pas s’intéresser à votre situation&nbsp;particulière&nbsp;»</p>
  266. <p>Et c’est frustrant quand, mauvaise pioche&#8239;! on est systématiquement dans la minorité&nbsp;statistique</p>
  267. <p><mark>Le validisme, ça parle aussi de comment des personnes sont systématiquement le&nbsp;1%</mark> de personnes qui voient mal l’écran pendant une présentation<br />
  268. ou le&nbsp;1% avec un fauteuil roulant dans la pièce
  269. etc.</p>
  270. <p>Certaines personnes passent 90% de leur vie à être dans le&nbsp;mauvaise-pioche-1%</p>
  271. <p><cite><em><a data-link-domain="eldritch.cafe" href="https://eldritch.cafe/@davidbruant/111872926260149351">Sapphire Rubyant sur&nbsp;masto</a></em></cite></p>
  272. </blockquote>
  273. <p>Se retrouver en invalidité temporaire permet de se rendre compte de choses par l’expérience. Et c’est parfois bien plus que de la double peine&nbsp;: je mets plus de temps pour faire ma correspondance métro faute d’infrastructures adaptées, ce qui me fait arriver en retard donc j’ai la place la moins appropriée, je dois travailler plus vite / efficacement pour rattraper le groupe ce qui me fait prendre davantage de risques, etc. Et je ne parle même pas de l’impact psychologique sur la situation&nbsp;: frustration, colère, dévaluation de soi, à quoi bon, honte, isolement, etc.</p>
  274. <p>C’est déplacé de parler de <em>mon</em> cas alors que de très nombreuses personnes vivent cela au quotidien. Toute leur vie. En supportant le regard des autres, avec une potentielle intersectionalité qui vient mettre les difficultés au&nbsp;carré…</p>
  275. <p>Ce que je voulais souligner avec cet exemple parmi d’autres, c’est qu’il n’y a qu’en expérimentant la situation que j’ai pu prendre conscience de cet effet domino. J’étais pourtant relativement sensibilisé aux problèmes d’accessibilité de manière isolée mais c’est vraiment leur enchainement qui m’a sauté aux yeux pendant cette&nbsp;période.</p>
  276. <p>Je m’imagine maintenant des suites de frustrations numériques du même ordre&nbsp;: il y a un souci bloquant sur le site que je voudrais solidairement faire remonter, je cherche à faire un report de <em>bug</em> sur l’outil dédié mais il y a de l’authentification qui m’affiche une erreur à laquelle je n’ai pas accès, je décide de passer par le formulaire de contact mais il y a un captcha illisible pour moi, je fais une demande sur les réseaux sociaux et on me redirige vers un <em>screencast</em> non sous-titré ou une aide en anglais, etc.</p>
  277. <p>L’accessibilité doit être pensée holistiquement (pour employer un gros mot), chaque situation impensée devenant une goutte de plus dans un verre déjà bien trop&nbsp;plein.</p>
  278. <p>J’ai encore du&nbsp;travail.</p>
  279. <nav>
  280. <p>
  281. <a href="/david/2024/accessibilite/"
  282. title="Liste de tous les articles 2024 associés à cette étiquette"
  283. rel="tag">#accessibilité</a>
  284. <a href="/david/2024/experience/"
  285. title="Liste de tous les articles 2024 associés à cette étiquette"
  286. rel="tag">#expérience</a>
  287. <a href="/david/2024/psychologie/"
  288. title="Liste de tous les articles 2024 associés à cette étiquette"
  289. rel="tag">#psychologie</a>
  290. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  291. </p>
  292. </nav>
  293. <h2>
  294. <a href="/david/2024/02/05/" title="Lien permanent vers cet article">Jeu</a> <time datetime="2024-02-05">5 février 2024</time>
  295. </h2>
  296. <p>Dans la même&nbsp;journée&nbsp;:</p>
  297. <blockquote lang="en">
  298. <p><mark>Built like a video&nbsp;game</mark></p>
  299. <p>Designed to perform smoothly at 60&nbsp;frames per second, our tool disappears and you can focus on what matters: working with your&nbsp;data.</p>
  300. <p><cite><em><a data-link-domain="quadratichq.com" href="https://www.quadratichq.com/">quadratic</a></em></cite></p>
  301. </blockquote>
  302. <p>Puis&nbsp;:</p>
  303. <blockquote lang="en">
  304. <p><mark>Built like a video&nbsp;game</mark></p>
  305. <p>Zed’s breakthrough performance starts with our GPUI framework, a new way to build 2D user interfaces. GPUI rasterizes the entire window on the GPU, just like a 3D video game. The result? Fast, reliable, and smooth delivery of pixels on every&nbsp;frame.</p>
  306. <p><cite><em><a data-link-domain="zed.dev" href="https://zed.dev/">Zed</a></em></cite></p>
  307. </blockquote>
  308. <p>Intéressant comme coïncidence&nbsp;commerciale.</p>
  309. <a href="#hr-67" title="Lien vers cette section de la page"><hr id="hr-67" /></a>
  310. <p>J’ai réussi à trottiner 3&#8239;km aujourd’hui, à vitesse très réduite et en étant strapé. C’est une première après 4&nbsp;semaines <a href="/david/2024/01/09/" title="Blessure">de repos</a>. Il s’agit de reculer maintenant au maximum le moment où je vais me retordre cette cheville. Afin de réduire ce risque, j’hésite à repartir sur du <em>barefoot</em> car le mollet a aussi souffert pendant la torsion. Puis bon, il fait encore un peu&nbsp;frais…</p>
  311. <p>Il y a cette nostalgie des sorties longues à Tokyo, en étant <a href="/david/thoughts/#barefoot">quasiment pieds nus</a>. Si j’étais joueur, j’appellerais ça <em>bearfoot</em> dans mon contexte&nbsp;actuel.</p>
  312. <nav>
  313. <p>
  314. <a href="/david/2024/experience/"
  315. title="Liste de tous les articles 2024 associés à cette étiquette"
  316. rel="tag">#expérience</a>
  317. <a href="/david/2024/psychologie/"
  318. title="Liste de tous les articles 2024 associés à cette étiquette"
  319. rel="tag">#psychologie</a>
  320. <a href="/david/2024/technique/"
  321. title="Liste de tous les articles 2024 associés à cette étiquette"
  322. rel="tag">#technique</a>
  323. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  324. </p>
  325. </nav>
  326. <h2>
  327. <a href="/david/2024/01/28/" title="Lien permanent vers cet article">Jour&nbsp;2</a> <time datetime="2024-01-28">28 janvier 2024</time>
  328. </h2>
  329. <p>Même avec la nourriture suspendue, les souris on fait un sacré raffut. Elles devaient elles aussi avoir trop chaud. Après avoir dormi avec 2&nbsp;fenêtres ouvertes, il fait tout de même 18°C au réveil. Parfait pour notre gruau de camping (seconde tradition avec les nouilles instantanées), cette fois à la neige&nbsp;fondue.</p>
  330. <p>On prend le temps d’aller faire un petit tour à skis sur le lac car c’est une première pour l’enfant. On suit des traces de lapins qui nous mènent à un point d’eau liquide qui est un point de concentration de la faune locale. Si on avait su avant, on aurait peut-être pris le risque de s’en approcher avec nos gourdes. C’est peut-être mieux de ne pas l’avoir su&nbsp;avant.</p>
  331. <figure>
  332. <a href="/static/david/2024/2024-01-28-lac-foret.jpg"
  333. title="Cliquer pour une version haute résolution">
  334. <img
  335. src="/static/david/2024/2024-01-28-lac-foret.jpg"
  336. width="3024" height="4032"
  337. srcset="/static/david/2024/2024-01-28-lac-foret.jpg 3024w, /static/david/2024/2024-01-28-lac-foret_660x440.jpg 660w, /static/david/2024/2024-01-28-lac-foret_990x660.jpg 990w, /static/david/2024/2024-01-28-lac-foret_1320x880.jpg 1320w"
  338. sizes="min(100vw, calc(100vh * 3024 / 4032))"
  339. loading="lazy"
  340. decoding="async"
  341. alt="Un lac gelé avec la forêt en arrière plan.">
  342. </a>
  343. <figcaption>Une bonne ambiance hivernale mais sans la fraîcheur de la&nbsp;saison.</figcaption>
  344. </figure>
  345. <p>Une fois le matériel rangé, on repart. Cette fois j’ai resserré le système de tractage improvisé avec des tuyaux en PVC de la <em>pulka</em>. Et j’ai aussi troqué les peaux complètes pour des demi-peaux, ça me permet de glisser un peu plus dans les descentes mais quand même pas trop. Difficile de ne pas forcer sur la cheville lorsqu’on est contraint par l’étroitesse du chemin. Bon puis il y a vraiment trop d’arbres dans ces&nbsp;forêts&nbsp;:p.</p>
  346. <p>On s’amuse vraiment sur ce retour et je suis obligé d’imposer des pauses pour ne pas arriver dans le même état que la veille (et me faire semer). L’enfant serait partant pour ne pas s’arrêter du tout, ça fait plaisir. On prend confiance et on enchaîne les bosses. Nos seules traces de la veille aident pas mal. Les conditions sont vraiment chaudes pour la&nbsp;saison.</p>
  347. <figure>
  348. <a href="/static/david/2024/2024-01-28-neige-collante.jpg"
  349. title="Cliquer pour une version haute résolution">
  350. <img
  351. src="/static/david/2024/2024-01-28-neige-collante.jpg"
  352. width="4032" height="3024"
  353. srcset="/static/david/2024/2024-01-28-neige-collante.jpg 4032w, /static/david/2024/2024-01-28-neige-collante_660x440.jpg 660w, /static/david/2024/2024-01-28-neige-collante_990x660.jpg 990w, /static/david/2024/2024-01-28-neige-collante_1320x880.jpg 1320w"
  354. sizes="min(100vw, calc(100vh * 4032 / 3024))"
  355. loading="lazy"
  356. decoding="async"
  357. alt="De la neige qui pend d’un arbre.">
  358. </a>
  359. <figcaption>Lorsqu’on me demande si la neige était&nbsp;collante.</figcaption>
  360. </figure>
  361. <p>Nous sommes progressivement rejoints par les skieur·euses qui descendent à travers les arbres et à une centaine de mètres de la voiture, il y a un passage plus difficile que les autres&nbsp;: une pente qui arrive sur un pont. On passe sur le côté pour être retenus par la neige fraîche mais la <em>pulka</em> décide de faire le drapeau et de prendre la «&nbsp;piste&nbsp;» tapée principale. J’essaye de la rattraper tant bien que mal tout en attendant / prenant soin de l’enfant et je me retrouve dans le décor. Encore. Ce n’est pas tant la chute que de forcer pour s’extraire de la neige tout en étant harnaché et les skis empêtrés dans les arbres qui me fait forcer sur les mauvais tendons… si près du but c’est&nbsp;rageant&nbsp;😔.</p>
  362. <p>Une sortie haute en émotions. Je vais maintenant pouvoir prendre le temps de soigner cette <a href="/david/2024/01/09/" title="Blessure">blessure</a>&nbsp;correctement.</p>
  363. <nav>
  364. <p>
  365. <a href="/david/2024/experience/"
  366. title="Liste de tous les articles 2024 associés à cette étiquette"
  367. rel="tag">#expérience</a>
  368. <a href="/david/2024/foret/"
  369. title="Liste de tous les articles 2024 associés à cette étiquette"
  370. rel="tag">#forêt</a>
  371. <a href="/david/2024/parentalite/"
  372. title="Liste de tous les articles 2024 associés à cette étiquette"
  373. rel="tag">#parentalité</a>
  374. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  375. </p>
  376. </nav>
  377. <h2>
  378. <a href="/david/2024/01/27/" title="Lien permanent vers cet article">Jour&nbsp;1</a> <time datetime="2024-01-27">27 janvier 2024</time>
  379. </h2>
  380. <p>De la pluie verglaçante depuis 2&nbsp;jours. Une cheville pas encore opérationnelle. Mais de l’envie et une réservation depuis deux mois pour une première sortie hivernale en refuge. Ensemble. La route pour y aller est déjà épique et des flocons gros comme des pastèques s’écrasent sur le pare-brise. Il est rare au Québec de suivre un <em>pickup</em> qui ne dépasse pas les 70&#8239;km/h sur&nbsp;l’autoroute.</p>
  381. <p>C’est aussi la première sortie pour la <em>pulka</em> ramenée de France cet été. Le temps de charger et de se préparer, la neige est déjà moins intense. Néanmoins, dès les premières centaines de mètres, je sens bien que ça va être galère. La montée est vraiment pentue et les skis-raquettes de l’enfant ne sont pas adaptés à ces conditions ce qui le rend <del>pénible</del> ronchon. De mon côté, avec les peaux complètes ça passe mais je force énormément car je dois bien avoir 35&#8239;kg à tracter derrière. On fait au moins deux kilomètres comme ça… avant de se rendre compte que l’on est sur la montée de ski de randonnée de la Montagne&nbsp;Noire&#8239;!</p>
  382. <figure>
  383. <a href="/static/david/2024/2024-01-27-enfant-qui-skie.jpg"
  384. title="Cliquer pour une version haute résolution">
  385. <img
  386. src="/static/david/2024/2024-01-27-enfant-qui-skie.jpg"
  387. width="3024" height="4032"
  388. srcset="/static/david/2024/2024-01-27-enfant-qui-skie.jpg 3024w, /static/david/2024/2024-01-27-enfant-qui-skie_660x440.jpg 660w, /static/david/2024/2024-01-27-enfant-qui-skie_990x660.jpg 990w, /static/david/2024/2024-01-27-enfant-qui-skie_1320x880.jpg 1320w"
  389. sizes="min(100vw, calc(100vh * 3024 / 4032))"
  390. loading="lazy"
  391. decoding="async"
  392. alt="Un enfant en train de skier sur un chemin.">
  393. </a>
  394. <figcaption>Avant que tout ne&nbsp;dérape.</figcaption>
  395. </figure>
  396. <p>Grosse erreur d’orientation qui nous coûte cher&nbsp;: impossible de descendre par cette montée et couper par la forêt serait très hasardeux, sans compter mon état. L’heure tourne et on finit par descendre en ayant déchaussé tous les deux. Deux paires de skis en plus à retenir à bout de bras en ayant le choix entre un chemin de 30&nbsp;cm de large tapé qui glisse ou un mètre de poudreuse tout autour. C’est un peu casse patte, juste ce qu’il me fallait pour une rééducation&nbsp;active&nbsp;😬.</p>
  397. <figure>
  398. <a href="/static/david/2024/2024-01-27-attache-pulka.jpg"
  399. title="Cliquer pour une version haute résolution">
  400. <img
  401. src="/static/david/2024/2024-01-27-attache-pulka.jpg"
  402. width="2320" height="3088"
  403. srcset="/static/david/2024/2024-01-27-attache-pulka.jpg 2320w, /static/david/2024/2024-01-27-attache-pulka_660x440.jpg 660w, /static/david/2024/2024-01-27-attache-pulka_990x660.jpg 990w, /static/david/2024/2024-01-27-attache-pulka_1320x880.jpg 1320w"
  404. sizes="min(100vw, calc(100vh * 2320 / 3088))"
  405. loading="lazy"
  406. decoding="async"
  407. alt="La pulka visible depuis mon entre-jambe.">
  408. </a>
  409. <figcaption>Un point de vue&nbsp;discutable.</figcaption>
  410. </figure>
  411. <p>Quasi-retour au point de départ, à deux doigts d’abandonner vue l’énergie que l’on vient de dépenser&nbsp;: <q lang="fr">c’est pas la grosse marrade</q>. Une pause bienvenue et le chemin loupé qui semble accueillant me font hésiter tout de même. Je prends finalement la décision d’y aller car dans mon souvenir c’est accessible (si on ne se trompe pas de sentier…). Prise de risque assez élevée au passage, il ne faut pas d’autres erreurs ou problèmes sur le trajet ou on va finir à la frontale (au mieux). Difficile de savoir jusqu’où est-ce que ça va être tracé&nbsp;aussi.</p>
  412. <p>Ce nouveau chemin est beaucoup plus adapté à notre niveau (de forme). Le système d’attache de la <em>pulka</em> est loin d’être optimal mais ça passe, même entre les arbres. L’enfant prend confiance et s’amuse dans les descentes. On arrive enfin au refuge sans encombres, il est 15&#8239;h passé et on n’a pas mangé, à peine bu 200&nbsp;ml depuis le départ… il va falloir recharger les corps avant demain sinon ça va&nbsp;piquer.</p>
  413. <figure>
  414. <a href="/static/david/2024/2024-01-27-dessins-cartes.jpg"
  415. title="Cliquer pour une version haute résolution">
  416. <img
  417. src="/static/david/2024/2024-01-27-dessins-cartes.jpg"
  418. width="3024" height="4032"
  419. srcset="/static/david/2024/2024-01-27-dessins-cartes.jpg 3024w, /static/david/2024/2024-01-27-dessins-cartes_660x440.jpg 660w, /static/david/2024/2024-01-27-dessins-cartes_990x660.jpg 990w, /static/david/2024/2024-01-27-dessins-cartes_1320x880.jpg 1320w"
  420. sizes="min(100vw, calc(100vh * 3024 / 4032))"
  421. loading="lazy"
  422. decoding="async"
  423. alt="Des cartes dessinées à la bougie visible en fond.">
  424. </a>
  425. <figcaption>Le dessin à la bougie, c’est mieux à&nbsp;deux.</figcaption>
  426. </figure>
  427. <p>Heureusement, cet endroit est assez fabuleux et il y a une ambiance brumeuse qui lui donne un aspect féérique. Une fois repus, on va faire un tour sur le lac en contrebas. Il sautille sur le chemin (moi pas) et semble déjà avoir oublié les péripéties de la matinée. On passe une bonne soirée à faire des cadavre-exquis et à dessiner des cartes. Il fait 27°C dans le refuge, on supporte nos caleçons mais c’est un peu limite pour aller chercher la neige à faire&nbsp;fondre&#8239;!</p>
  428. <figure>
  429. <a href="/static/david/2024/2024-01-27-enfant-lac.jpg"
  430. title="Cliquer pour une version haute résolution">
  431. <img
  432. src="/static/david/2024/2024-01-27-enfant-lac.jpg"
  433. width="4032" height="3024"
  434. srcset="/static/david/2024/2024-01-27-enfant-lac.jpg 4032w, /static/david/2024/2024-01-27-enfant-lac_660x440.jpg 660w, /static/david/2024/2024-01-27-enfant-lac_990x660.jpg 990w, /static/david/2024/2024-01-27-enfant-lac_1320x880.jpg 1320w"
  435. sizes="min(100vw, calc(100vh * 4032 / 3024))"
  436. loading="lazy"
  437. decoding="async"
  438. alt="Un enfant sur un lac gelé (le lac, pas l’enfant).">
  439. </a>
  440. <figcaption>Un enfant sur un lac gelé (le lac, pas l’enfant). Il est 17h17. Je crois que j’aime de plus en plus les photos qui ont du&nbsp;grain.</figcaption>
  441. </figure>
  442. <p>Vu le bruit que font les souris alors qu’il y a encore de la lumière, la nuit risque de ne pas être de tout repos… On s’endort au son du poêle qui&nbsp;craque.</p>
  443. <nav>
  444. <p>
  445. <a href="/david/2024/experience/"
  446. title="Liste de tous les articles 2024 associés à cette étiquette"
  447. rel="tag">#expérience</a>
  448. <a href="/david/2024/foret/"
  449. title="Liste de tous les articles 2024 associés à cette étiquette"
  450. rel="tag">#forêt</a>
  451. <a href="/david/2024/parentalite/"
  452. title="Liste de tous les articles 2024 associés à cette étiquette"
  453. rel="tag">#parentalité</a>
  454. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  455. </p>
  456. </nav>
  457. <h2>
  458. <a href="/david/2024/01/23/" title="Lien permanent vers cet article">Thèse</a> <time datetime="2024-01-23">23 janvier 2024</time>
  459. </h2>
  460. <blockquote>
  461. <p>Cette thèse porte sur les processus d’édition en considérant qu’ils sont constitutifs de la production du sens et qu’ils reflètent des visions du monde plurielles. Nous considérons le phénomène de fabrique d’édition comme un acte éditorial qui comprend autant la formalisation d’un texte <mark>que la constitution des outils permettant ce travail.</mark> Les dimensions techniques de l’édition sont ainsi imbriquées, telles que la construction de procédés de fabrication et de production de formes, d’objets et d’artefacts que sont les livres, ou telles que des opérations sur le texte comme l’architecture des contenus, la structuration sémantique et la composition&nbsp;typographique.</p>
  462. <p><cite><em><a data-link-domain="these.quaternum.net" href="https://these.quaternum.net/">Fabriquer des éditions
  463. Éditer des fabriques - Reconfiguration des processus techniques éditoriaux et nouveaux modèles épistémologiques</a></em>, Antoine&nbsp;Fauchié</cite></p>
  464. </blockquote>
  465. <p>J’assiste en direct à une soutenance de thèse pour la première fois de ma vie. Il s’agit d’un exercice moins facile que ce que je m’imaginais mais pas toutes les soutenances ne se font dans un tel contexte si j’ai bien réussi à lire entre les lignes. En tout cas, j’étais impressionné par la pertinence des réponses d’Antoine à chaud et sa faculté à recentrer les&nbsp;discussions.</p>
  466. <p>Les questions que j’aurais aimé&nbsp;poser&nbsp;:</p>
  467. <ol>
  468. <li>Comment transformer ces fabriques de logiciels <em>open-source</em> en communs numériques impliquant une gouvernance partagée&#8239;? Comment sont impliquées les différentes parties&nbsp;prenantes&#8239;?</li>
  469. <li>Quelle est la littéracie numérique nécessaire pour devenir auteur·ice aujourd’hui&#8239;? Quelle est l’in·accessibilité de ces fabriques sous cet angle&nbsp;là&#8239;?</li>
  470. <li>Le rôle de l’éditeur·ice devient-il également celui d’un·e accompagnateur·ice technique&#8239;? Quelle part pour l’éthique dans ce choix&nbsp;d’intermédiaire&#8239;?</li>
  471. </ol>
  472. <p>Niveau technique, dommage qu’il ne soit pas possible de faire référence à des passages particuliers vu qu’ils sont déjà numérotés dans la version HTML (mais en&nbsp;CSS).</p>
  473. <p><mark>@nnotation(contexte)</mark>&nbsp;: J’ai <a href="/david/2023/12/08/">participé au développement</a> d’une partie des outils présentés dans la thèse et on se connait depuis un moment avec&nbsp;Antoine.</p>
  474. <a href="#hr-45" title="Lien vers cette section de la page"><hr id="hr-45" /></a>
  475. <blockquote>
  476. <p>La sociologie parle de «&nbsp;dépossession économique&nbsp;» et de «&nbsp;dépossession culturelle&nbsp;» pour nommer la manière dont la société limite les capacités d’accès à certaines ressources et les expériences qu’elles rendent possibles. Ne pourrait-on pas suggérer qu’il y a aussi, à côté de ces deux phénomènes, ce que l’on pourrait désigner comme des mécanismes de dépossession existentielle&#8239;? Subir la forme-de-vie qui s’empare de nous et nous fait être ce que nous sommes, c’est subir sa vie et subir certains modes d’existence alors que d’autres auraient pu beaucoup mieux nous convenir et nous rendre plus heureux. C’est même, en un sens, se faire voler son existence par la société et les autres — et peut-être même par soi-même, par une certaine version de&nbsp;soi-même.</p>
  477. <p><mark>Nous ne devons jamais, comme dit Adorno, confondre ce que nous sommes et ce que la société a fait de nous.</mark> Nous ne sommes pas de toute éternité ce que nous avons été amenés à devenir. Il n’y a donc pas de projet qui vise à mettre en place une analytique oppositionnelle de l’ordre social et de notre inscription à l’intérieur de celui-ci qui pourrait faire l’économie d’une investigation de l’existence — d’une interrogation sur les formes de la vie et le tissu relationnel qui nous&nbsp;constitue.</p>
  478. <p><cite><em>Une aspiration au dehors</em>, Geoffroy de&nbsp;Lagasnerie</cite></p>
  479. </blockquote>
  480. <p>D’une certaine manière, je vis une <em>dépossession existentielle</em> choisie en assistant à cet exercice après avoir bifurqué d’une carrière&nbsp;universitaire.</p>
  481. <p>Merci Antoine pour&nbsp;l’invitation.</p>
  482. <p><em>Antoine a <a data-link-domain="quaternum.net" href="https://www.quaternum.net/2024/02/02/trois-reponses-sur-ma-these/" hreflang="fr"
  483. title="Consultation de l’article">répondu le 2&nbsp;février</a>
  484. <a href="/david/cache/2024/e58d4c2ceeab475aba6a179c035852f8/" hreflang="fr"
  485. data-tippy data-description="David a assisté à la soutenance de ma thèse de doctorat, il m&rsquo;a posé trois questions via un billet de blog, à défaut d&rsquo;avoir pu le faire pendant la soutenance."
  486. data-source="https://www.quaternum.net/2024/02/02/trois-reponses-sur-ma-these/"
  487. data-date="2024-02-18"
  488. data-favicon=""
  489. data-domain="quaternum.net"
  490. ><svg xmlns="http://www.w3.org/2000/svg"
  491. width="24" height="24" viewBox="0 0 24 24" fill="none"
  492. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  493. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  494. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  495. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  496. </svg>
  497. <span class="sr-only">[archive]</span></a>.</em></p>
  498. <nav>
  499. <p>
  500. <a href="/david/2024/commun/"
  501. title="Liste de tous les articles 2024 associés à cette étiquette"
  502. rel="tag">#commun</a>
  503. <a href="/david/2024/experience/"
  504. title="Liste de tous les articles 2024 associés à cette étiquette"
  505. rel="tag">#expérience</a>
  506. <a href="/david/2024/processus/"
  507. title="Liste de tous les articles 2024 associés à cette étiquette"
  508. rel="tag">#processus</a>
  509. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  510. </p>
  511. </nav>
  512. <h2>
  513. <a href="/david/2024/01/22/" title="Lien permanent vers cet article">Légitimité</a> <time datetime="2024-01-22">22 janvier 2024</time>
  514. </h2>
  515. <blockquote>
  516. <p>Car comment écrire le monde, en particulier celui qui souffre, suffoque et se bat, depuis une situation privilégiée&#8239;? Comment, dans un monde baigné de superflu, mener une analyse fine et lucide sur la nécessité&#8239;? Peut-on en appeler à la beauté dans un monde de violence&#8239;? Et comment combattre le sentiment d’imposture&#8239;? Comment concilier lucidité et poésie, politique et esthétique, sentiment de classe et pulsions d’universalité, comment enfin écrire sur ce qu’on ne fait parfois qu’effleurer, sans l’avoir parfaitement, longuement et profondément&nbsp;éprouvé&#8239;?</p>
  517. <p>En étant honnête, sans doute. […] <mark>Mais l’écriture, une fois entravée d’un tel filet de précautions et de prudences, ne perd-elle pas en&nbsp;sincérité&#8239;?</mark></p>
  518. <p>Le désir de beauté, les envies de mots débridés, le souci même de l’éthique viennent souvent se fracasser sur la réalité sociale, le prosaïque du quotidien et <em>in fine</em> la crainte de l’indécence. C’est un souci salutaire sans aucun doute, mais aussi un brise-l’élan qui, depuis des années, me détourne de&nbsp;l’essai.</p>
  519. <p>La critique est tellement facile et le dénigrement si prisé dans les milieux militants que je ne dois pas être la seule, parfois, à me sentir dissuadée d’écrire sur certains sujets. Pourtant, faut-il s’empêcher d’explorer de nouveaux espaces, d’écrire ses impressions, de poser des intuitions et des sensations, de formuler des hypothèses? Faut-il s’interdire certains&nbsp;thèmes&#8239;?</p>
  520. <p>Doit-on être spécialiste d’un sujet pour en parler&#8239;? Rien ne peut fonctionner si seuls les universitaires peuvent écrire des essais, si les romancières sont cantonnées à raconter des histoires, si seuls les insurgés sont légitimes à parler de révolution, les pauvres de misère, les racisés de discrimination, si les déserteurs sont trop diplômés et si les écrivains ne peuvent disserter que sur la&nbsp;création.</p>
  521. <p><cite><em>Alors nous irons trouver la beauté ailleurs</em>, Corinne Morel&nbsp;Darleux</cite></p>
  522. </blockquote>
  523. <p>La légitimité de la personne qui écrit est importante —&nbsp;notamment en terme de crédibilité&nbsp;— et j’apprécie qu’IA Writer <a data-link-domain="ia.net" href="https://ia.net/topics/writing-with-ai" hreflang="en"
  524. title="Consultation de l’article (anglais)">expérimente des choses</a>
  525. <a href="/david/cache/2024/291cddda62f18ec9355ec98761b7e9d9/" hreflang="en"
  526. data-tippy data-description="When ChatGPT came out one year ago, we wanted to know whether and how it could be used for writing. We put it to the test."
  527. data-source="https://ia.net/topics/writing-with-ai"
  528. data-date="2024-01-21"
  529. data-favicon="https://ia.net/wp-content/themes/iA-library/assets/favicons/favicon.ico"
  530. data-domain="ia.net"
  531. ><svg xmlns="http://www.w3.org/2000/svg"
  532. width="24" height="24" viewBox="0 0 24 24" fill="none"
  533. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  534. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  535. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  536. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  537. </svg>
  538. <span class="sr-only">[archive]</span></a> dans le domaine et peut-être que leur <a data-link-domain="github.com" href="https://github.com/iainc/Markdown-Annotations">spécification pour annotations</a> pourrait être détournée pour mentionner où l’auteur·ice <em>se situe</em> explicitement dans (la partie de) l’article. J’écris ce paragraphe avec ma casquette de développeur, ou en ayant expérimenté l’expatriation, ou en étant membre d’une coopérative, ou en ayant l’habitude d’écrire des trucs sur le net. On pourrait annoter les intentions aussi&nbsp;: j’écris cela en voulant être informatif, ou troll, ou militant, etc.</p>
  539. <p>C’est l’une des choses que rend possible le numérique. Légitimité sans argument d’autorité, tout un programme. Et si je tentais des choses ces prochains&nbsp;jours&#8239;?</p>
  540. <blockquote lang="en">
  541. <p>optionally followed by author annotation session, with a format <mark>to be announced</mark> in a future version of the spec, separated from the author name either by the author identifier or a&nbsp;comma</p>
  542. <p><cite><em><a data-link-domain="github.com" href="https://github.com/iainc/Markdown-Annotations#author-annotations">Author&nbsp;Annotations</a></em></cite></p>
  543. </blockquote>
  544. <a href="#hr-43" title="Lien vers cette section de la page"><hr id="hr-43" /></a>
  545. <blockquote lang="en">
  546. <p>Sometimes I’d have a realization that I was doing something for the first time since I had left home, 16&nbsp;months earlier. First time pumping gas. First time ringing a doorbell. First time going to a grocery store. First time swimming. Each of these instances brought with it a small feeling of novelty, but it didn’t amount to much. It took conscious effort to remember that I was pumping gas for the first time in 16&nbsp;months. It felt&nbsp;normal.</p>
  547. <p>I was back in my real life, and although I put it on hold for Antarctica, it was waiting for me when I got back. <mark>Antarctica was a a different world, a radical departure from my normal reality.</mark> It was so different, in fact, that I simply could not merge the two realities into one. I had my real life, and I had my Antarctica life. When my Antarctica life finished, I resumed my real&nbsp;life.</p>
  548. <p><cite><em><a data-link-domain="brr.fyi" href="https://brr.fyi/posts/redeployment-part-three" hreflang="en"
  549. title="Consultation de l’article (anglais)">Redeployment Part Three</a>
  550. <a href="/david/cache/2024/e8748af541273328d9aa9f1aeb1087b2/" hreflang="en"
  551. data-tippy data-description="Departing Antarctica after 446 days on-ice. Relaxing in Christchurch, then heading home. What an adventure!"
  552. data-source="https://brr.fyi/posts/redeployment-part-three"
  553. data-date="2024-01-21"
  554. data-favicon="https://brr.fyi/favicon-32x32.png"
  555. data-domain="brr.fyi"
  556. ><svg xmlns="http://www.w3.org/2000/svg"
  557. width="24" height="24" viewBox="0 0 24 24" fill="none"
  558. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  559. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  560. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  561. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  562. </svg>
  563. <span class="sr-only">[archive]</span></a></em></cite></p>
  564. </blockquote>
  565. <p>Troisième partie (<a data-link-domain="brr.fyi" href="https://brr.fyi/posts/redeployment-part-one" hreflang="en"
  566. title="Consultation de l’article (anglais)">1</a>
  567. <a href="/david/cache/2024/da7e5578fd96fe31d46bfb207d041880/" hreflang="en"
  568. data-tippy data-description="Sunrise at the bottom of the world. Preparing South Pole Station to welcome its first new arrivals in almost nine months."
  569. data-source="https://brr.fyi/posts/redeployment-part-one"
  570. data-date="2024-01-21"
  571. data-favicon="https://brr.fyi/favicon-32x32.png"
  572. data-domain="brr.fyi"
  573. ><svg xmlns="http://www.w3.org/2000/svg"
  574. width="24" height="24" viewBox="0 0 24 24" fill="none"
  575. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  576. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  577. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  578. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  579. </svg>
  580. <span class="sr-only">[archive]</span></a>, <a data-link-domain="brr.fyi" href="https://brr.fyi/posts/redeployment-part-two" hreflang="en"
  581. title="Consultation de l’article (anglais)">2</a>
  582. <a href="/david/cache/2024/284205d0f99390dd18d3af12ff53227c/" hreflang="en"
  583. data-tippy data-description="First flight to the South Pole after a long, isolated winter. Winterover staff handing over their work and preparing to depart."
  584. data-source="https://brr.fyi/posts/redeployment-part-two"
  585. data-date="2024-01-21"
  586. data-favicon="https://brr.fyi/favicon-32x32.png"
  587. data-domain="brr.fyi"
  588. ><svg xmlns="http://www.w3.org/2000/svg"
  589. width="24" height="24" viewBox="0 0 24 24" fill="none"
  590. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  591. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  592. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  593. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  594. </svg>
  595. <span class="sr-only">[archive]</span></a>) d’un retour sur la terre non gelée. Merci pour ce voyage par procuration cette dernière année, les détails et les anecdotes étaient&nbsp;parfaits.</p>
  596. <p><em>Je remarque au passage qu’iels chaussent les mêmes bottes Baffin que moi par grand&nbsp;froid.</em></p>
  597. <a href="#hr-44" title="Lien vers cette section de la page"><hr id="hr-44" /></a>
  598. <blockquote>
  599. <p>Il est largement prouvé qu’il n’y a qu’un moyen de faire entrer plus de femmes dans la tech. C’est par le biais de la <strong>représentativité</strong>. <mark>Les jeunes femmes ne peuvent pas se projeter dans des rôles qu’elles ne connaissent pas.</mark> J’espère qu’à un moment où un autre, vous aurez vous aussi envie d’occuper l’espace et de vous rendre visible, pour montrer que les femmes dans la tech existent et que c’est une voie royale. Vous pouvez aussi être <strong>marraine</strong> et intervenir dans des écoles avec <a data-link-domain="ellesbougent.com" href="https://www.ellesbougent.com/">Elles bougent</a> ou <a data-link-domain="intrepidesdelatech.org" href="https://www.intrepidesdelatech.org/">Les intrépides de la tech</a>.</p>
  600. <p><cite><em><a data-link-domain="duchess-france.fr" href="https://www.duchess-france.fr/dossier/women%20in%20tech/alli%C3%A9s/2023/01/15/manuel-survie-femme-tech.html" hreflang="en"
  601. title="Consultation de l’article (anglais)">Manuel de survie de la femme dans la tech</a>
  602. <a href="/david/cache/2024/c4751e7c80b292e3533ee6b3e057b702/" hreflang="en"
  603. data-tippy data-description="Je vois de plus en plus de femmes rejoindre l’informatique, et c’est une très bonne chose. Je vois aussi trop de femmes patir de sexisme ordinaire, se remettre en question encore et encore… et quitter le milieu au bout de quelques années. J’ai mis du temps à apprendre certaines choses."
  604. data-source="https://www.duchess-france.fr/dossier/women%20in%20tech/alli%C3%A9s/2023/01/15/manuel-survie-femme-tech.html"
  605. data-date="2024-01-21"
  606. data-favicon="https://www.duchess-france.fr/favicon.ico"
  607. data-domain="duchess-france.fr"
  608. ><svg xmlns="http://www.w3.org/2000/svg"
  609. width="24" height="24" viewBox="0 0 24 24" fill="none"
  610. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  611. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  612. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  613. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  614. </svg>
  615. <span class="sr-only">[archive]</span></a></em></cite></p>
  616. </blockquote>
  617. <p>Superbe manuel de Florence Chabanois avec plein de conseils et de liens pour creuser. J’appuie le fait qu’il est important d’être bien entourée pour rentrer dans ce domaine, pas seulement pour l’apprentissage de la technique mais pour déconstruire des situations sans se sentir démunie face à une culture toxique. N’hésitez pas à rejoindre l’un des collectifs&nbsp;listés.</p>
  618. <p>Je peux faire le <em>parrain-à-6000km</em>, mon adresse de courriel est en pied de&nbsp;page.</p>
  619. <p><mark>@nnotation(intention)</mark>&nbsp;: Je précise la distance depuis la France car ça réduit les possibilités d’agressions physiques… et malheureusement c’est non&nbsp;négligeable.&nbsp;😢</p>
  620. <blockquote>
  621. <p>La technique de l’amplification, popularisée à la Maison Blanche à l’époque d’Obama, consiste à répéter l’idée en lui reconnaissant la maternité, ce qui permet d’augmenter son audibilité. Sachez aussi que nous n’apprenons pas à nous exprimer de la même façon selon notre genre. Quand les femmes prennent la parole, elles l’encombrent plus souvent de termes parasites minimisant comme <em>“peut-être”</em>, <em>“je pense que”</em>, <em>“c’est juste mon avis”</em>. <mark>Les femmes enrobent plus leurs propos, ce qui peut limiter sa portée et/ou nuire à sa clarté, et surtout minimiser des propos pas moins importants.</mark> Elles s’excusent aussi plus souvent de déranger (à tort). À l’écrit, ce sont les points d’exclamation et les smileys qui sont sur représentés, pour adoucir le ton et paraître sympathique. Dans tous les cas, ces parasites réduisent l’impact des messages exprimés. En gros, il vaut mieux faire court pour limiter la charge cognitive et répéter plusieurs fois le&nbsp;message…</p>
  622. <p><cite><em>Ibid.</em></cite></p>
  623. </blockquote>
  624. <p>… ou que les personnes à l’écoute apprennent à communiquer de cette façon&#8239;? À donner le temps nécessaire à la prise de soin plutôt que de formater d’autres personnes à ce qui peut être interprété comme de l’«&nbsp;efficacité&nbsp;» analytique (telle que définie par des hommes)&#8239;? L’adaptation peut et doit se faire dans les deux&nbsp;sens.</p>
  625. <p><mark>@nnotation(légitimité)</mark>&nbsp;: Je propose cela alors qu’il y a 6&nbsp;femmes sur les 8&nbsp;membres de Scopyleft, à la création nous étions 4&nbsp;hommes. Le changement dans nos interactions a été&nbsp;radical.</p>
  626. <nav>
  627. <p>
  628. <a href="/david/2024/echanges/"
  629. title="Liste de tous les articles 2024 associés à cette étiquette"
  630. rel="tag">#échanges</a>
  631. <a href="/david/2024/experience/"
  632. title="Liste de tous les articles 2024 associés à cette étiquette"
  633. rel="tag">#expérience</a>
  634. <a href="/david/2024/gratitude/"
  635. title="Liste de tous les articles 2024 associés à cette étiquette"
  636. rel="tag">#gratitude</a>
  637. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  638. </p>
  639. </nav>
  640. <h2>
  641. <a href="/david/2024/01/17/" title="Lien permanent vers cet article">Vieillesse</a> <time datetime="2024-01-17">17 janvier 2024</time>
  642. </h2>
  643. <blockquote>
  644. <p>Je travaille dans des équipes techniques informatiques, le web, les nouvelles technologies, les startups. Autour de moi je ne vois que des jeunes, avec quelques rares personnes de ma&nbsp;génération.</p>
  645. <p><mark>Il n’y a quasiment aucune personne de 50&nbsp;ans ou plus dans les équipes techniques.</mark> Les exemples que j’ai en tête sont quelques pointures nationales ou internationales, pas du tout représentatives du&nbsp;métier.</p>
  646. <p><cite><em><a data-link-domain="n.survol.fr" href="https://n.survol.fr/n/quand-je-serai-bien-vieux" hreflang="fr"
  647. title="Consultation de l’article">Quand je serai bien vieux</a>
  648. <a href="/david/cache/2024/112d32ccefb9aec48180de42e1fe1534/" hreflang="fr"
  649. data-tippy data-description="Quand vous serez bien vieille, au soir, à la chandelle, Assise auprès du feu, dévidant et filant, Pierre de Ronsard"
  650. data-source="https://n.survol.fr/n/quand-je-serai-bien-vieux"
  651. data-date="2024-01-16"
  652. data-favicon=""
  653. data-domain="n.survol.fr"
  654. ><svg xmlns="http://www.w3.org/2000/svg"
  655. width="24" height="24" viewBox="0 0 24 24" fill="none"
  656. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  657. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  658. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  659. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  660. </svg>
  661. <span class="sr-only">[archive]</span></a></em></cite></p>
  662. </blockquote>
  663. <p>Cet onglet d’Éric D. est ouvert dans mon navigateur depuis plus d’un an (rassurez-vous, il était bien entouré avec au moins 300&nbsp;collègues). Le temps passant, je me pose également ces&nbsp;questions…</p>
  664. <p>Il y a deux&nbsp;aspects&nbsp;:</p>
  665. <ol>
  666. <li>Jusqu’à quand est-ce que l’on aura besoin de&nbsp;moi&#8239;?</li>
  667. <li>Jusqu’à quand est-ce que j’aurai besoin de&nbsp;coder&#8239;?</li>
  668. </ol>
  669. <p>Sur la première, j’ai l’impression que l’expérience de base s’accumule et aura toujours une certaine valeur, je ne vois pas vraiment de plateau depuis 25&nbsp;ans mais des centres d’intérêts qui évoluent plutôt en étoile. Certains sont des impasses —&nbsp;ou mis en dormance plus ou moins prolongée&nbsp;—, d’autres sont temporels et/ou gagnent un regain d’intérêt au gré de produits et de rencontres. Ce n’est pas tant d’avoir appris à apprendre que d’avoir croisé suffisamment de situations pour permettre à des équipes de sauter certains fossés ou <em>sentir</em> lorsqu’il y a un outil / techno / pattern qui vaut le coup. Je ne me sens pas obsolète et encore moins face à une IA-llucinante actuelle qui nécessite cette&nbsp;expérience.</p>
  670. <p>C’est le deuxième point qui est critique car il touche à l’envie et peut-être que d’ici quelques années la technique m’intéressera moins pour plein de raisons (stagnation, répétition, sentiment d’inutilité, consommation de ressources, etc). Et peut-être que le code ne sera plus alors une expression de ma personnalité à laquelle je voudrai consacrer autant de temps. Et peut-être que je n’aurai plus envie de transmettre non plus à des personnes moins expérimentées pour ces mêmes raisons. Aujourd’hui, derrière ce besoin de coder, il y a cette nécessité d’apprendre en continu et de me sentir capable d’avoir un semblant d’<a href="/david/2024/01/11/" title="Impact">impact</a> sur ce&nbsp;monde.</p>
  671. <p>Je peux aussi considérer que je ne suis qu’à la moitié de ma carrière technique. C’est vertigineux exprimé ainsi. <em>Et pourquoi&nbsp;pas.</em></p>
  672. <blockquote lang="en">
  673. <p>After almost 10&nbsp;years of remote work, it would be close to impossible for me to go back to an&nbsp;office.</p>
  674. <p><cite><em><a data-link-domain="world.hey.com" href="https://world.hey.com/jorge/aging-programmer-d448bdec" hreflang="en"
  675. title="Consultation de l’article (anglais)">Aging programmer</a>
  676. <a href="/david/cache/2024/ba977526c7a8cab6935708b2cdba5c0c/" hreflang="en"
  677. data-tippy data-description="Back in college, they told me that I would start my career writing code, but eventually, I would move to a position where I would ask others to code my designs. To celebrate that this turned out to be completely false, here are some assorted reflections as a 40-year-old programmer that looks back"
  678. data-source="https://world.hey.com/jorge/aging-programmer-d448bdec"
  679. data-date="2024-01-16"
  680. data-favicon="https://world.hey.com/jorge/avatar-d08cb3ee63ecbd49736f76ee2caffa4c99a1c0fd"
  681. data-domain="world.hey.com"
  682. ><svg xmlns="http://www.w3.org/2000/svg"
  683. width="24" height="24" viewBox="0 0 24 24" fill="none"
  684. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  685. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  686. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  687. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  688. </svg>
  689. <span class="sr-only">[archive]</span></a></em></cite></p>
  690. </blockquote>
  691. <p>J’ai souvent ce sentiment (je partage les autres points de l’article aussi). Je ne sais pas du tout ce que ça ferait de retourner dans un bureau mais au-delà de cette hypothèse physique, c’est le côté avec subordination / pyramidal que j’ai l’impression d’avoir dépassé sans vraiment de possibilité de retour en arrière. Il n’y a que dans des collectifs bien spécifiques que j’aurais une chance de trouver une place qui me soit&nbsp;acceptable.</p>
  692. <p><em>Voir aussi <a data-link-domain="news.ycombinator.com" href="https://news.ycombinator.com/item?id=32961933">cette discussion</a> à ce&nbsp;sujet.</em></p>
  693. <a href="#hr-36" title="Lien vers cette section de la page"><hr id="hr-36" /></a>
  694. <p>J’ai de plus en plus de mal avec les légalistes donneurs de leçons qui utilisent le ton le plus anxiogèno-aggressif qui soit. La vieillesse a ceci de bon que je commence à savoir retourner ces situations en interrogeant les intentions et les peurs de ces&nbsp;personnes.</p>
  695. <a href="#hr-37" title="Lien vers cette section de la page"><hr id="hr-37" /></a>
  696. <blockquote lang="en">
  697. <p>The big one is that the logical alternatives to Node – the “no Node” work environments developers are likely to reach for <em>aren’t going to be based on JavaScript</em>. Import maps mean that browsers effectively have an API surface that non-JS projects can use to build a dependency management system. Much of the tooling surrounding JavaScript is <mark>now implemented in Rust,</mark> not JS – much of it driven by Deno itself – and that makes it more easily accessible outside both the Node and Deno&nbsp;ecosystems.</p>
  698. <p><cite><em><a data-link-domain="baldurbjarnason.com" href="https://www.baldurbjarnason.com/2024/disillusioned-with-deno/" hreflang="en"
  699. title="Consultation de l’article (anglais)">Disillusioned with Deno</a>
  700. <a href="/david/cache/2024/7d2d2bce96cbc020423299e7de03d2cf/" hreflang="en"
  701. data-tippy data-description="This is a part of a series where I review the work I’ve done over the past couple of years."
  702. data-source="https://www.baldurbjarnason.com/2024/disillusioned-with-deno/"
  703. data-date="2024-01-16"
  704. data-favicon="https://www.baldurbjarnason.com/dark-bird.svg"
  705. data-domain="baldurbjarnason.com"
  706. ><svg xmlns="http://www.w3.org/2000/svg"
  707. width="24" height="24" viewBox="0 0 24 24" fill="none"
  708. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  709. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  710. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  711. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  712. </svg>
  713. <span class="sr-only">[archive]</span></a></em></cite></p>
  714. </blockquote>
  715. <p>Je partage l’analyse de Baldur, l’avenir est à la rouille. De <a data-link-domain="biomejs.dev" href="https://biomejs.dev/">Biome</a> à <a data-link-domain="docs.astral.sh" href="https://docs.astral.sh/ruff/">Ruff</a> en passant par <a data-link-domain="rye-up.com" href="https://rye-up.com/">rye</a> ou <a data-link-domain="hurl.dev" href="https://hurl.dev/">hurl</a> pour n’en citer que quelques uns, <a data-link-domain="rust-lang.org" href="https://www.rust-lang.org/">Rust</a> est en train de devenir un véritable atout pour tout ce qui est&nbsp;outils-performants-autour-du-web.</p>
  716. <p>Les (vieilles) mauvaises langues pourraient dire que l’on arrive au bout de la décennie tout-JS, surtout avec l’arrivée de <a data-link-domain="component-model.bytecodealliance.org" href="https://component-model.bytecodealliance.org/language-support/python.html">WebAssembly+Python</a>&nbsp;🤞.</p>
  717. <nav>
  718. <p>
  719. <a href="/david/2024/experience/"
  720. title="Liste de tous les articles 2024 associés à cette étiquette"
  721. rel="tag">#expérience</a>
  722. <a href="/david/2024/technique/"
  723. title="Liste de tous les articles 2024 associés à cette étiquette"
  724. rel="tag">#technique</a>
  725. <a href="/david/2024/web/"
  726. title="Liste de tous les articles 2024 associés à cette étiquette"
  727. rel="tag">#web</a>
  728. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  729. </p>
  730. </nav>
  731. <h2>
  732. <a href="/david/2024/01/14/" title="Lien permanent vers cet article">Fiction</a> <time datetime="2024-01-14">14 janvier 2024</time>
  733. </h2>
  734. <blockquote>
  735. <p>Ces <em>moments perspectivistes</em>, qu’ils soient activés par un voyage ou par une lecture, sont déroutants mais ils sont salutaires. Ils développent la capacité à comprendre d’autres points de vue que le sien ou, du moins, faute de comprendre, à toucher du doigt la multiplicité des rapports au monde et à accepter la relativité de nos perceptions. Le réel n’est pas un. Et on ne perd jamais en humanité à se mettre dans la peau de&nbsp;l’autre.</p>
  736. <p><mark>La fiction peut nous y aider, c’est le lieu par excellence de tous les possibles; saisissons-nous-en comme d’un terrain d’expérimentation.</mark> Tout n’a pas été écrit&nbsp;: tant que de l’inédit surgit, il reste de la place pour la création. Les mutations du monde nous obligent à repenser le fond comme la forme de nos récits. Il y a des sujets à traiter qui ne l’ont pas été par le passé, des questions qu’on ne s’était jamais posées, de nouveaux enjeux dont il faut s’emparer. Il y a des arcs littéraires à inventer qui ne suivent pas les schémas narratifs classiques et s’affranchissent du syndrome de la grande quête. On doit pouvoir brûler les étapes sans attendre le dénouement. On doit pouvoir brouiller les&nbsp;frontières.</p>
  737. <p><cite><em>Alors nous irons trouver la beauté ailleurs</em>, Corinne Morel&nbsp;Darleux</cite></p>
  738. </blockquote>
  739. <p><a href="/david/2024/01/13/" title="Wuwei">Suite</a> de mes lectures et de mes aspirations à écrire —&nbsp;et donc transmettre&nbsp;— différemment. Une autre forme de travail des idées consistant à décrire un à-venir enviable qu’il reste à construire, en commun, avec l’espoir que <q lang="fr">la fiction déplace la réalité</q>.</p>
  740. <p>De <a href="/david/2024/01/09/" title="Blessure">l’immobilisation</a> nait la&nbsp;créativité&#8239;?</p>
  741. <blockquote>
  742. <p>Je crois de plus en plus que nous devons nous entraîner à <em>habiter le trouble</em> comme l’a formulé Donna Haraway, c’est-à-dire à tenir «&nbsp;pour acquis que les modes d’ordre établis se sont effondrés ou sont en voie d’effondrement, et qu’il devient à la fois urgent et possible d’envisager autre chose&nbsp;». Vivre dans un monde en train de disparaître sans savoir ce qui va émerger n’est pas simple, mais <mark>il ne tient qu’à nous de nous ouvrir à d’autres géographies,</mark> d’autres cultures, à toucher aux confins civilisationnels pour imaginer «&nbsp;des façons plus florissantes, plus robustes, moins meurtrières de vivre les uns avec les autres&nbsp;», ailleurs, quand notre propre réalité nous fait&nbsp;défaut.</p>
  743. <p><cite><em>Ibid.</em></cite></p>
  744. </blockquote>
  745. <a href="#hr-30" title="Lien vers cette section de la page"><hr id="hr-30" /></a>
  746. <p>Je prends le temps de décliner le nouveau style pour les pages d’étiquettes 2024. Il va rester la page d’accueil, la plus difficile. Elle comporte actuellement&nbsp;270&nbsp;liens.</p>
  747. <p>Quelle éditorialisation proposer pour éviter la surcharge tout en facilitant l’exploration&#8239;? Offrir une boussole sans proposer de&nbsp;cap.</p>
  748. <blockquote lang="en">
  749. <p>When the right approach reveals itself, it feels obvious. <mark>But only in retrospect.</mark> <strong>Design is only obvious in retrospect.</strong> It takes iteration and discipline to get there. But when you do get there, it’s much easier to explain your design decisions to others. You know why the design is the right one and can frame your rationale in the context of the problem you are trying to&nbsp;solve.</p>
  750. <p><cite><em><a data-link-domain="lukew.com" href="https://lukew.com/ff/entry.asp?2036" hreflang="en"
  751. title="Consultation de l’article (anglais)">Until the Right Design Emerges…</a>
  752. <a href="/david/cache/2024/84f8caf3e7f7b3de9e18281749c3687f/" hreflang="en"
  753. data-tippy data-description="Too often, the process of design is cut short. When faced with user needs or product requirements, many designers draft a mockup or wireframe informed by what they've seen or experienced before"
  754. data-source="https://lukew.com/ff/entry.asp?2036"
  755. data-date="2024-01-13"
  756. data-favicon="https://static.lukew.com/lukew.ico"
  757. data-domain="lukew.com"
  758. ><svg xmlns="http://www.w3.org/2000/svg"
  759. width="24" height="24" viewBox="0 0 24 24" fill="none"
  760. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  761. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  762. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  763. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  764. </svg>
  765. <span class="sr-only">[archive]</span></a></em></cite></p>
  766. </blockquote>
  767. <p><a href="/david/2024/01/13/" title="Wuwei">Non</a>, pas <a data-link-domain="lukew.com" href="https://lukew.com/ff/entry.asp?2008" hreflang="en"
  768. title="Consultation de l’article (anglais)">cette direction</a>
  769. <a href="/david/cache/2024/ea2cfc9aa425a6967d2cacd9f96ceb9e/" hreflang="en"
  770. data-tippy data-description="Large language (AI) models allow us to rethink how to build software and design user interfaces. To that end, we made use of these new capabilities to create a different way of interacting with this site"
  771. data-source="https://lukew.com/ff/entry.asp?2008"
  772. data-date="2024-01-13"
  773. data-favicon="https://static.lukew.com/lukew.ico"
  774. data-domain="lukew.com"
  775. ><svg xmlns="http://www.w3.org/2000/svg"
  776. width="24" height="24" viewBox="0 0 24 24" fill="none"
  777. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  778. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  779. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  780. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  781. </svg>
  782. <span class="sr-only">[archive]</span></a> par&nbsp;contre.</p>
  783. <a href="#hr-31" title="Lien vers cette section de la page"><hr id="hr-31" /></a>
  784. <p>Découvertes culinaires du&nbsp;jour&nbsp;:</p>
  785. <ul>
  786. <li><a data-link-domain="cooked.wiki" href="https://cooked.wiki/">cooked.wiki</a> pour préfixer les recettes&nbsp;(merci <a data-link-domain="mastodon.tetaneutral.net" href="https://mastodon.tetaneutral.net/@newick/111749530608709450">@newick</a>)</li>
  787. <li><a data-link-domain="github.com" href="https://github.com/mealie-recipes/mealie">mealie</a> pour stocker les recettes (merci <a data-link-domain="mamot.fr" href="https://mamot.fr/@aspyrine">@aspyrine</a>)</li>
  788. </ul>
  789. <nav>
  790. <p>
  791. <a href="/david/2024/ecriture/"
  792. title="Liste de tous les articles 2024 associés à cette étiquette"
  793. rel="tag">#écriture</a>
  794. <a href="/david/2024/experience/"
  795. title="Liste de tous les articles 2024 associés à cette étiquette"
  796. rel="tag">#expérience</a>
  797. <a href="/david/2024/protopie/"
  798. title="Liste de tous les articles 2024 associés à cette étiquette"
  799. rel="tag">#protopie</a>
  800. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  801. </p>
  802. </nav>
  803. <h2>
  804. <a href="/david/2024/01/02/" title="Lien permanent vers cet article">Fondations</a> <time datetime="2024-01-02">2 janvier 2024</time>
  805. </h2>
  806. <p>Tellement de choses sont dorénavant possibles en CSS, je suis submergé par l’ampleur de la tâche. J’ai envie d’essayer trop de choses&nbsp;: des <em>grids</em>, des <em>layers</em>, des fonctionnalités avancées de typographie, que cet espace redevienne un terrain de jeu dans ce domaine car je sens bien que j’ai un peu délaissé cet aspect au fil du&nbsp;temps.</p>
  807. <p>Je commence par regarder à quoi ressemble une page nue avec la précédente sémantique HTML. Ce n’est pas si mal mais les icônes en SVG pourraient avoir des dimensions plus appropriées. Je les retire, il est temps de gagner en légèreté. Je regarde à quoi ressemblent des <em>reset</em>&nbsp;modernes&nbsp;:</p>
  808. <ul>
  809. <li><a data-link-domain="piccalil.li" href="https://piccalil.li/blog/a-more-modern-css-reset/">A (more) Modern CSS Reset</a> par Andy&nbsp;Bell&#8239;;</li>
  810. <li><a data-link-domain="joshwcomeau.com" href="https://www.joshwcomeau.com/css/custom-css-reset/">My Custom CSS Reset</a> par Josh W. Comeau&#8239;;</li>
  811. <li><a data-link-domain="github.com" href="https://github.com/jensimmons/cssremedy">CSS Remedy</a> par Jen Simmons et Miriam&nbsp;Suzanne&#8239;;</li>
  812. <li><a data-link-domain="jgthms.com" href="https://jgthms.com/minireset.css/">A tiny modern CSS reset</a> par Jeremy&nbsp;Thomas.</li>
  813. </ul>
  814. <p>J’aimerais commencer ma CSS par <code>@layer reset</code> mais c’est sur du <a data-link-domain="caniuse.com" href="https://caniuse.com/css-cascade-layers">Baseline™ 2022</a>. Toujours cette tension entre jouer avec les nouveautés sans exclure pour autant une partie de l’auditoire potentiel. <mark>Au pire, cette page nue est consultable</mark> et le flux devrait être supporté partout. Peut-être que je n’ai pas besoin d’avoir des <a data-link-domain="css-tricks.com" href="https://css-tricks.com/css-cascade-layers/">CSS layers</a> mais quand je fais une refonte de cet espace je ne suis pas <em>que</em> sur le besoin. J’obtiens un reset que j’imagine fonctionnel mais il est un peu frustrant d’arriver à un résultat finalement moins lisible que ce que j’avais sans aucun styles. <strong>Commencer par déconstruire pour reconstruire est probablement l’un des maux de notre culture.</strong> Ne pas accepter qu’il puisse exister quelque chose de suffisant sur lequel s’appuyer. Une attitude de&nbsp;colon.</p>
  815. <p>Je finis par tout jeter / ré-interroger et je m’en sors avec&nbsp;6&nbsp;règles.</p>
  816. <p>J’ai besoin de voir mon texte en action pour pouvoir le travailler. Qu’il passe de lisible à enviable, que sa fabrique —&nbsp;<a data-link-domain="quaternum.net" href="https://www.quaternum.net/2023/06/02/fabrique-concept/" hreflang="fr"
  817. title="Consultation de l’article">coucou Antoine</a>
  818. <a href="/david/cache/2024/55477786fc56b6fc37bb97231b634d90/" hreflang="fr"
  819. data-tippy data-description="Le terme fabrique définit une approche spécifique dans la création et dans la production d’artefact, y compris dans le domaine de l’édition."
  820. data-source="https://www.quaternum.net/2023/06/02/fabrique-concept/"
  821. data-date="2024-01-07"
  822. data-favicon=""
  823. data-domain="quaternum.net"
  824. ><svg xmlns="http://www.w3.org/2000/svg"
  825. width="24" height="24" viewBox="0 0 24 24" fill="none"
  826. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  827. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  828. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  829. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  830. </svg>
  831. <span class="sr-only">[archive]</span></a>&nbsp;— fasse partie intégrante de sa création+diffusion. C’est le texte que je suis en train d’écrire qui <em>est</em> le modèle. Je commence par adoucir les contrastes et à centrer quelques éléments. Puis j’applique cette astuce pour avoir des citations <a data-link-domain="code.larlet.fr" href="https://code.larlet.fr/css/#une-grille-avec-elements-a-fond-perdu">à fond perdu</a> tout en centrant le texte de l’article. J’ai envie de leur donner la place qu’elles méritent dans mes&nbsp;publications.</p>
  832. <p>Je suis satisfait de mon résultat très minimaliste du&nbsp;jour.</p>
  833. <a href="#hr-2" title="Lien vers cette section de la page"><hr id="hr-2" /></a>
  834. <blockquote>
  835. <p>Le long trajet est essentiel. Surtout ne pas se laisser tenter par un livre, un ordinateur de poche, ou autres artifices. L’ennui permet l’étincelle des rêveries, tout comme la nuit la profondeur des&nbsp;rêves.</p>
  836. <p><cite><em><a data-link-domain="la-grange.net" href="https://www.la-grange.net/2023/07/10/notes-train" hreflang="fr"
  837. title="Consultation de l’article">notes</a>
  838. <a href="/david/cache/2024/9bc04d41d25fc73391116d99b7259a3d/" hreflang="fr"
  839. data-tippy data-description=""
  840. data-source="https://www.la-grange.net/2023/07/10/notes-train"
  841. data-date="2024-01-07"
  842. data-favicon="https://www.la-grange.net/favicon.ico"
  843. data-domain="la-grange.net"
  844. ><svg xmlns="http://www.w3.org/2000/svg"
  845. width="24" height="24" viewBox="0 0 24 24" fill="none"
  846. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  847. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  848. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  849. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  850. </svg>
  851. <span class="sr-only">[archive]</span></a></em></cite></p>
  852. </blockquote>
  853. <p>🧡</p>
  854. <a href="#hr-3" title="Lien vers cette section de la page"><hr id="hr-3" /></a>
  855. <p>Plus tard, je me rends compte en voulant faire les choses proprement que j’avais déjà fait des essais il y a un peu plus d’un&nbsp;an&nbsp;:</p>
  856. <figure>
  857. <a href="/static/david/2024/2024-01-02-ancien-essai.png"
  858. title="Cliquer pour une version haute résolution">
  859. <img
  860. src="/static/david/2024/2024-01-02-ancien-essai.png"
  861. width="2488" height="1486"
  862. srcset="/static/david/2024/2024-01-02-ancien-essai.png 2488w, /static/david/2024/2024-01-02-ancien-essai.png 660w, /static/david/2024/2024-01-02-ancien-essai.png 990w, /static/david/2024/2024-01-02-ancien-essai.png 1320w"
  863. sizes="min(100vw, calc(100vh * 2488 / 1486))"
  864. loading="lazy"
  865. decoding="async"
  866. alt="Capture d’écran de l’essai">
  867. </a>
  868. <figcaption>Capture d’écran de&nbsp;l’essai.</figcaption>
  869. </figure>
  870. <p>Je ne sais pas trop quoi en penser, c’est toujours marrant de retrouver de vieilles tentatives. De mémoire, c’était déjà plus pour m’amuser avec les <em>layers</em> qu’une refonte sérieuse (et cette typo&nbsp;😱 (Bizmeud, <a data-link-domain="velvetyne.fr" href="https://velvetyne.fr/news/vtf-is-dead-long-live-velvetyne/">en retraite</a>)). Il n’est pas exclus que les essais actuels finissent également à la&nbsp;poubelle.</p>
  871. <p>Tiens, est-ce que j’arrive à faire déborder l’image du flux aussi&#8239;? Oui, et ça ouvre des perspectives d’agencements photographiques à&nbsp;explorer…</p>
  872. <nav>
  873. <p>
  874. <a href="/david/2024/experience/"
  875. title="Liste de tous les articles 2024 associés à cette étiquette"
  876. rel="tag">#expérience</a>
  877. <a href="/david/2024/technique/"
  878. title="Liste de tous les articles 2024 associés à cette étiquette"
  879. rel="tag">#technique</a>
  880. <a href="/david/2024/web/"
  881. title="Liste de tous les articles 2024 associés à cette étiquette"
  882. rel="tag">#web</a>
  883. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  884. </p>
  885. </nav>
  886. <h2>
  887. <a href="/david/2024/01/01/" title="Lien permanent vers cet article">Dryear(s)</a> <time datetime="2024-01-01">1 janvier 2024</time>
  888. </h2>
  889. <blockquote>
  890. <p>33&#8239;% de 44&nbsp;millions de consommateurs vont faire le Dry January<br />
  891. 22&#8239;% des consommateurs ont une conso excessive, c’est-à-dire 10&nbsp;verres/semaine max et plus de deux&nbsp;verres/jour.</p>
  892. <p>Les seniors sont aussi très touché·es.<br />
  893. <mark>L’alcool est une drogue.</mark>.
  894. On peut faire la fête sans alcool et&nbsp;s’éclater.</p>
  895. <p>Quand on arrête&nbsp;: bienfaits sur le foie, la peau, le coeur, etc…<br />
  896. Pb&nbsp;: mémoire, troubles cognitifs, responsable de cancer, pb sommeil, décompensation de maladie psy,…<br />
  897. 41000&nbsp;décès par an en&nbsp;France.</p>
  898. <p>Les cinq symptômes définissent un problème de&nbsp;dépendance&nbsp;:</p>
  899. <ul>
  900. <li>Perte de&nbsp;contrôle</li>
  901. <li>Usage&nbsp;compulsif</li>
  902. <li>Envie&nbsp;répressive</li>
  903. <li>Usage&nbsp;chronique</li>
  904. <li>Conséquences psychiques, physiques, sociales,…</li>
  905. </ul>
  906. <p>Bon Dry J. pour celleux qui le font&#8239;! Moi j’en&nbsp;suis&#8239;!</p>
  907. <p><cite><a data-link-domain="framapiaf.org" href="https://framapiaf.org/@Air/111681709094993435">@Air@framapiaf.org</a></cite></p>
  908. </blockquote>
  909. <p>Dans mon entourage, de plus en plus de personnes que j’estime ne boivent pas d’alcool, de plus en plus de personnes qui vieillissent en deviennent dépendantes. Je suis davantage attiré par la première option… et pas pour un seul&nbsp;mois.</p>
  910. <p>Je me sens prêt, on verra bien où cela me&nbsp;mène.</p>
  911. <a href="#hr-1" title="Lien vers cette section de la page"><hr id="hr-1" /></a>
  912. <p>Grosse envie de reprendre la CSS par ici en ce début d’année. Avec le dilemme de faire chuter cette motivation si je publie dès maintenant avec l’ancienne (qui restera effective sur les anciens articles). Je vais essayer de me&nbsp;retenir.</p>
  913. <nav>
  914. <p>
  915. <a href="/david/2024/addiction/"
  916. title="Liste de tous les articles 2024 associés à cette étiquette"
  917. rel="tag">#addiction</a>
  918. <a href="/david/2024/experience/"
  919. title="Liste de tous les articles 2024 associés à cette étiquette"
  920. rel="tag">#expérience</a>
  921. <a href="/david/2024/protopie/"
  922. title="Liste de tous les articles 2024 associés à cette étiquette"
  923. rel="tag">#protopie</a>
  924. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  925. </p>
  926. </nav>
  927. <form action="/david/recherche/" method="get">
  928. <fieldset>
  929. <legend>Recherche</legend>
  930. <label for="input-search">Termes de votre recherche :</label>
  931. <input id="input-search" type="search" name="s" aria-describedby="indexation-infos" required>
  932. <input type="submit" value="Chercher">
  933. <p id="indexation-infos">
  934. <small>
  935. Seuls les contenus de ces 8 dernières années sont indexés.
  936. </small>
  937. </p>
  938. </fieldset>
  939. </form>
  940. <aside>
  941. <theme-toggle></theme-toggle>
  942. </aside>
  943. </article>
  944. <hr>
  945. <footer>
  946. <p>
  947. <a href="/david/" title="Aller à l’accueil">Accueil</a>
  948. <a href="/david/log/" title="Accès au flux RSS">Suivre</a>
  949. <a href="http://larlet.com"
  950. title="Go to my English profile"
  951. data-instant>Pro</a>
  952. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">Email</a>
  953. <abbr title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">Légal</abbr>
  954. </p>
  955. <template id="theme-selector">
  956. <form>
  957. <style type="text/css">
  958. fieldset div {
  959. text-align: center;
  960. }
  961. </style>
  962. <fieldset>
  963. <legend>Thème</legend>
  964. <div>
  965. <label>
  966. <input type="radio" value="auto" name="chosen-color-scheme" checked>
  967. Auto
  968. </label>
  969. <label>
  970. <input type="radio" value="dark" name="chosen-color-scheme">
  971. Foncé
  972. </label>
  973. <label>
  974. <input type="radio" value="light" name="chosen-color-scheme">
  975. Clair
  976. </label>
  977. </div>
  978. </fieldset>
  979. </form>
  980. </template>
  981. </footer>
  982. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  983. <script>
  984. class ThemeToggle extends HTMLElement {
  985. constructor() {
  986. super()
  987. const themeSelectorTemplate = document.querySelector('#theme-selector')
  988. const form = themeSelectorTemplate.content.firstElementChild
  989. this.attachShadow({ mode: 'open' })
  990. this.shadowRoot.appendChild(form.cloneNode(true))
  991. }
  992. connectedCallback() {
  993. const form = this.shadowRoot.querySelector('form')
  994. form.addEventListener('change', (e) => {
  995. const chosenColorScheme = e.target.value
  996. localStorage.setItem('theme', chosenColorScheme)
  997. toggleTheme(chosenColorScheme)
  998. })
  999. const selectedTheme = localStorage.getItem('theme')
  1000. if (selectedTheme && selectedTheme !== 'undefined') {
  1001. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  1002. }
  1003. }
  1004. }
  1005. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  1006. window.addEventListener('load', () => {
  1007. let colorsLayer = undefined
  1008. let hasDarkRules = false
  1009. for (const styleSheet of Array.from(document.styleSheets)) {
  1010. let mediaRules = []
  1011. for (const layerRule of styleSheet.cssRules) {
  1012. if (!(layerRule instanceof CSSLayerBlockRule)) {
  1013. continue
  1014. }
  1015. if (layerRule.name === 'colors') {
  1016. colorsLayer = layerRule
  1017. }
  1018. for (const cssRule of layerRule.cssRules) {
  1019. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  1020. continue
  1021. }
  1022. // WARNING: Safari does not have/supports `conditionText`.
  1023. if (cssRule.conditionText) {
  1024. if (cssRule.conditionText !== prefersColorSchemeDark) {
  1025. continue
  1026. }
  1027. } else {
  1028. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  1029. continue
  1030. }
  1031. }
  1032. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  1033. }
  1034. }
  1035. // WARNING: do not try to insert a Rule to a styleSheet you are
  1036. // currently iterating on, otherwise the browser will be stuck
  1037. // in a infinite loop…
  1038. for (const mediaRule of mediaRules) {
  1039. // Safari requires the `0` second parameter (even if default).
  1040. colorsLayer.insertRule(mediaRule.cssText, 0)
  1041. hasDarkRules = true
  1042. }
  1043. }
  1044. if (hasDarkRules) {
  1045. if ('customElements' in window && !customElements.get('theme-toggle')) {
  1046. customElements.define('theme-toggle', ThemeToggle)
  1047. }
  1048. }
  1049. })
  1050. </script>
  1051. </body>
  1052. </html>