Compare commits
6 Commits
chore/rein
...
feat/gloss
| Author | SHA1 | Date | |
|---|---|---|---|
| 9f88112aca | |||
| 689619d14d | |||
| 64e56e8abc | |||
| 8605b7198f | |||
| d41aed040f | |||
| bf01a83268 |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -28,6 +28,7 @@ const tocId = `toc-global-${collection}-${String(basePath).replace(/[^\w-]+/g, "
|
||||
|
||||
<nav
|
||||
class="toc-global"
|
||||
data-mobile-default="closed"
|
||||
aria-label={label}
|
||||
data-toc-global
|
||||
data-toc-key={`global:${collection}:${basePath}`}
|
||||
@@ -35,14 +36,14 @@ const tocId = `toc-global-${collection}-${String(basePath).replace(/[^\w-]+/g, "
|
||||
<button
|
||||
class="toc-global__head toc-global__toggle"
|
||||
type="button"
|
||||
aria-expanded="true"
|
||||
aria-expanded="false"
|
||||
aria-controls={tocId}
|
||||
>
|
||||
<span class="toc-global__title">{label}</span>
|
||||
<span class="toc-global__chevron" aria-hidden="true">▾</span>
|
||||
</button>
|
||||
|
||||
<div class="toc-global__body-clip" id={tocId}>
|
||||
<div class="toc-global__body-clip" id={tocId} hidden>
|
||||
<div class="toc-global__body">
|
||||
<ol class="toc-global__list">
|
||||
{entries.map((e) => {
|
||||
@@ -291,6 +292,10 @@ const tocId = `toc-global-${collection}-${String(basePath).replace(/[^\w-]+/g, "
|
||||
max-height: min(42vh, 360px);
|
||||
padding-right: 4px;
|
||||
}
|
||||
|
||||
.toc-global__body-clip[hidden]{
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark){
|
||||
@@ -332,9 +337,16 @@ const tocId = `toc-global-${collection}-${String(basePath).replace(/[^\w-]+/g, "
|
||||
|
||||
const setOpen = (open, { persist = true } = {}) => {
|
||||
const isMobile = mq.matches;
|
||||
nav.classList.toggle("is-collapsed", isMobile && !open);
|
||||
toggle.setAttribute("aria-expanded", open ? "true" : "false");
|
||||
if (persist && isMobile) write(open);
|
||||
const effectiveOpen = isMobile ? open : true;
|
||||
|
||||
nav.classList.toggle("is-collapsed", isMobile && !effectiveOpen);
|
||||
toggle.setAttribute("aria-expanded", effectiveOpen ? "true" : "false");
|
||||
|
||||
if (bodyClip) {
|
||||
bodyClip.hidden = isMobile && !effectiveOpen;
|
||||
}
|
||||
|
||||
if (persist && isMobile) write(effectiveOpen);
|
||||
};
|
||||
|
||||
const initState = () => {
|
||||
|
||||
@@ -49,7 +49,7 @@ const portalLinks = getGlossaryPortalLinks();
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<details class="glossary-aside__block glossary-aside__disclosure" open>
|
||||
<details class="glossary-aside__block glossary-aside__disclosure">
|
||||
<summary class="glossary-aside__summary">
|
||||
<span class="glossary-aside__heading">Portails</span>
|
||||
<span class="glossary-aside__chevron" aria-hidden="true">▾</span>
|
||||
@@ -65,7 +65,7 @@ const portalLinks = getGlossaryPortalLinks();
|
||||
</details>
|
||||
|
||||
{showNoyau && (
|
||||
<details class="glossary-aside__block glossary-aside__disclosure" open>
|
||||
<details class="glossary-aside__block glossary-aside__disclosure">
|
||||
<summary class="glossary-aside__summary">
|
||||
<span class="glossary-aside__heading">Noyau archicratique</span>
|
||||
<span class="glossary-aside__chevron" aria-hidden="true">▾</span>
|
||||
@@ -93,7 +93,7 @@ const portalLinks = getGlossaryPortalLinks();
|
||||
)}
|
||||
|
||||
{showSameFamily && (
|
||||
<details class="glossary-aside__block glossary-aside__disclosure" open>
|
||||
<details class="glossary-aside__block glossary-aside__disclosure">
|
||||
<summary class="glossary-aside__summary">
|
||||
<span class="glossary-aside__heading">{sameFamilyTitle}</span>
|
||||
<span class="glossary-aside__chevron" aria-hidden="true">▾</span>
|
||||
@@ -121,7 +121,7 @@ const portalLinks = getGlossaryPortalLinks();
|
||||
)}
|
||||
|
||||
{relationSections.length > 0 && (
|
||||
<details class="glossary-aside__block glossary-aside__disclosure" open>
|
||||
<details class="glossary-aside__block glossary-aside__disclosure">
|
||||
<summary class="glossary-aside__summary">
|
||||
<span class="glossary-aside__heading">Autour de cette fiche</span>
|
||||
<span class="glossary-aside__chevron" aria-hidden="true">▾</span>
|
||||
@@ -143,7 +143,7 @@ const portalLinks = getGlossaryPortalLinks();
|
||||
)}
|
||||
|
||||
{contextualTheory.length > 0 && (
|
||||
<details class="glossary-aside__block glossary-aside__disclosure" open>
|
||||
<details class="glossary-aside__block glossary-aside__disclosure">
|
||||
<summary class="glossary-aside__summary">
|
||||
<span class="glossary-aside__heading">Paysage théorique</span>
|
||||
<span class="glossary-aside__chevron" aria-hidden="true">▾</span>
|
||||
@@ -445,7 +445,29 @@ const portalLinks = getGlossaryPortalLinks();
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 861px){
|
||||
@media (orientation: portrait) and (max-width: 1024px) and (pointer: coarse){
|
||||
.glossary-aside{
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.glossary-aside__disclosure{
|
||||
background: rgba(127,127,127,0.045);
|
||||
}
|
||||
|
||||
.glossary-aside__disclosure:not([open]) .glossary-aside__panel{
|
||||
display: none;
|
||||
}
|
||||
|
||||
.glossary-aside__summary{
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.glossary-aside__chevron{
|
||||
display: inline;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 861px) and (hover: hover) and (pointer: fine){
|
||||
.glossary-aside__summary{
|
||||
cursor: default;
|
||||
}
|
||||
@@ -470,7 +492,9 @@ const portalLinks = getGlossaryPortalLinks();
|
||||
<script is:inline>
|
||||
(() => {
|
||||
const syncMobileDisclosure = () => {
|
||||
const mobile = window.matchMedia("(max-width: 860px)").matches;
|
||||
const mobile = window.matchMedia(
|
||||
"(max-width: 860px), ((orientation: portrait) and (max-width: 1024px) and (pointer: coarse))"
|
||||
).matches;
|
||||
const smallLandscape = window.matchMedia(
|
||||
"(orientation: landscape) and (max-width: 920px) and (max-height: 520px)"
|
||||
).matches;
|
||||
@@ -484,7 +508,7 @@ const portalLinks = getGlossaryPortalLinks();
|
||||
|
||||
if (compact) {
|
||||
if (!el.dataset.mobileInit) {
|
||||
el.open = index === 0;
|
||||
el.open = false;
|
||||
el.dataset.mobileInit = "true";
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -4,7 +4,17 @@
|
||||
|
||||
<style>
|
||||
.glossary-entry-body{
|
||||
margin-bottom: 28px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.glossary-entry-body > :last-child{
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
@media (max-width: 760px){
|
||||
.glossary-entry-body{
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
:global(.glossary-entry-body h2),
|
||||
|
||||
@@ -73,7 +73,7 @@ const hasScholarlyMeta =
|
||||
<style>
|
||||
.glossary-entry-head{
|
||||
position: sticky;
|
||||
top: calc(var(--sticky-header-h, 0px) + var(--page-gap, 12px));
|
||||
top: var(--sticky-header-h, 0px);
|
||||
z-index: 11;
|
||||
margin: 0 0 22px;
|
||||
border: 1px solid rgba(127,127,127,0.18);
|
||||
@@ -234,12 +234,16 @@ const hasScholarlyMeta =
|
||||
}
|
||||
|
||||
.glossary-entry-summary{
|
||||
gap: 8px;
|
||||
padding: 9px 10px 10px;
|
||||
gap: 9px;
|
||||
padding: 9px 10px 11px;
|
||||
}
|
||||
|
||||
.glossary-entry-dek{
|
||||
-webkit-line-clamp: 2;
|
||||
display: block;
|
||||
max-width: none;
|
||||
overflow: visible;
|
||||
-webkit-line-clamp: unset;
|
||||
-webkit-box-orient: unset;
|
||||
}
|
||||
|
||||
.glossary-pill{
|
||||
|
||||
@@ -24,8 +24,10 @@
|
||||
const isCompactViewport = () =>
|
||||
mqMobile.matches || mqSmallLandscape.matches;
|
||||
|
||||
const heroHeight = () =>
|
||||
Math.max(0, Math.round(hero.getBoundingClientRect().height || 0));
|
||||
const heroHeight = () => {
|
||||
const rect = hero.getBoundingClientRect();
|
||||
return Math.max(0, Math.round(rect.height || 0));
|
||||
};
|
||||
|
||||
const neutralizeGlobalFollowIfCompact = () => {
|
||||
if (!isCompactViewport()) {
|
||||
@@ -45,6 +47,21 @@
|
||||
follow.style.display !== "none" &&
|
||||
follow.getAttribute("aria-hidden") !== "true";
|
||||
|
||||
const syncFollowState = () => {
|
||||
const on = computeFollowOn();
|
||||
|
||||
if (on) {
|
||||
if (lastFollowOn === true) return;
|
||||
lastFollowOn = true;
|
||||
body.classList.add(FOLLOW_ON_CLASS);
|
||||
return;
|
||||
}
|
||||
|
||||
if (lastFollowOn === false) return;
|
||||
lastFollowOn = false;
|
||||
body.classList.remove(FOLLOW_ON_CLASS);
|
||||
};
|
||||
|
||||
const stripLocalSticky = () => {
|
||||
document
|
||||
.querySelectorAll(
|
||||
@@ -68,13 +85,6 @@
|
||||
}
|
||||
};
|
||||
|
||||
const syncFollowState = () => {
|
||||
const on = computeFollowOn();
|
||||
if (on === lastFollowOn) return;
|
||||
lastFollowOn = on;
|
||||
body.classList.toggle(FOLLOW_ON_CLASS, on);
|
||||
};
|
||||
|
||||
const syncAll = () => {
|
||||
neutralizeGlobalFollowIfCompact();
|
||||
stripLocalSticky();
|
||||
@@ -139,13 +149,6 @@
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
:global(body.is-glossary-entry-page.glossary-entry-follow-on .glossary-entry-head){
|
||||
margin-bottom: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
box-shadow: 0 8px 20px rgba(0,0,0,0.10);
|
||||
}
|
||||
|
||||
:global(body.is-glossary-entry-page.glossary-entry-follow-on .glossary-entry-head h1){
|
||||
letter-spacing: -.03em;
|
||||
}
|
||||
@@ -158,10 +161,9 @@
|
||||
}
|
||||
|
||||
:global(body.is-glossary-entry-page.glossary-entry-follow-on .glossary-entry-dek){
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 1;
|
||||
overflow: hidden;
|
||||
display: block;
|
||||
-webkit-line-clamp: unset;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
:global(body.is-glossary-entry-page.glossary-entry-follow-on .glossary-entry-signals){
|
||||
@@ -183,11 +185,11 @@
|
||||
}
|
||||
|
||||
:global(body.is-glossary-entry-page.glossary-entry-follow-on #reading-follow){
|
||||
transform: translateY(-1px);
|
||||
transform: none;
|
||||
}
|
||||
|
||||
:global(body.is-glossary-entry-page.glossary-entry-follow-on #reading-follow .reading-follow__inner){
|
||||
margin-top: -1px;
|
||||
margin-top: 0;
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
}
|
||||
@@ -238,7 +240,7 @@
|
||||
}
|
||||
|
||||
:global(body.is-glossary-entry-page.glossary-entry-follow-on .glossary-entry-dek){
|
||||
display: none;
|
||||
display: block;
|
||||
}
|
||||
|
||||
:global(body.is-glossary-entry-page.glossary-entry-follow-on .glossary-entry-signals){
|
||||
|
||||
@@ -110,6 +110,11 @@ const {
|
||||
opacity 180ms ease;
|
||||
}
|
||||
|
||||
:global(body[data-edition-key="glossaire"] .glossary-hero p#glossary-hero-intro){
|
||||
padding-right: 0;
|
||||
scroll-margin-top: 0;
|
||||
}
|
||||
|
||||
.glossary-hero__toggle{
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
@@ -361,4 +366,95 @@ const {
|
||||
filter: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* Neutralisation mobile/tablette : le hero n'est plus sticky, donc aucun état condensé. */
|
||||
@media (max-width: 860px){
|
||||
.glossary-hero{
|
||||
position: static !important;
|
||||
top: auto !important;
|
||||
z-index: auto !important;
|
||||
margin-bottom: 18px !important;
|
||||
padding: 12px 14px 16px !important;
|
||||
border-radius: 22px !important;
|
||||
row-gap: 8px !important;
|
||||
}
|
||||
|
||||
.glossary-hero h1,
|
||||
:global(body.glossary-home-follow-on) .glossary-hero h1{
|
||||
font-size: clamp(2rem, 6.2vw, 2.75rem) !important;
|
||||
line-height: 1.04 !important;
|
||||
letter-spacing: -.035em !important;
|
||||
max-width: 100%;
|
||||
overflow-wrap: normal;
|
||||
word-break: normal;
|
||||
hyphens: none;
|
||||
text-wrap: balance;
|
||||
}
|
||||
|
||||
.glossary-intro,
|
||||
:global(body.glossary-home-follow-on:not(.glossary-home-hero-expanded)) .glossary-intro{
|
||||
max-width: 100% !important;
|
||||
width: 100% !important;
|
||||
max-height: none !important;
|
||||
overflow: visible !important;
|
||||
display: block !important;
|
||||
-webkit-line-clamp: unset !important;
|
||||
-webkit-box-orient: unset !important;
|
||||
font-size: .94rem !important;
|
||||
line-height: 1.4 !important;
|
||||
opacity: .94 !important;
|
||||
padding-right: 0 !important;
|
||||
scroll-margin-top: 0 !important;
|
||||
}
|
||||
|
||||
.glossary-hero__toggle,
|
||||
.glossary-hero-follow{
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* Mobile paysage compact : même logique, mais plus dense. */
|
||||
@media (orientation: landscape) and (max-width: 920px) and (max-height: 520px){
|
||||
.glossary-hero{
|
||||
padding: 8px 10px 9px !important;
|
||||
border-radius: 14px !important;
|
||||
row-gap: 5px !important;
|
||||
margin-bottom: 10px !important;
|
||||
}
|
||||
|
||||
.glossary-kicker{
|
||||
font-size: 9px !important;
|
||||
letter-spacing: .11em !important;
|
||||
}
|
||||
|
||||
.glossary-hero h1,
|
||||
:global(body.glossary-home-follow-on) .glossary-hero h1{
|
||||
font-size: clamp(1.55rem, 4.2vw, 1.9rem) !important;
|
||||
line-height: 1.03 !important;
|
||||
letter-spacing: -.025em !important;
|
||||
}
|
||||
|
||||
.glossary-intro,
|
||||
:global(body.glossary-home-follow-on:not(.glossary-home-hero-expanded)) .glossary-intro{
|
||||
font-size: .72rem !important;
|
||||
line-height: 1.18 !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* Tablette large / iPad landscape : le follow reste lisible, jamais tronqué brutalement. */
|
||||
@media (min-width: 861px) and (max-width: 1240px){
|
||||
.glossary-hero h1{
|
||||
font-size: clamp(2.35rem, 4.2vw, 3.05rem) !important;
|
||||
line-height: 1.03 !important;
|
||||
}
|
||||
|
||||
.glossary-hero-follow{
|
||||
max-width: 100% !important;
|
||||
white-space: normal !important;
|
||||
overflow: visible !important;
|
||||
text-overflow: clip !important;
|
||||
font-size: clamp(1.55rem, 3.1vw, 2.05rem) !important;
|
||||
line-height: 1.08 !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -33,25 +33,37 @@ const {
|
||||
</div>
|
||||
|
||||
{pageItems.length > 0 && (
|
||||
<div class="glossary-portal-aside__block">
|
||||
<h2 class="glossary-portal-aside__heading">Dans cette page</h2>
|
||||
<ul class="glossary-portal-aside__list">
|
||||
{pageItems.map((item) => (
|
||||
<li><a href={item.href}>{item.label}</a></li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
<details class="glossary-portal-aside__block glossary-portal-aside__disclosure">
|
||||
<summary class="glossary-portal-aside__summary">
|
||||
<span class="glossary-portal-aside__heading">Dans cette page</span>
|
||||
<span class="glossary-portal-aside__chevron" aria-hidden="true">▾</span>
|
||||
</summary>
|
||||
|
||||
<div class="glossary-portal-aside__panel">
|
||||
<ul class="glossary-portal-aside__list">
|
||||
{pageItems.map((item) => (
|
||||
<li><a href={item.href}>{item.label}</a></li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
</details>
|
||||
)}
|
||||
|
||||
{usefulLinks.length > 0 && (
|
||||
<div class="glossary-portal-aside__block">
|
||||
<h2 class="glossary-portal-aside__heading">Renvois utiles</h2>
|
||||
<ul class="glossary-portal-aside__list">
|
||||
{usefulLinks.map((item) => (
|
||||
<li><a href={item.href}>{item.label}</a></li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
<details class="glossary-portal-aside__block glossary-portal-aside__disclosure">
|
||||
<summary class="glossary-portal-aside__summary">
|
||||
<span class="glossary-portal-aside__heading">Renvois utiles</span>
|
||||
<span class="glossary-portal-aside__chevron" aria-hidden="true">▾</span>
|
||||
</summary>
|
||||
|
||||
<div class="glossary-portal-aside__panel">
|
||||
<ul class="glossary-portal-aside__list">
|
||||
{usefulLinks.map((item) => (
|
||||
<li><a href={item.href}>{item.label}</a></li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
</details>
|
||||
)}
|
||||
</nav>
|
||||
|
||||
@@ -216,4 +228,59 @@ const {
|
||||
background: rgba(255,255,255,0.04);
|
||||
}
|
||||
}
|
||||
|
||||
.glossary-portal-aside__disclosure{
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.glossary-portal-aside__summary{
|
||||
list-style: none;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 12px;
|
||||
padding: 14px;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.glossary-portal-aside__summary::-webkit-details-marker{
|
||||
display: none;
|
||||
}
|
||||
|
||||
.glossary-portal-aside__summary .glossary-portal-aside__heading{
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.glossary-portal-aside__disclosure:not([open]) .glossary-portal-aside__panel{
|
||||
display: none;
|
||||
}
|
||||
|
||||
.glossary-portal-aside__chevron{
|
||||
flex: 0 0 auto;
|
||||
font-size: 14px;
|
||||
line-height: 1;
|
||||
opacity: .72;
|
||||
transition: transform 160ms ease, opacity 160ms ease;
|
||||
}
|
||||
|
||||
.glossary-portal-aside__disclosure[open] .glossary-portal-aside__chevron{
|
||||
transform: rotate(180deg);
|
||||
opacity: .96;
|
||||
}
|
||||
|
||||
.glossary-portal-aside__panel{
|
||||
padding: 0 14px 14px;
|
||||
}
|
||||
|
||||
@media (max-width: 980px){
|
||||
.glossary-portal-aside__summary{
|
||||
padding: 12px;
|
||||
}
|
||||
|
||||
.glossary-portal-aside__panel{
|
||||
padding: 0 12px 12px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -36,11 +36,18 @@ const relationsHeadingId = "relations-conceptuelles";
|
||||
|
||||
<style>
|
||||
.glossary-relations{
|
||||
margin-top: 22px;
|
||||
margin-top: 14px;
|
||||
padding-top: 14px;
|
||||
border-top: 1px solid rgba(127,127,127,0.18);
|
||||
}
|
||||
|
||||
@media (max-width: 760px){
|
||||
.glossary-relations{
|
||||
margin-top: 12px;
|
||||
padding-top: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
.glossary-relations h2{
|
||||
margin: 0 0 12px;
|
||||
font-size: clamp(1.35rem, 3vw, 1.8rem);
|
||||
|
||||
225
src/components/GlossarySmartNav.astro
Normal file
225
src/components/GlossarySmartNav.astro
Normal file
@@ -0,0 +1,225 @@
|
||||
---
|
||||
import type { GlossarySmartNavigation } from "../lib/glossary";
|
||||
import { hrefOfGlossaryEntry } from "../lib/glossary";
|
||||
|
||||
interface Props {
|
||||
smartNavigation?: GlossarySmartNavigation;
|
||||
}
|
||||
|
||||
const { smartNavigation } = Astro.props;
|
||||
|
||||
const hasPrimary = Boolean(smartNavigation?.primaryNext);
|
||||
const paths = smartNavigation?.paths ?? [];
|
||||
const hasPaths = paths.length > 0;
|
||||
---
|
||||
|
||||
{(hasPrimary || hasPaths) && (
|
||||
<section class="glossary-smart-nav" aria-label="Navigation guidée du glossaire">
|
||||
<div class="glossary-smart-nav__eyebrow">Continuer dans le système</div>
|
||||
|
||||
{smartNavigation?.primaryNext && (
|
||||
<div class="glossary-smart-nav__primary">
|
||||
<span class="glossary-smart-nav__label">Étape suivante</span>
|
||||
<a href={hrefOfGlossaryEntry(smartNavigation.primaryNext)}>
|
||||
{smartNavigation.primaryNext.data.term}
|
||||
</a>
|
||||
|
||||
{smartNavigation.primaryReason && (
|
||||
<p>{smartNavigation.primaryReason}</p>
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
|
||||
{hasPaths && (
|
||||
<div class="glossary-smart-nav__paths" aria-label="Parcours de lecture">
|
||||
{paths.map((path) => {
|
||||
const panelId = `smart-nav-${path.key}`;
|
||||
|
||||
return (
|
||||
<div class="glossary-smart-nav__path">
|
||||
<button
|
||||
class="glossary-smart-nav__path-button"
|
||||
type="button"
|
||||
aria-expanded="false"
|
||||
aria-controls={panelId}
|
||||
>
|
||||
<span>{path.label}</span>
|
||||
<span class="glossary-smart-nav__chevron" aria-hidden="true">▾</span>
|
||||
</button>
|
||||
|
||||
<ul id={panelId} class="glossary-smart-nav__path-panel" hidden>
|
||||
{path.entries.map((entry) => (
|
||||
<li>
|
||||
<a href={hrefOfGlossaryEntry(entry)}>{entry.data.term}</a>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
)}
|
||||
</section>
|
||||
)}
|
||||
|
||||
<style>
|
||||
.glossary-smart-nav{
|
||||
margin: 14px 0 18px;
|
||||
padding: 14px;
|
||||
border: 1px solid rgba(127,127,127,0.20);
|
||||
border-radius: 18px;
|
||||
background: rgba(127,127,127,0.045);
|
||||
}
|
||||
|
||||
.glossary-smart-nav__eyebrow{
|
||||
margin-bottom: 8px;
|
||||
font-size: 12px;
|
||||
font-weight: 850;
|
||||
letter-spacing: .06em;
|
||||
text-transform: uppercase;
|
||||
opacity: .72;
|
||||
}
|
||||
|
||||
.glossary-smart-nav__primary{
|
||||
display: grid;
|
||||
gap: 5px;
|
||||
}
|
||||
|
||||
.glossary-smart-nav__label{
|
||||
font-size: 13px;
|
||||
font-weight: 800;
|
||||
opacity: .76;
|
||||
}
|
||||
|
||||
.glossary-smart-nav__primary a{
|
||||
width: fit-content;
|
||||
font-size: clamp(1.05rem, 2vw, 1.22rem);
|
||||
font-weight: 900;
|
||||
line-height: 1.18;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.glossary-smart-nav__primary p{
|
||||
max-width: 72ch;
|
||||
margin: 0;
|
||||
font-size: 14px;
|
||||
line-height: 1.45;
|
||||
opacity: .88;
|
||||
}
|
||||
|
||||
.glossary-smart-nav__paths{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: flex-start;
|
||||
gap: 8px;
|
||||
margin-top: 12px;
|
||||
}
|
||||
|
||||
.glossary-smart-nav__path{
|
||||
align-self: flex-start;
|
||||
min-width: min(180px, 100%);
|
||||
border: 1px solid rgba(127,127,127,0.18);
|
||||
border-radius: 14px;
|
||||
background: rgba(127,127,127,0.035);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.glossary-smart-nav__path-button{
|
||||
width: 100%;
|
||||
border: 0;
|
||||
background: transparent;
|
||||
color: inherit;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 10px;
|
||||
padding: 9px 11px;
|
||||
cursor: pointer;
|
||||
font: inherit;
|
||||
font-size: 13px;
|
||||
font-weight: 850;
|
||||
line-height: 1.25;
|
||||
text-align: left;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.glossary-smart-nav__chevron{
|
||||
flex: 0 0 auto;
|
||||
font-size: 13px;
|
||||
line-height: 1;
|
||||
opacity: .72;
|
||||
transform: rotate(0deg);
|
||||
transition: transform 160ms ease, opacity 160ms ease;
|
||||
}
|
||||
|
||||
.glossary-smart-nav__path-button[aria-expanded="true"] .glossary-smart-nav__chevron{
|
||||
transform: rotate(180deg);
|
||||
opacity: .96;
|
||||
}
|
||||
|
||||
.glossary-smart-nav__path-panel{
|
||||
margin: 0;
|
||||
padding: 0 11px 10px 24px;
|
||||
}
|
||||
|
||||
.glossary-smart-nav__path-panel[hidden]{
|
||||
display: none;
|
||||
}
|
||||
|
||||
.glossary-smart-nav__path-panel li{
|
||||
margin: 5px 0;
|
||||
font-size: 13px;
|
||||
line-height: 1.32;
|
||||
}
|
||||
|
||||
.glossary-smart-nav__path-panel a{
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
@media (max-width: 760px){
|
||||
.glossary-smart-nav{
|
||||
margin: 12px 0 16px;
|
||||
padding: 12px;
|
||||
border-radius: 16px;
|
||||
}
|
||||
|
||||
.glossary-smart-nav__paths{
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
gap: 7px;
|
||||
}
|
||||
|
||||
.glossary-smart-nav__path{
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark){
|
||||
.glossary-smart-nav{
|
||||
background: rgba(255,255,255,0.04);
|
||||
}
|
||||
|
||||
.glossary-smart-nav__path{
|
||||
background: rgba(255,255,255,0.035);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<script is:inline>
|
||||
(() => {
|
||||
document
|
||||
.querySelectorAll(".glossary-smart-nav__path-button")
|
||||
.forEach((button) => {
|
||||
button.addEventListener("click", () => {
|
||||
const panelId = button.getAttribute("aria-controls");
|
||||
const panel = panelId ? document.getElementById(panelId) : null;
|
||||
if (!panel) return;
|
||||
|
||||
const expanded = button.getAttribute("aria-expanded") === "true";
|
||||
|
||||
button.setAttribute("aria-expanded", expanded ? "false" : "true");
|
||||
panel.hidden = expanded;
|
||||
});
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
@@ -7,18 +7,18 @@ const tocId = `toc-local-${Math.random().toString(36).slice(2, 9)}`;
|
||||
---
|
||||
|
||||
{items.length > 0 && (
|
||||
<nav class="toc-local" aria-label="Dans ce chapitre" data-toc-local>
|
||||
<nav class="toc-local" aria-label="Dans ce chapitre" data-toc-local data-mobile-default="closed">
|
||||
<button
|
||||
class="toc-local__head toc-local__toggle"
|
||||
type="button"
|
||||
aria-expanded="true"
|
||||
aria-expanded="false"
|
||||
aria-controls={tocId}
|
||||
>
|
||||
<span class="toc-local__title">Dans ce chapitre</span>
|
||||
<span class="toc-local__chevron" aria-hidden="true">▾</span>
|
||||
</button>
|
||||
|
||||
<div class="toc-local__body-clip" id={tocId}>
|
||||
<div class="toc-local__body-clip" id={tocId} hidden>
|
||||
<div class="toc-local__body">
|
||||
<ol class="toc-local__list">
|
||||
{items.map((h) => (
|
||||
@@ -69,12 +69,18 @@ const tocId = `toc-local-${Math.random().toString(36).slice(2, 9)}`;
|
||||
|
||||
const setOpen = (open, { persist = true, emit = true } = {}) => {
|
||||
const isMobile = mq.matches;
|
||||
toc.classList.toggle("is-collapsed", isMobile && !open);
|
||||
toggle.setAttribute("aria-expanded", open ? "true" : "false");
|
||||
const effectiveOpen = isMobile ? open : true;
|
||||
|
||||
if (persist && isMobile) writeState(open);
|
||||
toc.classList.toggle("is-collapsed", isMobile && !effectiveOpen);
|
||||
toggle.setAttribute("aria-expanded", effectiveOpen ? "true" : "false");
|
||||
|
||||
if (emit && open && isMobile) {
|
||||
if (bodyClip) {
|
||||
bodyClip.hidden = isMobile && !effectiveOpen;
|
||||
}
|
||||
|
||||
if (persist && isMobile) writeState(effectiveOpen);
|
||||
|
||||
if (emit && effectiveOpen && isMobile) {
|
||||
window.dispatchEvent(new CustomEvent("archicratie:tocLocalOpen"));
|
||||
}
|
||||
};
|
||||
@@ -85,7 +91,7 @@ const tocId = `toc-local-${Math.random().toString(36).slice(2, 9)}`;
|
||||
return;
|
||||
}
|
||||
const stored = readState();
|
||||
setOpen(stored == null ? true : stored, { persist: false, emit: false });
|
||||
setOpen(stored == null ? false : stored, { persist: false, emit: false });
|
||||
};
|
||||
|
||||
toggle.addEventListener("click", () => {
|
||||
@@ -162,7 +168,8 @@ const tocId = `toc-local-${Math.random().toString(36).slice(2, 9)}`;
|
||||
t.a.setAttribute("aria-current", "true");
|
||||
t.li.classList.add("is-current");
|
||||
|
||||
if (mq.matches && autoOpen && toc.classList.contains("is-collapsed")) {
|
||||
// Sur mobile/tablette, le suivi actif ne doit pas rouvrir automatiquement la TOC.
|
||||
if (!mq.matches && autoOpen && toc.classList.contains("is-collapsed")) {
|
||||
setOpen(true);
|
||||
}
|
||||
|
||||
@@ -216,7 +223,7 @@ const tocId = `toc-local-${Math.random().toString(36).slice(2, 9)}`;
|
||||
|
||||
const el = document.getElementById(id);
|
||||
if (el) openDetailsIfNeeded(el);
|
||||
setCurrent(id, { autoOpen: true });
|
||||
setCurrent(id, { autoOpen: false });
|
||||
};
|
||||
|
||||
toc.addEventListener("click", (ev) => {
|
||||
@@ -427,5 +434,9 @@ const tocId = `toc-local-${Math.random().toString(36).slice(2, 9)}`;
|
||||
margin-top: .42em;
|
||||
opacity: .55;
|
||||
}
|
||||
|
||||
.toc-local__body-clip[hidden]{
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,17 +1,24 @@
|
||||
---
|
||||
const path = Astro.url.pathname;
|
||||
|
||||
const isActive = (href: string) => {
|
||||
if (href === "/") return path === "/";
|
||||
return path === href || path.startsWith(href);
|
||||
};
|
||||
---
|
||||
|
||||
<nav class="site-nav" aria-label="Navigation principale">
|
||||
<a href="/" aria-current={isActive("/") ? "page" : undefined}>Accueil</a>
|
||||
<span aria-hidden="true"> · </span>
|
||||
|
||||
<a href="/">Accueil</a>
|
||||
<span aria-hidden="true"> · </span>
|
||||
<a href="/archicrat-ia/" aria-current={isActive("/archicrat-ia/") ? "page" : undefined}>Essai-thèse — ArchiCraT-IA</a>
|
||||
<span aria-hidden="true"> · </span>
|
||||
|
||||
<a href="/archicrat-ia/">Essai-thèse</a>
|
||||
<span aria-hidden="true"> · </span>
|
||||
<a href="/cas-ia/" aria-current={isActive("/cas-ia/") ? "page" : undefined}>Cas pratique — Gouvernance IA</a>
|
||||
<span aria-hidden="true"> · </span>
|
||||
|
||||
<a href="/cas-ia/">Cas IA</a>
|
||||
<span aria-hidden="true"> · </span>
|
||||
|
||||
<a href="/glossaire/">Glossaire</a>
|
||||
<span aria-hidden="true"> · </span>
|
||||
|
||||
<a href="/recherche/">Recherche</a>
|
||||
<a href="/glossaire/" aria-current={isActive("/glossaire/") ? "page" : undefined}>Glossaire</a>
|
||||
<span aria-hidden="true"> · </span>
|
||||
|
||||
<a href="/recherche/" aria-current={isActive("/recherche/") ? "page" : undefined}>Recherche</a>
|
||||
</nav>
|
||||
@@ -47,6 +47,36 @@ const archicratIa = defineCollection({
|
||||
})
|
||||
});
|
||||
|
||||
const glossaryNavigationFlowSchema = z.object({
|
||||
label: z.string().min(1),
|
||||
primaryNext: z.string().min(1).optional(),
|
||||
primaryReason: z.string().min(1).optional(),
|
||||
});
|
||||
|
||||
const glossaryNavigationSchema = z.object({
|
||||
primaryNext: z.string().min(1).optional(),
|
||||
primaryReason: z.string().min(1).optional(),
|
||||
paths: z
|
||||
.object({
|
||||
understand: z.array(z.string().min(1)).default([]),
|
||||
deepen: z.array(z.string().min(1)).default([]),
|
||||
compare: z.array(z.string().min(1)).default([]),
|
||||
apply: z.array(z.string().min(1)).default([]),
|
||||
})
|
||||
.default({
|
||||
understand: [],
|
||||
deepen: [],
|
||||
compare: [],
|
||||
apply: [],
|
||||
}),
|
||||
flows: z
|
||||
.record(z.string(), glossaryNavigationFlowSchema)
|
||||
.default({}),
|
||||
relationWeights: z
|
||||
.record(z.string(), z.number().int().nonnegative())
|
||||
.default({}),
|
||||
});
|
||||
|
||||
// Glossaire (référentiel terminologique)
|
||||
const glossaire = defineCollection({
|
||||
type: "content",
|
||||
@@ -100,7 +130,8 @@ const glossaire = defineCollection({
|
||||
level: z.enum(["fondamental", "intermediaire", "avance"]),
|
||||
related: z.array(z.string().min(1)).default([]),
|
||||
opposedTo: z.array(z.string().min(1)).default([]),
|
||||
seeAlso: z.array(z.string().min(1)).default([])
|
||||
seeAlso: z.array(z.string().min(1)).default([]),
|
||||
navigation: glossaryNavigationSchema.optional()
|
||||
})
|
||||
});
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,77 +1,417 @@
|
||||
---
|
||||
title: "Conclusion — ArchiCraT-IA"
|
||||
edition: "archicrat-ia"
|
||||
status: "essai_these"
|
||||
title: Conclusion — ArchiCraT-IA
|
||||
edition: archicrat-ia
|
||||
status: essai_these
|
||||
level: 1
|
||||
version: "0.1.0"
|
||||
version: 0.1.0
|
||||
concepts: []
|
||||
links: []
|
||||
order: 70
|
||||
summary: ""
|
||||
summary: ''
|
||||
source:
|
||||
kind: docx
|
||||
path: "sources/docx/archicrat-ia/Conclusion-Archicrat-IA-version_officielle.docx"
|
||||
path: sources/docx/archicrat-ia/Conclusion-Archicrat-IA-version_officielle.docx
|
||||
---
|
||||
Nous n’assistons ni à un retour primordial du désordre ni à une raréfaction du pouvoir. Ce qui se transforme, plus discrètement mais de manière décisive, ce sont les conditions mêmes sous lesquelles la régulation peut apparaître. Ce qui se reconfigure sous nos yeux n’est pas d’abord la quantité de pouvoir à l’œuvre dans nos sociétés, mais la manière dont ce pouvoir se rend — ou ne se rend plus — visible, adressable, contestable. La conflictualité ne disparaît pas ; elle change de régime d’existence. Là où elle trouvait autrefois à se formuler dans des lieux identifiables, à se différer dans des temporalités instituées, à se confronter dans des espaces d’énonciation reconnus, elle se trouve de plus en plus distribuée dans des chaînes opératoires qui se présentent comme de simples enchaînements techniques. Flux, scores, interfaces, barèmes, protocoles : autant de formes qui n’abolissent pas les décisions, mais en modifient profondément les conditions d’apparition. Ce qui relevait d’une épreuve devient traitement. Ce qui relevait d’une adresse devient calcul. Ce qui relevait d’une justification devient paramétrage.
|
||||
|
||||
Ce déplacement est d’autant plus difficile à saisir qu’il ne se donne pas comme rupture. Il s’installe dans la continuité apparente des dispositifs, dans l’amélioration de leur efficacité, dans la promesse d’une gestion plus rapide, plus fluide, plus objective des situations. Le conflit y est désamorcé au nom de la performance. Le différé y est perçu comme ralentissement. L’exposition y est remplacée par une visibilité sans interlocution, où tout semble disponible sans que rien ne soit véritablement tenu. Il ne s’agit pas d’un vide. Il ne s’agit pas d’un monde sans normes ni d’un effondrement du pouvoir. Il s’agit d’un recouvrement. Ce que cet essai-thèse a nommé oblitération archicratique désigne cette dynamique précise : la substitution progressive de la scène par l’exécution, du différé par l’automaticité, de l’énonciation par la trace, de l’épreuve par la donnée.
|
||||
Nous n'assistons ni à un retour primordial du désordre ni à une
|
||||
raréfaction du pouvoir. Ce qui se transforme, plus discrètement mais de
|
||||
manière décisive, ce sont les conditions mêmes sous lesquelles la
|
||||
régulation peut apparaître. Ce qui se reconfigure sous nos yeux n'est
|
||||
pas d'abord la quantité de pouvoir à l'œuvre dans nos sociétés, mais la
|
||||
manière dont ce pouvoir se rend — ou ne se rend plus — visible,
|
||||
adressable, contestable. La conflictualité ne disparaît pas ; elle
|
||||
change de régime d'existence. Là où elle trouvait autrefois à se
|
||||
formuler dans des lieux identifiables, à se différer dans des
|
||||
temporalités instituées, à se confronter dans des espaces d'énonciation
|
||||
reconnus, elle se trouve de plus en plus distribuée dans des chaînes
|
||||
opératoires qui se présentent comme de simples enchaînements techniques.
|
||||
Flux, scores, interfaces, barèmes, protocoles : autant de formes qui
|
||||
n'abolissent pas les décisions, mais en modifient profondément les
|
||||
conditions d'apparition. Ce qui relevait d'une épreuve devient
|
||||
traitement. Ce qui relevait d'une adresse devient calcul. Ce qui
|
||||
relevait d'une justification devient paramétrage.
|
||||
|
||||
Le pouvoir ne cesse pas d’opérer ; il cesse de comparaître. Les décisions continuent d’être prises ; elles cessent d’être tenues. Elles ne disparaissent pas ; elles se soustraient aux formes où elles pourraient être rapportées à leurs fondements, confrontées à leurs effets, reprises à partir de ce qu’elles affectent.
|
||||
Ce déplacement est d'autant plus difficile à saisir qu'il ne se donne
|
||||
pas comme rupture. Il s'installe dans la continuité apparente des
|
||||
dispositifs, dans l'amélioration de leur efficacité, dans la promesse
|
||||
d'une gestion plus rapide, plus fluide, plus objective des situations.
|
||||
Le conflit y est désamorcé au nom de la performance. Le différé y est
|
||||
perçu comme ralentissement. L'exposition y est remplacée par une
|
||||
visibilité sans interlocution, où tout semble disponible sans que rien
|
||||
ne soit véritablement tenu. Il ne s'agit pas d'un vide. Il ne s'agit pas
|
||||
d'un monde sans normes ni d'un effondrement du pouvoir. Il s'agit d'un
|
||||
recouvrement. Ce que cet essai-thèse a nommé oblitération archicratique
|
||||
désigne cette dynamique précise : la substitution progressive de la
|
||||
scène par l'exécution, du différé par l'automaticité, de l'énonciation
|
||||
par la trace, de l'épreuve par la donnée.
|
||||
|
||||
Ce qui caractérise ainsi notre situation n’est pas une crise de la conflictualité, mais une crise de sa tenue. Non l’absence de dissensus, mais l’altération des formes capables de le porter. Non la disparition du politique, mais sa désarticulation progressive hors des scènes où il pouvait encore apparaître comme tel. À ce niveau, ce que nous appelons crise ne relève plus d’un dysfonctionnement partiel, ni d’une dérive simplement sectorielle. Elle engage les conditions même dans lesquelles un monde peut encore faire apparaître, soutenir et transformer ce qui le traverse.
|
||||
Le pouvoir ne cesse pas d'opérer ; il cesse de comparaître. Les
|
||||
décisions continuent d'être prises ; elles cessent d'être tenues. Elles
|
||||
ne disparaissent pas ; elles se soustraient aux formes où elles
|
||||
pourraient être rapportées à leurs fondements, confrontées à leurs
|
||||
effets, reprises à partir de ce qu'elles affectent.
|
||||
|
||||
Ce déplacement du regard a commandé tout le parcours accompli. Il a d’abord fallu apprendre à voir. Distinguer ce qui fonde de ce qui opère, ce qui opère de ce qui met à l’épreuve. Rompre avec les confusions qui font passer l’exécution pour la justification, la visibilité pour l’opposabilité, la procédure pour la scène. Sans cette discipline de détectabilité, le présent demeure illisible et la critique se dissout dans des généralités. L’une des ambitions premières de ce travail aura donc été de donner des prises : non pas inventer un vocabulaire pour le plaisir de l’invention, mais rendre discernable ce que les descriptions ordinaires du pouvoir, de la gouvernance et de l’administration laissent trop souvent se confondre.
|
||||
Ce qui caractérise ainsi notre situation n'est pas une crise de la
|
||||
conflictualité, mais une crise de sa tenue. Non l'absence de dissensus,
|
||||
mais l'altération des formes capables de le porter. Non la disparition
|
||||
du politique, mais sa désarticulation progressive hors des scènes où il
|
||||
pouvait encore apparaître comme tel. À ce niveau, ce que nous appelons
|
||||
crise ne relève plus d'un dysfonctionnement partiel, ni d'une dérive
|
||||
simplement sectorielle. Elle engage les conditions même dans lesquelles
|
||||
un monde peut encore faire apparaître, soutenir et transformer ce qui le
|
||||
traverse.
|
||||
|
||||
Encore fallait-il que ce vocabulaire n’usurpe pas sa propre nécessité. L’archicratie ne vaut pas parce qu’elle pourrait tout redire dans sa langue ; elle vaut seulement là où elle permet de discerner quelque chose qui, sans elle, resterait confondu, euphémisé ou inaperçu. Elle ne constitue donc ni une théorie totale du politique, ni une clef universelle des mondes historiques, mais un instrument critique situé, tenu à une obligation de retenue : se taire là où il n’apporte aucun gain de lisibilité, et répondre de ses distinctions là où il prétend en produire. C’est à cette condition seulement qu’un paradigme cesse d’être un idiome de surplomb pour devenir une épreuve réelle de connaissance.
|
||||
Ce déplacement du regard a commandé tout le parcours accompli. Il a
|
||||
d'abord fallu apprendre à voir. Distinguer ce qui fonde de ce qui opère,
|
||||
ce qui opère de ce qui met à l'épreuve. Rompre avec les confusions qui
|
||||
font passer l'exécution pour la justification, la visibilité pour
|
||||
l'opposabilité, la procédure pour la scène. Sans cette discipline de
|
||||
détectabilité, le présent demeure illisible et la critique se dissout
|
||||
dans des généralités. L'une des ambitions premières de ce travail aura
|
||||
donc été de donner des prises : non pas inventer un vocabulaire pour le
|
||||
plaisir de l'invention, mais rendre discernable ce que les descriptions
|
||||
ordinaires du pouvoir, de la gouvernance et de l'administration laissent
|
||||
trop souvent se confondre.
|
||||
|
||||
Il a fallu ensuite remonter plus loin. Reconnaître que les formes d’épreuve ne sont ni des raffinements tardifs des modernités représentatives, ni des suppléments ajoutés à des ordres déjà constitués, mais des conditions plus profondes de la tenue des mondes humains. Avant les États, avant les bureaucraties, avant les codifications juridiques stabilisées, des collectifs ont dû inventer des manières de différer, de ritualiser, d’exposer ce qui les traversait. L’histoire du politique ne commence pas avec la souveraineté constituée ; elle commence avec la nécessité, pour un monde traversé de forces hétérogènes, de ne pas s’abandonner à leur pure immédiateté. Elle commence là où quelque chose comme une reprise devient possible, là où ce qui affecte peut être reconduit à une forme d’exposition, si rudimentaire, violente ou dissymétrique soit-elle. La scène n’est donc pas un luxe moderne. Elle appartient à la structure même des mondes qui tiennent.
|
||||
Encore fallait-il que ce vocabulaire n'usurpe pas sa propre nécessité.
|
||||
L'archicratie ne vaut pas parce qu'elle pourrait tout redire dans sa
|
||||
langue ; elle vaut seulement là où elle permet de discerner quelque
|
||||
chose qui, sans elle, resterait confondu, euphémisé ou inaperçu. Elle ne
|
||||
constitue donc ni une théorie totale du politique, ni une clef
|
||||
universelle des mondes historiques, mais un instrument critique situé,
|
||||
tenu à une obligation de retenue : se taire là où il n'apporte aucun
|
||||
gain de lisibilité, et répondre de ses distinctions là où il prétend en
|
||||
produire. C'est à cette condition seulement qu'un paradigme cesse d'être
|
||||
un idiome de surplomb pour devenir une épreuve réelle de connaissance.
|
||||
|
||||
Il a fallu également traverser les grandes pensées du pouvoir, non pour les annuler, ni pour les annexer de force à un nouveau système, mais pour en mesurer les prises et les limites. Certaines ont privilégié le fondement, d’autres l’opération, d’autres encore la conflictualité, la dispersion des dispositifs, l’individuation, la justification ou le dissensus. Toutes ont saisi quelque chose de réel ; aucune n’a tenu entièrement ensemble les conditions d’une régulation habitable. Ce que cette traversée a rendu possible, ce n’est pas une synthèse des doctrines, mais une méta-grammaire du politique, capable de les relire à partir de ce qu’elles permettent — ou non — de penser : comment un ordre se fonde, comment il opère, comment il accepte d’être mis à l’épreuve.
|
||||
Il a fallu ensuite remonter plus loin. Reconnaître que les formes
|
||||
d'épreuve ne sont ni des raffinements tardifs des modernités
|
||||
représentatives, ni des suppléments ajoutés à des ordres déjà
|
||||
constitués, mais des conditions plus profondes de la tenue des mondes
|
||||
humains. Avant les États, avant les bureaucraties, avant les
|
||||
codifications juridiques stabilisées, des collectifs ont dû inventer des
|
||||
manières de différer, de ritualiser, d'exposer ce qui les traversait.
|
||||
L'histoire du politique ne commence pas avec la souveraineté constituée
|
||||
; elle commence avec la nécessité, pour un monde traversé de forces
|
||||
hétérogènes, de ne pas s'abandonner à leur pure immédiateté. Elle
|
||||
commence là où quelque chose comme une reprise devient possible, là où
|
||||
ce qui affecte peut être reconduit à une forme d'exposition, si
|
||||
rudimentaire, violente ou dissymétrique soit-elle. La scène n'est donc
|
||||
pas un luxe moderne. Elle appartient à la structure même des mondes qui
|
||||
tiennent.
|
||||
|
||||
Il a fallu enfin éprouver cette grammaire dans l’histoire effective des transformations modernes, là où les capacités de régulation ont atteint une intensité inédite. Ce qui apparaît alors n’est pas seulement une succession d’innovations techniques, mais une série de reconfigurations du rapport entre fondement, opération et épreuve. Chaque révolution industrielle a redessiné ce triangle ; chacune a accru certaines puissances tout en décalant, fragmentant ou fragilisant les formes capables de les soutenir. L’histoire moderne n’apparaît plus comme celle d’un progrès simplement technique ; elle devient lisible comme celle des déplacements successifs du lieu où le pouvoir se rend — ou cesse de se rendre — comparable, contestable, révisable.
|
||||
Il a fallu également traverser les grandes pensées du pouvoir, non pour
|
||||
les annuler, ni pour les annexer de force à un nouveau système, mais
|
||||
pour en mesurer les prises et les limites. Certaines ont privilégié le
|
||||
fondement, d'autres l'opération, d'autres encore la conflictualité, la
|
||||
dispersion des dispositifs, l'individuation, la justification ou le
|
||||
dissensus. Toutes ont saisi quelque chose de réel ; aucune n'a tenu
|
||||
entièrement ensemble les conditions d'une régulation habitable. Ce que
|
||||
cette traversée a rendu possible, ce n'est pas une synthèse des
|
||||
doctrines, mais une méta-grammaire du politique, capable de les relire à
|
||||
partir de ce qu'elles permettent — ou non — de penser : comment un
|
||||
ordre se fonde, comment il opère, comment il accepte d'être mis à
|
||||
l'épreuve.
|
||||
|
||||
C’est au point le plus brûlant du présent que cette exigence se révèle avec la plus grande netteté. Les tensions contemporaines ne se laissent pas comprendre comme des crises séparées, ni comme des anomalies sectorielles. Elles manifestent, chacune à leur manière, la difficulté croissante à instituer des formes dans lesquelles ce qui est affecté par les décisions peut être reconduit à une épreuve. Ce qui manque n’est pas la capacité à produire des normes, des infrastructures, des critères, des instruments. Ce qui manque, de plus en plus, c’est l’habileté à les porter. De là la nécessité d’un déplacement conceptuel décisif : substituer au lexique lisse de la durabilité la notion de co-viabilité. Non pas un équilibre supposé entre intérêts déjà constitués, ni la correction technocratique d’externalités, mais l’institution toujours fragile, toujours révisable, toujours conflictuelle, des conditions sous lesquelles des formes de vie hétérogènes peuvent encore tenir ensemble sans destruction irréversible.
|
||||
Il a fallu enfin éprouver cette grammaire dans l'histoire effective des
|
||||
transformations modernes, là où les capacités de régulation ont atteint
|
||||
une intensité inédite. Ce qui apparaît alors n'est pas seulement une
|
||||
succession d'innovations techniques, mais une série de reconfigurations
|
||||
du rapport entre fondement, opération et épreuve. Chaque révolution
|
||||
industrielle a redessiné ce triangle ; chacune a accru certaines
|
||||
puissances tout en décalant, fragmentant ou fragilisant les formes
|
||||
capables de les soutenir. L'histoire moderne n'apparaît plus comme celle
|
||||
d'un progrès simplement technique ; elle devient lisible comme celle des
|
||||
déplacements successifs du lieu où le pouvoir se rend — ou cesse de se
|
||||
rendre — comparable, contestable, révisable.
|
||||
|
||||
Ce qui se dégage ainsi de l’ensemble n’est pas une doctrine supplémentaire, encore moins un système clos. C’est une condition — qui ne garantit ni harmonie ni salut, mais sans laquelle aucune régulation ne peut être tenue comme monde. Cette condition peut désormais être formulée simplement : une régulation ne devient habitable qu’à la mesure où ce qui la fonde, ce qui l’opère et ce qui la met à l’épreuve demeurent distinguables, articulés et exposables. Toute la difficulté tient alors à ceci : maintenir cette distinction sans les dissocier, et cette articulation sans les confondre. Là où ces dimensions se confondent, se disjoignent ou se dérobent à l’exposition, la régulation peut continuer à fonctionner ; elle cesse de se tenir.
|
||||
C'est au point le plus brûlant du présent que cette exigence se révèle
|
||||
avec la plus grande netteté. Les tensions contemporaines ne se laissent
|
||||
pas comprendre comme des crises séparées, ni comme des anomalies
|
||||
sectorielles. Elles manifestent, chacune à leur manière, la difficulté
|
||||
croissante à instituer des formes dans lesquelles ce qui est affecté par
|
||||
les décisions peut être reconduit à une épreuve. Ce qui manque n'est pas
|
||||
la capacité à produire des normes, des infrastructures, des critères,
|
||||
des instruments. Ce qui manque, de plus en plus, c'est l'habileté à les
|
||||
porter. De là la nécessité d'un déplacement conceptuel décisif :
|
||||
substituer au lexique lisse de la durabilité la notion de co-viabilité.
|
||||
Non pas un équilibre supposé entre intérêts déjà constitués, ni la
|
||||
correction technocratique d'externalités, mais l'institution toujours
|
||||
fragile, toujours révisable, toujours conflictuelle, des conditions sous
|
||||
lesquelles des formes de vie hétérogènes peuvent encore tenir ensemble
|
||||
sans destruction irréversible.
|
||||
|
||||
C’est cette condition minimale que nous avons nommée archicratie. Ni régime parmi d’autres, ni forme institutionnelle déterminée, ni idéal moral à incarner : un seuil. Le seuil au-dessous duquel la régulation se réduit à sa propre opérativité, et au-dessus duquel elle devient, au moins en droit, habitable, parce qu’elle laisse ouverte la possibilité de sa reprise. L’archicratie ne désigne ni la justice, ni la bonté, ni la douceur des décisions ; elle désigne la condition sans laquelle ces questions elles-mêmes cessent de pouvoir être posées politiquement.
|
||||
Ce qui se dégage ainsi de l'ensemble n'est pas une doctrine
|
||||
supplémentaire, encore moins un système clos. C'est une condition — qui ne garantit ni harmonie ni salut, mais sans laquelle aucune
|
||||
régulation ne peut être tenue comme monde. Cette condition peut
|
||||
désormais être formulée simplement : une régulation ne devient habitable
|
||||
qu'à la mesure où ce qui la fonde, ce qui l'opère et ce qui la met à
|
||||
l'épreuve demeurent distinguables, articulés et exposables. Toute la
|
||||
difficulté tient alors à ceci : maintenir cette distinction sans les
|
||||
dissocier, et cette articulation sans les confondre. Là où ces
|
||||
dimensions se confondent, se disjoignent ou se dérobent à l'exposition,
|
||||
la régulation peut continuer à fonctionner ; elle cesse de se tenir.
|
||||
|
||||
Ce qui fonde une régulation ne se confond ni avec une autorité abstraite, ni avec un texte, ni avec une tradition invoquée une fois pour toutes ; cela renvoie à la capacité d’un ordre à exposer ses raisons comme telles. Ce qui opère désigne les instruments, procédures et dispositifs par lesquels le monde est effectivement découpé, distribué, transformé. Ce qui met à l’épreuve, enfin, ne relève ni d’une consultation formelle ni d’un recours marginal, mais de formes instituées où fondements, opérations et effets peuvent être suspendus, confrontés, repris.
|
||||
C'est cette condition minimale que nous avons nommée archicratie. Ni
|
||||
régime parmi d'autres, ni forme institutionnelle déterminée, ni idéal
|
||||
moral à incarner : un seuil. Le seuil au-dessous duquel la régulation se
|
||||
réduit à sa propre opérativité, et au-dessus duquel elle devient, au
|
||||
moins en droit, habitable, parce qu'elle laisse ouverte la possibilité
|
||||
de sa reprise. L'archicratie ne désigne ni la justice, ni la bonté, ni
|
||||
la douceur des décisions ; elle désigne la condition sans laquelle ces
|
||||
questions elles-mêmes cessent de pouvoir être posées politiquement.
|
||||
|
||||
Ces prises ne sont jamais données à l’état pur. Elles se recouvrent, se déplacent, se distribuent inégalement selon les configurations. Mais leur coprésence différenciée constitue la condition minimale d’une régulation vivable. Là où l’opération se déploie sans être reconduite à ses raisons, là où les décisions s’appliquent sans passer par des épreuves effectives, la régulation bascule vers une forme de fermeture qui ne relève ni du chaos ni du retrait du pouvoir, mais de son auto-suffisance. Dans une telle configuration, le pouvoir ne se retire pas ; il s’accomplit sans comparution. Il produit des effets, parfois avec une grande précision, mais sans se laisser reprendre dans des formes où ces effets pourraient être rapportés à des raisons discutables. Il opère, mais ne s’expose plus. Il décide, mais ne se laisse plus adresser. Tout fonctionne ; mais plus rien ne s’expose ni ne s’explique.
|
||||
Ce qui fonde une régulation ne se confond ni avec une autorité
|
||||
abstraite, ni avec un texte, ni avec une tradition invoquée une fois
|
||||
pour toutes ; cela renvoie à la capacité d'un ordre à exposer ses
|
||||
raisons comme telles. Ce qui opère désigne les instruments, procédures
|
||||
et dispositifs par lesquels le monde est effectivement découpé,
|
||||
distribué, transformé. Ce qui met à l'épreuve, enfin, ne relève ni d'une
|
||||
consultation formelle ni d'un recours marginal, mais de formes
|
||||
instituées où fondements, opérations et effets peuvent être suspendus,
|
||||
confrontés, repris.
|
||||
|
||||
La différence décisive se situe là. Entre une régulation capable d’exécuter des procédures, de reproduire des normes, de gérer des flux, et une régulation capable de se rapporter à elle-même à partir de ce qu’elle affecte, la différence ne tient pas à l’intensité du pouvoir, mais à la possibilité de sa mise à l’épreuve. Ce qui rend un monde habitable n’est ni l’absence de tensions, ni la stabilité de ses équilibres, ni la pure efficacité de ses dispositifs. C’est la forme dans laquelle ce qui le traverse peut être porté sans être nié, différé sans être dissous, exposé sans être annihilé.
|
||||
Ces prises ne sont jamais données à l'état pur. Elles se recouvrent, se
|
||||
déplacent, se distribuent inégalement selon les configurations. Mais
|
||||
leur coprésence différenciée constitue la condition minimale d'une
|
||||
régulation vivable. Là où l'opération se déploie sans être reconduite à
|
||||
ses raisons, là où les décisions s'appliquent sans passer par des
|
||||
épreuves effectives, la régulation bascule vers une forme de fermeture
|
||||
qui ne relève ni du chaos ni du retrait du pouvoir, mais de son
|
||||
auto-suffisance. Dans une telle configuration, le pouvoir ne se retire
|
||||
pas ; il s'accomplit sans comparution. Il produit des effets, parfois
|
||||
avec une grande précision, mais sans se laisser reprendre dans des
|
||||
formes où ces effets pourraient être rapportés à des raisons
|
||||
discutables. Il opère, mais ne s'expose plus. Il décide, mais ne se
|
||||
laisse plus adresser. Tout fonctionne ; mais plus rien ne s'expose ni ne
|
||||
s'explique.
|
||||
|
||||
À partir de là, la question n’est plus d’abord celle d’un bon régime, mais celle d’un monde qui tient. Non d’un monde pacifié, homogène ou réconcilié, mais d’un monde capable de porter ce qui le traverse sans s’abolir dans sa propre exécution. Un monde qui ne tient ni par inertie, ni par répétition, ni par l’évidence supposée de ses fondements. Il tient parce qu’il est capable de porter ce qui le traverse sans le nier, de différer ce qui l’affecte sans le dissoudre, d’exposer ce qui le gouverne sans s’effondrer sous sa propre mise en question. Habiter un monde ne signifie pas simplement y vivre. Cela signifie pouvoir y comparaître. Pouvoir y demander d’où parle ce qui décide. Pouvoir y identifier ce qui opère. Pouvoir y rouvrir le temps lorsque l’exécution tend à se refermer sur elle-même. Pouvoir y faire apparaître ce qui, sans cela, demeurerait converti en variable, en score, en flux.
|
||||
La différence décisive se situe là. Entre une régulation capable
|
||||
d'exécuter des procédures, de reproduire des normes, de gérer des flux,
|
||||
et une régulation capable de se rapporter à elle-même à partir de ce
|
||||
qu'elle affecte, la différence ne tient pas à l'intensité du pouvoir,
|
||||
mais à la possibilité de sa mise à l'épreuve. Ce qui rend un monde
|
||||
habitable n'est ni l'absence de tensions, ni la stabilité de ses
|
||||
équilibres, ni la pure efficacité de ses dispositifs. C'est la forme
|
||||
dans laquelle ce qui le traverse peut être porté sans être nié, différé
|
||||
sans être dissous, exposé sans être annihilé.
|
||||
|
||||
La scène prend ici son sens le plus fort. Elle n’est ni un supplément institutionnel, ni un décor ajouté au pouvoir pour en améliorer l’acceptabilité, ni une métaphore commode pour désigner des espaces de parole. Elle est l’une des formes à travers lesquelles un ordre cesse d’être purement opératoire pour devenir politiquement tenable. Là où il y a scène au sens fort — c’est-à-dire espace différé, documenté, institué, capable de suspendre et de requalifier — la régulation ne se contente pas d’agir : elle accepte de comparaître. C’est dans cette comparution que se joue la possibilité, pour un monde, de ne pas se réduire à ce qu’il exécute.
|
||||
À partir de là, la question n'est plus d'abord celle d'un bon régime,
|
||||
mais celle d'un monde qui tient. Non d'un monde pacifié, homogène ou
|
||||
réconcilié, mais d'un monde capable de porter ce qui le traverse sans
|
||||
s'abolir dans sa propre exécution. Un monde qui ne tient ni par inertie,
|
||||
ni par répétition, ni par l'évidence supposée de ses fondements. Il
|
||||
tient parce qu'il est capable de porter ce qui le traverse sans le nier,
|
||||
de différer ce qui l'affecte sans le dissoudre, d'exposer ce qui le
|
||||
gouverne sans s'effondrer sous sa propre mise en question. Habiter un
|
||||
monde ne signifie pas simplement y vivre. Cela signifie pouvoir y
|
||||
comparaître. Pouvoir y demander d'où parle ce qui décide. Pouvoir y
|
||||
identifier ce qui opère. Pouvoir y rouvrir le temps lorsque l'exécution
|
||||
tend à se refermer sur elle-même. Pouvoir y faire apparaître ce qui,
|
||||
sans cela, demeurerait converti en variable, en score, en flux.
|
||||
|
||||
Il faut ici maintenir une distinction que tout ce travail a jugée décisive. Dire que la scène est condition de viabilité ne signifie nullement que toute scène serait en elle-même juste, démocratique ou émancipatrice. L’histoire des formes politiques, juridiques, religieuses, administratives, guerrières, marchandes ou sacrificielles montre au contraire que des scènes peuvent être violentes, dissymétriques, inquisitoriales, spectaculaires, capturées. La scène n’est pas bonne parce qu’elle apparaît ; elle devient politiquement décisive lorsqu’elle institue réellement l’épreuve de ce qu’elle expose. Ce qui compte n’est pas l’existence abstraite d’un lieu d’apparition, mais la possibilité effective qu’il ouvre : peut-on y demander les fondements ? Les instruments peuvent-ils y être rendus visibles ? Les effets peuvent-ils y être rapportés à ceux qu’ils affectent ? Le différé est-il réel ou purement fictif ? La suspension a-t-elle une force transformatrice ou n’est-elle qu’un rite sans prise ?
|
||||
La scène prend ici son sens le plus fort. Elle n'est ni un supplément
|
||||
institutionnel, ni un décor ajouté au pouvoir pour en améliorer
|
||||
l'acceptabilité, ni une métaphore commode pour désigner des espaces de
|
||||
parole. Elle est l'une des formes à travers lesquelles un ordre cesse
|
||||
d'être purement opératoire pour devenir politiquement tenable. Là où il
|
||||
y a scène au sens fort — c'est-à-dire espace différé, documenté,
|
||||
institué, capable de suspendre et de requalifier — la régulation ne se
|
||||
contente pas d'agir : elle accepte de comparaître. C'est dans cette
|
||||
comparution que se joue la possibilité, pour un monde, de ne pas se
|
||||
réduire à ce qu'il exécute.
|
||||
|
||||
Il n’en demeure pas moins que, sans scène, la régulation se dégrade qualitativement. Elle peut continuer à fonctionner ; elle peut même gagner en efficacité apparente. Mais elle perd sa mémoire, sa réversibilité, sa capacité à se rapporter à elle-même autrement que par recalibrage interne. Elle applique, classe, répartit, déclenche, module ; mais elle ne se reprend plus. Elle produit des normes sans en exposer les raisons, des décisions sans en instituer l’épreuve, des effets sans en organiser le retour. Elle tient encore ; mais elle ne sait plus répondre de la manière dont elle tient. C’est en ce point qu’un monde sans scène devient injustifiable. Non pas nécessairement injuste dans chacun de ses effets immédiats ; non pas chaotique ; non pas dépourvu de cohérence locale. Il peut très bien fonctionner, produire des résultats, stabiliser provisoirement des situations, maintenir des chaînes d’obéissance ou d’adaptation. Mais il devient injustifiable parce qu’il ne dispose plus des formes dans lesquelles ses propres décisions peuvent être rejouées, exposées, interrogées, reformulées.
|
||||
Il faut ici maintenir une distinction que tout ce travail a jugée
|
||||
décisive. Dire que la scène est condition de viabilité ne signifie
|
||||
nullement que toute scène serait en elle-même juste, démocratique ou
|
||||
émancipatrice. L'histoire des formes politiques, juridiques,
|
||||
religieuses, administratives, guerrières, marchandes ou sacrificielles
|
||||
montre au contraire que des scènes peuvent être violentes,
|
||||
dissymétriques, inquisitoriales, spectaculaires, capturées. La scène
|
||||
n'est pas bonne parce qu'elle apparaît ; elle devient politiquement
|
||||
décisive lorsqu'elle institue réellement l'épreuve de ce qu'elle expose.
|
||||
Ce qui compte n'est pas l'existence abstraite d'un lieu d'apparition,
|
||||
mais la possibilité effective qu'il ouvre : peut-on y demander les
|
||||
fondements ? Les instruments peuvent-ils y être rendus visibles ? Les
|
||||
effets peuvent-ils y être rapportés à ceux qu'ils affectent ? Le différé
|
||||
est-il réel ou purement fictif ? La suspension a-t-elle une force
|
||||
transformatrice ou n'est-elle qu'un rite sans prise ?
|
||||
|
||||
On comprend alors ce que la co-viabilité signifie exactement. Elle ne désigne ni la simple coexistence de formes de vie différentes, ni leur compatibilité gestionnaire, ni un optimum de répartition des ressources ou des charges. Elle désigne la capacité, toujours fragile, toujours située, toujours révisable, d’un monde à instituer des formes dans lesquelles les hétérogènes qui le traversent peuvent être mis en tension sans être soit mutuellement détruits, soit administrativement neutralisés. Elle est moins un état qu’un régime d’épreuves. Elle ne se mesure pas seulement à l’efficacité des ajustements ; elle se mesure à la possibilité qu’un ordre laisse ouvert sa propre reprise à partir de ce qu’il affecte.
|
||||
Il n'en demeure pas moins que, sans scène, la régulation se dégrade
|
||||
qualitativement. Elle peut continuer à fonctionner ; elle peut même
|
||||
gagner en efficacité apparente. Mais elle perd sa mémoire, sa
|
||||
réversibilité, sa capacité à se rapporter à elle-même autrement que par
|
||||
recalibrage interne. Elle applique, classe, répartit, déclenche, module
|
||||
; mais elle ne se reprend plus. Elle produit des normes sans en exposer
|
||||
les raisons, des décisions sans en instituer l'épreuve, des effets sans
|
||||
en organiser le retour. Elle tient encore ; mais elle ne sait plus
|
||||
répondre de la manière dont elle tient. C'est en ce point qu'un monde
|
||||
sans scène devient injustifiable. Non pas nécessairement injuste dans
|
||||
chacun de ses effets immédiats ; non pas chaotique ; non pas dépourvu de
|
||||
cohérence locale. Il peut très bien fonctionner, produire des résultats,
|
||||
stabiliser provisoirement des situations, maintenir des chaînes
|
||||
d'obéissance ou d'adaptation. Mais il devient injustifiable parce qu'il
|
||||
ne dispose plus des formes dans lesquelles ses propres décisions peuvent
|
||||
être rejouées, exposées, interrogées, reformulées.
|
||||
|
||||
C’est à ce niveau que le diagnostic du présent trouve sa formulation la plus nette. Non dans l’idée d’un monde privé de régulation, mais dans celle d’un monde où la régulation tend à se déployer hors des formes qui permettaient de la tenir. Qu’il s’agisse des droits sociaux, de l’habitabilité écologique des milieux ou des architectures numériques de décision, la même logique se renforce : les dispositifs deviennent plus puissants au moment même où les formes capables d’en soutenir l’épreuve deviennent plus fragiles, plus tardives, plus périphériques. Ce ne sont pas les décisions qui disparaissent ; ce sont les manières dont elles pourraient être tenues.
|
||||
On comprend alors ce que la co-viabilité signifie exactement. Elle ne
|
||||
désigne ni la simple coexistence de formes de vie différentes, ni leur
|
||||
compatibilité gestionnaire, ni un optimum de répartition des ressources
|
||||
ou des charges. Elle désigne la capacité, toujours fragile, toujours
|
||||
située, toujours révisable, d'un monde à instituer des formes dans
|
||||
lesquelles les hétérogènes qui le traversent peuvent être mis en tension
|
||||
sans être soit mutuellement détruits, soit administrativement
|
||||
neutralisés. Elle est moins un état qu'un régime d'épreuves. Elle ne se
|
||||
mesure pas seulement à l'efficacité des ajustements ; elle se mesure à
|
||||
la possibilité qu'un ordre laisse ouvert sa propre reprise à partir de
|
||||
ce qu'il affecte.
|
||||
|
||||
Les droits, dans de nombreuses configurations sociales, se trouvent intermédiés par des procédures dont la logique demeure difficilement accessible à ceux qu’elles affectent ; les décisions qui concernent l’habitabilité écologique des milieux se trouvent portées par des instruments puissants, mais rarement rapportées à des espaces où leurs fondements pourraient être disputés ; les architectures numériques et algorithmiques rendent possible une distribution fine des traitements, des classements, des accès, sans rendre aisément localisable le lieu de leur mise à l’épreuve. Ces dimensions ne doivent pas être comprises comme des sphères séparées. Elles constituent les expressions différenciées d’un même processus : celui par lequel la régulation tend à se déployer hors des formes d’épreuve qui permettaient de la tenir comme monde.
|
||||
C'est à ce niveau que le diagnostic du présent trouve sa formulation la
|
||||
plus nette. Non dans l'idée d'un monde privé de régulation, mais dans
|
||||
celle d'un monde où la régulation tend à se déployer hors des formes qui
|
||||
permettaient de la tenir. Qu'il s'agisse des droits sociaux, de
|
||||
l'habitabilité écologique des milieux ou des architectures numériques de
|
||||
décision, la même logique se renforce : les dispositifs deviennent plus
|
||||
puissants au moment même où les formes capables d'en soutenir l'épreuve
|
||||
deviennent plus fragiles, plus tardives, plus périphériques. Ce ne sont
|
||||
pas les décisions qui disparaissent ; ce sont les manières dont elles
|
||||
pourraient être tenues.
|
||||
|
||||
C’est en ce sens que l’autarchicratie peut être nommée comme la contre-figure terminale de l’archicratie. Non un régime au sens classique, ni une idéologie, ni un type d’État, mais une configuration dans laquelle la régulation tend à se refermer sur sa propre opérativité, à produire ses propres critères de validité, à s’auto-justifier sans passer par des épreuves effectives. Dans une telle configuration, les instruments, les modèles, les indicateurs, les procédures deviennent à la fois ce qui opère et ce qui justifie. Les boucles se ferment. Les ajustements se font à partir de leurs propres résultats. Les audits vérifient la conformité à des critères produits par les systèmes eux-mêmes. La régulation devient auto-référentielle.
|
||||
Les droits, dans de nombreuses configurations sociales, se trouvent
|
||||
intermédiés par des procédures dont la logique demeure difficilement
|
||||
accessible à ceux qu'elles affectent ; les décisions qui concernent
|
||||
l'habitabilité écologique des milieux se trouvent portées par des
|
||||
instruments puissants, mais rarement rapportées à des espaces où leurs
|
||||
fondements pourraient être disputés ; les architectures numériques et
|
||||
algorithmiques rendent possible une distribution fine des traitements,
|
||||
des classements, des accès, sans rendre aisément localisable le lieu de
|
||||
leur mise à l'épreuve. Ces dimensions ne doivent pas être comprises
|
||||
comme des sphères séparées. Elles constituent les expressions
|
||||
différenciées d'un même processus : celui par lequel la régulation tend
|
||||
à se déployer hors des formes d'épreuve qui permettaient de la tenir
|
||||
comme monde.
|
||||
|
||||
Cette bascule ne doit pas être dramatisée comme si elle était totale, homogène, déjà accomplie. Des scènes subsistent, parfois robustes, parfois fragiles. Des espaces de contestation, de délibération, de reprise continuent d’exister. Mais ils apparaissent souvent comme disjoints des lieux où les décisions se prennent effectivement. La tension se joue moins entre présence et absence de scène qu’entre leur centralité et leur marginalisation. Le problème décisif n’est pas de savoir si toute scène a disparu ; il est de comprendre que la dynamique dominante tend à rendre optionnelle l’épreuve dont dépend pourtant la viabilité de la régulation.
|
||||
C'est en ce sens que l'autarchicratie peut être nommée comme la
|
||||
contre-figure terminale de l'archicratie. Non un régime au sens
|
||||
classique, ni une idéologie, ni un type d'État, mais une configuration
|
||||
dans laquelle la régulation tend à se refermer sur sa propre
|
||||
opérativité, à produire ses propres critères de validité, à
|
||||
s'auto-justifier sans passer par des épreuves effectives. Dans une telle
|
||||
configuration, les instruments, les modèles, les indicateurs, les
|
||||
procédures deviennent à la fois ce qui opère et ce qui justifie. Les
|
||||
boucles se ferment. Les ajustements se font à partir de leurs propres
|
||||
résultats. Les audits vérifient la conformité à des critères produits
|
||||
par les systèmes eux-mêmes. La régulation devient auto-référentielle.
|
||||
|
||||
C’est ici que la distinction entre durabilité et co-viabilité prend toute sa force. La durabilité, telle qu’elle s’est imposée dans les discours contemporains, ne doit pas être critiquée d’abord pour ses intentions, mais pour sa forme. Elle tend à fonctionner comme un opérateur de neutralisation de la conflictualité : en posant comme objectif la préservation ou l’ajustement de certains équilibres, elle déplace l’attention vers la gestion des variables, l’optimisation des paramètres, la correction des trajectoires. Ce déplacement n’est pas illégitime en soi ; il le devient lorsqu’il s’accompagne d’une évacuation des formes dans lesquelles les choix qui structurent ces trajectoires pourraient être discutés. La durabilité peut alors s’accommoder d’une régulation sans scène. La co-viabilité, elle, en fait une impossibilité.
|
||||
Cette bascule ne doit pas être dramatisée comme si elle était totale,
|
||||
homogène, déjà accomplie. Des scènes subsistent, parfois robustes,
|
||||
parfois fragiles. Des espaces de contestation, de délibération, de
|
||||
reprise continuent d'exister. Mais ils apparaissent souvent comme
|
||||
disjoints des lieux où les décisions se prennent effectivement. La
|
||||
tension se joue moins entre présence et absence de scène qu'entre leur
|
||||
centralité et leur marginalisation. Le problème décisif n'est pas de
|
||||
savoir si toute scène a disparu ; il est de comprendre que la dynamique
|
||||
dominante tend à rendre optionnelle l'épreuve dont dépend pourtant la
|
||||
viabilité de la régulation.
|
||||
|
||||
La différence est décisive. La première tend à organiser la continuité des systèmes ; la seconde à instituer les conditions de leur reprise. La première privilégie l’ajustement des variables ; la seconde la mise à l’épreuve des fondements. La première peut se satisfaire d’une gouvernance qui corrige des déséquilibres ; la seconde exige des formes dans lesquelles les conditions mêmes de ces corrections peuvent être adressées, contestées, transformées. Ainsi comprise, la co-viabilité ne constitue pas un idéal abstrait. Elle désigne le régime minimal dans lequel un monde peut continuer à se transformer sans se soustraire à sa propre interrogation. Elle n’abolit pas les tensions ; elle en organise la tenue. Elle n’élimine pas les conflits ; elle en rend l’épreuve possible. Elle ne garantit pas la justice ; elle rend au moins pensable sa recherche.
|
||||
C'est ici que la distinction entre durabilité et co-viabilité prend
|
||||
toute sa force. La durabilité, telle qu'elle s'est imposée dans les
|
||||
discours contemporains, ne doit pas être critiquée d'abord pour ses
|
||||
intentions, mais pour sa forme. Elle tend à fonctionner comme un
|
||||
opérateur de neutralisation de la conflictualité : en posant comme
|
||||
objectif la préservation ou l'ajustement de certains équilibres, elle
|
||||
déplace l'attention vers la gestion des variables, l'optimisation des
|
||||
paramètres, la correction des trajectoires. Ce déplacement n'est pas
|
||||
illégitime en soi ; il le devient lorsqu'il s'accompagne d'une
|
||||
évacuation des formes dans lesquelles les choix qui structurent ces
|
||||
trajectoires pourraient être discutés. La durabilité peut alors
|
||||
s'accommoder d'une régulation sans scène. La co-viabilité, elle, en fait
|
||||
une impossibilité.
|
||||
|
||||
Il reste alors à comprendre ce qui, en dernière instance, est affecté par cette transformation. Non pas seulement des institutions, des règles, des procédures, mais des formes d’existence. Des vies. Des milieux. Des devenirs. Si l’archicratie prend finalement une telle importance, ce n’est pas parce qu’elle offrirait une théorie plus satisfaisante du pouvoir ; c’est parce qu’elle reconduit l’analyse à ce qui, sans scène, devient politiquement illisible. Là où la régulation se déploie sous forme de flux, de calculs, de traitements, le vivant tend à être reconduit à des variables. Les milieux deviennent des stocks ou des contraintes. Les corps deviennent des profils, des trajectoires, des cas. Les expériences deviennent des données d’ajustement. Ce processus n’est pas nécessairement intentionnel. Il résulte de la logique même des dispositifs qui, pour fonctionner, doivent simplifier, catégoriser, standardiser. Mais cette simplification a un effet décisif : elle désinscrit le vivant de la scène. Elle le rend opérable sans qu’il ait à apparaître.
|
||||
La différence est décisive. La première tend à organiser la continuité
|
||||
des systèmes ; la seconde à instituer les conditions de leur reprise. La
|
||||
première privilégie l'ajustement des variables ; la seconde la mise à
|
||||
l'épreuve des fondements. La première peut se satisfaire d'une
|
||||
gouvernance qui corrige des déséquilibres ; la seconde exige des formes
|
||||
dans lesquelles les conditions mêmes de ces corrections peuvent être
|
||||
adressées, contestées, transformées. Ainsi comprise, la co-viabilité ne
|
||||
constitue pas un idéal abstrait. Elle désigne le régime minimal dans
|
||||
lequel un monde peut continuer à se transformer sans se soustraire à sa
|
||||
propre interrogation. Elle n'abolit pas les tensions ; elle en organise
|
||||
la tenue. Elle n'élimine pas les conflits ; elle en rend l'épreuve
|
||||
possible. Elle ne garantit pas la justice ; elle rend au moins pensable
|
||||
sa recherche.
|
||||
|
||||
Le vivant ne disparaît pas ; il devient politiquement illisible. Il est là, partout affecté, mobilisé, transformé — mais de moins en moins capable de faire retour sur ce qui l’affecte. Un monde sans archicration est un monde dans lequel le vivant est présent sans être représentable, affecté sans être adressable, engagé sans être entendu. Il est pris dans des opérations, mais il ne peut plus apparaître comme ce à partir de quoi celles-ci devraient être interrogées.
|
||||
Il reste alors à comprendre ce qui, en dernière instance, est affecté
|
||||
par cette transformation. Non pas seulement des institutions, des
|
||||
règles, des procédures, mais des formes d'existence. Des vies. Des
|
||||
milieux. Des devenirs. Si l'archicratie prend finalement une telle
|
||||
importance, ce n'est pas parce qu'elle offrirait une théorie plus
|
||||
satisfaisante du pouvoir ; c'est parce qu'elle reconduit l'analyse à ce
|
||||
qui, sans scène, devient politiquement illisible. Là où la régulation se
|
||||
déploie sous forme de flux, de calculs, de traitements, le vivant tend à
|
||||
être reconduit à des variables. Les milieux deviennent des stocks ou des
|
||||
contraintes. Les corps deviennent des profils, des trajectoires, des
|
||||
cas. Les expériences deviennent des données d'ajustement. Ce processus
|
||||
n'est pas nécessairement intentionnel. Il résulte de la logique même des
|
||||
dispositifs qui, pour fonctionner, doivent simplifier, catégoriser,
|
||||
standardiser. Mais cette simplification a un effet décisif : elle
|
||||
désinscrit le vivant de la scène. Elle le rend opérable sans qu'il ait à
|
||||
apparaître.
|
||||
|
||||
C’est en ce sens que l’oblitération archicratique produit une crise de reconnaissance. Non pas au sens restreint d’une reconnaissance morale ou symbolique, mais au sens plus fondamental d’une reconnaissance comme condition d’apparition dans un espace où l’on peut être pris en compte. Reconnaître ne signifie pas simplement identifier ou décrire. Cela signifie instituer des formes dans lesquelles ce qui est affecté peut être reconduit à une scène, où il peut être exposé, où il peut entrer en relation avec ce qui décide. Sans cette reconnaissance, le vivant peut être protégé, géré, optimisé ; il ne peut pas être politiquement tenu.
|
||||
Le vivant ne disparaît pas ; il devient politiquement illisible. Il est
|
||||
là, partout affecté, mobilisé, transformé — mais de moins en moins
|
||||
capable de faire retour sur ce qui l'affecte. Un monde sans archicration
|
||||
est un monde dans lequel le vivant est présent sans être représentable,
|
||||
affecté sans être adressable, engagé sans être entendu. Il est pris dans
|
||||
des opérations, mais il ne peut plus apparaître comme ce à partir de
|
||||
quoi celles-ci devraient être interrogées.
|
||||
|
||||
Il faut alors comprendre que la question de la scène n’est pas extérieure à celle de la liberté. Elle en constitue l’une des conditions minimales. Non la liberté comme autonomie absolue, mais comme possibilité d’intervenir sur les conditions qui nous affectent. Une société qui ne dispose plus de formes dans lesquelles ses propres régulations puissent être interrogées tend à se percevoir comme soumise à des nécessités. Elle perd la capacité de distinguer ce qui relève de contraintes inévitables et ce qui relève de choix. À l’inverse, une société qui institue des épreuves se dote de la possibilité de se rapporter à elle-même comme à un ensemble de décisions révisables. Elle ne supprime pas les contraintes, mais elle les inscrit dans des formes où elles peuvent être discutées.
|
||||
C'est en ce sens que l'oblitération archicratique produit une crise de
|
||||
reconnaissance. Non pas au sens restreint d'une reconnaissance morale ou
|
||||
symbolique, mais au sens plus fondamental d'une reconnaissance comme
|
||||
condition d'apparition dans un espace où l'on peut être pris en compte.
|
||||
Reconnaître ne signifie pas simplement identifier ou décrire. Cela
|
||||
signifie instituer des formes dans lesquelles ce qui est affecté peut
|
||||
être reconduit à une scène, où il peut être exposé, où il peut entrer en
|
||||
relation avec ce qui décide. Sans cette reconnaissance, le vivant peut
|
||||
être protégé, géré, optimisé ; il ne peut pas être politiquement tenu.
|
||||
|
||||
À ce point, aucune réponse définitive ne peut être apportée. Aucun modèle achevé ne peut être proposé. Mais une exigence demeure, désormais visible et irréductible. Un monde ne devient inhabitable ni parce qu’il est traversé de tensions, ni parce qu’il doit décider dans l’incertitude, ni parce qu’il affronte des contraintes puissantes. Il le devient lorsqu’il ne dispose plus des formes capables de porter ce qui le traverse autrement que par la pure exécution. Ce qui est en jeu n’est ni la suppression du conflit, ni l’optimisation des dispositifs, ni la stabilisation d’un équilibre. Ce qui est en jeu, c’est la possibilité de maintenir ouvertes les formes dans lesquelles un monde peut se rapporter à lui-même à partir de ce qu’il affecte. La possibilité, toujours fragile, toujours menacée, de ne pas confondre ce qui fonctionne avec ce qui se tient.
|
||||
Il faut alors comprendre que la question de la scène n'est pas
|
||||
extérieure à celle de la liberté. Elle en constitue l'une des conditions
|
||||
minimales. Non la liberté comme autonomie absolue, mais comme
|
||||
possibilité d'intervenir sur les conditions qui nous affectent. Une
|
||||
société qui ne dispose plus de formes dans lesquelles ses propres
|
||||
régulations puissent être interrogées tend à se percevoir comme soumise
|
||||
à des nécessités. Elle perd la capacité de distinguer ce qui relève de
|
||||
contraintes inévitables et ce qui relève de choix. À l'inverse, une
|
||||
société qui institue des épreuves se dote de la possibilité de se
|
||||
rapporter à elle-même comme à un ensemble de décisions révisables. Elle
|
||||
ne supprime pas les contraintes, mais elle les inscrit dans des formes
|
||||
où elles peuvent être discutées.
|
||||
|
||||
Rendre à la régulation les formes dans lesquelles elle peut encore être tenue comme monde : telle est l’exigence à laquelle reconduit l’ensemble de ce parcours. Non comme un programme, ni comme une promesse, mais comme ce sans quoi aucune transformation ne peut être habitée. Car ce n’est jamais l’ordre seul qui fait tenir un monde. C’est la possibilité, pour cet ordre, d’être interrompu, exposé, repris. Là où cette possibilité se ferme, le monde peut continuer à marcher ; il cesse peu à peu d’être habitable. Là où elle demeure ouverte, fût-ce dans le conflit, sous contrainte, précairement, quelque chose du politique subsiste encore : non la paix, ni l’innocence, ni l’harmonie, mais la capacité d’un monde à ne pas se confondre avec sa propre exécution.
|
||||
À ce point, aucune réponse définitive ne peut être apportée. Aucun
|
||||
modèle achevé ne peut être proposé. Mais une exigence demeure, désormais
|
||||
visible et irréductible. Un monde ne devient inhabitable ni parce qu'il
|
||||
est traversé de tensions, ni parce qu'il doit décider dans
|
||||
l'incertitude, ni parce qu'il affronte des contraintes puissantes. Il le
|
||||
devient lorsqu'il ne dispose plus des formes capables de porter ce qui
|
||||
le traverse autrement que par la pure exécution. Ce qui est en jeu n'est
|
||||
ni la suppression du conflit, ni l'optimisation des dispositifs, ni la
|
||||
stabilisation d'un équilibre. Ce qui est en jeu, c'est la possibilité de
|
||||
maintenir ouvertes les formes dans lesquelles un monde peut se rapporter
|
||||
à lui-même à partir de ce qu'il affecte. La possibilité, toujours
|
||||
fragile, toujours menacée, de ne pas confondre ce qui fonctionne avec ce
|
||||
qui se tient.
|
||||
|
||||
Rendre à la régulation les formes dans lesquelles elle peut encore être
|
||||
tenue comme monde : telle est l'exigence à laquelle reconduit l'ensemble
|
||||
de ce parcours. Non comme un programme, ni comme une promesse, mais
|
||||
comme ce sans quoi aucune transformation ne peut être habitée. Car ce
|
||||
n'est jamais l'ordre seul qui fait tenir un monde. C'est la possibilité,
|
||||
pour cet ordre, d'être interrompu, exposé, repris. Là où cette
|
||||
possibilité se ferme, le monde peut continuer à marcher ; il cesse peu à
|
||||
peu d'être habitable. Là où elle demeure ouverte, fût-ce dans le
|
||||
conflit, sous contrainte, précairement, quelque chose du politique
|
||||
subsiste encore : non la paix, ni l'innocence, ni l'harmonie, mais la
|
||||
capacité d'un monde à ne pas se confondre avec sa propre exécution.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -18,6 +18,14 @@ level: "avance"
|
||||
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"]
|
||||
navigation:
|
||||
primaryNext: "cratialite"
|
||||
primaryReason: "La cratialité permet de traduire l’intuition des agencements en termes de chaînes opératoires, de prises effectives et de transformations régulatrices."
|
||||
paths:
|
||||
understand: ["cratialite", "archicration", "co-viabilite"]
|
||||
deepen: ["theorie-de-lacteur-reseau", "transduction-et-individuation", "configuration-et-interdependance"]
|
||||
compare: ["decisionnisme-souverain", "domination-legale-rationnelle", "cybernetique"]
|
||||
apply: ["audit-archicratique", "gouvernementalite-algorithmique"]
|
||||
---
|
||||
|
||||
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.
|
||||
|
||||
@@ -15,6 +15,14 @@ level: "fondamental"
|
||||
related: ["archicratie", "cratialite", "archicration", "co-viabilite", "tension", "domination-legale-rationnelle", "fait-social-total"]
|
||||
opposedTo: ["autarchicratie"]
|
||||
seeAlso: ["obliteration-archicratique", "hyperarcalite", "archicrations-scripturo-normatives"]
|
||||
navigation:
|
||||
primaryNext: "cratialite"
|
||||
primaryReason: "Après le vecteur fondationnel, la cratialité permet de comprendre comment une régulation devient effective, opératoire et transformatrice."
|
||||
paths:
|
||||
understand: ["cratialite", "archicration", "co-viabilite"]
|
||||
deepen: ["hyperarcalite", "archicrations-scripturo-normatives", "domination-legale-rationnelle"]
|
||||
compare: ["autarchicratie", "fait-social-total", "cratialite"]
|
||||
apply: ["audit-archicratique", "cartographie-des-scenes-manquantes"]
|
||||
---
|
||||
|
||||
L’arcalité désigne le vecteur fondationnel et structurant de toute régulation.
|
||||
|
||||
@@ -15,6 +15,14 @@ level: "fondamental"
|
||||
related: ["arcalite", "cratialite", "archicration", "co-viabilite", "tension"]
|
||||
opposedTo: ["autarchicratie"]
|
||||
seeAlso: ["scene-depreuve", "obliteration-archicratique", "coexistence-ontologique-et-necessite-regulatrice", "formes-de-vie-et-cadres-dhabitabilite", "egalisation-normative-et-differenciation-singuliere"]
|
||||
navigation:
|
||||
primaryNext: "arcalite"
|
||||
primaryReason: "Commencer par l’arcalité permet d’entrer dans le premier vecteur constitutif de toute architecture régulatrice."
|
||||
paths:
|
||||
understand: ["arcalite", "cratialite", "archicration", "co-viabilite", "tension"]
|
||||
deepen: ["scene-depreuve", "regime-de-co-viabilite", "meta-regime-archicratique"]
|
||||
compare: ["decisionnisme-souverain", "domination-legale-rationnelle", "gouvernance-des-communs"]
|
||||
apply: ["audit-archicratique", "cartographie-des-scenes-manquantes", "journal-de-justification"]
|
||||
---
|
||||
|
||||
L’archicratie désigne le méta-régime de régulation par lequel les sociétés humaines organisent la co-viabilité de leurs dynamiques internes.
|
||||
|
||||
@@ -15,6 +15,9 @@ level: "avance"
|
||||
related: ["archicration", "obliteration-archicratique", "autarchicration", "autarchicratie", "scene-empechee", "scene-manquante", "hypotopie", "atopie", "desarchicration", "institution-invisible"]
|
||||
opposedTo: ["scene-darchicration", "monde-instituable"]
|
||||
seeAlso: ["hypercratialite", "hyperarcalite", "desarchicratisation"]
|
||||
navigation:
|
||||
primaryNext: "hypercratialite"
|
||||
primaryReason: "L’oblitération de la scène ouvre à une domination pure où la cratialité se déchaîne sans régulation."
|
||||
---
|
||||
|
||||
L’archicration oblitérée désigne la situation dans laquelle l’archicration continue d’exister et de produire des effets, mais sous une forme devenue partiellement invisible, introuvable ou difficilement disputable.
|
||||
|
||||
@@ -15,6 +15,9 @@ level: "intermediaire"
|
||||
related: ["archicratistique", "archicratie", "institution-invisible", "figures-archicratiques", "tension", "scene-darchicration", "scene-manquante", "scene-empechee", "cartographie-des-scenes-manquantes", "audit-archicratique"]
|
||||
opposedTo: []
|
||||
seeAlso: ["autarchicratie", "obliteration-archicratique", "desarchicratisation", "hypotopie"]
|
||||
navigation:
|
||||
primaryNext: "cartographie-des-scenes-manquantes"
|
||||
primaryReason: "Le diagnostic ouvre sur une cartographie des scènes manquantes à reconstruire."
|
||||
---
|
||||
|
||||
L’archidiagnostic désigne un diagnostic portant non sur les seuls symptômes visibles d’une crise, mais sur les architectures de régulation, les scènes et les figures qui la produisent, l’encadrent, la déplacent ou l’aggravent.
|
||||
|
||||
@@ -16,6 +16,19 @@ level: "avance"
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "scene-depreuve", "journal-de-justification", "cartographie-des-scenes-manquantes", "tribunal-de-lalgorithme", "archidiagnostic", "institution-invisible"]
|
||||
opposedTo: ["autarchicratie"]
|
||||
seeAlso: ["gouvernementalite-algorithmique", "preemption-algorithmique", "budget-scenique", "visa-daffectation"]
|
||||
navigation:
|
||||
primaryNext: "cartographie-des-scenes-manquantes"
|
||||
primaryReason: "L’audit identifie l’architecture régulatrice ; la cartographie des scènes manquantes permet ensuite de localiser les lieux où la régulation ne comparaît pas."
|
||||
flows:
|
||||
repair:
|
||||
label: "Parcours réparation"
|
||||
primaryNext: "journal-de-justification"
|
||||
primaryReason: "L’audit se prolonge par un journal rendant explicites les décisions et leurs justifications."
|
||||
paths:
|
||||
understand: ["archidiagnostic", "scene-depreuve", "archicration"]
|
||||
deepen: ["journal-de-justification", "tribunal-de-lalgorithme", "visa-daffectation"]
|
||||
compare: ["gouvernementalite-algorithmique", "preemption-algorithmique", "institution-invisible"]
|
||||
apply: ["cartographie-des-scenes-manquantes", "droit-au-differe-contradictoire", "coupe-circuit-citoyen"]
|
||||
---
|
||||
|
||||
L’audit archicratique désigne une méthode d’évaluation d’un système d’IA qui ne se limite ni à la seule mesure de performance, ni à la seule vérification de conformité réglementaire.
|
||||
|
||||
@@ -15,6 +15,9 @@ level: "fondamental"
|
||||
related: ["archicratie", "archicration", "obliteration-archicratique", "scene-depreuve", "co-viabilite", "autarchicration", "archicration-obliteree", "desarchicratisation", "institution-invisible"]
|
||||
opposedTo: ["archicratie"]
|
||||
seeAlso: ["tension", "hyperarcalite", "hypercratialite", "figures-archicratiques"]
|
||||
navigation:
|
||||
primaryNext: "autarchicration"
|
||||
primaryReason: "L’autarchicratie se prolonge dans des formes d’archicration capturées où la scène est biaisée."
|
||||
---
|
||||
|
||||
L’autarchicratie désigne une dérive d’un méta-régime archicratique dans laquelle les architectures régulatrices continuent d’opérer tout en devenant de plus en plus autonomes, opaques et soustraites à la scène d’épreuve.
|
||||
|
||||
@@ -15,6 +15,9 @@ level: "avance"
|
||||
related: ["archicration", "autarchicratie", "archicration-obliteree", "scene-depreuve", "scene-darchicration", "obliteration-archicratique", "desarchicration", "hyperarcalite", "hypercratialite"]
|
||||
opposedTo: ["monde-instituable", "scene-depreuve"]
|
||||
seeAlso: ["institution-invisible"]
|
||||
navigation:
|
||||
primaryNext: "archicration-obliteree"
|
||||
primaryReason: "Une archicration capturée tend à devenir illisible et à perdre ses conditions de reconnaissance."
|
||||
---
|
||||
|
||||
L’autarchicration désigne un mode dégradé d’archicration dans lequel l’épreuve régulatrice continue de fonctionner, mais principalement pour reproduire et protéger le dispositif plutôt que pour le rendre effectivement révisable.
|
||||
|
||||
@@ -16,6 +16,9 @@ level: "avance"
|
||||
related: ["scene-depreuve", "archicration", "tribunal-de-lalgorithme", "cartographie-des-scenes-manquantes", "co-viabilite", "visa-daffectation", "audit-archicratique"]
|
||||
opposedTo: ["archicration-obliteree"]
|
||||
seeAlso: ["democratie-deliberative", "gouvernance-des-communs", "coupe-circuit-citoyen"]
|
||||
navigation:
|
||||
primaryNext: "visa-daffectation"
|
||||
primaryReason: "L’allocation des ressources se concrétise dans des décisions d’affectation."
|
||||
---
|
||||
|
||||
Le budget scénique désigne le principe selon lequel une gouvernance archicratique doit réserver explicitement des ressources pour faire exister des scènes d’archicration.
|
||||
|
||||
@@ -16,6 +16,9 @@ level: "avance"
|
||||
related: ["scene-depreuve", "scene-manquante", "scene-empechee", "hypertopie", "hypotopie", "atopie", "budget-scenique", "audit-archicratique", "tribunal-de-lalgorithme", "archidiagnostic"]
|
||||
opposedTo: ["obliteration-archicratique"]
|
||||
seeAlso: ["synchrotopie", "archicration-obliteree", "journal-de-justification"]
|
||||
navigation:
|
||||
primaryNext: "audit-archicratique"
|
||||
primaryReason: "La cartographie appelle un audit permettant de réintroduire des conditions de scène."
|
||||
---
|
||||
|
||||
La cartographie des scènes manquantes désigne le travail systématique qui consiste à repérer, dans un système d’IA ou dans une architecture décisionnelle, les lieux où se prennent réellement les décisions, les lieux où la parole existe sans prise réelle, et les lieux où de nouvelles scènes devraient être instituées.
|
||||
|
||||
@@ -15,6 +15,19 @@ level: "fondamental"
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "tension"]
|
||||
opposedTo: ["autarchicratie"]
|
||||
seeAlso: ["scene-depreuve", "obliteration-archicratique", "coexistence-ontologique-et-necessite-regulatrice", "formes-de-vie-et-cadres-dhabitabilite", "subsistance-vivante-et-captation-capitalistique"]
|
||||
navigation:
|
||||
primaryNext: "tension"
|
||||
primaryReason: "La co-viabilité se comprend pleinement à partir des tensions qu’elle ne supprime pas, mais rend traitables dans une architecture de régulation."
|
||||
flows:
|
||||
systemic:
|
||||
label: "Intégration archicratique"
|
||||
primaryNext: "archicration"
|
||||
primaryReason: "La co-viabilité constitue le socle d’une archicration effective."
|
||||
paths:
|
||||
understand: ["tension", "archicration", "scene-depreuve"]
|
||||
deepen: ["regime-de-co-viabilite", "coexistence-ontologique-et-necessite-regulatrice", "formes-de-vie-et-cadres-dhabitabilite"]
|
||||
compare: ["autarchicratie", "archicrations-differentielles-et-formes-hybrides"]
|
||||
apply: ["audit-archicratique", "cartographie-des-scenes-manquantes"]
|
||||
---
|
||||
|
||||
La co-viabilité désigne la capacité d’un système social à maintenir la continuité de son organisation collective en rendant compatibles, sans les abolir, une pluralité de tensions, d’arcalités et de cratialités.
|
||||
|
||||
@@ -15,6 +15,14 @@ level: "fondamental"
|
||||
related: ["archicratie", "arcalite", "archicration", "tension", "co-viabilite", "agencement-machinique", "cybernetique", "gouvernementalite-algorithmique"]
|
||||
opposedTo: ["autarchicratie"]
|
||||
seeAlso: ["obliteration-archicratique", "hypercratialite"]
|
||||
navigation:
|
||||
primaryNext: "archicration"
|
||||
primaryReason: "Après l’effectuation cratiale, l’archicration permet de comprendre comment les tensions produites par l’action deviennent exposables, régulables et révisables."
|
||||
paths:
|
||||
understand: ["archicration", "co-viabilite", "tension"]
|
||||
deepen: ["hypercratialite", "gouvernementalite-algorithmique", "agencement-machinique"]
|
||||
compare: ["arcalite", "autarchicratie", "cybernetique"]
|
||||
apply: ["audit-archicratique", "journal-de-justification", "tribunal-de-lalgorithme"]
|
||||
---
|
||||
|
||||
La cratialité désigne le vecteur opératoire et transformateur de toute régulation.
|
||||
|
||||
@@ -18,6 +18,14 @@ level: "fondamental"
|
||||
related: ["exception-souveraine", "contractualisme-hobbesien", "archicratie", "archicration", "tension", "preemption-algorithmique"]
|
||||
opposedTo: ["democratie-deliberative", "dissensus-politique", "gouvernance-des-communs", "lieu-vide-du-pouvoir"]
|
||||
seeAlso: ["domination-legale-rationnelle", "volonte-generale", "autarchicratie"]
|
||||
navigation:
|
||||
primaryNext: "exception-souveraine"
|
||||
primaryReason: "L’exception souveraine permet de préciser le point où la doctrine décisionniste concentre la fondation politique dans l’acte de suspension de la norme."
|
||||
paths:
|
||||
understand: ["exception-souveraine", "contractualisme-hobbesien", "domination-legale-rationnelle"]
|
||||
deepen: ["autarchicratie", "preemption-algorithmique", "archicration"]
|
||||
compare: ["democratie-deliberative", "dissensus-politique", "gouvernance-des-communs"]
|
||||
apply: ["audit-archicratique", "scene-depreuve"]
|
||||
---
|
||||
|
||||
Le décisionnisme souverain désigne la doctrine fondatrice selon laquelle l’ordre politique se constitue ultimement dans la capacité souveraine à décider de l’exception, à suspendre la norme et à imposer un cadre sans médiation dialogique.
|
||||
|
||||
@@ -15,6 +15,9 @@ level: "avance"
|
||||
related: ["archicration", "archicration-obliteree", "scene-manquante", "scene-empechee", "autarchicration", "autarchicratie", "obliteration-archicratique", "desarchicratisation", "institution-invisible"]
|
||||
opposedTo: ["archicratisation", "monde-instituable"]
|
||||
seeAlso: ["atopie"]
|
||||
navigation:
|
||||
primaryNext: "desarchicratisation"
|
||||
primaryReason: "La désagrégation de la scène se prolonge en désarchicratisation, où les structures elles-mêmes se délitent."
|
||||
---
|
||||
|
||||
La désarchicration désigne le processus local par lequel une scène, un dispositif, une institution ou un domaine cesse d’être effectivement archicraté, alors même qu’il demeure encore régulé.
|
||||
|
||||
@@ -15,6 +15,9 @@ level: "avance"
|
||||
related: ["desarchicration", "autarchicratie", "institution-invisible", "scene-manquante", "archicration-obliteree", "co-viabilite", "obliteration-archicratique", "monde-instituable", "scene-empechee", "archidiagnostic"]
|
||||
opposedTo: ["archicratisation"]
|
||||
seeAlso: ["autarchicration", "atopie", "scene-depreuve"]
|
||||
navigation:
|
||||
primaryNext: "autarchicratie"
|
||||
primaryReason: "L’effondrement des structures ouvre la voie à une réinstauration autarchique du pouvoir."
|
||||
---
|
||||
|
||||
La désarchicratisation désigne le processus historique ou systémique par lequel un monde social perd sa capacité à rendre comparables, disputables et révisables ses propres architectures de régulation.
|
||||
|
||||
@@ -18,6 +18,14 @@ level: "fondamental"
|
||||
related: ["archicratie", "arcalite", "cratialite", "archicration", "democratie-deliberative", "gouvernance-des-communs"]
|
||||
opposedTo: ["agencement-machinique", "dissensus-politique", "decisionnisme-souverain"]
|
||||
seeAlso: ["gouvernementalite", "cybernetique", "exception-souveraine", "contractualisme-hobbesien"]
|
||||
navigation:
|
||||
primaryNext: "democratie-deliberative"
|
||||
primaryReason: "La démocratie délibérative permet d’interroger ce que la domination légale-rationnelle laisse souvent en retrait : la publicité de la justification et la réversibilité de la règle."
|
||||
paths:
|
||||
understand: ["gouvernementalite", "cybernetique", "archicration"]
|
||||
deepen: ["democratie-deliberative", "gouvernance-des-communs", "theorie-de-la-justification"]
|
||||
compare: ["decisionnisme-souverain", "agencement-machinique", "dissensus-politique"]
|
||||
apply: ["journal-de-justification", "audit-archicratique"]
|
||||
---
|
||||
|
||||
La domination légale-rationnelle désigne le paradigme de régulation fondé sur la légalité formelle, la compétence fonctionnelle, l’impersonnalité des règles et l’organisation bureaucratique de l’autorité.
|
||||
|
||||
@@ -16,6 +16,9 @@ level: "avance"
|
||||
related: ["archicration", "scene-depreuve", "journal-de-justification", "tribunal-de-lalgorithme", "co-viabilite", "visa-daffectation", "coupe-circuit-citoyen"]
|
||||
opposedTo: ["preemption-algorithmique"]
|
||||
seeAlso: ["gouvernementalite-algorithmique", "autarchicratie", "cartographie-des-scenes-manquantes"]
|
||||
navigation:
|
||||
primaryNext: "tribunal-de-lalgorithme"
|
||||
primaryReason: "Le contradictoire permet l’émergence d’un espace de jugement structuré."
|
||||
---
|
||||
|
||||
Le droit au différé contradictoire désigne le principe selon lequel aucune décision automatisée substantielle ne doit devenir pleinement définitive sans qu’existent un délai, un accès au dossier et un format permettant sa contestation argumentée par les personnes affectées.
|
||||
|
||||
@@ -15,6 +15,9 @@ level: "avance"
|
||||
related: ["arcalite", "hypercratialite", "archicration", "autarchicratie", "scene-manquante", "archicration-obliteree", "archicrate", "autarchicration", "institution-invisible"]
|
||||
opposedTo: ["co-viabilite", "archicratisation"]
|
||||
seeAlso: ["scene-depreuve", "obliteration-archicratique"]
|
||||
navigation:
|
||||
primaryNext: "desarchicration"
|
||||
primaryReason: "L’écrasement normatif conduit à la dissolution des conditions mêmes de l’archicration."
|
||||
---
|
||||
|
||||
L’hyperarcalité désigne l’hypertrophie de l’arcalité, c’est-à-dire la situation dans laquelle les fondements, les cadres, les principes de légitimation ou les structures de cadrage deviennent excessivement massifs, saturants ou immunisés contre l’épreuve.
|
||||
|
||||
@@ -15,6 +15,9 @@ level: "avance"
|
||||
related: ["cratialite", "hyperarcalite", "archicration", "autarchicratie", "archicrate", "archicration-obliteree", "preemption-algorithmique", "gouvernementalite-algorithmique", "autarchicration", "institution-invisible"]
|
||||
opposedTo: ["co-viabilite", "archicratisation"]
|
||||
seeAlso: ["tension", "scene-depreuve", "obliteration-archicratique"]
|
||||
navigation:
|
||||
primaryNext: "hyperarcalite"
|
||||
primaryReason: "L’excès de pouvoir appelle un excès symétrique de normativité, conduisant à une hyperarcalité."
|
||||
---
|
||||
|
||||
L’hypercratialité désigne l’hypertrophie de la cratialité, c’est-à-dire la situation dans laquelle la capacité d’effectuation, d’intervention, de pilotage, d’automatisation ou de transformation croît plus vite que les scènes capables de l’exposer, de la qualifier et de la réviser.
|
||||
|
||||
@@ -15,6 +15,9 @@ level: "avance"
|
||||
related: ["archicratie", "cratialite", "arcalite", "scene-manquante", "obliteration-archicratique", "autarchicratie", "hypotopie", "atopie", "figures-archicratiques", "archidiagnostic"]
|
||||
opposedTo: ["monde-instituable"]
|
||||
seeAlso: ["scene-darchicration", "scene-empechee", "archicrate", "cartographie-des-scenes-manquantes", "autarchicration", "archicration-obliteree"]
|
||||
navigation:
|
||||
primaryNext: "scene-depreuve"
|
||||
primaryReason: "La mise au jour de l’institution invisible permet de réouvrir une scène d’épreuve et de relancer l’archicration."
|
||||
---
|
||||
|
||||
L’institution invisible désigne l’architecture diffuse de pouvoir qui résulte de la composition de multiples dispositifs hétérogènes — infrastructures, normes, procédures, algorithmes, flux financiers, routines administratives, plateformes, indicateurs — sans apparaître comme une institution clairement identifiable.
|
||||
|
||||
@@ -16,6 +16,9 @@ level: "avance"
|
||||
related: ["archicration", "scene-depreuve", "audit-archicratique", "droit-au-differe-contradictoire", "tribunal-de-lalgorithme", "visa-daffectation", "cartographie-des-scenes-manquantes"]
|
||||
opposedTo: ["obliteration-archicratique"]
|
||||
seeAlso: ["theorie-de-la-justification", "gouvernementalite-algorithmique", "budget-scenique"]
|
||||
navigation:
|
||||
primaryNext: "droit-au-differe-contradictoire"
|
||||
primaryReason: "La traçabilité ouvre la possibilité d’un contradictoire différé."
|
||||
---
|
||||
|
||||
Le journal de justification désigne un dispositif documentaire qui conserve la trace des justifications effectivement mobilisées dans la production d’une décision, d’une politique ou d’un déploiement algorithmique.
|
||||
|
||||
@@ -15,6 +15,9 @@ level: "avance"
|
||||
related: ["scene-darchicration", "scene-depreuve", "co-viabilite", "archicration", "archicratie", "desarchicratisation", "archicratisation", "scene-empechee", "institution-invisible"]
|
||||
opposedTo: ["autarchicratie", "scene-manquante", "atopie"]
|
||||
seeAlso: ["obliteration-archicratique", "budget-scenique", "cartographie-des-scenes-manquantes", "audit-archicratique", "archidiagnostic"]
|
||||
navigation:
|
||||
primaryNext: "scene-manquante"
|
||||
primaryReason: "Même un monde instituable peut se dégrader lorsque les conditions de la scène cessent d’être réunies."
|
||||
---
|
||||
|
||||
Le monde instituable désigne une configuration dans laquelle il demeure possible de rouvrir des scènes, de faire comparaître des architectures de régulation, de reconfigurer des dispositifs et de réarticuler les fondements au nom desquels l’ordre agit.
|
||||
|
||||
@@ -15,6 +15,9 @@ level: "fondamental"
|
||||
related: ["archicration", "scene-depreuve", "archicratie", "arcalite", "cratialite", "co-viabilite"]
|
||||
opposedTo: ["scene-manquante", "autarchicratie"]
|
||||
seeAlso: ["scene-empechee", "archicration-obliteree", "institution-invisible", "monde-instituable", "archidiagnostic", "cartographie-des-scenes-manquantes"]
|
||||
navigation:
|
||||
primaryNext: "co-viabilite"
|
||||
primaryReason: "Une scène stabilisée permet l’émergence de conditions de co-viabilité."
|
||||
---
|
||||
|
||||
La scène d’archicration désigne le lieu, le format et la temporalité dans lesquels un ordre doit comparaître, justifier ses fondements, exposer ses dispositifs et accepter qu’une épreuve puisse en modifier les formes.
|
||||
|
||||
@@ -15,6 +15,9 @@ level: "fondamental"
|
||||
related: ["archicration", "archicratie", "tension", "co-viabilite", "obliteration-archicratique", "scene-darchicration"]
|
||||
opposedTo: ["autarchicratie"]
|
||||
seeAlso: ["obliteration-archicratique", "institution-invisible", "scene-manquante", "regulation-technique-et-legitimation-democratique", "visibilite-mediatique-et-reconnaissance-symbolique", "liberte-daction-et-regimes-de-securite-algorithmique"]
|
||||
navigation:
|
||||
primaryNext: "scene-darchicration"
|
||||
primaryReason: "La scène d’épreuve trouve son accomplissement dans la scène d’archicration, où la co-viabilité devient effectivement instituante."
|
||||
---
|
||||
|
||||
La scène d’épreuve désigne l’espace de comparution, d’exposition et de révision dans lequel des architectures régulatrices peuvent être rendues visibles, discutées, contestées et transformées.
|
||||
|
||||
@@ -15,6 +15,9 @@ level: "avance"
|
||||
related: ["scene-darchicration", "scene-depreuve", "archicration", "co-viabilite", "institution-invisible", "archicration-obliteree", "scene-manquante", "monde-instituable"]
|
||||
opposedTo: ["monde-instituable"]
|
||||
seeAlso: ["budget-scenique", "cartographie-des-scenes-manquantes", "droit-au-differe-contradictoire", "audit-archicratique", "hypotopie", "autarchicratie"]
|
||||
navigation:
|
||||
primaryNext: "institution-invisible"
|
||||
primaryReason: "Comprendre une scène empêchée exige d’analyser les structures invisibles qui empêchent son émergence."
|
||||
---
|
||||
|
||||
La scène empêchée désigne une situation dans laquelle les enjeux exigeraient l’existence d’une scène d’archicration, mais où des obstacles concrets en rendent l’instauration impossible ou quasi impossible.
|
||||
|
||||
@@ -15,6 +15,9 @@ level: "avance"
|
||||
related: ["scene-darchicration", "scene-depreuve", "archicration", "institution-invisible", "archicratie", "obliteration-archicratique", "atopie"]
|
||||
opposedTo: ["monde-instituable"]
|
||||
seeAlso: ["scene-empechee", "archicration-obliteree", "cartographie-des-scenes-manquantes", "audit-archicratique", "hypotopie"]
|
||||
navigation:
|
||||
primaryNext: "scene-empechee"
|
||||
primaryReason: "L’absence de scène peut résulter d’un empêchement actif des conditions d’archicration."
|
||||
---
|
||||
|
||||
La scène manquante désigne une configuration dans laquelle des opérations de régulation ont bien lieu — classement, exclusion, allocation, décision, optimisation, hiérarchisation — mais sans qu’aucune scène d’archicration ne soit prévue pour les mettre en cause comme telles.
|
||||
|
||||
@@ -16,6 +16,9 @@ level: "avance"
|
||||
related: ["archicration", "scene-depreuve", "droit-au-differe-contradictoire", "journal-de-justification", "budget-scenique", "cartographie-des-scenes-manquantes", "visa-daffectation", "coupe-circuit-citoyen", "audit-archicratique"]
|
||||
opposedTo: ["autarchicratie"]
|
||||
seeAlso: ["gouvernementalite-algorithmique", "preemption-algorithmique", "democratie-deliberative", "archidiagnostic"]
|
||||
navigation:
|
||||
primaryNext: "budget-scenique"
|
||||
primaryReason: "Le jugement nécessite des moyens et une allocation de ressources scéniques."
|
||||
---
|
||||
|
||||
Le tribunal de l’algorithme désigne une scène d’archicration spécifique aux systèmes d’IA.
|
||||
|
||||
@@ -16,6 +16,9 @@ level: "avance"
|
||||
related: ["archicration", "scene-depreuve", "journal-de-justification", "droit-au-differe-contradictoire", "audit-archicratique", "tribunal-de-lalgorithme", "budget-scenique"]
|
||||
opposedTo: ["preemption-algorithmique", "desarchicratique"]
|
||||
seeAlso: ["cartographie-des-scenes-manquantes", "gouvernementalite-algorithmique", "coupe-circuit-citoyen"]
|
||||
navigation:
|
||||
primaryNext: "scene-depreuve"
|
||||
primaryReason: "Les décisions d’affectation permettent la réouverture effective de scènes d’épreuve."
|
||||
---
|
||||
|
||||
Le visa d’affectation désigne le dispositif par lequel l’affectation d’une décision, d’une recommandation ou d’un score algorithmique à une personne, à un dossier ou à une situation doit être explicitement validée comme imputable, située, conditionnelle et requalifiable.
|
||||
|
||||
@@ -100,7 +100,15 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
var __WHOAMI_PATH__ = String(WHOAMI_PATH || "/_auth/whoami");
|
||||
var __WHOAMI_IN_DEV__ = Boolean(WHOAMI_IN_DEV);
|
||||
var __WHOAMI_FORCE_LOCALHOST__ = Boolean(WHOAMI_FORCE_LOCALHOST);
|
||||
var SHOULD_FETCH_WHOAMI = (!__DEV__) || __WHOAMI_IN_DEV__;
|
||||
var IS_LOCAL_HOST =
|
||||
location.hostname === "localhost" ||
|
||||
location.hostname === "127.0.0.1" ||
|
||||
location.hostname === "::1";
|
||||
|
||||
var SHOULD_FETCH_WHOAMI =
|
||||
((!__DEV__) && !IS_LOCAL_HOST) ||
|
||||
__WHOAMI_IN_DEV__ ||
|
||||
__WHOAMI_FORCE_LOCALHOST__;
|
||||
|
||||
window.__archiFlags = Object.assign({}, window.__archiFlags, {
|
||||
dev: __DEV__,
|
||||
@@ -184,7 +192,8 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
.catch(() => Boolean(__DEV__));
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body
|
||||
@@ -665,6 +674,40 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
}
|
||||
}
|
||||
|
||||
@media (orientation: landscape) and (min-width: 981px) and (max-width: 1220px) and (pointer: coarse){
|
||||
.page{
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
.page-shell{
|
||||
--aside-w: 300px;
|
||||
--gap: 14px;
|
||||
max-width: calc(100vw - 20px) !important;
|
||||
grid-template-columns: minmax(260px, var(--aside-w)) minmax(0, 1fr) !important;
|
||||
}
|
||||
|
||||
.reading{
|
||||
max-width: none !important;
|
||||
width: 100% !important;
|
||||
min-width: 0 !important;
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
:global(.reading p[id^="p-"]){
|
||||
padding-right: 108px;
|
||||
}
|
||||
|
||||
:global(.para-tools){
|
||||
right: 0;
|
||||
}
|
||||
|
||||
:global(.para-tools-actions){
|
||||
flex-wrap: wrap;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark){
|
||||
:global(body[data-edition-key="glossaire"][data-sticky-mode="glossary-portal"] #reading-follow .reading-follow__inner){
|
||||
background: rgba(0,0,0,.6);
|
||||
@@ -915,6 +958,23 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 761px) and (max-width: 980px){
|
||||
:global(body[data-edition-key="glossaire"][data-sticky-mode="glossary-entry"]) .page,
|
||||
:global(body[data-edition-key="glossaire"][data-sticky-mode="glossary-portal"]) .page{
|
||||
padding-top: 0 !important;
|
||||
}
|
||||
|
||||
:global(body[data-edition-key="glossaire"][data-sticky-mode="glossary-entry"]) .page-aside,
|
||||
:global(body[data-edition-key="glossaire"][data-sticky-mode="glossary-portal"]) .page-aside{
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
|
||||
:global(body[data-edition-key="glossaire"][data-sticky-mode="glossary-entry"]) .reading,
|
||||
:global(body[data-edition-key="glossaire"][data-sticky-mode="glossary-portal"]) .reading{
|
||||
padding-top: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 430px){
|
||||
.page{
|
||||
padding: var(--page-gap) 10px 12px 16px;
|
||||
@@ -957,7 +1017,7 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
}
|
||||
}
|
||||
|
||||
.mobile-para-menu{
|
||||
.mobile-para-menu{
|
||||
position: fixed;
|
||||
inset: auto 10px 10px 10px;
|
||||
z-index: 120;
|
||||
@@ -1009,7 +1069,7 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
transform: translateY(1px);
|
||||
}
|
||||
|
||||
.mobile-para-menu{
|
||||
.mobile-para-menu{
|
||||
touch-action: manipulation;
|
||||
}
|
||||
|
||||
@@ -1038,7 +1098,7 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 981px){
|
||||
@media (min-width: 981px) and (hover: hover) and (pointer: fine){
|
||||
.mobile-para-menu{
|
||||
display: none !important;
|
||||
}
|
||||
@@ -1082,6 +1142,7 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
const docEditionKey = document.body?.dataset?.editionKey || "";
|
||||
const docStickyMode = String(document.body?.dataset?.stickyMode || "default");
|
||||
const isGlossaryEdition = docEditionKey === "glossaire";
|
||||
const isIntroEdition = docEditionKey === "commencer";
|
||||
|
||||
const hasLocalGlossaryFollow =
|
||||
isGlossaryEdition && Boolean(document.getElementById("glossary-hero-follow"));
|
||||
@@ -1137,14 +1198,23 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
return 0;
|
||||
}
|
||||
|
||||
function glossaryEntryHeroBottom() {
|
||||
const head = document.querySelector(".glossary-entry-head");
|
||||
if (!head) return headerH();
|
||||
|
||||
const bottom = head.getBoundingClientRect().bottom;
|
||||
return Math.max(headerH(), Math.round(bottom));
|
||||
}
|
||||
|
||||
function syncFollowTop() {
|
||||
if (!followEl) return;
|
||||
|
||||
const localH =
|
||||
(isGlossaryEntryMode || isGlossaryPortalMode)
|
||||
? getLocalStickyHeight()
|
||||
: 0;
|
||||
if (isGlossaryEntryMode) {
|
||||
followEl.style.top = px(glossaryEntryHeroBottom());
|
||||
return;
|
||||
}
|
||||
|
||||
const localH = isGlossaryPortalMode ? getLocalStickyHeight() : 0;
|
||||
followEl.style.top = px(headerH() + stickyGap() + localH);
|
||||
}
|
||||
|
||||
@@ -1501,45 +1571,45 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
}
|
||||
|
||||
function updateResumeButton() {
|
||||
const btn = document.getElementById("resume-btn");
|
||||
if (!btn) return;
|
||||
const btn = document.getElementById("resume-btn");
|
||||
if (!btn) return;
|
||||
|
||||
const current = getResumeBookmark();
|
||||
const current = getResumeBookmark();
|
||||
|
||||
btn.hidden = false;
|
||||
btn.setAttribute("href", "#");
|
||||
btn.hidden = false;
|
||||
btn.setAttribute("href", "#");
|
||||
|
||||
if (!current) {
|
||||
delete btn.dataset.resumeAnchor;
|
||||
delete btn.dataset.resumePath;
|
||||
delete btn.dataset.resumeKind;
|
||||
btn.setAttribute("aria-disabled", "true");
|
||||
btn.classList.add("is-disabled");
|
||||
btn.title = "Aucun marque-page explicite enregistré";
|
||||
return;
|
||||
if (!current) {
|
||||
delete btn.dataset.resumeAnchor;
|
||||
delete btn.dataset.resumePath;
|
||||
delete btn.dataset.resumeKind;
|
||||
btn.setAttribute("aria-disabled", "true");
|
||||
btn.classList.add("is-disabled");
|
||||
btn.title = "Aucun marque-page explicite enregistré";
|
||||
return;
|
||||
}
|
||||
|
||||
btn.dataset.resumeAnchor = current.anchor;
|
||||
btn.dataset.resumePath = current.path || "";
|
||||
btn.dataset.resumeKind = current.kind || "explicit-bookmark";
|
||||
btn.setAttribute("aria-disabled", "false");
|
||||
btn.classList.remove("is-disabled");
|
||||
btn.title = `Reprendre : ${current.anchor}`;
|
||||
|
||||
if (!__resumeClickBound) {
|
||||
__resumeClickBound = true;
|
||||
|
||||
btn.addEventListener("click", (ev) => {
|
||||
ev.preventDefault();
|
||||
ev.stopPropagation();
|
||||
|
||||
if (btn.getAttribute("aria-disabled") === "true") return;
|
||||
|
||||
performResume();
|
||||
}, { passive: false });
|
||||
}
|
||||
}
|
||||
|
||||
btn.dataset.resumeAnchor = current.anchor;
|
||||
btn.dataset.resumePath = current.path || "";
|
||||
btn.dataset.resumeKind = current.kind || "explicit-bookmark";
|
||||
btn.setAttribute("aria-disabled", "false");
|
||||
btn.classList.remove("is-disabled");
|
||||
btn.title = `Reprendre : ${current.anchor}`;
|
||||
|
||||
if (!__resumeClickBound) {
|
||||
__resumeClickBound = true;
|
||||
|
||||
btn.addEventListener("click", (ev) => {
|
||||
ev.preventDefault();
|
||||
ev.stopPropagation();
|
||||
|
||||
if (btn.getAttribute("aria-disabled") === "true") return;
|
||||
|
||||
performResume();
|
||||
}, { passive: false });
|
||||
}
|
||||
}
|
||||
|
||||
window.__archiUpdateResumeButton = updateResumeButton;
|
||||
|
||||
if (window.location.search.includes("body=")) {
|
||||
@@ -1858,7 +1928,7 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
}
|
||||
|
||||
safe("para-tools", () => {
|
||||
if (isGlossaryEdition) return;
|
||||
if (isGlossaryEdition || isIntroEdition) return;
|
||||
|
||||
for (const p of parasAll) {
|
||||
if (p.querySelector(".para-tools")) continue;
|
||||
@@ -1961,7 +2031,7 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
});
|
||||
|
||||
safe("mobile-para-tools", () => {
|
||||
if (isGlossaryEdition) return;
|
||||
if (isGlossaryEdition || isIntroEdition) return;
|
||||
if (!reading) return;
|
||||
|
||||
const isMobileLike = () =>
|
||||
@@ -1985,8 +2055,12 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
let menuOpen = false;
|
||||
let touchLongPressActive = false;
|
||||
|
||||
const LONG_PRESS_DELAY = 460;
|
||||
const LONG_PRESS_MOVE_TOLERANCE = 18;
|
||||
const LONG_PRESS_DELAY = 520;
|
||||
const isTabletLike = () =>
|
||||
window.matchMedia("(pointer: coarse)").matches &&
|
||||
Math.min(window.innerWidth, window.innerHeight) >= 700;
|
||||
|
||||
const getMoveTolerance = () => isTabletLike() ? 42 : 22;
|
||||
|
||||
function isInteractiveTarget(node) {
|
||||
const el = node?.closest?.(
|
||||
@@ -2029,7 +2103,12 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
function movedTooFar(x, y) {
|
||||
const dx = Math.abs(Number(x || 0) - pressStartX);
|
||||
const dy = Math.abs(Number(y || 0) - pressStartY);
|
||||
return dx > LONG_PRESS_MOVE_TOLERANCE || dy > LONG_PRESS_MOVE_TOLERANCE;
|
||||
const tol = getMoveTolerance();
|
||||
|
||||
// iPad/tablette : on tolère mieux la dérive verticale naturelle du doigt.
|
||||
if (isTabletLike()) return dx > tol || dy > (tol * 1.65);
|
||||
|
||||
return dx > tol || dy > tol;
|
||||
}
|
||||
|
||||
function closeMenu() {
|
||||
@@ -2118,13 +2197,10 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
}
|
||||
}
|
||||
|
||||
function handlePressEnd() {
|
||||
cancelLongPress();
|
||||
}
|
||||
|
||||
function handlePressEnd() {
|
||||
clearPressTimer();
|
||||
pressPointerId = null;
|
||||
touchLongPressActive = false;
|
||||
}
|
||||
|
||||
reading.addEventListener("pointerdown", handlePressStart, { passive: true });
|
||||
@@ -2162,15 +2238,17 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
cancelLongPress();
|
||||
}, { passive: true });
|
||||
|
||||
window.addEventListener("scroll", () => {
|
||||
clearPressTimer();
|
||||
if (menuOpen) closeMenu();
|
||||
}, { passive: true });
|
||||
function handleScrollDuringMobileMenu() {
|
||||
// Tant que le timer long-press est en cours, ne pas l'annuler brutalement
|
||||
// sur tablette : iPadOS peut produire un micro-scroll fantôme.
|
||||
if (pressTimer && isTabletLike()) return;
|
||||
|
||||
document.addEventListener("scroll", () => {
|
||||
clearPressTimer();
|
||||
if (menuOpen) closeMenu();
|
||||
}, { passive: true, capture: true });
|
||||
}
|
||||
|
||||
window.addEventListener("scroll", handleScrollDuringMobileMenu, { passive: true });
|
||||
document.addEventListener("scroll", handleScrollDuringMobileMenu, { passive: true, capture: true });
|
||||
|
||||
document.addEventListener("click", (ev) => {
|
||||
const p = ev.target?.closest?.('.reading p[id^="p-"]');
|
||||
@@ -2559,6 +2637,14 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
nav.classList.toggle("is-collapsed", !open);
|
||||
toggle.setAttribute("aria-expanded", open ? "true" : "false");
|
||||
|
||||
const bodyClip =
|
||||
nav.querySelector(".toc-global__body-clip") ||
|
||||
nav.querySelector(".toc-local__body-clip");
|
||||
|
||||
if (bodyClip) {
|
||||
bodyClip.hidden = !open;
|
||||
}
|
||||
|
||||
const key = nav.dataset.tocKey
|
||||
? `archicratie:${nav.dataset.tocKey || ""}`
|
||||
: nav.classList.contains("toc-local")
|
||||
@@ -2580,9 +2666,16 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
}
|
||||
|
||||
function syncAutoCollapse() {
|
||||
const shouldOpen = nearTopZone();
|
||||
// Sur mobile/tablette, les TOC restent fermées par défaut.
|
||||
// Elles ne s’ouvrent que par action explicite utilisateur.
|
||||
if (mqCompact.matches) {
|
||||
setTocOpen(tocGlobal, false, false);
|
||||
setTocOpen(tocLocal, false, false);
|
||||
return;
|
||||
}
|
||||
|
||||
// En desktop comme en mobile : TOC ouverts en haut, repliés dès qu’on quitte le haut.
|
||||
// Desktop : comportement historique conservé.
|
||||
const shouldOpen = nearTopZone();
|
||||
setTocOpen(tocGlobal, shouldOpen, false);
|
||||
setTocOpen(tocLocal, shouldOpen, false);
|
||||
}
|
||||
@@ -2607,45 +2700,12 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
schedule();
|
||||
});
|
||||
|
||||
safe("mobile-toc-collapse", () => {
|
||||
const isMobile = () => window.innerWidth <= 760;
|
||||
|
||||
const bindToggle = (rootSel, headSel) => {
|
||||
document.querySelectorAll(rootSel).forEach((box) => {
|
||||
const head = box.querySelector(headSel);
|
||||
if (!head) return;
|
||||
|
||||
if (!box.hasAttribute("data-mobile-collapsible-bound")) {
|
||||
box.setAttribute("data-mobile-collapsible-bound", "1");
|
||||
|
||||
if (isMobile()) box.classList.remove("is-open");
|
||||
else box.classList.add("is-open");
|
||||
|
||||
head.addEventListener("click", () => {
|
||||
if (!isMobile()) return;
|
||||
box.classList.toggle("is-open");
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
const syncOpenState = () => {
|
||||
document
|
||||
.querySelectorAll(".toc-global, .toc-local")
|
||||
.forEach((box) => {
|
||||
if (isMobile()) box.classList.remove("is-open");
|
||||
else box.classList.add("is-open");
|
||||
});
|
||||
};
|
||||
|
||||
bindToggle(".toc-global", ".toc-global__head");
|
||||
bindToggle(".toc-local", ".toc-local__head");
|
||||
bindToggle(".toc-global", "[data-toc-global-head]");
|
||||
bindToggle(".toc-local", "[data-toc-local-head]");
|
||||
|
||||
syncOpenState();
|
||||
window.addEventListener("resize", syncOpenState, { passive: true });
|
||||
});
|
||||
/*
|
||||
* TOC accordions are owned by EditionToc.astro / LocalToc.astro.
|
||||
* Keep only the top-zone auto-collapse below; the previous legacy
|
||||
* mobile-toc-collapse binder toggled an unused .is-open state and
|
||||
* added duplicate click listeners on the same headers.
|
||||
*/
|
||||
|
||||
safe("reading-follow", () => {
|
||||
if (!reading || !followEl) return;
|
||||
@@ -2689,6 +2749,12 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
return;
|
||||
}
|
||||
|
||||
if (isGlossaryEntryMode) {
|
||||
reading.querySelectorAll("details.details-section").forEach((details) => {
|
||||
details.open = true;
|
||||
});
|
||||
}
|
||||
|
||||
const h1 = reading.querySelector("h1");
|
||||
|
||||
const topChapterLabel =
|
||||
@@ -2776,15 +2842,17 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
|
||||
let curH2 = null;
|
||||
let curH3 = null;
|
||||
let lastVisibleH2 = null;
|
||||
let lastVisibleH3 = null;
|
||||
let lastY = window.scrollY || 0;
|
||||
let lastOpenedH2 = "";
|
||||
|
||||
function computeLineY(followH) {
|
||||
const localH =
|
||||
(isGlossaryEntryMode || isGlossaryPortalMode)
|
||||
? getLocalStickyHeight()
|
||||
: 0;
|
||||
if (isGlossaryEntryMode) {
|
||||
return glossaryEntryHeroBottom() + (followH || 0);
|
||||
}
|
||||
|
||||
const localH = isGlossaryPortalMode ? getLocalStickyHeight() : 0;
|
||||
return headerH() + stickyGap() + localH + (followH || 0) + HYST;
|
||||
}
|
||||
|
||||
@@ -2813,13 +2881,17 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
const box = getH2DisplayEl(t);
|
||||
if (!box) continue;
|
||||
|
||||
if (box.getBoundingClientRect().top <= lineY + HYST) {
|
||||
if (box.getBoundingClientRect().top <= lineY) {
|
||||
cand = t;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (isGlossaryEntryMode) {
|
||||
return cand;
|
||||
}
|
||||
|
||||
return cand || H2[0] || null;
|
||||
}
|
||||
|
||||
@@ -2871,6 +2943,7 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
}
|
||||
|
||||
function maybeOpenActiveSection(activeH2, lineY) {
|
||||
if (isGlossaryEntryMode) return;
|
||||
if (!activeH2 || !activeH2.id) return;
|
||||
|
||||
const triggerEl = activeH2.triggerEl || activeH2.anchor || null;
|
||||
@@ -2888,6 +2961,7 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
}
|
||||
|
||||
function maybePreopenNextSection(activeH2) {
|
||||
if (isGlossaryEntryMode) return;
|
||||
if (!activeH2) return;
|
||||
|
||||
const i = H2.findIndex((t) => t.id === activeH2.id);
|
||||
@@ -2928,15 +3002,19 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
curH3 = nextH3;
|
||||
|
||||
if (rfH2) {
|
||||
const show = Boolean(curH2 && hasCrossedBottom(getH2DisplayEl(curH2), lineY));
|
||||
rfH2.hidden = !show;
|
||||
if (show) rfH2.textContent = curH2.title;
|
||||
rfH2.hidden = !curH2;
|
||||
|
||||
if (curH2) {
|
||||
rfH2.textContent = curH2.title;
|
||||
}
|
||||
}
|
||||
|
||||
if (rfH3) {
|
||||
const show = Boolean(curH3 && hasCrossedBottom(getH3DisplayEl(curH3), lineY));
|
||||
rfH3.hidden = !show;
|
||||
if (show) rfH3.textContent = curH3.title;
|
||||
rfH3.hidden = !curH3;
|
||||
|
||||
if (curH3) {
|
||||
rfH3.textContent = curH3.title;
|
||||
}
|
||||
}
|
||||
|
||||
const any =
|
||||
@@ -2985,12 +3063,9 @@ const WHOAMI_FORCE_LOCALHOST = (import.meta.env.PUBLIC_WHOAMI_FORCE_LOCALHOST ??
|
||||
? inner2.getBoundingClientRect().height
|
||||
: 0;
|
||||
|
||||
const localH =
|
||||
(isGlossaryEntryMode || isGlossaryPortalMode)
|
||||
? getLocalStickyHeight()
|
||||
: 0;
|
||||
|
||||
const occupiedTop = headerH() + stickyGap() + localH + followH;
|
||||
const occupiedTop = isGlossaryEntryMode
|
||||
? glossaryEntryHeroBottom() + followH
|
||||
: headerH() + stickyGap() + (isGlossaryPortalMode ? getLocalStickyHeight() : 0) + followH;
|
||||
|
||||
setRootVar("--followbar-h", px(followH));
|
||||
setRootVar("--sticky-offset-px", String(Math.round(occupiedTop)));
|
||||
|
||||
99
src/lib/glossary-navigation-defaults.ts
Normal file
99
src/lib/glossary-navigation-defaults.ts
Normal file
@@ -0,0 +1,99 @@
|
||||
export type GlossaryDefaultNavigation = {
|
||||
understand?: string[];
|
||||
deepen?: string[];
|
||||
compare?: string[];
|
||||
apply?: string[];
|
||||
};
|
||||
|
||||
export const GLOSSARY_NAV_DEFAULTS: Record<string, GlossaryDefaultNavigation> = {
|
||||
"concept-fondamental": {
|
||||
understand: ["archicratie", "arcalite", "cratialite", "archicration", "co-viabilite", "tension"],
|
||||
deepen: ["scene-depreuve", "regime-de-co-viabilite", "meta-regime-archicratique"],
|
||||
compare: ["autarchicratie", "domination-legale-rationnelle", "decisionnisme-souverain"],
|
||||
apply: ["audit-archicratique", "cartographie-des-scenes-manquantes", "journal-de-justification"],
|
||||
},
|
||||
|
||||
scene: {
|
||||
understand: ["scene-depreuve", "scene-darchicration", "archicration"],
|
||||
deepen: ["scene-manquante", "scene-empechee", "institution-invisible", "monde-instituable"],
|
||||
compare: ["autarchicratie", "obliteration-archicratique", "hypotopie", "atopie"],
|
||||
apply: ["cartographie-des-scenes-manquantes", "budget-scenique", "tribunal-de-lalgorithme"],
|
||||
},
|
||||
|
||||
dynamique: {
|
||||
understand: ["archicratisation", "desarchicration", "co-viabilisation"],
|
||||
deepen: ["archeogenese", "obliteration-archicratique", "regime-de-co-viabilite"],
|
||||
compare: ["desarchicratisation", "autarchicratie", "archicration-obliteree"],
|
||||
apply: ["archidiagnostic", "audit-archicratique", "cartographie-des-scenes-manquantes"],
|
||||
},
|
||||
|
||||
pathologie: {
|
||||
understand: ["autarchicratie", "autarchicration", "archicration-obliteree"],
|
||||
deepen: ["hyperarcalite", "hypercratialite", "obliteration-archicratique", "desarchicration"],
|
||||
compare: ["archicration", "scene-depreuve", "monde-instituable", "co-viabilite"],
|
||||
apply: ["archidiagnostic", "cartographie-des-scenes-manquantes", "coupe-circuit-citoyen"],
|
||||
},
|
||||
|
||||
topologie: {
|
||||
understand: ["meta-regime", "regime-de-co-viabilite", "synchrotopie"],
|
||||
deepen: ["hypotopie", "hypertopie", "atopie", "archicrations-differentielles-et-formes-hybrides"],
|
||||
compare: ["scene-depreuve", "institution-invisible", "monde-instituable"],
|
||||
apply: ["cartographie-des-scenes-manquantes", "archidiagnostic", "audit-archicratique"],
|
||||
},
|
||||
|
||||
"meta-regime": {
|
||||
understand: ["meta-regime-archicratique", "archeogenese", "regime-de-co-viabilite"],
|
||||
deepen: ["archicrations-proto-symboliques", "archicrations-scripturo-normatives", "archicrations-techno-logistiques"],
|
||||
compare: ["archicrations-marchandes", "archicrations-guerrieres", "archicrations-epistemiques"],
|
||||
apply: ["archicrations-differentielles-et-formes-hybrides", "archidiagnostic"],
|
||||
},
|
||||
|
||||
paradigme: {
|
||||
understand: ["archicratie", "co-viabilite", "tension"],
|
||||
deepen: ["configuration-et-interdependance", "pensee-complexe", "theorie-de-la-justification"],
|
||||
compare: ["decisionnisme-souverain", "domination-legale-rationnelle", "agencement-machinique", "democratie-deliberative"],
|
||||
apply: ["audit-archicratique", "cartographie-des-scenes-manquantes"],
|
||||
},
|
||||
|
||||
doctrine: {
|
||||
understand: ["decisionnisme-souverain", "contractualisme-hobbesien", "volonte-generale"],
|
||||
deepen: ["exception-souveraine", "droit-naturel-et-propriete", "domination-legale-rationnelle"],
|
||||
compare: ["democratie-deliberative", "dissensus-politique", "gouvernance-des-communs", "lieu-vide-du-pouvoir"],
|
||||
apply: ["scene-depreuve", "archicration", "audit-archicratique"],
|
||||
},
|
||||
|
||||
"dispositif-ia": {
|
||||
understand: ["audit-archicratique", "cartographie-des-scenes-manquantes", "journal-de-justification"],
|
||||
deepen: ["tribunal-de-lalgorithme", "visa-daffectation", "budget-scenique"],
|
||||
compare: ["gouvernementalite-algorithmique", "preemption-algorithmique", "institution-invisible"],
|
||||
apply: ["droit-au-differe-contradictoire", "coupe-circuit-citoyen", "tribunal-de-lalgorithme"],
|
||||
},
|
||||
|
||||
"tension-irreductible": {
|
||||
understand: ["tension", "co-viabilite", "archicration"],
|
||||
deepen: ["coexistence-ontologique-et-necessite-regulatrice", "formes-de-vie-et-cadres-dhabitabilite", "souverainetes-territoriales-et-interdependances-globales"],
|
||||
compare: ["regulation-technique-et-legitimation-democratique", "memoire-symbolique-et-instantaneite-computationnelle", "travail-vivant-et-abstraction-de-la-valeur"],
|
||||
apply: ["scene-depreuve", "audit-archicratique", "cartographie-des-scenes-manquantes"],
|
||||
},
|
||||
|
||||
figure: {
|
||||
understand: ["figures-archicratiques", "archicrate", "institution-invisible"],
|
||||
deepen: ["hyperarcalite", "hypercratialite", "autarchicration"],
|
||||
compare: ["scene-darchicration", "monde-instituable", "autarchicratie"],
|
||||
apply: ["archidiagnostic", "cartographie-des-scenes-manquantes"],
|
||||
},
|
||||
|
||||
qualification: {
|
||||
understand: ["archicratique", "desarchicratique", "archicration"],
|
||||
deepen: ["archicratisation", "desarchicratisation", "scene-darchicration"],
|
||||
compare: ["autarchicratie", "archicration-obliteree", "monde-instituable"],
|
||||
apply: ["archidiagnostic", "audit-archicratique"],
|
||||
},
|
||||
|
||||
epistemologie: {
|
||||
understand: ["archicratistique", "archidiagnostic", "pensee-complexe"],
|
||||
deepen: ["archeogenese", "meta-regime-archicratique", "figures-archicratiques"],
|
||||
compare: ["theorie-de-la-justification", "configuration-et-interdependance", "transduction-et-individuation"],
|
||||
apply: ["audit-archicratique", "cartographie-des-scenes-manquantes", "journal-de-justification"],
|
||||
},
|
||||
};
|
||||
@@ -1,4 +1,5 @@
|
||||
import type { CollectionEntry } from "astro:content";
|
||||
import { GLOSSARY_NAV_DEFAULTS } from "./glossary-navigation-defaults";
|
||||
|
||||
export type GlossaryEntry = CollectionEntry<"glossaire">;
|
||||
|
||||
@@ -16,6 +17,32 @@ export type GlossaryRelationBlock = GlossaryRelationSection & {
|
||||
className: string;
|
||||
};
|
||||
|
||||
export type GlossarySmartNavigationPathKey =
|
||||
| "understand"
|
||||
| "deepen"
|
||||
| "compare"
|
||||
| "apply";
|
||||
|
||||
export type GlossarySmartNavigationPath = {
|
||||
key: GlossarySmartNavigationPathKey;
|
||||
label: string;
|
||||
entries: GlossaryEntry[];
|
||||
};
|
||||
|
||||
export type GlossarySmartNavigationFlow = {
|
||||
key: string;
|
||||
label: string;
|
||||
primaryNext?: GlossaryEntry;
|
||||
primaryReason?: string;
|
||||
};
|
||||
|
||||
export type GlossarySmartNavigation = {
|
||||
primaryNext?: GlossaryEntry;
|
||||
primaryReason?: string;
|
||||
paths: GlossarySmartNavigationPath[];
|
||||
flows: GlossarySmartNavigationFlow[];
|
||||
};
|
||||
|
||||
export type GlossaryHomeStats = {
|
||||
totalEntries: number;
|
||||
paradigmesCount: number;
|
||||
@@ -122,6 +149,16 @@ export const FAMILY_SECTION_TITLES: Record<string, string> = {
|
||||
epistemologie: "Outillage épistémologique",
|
||||
};
|
||||
|
||||
export const SMART_NAV_PATH_LABELS: Record<
|
||||
GlossarySmartNavigationPathKey,
|
||||
string
|
||||
> = {
|
||||
understand: "Comprendre",
|
||||
deepen: "Approfondir",
|
||||
compare: "Comparer",
|
||||
apply: "Appliquer",
|
||||
};
|
||||
|
||||
const PREFERRED_PARADIGME_SLUGS = [
|
||||
"gouvernementalite",
|
||||
"gouvernementalite-algorithmique",
|
||||
@@ -202,35 +239,35 @@ export function uniqueGlossaryEntries(
|
||||
}
|
||||
|
||||
export function slugsOfGlossaryEntries(
|
||||
entries: GlossaryEntry[] = [],
|
||||
): Set<string> {
|
||||
const slugs = new Set<string>();
|
||||
|
||||
for (const entry of entries) {
|
||||
const slug = slugOfGlossaryEntry(entry);
|
||||
if (!slug) continue;
|
||||
slugs.add(slug);
|
||||
}
|
||||
|
||||
return slugs;
|
||||
}
|
||||
|
||||
export function excludeGlossaryEntries(
|
||||
entries: GlossaryEntry[] = [],
|
||||
excluded: Iterable<string> = [],
|
||||
): GlossaryEntry[] {
|
||||
const excludedSlugs = new Set(
|
||||
Array.from(excluded)
|
||||
.map((value) => normalizeGlossarySlug(value))
|
||||
.filter(Boolean),
|
||||
);
|
||||
|
||||
return entries.filter((entry) => {
|
||||
const slug = slugOfGlossaryEntry(entry);
|
||||
return Boolean(slug) && !excludedSlugs.has(slug);
|
||||
});
|
||||
entries: GlossaryEntry[] = [],
|
||||
): Set<string> {
|
||||
const slugs = new Set<string>();
|
||||
|
||||
for (const entry of entries) {
|
||||
const slug = slugOfGlossaryEntry(entry);
|
||||
if (!slug) continue;
|
||||
slugs.add(slug);
|
||||
}
|
||||
|
||||
return slugs;
|
||||
}
|
||||
|
||||
export function excludeGlossaryEntries(
|
||||
entries: GlossaryEntry[] = [],
|
||||
excluded: Iterable<string> = [],
|
||||
): GlossaryEntry[] {
|
||||
const excludedSlugs = new Set(
|
||||
Array.from(excluded)
|
||||
.map((value) => normalizeGlossarySlug(value))
|
||||
.filter(Boolean),
|
||||
);
|
||||
|
||||
return entries.filter((entry) => {
|
||||
const slug = slugOfGlossaryEntry(entry);
|
||||
return Boolean(slug) && !excludedSlugs.has(slug);
|
||||
});
|
||||
}
|
||||
|
||||
export function resolveGlossaryEntriesInSourceOrder(
|
||||
slugs: string[] = [],
|
||||
allEntries: GlossaryEntry[] = [],
|
||||
@@ -467,6 +504,96 @@ export function getRelationBlocks(
|
||||
].filter((block) => block.items.length > 0);
|
||||
}
|
||||
|
||||
export function getGlossarySmartNavigation(
|
||||
currentEntry: GlossaryEntry,
|
||||
allEntries: GlossaryEntry[] = [],
|
||||
): GlossarySmartNavigation {
|
||||
const currentSlug = slugOfGlossaryEntry(currentEntry);
|
||||
const rawNavigation = currentEntry.data.navigation;
|
||||
const defaultNavigation = GLOSSARY_NAV_DEFAULTS[familyOf(currentEntry)];
|
||||
|
||||
const navigationSource = rawNavigation ?? {
|
||||
primaryNext: undefined,
|
||||
primaryReason: undefined,
|
||||
paths: defaultNavigation ?? {},
|
||||
flows: {},
|
||||
};
|
||||
|
||||
const primaryNext = resolveGlossaryEntriesInSourceOrder(
|
||||
navigationSource.primaryNext ? [navigationSource.primaryNext] : [],
|
||||
allEntries,
|
||||
).find((entry) => slugOfGlossaryEntry(entry) !== currentSlug);
|
||||
|
||||
const pathKeys: GlossarySmartNavigationPathKey[] = [
|
||||
"understand",
|
||||
"deepen",
|
||||
"compare",
|
||||
"apply",
|
||||
];
|
||||
|
||||
const paths = pathKeys
|
||||
.map((key) => {
|
||||
const entries = resolveGlossaryEntriesInSourceOrder(
|
||||
navigationSource.paths?.[key] ?? [],
|
||||
allEntries,
|
||||
).filter((entry) => slugOfGlossaryEntry(entry) !== currentSlug);
|
||||
|
||||
return {
|
||||
key,
|
||||
label: SMART_NAV_PATH_LABELS[key],
|
||||
entries,
|
||||
};
|
||||
})
|
||||
.filter((path) => path.entries.length > 0);
|
||||
|
||||
const flows = Object.entries(navigationSource.flows ?? {})
|
||||
.map(([key, flow]) => {
|
||||
const primaryNext = resolveGlossaryEntriesInSourceOrder(
|
||||
flow.primaryNext ? [flow.primaryNext] : [],
|
||||
allEntries,
|
||||
).find((entry) => slugOfGlossaryEntry(entry) !== currentSlug);
|
||||
|
||||
return {
|
||||
key,
|
||||
label: flow.label,
|
||||
primaryNext,
|
||||
primaryReason: flow.primaryReason,
|
||||
};
|
||||
})
|
||||
.filter((flow) => flow.primaryNext);
|
||||
|
||||
if (primaryNext || paths.length > 0 || flows.length > 0) {
|
||||
return {
|
||||
primaryNext,
|
||||
primaryReason: navigationSource.primaryReason,
|
||||
paths,
|
||||
flows,
|
||||
};
|
||||
}
|
||||
|
||||
const fallbackEntries = uniqueGlossaryEntries([
|
||||
...resolveGlossaryEntriesInSourceOrder(
|
||||
currentEntry.data.related ?? [],
|
||||
allEntries,
|
||||
),
|
||||
...resolveGlossaryEntriesInSourceOrder(
|
||||
currentEntry.data.seeAlso ?? [],
|
||||
allEntries,
|
||||
),
|
||||
]).filter((entry) => slugOfGlossaryEntry(entry) !== currentSlug);
|
||||
|
||||
const fallbackPrimary = fallbackEntries[0];
|
||||
|
||||
return {
|
||||
primaryNext: fallbackPrimary,
|
||||
primaryReason: fallbackPrimary
|
||||
? "Ce lien prolonge directement les relations conceptuelles de cette fiche."
|
||||
: undefined,
|
||||
paths: [],
|
||||
flows: [],
|
||||
};
|
||||
}
|
||||
|
||||
export function getRelationSections(
|
||||
entry: GlossaryEntry,
|
||||
allEntries: GlossaryEntry[] = [],
|
||||
|
||||
@@ -7,15 +7,62 @@ entries.sort((a, b) => (a.data.order ?? 9999) - (b.data.order ?? 9999));
|
||||
---
|
||||
|
||||
<SiteLayout title="Essai-thèse — ArchiCraT-IA">
|
||||
<h1>Essai-thèse — ArchiCraT-IA</h1>
|
||||
<section class="landing landing-home">
|
||||
<header class="landing-hero">
|
||||
<p class="landing-kicker">Corpus principal</p>
|
||||
<h1>Essai-thèse — ArchiCraT-IA</h1>
|
||||
<p class="landing-lead">
|
||||
Fondements, histoire, philosophie du pouvoir, tensions et régulations
|
||||
archicratiques.
|
||||
</p>
|
||||
</header>
|
||||
|
||||
<ul>
|
||||
{entries.map((e) => (
|
||||
<li>
|
||||
<a href={`/archicrat-ia/${String(e.id).replace(/\.(md|mdx)$/i, "")}/`}>
|
||||
{e.data.title}
|
||||
</a>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
<section class="edition-note" aria-labelledby="note-lecteur-title">
|
||||
<p class="landing-kicker">Note au lecteur</p>
|
||||
<h2 id="note-lecteur-title">Statut du travail</h2>
|
||||
|
||||
<p>
|
||||
Le texte que vous vous apprêtez à lire ne constitue pas une théorie close
|
||||
ni un système achevé. Il s’agit d’un travail de longue élaboration, ayant
|
||||
progressivement pris la forme d’une hypothèse structurée : celle d’une
|
||||
méta-grammaire des régulations collectives, désignée ici sous le nom
|
||||
d’archicratie.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Cette proposition vise à offrir un cadre transversal pour penser les formes
|
||||
de constitution, de régulation et d’évolution des collectifs humains, en
|
||||
particulier dans des contextes marqués par la complexification des dispositifs,
|
||||
l’opacification des décisions et la transformation des scènes de conflictualité.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Elle doit donc être lue comme une architecture conceptuelle déjà cohérente
|
||||
dans ses lignes de force, mais encore ouverte à la discussion, à la critique,
|
||||
à l’approfondissement et à la mise à l’épreuve.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Ce texte est proposé non comme un énoncé définitif, mais comme une hypothèse
|
||||
à éprouver : un chantier ouvert dont la viabilité dépendra aussi de sa
|
||||
capacité à être interrogé, corrigé et repris.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section class="landing-section">
|
||||
<div class="landing-section__head">
|
||||
<p class="landing-kicker">Index de l’œuvre</p>
|
||||
<h2>Parcours de lecture</h2>
|
||||
</div>
|
||||
|
||||
<div class="landing-grid">
|
||||
{entries.map((e) => (
|
||||
<a class="landing-card" href={`/archicrat-ia/${String(e.id).replace(/\.(md|mdx)$/i, "")}/`}>
|
||||
<strong>{e.data.title}</strong>
|
||||
<small>Lire ce texte →</small>
|
||||
</a>
|
||||
))}
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</SiteLayout>
|
||||
@@ -7,15 +7,68 @@ entries.sort((a, b) => (a.data.order ?? 9999) - (b.data.order ?? 9999));
|
||||
---
|
||||
|
||||
<SiteLayout title="Cas pratique — Gouvernance des systèmes IA">
|
||||
<h1>Cas pratique — Gouvernance des systèmes IA</h1>
|
||||
<section class="landing landing-home">
|
||||
|
||||
<!-- HERO -->
|
||||
<header class="landing-hero">
|
||||
<p class="landing-kicker">Cas pratique</p>
|
||||
|
||||
<ul>
|
||||
{entries.map((e) => (
|
||||
<li>
|
||||
<a href={`/cas-ia/${String(e.id).replace(/\.(md|mdx)$/i, "")}/`}>
|
||||
{e.data.title}
|
||||
</a>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
<h1>Gouvernance des systèmes IA</h1>
|
||||
|
||||
<p class="landing-lead">
|
||||
Une mise à l’épreuve du paradigme archicratique à travers les systèmes
|
||||
contemporains d’intelligence artificielle.
|
||||
</p>
|
||||
</header>
|
||||
|
||||
<!-- NOTE AU LECTEUR -->
|
||||
<section class="edition-note" aria-labelledby="note-cas-title">
|
||||
<p class="landing-kicker">Note au lecteur</p>
|
||||
<h2 id="note-cas-title">Statut du cas pratique</h2>
|
||||
|
||||
<p>
|
||||
Ce cas pratique ne constitue pas une application stabilisée du paradigme
|
||||
archicratique, mais un terrain d’expérimentation destiné à en éprouver
|
||||
la portée, les limites et les conditions d’opérabilité.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Les systèmes d’intelligence artificielle offrent un environnement
|
||||
particulièrement exigeant : complexité technique, opacité croissante,
|
||||
enchevêtrement d’acteurs, transformations rapides des cadres de régulation.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
L’analyse proposée doit donc être lue comme une série d’épreuves
|
||||
— détectabilité, topologie, archéogenèse, morphologie, historicité,
|
||||
co-viabilité — visant à faire apparaître les architectures effectives
|
||||
qui organisent ces systèmes.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Ce travail n’a pas vocation à clore l’analyse, mais à ouvrir un espace
|
||||
d’investigation : il s’agit moins de fournir des réponses définitives
|
||||
que de rendre visibles les tensions et les structures qui appellent
|
||||
régulation.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<!-- INDEX -->
|
||||
<section class="landing-section">
|
||||
<div class="landing-section__head">
|
||||
<p class="landing-kicker">Index du cas</p>
|
||||
<h2>Parcours d’analyse</h2>
|
||||
</div>
|
||||
|
||||
<div class="landing-grid">
|
||||
{entries.map((e) => (
|
||||
<a class="landing-card" href={`/cas-ia/${String(e.id).replace(/\.(md|mdx)$/i, "")}/`}>
|
||||
<strong>{e.data.title}</strong>
|
||||
<small>Lire ce chapitre →</small>
|
||||
</a>
|
||||
))}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
</section>
|
||||
</SiteLayout>
|
||||
@@ -4,7 +4,7 @@ import DocumentDePresentation from "../../content/commencer/document-de-presenta
|
||||
---
|
||||
|
||||
<EditionLayout
|
||||
title="Document de présentation"
|
||||
title="Entrevoir l’Archicratie"
|
||||
editionLabel="Document d’entrée"
|
||||
editionKey="commencer"
|
||||
statusLabel="Présentation"
|
||||
@@ -12,7 +12,20 @@ import DocumentDePresentation from "../../content/commencer/document-de-presenta
|
||||
level={1}
|
||||
version="0.1.0"
|
||||
>
|
||||
<h1>Document de présentation</h1>
|
||||
<h1 class="commencer-title">Entrevoir l’Archicratie...</h1>
|
||||
|
||||
<DocumentDePresentation />
|
||||
<nav class="landing-actions presentation-next" aria-label="Suite de lecture">
|
||||
<a class="landing-btn landing-btn--primary" href="/archicrat-ia/">
|
||||
Plonger dans l’essai-thèse — ArchiCraT-IA
|
||||
</a>
|
||||
|
||||
<a class="landing-btn" href="/glossaire/">
|
||||
Explorer son glossaire
|
||||
</a>
|
||||
|
||||
<a class="landing-btn" href="/cas-ia/">
|
||||
Entrer dans le cas pratique — Gouvernance IA
|
||||
</a>
|
||||
</nav>
|
||||
</EditionLayout>
|
||||
@@ -6,12 +6,14 @@ import GlossaryEntryLegacyNote from "../../components/GlossaryEntryLegacyNote.as
|
||||
import GlossaryEntryHero from "../../components/GlossaryEntryHero.astro";
|
||||
import GlossaryEntryBody from "../../components/GlossaryEntryBody.astro";
|
||||
import GlossaryEntryStickySync from "../../components/GlossaryEntryStickySync.astro";
|
||||
import GlossarySmartNav from "../../components/GlossarySmartNav.astro";
|
||||
import { getCollection, render } from "astro:content";
|
||||
import {
|
||||
getDisplayDomain,
|
||||
getDisplayFamily,
|
||||
getDisplayLevel,
|
||||
getRelationBlocks,
|
||||
getGlossarySmartNavigation,
|
||||
normalizeGlossarySlug,
|
||||
} from "../../lib/glossary";
|
||||
|
||||
@@ -61,6 +63,7 @@ const isAliasRoute = requestedSlug !== canonicalSlug;
|
||||
const canonicalHref = `/glossaire/${canonicalSlug}/`;
|
||||
|
||||
const relationBlocks = getRelationBlocks(entry, allEntries);
|
||||
const smartNavigation = getGlossarySmartNavigation(entry, allEntries);
|
||||
|
||||
const displayFamily = getDisplayFamily(entry);
|
||||
const displayDomain = getDisplayDomain(entry);
|
||||
@@ -93,6 +96,8 @@ const displayLevel = getDisplayLevel(entry);
|
||||
comparisonTraditions={entry.data.comparisonTraditions ?? []}
|
||||
/>
|
||||
|
||||
<GlossarySmartNav smartNavigation={smartNavigation} />
|
||||
|
||||
<GlossaryEntryBody>
|
||||
<Content />
|
||||
</GlossaryEntryBody>
|
||||
|
||||
@@ -82,7 +82,7 @@ const readingSteps = [
|
||||
num: "05",
|
||||
title: "Revenir à l’archicratie",
|
||||
text:
|
||||
"L’archicratie nomme alors le régime général dans lequel cette composition devient lisible comme structure de régulation.",
|
||||
"L’archicratie nomme alors le méta-régime général dans lequel cette composition devient lisible comme structure de régulation, d'agrégation et d'évolution.",
|
||||
},
|
||||
];
|
||||
|
||||
|
||||
@@ -730,8 +730,9 @@ const approfondirPortalItems = [
|
||||
|
||||
.glossary-map-block__head h2,
|
||||
.glossary-section h2{
|
||||
font-size: clamp(1.2rem, 3.8vw, 1.55rem);
|
||||
line-height: 1.02;
|
||||
font-size: clamp(1.18rem, 3.2vw, 1.42rem);
|
||||
line-height: 1.04;
|
||||
letter-spacing: -.02em;
|
||||
text-wrap: pretty;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,55 +3,70 @@ import SiteLayout from "../layouts/SiteLayout.astro";
|
||||
---
|
||||
|
||||
<SiteLayout title="Archicratie — Édition web">
|
||||
<section class="landing landing-home" aria-labelledby="home-title">
|
||||
<header class="landing-hero">
|
||||
<p class="landing-kicker">Édition web expérimentale</p>
|
||||
|
||||
<h1>Archicratie</h1>
|
||||
<h1 id="home-title">Archicratie</h1>
|
||||
|
||||
<p>
|
||||
Ce site présente le noyau conceptuel du paradigme archicratique :
|
||||
une théorie des architectures de régulation qui rendent possible la co-viabilité
|
||||
des sociétés complexes.
|
||||
</p>
|
||||
<p class="landing-lead">
|
||||
Une recherche indépendante sur les architectures de régulation qui rendent
|
||||
possible la co-viabilité des sociétés complexes.
|
||||
</p>
|
||||
|
||||
<hr />
|
||||
<div class="landing-actions" aria-label="Entrées principales">
|
||||
<a class="landing-btn landing-btn--primary" href="/commencer/">
|
||||
Entrevoir l’archicratie
|
||||
</a>
|
||||
<a class="landing-btn" href="/glossaire/">
|
||||
Explorer son glossaire
|
||||
</a>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<h2>Document d’entrée</h2>
|
||||
<section class="landing-section" aria-labelledby="home-paths-title">
|
||||
<div class="landing-section__head">
|
||||
<p class="landing-kicker">Parcours</p>
|
||||
<h2 id="home-paths-title">Accès principaux</h2>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Le document suivant propose une première entrée dans le paradigme archicratique.
|
||||
</p>
|
||||
<div class="landing-grid">
|
||||
<a class="landing-card" href="/archicrat-ia/">
|
||||
<strong>Essai-thèse — ArchiCraT-IA</strong>
|
||||
<span>
|
||||
Le corpus principal : fondements, histoire, philosophie du pouvoir,
|
||||
tensions et régulations archicratiques.
|
||||
</span>
|
||||
<small>Lire ArchiCraT-IA →</small>
|
||||
</a>
|
||||
|
||||
<p>
|
||||
👉 <a href="/commencer/">Lire le document de présentation</a>
|
||||
</p>
|
||||
<a class="landing-card" href="/cas-ia/">
|
||||
<strong>Cas pratique — Gouvernance IA</strong>
|
||||
<span>
|
||||
Une mise à l’épreuve contemporaine du paradigme à travers la
|
||||
gouvernance des systèmes d’intelligence artificielle.
|
||||
</span>
|
||||
<small>Explorer le cas pratique →</small>
|
||||
</a>
|
||||
|
||||
<hr />
|
||||
|
||||
<h2>Accès principaux</h2>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<a href="/archicrat-ia/">
|
||||
Essai-thèse — ArchiCraT-IA
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="/cas-ia/">
|
||||
Cas pratique — Gouvernance des systèmes IA
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="/glossaire/">
|
||||
Glossaire archicratique
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="/recherche/">
|
||||
Recherche dans les textes
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<a class="landing-card" href="/glossaire/">
|
||||
<strong>Glossaire</strong>
|
||||
<span>
|
||||
La cartographie conceptuelle du système : notions, scènes,
|
||||
dynamiques, tensions et méta-régimes.
|
||||
</span>
|
||||
<small>Entrer dans le glossaire →</small>
|
||||
</a>
|
||||
|
||||
<a class="landing-card" href="/recherche/">
|
||||
<strong>Recherche</strong>
|
||||
<span>
|
||||
Rechercher un terme, une notion ou un passage dans les textes de
|
||||
l’édition web.
|
||||
</span>
|
||||
<small>Lancer une recherche →</small>
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</SiteLayout>
|
||||
@@ -1,41 +1,51 @@
|
||||
---
|
||||
import SiteLayout from "../../layouts/SiteLayout.astro";
|
||||
---
|
||||
|
||||
<SiteLayout title="Recherche">
|
||||
<h1>Recherche</h1>
|
||||
<p>Recherche plein texte (statique) dans les pages “édition-livre”.</p>
|
||||
<section class="search-page" aria-labelledby="search-title">
|
||||
<header class="landing-hero search-hero">
|
||||
<p class="landing-kicker">Exploration transversale</p>
|
||||
<h1 id="search-title">Recherche</h1>
|
||||
<p class="landing-lead">
|
||||
Rechercher un terme, une notion ou un passage dans les textes de l’édition web.
|
||||
</p>
|
||||
</header>
|
||||
|
||||
<div style="display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0 18px;">
|
||||
<label>
|
||||
<span style="display:block;font-size:12px;opacity:0.85;">Terme</span>
|
||||
<input id="q" type="search" placeholder="Ex: archicratie, régulation, inertie…" style="padding:8px 10px;min-width:280px;">
|
||||
</label>
|
||||
<section class="landing-section search-panel" aria-label="Formulaire de recherche">
|
||||
<div class="search-controls">
|
||||
<label class="search-field search-field--main">
|
||||
<span>Terme</span>
|
||||
<input id="q" type="search" autocomplete="off" placeholder="Ex. archicratie, régulation, inertie…" />
|
||||
</label>
|
||||
|
||||
<label>
|
||||
<span style="display:block;font-size:12px;opacity:0.85;">Édition</span>
|
||||
<select id="edition" style="padding:8px 10px;">
|
||||
<option value="">Toutes</option>
|
||||
<option value="archicratie">Archicratie</option>
|
||||
<option value="traite">Traité</option>
|
||||
<option value="ia">Cas IA</option>
|
||||
<option value="glossaire">Glossaire</option>
|
||||
<option value="atlas">Atlas</option>
|
||||
</select>
|
||||
</label>
|
||||
<label class="search-field">
|
||||
<span>Édition</span>
|
||||
<select id="edition">
|
||||
<option value="">Toutes</option>
|
||||
<option value="archicrat-ia">Essai-thèse</option>
|
||||
<option value="cas-ia">Cas IA</option>
|
||||
<option value="glossaire">Glossaire</option>
|
||||
<option value="commencer">Commencer</option>
|
||||
</select>
|
||||
</label>
|
||||
|
||||
<label>
|
||||
<span style="display:block;font-size:12px;opacity:0.85;">Niveau</span>
|
||||
<select id="level" style="padding:8px 10px;">
|
||||
<option value="">Tous</option>
|
||||
<option value="1">1</option>
|
||||
<option value="2">2</option>
|
||||
<option value="3">3</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
<label class="search-field">
|
||||
<span>Niveau</span>
|
||||
<select id="level">
|
||||
<option value="">Tous</option>
|
||||
<option value="1">1</option>
|
||||
<option value="2">2</option>
|
||||
<option value="3">3</option>
|
||||
<option value="4">4</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div id="status" style="margin:10px 0;opacity:0.9;"></div>
|
||||
<ol id="results" style="padding-left:18px;"></ol>
|
||||
<p id="status" class="search-status" aria-live="polite"></p>
|
||||
<ol id="results" class="search-results"></ol>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<script is:inline>
|
||||
(() => {
|
||||
@@ -52,10 +62,10 @@ import SiteLayout from "../../layouts/SiteLayout.astro";
|
||||
pfPromise = (async () => {
|
||||
try {
|
||||
const pagefind = await import("/pagefind/pagefind.js");
|
||||
// init facultatif, mais accélère si on clique dans l’input
|
||||
await pagefind.init?.();
|
||||
return pagefind;
|
||||
} catch {
|
||||
} catch (e) {
|
||||
console.error("[Recherche] Pagefind init failed:", e);
|
||||
return null;
|
||||
}
|
||||
})();
|
||||
@@ -69,25 +79,26 @@ import SiteLayout from "../../layouts/SiteLayout.astro";
|
||||
return Object.keys(filters).length ? filters : null;
|
||||
}
|
||||
|
||||
function clearResults() {
|
||||
results.innerHTML = "";
|
||||
}
|
||||
|
||||
function setStatus(msg) {
|
||||
status.textContent = msg;
|
||||
}
|
||||
|
||||
function clearResults() {
|
||||
results.innerHTML = "";
|
||||
}
|
||||
|
||||
async function runSearch() {
|
||||
const term = q.value.trim();
|
||||
|
||||
if (!term) {
|
||||
setStatus("Tape un terme pour chercher.");
|
||||
setStatus("Tape un terme pour lancer une recherche.");
|
||||
clearResults();
|
||||
return;
|
||||
}
|
||||
|
||||
const pagefind = await getPagefind();
|
||||
if (!pagefind) {
|
||||
setStatus("Index de recherche indisponible. Fais `npm run build` puis `npm run preview`.");
|
||||
setStatus("Index de recherche indisponible. Lance `npm run build` puis `npm run preview`.");
|
||||
clearResults();
|
||||
return;
|
||||
}
|
||||
@@ -96,49 +107,56 @@ import SiteLayout from "../../layouts/SiteLayout.astro";
|
||||
const filters = currentFilters();
|
||||
if (filters) opts.filters = filters;
|
||||
|
||||
setStatus("Recherche…");
|
||||
setStatus("Recherche en cours…");
|
||||
|
||||
const search = await pagefind.debouncedSearch(term, opts, 250);
|
||||
if (search === null) return;
|
||||
|
||||
const items = await Promise.all(search.results.slice(0, 20).map(r => r.data()));
|
||||
setStatus(`${items.length} résultat(s) (sur ${search.results.length}).`);
|
||||
const items = await Promise.all(search.results.slice(0, 24).map((r) => r.data()));
|
||||
|
||||
clearResults();
|
||||
|
||||
if (!items.length) {
|
||||
setStatus("Aucun résultat pour cette recherche.");
|
||||
return;
|
||||
}
|
||||
|
||||
setStatus(`${items.length} résultat(s) affiché(s) sur ${search.results.length}.`);
|
||||
|
||||
results.innerHTML = "";
|
||||
for (const item of items) {
|
||||
const li = document.createElement("li");
|
||||
li.style.marginBottom = "12px";
|
||||
li.className = "search-result";
|
||||
|
||||
const a = document.createElement("a");
|
||||
a.className = "search-result__title";
|
||||
a.href = item.url;
|
||||
a.textContent = item.meta?.title || item.url;
|
||||
|
||||
const meta = document.createElement("div");
|
||||
meta.style.fontSize = "12px";
|
||||
meta.style.opacity = "0.85";
|
||||
const edv = item.meta?.edition ? `édition: ${item.meta.edition}` : "";
|
||||
const lv = item.meta?.level ? `niveau: ${item.meta.level}` : "";
|
||||
const v = item.meta?.version ? `v${item.meta.version}` : "";
|
||||
meta.textContent = [edv, lv, v].filter(Boolean).join(" · ");
|
||||
meta.className = "search-result__meta";
|
||||
|
||||
const ex = document.createElement("div");
|
||||
ex.style.marginTop = "6px";
|
||||
ex.innerHTML = item.excerpt || "";
|
||||
const edition = item.meta?.edition ? `édition : ${item.meta.edition}` : "";
|
||||
const level = item.meta?.level ? `niveau : ${item.meta.level}` : "";
|
||||
const version = item.meta?.version ? `v${item.meta.version}` : "";
|
||||
meta.textContent = [edition, level, version].filter(Boolean).join(" · ");
|
||||
|
||||
const excerpt = document.createElement("div");
|
||||
excerpt.className = "search-result__excerpt";
|
||||
excerpt.innerHTML = item.excerpt || "";
|
||||
|
||||
li.appendChild(a);
|
||||
if (meta.textContent) li.appendChild(meta);
|
||||
li.appendChild(ex);
|
||||
li.appendChild(excerpt);
|
||||
results.appendChild(li);
|
||||
}
|
||||
}
|
||||
|
||||
// Précharge quand focus => UX meilleure
|
||||
q.addEventListener("focus", () => { getPagefind(); });
|
||||
|
||||
q.addEventListener("input", runSearch);
|
||||
ed.addEventListener("change", runSearch);
|
||||
lv.addEventListener("change", runSearch);
|
||||
|
||||
setStatus("Tape un terme pour chercher.");
|
||||
setStatus("Tape un terme pour lancer une recherche.");
|
||||
})();
|
||||
</script>
|
||||
</SiteLayout>
|
||||
</SiteLayout>
|
||||
@@ -65,20 +65,112 @@ a:hover { text-decoration: underline; }
|
||||
header{
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 50;
|
||||
z-index: 1000;
|
||||
isolation: isolate;
|
||||
|
||||
background: rgba(255,255,255,.92);
|
||||
backdrop-filter: blur(10px);
|
||||
-webkit-backdrop-filter: blur(10px);
|
||||
background: rgba(0,0,0,.82);
|
||||
backdrop-filter: blur(12px);
|
||||
-webkit-backdrop-filter: blur(12px);
|
||||
|
||||
border-bottom: 1px solid rgba(127,127,127,0.35);
|
||||
padding: 12px 16px;
|
||||
border-bottom: 1px solid rgba(127,127,127,0.28);
|
||||
padding: 10px 16px;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: light){
|
||||
header{
|
||||
background: rgba(255,255,255,.90);
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark){
|
||||
header{ background: rgba(0,0,0,.72); }
|
||||
}
|
||||
|
||||
.site-nav { font-size: 14px; opacity: 0.9; }
|
||||
.site-nav{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
font-size: 13px;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.site-nav span[aria-hidden="true"]{
|
||||
display: none;
|
||||
}
|
||||
|
||||
.site-nav a{
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
min-height: 30px;
|
||||
padding: 5px 10px;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 999px;
|
||||
color: #00d9ff;
|
||||
font-weight: 700;
|
||||
text-decoration: none;
|
||||
opacity: .94;
|
||||
transition:
|
||||
transform 120ms var(--ease-out),
|
||||
background 120ms var(--ease-out),
|
||||
border-color 120ms var(--ease-out),
|
||||
opacity 120ms var(--ease-out);
|
||||
}
|
||||
|
||||
/* ===== SiteNav : lien actif ===== */
|
||||
/* ===== SiteNav : lien actif ===== */
|
||||
.site-nav a[aria-current="page"],
|
||||
.site-nav a.is-active,
|
||||
.site-nav a[data-active="true"]{
|
||||
position: relative;
|
||||
color: #00d9ff;
|
||||
border-color: rgba(0,217,255,0.42);
|
||||
background:
|
||||
radial-gradient(circle at 50% 50%, rgba(0,217,255,0.16), transparent 68%),
|
||||
rgba(0,217,255,0.075);
|
||||
box-shadow:
|
||||
0 0 0 1px rgba(0,217,255,0.12),
|
||||
0 0 14px rgba(0,217,255,0.18),
|
||||
inset 0 0 14px rgba(0,217,255,0.045);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.site-nav a:hover{
|
||||
transform: translateY(-1px);
|
||||
background: rgba(0,217,255,.08);
|
||||
border-color: rgba(0,217,255,.22);
|
||||
opacity: 1;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.site-nav a:active{
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
@media (max-width: 760px){
|
||||
.site-nav{
|
||||
gap: 5px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.site-nav a{
|
||||
min-height: 28px;
|
||||
padding: 4px 8px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (orientation: landscape) and (max-width: 920px) and (max-height: 520px){
|
||||
.site-nav{
|
||||
gap: 4px;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.site-nav a{
|
||||
min-height: 24px;
|
||||
padding: 3px 7px;
|
||||
}
|
||||
}
|
||||
|
||||
main { padding: 0; }
|
||||
|
||||
.reading {
|
||||
@@ -90,12 +182,10 @@ main { padding: 0; }
|
||||
letter-spacing: 0.005em;
|
||||
}
|
||||
|
||||
.reading h1 {
|
||||
line-height: 1.2;
|
||||
margin: 0 0 10px;
|
||||
|
||||
/* polish */
|
||||
letter-spacing: -0.01em;
|
||||
.reading > h1{
|
||||
font-size: clamp(1.8rem, 3.5vw, 2.6rem);
|
||||
line-height: 1.15;
|
||||
letter-spacing: -0.02em;
|
||||
}
|
||||
|
||||
.reading p { margin: 0 0 12px; }
|
||||
@@ -626,4 +716,320 @@ html{ scroll-behavior: smooth; }
|
||||
|
||||
.glossary-alpha-group h3{
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
/* ==========================
|
||||
Landing pages
|
||||
========================== */
|
||||
|
||||
.reading:has(> .landing){
|
||||
max-width: min(1180px, calc(100vw - 32px));
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.landing{
|
||||
display: grid;
|
||||
gap: clamp(18px, 3vw, 30px);
|
||||
width: 100%;
|
||||
padding: 14px 0 10px;
|
||||
}
|
||||
|
||||
.landing-hero,
|
||||
.landing-section,
|
||||
.edition-note{
|
||||
position: relative;
|
||||
z-index: 0;
|
||||
overflow: hidden;
|
||||
border: 1px solid rgba(127,127,127,0.22);
|
||||
border-radius: 24px;
|
||||
background:
|
||||
radial-gradient(circle at 12% 0%, rgba(0,217,255,0.12), transparent 36%),
|
||||
rgba(127,127,127,0.045);
|
||||
}
|
||||
|
||||
.landing-hero{
|
||||
padding: clamp(24px, 4vw, 46px);
|
||||
}
|
||||
|
||||
.landing-kicker{
|
||||
margin: 0 0 8px;
|
||||
color: #00d9ff;
|
||||
font-size: .78rem;
|
||||
line-height: 1.2;
|
||||
font-weight: 850;
|
||||
letter-spacing: .08em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.landing-hero h1{
|
||||
margin: 0;
|
||||
font-size: clamp(2.45rem, 7vw, 5.4rem);
|
||||
line-height: .95;
|
||||
letter-spacing: -.055em;
|
||||
text-shadow: 0 0 34px rgba(0,217,255,.10);
|
||||
}
|
||||
|
||||
.landing-lead{
|
||||
max-width: 66ch;
|
||||
margin: 18px 0 0;
|
||||
font-size: clamp(1.02rem, 2vw, 1.28rem);
|
||||
line-height: 1.55;
|
||||
opacity: .94;
|
||||
text-wrap: pretty;
|
||||
}
|
||||
|
||||
.landing-actions{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 10px;
|
||||
margin-top: 24px;
|
||||
}
|
||||
|
||||
.landing-btn{
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-height: 38px;
|
||||
padding: 7px 14px;
|
||||
border: 1px solid rgba(127,127,127,0.38);
|
||||
border-radius: 999px;
|
||||
background: rgba(127,127,127,0.06);
|
||||
font-weight: 850;
|
||||
text-decoration: none;
|
||||
transition:
|
||||
transform 120ms var(--ease-out),
|
||||
background 120ms var(--ease-out),
|
||||
border-color 120ms var(--ease-out);
|
||||
}
|
||||
|
||||
.landing-btn:hover{
|
||||
transform: translateY(-1px);
|
||||
background: rgba(127,127,127,0.11);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.landing-btn--primary{
|
||||
border-color: rgba(0,217,255,0.42);
|
||||
background: rgba(0,217,255,0.10);
|
||||
color: #00d9ff;
|
||||
}
|
||||
|
||||
.landing-section,
|
||||
.edition-note{
|
||||
padding: clamp(18px, 3vw, 28px);
|
||||
}
|
||||
|
||||
.landing-section__head,
|
||||
.edition-note .landing-kicker{
|
||||
margin-bottom: 14px;
|
||||
}
|
||||
|
||||
.landing-section h2,
|
||||
.edition-note h2{
|
||||
margin: 0;
|
||||
font-size: clamp(1.45rem, 3vw, 2.25rem);
|
||||
line-height: 1.05;
|
||||
letter-spacing: -.035em;
|
||||
}
|
||||
|
||||
.edition-note p:not(.landing-kicker){
|
||||
max-width: 78ch;
|
||||
margin: 14px 0 0;
|
||||
line-height: 1.62;
|
||||
opacity: .93;
|
||||
text-wrap: pretty;
|
||||
}
|
||||
|
||||
.landing-grid{
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.landing-card{
|
||||
display: grid;
|
||||
gap: 8px;
|
||||
min-width: 0;
|
||||
padding: 16px;
|
||||
border: 1px solid rgba(127,127,127,0.22);
|
||||
border-radius: 18px;
|
||||
background: rgba(127,127,127,0.045);
|
||||
text-decoration: none;
|
||||
transition:
|
||||
transform 120ms var(--ease-out),
|
||||
background 120ms var(--ease-out),
|
||||
border-color 120ms var(--ease-out);
|
||||
}
|
||||
|
||||
.landing-card:hover{
|
||||
transform: translateY(-1px);
|
||||
background: rgba(127,127,127,0.075);
|
||||
border-color: rgba(0,217,255,0.24);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.landing-card strong{
|
||||
color: #00d9ff;
|
||||
font-size: 1.05rem;
|
||||
line-height: 1.22;
|
||||
}
|
||||
|
||||
.landing-card span{
|
||||
color: inherit;
|
||||
line-height: 1.5;
|
||||
opacity: .92;
|
||||
}
|
||||
|
||||
.landing-card small{
|
||||
color: #00d9ff;
|
||||
font-weight: 800;
|
||||
opacity: .92;
|
||||
}
|
||||
|
||||
.presentation-next{
|
||||
margin-top: 42px;
|
||||
padding-top: 24px;
|
||||
border-top: 1px solid rgba(127,127,127,0.25);
|
||||
}
|
||||
|
||||
body[data-edition-key="commencer"] .commencer-title{
|
||||
font-size: clamp(2.6rem, 6vw, 4.8rem);
|
||||
line-height: .98;
|
||||
letter-spacing: -.055em;
|
||||
margin: 18px 0 28px;
|
||||
text-shadow: 0 0 34px rgba(0,217,255,.10);
|
||||
}
|
||||
|
||||
body[data-edition-key="commencer"] .reading h2{
|
||||
margin-top: 34px;
|
||||
padding-top: 18px;
|
||||
border-top: 1px solid rgba(127,127,127,.18);
|
||||
font-size: clamp(1.35rem, 2.3vw, 1.85rem);
|
||||
letter-spacing: -.025em;
|
||||
}
|
||||
|
||||
body[data-edition-key="commencer"] .reading h2:first-of-type{
|
||||
margin-top: 0;
|
||||
padding-top: 0;
|
||||
border-top: 0;
|
||||
}
|
||||
|
||||
@media (max-width: 760px){
|
||||
.reading:has(> .landing){
|
||||
max-width: none;
|
||||
width: auto;
|
||||
margin: 0;
|
||||
padding: 0 12px;
|
||||
}
|
||||
|
||||
.landing{
|
||||
gap: 18px;
|
||||
padding-top: 8px;
|
||||
}
|
||||
|
||||
.landing-hero,
|
||||
.landing-section,
|
||||
.edition-note{
|
||||
border-radius: 18px;
|
||||
}
|
||||
|
||||
.landing-hero,
|
||||
.landing-section,
|
||||
.edition-note{
|
||||
padding: 18px 16px;
|
||||
}
|
||||
|
||||
.landing-hero h1{
|
||||
font-size: clamp(2.15rem, 13vw, 3.25rem);
|
||||
}
|
||||
|
||||
.landing-lead{
|
||||
font-size: .98rem;
|
||||
line-height: 1.42;
|
||||
}
|
||||
|
||||
.landing-grid{
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.landing-card{
|
||||
padding: 14px;
|
||||
border-radius: 15px;
|
||||
}
|
||||
|
||||
.edition-note p:not(.landing-kicker){
|
||||
line-height: 1.52;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 460px){
|
||||
.landing-actions{
|
||||
display: grid;
|
||||
}
|
||||
|
||||
.landing-btn{
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
}
|
||||
|
||||
@media (orientation: landscape) and (max-width: 920px) and (max-height: 520px){
|
||||
.reading:has(> .landing){
|
||||
max-width: none;
|
||||
width: auto;
|
||||
margin: 0;
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
.landing{
|
||||
gap: 14px;
|
||||
padding-top: 6px;
|
||||
}
|
||||
|
||||
.landing-hero,
|
||||
.landing-section,
|
||||
.edition-note{
|
||||
padding: 14px 16px;
|
||||
border-radius: 16px;
|
||||
}
|
||||
|
||||
.landing-hero h1{
|
||||
font-size: clamp(2.2rem, 6vw, 4.6rem);
|
||||
}
|
||||
|
||||
.landing-lead{
|
||||
margin-top: 12px;
|
||||
font-size: .94rem;
|
||||
line-height: 1.38;
|
||||
}
|
||||
|
||||
.landing-actions{
|
||||
margin-top: 16px;
|
||||
}
|
||||
|
||||
.edition-note p:not(.landing-kicker){
|
||||
margin-top: 10px;
|
||||
line-height: 1.45;
|
||||
}
|
||||
}
|
||||
|
||||
.search-hero h1{
|
||||
font-size: clamp(1.9rem, 4.5vw, 2.8rem);
|
||||
letter-spacing: -0.03em;
|
||||
}
|
||||
|
||||
.reading h1{
|
||||
font-size: clamp(1.8rem, 3.5vw, 2.6rem);
|
||||
line-height: 1.15;
|
||||
letter-spacing: -0.02em;
|
||||
}
|
||||
|
||||
@media (max-width: 760px){
|
||||
.landing-hero h1{
|
||||
font-size: clamp(2rem, 10vw, 3.2rem);
|
||||
}
|
||||
|
||||
.search-hero h1{
|
||||
font-size: clamp(1.7rem, 7vw, 2.3rem);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user