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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  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>Blogroll — David Larlet</title>
  13. <meta name="description" content="Je lie cinq blogs person­nels, choi­sis arbi­trai­re­ment et sans hiérar­chie, avec une phrase sur pourquoi ils me sont impor­tants, en choi­sis­sant un billet précis que j’ai aimé y trou­ver […]">
  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. <body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">
  53. <article>
  54. <header>
  55. <h1>Blogroll</h1>
  56. </header>
  57. <nav>
  58. <p class="center">
  59. <a rel="prev" href="/david/2023/09/08/" title="Publication précédente : Char&nbsp;2">← Précédent</a> •
  60. <nobr>
  61. <a href="/david/" title="Aller à l’accueil" rel="up"
  62. ><svg class="icon icon-home">
  63. <use
  64. xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-home"
  65. ></use>
  66. </svg>
  67. Accueil</a
  68. >
  69. </nobr>
  70. <nobr>
  71. <a href="/david/recherche/" title="Aller à la page de recherche" rel="search"
  72. ><svg class="icon icon-search">
  73. <use
  74. xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-search"
  75. ></use>
  76. </svg>
  77. Recherche</a
  78. >
  79. </nobr>
  80. </p>
  81. </nav>
  82. <hr>
  83. <blockquote>
  84. <p>Je lie cinq blogs person­nels, choi­sis arbi­trai­re­ment et sans hiérar­chie, avec une phrase sur pourquoi ils me sont impor­tants, en choi­sis­sant un billet précis que j’ai aimé y trou­ver&nbsp;[…]</p>
  85. <p><cite><em><a href="https://n.survol.fr/n/la-blogchain">La blogchain - Carnet de notes</a></em>&nbsp;(<a href="/david/cache/2023/543d854b54593b8bf1adc2c491468bca/">cache</a>)</cite></p>
  86. </blockquote>
  87. <p>Je partageais sur Mastodon l’initiative d’Alex Sirac d’avoir fait un·e <a href="https://blogroll.fr/"><em>blogroll</em></a> et en explorant le site je me rends compte qu’<a href="https://blogroll.fr/articles-recents/">il y a une forme de <em>planet</em></a> et ça m’a rappelé de doux souvenirs. Je me souviens d’avoir mis ça en place sur cet espace à un moment, ça m’a rendu nostalgique 5&nbsp;minutes… et j’ai passé les deux heures suivantes à le coder en mode statique&nbsp;:-). Merci-pas-merci&nbsp;Alex&#8239;!</p>
  88. <p>Il y a donc maintenant <a href="/david/blogroll/">une page de blogroll</a> sur ce site avec les deux derniers billets publiés par personne listée. J’espère que j’arriverai à maintenir une page qui représente mes lectures réelles. Elle est loin d’être exhaustive car j’ai 150&nbsp;flux de personnes dans mon agrégateur. J’avais plus envie d’encourager la diversité des&nbsp;publications.</p>
  89. <p>J’ai rencontré deux problèmes durant cette&nbsp;expérience&nbsp;:</p>
  90. <ul>
  91. <li><strong>humain</strong>&nbsp;: certaines personnes souhaitent ne publier certains billets que par le biais de leur flux, est-ce qu’un agrégateur public ne va pas à l’encontre de cette&nbsp;volonté&#8239;?</li>
  92. <li><strong>technique</strong>&nbsp;: une proportion non négligeable de flux ne sont pas valides / standards, j’ai signalé cela à certain·es auteur·ices. Un <a href="https://validator.w3.org/feed/">outil existe</a> de la part du W3C pour effectuer cette&nbsp;vérification.</li>
  93. </ul>
  94. <p>Je me suis aussi demandé si c’était pertinent de faire comme Éric le propose avec un billet d’entrée particulier. C’est ce que <a href="https://www.hypothermia.fr/liens/">fait Eli</a> par exemple et j’avais trouvé ça chouette et plus stimulant qu’une simple liste, je garde ça dans un coin de tête. Je sais aussi d’expérience qu’il ne faut pas que je me prenne trop la tête si je veux garder une liste à jour sinon je vais vite avoir la flemme. Peut-être que je fais suffisamment de liens externes dans mes&nbsp;publications.</p>
  95. <p><del>J’aimerais également prendre le temps de faire une liste des articles techniques qui ont compté pour moi, à l’instar de <a href="https://ericwbailey.website/formative-posts/">Eric W. Bailey</a> et <a href="https://esif.dev/">tant</a> <a href="https://wdrl.info/evergreen/">d’autres</a>.</del> Bon, en fait <a href="/david/stream/2019/12/27/">je l’ai déjà faite</a>, parfois ma mémoire numérique m’aide mais me rappelle que <a href="/david/stream/2018/04/07/">la spirale</a> n’est peut-être pas compatible avec la vieillesse, oups&nbsp;😅. J’aime bien l’idée de la <a href="https://gilest.org/shoebox.html%5D(https://gilest.org/shoebox.html">boîte à chaussures</a>&nbsp;(<a href="/david/cache/2023/462022ad2f27ff57387e9d0f49e96bad/">cache</a>) aussi, avec la crainte que ce musée des <em>vaporwares</em> ne soit un peu trop&nbsp;déprimant.</p>
  96. <hr />
  97. <p>Mot du jour&nbsp;: <a href="https://fr.wikipedia.org/wiki/Eucatastrophe">Eucatastrophe</a> (j’ai arraché deux dents&nbsp;aujourd’hui).</p>
  98. <nav>
  99. <p>
  100. <a href="/david/2023/decentralisation/"
  101. title="Liste de tous les articles 2023 associés à cette étiquette"
  102. rel="tag"
  103. >#décentralisation</a>
  104. <a href="/david/2023/gratitude/"
  105. title="Liste de tous les articles 2023 associés à cette étiquette"
  106. rel="tag"
  107. >#gratitude</a>
  108. <a href="/david/2023/web/"
  109. title="Liste de tous les articles 2023 associés à cette étiquette"
  110. rel="tag"
  111. >#web</a>
  112. <a href="/david/#tags-2023"
  113. title="Liste de toutes les étiquettes 2023"
  114. ><svg class="icon icon-tags">
  115. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-tags"></use>
  116. </svg>
  117. tous ?</a
  118. >
  119. </p>
  120. </nav>
  121. <nav>
  122. <p class="center">
  123. <a rel="prev" href="/david/2023/09/08/" title="Publication précédente : Char&nbsp;2">← Précédent</a> •
  124. <a href="/david/2023/" title="Liste des publications récentes">↑ En 2023</a>
  125. </p>
  126. </nav>
  127. </article>
  128. <hr>
  129. <footer>
  130. <p>
  131. <nobr>
  132. <a href="/david/" title="Aller à l’accueil"
  133. ><svg class="icon icon-home">
  134. <use
  135. xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-home"
  136. ></use>
  137. </svg>
  138. Accueil</a
  139. >
  140. </nobr>
  141. <nobr>
  142. <a href="/david/log/" title="Accès au flux RSS"
  143. ><svg class="icon icon-rss2">
  144. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-rss2"></use>
  145. </svg>
  146. Suivre</a
  147. >
  148. </nobr>
  149. <nobr>
  150. <a href="http://larlet.com" title="Go to my English profile" data-instant
  151. ><svg class="icon icon-user-tie">
  152. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-user-tie"></use>
  153. </svg>
  154. Pro</a
  155. >
  156. </nobr>
  157. <nobr>
  158. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel"
  159. ><svg class="icon icon-mail">
  160. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-mail"></use>
  161. </svg>
  162. Email</a
  163. >
  164. </nobr>
  165. <nobr>
  166. <abbr
  167. class="nowrap"
  168. title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"
  169. ><svg class="icon icon-hammer2">
  170. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-hammer2"></use>
  171. </svg>
  172. Légal</abbr
  173. >
  174. </nobr>
  175. </p>
  176. <template id="theme-selector">
  177. <form>
  178. <fieldset>
  179. <legend><svg class="icon icon-brightness-contrast">
  180. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-brightness-contrast"></use>
  181. </svg> Thème</legend>
  182. <label>
  183. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  184. </label>
  185. <label>
  186. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  187. </label>
  188. <label>
  189. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  190. </label>
  191. </fieldset>
  192. </form>
  193. </template>
  194. </footer>
  195. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  196. <script>
  197. function loadThemeForm(templateName) {
  198. const themeSelectorTemplate = document.querySelector(templateName)
  199. const form = themeSelectorTemplate.content.firstElementChild
  200. themeSelectorTemplate.replaceWith(form)
  201. form.addEventListener('change', (e) => {
  202. const chosenColorScheme = e.target.value
  203. localStorage.setItem('theme', chosenColorScheme)
  204. toggleTheme(chosenColorScheme)
  205. })
  206. const selectedTheme = localStorage.getItem('theme')
  207. if (selectedTheme && selectedTheme !== 'undefined') {
  208. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  209. }
  210. }
  211. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  212. window.addEventListener('load', () => {
  213. let hasDarkRules = false
  214. for (const styleSheet of Array.from(document.styleSheets)) {
  215. let mediaRules = []
  216. for (const cssRule of styleSheet.cssRules) {
  217. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  218. continue
  219. }
  220. // WARNING: Safari does not have/supports `conditionText`.
  221. if (cssRule.conditionText) {
  222. if (cssRule.conditionText !== prefersColorSchemeDark) {
  223. continue
  224. }
  225. } else {
  226. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  227. continue
  228. }
  229. }
  230. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  231. }
  232. // WARNING: do not try to insert a Rule to a styleSheet you are
  233. // currently iterating on, otherwise the browser will be stuck
  234. // in a infinite loop…
  235. for (const mediaRule of mediaRules) {
  236. styleSheet.insertRule(mediaRule.cssText)
  237. hasDarkRules = true
  238. }
  239. }
  240. if (hasDarkRules) {
  241. loadThemeForm('#theme-selector')
  242. }
  243. })
  244. </script>
  245. </body>
  246. </html>