David Larlet 8ヶ月前
コミット
5617289e3f
署名者: David Larlet <david@larlet.fr> GPGキーID: 3E2953A359E7E7BD

+ 238
- 0
cache/2024/08b2b2735f74ebf856d8a850cc9e41cc/index.html ファイルの表示

@@ -0,0 +1,238 @@
<!doctype html><!-- This is a valid HTML5 document. -->
<!-- Screen readers, SEO, extensions and so on. -->
<html lang="en">
<!-- Has to be within the first 1024 bytes, hence before the `title` element
See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
<meta charset="utf-8">
<!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
<!-- The viewport meta is quite crowded and we are responsible for that.
See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
<meta name="viewport" content="width=device-width,initial-scale=1">
<!-- Required to make a valid HTML5 document. -->
<title>A formula for responsive font-size (archive) — David Larlet</title>
<meta name="description" content="Publication mise en cache pour en conserver une trace.">
<!-- That good ol' feed, subscribe :). -->
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
<!-- Generated from https://realfavicongenerator.net/ such a mess. -->
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
<link rel="manifest" href="/static/david/icons2/site.webmanifest">
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
<meta name="msapplication-TileColor" content="#f7f7f7">
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
<meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
<meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
<!-- Is that even respected? Retrospectively? What a shAItshow…
https://neil-clarke.com/block-the-bots-that-feed-ai-models-by-scraping-your-website/ -->
<meta name="robots" content="noai, noimageai">
<!-- Documented, feel free to shoot an email. -->
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
<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>
<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>
<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>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<script>
function toggleTheme(themeName) {
document.documentElement.classList.toggle(
'forced-dark',
themeName === 'dark'
)
document.documentElement.classList.toggle(
'forced-light',
themeName === 'light'
)
}
const selectedTheme = localStorage.getItem('theme')
if (selectedTheme !== 'undefined') {
toggleTheme(selectedTheme)
}
</script>

<meta name="robots" content="noindex, nofollow">
<meta content="origin-when-cross-origin" name="referrer">
<!-- Canonical URL for SEO purposes -->
<link rel="canonical" href="https://jameshfisher.com/2024/03/12/a-formula-for-responsive-font-size/">

<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">


<article>
<header>
<h1>A formula for responsive font-size</h1>
</header>
<nav>
<p class="center">
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="https://jameshfisher.com/2024/03/12/a-formula-for-responsive-font-size/" title="Lien vers le contenu original">Source originale</a>
<br>
Mis en cache le 2024-03-13
</p>
</nav>
<hr>
<p>This CSS is now part of most websites I make:</p>
<pre><code class="language-css">:root {
font-size: calc(1rem + 0.25vw);
}
</code></pre>
<p>This rule is an alternative to <code>@media</code> rules like this from nytimes.com:</p>
<pre><code class="language-css">p { font-size: 1.125rem; }
@media (min-width: 740px) {
p { font-size: 1.25rem; }
}
</code></pre>
<p>This pattern is the norm:
a small font size, a large font size, and a breakpoint.
Here’s a sample of common sites:</p>
<table>
<thead>
<tr>
<th></th>
<th>Small font-size</th>
<th>Large font-size</th>
<th>Breakpoint</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Medium.com</strong></td>
<td><code>1.125rem</code></td>
<td><code>1.25rem</code></td>
<td><code>728px</code></td>
</tr>
<tr>
<td><strong>Substack.com</strong></td>
<td><code>1.125rem</code></td>
<td><code>1.25rem</code></td>
<td><code>768px</code></td>
</tr>
<tr>
<td><strong>Nytimes.com</strong></td>
<td><code>1.125rem</code></td>
<td><code>1.25rem</code></td>
<td><code>740px</code></td>
</tr>
</tbody>
</table>
<p>But breakpoints are mathematically ugly!
Instead of defining <code>font-size</code> piecewise,
can’t we use one linear function?
Here’s the line I believe they’re trying to approximate:</p>
<p><img src="/assets/2024-03-12/chart.png"></p>
<p>With modern CSS, we can just write that function!
It’s <code>calc(1.0625rem + 0.2604vw)</code>.
I round this to <code>1rem + 0.25vw</code>.</p>
<p>Sharp-eyed readers might wonder:
doesn’t my CSS have circular reasoning?
If <code>rem</code> is defined as “Font size of the root element”,
how can we use <code>1rem</code> in the definition of <code>font-size</code> on the root element?!
It turns out <a href="https://www.w3.org/TR/css-values-3/#rem">it’s a special case</a>:</p>
<blockquote>
<p>When specified in the <code>font-size</code> property of the root element,
or in a document with no root element,
<code>1rem</code> is equal to the initial value of the <code>font-size</code> property.</p>
</blockquote>
</article>


<hr>

<footer>
<p>
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-rss2"></use>
</svg> Suivre</a> •
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-user-tie"></use>
</svg> Pro</a> •
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-mail"></use>
</svg> Email</a> •
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-hammer2"></use>
</svg> Légal</abbr>
</p>
<template id="theme-selector">
<form>
<fieldset>
<legend><svg class="icon icon-brightness-contrast">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-brightness-contrast"></use>
</svg> Thème</legend>
<label>
<input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
</label>
<label>
<input type="radio" value="dark" name="chosen-color-scheme"> Foncé
</label>
<label>
<input type="radio" value="light" name="chosen-color-scheme"> Clair
</label>
</fieldset>
</form>
</template>
</footer>
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
<script>
function loadThemeForm(templateName) {
const themeSelectorTemplate = document.querySelector(templateName)
const form = themeSelectorTemplate.content.firstElementChild
themeSelectorTemplate.replaceWith(form)

form.addEventListener('change', (e) => {
const chosenColorScheme = e.target.value
localStorage.setItem('theme', chosenColorScheme)
toggleTheme(chosenColorScheme)
})

const selectedTheme = localStorage.getItem('theme')
if (selectedTheme && selectedTheme !== 'undefined') {
form.querySelector(`[value="${selectedTheme}"]`).checked = true
}
}

const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
window.addEventListener('load', () => {
let hasDarkRules = false
for (const styleSheet of Array.from(document.styleSheets)) {
let mediaRules = []
for (const cssRule of styleSheet.cssRules) {
if (cssRule.type !== CSSRule.MEDIA_RULE) {
continue
}
// WARNING: Safari does not have/supports `conditionText`.
if (cssRule.conditionText) {
if (cssRule.conditionText !== prefersColorSchemeDark) {
continue
}
} else {
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
continue
}
}
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
}

// WARNING: do not try to insert a Rule to a styleSheet you are
// currently iterating on, otherwise the browser will be stuck
// in a infinite loop…
for (const mediaRule of mediaRules) {
styleSheet.insertRule(mediaRule.cssText)
hasDarkRules = true
}
}
if (hasDarkRules) {
loadThemeForm('#theme-selector')
}
})
</script>
</body>
</html>

+ 71
- 0
cache/2024/08b2b2735f74ebf856d8a850cc9e41cc/index.md ファイルの表示

@@ -0,0 +1,71 @@
title: A formula for responsive font-size
url: https://jameshfisher.com/2024/03/12/a-formula-for-responsive-font-size/
hash_url: 08b2b2735f74ebf856d8a850cc9e41cc
archive_date: 2024-03-13
og_image: https://jameshfisher.com/assets/jim_512.jpg
description: This CSS is now part of most websites I make:
favicon: https://jameshfisher.com/assets/jim_128.png
language: en_US

<p>This CSS is now part of most websites I make:</p>
<pre><code class="language-css">:root {
font-size: calc(1rem + 0.25vw);
}
</code></pre>
<p>This rule is an alternative to <code>@media</code> rules like this from nytimes.com:</p>
<pre><code class="language-css">p { font-size: 1.125rem; }
@media (min-width: 740px) {
p { font-size: 1.25rem; }
}
</code></pre>
<p>This pattern is the norm:
a small font size, a large font size, and a breakpoint.
Here’s a sample of common sites:</p>
<table>
<thead>
<tr>
<th></th>
<th>Small font-size</th>
<th>Large font-size</th>
<th>Breakpoint</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Medium.com</strong></td>
<td><code>1.125rem</code></td>
<td><code>1.25rem</code></td>
<td><code>728px</code></td>
</tr>
<tr>
<td><strong>Substack.com</strong></td>
<td><code>1.125rem</code></td>
<td><code>1.25rem</code></td>
<td><code>768px</code></td>
</tr>
<tr>
<td><strong>Nytimes.com</strong></td>
<td><code>1.125rem</code></td>
<td><code>1.25rem</code></td>
<td><code>740px</code></td>
</tr>
</tbody>
</table>
<p>But breakpoints are mathematically ugly!
Instead of defining <code>font-size</code> piecewise,
can’t we use one linear function?
Here’s the line I believe they’re trying to approximate:</p>
<p><img src="/assets/2024-03-12/chart.png"></p>
<p>With modern CSS, we can just write that function!
It’s <code>calc(1.0625rem + 0.2604vw)</code>.
I round this to <code>1rem + 0.25vw</code>.</p>
<p>Sharp-eyed readers might wonder:
doesn’t my CSS have circular reasoning?
If <code>rem</code> is defined as “Font size of the root element”,
how can we use <code>1rem</code> in the definition of <code>font-size</code> on the root element?!
It turns out <a href="https://www.w3.org/TR/css-values-3/#rem">it’s a special case</a>:</p>
<blockquote>
<p>When specified in the <code>font-size</code> property of the root element,
or in a document with no root element,
<code>1rem</code> is equal to the initial value of the <code>font-size</code> property.</p>
</blockquote>

+ 178
- 0
cache/2024/a801772c901c3e5cfad33f637d00151e/index.html
ファイル差分が大きすぎるため省略します
ファイルの表示


+ 11
- 0
cache/2024/a801772c901c3e5cfad33f637d00151e/index.md
ファイル差分が大きすぎるため省略します
ファイルの表示


+ 497
- 0
cache/2024/b33059055c307477e43390a51f9a104a/index.html ファイルの表示

@@ -0,0 +1,497 @@
<!doctype html><!-- This is a valid HTML5 document. -->
<!-- Screen readers, SEO, extensions and so on. -->
<html lang="fr">
<!-- Has to be within the first 1024 bytes, hence before the `title` element
See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
<meta charset="utf-8">
<!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
<!-- The viewport meta is quite crowded and we are responsible for that.
See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
<meta name="viewport" content="width=device-width,initial-scale=1">
<!-- Required to make a valid HTML5 document. -->
<title>Optimisez Nginx pour de meilleurs performances (archive) — David Larlet</title>
<meta name="description" content="Publication mise en cache pour en conserver une trace.">
<!-- That good ol' feed, subscribe :). -->
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
<!-- Generated from https://realfavicongenerator.net/ such a mess. -->
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
<link rel="manifest" href="/static/david/icons2/site.webmanifest">
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
<meta name="msapplication-TileColor" content="#f7f7f7">
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
<meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
<meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
<!-- Is that even respected? Retrospectively? What a shAItshow…
https://neil-clarke.com/block-the-bots-that-feed-ai-models-by-scraping-your-website/ -->
<meta name="robots" content="noai, noimageai">
<!-- Documented, feel free to shoot an email. -->
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
<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>
<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>
<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>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<script>
function toggleTheme(themeName) {
document.documentElement.classList.toggle(
'forced-dark',
themeName === 'dark'
)
document.documentElement.classList.toggle(
'forced-light',
themeName === 'light'
)
}
const selectedTheme = localStorage.getItem('theme')
if (selectedTheme !== 'undefined') {
toggleTheme(selectedTheme)
}
</script>

<meta name="robots" content="noindex, nofollow">
<meta content="origin-when-cross-origin" name="referrer">
<!-- Canonical URL for SEO purposes -->
<link rel="canonical" href="https://buzut.net/optimiser-nginx/">

<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">


<article>
<header>
<h1>Optimisez Nginx pour de meilleurs performances</h1>
</header>
<nav>
<p class="center">
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="https://buzut.net/optimiser-nginx/" title="Lien vers le contenu original">Source originale</a>
<br>
Mis en cache le 2024-03-13
</p>
</nav>
<hr>
<p>Nginx de part sa robustesse, sa structure minimaliste et son fonctionnement événementiel asynchrone est un serveur web plébiscité pour ses performances. Mais ce n’est pas parce qu’on a une Porsche qu’il ne faut pas tenter de la rendre encore plus puissante !</p>
<p>Pour des sites à fort trafic, un serveur bien optimisé signifie deux choses : des requêtes servies plus vite et un besoin en machines (scaling horizontal) inférieur. Alors pourquoi s’en priver ?</p>

<nav class="toc">
<p>Au programme</p>
<ol class="toc"><li class="toc-item toc-level-2"><a class="toc-link" href="#Les-workers"><span class="toc-text">Les workers</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#Les-buffers"><span class="toc-text">Les buffers</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#Les-timeouts"><span class="toc-text">Les timeouts</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#La-compression"><span class="toc-text">La compression</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#Le-cache-statique"><span class="toc-text">Le cache statique</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#L%E2%80%99open-file-cache"><span class="toc-text">L’open file cache</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#Le-logging"><span class="toc-text">Le logging</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#La-speciale-TLS"><span class="toc-text">La spéciale TLS</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#Optimisations-TCP"><span class="toc-text">Optimisations TCP</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#La-thread-pool"><span class="toc-text">La thread pool</span></a></li></ol>
</nav>

<h2 id="Les-workers">Les workers</h2>
<p>La première chose à explorer est le fichier de configuration général de Nginx : <code>/etc/nginx/nginx.conf</code>. Nous allons ici définir le nombre de workers ainsi que le nombre de connexions pour chacun d’entre eux.</p>
<p>Concentrons nous d’abord sur <code>worker_processes</code>. Cette directive spécifie le nombre total de workers à créer au démarrage de Nginx. La valeur optimale est d’en avoir un par <em>cpu core</em>. Si vous avez un VPS – lesquels ont souvent un vCPU avec un seul vCore – il arrive souvent que la valeur par défaut soit supérieure au nombre total de cores. Ce n’est pas très grave, néanmoins, les processus supplémentaires vont un peu se tourner les pouces… pas bien utile. Pour définir cette valeur, il nous suffit donc de déterminer le nombre total de cores :</p>
<pre><code># grep -c ^processor /proc/cpuinfo
12</code></pre>
<p>Nous avons notre réponse, ici : 12.</p>
<p>Passons maintenant à la directive <code>worker_connections</code>. Elle spécifie combien de connections simultanées chaque worker est en mesure d’établir. Étant donné qu’une connexion nécessite un <em>file descriptor</em> au minimum, une bonne base est d’établir ce nombre en fonction des limites de notre système. Dans le cas de Nginx en reverse proxy, il faut un <em>file descriptor</em> pour la connexion client et un autre vers le serveur proxifié, soit deux par connexion.</p>
<pre><code># ulimit -n
1024</code></pre>
<p>Par défaut, la limite du nombre de fichiers ouverts est souvent de 1024. Selon la configuration du système, cette limite peut être très largement augmentée. Voyez mon <a href="/optimiser-gestion-ressources-systeme-ulimit/">article sur <em>ulimit</em></a> afin de modifier ces configurations.</p>
<p>Vous lirez peut-être dans certains articles qu’il faut définir la directive <code>worker_rlimit_nofile</code>. Cette dernière a justement pour but de configurer le <em>ulimit</em>. Il faut impérativement que le serveur démarre en root avant de passer à un utilisateur non privilégié, sans quoi il ne pourra augmenter cette limite. Par ailleurs, s’il y a d’autres logiciels qui utilisent le même utilisateur – nginx sous Debian – il est bon de leur en laisser quelques uns. Vous devrez dans ce cas avoir une valeur pour <code>worker_connections</code> légèrement inférieur à <code>worker_rlimit_nofile</code>.</p>
<p>Pour ma part, sauf cas particuliers, je trouve plus fiable de paramétrer le ulimit en utilisant la configuration du système et de se contenter d’attribuer la même valeur au <em>ulimit</em> et à <code>worker_connections</code> (si Nginx est seul à tourner avec ce user).</p>
<p>En faisant <code>worker_processes</code> x <code>worker_connections</code>, on peut déjà se faire une idée du nombre de connexions simultanées que Nginx va pouvoir encaisser. Bien entendu, d’autres paramètres entrent en ligne de compte.</p>
<p>Par ailleurs, il ne s’agit pas non plus de s’obstiner à atteindre le plus grand nombre possible de connexions. Mieux vaut en effet servir 1000 connexions simultanées en 1s et passer aux 1000 suivantes, que d’en servir 2000 en 4s.</p>
<p>En dernier lieu, on permet aux workers d’accepter plusieurs nouvelles connexions de manière simultané en activant <a href="http://nginx.org/en/docs/ngx_core_module.html#multi_accept"><code>multi_accept</code></a>. Cela peut être d’une grande utilité lors de pics de trafic.</p>
<pre><code>multi_accept on;</code></pre>
<h2 id="Les-buffers">Les buffers</h2>
<p>Les buffers permettent à Nginx de travailler en RAM plutôt que sur le disque. Je ne vais pas vous faire un dessin, vous savez bien que les accès disque sont infiniment plus lents que le travail en RAM. On va donc configurer les buffers pour que notre serveur puisse travailler en mémoire autant que faire se peut.</p>
<p>Il y a quatre types de buffers :</p>

<dl>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size"><code>client_body_buffer_size</code></a></dt>
<dd>Le buffer qui récupère les données clients (typiquement les données POST).</dd>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#client_header_buffer_size"><code>client_header_buffer_size</code></a></dt>
<dd>Celui-ci s'occupe également des données du client, mais concerne l'en-tête. Généralement, 1k suffit ici amplement (la valeur par défaut). Qui plus est, dans le cas où cette limite est dépassée, alors c'est la directive <code>large_client_header_buffers</code> qui s'applique.</dd>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size"><code>client_max_body_size</code></a></dt>
<dd>La taille maximum des requêtes envoyées par le client. Si vous autorisez des uploads de fichiers, il s'agit d'y penser ici. Si cette limite est dépassée, Nginx retourne une erreur 413.</dd>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#large_client_header_buffers"><code>large_client_header_buffers</code></a></dt>
<dd>Taille et nombre maximum que peuvent atteindre les buffers pour les en-têtes. Au delà, une erreur est retournée.</dd>
</dl>

<p>Les réglages des buffers sont plus délicats et subjectifs que ceux des workers. Cela dépend énormément de votre application. <code>client_body_buffer_size</code> définit la quantité maximale des données <code>GET</code> ou <code>POST</code> qui seront stockées en RAM. La question à se poser est donc la suivante : quelle proportion de vos requêtes sont supérieur à une taille donnée ? Ces requêtes nécessitent-elles d’être traitée très rapidement ? Par exemple, pour l’upload de gros fichiers, il est tout à fait tolérable d’écrire les fichiers sur le disque. En effet, le temps supplémentaire liée à l’écriture sur le disque est dérisoire par rapport au temps d’upload.</p>
<p>En revanche, il faut bien avoir à l’esprit que plus cette limite est élevée, plus votre serveur prête le flanc aux attaques DoS, puisqu’il allouera potentiellement plus de mémoire aux requêtes et arrivera donc potentiellement plus rapidement à saturation en RAM.</p>
<p>La logique prévalente pour les buffers est souvent d’essayer et d’aviser ! Dans une application permettant l’upload de fichiers, je laisserais <code>client_body_buffer_size</code> à sa valeur par défaut de <code>16k</code> (sur processeurs 64 bits), idem pour <code>client_header_buffer_size</code> qui est de <code>1k</code>.</p>
<p><code>client_max_body_size</code> aura ici une valeur élevée puisque je veux autoriser l’upload de fichiers (disons <code>20m</code>, là encore tout dépend du type de fichiers !). Enfin, je serais plus conservateur que les défauts (<code>4 8k</code>) pour <code>large_client_header_buffers</code>, et mettrais <code>2 3k</code> car mon applications possède des headers relativement modestes. En résumé :</p>
<pre><code>client_body_buffer_size 16K;
client_header_buffer_size 1k;
client_max_body_size 20m;
large_client_header_buffers 2 3k;</code></pre>
<p>J’insiste de nouveau sur ce point, tout dépend de votre application. Si votre applicatif soumet de gros articles en POST, il faudra peut-être revoir à la hausse les <code>16k</code> de <code>client_body_buffer_size</code>. Il n’y a ici pas de règle générale.</p>
<h3 id="Proxy-buffers">Proxy buffers</h3>
<p>Il existe des buffers spécifiquement dédiés aux proxies. Dans le cas où les buffers sont désactivés, Nginx commence l’envoie des données au client aussitôt qu’il les reçoit du backend serveur. Si le client est rapide, tout est pour le mieux. Cependant, si le client est moins véloce, ce fonctionnement oblige à conserver une connexion ouverte entre Nginx – le serveur de proxy – et le backend serveur ; ce qui peut s’avérer dommageable.</p>
<p>L’activation des buffers permet donc à Nginx de d’abord récupérer l’ensemble des données de la requêtes depuis le backend serveur, de libérer ce dernier, puis de servir les données au client.</p>

<dl>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering"><code>proxy_buffering</code></a></dt>
<dd>Contrôle l'activation du buffer pour le proxy (activé par défaut).</dd>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size"><code>proxy_buffer_size</code></a></dt>
<dd>Définie la taille du buffer pour les en-têtes de la réponse. <code>8k</code> par défaut sur systèmes 64 bits. On peut ici laisser la valeur par défaut car les en-têtes dépassent rarement <code>8k</code>.</dd>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers"><code>proxy_buffers</code></a></dt>
<dd>Détermine la taille et le nombre des buffers pour le corps de la réponse. Une fois n'est pas coutume, la valeur dépendra grandement de votre application. La valeur par défaut (toujours pour les systèmes 64 bits) est de 8 buffers de <code>8k</code>. Il s'agit de paramètres s'appliquant <strong>par requête</strong>. Ainsi, le réglage par défaut permettra de stocker dans les buffers des réponses jusqu'à <code>64kb</code>. À vous de voir si votre application retourne des résultats plus importants (sachant qu'ensuite les fichiers sont <a href="http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_max_temp_file_size">écrits sur le disque</a>).</dd>
</dl>

<pre><code>proxy_buffering on;
proxy_buffer_size 1k;
proxy_buffers 12 4k;</code></pre>
<h2 id="Les-timeouts">Les timeouts</h2>
<p>Question existentielle s’il en est, les timeouts peuvent avoir un impact conséquent à la fois sur la vitesse ressentie par les utilisateurs, mais aussi sur la charge du serveur. Les timeouts se divisent également en plusieurs directives :</p>

<dl>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_timeout"><code>client_body_timeout</code></a></dt>
<dd>Ce timeout s'applique au body. Il définit le temps maximum entre deux opérations d'écriture (pas le temps total de transfert donc). Admettons que je veuille transférer de gros fichiers (plusieurs centaines de MB), je pourrais fixer ce timeout à 30s (défaut 60s). Si le client n'envoie aucune donnée dans ce laps de temps, le serveur émet une erreur 408.</dd>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#client_header_timeout"><code>client_header_timeout</code></a></dt>
<dd>Même logique que la directive précédente mais le timeout s'applique bien ici à la totalité de la transaction. Néanmoins, les en-têtes étant beaucoup plus légères, je me contenterai pour ma part d'établir le timeout à 10s (défaut 60s) pour les headers.</dd>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_timeout"><code>keepalive_timeout</code></a></dt>
<dd>Cette directive permet à la fois de spécifier le <em>keepalive timeout</em> mais également le header <em>Keep-Alive: timeout=durée</em>.

Avec des serveurs tels qu'Apache où le serveur conserve un thread par connexion ouverte, de telles connexions impliquent une consommation de mémoire. Cependant, avec des serveurs événementiels comme Nginx, ce coût est relativement faible et il n'est donc pas très impactant en consommation ressources.

Une fois n'est pas coutume, la valeur idéale dépendra de la typologie de votre application. L'effet du keepalive se fait surtout ressentir lorsque de nombreux éléments sont à télécharger puisqu'on gagne <em>nbr_ressources x temps_connexion_tcp</em>. C'est évidemment moins flagrant pour une requête unique. Si votre application nécessite de nombreuses requêtes à intervalles régulières (<em>polling ajax</em> par exemple), il pourra être judicieux de conserver un keepalive long. Au contraire, dans le cas d'un site plus statique, comme un blog, si aucune autre connexion n'est envisagée après le chargement de la page et de ses ressources, on pourra avoir un keepalive assez court.

L'intérêt du keepalive est d'autant plus grand si vous êtes en https. En effet, à chaque ouverture de connexion, il vous faudra renégocier un <a href="https://fr.wikipedia.org/wiki/Three-way_handshake">Three-way handshake TLS</a>, ce qui prend du temps et demande de la puissance au serveur.

Le keepalive est à 75s par défaut, il n'y a vraiment pas de règles en la matière. On peut estimer que 30s est une valeur standard, mais on pourra même l'abaisser à 10s dans notre exemple de blog. HTML5 boilerplate le définit même à 300 dans sa configuration Nginx ! Comme il n'est pas très risqué de laisser la valeur élevée, on peut donc aisément le mettre à plusieurs minutes et ne l'abaisser qu'en cas de problème de performances face à un fort trafic.</dd>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#send_timeout"><code>send_timeout</code></a></dt>
<dd>C'est en quelque sorte le pendant inverse des body et header timeouts. Ici, le s'agit de définir le temps après lequel le serveur coupe la connexion si le client ne reçoit plus la réponse. Par défaut, 60s.</dd>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_requests"><code>keepalive_requests</code></a></dt>
<dd>Cette directive détermine le nombre de requêtes au bout duquel le connexion sera fermée. La valeur par défaut est à 100, ce qui est assez confortable et il n'est souvent pas nécessaire de modifier cette valeur. Néanmoins, si votre application nécessite le chargement de très nombreuses ressources (&gt; 100), il peut être intéressant d'augmenter cette valeur pour qu'elle soit légèrement supérieur au nombre de ressources à charger.</dd>
</dl>

<p>Comme expliqué, étant donné le faible impact de performance sur Nginx, je préfère être généreux au départ et abaisser les timeouts au besoin :</p>
<pre><code>client_body_timeout 30;
client_header_timeout 10;
keepalive_timeout 30;
send_timeout 60;
keepalive_requests 100;</code></pre>
<h2 id="La-compression">La compression</h2>
<p>Il ne fait aucun doute que la compression permet d’accélérer les transferts sur le réseau. Il est aussi un fait que compresser les ressources demande un peu de puissance processeur. Comme il existe plusieurs niveau de compression, il s’agit de trouver le juste milieu.</p>
<pre><code>gzip on;
gzip_comp_level 5;
gzip_min_length 1000;
gzip_proxied any;
gzip_types
application/atom+xml
application/javascript
application/json
application/ld+json
application/manifest+json
application/rss+xml
application/vnd.geo+json
application/vnd.ms-fontobject
application/x-font-ttf
application/x-web-app-manifest+json
application/xhtml+xml
application/xml
font/opentype
image/bmp
image/svg+xml
image/x-icon
text/cache-manifest
text/css
text/plain
text/vcard
text/vnd.rim.location.xloc
text/vtt
text/x-component
text/x-cross-domain-policy;</code></pre>
<p>Voici en général mes réglages. Le niveau de compression 5 est le juste milieu <a href="http://serverfault.com/questions/253074/what-is-the-best-nginx-compression-gzip-level#answer-452642">selon moi</a> – on pourra toujours le baisser si on a trop de charge CPU. On ne compresse pas les fichiers de taille inférieure à 1ko (on n’y gagnera pas grand chose), on compresse sans distinction les éléments qui proviennent d’un proxy et on active la compression pour les fichiers textes, le js, les css, le json, le xml et d’autres un peu moins courants. Vous ne trouverez ici pas les images jpeg et png car ce sont déjà des fichiers compressés.</p>
<p>Sachez également que la directive <a href="http://nginx.org/en/docs/http/ngx_http_gzip_module.html#gzip_buffers"><code>gzip_buffers</code></a> peut s’avérer intéressante. Elle définie le nombre et la taille des buffers alloué à la compression. Par défaut, sur les architectures 64 bits, jusqu’à 16 buffers de 8k sont autorisés.</p>
<p>Tout va ici dépendre de la taille de vos fichiers. Il s’agit, comme <a href="https://forum.nginx.org/read.php?2,239316,239344#msg-239344">expliqué dans ce post</a> d’arbitrer entre le nombre de buffers (gérer de nombreux buffers consomme un peu de CPU) ou attribuer plus d’espace aux buffers (utilise plus d’espace mémoire). Si vous n’avez pas assez d’espace dans les buffers pour contenir l’ensemble de la réponse, Nginx attendra qu’une partie de la réponse soit envoyée au client et utilisera ensuite l’espace libéré.</p>
<h3 id="Pre-compression">Pré-compression</h3>
<p>Enfin, sachez aussi qu’il est possible, avec le module <a href="http://nginx.org/en/docs/http/ngx_http_gzip_static_module.html">gzip_static</a>, de pré-compresser des fichiers pour que Nginx puisse les servir sans avoir à les compresser à la volée.</p>
<p>Vous en avez peut-être entendu parler, Brotli est un algorithme de compression plus récent que Gzip qui offre de bien meilleurs taux de compression. Le <a href="https://github.com/google/ngx_brotli">module Brotli</a> développé par Google n’est pas nativement intégré à Nginx et nécessite de le recompiler.</p>
<p>Nous ne pourrons donc pas compresser directement en Brotli. Cependant, nous pouvons profiter de la pré-compression en Brotli lors du <a href="/npm-for-everything/">processus de build</a> et servir ces fichiers via quelques directives. C’est la stratégie que <a href="/configuration-dun-serveur-linux-apache2/#compression">j’adopte avec Apache</a>. On va donc créer un fichier de config pour Nginx <code>/etc/nginx/conf.d/static_brotli.conf</code>.</p>
<pre><code>set $extension "";

# si le navigateur accepte brotli
if ($http_accept_encoding ~ br) {
set $extension .br;
}

# et que le fichier .br existe sur le disque
if (-f $request_filename$extension) {
rewrite (.*) $1$extension break;
}

# on désactive gzip et en envoie en .br
location ~ /*.html.br {
gzip off;
types {}
default_type text/html;
add_header Content-Encoding br;
add_header Vary "Accept-Encoding";
}

location ~ /*.css.br$ {
gzip off;
types {}
default_type text/css;
add_header Content-Encoding br;
add_header Vary "Accept-Encoding";
}

location ~ /*.js.br$ {
gzip off;
types {}
default_type application/javascript;
add_header Content-Encoding br;
add_header Vary "Accept-Encoding";
}

location ~ /*.svg.br$ {
gzip off;
types {}
default_type image/svg+xml;
add_header Content-Encoding br;
add_header Vary "Accept-Encoding";
}</code></pre>
<p>Il ne vous reste plus qu’à l’inclure depuis n’importe quelle directive <code>server</code> ou <code>location</code>. Par exemple, depuis un fichier de configuration d’un site :</p>
<pre><code>server {
listen [::]:443;
listen 443;

server_name super-site.com;
root /var/www;

charset utf-8;

location / {
try_files $uri $uri.html $uri/ =404;
}

# tous vos fichiers seront servis en brotli pour les navigateurs compatibles
include conf.d/static_brotli.conf;

# brotli ne fonctionne qu'en TLS
include conf.d/ssl.conf;
ssl_certificate /etc/letsencrypt/live/super-site.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/super-site.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/super-site.com/chain.pem;
}</code></pre>
<h2 id="Le-cache-statique">Le cache statique</h2>
<p>Grand classique du web, permettre aux navigateurs et proxies intermédiaires de placer certaines ressources en cache, c’est éviter au serveur d’avoir à les renvoyer plus tard. Selon la fréquence à laquelle changent vos fichiers, on peut attribuer une période de validité plus ou moins longue au cache. Disons deux mois pour l’exemple :</p>
<pre><code>location ~* .(jpg|jpeg|png|gif|ico|css|js)$ {
expires 60d;
}</code></pre>
<p>Nous cachons donc pour deux mois tous les fichiers d’extensions suivantes : jpg, jpeg, png, gif, ico, css, js.</p>
<h2 id="L’open-file-cache">L’open file cache</h2>
<p>Ce type de cache permet de conserver les métadonnées en mémoire, et donc de limiter l’I/O. Voici un exemple de configuration :</p>
<pre><code>open_file_cache max=2000 inactive=5m;
open_file_cache_valid 2m;
open_file_cache_min_uses 2;
open_file_cache_errors on;</code></pre>
<p>Cette configuration indique au serveur de mettre en cache 2000 <em>open file descriptors</em> et de les fermer si aucune requête les concernant n’est demandé au bout de 5 minutes. La validité des informations en cache est revérifiée après 2 minutes et un fichier doit être requêté un minimum de deux fois afin d’être valide pour le cache. Enfin, les fichiers d’erreurs sont ici également valables pour le cache.</p>
<h2 id="Le-logging">Le logging</h2>
<p>Demander à NGINX d’écrire des logs, c’est encore lui demander une chose supplémentaire. Évidemment, le plus performant, c’est encore de ne pas logger ! On parle bien de l’<code>access_log</code>, pas de l’<code>error_log</code> qu’il n’est pas question de supprimer. D’autant plus que, théoriquement, il ne devrait pas y avoir trop d’erreurs donc la charge est faible concernant ce dernier.</p>
<p>Pour l’<a href="http://nginx.org/en/docs/http/ngx_http_log_module.html#access_log"><code>access_log</code></a>, si vous ne l’exploitez pas, le mieux est encore de le désactiver complètement avec <code>access_log off;</code>. Cette directive prend sa place dans <code>http</code>, <code>server</code> ou <code>location</code>. Vous pouvez donc définir un comportement global directement dans le <code>nginx.conf</code> et/ou affiner seulement pour certains domaines ou répertoires.</p>
<p>Si vous ne souhaitez pas le désactiver totalement, d’autres options s’offrent à nous. Déjà, autant utiliser un buffer afin de réduire les I/O disque.</p>
<pre><code>access_log /var/log/nginx/access.log combined buffer=10m flush=5m;</code></pre>
<p>Dans l’exemple précédent, vous écrivez les logs sur le disque soit lorsque le buffer de 10MB est plein, soit toutes les 10mn (première condition remplie). Cela est bien entendu à moduler selon votre trafic. Pour un blog avec quelques centaines de visites pas jour, les 10MB de logs ne seront jamais atteints en 5 minutes. En revanche, pour un site à très fort trafic, à vous de voir s’il n’est pas judicieux d’augmenter la taille du buffer. Gardez cependant à l’esprit qu’en cas de crash, tout ce qui n’est pas écrit sur le disque est perdu.</p>
<p>Pour logger mais logger moins, il est également possible de logger de manière conditionnelle. On peut par exemple n’être intéressé que par les erreurs 4xx ou vouloir écrémer le gros des 2xx et 3xx qui indiquent juste que tout fonctionne bien.</p>
<pre><code># on ne log pas les 2xx &amp; 3xx
map $status $loggable {
~^[23] 0;
default 1;
}

access_log /var/log/nginx/access.log combined buffer=10m flush=5m if=$loggable;</code></pre>
<p>Petite précision au passage, la directive <code>map</code> prend sa place dans un bloc <code>http</code>. Si vous la placez dans un fichier de configuration vhost dans server ou location, vous aurez une belle erreur. On place dans notre directive <code>map</code> au niveau <code>http</code> et la directive <code>access_log</code> dans location si elle ne doit pas s’appliquer de manière globale.</p>
<p>Par ailleurs, il arrive que l’on veuille définir une règle en fonction de plusieurs variables. Prenons un exemple concret. Nous avons une api à fort trafic et nous ne voulons donc pas tout logger par défaut. Nous nous contentons de logguer les erreurs avec la règle vue ci-dessus.</p>
<p>Néanmoins, certaines url sont particulièrement sensibles. Par exemple, nous avons un endpoint qui permet de créer un compte utilisateur. Nous ne voulons pas laisser un bot créer des comptes à la volée. Nous allons donc logger cette url en particulier et demander à fail2ban de <a href="/installer-et-parametrer-fail2ban/">bloquer les ips qui y accèdent de manière récurrente</a>.</p>
<pre><code># on ne log pas les 2xx &amp; 3xx
map $status $loggable_status {
~^[23] 0;
default 1;
}

# ici si l'url contient signup, on logge
map $request $loggable {
~signup 1;
default $loggable_status;
}

access_log /var/log/nginx/access.log combined buffer=10m flush=5m if=$loggable;</code></pre>
<h2 id="La-speciale-TLS">La spéciale TLS</h2>
<p>Bien que Nginx nomme toutes les variables SSL, vous savez très bien que le protocole est définitivement à bannir au profit de TLS. Petite parenthèse, si la sécurité vous intéresse, sachez qu’au delà du protocole, c’est aussi la suite de chiffrement qui assure la sécurité. Vous pouvez tester la sécurité de votre site avec ce <a href="https://www.ssllabs.com/ssltest/">scanner SSL/TLS</a> et générer vos configurations serveurs avec le <a href="https://mozilla.github.io/server-side-tls/ssl-config-generator/">générateur de Mozilla</a>.</p>
<p>Bref, revenons-en à nos moutons. Nous l’avons dit, le three-way handshake prend du temps et est couteux en ressources. Puisque le client et le serveur ce sont déjà entendus, il est possible de dire à Nginx de mettre en cache cette session. Ainsi, lorsqu’il voudra de nouveau établir une connexion, le client n’aura plus qu’à se rappeler aux bons souvenirs de Nginx. Le three-way handshake ne compte plus que deux allez-retours entre client et serveur et Nginx s’épargne quelques calculs cryptographiques. Bien que datant de 2011, ce <a href="http://vincent.bernat.im/en/blog/2011-ssl-session-reuse-rfc5077.html">post</a> vous éclairera sur la théorie derrière cette histoire de cache.</p>
<p>Trois paramètres sont à considérer :</p>

<dl>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_cache"><code>ssl_session_cache</code></a></dt>
<dd>Il permet de définir si on active le cache on non, de spécifier le type de cache (<code>builtin</code> ou <code>shared</code>) ainsi que la taille de ce dernier. Il est à <code>none</code> par défaut. La doc Nginx établit que 1MB permet de stocker 4000 sessions. À vous de juger combien de à sessions vous estimez devoir faire face et la durée de rétention que vous leur accordez. N'ayez crainte, au pire des cas Nginx invalidera les sessions prématurément, il n'y aura pas d'effusion de sang.</dd>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_timeout"><code>ssl_session_timeout</code></a></dt>
<dd>Précise la durée au bout de laquelle la session est invalidée.</dd>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_buffer_size"><code>ssl_buffer_size</code></a></dt>
<dd>Permet de déterminer pour l'envoie des données. <a href="https://github.com/igrigorik/istlsfastyet.com/issues/63">Gros débat</a> sur la question de la taille de ce dernier, une fois de plus, tout dépend du type de contenus que vous servez.</dd>
</dl>

<p>Et bien entendu quelques valeurs d’exemples :</p>
<pre><code>ssl_session_cache shared:SSL:10m;
ssl_session_timeout 24h;
ssl_buffer_size 1400;</code></pre>
<p>En plus des caches, il y a une dernière optimisation qu’il est possible de réaliser, elle a pour doux nom l’<a href="https://fr.wikipedia.org/wiki/Agrafage_OCSP"><em>OSCP stapling</em></a>. Lorsqu’un serveur fourni un certificat, le client en vérifie la validité en interrogeant l’autorité émettrice du certificat. Évidemment, cela demande une requête supplémentaire au client. On peut éviter cela en demandant au serveur de joindre directement l’autorité émettrice et d’ainsi “agraffer” (d’où le <em>stampling</em>) la réponse signée et horodatée de l’autorité afin de prouver la validité du certificat.</p>
<pre><code>ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 216.146.35.35 216.146.36.36 valid=60s;
resolver_timeout 2s;</code></pre>
<p>Il est possible de préciser un resolver, en cas d’absence de la directive <code>resolver</code>, le serveur DNS par défaut sera interrogé. C’est d’ailleurs souvent avantageux car dans le cas d’un serveur, il se trouve en général dans le même datacenter.</p>
<h2 id="Optimisations-TCP">Optimisations TCP</h2>
<p>On arrive là dans le domaine de l’optimisation de pointe ! Il est possible de spécifier à Nginx la manière dont quelques options de TCP doivent être gérées. De manière synthétique, ces réglages vont nous permettre de :</p>
<ul>
<li><code>sendfile</code> : d’optimiser la copie des données depuis le <em>file descriptors</em> vers le buffer du kernel (ok, c’est compliqué !),</li>
<li><code>tcp_nopush</code> : n’envoyer les données que lorsque le paquet IP est rempli (quantité de données égale au <a href="https://fr.wikipedia.org/wiki/Maximum_Segment_Size">MSS</a>),</li>
<li><code>tcp_nodelay</code> : diminuer la latence de 200ms avant l’envoie des données sur le réseau (on attend ici pas que le paquet soit rempli. Utilisés conjointenenement avec <code>tcp_nopush</code>, NGINX n’active l’option <code>tcp_nodelay</code> que lorsqu’on atteint la fin des données à envoyer et qu’il n’est pas possible de remplir un paquet).</li>
</ul>
<p>Pour comprendre tout cela dans les détails, vous pouvez vous référer à ce <a href="https://t37.net/optimisations-nginx-bien-comprendre-sendfile-tcp-nodelay-et-tcp-nopush.html">très bon article</a> qui plonge littéralement dans les spécificité du noyau.</p>
<pre><code>sendfile on;
tcp_nopush on;
tcp_nodelay on;</code></pre>
<p>Dans le cas de très nombreuses connexions entre le proxy et le serveur backend, on peut faire face à un problème. Le <em>TCP Maximum Segment Lifetime</em> définit la durée de vie maximale d’une connexion TCP et impacte directement le <code>TIME_WAIT</code> – temps à attendre avant de fermer une connexion TCP, égale à <em>2*MSL</em>.</p>
<p>Là où le bas peut blesser, c’est qu’un grand nombre de connexions en <code>TIME_WAIT</code> peut empêcher d’en ouvrir de nouvelles si on arrive à épuisement du nombre de connexions ouvertes entre deux ip – défini par le couple port/ip, soit le nombre de ports définis dans <code>/proc/sys/net/ipv4/ip_local_port_range</code>, en général ± 30 000. Dans cette configuration, on ne pourra effectuer plus de <em>30000/(2 x MSL)</em> requêtes par secondes, soit <em>30000/(2 x 30)</em>, soit 500 req/sec.</p>
<p>Plusieurs solutions sont possibles :</p>
<ul>
<li>activer keepalive pour maintenir les connexions ouvertes,</li>
<li>utiliser <code>net.ipv4.tcp_tw_reuse</code> afin de recycler plus rapidement les connexions en <code>TIME_WAIT</code>,</li>
<li>diminuer le <code>tcp_fin_timeout</code>.</li>
</ul>
<p>Le plus efficace et le moins risqué selon moi est d’utiliser keepalive. Cependant, tous les serveurs ne le prennent pas en charge (Haproxy par exemple). Il vous reste donc au choix de diminuer le <code>tcp_fin_timeout</code> ou d’utiliser <code>net.ipv4.tcp_tw_reuse</code> (ou les deux). Je vous invite à lire <a href="http://vincent.bernat.im/fr/blog/2014-tcp-time-wait-state-linux.html">cet article de qualité</a>, lequel traite du problème de connexions en <code>TIME_WAIT</code> et des remèdes potentiels (dont <code>tcp_fin_timeout</code>).</p>
<p>Vous pourrez modifier ces paramètres respectivement dans <code>/proc/sys/net/ipv4/tcp_fin_timeout</code> et <code>/proc/sys/net/ipv4/tcp_tw_reuse</code>.</p>
<p>En dernier lieu, nous allons nous pencher sur quelques optimisations qui s’effectuent au niveau du block <code>server</code>, elles se placeront donc en général dans un VHOST.</p>
<p>Nous l’avons déjà vu plus haut, une connexion TCP s’effectue en trois temps, cela porte le doux nom de <a href="https://fr.wikipedia.org/wiki/Three-way_handshake">Three-way handshake</a>. En gros, cela demande trois échanges de trames TCP/IP entre le client et le serveur. Le premier envoie un paquet SYN (demande de connexion [<em>synchronize</em>]), le second répond SYN/ACK (en gros : 5/5, Roger! [synchronize acknowledge]) et enfin, le client confirme que tout est ok avec un ACK.</p>
<p>À partir de là, la connexion est ouverte, et théoriquement, un socket est créé et le processus en écoute sur ce socket est réveillé : attribution de ressources Nginx dans le cas présent. Pour autant, tant qu’aucune vraie requête n’est effectuée, Nginx n’a rien à faire. L’option <a href="https://unix.stackexchange.com/questions/94104/real-world-use-of-tcp-defer-accept"><code>TCP_DEFER_ACCEPT</code></a> du kernel permet donc de ne réveiller le processus que lors de l’envoie effectif de données. Cette option se traduit dans nginx par <code>deferred</code>.</p>
<p>Dans un autre registre, ce n’est pas tout à fait lié à TCP, mais j’en parle ici quand même, activer le HTTP/2 peut avoir un impact significatif sur les performances. Pour plus de détails sur le protocole, je vous laisse jeter un œil sur <a href="https://fr.wikipedia.org/wiki/Hypertext_Transfer_Protocol/2">l’article Wikipedia</a>.</p>
<p>Les deux optimisations dont nous venons de parler se définissent dans le bloc <code>server</code> et au niveau de la directive <code>listen</code>.</p>
<pre><code>server {
# on active deferred
# pour ipv6 sur le port 80 (http)
listen [::]:80 default_server deferred;

# pour ipv4 sur le port 80 (http)
listen 80 default_server deferred;

# pour ipv6 sur le port 443 (https)
listen [::]:443 ssl http2 deferred;

# pour ipv4 sur le port 443 (https)
listen 443 ssl http2 deferred;
return 444;
}</code></pre>
<p>Quelques précisions supplémentaires sur ce morceau de config. Vous noterez que l’on active HTTP/2 seulement pour le TLS. Il est possible de l’activer en HTTP non sécurisé, mais les navigateurs ne le supportent pas.</p>
<p>Vous remarquez aussi peut-être le <code>default_server</code>. Cela indique à Nginx d’utiliser ce VHOST si l’en-tête <code>Host</code> n’est pas passée avec le requête. Dans le cas d’un accès direct via l’ip par exemple. Et en dernier lieu, <code>return 444</code> signifie que dans ces cas là, la connexion sera réinitialisée puisque si plusieurs sites sont hébergés sur cette même ip:port, en l’absence de <code>Host</code>, il n’est pas possible de savoir lequel on doit servir.</p>
<p>Il y a de nombreuses optimisations potentielles au niveau de la pile TCP/IP, non spécifiques à Nginx, nombre d’entre elles sont détaillées dans cette <a href="http://kaivanov.blogspot.com.es/2010/09/linux-tcp-tuning.html">très bonne ressource</a> dont j’encourage la lecture.</p>
<h2 id="La-thread-pool">La thread pool</h2>
<p>Il arrive que certaines opérations bloquantes soient lentes (comme la lecture de fichiers sur le disque). Les requêtes de fichiers de taille importante qui ne tiennent pas en mémoire par exemple, bloqueront un thread de Nginx jusqu’à ce que le disque retourne le fichier en question. Admettons-le, c’est assez dommage. Heureusement, Nginx a une solution pour ça !</p>
<p>Il s’agit de placer cette requête dans une “file d’attente” et de traiter d’autres requêtes en attendant que le disque ait fini son opération de lecture. Ainsi, on ne bloque pas plusieurs requêtes en attendant une I/O pour l’une d’entre elle, on place cette dernière en attente et on utilise le thread ainsi libéré pour servir d’autres requêtes.</p>
<p>Un article sur <a href="https://www.nginx.com/blog/thread-pools-boost-performance-9x/">le blog de Nginx</a> détaille le fonctionnement de la thread pool et présente un benchmark où les performances en charge sont multipliées par 9 ! Il faut pour cela utiliser l’option <a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#aio"><code>aio</code></a> :</p>
<pre><code>location / {
root /var/www;
aio threads;
directio 5m;
}</code></pre>
<p>Ici, vous remarquez aussi l’option <code>directio</code>. Cette dernière s’utilise toujours conjointement à <code>aio</code>. Lorsque vous activez aussi l’option <code>sendfile</code> vue plus haut, <code>aio</code> est utilisé pour les fichiers de taille égale ou supérieure à <code>directio</code>, tout le reste utilise <code>sendfile</code>.</p>
<p><em>N’hésitez pas à me faire part de vos remarques et compléments d’infos en commentaires. Avez-vous été confronté à des problèmes ? Avez-vous pu augmenter les performances ? Faites-nous part de vos expériences !</em></p>
</article>


<hr>

<footer>
<p>
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-rss2"></use>
</svg> Suivre</a> •
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-user-tie"></use>
</svg> Pro</a> •
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-mail"></use>
</svg> Email</a> •
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-hammer2"></use>
</svg> Légal</abbr>
</p>
<template id="theme-selector">
<form>
<fieldset>
<legend><svg class="icon icon-brightness-contrast">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-brightness-contrast"></use>
</svg> Thème</legend>
<label>
<input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
</label>
<label>
<input type="radio" value="dark" name="chosen-color-scheme"> Foncé
</label>
<label>
<input type="radio" value="light" name="chosen-color-scheme"> Clair
</label>
</fieldset>
</form>
</template>
</footer>
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
<script>
function loadThemeForm(templateName) {
const themeSelectorTemplate = document.querySelector(templateName)
const form = themeSelectorTemplate.content.firstElementChild
themeSelectorTemplate.replaceWith(form)

form.addEventListener('change', (e) => {
const chosenColorScheme = e.target.value
localStorage.setItem('theme', chosenColorScheme)
toggleTheme(chosenColorScheme)
})

const selectedTheme = localStorage.getItem('theme')
if (selectedTheme && selectedTheme !== 'undefined') {
form.querySelector(`[value="${selectedTheme}"]`).checked = true
}
}

const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
window.addEventListener('load', () => {
let hasDarkRules = false
for (const styleSheet of Array.from(document.styleSheets)) {
let mediaRules = []
for (const cssRule of styleSheet.cssRules) {
if (cssRule.type !== CSSRule.MEDIA_RULE) {
continue
}
// WARNING: Safari does not have/supports `conditionText`.
if (cssRule.conditionText) {
if (cssRule.conditionText !== prefersColorSchemeDark) {
continue
}
} else {
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
continue
}
}
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
}

// WARNING: do not try to insert a Rule to a styleSheet you are
// currently iterating on, otherwise the browser will be stuck
// in a infinite loop…
for (const mediaRule of mediaRules) {
styleSheet.insertRule(mediaRule.cssText)
hasDarkRules = true
}
}
if (hasDarkRules) {
loadThemeForm('#theme-selector')
}
})
</script>
</body>
</html>

+ 305
- 0
cache/2024/b33059055c307477e43390a51f9a104a/index.md ファイルの表示

@@ -0,0 +1,305 @@
title: Optimisez Nginx pour de meilleurs performances
url: https://buzut.net/optimiser-nginx/
hash_url: b33059055c307477e43390a51f9a104a
archive_date: 2024-03-13
og_image: https://d33wubrfki0l68.cloudfront.net/f87f6e0bd31d5f46d08cde68fbb8ee51bb3a9e91/969de/img/logo.png
description: Nginx est réputé pour sa rapidité, mais quand votre serveur fait face à un trafic énorme, il est possible d'en tirer encore plus. Voyons comment !
favicon: https://buzut.net/img/favicon.png
language: fr_FR

<p>Nginx de part sa robustesse, sa structure minimaliste et son fonctionnement événementiel asynchrone est un serveur web plébiscité pour ses performances. Mais ce n’est pas parce qu’on a une Porsche qu’il ne faut pas tenter de la rendre encore plus puissante !</p>
<p>Pour des sites à fort trafic, un serveur bien optimisé signifie deux choses : des requêtes servies plus vite et un besoin en machines (scaling horizontal) inférieur. Alors pourquoi s’en priver ?</p>

<nav class="toc">
<p>Au programme</p>
<ol class="toc"><li class="toc-item toc-level-2"><a class="toc-link" href="#Les-workers"><span class="toc-text">Les workers</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#Les-buffers"><span class="toc-text">Les buffers</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#Les-timeouts"><span class="toc-text">Les timeouts</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#La-compression"><span class="toc-text">La compression</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#Le-cache-statique"><span class="toc-text">Le cache statique</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#L%E2%80%99open-file-cache"><span class="toc-text">L’open file cache</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#Le-logging"><span class="toc-text">Le logging</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#La-speciale-TLS"><span class="toc-text">La spéciale TLS</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#Optimisations-TCP"><span class="toc-text">Optimisations TCP</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#La-thread-pool"><span class="toc-text">La thread pool</span></a></li></ol>
</nav>


<h2 id="Les-workers">Les workers</h2><p>La première chose à explorer est le fichier de configuration général de Nginx : <code>/etc/nginx/nginx.conf</code>. Nous allons ici définir le nombre de workers ainsi que le nombre de connexions pour chacun d’entre eux.</p>
<p>Concentrons nous d’abord sur <code>worker_processes</code>. Cette directive spécifie le nombre total de workers à créer au démarrage de Nginx. La valeur optimale est d’en avoir un par <em>cpu core</em>. Si vous avez un VPS – lesquels ont souvent un vCPU avec un seul vCore – il arrive souvent que la valeur par défaut soit supérieure au nombre total de cores. Ce n’est pas très grave, néanmoins, les processus supplémentaires vont un peu se tourner les pouces… pas bien utile. Pour définir cette valeur, il nous suffit donc de déterminer le nombre total de cores :</p>
<pre><code># grep -c ^processor /proc/cpuinfo
12</code></pre><p>Nous avons notre réponse, ici : 12.</p>
<p>Passons maintenant à la directive <code>worker_connections</code>. Elle spécifie combien de connections simultanées chaque worker est en mesure d’établir. Étant donné qu’une connexion nécessite un <em>file descriptor</em> au minimum, une bonne base est d’établir ce nombre en fonction des limites de notre système. Dans le cas de Nginx en reverse proxy, il faut un <em>file descriptor</em> pour la connexion client et un autre vers le serveur proxifié, soit deux par connexion.</p>
<pre><code># ulimit -n
1024</code></pre><p>Par défaut, la limite du nombre de fichiers ouverts est souvent de 1024. Selon la configuration du système, cette limite peut être très largement augmentée. Voyez mon <a href="/optimiser-gestion-ressources-systeme-ulimit/">article sur <em>ulimit</em></a> afin de modifier ces configurations.</p>
<p>Vous lirez peut-être dans certains articles qu’il faut définir la directive <code>worker_rlimit_nofile</code>. Cette dernière a justement pour but de configurer le <em>ulimit</em>. Il faut impérativement que le serveur démarre en root avant de passer à un utilisateur non privilégié, sans quoi il ne pourra augmenter cette limite. Par ailleurs, s’il y a d’autres logiciels qui utilisent le même utilisateur – nginx sous Debian – il est bon de leur en laisser quelques uns. Vous devrez dans ce cas avoir une valeur pour <code>worker_connections</code> légèrement inférieur à <code>worker_rlimit_nofile</code>.</p>
<p>Pour ma part, sauf cas particuliers, je trouve plus fiable de paramétrer le ulimit en utilisant la configuration du système et de se contenter d’attribuer la même valeur au <em>ulimit</em> et à <code>worker_connections</code> (si Nginx est seul à tourner avec ce user).</p>
<p>En faisant <code>worker_processes</code> x <code>worker_connections</code>, on peut déjà se faire une idée du nombre de connexions simultanées que Nginx va pouvoir encaisser. Bien entendu, d’autres paramètres entrent en ligne de compte.</p>
<p>Par ailleurs, il ne s’agit pas non plus de s’obstiner à atteindre le plus grand nombre possible de connexions. Mieux vaut en effet servir 1000 connexions simultanées en 1s et passer aux 1000 suivantes, que d’en servir 2000 en 4s.</p>
<p>En dernier lieu, on permet aux workers d’accepter plusieurs nouvelles connexions de manière simultané en activant <a href="http://nginx.org/en/docs/ngx_core_module.html#multi_accept"><code>multi_accept</code></a>. Cela peut être d’une grande utilité lors de pics de trafic.</p>
<pre><code>multi_accept on;</code></pre><h2 id="Les-buffers">Les buffers</h2><p>Les buffers permettent à Nginx de travailler en RAM plutôt que sur le disque. Je ne vais pas vous faire un dessin, vous savez bien que les accès disque sont infiniment plus lents que le travail en RAM. On va donc configurer les buffers pour que notre serveur puisse travailler en mémoire autant que faire se peut.</p>
<p>Il y a quatre types de buffers :</p>

<dl>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size"><code>client_body_buffer_size</code></a></dt>
<dd>Le buffer qui récupère les données clients (typiquement les données POST).</dd>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#client_header_buffer_size"><code>client_header_buffer_size</code></a></dt>
<dd>Celui-ci s'occupe également des données du client, mais concerne l'en-tête. Généralement, 1k suffit ici amplement (la valeur par défaut). Qui plus est, dans le cas où cette limite est dépassée, alors c'est la directive <code>large_client_header_buffers</code> qui s'applique.</dd>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size"><code>client_max_body_size</code></a></dt>
<dd>La taille maximum des requêtes envoyées par le client. Si vous autorisez des uploads de fichiers, il s'agit d'y penser ici. Si cette limite est dépassée, Nginx retourne une erreur 413.</dd>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#large_client_header_buffers"><code>large_client_header_buffers</code></a></dt>
<dd>Taille et nombre maximum que peuvent atteindre les buffers pour les en-têtes. Au delà, une erreur est retournée.</dd>
</dl>


<p>Les réglages des buffers sont plus délicats et subjectifs que ceux des workers. Cela dépend énormément de votre application. <code>client_body_buffer_size</code> définit la quantité maximale des données <code>GET</code> ou <code>POST</code> qui seront stockées en RAM. La question à se poser est donc la suivante : quelle proportion de vos requêtes sont supérieur à une taille donnée ? Ces requêtes nécessitent-elles d’être traitée très rapidement ? Par exemple, pour l’upload de gros fichiers, il est tout à fait tolérable d’écrire les fichiers sur le disque. En effet, le temps supplémentaire liée à l’écriture sur le disque est dérisoire par rapport au temps d’upload.</p>
<p>En revanche, il faut bien avoir à l’esprit que plus cette limite est élevée, plus votre serveur prête le flanc aux attaques DoS, puisqu’il allouera potentiellement plus de mémoire aux requêtes et arrivera donc potentiellement plus rapidement à saturation en RAM.</p>
<p>La logique prévalente pour les buffers est souvent d’essayer et d’aviser ! Dans une application permettant l’upload de fichiers, je laisserais <code>client_body_buffer_size</code> à sa valeur par défaut de <code>16k</code> (sur processeurs 64 bits), idem pour <code>client_header_buffer_size</code> qui est de <code>1k</code>.</p>
<p><code>client_max_body_size</code> aura ici une valeur élevée puisque je veux autoriser l’upload de fichiers (disons <code>20m</code>, là encore tout dépend du type de fichiers !). Enfin, je serais plus conservateur que les défauts (<code>4 8k</code>) pour <code>large_client_header_buffers</code>, et mettrais <code>2 3k</code> car mon applications possède des headers relativement modestes. En résumé :</p>
<pre><code>client_body_buffer_size 16K;
client_header_buffer_size 1k;
client_max_body_size 20m;
large_client_header_buffers 2 3k;</code></pre><p>J’insiste de nouveau sur ce point, tout dépend de votre application. Si votre applicatif soumet de gros articles en POST, il faudra peut-être revoir à la hausse les <code>16k</code> de <code>client_body_buffer_size</code>. Il n’y a ici pas de règle générale.</p>
<h3 id="Proxy-buffers">Proxy buffers</h3><p>Il existe des buffers spécifiquement dédiés aux proxies. Dans le cas où les buffers sont désactivés, Nginx commence l’envoie des données au client aussitôt qu’il les reçoit du backend serveur. Si le client est rapide, tout est pour le mieux. Cependant, si le client est moins véloce, ce fonctionnement oblige à conserver une connexion ouverte entre Nginx – le serveur de proxy – et le backend serveur ; ce qui peut s’avérer dommageable.</p>
<p>L’activation des buffers permet donc à Nginx de d’abord récupérer l’ensemble des données de la requêtes depuis le backend serveur, de libérer ce dernier, puis de servir les données au client.</p>

<dl>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering"><code>proxy_buffering</code></a></dt>
<dd>Contrôle l'activation du buffer pour le proxy (activé par défaut).</dd>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size"><code>proxy_buffer_size</code></a></dt>
<dd>Définie la taille du buffer pour les en-têtes de la réponse. <code>8k</code> par défaut sur systèmes 64 bits. On peut ici laisser la valeur par défaut car les en-têtes dépassent rarement <code>8k</code>.</dd>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers"><code>proxy_buffers</code></a></dt>
<dd>Détermine la taille et le nombre des buffers pour le corps de la réponse. Une fois n'est pas coutume, la valeur dépendra grandement de votre application. La valeur par défaut (toujours pour les systèmes 64 bits) est de 8 buffers de <code>8k</code>. Il s'agit de paramètres s'appliquant <strong>par requête</strong>. Ainsi, le réglage par défaut permettra de stocker dans les buffers des réponses jusqu'à <code>64kb</code>. À vous de voir si votre application retourne des résultats plus importants (sachant qu'ensuite les fichiers sont <a href="http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_max_temp_file_size">écrits sur le disque</a>).</dd>
</dl>


<pre><code>proxy_buffering on;
proxy_buffer_size 1k;
proxy_buffers 12 4k;</code></pre><h2 id="Les-timeouts">Les timeouts</h2><p>Question existentielle s’il en est, les timeouts peuvent avoir un impact conséquent à la fois sur la vitesse ressentie par les utilisateurs, mais aussi sur la charge du serveur. Les timeouts se divisent également en plusieurs directives :</p>

<dl>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_timeout"><code>client_body_timeout</code></a></dt>
<dd>Ce timeout s'applique au body. Il définit le temps maximum entre deux opérations d'écriture (pas le temps total de transfert donc). Admettons que je veuille transférer de gros fichiers (plusieurs centaines de MB), je pourrais fixer ce timeout à 30s (défaut 60s). Si le client n'envoie aucune donnée dans ce laps de temps, le serveur émet une erreur 408.</dd>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#client_header_timeout"><code>client_header_timeout</code></a></dt>
<dd>Même logique que la directive précédente mais le timeout s'applique bien ici à la totalité de la transaction. Néanmoins, les en-têtes étant beaucoup plus légères, je me contenterai pour ma part d'établir le timeout à 10s (défaut 60s) pour les headers.</dd>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_timeout"><code>keepalive_timeout</code></a></dt>
<dd>Cette directive permet à la fois de spécifier le <em>keepalive timeout</em> mais également le header <em>Keep-Alive: timeout=durée</em>.

Avec des serveurs tels qu'Apache où le serveur conserve un thread par connexion ouverte, de telles connexions impliquent une consommation de mémoire. Cependant, avec des serveurs événementiels comme Nginx, ce coût est relativement faible et il n'est donc pas très impactant en consommation ressources.

Une fois n'est pas coutume, la valeur idéale dépendra de la typologie de votre application. L'effet du keepalive se fait surtout ressentir lorsque de nombreux éléments sont à télécharger puisqu'on gagne <em>nbr_ressources x temps_connexion_tcp</em>. C'est évidemment moins flagrant pour une requête unique. Si votre application nécessite de nombreuses requêtes à intervalles régulières (<em>polling ajax</em> par exemple), il pourra être judicieux de conserver un keepalive long. Au contraire, dans le cas d'un site plus statique, comme un blog, si aucune autre connexion n'est envisagée après le chargement de la page et de ses ressources, on pourra avoir un keepalive assez court.

L'intérêt du keepalive est d'autant plus grand si vous êtes en https. En effet, à chaque ouverture de connexion, il vous faudra renégocier un <a href="https://fr.wikipedia.org/wiki/Three-way_handshake">Three-way handshake TLS</a>, ce qui prend du temps et demande de la puissance au serveur.

Le keepalive est à 75s par défaut, il n'y a vraiment pas de règles en la matière. On peut estimer que 30s est une valeur standard, mais on pourra même l'abaisser à 10s dans notre exemple de blog. HTML5 boilerplate le définit même à 300 dans sa configuration Nginx ! Comme il n'est pas très risqué de laisser la valeur élevée, on peut donc aisément le mettre à plusieurs minutes et ne l'abaisser qu'en cas de problème de performances face à un fort trafic.</dd>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#send_timeout"><code>send_timeout</code></a></dt>
<dd>C'est en quelque sorte le pendant inverse des body et header timeouts. Ici, le s'agit de définir le temps après lequel le serveur coupe la connexion si le client ne reçoit plus la réponse. Par défaut, 60s.</dd>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_requests"><code>keepalive_requests</code></a></dt>
<dd>Cette directive détermine le nombre de requêtes au bout duquel le connexion sera fermée. La valeur par défaut est à 100, ce qui est assez confortable et il n'est souvent pas nécessaire de modifier cette valeur. Néanmoins, si votre application nécessite le chargement de très nombreuses ressources (&gt; 100), il peut être intéressant d'augmenter cette valeur pour qu'elle soit légèrement supérieur au nombre de ressources à charger.</dd>
</dl>


<p>Comme expliqué, étant donné le faible impact de performance sur Nginx, je préfère être généreux au départ et abaisser les timeouts au besoin :</p>
<pre><code>client_body_timeout 30;
client_header_timeout 10;
keepalive_timeout 30;
send_timeout 60;
keepalive_requests 100;</code></pre><h2 id="La-compression">La compression</h2><p>Il ne fait aucun doute que la compression permet d’accélérer les transferts sur le réseau. Il est aussi un fait que compresser les ressources demande un peu de puissance processeur. Comme il existe plusieurs niveau de compression, il s’agit de trouver le juste milieu.</p>
<pre><code>gzip on;
gzip_comp_level 5;
gzip_min_length 1000;
gzip_proxied any;
gzip_types
application/atom+xml
application/javascript
application/json
application/ld+json
application/manifest+json
application/rss+xml
application/vnd.geo+json
application/vnd.ms-fontobject
application/x-font-ttf
application/x-web-app-manifest+json
application/xhtml+xml
application/xml
font/opentype
image/bmp
image/svg+xml
image/x-icon
text/cache-manifest
text/css
text/plain
text/vcard
text/vnd.rim.location.xloc
text/vtt
text/x-component
text/x-cross-domain-policy;</code></pre><p>Voici en général mes réglages. Le niveau de compression 5 est le juste milieu <a href="http://serverfault.com/questions/253074/what-is-the-best-nginx-compression-gzip-level#answer-452642">selon moi</a> – on pourra toujours le baisser si on a trop de charge CPU. On ne compresse pas les fichiers de taille inférieure à 1ko (on n’y gagnera pas grand chose), on compresse sans distinction les éléments qui proviennent d’un proxy et on active la compression pour les fichiers textes, le js, les css, le json, le xml et d’autres un peu moins courants. Vous ne trouverez ici pas les images jpeg et png car ce sont déjà des fichiers compressés.</p>
<p>Sachez également que la directive <a href="http://nginx.org/en/docs/http/ngx_http_gzip_module.html#gzip_buffers"><code>gzip_buffers</code></a> peut s’avérer intéressante. Elle définie le nombre et la taille des buffers alloué à la compression. Par défaut, sur les architectures 64 bits, jusqu’à 16 buffers de 8k sont autorisés.</p>
<p>Tout va ici dépendre de la taille de vos fichiers. Il s’agit, comme <a href="https://forum.nginx.org/read.php?2,239316,239344#msg-239344">expliqué dans ce post</a> d’arbitrer entre le nombre de buffers (gérer de nombreux buffers consomme un peu de CPU) ou attribuer plus d’espace aux buffers (utilise plus d’espace mémoire). Si vous n’avez pas assez d’espace dans les buffers pour contenir l’ensemble de la réponse, Nginx attendra qu’une partie de la réponse soit envoyée au client et utilisera ensuite l’espace libéré.</p>
<h3 id="Pre-compression">Pré-compression</h3><p>Enfin, sachez aussi qu’il est possible, avec le module <a href="http://nginx.org/en/docs/http/ngx_http_gzip_static_module.html">gzip_static</a>, de pré-compresser des fichiers pour que Nginx puisse les servir sans avoir à les compresser à la volée.</p>
<p>Vous en avez peut-être entendu parler, Brotli est un algorithme de compression plus récent que Gzip qui offre de bien meilleurs taux de compression. Le <a href="https://github.com/google/ngx_brotli">module Brotli</a> développé par Google n’est pas nativement intégré à Nginx et nécessite de le recompiler.</p>
<p>Nous ne pourrons donc pas compresser directement en Brotli. Cependant, nous pouvons profiter de la pré-compression en Brotli lors du <a href="/npm-for-everything/">processus de build</a> et servir ces fichiers via quelques directives. C’est la stratégie que <a href="/configuration-dun-serveur-linux-apache2/#compression">j’adopte avec Apache</a>. On va donc créer un fichier de config pour Nginx <code>/etc/nginx/conf.d/static_brotli.conf</code>.</p>
<pre><code>set $extension "";

# si le navigateur accepte brotli
if ($http_accept_encoding ~ br) {
set $extension .br;
}

# et que le fichier .br existe sur le disque
if (-f $request_filename$extension) {
rewrite (.*) $1$extension break;
}

# on désactive gzip et en envoie en .br
location ~ /*.html.br {
gzip off;
types {}
default_type text/html;
add_header Content-Encoding br;
add_header Vary "Accept-Encoding";
}

location ~ /*.css.br$ {
gzip off;
types {}
default_type text/css;
add_header Content-Encoding br;
add_header Vary "Accept-Encoding";
}

location ~ /*.js.br$ {
gzip off;
types {}
default_type application/javascript;
add_header Content-Encoding br;
add_header Vary "Accept-Encoding";
}

location ~ /*.svg.br$ {
gzip off;
types {}
default_type image/svg+xml;
add_header Content-Encoding br;
add_header Vary "Accept-Encoding";
}</code></pre><p>Il ne vous reste plus qu’à l’inclure depuis n’importe quelle directive <code>server</code> ou <code>location</code>. Par exemple, depuis un fichier de configuration d’un site :</p>
<pre><code>server {
listen [::]:443;
listen 443;

server_name super-site.com;
root /var/www;

charset utf-8;

location / {
try_files $uri $uri.html $uri/ =404;
}

# tous vos fichiers seront servis en brotli pour les navigateurs compatibles
include conf.d/static_brotli.conf;

# brotli ne fonctionne qu'en TLS
include conf.d/ssl.conf;
ssl_certificate /etc/letsencrypt/live/super-site.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/super-site.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/super-site.com/chain.pem;
}</code></pre><h2 id="Le-cache-statique">Le cache statique</h2><p>Grand classique du web, permettre aux navigateurs et proxies intermédiaires de placer certaines ressources en cache, c’est éviter au serveur d’avoir à les renvoyer plus tard. Selon la fréquence à laquelle changent vos fichiers, on peut attribuer une période de validité plus ou moins longue au cache. Disons deux mois pour l’exemple :</p>
<pre><code>location ~* .(jpg|jpeg|png|gif|ico|css|js)$ {
expires 60d;
}</code></pre><p>Nous cachons donc pour deux mois tous les fichiers d’extensions suivantes : jpg, jpeg, png, gif, ico, css, js.</p>
<h2 id="L’open-file-cache">L’open file cache</h2><p>Ce type de cache permet de conserver les métadonnées en mémoire, et donc de limiter l’I/O. Voici un exemple de configuration :</p>
<pre><code>open_file_cache max=2000 inactive=5m;
open_file_cache_valid 2m;
open_file_cache_min_uses 2;
open_file_cache_errors on;</code></pre><p>Cette configuration indique au serveur de mettre en cache 2000 <em>open file descriptors</em> et de les fermer si aucune requête les concernant n’est demandé au bout de 5 minutes. La validité des informations en cache est revérifiée après 2 minutes et un fichier doit être requêté un minimum de deux fois afin d’être valide pour le cache. Enfin, les fichiers d’erreurs sont ici également valables pour le cache.</p>
<h2 id="Le-logging">Le logging</h2><p>Demander à NGINX d’écrire des logs, c’est encore lui demander une chose supplémentaire. Évidemment, le plus performant, c’est encore de ne pas logger ! On parle bien de l’<code>access_log</code>, pas de l’<code>error_log</code> qu’il n’est pas question de supprimer. D’autant plus que, théoriquement, il ne devrait pas y avoir trop d’erreurs donc la charge est faible concernant ce dernier.</p>
<p>Pour l’<a href="http://nginx.org/en/docs/http/ngx_http_log_module.html#access_log"><code>access_log</code></a>, si vous ne l’exploitez pas, le mieux est encore de le désactiver complètement avec <code>access_log off;</code>. Cette directive prend sa place dans <code>http</code>, <code>server</code> ou <code>location</code>. Vous pouvez donc définir un comportement global directement dans le <code>nginx.conf</code> et/ou affiner seulement pour certains domaines ou répertoires.</p>
<p>Si vous ne souhaitez pas le désactiver totalement, d’autres options s’offrent à nous. Déjà, autant utiliser un buffer afin de réduire les I/O disque.</p>
<pre><code>access_log /var/log/nginx/access.log combined buffer=10m flush=5m;</code></pre><p>Dans l’exemple précédent, vous écrivez les logs sur le disque soit lorsque le buffer de 10MB est plein, soit toutes les 10mn (première condition remplie). Cela est bien entendu à moduler selon votre trafic. Pour un blog avec quelques centaines de visites pas jour, les 10MB de logs ne seront jamais atteints en 5 minutes. En revanche, pour un site à très fort trafic, à vous de voir s’il n’est pas judicieux d’augmenter la taille du buffer. Gardez cependant à l’esprit qu’en cas de crash, tout ce qui n’est pas écrit sur le disque est perdu.</p>
<p>Pour logger mais logger moins, il est également possible de logger de manière conditionnelle. On peut par exemple n’être intéressé que par les erreurs 4xx ou vouloir écrémer le gros des 2xx et 3xx qui indiquent juste que tout fonctionne bien.</p>
<pre><code># on ne log pas les 2xx &amp; 3xx
map $status $loggable {
~^[23] 0;
default 1;
}

access_log /var/log/nginx/access.log combined buffer=10m flush=5m if=$loggable;</code></pre><p>Petite précision au passage, la directive <code>map</code> prend sa place dans un bloc <code>http</code>. Si vous la placez dans un fichier de configuration vhost dans server ou location, vous aurez une belle erreur. On place dans notre directive <code>map</code> au niveau <code>http</code> et la directive <code>access_log</code> dans location si elle ne doit pas s’appliquer de manière globale.</p>
<p>Par ailleurs, il arrive que l’on veuille définir une règle en fonction de plusieurs variables. Prenons un exemple concret. Nous avons une api à fort trafic et nous ne voulons donc pas tout logger par défaut. Nous nous contentons de logguer les erreurs avec la règle vue ci-dessus.</p>
<p>Néanmoins, certaines url sont particulièrement sensibles. Par exemple, nous avons un endpoint qui permet de créer un compte utilisateur. Nous ne voulons pas laisser un bot créer des comptes à la volée. Nous allons donc logger cette url en particulier et demander à fail2ban de <a href="/installer-et-parametrer-fail2ban/">bloquer les ips qui y accèdent de manière récurrente</a>.</p>
<pre><code># on ne log pas les 2xx &amp; 3xx
map $status $loggable_status {
~^[23] 0;
default 1;
}

# ici si l'url contient signup, on logge
map $request $loggable {
~signup 1;
default $loggable_status;
}

access_log /var/log/nginx/access.log combined buffer=10m flush=5m if=$loggable;</code></pre><h2 id="La-speciale-TLS">La spéciale TLS</h2><p>Bien que Nginx nomme toutes les variables SSL, vous savez très bien que le protocole est définitivement à bannir au profit de TLS. Petite parenthèse, si la sécurité vous intéresse, sachez qu’au delà du protocole, c’est aussi la suite de chiffrement qui assure la sécurité. Vous pouvez tester la sécurité de votre site avec ce <a href="https://www.ssllabs.com/ssltest/">scanner SSL/TLS</a> et générer vos configurations serveurs avec le <a href="https://mozilla.github.io/server-side-tls/ssl-config-generator/">générateur de Mozilla</a>.</p>
<p>Bref, revenons-en à nos moutons. Nous l’avons dit, le three-way handshake prend du temps et est couteux en ressources. Puisque le client et le serveur ce sont déjà entendus, il est possible de dire à Nginx de mettre en cache cette session. Ainsi, lorsqu’il voudra de nouveau établir une connexion, le client n’aura plus qu’à se rappeler aux bons souvenirs de Nginx. Le three-way handshake ne compte plus que deux allez-retours entre client et serveur et Nginx s’épargne quelques calculs cryptographiques. Bien que datant de 2011, ce <a href="http://vincent.bernat.im/en/blog/2011-ssl-session-reuse-rfc5077.html">post</a> vous éclairera sur la théorie derrière cette histoire de cache.</p>
<p>Trois paramètres sont à considérer :</p>

<dl>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_cache"><code>ssl_session_cache</code></a></dt>
<dd>Il permet de définir si on active le cache on non, de spécifier le type de cache (<code>builtin</code> ou <code>shared</code>) ainsi que la taille de ce dernier. Il est à <code>none</code> par défaut. La doc Nginx établit que 1MB permet de stocker 4000 sessions. À vous de juger combien de à sessions vous estimez devoir faire face et la durée de rétention que vous leur accordez. N'ayez crainte, au pire des cas Nginx invalidera les sessions prématurément, il n'y aura pas d'effusion de sang.</dd>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_timeout"><code>ssl_session_timeout</code></a></dt>
<dd>Précise la durée au bout de laquelle la session est invalidée.</dd>
<dt><a href="http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_buffer_size"><code>ssl_buffer_size</code></a></dt>
<dd>Permet de déterminer pour l'envoie des données. <a href="https://github.com/igrigorik/istlsfastyet.com/issues/63">Gros débat</a> sur la question de la taille de ce dernier, une fois de plus, tout dépend du type de contenus que vous servez.</dd>
</dl>


<p>Et bien entendu quelques valeurs d’exemples :</p>
<pre><code>ssl_session_cache shared:SSL:10m;
ssl_session_timeout 24h;
ssl_buffer_size 1400;</code></pre><p>En plus des caches, il y a une dernière optimisation qu’il est possible de réaliser, elle a pour doux nom l’<a href="https://fr.wikipedia.org/wiki/Agrafage_OCSP"><em>OSCP stapling</em></a>. Lorsqu’un serveur fourni un certificat, le client en vérifie la validité en interrogeant l’autorité émettrice du certificat. Évidemment, cela demande une requête supplémentaire au client. On peut éviter cela en demandant au serveur de joindre directement l’autorité émettrice et d’ainsi “agraffer” (d’où le <em>stampling</em>) la réponse signée et horodatée de l’autorité afin de prouver la validité du certificat.</p>
<pre><code>ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 216.146.35.35 216.146.36.36 valid=60s;
resolver_timeout 2s;</code></pre><p>Il est possible de préciser un resolver, en cas d’absence de la directive <code>resolver</code>, le serveur DNS par défaut sera interrogé. C’est d’ailleurs souvent avantageux car dans le cas d’un serveur, il se trouve en général dans le même datacenter.</p>
<h2 id="Optimisations-TCP">Optimisations TCP</h2><p>On arrive là dans le domaine de l’optimisation de pointe ! Il est possible de spécifier à Nginx la manière dont quelques options de TCP doivent être gérées. De manière synthétique, ces réglages vont nous permettre de :</p>
<ul>
<li><code>sendfile</code> : d’optimiser la copie des données depuis le <em>file descriptors</em> vers le buffer du kernel (ok, c’est compliqué !),</li>
<li><code>tcp_nopush</code> : n’envoyer les données que lorsque le paquet IP est rempli (quantité de données égale au <a href="https://fr.wikipedia.org/wiki/Maximum_Segment_Size">MSS</a>),</li>
<li><code>tcp_nodelay</code> : diminuer la latence de 200ms avant l’envoie des données sur le réseau (on attend ici pas que le paquet soit rempli. Utilisés conjointenenement avec <code>tcp_nopush</code>, NGINX n’active l’option <code>tcp_nodelay</code> que lorsqu’on atteint la fin des données à envoyer et qu’il n’est pas possible de remplir un paquet).</li>
</ul>
<p>Pour comprendre tout cela dans les détails, vous pouvez vous référer à ce <a href="https://t37.net/optimisations-nginx-bien-comprendre-sendfile-tcp-nodelay-et-tcp-nopush.html">très bon article</a> qui plonge littéralement dans les spécificité du noyau.</p>
<pre><code>sendfile on;
tcp_nopush on;
tcp_nodelay on;</code></pre><p>Dans le cas de très nombreuses connexions entre le proxy et le serveur backend, on peut faire face à un problème. Le <em>TCP Maximum Segment Lifetime</em> définit la durée de vie maximale d’une connexion TCP et impacte directement le <code>TIME_WAIT</code> – temps à attendre avant de fermer une connexion TCP, égale à <em>2*MSL</em>.</p>
<p>Là où le bas peut blesser, c’est qu’un grand nombre de connexions en <code>TIME_WAIT</code> peut empêcher d’en ouvrir de nouvelles si on arrive à épuisement du nombre de connexions ouvertes entre deux ip – défini par le couple port/ip, soit le nombre de ports définis dans <code>/proc/sys/net/ipv4/ip_local_port_range</code>, en général ± 30 000. Dans cette configuration, on ne pourra effectuer plus de <em>30000/(2 x MSL)</em> requêtes par secondes, soit <em>30000/(2 x 30)</em>, soit 500 req/sec.</p>
<p>Plusieurs solutions sont possibles :</p>
<ul>
<li>activer keepalive pour maintenir les connexions ouvertes,</li>
<li>utiliser <code>net.ipv4.tcp_tw_reuse</code> afin de recycler plus rapidement les connexions en <code>TIME_WAIT</code>,</li>
<li>diminuer le <code>tcp_fin_timeout</code>.</li>
</ul>
<p>Le plus efficace et le moins risqué selon moi est d’utiliser keepalive. Cependant, tous les serveurs ne le prennent pas en charge (Haproxy par exemple). Il vous reste donc au choix de diminuer le <code>tcp_fin_timeout</code> ou d’utiliser <code>net.ipv4.tcp_tw_reuse</code> (ou les deux). Je vous invite à lire <a href="http://vincent.bernat.im/fr/blog/2014-tcp-time-wait-state-linux.html">cet article de qualité</a>, lequel traite du problème de connexions en <code>TIME_WAIT</code> et des remèdes potentiels (dont <code>tcp_fin_timeout</code>).</p>
<p>Vous pourrez modifier ces paramètres respectivement dans <code>/proc/sys/net/ipv4/tcp_fin_timeout</code> et <code>/proc/sys/net/ipv4/tcp_tw_reuse</code>.</p>
<p>En dernier lieu, nous allons nous pencher sur quelques optimisations qui s’effectuent au niveau du block <code>server</code>, elles se placeront donc en général dans un VHOST.</p>
<p>Nous l’avons déjà vu plus haut, une connexion TCP s’effectue en trois temps, cela porte le doux nom de <a href="https://fr.wikipedia.org/wiki/Three-way_handshake">Three-way handshake</a>. En gros, cela demande trois échanges de trames TCP/IP entre le client et le serveur. Le premier envoie un paquet SYN (demande de connexion [<em>synchronize</em>]), le second répond SYN/ACK (en gros : 5/5, Roger! [synchronize acknowledge]) et enfin, le client confirme que tout est ok avec un ACK.</p>
<p>À partir de là, la connexion est ouverte, et théoriquement, un socket est créé et le processus en écoute sur ce socket est réveillé : attribution de ressources Nginx dans le cas présent. Pour autant, tant qu’aucune vraie requête n’est effectuée, Nginx n’a rien à faire. L’option <a href="https://unix.stackexchange.com/questions/94104/real-world-use-of-tcp-defer-accept"><code>TCP_DEFER_ACCEPT</code></a> du kernel permet donc de ne réveiller le processus que lors de l’envoie effectif de données. Cette option se traduit dans nginx par <code>deferred</code>.</p>
<p>Dans un autre registre, ce n’est pas tout à fait lié à TCP, mais j’en parle ici quand même, activer le HTTP/2 peut avoir un impact significatif sur les performances. Pour plus de détails sur le protocole, je vous laisse jeter un œil sur <a href="https://fr.wikipedia.org/wiki/Hypertext_Transfer_Protocol/2">l’article Wikipedia</a>.</p>
<p>Les deux optimisations dont nous venons de parler se définissent dans le bloc <code>server</code> et au niveau de la directive <code>listen</code>.</p>
<pre><code>server {
# on active deferred
# pour ipv6 sur le port 80 (http)
listen [::]:80 default_server deferred;

# pour ipv4 sur le port 80 (http)
listen 80 default_server deferred;

# pour ipv6 sur le port 443 (https)
listen [::]:443 ssl http2 deferred;

# pour ipv4 sur le port 443 (https)
listen 443 ssl http2 deferred;
return 444;
}</code></pre><p>Quelques précisions supplémentaires sur ce morceau de config. Vous noterez que l’on active HTTP/2 seulement pour le TLS. Il est possible de l’activer en HTTP non sécurisé, mais les navigateurs ne le supportent pas.</p>
<p>Vous remarquez aussi peut-être le <code>default_server</code>. Cela indique à Nginx d’utiliser ce VHOST si l’en-tête <code>Host</code> n’est pas passée avec le requête. Dans le cas d’un accès direct via l’ip par exemple. Et en dernier lieu, <code>return 444</code> signifie que dans ces cas là, la connexion sera réinitialisée puisque si plusieurs sites sont hébergés sur cette même ip:port, en l’absence de <code>Host</code>, il n’est pas possible de savoir lequel on doit servir.</p>
<p>Il y a de nombreuses optimisations potentielles au niveau de la pile TCP/IP, non spécifiques à Nginx, nombre d’entre elles sont détaillées dans cette <a href="http://kaivanov.blogspot.com.es/2010/09/linux-tcp-tuning.html">très bonne ressource</a> dont j’encourage la lecture.</p>
<h2 id="La-thread-pool">La thread pool</h2><p>Il arrive que certaines opérations bloquantes soient lentes (comme la lecture de fichiers sur le disque). Les requêtes de fichiers de taille importante qui ne tiennent pas en mémoire par exemple, bloqueront un thread de Nginx jusqu’à ce que le disque retourne le fichier en question. Admettons-le, c’est assez dommage. Heureusement, Nginx a une solution pour ça !</p>
<p>Il s’agit de placer cette requête dans une “file d’attente” et de traiter d’autres requêtes en attendant que le disque ait fini son opération de lecture. Ainsi, on ne bloque pas plusieurs requêtes en attendant une I/O pour l’une d’entre elle, on place cette dernière en attente et on utilise le thread ainsi libéré pour servir d’autres requêtes.</p>
<p>Un article sur <a href="https://www.nginx.com/blog/thread-pools-boost-performance-9x/">le blog de Nginx</a> détaille le fonctionnement de la thread pool et présente un benchmark où les performances en charge sont multipliées par 9 ! Il faut pour cela utiliser l’option <a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#aio"><code>aio</code></a> :</p>
<pre><code>location / {
root /var/www;
aio threads;
directio 5m;
}</code></pre><p>Ici, vous remarquez aussi l’option <code>directio</code>. Cette dernière s’utilise toujours conjointement à <code>aio</code>. Lorsque vous activez aussi l’option <code>sendfile</code> vue plus haut, <code>aio</code> est utilisé pour les fichiers de taille égale ou supérieure à <code>directio</code>, tout le reste utilise <code>sendfile</code>.</p>
<p><em>N’hésitez pas à me faire part de vos remarques et compléments d’infos en commentaires. Avez-vous été confronté à des problèmes ? Avez-vous pu augmenter les performances ? Faites-nous part de vos expériences !</em></p>

+ 185
- 0
cache/2024/c26881e908632b460cfd93fe61cc0466/index.html ファイルの表示

@@ -0,0 +1,185 @@
<!doctype html><!-- This is a valid HTML5 document. -->
<!-- Screen readers, SEO, extensions and so on. -->
<html lang="en">
<!-- Has to be within the first 1024 bytes, hence before the `title` element
See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
<meta charset="utf-8">
<!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
<!-- The viewport meta is quite crowded and we are responsible for that.
See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
<meta name="viewport" content="width=device-width,initial-scale=1">
<!-- Required to make a valid HTML5 document. -->
<title>Following Links - Jim Nielsen’s Blog (archive) — David Larlet</title>
<meta name="description" content="Publication mise en cache pour en conserver une trace.">
<!-- That good ol' feed, subscribe :). -->
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
<!-- Generated from https://realfavicongenerator.net/ such a mess. -->
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
<link rel="manifest" href="/static/david/icons2/site.webmanifest">
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
<meta name="msapplication-TileColor" content="#f7f7f7">
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
<meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
<meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
<!-- Is that even respected? Retrospectively? What a shAItshow…
https://neil-clarke.com/block-the-bots-that-feed-ai-models-by-scraping-your-website/ -->
<meta name="robots" content="noai, noimageai">
<!-- Documented, feel free to shoot an email. -->
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
<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>
<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>
<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>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<script>
function toggleTheme(themeName) {
document.documentElement.classList.toggle(
'forced-dark',
themeName === 'dark'
)
document.documentElement.classList.toggle(
'forced-light',
themeName === 'light'
)
}
const selectedTheme = localStorage.getItem('theme')
if (selectedTheme !== 'undefined') {
toggleTheme(selectedTheme)
}
</script>

<meta name="robots" content="noindex, nofollow">
<meta content="origin-when-cross-origin" name="referrer">
<!-- Canonical URL for SEO purposes -->
<link rel="canonical" href="https://blog.jim-nielsen.com/2024/following-links/">

<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">


<article>
<header>
<h1>Following Links - Jim Nielsen’s Blog</h1>
</header>
<nav>
<p class="center">
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="https://blog.jim-nielsen.com/2024/following-links/" title="Lien vers le contenu original">Source originale</a>
<br>
Mis en cache le 2024-03-12
</p>
</nav>
<hr>
<p>I loved <a href="https://chrisenns.com/2023/11/app-defaults/">this post from Chris Enns</a> (via <a href="https://rknight.me/blog/the-web-is-fantastic/">Robb Knight</a>) where he outlines the rabbit hole of links he ventured down in writing that post.</p>
<p>It felt fun and familiar, as that’s how my own browsing goes, e.g.</p>
<p>“I saw X and I clicked it. Then I saw Y, so I clicked that. But then I went back, which led me to seeing Z. I clicked on that, which led me to an interesting article which contained a link to this other interesting piece. From there I clicked on…”</p>
<p><a href="https://blog.jim-nielsen.com/2024/treating-the-symptoms/">Browsing the web via hyperlinks is fun! That’s surfing!</a></p>
<p>Discovering things via links is way more fun than most algorithmically-driven discovery — in my humble opinion.</p>
<p>As an analogy, it’s kind of like going on vacation to a new place and staying/living amongst the locals vs. staying at a manicured 5-star hotel that gives you no reason to leave. Can you really say you visited the location if you never left the hotel?</p>
<p>I suppose both exist for a reason and can be enjoyed on their own merits. But personally, I think you’re missing out on something if you stay isolated in the walled garden of the 5-star hotel.</p>
<p>Similarly, if you never venture outside a social media platform for creation or consumption — <a href="https://blog.jim-nielsen.com/2024/treating-the-symptoms/">or automated AI browsing and summaries</a> — it’s worth asking what you’re missing.</p>
<p>Have you ever ventured out via links and explored <em>the internet</em>?</p>
</article>


<hr>

<footer>
<p>
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-rss2"></use>
</svg> Suivre</a> •
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-user-tie"></use>
</svg> Pro</a> •
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-mail"></use>
</svg> Email</a> •
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-hammer2"></use>
</svg> Légal</abbr>
</p>
<template id="theme-selector">
<form>
<fieldset>
<legend><svg class="icon icon-brightness-contrast">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-brightness-contrast"></use>
</svg> Thème</legend>
<label>
<input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
</label>
<label>
<input type="radio" value="dark" name="chosen-color-scheme"> Foncé
</label>
<label>
<input type="radio" value="light" name="chosen-color-scheme"> Clair
</label>
</fieldset>
</form>
</template>
</footer>
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
<script>
function loadThemeForm(templateName) {
const themeSelectorTemplate = document.querySelector(templateName)
const form = themeSelectorTemplate.content.firstElementChild
themeSelectorTemplate.replaceWith(form)

form.addEventListener('change', (e) => {
const chosenColorScheme = e.target.value
localStorage.setItem('theme', chosenColorScheme)
toggleTheme(chosenColorScheme)
})

const selectedTheme = localStorage.getItem('theme')
if (selectedTheme && selectedTheme !== 'undefined') {
form.querySelector(`[value="${selectedTheme}"]`).checked = true
}
}

const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
window.addEventListener('load', () => {
let hasDarkRules = false
for (const styleSheet of Array.from(document.styleSheets)) {
let mediaRules = []
for (const cssRule of styleSheet.cssRules) {
if (cssRule.type !== CSSRule.MEDIA_RULE) {
continue
}
// WARNING: Safari does not have/supports `conditionText`.
if (cssRule.conditionText) {
if (cssRule.conditionText !== prefersColorSchemeDark) {
continue
}
} else {
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
continue
}
}
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
}

// WARNING: do not try to insert a Rule to a styleSheet you are
// currently iterating on, otherwise the browser will be stuck
// in a infinite loop…
for (const mediaRule of mediaRules) {
styleSheet.insertRule(mediaRule.cssText)
hasDarkRules = true
}
}
if (hasDarkRules) {
loadThemeForm('#theme-selector')
}
})
</script>
</body>
</html>

+ 18
- 0
cache/2024/c26881e908632b460cfd93fe61cc0466/index.md ファイルの表示

@@ -0,0 +1,18 @@
title: Following Links - Jim Nielsen’s Blog
url: https://blog.jim-nielsen.com/2024/following-links/
hash_url: c26881e908632b460cfd93fe61cc0466
archive_date: 2024-03-12
og_image: https://blog.jim-nielsen.com/assets/img/twitter-card.png
description: Writing about the big beautiful mess that is making things for the world wide web.
favicon: https://blog.jim-nielsen.com/favicon.ico
language: en_US

<p>I loved <a href="https://chrisenns.com/2023/11/app-defaults/">this post from Chris Enns</a> (via <a href="https://rknight.me/blog/the-web-is-fantastic/">Robb Knight</a>) where he outlines the rabbit hole of links he ventured down in writing that post.</p>
<p>It felt fun and familiar, as that’s how my own browsing goes, e.g.</p>
<p>“I saw X and I clicked it. Then I saw Y, so I clicked that. But then I went back, which led me to seeing Z. I clicked on that, which led me to an interesting article which contained a link to this other interesting piece. From there I clicked on…”</p>
<p><a href="https://blog.jim-nielsen.com/2024/treating-the-symptoms/">Browsing the web via hyperlinks is fun! That’s surfing!</a></p>
<p>Discovering things via links is way more fun than most algorithmically-driven discovery — in my humble opinion.</p>
<p>As an analogy, it’s kind of like going on vacation to a new place and staying/living amongst the locals vs. staying at a manicured 5-star hotel that gives you no reason to leave. Can you really say you visited the location if you never left the hotel?</p>
<p>I suppose both exist for a reason and can be enjoyed on their own merits. But personally, I think you’re missing out on something if you stay isolated in the walled garden of the 5-star hotel.</p>
<p>Similarly, if you never venture outside a social media platform for creation or consumption — <a href="https://blog.jim-nielsen.com/2024/treating-the-symptoms/">or automated AI browsing and summaries</a> — it’s worth asking what you’re missing.</p>
<p>Have you ever ventured out via links and explored <em>the internet</em>?</p>

+ 200
- 0
cache/2024/c684ecb41e8e4ea04c6dac1e1d87f776/index.html ファイルの表示

@@ -0,0 +1,200 @@
<!doctype html><!-- This is a valid HTML5 document. -->
<!-- Screen readers, SEO, extensions and so on. -->
<html lang="en">
<!-- Has to be within the first 1024 bytes, hence before the `title` element
See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
<meta charset="utf-8">
<!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
<!-- The viewport meta is quite crowded and we are responsible for that.
See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
<meta name="viewport" content="width=device-width,initial-scale=1">
<!-- Required to make a valid HTML5 document. -->
<title>From a humble beginning 35 years ago, the Web is now central to the daily lives of billions (archive) — David Larlet</title>
<meta name="description" content="Publication mise en cache pour en conserver une trace.">
<!-- That good ol' feed, subscribe :). -->
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
<!-- Generated from https://realfavicongenerator.net/ such a mess. -->
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
<link rel="manifest" href="/static/david/icons2/site.webmanifest">
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
<meta name="msapplication-TileColor" content="#f7f7f7">
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
<meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
<meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
<!-- Is that even respected? Retrospectively? What a shAItshow…
https://neil-clarke.com/block-the-bots-that-feed-ai-models-by-scraping-your-website/ -->
<meta name="robots" content="noai, noimageai">
<!-- Documented, feel free to shoot an email. -->
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
<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>
<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>
<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>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<script>
function toggleTheme(themeName) {
document.documentElement.classList.toggle(
'forced-dark',
themeName === 'dark'
)
document.documentElement.classList.toggle(
'forced-light',
themeName === 'light'
)
}
const selectedTheme = localStorage.getItem('theme')
if (selectedTheme !== 'undefined') {
toggleTheme(selectedTheme)
}
</script>

<meta name="robots" content="noindex, nofollow">
<meta content="origin-when-cross-origin" name="referrer">
<!-- Canonical URL for SEO purposes -->
<link rel="canonical" href="https://www.w3.org/blog/2024/from-a-humble-beginning-35-years-ago-the-web-is-now-central-to-the-daily-lives-of-billions/">

<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">


<article>
<header>
<h1>From a humble beginning 35 years ago, the Web is now central to the daily lives of billions</h1>
</header>
<nav>
<p class="center">
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="https://www.w3.org/blog/2024/from-a-humble-beginning-35-years-ago-the-web-is-now-central-to-the-daily-lives-of-billions/" title="Lien vers le contenu original">Source originale</a>
<br>
Mis en cache le 2024-03-13
</p>
</nav>
<hr>
<figure class="component component--image">
<img src="https://www.w3.org/cms-uploads/web-proposal-1989.gif" extension="gif" srcset="https://www.w3.org/cms-uploads/_360xAUTO_crop_center-center_none/web-proposal-1989.gif 360w, https://www.w3.org/cms-uploads/_580xAUTO_crop_center-center_none/web-proposal-1989.gif 580w, https://www.w3.org/cms-uploads/_920xAUTO_crop_center-center_none/web-proposal-1989.gif 920w, https://www.w3.org/cms-uploads/_1520xAUTO_crop_center-center_none/web-proposal-1989.gif 1520w" sizes="100vw"
loading="lazy"
alt=""
/>
<figcaption>
<p>Diagram illustrating "Information Management: A Proposal" by Tim Berners-Lee, 12 March 1989</p>
</figcaption>
</figure>

<blockquote class="component component--quote">
<p>
“This proposal concerns the management of general information about accelerators and experiments at CERN. It discusses the problems of loss of information about complex evolving systems and derives a solution based on a distributed hypertext system.”
</p>
<footer>Tim Berners-Lee, &quot;Information Management: A Proposal&quot;, 12 March 1989</footer>
</blockquote>
<p>With those words, the World Wide Web was first <a href="https://www.w3.org/History/1989/proposal.html">proposed</a> on this day 35 years ago by Tim Berners-Lee at CERN.</p>
<p>Many inventions and creations often surpass their initial intention and the Web is no exception. The general applicability of the proposed solution to CERN’s problems was quickly apparent as many organizations and systems of people faced similar challenges.</p>
<p>The expanded applicability of the Web is due in large part to the creation of the World Wide Web Consortium 30 years ago. Tim Berners-Lee created a single organization to coordinate web standards, aiming to foster a consistent and interoperable architecture accommodating the rapid pace of progress in web standards. <strong>A single global Consortium that stewards the Web forward to serve the greater good</strong>.</p>
<p>Over the years, the Web and its underlying standards have<strong> evolved to provide solutions to emerging problems</strong> around the world. To name a few, the creation of the Web Accessibility Initiative (WAI) in 1997 was seminal to the deployment of content and sites that are accessible to all, including disabled people; the adoption in 1998 of the Internationalization (i18n) framework to adapt web technologies to the world’s various writing systems thus making the World Wide Web truly world-wide; but also advances that durably shaped the web platform such as Web payments enabling e-Commerce; secure, privacy-respecting and robust online experiences with WebAuthn, Decentralized Identifiers (DIDs), ActivityPub, etc.</p>
<p>To enable such progress, <strong>the Web Consortium too has evolved, always taking a people-first approach</strong>: the Web must continue to serve humanity. The first such inflection point was the creation of the patent policy in 2003 which assures that specifications can be implemented on a Royalty-Free basis and used at no cost, thus boosting adoption and usage. Another is the creation in 2011 of W3C Community and Business Groups which enable everyone –not just W3C Members– to participate in the development of the Web or its technologies. Our most recent inflection point was re-launching the Consortium in 2023 as a public-interest non-profit organization to work for the good of the public.</p>
<p>Along the way we have <strong>fine-tuned our standardization process</strong>, notably by enshrining horizontal review as a key aspect that puts people first: horizontal areas that shape each W3C work package are accessibility, internationalization, security and privacy. And recently a <a href="https://digitallibrary.un.org/record/4031373?ln=en">United Nations report</a> outlined how technical standards do impact people’s enjoyment of their human rights and challenged organizations like ours to ensure standards are more conducive to upholding human rights - a topic I’ll discuss in more detail in the future.</p>
<p>Looking to what is in front of us <strong>we are gathering to face new challenges</strong>. Technical challenges that are rooted in user needs and platform impact. In fact today we have ongoing sessions to discuss critical topics of our time, including ARIA and improved accessibility, the role of real world identities on the web, WoT registries, privacy principles for the web, ethical implications of Generative AI, and how we fund our ecosystem to ensure sustainable success into the future.</p>
<p><strong>From a humble beginning, the Web is now central to the daily lives of billions of people.</strong> W3C with its community is doing the hard but essential work to ensure we are facing challenges, and we continue to evolve our structure to better listen, to increase our reach to include more of the world in this discussion.</p>
</article>


<hr>

<footer>
<p>
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-rss2"></use>
</svg> Suivre</a> •
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-user-tie"></use>
</svg> Pro</a> •
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-mail"></use>
</svg> Email</a> •
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-hammer2"></use>
</svg> Légal</abbr>
</p>
<template id="theme-selector">
<form>
<fieldset>
<legend><svg class="icon icon-brightness-contrast">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-brightness-contrast"></use>
</svg> Thème</legend>
<label>
<input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
</label>
<label>
<input type="radio" value="dark" name="chosen-color-scheme"> Foncé
</label>
<label>
<input type="radio" value="light" name="chosen-color-scheme"> Clair
</label>
</fieldset>
</form>
</template>
</footer>
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
<script>
function loadThemeForm(templateName) {
const themeSelectorTemplate = document.querySelector(templateName)
const form = themeSelectorTemplate.content.firstElementChild
themeSelectorTemplate.replaceWith(form)

form.addEventListener('change', (e) => {
const chosenColorScheme = e.target.value
localStorage.setItem('theme', chosenColorScheme)
toggleTheme(chosenColorScheme)
})

const selectedTheme = localStorage.getItem('theme')
if (selectedTheme && selectedTheme !== 'undefined') {
form.querySelector(`[value="${selectedTheme}"]`).checked = true
}
}

const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
window.addEventListener('load', () => {
let hasDarkRules = false
for (const styleSheet of Array.from(document.styleSheets)) {
let mediaRules = []
for (const cssRule of styleSheet.cssRules) {
if (cssRule.type !== CSSRule.MEDIA_RULE) {
continue
}
// WARNING: Safari does not have/supports `conditionText`.
if (cssRule.conditionText) {
if (cssRule.conditionText !== prefersColorSchemeDark) {
continue
}
} else {
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
continue
}
}
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
}

// WARNING: do not try to insert a Rule to a styleSheet you are
// currently iterating on, otherwise the browser will be stuck
// in a infinite loop…
for (const mediaRule of mediaRules) {
styleSheet.insertRule(mediaRule.cssText)
hasDarkRules = true
}
}
if (hasDarkRules) {
loadThemeForm('#theme-selector')
}
})
</script>
</body>
</html>

+ 26
- 0
cache/2024/c684ecb41e8e4ea04c6dac1e1d87f776/index.md ファイルの表示

@@ -0,0 +1,26 @@
title: From a humble beginning 35 years ago, the Web is now central to the daily lives of billions
url: https://www.w3.org/blog/2024/from-a-humble-beginning-35-years-ago-the-web-is-now-central-to-the-daily-lives-of-billions/
hash_url: c684ecb41e8e4ea04c6dac1e1d87f776
archive_date: 2024-03-13
og_image: https://www.w3.org/assets/website-2021/images/w3c-opengraph-image.png
description: In this blog post, W3C CEO Seth Dobbs depicts how from a humble beginning 35 years ago, the Web is now central to the daily lives of billions of people.
favicon: https://www.w3.org/favicon.ico
language: en_US

<figure class="component component--image">
<img src="https://www.w3.org/cms-uploads/web-proposal-1989.gif" extension="gif" srcset="https://www.w3.org/cms-uploads/_360xAUTO_crop_center-center_none/web-proposal-1989.gif 360w, https://www.w3.org/cms-uploads/_580xAUTO_crop_center-center_none/web-proposal-1989.gif 580w, https://www.w3.org/cms-uploads/_920xAUTO_crop_center-center_none/web-proposal-1989.gif 920w, https://www.w3.org/cms-uploads/_1520xAUTO_crop_center-center_none/web-proposal-1989.gif 1520w" sizes="100vw"
loading="lazy"
alt=""
/>
<figcaption>
<p>Diagram illustrating "Information Management: A Proposal" by Tim Berners-Lee, 12 March 1989</p>
</figcaption>
</figure>

<blockquote class="component component--quote">
<p>
“This proposal concerns the management of general information about accelerators and experiments at CERN. It discusses the problems of loss of information about complex evolving systems and derives a solution based on a distributed hypertext system.”
</p>
<footer>Tim Berners-Lee, &quot;Information Management: A Proposal&quot;, 12 March 1989</footer>
</blockquote>
<p>With those words, the World Wide Web was first <a href="https://www.w3.org/History/1989/proposal.html">proposed</a> on this day 35 years ago by Tim Berners-Lee at CERN.</p><p>Many inventions and creations often surpass their initial intention and the Web is no exception. The general applicability of the proposed solution to CERN’s problems was quickly apparent as many organizations and systems of people faced similar challenges.</p><p>The expanded applicability of the Web is due in large part to the creation of the World Wide Web Consortium 30 years ago. Tim Berners-Lee created a single organization to coordinate web standards, aiming to foster a consistent and interoperable architecture accommodating the rapid pace of progress in web standards. <strong>A single global Consortium that stewards the Web forward to serve the greater good</strong>.</p><p>Over the years, the Web and its underlying standards have<strong> evolved to provide solutions to emerging problems</strong> around the world. To name a few, the creation of the Web Accessibility Initiative (WAI) in 1997 was seminal to the deployment of content and sites that are accessible to all, including disabled people; the adoption in 1998 of the Internationalization (i18n) framework to adapt web technologies to the world’s various writing systems thus making the World Wide Web truly world-wide; but also advances that durably shaped the web platform such as Web payments enabling e-Commerce; secure, privacy-respecting and robust online experiences with WebAuthn, Decentralized Identifiers (DIDs), ActivityPub, etc.</p><p>To enable such progress, <strong>the Web Consortium too has evolved, always taking a people-first approach</strong>: the Web must continue to serve humanity. The first such inflection point was the creation of the patent policy in 2003 which assures that specifications can be implemented on a Royalty-Free basis and used at no cost, thus boosting adoption and usage. Another is the creation in 2011 of W3C Community and Business Groups which enable everyone –not just W3C Members– to participate in the development of the Web or its technologies. Our most recent inflection point was re-launching the Consortium in 2023 as a public-interest non-profit organization to work for the good of the public.</p><p>Along the way we have <strong>fine-tuned our standardization process</strong>, notably by enshrining horizontal review as a key aspect that puts people first: horizontal areas that shape each W3C work package are accessibility, internationalization, security and privacy. And recently a <a href="https://digitallibrary.un.org/record/4031373?ln=en">United Nations report</a> outlined how technical standards do impact people’s enjoyment of their human rights and challenged organizations like ours to ensure standards are more conducive to upholding human rights - a topic I’ll discuss in more detail in the future.</p><p>Looking to what is in front of us <strong>we are gathering to face new challenges</strong>. Technical challenges that are rooted in user needs and platform impact. In fact today we have ongoing sessions to discuss critical topics of our time, including ARIA and improved accessibility, the role of real world identities on the web, WoT registries, privacy principles for the web, ethical implications of Generative AI, and how we fund our ecosystem to ensure sustainable success into the future.</p><p><strong>From a humble beginning, the Web is now central to the daily lives of billions of people.</strong> W3C with its community is doing the hard but essential work to ensure we are facing challenges, and we continue to evolve our structure to better listen, to increase our reach to include more of the world in this discussion.</p>

+ 194
- 0
cache/2024/c6e0fe933581c74380fa8eaa7f229353/index.html ファイルの表示

@@ -0,0 +1,194 @@
<!doctype html><!-- This is a valid HTML5 document. -->
<!-- Screen readers, SEO, extensions and so on. -->
<html lang="fr">
<!-- Has to be within the first 1024 bytes, hence before the `title` element
See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
<meta charset="utf-8">
<!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
<!-- The viewport meta is quite crowded and we are responsible for that.
See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
<meta name="viewport" content="width=device-width,initial-scale=1">
<!-- Required to make a valid HTML5 document. -->
<title>Motivation(s) chez Vincent Valentin. (archive) — David Larlet</title>
<meta name="description" content="Publication mise en cache pour en conserver une trace.">
<!-- That good ol' feed, subscribe :). -->
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
<!-- Generated from https://realfavicongenerator.net/ such a mess. -->
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
<link rel="manifest" href="/static/david/icons2/site.webmanifest">
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
<meta name="msapplication-TileColor" content="#f7f7f7">
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
<meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
<meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
<!-- Is that even respected? Retrospectively? What a shAItshow…
https://neil-clarke.com/block-the-bots-that-feed-ai-models-by-scraping-your-website/ -->
<meta name="robots" content="noai, noimageai">
<!-- Documented, feel free to shoot an email. -->
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
<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>
<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>
<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>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<script>
function toggleTheme(themeName) {
document.documentElement.classList.toggle(
'forced-dark',
themeName === 'dark'
)
document.documentElement.classList.toggle(
'forced-light',
themeName === 'light'
)
}
const selectedTheme = localStorage.getItem('theme')
if (selectedTheme !== 'undefined') {
toggleTheme(selectedTheme)
}
</script>

<meta name="robots" content="noindex, nofollow">
<meta content="origin-when-cross-origin" name="referrer">
<!-- Canonical URL for SEO purposes -->
<link rel="canonical" href="https://vincent-valentin.name/articles/motivation-s">

<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">


<article>
<header>
<h1>Motivation(s) chez Vincent Valentin.</h1>
</header>
<nav>
<p class="center">
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="https://vincent-valentin.name/articles/motivation-s" title="Lien vers le contenu original">Source originale</a>
<br>
Mis en cache le 2024-03-13
</p>
</nav>
<hr>
<p>Et voilà : 7 billets en 7 jours ; on peut dire que je me suis pris au jeu.</p>
<ul>
<li>Est-ce que je vais continuer ? Sans doute pas à ce rythme mais j’aimerais bien.</li>
<li>Qu’est-ce que j’en retire ? Des apprentissages ! Une envie de m’amuser ici avec la technique.</li>
<li>Est-ce que ça vous intéresse ? J’espère mais n’hésitez pas à le dire. Ici ou ailleurs, ça fait toujours plaisir.</li>
<li>Le niveau technique est-il celui que vous attendez ? J’essaye de ne pas trop forcer pour pouvoir publier plus facilement mais autant que ça vous serve quand même un peu.</li>
</ul>
<h2>Et pourquoi je me donne ce mal au fait ?</h2>
<p>Le constat est simple : je trouve que le Web ne va pas fort en ce moment, et je voulais à ma petite échelle montrer un peu l’exemple.</p>
<ul>
<li>L’exemple du Web qu’on peut apprendre à son rythme, bricoler chez soi, et s’en faire un outil personnel d’expression.</li>
<li>L’exemple du Web qu’on peut mettre en place avec un simple bloc-notes et un espace personnel, et qui n’a pas besoin que ce soit beaucoup plus technique.</li>
<li>L’exemple du Web indépendant qui n’a pas besoin d’une plateforme tierce modératrice ou éphémère.</li>
<li>L’exemple du Web hors des réseaux sociaux, qui ont fini par montrer leurs limites.</li>
<li>L’exemple du Web où l’on publie pour être lu par des humains. Et pas par des robots, qu’ils soient là pour amener du traffic ou en générer ailleurs.</li>
<li>L’exemple du Web où l’on dicte ses règles et où l’on choisit quels usages pourraient être faits de nos contenus.</li>
</ul>
<p>Faire son site personnel quoi. Et un Web comme on l’entend.</p>
</article>


<hr>

<footer>
<p>
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-rss2"></use>
</svg> Suivre</a> •
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-user-tie"></use>
</svg> Pro</a> •
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-mail"></use>
</svg> Email</a> •
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-hammer2"></use>
</svg> Légal</abbr>
</p>
<template id="theme-selector">
<form>
<fieldset>
<legend><svg class="icon icon-brightness-contrast">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-brightness-contrast"></use>
</svg> Thème</legend>
<label>
<input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
</label>
<label>
<input type="radio" value="dark" name="chosen-color-scheme"> Foncé
</label>
<label>
<input type="radio" value="light" name="chosen-color-scheme"> Clair
</label>
</fieldset>
</form>
</template>
</footer>
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
<script>
function loadThemeForm(templateName) {
const themeSelectorTemplate = document.querySelector(templateName)
const form = themeSelectorTemplate.content.firstElementChild
themeSelectorTemplate.replaceWith(form)

form.addEventListener('change', (e) => {
const chosenColorScheme = e.target.value
localStorage.setItem('theme', chosenColorScheme)
toggleTheme(chosenColorScheme)
})

const selectedTheme = localStorage.getItem('theme')
if (selectedTheme && selectedTheme !== 'undefined') {
form.querySelector(`[value="${selectedTheme}"]`).checked = true
}
}

const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
window.addEventListener('load', () => {
let hasDarkRules = false
for (const styleSheet of Array.from(document.styleSheets)) {
let mediaRules = []
for (const cssRule of styleSheet.cssRules) {
if (cssRule.type !== CSSRule.MEDIA_RULE) {
continue
}
// WARNING: Safari does not have/supports `conditionText`.
if (cssRule.conditionText) {
if (cssRule.conditionText !== prefersColorSchemeDark) {
continue
}
} else {
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
continue
}
}
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
}

// WARNING: do not try to insert a Rule to a styleSheet you are
// currently iterating on, otherwise the browser will be stuck
// in a infinite loop…
for (const mediaRule of mediaRules) {
styleSheet.insertRule(mediaRule.cssText)
hasDarkRules = true
}
}
if (hasDarkRules) {
loadThemeForm('#theme-selector')
}
})
</script>
</body>
</html>

+ 27
- 0
cache/2024/c6e0fe933581c74380fa8eaa7f229353/index.md ファイルの表示

@@ -0,0 +1,27 @@
title: Motivation(s) chez Vincent Valentin.
url: https://vincent-valentin.name/articles/motivation-s
hash_url: c6e0fe933581c74380fa8eaa7f229353
archive_date: 2024-03-13
og_image: http://vincent-valentin.name/apple-touch-icon.png
description: Site personnel de Vincent Valentin, habitant à Nantes, quarante-quatre ans et intégrateur web depuis plus de quinze ans.
favicon: https://vincent-valentin.name/favicon-32x32.png
language: fr_FR

<p>Et voilà : 7 billets en 7 jours ; on peut dire que je me suis pris au jeu.</p>
<ul>
<li>Est-ce que je vais continuer ? Sans doute pas à ce rythme mais j’aimerais bien.</li>
<li>Qu’est-ce que j’en retire ? Des apprentissages ! Une envie de m’amuser ici avec la technique.</li>
<li>Est-ce que ça vous intéresse ? J’espère mais n’hésitez pas à le dire. Ici ou ailleurs, ça fait toujours plaisir.</li>
<li>Le niveau technique est-il celui que vous attendez ? J’essaye de ne pas trop forcer pour pouvoir publier plus facilement mais autant que ça vous serve quand même un peu.</li>
</ul>
<h2>Et pourquoi je me donne ce mal au fait ?</h2>
<p>Le constat est simple : je trouve que le Web ne va pas fort en ce moment, et je voulais à ma petite échelle montrer un peu l’exemple.</p>
<ul>
<li>L’exemple du Web qu’on peut apprendre à son rythme, bricoler chez soi, et s’en faire un outil personnel d’expression.</li>
<li>L’exemple du Web qu’on peut mettre en place avec un simple bloc-notes et un espace personnel, et qui n’a pas besoin que ce soit beaucoup plus technique.</li>
<li>L’exemple du Web indépendant qui n’a pas besoin d’une plateforme tierce modératrice ou éphémère.</li>
<li>L’exemple du Web hors des réseaux sociaux, qui ont fini par montrer leurs limites.</li>
<li>L’exemple du Web où l’on publie pour être lu par des humains. Et pas par des robots, qu’ils soient là pour amener du traffic ou en générer ailleurs.</li>
<li>L’exemple du Web où l’on dicte ses règles et où l’on choisit quels usages pourraient être faits de nos contenus.</li>
</ul>
<p>Faire son site personnel quoi. Et un Web comme on l’entend.</p>

+ 428
- 0
cache/2024/f5294ac20ea593cce56caf2379813a4a/index.html ファイルの表示

@@ -0,0 +1,428 @@
<!doctype html><!-- This is a valid HTML5 document. -->
<!-- Screen readers, SEO, extensions and so on. -->
<html lang="fr">
<!-- Has to be within the first 1024 bytes, hence before the `title` element
See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
<meta charset="utf-8">
<!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
<!-- The viewport meta is quite crowded and we are responsible for that.
See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
<meta name="viewport" content="width=device-width,initial-scale=1">
<!-- Required to make a valid HTML5 document. -->
<title>Chiroto T. Datoca (archive) — David Larlet</title>
<meta name="description" content="Publication mise en cache pour en conserver une trace.">
<!-- That good ol' feed, subscribe :). -->
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
<!-- Generated from https://realfavicongenerator.net/ such a mess. -->
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
<link rel="manifest" href="/static/david/icons2/site.webmanifest">
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
<meta name="msapplication-TileColor" content="#f7f7f7">
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
<meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
<meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
<!-- Is that even respected? Retrospectively? What a shAItshow…
https://neil-clarke.com/block-the-bots-that-feed-ai-models-by-scraping-your-website/ -->
<meta name="robots" content="noai, noimageai">
<!-- Documented, feel free to shoot an email. -->
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
<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>
<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>
<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>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<script>
function toggleTheme(themeName) {
document.documentElement.classList.toggle(
'forced-dark',
themeName === 'dark'
)
document.documentElement.classList.toggle(
'forced-light',
themeName === 'light'
)
}
const selectedTheme = localStorage.getItem('theme')
if (selectedTheme !== 'undefined') {
toggleTheme(selectedTheme)
}
</script>

<meta name="robots" content="noindex, nofollow">
<meta content="origin-when-cross-origin" name="referrer">
<!-- Canonical URL for SEO purposes -->
<link rel="canonical" href="https://www.hypothermia.fr/2024/03/chiroto-t-datoca/">

<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">


<article>
<header>
<h1>Chiroto T. Datoca</h1>
</header>
<nav>
<p class="center">
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="https://www.hypothermia.fr/2024/03/chiroto-t-datoca/" title="Lien vers le contenu original">Source originale</a>
<br>
Mis en cache le 2024-03-13
</p>
</nav>
<hr>
<p>Il y a quinze ans, j’ai entamé un projet de calligraphie que je n’ai jamais terminé, un cadeau que je n’ai jamais offert. L’été dernier, j’ai <a href="https://www.hypothermia.fr/2023/07/pele-mele-enlumine/" data-type="post" data-id="23412">visité une exposition</a> qui m’a rappelée à cet inachevé, et qui a fait germer en moi l’idée de le mener à bien. Ce jour-là, j’avais décidé : pour l’anniversaire de K, j’allais reprendre ce projet et lui offrir un manuscrit enluminé de ce poème qui compte tant : <em>Childe Roland to the Dark Tower came</em> de Robert Browning. Tiré d’un vers du <em>Roi Lear</em> de Shakespeare, le poème de 1855 a été l’inspiration de l’écrivain Stephen King pour sa saga <em>La Tour Sombre</em> à laquelle K et moi tenons tellement.</p>

<p>J’avais devant moi un peu moins de huit mois pour créer un livre calligraphié, peint et relié à la main. Un défi de taille soutenu par cette petite voix tout au fond de moi qu’il m’est impossible d’ignorer : je me devais de le relever.</p>

<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-full"><img data-aspectratio="300/224" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" fetchpriority="high" decoding="async" data-id="24867" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/avant1.jpg" alt="" class="wp-image-24867 lazyload"><noscript><img fetchpriority="high" decoding="async" data-id="24867" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/avant1.jpg" alt="" class="wp-image-24867"></noscript></figure>



<figure class="wp-block-image size-full"><img decoding="async" data-id="24868" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/avant2.jpg" alt="" class="wp-image-24868"></figure>
<figcaption class="blocks-gallery-caption wp-element-caption">Photos du projet avorté en 2009</figcaption></figure>

<p>Puisque la demi-mesure ne fait pas partie de mon vocabulaire, j’ai tenu à travailler au plus proche des techniques médiévales. J’ai ainsi appris à encrer à la plume, dorer à la feuille d’or pur, peindre aux pigments en poudre et relier au cuir de chèvre. Je m’y suis dévouée corps et âme, dédiant le moindre de mon temps libre à la concrétisation de ce projet qui devait se mener dans le plus grand secret. Je m’attelais à l’ouvrage à la moindre opportunité, me levant parfois à l’aube pour grappiller une heure de calligraphie avant d’aller bosser ou prolongeant des soirées jusqu’au petit matin lorsque K travaillait de nuit.</p>

<p>Au total j’ai passé plus de 230 heures sur ce projet (tout du moins c’est ce que j’ai pensé à compter) : un petit livre relié de cuir contenant 34 pages calligraphiées enluminées à la feuille d’or et cinq miniatures peintes. C’est un des accomplissements dont je suis la plus fière à ce jour.</p>

<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/final1.jpg" alt="" class="wp-image-24949" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/final1.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final1-300x200.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final1-1024x683.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final1-768x512.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>

<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/final2.jpg" alt="" class="wp-image-24950" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/final2.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final2-300x200.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final2-1024x683.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final2-768x512.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>

<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/final5.jpg" alt="" class="wp-image-24951" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/final5.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final5-300x200.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final5-1024x683.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final5-768x512.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>

<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/final4.jpg" alt="" class="wp-image-24952" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/final4.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final4-300x200.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final4-1024x683.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final4-768x512.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>

<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/final3.jpg" alt="" class="wp-image-24953" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/final3.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final3-300x200.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final3-1024x683.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final3-768x512.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>

<p><a href="https://fivers.typepad.com/files/childe-roland-to-the-dark-tower-came.pdf" data-type="link" data-id="https://fivers.typepad.com/files/childe-roland-to-the-dark-tower-came.pdf">Le poème</a> fait 34 strophes de six vers chacun et raconte comment le chevalier Roland s’en est allé à la quête de la mythique Tour Sombre, narrant les aventures qu’il a vécues sur son chemin. Outre la calligraphie, je voulais également m’essayer à l’illustration dans le style de miniatures médiévales. Puisque mes travaux s’appuient avant tout sur des supports visuels, j’ai commencé par étudier le poème pour y trouver des idées d’illustrations pertinentes.</p>

<p>Je me suis fixée sur cinq images représentatives de moments clefs de l’histoire : la rencontre avec le vieux mendiant qui l’introduit, le face-à-face avec le cheval décharné dans le désert, la traversée de la rivière maudite, le parcours du champ de bataille abandonné, et bien sûr la scène d’apothéose finale où Roland meurt en soufflant son cor une fois la Tour Sombre découverte. Et puisque le dessin n’est clairement pas mon médium de prédilection, je me suis appuyée sur de la génération d’images par intelligence artificielle pour trouver de l’inspiration !</p>

<figure class="wp-block-image size-full is-resized noborder"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ai1.png" alt="" class="wp-image-24869" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ai1.png 1127w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ai1-300x167.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ai1-1024x572.png 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ai1-768x429.png 768w" sizes="(max-width: 1127px) 100vw, 1127px"></figure>

<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_03.jpg" alt="" class="wp-image-24875" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_03.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_03-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_03-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_03-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><figcaption class="wp-element-caption">Grosse pensée à la petite Eli de 9 ans qui adorait dessiner des chevaux, ça m’a été bien utile !</figcaption></figure>

<figure class="wp-block-image size-full noborder"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ai2.png" alt="" class="wp-image-24870" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ai2.png 1253w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ai2-300x141.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ai2-1024x480.png 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ai2-768x360.png 768w" sizes="(max-width: 1253px) 100vw, 1253px"></figure>

<figure class="wp-block-image size-full noborder"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ai3-1.png" alt="" class="wp-image-24872" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ai3-1.png 990w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ai3-1-300x199.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ai3-1-768x510.png 768w" sizes="(max-width: 990px) 100vw, 990px"></figure>

<figure class="wp-block-image size-full noborder"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ai4.png" alt="" class="wp-image-24873" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ai4.png 1280w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ai4-300x99.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ai4-1024x337.png 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ai4-768x253.png 768w" sizes="(max-width: 1280px) 100vw, 1280px"></figure>

<figure class="wp-block-image size-full noborder"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/aifin.png" alt="" class="wp-image-24874" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/aifin.png 991w, https://www.hypothermia.fr/wp-content/uploads/2024/03/aifin-300x211.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/aifin-768x539.png 768w" sizes="(max-width: 991px) 100vw, 991px"></figure>

<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_04.jpg" alt="" class="wp-image-24876" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_04.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_04-300x300.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_04-1024x1024.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_04-150x150.jpg 150w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_04-768x768.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_04-400x400.jpg 400w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_04-120x120.jpg 120w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>

<p>J’ai passé un temps initial non négligeable à me fixer sur le format du livre, essayant différentes tailles de pages, mesures d’interlignes et intercalages de feuillets. Il m’a fallu une dizaine d’heures rien que pour découper le papier et tracer toutes les lignes de guide, devant prendre des mesures au millimètre près. J’ai du en reprendre la plupart une deuxième fois en constatant que je devais décaler la majuscule enluminée, sans quoi le premier vers ne rentrait pas tout à fait.</p>

<p>C’est comme ça que j’ai choisi de mener ce projet de front, n’ayant pas des années d’études monastiques à plein temps à y dédier : j’ai décidé d’apprendre sur le tas de mes erreurs en serrant les fesses pour que tout se passe à peu près bien jusqu’au bout. Je n’aurai pas évité quelques boulettes – on les verra un peu plus loin – mais rien qui ne soit pas irrécupérable bien heureusement.</p>

<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_02.jpg" alt="" class="wp-image-24883" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_02.jpg 1169w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_02-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_02-768x577.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_02-1024x769.jpg 1024w" sizes="(max-width: 1169px) 100vw, 1169px"></figure>

<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_01.jpg" alt="" class="wp-image-24884" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_01.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_01-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_01-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_01-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>

<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_06.jpg" alt="" class="wp-image-24877" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_06.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_06-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_06-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_06-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>

<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_07.jpg" alt="" class="wp-image-24878" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_07.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_07-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_07-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_07-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>

<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_08.jpg" alt="" class="wp-image-24881" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_08.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_08-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_08-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_08-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>

<p>Et puis il fallait que je reprenne la calligraphie aussi : j’ai dépoussiéré mes livres enseignant la pratique de la Fraktur et j’ai rempli un carnet de lignes d’écriture. Par exemple si j’ai passé autant de temps au <a href="https://www.hypothermia.fr/2023/07/pralines-lyonnaises/#luminarium" data-type="link" data-id="https://www.hypothermia.fr/2023/07/pralines-lyonnaises/#luminarium"><em>Luminarium</em> à Lyon</a> l’été dernier, c’est que j’y ai rempli des pages entières de lettres répétées en visant un certain sens de la régularité. Il n’y a qu’en forgeant qu’on devient forgeron.</p>

<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ecriture.jpg" alt="" class="wp-image-24946" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ecriture.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ecriture-300x200.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ecriture-1024x683.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ecriture-768x512.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>

<p>Jusqu’à ce que le moment soit venu d’écrire « pour de vrai ». J’ai utilisé du papier vélin et de l’encre de Chine – et l’encrier en fonte que j’ai hérité de mon grand-père, un objet qui me fascinait déjà toute petite et auquel il me tenait très fort de faire honneur.</p>

<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_12.jpg" alt="" class="wp-image-24885" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_12.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_12-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_12-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_12-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>

<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_13.jpg" alt="" class="wp-image-24886" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_13.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_13-300x203.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_13-768x519.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_13-1024x692.jpg 1024w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>

<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_11-1-rotated.jpg" alt="" class="wp-image-24880" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_11-1-rotated.jpg 900w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_11-1-225x300.jpg 225w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_11-1-768x1024.jpg 768w" sizes="(max-width: 900px) 100vw, 900px"><figcaption class="wp-element-caption">Correction des erreurs à la pointe de couteau</figcaption></figure></div>

<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_15.jpg" alt="" class="wp-image-24902" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_15.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_15-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_15-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_15-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>

<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_16.jpg" alt="" class="wp-image-24903" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_16.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_16-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_16-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_16-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>

<p>L’apprentissage le plus conséquent et l’étape la plus fastidieuse était sans conteste la dorure. Pour m’entraîner, j’ai calligraphié quelques noms à envoyer en guise de cartes de vœux pour Noël 2023. Je me suis ainsi cassé les dents à utiliser des fausses feuille d’or qui se sont émiettées dans tout mon appartement, avant que des professionnels viennent à ma rescousse sur un forum dédié (Internet est merveilleux).</p>

<p>Ils m’ont indiqué que la fausse feuille d’or servait avant tout à recouvrir de grandes surfaces et n’était pas du tout adaptée à la minutie de la calligraphie ; si je voulais pratiquer, pas le choix, je devais me lancer directement sur des feuilles d’or véritable. J’ai balisé en connaissant le précieux du petit paquet de feuilles d’or que j’avais acquis, jusqu’à constater que l’or véritable était un vrai plaisir à travailler. Au final j’aurai refait ces cartes trois fois, un apprentissage fastidieux et bien plus long que prévu mais bien nécessaire avant de m’atteler à mon projet final.</p>

<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_09.jpg" alt="" class="wp-image-24887" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_09.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_09-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_09-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_09-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><figcaption class="wp-element-caption">La fausse feuille d’or, NON</figcaption></figure>

<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_10.jpg" alt="" class="wp-image-24888" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_10.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_10-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_10-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_10-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><figcaption class="wp-element-caption">La vraie feuille d’or, OUI</figcaption></figure>

<p>Pour faire adhérer la feuille d’or, il faut tout d’abord recouvrir les surfaces à dorer de deux couches de gesso, un genre d’apprêt rose-orangé mélangeant de la gomme et de la craie. Son application est un peu spéciale puisqu’il ne se dépose pas comme de la peinture ; il faut plutôt le répartir sous la forme d’une goutte qu’on va nourrir en matière pour l’étirer sur toute la surface à recouvrir avec une plume. Chaque couche a besoin d’une bonne nuit pour sécher, imaginez ça sur 40 pages recto verso…</p>

<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img decoding="async" data-id="24891" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_14-768x1024.jpg" alt="" class="wp-image-24891" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_14-768x1024.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_14-225x300.jpg 225w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_14-rotated.jpg 900w" sizes="(max-width: 768px) 100vw, 768px"></figure>



<figure class="wp-block-image size-large"><img decoding="async" data-id="24896" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_23-768x1024.jpg" alt="" class="wp-image-24896" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_23-768x1024.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_23-225x300.jpg 225w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_23-rotated.jpg 900w" sizes="(max-width: 768px) 100vw, 768px"></figure>
</figure>

<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_19.jpg" alt="" class="wp-image-24892" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_19.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_19-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_19-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_19-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>

<p>Il faut ensuite appliquer deux couches de feuille d’or – j’ai choisi d’utiliser du 22 carats en-dessous histoire d’économiser un peu, et 24 carats au-dessus pour éviter le risque d’oxydation. Au passage, merci l’invention du papier de support avec lequel la feuille d’or est livrée, ce qui permet de la manipuler bien plus facilement que si elle était volante.</p>

<p>Pour la poser, il faut souffler sur le gesso pour l’humidifier avant d’y presser soigneusement la feuille afin qu’elle y adhère. On décolle délicatement le papier de support, et on utilise un pinceau pour enlever l’or qui dépasse (qu’on récupère évidemment dans un petit pot, ça pourra servir plus tard !) Il ne reste plus qu’à polir l’or avec un ustensile en agate (je crois que je ne maîtrise toujours pas vraiment cette technique) avant de passer à la couche suivante. </p>

<figure class="wp-block-image size-full is-resized"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_20.jpg" alt="" class="wp-image-24893 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_20.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_20-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_20-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_20-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_20.jpg" alt="" class="wp-image-24893" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_20.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_20-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_20-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_20-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>

<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_21.jpg" alt="" class="wp-image-24894 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_21.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_21-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_21-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_21-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_21.jpg" alt="" class="wp-image-24894" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_21.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_21-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_21-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_21-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>

<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_27.jpg" alt="" class="wp-image-24900 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_27.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_27-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_27-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_27-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_27.jpg" alt="" class="wp-image-24900" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_27.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_27-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_27-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_27-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>

<p>La dorure est un travail très lent et laborieux qui m’a rendue complètement dingue lors de la deuxième couche (quelle idée de vouloir dorer les petites gouttes des cadres aussi…) J’y ai passé 45 heures au total, de nombreuses soirées qui se sont finies bien tard dans la nuit. Un travail de longue haleine, mais quel émerveillement d’observer mon texte prendre relief avec ces reflets brillants dorés à la richesse incomparable !</p>

<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_25-1.jpg" alt="" class="wp-image-24901 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_25-1.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_25-1-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_25-1-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_25-1-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_25-1.jpg" alt="" class="wp-image-24901" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_25-1.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_25-1-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_25-1-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_25-1-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>

<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_22-rotated.jpg" alt="" class="wp-image-24895 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_22-rotated.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_22-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_22-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_22-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_22-rotated.jpg" alt="" class="wp-image-24895" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_22-rotated.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_22-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_22-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_22-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>

<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img data-aspectratio="900/1200" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_26-rotated.jpg" alt="" class="wp-image-24899 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_26-rotated.jpg 900w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_26-225x300.jpg 225w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_26-768x1024.jpg 768w" sizes="(max-width: 900px) 100vw, 900px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_26-rotated.jpg" alt="" class="wp-image-24899" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_26-rotated.jpg 900w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_26-225x300.jpg 225w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_26-768x1024.jpg 768w" sizes="(max-width: 900px) 100vw, 900px"></noscript></figure></div>

<p>Il faut dire que j’ai perdu pas mal de temps à refaire certaines pages, soit parce que j’avais recopié la mauvaise ligne de texte, ou que je me suis trompée de mesure de hauteur de ligne, ou que j’ai carrément oublié une lettre dans le titre principal qui compose le dernier vers. Je m’en suis rendue compte bien sûr une fois que j’avais tout calligraphié, encré et doré y compris le dessin du dos. C’est dans ces moments-ci qu’on respire un grand coup, on fait un tour sur le balcon, puis on se remet à l’ouvrage. J’avoue avoir laissé passé l’une ou l’autre typo mais celle-ci, elle était bien trop énorme pour que je puisse l’ignorer…</p>

<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-5 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-full"><img data-aspectratio="903/533" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-id="24910" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/boulette.png" alt="" class="wp-image-24910 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/boulette.png 903w, https://www.hypothermia.fr/wp-content/uploads/2024/03/boulette-300x177.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/boulette-768x453.png 768w" sizes="(max-width: 903px) 100vw, 903px"><noscript><img decoding="async" data-id="24910" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/boulette.png" alt="" class="wp-image-24910" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/boulette.png 903w, https://www.hypothermia.fr/wp-content/uploads/2024/03/boulette-300x177.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/boulette-768x453.png 768w" sizes="(max-width: 903px) 100vw, 903px"></noscript></figure>



<figure class="wp-block-image size-full"><img data-aspectratio="343/272" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-id="24913" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/facepalm.gif" alt="" class="wp-image-24913 lazyload"><noscript><img decoding="async" data-id="24913" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/facepalm.gif" alt="" class="wp-image-24913"></noscript></figure>
</figure>

<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30.jpg" alt="" class="wp-image-24909 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30.jpg" alt="" class="wp-image-24909" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript><figcaption class="wp-element-caption">Et allez, on recommence – retracer les lignes, réécrire, refaire les entrelacs et retranscrire le dessin, repasser deux couches de gesso et deux de feuilles d’or. À toute chose malheur est bon, je préfère cette tête de Roland sur mon deuxième essai !</figcaption></figure>

<p>Une fois toutes les dorures remplies et polies, côté calligraphie il ne restait « plus » qu’à encrer en rouge les éléments vides restants et à contourer au noir chaque dorure. Un jeu d’enfant en comparaison des étapes précédentes !</p>

<figure class="wp-block-image size-full is-resized"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_28-rotated.jpg" alt="" class="wp-image-24911 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_28-rotated.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_28-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_28-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_28-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_28-rotated.jpg" alt="" class="wp-image-24911" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_28-rotated.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_28-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_28-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_28-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>

<p>Pour finir les pages, il me restait à peindre les miniatures. C’est l’étape qui me faisait le plus paniquer car je n’avais pas touché à de la peinture depuis plus de quinze ans et je n’avais aucune notion de comment tenir un pinceau, mélanger des couleurs, accentuer des ombres et des lumières… Alignement des étoiles, c’est à la même période que je suis tombée par hasard dans un magasin de seconde main sur l’immense et superbe ouvrage « <em><a href="https://www.taschen.com/fr/books/classics/47701/codices-illustres-les-plus-beaux-manuscrits-enlumines-du-monde-400-a-1600">Codices illustrés : Les plus beaux manuscrits enluminés du monde</a></em> » qui m’a été précieux d’inspiration. Mais d’abord – techniques médiévales oblige – fabriquons la peinture à partir de pigments en poudre et de détrempe à l’œuf !</p>

<figure class="wp-block-image size-full noborder"><img data-aspectratio="1000/563" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/pigments.png" alt="" class="wp-image-24916 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/pigments.png 1000w, https://www.hypothermia.fr/wp-content/uploads/2024/03/pigments-300x169.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/pigments-768x432.png 768w" sizes="(max-width: 1000px) 100vw, 1000px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/pigments.png" alt="" class="wp-image-24916" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/pigments.png 1000w, https://www.hypothermia.fr/wp-content/uploads/2024/03/pigments-300x169.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/pigments-768x432.png 768w" sizes="(max-width: 1000px) 100vw, 1000px"></noscript></figure>

<p>La peinture se présente sous forme de pigments, une poudre granuleuse à laquelle il faut ajouter un liant (la détrempe) pour la rendre liquide. Pour ce faire, il faut mélanger le tout sur une plaque de verre à l’aide d’un couteau de peintre, puis utiliser une molette (la petite poignée en verre sur les images ci-dessus) pour affiner l’ensemble et être sûr d’écraser chaque petit grain de pigment. Le mélange est ensuite recueilli au couteau et transféré dans un petit godet ; on nettoie la plaque et les ustensiles, puis on passe à la couleur suivante !</p>

<p>Une fois ma palette composée et avant de me lancer dans le vif du sujet, j’ai cherché quelques tutos de peinture pour avoir l’une ou l’autre base qui m’ont vite dépassée par leurs multiples techniques et théories… J’ai tout fermé et j’y suis allée au culot, mélangeant à l’instinct les couleurs jusqu’à trouver des teintes qui me plaisaient, et testant différentes techniques au fil des miniatures jusqu’au rendu escompté.</p>

<p>La peinture est bien plus permissive, corrigeable et pardonnable que ce que je pensais, les couches pouvant facilement se superposer jusqu’à obtenir le résultat souhaité. J’ai passé environ trois heures par image, parfois à la loupe pour les détails les plus minutieux, et le résultat me plaît énormément ; je ne sais pas si j’ai été baignée de la chance du débutant mais je n’ai pas l’impression d’avoir gaffé sur aucune des cinq illustrations, et j’avoue que je me suis même plutôt amusée !</p>

<p>Anecdote : J’ai eu droit à mon baptême de peintre en dégustant par inadvertance le verre d’eau sale dont je me servais pour rincer mes pinceaux plutôt que ma bière que j’avais posée à côté.</p>

<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30b.jpg" alt="" class="wp-image-24928 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30b.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30b-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30b-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30b-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30b.jpg" alt="" class="wp-image-24928" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30b.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30b-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30b-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30b-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>

<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_31-rotated.jpg" alt="" class="wp-image-24917 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_31-rotated.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_31-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_31-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_31-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_31-rotated.jpg" alt="" class="wp-image-24917" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_31-rotated.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_31-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_31-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_31-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>

<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_34-rotated.jpg" alt="" class="wp-image-24918 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_34-rotated.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_34-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_34-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_34-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_34-rotated.jpg" alt="" class="wp-image-24918" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_34-rotated.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_34-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_34-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_34-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>

<figure class="wp-block-image size-full is-resized"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_32.jpg" alt="" class="wp-image-24919 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_32.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_32-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_32-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_32-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_32.jpg" alt="" class="wp-image-24919" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_32.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_32-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_32-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_32-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>

<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_36.jpg" alt="" class="wp-image-24920 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_36.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_36-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_36-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_36-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_36.jpg" alt="" class="wp-image-24920" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_36.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_36-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_36-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_36-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>

<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_33.jpg" alt="" class="wp-image-24921 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_33.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_33-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_33-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_33-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_33.jpg" alt="" class="wp-image-24921" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_33.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_33-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_33-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_33-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>

<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_35.jpg" alt="" class="wp-image-24922 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_35.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_35-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_35-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_35-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_35.jpg" alt="" class="wp-image-24922" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_35.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_35-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_35-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_35-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>

<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_37-rotated.jpg" alt="" class="wp-image-24923 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_37-rotated.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_37-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_37-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_37-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_37-rotated.jpg" alt="" class="wp-image-24923" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_37-rotated.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_37-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_37-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_37-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>

<p>Un petit coup de stylo noir pour rehausser les contours, et j’en avais enfin terminé de composer chaque page. C’était un plaisir non négligeable de les étaler toutes devant moi et de constater le travail accompli. Rien n’était joué toutefois : les dernières étapes d’assemblage sont paraît-il les plus délicates, et je n’avais pas droit à l’erreur…</p>

<figure class="wp-block-image size-full"><img data-aspectratio="1193/512" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_38.jpg" alt="" class="wp-image-24924 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_38.jpg 1193w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_38-300x129.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_38-1024x439.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_38-768x330.jpg 768w" sizes="(max-width: 1193px) 100vw, 1193px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_38.jpg" alt="" class="wp-image-24924" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_38.jpg 1193w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_38-300x129.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_38-1024x439.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_38-768x330.jpg 768w" sizes="(max-width: 1193px) 100vw, 1193px"></noscript></figure>

<figure class="wp-block-image size-full"><img data-aspectratio="1158/501" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_39.jpg" alt="" class="wp-image-24925 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_39.jpg 1158w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_39-300x130.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_39-1024x443.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_39-768x332.jpg 768w" sizes="(max-width: 1158px) 100vw, 1158px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_39.jpg" alt="" class="wp-image-24925" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_39.jpg 1158w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_39-300x130.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_39-1024x443.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_39-768x332.jpg 768w" sizes="(max-width: 1158px) 100vw, 1158px"></noscript></figure>

<p>Il fallait maintenant passer à la reliure : je devais superposer les feuilles les unes dans les autres en trois carnets (qu’on appelle signatures) qui seront cousus au milieu avant d’être encollés à la couverture. Et c’est à cette étape que j’ai constaté la plus grosse boulette qui m’a fait tomber le cœur dans les talons : je me suis plantée dans l’ordre des pages. Il y avait trois feuilles au milieu dont les recto/verso ne correspondaient pas.</p>

<p>J’ai eu beau les retourner dans tous les sens rien à faire : les strophes ne s’enchaînaient pas dans le bon ordre. Je pensais avoir bien vérifié pourtant, mais pas assez apparemment. Pour corriger ma gamelle, j’aurais du refaire trois feuilles au complet : douze pages, dont deux illustrations, et le temps m’était bien trop compté pour envisager de tout recommencer. J’avoue que j’ai eu besoin d’un bon moment pour laisser l’émotion s’évacuer. Mais je n’avais pas le temps de m’appesantir sur mon malheur : il fallait que je trouve une autre solution, pas question d’abandonner.</p>

<p>Au final, j’ai choisi de couper les feuilles de cette signature au milieu afin de pouvoir en réordonner les pages du mieux que je pouvais pour que l’histoire reste compréhensible. On trahit l’ordre originel du poème, mais c’était le meilleur des compromis. J’allais simplement devoir improviser ma reliure en collant ces quelques pages plutôt qu’en les cousant. J’ai eu les boules pendant quelques jours mais ça m’est passé. Si je le voulais vraiment, je pourrais refaire cette signature mais rétrospectivement, je crois que j’aime sincèrement cet accroc qui fait partie de l’histoire du livre. Place à la reliure maintenant.</p>

<figure class="wp-block-image size-full is-resized noborder"><img data-aspectratio="821/611" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/rajiv.png" alt="" class="wp-image-24929 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/rajiv.png 821w, https://www.hypothermia.fr/wp-content/uploads/2024/03/rajiv-300x223.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/rajiv-768x572.png 768w" sizes="(max-width: 821px) 100vw, 821px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/rajiv.png" alt="" class="wp-image-24929" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/rajiv.png 821w, https://www.hypothermia.fr/wp-content/uploads/2024/03/rajiv-300x223.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/rajiv-768x572.png 768w" sizes="(max-width: 821px) 100vw, 821px"></noscript><figcaption class="wp-element-caption"><a href="https://www.youtube.com/watch?v=ER9FIyYr_QA" data-type="link" data-id="https://www.youtube.com/watch?v=ER9FIyYr_QA">Le tuto</a> qui rassure (et qui m’a été super utile)</figcaption></figure>

<p>Contrairement à ce que je lisais un peu partout, j’ai trouvé l’étape de reliure plutôt facile et rapide malgré la difficulté supplémentaire de devoir encoller mes pages libres au milieu des deux signatures cousues. Une fois qu’on a compris les nœuds à coudre c’est assez automatique, il suffit de se prendre le temps et de maintenir une tension constante sur le fil. Lorsque j’ai terminé d’encoller la tranche consolidée par de la tarlatane, j’ai été plutôt émue de tenir entre mes mains le livre assemblé qui ressemblait de plus en plus à mon objectif final.</p>

<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_41-rotated.jpg" alt="" class="wp-image-24927 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_41-rotated.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_41-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_41-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_41-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_41-rotated.jpg" alt="" class="wp-image-24927" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_41-rotated.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_41-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_41-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_41-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>

<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_42.jpg" alt="" class="wp-image-24930 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_42.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_42-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_42-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_42-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_42.jpg" alt="" class="wp-image-24930" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_42.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_42-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_42-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_42-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>

<p>Pour la couverture, j’ai acheté une peau de chèvre teinte à un artisan de la région avec qui j’ai discuté plus de trois heures un samedi après-midi tant il semblait amusé par mon projet. Il m’a abreuvée de conseils avisés et je suis repartie ma peau sous le bras, le cœur rempli de savoir qu’il existe toujours dans ce monde des personnes à ce point généreuses à partager leur savoir-faire.</p>

<p>Parce que je manquais de défis apparemment, j’ai voulu estamper la reliure avec le titre du poème en lettres dorées à l’avant, et un symbole à l’arrière. Après de nombreuses recherches dans les bas-fonds du web artisanal, j’ai fini par trouver un kit de lettres gothiques en laiton (qui est devenu un des objets les plus précieux en ma possession) qu’on peut assembler en mots en les glissant dans un rail. J’ai aussi fait faire sur mesure un tampon de métal représentant le symbole emblématique du <em>Ka-tet</em> de la saga de Stephen King.</p>

<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_05.jpg" alt="" class="wp-image-24931 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_05.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_05-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_05-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_05-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_05.jpg" alt="" class="wp-image-24931" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_05.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_05-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_05-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_05-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>

<figure class="wp-block-gallery aligncenter has-nested-images columns-default is-cropped wp-block-gallery-7 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-full"><img data-aspectratio="1200/1200" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-id="24932" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18.jpg" alt="" class="wp-image-24932 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18-300x300.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18-1024x1024.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18-150x150.jpg 150w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18-768x768.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18-400x400.jpg 400w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18-120x120.jpg 120w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" data-id="24932" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18.jpg" alt="" class="wp-image-24932" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18-300x300.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18-1024x1024.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18-150x150.jpg 150w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18-768x768.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18-400x400.jpg 400w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18-120x120.jpg 120w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>



<figure class="wp-block-image size-full"><img data-aspectratio="806/800" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-id="24945" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ka.jpg" alt="" class="wp-image-24945 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ka.jpg 806w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ka-300x298.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ka-150x150.jpg 150w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ka-768x762.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ka-120x120.jpg 120w" sizes="(max-width: 806px) 100vw, 806px"><noscript><img decoding="async" data-id="24945" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ka.jpg" alt="" class="wp-image-24945" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ka.jpg 806w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ka-300x298.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ka-150x150.jpg 150w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ka-768x762.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ka-120x120.jpg 120w" sizes="(max-width: 806px) 100vw, 806px"></noscript></figure>
</figure>

<figure class="wp-block-image size-full"><img data-aspectratio="1200/800" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/lettres.jpg" alt="" class="wp-image-24948 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/lettres.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/lettres-300x200.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/lettres-1024x683.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/lettres-768x512.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/lettres.jpg" alt="" class="wp-image-24948" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/lettres.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/lettres-300x200.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/lettres-1024x683.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/lettres-768x512.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>

<p>Sans accès à de la machinerie dédiée, je suis tombée sur un <a href="https://www.youtube.com/watch?v=KfSXCpTHMFk" data-type="link" data-id="https://www.youtube.com/watch?v=KfSXCpTHMFk">super tutoriel</a> qui donnait l’espoir d’un résultat tout à fait honnête en faisant chauffer les lettres sur une plaque électrique avant de les presser sur un film doré thermocollant posé sur le cuir (je n’avais pas le temps ni les ressources d’envisager utiliser de la vraie feuille d’or). Alors j’ai pratiqué. Et pratiqué. Et repratiqué, des dizaines et des dizaines de tamponnages, jusqu’à avoir un résultat à peu près satisfaisant.</p>

<figure class="wp-block-image size-full"><img data-aspectratio="1200/613" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/essaiscuir.jpg" alt="" class="wp-image-24947 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/essaiscuir.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/essaiscuir-300x153.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/essaiscuir-1024x523.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/essaiscuir-768x392.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/essaiscuir.jpg" alt="" class="wp-image-24947" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/essaiscuir.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/essaiscuir-300x153.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/essaiscuir-1024x523.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/essaiscuir-768x392.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript><figcaption class="wp-element-caption">Des essais plus ou moins convaincants – j’en ai rempli des lignes et des lignes sans avoir trouvé de recette finale à 100% reproductible.</figcaption></figure>

<p>J’ai fini ma dorure de couverture un samedi à 3h du matin après de multiples essais et boulettes qui ont fini par consommer l’entièreté de ma peau de chèvre. J’ai d’ailleurs perdu la sensibilité au bout de mon index droit pendant une bonne semaine tant, malgré mes gants de protection, je devais appuyer sur le métal brûlant pour espérer que l’or se transfère. C’était une galère sans nom d’appliquer tout juste la bonne pression et température tout en restant alignée avec le gabarit que j’avais bricolé pour que le titre soit bien centré, et je retenais mon souffle à chaque décollage du film doré tant les résultats me semblaient aléatoires. Je m’en veux d’avoir gaspillé autant de cuir mais hé, pour si peu de pratique, je trouve que je m’en suis plutôt bien sortie au final.</p>

<figure class="wp-block-image size-full"><img data-aspectratio="1045/775" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_45.jpg" alt="" class="wp-image-24933 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_45.jpg 1045w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_45-300x222.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_45-1024x759.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_45-768x570.jpg 768w" sizes="(max-width: 1045px) 100vw, 1045px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_45.jpg" alt="" class="wp-image-24933" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_45.jpg 1045w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_45-300x222.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_45-1024x759.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_45-768x570.jpg 768w" sizes="(max-width: 1045px) 100vw, 1045px"></noscript><figcaption class="wp-element-caption">Les plaques de métal me servaient à aligner correctement les tampons sans me brûler, en les positionnant sur un gabarit de papier que j’avais composé histoire d’être sûre que chaque ligne du titre serait centrée.</figcaption></figure>

<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_47.jpg" alt="" class="wp-image-24934 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_47.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_47-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_47-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_47-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_47.jpg" alt="" class="wp-image-24934" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_47.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_47-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_47-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_47-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>

<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_46.jpg" alt="" class="wp-image-24935 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_46.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_46-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_46-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_46-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_46.jpg" alt="" class="wp-image-24935" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_46.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_46-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_46-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_46-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>

<p>Toute dernière étape de la reliure, je devais encoller le cuir sur des plaques en carton et le livret sur les feuilles de garde rouge qui allaient faire le lien avec la couverture. Une nuit sous presse, et mon projet serait en théorie terminé…</p>

<figure class="wp-block-image size-full"><img data-aspectratio="1175/596" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43.jpg" alt="" class="wp-image-24939 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43.jpg 1175w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43-300x152.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43-1024x519.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43-768x390.jpg 768w" sizes="(max-width: 1175px) 100vw, 1175px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43.jpg" alt="" class="wp-image-24939" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43.jpg 1175w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43-300x152.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43-1024x519.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43-768x390.jpg 768w" sizes="(max-width: 1175px) 100vw, 1175px"></noscript></figure>

<figure class="wp-block-image size-full"><img data-aspectratio="1200/545" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43bis.jpg" alt="" class="wp-image-24943 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43bis.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43bis-300x136.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43bis-1024x465.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43bis-768x349.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43bis.jpg" alt="" class="wp-image-24943" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43bis.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43bis-300x136.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43bis-1024x465.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43bis-768x349.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>

<figure class="wp-block-image size-full"><img data-aspectratio="1200/568" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49bis.jpg" alt="" class="wp-image-24944 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49bis.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49bis-300x142.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49bis-1024x485.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49bis-768x364.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49bis.jpg" alt="" class="wp-image-24944" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49bis.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49bis-300x142.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49bis-1024x485.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49bis-768x364.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>

<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49.jpg" alt="" class="wp-image-24940 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49.jpg" alt="" class="wp-image-24940" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>

<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/reliure.jpg" alt="" class="wp-image-24967 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/reliure.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/reliure-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/reliure-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/reliure-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/reliure.jpg" alt="" class="wp-image-24967" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/reliure.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/reliure-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/reliure-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/reliure-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>

<p>Seulement voilà, ça n’aurait pas été drôle si je n’avais pas eu une galère de dernière minute : en ôtant la presse le lendemain matin, j’ai constaté que plusieurs feuilles avaient collé entre elles, le gesso d’apprêt ayant adhéré au papier de la page opposée. Les décoller délicatement a abîmé certaines dorures, que j’ai du reprendre patiemment en ajoutant une troisième couche de feuille d’or. Leçon comprise, j’aurais du glisser du papier sulfurisé entre chaque page pour éviter cette adhérence – on apprend toujours de ses erreurs.</p>

<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img data-aspectratio="900/1200" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_48-rotated.jpg" alt="" class="wp-image-24941 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_48-rotated.jpg 900w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_48-225x300.jpg 225w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_48-768x1024.jpg 768w" sizes="(max-width: 900px) 100vw, 900px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_48-rotated.jpg" alt="" class="wp-image-24941" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_48-rotated.jpg 900w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_48-225x300.jpg 225w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_48-768x1024.jpg 768w" sizes="(max-width: 900px) 100vw, 900px"></noscript><figcaption class="wp-element-caption">Exemple de dégât post-presse…</figcaption></figure></div>

<p>J’ai appliqué la dernière feuille d’or deux jours avant la date fatidique et j’ai été immobile quelques minutes en constatant que j’avais terminé. Je n’en revenais pas de tenir entre mes mains ce livre achevé après tant de temps, d’obsession et d’efforts. J’ai senti un soulagement immense me glisser sur le corps et je me suis mise à pleurer, complètement débordée par l’émotion. J’avais réussi.</p>

<figure class="wp-block-image size-large"><img data-aspectratio="760/760" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/der1.jpg" alt="" class="wp-image-24959 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/der1.jpg 760w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der1-300x300.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der1-150x150.jpg 150w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der1-400x400.jpg 400w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der1-120x120.jpg 120w" sizes="(max-width: 760px) 100vw, 760px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/der1.jpg" alt="" class="wp-image-24959" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/der1.jpg 760w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der1-300x300.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der1-150x150.jpg 150w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der1-400x400.jpg 400w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der1-120x120.jpg 120w" sizes="(max-width: 760px) 100vw, 760px"></noscript></figure>

<figure class="wp-block-image size-large"><img data-aspectratio="1024/512" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/der2-1024x512.jpg" alt="" class="wp-image-24962 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/der2-1024x512.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der2-300x150.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der2-768x384.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der2.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/der2-1024x512.jpg" alt="" class="wp-image-24962" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/der2-1024x512.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der2-300x150.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der2-768x384.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der2.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px"></noscript></figure>

<figure class="wp-block-image size-large"><img data-aspectratio="1024/495" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/der3-1024x495.jpg" alt="" class="wp-image-24961 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/der3-1024x495.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der3-300x145.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der3-768x371.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der3.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/der3-1024x495.jpg" alt="" class="wp-image-24961" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/der3-1024x495.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der3-300x145.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der3-768x371.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der3.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px"></noscript></figure>

<figure class="wp-block-image size-large"><img data-aspectratio="1024/512" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/der4-1024x512.jpg" alt="" class="wp-image-24960 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/der4-1024x512.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der4-300x150.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der4-768x384.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der4.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/der4-1024x512.jpg" alt="" class="wp-image-24960" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/der4-1024x512.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der4-300x150.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der4-768x384.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der4.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px"></noscript></figure>

<figure class="wp-block-image size-large"><img data-aspectratio="760/760" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/der5.jpg" alt="" class="wp-image-24963 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/der5.jpg 760w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der5-300x300.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der5-150x150.jpg 150w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der5-400x400.jpg 400w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der5-120x120.jpg 120w" sizes="(max-width: 760px) 100vw, 760px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/der5.jpg" alt="" class="wp-image-24963" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/der5.jpg 760w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der5-300x300.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der5-150x150.jpg 150w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der5-400x400.jpg 400w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der5-120x120.jpg 120w" sizes="(max-width: 760px) 100vw, 760px"></noscript></figure>

<p>J’ai offert mon manuscrit à K le jour de son anniversaire et je crois qu’il a eu son effet. <em>« Oh mais c’est fait main… Oh mais C’EST TOI QUI L’AS FAIT ?! » </em>J’ai passé quelques heures à lui raconter cette aventure, à quel point j’avais tout fait en cachette en son absence, les quelques fois où il avait failli me griller, les autres petits mensonges innocents nécessaires à préserver la surprise. J’étais toute aussi émue que lui en le regardant découvrir chaque page. C’était un cadeau lourd de symboles pour moi, et je l’espère pour lui aussi.</p>

<figure class="wp-block-image size-full is-resized noborder"><img data-aspectratio="1102/836" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/time_ok.png" alt="" class="wp-image-24937 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/time_ok.png 1102w, https://www.hypothermia.fr/wp-content/uploads/2024/03/time_ok-300x228.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/time_ok-1024x777.png 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/time_ok-768x583.png 768w" sizes="(max-width: 1102px) 100vw, 1102px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/time_ok.png" alt="" class="wp-image-24937" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/time_ok.png 1102w, https://www.hypothermia.fr/wp-content/uploads/2024/03/time_ok-300x228.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/time_ok-1024x777.png 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/time_ok-768x583.png 768w" sizes="(max-width: 1102px) 100vw, 1102px"></noscript><figcaption class="wp-element-caption">J’ai tenu un journal de bord où je notais scrupuleusement chaque heure (représentée par un carré) dédié au projet. 232 heures au total. J’en ai sans doute oublié plusieurs mais ça donne une assez bonne représentation de cette épopée. Pour les geeks, la visualisation a été générée via la librairie waffle (ggplot2) sur R.</figcaption></figure>

<p>Je crois que je n’aurais jamais pu envisager un tel ouvrage si je n’avais pas eu cet objectif clairement défini : un jour précis de fin février, j’allais offrir mon livre achevé. C’est cette échéance qui m’a tirée tout du long, ne me laissant pas de place pour douter, me remettre en question, m’inquiéter, me demander si c’était bien raisonnable. Je n’avais qu’une seule chose en tête tout du long : avancer.</p>

<p>Tout s’apprend, surtout à notre époque. J’ai été émerveillée de la quantité de tutoriels vidéo que j’ai trouvés, réalisés par des passionnés dédiant leur temps à partager leur savoir-faire. Plusieurs d’entre eux ont répondu avec un plaisir évident à mes questions de débutante, certains demandant même des nouvelles de mon projet quelques semaines après. J’ai eu accès à une multitude de ressources et de connaissances qui m’ont permis d’acquérir les bases techniques nécessaires alors que je partais de rien ou presque. Et j’ai même pu m’appuyer sur l’intelligence artificielle pour me guider et m’inspirer quand je ne trouvais pas exactement ce que je recherchais. Je dois tout de même mentionner que je reconnais aussi mon privilège financier qui m’a permis d’acquérir l’ensemble du matériel nécessaire à ce travail.</p>

<figure class="wp-block-image size-full"><img data-aspectratio="950/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_50.jpg" alt="" class="wp-image-24936 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_50.jpg 950w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_50-300x284.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_50-768x728.jpg 768w" sizes="(max-width: 950px) 100vw, 950px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_50.jpg" alt="" class="wp-image-24936" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_50.jpg 950w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_50-300x284.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_50-768x728.jpg 768w" sizes="(max-width: 950px) 100vw, 950px"></noscript></figure>

<p>C’était un projet démesuré et lourd d’enseignements que je suis encore en train d’assimiler. J’avoue avoir eu besoin d’une ou deux semaines pour m’en remettre, me sentant aussi sonnée qu’après avoir <a href="https://www.hypothermia.fr/2017/03/singularites/" data-type="post" data-id="7402">rendu mon manuscrit de doctorat</a>. Lorsqu’un projet te dévore ainsi pendant autant de temps, le monde te paraît vertigineux ensuite.</p>

<p>Et maintenant ? C’est une forme de renaissance. J’avais complètement mis de côté toutes mes autres passions pendant plusieurs mois – je me suis remise au yoga et à l’escalade la semaine dernière, et mon dos verrouillé d’avoir passé tellement d’heures plié sur mon ouvrage me remercie. Je me suis remise à lire, à voir des films, non plus dans l’angoisse de ne pas pouvoir consommer tout ce que je souhaiterais, mais avec la reconnaissance de pouvoir dédier du temps dans mes journées à faire ce que j’aime. J’ai passé tout le weekend dernier à jouer au jeu vidéo <em>Stray</em> que j’ai a-do-ré, et tout ceci m’emplit d’une reconnaissance nouvelle que je ne sais comment caractériser mais qui est plus que bienvenue.</p>

<p>J’en ressors emplie d’une nouvelle forme de confiance en moi qui m’a peut-être été le plus beau des cadeaux. Je suis capable d’entreprendre un tel projet et de le mener à bien. D’apprendre, de résoudre des problèmes, de m’adapter, et d’être fière de mon ouvrage. Je suis capable d’une dévotion et d’un focus de longue haleine, à la limite de l’hubris peut-être, une détermination qui m’a permis une telle traversée tête baissée, et je me sens très forte de l’autre côté.</p>

<p>Je me demande à quoi ressemblerait un monde et des vies où on aurait tous le temps d’explorer de telles possibilités. Ne serait-ce qu’une journée par semaine qu’on pourrait dédier à l’art, au sport, à la communauté. Ne pas devoir entreprendre ce genre de projets en apnée en rognant sur son sommeil, mais en disposant de l’espace-temps et de la sécurité nécessaires à leur réalisation. On pourrait en accomplir beaucoup, de belles et de bonnes choses partagées.</p>
</article>


<hr>

<footer>
<p>
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-rss2"></use>
</svg> Suivre</a> •
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-user-tie"></use>
</svg> Pro</a> •
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-mail"></use>
</svg> Email</a> •
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-hammer2"></use>
</svg> Légal</abbr>
</p>
<template id="theme-selector">
<form>
<fieldset>
<legend><svg class="icon icon-brightness-contrast">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-brightness-contrast"></use>
</svg> Thème</legend>
<label>
<input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
</label>
<label>
<input type="radio" value="dark" name="chosen-color-scheme"> Foncé
</label>
<label>
<input type="radio" value="light" name="chosen-color-scheme"> Clair
</label>
</fieldset>
</form>
</template>
</footer>
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
<script>
function loadThemeForm(templateName) {
const themeSelectorTemplate = document.querySelector(templateName)
const form = themeSelectorTemplate.content.firstElementChild
themeSelectorTemplate.replaceWith(form)

form.addEventListener('change', (e) => {
const chosenColorScheme = e.target.value
localStorage.setItem('theme', chosenColorScheme)
toggleTheme(chosenColorScheme)
})

const selectedTheme = localStorage.getItem('theme')
if (selectedTheme && selectedTheme !== 'undefined') {
form.querySelector(`[value="${selectedTheme}"]`).checked = true
}
}

const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
window.addEventListener('load', () => {
let hasDarkRules = false
for (const styleSheet of Array.from(document.styleSheets)) {
let mediaRules = []
for (const cssRule of styleSheet.cssRules) {
if (cssRule.type !== CSSRule.MEDIA_RULE) {
continue
}
// WARNING: Safari does not have/supports `conditionText`.
if (cssRule.conditionText) {
if (cssRule.conditionText !== prefersColorSchemeDark) {
continue
}
} else {
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
continue
}
}
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
}

// WARNING: do not try to insert a Rule to a styleSheet you are
// currently iterating on, otherwise the browser will be stuck
// in a infinite loop…
for (const mediaRule of mediaRules) {
styleSheet.insertRule(mediaRule.cssText)
hasDarkRules = true
}
}
if (hasDarkRules) {
loadThemeForm('#theme-selector')
}
})
</script>
</body>
</html>

+ 489
- 0
cache/2024/f5294ac20ea593cce56caf2379813a4a/index.md ファイルの表示

@@ -0,0 +1,489 @@
title: Chiroto T. Datoca
url: https://www.hypothermia.fr/2024/03/chiroto-t-datoca/
hash_url: f5294ac20ea593cce56caf2379813a4a
archive_date: 2024-03-13
og_image: https://i.ytimg.com/vi/EMqXceI2eJ0/hqdefault.jpg
description: Il y a quinze ans, j'ai entamé un projet de calligraphie que je n'ai jamais terminé, un cadeau que je n'ai jamais offert.
favicon: https://www.hypothermia.fr/wp-content/uploads/fbrfg/favicon-32x32.png
language: fr_FR

<p>Il y a quinze ans, j’ai entamé un projet de calligraphie que je n’ai jamais terminé, un cadeau que je n’ai jamais offert. L’été dernier, j’ai <a href="https://www.hypothermia.fr/2023/07/pele-mele-enlumine/" data-type="post" data-id="23412">visité une exposition</a> qui m’a rappelée à cet inachevé, et qui a fait germer en moi l’idée de le mener à bien. Ce jour-là, j’avais décidé : pour l’anniversaire de K, j’allais reprendre ce projet et lui offrir un manuscrit enluminé de ce poème qui compte tant : <em>Childe Roland to the Dark Tower came</em> de Robert Browning. Tiré d’un vers du <em>Roi Lear</em> de Shakespeare, le poème de 1855 a été l’inspiration de l’écrivain Stephen King pour sa saga <em>La Tour Sombre</em> à laquelle K et moi tenons tellement.</p>



<p>J’avais devant moi un peu moins de huit mois pour créer un livre calligraphié, peint et relié à la main. Un défi de taille soutenu par cette petite voix tout au fond de moi qu’il m’est impossible d’ignorer : je me devais de le relever.</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-full"><img data-aspectratio="300/224" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" fetchpriority="high" decoding="async" data-id="24867" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/avant1.jpg" alt="" class="wp-image-24867 lazyload"><noscript><img fetchpriority="high" decoding="async" data-id="24867" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/avant1.jpg" alt="" class="wp-image-24867"></noscript></figure>



<figure class="wp-block-image size-full"><img decoding="async" data-id="24868" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/avant2.jpg" alt="" class="wp-image-24868"></figure>
<figcaption class="blocks-gallery-caption wp-element-caption">Photos du projet avorté en 2009</figcaption></figure>



<p>Puisque la demi-mesure ne fait pas partie de mon vocabulaire, j’ai tenu à travailler au plus proche des techniques médiévales. J’ai ainsi appris à encrer à la plume, dorer à la feuille d’or pur, peindre aux pigments en poudre et relier au cuir de chèvre. Je m’y suis dévouée corps et âme, dédiant le moindre de mon temps libre à la concrétisation de ce projet qui devait se mener dans le plus grand secret. Je m’attelais à l’ouvrage à la moindre opportunité, me levant parfois à l’aube pour grappiller une heure de calligraphie avant d’aller bosser ou prolongeant des soirées jusqu’au petit matin lorsque K travaillait de nuit.</p>



<p>Au total j’ai passé plus de 230 heures sur ce projet (tout du moins c’est ce que j’ai pensé à compter) : un petit livre relié de cuir contenant 34 pages calligraphiées enluminées à la feuille d’or et cinq miniatures peintes. C’est un des accomplissements dont je suis la plus fière à ce jour.</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/final1.jpg" alt="" class="wp-image-24949" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/final1.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final1-300x200.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final1-1024x683.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final1-768x512.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>



<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/final2.jpg" alt="" class="wp-image-24950" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/final2.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final2-300x200.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final2-1024x683.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final2-768x512.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>



<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/final5.jpg" alt="" class="wp-image-24951" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/final5.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final5-300x200.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final5-1024x683.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final5-768x512.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>



<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/final4.jpg" alt="" class="wp-image-24952" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/final4.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final4-300x200.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final4-1024x683.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final4-768x512.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>



<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/final3.jpg" alt="" class="wp-image-24953" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/final3.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final3-300x200.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final3-1024x683.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/final3-768x512.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>



<p><a href="https://fivers.typepad.com/files/childe-roland-to-the-dark-tower-came.pdf" data-type="link" data-id="https://fivers.typepad.com/files/childe-roland-to-the-dark-tower-came.pdf">Le poème</a> fait 34 strophes de six vers chacun et raconte comment le chevalier Roland s’en est allé à la quête de la mythique Tour Sombre, narrant les aventures qu’il a vécues sur son chemin. Outre la calligraphie, je voulais également m’essayer à l’illustration dans le style de miniatures médiévales. Puisque mes travaux s’appuient avant tout sur des supports visuels, j’ai commencé par étudier le poème pour y trouver des idées d’illustrations pertinentes.</p>



<p>Je me suis fixée sur cinq images représentatives de moments clefs de l’histoire : la rencontre avec le vieux mendiant qui l’introduit, le face-à-face avec le cheval décharné dans le désert, la traversée de la rivière maudite, le parcours du champ de bataille abandonné, et bien sûr la scène d’apothéose finale où Roland meurt en soufflant son cor une fois la Tour Sombre découverte. Et puisque le dessin n’est clairement pas mon médium de prédilection, je me suis appuyée sur de la génération d’images par intelligence artificielle pour trouver de l’inspiration !</p>



<figure class="wp-block-image size-full is-resized noborder"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ai1.png" alt="" class="wp-image-24869" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ai1.png 1127w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ai1-300x167.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ai1-1024x572.png 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ai1-768x429.png 768w" sizes="(max-width: 1127px) 100vw, 1127px"></figure>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_03.jpg" alt="" class="wp-image-24875" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_03.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_03-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_03-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_03-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><figcaption class="wp-element-caption">Grosse pensée à la petite Eli de 9 ans qui adorait dessiner des chevaux, ça m’a été bien utile !</figcaption></figure>



<figure class="wp-block-image size-full noborder"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ai2.png" alt="" class="wp-image-24870" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ai2.png 1253w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ai2-300x141.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ai2-1024x480.png 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ai2-768x360.png 768w" sizes="(max-width: 1253px) 100vw, 1253px"></figure>



<figure class="wp-block-image size-full noborder"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ai3-1.png" alt="" class="wp-image-24872" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ai3-1.png 990w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ai3-1-300x199.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ai3-1-768x510.png 768w" sizes="(max-width: 990px) 100vw, 990px"></figure>



<figure class="wp-block-image size-full noborder"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ai4.png" alt="" class="wp-image-24873" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ai4.png 1280w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ai4-300x99.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ai4-1024x337.png 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ai4-768x253.png 768w" sizes="(max-width: 1280px) 100vw, 1280px"></figure>



<figure class="wp-block-image size-full noborder"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/aifin.png" alt="" class="wp-image-24874" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/aifin.png 991w, https://www.hypothermia.fr/wp-content/uploads/2024/03/aifin-300x211.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/aifin-768x539.png 768w" sizes="(max-width: 991px) 100vw, 991px"></figure>



<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_04.jpg" alt="" class="wp-image-24876" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_04.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_04-300x300.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_04-1024x1024.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_04-150x150.jpg 150w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_04-768x768.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_04-400x400.jpg 400w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_04-120x120.jpg 120w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>



<p>J’ai passé un temps initial non négligeable à me fixer sur le format du livre, essayant différentes tailles de pages, mesures d’interlignes et intercalages de feuillets. Il m’a fallu une dizaine d’heures rien que pour découper le papier et tracer toutes les lignes de guide, devant prendre des mesures au millimètre près. J’ai du en reprendre la plupart une deuxième fois en constatant que je devais décaler la majuscule enluminée, sans quoi le premier vers ne rentrait pas tout à fait.</p>



<p>C’est comme ça que j’ai choisi de mener ce projet de front, n’ayant pas des années d’études monastiques à plein temps à y dédier : j’ai décidé d’apprendre sur le tas de mes erreurs en serrant les fesses pour que tout se passe à peu près bien jusqu’au bout. Je n’aurai pas évité quelques boulettes – on les verra un peu plus loin – mais rien qui ne soit pas irrécupérable bien heureusement.</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_02.jpg" alt="" class="wp-image-24883" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_02.jpg 1169w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_02-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_02-768x577.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_02-1024x769.jpg 1024w" sizes="(max-width: 1169px) 100vw, 1169px"></figure>



<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_01.jpg" alt="" class="wp-image-24884" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_01.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_01-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_01-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_01-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>



<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_06.jpg" alt="" class="wp-image-24877" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_06.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_06-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_06-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_06-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>



<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_07.jpg" alt="" class="wp-image-24878" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_07.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_07-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_07-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_07-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>



<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_08.jpg" alt="" class="wp-image-24881" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_08.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_08-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_08-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_08-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>



<p>Et puis il fallait que je reprenne la calligraphie aussi : j’ai dépoussiéré mes livres enseignant la pratique de la Fraktur et j’ai rempli un carnet de lignes d’écriture. Par exemple si j’ai passé autant de temps au <a href="https://www.hypothermia.fr/2023/07/pralines-lyonnaises/#luminarium" data-type="link" data-id="https://www.hypothermia.fr/2023/07/pralines-lyonnaises/#luminarium"><em>Luminarium</em> à Lyon</a> l’été dernier, c’est que j’y ai rempli des pages entières de lettres répétées en visant un certain sens de la régularité. Il n’y a qu’en forgeant qu’on devient forgeron.</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ecriture.jpg" alt="" class="wp-image-24946" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ecriture.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ecriture-300x200.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ecriture-1024x683.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ecriture-768x512.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>



<p>Jusqu’à ce que le moment soit venu d’écrire « pour de vrai ». J’ai utilisé du papier vélin et de l’encre de Chine – et l’encrier en fonte que j’ai hérité de mon grand-père, un objet qui me fascinait déjà toute petite et auquel il me tenait très fort de faire honneur.</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_12.jpg" alt="" class="wp-image-24885" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_12.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_12-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_12-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_12-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>






<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_13.jpg" alt="" class="wp-image-24886" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_13.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_13-300x203.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_13-768x519.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_13-1024x692.jpg 1024w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_11-1-rotated.jpg" alt="" class="wp-image-24880" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_11-1-rotated.jpg 900w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_11-1-225x300.jpg 225w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_11-1-768x1024.jpg 768w" sizes="(max-width: 900px) 100vw, 900px"><figcaption class="wp-element-caption">Correction des erreurs à la pointe de couteau</figcaption></figure></div>


<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_15.jpg" alt="" class="wp-image-24902" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_15.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_15-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_15-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_15-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>



<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_16.jpg" alt="" class="wp-image-24903" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_16.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_16-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_16-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_16-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>



<p>L’apprentissage le plus conséquent et l’étape la plus fastidieuse était sans conteste la dorure. Pour m’entraîner, j’ai calligraphié quelques noms à envoyer en guise de cartes de vœux pour Noël 2023. Je me suis ainsi cassé les dents à utiliser des fausses feuille d’or qui se sont émiettées dans tout mon appartement, avant que des professionnels viennent à ma rescousse sur un forum dédié (Internet est merveilleux).</p>



<p>Ils m’ont indiqué que la fausse feuille d’or servait avant tout à recouvrir de grandes surfaces et n’était pas du tout adaptée à la minutie de la calligraphie ; si je voulais pratiquer, pas le choix, je devais me lancer directement sur des feuilles d’or véritable. J’ai balisé en connaissant le précieux du petit paquet de feuilles d’or que j’avais acquis, jusqu’à constater que l’or véritable était un vrai plaisir à travailler. Au final j’aurai refait ces cartes trois fois, un apprentissage fastidieux et bien plus long que prévu mais bien nécessaire avant de m’atteler à mon projet final.</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_09.jpg" alt="" class="wp-image-24887" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_09.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_09-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_09-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_09-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><figcaption class="wp-element-caption">La fausse feuille d’or, NON</figcaption></figure>



<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_10.jpg" alt="" class="wp-image-24888" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_10.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_10-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_10-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_10-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><figcaption class="wp-element-caption">La vraie feuille d’or, OUI</figcaption></figure>



<p>Pour faire adhérer la feuille d’or, il faut tout d’abord recouvrir les surfaces à dorer de deux couches de gesso, un genre d’apprêt rose-orangé mélangeant de la gomme et de la craie. Son application est un peu spéciale puisqu’il ne se dépose pas comme de la peinture ; il faut plutôt le répartir sous la forme d’une goutte qu’on va nourrir en matière pour l’étirer sur toute la surface à recouvrir avec une plume. Chaque couche a besoin d’une bonne nuit pour sécher, imaginez ça sur 40 pages recto verso…</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img decoding="async" data-id="24891" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_14-768x1024.jpg" alt="" class="wp-image-24891" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_14-768x1024.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_14-225x300.jpg 225w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_14-rotated.jpg 900w" sizes="(max-width: 768px) 100vw, 768px"></figure>



<figure class="wp-block-image size-large"><img decoding="async" data-id="24896" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_23-768x1024.jpg" alt="" class="wp-image-24896" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_23-768x1024.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_23-225x300.jpg 225w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_23-rotated.jpg 900w" sizes="(max-width: 768px) 100vw, 768px"></figure>
</figure>



<figure class="wp-block-image size-full"><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_19.jpg" alt="" class="wp-image-24892" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_19.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_19-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_19-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_19-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></figure>



<p>Il faut ensuite appliquer deux couches de feuille d’or – j’ai choisi d’utiliser du 22 carats en-dessous histoire d’économiser un peu, et 24 carats au-dessus pour éviter le risque d’oxydation. Au passage, merci l’invention du papier de support avec lequel la feuille d’or est livrée, ce qui permet de la manipuler bien plus facilement que si elle était volante.</p>



<p>Pour la poser, il faut souffler sur le gesso pour l’humidifier avant d’y presser soigneusement la feuille afin qu’elle y adhère. On décolle délicatement le papier de support, et on utilise un pinceau pour enlever l’or qui dépasse (qu’on récupère évidemment dans un petit pot, ça pourra servir plus tard !) Il ne reste plus qu’à polir l’or avec un ustensile en agate (je crois que je ne maîtrise toujours pas vraiment cette technique) avant de passer à la couche suivante. </p>






<figure class="wp-block-image size-full is-resized"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_20.jpg" alt="" class="wp-image-24893 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_20.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_20-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_20-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_20-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_20.jpg" alt="" class="wp-image-24893" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_20.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_20-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_20-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_20-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>



<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_21.jpg" alt="" class="wp-image-24894 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_21.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_21-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_21-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_21-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_21.jpg" alt="" class="wp-image-24894" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_21.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_21-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_21-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_21-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>



<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_27.jpg" alt="" class="wp-image-24900 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_27.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_27-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_27-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_27-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_27.jpg" alt="" class="wp-image-24900" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_27.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_27-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_27-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_27-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>



<p>La dorure est un travail très lent et laborieux qui m’a rendue complètement dingue lors de la deuxième couche (quelle idée de vouloir dorer les petites gouttes des cadres aussi…) J’y ai passé 45 heures au total, de nombreuses soirées qui se sont finies bien tard dans la nuit. Un travail de longue haleine, mais quel émerveillement d’observer mon texte prendre relief avec ces reflets brillants dorés à la richesse incomparable !</p>



<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_25-1.jpg" alt="" class="wp-image-24901 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_25-1.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_25-1-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_25-1-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_25-1-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_25-1.jpg" alt="" class="wp-image-24901" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_25-1.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_25-1-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_25-1-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_25-1-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>



<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_22-rotated.jpg" alt="" class="wp-image-24895 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_22-rotated.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_22-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_22-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_22-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_22-rotated.jpg" alt="" class="wp-image-24895" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_22-rotated.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_22-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_22-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_22-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img data-aspectratio="900/1200" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_26-rotated.jpg" alt="" class="wp-image-24899 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_26-rotated.jpg 900w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_26-225x300.jpg 225w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_26-768x1024.jpg 768w" sizes="(max-width: 900px) 100vw, 900px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_26-rotated.jpg" alt="" class="wp-image-24899" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_26-rotated.jpg 900w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_26-225x300.jpg 225w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_26-768x1024.jpg 768w" sizes="(max-width: 900px) 100vw, 900px"></noscript></figure></div>


<p>Il faut dire que j’ai perdu pas mal de temps à refaire certaines pages, soit parce que j’avais recopié la mauvaise ligne de texte, ou que je me suis trompée de mesure de hauteur de ligne, ou que j’ai carrément oublié une lettre dans le titre principal qui compose le dernier vers. Je m’en suis rendue compte bien sûr une fois que j’avais tout calligraphié, encré et doré y compris le dessin du dos. C’est dans ces moments-ci qu’on respire un grand coup, on fait un tour sur le balcon, puis on se remet à l’ouvrage. J’avoue avoir laissé passé l’une ou l’autre typo mais celle-ci, elle était bien trop énorme pour que je puisse l’ignorer…</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-5 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-full"><img data-aspectratio="903/533" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-id="24910" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/boulette.png" alt="" class="wp-image-24910 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/boulette.png 903w, https://www.hypothermia.fr/wp-content/uploads/2024/03/boulette-300x177.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/boulette-768x453.png 768w" sizes="(max-width: 903px) 100vw, 903px"><noscript><img decoding="async" data-id="24910" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/boulette.png" alt="" class="wp-image-24910" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/boulette.png 903w, https://www.hypothermia.fr/wp-content/uploads/2024/03/boulette-300x177.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/boulette-768x453.png 768w" sizes="(max-width: 903px) 100vw, 903px"></noscript></figure>



<figure class="wp-block-image size-full"><img data-aspectratio="343/272" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-id="24913" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/facepalm.gif" alt="" class="wp-image-24913 lazyload"><noscript><img decoding="async" data-id="24913" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/facepalm.gif" alt="" class="wp-image-24913"></noscript></figure>
</figure>



<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30.jpg" alt="" class="wp-image-24909 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30.jpg" alt="" class="wp-image-24909" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript><figcaption class="wp-element-caption">Et allez, on recommence – retracer les lignes, réécrire, refaire les entrelacs et retranscrire le dessin, repasser deux couches de gesso et deux de feuilles d’or. À toute chose malheur est bon, je préfère cette tête de Roland sur mon deuxième essai !</figcaption></figure>



<p>Une fois toutes les dorures remplies et polies, côté calligraphie il ne restait « plus » qu’à encrer en rouge les éléments vides restants et à contourer au noir chaque dorure. Un jeu d’enfant en comparaison des étapes précédentes !</p>



<figure class="wp-block-image size-full is-resized"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_28-rotated.jpg" alt="" class="wp-image-24911 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_28-rotated.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_28-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_28-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_28-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_28-rotated.jpg" alt="" class="wp-image-24911" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_28-rotated.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_28-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_28-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_28-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>





<p>Pour finir les pages, il me restait à peindre les miniatures. C’est l’étape qui me faisait le plus paniquer car je n’avais pas touché à de la peinture depuis plus de quinze ans et je n’avais aucune notion de comment tenir un pinceau, mélanger des couleurs, accentuer des ombres et des lumières… Alignement des étoiles, c’est à la même période que je suis tombée par hasard dans un magasin de seconde main sur l’immense et superbe ouvrage « <em><a href="https://www.taschen.com/fr/books/classics/47701/codices-illustres-les-plus-beaux-manuscrits-enlumines-du-monde-400-a-1600">Codices illustrés : Les plus beaux manuscrits enluminés du monde</a></em> » qui m’a été précieux d’inspiration. Mais d’abord – techniques médiévales oblige – fabriquons la peinture à partir de pigments en poudre et de détrempe à l’œuf !</p>



<figure class="wp-block-image size-full noborder"><img data-aspectratio="1000/563" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/pigments.png" alt="" class="wp-image-24916 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/pigments.png 1000w, https://www.hypothermia.fr/wp-content/uploads/2024/03/pigments-300x169.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/pigments-768x432.png 768w" sizes="(max-width: 1000px) 100vw, 1000px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/pigments.png" alt="" class="wp-image-24916" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/pigments.png 1000w, https://www.hypothermia.fr/wp-content/uploads/2024/03/pigments-300x169.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/pigments-768x432.png 768w" sizes="(max-width: 1000px) 100vw, 1000px"></noscript></figure>



<p>La peinture se présente sous forme de pigments, une poudre granuleuse à laquelle il faut ajouter un liant (la détrempe) pour la rendre liquide. Pour ce faire, il faut mélanger le tout sur une plaque de verre à l’aide d’un couteau de peintre, puis utiliser une molette (la petite poignée en verre sur les images ci-dessus) pour affiner l’ensemble et être sûr d’écraser chaque petit grain de pigment. Le mélange est ensuite recueilli au couteau et transféré dans un petit godet ; on nettoie la plaque et les ustensiles, puis on passe à la couleur suivante !</p>



<p>Une fois ma palette composée et avant de me lancer dans le vif du sujet, j’ai cherché quelques tutos de peinture pour avoir l’une ou l’autre base qui m’ont vite dépassée par leurs multiples techniques et théories… J’ai tout fermé et j’y suis allée au culot, mélangeant à l’instinct les couleurs jusqu’à trouver des teintes qui me plaisaient, et testant différentes techniques au fil des miniatures jusqu’au rendu escompté.</p>



<p>La peinture est bien plus permissive, corrigeable et pardonnable que ce que je pensais, les couches pouvant facilement se superposer jusqu’à obtenir le résultat souhaité. J’ai passé environ trois heures par image, parfois à la loupe pour les détails les plus minutieux, et le résultat me plaît énormément ; je ne sais pas si j’ai été baignée de la chance du débutant mais je n’ai pas l’impression d’avoir gaffé sur aucune des cinq illustrations, et j’avoue que je me suis même plutôt amusée !</p>



<p>Anecdote : J’ai eu droit à mon baptême de peintre en dégustant par inadvertance le verre d’eau sale dont je me servais pour rincer mes pinceaux plutôt que ma bière que j’avais posée à côté.</p>



<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30b.jpg" alt="" class="wp-image-24928 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30b.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30b-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30b-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30b-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30b.jpg" alt="" class="wp-image-24928" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30b.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30b-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30b-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_30b-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>



<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_31-rotated.jpg" alt="" class="wp-image-24917 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_31-rotated.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_31-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_31-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_31-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_31-rotated.jpg" alt="" class="wp-image-24917" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_31-rotated.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_31-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_31-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_31-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>



<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_34-rotated.jpg" alt="" class="wp-image-24918 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_34-rotated.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_34-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_34-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_34-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_34-rotated.jpg" alt="" class="wp-image-24918" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_34-rotated.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_34-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_34-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_34-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>



<figure class="wp-block-image size-full is-resized"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_32.jpg" alt="" class="wp-image-24919 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_32.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_32-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_32-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_32-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_32.jpg" alt="" class="wp-image-24919" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_32.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_32-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_32-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_32-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>



<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_36.jpg" alt="" class="wp-image-24920 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_36.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_36-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_36-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_36-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_36.jpg" alt="" class="wp-image-24920" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_36.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_36-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_36-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_36-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>



<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_33.jpg" alt="" class="wp-image-24921 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_33.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_33-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_33-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_33-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_33.jpg" alt="" class="wp-image-24921" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_33.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_33-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_33-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_33-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>



<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_35.jpg" alt="" class="wp-image-24922 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_35.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_35-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_35-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_35-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_35.jpg" alt="" class="wp-image-24922" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_35.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_35-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_35-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_35-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>



<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_37-rotated.jpg" alt="" class="wp-image-24923 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_37-rotated.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_37-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_37-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_37-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_37-rotated.jpg" alt="" class="wp-image-24923" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_37-rotated.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_37-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_37-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_37-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>



<p>Un petit coup de stylo noir pour rehausser les contours, et j’en avais enfin terminé de composer chaque page. C’était un plaisir non négligeable de les étaler toutes devant moi et de constater le travail accompli. Rien n’était joué toutefois : les dernières étapes d’assemblage sont paraît-il les plus délicates, et je n’avais pas droit à l’erreur…</p>



<figure class="wp-block-image size-full"><img data-aspectratio="1193/512" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_38.jpg" alt="" class="wp-image-24924 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_38.jpg 1193w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_38-300x129.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_38-1024x439.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_38-768x330.jpg 768w" sizes="(max-width: 1193px) 100vw, 1193px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_38.jpg" alt="" class="wp-image-24924" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_38.jpg 1193w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_38-300x129.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_38-1024x439.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_38-768x330.jpg 768w" sizes="(max-width: 1193px) 100vw, 1193px"></noscript></figure>



<figure class="wp-block-image size-full"><img data-aspectratio="1158/501" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_39.jpg" alt="" class="wp-image-24925 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_39.jpg 1158w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_39-300x130.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_39-1024x443.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_39-768x332.jpg 768w" sizes="(max-width: 1158px) 100vw, 1158px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_39.jpg" alt="" class="wp-image-24925" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_39.jpg 1158w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_39-300x130.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_39-1024x443.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_39-768x332.jpg 768w" sizes="(max-width: 1158px) 100vw, 1158px"></noscript></figure>



<p>Il fallait maintenant passer à la reliure : je devais superposer les feuilles les unes dans les autres en trois carnets (qu’on appelle signatures) qui seront cousus au milieu avant d’être encollés à la couverture. Et c’est à cette étape que j’ai constaté la plus grosse boulette qui m’a fait tomber le cœur dans les talons : je me suis plantée dans l’ordre des pages. Il y avait trois feuilles au milieu dont les recto/verso ne correspondaient pas.</p>



<p>J’ai eu beau les retourner dans tous les sens rien à faire : les strophes ne s’enchaînaient pas dans le bon ordre. Je pensais avoir bien vérifié pourtant, mais pas assez apparemment. Pour corriger ma gamelle, j’aurais du refaire trois feuilles au complet : douze pages, dont deux illustrations, et le temps m’était bien trop compté pour envisager de tout recommencer. J’avoue que j’ai eu besoin d’un bon moment pour laisser l’émotion s’évacuer. Mais je n’avais pas le temps de m’appesantir sur mon malheur : il fallait que je trouve une autre solution, pas question d’abandonner.</p>



<p>Au final, j’ai choisi de couper les feuilles de cette signature au milieu afin de pouvoir en réordonner les pages du mieux que je pouvais pour que l’histoire reste compréhensible. On trahit l’ordre originel du poème, mais c’était le meilleur des compromis. J’allais simplement devoir improviser ma reliure en collant ces quelques pages plutôt qu’en les cousant. J’ai eu les boules pendant quelques jours mais ça m’est passé. Si je le voulais vraiment, je pourrais refaire cette signature mais rétrospectivement, je crois que j’aime sincèrement cet accroc qui fait partie de l’histoire du livre. Place à la reliure maintenant.</p>



<figure class="wp-block-image size-full is-resized noborder"><img data-aspectratio="821/611" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/rajiv.png" alt="" class="wp-image-24929 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/rajiv.png 821w, https://www.hypothermia.fr/wp-content/uploads/2024/03/rajiv-300x223.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/rajiv-768x572.png 768w" sizes="(max-width: 821px) 100vw, 821px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/rajiv.png" alt="" class="wp-image-24929" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/rajiv.png 821w, https://www.hypothermia.fr/wp-content/uploads/2024/03/rajiv-300x223.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/rajiv-768x572.png 768w" sizes="(max-width: 821px) 100vw, 821px"></noscript><figcaption class="wp-element-caption"><a href="https://www.youtube.com/watch?v=ER9FIyYr_QA" data-type="link" data-id="https://www.youtube.com/watch?v=ER9FIyYr_QA">Le tuto</a> qui rassure (et qui m’a été super utile)</figcaption></figure>



<p>Contrairement à ce que je lisais un peu partout, j’ai trouvé l’étape de reliure plutôt facile et rapide malgré la difficulté supplémentaire de devoir encoller mes pages libres au milieu des deux signatures cousues. Une fois qu’on a compris les nœuds à coudre c’est assez automatique, il suffit de se prendre le temps et de maintenir une tension constante sur le fil. Lorsque j’ai terminé d’encoller la tranche consolidée par de la tarlatane, j’ai été plutôt émue de tenir entre mes mains le livre assemblé qui ressemblait de plus en plus à mon objectif final.</p>





<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_41-rotated.jpg" alt="" class="wp-image-24927 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_41-rotated.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_41-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_41-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_41-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_41-rotated.jpg" alt="" class="wp-image-24927" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_41-rotated.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_41-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_41-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_41-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>



<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_42.jpg" alt="" class="wp-image-24930 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_42.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_42-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_42-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_42-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_42.jpg" alt="" class="wp-image-24930" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_42.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_42-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_42-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_42-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>



<p>Pour la couverture, j’ai acheté une peau de chèvre teinte à un artisan de la région avec qui j’ai discuté plus de trois heures un samedi après-midi tant il semblait amusé par mon projet. Il m’a abreuvée de conseils avisés et je suis repartie ma peau sous le bras, le cœur rempli de savoir qu’il existe toujours dans ce monde des personnes à ce point généreuses à partager leur savoir-faire.</p>



<p>Parce que je manquais de défis apparemment, j’ai voulu estamper la reliure avec le titre du poème en lettres dorées à l’avant, et un symbole à l’arrière. Après de nombreuses recherches dans les bas-fonds du web artisanal, j’ai fini par trouver un kit de lettres gothiques en laiton (qui est devenu un des objets les plus précieux en ma possession) qu’on peut assembler en mots en les glissant dans un rail. J’ai aussi fait faire sur mesure un tampon de métal représentant le symbole emblématique du <em>Ka-tet</em> de la saga de Stephen King.</p>



<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_05.jpg" alt="" class="wp-image-24931 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_05.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_05-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_05-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_05-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_05.jpg" alt="" class="wp-image-24931" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_05.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_05-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_05-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_05-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>



<figure class="wp-block-gallery aligncenter has-nested-images columns-default is-cropped wp-block-gallery-7 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-full"><img data-aspectratio="1200/1200" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-id="24932" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18.jpg" alt="" class="wp-image-24932 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18-300x300.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18-1024x1024.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18-150x150.jpg 150w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18-768x768.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18-400x400.jpg 400w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18-120x120.jpg 120w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" data-id="24932" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18.jpg" alt="" class="wp-image-24932" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18-300x300.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18-1024x1024.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18-150x150.jpg 150w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18-768x768.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18-400x400.jpg 400w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_18-120x120.jpg 120w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>



<figure class="wp-block-image size-full"><img data-aspectratio="806/800" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-id="24945" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ka.jpg" alt="" class="wp-image-24945 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ka.jpg 806w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ka-300x298.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ka-150x150.jpg 150w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ka-768x762.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ka-120x120.jpg 120w" sizes="(max-width: 806px) 100vw, 806px"><noscript><img decoding="async" data-id="24945" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ka.jpg" alt="" class="wp-image-24945" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ka.jpg 806w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ka-300x298.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ka-150x150.jpg 150w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ka-768x762.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ka-120x120.jpg 120w" sizes="(max-width: 806px) 100vw, 806px"></noscript></figure>
</figure>



<figure class="wp-block-image size-full"><img data-aspectratio="1200/800" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/lettres.jpg" alt="" class="wp-image-24948 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/lettres.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/lettres-300x200.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/lettres-1024x683.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/lettres-768x512.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/lettres.jpg" alt="" class="wp-image-24948" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/lettres.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/lettres-300x200.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/lettres-1024x683.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/lettres-768x512.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>



<p>Sans accès à de la machinerie dédiée, je suis tombée sur un <a href="https://www.youtube.com/watch?v=KfSXCpTHMFk" data-type="link" data-id="https://www.youtube.com/watch?v=KfSXCpTHMFk">super tutoriel</a> qui donnait l’espoir d’un résultat tout à fait honnête en faisant chauffer les lettres sur une plaque électrique avant de les presser sur un film doré thermocollant posé sur le cuir (je n’avais pas le temps ni les ressources d’envisager utiliser de la vraie feuille d’or). Alors j’ai pratiqué. Et pratiqué. Et repratiqué, des dizaines et des dizaines de tamponnages, jusqu’à avoir un résultat à peu près satisfaisant.</p>



<figure class="wp-block-image size-full"><img data-aspectratio="1200/613" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/essaiscuir.jpg" alt="" class="wp-image-24947 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/essaiscuir.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/essaiscuir-300x153.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/essaiscuir-1024x523.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/essaiscuir-768x392.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/essaiscuir.jpg" alt="" class="wp-image-24947" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/essaiscuir.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/essaiscuir-300x153.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/essaiscuir-1024x523.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/essaiscuir-768x392.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript><figcaption class="wp-element-caption">Des essais plus ou moins convaincants – j’en ai rempli des lignes et des lignes sans avoir trouvé de recette finale à 100% reproductible.</figcaption></figure>



<p>J’ai fini ma dorure de couverture un samedi à 3h du matin après de multiples essais et boulettes qui ont fini par consommer l’entièreté de ma peau de chèvre. J’ai d’ailleurs perdu la sensibilité au bout de mon index droit pendant une bonne semaine tant, malgré mes gants de protection, je devais appuyer sur le métal brûlant pour espérer que l’or se transfère. C’était une galère sans nom d’appliquer tout juste la bonne pression et température tout en restant alignée avec le gabarit que j’avais bricolé pour que le titre soit bien centré, et je retenais mon souffle à chaque décollage du film doré tant les résultats me semblaient aléatoires. Je m’en veux d’avoir gaspillé autant de cuir mais hé, pour si peu de pratique, je trouve que je m’en suis plutôt bien sortie au final.</p>



<figure class="wp-block-image size-full"><img data-aspectratio="1045/775" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_45.jpg" alt="" class="wp-image-24933 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_45.jpg 1045w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_45-300x222.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_45-1024x759.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_45-768x570.jpg 768w" sizes="(max-width: 1045px) 100vw, 1045px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_45.jpg" alt="" class="wp-image-24933" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_45.jpg 1045w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_45-300x222.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_45-1024x759.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_45-768x570.jpg 768w" sizes="(max-width: 1045px) 100vw, 1045px"></noscript><figcaption class="wp-element-caption">Les plaques de métal me servaient à aligner correctement les tampons sans me brûler, en les positionnant sur un gabarit de papier que j’avais composé histoire d’être sûre que chaque ligne du titre serait centrée.</figcaption></figure>



<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_47.jpg" alt="" class="wp-image-24934 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_47.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_47-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_47-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_47-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_47.jpg" alt="" class="wp-image-24934" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_47.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_47-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_47-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_47-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>



<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_46.jpg" alt="" class="wp-image-24935 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_46.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_46-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_46-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_46-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_46.jpg" alt="" class="wp-image-24935" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_46.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_46-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_46-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_46-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>



<p>Toute dernière étape de la reliure, je devais encoller le cuir sur des plaques en carton et le livret sur les feuilles de garde rouge qui allaient faire le lien avec la couverture. Une nuit sous presse, et mon projet serait en théorie terminé…</p>



<figure class="wp-block-image size-full"><img data-aspectratio="1175/596" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43.jpg" alt="" class="wp-image-24939 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43.jpg 1175w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43-300x152.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43-1024x519.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43-768x390.jpg 768w" sizes="(max-width: 1175px) 100vw, 1175px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43.jpg" alt="" class="wp-image-24939" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43.jpg 1175w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43-300x152.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43-1024x519.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43-768x390.jpg 768w" sizes="(max-width: 1175px) 100vw, 1175px"></noscript></figure>



<figure class="wp-block-image size-full"><img data-aspectratio="1200/545" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43bis.jpg" alt="" class="wp-image-24943 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43bis.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43bis-300x136.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43bis-1024x465.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43bis-768x349.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43bis.jpg" alt="" class="wp-image-24943" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43bis.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43bis-300x136.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43bis-1024x465.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_43bis-768x349.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>



<figure class="wp-block-image size-full"><img data-aspectratio="1200/568" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49bis.jpg" alt="" class="wp-image-24944 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49bis.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49bis-300x142.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49bis-1024x485.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49bis-768x364.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49bis.jpg" alt="" class="wp-image-24944" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49bis.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49bis-300x142.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49bis-1024x485.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49bis-768x364.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>



<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49.jpg" alt="" class="wp-image-24940 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49.jpg" alt="" class="wp-image-24940" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_49-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>



<figure class="wp-block-image size-full"><img data-aspectratio="1200/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/reliure.jpg" alt="" class="wp-image-24967 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/reliure.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/reliure-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/reliure-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/reliure-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/reliure.jpg" alt="" class="wp-image-24967" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/reliure.jpg 1200w, https://www.hypothermia.fr/wp-content/uploads/2024/03/reliure-300x225.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/reliure-1024x768.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/reliure-768x576.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px"></noscript></figure>



<p>Seulement voilà, ça n’aurait pas été drôle si je n’avais pas eu une galère de dernière minute : en ôtant la presse le lendemain matin, j’ai constaté que plusieurs feuilles avaient collé entre elles, le gesso d’apprêt ayant adhéré au papier de la page opposée. Les décoller délicatement a abîmé certaines dorures, que j’ai du reprendre patiemment en ajoutant une troisième couche de feuille d’or. Leçon comprise, j’aurais du glisser du papier sulfurisé entre chaque page pour éviter cette adhérence – on apprend toujours de ses erreurs.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img data-aspectratio="900/1200" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_48-rotated.jpg" alt="" class="wp-image-24941 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_48-rotated.jpg 900w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_48-225x300.jpg 225w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_48-768x1024.jpg 768w" sizes="(max-width: 900px) 100vw, 900px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_48-rotated.jpg" alt="" class="wp-image-24941" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_48-rotated.jpg 900w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_48-225x300.jpg 225w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_48-768x1024.jpg 768w" sizes="(max-width: 900px) 100vw, 900px"></noscript><figcaption class="wp-element-caption">Exemple de dégât post-presse…</figcaption></figure></div>


<p>J’ai appliqué la dernière feuille d’or deux jours avant la date fatidique et j’ai été immobile quelques minutes en constatant que j’avais terminé. Je n’en revenais pas de tenir entre mes mains ce livre achevé après tant de temps, d’obsession et d’efforts. J’ai senti un soulagement immense me glisser sur le corps et je me suis mise à pleurer, complètement débordée par l’émotion. J’avais réussi.</p>



<figure class="wp-block-image size-large"><img data-aspectratio="760/760" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/der1.jpg" alt="" class="wp-image-24959 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/der1.jpg 760w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der1-300x300.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der1-150x150.jpg 150w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der1-400x400.jpg 400w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der1-120x120.jpg 120w" sizes="(max-width: 760px) 100vw, 760px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/der1.jpg" alt="" class="wp-image-24959" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/der1.jpg 760w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der1-300x300.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der1-150x150.jpg 150w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der1-400x400.jpg 400w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der1-120x120.jpg 120w" sizes="(max-width: 760px) 100vw, 760px"></noscript></figure>



<figure class="wp-block-image size-large"><img data-aspectratio="1024/512" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/der2-1024x512.jpg" alt="" class="wp-image-24962 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/der2-1024x512.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der2-300x150.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der2-768x384.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der2.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/der2-1024x512.jpg" alt="" class="wp-image-24962" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/der2-1024x512.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der2-300x150.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der2-768x384.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der2.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px"></noscript></figure>



<figure class="wp-block-image size-large"><img data-aspectratio="1024/495" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/der3-1024x495.jpg" alt="" class="wp-image-24961 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/der3-1024x495.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der3-300x145.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der3-768x371.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der3.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/der3-1024x495.jpg" alt="" class="wp-image-24961" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/der3-1024x495.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der3-300x145.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der3-768x371.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der3.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px"></noscript></figure>



<figure class="wp-block-image size-large"><img data-aspectratio="1024/512" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/der4-1024x512.jpg" alt="" class="wp-image-24960 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/der4-1024x512.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der4-300x150.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der4-768x384.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der4.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/der4-1024x512.jpg" alt="" class="wp-image-24960" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/der4-1024x512.jpg 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der4-300x150.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der4-768x384.jpg 768w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der4.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px"></noscript></figure>



<figure class="wp-block-image size-large"><img data-aspectratio="760/760" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/der5.jpg" alt="" class="wp-image-24963 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/der5.jpg 760w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der5-300x300.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der5-150x150.jpg 150w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der5-400x400.jpg 400w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der5-120x120.jpg 120w" sizes="(max-width: 760px) 100vw, 760px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/der5.jpg" alt="" class="wp-image-24963" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/der5.jpg 760w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der5-300x300.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der5-150x150.jpg 150w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der5-400x400.jpg 400w, https://www.hypothermia.fr/wp-content/uploads/2024/03/der5-120x120.jpg 120w" sizes="(max-width: 760px) 100vw, 760px"></noscript></figure>



<p>J’ai offert mon manuscrit à K le jour de son anniversaire et je crois qu’il a eu son effet. <em>« Oh mais c’est fait main… Oh mais C’EST TOI QUI L’AS FAIT ?! » </em>J’ai passé quelques heures à lui raconter cette aventure, à quel point j’avais tout fait en cachette en son absence, les quelques fois où il avait failli me griller, les autres petits mensonges innocents nécessaires à préserver la surprise. J’étais toute aussi émue que lui en le regardant découvrir chaque page. C’était un cadeau lourd de symboles pour moi, et je l’espère pour lui aussi.</p>



<figure class="wp-block-image size-full is-resized noborder"><img data-aspectratio="1102/836" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/time_ok.png" alt="" class="wp-image-24937 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/time_ok.png 1102w, https://www.hypothermia.fr/wp-content/uploads/2024/03/time_ok-300x228.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/time_ok-1024x777.png 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/time_ok-768x583.png 768w" sizes="(max-width: 1102px) 100vw, 1102px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/time_ok.png" alt="" class="wp-image-24937" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/time_ok.png 1102w, https://www.hypothermia.fr/wp-content/uploads/2024/03/time_ok-300x228.png 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/time_ok-1024x777.png 1024w, https://www.hypothermia.fr/wp-content/uploads/2024/03/time_ok-768x583.png 768w" sizes="(max-width: 1102px) 100vw, 1102px"></noscript><figcaption class="wp-element-caption">J’ai tenu un journal de bord où je notais scrupuleusement chaque heure (représentée par un carré) dédié au projet. 232 heures au total. J’en ai sans doute oublié plusieurs mais ça donne une assez bonne représentation de cette épopée. Pour les geeks, la visualisation a été générée via la librairie waffle (ggplot2) sur R.</figcaption></figure>



<p>Je crois que je n’aurais jamais pu envisager un tel ouvrage si je n’avais pas eu cet objectif clairement défini : un jour précis de fin février, j’allais offrir mon livre achevé. C’est cette échéance qui m’a tirée tout du long, ne me laissant pas de place pour douter, me remettre en question, m’inquiéter, me demander si c’était bien raisonnable. Je n’avais qu’une seule chose en tête tout du long : avancer.</p>



<p>Tout s’apprend, surtout à notre époque. J’ai été émerveillée de la quantité de tutoriels vidéo que j’ai trouvés, réalisés par des passionnés dédiant leur temps à partager leur savoir-faire. Plusieurs d’entre eux ont répondu avec un plaisir évident à mes questions de débutante, certains demandant même des nouvelles de mon projet quelques semaines après. J’ai eu accès à une multitude de ressources et de connaissances qui m’ont permis d’acquérir les bases techniques nécessaires alors que je partais de rien ou presque. Et j’ai même pu m’appuyer sur l’intelligence artificielle pour me guider et m’inspirer quand je ne trouvais pas exactement ce que je recherchais. Je dois tout de même mentionner que je reconnais aussi mon privilège financier qui m’a permis d’acquérir l’ensemble du matériel nécessaire à ce travail.</p>



<figure class="wp-block-image size-full"><img data-aspectratio="950/900" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_50.jpg" alt="" class="wp-image-24936 lazyload" data-srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_50.jpg 950w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_50-300x284.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_50-768x728.jpg 768w" sizes="(max-width: 950px) 100vw, 950px"><noscript><img decoding="async" src="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_50.jpg" alt="" class="wp-image-24936" srcset="https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_50.jpg 950w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_50-300x284.jpg 300w, https://www.hypothermia.fr/wp-content/uploads/2024/03/ctd_50-768x728.jpg 768w" sizes="(max-width: 950px) 100vw, 950px"></noscript></figure>



<p>C’était un projet démesuré et lourd d’enseignements que je suis encore en train d’assimiler. J’avoue avoir eu besoin d’une ou deux semaines pour m’en remettre, me sentant aussi sonnée qu’après avoir <a href="https://www.hypothermia.fr/2017/03/singularites/" data-type="post" data-id="7402">rendu mon manuscrit de doctorat</a>. Lorsqu’un projet te dévore ainsi pendant autant de temps, le monde te paraît vertigineux ensuite.</p>



<p>Et maintenant ? C’est une forme de renaissance. J’avais complètement mis de côté toutes mes autres passions pendant plusieurs mois – je me suis remise au yoga et à l’escalade la semaine dernière, et mon dos verrouillé d’avoir passé tellement d’heures plié sur mon ouvrage me remercie. Je me suis remise à lire, à voir des films, non plus dans l’angoisse de ne pas pouvoir consommer tout ce que je souhaiterais, mais avec la reconnaissance de pouvoir dédier du temps dans mes journées à faire ce que j’aime. J’ai passé tout le weekend dernier à jouer au jeu vidéo <em>Stray</em> que j’ai a-do-ré, et tout ceci m’emplit d’une reconnaissance nouvelle que je ne sais comment caractériser mais qui est plus que bienvenue.</p>



<p>J’en ressors emplie d’une nouvelle forme de confiance en moi qui m’a peut-être été le plus beau des cadeaux. Je suis capable d’entreprendre un tel projet et de le mener à bien. D’apprendre, de résoudre des problèmes, de m’adapter, et d’être fière de mon ouvrage. Je suis capable d’une dévotion et d’un focus de longue haleine, à la limite de l’hubris peut-être, une détermination qui m’a permis une telle traversée tête baissée, et je me sens très forte de l’autre côté.</p>



<p>Je me demande à quoi ressemblerait un monde et des vies où on aurait tous le temps d’explorer de telles possibilités. Ne serait-ce qu’une journée par semaine qu’on pourrait dédier à l’art, au sport, à la communauté. Ne pas devoir entreprendre ce genre de projets en apnée en rognant sur son sommeil, mais en disposant de l’espace-temps et de la sécurité nécessaires à leur réalisation. On pourrait en accomplir beaucoup, de belles et de bonnes choses partagées.</p>

+ 180
- 0
cache/2024/f68e9507784b5baf1584085908d60f58/index.html ファイルの表示

@@ -0,0 +1,180 @@
<!doctype html><!-- This is a valid HTML5 document. -->
<!-- Screen readers, SEO, extensions and so on. -->
<html lang="en">
<!-- Has to be within the first 1024 bytes, hence before the `title` element
See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
<meta charset="utf-8">
<!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
<!-- The viewport meta is quite crowded and we are responsible for that.
See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
<meta name="viewport" content="width=device-width,initial-scale=1">
<!-- Required to make a valid HTML5 document. -->
<title>Hyperlink escape codes (archive) — David Larlet</title>
<meta name="description" content="Publication mise en cache pour en conserver une trace.">
<!-- That good ol' feed, subscribe :). -->
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
<!-- Generated from https://realfavicongenerator.net/ such a mess. -->
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
<link rel="manifest" href="/static/david/icons2/site.webmanifest">
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
<meta name="msapplication-TileColor" content="#f7f7f7">
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
<meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
<meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
<!-- Is that even respected? Retrospectively? What a shAItshow…
https://neil-clarke.com/block-the-bots-that-feed-ai-models-by-scraping-your-website/ -->
<meta name="robots" content="noai, noimageai">
<!-- Documented, feel free to shoot an email. -->
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
<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>
<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>
<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>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<script>
function toggleTheme(themeName) {
document.documentElement.classList.toggle(
'forced-dark',
themeName === 'dark'
)
document.documentElement.classList.toggle(
'forced-light',
themeName === 'light'
)
}
const selectedTheme = localStorage.getItem('theme')
if (selectedTheme !== 'undefined') {
toggleTheme(selectedTheme)
}
</script>

<meta name="robots" content="noindex, nofollow">
<meta content="origin-when-cross-origin" name="referrer">
<!-- Canonical URL for SEO purposes -->
<link rel="canonical" href="https://notes.billmill.org/programming/bash/Hyperlink_escape_codes.html">

<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">


<article>
<header>
<h1>Hyperlink escape codes</h1>
</header>
<nav>
<p class="center">
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="https://notes.billmill.org/programming/bash/Hyperlink_escape_codes.html" title="Lien vers le contenu original">Source originale</a>
<br>
Mis en cache le 2024-03-13
</p>
</nav>
<hr>
<p>To print out a clickable hyperlink in a [terminal that supports] the <a href="https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda">OSC8 escape code</a>, use:</p>
<pre><code><p class="highlight">printf '\e]8;;http://example.com\e\\This is a link\e]8;;\e\\\n'
</p></code></pre>
<p>Found via trying to get the <a href="https://notes.billmill.org/computer_usage/git/gh.html">gh</a> cli to output nicer code search results that I can get more context from</p>
</article>


<hr>

<footer>
<p>
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-rss2"></use>
</svg> Suivre</a> •
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-user-tie"></use>
</svg> Pro</a> •
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-mail"></use>
</svg> Email</a> •
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-hammer2"></use>
</svg> Légal</abbr>
</p>
<template id="theme-selector">
<form>
<fieldset>
<legend><svg class="icon icon-brightness-contrast">
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-brightness-contrast"></use>
</svg> Thème</legend>
<label>
<input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
</label>
<label>
<input type="radio" value="dark" name="chosen-color-scheme"> Foncé
</label>
<label>
<input type="radio" value="light" name="chosen-color-scheme"> Clair
</label>
</fieldset>
</form>
</template>
</footer>
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
<script>
function loadThemeForm(templateName) {
const themeSelectorTemplate = document.querySelector(templateName)
const form = themeSelectorTemplate.content.firstElementChild
themeSelectorTemplate.replaceWith(form)

form.addEventListener('change', (e) => {
const chosenColorScheme = e.target.value
localStorage.setItem('theme', chosenColorScheme)
toggleTheme(chosenColorScheme)
})

const selectedTheme = localStorage.getItem('theme')
if (selectedTheme && selectedTheme !== 'undefined') {
form.querySelector(`[value="${selectedTheme}"]`).checked = true
}
}

const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
window.addEventListener('load', () => {
let hasDarkRules = false
for (const styleSheet of Array.from(document.styleSheets)) {
let mediaRules = []
for (const cssRule of styleSheet.cssRules) {
if (cssRule.type !== CSSRule.MEDIA_RULE) {
continue
}
// WARNING: Safari does not have/supports `conditionText`.
if (cssRule.conditionText) {
if (cssRule.conditionText !== prefersColorSchemeDark) {
continue
}
} else {
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
continue
}
}
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
}

// WARNING: do not try to insert a Rule to a styleSheet you are
// currently iterating on, otherwise the browser will be stuck
// in a infinite loop…
for (const mediaRule of mediaRules) {
styleSheet.insertRule(mediaRule.cssText)
hasDarkRules = true
}
}
if (hasDarkRules) {
loadThemeForm('#theme-selector')
}
})
</script>
</body>
</html>

+ 13
- 0
cache/2024/f68e9507784b5baf1584085908d60f58/index.md ファイルの表示

@@ -0,0 +1,13 @@
title: Hyperlink escape codes
url: https://notes.billmill.org/programming/bash/Hyperlink_escape_codes.html
hash_url: f68e9507784b5baf1584085908d60f58
archive_date: 2024-03-13
og_image:
description: To print out a clickable hyperlink in a terminal
favicon: https://notes.billmill.org/favicon.ico
language: en_US

<p>To print out a clickable hyperlink in a [terminal that supports] the <a href="https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda">OSC8 escape code</a>, use:</p>
<pre><code><p class="highlight">printf '\e]8;;http://example.com\e\\This is a link\e]8;;\e\\\n'
</p></code></pre>
<p>Found via trying to get the <a href="https://notes.billmill.org/computer_usage/git/gh.html">gh</a> cli to output nicer code search results that I can get more context from</p>

+ 16
- 0
cache/2024/index.html ファイルの表示

@@ -74,6 +74,10 @@
<li><a href="/david/cache/2024/877ad04fd329c26c80113e15dec540df/" title="Accès à l’article dans le cache local : The Walk and Talk: Everything We Know">The Walk and Talk: Everything We Know</a> (<a href="https://craigmod.com/ridgeline/176/" title="Accès à l’article original distant : The Walk and Talk: Everything We Know">original</a>)</li>
<li><a href="/david/cache/2024/f68e9507784b5baf1584085908d60f58/" title="Accès à l’article dans le cache local : Hyperlink escape codes">Hyperlink escape codes</a> (<a href="https://notes.billmill.org/programming/bash/Hyperlink_escape_codes.html" title="Accès à l’article original distant : Hyperlink escape codes">original</a>)</li>
<li><a href="/david/cache/2024/c6e0fe933581c74380fa8eaa7f229353/" title="Accès à l’article dans le cache local : Motivation(s) chez Vincent Valentin.">Motivation(s) chez Vincent Valentin.</a> (<a href="https://vincent-valentin.name/articles/motivation-s" title="Accès à l’article original distant : Motivation(s) chez Vincent Valentin.">original</a>)</li>
<li><a href="/david/cache/2024/1d60fc5548a6fe61da80a4e16892fa0c/" title="Accès à l’article dans le cache local : Deep Democracy - IAPOP">Deep Democracy - IAPOP</a> (<a href="https://iapop.com/deep-democracy/" title="Accès à l’article original distant : Deep Democracy - IAPOP">original</a>)</li>
<li><a href="/david/cache/2024/155c5458fcbfb1450f19bc0d268c871e/" title="Accès à l’article dans le cache local : We’ve been waiting 20 years for this">We’ve been waiting 20 years for this</a> (<a href="https://thehistoryoftheweb.com/weve-been-waiting-20-years-for-this/" title="Accès à l’article original distant : We’ve been waiting 20 years for this">original</a>)</li>
@@ -124,6 +128,8 @@
<li><a href="/david/cache/2024/d74f376e53fc6a1108c59b6e6fa57ba1/" title="Accès à l’article dans le cache local : 25th work anniversary">25th work anniversary</a> (<a href="https://blog.koalie.net/2024/02/29/25th-work-anniversary/" title="Accès à l’article original distant : 25th work anniversary">original</a>)</li>
<li><a href="/david/cache/2024/c684ecb41e8e4ea04c6dac1e1d87f776/" title="Accès à l’article dans le cache local : From a humble beginning 35 years ago, the Web is now central to the daily lives of billions">From a humble beginning 35 years ago, the Web is now central to the daily lives of billions</a> (<a href="https://www.w3.org/blog/2024/from-a-humble-beginning-35-years-ago-the-web-is-now-central-to-the-daily-lives-of-billions/" title="Accès à l’article original distant : From a humble beginning 35 years ago, the Web is now central to the daily lives of billions">original</a>)</li>
<li><a href="/david/cache/2024/7d2d2bce96cbc020423299e7de03d2cf/" title="Accès à l’article dans le cache local : Disillusioned with Deno">Disillusioned with Deno</a> (<a href="https://www.baldurbjarnason.com/2024/disillusioned-with-deno/" title="Accès à l’article original distant : Disillusioned with Deno">original</a>)</li>
<li><a href="/david/cache/2024/c4751e7c80b292e3533ee6b3e057b702/" title="Accès à l’article dans le cache local : Manuel de survie de la femme dans la tech">Manuel de survie de la femme dans la tech</a> (<a href="https://www.duchess-france.fr/dossier/women%20in%20tech/alli%C3%A9s/2023/01/15/manuel-survie-femme-tech.html" title="Accès à l’article original distant : Manuel de survie de la femme dans la tech">original</a>)</li>
@@ -138,6 +144,8 @@
<li><a href="/david/cache/2024/44c12c8fbb59c7239f0f3b04bae189b7/" title="Accès à l’article dans le cache local : Tailwind marketing and misinformation engine">Tailwind marketing and misinformation engine</a> (<a href="https://nuejs.org/blog/tailwind-misinformation-engine/" title="Accès à l’article original distant : Tailwind marketing and misinformation engine">original</a>)</li>
<li><a href="/david/cache/2024/a801772c901c3e5cfad33f637d00151e/" title="Accès à l’article dans le cache local : All you need is links">All you need is links</a> (<a href="https://subconscious.substack.com/p/all-you-need-is-links" title="Accès à l’article original distant : All you need is links">original</a>)</li>
<li><a href="/david/cache/2024/4f003de8f8531a4aaf121ecf6c21ae66/" title="Accès à l’article dans le cache local : Years just pass by">Years just pass by</a> (<a href="https://minutestomidnight.co.uk/blog/years-just-pass-by/" title="Accès à l’article original distant : Years just pass by">original</a>)</li>
<li><a href="/david/cache/2024/7a223e552e8a8e3e11c759cbc5bc3ffa/" title="Accès à l’article dans le cache local : Opening Mail / frantic.im">Opening Mail / frantic.im</a> (<a href="https://frantic.im/opening-mail/" title="Accès à l’article original distant : Opening Mail / frantic.im">original</a>)</li>
@@ -236,6 +244,8 @@
<li><a href="/david/cache/2024/ea2cfc9aa425a6967d2cacd9f96ceb9e/" title="Accès à l’article dans le cache local : Ask LukeW: New Ways into Web Content">Ask LukeW: New Ways into Web Content</a> (<a href="https://lukew.com/ff/entry.asp?2008" title="Accès à l’article original distant : Ask LukeW: New Ways into Web Content">original</a>)</li>
<li><a href="/david/cache/2024/f5294ac20ea593cce56caf2379813a4a/" title="Accès à l’article dans le cache local : Chiroto T. Datoca">Chiroto T. Datoca</a> (<a href="https://www.hypothermia.fr/2024/03/chiroto-t-datoca/" title="Accès à l’article original distant : Chiroto T. Datoca">original</a>)</li>
<li><a href="/david/cache/2024/4dc1c2edacf179310783146044f0d06e/" title="Accès à l’article dans le cache local : Accessibility notes from your headache-prone friend">Accessibility notes from your headache-prone friend</a> (<a href="https://alexsirac.com/accessibility-notes/" title="Accès à l’article original distant : Accessibility notes from your headache-prone friend">original</a>)</li>
<li><a href="/david/cache/2024/2cadf792810f64540605c86a1431cb6b/" title="Accès à l’article dans le cache local : Custom Forms with Web Components and "ElementInternals"">Custom Forms with Web Components and "ElementInternals"</a> (<a href="https://dev.to/stuffbreaker/custom-forms-with-web-components-and-elementinternals-4jaj" title="Accès à l’article original distant : Custom Forms with Web Components and "ElementInternals"">original</a>)</li>
@@ -246,6 +256,8 @@
<li><a href="/david/cache/2024/ad0648259b032d4d0e5a9e6220c3c71e/" title="Accès à l’article dans le cache local : Paying people to work on open source is good actually">Paying people to work on open source is good actually</a> (<a href="https://jacobian.org/2024/feb/16/paying-maintainers-is-good/" title="Accès à l’article original distant : Paying people to work on open source is good actually">original</a>)</li>
<li><a href="/david/cache/2024/08b2b2735f74ebf856d8a850cc9e41cc/" title="Accès à l’article dans le cache local : A formula for responsive font-size">A formula for responsive font-size</a> (<a href="https://jameshfisher.com/2024/03/12/a-formula-for-responsive-font-size/" title="Accès à l’article original distant : A formula for responsive font-size">original</a>)</li>
<li><a href="/david/cache/2024/668d0f82ae65b0e94ea76145057759a7/" title="Accès à l’article dans le cache local : ‘One in a million’ iPhone bridal photo explanation: blame panorama mode">‘One in a million’ iPhone bridal photo explanation: blame panorama mode</a> (<a href="https://www.theverge.com/2023/12/2/23985299/iphone-bridal-photo-three-poses-explanation-panorama-photoshop-generative-ai" title="Accès à l’article original distant : ‘One in a million’ iPhone bridal photo explanation: blame panorama mode">original</a>)</li>
<li><a href="/david/cache/2024/b31ba18e3de1fc479b79f1885043026a/" title="Accès à l’article dans le cache local : When to use CSS text-wrap: balance; vs text-wrap: pretty;">When to use CSS text-wrap: balance; vs text-wrap: pretty;</a> (<a href="https://blog.stephaniestimac.com/posts/2023/10/css-text-wrap/" title="Accès à l’article original distant : When to use CSS text-wrap: balance; vs text-wrap: pretty;">original</a>)</li>
@@ -294,6 +306,8 @@
<li><a href="/david/cache/2024/09c0739036ea4a8b6c985e127fe7e3c8/" title="Accès à l’article dans le cache local : ☕️ Journal : Carnets">☕️ Journal : Carnets</a> (<a href="https://thom4.net/2023/02/01/carnets/" title="Accès à l’article original distant : ☕️ Journal : Carnets">original</a>)</li>
<li><a href="/david/cache/2024/b33059055c307477e43390a51f9a104a/" title="Accès à l’article dans le cache local : Optimisez Nginx pour de meilleurs performances">Optimisez Nginx pour de meilleurs performances</a> (<a href="https://buzut.net/optimiser-nginx/" title="Accès à l’article original distant : Optimisez Nginx pour de meilleurs performances">original</a>)</li>
<li><a href="/david/cache/2024/af0aee71fef1821c89ce368622f9a464/" title="Accès à l’article dans le cache local : Accessibility | Tippy.js">Accessibility | Tippy.js</a> (<a href="https://atomiks.github.io/tippyjs/v6/accessibility/" title="Accès à l’article original distant : Accessibility | Tippy.js">original</a>)</li>
<li><a href="/david/cache/2024/cd9184008ba5d9e4c9be4d0a0eea4f60/" title="Accès à l’article dans le cache local : Daring Fireball: The Vision Pro">Daring Fireball: The Vision Pro</a> (<a href="https://daringfireball.net/2024/01/the_vision_pro" title="Accès à l’article original distant : Daring Fireball: The Vision Pro">original</a>)</li>
@@ -330,6 +344,8 @@
<li><a href="/david/cache/2024/84f8caf3e7f7b3de9e18281749c3687f/" title="Accès à l’article dans le cache local : Until the Right Design Emerges...">Until the Right Design Emerges...</a> (<a href="https://lukew.com/ff/entry.asp?2036" title="Accès à l’article original distant : Until the Right Design Emerges...">original</a>)</li>
<li><a href="/david/cache/2024/c26881e908632b460cfd93fe61cc0466/" title="Accès à l’article dans le cache local : Following Links - Jim Nielsen’s Blog">Following Links - Jim Nielsen’s Blog</a> (<a href="https://blog.jim-nielsen.com/2024/following-links/" title="Accès à l’article original distant : Following Links - Jim Nielsen’s Blog">original</a>)</li>
<li><a href="/david/cache/2024/cd2fda3dae5d89990f73fbdaa1c3b491/" title="Accès à l’article dans le cache local : build a world, not an audience">build a world, not an audience</a> (<a href="https://keningzhu.com/journal/build-a-world-not-an-audience" title="Accès à l’article original distant : build a world, not an audience">original</a>)</li>
</ul>

読み込み中…
キャンセル
保存