From 23dbc3f870a5a66a77eaa8e2f698125667127003 Mon Sep 17 00:00:00 2001 From: Antoine Van Elstraete Date: Wed, 11 Mar 2026 18:36:23 +0100 Subject: [PATCH] docs: update CLAUDE.md with session learnings --- CLAUDE.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index e240fba..64a5a02 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -23,6 +23,9 @@ python -m venv .venv # Production (Gunicorn) SECRET_KEY= ./start.sh + +# Git commit (GPG signing désactivé — pinentry inaccessible dans cet env) +git -c commit.gpgsign=false commit -m "..." ``` ## Variables d'environnement @@ -57,3 +60,6 @@ Flask app using the factory pattern (`create_app()` in `app/__init__.py`). The D - **Pas de migration de schéma** : l'app utilise `db.create_all()` uniquement (pas d'Alembic). Tout changement de modèle nécessite de supprimer `instance/worklog.db` en dev, ou une migration manuelle en prod. - **Barème kilométrique** : les tranches dans `config.toml` sont à mettre à jour manuellement chaque année (section `[bareme_kilometrique.YYYY]`). - **`datetime.utcnow()` deprecated** : les modèles utilisent `datetime.utcnow` (warning sur Python 3.14+). À remplacer par `datetime.now(UTC)` lors d'une prochaine évolution des modèles. +- **Dates en français** : `strftime` utilise la locale système (anglais). Utiliser le filtre Jinja2 `{{ date | date_fr }}` défini dans `app/__init__.py`. +- **`db.get_engine()` deprecated** en Flask-SQLAlchemy 3.x → utiliser `db.engine`. +- **Migration `_migrate_db`** : vérifier l'existence de la table avant `ALTER TABLE` — SQLite peut avoir un fichier DB sans tables (ex: premier démarrage avec `instance/worklog.db` vide).