Files
lescarnetsdakkadien.netig.net/README.md
T

157 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 construit avec [Zola](https://www.getzola.org/) à partir de fichiers Markdown. Il ne nécessite ni base de données ni interface dadministration : les contenus restent lisibles et modifiables comme de simples fichiers texte.
## Sections du site
- **Signes** : signes cunéiformes classés par numéro MZL et par lecture ;
- **Vocabulaire** : fiches adaptées à la nature grammaticale des mots ;
- **Grammaire** : notes organisé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. Des flux Atom et RSS sont également générés.
## Prérequis
Pour travailler directement sur le projet :
- Python 3.11 ou ultérieur ;
- Zola 0.22.1 ;
- Git, si le dépôt est versionné avec Git.
Pour le déploiement conteneurisé :
- Docker Engine ;
- Docker Compose.
Toutes les commandes ci-dessous sont exécutées depuis la racine du dépôt.
## Développement local
Valider les contenus :
```sh
./scripts/check-content.py
```
Vérifier la construction Zola, brouillons compris :
```sh
zola --root src check --drafts --skip-external-links
```
`--skip-external-links` évite de dépendre du réseau. Retirer cette option pour vérifier également les liens externes.
Lancer le serveur de développement :
```sh
zola --root src serve
```
Afficher également les brouillons :
```sh
zola --root src serve --drafts
```
Construire le site statique :
```sh
zola --root src build
```
Le résultat est écrit dans `src/public/`, répertoire ignoré par Git.
## Rédaction des contenus
Les contenus sont rédigés en Markdown dans `src/content/`. Des scripts permettent de créer les squelettes, dhorodater les modifications substantielles et de vérifier les fiches avant publication.
Les conventions éditoriales, les commandes et les modèles de chaque type de fiche sont décrits dans le [guide de rédaction](GUIDE_REDACTION.md).
## Organisation du dépôt
```text
.
├── Dockerfile
├── compose.yml
├── README.md
├── GUIDE_REDACTION.md
├── LICENSE-CODE
├── LICENSE-CONTENT
├── scripts
│ ├── _schema.py
│ ├── check-content.py
│ ├── new-content.py
│ └── update-content.py
└── src
├── content
├── sass
├── static
├── templates
└── zola.toml
```
- `src/content/` contient les pages Markdown ;
- `src/templates/` contient les templates Tera ;
- `src/sass/main.scss` contient les styles ;
- `src/static/` contient les ressources servies telles quelles ;
- `src/zola.toml` contient la configuration de Zola ;
- `scripts/` contient les outils de création, de mise à jour et de validation des contenus.
## Déploiement avec Docker Compose
Limage est construite en trois étapes : validation des contenus, construction avec Zola 0.22.1, puis service des seuls fichiers statiques.
Vérifier la configuration :
```sh
docker compose config
```
Construire et lancer le service :
```sh
docker compose up -d --build
```
Consulter son état et ses journaux :
```sh
docker compose ps
docker compose logs --tail=100 zola
```
Le service écoute uniquement sur linterface locale de lhôte :
```text
http://127.0.0.1:8002
```
Le domaine public et le certificat TLS sont pris en charge par un proxy inverse placé devant le conteneur.
Mettre à jour le déploiement :
```sh
git pull --ff-only
docker compose up -d --build
```
Arrêter le service :
```sh
docker compose down
```
## Licences
Le code propre au projet est distribué sous licence MIT ; voir [`LICENSE-CODE`](LICENSE-CODE).
Sauf mention contraire, les contenus originaux de `src/content/` sont publiés sous licence CC BY-SA 4.0 ; voir [`LICENSE-CONTENT`](LICENSE-CONTENT).
Les polices, photographies et autres ressources tierces restent soumises à leurs propres droits et licences.