2026-08-07 19:06:45 +02:00
2026-08-07 19:06:45 +02:00
2026-08-06 20:23:55 +02:00
2026-08-06 20:23:55 +02:00
2026-08-05 13:53:18 +02:00
2026-08-05 13:53:18 +02:00
2026-08-06 20:30:55 +02:00
2026-08-07 19:06:45 +02:00
2026-08-05 13:53:18 +02:00
2026-08-05 13:53:18 +02:00
2026-08-06 20:23:55 +02:00

Les Carnets dAkkadien

Les Carnets dAkkadien est un site personnel consacré à lapprentissage de lakkadien et de l’écriture cunéiforme. Il rassemble des fiches de vocabulaire et de signes, des notes de grammaire, des textes étudiés et des articles de parcours.

Site public : https://lescarnetsdakkadien.netig.net

Le site est généré avec Zola 0.23.1 et Tera 2 à partir de fichiers Markdown. Il est entièrement statique : aucune base de données, aucune interface dadministration et aucune exécution côté serveur ne sont nécessaires.

Contenu

  • Signes : signes cunéiformes classés par numéro MZL et par lecture ;
  • Vocabulaire : fiches adaptées à la nature grammaticale des mots ;
  • Grammaire : notes regroupées par thème ;
  • Textes : translittérations, traductions et commentaires classés par genre ;
  • Articles : billets consacrés à lapprentissage et au projet.

La page daccueil présente le dernier article et les trois fiches les plus récemment publiées ou mises à jour. Un flux Atom est disponible à ladresse /atom.xml.

Prérequis

Pour le développement local :

  • Python 3.11 ou ultérieur ;
  • Zola 0.23.1 ;
  • Git, si le dépôt est versionné avec Git.

Pour le déploiement décrit ici :

  • Docker Engine et Docker Compose ;
  • Caddy 2 sur lhôte public.

Toutes les commandes suivantes sont exécutées depuis la racine du dépôt.

Développement local

Valider la structure des fiches :

./scripts/check-content.py

Vérifier le chargement du site et ses liens, brouillons compris :

zola --root src check --drafts

Sans accès réseau, les liens externes peuvent être ignorés :

zola --root src check --drafts --skip-external-links

Rendre le site avec les brouillons afin de tester tous les templates :

zola --root src build --drafts

Construire ensuite la version publique, sans les brouillons :

zola --root src build

Les fichiers générés sont écrits dans src/public/, répertoire ignoré par Git.

Lancer le serveur de développement :

zola --root src serve

Afficher également les brouillons :

zola --root src serve --drafts

Rédaction

Les contenus sont stockés dans src/content/. Trois commandes accompagnent leur rédaction :

  • new-content.py crée un brouillon complet pour une section donnée ;
  • update-content.py actualise son horodatage updated ;
  • check-content.py vérifie la présence et le type des champs prévus.

Le module _schema.py centralise les modèles utilisés par le générateur et le validateur ; il nest pas exécuté directement.

Les commandes, conventions et modèles de front matter sont détaillés dans le guide de rédaction.

Architecture

.
├── Caddyfile.example
├── Dockerfile
├── compose.yml
├── README.md
├── GUIDE_REDACTION.md
├── LICENSE-CODE
├── LICENSE-CONTENT
├── scripts/
└── src/
    ├── content/
    ├── sass/main.scss
    ├── static/
    ├── templates/
    │   ├── components.html
    │   ├── partials/
    │   └── *.html
    └── zola.toml
  • src/content/ contient les sources Markdown ;
  • src/templates/components.html contient les composants Tera 2 paramétrés ;
  • src/templates/partials/ contient les fragments utilisant le contexte courant ;
  • src/templates/sitemap.xml retire du sitemap les taxonomies sans contenu publié ;
  • src/sass/main.scss définit lapparence, le responsive et limpression ;
  • Zola génère giallo.css à partir du thème github-light pour la coloration syntaxique par classes ;
  • src/static/ contient les images, la police et le favicon servis tels quels ;
  • src/zola.toml contient la configuration générale, les taxonomies et le flux Atom.

giallo.css et main.css sont des fichiers générés dans src/public/ : ils ne doivent pas être ajoutés manuellement à src/static/.

Déploiement avec Docker Compose

Limage est construite en trois étapes :

  1. validation des fiches avec Python ;
  2. génération du site avec Zola 0.23.1 ;
  3. copie des seuls fichiers publics dans un serveur HTTP statique.

Vérifier puis démarrer le service :

docker compose config
docker compose up -d --build

Le conteneur est exposé uniquement sur linterface locale de lhôte :

http://127.0.0.1:8002

Pour mettre à jour le déploiement :

git pull --ff-only
docker compose up -d --build

Pour larrêter :

docker compose down

Proxy inverse Caddy

Caddy prend en charge le domaine public, HTTPS, les en-têtes de sécurité et la politique de cache. Le serveur HTTP interne désactive ses propres en-têtes de cache et de sécurité afin d’éviter deux configurations concurrentes.

Caddyfile.example fournit le bloc correspondant au port publié par compose.yml. Il applique :

  • Cache-Control: no-cache aux documents ;
  • un cache navigateur dune journée aux feuilles de style, images et polices ;
  • une CSP compatible avec les ressources locales du site ;
  • HSTS, Referrer-Policy, X-Content-Type-Options et X-Frame-Options.

Le fichier peut être importé au niveau principal du Caddyfile de lhôte ou servir de modèle pour un bloc existant. Sa syntaxe peut être contrôlée avec :

caddy validate --config Caddyfile.example --adapter caddyfile

Flux Atom

Le flux est activé dans src/zola.toml :

generate_feeds = true
feed_filenames = ["atom.xml"]

Le template de base affiche automatiquement la balise de découverte et le lien du pied de page lorsque cette configuration est active.

Licences

Le code propre au projet est distribué sous licence MIT ; voir LICENSE-CODE.

Sauf mention contraire, les contenus originaux de src/content/ sont publiés sous licence CC BY-SA 4.0 ; voir LICENSE-CONTENT.

Les polices, photographies et autres ressources tierces restent soumises à leurs propres droits et licences.

S
Description
No description provided
Readme
1.3 MiB
Languages
HTML 49.1%
Python 27.5%
SCSS 22.6%
Dockerfile 0.8%