Commit Graph

70 Commits

Author SHA1 Message Date
Colin Maudry ad872d3b2c docs: ajouter le plan d'implémentation des cartes acheteur/titulaire 2026-07-03 15:48:32 +02:00
Colin Maudry f301c2ab0f docs: ajouter le design des cartes acheteur/titulaire avec contrepartie 2026-07-03 15:15:46 +02:00
Colin Maudry 19991dd22f Ajouter le plan d'implémentation de l'éditeur générique de tables (/admin) 2026-07-03 12:34:22 +02:00
Colin Maudry 6bec76535c Remplacer le design du panneau admin par un éditeur générique de tables
Pivot avant merge : au lieu de pages dédiées par cas d'usage, une seule
page /admin avec sélecteur de table + édition de cellule DataTable,
plus facile à faire évoluer au fil des besoins de support.
2026-07-03 12:27:04 +02:00
Colin Maudry e820041cef Ajouter le plan d'implémentation du panneau admin (/admin) 2026-07-03 09:19:15 +02:00
Colin Maudry e678399fe7 Préciser la pagination native (20/page) du tableau /admin 2026-07-03 09:07:27 +02:00
Colin Maudry 2cbee97afb Ajouter le spec du panneau admin interne (/admin)
Design pour un panneau de support/débug (liste des comptes, historique
d'abonnements, correction manuelle de statut) protégé par ADMIN_EMAIL,
avec journal d'audit en base plutôt qu'en logs applicatifs.
2026-07-03 09:02:14 +02:00
Colin Maudry f52b2b7b71 docs: plan d'implémentation pour le handle d'abonnement et l'historique
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-01 14:24:42 +02:00
Colin Maudry b077fd318d docs: note la vérification de méthode de paiement réelle comme suivi séparé
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-01 14:13:39 +02:00
Colin Maudry 17c379f0b3 docs: design pour le handle d'abonnement personnalisé et l'historique des abonnements
Spec pour remplacer generate_handle par un handle abo-{user_id}-N unique,
ce qui nécessite de scinder subscriptions en historique multi-lignes et
d'introduire subscriber_state pour l'état cumulatif (votes, essai).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-01 14:12:11 +02:00
Colin Maudry b7ca9c1ffa docs: plan implémentation vote roadmap #94
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 13:30:58 +02:00
Colin Maudry 0cfafedeef feat: charte graphique des boutons (primary/secondary/danger)
Override CSS scopé aux classes .btn-* (jamais les variables --bs-* racine,
donc alertes/badges inchangés) pour remplacer les couleurs dérivées du thème
Simplex (danger mauve, secondary gris illisible). Trois rôles : la couleur
encode la fonction, le remplissage l'emphase.

- primary terracotta : action principale validante
- secondary gris ardoise : action neutre/alternative (lisible)
- danger rouge #c0392b : destructif (outline par défaut, plein en confirmation)

Audit + conformation des usages :
- compte_admin « Supprimer mon compte » : primary outline -> danger outline
- compte_abonnement « Me désabonner » : outline-primary -> outline-danger
- compte_abonnement « Je suis sûr » : outline-primary -> danger plein

Tests : ajout tests/test_boutons.py (garde de non-régression du primary).
conftest : implémente le hook pytest_setup_options (--headless=new) ; la
fixture chrome_options n'était jamais utilisée par dash.testing, d'où les
fenêtres Chrome qui s'ouvraient pendant les tests.

Specs et plan : docs/superpowers/{specs,plans}/2026-06-30-charte-boutons*.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 13:21:24 +02:00
Colin Maudry d436fd4d9e docs: fix chemin src/utils dans spec roadmap #94
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 13:19:02 +02:00
Colin Maudry 5578a9deb0 docs: spec design vote roadmap #94
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 13:17:44 +02:00
Colin Maudry cb14b7c68e Ajoute plan d'implémentation sauvegarde des vues #95
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 16:05:40 +02:00
Colin Maudry 9d4280f69d Ajoute spec sauvegarde des vues #95
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 15:57:44 +02:00
Colin Maudry 401bf5e204 Ajoute spec et plan d'implémentation TOUS_ABONNES
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 18:23:42 +02:00
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