Repository with sources and generator of https://larlet.fr/david/ https://larlet.fr/david/
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

index.html 18KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413
  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. Aurores
  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="13h17 : Elle m’informe qu’il y a une énorme tâche solaire visible avec les lunettes d’éclipse actuellement sur le soleil. J’oublie de regarder.">
  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>Aurores</h1>
  138. <p>Le <time datetime="2024-05-10">10 mai 2024</time></p>
  139. </hgroup>
  140. </header>
  141. <nav>
  142. <p>
  143. <a rel="prev"
  144. href="/david/2024/05/05/"
  145. title="Publication précédente : Jour 2">← 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/05/12/"
  152. title="Publication suivante : Alien">Suivant →</a>
  153. </p>
  154. </nav>
  155. <p>13h17&nbsp;: Elle m’informe qu’il y a une énorme tâche solaire visible avec les lunettes d’éclipse actuellement sur le soleil. J’oublie de&nbsp;regarder.</p>
  156. <p>19h28&nbsp;: Un ami m’indique qu’<a data-link-domain="ici.radio-canada.ca" href="https://ici.radio-canada.ca/nouvelle/2071742/tempte-solaire-geomagnetique-10-mai">une tempête solaire arrive sur le Canada</a>. J’ai un peu de mal à faire le lien direct avec les aurores boréales, surtout que je suis à Montréal donc je n’y pense même&nbsp;pas.</p>
  157. <p>20h17&nbsp;: Je creuse un peu et apparemment ça va vraiment être exceptionnel, genre <a data-link-domain="espaces.ca" href="https://www.espaces.ca/articles/actualites/23173-des-aurores-boreales-spectaculaires-partout-au-quebec-cette-fin-de-semaine">le plus important de ces 19&nbsp;dernières années</a>. Je lui partage ma déception d’être en ville pour cette opportunité&nbsp;improbable.</p>
  158. <p>20h36&nbsp;: On s’appelle et on convient d’aller au parc à 200&nbsp;mètres de chez moi avec les enfants et de quoi avoir chaud, au pire ça fera une sortie nocturne marrante. <a data-link-domain="swpc.noaa.gov" href="https://www.swpc.noaa.gov/products/aurora-30-minute-forecast">Le site le plus populaire à ce sujet</a> semble dire que ça serait visible même depuis notre latitude. Le ciel est complètement&nbsp;dégagé.</p>
  159. <p>21h22&nbsp;: On est bien installés dans le coin le moins lumineux du parc que je connais comme ma poche. Une bonne occasion de réaliser l’activité nocturne de la faune locale. Je n’y crois qu’à 1% mais ne faire que quelques mètres pour espérer réaliser un rêve c’est une aubaine qui ne se refuse pas. Joachim a eu besoin d’aller <a data-link-domain="blog.professeurjoachim.com" href="https://blog.professeurjoachim.com/billet/2023-03-31-aller-voir-les-aurores-boreales-en-train">pas mal plus loin</a> l’année&nbsp;dernière.</p>
  160. <p>22h03&nbsp;: Soudain, venant de l’ouest, l’équivalent d’un rideau de pluie verte/rose qui s’avance vers le nord. C’est juste incroyable à vivre et ça vient compléter <a href="/david/2024/04/08/" title="Éclipse">l’éclipse</a> en terme d’intensité émotionnelle. Je suis tellement surpris que je mets un moment à sortir l’appareil photo sur lequel je n’avais rien réglé, n’y croyant pas&nbsp;vraiment.</p>
  161. <figure>
  162. <a href="/static/david/2024/2024-05-10-aurore-boreale.jpg"
  163. title="Cliquer pour une version haute résolution">
  164. <img
  165. src="/static/david/2024/2024-05-10-aurore-boreale.jpg"
  166. width="3840" height="2560"
  167. srcset="/static/david/2024/2024-05-10-aurore-boreale.jpg 3840w, /static/david/2024/2024-05-10-aurore-boreale_660x440.jpg 660w, /static/david/2024/2024-05-10-aurore-boreale_990x660.jpg 990w, /static/david/2024/2024-05-10-aurore-boreale_1320x880.jpg 1320w"
  168. sizes="min(100vw, calc(100vh * 3840 / 2560))"
  169. loading="lazy"
  170. decoding="async"
  171. alt="Une aurore boréale depuis Montréal.">
  172. </a>
  173. <figcaption>La première photo, avec beaucoup d’ISO et une grande ouverture, à main levée, tout ce qu’il ne fallait&nbsp;pas…</figcaption>
  174. </figure>
  175. <p>Pendant plus d’une heure, on profite d’être au milieu de tous ces échanges magnétiques. Je remercie le soleil d’avoir pété un bon coup et la lune d’être restée discrète ce soir là. La lumière est tellement exceptionnelle, on se sent au milieu de l’aurore —&nbsp;ce qui fait des photos moins spectaculaires, ça devient une expérience à vivre. Rétrospectivement, la première vague était vraiment la plus contrastée et&nbsp;magnifique.</p>
  176. <p>23h19&nbsp;: On rentre finalement car les enfants ont eu une rude journée et ne tiennent plus le coup. J’ai la banane, de trop nombreuses fois j’ai espéré me réveiller en pleine nuit l’hiver dans la forêt pour observer ce phénomème, je ne pensais vraiment pas que ça allait être possible entouré de pollution lumineuse… et surtout de pouvoir le faire avec l’enfant encore&nbsp;éveillé&#8239;!</p>
  177. <p>16h50 (lendemain)&nbsp;: Je rédige ce billet après avoir développé les photos et publié une <a data-link-domain="media.larlet.fr" href="https://media.larlet.fr/2024-05-aurores-01.html">galerie dédiée</a>. J’ai un petit souci éthique au développement car il est très facile de pousser les curseurs des couleurs pour que ça fasse un effet très éloigné du réel. J’essaye de rester raisonnable tout en sachant que chaque moniteur affichera ses propres couleurs de toute façon. Les particules colorées qui ont atteint mon cœur ce soir là ne sont pas prêtes de s’estomper, je me sens encore&nbsp;euphorique.</p>
  178. <nav>
  179. <p>
  180. <a href="/david/2024/enthousiasme/"
  181. title="Liste de tous les articles 2024 associés à cette étiquette"
  182. rel="tag">#enthousiasme</a>
  183. <a href="/david/2024/parentalite/"
  184. title="Liste de tous les articles 2024 associés à cette étiquette"
  185. rel="tag">#parentalité</a>
  186. <a href="/david/2024/photographie/"
  187. title="Liste de tous les articles 2024 associés à cette étiquette"
  188. rel="tag">#photographie</a>
  189. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  190. </p>
  191. </nav>
  192. <nav>
  193. <p>
  194. <a rel="prev"
  195. href="/david/2024/05/05/"
  196. title="Publication précédente : Jour 2">← Précédent</a> •
  197. <a href="/david/2024/" title="Liste des publications récentes">↑ En 2024</a>
  198. • <a rel="next"
  199. href="/david/2024/05/12/"
  200. title="Publication suivante : Alien">Suivant →</a>
  201. </p>
  202. </nav>
  203. <form action="/david/recherche/" method="get">
  204. <fieldset>
  205. <legend>Recherche</legend>
  206. <label for="input-search">Termes de votre recherche :</label>
  207. <input id="input-search" type="search" name="s" aria-describedby="indexation-infos" required>
  208. <input type="submit" value="Chercher">
  209. <p id="indexation-infos">
  210. <small>
  211. Seuls les contenus de ces 8 dernières années sont indexés.
  212. </small>
  213. </p>
  214. </fieldset>
  215. </form>
  216. <aside>
  217. <theme-toggle></theme-toggle>
  218. </aside>
  219. </article>
  220. <hr>
  221. <footer>
  222. <p>
  223. <a href="/david/" title="Aller à l’accueil">Accueil</a>
  224. <a href="/david/log/" title="Accès au flux RSS">Suivre</a>
  225. <a href="http://larlet.com"
  226. title="Go to my English profile"
  227. data-instant>Pro</a>
  228. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">Email</a>
  229. <abbr title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">Légal</abbr>
  230. </p>
  231. <template id="theme-selector">
  232. <form>
  233. <style type="text/css">
  234. fieldset div {
  235. text-align: center;
  236. }
  237. </style>
  238. <fieldset>
  239. <legend>Thème</legend>
  240. <div>
  241. <label>
  242. <input type="radio" value="auto" name="chosen-color-scheme" checked>
  243. Auto
  244. </label>
  245. <label>
  246. <input type="radio" value="dark" name="chosen-color-scheme">
  247. Foncé
  248. </label>
  249. <label>
  250. <input type="radio" value="light" name="chosen-color-scheme">
  251. Clair
  252. </label>
  253. </div>
  254. </fieldset>
  255. </form>
  256. </template>
  257. </footer>
  258. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  259. <script>
  260. class ThemeToggle extends HTMLElement {
  261. constructor() {
  262. super()
  263. const themeSelectorTemplate = document.querySelector('#theme-selector')
  264. const form = themeSelectorTemplate.content.firstElementChild
  265. this.attachShadow({ mode: 'open' })
  266. this.shadowRoot.appendChild(form.cloneNode(true))
  267. }
  268. connectedCallback() {
  269. const form = this.shadowRoot.querySelector('form')
  270. form.addEventListener('change', (e) => {
  271. const chosenColorScheme = e.target.value
  272. localStorage.setItem('theme', chosenColorScheme)
  273. toggleTheme(chosenColorScheme)
  274. })
  275. const selectedTheme = localStorage.getItem('theme')
  276. if (selectedTheme && selectedTheme !== 'undefined') {
  277. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  278. }
  279. }
  280. }
  281. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  282. window.addEventListener('load', () => {
  283. let colorsLayer = undefined
  284. let hasDarkRules = false
  285. for (const styleSheet of Array.from(document.styleSheets)) {
  286. let mediaRules = []
  287. for (const layerRule of styleSheet.cssRules) {
  288. if (!(layerRule instanceof CSSLayerBlockRule)) {
  289. continue
  290. }
  291. if (layerRule.name === 'colors') {
  292. colorsLayer = layerRule
  293. }
  294. for (const cssRule of layerRule.cssRules) {
  295. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  296. continue
  297. }
  298. // WARNING: Safari does not have/supports `conditionText`.
  299. if (cssRule.conditionText) {
  300. if (cssRule.conditionText !== prefersColorSchemeDark) {
  301. continue
  302. }
  303. } else {
  304. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  305. continue
  306. }
  307. }
  308. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  309. }
  310. }
  311. // WARNING: do not try to insert a Rule to a styleSheet you are
  312. // currently iterating on, otherwise the browser will be stuck
  313. // in a infinite loop…
  314. for (const mediaRule of mediaRules) {
  315. // Safari requires the `0` second parameter (even if default).
  316. colorsLayer.insertRule(mediaRule.cssText, 0)
  317. hasDarkRules = true
  318. }
  319. }
  320. if (hasDarkRules) {
  321. if ('customElements' in window && !customElements.get('theme-toggle')) {
  322. customElements.define('theme-toggle', ThemeToggle)
  323. }
  324. }
  325. })
  326. </script>
  327. <script src="/static/david/js/popper-2.11.8.min.js"></script>
  328. <script src="/static/david/js/tippy-bundle-6.3.7.umd.min.js"></script>
  329. <script>
  330. tippy('[data-tippy]', {
  331. content(reference) {
  332. reference.addEventListener('click', (e) => e.preventDefault())
  333. return `
  334. <h3 lang="fr">
  335. <img src="${reference.dataset.favicon}" loading="lazy">
  336. <a href="${reference.dataset.source}"
  337. >Article sur ${reference.dataset.domain}</a></h3>
  338. <p lang="${reference.hreflang}"><em>${reference.dataset.description}</em></p>
  339. <div class="tippy-links" lang="fr">
  340. <a href="${reference.href}">Archive au ${reference.dataset.date}</a>
  341. </div>
  342. `
  343. },
  344. allowHTML: true,
  345. interactive: true,
  346. delay: [150, 700],
  347. hideOnClick: false
  348. })
  349. </script>
  350. <script type="module">
  351. import { annotate } from '/static/david/js/rough-notation-0.5.1.esm.min.js'
  352. const markObserver = new IntersectionObserver((entries, observer) => {
  353. const computedStyle = getComputedStyle(document.documentElement)
  354. const markBackground = computedStyle.getPropertyValue('--mark-background')
  355. for (const entry of entries) {
  356. if (entry.intersectionRatio === 0) continue
  357. const markElement = entry.target
  358. markElement.style.backgroundColor = 'inherit'
  359. const annotation = annotate(
  360. markElement, {
  361. type: 'highlight',
  362. multiline: true,
  363. color: markBackground,
  364. // animate: !window.matchMedia('(prefers-reduced-motion: reduce)').matches
  365. animate: false
  366. }
  367. )
  368. annotation.show()
  369. observer.unobserve(markElement)
  370. }
  371. }, {threshold: 1.0})
  372. for (const markElement of document.querySelectorAll('mark')) {
  373. markObserver.observe(markElement)
  374. }
  375. </script>
  376. </body>
  377. </html>