Files
archicratie-edition/src/pages/glossaire/tensions-irreductibles.astro
Archicratia a9f2a5bbd4
All checks were successful
SMOKE / smoke (push) Successful in 5s
CI / build-and-anchors (push) Successful in 54s
CI / build-and-anchors (pull_request) Successful in 43s
feat(glossaire): harmonize portal pages and sticky reading ux
2026-03-26 12:58:17 +01:00

482 lines
17 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
import GlossaryLayout from "../../layouts/GlossaryLayout.astro";
import GlossaryPortalAside from "../../components/GlossaryPortalAside.astro";
import GlossaryPortalHero from "../../components/GlossaryPortalHero.astro";
import GlossaryPortalSection from "../../components/GlossaryPortalSection.astro";
import GlossaryPortalStickySync from "../../components/GlossaryPortalStickySync.astro";
import GlossaryPortalPanel from "../../components/GlossaryPortalPanel.astro";
import { getCollection } from "astro:content";
import {
buildGlossaryBySlug,
hrefOfGlossaryEntry,
} from "../../lib/glossary";
const entries = await getCollection("glossaire");
const collator = new Intl.Collator("fr", {
sensitivity: "base",
numeric: true,
});
const bySlug = buildGlossaryBySlug(entries);
const hrefOf = hrefOfGlossaryEntry;
function sortByTerm(list = []) {
return [...list].sort((a, b) => collator.compare(a.data.term, b.data.term));
}
const tension = bySlug.get("tension");
const coViabilite = bySlug.get("co-viabilite");
const sceneDepreuve = bySlug.get("scene-depreuve");
const archicration = bySlug.get("archicration");
const archicratie = bySlug.get("archicratie");
const foundationEntries = sortByTerm(
[tension, coViabilite, sceneDepreuve, archicration, archicratie].filter(Boolean)
);
const resonanceEntries = sortByTerm(
[
bySlug.get("gouvernementalite-algorithmique"),
bySlug.get("preemption-algorithmique"),
bySlug.get("democratie-deliberative"),
bySlug.get("cosmopolitique"),
bySlug.get("technodiversite-et-cosmotechnie"),
bySlug.get("pharmacologie-technique"),
].filter(Boolean)
);
const irreducibleTensions = [
{
index: "01",
slug: "subsistance-vivante-et-captation-capitalistique",
title: "Subsistance vivante / captation capitalistique",
text:
"Lorsque les conditions matérielles de la vie — eau, sol, temps, soin, énergie — sont traitées comme variables extractibles, la reproduction du vivant entre en conflit avec les logiques de rentabilité et daccumulation.",
},
{
index: "02",
slug: "travail-vivant-et-abstraction-de-la-valeur",
title: "Travail vivant / abstraction de la valeur",
text:
"Lorsque lactivité humaine concrète est fragmentée, désintermédiée ou précarisée tandis que la valeur se financiarise, se déterritorialise et se calcule à distance, la scène politique du travail tend à se dissoudre.",
},
{
index: "03",
slug: "egalisation-normative-et-differenciation-singuliere",
title: "Égalisation normative / différenciation singulière",
text:
"Lorsque luniversalité égalitaire menace décraser les écarts situés, ou quà linverse la singularisation radicale produit des régimes dexception, la régulation doit chercher une équité sans homogénéisation.",
},
{
index: "04",
slug: "liberte-daction-et-regimes-de-securite-algorithmique",
title: "Liberté daction / régimes de sécurité algorithmique",
text:
"Lorsque la protection, la surveillance, la notation ou la préemption encadrent les conduites au nom de la sécurité, la liberté devient incertaine comme capacité dagir hors-script et hors-cadre prévu.",
},
{
index: "05",
slug: "visibilite-mediatique-et-reconnaissance-symbolique",
title: "Visibilité médiatique / reconnaissance symbolique",
text:
"Lorsque lexposition publique remplace la reconnaissance politique, la visibilité nimplique plus dêtre entendu, considéré ni institué comme porteur dun différend légitime.",
},
{
index: "06",
slug: "regulation-technique-et-legitimation-democratique",
title: "Régulation technique / légitimation démocratique",
text:
"Lorsque des dispositifs techniques, algorithmiques ou automatisés prennent en charge des décisions normatives sans scène de validation collective, lorigine du pouvoir régulateur tend à soblitérer.",
},
{
index: "07",
slug: "souverainetes-territoriales-et-interdependances-globales",
title: "Souverainetés territoriales / interdépendances globales",
text:
"Lorsque les cadres politiques demeurent majoritairement étatiques alors que les crises sont réticulaires, planétaires et transversales, léchelle de la décision se désaccorde de léchelle des enjeux.",
},
{
index: "08",
slug: "formes-de-vie-et-cadres-dhabitabilite",
title: "Formes de vie / cadres dhabitabilité",
text:
"Lorsque les normes durbanité, de mobilité et dusage du territoire imposent une homogénéité fonctionnelle, elles entrent en tension avec la pluralité des manières dhabiter, humaines et non humaines.",
},
{
index: "09",
slug: "memoire-symbolique-et-instantaneite-computationnelle",
title: "Mémoire symbolique / instantanéité computationnelle",
text:
"Lorsque les régimes de calcul en temps réel dissolvent les temporalités longues de transmission, de récit et dhistoricisation, la continuité symbolique du commun devient fragile.",
},
{
index: "10",
slug: "coexistence-ontologique-et-necessite-regulatrice",
title: "Co-existence ontologique / nécessité régulatrice",
text:
"Lorsque laltérité culturelle, cognitive, biologique ou machinique interdit tout socle substantiel univoque, il faut pourtant instituer une scène commune de régulation sans essence préalable partagée.",
},
].map((item) => ({
...item,
entry: bySlug.get(item.slug) ?? null,
}));
const tensionsCount = irreducibleTensions.length;
const pageItems = [
{ href: "#orientation", label: "Orientation" },
{ href: "#dix-tensions", label: "Les dix tensions" },
...(foundationEntries.length > 0
? [{ href: "#articulations-fondamentales", label: "Articulations fondamentales" }]
: []),
...(resonanceEntries.length > 0
? [{ href: "#resonances-theoriques", label: "Résonances théoriques" }]
: []),
{ href: "#prolonger-la-lecture", label: "Prolonger la lecture" },
];
const usefulLinks = [
{ href: "/glossaire/tension/", label: "Tension" },
{ href: "/glossaire/scene-depreuve/", label: "Scène dépreuve" },
{ href: "/glossaire/archicration/", label: "Archicration" },
{ href: "/glossaire/co-viabilite/", label: "Co-viabilité" },
{ href: "/glossaire/dynamiques-archicratiques/", label: "Dynamiques archicratiques" },
];
const prolongerLinks = [
{
href: "/glossaire/dynamiques-archicratiques/",
title: "Dynamiques archicratiques",
text:
"Revenir aux processus de fermeture, doblitération et de dérive de la régulation.",
},
{
href: "/glossaire/archicrations/",
title: "Méta-régimes archicratiques",
text:
"Parcourir les grandes formes de co-viabilité qui stabilisent les tensions sans les abolir.",
},
{
href: "/glossaire/paradigmes/",
title: "Paradigmes et doctrines",
text:
"Situer ces tensions dans un paysage théorique plus large.",
},
{
href: "/glossaire/index-complet/",
title: "Index complet",
text:
"Retrouver lensemble des entrées du glossaire dans une navigation alphabétique intégrale.",
},
];
---
<GlossaryLayout
title="Tensions irréductibles"
version="1.0"
stickyMode="glossary-portal"
>
<Fragment slot="aside">
<GlossaryPortalAside
ariaLabel="Navigation des tensions irréductibles"
title="Tensions irréductibles"
meta={`${tensionsCount} tension${tensionsCount > 1 ? "s" : ""} structurale${tensionsCount > 1 ? "s" : ""}`}
pageItems={pageItems}
usefulLinks={usefulLinks}
/>
</Fragment>
<section class="tir-page">
<GlossaryPortalHero
prefix="tir"
kicker="Parcours du glossaire"
title="Tensions irréductibles"
intro="Cette page rassemble les dix tensions que le chapitre 5 présente comme ontologiquement irréductibles et politiquement fondatrices. Elles ne se confondent pas avec des tensions simplement sectorielles : elles désignent des lignes de conflictualité plus profondes, à partir desquelles une scène archicratique doit organiser la co-viabilité."
moreParagraphs={[
"Le point décisif nest donc pas de dresser un inventaire conjoncturel des crises, mais didentifier des foyers structuraux suffisamment fondamentaux pour traverser durablement les régulations collectives.",
]}
introMaxWidth="72ch"
followIntroMaxWidth="68ch"
moreMaxHeight="18rem"
/>
<GlossaryPortalSection
id="orientation"
title="Orientation"
intro="Dans cette perspective, une archicration ne supprime pas les tensions : elle les met en scène, les distribue, les hiérarchise, les arbitre ou les rend révisables. Les tensions irréductibles désignent ainsi le plan à partir duquel devient pensable lexigence même de régulation."
>
<div class="tir-note-card">
<strong>Point de méthode</strong>
<p>
Les tensions irréductibles relèvent ici dun <em>plan structural</em>.
Elles traversent ensuite des secteurs multiples — économiques,
écologiques, sociaux, médiatiques, technologiques, géopolitiques ou
culturels — sans se réduire à aucun dentre eux pris isolément.
</p>
</div>
</GlossaryPortalSection>
<GlossaryPortalSection
id="dix-tensions"
title="Les dix tensions irréductibles"
count={`${tensionsCount} tension${tensionsCount > 1 ? "s" : ""}`}
intro="Le chapitre 5 les présente comme les foyers majeurs de conflictualité auxquels une pensée archicratique doit se confronter."
>
<div class="tir-cards">
{irreducibleTensions.map((item) =>
item.entry ? (
<a class="tir-card tir-card--link" href={hrefOf(item.entry)}>
<div class="tir-card__index">{item.index}</div>
<h3>{item.title}</h3>
<p>{item.text}</p>
</a>
) : (
<article class="tir-card">
<div class="tir-card__index">{item.index}</div>
<h3>{item.title}</h3>
<p>{item.text}</p>
</article>
)
)}
</div>
</GlossaryPortalSection>
{foundationEntries.length > 0 && (
<GlossaryPortalSection
id="articulations-fondamentales"
title="Articulations fondamentales"
count={`${foundationEntries.length} notion${foundationEntries.length > 1 ? "s" : ""}`}
intro="Ces tensions ne prennent sens, dans le glossaire, quen relation avec quelques notions cardinales : la tension elle-même, la scène dépreuve, larchicration, la co-viabilité et larchicratie."
>
<GlossaryPortalPanel
id="notions-cardinales"
title="Notions cardinales"
count={`${foundationEntries.length} repère${foundationEntries.length > 1 ? "s" : ""}`}
surface={true}
className="tir-block"
>
<div class="tir-link-cards">
{foundationEntries.map((entry) => (
<a class="tir-link-card" href={hrefOf(entry)}>
<strong>{entry.data.term}</strong>
<span>{entry.data.definitionShort}</span>
{(entry.data.comparisonTraditions?.length ?? 0) > 0 && (
<small>
Traditions de comparaison : {entry.data.comparisonTraditions.join(" / ")}
</small>
)}
</a>
))}
</div>
</GlossaryPortalPanel>
</GlossaryPortalSection>
)}
{resonanceEntries.length > 0 && (
<GlossaryPortalSection
id="resonances-theoriques"
title="Résonances théoriques"
count={`${resonanceEntries.length} entrée${resonanceEntries.length > 1 ? "s" : ""}`}
intro="Plusieurs paradigmes déjà présents dans le glossaire permettent déclairer certains versants de ces tensions : gouvernementalité algorithmique, préemption, cosmopolitique, technodiversité, pharmacologie technique ou légitimation démocratique."
>
<GlossaryPortalPanel
id="paradigmes-et-resonances"
title="Paradigmes et résonances"
count={`${resonanceEntries.length} entrée${resonanceEntries.length > 1 ? "s" : ""}`}
surface={true}
className="tir-block"
>
<div class="tir-link-cards">
{resonanceEntries.map((entry) => (
<a class="tir-link-card" href={hrefOf(entry)}>
<strong>{entry.data.term}</strong>
<span>{entry.data.definitionShort}</span>
{(entry.data.mobilizedAuthors?.length ?? 0) > 0 && (
<small>
Auteurs mobilisés : {entry.data.mobilizedAuthors.join(" / ")}
</small>
)}
</a>
))}
</div>
</GlossaryPortalPanel>
</GlossaryPortalSection>
)}
<GlossaryPortalSection
id="prolonger-la-lecture"
title="Prolonger la lecture"
intro="Cette page fixe le socle conceptuel des tensions irréductibles. Elle pourra ensuite servir de base à un approfondissement plus détaillé, sans alourdir laccueil général du glossaire."
>
<div class="tir-link-cards">
{prolongerLinks.map((item) => (
<a class="tir-link-card" href={item.href}>
<strong>{item.title}</strong>
<span>{item.text}</span>
</a>
))}
</div>
</GlossaryPortalSection>
<GlossaryPortalSection
id="portee-densemble"
title="Portée densemble"
final={true}
>
<p>
Les tensions irréductibles ne décrivent pas des accidents secondaires de
la vie collective, mais les lignes de fracture à partir desquelles toute
régulation devient nécessaire. Elles indiquent pourquoi aucune
co-viabilité ne peut être pensée comme simple équilibre, et pourquoi une
archicration digne de ce nom doit toujours affronter, mettre en forme et
rouvrir ce qui ne peut être définitivement résorbé.
</p>
</GlossaryPortalSection>
</section>
<GlossaryPortalStickySync
heroMoreId="tir-hero-more"
heroToggleId="tir-hero-toggle"
/>
</GlossaryLayout>
<style>
.tir-page{
padding: 8px 0 24px;
}
.tir-note-card{
margin-top: 14px;
padding: 16px 18px;
border: 1px solid rgba(127,127,127,0.22);
border-radius: 16px;
background: rgba(127,127,127,0.05);
}
.tir-note-card strong{
display: block;
margin-bottom: 8px;
font-size: 15px;
line-height: 1.3;
}
.tir-note-card p{
margin: 0;
font-size: 14px;
line-height: 1.5;
opacity: .92;
}
.tir-block{
margin-top: 18px;
}
.tir-cards{
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 12px;
margin-top: 14px;
}
.tir-card{
display: flex;
flex-direction: column;
gap: 10px;
padding: 16px 18px;
border: 1px solid rgba(127,127,127,0.22);
border-radius: 16px;
background: rgba(127,127,127,0.05);
color: inherit;
}
.tir-card--link{
text-decoration: none;
transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
}
.tir-card--link:hover{
transform: translateY(-1px);
background: rgba(127,127,127,0.08);
border-color: rgba(0,217,255,0.16);
text-decoration: none;
}
.tir-card__index{
font-size: 12px;
font-weight: 800;
letter-spacing: .12em;
opacity: .72;
}
.tir-card h3{
margin: 0;
font-size: 16px;
line-height: 1.32;
}
.tir-card p{
margin: 0;
font-size: 14px;
line-height: 1.5;
opacity: .92;
}
.tir-link-cards{
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 12px;
margin-top: 14px;
}
.tir-link-card{
display: flex;
flex-direction: column;
gap: 8px;
padding: 14px 16px;
border: 1px solid rgba(127,127,127,0.22);
border-radius: 16px;
background: rgba(127,127,127,0.05);
text-decoration: none;
transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
}
.tir-link-card:hover{
transform: translateY(-1px);
background: rgba(127,127,127,0.08);
border-color: rgba(0,217,255,0.16);
text-decoration: none;
}
.tir-link-card strong{
font-size: 15px;
line-height: 1.3;
}
.tir-link-card span{
font-size: 14px;
line-height: 1.45;
opacity: .92;
}
.tir-link-card small{
font-size: 12px;
line-height: 1.4;
opacity: .72;
}
@media (prefers-color-scheme: dark){
.tir-note-card,
.tir-card,
.tir-link-card{
background: rgba(255,255,255,0.04);
}
.tir-card--link:hover,
.tir-link-card:hover{
background: rgba(255,255,255,0.07);
}
}
</style>