- Dockerfile: COPY .git/HEAD + .git/refs/ → génère backend/VERSION avec hash - version.py: fallback lit backend/VERSION (à côté du module, pas racine repo) - Format: 1.8.0-0-g<8-char-hash> ou 1.8.0-dev si indisponible
- backend/version.py: get_version() lit git describe --tags (ex: 1.8.0-301-gabc1234) - main.py: FastAPI version = get_version() dynamique - build.rs: injecte GIT_VERSION, GIT_HASH, SEMVER depuis git describe - main.rs: ABOUT_MSG, get_version(), log utilisent GIT_VERSION - Format: MAJOR.MINOR.PATCH[-commits-gHASH] (ex: 1.8.0, 1.8.0-3-gabc1234) - Fallback: VERSION file ou 0.0.0-dev si Git indisponible