Documentation
/
Référence
/
Référence
Rechercher ⌘K FR EN
Marquer comme lu
Chapitre 22 Référence
Référence
Variables, commandes, options, tokens, attributs, codes d'erreur, glossaire. Ce qu'on vient chercher sans vouloir relire un chapitre.
5 min de lecture · 11 sections · Chapitre 22 / 22 Copier le lien
Variables d'environnement #
Toutes documentées dans .env.example, le seul fichier d'environnement versionné.
En local : .dev.vars. En production : la configuration de l'hébergeur, en secrets
d'exécution. Jamais le dépôt.
Variable Obligatoire Rôle
EDITOR_KEY_HASHoui Empreinte argon2id de la clé du site. Sans elle, aucune édition possible — c'est l'état par défaut.
SESSION_SECREToui Signature des cookies de session. 32 caractères minimum. La remplacer ferme toutes les sessions.
EDITOR_NAMErecommandé Nom d'auteur des publications. Défaut : « Éditeur du site ».
EDITOR_EMAILrecommandé Adresse d'auteur des publications.
GIT_PROVIDERoui github ou gitlab (non implémenté). Défaut : github.
GIT_REPOoui propriétaire/dépôt chez GitHub ; groupe/projet ou identifiant numérique chez GitLab.
GIT_BRANCHoui Branche des publications. Défaut : main.
GIT_TOKENoui Jeton d'écriture du compte machine. Portée restreinte au seul dépôt.
GIT_API_BASEnon Autre racine d'API : instance auto-hébergée, ou faux service local (http://127.0.0.1:8787).
RATE_LIMITen production Liaison clé-valeur, pas une variable texte. Sans elle, le comptage retombe en mémoire.
Commandes #
Commande Où Rôle
npm create inline@latest <dossier>partout Crée un site. Options : --nom, --courriel, --langue.
npm run devsite, dépôt Serveur Astro seul — mise en page, sans l'édition .
npm run buildsite, dépôt Build de production. Échoue si le contenu est invalide.
npm run serve:functionssite, dépôt Site + fonctions sur http://127.0.0.1:8788. C'est ici qu'on édite.
npm run mock:gitsite, dépôt Faux dépôt Git local sur :8787. Port : MOCK_PORT.
npm run checksite, dépôt HTML brut, parité des langues, journaux, secrets.
npm testdépôt Toute la suite, build compris.
npm run create:sitedépôt Accès d'un site. Options : --nom, --depot, --branche, --auteur, --courriel, --ecrire.
npm run make:keysite, dépôt Une clé et son empreinte — la rotation. Livrée avec le site depuis create-inline 1.1.0.
npm run bootstrapdépôt Amorçage. Options : --html, --page, --langue, --essai, --sortie.
npm run test:scaffolddépôt Site créé de zéro, installé, construit, contrôlé.
npm run test:packdépôt Idem, depuis les archives d'une publication.
npm run pack:core / pack:clidépôt Fabrique les archives.
npm run release:core / release:clidépôt Publie sur le registre.
Options de l'intégration #
js
js
Copier
inline({
locales: ['fr' , 'en' ], // obligatoire — la référence en premier
support: { email: 'contact@agence.fr' }, // affichée au client sur /admin et /aide
theme: 'src/styles/theme.css' , // défaut
pages: { admin: true , help: true }, // false pour fournir la vôtre
})
Tokens de style #
Clé Valeurs Classe produite Variable attendue
sizexs sm base lg xl 2xl 3xl.cms-size-*--size-*
weightthin light regular medium semibold bold.cms-weight-*--weight-*
italictrue false.cms-italic—
alignleft center right.cms-align-*—
colorprimary secondary muted accent inverse.cms-color-*--color-*
Types de champs #
text
text
Copier
text { type, value, style } titres, labels, paragraphes simples
richtext { type, value } emphase, liens, listes — 7 balises
image { type, kind:'image', src, alt, width, height } fichier de src/media
video { type, kind:'video', provider, videoId, title } YouTube ou Vimeo, jamais de fichier
Attributs posés dans le HTML #
Attribut Valeur
data-cmsChemin du champ, ex. blocks.hero.title
data-cms-typetext · richtext · media
data-cms-kindimage · video
data-cms-untranslatedtrue si le champ vient de la langue de référence
data-cms-listcollections.{nom}
data-cms-itemIdentifiant de l'item
data-cms-templateNom de la liste dont c'est le modèle
data-cms-blankJSON d'un item vierge
data-cms-fileFichier de contenu de la page (sur body)
data-cms-locale · data-cms-pageLangue et page en cours (sur body)
data-cms-localesLangues du site : code, adresse, libellé (sur body)
Règles de nommage #
Objet Forme Exemple
Fichier de page minuscules, chiffres, traits d'union nos-services.json
Chemin d'écriture src/content/pages/{langue}/{page}.jsonsrc/content/pages/fr/home.json
Fichier média [a-z0-9]+(-[a-z0-9]+)*.(jpg|png|webp)fournil-au-petit-matin.webp
Identifiant d'item une lettre, un tiret, 3 chiffres minimum t-001
Code de langue deux lettres minuscules fr
Message de publication une ligne, 120 caractères content(fr): home — hero.title
Codes d'erreur #
Code interne HTTP Signification
bad_request400 Corps ou chemin invalide.
unauthorized401 / 502 Session absente (401) ou dépôt refusant l'accès (502).
method_not_allowed405 Méthode non prévue sur cette route.
not_found404 / 502 Fichier ou dépôt introuvable.
conflict409 Version périmée : quelqu'un a publié entre-temps.
too_large413 Plafond de taille dépassé.
unsupported_format415 Format d'image non reconnu ou dimensions hors bornes.
invalid_content422 Schéma, média, identifiants ou balisage refusés.
— 429 Débit dépassé. En-tête retry-after.
unavailable502 Le dépôt n'a pas répondu.
Ports #
4321npm run devAstro seul
8788npm run serve:functionsSite + fonctions
8787npm run mock:gitFaux dépôt Git
Glossaire #
Terme Ce que c'est Ce que le client lit
Overlay L'interface d'édition superposée à la page. —
Clé de site Le secret partagé, haché en argon2id. « votre clé »
Témoin d'édition Cookie sans secret qui déclenche le chargement de l'overlay. —
Verrou optimiste Comparaison de version avant écriture. « quelqu'un a publié entre-temps »
Version Empreinte opaque de l'état d'un fichier (SHA du blob chez GitHub). —
Publication Un commit, puis une reconstruction du site. « Publier »
Brouillon Modifications enregistrées dans le navigateur. « modifications non publiées »
Token de style Une valeur d'enum du schéma. un bouton de la barre
Amorçage Extraction du contenu d'une page HTML annotée. —
Où lire le code #
Question Fichier
Quelle est la forme du contenu ? inline-core/src/schema.ts
Quelles variantes de style existent ? inline-core/src/style-tokens.ts
Qui a le droit d'écrire ? inline-core/src/server/auth.ts
Quels plafonds, quels chemins, quels budgets ? inline-core/src/server/guard.ts
Comment on parle au dépôt ? inline-core/src/server/git-provider.ts, github.ts
Que fait la publication, dans l'ordre ? inline-core/src/server/routes/save.ts
Comment l'overlay relie DOM et JSON ? inline-core/src/editor/index.ts
Qu'est-ce qui est posé dans la page ? inline-core/astro/index.ts
Comment une adresse de vidéo est lue ? inline-core/src/video.ts
Comment le repli de traduction marche ? inline-core/src/translate.ts