Repository with sources and generator of https://larlet.fr/david/ https://larlet.fr/david/
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

index.html 14KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  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. Étiquette #cinéma
  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="Publications relatives au tag #cinéma">
  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. details[open] summary {
  109. display: none;
  110. }
  111. </style>
  112. <body data-instant-intensity="viewport-all">
  113. <article>
  114. <header>
  115. <hgroup>
  116. <h1>#cinéma</h1>
  117. <p>Publications relatives à cette étiquette</p>
  118. </hgroup>
  119. </header>
  120. <nav>
  121. <p>
  122. <a href="/david/" title="Aller à l’accueil">
  123. Accueil</a>
  124. <a rel="tags"
  125. href="/david/2024/#tags"
  126. title="Liste de toutes les étiquettes">
  127. Étiquettes</a>
  128. <a href="/david/recherche/" title="Aller à la page de recherche" rel="search" data-no-instant>Recherche</a>
  129. <a href="/david/log/" title="Accès au flux RSS">Suivre</a>
  130. </p>
  131. </nav>
  132. <h2>
  133. <a href="/david/2024/03/10/" title="Lien permanent vers cet article">Dune</a> <time datetime="2024-03-10">10 mars 2024</time>
  134. </h2>
  135. <p>Je crois bien n’être allé que 3&nbsp;fois dans une salle de cinéma ces 10&nbsp;dernières années. Et puis l’occasion s’est présentée, sans prévenir, aujourd’hui. J’avais <a href="/david/2021/10/18/">quelques retenues sur la première partie</a> mais j’attendais quand même avec impatience la suite. Et j’avais réussi à ne pas trop regarder les bandes annonces, ni les&nbsp;critiques.</p>
  136. <p><em>Note&nbsp;: ça va forcément divulgâcher un peu dans la&nbsp;suite.</em></p>
  137. <p>L’adaptation est bonne, le défi était de taille et —&nbsp;en dépit des quelques ajustements qui piquent un peu le <em>fan</em> que je suis (surtout vers la fin&#8239;!)&nbsp;— la scénarisation est cohérente. Ce qui n’était pas une mince affaire car encore une fois la temporalité n’est pas évidente et rendre l’évolution des personnages visible avec tout ce qui est censé se passer dans leur tête requiert des redéfinitions et des&nbsp;raccourcis.</p>
  138. <p>Mon erreur a probablement été de choisir de l’IMAX alors que c’était Hans “<a data-link-domain="20k.org" href="https://www.20k.org/episodes/boojstrikesback">booj</a>” Zimmer aux platines. Autant dire que le siège a vibré la moitié du film&#8239;! Au-delà de la bande originale, le son a vraiment été travaillé mais je crois que c’était un peu trop pour mes vieilles oreilles plus vraiment adaptées à de tels volumes. Il y a des moments où j’ai même trouvé que ça altérait la compréhension des dialogues… j’avais un peu l’impression de me noyer dans la volonté im·mer·sive alors que l’on est en plein désert. Je doute de retourner dans une salle de si&nbsp;tôt.</p>
  139. <p>Tout ce qui tourne autour des vers est bien fait, j’avais toujours eu du mal à me faire ma propre représentation des tailles et interactions à la lecture et là ça me semble être respecté / réaliste. Idem pour les <em>Sietchs</em>, c’est fidèle à la projection mentale que je pouvais m’en faire, même si l’on n’en voit pas grand chose au final. J’ai particulièrement apprécié le choix de faire une <em>Chani</em> forte qui est davantage consciente des enjeux et des répercutions. La jalousie aurait mérité d’être plus subtile, la différence entre la femme (politique) de Paul et sa compagne (amoureuse) est vraiment explicite dans le&nbsp;livre.</p>
  140. <p>Paul Muad’dib perd un peu trop d’eau à mon goût au cours de nombreuses scènes. Il était probablement plus difficile de transmettre des émotions&nbsp;sèches&nbsp;(?).</p>
  141. <p>Pour finir sur une note positive, l’image bien sûr. C’est à la limite du trop <em>et</em> c’est magnifique au niveau des différents tableaux qui s’enchaînent avec leurs propres couleurs, cinématiques et points de vues. On sent le travail de recherche sans qu’il ne devienne complètement distrayant. J’y serai d’autant plus attentif lors d’un second visionnage, chez moi, en choisissant le volume&nbsp;sonore.</p>
  142. <p>Je ne vois pas comment est-ce qu’il ne pourrait pas y avoir une troisième partie. À voir comment / si ça raccroche les wagons des livres. J’aurais presque envie que ça explore sa propre branche. <em>Dune&nbsp;multi·vers·e&#8239;!</em></p>
  143. <nav>
  144. <p>
  145. <a href="/david/2024/adaptation/"
  146. title="Liste de tous les articles 2024 associés à cette étiquette"
  147. rel="tag">#adaptation</a>
  148. <a href="/david/2024/cinema/"
  149. title="Liste de tous les articles 2024 associés à cette étiquette"
  150. rel="tag">#cinéma</a>
  151. <a href="/david/2024/lecture/"
  152. title="Liste de tous les articles 2024 associés à cette étiquette"
  153. rel="tag">#lecture</a>
  154. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  155. </p>
  156. </nav>
  157. <form action="/david/recherche/" method="get">
  158. <fieldset>
  159. <legend>Recherche</legend>
  160. <label for="input-search">Termes de votre recherche :</label>
  161. <input id="input-search" type="search" name="s" aria-describedby="indexation-infos" required>
  162. <input type="submit" value="Chercher">
  163. <p id="indexation-infos">
  164. <small>
  165. Seuls les contenus de ces 8 dernières années sont indexés.
  166. </small>
  167. </p>
  168. </fieldset>
  169. </form>
  170. <aside>
  171. <theme-toggle></theme-toggle>
  172. </aside>
  173. </article>
  174. <hr>
  175. <footer>
  176. <p>
  177. <a href="/david/" title="Aller à l’accueil">Accueil</a>
  178. <a href="/david/log/" title="Accès au flux RSS">Suivre</a>
  179. <a href="http://larlet.com"
  180. title="Go to my English profile"
  181. data-instant>Pro</a>
  182. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">Email</a>
  183. <abbr title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">Légal</abbr>
  184. </p>
  185. <template id="theme-selector">
  186. <form>
  187. <style type="text/css">
  188. fieldset div {
  189. text-align: center;
  190. }
  191. </style>
  192. <fieldset>
  193. <legend>Thème</legend>
  194. <div>
  195. <label>
  196. <input type="radio" value="auto" name="chosen-color-scheme" checked>
  197. Auto
  198. </label>
  199. <label>
  200. <input type="radio" value="dark" name="chosen-color-scheme">
  201. Foncé
  202. </label>
  203. <label>
  204. <input type="radio" value="light" name="chosen-color-scheme">
  205. Clair
  206. </label>
  207. </div>
  208. </fieldset>
  209. </form>
  210. </template>
  211. </footer>
  212. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  213. <script>
  214. class ThemeToggle extends HTMLElement {
  215. constructor() {
  216. super()
  217. const themeSelectorTemplate = document.querySelector('#theme-selector')
  218. const form = themeSelectorTemplate.content.firstElementChild
  219. this.attachShadow({ mode: 'open' })
  220. this.shadowRoot.appendChild(form.cloneNode(true))
  221. }
  222. connectedCallback() {
  223. const form = this.shadowRoot.querySelector('form')
  224. form.addEventListener('change', (e) => {
  225. const chosenColorScheme = e.target.value
  226. localStorage.setItem('theme', chosenColorScheme)
  227. toggleTheme(chosenColorScheme)
  228. })
  229. const selectedTheme = localStorage.getItem('theme')
  230. if (selectedTheme && selectedTheme !== 'undefined') {
  231. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  232. }
  233. }
  234. }
  235. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  236. window.addEventListener('load', () => {
  237. let colorsLayer = undefined
  238. let hasDarkRules = false
  239. for (const styleSheet of Array.from(document.styleSheets)) {
  240. let mediaRules = []
  241. for (const layerRule of styleSheet.cssRules) {
  242. if (!(layerRule instanceof CSSLayerBlockRule)) {
  243. continue
  244. }
  245. if (layerRule.name === 'colors') {
  246. colorsLayer = layerRule
  247. }
  248. for (const cssRule of layerRule.cssRules) {
  249. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  250. continue
  251. }
  252. // WARNING: Safari does not have/supports `conditionText`.
  253. if (cssRule.conditionText) {
  254. if (cssRule.conditionText !== prefersColorSchemeDark) {
  255. continue
  256. }
  257. } else {
  258. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  259. continue
  260. }
  261. }
  262. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  263. }
  264. }
  265. // WARNING: do not try to insert a Rule to a styleSheet you are
  266. // currently iterating on, otherwise the browser will be stuck
  267. // in a infinite loop…
  268. for (const mediaRule of mediaRules) {
  269. // Safari requires the `0` second parameter (even if default).
  270. colorsLayer.insertRule(mediaRule.cssText, 0)
  271. hasDarkRules = true
  272. }
  273. }
  274. if (hasDarkRules) {
  275. if ('customElements' in window && !customElements.get('theme-toggle')) {
  276. customElements.define('theme-toggle', ThemeToggle)
  277. }
  278. }
  279. })
  280. </script>
  281. </body>
  282. </html>