Repository with sources and generator of https://larlet.fr/david/ https://larlet.fr/david/
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432
  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. Jour 2
  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-09.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="Le vent fera tomber des branches, L’aube viendra dans sa mârde blanche.">
  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. <!-- To get attribution when linking on mastodon. -->
  106. <meta name="fediverse:creator" content="@david@larlet.fr">
  107. <style type="text/css">
  108. .tippy-content {
  109. min-width: 280px;
  110. padding: .5rem;
  111. font-size: calc(var(--fluid-0) * 0.8);
  112. font-family: var(--labor-font);
  113. letter-spacing: initial;
  114. text-align: left;
  115. }
  116. .tippy-content h3 {
  117. margin-top: 0;
  118. }
  119. .tippy-content h3 img {
  120. max-width: 2rem;
  121. max-height: 2rem;
  122. display: inline-block;
  123. }
  124. .tippy-content .tippy-links {
  125. display: flex;
  126. justify-content: space-around;
  127. }
  128. .tippy-content a {
  129. padding: .4rem;
  130. color: #F06048;
  131. }
  132. </style>
  133. <body data-instant-intensity="viewport-all">
  134. <article>
  135. <header>
  136. <hgroup>
  137. <h1>Jour 2</h1>
  138. <p>Le <time datetime="2024-03-30">30 mars 2024</time></p>
  139. </hgroup>
  140. </header>
  141. <nav>
  142. <p>
  143. <a rel="prev"
  144. href="/david/2024/03/29/"
  145. title="Publication précédente : Jour 1">← Précédent</a> •
  146. <a href="/david/" title="Aller à l’accueil" rel="up">Accueil</a>
  147. <a href="/david/recherche/"
  148. title="Aller à la page de recherche"
  149. rel="search" data-no-instant>Recherche</a>
  150. • <a rel="next"
  151. href="/david/2024/04/02/"
  152. title="Publication suivante : Porte">Suivant →</a>
  153. </p>
  154. </nav>
  155. <blockquote>
  156. <p>Le vent fera tomber des branches,<br />
  157. L’aube viendra dans sa mârde&nbsp;blanche.</p>
  158. <p><cite><em>Mars</em>, Cissou du «&nbsp;vrai&nbsp;» sud-ouest (fin du&nbsp;débat)</cite></p>
  159. </blockquote>
  160. <p>La montre m’indique avoir dormi 5h. Optimiste. Je me lève relativement tôt car je ne veux pas trop m’enfoncer dans la neige en début d’après-midi. Les seules traces de retour bien profondes de la veille m’ont fait un peu peur à ce sujet. J’ai greloté une partie de la nuit (oups, des calories en moins), ça motive à s’extirper du duvet&nbsp;aussi…</p>
  161. <p>Le temps de déjeuner et de plier le camp, la neige se met à tomber. Il neige faiblement pendant les 2&#8239;km d’ascension qui m’ont séché la veille. Vu le nombre de nouvelles branches que je dois enjamber, je suis bien content de ne pas m’en être pris une sur la tête cette nuit. J’espérais pouvoir bénéficier d’un lever de soleil mais c’est compter sans la couverture&nbsp;nuageuse.</p>
  162. <figure>
  163. <a href="/static/david/2024/2024-03-30-lac.jpg"
  164. title="Cliquer pour une version haute résolution">
  165. <img
  166. src="/static/david/2024/2024-03-30-lac.jpg"
  167. width="3024" height="4032"
  168. srcset="/static/david/2024/2024-03-30-lac.jpg 3024w, /static/david/2024/2024-03-30-lac_660x440.jpg 660w, /static/david/2024/2024-03-30-lac_990x660.jpg 990w, /static/david/2024/2024-03-30-lac_1320x880.jpg 1320w"
  169. sizes="min(100vw, calc(100vh * 3024 / 4032))"
  170. loading="lazy"
  171. decoding="async"
  172. alt="Un lac gelé.">
  173. </a>
  174. <figcaption>Un de ces paysages&nbsp;typiques.</figcaption>
  175. </figure>
  176. <p>Je découvre qu’il faut avoir une trace aller et une autre retour car la montre ne sait pas réaliser que je ne fais pas du <em>moonwalk</em> toute seule. Étonnant.</p>
  177. <p>L’un des inconvénient d’être reparti à la fraîche, c’est que les rochers mouillés sont devenus bien glissants mais la boue a gelé. Il faut bien savoir choisir son poison dans ces&nbsp;circonstances&nbsp;😅.</p>
  178. <p>Au fil du chemin, je réalise que je ne suis pas prêt à enchaîner en rando-course sur plusieurs jours et qu’il va falloir travailler l’endurance avant, ce que j’ai commencé mais ça va me prendre plusieurs mois pour arriver à la forme qui me semble&nbsp;nécessaire.</p>
  179. <figure>
  180. <a href="/static/david/2024/2024-03-30-ruisseau.jpg"
  181. title="Cliquer pour une version haute résolution">
  182. <img
  183. src="/static/david/2024/2024-03-30-ruisseau.jpg"
  184. width="3024" height="4032"
  185. srcset="/static/david/2024/2024-03-30-ruisseau.jpg 3024w, /static/david/2024/2024-03-30-ruisseau_660x440.jpg 660w, /static/david/2024/2024-03-30-ruisseau_990x660.jpg 990w, /static/david/2024/2024-03-30-ruisseau_1320x880.jpg 1320w"
  186. sizes="min(100vw, calc(100vh * 3024 / 4032))"
  187. loading="lazy"
  188. decoding="async"
  189. alt="Un ruisseau gelé.">
  190. </a>
  191. <figcaption>La couche de glace depuis hier me permet de mesurer la température&nbsp;nocturne.</figcaption>
  192. </figure>
  193. <p>J’espère pouvoir alléger le sac aussi avec les températures qui remontent. Je peux probablement réduire de 2&nbsp;kilos par dizaine de degrés gagnée, ce qui n’est pas&nbsp;négligeable&#8239;!</p>
  194. <p>Une sortie plus en mode recherche que l’habituelle exploration / contemplation / plaisir. Toujours cet arbitrage pour réussir à être dans de bonnes conditions tout en recherchant l’isolement&nbsp;relatif.</p>
  195. <p>Les derniers kilomètres sont bien longs (je suis limite en hypo), surtout que je m’étais garé assez loin du départ pour estimer ce que pourrait être une jonction du <a data-link-domain="randoquebec.ca" href="https://www.randoquebec.ca/sentier-national-au-quebec/">sentier national</a> qui enchainerait trois tronçons dont j’ai maintenant fait tous les morceaux. Envisageable dans des conditions non-hivernales mais il faut que j’arrive à me faire déposer à l’une des&nbsp;extrémités.</p>
  196. <nav>
  197. <p>
  198. <a href="/david/2024/experience/"
  199. title="Liste de tous les articles 2024 associés à cette étiquette"
  200. rel="tag">#expérience</a>
  201. <a href="/david/2024/foret/"
  202. title="Liste de tous les articles 2024 associés à cette étiquette"
  203. rel="tag">#forêt</a>
  204. <a href="/david/2024/partage/"
  205. title="Liste de tous les articles 2024 associés à cette étiquette"
  206. rel="tag">#partage</a>
  207. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  208. </p>
  209. </nav>
  210. <nav>
  211. <p>
  212. <a rel="prev"
  213. href="/david/2024/03/29/"
  214. title="Publication précédente : Jour 1">← Précédent</a> •
  215. <a href="/david/2024/" title="Liste des publications récentes">↑ En 2024</a>
  216. • <a rel="next"
  217. href="/david/2024/04/02/"
  218. title="Publication suivante : Porte">Suivant →</a>
  219. </p>
  220. </nav>
  221. <form action="/david/recherche/" method="get">
  222. <fieldset>
  223. <legend>Recherche</legend>
  224. <label for="input-search">Termes de votre recherche :</label>
  225. <input id="input-search" type="search" name="s" aria-describedby="indexation-infos" required>
  226. <input type="submit" value="Chercher">
  227. <p id="indexation-infos">
  228. <small>
  229. Seuls les contenus de ces 8 dernières années sont indexés.
  230. </small>
  231. </p>
  232. </fieldset>
  233. </form>
  234. <aside>
  235. <theme-toggle></theme-toggle>
  236. </aside>
  237. </article>
  238. <hr>
  239. <footer>
  240. <p>
  241. <a href="/david/" title="Aller à l’accueil">Accueil</a>
  242. <a href="/david/log/" title="Accès au flux RSS">Suivre</a>
  243. <a href="http://larlet.com"
  244. title="Go to my English profile"
  245. data-instant>Pro</a>
  246. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">Email</a>
  247. <abbr title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">Légal</abbr>
  248. </p>
  249. <template id="theme-selector">
  250. <form>
  251. <style type="text/css">
  252. fieldset div {
  253. text-align: center;
  254. }
  255. </style>
  256. <fieldset>
  257. <legend>Thème</legend>
  258. <div>
  259. <label>
  260. <input type="radio" value="auto" name="chosen-color-scheme" checked>
  261. Auto
  262. </label>
  263. <label>
  264. <input type="radio" value="dark" name="chosen-color-scheme">
  265. Foncé
  266. </label>
  267. <label>
  268. <input type="radio" value="light" name="chosen-color-scheme">
  269. Clair
  270. </label>
  271. </div>
  272. </fieldset>
  273. </form>
  274. </template>
  275. </footer>
  276. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  277. <script>
  278. class ThemeToggle extends HTMLElement {
  279. constructor() {
  280. super()
  281. const themeSelectorTemplate = document.querySelector('#theme-selector')
  282. const form = themeSelectorTemplate.content.firstElementChild
  283. this.attachShadow({ mode: 'open' })
  284. this.shadowRoot.appendChild(form.cloneNode(true))
  285. }
  286. connectedCallback() {
  287. const form = this.shadowRoot.querySelector('form')
  288. form.addEventListener('change', (e) => {
  289. const chosenColorScheme = e.target.value
  290. localStorage.setItem('theme', chosenColorScheme)
  291. toggleTheme(chosenColorScheme)
  292. })
  293. const selectedTheme = localStorage.getItem('theme')
  294. if (selectedTheme && selectedTheme !== 'undefined') {
  295. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  296. }
  297. }
  298. }
  299. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  300. window.addEventListener('load', () => {
  301. let colorsLayer = undefined
  302. let hasDarkRules = false
  303. for (const styleSheet of Array.from(document.styleSheets)) {
  304. let mediaRules = []
  305. for (const layerRule of styleSheet.cssRules) {
  306. if (!(layerRule instanceof CSSLayerBlockRule)) {
  307. continue
  308. }
  309. if (layerRule.name === 'colors') {
  310. colorsLayer = layerRule
  311. }
  312. for (const cssRule of layerRule.cssRules) {
  313. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  314. continue
  315. }
  316. // WARNING: Safari does not have/supports `conditionText`.
  317. if (cssRule.conditionText) {
  318. if (cssRule.conditionText !== prefersColorSchemeDark) {
  319. continue
  320. }
  321. } else {
  322. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  323. continue
  324. }
  325. }
  326. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  327. }
  328. }
  329. // WARNING: do not try to insert a Rule to a styleSheet you are
  330. // currently iterating on, otherwise the browser will be stuck
  331. // in a infinite loop…
  332. for (const mediaRule of mediaRules) {
  333. // Safari requires the `0` second parameter (even if default).
  334. colorsLayer.insertRule(mediaRule.cssText, 0)
  335. hasDarkRules = true
  336. }
  337. }
  338. if (hasDarkRules) {
  339. if ('customElements' in window && !customElements.get('theme-toggle')) {
  340. customElements.define('theme-toggle', ThemeToggle)
  341. }
  342. }
  343. })
  344. </script>
  345. <script src="/static/david/js/popper-2.11.8.min.js"></script>
  346. <script src="/static/david/js/tippy-bundle-6.3.7.umd.min.js"></script>
  347. <script>
  348. tippy('[data-tippy]', {
  349. content(reference) {
  350. reference.addEventListener('click', (e) => e.preventDefault())
  351. return `
  352. <h3 lang="fr">
  353. <img src="${reference.dataset.favicon}" loading="lazy">
  354. <a href="${reference.dataset.source}"
  355. >Article sur ${reference.dataset.domain}</a></h3>
  356. <p lang="${reference.hreflang}"><em>${reference.dataset.description}</em></p>
  357. <div class="tippy-links" lang="fr">
  358. <a href="${reference.href}">Archive au ${reference.dataset.date}</a>
  359. </div>
  360. `
  361. },
  362. allowHTML: true,
  363. interactive: true,
  364. delay: [150, 700],
  365. hideOnClick: false
  366. })
  367. </script>
  368. <script type="module">
  369. import { annotate } from '/static/david/js/rough-notation-0.5.1.esm.min.js'
  370. const markObserver = new IntersectionObserver((entries, observer) => {
  371. const computedStyle = getComputedStyle(document.documentElement)
  372. const markBackground = computedStyle.getPropertyValue('--mark-background')
  373. for (const entry of entries) {
  374. if (entry.intersectionRatio === 0) continue
  375. const markElement = entry.target
  376. markElement.style.backgroundColor = 'inherit'
  377. const annotation = annotate(
  378. markElement, {
  379. type: 'highlight',
  380. multiline: true,
  381. color: markBackground,
  382. // animate: !window.matchMedia('(prefers-reduced-motion: reduce)').matches
  383. animate: false
  384. }
  385. )
  386. annotation.show()
  387. observer.unobserve(markElement)
  388. }
  389. }, {threshold: 1.0})
  390. for (const markElement of document.querySelectorAll('mark')) {
  391. markObserver.observe(markElement)
  392. }
  393. </script>
  394. </body>
  395. </html>