Files
archicratie-edition/src/pages/glossaire/paradigmes.astro
Archicratia f8e3ee4cca
All checks were successful
SMOKE / smoke (push) Successful in 5s
CI / build-and-anchors (push) Successful in 47s
CI / build-and-anchors (pull_request) Successful in 46s
feat(glossaire): harmonize portal pages with shared components
2026-03-25 23:49:00 +01:00

308 lines
10 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 { getCollection } from "astro:content";
import { hrefOfGlossaryEntry } from "../../lib/glossary";
const entries = await getCollection("glossaire");
const collator = new Intl.Collator("fr", { sensitivity: "base", numeric: true });
const hrefOf = hrefOfGlossaryEntry;
function sortByTerm(list = []) {
return [...list].sort((a, b) => collator.compare(a.data.term, b.data.term));
}
const paradigmes = sortByTerm(
entries.filter((entry) => entry.data.kind === "paradigme")
);
const doctrines = sortByTerm(
entries.filter((entry) => entry.data.kind === "doctrine")
);
const doctrinesCount = doctrines.length;
const paradigmesCount = paradigmes.length;
const pageItems = [
...(doctrines.length > 0
? [{ href: "#doctrines", label: "Doctrines fondatrices" }]
: []),
...(paradigmes.length > 0
? [{ href: "#paradigmes", label: "Paradigmes régulateurs" }]
: []),
{ href: "#prolonger-la-lecture", label: "Prolonger la lecture" },
];
const usefulLinks = [
{ href: "/glossaire/concepts-fondamentaux/", label: "Concepts fondamentaux" },
{ href: "/glossaire/scenes-archicratiques/", label: "Scènes archicratiques" },
{ href: "/glossaire/archicrations/", label: "Méta-régimes archicratiques" },
{ href: "/glossaire/dynamiques-archicratiques/", label: "Dynamiques archicratiques" },
{ href: "/glossaire/index-complet/", label: "Index complet" },
];
const prolongerLinks = [
{
href: "/glossaire/concepts-fondamentaux/",
title: "Concepts fondamentaux",
text:
"Revenir au noyau minimal : arcalité, cratialité, tension, archicration, co-viabilité, archicratie.",
},
{
href: "/glossaire/scenes-archicratiques/",
title: "Scènes archicratiques",
text:
"Comprendre où les architectures de régulation deviennent visibles, disputables et révisables.",
},
{
href: "/glossaire/archicrations/",
title: "Méta-régimes archicratiques",
text:
"Parcourir les grandes formes de co-viabilité et leurs modulations historiques.",
},
{
href: "/glossaire/index-complet/",
title: "Index complet",
text:
"Retrouver lensemble des entrées du glossaire dans une navigation alphabétique intégrale.",
},
];
---
<GlossaryLayout
title="Paradigmes et doctrines"
version="1.0"
stickyMode="glossary-portal"
>
<Fragment slot="aside">
<GlossaryPortalAside
ariaLabel="Navigation des paradigmes et doctrines"
title="Paradigmes et doctrines"
meta="doctrines fondatrices · paradigmes régulateurs"
pageItems={pageItems}
usefulLinks={usefulLinks}
/>
</Fragment>
<section class="theo-page">
<GlossaryPortalHero
prefix="theo"
kicker="Cartographie théorique"
title="Paradigmes et doctrines"
intro="Larchicratie ne se déploie pas dans le vide. Elle sinscrit dans un paysage intellectuel plus large où se croisent des doctrines fondatrices de lordre et des paradigmes de régulation des collectifs."
moreParagraphs={[
"On appellera ici doctrines fondatrices les formulations qui posent un principe premier de légitimité, de souveraineté ou dordre politique. On appellera paradigmes régulateurs les cadres théoriques qui décrivent des modes de tenue, de conflictualité, dadministration, de reproduction ou de transformation des sociétés.",
]}
introMaxWidth="72ch"
followIntroMaxWidth="68ch"
moreMaxHeight="18rem"
/>
<div class="theo-overview" aria-label="Repères de lecture théorique">
<article class="theo-overview__item">
<strong>Doctrines fondatrices</strong>
<span>Principes premiers de légitimité, de souveraineté et de fondation de lordre.</span>
</article>
<article class="theo-overview__item">
<strong>Paradigmes régulateurs</strong>
<span>Cadres décrivant la tenue, le conflit, ladministration ou la transformation des collectifs.</span>
</article>
<article class="theo-overview__item">
<strong>Portée comparative</strong>
<span>Le paysage dans lequel larchicratie situe ses proximités, ses écarts et sa singularité.</span>
</article>
</div>
{doctrines.length > 0 && (
<GlossaryPortalSection
id="doctrines"
title="Doctrines fondatrices"
count={`${doctrinesCount} entrée${doctrinesCount > 1 ? "s" : ""}`}
intro="Ces doctrines posent un principe premier dautorité, de légitimité ou dordre collectif. Elles servent de points de comparaison pour penser ce qui, dans une régulation, relève de la fondation, de la souveraineté ou du principe architectonique initial."
>
<div class="theo-cards">
{doctrines.map((entry) => (
<a class="theo-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>
)}
{(entry.data.comparisonTraditions?.length ?? 0) > 0 && (
<small>
Traditions de comparaison : {entry.data.comparisonTraditions.join(" / ")}
</small>
)}
</a>
))}
</div>
</GlossaryPortalSection>
)}
{paradigmes.length > 0 && (
<GlossaryPortalSection
id="paradigmes"
title="Paradigmes régulateurs"
count={`${paradigmesCount} entrée${paradigmesCount > 1 ? "s" : ""}`}
intro="Ces paradigmes décrivent des formes de conflictualité, de gouvernement, de régulation, de reproduction ou de transformation des collectifs. Ils constituent le champ théorique au sein duquel larchicratie entre en discussion, se compare et précise sa singularité."
>
<div class="theo-cards">
{paradigmes.map((entry) => (
<a class="theo-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>
)}
{(entry.data.comparisonTraditions?.length ?? 0) > 0 && (
<small>
Traditions de comparaison : {entry.data.comparisonTraditions.join(" / ")}
</small>
)}
</a>
))}
</div>
</GlossaryPortalSection>
)}
<GlossaryPortalSection
id="prolonger-la-lecture"
title="Prolonger la lecture"
intro="Cette page sert de portail entre la cartographie théorique générale et les autres ensembles du glossaire. Elle permet de relier les doctrines et paradigmes aux scènes, aux dynamiques, aux méta-régimes et au noyau conceptuel archicratique."
>
<div class="theo-cards">
{prolongerLinks.map((item) => (
<a class="theo-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>
Lire doctrines et paradigmes ensemble permet de situer larchicratie
dans un espace comparatif plus vaste. Les doctrines éclairent les formes
de fondation de lordre ; les paradigmes, les modes de tenue, de
conflit, de gouvernement et de transformation. Larchicratie apparaît
alors non comme un isolat conceptuel, mais comme une intelligibilité
régulatrice située dans un paysage théorique dense et disputé.
</p>
</GlossaryPortalSection>
</section>
<GlossaryPortalStickySync
heroMoreId="theo-hero-more"
heroToggleId="theo-hero-toggle"
/>
</GlossaryLayout>
<style>
.theo-page{
padding: 8px 0 24px;
}
.theo-overview{
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 12px;
margin: 18px 0 8px;
}
.theo-overview__item{
display: grid;
gap: 6px;
padding: 14px 16px;
border: 1px solid rgba(127,127,127,0.20);
border-radius: 16px;
background: rgba(127,127,127,0.04);
}
.theo-overview__item strong{
font-size: 14px;
line-height: 1.3;
}
.theo-overview__item span{
font-size: 13px;
line-height: 1.45;
opacity: .86;
}
.theo-cards{
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 12px;
margin-top: 14px;
}
.theo-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;
}
.theo-card:hover{
transform: translateY(-1px);
background: rgba(127,127,127,0.08);
border-color: rgba(0,217,255,0.16);
text-decoration: none;
}
.theo-card strong{
font-size: 15px;
line-height: 1.3;
}
.theo-card span{
font-size: 14px;
line-height: 1.45;
opacity: .92;
}
.theo-card small{
font-size: 12px;
line-height: 1.4;
opacity: .72;
}
@media (max-width: 920px){
.theo-overview{
grid-template-columns: 1fr;
}
}
@media (prefers-color-scheme: dark){
.theo-overview__item,
.theo-card{
background: rgba(255,255,255,0.04);
}
.theo-card:hover{
background: rgba(255,255,255,0.07);
}
}
</style>