<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://err404.numericore.com/en/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>Err404</title>
        <description></description>
        <link>https://err404.numericore.com/en/</link>
        <lastBuildDate>Thu, 23 Apr 2026 09:01:09 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://err404.numericore.com/en/_media/wiki/logo.png</url>
            <title>Err404</title>
            <link>https://err404.numericore.com/en/</link>
        </image>
        <item>
            <title>start</title>
            <link>https://err404.numericore.com/en/notes/file_server_training/start</link>
            <description>&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;tabs plugin_wrap&quot;&gt;&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://err404.numericore.com/en//notes/file_server_training/&quot; class=&quot;urlextern&quot; title=&quot;https://err404.numericore.com/en//notes/file_server_training/&quot;&gt;English&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://err404.numericore.com/fr//notes/formation_serveur_de_fichiers/&quot; class=&quot;urlextern&quot; title=&quot;https://err404.numericore.com/fr//notes/formation_serveur_de_fichiers/&quot;&gt;Français&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit3&quot; id=&quot;Files_server&quot;&gt;Files server&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
The purpose of this training is to facilitate the setup, management, and maintenance of a &lt;strong&gt;self-hosted&lt;/strong&gt; &lt;strong&gt;personal website&lt;/strong&gt; and related services.&lt;br /&gt;
Required equipment
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Files server&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Files_server&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;188-384&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit4&quot; id=&quot;Hardware_requirements&quot;&gt;Hardware requirements&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; A USB key to copy &lt;strong&gt;Proxmox ve&lt;/strong&gt; install &lt;a href=&quot;https://enterprise.proxmox.com/iso/&quot; class=&quot;urlextern&quot; title=&quot;https://enterprise.proxmox.com/iso/&quot;&gt;https://enterprise.proxmox.com/iso/&lt;/a&gt; (if the Proxmox way is chosen)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;     A computer connected to the Internet that will be dedicated to hosting services, otherwise use a hosting service&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;img src=&quot;https://err404.numericore.com/en/_media/notes/files_server_on_a_old_laptop.jpg?w=800&amp;amp;tok=259d83&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;800&quot; /&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Hardware requirements&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Hardware_requirements&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;385-711&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit5&quot; id=&quot;Optional_services&quot;&gt;Optional services&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Optional services&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Optional_services&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;712-743&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;authoritative_domain_name_server&quot;&gt;authoritative domain name server&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
In my case, I chose to have an &lt;a href=&quot;https://err404.numericore.com/en/notes/file_server_training/dns&quot; class=&quot;wikilink1&quot; title=&quot;notes:file_server_training:dns&quot; data-wiki-id=&quot;notes:file_server_training:dns&quot;&gt;authoritative domain name server&lt;/a&gt;, &lt;strong&gt;but this is not mandatory&lt;/strong&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;authoritative domain name server&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;authoritative_domain_name_server&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;744-920&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;SNI_reverse_proxy&quot;&gt;SNI reverse proxy&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
The &lt;a href=&quot;https://err404.numericore.com/en/notes/file_server_training/rpsni&quot; class=&quot;wikilink1&quot; title=&quot;notes:file_server_training:rpsni&quot; data-wiki-id=&quot;notes:file_server_training:rpsni&quot;&gt;SNI reverse proxy&lt;/a&gt; is only necessary if you want to have several virtual machines (or containers) sharing the same public IPv4 address.
&lt;/p&gt;
&lt;div id=&quot;plugin__gallery_7fcc&quot; class=&quot;plugin-gallery align-center&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__7fcc_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(300px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot; style=&quot;max-width: 300px; &quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/notes/file_server_training/ipv4_vs_ipv6_en_.svg?id=notes%3Afile_server_training%3Astart&quot; title=&quot;Ipv4 Vs Ipv6 En &quot; data-caption=&quot;&amp;lt;b&amp;gt;Ipv4 Vs Ipv6 En &amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-a8e9b89b7c3e12a3d700ceee0285]&quot; data-url=&quot;/en/_media/notes/file_server_training/ipv4_vs_ipv6_en_.svg&quot;&gt;&lt;img width=&quot;600&quot; height=&quot;600&quot; src=&quot;/en/_media/notes/file_server_training/ipv4_vs_ipv6_en_.svg?w=600&amp;amp;h=600&amp;amp;tok=8ee9d5&quot; alt=&quot;ipv4_vs_ipv6_en_.svg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;
As can be seen in the diagram, IPv6 is easier to configure than when you only have one public IPv4 address.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;SNI reverse proxy&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;SNI_reverse_proxy&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;921-1285&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit8&quot; id=&quot;Installations&quot;&gt;Installations&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
I recommend installing a hypervisor (Proxmox) to host the virtual machines or containers for the website and associated services. It is possible to use a hypervisor other than Proxmox, such as virt-manager, VirtualBox, etc.&lt;br /&gt;
In any case, it is preferable to configure the network in bridge mode to avoid having to manage NAT redirection.&lt;br /&gt;
Proxmox uses bridges by default, which suits our needs.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Installations&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Installations&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;1286-1706&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;Proxmox&quot;&gt;Proxmox&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Copy the Proxmox ISO to the USB key and boot the computer from it.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Follow the installation steps: xfs, root:30GB.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Proxmox configuration.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Add the user &lt;em&gt;user&lt;/em&gt;&lt;a href=&quot;https://your_server_proxmox:8006/#&quot; class=&quot;urlextern&quot; title=&quot;https://your_server_proxmox:8006/#&quot;&gt;https://your_server_proxmox:8006/#&lt;/a&gt; v1:0:18:4:::::::14&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Give them admin rights: &lt;a href=&quot;https://your_server_proxmox:8006/#v1:0:18:4:::::::6&quot; class=&quot;urlextern&quot; title=&quot;https://your_server_proxmox:8006/#v1:0:18:4:::::::6&quot;&gt;https://your_server_proxmox:8006/#v1:0:18:4:::::::6&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Edit /etc/ssh/sshd_config: permitrootlogin no&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Proxmox&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Proxmox&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;1707-2086&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit10&quot; id=&quot;Yunohost&quot;&gt;Yunohost&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Yunohost can be installed in two ways in Proxmox: as a virtual machine or as a container. This will depend on your process isolation requirements.
&lt;/p&gt;

&lt;p&gt;
I recommend installing Yunohost as a container, but if you want to install it as a virtual machine, instructions are available here: &lt;a href=&quot;https://err404.numericore.com/en/notes/file_server_training/yunohost_VM/start&quot; class=&quot;wikilink1&quot; title=&quot;notes:file_server_training:yunohost_VM:start&quot; data-wiki-id=&quot;notes:file_server_training:yunohost_VM:start&quot;&gt;Yunohost as a virtual machine&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Yunohost&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Yunohost&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;2087-2467&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;Yunohost_installation_in_container&quot;&gt;Yunohost installation (in container)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Yunohost is installed in an existing container:
&lt;/p&gt;

&lt;p&gt;
Yunohost is based on Debian, so I install a Debian container:
&lt;/p&gt;

&lt;p&gt;
(documentation: &lt;a href=&quot;https://pve.proxmox.com/wiki/Linux_Container#pct_container_images&quot; class=&quot;urlextern&quot; title=&quot;https://pve.proxmox.com/wiki/Linux_Container#pct_container_images&quot;&gt;https://pve.proxmox.com/wiki/Linux_Container#pct_container_images&lt;/a&gt;)&lt;br /&gt;
(documentation: &lt;a href=&quot;https://doc.yunohost.org/en/admin/get_started/install_on/on_top_of_debian&quot; class=&quot;urlextern&quot; title=&quot;https://doc.yunohost.org/en/admin/get_started/install_on/on_top_of_debian&quot;&gt;https://doc.yunohost.org/en/admin/get_started/install_on/on_top_of_debian&lt;/a&gt;)
&lt;/p&gt;

&lt;p&gt;
Here are some commands to run as root in the Proxmox terminal to add the container images: 
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;pveam update&lt;/pre&gt;

&lt;p&gt;
 (updates the list of available container images)
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;pveam available &lt;span class=&quot;re5&quot;&gt;--section&lt;/span&gt; system &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;grep&lt;/span&gt; debian&lt;/pre&gt;

&lt;p&gt;
 (displays the list of Debian containers only)
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;pveam download &lt;span class=&quot;kw3&quot;&gt;local&lt;/span&gt; debian-&lt;span class=&quot;nu0&quot;&gt;12&lt;/span&gt;-standard_12.7-&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;_amd64.tar.zst&lt;/pre&gt;

&lt;p&gt;
 (downloads the latest available Debian image)
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; When the download is complete, you can create a container from this image. 20 &lt;abbr title=&quot;Gigabyte&quot;&gt;GB&lt;/abbr&gt; of disk space should be sufficient.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Start the container…&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Once in the container as root, retrieve the yunohost installation script and execute it:&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;root
apt update
&lt;span class=&quot;kw2&quot;&gt;wget&lt;/span&gt; install.yunohost.org &lt;span class=&quot;re5&quot;&gt;-O&lt;/span&gt; install.yunohost.sh
&lt;span class=&quot;kw2&quot;&gt;chmod&lt;/span&gt; +x install.yunohost.sh
&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;root&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;install.yunohost.sh&lt;/pre&gt;

&lt;p&gt;
Once the basic installation is complete, simply go to the web browser to continue. Or type ‘yunohost tools postinstall’ in the command line.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Yunohost installation (in container)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Yunohost_installation_in_container&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;2468-3741&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit12&quot; id=&quot;Get_a_domain_name&quot;&gt;Get a domain name&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; either with yunohost&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; or from a registrar&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Once the domain name is registered, you just need to generate the certificate on the Yunohost/admin side.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Get a domain name&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Get_a_domain_name&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;3742-3931&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit13&quot; id=&quot;Authoritative_domain_name_server_optional&quot;&gt;Authoritative domain name server (optional)&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
if you want to have subdomains and manage them yourself (which will avoid having to go through the registrar for each change).&lt;br /&gt;
you must then declare your main domain name as SOA, i.e. set up and declare an &lt;a href=&quot;https://err404.numericore.com/en/notes/file_server_training/dns&quot; class=&quot;wikilink1&quot; title=&quot;notes:file_server_training:dns&quot; data-wiki-id=&quot;notes:file_server_training:dns&quot;&gt;authoritative domain name server&lt;/a&gt;.&lt;br /&gt;
For example, with nsd (which I chose) or knot (which I have not yet tested).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Authoritative domain name server (optional)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Authoritative_domain_name_server_optional&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;3932-4312&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit14&quot; id=&quot;Adding_an_application&quot;&gt;Adding an application&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Choose from:
&lt;/p&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_button plugin_wrap&quot;&gt;
&lt;p&gt;
&lt;a href=&quot;https://err404.numericore.com/en/notes/file_server_training/dokuwiki/start&quot; class=&quot;wikilink1&quot; title=&quot;notes:file_server_training:dokuwiki:start&quot; data-wiki-id=&quot;notes:file_server_training:dokuwiki:start&quot;&gt;dokuwiki&lt;/a&gt; &lt;a href=&quot;https://err404.numericore.com/en/notes/file_server_training/nexcloud/start&quot; class=&quot;wikilink1&quot; title=&quot;notes:file_server_training:nexcloud:start&quot; data-wiki-id=&quot;notes:file_server_training:nexcloud:start&quot;&gt;nextcloud&lt;/a&gt; &lt;a href=&quot;https://err404.numericore.com/en/notes/file_server_training/calibre/start&quot; class=&quot;wikilink1&quot; title=&quot;notes:file_server_training:calibre:start&quot; data-wiki-id=&quot;notes:file_server_training:calibre:start&quot;&gt;calibre&lt;/a&gt; &lt;a href=&quot;https://err404.numericore.com/en/notes/file_server_training/galene/start&quot; class=&quot;wikilink1&quot; title=&quot;notes:file_server_training:galene:start&quot; data-wiki-id=&quot;notes:file_server_training:galene:start&quot;&gt;galene&lt;/a&gt; &lt;a href=&quot;https://err404.numericore.com/en/notes/file_server_training/jirafeau/start&quot; class=&quot;wikilink1&quot; title=&quot;notes:file_server_training:jirafeau:start&quot; data-wiki-id=&quot;notes:file_server_training:jirafeau:start&quot;&gt;jirafeau&lt;/a&gt; &lt;a href=&quot;https://err404.numericore.com/en/notes/file_server_training/lufi/start&quot; class=&quot;wikilink1&quot; title=&quot;notes:file_server_training:lufi:start&quot; data-wiki-id=&quot;notes:file_server_training:lufi:start&quot;&gt;lufi&lt;/a&gt; &lt;a href=&quot;https://err404.numericore.com/en/notes/file_server_training/start&quot; class=&quot;wikilink1&quot; title=&quot;notes:file_server_training:start&quot; data-wiki-id=&quot;notes:file_server_training:start&quot;&gt;...&lt;/a&gt; etc.
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
It is possible to have several containers (or virtual machines), each with its own Yunohost, rather than having all the applications in the same Yunohost virtual machine.&lt;br /&gt;
This will mainly depend on the use, and if you choose to have several machines (virtual or not), you will need to set up a &lt;a href=&quot;https://err404.numericore.com/en/notes/file_server_training/rpsni&quot; class=&quot;wikilink1&quot; title=&quot;notes:file_server_training:rpsni&quot; data-wiki-id=&quot;notes:file_server_training:rpsni&quot;&gt;SNI reverse proxy&lt;/a&gt; (because you will probably only have one public IPv4 address and will need to share it between the machines; with IPv6, this kind of problem does not arise).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Adding an application&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Adding_an_application&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;4313-5224&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit17&quot; id=&quot;IPv4_onlyOpening_ports_and_NAT_redirects&quot;&gt;IPv4 only: Opening ports (and NAT redirects)&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Identify the ports to be opened.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Open them on the Internet box side and specify the redirect.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; If you have set up an SNI proxy server, you will need to redirect ports 80 and 443 to the SNI proxy server.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Keep in mind that NAT issues do not exist in ipv6 (unless you have CGNAT, but in that case I recommend changing your Internet service provider).&lt;br /&gt;
In ipv6, the machine is directly connected to the Internet, with all ports exposed on the public IP (which starts with 2).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;IPv4 only: Opening ports (and NAT redirects)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;IPv4_onlyOpening_ports_and_NAT_redirects&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;5225-5767&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit18&quot; id=&quot;Backups_very_important&quot;&gt;Backups (very important)&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;https://err404.numericore.com/en/_media/notes/disque_dur.jpg?w=400&amp;amp;tok=ca3069&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;br /&gt;
Yunohost is capable of backing up applications, but it does not back up itself. That&amp;#039;s why I use Yunohost in a virtual machine (or container) and have Proxmox perform the backup.&lt;br /&gt;
However, a backup should &lt;strong&gt;not remain on the same hard drive as its source&lt;/strong&gt; and should be stored in a different geographical location.
&lt;/p&gt;

&lt;p&gt;
In our case, using a second hard drive would already be a good solution.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Backups (very important)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Backups_very_important&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:18,&amp;quot;range&amp;quot;:&amp;quot;5768-6234&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit19&quot; id=&quot;Read_the_logs_important&quot;&gt;Read the logs (important)&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Read the logs (important)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Read_the_logs_important&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:19,&amp;quot;range&amp;quot;:&amp;quot;6235-6274&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit20&quot; id=&quot;Problems_encountered_during_self-hosting&quot;&gt;Problems encountered during self-hosting&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Some ISPs do not route properly to the IP ranges of other ISPs.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; The public IP may change without notice, in which case you will need to update the &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt; entries and regenerate the certificates.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; It may also happen that the box does not deliver a public IPv6 address but only a locally unique IPv6 address. In this case, you will need to force a public IPv6 address.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Some ISPs do not give IPv6 addresses to their customers, or only in certain areas.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; In general, you only have one public IPv4 address, so if you want to host multiple services that require the same ports, you will need to set up a &lt;a href=&quot;https://err404.numericore.com/en/notes/file_server_training/rpsni&quot; class=&quot;wikilink1&quot; title=&quot;notes:file_server_training:rpsni&quot; data-wiki-id=&quot;notes:file_server_training:rpsni&quot;&gt;SNI reverse proxy&lt;/a&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Problems encountered during self-hosting&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Problems_encountered_during_self-hosting&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:20,&amp;quot;range&amp;quot;:&amp;quot;6275-&amp;quot;} --&gt;</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Wed, 22 Apr 2026 10:25:36 +0000</pubDate>
        </item>
        <item>
            <title>start</title>
            <link>https://err404.numericore.com/en/notes/file_server_training/nexcloud/start</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;NextCloud&quot;&gt;NextCloud&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Nextcloud is free software for file hosting and a collaboration platform. Originally accessible via WebDAV, any web browser, or specialized clients, its open architecture has allowed its functionality to expand since its inception. &lt;a href=&quot;https://fr.wikipedia.org/wiki/Nextcloud&quot; class=&quot;urlextern&quot; title=&quot;https://fr.wikipedia.org/wiki/Nextcloud&quot;&gt;https://fr.wikipedia.org/wiki/Nextcloud&lt;/a&gt;&lt;br /&gt;
* I use Nextcloud to synchronize (or rather copy) photos and videos from my smartphone to the server.&lt;br /&gt;
* I also use it to share folders publicly, with read and write permissions management (and you can easily generate a QR code to grant access).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;NextCloud&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;NextCloud&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-546&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;OnlyOffice_in_NextCloud&quot;&gt;OnlyOffice in NextCloud&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
If you want to obtain the secret key to use OnlyOffice in Nextcloud, simply connect to the Yunohost container via SSH and run the command “documentserver-jwt-status.sh”.&lt;br /&gt;
The key obtained must be copied into the OnlyOffice server parameter field (in the Nextcloud administration interface).
&lt;/p&gt;

&lt;p&gt;
Sometimes (too often) Onlyoffice stops working with NextCloud. I don&amp;#039;t really understand why, and I haven&amp;#039;t found a reliable solution to keep it running smoothly.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;OnlyOffice in NextCloud&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;OnlyOffice_in_NextCloud&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;547-1039&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;Isolation_in_a_container&quot;&gt;Isolation in a container&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
I recommend you to have a Yunohost container apart for Nextcloud and Onlyoffice, these are two large packages, with a lot of dependencies, and it&amp;#039;s easier to maintain with less risk of conflict if these two packages are installed apart from the other Yunohost packages on your server.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Isolation in a container&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Isolation_in_a_container&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1040-&amp;quot;} --&gt;</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Sun, 19 Apr 2026 09:38:05 +0000</pubDate>
        </item>
        <item>
            <title>basic.less - old revision restored (2025/08/31 08:55)</title>
            <link>https://err404.numericore.com/en/wiki/basic.less</link>
            <description>
&lt;p&gt;
/**&lt;br /&gt;
 * This file provides the most basic styles.&lt;br /&gt;
 *&lt;br /&gt;
 * If you integrate DokuWiki into another project, you might either&lt;br /&gt;
 * want to integrate this file into the other project as well, or use&lt;br /&gt;
 * the other project&amp;#039;s basic &lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt; for DokuWiki instead of this one.&lt;br /&gt;
 *&lt;br /&gt;
 * @author Anika Henke &lt;a href=&quot;mailto:&amp;#97;&amp;#110;&amp;#105;&amp;#107;&amp;#97;&amp;#64;&amp;#115;&amp;#101;&amp;#108;&amp;#102;&amp;#116;&amp;#104;&amp;#105;&amp;#110;&amp;#107;&amp;#101;&amp;#114;&amp;#46;&amp;#111;&amp;#114;&amp;#103;&quot; class=&quot;mail&quot; title=&quot;&amp;#97;&amp;#110;&amp;#105;&amp;#107;&amp;#97;&amp;#64;&amp;#115;&amp;#101;&amp;#108;&amp;#102;&amp;#116;&amp;#104;&amp;#105;&amp;#110;&amp;#107;&amp;#101;&amp;#114;&amp;#46;&amp;#111;&amp;#114;&amp;#103;&quot;&gt;&amp;#97;&amp;#110;&amp;#105;&amp;#107;&amp;#97;&amp;#64;&amp;#115;&amp;#101;&amp;#108;&amp;#102;&amp;#116;&amp;#104;&amp;#105;&amp;#110;&amp;#107;&amp;#101;&amp;#114;&amp;#46;&amp;#111;&amp;#114;&amp;#103;&lt;/a&gt;&lt;br /&gt;
 */
&lt;/p&gt;

&lt;p&gt;
::-moz-selection { 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  background: var(--selection_background, #275c9c); 
  color: var(--selection_color, white);&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
::selection { 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  background: var(--selection_background, #275c9c); 
  color: var(--selection_color, white);&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
html {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  overflow-x: auto;
  overflow-y: scroll;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
html,&lt;br /&gt;
body {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  color: var(--text, #333);
  background: var(--background_site, #fbfaf9) url(images/page-gradient.png) top left repeat-x;
  margin: 0;
  padding: 0;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
body {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  font: normal 87.5%/1.4 Arial, sans-serif;
  /* default font size: 100% =&amp;gt; 16px; 93.75% =&amp;gt; 15px; 87.5% =&amp;gt; 14px; 81.25% =&amp;gt; 13px; 75% =&amp;gt; 12px */
  -webkit-text-size-adjust: 100%;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
/*&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt; scrollbars &lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;*/
&lt;/p&gt;

&lt;p&gt;
/* The emerging &lt;abbr title=&quot;World Wide Web Consortium&quot;&gt;W3C&lt;/abbr&gt; standard
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt; that is currently Firefox-only */&lt;/pre&gt;

&lt;p&gt;
* {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  scrollbar-color: var(--scrollbar_thumb) var(--scrollbar_track);&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/* Works on Chrome/Edge/Safari */&lt;/pre&gt;

&lt;p&gt;
::-webkit-scrollbar {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  background: var(--scrollbar_track);
  width: 12px;
  height: 12px;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
::-webkit-scrollbar-thumb {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  background: var(--scrollbar_thumb);&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
/*&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt; config manager &lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;*/
&lt;/p&gt;

&lt;p&gt;
#config&lt;em class=&quot;u&quot;&gt;manager fieldset{&lt;br /&gt;
    color: var(–text, #000);&lt;br /&gt;
    background-color: var(–background, #fff);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#config&lt;/em&gt;manager td.label span.outkey {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;font-size: 85%;
  background-color: var(--background, #fff);&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
#config&lt;em class=&quot;u&quot;&gt;manager tr .input, &lt;br /&gt;
#config&lt;/em&gt;manager tr input, &lt;br /&gt;
#config&lt;em class=&quot;u&quot;&gt;manager tr textarea, &lt;br /&gt;
#config&lt;/em&gt;manager tr select {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  background-color: var(--background, #fff);
  border: 1px solid var(--border,#333);
  color: var(--text,#000);&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
#config&lt;em class=&quot;u&quot;&gt;manager tr.default .input, &lt;br /&gt;
#config&lt;/em&gt;manager tr.default input, &lt;br /&gt;
#config&lt;em class=&quot;u&quot;&gt;manager tr.default textarea, &lt;br /&gt;
#config&lt;/em&gt;manager tr.default select, &lt;br /&gt;
#config&lt;em class=&quot;u&quot;&gt;manager .selectiondefault {&lt;br /&gt;
    background-color: var(–background_site, #fff);&lt;br /&gt;
    border: 1px solid var(–border,#333);&lt;br /&gt;
    color: var(–text,#000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#extension&lt;/em&gt;manager ul.tabs li.active a {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  background-color: var(--background_alt, #eee);
  color: var(--text, #333);
  border-bottom: none;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
#extension&lt;em class=&quot;u&quot;&gt;manager .panelHeader {&lt;br /&gt;
    background-color: var(–background_alt, #eee);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#extension&lt;/em&gt;list ul.extensionList li {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  color: var(--text, #000);
  background-color: var(--background, #fff);&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
#extension&lt;em class=&quot;u&quot;&gt;list .legend div.popularity {&lt;br /&gt;
    background-color: var(–background, #fff);&lt;br /&gt;
    border: 1px solid var(–text_alt, #999)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#extension&lt;/em&gt;list .legend div.popularity div {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  background-color: var(--pre_text, #333);&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
/*&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt; headers &lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;*/
&lt;/p&gt;

&lt;p&gt;
caption,&lt;br /&gt;
figcaption,&lt;br /&gt;
summary,&lt;br /&gt;
legend {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  padding: 0;
  margin: 0 0 .35em;
  line-height: 1.2;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
h1,&lt;br /&gt;
h2,&lt;br /&gt;
h3,&lt;br /&gt;
h4,&lt;br /&gt;
h5,&lt;br /&gt;
h6 {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  font-weight: bold;
  padding: 0;
  line-height: 1.3;
  clear: left; /* ideally &amp;#039;both&amp;#039;, but problems with toc */&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
[dir=rtl] h1,&lt;br /&gt;
[dir=rtl] h2,&lt;br /&gt;
[dir=rtl] h3,&lt;br /&gt;
[dir=rtl] h4,&lt;br /&gt;
[dir=rtl] h5,&lt;br /&gt;
[dir=rtl] h6 {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  clear: right;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
h1 {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  font-size: 2em;
  margin: 0 0 0.444em;
border-bottom: 1px solid var(--border, #333);&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
h2 {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  font-size: 1.5em;
  margin: 1.7em 0 0.666em;
  border-bottom: 1px solid var(--border, #333);&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
h3 {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  font-size: 1.125em;
  margin: 1em 0 0.3em;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
h4 {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  font-size: 1em;
  margin: 1em 0 0.3em;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
h5 {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  font-size: .875em;
  margin: 1em 0 0.3em;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
h6 {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  font-size: .75em;
  margin: 1em 0 0.3em;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
/* bottom margin = 1 / font-size */
&lt;/p&gt;

&lt;p&gt;
/*&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt; basic margins and paddings &lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;*/
&lt;/p&gt;

&lt;p&gt;
p,&lt;br /&gt;
ul,&lt;br /&gt;
ol,&lt;br /&gt;
dl,&lt;br /&gt;
pre,&lt;br /&gt;
table,&lt;br /&gt;
hr,&lt;br /&gt;
blockquote,&lt;br /&gt;
figure,&lt;br /&gt;
details,&lt;br /&gt;
fieldset,&lt;br /&gt;
address {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  margin: 0 0 0.6em 0;
  padding: 0;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
div,&lt;br /&gt;
video,&lt;br /&gt;
audio {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  margin: 0;
  padding: 0;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
/*&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt; lists &lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;*/
&lt;/p&gt;

&lt;p&gt;
ul,&lt;br /&gt;
ol {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  padding: 0 0 0 1.5em;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
[dir=rtl] ul,&lt;br /&gt;
[dir=rtl] ol {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  padding: 0 1.5em 0 0;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
li,&lt;br /&gt;
dd {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  padding: 0;
  margin: 0 0 0 1.5em;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
[dir=rtl] li,&lt;br /&gt;
[dir=rtl] dd {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  margin: 0 1.5em 0 0;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
dt {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  font-weight: bold;
  margin: 0;
  padding: 0;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
li ul,&lt;br /&gt;
li ol,&lt;br /&gt;
li dl,&lt;br /&gt;
dl ul,&lt;br /&gt;
dl ol,&lt;br /&gt;
dl dl {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  margin-bottom: 0;
  padding: 0;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
li li {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  font-size: 100%;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
ul             { list-style: disc; }&lt;br /&gt;
ol             { list-style: decimal outside; }&lt;br /&gt;
ol ol          { list-style-type: lower-alpha; }&lt;br /&gt;
ol ol ol       { list-style-type: lower-roman; }&lt;br /&gt;
ol ol ol ol    { list-style-type: lower-greek; }&lt;br /&gt;
ol ol ol ol ol { list-style-type: lower-latin; }
&lt;/p&gt;

&lt;p&gt;
/*&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt; tables &lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;*/
&lt;/p&gt;

&lt;p&gt;
table {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  border-collapse: collapse;
  empty-cells: show;
  border-spacing: 0;
  border: 1px solid var(--border, #ccc);&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
caption {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  caption-side: top;
  text-align: left;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
[dir=rtl] caption {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  text-align: right;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
th,&lt;br /&gt;
td {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  padding: .3em .5em;
  margin: 0;
  vertical-align: top;
  border: 1px solid var(--border, #ccc);&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
th {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  font-weight: bold;
  background-color: var(--background_alt, #eee);
  text-align: left;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
[dir=rtl] th {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  text-align: right;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
/*&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt; links &lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;*/
&lt;/p&gt;

&lt;p&gt;
a {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  outline: none;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
a:link,&lt;br /&gt;
a:visited {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  text-decoration: none;
  color: var(--link, #2b73b7);&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
a:link:hover,&lt;br /&gt;
a:visited:hover,&lt;br /&gt;
a:link:focus,&lt;br /&gt;
a:visited:focus,&lt;br /&gt;
a:link:active,&lt;br /&gt;
a:visited:active {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  text-decoration: underline;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
/*&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt; misc &lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;*/
&lt;/p&gt;

&lt;p&gt;
img {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  border-width: 0;
  vertical-align: middle;
  color: var(--text_neu, #666);
  background-color: transparent;
  font-style: italic;
  height: auto;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
video {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  height: auto;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
img,&lt;br /&gt;
object,&lt;br /&gt;
embed,&lt;br /&gt;
iframe,&lt;br /&gt;
video,&lt;br /&gt;
audio {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  max-width: 100%;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
button img {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  max-width: none;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
hr {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  border-top: solid var(--border, #ccc);
  border-bottom: solid var(--border, #ccc);
  border-width: 1px 0;
  height: 0;
  text-align: center;
  clear: both;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
acronym,&lt;br /&gt;
abbr {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  cursor: help;
  border-bottom: 1px dotted;
  font-style: normal;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
em acronym,&lt;br /&gt;
em abbr {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  font-style: italic;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
mark {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  background-color: var(--highlight, #ff9);
  color: inherit;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
code,&lt;br /&gt;
samp,&lt;br /&gt;
kbd {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  font-family: Consolas, &amp;quot;Andale Mono WT&amp;quot;, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Nimbus Mono L&amp;quot;, Monaco, &amp;quot;Courier New&amp;quot;, monospace;
  /* same font stack should be used for &amp;quot;.dokuwiki table.diff td&amp;quot; in _diff.css */
  font-size: 89%;
  direction: ltr;
  text-align: left;
  background-color: var(--pre_background, #fbfaf9);
  color: var(--pre_text, #333);
  box-shadow: none;
  border-radius: 2px;
  padding: 1.5px 4px 1.5px 4px;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
pre {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  font-family: Consolas, &amp;quot;Andale Mono WT&amp;quot;, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Nimbus Mono L&amp;quot;, Monaco, &amp;quot;Courier New&amp;quot;, monospace;
  /* same font stack should be used for &amp;quot;.dokuwiki table.diff td&amp;quot; in _diff.css */
  font-size: 1em;
  direction: ltr;
  text-align: left;
  background-color: var(--background_site, #fbfaf9);
  color: var(--text, #333);
  box-shadow: none;
  border-radius: 2px;
  overflow: auto;
  word-wrap: normal;
  border: 1px solid var(--border, #ccc);
  border-radius: 2px;
  box-shadow: none;
  padding: .7em 1em;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
blockquote {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  padding: 0 .5em;
  border: solid var(--border, #ccc);
  border-width: 0 0 0 .25em;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
[dir=rtl] blockquote {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  border-width: 0 .25em 0 0;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
q:before,&lt;br /&gt;
q:after {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  content: &amp;#039;&amp;#039;;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
sub,&lt;br /&gt;
sup {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  font-size: .8em;
  line-height: 1;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
sub {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  vertical-align: sub;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
sup {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  vertical-align: super;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
small {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  font-size: .8em;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
/*&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt; forms &lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;*/
&lt;/p&gt;

&lt;p&gt;
/* for all of the form styles, style.ini colours are not used on purpose (except for fieldset border) */
&lt;/p&gt;

&lt;p&gt;
form {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  display: inline;
  margin: 0;
  padding: 0;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
fieldset {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  padding: .7em 1em 0;
  padding: .7rem 1rem; /* for those browsers understanding :last-child */
  border: 1px solid var(--text_alt, #999);&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
fieldset &amp;gt; :last-child {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  margin-bottom: 0;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
legend {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  margin: 0;
  padding: 0 .1em;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
label {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  vertical-align: middle;
  cursor: pointer;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
input,&lt;br /&gt;
textarea,&lt;br /&gt;
button,&lt;br /&gt;
select,&lt;br /&gt;
optgroup,&lt;br /&gt;
option,&lt;br /&gt;
keygen,&lt;br /&gt;
output,&lt;br /&gt;
meter,&lt;br /&gt;
progress {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  font: inherit;
  font-weight: normal;
  color: var(--text, #000);
  background-color: var(--background, #fff);
  line-height: normal;
  margin: 0;
  vertical-align: middle;
  box-sizing: border-box;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
select {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  max-width: 100%;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
optgroup {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  font-style: italic;
  font-weight: bold;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
option {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  font-style: normal;
  font-weight: normal;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
input,&lt;br /&gt;
textarea,&lt;br /&gt;
select,&lt;br /&gt;
keygen {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  border: 1px solid var(--border, #333);
  box-shadow: none;
  border-radius: 2px;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
input:active,&lt;br /&gt;
input:focus,&lt;br /&gt;
textarea:active,&lt;br /&gt;
textarea:focus,&lt;br /&gt;
select:active,&lt;br /&gt;
select:focus,&lt;br /&gt;
keygen:active,&lt;br /&gt;
keygen:focus {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  border-color: #999;&lt;/pre&gt;

&lt;p&gt;
}&lt;br /&gt;
input[type=radio],&lt;br /&gt;
input[type=checkbox],&lt;br /&gt;
input[type=image] {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  padding: 0;
  border-style: none;
  box-shadow: none;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
/* all types of buttons */&lt;br /&gt;
input[type=submit],&lt;br /&gt;
input[type=button],&lt;br /&gt;
input[type=reset],&lt;br /&gt;
input.button,&lt;br /&gt;
a.button,&lt;br /&gt;
button,&lt;br /&gt;
.qq-upload-button {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  color: var(--text, #000);
  background-color: var(--background_alt, #eee);
  border: 1px solid var(--border, #333);
  border-radius: 2px;
  padding: .1em .5em;
  cursor: pointer;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
input[type=submit]:hover,&lt;br /&gt;
input[type=submit]:active,&lt;br /&gt;
input[type=submit]:focus,&lt;br /&gt;
input[type=button]:hover,&lt;br /&gt;
input[type=button]:active,&lt;br /&gt;
input[type=button]:hover,&lt;br /&gt;
input[type=reset]:hover,&lt;br /&gt;
input[type=reset]:active,&lt;br /&gt;
input[type=reset]:hover,&lt;br /&gt;
input.button:hover,&lt;br /&gt;
input.button:active,&lt;br /&gt;
input.button:focus,&lt;br /&gt;
a.button:hover,&lt;br /&gt;
a.button:active,&lt;br /&gt;
a.button:focus,&lt;br /&gt;
button:hover,&lt;br /&gt;
button:active,&lt;br /&gt;
button:focus,&lt;br /&gt;
.qq-upload-button:hover {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  border-color: var(--background_neu, #ddd);
  background-color: var(--background_neu, #ddd);&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
input::-moz-focus-inner,&lt;br /&gt;
button::-moz-focus-inner {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  border: 0;
  padding: 0;&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;

&lt;p&gt;
input[disabled],&lt;br /&gt;
button[disabled],&lt;br /&gt;
select[disabled],&lt;br /&gt;
textarea[disabled],&lt;br /&gt;
option[disabled],&lt;br /&gt;
input[readonly],&lt;br /&gt;
button[readonly],&lt;br /&gt;
select[readonly],&lt;br /&gt;
textarea[readonly] {
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  cursor: auto;
  opacity: .5;
  background-color: var(--background_alt, #eee);
  color: var(--text_alt, #999);&lt;/pre&gt;

&lt;p&gt;
}
&lt;/p&gt;
</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Fri, 17 Apr 2026 07:01:15 +0000</pubDate>
        </item>
        <item>
            <title>design.less - old revision restored (2026/03/19 18:06)</title>
            <link>https://err404.numericore.com/en/wiki/design.less</link>
            <description>
&lt;p&gt;
/&lt;strong&gt;&lt;br /&gt;
 * This file provides the main design styles for the&lt;br /&gt;
 * bits that surround the content.&lt;br /&gt;
 *&lt;br /&gt;
 * @author Anika Henke &lt;a href=&quot;mailto:&amp;#97;&amp;#110;&amp;#105;&amp;#107;&amp;#97;&amp;#64;&amp;#115;&amp;#101;&amp;#108;&amp;#102;&amp;#116;&amp;#104;&amp;#105;&amp;#110;&amp;#107;&amp;#101;&amp;#114;&amp;#46;&amp;#111;&amp;#114;&amp;#103;&quot; class=&quot;mail&quot; title=&quot;&amp;#97;&amp;#110;&amp;#105;&amp;#107;&amp;#97;&amp;#64;&amp;#115;&amp;#101;&amp;#108;&amp;#102;&amp;#116;&amp;#104;&amp;#105;&amp;#110;&amp;#107;&amp;#101;&amp;#114;&amp;#46;&amp;#111;&amp;#114;&amp;#103;&quot;&gt;&amp;#97;&amp;#110;&amp;#105;&amp;#107;&amp;#97;&amp;#64;&amp;#115;&amp;#101;&amp;#108;&amp;#102;&amp;#116;&amp;#104;&amp;#105;&amp;#110;&amp;#107;&amp;#101;&amp;#114;&amp;#46;&amp;#111;&amp;#114;&amp;#103;&lt;/a&gt;&lt;br /&gt;
 * @author Andreas Gohr &lt;a href=&quot;mailto:&amp;#97;&amp;#110;&amp;#100;&amp;#105;&amp;#64;&amp;#115;&amp;#112;&amp;#108;&amp;#105;&amp;#116;&amp;#98;&amp;#114;&amp;#97;&amp;#105;&amp;#110;&amp;#46;&amp;#111;&amp;#114;&amp;#103;&quot; class=&quot;mail&quot; title=&quot;&amp;#97;&amp;#110;&amp;#100;&amp;#105;&amp;#64;&amp;#115;&amp;#112;&amp;#108;&amp;#105;&amp;#116;&amp;#98;&amp;#114;&amp;#97;&amp;#105;&amp;#110;&amp;#46;&amp;#111;&amp;#114;&amp;#103;&quot;&gt;&amp;#97;&amp;#110;&amp;#100;&amp;#105;&amp;#64;&amp;#115;&amp;#112;&amp;#108;&amp;#105;&amp;#116;&amp;#98;&amp;#114;&amp;#97;&amp;#105;&amp;#110;&amp;#46;&amp;#111;&amp;#114;&amp;#103;&lt;/a&gt;&lt;br /&gt;
 * @author Clarence Lee &lt;a href=&quot;mailto:&amp;#99;&amp;#108;&amp;#97;&amp;#114;&amp;#101;&amp;#110;&amp;#99;&amp;#101;&amp;#100;&amp;#103;&amp;#108;&amp;#101;&amp;#101;&amp;#64;&amp;#103;&amp;#109;&amp;#97;&amp;#105;&amp;#108;&amp;#46;&amp;#99;&amp;#111;&amp;#109;&quot; class=&quot;mail&quot; title=&quot;&amp;#99;&amp;#108;&amp;#97;&amp;#114;&amp;#101;&amp;#110;&amp;#99;&amp;#101;&amp;#100;&amp;#103;&amp;#108;&amp;#101;&amp;#101;&amp;#64;&amp;#103;&amp;#109;&amp;#97;&amp;#105;&amp;#108;&amp;#46;&amp;#99;&amp;#111;&amp;#109;&quot;&gt;&amp;#99;&amp;#108;&amp;#97;&amp;#114;&amp;#101;&amp;#110;&amp;#99;&amp;#101;&amp;#100;&amp;#103;&amp;#108;&amp;#101;&amp;#101;&amp;#64;&amp;#103;&amp;#109;&amp;#97;&amp;#105;&amp;#108;&amp;#46;&amp;#99;&amp;#111;&amp;#109;&lt;/a&gt;&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/* header&lt;br /&gt;
&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;/&lt;br /&gt;
&lt;br /&gt;
#dokuwiki&lt;em class=&quot;u&quot;&gt;header {&lt;br /&gt;
    padding: 2em 0 1.5em;&lt;br /&gt;
&lt;br /&gt;
    .headings,&lt;br /&gt;
    .tools {&lt;br /&gt;
        margin-bottom: 1.5em;&lt;br /&gt;
        width: 49%;&lt;br /&gt;
    }&lt;br /&gt;
    .tools {&lt;br /&gt;
        margin-top: .2em;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    h1 {&lt;br /&gt;
        margin: 0;&lt;br /&gt;
        font-size: 1.5em;&lt;br /&gt;
        font-weight: normal;&lt;br /&gt;
        border: none;&lt;br /&gt;
&lt;br /&gt;
        img {&lt;br /&gt;
            float: left;&lt;br /&gt;
            margin-right: .5em;&lt;br /&gt;
            zoom: 50%;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        span {&lt;br /&gt;
            display: block;&lt;br /&gt;
            padding-top: 10px;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        a {&lt;br /&gt;
            text-decoration: none;&lt;br /&gt;
            color: var(–text, #333);&lt;br /&gt;
            background-color: inherit;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    p.claim {&lt;br /&gt;
        margin-bottom: 0;&lt;br /&gt;
        font-size: 0.875em;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /* make all links in header (including breadcrumb and interwiki) same colour as the rest */&lt;br /&gt;
    a {&lt;br /&gt;
        color: var(–link, #2b73b7);&lt;br /&gt;
        background-color: inherit;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[dir=rtl] #dokuwiki&lt;/em&gt;header h1 img {&lt;br /&gt;
    float: right;&lt;br /&gt;
    margin-left: .5em;&lt;br /&gt;
    margin-right: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* tools&lt;br /&gt;
&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;/&lt;br /&gt;
&lt;br /&gt;
/* highlight selected tool */&lt;br /&gt;
.mode_admin a.action.admin,&lt;br /&gt;
.mode_login a.action.login,&lt;br /&gt;
.mode_register a.action.register,&lt;br /&gt;
.mode_profile a.action.profile,&lt;br /&gt;
.mode_recent a.action.recent,&lt;br /&gt;
.mode_index a.action.index,&lt;br /&gt;
.mode_media a.action.media,&lt;br /&gt;
.mode_revisions a.action.revs,&lt;br /&gt;
.mode_backlink a.action.backlink,&lt;br /&gt;
.mode_subscribe a.action.subscribe {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#dokuwiki&lt;em class=&quot;u&quot;&gt;header .tools {&lt;br /&gt;
    ul {&lt;br /&gt;
        padding-left: 0;&lt;br /&gt;
        margin-bottom: 0;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    li {&lt;br /&gt;
        font-size: 0.875em;&lt;br /&gt;
        margin-left: 1em;&lt;br /&gt;
        list-style: none;&lt;br /&gt;
        display: inline;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    form.search div.ajax_qsearch li {&lt;br /&gt;
        font-size: 1em;&lt;br /&gt;
        margin-left: 0;&lt;br /&gt;
        display: block;&lt;br /&gt;
        overflow: hidden;&lt;br /&gt;
        text-overflow: ellipsis;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[dir=rtl] #dokuwiki&lt;/em&gt;header .tools li {&lt;br /&gt;
    margin-right: 1em;&lt;br /&gt;
    margin-left: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#dokuwiki&lt;em class=&quot;u&quot;&gt;header .mobileTools {&lt;br /&gt;
    display: none; /* hide mobile tools dropdown to only show in mobile view */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt; site tools &lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;*/&lt;br /&gt;
&lt;br /&gt;
#dokuwiki&lt;/em&gt;sitetools {&lt;br /&gt;
    text-align: right;&lt;br /&gt;
&lt;br /&gt;
    form.search {&lt;br /&gt;
        font-size: 0.875em;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[dir=rtl] #dokuwiki&lt;em class=&quot;u&quot;&gt;sitetools {&lt;br /&gt;
    text-align: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
form.search {&lt;br /&gt;
    display: block;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    margin-bottom: 0.5em;&lt;br /&gt;
&lt;br /&gt;
    input {&lt;br /&gt;
        width: 18em;&lt;br /&gt;
        padding: .35em 22px .35em .35em;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    button {&lt;br /&gt;
        background: transparent var(–search-png, url(images/search.png)) no-repeat 0 0;&lt;br /&gt;
        border-width: 0;&lt;br /&gt;
        width: 19px;&lt;br /&gt;
        height: 14px;&lt;br /&gt;
        text-indent: -99999px;&lt;br /&gt;
        margin-left: -20px;&lt;br /&gt;
        box-shadow: none;&lt;br /&gt;
        padding: 0;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[dir=rtl] form.search {&lt;br /&gt;
    input {&lt;br /&gt;
        padding: .35em .1em .35em 22px;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    button {&lt;br /&gt;
        background-position: 5px 0;&lt;br /&gt;
        margin-left: 0;&lt;br /&gt;
        margin-right: -20px;&lt;br /&gt;
        position: relative;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt; breadcrumbs &lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;&lt;/em&gt;&lt;em class=&quot;u&quot;&gt;*/&lt;br /&gt;
&lt;br /&gt;
.dokuwiki div.breadcrumbs {&lt;br /&gt;
    border-top: 1px solid var(–border, #ccc);&lt;br /&gt;
    border-bottom: 1px solid var(–border, #ccc);&lt;br /&gt;
    font-size: 0.875em;&lt;br /&gt;
    clear: both;&lt;br /&gt;
&lt;br /&gt;
    div {&lt;br /&gt;
        padding: 0.5em 0em;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    .bcsep {&lt;br /&gt;
        font-size: 0.75em;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* sidebar&lt;br /&gt;
&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;/&lt;br /&gt;
&lt;br /&gt;
.dokuwiki .aside {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    word-wrap: break-word;&lt;br /&gt;
&lt;br /&gt;
    /* make sidebar more condensed */&lt;br /&gt;
&lt;br /&gt;
    h1 {&lt;br /&gt;
        font-size: 1.714em;&lt;br /&gt;
        margin-bottom: .292em;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    h2 {&lt;br /&gt;
        margin-bottom: .333em;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    h3 {&lt;br /&gt;
        margin-bottom: .444em;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    h4 {&lt;br /&gt;
        margin-bottom: .5em;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    h5 {&lt;br /&gt;
        margin-bottom: .5714em;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    p,&lt;br /&gt;
    ul,&lt;br /&gt;
    ol,&lt;br /&gt;
    dl,&lt;br /&gt;
    pre,&lt;br /&gt;
    table,&lt;br /&gt;
    fieldset,&lt;br /&gt;
    hr,&lt;br /&gt;
    blockquote,&lt;br /&gt;
    address {&lt;br /&gt;
        margin-bottom: .2em;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    ul,&lt;br /&gt;
    ol {&lt;br /&gt;
        padding-left: .5em;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    li ul,&lt;br /&gt;
    li ol {&lt;br /&gt;
        margin-bottom: 0;&lt;br /&gt;
        padding: 0;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[dir=rtl] .dokuwiki .aside ul,&lt;br /&gt;
[dir=rtl] .dokuwiki .aside ol {&lt;br /&gt;
    padding-right: .5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* content&lt;br /&gt;
&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;/&lt;br /&gt;
&lt;br /&gt;
.dokuwiki .pageId {&lt;br /&gt;
    float: right;&lt;br /&gt;
    margin-right: -1em;&lt;br /&gt;
    margin-bottom: -1px;&lt;br /&gt;
    margin-top: -1.5em;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    padding: 0.5em 1em 0;&lt;br /&gt;
&lt;br /&gt;
    span {&lt;br /&gt;
        font-size: 0.875em;&lt;br /&gt;
        background-color: var(–background, #fff);&lt;br /&gt;
        color: var(–text_alt, #999);&lt;br /&gt;
        padding: .1em .35em;&lt;br /&gt;
        box-shadow: none;&lt;br /&gt;
        display: block;&lt;br /&gt;
        border: none;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.dokuwiki div.page {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    background: var(–background, #fff);&lt;br /&gt;
    color: var(–text, #333);&lt;br /&gt;
    border: none;&lt;br /&gt;
    box-shadow: none;&lt;br /&gt;
    padding: 1.556em 2em 2em;&lt;br /&gt;
    margin-bottom: .5em;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    word-wrap: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.showSidebar div.page {&lt;br /&gt;
    margin-left: -25px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.dokuwiki .docInfo {&lt;br /&gt;
    font-size: 0.875em;&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* license note under edit window */&lt;br /&gt;
.dokuwiki div.license {&lt;br /&gt;
    font-size: 93.75%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[dir=rtl] .dokuwiki .docInfo {&lt;br /&gt;
    text-align: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[dir=rtl] .dokuwiki .pageId {&lt;br /&gt;
    float: left;&lt;br /&gt;
    margin-left: -1em;&lt;br /&gt;
    margin-right: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* footer&lt;br /&gt;
&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;/&lt;br /&gt;
&lt;br /&gt;
.dokuwiki .wrapper {&lt;br /&gt;
    margin-bottom: 1.4em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#dokuwiki&lt;/em&gt;footer {&lt;br /&gt;
    margin-bottom: 1em;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; .pad {&lt;br /&gt;
        font-size: 0.875em;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    div.license {&lt;br /&gt;
        margin-bottom: 0.5em;&lt;br /&gt;
        font-size: 100%;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    div.buttons a {&lt;br /&gt;
        img {&lt;br /&gt;
            opacity: 0.5;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        &amp;amp;:hover img,&lt;br /&gt;
        &amp;amp;:active img,&lt;br /&gt;
        &amp;amp;:focus img {&lt;br /&gt;
            opacity: 1;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[dir=rtl] #dokuwiki__footer .license img {&lt;br /&gt;
    margin: 0 0 0 .5em;&lt;br /&gt;
}
&lt;/p&gt;
</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Fri, 17 Apr 2026 07:00:47 +0000</pubDate>
        </item>
        <item>
            <title>start</title>
            <link>https://err404.numericore.com/en/start</link>
            <description>&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;tabs plugin_wrap&quot;&gt;&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://err404.numericore.com/en/&quot; class=&quot;urlextern&quot; title=&quot;https://err404.numericore.com/en/&quot;&gt;English&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://err404.numericore.com/fr/&quot; class=&quot;urlextern&quot; title=&quot;https://err404.numericore.com/fr/&quot;&gt;Français&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit3&quot; id=&quot;If_you_don_t_have_your_own_file_server_by_the_time_you_re_30_you_ve_wasted_your_life&quot;&gt;If you don&amp;#039;t have your own file server by the time you&amp;#039;re 30, you&amp;#039;ve wasted your life...&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;hr /&gt;

&lt;p&gt;
It is also a matter of &lt;strong&gt;digital sovereignty&lt;/strong&gt;, not being totally dependent on a third party, it brings a lot of freedoms (but it does not remove responsibilities).&lt;br /&gt;
Here&amp;#039;s a file server solution in self-hosting at home, based on Proxmox and Yunohost: &lt;a href=&quot;https://err404.numericore.com/en/notes/file_server_training/start&quot; class=&quot;wikilink1&quot; title=&quot;notes:file_server_training:start&quot; data-wiki-id=&quot;notes:file_server_training:start&quot;&gt;File server training&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://err404.numericore.com/en/notes/file_server_training/start&quot; class=&quot;media&quot; title=&quot;notes:file_server_training:start&quot; data-wiki-id=&quot;notes:file_server_training:start&quot;&gt;&lt;img src=&quot;https://err404.numericore.com/en/_media/notes/files_server_on_a_old_laptop.jpg?w=800&amp;amp;tok=259d83&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;800&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://err404.numericore.com/en/notes/file_server_training/start&quot; class=&quot;media&quot; title=&quot;notes:file_server_training:start&quot; data-wiki-id=&quot;notes:file_server_training:start&quot;&gt;&lt;img src=&quot;https://err404.numericore.com/en/_media/notes/server-err404-tmplab.jpg?w=800&amp;amp;tok=973dcd&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;800&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
I draw from time to time: &lt;a href=&quot;https://err404.numericore.com/en/Illustrations/Boris_Ganne/start&quot; class=&quot;wikilink1&quot; title=&quot;Illustrations:Boris_Ganne:start&quot; data-wiki-id=&quot;Illustrations:Boris_Ganne:start&quot;&gt;Illustrations&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://err404.numericore.com/en/Illustrations/Boris_Ganne/start&quot; class=&quot;media&quot; title=&quot;Illustrations:Boris_Ganne:start&quot; data-wiki-id=&quot;Illustrations:Boris_Ganne:start&quot;&gt;&lt;img src=&quot;https://err404.numericore.com/en/_media/Illustrations/Boris_Ganne/1995/Boris_Ganne_-_1995_-_ch%C3%A2teau_au_dragon_-_lavis_%C3%A0_l_encre_de_chine.png?w=400&amp;amp;tok=e69ed1&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
I enjoy building computers in all kinds of boxes: &lt;a href=&quot;https://err404.numericore.com/en/DataBox/start&quot; class=&quot;wikilink1&quot; title=&quot;DataBox:start&quot; data-wiki-id=&quot;DataBox:start&quot;&gt;DataBox&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://err404.numericore.com/en/DataBox/start&quot; class=&quot;media&quot; title=&quot;DataBox:start&quot; data-wiki-id=&quot;DataBox:start&quot;&gt;&lt;img src=&quot;https://err404.numericore.com/en/_media/DataBox/DataBox_15_The_Black_case/databox_15_img_20221115_100912.jpg?w=400&amp;amp;tok=a8c2d5&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Various random &lt;a href=&quot;https://err404.numericore.com/en/Misc/start&quot; class=&quot;wikilink1&quot; title=&quot;Misc:start&quot; data-wiki-id=&quot;Misc:start&quot;&gt;stuff...&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://err404.numericore.com/en/Misc/start&quot; class=&quot;media&quot; title=&quot;Misc:start&quot; data-wiki-id=&quot;Misc:start&quot;&gt;&lt;img src=&quot;https://err404.numericore.com/en/_media/Misc/vrac.png?w=400&amp;amp;tok=fae021&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;If you don&amp;#039;t have your own file server by the time you&amp;#039;re 30, you&amp;#039;ve wasted your life...&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;If_you_don_t_have_your_own_file_server_by_the_time_you_re_30_you_ve_wasted_your_life&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;123-&amp;quot;} --&gt;</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Thu, 16 Apr 2026 11:06:08 +0000</pubDate>
        </item>
        <item>
            <title>start</title>
            <link>https://err404.numericore.com/en/Misc/start</link>
            <description>&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;tabs plugin_wrap&quot;&gt;&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://err404.numericore.com/en/Misc/&quot; class=&quot;urlextern&quot; title=&quot;https://err404.numericore.com/en/Misc/&quot;&gt;English&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://err404.numericore.com/fr/Divers/&quot; class=&quot;urlextern&quot; title=&quot;https://err404.numericore.com/fr/Divers/&quot;&gt;Français&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
&lt;img src=&quot;https://err404.numericore.com/en/_media/Misc/vrac.png&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;https://err404.numericore.com/en/_media/Misc/librewolf.png?w=20&amp;amp;tok=2f573c&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;20&quot; /&gt;&lt;img src=&quot;https://err404.numericore.com/en/_media/Misc/firefox.png?w=20&amp;amp;tok=9399b7&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;20&quot; /&gt;&lt;a href=&quot;https://err404.numericore.com/en/Misc/isolated_browser/start&quot; class=&quot;wikilink1&quot; title=&quot;Misc:isolated_browser:start&quot; data-wiki-id=&quot;Misc:isolated_browser:start&quot;&gt;isolated sessions for LibreWolf and Firefox&lt;/a&gt;&lt;br /&gt;
&lt;img src=&quot;https://err404.numericore.com/en/_media/Misc/librewolf.png?w=20&amp;amp;tok=2f573c&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;20&quot; /&gt;&lt;img src=&quot;https://err404.numericore.com/en/_media/Misc/firefox.png?w=20&amp;amp;tok=9399b7&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;20&quot; /&gt;&lt;a href=&quot;https://err404.numericore.com/en/Misc/browser_without_punycode&quot; class=&quot;wikilink1&quot; title=&quot;Misc:browser_without_punycode&quot; data-wiki-id=&quot;Misc:browser_without_punycode&quot;&gt;disabling punycode in LibreWolf or Firefox&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://err404.numericore.com/en/Misc/fail2ban/start&quot; class=&quot;wikilink1&quot; title=&quot;Misc:fail2ban:start&quot; data-wiki-id=&quot;Misc:fail2ban:start&quot;&gt;fail2ban&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://err404.numericore.com/en/Misc/luanti/start&quot; class=&quot;wikilink2&quot; title=&quot;Misc:luanti:start&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;Misc:luanti:start&quot;&gt;Luanti&lt;/a&gt; (formerly Minetest)&lt;br /&gt;
&lt;a href=&quot;https://err404.numericore.com/en/Misc/Unvanquished/start&quot; class=&quot;wikilink2&quot; title=&quot;Misc:Unvanquished:start&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;Misc:Unvanquished:start&quot;&gt;Unvanquished&lt;/a&gt; (Tremulous&amp;#039;s fork)&lt;br /&gt;
&lt;a href=&quot;https://err404.numericore.com/en/_detail/wiki/dokuwiki-128.png?id=Misc%3Astart&quot; class=&quot;media&quot; title=&quot;wiki:dokuwiki-128.png&quot;&gt;&lt;img src=&quot;https://err404.numericore.com/en/_media/wiki/dokuwiki-128.png?w=20&amp;amp;tok=3a72e8&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;20&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://err404.numericore.com/en/Misc/dokuwiki/css/start&quot; class=&quot;wikilink1&quot; title=&quot;Misc:dokuwiki:css:start&quot; data-wiki-id=&quot;Misc:dokuwiki:css:start&quot;&gt;Editable CSS in Dokuwiki&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://err404.numericore.com/en/Misc/tools/tinystatus.sh/start&quot; class=&quot;wikilink1&quot; title=&quot;Misc:tools:tinystatus.sh:start&quot; data-wiki-id=&quot;Misc:tools:tinystatus.sh:start&quot;&gt;tiny-status&lt;/a&gt; a tool for monitoring pages or other content
&lt;/p&gt;
</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Fri, 20 Mar 2026 09:57:34 +0000</pubDate>
        </item>
        <item>
            <title>firefox.png - created</title>
            <link>https://err404.numericore.com/en/?image=Misc%3Afirefox.png&amp;ns=Misc&amp;do=media</link>
            <description>&lt;img src=&quot;https://err404.numericore.com/en/_media/Misc/firefox.png?w=500&amp;amp;h=500&amp;amp;tok=265d8c&quot; alt=&quot;firefox.png&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Thu, 19 Mar 2026 18:57:23 +0000</pubDate>
        </item>
        <item>
            <title>librewolf.png - created</title>
            <link>https://err404.numericore.com/en/?image=Misc%3Alibrewolf.png&amp;ns=Misc&amp;do=media</link>
            <description>&lt;img src=&quot;https://err404.numericore.com/en/_media/Misc/librewolf.png?w=500&amp;amp;h=500&amp;amp;tok=0692f9&quot; alt=&quot;librewolf.png&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Thu, 19 Mar 2026 18:57:23 +0000</pubDate>
        </item>
        <item>
            <title>vrac.png - created</title>
            <link>https://err404.numericore.com/en/?image=Misc%3Avrac.png&amp;ns=Misc&amp;do=media</link>
            <description>&lt;img src=&quot;https://err404.numericore.com/en/_media/Misc/vrac.png?w=500&amp;amp;h=500&amp;amp;tok=be054a&quot; alt=&quot;vrac.png&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Thu, 19 Mar 2026 11:36:48 +0000</pubDate>
        </item>
        <item>
            <title>databox_18.jpg</title>
            <link>https://err404.numericore.com/en/?image=DataBox%3ADataBox_18%3Adatabox_18.jpg&amp;ns=DataBox%3ADataBox_18&amp;do=media</link>
            <description>&lt;img src=&quot;https://err404.numericore.com/en/_media/DataBox/DataBox_18/databox_18.jpg?w=500&amp;amp;h=500&amp;amp;tok=52c153&quot; alt=&quot;databox_18.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Tue, 17 Mar 2026 19:35:39 +0000</pubDate>
        </item>
        <item>
            <title>start</title>
            <link>https://err404.numericore.com/en/DataBox/start</link>
            <description>&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;tabs plugin_wrap&quot;&gt;&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://err404.numericore.com/en/DataBox/&quot; class=&quot;urlextern&quot; title=&quot;https://err404.numericore.com/en/DataBox/&quot;&gt;English&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://err404.numericore.com/fr/DataBox/&quot; class=&quot;urlextern&quot; title=&quot;https://err404.numericore.com/fr/DataBox/&quot;&gt;Français&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
I have made several &amp;quot;DataBoxes&amp;quot; and I am still making them.&lt;br /&gt;
Some have been destroyed; others are living a new life, in a new location…
&lt;/p&gt;
&lt;hr /&gt;

&lt;h2 class=&quot;sectionedit3&quot; id=&quot;DataBox_18&quot;&gt;DataBox 18&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;div id=&quot;plugin__gallery_08b1&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__08b1_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_18/databox_18.jpg?id=DataBox%3Astart&quot; title=&quot;Databox 18&quot; data-caption=&quot;&amp;lt;b&amp;gt;Databox 18&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_18/databox_18.jpg?w=1479&amp;amp;h=1200&amp;amp;tok=c4e4ba&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_18/databox_18.jpg?w=400&amp;amp;h=300&amp;amp;tok=a9ac3d&quot; alt=&quot;databox_18.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;
year: 2026&lt;br /&gt;
Case: AEG case&lt;br /&gt;
Motherboard: Dell&lt;br /&gt;
CPU: intel core i7 2600&lt;br /&gt;
RAM: 4GB&lt;br /&gt;
Weight: heavy&lt;br /&gt;
screen: bizarre almost square format&lt;br /&gt;
10 USB ports, some of which are present on the side&lt;br /&gt;
1 Display-port&lt;br /&gt;
1 VGA port&lt;br /&gt;
3 port sata&lt;br /&gt;
The motherboard graphics chipset is disappointing…
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DataBox 18&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;DataBox_18&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;281-611&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit4&quot; id=&quot;DataBox_17_E17&quot;&gt;DataBox 17 (E17)&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div id=&quot;plugin__gallery_b539&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__b539_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_17_E17/E17_transport.jpg?id=DataBox%3Astart&quot; title=&quot;E17 Transport&quot; data-caption=&quot;&amp;lt;b&amp;gt;E17 Transport&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_17_E17/E17_transport.jpg?w=562&amp;amp;h=1200&amp;amp;tok=1e1406&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_17_E17/E17_transport.jpg?w=400&amp;amp;h=300&amp;amp;tok=20bd80&quot; alt=&quot;E17_transport.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_17_E17/img_20250905_104207_1.jpg?id=DataBox%3Astart&quot; title=&quot;Img 20250905 104207 1&quot; data-caption=&quot;&amp;lt;b&amp;gt;Img 20250905 104207 1&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_17_E17/img_20250905_104207_1.jpg?w=1575&amp;amp;h=1200&amp;amp;tok=d813a2&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_17_E17/img_20250905_104207_1.jpg?w=400&amp;amp;h=300&amp;amp;tok=dbe3e3&quot; alt=&quot;img_20250905_104207_1.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_17_E17/img_20250905_104302_back.jpg?id=DataBox%3Astart&quot; title=&quot;Img 20250905 104302 Back&quot; data-caption=&quot;&amp;lt;b&amp;gt;Img 20250905 104302 Back&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_17_E17/img_20250905_104302_back.jpg?w=1600&amp;amp;h=736&amp;amp;tok=c2ee62&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_17_E17/img_20250905_104302_back.jpg?w=400&amp;amp;h=300&amp;amp;tok=beb85c&quot; alt=&quot;img_20250905_104302_back.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_17_E17/img_20250905_104437_case_open.jpg?id=DataBox%3Astart&quot; title=&quot;Img 20250905 104437 Case Open&quot; data-caption=&quot;&amp;lt;b&amp;gt;Img 20250905 104437 Case Open&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_17_E17/img_20250905_104437_case_open.jpg?w=1600&amp;amp;h=736&amp;amp;tok=8e63ad&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_17_E17/img_20250905_104437_case_open.jpg?w=400&amp;amp;h=300&amp;amp;tok=712054&quot; alt=&quot;img_20250905_104437_case_open.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_17_E17/img_20250905_104448_d%C3%A9tail_alim.jpg?id=DataBox%3Astart&quot; title=&quot;Img 20250905 104448 Détail Alim&quot; data-caption=&quot;&amp;lt;b&amp;gt;Img 20250905 104448 Détail Alim&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_17_E17/img_20250905_104448_d%C3%A9tail_alim.jpg?w=552&amp;amp;h=1200&amp;amp;tok=bfc773&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_17_E17/img_20250905_104448_d%C3%A9tail_alim.jpg?w=400&amp;amp;h=300&amp;amp;tok=19b72b&quot; alt=&quot;img_20250905_104448_détail_alim.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;
Year: 2021-2026&lt;br /&gt;
Case: an AEG drill case for the central unit, and a case of an electroportative tool for the screen&lt;br /&gt;
Motherboard: Dell&lt;br /&gt;
CPU: intel core i7&lt;br /&gt;
RAM: 32Go&lt;br /&gt;
weight: very heavy&lt;br /&gt;
screen: 1920x1080&lt;br /&gt;
ten USB ports, some of which are extended using USB extension cables&lt;br /&gt;
two Display-port&lt;br /&gt;
two sata ports&lt;br /&gt;
Two hooks on the black case allow you to carry the E17 as a backpack and access to the interfaces is easy by opening the databox from the back:
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DataBox 17 (E17)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;DataBox_17_E17&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;612-1131&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit5&quot; id=&quot;DataBox_16_Le_Cône&quot;&gt;DataBox 16 (Le Cône)&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div id=&quot;plugin__gallery_1239&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__1239_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_16_Le_c%C3%B4ne/Le_C%C3%B4ne_1690481077641.jpg?id=DataBox%3Astart&quot; title=&quot;Le Cône 1690481077641&quot; data-caption=&quot;&amp;lt;b&amp;gt;Le Cône 1690481077641&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_16_Le_c%C3%B4ne/Le_C%C3%B4ne_1690481077641.jpg?w=646&amp;amp;h=1200&amp;amp;tok=3d5770&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_16_Le_c%C3%B4ne/Le_C%C3%B4ne_1690481077641.jpg?w=400&amp;amp;h=300&amp;amp;tok=490108&quot; alt=&quot;Le_Cône_1690481077641.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_16_Le_c%C3%B4ne/Le_C%C3%B4ne_img_20230727_195935.jpg?id=DataBox%3Astart&quot; title=&quot;Le Cône Img 20230727 195935&quot; data-caption=&quot;&amp;lt;b&amp;gt;Le Cône Img 20230727 195935&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_16_Le_c%C3%B4ne/Le_C%C3%B4ne_img_20230727_195935.jpg?w=1600&amp;amp;h=1042&amp;amp;tok=7261fe&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_16_Le_c%C3%B4ne/Le_C%C3%B4ne_img_20230727_195935.jpg?w=400&amp;amp;h=300&amp;amp;tok=5918eb&quot; alt=&quot;Le_Cône_img_20230727_195935.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_16_Le_c%C3%B4ne/Le_C%C3%B4ne_img_20230727_195958.jpg?id=DataBox%3Astart&quot; title=&quot;Le Cône Img 20230727 195958&quot; data-caption=&quot;&amp;lt;b&amp;gt;Le Cône Img 20230727 195958&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_16_Le_c%C3%B4ne/Le_C%C3%B4ne_img_20230727_195958.jpg?w=1600&amp;amp;h=1080&amp;amp;tok=67a991&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_16_Le_c%C3%B4ne/Le_C%C3%B4ne_img_20230727_195958.jpg?w=400&amp;amp;h=300&amp;amp;tok=5b3c97&quot; alt=&quot;Le_Cône_img_20230727_195958.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;
Year: 2021&lt;br /&gt;
Case: Construction site cone&lt;br /&gt;
Motherboard: ?&lt;br /&gt;
CPU: Intel Celeron, 1 core, 2 threads&lt;br /&gt;
RAM: 1 &lt;abbr title=&quot;Gigabyte&quot;&gt;GB&lt;/abbr&gt;&lt;br /&gt;
Weight:&lt;br /&gt;
Two USB ports on the cone, four on the motherboard&lt;br /&gt;
One VGA port&lt;br /&gt;
One SATA port&lt;br /&gt;
Interior view, airflow is taken from the bottom (four wooden wedges are screwed under the base of the cone to allow air and cables to pass through).&lt;br /&gt;
The power supply will expel the hot air towards the top of the cone, which is open. The hard drive is 20°C warmer than the ambient air (it is not specifically ventilated).&lt;br /&gt;
It looks like it&amp;#039;s piled up in a jumble, but in fact it&amp;#039;s screwed and strapped. &lt;img src=&quot;https://err404.numericore.com/en/lib/images/smileys/cool.svg&quot; class=&quot;icon smiley&quot; alt=&quot;8-)&quot; /&gt;&lt;br /&gt;
This databox is currently installed at &lt;a href=&quot;https://tmplab.org&quot; class=&quot;urlextern&quot; title=&quot;https://tmplab.org&quot;&gt;tmplab&lt;/a&gt; and offers the &lt;a href=&quot;https://ltsp.org&quot; class=&quot;urlextern&quot; title=&quot;https://ltsp.org&quot;&gt;ltsp&lt;/a&gt; service (ltsp allows you to start multiple computers over the network and provide them with a coherent and synchronized desktop environment).
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DataBox 16 (Le C\u00f4ne)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;DataBox_16_Le_C\u00f4ne&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1132-2062&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit6&quot; id=&quot;DataBox_15_The_Black_case&quot;&gt;DataBox 15 (The Black case)&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
This DataBox is in a black case, Openings have been cut to allow airflow and cable routing.
&lt;/p&gt;
&lt;div id=&quot;plugin__gallery_cead&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__cead_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_15_The_Black_case/databox_15_air_flow.jpeg?id=DataBox%3Astart&quot; title=&quot;Databox 15 Air Flow&quot; data-caption=&quot;&amp;lt;b&amp;gt;Databox 15 Air Flow&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_15_The_Black_case/databox_15_air_flow.jpeg?w=887&amp;amp;h=1200&amp;amp;tok=425fa4&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_15_The_Black_case/databox_15_air_flow.jpeg?w=400&amp;amp;h=300&amp;amp;tok=3f4e4d&quot; alt=&quot;databox_15_air_flow.jpeg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_15_The_Black_case/databox_15_img_20221115_100912.jpg?id=DataBox%3Astart&quot; title=&quot;Databox 15 Img 20221115 100912&quot; data-caption=&quot;&amp;lt;b&amp;gt;Databox 15 Img 20221115 100912&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_15_The_Black_case/databox_15_img_20221115_100912.jpg?w=1600&amp;amp;h=736&amp;amp;tok=322ae0&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_15_The_Black_case/databox_15_img_20221115_100912.jpg?w=400&amp;amp;h=300&amp;amp;tok=d64b6d&quot; alt=&quot;databox_15_img_20221115_100912.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;
Year: 2020&lt;br /&gt;
Case: Black briefcase&lt;br /&gt;
Motherboard: Dell 790 (2023-present)&lt;br /&gt;
CPU: Intel Core i5 (2023-present)&lt;br /&gt;
RAM: 16GB DDR3 (2023-present)&lt;br /&gt;
10 USB ports&lt;br /&gt;
1 Display Port&lt;br /&gt;
1 VGA port&lt;br /&gt;
4 SATA ports
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DataBox 15 (The Black case)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;DataBox_15_The_Black_case&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2063-2436&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit7&quot; id=&quot;DataBox_14&quot;&gt;DataBox 14&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
This DataBox is housed in an aluminum case.
&lt;/p&gt;
&lt;div id=&quot;plugin__gallery_a8b8&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__a8b8_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_14/databox_14.jpg?id=DataBox%3Astart&quot; title=&quot;Databox 14&quot; data-caption=&quot;&amp;lt;b&amp;gt;Databox 14&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_14/databox_14.jpg&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_14/databox_14.jpg?w=400&amp;amp;h=300&amp;amp;tok=8b010e&quot; alt=&quot;databox_14.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;
Year: 2017&lt;br /&gt;
Service until 2020&lt;br /&gt;
Case:&lt;br /&gt;
Motherboard: Lime2&lt;br /&gt;
CPU: A20&lt;br /&gt;
RAM: ?&lt;br /&gt;
Weight: very light&lt;br /&gt;
Two USB ports&lt;br /&gt;
One HDMI port&lt;br /&gt;
One SATA port
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DataBox 14&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;DataBox_14&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;2437-2675&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit8&quot; id=&quot;DataBox_13&quot;&gt;DataBox 13&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
This DataBox is an orange screwdriver case from Ikea.
&lt;/p&gt;
&lt;div id=&quot;plugin__gallery_72ca&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__72ca_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;
Year: 2016&lt;br /&gt;
Case: Ikea&lt;br /&gt;
Motherboard: Laptop, without battery, keyboard, or case&lt;br /&gt;
CPU: Mobile Pentium&lt;br /&gt;
RAM: 512MB DDR-2&lt;br /&gt;
Weight: very light&lt;br /&gt;
Two USB ports&lt;br /&gt;
One HDMI port&lt;br /&gt;
One SATA port&lt;br /&gt;
One LCD screen
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DataBox 13&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;DataBox_13&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;2676-2982&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit9&quot; id=&quot;DataBox_12&quot;&gt;DataBox 12&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
This DataBox is a small mini-screwdriver case.&lt;br /&gt;
It is intended to become a server (Web, Jabber, SSH, Minetest).&lt;br /&gt;
The goal is to consume even less electricity than the current server.&lt;br /&gt;
It currently runs Android, but I plan to install Cubian, which is a GNU/Linux distribution based on Debian.
&lt;/p&gt;
&lt;div id=&quot;plugin__gallery_333a&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__333a_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;
Year: 2016&lt;br /&gt;
Case: Mini-screwdriver&lt;br /&gt;
Motherboard: Cubieboard II&lt;br /&gt;
CPU: Allwiner 10&lt;br /&gt;
RAM: 512MB DDR-2&lt;br /&gt;
Weight: Very light&lt;br /&gt;
Two USB ports&lt;br /&gt;
One HDMI port&lt;br /&gt;
One serial port&lt;br /&gt;
Plenty of pins to connect all sorts of things.
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DataBox 12&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;DataBox_12&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;2983-3538&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit10&quot; id=&quot;DataBox_11&quot;&gt;DataBox 11&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
This DataBox is a real portable computer (except I couldn&amp;#039;t find a way to fit the large keyboard inside). It has a 22.5-inch 1920x1080 screen.
&lt;/p&gt;
&lt;div id=&quot;plugin__gallery_55fd&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__55fd_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_11/img_20160225_152024.jpg?id=DataBox%3Astart&quot; title=&quot;ASCII&quot; data-caption=&quot;&amp;lt;b&amp;gt;ASCII&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_11/img_20160225_152024.jpg?w=1600&amp;amp;h=1159&amp;amp;tok=ba2651&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_11/img_20160225_152024.jpg?w=400&amp;amp;h=300&amp;amp;tok=749d74&quot; alt=&quot;img_20160225_152024.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_11/img_20160225_152307.jpg?id=DataBox%3Astart&quot; title=&quot;ASCII&quot; data-caption=&quot;&amp;lt;b&amp;gt;ASCII&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_11/img_20160225_152307.jpg?w=1485&amp;amp;h=1200&amp;amp;tok=fedc01&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_11/img_20160225_152307.jpg?w=400&amp;amp;h=300&amp;amp;tok=a77c8e&quot; alt=&quot;img_20160225_152307.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_11/img_20160225_152544.jpg?id=DataBox%3Astart&quot; title=&quot;ASCII&quot; data-caption=&quot;&amp;lt;b&amp;gt;ASCII&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_11/img_20160225_152544.jpg?w=1367&amp;amp;h=1200&amp;amp;tok=de3b41&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_11/img_20160225_152544.jpg?w=400&amp;amp;h=300&amp;amp;tok=628b30&quot; alt=&quot;img_20160225_152544.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;
Year: 2015&lt;br /&gt;
Case: Hilti&lt;br /&gt;
Screen: 1920x1080&lt;br /&gt;
Motherboard: Intel, rated to consume less than 30W&lt;br /&gt;
CPU: Intel Celeron, 1 core, 2 threads&lt;br /&gt;
RAM: 1GB DDR-2&lt;br /&gt;
Weight: Quite heavy
&lt;/p&gt;

&lt;p&gt;
Two USB ports and the audio ports are extended for easy access without opening the case.&lt;br /&gt;
A WiFi card is installed on the PCI slot (the plastic case appears transparent to microwaves).
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DataBox 11&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;DataBox_11&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;3539-4093&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit11&quot; id=&quot;DataBox_10&quot;&gt;DataBox 10&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div id=&quot;plugin__gallery_76b6&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__76b6_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_10/img_20151101_150315.jpg?id=DataBox%3Astart&quot; title=&quot;ASCII&quot; data-caption=&quot;&amp;lt;b&amp;gt;ASCII&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_10/img_20151101_150315.jpg?w=900&amp;amp;h=1200&amp;amp;tok=179e95&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_10/img_20151101_150315.jpg?w=400&amp;amp;h=300&amp;amp;tok=ed324a&quot; alt=&quot;img_20151101_150315.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_10/img_20151101_150522.jpg?id=DataBox%3Astart&quot; title=&quot;ASCII&quot; data-caption=&quot;&amp;lt;b&amp;gt;ASCII&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_10/img_20151101_150522.jpg?w=1600&amp;amp;h=1200&amp;amp;tok=b002b0&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_10/img_20151101_150522.jpg?w=400&amp;amp;h=300&amp;amp;tok=944c99&quot; alt=&quot;img_20151101_150522.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;
Year: 2014&lt;br /&gt;
Case: Hilti&lt;br /&gt;
Display:&lt;br /&gt;
Motherboard: Two motherboards&lt;br /&gt;
CPU: Two 1.8GHz processors&lt;br /&gt;
RAM: Two 1GB processors&lt;br /&gt;
Weight: Very heavy
&lt;/p&gt;

&lt;p&gt;
This DataBox contains two motherboards and is designed for bit swapping (but has not yet been used). It must be used open to dissipate heat.
&lt;/p&gt;

&lt;p&gt;
Each motherboard contains:&lt;br /&gt;
- a CPU clocked at 1.8GHz and 1GB of RAM&lt;br /&gt;
- a hard drive for the system and possibly another hard drive for data&lt;br /&gt;
- a graphics card on the AGP port&lt;br /&gt;
- 4 network cards (in addition to the one already present on the motherboard)
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DataBox 10&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;DataBox_10&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;4094-4682&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit12&quot; id=&quot;DataBox_9_FergusL&quot;&gt;DataBox 9 (FergusL)&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
I dedicate this ninth DataBox to FergusL, who provided the motherboard and the USB Wi-Fi thingy (which, among other things, is used to wedge the motherboard).
&lt;/p&gt;
&lt;div id=&quot;plugin__gallery_b697&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__b697_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_9_FergusL/img_20160225_151715.jpg?id=DataBox%3Astart&quot; title=&quot;ASCII&quot; data-caption=&quot;&amp;lt;b&amp;gt;ASCII&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_9_FergusL/img_20160225_151715.jpg?w=1429&amp;amp;h=1200&amp;amp;tok=4217ca&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_9_FergusL/img_20160225_151715.jpg?w=400&amp;amp;h=300&amp;amp;tok=985f31&quot; alt=&quot;img_20160225_151715.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_9_FergusL/img_20160225_151749.jpg?id=DataBox%3Astart&quot; title=&quot;ASCII&quot; data-caption=&quot;&amp;lt;b&amp;gt;ASCII&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_9_FergusL/img_20160225_151749.jpg?w=1089&amp;amp;h=1200&amp;amp;tok=7fa587&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_9_FergusL/img_20160225_151749.jpg?w=400&amp;amp;h=300&amp;amp;tok=96a145&quot; alt=&quot;img_20160225_151749.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;
Year: 2013&lt;br /&gt;
In use until May 2016&lt;br /&gt;
Case: HDPE (High-Density Polyethylene)&lt;br /&gt;
Screen:&lt;br /&gt;
Motherboard: ?&lt;br /&gt;
CPU: Intel Pentium III clocked at 1.6GHz (forced overclocked)&lt;br /&gt;
RAM: 1GB&lt;br /&gt;
The CPU runs at 1.6GHz, and no one I know has managed to get it to run at 1.3GHz, which is the frequency listed on the CPU itself. This makes this DataBox unreliable if it isn&amp;#039;t over-ventilated (the first version crashed within 30 minutes).&lt;br /&gt;
Due to its instability (it crashed within a few hours, or even days), I have decided to discontinue this DataBox, and various components will be salvaged for reuse on other equipment.
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DataBox 9 (FergusL)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;DataBox_9_FergusL&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;4683-5513&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit13&quot; id=&quot;DataBox_8_Terry_Pratchett&quot;&gt;DataBox 8 (Terry Pratchett)&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
I dedicate this eighth DataBox to &lt;a href=&quot;http://fr.wikipedia.org/wiki/Terry_Pratchett&quot; class=&quot;urlextern&quot; title=&quot;http://fr.wikipedia.org/wiki/Terry_Pratchett&quot;&gt;Terry Pratchett&lt;/a&gt;, whose &amp;quot;Annals of the Discworld&amp;quot; will remain a reference for me.
&lt;/p&gt;
&lt;div id=&quot;plugin__gallery_7645&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__7645_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_8_Terry_Pratchett/IMG20150401175324.jpeg?id=DataBox%3Astart&quot; title=&quot;IMG20150401175324&quot; data-caption=&quot;&amp;lt;b&amp;gt;IMG20150401175324&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_8_Terry_Pratchett/IMG20150401175324.jpeg&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_8_Terry_Pratchett/IMG20150401175324.jpeg?w=400&amp;amp;h=300&amp;amp;tok=725169&quot; alt=&quot;IMG20150401175324.jpeg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_8_Terry_Pratchett/IMG20150401175356.jpeg?id=DataBox%3Astart&quot; title=&quot;IMG20150401175356&quot; data-caption=&quot;&amp;lt;b&amp;gt;IMG20150401175356&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_8_Terry_Pratchett/IMG20150401175356.jpeg&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_8_Terry_Pratchett/IMG20150401175356.jpeg?w=400&amp;amp;h=300&amp;amp;tok=3782b3&quot; alt=&quot;IMG20150401175356.jpeg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;
Year: 2012&lt;br /&gt;
Serviced until 2016&lt;br /&gt;
Case: Bosh&lt;br /&gt;
Display:&lt;br /&gt;
Motherboard: Intel, rated for less than 30W power consumption&lt;br /&gt;
CPU: Intel Celeron, 1 core, 2 threads&lt;br /&gt;
RAM: 1GB DDR-2&lt;br /&gt;
Two USB ports and the audio ports are extended for easy access without opening the case.&lt;br /&gt;
The IDE hard drive was replaced with a SATA hard drive in 2015.&lt;br /&gt;
The motherboard has a VGA output so this DataBox can be used as a low-power server or as a desktop workstation with its own monitor.&lt;br /&gt;
A WiFi card is installed in the PCI slot (the plastic case seems transparent to microwaves).
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DataBox 8 (Terry Pratchett)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;DataBox_8_Terry_Pratchett&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;5514-6319&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit14&quot; id=&quot;DataBox_7&quot;&gt;DataBox 7&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div id=&quot;plugin__gallery_80bf&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__80bf_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_7/DataBox_DSC00217.jpeg?id=DataBox%3Astart&quot; title=&quot;DataBox DSC00217&quot; data-caption=&quot;&amp;lt;b&amp;gt;DataBox DSC00217&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_7/DataBox_DSC00217.jpeg?w=1220&amp;amp;h=1200&amp;amp;tok=d5cd84&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_7/DataBox_DSC00217.jpeg?w=400&amp;amp;h=300&amp;amp;tok=c7b534&quot; alt=&quot;DataBox_DSC00217.jpeg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;
Year: 2012&lt;br /&gt;
In use until 2015&lt;br /&gt;
Case: Small case&lt;br /&gt;
Display:&lt;br /&gt;
Motherboard: Intel, rated to consume less than 30W (I have a second one)&lt;br /&gt;
CPU: Intel Celeron, 1 core, 2 threads&lt;br /&gt;
RAM: 1GB DDR-2&lt;br /&gt;
Two USB ports are extended for easy access without opening the case.&lt;br /&gt;
The IDE hard drive was replaced with a SATA hard drive in 2015.&lt;br /&gt;
Although the motherboard has a VGA output, it was used as a server, so no display was connected. A Wi-Fi card is installed in the PCI slot, but the antenna is at the end of a 70cm long cable.&lt;br /&gt;
The IDE hard drive is used for the system and part of the /home drive, while a second SATA hard drive is used for storage outside of /home.&lt;br /&gt;
Since the whole thing tends to get a little hotter, especially in summer, I equipped the case with an exhaust fan regulated by the temperature of the extracted air.
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DataBox 7&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;DataBox_7&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;6320-7190&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit15&quot; id=&quot;DataBox_6_the_hamster_cage&quot;&gt;DataBox 6 (the hamster cage)&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div id=&quot;plugin__gallery_3d15&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__3d15_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_6_the_hamster_cage/dsc00163.jpg?id=DataBox%3Astart&quot; title=&quot;Dsc00163&quot; data-caption=&quot;&amp;lt;b&amp;gt;Dsc00163&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_6_the_hamster_cage/dsc00163.jpg?w=1600&amp;amp;h=1200&amp;amp;tok=7d96bf&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_6_the_hamster_cage/dsc00163.jpg?w=400&amp;amp;h=300&amp;amp;tok=80b43d&quot; alt=&quot;dsc00163.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_6_the_hamster_cage/dsc00164.jpg?id=DataBox%3Astart&quot; title=&quot;Dsc00164&quot; data-caption=&quot;&amp;lt;b&amp;gt;Dsc00164&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_6_the_hamster_cage/dsc00164.jpg?w=1600&amp;amp;h=1200&amp;amp;tok=1c7b35&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_6_the_hamster_cage/dsc00164.jpg?w=400&amp;amp;h=300&amp;amp;tok=e87598&quot; alt=&quot;dsc00164.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;
Year: 2012&lt;br /&gt;
In use until 2015&lt;br /&gt;
Case: Hamster cage&lt;br /&gt;
Screen:&lt;br /&gt;
Motherboard:&lt;br /&gt;
CPU: AMD 1200+&lt;br /&gt;
RAM: 2 x 512MB SDRAM&lt;br /&gt;
Weight: uh, it&amp;#039;s mostly bulky&lt;br /&gt;
The motherboard was replaced in March 2015 due to a lack of power and stability:&lt;br /&gt;
PCI: a Wi-Fi card, an Ethernet network card&lt;br /&gt;
AGP: a graphics card&lt;br /&gt;
Video card integrated into the motherboard&lt;br /&gt;
Motherboard:&lt;br /&gt;
CPU: AMD 2500+&lt;br /&gt;
RAM: 2 x 512MB DDR&lt;br /&gt;
Weight: uh, it&amp;#039;s mostly bulky&lt;br /&gt;
The cage can Open to provide access to the hard drives, the hatch provides access to the switch and connectors.&lt;br /&gt;
This sixth DataBox was in service at &lt;a href=&quot;http://garexp.org/&quot; class=&quot;urlextern&quot; title=&quot;http://garexp.org/&quot;&gt;Gare XP&lt;/a&gt; and was called &amp;quot;Switchman&amp;quot; because it served as a router.&lt;br /&gt;
Part of the circuit for the GareXP&amp;#039;s little electric train is expected to run inside. It is planned to add a few webcams to display passing trains or the fish in the aquarium on one of the screens, with one screen reserved for displaying information during GareXP events.&lt;br /&gt;
Yes, the photo is blurry…
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DataBox 6 (the hamster cage)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;DataBox_6_the_hamster_cage&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;7191-8222&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit16&quot; id=&quot;DataBox_5_recycle_bin&quot;&gt;DataBox 5 (recycle bin)&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div id=&quot;plugin__gallery_194e&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__194e_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_5_recycle_bin/dsc00145.jpg?id=DataBox%3Astart&quot; title=&quot;Dsc00145&quot; data-caption=&quot;&amp;lt;b&amp;gt;Dsc00145&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_5_recycle_bin/dsc00145.jpg?w=1600&amp;amp;h=1200&amp;amp;tok=e2a465&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_5_recycle_bin/dsc00145.jpg?w=400&amp;amp;h=300&amp;amp;tok=233078&quot; alt=&quot;dsc00145.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_5_recycle_bin/dsc00146.jpg?id=DataBox%3Astart&quot; title=&quot;Dsc00146&quot; data-caption=&quot;&amp;lt;b&amp;gt;Dsc00146&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_5_recycle_bin/dsc00146.jpg?w=1600&amp;amp;h=1200&amp;amp;tok=81acf0&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_5_recycle_bin/dsc00146.jpg?w=400&amp;amp;h=300&amp;amp;tok=dac9a1&quot; alt=&quot;dsc00146.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;
Year: 2012&lt;br /&gt;
In use until 2012&lt;br /&gt;
Case: plastic wastebasket&lt;br /&gt;
No screen, VGA output&lt;br /&gt;
Motherboard: a small motherboard that fits in the recycle bin&lt;br /&gt;
CPU: ?&lt;br /&gt;
RAM: 512MB&lt;br /&gt;
Weight: not too heavy, it&amp;#039;s for a server, not intended to be transported often&lt;br /&gt;
I added a fan to force the air to circulate in a favorable direction.&lt;br /&gt;
This DataBox was designed to withstand the elements; the only opening is at the bottom. The PC being at the bottom of the recycle bin, and the recycle bin propped up on two bricks or other support.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DataBox 5 (recycle bin)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;DataBox_5_recycle_bin&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;8223-8809&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit17&quot; id=&quot;DataBox_4&quot;&gt;DataBox 4&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div id=&quot;plugin__gallery_21d5&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__21d5_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_4/img_9471.jpg.r1024.jpg?id=DataBox%3Astart&quot; title=&quot;Img 9471.jpg.r1024&quot; data-caption=&quot;&amp;lt;b&amp;gt;Img 9471.jpg.r1024&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_4/img_9471.jpg.r1024.jpg&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_4/img_9471.jpg.r1024.jpg?w=400&amp;amp;h=300&amp;amp;tok=1f972c&quot; alt=&quot;img_9471.jpg.r1024.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_4/img_172654.jpg?id=DataBox%3Astart&quot; title=&quot;Img 172654&quot; data-caption=&quot;&amp;lt;b&amp;gt;Img 172654&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_4/img_172654.jpg?w=1600&amp;amp;h=1200&amp;amp;tok=b34e7c&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_4/img_172654.jpg?w=400&amp;amp;h=300&amp;amp;tok=0903a3&quot; alt=&quot;img_172654.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;
Year: 2012&lt;br /&gt;
Case: AEG&lt;br /&gt;
Screen: 1024x768 LCD&lt;br /&gt;
Motherboard:&lt;br /&gt;
CPU:&lt;br /&gt;
RAM: 2GB (2 x 1GB DDR4)&lt;br /&gt;
Two USB ports are attached to the top, along with the power button and LEDs.&lt;br /&gt;
Drill cases often have the advantage of having an ergonomic handle for carrying.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DataBox 4&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;DataBox_4&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;8810-9106&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit18&quot; id=&quot;DataBox_3&quot;&gt;DataBox 3&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div id=&quot;plugin__gallery_bcf6&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__bcf6_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_3/DataBox_IMG_0136.jpeg?id=DataBox%3Astart&quot; title=&quot;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&quot; data-caption=&quot;&amp;lt;b&amp;gt;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_3/DataBox_IMG_0136.jpeg&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_3/DataBox_IMG_0136.jpeg?w=400&amp;amp;h=300&amp;amp;tok=1b3533&quot; alt=&quot;DataBox_IMG_0136.jpeg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;
Year: 2012&lt;br /&gt;
Service until 2013&lt;br /&gt;
Case: Bosh&lt;br /&gt;
Screen: 1024x768 powered by 12V&lt;br /&gt;
Motherboard: Intel, rated for less than 30W power consumption&lt;br /&gt;
CPU: Intel Celeron, 1 core, 2 threads&lt;br /&gt;
RAM: 1GB DDR-2
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Two straps allow this DataBox to be carried like a backpack.&lt;br /&gt;
Two bent brackets allow the keyboard to be carried during transport. To store the mouse, simply open the case and swing it inside (there&amp;#039;s plenty of room).&lt;br /&gt;
In the photo, you can see that the screen isn&amp;#039;t very straight (after transport), a point that was never completed (properly and permanently securing the screen).&lt;br /&gt;
The motherboard is powered by a picoPSU that runs on 12V, and the screen is also powered by 12V. I wanted to be able to use this DataBox from a vehicle&amp;#039;s 12V outlet, as the entire enclosure consumes a maximum of 75W.
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DataBox 3&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;DataBox_3&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:18,&amp;quot;range&amp;quot;:&amp;quot;9107-9956&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit19&quot; id=&quot;False_DataBox_25&quot;&gt;False DataBox 2.5&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div id=&quot;plugin__gallery_fb7c&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__fb7c_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_2.5/5967228791_9a362521c7_o-x.jpeg?id=DataBox%3Astart&quot; title=&quot;QVNDSUkAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA=&quot; data-caption=&quot;&amp;lt;b&amp;gt;QVNDSUkAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA=&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_2.5/5967228791_9a362521c7_o-x.jpeg?w=779&amp;amp;h=1200&amp;amp;tok=66ab40&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_2.5/5967228791_9a362521c7_o-x.jpeg?w=400&amp;amp;h=300&amp;amp;tok=3f26ff&quot; alt=&quot;5967228791_9a362521c7_o-x.jpeg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;
Year: 2010&lt;br /&gt;
Service until 2012&lt;br /&gt;
Case: Toshiba&lt;br /&gt;
Screen: 1024x768 LCD&lt;br /&gt;
Motherboard:&lt;br /&gt;
CPU: Pentium M&lt;br /&gt;
RAM: 512MB (2 x 256MB DDR)&lt;br /&gt;
Since the screen hinges were broken, I removed the screen and turned it over.&lt;br /&gt;
A glass panel salvaged from a flatbed scanner protects the screen.&lt;br /&gt;
The battery lasts about 10 minutes, which is enough to move from one electrical outlet to another.&lt;br /&gt;
In this configuration, most ports are accessible from the top, which is convenient, except for the audio port, which is located at the bottom.&lt;br /&gt;
The CD-ROM drive is removed to save weight and allow access to certain switches.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;False DataBox 2.5&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;False_DataBox_25&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:19,&amp;quot;range&amp;quot;:&amp;quot;9957-10609&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit20&quot; id=&quot;DataBox_2&quot;&gt;DataBox 2&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div id=&quot;plugin__gallery_37ad&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__37ad_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_2/pict0017.jpg?id=DataBox%3Astart&quot; title=&quot;Pict0017&quot; data-caption=&quot;&amp;lt;b&amp;gt;Pict0017&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_2/pict0017.jpg?w=1600&amp;amp;h=1200&amp;amp;tok=2f412a&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_2/pict0017.jpg?w=400&amp;amp;h=300&amp;amp;tok=819786&quot; alt=&quot;pict0017.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;
Year: ?&lt;br /&gt;
Service until ?&lt;br /&gt;
PC case: metal&lt;br /&gt;
Screen: 1024x768 LCD (a glass panel will be placed in front of the screen to protect it)&lt;br /&gt;
Motherboard: ?&lt;br /&gt;
CPU: ?&lt;br /&gt;
RAM: ?&lt;br /&gt;
Weight: heavy &lt;img src=&quot;https://err404.numericore.com/en/lib/images/smileys/biggrin.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:-D&quot; /&gt;&lt;br /&gt;
The keyboard has a practical metal base for attaching it to the case during transport or storage.&lt;br /&gt;
I added a magnet to the mouse so it could be attached to the case when transporting or storing.
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DataBox 2&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;DataBox_2&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:20,&amp;quot;range&amp;quot;:&amp;quot;10610-11038&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit21&quot; id=&quot;DataBox_1&quot;&gt;DataBox 1&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
My first experience with a complete, portable PC (I didn&amp;#039;t have a laptop) was taking it with me several Tuesday evenings to the weekly &lt;a href=&quot;https://err404.numericore.com/en/divers/LeLoop/start&quot; class=&quot;wikilink2&quot; title=&quot;divers:LeLoop:start&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;divers:LeLoop:start&quot;&gt;Loop&lt;/a&gt; meeting when Le Loop was hosted at &amp;quot;La Suite&amp;quot; (Le Loop was called &amp;quot;La suite logique&amp;quot; before taking its current name).
&lt;/p&gt;
&lt;div id=&quot;plugin__gallery_15d5&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__15d5_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_1/dcp02228-x.jpg?id=DataBox%3Astart&quot; title=&quot;Dcp02228-x&quot; data-caption=&quot;&amp;lt;b&amp;gt;Dcp02228-x&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_1/dcp02228-x.jpg&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_1/dcp02228-x.jpg?w=400&amp;amp;h=300&amp;amp;tok=e04db1&quot; alt=&quot;dcp02228-x.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/DataBox/DataBox_1/dcp02240.jpg?id=DataBox%3Astart&quot; title=&quot;Dcp02240&quot; data-caption=&quot;&amp;lt;b&amp;gt;Dcp02240&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-2f3a4eaa9590d988fa6680faa2c9]&quot; data-url=&quot;/en/_media/DataBox/DataBox_1/dcp02240.jpg&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/DataBox/DataBox_1/dcp02240.jpg?w=400&amp;amp;h=300&amp;amp;tok=4cb8ca&quot; alt=&quot;dcp02240.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;
Year: 2009&lt;br /&gt;
Service until ?&lt;br /&gt;
PC case: metal&lt;br /&gt;
Screen: 1024x768 LCD&lt;br /&gt;
Motherboard: ?&lt;br /&gt;
CPU?&lt;br /&gt;
RAM?&lt;br /&gt;
Weight: heavy &lt;img src=&quot;https://err404.numericore.com/en/lib/images/smileys/biggrin.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:-D&quot; /&gt;&lt;br /&gt;
The keyboard has a handy metal base for attaching it to the case during transport or storage.&lt;br /&gt;
I added a magnet to the mouse so it can be attached to the case during transport or storage.&lt;br /&gt;
Simply remove the side panel to access the screen.&lt;br /&gt;
And simply tilt the screen to access the rest of the case&amp;#039;s components.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DataBox 1&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;DataBox_1&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:21,&amp;quot;range&amp;quot;:&amp;quot;11039-&amp;quot;} --&gt;</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Tue, 17 Mar 2026 18:22:58 +0000</pubDate>
        </item>
        <item>
            <title>server-err404-tmplab.jpg - created</title>
            <link>https://err404.numericore.com/en/?image=notes%3Aserver-err404-tmplab.jpg&amp;ns=notes&amp;do=media</link>
            <description>&lt;img src=&quot;https://err404.numericore.com/en/_media/notes/server-err404-tmplab.jpg?w=500&amp;amp;h=500&amp;amp;tok=bf22f4&quot; alt=&quot;server-err404-tmplab.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Sat, 14 Mar 2026 00:19:50 +0000</pubDate>
        </item>
        <item>
            <title>start</title>
            <link>https://err404.numericore.com/en/Misc/dokuwiki/css/start</link>
            <description>&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;tabs plugin_wrap&quot;&gt;&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://err404.numericore.com/en/Misc/dokuwiki/css/&quot; class=&quot;urlextern&quot; title=&quot;https://err404.numericore.com/en/Misc/dokuwiki/css/&quot;&gt;English&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://err404.numericore.com/fr/Divers/dokuwiki/css/&quot; class=&quot;urlextern&quot; title=&quot;https://err404.numericore.com/fr/Divers/dokuwiki/css/&quot;&gt;Français&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
In Dokuwiki (or any other cms), I would like to be able to modify style sheets from Dokuwiki itself, online.
&lt;/p&gt;

&lt;p&gt;
Dokuwiki style sheets are located in &lt;code&gt;/var/www/dokuwiki/lib/tpl/dokuwiki/css/&lt;/code&gt; and are organized in several files.
&lt;/p&gt;

&lt;p&gt;
quite simply, you &amp;quot;just&amp;quot; need to create links to the files to turn them into wiki pages:
&lt;/p&gt;

&lt;p&gt;
command-line example under linux:
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;ln&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-s&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lib&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tpl&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;css&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;basic.less     &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;pages&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;wiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;basic.less.txt
&lt;span class=&quot;kw2&quot;&gt;ln&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-s&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lib&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tpl&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;css&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;content.less   &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;pages&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;wiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;content.less.txt
&lt;span class=&quot;kw2&quot;&gt;ln&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-s&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lib&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tpl&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;css&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;design.less    &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;pages&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;wiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;design.less.txt
&lt;span class=&quot;kw2&quot;&gt;ln&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-s&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lib&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tpl&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;css&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mobile.less    &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;pages&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;wiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mobile.less.txt
&lt;span class=&quot;kw2&quot;&gt;ln&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-s&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lib&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tpl&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;css&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;pagetools.less &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;pages&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;wiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;pagetools.less.txt
&lt;span class=&quot;kw2&quot;&gt;ln&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-s&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lib&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tpl&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;css&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;structure.less &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;pages&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;wiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;structure.less.txt
&lt;span class=&quot;kw2&quot;&gt;ln&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-s&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lib&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tpl&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;css&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;usertools.less &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;pages&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;wiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;usertools.less.txt&lt;/pre&gt;

&lt;p&gt;
If you use the Mindthedark template then you will execute:
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;ln&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-s&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lib&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tpl&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mindthedark&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;css&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;basic.less     &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;pages&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;wiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;basic.less.txt
&lt;span class=&quot;kw2&quot;&gt;ln&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-s&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lib&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tpl&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mindthedark&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;css&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;content.less   &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;pages&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;wiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;content.less.txt
&lt;span class=&quot;kw2&quot;&gt;ln&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-s&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lib&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tpl&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mindthedark&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;css&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;design.less    &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;pages&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;wiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;design.less.txt
&lt;span class=&quot;kw2&quot;&gt;ln&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-s&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lib&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tpl&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mindthedark&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;css&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mobile.less    &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;pages&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;wiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mobile.less.txt
&lt;span class=&quot;kw2&quot;&gt;ln&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-s&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lib&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tpl&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mindthedark&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;css&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;pagetools.less &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;pages&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;wiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;pagetools.less.txt
&lt;span class=&quot;kw2&quot;&gt;ln&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-s&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lib&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tpl&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mindthedark&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;css&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;structure.less &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;pages&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;wiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;structure.less.txt
&lt;span class=&quot;kw2&quot;&gt;ln&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-s&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lib&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tpl&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mindthedark&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;css&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;usertools.less &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;data&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;pages&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;wiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;usertools.less.txt&lt;/pre&gt;

&lt;p&gt;
This allows you to modify style sheets directly from the Dokuwiki.
&lt;/p&gt;
</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Sun, 08 Mar 2026 17:00:39 +0000</pubDate>
        </item>
        <item>
            <title>rpsni</title>
            <link>https://err404.numericore.com/en/notes/file_server_training/rpsni</link>
            <description>&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;tabs plugin_wrap&quot;&gt;&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://err404.numericore.com/en//notes/file_server_training/rpsni&quot; class=&quot;urlextern&quot; title=&quot;https://err404.numericore.com/en//notes/file_server_training/rpsni&quot;&gt;English&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://err404.numericore.com/fr//notes/formation_serveur_de_fichiers/rpsni&quot; class=&quot;urlextern&quot; title=&quot;https://err404.numericore.com/fr//notes/formation_serveur_de_fichiers/rpsni&quot;&gt;Français&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
You only need a reverse proxy &lt;strong&gt;if you don&amp;#039;t have ipv6&lt;/strong&gt;.&lt;br /&gt;
and as not everyone has ipv6 yet (there are even people who will disable ipv6 on their machine…) we&amp;#039;ll set up a reverse proxy:
&lt;/p&gt;

&lt;p&gt;
simply install a Haproxy server, either in the hypervisor or in a virtual machine.
&lt;/p&gt;

&lt;p&gt;
it&amp;#039;s preferable to install the reverse proxy in a virtual machine or container rather than in the hypervisor, to make backups easier.
&lt;/p&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_button plugin_wrap&quot;&gt;
&lt;p&gt;
and in my case I chose to install the reverse proxy in the same machine that does &lt;a href=&quot;https://err404.numericore.com/en/notes/file_server_training/dns&quot; class=&quot;wikilink1&quot; title=&quot;notes:file_server_training:dns&quot; data-wiki-id=&quot;notes:file_server_training:dns&quot;&gt;authoritative domain name server&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
in my case, virtual machines and containers have ipv6, so domain names go directly to these machines, no need for a &lt;em&gt;reverse proxy sni&lt;/em&gt; for ipv6.&lt;br /&gt;
the problem is that I only have &lt;strong&gt;one public ipv4&lt;/strong&gt; (my ISP&amp;#039;s box) and I&amp;#039;m obliged to share this single public ipv4 for all my virtual machines or containers.&lt;br /&gt;
it&amp;#039;s to enable this cohabitation that I install a reverse proxy sni.
&lt;/p&gt;

&lt;p&gt;
with ipv6, it&amp;#039;s simple: all the machines have direct access to the Internet and can be reached directly from the Internet, they&amp;#039;re independent and don&amp;#039;t have port-sharing problems, so no address translation problems.
&lt;/p&gt;
&lt;div id=&quot;plugin__gallery_7fcc&quot; class=&quot;plugin-gallery align-center&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__7fcc_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(300px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot; style=&quot;max-width: 300px; &quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/notes/file_server_training/ipv4_vs_ipv6_en_.svg?id=notes%3Afile_server_training%3Arpsni&quot; title=&quot;Ipv4 Vs Ipv6 En &quot; data-caption=&quot;&amp;lt;b&amp;gt;Ipv4 Vs Ipv6 En &amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-51955d87a3727bf72b64968dca73]&quot; data-url=&quot;/en/_media/notes/file_server_training/ipv4_vs_ipv6_en_.svg&quot;&gt;&lt;img width=&quot;600&quot; height=&quot;600&quot; src=&quot;/en/_media/notes/file_server_training/ipv4_vs_ipv6_en_.svg?w=600&amp;amp;h=600&amp;amp;tok=8ee9d5&quot; alt=&quot;ipv4_vs_ipv6_en_.svg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h1 class=&quot;sectionedit5&quot; id=&quot;Reverse_proxy_sni&quot;&gt;Reverse proxy sni&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Install the &lt;code&gt;haproxy&lt;/code&gt; package available in Debian &lt;code&gt;apt install haproxy&lt;/code&gt;.
&lt;/p&gt;

&lt;p&gt;
Only one file to edit: 
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;/etc/haproy/haproxy.cfg&lt;/code&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code conf&quot;&gt;global
        log /dev/log    local0 info
        log /dev/log    local1 info
        chroot /var/lib/haproxy
        stats socket /run/haproxy/admin.sock mode 660 level admin
        stats timeout 30s
        user haproxy
        group haproxy
        daemon
&amp;nbsp;
&amp;nbsp;
        # Default SSL material locations
       ca-base /etc/ssl/certs
       crt-base /etc/ssl/private
&amp;nbsp;
        # See: https://ssl-config.mozilla.org/#server=haproxy&amp;amp;server-version=2.0.3&amp;amp;config=intermediate
        ssl-default-bind-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
        ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
        ssl-default-bind-options ssl-min-ver TLSv1.2 no-tls-tickets
&amp;nbsp;
defaults
        log     global
        option  dontlognull
        timeout connect 5000
        timeout client  50000
        timeout server  50000
        errorfile 400 /etc/haproxy/errors/400.http
        errorfile 403 /etc/haproxy/errors/403.http
        errorfile 408 /etc/haproxy/errors/408.http
        errorfile 500 /etc/haproxy/errors/500.http
        errorfile 502 /etc/haproxy/errors/502.http
        errorfile 503 /etc/haproxy/errors/503.http
        errorfile 504 /etc/haproxy/errors/504.http
&amp;nbsp;
&amp;nbsp;
############################
&amp;nbsp;
frontend http_in
        mode http
        option httplog
        bind [::]:80 v6only
        bind *:80
        option forwardfor
        http-request add-header X-Forwarded-For %[src]
        http-request set-header X-Forwarded-Proto https if { ssl_fc }
&amp;nbsp;
        acl host_err404 hdr(host) -i err404.numericore.com
        acl host_err404 hdr(host) -i visio.err404.numericore.com
&amp;nbsp;
        acl host_ikce hdr(host) -i ikce.numericore.com
&amp;nbsp;
&amp;nbsp;
        use_backend http_err404 if host_err404
        use_backend http_ikce if host_ikce
&amp;nbsp;
&amp;nbsp;
backend http_err404
        mode http
        option forwardfor
        balance roundrobin
        server server1 ct-err404:80
&amp;nbsp;
backend http_ikce
        mode http
        option forwardfor
        balance roundrobin
        server server1 ct-ikce:80
&amp;nbsp;
&amp;nbsp;
#######################
frontend tcp_https
        mode tcp
        option tcplog
        bind [::]:443 v6only
        bind *:443
        acl tls req.ssl_hello_type 1
        tcp-request inspect-delay 5s
        tcp-request content accept if tls
&amp;nbsp;
&amp;nbsp;
        acl host_err404 req.ssl_sni -i err404.numericore.com
        acl host_err404 req.ssl_sni -i visio.err404.numericore.com
&amp;nbsp;
        acl host_ikce req.ssl_sni -i ikce.numericore.com
&amp;nbsp;
&amp;nbsp;
        use_backend tcp_err404 if host_err404
        use_backend tcp_ikce if host_ikce
&amp;nbsp;
&amp;nbsp;
backend tcp_err404
  mode tcp
  option ssl-hello-chk
  balance roundrobin
  server err404 ct-err404:443 send-proxy check
&amp;nbsp;
backend tcp_ikce
  mode tcp
  option ssl-hello-chk
  balance roundrobin
  server ikce ct-ikce:443 send-proxy check
&amp;nbsp;
############### 
frontend port1935
  mode tcp
  option tcplog
  bind [::]:1935 v6only
  bind *:1935
  acl err404_1935 req.ssl_sni -i err404.numericore.com
&amp;nbsp;
&amp;nbsp;
  use_backend err404_1935 if err404_1935
&amp;nbsp;
&amp;nbsp;
backend err404_1935
  mode tcp
  balance roundrobin
  server err404 ct-err404:1935 send-proxy&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt; bind [::]:80 v6only&lt;/code&gt; &lt;code&gt;bind *:80&lt;/code&gt; to listen in ipv4  AND ipv6&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; I added an example for 1935 port&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;ct-err404&lt;/code&gt; and &lt;code&gt;ct-ikce&lt;/code&gt; are my conteneurs&amp;#039;s names, resolved by my own resolver, you can write your ip directly if you want.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Reverse proxy sni&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Reverse_proxy_sni&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1420-5149&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit6&quot; id=&quot;Machines_virtual_containers_or_other&quot;&gt;Machines (virtual, containers, or other)&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
You will also need to modify the nginx files on the machines concerned (in my case, these are the machines ikce.numericore.com and err404.numericore.com)
&lt;/p&gt;

&lt;p&gt;
In err404.numericore.com:
&lt;/p&gt;

&lt;p&gt;
Simply add `proxy_protocol` in the `server` segment and only for port 443
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Do not touch ipv6 since in my case the machines have public ipv6.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Here is an excerpt from the `/etc/nginx/conf.d/err404.numericore.com.conf` file:
&lt;/p&gt;
&lt;pre class=&quot;code conf&quot;&gt;server {
    listen 443 ssl http2 proxy_protocol;
    listen [::]:443 ssl http2;                            
    server_name err404.numericore.com;&lt;/pre&gt;

&lt;p&gt;
When you modify the nginx configuration file, Yunohost will not be happy and will refuse to update them because they have been modified.
&lt;/p&gt;

&lt;p&gt;
You must do the same for the other virtual machines (ikce.numericore.com in my case).
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;To obtain the real IP addresses of clients in IPv4 (and not just the reverse proxy IP address):&lt;/strong&gt;&lt;br /&gt;
Here is an excerpt from the `/etc/nginx.conf` file:
&lt;/p&gt;
&lt;pre class=&quot;code conf&quot;&gt;http {
    real_ip_header proxy_protocol;
    real_ip_recursive on;
    set_real_ip_from 192.168.1.20;&lt;/pre&gt;

&lt;p&gt;
Replace 192.168.1.20 with the IP address of your reverse proxy SNI.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Machines (virtual, containers, or other)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Machines_virtual_containers_or_other&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;5150-6356&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit7&quot; id=&quot;The_box&quot;&gt;The box&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
On the box, you need to redirect ports 80 and 443 to the IP address of the machine hosting the reverse proxy SNI.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;The box&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;The_box&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;6357-&amp;quot;} --&gt;</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Tue, 13 Jan 2026 22:53:34 +0000</pubDate>
        </item>
        <item>
            <title>ipv4_vs_ipv6_en_.svg - created</title>
            <link>https://err404.numericore.com/en/?image=notes%3Afile_server_training%3Aipv4_vs_ipv6_en_.svg&amp;ns=notes%3Afile_server_training&amp;do=media</link>
            <description>&lt;img src=&quot;https://err404.numericore.com/en/_media/notes/file_server_training/ipv4_vs_ipv6_en_.svg?w=500&amp;amp;h=500&amp;amp;tok=6147dc&quot; alt=&quot;ipv4_vs_ipv6_en_.svg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Tue, 13 Jan 2026 22:53:13 +0000</pubDate>
        </item>
        <item>
            <title>dns</title>
            <link>https://err404.numericore.com/en/notes/file_server_training/dns</link>
            <description>&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;tabs plugin_wrap&quot;&gt;&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://err404.numericore.com/en//notes/file_server_training/dns&quot; class=&quot;urlextern&quot; title=&quot;https://err404.numericore.com/en//notes/file_server_training/dns&quot;&gt;English&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://err404.numericore.com/fr//notes/formation_serveur_de_fichiers/dns&quot; class=&quot;urlextern&quot; title=&quot;https://err404.numericore.com/fr//notes/formation_serveur_de_fichiers/dns&quot;&gt;Français&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
an authoritative dns server (SOA dns) will be used to declare that the server is authoritative for certain domain names.&lt;br /&gt;
which will make it easy to define lots of sub-domains without having to change the registrar settings.
&lt;/p&gt;

&lt;p&gt;
I chose to use &lt;a href=&quot;https://www.nlnetlabs.nl/projects/nsd/about/&quot; class=&quot;urlextern&quot; title=&quot;https://www.nlnetlabs.nl/projects/nsd/about/&quot;&gt;nsd&lt;/a&gt;, but I could have used &lt;a href=&quot;https://www.knot-dns.cz/&quot; class=&quot;urlextern&quot; title=&quot;https://www.knot-dns.cz/&quot;&gt;knot&lt;/a&gt;&lt;br /&gt;
it&amp;#039;s preferable to install the domain name server in a virtual machine rather than in the hypervisor to make backups easier.
&lt;/p&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_button plugin_wrap&quot;&gt;
&lt;p&gt;
and in my case I chose to install the authoritative dns server in the same machine that does &lt;a href=&quot;https://err404.numericore.com/en/notes/file_server_training/rpsni&quot; class=&quot;wikilink1&quot; title=&quot;notes:file_server_training:rpsni&quot; data-wiki-id=&quot;notes:file_server_training:rpsni&quot;&gt;reverse proxy SNI&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit5&quot; id=&quot;nsd&quot;&gt;nsd&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
install the &lt;code&gt;nsd&lt;/code&gt; package available in Debian&lt;br /&gt;
&lt;code&gt;aptitude install nsd&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
we&amp;#039;ll have to edit a few files, then edit an additional file for each dns zone
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;nsd&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nsd&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;810-982&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;nsdconf&quot;&gt;nsd.conf&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;code&gt;/etc/nsd/nsd.conf:&lt;/code&gt;
&lt;/p&gt;
&lt;pre class=&quot;code conf&quot;&gt;# NSD configuration file for Debian.
#
# See the nsd.conf(5) man page.
#
# See /usr/share/doc/nsd/examples/nsd.conf for a commented
# reference config file.
&amp;nbsp;
server:
        # log only to syslog.
        log-only-syslog: yes
&amp;nbsp;
ip-address: 2a02:8428:753:5002:97dc:9048:0:53
ip-address: 192.168.1.7
&amp;nbsp;
# use this number of cpu cores
server-count: 1
&amp;nbsp;
# We recommend leaving this empty, otherwise use &amp;quot;/var/db/nsd/nsd.db&amp;quot;
database: &amp;quot;&amp;quot;
&amp;nbsp;
#  the default file used for the nsd-control addzone and delzone commands
# zonelistfile: &amp;quot;/var/db/nsd/zone.list&amp;quot;
# The unprivileged user that will run NSD, can also be set to &amp;quot;&amp;quot; if
# user privilige protection is not needed
username: nsd
&amp;nbsp;
# Default file where all the log messages go
#logfile: &amp;quot;/var/log/nsd.log&amp;quot;
&amp;nbsp;
# Use this pid file instead of the platform specific default
pidfile: &amp;quot;/var/run/nsd.pid&amp;quot;
&amp;nbsp;
# don&#039;t answer VERSION.BIND and VERSION.SERVER CHAOS class queries
hide-version: yes
hide-identity: yes
&amp;nbsp;
&amp;nbsp;
# Enable if privilege &amp;quot;jail&amp;quot; is needed for unprivileged user. Note
# that other file paths may break when using chroot
# chroot: &amp;quot;/etc/nsd/&amp;quot;
# The default zone transfer file
# xfrdfile: &amp;quot;/var/db/nsd/xfrd.state&amp;quot;
# The default working directory before accessing zone files
# zonesdir: &amp;quot;/etc/nsd&amp;quot;
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
# The following line includes additional configuration files from the
# /etc/nsd/nsd.conf.d directory.
&amp;nbsp;
include: &amp;quot;/etc/nsd/nsd.conf.d/*.conf&amp;quot;&lt;/pre&gt;

&lt;p&gt;
we add a zone file, in my case I have a zone for &lt;code&gt;err404.numericore.com&lt;/code&gt; and sub-domains like &lt;code&gt;visio.err404.numericore.com&lt;/code&gt; and another zone for &lt;code&gt;ikce.numericore.com&lt;/code&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;nsd.conf&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nsdconf&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;983-2598&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;zonesconf&quot;&gt;zones.conf&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
/etc/nsd/nsd.conf.d/zones.conf:
&lt;/p&gt;
&lt;pre class=&quot;code conf&quot;&gt;zone:
    name: ikce.numericore.com
    zonefile: /etc/nsd/nsd.conf.d/ikce.numericore.com.zone
&amp;nbsp;
zone:
    name: err404.numericore.com
    zonefile: /etc/nsd/nsd.conf.d/err404.numericore.com.zone&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;zones.conf&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;zonesconf&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;2599-2871&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;err404numericorecomzone&quot;&gt;err404.numericore.com.zone&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;span class=&quot;wrap_info &quot;&gt; Beware, there&amp;#039;s a trap that has stuck me for quite a long time:&lt;/span&gt;&lt;br /&gt;
in the line &lt;code&gt;@ IN SOA ns.err404.numericore.com. err404.numericore.com. &lt;/code&gt; (the field &lt;code&gt;err404.numericore.com.&lt;/code&gt; is actually an email address
&lt;/p&gt;

&lt;p&gt;
on the other hand, be careful not to forget the period after domain names
&lt;/p&gt;

&lt;p&gt;
I use public ip:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; in ipv4 I&amp;#039;ll use the box&amp;#039;s public ip and redirect port 53 to the machine hosting my dns service&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; in ipv6 I&amp;#039;ll directly indicate the public ipv6 of the machine hosting my dns service&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
the line containing Serial is simply a serial number that must be strictly increasing each time the file is updated, so we&amp;#039;ll often use a current date and increment&lt;br /&gt;
/etc/nsd/nsd.conf.d/err404.numericore.com.zone:
&lt;/p&gt;
&lt;pre class=&quot;code conf&quot;&gt;$ORIGIN err404.numericore.com.
$TTL 7200
&amp;nbsp;
@       IN      SOA    ns.err404.numericore.com. err404.numericore.com. (
                                                2021042514 ; Serial
                                                7200       ; Refresh
                                                1800       ; Retry
                                                1209600    ; Expire
                                                86400 )    ; Minimum
&amp;nbsp;
; NAMESERVERS
&amp;nbsp;
@                   IN                NS                   ns.err404.numericore.com.
&amp;nbsp;
ns                  IN                A                    77.129.238.159
ns                  IN                AAAA                 2a02:8428:753:5002:97dc:9048:0:53
&amp;nbsp;
&amp;nbsp;
; A RECORDS
@                                   A          77.129.238.159
@                                   AAAA       2a02:8428:753:5002:fcb3:ff:fe8a:3b80
visio                               A          77.129.238.159
visio                               AAAA       2a02:8428:753:5002:fcb3:ff:fe8a:3b80&lt;/pre&gt;

&lt;p&gt;
&lt;code&gt;$ORIGIN err404.numericore.com.&lt;/code&gt; will be used as variable for the rest of the file&lt;br /&gt;
&lt;code&gt;@&lt;/code&gt; will be replaced by the variable &lt;code&gt;$ORIGIN&lt;/code&gt;&lt;br /&gt;
so we will define ip for &lt;code&gt;err404.numericore.com&lt;/code&gt; and &lt;code&gt;visio.err404.numericore.com&lt;/code&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;err404.numericore.com.zone&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;err404numericorecomzone&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;2872-4911&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit9&quot; id=&quot;the_box&quot;&gt;the box&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
and finally, on the box, redirect ports 53 to the ip of the machine hosting the authoritative dns server –authoritative–.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;the box&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;the_box&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;4912-&amp;quot;} --&gt;</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Tue, 13 Jan 2026 08:19:58 +0000</pubDate>
        </item>
        <item>
            <title>start</title>
            <link>https://err404.numericore.com/en/Misc/tools/tinystatus.sh/start</link>
            <description>
&lt;p&gt;
source d&amp;#039;inspiration: &lt;a href=&quot;https://github.com/bderenzo/tinystatus&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/bderenzo/tinystatus&quot;&gt;https://github.com/bderenzo/tinystatus&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
I modified Bderenzo&amp;#039;s tinystatus, by adding an indication of the number of days remaining before the certificate expires, and I also added a variable for periodic page reloading. 
&lt;/p&gt;

&lt;p&gt;
&lt;img src=&quot;https://err404.numericore.com/en/_media/Misc/tools/tinystatus.sh/tinystatus.png&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
fichier &lt;code&gt;tinystatus.sh&lt;/code&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;#!/usr/bin/env bash&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# source https://github.com/bderenzo/tinystatus&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# MIT licence: https://github.com/bderenzo/tinystatus/tree/master?tab=MIT-1-ov-file#readme&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# Configuration variables&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;TITLE&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;Tinystatus&amp;quot;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;HEADER&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;Global Status&amp;quot;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;CHECKS_FILE&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${1:-checks.csv}&lt;/span&gt;&amp;quot;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;INCIDENTS_FILE&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${2:-incidents.txt}&lt;/span&gt;&amp;quot;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;OUTAGE_RC&lt;/span&gt;=&lt;span class=&quot;kw2&quot;&gt;false&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;TIMEOUT&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;USER_AGENT&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;User-Agent: Mozilla/5.0 (X11; Linux x86_64; Debian) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36&amp;quot;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;TMP_DIR&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es4&quot;&gt;$(mktemp -d)&lt;/span&gt;&amp;quot;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;TMP_DIR_DEBUG&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;/tmp/tinystatus-debug&amp;quot;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;refresh_delay&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;60&amp;quot;&lt;/span&gt;
&amp;nbsp;
command_exists&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;!&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;command&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-v&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${1}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;/&lt;/span&gt;dev&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;null &lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;; &lt;span class=&quot;kw1&quot;&gt;then&lt;/span&gt;
        &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Error: &lt;span class=&quot;es3&quot;&gt;${1}&lt;/span&gt; missing. Please install it&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;kw3&quot;&gt;exit&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;fi&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
get_element&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${2}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;awk&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-v&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;col&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${1}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-F&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;&#039;,&#039;&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;{gsub(/^[ \t]+|[ \t]+$/, &amp;quot;&amp;quot;, $col); print $col}&#039;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
check&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;re2&quot;&gt;check&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${1}&lt;/span&gt;&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;re2&quot;&gt;host&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${2}&lt;/span&gt;&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;re2&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${3}&lt;/span&gt;&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;re2&quot;&gt;expected_rc&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${4}&lt;/span&gt;&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;re2&quot;&gt;id&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${5}&lt;/span&gt;&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;re2&quot;&gt;today&lt;/span&gt;=$&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;date&lt;/span&gt; +&lt;span class=&quot;sy0&quot;&gt;%&lt;/span&gt;s&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;re2&quot;&gt;ipversion&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es4&quot;&gt;$(echo &amp;quot;${check}&amp;quot; | grep -o &#039;[46]$&#039;)&lt;/span&gt;&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${check}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt;
        http&lt;span class=&quot;sy0&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
            &lt;span class=&quot;re2&quot;&gt;rc&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es4&quot;&gt;$(curl -${ipversion}sSkLo /dev/null -H &amp;quot;${USER_AGENT}&amp;quot; -m &amp;quot;${TIMEOUT}&amp;quot; -w &amp;quot;%{http_code}&amp;quot; &amp;quot;${host}&amp;quot; 2&amp;gt; &amp;quot;${TMP_DIR}/${id}.ko.info&amp;quot;)&lt;/span&gt;&amp;quot;&lt;/span&gt;
            &lt;span class=&quot;re2&quot;&gt;cert&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es4&quot;&gt;$(curl ${host} -vI 2&amp;gt;&amp;amp;1 | grep &amp;quot;expire date&amp;quot;| tr -s &amp;quot; &amp;quot;| cut -d&amp;quot; &amp;quot; -f4-8)&lt;/span&gt;&amp;quot;&lt;/span&gt;
            &lt;span class=&quot;re2&quot;&gt;date_exp&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es4&quot;&gt;$(curl ${host} -vI 2&amp;gt;&amp;amp;1 | grep &amp;quot;expire date&amp;quot;)&lt;/span&gt;&amp;quot;&lt;/span&gt;
            &lt;span class=&quot;re2&quot;&gt;date_cert&lt;/span&gt;=$&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;date&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${cert}&lt;/span&gt;&amp;quot;&lt;/span&gt; +&lt;span class=&quot;st0&quot;&gt;&amp;quot;%s&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
            &lt;span class=&quot;re2&quot;&gt;delay_cert0&lt;/span&gt;=$&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;date_cert - today&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
            &lt;span class=&quot;re2&quot;&gt;delay_cert&lt;/span&gt;=$&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;delay_cert0 &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;86400&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
            &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$delay_cert&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${TMP_DIR}&lt;/span&gt;/&lt;span class=&quot;es3&quot;&gt;${id}&lt;/span&gt;.ok.cert&amp;quot;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-s&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${TMP_DIR}&lt;/span&gt;/&lt;span class=&quot;es3&quot;&gt;${id}&lt;/span&gt;.ko.info&amp;quot;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;span class=&quot;kw1&quot;&gt;then&lt;/span&gt;
                &lt;span class=&quot;kw2&quot;&gt;sed&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-e&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;s,curl: ([0-9]*) ,,&#039;&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-i&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${TMP_DIR}&lt;/span&gt;/&lt;span class=&quot;es3&quot;&gt;${id}&lt;/span&gt;.ko.info&amp;quot;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;
                &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Status code: &lt;span class=&quot;es3&quot;&gt;${rc}&lt;/span&gt;, expected: &lt;span class=&quot;es3&quot;&gt;${expected_rc}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${TMP_DIR}&lt;/span&gt;/&lt;span class=&quot;es3&quot;&gt;${id}&lt;/span&gt;.ko.info&amp;quot;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;fi&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;;&lt;/span&gt;
        &lt;span class=&quot;kw2&quot;&gt;ping&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
            &lt;span class=&quot;kw2&quot;&gt;ping&lt;/span&gt; -&lt;span class=&quot;co1&quot;&gt;${ipversion}&lt;/span&gt;W &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${TIMEOUT}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-c&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${host}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;/&lt;/span&gt;dev&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;null &lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
            &lt;span class=&quot;re2&quot;&gt;rc&lt;/span&gt;=&lt;span class=&quot;re4&quot;&gt;$?&lt;/span&gt;
            &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${rc}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-ne&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${expected_rc}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;Host unreachable&#039;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${TMP_DIR}&lt;/span&gt;/&lt;span class=&quot;es3&quot;&gt;${id}&lt;/span&gt;.ko.info&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;;&lt;/span&gt;
        port&lt;span class=&quot;sy0&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
            &lt;span class=&quot;re2&quot;&gt;error&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es4&quot;&gt;$(nc -${ipversion}w &amp;quot;${TIMEOUT}&amp;quot; -zv ${host} 2&amp;gt;&amp;amp;1)&lt;/span&gt;&amp;quot;&lt;/span&gt;
            &lt;span class=&quot;re2&quot;&gt;rc&lt;/span&gt;=&lt;span class=&quot;re4&quot;&gt;$?&lt;/span&gt;
            &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${rc}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-ne&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${expected_rc}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${error}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;sed&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-e&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;s,nc: ,,&#039;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${TMP_DIR}&lt;/span&gt;/&lt;span class=&quot;es3&quot;&gt;${id}&lt;/span&gt;.ko.info&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;;&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#        cert*)&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#            rc=&amp;quot;$(curl ${host} -vI 2&amp;gt;&amp;amp;1 | grep &amp;quot;expire date&amp;quot; &amp;gt; &amp;quot;${TMP_DIR}/${id}.cert&amp;quot;)&amp;quot;;;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;esac&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;#set -x&lt;/span&gt;
    &lt;span class=&quot;co0&quot;&gt;# verity status and write files&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${rc}&lt;/span&gt;&amp;quot;&lt;/span&gt; == &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${expected_rc}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;span class=&quot;kw1&quot;&gt;then&lt;/span&gt;
        &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${name}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${TMP_DIR}&lt;/span&gt;/&lt;span class=&quot;es3&quot;&gt;${id}&lt;/span&gt;.ok&amp;quot;&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#            rc=&amp;quot;$(curl ${host} -vI 2&amp;gt;&amp;amp;1 | grep &amp;quot;expire date&amp;quot; &amp;gt;&amp;gt; &amp;quot;${TMP_DIR}/${id}.ok&amp;quot;)&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;
        &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${name}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${TMP_DIR}&lt;/span&gt;/&lt;span class=&quot;es3&quot;&gt;${id}&lt;/span&gt;.ko&amp;quot;&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#            rc=&amp;quot;$(curl ${host} -vI 2&amp;gt;&amp;amp;1 | grep &amp;quot;expire date&amp;quot; &amp;gt;&amp;gt; &amp;quot;${TMP_DIR}/${id}.ko&amp;quot;)&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;fi&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#set +x&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Verify requirements&lt;/span&gt;
command_exists &lt;span class=&quot;st_h&quot;&gt;&#039;curl&#039;&lt;/span&gt;
command_exists &lt;span class=&quot;st_h&quot;&gt;&#039;nc&#039;&lt;/span&gt;
command_exists &lt;span class=&quot;st_h&quot;&gt;&#039;ping&#039;&lt;/span&gt;
command_exists &lt;span class=&quot;st_h&quot;&gt;&#039;grep&#039;&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#mkdir -p &amp;quot;${TMP_DIR}&amp;quot; || exit 1&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Execute checks&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;id&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;IFS&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es4&quot;&gt;$(printf &#039;\n&#039;)&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;read&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-r&lt;/span&gt; line; &lt;span class=&quot;kw1&quot;&gt;do&lt;/span&gt;
    &lt;span class=&quot;re2&quot;&gt;check&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es4&quot;&gt;$(get_element 1 &amp;quot;${line}&amp;quot;)&lt;/span&gt;&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;re2&quot;&gt;code&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es4&quot;&gt;$(get_element 2 &amp;quot;${line}&amp;quot;)&lt;/span&gt;&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;re2&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es4&quot;&gt;$(get_element 3 &amp;quot;${line}&amp;quot;)&lt;/span&gt;&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;re2&quot;&gt;host&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es4&quot;&gt;$(get_element 4 &amp;quot;${line}&amp;quot;)&lt;/span&gt;&amp;quot;&lt;/span&gt;
    check &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${check}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${host}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${name}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${code}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${id}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&lt;/span&gt;
    : $&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;id&lt;/span&gt;++&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;done&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${CHECKS_FILE}&lt;/span&gt;&amp;quot;&lt;/span&gt;
&lt;span class=&quot;kw3&quot;&gt;wait&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;OUTAGES_COUNT&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es4&quot;&gt;$(ls &amp;quot;${TMP_DIR}/&amp;quot;*.ko | wc -l)&lt;/span&gt;&amp;quot;&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#OUTAGES_COUNT=&amp;quot;0&amp;quot;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Generate HTML&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;co2&quot;&gt;&amp;lt;&amp;lt; EOF
&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;&amp;lt;head&amp;gt;&amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&amp;lt;meta name=&amp;quot;viewport&amp;quot; http-equiv=&amp;quot;refresh&amp;quot; content=&amp;quot;${refresh_delay}&amp;quot; content=&amp;quot;width=device-width, initial-scale=1, shrink-to-fit=no&amp;quot;&amp;gt;&amp;lt;title&amp;gt;${TITLE}&amp;lt;/title&amp;gt;&amp;lt;style&amp;gt;
body { font-family: segoe ui,Roboto,Oxygen-Sans,Ubuntu,Cantarell,helvetica neue,Verdana,sans-serif; }
h1 { margin-top: 3em; }
ul { padding: 0px; }
li { list-style: none; margin-bottom: 2px; padding: 5px; border-bottom: 1px solid #ddd;  }
.container { max-width: 80em; width: 100%; margin: 15px auto; }
.panel { text-align: center; padding: 10px; border: 0px; border-radius: 5px; }
.failed-bg  { color: white; background-color: #E25D6A; }
.success-bg { color: white; background-color: #52B86A; }
.failed  { color: #E25D6A; }
.success { color: #52B86A; }
.small { font-size: 80%; }
.status { float: right; }
&amp;lt;/style&amp;gt;&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;div class=&#039;container&#039;&amp;gt;
&amp;lt;h1&amp;gt;${HEADER}&amp;lt;/h1&amp;gt;
EOF&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${OUTAGES_COUNT}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-ne&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;span class=&quot;kw1&quot;&gt;then&lt;/span&gt;
    &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;ul&amp;gt;&amp;lt;li class=&#039;panel failed-bg&#039;&amp;gt;&lt;span class=&quot;es3&quot;&gt;${OUTAGES_COUNT}&lt;/span&gt; Outage(s)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;quot;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;
    &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;ul&amp;gt;&amp;lt;li class=&#039;panel success-bg&#039;&amp;gt;All Systems Operational&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;quot;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;fi&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;co2&quot;&gt;&amp;lt;&amp;lt; EOF
&amp;lt;h1&amp;gt;Services&amp;lt;/h1&amp;gt;
(updated every ${refresh_delay}s)
&amp;lt;ul&amp;gt;
EOF&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;file&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${TMP_DIR}&lt;/span&gt;/&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;*&lt;/span&gt;.ko; &lt;span class=&quot;kw1&quot;&gt;do&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-e&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${file}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;continue&lt;/span&gt;
    &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;li&amp;gt;&lt;span class=&quot;es4&quot;&gt;$(cat &amp;quot;${file}&amp;quot;)&lt;/span&gt; &amp;lt;span class=&#039;small failed&#039;&amp;gt;(&lt;span class=&quot;es4&quot;&gt;$(cat &amp;quot;${file}.info&amp;quot;)&lt;/span&gt;)&amp;lt;/span&amp;gt;&amp;lt;span class=&#039;status failed&#039;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;done&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;file&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${TMP_DIR}&lt;/span&gt;/&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;*&lt;/span&gt;.ok; &lt;span class=&quot;kw1&quot;&gt;do&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-e&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${file}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;continue&lt;/span&gt;
      &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;&lt;/span&gt;$&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${file}&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;gt;&lt;span class=&quot;es4&quot;&gt;$(cat &amp;quot;${file}&amp;quot;)&lt;/span&gt;&amp;lt;/a&amp;gt; &amp;lt;span class=&#039;status success&#039;&amp;gt;certificat expire in &lt;span class=&quot;es4&quot;&gt;$(cat &amp;quot;${file}.cert&amp;quot;)&lt;/span&gt; days&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;done&lt;/span&gt;
&amp;nbsp;
&amp;nbsp;
&lt;span class=&quot;kw2&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;co2&quot;&gt;&amp;lt;&amp;lt; EOF
&amp;lt;/ul&amp;gt;
&amp;lt;p class=small&amp;gt; Last check: $(date +%FT_%T)&amp;lt;/p&amp;gt;
EOF&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-f&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${INCIDENTS_FILE}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;span class=&quot;kw1&quot;&gt;then&lt;/span&gt;
    &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;&amp;lt;h1&amp;gt;Incidents&amp;lt;/h1&amp;gt;&#039;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-s&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${INCIDENTS_FILE}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;span class=&quot;kw1&quot;&gt;then&lt;/span&gt;
        &lt;span class=&quot;kw2&quot;&gt;sed&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;s|^\(.*\)$|&amp;lt;p&amp;gt;\1&amp;lt;/p&amp;gt;|&#039;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${INCIDENTS_FILE}&lt;/span&gt;&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;
        &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;&amp;lt;p&amp;gt;No incident reported yet ;)&amp;lt;/p&amp;gt;&#039;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;fi&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;fi&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;co2&quot;&gt;&amp;lt;&amp;lt;EOF
&amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;
EOF&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Cleanup and exit&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;rm&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-r&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${TMP_DIR}&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;gt;/&lt;/span&gt;dev&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;null
&lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${OUTAGE_RC}&lt;/span&gt;&amp;quot;&lt;/span&gt;; &lt;span class=&quot;kw1&quot;&gt;then&lt;/span&gt;
    &lt;span class=&quot;kw3&quot;&gt;exit&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${OUTAGES_COUNT}&lt;/span&gt;&amp;quot;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;fi&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
file example &lt;code&gt;check.csv&lt;/code&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code csv&quot;&gt;http4,  200,  https://err404.numericore.com (IPv4),             https://err404.numericore.com
http6,  200,  https://err404.numericore.com (IPv6),             https://err404.numericore.com
http4,  200,  https://wow.err404.numericore.com (IPv4),         https://wow.err404.numericore.com
http6,  200,  https://wow.err404.numericore.com (IPv6),         https://wow.err404.numericore.com&lt;/pre&gt;
</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Fri, 09 Jan 2026 09:56:57 +0000</pubDate>
        </item>
        <item>
            <title>tinystatus.png - created</title>
            <link>https://err404.numericore.com/en/?image=Misc%3Atools%3Atinystatus.sh%3Atinystatus.png&amp;ns=Misc%3Atools%3Atinystatus.sh&amp;do=media</link>
            <description>&lt;img src=&quot;https://err404.numericore.com/en/_media/Misc/tools/tinystatus.sh/tinystatus.png?w=500&amp;amp;h=500&amp;amp;tok=fe88e8&quot; alt=&quot;tinystatus.png&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Fri, 09 Jan 2026 09:56:47 +0000</pubDate>
        </item>
        <item>
            <title>browser_without_punycode</title>
            <link>https://err404.numericore.com/en/Misc/browser_without_punycode</link>
            <description>&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;tabs plugin_wrap&quot;&gt;&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://err404.numericore.com/en/Misc/browser_without_punycode&quot; class=&quot;urlextern&quot; title=&quot;https://err404.numericore.com/en/Misc/browser_without_punycode&quot;&gt;English&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://err404.numericore.com/fr/Divers/navigateur_sans_punycode/&quot; class=&quot;urlextern&quot; title=&quot;https://err404.numericore.com/fr/Divers/navigateur_sans_punycode/&quot;&gt;Français&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
To disable the url&amp;#039;s punycode in firefox or librewolf:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; go to &lt;code&gt;about:config&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; apply next values:&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;code&gt;network.IDN_show_punycode&lt;/code&gt; –&amp;gt; &lt;code&gt;false&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;code&gt;browser.urlbar.decodeURLsOnCopy&lt;/code&gt; –&amp;gt; &lt;code&gt;true&lt;/code&gt; (this is when you copy/paste full url)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
we do not change the value of &lt;code&gt;network.idn.punycode_cyrillic_confusables&lt;/code&gt; –&amp;gt; &lt;code&gt;true&lt;/code&gt; to avoid confusion with some Russian chars
&lt;/p&gt;
</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Tue, 02 Dec 2025 12:12:45 +0000</pubDate>
        </item>
        <item>
            <title>start</title>
            <link>https://err404.numericore.com/en/Illustrations/Boris_Ganne/start</link>
            <description>&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;tabs plugin_wrap&quot;&gt;&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://err404.numericore.com/en/Illustrations/Boris_Ganne/&quot; class=&quot;urlextern&quot; title=&quot;https://err404.numericore.com/en/Illustrations/Boris_Ganne/&quot;&gt;English&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://err404.numericore.com/fr/Illustrations/Boris_Ganne/&quot; class=&quot;urlextern&quot; title=&quot;https://err404.numericore.com/fr/Illustrations/Boris_Ganne/&quot;&gt;Français&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
&lt;span class=&quot;wrap_info &quot;&gt;&lt;span style=&#039;color:rgb(0%,0%,0%); &#039;&gt;I need to complete this list, which hasn&amp;#039;t been updated for ten years&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit3&quot; id=&quot;section2011&quot;&gt;2011&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Creation of the logo for &lt;a href=&quot;https://en.wikipedia.org/wiki/Babel_(protocol)&quot; class=&quot;urlextern&quot; title=&quot;https://en.wikipedia.org/wiki/Babel_(protocol)&quot;&gt;Babel&lt;/a&gt;, a routing protocol
&lt;/p&gt;
&lt;div id=&quot;plugin__gallery_8202&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__8202_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/2011/logo_babel_black_version.svg?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Logo Babel Black Version&quot; data-caption=&quot;&amp;lt;b&amp;gt;Logo Babel Black Version&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/2011/logo_babel_black_version.svg&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/2011/logo_babel_black_version.svg?w=400&amp;amp;h=300&amp;amp;tok=5fd5d7&quot; alt=&quot;logo_babel_black_version.svg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;2011&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section2011&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;294-459&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit4&quot; id=&quot;section2010&quot;&gt;2010&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;2010&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section2010&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;460-478&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;infographic&quot;&gt;infographic&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
During a trip, I took some photos in the &amp;quot;Castle Room,&amp;quot; and a friend sitting under the gargoyle inspired me to do some image editing:&lt;br /&gt;
I used &lt;a href=&quot;https://en.wikipedia.org/wiki/GIMP&quot; class=&quot;urlextern&quot; title=&quot;https://en.wikipedia.org/wiki/GIMP&quot;&gt;The Gimp&lt;/a&gt; software to add a little life to the sculpture. 
&lt;/p&gt;
&lt;div id=&quot;plugin__gallery_5484&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__5484_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/2010-infographie/Boris_Ganne_-_2010_-_L%C3%A9a_et_la_Cargouille_du_Ch%C3%A2teau_anciennes_carri%C3%A8res_de_paris_C%C3%A2lin.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 2010 - Léa Et La Cargouille Du Château Anciennes Carrières De Paris Câlin&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 2010 - Léa Et La Cargouille Du Château Anciennes Carrières De Paris Câlin&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/2010-infographie/Boris_Ganne_-_2010_-_L%C3%A9a_et_la_Cargouille_du_Ch%C3%A2teau_anciennes_carri%C3%A8res_de_paris_C%C3%A2lin.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/2010-infographie/Boris_Ganne_-_2010_-_L%C3%A9a_et_la_Cargouille_du_Ch%C3%A2teau_anciennes_carri%C3%A8res_de_paris_C%C3%A2lin.png?w=400&amp;amp;h=300&amp;amp;tok=47e914&quot; alt=&quot;Boris_Ganne_-_2010_-_Léa_et_la_Cargouille_du_Château_anciennes_carrières_de_paris_Câlin.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/2010-infographie/Boris_Ganne_-_2010_-_L%C3%A9a_et_la_gargouille_du_Ch%C3%A2teau_anciennes_carri%C3%A8res_de_paris_.jpg?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 2010 - Léa Et La Gargouille Du Château Anciennes Carrières De Paris &quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 2010 - Léa Et La Gargouille Du Château Anciennes Carrières De Paris &amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/2010-infographie/Boris_Ganne_-_2010_-_L%C3%A9a_et_la_gargouille_du_Ch%C3%A2teau_anciennes_carri%C3%A8res_de_paris_.jpg&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/2010-infographie/Boris_Ganne_-_2010_-_L%C3%A9a_et_la_gargouille_du_Ch%C3%A2teau_anciennes_carri%C3%A8res_de_paris_.jpg?w=400&amp;amp;h=300&amp;amp;tok=1c01ad&quot; alt=&quot;Boris_Ganne_-_2010_-_Léa_et_la_gargouille_du_Château_anciennes_carrières_de_paris_.jpg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/2010-infographie/Boris_Ganne_-_2010_-_L%C3%A9a_et_la_Gargouille_du_Ch%C3%A2teau_anciennes_carri%C3%A8res_de_paris_Bisou.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 2010 - Léa Et La Gargouille Du Château Anciennes Carrières De Paris Bisou&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 2010 - Léa Et La Gargouille Du Château Anciennes Carrières De Paris Bisou&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/2010-infographie/Boris_Ganne_-_2010_-_L%C3%A9a_et_la_Gargouille_du_Ch%C3%A2teau_anciennes_carri%C3%A8res_de_paris_Bisou.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/2010-infographie/Boris_Ganne_-_2010_-_L%C3%A9a_et_la_Gargouille_du_Ch%C3%A2teau_anciennes_carri%C3%A8res_de_paris_Bisou.png?w=400&amp;amp;h=300&amp;amp;tok=85d78c&quot; alt=&quot;Boris_Ganne_-_2010_-_Léa_et_la_Gargouille_du_Château_anciennes_carrières_de_paris_Bisou.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;infographic&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;infographic&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;479-795&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;panorama&quot;&gt;panorama&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
During a journey in Brittany at Pointe du Raz, I had fun creating panoramas with &lt;a href=&quot;https://en.wikipedia.org/wiki/Hugin_(software)&quot; class=&quot;urlextern&quot; title=&quot;https://en.wikipedia.org/wiki/Hugin_(software)&quot;&gt;Hugin&lt;/a&gt;
&lt;/p&gt;
&lt;div id=&quot;plugin__gallery_5f0c&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__5f0c_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/2010-panorama/Boris_Ganne_-_2010_-_Bretagne_-_Feunteun_Aod_-_1544x580_-_panorama.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 2010 - Bretagne - Feunteun Aod - 1544x580 - Panorama&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 2010 - Bretagne - Feunteun Aod - 1544x580 - Panorama&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/2010-panorama/Boris_Ganne_-_2010_-_Bretagne_-_Feunteun_Aod_-_1544x580_-_panorama.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/2010-panorama/Boris_Ganne_-_2010_-_Bretagne_-_Feunteun_Aod_-_1544x580_-_panorama.png?w=400&amp;amp;h=300&amp;amp;tok=932412&quot; alt=&quot;Boris_Ganne_-_2010_-_Bretagne_-_Feunteun_Aod_-_1544x580_-_panorama.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/2010-panorama/Boris_Ganne_-_2010_-_Bretagne_-_la_Pointe_du_Raz_-_panorama_2865x1024.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 2010 - Bretagne - La Pointe Du Raz - Panorama 2865x1024&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 2010 - Bretagne - La Pointe Du Raz - Panorama 2865x1024&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/2010-panorama/Boris_Ganne_-_2010_-_Bretagne_-_la_Pointe_du_Raz_-_panorama_2865x1024.png?w=1600&amp;amp;h=572&amp;amp;tok=13759f&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/2010-panorama/Boris_Ganne_-_2010_-_Bretagne_-_la_Pointe_du_Raz_-_panorama_2865x1024.png?w=400&amp;amp;h=300&amp;amp;tok=2e1e46&quot; alt=&quot;Boris_Ganne_-_2010_-_Bretagne_-_la_Pointe_du_Raz_-_panorama_2865x1024.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/2010-panorama/Boris_Ganne_-_2010_-_Bretagne_-_la_Sentinelle_de_Plogoff_-_photo_-_1390x568.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 2010 - Bretagne - La Sentinelle De Plogoff - Photo - 1390x568&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 2010 - Bretagne - La Sentinelle De Plogoff - Photo - 1390x568&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/2010-panorama/Boris_Ganne_-_2010_-_Bretagne_-_la_Sentinelle_de_Plogoff_-_photo_-_1390x568.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/2010-panorama/Boris_Ganne_-_2010_-_Bretagne_-_la_Sentinelle_de_Plogoff_-_photo_-_1390x568.png?w=400&amp;amp;h=300&amp;amp;tok=357129&quot; alt=&quot;Boris_Ganne_-_2010_-_Bretagne_-_la_Sentinelle_de_Plogoff_-_photo_-_1390x568.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;panorama&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;panorama&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;796-1008&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit7&quot; id=&quot;section2009&quot;&gt;2009&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Merging two separate logos to create a logo for the &lt;a href=&quot;http://fr.wikipedia.org/wiki/Fichier:GNU_and_Tux.svg&quot; class=&quot;urlextern&quot; title=&quot;http://fr.wikipedia.org/wiki/Fichier:GNU_and_Tux.svg&quot;&gt;GNU/Linux&lt;/a&gt; category for Wikipedia.
&lt;/p&gt;
&lt;div id=&quot;plugin__gallery_e5b0&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__e5b0_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/2009/gnu_and_tux.svg?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Gnu And Tux&quot; data-caption=&quot;&amp;lt;b&amp;gt;Gnu And Tux&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/2009/gnu_and_tux.svg&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/2009/gnu_and_tux.svg?w=400&amp;amp;h=300&amp;amp;tok=642e5b&quot; alt=&quot;gnu_and_tux.svg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section2009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;1009-1216&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit8&quot; id=&quot;section2007&quot;&gt;2007&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
During a decoration project in Kaohsiung. The idea was to design a bar, of which here are the models. In the end, the bar was simplified and built straight ahead.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;2007&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section2007&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;1217-1398&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;Bar&quot;&gt;Bar&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;div id=&quot;plugin__gallery_5d17&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__5d17_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/2007/Boris_Ganne_-_2007_-_%E9%AB%98%E9%9B%84_Bar-2_Blender3D.jpeg?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 2007 - 高雄 Bar-2 Blender3D&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 2007 - 高雄 Bar-2 Blender3D&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/2007/Boris_Ganne_-_2007_-_%E9%AB%98%E9%9B%84_Bar-2_Blender3D.jpeg&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/2007/Boris_Ganne_-_2007_-_%E9%AB%98%E9%9B%84_Bar-2_Blender3D.jpeg?w=400&amp;amp;h=300&amp;amp;tok=41adaa&quot; alt=&quot;Boris_Ganne_-_2007_-_高雄_Bar-2_Blender3D.jpeg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/2007/Boris_Ganne_-_2007_-_%E9%AB%98%E9%9B%84_Bar_Blender3D.jpeg?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 2007 - 高雄 Bar Blender3D&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 2007 - 高雄 Bar Blender3D&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/2007/Boris_Ganne_-_2007_-_%E9%AB%98%E9%9B%84_Bar_Blender3D.jpeg&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/2007/Boris_Ganne_-_2007_-_%E9%AB%98%E9%9B%84_Bar_Blender3D.jpeg?w=400&amp;amp;h=300&amp;amp;tok=952070&quot; alt=&quot;Boris_Ganne_-_2007_-_高雄_Bar_Blender3D.jpeg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Bar&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Bar&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;1399-1458&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit10&quot; id=&quot;section2005&quot;&gt;2005&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;2005&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section2005&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;1459-1477&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;Computer_graphics&quot;&gt;Computer graphics&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
For this illustration, I used several images, generally from NASA, but I&amp;#039;m not sure; I can no longer find the files used to create this image. From memory, there are at least:&lt;br /&gt;
* an orbital station (Mir?)&lt;br /&gt;
* the cockpit of a space shuttle
&lt;/p&gt;
&lt;div id=&quot;plugin__gallery_b273&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__b273_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/2005-montage/Boris_Ganne_-_2005_-_Cabine_spatiale_-_montage_photo.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 2005 - Cabine Spatiale - Montage Photo&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 2005 - Cabine Spatiale - Montage Photo&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/2005-montage/Boris_Ganne_-_2005_-_Cabine_spatiale_-_montage_photo.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/2005-montage/Boris_Ganne_-_2005_-_Cabine_spatiale_-_montage_photo.png?w=400&amp;amp;h=300&amp;amp;tok=7b804d&quot; alt=&quot;Boris_Ganne_-_2005_-_Cabine_spatiale_-_montage_photo.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Computer graphics&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Computer_graphics&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;1478-1795&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit12&quot; id=&quot;computer_graphics&quot;&gt;computer graphics&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
I used a photo of the Martian surface and drew a miniature landscape as if there were some kind of citadel, with houses and roads. 
&lt;/p&gt;
&lt;div id=&quot;plugin__gallery_bc6b&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__bc6b_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/2005-infographie/Boris_Ganne_-_2005_-_Citadelle_-_retouche_photo.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 2005 - Citadelle - Retouche Photo&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 2005 - Citadelle - Retouche Photo&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/2005-infographie/Boris_Ganne_-_2005_-_Citadelle_-_retouche_photo.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/2005-infographie/Boris_Ganne_-_2005_-_Citadelle_-_retouche_photo.png?w=400&amp;amp;h=300&amp;amp;tok=6bd974&quot; alt=&quot;Boris_Ganne_-_2005_-_Citadelle_-_retouche_photo.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;computer graphics&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;computer_graphics&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;1796-2012&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit13&quot; id=&quot;section2001&quot;&gt;2001&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;2001&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section2001&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;2013-2032&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit14&quot; id=&quot;Espace_Artemis&quot;&gt;Espace Artemis&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Espace Artemis&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Espace_Artemis&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;2033-2059&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit15&quot; id=&quot;Logos&quot;&gt;Logos&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Some illustrations and sketches of company logos for the Espace Artemis role-playing game universe
&lt;/p&gt;
&lt;div id=&quot;plugin__gallery_3881&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__3881_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/2001-logo/Boris_Ganne_-_2001_-_Espace_Artemis_carbo-silice.jpeg?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 2001 - Espace Artemis Carbo-silice&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 2001 - Espace Artemis Carbo-silice&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/2001-logo/Boris_Ganne_-_2001_-_Espace_Artemis_carbo-silice.jpeg&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/2001-logo/Boris_Ganne_-_2001_-_Espace_Artemis_carbo-silice.jpeg?w=400&amp;amp;h=300&amp;amp;tok=bd51ec&quot; alt=&quot;Boris_Ganne_-_2001_-_Espace_Artemis_carbo-silice.jpeg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/2001-logo/Boris_Ganne_-_2001_-_Espace_Artemis_datacore_crayon.jpeg?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 2001 - Espace Artemis Datacore Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 2001 - Espace Artemis Datacore Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/2001-logo/Boris_Ganne_-_2001_-_Espace_Artemis_datacore_crayon.jpeg&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/2001-logo/Boris_Ganne_-_2001_-_Espace_Artemis_datacore_crayon.jpeg?w=400&amp;amp;h=300&amp;amp;tok=173e83&quot; alt=&quot;Boris_Ganne_-_2001_-_Espace_Artemis_datacore_crayon.jpeg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/2001-logo/Boris_Ganne_-_2001_-_Espace_Artemis_logix_crayon.jpeg?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 2001 - Espace Artemis Logix Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 2001 - Espace Artemis Logix Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/2001-logo/Boris_Ganne_-_2001_-_Espace_Artemis_logix_crayon.jpeg&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/2001-logo/Boris_Ganne_-_2001_-_Espace_Artemis_logix_crayon.jpeg?w=400&amp;amp;h=300&amp;amp;tok=7904f4&quot; alt=&quot;Boris_Ganne_-_2001_-_Espace_Artemis_logix_crayon.jpeg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/2001-logo/Boris_Ganne_-_2001_-_Espace_Artemis_polycom_crayon.jpeg?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 2001 - Espace Artemis Polycom Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 2001 - Espace Artemis Polycom Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/2001-logo/Boris_Ganne_-_2001_-_Espace_Artemis_polycom_crayon.jpeg&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/2001-logo/Boris_Ganne_-_2001_-_Espace_Artemis_polycom_crayon.jpeg?w=400&amp;amp;h=300&amp;amp;tok=f091a5&quot; alt=&quot;Boris_Ganne_-_2001_-_Espace_Artemis_polycom_crayon.jpeg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/2001-logo/Boris_Ganne_-_2001_-_GeoStat_stations_orbitales.svg?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 2001 - GeoStat Stations Orbitales&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 2001 - GeoStat Stations Orbitales&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/2001-logo/Boris_Ganne_-_2001_-_GeoStat_stations_orbitales.svg&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/2001-logo/Boris_Ganne_-_2001_-_GeoStat_stations_orbitales.svg?w=400&amp;amp;h=300&amp;amp;tok=35f82b&quot; alt=&quot;Boris_Ganne_-_2001_-_GeoStat_stations_orbitales.svg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Logos&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Logos&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;2060-2223&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit16&quot; id=&quot;Drones&quot;&gt;Drones&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;div id=&quot;plugin__gallery_0ff3&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__0ff3_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/2001-drones/Boris_Ganne_-_2001_-_Espace_Artemis_dr%C3%B4ne_antique.jpeg?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 2001 - Espace Artemis Drône Antique&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 2001 - Espace Artemis Drône Antique&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/2001-drones/Boris_Ganne_-_2001_-_Espace_Artemis_dr%C3%B4ne_antique.jpeg&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/2001-drones/Boris_Ganne_-_2001_-_Espace_Artemis_dr%C3%B4ne_antique.jpeg?w=400&amp;amp;h=300&amp;amp;tok=0aae1f&quot; alt=&quot;Boris_Ganne_-_2001_-_Espace_Artemis_drône_antique.jpeg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/2001-drones/Boris_Ganne_-_2001_-_Espace_Artemis_dr%C3%B4ne_civi%C3%A8re.jpeg?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 2001 - Espace Artemis Drône Civière&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 2001 - Espace Artemis Drône Civière&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/2001-drones/Boris_Ganne_-_2001_-_Espace_Artemis_dr%C3%B4ne_civi%C3%A8re.jpeg&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/2001-drones/Boris_Ganne_-_2001_-_Espace_Artemis_dr%C3%B4ne_civi%C3%A8re.jpeg?w=400&amp;amp;h=300&amp;amp;tok=0c7948&quot; alt=&quot;Boris_Ganne_-_2001_-_Espace_Artemis_drône_civière.jpeg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/2001-drones/Boris_Ganne_-_2001_-_Espace_Artemis_dr%C3%B4ne_messager.jpeg?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 2001 - Espace Artemis Drône Messager&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 2001 - Espace Artemis Drône Messager&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/2001-drones/Boris_Ganne_-_2001_-_Espace_Artemis_dr%C3%B4ne_messager.jpeg&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/2001-drones/Boris_Ganne_-_2001_-_Espace_Artemis_dr%C3%B4ne_messager.jpeg?w=400&amp;amp;h=300&amp;amp;tok=05f8f5&quot; alt=&quot;Boris_Ganne_-_2001_-_Espace_Artemis_drône_messager.jpeg&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Drones&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Drones&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;2224-2291&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit17&quot; id=&quot;s&quot;&gt;2000s&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div id=&quot;plugin__gallery_80d4&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__80d4_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/200x/Boris_Ganne_-_200x_-_ch%C3%A2teau_-_lavis_%C3%A0_l_encre_de_chine.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 200x - Château - Lavis À L Encre De Chine&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 200x - Château - Lavis À L Encre De Chine&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/200x/Boris_Ganne_-_200x_-_ch%C3%A2teau_-_lavis_%C3%A0_l_encre_de_chine.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/200x/Boris_Ganne_-_200x_-_ch%C3%A2teau_-_lavis_%C3%A0_l_encre_de_chine.png?w=400&amp;amp;h=300&amp;amp;tok=e4c3aa&quot; alt=&quot;Boris_Ganne_-_200x_-_château_-_lavis_à_l_encre_de_chine.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/200x/Boris_Ganne_-_200x_-_concert_au_bord_de_l_eau_-_%C3%A9bauche_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 200x - Concert Au Bord De L Eau - Ébauche Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 200x - Concert Au Bord De L Eau - Ébauche Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/200x/Boris_Ganne_-_200x_-_concert_au_bord_de_l_eau_-_%C3%A9bauche_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/200x/Boris_Ganne_-_200x_-_concert_au_bord_de_l_eau_-_%C3%A9bauche_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=f1c8b6&quot; alt=&quot;Boris_Ganne_-_200x_-_concert_au_bord_de_l_eau_-_ébauche_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;2000s&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;s&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;2292-2355&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit18&quot; id=&quot;Espace_Artemis1&quot;&gt;Espace Artemis&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Espace Artemis&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Espace_Artemis1&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:18,&amp;quot;range&amp;quot;:&amp;quot;2356-2382&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit19&quot; id=&quot;Motorep&quot;&gt;Motorep&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Some illustrations for the Espace Artemis role-playing game universe
&lt;/p&gt;

&lt;p&gt;
A motorep. For this image, I used several sources, the details of which I no longer have links.&lt;br /&gt;
There is at least one image of a snowmobile, one image of a NASA experimental aircraft, and one image of a cloudscape.
&lt;/p&gt;
&lt;div id=&quot;plugin__gallery_3c73&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__3c73_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/200x-motorep/Boris_Ganne_-_200x_-_Espace_Artemis_motorep_-_retouche_photo.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 200x - Espace Artemis Motorep - Retouche Photo&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 200x - Espace Artemis Motorep - Retouche Photo&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/200x-motorep/Boris_Ganne_-_200x_-_Espace_Artemis_motorep_-_retouche_photo.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/200x-motorep/Boris_Ganne_-_200x_-_Espace_Artemis_motorep_-_retouche_photo.png?w=400&amp;amp;h=300&amp;amp;tok=39c439&quot; alt=&quot;Boris_Ganne_-_200x_-_Espace_Artemis_motorep_-_retouche_photo.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Motorep&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Motorep&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:19,&amp;quot;range&amp;quot;:&amp;quot;2383-2737&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit20&quot; id=&quot;Orbital_Stations&quot;&gt;Orbital Stations&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
For the Artemis Space game universe, I designed an orbital station similar to the Earth Station in the game, and drew some details.
&lt;/p&gt;
&lt;div id=&quot;plugin__gallery_cfa1&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__cfa1_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_detail_Escalier_colima%C3%A7on_2.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 200x - Espace Artemis Detail Escalier Colimaçon 2&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 200x - Espace Artemis Detail Escalier Colimaçon 2&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_detail_Escalier_colima%C3%A7on_2.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_detail_Escalier_colima%C3%A7on_2.png?w=400&amp;amp;h=300&amp;amp;tok=5051e5&quot; alt=&quot;Boris_Ganne_-_200x_-_Espace_Artemis_detail_Escalier_colimaçon_2.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_Escalier_colima%C3%A7on.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 200x - Espace Artemis Escalier Colimaçon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 200x - Espace Artemis Escalier Colimaçon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_Escalier_colima%C3%A7on.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_Escalier_colima%C3%A7on.png?w=400&amp;amp;h=300&amp;amp;tok=f14c02&quot; alt=&quot;Boris_Ganne_-_200x_-_Espace_Artemis_Escalier_colimaçon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_Escalier_colima%C3%A7on_dans_baie_laterale_station_Terr_2.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 200x - Espace Artemis Escalier Colimaçon Dans Baie Laterale Station Terr 2&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 200x - Espace Artemis Escalier Colimaçon Dans Baie Laterale Station Terr 2&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_Escalier_colima%C3%A7on_dans_baie_laterale_station_Terr_2.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_Escalier_colima%C3%A7on_dans_baie_laterale_station_Terr_2.png?w=400&amp;amp;h=300&amp;amp;tok=30e907&quot; alt=&quot;Boris_Ganne_-_200x_-_Espace_Artemis_Escalier_colimaçon_dans_baie_laterale_station_Terr_2.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_Station_Terr_3.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 200x - Espace Artemis Station Terr 3&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 200x - Espace Artemis Station Terr 3&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_Station_Terr_3.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_Station_Terr_3.png?w=400&amp;amp;h=300&amp;amp;tok=5412e6&quot; alt=&quot;Boris_Ganne_-_200x_-_Espace_Artemis_Station_Terr_3.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_Station_Terr_detail_2.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 200x - Espace Artemis Station Terr Detail 2&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 200x - Espace Artemis Station Terr Detail 2&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_Station_Terr_detail_2.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_Station_Terr_detail_2.png?w=400&amp;amp;h=300&amp;amp;tok=39b482&quot; alt=&quot;Boris_Ganne_-_200x_-_Espace_Artemis_Station_Terr_detail_2.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_Station_Terr_d%C3%A9tail_1_niveau_9_porte_vers_baie_laterale.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 200x - Espace Artemis Station Terr Détail 1 Niveau 9 Porte Vers Baie Laterale&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 200x - Espace Artemis Station Terr Détail 1 Niveau 9 Porte Vers Baie Laterale&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_Station_Terr_d%C3%A9tail_1_niveau_9_porte_vers_baie_laterale.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_Station_Terr_d%C3%A9tail_1_niveau_9_porte_vers_baie_laterale.png?w=400&amp;amp;h=300&amp;amp;tok=49d3f1&quot; alt=&quot;Boris_Ganne_-_200x_-_Espace_Artemis_Station_Terr_détail_1_niveau_9_porte_vers_baie_laterale.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_Station_Terr_d%C3%A9tail_2_niveau_9_porte_ouverte_vers_baie_laterale.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 200x - Espace Artemis Station Terr Détail 2 Niveau 9 Porte Ouverte Vers Baie Laterale&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 200x - Espace Artemis Station Terr Détail 2 Niveau 9 Porte Ouverte Vers Baie Laterale&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_Station_Terr_d%C3%A9tail_2_niveau_9_porte_ouverte_vers_baie_laterale.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_Station_Terr_d%C3%A9tail_2_niveau_9_porte_ouverte_vers_baie_laterale.png?w=400&amp;amp;h=300&amp;amp;tok=f0ac85&quot; alt=&quot;Boris_Ganne_-_200x_-_Espace_Artemis_Station_Terr_détail_2_niveau_9_porte_ouverte_vers_baie_laterale.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_Station_terr_d%C3%A9tail_7.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 200x - Espace Artemis Station Terr Détail 7&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 200x - Espace Artemis Station Terr Détail 7&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_Station_terr_d%C3%A9tail_7.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_Station_terr_d%C3%A9tail_7.png?w=400&amp;amp;h=300&amp;amp;tok=6dae81&quot; alt=&quot;Boris_Ganne_-_200x_-_Espace_Artemis_Station_terr_détail_7.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_Station_Terr_ensemble.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 200x - Espace Artemis Station Terr Ensemble&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 200x - Espace Artemis Station Terr Ensemble&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_Station_Terr_ensemble.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/200x-stations/Boris_Ganne_-_200x_-_Espace_Artemis_Station_Terr_ensemble.png?w=400&amp;amp;h=300&amp;amp;tok=6a4bef&quot; alt=&quot;Boris_Ganne_-_200x_-_Espace_Artemis_Station_Terr_ensemble.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Orbital Stations&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Orbital_Stations&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:20,&amp;quot;range&amp;quot;:&amp;quot;2738-2949&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit21&quot; id=&quot;Tank_in_the_Desert&quot;&gt;Tank in the Desert&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
For the Artemis Space game booklet, I illustrated the passage of the tank full of water, abandoned in the desert. 
&lt;/p&gt;
&lt;div id=&quot;plugin__gallery_1d55&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__1d55_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/200x-cuve/Boris_Ganne_-_200x_-_Espace_Artemis_Cuve_dans_le_desert.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 200x - Espace Artemis Cuve Dans Le Desert&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 200x - Espace Artemis Cuve Dans Le Desert&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/200x-cuve/Boris_Ganne_-_200x_-_Espace_Artemis_Cuve_dans_le_desert.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/200x-cuve/Boris_Ganne_-_200x_-_Espace_Artemis_Cuve_dans_le_desert.png?w=400&amp;amp;h=300&amp;amp;tok=6cfb8f&quot; alt=&quot;Boris_Ganne_-_200x_-_Espace_Artemis_Cuve_dans_le_desert.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/200x-cuve/Boris_Ganne_-_200x_-_Espace_Artemis_Cuve_dans_le_desert_2.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 200x - Espace Artemis Cuve Dans Le Desert 2&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 200x - Espace Artemis Cuve Dans Le Desert 2&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/200x-cuve/Boris_Ganne_-_200x_-_Espace_Artemis_Cuve_dans_le_desert_2.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/200x-cuve/Boris_Ganne_-_200x_-_Espace_Artemis_Cuve_dans_le_desert_2.png?w=400&amp;amp;h=300&amp;amp;tok=3154cb&quot; alt=&quot;Boris_Ganne_-_200x_-_Espace_Artemis_Cuve_dans_le_desert_2.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Tank in the Desert&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Tank_in_the_Desert&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:21,&amp;quot;range&amp;quot;:&amp;quot;2950-3142&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit22&quot; id=&quot;section1998&quot;&gt;1998&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div id=&quot;plugin__gallery_59cd&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__59cd_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Ar%C3%A8nes_couvertes_-_encre.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1998 - Arènes Couvertes - Encre&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1998 - Arènes Couvertes - Encre&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Ar%C3%A8nes_couvertes_-_encre.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Ar%C3%A8nes_couvertes_-_encre.png?w=400&amp;amp;h=300&amp;amp;tok=087708&quot; alt=&quot;Boris_Ganne_-_1998_-_Arènes_couvertes_-_encre.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Ar%C3%A8nes_couvertes_-_%C3%A9bauche_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1998 - Arènes Couvertes - Ébauche Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1998 - Arènes Couvertes - Ébauche Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Ar%C3%A8nes_couvertes_-_%C3%A9bauche_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Ar%C3%A8nes_couvertes_-_%C3%A9bauche_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=f666b3&quot; alt=&quot;Boris_Ganne_-_1998_-_Arènes_couvertes_-_ébauche_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Dans_la_for%C3%AAt_clairsem%C3%A9e_-_%C3%A9bauche_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1998 - Dans La Forêt Clairsemée - Ébauche Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1998 - Dans La Forêt Clairsemée - Ébauche Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Dans_la_for%C3%AAt_clairsem%C3%A9e_-_%C3%A9bauche_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Dans_la_for%C3%AAt_clairsem%C3%A9e_-_%C3%A9bauche_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=689671&quot; alt=&quot;Boris_Ganne_-_1998_-_Dans_la_forêt_clairsemée_-_ébauche_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Gueule_de_troll_-_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1998 - Gueule De Troll - Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1998 - Gueule De Troll - Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Gueule_de_troll_-_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Gueule_de_troll_-_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=840dbc&quot; alt=&quot;Boris_Ganne_-_1998_-_Gueule_de_troll_-_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Icones_pour_illustrer_les_rubriques_-_bitmap.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1998 - Icones Pour Illustrer Les Rubriques - Bitmap&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1998 - Icones Pour Illustrer Les Rubriques - Bitmap&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Icones_pour_illustrer_les_rubriques_-_bitmap.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Icones_pour_illustrer_les_rubriques_-_bitmap.png?w=400&amp;amp;h=300&amp;amp;tok=d52968&quot; alt=&quot;Boris_Ganne_-_1998_-_Icones_pour_illustrer_les_rubriques_-_bitmap.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_La_gare_-_encre.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1998 - La Gare - Encre&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1998 - La Gare - Encre&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_La_gare_-_encre.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_La_gare_-_encre.png?w=400&amp;amp;h=300&amp;amp;tok=e7dbc6&quot; alt=&quot;Boris_Ganne_-_1998_-_La_gare_-_encre.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Le_calice_-_encre.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1998 - Le Calice - Encre&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1998 - Le Calice - Encre&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Le_calice_-_encre.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Le_calice_-_encre.png?w=400&amp;amp;h=300&amp;amp;tok=7d26cf&quot; alt=&quot;Boris_Ganne_-_1998_-_Le_calice_-_encre.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Samoura%C3%AFs_noirs_-_bitmap.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1998 - Samouraïs Noirs - Bitmap&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1998 - Samouraïs Noirs - Bitmap&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Samoura%C3%AFs_noirs_-_bitmap.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Samoura%C3%AFs_noirs_-_bitmap.png?w=400&amp;amp;h=300&amp;amp;tok=534b90&quot; alt=&quot;Boris_Ganne_-_1998_-_Samouraïs_noirs_-_bitmap.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Sombre_ruelle_-_encre.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1998 - Sombre Ruelle - Encre&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1998 - Sombre Ruelle - Encre&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Sombre_ruelle_-_encre.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Sombre_ruelle_-_encre.png?w=400&amp;amp;h=300&amp;amp;tok=3c6b06&quot; alt=&quot;Boris_Ganne_-_1998_-_Sombre_ruelle_-_encre.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Vue_du_monast%C3%A8re_-_encre.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1998 - Vue Du Monastère - Encre&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1998 - Vue Du Monastère - Encre&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Vue_du_monast%C3%A8re_-_encre.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1998/Boris_Ganne_-_1998_-_Vue_du_monast%C3%A8re_-_encre.png?w=400&amp;amp;h=300&amp;amp;tok=b5d8df&quot; alt=&quot;Boris_Ganne_-_1998_-_Vue_du_monastère_-_encre.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;1998&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section1998&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:22,&amp;quot;range&amp;quot;:&amp;quot;3143-3205&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit23&quot; id=&quot;section1997&quot;&gt;1997&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div id=&quot;plugin__gallery_8d6c&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__8d6c_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_Balmir._le_ch%C3%A2teau_-_encre.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1997 - Balmir. Le Château - Encre&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1997 - Balmir. Le Château - Encre&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_Balmir._le_ch%C3%A2teau_-_encre.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_Balmir._le_ch%C3%A2teau_-_encre.png?w=400&amp;amp;h=300&amp;amp;tok=63b3c6&quot; alt=&quot;Boris_Ganne_-_1997_-_Balmir._le_château_-_encre.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_Chemin_et_torrent_de_montagne_-_%C3%A9tude_au_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1997 - Chemin Et Torrent De Montagne - Étude Au Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1997 - Chemin Et Torrent De Montagne - Étude Au Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_Chemin_et_torrent_de_montagne_-_%C3%A9tude_au_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_Chemin_et_torrent_de_montagne_-_%C3%A9tude_au_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=7fcfd8&quot; alt=&quot;Boris_Ganne_-_1997_-_Chemin_et_torrent_de_montagne_-_étude_au_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_Hotel_nirvana_dans_n%C3%A9o_soleil_-_encre.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1997 - Hotel Nirvana Dans Néo Soleil - Encre&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1997 - Hotel Nirvana Dans Néo Soleil - Encre&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_Hotel_nirvana_dans_n%C3%A9o_soleil_-_encre.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_Hotel_nirvana_dans_n%C3%A9o_soleil_-_encre.png?w=400&amp;amp;h=300&amp;amp;tok=271fbe&quot; alt=&quot;Boris_Ganne_-_1997_-_Hotel_nirvana_dans_néo_soleil_-_encre.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_La_carte_du_joueur.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1997 - La Carte Du Joueur&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1997 - La Carte Du Joueur&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_La_carte_du_joueur.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_La_carte_du_joueur.png?w=400&amp;amp;h=300&amp;amp;tok=3a160e&quot; alt=&quot;Boris_Ganne_-_1997_-_La_carte_du_joueur.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_La_navette_des_pj_-_bitmap.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1997 - La Navette Des Pj - Bitmap&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1997 - La Navette Des Pj - Bitmap&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_La_navette_des_pj_-_bitmap.png?w=1600&amp;amp;h=1089&amp;amp;tok=437518&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_La_navette_des_pj_-_bitmap.png?w=400&amp;amp;h=300&amp;amp;tok=fe8461&quot; alt=&quot;Boris_Ganne_-_1997_-_La_navette_des_pj_-_bitmap.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_N%C3%A9o_soleil_-_encre.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1997 - Néo Soleil - Encre&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1997 - Néo Soleil - Encre&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_N%C3%A9o_soleil_-_encre.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_N%C3%A9o_soleil_-_encre.png?w=400&amp;amp;h=300&amp;amp;tok=333b2e&quot; alt=&quot;Boris_Ganne_-_1997_-_Néo_soleil_-_encre.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_Pr%C3%A9paration_d_une_ronde_-_encre.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1997 - Préparation D Une Ronde - Encre&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1997 - Préparation D Une Ronde - Encre&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_Pr%C3%A9paration_d_une_ronde_-_encre.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_Pr%C3%A9paration_d_une_ronde_-_encre.png?w=400&amp;amp;h=300&amp;amp;tok=f3f28f&quot; alt=&quot;Boris_Ganne_-_1997_-_Préparation_d_une_ronde_-_encre.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_Relais_-_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1997 - Relais - Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1997 - Relais - Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_Relais_-_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_Relais_-_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=295ce2&quot; alt=&quot;Boris_Ganne_-_1997_-_Relais_-_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_Ville_de_la_grande_vall%C3%A9e_-_encre_et_gouache.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1997 - Ville De La Grande Vallée - Encre Et Gouache&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1997 - Ville De La Grande Vallée - Encre Et Gouache&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_Ville_de_la_grande_vall%C3%A9e_-_encre_et_gouache.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1997/Boris_Ganne_-_1997_-_Ville_de_la_grande_vall%C3%A9e_-_encre_et_gouache.png?w=400&amp;amp;h=300&amp;amp;tok=8fd964&quot; alt=&quot;Boris_Ganne_-_1997_-_Ville_de_la_grande_vallée_-_encre_et_gouache.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;1997&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section1997&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:23,&amp;quot;range&amp;quot;:&amp;quot;3206-3268&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit24&quot; id=&quot;section1996&quot;&gt;1996&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div id=&quot;plugin__gallery_2475&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__2475_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Chemin_vers_la_maison_en_ruine_-_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1996 - Chemin Vers La Maison En Ruine - Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1996 - Chemin Vers La Maison En Ruine - Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Chemin_vers_la_maison_en_ruine_-_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Chemin_vers_la_maison_en_ruine_-_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=9421b3&quot; alt=&quot;Boris_Ganne_-_1996_-_Chemin_vers_la_maison_en_ruine_-_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Chemin_vers_la_maison_en_ruine_-_encre.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1996 - Chemin Vers La Maison En Ruine - Encre&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1996 - Chemin Vers La Maison En Ruine - Encre&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Chemin_vers_la_maison_en_ruine_-_encre.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Chemin_vers_la_maison_en_ruine_-_encre.png?w=400&amp;amp;h=300&amp;amp;tok=8d2ccc&quot; alt=&quot;Boris_Ganne_-_1996_-_Chemin_vers_la_maison_en_ruine_-_encre.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Circulation_%C3%A0_deux_niveau_pietons_au_dessus_-_encre.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1996 - Circulation À Deux Niveau Pietons Au Dessus - Encre&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1996 - Circulation À Deux Niveau Pietons Au Dessus - Encre&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Circulation_%C3%A0_deux_niveau_pietons_au_dessus_-_encre.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Circulation_%C3%A0_deux_niveau_pietons_au_dessus_-_encre.png?w=400&amp;amp;h=300&amp;amp;tok=c3c34e&quot; alt=&quot;Boris_Ganne_-_1996_-_Circulation_à_deux_niveau_pietons_au_dessus_-_encre.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Circulation_%C3%A0_deux_niveau_pietons_au_dessus_-_%C3%A9bauche_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1996 - Circulation À Deux Niveau Pietons Au Dessus - Ébauche Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1996 - Circulation À Deux Niveau Pietons Au Dessus - Ébauche Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Circulation_%C3%A0_deux_niveau_pietons_au_dessus_-_%C3%A9bauche_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Circulation_%C3%A0_deux_niveau_pietons_au_dessus_-_%C3%A9bauche_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=987a06&quot; alt=&quot;Boris_Ganne_-_1996_-_Circulation_à_deux_niveau_pietons_au_dessus_-_ébauche_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Circulation_%C3%A0_deux_niveau_voies_rapides_en_dessous_-_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1996 - Circulation À Deux Niveau Voies Rapides En Dessous - Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1996 - Circulation À Deux Niveau Voies Rapides En Dessous - Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Circulation_%C3%A0_deux_niveau_voies_rapides_en_dessous_-_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Circulation_%C3%A0_deux_niveau_voies_rapides_en_dessous_-_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=51a976&quot; alt=&quot;Boris_Ganne_-_1996_-_Circulation_à_deux_niveau_voies_rapides_en_dessous_-_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Combat_contre_un_dragon_volant_-_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1996 - Combat Contre Un Dragon Volant - Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1996 - Combat Contre Un Dragon Volant - Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Combat_contre_un_dragon_volant_-_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Combat_contre_un_dragon_volant_-_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=e46716&quot; alt=&quot;Boris_Ganne_-_1996_-_Combat_contre_un_dragon_volant_-_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Coupe_sh%C3%A9matique_pour_les_mains_-_%C3%A9bauche_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1996 - Coupe Shématique Pour Les Mains - Ébauche Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1996 - Coupe Shématique Pour Les Mains - Ébauche Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Coupe_sh%C3%A9matique_pour_les_mains_-_%C3%A9bauche_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Coupe_sh%C3%A9matique_pour_les_mains_-_%C3%A9bauche_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=1a2d70&quot; alt=&quot;Boris_Ganne_-_1996_-_Coupe_shématique_pour_les_mains_-_ébauche_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Guerrier_nain_-_encre.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1996 - Guerrier Nain - Encre&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1996 - Guerrier Nain - Encre&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Guerrier_nain_-_encre.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Guerrier_nain_-_encre.png?w=400&amp;amp;h=300&amp;amp;tok=66b0a3&quot; alt=&quot;Boris_Ganne_-_1996_-_Guerrier_nain_-_encre.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Jardin_en_contrebas_-_gouache.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1996 - Jardin En Contrebas - Gouache&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1996 - Jardin En Contrebas - Gouache&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Jardin_en_contrebas_-_gouache.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Jardin_en_contrebas_-_gouache.png?w=400&amp;amp;h=300&amp;amp;tok=488991&quot; alt=&quot;Boris_Ganne_-_1996_-_Jardin_en_contrebas_-_gouache.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_La_mort_punk_-_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1996 - La Mort Punk - Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1996 - La Mort Punk - Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_La_mort_punk_-_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_La_mort_punk_-_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=362833&quot; alt=&quot;Boris_Ganne_-_1996_-_La_mort_punk_-_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Le_passage_du_marais_-_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1996 - Le Passage Du Marais - Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1996 - Le Passage Du Marais - Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Le_passage_du_marais_-_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Le_passage_du_marais_-_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=f59c53&quot; alt=&quot;Boris_Ganne_-_1996_-_Le_passage_du_marais_-_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Le_passage_du_marais_-_%C3%A9bauche_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1996 - Le Passage Du Marais - Ébauche Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1996 - Le Passage Du Marais - Ébauche Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Le_passage_du_marais_-_%C3%A9bauche_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Le_passage_du_marais_-_%C3%A9bauche_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=3dc2ea&quot; alt=&quot;Boris_Ganne_-_1996_-_Le_passage_du_marais_-_ébauche_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Tour_au_soleil_couchant_-_%C3%A9bauche_gouache.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1996 - Tour Au Soleil Couchant - Ébauche Gouache&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1996 - Tour Au Soleil Couchant - Ébauche Gouache&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Tour_au_soleil_couchant_-_%C3%A9bauche_gouache.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Tour_au_soleil_couchant_-_%C3%A9bauche_gouache.png?w=400&amp;amp;h=300&amp;amp;tok=295ad9&quot; alt=&quot;Boris_Ganne_-_1996_-_Tour_au_soleil_couchant_-_ébauche_gouache.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Vall%C3%A9e_glaci%C3%A8re_-_%C3%A9bauche_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1996 - Vallée Glacière - Ébauche Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1996 - Vallée Glacière - Ébauche Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Vall%C3%A9e_glaci%C3%A8re_-_%C3%A9bauche_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Vall%C3%A9e_glaci%C3%A8re_-_%C3%A9bauche_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=c484ea&quot; alt=&quot;Boris_Ganne_-_1996_-_Vallée_glacière_-_ébauche_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Ville_%C3%A0_niveaux_de_circulation_multiples_-_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1996 - Ville À Niveaux De Circulation Multiples - Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1996 - Ville À Niveaux De Circulation Multiples - Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Ville_%C3%A0_niveaux_de_circulation_multiples_-_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1996/Boris_Ganne_-_1996_-_Ville_%C3%A0_niveaux_de_circulation_multiples_-_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=907693&quot; alt=&quot;Boris_Ganne_-_1996_-_Ville_à_niveaux_de_circulation_multiples_-_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;1996&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section1996&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:24,&amp;quot;range&amp;quot;:&amp;quot;3269-3331&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit25&quot; id=&quot;section1995&quot;&gt;1995&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div id=&quot;plugin__gallery_ff4e&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__ff4e_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1995/Boris_Ganne_-_1995_-_ch%C3%A2teau_au_dragon_-_lavis_%C3%A0_l_encre_de_chine.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1995 - Château Au Dragon - Lavis À L Encre De Chine&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1995 - Château Au Dragon - Lavis À L Encre De Chine&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1995/Boris_Ganne_-_1995_-_ch%C3%A2teau_au_dragon_-_lavis_%C3%A0_l_encre_de_chine.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1995/Boris_Ganne_-_1995_-_ch%C3%A2teau_au_dragon_-_lavis_%C3%A0_l_encre_de_chine.png?w=400&amp;amp;h=300&amp;amp;tok=453e06&quot; alt=&quot;Boris_Ganne_-_1995_-_château_au_dragon_-_lavis_à_l_encre_de_chine.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1995/Boris_Ganne_-_1995_-_Le_ch%C3%A2teau_-_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1995 - Le Château - Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1995 - Le Château - Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1995/Boris_Ganne_-_1995_-_Le_ch%C3%A2teau_-_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1995/Boris_Ganne_-_1995_-_Le_ch%C3%A2teau_-_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=20f074&quot; alt=&quot;Boris_Ganne_-_1995_-_Le_château_-_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;1995&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section1995&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:25,&amp;quot;range&amp;quot;:&amp;quot;3332-3394&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit26&quot; id=&quot;section1994&quot;&gt;1994&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div id=&quot;plugin__gallery_edcf&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__edcf_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1994/Boris_Ganne_-_1994_-_Ville_en_ruine_de_nuit_-_encre.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1994 - Ville En Ruine De Nuit - Encre&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1994 - Ville En Ruine De Nuit - Encre&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1994/Boris_Ganne_-_1994_-_Ville_en_ruine_de_nuit_-_encre.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1994/Boris_Ganne_-_1994_-_Ville_en_ruine_de_nuit_-_encre.png?w=400&amp;amp;h=300&amp;amp;tok=deafce&quot; alt=&quot;Boris_Ganne_-_1994_-_Ville_en_ruine_de_nuit_-_encre.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;1994&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section1994&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:26,&amp;quot;range&amp;quot;:&amp;quot;3395-3457&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit27&quot; id=&quot;section1992&quot;&gt;1992&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div id=&quot;plugin__gallery_3740&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__3740_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1992/Boris_Ganne_-_1992_-_Auberge_et_un_arbre_-_encre.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1992 - Auberge Et Un Arbre - Encre&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1992 - Auberge Et Un Arbre - Encre&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1992/Boris_Ganne_-_1992_-_Auberge_et_un_arbre_-_encre.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1992/Boris_Ganne_-_1992_-_Auberge_et_un_arbre_-_encre.png?w=400&amp;amp;h=300&amp;amp;tok=b0c1c6&quot; alt=&quot;Boris_Ganne_-_1992_-_Auberge_et_un_arbre_-_encre.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1992/Boris_Ganne_-_1992_-_Chemin_et_pont_sabot%C3%A9_-_encre.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1992 - Chemin Et Pont Saboté - Encre&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1992 - Chemin Et Pont Saboté - Encre&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1992/Boris_Ganne_-_1992_-_Chemin_et_pont_sabot%C3%A9_-_encre.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1992/Boris_Ganne_-_1992_-_Chemin_et_pont_sabot%C3%A9_-_encre.png?w=400&amp;amp;h=300&amp;amp;tok=92bb5c&quot; alt=&quot;Boris_Ganne_-_1992_-_Chemin_et_pont_saboté_-_encre.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1992/Boris_Ganne_-_1992_-_Vall%C3%A9e_glaci%C3%A8re_-_encre.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1992 - Vallée Glacière - Encre&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1992 - Vallée Glacière - Encre&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1992/Boris_Ganne_-_1992_-_Vall%C3%A9e_glaci%C3%A8re_-_encre.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1992/Boris_Ganne_-_1992_-_Vall%C3%A9e_glaci%C3%A8re_-_encre.png?w=400&amp;amp;h=300&amp;amp;tok=a6692b&quot; alt=&quot;Boris_Ganne_-_1992_-_Vallée_glacière_-_encre.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1992/Boris_Ganne_-_1992_-_Ville_avec_un_espace_pietons_et_de_la_v%C3%A9g%C3%A9tation_en_terrasse_-_%C3%A9bauche_crayon_et_encre.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1992 - Ville Avec Un Espace Pietons Et De La Végétation En Terrasse - Ébauche Crayon Et Encre&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1992 - Ville Avec Un Espace Pietons Et De La Végétation En Terrasse - Ébauche Crayon Et Encre&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1992/Boris_Ganne_-_1992_-_Ville_avec_un_espace_pietons_et_de_la_v%C3%A9g%C3%A9tation_en_terrasse_-_%C3%A9bauche_crayon_et_encre.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1992/Boris_Ganne_-_1992_-_Ville_avec_un_espace_pietons_et_de_la_v%C3%A9g%C3%A9tation_en_terrasse_-_%C3%A9bauche_crayon_et_encre.png?w=400&amp;amp;h=300&amp;amp;tok=f87e0b&quot; alt=&quot;Boris_Ganne_-_1992_-_Ville_avec_un_espace_pietons_et_de_la_végétation_en_terrasse_-_ébauche_crayon_et_encre.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/1992/Boris_Ganne_-_1992_-_Ville_cyberpunk_de_nuit_-_encre.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 1992 - Ville Cyberpunk De Nuit - Encre&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 1992 - Ville Cyberpunk De Nuit - Encre&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/1992/Boris_Ganne_-_1992_-_Ville_cyberpunk_de_nuit_-_encre.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/1992/Boris_Ganne_-_1992_-_Ville_cyberpunk_de_nuit_-_encre.png?w=400&amp;amp;h=300&amp;amp;tok=ec7128&quot; alt=&quot;Boris_Ganne_-_1992_-_Ville_cyberpunk_de_nuit_-_encre.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;1992&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section1992&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:27,&amp;quot;range&amp;quot;:&amp;quot;3458-3520&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit28&quot; id=&quot;s1&quot;&gt;1990s&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div id=&quot;plugin__gallery_dc86&quot; class=&quot;plugin-gallery align-full&quot;&gt;&lt;div class=&quot;gallery-page&quot; id=&quot;gallery__dc86_0&quot; style=&quot;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))&quot;&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_B%C3%A2timent_avec_colonnes_-_%C3%A9bauche_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 199x - Bâtiment Avec Colonnes - Ébauche Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 199x - Bâtiment Avec Colonnes - Ébauche Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_B%C3%A2timent_avec_colonnes_-_%C3%A9bauche_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_B%C3%A2timent_avec_colonnes_-_%C3%A9bauche_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=37cfe6&quot; alt=&quot;Boris_Ganne_-_199x_-_Bâtiment_avec_colonnes_-_ébauche_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_Chemin_et_briques_%C3%A0_flan_de_montagne_-_%C3%A9bauche_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 199x - Chemin Et Briques À Flan De Montagne - Ébauche Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 199x - Chemin Et Briques À Flan De Montagne - Ébauche Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_Chemin_et_briques_%C3%A0_flan_de_montagne_-_%C3%A9bauche_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_Chemin_et_briques_%C3%A0_flan_de_montagne_-_%C3%A9bauche_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=bee157&quot; alt=&quot;Boris_Ganne_-_199x_-_Chemin_et_briques_à_flan_de_montagne_-_ébauche_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_Chemin_%C3%A0_flan_de_montagne_-_%C3%A9bauche_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 199x - Chemin À Flan De Montagne - Ébauche Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 199x - Chemin À Flan De Montagne - Ébauche Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_Chemin_%C3%A0_flan_de_montagne_-_%C3%A9bauche_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_Chemin_%C3%A0_flan_de_montagne_-_%C3%A9bauche_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=0d5994&quot; alt=&quot;Boris_Ganne_-_199x_-_Chemin_à_flan_de_montagne_-_ébauche_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_Cr%C3%A2ne_punk_sur_treillis_-_poska.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 199x - Crâne Punk Sur Treillis - Poska&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 199x - Crâne Punk Sur Treillis - Poska&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_Cr%C3%A2ne_punk_sur_treillis_-_poska.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_Cr%C3%A2ne_punk_sur_treillis_-_poska.png?w=400&amp;amp;h=300&amp;amp;tok=ff1f08&quot; alt=&quot;Boris_Ganne_-_199x_-_Crâne_punk_sur_treillis_-_poska.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_Entr%C3%A9e_avec_arbre_-_%C3%A9bauche_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 199x - Entrée Avec Arbre - Ébauche Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 199x - Entrée Avec Arbre - Ébauche Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_Entr%C3%A9e_avec_arbre_-_%C3%A9bauche_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_Entr%C3%A9e_avec_arbre_-_%C3%A9bauche_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=5ad334&quot; alt=&quot;Boris_Ganne_-_199x_-_Entrée_avec_arbre_-_ébauche_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_La_mort_-_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 199x - La Mort - Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 199x - La Mort - Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_La_mort_-_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_La_mort_-_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=f6afda&quot; alt=&quot;Boris_Ganne_-_199x_-_La_mort_-_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_Montagnes_-_%C3%A9bauche_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 199x - Montagnes - Ébauche Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 199x - Montagnes - Ébauche Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_Montagnes_-_%C3%A9bauche_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_Montagnes_-_%C3%A9bauche_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=532275&quot; alt=&quot;Boris_Ganne_-_199x_-_Montagnes_-_ébauche_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_Montagne_avec_escalier_-_%C3%A9bauche_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 199x - Montagne Avec Escalier - Ébauche Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 199x - Montagne Avec Escalier - Ébauche Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_Montagne_avec_escalier_-_%C3%A9bauche_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_Montagne_avec_escalier_-_%C3%A9bauche_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=91d01b&quot; alt=&quot;Boris_Ganne_-_199x_-_Montagne_avec_escalier_-_ébauche_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_Mouvement_de_troupes_-_gouache.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 199x - Mouvement De Troupes - Gouache&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 199x - Mouvement De Troupes - Gouache&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_Mouvement_de_troupes_-_gouache.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_Mouvement_de_troupes_-_gouache.png?w=400&amp;amp;h=300&amp;amp;tok=4ae6fd&quot; alt=&quot;Boris_Ganne_-_199x_-_Mouvement_de_troupes_-_gouache.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_%C3%89tape_dans_la_montagne_-_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 199x - Étape Dans La Montagne - Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 199x - Étape Dans La Montagne - Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_%C3%89tape_dans_la_montagne_-_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_%C3%89tape_dans_la_montagne_-_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=eb08af&quot; alt=&quot;Boris_Ganne_-_199x_-_Étape_dans_la_montagne_-_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_%C3%89tape_dans_la_plaine-_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 199x - Étape Dans La Plaine- Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 199x - Étape Dans La Plaine- Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_%C3%89tape_dans_la_plaine-_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_%C3%89tape_dans_la_plaine-_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=c84b3a&quot; alt=&quot;Boris_Ganne_-_199x_-_Étape_dans_la_plaine-_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;gallery-image&quot;&gt;&lt;a href=&quot;https://err404.numericore.com/en/_detail/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_%C3%89tape_dans_la_plaine_n_2-_crayon.png?id=Illustrations%3ABoris_Ganne%3Astart&quot; title=&quot;Boris Ganne - 199x - Étape Dans La Plaine N 2- Crayon&quot; data-caption=&quot;&amp;lt;b&amp;gt;Boris Ganne - 199x - Étape Dans La Plaine N 2- Crayon&amp;lt;/b&amp;gt;&quot; class=&quot;lightbox JSnocheck&quot; rel=&quot;lightbox[gal-4b0a99096f1373b95ff43ffe04b6]&quot; data-url=&quot;/en/_media/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_%C3%89tape_dans_la_plaine_n_2-_crayon.png&quot;&gt;&lt;img width=&quot;400&quot; height=&quot;300&quot; src=&quot;/en/_media/Illustrations/Boris_Ganne/199x/Boris_Ganne_-_199x_-_%C3%89tape_dans_la_plaine_n_2-_crayon.png?w=400&amp;amp;h=300&amp;amp;tok=93fdf0&quot; alt=&quot;Boris_Ganne_-_199x_-_Étape_dans_la_plaine_n_2-_crayon.png&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;1990s&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;s1&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:28,&amp;quot;range&amp;quot;:&amp;quot;3521-&amp;quot;} --&gt;</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Mon, 20 Oct 2025 15:31:11 +0000</pubDate>
        </item>
        <item>
            <title>start</title>
            <link>https://err404.numericore.com/en/Illustrations/start</link>
            <description>&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;tabs plugin_wrap&quot;&gt;&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://err404.numericore.com/en/Illustrations/&quot; class=&quot;urlextern&quot; title=&quot;https://err404.numericore.com/en/Illustrations/&quot;&gt;English&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://err404.numericore.com/fr/Illustrations/&quot; class=&quot;urlextern&quot; title=&quot;https://err404.numericore.com/fr/Illustrations/&quot;&gt;Français&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
Boris GANNE illustrations:&lt;br /&gt;
&lt;a href=&quot;https://err404.numericore.com/en/Illustrations/Boris_Ganne/start&quot; class=&quot;media&quot; title=&quot;Illustrations:Boris_Ganne:start&quot; data-wiki-id=&quot;Illustrations:Boris_Ganne:start&quot;&gt;&lt;img src=&quot;https://err404.numericore.com/en/_media/Illustrations/Boris_Ganne/1995/Boris_Ganne_-_1995_-_ch%C3%A2teau_au_dragon_-_lavis_%C3%A0_l_encre_de_chine.png?w=200&amp;amp;tok=39a36e&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Mon, 20 Oct 2025 15:30:09 +0000</pubDate>
        </item>
        <item>
            <title>start</title>
            <link>https://err404.numericore.com/en/Misc/fail2ban/start</link>
            <description>&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;tabs plugin_wrap&quot;&gt;&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://err404.numericore.com/en/Misc/fail2ban/&quot; class=&quot;urlextern&quot; title=&quot;https://err404.numericore.com/en/Misc/fail2ban/&quot;&gt;English&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://err404.numericore.com/fr/Divers/fail2ban/&quot; class=&quot;urlextern&quot; title=&quot;https://err404.numericore.com/fr/Divers/fail2ban/&quot;&gt;Français&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
Fail2ban is a software that reads logs and bans IP addresses (IPv4 and IPv6) that abuse the system or perform actions that correspond to certain reasons for banning them.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://fr.wikipedia.org/wiki/Fail2ban&quot; class=&quot;urlextern&quot; title=&quot;https://fr.wikipedia.org/wiki/Fail2ban&quot;&gt;https://fr.wikipedia.org/wiki/Fail2ban&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
I find it unfortunate that certain errors (http 400, for example) are not banned by default.
&lt;/p&gt;

&lt;p&gt;
Here are my files:
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit3&quot; id=&quot;jails&quot;&gt;jails&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
excerpt from &lt;code&gt;/etc/fail2ban/jail.local&lt;/code&gt; (which is a copy of /etc/fail2ban/jail.conf)
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[nginx-3xx]
enabled = true
port    = http,https
logpath = /var/log/nginx/access.log
backend = polling
bantime = 30d



[nginx-4xx]
enabled = true
port    = http,https
logpath = /var/log/nginx/access.log
backend = polling
bantime = 30d


[nginx-400]
enabled = true
port    = http,https
logpath = /var/log/nginx/access.log
backend = polling
bantime = 30d
maxretry = 0&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;jails&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;jails&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;479-968&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit4&quot; id=&quot;Filters&quot;&gt;Filters&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
fichier complet pour &lt;code&gt;/etc/fail2ban/filter.d/nginx-3xx.conf&lt;/code&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[Definition]
failregex = ^&amp;lt;HOST&amp;gt;.*&amp;quot;(GET|POST|HEAD).*&amp;quot; (301|302) .*$
ignoreregex =&lt;/pre&gt;

&lt;p&gt;
complete file for  &lt;code&gt;/etc/fail2ban/filter.d/nginx-4xx.conf&lt;/code&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[Definition]
failregex = ^&amp;lt;HOST&amp;gt;.*&amp;quot;(GET|POST|HEAD).*&amp;quot; (404|444|403|405) .*$
ignoreregex =&lt;/pre&gt;

&lt;p&gt;
complete file for &lt;code&gt;/etc/fail2ban/filter.d/nginx-400.conf&lt;/code&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[Definition]
failregex = ^&amp;lt;HOST&amp;gt;.*&amp;quot;.*&amp;quot; (400) .*$
ignoreregex =&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Filters&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;Filters&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;969-&amp;quot;} --&gt;</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Tue, 09 Sep 2025 09:28:54 +0000</pubDate>
        </item>
        <item>
            <title>Boris_Ganne_-_200x_-_concert_au_bord_de_l_eau_-_ébauche_crayon.png - created</title>
            <link>https://err404.numericore.com/en/?image=Illustrations%3ABoris_Ganne%3A200x%3ABoris_Ganne_-_200x_-_concert_au_bord_de_l_eau_-_%C3%A9bauche_crayon.png&amp;ns=Illustrations%3ABoris_Ganne%3A200x&amp;do=media</link>
            <description>&lt;img src=&quot;https://err404.numericore.com/en/_media/Illustrations/Boris_Ganne/200x/Boris_Ganne_-_200x_-_concert_au_bord_de_l_eau_-_%C3%A9bauche_crayon.png?w=500&amp;amp;h=500&amp;amp;tok=d728cf&quot; alt=&quot;Boris_Ganne_-_200x_-_concert_au_bord_de_l_eau_-_ébauche_crayon.png&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Wed, 03 Sep 2025 12:52:17 +0000</pubDate>
        </item>
        <item>
            <title>Boris_Ganne_-_200x_-_château_-_lavis_à_l_encre_de_chine.png - created</title>
            <link>https://err404.numericore.com/en/?image=Illustrations%3ABoris_Ganne%3A200x%3ABoris_Ganne_-_200x_-_ch%C3%A2teau_-_lavis_%C3%A0_l_encre_de_chine.png&amp;ns=Illustrations%3ABoris_Ganne%3A200x&amp;do=media</link>
            <description>&lt;img src=&quot;https://err404.numericore.com/en/_media/Illustrations/Boris_Ganne/200x/Boris_Ganne_-_200x_-_ch%C3%A2teau_-_lavis_%C3%A0_l_encre_de_chine.png?w=500&amp;amp;h=500&amp;amp;tok=465089&quot; alt=&quot;Boris_Ganne_-_200x_-_château_-_lavis_à_l_encre_de_chine.png&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Wed, 03 Sep 2025 12:52:17 +0000</pubDate>
        </item>
        <item>
            <title>start</title>
            <link>https://err404.numericore.com/en/Misc/isolated_browser/start</link>
            <description>&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;tabs plugin_wrap&quot;&gt;&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://err404.numericore.com/en/Misc/isolated_browser/&quot; class=&quot;urlextern&quot; title=&quot;https://err404.numericore.com/en/Misc/isolated_browser/&quot;&gt;English&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://err404.numericore.com/fr/Divers/navigateur_isolé/&quot; class=&quot;urlextern&quot; title=&quot;https://err404.numericore.com/fr/Divers/navigateur_isolé/&quot;&gt;Français&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
In my web browser, I wanted to have &lt;strong&gt;isolated&lt;/strong&gt; browsing windows (which do not share their session cookies, for example).
&lt;/p&gt;

&lt;p&gt;
My usual settings are to delete all data and retain nothing from the history when closing the browser.&lt;br /&gt;
But the web browser&amp;#039;s private browsing windows share their session cookies and I don&amp;#039;t want that…&lt;br /&gt;
There are containers, but you have to decide which one to use each time, which is not practical.&lt;br /&gt;
So I quickly cobbled together a script that copies a new profile to &lt;code&gt;/tmp/browser-$name/&lt;/code&gt; (which is a copy of an existing profile) with a random path.&lt;br /&gt;
When you close this window, the temporary profile is deleted.&lt;br /&gt;
This allows you to have isolated windows and not clutter up disk space unnecessarily when closing the isolated window.&lt;br /&gt;
I also wanted to take advantage of saved passwords and bookmarks, which is why I use a reference profile.
&lt;/p&gt;

&lt;p&gt;
Here are two solutions: one for LibreWolf and one for Firefox
&lt;/p&gt;

&lt;h3 class=&quot;sectionedit3&quot; id=&quot;solution_for_LibreWolf&quot;&gt;solution for LibreWolf&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;#!/bin/bash&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# this file is distributed under version 3 or superior from GNU Public Licence&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# see https://www.gnu.org/licenses/gpl-3.0.en.html&lt;/span&gt;
&amp;nbsp;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# you need to personalise the source variable&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# there is the source profile for me:&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;source&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$HOME&lt;/span&gt;/.librewolf/*.pw&amp;quot;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# merci à ·☽•Nameless☆•777 · pour son idée d&#039;utiliser mktemp&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;randompath&lt;/span&gt;=$&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;mktemp&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-d&lt;/span&gt; XXXXXXXXX &lt;span class=&quot;re5&quot;&gt;--suffix&lt;/span&gt;=.browser &lt;span class=&quot;re5&quot;&gt;-p&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tmp&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw2&quot;&gt;cp&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-r&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${source}&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/*&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${randompath}&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;
librewolf &lt;span class=&quot;re5&quot;&gt;--profile&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${randompath}&lt;/span&gt;;  &lt;span class=&quot;kw2&quot;&gt;rm&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-r&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${randompath}&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;solution for LibreWolf&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;solution_for_LibreWolf&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1098-1633&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;solution_for_Firefox&quot;&gt;solution for Firefox&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;#!/bin/bash&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# this file is distributed under version 3 or superior from GNU Public Licence&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# see https://www.gnu.org/licenses/gpl-3.0.en.html&lt;/span&gt;
&amp;nbsp;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# you need to personalise the source variable&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# there is the source profile for me:&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;source&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$HOME&lt;/span&gt;/.mozilla/firefox/*.pw&amp;quot;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# merci à ·☽•Nameless☆•777 · pour son idée d&#039;utiliser mktemp&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;randompath&lt;/span&gt;=$&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;mktemp&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-d&lt;/span&gt; XXXXXXXXX &lt;span class=&quot;re5&quot;&gt;--suffix&lt;/span&gt;=.browser &lt;span class=&quot;re5&quot;&gt;-p&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tmp&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw2&quot;&gt;cp&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-r&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${source}&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/*&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${randompath}&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;
firefox &lt;span class=&quot;re5&quot;&gt;--profile&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${randompath}&lt;/span&gt;;  &lt;span class=&quot;kw2&quot;&gt;rm&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-r&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${randompath}&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;solution for Firefox&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;solution_for_Firefox&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1634-&amp;quot;} --&gt;</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Tue, 02 Sep 2025 09:53:45 +0000</pubDate>
        </item>
        <item>
            <title>start</title>
            <link>https://err404.numericore.com/en/notes/file_server_training/dokuwiki/start</link>
            <description>
&lt;p&gt;
DokuWiki is an open source wiki application licensed under GPLv2 and written in the PHP programming language. It works on plain text files and thus does not need a database.
&lt;/p&gt;

&lt;p&gt;
I usually install the following plugins:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;Bureaucracy&lt;/code&gt; Plugin de Andreas Gohr: Create forms and generate pages or emails from them.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;caption&lt;/code&gt; plugin de Till Biskup: Adding figure and table captions.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;cmsmode&lt;/code&gt; plugin de Andreas Gohr: Hide Wiki Features from non-logged in users.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;color syntax&lt;/code&gt; plugin de Harald Hanche-Olsen: Write colored text in DokuWiki.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;Gallery&lt;/code&gt; Plugin de Andreas Gohr: Creates a gallery of images from a namespace or RSS/ATOM feed.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;Move&lt;/code&gt; plugin de Michael Hamann, Gary Owen, …: Move and rename pages and media files whilst maintaining the links.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;Wrap&lt;/code&gt; Plugin de Anika Henke: Universal plugin which combines functionalities of many other plugins. Wrap wiki text inside containers (divs or spans) and give them a class (choose from a variety of preset classes), a width and/or a language with its associated text direction.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;XBR&lt;/code&gt; Plugin de Christopher Smith: A replacement for the standard dokuwiki renderer which keeps your line-breaks.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Mon, 01 Sep 2025 09:30:51 +0000</pubDate>
        </item>
        <item>
            <title>err404</title>
            <link>https://err404.numericore.com/en/user/err404</link>
            <description>
&lt;p&gt;
The server &lt;code&gt;err404.numericore.com&lt;/code&gt; is hosted in France, by me and under my responsability.&lt;br /&gt;
You can contact me via matrix at &lt;code&gt;@err404:matrix.numericore.com&lt;/code&gt; (also hosted in my server)
&lt;/p&gt;
</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Sat, 16 Aug 2025 08:42:38 +0000</pubDate>
        </item>
        <item>
            <title>start - created</title>
            <link>https://err404.numericore.com/en/notes/file_server_training/yunohost_VM/start</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;Yunohost_installation_in_virtual_machine&quot;&gt;Yunohost installation (in virtual machine)&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Add the Yunohost install ISO in Proxmox (&lt;a href=&quot;https://build.yunohost.org/yunohost-bullseye-11.0.9-amd64-stable.iso&quot; class=&quot;urlextern&quot; title=&quot;https://build.yunohost.org/yunohost-bullseye-11.0.9-amd64-stable.iso&quot;&gt;https://build.yunohost.org/yunohost-bullseye-11.0.9-amd64-stable.iso&lt;/a&gt;) to be placed inhttps:&lt;em&gt;your_server_proxmox:8006/# v1:0:=storage%2Fp0%2Flocal:4::=contentIso:::::2&lt;br /&gt;
  * Create a 30GB VM (specify to boot from the Yunohost ISO)&lt;br /&gt;
  * Give it at least 2 vpcu and a minimum of 1GB of RAM&lt;br /&gt;
&lt;br /&gt;
Select the graphical installation and follow the steps (leave the default values for most of the time)&lt;br /&gt;
&lt;span class=&quot;wrap_important &quot;&gt;&lt;span style=&#039;color:rgb(0%,0%,0%); &#039;&gt;Warning: the Yunohost installer is not very happy if it cannot find &lt;strong&gt;simd&lt;/strong&gt; support, but you still need to check &lt;strong&gt;Yes&lt;/strong&gt; to install it.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;img src=&quot;https://err404.numericore.com/en/_media/notes/formation_webperso/yunohost/simd_extension-yes.png?w=600&amp;amp;tok=713a06&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Once the installation is complete, simply connect to the machine&amp;#039;s IP address using a web browser.&lt;br /&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Sat, 16 Aug 2025 07:43:39 +0000</pubDate>
        </item>
        <item>
            <title>start - created</title>
            <link>https://err404.numericore.com/en/notes/file_server_training/lufi/start</link>
            <description>
&lt;p&gt;
Lufi is a file-sharing tool, similar to Dropbox.
&lt;/p&gt;
</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Fri, 15 Aug 2025 19:40:24 +0000</pubDate>
        </item>
        <item>
            <title>start - created</title>
            <link>https://err404.numericore.com/en/notes/file_server_training/jirafeau/start</link>
            <description>
&lt;p&gt;
jirafeau is a file-sharing tool, similar to Dropbox.
&lt;/p&gt;
</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Fri, 15 Aug 2025 19:36:01 +0000</pubDate>
        </item>
        <item>
            <title>start - created</title>
            <link>https://err404.numericore.com/en/notes/file_server_training/galene/start</link>
            <description>
&lt;p&gt;
Galène is a video conferencing server that is easy to deploy and requires few server resources. &lt;a href=&quot;https://galene.org/&quot; class=&quot;urlextern&quot; title=&quot;https://galene.org/&quot;&gt;https://galene.org/&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
For Yunohost, you will need to assign it a domain name or subdomain, for example visio.err404.numericore.com&lt;br /&gt;
&lt;span class=&quot;wrap_important &quot;&gt;&lt;span style=&#039;color:rgb(0%,0%,0%); &#039;&gt;If you do not have a public IPv6 address to assign to this machine, it will be very difficult to provide a real video conferencing service.
(It won&amp;#039;t work for everyone, and it&amp;#039;s best not to assign a public IPv4 address until you have a working TURN service.)&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_button plugin_wrap&quot;&gt;
&lt;p&gt;
&lt;a href=&quot;http://visio.err404.numericore.com&quot; class=&quot;urlextern&quot; title=&quot;http://visio.err404.numericore.com&quot;&gt;Galène Demo&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
In my Galène, I wanted to be the administrator (op), but I also wanted visitors to have some rights to present their screen or other things, so I added the line ‘’“presenter”: [{}],‘’ before the description, and I restarted the Galène service.&lt;br /&gt;
Here is what my public.json file looks like:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{
   &amp;quot;users&amp;quot;:{
      &amp;quot;err404&amp;quot;:{
         &amp;quot;permissions&amp;quot;:&amp;quot;op&amp;quot;,
         &amp;quot;password&amp;quot;:{&amp;quot;type&amp;quot;:&amp;quot;pbkdf2&amp;quot;,&amp;quot;hash&amp;quot;:&amp;quot;sha-256&amp;quot;,&amp;quot;key&amp;quot;:&amp;quot;xxxxxxxxxxxxxxxxxx&amp;quot;,&amp;quot;salt&amp;quot;:&amp;quot;yyyyyyyyyyyyyyyy&amp;quot;,&amp;quot;iterations&amp;quot;:4096}
         }
      },
      &amp;quot;presenter&amp;quot;: [{}],
      &amp;quot;description&amp;quot;:&amp;quot;name or password are optionals&amp;quot;,
      &amp;quot;public&amp;quot;:true,
      &amp;quot;allow-recording&amp;quot;:true,
      &amp;quot;auto-subgroups&amp;quot;:true
}&lt;/pre&gt;
</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Fri, 15 Aug 2025 19:30:15 +0000</pubDate>
        </item>
        <item>
            <title>files_server_on_a_old_laptop.jpg - créée</title>
            <link>https://err404.numericore.com/en/?image=notes%3Afiles_server_on_a_old_laptop.jpg&amp;ns=notes&amp;do=media</link>
            <description>&lt;img src=&quot;https://err404.numericore.com/en/_media/notes/files_server_on_a_old_laptop.jpg?w=500&amp;amp;h=500&amp;amp;tok=56afe1&quot; alt=&quot;files_server_on_a_old_laptop.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Wed, 13 Aug 2025 19:04:05 +0000</pubDate>
        </item>
        <item>
            <title>disque_dur.jpg - créée</title>
            <link>https://err404.numericore.com/en/?image=notes%3Adisque_dur.jpg&amp;ns=notes&amp;do=media</link>
            <description>&lt;img src=&quot;https://err404.numericore.com/en/_media/notes/disque_dur.jpg?w=500&amp;amp;h=500&amp;amp;tok=3ca85d&quot; alt=&quot;disque_dur.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
            <author>err404@undisclosed.example.com (err404  )</author>
            <pubDate>Wed, 13 Aug 2025 14:56:57 +0000</pubDate>
        </item>
    </channel>
</rss>
