14 KiB
Guide de rédaction
Ce guide décrit la manière d’ajouter et de maintenir les contenus du site Les Carnets d’Akkadien.
Le principe général est le suivant :
- le front matter TOML contient les données brèves et structurées ;
- le corps Markdown contient les explications, tableaux, exemples et commentaires ;
- les champs prévus par un modèle restent présents, même lorsqu’ils sont vides ;
- les champs vides ne sont pas affichés sur le site.
Organisation des contenus
| Type | Répertoire | Taxonomie |
|---|---|---|
| Article | src/content/articles/ |
aucune |
| Grammaire | src/content/grammaire/ |
themes |
| Signe | src/content/signes/ |
lectures |
| Texte | src/content/textes/ |
genres |
| Vocabulaire | src/content/vocabulaire/ |
natures |
La bibliographie et les mentions légales sont des pages autonomes placées directement dans src/content/.
Chaque section contient un fichier _index.md qui définit son titre, sa description, son tri et ses templates. Ces fichiers sont maintenus manuellement ; le générateur crée uniquement des pages de contenu.
Conventions générales
Période et terminologie
Le site est principalement consacré au paléo-babylonien. Une forme, une graphie ou une analyse relevant d’une autre période ou d’un autre dialecte est signalée dans la fiche concernée.
Les champs structurés propres aux fiches utilisent des clés anglaises. Les noms des taxonomies sont en français ; leurs termes suivent la donnée affichée, en français pour les catégories et en translittération pour les lectures.
Unicode et translittération
Tous les fichiers de contenu sont enregistrés en UTF-8 et normalisés en Unicode NFC, y compris leurs noms.
Les lemmes, lectures et formes akkadiennes conservent leurs diacritiques :
bītum
parāsum
aš
ṭim
Dans le corps Markdown, les formes linguistiques sont généralement écrites en italique. Le code en ligne est réservé aux commandes, chemins et noms de champs.
Noms de fichiers
Pour les articles, la grammaire, les textes et le vocabulaire, l’identifiant fourni au générateur devient le nom du fichier. Il doit être écrit sous sa forme finale :
- en minuscules ;
- sans espace ni underscore ;
- avec seulement des lettres Unicode, des chiffres et des tirets ;
- sans double tiret ni tiret final ;
- sans extension
.md.
Exemples :
src/content/vocabulaire/bītum.md
src/content/vocabulaire/parāsum.md
src/content/grammaire/forme-liee.md
src/content/articles/les-carnets-sont-en-ligne.md
Un tiret initial est accepté uniquement pour le vocabulaire, par exemple -ma.md.
Les signes utilisent toujours un numéro MZL sur trois chiffres :
src/content/signes/mzl-001.md
src/content/signes/mzl-113.md
src/content/signes/mzl-167.md
Front matter commun
Le générateur place les éléments communs suivants en tête du front matter :
title = "Titre"
date = 2026-08-05T12:30:00+02:00
# updated = YYYY-MM-DD
description = ""
draft = true
Les tables propres à chaque type de contenu viennent ensuite dans le même front matter.
titleest le titre affiché ;dateest créée dans le fuseauEurope/Pariset doit refléter la date de publication ;descriptionest un résumé court, rédigé manuellement lorsqu’il est utile ;draftdétermine si la page est publiée.
date est une valeur temporelle TOML écrite sans guillemets. La ligne commentée # updated = YYYY-MM-DD est un repère inactif. Après une modification substantielle, elle peut être décommentée et remplacée par la date correspondante :
updated = 2026-08-05
Lorsque description reste vide :
- une fiche de vocabulaire affiche une phrase construite à partir de sa nature, de son genre et de son sens ;
- une fiche de signe affiche une phrase construite à partir de son titre et de son numéro MZL ;
- un article, une note de grammaire ou un texte n’affiche pas de résumé de remplacement.
La métadescription HTML utilise alors, en dernier recours, la description générale du site.
Brouillons et publication
Un brouillon peut rester incomplet et être affiché localement avec :
zola --root src serve --drafts
Pour publier une fiche :
- compléter les données disponibles sans supprimer les champs de son modèle ;
- rédiger le corps Markdown ;
- vérifier la date ;
- passer
draftàfalse; - lancer les contrôles.
./scripts/check-content.py
zola --root src check --drafts --skip-external-links
Générateur de fiches
La commande générale est :
./scripts/new-content.py SECTION IDENTIFIANT [--nature NATURE] [--title TITRE]
Exemples :
./scripts/new-content.py vocabulaire šarrum --nature nom
./scripts/new-content.py vocabulaire epēšum --nature verbe
./scripts/new-content.py vocabulaire --nature particule -- -ma
./scripts/new-content.py signes 113 --title BE
./scripts/new-content.py grammaire suffixes-pronominaux
./scripts/new-content.py textes lettre-au-marchand
./scripts/new-content.py articles nouvel-article
Pour le vocabulaire, les natures reconnues sont :
nom, adjectif, verbe, pronom, préposition,
adverbe, conjonction, particule, numéral
Lorsque --nature est omise dans un terminal interactif, le générateur propose un menu. Elle est obligatoire dans un contexte non interactif.
Le générateur normalise l’identifiant et le titre en NFC, prépare tous les champs nécessaires et refuse tout écrasement. Il ne renseigne pas les données linguistiques et ne rédige pas le corps Markdown.
Pour un article, un texte ou une note de grammaire, le titre est déduit de l’identifiant en remplaçant les tirets par des espaces et en mettant l’initiale en majuscule. Pour le vocabulaire, il reprend l’identifiant. Pour un signe, il reste vide sauf si --title est fourni.
Taxonomies
Les taxonomies publiques sont :
naturespour la nature grammaticale du vocabulaire ;lecturespour les lectures des signes ;themespour les notions grammaticales ;genrespour les types documentaires des textes.
Les termes sont écrits sous leur forme destinée à l’affichage :
natures = ["préposition"]
lectures = ["tim", "ṭim"]
themes = ["morphologie nominale"]
genres = ["lettre"]
La graphie doit rester stable. Les diacritiques sont conservés dans les URL : tim et ṭim correspondent donc à deux lectures distinctes.
Une fiche de vocabulaire contient exactement une nature. Les autres taxonomies peuvent contenir plusieurs termes lorsque cela est pertinent.
Fiches de vocabulaire
Toutes les fiches lexicales utilisent la même structure générale :
+++
title = "lemme"
date = 2026-08-05T12:30:00+02:00
# updated = YYYY-MM-DD
description = ""
draft = true
[extra]
meaning = ""
logograms = []
[taxonomies]
natures = ["nature"]
+++
meaning contient le sens principal ou une courte série de sens. Il doit être renseigné avant publication.
logograms contient les écritures logographiques associées au lemme. Il reste toujours un tableau de chaînes :
logograms = ["LUGAL"]
Chaque nature ajoute les champs suivants, dans l’ordre produit par le générateur :
| Nature | Champs supplémentaires |
|---|---|
| Nom | gender, bound, plural |
| Adjectif | bound, feminine, masculine_plural, feminine_plural, predicative |
| Verbe | root, stem, verb_class, vowel_class, preterite, durative, perfect, imperative, participle, verbal_adjective |
| Pronom | pronoun_type, person, gender, number |
| Préposition | governs |
| Adverbe | function |
| Conjonction | function |
| Particule | function |
| Numéral | numeral_type, value, gender, feminine |
Tous les champs simples restent des chaînes, même lorsqu’ils sont vides. Une fiche publiée doit contenir exactement les champs de sa nature : un champ manquant, supplémentaire ou mal typé est rejeté par le validateur.
Pour un verbe, stem est obligatoire avant publication. Le titre fournit déjà l’infinitif et ne le répète donc pas dans [extra].
Sens des principaux champs
gender: genre grammatical ;bound: forme liée ;plural: pluriel lexical ;predicative: forme prédicative de référence, affichée comme « Prédicatif (3 m. s.) » ;root: racine, par exemplep-r-s;stem: thème verbal, par exempleG,D,ŠouN;verb_class: classe morphologique, par exemplefort,I-nouIII-faible;vowel_class: classe vocalique, par exemplea/u;pronoun_type: type de pronom ;governs: cas régi par une préposition ;function: fonction d’un adverbe, d’une conjonction ou d’une particule ;numeral_type: cardinal, ordinal ou autre type de numéral ;value: valeur numérique.
Le corps Markdown reste libre. Les rubriques suivantes peuvent servir de repères lorsqu’elles sont utiles :
## Emploi
## Morphologie
## Déclinaison
## Thèmes dérivés
## Occurrences
## Voir aussi
## Sources
Les paradigmes, exceptions, constructions et commentaires détaillés appartiennent au corps plutôt qu’au front matter. Les rubriques vides ne sont pas ajoutées.
Fiches de signes
La commande suivante :
./scripts/new-content.py signes 113 --title BE
produit :
+++
title = "BE"
date = 2026-08-05T12:30:00+02:00
# updated = YYYY-MM-DD
description = ""
draft = true
[extra]
sign = ""
mzl = "113"
[taxonomies]
lectures = []
+++
- le fichier est nommé
mzl-113.md; titlecontient le nom usuel du signe ;signcontient le caractère cunéiforme Unicode ;mzlreprend exactement les trois chiffres du nom de fichier ;lecturescontient les lectures translittérées.
Le nom mzl-XXX.md est contrôlé même lorsque la fiche est encore en brouillon. Avant publication, le titre, le glyphe et le numéro MZL doivent être renseignés, et le numéro doit correspondre au nom du fichier.
Le corps peut accueillir, selon le besoin :
## Valeurs syllabiques
## Emplois logographiques
## Emploi comme déterminatif
## Variantes graphiques
## Notes
Une fiche de signe peut rester sans corps si son front matter suffit.
Notes de grammaire
+++
title = "Titre de la fiche"
date = 2026-08-05T12:30:00+02:00
# updated = YYYY-MM-DD
description = ""
draft = true
[taxonomies]
themes = []
+++
themes regroupe les fiches par notion grammaticale. Le corps est organisé librement selon le sujet.
Textes étudiés
+++
title = "Titre du texte"
date = 2026-08-05T12:30:00+02:00
# updated = YYYY-MM-DD
description = ""
draft = true
[taxonomies]
genres = []
+++
genres décrit le type documentaire, par exemple lettre ou inscription commémorative.
Une structure fréquente est :
## Présentation
## Translittération
## Normalisation
## Traduction
## Commentaire philologique
## Vocabulaire
Elle peut être adaptée à chaque texte.
Articles
+++
title = "Titre de l’article"
date = 2026-08-05T12:30:00+02:00
# updated = YYYY-MM-DD
description = ""
draft = true
[extra]
banner = ""
banner_alt = ""
banner_credit = ""
+++
descriptionest affichée dans la liste des articles, sur la page d’accueil et dans la page elle-même ;bannerindique un chemin relatif àsrc/static/, par exempleimages/articles/article.webp;banner_altcontient le texte alternatif de l’image ;banner_creditcontient une attribution ou une légende facultative.
Lorsque banner reste vide, aucune image ni aucun espace réservé ne sont générés. Lorsqu’une image est ajoutée, son texte alternatif doit décrire utilement son contenu ; une image purement décorative peut utiliser une chaîne vide.
Liens internes
Les liens entre contenus utilisent les chemins internes de Zola :
[Voir bītum](@/vocabulaire/bītum.md)
[Voir la forme liée](@/grammaire/forme-liee.md)
Ils sont ajoutés lorsqu’ils apportent un contexte réel : occurrence dans un texte, exemple grammatical, signe observé ou relation lexicale utile.
Ce que contrôle le validateur
Le validateur vérifie pour tous les fichiers Markdown :
- l’encodage UTF-8 ;
- la normalisation Unicode NFC du contenu et du chemin ;
- la présence et la validité du front matter TOML ;
- l’appartenance à une section connue lorsque le fichier est placé dans un sous-répertoire de
src/content/.
Pour les fichiers _index.md, il exige un titre non vide.
Pour les autres pages, draft doit être un booléen. Les brouillons ne sont pas soumis aux contrôles de complétude, à l’exception du nom des fiches de signes.
Pour toute page publiée, il exige un titre non vide. Une date TOML valide est également obligatoire lorsque la page appartient à une section. Les pages permanentes placées directement dans src/content/, comme la bibliographie et les mentions légales, n’ont pas besoin de date.
Pour une fiche de vocabulaire publiée, il contrôle en plus :
- une seule nature grammaticale connue ;
- la présence exacte des champs prévus pour cette nature ;
- des chaînes pour les champs simples ;
- un tableau de chaînes non vides pour
logograms; - un
meaningnon vide ; - un
stemnon vide pour les verbes.
Pour une fiche de signe publiée, il contrôle le glyphe, le numéro MZL sur trois chiffres et sa correspondance avec le nom du fichier.
Zola reste responsable de la construction, des liens internes, des taxonomies et du rendu des templates.
Principes de cohérence
- conserver tous les champs prévus par le modèle, même vides ;
- ne renseigner que des informations établies ou utiles ;
- garder une graphie stable pour chaque lemme, lecture et terme de taxonomie ;
- employer
draft = truepour un contenu incomplet ou temporairement hors ligne ; - n’activer
updatedqu’après une modification substantielle ; - éviter de répéter dans le corps une donnée déjà claire dans le front matter, sauf lorsqu’une explication apporte quelque chose ;
- rédiger des descriptions courtes et informatives lorsqu’un résumé spécifique est utile ;
- ne pas ajouter de rubriques vides ni de textes d’attente.