Merge pull request 'refactor(glossaire): centralize aside and home data' (#294) from feat/glossaire-relational-asides-and-home into main
Reviewed-on: #294
This commit was merged in pull request #294.
This commit is contained in:
@@ -1,14 +1,7 @@
|
|||||||
---
|
---
|
||||||
import {
|
import {
|
||||||
familyOf,
|
getGlossaryEntryAsideData,
|
||||||
getContextualTheory,
|
getGlossaryPortalLinks,
|
||||||
getDisplayDomain,
|
|
||||||
getDisplayFamily,
|
|
||||||
getDisplayLevel,
|
|
||||||
getEntriesOfSameFamily,
|
|
||||||
getFondamentaux,
|
|
||||||
getRelationSections,
|
|
||||||
getSameFamilyTitle,
|
|
||||||
hrefOfGlossaryEntry,
|
hrefOfGlossaryEntry,
|
||||||
slugOfGlossaryEntry,
|
slugOfGlossaryEntry,
|
||||||
} from "../lib/glossary";
|
} from "../lib/glossary";
|
||||||
@@ -19,28 +12,21 @@ const {
|
|||||||
} = Astro.props;
|
} = Astro.props;
|
||||||
|
|
||||||
const currentSlug = slugOfGlossaryEntry(currentEntry);
|
const currentSlug = slugOfGlossaryEntry(currentEntry);
|
||||||
const currentFamily = familyOf(currentEntry);
|
|
||||||
|
|
||||||
const fondamentaux = getFondamentaux(allEntries);
|
const {
|
||||||
|
displayFamily,
|
||||||
|
displayDomain,
|
||||||
|
displayLevel,
|
||||||
|
showNoyau,
|
||||||
|
showSameFamily,
|
||||||
|
fondamentaux,
|
||||||
|
sameFamilyTitle,
|
||||||
|
sameFamilyEntries,
|
||||||
|
relationSections,
|
||||||
|
contextualTheory,
|
||||||
|
} = getGlossaryEntryAsideData(currentEntry, allEntries);
|
||||||
|
|
||||||
const displayFamily = getDisplayFamily(currentEntry);
|
const portalLinks = getGlossaryPortalLinks();
|
||||||
const displayDomain = getDisplayDomain(currentEntry);
|
|
||||||
const displayLevel = getDisplayLevel(currentEntry);
|
|
||||||
|
|
||||||
const sameFamilyEntries = getEntriesOfSameFamily(currentEntry, allEntries);
|
|
||||||
const sameFamilyTitle = getSameFamilyTitle(currentEntry);
|
|
||||||
|
|
||||||
const contextualTheory = getContextualTheory(currentEntry, allEntries);
|
|
||||||
|
|
||||||
const showNoyau =
|
|
||||||
currentFamily !== "concept-fondamental" &&
|
|
||||||
fondamentaux.length > 0;
|
|
||||||
|
|
||||||
const showSameFamily =
|
|
||||||
sameFamilyEntries.length > 0 &&
|
|
||||||
currentFamily !== "concept-fondamental";
|
|
||||||
|
|
||||||
const relationSections = getRelationSections(currentEntry, allEntries);
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<nav class="glossary-aside" aria-label="Navigation du glossaire">
|
<nav class="glossary-aside" aria-label="Navigation du glossaire">
|
||||||
@@ -52,20 +38,23 @@ const relationSections = getRelationSections(currentEntry, allEntries);
|
|||||||
<span class="glossary-aside__pill glossary-aside__pill--family">
|
<span class="glossary-aside__pill glossary-aside__pill--family">
|
||||||
{displayFamily}
|
{displayFamily}
|
||||||
</span>
|
</span>
|
||||||
<span class="glossary-aside__pill">{displayDomain}</span>
|
|
||||||
<span class="glossary-aside__pill">{displayLevel}</span>
|
{displayDomain && (
|
||||||
|
<span class="glossary-aside__pill">{displayDomain}</span>
|
||||||
|
)}
|
||||||
|
|
||||||
|
{displayLevel && (
|
||||||
|
<span class="glossary-aside__pill">{displayLevel}</span>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<section class="glossary-aside__block">
|
<section class="glossary-aside__block">
|
||||||
<h2 class="glossary-aside__heading">Portails</h2>
|
<h2 class="glossary-aside__heading">Portails</h2>
|
||||||
<ul class="glossary-aside__list">
|
<ul class="glossary-aside__list">
|
||||||
<li><a href="/glossaire/">Accueil du glossaire</a></li>
|
{portalLinks.map((item) => (
|
||||||
<li><a href="/glossaire/index-complet/">Index complet</a></li>
|
<li><a href={item.href}>{item.label}</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>
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
---
|
---
|
||||||
import {
|
import {
|
||||||
countGlossaryEntriesByFamily,
|
|
||||||
countGlossaryEntriesByKind,
|
|
||||||
getFondamentaux,
|
getFondamentaux,
|
||||||
|
getGlossaryHomeStats,
|
||||||
|
getGlossaryPortalLinks,
|
||||||
hrefOfGlossaryEntry,
|
hrefOfGlossaryEntry,
|
||||||
} from "../lib/glossary";
|
} from "../lib/glossary";
|
||||||
|
|
||||||
@@ -11,23 +11,14 @@ const {
|
|||||||
} = Astro.props;
|
} = Astro.props;
|
||||||
|
|
||||||
const fondamentaux = getFondamentaux(allEntries);
|
const fondamentaux = getFondamentaux(allEntries);
|
||||||
|
const portalLinks = getGlossaryPortalLinks();
|
||||||
|
|
||||||
const totalEntries = allEntries.length;
|
const {
|
||||||
const paradigmesCount = countGlossaryEntriesByKind(allEntries, "paradigme");
|
totalEntries,
|
||||||
const doctrinesCount = countGlossaryEntriesByKind(allEntries, "doctrine");
|
paradigmesCount,
|
||||||
const metaRegimesCount = countGlossaryEntriesByFamily(allEntries, "meta-regime");
|
doctrinesCount,
|
||||||
|
metaRegimesCount,
|
||||||
const portalLinks = [
|
} = getGlossaryHomeStats(allEntries);
|
||||||
{ 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" },
|
|
||||||
];
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<nav class="glossary-home-aside" aria-label="Navigation du portail du glossaire">
|
<nav class="glossary-home-aside" aria-label="Navigation du portail du glossaire">
|
||||||
|
|||||||
@@ -2,6 +2,53 @@ import type { CollectionEntry } from "astro:content";
|
|||||||
|
|
||||||
export type GlossaryEntry = CollectionEntry<"glossaire">;
|
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", {
|
export const GLOSSARY_COLLATOR = new Intl.Collator("fr", {
|
||||||
sensitivity: "base",
|
sensitivity: "base",
|
||||||
numeric: true,
|
numeric: true,
|
||||||
@@ -75,6 +122,34 @@ export const FAMILY_SECTION_TITLES: Record<string, string> = {
|
|||||||
epistemologie: "Outillage épistémologique",
|
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 {
|
export function normalizeGlossarySlug(value: unknown): string {
|
||||||
return String(value ?? "")
|
return String(value ?? "")
|
||||||
.trim()
|
.trim()
|
||||||
@@ -99,9 +174,7 @@ export function hrefOfGlossaryEntry(
|
|||||||
export function buildGlossaryBySlug(
|
export function buildGlossaryBySlug(
|
||||||
entries: GlossaryEntry[] = [],
|
entries: GlossaryEntry[] = [],
|
||||||
): Map<string, GlossaryEntry> {
|
): Map<string, GlossaryEntry> {
|
||||||
return new Map(
|
return new Map(entries.map((entry) => [slugOfGlossaryEntry(entry), entry]));
|
||||||
entries.map((entry) => [slugOfGlossaryEntry(entry), entry]),
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function sortGlossaryEntries(
|
export function sortGlossaryEntries(
|
||||||
@@ -151,12 +224,12 @@ export function resolveGlossaryEntriesInSourceOrder(
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function resolveGlossaryEntries(
|
export function resolveGlossaryEntries(
|
||||||
slugs: string[] = [],
|
slugs: string[] = [],
|
||||||
allEntries: GlossaryEntry[] = [],
|
allEntries: GlossaryEntry[] = [],
|
||||||
): GlossaryEntry[] {
|
): GlossaryEntry[] {
|
||||||
return sortGlossaryEntries(
|
return sortGlossaryEntries(
|
||||||
resolveGlossaryEntriesInSourceOrder(slugs, allEntries),
|
resolveGlossaryEntriesInSourceOrder(slugs, allEntries),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function rawFamilyOf(
|
export function rawFamilyOf(
|
||||||
@@ -188,7 +261,11 @@ export function familyOf(
|
|||||||
if (slug === "autarchicratie") return "pathologie";
|
if (slug === "autarchicratie") return "pathologie";
|
||||||
if (slug === "obliteration-archicratique") return "dynamique";
|
if (slug === "obliteration-archicratique") return "dynamique";
|
||||||
|
|
||||||
if (FONDAMENTAUX_WANTED.includes(slug as (typeof FONDAMENTAUX_WANTED)[number])) {
|
if (
|
||||||
|
FONDAMENTAUX_WANTED.includes(
|
||||||
|
slug as (typeof FONDAMENTAUX_WANTED)[number],
|
||||||
|
)
|
||||||
|
) {
|
||||||
return "concept-fondamental";
|
return "concept-fondamental";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -259,6 +336,47 @@ export function countGlossaryEntriesByFamily(
|
|||||||
return entries.filter((entry) => familyOf(entry) === familyKey).length;
|
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(
|
export function getEntriesOfSameFamily(
|
||||||
entry: GlossaryEntry,
|
entry: GlossaryEntry,
|
||||||
allEntries: GlossaryEntry[] = [],
|
allEntries: GlossaryEntry[] = [],
|
||||||
@@ -279,56 +397,50 @@ export function getSameFamilyTitle(
|
|||||||
return FAMILY_SECTION_TITLES[familyOf(entry)] ?? "Même famille";
|
return FAMILY_SECTION_TITLES[familyOf(entry)] ?? "Même famille";
|
||||||
}
|
}
|
||||||
|
|
||||||
export type GlossaryRelationBlock = {
|
|
||||||
title: string;
|
|
||||||
items: GlossaryEntry[];
|
|
||||||
className: string;
|
|
||||||
};
|
|
||||||
|
|
||||||
export function getRelationBlocks(
|
export function getRelationBlocks(
|
||||||
entry: GlossaryEntry,
|
entry: GlossaryEntry,
|
||||||
allEntries: GlossaryEntry[] = [],
|
allEntries: GlossaryEntry[] = [],
|
||||||
): GlossaryRelationBlock[] {
|
): GlossaryRelationBlock[] {
|
||||||
const currentSlug = slugOfGlossaryEntry(entry);
|
const currentSlug = slugOfGlossaryEntry(entry);
|
||||||
|
|
||||||
const relatedEntries = resolveGlossaryEntriesInSourceOrder(
|
const relatedEntries = resolveGlossaryEntriesInSourceOrder(
|
||||||
entry.data.related ?? [],
|
entry.data.related ?? [],
|
||||||
allEntries,
|
allEntries,
|
||||||
).filter((item) => slugOfGlossaryEntry(item) !== currentSlug);
|
).filter((item) => slugOfGlossaryEntry(item) !== currentSlug);
|
||||||
|
|
||||||
const opposedEntries = resolveGlossaryEntriesInSourceOrder(
|
const opposedEntries = resolveGlossaryEntriesInSourceOrder(
|
||||||
entry.data.opposedTo ?? [],
|
entry.data.opposedTo ?? [],
|
||||||
allEntries,
|
allEntries,
|
||||||
).filter((item) => slugOfGlossaryEntry(item) !== currentSlug);
|
).filter((item) => slugOfGlossaryEntry(item) !== currentSlug);
|
||||||
|
|
||||||
const seeAlsoEntries = resolveGlossaryEntriesInSourceOrder(
|
const seeAlsoEntries = resolveGlossaryEntriesInSourceOrder(
|
||||||
entry.data.seeAlso ?? [],
|
entry.data.seeAlso ?? [],
|
||||||
allEntries,
|
allEntries,
|
||||||
).filter((item) => slugOfGlossaryEntry(item) !== currentSlug);
|
).filter((item) => slugOfGlossaryEntry(item) !== currentSlug);
|
||||||
|
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
title: "Concepts liés",
|
title: "Concepts liés",
|
||||||
items: relatedEntries,
|
items: relatedEntries,
|
||||||
className: "is-related",
|
className: "is-related",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "En tension avec",
|
title: "En tension avec",
|
||||||
items: opposedEntries,
|
items: opposedEntries,
|
||||||
className: "is-opposed",
|
className: "is-opposed",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Voir aussi",
|
title: "Voir aussi",
|
||||||
items: seeAlsoEntries,
|
items: seeAlsoEntries,
|
||||||
className: "is-see-also",
|
className: "is-see-also",
|
||||||
},
|
},
|
||||||
].filter((block) => block.items.length > 0);
|
].filter((block) => block.items.length > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getRelationSections(
|
export function getRelationSections(
|
||||||
entry: GlossaryEntry,
|
entry: GlossaryEntry,
|
||||||
allEntries: GlossaryEntry[] = [],
|
allEntries: GlossaryEntry[] = [],
|
||||||
): Array<{ title: string; items: GlossaryEntry[] }> {
|
): GlossaryRelationSection[] {
|
||||||
return getRelationBlocks(entry, allEntries).map(({ title, items }) => ({
|
return getRelationBlocks(entry, allEntries).map(({ title, items }) => ({
|
||||||
title,
|
title,
|
||||||
items,
|
items,
|
||||||
@@ -347,34 +459,6 @@ function isTheoryEntry(entry: GlossaryEntry): boolean {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
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(
|
export function getContextualTheory(
|
||||||
entry: GlossaryEntry,
|
entry: GlossaryEntry,
|
||||||
allEntries: GlossaryEntry[] = [],
|
allEntries: GlossaryEntry[] = [],
|
||||||
@@ -383,15 +467,15 @@ export function getContextualTheory(
|
|||||||
const bySlug = buildGlossaryBySlug(allEntries);
|
const bySlug = buildGlossaryBySlug(allEntries);
|
||||||
|
|
||||||
const fromRelations = uniqueGlossaryEntries([
|
const fromRelations = uniqueGlossaryEntries([
|
||||||
...resolveGlossaryEntries(entry.data.related ?? [], allEntries),
|
...resolveGlossaryEntriesInSourceOrder(entry.data.related ?? [], allEntries),
|
||||||
...resolveGlossaryEntries(entry.data.seeAlso ?? [], allEntries),
|
...resolveGlossaryEntriesInSourceOrder(entry.data.seeAlso ?? [], allEntries),
|
||||||
...resolveGlossaryEntries(entry.data.opposedTo ?? [], allEntries),
|
...resolveGlossaryEntriesInSourceOrder(entry.data.opposedTo ?? [], allEntries),
|
||||||
])
|
])
|
||||||
.filter((item) => slugOfGlossaryEntry(item) !== currentSlug)
|
.filter((item) => slugOfGlossaryEntry(item) !== currentSlug)
|
||||||
.filter((item) => isTheoryEntry(item));
|
.filter((item) => isTheoryEntry(item));
|
||||||
|
|
||||||
if (fromRelations.length > 0) {
|
if (fromRelations.length > 0) {
|
||||||
return sortGlossaryEntries(fromRelations).slice(0, 6);
|
return fromRelations.slice(0, 6);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (familyOf(entry) === "paradigme") {
|
if (familyOf(entry) === "paradigme") {
|
||||||
@@ -414,3 +498,64 @@ export function getContextualTheory(
|
|||||||
|
|
||||||
return [];
|
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"),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|||||||
@@ -3,37 +3,29 @@ import GlossaryLayout from "../../layouts/GlossaryLayout.astro";
|
|||||||
import GlossaryHomeAside from "../../components/GlossaryHomeAside.astro";
|
import GlossaryHomeAside from "../../components/GlossaryHomeAside.astro";
|
||||||
import { getCollection } from "astro:content";
|
import { getCollection } from "astro:content";
|
||||||
import {
|
import {
|
||||||
buildGlossaryBySlug,
|
getGlossaryHomeData,
|
||||||
countGlossaryEntriesByKind,
|
getGlossaryHomeStats,
|
||||||
familyOf,
|
|
||||||
getGlossaryEntriesByFamily,
|
|
||||||
hrefOfGlossaryEntry,
|
hrefOfGlossaryEntry,
|
||||||
sortGlossaryEntries,
|
|
||||||
} from "../../lib/glossary";
|
} from "../../lib/glossary";
|
||||||
|
|
||||||
const entries = await getCollection("glossaire");
|
const entries = await getCollection("glossaire");
|
||||||
|
|
||||||
const bySlug = buildGlossaryBySlug(entries);
|
const {
|
||||||
|
fondamentaux,
|
||||||
|
scenes,
|
||||||
|
dynamiques,
|
||||||
|
metaRegimesPreview,
|
||||||
|
arcalite,
|
||||||
|
cratialite,
|
||||||
|
tension,
|
||||||
|
sceneDepreuve,
|
||||||
|
archicration,
|
||||||
|
} = getGlossaryHomeData(entries);
|
||||||
|
|
||||||
const fondamentaux = getGlossaryEntriesByFamily(entries, "concept-fondamental");
|
const {
|
||||||
const scenes = getGlossaryEntriesByFamily(entries, "scene");
|
paradigmesCount,
|
||||||
const dynamiques = sortGlossaryEntries(
|
doctrinesCount,
|
||||||
entries.filter((entry) =>
|
} = getGlossaryHomeStats(entries);
|
||||||
["dynamique", "pathologie"].includes(familyOf(entry)),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
const metaRegimes = getGlossaryEntriesByFamily(entries, "meta-regime");
|
|
||||||
|
|
||||||
const paradigmesCount = countGlossaryEntriesByKind(entries, "paradigme");
|
|
||||||
const doctrinesCount = countGlossaryEntriesByKind(entries, "doctrine");
|
|
||||||
|
|
||||||
const metaRegimesPreview = metaRegimes.slice(0, 6);
|
|
||||||
|
|
||||||
const arcalite = bySlug.get("arcalite");
|
|
||||||
const cratialite = bySlug.get("cratialite");
|
|
||||||
const tension = bySlug.get("tension");
|
|
||||||
const sceneDepreuve = bySlug.get("scene-depreuve");
|
|
||||||
const archicration = bySlug.get("archicration");
|
|
||||||
|
|
||||||
const paradigmeArchicratiquePageHref = "/glossaire/paradigme-archicratique/";
|
const paradigmeArchicratiquePageHref = "/glossaire/paradigme-archicratique/";
|
||||||
const metaRegimesPageHref = "/glossaire/archicrations/";
|
const metaRegimesPageHref = "/glossaire/archicrations/";
|
||||||
@@ -53,289 +45,334 @@ const indexCompletPageHref = "/glossaire/index-complet/";
|
|||||||
</Fragment>
|
</Fragment>
|
||||||
|
|
||||||
<section class="glossary-home">
|
<section class="glossary-home">
|
||||||
<header class="glossary-hero" id="glossary-hero">
|
<header class="glossary-hero" id="glossary-hero">
|
||||||
<p class="glossary-kicker">Référentiel terminologique</p>
|
<p class="glossary-kicker">Référentiel terminologique</p>
|
||||||
<h1>Glossaire archicratique</h1>
|
<h1>Glossaire archicratique</h1>
|
||||||
<p class="glossary-intro">
|
<p class="glossary-intro">
|
||||||
Ce glossaire n’est pas seulement un index de définitions. Il constitue
|
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
|
une porte d’entrée dans la pensée archicratique : une cartographie
|
||||||
raisonnée des concepts fondamentaux, des scènes, des dynamiques et des
|
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
|
méta-régimes à partir desquels une société peut être décrite comme
|
||||||
organisation de tensions et recherche de co-viabilité.
|
organisation de tensions et recherche de co-viabilité.
|
||||||
</p>
|
</p>
|
||||||
<h2
|
<h2
|
||||||
class="glossary-hero-follow"
|
class="glossary-hero-follow"
|
||||||
id="glossary-hero-follow"
|
id="glossary-hero-follow"
|
||||||
aria-hidden="true"
|
aria-hidden="true"
|
||||||
></h2>
|
></h2>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<section class="glossary-map-block glossary-section" aria-labelledby="glossary-map-title">
|
<section
|
||||||
<div class="glossary-map-block__head">
|
class="glossary-map-block glossary-section"
|
||||||
<h2 id="glossary-map-title" data-follow-section="Cartographie du système archicratique">
|
aria-labelledby="glossary-map-title"
|
||||||
Cartographie du système archicratique
|
>
|
||||||
|
<div class="glossary-map-block__head">
|
||||||
|
<h2
|
||||||
|
id="glossary-map-title"
|
||||||
|
data-follow-section="Cartographie du système archicratique"
|
||||||
|
>
|
||||||
|
Cartographie du système archicratique
|
||||||
|
</h2>
|
||||||
|
<p>
|
||||||
|
La lecture la plus simple du système part de deux vecteurs premiers,
|
||||||
|
l’arcalité et la cratialité, dont la rencontre produit des tensions.
|
||||||
|
Ces tensions doivent être mises en scène, traitées par l’archicration,
|
||||||
|
puis stabilisées dans des méta-régimes de co-viabilité.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="glossary-map" aria-label="Carte conceptuelle du glossaire">
|
||||||
|
<div class="glossary-map__stage">
|
||||||
|
<div class="glossary-map__title">Forces en composition</div>
|
||||||
|
<div class="glossary-map__roots">
|
||||||
|
{arcalite ? (
|
||||||
|
<a class="glossary-map__node" href={hrefOfGlossaryEntry(arcalite)}>
|
||||||
|
ARCALITÉ
|
||||||
|
</a>
|
||||||
|
) : (
|
||||||
|
<span class="glossary-map__node">ARCALITÉ</span>
|
||||||
|
)}
|
||||||
|
|
||||||
|
{cratialite ? (
|
||||||
|
<a class="glossary-map__node" href={hrefOfGlossaryEntry(cratialite)}>
|
||||||
|
CRATIALITÉ
|
||||||
|
</a>
|
||||||
|
) : (
|
||||||
|
<span class="glossary-map__node">CRATIALITÉ</span>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="glossary-map__arrow" aria-hidden="true">↓</div>
|
||||||
|
|
||||||
|
<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={hrefOfGlossaryEntry(tension)}
|
||||||
|
>
|
||||||
|
TENSION
|
||||||
|
</a>
|
||||||
|
) : (
|
||||||
|
<span class="glossary-map__node glossary-map__node--wide">
|
||||||
|
TENSION
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="glossary-map__arrow" aria-hidden="true">↓</div>
|
||||||
|
|
||||||
|
<div class="glossary-map__stage">
|
||||||
|
<div class="glossary-map__title">Comparution</div>
|
||||||
|
{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>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="glossary-map__arrow" aria-hidden="true">↓</div>
|
||||||
|
|
||||||
|
<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={hrefOfGlossaryEntry(archicration)}
|
||||||
|
>
|
||||||
|
ARCHICRATION
|
||||||
|
</a>
|
||||||
|
) : (
|
||||||
|
<span class="glossary-map__node glossary-map__node--wide">
|
||||||
|
ARCHICRATION
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="glossary-map__arrow" aria-hidden="true">↓</div>
|
||||||
|
|
||||||
|
<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}
|
||||||
|
>
|
||||||
|
MÉTA-RÉGIMES
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</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>
|
</h2>
|
||||||
<p>
|
<p class="glossary-intro">
|
||||||
La lecture la plus simple du système part de deux vecteurs premiers,
|
Ces notions forment la grammaire minimale de l’archicratie.
|
||||||
l’arcalité et la cratialité, dont la rencontre produit des tensions.
|
Elles donnent accès à la structure générale du système.
|
||||||
Ces tensions doivent être mises en scène, traitées par l’archicration,
|
|
||||||
puis stabilisées dans des méta-régimes de co-viabilité.
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="glossary-map" aria-label="Carte conceptuelle du glossaire">
|
<div class="glossary-cards">
|
||||||
<div class="glossary-map__stage">
|
{fondamentaux.map((entry) => (
|
||||||
<div class="glossary-map__title">Forces en composition</div>
|
<a class="glossary-card" href={hrefOfGlossaryEntry(entry)}>
|
||||||
<div class="glossary-map__roots">
|
<strong>{entry.data.term}</strong>
|
||||||
{arcalite ? (
|
<span>{entry.data.definitionShort}</span>
|
||||||
<a class="glossary-map__node" href={hrefOfGlossaryEntry(arcalite)}>ARCALITÉ</a>
|
|
||||||
) : (
|
|
||||||
<span class="glossary-map__node">ARCALITÉ</span>
|
|
||||||
)}
|
|
||||||
|
|
||||||
{cratialite ? (
|
|
||||||
<a class="glossary-map__node" href={hrefOfGlossaryEntry(cratialite)}>CRATIALITÉ</a>
|
|
||||||
) : (
|
|
||||||
<span class="glossary-map__node">CRATIALITÉ</span>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="glossary-map__arrow" aria-hidden="true">↓</div>
|
|
||||||
|
|
||||||
<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={hrefOfGlossaryEntry(tension)}>
|
|
||||||
TENSION
|
|
||||||
</a>
|
|
||||||
) : (
|
|
||||||
<span class="glossary-map__node glossary-map__node--wide">TENSION</span>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="glossary-map__arrow" aria-hidden="true">↓</div>
|
|
||||||
|
|
||||||
<div class="glossary-map__stage">
|
|
||||||
<div class="glossary-map__title">Comparution</div>
|
|
||||||
{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>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="glossary-map__arrow" aria-hidden="true">↓</div>
|
|
||||||
|
|
||||||
<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={hrefOfGlossaryEntry(archicration)}>
|
|
||||||
ARCHICRATION
|
|
||||||
</a>
|
|
||||||
) : (
|
|
||||||
<span class="glossary-map__node glossary-map__node--wide">ARCHICRATION</span>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="glossary-map__arrow" aria-hidden="true">↓</div>
|
|
||||||
|
|
||||||
<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}>
|
|
||||||
MÉTA-RÉGIMES
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</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={hrefOfGlossaryEntry(entry)}>
|
|
||||||
<strong>{entry.data.term}</strong>
|
|
||||||
<span>{entry.data.definitionShort}</span>
|
|
||||||
</a>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
)}
|
|
||||||
|
|
||||||
<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>
|
</a>
|
||||||
</div>
|
))}
|
||||||
|
</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>
|
|
||||||
|
|
||||||
{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={hrefOfGlossaryEntry(entry)}>
|
|
||||||
<strong>{entry.data.term}</strong>
|
|
||||||
<span>{entry.data.definitionShort}</span>
|
|
||||||
</a>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
)}
|
|
||||||
|
|
||||||
{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={hrefOfGlossaryEntry(entry)}>
|
|
||||||
<strong>{entry.data.term}</strong>
|
|
||||||
<span>{entry.data.definitionShort}</span>
|
|
||||||
</a>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
)}
|
|
||||||
|
|
||||||
<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>
|
|
||||||
|
|
||||||
{metaRegimesPreview.length > 0 && (
|
|
||||||
<div class="glossary-cards">
|
|
||||||
{metaRegimesPreview.map((entry) => (
|
|
||||||
<a class="glossary-card" href={hrefOfGlossaryEntry(entry)}>
|
|
||||||
<strong>{entry.data.term}</strong>
|
|
||||||
<span>{entry.data.definitionShort}</span>
|
|
||||||
</a>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<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>
|
</section>
|
||||||
|
)}
|
||||||
|
|
||||||
|
<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>
|
||||||
|
|
||||||
|
{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={hrefOfGlossaryEntry(entry)}
|
||||||
|
>
|
||||||
|
<strong>{entry.data.term}</strong>
|
||||||
|
<span>{entry.data.definitionShort}</span>
|
||||||
|
</a>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
)}
|
||||||
|
|
||||||
|
{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={hrefOfGlossaryEntry(entry)}>
|
||||||
|
<strong>{entry.data.term}</strong>
|
||||||
|
<span>{entry.data.definitionShort}</span>
|
||||||
|
</a>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
)}
|
||||||
|
|
||||||
|
<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>
|
||||||
|
|
||||||
|
{metaRegimesPreview.length > 0 && (
|
||||||
|
<div class="glossary-cards">
|
||||||
|
{metaRegimesPreview.map((entry) => (
|
||||||
|
<a class="glossary-card" href={hrefOfGlossaryEntry(entry)}>
|
||||||
|
<strong>{entry.data.term}</strong>
|
||||||
|
<span>{entry.data.definitionShort}</span>
|
||||||
|
</a>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<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>
|
||||||
|
|
||||||
<script is:inline>
|
<script is:inline>
|
||||||
(() => {
|
(() => {
|
||||||
|
|||||||
Reference in New Issue
Block a user