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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  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>Tag #tristesse — David Larlet</title>
  13. <meta name="description" content="Publications relatives au tag #tristesse">
  14. <!-- That good ol' feed, subscribe :). -->
  15. <link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
  16. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  17. <link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
  18. <link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
  19. <link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
  20. <link rel="manifest" href="/static/david/icons2/site.webmanifest">
  21. <link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
  22. <link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
  23. <meta name="msapplication-TileColor" content="#f7f7f7">
  24. <meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
  25. <meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
  26. <meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
  27. <!-- Documented, feel free to shoot an email. -->
  28. <link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
  29. <!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
  30. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  31. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  32. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  33. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  34. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  35. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  36. <script>
  37. function toggleTheme(themeName) {
  38. document.documentElement.classList.toggle(
  39. 'forced-dark',
  40. themeName === 'dark'
  41. )
  42. document.documentElement.classList.toggle(
  43. 'forced-light',
  44. themeName === 'light'
  45. )
  46. }
  47. const selectedTheme = localStorage.getItem('theme')
  48. if (selectedTheme !== 'undefined') {
  49. toggleTheme(selectedTheme)
  50. }
  51. </script>
  52. <style type="text/css">
  53. details[open] summary {
  54. display: none;
  55. }
  56. </style>
  57. <body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">
  58. <header>
  59. <h1>Publications relatives au tag #tristesse</h1>
  60. </header>
  61. <nav>
  62. <p class="center">
  63. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  64. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
  65. </svg> Accueil</a>
  66. • <a rel="tags" href="/david/#tags-2023" title="Liste de toutes les étiquettes"><svg class="icon icon-tags">
  67. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-tags"></use>
  68. </svg> Étiquettes</a>
  69. </p>
  70. </nav>
  71. <hr>
  72. <main>
  73. <p>Les plus récentes en premier, les 3 premières sont dépliées et ensuite c’est à la demande, bonne exploration !</p>
  74. <h2><a href="/david/2023/02/03/" title="Lien permanent vers cet article">Chargement</a> (2023-02-03)</h2>
  75. <blockquote lang="en">
  76. <p>If you are familiar with how the web is built, what happened is pretty obvious: A website that over-relies on JavaScript to power its experience had its logic collide with one or more other errant pieces of logic that it summons. This created a&nbsp;deadlock.</p>
  77. <p>If you do not make digital experiences for a living, what happened is not obvious at all. All you see is <mark>a tiny fake loading spinner that never&nbsp;stops.</mark></p>
  78. <p><cite><em><a href="https://ericwbailey.website/published/modern-health-frameworks-performance-and-harm/">Modern Health, frameworks, performance, and harm</a></em>&nbsp;(<a href="/david/cache/2023/7469f181ef4b031f59ae69356af16e28/">cache</a>)</cite></p>
  79. </blockquote>
  80. <p>Je suis le témoin d’un web cassé au quotidien. J’utilise <a href="https://addons.mozilla.org/en-US/firefox/addon/umatrix/">uMatrix</a> en bloquant toutes les requêtes qui ne sont pas sur le domaine consulté. Il est assez triste de constater le manque de résilience de la plupart des&nbsp;sites.</p>
  81. <p>Parfois, la consultation d’un article de blog n’est pas possible à cause de cela. Le contenu n’est même pas dans le HTML… ou une erreur JavaScript en masque&nbsp;l’affichage.</p>
  82. <p>La fragilité est devenue la norme car plus personne ne sait se servir des fondations du&nbsp;Web.</p>
  83. <hr />
  84. <p>Bande son du moment&nbsp;: <a href="https://www.youtube-nocookie.com/embed/Lm_2LCDmpXU">SEVDALIZA - DARKEST&nbsp;HOUR</a></p>
  85. <hr />
  86. <blockquote lang="en">
  87. <p>🏎️ I guess what I’m winding up to say here is <mark>developer experience really isn’t important</mark>—especially when frameworks haven’t even got the absolute baseline experience anywhere near where it needs to be to service a world wide web. A world wide web that’s accessed with slow, expensive connections and cheap, underperforming hardware. How about taking a bit of “DX” on the chin to focus instead on “why are we using this framework that potentially excludes the majority of&nbsp;users?”.</p>
  88. <p><cite><em><a href="https://andy-bell.co.uk/speed-for-who/">Speed for who? | Andy Bell</a></em>&nbsp;(<a href="/david/cache/2023/f7957bdde7af740e322756668784d355/">cache</a>)</cite></p>
  89. </blockquote>
  90. <blockquote>
  91. <p>🤗 Préciser notre mission, c’est rediscuter ensemble l’ordonnanceur qu’on ramènera tou⋅tes à la maison&nbsp;: quelles priorités, quelles actions, et comment s’insèrent-elles dans la tapisserie que nous brodons&nbsp;ensemble.</p>
  92. <p><cite><em><a href="https://plume.deuxfleurs.fr/~/Deuxfleurs/La%20mission%20de%20Deuxfleurs">La mission de Deuxfleurs</a></em>&nbsp;(<a href="/david/cache/2023/a0ccec7acb932e4155960c1c88d65eff/">cache</a>)</cite></p>
  93. </blockquote>
  94. <blockquote lang="en">
  95. <p>🙇 Thinking that people are stupid is not thinking. <mark>Understanding them&nbsp;is.</mark></p>
  96. <p>I never want to debate, but if I had to, I would hope to lose. I don’t want to convince anyone of my existing perspective. I would rather be convinced of theirs. It’s more interesting to assume that they are&nbsp;right.</p>
  97. <p><cite><em><a href="https://sive.rs/led">I want to lose every debate.</a></em>&nbsp;(<a href="/david/cache/2023/f85d5742bb188e4b25d627b78413fbac/">cache</a>)</cite></p>
  98. </blockquote>
  99. <h2><a href="/david/2023/01/23/" title="Lien permanent vers cet article">Déception</a> (2023-01-23)</h2>
  100. <p>La perte d’un ami est un&nbsp;deuil.</p>
  101. <p>Le choc d’une annonce extime,<br />
  102. &nbsp;&nbsp;la colère que des femmes souffrent,<br />
  103. &nbsp;&nbsp;le marchandage d’un départ précipité,<br />
  104. &nbsp;&nbsp;la tristesse de toutes ces rancœurs,<br />
  105. &nbsp;&nbsp;l’acceptation d’un silence&nbsp;parlant.</p>
  106. <p>Après tout ce que tu m’as appris,<br />
  107. &nbsp;&nbsp;cette dernière leçon,<br />
  108. &nbsp;&nbsp;au sujet de l’incohérence,<br />
  109. &nbsp;&nbsp;aura été des plus&nbsp;malaisantes.</p>
  110. <p>La déception qu’un ami puisse se&nbsp;perdre.</p>
  111. <hr />
  112. <p>Citation du&nbsp;jour&nbsp;:</p>
  113. <blockquote>
  114. <p>Les moutons ont peur du loup, mais c’est le berger qui les&nbsp;mange.</p>
  115. </blockquote>
  116. <hr />
  117. <blockquote>
  118. <p>Difficile. Troublant. Écrire est un équilibre qui me demande beaucoup d’efforts. Ne pas créer de peines aux vivants que l’on aime qui nous entourent tout en contenant la tempête qui ravage nos pensées. Ce n’est pas si simple. <mark>Veut-on toujours gérer la conséquence d’une pensée parfois mal formée&#8239;?</mark> L’écriture solidifie un état que l’on voudrait garder fluide. Nous construisons alors des tabous, des jardins interdits qui pourront s’ouvrir le moment venu ou jamais car ce temps là aura passé. Alors parfois je me retiens. Ce que les proches voient comme quelque chose de personnel est bien souvent le détachement d’une expérience, d’un partage qui va beaucoup plus loin que la simple réalisation d’un quotidien à&nbsp;soi.</p>
  119. <p><cite><em><a href="https://www.la-grange.net/2023/01/09/arret">Le dernier arrêt</a></em>&nbsp;(<a href="/david/cache/2023/3e86aa622ac1361400a4b7c0013efdd3/">cache</a>)</cite></p>
  120. </blockquote>
  121. </main>
  122. <hr>
  123. <footer>
  124. <p>
  125. <nobr>
  126. <a href="/david/" title="Aller à l’accueil"
  127. ><svg class="icon icon-home">
  128. <use
  129. xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-home"
  130. ></use>
  131. </svg>
  132. Accueil</a
  133. >
  134. </nobr>
  135. <nobr>
  136. <a href="/david/log/" title="Accès au flux RSS"
  137. ><svg class="icon icon-rss2">
  138. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-rss2"></use>
  139. </svg>
  140. Suivre</a
  141. >
  142. </nobr>
  143. <nobr>
  144. <a href="http://larlet.com" title="Go to my English profile" data-instant
  145. ><svg class="icon icon-user-tie">
  146. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-user-tie"></use>
  147. </svg>
  148. Pro</a
  149. >
  150. </nobr>
  151. <nobr>
  152. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel"
  153. ><svg class="icon icon-mail">
  154. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-mail"></use>
  155. </svg>
  156. Email</a
  157. >
  158. </nobr>
  159. <nobr>
  160. <abbr
  161. class="nowrap"
  162. title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"
  163. ><svg class="icon icon-hammer2">
  164. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-hammer2"></use>
  165. </svg>
  166. Légal</abbr
  167. >
  168. </nobr>
  169. </p>
  170. <template id="theme-selector">
  171. <form>
  172. <fieldset>
  173. <legend><svg class="icon icon-brightness-contrast">
  174. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-brightness-contrast"></use>
  175. </svg> Thème</legend>
  176. <label>
  177. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  178. </label>
  179. <label>
  180. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  181. </label>
  182. <label>
  183. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  184. </label>
  185. </fieldset>
  186. </form>
  187. </template>
  188. </footer>
  189. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  190. <script>
  191. function loadThemeForm(templateName) {
  192. const themeSelectorTemplate = document.querySelector(templateName)
  193. const form = themeSelectorTemplate.content.firstElementChild
  194. themeSelectorTemplate.replaceWith(form)
  195. form.addEventListener('change', (e) => {
  196. const chosenColorScheme = e.target.value
  197. localStorage.setItem('theme', chosenColorScheme)
  198. toggleTheme(chosenColorScheme)
  199. })
  200. const selectedTheme = localStorage.getItem('theme')
  201. if (selectedTheme && selectedTheme !== 'undefined') {
  202. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  203. }
  204. }
  205. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  206. window.addEventListener('load', () => {
  207. let hasDarkRules = false
  208. for (const styleSheet of Array.from(document.styleSheets)) {
  209. let mediaRules = []
  210. for (const cssRule of styleSheet.cssRules) {
  211. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  212. continue
  213. }
  214. // WARNING: Safari does not have/supports `conditionText`.
  215. if (cssRule.conditionText) {
  216. if (cssRule.conditionText !== prefersColorSchemeDark) {
  217. continue
  218. }
  219. } else {
  220. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  221. continue
  222. }
  223. }
  224. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  225. }
  226. // WARNING: do not try to insert a Rule to a styleSheet you are
  227. // currently iterating on, otherwise the browser will be stuck
  228. // in a infinite loop…
  229. for (const mediaRule of mediaRules) {
  230. styleSheet.insertRule(mediaRule.cssText)
  231. hasDarkRules = true
  232. }
  233. }
  234. if (hasDarkRules) {
  235. loadThemeForm('#theme-selector')
  236. }
  237. })
  238. </script>
  239. </body>
  240. </html>