Compare commits
22 Commits
7c4bb5a2cf
...
refactor/g
| Author | SHA1 | Date | |
|---|---|---|---|
| e6c18d6b16 | |||
| a3092f5d5b | |||
| 7187b69935 | |||
| 4ba4453661 | |||
| ee42e391e3 | |||
| f7756be59e | |||
| 4abe70e10e | |||
| b2b4ec35c0 | |||
| b255436958 | |||
| ad06b34a85 | |||
| a38f585f3d | |||
| bf0dc125d1 | |||
| f61dc15b47 | |||
| 1ac3d91a19 | |||
| 100ba10409 | |||
| 5f14785abb | |||
| c7043ae9d5 | |||
| bd1235f8c3 | |||
| 7ae7b4dca3 | |||
| f088db57d4 | |||
| 311e94ed91 | |||
| e078f3f9ab |
@@ -1,258 +1,32 @@
|
||||
---
|
||||
import {
|
||||
getGlossaryEntryAsideData,
|
||||
getGlossaryPortalLinks,
|
||||
hrefOfGlossaryEntry,
|
||||
slugOfGlossaryEntry,
|
||||
} from "../lib/glossary";
|
||||
|
||||
const {
|
||||
currentEntry,
|
||||
allEntries = [],
|
||||
} = Astro.props;
|
||||
|
||||
const slugOf = (entry) => String(entry.id).replace(/\.(md|mdx)$/i, "");
|
||||
const hrefOf = (entry) => `/glossaire/${slugOf(entry)}/`;
|
||||
const currentSlug = slugOfGlossaryEntry(currentEntry);
|
||||
|
||||
const collator = new Intl.Collator("fr", { sensitivity: "base", numeric: true });
|
||||
const bySlug = new Map(allEntries.map((entry) => [slugOf(entry), entry]));
|
||||
const currentSlug = slugOf(currentEntry);
|
||||
const {
|
||||
displayFamily,
|
||||
displayDomain,
|
||||
displayLevel,
|
||||
showNoyau,
|
||||
showSameFamily,
|
||||
fondamentaux,
|
||||
sameFamilyTitle,
|
||||
sameFamilyEntries,
|
||||
relationSections,
|
||||
contextualTheory,
|
||||
} = getGlossaryEntryAsideData(currentEntry, allEntries);
|
||||
|
||||
const fondamentauxWanted = [
|
||||
"archicratie",
|
||||
"tension",
|
||||
"arcalite",
|
||||
"cratialite",
|
||||
"archicration",
|
||||
"co-viabilite",
|
||||
];
|
||||
|
||||
const fondamentaux = fondamentauxWanted
|
||||
.map((slug) => bySlug.get(slug))
|
||||
.filter(Boolean);
|
||||
|
||||
function resolveList(slugs = []) {
|
||||
return slugs
|
||||
.map((slug) => bySlug.get(String(slug || "").trim()))
|
||||
.filter(Boolean);
|
||||
}
|
||||
|
||||
function uniqueBySlug(entries) {
|
||||
const seen = new Set();
|
||||
const out = [];
|
||||
for (const entry of entries) {
|
||||
const slug = slugOf(entry);
|
||||
if (seen.has(slug)) continue;
|
||||
seen.add(slug);
|
||||
out.push(entry);
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
function sortByTerm(entries = []) {
|
||||
return [...entries].sort((a, b) => collator.compare(a.data.term, b.data.term));
|
||||
}
|
||||
|
||||
function familyOf(entry) {
|
||||
return entry?.data?.family ?? "";
|
||||
}
|
||||
|
||||
function kindOf(entry) {
|
||||
return entry?.data?.kind ?? "";
|
||||
}
|
||||
|
||||
const relatedEntries = sortByTerm(
|
||||
uniqueBySlug(resolveList(currentEntry.data.related ?? []))
|
||||
);
|
||||
|
||||
const opposedEntries = sortByTerm(
|
||||
uniqueBySlug(resolveList(currentEntry.data.opposedTo ?? []))
|
||||
);
|
||||
|
||||
const seeAlsoEntries = sortByTerm(
|
||||
uniqueBySlug(resolveList(currentEntry.data.seeAlso ?? []))
|
||||
);
|
||||
|
||||
const familyLabels = {
|
||||
"concept-fondamental": "Concept fondamental",
|
||||
scene: "Scène",
|
||||
dynamique: "Dynamique",
|
||||
pathologie: "Pathologie",
|
||||
topologie: "Topologie",
|
||||
"meta-regime": "Méta-régime",
|
||||
paradigme: "Paradigme",
|
||||
doctrine: "Doctrine",
|
||||
verbe: "Verbe",
|
||||
"dispositif-ia": "Dispositif IA",
|
||||
"tension-irreductible": "Tension irréductible",
|
||||
figure: "Figure",
|
||||
qualification: "Qualification",
|
||||
epistemologie: "Épistémologie",
|
||||
};
|
||||
|
||||
const kindLabels = {
|
||||
concept: "Concept",
|
||||
diagnostic: "Diagnostic",
|
||||
topologie: "Topologie",
|
||||
verbe: "Verbe",
|
||||
paradigme: "Paradigme",
|
||||
doctrine: "Doctrine",
|
||||
dispositif: "Dispositif",
|
||||
figure: "Figure",
|
||||
qualification: "Qualification",
|
||||
epistemologie: "Épistémologie",
|
||||
};
|
||||
|
||||
const domainLabels = {
|
||||
transversal: "Transversal",
|
||||
theorie: "Théorie",
|
||||
"cas-ia": "Cas IA",
|
||||
};
|
||||
|
||||
const levelLabels = {
|
||||
fondamental: "Fondamental",
|
||||
intermediaire: "Intermédiaire",
|
||||
avance: "Avancé",
|
||||
};
|
||||
|
||||
const currentFamily = familyOf(currentEntry);
|
||||
const displayFamily =
|
||||
familyLabels[currentFamily] ??
|
||||
kindLabels[currentEntry.data.kind] ??
|
||||
"Fiche";
|
||||
|
||||
const displayDomain =
|
||||
domainLabels[currentEntry.data.domain] ??
|
||||
currentEntry.data.domain;
|
||||
|
||||
const displayLevel =
|
||||
levelLabels[currentEntry.data.level] ??
|
||||
currentEntry.data.level;
|
||||
|
||||
function entriesOfSameFamily(entry) {
|
||||
const family = familyOf(entry);
|
||||
|
||||
if (!family) return [];
|
||||
|
||||
if (family === "concept-fondamental") {
|
||||
return fondamentaux;
|
||||
}
|
||||
|
||||
return sortByTerm(
|
||||
allEntries.filter((item) => familyOf(item) === family)
|
||||
);
|
||||
}
|
||||
|
||||
const sameFamilyEntries = entriesOfSameFamily(currentEntry);
|
||||
|
||||
const familySectionTitles = {
|
||||
"concept-fondamental": "Noyau archicratique",
|
||||
scene: "Scènes archicratiques",
|
||||
dynamique: "Dynamiques archicratiques",
|
||||
pathologie: "Pathologies archicratiques",
|
||||
topologie: "Topologies voisines",
|
||||
"meta-regime": "Méta-régimes archicratiques",
|
||||
paradigme: "Paradigmes voisins",
|
||||
doctrine: "Doctrines fondatrices",
|
||||
verbe: "Verbes de la scène",
|
||||
"dispositif-ia": "Dispositifs IA",
|
||||
"tension-irreductible": "Tensions irréductibles",
|
||||
figure: "Figures archicratiques",
|
||||
qualification: "Qualifications archicratiques",
|
||||
epistemologie: "Outillage épistémologique",
|
||||
};
|
||||
|
||||
const sameFamilyTitle =
|
||||
familySectionTitles[currentFamily] ?? "Même famille";
|
||||
|
||||
function isTheoryEntry(entry) {
|
||||
const family = familyOf(entry);
|
||||
const kind = kindOf(entry);
|
||||
|
||||
return (
|
||||
family === "paradigme" ||
|
||||
family === "doctrine" ||
|
||||
kind === "paradigme" ||
|
||||
kind === "doctrine"
|
||||
);
|
||||
}
|
||||
|
||||
function contextualTheoryFor(entry) {
|
||||
const fromRelations = uniqueBySlug([
|
||||
...resolveList(entry.data.related ?? []),
|
||||
...resolveList(entry.data.seeAlso ?? []),
|
||||
...resolveList(entry.data.opposedTo ?? []),
|
||||
])
|
||||
.filter((item) => slugOf(item) !== currentSlug)
|
||||
.filter((item) => isTheoryEntry(item));
|
||||
|
||||
if (fromRelations.length > 0) {
|
||||
return sortByTerm(fromRelations).slice(0, 6);
|
||||
}
|
||||
|
||||
if (familyOf(entry) === "paradigme") {
|
||||
const preferred = [
|
||||
"gouvernementalite",
|
||||
"gouvernementalite-algorithmique",
|
||||
"cybernetique",
|
||||
"biopolitique",
|
||||
"domination-legale-rationnelle",
|
||||
"democratie-deliberative",
|
||||
"gouvernance-des-communs",
|
||||
"agencement-machinique",
|
||||
"pharmacologie-technique",
|
||||
"preemption-algorithmique",
|
||||
"dissensus-politique",
|
||||
"lieu-vide-du-pouvoir",
|
||||
"habitus-et-violence-symbolique",
|
||||
"theorie-de-la-resonance",
|
||||
"conatus-et-multitude",
|
||||
"configuration-et-interdependance",
|
||||
"technodiversite-et-cosmotechnie",
|
||||
"grammatisation-et-proletarisation-cognitive",
|
||||
];
|
||||
|
||||
return uniqueBySlug(
|
||||
preferred
|
||||
.filter((slug) => slug !== currentSlug)
|
||||
.map((slug) => bySlug.get(slug))
|
||||
.filter(Boolean)
|
||||
).slice(0, 8);
|
||||
}
|
||||
|
||||
if (familyOf(entry) === "doctrine") {
|
||||
const preferred = [
|
||||
"contractualisme-hobbesien",
|
||||
"droit-naturel-et-propriete",
|
||||
"volonte-generale",
|
||||
"decisionnisme-souverain",
|
||||
];
|
||||
|
||||
return uniqueBySlug(
|
||||
preferred
|
||||
.filter((slug) => slug !== currentSlug)
|
||||
.map((slug) => bySlug.get(slug))
|
||||
.filter(Boolean)
|
||||
).slice(0, 6);
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
const contextualTheory = contextualTheoryFor(currentEntry);
|
||||
|
||||
const showNoyau = currentFamily !== "concept-fondamental" && fondamentaux.length > 0;
|
||||
|
||||
const showSameFamily =
|
||||
sameFamilyEntries.length > 0 && currentFamily !== "concept-fondamental";
|
||||
|
||||
const relationSections = [
|
||||
{
|
||||
title: "Concepts liés",
|
||||
items: relatedEntries,
|
||||
},
|
||||
{
|
||||
title: "En tension avec",
|
||||
items: opposedEntries,
|
||||
},
|
||||
{
|
||||
title: "Voir aussi",
|
||||
items: seeAlsoEntries,
|
||||
},
|
||||
].filter((section) => section.items.length > 0);
|
||||
const portalLinks = getGlossaryPortalLinks();
|
||||
---
|
||||
|
||||
<nav class="glossary-aside" aria-label="Navigation du glossaire">
|
||||
@@ -264,20 +38,23 @@ const relationSections = [
|
||||
<span class="glossary-aside__pill glossary-aside__pill--family">
|
||||
{displayFamily}
|
||||
</span>
|
||||
|
||||
{displayDomain && (
|
||||
<span class="glossary-aside__pill">{displayDomain}</span>
|
||||
)}
|
||||
|
||||
{displayLevel && (
|
||||
<span class="glossary-aside__pill">{displayLevel}</span>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<section class="glossary-aside__block">
|
||||
<h2 class="glossary-aside__heading">Portails</h2>
|
||||
<ul class="glossary-aside__list">
|
||||
<li><a href="/glossaire/">Accueil du glossaire</a></li>
|
||||
<li><a href="/glossaire/index-complet/">Index complet</a></li>
|
||||
<li><a href="/glossaire/paradigme-archicratique/">Paradigme archicratique</a></li>
|
||||
<li><a href="/glossaire/archicrations/">Archicrations</a></li>
|
||||
<li><a href="/glossaire/paradigmes/">Paradigmes et doctrines</a></li>
|
||||
<li><a href="/glossaire/tensions-irreductibles/">Tensions irréductibles</a></li>
|
||||
{portalLinks.map((item) => (
|
||||
<li><a href={item.href}>{item.label}</a></li>
|
||||
))}
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
@@ -286,11 +63,11 @@ const relationSections = [
|
||||
<h2 class="glossary-aside__heading">Noyau archicratique</h2>
|
||||
<ul class="glossary-aside__list">
|
||||
{fondamentaux.map((entry) => {
|
||||
const active = slugOf(entry) === currentSlug;
|
||||
const active = slugOfGlossaryEntry(entry) === currentSlug;
|
||||
return (
|
||||
<li>
|
||||
<a
|
||||
href={hrefOf(entry)}
|
||||
href={hrefOfGlossaryEntry(entry)}
|
||||
aria-current={active ? "page" : undefined}
|
||||
class={active ? "is-active" : undefined}
|
||||
>
|
||||
@@ -308,11 +85,11 @@ const relationSections = [
|
||||
<h2 class="glossary-aside__heading">{sameFamilyTitle}</h2>
|
||||
<ul class="glossary-aside__list">
|
||||
{sameFamilyEntries.map((entry) => {
|
||||
const active = slugOf(entry) === currentSlug;
|
||||
const active = slugOfGlossaryEntry(entry) === currentSlug;
|
||||
return (
|
||||
<li>
|
||||
<a
|
||||
href={hrefOf(entry)}
|
||||
href={hrefOfGlossaryEntry(entry)}
|
||||
aria-current={active ? "page" : undefined}
|
||||
class={active ? "is-active" : undefined}
|
||||
>
|
||||
@@ -334,7 +111,7 @@ const relationSections = [
|
||||
<h3 class="glossary-aside__subheading">{section.title}</h3>
|
||||
<ul class="glossary-aside__list">
|
||||
{section.items.map((entry) => (
|
||||
<li><a href={hrefOf(entry)}>{entry.data.term}</a></li>
|
||||
<li><a href={hrefOfGlossaryEntry(entry)}>{entry.data.term}</a></li>
|
||||
))}
|
||||
</ul>
|
||||
</>
|
||||
@@ -347,7 +124,7 @@ const relationSections = [
|
||||
<h2 class="glossary-aside__heading">Paysage théorique</h2>
|
||||
<ul class="glossary-aside__list">
|
||||
{contextualTheory.map((entry) => (
|
||||
<li><a href={hrefOf(entry)}>{entry.data.term}</a></li>
|
||||
<li><a href={hrefOfGlossaryEntry(entry)}>{entry.data.term}</a></li>
|
||||
))}
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
83
src/components/GlossaryCardGrid.astro
Normal file
83
src/components/GlossaryCardGrid.astro
Normal file
@@ -0,0 +1,83 @@
|
||||
---
|
||||
import { hrefOfGlossaryEntry, type GlossaryEntry } from "../lib/glossary";
|
||||
|
||||
export interface Props {
|
||||
entries?: GlossaryEntry[];
|
||||
wide?: boolean;
|
||||
}
|
||||
|
||||
const {
|
||||
entries = [],
|
||||
wide = false,
|
||||
} = Astro.props;
|
||||
---
|
||||
|
||||
<div class="glossary-cards">
|
||||
{entries.map((entry) => (
|
||||
<a
|
||||
class:list={[
|
||||
"glossary-card",
|
||||
wide && "glossary-card--wide",
|
||||
]}
|
||||
href={hrefOfGlossaryEntry(entry)}
|
||||
>
|
||||
<strong>{entry.data.term}</strong>
|
||||
<span>{entry.data.definitionShort}</span>
|
||||
</a>
|
||||
))}
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.glossary-cards{
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
|
||||
gap: 12px;
|
||||
margin-top: 14px;
|
||||
}
|
||||
|
||||
.glossary-card{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
padding: 14px 16px;
|
||||
border: 1px solid var(--glossary-border);
|
||||
border-radius: 18px;
|
||||
background: var(--glossary-bg-soft);
|
||||
text-decoration: none;
|
||||
transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
|
||||
}
|
||||
|
||||
.glossary-card:hover{
|
||||
transform: translateY(-1px);
|
||||
background: var(--glossary-bg-soft-strong);
|
||||
border-color: rgba(0,217,255,0.16);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.glossary-card--wide{
|
||||
grid-column: 1 / -1;
|
||||
}
|
||||
|
||||
.glossary-card strong{
|
||||
color: var(--glossary-accent);
|
||||
font-size: 1.04rem;
|
||||
line-height: 1.28;
|
||||
}
|
||||
|
||||
.glossary-card span{
|
||||
color: inherit;
|
||||
font-size: 1rem;
|
||||
line-height: 1.5;
|
||||
opacity: .94;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark){
|
||||
.glossary-card{
|
||||
background: rgba(255,255,255,0.04);
|
||||
}
|
||||
|
||||
.glossary-card:hover{
|
||||
background: rgba(255,255,255,0.07);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
16
src/components/GlossaryEntryBody.astro
Normal file
16
src/components/GlossaryEntryBody.astro
Normal file
@@ -0,0 +1,16 @@
|
||||
<div class="glossary-entry-body">
|
||||
<slot />
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.glossary-entry-body{
|
||||
margin-bottom: 28px;
|
||||
}
|
||||
|
||||
:global(.glossary-entry-body h2),
|
||||
:global(.glossary-entry-body h3),
|
||||
:global(.glossary-relations h2),
|
||||
:global(.glossary-relations h3){
|
||||
scroll-margin-top: calc(var(--sticky-offset-px, 96px) + 18px);
|
||||
}
|
||||
</style>
|
||||
203
src/components/GlossaryEntryHero.astro
Normal file
203
src/components/GlossaryEntryHero.astro
Normal file
@@ -0,0 +1,203 @@
|
||||
---
|
||||
interface Props {
|
||||
term: string;
|
||||
definitionShort: string;
|
||||
displayFamily: string;
|
||||
displayDomain?: string;
|
||||
displayLevel?: string;
|
||||
mobilizedAuthors?: string[];
|
||||
comparisonTraditions?: string[];
|
||||
}
|
||||
|
||||
const {
|
||||
term,
|
||||
definitionShort,
|
||||
displayFamily,
|
||||
displayDomain = "",
|
||||
displayLevel = "",
|
||||
mobilizedAuthors = [],
|
||||
comparisonTraditions = [],
|
||||
} = Astro.props;
|
||||
|
||||
const hasScholarlyMeta =
|
||||
mobilizedAuthors.length > 0 ||
|
||||
comparisonTraditions.length > 0;
|
||||
---
|
||||
|
||||
<header class="glossary-entry-head" data-ge-hero>
|
||||
<div class="glossary-entry-head__title">
|
||||
<h1>{term}</h1>
|
||||
</div>
|
||||
|
||||
<div class="glossary-entry-summary">
|
||||
<p class="glossary-entry-dek">
|
||||
<em>{definitionShort}</em>
|
||||
</p>
|
||||
|
||||
<div class="glossary-entry-signals" aria-label="Repères de lecture">
|
||||
<span class="glossary-pill glossary-pill--family">
|
||||
<strong>Famille :</strong> {displayFamily}
|
||||
</span>
|
||||
|
||||
{displayDomain && (
|
||||
<span class="glossary-pill">
|
||||
<strong>Domaine :</strong> {displayDomain}
|
||||
</span>
|
||||
)}
|
||||
|
||||
{displayLevel && (
|
||||
<span class="glossary-pill">
|
||||
<strong>Niveau :</strong> {displayLevel}
|
||||
</span>
|
||||
)}
|
||||
</div>
|
||||
|
||||
{hasScholarlyMeta && (
|
||||
<div class="glossary-entry-meta">
|
||||
{mobilizedAuthors.length > 0 && (
|
||||
<p>
|
||||
<strong>Auteurs mobilisés :</strong> {mobilizedAuthors.join(" / ")}
|
||||
</p>
|
||||
)}
|
||||
|
||||
{comparisonTraditions.length > 0 && (
|
||||
<p>
|
||||
<strong>Traditions de comparaison :</strong> {comparisonTraditions.join(" / ")}
|
||||
</p>
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<style>
|
||||
.glossary-entry-head{
|
||||
position: sticky;
|
||||
top: calc(var(--sticky-header-h, 0px) + var(--page-gap, 12px));
|
||||
z-index: 11;
|
||||
margin: 0 0 24px;
|
||||
border: 1px solid rgba(127,127,127,0.18);
|
||||
border-radius: 28px;
|
||||
background:
|
||||
linear-gradient(180deg, rgba(0,0,0,0.60), rgba(0,0,0,0.92)),
|
||||
radial-gradient(900px 240px at 20% 0%, rgba(0,217,255,0.08), transparent 60%);
|
||||
backdrop-filter: blur(10px);
|
||||
-webkit-backdrop-filter: blur(10px);
|
||||
overflow: hidden;
|
||||
transition:
|
||||
border-radius 180ms ease,
|
||||
box-shadow 180ms ease,
|
||||
border-color 180ms ease;
|
||||
}
|
||||
|
||||
.glossary-entry-head__title{
|
||||
padding: 18px 18px 16px;
|
||||
}
|
||||
|
||||
.glossary-entry-head h1{
|
||||
margin: 0;
|
||||
font-size: clamp(2.2rem, 4vw, 3.15rem);
|
||||
line-height: 1.02;
|
||||
letter-spacing: -.04em;
|
||||
font-weight: 850;
|
||||
}
|
||||
|
||||
.glossary-entry-summary{
|
||||
display: grid;
|
||||
gap: 14px;
|
||||
padding: 16px 18px 18px;
|
||||
border-top: 1px solid rgba(127,127,127,0.14);
|
||||
background: rgba(255,255,255,0.02);
|
||||
}
|
||||
|
||||
.glossary-entry-dek{
|
||||
margin: 0;
|
||||
max-width: 76ch;
|
||||
font-size: 1.04rem;
|
||||
line-height: 1.55;
|
||||
opacity: .94;
|
||||
}
|
||||
|
||||
.glossary-entry-signals{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 8px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.glossary-pill{
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
padding: 5px 10px;
|
||||
border: 1px solid rgba(127,127,127,0.24);
|
||||
border-radius: 999px;
|
||||
background: rgba(127,127,127,0.05);
|
||||
font-size: 13px;
|
||||
line-height: 1.35;
|
||||
}
|
||||
|
||||
.glossary-pill--family{
|
||||
border-color: rgba(127,127,127,0.36);
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.glossary-entry-meta{
|
||||
margin: 0;
|
||||
padding: 10px 12px;
|
||||
border: 1px solid rgba(127,127,127,0.18);
|
||||
border-radius: 12px;
|
||||
background: rgba(127,127,127,0.04);
|
||||
}
|
||||
|
||||
.glossary-entry-meta p{
|
||||
margin: 0;
|
||||
font-size: 14px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.glossary-entry-meta p + p{
|
||||
margin-top: 6px;
|
||||
}
|
||||
|
||||
@media (max-width: 720px){
|
||||
.glossary-entry-signals{
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
.glossary-pill{
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 860px){
|
||||
.glossary-entry-head{
|
||||
position: static;
|
||||
border-radius: 22px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.glossary-entry-head__title{
|
||||
padding: 14px 14px 12px;
|
||||
}
|
||||
|
||||
.glossary-entry-summary{
|
||||
gap: 12px;
|
||||
padding: 14px;
|
||||
}
|
||||
|
||||
.glossary-entry-dek{
|
||||
max-width: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark){
|
||||
.glossary-entry-meta{
|
||||
background: rgba(255,255,255,0.03);
|
||||
}
|
||||
|
||||
.glossary-pill{
|
||||
background: rgba(255,255,255,0.04);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
31
src/components/GlossaryEntryLegacyNote.astro
Normal file
31
src/components/GlossaryEntryLegacyNote.astro
Normal file
@@ -0,0 +1,31 @@
|
||||
---
|
||||
interface Props {
|
||||
canonicalHref: string;
|
||||
term: string;
|
||||
}
|
||||
|
||||
const { canonicalHref, term } = Astro.props;
|
||||
---
|
||||
|
||||
<p class="glossary-legacy-note">
|
||||
Cette entrée a été renommée. L’intitulé canonique est :
|
||||
<a href={canonicalHref}>{term}</a>.
|
||||
</p>
|
||||
|
||||
<style>
|
||||
.glossary-legacy-note{
|
||||
padding: 10px 12px;
|
||||
border: 1px solid rgba(127,127,127,0.22);
|
||||
border-radius: 12px;
|
||||
background: rgba(127,127,127,0.05);
|
||||
font-size: 14px;
|
||||
line-height: 1.45;
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark){
|
||||
.glossary-legacy-note{
|
||||
background: rgba(255,255,255,0.04);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
172
src/components/GlossaryEntryStickySync.astro
Normal file
172
src/components/GlossaryEntryStickySync.astro
Normal file
@@ -0,0 +1,172 @@
|
||||
<script is:inline>
|
||||
(() => {
|
||||
const boot = () => {
|
||||
const body = document.body;
|
||||
const root = document.documentElement;
|
||||
const hero = document.querySelector("[data-ge-hero]");
|
||||
const follow = document.getElementById("reading-follow");
|
||||
const mqMobile = window.matchMedia("(max-width: 860px)");
|
||||
|
||||
if (!body || !root || !hero || !follow) return;
|
||||
|
||||
const BODY_CLASS = "is-glossary-entry-page";
|
||||
const FOLLOW_ON_CLASS = "glossary-entry-follow-on";
|
||||
|
||||
let lastHeight = -1;
|
||||
let lastFollowOn = null;
|
||||
let raf = 0;
|
||||
|
||||
body.classList.add(BODY_CLASS);
|
||||
|
||||
const heroHeight = () =>
|
||||
Math.max(0, Math.round(hero.getBoundingClientRect().height || 0));
|
||||
|
||||
const computeFollowOn = () =>
|
||||
!mqMobile.matches &&
|
||||
follow.classList.contains("is-on") &&
|
||||
follow.style.display !== "none" &&
|
||||
follow.getAttribute("aria-hidden") !== "true";
|
||||
|
||||
const stripLocalSticky = () => {
|
||||
document
|
||||
.querySelectorAll(
|
||||
".glossary-entry-body h2, .glossary-entry-body h3, .glossary-relations h2, .glossary-relations h3"
|
||||
)
|
||||
.forEach((el) => {
|
||||
el.classList.remove("is-sticky");
|
||||
el.removeAttribute("data-sticky-active");
|
||||
});
|
||||
};
|
||||
|
||||
const applyLocalStickyHeight = () => {
|
||||
const h = mqMobile.matches ? 0 : heroHeight();
|
||||
if (h === lastHeight) return;
|
||||
lastHeight = h;
|
||||
|
||||
if (typeof window.__archiSetLocalStickyHeight === "function") {
|
||||
window.__archiSetLocalStickyHeight(h);
|
||||
} else {
|
||||
root.style.setProperty("--glossary-local-sticky-h", `${h}px`);
|
||||
}
|
||||
};
|
||||
|
||||
const syncFollowState = () => {
|
||||
const on = computeFollowOn();
|
||||
if (on === lastFollowOn) return;
|
||||
lastFollowOn = on;
|
||||
body.classList.toggle(FOLLOW_ON_CLASS, on);
|
||||
};
|
||||
|
||||
const syncAll = () => {
|
||||
stripLocalSticky();
|
||||
syncFollowState();
|
||||
applyLocalStickyHeight();
|
||||
};
|
||||
|
||||
const schedule = () => {
|
||||
if (raf) return;
|
||||
raf = requestAnimationFrame(() => {
|
||||
raf = 0;
|
||||
syncAll();
|
||||
});
|
||||
};
|
||||
|
||||
const followObserver = new MutationObserver(schedule);
|
||||
followObserver.observe(follow, {
|
||||
attributes: true,
|
||||
attributeFilter: ["class", "style", "aria-hidden"],
|
||||
subtree: false,
|
||||
});
|
||||
|
||||
const heroResizeObserver =
|
||||
typeof ResizeObserver !== "undefined"
|
||||
? new ResizeObserver(schedule)
|
||||
: null;
|
||||
|
||||
heroResizeObserver?.observe(hero);
|
||||
|
||||
window.addEventListener("resize", schedule);
|
||||
window.addEventListener("pageshow", schedule);
|
||||
|
||||
if (document.fonts?.ready) {
|
||||
document.fonts.ready.then(schedule).catch(() => {});
|
||||
}
|
||||
|
||||
if (mqMobile.addEventListener) {
|
||||
mqMobile.addEventListener("change", schedule);
|
||||
} else if (mqMobile.addListener) {
|
||||
mqMobile.addListener(schedule);
|
||||
}
|
||||
|
||||
schedule();
|
||||
};
|
||||
|
||||
if (document.readyState === "loading") {
|
||||
document.addEventListener("DOMContentLoaded", boot, { once: true });
|
||||
} else {
|
||||
boot();
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
|
||||
<style>
|
||||
:global(body.is-glossary-entry-page #reading-follow){
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
:global(body.is-glossary-entry-page.glossary-entry-follow-on .glossary-entry-head){
|
||||
margin-bottom: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
|
||||
:global(body.is-glossary-entry-page.glossary-entry-follow-on .glossary-entry-summary){
|
||||
gap: 10px;
|
||||
padding-top: 12px;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
:global(body.is-glossary-entry-page.glossary-entry-follow-on .glossary-entry-signals){
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
:global(body.is-glossary-entry-page.glossary-entry-follow-on .glossary-entry-meta){
|
||||
padding: 8px 10px;
|
||||
}
|
||||
|
||||
:global(body.is-glossary-entry-page.glossary-entry-follow-on #reading-follow){
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
:global(body.is-glossary-entry-page.glossary-entry-follow-on #reading-follow .reading-follow__inner){
|
||||
margin-top: -1px;
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
}
|
||||
|
||||
:global(body.is-glossary-entry-page .glossary-entry-body h2.is-sticky),
|
||||
:global(body.is-glossary-entry-page .glossary-entry-body h2[data-sticky-active="true"]),
|
||||
:global(body.is-glossary-entry-page .glossary-entry-body h3.is-sticky),
|
||||
:global(body.is-glossary-entry-page .glossary-entry-body h3[data-sticky-active="true"]),
|
||||
:global(body.is-glossary-entry-page .glossary-relations h2.is-sticky),
|
||||
:global(body.is-glossary-entry-page .glossary-relations h2[data-sticky-active="true"]),
|
||||
:global(body.is-glossary-entry-page .glossary-relations h3.is-sticky),
|
||||
:global(body.is-glossary-entry-page .glossary-relations h3[data-sticky-active="true"]){
|
||||
position: static !important;
|
||||
top: auto !important;
|
||||
z-index: auto !important;
|
||||
padding: 0 !important;
|
||||
border: 0 !important;
|
||||
background: transparent !important;
|
||||
box-shadow: none !important;
|
||||
backdrop-filter: none !important;
|
||||
-webkit-backdrop-filter: none !important;
|
||||
}
|
||||
|
||||
@media (max-width: 860px){
|
||||
:global(body.is-glossary-entry-page.glossary-entry-follow-on .glossary-entry-head){
|
||||
margin-bottom: 20px;
|
||||
border-radius: 22px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,88 +1,24 @@
|
||||
---
|
||||
import {
|
||||
getFondamentaux,
|
||||
getGlossaryHomeStats,
|
||||
getGlossaryPortalLinks,
|
||||
hrefOfGlossaryEntry,
|
||||
} from "../lib/glossary";
|
||||
|
||||
const {
|
||||
allEntries = [],
|
||||
} = Astro.props;
|
||||
|
||||
const slugOf = (entry) => String(entry.id).replace(/\.(md|mdx)$/i, "");
|
||||
const hrefOf = (entry) => `/glossaire/${slugOf(entry)}/`;
|
||||
const fondamentaux = getFondamentaux(allEntries);
|
||||
const portalLinks = getGlossaryPortalLinks();
|
||||
|
||||
const collator = new Intl.Collator("fr", { sensitivity: "base", numeric: true });
|
||||
const bySlug = new Map(allEntries.map((entry) => [slugOf(entry), entry]));
|
||||
|
||||
function sortByTerm(list = []) {
|
||||
return [...list].sort((a, b) => collator.compare(a.data.term, b.data.term));
|
||||
}
|
||||
|
||||
function familyOf(entry) {
|
||||
const explicit = entry?.data?.family;
|
||||
if (explicit) return explicit;
|
||||
|
||||
const slug = slugOf(entry);
|
||||
const kind = entry?.data?.kind;
|
||||
|
||||
if (kind === "paradigme") return "paradigme";
|
||||
if (kind === "doctrine") return "doctrine";
|
||||
if (kind === "verbe") return "verbe";
|
||||
|
||||
if (slug === "scene-depreuve") return "scene";
|
||||
if (slug === "autarchicratie") return "pathologie";
|
||||
if (slug === "obliteration-archicratique") return "dynamique";
|
||||
|
||||
if (
|
||||
[
|
||||
"archicratie",
|
||||
"arcalite",
|
||||
"cratialite",
|
||||
"archicration",
|
||||
"co-viabilite",
|
||||
"tension",
|
||||
].includes(slug)
|
||||
) {
|
||||
return "concept-fondamental";
|
||||
}
|
||||
|
||||
if (slug === "archicrations-differentielles-et-formes-hybrides") {
|
||||
return "topologie";
|
||||
}
|
||||
|
||||
if (kind === "topologie" && slug.startsWith("archicrations-")) {
|
||||
return "meta-regime";
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
const fondamentauxWanted = [
|
||||
"archicratie",
|
||||
"arcalite",
|
||||
"cratialite",
|
||||
"archicration",
|
||||
"co-viabilite",
|
||||
"tension",
|
||||
];
|
||||
|
||||
const fondamentaux = sortByTerm(
|
||||
fondamentauxWanted
|
||||
.map((slug) => bySlug.get(slug))
|
||||
.filter(Boolean)
|
||||
);
|
||||
|
||||
const totalEntries = allEntries.length;
|
||||
const paradigmesCount = allEntries.filter((entry) => entry.data.kind === "paradigme").length;
|
||||
const doctrinesCount = allEntries.filter((entry) => entry.data.kind === "doctrine").length;
|
||||
const metaRegimesCount = allEntries.filter((entry) => familyOf(entry) === "meta-regime").length;
|
||||
|
||||
const portalLinks = [
|
||||
{ href: "/glossaire/concepts-fondamentaux/", label: "Concepts fondamentaux" },
|
||||
{ href: "/glossaire/index-complet/", label: "Index complet" },
|
||||
{ href: "/glossaire/paradigme-archicratique/", label: "Paradigme archicratique" },
|
||||
{ href: "/glossaire/scenes-archicratiques/", label: "Scènes archicratiques" },
|
||||
{ href: "/glossaire/dynamiques-archicratiques/", label: "Dynamiques archicratiques" },
|
||||
{ href: "/glossaire/tensions-irreductibles/", label: "Tensions irréductibles" },
|
||||
{ href: "/glossaire/archicrations/", label: "Méta-régimes archicratiques" },
|
||||
{ href: "/glossaire/paradigmes/", label: "Paradigmes et doctrines" },
|
||||
{ href: "/glossaire/verbes-de-la-scene/", label: "Verbes de la scène" },
|
||||
];
|
||||
const {
|
||||
totalEntries,
|
||||
paradigmesCount,
|
||||
doctrinesCount,
|
||||
metaRegimesCount,
|
||||
} = getGlossaryHomeStats(allEntries);
|
||||
---
|
||||
|
||||
<nav class="glossary-home-aside" aria-label="Navigation du portail du glossaire">
|
||||
@@ -115,7 +51,7 @@ const portalLinks = [
|
||||
<h2 class="glossary-home-aside__heading">Noyau archicratique</h2>
|
||||
<ul class="glossary-home-aside__list">
|
||||
{fondamentaux.map((entry) => (
|
||||
<li><a href={hrefOf(entry)}>{entry.data.term}</a></li>
|
||||
<li><a href={hrefOfGlossaryEntry(entry)}>{entry.data.term}</a></li>
|
||||
))}
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
103
src/components/GlossaryHomeHero.astro
Normal file
103
src/components/GlossaryHomeHero.astro
Normal file
@@ -0,0 +1,103 @@
|
||||
---
|
||||
export interface Props {
|
||||
kicker?: string;
|
||||
title?: string;
|
||||
intro?: string;
|
||||
}
|
||||
|
||||
const {
|
||||
kicker = "Référentiel terminologique",
|
||||
title = "Glossaire archicratique",
|
||||
intro = "Ce glossaire n’est pas seulement un index de définitions. Il constitue une porte d’entrée dans la pensée archicratique : une cartographie raisonnée des concepts fondamentaux, des scènes, des dynamiques et des méta-régimes à partir desquels une société peut être décrite comme organisation de tensions et recherche de co-viabilité.",
|
||||
} = Astro.props;
|
||||
---
|
||||
|
||||
<header class="glossary-hero" id="glossary-hero">
|
||||
<p class="glossary-kicker">{kicker}</p>
|
||||
<h1>{title}</h1>
|
||||
<p class="glossary-intro">{intro}</p>
|
||||
<h2
|
||||
class="glossary-hero-follow"
|
||||
id="glossary-hero-follow"
|
||||
aria-hidden="true"
|
||||
></h2>
|
||||
</header>
|
||||
|
||||
<style>
|
||||
.glossary-hero{
|
||||
position: sticky;
|
||||
top: var(--glossary-sticky-top);
|
||||
z-index: 12;
|
||||
margin-bottom: 28px;
|
||||
padding: 14px 16px 18px;
|
||||
border: 1px solid rgba(127,127,127,0.18);
|
||||
border-radius: 28px;
|
||||
background:
|
||||
linear-gradient(180deg, rgba(0,0,0,0.60), rgba(0,0,0,0.90)),
|
||||
radial-gradient(900px 240px at 20% 0%, rgba(0,217,255,0.08), transparent 60%);
|
||||
transition:
|
||||
background 300ms cubic-bezier(.22,.8,.22,1),
|
||||
border-color 300ms cubic-bezier(.22,.8,.22,1),
|
||||
box-shadow 300ms cubic-bezier(.22,.8,.22,1);
|
||||
backdrop-filter: blur(10px);
|
||||
-webkit-backdrop-filter: blur(10px);
|
||||
display: grid;
|
||||
row-gap: 12px;
|
||||
}
|
||||
|
||||
.glossary-kicker{
|
||||
margin: 0;
|
||||
font-size: 12px;
|
||||
letter-spacing: .12em;
|
||||
text-transform: uppercase;
|
||||
opacity: .72;
|
||||
}
|
||||
|
||||
.glossary-hero h1{
|
||||
margin: 0;
|
||||
font-size: clamp(2.2rem, 4vw, 3.15rem);
|
||||
line-height: 1.02;
|
||||
letter-spacing: -.04em;
|
||||
font-weight: 850;
|
||||
}
|
||||
|
||||
.glossary-intro{
|
||||
margin: 0;
|
||||
max-width: 72ch;
|
||||
font-size: 1.05rem;
|
||||
line-height: 1.55;
|
||||
opacity: .94;
|
||||
}
|
||||
|
||||
.glossary-hero-follow{
|
||||
margin: 2px 0 0;
|
||||
min-height: var(--glossary-follow-height);
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
opacity: 0;
|
||||
transform: translateY(10px) scale(.985);
|
||||
filter: blur(6px);
|
||||
transition:
|
||||
opacity 220ms cubic-bezier(.22,1,.36,1),
|
||||
transform 320ms cubic-bezier(.22,1,.36,1),
|
||||
filter 320ms cubic-bezier(.22,1,.36,1);
|
||||
pointer-events: none;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
will-change: opacity, transform, filter;
|
||||
}
|
||||
|
||||
.glossary-hero-follow.is-visible{
|
||||
opacity: 1;
|
||||
transform: translateY(0) scale(1);
|
||||
filter: blur(0);
|
||||
}
|
||||
|
||||
@media (max-width: 760px){
|
||||
.glossary-hero{
|
||||
top: calc(var(--glossary-sticky-top) - 2px);
|
||||
padding: 12px 14px 16px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
109
src/components/GlossaryHomeSection.astro
Normal file
109
src/components/GlossaryHomeSection.astro
Normal file
@@ -0,0 +1,109 @@
|
||||
---
|
||||
export interface Props {
|
||||
id?: string;
|
||||
title: string;
|
||||
intro?: string;
|
||||
followSection?: string;
|
||||
ctaHref?: string;
|
||||
ctaLabel?: string;
|
||||
}
|
||||
|
||||
const {
|
||||
id,
|
||||
title,
|
||||
intro,
|
||||
followSection,
|
||||
ctaHref,
|
||||
ctaLabel,
|
||||
} = Astro.props;
|
||||
|
||||
const resolvedFollowSection = (followSection || title || "").trim();
|
||||
const showCta = Boolean(ctaHref && ctaLabel);
|
||||
---
|
||||
|
||||
<section id={id} class="glossary-section">
|
||||
<div class="glossary-section__head">
|
||||
<div>
|
||||
<h2 data-follow-section={resolvedFollowSection}>{title}</h2>
|
||||
|
||||
{intro && (
|
||||
<p class="glossary-intro">{intro}</p>
|
||||
)}
|
||||
</div>
|
||||
|
||||
{showCta && (
|
||||
<a class="glossary-cta" href={ctaHref}>
|
||||
{ctaLabel}
|
||||
</a>
|
||||
)}
|
||||
</div>
|
||||
|
||||
<slot />
|
||||
</section>
|
||||
|
||||
<style>
|
||||
.glossary-section{
|
||||
margin-top: 42px;
|
||||
scroll-margin-top: calc(var(--glossary-sticky-top) + 190px);
|
||||
}
|
||||
|
||||
.glossary-section__head{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: start;
|
||||
gap: 16px;
|
||||
flex-wrap: wrap;
|
||||
margin-bottom: 14px;
|
||||
}
|
||||
|
||||
.glossary-section h2{
|
||||
margin: 0;
|
||||
font-size: clamp(2rem, 3vw, 2.55rem);
|
||||
line-height: 1.06;
|
||||
letter-spacing: -.03em;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.glossary-intro{
|
||||
margin: 0;
|
||||
max-width: 72ch;
|
||||
font-size: 1.05rem;
|
||||
line-height: 1.55;
|
||||
opacity: .94;
|
||||
}
|
||||
|
||||
.glossary-section__head .glossary-intro{
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.glossary-cta{
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-height: 40px;
|
||||
border: 1px solid var(--glossary-border-strong);
|
||||
border-radius: 999px;
|
||||
padding: 7px 14px;
|
||||
color: var(--glossary-accent);
|
||||
text-decoration: none;
|
||||
white-space: nowrap;
|
||||
transition: transform 120ms ease, background 120ms ease;
|
||||
}
|
||||
|
||||
.glossary-cta:hover{
|
||||
background: var(--glossary-bg-soft-strong);
|
||||
text-decoration: none;
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
@media (max-width: 760px){
|
||||
.glossary-section__head{
|
||||
flex-direction: column;
|
||||
align-items: stretch;
|
||||
}
|
||||
|
||||
.glossary-cta{
|
||||
width: fit-content;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
91
src/components/GlossaryPortalGrid.astro
Normal file
91
src/components/GlossaryPortalGrid.astro
Normal file
@@ -0,0 +1,91 @@
|
||||
---
|
||||
export type GlossaryPortalGridItem = {
|
||||
href: string;
|
||||
title: string;
|
||||
description: string;
|
||||
meta: string;
|
||||
};
|
||||
|
||||
export interface Props {
|
||||
items?: GlossaryPortalGridItem[];
|
||||
secondary?: boolean;
|
||||
}
|
||||
|
||||
const {
|
||||
items = [],
|
||||
secondary = false,
|
||||
} = Astro.props;
|
||||
---
|
||||
|
||||
<div
|
||||
class:list={[
|
||||
"glossary-portals",
|
||||
secondary && "glossary-portals--secondary",
|
||||
]}
|
||||
>
|
||||
{items.map((item) => (
|
||||
<a class="glossary-portal-card" href={item.href}>
|
||||
<strong>{item.title}</strong>
|
||||
<span>{item.description}</span>
|
||||
<small>{item.meta}</small>
|
||||
</a>
|
||||
))}
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.glossary-portals{
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
|
||||
gap: 14px;
|
||||
margin-top: 14px;
|
||||
}
|
||||
|
||||
.glossary-portal-card{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
padding: 16px 18px;
|
||||
border: 1px solid var(--glossary-border);
|
||||
border-radius: 18px;
|
||||
background: var(--glossary-bg-soft);
|
||||
text-decoration: none;
|
||||
transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
|
||||
}
|
||||
|
||||
.glossary-portal-card:hover{
|
||||
transform: translateY(-1px);
|
||||
background: var(--glossary-bg-soft-strong);
|
||||
border-color: rgba(0,217,255,0.16);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.glossary-portal-card strong{
|
||||
color: var(--glossary-accent);
|
||||
font-size: 1.08rem;
|
||||
line-height: 1.28;
|
||||
}
|
||||
|
||||
.glossary-portal-card span{
|
||||
color: inherit;
|
||||
font-size: 1rem;
|
||||
line-height: 1.5;
|
||||
opacity: .94;
|
||||
}
|
||||
|
||||
.glossary-portal-card small{
|
||||
color: var(--glossary-accent);
|
||||
font-size: .94rem;
|
||||
line-height: 1.35;
|
||||
opacity: .9;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark){
|
||||
.glossary-portal-card{
|
||||
background: rgba(255,255,255,0.04);
|
||||
}
|
||||
|
||||
.glossary-portal-card:hover{
|
||||
background: rgba(255,255,255,0.07);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
89
src/components/GlossaryRelationCards.astro
Normal file
89
src/components/GlossaryRelationCards.astro
Normal file
@@ -0,0 +1,89 @@
|
||||
---
|
||||
import type { GlossaryRelationBlock } from "../lib/glossary";
|
||||
import { hrefOfGlossaryEntry } from "../lib/glossary";
|
||||
|
||||
interface Props {
|
||||
relationBlocks: GlossaryRelationBlock[];
|
||||
}
|
||||
|
||||
const { relationBlocks = [] } = Astro.props;
|
||||
---
|
||||
|
||||
{relationBlocks.length > 0 && (
|
||||
<section class="glossary-relations" aria-label="Relations conceptuelles">
|
||||
<h2>Relations conceptuelles</h2>
|
||||
|
||||
<div class="glossary-relations-grid">
|
||||
{relationBlocks.map((block) => (
|
||||
<section class={`glossary-relations-card ${block.className}`}>
|
||||
<h3>{block.title}</h3>
|
||||
<ul>
|
||||
{block.items.map((item) => (
|
||||
<li>
|
||||
<a href={hrefOfGlossaryEntry(item)}>{item.data.term}</a>
|
||||
<span> — {item.data.definitionShort}</span>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</section>
|
||||
))}
|
||||
</div>
|
||||
</section>
|
||||
)}
|
||||
|
||||
<style>
|
||||
.glossary-relations{
|
||||
margin-top: 26px;
|
||||
padding-top: 18px;
|
||||
border-top: 1px solid rgba(127,127,127,0.18);
|
||||
}
|
||||
|
||||
.glossary-relations h2{
|
||||
margin-bottom: 14px;
|
||||
}
|
||||
|
||||
.glossary-relations-grid{
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.glossary-relations-card{
|
||||
border: 1px solid rgba(127,127,127,0.22);
|
||||
border-radius: 16px;
|
||||
padding: 14px 16px;
|
||||
background: rgba(127,127,127,0.05);
|
||||
}
|
||||
|
||||
.glossary-relations-card h3{
|
||||
margin-top: 0;
|
||||
margin-bottom: 10px;
|
||||
font-size: 15px;
|
||||
line-height: 1.35;
|
||||
}
|
||||
|
||||
.glossary-relations-card ul{
|
||||
margin: 0;
|
||||
padding-left: 18px;
|
||||
}
|
||||
|
||||
.glossary-relations-card li{
|
||||
margin-bottom: 8px;
|
||||
font-size: 14px;
|
||||
line-height: 1.45;
|
||||
}
|
||||
|
||||
.glossary-relations-card li:last-child{
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.glossary-relations-card span{
|
||||
opacity: .9;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark){
|
||||
.glossary-relations-card{
|
||||
background: rgba(255,255,255,0.04);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -15,9 +15,9 @@ kind: "paradigme"
|
||||
family: "paradigme"
|
||||
domain: "theorie"
|
||||
level: "avance"
|
||||
related: ["archicratie", "cratialite", "archicration", "tension", "co-viabilite", "theorie-de-lacteur-reseau", "transduction-et-individuation"]
|
||||
related: ["archicratie", "cratialite", "archicration", "tension", "co-viabilite", "theorie-de-lacteur-reseau", "transduction-et-individuation", "configuration-et-interdependance"]
|
||||
opposedTo: ["decisionnisme-souverain", "domination-legale-rationnelle"]
|
||||
seeAlso: ["pharmacologie-technique", "preemption-algorithmique", "technodiversite-et-cosmotechnie", "configuration-et-interdependance"]
|
||||
seeAlso: ["pharmacologie-technique", "preemption-algorithmique", "technodiversite-et-cosmotechnie"]
|
||||
---
|
||||
|
||||
L’agencement machinique désigne un paradigme de régulation fondé sur des agencements hétérogènes de flux, de machines, de signes, de corps et de dispositifs, sans centre souverain unique ni forme close préalable.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "concept"
|
||||
family: "concept-fondamental"
|
||||
domain: "transversal"
|
||||
level: "fondamental"
|
||||
related: ["archicratie", "cratialite", "archicration", "co-viabilite", "tension"]
|
||||
related: ["archicratie", "cratialite", "archicration", "co-viabilite", "tension", "domination-legale-rationnelle", "fait-social-total"]
|
||||
opposedTo: ["autarchicratie"]
|
||||
seeAlso: ["obliteration-archicratique"]
|
||||
seeAlso: ["obliteration-archicratique", "hyperarcalite", "archicrations-scripturo-normatives"]
|
||||
---
|
||||
|
||||
L’arcalité désigne le vecteur fondationnel et structurant de toute régulation.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "concept"
|
||||
family: "dynamique"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "meta-regime-archicratique", "regime-de-co-viabilite", "co-viabilisation"]
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "meta-regime-archicratique", "regime-de-co-viabilite", "co-viabilisation", "meta-regime", "archicrations-proto-symboliques", "archicrations-differentielles-et-formes-hybrides"]
|
||||
opposedTo: []
|
||||
seeAlso: ["archicrations-proto-symboliques", "archicrations-differentielles-et-formes-hybrides", "meta-regime", "transduction-et-individuation"]
|
||||
seeAlso: ["transduction-et-individuation"]
|
||||
---
|
||||
|
||||
L’archéogenèse désigne l’analyse de la genèse longue des régimes de co-viabilité : le processus par lequel émergent, se sédimentent, se transforment et se recomposent des prises fondationnelles, opératoires et régulatrices.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "figure"
|
||||
family: "figure"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["figures-archicratiques", "archicratie", "arcalite", "cratialite", "scene-darchicration", "autarchicratie", "hypercratialite", "hyperarcalite"]
|
||||
related: ["figures-archicratiques", "archicratie", "arcalite", "cratialite", "scene-darchicration", "autarchicratie", "hypercratialite", "hyperarcalite", "institution-invisible", "autarchicration"]
|
||||
opposedTo: []
|
||||
seeAlso: ["institution-invisible", "obliteration-archicratique", "scene-empechee", "autarchicration"]
|
||||
seeAlso: ["obliteration-archicratique", "scene-empechee"]
|
||||
---
|
||||
|
||||
L’archicrate désigne la figure — individuelle, institutionnelle ou techno-organisationnelle — qui concentre une cratialité décisive sur la base d’une arcalité stabilisée, tout en neutralisant, filtrant ou capturant les scènes où cette puissance pourrait comparaître.
|
||||
|
||||
@@ -14,7 +14,7 @@ domain: "transversal"
|
||||
level: "fondamental"
|
||||
related: ["arcalite", "cratialite", "archicration", "co-viabilite", "tension"]
|
||||
opposedTo: ["autarchicratie"]
|
||||
seeAlso: ["scene-depreuve", "obliteration-archicratique"]
|
||||
seeAlso: ["scene-depreuve", "obliteration-archicratique", "coexistence-ontologique-et-necessite-regulatrice", "formes-de-vie-et-cadres-dhabitabilite", "egalisation-normative-et-differenciation-singuliere"]
|
||||
---
|
||||
|
||||
L’archicratie désigne le méta-régime de régulation par lequel les sociétés humaines organisent la co-viabilité de leurs dynamiques internes.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "diagnostic"
|
||||
family: "pathologie"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["archicration", "obliteration-archicratique", "autarchicration", "autarchicratie", "scene-empechee", "scene-manquante", "hypotopie", "atopie"]
|
||||
related: ["archicration", "obliteration-archicratique", "autarchicration", "autarchicratie", "scene-empechee", "scene-manquante", "hypotopie", "atopie", "desarchicration", "institution-invisible"]
|
||||
opposedTo: ["scene-darchicration", "monde-instituable"]
|
||||
seeAlso: ["desarchicration", "institution-invisible", "hypercratialite", "hyperarcalite", "desarchicratisation"]
|
||||
seeAlso: ["hypercratialite", "hyperarcalite", "desarchicratisation"]
|
||||
---
|
||||
|
||||
L’archicration oblitérée désigne la situation dans laquelle l’archicration continue d’exister et de produire des effets, mais sous une forme devenue partiellement invisible, introuvable ou difficilement disputable.
|
||||
|
||||
@@ -14,7 +14,7 @@ domain: "transversal"
|
||||
level: "fondamental"
|
||||
related: ["archicratie", "arcalite", "cratialite", "co-viabilite", "tension", "scene-depreuve", "scene-darchicration"]
|
||||
opposedTo: ["autarchicratie", "obliteration-archicratique"]
|
||||
seeAlso: ["archicration-obliteree", "autarchicration", "desarchicration", "scene-manquante", "scene-empechee"]
|
||||
seeAlso: ["archicration-obliteree", "autarchicration", "desarchicration", "scene-manquante", "scene-empechee", "regulation-technique-et-legitimation-democratique", "souverainetes-territoriales-et-interdependances-globales", "memoire-symbolique-et-instantaneite-computationnelle"]
|
||||
---
|
||||
|
||||
L’archicration désigne le vecteur régulateur par lequel les tensions entre arcalités et cratialités sont mises en forme, exposées, redistribuées et rendues plus ou moins révisables.
|
||||
|
||||
@@ -15,9 +15,9 @@ kind: "topologie"
|
||||
family: "meta-regime"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "scene-depreuve", "meta-regime-archicratique", "archeogenese", "regime-de-co-viabilite"]
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "scene-depreuve", "meta-regime-archicratique", "archeogenese", "regime-de-co-viabilite", "archicrations-normativo-politiques", "archicrations-marchandes", "archicrations-guerrieres"]
|
||||
opposedTo: []
|
||||
seeAlso: ["archicrations-normativo-politiques", "archicrations-marchandes", "archicrations-guerrieres", "archicrations-epistemiques", "archicrations-esthetico-symboliques", "archicrations-techno-logistiques"]
|
||||
seeAlso: ["archicrations-epistemiques", "archicrations-esthetico-symboliques", "archicrations-techno-logistiques"]
|
||||
---
|
||||
|
||||
Les archicrations différentielles et formes hybrides désignent l’ensemble des configurations dans lesquelles les méta-régimes archicratiques ne se déploient ni dans la pureté formelle ni dans l’isolement d’une cohérence close.
|
||||
|
||||
@@ -15,9 +15,9 @@ kind: "topologie"
|
||||
family: "meta-regime"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "gouvernementalite", "archicrations-historiographiques"]
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "gouvernementalite", "archicrations-historiographiques", "archicrations-esthetico-symboliques"]
|
||||
opposedTo: []
|
||||
seeAlso: ["archicrations-esthetico-symboliques", "cybernetique", "theorie-de-la-justification", "gouvernementalite-algorithmique", "regulation-technique-et-legitimation-democratique"]
|
||||
seeAlso: ["cybernetique", "theorie-de-la-justification", "gouvernementalite-algorithmique", "regulation-technique-et-legitimation-democratique"]
|
||||
---
|
||||
|
||||
Les archicrations épistémiques désignent un méta-régime de co-viabilité dans lequel la régulation collective s’appuie sur la production, la validation, la hiérarchisation et la diffusion institutionnelle du savoir.
|
||||
|
||||
@@ -15,9 +15,10 @@ kind: "topologie"
|
||||
family: "meta-regime"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "dissensus-politique", "visibilite-mediatique-et-reconnaissance-symbolique"]
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "dissensus-politique", "visibilite-mediatique-et-reconnaissance-symbolique", "archicrations-historiographiques", "archicrations-epistemiques"]
|
||||
opposedTo: []
|
||||
seeAlso: ["archicrations-historiographiques", "archicrations-epistemiques", "theorie-de-la-resonance", "fait-social-total", "lieu-vide-du-pouvoir"]
|
||||
seeAlso: ["theorie-de-la-resonance", "fait-social-total", "lieu-vide-du-pouvoir"
|
||||
]
|
||||
---
|
||||
|
||||
Les archicrations esthético-symboliques désignent un méta-régime de co-viabilité dans lequel la régulation collective s’appuie sur la production, la circulation et la reconnaissance de formes symboliques partageables.
|
||||
|
||||
@@ -15,9 +15,9 @@ kind: "topologie"
|
||||
family: "meta-regime"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "exception-souveraine", "souverainetes-territoriales-et-interdependances-globales"]
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "exception-souveraine", "souverainetes-territoriales-et-interdependances-globales", "archicrations-normativo-politiques"]
|
||||
opposedTo: []
|
||||
seeAlso: ["archicrations-normativo-politiques", "archicrations-marchandes", "decisionnisme-souverain", "liberte-daction-et-regimes-de-securite-algorithmique", "preemption-algorithmique"]
|
||||
seeAlso: ["decisionnisme-souverain", "liberte-daction-et-regimes-de-securite-algorithmique", "preemption-algorithmique"]
|
||||
---
|
||||
|
||||
Les archicrations guerrières désignent un méta-régime de co-viabilité dans lequel la stabilité collective repose sur l’organisation stratégique de la puissance, sur la maîtrise institutionnelle de la violence et sur la capacité à protéger le collectif face à des menaces internes ou externes.
|
||||
|
||||
@@ -15,9 +15,9 @@ kind: "topologie"
|
||||
family: "meta-regime"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "archicrations-epistemiques", "memoire-symbolique-et-instantaneite-computationnelle"]
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "archicrations-epistemiques", "memoire-symbolique-et-instantaneite-computationnelle", "archicrations-esthetico-symboliques"]
|
||||
opposedTo: []
|
||||
seeAlso: ["archicrations-esthetico-symboliques", "fait-social-total", "theorie-de-la-resonance", "visibilite-mediatique-et-reconnaissance-symbolique"]
|
||||
seeAlso: ["fait-social-total", "theorie-de-la-resonance", "visibilite-mediatique-et-reconnaissance-symbolique"]
|
||||
---
|
||||
|
||||
Les archicrations historiographiques désignent un méta-régime de co-viabilité dans lequel la régulation collective s’appuie sur la production autorisée du récit du passé.
|
||||
|
||||
@@ -15,9 +15,9 @@ kind: "topologie"
|
||||
family: "meta-regime"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "gouvernementalite", "travail-vivant-et-abstraction-de-la-valeur", "subsistance-vivante-et-captation-capitalistique"]
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "gouvernementalite", "travail-vivant-et-abstraction-de-la-valeur", "subsistance-vivante-et-captation-capitalistique", "archicrations-normativo-politiques"]
|
||||
opposedTo: []
|
||||
seeAlso: ["archicrations-normativo-politiques", "archicrations-guerrieres", "gouvernance-des-communs", "gouvernementalite-algorithmique", "theorie-de-la-justification"]
|
||||
seeAlso: ["archicrations-guerrieres", "gouvernance-des-communs", "gouvernementalite-algorithmique", "theorie-de-la-justification"]
|
||||
---
|
||||
|
||||
Les archicrations marchandes désignent un méta-régime de co-viabilité dans lequel la coordination collective repose principalement sur les mécanismes d’échange, de circulation et de formation des prix.
|
||||
|
||||
@@ -15,9 +15,9 @@ kind: "topologie"
|
||||
family: "meta-regime"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "domination-legale-rationnelle", "democratie-deliberative", "archicrations-scripturo-normatives"]
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "domination-legale-rationnelle", "democratie-deliberative", "archicrations-scripturo-normatives", "archicrations-marchandes"]
|
||||
opposedTo: []
|
||||
seeAlso: ["archicrations-marchandes", "archicrations-guerrieres", "decisionnisme-souverain", "exception-souveraine", "regulation-technique-et-legitimation-democratique"]
|
||||
seeAlso: ["archicrations-guerrieres", "decisionnisme-souverain", "exception-souveraine", "regulation-technique-et-legitimation-democratique"]
|
||||
---
|
||||
|
||||
Les archicrations normativo-politiques désignent un méta-régime de co-viabilité dans lequel la stabilité collective repose sur l’institution de normes juridiques obligatoires et sur la reconnaissance d’un ordre politique formalisé comme cadre légitime de la décision.
|
||||
|
||||
@@ -15,7 +15,7 @@ kind: "topologie"
|
||||
family: "meta-regime"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "scene-depreuve", "archicrations-sacrales-non-etatiques", "fait-social-total", "pluralite-natalite-action"]
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "scene-depreuve", "archicrations-sacrales-non-etatiques", "fait-social-total", "pluralite-natalite-action", "archeogenese", "meta-regime-archicratique"]
|
||||
opposedTo: []
|
||||
seeAlso: ["archicrations-techno-logistiques", "archicrations-esthetico-symboliques", "cosmopolitique"]
|
||||
---
|
||||
|
||||
@@ -15,9 +15,9 @@ kind: "topologie"
|
||||
family: "meta-regime"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "archicrations-proto-symboliques", "fait-social-total", "cosmopolitique"]
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "archicrations-proto-symboliques", "fait-social-total", "cosmopolitique", "archicrations-scripturo-cosmologiques"]
|
||||
opposedTo: ["decisionnisme-souverain", "exception-souveraine"]
|
||||
seeAlso: ["archicrations-techno-logistiques", "archicrations-theologiques", "archicrations-scripturo-cosmologiques"]
|
||||
seeAlso: ["archicrations-techno-logistiques", "archicrations-theologiques"]
|
||||
---
|
||||
|
||||
Les archicrations sacrales non étatiques désignent un méta-régime de co-viabilité dans lequel des puissances sacrales, des cosmologies, des interdits et des médiations rituelles structurent le lien collectif sans passer par un État central ni par une souveraineté unifiée.
|
||||
|
||||
@@ -15,9 +15,9 @@ kind: "topologie"
|
||||
family: "meta-regime"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "archicrations-scripturo-normatives", "archicrations-theologiques", "technodiversite-et-cosmotechnie"]
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "archicrations-scripturo-normatives", "archicrations-theologiques", "technodiversite-et-cosmotechnie", "archicrations-sacrales-non-etatiques", "archicrations-techno-logistiques"]
|
||||
opposedTo: []
|
||||
seeAlso: ["archicrations-sacrales-non-etatiques", "archicrations-historiographiques", "archicrations-techno-logistiques", "cosmopolitique"]
|
||||
seeAlso: ["archicrations-historiographiques", "cosmopolitique"]
|
||||
---
|
||||
|
||||
Les archicrations scripturo-cosmologiques désignent un méta-régime de co-viabilité dans lequel l’écriture n’édicte pas la règle mais figure un ordre cosmique préalable, déjà là, structuré et lisible.
|
||||
|
||||
@@ -15,9 +15,9 @@ kind: "topologie"
|
||||
family: "meta-regime"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "domination-legale-rationnelle", "archicrations-scripturo-cosmologiques", "archicrations-normativo-politiques"]
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "domination-legale-rationnelle", "archicrations-scripturo-cosmologiques", "archicrations-normativo-politiques", "meta-regime-archicratique", "archicrations-theologiques"]
|
||||
opposedTo: []
|
||||
seeAlso: ["archicrations-theologiques", "archicrations-techno-logistiques", "theorie-de-la-justification", "decisionnisme-souverain"]
|
||||
seeAlso: ["archicrations-techno-logistiques", "theorie-de-la-justification", "decisionnisme-souverain"]
|
||||
---
|
||||
|
||||
Les archicrations scripturo-normatives désignent un méta-régime de co-viabilité dans lequel l’obligation découle d’un énoncé inscrit, traçable, reproductible et opposable. On n’écrit plus principalement ce qui est : on inscrit ce qui doit être.
|
||||
|
||||
@@ -15,9 +15,9 @@ kind: "topologie"
|
||||
family: "meta-regime"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "cybernetique", "synchrotopie", "theorie-de-lacteur-reseau"]
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "cybernetique", "synchrotopie", "theorie-de-lacteur-reseau", "archicrations-scripturo-normatives", "archicrations-scripturo-cosmologiques"]
|
||||
opposedTo: []
|
||||
seeAlso: ["archicrations-proto-symboliques", "archicrations-sacrales-non-etatiques", "archicrations-scripturo-normatives", "domination-legale-rationnelle", "gouvernementalite-algorithmique", "preemption-algorithmique"]
|
||||
seeAlso: ["archicrations-proto-symboliques", "archicrations-sacrales-non-etatiques", "domination-legale-rationnelle", "gouvernementalite-algorithmique", "preemption-algorithmique"]
|
||||
---
|
||||
|
||||
Les archicrations techno-logistiques désignent un méta-régime de co-viabilité dans lequel la régulation cesse d’être assurée principalement par le différé symbolique ou rituel, et s’incarne dans des dispositifs intégrés, durables et opérationnels articulant formes monumentales, flux logistiques et fonctions codifiées.
|
||||
|
||||
@@ -15,9 +15,9 @@ kind: "topologie"
|
||||
family: "meta-regime"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "decisionnisme-souverain", "archicrations-scripturo-cosmologiques", "archicrations-scripturo-normatives"]
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "decisionnisme-souverain", "archicrations-scripturo-cosmologiques", "archicrations-scripturo-normatives", "archicrations-sacrales-non-etatiques"]
|
||||
opposedTo: []
|
||||
seeAlso: ["lieu-vide-du-pouvoir", "volonte-generale", "archicrations-sacrales-non-etatiques"]
|
||||
seeAlso: ["lieu-vide-du-pouvoir", "volonte-generale"]
|
||||
---
|
||||
|
||||
Les archicrations théologiques désignent un méta-régime de co-viabilité dans lequel l’obligation ne procède ni d’un cosmos lisible, ni d’un code autonome, ni d’une logistique matérielle, mais d’un verbe révélé tenu pour émaner d’une source divine transcendante et irréductible à l’ordre du monde.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "concept"
|
||||
family: "dynamique"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["archicratie", "archicration", "co-viabilisation", "scene-darchicration", "monde-instituable", "archidiagnostic", "scene-depreuve"]
|
||||
related: ["archicratie", "archicration", "co-viabilisation", "scene-darchicration", "monde-instituable", "archidiagnostic", "scene-depreuve", "audit-archicratique"]
|
||||
opposedTo: ["desarchicratisation", "autarchicratie"]
|
||||
seeAlso: ["desarchicration", "archicration-obliteree", "audit-archicratique", "regime-de-co-viabilite"]
|
||||
seeAlso: ["desarchicration", "archicration-obliteree", "regime-de-co-viabilite"]
|
||||
---
|
||||
|
||||
L’archicratisation désigne le processus par lequel un champ social, une institution, une infrastructure ou un monde commun devient davantage structuré par des logiques explicites d’archicration, de comparution et de co-viabilisation.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "epistemologie"
|
||||
family: "epistemologie"
|
||||
domain: "theorie"
|
||||
level: "avance"
|
||||
related: ["archicratie", "archidiagnostic", "archicratique", "meta-regime-archicratique", "figures-archicratiques", "tension"]
|
||||
related: ["archicratie", "archidiagnostic", "archicratique", "meta-regime-archicratique", "figures-archicratiques", "tension", "institution-invisible", "pensee-complexe"]
|
||||
opposedTo: []
|
||||
seeAlso: ["archeogenese", "co-viabilite", "scene-depreuve", "institution-invisible", "pensee-complexe"]
|
||||
seeAlso: ["archeogenese", "co-viabilite", "scene-depreuve"]
|
||||
---
|
||||
|
||||
L’archicratistique désigne le champ d’analyse consacré à la description, à la comparaison et au diagnostic des architectures de régulation et de leurs formes de co-viabilité.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "epistemologie"
|
||||
family: "epistemologie"
|
||||
domain: "theorie"
|
||||
level: "intermediaire"
|
||||
related: ["archicratistique", "archicratie", "institution-invisible", "figures-archicratiques", "tension", "scene-darchicration"]
|
||||
related: ["archicratistique", "archicratie", "institution-invisible", "figures-archicratiques", "tension", "scene-darchicration", "scene-manquante", "scene-empechee", "cartographie-des-scenes-manquantes", "audit-archicratique"]
|
||||
opposedTo: []
|
||||
seeAlso: ["scene-manquante", "scene-empechee", "autarchicratie", "obliteration-archicratique", "desarchicratisation"]
|
||||
seeAlso: ["autarchicratie", "obliteration-archicratique", "desarchicratisation", "hypotopie"]
|
||||
---
|
||||
|
||||
L’archidiagnostic désigne un diagnostic portant non sur les seuls symptômes visibles d’une crise, mais sur les architectures de régulation, les scènes et les figures qui la produisent, l’encadrent, la déplacent ou l’aggravent.
|
||||
|
||||
@@ -13,7 +13,7 @@ kind: "dispositif"
|
||||
family: "dispositif-ia"
|
||||
domain: "cas-ia"
|
||||
level: "avance"
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "scene-depreuve", "journal-de-justification", "cartographie-des-scenes-manquantes", "tribunal-de-lalgorithme", "archidiagnostic"]
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "scene-depreuve", "journal-de-justification", "cartographie-des-scenes-manquantes", "tribunal-de-lalgorithme", "archidiagnostic", "institution-invisible"]
|
||||
opposedTo: ["autarchicratie"]
|
||||
seeAlso: ["gouvernementalite-algorithmique", "preemption-algorithmique", "budget-scenique", "visa-daffectation"]
|
||||
---
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "diagnostic"
|
||||
family: "pathologie"
|
||||
domain: "transversal"
|
||||
level: "fondamental"
|
||||
related: ["archicratie", "archicration", "obliteration-archicratique", "scene-depreuve", "co-viabilite", "autarchicration", "archicration-obliteree"]
|
||||
related: ["archicratie", "archicration", "obliteration-archicratique", "scene-depreuve", "co-viabilite", "autarchicration", "archicration-obliteree", "desarchicratisation", "institution-invisible"]
|
||||
opposedTo: ["archicratie"]
|
||||
seeAlso: ["tension", "hyperarcalite", "hypercratialite", "institution-invisible"]
|
||||
seeAlso: ["tension", "hyperarcalite", "hypercratialite", "figures-archicratiques"]
|
||||
---
|
||||
|
||||
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.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "diagnostic"
|
||||
family: "pathologie"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["archicration", "autarchicratie", "archicration-obliteree", "scene-depreuve", "scene-darchicration", "obliteration-archicratique"]
|
||||
related: ["archicration", "autarchicratie", "archicration-obliteree", "scene-depreuve", "scene-darchicration", "obliteration-archicratique", "desarchicration", "hyperarcalite", "hypercratialite"]
|
||||
opposedTo: ["monde-instituable", "scene-depreuve"]
|
||||
seeAlso: ["desarchicration", "institution-invisible", "hyperarcalite", "hypercratialite"]
|
||||
seeAlso: ["institution-invisible"]
|
||||
---
|
||||
|
||||
L’autarchicration désigne un mode dégradé d’archicration dans lequel l’épreuve régulatrice continue de fonctionner, mais principalement pour reproduire et protéger le dispositif plutôt que pour le rendre effectivement révisable.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "concept"
|
||||
family: "dynamique"
|
||||
domain: "transversal"
|
||||
level: "intermediaire"
|
||||
related: ["co-viabilite", "tension", "archicration", "archicratie", "scene-depreuve", "archicratisation", "monde-instituable"]
|
||||
related: ["co-viabilite", "tension", "archicration", "archicratie", "scene-depreuve", "archicratisation", "monde-instituable", "regime-de-co-viabilite", "regulation-morphogenetique-des-interdependances"]
|
||||
opposedTo: ["desarchicratisation"]
|
||||
seeAlso: ["archicration-obliteree", "autarchicratie", "regime-de-co-viabilite", "regulation-morphogenetique-des-interdependances"]
|
||||
seeAlso: ["archicration-obliteree", "autarchicratie"]
|
||||
---
|
||||
|
||||
La co-viabilisation désigne le processus par lequel des tensions, des formes de vie, des temporalités et des intérêts hétérogènes deviennent mutuellement tenables dans un cadre régulatoire donné.
|
||||
|
||||
@@ -14,7 +14,7 @@ domain: "transversal"
|
||||
level: "fondamental"
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "tension"]
|
||||
opposedTo: ["autarchicratie"]
|
||||
seeAlso: ["scene-depreuve", "obliteration-archicratique"]
|
||||
seeAlso: ["scene-depreuve", "obliteration-archicratique", "coexistence-ontologique-et-necessite-regulatrice", "formes-de-vie-et-cadres-dhabitabilite", "subsistance-vivante-et-captation-capitalistique"]
|
||||
---
|
||||
|
||||
La co-viabilité désigne la capacité d’un système social à maintenir la continuité de son organisation collective en rendant compatibles, sans les abolir, une pluralité de tensions, d’arcalités et de cratialités.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "concept"
|
||||
family: "tension-irreductible"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["tension", "archicration", "archicratie", "co-viabilite", "scene-depreuve", "cosmopolitique", "technodiversite-et-cosmotechnie", "transduction-et-individuation"]
|
||||
related: ["tension", "archicration", "archicratie", "co-viabilite", "scene-depreuve", "cosmopolitique", "technodiversite-et-cosmotechnie", "transduction-et-individuation", "formes-de-vie-et-cadres-dhabitabilite", "souverainetes-territoriales-et-interdependances-globales"]
|
||||
opposedTo: []
|
||||
seeAlso: ["egalisation-normative-et-differenciation-singuliere", "formes-de-vie-et-cadres-dhabitabilite", "souverainetes-territoriales-et-interdependances-globales"]
|
||||
seeAlso: ["egalisation-normative-et-differenciation-singuliere"]
|
||||
---
|
||||
|
||||
La tension entre co-existence ontologique et nécessité régulatrice désigne le conflit structurel entre, d’un côté, l’hétérogénéité radicale des êtres, des formes de vie, des cultures, des régimes cognitifs ou des entités impliquées dans un monde commun, et, de l’autre, la nécessité d’instituer malgré tout une scène de régulation partageable.
|
||||
|
||||
@@ -15,9 +15,9 @@ kind: "paradigme"
|
||||
family: "paradigme"
|
||||
domain: "theorie"
|
||||
level: "avance"
|
||||
related: ["archicratie", "co-viabilite", "tension", "conatus-et-multitude", "transduction-et-individuation", "gouvernance-des-communs"]
|
||||
related: ["archicratie", "co-viabilite", "tension", "conatus-et-multitude", "transduction-et-individuation", "gouvernance-des-communs", "pensee-complexe", "fait-social-total"]
|
||||
opposedTo: ["decisionnisme-souverain"]
|
||||
seeAlso: ["fait-social-total", "domination-legale-rationnelle", "theorie-de-la-justification", "pensee-complexe"]
|
||||
seeAlso: ["domination-legale-rationnelle", "theorie-de-la-justification"]
|
||||
---
|
||||
|
||||
La configuration et l’interdépendance désignent un paradigme de régulation dans lequel les formes sociales émergent de chaînes d’interdépendance, de contraintes réciproques et de configurations évolutives qui transforment les acteurs autant qu’elles les lient.
|
||||
|
||||
@@ -15,9 +15,9 @@ kind: "doctrine"
|
||||
family: "doctrine"
|
||||
domain: "theorie"
|
||||
level: "fondamental"
|
||||
related: ["decisionnisme-souverain", "exception-souveraine", "archicratie", "tension", "co-viabilite", "domination-legale-rationnelle"]
|
||||
related: ["decisionnisme-souverain", "exception-souveraine", "archicratie", "archicration", "tension", "co-viabilite", "domination-legale-rationnelle", "droit-naturel-et-propriete"]
|
||||
opposedTo: ["volonte-generale", "democratie-deliberative", "gouvernance-des-communs"]
|
||||
seeAlso: ["droit-naturel-et-propriete", "gouvernementalite", "archicration", "exception-souveraine"]
|
||||
seeAlso: ["gouvernementalite", "volonte-generale"]
|
||||
---
|
||||
|
||||
Le contractualisme hobbesien désigne la doctrine selon laquelle l’ordre politique tire sa légitimité première de sa capacité à conjurer la conflictualité destructrice et à garantir la sécurité commune.
|
||||
|
||||
@@ -13,9 +13,9 @@ kind: "dispositif"
|
||||
family: "dispositif-ia"
|
||||
domain: "cas-ia"
|
||||
level: "avance"
|
||||
related: ["archicration", "scene-depreuve", "droit-au-differe-contradictoire", "tribunal-de-lalgorithme", "budget-scenique", "cartographie-des-scenes-manquantes", "autarchicratie"]
|
||||
related: ["archicration", "scene-depreuve", "droit-au-differe-contradictoire", "tribunal-de-lalgorithme", "budget-scenique", "cartographie-des-scenes-manquantes", "visa-daffectation"]
|
||||
opposedTo: ["autarchicratie", "preemption-algorithmique"]
|
||||
seeAlso: ["archicration-obliteree", "journal-de-justification", "visa-daffectation"]
|
||||
seeAlso: ["archicration-obliteree", "journal-de-justification", "audit-archicratique"]
|
||||
---
|
||||
|
||||
Le coupe-circuit citoyen désigne le dispositif par lequel l’effet d’un système d’IA peut être interrompu, suspendu ou débranché provisoirement lorsqu’il apparaît que la scène d’archicration est insuffisante, oblitérée ou défaillante.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "concept"
|
||||
family: "concept-fondamental"
|
||||
domain: "transversal"
|
||||
level: "fondamental"
|
||||
related: ["archicratie", "arcalite", "archicration", "tension", "co-viabilite"]
|
||||
related: ["archicratie", "arcalite", "archicration", "tension", "co-viabilite", "agencement-machinique", "cybernetique", "gouvernementalite-algorithmique"]
|
||||
opposedTo: ["autarchicratie"]
|
||||
seeAlso: ["obliteration-archicratique"]
|
||||
seeAlso: ["obliteration-archicratique", "hypercratialite"]
|
||||
---
|
||||
|
||||
La cratialité désigne le vecteur opératoire et transformateur de toute régulation.
|
||||
|
||||
@@ -15,9 +15,9 @@ kind: "paradigme"
|
||||
family: "paradigme"
|
||||
domain: "theorie"
|
||||
level: "fondamental"
|
||||
related: ["archicratie", "tension", "cratialite", "gouvernementalite-algorithmique", "preemption-algorithmique", "regulation-technique-et-legitimation-democratique"]
|
||||
related: ["archicratie", "tension", "cratialite", "gouvernementalite", "gouvernementalite-algorithmique", "preemption-algorithmique", "regulation-technique-et-legitimation-democratique", "pharmacologie-technique"]
|
||||
opposedTo: []
|
||||
seeAlso: ["gouvernementalite", "biopolitique", "pharmacologie-technique", "technodiversite-et-cosmotechnie", "pensee-complexe"]
|
||||
seeAlso: ["biopolitique", "technodiversite-et-cosmotechnie", "pensee-complexe"]
|
||||
---
|
||||
|
||||
La cybernétique désigne le paradigme selon lequel un système peut être compris et gouverné à partir de ses flux d’information, de ses boucles de rétroaction, de ses écarts et de ses mécanismes de correction.
|
||||
|
||||
@@ -15,9 +15,9 @@ kind: "paradigme"
|
||||
family: "paradigme"
|
||||
domain: "theorie"
|
||||
level: "fondamental"
|
||||
related: ["volonte-generale", "archicration", "scene-depreuve", "archicratie", "gouvernance-des-communs", "theorie-de-la-justification"]
|
||||
related: ["volonte-generale", "archicration", "scene-depreuve", "archicratie", "gouvernance-des-communs", "theorie-de-la-justification", "dissensus-politique", "lieu-vide-du-pouvoir"]
|
||||
opposedTo: ["decisionnisme-souverain", "exception-souveraine", "preemption-algorithmique"]
|
||||
seeAlso: ["dissensus-politique", "lieu-vide-du-pouvoir", "domination-legale-rationnelle", "gouvernementalite"]
|
||||
seeAlso: ["domination-legale-rationnelle", "gouvernementalite"]
|
||||
---
|
||||
|
||||
La démocratie délibérative désigne le paradigme politique selon lequel la légitimité d’un ordre collectif doit se fonder sur la discussion publique, l’échange argumenté et la formation procédurale d’un accord révisable.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "diagnostic"
|
||||
family: "dynamique"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["archicration", "archicration-obliteree", "scene-manquante", "scene-empechee", "autarchicration", "autarchicratie", "obliteration-archicratique"]
|
||||
related: ["archicration", "archicration-obliteree", "scene-manquante", "scene-empechee", "autarchicration", "autarchicratie", "obliteration-archicratique", "desarchicratisation", "institution-invisible"]
|
||||
opposedTo: ["archicratisation", "monde-instituable"]
|
||||
seeAlso: ["desarchicratisation", "institution-invisible", "atopie", "obliteration-archicratique"]
|
||||
seeAlso: ["atopie"]
|
||||
---
|
||||
|
||||
La désarchicration désigne le processus local par lequel une scène, un dispositif, une institution ou un domaine cesse d’être effectivement archicraté, alors même qu’il demeure encore régulé.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "qualification"
|
||||
family: "qualification"
|
||||
domain: "transversal"
|
||||
level: "intermediaire"
|
||||
related: ["desarchicration", "desarchicratisation", "autarchicratie", "archicration-obliteree", "scene-manquante", "institution-invisible"]
|
||||
related: ["desarchicration", "desarchicratisation", "autarchicratie", "archicration-obliteree", "scene-manquante", "institution-invisible", "autarchicration", "obliteration-archicratique"]
|
||||
opposedTo: ["archicratique"]
|
||||
seeAlso: ["autarchicration", "obliteration-archicratique", "scene-empechee"]
|
||||
seeAlso: ["scene-empechee", "archidiagnostic"]
|
||||
---
|
||||
|
||||
Désarchicratique qualifie ce qui contribue à retirer une régulation de la scène de l’épreuve, à la rendre moins disputable, moins révisable ou moins capable de soutenir une co-viabilisation explicite.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "diagnostic"
|
||||
family: "dynamique"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["desarchicration", "autarchicratie", "institution-invisible", "scene-manquante", "archicration-obliteree", "co-viabilite", "obliteration-archicratique", "monde-instituable"]
|
||||
related: ["desarchicration", "autarchicratie", "institution-invisible", "scene-manquante", "archicration-obliteree", "co-viabilite", "obliteration-archicratique", "monde-instituable", "scene-empechee", "archidiagnostic"]
|
||||
opposedTo: ["archicratisation"]
|
||||
seeAlso: ["autarchicration", "atopie", "scene-empechee", "scene-depreuve"]
|
||||
seeAlso: ["autarchicration", "atopie", "scene-depreuve"]
|
||||
---
|
||||
|
||||
La désarchicratisation désigne le processus historique ou systémique par lequel un monde social perd sa capacité à rendre comparables, disputables et révisables ses propres architectures de régulation.
|
||||
|
||||
@@ -15,9 +15,9 @@ kind: "paradigme"
|
||||
family: "paradigme"
|
||||
domain: "theorie"
|
||||
level: "fondamental"
|
||||
related: ["archicration", "scene-depreuve", "tension", "archicratie", "pluralite-natalite-action", "lieu-vide-du-pouvoir"]
|
||||
related: ["archicration", "scene-depreuve", "tension", "archicratie", "pluralite-natalite-action", "lieu-vide-du-pouvoir", "democratie-deliberative", "visibilite-mediatique-et-reconnaissance-symbolique"]
|
||||
opposedTo: ["decisionnisme-souverain", "preemption-algorithmique", "autarchicratie"]
|
||||
seeAlso: ["democratie-deliberative", "volonte-generale", "co-viabilite", "visibilite-mediatique-et-reconnaissance-symbolique"]
|
||||
seeAlso: ["volonte-generale", "co-viabilite"]
|
||||
---
|
||||
|
||||
Le dissensus politique désigne le paradigme dans lequel le litige, le désaccord et l’apparition conflictuelle des voix exclues constituent une dimension constitutive de la scène commune.
|
||||
|
||||
@@ -15,9 +15,9 @@ kind: "doctrine"
|
||||
family: "doctrine"
|
||||
domain: "theorie"
|
||||
level: "fondamental"
|
||||
related: ["contractualisme-hobbesien", "volonte-generale", "archicratie", "co-viabilite", "domination-legale-rationnelle"]
|
||||
related: ["contractualisme-hobbesien", "volonte-generale", "archicratie", "archicration", "co-viabilite", "domination-legale-rationnelle", "democratie-deliberative"]
|
||||
opposedTo: ["decisionnisme-souverain"]
|
||||
seeAlso: ["democratie-deliberative", "gouvernementalite", "archicration"]
|
||||
seeAlso: ["gouvernementalite"]
|
||||
---
|
||||
|
||||
Le droit naturel et la propriété désignent la doctrine fondatrice qui fait de la loi naturelle, de la propriété et du consentement des gouvernés les principes supérieurs d’un ordre politique chargé avant tout de protéger des droits préexistants.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "concept"
|
||||
family: "tension-irreductible"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["tension", "archicration", "archicratie", "co-viabilite", "scene-depreuve", "democratie-deliberative", "dissensus-politique", "pluralite-natalite-action"]
|
||||
related: ["tension", "archicration", "archicratie", "co-viabilite", "scene-depreuve", "democratie-deliberative", "dissensus-politique", "pluralite-natalite-action", "coexistence-ontologique-et-necessite-regulatrice", "formes-de-vie-et-cadres-dhabitabilite"]
|
||||
opposedTo: []
|
||||
seeAlso: ["coexistence-ontologique-et-necessite-regulatrice", "visibilite-mediatique-et-reconnaissance-symbolique", "formes-de-vie-et-cadres-dhabitabilite"]
|
||||
seeAlso: ["visibilite-mediatique-et-reconnaissance-symbolique"]
|
||||
---
|
||||
|
||||
La tension entre égalisation normative et différenciation singulière désigne le conflit structurel entre, d’un côté, l’exigence d’universalité, d’égalité de traitement et de formalisation commune, et, de l’autre, la nécessité de reconnaître des situations, des positions, des héritages et des expériences irréductiblement différenciés.
|
||||
|
||||
@@ -15,9 +15,9 @@ kind: "paradigme"
|
||||
family: "paradigme"
|
||||
domain: "theorie"
|
||||
level: "intermediaire"
|
||||
related: ["archicratie", "arcalite", "co-viabilite", "tension", "archicrations-proto-symboliques", "archicrations-sacrales-non-etatiques"]
|
||||
related: ["archicratie", "arcalite", "co-viabilite", "tension", "archicrations-proto-symboliques", "archicrations-sacrales-non-etatiques", "configuration-et-interdependance", "habitus-et-violence-symbolique"]
|
||||
opposedTo: ["preemption-algorithmique"]
|
||||
seeAlso: ["configuration-et-interdependance", "theorie-de-la-resonance", "gouvernance-des-communs", "habitus-et-violence-symbolique"]
|
||||
seeAlso: ["theorie-de-la-resonance", "gouvernance-des-communs"]
|
||||
---
|
||||
|
||||
Le fait social total désigne un paradigme de régulation dans lequel les échanges, obligations et symbolisations engagent simultanément les dimensions économiques, juridiques, rituelles, politiques et affectives de la vie collective.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "figure"
|
||||
family: "figure"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["archicrate", "archicratie", "institution-invisible", "scene-darchicration", "archicration", "autarchicratie", "hypercratialite", "hyperarcalite"]
|
||||
related: ["archicrate", "archicratie", "institution-invisible", "scene-darchicration", "archicration", "autarchicratie", "hypercratialite", "hyperarcalite", "archidiagnostic", "obliteration-archicratique"]
|
||||
opposedTo: []
|
||||
seeAlso: ["obliteration-archicratique", "archidiagnostic", "desarchicratisation"]
|
||||
seeAlso: ["desarchicratisation", "autarchicration"]
|
||||
---
|
||||
|
||||
Les figures archicratiques désignent l’ensemble des positions, profils, rôles et agencements qui, dans une configuration donnée, exercent une fonction structurante dans la régulation collective.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "concept"
|
||||
family: "tension-irreductible"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["tension", "archicration", "archicratie", "co-viabilite", "scene-depreuve","technodiversite-et-cosmotechnie", "biopolitique"]
|
||||
related: ["tension", "archicration", "archicratie", "co-viabilite", "scene-depreuve", "technodiversite-et-cosmotechnie", "biopolitique", "coexistence-ontologique-et-necessite-regulatrice", "subsistance-vivante-et-captation-capitalistique"]
|
||||
opposedTo: []
|
||||
seeAlso: ["cosmopolitique", "subsistance-vivante-et-captation-capitalistique", "souverainetes-territoriales-et-interdependances-globales", "coexistence-ontologique-et-necessite-regulatrice", "egalisation-normative-et-differenciation-singuliere"]
|
||||
seeAlso: ["cosmopolitique", "souverainetes-territoriales-et-interdependances-globales", "egalisation-normative-et-differenciation-singuliere"]
|
||||
---
|
||||
|
||||
La tension entre formes de vie et cadres d’habitabilité désigne le conflit structurel entre la pluralité des manières d’habiter, de se déplacer, de produire, de coexister et de se rapporter à un milieu, et les cadres spatiaux, fonctionnels, techniques ou normatifs qui organisent les conditions de l’habitabilité.
|
||||
|
||||
@@ -15,9 +15,9 @@ kind: "paradigme"
|
||||
family: "paradigme"
|
||||
domain: "theorie"
|
||||
level: "intermediaire"
|
||||
related: ["co-viabilite", "archicratie", "democratie-deliberative", "tension", "domination-legale-rationnelle", "gouvernementalite"]
|
||||
related: ["co-viabilite", "archicratie", "democratie-deliberative", "tension", "domination-legale-rationnelle", "gouvernementalite", "configuration-et-interdependance"]
|
||||
opposedTo: ["decisionnisme-souverain", "exception-souveraine"]
|
||||
seeAlso: ["configuration-et-interdependance", "theorie-de-la-justification", "meta-regime-archicratique"]
|
||||
seeAlso: ["theorie-de-la-justification", "meta-regime-archicratique", "cosmopolitique"]
|
||||
---
|
||||
|
||||
La gouvernance des communs désigne le paradigme de régulation fondé sur la coordination collective, située et polycentrique de ressources ou d’usages partagés par des communautés d’acteurs.
|
||||
|
||||
@@ -15,9 +15,9 @@ kind: "paradigme"
|
||||
family: "paradigme"
|
||||
domain: "cas-ia"
|
||||
level: "intermediaire"
|
||||
related: ["gouvernementalite", "cybernetique", "autarchicratie", "obliteration-archicratique", "cratialite", "preemption-algorithmique", "regulation-technique-et-legitimation-democratique"]
|
||||
related: ["gouvernementalite", "cybernetique", "autarchicratie", "obliteration-archicratique", "cratialite", "preemption-algorithmique", "regulation-technique-et-legitimation-democratique", "archicration", "audit-archicratique"]
|
||||
opposedTo: []
|
||||
seeAlso: ["archicratie", "archicration", "co-viabilite", "tension", "audit-archicratique", "tribunal-de-lalgorithme", "biopolitique"]
|
||||
seeAlso: ["archicratie", "co-viabilite", "tension", "tribunal-de-lalgorithme", "biopolitique"]
|
||||
---
|
||||
|
||||
La gouvernementalité algorithmique désigne le paradigme contemporain dans lequel la régulation tend à s’appuyer sur des traitements automatisés de données, des calculs prédictifs, des classements, des seuils de risque et des ajustements opérés à distance par des systèmes techniques.
|
||||
|
||||
@@ -15,9 +15,9 @@ kind: "paradigme"
|
||||
family: "paradigme"
|
||||
domain: "theorie"
|
||||
level: "fondamental"
|
||||
related: ["archicratie", "biopolitique", "gouvernementalite-algorithmique", "scene-depreuve", "preemption-algorithmique", "domination-legale-rationnelle"]
|
||||
related: ["archicratie", "biopolitique", "gouvernementalite-algorithmique", "scene-depreuve", "preemption-algorithmique", "domination-legale-rationnelle", "cybernetique", "pharmacologie-technique"]
|
||||
opposedTo: []
|
||||
seeAlso: ["cybernetique", "volonte-generale", "lieu-vide-du-pouvoir", "pharmacologie-technique"]
|
||||
seeAlso: ["volonte-generale", "lieu-vide-du-pouvoir"]
|
||||
---
|
||||
|
||||
La gouvernementalité désigne le paradigme d’analyse dans lequel le pouvoir est pensé comme conduite des conduites, à travers des savoirs, des dispositifs, des calculs et des techniques orientés vers la gestion des comportements collectifs.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "diagnostic"
|
||||
family: "pathologie"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["arcalite", "hypercratialite", "archicration", "autarchicratie", "scene-manquante", "archicration-obliteree", "archicrate"]
|
||||
related: ["arcalite", "hypercratialite", "archicration", "autarchicratie", "scene-manquante", "archicration-obliteree", "archicrate", "autarchicration", "institution-invisible"]
|
||||
opposedTo: ["co-viabilite", "archicratisation"]
|
||||
seeAlso: ["institution-invisible", "autarchicration", "scene-depreuve", "obliteration-archicratique"]
|
||||
seeAlso: ["scene-depreuve", "obliteration-archicratique"]
|
||||
---
|
||||
|
||||
L’hyperarcalité désigne l’hypertrophie de l’arcalité, c’est-à-dire la situation dans laquelle les fondements, les cadres, les principes de légitimation ou les structures de cadrage deviennent excessivement massifs, saturants ou immunisés contre l’épreuve.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "diagnostic"
|
||||
family: "pathologie"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["cratialite", "hyperarcalite", "archicration", "autarchicratie", "archicrate", "archicration-obliteree", "preemption-algorithmique", "gouvernementalite-algorithmique"]
|
||||
related: ["cratialite", "hyperarcalite", "archicration", "autarchicratie", "archicrate", "archicration-obliteree", "preemption-algorithmique", "gouvernementalite-algorithmique", "autarchicration", "institution-invisible"]
|
||||
opposedTo: ["co-viabilite", "archicratisation"]
|
||||
seeAlso: ["tension", "institution-invisible", "autarchicration", "scene-depreuve", "obliteration-archicratique"]
|
||||
seeAlso: ["tension", "scene-depreuve", "obliteration-archicratique"]
|
||||
---
|
||||
|
||||
L’hypercratialité désigne l’hypertrophie de la cratialité, c’est-à-dire la situation dans laquelle la capacité d’effectuation, d’intervention, de pilotage, d’automatisation ou de transformation croît plus vite que les scènes capables de l’exposer, de la qualifier et de la réviser.
|
||||
|
||||
@@ -14,7 +14,7 @@ domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["synchrotopie", "atopie", "scene-darchicration", "institution-invisible", "souverainetes-territoriales-et-interdependances-globales", "co-viabilite", "archicration"]
|
||||
opposedTo: []
|
||||
seeAlso: ["hypotopie", "cartographie-des-scenes-manquantes", "configuration-et-interdependance"]
|
||||
seeAlso: ["hypotopie", "cartographie-des-scenes-manquantes", "configuration-et-interdependance", "archidiagnostic"]
|
||||
---
|
||||
|
||||
L’hypertopie désigne une configuration dans laquelle une scène, un dispositif ou une architecture de régulation déborde son site initial et étend ses effets bien au-delà de son cadre apparent.
|
||||
|
||||
@@ -14,7 +14,7 @@ domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["institution-invisible", "scene-manquante", "archicration-obliteree", "synchrotopie", "atopie", "scene-darchicration", "archicration", "hypertopie", "scene-empechee"]
|
||||
opposedTo: []
|
||||
seeAlso: ["cartographie-des-scenes-manquantes", "audit-archicratique"]
|
||||
seeAlso: ["cartographie-des-scenes-manquantes", "audit-archicratique", "archidiagnostic"]
|
||||
---
|
||||
|
||||
L’hypotopie désigne la topologie sous-jacente dans laquelle une part décisive de la régulation opère en dessous ou en deçà de la scène visible.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "concept"
|
||||
family: "tension-irreductible"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["tension", "archicration", "archicratie", "co-viabilite", "scene-depreuve", "preemption-algorithmique", "gouvernementalite", "pharmacologie-technique"]
|
||||
related: ["tension", "archicration", "archicratie", "co-viabilite", "scene-depreuve", "preemption-algorithmique", "gouvernementalite", "pharmacologie-technique", "regulation-technique-et-legitimation-democratique", "memoire-symbolique-et-instantaneite-computationnelle"]
|
||||
opposedTo: []
|
||||
seeAlso: ["regulation-technique-et-legitimation-democratique", "travail-vivant-et-abstraction-de-la-valeur", "memoire-symbolique-et-instantaneite-computationnelle", "gouvernementalite-algorithmique"]
|
||||
seeAlso: ["travail-vivant-et-abstraction-de-la-valeur", "gouvernementalite-algorithmique"]
|
||||
---
|
||||
|
||||
La tension entre liberté d’action et régimes de sécurité algorithmique désigne le conflit structurel entre la capacité des sujets et des collectifs à agir de manière ouverte, imprévisible et révisable, et les dispositifs de calcul, de surveillance, de notation, de préemption ou de nudging déployés au nom de la sécurité, de la fluidité ou de l’optimisation.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "concept"
|
||||
family: "tension-irreductible"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["tension", "archicration", "archicratie", "co-viabilite", "scene-depreuve", "grammatisation-et-proletarisation-cognitive", "pharmacologie-technique"]
|
||||
related: ["tension", "archicration", "archicratie", "co-viabilite", "scene-depreuve", "grammatisation-et-proletarisation-cognitive", "pharmacologie-technique", "visibilite-mediatique-et-reconnaissance-symbolique", "regulation-technique-et-legitimation-democratique"]
|
||||
opposedTo: []
|
||||
seeAlso: ["archicrations-historiographiques", "theorie-de-la-resonance", "visibilite-mediatique-et-reconnaissance-symbolique", "liberte-daction-et-regimes-de-securite-algorithmique", "regulation-technique-et-legitimation-democratique"]
|
||||
seeAlso: ["archicrations-historiographiques", "theorie-de-la-resonance", "liberte-daction-et-regimes-de-securite-algorithmique"]
|
||||
---
|
||||
|
||||
La tension entre mémoire symbolique et instantanéité computationnelle désigne le conflit structurel entre, d’une part, les temporalités longues de transmission, de narration, d’héritage et d’historicisation, et, d’autre part, les régimes de calcul en temps réel qui privilégient l’actualisation continue, la disponibilité immédiate et l’oubli structurel.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "topologie"
|
||||
family: "meta-regime"
|
||||
domain: "transversal"
|
||||
level: "intermediaire"
|
||||
related: ["meta-regime", "regime-de-co-viabilite", "archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "archeogenese"]
|
||||
related: ["meta-regime", "regime-de-co-viabilite", "archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "archeogenese", "archicrations-proto-symboliques", "archicrations-scripturo-normatives", "archicrations-marchandes", "archicrations-differentielles-et-formes-hybrides"]
|
||||
opposedTo: []
|
||||
seeAlso: ["archicrations-proto-symboliques", "archicrations-sacrales-non-etatiques", "archicrations-scripturo-normatives", "archicrations-marchandes", "archicrations-differentielles-et-formes-hybrides"]
|
||||
seeAlso: ["archicrations-sacrales-non-etatiques"]
|
||||
---
|
||||
|
||||
Le méta-régime archicratique désigne une forme-type de régulation définie par une composition spécifique d’[Arcalité](/glossaire/arcalite/), de [Cratialité](/glossaire/cratialite/) et d’[Archicration](/glossaire/archicration/).
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "concept"
|
||||
family: "topologie"
|
||||
domain: "transversal"
|
||||
level: "intermediaire"
|
||||
related: ["meta-regime-archicratique", "regime-de-co-viabilite", "archicration", "archicratie", "co-viabilite", "archeogenese"]
|
||||
related: ["meta-regime-archicratique", "regime-de-co-viabilite", "archicration", "archicratie", "co-viabilite", "archeogenese", "archicrations-proto-symboliques", "archicrations-differentielles-et-formes-hybrides"]
|
||||
opposedTo: []
|
||||
seeAlso: ["archicrations-proto-symboliques", "archicrations-scripturo-normatives", "archicrations-marchandes", "archicrations-differentielles-et-formes-hybrides"]
|
||||
seeAlso: ["archicrations-scripturo-normatives", "archicrations-marchandes"]
|
||||
---
|
||||
|
||||
Le méta-régime désigne une forme de régulation transversale, plus abstraite qu’un régime historique concret, qui structure une famille entière d’ordres à partir d’une manière récurrente d’articuler fondements, dispositifs et scènes.
|
||||
|
||||
@@ -14,7 +14,7 @@ domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["scene-darchicration", "scene-depreuve", "co-viabilite", "archicration", "archicratie", "desarchicratisation", "archicratisation", "scene-empechee", "institution-invisible"]
|
||||
opposedTo: ["autarchicratie", "scene-manquante", "atopie"]
|
||||
seeAlso: ["obliteration-archicratique", "budget-scenique", "cartographie-des-scenes-manquantes", "audit-archicratique", "archicratisation"]
|
||||
seeAlso: ["obliteration-archicratique", "budget-scenique", "cartographie-des-scenes-manquantes", "audit-archicratique", "archidiagnostic"]
|
||||
---
|
||||
|
||||
Le monde instituable désigne une configuration dans laquelle il demeure possible de rouvrir des scènes, de faire comparaître des architectures de régulation, de reconfigurer des dispositifs et de réarticuler les fondements au nom desquels l’ordre agit.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "diagnostic"
|
||||
family: "dynamique"
|
||||
domain: "transversal"
|
||||
level: "fondamental"
|
||||
related: ["archicration", "autarchicratie", "scene-depreuve", "archicratie", "archicration-obliteree"]
|
||||
related: ["archicration", "autarchicratie", "scene-depreuve", "archicratie", "archicration-obliteree", "institution-invisible", "scene-manquante"]
|
||||
opposedTo: []
|
||||
seeAlso: ["co-viabilite", "tension", "desarchicratisation", "institution-invisible", "scene-manquante"]
|
||||
seeAlso: ["co-viabilite", "tension", "desarchicratisation", "audit-archicratique", "cartographie-des-scenes-manquantes"]
|
||||
---
|
||||
|
||||
L’oblitération archicratique désigne le processus par lequel les architectures régulatrices continuent d’organiser la vie collective tout en cessant d’apparaître comme des constructions sociales visibles, discutables et transformables.
|
||||
|
||||
@@ -15,9 +15,9 @@ kind: "paradigme"
|
||||
family: "paradigme"
|
||||
domain: "theorie"
|
||||
level: "avance"
|
||||
related: ["archicratie", "co-viabilite", "tension", "preemption-algorithmique", "grammatisation-et-proletarisation-cognitive", "technodiversite-et-cosmotechnie", "memoire-symbolique-et-instantaneite-computationnelle"]
|
||||
related: ["archicratie", "co-viabilite", "tension", "preemption-algorithmique", "grammatisation-et-proletarisation-cognitive", "technodiversite-et-cosmotechnie", "memoire-symbolique-et-instantaneite-computationnelle", "gouvernementalite-algorithmique", "scene-depreuve"]
|
||||
opposedTo: ["preemption-algorithmique"]
|
||||
seeAlso: ["agencement-machinique", "gouvernementalite-algorithmique", "scene-depreuve", "theorie-de-la-resonance"]
|
||||
seeAlso: ["agencement-machinique", "theorie-de-la-resonance"]
|
||||
---
|
||||
|
||||
La pharmacologie technique désigne un paradigme de régulation fondé sur l’idée que toute technique est à la fois remède et poison : elle peut soutenir des formes de mémoire, de soin, de transmission et de délibération, ou au contraire accentuer l’automatisation, la désynchronisation, l’entropie attentionnelle et la dépossession cognitive.
|
||||
|
||||
@@ -15,9 +15,9 @@ kind: "paradigme"
|
||||
family: "paradigme"
|
||||
domain: "theorie"
|
||||
level: "avance"
|
||||
related: ["archicration", "scene-depreuve", "dissensus-politique", "archicratie", "lieu-vide-du-pouvoir", "theorie-de-la-resonance"]
|
||||
related: ["archicration", "scene-depreuve", "dissensus-politique", "archicratie", "lieu-vide-du-pouvoir", "theorie-de-la-resonance", "visibilite-mediatique-et-reconnaissance-symbolique", "conatus-et-multitude"]
|
||||
opposedTo: ["preemption-algorithmique", "exception-souveraine"]
|
||||
seeAlso: ["democratie-deliberative", "transduction-et-individuation", "visibilite-mediatique-et-reconnaissance-symbolique", "conatus-et-multitude"]
|
||||
seeAlso: ["democratie-deliberative", "transduction-et-individuation"]
|
||||
---
|
||||
|
||||
La pluralité, la natalité et l’action désignent un paradigme politique dans lequel la régulation doit ménager l’apparition de sujets pluriels capables d’initiative, d’action concertée et d’inauguration imprévisible dans un monde commun.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "topologie"
|
||||
family: "topologie"
|
||||
domain: "transversal"
|
||||
level: "intermediaire"
|
||||
related: ["co-viabilite", "meta-regime", "meta-regime-archicratique", "archicratie", "tension", "archicration", "archeogenese"]
|
||||
related: ["co-viabilite", "meta-regime", "meta-regime-archicratique", "archicratie", "tension", "archicration", "archeogenese", "co-viabilisation", "archicrations-differentielles-et-formes-hybrides"]
|
||||
opposedTo: []
|
||||
seeAlso: ["archicrations-proto-symboliques", "archicrations-marchandes", "archicrations-differentielles-et-formes-hybrides", "co-viabilisation"]
|
||||
seeAlso: ["archicrations-proto-symboliques", "archicrations-marchandes"]
|
||||
---
|
||||
|
||||
Le régime de co-viabilité désigne une forme d’ordre dans laquelle la question centrale n’est pas seulement : « qui gouverne ? », mais : « comment des formes de vie, des milieux, des intérêts et des temporalités peuvent-ils tenir ensemble sans destruction irréversible ? »
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "concept"
|
||||
family: "tension-irreductible"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["tension", "archicration", "archicratie", "co-viabilite", "scene-depreuve", "democratie-deliberative", "gouvernementalite-algorithmique"]
|
||||
related: ["tension", "archicration", "archicratie", "co-viabilite", "scene-depreuve", "democratie-deliberative", "gouvernementalite-algorithmique", "liberte-daction-et-regimes-de-securite-algorithmique", "souverainetes-territoriales-et-interdependances-globales"]
|
||||
opposedTo: []
|
||||
seeAlso: ["cybernetique", "pharmacologie-technique", "liberte-daction-et-regimes-de-securite-algorithmique", "memoire-symbolique-et-instantaneite-computationnelle", "souverainetes-territoriales-et-interdependances-globales"]
|
||||
seeAlso: ["cybernetique", "pharmacologie-technique", "memoire-symbolique-et-instantaneite-computationnelle"]
|
||||
---
|
||||
|
||||
La tension entre régulation technique et légitimation démocratique désigne le conflit structurel entre, d’un côté, des dispositifs techniques, procéduraux ou automatisés capables d’assurer une prise rapide et efficace sur des processus complexes, et, de l’autre, l’exigence politique de validation collective, de justification publique et de révisabilité.
|
||||
|
||||
@@ -14,7 +14,7 @@ domain: "transversal"
|
||||
level: "fondamental"
|
||||
related: ["archicration", "scene-depreuve", "archicratie", "arcalite", "cratialite", "co-viabilite"]
|
||||
opposedTo: ["scene-manquante", "autarchicratie"]
|
||||
seeAlso: ["scene-empechee", "archicration-obliteree", "institution-invisible", "monde-instituable", "hypotopie"]
|
||||
seeAlso: ["scene-empechee", "archicration-obliteree", "institution-invisible", "monde-instituable", "archidiagnostic", "cartographie-des-scenes-manquantes"]
|
||||
---
|
||||
|
||||
La scène d’archicration désigne le lieu, le format et la temporalité dans lesquels un ordre doit comparaître, justifier ses fondements, exposer ses dispositifs et accepter qu’une épreuve puisse en modifier les formes.
|
||||
|
||||
@@ -14,7 +14,7 @@ domain: "transversal"
|
||||
level: "fondamental"
|
||||
related: ["archicration", "archicratie", "tension", "co-viabilite", "obliteration-archicratique", "scene-darchicration"]
|
||||
opposedTo: ["autarchicratie"]
|
||||
seeAlso: ["obliteration-archicratique", "institution-invisible", "scene-manquante"]
|
||||
seeAlso: ["obliteration-archicratique", "institution-invisible", "scene-manquante", "regulation-technique-et-legitimation-democratique", "visibilite-mediatique-et-reconnaissance-symbolique", "liberte-daction-et-regimes-de-securite-algorithmique"]
|
||||
---
|
||||
|
||||
La scène d’épreuve désigne l’espace de comparution, d’exposition et de révision dans lequel des architectures régulatrices peuvent être rendues visibles, discutées, contestées et transformées.
|
||||
|
||||
@@ -14,7 +14,7 @@ domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["scene-darchicration", "scene-depreuve", "archicration", "co-viabilite", "institution-invisible", "archicration-obliteree", "scene-manquante", "monde-instituable"]
|
||||
opposedTo: ["monde-instituable"]
|
||||
seeAlso: ["budget-scenique", "cartographie-des-scenes-manquantes", "autarchicratie", "droit-au-differe-contradictoire", "hypotopie", "monde-instituable"]
|
||||
seeAlso: ["budget-scenique", "cartographie-des-scenes-manquantes", "droit-au-differe-contradictoire", "audit-archicratique", "hypotopie", "autarchicratie"]
|
||||
---
|
||||
|
||||
La scène empêchée désigne une situation dans laquelle les enjeux exigeraient l’existence d’une scène d’archicration, mais où des obstacles concrets en rendent l’instauration impossible ou quasi impossible.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "concept"
|
||||
family: "tension-irreductible"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["tension", "archicration", "archicratie", "co-viabilite", "scene-depreuve", "gouvernance-des-communs", "configuration-et-interdependance"]
|
||||
related: ["tension", "archicration", "archicratie", "co-viabilite", "scene-depreuve", "gouvernance-des-communs", "configuration-et-interdependance", "coexistence-ontologique-et-necessite-regulatrice", "formes-de-vie-et-cadres-dhabitabilite"]
|
||||
opposedTo: []
|
||||
seeAlso: ["cosmopolitique", "subsistance-vivante-et-captation-capitalistique", "formes-de-vie-et-cadres-dhabitabilite", "coexistence-ontologique-et-necessite-regulatrice", "regulation-technique-et-legitimation-democratique"]
|
||||
seeAlso: ["cosmopolitique", "subsistance-vivante-et-captation-capitalistique", "regulation-technique-et-legitimation-democratique"]
|
||||
---
|
||||
|
||||
La tension entre souverainetés territoriales et interdépendances globales désigne le conflit structurel entre des cadres politiques principalement organisés autour de territoires délimités, et des processus de crise, de circulation, d’échange, de pollution, de calcul ou de dépendance qui excèdent ces limites.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "concept"
|
||||
family: "tension-irreductible"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["tension", "archicration", "archicratie", "co-viabilite", "scene-depreuve", "gouvernance-des-communs", "biopolitique"]
|
||||
related: ["tension", "archicration", "archicratie", "co-viabilite", "scene-depreuve", "gouvernance-des-communs", "biopolitique", "travail-vivant-et-abstraction-de-la-valeur", "formes-de-vie-et-cadres-dhabitabilite"]
|
||||
opposedTo: []
|
||||
seeAlso: ["formes-de-vie-et-cadres-dhabitabilite", "souverainetes-territoriales-et-interdependances-globales", "travail-vivant-et-abstraction-de-la-valeur"]
|
||||
seeAlso: ["souverainetes-territoriales-et-interdependances-globales", "travail-vivant-et-abstraction-de-la-valeur"]
|
||||
---
|
||||
|
||||
La tension entre subsistance vivante et captation capitalistique désigne le conflit structurel entre, d’une part, les conditions matérielles, écologiques, organiques et symboliques qui rendent la vie possible et, d’autre part, les logiques d’appropriation, d’extraction et de rentabilité qui traitent ces conditions comme des ressources captables.
|
||||
|
||||
@@ -14,7 +14,7 @@ domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["scene-darchicration", "archicration", "hypotopie", "hypertopie", "atopie", "co-viabilite", "regime-de-co-viabilite"]
|
||||
opposedTo: []
|
||||
seeAlso: ["scene-depreuve", "monde-instituable", "souverainetes-territoriales-et-interdependances-globales"]
|
||||
seeAlso: ["scene-depreuve", "monde-instituable", "souverainetes-territoriales-et-interdependances-globales", "cartographie-des-scenes-manquantes", "archidiagnostic"]
|
||||
---
|
||||
|
||||
La synchrotopie désigne la configuration topologique dans laquelle plusieurs scènes, temporalités ou niveaux de régulation coexistent et doivent être synchronisés pour qu’une archicration soit opérante.
|
||||
|
||||
@@ -14,7 +14,7 @@ domain: "transversal"
|
||||
level: "fondamental"
|
||||
related: ["archicratie", "co-viabilite", "arcalite", "cratialite", "archicration"]
|
||||
opposedTo: []
|
||||
seeAlso: ["scene-depreuve", "autarchicratie", "obliteration-archicratique"]
|
||||
seeAlso: ["scene-depreuve", "autarchicratie", "obliteration-archicratique", "liberte-daction-et-regimes-de-securite-algorithmique", "souverainetes-territoriales-et-interdependances-globales", "memoire-symbolique-et-instantaneite-computationnelle"]
|
||||
---
|
||||
|
||||
La tension désigne le phénomène systémique général par lequel des forces, dynamiques ou structures hétérogènes entrent en rapport de pression, d’écart, d’ajustement ou de concurrence.
|
||||
|
||||
@@ -15,7 +15,7 @@ kind: "paradigme"
|
||||
family: "paradigme"
|
||||
domain: "theorie"
|
||||
level: "avance"
|
||||
related: ["dissensus-politique", "scene-depreuve", "democratie-deliberative", "archicration", "gouvernance-des-communs"]
|
||||
related: ["dissensus-politique", "scene-depreuve", "democratie-deliberative", "archicration", "gouvernance-des-communs", "archicratie"]
|
||||
opposedTo: ["decisionnisme-souverain"]
|
||||
seeAlso: ["configuration-et-interdependance", "habitus-et-violence-symbolique", "tribunal-de-lalgorithme", "journal-de-justification"]
|
||||
---
|
||||
|
||||
@@ -15,9 +15,9 @@ kind: "paradigme"
|
||||
family: "paradigme"
|
||||
domain: "theorie"
|
||||
level: "intermediaire"
|
||||
related: ["archicratie", "co-viabilite", "tension", "scene-depreuve", "pluralite-natalite-action", "pharmacologie-technique"]
|
||||
related: ["archicratie", "co-viabilite", "tension", "scene-depreuve", "pluralite-natalite-action", "pharmacologie-technique", "resonance-sociale", "visibilite-mediatique-et-reconnaissance-symbolique"]
|
||||
opposedTo: ["preemption-algorithmique", "domination-legale-rationnelle"]
|
||||
seeAlso: ["habitus-et-violence-symbolique", "dissensus-politique", "memoire-symbolique-et-instantaneite-computationnelle", "visibilite-mediatique-et-reconnaissance-symbolique"]
|
||||
seeAlso: ["habitus-et-violence-symbolique", "dissensus-politique", "memoire-symbolique-et-instantaneite-computationnelle"]
|
||||
---
|
||||
|
||||
La théorie de la résonance désigne un paradigme relationnel dans lequel la qualité d’un ordre dépend de la possibilité pour les sujets et les mondes qu’ils habitent d’entrer dans des rapports de réponse, d’écoute et de transformation mutuelle.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "concept"
|
||||
family: "tension-irreductible"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["tension", "archicration", "archicratie", "co-viabilite", "scene-depreuve", "grammatisation-et-proletarisation-cognitive", "agencement-machinique", "conatus-et-multitude"]
|
||||
related: ["tension", "archicration", "archicratie", "co-viabilite", "scene-depreuve", "grammatisation-et-proletarisation-cognitive", "agencement-machinique", "conatus-et-multitude", "subsistance-vivante-et-captation-capitalistique", "liberte-daction-et-regimes-de-securite-algorithmique"]
|
||||
opposedTo: []
|
||||
seeAlso: ["subsistance-vivante-et-captation-capitalistique", "liberte-daction-et-regimes-de-securite-algorithmique", "visibilite-mediatique-et-reconnaissance-symbolique"]
|
||||
seeAlso: ["visibilite-mediatique-et-reconnaissance-symbolique"]
|
||||
---
|
||||
|
||||
La tension entre travail vivant et abstraction de la valeur désigne le conflit structurel entre l’activité humaine concrète, située, relationnelle et incarnée, et les formes de valorisation abstraites qui la mesurent, la fragmentent, la calculent ou l’extraient à distance.
|
||||
|
||||
@@ -13,9 +13,9 @@ kind: "dispositif"
|
||||
family: "dispositif-ia"
|
||||
domain: "cas-ia"
|
||||
level: "avance"
|
||||
related: ["archicration", "scene-depreuve", "droit-au-differe-contradictoire", "journal-de-justification", "budget-scenique", "cartographie-des-scenes-manquantes", "visa-daffectation", "coupe-circuit-citoyen"]
|
||||
related: ["archicration", "scene-depreuve", "droit-au-differe-contradictoire", "journal-de-justification", "budget-scenique", "cartographie-des-scenes-manquantes", "visa-daffectation", "coupe-circuit-citoyen", "audit-archicratique"]
|
||||
opposedTo: ["autarchicratie"]
|
||||
seeAlso: ["gouvernementalite-algorithmique", "preemption-algorithmique", "democratie-deliberative", "audit-archicratique"]
|
||||
seeAlso: ["gouvernementalite-algorithmique", "preemption-algorithmique", "democratie-deliberative", "archidiagnostic"]
|
||||
---
|
||||
|
||||
Le tribunal de l’algorithme désigne une scène d’archicration spécifique aux systèmes d’IA.
|
||||
|
||||
@@ -12,9 +12,9 @@ kind: "concept"
|
||||
family: "tension-irreductible"
|
||||
domain: "transversal"
|
||||
level: "avance"
|
||||
related: ["tension", "archicration", "archicratie", "co-viabilite", "scene-depreuve", "dissensus-politique", "theorie-de-la-resonance"]
|
||||
related: ["tension", "archicration", "archicratie", "co-viabilite", "scene-depreuve", "dissensus-politique", "theorie-de-la-resonance", "memoire-symbolique-et-instantaneite-computationnelle", "egalisation-normative-et-differenciation-singuliere"]
|
||||
opposedTo: []
|
||||
seeAlso: ["archicrations-esthetico-symboliques", "lieu-vide-du-pouvoir", "egalisation-normative-et-differenciation-singuliere", "memoire-symbolique-et-instantaneite-computationnelle", "travail-vivant-et-abstraction-de-la-valeur"]
|
||||
seeAlso: ["archicrations-esthetico-symboliques", "lieu-vide-du-pouvoir", "travail-vivant-et-abstraction-de-la-valeur"]
|
||||
---
|
||||
|
||||
La tension entre visibilité médiatique et reconnaissance symbolique désigne le conflit structurel entre l’exposition publique des voix, des images, des signes et des présences, et leur reconnaissance effective comme porteurs d’une parole recevable, d’un différend légitime ou d’un statut politique.
|
||||
|
||||
@@ -15,9 +15,9 @@ kind: "doctrine"
|
||||
family: "doctrine"
|
||||
domain: "theorie"
|
||||
level: "fondamental"
|
||||
related: ["archicratie", "archicration", "scene-depreuve", "co-viabilite", "democratie-deliberative"]
|
||||
related: ["archicratie", "archicration", "scene-depreuve", "co-viabilite", "democratie-deliberative", "dissensus-politique", "lieu-vide-du-pouvoir"]
|
||||
opposedTo: ["contractualisme-hobbesien", "droit-naturel-et-propriete", "decisionnisme-souverain"]
|
||||
seeAlso: ["dissensus-politique", "pluralite-natalite-action", "gouvernementalite", "lieu-vide-du-pouvoir"]
|
||||
seeAlso: ["pluralite-natalite-action", "gouvernementalite"]
|
||||
---
|
||||
|
||||
La volonté générale désigne la doctrine selon laquelle un ordre politique légitime doit pouvoir être rapporté à une orientation commune irréductible à la simple agrégation des intérêts particuliers.
|
||||
|
||||
561
src/lib/glossary.ts
Normal file
561
src/lib/glossary.ts
Normal file
@@ -0,0 +1,561 @@
|
||||
import type { CollectionEntry } from "astro:content";
|
||||
|
||||
export type GlossaryEntry = CollectionEntry<"glossaire">;
|
||||
|
||||
export type GlossaryPortalLink = {
|
||||
href: string;
|
||||
label: string;
|
||||
};
|
||||
|
||||
export type GlossaryRelationSection = {
|
||||
title: string;
|
||||
items: GlossaryEntry[];
|
||||
};
|
||||
|
||||
export type GlossaryRelationBlock = GlossaryRelationSection & {
|
||||
className: string;
|
||||
};
|
||||
|
||||
export type GlossaryHomeStats = {
|
||||
totalEntries: number;
|
||||
paradigmesCount: number;
|
||||
doctrinesCount: number;
|
||||
metaRegimesCount: number;
|
||||
};
|
||||
|
||||
export type GlossaryEntryAsideData = {
|
||||
displayFamily: string;
|
||||
displayDomain: string;
|
||||
displayLevel: string;
|
||||
showNoyau: boolean;
|
||||
showSameFamily: boolean;
|
||||
fondamentaux: GlossaryEntry[];
|
||||
sameFamilyTitle: string;
|
||||
sameFamilyEntries: GlossaryEntry[];
|
||||
relationSections: GlossaryRelationSection[];
|
||||
contextualTheory: GlossaryEntry[];
|
||||
};
|
||||
|
||||
export type GlossaryHomeData = {
|
||||
fondamentaux: GlossaryEntry[];
|
||||
scenes: GlossaryEntry[];
|
||||
dynamiques: GlossaryEntry[];
|
||||
metaRegimes: GlossaryEntry[];
|
||||
metaRegimesPreview: GlossaryEntry[];
|
||||
arcalite?: GlossaryEntry;
|
||||
cratialite?: GlossaryEntry;
|
||||
tension?: GlossaryEntry;
|
||||
sceneDepreuve?: GlossaryEntry;
|
||||
archicration?: GlossaryEntry;
|
||||
};
|
||||
|
||||
export const GLOSSARY_COLLATOR = new Intl.Collator("fr", {
|
||||
sensitivity: "base",
|
||||
numeric: true,
|
||||
});
|
||||
|
||||
export const FAMILY_LABELS: Record<string, string> = {
|
||||
"concept-fondamental": "Concept fondamental",
|
||||
scene: "Scène",
|
||||
dynamique: "Dynamique",
|
||||
pathologie: "Pathologie",
|
||||
topologie: "Topologie",
|
||||
"meta-regime": "Méta-régime",
|
||||
paradigme: "Paradigme",
|
||||
doctrine: "Doctrine",
|
||||
verbe: "Verbe",
|
||||
"dispositif-ia": "Dispositif IA",
|
||||
"tension-irreductible": "Tension irréductible",
|
||||
figure: "Figure",
|
||||
qualification: "Qualification",
|
||||
epistemologie: "Épistémologie",
|
||||
};
|
||||
|
||||
export const KIND_LABELS: Record<string, string> = {
|
||||
concept: "Concept",
|
||||
diagnostic: "Diagnostic",
|
||||
topologie: "Topologie",
|
||||
verbe: "Verbe",
|
||||
paradigme: "Paradigme",
|
||||
doctrine: "Doctrine",
|
||||
dispositif: "Dispositif",
|
||||
figure: "Figure",
|
||||
qualification: "Qualification",
|
||||
epistemologie: "Épistémologie",
|
||||
};
|
||||
|
||||
export const DOMAIN_LABELS: Record<string, string> = {
|
||||
transversal: "Transversal",
|
||||
theorie: "Théorie",
|
||||
"cas-ia": "Cas IA",
|
||||
};
|
||||
|
||||
export const LEVEL_LABELS: Record<string, string> = {
|
||||
fondamental: "Fondamental",
|
||||
intermediaire: "Intermédiaire",
|
||||
avance: "Avancé",
|
||||
};
|
||||
|
||||
export const FONDAMENTAUX_WANTED = [
|
||||
"archicratie",
|
||||
"arcalite",
|
||||
"cratialite",
|
||||
"archicration",
|
||||
"co-viabilite",
|
||||
"tension",
|
||||
] as const;
|
||||
|
||||
export const FAMILY_SECTION_TITLES: Record<string, string> = {
|
||||
"concept-fondamental": "Noyau archicratique",
|
||||
scene: "Scènes archicratiques",
|
||||
dynamique: "Dynamiques archicratiques",
|
||||
pathologie: "Pathologies archicratiques",
|
||||
topologie: "Topologies voisines",
|
||||
"meta-regime": "Méta-régimes archicratiques",
|
||||
paradigme: "Paradigmes voisins",
|
||||
doctrine: "Doctrines fondatrices",
|
||||
verbe: "Verbes de la scène",
|
||||
"dispositif-ia": "Dispositifs IA",
|
||||
"tension-irreductible": "Tensions irréductibles",
|
||||
figure: "Figures archicratiques",
|
||||
qualification: "Qualifications archicratiques",
|
||||
epistemologie: "Outillage épistémologique",
|
||||
};
|
||||
|
||||
const PREFERRED_PARADIGME_SLUGS = [
|
||||
"gouvernementalite",
|
||||
"gouvernementalite-algorithmique",
|
||||
"cybernetique",
|
||||
"biopolitique",
|
||||
"domination-legale-rationnelle",
|
||||
"democratie-deliberative",
|
||||
"gouvernance-des-communs",
|
||||
"agencement-machinique",
|
||||
"pharmacologie-technique",
|
||||
"preemption-algorithmique",
|
||||
"dissensus-politique",
|
||||
"lieu-vide-du-pouvoir",
|
||||
"habitus-et-violence-symbolique",
|
||||
"theorie-de-la-resonance",
|
||||
"conatus-et-multitude",
|
||||
"configuration-et-interdependance",
|
||||
"technodiversite-et-cosmotechnie",
|
||||
"grammatisation-et-proletarisation-cognitive",
|
||||
] as const;
|
||||
|
||||
const PREFERRED_DOCTRINE_SLUGS = [
|
||||
"contractualisme-hobbesien",
|
||||
"droit-naturel-et-propriete",
|
||||
"volonte-generale",
|
||||
"decisionnisme-souverain",
|
||||
] as const;
|
||||
|
||||
export function normalizeGlossarySlug(value: unknown): string {
|
||||
return String(value ?? "")
|
||||
.trim()
|
||||
.replace(/^\/+|\/+$/g, "")
|
||||
.replace(/\.(md|mdx)$/i, "")
|
||||
.toLowerCase();
|
||||
}
|
||||
|
||||
export function slugOfGlossaryEntry(
|
||||
entry: Pick<GlossaryEntry, "id"> | null | undefined,
|
||||
): string {
|
||||
return normalizeGlossarySlug(entry?.id ?? "");
|
||||
}
|
||||
|
||||
export function hrefOfGlossaryEntry(
|
||||
entry: Pick<GlossaryEntry, "id"> | null | undefined,
|
||||
): string {
|
||||
const slug = slugOfGlossaryEntry(entry);
|
||||
return slug ? `/glossaire/${slug}/` : "/glossaire/";
|
||||
}
|
||||
|
||||
export function buildGlossaryBySlug(
|
||||
entries: GlossaryEntry[] = [],
|
||||
): Map<string, GlossaryEntry> {
|
||||
return new Map(entries.map((entry) => [slugOfGlossaryEntry(entry), entry]));
|
||||
}
|
||||
|
||||
export function sortGlossaryEntries(
|
||||
entries: GlossaryEntry[] = [],
|
||||
): GlossaryEntry[] {
|
||||
return [...entries].sort((a, b) =>
|
||||
GLOSSARY_COLLATOR.compare(a.data.term, b.data.term),
|
||||
);
|
||||
}
|
||||
|
||||
export function uniqueGlossaryEntries(
|
||||
entries: GlossaryEntry[] = [],
|
||||
): GlossaryEntry[] {
|
||||
const seen = new Set<string>();
|
||||
const out: GlossaryEntry[] = [];
|
||||
|
||||
for (const entry of entries) {
|
||||
const slug = slugOfGlossaryEntry(entry);
|
||||
if (!slug || seen.has(slug)) continue;
|
||||
seen.add(slug);
|
||||
out.push(entry);
|
||||
}
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
export function resolveGlossaryEntriesInSourceOrder(
|
||||
slugs: string[] = [],
|
||||
allEntries: GlossaryEntry[] = [],
|
||||
): GlossaryEntry[] {
|
||||
const bySlug = buildGlossaryBySlug(allEntries);
|
||||
const seen = new Set<string>();
|
||||
const resolved: GlossaryEntry[] = [];
|
||||
|
||||
for (const rawSlug of slugs) {
|
||||
const slug = normalizeGlossarySlug(rawSlug);
|
||||
if (!slug || seen.has(slug)) continue;
|
||||
|
||||
const entry = bySlug.get(slug);
|
||||
if (!entry) continue;
|
||||
|
||||
seen.add(slug);
|
||||
resolved.push(entry);
|
||||
}
|
||||
|
||||
return resolved;
|
||||
}
|
||||
|
||||
export function resolveGlossaryEntries(
|
||||
slugs: string[] = [],
|
||||
allEntries: GlossaryEntry[] = [],
|
||||
): GlossaryEntry[] {
|
||||
return sortGlossaryEntries(
|
||||
resolveGlossaryEntriesInSourceOrder(slugs, allEntries),
|
||||
);
|
||||
}
|
||||
|
||||
export function rawFamilyOf(
|
||||
entry: GlossaryEntry | null | undefined,
|
||||
): string {
|
||||
return String(entry?.data?.family ?? "");
|
||||
}
|
||||
|
||||
export function kindOf(
|
||||
entry: GlossaryEntry | null | undefined,
|
||||
): string {
|
||||
return String(entry?.data?.kind ?? "");
|
||||
}
|
||||
|
||||
export function familyOf(
|
||||
entry: GlossaryEntry | null | undefined,
|
||||
): string {
|
||||
const explicit = rawFamilyOf(entry);
|
||||
if (explicit) return explicit;
|
||||
|
||||
const slug = slugOfGlossaryEntry(entry);
|
||||
const kind = kindOf(entry);
|
||||
|
||||
if (kind === "paradigme") return "paradigme";
|
||||
if (kind === "doctrine") return "doctrine";
|
||||
if (kind === "verbe") return "verbe";
|
||||
|
||||
if (slug === "scene-depreuve") return "scene";
|
||||
if (slug === "autarchicratie") return "pathologie";
|
||||
if (slug === "obliteration-archicratique") return "dynamique";
|
||||
|
||||
if (
|
||||
FONDAMENTAUX_WANTED.includes(
|
||||
slug as (typeof FONDAMENTAUX_WANTED)[number],
|
||||
)
|
||||
) {
|
||||
return "concept-fondamental";
|
||||
}
|
||||
|
||||
if (slug === "archicrations-differentielles-et-formes-hybrides") {
|
||||
return "topologie";
|
||||
}
|
||||
|
||||
if (kind === "topologie" && slug.startsWith("archicrations-")) {
|
||||
return "meta-regime";
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
export function getDisplayFamily(
|
||||
entry: GlossaryEntry | null | undefined,
|
||||
): string {
|
||||
const familyKey = rawFamilyOf(entry) || familyOf(entry);
|
||||
return FAMILY_LABELS[familyKey] ?? KIND_LABELS[kindOf(entry)] ?? "Fiche";
|
||||
}
|
||||
|
||||
export function getDisplayDomain(
|
||||
entry: GlossaryEntry | null | undefined,
|
||||
): string {
|
||||
const key = String(entry?.data?.domain ?? "");
|
||||
return key ? (DOMAIN_LABELS[key] ?? key) : "";
|
||||
}
|
||||
|
||||
export function getDisplayLevel(
|
||||
entry: GlossaryEntry | null | undefined,
|
||||
): string {
|
||||
const key = String(entry?.data?.level ?? "");
|
||||
return key ? (LEVEL_LABELS[key] ?? key) : "";
|
||||
}
|
||||
|
||||
export function getFondamentaux(
|
||||
entries: GlossaryEntry[] = [],
|
||||
): GlossaryEntry[] {
|
||||
const bySlug = buildGlossaryBySlug(entries);
|
||||
|
||||
return sortGlossaryEntries(
|
||||
FONDAMENTAUX_WANTED
|
||||
.map((slug) => bySlug.get(slug))
|
||||
.filter(Boolean) as GlossaryEntry[],
|
||||
);
|
||||
}
|
||||
|
||||
export function getGlossaryEntriesByFamily(
|
||||
entries: GlossaryEntry[] = [],
|
||||
familyKey: string,
|
||||
): GlossaryEntry[] {
|
||||
return sortGlossaryEntries(
|
||||
entries.filter((entry) => familyOf(entry) === familyKey),
|
||||
);
|
||||
}
|
||||
|
||||
export function countGlossaryEntriesByKind(
|
||||
entries: GlossaryEntry[] = [],
|
||||
kindKey: string,
|
||||
): number {
|
||||
return entries.filter((entry) => kindOf(entry) === kindKey).length;
|
||||
}
|
||||
|
||||
export function countGlossaryEntriesByFamily(
|
||||
entries: GlossaryEntry[] = [],
|
||||
familyKey: string,
|
||||
): number {
|
||||
return entries.filter((entry) => familyOf(entry) === familyKey).length;
|
||||
}
|
||||
|
||||
export function getGlossaryPortalLinks(): GlossaryPortalLink[] {
|
||||
return [
|
||||
{ href: "/glossaire/", label: "Accueil du glossaire" },
|
||||
{ href: "/glossaire/concepts-fondamentaux/", label: "Concepts fondamentaux" },
|
||||
{ href: "/glossaire/index-complet/", label: "Index complet" },
|
||||
{
|
||||
href: "/glossaire/paradigme-archicratique/",
|
||||
label: "Paradigme archicratique",
|
||||
},
|
||||
{
|
||||
href: "/glossaire/scenes-archicratiques/",
|
||||
label: "Scènes archicratiques",
|
||||
},
|
||||
{
|
||||
href: "/glossaire/dynamiques-archicratiques/",
|
||||
label: "Dynamiques archicratiques",
|
||||
},
|
||||
{
|
||||
href: "/glossaire/tensions-irreductibles/",
|
||||
label: "Tensions irréductibles",
|
||||
},
|
||||
{
|
||||
href: "/glossaire/archicrations/",
|
||||
label: "Méta-régimes archicratiques",
|
||||
},
|
||||
{ href: "/glossaire/paradigmes/", label: "Paradigmes et doctrines" },
|
||||
{ href: "/glossaire/verbes-de-la-scene/", label: "Verbes de la scène" },
|
||||
];
|
||||
}
|
||||
|
||||
export function getGlossaryHomeStats(
|
||||
allEntries: GlossaryEntry[] = [],
|
||||
): GlossaryHomeStats {
|
||||
return {
|
||||
totalEntries: allEntries.length,
|
||||
paradigmesCount: countGlossaryEntriesByKind(allEntries, "paradigme"),
|
||||
doctrinesCount: countGlossaryEntriesByKind(allEntries, "doctrine"),
|
||||
metaRegimesCount: countGlossaryEntriesByFamily(allEntries, "meta-regime"),
|
||||
};
|
||||
}
|
||||
|
||||
export function getEntriesOfSameFamily(
|
||||
entry: GlossaryEntry,
|
||||
allEntries: GlossaryEntry[] = [],
|
||||
): GlossaryEntry[] {
|
||||
const familyKey = familyOf(entry);
|
||||
if (!familyKey) return [];
|
||||
|
||||
if (familyKey === "concept-fondamental") {
|
||||
return getFondamentaux(allEntries);
|
||||
}
|
||||
|
||||
return getGlossaryEntriesByFamily(allEntries, familyKey);
|
||||
}
|
||||
|
||||
export function getSameFamilyTitle(
|
||||
entry: GlossaryEntry,
|
||||
): string {
|
||||
return FAMILY_SECTION_TITLES[familyOf(entry)] ?? "Même famille";
|
||||
}
|
||||
|
||||
export function getRelationBlocks(
|
||||
entry: GlossaryEntry,
|
||||
allEntries: GlossaryEntry[] = [],
|
||||
): GlossaryRelationBlock[] {
|
||||
const currentSlug = slugOfGlossaryEntry(entry);
|
||||
|
||||
const relatedEntries = resolveGlossaryEntriesInSourceOrder(
|
||||
entry.data.related ?? [],
|
||||
allEntries,
|
||||
).filter((item) => slugOfGlossaryEntry(item) !== currentSlug);
|
||||
|
||||
const opposedEntries = resolveGlossaryEntriesInSourceOrder(
|
||||
entry.data.opposedTo ?? [],
|
||||
allEntries,
|
||||
).filter((item) => slugOfGlossaryEntry(item) !== currentSlug);
|
||||
|
||||
const seeAlsoEntries = resolveGlossaryEntriesInSourceOrder(
|
||||
entry.data.seeAlso ?? [],
|
||||
allEntries,
|
||||
).filter((item) => slugOfGlossaryEntry(item) !== currentSlug);
|
||||
|
||||
return [
|
||||
{
|
||||
title: "Concepts liés",
|
||||
items: relatedEntries,
|
||||
className: "is-related",
|
||||
},
|
||||
{
|
||||
title: "En tension avec",
|
||||
items: opposedEntries,
|
||||
className: "is-opposed",
|
||||
},
|
||||
{
|
||||
title: "Voir aussi",
|
||||
items: seeAlsoEntries,
|
||||
className: "is-see-also",
|
||||
},
|
||||
].filter((block) => block.items.length > 0);
|
||||
}
|
||||
|
||||
export function getRelationSections(
|
||||
entry: GlossaryEntry,
|
||||
allEntries: GlossaryEntry[] = [],
|
||||
): GlossaryRelationSection[] {
|
||||
return getRelationBlocks(entry, allEntries).map(({ title, items }) => ({
|
||||
title,
|
||||
items,
|
||||
}));
|
||||
}
|
||||
|
||||
function isTheoryEntry(entry: GlossaryEntry): boolean {
|
||||
const familyKey = familyOf(entry);
|
||||
const kindKey = kindOf(entry);
|
||||
|
||||
return (
|
||||
familyKey === "paradigme" ||
|
||||
familyKey === "doctrine" ||
|
||||
kindKey === "paradigme" ||
|
||||
kindKey === "doctrine"
|
||||
);
|
||||
}
|
||||
|
||||
export function getContextualTheory(
|
||||
entry: GlossaryEntry,
|
||||
allEntries: GlossaryEntry[] = [],
|
||||
): GlossaryEntry[] {
|
||||
const currentSlug = slugOfGlossaryEntry(entry);
|
||||
const bySlug = buildGlossaryBySlug(allEntries);
|
||||
|
||||
const fromRelations = uniqueGlossaryEntries([
|
||||
...resolveGlossaryEntriesInSourceOrder(entry.data.related ?? [], allEntries),
|
||||
...resolveGlossaryEntriesInSourceOrder(entry.data.seeAlso ?? [], allEntries),
|
||||
...resolveGlossaryEntriesInSourceOrder(entry.data.opposedTo ?? [], allEntries),
|
||||
])
|
||||
.filter((item) => slugOfGlossaryEntry(item) !== currentSlug)
|
||||
.filter((item) => isTheoryEntry(item));
|
||||
|
||||
if (fromRelations.length > 0) {
|
||||
return fromRelations.slice(0, 6);
|
||||
}
|
||||
|
||||
if (familyOf(entry) === "paradigme") {
|
||||
return uniqueGlossaryEntries(
|
||||
PREFERRED_PARADIGME_SLUGS
|
||||
.filter((slug) => slug !== currentSlug)
|
||||
.map((slug) => bySlug.get(slug))
|
||||
.filter(Boolean) as GlossaryEntry[],
|
||||
).slice(0, 8);
|
||||
}
|
||||
|
||||
if (familyOf(entry) === "doctrine") {
|
||||
return uniqueGlossaryEntries(
|
||||
PREFERRED_DOCTRINE_SLUGS
|
||||
.filter((slug) => slug !== currentSlug)
|
||||
.map((slug) => bySlug.get(slug))
|
||||
.filter(Boolean) as GlossaryEntry[],
|
||||
).slice(0, 6);
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
export function getGlossaryEntryAsideData(
|
||||
currentEntry: GlossaryEntry,
|
||||
allEntries: GlossaryEntry[] = [],
|
||||
): GlossaryEntryAsideData {
|
||||
const currentFamily = familyOf(currentEntry);
|
||||
const fondamentaux = getFondamentaux(allEntries);
|
||||
const sameFamilyEntries = getEntriesOfSameFamily(currentEntry, allEntries);
|
||||
const sameFamilyTitle = getSameFamilyTitle(currentEntry);
|
||||
const relationSections = getRelationSections(currentEntry, allEntries);
|
||||
const contextualTheory = getContextualTheory(currentEntry, allEntries);
|
||||
|
||||
const showNoyau =
|
||||
currentFamily !== "concept-fondamental" &&
|
||||
fondamentaux.length > 0;
|
||||
|
||||
const showSameFamily =
|
||||
currentFamily !== "concept-fondamental" &&
|
||||
sameFamilyEntries.length > 0;
|
||||
|
||||
return {
|
||||
displayFamily: getDisplayFamily(currentEntry),
|
||||
displayDomain: getDisplayDomain(currentEntry),
|
||||
displayLevel: getDisplayLevel(currentEntry),
|
||||
showNoyau,
|
||||
showSameFamily,
|
||||
fondamentaux,
|
||||
sameFamilyTitle,
|
||||
sameFamilyEntries: showSameFamily ? sameFamilyEntries : [],
|
||||
relationSections,
|
||||
contextualTheory,
|
||||
};
|
||||
}
|
||||
|
||||
export function getGlossaryHomeData(
|
||||
entries: GlossaryEntry[] = [],
|
||||
): GlossaryHomeData {
|
||||
const bySlug = buildGlossaryBySlug(entries);
|
||||
|
||||
const fondamentaux = getGlossaryEntriesByFamily(entries, "concept-fondamental");
|
||||
const scenes = getGlossaryEntriesByFamily(entries, "scene");
|
||||
const dynamiques = sortGlossaryEntries(
|
||||
entries.filter((entry) =>
|
||||
["dynamique", "pathologie"].includes(familyOf(entry)),
|
||||
),
|
||||
);
|
||||
const metaRegimes = getGlossaryEntriesByFamily(entries, "meta-regime");
|
||||
|
||||
return {
|
||||
fondamentaux,
|
||||
scenes,
|
||||
dynamiques,
|
||||
metaRegimes,
|
||||
metaRegimesPreview: metaRegimes.slice(0, 6),
|
||||
arcalite: bySlug.get("arcalite"),
|
||||
cratialite: bySlug.get("cratialite"),
|
||||
tension: bySlug.get("tension"),
|
||||
sceneDepreuve: bySlug.get("scene-depreuve"),
|
||||
archicration: bySlug.get("archicration"),
|
||||
};
|
||||
}
|
||||
@@ -1,7 +1,19 @@
|
||||
---
|
||||
import GlossaryLayout from "../../layouts/GlossaryLayout.astro";
|
||||
import GlossaryAside from "../../components/GlossaryAside.astro";
|
||||
import GlossaryRelationCards from "../../components/GlossaryRelationCards.astro";
|
||||
import GlossaryEntryLegacyNote from "../../components/GlossaryEntryLegacyNote.astro";
|
||||
import GlossaryEntryHero from "../../components/GlossaryEntryHero.astro";
|
||||
import GlossaryEntryBody from "../../components/GlossaryEntryBody.astro";
|
||||
import GlossaryEntryStickySync from "../../components/GlossaryEntryStickySync.astro";
|
||||
import { getCollection, render } from "astro:content";
|
||||
import {
|
||||
getDisplayDomain,
|
||||
getDisplayFamily,
|
||||
getDisplayLevel,
|
||||
getRelationBlocks,
|
||||
normalizeGlossarySlug,
|
||||
} from "../../lib/glossary";
|
||||
|
||||
export async function getStaticPaths() {
|
||||
const entries = await getCollection("glossaire");
|
||||
@@ -9,20 +21,12 @@ export async function getStaticPaths() {
|
||||
const seen = new Set();
|
||||
|
||||
for (const entry of entries) {
|
||||
const canonicalSlug = String(entry.id || "")
|
||||
.trim()
|
||||
.replace(/^\/+|\/+$/g, "")
|
||||
.replace(/\.(md|mdx)$/i, "")
|
||||
.toLowerCase();
|
||||
const canonicalSlug = normalizeGlossarySlug(entry.id);
|
||||
|
||||
if (!/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(canonicalSlug)) continue;
|
||||
|
||||
const addPath = (rawSlug) => {
|
||||
const requestedSlug = String(rawSlug || "")
|
||||
.trim()
|
||||
.replace(/^\/+|\/+$/g, "")
|
||||
.replace(/\.(md|mdx)$/i, "")
|
||||
.toLowerCase();
|
||||
const requestedSlug = normalizeGlossarySlug(rawSlug);
|
||||
|
||||
if (!requestedSlug) return;
|
||||
if (!/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(requestedSlug)) return;
|
||||
@@ -56,112 +60,11 @@ const { Content } = await render(entry);
|
||||
const isAliasRoute = requestedSlug !== canonicalSlug;
|
||||
const canonicalHref = `/glossaire/${canonicalSlug}/`;
|
||||
|
||||
const slugOf = (item) =>
|
||||
String(item.id || "")
|
||||
.trim()
|
||||
.replace(/^\/+|\/+$/g, "")
|
||||
.replace(/\.(md|mdx)$/i, "");
|
||||
const relationBlocks = getRelationBlocks(entry, allEntries);
|
||||
|
||||
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).toLowerCase(), item])
|
||||
);
|
||||
|
||||
function resolveEntries(slugs = []) {
|
||||
const seen = new Set();
|
||||
|
||||
return slugs
|
||||
.map((slug) => bySlug.get(String(slug || "").trim().toLowerCase()))
|
||||
.filter(Boolean)
|
||||
.filter((item) => {
|
||||
const slug = slugOf(item);
|
||||
if (seen.has(slug)) return false;
|
||||
seen.add(slug);
|
||||
return true;
|
||||
})
|
||||
.sort((a, b) => collator.compare(a.data.term, b.data.term));
|
||||
}
|
||||
|
||||
const relatedEntries = resolveEntries(entry.data.related ?? []);
|
||||
const opposedEntries = resolveEntries(entry.data.opposedTo ?? []);
|
||||
const seeAlsoEntries = resolveEntries(entry.data.seeAlso ?? []);
|
||||
|
||||
const relationBlocks = [
|
||||
{
|
||||
title: "Concepts liés",
|
||||
items: relatedEntries,
|
||||
className: "is-related",
|
||||
},
|
||||
{
|
||||
title: "En tension avec",
|
||||
items: opposedEntries,
|
||||
className: "is-opposed",
|
||||
},
|
||||
{
|
||||
title: "Voir aussi",
|
||||
items: seeAlsoEntries,
|
||||
className: "is-see-also",
|
||||
},
|
||||
].filter((block) => block.items.length > 0);
|
||||
|
||||
const familyLabels = {
|
||||
"concept-fondamental": "Concept fondamental",
|
||||
scene: "Scène",
|
||||
dynamique: "Dynamique",
|
||||
pathologie: "Pathologie",
|
||||
topologie: "Topologie",
|
||||
"meta-regime": "Méta-régime",
|
||||
paradigme: "Paradigme",
|
||||
doctrine: "Doctrine",
|
||||
verbe: "Verbe",
|
||||
"dispositif-ia": "Dispositif IA",
|
||||
"tension-irreductible": "Tension irréductible",
|
||||
};
|
||||
|
||||
const kindLabels = {
|
||||
concept: "Concept",
|
||||
diagnostic: "Diagnostic",
|
||||
topologie: "Topologie",
|
||||
verbe: "Verbe",
|
||||
paradigme: "Paradigme",
|
||||
doctrine: "Doctrine",
|
||||
dispositif: "Dispositif",
|
||||
figure: "Figure",
|
||||
qualification: "Qualification",
|
||||
epistemologie: "Épistémologie",
|
||||
};
|
||||
|
||||
const domainLabels = {
|
||||
transversal: "Transversal",
|
||||
theorie: "Théorie",
|
||||
"cas-ia": "Cas IA",
|
||||
};
|
||||
|
||||
const levelLabels = {
|
||||
fondamental: "Fondamental",
|
||||
intermediaire: "Intermédiaire",
|
||||
avance: "Avancé",
|
||||
};
|
||||
|
||||
const familyKey = entry.data.family ?? "";
|
||||
const displayFamily =
|
||||
familyLabels[familyKey] ??
|
||||
kindLabels[entry.data.kind] ??
|
||||
"Fiche";
|
||||
|
||||
const displayDomain = entry.data.domain
|
||||
? (domainLabels[entry.data.domain] ?? entry.data.domain)
|
||||
: "";
|
||||
|
||||
const displayLevel = entry.data.level
|
||||
? (levelLabels[entry.data.level] ?? entry.data.level)
|
||||
: "";
|
||||
|
||||
const hasScholarlyMeta =
|
||||
(entry.data.mobilizedAuthors?.length ?? 0) > 0 ||
|
||||
(entry.data.comparisonTraditions?.length ?? 0) > 0;
|
||||
const displayFamily = getDisplayFamily(entry);
|
||||
const displayDomain = getDisplayDomain(entry);
|
||||
const displayLevel = getDisplayLevel(entry);
|
||||
---
|
||||
|
||||
<GlossaryLayout
|
||||
@@ -174,454 +77,27 @@ const hasScholarlyMeta =
|
||||
</Fragment>
|
||||
|
||||
{isAliasRoute && (
|
||||
<p class="glossary-legacy-note">
|
||||
Cette entrée a été renommée. L’intitulé canonique est :
|
||||
<a href={canonicalHref}>{entry.data.term}</a>.
|
||||
</p>
|
||||
<GlossaryEntryLegacyNote
|
||||
canonicalHref={canonicalHref}
|
||||
term={entry.data.term}
|
||||
/>
|
||||
)}
|
||||
|
||||
<header class="glossary-entry-head" data-ge-hero>
|
||||
<div class="glossary-entry-head__title">
|
||||
<h1>{entry.data.term}</h1>
|
||||
</div>
|
||||
<GlossaryEntryHero
|
||||
term={entry.data.term}
|
||||
definitionShort={entry.data.definitionShort}
|
||||
displayFamily={displayFamily}
|
||||
displayDomain={displayDomain}
|
||||
displayLevel={displayLevel}
|
||||
mobilizedAuthors={entry.data.mobilizedAuthors ?? []}
|
||||
comparisonTraditions={entry.data.comparisonTraditions ?? []}
|
||||
/>
|
||||
|
||||
<div class="glossary-entry-summary">
|
||||
<p class="glossary-entry-dek">
|
||||
<em>{entry.data.definitionShort}</em>
|
||||
</p>
|
||||
|
||||
<div class="glossary-entry-signals" aria-label="Repères de lecture">
|
||||
<span class="glossary-pill glossary-pill--family">
|
||||
<strong>Famille :</strong> {displayFamily}
|
||||
</span>
|
||||
|
||||
{displayDomain && (
|
||||
<span class="glossary-pill">
|
||||
<strong>Domaine :</strong> {displayDomain}
|
||||
</span>
|
||||
)}
|
||||
|
||||
{displayLevel && (
|
||||
<span class="glossary-pill">
|
||||
<strong>Niveau :</strong> {displayLevel}
|
||||
</span>
|
||||
)}
|
||||
</div>
|
||||
|
||||
{hasScholarlyMeta && (
|
||||
<div class="glossary-entry-meta">
|
||||
{(entry.data.mobilizedAuthors?.length ?? 0) > 0 && (
|
||||
<p>
|
||||
<strong>Auteurs mobilisés :</strong> {entry.data.mobilizedAuthors.join(" / ")}
|
||||
</p>
|
||||
)}
|
||||
|
||||
{(entry.data.comparisonTraditions?.length ?? 0) > 0 && (
|
||||
<p>
|
||||
<strong>Traditions de comparaison :</strong> {entry.data.comparisonTraditions.join(" / ")}
|
||||
</p>
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<div class="glossary-entry-body">
|
||||
<GlossaryEntryBody>
|
||||
<Content />
|
||||
</div>
|
||||
</GlossaryEntryBody>
|
||||
|
||||
{relationBlocks.length > 0 && (
|
||||
<section class="glossary-relations" aria-label="Relations conceptuelles">
|
||||
<h2>Relations conceptuelles</h2>
|
||||
<GlossaryRelationCards relationBlocks={relationBlocks} />
|
||||
|
||||
<div class="glossary-relations-grid">
|
||||
{relationBlocks.map((block) => (
|
||||
<section class={`glossary-relations-card ${block.className}`}>
|
||||
<h3>{block.title}</h3>
|
||||
<ul>
|
||||
{block.items.map((item) => (
|
||||
<li>
|
||||
<a href={hrefOf(item)}>{item.data.term}</a>
|
||||
<span> — {item.data.definitionShort}</span>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</section>
|
||||
))}
|
||||
</div>
|
||||
</section>
|
||||
)}
|
||||
<GlossaryEntryStickySync />
|
||||
</GlossaryLayout>
|
||||
|
||||
<script is:inline>
|
||||
(() => {
|
||||
const boot = () => {
|
||||
const body = document.body;
|
||||
const root = document.documentElement;
|
||||
const hero = document.querySelector("[data-ge-hero]");
|
||||
const follow = document.getElementById("reading-follow");
|
||||
const mqMobile = window.matchMedia("(max-width: 860px)");
|
||||
|
||||
if (!body || !root || !hero || !follow) return;
|
||||
|
||||
const BODY_CLASS = "is-glossary-entry-page";
|
||||
const FOLLOW_ON_CLASS = "glossary-entry-follow-on";
|
||||
|
||||
let lastHeight = -1;
|
||||
let lastFollowOn = null;
|
||||
let raf = 0;
|
||||
|
||||
body.classList.add(BODY_CLASS);
|
||||
|
||||
const heroHeight = () =>
|
||||
Math.max(0, Math.round(hero.getBoundingClientRect().height || 0));
|
||||
|
||||
const computeFollowOn = () =>
|
||||
!mqMobile.matches &&
|
||||
follow.classList.contains("is-on") &&
|
||||
follow.style.display !== "none" &&
|
||||
follow.getAttribute("aria-hidden") !== "true";
|
||||
|
||||
const stripLocalSticky = () => {
|
||||
document
|
||||
.querySelectorAll(
|
||||
".glossary-entry-body h2, .glossary-entry-body h3, .glossary-relations h2, .glossary-relations h3"
|
||||
)
|
||||
.forEach((el) => {
|
||||
el.classList.remove("is-sticky");
|
||||
el.removeAttribute("data-sticky-active");
|
||||
});
|
||||
};
|
||||
|
||||
const applyLocalStickyHeight = () => {
|
||||
const h = mqMobile.matches ? 0 : heroHeight();
|
||||
if (h === lastHeight) return;
|
||||
lastHeight = h;
|
||||
|
||||
if (typeof window.__archiSetLocalStickyHeight === "function") {
|
||||
window.__archiSetLocalStickyHeight(h);
|
||||
} else {
|
||||
root.style.setProperty("--glossary-local-sticky-h", `${h}px`);
|
||||
}
|
||||
};
|
||||
|
||||
const syncFollowState = () => {
|
||||
const on = computeFollowOn();
|
||||
if (on === lastFollowOn) return;
|
||||
lastFollowOn = on;
|
||||
body.classList.toggle(FOLLOW_ON_CLASS, on);
|
||||
};
|
||||
|
||||
const syncAll = () => {
|
||||
stripLocalSticky();
|
||||
syncFollowState();
|
||||
applyLocalStickyHeight();
|
||||
};
|
||||
|
||||
const schedule = () => {
|
||||
if (raf) return;
|
||||
raf = requestAnimationFrame(() => {
|
||||
raf = 0;
|
||||
syncAll();
|
||||
});
|
||||
};
|
||||
|
||||
const followObserver = new MutationObserver(schedule);
|
||||
followObserver.observe(follow, {
|
||||
attributes: true,
|
||||
attributeFilter: ["class", "style", "aria-hidden"],
|
||||
subtree: false,
|
||||
});
|
||||
|
||||
const heroResizeObserver =
|
||||
typeof ResizeObserver !== "undefined"
|
||||
? new ResizeObserver(schedule)
|
||||
: null;
|
||||
|
||||
heroResizeObserver?.observe(hero);
|
||||
|
||||
window.addEventListener("resize", schedule);
|
||||
window.addEventListener("pageshow", schedule);
|
||||
|
||||
if (document.fonts?.ready) {
|
||||
document.fonts.ready.then(schedule).catch(() => {});
|
||||
}
|
||||
|
||||
if (mqMobile.addEventListener) {
|
||||
mqMobile.addEventListener("change", schedule);
|
||||
} else if (mqMobile.addListener) {
|
||||
mqMobile.addListener(schedule);
|
||||
}
|
||||
|
||||
schedule();
|
||||
};
|
||||
|
||||
if (document.readyState === "loading") {
|
||||
document.addEventListener("DOMContentLoaded", boot, { once: true });
|
||||
} else {
|
||||
boot();
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.glossary-legacy-note{
|
||||
padding: 10px 12px;
|
||||
border: 1px solid rgba(127,127,127,0.22);
|
||||
border-radius: 12px;
|
||||
background: rgba(127,127,127,0.05);
|
||||
font-size: 14px;
|
||||
line-height: 1.45;
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
|
||||
.glossary-entry-head{
|
||||
position: sticky;
|
||||
top: calc(var(--sticky-header-h, 0px) + var(--page-gap, 12px));
|
||||
z-index: 11;
|
||||
margin: 0 0 24px;
|
||||
border: 1px solid rgba(127,127,127,0.18);
|
||||
border-radius: 28px;
|
||||
background:
|
||||
linear-gradient(180deg, rgba(0,0,0,0.60), rgba(0,0,0,0.92)),
|
||||
radial-gradient(900px 240px at 20% 0%, rgba(0,217,255,0.08), transparent 60%);
|
||||
backdrop-filter: blur(10px);
|
||||
-webkit-backdrop-filter: blur(10px);
|
||||
overflow: hidden;
|
||||
transition:
|
||||
border-radius 180ms ease,
|
||||
box-shadow 180ms ease,
|
||||
border-color 180ms ease;
|
||||
}
|
||||
|
||||
.glossary-entry-head__title{
|
||||
padding: 18px 18px 16px;
|
||||
}
|
||||
|
||||
.glossary-entry-head h1{
|
||||
margin: 0;
|
||||
font-size: clamp(2.2rem, 4vw, 3.15rem);
|
||||
line-height: 1.02;
|
||||
letter-spacing: -.04em;
|
||||
font-weight: 850;
|
||||
}
|
||||
|
||||
.glossary-entry-summary{
|
||||
display: grid;
|
||||
gap: 14px;
|
||||
padding: 16px 18px 18px;
|
||||
border-top: 1px solid rgba(127,127,127,0.14);
|
||||
background: rgba(255,255,255,0.02);
|
||||
}
|
||||
|
||||
.glossary-entry-dek{
|
||||
margin: 0;
|
||||
max-width: 76ch;
|
||||
font-size: 1.04rem;
|
||||
line-height: 1.55;
|
||||
opacity: .94;
|
||||
}
|
||||
|
||||
.glossary-entry-signals{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 8px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.glossary-pill{
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
padding: 5px 10px;
|
||||
border: 1px solid rgba(127,127,127,0.24);
|
||||
border-radius: 999px;
|
||||
background: rgba(127,127,127,0.05);
|
||||
font-size: 13px;
|
||||
line-height: 1.35;
|
||||
}
|
||||
|
||||
.glossary-pill--family{
|
||||
border-color: rgba(127,127,127,0.36);
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.glossary-entry-meta{
|
||||
margin: 0;
|
||||
padding: 10px 12px;
|
||||
border: 1px solid rgba(127,127,127,0.18);
|
||||
border-radius: 12px;
|
||||
background: rgba(127,127,127,0.04);
|
||||
}
|
||||
|
||||
.glossary-entry-meta p{
|
||||
margin: 0;
|
||||
font-size: 14px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.glossary-entry-meta p + p{
|
||||
margin-top: 6px;
|
||||
}
|
||||
|
||||
.glossary-entry-body{
|
||||
margin-bottom: 28px;
|
||||
}
|
||||
|
||||
.glossary-entry-body h2,
|
||||
.glossary-entry-body h3,
|
||||
.glossary-relations h2,
|
||||
.glossary-relations h3{
|
||||
scroll-margin-top: calc(var(--sticky-offset-px, 96px) + 18px);
|
||||
}
|
||||
|
||||
.glossary-relations{
|
||||
margin-top: 26px;
|
||||
padding-top: 18px;
|
||||
border-top: 1px solid rgba(127,127,127,0.18);
|
||||
}
|
||||
|
||||
.glossary-relations h2{
|
||||
margin-bottom: 14px;
|
||||
}
|
||||
|
||||
.glossary-relations-grid{
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.glossary-relations-card{
|
||||
border: 1px solid rgba(127,127,127,0.22);
|
||||
border-radius: 16px;
|
||||
padding: 14px 16px;
|
||||
background: rgba(127,127,127,0.05);
|
||||
}
|
||||
|
||||
.glossary-relations-card h3{
|
||||
margin-top: 0;
|
||||
margin-bottom: 10px;
|
||||
font-size: 15px;
|
||||
line-height: 1.35;
|
||||
}
|
||||
|
||||
.glossary-relations-card ul{
|
||||
margin: 0;
|
||||
padding-left: 18px;
|
||||
}
|
||||
|
||||
.glossary-relations-card li{
|
||||
margin-bottom: 8px;
|
||||
font-size: 14px;
|
||||
line-height: 1.45;
|
||||
}
|
||||
|
||||
.glossary-relations-card li:last-child{
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.glossary-relations-card span{
|
||||
opacity: .9;
|
||||
}
|
||||
|
||||
:global(body.is-glossary-entry-page #reading-follow){
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
:global(body.is-glossary-entry-page.glossary-entry-follow-on .glossary-entry-head){
|
||||
margin-bottom: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
|
||||
:global(body.is-glossary-entry-page.glossary-entry-follow-on .glossary-entry-summary){
|
||||
gap: 10px;
|
||||
padding-top: 12px;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
:global(body.is-glossary-entry-page.glossary-entry-follow-on .glossary-entry-signals){
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
:global(body.is-glossary-entry-page.glossary-entry-follow-on .glossary-entry-meta){
|
||||
padding: 8px 10px;
|
||||
}
|
||||
|
||||
:global(body.is-glossary-entry-page.glossary-entry-follow-on #reading-follow){
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
:global(body.is-glossary-entry-page.glossary-entry-follow-on #reading-follow .reading-follow__inner){
|
||||
margin-top: -1px;
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
}
|
||||
|
||||
:global(body.is-glossary-entry-page .glossary-entry-body h2.is-sticky),
|
||||
:global(body.is-glossary-entry-page .glossary-entry-body h2[data-sticky-active="true"]),
|
||||
:global(body.is-glossary-entry-page .glossary-entry-body h3.is-sticky),
|
||||
:global(body.is-glossary-entry-page .glossary-entry-body h3[data-sticky-active="true"]),
|
||||
:global(body.is-glossary-entry-page .glossary-relations h2.is-sticky),
|
||||
:global(body.is-glossary-entry-page .glossary-relations h2[data-sticky-active="true"]),
|
||||
:global(body.is-glossary-entry-page .glossary-relations h3.is-sticky),
|
||||
:global(body.is-glossary-entry-page .glossary-relations h3[data-sticky-active="true"]){
|
||||
position: static !important;
|
||||
top: auto !important;
|
||||
z-index: auto !important;
|
||||
padding: 0 !important;
|
||||
border: 0 !important;
|
||||
background: transparent !important;
|
||||
box-shadow: none !important;
|
||||
backdrop-filter: none !important;
|
||||
-webkit-backdrop-filter: none !important;
|
||||
}
|
||||
|
||||
@media (max-width: 720px){
|
||||
.glossary-entry-signals{
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
.glossary-pill{
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 860px){
|
||||
.glossary-entry-head{
|
||||
position: static;
|
||||
border-radius: 22px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.glossary-entry-head__title{
|
||||
padding: 14px 14px 12px;
|
||||
}
|
||||
|
||||
.glossary-entry-summary{
|
||||
gap: 12px;
|
||||
padding: 14px;
|
||||
}
|
||||
|
||||
.glossary-entry-dek{
|
||||
max-width: none;
|
||||
}
|
||||
|
||||
:global(body.is-glossary-entry-page.glossary-entry-follow-on .glossary-entry-head){
|
||||
margin-bottom: 20px;
|
||||
border-radius: 22px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark){
|
||||
.glossary-entry-meta{
|
||||
background: rgba(255,255,255,0.03);
|
||||
}
|
||||
|
||||
.glossary-legacy-note,
|
||||
.glossary-pill,
|
||||
.glossary-relations-card{
|
||||
background: rgba(255,255,255,0.04);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,75 +1,35 @@
|
||||
---
|
||||
import GlossaryLayout from "../../layouts/GlossaryLayout.astro";
|
||||
import GlossaryHomeAside from "../../components/GlossaryHomeAside.astro";
|
||||
import GlossaryHomeHero from "../../components/GlossaryHomeHero.astro";
|
||||
import GlossaryHomeSection from "../../components/GlossaryHomeSection.astro";
|
||||
import GlossaryCardGrid from "../../components/GlossaryCardGrid.astro";
|
||||
import GlossaryPortalGrid from "../../components/GlossaryPortalGrid.astro";
|
||||
import { getCollection } from "astro:content";
|
||||
import {
|
||||
buildGlossaryBySlug,
|
||||
countGlossaryEntriesByKind,
|
||||
familyOf,
|
||||
getGlossaryEntriesByFamily,
|
||||
hrefOfGlossaryEntry,
|
||||
sortGlossaryEntries,
|
||||
} from "../../lib/glossary";
|
||||
|
||||
const entries = await getCollection("glossaire");
|
||||
|
||||
const slugOf = (entry) => String(entry.id).replace(/\.(md|mdx)$/i, "");
|
||||
const hrefOf = (entry) => `/glossaire/${slugOf(entry)}/`;
|
||||
const bySlug = buildGlossaryBySlug(entries);
|
||||
|
||||
const collator = new Intl.Collator("fr", { sensitivity: "base", numeric: true });
|
||||
const bySlug = new Map(entries.map((entry) => [slugOf(entry), entry]));
|
||||
|
||||
function sortByTerm(list = []) {
|
||||
return [...list].sort((a, b) => collator.compare(a.data.term, b.data.term));
|
||||
}
|
||||
|
||||
function familyOf(entry) {
|
||||
const explicit = entry?.data?.family;
|
||||
if (explicit) return explicit;
|
||||
|
||||
const slug = slugOf(entry);
|
||||
const kind = entry?.data?.kind;
|
||||
|
||||
if (kind === "paradigme") return "paradigme";
|
||||
if (kind === "doctrine") return "doctrine";
|
||||
if (kind === "verbe") return "verbe";
|
||||
|
||||
if (slug === "scene-depreuve") return "scene";
|
||||
if (slug === "autarchicratie") return "pathologie";
|
||||
if (slug === "obliteration-archicratique") return "dynamique";
|
||||
|
||||
if ([
|
||||
"archicratie",
|
||||
"arcalite",
|
||||
"cratialite",
|
||||
"archicration",
|
||||
"co-viabilite",
|
||||
"tension",
|
||||
].includes(slug)) {
|
||||
return "concept-fondamental";
|
||||
}
|
||||
|
||||
if (slug === "archicrations-differentielles-et-formes-hybrides") {
|
||||
return "topologie";
|
||||
}
|
||||
|
||||
if (kind === "topologie" && slug.startsWith("archicrations-")) {
|
||||
return "meta-regime";
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
const fondamentaux = sortByTerm(
|
||||
entries.filter((entry) => familyOf(entry) === "concept-fondamental")
|
||||
const fondamentaux = getGlossaryEntriesByFamily(entries, "concept-fondamental");
|
||||
const scenes = getGlossaryEntriesByFamily(entries, "scene");
|
||||
const dynamiques = sortGlossaryEntries(
|
||||
entries.filter((entry) =>
|
||||
["dynamique", "pathologie"].includes(familyOf(entry)),
|
||||
),
|
||||
);
|
||||
const metaRegimes = getGlossaryEntriesByFamily(entries, "meta-regime");
|
||||
|
||||
const scenes = sortByTerm(
|
||||
entries.filter((entry) => familyOf(entry) === "scene")
|
||||
);
|
||||
|
||||
const dynamiques = sortByTerm(
|
||||
entries.filter((entry) => ["dynamique", "pathologie"].includes(familyOf(entry)))
|
||||
);
|
||||
|
||||
const metaRegimes = sortByTerm(
|
||||
entries.filter((entry) => familyOf(entry) === "meta-regime")
|
||||
);
|
||||
|
||||
const paradigmesCount = entries.filter((entry) => entry.data.kind === "paradigme").length;
|
||||
const doctrinesCount = entries.filter((entry) => entry.data.kind === "doctrine").length;
|
||||
const paradigmesCount = countGlossaryEntriesByKind(entries, "paradigme");
|
||||
const doctrinesCount = countGlossaryEntriesByKind(entries, "doctrine");
|
||||
|
||||
const metaRegimesPreview = metaRegimes.slice(0, 6);
|
||||
|
||||
@@ -85,6 +45,47 @@ const tensionsPageHref = "/glossaire/tensions-irreductibles/";
|
||||
const verbesPageHref = "/glossaire/verbes-de-la-scene/";
|
||||
const paradigmesPageHref = "/glossaire/paradigmes/";
|
||||
const indexCompletPageHref = "/glossaire/index-complet/";
|
||||
|
||||
const paradigmePortalItems = [
|
||||
{
|
||||
href: paradigmeArchicratiquePageHref,
|
||||
title: "Paradigme archicratique",
|
||||
description:
|
||||
"Saisir la logique d’ensemble du système archicratique : de l’arcalité et de la cratialité jusqu’aux scènes, aux tensions, aux formes de co-viabilité et aux traditions de comparaison mobilisées.",
|
||||
meta: "Portail de synthèse générale",
|
||||
},
|
||||
];
|
||||
|
||||
const approfondirPortalItems = [
|
||||
{
|
||||
href: tensionsPageHref,
|
||||
title: "Tensions irréductibles",
|
||||
description:
|
||||
"Parcourir les dix tensions ontologiquement irréductibles et politiquement fondatrices à partir desquelles la co-viabilité doit être pensée.",
|
||||
meta: "10 tensions structurantes",
|
||||
},
|
||||
{
|
||||
href: verbesPageHref,
|
||||
title: "Verbes de la scène",
|
||||
description:
|
||||
"Disposer d’un mini-glossaire opératoire pour décrire l’ouverture, l’entrave, la capture, la fermeture ou la remise en scène des architectures régulatrices.",
|
||||
meta: "19 verbes d’analyse",
|
||||
},
|
||||
{
|
||||
href: paradigmesPageHref,
|
||||
title: "Cartographie théorique",
|
||||
description:
|
||||
"Situer l’archicratie dans son paysage de doctrines fondatrices et de paradigmes régulateurs.",
|
||||
meta: `${doctrinesCount} doctrine${doctrinesCount > 1 ? "s" : ""} · ${paradigmesCount} paradigme${paradigmesCount > 1 ? "s" : ""}`,
|
||||
},
|
||||
{
|
||||
href: indexCompletPageHref,
|
||||
title: "Index complet",
|
||||
description:
|
||||
"Retrouver l’ensemble des entrées du glossaire dans une navigation alphabétique intégrale.",
|
||||
meta: `${entries.length} entrée${entries.length > 1 ? "s" : ""}`,
|
||||
},
|
||||
];
|
||||
---
|
||||
|
||||
<GlossaryLayout
|
||||
@@ -97,26 +98,17 @@ const indexCompletPageHref = "/glossaire/index-complet/";
|
||||
</Fragment>
|
||||
|
||||
<section class="glossary-home">
|
||||
<header class="glossary-hero" id="glossary-hero">
|
||||
<p class="glossary-kicker">Référentiel terminologique</p>
|
||||
<h1>Glossaire archicratique</h1>
|
||||
<p class="glossary-intro">
|
||||
Ce glossaire n’est pas seulement un index de définitions. Il constitue
|
||||
une porte d’entrée dans la pensée archicratique : une cartographie
|
||||
raisonnée des concepts fondamentaux, des scènes, des dynamiques et des
|
||||
méta-régimes à partir desquels une société peut être décrite comme
|
||||
organisation de tensions et recherche de co-viabilité.
|
||||
</p>
|
||||
<h2
|
||||
class="glossary-hero-follow"
|
||||
id="glossary-hero-follow"
|
||||
aria-hidden="true"
|
||||
></h2>
|
||||
</header>
|
||||
<GlossaryHomeHero />
|
||||
|
||||
<section class="glossary-map-block glossary-section" aria-labelledby="glossary-map-title">
|
||||
<section
|
||||
class="glossary-map-block glossary-section"
|
||||
aria-labelledby="glossary-map-title"
|
||||
>
|
||||
<div class="glossary-map-block__head">
|
||||
<h2 id="glossary-map-title" data-follow-section="Cartographie du système archicratique">
|
||||
<h2
|
||||
id="glossary-map-title"
|
||||
data-follow-section="Cartographie du système archicratique"
|
||||
>
|
||||
Cartographie du système archicratique
|
||||
</h2>
|
||||
<p>
|
||||
@@ -132,13 +124,17 @@ const indexCompletPageHref = "/glossaire/index-complet/";
|
||||
<div class="glossary-map__title">Forces en composition</div>
|
||||
<div class="glossary-map__roots">
|
||||
{arcalite ? (
|
||||
<a class="glossary-map__node" href={hrefOf(arcalite)}>ARCALITÉ</a>
|
||||
<a class="glossary-map__node" href={hrefOfGlossaryEntry(arcalite)}>
|
||||
ARCALITÉ
|
||||
</a>
|
||||
) : (
|
||||
<span class="glossary-map__node">ARCALITÉ</span>
|
||||
)}
|
||||
|
||||
{cratialite ? (
|
||||
<a class="glossary-map__node" href={hrefOf(cratialite)}>CRATIALITÉ</a>
|
||||
<a class="glossary-map__node" href={hrefOfGlossaryEntry(cratialite)}>
|
||||
CRATIALITÉ
|
||||
</a>
|
||||
) : (
|
||||
<span class="glossary-map__node">CRATIALITÉ</span>
|
||||
)}
|
||||
@@ -150,11 +146,16 @@ const indexCompletPageHref = "/glossaire/index-complet/";
|
||||
<div class="glossary-map__stage">
|
||||
<div class="glossary-map__title">Phénomène transversal</div>
|
||||
{tension ? (
|
||||
<a class="glossary-map__node glossary-map__node--wide" href={hrefOf(tension)}>
|
||||
<a
|
||||
class="glossary-map__node glossary-map__node--wide"
|
||||
href={hrefOfGlossaryEntry(tension)}
|
||||
>
|
||||
TENSION
|
||||
</a>
|
||||
) : (
|
||||
<span class="glossary-map__node glossary-map__node--wide">TENSION</span>
|
||||
<span class="glossary-map__node glossary-map__node--wide">
|
||||
TENSION
|
||||
</span>
|
||||
)}
|
||||
</div>
|
||||
|
||||
@@ -163,11 +164,16 @@ const indexCompletPageHref = "/glossaire/index-complet/";
|
||||
<div class="glossary-map__stage">
|
||||
<div class="glossary-map__title">Comparution</div>
|
||||
{sceneDepreuve ? (
|
||||
<a class="glossary-map__node glossary-map__node--wide" href={hrefOf(sceneDepreuve)}>
|
||||
<a
|
||||
class="glossary-map__node glossary-map__node--wide"
|
||||
href={hrefOfGlossaryEntry(sceneDepreuve)}
|
||||
>
|
||||
MISE EN SCÈNE
|
||||
</a>
|
||||
) : (
|
||||
<span class="glossary-map__node glossary-map__node--wide">MISE EN SCÈNE</span>
|
||||
<span class="glossary-map__node glossary-map__node--wide">
|
||||
MISE EN SCÈNE
|
||||
</span>
|
||||
)}
|
||||
</div>
|
||||
|
||||
@@ -176,11 +182,16 @@ const indexCompletPageHref = "/glossaire/index-complet/";
|
||||
<div class="glossary-map__stage">
|
||||
<div class="glossary-map__title">Opérateur régulateur</div>
|
||||
{archicration ? (
|
||||
<a class="glossary-map__node glossary-map__node--wide" href={hrefOf(archicration)}>
|
||||
<a
|
||||
class="glossary-map__node glossary-map__node--wide"
|
||||
href={hrefOfGlossaryEntry(archicration)}
|
||||
>
|
||||
ARCHICRATION
|
||||
</a>
|
||||
) : (
|
||||
<span class="glossary-map__node glossary-map__node--wide">ARCHICRATION</span>
|
||||
<span class="glossary-map__node glossary-map__node--wide">
|
||||
ARCHICRATION
|
||||
</span>
|
||||
)}
|
||||
</div>
|
||||
|
||||
@@ -188,7 +199,10 @@ const indexCompletPageHref = "/glossaire/index-complet/";
|
||||
|
||||
<div class="glossary-map__stage">
|
||||
<div class="glossary-map__title">Formes de stabilisation</div>
|
||||
<a class="glossary-map__node glossary-map__node--wide" href={metaRegimesPageHref}>
|
||||
<a
|
||||
class="glossary-map__node glossary-map__node--wide"
|
||||
href={metaRegimesPageHref}
|
||||
>
|
||||
MÉTA-RÉGIMES
|
||||
</a>
|
||||
</div>
|
||||
@@ -196,190 +210,70 @@ const indexCompletPageHref = "/glossaire/index-complet/";
|
||||
</section>
|
||||
|
||||
{fondamentaux.length > 0 && (
|
||||
<section id="concepts-fondamentaux" class="glossary-section">
|
||||
<div class="glossary-section__head">
|
||||
<div>
|
||||
<h2 data-follow-section="Concepts fondamentaux">Concepts fondamentaux</h2>
|
||||
<p class="glossary-intro">
|
||||
Ces notions forment la grammaire minimale de l’archicratie.
|
||||
Elles donnent accès à la structure générale du système.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="glossary-cards">
|
||||
{fondamentaux.map((entry) => (
|
||||
<a class="glossary-card" href={hrefOf(entry)}>
|
||||
<strong>{entry.data.term}</strong>
|
||||
<span>{entry.data.definitionShort}</span>
|
||||
</a>
|
||||
))}
|
||||
</div>
|
||||
</section>
|
||||
<GlossaryHomeSection
|
||||
id="concepts-fondamentaux"
|
||||
title="Concepts fondamentaux"
|
||||
followSection="Concepts fondamentaux"
|
||||
intro="Ces notions forment la grammaire minimale de l’archicratie. Elles donnent accès à la structure générale du système."
|
||||
>
|
||||
<GlossaryCardGrid entries={fondamentaux} />
|
||||
</GlossaryHomeSection>
|
||||
)}
|
||||
|
||||
<section id="paradigme-archicratique" class="glossary-section">
|
||||
<div class="glossary-section__head">
|
||||
<div>
|
||||
<h2 data-follow-section="Paradigme archicratique">Paradigme archicratique</h2>
|
||||
<p class="glossary-intro">
|
||||
Cette page de synthèse offre une vue d’ensemble du système
|
||||
archicratique. Elle articule le noyau conceptuel, les scènes de
|
||||
comparution, les dynamiques, les tensions irréductibles, les
|
||||
méta-régimes de co-viabilité et le paysage théorique dans lequel
|
||||
l’archicratie se situe et se distingue.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<a class="glossary-cta" href={paradigmeArchicratiquePageHref}>
|
||||
Ouvrir la synthèse
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="glossary-portals">
|
||||
<a class="glossary-portal-card" href={paradigmeArchicratiquePageHref}>
|
||||
<strong>Paradigme archicratique</strong>
|
||||
<span>
|
||||
Saisir la logique d’ensemble du système archicratique : de
|
||||
l’arcalité et de la cratialité jusqu’aux scènes, aux tensions, aux
|
||||
formes de co-viabilité et aux traditions de comparaison
|
||||
mobilisées.
|
||||
</span>
|
||||
<small>Portail de synthèse générale</small>
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
<GlossaryHomeSection
|
||||
id="paradigme-archicratique"
|
||||
title="Paradigme archicratique"
|
||||
followSection="Paradigme archicratique"
|
||||
intro="Cette page de synthèse offre une vue d’ensemble du système archicratique. Elle articule le noyau conceptuel, les scènes de comparution, les dynamiques, les tensions irréductibles, les méta-régimes de co-viabilité et le paysage théorique dans lequel l’archicratie se situe et se distingue."
|
||||
ctaHref={paradigmeArchicratiquePageHref}
|
||||
ctaLabel="Ouvrir la synthèse"
|
||||
>
|
||||
<GlossaryPortalGrid items={paradigmePortalItems} />
|
||||
</GlossaryHomeSection>
|
||||
|
||||
{scenes.length > 0 && (
|
||||
<section id="scenes-archicratiques" class="glossary-section">
|
||||
<div class="glossary-section__head">
|
||||
<div>
|
||||
<h2 data-follow-section="Scènes archicratiques">Scènes archicratiques</h2>
|
||||
<p class="glossary-intro">
|
||||
Les scènes archicratiques rendent possible la comparution des
|
||||
architectures de régulation. Elles sont le lieu où l’ordre peut
|
||||
être exposé, discuté et révisé.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="glossary-cards">
|
||||
{scenes.map((entry) => (
|
||||
<a class="glossary-card glossary-card--wide" href={hrefOf(entry)}>
|
||||
<strong>{entry.data.term}</strong>
|
||||
<span>{entry.data.definitionShort}</span>
|
||||
</a>
|
||||
))}
|
||||
</div>
|
||||
</section>
|
||||
<GlossaryHomeSection
|
||||
id="scenes-archicratiques"
|
||||
title="Scènes archicratiques"
|
||||
followSection="Scènes archicratiques"
|
||||
intro="Les scènes archicratiques rendent possible la comparution des architectures de régulation. Elles sont le lieu où l’ordre peut être exposé, discuté et révisé."
|
||||
>
|
||||
<GlossaryCardGrid entries={scenes} wide={true} />
|
||||
</GlossaryHomeSection>
|
||||
)}
|
||||
|
||||
{dynamiques.length > 0 && (
|
||||
<section id="dynamiques-archicratiques" class="glossary-section">
|
||||
<div class="glossary-section__head">
|
||||
<div>
|
||||
<h2 data-follow-section="Dynamiques archicratiques">Dynamiques archicratiques</h2>
|
||||
<p class="glossary-intro">
|
||||
Cette famille rassemble les processus de déplacement, les dérives
|
||||
et les formes de pathologisation de la régulation archicratique.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="glossary-cards">
|
||||
{dynamiques.map((entry) => (
|
||||
<a class="glossary-card" href={hrefOf(entry)}>
|
||||
<strong>{entry.data.term}</strong>
|
||||
<span>{entry.data.definitionShort}</span>
|
||||
</a>
|
||||
))}
|
||||
</div>
|
||||
</section>
|
||||
<GlossaryHomeSection
|
||||
id="dynamiques-archicratiques"
|
||||
title="Dynamiques archicratiques"
|
||||
followSection="Dynamiques archicratiques"
|
||||
intro="Cette famille rassemble les processus de déplacement, les dérives et les formes de pathologisation de la régulation archicratique."
|
||||
>
|
||||
<GlossaryCardGrid entries={dynamiques} />
|
||||
</GlossaryHomeSection>
|
||||
)}
|
||||
|
||||
<section id="meta-regimes-archicratiques" class="glossary-section">
|
||||
<div class="glossary-section__head">
|
||||
<div>
|
||||
<h2 data-follow-section="Méta-régimes archicratiques">Méta-régimes archicratiques</h2>
|
||||
<p class="glossary-intro">
|
||||
Les méta-régimes décrivent les grandes formes historiques et
|
||||
topologiques par lesquelles une société organise durablement ses
|
||||
tensions et sa co-viabilité.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<a class="glossary-cta" href={metaRegimesPageHref}>
|
||||
Explorer la cartographie complète
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<GlossaryHomeSection
|
||||
id="meta-regimes-archicratiques"
|
||||
title="Méta-régimes archicratiques"
|
||||
followSection="Méta-régimes archicratiques"
|
||||
intro="Les méta-régimes décrivent les grandes formes historiques et topologiques par lesquelles une société organise durablement ses tensions et sa co-viabilité."
|
||||
ctaHref={metaRegimesPageHref}
|
||||
ctaLabel="Explorer la cartographie complète"
|
||||
>
|
||||
{metaRegimesPreview.length > 0 && (
|
||||
<div class="glossary-cards">
|
||||
{metaRegimesPreview.map((entry) => (
|
||||
<a class="glossary-card" href={hrefOf(entry)}>
|
||||
<strong>{entry.data.term}</strong>
|
||||
<span>{entry.data.definitionShort}</span>
|
||||
</a>
|
||||
))}
|
||||
</div>
|
||||
<GlossaryCardGrid entries={metaRegimesPreview} />
|
||||
)}
|
||||
</section>
|
||||
</GlossaryHomeSection>
|
||||
|
||||
<section id="approfondir" class="glossary-section">
|
||||
<div class="glossary-section__head">
|
||||
<div>
|
||||
<h2 data-follow-section="Prolonger la lecture">Prolonger la lecture</h2>
|
||||
<p class="glossary-intro">
|
||||
Quatre parcours complémentaires permettent d’élargir la lecture :
|
||||
l’un vers les tensions irréductibles, l’un vers les verbes de la scène
|
||||
archicratique, l’un vers le paysage théorique dans lequel l’archicratie
|
||||
se situe et se distingue, l’autre vers l’ensemble alphabétique complet
|
||||
des entrées du glossaire.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="glossary-portals glossary-portals--secondary">
|
||||
<a class="glossary-portal-card" href={tensionsPageHref}>
|
||||
<strong>Tensions irréductibles</strong>
|
||||
<span>
|
||||
Parcourir les dix tensions ontologiquement irréductibles et
|
||||
politiquement fondatrices à partir desquelles la co-viabilité doit
|
||||
être pensée.
|
||||
</span>
|
||||
<small>10 tensions structurantes</small>
|
||||
</a>
|
||||
|
||||
<a class="glossary-portal-card" href={verbesPageHref}>
|
||||
<strong>Verbes de la scène</strong>
|
||||
<span>
|
||||
Disposer d’un mini-glossaire opératoire pour décrire l’ouverture,
|
||||
l’entrave, la capture, la fermeture ou la remise en scène des
|
||||
architectures régulatrices.
|
||||
</span>
|
||||
<small>19 verbes d’analyse</small>
|
||||
</a>
|
||||
|
||||
<a class="glossary-portal-card" href={paradigmesPageHref}>
|
||||
<strong>Cartographie théorique</strong>
|
||||
<span>
|
||||
Situer l’archicratie dans son paysage de doctrines fondatrices et de
|
||||
paradigmes régulateurs.
|
||||
</span>
|
||||
<small>{doctrinesCount} doctrine{doctrinesCount > 1 ? "s" : ""} · {paradigmesCount} paradigme{paradigmesCount > 1 ? "s" : ""}</small>
|
||||
</a>
|
||||
|
||||
<a class="glossary-portal-card" href={indexCompletPageHref}>
|
||||
<strong>Index complet</strong>
|
||||
<span>
|
||||
Retrouver l’ensemble des entrées du glossaire dans une navigation
|
||||
alphabétique intégrale.
|
||||
</span>
|
||||
<small>{entries.length} entrée{entries.length > 1 ? "s" : ""}</small>
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<GlossaryHomeSection
|
||||
id="approfondir"
|
||||
title="Prolonger la lecture"
|
||||
followSection="Prolonger la lecture"
|
||||
intro="Quatre parcours complémentaires permettent d’élargir la lecture : l’un vers les tensions irréductibles, l’un vers les verbes de la scène archicratique, l’un vers le paysage théorique dans lequel l’archicratie se situe et se distingue, l’autre vers l’ensemble alphabétique complet des entrées du glossaire."
|
||||
>
|
||||
<GlossaryPortalGrid items={approfondirPortalItems} secondary={true} />
|
||||
</GlossaryHomeSection>
|
||||
|
||||
<script is:inline>
|
||||
(() => {
|
||||
@@ -546,76 +440,6 @@ const indexCompletPageHref = "/glossaire/index-complet/";
|
||||
position: static;
|
||||
}
|
||||
|
||||
.glossary-hero{
|
||||
position: sticky;
|
||||
top: var(--glossary-sticky-top);
|
||||
z-index: 12;
|
||||
margin-bottom: 28px;
|
||||
padding: 14px 16px 18px;
|
||||
border: 1px solid rgba(127,127,127,0.18);
|
||||
border-radius: 28px;
|
||||
background:
|
||||
linear-gradient(180deg, rgba(0,0,0,0.60), rgba(0,0,0,0.90)),
|
||||
radial-gradient(900px 240px at 20% 0%, rgba(0,217,255,0.08), transparent 60%);
|
||||
transition:
|
||||
background 300ms cubic-bezier(.22,.8,.22,1),
|
||||
border-color 300ms cubic-bezier(.22,.8,.22,1),
|
||||
box-shadow 300ms cubic-bezier(.22,.8,.22,1);
|
||||
backdrop-filter: blur(10px);
|
||||
-webkit-backdrop-filter: blur(10px);
|
||||
display: grid;
|
||||
row-gap: 12px;
|
||||
}
|
||||
|
||||
.glossary-kicker{
|
||||
margin: 0;
|
||||
font-size: 12px;
|
||||
letter-spacing: .12em;
|
||||
text-transform: uppercase;
|
||||
opacity: .72;
|
||||
}
|
||||
|
||||
.glossary-hero h1{
|
||||
margin: 0;
|
||||
font-size: clamp(2.2rem, 4vw, 3.15rem);
|
||||
line-height: 1.02;
|
||||
letter-spacing: -.04em;
|
||||
font-weight: 850;
|
||||
}
|
||||
|
||||
.glossary-intro{
|
||||
margin: 0;
|
||||
max-width: 72ch;
|
||||
font-size: 1.05rem;
|
||||
line-height: 1.55;
|
||||
opacity: .94;
|
||||
}
|
||||
|
||||
.glossary-hero-follow{
|
||||
margin: 2px 0 0;
|
||||
min-height: var(--glossary-follow-height);
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
opacity: 0;
|
||||
transform: translateY(10px) scale(.985);
|
||||
filter: blur(6px);
|
||||
transition:
|
||||
opacity 220ms cubic-bezier(.22,1,.36,1),
|
||||
transform 320ms cubic-bezier(.22,1,.36,1),
|
||||
filter 320ms cubic-bezier(.22,1,.36,1);
|
||||
pointer-events: none;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
will-change: opacity, transform, filter;
|
||||
}
|
||||
|
||||
.glossary-hero-follow.is-visible{
|
||||
opacity: 1;
|
||||
transform: translateY(0) scale(1);
|
||||
filter: blur(0);
|
||||
}
|
||||
|
||||
.glossary-map-block__head h2,
|
||||
.glossary-section h2{
|
||||
margin: 0;
|
||||
@@ -625,20 +449,6 @@ const indexCompletPageHref = "/glossaire/index-complet/";
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.glossary-section{
|
||||
margin-top: 42px;
|
||||
scroll-margin-top: calc(var(--glossary-sticky-top) + 190px);
|
||||
}
|
||||
|
||||
.glossary-section__head{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: start;
|
||||
gap: 16px;
|
||||
flex-wrap: wrap;
|
||||
margin-bottom: 14px;
|
||||
}
|
||||
|
||||
.glossary-map-block{
|
||||
padding: 18px 18px 20px;
|
||||
border: 1px solid var(--glossary-border);
|
||||
@@ -721,95 +531,6 @@ const indexCompletPageHref = "/glossaire/index-complet/";
|
||||
opacity: .72;
|
||||
}
|
||||
|
||||
.glossary-cta{
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-height: 40px;
|
||||
border: 1px solid var(--glossary-border-strong);
|
||||
border-radius: 999px;
|
||||
padding: 7px 14px;
|
||||
color: var(--glossary-accent);
|
||||
text-decoration: none;
|
||||
white-space: nowrap;
|
||||
transition: transform 120ms ease, background 120ms ease;
|
||||
}
|
||||
|
||||
.glossary-cta:hover{
|
||||
background: var(--glossary-bg-soft-strong);
|
||||
text-decoration: none;
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.glossary-cards{
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
|
||||
gap: 12px;
|
||||
margin-top: 14px;
|
||||
}
|
||||
|
||||
.glossary-card{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
padding: 14px 16px;
|
||||
border: 1px solid var(--glossary-border);
|
||||
border-radius: 18px;
|
||||
background: var(--glossary-bg-soft);
|
||||
text-decoration: none;
|
||||
transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
|
||||
}
|
||||
|
||||
.glossary-card:hover{
|
||||
transform: translateY(-1px);
|
||||
background: var(--glossary-bg-soft-strong);
|
||||
border-color: rgba(0,217,255,0.16);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.glossary-card--wide{
|
||||
grid-column: 1 / -1;
|
||||
}
|
||||
|
||||
.glossary-card strong{
|
||||
color: var(--glossary-accent);
|
||||
font-size: 1.04rem;
|
||||
line-height: 1.28;
|
||||
}
|
||||
|
||||
.glossary-card span{
|
||||
color: inherit;
|
||||
font-size: 1rem;
|
||||
line-height: 1.5;
|
||||
opacity: .94;
|
||||
}
|
||||
|
||||
.glossary-portals{
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
|
||||
gap: 14px;
|
||||
margin-top: 14px;
|
||||
}
|
||||
|
||||
.glossary-portal-card{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
padding: 16px 18px;
|
||||
border: 1px solid var(--glossary-border);
|
||||
border-radius: 18px;
|
||||
background: var(--glossary-bg-soft);
|
||||
text-decoration: none;
|
||||
transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
|
||||
}
|
||||
|
||||
.glossary-portal-card:hover{
|
||||
transform: translateY(-1px);
|
||||
background: var(--glossary-bg-soft-strong);
|
||||
border-color: rgba(0,217,255,0.16);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.glossary-portal-card strong{
|
||||
color: var(--glossary-accent);
|
||||
font-size: 1.08rem;
|
||||
|
||||
Reference in New Issue
Block a user