Colin Maudry
ca44b99016
API: tokens_db SQLite CRUD ( #78 )
2026-05-13 13:19:50 +02:00
Colin Maudry
bc3b09e2a9
API: dépendances et squelette de package ( #78 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-13 13:04:09 +02:00
Colin Maudry
0c9666204b
Autorisation du HTML dans les annonces
2026-05-11 10:34:06 +02:00
Colin Maudry
8a2f7f620c
Suppression des mentions sur les profils d'acheteurs qui ne publient pas de données
...
Omnikles publie via l'API DUME de l'AIFE, ne reste que Klekoon. Mais bon, ça fait des mauvaises vibes sur la page de le préciser :)
2026-05-11 10:26:16 +02:00
Colin Maudry
3a73cdf4b9
P dans les announcements plus compacts
2026-05-05 15:43:08 +02:00
Colin Maudry
755b8c13ab
Bug nom colonne, amélioration test #76
2026-05-05 14:56:59 +02:00
Colin Maudry
f4b57dbe5c
Gestion des filtres de dates comme du texte #76
2026-05-05 14:08:50 +02:00
Colin Maudry
0322c20513
Suppression des espaces pour l'affichage du nom de l'org #75
2026-04-29 18:41:45 +02:00
Colin Maudry
edbdeaa370
Suppression des espaces dans les SIREN/SIRET entrés dans l'observatoire et le tableau #75
2026-04-29 18:25:22 +02:00
Colin Maudry
25746b4869
Amélioration du rendu de la carte org
2026-04-28 13:34:33 +02:00
Colin Maudry
1a5f049b1a
Map fonctionne mais lf cassé
2026-04-28 11:23:02 +02:00
Colin Maudry
bd6a4ff266
Tentative de rétablissement de la carte sur acheteur/titulaire
2026-04-28 10:40:50 +02:00
Colin Maudry
1839928e69
Réduction des petites erreurs
2026-04-24 13:36:15 +02:00
Colin Maudry
d8ee6e5b37
Màj du mode d'emploi de Tableau #42
2026-04-24 12:31:46 +02:00
Colin Maudry
10f24dec30
Petites corrections
2026-04-24 12:08:48 +02:00
Colin Maudry
dadbb0aeff
Possibilité de chercher soit des mots présents, soit une suite de mot précise #42
2026-04-24 11:40:02 +02:00
Colin Maudry
fc4d965b20
Spinner de chargemetn sur la préviusalisation des données
2026-04-23 12:33:30 +02:00
Colin Maudry
c45d4e0ea1
refactor(observatoire): appelants utilisent la nouvelle signature ( #72 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-22 23:57:10 +02:00
Colin Maudry
0777153c82
refactor(observatoire): prepare_dashboard_data utilise DuckDB ( #72 )
2026-04-22 23:55:45 +02:00
Colin Maudry
6e670c97c9
feat(observatoire): filtres montant min/max ( #72 )
2026-04-22 23:53:43 +02:00
Colin Maudry
522c467702
feat(observatoire): filtres liste via list_has_any ( #72 )
2026-04-22 23:49:32 +02:00
Colin Maudry
74ae1fb008
feat(observatoire): IN départements et skip conditionnel par ID ( #72 )
2026-04-22 23:43:55 +02:00
Colin Maudry
e3a0fba4df
feat(observatoire): filtres LIKE/ILIKE dans dashboard_filters_to_sql ( #72 )
2026-04-22 23:42:43 +02:00
Colin Maudry
a382370767
feat(observatoire): filtres d'égalité simples dans dashboard_filters_to_sql ( #72 )
2026-04-22 23:39:13 +02:00
Colin Maudry
653999693c
feat(observatoire): squelette de dashboard_filters_to_sql ( #72 )
2026-04-22 23:36:59 +02:00
Colin Maudry
3e89dacff9
Correction de setup_table_columns et autres
2026-04-22 21:16:51 +02:00
Colin Maudry
3532a9c381
Path de duckdb configurable, correction des tests #72
2026-04-22 20:43:38 +02:00
Colin Maudry
b4956c34d1
Utilisation d'une seule fonction postprocess #72
2026-04-22 18:30:36 +02:00
Colin Maudry
72d4881796
Simplifications du code #72
2026-04-22 17:17:54 +02:00
Colin Maudry
1e67d329d0
perf(tableau): pousser filtre/tri/pagination/comptage dans DuckDB
...
Remplace le chemin lent de prepare_table_data (chargement de toutes les
lignes depuis DuckDB puis filtrage/post-traitement Polars avant slice)
par _fetch_page_sql qui pousse filtre, tri, pagination et comptage dans
DuckDB via filter_query_to_sql / sort_by_to_sql, puis post-traite
uniquement la page de 20 lignes.
Supprime _load_filter_sort_postprocess (plus utilisé). Met à jour les
tests test_table.py en supprimant les tests associés et en ajoutant
des tests dédiés pour _fetch_page_sql. Corrige le fixture flask_app
pour utiliser src.utils.cache (même instance que le module) afin que
@cache.memoize() fonctionne.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 23:53:45 +02:00
Colin Maudry
4e25ff5c85
feat(table): ajouter postprocess_page pour post-traiter une page seule
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 23:42:52 +02:00
Colin Maudry
cdb6a70f7a
feat(db): ajouter count_marches, count_unique_marches et paramètre offset à query_marches
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 23:39:51 +02:00
Colin Maudry
74213d3844
fix(table_sql): gérer *foo* et utiliser isinstance pour les types Polars
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 23:37:03 +02:00
Colin Maudry
95c90e319e
feat: ajouter traducteurs filter_query→SQL et sort_by→SQL
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 23:33:49 +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
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