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

index.html 70KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068
  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 #psychologie
  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 #psychologie">
  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>#psychologie</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/03/05/" title="Lien permanent vers cet article">Jour 2</a> <time datetime="2024-03-05">5 mars 2024</time>
  196. </h2>
  197. <p>On se réveille dans la brume avec le soleil peinant à passer à travers, le lac et la neige ont regelé pendant la nuit. C’est une belle ambiance après une nuit agitée par la chaleur du <del>sauna</del> refuge. Les poêles tirent à fond dans ces endroits pour éviter que des personnes n’arrivent pas à faire démarrer un feu (j’imagine que ça peut être critique) mais ça les rend très inefficaces dans la durée et très chauds dès qu’on met deux buches&nbsp;dedans.</p>
  198. <figure>
  199. <a href="/static/david/2024/2024-03-05-lac-corbeau.jpg"
  200. title="Cliquer pour une version haute résolution">
  201. <img
  202. src="/static/david/2024/2024-03-05-lac-corbeau.jpg"
  203. width="4032" height="3024"
  204. srcset="/static/david/2024/2024-03-05-lac-corbeau.jpg 4032w, /static/david/2024/2024-03-05-lac-corbeau_660x440.jpg 660w, /static/david/2024/2024-03-05-lac-corbeau_990x660.jpg 990w, /static/david/2024/2024-03-05-lac-corbeau_1320x880.jpg 1320w"
  205. sizes="min(100vw, calc(100vh * 4032 / 3024))"
  206. loading="lazy"
  207. decoding="async"
  208. alt="Lac corbeau à l’aube.">
  209. </a>
  210. <figcaption>De bien jolies couleurs au&nbsp;réveil.</figcaption>
  211. </figure>
  212. <p>Cet épisode me confirme encore une fois que les enfants ont des corps de sportifs de très haut niveau. Je suis impatient de pouvoir le charger un peu plus car c’est frustrant de le voir gambader devant de bon matin alors que mes muscles sont à peine réveillés. J’aime bien lorsqu’on va explorer un peu plus loin et que l’on se projette sur ce que l’on pourrait faire l’année&nbsp;suivante.</p>
  213. <figure>
  214. <a href="/static/david/2024/2024-03-05-enfant-refuge-corbeau.jpg"
  215. title="Cliquer pour une version haute résolution">
  216. <img
  217. src="/static/david/2024/2024-03-05-enfant-refuge-corbeau.jpg"
  218. width="3024" height="4032"
  219. srcset="/static/david/2024/2024-03-05-enfant-refuge-corbeau.jpg 3024w, /static/david/2024/2024-03-05-enfant-refuge-corbeau_660x440.jpg 660w, /static/david/2024/2024-03-05-enfant-refuge-corbeau_990x660.jpg 990w, /static/david/2024/2024-03-05-enfant-refuge-corbeau_1320x880.jpg 1320w"
  220. sizes="min(100vw, calc(100vh * 3024 / 4032))"
  221. loading="lazy"
  222. decoding="async"
  223. alt="Un enfant qui court dans la neige vers un refuge.">
  224. </a>
  225. <figcaption>Jamais&nbsp;fatigué.</figcaption>
  226. </figure>
  227. <p>Le retour est moins joyeux car il s’agit d’enchainer les efforts et chaque heure qui passe rend la neige plus meuble. À tel point que l’on décide de couper par une piste sur une courte section. Mon évaluation est que la saison de ski est terminée, même une sous-couche bien travaillée ne tiendra pas la semaine qui s’en&nbsp;vient.</p>
  228. <p>J’aurais aimé faire une boucle un peu plus longue au retour mais il faut savoir s’adapter aux conditions. Le plus important est de terminer sans blessure ni&nbsp;dégoût.</p>
  229. <p><em>Je commence à imaginer un parcours rapide sur plusieurs jours dans cette forêt que je connais bien. Peut-être qu’une fenêtre se dessine en avril… il faut que je récupère un peu de cardio d’ici&nbsp;là.</em></p>
  230. <nav>
  231. <p>
  232. <a href="/david/2024/adaptation/"
  233. title="Liste de tous les articles 2024 associés à cette étiquette"
  234. rel="tag">#adaptation</a>
  235. <a href="/david/2024/aventure/"
  236. title="Liste de tous les articles 2024 associés à cette étiquette"
  237. rel="tag">#aventure</a>
  238. <a href="/david/2024/psychologie/"
  239. title="Liste de tous les articles 2024 associés à cette étiquette"
  240. rel="tag">#psychologie</a>
  241. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  242. </p>
  243. </nav>
  244. <h2>
  245. <a href="/david/2024/02/29/" title="Lien permanent vers cet article">Wikipédia</a> <time datetime="2024-02-29">29 février 2024</time>
  246. </h2>
  247. <blockquote>
  248. <p>Petit récapitulatif pour moi-même de la controverse qui agite la version francophone de Wikipédia et ses communautés. Bien que j’aimerai écrire plus longuement sur le sujet, je n’ai pas la bande passante nocturne pour le faire encore moins diurne. <mark>Je travaille de façon ouverte en espérant que les esprits refroidis retrouveront un brin de lucidité.</mark> Wikipédia est un projet important, chacun y contribue à sa manière, j’essaie de poser quelques bases pour éventuellement développer plus en détails certains points à l’avenir. Une note de synthèse en quelques&nbsp;sortes.</p>
  249. <p><cite><em><a data-link-domain="write.apreslanu.it" href="https://write.apreslanu.it/tk/wikipedia-ou-la-desillusion-de-lintelligence-collective" hreflang="fr"
  250. title="Consultation de l’article">Wikipédia ou la désillusion de l’intelligence collective</a>
  251. <a href="/david/cache/2024/71d5226ddc436248164884b12f15ed42/" hreflang="fr"
  252. data-tippy data-description="Petit récapitulatif pour moi-même de la controverse qui agite la version francophone de Wikipédia et ses communautés. Bien que j’aimerai ..."
  253. data-source="https://write.apreslanu.it/tk/wikipedia-ou-la-desillusion-de-lintelligence-collective"
  254. data-date="2024-03-01"
  255. data-favicon="https://write.apreslanu.it/favicon.ico"
  256. data-domain="write.apreslanu.it"
  257. ><svg xmlns="http://www.w3.org/2000/svg"
  258. width="24" height="24" viewBox="0 0 24 24" fill="none"
  259. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  260. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  261. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  262. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  263. </svg>
  264. <span class="sr-only">[archive]</span></a></em></cite></p>
  265. </blockquote>
  266. <p>Cela fait quelques jours que j’observe la situation en essayant de ne pas réagir à chaud. Je vois d’un côté des personnes qui souhaitent documenter des faits «&nbsp;historiques&nbsp;» sans en subir aucune conséquence et de l’autre des personnes qui ont bien souvent souffert et souffrent encore de cette histoire, sans compter les potentiels risques actuels et futurs&nbsp;encourus.</p>
  267. <p>Ce résumé est sûrement caricatural <em>et</em> je peux passer outre mon besoin de savoir encyclopédique pour la sécurité physique et mentale d’autres&nbsp;personnes.</p>
  268. <p>Une pensée pour les personnes concernées qui sont impliquées et contributrices régulières, ça ne doit pas être évident de garder la motivation après&nbsp;ça&nbsp;💜.</p>
  269. <blockquote>
  270. <p>Comment comprendre cette contradiction entre volonté de transparence et&nbsp;d’entre-soi&#8239;?</p>
  271. <p><cite><em><a data-link-domain="crowdagger.fr" href="https://crowdagger.fr/wikipedia-et-le-necronyme-des-personnes-trans-linsoutenable-neutralite-du-point-de-vue/" hreflang="fr"
  272. title="Consultation de l’article">Wikipédia et le nécronyme des personnes trans&nbsp;: l’insoutenable neutralité du point de vue&#8239;?</a>
  273. <a href="/david/cache/2024/1eec2b195d91939cdc7bad71b40021bd/" hreflang="fr"
  274. data-tippy data-description="Tentative de comprendre le conflit sur Wikipédia francophone autour du nécronyme des personnes trans"
  275. data-source="https://crowdagger.fr/wikipedia-et-le-necronyme-des-personnes-trans-linsoutenable-neutralite-du-point-de-vue/"
  276. data-date="2024-03-01"
  277. data-favicon="https://crowdagger.fr/wp-content/uploads/2021/11/cropped-facivon-32x32.png"
  278. data-domain="crowdagger.fr"
  279. ><svg xmlns="http://www.w3.org/2000/svg"
  280. width="24" height="24" viewBox="0 0 24 24" fill="none"
  281. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  282. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  283. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  284. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  285. </svg>
  286. <span class="sr-only">[archive]</span></a></em></cite></p>
  287. </blockquote>
  288. <a href="#hr-95" title="Lien vers cette section de la page"><hr id="hr-95" /></a>
  289. <p>Si jamais vous avez un code Python qui doit tourner sous Windows et qui semble avoir des problème d’encodage (notamment sur <code>Path().read/write_text()</code>), <a data-link-domain="dev.to" href="https://dev.to/methane/python-use-utf-8-mode-on-windows-212i">vous pouvez tenter</a> la variable d’environnement <code>PYTHONUTF8=1</code> ou le paramètre <code>-Xutf8</code> pour lancer Python&nbsp;3.7+.</p>
  290. <a href="#hr-96" title="Lien vers cette section de la page"><hr id="hr-96" /></a>
  291. <blockquote lang="en">
  292. <p>25&nbsp;January 1999&nbsp;was my first day at W3C. I was 23&nbsp;years old when I started. I’ve now spent more than half my life at that. <mark>I regret nothing</mark> because I find the work I do really interesting, important, meaningful; and I don’t tire of it because I feel like there’s renewal every now and&nbsp;then.</p>
  293. <p><cite><em><a data-link-domain="blog.koalie.net" href="https://blog.koalie.net/2024/02/29/25th-work-anniversary/" hreflang="en"
  294. title="Consultation de l’article (anglais)">25th work anniversary</a>
  295. <a href="/david/cache/2024/d74f376e53fc6a1108c59b6e6fa57ba1/" hreflang="en"
  296. data-tippy data-description="25 January 1999 was my first day at W3C. I was 23 years old when I started. I’ve now spent more than half my life at that. I regret nothing because I find the work I do really interesting, im…"
  297. data-source="https://blog.koalie.net/2024/02/29/25th-work-anniversary/"
  298. data-date="2024-03-01"
  299. data-favicon="https://blog.koalie.net/wp-content/uploads/2023/12/cropped-koalie-meiji-shrine-cropped-400px-32x32.jpeg"
  300. data-domain="blog.koalie.net"
  301. ><svg xmlns="http://www.w3.org/2000/svg"
  302. width="24" height="24" viewBox="0 0 24 24" fill="none"
  303. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  304. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  305. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  306. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  307. </svg>
  308. <span class="sr-only">[archive]</span></a></em></cite></p>
  309. </blockquote>
  310. <p>Dans la catégorie pas-toutes-les-héroïnes-ne-portent-de-capes, koalie tient une belle&nbsp;place&nbsp;🙇.</p>
  311. <nav>
  312. <p>
  313. <a href="/david/2024/commun/"
  314. title="Liste de tous les articles 2024 associés à cette étiquette"
  315. rel="tag">#commun</a>
  316. <a href="/david/2024/deception/"
  317. title="Liste de tous les articles 2024 associés à cette étiquette"
  318. rel="tag">#déception</a>
  319. <a href="/david/2024/psychologie/"
  320. title="Liste de tous les articles 2024 associés à cette étiquette"
  321. rel="tag">#psychologie</a>
  322. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  323. </p>
  324. </nav>
  325. <h2>
  326. <a href="/david/2024/02/27/" title="Lien permanent vers cet article">Rédaction</a> <time datetime="2024-02-27">27 février 2024</time>
  327. </h2>
  328. <blockquote>
  329. <p>Je suis curieux de savoir comment tu rédiges ces textes&#8239;! Tu prends des notes pendant tes excursions sur lesquelles tu te bases ou tu écris tout à chaud une fois chez toi&#8239;? Ou tu écris quelques jours après sur des souvenirs qui s’effritent déjà mais ça n’a pas&nbsp;d’importance&#8239;?&nbsp;🙂</p>
  330. <p><cite><em>Question de <a data-link-domain="social.bim.land" href="https://social.bim.land/@mlbiche">@mlbiche</a> sur&nbsp;masto</em></cite></p>
  331. </blockquote>
  332. <p>Il m’arrive de prendre des notes lors de sorties plus contemplatives (et moins risquées pour mes doigts&#8239;!) mais c’est assez rare. Je n’arrive pas à écrire une histoire en étant en train de la vivre, c’est comme de faire des vidéos, j’ai l’impression de trop me mettre en scène sinon. Lorsque le récit influe sur le déroulé, ça brise quelque chose au niveau de son authenticité et de mon&nbsp;ressenti.</p>
  333. <p>En général, je rédige cela à la maison, à chaud. Une fois que toutes les affaires ont été mises à sécher. Avec parfois des bribes qui s’agencent lors du long retour en voiture. Si j’attends plus de 24h, ce ne sont pas tant les souvenirs qui s’effritent que la motivation à les partager qui s’envole, ça m’est déjà arrivé plusieurs&nbsp;fois.</p>
  334. <a href="#hr-91" title="Lien vers cette section de la page"><hr id="hr-91" /></a>
  335. <blockquote>
  336. <p>Nos vies sont faites de métal incandescent.<br />
  337. Tant qu’elles rougeoient, nous en restons les forgerons.<br />
  338. Créateurs et inventeurs de&nbsp;nous-mêmes.</p>
  339. <p>Mais comme le métal du forgeron qui refroidit, comme la coulée de lave qui atteint l’extrémité de son expansion, nos vies se figent.<br />
  340. Ce n’est qu’à cet instant précis que l’on peut dire qui on a été. quand la coulée de la vie a pris sa forme&nbsp;définitive.</p>
  341. <p>D’ici je la contemple, cette vie. Ma vie.<br />
  342. Et je sais enfin qui je&nbsp;suis…</p>
  343. <p><cite><em>La saga de Grimr</em>, Jérémie&nbsp;Moreau</cite></p>
  344. </blockquote>
  345. <p>Rétrospective sous forme de <a data-link-domain="ut7.fr" href="https://www.ut7.fr/blog/2015/11/18/animer-vos-retrospectives-avec-le-conseil.html" hreflang="en"
  346. title="Consultation de l’article (anglais)">Conseil</a>
  347. <a href="/david/cache/2024/f3974ec778551dd1c3134c8094c3372b/" hreflang="en"
  348. data-tippy data-description="Un conseil, c’est une réunion en cercle où les personnes se parlent et font l’expérience individuelle de ce que c’est que d’appartenir au groupe."
  349. data-source="https://www.ut7.fr/blog/2015/11/18/animer-vos-retrospectives-avec-le-conseil.html"
  350. data-date="2024-02-27"
  351. data-favicon="https://www.ut7.fr/favicon-192x192.png"
  352. data-domain="ut7.fr"
  353. ><svg xmlns="http://www.w3.org/2000/svg"
  354. width="24" height="24" viewBox="0 0 24 24" fill="none"
  355. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  356. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  357. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  358. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  359. </svg>
  360. <span class="sr-only">[archive]</span></a> aujourd’hui. Je suis de plus en plus tenté d’introduire une 6<sup>e</sup> étape qui serait autour du pardon. <q>Je te pardonne pour …, cela m’a permis d’apprendre … </q>. J’ai l’intuition que cela pourrait ajouter quelque chose pour un groupe relativement intime qui s’inscrit dans la&nbsp;durée.</p>
  361. <nav>
  362. <p>
  363. <a href="/david/2024/ecriture/"
  364. title="Liste de tous les articles 2024 associés à cette étiquette"
  365. rel="tag">#écriture</a>
  366. <a href="/david/2024/processus/"
  367. title="Liste de tous les articles 2024 associés à cette étiquette"
  368. rel="tag">#processus</a>
  369. <a href="/david/2024/psychologie/"
  370. title="Liste de tous les articles 2024 associés à cette étiquette"
  371. rel="tag">#psychologie</a>
  372. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  373. </p>
  374. </nav>
  375. <h2>
  376. <a href="/david/2024/02/21/" title="Lien permanent vers cet article">Cinéma</a> <time datetime="2024-02-21">21 février 2024</time>
  377. </h2>
  378. <blockquote lang="en">
  379. <p>Software is a creative industry with more in common with media production industries than&nbsp;housebuilding.</p>
  380. <p><cite><em><a data-link-domain="baldurbjarnason.com" href="https://www.baldurbjarnason.com/2024/software-is-a-medium-of-setbacks/" hreflang="en"
  381. title="Consultation de l’article (anglais)">Software is a medium of setbacks, but a medium’s limitations don’t define the artist</a>
  382. <a href="/david/cache/2024/d133365d1dec62b9ad7ab4c911db863a/" hreflang="en"
  383. data-tippy data-description="Much of the time, progress in software development comes coupled with a matching regression.“We’ve made it better.”(Whispered) “But we’ve also made it worse. The evolution of Apple’s computing devices makes for a decent example."
  384. data-source="https://www.baldurbjarnason.com/2024/software-is-a-medium-of-setbacks/"
  385. data-date="2024-02-21"
  386. data-favicon="https://www.baldurbjarnason.com/dark-bird.svg"
  387. data-domain="baldurbjarnason.com"
  388. ><svg xmlns="http://www.w3.org/2000/svg"
  389. width="24" height="24" viewBox="0 0 24 24" fill="none"
  390. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  391. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  392. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  393. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  394. </svg>
  395. <span class="sr-only">[archive]</span></a></em></cite></p>
  396. </blockquote>
  397. <p>Pour filer la métaphore, je me demande si les assistants à base de <a data-link-domain="vitrinelinguistique.oqlf.gouv.qc.ca" href="https://vitrinelinguistique.oqlf.gouv.qc.ca/fiche-gdt/fiche/26570880/grand-modele-de-langage">grands modèles de langage</a> seraient l’équivalent des environnements verts dans lesquels évoluent les acteur·ices aujourd’hui. Leur métier a changé avec la technologie, leur jeu a dû s’adapter pour transmettre des émotions dans un contexte où iels ne maîtrisent plus du tout la chaîne de représentation de leur travail. J’imagine que même la vérification de leur prise nécessite une bonne dose&nbsp;d’imaginaire.</p>
  398. <p>Quel est leur sentiment à la fin d’une journée de tournage&#8239;? Quel sera le&nbsp;mien&#8239;?</p>
  399. <blockquote lang="en">
  400. <p>Dear Mr. Architect!</p>
  401. <p>Please design and build me a house. I am not quite sure of what I need, so you should use your discretion. My house should have between two and forty-five bedrooms. Just make sure the plans are such that the bedrooms can be easily added or deleted. When you bring the blueprints to me, I will make the final decision of what I want. Also, bring me the cost breakdown for each configuration so that I can arbitrarily pick&nbsp;one.</p>
  402. <p><cite><em><a data-link-domain="gksoft.com" href="http://www.gksoft.com/a/fun/architects.html" hreflang="en"
  403. title="Consultation de l’article (anglais)">If Architects had to work like Programmers</a>
  404. <a href="/david/cache/2024/2ad967b8fc35e160fa8e6c1d2a3b4734/" hreflang="en"
  405. data-tippy data-description="You must be thrilled to be working on an interesting project as this!"
  406. data-source="http://www.gksoft.com/a/fun/architects.html"
  407. data-date="2024-02-21"
  408. data-favicon=""
  409. data-domain="gksoft.com"
  410. ><svg xmlns="http://www.w3.org/2000/svg"
  411. width="24" height="24" viewBox="0 0 24 24" fill="none"
  412. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  413. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  414. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  415. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  416. </svg>
  417. <span class="sr-only">[archive]</span></a></em>, 1995</cite></p>
  418. </blockquote>
  419. <a href="#hr-83" title="Lien vers cette section de la page"><hr id="hr-83" /></a>
  420. <blockquote>
  421. <p>Fracas est un collectif queer et féministe d’aide à la gestion de conflits interpersonnels, de violences et d’agressions au sein de&nbsp;collectifs.</p>
  422. <p><cite><em><a data-link-domain="collectif-fracas.com" href="https://www.collectif-fracas.com/" hreflang="fr"
  423. title="Consultation de l’article">Fracas, collectif queer et féministe d’aide à la gestion de conflits</a>
  424. <a href="/david/cache/2024/f1041ff1c0dfabc719d64a4a5bcb0c10/" hreflang="fr"
  425. data-tippy data-description="Fracas est un collectif queer et féministe d’aide à la gestion de conflits interpersonnels, de violences et d’agressions au sein de collectifs."
  426. data-source="https://www.collectif-fracas.com/"
  427. data-date="2024-02-21"
  428. data-favicon="https://assets-global.website-files.com/60339ece26e0011279a8b071/614c50304051ad041149ae60_favicon.png"
  429. data-domain="collectif-fracas.com"
  430. ><svg xmlns="http://www.w3.org/2000/svg"
  431. width="24" height="24" viewBox="0 0 24 24" fill="none"
  432. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  433. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  434. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  435. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  436. </svg>
  437. <span class="sr-only">[archive]</span></a></em></cite></p>
  438. </blockquote>
  439. <p>Si peu de temps et tellement à&nbsp;explorer.</p>
  440. <p>(<a data-link-domain="cqfd-journal.org" href="https://cqfd-journal.org/Se-reapproprier-nos-conflits" hreflang="fr"
  441. title="Consultation de l’article">Via CQFD</a>
  442. <a href="/david/cache/2024/81e8bd49021e320b84e5d4fbd4c7f587/" hreflang="fr"
  443. data-tippy data-description="En se penchant sur les manières dont sont prises en charge les violences (notamment sexistes et sexuelles) dans les milieux militants, l’ouvrage (...)"
  444. data-source="https://cqfd-journal.org/Se-reapproprier-nos-conflits"
  445. data-date="2024-02-21"
  446. data-favicon="https://cqfd-journal.org/squelettes/favicon.ico"
  447. data-domain="cqfd-journal.org"
  448. ><svg xmlns="http://www.w3.org/2000/svg"
  449. width="24" height="24" viewBox="0 0 24 24" fill="none"
  450. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  451. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  452. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  453. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  454. </svg>
  455. <span class="sr-only">[archive]</span></a> qui arrive à ne faire aucun lien vers le site en question, ça me rend&nbsp;fou…)</p>
  456. <nav>
  457. <p>
  458. <a href="/david/2024/dystopie/"
  459. title="Liste de tous les articles 2024 associés à cette étiquette"
  460. rel="tag">#dystopie</a>
  461. <a href="/david/2024/ia/"
  462. title="Liste de tous les articles 2024 associés à cette étiquette"
  463. rel="tag">#IA</a>
  464. <a href="/david/2024/psychologie/"
  465. title="Liste de tous les articles 2024 associés à cette étiquette"
  466. rel="tag">#psychologie</a>
  467. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  468. </p>
  469. </nav>
  470. <h2>
  471. <a href="/david/2024/02/11/" title="Lien permanent vers cet article">Violence</a> <time datetime="2024-02-11">11 février 2024</time>
  472. </h2>
  473. <p>Il y a une forme de violence à dire —&nbsp;de manière plus ou moins directe&nbsp;— à des personnes que les outils numériques qu’elles utilisent ne sont pas appropriés. D’autant plus en ne proposant pas d’alternative réellement&nbsp;utilisable&nbsp;:&nbsp;</p>
  474. <ul>
  475. <li>dans le contexte de littératie numérique de la&nbsp;personne,</li>
  476. <li>dans le contexte culturel du groupe de travail autour de la&nbsp;personne,</li>
  477. <li>dans les priorités actuelles du groupe pour lequel l’informatique reste un outil&nbsp;et/ou</li>
  478. <li>dans la situation de détresse en&nbsp;cours.</li>
  479. </ul>
  480. <p>Si la <em>ré</em>-action est inappropriée, c’est peut-être que l’action initiale ne l’était pas non&nbsp;plus…</p>
  481. <nav>
  482. <p>
  483. <a href="/david/2024/communaute/"
  484. title="Liste de tous les articles 2024 associés à cette étiquette"
  485. rel="tag">#communauté</a>
  486. <a href="/david/2024/opensource/"
  487. title="Liste de tous les articles 2024 associés à cette étiquette"
  488. rel="tag">#opensource</a>
  489. <a href="/david/2024/psychologie/"
  490. title="Liste de tous les articles 2024 associés à cette étiquette"
  491. rel="tag">#psychologie</a>
  492. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  493. </p>
  494. </nav>
  495. <h2>
  496. <a href="/david/2024/02/10/" title="Lien permanent vers cet article">Validisme</a> <time datetime="2024-02-10">10 février 2024</time>
  497. </h2>
  498. <blockquote>
  499. <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>
  500. <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>
  501. <p>Un peu comme une personne blanche qui dirait que le racisme n’existe pas vu qu’elle ne le vit pas<br />
  502. Ou un homme avec le&nbsp;sexisme</p>
  503. <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 />
  504. 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>
  505. <p>Et c’est frustrant quand, mauvaise pioche&#8239;! on est systématiquement dans la minorité&nbsp;statistique</p>
  506. <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 />
  507. ou le&nbsp;1% avec un fauteuil roulant dans la pièce
  508. etc.</p>
  509. <p>Certaines personnes passent 90% de leur vie à être dans le&nbsp;mauvaise-pioche-1%</p>
  510. <p><cite><em><a data-link-domain="eldritch.cafe" href="https://eldritch.cafe/@davidbruant/111872926260149351">Sapphire Rubyant sur&nbsp;masto</a></em></cite></p>
  511. </blockquote>
  512. <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>
  513. <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>
  514. <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>
  515. <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>
  516. <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>
  517. <p>J’ai encore du&nbsp;travail.</p>
  518. <nav>
  519. <p>
  520. <a href="/david/2024/accessibilite/"
  521. title="Liste de tous les articles 2024 associés à cette étiquette"
  522. rel="tag">#accessibilité</a>
  523. <a href="/david/2024/experience/"
  524. title="Liste de tous les articles 2024 associés à cette étiquette"
  525. rel="tag">#expérience</a>
  526. <a href="/david/2024/psychologie/"
  527. title="Liste de tous les articles 2024 associés à cette étiquette"
  528. rel="tag">#psychologie</a>
  529. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  530. </p>
  531. </nav>
  532. <h2>
  533. <a href="/david/2024/02/05/" title="Lien permanent vers cet article">Jeu</a> <time datetime="2024-02-05">5 février 2024</time>
  534. </h2>
  535. <p>Dans la même&nbsp;journée&nbsp;:</p>
  536. <blockquote lang="en">
  537. <p><mark>Built like a video&nbsp;game</mark></p>
  538. <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>
  539. <p><cite><em><a data-link-domain="quadratichq.com" href="https://www.quadratichq.com/">quadratic</a></em></cite></p>
  540. </blockquote>
  541. <p>Puis&nbsp;:</p>
  542. <blockquote lang="en">
  543. <p><mark>Built like a video&nbsp;game</mark></p>
  544. <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>
  545. <p><cite><em><a data-link-domain="zed.dev" href="https://zed.dev/">Zed</a></em></cite></p>
  546. </blockquote>
  547. <p>Intéressant comme coïncidence&nbsp;commerciale.</p>
  548. <a href="#hr-67" title="Lien vers cette section de la page"><hr id="hr-67" /></a>
  549. <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>
  550. <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>
  551. <nav>
  552. <p>
  553. <a href="/david/2024/experience/"
  554. title="Liste de tous les articles 2024 associés à cette étiquette"
  555. rel="tag">#expérience</a>
  556. <a href="/david/2024/psychologie/"
  557. title="Liste de tous les articles 2024 associés à cette étiquette"
  558. rel="tag">#psychologie</a>
  559. <a href="/david/2024/technique/"
  560. title="Liste de tous les articles 2024 associés à cette étiquette"
  561. rel="tag">#technique</a>
  562. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  563. </p>
  564. </nav>
  565. <h2>
  566. <a href="/david/2024/01/26/" title="Lien permanent vers cet article">Cargo</a> <time datetime="2024-01-26">26 janvier 2024</time>
  567. </h2>
  568. <blockquote lang="en">
  569. <p>I think the actual harm of signing git commits is to perpetuate an engineering culture of unquestioningly cargo-culting sophisticated and complex tools like cryptographic signatures into new contexts where they have no&nbsp;use.</p>
  570. <p>Just from a baseline utilitarian philosophical perspective, for a given action A, all else being equal, it’s always better not to do A, because taking an action always has some non-zero opportunity cost even if it is just the time taken to do it. Epsilon cost and zero benefit is still a net harm. This is even more true in the context of a complex system. Any action taken in response to a rule in a system is going to interact with all the other rules in that system. You have to pay complexity-rent on every new rule. <mark>So an apparently-useless embellishment like signing commits can have potentially far-reaching consequences in the&nbsp;future.</mark></p>
  571. <p><cite><em><a data-link-domain="blog.glyph.im" href="https://blog.glyph.im/2024/01/unsigned-commits.html" hreflang="en"
  572. title="Consultation de l’article (anglais)">Unsigned Commits</a>
  573. <a href="/david/cache/2024/ce5fdc61fd66cdb9ce548fb543eba986/" hreflang="en"
  574. data-tippy data-description="Deciphering Glyph, the blog of Glyph Lefkowitz."
  575. data-source="https://blog.glyph.im/2024/01/unsigned-commits.html"
  576. data-date="2024-01-25"
  577. data-favicon="https://blog.glyph.im/images/favicon.ico"
  578. data-domain="blog.glyph.im"
  579. ><svg xmlns="http://www.w3.org/2000/svg"
  580. width="24" height="24" viewBox="0 0 24 24" fill="none"
  581. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  582. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  583. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  584. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  585. </svg>
  586. <span class="sr-only">[archive]</span></a></em></cite></p>
  587. </blockquote>
  588. <p>J’avoue avoir sauté sur l’occasion lorsque j’en ai eu la possibilité avec <a data-link-domain="git-tower.com" href="https://www.git-tower.com/help/guides/integration/gpg/mac">mon client git</a> pour avoir le badge vert sur Microsoft GitHub et Gitlab sans trop me poser de questions. C’était peut-être une erreur et je vais faire mûrir ma réflexion maintenant qu’on m’a mis le nez&nbsp;dedans.</p>
  589. <p>Entre <em>refus de parvenir</em> et auto-défense&nbsp;numérique.</p>
  590. <a href="#hr-50" title="Lien vers cette section de la page"><hr id="hr-50" /></a>
  591. <blockquote>
  592. <p>Cette lutte ne créera pas un mouvement de masse…<br />
  593. Mais elle est un ingrédient, parmi de nombreuses autres luttes territoriales, qui toutes façonnent ces mêmes possibilités affectives…<br />
  594. Se sentir coïncider non pas avec soi-même mais avec un milieu de vie…<br />
  595. Se sentir maillé à un vaste collectif d’humains et de non-humains…<br />
  596. Des affects, qui constituent la nécessaire force motrice du mouvement que nous espérons voir&nbsp;croître.</p>
  597. <p><cite><em><a data-link-domain="puntish.blogspot.com" href="http://puntish.blogspot.com/2024/01/defendre-le-glacier-de-la-grave.html">Défendre le glacier de La&nbsp;Grave</a></em></cite></p>
  598. </blockquote>
  599. <p>La justesse d’Alessandro Pignocchi et les couleurs de ses&nbsp;aquarelles&nbsp;💚.</p>
  600. <a href="#hr-51" title="Lien vers cette section de la page"><hr id="hr-51" /></a>
  601. <blockquote lang="en">
  602. <p>Every time I have told someone “I want to replace PDF“, the statement has been met with extreme skepticism. Hopefully this document has convinced you that <mark>HTML-via-EPUB could potentially be a viable</mark> and desirable document format for the&nbsp;future.</p>
  603. <p><cite><em><a data-link-domain="willcrichton.net" href="https://willcrichton.net/notes/portable-epubs/" hreflang="en"
  604. title="Consultation de l’article (anglais)">Portable EPUBs</a>
  605. <a href="/david/cache/2024/ffaf50bf5d5e4cf870a618b518ee5ba7/" hreflang="en"
  606. data-tippy data-description="A proposal for the next generation of portable documents."
  607. data-source="https://willcrichton.net/notes/portable-epubs/"
  608. data-date="2024-01-25"
  609. data-favicon=""
  610. data-domain="willcrichton.net"
  611. ><svg xmlns="http://www.w3.org/2000/svg"
  612. width="24" height="24" viewBox="0 0 24 24" fill="none"
  613. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  614. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  615. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  616. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  617. </svg>
  618. <span class="sr-only">[archive]</span></a></em></cite></p>
  619. </blockquote>
  620. <p>Superbe initiative qui rappelle cruellement ce <a data-link-domain="xkcd.com" href="https://xkcd.com/927/">célèbre XKCD</a> mais qui m’est franchement bien plus utilisable qu’un PDF, quel que soit le lecteur… à part pour en récupérer la source avec mon extracteur maison. Cela me fait découvrir <a data-link-domain="nota-lang.org" href="https://nota-lang.org/">Nota</a> au&nbsp;passage.</p>
  621. <p>Un simple individu peut-il faire bouger des choses dans le&nbsp;domaine&#8239;?</p>
  622. <a href="#hr-52" title="Lien vers cette section de la page"><hr id="hr-52" /></a>
  623. <blockquote>
  624. <p>Les sites et outils numériques que je&nbsp;propose</p>
  625. <p><cite><em><a data-link-domain="eyssette.github.io" href="https://eyssette.github.io/">Cédric&nbsp;Eyssette</a></em></cite></p>
  626. </blockquote>
  627. <p>Beaucoup de belles et frugales choses (autour de markdown) à explorer sur cet&nbsp;espace.</p>
  628. <nav>
  629. <p>
  630. <a href="/david/2024/gratitude/"
  631. title="Liste de tous les articles 2024 associés à cette étiquette"
  632. rel="tag">#gratitude</a>
  633. <a href="/david/2024/partage/"
  634. title="Liste de tous les articles 2024 associés à cette étiquette"
  635. rel="tag">#partage</a>
  636. <a href="/david/2024/psychologie/"
  637. title="Liste de tous les articles 2024 associés à cette étiquette"
  638. rel="tag">#psychologie</a>
  639. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  640. </p>
  641. </nav>
  642. <h2>
  643. <a href="/david/2024/01/12/" title="Lien permanent vers cet article">Personnel</a> <time datetime="2024-01-12">12 janvier 2024</time>
  644. </h2>
  645. <blockquote>
  646. <p>Mes lieux de lecture et d’écriture sont très associés. J’écris parce que je&nbsp;lis.</p>
  647. <p>J’écris de deux&nbsp;façons.</p>
  648. <p><cite><em><a data-link-domain="la-grange.net" href="https://www.la-grange.net/2024/01/11/pourquoi" hreflang="fr"
  649. title="Consultation de l’article">je ne sais pas pourquoi</a>
  650. <a href="/david/cache/2024/87c468a4eddabe5d2c28e902d7f17504/" hreflang="fr"
  651. data-tippy data-description=""
  652. data-source="https://www.la-grange.net/2024/01/11/pourquoi"
  653. data-date="2024-01-11"
  654. data-favicon="https://www.la-grange.net/favicon.ico"
  655. data-domain="la-grange.net"
  656. ><svg xmlns="http://www.w3.org/2000/svg"
  657. width="24" height="24" viewBox="0 0 24 24" fill="none"
  658. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  659. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  660. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  661. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  662. </svg>
  663. <span class="sr-only">[archive]</span></a></em></cite></p>
  664. </blockquote>
  665. <p>Karl nous parle de ses moments / lieux d’écriture et de lecture. Je me suis souvent posé cette question et je reconnais des <abbr title="Où Lire, Où Écrire.">oloés</abbr> communs (une <a data-link-domain="tw5.immateriel.fr" href="https://tw5.immateriel.fr/wiki/immateriel/b/YXGEDFB" hreflang="fr"
  666. title="Consultation de l’article">définition par ici</a>
  667. <a href="/david/cache/2024/89dbef9daef24f311b6401cef62f5855/" hreflang="fr"
  668. data-tippy data-description="Une chaise, un lit, un canapé, une baignoire, une place de métro, un banc dans un parc, un muret. Un fauteuil à roulettes, une file d’attente, une branche, une buche, un abri de tramway, une marche d’escalier. Une plage, un kiosque, un socle de statue, un recoin de cafétéria."
  669. data-source="https://tw5.immateriel.fr/wiki/immateriel/b/YXGEDFB"
  670. data-date="2024-01-11"
  671. data-favicon="https://tw5.immateriel.fr/wiki/immateriel/b/favicon.ico"
  672. data-domain="tw5.immateriel.fr"
  673. ><svg xmlns="http://www.w3.org/2000/svg"
  674. width="24" height="24" viewBox="0 0 24 24" fill="none"
  675. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  676. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  677. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  678. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  679. </svg>
  680. <span class="sr-only">[archive]</span></a>). Mes moments et lieux sont beaucoup plus traditionnels, c’est principalement le soir et dans mon bureau-chambre. Mais il n’y a pas de règle stricte pour autant. Parfois, l’envie d’écrire va être trop forte lors d’une lecture en cours de journée, d’autres fois je vais me réveiller tôt et commencer à écrire dans ma tête depuis mon lit ou sous la douche. Une idée peut arriver et/ou s’étirer en faisant du sport ou dans des contextes&nbsp;routiniers.</p>
  681. <p>Et puis il y a l’écriture qui appelle une autre écriture, ce moment de <a data-link-domain="blog.jim-nielsen.com" href="https://blog.jim-nielsen.com/2023/blogging-and-compositing/" hreflang="en"
  682. title="Consultation de l’article (anglais)">compost</a>
  683. <a href="/david/cache/2024/5030196507bcf3e06162e9eaed40abbe/" hreflang="en"
  684. data-tippy data-description="Writing about the big beautiful mess that is making things for the world wide web."
  685. data-source="https://blog.jim-nielsen.com/2023/blogging-and-compositing/"
  686. data-date="2024-01-11"
  687. data-favicon="https://blog.jim-nielsen.com/favicon.ico"
  688. data-domain="blog.jim-nielsen.com"
  689. ><svg xmlns="http://www.w3.org/2000/svg"
  690. width="24" height="24" viewBox="0 0 24 24" fill="none"
  691. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  692. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  693. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  694. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  695. </svg>
  696. <span class="sr-only">[archive]</span></a> où l’on sent qu’il y avait une deuxième vie possible à cette réflexion. Un autre <a href="/david/stream/2018/04/07/">tour de spirale</a>.</p>
  697. <blockquote lang="en">
  698. <p><strong>marketing feels like a layer of veneer, full of shiny promises in order to reel you in, where the goal is to collect you — as a part of an&nbsp;“audience.”</strong></p>
  699. <p>but I think, in this race to “build an audience,” somewhere in the process, something is missing, left behind — perhaps, a sense of humanity, or individual complexity, or truth, or&nbsp;intimacy.</p>
  700. <p>I don’t want to feel like I’m just an email address, an IP address, or a potential “lead.” I want to feel fully seen. human.</p>
  701. <p>[…] instead of “building an audience,” build a world. <mark>build a digital garden-ecosystem, that exists</mark> — first and primarily — <em>for itself</em>. a world that doesn’t need likes, traffic, subscribers, or clicks — in order to validate its&nbsp;existence.</p>
  702. <p><cite><em><a data-link-domain="keningzhu.com" href="https://keningzhu.com/journal/build-a-world-not-an-audience" hreflang="en"
  703. title="Consultation de l’article (anglais)">build a world, not an audience</a>
  704. <a href="/david/cache/2024/cd2fda3dae5d89990f73fbdaa1c3b491/" hreflang="en"
  705. data-tippy data-description="don’t chase your audience, let them find your world."
  706. data-source="https://keningzhu.com/journal/build-a-world-not-an-audience"
  707. data-date="2024-01-11"
  708. data-favicon="https://images.squarespace-cdn.com/content/v1/51e8148de4b01c1eb79c1977/1547586234044-PLNK9XVHXBYWZ5A1673H/favicon.ico?format=100w"
  709. data-domain="keningzhu.com"
  710. ><svg xmlns="http://www.w3.org/2000/svg"
  711. width="24" height="24" viewBox="0 0 24 24" fill="none"
  712. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  713. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  714. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  715. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  716. </svg>
  717. <span class="sr-only">[archive]</span></a></em></cite></p>
  718. </blockquote>
  719. <a href="#hr-26" title="Lien vers cette section de la page"><hr id="hr-26" /></a>
  720. <blockquote lang="en">
  721. <p>These are all very interesting questions but for me, the more pressing question is a slightly different one: which <em>you</em> is your personal site representing? We often don’t pay too much attention to this but <mark>we all have different ways of being&nbsp;ourselves.</mark></p>
  722. <p>So which one of these should my site represent? Should my site be the personal site of the Manu freelance web developer, with his interests in digital typography, minimal design, and simple websites? Or should represent the slightly competitive on the basketball court Manu, who doesn’t really care all that much about winning but is concerned about having fun? Or maybe it should represent Manu the romantic partner, with all his worry about the practical aspects of life but also full of affection for his partner? The list goes on and&nbsp;on.</p>
  723. <p><cite><em><a data-link-domain="manuelmoreale.com" href="https://manuelmoreale.com/the-personality-of-a-personal-website" hreflang="en"
  724. title="Consultation de l’article (anglais)">The personality of a personal website</a>
  725. <a href="/david/cache/2024/e5c1ca8e3beeb0d256a064832c3566aa/" hreflang="en"
  726. data-tippy data-description="With his “ I am a poem I am not software” post Robin touched on an interesting problem related to personal websites. I’m not going to summarise …"
  727. data-source="https://manuelmoreale.com/the-personality-of-a-personal-website"
  728. data-date="2024-01-11"
  729. data-favicon="https://manuelmoreale.com/favicon.ico"
  730. data-domain="manuelmoreale.com"
  731. ><svg xmlns="http://www.w3.org/2000/svg"
  732. width="24" height="24" viewBox="0 0 24 24" fill="none"
  733. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  734. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  735. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  736. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  737. </svg>
  738. <span class="sr-only">[archive]</span></a></em></cite></p>
  739. </blockquote>
  740. <p>Je m’interroge souvent sur ce que j’essaye de cacher ici. Ce que cela raconte de ma personnalité, si l’image retournée est <a data-link-domain="thom4.net" href="https://thom4.net/2023/02/01/carnets/" hreflang="fr"
  741. title="Consultation de l’article">vraiment fidèle</a>
  742. <a href="/david/cache/2024/09c0739036ea4a8b6c985e127fe7e3c8/" hreflang="fr"
  743. data-tippy data-description="J’aurais pu m’en rendre compte il y a vingt ans, mais il me manquait le recul de deux décennies."
  744. data-source="https://thom4.net/2023/02/01/carnets/"
  745. data-date="2024-01-11"
  746. data-favicon="https://thom4.net/assets/favicon-32x32.png"
  747. data-domain="thom4.net"
  748. ><svg xmlns="http://www.w3.org/2000/svg"
  749. width="24" height="24" viewBox="0 0 24 24" fill="none"
  750. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  751. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  752. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  753. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  754. </svg>
  755. <span class="sr-only">[archive]</span></a> après tout. L’écriture en ligne reste une forme d’expression qui s’attend au regard des autres. Si j’entretiens un journal <em>extime</em> depuis tant d’années c’est bien qu’il y a un enjeu à ce niveau&nbsp;là.</p>
  756. <a href="#hr-27" title="Lien vers cette section de la page"><hr id="hr-27" /></a>
  757. <blockquote lang="en">
  758. <p>We shape our structures and afterward our structures shape us, but the <em>we</em> of the first clause and the <em>us</em> of the second <mark>are not the&nbsp;same.</mark></p>
  759. <p><cite><a data-link-domain="erinkissane.com" href="https://erinkissane.com/tomorrow-and-tomorrow-and-tomorrow" hreflang="en"
  760. title="Consultation de l’article (anglais)">Tomorrow &amp; Tomorrow &amp; Tomorrow</a>
  761. <a href="/david/cache/2024/62bf3ce6ef66e39b7f250a6123d92e66/" hreflang="en"
  762. data-tippy data-description="We realize then that it is just the patterns of events in space which are repeating in the building or the town: and nothing else."
  763. data-source="https://erinkissane.com/tomorrow-and-tomorrow-and-tomorrow"
  764. data-date="2024-01-11"
  765. data-favicon=""
  766. data-domain="erinkissane.com"
  767. ><svg xmlns="http://www.w3.org/2000/svg"
  768. width="24" height="24" viewBox="0 0 24 24" fill="none"
  769. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  770. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  771. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  772. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  773. </svg>
  774. <span class="sr-only">[archive]</span></a></cite></p>
  775. </blockquote>
  776. <p>En rebond de la <a data-link-domain="quaternum.net" href="https://www.quaternum.net/2024/01/08/tools-shape-practices-shape-tools/" hreflang="fr"
  777. title="Consultation de l’article">découverte d’Antoine</a>
  778. <a href="/david/cache/2024/34fec23081019abd741e0578b050c40e/" hreflang="fr"
  779. data-tippy data-description="Je découvre (très) tardivement ce _mantra_, ou plutôt ce positionnement récursif et infini : les pratiques modèlent les outils qui modèlent les pratiques etc."
  780. data-source="https://www.quaternum.net/2024/01/08/tools-shape-practices-shape-tools/"
  781. data-date="2024-01-11"
  782. data-favicon=""
  783. data-domain="quaternum.net"
  784. ><svg xmlns="http://www.w3.org/2000/svg"
  785. width="24" height="24" viewBox="0 0 24 24" fill="none"
  786. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  787. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  788. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  789. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  790. </svg>
  791. <span class="sr-only">[archive]</span></a>. Une autre façon d’être&nbsp;dé·formé.</p>
  792. <a href="#hr-28" title="Lien vers cette section de la page"><hr id="hr-28" /></a>
  793. <p>Deux outils autour de la transformation de&nbsp;vidéos&nbsp;:</p>
  794. <ul>
  795. <li><a data-link-domain="ybouane.com" href="https://ybouane.com/ffmpeg-ui">FFMPEG&nbsp;UI</a></li>
  796. <li><a data-link-domain="mifi.no" href="https://mifi.no/losslesscut/">LosslessCut</a></li>
  797. </ul>
  798. <nav>
  799. <p>
  800. <a href="/david/2024/ecriture/"
  801. title="Liste de tous les articles 2024 associés à cette étiquette"
  802. rel="tag">#écriture</a>
  803. <a href="/david/2024/processus/"
  804. title="Liste de tous les articles 2024 associés à cette étiquette"
  805. rel="tag">#processus</a>
  806. <a href="/david/2024/psychologie/"
  807. title="Liste de tous les articles 2024 associés à cette étiquette"
  808. rel="tag">#psychologie</a>
  809. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  810. </p>
  811. </nav>
  812. <form action="/david/recherche/" method="get">
  813. <fieldset>
  814. <legend>Recherche</legend>
  815. <label for="input-search">Termes de votre recherche :</label>
  816. <input id="input-search" type="search" name="s" aria-describedby="indexation-infos" required>
  817. <input type="submit" value="Chercher">
  818. <p id="indexation-infos">
  819. <small>
  820. Seuls les contenus de ces 8 dernières années sont indexés.
  821. </small>
  822. </p>
  823. </fieldset>
  824. </form>
  825. <aside>
  826. <theme-toggle></theme-toggle>
  827. </aside>
  828. </article>
  829. <hr>
  830. <footer>
  831. <p>
  832. <a href="/david/" title="Aller à l’accueil">Accueil</a>
  833. <a href="/david/log/" title="Accès au flux RSS">Suivre</a>
  834. <a href="http://larlet.com"
  835. title="Go to my English profile"
  836. data-instant>Pro</a>
  837. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">Email</a>
  838. <abbr title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">Légal</abbr>
  839. </p>
  840. <template id="theme-selector">
  841. <form>
  842. <style type="text/css">
  843. fieldset div {
  844. text-align: center;
  845. }
  846. </style>
  847. <fieldset>
  848. <legend>Thème</legend>
  849. <div>
  850. <label>
  851. <input type="radio" value="auto" name="chosen-color-scheme" checked>
  852. Auto
  853. </label>
  854. <label>
  855. <input type="radio" value="dark" name="chosen-color-scheme">
  856. Foncé
  857. </label>
  858. <label>
  859. <input type="radio" value="light" name="chosen-color-scheme">
  860. Clair
  861. </label>
  862. </div>
  863. </fieldset>
  864. </form>
  865. </template>
  866. </footer>
  867. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  868. <script>
  869. class ThemeToggle extends HTMLElement {
  870. constructor() {
  871. super()
  872. const themeSelectorTemplate = document.querySelector('#theme-selector')
  873. const form = themeSelectorTemplate.content.firstElementChild
  874. this.attachShadow({ mode: 'open' })
  875. this.shadowRoot.appendChild(form.cloneNode(true))
  876. }
  877. connectedCallback() {
  878. const form = this.shadowRoot.querySelector('form')
  879. form.addEventListener('change', (e) => {
  880. const chosenColorScheme = e.target.value
  881. localStorage.setItem('theme', chosenColorScheme)
  882. toggleTheme(chosenColorScheme)
  883. })
  884. const selectedTheme = localStorage.getItem('theme')
  885. if (selectedTheme && selectedTheme !== 'undefined') {
  886. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  887. }
  888. }
  889. }
  890. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  891. window.addEventListener('load', () => {
  892. let colorsLayer = undefined
  893. let hasDarkRules = false
  894. for (const styleSheet of Array.from(document.styleSheets)) {
  895. let mediaRules = []
  896. for (const layerRule of styleSheet.cssRules) {
  897. if (!(layerRule instanceof CSSLayerBlockRule)) {
  898. continue
  899. }
  900. if (layerRule.name === 'colors') {
  901. colorsLayer = layerRule
  902. }
  903. for (const cssRule of layerRule.cssRules) {
  904. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  905. continue
  906. }
  907. // WARNING: Safari does not have/supports `conditionText`.
  908. if (cssRule.conditionText) {
  909. if (cssRule.conditionText !== prefersColorSchemeDark) {
  910. continue
  911. }
  912. } else {
  913. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  914. continue
  915. }
  916. }
  917. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  918. }
  919. }
  920. // WARNING: do not try to insert a Rule to a styleSheet you are
  921. // currently iterating on, otherwise the browser will be stuck
  922. // in a infinite loop…
  923. for (const mediaRule of mediaRules) {
  924. // Safari requires the `0` second parameter (even if default).
  925. colorsLayer.insertRule(mediaRule.cssText, 0)
  926. hasDarkRules = true
  927. }
  928. }
  929. if (hasDarkRules) {
  930. if ('customElements' in window && !customElements.get('theme-toggle')) {
  931. customElements.define('theme-toggle', ThemeToggle)
  932. }
  933. }
  934. })
  935. </script>
  936. </body>
  937. </html>