Colin Maudry
b0543c0c03
docs(abonnement): mention explicite 'sans période d'essai' si essai déjà utilisé ( #90 )
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DRGb8NAMwaTZxUszSbaj4N
2026-06-25 18:43:51 +02:00
Colin Maudry
a18d43dae4
docs(abonnement): anti-abus essai (trial_used + no_trial) ( #90 )
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DRGb8NAMwaTZxUszSbaj4N
2026-06-25 18:41:31 +02:00
Colin Maudry
421750957f
docs(abonnement): plan d'implémentation Frisbii ( #90 )
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DRGb8NAMwaTZxUszSbaj4N
2026-06-25 18:36:25 +02:00
Colin Maudry
78aea4a69a
docs(abonnement): durée d'essai lue depuis le plan Frisbii (non codée en dur) ( #90 )
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DRGb8NAMwaTZxUszSbaj4N
2026-06-25 18:29:22 +02:00
Colin Maudry
3f12e6e210
docs(abonnement): essai gratuit de 2 jours (config plan Frisbii) ( #90 )
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DRGb8NAMwaTZxUszSbaj4N
2026-06-25 18:06:37 +02:00
Colin Maudry
3528924857
docs(abonnement): spec Frisbii (souscription, résiliation, webhooks) ( #90 )
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DRGb8NAMwaTZxUszSbaj4N
2026-06-25 18:03:33 +02:00
Colin Maudry
8037f2733e
docs(auth): plan d'implémentation connexion LinkedIn
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-24 22:58:28 +02:00
Colin Maudry
6038b44fa8
docs(auth): spec connexion LinkedIn (OIDC)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-24 22:51:56 +02:00
Colin Maudry
442192cb35
docs(compte): plan d'implémentation de l'espace compte ( #73 )
...
Refs #73
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-24 18:38:09 +02:00
Colin Maudry
ba5ad2c2ac
docs(compte): design de l'espace compte multi-sections ( #73 )
...
Design validé en brainstorming : coquille account_shell (sidebar +
offcanvas), routage /compte/* (une page par section), 3 niveaux d'accès
avec stub d'abonnement, section Compte (email avec re-vérification,
mot de passe, suppression via modale).
Refs #73
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-24 18:32:17 +02:00
Colin Maudry
ded5e66ccc
fix(backup): nettoyer le fichier temporaire en cas d'erreur dans restore ( #89 )
...
Wraps temp file operations in try/except to ensure the temporary database file is always cleaned up, even if an exception occurs during write_snapshot or verify_integrity.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-24 17:21:28 +02:00
Colin Maudry
3ad328103c
docs(backup): plan d'implémentation sauvegarde S3 ( #89 )
2026-06-24 16:57:11 +02:00
Colin Maudry
555a87fdf7
docs(backup): conception sauvegarde base utilisateurs sur S3
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-24 16:51:45 +02:00
Colin Maudry
99abdfed0b
docs(brevo): plan d'implémentation + maj spec avec l'API v5 vérifiée ( #87 )
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-24 15:19:42 +02:00
Colin Maudry
f41ee64c32
docs(brevo): spec de migration des emails transactionnels vers Brevo ( #87 )
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-24 15:08:09 +02:00
Colin Maudry
cbce646fd8
Merge branch 'dev' into feature/73_compte_utilisateur
2026-06-24 03:01:43 +02:00
Colin Maudry
ad0a220953
feat(tableaux): scroll horizontal ergonomique + barre custom ( #82 )
...
- Barre de défilement JS orange (12px) injectée en haut de chaque
.marches_table, collée avec position:sticky, masquée si le tableau
tient dans le viewport
- Scroll contenu dans .dash-spreadsheet-container (overflow-x:hidden)
→ plus de scrollbar navigateur en bas de page
- Drag souris + tactile, clic sur le track, molette/trackpad
- Recalcul automatique au resize et aux re-renders Dash (MutationObserver)
- Test Selenium de non-régression (overflow-x:hidden sur le conteneur)
Sticky headers abandonnés (incompatibles avec scroll contenu).
Portée : 4 pages via la classe partagée .marches_table.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-23 20:12:47 +02:00
Colin Maudry
39dfa22b0d
Plan : amélioration du style des exports Excel #83
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-23 17:00:28 +02:00
Colin Maudry
10ed9c4c4b
Spec : amélioration du style des exports Excel #83
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-23 16:21:20 +02:00
Colin Maudry
ec2b8389c3
docs: verdict spike DOM tableaux #82
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-23 15:44:11 +02:00
Colin Maudry
68bd398759
docs: plan d'implémentation scroll horizontal tableaux #82
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-23 15:14:03 +02:00
Colin Maudry
0ed807f98c
docs: design scroll horizontal + en-têtes sticky des tableaux #82
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-23 15:08:47 +02:00
Colin Maudry
2ce762b6cc
docs: plan tuile considérations sociales/environnementales
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-22 18:11:45 +02:00
Colin Maudry
826448d6be
docs: spec tuile considérations sociales/environnementales (observatoire)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-22 18:09:05 +02:00
Colin Maudry
5166c88b8b
docs: plan d'implémentation parité API decp.info / tabular-api ( #78 )
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-22 13:35:34 +02:00
Colin Maudry
b0fbe89c2c
docs: ajoute la doc Swagger des mots-clés au spec parité API ( #78 )
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-22 13:27:08 +02:00
Colin Maudry
441d36273a
docs: spec parité API decp.info / tabular-api data.gouv.fr ( #78 )
...
Opérateurs manquants : differs + agrégation (groupby/count/sum/avg/min/max),
renommage du param réservé count -> count_results. or hors périmètre.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-22 13:22:49 +02:00
Colin Maudry
afd6590c54
docs: plan d'implémentation bootstrap résilient ( #78 )
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-12 11:30:36 +02:00
Colin Maudry
20f81b5732
docs: spec surfaces C/D (chargements pages au boot) ( #78 )
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-12 11:23:35 +02:00
Colin Maudry
0ebbfcd872
docs: spec schéma en cache seul ( #78 )
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-12 11:10:13 +02:00
Colin Maudry
8a853b2384
docs: spec bootstrap résilient données et schéma ( #78 )
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-12 11:01:41 +02:00
Colin Maudry
1aea71be7f
Merge branch 'main' into feature/78_api
2026-06-12 09:33:59 +02:00
Colin Maudry
6cf213add5
Spec+plan: vue mobile dédiée pour /etapes
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:31:17 +02:00
Colin Maudry
80c27bf357
Plan: page /etapes — données par étape et par seuil
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:26:09 +02:00
Colin Maudry
2e9b587613
Spec: page /etapes — données par étape et par seuil
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:13:35 +02:00
Colin Maudry
0363e89301
Plan : implémentation API privée ( #78 )
...
14 tâches TDD couvrant deps, tokens_db, CLI, filters, auth, blueprint,
endpoints (/health, /schema, /data), tracking SQLite + Matomo, OpenAPI,
changelog, mention page À propos.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-13 12:55:09 +02:00
Colin Maudry
19d69e965f
Format préfixe token #78
2026-05-13 12:29:41 +02:00
Colin Maudry
8fb1a2084d
Spec : API privée tabulaire avec tokens ( #78 )
...
Design retenu : blueprint Flask + flask-smorest sur /api/v1, endpoint
tabulaire générique aligné sur le swagger data.gouv.fr, tokens Bearer
admin manuels (CLI), suivi via Matomo async + compteurs SQLite légers.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-13 12:18:35 +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
aaf54eef91
docs(observatoire): plan d'implémentation filtrage natif DuckDB ( #72 )
...
Plan en 10 tâches TDD : construction incrémentale de dashboard_filters_to_sql,
réécriture de prepare_dashboard_data, adaptation des 3 appelants de
observatoire.py, test d'intégration sur tests/test.parquet.
2026-04-22 23:21:47 +02:00
Colin Maudry
b996eb97cc
docs(observatoire): spec du filtrage natif DuckDB ( #72 )
...
Décrit la refonte de prepare_dashboard_data pour pousser le filtrage au
niveau DuckDB via un nouveau helper dashboard_filters_to_sql, sur le
modèle de filter_query_to_sql / _fetch_page_sql.
2026-04-22 23:16:41 +02:00
Colin Maudry
f81c897342
Changelog 2.7.4
2026-04-22 20:48:27 +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
aa445b6f01
Plan #72
2026-04-20 11:36:38 +02:00
Colin Maudry
035e6b7ac3
Formatage prettier (reformatage automatique)
2026-04-16 11:13:08 +02:00
Colin Maudry
71f21b733f
Mesure de l'impact mémoire post-migration DuckDB ( #71 )
2026-04-16 11:12:50 +02:00
Colin Maudry
035d7f23fa
Plan de migration DuckDB — découpage en 20 tâches
...
20 étapes bite-sized couvrant : dépendance duckdb + .gitignore,
should_rebuild (TDD), build_database avec transforms Polars et verrou
fcntl, startup guard + query_marches, migration page-par-page
(marche → acheteur → titulaire → arbre → tableau → observatoire →
figures), suppression des globaux Polars, mesure RSS avant/après.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-15 13:37:49 +02:00
Colin Maudry
e75a69e259
Spec: DuckDB migration for decp data layer
...
Replace global Polars dataframes in src/utils.py (lines 891-913) with
an on-disk DuckDB database, built at startup from decp_prod.parquet.
Keeps two small search-path frames (df_acheteurs, df_titulaires) in
memory; moves heavy filtering and aggregation to DuckDB via a
query_marches helper that returns pl.DataFrame.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-15 13:19:52 +02:00
Colin Maudry
ff6b5d0d41
Add design spec for full URL sharing on observatoire page
2026-03-21 11:15:26 +01:00