A place to cache linked articles (think custom and personal wayback machine)
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

index.html 25KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265
  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>« On avait raison » : chez les complotistes, l’art du triomphalisme sélectif (archive) — David Larlet</title>
  13. <meta name="description" content="Publication mise en cache pour en conserver une trace.">
  14. <!-- That good ol' feed, subscribe :). -->
  15. <link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
  16. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  17. <link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
  18. <link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
  19. <link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
  20. <link rel="manifest" href="/static/david/icons2/site.webmanifest">
  21. <link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
  22. <link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
  23. <meta name="msapplication-TileColor" content="#f7f7f7">
  24. <meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
  25. <meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
  26. <meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
  27. <!-- Documented, feel free to shoot an email. -->
  28. <link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
  29. <!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
  30. <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>
  31. <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>
  32. <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>
  33. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  34. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  35. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  36. <script>
  37. function toggleTheme(themeName) {
  38. document.documentElement.classList.toggle(
  39. 'forced-dark',
  40. themeName === 'dark'
  41. )
  42. document.documentElement.classList.toggle(
  43. 'forced-light',
  44. themeName === 'light'
  45. )
  46. }
  47. const selectedTheme = localStorage.getItem('theme')
  48. if (selectedTheme !== 'undefined') {
  49. toggleTheme(selectedTheme)
  50. }
  51. </script>
  52. <meta name="robots" content="noindex, nofollow">
  53. <meta content="origin-when-cross-origin" name="referrer">
  54. <!-- Canonical URL for SEO purposes -->
  55. <link rel="canonical" href="https://www.lemonde.fr/les-decodeurs/article/2021/04/25/on-avait-raison-chez-les-complotistes-l-art-du-triomphalisme-selectif_6077975_4355770.html">
  56. <body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">
  57. <article>
  58. <header>
  59. <h1>« On avait raison » : chez les complotistes, l’art du triomphalisme sélectif</h1>
  60. </header>
  61. <nav>
  62. <p class="center">
  63. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  64. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
  65. </svg> Accueil</a> •
  66. <a href="https://www.lemonde.fr/les-decodeurs/article/2021/04/25/on-avait-raison-chez-les-complotistes-l-art-du-triomphalisme-selectif_6077975_4355770.html" title="Lien vers le contenu original">Source originale</a>
  67. </p>
  68. </nav>
  69. <hr>
  70. <figure class="article__media"> <img src="https://img.lemde.fr/2021/04/06/0/0/5284/2972/664/0/75/0/b0a0495_30a763a8119d45c88c99c73f9cf1697e-3f0d843b30c44925b388fe71df889f29-0.jpg" srcset="https://img.lemde.fr/2021/04/06/0/0/5284/2972/1328/0/45/0/b0a0495_30a763a8119d45c88c99c73f9cf1697e-3f0d843b30c44925b388fe71df889f29-0.jpg 1328w, https://img.lemde.fr/2021/04/06/0/0/5284/2972/664/0/75/0/b0a0495_30a763a8119d45c88c99c73f9cf1697e-3f0d843b30c44925b388fe71df889f29-0.jpg 664w" sizes="(min-width: 768px) 664px, 100vw" alt="Un rassemblement antimasques à Salt Lake City, en septembre 2020."> <noscript> <img src="https://img.lemde.fr/2021/04/06/0/0/5284/2972/664/0/75/0/b0a0495_30a763a8119d45c88c99c73f9cf1697e-3f0d843b30c44925b388fe71df889f29-0.jpg" alt="Un rassemblement antimasques à Salt Lake City, en septembre 2020."> </noscript> <figcaption class="article__legend" aria-hidden="true">Un rassemblement antimasques à Salt Lake City, en septembre 2020. <span class="article__credit" aria-hidden="true">RICK BOWMER / AP</span> </figcaption> </figure>
  71. <pre><code>
  72. </code></pre>
  73. <p class="article__paragraph "><em>« Encore une fois, les complotistes avaient raison. »</em> Ces dernières semaines, cette affirmation triomphale est devenue l’un des éléments de langage favoris de la complosphère. Exemples ? <em>« Le passeport vaccinal arrive au Royaume-Uni. C’était une “conspiration</em>” <em>il y a quelques mois »</em>, <a href="https://twitter.com/AldoSterone111/status/1375124178911776773" target="_blank" rel="noopener" title="Nouvelle fenêtre">ironise</a> Aldo Sterone, un influent compte conservateur. <em>« Les “complotistes</em>” <em>avaient raison, depuis longtemps »</em>, <a href="https://twitter.com/etienne_chouard/status/1341157415757246465?lang=fr" target="_blank" rel="noopener" title="Nouvelle fenêtre">corrobore</a> le sulfureux blogueur Etienne Chouard. <em>« </em>Le Figaro<em> vire complotiste »</em>, <a href="https://www.lelibrepenseur.org/saturation-des-lits-de-reanimation-le-figaro-vire-complotiste/" target="_blank" rel="noopener" title="Nouvelle fenêtre">jubile le blog</a> Le Libre Penseur, qui estime que le quotidien national confirme un de ses billets.</p>
  74. <pre><code>
  75. </code></pre>
  76. <p class="article__paragraph ">Accidents vaccinaux, réhabilitation de la thèse du virus sorti d’un laboratoire, ou encore élaboration d’un passeport sanitaire : tous ces événements ont été interprétés comme des signaux que leur contre-discours conspirationniste était dans le vrai. En toile de fond, une conception très politique et noire de la réalité : le gouvernement œuvrerait secrètement à tuer les libertés, et les laboratoires pharmaceutiques à vendre des produits dangereux.</p>
  77. <pre><code>
  78. </code></pre>
  79. <p id="inread-2" class="dfp-slot dfp__slot dfp__inread dfp-unloaded" data-format="inread" aria-hidden="true"></p>
  80. <pre><code>
  81. </code></pre>
  82. <p class="article__paragraph "><em>« C’est un classique des complotistes »</em>, témoigne Stéphane, dit Aclès, pilier repenti de la sphère covidosceptique :</p>
  83. <pre><code>
  84. </code></pre>
  85. <p class="article__cite"><em>« J’ai déjà vu ces affirmations, mais c’était des trucs faux, genre sur les variants, sur les traitements, etc.</em> <em>[Ils affirment que] “les complotistes avaient raison” alors qu’en fait, les articles ne disent absolument pas ce qu’ils disent. C’était déformé. Mais ça me confortait dans l’idée qu’il y avait un complot, cela validait mes certitudes. » </em></p>
  86. <pre><code>
  87. </code></pre>
  88. <h2 class="article__sub-title">Arrangements avec les faits</h2>
  89. <pre><code>
  90. </code></pre>
  91. <p class="article__paragraph ">Dans le détail, cette rhétorique s’autorise en effet certaines libertés avec les faits. Par exemple sur l’existence du passeport. <a href="https://www.bfmtv.com/economie/economie-social/union-europeenne/voyages-le-passe-sanitaire-ce-n-est-pas-un-passe-vaccinal-assure-pannier-runacher_AV-202104160110.html" target="_blank" rel="noopener" title="Nouvelle fenêtre">Conviée sur BFM-TV</a>, Agnès Pannier-Runacher, ministre déléguée chargée de l’industrie, a insisté sur le fait qu’il s’agissait d’un passeport sanitaire au sens large, et non d’un passeport vaccinal, car <em>« ce n’est pas seulement le vaccin qui est pris en compte, c’est le fait de prouver que l’on est protégé et que l’on protège des autres »</em>. La présentation d’un test négatif ou une immunité liée à une précédente infection peuvent ainsi suffire.</p>
  92. <pre><code>
  93. </code></pre>
  94. <p class="article__paragraph ">De même, pour les effets secondaires et les décès liés aux vaccins. Ces drames humains très médiatisés demeurent extrêmement rares : de l’ordre <a href="https://www.lemonde.fr/planete/article/2021/04/19/neuf-nouveaux-cas-de-thromboses-atypiques-lies-au-vaccin-d-astrazeneca_6077281_3244.html#xtor=AL-32280270-%5Btwitter%5D-%5Bios%5D">d’un cas tous les 3 millions</a> pour AstraZeneca, alors que le risque de mourir du Covid-19 est de 100 pour un million chez une personne ayant entre 55 à 59 ans.</p>
  95. <pre><code>
  96. </code></pre>
  97. <p id="inread-7" class="dfp-slot dfp__slot dfp__inread dfp-unloaded" data-format="inread" aria-hidden="true"></p>
  98. <pre><code>
  99. </code></pre>
  100. <p class="article__paragraph ">La balance bénéfice-risque reste donc largement positive. Pour Marie-Antoinette Sevestre-Pietri, présidente de la Société française de médecine vasculaire, <a href="https://www.leparisien.fr/societe/sante/thromboses-liees-a-la-vaccination-a-terme-il-faudra-probablement-se-passer-des-vaccins-a-adenovirus-17-04-2021-GX77O24CQNDZVPD2UHOQSJJRMQ.php?xtor=AD-366" target="_blank" rel="noopener" title="Nouvelle fenêtre">interrogée par <em>Le Parisien</em></a>, <em>« il est important de rassurer ; la fréquence des thromboses post-vaccination est beaucoup plus faible que celle en population générale ». </em>Chez les personnes hospitalisées, le Covid-19 provoque d’ailleurs des thromboses dans 8 % des cas.</p>
  101. <pre><code>
  102. </code></pre>
  103. <blockquote class="article__catchphrase"> <p class="article__quote">« Il est impossible de déterminer si le SARS-CoV-2 est le résultat d’une émergence zoonotique naturelle ou d’une fuite accidentelle »</p> </blockquote>
  104. <pre><code>
  105. </code></pre>
  106. <p class="article__paragraph ">Quant à l’origine du virus, si la piste du laboratoire chinois de Wuhan n’est plus écartée avec autant de vigueur qu’au printemps 2020, aucune certitude n’existe. <em>« Sur la base des données actuellement disponibles, il est impossible de déterminer si le SARS-CoV-2 est le résultat d’une émergence zoonotique naturelle ou d’une fuite accidentelle depuis des souches expérimentales »</em>, concluait une étude de phylogénétique française <a href="https://pubmed.ncbi.nlm.nih.gov/33558807/" target="_blank" rel="noopener" title="Nouvelle fenêtre">publiée en février 2021</a>. La revue<em> Scientific American</em> <a href="https://www.scientificamerican.com/article/its-much-more-likely-the-coronavirus-came-from-wildlife-not-a-lab1/?amp;text=It%27s" target="_blank" rel="noopener" title="Nouvelle fenêtre">ajoute</a> que le nombre et la rapidité de ses mutations depuis sa découverte accrédite plutôt la thèse d’un virus sauvage. L’Organisation mondiale de la santé (OMS) a jugé que la thèse d’un accident de laboratoire était <em>« extrêmement improbable »</em>, mais l’opacité des autorités chinoises et leur opposition à une enquête indépendante <a href="https://www.huffingtonpost.fr/entry/origine-du-covid-pourquoi-la-these-de-la-fuite-dun-labo-extremement-improbable-necessite-justement-une-enquete_fr_60634524c5b6d5b7a693258c" target="_blank" rel="noopener" title="Nouvelle fenêtre">entretient</a> toutefois le soupçon.</p>
  107. <pre><code>
  108. </code></pre>
  109. <h2 class="article__sub-title">« Ce qui intéresse, c’est l’euphorie d’avoir eu raison »</h2>
  110. <pre><code>
  111. </code></pre>
  112. <p class="article__paragraph ">Pour autant, ces arrangements qui relèvent du détail ou de la nuance montrent que le complotisme moderne n’a plus grand-chose à voir avec les thèses loufoques d’antan. Il se nourrit désormais d’une zone grise incertaine et complexe, qui le rend plus dur à contredire. <em>« Il n’y a plus de chercheur ni de journaliste qui peut prétendre tracer une frontière étanche entre ce qui relève du conspirationnisme et ce qui n’en est pas », </em>regrette Emmanuelle Danblon,<em> </em>professeure de rhétorique et d’argumentation à l’Université libre de Bruxelles<em>. </em></p>
  113. <pre><code>
  114. </code></pre>
  115. <p class="article__cite"><em>« Le platisme et les reptiliens, c’est folklorique, mais aujourd’hui, la différence entre l’esprit critique nécessaire en démocratie et le complotisme est impossible à [appréhender]. » </em></p>
  116. <pre><code>
  117. </code></pre>
  118. <p class="article__paragraph ">Pour autant, ce type de discours ne relève pas de l’évaluation objective de la réalité, précise-t-elle, mais d’une jouissance très narcissique :</p>
  119. <pre><code>
  120. </code></pre>
  121. <p class="article__cite"><em>« Il y a un effet de dévoilement lié à la réalisation d’une prédiction, qui produit une forme de jubilation n’ayant pas grand-chose à voir avec la vérité. Car ce qui intéresse les complotistes, c’est l’euphorie d’avoir eu raison, d’avoir été prophétique. Il faut séparer ce sentiment des discussions scientifiques en cours, qui sont légitimes en démocratie. »</em></p>
  122. <pre><code>
  123. </code></pre>
  124. <h2 class="article__sub-title">« En public, les complotistes sont toujours dans la certitude »</h2>
  125. <pre><code>
  126. </code></pre>
  127. <p class="article__paragraph ">Au fond, ces discours triomphalistes relèvent le plus souvent d’un combat militant. Ils s’appuient d’ailleurs volontiers sur des articles de vérification vieux de plusieurs mois, rendus partiellement ou totalement obsolètes par les avancées politiques, sanitaires ou scientifiques. Ainsi de <a href="https://www.francetvinfo.fr/sante/maladie/coronavirus/coronavirus-non-il-nest-pas-prevu-quun-vaccin-soit-obligatoire-pour-obtenir-un-visa-schengen_3927329.html" target="_blank" rel="noopener" title="Nouvelle fenêtre">cette vérification de France Info</a> d’avril 2020, établissant qu’il n’était <em>« pas prévu qu’un vaccin soit obligatoire pour obtenir un visa Schengen »</em>, trahi aujourd’hui par les réflexions très officielles de l’Union européenne sur un passe sanitaire. Ou de <a href="https://www.lemonde.fr/les-decodeurs/article/2020/07/21/coronavirus-non-les-tests-pcr-ne-mettent-pas-le-cerveau-en-danger_6046826_4355770.html" target="_blank" rel="noopener" title="Nouvelle fenêtre">cet article des Décodeurs</a> de juillet 2020 affirmant qu’un prélèvement par un écouvillon, lors d’un test PCR, ne franchit pas la barrière hématoencéphalique, que des internautes estiment depuis <a href="https://www.lemonde.fr/planete/article/2021/04/08/covid-19-les-tests-naso-pharynges-ne-sont-pas-sans-risque-previent-l-academie-de-medecine_6076072_3244.html" target="_blank" rel="noopener" title="Nouvelle fenêtre">contredit</a> par un <a href="https://www.academie-medecine.fr/les-prelevements-nasopharynges-ne-sont-pas-sans-risque/" target="_blank" rel="noopener" title="Nouvelle fenêtre">communiqué de l’Académie de médecine du 8 avril 2021</a> relatant quelques rares incidents.</p>
  128. <pre><code>
  129. </code></pre>
  130. <blockquote class="article__catchphrase"> <p class="article__quote">Francis Lalanne invite à (…) puiser dans les « archives qui s’avèrent fausses »</p> </blockquote>
  131. <pre><code>
  132. </code></pre>
  133. <p class="article__paragraph ">Des cibles de prédilection pour les conspirationnistes, comme l’illustre le chanteur Francis Lalanne, <a href="https://twitter.com/OffLalanne/status/1384434214922293248" target="_blank" rel="noopener" title="Nouvelle fenêtre">invitant ses 10 000 abonnés</a> à sortir <em>« les fake news des médias »</em> en puisant dans les <em>« archives qui s’avèrent fausses »</em>. L’intéressé n’a pas donné suite aux demandes d’entretien du <em>Monde</em>.<em> « C’est bénéfique qu’il fasse des tweets du genre, car l’argument est assez faible, et montre sa mauvaise foi »,</em> estime Samuel Buisseret, alias MrSam, ancien adepte des théories du complot luttant désormais contre leur biais, <a href="https://www.youtube.com/channel/UCh2YBKhYIy-_LtfCIn2Jycg" target="_blank" rel="noopener" title="Nouvelle fenêtre">sur sa chaîne YouTube MrSam</a>.</p>
  134. <pre><code>
  135. </code></pre>
  136. <p class="article__cite">« <em>Nombre de complotistes sont intelligents et de bonne foi, et voient bien que si on fait la même chose avec leurs propres archives, cela fera juste 0-0. »</em></p>
  137. <pre><code>
  138. </code></pre>
  139. <p class="article__paragraph ">De fait, de l’introduction de puces 5G dans les vaccins à la prophétie de l’adoubement de Donald Trump le 20 janvier, en passant par le déni précoce de toute possibilité de deuxième ou de troisième vague épidémique, les exemples d’affirmations conspirationnistes péremptoires ayant fait pschitt ne manquent pas. Mais elles sont passées sous silence désormais, à quelques exceptions près, comme la chaîne QAnon Les DéQodeurs, qui admet s’être trompée pour le 20 janvier. Cela ne l’a pas empêchée de consacrer un live entier, mi-avril, à toutes les évolutions de l’actualité leur ayant donné raison – selon eux.</p>
  140. <pre><code>
  141. </code></pre>
  142. <h2 class="article__sub-title">Une posture</h2>
  143. <pre><code>
  144. </code></pre>
  145. <p class="article__paragraph ">Plus en profondeur, le discours selon lequel les complotistes auraient raison depuis le début relève en fait d’une posture, estime Emmanuelle Danblon. <em>« Ils construisent un éthos, c’est-à-dire une manière de se présenter en public, qui consiste à toujours être dans la certitude, ne jamais douter</em>. <em>En période de pandémie, c’est très rassurant, et il y a un jeu de miroir inversé envers ceux qui aident à développer l’esprit critique, les scientifiques, les journalistes. Ils nous présentent comme démunis. C’est difficile à accepter, mais il le faut. » </em></p>
  146. <pre><code>
  147. </code></pre>
  148. <blockquote class="article__catchphrase"> <p class="article__quote">« C’est la construction du raisonnement et la preuve qui doivent servir de juge de paix »</p> </blockquote>
  149. <pre><code>
  150. </code></pre>
  151. <p class="article__paragraph ">A travers ce discours, c’est aussi la question de la rigueur du raisonnement scientifique qui se pose. Car même quand un énoncé complotiste finit par être avéré, ce qui peut arriver, cela nous renseigne-t-il vraiment sur une capacité à analyser le réel ? <em>« Au tir à l’arc, on peut atteindre la cible par hasard, comme on peut être un excellent archer et rater le mille. Ce qui est important ce n’est pas le résultat, mais la méthode », </em>résume Samuel Buisseret.<em> </em>Et de donner l’exemple de ce bot (logiciel) Twitter, qui, au milieu de centaines de prédictions générées aléatoirement et toutes erronées, <a href="https://www.albawaba.com/loop/debunked-how-twitter-bot-predicted-paris-attacks-768624" target="_blank" rel="noopener" title="Nouvelle fenêtre">avait « prédit »</a> les attentats du 13 novembre. C’est la démarche scientifique, la construction du raisonnement et la preuve qui doivent servir de juge de paix, explique M. Buisseret.</p>
  152. <pre><code>
  153. </code></pre>
  154. <p id="inread-25" class="dfp-slot dfp__slot dfp__inread dfp-unloaded" data-format="inread" aria-hidden="true"></p>
  155. <pre><code>
  156. </code></pre>
  157. <p class="article__paragraph ">Ce <em>« monstre qui sourit à notre porte »</em>, comme surnomme le complotisme M<sup>me</sup> Danblon, a ainsi quelque chose à nous apprendre ou nous rappeler. <em>« Il ne faut pas opposer des faibles, des imbéciles, à des malins, des courageux qui résisteraient au non-sens. C’est une fable que l’on se raconte pour se rassurer. » </em>Le complotisme est plutôt un miroir de nos propres tentations :</p>
  158. <pre><code>
  159. </code></pre>
  160. <p class="article__cite"><em>« La science alimente elle aussi la machine à interprétation que nous sommes. Nous formulons des hypothèses, nous donnons du sens aux événements, et dans ce premier mouvement, nous sommes tous conspirationnistes. La différence, c’est que l’on essaie de mettre ces thèses au défi de la réalité, pour vérifier que l’on ne s’est pas trompé. »</em></p>
  161. <pre><code>
  162. </code></pre>
  163. <p class="article__paragraph ">Le complotisme a ainsi rarement raison pour de bonnes raisons. Sauf quand il nous rappelle l’importance de savoir avoir tort.</p>
  164. </article>
  165. <hr>
  166. <footer>
  167. <p>
  168. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  169. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
  170. </svg> Accueil</a> •
  171. <a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
  172. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-rss2"></use>
  173. </svg> Suivre</a> •
  174. <a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
  175. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-user-tie"></use>
  176. </svg> Pro</a> •
  177. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
  178. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-mail"></use>
  179. </svg> Email</a> •
  180. <abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
  181. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-hammer2"></use>
  182. </svg> Légal</abbr>
  183. </p>
  184. <template id="theme-selector">
  185. <form>
  186. <fieldset>
  187. <legend><svg class="icon icon-brightness-contrast">
  188. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-brightness-contrast"></use>
  189. </svg> Thème</legend>
  190. <label>
  191. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  192. </label>
  193. <label>
  194. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  195. </label>
  196. <label>
  197. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  198. </label>
  199. </fieldset>
  200. </form>
  201. </template>
  202. </footer>
  203. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  204. <script>
  205. function loadThemeForm(templateName) {
  206. const themeSelectorTemplate = document.querySelector(templateName)
  207. const form = themeSelectorTemplate.content.firstElementChild
  208. themeSelectorTemplate.replaceWith(form)
  209. form.addEventListener('change', (e) => {
  210. const chosenColorScheme = e.target.value
  211. localStorage.setItem('theme', chosenColorScheme)
  212. toggleTheme(chosenColorScheme)
  213. })
  214. const selectedTheme = localStorage.getItem('theme')
  215. if (selectedTheme && selectedTheme !== 'undefined') {
  216. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  217. }
  218. }
  219. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  220. window.addEventListener('load', () => {
  221. let hasDarkRules = false
  222. for (const styleSheet of Array.from(document.styleSheets)) {
  223. let mediaRules = []
  224. for (const cssRule of styleSheet.cssRules) {
  225. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  226. continue
  227. }
  228. // WARNING: Safari does not have/supports `conditionText`.
  229. if (cssRule.conditionText) {
  230. if (cssRule.conditionText !== prefersColorSchemeDark) {
  231. continue
  232. }
  233. } else {
  234. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  235. continue
  236. }
  237. }
  238. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  239. }
  240. // WARNING: do not try to insert a Rule to a styleSheet you are
  241. // currently iterating on, otherwise the browser will be stuck
  242. // in a infinite loop…
  243. for (const mediaRule of mediaRules) {
  244. styleSheet.insertRule(mediaRule.cssText)
  245. hasDarkRules = true
  246. }
  247. }
  248. if (hasDarkRules) {
  249. loadThemeForm('#theme-selector')
  250. }
  251. })
  252. </script>
  253. </body>
  254. </html>