123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273 |
- <!doctype html><!-- This is a valid HTML5 document. -->
- <!-- Screen readers, SEO, extensions and so on. -->
- <html lang="fr">
- <!-- Has to be within the first 1024 bytes, hence before the `title` element
- See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
- <meta charset="utf-8">
- <!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
- <!-- The viewport meta is quite crowded and we are responsible for that.
- See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
- <meta name="viewport" content="width=device-width,initial-scale=1">
- <!-- Required to make a valid HTML5 document. -->
- <title>Blogroll — David Larlet</title>
- <meta name="description" content="Je lie cinq blogs personnels, choisis arbitrairement et sans hiérarchie, avec une phrase sur pourquoi ils me sont importants, en choisissant un billet précis que j’ai aimé y trouver […]">
- <!-- That good ol' feed, subscribe :). -->
- <link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
- <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
- <link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
- <link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
- <link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
- <link rel="manifest" href="/static/david/icons2/site.webmanifest">
- <link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
- <link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
- <meta name="msapplication-TileColor" content="#f7f7f7">
- <meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
- <meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
- <meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
- <!-- Documented, feel free to shoot an email. -->
- <link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
- <!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
- <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>
- <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>
- <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>
- <link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
- <link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
- <link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
- <script>
- function toggleTheme(themeName) {
- document.documentElement.classList.toggle(
- 'forced-dark',
- themeName === 'dark'
- )
- document.documentElement.classList.toggle(
- 'forced-light',
- themeName === 'light'
- )
- }
- const selectedTheme = localStorage.getItem('theme')
- if (selectedTheme !== 'undefined') {
- toggleTheme(selectedTheme)
- }
- </script>
-
- <body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">
-
-
- <article>
- <header>
- <h1>Blogroll</h1>
- </header>
- <nav>
- <p class="center">
- <a rel="prev" href="/david/2023/09/08/" title="Publication précédente : Char 2">← Précédent</a> •
- <nobr>
- <a href="/david/" title="Aller à l’accueil" rel="up"
- ><svg class="icon icon-home">
- <use
- xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-home"
- ></use>
- </svg>
- Accueil</a
- >
- </nobr>
- •
- <nobr>
- <a href="/david/recherche/" title="Aller à la page de recherche" rel="search"
- ><svg class="icon icon-search">
- <use
- xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-search"
- ></use>
- </svg>
- Recherche</a
- >
- </nobr>
-
- </p>
- </nav>
- <hr>
-
-
- <blockquote>
- <p>Je lie cinq blogs personnels, choisis arbitrairement et sans hiérarchie, avec une phrase sur pourquoi ils me sont importants, en choisissant un billet précis que j’ai aimé y trouver […]</p>
- <p><cite><em><a href="https://n.survol.fr/n/la-blogchain">La blogchain - Carnet de notes</a></em> (<a href="/david/cache/2023/543d854b54593b8bf1adc2c491468bca/">cache</a>)</cite></p>
- </blockquote>
- <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 minutes… et j’ai passé les deux heures suivantes à le coder en mode statique :-). Merci-pas-merci Alex !</p>
- <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 flux de personnes dans mon agrégateur. J’avais plus envie d’encourager la diversité des publications.</p>
- <p>J’ai rencontré deux problèmes durant cette expérience :</p>
- <ul>
- <li><strong>humain</strong> : 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 volonté ?</li>
- <li><strong>technique</strong> : 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 vérification.</li>
- </ul>
- <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 publications.</p>
- <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 😅. 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> (<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 déprimant.</p>
- <hr />
- <p>Mot du jour : <a href="https://fr.wikipedia.org/wiki/Eucatastrophe">Eucatastrophe</a> (j’ai arraché deux dents aujourd’hui).</p>
-
-
- <nav>
- <p>
-
- <a href="/david/2023/decentralisation/"
- title="Liste de tous les articles 2023 associés à cette étiquette"
- rel="tag"
- >#décentralisation</a>
-
- <a href="/david/2023/gratitude/"
- title="Liste de tous les articles 2023 associés à cette étiquette"
- rel="tag"
- >#gratitude</a>
-
- <a href="/david/2023/web/"
- title="Liste de tous les articles 2023 associés à cette étiquette"
- rel="tag"
- >#web</a>
-
- <a href="/david/#tags-2023"
- title="Liste de toutes les étiquettes 2023"
- ><svg class="icon icon-tags">
- <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-tags"></use>
- </svg>
- tous ?</a
- >
- </p>
- </nav>
-
- <nav>
- <p class="center">
- <a rel="prev" href="/david/2023/09/08/" title="Publication précédente : Char 2">← Précédent</a> •
- <a href="/david/2023/" title="Liste des publications récentes">↑ En 2023</a>
-
- </p>
- </nav>
- </article>
-
-
- <hr>
-
- <footer>
- <p>
- <nobr>
- <a href="/david/" title="Aller à l’accueil"
- ><svg class="icon icon-home">
- <use
- xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-home"
- ></use>
- </svg>
- Accueil</a
- >
- </nobr>
- •
- <nobr>
- <a href="/david/log/" title="Accès au flux RSS"
- ><svg class="icon icon-rss2">
- <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-rss2"></use>
- </svg>
- Suivre</a
- >
- </nobr>
- •
- <nobr>
- <a href="http://larlet.com" title="Go to my English profile" data-instant
- ><svg class="icon icon-user-tie">
- <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-user-tie"></use>
- </svg>
- Pro</a
- >
- </nobr>
- •
- <nobr>
- <a href="mailto:david%40larlet.fr" title="Envoyer un courriel"
- ><svg class="icon icon-mail">
- <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-mail"></use>
- </svg>
- Email</a
- >
- </nobr>
- •
- <nobr>
- <abbr
- class="nowrap"
- title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"
- ><svg class="icon icon-hammer2">
- <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-hammer2"></use>
- </svg>
- Légal</abbr
- >
- </nobr>
- </p>
- <template id="theme-selector">
- <form>
- <fieldset>
- <legend><svg class="icon icon-brightness-contrast">
- <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-brightness-contrast"></use>
- </svg> Thème</legend>
- <label>
- <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
- </label>
- <label>
- <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
- </label>
- <label>
- <input type="radio" value="light" name="chosen-color-scheme"> Clair
- </label>
- </fieldset>
- </form>
- </template>
- </footer>
- <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
- <script>
- function loadThemeForm(templateName) {
- const themeSelectorTemplate = document.querySelector(templateName)
- const form = themeSelectorTemplate.content.firstElementChild
- themeSelectorTemplate.replaceWith(form)
-
- form.addEventListener('change', (e) => {
- const chosenColorScheme = e.target.value
- localStorage.setItem('theme', chosenColorScheme)
- toggleTheme(chosenColorScheme)
- })
-
- const selectedTheme = localStorage.getItem('theme')
- if (selectedTheme && selectedTheme !== 'undefined') {
- form.querySelector(`[value="${selectedTheme}"]`).checked = true
- }
- }
-
- const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
- window.addEventListener('load', () => {
- let hasDarkRules = false
- for (const styleSheet of Array.from(document.styleSheets)) {
- let mediaRules = []
- for (const cssRule of styleSheet.cssRules) {
- if (cssRule.type !== CSSRule.MEDIA_RULE) {
- continue
- }
- // WARNING: Safari does not have/supports `conditionText`.
- if (cssRule.conditionText) {
- if (cssRule.conditionText !== prefersColorSchemeDark) {
- continue
- }
- } else {
- if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
- continue
- }
- }
- mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
- }
-
- // WARNING: do not try to insert a Rule to a styleSheet you are
- // currently iterating on, otherwise the browser will be stuck
- // in a infinite loop…
- for (const mediaRule of mediaRules) {
- styleSheet.insertRule(mediaRule.cssText)
- hasDarkRules = true
- }
- }
- if (hasDarkRules) {
- loadThemeForm('#theme-selector')
- }
- })
- </script>
-
- </body>
- </html>
|