Compare commits
7 Commits
c7043ae9d5
...
feat/gloss
| Author | SHA1 | Date | |
|---|---|---|---|
| ad06b34a85 | |||
| a38f585f3d | |||
| bf0dc125d1 | |||
| f61dc15b47 | |||
| 1ac3d91a19 | |||
| 100ba10409 | |||
| 5f14785abb |
@@ -1,258 +1,46 @@
|
||||
---
|
||||
import {
|
||||
familyOf,
|
||||
getContextualTheory,
|
||||
getDisplayDomain,
|
||||
getDisplayFamily,
|
||||
getDisplayLevel,
|
||||
getEntriesOfSameFamily,
|
||||
getFondamentaux,
|
||||
getRelationSections,
|
||||
getSameFamilyTitle,
|
||||
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 collator = new Intl.Collator("fr", { sensitivity: "base", numeric: true });
|
||||
const bySlug = new Map(allEntries.map((entry) => [slugOf(entry), entry]));
|
||||
const currentSlug = slugOf(currentEntry);
|
||||
|
||||
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 currentSlug = slugOfGlossaryEntry(currentEntry);
|
||||
const currentFamily = familyOf(currentEntry);
|
||||
const displayFamily =
|
||||
familyLabels[currentFamily] ??
|
||||
kindLabels[currentEntry.data.kind] ??
|
||||
"Fiche";
|
||||
|
||||
const displayDomain =
|
||||
domainLabels[currentEntry.data.domain] ??
|
||||
currentEntry.data.domain;
|
||||
const fondamentaux = getFondamentaux(allEntries);
|
||||
|
||||
const displayLevel =
|
||||
levelLabels[currentEntry.data.level] ??
|
||||
currentEntry.data.level;
|
||||
const displayFamily = getDisplayFamily(currentEntry);
|
||||
const displayDomain = getDisplayDomain(currentEntry);
|
||||
const displayLevel = getDisplayLevel(currentEntry);
|
||||
|
||||
function entriesOfSameFamily(entry) {
|
||||
const family = familyOf(entry);
|
||||
const sameFamilyEntries = getEntriesOfSameFamily(currentEntry, allEntries);
|
||||
const sameFamilyTitle = getSameFamilyTitle(currentEntry);
|
||||
|
||||
if (!family) return [];
|
||||
const contextualTheory = getContextualTheory(currentEntry, allEntries);
|
||||
|
||||
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 showNoyau =
|
||||
currentFamily !== "concept-fondamental" &&
|
||||
fondamentaux.length > 0;
|
||||
|
||||
const showSameFamily =
|
||||
sameFamilyEntries.length > 0 && currentFamily !== "concept-fondamental";
|
||||
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 relationSections = getRelationSections(currentEntry, allEntries);
|
||||
---
|
||||
|
||||
<nav class="glossary-aside" aria-label="Navigation du glossaire">
|
||||
@@ -286,11 +74,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 +96,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 +122,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 +135,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>
|
||||
|
||||
@@ -1,76 +1,21 @@
|
||||
---
|
||||
import {
|
||||
countGlossaryEntriesByFamily,
|
||||
countGlossaryEntriesByKind,
|
||||
getFondamentaux,
|
||||
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 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 fondamentaux = getFondamentaux(allEntries);
|
||||
|
||||
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 paradigmesCount = countGlossaryEntriesByKind(allEntries, "paradigme");
|
||||
const doctrinesCount = countGlossaryEntriesByKind(allEntries, "doctrine");
|
||||
const metaRegimesCount = countGlossaryEntriesByFamily(allEntries, "meta-regime");
|
||||
|
||||
const portalLinks = [
|
||||
{ href: "/glossaire/concepts-fondamentaux/", label: "Concepts fondamentaux" },
|
||||
@@ -115,7 +60,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>
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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: "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: "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é.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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: "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.
|
||||
|
||||
@@ -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 ? »
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
385
src/lib/glossary.ts
Normal file
385
src/lib/glossary.ts
Normal file
@@ -0,0 +1,385 @@
|
||||
import type { CollectionEntry } from "astro:content";
|
||||
|
||||
export type GlossaryEntry = CollectionEntry<"glossaire">;
|
||||
|
||||
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",
|
||||
};
|
||||
|
||||
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 resolveGlossaryEntries(
|
||||
slugs: string[] = [],
|
||||
allEntries: GlossaryEntry[] = [],
|
||||
): GlossaryEntry[] {
|
||||
const bySlug = buildGlossaryBySlug(allEntries);
|
||||
|
||||
const resolved = slugs
|
||||
.map((slug) => bySlug.get(normalizeGlossarySlug(slug)))
|
||||
.filter(Boolean) as GlossaryEntry[];
|
||||
|
||||
return sortGlossaryEntries(uniqueGlossaryEntries(resolved));
|
||||
}
|
||||
|
||||
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 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 type GlossaryRelationBlock = {
|
||||
title: string;
|
||||
items: GlossaryEntry[];
|
||||
className: string;
|
||||
};
|
||||
|
||||
export function getRelationBlocks(
|
||||
entry: GlossaryEntry,
|
||||
allEntries: GlossaryEntry[] = [],
|
||||
): GlossaryRelationBlock[] {
|
||||
const relatedEntries = resolveGlossaryEntries(entry.data.related ?? [], allEntries);
|
||||
const opposedEntries = resolveGlossaryEntries(entry.data.opposedTo ?? [], allEntries);
|
||||
const seeAlsoEntries = resolveGlossaryEntries(entry.data.seeAlso ?? [], allEntries);
|
||||
|
||||
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[] = [],
|
||||
): Array<{ title: string; items: GlossaryEntry[] }> {
|
||||
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"
|
||||
);
|
||||
}
|
||||
|
||||
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 getContextualTheory(
|
||||
entry: GlossaryEntry,
|
||||
allEntries: GlossaryEntry[] = [],
|
||||
): GlossaryEntry[] {
|
||||
const currentSlug = slugOfGlossaryEntry(entry);
|
||||
const bySlug = buildGlossaryBySlug(allEntries);
|
||||
|
||||
const fromRelations = uniqueGlossaryEntries([
|
||||
...resolveGlossaryEntries(entry.data.related ?? [], allEntries),
|
||||
...resolveGlossaryEntries(entry.data.seeAlso ?? [], allEntries),
|
||||
...resolveGlossaryEntries(entry.data.opposedTo ?? [], allEntries),
|
||||
])
|
||||
.filter((item) => slugOfGlossaryEntry(item) !== currentSlug)
|
||||
.filter((item) => isTheoryEntry(item));
|
||||
|
||||
if (fromRelations.length > 0) {
|
||||
return sortGlossaryEntries(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 [];
|
||||
}
|
||||
@@ -2,6 +2,14 @@
|
||||
import GlossaryLayout from "../../layouts/GlossaryLayout.astro";
|
||||
import GlossaryAside from "../../components/GlossaryAside.astro";
|
||||
import { getCollection, render } from "astro:content";
|
||||
import {
|
||||
getDisplayDomain,
|
||||
getDisplayFamily,
|
||||
getDisplayLevel,
|
||||
getRelationBlocks,
|
||||
hrefOfGlossaryEntry,
|
||||
normalizeGlossarySlug,
|
||||
} from "../../lib/glossary";
|
||||
|
||||
export async function getStaticPaths() {
|
||||
const entries = await getCollection("glossaire");
|
||||
@@ -9,20 +17,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,108 +56,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 displayFamily = getDisplayFamily(entry);
|
||||
const displayDomain = getDisplayDomain(entry);
|
||||
const displayLevel = getDisplayLevel(entry);
|
||||
|
||||
const hasScholarlyMeta =
|
||||
(entry.data.mobilizedAuthors?.length ?? 0) > 0 ||
|
||||
@@ -241,7 +144,7 @@ const hasScholarlyMeta =
|
||||
<ul>
|
||||
{block.items.map((item) => (
|
||||
<li>
|
||||
<a href={hrefOf(item)}>{item.data.term}</a>
|
||||
<a href={hrefOfGlossaryEntry(item)}>{item.data.term}</a>
|
||||
<span> — {item.data.definitionShort}</span>
|
||||
</li>
|
||||
))}
|
||||
|
||||
@@ -2,74 +2,30 @@
|
||||
import GlossaryLayout from "../../layouts/GlossaryLayout.astro";
|
||||
import GlossaryHomeAside from "../../components/GlossaryHomeAside.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);
|
||||
|
||||
@@ -132,13 +88,13 @@ 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,7 +106,7 @@ 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>
|
||||
) : (
|
||||
@@ -163,7 +119,7 @@ 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>
|
||||
) : (
|
||||
@@ -176,7 +132,7 @@ 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>
|
||||
) : (
|
||||
@@ -209,7 +165,7 @@ const indexCompletPageHref = "/glossaire/index-complet/";
|
||||
|
||||
<div class="glossary-cards">
|
||||
{fondamentaux.map((entry) => (
|
||||
<a class="glossary-card" href={hrefOf(entry)}>
|
||||
<a class="glossary-card" href={hrefOfGlossaryEntry(entry)}>
|
||||
<strong>{entry.data.term}</strong>
|
||||
<span>{entry.data.definitionShort}</span>
|
||||
</a>
|
||||
@@ -265,7 +221,7 @@ const indexCompletPageHref = "/glossaire/index-complet/";
|
||||
|
||||
<div class="glossary-cards">
|
||||
{scenes.map((entry) => (
|
||||
<a class="glossary-card glossary-card--wide" href={hrefOf(entry)}>
|
||||
<a class="glossary-card glossary-card--wide" href={hrefOfGlossaryEntry(entry)}>
|
||||
<strong>{entry.data.term}</strong>
|
||||
<span>{entry.data.definitionShort}</span>
|
||||
</a>
|
||||
@@ -288,7 +244,7 @@ const indexCompletPageHref = "/glossaire/index-complet/";
|
||||
|
||||
<div class="glossary-cards">
|
||||
{dynamiques.map((entry) => (
|
||||
<a class="glossary-card" href={hrefOf(entry)}>
|
||||
<a class="glossary-card" href={hrefOfGlossaryEntry(entry)}>
|
||||
<strong>{entry.data.term}</strong>
|
||||
<span>{entry.data.definitionShort}</span>
|
||||
</a>
|
||||
@@ -316,7 +272,7 @@ const indexCompletPageHref = "/glossaire/index-complet/";
|
||||
{metaRegimesPreview.length > 0 && (
|
||||
<div class="glossary-cards">
|
||||
{metaRegimesPreview.map((entry) => (
|
||||
<a class="glossary-card" href={hrefOf(entry)}>
|
||||
<a class="glossary-card" href={hrefOfGlossaryEntry(entry)}>
|
||||
<strong>{entry.data.term}</strong>
|
||||
<span>{entry.data.definitionShort}</span>
|
||||
</a>
|
||||
|
||||
Reference in New Issue
Block a user