A place to cache linked articles (think custom and personal wayback machine)
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

index.html 24KB

il y a 3 ans
il y a 3 ans
il y a 3 ans
il y a 3 ans
il y a 3 ans
il y a 3 ans
il y a 3 ans
il y a 3 ans
il y a 3 ans
il y a 3 ans
il y a 3 ans
il y a 3 ans
il y a 3 ans
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  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>L’asymptote du dépressif (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://prototypekblog.wordpress.com/2021/02/25/lasymptote-du-depressif/">
  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>L’asymptote du dépressif</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://prototypekblog.wordpress.com/2021/02/25/lasymptote-du-depressif/" title="Lien vers le contenu original">Source originale</a>
  67. </p>
  68. </nav>
  69. <hr>
  70. <p>J’ai relu des définitions canoniques de la dépression. J’ai retrouvé, par hasard, une brochure estampillée Ministère de la Santé, datée de 2007, probablement chipée sur un présentoir dans un service de médecine du travail, je ne sais plus quand. Elle trainait au fond d’un tiroir. Elle est intitulée : « La dépression : En savoir plus pour en sortir ».</p>
  71. <p>J’ai toujours du mal à me reconnaître comme souffrant de dépression, parce que ces définitions présentent généralement ce mal comme un épisode. Il y a un début, un milieu, une fin. Il y a des causes et des conséquences. Il y a un déclencheur. Il y a un changement, un passage de l’état « non-dépressif » à l’état « dépressif ». Et il y a un autre changement, qui sera le passage de l’état « dépressif » à l’état « non-dépressif ». Le début, comme la fin, peut prendre du temps, mais au bout d’un moment le changement est net. Il y a un « avant », un « pendant », un « après ». Il y a le moment où on tombe, et le moment où on se relève. Il y a la merveilleuse promesse d’une guérison – j’ai envie d’écrire : la promesse d’une rédemption.</p>
  72. <p>Mon expérience est différente, pour ce qu’elle vaut.</p>
  73. <p>Mon expérience de mon mal, c’est que je n’en guéris pas. Pas complètement. Pas définitivement.</p>
  74. <p>Mon expérience, c’est qu’il peut certes y avoir des parenthèses, des rémissions, des apaisements, plus ou moins longs, mais il n’y a pas vraiment eu de début, et il n’y a jamais eu de vraie fin.</p>
  75. <p>C’est principalement pour cela que j’aurai toujours une hésitation, un doute, un scrupule à me définir comme « dépressif ». Je n’utilise ce mot que, comme tant d’autres, faute de mieux.</p>
  76. <blockquote><p>Belbo était désormais un adepte. Comme tout le monde, non par illumination, mais faute de mieux.</p></blockquote>
  77. <h2>Limites</h2>
  78. <p>Je ne sais pas quand était le début.</p>
  79. <p>Je suis incapable de vous dire depuis quand je suis comme ça, périodiquement. Je ne sais pas quand ça a commencé. Je ne sais pas. La <a href="https://wp.me/p2Y5zY-1g7">Grande École</a> ? Évidemment, mes congénères en témoigneront volontiers, mais ça n’a pas commencé là, ça remonte à plus loin. L’adolescence ? Probablement. Un peu avant ? Encore avant ? Depuis toujours ? Est-ce que ce n’était pas déjà programmé avant même que je ne vienne au monde ? Je sais, ça semble absurde, mais il m’est arrivé de réfléchir à une telle hypothèse. Born to gloom.</p>
  80. <p>Je sais qu’il n’y aura pas de fin.</p>
  81. <p>Il n’y a jamais eu de guérison pleine et entière, et il n’y en aura jamais. Je me suis plusieurs fois cru sorti d’affaire, guéri, libéré, délivré ; et j’ai été rattrapé par ma réalité ensuite. J’y ai cru, j’y ai cru très fort. J’ai voulu y croire, j’ai voulu y croire tellement fort. Je n’y crois plus du tout. Il y a des périodes où ça va un peu mieux, il y en a eu, il y en aura d’autres, elles existent, elles peuvent être même assez longues, mais à l’horizon il y aura toujours une rechute. Toujours. La rechute est l’horizon indépassable du dépressif.</p>
  82. <p>Je sais qu’il n’y a pas de limite en bas.</p>
  83. <p>Il n’y a pas de plancher. Il n’y a pas de fond de la piscine, une paroi contre laquelle on peut rebondir. Il m’est arrivé d’être très bas, mais je ne me souviens pas avoir jamais ressenti « toucher le fond ». J’ai juste eu de la chance, ou de la persévérance, ou les deux, et je me suis aperçu a posteriori que j’étais remonté. Je n’ai jamais senti de fond. Plus on est bas, moins on est retenu. Plus on est bas, plus on réalisé à quel point il est facile de descendre encore plus bas. Je pense qu’il n’y a pas de fond. Il n’y a rien qui puisse rattraper un homme qui tombe.</p>
  84. <p>Il m’est arrivé d’être quasiment à l’arrêt, incapable de me lever, plus envie de rien, plus capable de rien – comme c’est souvent décrit dans la littérature spécialisée. Mais je ne suis pas à l’arrêt en ce moment : je me lève tous les matins, je travaille, j’agis, je ne suis pas effondré toute la journée. Les vagues déferlent les unes après les autres, et puis entre les vagues je surnage. Les apparences sont presque sauves. C’est pour ça que je ne peux pas me considérer vraiment comme dépressif. C’est pour ça que je me soupçonne parfois de n’être qu’un imposteur, un faux-dépressif, un simulateur, un enfant gâté qui fait son intéressant, et toutes ces sortes de choses. Je ferais mieux de me taire : tout ça c’est dans ma tête, juste dans ma tête.</p>
  85. <p>Je suis bas, mais pas si bas. Je sais que je pourrais être plus bas. Ce serait peut-être plus cohérent, plus franc, plus lisible. Mais je ne veux pas. Je ne veux pas tomber plus bas. Mais je sais que c’est possible. J’y ai déjà été. Je sais qu’il y a aussi plus bas encore. Je ne veux pas y aller. Je ne veux pas devenir fou, prostré ou dangereux. Je ne veux pas tout ça. Mais ça peut m’arriver. Rien ne s’oppose à la nuit.</p>
  86. <p>Je sais qu’il y a une limite en haut.</p>
  87. <p>Il y a un plafond – un plafond de verre, comme on dit maintenant, invisible, mais bien réel. Ayant quelques vagues souvenirs de mathématiques, j’appelle ça une asymptote. Ça peut aller mieux, ça pourra aller mieux, mais ça n’ira jamais au-delà d’un certain mieux. Ça ne disparaîtra jamais complètement. Ça ne sera jamais complètement oublié, complètement absent des préoccupations. Ça sera toujours là, comme une chaîne, un boulet, un poids. Au pire, ça me tire vers le bas ; au mieux, ça m’empêche d’aller bien haut.</p>
  88. <p>J’appelle ça « l’asymptote du dépressif ». Ce concept n’engage que moi. Ceci n’est qu’un blog. Et cette limite en haut est le sujet de ce billet.</p>
  89. <p>Ce mal, peu importe son nom, je ne m’en débarrasserai jamais. Et une de ses caractéristiques principales, c’est qu’il m’empêchera toujours de dépasser un certain niveau de sérénité, d’épanouissement, de bien-être. Il n’y aura pas de rédemption, jamais. Il n’y aura pas de grands horizons, jamais.</p>
  90. <p>À tout moment, une rechute est possible. Il n’y a pas de limite en bas. Le fond peut être très très bas. Croyez-moi, ces derniers mois, j’ai recommencé à regarder très très loin vers le bas, et je ne souhaite ça à personne.</p>
  91. <p>Je peux toujours espérer une remontée. Je sais que c’est possible. Je lutte perpétuellement pour essayer de remonter. J’ai vécu des belles remontées. Je frissonne quand je pense à la naissance de ma fille. J’ai les larmes aux yeux quand je pense à la séquence qui va du <a href="https://wp.me/p2Y5zY-1lq">printemps 2019</a> à l’<a href="https://wp.me/p2Y5zY-1pT">hiver 2020</a>. J’y ai cru. J’y étais presque. J’ai cru que je pouvais devenir heureux. Je me suis senti tellement mieux. J’ai vu tellement de choses avec des couleurs différentes. Je n’ai pas pris le temps de les écrire, mais je les ressentais. J’ai ressenti tellement de lumière. J’y étais presque. J’y étais presque.</p>
  92. <p>Peut-être y aura-t-il d’autres remontées. Probablement. Sûrement. Tout cela est cyclique. La vie est cyclique. Des jours heureux reviendront. Je remonterai.</p>
  93. <p>Mais je sais, je dois savoir, je ne peux pas ignorer qu’il y a une limite en haut. Une limite infranchissable. Une asymptote. Tout ce qui est au-delà est hors de portée pour moi. Et <a href="https://wp.me/p2Y5zY-W3">la petite bête</a> sera toujours là. Je dois, pour reprendre une terrible expression très à la mode : « vivre avec ». (Parenthèse : Je déteste l’expression « vivre avec » dans le contexte actuel (Covid-19), ça sera le sujet d’un prochain billet. Fin de la parenthèse. )</p>
  94. <h2><a href="https://prototypekblog.files.wordpress.com/2021/02/moins-un-sur-x.jpg"><img loading="lazy" data-attachment-id="6042" data-permalink="https://prototypekblog.wordpress.com/2021/02/25/lasymptote-du-depressif/moins-un-sur-x/" data-orig-file="https://prototypekblog.files.wordpress.com/2021/02/moins-un-sur-x.jpg" data-orig-size="660,440" data-comments-opened="1" data-image-meta='{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}' data-image-title="Moins un sur x" data-image-description="" data-medium-file="https://prototypekblog.files.wordpress.com/2021/02/moins-un-sur-x.jpg?w=300" data-large-file="https://prototypekblog.files.wordpress.com/2021/02/moins-un-sur-x.jpg?w=640" class="alignnone size-full wp-image-6042" src="https://prototypekblog.files.wordpress.com/2021/02/moins-un-sur-x.jpg?w=640&amp;h=427" alt="" srcset="https://prototypekblog.files.wordpress.com/2021/02/moins-un-sur-x.jpg?w=640&amp;h=427 640w, https://prototypekblog.files.wordpress.com/2021/02/moins-un-sur-x.jpg?w=150&amp;h=100 150w, https://prototypekblog.files.wordpress.com/2021/02/moins-un-sur-x.jpg?w=300&amp;h=200 300w, https://prototypekblog.files.wordpress.com/2021/02/moins-un-sur-x.jpg 660w" sizes="(max-width: 640px) 100vw, 640px"></a></h2>
  95. <h2>Vivre sous l’asymptote des dépressifs</h2>
  96. <p>Je ne passerai jamais de l’autre côté de l’axe des abscisses.</p>
  97. <p>Peut-être que je me trompe. Peut-être que c’est le mal qui me fait penser ça. Peut-être que l’avenir me donnera tort. J’espère que l’avenir me donnera tort. Je l’espère de tout mon cœur. Mais je n’y crois pas.</p>
  98. <p>Je ne passerai jamais du bon côté du monde.</p>
  99. <p>Le mieux que je puisse espérer, c’est ce bout de phrase que j’ai beaucoup utilisé ces dernières années, notamment entre le printemps 2019 et l’hiver 2020 : « J’y suis presque ». Ce mot : « presque ». Presque. Presque !</p>
  100. <p>Presque guéri, mais jamais complètement. J’y étais presque. J’y serai presque, à nouveau, un autre jour. Ça reviendra.</p>
  101. <p>Mais il faut que j’accepte l’idée que je ne guérirai jamais. Je vivrai toujours avec ça. La peur de la rechute, la peur du vide ; et le plafond de verre, l’asymptote du dépressif, qui me rattrapera, toujours, tôt ou tard.</p>
  102. <p>Il y aura toujours un « presque », il y aura toujours une limite, je ne ferai jamais mieux que cette asymptote, j’irai jamais au-delà. C’est déjà pas si mal. Ça pourrait être pire. Ça pourrait être tellement pire.</p>
  103. <p>En un sens, paradoxalement, me cogner au plafond de verre, me retrouver dans le « presque », c’est ce qui peut m’arriver de mieux. Pouvoir me dire « je suis presque bien », ce serait ma plus grande victoire possible.</p>
  104. <p>Encore une fois, je n’aime pas parler de « dépression », et encore moins de maladie, parce que cela me parait pour tout dire indécent de comparer ma situation objective de privilégié (bien-portant, cadre, en télétravail, etc.) avec les situations autrement plus difficiles de millions de gens, souffrant de malheurs et de pathologies bien plus objectives, factuelles et terribles.</p>
  105. <p>Combien de millions de gens dans ce pays vivent avec un handicap, un cancer, un diabète, une sclérose en plaques – bref, une « vraie » maladie, une « vraie » pathologie, une « vraie » fragilité ? Combien de millions de gens savent vraiment ce que « vivre avec » veut dire ? Qui suis-je pour oser me plaindre ?</p>
  106. <p>Dans sa chronique pour Libération en date du 10 février 2021, intitulée « <a href="https://www.liberation.fr/societe/sante/covid-et-individus-fragiles-nous-sommes-ce-que-vous-ne-voulez-pas-voir-20210210_PDALSNTIGJFCLB3HBBAHXANBKU/">Covid et individus fragiles : « Nous sommes ce que vous ne voulez pas voir »</a> », le très admiré Dr Christian Lehmann cède la parole à Marie, 47 ans, psychologue clinicienne à l’hôpital, confinée depuis un an :</p>
  107. <blockquote><p>Que la société le veuille ou non, nous sommes une réalité. Nous avons l’habitude que notre voix ne soit pas entendue, étouffée par les récriminations budgétaires de tous ordres. Nous sommes vos vieux en Ehpad, nous sommes des polyhandicapés, nous sommes des malades chroniques, nous sommes des personnes dépendantes du bon vouloir des autres… mais nous restons des personnes. Cette crise aura mis à jour un clivage que nous n’imaginions pas si grand entre le monde des bien portants et les autres. Et pourtant, nous sommes aussi le vieillard que vous deviendrez, le cancéreux que vous pourriez devenir, le handicapé que votre sœur ou votre enfant sera peut-être un jour. Nous sommes ce que vous ne voulez pas voir de votre condition humaine, de votre avenir possible. Je ne vous le souhaite pas. Mais peut-être ce jour-là découvrirez-vous, bien tard, quel goût a la vie quand il faut se battre chaque jour pour pouvoir profiter une fois encore du lever du soleil.</p></blockquote>
  108. <p>Je suis physiquement bien portant. Je ne suis pas a priori parmi les populations « vulnérables » au Covid-19 (âge, IMC, problèmes respiratoires, etc). Je suis bien loti. J’ai de la chance. Je suis un privilégié. Je ne suis pas à plaindre. Et pourtant je ressens intensément tout ça. Je ressens intensément ce clivage horrible. Je ressens douloureusement <a href="https://wp.me/p2Y5zY-1q1">le mépris pour les vulnérables et pour les victimes</a>. Je vois avec dégoût s’étaler la haine de ceux qui se croient forts pour ceux qui se savent faibles, toute cette hargne qui se cache de moins en moins, tous ces venins abjects. Certains me diront sûrement que je ne devrais pas, et que je devrais juste, comme eux, penser juste à ma gueule et mépriser les non-privilégiés, les faibles. Il n’en est pas question. Les mêmes me traiteront probablement de malade. Si ça les amuse…</p>
  109. <p>Au fond, les bien-portants intolérants sont cohérents : ils n’aiment pas les malades, c’est tout et ça ne va pas plus loin. Ils veulent juste ne pas les voir. Les malades devraient avoir <a href="https://wp.me/p2Y5zY-1as">honte d’exister</a>. Ça tombe bien, certaines maladies prospèrent justement de la honte d’exister.</p>
  110. <h2>Ça se voit</h2>
  111. <p>Vivre avec la dépression, c’est peut-être aussi se faire à l’idée que <a href="https://wp.me/p2Y5zY-1as">ça se voit</a>. Ça se sait. <a href="https://wp.me/p2Y5zY-11L">Ça s’entend</a>. Ça se lit.</p>
  112. <p>Vivre avec, ce serait essayer de me persuader que <a href="https://wp.me/p2Y5zY-1d2">je n’en mourrai pas</a>. Ce serait essayer de me persuader qu’on ne me crucifiera pas pour ça – ou que ceux-là qui me crucifieront ne valent juste pas la peine d’être fréquentés, ni même écoutés. Ils n’aiment pas les malades, c’est tout, tant pis pour eux.</p>
  113. <p>Vivre avec, ce serait arrêter d’essayer de sauver les apparences. Laisser filer. Laisser couler. « Lâcher prise », comme on dit maintenant.</p>
  114. <p>Vivre avec, ce serait arriver à me dire : ça se voit, et alors ? « Assumer », comme on dit maintenant. Accepter que je ne passerai jamais du bon côté du monde. Mais je peux m’en approcher.</p>
  115. <p>Vivre avec, et m’en contenter.</p>
  116. <p>Y être presque, à nouveau.</p>
  117. <p>Accepter le presque.</p>
  118. <p>Je ne peux pas faire mieux. Je ne pourrais jamais faire mieux. Je ne pourrai jamais complètement atteindre l’asymptote. Mais je peux vivre. Je suis vivant. J’ai de la chance.</p>
  119. <p>J’aurais tellement aimé <a href="https://wp.me/p2Y5zY-1pI">porter un message d’espoir</a>, de lumière et de meilleurs lendemains, mais je ne peux pas. Je ne sais pas faire. J’ai essayé, mais je ne sais pas faire.</p>
  120. <p>Je suis désolé.</p>
  121. <p>J’y étais presque.</p>
  122. <p>Je ne rêve que de retrouver l’asymptote.</p>
  123. <p>Je ne pense Covid qui nous sépare.</p>
  124. <p>Bonne nuit.</p>
  125. </article>
  126. <hr>
  127. <footer>
  128. <p>
  129. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  130. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
  131. </svg> Accueil</a> •
  132. <a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
  133. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-rss2"></use>
  134. </svg> Suivre</a> •
  135. <a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
  136. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-user-tie"></use>
  137. </svg> Pro</a> •
  138. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
  139. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-mail"></use>
  140. </svg> Email</a> •
  141. <abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
  142. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-hammer2"></use>
  143. </svg> Légal</abbr>
  144. </p>
  145. <template id="theme-selector">
  146. <form>
  147. <fieldset>
  148. <legend><svg class="icon icon-brightness-contrast">
  149. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-brightness-contrast"></use>
  150. </svg> Thème</legend>
  151. <label>
  152. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  153. </label>
  154. <label>
  155. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  156. </label>
  157. <label>
  158. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  159. </label>
  160. </fieldset>
  161. </form>
  162. </template>
  163. </footer>
  164. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  165. <script>
  166. function loadThemeForm(templateName) {
  167. const themeSelectorTemplate = document.querySelector(templateName)
  168. const form = themeSelectorTemplate.content.firstElementChild
  169. themeSelectorTemplate.replaceWith(form)
  170. form.addEventListener('change', (e) => {
  171. const chosenColorScheme = e.target.value
  172. localStorage.setItem('theme', chosenColorScheme)
  173. toggleTheme(chosenColorScheme)
  174. })
  175. const selectedTheme = localStorage.getItem('theme')
  176. if (selectedTheme && selectedTheme !== 'undefined') {
  177. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  178. }
  179. }
  180. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  181. window.addEventListener('load', () => {
  182. let hasDarkRules = false
  183. for (const styleSheet of Array.from(document.styleSheets)) {
  184. let mediaRules = []
  185. for (const cssRule of styleSheet.cssRules) {
  186. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  187. continue
  188. }
  189. // WARNING: Safari does not have/supports `conditionText`.
  190. if (cssRule.conditionText) {
  191. if (cssRule.conditionText !== prefersColorSchemeDark) {
  192. continue
  193. }
  194. } else {
  195. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  196. continue
  197. }
  198. }
  199. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  200. }
  201. // WARNING: do not try to insert a Rule to a styleSheet you are
  202. // currently iterating on, otherwise the browser will be stuck
  203. // in a infinite loop…
  204. for (const mediaRule of mediaRules) {
  205. styleSheet.insertRule(mediaRule.cssText)
  206. hasDarkRules = true
  207. }
  208. }
  209. if (hasDarkRules) {
  210. loadThemeForm('#theme-selector')
  211. }
  212. })
  213. </script>
  214. </body>
  215. </html>