Compare commits
2 Commits
fix/conten
...
bot/propos
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9be7d170c6 | ||
| c2c98c516b |
@@ -1,5 +1,8 @@
|
||||
{
|
||||
"/archicrat-ia/chapitre-3/": {
|
||||
"p-1-60c7ea48": "p-1-a21087b0"
|
||||
},
|
||||
"/cas-ia/introduction/": {
|
||||
"p-10-ceba29a2": "p-10-93d1eda0"
|
||||
}
|
||||
}
|
||||
|
||||
42
src/content/archicratie/00-demarrage.mdx
Normal file
42
src/content/archicratie/00-demarrage.mdx
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
title: "Démarrage — Essai-thèse"
|
||||
edition: "archicratie"
|
||||
status: "modele_sociopolitique"
|
||||
level: 1
|
||||
version: "0.0.1"
|
||||
concepts: ["archicratie"]
|
||||
links:
|
||||
- type: "definition"
|
||||
target: "/glossaire/archicratie/"
|
||||
note: "Terme canonique."
|
||||
order: 0
|
||||
summary: "Page de test (structure)."
|
||||
---
|
||||
|
||||
import Callout from "../../components/Callout.astro";
|
||||
import Term from "../../components/Term.astro";
|
||||
|
||||
Ceci est une page de test pour valider la structure de l’**Essai-thèse**.
|
||||
|
||||
<Callout kind="definition" title="Entrée minimale">
|
||||
<p>
|
||||
<Term term="Archicratie" slug="archicratie" /> : régime où l’instance régulatrice est tenue d’exposer ses prises,
|
||||
ses critères et ses scènes d’épreuve.
|
||||
</p>
|
||||
</Callout>
|
||||
|
||||
<Callout kind="these" title="Ce que l’édition web doit rendre possible">
|
||||
<p>Une lecture à plusieurs niveaux, sans confusion entre les productions, et une citabilité stable.</p>
|
||||
</Callout>
|
||||
|
||||
<div class="level-2">
|
||||
<Callout kind="objection" title="Objection (niveau 2)">
|
||||
<p>Que gagne-t-on par rapport à une simple doctrine ? Réponse : la scène, la contrainte d’exposition, la pluralisation des prises.</p>
|
||||
</Callout>
|
||||
</div>
|
||||
|
||||
<div class="level-3">
|
||||
<Callout kind="limite" title="Limite (niveau 3)">
|
||||
<p>Tout schéma d’articulation doit préciser ses non-déductions (transpositions), sinon confusion Traité ↔ Archicratie.</p>
|
||||
</Callout>
|
||||
</div>
|
||||
13
src/content/atlas/00-demarrage.md
Normal file
13
src/content/atlas/00-demarrage.md
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
title: "Démarrage — Atlas"
|
||||
edition: "atlas"
|
||||
status: "cartographie"
|
||||
level: 1
|
||||
version: "0.0.1"
|
||||
concepts: ["archicrates"]
|
||||
links: []
|
||||
order: 0
|
||||
summary: "Page de test (structure)."
|
||||
---
|
||||
|
||||
Ceci est une page de test pour valider la structure de l’**Atlas**.
|
||||
@@ -33,7 +33,7 @@ C’est cette incrustation que nous allons prendre pour terrain. Pour rendre l
|
||||
|
||||
- dans la modération et la curation de contenus, pour filtrer des messages “toxiques”, recommander des publications, ajuster la visibilité de certains profils.
|
||||
|
||||
Système F n’est pas un fantasme technologique éloigné : il agrège des fonctions déjà présentes, sous d’autres noms, dans de nombreux pays et secteurs. Des algorithmes de *scoring* de fraude sociale ont été utilisés dans des administrations de sécurité sociale, provoquant scandales et contentieux lorsqu’ils ciblaient de façon disproportionnée certains quartiers, certaines familles, certains types de parcours\* ; des systèmes d’évaluation de risque ont été intégrés à des décisions de justice pour proposer des peines ou des libérations conditionnelles ; des plateformes de recrutement recourent à des modèles d’IA pour pré-filtrer des milliers de candidatures en quelques minutes ; les systèmes de modération emploient depuis longtemps des modèles d’apprentissage pour détecter les propos violents, haineux, pornographiques. Système F est donc moins une fiction qu’un nom commun donné à un ensemble de tendances déjà engagées.
|
||||
Système F n’est pas un fantasme technologique éloigné : il agrège des fonctions déjà présentes, sous d’autres noms, dans de nombreux pays et secteurs. Des algorithmes de scoring de fraude sociale ont été utilisés dans des administrations de sécurité sociale, provoquant scandales et contentieux lorsqu’ils ciblaient de façon disproportionnée certains quartiers, certaines familles, certains types de parcours ; des systèmes d’évaluation de risque ont été intégrés à des décisions de justice pour proposer des peines ou des libérations conditionnelles ; des plateformes de recrutement recourent à des modèles d’IA pour pré-filtrer des milliers de candidatures en quelques minutes ; les systèmes de modération emploient depuis longtemps des modèles d’apprentissage pour détecter les propos violents, haineux, pornographiques. Système F est donc moins une fiction qu’un nom commun donné à un ensemble de tendances déjà engagées.
|
||||
|
||||
Ce qui nous intéresse n’est pas l’IA “en général”, ni l’intelligence artificielle comme problème métaphysique. Ce qui nous intéresse, dans notre manière de voir les choses, c’est l’écosystème socio-technique dans lequel Système F est inséré : les chaînes cratiales qu’il tisse ou renforce, les formes d’arcalité explicite ou implicite qu’il véhicule, les archicrations qu’il rencontre, détourne ou évite. Un modèle appelé par API dans un formulaire de demande de logement n’est pas un objet neutre : il devient un segment de chaîne régulatrice qui affecte des droits à l’hébergement ; il participe à la décision de traiter un dossier en priorité, de le mettre en attente, de le faire basculer dans la catégorie “suspect”. De même, un modèle intégré au tri des CV dans une grande entreprise n’est pas un simple gain de temps : il devient un opérateur qui donne la forme concrète de l’accès à l’emploi.
|
||||
|
||||
|
||||
@@ -17,6 +17,21 @@ const baseTextSchema = z.object({
|
||||
});
|
||||
|
||||
// Éditions (séparation stricte : edition + status verrouillés par collection)
|
||||
const traite = defineCollection({
|
||||
type: "content",
|
||||
schema: baseTextSchema.extend({
|
||||
edition: z.literal("traite"),
|
||||
status: z.literal("theorie_fondamentale")
|
||||
})
|
||||
});
|
||||
|
||||
const archicratie = defineCollection({
|
||||
type: "content",
|
||||
schema: baseTextSchema.extend({
|
||||
edition: z.literal("archicratie"),
|
||||
status: z.literal("modele_sociopolitique")
|
||||
})
|
||||
});
|
||||
|
||||
const casIa = defineCollection({
|
||||
type: "content",
|
||||
@@ -26,11 +41,11 @@ const casIa = defineCollection({
|
||||
})
|
||||
});
|
||||
|
||||
const commencer = defineCollection({
|
||||
const atlas = defineCollection({
|
||||
type: "content",
|
||||
schema: baseTextSchema.extend({
|
||||
edition: z.literal("commencer"),
|
||||
status: z.union([z.literal("presentation"), z.literal("draft")])
|
||||
edition: z.literal("atlas"),
|
||||
status: z.literal("cartographie")
|
||||
})
|
||||
});
|
||||
|
||||
@@ -64,8 +79,12 @@ const glossaire = defineCollection({
|
||||
});
|
||||
|
||||
export const collections = {
|
||||
commencer,
|
||||
"archicrat-ia": archicratIa,
|
||||
traite,
|
||||
archicratie,
|
||||
"cas-ia": casIa,
|
||||
glossaire,
|
||||
atlas,
|
||||
|
||||
// ⚠️ clé avec tiret => doit être quotée
|
||||
"archicrat-ia": archicratIa
|
||||
};
|
||||
13
src/content/ia/00-demarrage.md
Normal file
13
src/content/ia/00-demarrage.md
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
title: "Démarrage — Cas pratique IA"
|
||||
edition: "ia"
|
||||
status: "application"
|
||||
level: 1
|
||||
version: "0.0.1"
|
||||
concepts: ["gouvernance-ia"]
|
||||
links: []
|
||||
order: 0
|
||||
summary: "Page de test (structure)."
|
||||
---
|
||||
|
||||
Ceci est une page de test pour valider la structure du **Cas pratique IA**.
|
||||
13
src/content/traite/00-demarrage.md
Normal file
13
src/content/traite/00-demarrage.md
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
title: "Démarrage — Traité"
|
||||
edition: "traite"
|
||||
status: "theorie_fondamentale"
|
||||
level: 1
|
||||
version: "0.0.1"
|
||||
concepts: ["ontodynamique-generative"]
|
||||
links: []
|
||||
order: 0
|
||||
summary: "Page de test (structure)."
|
||||
---
|
||||
|
||||
Ceci est une page de test pour valider la structure du **Traité**.
|
||||
36
src/pages/archicratie/[...slug].astro
Normal file
36
src/pages/archicratie/[...slug].astro
Normal file
@@ -0,0 +1,36 @@
|
||||
---
|
||||
import EditionLayout from "../../layouts/EditionLayout.astro";
|
||||
import { getCollection } from "astro:content";
|
||||
import EditionToc from "../../components/EditionToc.astro";
|
||||
import LocalToc from "../../components/LocalToc.astro";
|
||||
|
||||
export async function getStaticPaths() {
|
||||
const entries = (await getCollection("archicratie"))
|
||||
.filter((e) => !e.slug.startsWith("archicrat-ia/"));
|
||||
return entries.map((entry) => ({
|
||||
params: { slug: entry.slug },
|
||||
props: { entry },
|
||||
}));
|
||||
}
|
||||
|
||||
const { entry } = Astro.props;
|
||||
const { Content, headings } = await entry.render();
|
||||
---
|
||||
|
||||
<EditionLayout
|
||||
title={entry.data.title}
|
||||
editionLabel="Archicratie"
|
||||
editionKey="archicratie"
|
||||
statusLabel="modèle sociopolitique"
|
||||
statusKey="modele_sociopolitique"
|
||||
level={entry.data.level}
|
||||
version={entry.data.version}
|
||||
>
|
||||
<Fragment slot="aside">
|
||||
<EditionToc currentSlug={entry.slug} />
|
||||
<LocalToc headings={headings} />
|
||||
</Fragment>
|
||||
|
||||
<h1>{entry.data.title}</h1>
|
||||
<Content />
|
||||
</EditionLayout>
|
||||
16
src/pages/archicratie/index.astro
Normal file
16
src/pages/archicratie/index.astro
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
import SiteLayout from "../../layouts/SiteLayout.astro";
|
||||
import { getCollection } from "astro:content";
|
||||
|
||||
const entries = (await getCollection('archicratie'))
|
||||
.filter((e) => e.slug !== "prologue");
|
||||
entries.sort((a, b) => (a.data.order ?? 9999) - (b.data.order ?? 9999));
|
||||
---
|
||||
<SiteLayout title="Essai-thèse — Archicratie">
|
||||
<h1>Essai-thèse — Archicratie</h1>
|
||||
<ul>
|
||||
{entries.map((e) => (
|
||||
<li><a href={`/archicratie/${e.slug}/`}>{e.data.title}</a></li>
|
||||
))}
|
||||
</ul>
|
||||
</SiteLayout>
|
||||
28
src/pages/atlas/[...slug].astro
Normal file
28
src/pages/atlas/[...slug].astro
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
import EditionLayout from "../../layouts/EditionLayout.astro";
|
||||
import { getCollection } from "astro:content";
|
||||
|
||||
export async function getStaticPaths() {
|
||||
const entries = await getCollection("atlas");
|
||||
return entries.map((entry) => ({
|
||||
params: { slug: entry.slug },
|
||||
props: { entry },
|
||||
}));
|
||||
}
|
||||
|
||||
const { entry } = Astro.props;
|
||||
const { Content } = await entry.render();
|
||||
---
|
||||
|
||||
<EditionLayout
|
||||
title={entry.data.title}
|
||||
editionLabel="Atlas"
|
||||
editionKey="atlas"
|
||||
statusLabel="cartographie"
|
||||
statusKey="cartographie"
|
||||
level={entry.data.level}
|
||||
version={entry.data.version}
|
||||
>
|
||||
<h1>{entry.data.title}</h1>
|
||||
<Content />
|
||||
</EditionLayout>
|
||||
15
src/pages/atlas/index.astro
Normal file
15
src/pages/atlas/index.astro
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
import SiteLayout from "../../layouts/SiteLayout.astro";
|
||||
import { getCollection } from "astro:content";
|
||||
|
||||
const entries = await getCollection("atlas");
|
||||
entries.sort((a, b) => (a.data.order ?? 9999) - (b.data.order ?? 9999));
|
||||
---
|
||||
<SiteLayout title="Atlas archicratique">
|
||||
<h1>Atlas archicratique</h1>
|
||||
<ul>
|
||||
{entries.map((e) => (
|
||||
<li><a href={`/atlas/${e.slug}/`}>{e.data.title}</a></li>
|
||||
))}
|
||||
</ul>
|
||||
</SiteLayout>
|
||||
7
src/pages/editions/index.astro
Normal file
7
src/pages/editions/index.astro
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
import SiteLayout from "../../layouts/SiteLayout.astro";
|
||||
---
|
||||
<SiteLayout title="Carte des œuvres">
|
||||
<h1>Carte des œuvres</h1>
|
||||
<p>Cette page explicite la séparation stricte et l’articulation entre les éditions.</p>
|
||||
</SiteLayout>
|
||||
28
src/pages/ia/[...slug].astro
Normal file
28
src/pages/ia/[...slug].astro
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
import EditionLayout from "../../layouts/EditionLayout.astro";
|
||||
import { getCollection } from "astro:content";
|
||||
|
||||
export async function getStaticPaths() {
|
||||
const entries = await getCollection("ia");
|
||||
return entries.map((entry) => ({
|
||||
params: { slug: entry.slug },
|
||||
props: { entry },
|
||||
}));
|
||||
}
|
||||
|
||||
const { entry } = Astro.props;
|
||||
const { Content } = await entry.render();
|
||||
---
|
||||
|
||||
<EditionLayout
|
||||
title={entry.data.title}
|
||||
editionLabel="Cas IA"
|
||||
editionKey="ia"
|
||||
statusLabel="application"
|
||||
statusKey="application"
|
||||
level={entry.data.level}
|
||||
version={entry.data.version}
|
||||
>
|
||||
<h1>{entry.data.title}</h1>
|
||||
<Content />
|
||||
</EditionLayout>
|
||||
15
src/pages/ia/index.astro
Normal file
15
src/pages/ia/index.astro
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
import SiteLayout from "../../layouts/SiteLayout.astro";
|
||||
import { getCollection } from "astro:content";
|
||||
|
||||
const entries = await getCollection("ia");
|
||||
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>
|
||||
<ul>
|
||||
{entries.map((e) => (
|
||||
<li><a href={`/ia/${e.slug}/`}>{e.data.title}</a></li>
|
||||
))}
|
||||
</ul>
|
||||
</SiteLayout>
|
||||
38
src/pages/methode/index.astro
Normal file
38
src/pages/methode/index.astro
Normal file
@@ -0,0 +1,38 @@
|
||||
---
|
||||
import SiteLayout from "../../layouts/SiteLayout.astro";
|
||||
---
|
||||
<SiteLayout title="Méthode & statut des textes">
|
||||
<h1>Méthode & statut des textes</h1>
|
||||
|
||||
<h2>1) Séparation stricte des productions</h2>
|
||||
<ul>
|
||||
<li><strong>Traité</strong> : ontodynamique générative (théorie fondamentale).</li>
|
||||
<li><strong>Essai-thèse</strong> : archicratie (modèle sociopolitique).</li>
|
||||
<li><strong>Cas pratique</strong> : gouvernance des systèmes IA (application).</li>
|
||||
<li><strong>Glossaire</strong> : référentiel terminologique (définitions et renvois).</li>
|
||||
<li><strong>Atlas</strong> : cartographie des archicrates (à venir).</li>
|
||||
</ul>
|
||||
|
||||
<h2>2) Règle d’or : liens typés</h2>
|
||||
<p>Tout lien important est explicitement typé :</p>
|
||||
<ul>
|
||||
<li><strong>definition</strong> : renvoi vers le glossaire (sens canonique).</li>
|
||||
<li><strong>appui</strong> : renvoi argumentatif (support).</li>
|
||||
<li><strong>transposition</strong> : analogie / déplacement non-déductif (anti-confusion Traité ↔ Archicratie).</li>
|
||||
</ul>
|
||||
|
||||
<h2>3) Niveaux de lecture</h2>
|
||||
<p>Le même texte peut contenir trois niveaux :</p>
|
||||
<ul>
|
||||
<li><strong>Niveau 1</strong> : lecture citoyenne (accès principal).</li>
|
||||
<li><strong>Niveau 2</strong> : approfondissement.</li>
|
||||
<li><strong>Niveau 3</strong> : niveau recherche.</li>
|
||||
</ul>
|
||||
<p>Techniquement : les blocs <code>.level-2</code> et <code>.level-3</code> sont masqués/affichés par le toggle, sans casser la lisibilité si JS est absent.</p>
|
||||
|
||||
<h2>4) Citabilité</h2>
|
||||
<p>Chaque paragraphe reçoit un identifiant stable et peut être cité par ancre (bouton “Citer”).</p>
|
||||
|
||||
<h2>5) Statut éditorial</h2>
|
||||
<p>Chaque page indique : Édition / Statut / Niveau / Version. Les versions servent à garantir la citabilité et l’historique.</p>
|
||||
</SiteLayout>
|
||||
28
src/pages/traite/[...slug].astro
Normal file
28
src/pages/traite/[...slug].astro
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
import EditionLayout from "../../layouts/EditionLayout.astro";
|
||||
import { getCollection } from "astro:content";
|
||||
|
||||
export async function getStaticPaths() {
|
||||
const entries = await getCollection("traite");
|
||||
return entries.map((entry) => ({
|
||||
params: { slug: entry.slug },
|
||||
props: { entry },
|
||||
}));
|
||||
}
|
||||
|
||||
const { entry } = Astro.props;
|
||||
const { Content } = await entry.render();
|
||||
---
|
||||
|
||||
<EditionLayout
|
||||
title={entry.data.title}
|
||||
editionLabel="Traité"
|
||||
editionKey="traite"
|
||||
statusLabel="théorie fondamentale"
|
||||
statusKey="theorie_fondamentale"
|
||||
level={entry.data.level}
|
||||
version={entry.data.version}
|
||||
>
|
||||
<h1>{entry.data.title}</h1>
|
||||
<Content />
|
||||
</EditionLayout>
|
||||
15
src/pages/traite/index.astro
Normal file
15
src/pages/traite/index.astro
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
import SiteLayout from "../../layouts/SiteLayout.astro";
|
||||
import { getCollection } from "astro:content";
|
||||
|
||||
const entries = await getCollection("traite");
|
||||
entries.sort((a, b) => (a.data.order ?? 9999) - (b.data.order ?? 9999));
|
||||
---
|
||||
<SiteLayout title="Traité — Ontodynamique générative">
|
||||
<h1>Traité — Ontodynamique générative</h1>
|
||||
<ul>
|
||||
{entries.map((e) => (
|
||||
<li><a href={`/traite/${e.slug}/`}>{e.data.title}</a></li>
|
||||
))}
|
||||
</ul>
|
||||
</SiteLayout>
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user