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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854
  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 #évolution
  14. — David Larlet</title>
  15. <script>
  16. function toggleTheme(themeName) {
  17. document.documentElement.classList.toggle(
  18. 'forced-dark',
  19. themeName === 'dark'
  20. )
  21. document.documentElement.classList.toggle(
  22. 'forced-light',
  23. themeName === 'light'
  24. )
  25. }
  26. const selectedTheme = localStorage.getItem('theme')
  27. if (selectedTheme !== 'undefined') {
  28. toggleTheme(selectedTheme)
  29. }
  30. </script>
  31. <!-- Documented, feel free to shoot an email. -->
  32. <link rel="stylesheet" href="/static/david/css/style_2024-03-07.css">
  33. <!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
  34. <link rel="preload"
  35. href="/static/david/css/fonts/century_supra_ot_a_regular.woff2"
  36. as="font"
  37. type="font/woff2"
  38. media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
  39. crossorigin>
  40. <link rel="preload"
  41. href="/static/david/css/fonts/century_supra_ot_a_bold.woff2"
  42. as="font"
  43. type="font/woff2"
  44. media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
  45. crossorigin>
  46. <link rel="preload"
  47. href="/static/david/css/fonts/century_supra_ot_a_italic.woff2"
  48. as="font"
  49. type="font/woff2"
  50. media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
  51. crossorigin>
  52. <link rel="preload"
  53. href="/static/david/css/fonts/century_supra_ot_b_regular.woff2"
  54. as="font"
  55. type="font/woff2"
  56. media="(prefers-color-scheme: dark)"
  57. crossorigin>
  58. <link rel="preload"
  59. href="/static/david/css/fonts/century_supra_ot_b_bold.woff2"
  60. as="font"
  61. type="font/woff2"
  62. media="(prefers-color-scheme: dark)"
  63. crossorigin>
  64. <link rel="preload"
  65. href="/static/david/css/fonts/century_supra_ot_b_italic.woff2"
  66. as="font"
  67. type="font/woff2"
  68. media="(prefers-color-scheme: dark)"
  69. crossorigin>
  70. <meta name="description" content="Publications relatives au tag #évolution">
  71. <!-- That good ol' feed, subscribe :). -->
  72. <link rel="alternate"
  73. type="application/atom+xml"
  74. title="Feed"
  75. href="/david/log/">
  76. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  77. <link rel="apple-touch-icon"
  78. sizes="180x180"
  79. href="/static/david/icons2/apple-touch-icon.png">
  80. <link rel="icon"
  81. type="image/png"
  82. sizes="32x32"
  83. href="/static/david/icons2/favicon-32x32.png">
  84. <link rel="icon"
  85. type="image/png"
  86. sizes="16x16"
  87. href="/static/david/icons2/favicon-16x16.png">
  88. <link rel="manifest" href="/static/david/icons2/site.webmanifest">
  89. <link rel="mask-icon"
  90. href="/static/david/icons2/safari-pinned-tab.svg"
  91. color="#07486c">
  92. <link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
  93. <meta name="msapplication-TileColor" content="#f7f7f7">
  94. <meta name="msapplication-config"
  95. content="/static/david/icons2/browserconfig.xml">
  96. <meta name="theme-color"
  97. content="#f7f7f7"
  98. media="(prefers-color-scheme: light)">
  99. <meta name="theme-color"
  100. content="#272727"
  101. media="(prefers-color-scheme: dark)">
  102. <!-- Is that even respected? Retrospectively? What a shAItshow…
  103. https://neil-clarke.com/block-the-bots-that-feed-ai-models-by-scraping-your-website/ -->
  104. <meta name="robots" content="noai, noimageai">
  105. <style type="text/css">
  106. details[open] summary {
  107. display: none;
  108. }
  109. </style>
  110. <body data-instant-intensity="viewport-all">
  111. <article>
  112. <header>
  113. <hgroup>
  114. <h1>#évolution</h1>
  115. <p>Publications relatives à cette étiquette</p>
  116. </hgroup>
  117. </header>
  118. <nav>
  119. <p>
  120. <a href="/david/" title="Aller à l’accueil">
  121. Accueil</a>
  122. <a rel="tags"
  123. href="/david/2024/#tags"
  124. title="Liste de toutes les étiquettes">
  125. Étiquettes</a>
  126. <a href="/david/recherche/" title="Aller à la page de recherche" rel="search" data-no-instant>Recherche</a>
  127. <a href="/david/log/" title="Accès au flux RSS">Suivre</a>
  128. </p>
  129. </nav>
  130. <h2>
  131. <a href="/david/2024/03/01/" title="Lien permanent vers cet article">Simple</a> <time datetime="2024-03-01">1 mars 2024</time>
  132. </h2>
  133. <blockquote lang="en">
  134. <p>We can bring that into RSS by treating any interaction as content. If you post something, thats an entry in your feed (as before). If you comment on something, thats also an entry in your feed. If you like something, thats another entry in your feed. If you follow someone (which would mean subscribing to some RSS feed), thats also another entry in your feed. To mark that interactive nature of some feed entry, <mark>we can simple extend RSS a&nbsp;bit</mark></p>
  135. <p><cite><em><a data-link-domain="gist.github.com" href="https://gist.github.com/loreanvictor/bddd8824c744024d338e935bd7e96707" hreflang="en"
  136. title="Consultation de l’article (anglais)">Interaction as Content</a>
  137. <a href="/david/cache/2024/e401917f8e9785285afed817e5344443/" hreflang="en"
  138. data-tippy data-description="Interaction as Content. GitHub Gist: instantly share code, notes, and snippets."
  139. data-source="https://gist.github.com/loreanvictor/bddd8824c744024d338e935bd7e96707"
  140. data-date="2024-03-01"
  141. data-favicon="https://github.githubassets.com/favicons/favicon.png"
  142. data-domain="gist.github.com"
  143. ><svg xmlns="http://www.w3.org/2000/svg"
  144. width="24" height="24" viewBox="0 0 24 24" fill="none"
  145. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  146. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  147. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  148. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  149. </svg>
  150. <span class="sr-only">[archive]</span></a></em></cite></p>
  151. </blockquote>
  152. <p>Tout est dans le <q lang="en">simple</q>&nbsp;🙃.</p>
  153. <p>Rédiger une spécification comme <a data-link-domain="en.wikipedia.org" href="https://en.wikipedia.org/wiki/Media_RSS">Media RSS</a> n’est déjà pas trivial mais alors faire en sorte que cela soit adopté et devienne un standard c’est une autre paire de&nbsp;manches.</p>
  154. <blockquote lang="en">
  155. <p>RSS originated in 1999, and has strived to be a simple, easy to understand format, with relatively modest goals. After it became a popular format, <mark>developers wanted to extend it</mark> using modules defined in namespaces, as specified by the&nbsp;W3C.</p>
  156. <p>RSS 2.0&nbsp;adds that capability, following a simple rule. A RSS feed may contain elements and attributes not described on this page, only if those elements and attributes are defined in a&nbsp;namespace.</p>
  157. <p><cite><em><a data-link-domain="rssboard.org" href="https://www.rssboard.org/rss-specification#extendingRss" hreflang="en"
  158. title="Consultation de l’article (anglais)">RSS 2.0&nbsp;Specification</a>
  159. <a href="/david/cache/2024/85b765a918ef094a5a2dd13a1ff5dd7d/" hreflang="en"
  160. data-tippy data-description="The current version of the RSS 2.0 specification (2.0.11), published on March 30, 2009."
  161. data-source="https://www.rssboard.org/rss-specification#extendingRss"
  162. data-date="2024-03-01"
  163. data-favicon="https://www.rssboard.org/favicon.ico"
  164. data-domain="rssboard.org"
  165. ><svg xmlns="http://www.w3.org/2000/svg"
  166. width="24" height="24" viewBox="0 0 24 24" fill="none"
  167. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  168. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  169. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  170. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  171. </svg>
  172. <span class="sr-only">[archive]</span></a></em></cite></p>
  173. </blockquote>
  174. <p>Beaucoup de personnes ont envie de faire davantage avec RSS, c’est la diffusion à une échelle non anecdotique qui est difficile. Peut-être qu’un acteur comme Mastodon pourrait peser dans la balance d’une telle&nbsp;initiative.</p>
  175. <blockquote lang="en">
  176. <p>Another feature area I would think about is interactivity. I’m fascinated with Google’s work in Gmail around “Inbox Actions” – basically the one-click buttons to perform an email action like RSVP, or reviewing a bug. Here’s an explainer with some&nbsp;examples.</p>
  177. <p>Let’s call it Feed Actions. <mark>Feed Actions could also be an RSS&nbsp;extension.</mark></p>
  178. <p><cite><em><a data-link-domain="interconnected.org" href="https://interconnected.org/home/2021/05/26/chrome_and_rss" hreflang="en"
  179. title="Consultation de l’article (anglais)">Three requests for the Google Chrome team as they experiment with RSS</a>
  180. <a href="/david/cache/2024/4a9c4c407b34c40ec5b3783ac5f274a7/" hreflang="en"
  181. data-tippy data-description="Posted on Wednesday 26 May 2021. 976 words, 11 links. By Matt Webb."
  182. data-source="https://interconnected.org/home/2021/05/26/chrome_and_rss"
  183. data-date="2024-03-01"
  184. data-favicon=""
  185. data-domain="interconnected.org"
  186. ><svg xmlns="http://www.w3.org/2000/svg"
  187. width="24" height="24" viewBox="0 0 24 24" fill="none"
  188. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  189. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  190. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  191. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  192. </svg>
  193. <span class="sr-only">[archive]</span></a></em></cite></p>
  194. </blockquote>
  195. <p>J’ai deux communautés dans lesquelles c’est même devenu un <em>running gag</em> de créer un outil qui explorerait de nouvelles&nbsp;possibilités.</p>
  196. <p><a href="/david/2021/05/26/">Suivez-moi</a> et vous n’aurez plus jamais faim&#8239;! Gniarkgniarkgniark&nbsp;🦁⚡️</p>
  197. <nav>
  198. <p>
  199. <a href="/david/2024/evolution/"
  200. title="Liste de tous les articles 2024 associés à cette étiquette"
  201. rel="tag">#évolution</a>
  202. <a href="/david/2024/laboratoire/"
  203. title="Liste de tous les articles 2024 associés à cette étiquette"
  204. rel="tag">#laboratoire</a>
  205. <a href="/david/2024/web/"
  206. title="Liste de tous les articles 2024 associés à cette étiquette"
  207. rel="tag">#web</a>
  208. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  209. </p>
  210. </nav>
  211. <h2>
  212. <a href="/david/2024/02/08/" title="Lien permanent vers cet article">Écoute</a> <time datetime="2024-02-08">8 février 2024</time>
  213. </h2>
  214. <blockquote>
  215. <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>
  216. <p><cite><em>Le Bonheur possible</em>, Michel Serres&nbsp;(1997)</cite></p>
  217. </blockquote>
  218. <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>
  219. <blockquote>
  220. <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>
  221. <p><cite><em><a data-link-domain="blog.notmyidea.org" href="https://blog.notmyidea.org/lart-de-conter-nos-experiences-collectives.html" hreflang="fr"
  222. title="Consultation de l’article">L’art de conter nos expériences collectives</a>
  223. <a href="/david/cache/2024/bd0c3ccce5c3f229f84c6c132ebdaca9/" hreflang="fr"
  224. data-tippy data-description="Faire récit à l'heure du storytelling par Benjamin Roux"
  225. data-source="https://blog.notmyidea.org/lart-de-conter-nos-experiences-collectives.html"
  226. data-date="2024-02-08"
  227. data-favicon=""
  228. data-domain="blog.notmyidea.org"
  229. ><svg xmlns="http://www.w3.org/2000/svg"
  230. width="24" height="24" viewBox="0 0 24 24" fill="none"
  231. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  232. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  233. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  234. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  235. </svg>
  236. <span class="sr-only">[archive]</span></a></em></cite></p>
  237. </blockquote>
  238. <nav>
  239. <p>
  240. <a href="/david/2024/apprentissage/"
  241. title="Liste de tous les articles 2024 associés à cette étiquette"
  242. rel="tag">#apprentissage</a>
  243. <a href="/david/2024/equipe/"
  244. title="Liste de tous les articles 2024 associés à cette étiquette"
  245. rel="tag">#équipe</a>
  246. <a href="/david/2024/evolution/"
  247. title="Liste de tous les articles 2024 associés à cette étiquette"
  248. rel="tag">#évolution</a>
  249. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  250. </p>
  251. </nav>
  252. <h2>
  253. <a href="/david/2024/02/01/" title="Lien permanent vers cet article">Vision</a> <time datetime="2024-02-01">1 février 2024</time>
  254. </h2>
  255. <blockquote lang="en">
  256. <p>But if you were to try just one thing using Vision Pro — just one thing — it has to be <mark>watching a movie</mark> in the TV app, in theater mode. Try that, and no matter how skeptical you were beforehand about the Vision Pro’s price tag, your hand will start inching toward your&nbsp;wallet.</p>
  257. <p><cite><em><a data-link-domain="daringfireball.net" href="https://daringfireball.net/2024/01/the_vision_pro" hreflang="en"
  258. title="Consultation de l’article (anglais)">Daring Fireball: The Vision Pro</a>
  259. <a href="/david/cache/2024/cd9184008ba5d9e4c9be4d0a0eea4f60/" hreflang="en"
  260. data-tippy data-description="A headset, a spatial productivity platform, and a personal entertainment device."
  261. data-source="https://daringfireball.net/2024/01/the_vision_pro"
  262. data-date="2024-01-31"
  263. data-favicon="https://daringfireball.net/graphics/favicon.ico?v=005"
  264. data-domain="daringfireball.net"
  265. ><svg xmlns="http://www.w3.org/2000/svg"
  266. width="24" height="24" viewBox="0 0 24 24" fill="none"
  267. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  268. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  269. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  270. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  271. </svg>
  272. <span class="sr-only">[archive]</span></a></em></cite></p>
  273. </blockquote>
  274. <p>Ce jouet est bien trop cher… et c’est une bonne chose. D’une certaine manière, c’est la seule innovation de 2023&nbsp;qui ne comporte pas IA dans le premier écran marketing, c’est déjà pas mal. Je n’ai pas la naïveté de penser que la version 2&nbsp;ne nous amènera pas vers le <em>SpatIAl Computing</em> pour autant, restons&nbsp;sérieux.</p>
  275. <p>Je peux imaginer des des <a data-link-domain="theinfiniteexperience.world" href="https://theinfiniteexperience.world">expériences immersives</a> dans des endroits dédiés, de la location comme on pouvait louer un DVD il y a des années, des salles dédiées en bibliothèques (ambiance dystopie cyberpunk assurée), à un moment il pourrait même y avoir un espace pour ça (payant&#8239;?) dans les <em>Apple Store</em>. Si le son est aussi bon que ce que peut décrire <em>Daring Fanboy</em>, j’aurais vraiment envie de me retrouver au milieu d’un concert, d’avoir le choix entre plusieurs points de vues et&nbsp;acoustiques.</p>
  276. <p>Le côté immersif aurait aussi sa place en terme d’apprentissage / transmission. Être au premier rang d’une conférence ou d’un cours pourrait permettre de redéfinir son attention&nbsp;(?) et sachant que la dernière version de l’iPhone permet de capter de telles vidéos, c’est peut-être un moyen de faire entrer quelqu’un dans son salon ce qui produirait un autre type&nbsp;d’intimité.</p>
  277. <p>En parlant de captation et d’intimité, avec les <em>deepfakes</em> il devient possible de se retrouver dans un salon mais dans une autre tenue. Toute prise de vidéo devient une menace potentielle. Impossible de ne pas penser à des objets connectés / synchronisés autour de la&nbsp;pornographie…</p>
  278. <a href="#hr-59" title="Lien vers cette section de la page"><hr id="hr-59" /></a>
  279. <blockquote lang="en">
  280. <p>The “i” in iPhone stands for “inequality”. […]</p>
  281. <p><mark>iPhone owners live in a different world</mark> than high-end Android buyers, and light-years away what the bulk of the market experiences. No matter how you slice it, the performance inequality gap is growing for CPU-bound workloads like JavaScript-heavy web&nbsp;apps.</p>
  282. <p><cite><em><a data-link-domain="infrequently.org" href="https://infrequently.org/2024/01/performance-inequality-gap-2024/" hreflang="en"
  283. title="Consultation de l’article (anglais)">The Performance Inequality Gap, 2024</a>
  284. <a href="/david/cache/2024/0676c7ccf1ab2b380641866789366d26/" hreflang="en"
  285. data-tippy data-description="How much HTML, CSS, and JavaScript can we afford? More than in years past, but much less than frontend developers are burdening users with."
  286. data-source="https://infrequently.org/2024/01/performance-inequality-gap-2024/"
  287. data-date="2024-01-31"
  288. data-favicon="https://infrequently.org/assets/images/favicons/ino-dark-opt-192x192.png"
  289. data-domain="infrequently.org"
  290. ><svg xmlns="http://www.w3.org/2000/svg"
  291. width="24" height="24" viewBox="0 0 24 24" fill="none"
  292. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  293. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  294. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  295. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  296. </svg>
  297. <span class="sr-only">[archive]</span></a></em></cite></p>
  298. </blockquote>
  299. <p>Ce rapport me rappelle que la notion d’accessibilité est très vaste. Et je suis mal placé pour donner des leçons en vous faisant charger 5&nbsp;polices de caractères pour vous afficher une page… je n’ai pas encore travaillé les performances du thème de l’année et c’est une&nbsp;erreur.</p>
  300. <blockquote lang="en">
  301. <p>We got to a place where performance has been a constant problem in large part because a tribe of programmers convinced themselves that it <em>wasn’t</em> and <em>wouldn’t be</em>. […]</p>
  302. <p>But tribalism-boosted confirmation bias mixed with JavaScript’s toxic positivity culture to precipitate out a Silicon Prosperity Gospel; all resources would go infinite if you just <em>believed</em>. […]</p>
  303. <p>The solutions are social, not technical, because <mark>the delusions are social,</mark> rather than&nbsp;technical.</p>
  304. <p><cite><em>Ibid.</em></cite></p>
  305. </blockquote>
  306. <p>Ça&nbsp;pique.</p>
  307. <a href="#hr-60" title="Lien vers cette section de la page"><hr id="hr-60" /></a>
  308. <blockquote lang="en">
  309. <p>Rather, the biggest benefits I see are <em>collective</em>, cutting across the industry as a whole. I think web components can make the entire web more accessible. They have the potential to unify currently fragmented communities, including various JavaScript frameworks <em>and</em> <mark>those who avoid them</mark>.</p>
  310. <p>[…] Web components won’t take web development by storm, or show us the One True Way to build websites. They don’t need to dethrone JavaScript frameworks. We probably won’t even all learn how to write&nbsp;them!</p>
  311. <p><cite><em><a data-link-domain="jakelazaroff.com" href="https://jakelazaroff.com/words/the-web-component-success-story/" hreflang="en"
  312. title="Consultation de l’article (anglais)">The Web Component Success Story</a>
  313. <a href="/david/cache/2024/f4d2d42eba58062be910407690ae447c/" hreflang="en"
  314. data-tippy data-description="Web components won't take web development by storm, or show us the One True Way to build websites. What they will do is let us collectively build a rich ecosystem of dynamic components that work with any web stack."
  315. data-source="https://jakelazaroff.com/words/the-web-component-success-story/"
  316. data-date="2024-01-31"
  317. data-favicon="https://jakelazaroff.com/favicon.ico"
  318. data-domain="jakelazaroff.com"
  319. ><svg xmlns="http://www.w3.org/2000/svg"
  320. width="24" height="24" viewBox="0 0 24 24" fill="none"
  321. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  322. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  323. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  324. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  325. </svg>
  326. <span class="sr-only">[archive]</span></a></em></cite></p>
  327. </blockquote>
  328. <p>Très bon article et la boite de prévisualisation au survol de chaque lien ressemble beaucoup à ce que j’avais l’intention de faire pour régler mes soucis d’accès à la version archivée tout en affichant le domaine. Actuellement chaque lien devient trop long et hache le texte lorsque ça n’est pas en pied de citation (et encore). Il faut que je creuse comment cela est fait, via un <em>web component</em> réutilisable&nbsp;j’imagine&nbsp;:-).</p>
  329. <p>PS&nbsp;: si vous minifiez votre JavaScript, les <a data-link-domain="MDN" href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/SourceMap">SourceMap</a> sont un moyen de partager votre expérience. Sinon l’aspect <q lang="en">collective</q> est beaucoup moins&nbsp;pertinent.</p>
  330. <nav>
  331. <p>
  332. <a href="/david/2024/accessibilite/"
  333. title="Liste de tous les articles 2024 associés à cette étiquette"
  334. rel="tag">#accessibilité</a>
  335. <a href="/david/2024/dystopie/"
  336. title="Liste de tous les articles 2024 associés à cette étiquette"
  337. rel="tag">#dystopie</a>
  338. <a href="/david/2024/evolution/"
  339. title="Liste de tous les articles 2024 associés à cette étiquette"
  340. rel="tag">#évolution</a>
  341. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  342. </p>
  343. </nav>
  344. <h2>
  345. <a href="/david/2024/01/20/" title="Lien permanent vers cet article">Extinction</a> <time datetime="2024-01-20">20 janvier 2024</time>
  346. </h2>
  347. <blockquote lang="en">
  348. <p>So where have all the websites gone? Well, the people who make them have all gone to war for the capitalist machine. They grew up and got jobs. A natural part of growing up. Silos came and plucked their voices. Invasive memes and short form content grew in their place. Hustle overtook leisure. Harassment overtook openness. Influence overtook creativity. An economy of interestingness replaced by one of followers, likes, and engagement&nbsp;metrics.</p>
  349. <p>One important thing to note; <mark>websites aren’t extinct.</mark> In fact, you’re on one now! Uploading your own words is ancient technology but still&nbsp;works.</p>
  350. <p><cite><em><a data-link-domain="daverupert.com" href="https://daverupert.com/2024/01/where-have-all-the-websites-gone/" hreflang="en"
  351. title="Consultation de l’article (anglais)">Where have all the flowers gone?</a>
  352. <a href="/david/cache/2024/7136e0810bfa42c4a9ca798a55cd2d53/" hreflang="en"
  353. data-tippy data-description="A post from Jason Velazquez called “Where have all the websites gone?” crossed my socials. It’s a good lament about the dearth of interesting content on the internet and how we’re stuck in the same boring content silos."
  354. data-source="https://daverupert.com/2024/01/where-have-all-the-websites-gone/"
  355. data-date="2024-01-19"
  356. data-favicon="https://daverupert.com/favicon.ico"
  357. data-domain="daverupert.com"
  358. ><svg xmlns="http://www.w3.org/2000/svg"
  359. width="24" height="24" viewBox="0 0 24 24" fill="none"
  360. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  361. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  362. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  363. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  364. </svg>
  365. <span class="sr-only">[archive]</span></a></em></cite></p>
  366. </blockquote>
  367. <p>En réponse à <q lang="en"><a data-link-domain="fromjason.xyz" href="https://www.fromjason.xyz/p/notebook/where-have-all-the-websites-gone/" hreflang="en"
  368. title="Consultation de l’article (anglais)">Where have all the websites gone?</a>
  369. <a href="/david/cache/2024/c3272392d462da90874d32841e5caac8/" hreflang="en"
  370. 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."
  371. data-source="https://www.fromjason.xyz/p/notebook/where-have-all-the-websites-gone/"
  372. data-date="2024-01-09"
  373. data-favicon="https://www.fromjason.xyz/img/favicon.png"
  374. data-domain="fromjason.xyz"
  375. ><svg xmlns="http://www.w3.org/2000/svg"
  376. width="24" height="24" viewBox="0 0 24 24" fill="none"
  377. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  378. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  379. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  380. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  381. </svg>
  382. <span class="sr-only">[archive]</span></a></q> que j’ai <a href="/david/2024/01/10/#hr-24">déjà cité</a>. Peut-être que la capacité à publier est toujours là mais que nous avons <a href="/david/2024/01/12/#hr-27">trop changé</a> pour être capables de perdurer dans cette pratique. 2024&nbsp;pourrait me faire mentir car je vois une certaine effervescence dans mon agrégateur. On va bien voir si ça dure. On va bien voir si <em>je</em>&nbsp;dure.</p>
  383. <p><em>Guidé par le besoin, je suis en train d’automatiser des ancres sur mes <code>&lt;hr&gt;</code>, fausse bonne idée&#8239;? En affinant un peu le style ça me convient pour&nbsp;l’instant.</em></p>
  384. <a href="#hr-40" title="Lien vers cette section de la page"><hr id="hr-40" /></a>
  385. <blockquote>
  386. <p>public-inbox implements the sharing of an email inbox via git to complement or replace traditional mailing lists. Readers may read via NNTP, IMAP, POP3, Atom feeds or HTML&nbsp;archives.</p>
  387. <p>public-inbox spawned around three main&nbsp;ideas:</p>
  388. <ul>
  389. <li>Publicly accessible and archived communication is essential to Free Software&nbsp;development.</li>
  390. <li>Contributing to Free Software projects should not require the use of non-Free services or&nbsp;software.</li>
  391. <li><mark>Graphical user interfaces should not be required for text-based communication.</mark> Users may have broken graphics drivers, limited eyesight, or be unable to afford modern&nbsp;hardware.</li>
  392. </ul>
  393. <p>public-inbox aims to be easy-to-deploy and manage; encouraging projects to run their own instances with minimal&nbsp;overhead.</p>
  394. <p><cite><em><a data-link-domain="public-inbox.org" href="https://public-inbox.org/README.html" hreflang="en"
  395. title="Consultation de l’article (anglais)">public-inbox - an &quot;archives first&quot; approach to mailing lists</a>
  396. <a href="/david/cache/2024/30b40ff8034212e070dc7daf2b9406e9/" hreflang="en"
  397. data-tippy data-description="public-inbox implements the sharing of an email inbox via git to complement or replace traditional mailing lists. Readers may read via NNTP, IMAP, POP3, Atom feeds or HTML archives."
  398. data-source="https://public-inbox.org/README.html"
  399. data-date="2024-01-19"
  400. data-favicon="https://public-inbox.org/favicon.ico"
  401. data-domain="public-inbox.org"
  402. ><svg xmlns="http://www.w3.org/2000/svg"
  403. width="24" height="24" viewBox="0 0 24 24" fill="none"
  404. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  405. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  406. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  407. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  408. </svg>
  409. <span class="sr-only">[archive]</span></a></em></cite></p>
  410. </blockquote>
  411. <p>D’une certaine manière, l’<a data-link-domain="github.com" href="https://github.com/jgm/pandoc/issues/9250">extinction de voix des un·es</a> fait mon bonheur de découverte aujourd’hui. J’espère que le réflexe ne sera pas de passer de <em>Google Groups</em> à <em>Microsoft Github Discussions</em> par&nbsp;commodité.</p>
  412. <a href="#hr-41" title="Lien vers cette section de la page"><hr id="hr-41" /></a>
  413. <blockquote>
  414. <p>… ça veut dire qu’en vrai, les droits humains, tu t’en fiches pas&nbsp;mal.</p>
  415. <p>Et que tu es juste <mark>un peu raciste</mark>.</p>
  416. <p><cite><em><a data-link-domain="emmaclit.com" href="https://emmaclit.com/2024/01/19/culture-froncaise/">Culture&nbsp;fronçaise</a></em></cite></p>
  417. </blockquote>
  418. <p>Voilà.</p>
  419. <a href="#hr-42" title="Lien vers cette section de la page"><hr id="hr-42" /></a>
  420. <figure>
  421. <a href="/static/david/2024/2024-01-19-ski-de-fond-nocturne.jpg"
  422. title="Cliquer pour une version haute résolution">
  423. <img
  424. src="/static/david/2024/2024-01-19-ski-de-fond-nocturne.jpg"
  425. width="3024" height="3024"
  426. srcset="/static/david/2024/2024-01-19-ski-de-fond-nocturne.jpg 3024w, /static/david/2024/2024-01-19-ski-de-fond-nocturne_660x440.jpg 660w, /static/david/2024/2024-01-19-ski-de-fond-nocturne_990x660.jpg 990w, /static/david/2024/2024-01-19-ski-de-fond-nocturne_1320x880.jpg 1320w"
  427. sizes="min(100vw, calc(100vh * 3024 / 3024))"
  428. loading="lazy"
  429. decoding="async"
  430. alt="Un enfant de dos dans des traces de ski de fond classique à la tombée du jour">
  431. </a>
  432. <figcaption>-16°C, rien de mieux pour démarrer une fin de semaine qu’une sortie ski dans notre jardin après&nbsp;l’école.</figcaption>
  433. </figure>
  434. <p>Cette photo est floue, c’est devenu tellement rare avec un téléphone (<em>OK&nbsp;Boomer</em>&nbsp;:p). Les couleurs étaient superbes et une fois les mains réchauffées c’était une ambiance très agréable. On n’a pas croisé grand monde. La rééducation active continue tranquillement son&nbsp;chemin.</p>
  435. <nav>
  436. <p>
  437. <a href="/david/2024/dependance/"
  438. title="Liste de tous les articles 2024 associés à cette étiquette"
  439. rel="tag">#dépendance</a>
  440. <a href="/david/2024/evolution/"
  441. title="Liste de tous les articles 2024 associés à cette étiquette"
  442. rel="tag">#évolution</a>
  443. <a href="/david/2024/parentalite/"
  444. title="Liste de tous les articles 2024 associés à cette étiquette"
  445. rel="tag">#parentalité</a>
  446. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  447. </p>
  448. </nav>
  449. <h2>
  450. <a href="/david/2024/01/16/" title="Lien permanent vers cet article">Endorphines</a> <time datetime="2024-01-16">16 janvier 2024</time>
  451. </h2>
  452. <p>J’ai remis les pieds sur des skis (de fond). J’ai une piste à 150&nbsp;mètres de chez moi et c’était probablement les plus critiques. Je me suis déjà tordu la cheville plusieurs fois sur ce trajet. Mais une fois dans les traces les sensations étaient bonnes et l’entorse (<em>tape</em>ée) n’a pas couiné. Le mollet un peu plus mais je me demande si ce n’est pas à force de compenser en&nbsp;boitant.</p>
  453. <p>Cela conclus peut-être mon journal de&nbsp;chialage.</p>
  454. <a href="#hr-33" title="Lien vers cette section de la page"><hr id="hr-33" /></a>
  455. <p>Hier soir, je travaillais sur la <a href="/david/">page d’accueil</a> en voulant donner davantage d’espace à la recherche qui passe également en pied de page (qui est un&nbsp;chantier).</p>
  456. <p>Et puis ce matin <a data-link-domain="nicolas-hoizey.com" href="https://nicolas-hoizey.com/">Nicolas H.</a> m’indique que mon flux est cassé. Je répare cette histoire de caractère invisible qui casse le <em>parsing</em> du contenu HTML (intégrer une <a data-link-domain="validator.w3.org" href="https://validator.w3.org/feed/">validation</a> pourrait s’avérer être utile). Et je pousse les modifications qui contiennent la page d’accueil en chantier. Tant pis, au moins c’est&nbsp;fait.</p>
  457. <p>Il y a dorénavant 54&nbsp;liens sur cette page, j’ai besoin de revoir des choses mais au moins il commence à y avoir une cohérence sur le thème de l’année et ses pages générées. Le chemin continue de me donner le&nbsp;sourire.</p>
  458. <p>Je constate au passage que la <a href="/david/recherche/">page de recherche</a> fait 2&#8239;Mo (700&#8239;Ko à télécharger), désindexer des années ou explorer des <a data-link-domain="pagefind.app" href="https://pagefind.app/">alternatives</a>&#8239;? J’aime bien me dire que mes écrits de ces 8&nbsp;dernières années tiennent sur&nbsp;2&nbsp;disquettes.</p>
  459. <a href="#hr-34" title="Lien vers cette section de la page"><hr id="hr-34" /></a>
  460. <p>Vidéo du jour&nbsp;: <a data-link-domain="video.blast-info.fr" href="https://video.blast-info.fr/w/9885ed4e-386b-4b3b-bcb5-dc2e454939e6">DRY JANUARY, ÉCOLOGIE&nbsp;: POURQUOI LE POUVOIR A-T-IL SI PEUR DE LA SOBRIÉTÉ&#8239;?</a> (désolé pour les cris, ça semble être le style de&nbsp;BLAST&nbsp;🙃).</p>
  461. <a href="#hr-35" title="Lien vers cette section de la page"><hr id="hr-35" /></a>
  462. <p>On creuse les <a data-link-domain="MDN" href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script/type/importmap"><code>importmap</code></a> pour <a data-link-domain="umap-project.org" href="https://umap-project.org/fr/">uMap</a> en ce moment. Un peu contraints par un passage aux modules JS qui supporte mal la minification + invalidation du cache. Il y a des choses intéressantes dans les possibilités que ça offre mais c’est du&nbsp;Baseline™2023.</p>
  463. <p>Si un produit accueille moins de personnes lors de mon départ que lors de mon arrivée, j’ai probablement mal fait mon travail&#8239;? <em>À&nbsp;méditer.</em></p>
  464. <blockquote lang="en">
  465. <p>If the new software no longer runs on old hardware, it is <mark>worse</mark> than the old&nbsp;software.</p>
  466. <p><cite><em><a data-link-domain="blog.jim-nielsen.com" href="https://blog.jim-nielsen.com/2024/notes-from-computing-sustainably/" hreflang="en"
  467. title="Consultation de l’article (anglais)">Notes from “An approach to computing and sustainability inspired from permaculture” by Devine LuLinvega</a>
  468. <a href="/david/cache/2024/1f40a33f9c57a16d420eb0868a129e96/" hreflang="en"
  469. data-tippy data-description="Writing about the big beautiful mess that is making things for the world wide web."
  470. data-source="https://blog.jim-nielsen.com/2024/notes-from-computing-sustainably/"
  471. data-date="2024-01-15"
  472. data-favicon="https://blog.jim-nielsen.com/favicon.ico"
  473. data-domain="blog.jim-nielsen.com"
  474. ><svg xmlns="http://www.w3.org/2000/svg"
  475. width="24" height="24" viewBox="0 0 24 24" fill="none"
  476. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  477. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  478. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  479. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  480. </svg>
  481. <span class="sr-only">[archive]</span></a></em></cite></p>
  482. </blockquote>
  483. <nav>
  484. <p>
  485. <a href="/david/2024/addiction/"
  486. title="Liste de tous les articles 2024 associés à cette étiquette"
  487. rel="tag">#addiction</a>
  488. <a href="/david/2024/evolution/"
  489. title="Liste de tous les articles 2024 associés à cette étiquette"
  490. rel="tag">#évolution</a>
  491. <a href="/david/2024/technique/"
  492. title="Liste de tous les articles 2024 associés à cette étiquette"
  493. rel="tag">#technique</a>
  494. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  495. </p>
  496. </nav>
  497. <h2>
  498. <a href="/david/2024/01/15/" title="Lien permanent vers cet article">Rééducation</a> <time datetime="2024-01-15">15 janvier 2024</time>
  499. </h2>
  500. <p>J’ai réussi à marcher 6&#8239;km dans la neige avec des bottes de neige assez hautes. Pas pire. On va voir si ça ne tire pas trop dans la nuit. J’ai appris à mettre des bandes de kynésiologie aussi pour un léger soutien sur la rotation interne. Ce n’est pas une entorse classique car généralement deux arbres ne sont pas impliqués donc la torsion est différente. Du moins, c’est ce que mon doctorat express en médecine me laisse à penser… et mes sensations&nbsp;surtout&#8239;!</p>
  501. <p>Récupération active ou&nbsp;impatience&#8239;?</p>
  502. <a href="#hr-32" title="Lien vers cette section de la page"><hr id="hr-32" /></a>
  503. <blockquote lang="en">
  504. <p>The front-end to your dev&nbsp;env.</p>
  505. <p><cite><em><a data-link-domain="mise.jdx.dev" href="https://mise.jdx.dev/">mise-en-place</a></em></cite></p>
  506. </blockquote>
  507. <p>Ironiquement, j’ai toujours la crainte que ces outils viennent davantage polluer mon environnement actuel. Je ne suis pas sur assez de produits pour rencontrer des limites à ce niveau. Je m’en sors plutôt bien avec <a data-link-domain="code.larlet.fr" href="https://code.larlet.fr/shell/#alias">quelques alias</a> et un <a data-link-domain="code.larlet.fr" href="https://code.larlet.fr/shell/#auto-deactivation-des-virtualenvs">environnement virtuel dé·monté</a> à l’entrée dans un&nbsp;dossier.</p>
  508. <p>Je compare un peu des carottes et des patates mais ça donne une direction en terme de frugalité sur ce plan là. On simplifie rarement un environnement en ajoutant une couche (coucou Docker), au mieux on masque une incompétence. Ce qui n’est pas toujours une <a href="/david/2024/01/05/" title="Vocabulaire">tension</a> en fonction du&nbsp;contexte&#8239;!</p>
  509. <nav>
  510. <p>
  511. <a href="/david/2024/addiction/"
  512. title="Liste de tous les articles 2024 associés à cette étiquette"
  513. rel="tag">#addiction</a>
  514. <a href="/david/2024/evolution/"
  515. title="Liste de tous les articles 2024 associés à cette étiquette"
  516. rel="tag">#évolution</a>
  517. <a href="/david/2024/sport/"
  518. title="Liste de tous les articles 2024 associés à cette étiquette"
  519. rel="tag">#sport</a>
  520. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  521. </p>
  522. </nav>
  523. <h2>
  524. <a href="/david/2024/01/11/" title="Lien permanent vers cet article">Impact</a> <time datetime="2024-01-11">11 janvier 2024</time>
  525. </h2>
  526. <blockquote lang="en">
  527. <p>If front web developers work closer to the users’ needs and problems, <mark>if they feel more implicated in the user experience,</mark> they will understand the impact of what they are building and will naturally adopt the strengths of the front web. […]</p>
  528. <p>Maybe, in order to fix the front web, we have to fix human nature: make things less about money and self-satisfaction, and more about improving people’s lives and understanding the impact of what we are&nbsp;creating.</p>
  529. <p><cite><em><a data-link-domain="gericci.me" href="https://gericci.me/we-need-to-talk-about-the-front-web-5.html" hreflang="en"
  530. title="Consultation de l’article (anglais)">Part 5: Clues to Fix the Front Web</a>
  531. <a href="/david/cache/2024/40aada3cc8d6897fda5a277c4299c1fd/" hreflang="en"
  532. data-tippy data-description="Clues to Fix the Front Web"
  533. data-source="https://gericci.me/we-need-to-talk-about-the-front-web-5.html"
  534. data-date="2024-01-09"
  535. data-favicon="https://gericci.me/img/favicon.png"
  536. data-domain="gericci.me"
  537. ><svg xmlns="http://www.w3.org/2000/svg"
  538. width="24" height="24" viewBox="0 0 24 24" fill="none"
  539. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  540. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  541. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  542. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  543. </svg>
  544. <span class="sr-only">[archive]</span></a></em></cite></p>
  545. </blockquote>
  546. <p>Même si je m’émeus encore de l’esthétique d’un <em>Web Component</em> ou d’une nouvelle technique CSS, j’essaye d’être plus attentif au fil des ans à l’impact potentiel des bouts de code que j’assemble. C’est là où <a data-link-domain="daverupert.com" href="https://daverupert.com/2022/06/demo-to-demo-loop/" hreflang="en"
  547. title="Consultation de l’article (anglais)">les démo</a>
  548. <a href="/david/cache/2024/9f8c0e75066c1882a3b4ce084e3223ed/" hreflang="en"
  549. data-tippy data-description="The personal blog of Dave Rupert, web developer and podcaster from Austin, TX."
  550. data-source="https://daverupert.com/2022/06/demo-to-demo-loop/"
  551. data-date="2024-01-09"
  552. data-favicon="https://daverupert.com/favicon.ico"
  553. data-domain="daverupert.com"
  554. ><svg xmlns="http://www.w3.org/2000/svg"
  555. width="24" height="24" viewBox="0 0 24 24" fill="none"
  556. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  557. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  558. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  559. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  560. </svg>
  561. <span class="sr-only">[archive]</span></a> prennent tout leur sens pour vérifier la pertinence de ce qui a été produit. Se libérer de l’égoïsme technique pour aller vers le soin porté aux utilisateur·ices, essayer de comprendre leurs besoins, synthétiser, proposer, se tromper, recommencer. Dans une spirale d’essais-erreurs, on se rapproche d’un centre enviable où les contraintes techniques sont minimisées et les besoins proches d’être comblés. Chaque partie ayant un petit peu appris sur l’autre au cours de ce bout de chemin&nbsp;commun.</p>
  562. <p><strong>Une carrière est la cartographie de ces expériences.</strong> Savoir identifier les <em>optima</em> locaux qui ont pu procurer de la joie ainsi que les lieux de convergence où l’on aime bien aller car il y a le bon dosage effort / récompense. Apprendre à reconnaître les sentiers hasardeux où l’on a déjà laissé des plumes et reconnaître aussi qu’un contexte et des personnes peuvent&nbsp;changer.</p>
  563. <p>Admettre que l’on a soi-même changé tout au long de ce&nbsp;cheminement.</p>
  564. <blockquote lang="en">
  565. <p>At most software startups, customers typically don’t care if your product runs on Heroku, Kubernetes, or a really brittle singly-homed machine in Joe’s closet. No purchasing decisions hinge on your commitment to write servers in Rust or use Nix for hermetic everything. And although they might exist, I have sadly never had a customer write a testimonial for the elegant collection of internal services involved in responding to that single HTTP&nbsp;request.</p>
  566. <p>No; customers are not paying for, nor give a shit about, these things. Sorry. It’s still cool stuff. It’s just not what you’re&nbsp;selling.</p>
  567. <p><mark>Customers want software that delivers problem-solving <em>impact</em>.</mark> And at the early stage, which is all the way until you’ve reached product-market fit, they’re almost certainly not getting enough, fast enough. You should be spending as much time as you can at this level of the stack, The Product: thinking, building, learning.</p>
  568. <p><cite><em><a data-link-domain="hoho.com" href="https://hoho.com/posts/your-stack-is-not-the-product/" hreflang="en"
  569. title="Consultation de l’article (anglais)">Your tech stack is not the product</a>
  570. <a href="/david/cache/2024/877b1e29328f6ad1b6fef26d7407ec5f/" hreflang="en"
  571. data-tippy data-description="Early stage technology decisions must be, uncomfortably, a means to an end."
  572. data-source="https://hoho.com/posts/your-stack-is-not-the-product/"
  573. data-date="2024-01-09"
  574. data-favicon="https://hoho.com/favicon-16x16.png"
  575. data-domain="hoho.com"
  576. ><svg xmlns="http://www.w3.org/2000/svg"
  577. width="24" height="24" viewBox="0 0 24 24" fill="none"
  578. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  579. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  580. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  581. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  582. </svg>
  583. <span class="sr-only">[archive]</span></a></em></cite></p>
  584. </blockquote>
  585. <a href="#hr-25" title="Lien vers cette section de la page"><hr id="hr-25" /></a>
  586. <blockquote lang="en">
  587. <p>You can’t make an article on a UX topic without showcasing a practical example. Let’s explore examples that I spotted on the web and how to fix&nbsp;them.</p>
  588. <p><cite><em><a data-link-domain="ishadeed.com" href="https://ishadeed.com/article/target-size" hreflang="en"
  589. title="Consultation de l’article (anglais)">Designing better target sizes</a>
  590. <a href="/david/cache/2024/c98206d38897264005bcd5b453d032b1/" hreflang="en"
  591. data-tippy data-description="An interactive guide on designing better target sizes on the web."
  592. data-source="https://ishadeed.com/article/target-size"
  593. data-date="2024-01-10"
  594. data-favicon="https://ishadeed.com/assets/favicon-32x32.png"
  595. data-domain="ishadeed.com"
  596. ><svg xmlns="http://www.w3.org/2000/svg"
  597. width="24" height="24" viewBox="0 0 24 24" fill="none"
  598. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  599. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  600. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  601. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  602. </svg>
  603. <span class="sr-only">[archive]</span></a></em></cite></p>
  604. </blockquote>
  605. <p>Superbe article de Ahmad Shadeed. En résumé, il faut soigner ses <em>paddings</em> mais il y a pas mal d’astuces CSS pour y arriver dans certaines conditions. Je retiens notamment l’usage d’un <code>:after</code> pour ça <a data-link-domain="ishadeed.com" href="https://ishadeed.com/article/target-size#mobile-menu">lorsqu’il s’agit d’icônes</a>&nbsp;notamment&nbsp;:</p>
  606. <pre><code>.search__filter:after {
  607. content: &quot;&quot;;
  608. position: absolute;
  609. inset: 0;
  610. z-index: -1;
  611. transform: scale(2);
  612. }
  613. </code></pre>
  614. <p>Je découvre au passage qu’il y a pas mal d’options d’accessibilité dans <a data-link-domain="polypane.app" href="https://polypane.app/">Polypane</a> que j’utilise depuis peu et que je n’ai pas pleinement&nbsp;exploré.</p>
  615. <nav>
  616. <p>
  617. <a href="/david/2024/evolution/"
  618. title="Liste de tous les articles 2024 associés à cette étiquette"
  619. rel="tag">#évolution</a>
  620. <a href="/david/2024/technique/"
  621. title="Liste de tous les articles 2024 associés à cette étiquette"
  622. rel="tag">#technique</a>
  623. <a href="/david/2024/web/"
  624. title="Liste de tous les articles 2024 associés à cette étiquette"
  625. rel="tag">#web</a>
  626. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  627. </p>
  628. </nav>
  629. <form action="/david/recherche/" method="get">
  630. <fieldset>
  631. <legend>Recherche</legend>
  632. <label for="input-search">Termes de votre recherche :</label>
  633. <input id="input-search" type="search" name="s" aria-describedby="indexation-infos" required>
  634. <input type="submit" value="Chercher">
  635. <p id="indexation-infos">
  636. <small>
  637. Seuls les contenus de ces 8 dernières années sont indexés.
  638. </small>
  639. </p>
  640. </fieldset>
  641. </form>
  642. <aside>
  643. <theme-toggle></theme-toggle>
  644. </aside>
  645. </article>
  646. <hr>
  647. <footer>
  648. <p>
  649. <a href="/david/" title="Aller à l’accueil">Accueil</a>
  650. <a href="/david/log/" title="Accès au flux RSS">Suivre</a>
  651. <a href="http://larlet.com"
  652. title="Go to my English profile"
  653. data-instant>Pro</a>
  654. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">Email</a>
  655. <abbr title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">Légal</abbr>
  656. </p>
  657. <template id="theme-selector">
  658. <form>
  659. <style type="text/css">
  660. fieldset div {
  661. text-align: center;
  662. }
  663. </style>
  664. <fieldset>
  665. <legend>Thème</legend>
  666. <div>
  667. <label>
  668. <input type="radio" value="auto" name="chosen-color-scheme" checked>
  669. Auto
  670. </label>
  671. <label>
  672. <input type="radio" value="dark" name="chosen-color-scheme">
  673. Foncé
  674. </label>
  675. <label>
  676. <input type="radio" value="light" name="chosen-color-scheme">
  677. Clair
  678. </label>
  679. </div>
  680. </fieldset>
  681. </form>
  682. </template>
  683. </footer>
  684. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  685. <script>
  686. class ThemeToggle extends HTMLElement {
  687. constructor() {
  688. super()
  689. const themeSelectorTemplate = document.querySelector('#theme-selector')
  690. const form = themeSelectorTemplate.content.firstElementChild
  691. this.attachShadow({ mode: 'open' })
  692. this.shadowRoot.appendChild(form.cloneNode(true))
  693. }
  694. connectedCallback() {
  695. const form = this.shadowRoot.querySelector('form')
  696. form.addEventListener('change', (e) => {
  697. const chosenColorScheme = e.target.value
  698. localStorage.setItem('theme', chosenColorScheme)
  699. toggleTheme(chosenColorScheme)
  700. })
  701. const selectedTheme = localStorage.getItem('theme')
  702. if (selectedTheme && selectedTheme !== 'undefined') {
  703. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  704. }
  705. }
  706. }
  707. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  708. window.addEventListener('load', () => {
  709. let colorsLayer = undefined
  710. let hasDarkRules = false
  711. for (const styleSheet of Array.from(document.styleSheets)) {
  712. let mediaRules = []
  713. for (const layerRule of styleSheet.cssRules) {
  714. if (!(layerRule instanceof CSSLayerBlockRule)) {
  715. continue
  716. }
  717. if (layerRule.name === 'colors') {
  718. colorsLayer = layerRule
  719. }
  720. for (const cssRule of layerRule.cssRules) {
  721. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  722. continue
  723. }
  724. // WARNING: Safari does not have/supports `conditionText`.
  725. if (cssRule.conditionText) {
  726. if (cssRule.conditionText !== prefersColorSchemeDark) {
  727. continue
  728. }
  729. } else {
  730. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  731. continue
  732. }
  733. }
  734. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  735. }
  736. }
  737. // WARNING: do not try to insert a Rule to a styleSheet you are
  738. // currently iterating on, otherwise the browser will be stuck
  739. // in a infinite loop…
  740. for (const mediaRule of mediaRules) {
  741. // Safari requires the `0` second parameter (even if default).
  742. colorsLayer.insertRule(mediaRule.cssText, 0)
  743. hasDarkRules = true
  744. }
  745. }
  746. if (hasDarkRules) {
  747. if ('customElements' in window && !customElements.get('theme-toggle')) {
  748. customElements.define('theme-toggle', ThemeToggle)
  749. }
  750. }
  751. })
  752. </script>
  753. </body>
  754. </html>