Colin Maudry
9e3f6765e0
Améliorations CLAUDE.md pour plus utiliser rtk
2026-04-21 21:54:10 +02:00
Colin Maudry
a906a40b7b
Fix import src.utils.cache
2026-04-21 17:21:32 +02:00
Colin Maudry
d4844140b4
src/auth : exempter les routes Dash internes de la protection CSRF ( #73 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 23:11:17 +02:00
Colin Maudry
40e593ffdc
Changelog : comptes utilisateurs ( #73 )
2026-04-20 22:58:20 +02:00
Colin Maudry
5151b32f3e
tests/auth/test_csrf.py : vérifie que CSRF est actif ( #73 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 22:56:58 +02:00
Colin Maudry
20e7eed424
src/app.py : navbar avec lien Connexion / dropdown utilisateur ( #73 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 22:56:13 +02:00
Colin Maudry
af0efbe928
src/pages : pages mot de passe oublié et réinitialisation ( #73 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 22:53:24 +02:00
Colin Maudry
038858985c
src/pages/verification_email.py : page statut vérification email ( #73 )
2026-04-20 22:53:10 +02:00
Colin Maudry
7b27c15515
src/pages/compte.py : page mon compte (protégée) ( #73 )
2026-04-20 22:52:51 +02:00
Colin Maudry
88863415d7
src/pages/connexion.py : page de connexion ( #73 )
2026-04-20 22:52:46 +02:00
Colin Maudry
5149582958
src/pages/inscription.py : page d'inscription ( #73 )
2026-04-20 22:52:29 +02:00
Colin Maudry
49bd1b3036
src/auth/routes.py : route /auth/change-password ( #73 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 22:51:40 +02:00
Colin Maudry
6b78abb7fd
src/auth/routes.py : routes de réinitialisation du mot de passe ( #73 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 22:50:20 +02:00
Colin Maudry
ff9b3a6092
src/auth/routes.py : routes /auth/login et /auth/logout ( #73 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 17:39:59 +02:00
Colin Maudry
4d9a300e0c
src/auth/routes.py : route /auth/verify-email ( #73 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 17:38:13 +02:00
Colin Maudry
e275f10dbd
src/auth/routes.py : route /auth/signup ( #73 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 17:37:15 +02:00
Colin Maudry
1c0fb0a960
src/auth/routes.py : blueprint auth et fixtures de test ( #73 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 17:35:06 +02:00
Colin Maudry
8896726e09
src/app.py : initialisation de l'authentification au démarrage ( #73 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 17:34:12 +02:00
Colin Maudry
a02a9df081
src/auth/setup.py : init_auth et helper safe_next ( #73 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 17:32:32 +02:00
Colin Maudry
7976257029
src/auth/mailer.py : envoi d'emails HTML+texte ( #73 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 17:31:00 +02:00
Colin Maudry
72fd495c5b
src/auth/models.py : classe User Flask-Login ( #73 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 17:25:56 +02:00
Colin Maudry
92fe76d072
src/auth/tokens.py : génération et validation des tokens ( #73 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 17:24:49 +02:00
Colin Maudry
1a07e5ac0f
src/auth/db.py : CRUD tokens de vérification et reset ( #73 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 17:23:02 +02:00
Colin Maudry
ae4a206de7
src/auth/db.py : CRUD users ( #73 )
2026-04-20 17:19:52 +02:00
Colin Maudry
5c6e75e3d3
src/auth/db.py : schéma SQLite et connexion ( #73 )
2026-04-20 17:15:26 +02:00
Colin Maudry
9ffa9c39f8
Dépendances auth : Flask-Login/Mail/WTF, email-validator ( #73 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 17:09:41 +02:00
Colin Maudry
5a7a4da027
Plan d'implémentation comptes utilisateurs ( #73 )
...
23 tâches TDD : setup deps/env, auth/db, tokens, models, mailer,
init_auth, 6 routes Flask, 6 pages Dash, navbar, tests CSRF,
smoke test end-to-end.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-20 17:02:42 +02:00
Colin Maudry
8342c6a0e6
Design des comptes utilisateurs ( #73 )
...
Spec validée par brainstorming : inscription avec vérification email,
connexion (Flask-Login), reset password par token stocké en DB,
page compte, SQLite + sqlite3 stdlib, Flask-Mail, CSRF via Flask-WTF.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-20 16:52:49 +02:00
Colin Maudry
6d22b7298a
Merge tag 'v2.7.3' into dev
...
- Mise en cache des vues tableau par ensemble de filtres et de tris
- Résolution du bug d'écriture du fichier de vérouillage de la base de données
2026-04-20 11:55:55 +02:00
Colin Maudry
e33e5da619
Merge branch 'release/2.7.3'
v2.7.3
2026-04-20 11:42:17 +02:00
Colin Maudry
ffeb708f1d
Changelog 2.7.3
2026-04-20 11:42:04 +02:00
Colin Maudry
aa445b6f01
Plan #72
2026-04-20 11:36:38 +02:00
Colin Maudry
330ed4f0cb
Base de données et .lock à la racine de decp.info
2026-04-20 11:28:00 +02:00
Colin Maudry
da5a99b3af
Merge branch 'main' into dev
2026-04-20 10:49:31 +02:00
Colin Maudry
285ed37d79
Correction de l'import d'utils.cache
2026-04-20 00:06:44 +02:00
Colin Maudry
e44fe452b2
Corrections de typage et d'appels à filter_table_data
2026-04-19 23:55:20 +02:00
Colin Maudry
7aef7acd34
Petits ajustements (cache => utils, noms de variables)
2026-04-19 23:49:02 +02:00
Colin Maudry
3ce6f224ae
rtk, uv, pyproject
2026-04-19 23:39:33 +02:00
Colin Maudry
c7c7c2c62c
Factorisation des opération de postprocess des tables
2026-04-19 23:28:45 +02:00
Colin Maudry
ad58c1152a
Améliorations sur le typage
2026-04-19 23:23:07 +02:00
Colin Maudry
19449969d6
Mention de rtk dans CLAUDE.md
2026-04-19 23:22:48 +02:00
Colin Maudry
b0d2aca4ff
perf(tableau): memoize filter+sort+postprocess pipeline ( #72 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-19 22:50:32 +02:00
Colin Maudry
0abbd982ea
feat: add memoized _load_filter_sort_postprocess helper ( #72 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-19 22:39:13 +02:00
Colin Maudry
18d07b5398
feat: add normalize_sort_by hashable cache-key helper ( #72 )
...
Add normalize_sort_by function to convert Dash DataTable's sort_by list
(unhashable) into a tuple representation (hashable) for use in cache keys.
Includes TDD-driven tests for empty inputs, hashability, and order preservation.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-19 22:36:55 +02:00
Colin Maudry
ff425108b0
fix: restore track_search import in table.py ( #72 )
2026-04-19 22:34:25 +02:00
Colin Maudry
0c7ca04f8e
refactor: move track_search out of filter_table_data into callers ( #72 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-19 22:32:28 +02:00
Colin Maudry
89904a5bad
test: scaffold unit tests for table utilities ( #72 )
2026-04-19 22:30:28 +02:00
Colin Maudry
4d0baebb75
Vérification de l'existence de cache_dir
v2.7.2
2026-04-19 15:54:36 +02:00
Colin Maudry
5ccfec35e9
Merge tag 'v2.7.2' into dev
...
- Chargement des données depuis une base DuckDB plutôt qu'en mémoire (plus de stabilité) ([#71 ](https://github.com/ColinMaudry/decp.info/issues/71 ))
- Mise en cache des vue sur l'observatoire pour un chargement plus rapide (remise à zéro quotidienne)
- Correction de bug : la liste de colonnes par défaut est bien appliquée plutôt qu'afficher toutes les colonnes
- Quelques corrections de bugs d'affichage
- Refactorisation des fonctions utilitaires (`utils.py` approchait des 1 000 lignes)
2026-04-19 15:33:58 +02:00
Colin Maudry
38f7543205
Merge branch 'release/2.7.2'
2026-04-19 15:32:41 +02:00