Environ 1 130 tokens étaient chargés à chaque session pour du contenu dérivable ou écrit deux fois : les deux tableaux d'index décrivaient des fichiers déjà chargés en entier, et la ligne de format de commit contredisait 04-code-conventions.md et le hook qui l'applique. Les règles du générateur et du déploiement ne servent qu'à une tâche : elles se chargent désormais à la demande, comme les deux skills déjà en place. L'interdit du générateur, lui, reste dans CLAUDE.md — une interdiction ne doit pas dépendre de l'ouverture d'une skill. Vérifié : aucun renvoi vers les fichiers déplacés, et les quatre skills déclarent un nom qui correspond à leur répertoire. --- EN --- About 1,130 tokens loaded every session for content that is derivable or written twice: the two index tables described files already loaded in full, and the commit-format line contradicted 04-code-conventions.md and the hook enforcing it. The code-generator and deployment rules serve one task each: they now load on demand, like the two skills already in place. The generator's prohibition stays in CLAUDE.md — a ban must not depend on a skill being opened. Checked: no reference points at the moved files, and all four skills declare a name matching their directory. Assisted-by: Claude Opus 5
47 lines
2 KiB
Markdown
47 lines
2 KiB
Markdown
---
|
|
name: erplibre-deployment
|
|
description: >-
|
|
Déploiement ERPLibre : Docker, systemd, nginx, SSL, DNS, plateformes
|
|
supportées, et le choix de l'interpréteur Python (EL_PYTHON_PROVIDER)
|
|
comme du gestionnaire de paquets (EL_PIP_PROVIDER). À charger pour
|
|
déployer, installer ou changer de fournisseur Python.
|
|
---
|
|
|
|
- **Docker** : `docker-compose.yml` (PostgreSQL 18 + PostGIS 3.6)
|
|
- **Systemd** : `script/systemd/` pour les services
|
|
- **Nginx** : `script/nginx/` pour le reverse proxy
|
|
- **SSL** : Certbot pour les certificats
|
|
- **DNS** : `script/deployment/update_dns_cloudflare.py`
|
|
|
|
Plateformes supportées : Ubuntu 24.04 / 25.10 / 26.04, Linux Mint 22.3,
|
|
Debian 12, AlmaLinux 9+, Rocky Linux 9+, openSUSE Leap 16 et Tumbleweed,
|
|
Arch Linux,
|
|
macOS (mise ou pyenv),
|
|
Windows (WSL/Docker).
|
|
|
|
Ubuntu 20.04 et 22.04 sont abandonnées : pikepdf exige qpdf >= 12.2, compilé
|
|
en C++20, quand focal livre GCC 9.
|
|
|
|
## Interpréteur Python
|
|
|
|
`EL_PYTHON_PROVIDER` (dans `env_var.sh`) vaut `auto`, `mise` ou `pyenv`.
|
|
`auto` reprend un interpréteur DÉJÀ posé, quel que soit le fournisseur ; sinon
|
|
il préfère mise, qui pose un CPython précompilé, et retombe sur pyenv, qui le
|
|
compile.
|
|
|
|
Un seul fichier décide : `script/install/lib_python_provider.sh`. mise n'est
|
|
jamais installé automatiquement — `make install_mise` porte cette décision.
|
|
Pas de binaire mise pour s390x à ce jour : cette architecture reste sur pyenv.
|
|
|
|
## Paquets Python
|
|
|
|
`EL_PIP_PROVIDER` (dans `env_var.sh`) vaut `auto`, `uv` ou `pip`. `auto` prend
|
|
uv s'il est présent et si le venv visé est en Python ≥ 3.8, sinon pip ; un
|
|
échec d'uv retombe sur pip. Un seul fichier décide :
|
|
`script/install/lib_pip_provider.sh`. uv n'est jamais installé
|
|
automatiquement — `make install_uv` porte cette décision.
|
|
|
|
Portée réelle : le venv d'outils et l'amorçage de Poetry. **`poetry install`
|
|
n'est pas concerné** — uv ne lit pas `poetry.lock` — et c'est pourtant l'étape
|
|
qui domine. Sur s390x le gain est quasi nul : une trentaine de paquets sans
|
|
roue se compilent, et uv n'enlève pas une seconde de gcc.
|