Sans rien
Le client vous écrit
- Une virgule à corriger devient un ticket.
- Vous facturez dix minutes ou vous les offrez.
- Le site se périme parce que personne ne le touche.
inline-core 2.1.0 · périmètre v1 gelé
Le contenu vit dans des fichiers JSON versionnés. Astro les injecte au moment du build. Une interface superposée les rend modifiables directement dans la page — et la publication écrit un commit. Pas de CMS, pas de base de données, pas de serveur applicatif à surveiller.
Lire la documentation Essayer le simulateur
$ npm create inline@latest mon-site
$ pnpm create inline mon-site
$ bun create inline mon-site
Un site neuf, éditable en local, en quatre commandes.
Menuiserie sur mesure
Agencement, restauration, pose. Depuis 1974.
+images/fournil-au-petit-matin.webp210 Ko
Aucun fichier pour la vidéo : le schéma n’en retient que le fournisseur et l’identifiant.
Le site
Le visiteur reçoit du HTML pré-construit. Rien à interroger, rien à réveiller.
La clé
Une clé, une fois, sur /admin. Pas de compte à créer, pas de mot de passe à réinitialiser.
L'édition
L'overlay repère les champs éditables et les rend modifiables là où ils sont.
Les médias
La photo est recadrée et convertie en WebP dans le navigateur avant de partir. La vidéo, elle, n'entre jamais dans le dépôt : le schéma n'en retient que le fournisseur et l'identifiant.
La publication
Les modifications partent vers le dépôt, signées par un compte machine à droits restreints.
La mise en ligne
Le site public est régénéré. L'historique du contenu est l'historique Git.
Aucune vidéo, aucun montage : la séquence ci-dessus est la reproduction fidèle des six états que traverse une modification. Refaire la séquence en vrai →
Le geste
C'est exactement ce que traverse une modification, de la visite au déploiement.
Le problème
Entre « le client ne peut rien changer » et « on lui installe un CMS complet », il manquait une marche. inline occupe exactement cette marche.
Sans rien
Avec un CMS
Avec inline
Comment ça marche
Le flux de lecture ne connaît pas l'édition. Le flux d'édition n'écrit jamais dans le site en ligne : il écrit dans le dépôt, et laisse la chaîne de build faire son travail.
La conséquenceLe contenu et le code partagent le même historique. Un retour en arrière est un git revert, pas une restauration de sauvegarde.
À quoi ça ressemble
Aucun langage intermédiaire à apprendre : du JSON, un schéma, un composant Astro.
{
"titre": "Atelier Berthaud",
"accroche": "Menuiserie sur mesure, depuis 1974.",
"services": [
{ "id": "svc-1", "nom": "Agencement", "texte": "Cuisines et bibliothèques." },
{ "id": "svc-2", "nom": "Restauration", "texte": "Meubles anciens et parquets." }
]
}
import { z } from 'zod';
export const accueil = z.object({
titre: z.string().min(1),
accroche: z.string().min(1),
services: z.array(
z.object({
id: z.string(),
nom: z.string(),
texte: z.string(),
}),
),
});
---
import { field, list } from 'inline-core';
import accueil from '../../content/accueil.json';
---
<h1 {...field('accueil.titre')}>{accueil.titre}</h1>
<p {...field('accueil.accroche')}>{accueil.accroche}</p>
<ul>
{accueil.services.map((service) => (
<li {...list('accueil.services', service.id)}>
<h2 {...field('nom')}>{service.nom}</h2>
<p {...field('texte')}>{service.texte}</p>
</li>
))}
</ul>
npm create inline@latest mon-site -- --nom "Mon site" --courriel contact@exemple.fr
cd mon-site && npm install
npm run mock:git # faux dépôt local, dans un premier terminal
npm run build # construit le site
npm run serve:functions # sert le site ET les fonctions
Ce que ça fait
Chaque ligne ci-dessous est implémentée et documentée. Le périmètre de la v1 est gelé : ce qui manque manque volontairement.
La documentation
Écrite pour être lue une fois dans l'ordre, puis consultée par morceaux. Deux ateliers complets la doublent d'un parcours guidé, du premier « npm create » à la mise en ligne. Bilingue, avec une palette de recherche et un simulateur d'édition.
Tutoriels
Trois pages, deux langues, tous les types de contenu. Douze étapes, du premier « npm create » à la première publication.
Tutoriels
Un site existant — pages, feuille de style, script, images — repris fichier par fichier, sans le refaire.
Comprendre
Le problème réel, les solutions écartées, et les décisions qui en découlent.
Démarrer
Prérequis, création, clé de site, faux dépôt, première publication.
Construire
Trois types de champs, des listes à identifiants stables, un schéma Zod.
Éditer
Le parcours du client rejoué dans la page : clé, overlay, publication, conflit.
Mettre en ligne
Dépôt, compte machine, jeton restreint, intégration continue, déploiement.
Exploiter
Les pannes réelles, leur cause, et la commande qui les règle.
Référence
Variables, commandes, limites et messages d’erreur — la page qu’on garde ouverte.
Suivre le démarrage Lire « Pourquoi cet outil existe » Ouvrir la documentation