<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.0.1">Jekyll</generator><link href="https://leo.grange.cafe/feed.xml" rel="self" type="application/atom+xml" /><link href="https://leo.grange.cafe/" rel="alternate" type="text/html" /><updated>2023-06-07T16:34:27+00:00</updated><id>https://leo.grange.cafe/feed.xml</id><title type="html">Léo Grange</title><subtitle>Personal website and blog of Léo Grange, PhD student in Toulouse (France). Mainly interested in free software, archlinux, energy efficiency, relationship between new technologies and politic.</subtitle><entry xml:lang="en"><title type="html">Fixing T470 Thunderbolt firmware issue</title><link href="https://leo.grange.cafe/hacking/2023/06/07/t470-thunderbolt-firmware-fix.html" rel="alternate" type="text/html" title="Fixing T470 Thunderbolt firmware issue" /><published>2023-06-07T00:00:00+00:00</published><updated>2023-06-07T00:00:00+00:00</updated><id>https://leo.grange.cafe/hacking/2023/06/07/t470-thunderbolt-firmware-fix</id><content type="html" xml:base="https://leo.grange.cafe/hacking/2023/06/07/t470-thunderbolt-firmware-fix.html"><![CDATA[<p>I am the happy owner of a (refurbished) Thinkpad T470 since 2017.
It is a laptop I really like for many reasons : its form factor, the hot-swapable battery, the
keyboard, the trackpoint.
But most importantly, there is a large amount of resources you can find on the net, as Thinkpad are
historically quite common in hackers communities.</p>

<p>It comes with a -single- USB Type C connector which is a Thunderbolt 3 port.
It may hence be used for charging (with USB PD power supply, but there is also a proprietary Lenovo
power port), for connecting several monitors (DisplayPort) and standard USB devices.
Pretty cool !
Except when it stops working…</p>

<h2 id="the-thunderbolt-controller-bug">The Thunderbolt controller bug</h2>

<p>Around 3 years ago, while I was simply using the Thunderbolt port for charging, it failed.
Initially I suspected the power supply.
But it worked properly on other laptops and in addition other Thunderbolt devices were not detected anymore.
Then I believed the port was physically broken somehow.
And finally, I discovered <a href="https://www.notebookcheck.net/ThinkPad-Thunderbolt-3-failure-What-s-happening-why-it-s-happening-and-how-to-fix-it.451207.0.html" title="NotebookCheck article from January 2020">the root of the issue</a>:
a recently discovered bug on the Thunderbolt controller firmware which caused a premature
aging of the SPI Flash chip.</p>

<p>As the upgrade of the Thunderbolt firmware with LVFS was a real pain at the time, I ignored the
2019 fix and ended up with this arguably more annoying issue.
In my case, the symptoms were quite weird.
The controller was still appearing somehow (<code class="highlighter-rouge">boltctl</code> was able to power it on).
Some kernel events shown the USB was partially working.
But no device was working properly, neither the power supply was detected.
While I can live without Thunderbolt and type-C, I was relying on it for my dual-monitor setup: only a
single HDMI port is usable otherwise.</p>

<h2 id="flashing-the-firmware-the-hard-way">Flashing the firmware the hard way</h2>

<p>Many people have been affected by the issue.
Some <a href="https://www.reddit.com/r/thinkpad/comments/sl44xy/unable_to_update_thunderbolt_nvm_fw_on_t470/">related</a>
fixing it simply by upgrading the firmware “normally”, often on Windows.
I spent some time trying to upgrade it using LVFS, as the controller was still showing up in my case.
Unfortunately all my attempt failed, both with the official <a href="https://fwupd.org/lvfs/devices/com.lenovo.ThinkPadNNQTF.firmware">Lenovo approved firmware</a>
(still in <code class="highlighter-rouge">testing</code> repository) and with some wizardry to craft a custom upgrade archive.</p>

<p>So I was let with two options.
Either I can still flash the Flash EEPROM manually with an updated firmware, or it is too damaged and
I have to unsolder it and put a new chip.
A few people reported fixing it <a href="https://www.reddit.com/r/thinkpad/comments/lnobj5/has_anyone_replaced_a_failed_t470_thunderbolt_spi/">by soldering a new chip</a>.
My SMD soldering skill is fairly limited so I hoped the first method would success…</p>

<p>A good motivation was this <a href="https://nadim.computer/posts/2018-10-26-thinkpad.html">blog post</a> of someone
successfully fixing the problem on a Thinkpad P1.
I bought a good quality <a href="https://eu.mouser.com/ProductDetail/3M-Electronic-Specialty/923650-08?qs=v3sg%2FobjprkglZ4tqOGABQ%3D%3D">3M SOIC-8 clip</a>
and some <code class="highlighter-rouge">MX25L80</code> chips in case I have to solder a new one.
I connected the clip to the GPIO ports of a RaspberryPi which was gathering dust in some drawer (certainly like 50%
of all existing RaspberryPi).
And this lead to a huge disappointment.
Or more accurately, <em>two</em> huge disappointments.</p>

<p>First, the very expensive SOIC clip (30€!) from 3M is certainly defective.
Some of the pins are too short to connect properly to a SOIC chip.
Second, the motherboard on the T470 is quite different from the one of the P1<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup>.
For instance, the Thunderbolt firmware chip is not the same reference.
And in fact, not even the same width…</p>

<h3 id="fighting-back-with-the-right-tools">Fighting back with the right tools</h3>

<p>After this initial defeat, and an additional year without thunderbolt port, I decided to
try it again.
I bought a cheap generic SOIC clip + USB EEPROM programmer on amazon for something like 15€.
The actual SPI Flash chip on the T470, a Winbond <code class="highlighter-rouge">25Q80JVSIG</code> is quite difficult to find.
I bought some <code class="highlighter-rouge">25Q16JVSI</code> on a local hardware shop.</p>

<figure class="figure">
    <a href="/assets/images/posts/2023-06-07-t470-thunderbolt-firmware-fix/T470_motherboard_chip_highlighted.jpg"><picture><source srcset="/assets/generated/assets/images/posts/2023-06-07-t470-thunderbolt-firmware-fix/T470_motherboard_chip_highlighted-600-9f4526dcb.avif 600w, /assets/generated/assets/images/posts/2023-06-07-t470-thunderbolt-firmware-fix/T470_motherboard_chip_highlighted-900-9f4526dcb.avif 900w, /assets/generated/assets/images/posts/2023-06-07-t470-thunderbolt-firmware-fix/T470_motherboard_chip_highlighted-1200-9f4526dcb.avif 1200w" type="image/avif" /><source srcset="/assets/generated/assets/images/posts/2023-06-07-t470-thunderbolt-firmware-fix/T470_motherboard_chip_highlighted-600-daa89c1f6.webp 600w, /assets/generated/assets/images/posts/2023-06-07-t470-thunderbolt-firmware-fix/T470_motherboard_chip_highlighted-900-daa89c1f6.webp 900w, /assets/generated/assets/images/posts/2023-06-07-t470-thunderbolt-firmware-fix/T470_motherboard_chip_highlighted-1200-daa89c1f6.webp 1200w" type="image/webp" /><source srcset="/assets/generated/assets/images/posts/2023-06-07-t470-thunderbolt-firmware-fix/T470_motherboard_chip_highlighted-600-927536e20.jpg 600w, /assets/generated/assets/images/posts/2023-06-07-t470-thunderbolt-firmware-fix/T470_motherboard_chip_highlighted-900-927536e20.jpg 900w, /assets/generated/assets/images/posts/2023-06-07-t470-thunderbolt-firmware-fix/T470_motherboard_chip_highlighted-1200-927536e20.jpg 1200w" type="image/jpeg" /><img src="/assets/generated/assets/images/posts/2023-06-07-t470-thunderbolt-firmware-fix/T470_motherboard_chip_highlighted-800-927536e20.jpg" alt="T470 Motherboard" width="4528" height="3111" /></picture>

    </a><figcaption>The T470 motherboard, with the Thunderbolt firmware SPI Flash chip highlighted</figcaption></figure>

<p>I simply connected the clip on the chip and carefully set the cable on the USB programmer
(no direction or ‘first pin’ indication on this cheap stuff, had to do some manual continuity checks).
As the USB programmer is based on a quite standard CH341A chip, it is well detected and supported
by tools such as <code class="highlighter-rouge">flashrom</code>.
After connecting everything, I was finally able to read the current content with
<code class="highlighter-rouge">flashrom -p ch341a_spi -r thunderbolt_firmware_original.bin</code> !</p>

<figure class="figure">
    <a href="/assets/images/posts/2023-06-07-t470-thunderbolt-firmware-fix/raspberry_flashing_setup.jpg"><picture><source srcset="/assets/generated/assets/images/posts/2023-06-07-t470-thunderbolt-firmware-fix/raspberry_flashing_setup-600-923ca073b.avif 600w, /assets/generated/assets/images/posts/2023-06-07-t470-thunderbolt-firmware-fix/raspberry_flashing_setup-900-923ca073b.avif 900w, /assets/generated/assets/images/posts/2023-06-07-t470-thunderbolt-firmware-fix/raspberry_flashing_setup-1200-923ca073b.avif 1200w" type="image/avif" /><source srcset="/assets/generated/assets/images/posts/2023-06-07-t470-thunderbolt-firmware-fix/raspberry_flashing_setup-600-f1d5d774d.webp 600w, /assets/generated/assets/images/posts/2023-06-07-t470-thunderbolt-firmware-fix/raspberry_flashing_setup-900-f1d5d774d.webp 900w, /assets/generated/assets/images/posts/2023-06-07-t470-thunderbolt-firmware-fix/raspberry_flashing_setup-1200-f1d5d774d.webp 1200w" type="image/webp" /><source srcset="/assets/generated/assets/images/posts/2023-06-07-t470-thunderbolt-firmware-fix/raspberry_flashing_setup-600-773dadb87.jpg 600w, /assets/generated/assets/images/posts/2023-06-07-t470-thunderbolt-firmware-fix/raspberry_flashing_setup-900-773dadb87.jpg 900w, /assets/generated/assets/images/posts/2023-06-07-t470-thunderbolt-firmware-fix/raspberry_flashing_setup-1200-773dadb87.jpg 1200w" type="image/jpeg" /><img src="/assets/generated/assets/images/posts/2023-06-07-t470-thunderbolt-firmware-fix/raspberry_flashing_setup-800-773dadb87.jpg" alt="RaspberryPi connected to the SPI flash programmer" width="4608" height="3456" /></picture>

    </a><figcaption>The setup is less messy than my first attempt with loosely connected cables between the clip and the GPIO ports !</figcaption></figure>

<h3 id="retrieving-and-preparing-the-new-firmware">Retrieving and preparing the new firmware</h3>

<p>After a quick inspection with <code class="highlighter-rouge">hexdump</code> of the dumped content confirmed it looks like the Thunderbolt
firmware<sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">2</a></sup>.
To retrieve the new firmware, I downloaded the latest version of the Thunderbolt controller update
program directly <a href="https://pcsupport.lenovo.com/us/en/products/LAPTOPS-AND-NETBOOKS/THINKPAD-T-SERIES-LAPTOPS/THINKPAD-T470/downloads/DS121681">from the Lenovo’s website</a>.
It comes as a Windows executable.
Running it with Wine allows for unzip its content (“Extract Only”) in some directory.
The firmware is stored as a <code class="highlighter-rouge">ASSISTTBT.BIN</code> file in destination directory.
A quick look with <code class="highlighter-rouge">hexdump</code> and <code class="highlighter-rouge">strings</code> show its content to be similar to the dumped firmware and
its version string near the end of the file being <code class="highlighter-rouge">N1QTF18W</code>, the latest firmware version available.</p>

<p>However the structure is a bit different on the dumped file:</p>
<ul>
  <li>its size is 1 MiB compared to the ~252 KiB of the new file</li>
  <li>the area between <code class="highlighter-rouge">0x01000</code> and <code class="highlighter-rouge">0x04000</code> is filled with various data, compared to <code class="highlighter-rouge">0xFF</code> in the new file</li>
  <li>there is a second copy on the content at the second half of the Flash, not aligned identically
    <ul>
      <li>seems to duplicate the content starting after <code class="highlighter-rouge">0x04000</code>, starting at <code class="highlighter-rouge">0x82000</code></li>
    </ul>
  </li>
</ul>

<p>The second copy is maybe not strictly required, looking like some protection against firmware
corruption.
I decided to mimic the structure as best as I understand, using the following commands, with
<code class="highlighter-rouge">firmware_n1qth09w.bin</code> being a copy of the <code class="highlighter-rouge">ASSISTTBT.BIN</code> retrieved previously.</p>

<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">dd </span><span class="k">if</span><span class="o">=</span>/dev/zero <span class="nv">of</span><span class="o">=</span>firmware_padded.bin <span class="nv">bs</span><span class="o">=</span>1024k <span class="nv">count</span><span class="o">=</span>1
<span class="nb">dd </span><span class="nv">conv</span><span class="o">=</span>notrunc <span class="k">if</span><span class="o">=</span>firmware_n1qth09w.bin <span class="nv">of</span><span class="o">=</span>firmware_padded.bin
<span class="c"># second copy, starting at 0x82000 and ignoring the first 0x4000 bytes of the new firmware file</span>
<span class="nb">dd </span><span class="nv">conv</span><span class="o">=</span>notrunc <span class="k">if</span><span class="o">=</span>firmware_n1qth09w.bin <span class="nv">of</span><span class="o">=</span>firmware_padded.bin <span class="nv">bs</span><span class="o">=</span>1k <span class="nv">skip</span><span class="o">=</span>16 <span class="nv">seek</span><span class="o">=</span>520
</code></pre></div></div>

<p>Being satisfied enough, I attempted to flash it.</p>

<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>flashrom <span class="nt">-p</span> ch341a_spi <span class="nt">-w</span> firmware_padded.bin
</code></pre></div></div>

<h3 id="disappointment-and-happy-ending">Disappointment and happy ending</h3>

<p>After rebooting the laptop, I started first being happy (it booted, at least I destroyed nothing by accident!)
then angry.
Still no sign of improvement of the Thunderbolt port: power supply is still not detected, USB device are still
unusable…</p>

<p>In despair, I attempted to enable/disable all possible BIOS options related even loosely to Thunderbolt.
Here lies the final ingredient !
By disabling completely the Thunderbolt port (in <code class="highlighter-rouge">Security &gt; I/O Port Access</code>), rebooting and <em>re-enabling</em>
it…
The port finally works again perfectly !</p>

<p>My best guess is that it writes something in the data area of the Thunderbolt firmware Flash, which was
set to a default of “disabled” when I erased everything.
But I will not investigate anymore for now, sometimes we may accept a seemingly magic outcome, isn’t it?</p>
<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1" role="doc-endnote">
      <p>Some readers could ask “Wasn’t a good idea to check the motherboard before to buy the replacing chip?”.
  And it would be a very relevant question. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:2" role="doc-endnote">
      <p>It would have been slightly annoying to erase the BIOS chip or another firmware by accident. <a href="#fnref:2" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Léo Grange</name></author><category term="hacking" /><category term="thinkpad" /><category term="laptop" /><category term="repair" /><summary type="html"><![CDATA[I am the happy owner of a (refurbished) Thinkpad T470 since 2017. It is a laptop I really like for many reasons : its form factor, the hot-swapable battery, the keyboard, the trackpoint. But most importantly, there is a large amount of resources you can find on the net, as Thinkpad are historically quite common in hackers communities.]]></summary></entry><entry xml:lang="fr"><title type="html">Création d’une petite forge au propane</title><link href="https://leo.grange.cafe/tinkering/2023/05/05/making-small-propane-forge.html" rel="alternate" type="text/html" title="Création d’une petite forge au propane" /><published>2023-05-05T14:30:06+00:00</published><updated>2023-05-05T14:30:06+00:00</updated><id>https://leo.grange.cafe/tinkering/2023/05/05/making-small-propane-forge</id><content type="html" xml:base="https://leo.grange.cafe/tinkering/2023/05/05/making-small-propane-forge.html"><![CDATA[<p>Il y a une paire d’années, un ami coutelier m’a permis de m’initier à la forge et à la coutellerie
pendant quelques jours.
Ayant toujours été fasciné par le travail des métaux, sans avoir pris le temps de découvrir
réellement ces métiers, je dois dire que j’ai été sacrément emballé!
Alors oui, je ne deviendrai certainement pas forgeron ou coutelier, et je n’ai pas un grand
talent artistique.
Mais ça n’empêche pas de s’amuser un peu et d’apprendre quelques bases de forge!</p>

<figure class="figure">
    <a href="/assets/images/posts/2023-05-05-making-small-propane-forge/forged_knife_open.jpg"><picture><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forged_knife_open-600-2f29ab462.avif 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forged_knife_open-900-2f29ab462.avif 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forged_knife_open-1200-2f29ab462.avif 1200w" type="image/avif" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forged_knife_open-600-b1be75294.webp 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forged_knife_open-900-b1be75294.webp 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forged_knife_open-1200-b1be75294.webp 1200w" type="image/webp" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forged_knife_open-600-4f7f0d0a9.jpg 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forged_knife_open-900-4f7f0d0a9.jpg 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forged_knife_open-1200-4f7f0d0a9.jpg 1200w" type="image/jpeg" /><img src="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forged_knife_open-800-4f7f0d0a9.jpg" alt="Couteau forgé ouvert" width="3136" height="1296" /></picture>

    </a><figcaption>Le couteau que j'ai forgé et assemblé avec mon ami coutelier. Encore un gros merci à lui pour son temps !</figcaption></figure>

<h2 id="inspirations-et-design-général">Inspirations et design général</h2>

<p>On trouve énormément de ressources sur les Internets autour de la création de forge ou de fonderie,
à gaz ou à charbon.
Il s’agit presque exclusivement de vidéos, ce qui est excellent pour comprendre comment
s’y prendre mais vraiment désagréable pour regarder différent designs rapidement, comparer des
techniques, et surtout retrouver des informations à posteriori…
J’avais déjà réalisé une petite fonderie à bois/charbon à partir d’une bouteille de gaz,
me permettant corriger certains soucis que j’avais rencontré la fois précédente.</p>

<p>Ma première inspiration a été ce simple <a href="https://www.instructables.com/How-To-Make-The-Mini-Metal-Foundry/">tutoriel sur Instructable</a>
pour la création d’une mini-fonderie à charbon.
C’est un design très simple, les matériaux utilisés ne sont pas idéaux, mais ça avait au moins
le mérite de rendre un peu plus concret l’idée de forge/fonderie.</p>

<p>Quelques vidéos très inspirantes pour les forges à gaz à partir de bouteille de butane/propane
découpées :</p>
<ul>
  <li><a href="https://www.youtube.com/watch?v=q9e2efYMbGo">beau projet à deux brûleurs</a> (en français)</li>
  <li><a href="https://www.youtube.com/watch?v=QuoKVMZgLgo">une forge assez similaire</a> (en anglais)</li>
</ul>

<p>L’idée générale de ces forges est simple : on prend une bouteille de gaz type butane 13kg
(<em>que l’on prend soin de</em> <strong>bien</strong> <em>vider préalablement</em>!), on découpe le haut et/ou le bas
du cylindre, on perce pour passer les brûleurs puis on coule du béton réfractaire autour de
la paroi intérieure.
Plein de variations existent autour de ce design.
Par exemple, le type de porte à installer, le nombre et le système de maintient
des brûleurs, l’ajout d’une couche isolante en fibre de céramique avant le béton, etc…</p>

<p>Pour avoir utilisé, lors de mon initiation, une forge à deux porte sur charnières verticales,
j’avais envie d’avoir un système similaire la mienne.
L’idée -au moins théorique- est d’ouvrir uniquement la porte avant lors d’une utilisation
pour de petites pièces, mais d’avoir la possibilité d’ouvrir la porte arrière pour rentrer
des pièces plus longues que l’on veut forger au milieu (au prix d’une isolation nettement
diminuée et d’une montée en température plus difficile).
Une autre volonté était la possibilité d’utiliser la forge comme fonderie, en fermant la
porte arrière et en passant en position verticale (permettant de passer un creuset plus haut).
Enfin, j’avais envie de tenter d’atteindre des températures plutôt élevées (1200°C idéalement)
pour fondre des métaux plus intéressant que l’aluminium, comme du bronze, du cuivre et pourquoi
pas de l’argent.
Ces trois points ont guidé la conception de la forge, mais ont aussi demandé pas mal d’efforts
supplémentaires.
Le design final est donc un peu “trop” complexe, et rend probablement l’ensemble moins robuste.
À vouloir un outil à tout faire, je vais peut-être me retrouver avec un outil que ne fait rien
très bien, quoi…
Bref, si vous voulez juste une forge, prenez vous moins la tête !</p>

<p>Un petit résumé des caractéristiques voulues pour cette petite forge :</p>
<ul>
  <li>forge assez compacte et transportable pour aller forger à la campagne et ne pas me mettre
tout le quartier à dos</li>
  <li>deux emplacements de brûleurs, tout en ayant la possibilité de n’en utiliser un seul (sans
laisser un gros trou à la place du second…)</li>
  <li>porte avant et porte arrière sur charnières, avec système de verrouillage pour le transport
ou pour en condamner une des deux</li>
  <li>posture stable horizontale (forge) ou verticale (fonderie)</li>
  <li>système de pieds amovible et dans une certaine mesure réglables pour mettre à niveau
et rester bien stable</li>
  <li>deux poignées sur les côtés pour le transport</li>
  <li>isolation suffisante pour monter à 1200°C en mode fonderie</li>
</ul>

<h3 id="brûleur-à-propane">Brûleur à propane</h3>

<p>La construction de brûleurs à gaz (butane/propane) est aussi très riche en ressources, avec
nettement plus d’informations disponible sous forme de texte sur des sites web du début du millénaire,
de forums, etc…
L’objectif d’un brûleur est de créer le mélange idéal comburant/carburant (air/propane pour moi),
de l’envoyer à l’intérieur de la chambre et de faciliter sa combustion.</p>

<p>Deux catégories de brûleurs existent : ceux à air pulsé, où une pompe est utilisée pour injecter
l’air dans le mélange, ainsi que les brûleurs dits « atmosphériques » qui profitent de quelques
effets physiques liés à la pression d’arrivée du gaz pour mélanger l’air sans système actif.
Les brûleurs atmosphériques semblent être un peu plus délicats à équilibrer pour obtenir le ratio
air/gaz désiré, mais sont évidemment beaucoup plus simple à fabriquer et ne nécessitent aucun système
électrique.
Plusieurs design de brûleurs atmosphériques à fabriquer soi-même se sont perfectionnés, le plus connu
le brûleur « Ron Reil » dont <a href="http://web.archive.org/web/20020302174008/http://www.reil1.net/design1.shtml">les plans circulent depuis plus de 20 ans</a>.</p>

<p>L’idée de base d’un brûleur Reil est d’utiliser de la tuyauterie en acier noir, qui résistent,
sans problème à des températures de forge ou de fonderie, et dont les réducteurs (connecteurs entre
tuyaux de taille différentes) sont coniques à l’intérieur.
L’arrivée de gaz sous pression se fait au milieu d’un premier réducteur, dans le sens du rétrécissement,
et via un tout petit trou (1mm ou mois).
L’air environnant est alors entraîné par le flux de gaz à haute vitesse qui sort de ce trou, et se mélange
à celui-ci dans le tube central.
L’<a href="https://en.wikipedia.org/wiki/Venturi_effect">effet Venturi</a> est exploité une première fois en provocant
une accélération du mélange dans le tube central (section plus petite que l’entrée), puis une seconde
fois en ralentissant le mélange à la sortie du brûleur, via une réducteur placé dans le sens inverse.
Sa vitesse diminuée permet de stabiliser la flamme, et de la maintenir au niveau du réducteur de sortie
(et d’éviter qu’elle se forme dans le tube, ce qui chaufferait plus notre brûleur que la chambre.</p>

<p>En plus d’être assez simple à réaliser, ce type de brûleur est réputé être très peu coûteux.
Malheureusement, la plomberie en acier est de moins en moins utilisée, donc plus difficile à trouver
et plus cher qu’il y a 20 ans, au moins en France.
On peut trouver de nombreuses variantes, plus ou moins complexes à réaliser, ou en tous cas nécessitant
plus ou moins d’outils d’atelier.</p>
<ul>
  <li><a href="http://metalcast.boorman.us/reil_1.html">une vielle réalisation un peu complexe mais très détaillée</a></li>
  <li><a href="https://www.youtube.com/watch?v=SAP8Xho_I6w">une alternative récente, complexe également mais bien pensée</a></li>
</ul>

<h2 id="réalisation-et-test-du-brûleur">Réalisation et test du brûleur</h2>

<p>Le brûleur que j’ai réalisé est simple de réalisation, le matériel le plus spécifique à avoir étant
des tarauds M4 et M5.
Le corps du brûleur est composé d’un mamelon en acier 3/4” (20x27) de 20cm, d’un mamelon de réduction
1 1/2” femelle vers 3/4” femelle et d’un autre mamelon de réduction 1 1/4” femelle vers 3/4” femelle.
Dans mon cas, j’ai substitué le premier manchon par deux manchons imbriqués : du 1 1/2” -&gt; 1” puis 1” -&gt; 3/4”,
car la pièce n’était pas trouvable en magasin.
Ce n’est pas idéal pour l’aérodynamique du brûleur, mais ça marche malgré tout.</p>

<figure class="figure">
    <a href="/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_torch_section_simplified.svg">
        <img src="/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_torch_section_simplified.svg" alt="Vue d'ensemble et en coupe de la torche à propane." />
    </a><figcaption>Schéma d'ensemble de la torche à propane, modélisé à posteriori.</figcaption></figure>

<p>L’arrivée de gaz dans le brûleur se fait via un tuyaux en cuivre (du 12-14), au bout duquel est brasé
un bouchon en laiton.
Le gaz sous pression doit passer dans le brûleur via un tout petit trou, généralement entre 0.5 et 1mm.
Comme je ne suis pas très bon pour faire des trous aussi petits sans casser mes mèches, j’ai décidé
de visser un embout de poste à souder MIG, qui a le bon goût de se viser sur un pas standard M4 et
d’être usiné avec précision à 0.6 mm.
Le bouchon est donc percé et taraudé en M4, et l’embout est vissé avec un petit bout de Téflon pour
l’étanchéité.
De l’autre côté du tuyau en cuivre, j’ai brasé un embout à visser 15/21, sur lequel on pourra brancher
l’arrivée de gaz.</p>

<p>Les brasures sont réalisée à l’étain, ce qui est loin d’être idéal : les conduites de gaz doivent être
jointe par brasure forte à l’argent (meilleure étanchéité et résistant à de plus haute températures).
En fonctionnement normal, même la zone de l’injecteur de gaz n’atteindra pas les 200°C :
le flux d’air et de gaz maintient cette partie à la température ambiante.
Cependant, dès que le gaz est coupé, le flux d’air chaud venant de l’intérieur de la forge et le transfert
radiatif va <em>vite</em> faire monter la température.
Il est donc <strong>absolument nécessaire</strong> de dévisser le brûleur aussi tôt que le gaz est coupé, si la brasure est
faite à l’étain !
Une brasure forte est plus que recommandée, et je reprendrai cette brasure dès que possible.</p>

<figure class="figure">
    <a href="/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_overview.jpg"><picture><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_overview-600-9b979ca19.avif 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_overview-900-9b979ca19.avif 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_overview-1200-9b979ca19.avif 1200w" type="image/avif" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_overview-600-6248e9f2a.webp 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_overview-900-6248e9f2a.webp 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_overview-1200-6248e9f2a.webp 1200w" type="image/webp" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_overview-600-57f160fbd.jpg 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_overview-900-57f160fbd.jpg 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_overview-1200-57f160fbd.jpg 1200w" type="image/jpeg" /><img src="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_overview-800-57f160fbd.jpg" alt="Brûleur à propane éteint" width="4096" height="2304" /></picture>

    </a><figcaption>Le brûleur à propane à peu près finalisé.</figcaption></figure>

<p>Le tuyau de cuivre est maintenu à l’intérieur du réducteur par un ensemble de 3 vis, positionnées
en triangle équilatéral sur une tranche du réducteur.
Il suffit donc de percer et tarauder 3 trous dans le réducteur d’entrée.
Ce système permet de régler assez finement le centrage de l’arrivée de gaz et de le démonter au
besoin.
L’inconvénient principal est un marquage assez fort du cuivre par les vis pour bloquer suffisamment
le tuyau.</p>

<figure class="figure">
    <a href="/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_running.jpg"><picture><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_running-600-5ae3ea0e1.avif 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_running-900-5ae3ea0e1.avif 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_running-1200-5ae3ea0e1.avif 1200w" type="image/avif" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_running-600-3c46681a1.webp 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_running-900-3c46681a1.webp 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_running-1200-3c46681a1.webp 1200w" type="image/webp" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_running-600-47c936114.jpg 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_running-900-47c936114.jpg 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_running-1200-47c936114.jpg 1200w" type="image/jpeg" /><img src="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_running-800-47c936114.jpg" alt="Brûleur à propane allumé" width="4096" height="2304" /></picture>

    </a><figcaption>Et le même brûleur en action.</figcaption></figure>

<p>Côté bouteille de gaz, il faut un détendeur « haute pression » réglable (au moins dans la plage 0-3 bar).
La gestion de la pression permettra de faire varier la puissance du brûleur et d’agir sur le mélange
air/gaz en sortie.
Je m’en suis procuré un avec manomètre, quasiment impossible à trouver en magasin mais disponible sur quelques
sites web.
Bien faire attention à la connectique des deux côtés du détendeur : dans mon cas, du 1/2 pas à gauche côté bouteille,
et du M20x150 en sortie.
Les flexibles de gaz habituels permettent finalement de brancher le M20x150 de sortie de la bouteille vers
les embouts à visser 15/21.
Moi qui n’y connais pas grand chose en plomberie, j’ai perdu pas mal de temps à comprendre toutes
ces dénominations, les différents types de branchements, les matériaux à utiliser, etc…</p>

<p>L’un des inconvénients de ce brûleur est la difficulté d’y ajouter un mécanisme de régulation de l’entrée d’air.
L’idée de ces mécanismes est de fermer plus ou moins le réducteur d’entrée pour faire varier le ratio air/gaz
à la sortie du brûleur.
Cette régulation est nécessaire, car une flamme trop riche en oxygène ou trop riche en carburant peut poser
problème, par exemple en oxydant rapidement l’acier ou en attaquant par réduction certains oxydes du béton.
Un mauvais mélange air/gaz réduit aussi l’efficacité du brûleur et peut empêcher la flamme de rester stable.</p>

<p>Dans mon cas, le tuyau en cuivre d’arrivée de gaz empêche de simplement placer un disque pivotant autour d’un
axe sur la paroi pour faire varier l’entrée d’air.
Comme cette zone est censé restée froide, j’ai confectionné un petit mécanisme en impression 3D qui va jouer
ce rôle.
Il est constitué d’une partie fixe, plaquée contre l’entrée du réducteur, et d’une partie mobile dont la rotation
fait recouvrir ou non des trous sur la partie fixe.
La conception n’est pas excellente (entre autre cela empêche d’avoir plus de 40% de l’entrée d’air ouverte),
mais ça a fait l’affaire pour la fonderie et pour le premier test de la forge.</p>

<figure class="figure">
    <a href="/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_melted_cap.jpg"><picture><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_melted_cap-600-dd24d153b.avif 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_melted_cap-900-dd24d153b.avif 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_melted_cap-1200-dd24d153b.avif 1200w" type="image/avif" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_melted_cap-600-b48435617.webp 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_melted_cap-900-b48435617.webp 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_melted_cap-1200-b48435617.webp 1200w" type="image/webp" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_melted_cap-600-ccf477cc3.jpg 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_melted_cap-900-ccf477cc3.jpg 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_melted_cap-1200-ccf477cc3.jpg 1200w" type="image/jpeg" /><img src="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_melted_cap-800-ccf477cc3.jpg" alt="Mécanisme de régulation imprimé en 3D, fondu sur le brûleur" width="3264" height="2448" /></picture>

    </a><figcaption>Le mécanisme de régulation d'air en plastique, moins de 30 secondes après avoir coupé le gaz.</figcaption></figure>

<p>À la fin du premier démarrage de la forge, le plastique (PETG) a fondu avant que je n’ai le temps de dévisser
le brûleur.
La position quasiment verticale du brûleur sur la forge est beaucoup plus problématique que la position
horizontale sur la fonderie : dès que le gaz est coupé, la chaleur remonte dans le tuyau.
J’ai donc fait un nouveau système de fermeture sur un axe soudé au bord du réducteur, avec une découpe
en arc de cercle pour faire passer le tuyau d’arrivée du gaz.
Comme je n’ai pas de bons outils pour découper ce passage, ça a été une ébauche à la meuleuse et beaucoup
de temps à la lime.</p>

<figure class="figure">
    <a href="/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_fullmetal_cap.jpg"><picture><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_fullmetal_cap-600-38d1a693c.avif 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_fullmetal_cap-900-38d1a693c.avif 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_fullmetal_cap-1200-38d1a693c.avif 1200w" type="image/avif" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_fullmetal_cap-600-f8818b95a.webp 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_fullmetal_cap-900-f8818b95a.webp 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_fullmetal_cap-1200-f8818b95a.webp 1200w" type="image/webp" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_fullmetal_cap-600-5fcc29bb8.jpg 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_fullmetal_cap-900-5fcc29bb8.jpg 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_fullmetal_cap-1200-5fcc29bb8.jpg 1200w" type="image/jpeg" /><img src="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/gaz_burner_fullmetal_cap-800-5fcc29bb8.jpg" alt="Mécanisme de régulation en métal sur le brûleur" width="3264" height="2448" /></picture>

    </a><figcaption>Le nouveau mécanisme de régulation d'air, qui ne devrait pas fondre cette fois ci.</figcaption></figure>

<h2 id="réalisation-de-la-forge">Réalisation de la forge</h2>

<p>La réalisation de la forge elle-même m’a pris pas mal de temps, bien plus que prévu, certainement
par ce que j’ai très peu d’expérience en soudure à l’arc (ça se voit très bien à l’aspect des soudures,
je sais qu’elles sont très crades) et en usinage des métaux en général.
J’ai aussi pas mal improvisé au fur et à mesure, et j’ai essayé d’utiliser le plus de matériaux de
récupération ou que j’avais en stock, d’où quelques mauvais choix qui m’ont coûtés une après-midi ou
deux…</p>

<h3 id="préparation-de-la-bouteille-de-gaz">Préparation de la bouteille de gaz</h3>

<p class="notice--warning">On parle ici de découper des containers de produits hautement inflammables !
Les bouteilles <strong>doivent être vidées correctement</strong> avant <em>toute</em> découpe, et le conseil habituel
est de s’assurer d’un remplissage à l’eau et d’un vidage quelques jours après avant de découper
quoi que ce soit.
<br /><br />
Cette bouteille m’a posé quelques soucis, et j’ai agi de manière potentiellement risquée, mais
je vous conseille d’être plus prudent (mieux vaut une heure de perdue que le visage brûlé)…</p>

<p>Quelques bouteilles standards de 13kg traînaient dans la cours, et m’ont déjà servies pour d’autres
projets.
Celle-ci était la dernière du lot, pour une raison simple : je n’ai pas réussi à dévisser le bouchon
(malgré un outil créé pour ça avec un bras de levier de 1m50 quand même…) !
Après avoir fait de mon mieux pour la vider avec le bouchon, en la laissant ouverte pendant plusieurs
semaines et en pompant de l’air à l’intérieur de temps en temps, j’ai décidé de couper le bouchon
tranquillement à la scie à métaux.
Une fois tranché, l’accès est plus direct et j’ai pu remplir patiemment la bouteille avec de l’eau pour chasser le reste de gaz.</p>

<p>On commence par découper à la meuleuse de chaque côté pour créer les deux portes et libérer le cylindre qui formera
le cœur de la forge.
Un premier point complexe pour moi est l’installation des charnières.
Je commence par la porte « avant », avec des charnières clairement sous-dimensionnées
qui traînaient dans ma visserie.
Pour rendre les choses plus simples, je décide judicieusement d’utiliser de la taule d’environs
1mm d’épaisseur comme support, ce qui me permettra de galèrer avec mon poste à souder et de pester
sur la flexibilité de l’ensemble…
Comme je veux pouvoir démonter les portes, je décide de relier les deux parties avec 3 petits
écrous reliant une plaque soudée aux charnières et l’autre soudée sur le corps de la forge.</p>

<p>Toute la charnière me prend pas mal de temps à cause des opérations assez délicates :
découpe et meulage de la taule pour avoir la forme de la section à souder, soudure entre deux pièces
très fines (charnière et taule) et ajustement des deux plans pour que le couvercle se ferme bien.
Bref, le résultat est assez moche, mais étonnamment fonctionnel.
Les soudures font peur mais sont finalement assez résistantes.
Un léger jeu est présent quand on porte du poids sur la porte, qui est attribuable aux charnières
et pour une moindre mesure à la finesse de la taule.
De l’autre côté, je soude un système de fermeture assez basique que j’avais probablement démonté
d’un meuble.
Il permettra de maintenir la porte fermée si nécessaire, pour maintenir au chaud des pièces après
avoir coupé le gaz ou pour déplacer la forge par exemple.</p>

<p>Pour la seconde charnière, le résultat est catastrophique.
Je pense avoir appris de mes erreurs, et donc j’utilise une grosse charnière que j’avais en réserve,
dans un acier plus épais.
Le tout est soudé sur le corps de la forge, et se visse côté porte dans des trous que j’ai taraudé,
à l’intérieur d’un fer plat épais qui est lui-même soudé.
Le système semble robuste et les soudures plus faciles à réaliser (on est plus sur de la taule de
1 mm… ).
Par contre, l’utilisation d’une seule charnière, bien que plus épaisse, était une énorme connerie.
Le jeu sur l’axe d’ouverture est très important, ce qui rend difficile la fermeture de la porte
et réduit nettement la confiance dans la solidité de l’ensemble…</p>

<figure class="figure">
    <a href="/assets/images/posts/2023-05-05-making-small-propane-forge/forge_hinge_failure.jpg"><picture><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_hinge_failure-600-2e18f3460.avif 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_hinge_failure-900-2e18f3460.avif 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_hinge_failure-1200-2e18f3460.avif 1200w" type="image/avif" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_hinge_failure-600-20917a293.webp 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_hinge_failure-900-20917a293.webp 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_hinge_failure-1200-20917a293.webp 1200w" type="image/webp" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_hinge_failure-600-eef74c663.jpg 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_hinge_failure-900-eef74c663.jpg 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_hinge_failure-1200-eef74c663.jpg 1200w" type="image/jpeg" /><img src="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_hinge_failure-800-eef74c663.jpg" alt="Vue d'ensemble de la forge du côté des charnières" width="4096" height="2304" /></picture>

    </a><figcaption>Première tentative pour la charnière arrière (à gauche). Évidemment, c'est pas pour rien
qu'on met toujours au moins deux charnières d'habitude...</figcaption></figure>

<p>Après avoir passé autant de temps sur deux malheureuses charnières, je laisse ça de côté
et je reviendrai plus tard arranger le problème.
Un coup de meuleuse pour virer toute trace de l’échec précédent, deux charnières intermédiaires
et du fer plat de 4mm rendent le tout bien plus stable !
À noter que j’ai garder l’ancien système de fixation côté porte tel quel, mais qu’il mériterait
d’être étendu en haut et en bas pour rigidifier la fixation.</p>

<figure class="figure">
    <a href="/assets/images/posts/2023-05-05-making-small-propane-forge/forge_hinge_better.jpg"><picture><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_hinge_better-600-f86b2af56.avif 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_hinge_better-900-f86b2af56.avif 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_hinge_better-1200-f86b2af56.avif 1200w" type="image/avif" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_hinge_better-600-94ebb65ea.webp 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_hinge_better-900-94ebb65ea.webp 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_hinge_better-1200-94ebb65ea.webp 1200w" type="image/webp" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_hinge_better-600-44c26c230.jpg 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_hinge_better-900-44c26c230.jpg 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_hinge_better-1200-44c26c230.jpg 1200w" type="image/jpeg" /><img src="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_hinge_better-800-44c26c230.jpg" alt="Vue d'ensemble de la forge avec la nouvelle charnière" width="3264" height="2448" /></picture>

    </a><figcaption>Nouvelle charnière arrière, toujours pas parfait mais c'est un peu plus solide.</figcaption></figure>

<p>Je passe ensuite au perçage des entrées des brûleurs à l’aide d’un trépan métal.
Les entrées ne sont pas parfaitement symétriques, pour rendre le brûleur avant un peu plus proche
du milieu de la forge si je n’utilise qu’un seul brûleur.
Le perçage s’est révélé assez délicat, en particulier à cause de la section cylindrique qui empêche
d’être bien à plat sur toute la surface des dents du trépan.
J’ai réussi à bien abîmer les dents (au moins 3 qui ont cassé, d’autres qui sont émoussées) mais
au moins j’ai mes trous !</p>

<p>Pour maintenir le brûleur en place, je pensais souder un bout de tube cylindrique de gros diamètre
avec 4 trous taraudés pour bloquer le brûleur avec des vis.
Comme je n’avais rien sous là main avec un diamètre suffisant, j’ai fait avec les moyens du bord :
deux bouts de cornières soudées et taraudées.
Entre la fabrication des deux brûleurs, j’ai trouvé une cornière plus longue et plus épaisse
qui permet de faire un passage un peu plus propre.</p>

<figure class="figure">
    <a href="/assets/images/posts/2023-05-05-making-small-propane-forge/forge_gaz_burner_holder.jpg"><picture><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_gaz_burner_holder-600-3a0389591.avif 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_gaz_burner_holder-900-3a0389591.avif 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_gaz_burner_holder-1200-3a0389591.avif 1200w" type="image/avif" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_gaz_burner_holder-600-f29eafec8.webp 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_gaz_burner_holder-900-f29eafec8.webp 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_gaz_burner_holder-1200-f29eafec8.webp 1200w" type="image/webp" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_gaz_burner_holder-600-6da50fb8d.jpg 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_gaz_burner_holder-900-6da50fb8d.jpg 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_gaz_burner_holder-1200-6da50fb8d.jpg 1200w" type="image/jpeg" /><img src="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_gaz_burner_holder-800-6da50fb8d.jpg" alt="Vue du haut de la forge" width="4096" height="2304" /></picture>

    </a><figcaption>Fixation du premier brûleur à gaz, c'est pas très beau mais c'est fonctionnel.
Les 4 vis permettent de serrer le tuyau du brûleur et d'ajuster son centrage si besoin.</figcaption></figure>

<p>Pour poser la forge, mon objectif était d’avoir 4 pieds amovibles, et si possible ajustables
pour se mettre bien droit même sur un terrain pas idéal.
Des supports (bouts de cornières assez épaisses) vont donc être soudés, dépassant d’une
dizaine de centimètres et les pieds à proprement parler pourront être boulonnés dessus.
Pour cela, je commence par souder 4 supports le long du cylindre après avoir marqué le bas de la forge.
Cette opération était bien plus complexe pour moi que je ne l’avais anticipé : les pieds doivent
avoir le même angle dans la mesure du possible, sur les trois axes.
Mais comme je n’ai aucune surface plane comme référence, je suis obligé de faire une sorte de gabarit
en plastique transparent pour avoir au moins une base.
Le tout en tenant à la main les supports le temps de pointer au poste à souder…</p>

<p>Après avoir soudé les 4 pieds, je me rend compte que l’un d’eux est trop incliné, il faudra sûrement que
je meule au moins un côté pour le rectifier et le re-souder.
Plus compliqué à régler par contre : le plan vertical que j’avais tracé comme référence est décalé
de plusieurs degrés, par rapport aux plan des charnières.
Pas vraiment de solution autre que meuler les pieds et recommencer, je ferai avec en sur-élevant les
pieds d’un côté.</p>

<figure class="figure">
    <a href="/assets/images/posts/2023-05-05-making-small-propane-forge/forge_legs.jpg"><picture><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_legs-600-13a93a27d.avif 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_legs-900-13a93a27d.avif 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_legs-1200-13a93a27d.avif 1200w" type="image/avif" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_legs-600-ff2b519c4.webp 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_legs-900-ff2b519c4.webp 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_legs-1200-ff2b519c4.webp 1200w" type="image/webp" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_legs-600-5b29954cc.jpg 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_legs-900-5b29954cc.jpg 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_legs-1200-5b29954cc.jpg 1200w" type="image/jpeg" /><img src="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_legs-800-5b29954cc.jpg" alt="Le dessous de la forge" width="4608" height="3456" /></picture>

    </a><figcaption>Les 4 pieds soudés, des pieds plus grand et ajustables seront sûrement boulonnés dessus.</figcaption></figure>

<p>Comme la forge va peser une 40aine de kilos, j’ajoute deux poignées que je forme en cintrant avec
mon étaux et un tube fin qui traînait.
Les poignées sont placées légèrement sur le dessus de la forge, j’ai l’impression que ce sera
plus pratique et moins encombrant comme ça.</p>

<p>À ce stade, j’ai à peu près toutes les fonctionnalités que je voulais sur la carcasse de la forge.
Il resterai à placer une poignée sur chaque porte, mais je perd un peu patience, et je met ça de côté
comme finition une fois la chape de béton réfractaire coulée.
Par contre je commence à m’inquiéter du maintient en place du béton.
Sur la fonderie que j’avais réalisé, j’ai eu le droit à un démoulage impromptu du béton que j’avais coulé
dans le couvercle : il n’avait pas bien accroché aux parois et avec les différences de températures
a fini par simplement se décrocher, sans même se fissurer avant…</p>

<p>L’idéal serait d’armer le béton et de l’ancrer à la structure en métal.
Malheureusement, il est très déconseillé d’armer du béton réfractaire de manière traditionnelle.
Les coefficients de dilatation entre de l’acier standard et le béton sont trop différents à ces
températures, et il y a plus de chances de fragiliser la structure que de la renforcer ainsi.
Il existe bien des aciers réfractaires conçus pour ça, mais c’est un budget à ajouter et
ce n’est pas simple pour un particulier d’y avoir accès.
Après avoir tourné un peu en rond, je fini par décider de faire un ancrage minimum :
2 bouts de fer à béton de chaque côté du corps de forge, et 2 autres sur chaque porte.
Ça me semble très léger, mais j’ai un peu peur d’en mettre plus.
Les bouts sont un peu tordus pour éviter un bête glissement si une fissure apparaît autour
des ancres.</p>

<figure class="figure">
    <a href="/assets/images/posts/2023-05-05-making-small-propane-forge/forge_core_anchors.jpg"><picture><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_core_anchors-600-4d68f6818.avif 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_core_anchors-900-4d68f6818.avif 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_core_anchors-1200-4d68f6818.avif 1200w" type="image/avif" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_core_anchors-600-fe720de32.webp 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_core_anchors-900-fe720de32.webp 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_core_anchors-1200-fe720de32.webp 1200w" type="image/webp" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_core_anchors-600-0810b59d2.jpg 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_core_anchors-900-0810b59d2.jpg 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_core_anchors-1200-0810b59d2.jpg 1200w" type="image/jpeg" /><img src="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_core_anchors-800-0810b59d2.jpg" alt="Intérieur de la forge, avec les ancres internes" width="4096" height="2304" /></picture>

    </a><figcaption>Le corps de la forge avec les 4 « ancres » soudées sur les parois.</figcaption></figure>

<h3 id="installation-du-revêtement-en-fibre-de-céramique">Installation du revêtement en fibre de céramique</h3>

<p class="notice--warning">Les fibres de céramiques sont des fibres minérales très similaires à l’amiante.
Elles sont depuis plusieurs années <a href="https://www.cdc.gov/niosh/docs/2006-123/default.html">considérées cancérigènes</a>
pour des raisons similaires (fibres se logeant dans les voies respiratoires).
<br /><br />
Si vous en utilisez, vérifiez les <strong>équipements de protection adéquats</strong>, au stricte minimum un masque
FFP3 durant les découpes et la manipulation des fibres.
Il est fortement déconseillé de laisser des fibres de céramiques sans revêtement de surface, comme je l’ai
fait la porte arrière.</p>

<p>Maintenant que la carcasse est à peu près terminée et avant de couler le béton, j’installe
la laine de céramique autour des parois et au fond des portes.
La laine est donnée pour 2.5cm d’épaisseur, mais je suppose que ça compte une partie de tassement
avec un produit durcissant puisque je mesure plutôt 4cm sans écrasement.
Cette fibre se découpe assez facilement avec un simple cutter.
Je prépare donc un rectangle à enrouler dans le corps de la forge et deux cercles à plaquer au fond de
chaque porte.</p>

<p>Une fois découpé, j’applique un mastic haute température fourni par le même fabriquant le long
des parois et je plaque la fibre contre le mastic.
Comme pour tous ses produits, je n’ai trouvé aucun manuel technique précisant les caractéristiques
du mastique, les temps et conditions de séchages ou les procédures d’applications.
Il faut se contenter de trois lignes sur le site web et deux lignes d’information directement sur
le produit…</p>

<figure class="figure">
    <a href="/assets/images/posts/2023-05-05-making-small-propane-forge/forge_ceramic_wool_alone.jpg"><picture><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_ceramic_wool_alone-600-fbf57c5e1.avif 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_ceramic_wool_alone-900-fbf57c5e1.avif 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_ceramic_wool_alone-1200-fbf57c5e1.avif 1200w" type="image/avif" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_ceramic_wool_alone-600-04053d5f9.webp 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_ceramic_wool_alone-900-04053d5f9.webp 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_ceramic_wool_alone-1200-04053d5f9.webp 1200w" type="image/webp" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_ceramic_wool_alone-600-fbeed6a62.jpg 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_ceramic_wool_alone-900-fbeed6a62.jpg 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_ceramic_wool_alone-1200-fbeed6a62.jpg 1200w" type="image/jpeg" /><img src="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_ceramic_wool_alone-800-fbeed6a62.jpg" alt="La forge recouverte de laine de céramique à l'intérieur" width="4096" height="2304" /></picture>

    </a><figcaption>Laine de céramique posée dans la forge et au fond des portes, collée avec un mastic haute
température.</figcaption></figure>

<p>Peu après, j’applique un rigidifiant de fibre céramique.
Aucune information sur le procédé d’application et de séchage non plus, j’imite donc ce que j’ai
pu voir à droite et à gauche sur les Internets…
L’application se fait au pinceau, en y allant assez franchement pour imbiber correctement la fibre.
Après avoir attendu 24h, la laine est toujours molle en surface.
À priori, ce type de rigidifiant est simplement une solution de silice très fine dans de l’eau.
Je suppose donc qu’il faut au minimum faire évaporer l’eau, et idéalement fondre la silice au chalumeau.
Le peu d’information que j’avais trouvé jusque là me faisait penser qu’une simple application et
un séchage à l’air seraient suffisant, ce processus est beaucoup plus long que prévu et
je suis un peu inquiet d’endommager la fibre en chauffant trop la surface.</p>

<h3 id="coulage-du-béton-réfractaire">Coulage du béton réfractaire</h3>

<p>Ça commence à ressembler à une forge!
Plus qu’à couler le béton réfractaire autour de la fibre.
Le béton est indiqué pour 1600°C, sûrement un ciment à haute teneur en alumine (pour les curieux,
<a href="https://commons.wikimedia.org/wiki/File:Diagramme-phases-sio2-al2o3.jpg">le diagramme de phase alumine-silice</a>
aide à comprendre un peu la composition des réfractaires).
Son but est :</p>
<ul>
  <li>de fournir une protection haute température à la fibre de céramique, en évitant que le brûleur
ne fasse fondre la partie des fibres exposée à la flamme</li>
  <li>apporter une petite inertie thermique à la forge</li>
  <li>augmenter un peu l’isolation, même si à épaisseur égale la laine semble à peu près 10 fois moins
conductrice de chaleur</li>
</ul>

<p>L’inertie thermique est plus souvent considérée comme un inconvénients que comme un avantage.
Mais vu les dimensions de cette forge, et du brûleur, un peu d’inertie devrait aider à avoir
une température plus uniforme et plus facilement contrôlable.
Et tant pis si ça implique de chauffer une 30aine de kilo de béton en plus…</p>

<p>Pour couler la paroi, je prépare un coffrage improvisé qui formera le cylindre intérieur.
Il est constitué de deux conserves de collectivités (diamètre ~13cm), épaissi par 2 tours
de tapis de sol en mousse et lissé par un tour de textile plastifié, le tout
atteignant un diamètre d’à peu près 18cm.
Bref, du grand art, mais mis à part quelques déformations à prévoir je m’attend à ce que
le coffrage ne soit pas trop mauvais.
Il faut aussi anticiper les trous pour les brûleurs.
Je bricole un coffrage de dimension similaire pour le second emplacement de brûleur, à partir
d’un tube en acier entouré de mousse de matelas de sol.
Les deux éléments sont placés dans la position désirée pour les brûleurs, maintenu
par les vis de blocage.
La forge est finalement mise en position verticale, sur une planche, et le coffrage intérieur
est maintenu dans sa position par quelques bouts de gaffer.
Un pistolet à colle aurait permis d’avoir un coffrage plus propre, mais j’utilise ce que j’ai
sous la main.</p>

<figure class="figure">
    <a href="/assets/images/posts/2023-05-05-making-small-propane-forge/forge_before_concrete.jpg"><picture><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_before_concrete-600-16083a74a.avif 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_before_concrete-900-16083a74a.avif 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_before_concrete-1200-16083a74a.avif 1200w" type="image/avif" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_before_concrete-600-7795fe983.webp 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_before_concrete-900-7795fe983.webp 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_before_concrete-1200-7795fe983.webp 1200w" type="image/webp" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_before_concrete-600-6a09614cf.jpg 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_before_concrete-900-6a09614cf.jpg 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_before_concrete-1200-6a09614cf.jpg 1200w" type="image/jpeg" /><img src="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_before_concrete-800-6a09614cf.jpg" alt="Vue de haut sur la forge, avec le coffrage de fortune au milieu" width="4096" height="2304" /></picture>

    </a><figcaption>Coffrage intérieur préparé avec les moyens du bord, tout est prêt pour couler le béton
réfractaire à l'intérieur.</figcaption></figure>

<p>La préparation du béton me laisse perplexe.
Il est vendu comme un béton relativement liquide, pour des coffrage et des moulage de pièces,
mais la proportion d’eau à ajouter (2L pour 25kg) parvient à peine à rendre la pâte humide.
Malgré les risques de fragilisassions du béton, je suis obligé de rajouter bien plus d’eau,
autour de 3.5L pour 25kg.
Une fois le coffrage rempli, en tassant au fur et à mesure avec une tige en métal, je prépare
les portes pour couler le béton au dessus de la laine de céramique.</p>

<p>Mon calcul de quantité de béton nécessaire pour le volume à couler étant, comme d’habitude,
sous-estimé, je suis obligé d’improviser pour la deuxième porte.
J’utilise donc un mortier réfractaire qu’il me reste, donné pour 1300°C, pour la tapisser
la porte arrière.</p>

<p>En essayant d’imaginer un système de fermeture efficace de la porte arrière, je voulais
appliquer un cordon de fibre de céramique pour garder une relative étanchéité aux flammes
et limiter les pertes en utilisation fonderie (position verticale).
J’ai donc découpé un morceau de corde en fibre de céramique (diamètre 20mm), que j’ai enfoncé
délicatement dans le béton à environs la moitié de sa hauteur.
Avec du recul, l’idée semble plutôt mauvaise, surtout que j’ai placé les fibres bien trop à
l’intérieur, les laissant exposées directement au fond du four…
Bref, ça risque surtout de me filer un cancer et les fibre vont certainement fondre au fur et
à mesure, mais il faut bien faire des erreurs.</p>

<p>Plus qu’à attendre 24h pour décoffrer et le plus longtemps possible pour que le béton rigidifie
correctement (idéalement, au moins 3 semaines, et les propriétés mécaniques s’améliorent encore
après ça).
Au moment du décoffrage, le béton est encore très fragile, probablement à cause de l’excès d’eau
dans le mélange.
J’en profite pour gratter quelques endroits où le béton est en excès, en particulier
au niveau des brûleurs.</p>

<figure class="figure">
    <a href="/assets/images/posts/2023-05-05-making-small-propane-forge/forge_concrete_done.jpg"><picture><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_concrete_done-600-796e608ca.avif 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_concrete_done-900-796e608ca.avif 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_concrete_done-1200-796e608ca.avif 1200w" type="image/avif" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_concrete_done-600-87f8c5828.webp 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_concrete_done-900-87f8c5828.webp 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_concrete_done-1200-87f8c5828.webp 1200w" type="image/webp" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_concrete_done-600-c8d28360d.jpg 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_concrete_done-900-c8d28360d.jpg 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_concrete_done-1200-c8d28360d.jpg 1200w" type="image/jpeg" /><img src="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_concrete_done-800-c8d28360d.jpg" alt="La forge à l'horizontal, avec une partie du coffrage retiré" width="4096" height="2304" /></picture>

    </a><figcaption>Un peu compliqué à décoffrer, une partie de béton a pris sur la planche (à l'arrière)
est s'est arraché, mais rien de grave. Plus qu'à enlever le textile plastifié!</figcaption></figure>

<figure class="figure">
    <a href="/assets/images/posts/2023-05-05-making-small-propane-forge/forge_back_door.jpg"><picture><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_back_door-600-ea9838f91.avif 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_back_door-900-ea9838f91.avif 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_back_door-1200-ea9838f91.avif 1200w" type="image/avif" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_back_door-600-f1428199b.webp 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_back_door-900-f1428199b.webp 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_back_door-1200-f1428199b.webp 1200w" type="image/webp" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_back_door-600-82896faa6.jpg 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_back_door-900-82896faa6.jpg 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_back_door-1200-82896faa6.jpg 1200w" type="image/jpeg" /><img src="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_back_door-800-82896faa6.jpg" alt="Plan sur la porte arrière de la forge" width="3264" height="2448" /></picture>

    </a><figcaption>La porte arrière une fois montée. Le cordon de fibre réfractaire permet de refermer de manière « étanche »
mais aurait dû être installé plus à l'extérieur.</figcaption></figure>

<p>Après quelques jours, je prépare la dernière partie en béton : une petite dalle à insérer
dans le corps de forge, pour avoir une zone à plat que l’on peut retirer en utilisation verticale
pour la fonderie.
Cette pièce va aussi être la partie la plus exposée aux flammes des brûleurs,
et je m’attend à ce qu’elle s’abîme très vite.
Mais si ça peut limiter un peu l’usure de la paroi, ce sera toujours moins compliqué d’en refaire
une que de tout re-couler.</p>

<p>La technique est un peu ridicule : un simple film alimentaire en cellophane posé au fond
du cylindre intérieur de la forge.
Un peu galère à placer comme rien n’adhère au béton, mais j’arrive à peu près à ce que je veux.
Au dernier moment, je me décide à insérer un bout de fer à béton dans la dalle, qui risque de se
casser sur sa grande longueur sans renfort.
On verra aussi à quel point l’idée d’armer du béton réfractaire soumis à plus de 1000°C est une
mauvaise idée !
Après 3 jours de prise, j’enlève cette pièce en béton pour la faire sécher à côté.</p>

<figure class="figure">
    <a href="/assets/images/posts/2023-05-05-making-small-propane-forge/forge_inner_table_fresh.jpg"><picture><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_inner_table_fresh-600-450ce2ad9.avif 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_inner_table_fresh-900-450ce2ad9.avif 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_inner_table_fresh-1200-450ce2ad9.avif 1200w" type="image/avif" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_inner_table_fresh-600-b9b84ec53.webp 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_inner_table_fresh-900-b9b84ec53.webp 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_inner_table_fresh-1200-b9b84ec53.webp 1200w" type="image/webp" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_inner_table_fresh-600-108dc352e.jpg 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_inner_table_fresh-900-108dc352e.jpg 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_inner_table_fresh-1200-108dc352e.jpg 1200w" type="image/jpeg" /><img src="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_inner_table_fresh-800-108dc352e.jpg" alt="Intérieur de la forge avec le béton de la dalle encore frais" width="4096" height="2304" /></picture>

    </a><figcaption>Coffrage pour la dalle intérieur, en prenant appuis sur le corps de forge recouvert
très élégamment de film alimentaire...</figcaption></figure>

<h3 id="la-petite-touche-finale--black-is-the-new-black">La petite touche finale : Black is the new Black</h3>

<p>Pour protéger un peu l’acier de l’oxydation, mais surtout pour un petit plaisir esthétique,
j’ai passé un petit coup de peinture en spray résistante à la chaleur.
Deux ou trois couches suivant les endroits, sans trop de prise de tête.
Le résultat est très satisfaisant<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup> !</p>

<figure class="figure">
    <a href="/assets/images/posts/2023-05-05-making-small-propane-forge/forge_painted_front.jpg"><picture><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_painted_front-600-b08cd97d3.avif 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_painted_front-900-b08cd97d3.avif 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_painted_front-1200-b08cd97d3.avif 1200w" type="image/avif" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_painted_front-600-e955c6619.webp 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_painted_front-900-e955c6619.webp 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_painted_front-1200-e955c6619.webp 1200w" type="image/webp" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_painted_front-600-20ae02b47.jpg 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_painted_front-900-20ae02b47.jpg 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_painted_front-1200-20ae02b47.jpg 1200w" type="image/jpeg" /><img src="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_painted_front-800-20ae02b47.jpg" alt="Forge peinte en noir, vue avant" width="3264" height="2448" /></picture>

    </a><figcaption>Une magnifique petite peinture noire pour les finitions</figcaption></figure>

<h2 id="premiers-essais">Premiers essais</h2>

<figure class="figure">
    <a href="/assets/images/posts/2023-05-05-making-small-propane-forge/forge_first_fire.jpg"><picture><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_first_fire-600-b8f79148d.avif 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_first_fire-900-b8f79148d.avif 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_first_fire-1200-b8f79148d.avif 1200w" type="image/avif" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_first_fire-600-62369b225.webp 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_first_fire-900-62369b225.webp 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_first_fire-1200-62369b225.webp 1200w" type="image/webp" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_first_fire-600-c4845fc6b.jpg 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_first_fire-900-c4845fc6b.jpg 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_first_fire-1200-c4845fc6b.jpg 1200w" type="image/jpeg" /><img src="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_first_fire-800-c4845fc6b.jpg" alt="Vue sur l'intérieur incandescent de la forge" width="3264" height="2448" /></picture>

    </a><figcaption>La forge en action à son premier allumage!</figcaption></figure>

<p>Après 2 semaines de séchage, j’ai fini par perdre un peu patience et j’ai allumé la forge.
Une semaine de séchage supplémentaire aurait certainement été préférable pour avoir une dureté
optimale du béton.
Le premier allumage est critique, car c’est là qu’on va chasser l’humidité résiduelle du béton.
Si la chauffe est trop rapide, la faible porosité du béton ne va pas être en mesure d’évacuer la
vapeur assez vite, et la pression va faire fissurer le béton.
Il faut donc y aller progressivement, sur plusieurs heures, pour limiter le plus possible la
fissuration.</p>

<p>Une partie l’humidité est simplement de l’eau « libre » qui est piégée dans la structure
du béton, et qui va se vaporiser à 100°C.
Cependant, une autre partie de l’eau est chimiquement liée à d’autres molécules du béton, formant
différents hydrates.
Chacun de ces hydrates va perdre sa molécule d’eau à une température bien spécifique, entre 200°C
et 500°C d’après les quelques informations que j’ai pu glaner.
Comme je n’ai pas de four industriel à commande numérique pour faire une belle montée de la température
uniforme et avec des palliers aux bons moments, on va juste essayer de prendre un peu de temps.</p>

<p>La durée totale de ce premier allumage a été d’environs 4h.
J’ai commencé par allumer le brûleur avec une pression très faible (environs 0.3 bar) pendant quelques
minutes, en prenant soin de placer une plaque d’acier sous la flamme du brûleur pour limiter
le point chaud.
Cette étape est répétée 3 fois en laissant quelques minutes de répit pour que la température
se diffuse et s’équilibre un peu.
Ensuite, le gaz est maintenu en continu, en augmentant progressivement le débit, jusqu’à une
pression maximale de 2 bars au bout d’environs 2h30.
Pendant toute cette durée, de la vapeur se dégage de la forge, se frayant un chemin via
la fibre de céramique et les quelques trous existant entre le béton et la paroi métallique.
J’ai eu tendance à me baser sur la quantité de vapeur pour réguler le débit, en augmentant
la flamme dès que la quantité de vapeur visible devenait assez faible.</p>

<figure class="figure">
    <a href="/assets/images/posts/2023-05-05-making-small-propane-forge/forge_first_fire_steam.jpg"><picture><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_first_fire_steam-600-35765b434.avif 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_first_fire_steam-900-35765b434.avif 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_first_fire_steam-1200-35765b434.avif 1200w" type="image/avif" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_first_fire_steam-600-3f770360e.webp 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_first_fire_steam-900-3f770360e.webp 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_first_fire_steam-1200-3f770360e.webp 1200w" type="image/webp" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_first_fire_steam-600-f7e0428fd.jpg 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_first_fire_steam-900-f7e0428fd.jpg 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_first_fire_steam-1200-f7e0428fd.jpg 1200w" type="image/jpeg" /><img src="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_first_fire_steam-800-f7e0428fd.jpg" alt="La forge allumée, avec des colonnes de vapeur qui sortent à l'arrière" width="3264" height="2448" /></picture>

    </a><figcaption>Après plus d'une heure à feu doux, la quantité de vapeur qui se dégage est encore impressionnante...</figcaption></figure>

<p>À la fin de ce premier feu, la température dans la forge est comprise entre 1000°C au fond et plus de 
1250°C sous la flamme, d’après mon thermomètre infrarouge
J’en ai profité pour faire fondre un petit bout de cuivre qui traînait sur l’atelier, ce qui est assez
réjouissant !
Après quoi je coupe le gaz, je dévisse rapidement la partie supérieur du brûleur (mais pas assez rapidement
pour le régulateur d’air en plastique visiblement) et je laisse la forge refroidir lentement
avec les deux portes pratiquement fermées.
La masse thermique est assez importante (plus de 25kg de béton quand même), mais l’isolation
semble aussi bien meilleure que dans la fonderie, qui ne possède pas la paroi en fibre de céramique.
Près de 20 minutes après avoir coupé le brûleur, l’intérieur est encore à près de 800°C, et il sera
encore au delà des 300°C au bout de 4 heures.
Il faudra malgré tout voir si la laine de céramique est utile sur des sessions plus courtes
de chauffe, ou si au contraire l’inertie thermique du béton limite son intérêt.</p>

<p>La première fissure est apparue assez vite pendant la chauffe, à l’avant sur le haut de la voûte.
Sachant qu’elle est sur une zone où la laine de céramique est très proche, ça ne me semble pas
trop inquiétant au départ.
Après avoir refroidit, la fissure semble s’être propagée jusqu’à trou du brûleur avant,
et tout le haut de la voûte semble fragilisé.
Quelques petites fissures plus petites sont apparues au refroidissement, sur la porte arrière et
sur les bords de l’ouverture avant, mais ne sont pas préoccupantes pour l’instant.
Même si elles ne mettent pas la forge en péril actuellement, ces fissures vont rendre
la forge beaucoup plus délicate à transporter et à manipuler de manière générale.
Il faudra un peu plus de recul pour savoir à quel point ces premières fissures
vont impacter la durée de vie du revêtement…</p>

<h2 id="rétrospective">Rétrospective</h2>

<p>Cet article est déjà assez long, mais je voudrai prendre un peu de recul sur la réalisation
de la forge, histoire d’aider de futurs bricoleurs à se lancer dans ce type de projet.</p>

<h3 id="coûts-et-matériel">Coûts et matériel</h3>

<p>La réalisation d’une forge à gaz n’est pas nécessairement très coûteuse.
On doit pouvoir s’en sortir pour environs 100€, brûleur compris,
en utilisant un mortier réfractaire moins performant trouvable en magasin de bricolage
(indiqué pour 1300°C au moins) et en faisant un peu de récup’ pour les poignées et autres
petites pièces d’acier.
Dans mon cas, j’ai dépensé nettement plus, et je vais essayer de détailler un peu ce qui
a coûté cher et pourquoi.</p>

<p>Déjà, j’ai voulu utiliser des matériaux assez techniques (laine de céramique et béton réfractaire
donné pour 1600°C).
Cela oblige à commander à des fournisseurs assez spécifiques, et j’ai acheté des produits annexes
dont j’aurais pu me passer, comme le rigidifiant pour la laine de céramique (faisable soi même pour
beaucoup moins cher), du mastic spécial laine de céramique (du mortier réfractaire aurait fait
le même boulot), de la corde en fibre de céramique (que j’ai utilisé maladroitement et qui
laisse de la fibre de céramique potentiellement cancérigène exposée)…
Et malgré les matériaux utilisés, il est probable que la forge se détériore en quelques dizaines
d’utilisations : même le meilleur béton réfractaire fini par fissurer avec les différents chocs
thermiques auxquels on l’expose dans une mini-forge.</p>

<p>Ensuite, j’ai acheté beaucoup de petits éléments que j’aurais pu récupérer dans des chutes industrielles
ou sur des meubles abandonnés.
Quelques bouts de fer plat, des vis, boulons, rond en acier pour les poignées, quelques charnières,
la visserie pour les tuyaux de gaz…
Il y a moyen de faire autrement si vous avez un budget très serré.</p>

<p>Pour certains éléments, j’ai fait le choix d’acheter dans des magasins physiques, pour pouvoir
manipuler un peu les objets avant l’achat ou pour continuer d’avancer le jour même.
Pour certaines pièces, la différence de prix avec des sites de vente en ligne est vraiment énorme,
par exemple la tuyauterie en fonte noire utilisée pour le brûleur.
Le tout est trouvable pour moins de 20€ en ligne, mais j’ai dû payer autour de 45€ en magasin,
et après avoir fait le tour de 3 magasins de quincaillerie pro autour de chez moi.</p>

<p>Enfin, le coût global inclus aussi des achats de matériel finalement inutilisé (pas mal de robinetterie
en laiton que je pensais utiliser avant de changer de plan par exemple) et d’outils achetés
pour la réalisation du projet.
Bien sûr, les outils serviront, je l’espère, à plein d’autres choses et le matériel inutilisé
dépannera sur un autre projet à l’avenir.
Mais ces deux catégories comprennent une grosse partie du budget, et je vous conseille de l’anticiper
si vous vous lancez dans un projet similaire.</p>

<table class="test">
  <thead>
    <tr>
      <th style="text-align: left">Élément</th>
      <th style="text-align: right">Prix</th>
      <th style="text-align: right">Alternative</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: left"><a href="https://www.laboutiquedugaz.fr/produit/technique-du-gaz/detendeurs-gaz/haute-pression/detendeur-haute-pression-reglable-de-0-a-3-bar-8-a-12-kg-heure-avec-manometre/">Détendeur haute pression réglable avec manomètre</a></td>
      <td style="text-align: right">40€</td>
      <td style="text-align: right">Détendeur sans manomètre</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="https://shop.vitcas.fr/matiere-refractable-1600-beton-refractaire.html">Béton réfractaire 1600°C, 25kg</a></td>
      <td style="text-align: right">47€</td>
      <td style="text-align: right"><a href="https://diy.bostik.com/fr-FR/nos-produits/maconner/ciments-et-mortiers/mortiers-de-montage/mortier-refractaire">Simple mortier réfractaire</a></td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="https://shop.vitcas.fr/rigidifiant-en-fibre-de-ceramique.html#tab-label-description">Rigidifiant pour fibre céramique</a></td>
      <td style="text-align: right">47€</td>
      <td style="text-align: right">Pas de fibre céramique</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="https://shop.vitcas.fr/couverture-en-fibres-de-ceramique-1260-c-au-metre.html">Laine en fibre de céramique 25mm, 3m</a></td>
      <td style="text-align: right">45€</td>
      <td style="text-align: right">Pas de fibre, 1m seulement est suffisant</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="https://shop.vitcas.fr/cfa-colle-pour-fibre-de-ceramique-1400-c.html">Colle pour fibre de céramique</a></td>
      <td style="text-align: right">15€</td>
      <td style="text-align: right">Peut-être juste un peu de béton réfractaire?</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="https://shop.vitcas.fr/corde-a-retardement-en-fibre-de-ceramique.html">Corde isolante en fibre de céramique 20mm, 2m</a></td>
      <td style="text-align: right">10€</td>
      <td style="text-align: right">Ne rien mettre?</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="https://shop.vitcas.fr/peinture-aerosol-thermoresistante-noir.html">Peinture thermorésistante</a></td>
      <td style="text-align: right">10€</td>
      <td style="text-align: right">Ne pas peindre</td>
    </tr>
    <tr>
      <td style="text-align: left">Robinetterie en fonte noir pour brûleur (voir détails)</td>
      <td style="text-align: right">40€</td>
      <td style="text-align: right">Sites web beaucoup moins chers</td>
    </tr>
    <tr>
      <td style="text-align: left">Tuyauterie laiton et cuivre pour le gaz (voir détails)</td>
      <td style="text-align: right">50€</td>
      <td style="text-align: right">Éviter d’acheter plein de pièces inutiles…</td>
    </tr>
    <tr>
      <td style="text-align: left">Petite ferronnerie (fer plat, charnières, rond d’acier…)</td>
      <td style="text-align: right">40€</td>
      <td style="text-align: right">Faisable en récupération</td>
    </tr>
  </tbody>
  <tbody>
    <tr>
      <td style="text-align: left"><strong>Total</strong> approximatif</td>
      <td style="text-align: right">344€</td>
      <td style="text-align: right"> </td>
    </tr>
  </tbody>
</table>

<p>Une petite liste non exhaustive des outils utilisés :</p>
<ul>
  <li>poste à souder à arc MMA (électrode enrobée)</li>
  <li>meuleuse d’angle (disques à meuler et à tronçonner)</li>
  <li>lampe à souder à gaz de plombier</li>
  <li>perceuse
    <ul>
      <li>forets métal</li>
      <li>trepan métal 40mm</li>
    </ul>
  </li>
  <li>tarauds M4, M5 et M6</li>
  <li>et tout plein de petit outillage commun (limes, équerre, serre-joint, pointeau, règle droite, etc…)</li>
</ul>

<h3 id="conseils-pour-une-future-réalisation">Conseils pour une future réalisation</h3>

<p>Si je me relance dans un autre projet de forge à gaz, il y a certainement quelques
enseignements que je retirerai de cette réalisation.
En espérant que ça puisse aiguiller d’autres gens, voilà quelques points importants pour moi.</p>

<h4 id="hybride-forgefonderie">Hybride forge/fonderie</h4>
<p>L’idée de vouloir utiliser le même dispositif comme forge et comme fonderie n’est pas forcément
une mauvaise idée, mais a posé pas mal de soucis et je risque finalement de ne l’utiliser pratiquement
que pour de la forge.
La bascule en position verticale (permettant de faire rentrer un creuset imposant) est finalement assez
difficile, à cause du poids de l’ensemble.
Les fissures le long de la voûte en béton ne donnent pas trop envie de secouer l’ensemble…
La position du brûleur est aussi peu adaptée à l’utilisation en fonderie : le brûleur est dirigé directement
vers le centre de la cavité, alors qu’il est préférable de l’orienter presque à la tangente de la section
cylindrique pour diffuser au mieux la chaleur dans une petite fonderie.
Enfin, l’idée d’avoir un jour au fond de la fonderie (au niveau de la porte arrière pour l’utilisation
horizontale) ne me rassure pas du tout.
En cas de trou dans un creuset, je préfère savoir le métal fondu contenu dans le béton plutôt que
de risquer de le voir couler à l’extérieur…</p>

<p>Cette conception « double usage » m’a aussi forcé à faire une dalle amovible pour avoir une surface plane
dans le bas de la forge.
En plus de la complexité ajoutée par la création de la dalle, la surface montre déjà des signes
de fatigue après seulement quelques utilisations…</p>

<figure class="figure">
    <a href="/assets/images/posts/2023-05-05-making-small-propane-forge/forge_foundry_mode.jpg"><picture><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_foundry_mode-600-067d8305c.avif 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_foundry_mode-900-067d8305c.avif 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_foundry_mode-1200-067d8305c.avif 1200w" type="image/avif" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_foundry_mode-600-eb05da6c6.webp 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_foundry_mode-900-eb05da6c6.webp 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_foundry_mode-1200-eb05da6c6.webp 1200w" type="image/webp" /><source srcset="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_foundry_mode-600-15a3aef7a.jpg 600w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_foundry_mode-900-15a3aef7a.jpg 900w, /assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_foundry_mode-1200-15a3aef7a.jpg 1200w" type="image/jpeg" /><img src="/assets/generated/assets/images/posts/2023-05-05-making-small-propane-forge/forge_foundry_mode-800-15a3aef7a.jpg" alt="La forge en position verticale, fonderie d'aluminium" width="3000" height="2000" /></picture>

    </a><figcaption>Utilisation en mode fonderie, à la verticale (pour de l'aluminium ici)</figcaption></figure>

<h4 id="double-porte-avantarrière">Double porte avant/arrière</h4>
<p>Le fait d’avoir une porte à l’avant <em>et</em> à l’arrière (idée tirée de la forge de mon ami) est vraiment
chouette.
Sur les quelques sessions de forge, j’ai eu plusieurs fois des objets un peu longs à passer, qui sans
l’ouverture arrière auraient été plus complexes voir simplement impossibles à forger.
Évidemment la chaleur dans la forge réduit dès qu’on maintient la porte arrière ouverte, mais ça semble
être un moindre mal.</p>

<p>Une amélioration sympathique serait d’avoir un accès plus petit sur la partie avant.
Pas mal de forges à gaz maison sont conçues avec une petite ouverture, autour de 10cm x 10cm, ce qui permet
de passer des petits objets sans perdre trop de chaleur.
Pour de la coutellerie par exemple, ouvrir complètement la porte avant ne semble pas très optimal.
L’idéal aurait été de découper un accès sur la porte avant, simplement bloqué par une taule en acier
amovible par exemple.</p>

<h4 id="fibre-réfractaire-et-béton">Fibre réfractaire et béton</h4>
<p>L’isolation de la chambre est peut-être à revoir.
Avec les épaisseurs que j’ai mis, il me semble que l’isolation est vraiment satisfaisante mais
l’inertie thermique semble plutôt élevée.
Quitte à mettre des fibres de céramique, il est peut-être préférable d’en faire une épaisseur
plus importante (2 couches de nappe ?) et de réduire l’épaisseur du béton.
Ou alors ne pas mettre du tout de fibre réfractaire et accepter une inertie thermique très importante.
Tout dépend évidemment de l’usage : si l’objectif est de travailler des petites pièces occasionnellement,
les quelques minutes d’attente pour que le béton chauffe risques de consommer beaucoup
de carburant !</p>
<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1" role="doc-endnote">
      <p>Même si ça ne cachera jamais les soudures très… expérimentales ! <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Léo Grange</name></author><category term="tinkering" /><category term="tinkering" /><category term="metal" /><category term="forge" /><category term="foundry" /><summary type="html"><![CDATA[Il y a une paire d’années, un ami coutelier m’a permis de m’initier à la forge et à la coutellerie pendant quelques jours. Ayant toujours été fasciné par le travail des métaux, sans avoir pris le temps de découvrir réellement ces métiers, je dois dire que j’ai été sacrément emballé! Alors oui, je ne deviendrai certainement pas forgeron ou coutelier, et je n’ai pas un grand talent artistique. Mais ça n’empêche pas de s’amuser un peu et d’apprendre quelques bases de forge!]]></summary></entry><entry xml:lang="en"><title type="html">Somehow-automatized creation of Font Awesome subset</title><link href="https://leo.grange.cafe/development/2018/10/29/subsetting-font-awesome.html" rel="alternate" type="text/html" title="Somehow-automatized creation of Font Awesome subset" /><published>2018-10-29T17:16:00+00:00</published><updated>2023-05-05T14:00:00+00:00</updated><id>https://leo.grange.cafe/development/2018/10/29/subsetting-font-awesome</id><content type="html" xml:base="https://leo.grange.cafe/development/2018/10/29/subsetting-font-awesome.html"><![CDATA[<p>This website is built using Jekyll, with Minimal Mistakes as the base theme.
To render some icons, such as the Mastodon symbol (<i class="fab fa-mastodon"></i>), it is common
in the today’s web to use custom fonts, such as <a href="https://fontawesome.com/">Font Awesome</a>.
It is supposed to provide a compact, efficient and well-supported method for displaying monochromatic vector
graphics.</p>

<p>At this point, some of you can already argue about the added weight and complexity for such non-essential
“feature”: for a small page with a few kilobytes of HTML and containing 2 icons, the browser has to
download a font of some hundreds of kilobytes plus as much of CSS and to parse everything.
So, let’s admit in the rest of this post that we <em>want</em> to display some of these icons…</p>

<h2 id="the-straw-that-broke-the-camels-back">The straw that broke the camel’s back</h2>
<p>In a (relatively) recent <a href="https://github.com/mmistakes/minimal-mistakes/releases/tag/4.9.0">release</a> of
Minimal Mistakes, the author switched from using CSS+Webfonts to JavaScript+SVG based method to
use glyphs of Font Awesome.
As I prefer to avoid javascript when it is not required, this annoyed me a bit at first glance.
However, displaying these icons is not <em>needed</em> for a descent experience on my site and I believed
that using JS to fetch only the required glyphs was a good way to reduce the size of resources loaded.
After looking at the network details on my browser’s dev tools, I changed my mind:</p>
<ul>
  <li>the JS file probably contains all the glyphs, weighting <strong>960 KB</strong>!</li>
  <li>by default, the JS is served by the Font Awesome’s CDN<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup></li>
</ul>

<p>These two reasons are enough to look closer at the problem in order to find a <em>lightweight</em>,
no-javascript and self-hosted option.
The simplest way to do that is by simply downloading the assets and serving them statically (which was
the previous way to do that in Minimal Mistakes)</p>

<h2 id="creating-a-subset-of-fontawesome">Creating a subset of FontAwesome</h2>
<p>To create a custom font similar to font awesome, two parts are required:</p>
<ul>
  <li>the font(s) themselves (<code class="highlighter-rouge">.ttf</code>, <code class="highlighter-rouge">.woff</code> or <code class="highlighter-rouge">.woff2</code> files)</li>
  <li>the piece of CSS which does the magic, basically by adding a <code class="highlighter-rouge">::before</code> content to any item of class <code class="highlighter-rouge">fa-*</code></li>
</ul>

<h3 id="subsetting-fonts">Subsetting fonts</h3>
<p>As my website uses only a few glyphs, it annoys me to send hundreds of kilobytes of fonts and CSS of which
only a tiny fraction is actually useful.
This is why I started looking for methods to extract a subset of a font.</p>

<p>In fact, there are many websites to do that, with some of them being free such as 
<a href="http://fontello.com">fontello</a>.
However, I prefer to be able to do that directly with some local scripts, instead of depending on
an online service.
While this web service by itself is not handy to automatize (GUI selection of glyphs…), they provide in
their git repository some tools to perform these actions from command line.
But all these tools are working by doing HTTP requests on their instance, making a very hard dependency
over them…</p>

<p>I found a <a href="https://medium.com/@morsetree/creating-a-subset-of-font-icons-f314d8180590">blog post</a> from
@morsetree, which provides a good overview of the process.
He is using <code class="highlighter-rouge">pyftsubset</code>, from the Python <a href="https://github.com/fonttools/fonttools"><code class="highlighter-rouge">fonttools</code></a>, which
is available as a package on my distribution but also easy to install using <code class="highlighter-rouge">pip</code> for instance.</p>

<p>This <code class="highlighter-rouge">fonttools</code> really lacks of documentation, but seems pretty powerful.
It provides both a Python library and a set of command-line front ends for some <em>high level</em> operations.
Here is an example usage of <code class="highlighter-rouge">pyftsubset</code>, which extracts the glyphs associated to unicode characters <code class="highlighter-rouge">F004</code> and <code class="highlighter-rouge">F005</code>
from font awesome.
A font file <code class="highlighter-rouge">subset.ttf</code> is created with only these two symbols.</p>

<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>pyftsubset &lt;path/to/fontawesome-webfont.ttf&gt; <span class="nt">--unicodes</span><span class="o">=</span>U+f004,U+f005 <span class="se">\</span>
           <span class="nt">--output-file</span><span class="o">=</span>subset.ttf
</code></pre></div></div>

<h3 id="magic-gluing-css">Magic gluing CSS</h3>
<p>The FontAwesome CSS file contains a generic part (the <code class="highlighter-rouge">@font-face</code> directives to use a custom font and a few styling to
display correctly the symbols) and a symbol specific part (the unicode content of each corresponding glyph).
For each glyph, the CSS looks like the following:</p>

<div class="language-css highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">.fa-mastodon</span><span class="nd">:before</span> <span class="p">{</span>
  <span class="nl">content</span><span class="p">:</span> <span class="s1">"\f4f6"</span><span class="p">;</span> <span class="p">}</span>
</code></pre></div></div>

<p>To use a subset, the whole generic part is required, but all unused symbol may be removed from the second part.
As I am using Sass, I used the SCSS code from the FontAwesome distribution to create a partial file with all the generic
content.
It imports another partial file, containing the specific style for each desired symbol.
Transposing it to pure CSS should be easy: just look for the generic part in FontAwesome CSS files.</p>

<h2 id="automatizing-the-process">Automatizing the process</h2>

<p>Based on this tool, it could be great to have an automated process which discover the required unicode glyphs
and extract them from the different font awesome files.
Hence I did a -quite dirty- shell script to do the hard work.</p>

<h3 id="find-the-symbols-used-in-the-jekyll-build">Find the symbols used in the Jekyll build</h3>

<p>The basic idea for listing all the symbols used via font awesome is simply to <code class="highlighter-rouge">grep</code> the HTML, CSS and JS files
in order to find possible usage of a font awesome glyph.
It could be done directly on the source files of Jekyll, but it would ignore many edge case, such as
symbols used in an external Jekyll theme.
In my use case, it was preferable to use the Jekyll built files instead.
This involves to build the site <em>before</em> to update the font resources, run the script and to build it a second time.
This is not ideal, but far enough for now.</p>

<p>Additional precautions should be taken to avoid considering the generated CSS/SCSS files.
The final command to retrieve all the unique glyph names used is this ugly code:</p>

<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>find <span class="s2">"</span><span class="k">${</span><span class="nv">SITE_PATH</span><span class="k">}</span><span class="s2">"</span> <span class="se">\(</span> <span class="nt">-name</span> <span class="s1">'*.html'</span> <span class="nt">-o</span> <span class="nt">-name</span> <span class="s1">'*.css'</span> <span class="nt">-o</span> <span class="nt">-name</span> <span class="s1">'*.js'</span> <span class="se">\)</span> <span class="se">\</span>
               <span class="nt">-not</span> <span class="nt">-path</span> <span class="s2">"*/</span><span class="k">${</span><span class="nv">FONTAWESOME_PATH</span><span class="k">}</span><span class="s2">/*"</span> <span class="se">\</span>
               <span class="nt">-not</span> <span class="nt">-path</span> <span class="s2">"*/</span><span class="k">${</span><span class="nv">BASENAME</span><span class="k">}</span><span class="s2">.css"</span> <span class="se">\</span>
               <span class="nt">-not</span> <span class="nt">-path</span> <span class="s2">"*/</span><span class="k">${</span><span class="nv">BASENAME</span><span class="k">}</span><span class="s2">.scss"</span> <span class="se">\</span>
               <span class="nt">-exec</span> <span class="nb">grep</span> <span class="nt">-E</span> <span class="nt">-o</span> <span class="s1">'fa-[[:alnum:]-]+'</span> <span class="s1">'{}'</span> <span class="s1">';'</span> <span class="se">\</span>
              | <span class="nb">sort</span> <span class="nt">-u</span>
</code></pre></div></div>

<h3 id="get-the-corresponding-unicode-glyphs">Get the corresponding unicode glyphs</h3>

<p>With the name of all (possible) symbols, the next step is to find the unicode value associated to them
in FontAwesome.
Here we exploit the template used in the symbol-specific part of FontAwesome CSS to get the value from the <code class="highlighter-rouge">content:</code> attribute.
Of course, some of the <code class="highlighter-rouge">fa-xxx</code> detected in the previous part are not really symbol names…
Such false-positive are simply ignored at this step, removing them from our subset content.</p>

<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">function </span>extract_glyphs<span class="o">()</span> <span class="o">{</span>
    <span class="k">while </span><span class="nb">read </span>curfa
    <span class="k">do
        </span><span class="nv">glyph</span><span class="o">=</span><span class="si">$(</span><span class="nb">grep</span> <span class="nt">-A</span> 1 <span class="s2">"</span><span class="se">\.</span><span class="k">${</span><span class="nv">curfa</span><span class="k">}</span><span class="s2">:before"</span> <span class="s2">"</span><span class="k">${</span><span class="nv">fa_fullcss</span><span class="k">}</span><span class="s2">"</span> | <span class="nb">grep</span> <span class="nt">-o</span> <span class="s1">'"\\.*"'</span> | <span class="nb">sed</span> <span class="s1">'s/"\\\(.*\)"/\1/'</span><span class="si">)</span>
        <span class="o">[[</span> <span class="o">!</span> <span class="nt">-z</span> <span class="s2">"</span><span class="k">${</span><span class="nv">glyph</span><span class="k">}</span><span class="s2">"</span> <span class="o">]]</span> <span class="o">&amp;&amp;</span> <span class="nb">echo</span> <span class="nt">-n</span> <span class="s2">"U+</span><span class="nv">$glyph</span><span class="s2">,"</span>
    <span class="k">done</span>
<span class="o">}</span>
</code></pre></div></div>

<h3 id="creating-the-shortened-css-file">Creating the shortened CSS file</h3>
<p>We now have a list of all the used names.
First we need to generate the CSS file with each name associated to its “before” content and associated glyph.
A few lines of shell do the trick, allowing for some duplication:</p>

<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">while </span><span class="nb">read </span>curfa
<span class="k">do
    </span><span class="nv">glyph</span><span class="o">=</span><span class="si">$(</span><span class="nb">grep</span> <span class="nt">-A</span> 1 <span class="s2">"</span><span class="se">\.</span><span class="k">${</span><span class="nv">curfa</span><span class="k">}</span><span class="s2">:before"</span> <span class="s2">"</span><span class="k">${</span><span class="nv">fa_fullcss</span><span class="k">}</span><span class="s2">"</span> | <span class="nb">grep</span> <span class="nt">-o</span> <span class="s1">'"\\.*"'</span> | <span class="nb">sed</span> <span class="s1">'s/"\\\(.*\)"/\1/'</span><span class="si">)</span>
    <span class="k">if</span> <span class="o">[[</span> <span class="o">!</span> <span class="nt">-z</span> <span class="s2">"</span><span class="k">${</span><span class="nv">glyph</span><span class="k">}</span><span class="s2">"</span> <span class="o">]]</span>
    <span class="k">then
        </span><span class="nb">echo</span> <span class="s2">".</span><span class="k">${</span><span class="nv">curfa</span><span class="k">}</span><span class="s2">:before {
content: </span><span class="se">\"\\</span><span class="k">${</span><span class="nv">glyph</span><span class="k">}</span><span class="se">\"</span><span class="s2">; }
"</span>
    <span class="k">fi
done</span>
</code></pre></div></div>

<h3 id="generating-the-fonts-in-truetype-and-woff2">Generating the fonts in TrueType and WOFF2</h3>
<p>The creation of the font files require 3 steps:</p>
<ul>
  <li>subsetting each font file (<code class="highlighter-rouge">brands</code>, <code class="highlighter-rouge">regular</code> and <code class="highlighter-rouge">solid</code>) with discovered glyphs, using <code class="highlighter-rouge">pyftsubset</code></li>
  <li>merging some of the resulting files using <code class="highlighter-rouge">pyftmerge</code> (I merge <code class="highlighter-rouge">brands</code> and <code class="highlighter-rouge">regular</code> as there is no
overlap of glyph values, but keep <code class="highlighter-rouge">solid</code> a separated font)</li>
  <li>compress the TTF into a lighter WOFF2 font using <code class="highlighter-rouge">woff2_compress</code></li>
</ul>

<h2 id="final-script-and-limitations">Final script and limitations</h2>
<p>If you are curious, you can check the current shell script <a href="https://lab.knightsofnii.com/kristaba/cafe-website/-/blob/master/fontawesome_minimizer.sh">on the git repository of my blog</a>.
Just be prepared: it is not exactly what we can call “beautiful code”.
Use it if you want or take any part of it for other stupid ideas !</p>

<p>In its current state, the main issues are:</p>
<ul>
  <li>it requires an intermediate step (first jekyll build before to run it on the build output)</li>
  <li>it will not remove a glyph that stopped being used, because it scan for all CSS/SCSS code
and therefore will detect the glyphs it placed itself on a previous run…</li>
</ul>

<h2 id="fork-awesome">Fork Awesome</h2>
<p>During the write of this post, I discovered <a href="https://forkawesome.github.io/">Fork Awesome</a>,
a community-maintained fork of Font Awesome which started after some changes in the direction of the project.
It seems alive and more focus on simplicity than the v5 of Font Awesome.
As they still provide all the glyphs in a single font file, it makes the script way simpler (no merge required).
I will try to adapt my script and update this post to use Fork Awesome.</p>

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1" role="doc-endnote">

      <p>In addition, there is no resource integrity checking in the script tag as the time of writing,
so you have to pray for their CDN to stay in good hands… I opened an issue to fix that for all the
other users. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Léo Grange</name></author><category term="development" /><category term="development" /><category term="web" /><category term="less-is-more" /><summary type="html"><![CDATA[This website is built using Jekyll, with Minimal Mistakes as the base theme. To render some icons, such as the Mastodon symbol (), it is common in the today’s web to use custom fonts, such as Font Awesome. It is supposed to provide a compact, efficient and well-supported method for displaying monochromatic vector graphics.]]></summary></entry><entry xml:lang="fr"><title type="html">Création d’un boîtier en bois pour mon NAS/HTPC - Partie 1</title><link href="https://leo.grange.cafe/diy/2018/10/27/matx-nas-box.html" rel="alternate" type="text/html" title="Création d’un boîtier en bois pour mon NAS/HTPC - Partie 1" /><published>2018-10-27T16:55:02+00:00</published><updated>2018-11-01T16:00:00+00:00</updated><id>https://leo.grange.cafe/diy/2018/10/27/matx-nas-box</id><content type="html" xml:base="https://leo.grange.cafe/diy/2018/10/27/matx-nas-box.html"><![CDATA[<p>L’année dernière, j’avais enfin pris le temps de mettre en place un petit PC dans le but de m’en
servir à la fois de HTPC (via <a href="https://kodi.tv/">Kodi</a>) et de NAS (2x2To en BTRFS raid1).
Le seul boîtier que j’avais sous la main était un <em>très</em> vieux PC moyen-tour, avec le design des 90’s
(quel magnifique plastique gris!).</p>

<figure class="figure">
    <a href="/assets/images/nas_case/old_case_1.jpg"><picture><source srcset="/assets/generated/assets/images/nas_case/old_case_1-600-2e0b0caf0.avif 600w, /assets/generated/assets/images/nas_case/old_case_1-900-2e0b0caf0.avif 900w, /assets/generated/assets/images/nas_case/old_case_1-1200-2e0b0caf0.avif 1200w" type="image/avif" /><source srcset="/assets/generated/assets/images/nas_case/old_case_1-600-8f9d37b02.webp 600w, /assets/generated/assets/images/nas_case/old_case_1-900-8f9d37b02.webp 900w, /assets/generated/assets/images/nas_case/old_case_1-1200-8f9d37b02.webp 1200w" type="image/webp" /><source srcset="/assets/generated/assets/images/nas_case/old_case_1-600-dc2a64b66.jpg 600w, /assets/generated/assets/images/nas_case/old_case_1-900-dc2a64b66.jpg 900w, /assets/generated/assets/images/nas_case/old_case_1-1200-dc2a64b66.jpg 1200w" type="image/jpeg" /><img src="/assets/generated/assets/images/nas_case/old_case_1-800-dc2a64b66.jpg" alt="Photo du boîtier actuel" width="1521" height="1140" /></picture>

    </a><figcaption>Photo du boîtier actuel</figcaption></figure>

<p>Depuis ce moment, j’ai en tête de faire un petit boîtier personnalisé.
Déjà par ce que l’encombrement du bousin est assez important.
Aussi par ce que cette tour est vraiment très moche d’après mes propres critères…
Mais surtout par ce que ça fait une super occasion de bricoler et d’apprendre des choses!</p>

<h2 id="la-bête-à-contenir">La bête à contenir</h2>
<p>Le PC en question tournant 24/7, il a été conçu de manière à minimiser la consommation en idle et le bruit.
Les caractéristiques importantes:</p>
<ul>
  <li>un processeur <a href="https://ark.intel.com/products/65694/Intel-Core-i3-3220T-Processor-3M-Cache-2-80-GHz-">i3-3220T</a>,
ayant un TDP restreint (35W)</li>
  <li>refroidissement sans ventilateur (<a href="https://www.arctic.ac/eu_en/alpine-11-passive.html">Alpine 11 Passive</a> de chez Artic)
    <ul>
      <li>c’est un peu encombrant mais pour un TDP de 35W ça fait étonnamment bien le boulot!</li>
    </ul>
  </li>
  <li>carte mère au format micro-ATX, un peu moins large que le maximum (environs 244x200)</li>
  <li>alimentation type <a href="http://www.mini-box.com/s.nl/it.A/id.417/.f">PicoPSU</a> (un clone chinois pour être plus précis)
    <ul>
      <li>c’est un petit convertisseur DC-DC qui se branche sur le ATX 20/24 broches</li>
      <li>alimenté par un convertisseur AC-DC 12V à l’extérieur, similaire à une alimentation secteur pour laptop</li>
      <li>donc pas besoin de prévoir la place pour une alim ATX/FATX/SFX</li>
    </ul>
  </li>
  <li>2 HDD 3.5” et 1 SSD 2.5”
    <ul>
      <li>avec l’envie de garder la place pour passer à 3 ou 4 HDD dans le futur</li>
    </ul>
  </li>
</ul>

<p>Comme j’en suis plutôt content et que j’ai passé pas mal de temps à choisir les composants et à le configurer,
je ferais peut-être un post détaillé un de ces jours (encore faudrait-il que je publie celui-ci…).</p>

<h2 id="les-contraintes-et-objectifs">Les contraintes et objectifs</h2>
<p>J’ai une envie toute particulière pour faire ce boîtier en bois (probablement contre-plaqué) pour plusieurs raisons.
Au niveau « design », j’aime beaucoup avoir des objets et des meubles en bois chez moi, et encore plus quand il s’agit
de boîtier pour des objets high-tech : ça fait un contraste amusant entre les technologies.
C’est un matériau assez facile à travailler, donc besoin de moins d’outils pour faire quelque chose.
Enfin c’est un matériau qui, à mon avis, va redevenir une base importante dans le futur pour des raisons économiques et
environnementales.
Du coup autant apprendre à faire des choses avec dès maintenant!</p>

<p>L’encombrement est une des principales contraintes, pour que je puisse poser le PC pas loin de la télé sans
prendre trop de place.
Un des buts sera donc de réduire autant que possible les dimensions du boîtier : éviter une dimension supérieure à 30cm,
et garder la hauteur raisonnable.</p>

<p>Comme le PC est conçu pour consommer peu (donc chauffer peu) et sans ventilation active, j’aimerais éviter autant que
possible l’utilisation de ventilateurs.
Je ne me fais pas non plus trop d’illusions : je n’y connais rien en thermodynamique, mais en réduisant le volume
du boîtier et en utilisant du bois, la chaleur va probablement être un problème…
Je vais donc essayer de réduire un peu le problème en favorisant la circulation de l’air chaud quand c’est possible,
et je prévoirai au moins un ventilateur d’extraction (BeQuiet propose des ventilateurs à moins de 10dB comme
les <a href="https://www.bequiet.com/en/casefans/265">Shadow Wings</a>).</p>

<h3 id="construction">Construction</h3>
<p>Initialement, je pensais fabriquer le boîtier avec quelques outils de base (scie sauteuse et perceuse en gros).
Ce qui, vu ma maîtrise de la découpe à la scie sauteuse, aurait donné quelque chose d’assez grossier mais qui
aurait eu l’avantage de la simplicité du matériel nécessaire.</p>

<p>Ce qui a changé depuis, c’est que je peux désormais accéder à une découpeuse/graveuse laser!
Je l’accorde, c’est nettement moins minimaliste qu’une scie sauteuse, mais ça à l’air tellement génial à utiliser
que je vais profiter de ce projet pour apprendre à l’utiliser!
La machine est une GBos GN, avec une surface d’usinage autour de 95x65 cm (largement suffisant donc), et capable de
découper jusqu’à 10 mm de bois.
Comme on peut l’utiliser également pour graver le bois, ça va aussi permettre de se lâcher sur la déco!</p>

<h3 id="logiciels-de-conception">Logiciels de conception</h3>
<p>Comme je suis assez attaché à l’utilisation de logiciels libres, j’ai aussi comme contrainte d’utiliser uniquement
des logiciels de conception libres.
Je suis bien conscient que pour beaucoup de choses, en particulier la CAO, les logiciels libres ont souvent un
retard conséquent en termes de fonctionnalités et d’expérience utilisateur par rapport aux équivalents propriétaires.
Mais tant qu’il est <em>possible</em> de faire ce que je veux, je suis prêt à passer plus de temps en échange de tout
ce que je vois comme positif dans le logiciel libre.</p>

<p>C’est aussi un bon moyen de se rendre compte de ce qui est faisable aujourd’hui avec uniquement du logiciel libre.
Par ce que ne pas se confronter à la réalité, et promouvoir le logiciel libre en proclamant que pour tous les domaines
ils sont vachement mieux que la concurrence propriétaire, c’est à mon avis un des pires moyens de les promouvoir.
Alors qu’en étant capable de dire les points forts <strong>et</strong> les points faibles de tel ou tel logiciel libre, pour tel
ou tel but, en se basant sur notre propre expérience, on peut tenir une position qui ne passe pas pour celle d’un
fanatique un peu à l’ouest.
Et d’expérience ça permet d’être plus crédible auprès des gens pas ou peu sensibles aux enjeux du libre, et d’éviter
de braquer bêtement certaines personnes…</p>

<h2 id="le-plan-de-bataille">Le plan de bataille</h2>

<p>Dans de prochains billets, je présenterai les outils choisis et l’avancement de ce projet.
Comme je suis novice à la fois dans la conception de boîtier et dans l’utilisation d’une découpeuse laser, j’avance
par tâtonnement, et je ferai sûrement des erreurs.
Sauf miracle, je vais donc commencer par concevoir une version « 0.1 », en allant probablement jusqu’à la réalisation.
Suivant le nombre de bêtises que j’aurais fait, je corrigerai le design dans une version « 1.0 » (et espérons que ce sera
tout)!</p>

<p>Je compte mettre à disposition tous les éléments de conception (fichiers de CAO et schémas à la main) sous une licence libre
(CC-BY ou CC-BY-SA).</p>]]></content><author><name>Léo Grange</name></author><category term="diy" /><category term="diy" /><category term="nas" /><category term="making" /><summary type="html"><![CDATA[L’année dernière, j’avais enfin pris le temps de mettre en place un petit PC dans le but de m’en servir à la fois de HTPC (via Kodi) et de NAS (2x2To en BTRFS raid1). Le seul boîtier que j’avais sous la main était un très vieux PC moyen-tour, avec le design des 90’s (quel magnifique plastique gris!).]]></summary></entry></feed>