Commit Graph

34 Commits

Author SHA1 Message Date
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
Colin Maudry 1ffa995a4a docs: spec for distance histogram on observatoire, acheteur, titulaire pages
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 22:02:20 +01:00
Colin Maudry 3a70bbd9ea Ajout du spec : lien observatoire depuis recherche/tableau #65
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 14:24:11 +01:00