diff --git a/config.toml b/config.toml
index 59e192a5cf24cc4fdb19c1fa6eb73343ce508a82..dd3fecdabcc74f96b9ff590c12a7dbad9dac61cc 100644
--- a/config.toml
+++ b/config.toml
@@ -23,6 +23,21 @@ logo = "/img/duniter.png"
 content_source = "https://git.duniter.org/websites/duniter_website_fr_v2/-/tree/master/content/"
 flag = "🇫🇷"
 
+# customize navigation links
+[extra.nav.links]
+left = [
+    "monnaie-libre.md",
+    "g1.md",
+    "logiciels/_index.md",
+    "toile-de-confiance.md",
+    "contributeurs/_index.md",
+]
+right = [
+    "blog/_index.md",
+    "wiki/_index.md",
+    "faq/_index.md",
+]
+
 # links to translated version of the site
 [extra.translations.en]
 base_url = "https://duniter.org/"
diff --git a/content/blog/2023-04-28-duniter-web3.md b/content/blog/2023-04-28-duniter-web3.md
index cf4db1934522aaebd79d2fa9b20f165ba5a157b3..3d5e83f9161e149740ecaac3d30785dc2573d874 100644
--- a/content/blog/2023-04-28-duniter-web3.md
+++ b/content/blog/2023-04-28-duniter-web3.md
@@ -55,7 +55,7 @@ Les algorithmes de consensus de la blockchain peuvent être sans [permission ou
 Les algorithmes sans permission connus, comme la *preuve de travail* de Bitcoin, sont lents et gourmands en énergie. C'est pourquoi de nombreuses blockchains se sont orientées vers des algorithmes avec permission, comme la *preuve d'enjeu* ou la *preuve d'autorité*. Alors que Duniter v1 utilisait une preuve mixte ([en savoir plus](@/blog/2017-05-02-preuve-de-travail.md)), Duniter v2 est maintenant prêt à utiliser le mécanisme de preuve d'identité entièrement décentralisé fourni par sa toile de confiance en combinaison avec l'algorithme hybride <a href="https://research.web3.foundation/en/latest/polkadot/block-production/Babe.html"><abbr title="Blind Assignment for Blockchain Extension">BABE</abbr></a>/<a href="https://research.web3.foundation/en/latest/polkadot/finality.html"><abbr title="Greedy Heaviest-Observed Sub-Tree">G</abbr><abbr title="GHOST-based Recursive ANcestor Deriving Prefix Agreement">RANDPA</abbr></a>. Alors que la toile de confiance principale est accessible à tout le monde, un sous-ensemble de celle-ci appellée "toile de confiance forgeron", avec des exigences de sécurité élevées, permettra de participer à l'écriture des blocs. Il s'agira alors du premier consensus de blockchain utilisant une couche de permission entièrement décentralisée avec [preuve d'identité](https://en.wikipedia.org/wiki/Proof_of_identity_(blockchain_consensus)) (PoID) pour BABE. C'est un autre moyen de se rapprocher d'une véritable démocratie sur blockchain (le prochain moyen le plus proche étant, à mon avis, la [NPoS](https://wiki.polkadot.network/docs/learn-consensus#nominated-proof-of-stake)).
 
 ## Conception communautaire "orientée outil"
-Alors que de nombreux projets Web3 appliquent une démarche de conception "orientée produit", l'écosystème logiciel Duniter est "orienté outil". Il n'essaie pas de créer des besoins avec un marketing agressif, mais répond aux différents besoins des utilisateurs. Il suffit de regarder la galaxie des logiciels libres [connectés à la blockchain de Duniter](@/ecosysteme.md) pour se faire une idée de la diversité d'utilisation de cette monnaie par rapport à l'aspect principalement financier des *crypto-tokens*.
+Alors que de nombreux projets Web3 appliquent une démarche de conception "orientée produit", l'écosystème logiciel Duniter est "orienté outil". Il n'essaie pas de créer des besoins avec un marketing agressif, mais répond aux différents besoins des utilisateurs. Il suffit de regarder la galaxie des logiciels libres [connectés à la blockchain de Duniter](@/logiciels/_index.md) pour se faire une idée de la diversité d'utilisation de cette monnaie par rapport à l'aspect principalement financier des *crypto-tokens*.
 
 ## Futur de Duniter
 Jusqu'à présent, Duniter était principalement confiné aux utilisateurs francophones, mais il s'ouvre au monde extérieur en traduisant sa documentation en anglais et en espagnol et en [réécrivant son cœur](@/blog/2022-01-29-duniter-substrate.md) dans le *framework* Substrate. Cela facilitera l'interopérabilité avec d'autres blockchains et l'extension de son réseau de confiance, l'un de ses principaux atouts.
diff --git a/content/ecosysteme.md b/content/ecosysteme.md
deleted file mode 100644
index e5890b82e55880d9efa8d518456fde433ee4ead5..0000000000000000000000000000000000000000
--- a/content/ecosysteme.md
+++ /dev/null
@@ -1,9 +0,0 @@
-+++
-title = "Logiciels"
-template = "custom/4-logiciels.html"
-weight = 3
-description = "Un large éventail logiciel constitue l'écosystème de la monnaie libre ǧ1."
-
-[taxonomies]
-tags = ["Duniter", "Cesium", "Silkaj"]
-+++
diff --git a/content/logiciels/TEMPLATE.md b/content/logiciels/TEMPLATE.md
new file mode 100644
index 0000000000000000000000000000000000000000..4c82f105648c28025119c8fdbf33b102424a3721
--- /dev/null
+++ b/content/logiciels/TEMPLATE.md
@@ -0,0 +1,11 @@
++++
+title = "TEMPLATE"
+
+[extra]
+logo = "/img/logo.svg"
+repo = ""
+website = ""
+languages = ["", ]
+frameworks = ["", ]
+contributors = ["", ]
++++
\ No newline at end of file
diff --git a/content/logiciels/_index.md b/content/logiciels/_index.md
new file mode 100644
index 0000000000000000000000000000000000000000..2c1122f115ea1ec183543985e183bde3c672e56a
--- /dev/null
+++ b/content/logiciels/_index.md
@@ -0,0 +1,21 @@
++++
+title = "Logiciels"
+template = "custom/4-logiciels.html"
+weight = 3
+description = "Un large éventail logiciel constitue l'écosystème de la monnaie libre ǧ1."
+aliases = ["ecosysteme"]
+
+[extra]
+item_path = "logiciels/"
+
+[[extra.group]]
+name = "Écosystème logiciel"
+list = ["duniter", "cesium", "silkaj", "gchange", "wotwizard", "datapods"]
+group_by = 3
+[[extra.group]]
+name = "En développement"
+list = ["duniter-v2", "gecko", "tikka", "g1-companion", "ginkgo"]
+group_by = 3
+
+
++++
diff --git a/content/logiciels/cesium.md b/content/logiciels/cesium.md
new file mode 100644
index 0000000000000000000000000000000000000000..60e4ae4b87af2043a36a4e4e13c539bfe9e1a78d
--- /dev/null
+++ b/content/logiciels/cesium.md
@@ -0,0 +1,13 @@
++++
+title = "Cesium"
+
+[extra]
+logo = "/img/cesium.svg"
+repo = "https://git.duniter.org/clients/cesium-grp/cesium/"
+website = "https://cesium.app/fr/"
+languages = ["javascript",]
+frameworks = ["angularjs", "ionic"]
+contributors = ["kimamila", "matograine"]
++++
+
+Fondé sur les frameworks <strong>AngularJS</strong> et <strong>Ionic</strong>, <a href="https://cesium.app/">Cesium</a> est un client web également disponible sur smartphone.
\ No newline at end of file
diff --git a/content/logiciels/datapods.md b/content/logiciels/datapods.md
new file mode 100644
index 0000000000000000000000000000000000000000..cf14938f0557205cbf4017425bb7c7a9404ff334
--- /dev/null
+++ b/content/logiciels/datapods.md
@@ -0,0 +1,13 @@
++++
+title = "Datapods"
+
+[extra]
+logo = "/img/datapod.svg"
+repo = "https://git.duniter.org/clients/cesium-grp/cesium-plus-pod/"
+website = "http://doc.e-is.pro/cesium-plus-pod/REST_API.html"
+languages = ["java", ]
+frameworks = ["elasticsearch", ]
+contributors = ["kimamila", ]
++++
+
+Les <a href="http://doc.e-is.pro/cesium-plus-pod/REST_API.html">Datapods</a> sont une couche de données complémentaires hors-blockchain sur <strong>ElasticSearch</strong> qui sert pour les applications clients comme Cesium et Ğchange.
\ No newline at end of file
diff --git a/content/logiciels/duniter-v2.md b/content/logiciels/duniter-v2.md
new file mode 100644
index 0000000000000000000000000000000000000000..7fb3c0564aaa204a8c25603a1a2e44cc5c9df6c8
--- /dev/null
+++ b/content/logiciels/duniter-v2.md
@@ -0,0 +1,14 @@
++++
+title = "Duniter-v2s"
+
+[extra]
+logo = "/img/duniterv2.svg"
+repo = "https://git.duniter.org/nodes/rust/duniter-v2s"
+website = "https://duniter.fr/"
+languages = ["rust", ]
+frameworks = ["substrate", ]
+contributors = ["elois", "HugoTrentesaux", "tuxmain", "bgallois"]
++++
+
+
+<a href="https://git.duniter.org/nodes/rust/duniter-v2s">Duniter-v2s</a> est la version 2 de Duniter totalement ré-écrite sur le framework blockchain Substrate.
\ No newline at end of file
diff --git a/content/logiciels/duniter.md b/content/logiciels/duniter.md
new file mode 100644
index 0000000000000000000000000000000000000000..c1538d833ed37adca53dac24dcf4f8510a401de4
--- /dev/null
+++ b/content/logiciels/duniter.md
@@ -0,0 +1,13 @@
++++
+title = "Duniter"
+
+[extra]
+logo = "/img/duniter-logo_alt.svg"
+repo = "https://git.duniter.org/nodes/typescript/duniter/"
+website = "https://duniter.fr/"
+languages = ["javascript", "rust"]
+frameworks = ["nodejs"]
+contributors = ["cgeek", "elois"]
++++
+
+La blockchain de la Ğ1 fonctionne grâce à <a href="https://git.duniter.org/nodes/typescript/duniter/">Duniter</a>. Historiquement en <strong>Node.js</strong>, une migration progressive vers <strong>Rust</strong> est en cours.
\ No newline at end of file
diff --git a/content/logiciels/g1-companion.md b/content/logiciels/g1-companion.md
new file mode 100644
index 0000000000000000000000000000000000000000..b789f0b237b8f50402a06949996bfce9b9153c0f
--- /dev/null
+++ b/content/logiciels/g1-companion.md
@@ -0,0 +1,13 @@
++++
+title = "Äž1-compagnon"
+
+[extra]
+logo = "/img/g1compagnon.svg"
+repo = "https://git.duniter.org/clients/g1-compagnon"
+languages = ["javascript", ]
+frameworks = ["nuxt", ]
+contributors = ["ManUtopiK", ]
++++
+
+
+Extension de navigateur pour la gestion de clés Ǧ1v2. Elle expose une API permettant à n'importe quel site web de fournir des fonctionnalités liées à la Ǧ1v2.
\ No newline at end of file
diff --git a/content/logiciels/gchange.md b/content/logiciels/gchange.md
new file mode 100644
index 0000000000000000000000000000000000000000..763522bac95abf92e3af5adb31064452b4528115
--- /dev/null
+++ b/content/logiciels/gchange.md
@@ -0,0 +1,13 @@
++++
+title = "Äžchange"
+
+[extra]
+logo = "/img/gchange.png"
+repo = "https://git.duniter.org/marketplaces/gchange-client"
+website = "https://www.gchange.fr/"
+languages = ["javascript", ]
+
+contributors = ["kimamila", ]
++++
+
+C'est le logiciel de place de marché le plus utilisé. <a href="https://www.gchange.fr/">Ğchange</a> utilise les Datapod et une interface en <strong>Ionic</strong>.
\ No newline at end of file
diff --git a/content/logiciels/gecko.md b/content/logiciels/gecko.md
new file mode 100644
index 0000000000000000000000000000000000000000..929a807bcfc8dd072814de3161bac6008632371e
--- /dev/null
+++ b/content/logiciels/gecko.md
@@ -0,0 +1,13 @@
++++
+title = "Äžecko"
+
+[extra]
+logo = "/img/gecko.png"
+repo = "https://git.p2p.legal/axiom-team/gecko"
+website = ""
+languages = ["dart", ]
+frameworks = ["flutter", ]
+contributors = ["poka", ]
++++
+
+Le framework <strong>Flutter</strong> permet au client mobile axé transaction <a href="https://git.p2p.legal/axiom-team/gecko">Ğecko</a> d'atteindre de très bonnes performances. Les portefeuilles sont gérés via des bindings <strong>Rust</strong> et les données sont échangées via GVA et les Datapods.
\ No newline at end of file
diff --git a/content/logiciels/ginkgo.md b/content/logiciels/ginkgo.md
new file mode 100644
index 0000000000000000000000000000000000000000..a3c9524129529c28f7c47fc47bad22fde95b4c96
--- /dev/null
+++ b/content/logiciels/ginkgo.md
@@ -0,0 +1,13 @@
++++
+title = "Äž1nkgo"
+
+[extra]
+logo = "/img/ginkgo.svg"
+repo = "https://git.duniter.org/vjrj/ginkgo/"
+languages = ["dart", ]
+frameworks = ["flutter", ]
+contributors = ["vjrj", ]
++++
+
+
+Application <strong>Flutter</strong> utilisant l'API GVA de Duniter 1.9 permettant de faire des paiement rapides.
\ No newline at end of file
diff --git a/content/logiciels/silkaj.md b/content/logiciels/silkaj.md
new file mode 100644
index 0000000000000000000000000000000000000000..c999be3d767a51557908dac08d458541fce570c8
--- /dev/null
+++ b/content/logiciels/silkaj.md
@@ -0,0 +1,12 @@
++++
+title = "Silkaj"
+
+[extra]
+logo = "/img/silkaj.svg"
+repo = "https://git.duniter.org/clients/python/silkaj/"
+website = "https://silkaj.duniter.org/"
+languages = ["python"]
+contributors = ["moul", "vit"]
++++
+
+Client en ligne de commande développé en <strong>Python</strong>, <a href="https://silkaj.duniter.org/">Silkaj</a> permet notamment d'automatiser certaines tâches complexes.
\ No newline at end of file
diff --git a/content/logiciels/tikka.md b/content/logiciels/tikka.md
new file mode 100644
index 0000000000000000000000000000000000000000..f2ca5683859b3d47dbc15f02c18dd1df0abf15c9
--- /dev/null
+++ b/content/logiciels/tikka.md
@@ -0,0 +1,14 @@
++++
+title = "Tikka"
+
+[extra]
+logo = "/img/tikka.png"
+repo = ""
+website = ""
+languages = ["python", ]
+frameworks = ["pyqt", ]
+contributors = ["vit", ]
++++
+
+
+<a href="https://forum.duniter.org/t/naissance-aujourdhui-de-tikka-un-nouveau-client/7849">Tikka</a> est un client bureau en développement à destination des commerçants.
\ No newline at end of file
diff --git a/content/logiciels/wotwizard.md b/content/logiciels/wotwizard.md
new file mode 100644
index 0000000000000000000000000000000000000000..b8a94b4f91683adafa14dcbabb42036356c71d47
--- /dev/null
+++ b/content/logiciels/wotwizard.md
@@ -0,0 +1,12 @@
++++
+title = "WotWizard"
+
+[extra]
+logo = "/img/wizard.svg"
+repo = "https://git.duniter.org/gerard94/wotwizard"
+languages = ["go", ]
+contributors = ["gerard94", ]
++++
+
+
+Développé en <strong>Go</strong> et exposant une API <strong>GraphQL</strong>, <a href="https://git.duniter.org/gerard94/wotwizard">WotWizard</a> fournit des informations sur l'historique de la toile de confiance ansi que des prédictions sur les entrées.
\ No newline at end of file
diff --git a/templates/custom/4-logiciels.html b/templates/custom/4-logiciels.html
index 3dc57dbff10b6dfd177a33981edb5efa75b1d26b..e9de8129199c0ccd758b96fb9fd0ff7aac355d90 100644
--- a/templates/custom/4-logiciels.html
+++ b/templates/custom/4-logiciels.html
@@ -2,88 +2,31 @@
 
 {% block content %}
 <main class="w3-container w3-padding-64">
-
-    <section class="w3-content">
-        <h1 style="text-align: center;">Écosystème logiciel</h1>
-    </section>
-
-<section class="w3-content w3-padding-32">
-    <div class="titlecards">
-        <div class="w3-row-padding">
-            <div class="w3-col m4"> 
-                <a href="https://git.duniter.org/nodes/typescript/duniter/"><img src="/img/duniter-logo_alt.svg"/></a>
-                <h3>Duniter</h3>
-                <p>La blockchain de la Ğ1 fonctionne grâce à <a href="https://git.duniter.org/nodes/typescript/duniter/">Duniter</a>. Historiquement en <strong>Node.js</strong>, une migration progressive vers <strong>Rust</strong> est en cours.</p>
-            </div>
-            <div class="w3-col m4">
-                <a href="https://cesium.app/fr/"><img src="/img/cesium.svg"/></a>
-                <h3>Cesium</h3>
-                <p>Fondé sur les frameworks <strong>AngularJS</strong> et <strong>Ionic</strong>, <a href="https://cesium.app/">Cesium</a> est un client web également disponible sur smartphone.</p>
-            </div>
-            <div class="w3-col m4">
-                <a href="https://silkaj.duniter.org/"><img src="/img/silkaj.svg"/></a>
-                <h3>Silkaj</h3>
-                <p>Client en ligne de commande développé en <strong>Python</strong>, <a href="https://silkaj.duniter.org/">Silkaj</a> permet notamment d'automatiser certaines tâches complexes.</p>
-            </div>
-        </div>
-        <div class="w3-row-padding">
-            <div class="w3-col m4">
-                <a href="https://www.gchange.fr/"><img src="/img/gchange.png"/></a>
-                <h3>Äžchange</h3>                
-                <p>C'est le logiciel de place de marché le plus utilisé. <a href="https://www.gchange.fr/">Ğchange</a> utilise les Datapod et une interface en <strong>Ionic</strong>.</p>
-            </div>
-            <div class="w3-col m4">
-                <a href="https://github.com/duniter/WotWizard/"><img src="/img/wizard.svg"/></a>
-                <h3>WotWizard</h3>
-                <p>Développé en <strong>Go</strong> et exposant une API <strong>GraphQL</strong>, <a href="https://github.com/duniter/WotWizard/">WotWizard</a> fournit des informations sur l'historique de la toile de confiance ansi que des prédictions sur les entrées.</p>
-            </div>
-            <div class="w3-col m4"> 
-                <a href="http://doc.e-is.pro/cesium-plus-pod/REST_API.html"><img src="/img/datapod.svg"/></a>
-                <h3>Datapod</h3>
-                <p>Les <a href="http://doc.e-is.pro/cesium-plus-pod/REST_API.html">Datapods</a> sont une couche de données complémentaires hors-blockchain sur <strong>ElasticSearch</strong> qui sert pour les applications clients comme Cesium et Ğchange.</p>
-            </div>
-        </div>
-    </div>
-</section>
-
-
-<section class="w3-content w3-padding-32">
-    <div class="titlecards">
-        <h1>En développement</h1>
-        <div class="w3-row-padding">
-            <div class="w3-col m4">
-                <a href="https://git.duniter.org/nodes/rust/duniter-v2s"><img src="/img/duniterv2.svg"/></a>
-                <h3>Duniter-v2s</h3>
-                <p><a href="https://git.duniter.org/nodes/rust/duniter-v2s">Duniter-v2s</a> est la version 2 de Duniter totalement ré-écrite sur le framework blockchain Substrate.</p>
-            </div>
-
-            <div class="w3-col m4">
-                <a href="https://git.p2p.legal/axiom-team/gecko"><img src="/img/gecko.png"/></a>
-                <h3>Äžecko</h3>
-                <p>Le framework <strong>Flutter</strong> permet au client mobile axé transaction <a href="https://git.p2p.legal/axiom-team/gecko">Ğecko</a> d'atteindre de très bonnes performances. Les portefeuilles sont gérés via des bindings <strong>Rust</strong> et les données sont échangées via GVA et les Datapods.</p>
-            </div>
-
-            <div class="w3-col m4">
-                <a href="https://forum.duniter.org/t/naissance-aujourdhui-de-tikka-un-nouveau-client/7849"><img src="/img/tikka.png"/></a>
-                <h3>Tikka</h3>
-                <p><a href="https://forum.duniter.org/t/naissance-aujourdhui-de-tikka-un-nouveau-client/7849">Tikka</a> est un client bureau en développement à destination des commerçants.</p>
+    {% for group in section.extra.group %}
+    <section class="w3-content w3-padding-32">
+        <div class="titlecards">
+            <h1>{{group.name}}</h1>
+            <div class="w3-row-padding">
+                {% for item in group.list %}
+                {% set page = get_page(path=section.extra.item_path ~ item ~ ".md") %}
+                <div class="w3-col m4">
+                    <a href="{{page.extra.repo}}"><img src="{{page.extra.logo}}"/></a>
+                    <h3>{{page.title}}</h3>
+                    <p>{{page.content | safe}}</p>
+                </div>
+                {% if loop.index % group.group_by == 0 %}
+            </div>
+            <div class="w3-row-padding">
+                {% endif %}
+                {% endfor %}
             </div>
         </div>
+    </section>
+{% endfor %}
 
-        <div class="w3-row-padding">
-            <div class="w3-col m4">
-                <a href="https://git.duniter.org/clients/g1-compagnon"><img src="/img/g1compagnon.svg"/></a>
-                <h3>Ǧ1-compagnon</h3>
-                <p>Extension de navigateur pour la gestion de clés Ǧ1v2. Elle expose une API permettant à n'importe quel site web de fournir des fonctionnalités liées à la Ǧ1v2.</p>
-            </div>
-            <div class="w3-col m4">
-                <a href="https://git.duniter.org/vjrj/ginkgo/"><img src="/img/ginkgo.svg"/></a>
-                <h3>Äž1nkgo</h3>
-                <p>Application <strong>Flutter</strong> utilisant l'API GVA de Duniter 1.9 permettant de faire des paiement rapides.</p>
-            </div>
-        </div>
-    </div>
-</section>
+<hr>
+<hr>
+<hr>
 
 <section class="w3-content w3-padding-32">
     <div class="titlecards">
diff --git a/themes/albatros b/themes/albatros
index 0fe38e2f2a1b6e669e5590527948aefb103b217a..1dd59b7907d7f1c8c5029c27d355e5b7ad310b22 160000
--- a/themes/albatros
+++ b/themes/albatros
@@ -1 +1 @@
-Subproject commit 0fe38e2f2a1b6e669e5590527948aefb103b217a
+Subproject commit 1dd59b7907d7f1c8c5029c27d355e5b7ad310b22