diff --git a/src/components/GlossaryAside.astro b/src/components/GlossaryAside.astro
index d3876c2..e5d39aa 100644
--- a/src/components/GlossaryAside.astro
+++ b/src/components/GlossaryAside.astro
@@ -272,7 +272,8 @@ const relationSections = [
Portails
-
Parcours du glossaire
@@ -133,53 +132,54 @@ const portalLinks = [
.glossary-home-aside__block{
border: 1px solid rgba(127,127,127,0.22);
border-radius: 16px;
- padding: 12px;
+ padding: 14px;
background: rgba(127,127,127,0.05);
}
.glossary-home-aside__block--intro{
- padding-top: 11px;
- padding-bottom: 11px;
+ padding-top: 13px;
+ padding-bottom: 13px;
}
.glossary-home-aside__title{
- font-size: 14px;
+ font-size: 16px;
font-weight: 800;
letter-spacing: .2px;
- line-height: 1.25;
+ line-height: 1.3;
}
.glossary-home-aside__meta{
margin-top: 8px;
- font-size: 12px;
- line-height: 1.35;
- opacity: .78;
+ font-size: 13px;
+ line-height: 1.4;
+ opacity: .8;
}
.glossary-home-aside__pills{
display: flex;
flex-wrap: wrap;
- gap: 6px;
- margin-top: 10px;
+ gap: 7px;
+ margin-top: 11px;
}
.glossary-home-aside__pill{
display: inline-flex;
align-items: center;
- padding: 4px 9px;
+ padding: 5px 10px;
border: 1px solid rgba(127,127,127,0.24);
border-radius: 999px;
background: rgba(127,127,127,0.04);
- font-size: 12px;
- line-height: 1.3;
- opacity: .9;
+ font-size: 13px;
+ line-height: 1.35;
+ opacity: .92;
}
.glossary-home-aside__heading{
- margin: 0 0 10px;
- font-size: 13px;
+ margin: 0 0 11px;
+ font-size: 14px;
font-weight: 800;
- opacity: .9;
+ line-height: 1.35;
+ opacity: .94;
}
.glossary-home-aside__list{
@@ -189,13 +189,13 @@ const portalLinks = [
}
.glossary-home-aside__list li{
- margin: 6px 0;
+ margin: 7px 0;
}
.glossary-home-aside__list a{
text-decoration: none;
- font-size: 13px;
- line-height: 1.3;
+ font-size: 14px;
+ line-height: 1.4;
}
@media (prefers-color-scheme: dark){
diff --git a/src/content/glossaire/autarchicratie.md b/src/content/glossaire/autarchicratie.md
index 26eb2b2..ad49893 100644
--- a/src/content/glossaire/autarchicratie.md
+++ b/src/content/glossaire/autarchicratie.md
@@ -17,7 +17,7 @@ opposedTo: ["archicratie"]
seeAlso: ["tension", "hyperarcalite", "hypercratialite", "institution-invisible"]
---
-L’autarchicratie désigne une dérive d’un régime archicratique dans laquelle les architectures régulatrices continuent d’opérer tout en devenant de plus en plus autonomes, opaques et soustraites à la scène d’épreuve.
+L’autarchicratie désigne une dérive d’un méta-régime archicratique dans laquelle les architectures régulatrices continuent d’opérer tout en devenant de plus en plus autonomes, opaques et soustraites à la scène d’épreuve.
Dans une configuration autarchicratique, les dispositifs techniques, administratifs, normatifs ou organisationnels qui assurent la régulation des dynamiques collectives restent actifs et parfois efficaces, mais leur fonctionnement devient de moins en moins intelligible, discutable et transformable pour la société qu’ils structurent.
diff --git a/src/content/glossaire/co-viabilite.md b/src/content/glossaire/co-viabilite.md
index d644e14..9ac54e3 100644
--- a/src/content/glossaire/co-viabilite.md
+++ b/src/content/glossaire/co-viabilite.md
@@ -53,7 +53,7 @@ La co-viabilité peut être compromise par :
- l’accumulation non régulée des tensions ;
- la rupture des architectures de régulation ;
-- l’incompatibilisation durable de dynamiques sociales majeures ;
+- l’incompatibilité durable de dynamiques sociales majeures ;
- la dérive autarchicratique ;
- les formes de domination qui bloquent la révision des structures.
diff --git a/src/content/glossaire/desarchicration.md b/src/content/glossaire/desarchicration.md
index 032a0a5..11ffd36 100644
--- a/src/content/glossaire/desarchicration.md
+++ b/src/content/glossaire/desarchicration.md
@@ -52,7 +52,7 @@ La désarchicration peut conduire :
## Enjeu politique
-Nommer une désarchicration, c’est identifier un lieu où la régulation doit être rouvrie plutôt que simplement dénoncée.
+Nommer une désarchicration, c’est identifier un lieu où la régulation doit être réouverte plutôt que simplement dénoncée.
Le diagnostic a donc une portée stratégique : il repère les zones où une réinstitution des scènes est encore possible.
diff --git a/src/layouts/EditionLayout.astro b/src/layouts/EditionLayout.astro
index 23c744b..6c7140d 100644
--- a/src/layouts/EditionLayout.astro
+++ b/src/layouts/EditionLayout.astro
@@ -1529,27 +1529,39 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
return headerH() + PAGE_GAP + localH + (followH || 0) + HYST;
}
- function hasCrossed(el, lineY) {
+ function hasCrossedTop(el, lineY) {
return Boolean(el && el.getBoundingClientRect().top <= lineY);
}
+ function hasCrossedBottom(el, lineY) {
+ return Boolean(el && el.getBoundingClientRect().bottom <= lineY);
+ }
+
+ function getH2DisplayEl(item) {
+ return item?.h2 || item?.marker || item?.anchor || null;
+ }
+
+ function getH3DisplayEl(item) {
+ return item?.el || null;
+ }
+
function pickH2(lineY) {
if (!H2.length) return null;
let cand = null;
for (const t of H2) {
- if (hasCrossed(t.marker, lineY)) cand = t;
+ const box = getH2DisplayEl(t);
+ if (hasCrossedBottom(box, lineY)) cand = t;
else break;
}
- // Tant qu’aucun H2 n’a franchi la ligne de suivi,
- // on ne montre rien.
if (!cand) return null;
const down = (window.scrollY || 0) >= lastY;
if (!down && cand && curH2 && cand.id !== curH2.id) {
- const topNew = cand.marker.getBoundingClientRect().top;
- if (topNew > lineY - (HYST * 2)) cand = curH2;
+ const box = getH2DisplayEl(cand);
+ const bottomNew = box ? box.getBoundingClientRect().bottom : Infinity;
+ if (bottomNew > lineY + (HYST * 2)) cand = curH2;
}
return cand;
@@ -1586,7 +1598,8 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
let cand = null;
for (const t of scoped) {
- if (hasCrossed(t.el, lineY)) cand = t;
+ const box = getH3DisplayEl(t);
+ if (hasCrossedBottom(box, lineY)) cand = t;
else break;
}
@@ -1596,7 +1609,7 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
function maybeOpenActiveSection(activeH2, lineY) {
if (!activeH2 || !activeH2.id) return;
- const pre = activeH2.marker.getBoundingClientRect().top <= (lineY + 140);
+ const pre = hasCrossedTop(activeH2.marker, lineY + 140);
if (!pre) return;
if (activeH2.id !== lastOpenedH2) {
@@ -1625,13 +1638,13 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
curH3 = nextH3;
if (rfH2) {
- const show = Boolean(curH2 && hasCrossed(curH2.marker, lineY));
+ const show = Boolean(curH2 && hasCrossedBottom(getH2DisplayEl(curH2), lineY));
rfH2.hidden = !show;
if (show) rfH2.textContent = curH2.title;
}
if (rfH3) {
- const show = Boolean(curH3 && hasCrossed(curH3.el, lineY));
+ const show = Boolean(curH3 && hasCrossedBottom(getH3DisplayEl(curH3), lineY));
rfH3.hidden = !show;
if (show) rfH3.textContent = curH3.title;
}
diff --git a/src/pages/glossaire/[...slug].astro b/src/pages/glossaire/[...slug].astro
index d12aef3..c563524 100644
--- a/src/pages/glossaire/[...slug].astro
+++ b/src/pages/glossaire/[...slug].astro
@@ -65,13 +65,15 @@ const slugOf = (item) =>
const hrefOf = (item) => `/glossaire/${slugOf(item)}/`;
const collator = new Intl.Collator("fr", { sensitivity: "base", numeric: true });
-const bySlug = new Map(allEntries.map((item) => [slugOf(item), item]));
+const bySlug = new Map(
+ allEntries.map((item) => [slugOf(item).toLowerCase(), item])
+);
function resolveEntries(slugs = []) {
const seen = new Set();
return slugs
- .map((slug) => bySlug.get(String(slug || "").trim()))
+ .map((slug) => bySlug.get(String(slug || "").trim().toLowerCase()))
.filter(Boolean)
.filter((item) => {
const slug = slugOf(item);
@@ -125,6 +127,10 @@ const kindLabels = {
verbe: "Verbe",
paradigme: "Paradigme",
doctrine: "Doctrine",
+ dispositif: "Dispositif",
+ figure: "Figure",
+ qualification: "Qualification",
+ epistemologie: "Épistémologie",
};
const domainLabels = {
@@ -145,13 +151,13 @@ const displayFamily =
kindLabels[entry.data.kind] ??
"Fiche";
-const displayDomain =
- domainLabels[entry.data.domain] ??
- entry.data.domain;
+const displayDomain = entry.data.domain
+ ? (domainLabels[entry.data.domain] ?? entry.data.domain)
+ : "";
-const displayLevel =
- levelLabels[entry.data.level] ??
- entry.data.level;
+const displayLevel = entry.data.level
+ ? (levelLabels[entry.data.level] ?? entry.data.level)
+ : "";
const hasScholarlyMeta =
(entry.data.mobilizedAuthors?.length ?? 0) > 0 ||
@@ -161,6 +167,7 @@ const hasScholarlyMeta =
- {entry.data.definitionShort} -
++ {entry.data.definitionShort} +
+ +Parcours du glossaire
Le paradigme archicratique propose d’intelligibiliser les sociétés humaines à partir de leurs architectures de régulation : @@ -265,20 +266,43 @@ const translationCount = casIaEntries.length; ordre collectif se fonde, s’effectue, se met en scène, se ferme, s’expose ou se réouvre.
-- Il ne réduit donc jamais la régulation à une seule logique. Il cherche - au contraire à penser ensemble les prises de fondation, les chaînes - d’effectuation, les scènes de comparution, les dynamiques de fermeture - ou d’oblitération et les conditions de la co-viabilité d’un monde - commun. -
-- Cette page sert de portail de synthèse. Elle organise une vue d’ensemble - du système archicratique : son noyau conceptuel, son architecture - interne, ses formes typologiques, ses comparaisons théoriques, ses - tensions irréductibles et ses traductions contemporaines, notamment - dans le cas des systèmes d’IA. -
+ ++ Il ne réduit donc jamais la régulation à une seule logique. Il cherche + au contraire à penser ensemble les prises de fondation, les chaînes + d’effectuation, les scènes de comparution, les dynamiques de fermeture + ou d’oblitération et les conditions de la co-viabilité d’un monde + commun. +
+ ++ Cette page sert de portail de synthèse. Elle organise une vue d’ensemble + du système archicratique : son noyau conceptuel, son architecture + interne, ses formes typologiques, ses comparaisons théoriques, ses + tensions irréductibles et ses traductions contemporaines, notamment + dans le cas des systèmes d’IA. +
+Le paradigme archicratique ne pense pas seulement ce qui régule, mais aussi les lieux, les formats et les conditions par lesquels @@ -425,7 +449,7 @@ const translationCount = casIaEntries.length; {dynamicEntries.length > 0 && (
Toute architecture de régulation se transforme, se ferme, se dégrade ou se réouvre. Le paradigme ne décrit donc pas seulement @@ -445,7 +469,7 @@ const translationCount = casIaEntries.length; {methodEntries.length > 0 && (
Le paradigme suppose enfin des figures, des qualifications et des instruments d’analyse capables de rendre la régulation lisible, @@ -483,7 +507,7 @@ const translationCount = casIaEntries.length; {typologyEntries.length > 0 && (
Le paradigme ne vaut pas seulement comme noyau conceptuel. Il s’ouvre aussi sur une typologie des formes de régulation et sur @@ -504,7 +528,7 @@ const translationCount = casIaEntries.length; {paradigmEntries.length > 0 && (
L’archicratie ne s’élabore pas dans un vide théorique. Elle dialogue avec plusieurs paradigmes qui éclairent ses voisinages, @@ -530,7 +554,7 @@ const translationCount = casIaEntries.length; {doctrineEntries.length > 0 && (
Certaines doctrines classiques continuent de servir de contrepoints ou de points de départ obligés. Le paradigme archicratique les @@ -603,7 +627,7 @@ const translationCount = casIaEntries.length; {casIaEntries.length > 0 && (