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 116KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488
  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 #apprentissage
  14. — David Larlet</title>
  15. <meta name="description" content="Publications relatives au tag #apprentissage">
  16. <!-- That good ol' feed, subscribe :). -->
  17. <link rel="alternate"
  18. type="application/atom+xml"
  19. title="Feed"
  20. href="/david/log/">
  21. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  22. <link rel="apple-touch-icon"
  23. sizes="180x180"
  24. href="/static/david/icons2/apple-touch-icon.png">
  25. <link rel="icon"
  26. type="image/png"
  27. sizes="32x32"
  28. href="/static/david/icons2/favicon-32x32.png">
  29. <link rel="icon"
  30. type="image/png"
  31. sizes="16x16"
  32. href="/static/david/icons2/favicon-16x16.png">
  33. <link rel="manifest" href="/static/david/icons2/site.webmanifest">
  34. <link rel="mask-icon"
  35. href="/static/david/icons2/safari-pinned-tab.svg"
  36. color="#07486c">
  37. <link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
  38. <meta name="msapplication-TileColor" content="#f7f7f7">
  39. <meta name="msapplication-config"
  40. content="/static/david/icons2/browserconfig.xml">
  41. <meta name="theme-color"
  42. content="#f7f7f7"
  43. media="(prefers-color-scheme: light)">
  44. <meta name="theme-color"
  45. content="#272727"
  46. media="(prefers-color-scheme: dark)">
  47. <!-- Is that even respected? Retrospectively? What a shAItshow…
  48. https://neil-clarke.com/block-the-bots-that-feed-ai-models-by-scraping-your-website/ -->
  49. <meta name="robots" content="noai, noimageai">
  50. <!-- Documented, feel free to shoot an email. -->
  51. <link rel="stylesheet" href="/static/david/css/style_2024-02-03.css">
  52. <!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
  53. <link rel="preload"
  54. href="/static/david/css/fonts/century_supra_ot_a_regular.woff2"
  55. as="font"
  56. type="font/woff2"
  57. media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
  58. crossorigin>
  59. <link rel="preload"
  60. href="/static/david/css/fonts/century_supra_ot_a_bold.woff2"
  61. as="font"
  62. type="font/woff2"
  63. media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
  64. crossorigin>
  65. <link rel="preload"
  66. href="/static/david/css/fonts/century_supra_ot_a_italic.woff2"
  67. as="font"
  68. type="font/woff2"
  69. media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
  70. crossorigin>
  71. <link rel="preload"
  72. href="/static/david/css/fonts/century_supra_ot_b_regular.woff2"
  73. as="font"
  74. type="font/woff2"
  75. media="(prefers-color-scheme: dark)"
  76. crossorigin>
  77. <link rel="preload"
  78. href="/static/david/css/fonts/century_supra_ot_b_bold.woff2"
  79. as="font"
  80. type="font/woff2"
  81. media="(prefers-color-scheme: dark)"
  82. crossorigin>
  83. <link rel="preload"
  84. href="/static/david/css/fonts/century_supra_ot_b_italic.woff2"
  85. as="font"
  86. type="font/woff2"
  87. media="(prefers-color-scheme: dark)"
  88. crossorigin>
  89. <script>
  90. function toggleTheme(themeName) {
  91. document.documentElement.classList.toggle(
  92. 'forced-dark',
  93. themeName === 'dark'
  94. )
  95. document.documentElement.classList.toggle(
  96. 'forced-light',
  97. themeName === 'light'
  98. )
  99. }
  100. const selectedTheme = localStorage.getItem('theme')
  101. if (selectedTheme !== 'undefined') {
  102. toggleTheme(selectedTheme)
  103. }
  104. </script>
  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>#apprentissage</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/02/23/" title="Lien permanent vers cet article">Préparatifs</a> <time datetime="2024-02-23">23 février 2024</time>
  132. </h2>
  133. <p>J’admire les personnes qui arrivent à prendre une photo de leur sac de manière éclatée avant de partir. J’ai toujours pas mal de choses à rajouter au dernier moment, j’essaye au moins d’avoir les basiques de façon&nbsp;certaine.</p>
  134. <a href="#hr-86" title="Lien vers cette section de la page"><hr id="hr-86" /></a>
  135. <blockquote lang="en">
  136. <p>A utopia for web that I can envision would have <mark>rich component creation</mark> and manipulation capabilities in built as a part of spec and browsers implementing them. Hence, we won’t have to include any of the heavy third party libraries which will give faster load times to the users by saving the download costs by a huge&nbsp;amounts.</p>
  137. <p><cite><em><a data-link-domain="codeburst.io" href="https://codeburst.io/generating-config-driven-dynamic-forms-using-web-components-7c8d400f7f2e" hreflang="en"
  138. title="Consultation de l’article (anglais)">Generating Config driven Dynamic Forms using Web Components</a>
  139. <a href="/david/cache/2024/5da390fa8d93278cd62233d3915729e7/" hreflang="en"
  140. data-tippy data-description="Over the years, we as UI Developers have become so habitual of using the already available UI Frameworks and Libraries like React, Angular, Vue etc due to the increasing demand of shipping things…"
  141. data-source="https://codeburst.io/generating-config-driven-dynamic-forms-using-web-components-7c8d400f7f2e"
  142. data-date="2024-02-23"
  143. data-favicon="https://miro.medium.com/v2/resize:fill:256:256/1*mNmxddJJTzkiBfK77mWuGA.png"
  144. data-domain="codeburst.io"
  145. ><svg xmlns="http://www.w3.org/2000/svg"
  146. width="24" height="24" viewBox="0 0 24 24" fill="none"
  147. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  148. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  149. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  150. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  151. </svg>
  152. <span class="sr-only">[archive]</span></a></em></cite></p>
  153. </blockquote>
  154. <p>Aujourd’hui, j’ai exploré les façons de faire des formulaires en assemblant des <em>Web Components</em>. Cet article de 2019&nbsp;donne un bon aperçu de ce qu’il est possible de faire. Il y a aussi <a data-link-domain="dev.to" href="https://dev.to/stuffbreaker/custom-forms-with-web-components-and-elementinternals-4jaj" hreflang="en"
  155. title="Consultation de l’article (anglais)">cet autre article</a>
  156. <a href="/david/cache/2024/2cadf792810f64540605c86a1431cb6b/" hreflang="en"
  157. data-tippy data-description="The ElementInternals API allows us to create form-associated custom elements which we can use to make our own supercharged form fields."
  158. data-source="https://dev.to/stuffbreaker/custom-forms-with-web-components-and-elementinternals-4jaj"
  159. data-date="2024-02-23"
  160. data-favicon="https://media.dev.to/cdn-cgi/image/width=192,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png"
  161. data-domain="dev.to"
  162. ><svg xmlns="http://www.w3.org/2000/svg"
  163. width="24" height="24" viewBox="0 0 24 24" fill="none"
  164. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  165. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  166. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  167. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  168. </svg>
  169. <span class="sr-only">[archive]</span></a> qui m’a permis de découvrir <a data-link-domain="MDN" href="https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals">ElementInternals</a>. Des frameworks comme Shoelace <a data-link-domain="shoelace.style" href="https://shoelace.style/getting-started/form-controls">pourraient être inspirants</a> dans le&nbsp;domaine.</p>
  170. <a href="#hr-87" title="Lien vers cette section de la page"><hr id="hr-87" /></a>
  171. <blockquote lang="en">
  172. <p>RH uses GNOME 3. Ubuntu used Unity, alienated a lot of people who only knew how to use Windows-like desktops, and that made Mint a huge success. GNOME 2&nbsp;got forked as MATE, and Mint adopted it, helping a lot. Mint also built its own fork of GNOME 3, Cinnamon. Formerly tiny niche desktops like Xfce and LXDE got a <em>huge</em> boost. Debian adopted GNOME 3&nbsp;and systemd, annoying lots of its developers and causing the Devuan fork to&nbsp;happen.</p>
  173. <p><cite><em><a data-link-domain="liam-on-linux.dreamwidth.org" href="https://liam-on-linux.dreamwidth.org/85359.html" hreflang="en"
  174. title="Consultation de l’article (anglais)">Everyone seems to forget why GNOME and GNOME 3&nbsp;and Unity happened</a>
  175. <a href="/david/cache/2024/ecae6fcce7e86066e432b5f38b2299ca/" hreflang="en"
  176. data-tippy data-description="That is *what* it came from, yes, but not *why*."
  177. data-source="https://liam-on-linux.dreamwidth.org/85359.html"
  178. data-date="2024-02-23"
  179. data-favicon="https://liam-on-linux.dreamwidth.org/favicon.ico"
  180. data-domain="liam-on-linux.dreamwidth.org"
  181. ><svg xmlns="http://www.w3.org/2000/svg"
  182. width="24" height="24" viewBox="0 0 24 24" fill="none"
  183. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  184. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  185. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  186. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  187. </svg>
  188. <span class="sr-only">[archive]</span></a></em></cite></p>
  189. </blockquote>
  190. <p>Fascinante&nbsp;histoire.</p>
  191. <a href="#hr-88" title="Lien vers cette section de la page"><hr id="hr-88" /></a>
  192. <blockquote lang="en">
  193. <p>As of version 2.1.0&nbsp;this project will split into Plausible Community Edition and Plausible Enterprise Edition. The Community Edition (CE) will remain completely open source under the AGPLv3 license. The Enterprise Edition (EE) will contain extra features that will be published as source-available on Github, but we do not grant rights for anyone else to use, distribute or otherwise exploit these&nbsp;features.</p>
  194. <p><cite><em><a data-link-domain="github.com" href="https://github.com/plausible/analytics/releases/tag/v2.1.0-rc.0">Release notes de Plausible&nbsp;2.1.0</a></em></cite></p>
  195. </blockquote>
  196. <p>Des <a data-link-domain="plausible.io" href="https://plausible.io/blog/community-edition" hreflang="en"
  197. title="Consultation de l’article (anglais)">raisons un peu plus détaillées</a>
  198. <a href="/david/cache/2024/d6e0a9beec0623cc66cede135fc7acdc/" hreflang="en"
  199. data-tippy data-description="We’re introducing the “free as in beer”, self-hosted and AGPL-licensed Plausible Community Edition (CE)."
  200. data-source="https://plausible.io/blog/community-edition"
  201. data-date="2024-02-23"
  202. data-favicon="https://plausible.io/assets/images/icon/favicon-16x16.png"
  203. data-domain="plausible.io"
  204. ><svg xmlns="http://www.w3.org/2000/svg"
  205. width="24" height="24" viewBox="0 0 24 24" fill="none"
  206. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  207. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  208. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  209. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  210. </svg>
  211. <span class="sr-only">[archive]</span></a> ayant motivé ce&nbsp;choix.</p>
  212. <nav>
  213. <p>
  214. <a href="/david/2024/apprentissage/"
  215. title="Liste de tous les articles 2024 associés à cette étiquette"
  216. rel="tag">#apprentissage</a>
  217. <a href="/david/2024/processus/"
  218. title="Liste de tous les articles 2024 associés à cette étiquette"
  219. rel="tag">#processus</a>
  220. <a href="/david/2024/web/"
  221. title="Liste de tous les articles 2024 associés à cette étiquette"
  222. rel="tag">#web</a>
  223. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  224. </p>
  225. </nav>
  226. <h2>
  227. <a href="/david/2024/02/19/" title="Lien permanent vers cet article">Injection</a> <time datetime="2024-02-19">19 février 2024</time>
  228. </h2>
  229. <blockquote lang="en">
  230. <p>It’s fun to think of <mark>other possible uses…</mark> Perhaps you could pull in HTML modules along with their relevant CSS link. Or embed a tweet or code examples in documentation or a blog post. It could probably even be used to load and apply a regular <code>rel=stylesheet</code> link asynchronously, and at a low priority, which is otherwise surprisingly hard to do (note: I didn’t test this idea much to say for&nbsp;sure).</p>
  231. <p><cite><em><a data-link-domain="filamentgroup.com" href="https://www.filamentgroup.com/lab/html-includes/" hreflang="en"
  232. title="Consultation de l’article (anglais)">HTML Includes That Work Today</a>
  233. <a href="/david/cache/2024/88df28660094efbc5a13bb09d70dfea6/" hreflang="en"
  234. data-tippy data-description="Read this page on the Filament Group website"
  235. data-source="https://www.filamentgroup.com/lab/html-includes/"
  236. data-date="2024-02-19"
  237. data-favicon="https://www.filamentgroup.com/images/icons/favicon-32x32.png"
  238. data-domain="filamentgroup.com"
  239. ><svg xmlns="http://www.w3.org/2000/svg"
  240. width="24" height="24" viewBox="0 0 24 24" fill="none"
  241. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  242. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  243. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  244. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  245. </svg>
  246. <span class="sr-only">[archive]</span></a></em></cite></p>
  247. </blockquote>
  248. <p>J’ai cette page ouverte dans un onglet depuis littéralement des années. C’est <a data-link-domain="blog.notmyidea.org" href="https://blog.notmyidea.org/">Alexis</a> qui me l’a rappelé en partageant <a data-link-domain="leanrada.com" href="https://leanrada.com/htmz/">htmz</a> aujourd’hui qui va un tout petit peu plus&nbsp;loin.</p>
  249. <p>Voilà le code en&nbsp;question&nbsp;:</p>
  250. <pre><code>&lt;iframe
  251. src=&quot;/static/david/2024/test-injection.html&quot;
  252. onload=&quot;
  253. this.before(
  254. (
  255. this.contentDocument.body||this.contentDocument
  256. ).children[0]
  257. );
  258. this.remove()
  259. &quot;
  260. hidden&gt;
  261. &lt;/iframe&gt;
  262. </code></pre>
  263. <p>En résumé, on prend le code l’<code>iframe</code> et on l’injecte au chargement dans le document en cours. Voici un exemple (pas sûr que ça fonctionne depuis un&nbsp;agrégateur…)&nbsp;:</p>
  264. <iframe src="/static/david/2024/test-injection.html" onload="this.before((this.contentDocument.body||this.contentDocument).children[0]);this.remove()" hidden></iframe>
  265. <p>J’ai ajouté l’attribut <code>hidden</code> à la proposition initiale pour éviter le flash. Si vous inspectez le code, vous constatez que le paragraphe précédent tout à fait classique alors qu’il s’agissait d’une <code>iframe</code> (sauf si vous avez une extension qui bloque les <code>iframe</code> bien sûr). Jusque là c’est <a data-link-domain="css-tricks.com" href="https://css-tricks.com/the-simplest-ways-to-handle-html-includes/" hreflang="en"
  266. title="Consultation de l’article (anglais)">une forme d’inclusion</a>
  267. <a href="/david/cache/2024/6bfc6bd7bc1d9158aa7f6591123e7f4b/" hreflang="en"
  268. data-tippy data-description="It's extremely surprising to me that HTML has never had any way to include other HTML files within it. Nor does there seem to be anything on the horizon that"
  269. data-source="https://css-tricks.com/the-simplest-ways-to-handle-html-includes/"
  270. data-date="2024-02-19"
  271. data-favicon="https://css-tricks.com/favicon.svg"
  272. data-domain="css-tricks.com"
  273. ><svg xmlns="http://www.w3.org/2000/svg"
  274. width="24" height="24" viewBox="0 0 24 24" fill="none"
  275. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  276. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  277. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  278. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  279. </svg>
  280. <span class="sr-only">[archive]</span></a> mais rien de bien&nbsp;utile.</p>
  281. <p>Ce qui devient un peu plus fou serait de pouvoir injecter un <em>Web Component</em> de cette façon&#8239;! Le problème étant que le <code>this.remove()</code> est exécuté avant le chargement du script de l’<code>iframe</code>… et si on le retire on conserve cet élément <code>hidden</code> dans le document. Ce n’est pas critique mais ce n’est pas très élégant non plus, d’autant que cela signifie que le composant est défini et instancié deux&nbsp;fois.</p>
  282. <style>para-graph { background: paleturquoise; color: black; }</style>
  283. <iframe src="/static/david/2024/test-injection-web-component.html" onload= "this.before((this.contentDocument.body||this.contentDocument).children[0]);this.before(this.contentDocument.scripts[0])" hidden></iframe>
  284. <p>Il y a probablement des choses qui m’échappent mais il se fait&nbsp;tard.</p>
  285. <p><em>To be&nbsp;continued…</em></p>
  286. <a href="#hr-79" title="Lien vers cette section de la page"><hr id="hr-79" /></a>
  287. <p>Découvertes du jour&nbsp;: <a data-link-domain="MDN" href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base"><code>&lt;base&gt;</code></a> et <a data-link-domain="MDN" href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis">globalThis</a>.</p>
  288. <p>Aussi, il n’est <a data-link-domain="github.com" href="https://github.com/django/django/commit/b7f500396e05cd1f0bb8901fce16e2d8393d2779">pas forcément indiqué</a> de générer une <code>SECRET_KEY</code> avec Django, il vaut mieux le faire en Python&nbsp;directement&nbsp;:</p>
  289. <pre><code>[depuis un shell]
  290. $ python3 -c 'import secrets; print(secrets.token_hex(100))'
  291. </code></pre>
  292. <a href="#hr-80" title="Lien vers cette section de la page"><hr id="hr-80" /></a>
  293. <blockquote lang="en">
  294. <p>So, what’s the fun of writing on the internet anymore? Well, if your aim is to be respected as an author, there’s probably not much fun to be had here at all. Don’t write online for fame and glory. Oblivion, obscurity and exploitation are all but guaranteed. Write here because <em>ideas</em> matter, not authorship. Write here because the more robots, pirates, and single-minded trolls swallow up cyberspace, <mark>the more we need independent writing in order to think new thoughts in the future</mark> — even if your words are getting dished up and plated by an&nbsp;algorithm.</p>
  295. <p><cite><em><a data-link-domain="jamesshelley.com" href="https://jamesshelley.com/blog/writing-on-the-internet.html" hreflang="en"
  296. title="Consultation de l’article (anglais)">What’s the fun in writing on the internet anymore?</a>
  297. <a href="/david/cache/2024/a005801f0e596f9ecb99037a992ecc1b/" hreflang="en"
  298. data-tippy data-description="The moment you release your words, you relinquish all control."
  299. data-source="https://jamesshelley.com/blog/writing-on-the-internet.html"
  300. data-date="2024-02-19"
  301. data-favicon="https://jamesshelley.com/images/favicon.png"
  302. data-domain="jamesshelley.com"
  303. ><svg xmlns="http://www.w3.org/2000/svg"
  304. width="24" height="24" viewBox="0 0 24 24" fill="none"
  305. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  306. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  307. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  308. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  309. </svg>
  310. <span class="sr-only">[archive]</span></a></em></cite></p>
  311. </blockquote>
  312. <p>Rester (et alimenter la machine) ou quitter (et laisser l’espace à la&nbsp;machine).</p>
  313. <p>Je n’aime pas beaucoup la <a data-link-domain="maggieappleton.com" href="https://maggieappleton.com/ai-dark-forest" hreflang="en"
  314. title="Consultation de l’article (anglais)">métaphore de la forêt noire</a>
  315. <a href="/david/cache/2024/140458968f9f7da7d14e181d0a80e799/" hreflang="en"
  316. data-tippy data-description="Proving you're a human on a web flooded with generative AI content"
  317. data-source="https://maggieappleton.com/ai-dark-forest"
  318. data-date="2024-02-19"
  319. data-favicon="https://maggieappleton.com//images/favicon/favicon.ico"
  320. data-domain="maggieappleton.com"
  321. ><svg xmlns="http://www.w3.org/2000/svg"
  322. width="24" height="24" viewBox="0 0 24 24" fill="none"
  323. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  324. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  325. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  326. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  327. </svg>
  328. <span class="sr-only">[archive]</span></a> ces temps-ci car j’apprécie un peu trop les forêts pour ça. J’aurais davantage l’impression de faire partie d’une haie alors qu’il y a beaucoup de monoculture aux alentours. Avec les double sens que cette méta·phore&nbsp;implique.</p>
  329. <nav>
  330. <p>
  331. <a href="/david/2024/apprentissage/"
  332. title="Liste de tous les articles 2024 associés à cette étiquette"
  333. rel="tag">#apprentissage</a>
  334. <a href="/david/2024/laboratoire/"
  335. title="Liste de tous les articles 2024 associés à cette étiquette"
  336. rel="tag">#laboratoire</a>
  337. <a href="/david/2024/web/"
  338. title="Liste de tous les articles 2024 associés à cette étiquette"
  339. rel="tag">#web</a>
  340. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  341. </p>
  342. </nav>
  343. <h2>
  344. <a href="/david/2024/02/13/" title="Lien permanent vers cet article">Feutrage</a> <time datetime="2024-02-13">13 février 2024</time>
  345. </h2>
  346. <p>Atelier du soir avec <a data-link-domain="wiseoakwilderness.com" href="https://wiseoakwilderness.com/">Jesse</a> que je connaissais pour ses autres activités et c’était une surprise de retomber sur lui&#8239;! C’est une bonne personne&nbsp;😊. Le problème des <a data-link-domain="les-affutes.ca" href="https://www.les-affutes.ca/">Affûtés</a> c’est qu’iels arrivent un peu trop bien à me <a href="/david/2024/01/21/" title="Bois">cibler</a>&#8239;!</p>
  347. <p>L’objectif était de faire une paire de mitaines à partir de laine brute, c’est une approche qui m’intéresse beaucoup car je n’arrive pas à accrocher au tricotage et j’ai pourtant de gros besoins à ce sujet (je ne taris pas d’éloge au sujet de <a data-link-domain="nature.larlet.fr" href="https://nature.larlet.fr/habillage/#laine">cette matière</a> par ailleurs, je ne vais pas me répéter ici). Je n’avais aucune idée de cette technique&nbsp;auparavant.</p>
  348. <figure>
  349. <a href="/static/david/2024/2024-02-13-laine-brute.jpg"
  350. title="Cliquer pour une version haute résolution">
  351. <img
  352. src="/static/david/2024/2024-02-13-laine-brute.jpg"
  353. width="2464" height="3285"
  354. srcset="/static/david/2024/2024-02-13-laine-brute.jpg 2464w, /static/david/2024/2024-02-13-laine-brute_660x440.jpg 660w, /static/david/2024/2024-02-13-laine-brute_990x660.jpg 990w, /static/david/2024/2024-02-13-laine-brute_1320x880.jpg 1320w"
  355. sizes="min(100vw, calc(100vh * 2464 / 3285))"
  356. loading="lazy"
  357. decoding="async"
  358. alt="De la laine relativement brute.">
  359. </a>
  360. <figcaption>De la laine relativement&nbsp;brute.</figcaption>
  361. </figure>
  362. <p>La laine provenait de la <a data-link-domain="etsy.com" href="https://www.etsy.com/ca/market/bure_bure">boutique BureBure</a> sur Etsy, ce qui a l’avantage de pouvoir s’en procurer facilement de manière indépendante. Pour une option plus locale, certaines évoquaient <a data-link-domain="lavieenalpaga.com" href="https://www.lavieenalpaga.com/">La Vie en Alpaga</a> mais c’est une laine plus fine qu’il vaut mieux couper d’après Jesse pour qu’elle arrive à feutrer plus facilement. J’ai appris qu’une bonne partie de la laine qui serait utilisable au Québec ne l’est pas faute de rentabilité. À moi de trouver une source&nbsp;locale.</p>
  363. <p>Je vais documenter la méthode car c’est faisable dans sa cuisine sans nécessiter d’outillage particulier et je compte bien continuer cet apprentissage. Cela demande quelques étapes et un petit tour de main, l’atelier était vraiment important pour devenir&nbsp;autonome.</p>
  364. <p>Matériel&nbsp;: un bac étanche, un natte pour faire des <em>maki</em> (véridique), un rectangle de papier bulles, un rectangle en plastique avec des trous (type rideau ou tapis de vaisselle). Le tout dimensionné pour le patron choisi qui peut être découpé dans un sac de course en plastique rigide. Ensuite, il ne faut que de l’eau chaude, du savon et du vinaigre. Autant dire que ce n’est pas le matériel qui coûte&nbsp;cher.</p>
  365. <ol>
  366. <li>On fait un patron ayant une taille d’environ 130% par rapport au résultat attendu, le principe est que la laine va s’agréger et donc réduire sa taille de manière significative lors du&nbsp;processus.</li>
  367. <li>On pose le patron dans le bac, sur la natte + papier&nbsp;bulles.</li>
  368. <li>On ajoute trois couches de laine en commençant par la fibre à l’horizontale puis en croisant les fibres, on fait en sorte que ça dépasse pour pouvoir faire la jonction avec la face arrière du&nbsp;patron.</li>
  369. <li>On recouvre avec le tapis en plastique puis on arrose d’eau très chaude et de&nbsp;savon.</li>
  370. <li>On masse avec tendresse pour ne pas faire de trous au début, c’est cette action qui va relier les différents filaments de laine progressivement (c’est le feutrage à proprement&nbsp;parler).</li>
  371. <li>On retourne et on replie l’excédent sur les bords du patron avant d’ajouter nos trois couches de laine sur cette nouvelle&nbsp;face.</li>
  372. <li>Arrivé à cette étape, on a notre structure et on n’ajoutera plus de laine (à part souci). La simplicité du processus est&nbsp;incroyable.</li>
  373. <li>On fait bien le détourage du pouce dans le cas d’une mitaine. Ne pas oublier de replier le bord en bas, il faut laisser un trou pour le passage de la&nbsp;main&#8239;!</li>
  374. <li>On continue de masser recto-verso un très grand nombre de fois en ajoutant de l’eau chaude et du savon (le foulage) jusqu’à ce que ça tienne bien et que l’on puisse extraire le&nbsp;patron.</li>
  375. <li>On peut maintenant rouler nos <em>maki</em>&#8239;! Cela permet de masser le rouleau et d’avoir d’autres angles pour les fibres. Il faut aussi se concentrer sur les bords pour arrondir les angles et commencer à former la&nbsp;mitaine.</li>
  376. <li>Au bout d’un moment —&nbsp;ces premières étapes ont pris une bonne heure&nbsp;— on passe à la deuxième mitaine, retour à l’étape&nbsp;2…</li>
  377. <li>Avec les deux mitaines en main, on peut les feutrer/fouler réciproquement en se frottant les mains toujours en ajoutant du savon et de l’eau brulante (c’est un atelier vraiment propre) pendant là aussi de longues minutes, l’objectif est d’arriver à approcher de la taille finale désirée. On frotte dans le sens où on veut réduire la taille, par exemple en horizontal sur l’ouverture pour&nbsp;resserrer.</li>
  378. <li>On termine en rinçant abondamment le savon et en plongeant la pièce dans une solution vinaigrée pour changer le pH, ce qui fixe le tout et adouci la&nbsp;laine.</li>
  379. <li>(Optionnel) Il est possible de réduire encore <em>a posteriori</em> en remouillant avec du savon MAIS il n’est pas possible de revenir en arrière donc il vaut mieux s’arrêter trop tôt plutôt que trop tard, d’autant que ça rétrécit au&nbsp;séchage.</li>
  380. </ol>
  381. <p>Il y a très peu de pertes dans le processus même si ça prend beaucoup de savon. Le gros intérêt de la technique, c’est que la pièce est vraiment adaptée au support sur laquelle on la feutre+foule (ici mes mains). Il est possible de couper le surplus en bas pour égaliser mais je préfère que ça remonte plus haut sur l’avant-bras. Le résultat est un peu rigide car j’ai privilégié la chaleur (et les erreurs de débutant) mais il est possible de mettre moins de laine. J’arrive néanmoins à tenir un bâton de ski sans&nbsp;forcer.</p>
  382. <figure>
  383. <a href="/static/david/2024/2024-02-13-mitaines-feutrage.jpg"
  384. title="Cliquer pour une version haute résolution">
  385. <img
  386. src="/static/david/2024/2024-02-13-mitaines-feutrage.jpg"
  387. width="3024" height="4032"
  388. srcset="/static/david/2024/2024-02-13-mitaines-feutrage.jpg 3024w, /static/david/2024/2024-02-13-mitaines-feutrage_660x440.jpg 660w, /static/david/2024/2024-02-13-mitaines-feutrage_990x660.jpg 990w, /static/david/2024/2024-02-13-mitaines-feutrage_1320x880.jpg 1320w"
  389. sizes="min(100vw, calc(100vh * 3024 / 4032))"
  390. loading="lazy"
  391. decoding="async"
  392. alt="Les mitaines réalisées qui sèchent verticalement.">
  393. </a>
  394. <figcaption>Le résultat après 4 heures de travail et pas mal d’huile de&nbsp;coude.</figcaption>
  395. </figure>
  396. <p>Anecdote&nbsp;: j’étais le plus jeune et le seul homme, c’était intéressant d’être au sein de cette <em>sororité des aînées</em>, il ne manquait qu’une cheminée pour avoir une soirée d’anecdotes québécoises au coin du&nbsp;feu&nbsp;🤗.</p>
  397. <p>Au retour, après avoir essoré les mitaines pour qu’elles ne gouttent pas trop, j’ai pu les mettre pour qu’elles affrontent leur première tempête de neige improvisée. Même mouillées et dégoulinantes, j’arrivais à garder mes mains au chaud à l’intérieur… ah, la laine&nbsp;&lt;3. J’ai hâte de tester avec avec une sous-couche et/ou une sur-couche, ça tombe bien car les températures redescendent&nbsp;enfin.</p>
  398. <nav>
  399. <p>
  400. <a href="/david/2024/apprentissage/"
  401. title="Liste de tous les articles 2024 associés à cette étiquette"
  402. rel="tag">#apprentissage</a>
  403. <a href="/david/2024/processus/"
  404. title="Liste de tous les articles 2024 associés à cette étiquette"
  405. rel="tag">#processus</a>
  406. <a href="/david/2024/protopie/"
  407. title="Liste de tous les articles 2024 associés à cette étiquette"
  408. rel="tag">#protopie</a>
  409. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  410. </p>
  411. </nav>
  412. <h2>
  413. <a href="/david/2024/02/12/" title="Lien permanent vers cet article">Renards</a> <time datetime="2024-02-12">12 février 2024</time>
  414. </h2>
  415. <p>Entre chien et loup, le renard pointe le bout de son nez pointu. Après avoir attendu patiemment attendu que mon appareil photo arrive à ses limites, le voilà avançant vers moi d’un pas&nbsp;décidé.</p>
  416. <figure>
  417. <a href="/static/david/2024/2024-02-12-renards-1.jpg"
  418. title="Cliquer pour une version haute résolution">
  419. <img
  420. src="/static/david/2024/2024-02-12-renards-1.jpg"
  421. width="3456" height="2304"
  422. srcset="/static/david/2024/2024-02-12-renards-1.jpg 3456w, /static/david/2024/2024-02-12-renards-1_660x440.jpg 660w, /static/david/2024/2024-02-12-renards-1_990x660.jpg 990w, /static/david/2024/2024-02-12-renards-1_1320x880.jpg 1320w"
  423. sizes="min(100vw, calc(100vh * 3456 / 2304))"
  424. loading="lazy"
  425. decoding="async"
  426. alt="Un renard trottinant sur la rivière gelée.">
  427. </a>
  428. <figcaption>Un renard trottinant sur la rivière&nbsp;gelée.</figcaption>
  429. </figure>
  430. <p>Même en poussant les réglages au maximum lors du développement, je me rends bien compte que je suis dans la nuit bientôt noire. Alors je tente d’utiliser l’éclairage de la ville, la pollution lumineuse se reflétant sur la neige m’offre de précieux <em>stops</em>&nbsp;photographiques.</p>
  431. <figure>
  432. <a href="/static/david/2024/2024-02-12-renards-2.jpg"
  433. title="Cliquer pour une version haute résolution">
  434. <img
  435. src="/static/david/2024/2024-02-12-renards-2.jpg"
  436. width="2560" height="3840"
  437. srcset="/static/david/2024/2024-02-12-renards-2.jpg 2560w, /static/david/2024/2024-02-12-renards-2_660x440.jpg 660w, /static/david/2024/2024-02-12-renards-2_990x660.jpg 990w, /static/david/2024/2024-02-12-renards-2_1320x880.jpg 1320w"
  438. sizes="min(100vw, calc(100vh * 2560 / 3840))"
  439. loading="lazy"
  440. decoding="async"
  441. alt="Un renard sur la rivière gelée avec un pont en fond.">
  442. </a>
  443. <figcaption>Un renard sur la rivière gelée avec un pont en&nbsp;fond.</figcaption>
  444. </figure>
  445. <p>L’équivalent 800mm que je tiens à bout de bras n’aide pas à faire baisser les ISO, tant pis, je compte trop sur ma mobilité pour être capable de tenter une approche. La neige est bien trop gelée et bruyante pour que j’ai la moindre chance. Un skieur nocturne détourne leur&nbsp;attention.</p>
  446. <figure>
  447. <a href="/static/david/2024/2024-02-12-renards-3.jpg"
  448. title="Cliquer pour une version haute résolution">
  449. <img
  450. src="/static/david/2024/2024-02-12-renards-3.jpg"
  451. width="3840" height="2560"
  452. srcset="/static/david/2024/2024-02-12-renards-3.jpg 3840w, /static/david/2024/2024-02-12-renards-3_660x440.jpg 660w, /static/david/2024/2024-02-12-renards-3_990x660.jpg 990w, /static/david/2024/2024-02-12-renards-3_1320x880.jpg 1320w"
  453. sizes="min(100vw, calc(100vh * 3840 / 2560))"
  454. loading="lazy"
  455. decoding="async"
  456. alt="Deux renards&nbsp;: l’un sur la rivière, l’autre sur un ponton abandonné.">
  457. </a>
  458. <figcaption>Deux renards : l’un sur la rivière, l’autre sur un ponton&nbsp;abandonné.</figcaption>
  459. </figure>
  460. <p>La luminosité est telle que je vois la lumière de mon autofocus qui se reflète, bien rouge, au fond de ses yeux à une cinquantaine de mètres. Iel m’attend. Je ne saurais jamais jusqu’à quelle distance est-ce que l’on se seraient acceptés car une coureuse met fin à ce tête-à-tête nocturne. Si nous sommes tous le deux routiniers, nous aurons certainement d’autres occasions de nous&nbsp;croiser.</p>
  461. <figure>
  462. <a href="/static/david/2024/2024-02-12-renards-4.jpg"
  463. title="Cliquer pour une version haute résolution">
  464. <img
  465. src="/static/david/2024/2024-02-12-renards-4.jpg"
  466. width="3840" height="2560"
  467. srcset="/static/david/2024/2024-02-12-renards-4.jpg 3840w, /static/david/2024/2024-02-12-renards-4_660x440.jpg 660w, /static/david/2024/2024-02-12-renards-4_990x660.jpg 990w, /static/david/2024/2024-02-12-renards-4_1320x880.jpg 1320w"
  468. sizes="min(100vw, calc(100vh * 3840 / 2560))"
  469. loading="lazy"
  470. decoding="async"
  471. alt="Un renard qui me regarde depuis le chemin.">
  472. </a>
  473. <figcaption>Un renard qui me regarde depuis le&nbsp;chemin.</figcaption>
  474. </figure>
  475. <p>Photographiquement parlant, je crois que je préfère la prise floue de la veille. Une forme d’acceptation qu’il puisse encore y avoir des animaux libres d’une capture trop&nbsp;nette.</p>
  476. <figure>
  477. <a href="/static/david/2024/2024-02-12-renards-5.jpg"
  478. title="Cliquer pour une version haute résolution">
  479. <img
  480. src="/static/david/2024/2024-02-12-renards-5.jpg"
  481. width="3840" height="2560"
  482. srcset="/static/david/2024/2024-02-12-renards-5.jpg 3840w, /static/david/2024/2024-02-12-renards-5_660x440.jpg 660w, /static/david/2024/2024-02-12-renards-5_990x660.jpg 990w, /static/david/2024/2024-02-12-renards-5_1320x880.jpg 1320w"
  483. sizes="min(100vw, calc(100vh * 3840 / 2560))"
  484. loading="lazy"
  485. decoding="async"
  486. alt="Un renard flou qui se reflète dans l’eau de la rivière qui fond.">
  487. </a>
  488. <figcaption>Vais-je passer à travers ? Je ne suis pas le seul à me poser ces&nbsp;questions…</figcaption>
  489. </figure>
  490. <p>Merci au parent devant l’école qui m’a dit qu’il n’y avait pas de renards dans le parc cette année. Mon esprit de con·tradiction a fait le&nbsp;reste.</p>
  491. <a href="#hr-71" title="Lien vers cette section de la page"><hr id="hr-71" /></a>
  492. <blockquote>
  493. <p>Les carnets Web servent également à faire rêver les autres de façon inattendue et la plupart du temps silencieusement. N’hésitez pas à publier. Vous toucherez le cœur et l’imagination d’une personne quelque part dans le&nbsp;monde.</p>
  494. <p><cite><em><a data-link-domain="la-grange.net" href="https://www.la-grange.net/2024/02/04/enfant" hreflang="fr"
  495. title="Consultation de l’article">D’un enfant à l’autre</a>
  496. <a href="/david/cache/2024/40a1a0f90d7ac25a6150e6e27ac310d4/" hreflang="fr"
  497. data-tippy data-description=""
  498. data-source="https://www.la-grange.net/2024/02/04/enfant"
  499. data-date="2024-02-12"
  500. data-favicon="https://www.la-grange.net/favicon.ico"
  501. data-domain="la-grange.net"
  502. ><svg xmlns="http://www.w3.org/2000/svg"
  503. width="24" height="24" viewBox="0 0 24 24" fill="none"
  504. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  505. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  506. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  507. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  508. </svg>
  509. <span class="sr-only">[archive]</span></a></em></cite></p>
  510. </blockquote>
  511. <p>🧡</p>
  512. <nav>
  513. <p>
  514. <a href="/david/2024/apprentissage/"
  515. title="Liste de tous les articles 2024 associés à cette étiquette"
  516. rel="tag">#apprentissage</a>
  517. <a href="/david/2024/echanges/"
  518. title="Liste de tous les articles 2024 associés à cette étiquette"
  519. rel="tag">#échanges</a>
  520. <a href="/david/2024/photographie/"
  521. title="Liste de tous les articles 2024 associés à cette étiquette"
  522. rel="tag">#photographie</a>
  523. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  524. </p>
  525. </nav>
  526. <h2>
  527. <a href="/david/2024/02/09/" title="Lien permanent vers cet article">Version</a> <time datetime="2024-02-09">9 février 2024</time>
  528. </h2>
  529. <p>Il y a cette appréhension à sortir une version&nbsp;2&nbsp;qui est bloquante sur pas mal de projets / produits / outils. Réduire ses ambitions quitte à planifier les versions 3&nbsp;et 4&nbsp;par la même occasion est un moyen de faire baisser la pression de ses propres attentes. Ce n’est plus <strong>l</strong>’évènement mais <em>un</em> évènement parmi les suivants qui vient s’intégrer dans une dynamique plus&nbsp;globale.</p>
  530. <p>Il y a d’un côté l’<a href="/david/2024/01/19/#hr-38">effort pour les personnes qui vont l’utiliser</a> et de l’autre <a data-link-domain="yolover.org" href="https://yolover.org/" hreflang="en"
  531. title="Consultation de l’article (anglais)">la motivation</a>
  532. <a href="/david/cache/2024/959374400b4bb6d58c74116ffd08281b/" hreflang="en"
  533. data-tippy data-description="Realistic versioning for modern software."
  534. data-source="https://yolover.org/"
  535. data-date="2024-02-09"
  536. data-favicon="https://yolover.org/favicon.png"
  537. data-domain="yolover.org"
  538. ><svg xmlns="http://www.w3.org/2000/svg"
  539. width="24" height="24" viewBox="0 0 24 24" fill="none"
  540. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  541. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  542. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  543. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  544. </svg>
  545. <span class="sr-only">[archive]</span></a> pour les personnes qui vont développer et maintenir le&nbsp;produit.</p>
  546. <p>Je caricature mais on est&nbsp;vendredi.</p>
  547. <nav>
  548. <p>
  549. <a href="/david/2024/apprentissage/"
  550. title="Liste de tous les articles 2024 associés à cette étiquette"
  551. rel="tag">#apprentissage</a>
  552. <a href="/david/2024/decision/"
  553. title="Liste de tous les articles 2024 associés à cette étiquette"
  554. rel="tag">#décision</a>
  555. <a href="/david/2024/opensource/"
  556. title="Liste de tous les articles 2024 associés à cette étiquette"
  557. rel="tag">#opensource</a>
  558. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  559. </p>
  560. </nav>
  561. <h2>
  562. <a href="/david/2024/02/08/" title="Lien permanent vers cet article">Écoute</a> <time datetime="2024-02-08">8 février 2024</time>
  563. </h2>
  564. <blockquote>
  565. <p>Ceci est tellement vrai que nous sommes seuls au monde dans la communication que, lorsque quelqu’un écoute et lorsque la communication réussit, c’est un miracle étincelant. […] C’est tellement rare, c’est tellement improbable, c’est tellement miraculeux que c’est peut-être ça la civilisation et la culture. <mark>Rencontrer quelqu’un qui&nbsp;écoute.</mark></p>
  566. <p><cite><em>Le Bonheur possible</em>, Michel Serres&nbsp;(1997)</cite></p>
  567. </blockquote>
  568. <p>Exercice de mise en forme des <a href="/david/2024/02/02/" title="Valeurs">valeurs</a> émergeantes des valeurs de Scopyleft aujourd’hui. Je suis content d’y reconnaître chaque personne et <em>en même temps</em> un collectif qui se découvre et qui apprend à faire ensemble. Avoir 8&nbsp;valeurs qui se démarquent dans 3&nbsp;contextes différents me donne davantage d’information et d’envie qu’une poignée affichée sur un site web. Un maillage de compréhension réciproque est en train d’être tissé entre&nbsp;nous.</p>
  569. <blockquote>
  570. <p>Ce besoin de venir (re)questionner la manière de faire ensemble est nécessaire à ces collectifs. Ce n’est pas dans l’objectif d’un travail évaluatif des bonnes ou mauvaises pratiques, mais bien dans un désir d’entretenir la flamme collective. Ces collectifs ont besoin de se questionner sans cesse sur leurs pratiques. Sur les raisons qui les poussent à faire ensemble. Sans quoi, l’activité du groupe piétine et ses membres peuvent se dégager du projet commun. C’est une manière de redonner de l’élan et de la motivation au collectif. Ce besoin de se redire&nbsp;: «&nbsp;pourquoi nous sommes-nous mis ensemble et où voulions-nous&nbsp;aller&#8239;?&nbsp;»</p>
  571. <p><cite><em><a data-link-domain="blog.notmyidea.org" href="https://blog.notmyidea.org/lart-de-conter-nos-experiences-collectives.html" hreflang="fr"
  572. title="Consultation de l’article">L’art de conter nos expériences collectives</a>
  573. <a href="/david/cache/2024/bd0c3ccce5c3f229f84c6c132ebdaca9/" hreflang="fr"
  574. data-tippy data-description="Faire récit à l'heure du storytelling par Benjamin Roux"
  575. data-source="https://blog.notmyidea.org/lart-de-conter-nos-experiences-collectives.html"
  576. data-date="2024-02-08"
  577. data-favicon=""
  578. data-domain="blog.notmyidea.org"
  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. <nav>
  589. <p>
  590. <a href="/david/2024/apprentissage/"
  591. title="Liste de tous les articles 2024 associés à cette étiquette"
  592. rel="tag">#apprentissage</a>
  593. <a href="/david/2024/equipe/"
  594. title="Liste de tous les articles 2024 associés à cette étiquette"
  595. rel="tag">#équipe</a>
  596. <a href="/david/2024/evolution/"
  597. title="Liste de tous les articles 2024 associés à cette étiquette"
  598. rel="tag">#évolution</a>
  599. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  600. </p>
  601. </nav>
  602. <h2>
  603. <a href="/david/2024/02/04/" title="Lien permanent vers cet article">Tooltipopover</a> <time datetime="2024-02-04">4 février 2024</time>
  604. </h2>
  605. <blockquote lang="en">
  606. <p><a data-link-domain="MDN" href="https://developer.mozilla.org/en-US/docs/Web/API/Popover_API">Popover API</a> – This provides a declarative mechanism to create content that always renders in the topmost-layer, so that it overlays other web page content. <mark>This can be useful for building features like tooltips</mark> and notifications. Support for popover was the #1&nbsp;author request in the recent State of HTML&nbsp;survey.</p>
  607. <p><cite><em><a data-link-domain="hacks.mozilla.org" href="https://hacks.mozilla.org/2024/02/announcing-interop-2024/" hreflang="en"
  608. title="Consultation de l’article (anglais)">Announcing Interop 2024</a>
  609. <a href="/david/cache/2024/0deb984b2f799d391607afcaa488446d/" hreflang="en"
  610. data-tippy data-description="Following the success of Interop 2023, we are pleased to confirm that the project will continue in 2024 with a new selection of focus areas."
  611. data-source="https://hacks.mozilla.org/2024/02/announcing-interop-2024/"
  612. data-date="2024-02-03"
  613. data-favicon="https://hacks.mozilla.org/wp-content/themes/Hax/favicon.ico"
  614. data-domain="hacks.mozilla.org"
  615. ><svg xmlns="http://www.w3.org/2000/svg"
  616. width="24" height="24" viewBox="0 0 24 24" fill="none"
  617. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  618. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  619. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  620. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  621. </svg>
  622. <span class="sr-only">[archive]</span></a></em></cite></p>
  623. </blockquote>
  624. <p>Ma première intuition pour enrichir les liens de la version archivée était de passer par des éléments natifs (comme toujours). Initialement, j’ai même envisagé un <a data-link-domain="MDN" href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog">élément <code>&lt;dialog&gt;</code></a> qui est déjà mieux supporté mais ça rentrait mal dans le DOM là où je voulais l’insérer. Je me met alors en quête d’un <em><a data-link-domain="github.com" href="https://github.com/oddbird/popover-polyfill">polyfill</a></em> pour la Popover API qui pourrait convenir mais j’ai un peu peur des effets de bord vu que je découvre et qu’il y a quand même <a data-link-domain="MDN" href="https://developer.mozilla.org/en-US/docs/Web/API/Popover_API/Using">pas mal de possibilités</a>. J’en suis même à me <a data-link-domain="open-ui.org" href="https://open-ui.org/components/popover.research.explainer/" hreflang="en"
  625. title="Consultation de l’article (anglais)">lire une bonne page de doc</a>
  626. <a href="/david/cache/2024/bf61b62532f71e39e7b92c76dc36bb0f/" hreflang="en"
  627. data-tippy data-description="A very common UI pattern on the Web, for which there is no native API, is “popover UI”, also sometimes called “popovers”, “pop up UI”, or “popovers”. Popovers are a general class of UI that have three common behaviors"
  628. data-source="https://open-ui.org/components/popover.research.explainer/"
  629. data-date="2024-02-03"
  630. data-favicon="https://open-ui.org/images/favicon-32x32.png"
  631. data-domain="open-ui.org"
  632. ><svg xmlns="http://www.w3.org/2000/svg"
  633. width="24" height="24" viewBox="0 0 24 24" fill="none"
  634. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  635. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  636. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  637. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  638. </svg>
  639. <span class="sr-only">[archive]</span></a> pour essayer de comprendre la distinction entre les&nbsp;deux.</p>
  640. <p>Je finis par abandonner cette piste et je me dis que ça pourrait être un <em>Web Component</em> intéressant. Je m’arrache les cheveux un bon petit moment sur le positionnement et je capitule en me disant qu’il y a déjà des personnes qui ont produit des outils comme <a data-link-domain="floating-ui.com" href="https://floating-ui.com/">Floating UI</a> ou <a data-link-domain="atomiks.github.io" href="https://atomiks.github.io/tippyjs/">Tippy.js</a>. Choisir c’est renoncer… et j’ai fait les deux à la fois en optant pour Tippy qui <a data-link-domain="atomiks.github.io" href="https://atomiks.github.io/tippyjs/v6/accessibility/" hreflang="en"
  641. title="Consultation de l’article (anglais)">prend soin de l’accessibilité</a>
  642. <a href="/david/cache/2024/af0aee71fef1821c89ce368622f9a464/" hreflang="en"
  643. data-tippy data-description="Tooltip and popovers are usually not mouse-only UI elements. If vital functionality or information is contained within them, they should be accessible to keyboard and touch inputs so that users who navigate interfaces without using a mouse are not locked out."
  644. data-source="https://atomiks.github.io/tippyjs/v6/accessibility/"
  645. data-date="2024-02-03"
  646. data-favicon="https://atomiks.github.io/tippyjs/favicon-32x32.png?v=68cd85fe631cbce4dad8be8ef26f93f3"
  647. data-domain="atomiks.github.io"
  648. ><svg xmlns="http://www.w3.org/2000/svg"
  649. width="24" height="24" viewBox="0 0 24 24" fill="none"
  650. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  651. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  652. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  653. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  654. </svg>
  655. <span class="sr-only">[archive]</span></a>. J’ai trop besoin d’avoir <em>l’expérience de l’interface</em> pour pouvoir affiner par la suite et faire les choses à ma&nbsp;sauce.</p>
  656. <p>N’hésitez pas à jouer avec et à me faire des retours, c’est amené à&nbsp;évoluer.</p>
  657. <a href="#hr-65" title="Lien vers cette section de la page"><hr id="hr-65" /></a>
  658. <blockquote lang="en">
  659. <p>My recipe for fiction set ten years in the future used to be 90% already-here, 9% not-here-yet but predictable, and 1% who-ordered-that. But <mark>unfortunately the ratios have changed.</mark> I think we're now down to maybe 80% already-here —climate change takes a huge toll on infrastructure— then 15% not-here-yet but predictable, and a whopping 5% of utterly unpredictable deep&nbsp;craziness.</p>
  660. <p><cite><em><a data-link-domain="antipope.org" href="https://www.antipope.org/charlie/blog-static/2018/01/dude-you-broke-the-future.html" hreflang="en"
  661. title="Consultation de l’article (anglais)">Dude, you broke the future!</a>
  662. <a href="/david/cache/2024/71b177818657a209fc76f23c08c21d25/" hreflang="en"
  663. data-tippy data-description="In this talk, author Charles Stross will give a rambling, discursive, and angry tour of what went wrong with the 21st century, why we didn't see it coming, where we can expect it to go next, and a few suggestions for what to do about it if we don't like it."
  664. data-source="https://www.antipope.org/charlie/blog-static/2018/01/dude-you-broke-the-future.html"
  665. data-date="2024-02-03"
  666. data-favicon="https://www.antipope.org/favicon.ico"
  667. data-domain="antipope.org"
  668. ><svg xmlns="http://www.w3.org/2000/svg"
  669. width="24" height="24" viewBox="0 0 24 24" fill="none"
  670. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  671. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  672. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  673. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  674. </svg>
  675. <span class="sr-only">[archive]</span></a></em></cite></p>
  676. </blockquote>
  677. <p>Cela me rappelle une discussion récente au sujet du manque de pertinence de la météo et de la difficulté à faire de la prédiction sur des données rendues obsolètes par le changement climatique. Les modèles ne sont pas (encore&#8239;?) adaptés à un tel&nbsp;chaos.</p>
  678. <p>Manifestement, les écrivains non&nbsp;plus.</p>
  679. <blockquote lang="en">
  680. <p>Someone out there is working on it: a geolocation-aware social media scraping deep learning application, that uses a gamified, competitive interface to reward its “players” for joining in acts of mob violence against whoever the app developer hates. Probably it has an inoccuous-seeming but highly addictive training mode to get the users accustomed to working in teams and obeying the app's instructions—think Ingress or Pokemon Go. Then, at some pre-planned zero hour, <mark>it switches mode and starts rewarding players for violence</mark>—players who have been primed to think of their targets as vermin, by a steady drip-feed of micro-targeted dehumanizing propaganda delivered over a period of&nbsp;months.</p>
  681. <p><cite><em>Ibid.</em></cite></p>
  682. </blockquote>
  683. <p>Ah si en&nbsp;fait&nbsp;😬.</p>
  684. <a href="#hr-66" title="Lien vers cette section de la page"><hr id="hr-66" /></a>
  685. <blockquote lang="en">
  686. <p>If we want a system that is consistent with the flourishing of life on earth, we will need a system that mimics nature. Our current economic model doesn’t - for many reasons - and needs to change. Looking at nature, including our own human nature in our private lives, gives us many ideas for what this new, harmonious system could look&nbsp;like.</p>
  687. <p><cite><em><a data-link-domain="erinremblance.substack.com" href="https://erinremblance.substack.com/p/we-are-all-socialists-in-our-private" hreflang="en"
  688. title="Consultation de l’article (anglais)">“We Are All Socialists in Our Private Lives”</a>
  689. <a href="/david/cache/2024/f5b5c3dff862cc55318684cf434b8d74/" hreflang="en"
  690. data-tippy data-description="David Graeber gets to the heart of human (and more than human) nature."
  691. data-source="https://erinremblance.substack.com/p/we-are-all-socialists-in-our-private"
  692. data-date="2024-02-03"
  693. data-favicon="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79e3e832-517f-4ca3-989b-41eb1c8249d7%2Ffavicon-16x16.png"
  694. data-domain="erinremblance.substack.com"
  695. ><svg xmlns="http://www.w3.org/2000/svg"
  696. width="24" height="24" viewBox="0 0 24 24" fill="none"
  697. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  698. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  699. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  700. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  701. </svg>
  702. <span class="sr-only">[archive]</span></a></em></cite></p>
  703. </blockquote>
  704. <p>Il n’y a que les classes moyennes qui peuvent être socialistes. C’était tout l’enjeu de leur destruction pour n’avoir plus que des personnes qui aient peur de perdre le <em>trop peu</em> ou le <em>vraiment beaucoup</em> qu’elles ont. Et la peur rend la manipulation tellement plus&nbsp;facile…</p>
  705. <blockquote lang="en">
  706. <p>If a monkey hoarded more bananas than it could eat, while most of the other monkeys starved, scientists would study that monkey to figure out what the heck was wrong with it. When humans do it, we put them on the cover of&nbsp;Forbes.</p>
  707. <p><cite><em>Ibid.</em></cite></p>
  708. </blockquote>
  709. <p>🙈</p>
  710. <nav>
  711. <p>
  712. <a href="/david/2024/apprentissage/"
  713. title="Liste de tous les articles 2024 associés à cette étiquette"
  714. rel="tag">#apprentissage</a>
  715. <a href="/david/2024/technique/"
  716. title="Liste de tous les articles 2024 associés à cette étiquette"
  717. rel="tag">#technique</a>
  718. <a href="/david/2024/web/"
  719. title="Liste de tous les articles 2024 associés à cette étiquette"
  720. rel="tag">#web</a>
  721. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  722. </p>
  723. </nav>
  724. <h2>
  725. <a href="/david/2024/01/30/" title="Lien permanent vers cet article">Équipe</a> <time datetime="2024-01-30">30 janvier 2024</time>
  726. </h2>
  727. <blockquote lang="en">
  728. <p>We can typically break down collaboration groups into three&nbsp;types:</p>
  729. <ul>
  730. <li><strong>Real teams</strong> are all about solving the hardest, most complex problems. A diverse set of perspectives and skills is required to untangle these sorts of problems, for which there is no obvious solution. […]</li>
  731. <li><strong>Working groups</strong> are all about efficiency. Most people spend most of their productive time in working groups. We’ll say it again: there is nothing wrong with being in a working group. […]</li>
  732. <li><strong>Teams-in-name-only</strong> are groups that claim to be a team, but lack emotional commitment and shared purpose. They are like working groups, but without the efficient processes and individual responsibility. […]</li>
  733. </ul>
  734. <p>Although most people are told that they’re part of a team, the reality is that, more often than not, they’re members of a&nbsp;team-in-name-only.</p>
  735. <p><cite><em><a data-link-domain="strategy-business.com" href="https://www.strategy-business.com/article/Teaming-is-hard-because-youre-probably-not-really-on-a-team" hreflang="en"
  736. title="Consultation de l’article (anglais)">Teaming is hard because you’re probably not really on a team</a>
  737. <a href="/david/cache/2024/9b4b5364526390ba1db9c4a651ea8311/" hreflang="en"
  738. data-tippy data-description="Hybrid and remote work are complicating many of the collaborative challenges that were present long before the pandemic arrived."
  739. data-source="https://www.strategy-business.com/article/Teaming-is-hard-because-youre-probably-not-really-on-a-team"
  740. data-date="2024-01-29"
  741. data-favicon="https://www.strategy-business.com/media/image/favicon22-16x16.png"
  742. data-domain="strategy-business.com"
  743. ><svg xmlns="http://www.w3.org/2000/svg"
  744. width="24" height="24" viewBox="0 0 24 24" fill="none"
  745. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  746. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  747. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  748. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  749. </svg>
  750. <span class="sr-only">[archive]</span></a></em></cite></p>
  751. </blockquote>
  752. <p>Devenir une (vraie) équipe prend du temps. Il faut même pouvoir envisager que cela ne devienne jamais le cas. Et ce n’est peut-être pas un souci si on n’a pas ces attentes… ou qu’on peut les&nbsp;attendre.</p>
  753. <a href="#hr-56" title="Lien vers cette section de la page"><hr id="hr-56" /></a>
  754. <p><a data-link-domain="github.com" href="https://github.com/zedeus/nitter/issues/1155#issuecomment-1913361757">Nitter est mort.</a> C’était le seul moyen qu’il me restait pour suivre les <em>drama</em> dans la communauté des échecs pro (et ils sont si&nbsp;nombreux&#8239;!).</p>
  755. <p>Ce n’est pas si&nbsp;grave.</p>
  756. <a href="#hr-57" title="Lien vers cette section de la page"><hr id="hr-57" /></a>
  757. <figure>
  758. <a href="/static/david/2024/2024-01-30-grande-boucle-hauts-sommets-st-donat.jpg"
  759. title="Cliquer pour une version haute résolution">
  760. <img
  761. src="/static/david/2024/2024-01-30-grande-boucle-hauts-sommets-st-donat.jpg"
  762. width="2560" height="1536"
  763. srcset="/static/david/2024/2024-01-30-grande-boucle-hauts-sommets-st-donat.jpg 2560w, /static/david/2024/2024-01-30-grande-boucle-hauts-sommets-st-donat_660x440.jpg 660w, /static/david/2024/2024-01-30-grande-boucle-hauts-sommets-st-donat_990x660.jpg 990w, /static/david/2024/2024-01-30-grande-boucle-hauts-sommets-st-donat_1320x880.jpg 1320w"
  764. sizes="min(100vw, calc(100vh * 2560 / 1536))"
  765. loading="lazy"
  766. decoding="async"
  767. alt="Une carte de la grande boucle des hauts sommets de St-Donat.">
  768. </a>
  769. <figcaption>La grande boucle des hauts sommets de St-Donat. 84 km de sentiers. Je cherche encore les hauts sommets&nbsp;🙊.</figcaption>
  770. </figure>
  771. <p>Un autre lieu où il serait possible de <a href="/david/2024/01/19/" title="Marcher">marcher</a> en parlant, ou l’inverse. Il est même possible de prolonger en suivant le sentier inter-centre vers&nbsp;Mont-Tremblant.</p>
  772. <a href="#hr-58" title="Lien vers cette section de la page"><hr id="hr-58" /></a>
  773. <blockquote>
  774. <p>Si j’écrivais <strong>faire ensemble</strong>, ça serait <em>faux</em>. C’est une combinaison de <strong>expérimenter des chemins vers un monde auquel j’aspire</strong> et de <strong>les partager</strong>. Ça m’intéresse de le faire, et ça ne m’intéresse pas si c’est juste pour moi. Le prompt, c’est écouter mes dissonnances cognitives et suivre le fil. Y cogiter à plusieurs, lire à ces sujets, tester seul ou à plusieurs, le restituer/mettre en œuvre. Arrêter, continuer, recommencer.</p>
  775. <p><cite><em><a data-link-domain="détour.studio" href="https://d%C3%A9tour.studio/yearnotes/4/">Yearnotes #4 •&nbsp;détour.studio</a></em></cite></p>
  776. </blockquote>
  777. <p>J’aime beaucoup la mélodie des <em>Year</em>notes de&nbsp;Thomas.</p>
  778. <nav>
  779. <p>
  780. <a href="/david/2024/apprentissage/"
  781. title="Liste de tous les articles 2024 associés à cette étiquette"
  782. rel="tag">#apprentissage</a>
  783. <a href="/david/2024/equipe/"
  784. title="Liste de tous les articles 2024 associés à cette étiquette"
  785. rel="tag">#équipe</a>
  786. <a href="/david/2024/processus/"
  787. title="Liste de tous les articles 2024 associés à cette étiquette"
  788. rel="tag">#processus</a>
  789. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  790. </p>
  791. </nav>
  792. <h2>
  793. <a href="/david/2024/01/25/" title="Lien permanent vers cet article">Stratégie</a> <time datetime="2024-01-25">25 janvier 2024</time>
  794. </h2>
  795. <blockquote>
  796. <p>La notion de stratégie revêt une dimension temporelle axée sur l’avenir. Mais lorsque nous tentons de nous engager sur l’avenir, nous nous retrouvons sur un terrain glissant. Trop souvent, la stratégie d’entreprise repose sur le principe erroné selon lequel il est possible de prédire l’avenir d’une manière fiable. Nassim Nicholas Taleb, l’un des auteurs les plus brillants sur l’illusion de la prédictibilité, a dit&nbsp;: «&nbsp;Nous ne pouvons pas vraiment planifier parce que nous ne comprenons pas l’avenir — mais ce n’est pas nécessairement une mauvaise nouvelle. Nous pourrions le faire <em>en gardant à l’esprit ces limitations.</em> Cela requiert simplement du&nbsp;courage.&nbsp;»</p>
  797. <p>Eric Beinhocker va dans le même sens&nbsp;: «&nbsp;On s’attend à ce que les dirigeants d’entreprise se comportent en généraux courageux capables de prédire l’avenir, d’échafauder de grandes stratégies, de mener leurs troupes à une bataille couronnée de succès — puis ils sont virés à la première escarmouche perdue. Il faut des dirigeants courageux pour faire reculer cet état d’esprit, admettre l’incertitude inhérente à l’avenir et privilégier l’apprentissage et l’adaptation au détriment de la prédiction et de la&nbsp;planification.&nbsp;»</p>
  798. <p>Comme le soulignent Taleb et Beinhocker, dans la plupart des organisations conventionnelles, la stratégie est l’essence même de l’approche prévision-contrôle — en déterminant une stratégie, nous fixons les bons objectifs, puis choisissons un itinéraire pour les atteindre. Toute cette approche repose sur un faux raisonnement. <mark>Bien qu’il soit possible de prévoir certaines choses, celles qu’il est impossible de prévoir sont bien plus nombreuses.</mark> Nous ne pouvons connaître la future situation économique ou celle de notre secteur d’activité, prévoir les innovations qui vont perturber le marché ou les opportunités susceptibles d’apparaître. Il serait plus facile de dresser la toute petite liste de ce que nous pouvons prévoir en toute fiabilité que d’énumérer l’imprévisible, que nous nous évertuons malgré tout trop souvent à essayer&nbsp;d’envisager.</p>
  799. <p>Lorsque nous tentons de prédire l’avenir dans un univers imprévisible, nous nous berçons non seulement d’illusions, mais pire, nous diminuons notre faculté à détecter et nous ajuster à la réalité du&nbsp;moment.</p>
  800. <p><cite><em>La révolution Holacracy</em>, Brian J. Robertson</cite></p>
  801. </blockquote>
  802. <p>Se donner les moyens et les conditions d’être à l’écoute est loin d’être trivial. Une fois le nez dans le guidon, il est facile de laisser pousser des œillères et de réduire son champ des possibles. Après tout, pourquoi avoir envie de faire évoluer une situation qui fonctionne bien&#8239;? Pourquoi envisager de nouveaux chemins avec leurs lots d’incertitudes et de dangers&#8239;? Mais c’est ce confort qui est le plus dangereux, celui qui fait manquer des rencontres, des occasions d’apprendre ou de découvrir de nouveaux domaines. Ce confort rend les entreprises séniles très&nbsp;rapidement.</p>
  803. <p>J’aime bien la métaphore du vélo proposée par ce livre pour décrire la différence entre un plan à 5&nbsp;ans et une adaptation continue au contexte&nbsp;changeant.</p>
  804. <blockquote>
  805. <p>Imaginez que vous fassiez du vélo comme on gère la plupart des organisations modernes. Vous organiseriez une grande réunion afin de décider l’angle que doit présenter le guidon. Vous détailleriez le plus possible votre itinéraire en répertoriant tous les obstacles connus, le moment précis où vous devrez les éviter, ainsi que la trajectoire nécessaire pour cela. Puis vous enfourcheriez votre vélo, tiendriez fermement le guidon selon l’angle défini, fermeriez les yeux, puis rouleriez conformément au plan. Vous n’avez pratiquement aucune chance d’atteindre votre objectif, même si vous parveniez à garder le vélo bien droit pendant tout le parcours. Et lorsque vous tombez, vous vous demandez probablement, «&nbsp;Pourquoi n’y sommes-nous pas arrivés la première fois&#8239;?&nbsp;», voire «&nbsp;Qui a&nbsp;merdé&#8239;?&nbsp;»</p>
  806. <p>Cette approche ridicule n’est pas loin de correspondre à l’approche adoptée par de nombreuses organisations pour leur planification stratégique. En revanche, Holacracy aide une organisation à fonctionner à la manière dont nous faisons habituellement du vélo, selon un paradigme de pilotage dynamique, à savoir un ajustement permanent selon les retours obtenus, faisant ainsi naître un cheminement plus organique. Si vous observez un cycliste très doué, vous constaterez une oscillation permanente car il reçoit sans arrêt des informations sensorielles sur sa situation et son environnement lui permettant de corriger légèrement sa direction, sa vitesse, son équilibre et son aérodynamisme. Cette oscillation intervient car il maintient un équilibre dynamique tout en avançant. Les informations qu’il reçoit rapidement lui permettent de respecter les contraintes de l’environnement et de son matériel. Au lieu de perdre beaucoup de temps et d’énergie à prévoir précisément à l’avance le «&nbsp;bon&nbsp;» itinéraire, il garde son but en tête, reste focalisé sur l’instant présent et avance le plus naturellement du monde. Cela ne signifie pas qu’il n’a aucun plan ou tout du moins aucune idée de son itinéraire, mais qu’il parvient à mieux contrôler sa progression en se livrant en permanence à la réalité ambiante et en se fiant à sa capacité à ressentir les choses et à réagir instantanément. De même, l’occasion s’offre à nous d’afficher un meilleur contrôle dans nos organisations en affrontant la réalité et en nous adaptant, en&nbsp;permanence.</p>
  807. <p>Lorsque nous nous attachons à un résultat précis prévu à l’avance, nous risquons de nous retrouver à combattre la réalité quand celle-ci ne correspond pas à notre prévision. Si nous constatons que nous avons dévié du bon cap, nous pouvons en conclure, parfois inconsciemment, que nous sommes très certainement dans l’erreur. <mark>Juger ainsi la réalité nuit à notre capacité d’adaptation et nous incite à lutter contre la vérité indésirable, à essayer de forcer la réalité à être conforme à la vision que nous avions.</mark> Il s’agit là d’une stratégie loin d’être efficace pour gérer la complexité fluctuante du monde des affaires actuel. Lorsque la réalité entre en conflit avec nos plans les mieux échafaudés, c’est généralement la réalité qui&nbsp;l’emporte.</p>
  808. <p>Je dois faire remarquer qu’adopter une approche plus dynamique pour gagner en contrôle ne revient pas à «&nbsp;ne rien prévoir&nbsp;», tout comme on n’avance pas à vélo «&nbsp;sans piloter&nbsp;». Il s’agit de modifier notre relation aux prévisions et plans, en les considérant parfois comme des faux raisonnements utiles et non comme des outils essentiels pour contrôler l’organisation. Et il s’agit d’être en phase avec l’instant présent afin de toujours pouvoir piloter en fonction de la&nbsp;réalité.</p>
  809. <p><cite><em>Ibid.</em></cite></p>
  810. </blockquote>
  811. <a href="#hr-48" title="Lien vers cette section de la page"><hr id="hr-48" /></a>
  812. <blockquote>
  813. <p>Alors que le malaise dans lequel sont aujourd’hui plongées les sociétés occidentales n’en finit plus d’être commenté, est-il néanmoins possible de dessiner les contours d’une société idéale, une utopie réaliste, susceptible de constituer, pour les Français, un avenir désirable&#8239;? C’est précisément pour apporter des éléments de réponses à cette question qu’a été lancé en 2019&nbsp;l’Observatoire des perspectives utopiques. Dans le sillage de ces deux années de pandémie et à la veille de l’élection présidentielle, il nous est apparu utile de reconduire cette enquête, pour saisir où en sont les Français et évaluer dans quelle mesure leurs représentations et aspirations ont&nbsp;évolué.</p>
  814. <p><cite><em><a data-link-domain="lobsoco.com" href="https://lobsoco.com/perspectives-utopiques-vague-3/" hreflang="fr"
  815. title="Consultation de l’article">L’Observatoire des perspectives utopiques</a>
  816. <a href="/david/cache/2024/7ed7f4aefae1b5af33b3ec1f607a633f/" hreflang="fr"
  817. data-tippy data-description="Avec le soutien de nos partenaires Accédez ci-dessous aux principaux enseignements (classés par thématiques) de l’Observatoire."
  818. data-source="https://lobsoco.com/perspectives-utopiques-vague-3/"
  819. data-date="2024-01-24"
  820. data-favicon="https://lobsoco.com/wp-content/uploads/2020/09/cropped-FAVICON-01-32x32.png"
  821. data-domain="lobsoco.com"
  822. ><svg xmlns="http://www.w3.org/2000/svg"
  823. width="24" height="24" viewBox="0 0 24 24" fill="none"
  824. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  825. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  826. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  827. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  828. </svg>
  829. <span class="sr-only">[archive]</span></a></em></cite></p>
  830. </blockquote>
  831. <p>Il y a des choses intéressantes qui ressortent de cet observatoire, notamment en comparant les résultats au cours du temps. Je me demande ce que pourraient donner les résultats de ce même sondage au&nbsp;Québec.</p>
  832. <a href="#hr-49" title="Lien vers cette section de la page"><hr id="hr-49" /></a>
  833. <p>Mot du jour&nbsp;: <a data-link-domain="fr.wiktionary.org" href="https://fr.wiktionary.org/wiki/cyn%C3%A9g%C3%A9tophobie">cynégétophobie</a>.</p>
  834. <nav>
  835. <p>
  836. <a href="/david/2024/apprentissage/"
  837. title="Liste de tous les articles 2024 associés à cette étiquette"
  838. rel="tag">#apprentissage</a>
  839. <a href="/david/2024/equipe/"
  840. title="Liste de tous les articles 2024 associés à cette étiquette"
  841. rel="tag">#équipe</a>
  842. <a href="/david/2024/velo/"
  843. title="Liste de tous les articles 2024 associés à cette étiquette"
  844. rel="tag">#vélo</a>
  845. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  846. </p>
  847. </nav>
  848. <h2>
  849. <a href="/david/2024/01/21/" title="Lien permanent vers cet article">Bois</a> <time datetime="2024-01-21">21 janvier 2024</time>
  850. </h2>
  851. <p>La dissonance cognitive du jour&nbsp;: faire un atelier de tour à bois et lire dans la foulée <em>La vie secrète des arbre</em> de Peter Wohlleben brillamment mise en version BD par Fred Bernard et Benjamin&nbsp;Flao.</p>
  852. <figure>
  853. <a href="/static/david/2024/2024-01-20-tour-a-bois.jpg"
  854. title="Cliquer pour une version haute résolution">
  855. <img
  856. src="/static/david/2024/2024-01-20-tour-a-bois.jpg"
  857. width="3024" height="4032"
  858. srcset="/static/david/2024/2024-01-20-tour-a-bois.jpg 3024w, /static/david/2024/2024-01-20-tour-a-bois_660x440.jpg 660w, /static/david/2024/2024-01-20-tour-a-bois_990x660.jpg 990w, /static/david/2024/2024-01-20-tour-a-bois_1320x880.jpg 1320w"
  859. sizes="min(100vw, calc(100vh * 3024 / 4032))"
  860. loading="lazy"
  861. decoding="async"
  862. alt="Une assiette, un bol et une cuillère en bois à côté du livre cité avec des plantes en fond.">
  863. </a>
  864. <figcaption>6 heures de travail non-stop pour faire cette assiette et ce&nbsp;bol.</figcaption>
  865. </figure>
  866. <blockquote>
  867. <p>Lorsque je marche en foret, je sens que je fais partie intégrante du vivant. Je suis, nous sommes naturellement, unis au minéral, aux bactéries, aux virus, aux champignons aux plantes, aux chenilles, aux papillons, à tous les&nbsp;animaux.</p>
  868. <p>Nous sommes tous reliés et <mark>ne faisons que passer sur cette mince pellicule de vie</mark> qui couvre miraculeusement la terre. Tout le vivant est constitue des mêmes atomes présents sur notre planète depuis sa&nbsp;création.</p>
  869. <p>Je porte en moi des particules qui ont constitue des arbres du crétacé, des légionnaires romains, des plants de tomates rapportés d’Amérique par les conquistadors… rien ne se crée, tout se transforme, dit-on. Rien n’est plus&nbsp;vrai.</p>
  870. </blockquote>
  871. <figure>
  872. <a href="/static/david/2024/2024-01-20-vie-secrete-arbres.jpg"
  873. title="Cliquer pour une version haute résolution">
  874. <img
  875. src="/static/david/2024/2024-01-20-vie-secrete-arbres.jpg"
  876. width="3024" height="4032"
  877. srcset="/static/david/2024/2024-01-20-vie-secrete-arbres.jpg 3024w, /static/david/2024/2024-01-20-vie-secrete-arbres_660x440.jpg 660w, /static/david/2024/2024-01-20-vie-secrete-arbres_990x660.jpg 990w, /static/david/2024/2024-01-20-vie-secrete-arbres_1320x880.jpg 1320w"
  878. sizes="min(100vw, calc(100vh * 3024 / 4032))"
  879. loading="lazy"
  880. decoding="async"
  881. alt="Extrait du livre «&nbsp;La vie secrète des arbres&nbsp;» dont est issue la citation ci-dessus.">
  882. </a>
  883. <figcaption>J’aime beaucoup des livres transformés en BD, je trouve que l’image leur donne une autre&nbsp;dimension.</figcaption>
  884. </figure>
  885. <p>D’autant plus motivé pour trouver un bout de forêt à préserver —&nbsp;des chasseurs, de l’exploitation, de la pollution, etc.&nbsp;— dans le coin. Un de mes objectifs&nbsp;2024.</p>
  886. <nav>
  887. <p>
  888. <a href="/david/2024/apprentissage/"
  889. title="Liste de tous les articles 2024 associés à cette étiquette"
  890. rel="tag">#apprentissage</a>
  891. <a href="/david/2024/foret/"
  892. title="Liste de tous les articles 2024 associés à cette étiquette"
  893. rel="tag">#forêt</a>
  894. <a href="/david/2024/protopie/"
  895. title="Liste de tous les articles 2024 associés à cette étiquette"
  896. rel="tag">#protopie</a>
  897. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  898. </p>
  899. </nav>
  900. <h2>
  901. <a href="/david/2024/01/10/" title="Lien permanent vers cet article">Écriture</a> <time datetime="2024-01-10">10 janvier 2024</time>
  902. </h2>
  903. <blockquote lang="en">
  904. <p>And, I’ll assume we all agree that owning your own website is a <em>good thing</em>, and we all want more people to do&nbsp;it.</p>
  905. <p>But here’s the thing: we need more tools for it. We need simpler tools for it. And we need to make installing and using them <em>trivially simple</em>.</p>
  906. <p>We need more self-hosted platforms for personal publishing that <em>aren’t Wordpress</em>. <mark>And don’t point me to Hugo or Netlify or Eleventy or all those things - all of them are great, but none of them are simple enough.</mark> We need web publishing tools that do not require users to open the Terminal <em>at all</em>. And we need lots of&nbsp;them.</p>
  907. <p>We need a whole <em>galaxy</em> of&nbsp;options.</p>
  908. <p><cite><em><a data-link-domain="gilest.org" href="https://gilest.org/indie-easy.html" hreflang="en"
  909. title="Consultation de l’article (anglais)">Let’s make the indie web easier</a>
  910. <a href="/david/cache/2024/faa1d8cae94da6838ff9351e5df791ca/" hreflang="en"
  911. data-tippy data-description=""
  912. data-source="https://gilest.org/indie-easy.html"
  913. data-date="2024-01-09"
  914. data-favicon="https://gilest.org/favicon.ico"
  915. data-domain="gilest.org"
  916. ><svg xmlns="http://www.w3.org/2000/svg"
  917. width="24" height="24" viewBox="0 0 24 24" fill="none"
  918. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  919. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  920. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  921. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  922. </svg>
  923. <span class="sr-only">[archive]</span></a></em></cite></p>
  924. </blockquote>
  925. <p>Quelques étoiles dans la&nbsp;galaxie&nbsp;:</p>
  926. <ul>
  927. <li><a data-link-domain="atelier.scribouilli.org" href="https://atelier.scribouilli.org/">Scribouilli</a> (<a data-link-domain="github.com" href="https://github.com/Scribouilli/scribouilli">code</a>) par <a data-link-domain="lechappeebelle.team" href="https://lechappeebelle.team/">L’Échappée Belle</a>&#8239;;</li>
  928. <li><a data-link-domain="write.as" href="https://write.as/">Write.as</a> (<a data-link-domain="writefreely.org" href="https://writefreely.org/">open-source</a>) est le plus proche que je pourrais conseiller avec un support commercial de <a data-link-domain="musing.studio" href="https://musing.studio/">Musing Studio</a>&#8239;;</li>
  929. <li><a data-link-domain="masto.host" href="https://masto.host/">mastohost</a> —&nbsp;que <a data-link-domain="fedi.larlet.fr" href="https://fedi.larlet.fr/">j’utilise</a>&nbsp;— permet d’avoir son propre domaine aussi sans vraiment de connaissance technique, le support est&nbsp;réactif&#8239;;</li>
  930. <li><a data-link-domain="carrd.co" href="https://carrd.co/">Carrd</a> est revenu plusieurs fois dans ma bulle ces derniers&nbsp;temps&#8239;;</li>
  931. <li><a data-link-domain="pika.page" href="https://pika.page/">Pika</a> aussi avec une saveur plus&nbsp;humaine.</li>
  932. </ul>
  933. <p>Il y a une bonne liste dans <a data-link-domain="mastodon.social" href="https://mastodon.social/@matthiasott/111557355056827064">cette discussion</a> et une autre <a data-link-domain="robertkingett.com" href="https://robertkingett.com/links/">par ici</a> (section <q lang="en">Managed Static site hosts or Blogging platforms</q>).</p>
  934. <a href="#hr-21" title="Lien vers cette section de la page"><hr id="hr-21" /></a>
  935. <blockquote lang="en">
  936. <p>Among its suggestions: write a longer headline; split a six-sentence paragraph up because it’s “too long”; and replace “too complex” words like “invariably,” “notoriety,” and “modification.” Dozens of sentences were flagged as being confusing (I disagree) — and it really hated em dashes. I rewrote my prose over and over, but it didn’t seem to satisfy my robot grader. I finally chose one thought per sentence, broke up paragraphs, and replaced words with suggested keywords to get rid of the red dots signaling&nbsp;problems.</p>
  937. <p><mark>The result feels like an AI summary of my story</mark> — at any moment, a paragraph could start with “In conclusion…” or “The next thing to consider is…” The nuance, voice, and unexpected twists and turns have been snuffed out. I’m sure some people would prefer this uncomplicated, beat-by-beat version of the story, but it’s gone from being a story written by a real person to a clinical, stiff series of&nbsp;sentences.</p>
  938. <p><cite><em><a data-link-domain="theverge.com" href="https://www.theverge.com/c/23998379/google-search-seo-algorithm-webpage-optimization" hreflang="en"
  939. title="Consultation de l’article (anglais)">The Perfect Web Page</a>
  940. <a href="/david/cache/2024/3debc675a055d691b32c7d6904531eb4/" hreflang="en"
  941. data-tippy data-description="How the internet reshaped itself around Google’s search algorithms — and into a world where websites look the same."
  942. data-source="https://www.theverge.com/c/23998379/google-search-seo-algorithm-webpage-optimization"
  943. data-date="2024-01-09"
  944. data-favicon="https://cdn.vox-cdn.com/uploads/chorus_asset/file/23989695/favicon_32x32.png"
  945. data-domain="theverge.com"
  946. ><svg xmlns="http://www.w3.org/2000/svg"
  947. width="24" height="24" viewBox="0 0 24 24" fill="none"
  948. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  949. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  950. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  951. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  952. </svg>
  953. <span class="sr-only">[archive]</span></a></em></cite></p>
  954. </blockquote>
  955. <p>Un article de TheVerge qui risque de ne pas être très bien référencé. Le moment où l’on s’adapte pour nourrir les robots n’est pas nouveau, on a «&nbsp;juste&nbsp;» mis une nouvelle étiquette dessus en 2023&nbsp;qui permet aux robots / algorithmes de se battre entre eux de manière&nbsp;explicite.</p>
  956. <p>Pas sûr de vouloir <a data-link-domain="darkvisitors.com" href="https://darkvisitors.com/robots-txt-builder">entrer sur le ring</a> sans m’épuiser très&nbsp;vite.</p>
  957. <blockquote lang="en">
  958. <p>I propose <mark>Data Luddism</mark> as a radical response to the productive power of big data and predictive algorithms. My starting point is not the Romantic neo-Luddism of Kirkpatrick Sale but the historical Luddism of 1811-1816, and the Luddites' own rhetoric regarding their resistance to 'obnoxious&nbsp;machines'.</p>
  959. <p><cite><em><a data-link-domain="danmcquillan.org" href="https://www.danmcquillan.org/dataluddism.html" hreflang="en"
  960. title="Consultation de l’article (anglais)">Data Luddism</a>
  961. <a href="/david/cache/2024/b1da1249f2db388d7e84d6ad23c2fc5d/" hreflang="en"
  962. data-tippy data-description=""
  963. data-source="https://www.danmcquillan.org/dataluddism.html"
  964. data-date="2024-01-09"
  965. data-favicon=""
  966. data-domain="danmcquillan.org"
  967. ><svg xmlns="http://www.w3.org/2000/svg"
  968. width="24" height="24" viewBox="0 0 24 24" fill="none"
  969. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  970. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  971. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  972. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  973. </svg>
  974. <span class="sr-only">[archive]</span></a></em></cite></p>
  975. </blockquote>
  976. <a href="#hr-22" title="Lien vers cette section de la page"><hr id="hr-22" /></a>
  977. <blockquote lang="en">
  978. <p>The <code>everything</code> package and its 3,000+ sub-packages have caused a Denial of Service (DOS) for anyone who installs it. We’re talking about storage space running out and system resource&nbsp;exhaustion.</p>
  979. <p>But that’s not all. The creator took their prank to the next level by setting up http://everything.npm.lol, showcasing the chaos they unleashed. They even included a meme from Skyrim, adding some humor (or mockery, depending on your perspective) to the&nbsp;situation.</p>
  980. <p><cite><em><a data-link-domain="socket.dev" href="https://socket.dev/blog/when-everything-becomes-too-much" hreflang="en"
  981. title="Consultation de l’article (anglais)">When “Everything” Becomes Too Much: The npm Package Chaos of 2024</a>
  982. <a href="/david/cache/2024/4a56aa5497e68df0c5bb1d5331203219/" hreflang="en"
  983. data-tippy data-description="An NPM user named PatrickJS launched a troll campaign with a package called everything, which depends on all public npm packages."
  984. data-source="https://socket.dev/blog/when-everything-becomes-too-much"
  985. data-date="2024-01-09"
  986. data-favicon="https://socket.dev/favicon-32x32.png"
  987. data-domain="socket.dev"
  988. ><svg xmlns="http://www.w3.org/2000/svg"
  989. width="24" height="24" viewBox="0 0 24 24" fill="none"
  990. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  991. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  992. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  993. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  994. </svg>
  995. <span class="sr-only">[archive]</span></a></em></cite></p>
  996. </blockquote>
  997. <p><code>npm install lol</code> 🤣</p>
  998. <p>En <a data-link-domain="jop2024.lol" href="https://jop2024.lol/">parlant de lol</a>…</p>
  999. <a href="#hr-23" title="Lien vers cette section de la page"><hr id="hr-23" /></a>
  1000. <blockquote>
  1001. <p>Si les fictions, celles qu’on s’invente, celles que nous souffle notre inconscient comme celles qu’on lit, ont un rôle majeur à jouer dans la fabrique de notre rapport au monde, alors voilà qui plaide pour redoubler d’ardeur quand il s’agit de nourrir soigneusement nos imaginaires. Quand on voit les déferlements de violence et le virilisme qui caractérisent les héros modernes, on ne peut que s’interroger sur le type de rapport au monde que cela crée. C’est la raison pour laquelle <mark>la bataille culturelle passe aussi par la création de nouvelles utopies,</mark> ni niaises ni naïves, qui puissent donner d’autres matières à rêver qu’un monde dévasté et peuplé de soldats&nbsp;augmentés.</p>
  1002. <p>[…] Nous avons besoin d’autres cadres de pensée dans lesquels évoluer. Nous avons besoin d’<em>ailleurs culturels</em> pour sortir de l’ornière et nous&nbsp;dérouter.</p>
  1003. <p><cite><em>Alors nous irons trouver la beauté ailleurs</em>, Corinne Morel&nbsp;Darleux</cite></p>
  1004. </blockquote>
  1005. <p>Nous accueillons une nouvelle personne chez Scopyleft, l’occasion de former une <a href="/david/2021/03/17/">nouvelle équipe</a>. Ces <em>ailleurs culturels</em> doivent pouvoir être partagés et inspirer pour réussir à&nbsp;essaimer.</p>
  1006. <p>C’est l’une de mes frustrations à ne plus <a href="/david/2021/01/26/">participer à des regroupements</a>, ne pas partager par ce biais là les expériences menées depuis 11&nbsp;ans en matière d’horizontalité et de travail en&nbsp;commun·s.</p>
  1007. <a href="#hr-24" title="Lien vers cette section de la page"><hr id="hr-24" /></a>
  1008. <blockquote lang="en">
  1009. <p>So when we wonder where all the websites have gone, know it’s the <em>curators</em> we’re nostalgic for because the curators showed us the best the web had to offer once upon a time. And the curators— the tenders, aggregators, collectors, and connectors— can bring us back to something better. Because it’s still out there, we just have to find&nbsp;it.</p>
  1010. <p>Here’s the best part. <mark>You can be that curator right now, at this very moment.</mark> You can start to rebuild the interconnectivity that made the web fun to explore. And you don’t need to be a computer scientist to do&nbsp;it.</p>
  1011. <p><cite><em><a data-link-domain="fromjason.xyz" href="https://www.fromjason.xyz/p/notebook/where-have-all-the-websites-gone/" hreflang="en"
  1012. title="Consultation de l’article (anglais)">Where have all the websites gone?</a>
  1013. <a href="/david/cache/2024/c3272392d462da90874d32841e5caac8/" hreflang="en"
  1014. data-tippy data-description="It feels like all the cool websites from the late 2000s are gone. But maybe we are looking at this the wrong way. Maybe it is us who vanished."
  1015. data-source="https://www.fromjason.xyz/p/notebook/where-have-all-the-websites-gone/"
  1016. data-date="2024-01-09"
  1017. data-favicon="https://www.fromjason.xyz/img/favicon.png"
  1018. data-domain="fromjason.xyz"
  1019. ><svg xmlns="http://www.w3.org/2000/svg"
  1020. width="24" height="24" viewBox="0 0 24 24" fill="none"
  1021. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  1022. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  1023. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  1024. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  1025. </svg>
  1026. <span class="sr-only">[archive]</span></a></em></cite></p>
  1027. </blockquote>
  1028. <p>Dixième jour que j’ai l’impression de faire des billets trop longs. Beaucoup d’éparpillement suite à un cumul d’onglets ouverts, parfois depuis bien longtemps. Ça vous laisse un petit exercice de <q lang="en">curation</q> vous&nbsp;aussi&nbsp;:).</p>
  1029. <nav>
  1030. <p>
  1031. <a href="/david/2024/apprentissage/"
  1032. title="Liste de tous les articles 2024 associés à cette étiquette"
  1033. rel="tag">#apprentissage</a>
  1034. <a href="/david/2024/ecriture/"
  1035. title="Liste de tous les articles 2024 associés à cette étiquette"
  1036. rel="tag">#écriture</a>
  1037. <a href="/david/2024/ia/"
  1038. title="Liste de tous les articles 2024 associés à cette étiquette"
  1039. rel="tag">#IA</a>
  1040. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  1041. </p>
  1042. </nav>
  1043. <h2>
  1044. <a href="/david/2024/01/07/" title="Lien permanent vers cet article">Dons</a> <time datetime="2024-01-07">7 janvier 2024</time>
  1045. </h2>
  1046. <blockquote>
  1047. <p>Plus que 3&nbsp;jours pour décider de l’usage de vos #impôts en donnant à des&nbsp;#assos&#8239;!</p>
  1048. <p>Vu le succès de <a data-link-domain="piaille.fr" href="https://piaille.fr/@mattisg/109605598029237063">l’opération l’an dernier</a>, je relance le doublement des dons en cette fin d’année 2023, avec un plafond plus élevé&#8239;! 🤑💞</p>
  1049. <p>Donnez à une des assos ci-dessous, publiez votre reçu en réponse, <mark>je double votre don.</mark>&nbsp;[…]</p>
  1050. <p><cite><a data-link-domain="piaille.fr" href="https://piaille.fr/@mattisg/111652988498506725">@mattisg@piaille.fr</a></cite></p>
  1051. </blockquote>
  1052. <p>Admirable. C’est la deuxième année que nous arrivons à faire des dons avec Scopyleft et ça me met en joie. Cela m’a même motivé pour en faire à titre&nbsp;personnel.</p>
  1053. <p>Une forme d’impôt volontaire qui ne termine pas / <a href="/david/2024/01/01/" title="Dryear(s)">plus</a> à la <a data-link-domain="saq.com" href="https://www.saq.com/">SAQ</a>.</p>
  1054. <a href="#hr-13" title="Lien vers cette section de la page"><hr id="hr-13" /></a>
  1055. <p>Pensée (genrée) du jour&nbsp;: un bon développeur fait bien la cuisine, un très bon développeur fait la vaisselle après avoir fait la&nbsp;cuisine.</p>
  1056. <p>Il y a une métaphore au niveau du soin, du partage et de la maintenance à peine&nbsp;déguisée.</p>
  1057. <a href="#hr-14" title="Lien vers cette section de la page"><hr id="hr-14" /></a>
  1058. <p>Masto comme un <a data-link-domain="fedi.larlet.fr" href="https://fedi.larlet.fr/@david/111709177849752316">espace de discussion</a>, le blog comme un espace de synthèse&nbsp;: il me faut un sélecteur de thème clair / foncé car c’est utile à plusieurs personnes. C’est faible comme test utilisateur·ice mais c’est déjà ça. Et puis j’ai découvert plein de&nbsp;pratiques&#8239;!</p>
  1059. <p>Je décline le sélecteur de thème que l’<a href="/david/2020/06/25/#paillasse">on avait fait en 2020</a> avec <a data-link-domain="ricaud.me" href="https://ricaud.me/blog/">Anthony</a> mais cette fois sous la forme d’un <em>Web Component</em>. Je me suis pris les pieds dans le tapis car les <em>layers</em> en CSS ajoutent un niveau d’indentation dans la logique (et changent la spécificité mais c’est le&nbsp;but&#8239;!).</p>
  1060. <p>Je ne sais pas encore quel style lui donner. J’en profite pour mettre en place le changement subtil de police pour le thème foncé (plus <em>light</em>, ironiquement). J’ai l’espoir que ce type d’adaptation aide les astigmates… à arriver jusqu’au sélecteur de&nbsp;thème&nbsp;😅.</p>
  1061. <p><em>Bientôt 500&nbsp;lignes de&nbsp;CSS.</em></p>
  1062. <a href="#hr-15" title="Lien vers cette section de la page"><hr id="hr-15" /></a>
  1063. <blockquote>
  1064. <p>Une fois la transcription terminée, je peux enregistrer le fichier texte du podcast avec la fonction export en mode paragraphe. (non corrigé, brut).</p>
  1065. <p>Je suis&nbsp;impressionné.</p>
  1066. <p><cite><em><a data-link-domain="la-grange.net" href="https://www.la-grange.net/2024/01/06/ebauche" hreflang="fr"
  1067. title="Consultation de l’article">plaisir d’ébauche</a>
  1068. <a href="/david/cache/2024/d75afc90a9d3c3b5a56b69446795fbb5/" hreflang="fr"
  1069. data-tippy data-description=""
  1070. data-source="https://www.la-grange.net/2024/01/06/ebauche"
  1071. data-date="2024-01-07"
  1072. data-favicon="https://www.la-grange.net/favicon.ico"
  1073. data-domain="la-grange.net"
  1074. ><svg xmlns="http://www.w3.org/2000/svg"
  1075. width="24" height="24" viewBox="0 0 24 24" fill="none"
  1076. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  1077. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  1078. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  1079. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  1080. </svg>
  1081. <span class="sr-only">[archive]</span></a></em></cite></p>
  1082. </blockquote>
  1083. <p>Ce&nbsp;titre&nbsp;:)</p>
  1084. <p>La transcription des <em>podcast</em> serait très importante pour moi car je n’arrive pas à en écouter un plus de 2&nbsp;minutes sans être à la peine (imaginez-moi au téléphone… ou en visio sans vidéo). J’avais fait des <a href="/david/2021/01/18/">essais il y a 3&nbsp;ans</a> déjà qui n’étaient pas concluant mais peut-être que l’IA s’en sort mieux aujourd’hui. En tout cas, ça semble être le cas sur cet essai. Il faut que je prenne le temps de transformer ces murmures en mots, j’ai l’impression de passer à côté de beaucoup de choses&nbsp;inspirantes.</p>
  1085. <a href="#hr-16" title="Lien vers cette section de la page"><hr id="hr-16" /></a>
  1086. <blockquote lang="en">
  1087. <p>We evaluate APIs only on the basis of merit in the context of providing superior search engine results. Considering company x founder political views is not a factor in this evaluation. <mark>Politics finding its way into tech is one of the reason we do not have innovation any&nbsp;more.</mark></p>
  1088. <p>We are primarily in the business of search and we’d like to stay focused on&nbsp;that.</p>
  1089. <p><cite><em><a data-link-domain="kagifeedback.org" href="https://kagifeedback.org/d/2808-reconsider-your-partnership-with-brave/6" hreflang="en"
  1090. title="Consultation de l’article (anglais)">Vlad (admin Kagi) répondant</a>
  1091. <a href="/david/cache/2024/d236f33cf82727313d17cb23bf36a395/" hreflang="en"
  1092. data-tippy data-description="Brave, as you know, is led by Brendan Eich. s homophobia is so disgusting that he was forced to resign as the leader..."
  1093. data-source="https://kagifeedback.org/d/2808-reconsider-your-partnership-with-brave/6"
  1094. data-date="2024-01-07"
  1095. data-favicon="https://kagifeedback.org/assets/favicon-bmwk4ltf.png"
  1096. data-domain="kagifeedback.org"
  1097. ><svg xmlns="http://www.w3.org/2000/svg"
  1098. width="24" height="24" viewBox="0 0 24 24" fill="none"
  1099. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  1100. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  1101. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  1102. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  1103. </svg>
  1104. <span class="sr-only">[archive]</span></a> à «&nbsp;Reconsider your partnership with&nbsp;Brave&nbsp;»</em></cite></p>
  1105. </blockquote>
  1106. <p>À un moment l’année dernière, j’ai essayé Kagi et j’ai failli franchir le pas du payant. Je suis bien content de ne pas l’avoir fait car je m’en serais mordu les doigts aujourd’hui. Dans l’idéal, un moteur de recherche serait objectif mais un algorithme comporte toujours les biais de ses créateur·ices. Et vu la population qui code aujourd’hui, autant dire que c’est mal barré. Le fait qu’un administrateur de Kagi puisse être aussi naïf sur le sujet est assez&nbsp;terrible.</p>
  1107. <p><a data-link-domain="theverge.com" href="https://www.theverge.com/2021/4/27/22406673/basecamp-political-speech-policy-controversy" hreflang="en"
  1108. title="Consultation de l’article (anglais)">Pas de politique au travail</a>
  1109. <a href="/david/cache/2024/b80f5159ee7ac70bcaa6a9fde16c2408/" hreflang="en"
  1110. data-tippy data-description="Basecamp announced it would ban “societal and political discussions” at work. But the hardest conversations at work were about the company itself. Platformer’s Casey Newton spoke with half a dozen employees about the controversy."
  1111. data-source="https://www.theverge.com/2021/4/27/22406673/basecamp-political-speech-policy-controversy"
  1112. data-date="2024-01-07"
  1113. data-favicon="https://www.theverge.com/icons/favicon_32x32.png"
  1114. data-domain="theverge.com"
  1115. ><svg xmlns="http://www.w3.org/2000/svg"
  1116. width="24" height="24" viewBox="0 0 24 24" fill="none"
  1117. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  1118. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  1119. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  1120. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  1121. </svg>
  1122. <span class="sr-only">[archive]</span></a> est ma nouvelle&nbsp;cryptonite.</p>
  1123. <nav>
  1124. <p>
  1125. <a href="/david/2024/apprentissage/"
  1126. title="Liste de tous les articles 2024 associés à cette étiquette"
  1127. rel="tag">#apprentissage</a>
  1128. <a href="/david/2024/communaute/"
  1129. title="Liste de tous les articles 2024 associés à cette étiquette"
  1130. rel="tag">#communauté</a>
  1131. <a href="/david/2024/fediverse/"
  1132. title="Liste de tous les articles 2024 associés à cette étiquette"
  1133. rel="tag">#fédiverse</a>
  1134. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  1135. </p>
  1136. </nav>
  1137. <h2>
  1138. <a href="/david/2024/01/05/" title="Lien permanent vers cet article">Vocabulaire</a> <time datetime="2024-01-05">5 janvier 2024</time>
  1139. </h2>
  1140. <blockquote>
  1141. <p>Les tensions et processer les tensions. Essayez de remplacer les termes «&nbsp;problèmes&nbsp;» et «&nbsp;solutions&nbsp;» par «&nbsp;tensions&nbsp;» et «&nbsp;processer&nbsp;». Les êtres humains semblent être enclins de manière innée à attendre la dernière minute pour gérer ce qu’ils perçoivent comme des problèmes. Par conséquent, l’emploi de ce langage «&nbsp;négatif&nbsp;» dans le monde de l’entreprise peut donner naissance à une culture de l’évitement ou de l’inquiétude inutile. Le terme «&nbsp;tension&nbsp;», comme employé en <em>Holacracy</em>, est neutre et signifie simplement <em>la perception d’un écart entre la réalité et ce qu’elle pourrait&nbsp;être.</em></p>
  1142. <p>Une tension n’est pas un «&nbsp;problème&nbsp;» et n’induit pas nécessairement une «&nbsp;solution&nbsp;». Elle met en lumière une occasion de rapprocher la situation actuelle de ce qu’elle pourrait être — ce qui sous-entend généralement une amélioration. <mark>Holacracy emploie le terme «&nbsp;processer&nbsp;» pour décrire ce phénomène, qui évite la notion de résultat fixe et définitif et illustre un cheminement fait d’une adaptation et de progrès&nbsp;permanents.</mark></p>
  1143. <p>Des propositions plutôt que des problèmes. Le changement qui va de pair avec celui que je viens de décrire est de prendre l’habitude de faire des «&nbsp;propositions&nbsp;» au lieu de se contenter de se lamenter. Lorsque vous ressentez une tension, demandez-vous&nbsp;: «&nbsp;Qu’est-ce qui pourrait améliorer la situation&#8239;? Que pourrais-je proposer&#8239;?&nbsp;» Encouragez votre équipe à en faire de même. La proposition ne se doit pas d’être une «&nbsp;solution&nbsp;» parfaite — c’est un moyen d’entamer la conversation de manière proactive et créative, et non&nbsp;négative.</p>
  1144. <p><cite><em>La révolution Holacracy</em>, Brian J. Robertson, chapitre «&nbsp;Changez votre langage, changez votre&nbsp;culture&nbsp;»</cite></p>
  1145. </blockquote>
  1146. <p>On pourrait y voir de la <a data-link-domain="fr.wikipedia.org" href="https://fr.wikipedia.org/wiki/Novlangue">novlangue</a> de <em>manager</em> mais il y a cette idée derrière qu’on ne tente pas de résoudre un problème mais de libérer —&nbsp;peut-être temporairement&nbsp;— une tension qui me plait bien. Ce que l’on aborde alors ensemble ce sont les actions qui nous semblent aller vers <em>un</em> mieux parmi l’arbre des possibles. L’enjeu d’un collectif qui se respecte est de trouver la légitimité individuelle nécessaire pour continuer à explorer des pistes ne faisant pas forcément l’unanimité lors d’une première itération. <em>Holacratie</em> semble mettre des règles explicites sur ces&nbsp;pratiques.</p>
  1147. <p>J’apprécie particulièrement le couple proposition / objections. Difficile de sortir d’une forme de confort une fois celui-ci établi. Peut-être que le <em>refus de confort</em> pourrait être une notion au même titre que le <a href="/david/2020/10/08/"><em>refus de parvenir</em></a>&#8239;? Accepter le risque de l’inconnu pour ne pas se perdre dans un hier déjà expérimenté, déjà&nbsp;dé·fini.</p>
  1148. <blockquote>
  1149. <p>Des objections&#8239;? La prochaine fois que vous recherchez l’adhésion de votre équipe à une décision, modifiez votre mode de communication. Ne demandez pas&nbsp;: «&nbsp;Est-ce que tout le monde est d’accord&#8239;?&nbsp;» ou «&nbsp;Ma proposition plaît-elle à tout le monde&#8239;?&nbsp;». Ces questions débouchent sur une discussion longue et pénible. Demandez-leur plutôt&nbsp;: <mark>«&nbsp;Y a-t-il des objections à l’adoption de cette proposition&#8239;?&nbsp;»</mark> Et définissez une objection comme «&nbsp;une raison pour laquelle l’adoption de cette proposition causerait du tort ou nous ferait&nbsp;régresser&#8239;?&nbsp;»</p>
  1150. <p>Voici une autre formulation&nbsp;: «&nbsp;Est-ce que quelqu’un considère la mise en œuvre de cette proposition comme pas assez sûre, sachant que nous pourrons revoir cette décision si elle ne porte pas ses fruits&#8239;?&nbsp;» Ce simple changement de langage peut vous faire gagner beaucoup de temps et alléger considérablement le processus&nbsp;décisionnel.</p>
  1151. <p><cite><em>Ibid.</em></cite></p>
  1152. </blockquote>
  1153. <a href="#hr-7" title="Lien vers cette section de la page"><hr id="hr-7" /></a>
  1154. <p><a data-link-domain="piaille.fr" href="https://piaille.fr/@nicosomb/111696724396676161">Nicolas L.</a> et <a data-link-domain="mamot.fr" href="https://mamot.fr/@nhoizey/111697128068526484">Nicolas H.</a> me font des retours sur le nouveau design en passant par Mastodon. Les choix respectifs de chacun·e de rendre les réponses publiques ou non enlèvent une partie des échanges mais c’est vraiment chouette d’entamer un processus d’amélioration (de libération de tensions&#8239;?) en commun à ce&nbsp;sujet.</p>
  1155. <p>J’essaye de rendre l’épaisseur du soulignement des liens dynamique, lié à la fluidité de la taille du texte&nbsp;🧑‍🔬, peut-être que je devrais rendre la taille des bordures dynamiques aussi&#8239;? Parfois la contrainte technique peut devenir une contrainte éditoriale acceptable. <strong>Cet espace est suffisamment sur-pensé comme&nbsp;ça.</strong></p>
  1156. <p>Je commence un thème sombre qui réagit à celui du système d’exploitation par défaut. Surtout pour un besoin personnel pour l’instant, mes yeux en ont besoin. Cela me pousse à ajouter des variables CSS pour les&nbsp;couleurs.</p>
  1157. <p>Plus tard, <a data-link-domain="mamot.fr" href="https://mamot.fr/@emmanuelc/111700432836997597">Emmanuel</a> m’enlève une épine du pied sur une formule de grille que je ne comprenais pas totalement. J’apprends des choses au passage. Le copier-coller&#8239;? Oui, mais il faudra toujours finir par le&nbsp;décortiquer.</p>
  1158. <p>La CSS progresse, 426&nbsp;lignes ce soir… et un seul <code>breakpoint</code> défini pour forcer une variable maximale sur les grands écrans. J’aime bien cette&nbsp;idée.</p>
  1159. <a href="#hr-8" title="Lien vers cette section de la page"><hr id="hr-8" /></a>
  1160. <p>Randonnée de 8&#8239;km en famille aujourd’hui, parfois je ne me rends plus trop compte des distances —&nbsp;qui plus est sur un sol difficile. Je voulais surtout savoir jusqu’à quels refuges je pouvais envisager des aventures avec l’enfant dans des conditions hivernales. Chaque année, de nouveaux horizons&nbsp;s’ouvrent.</p>
  1161. <a href="#hr-9" title="Lien vers cette section de la page"><hr id="hr-9" /></a>
  1162. <blockquote>
  1163. <p>— Comment appelle-t-on un groupe de faisans&#8239;? demande Anna.<br />
  1164. — Un bouquet, répond Isobel. Un groupe d’étourneaux&#8239;?<br />
  1165. — Un murmure.<br />
  1166. — De flamants&#8239;?<br />
  1167. — Une flamboyance de flamants. De hiboux&#8239;?<br />
  1168. Isobel hésite. Sans lever les yeux de son livre, Emily répond à sa place&nbsp;:<br />
  1169. — On dit un parlement de hiboux.<br />
  1170. — Très bien. Plus difficile alors. Comment appelle-t-on un groupe d’alouettes&#8239;?<br />
  1171. — Une exaltation.<br />
  1172. — Et de papillons&#8239;?<br />
  1173. — Un kaléidoscope de&nbsp;papillons.</p>
  1174. <p><cite><em>Alors nous irons trouver la beauté ailleurs</em>, Corinne Morel Darleux citant Dominique Fortier sur Emily Dickinson, <em>Les Villes de&nbsp;papiers</em></cite></p>
  1175. </blockquote>
  1176. <p>💚 Quand l’ornithologie fait de la&nbsp;poésie.</p>
  1177. <nav>
  1178. <p>
  1179. <a href="/david/2024/apprentissage/"
  1180. title="Liste de tous les articles 2024 associés à cette étiquette"
  1181. rel="tag">#apprentissage</a>
  1182. <a href="/david/2024/decision/"
  1183. title="Liste de tous les articles 2024 associés à cette étiquette"
  1184. rel="tag">#décision</a>
  1185. <a href="/david/2024/equipe/"
  1186. title="Liste de tous les articles 2024 associés à cette étiquette"
  1187. rel="tag">#équipe</a>
  1188. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  1189. </p>
  1190. </nav>
  1191. <form action="/david/recherche/" method="get">
  1192. <fieldset>
  1193. <legend>Recherche</legend>
  1194. <label for="input-search">Termes de votre recherche :</label>
  1195. <input id="input-search" type="search" name="s" aria-describedby="indexation-infos" required>
  1196. <input type="submit" value="Chercher">
  1197. <p id="indexation-infos">
  1198. <small>
  1199. Seuls les contenus de ces 8 dernières années sont indexés.
  1200. </small>
  1201. </p>
  1202. </fieldset>
  1203. </form>
  1204. <aside>
  1205. <theme-toggle></theme-toggle>
  1206. </aside>
  1207. </article>
  1208. <hr>
  1209. <footer>
  1210. <p>
  1211. <a href="/david/" title="Aller à l’accueil">Accueil</a>
  1212. <a href="/david/log/" title="Accès au flux RSS">Suivre</a>
  1213. <a href="http://larlet.com"
  1214. title="Go to my English profile"
  1215. data-instant>Pro</a>
  1216. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">Email</a>
  1217. <abbr title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">Légal</abbr>
  1218. </p>
  1219. <template id="theme-selector">
  1220. <form>
  1221. <style type="text/css">
  1222. fieldset div {
  1223. text-align: center;
  1224. }
  1225. </style>
  1226. <fieldset>
  1227. <legend>Thème</legend>
  1228. <div>
  1229. <label>
  1230. <input type="radio" value="auto" name="chosen-color-scheme" checked>
  1231. Auto
  1232. </label>
  1233. <label>
  1234. <input type="radio" value="dark" name="chosen-color-scheme">
  1235. Foncé
  1236. </label>
  1237. <label>
  1238. <input type="radio" value="light" name="chosen-color-scheme">
  1239. Clair
  1240. </label>
  1241. </div>
  1242. </fieldset>
  1243. </form>
  1244. </template>
  1245. </footer>
  1246. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  1247. <script>
  1248. class ThemeToggle extends HTMLElement {
  1249. constructor() {
  1250. super()
  1251. const themeSelectorTemplate = document.querySelector('#theme-selector')
  1252. const form = themeSelectorTemplate.content.firstElementChild
  1253. this.attachShadow({ mode: 'open' })
  1254. this.shadowRoot.appendChild(form.cloneNode(true))
  1255. }
  1256. connectedCallback() {
  1257. const form = this.shadowRoot.querySelector('form')
  1258. form.addEventListener('change', (e) => {
  1259. const chosenColorScheme = e.target.value
  1260. localStorage.setItem('theme', chosenColorScheme)
  1261. toggleTheme(chosenColorScheme)
  1262. })
  1263. const selectedTheme = localStorage.getItem('theme')
  1264. if (selectedTheme && selectedTheme !== 'undefined') {
  1265. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  1266. }
  1267. }
  1268. }
  1269. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  1270. window.addEventListener('load', () => {
  1271. let colorsLayer = undefined
  1272. let hasDarkRules = false
  1273. for (const styleSheet of Array.from(document.styleSheets)) {
  1274. let mediaRules = []
  1275. for (const layerRule of styleSheet.cssRules) {
  1276. if (!(layerRule instanceof CSSLayerBlockRule)) {
  1277. continue
  1278. }
  1279. if (layerRule.name === 'colors') {
  1280. colorsLayer = layerRule
  1281. }
  1282. for (const cssRule of layerRule.cssRules) {
  1283. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  1284. continue
  1285. }
  1286. // WARNING: Safari does not have/supports `conditionText`.
  1287. if (cssRule.conditionText) {
  1288. if (cssRule.conditionText !== prefersColorSchemeDark) {
  1289. continue
  1290. }
  1291. } else {
  1292. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  1293. continue
  1294. }
  1295. }
  1296. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  1297. }
  1298. }
  1299. // WARNING: do not try to insert a Rule to a styleSheet you are
  1300. // currently iterating on, otherwise the browser will be stuck
  1301. // in a infinite loop…
  1302. for (const mediaRule of mediaRules) {
  1303. // Safari requires the `0` second parameter (even if default).
  1304. colorsLayer.insertRule(mediaRule.cssText, 0)
  1305. hasDarkRules = true
  1306. }
  1307. }
  1308. if (hasDarkRules) {
  1309. if ('customElements' in window && !customElements.get('theme-toggle')) {
  1310. customElements.define('theme-toggle', ThemeToggle)
  1311. }
  1312. }
  1313. })
  1314. </script>
  1315. </body>
  1316. </html>