Repository with sources and generator of https://larlet.fr/david/ https://larlet.fr/david/
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

index.html 13KB

8ヶ月前
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  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. <style type="text/css">
  106. details[open] summary {
  107. display: none;
  108. }
  109. </style>
  110. <body data-instant-intensity="viewport-all">
  111. <article>
  112. <header>
  113. <hgroup>
  114. <h1>#cinéma</h1>
  115. <p>Publications relatives à cette étiquette</p>
  116. </hgroup>
  117. </header>
  118. <nav>
  119. <p>
  120. <a href="/david/" title="Aller à l’accueil">
  121. Accueil</a>
  122. <a rel="tags"
  123. href="/david/2024/#tags"
  124. title="Liste de toutes les étiquettes">
  125. Étiquettes</a>
  126. <a href="/david/recherche/" title="Aller à la page de recherche" rel="search" data-no-instant>Recherche</a>
  127. <a href="/david/log/" title="Accès au flux RSS">Suivre</a>
  128. </p>
  129. </nav>
  130. <h2>
  131. <a href="/david/2024/03/10/" title="Lien permanent vers cet article">Dune</a> <time datetime="2024-03-10">10 mars 2024</time>
  132. </h2>
  133. <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>
  134. <p><em>Note&nbsp;: ça va forcément divulgâcher un peu dans la&nbsp;suite.</em></p>
  135. <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>
  136. <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>
  137. <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>
  138. <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>
  139. <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>
  140. <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>
  141. <nav>
  142. <p>
  143. <a href="/david/2024/adaptation/"
  144. title="Liste de tous les articles 2024 associés à cette étiquette"
  145. rel="tag">#adaptation</a>
  146. <a href="/david/2024/cinema/"
  147. title="Liste de tous les articles 2024 associés à cette étiquette"
  148. rel="tag">#cinéma</a>
  149. <a href="/david/2024/lecture/"
  150. title="Liste de tous les articles 2024 associés à cette étiquette"
  151. rel="tag">#lecture</a>
  152. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  153. </p>
  154. </nav>
  155. <form action="/david/recherche/" method="get">
  156. <fieldset>
  157. <legend>Recherche</legend>
  158. <label for="input-search">Termes de votre recherche :</label>
  159. <input id="input-search" type="search" name="s" aria-describedby="indexation-infos" required>
  160. <input type="submit" value="Chercher">
  161. <p id="indexation-infos">
  162. <small>
  163. Seuls les contenus de ces 8 dernières années sont indexés.
  164. </small>
  165. </p>
  166. </fieldset>
  167. </form>
  168. <aside>
  169. <theme-toggle></theme-toggle>
  170. </aside>
  171. </article>
  172. <hr>
  173. <footer>
  174. <p>
  175. <a href="/david/" title="Aller à l’accueil">Accueil</a>
  176. <a href="/david/log/" title="Accès au flux RSS">Suivre</a>
  177. <a href="http://larlet.com"
  178. title="Go to my English profile"
  179. data-instant>Pro</a>
  180. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">Email</a>
  181. <abbr title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">Légal</abbr>
  182. </p>
  183. <template id="theme-selector">
  184. <form>
  185. <style type="text/css">
  186. fieldset div {
  187. text-align: center;
  188. }
  189. </style>
  190. <fieldset>
  191. <legend>Thème</legend>
  192. <div>
  193. <label>
  194. <input type="radio" value="auto" name="chosen-color-scheme" checked>
  195. Auto
  196. </label>
  197. <label>
  198. <input type="radio" value="dark" name="chosen-color-scheme">
  199. Foncé
  200. </label>
  201. <label>
  202. <input type="radio" value="light" name="chosen-color-scheme">
  203. Clair
  204. </label>
  205. </div>
  206. </fieldset>
  207. </form>
  208. </template>
  209. </footer>
  210. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  211. <script>
  212. class ThemeToggle extends HTMLElement {
  213. constructor() {
  214. super()
  215. const themeSelectorTemplate = document.querySelector('#theme-selector')
  216. const form = themeSelectorTemplate.content.firstElementChild
  217. this.attachShadow({ mode: 'open' })
  218. this.shadowRoot.appendChild(form.cloneNode(true))
  219. }
  220. connectedCallback() {
  221. const form = this.shadowRoot.querySelector('form')
  222. form.addEventListener('change', (e) => {
  223. const chosenColorScheme = e.target.value
  224. localStorage.setItem('theme', chosenColorScheme)
  225. toggleTheme(chosenColorScheme)
  226. })
  227. const selectedTheme = localStorage.getItem('theme')
  228. if (selectedTheme && selectedTheme !== 'undefined') {
  229. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  230. }
  231. }
  232. }
  233. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  234. window.addEventListener('load', () => {
  235. let colorsLayer = undefined
  236. let hasDarkRules = false
  237. for (const styleSheet of Array.from(document.styleSheets)) {
  238. let mediaRules = []
  239. for (const layerRule of styleSheet.cssRules) {
  240. if (!(layerRule instanceof CSSLayerBlockRule)) {
  241. continue
  242. }
  243. if (layerRule.name === 'colors') {
  244. colorsLayer = layerRule
  245. }
  246. for (const cssRule of layerRule.cssRules) {
  247. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  248. continue
  249. }
  250. // WARNING: Safari does not have/supports `conditionText`.
  251. if (cssRule.conditionText) {
  252. if (cssRule.conditionText !== prefersColorSchemeDark) {
  253. continue
  254. }
  255. } else {
  256. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  257. continue
  258. }
  259. }
  260. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  261. }
  262. }
  263. // WARNING: do not try to insert a Rule to a styleSheet you are
  264. // currently iterating on, otherwise the browser will be stuck
  265. // in a infinite loop…
  266. for (const mediaRule of mediaRules) {
  267. // Safari requires the `0` second parameter (even if default).
  268. colorsLayer.insertRule(mediaRule.cssText, 0)
  269. hasDarkRules = true
  270. }
  271. }
  272. if (hasDarkRules) {
  273. if ('customElements' in window && !customElements.get('theme-toggle')) {
  274. customElements.define('theme-toggle', ThemeToggle)
  275. }
  276. }
  277. })
  278. </script>
  279. </body>
  280. </html>