Colin Maudry
2bdcfdeb1a
Ajoute le drapeau TOUS_ABONNES pour l'accès gratuit
...
Ouvre les fonctionnalités d'abonné à tout utilisateur connecté tant que
Frisbii n'a pas validé la réception de paiements.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-26 18:06:27 +02:00
Colin Maudry
57dd4d22eb
Lien a propos direct, ordre section, mini erreur dans marche.py
2026-06-26 15:46:10 +02:00
Colin Maudry
b25150faa3
orjson pour sérialiser les sorties API
2026-06-26 12:24:47 +02:00
Colin Maudry
8926c5b02c
Layout fluide (pleine largeur) pour /a-propos
2026-06-26 12:24:15 +02:00
Colin Maudry
b4f7e94800
Redesign de a-propos
2026-06-26 12:24:07 +02:00
Colin Maudry
e229caf320
Fix affichage jours d'essai
2026-06-25 22:41:48 +02:00
Colin Maudry
5bd7029066
Wrap les erreurs httpx du client Frisbii en FrisbiiError
2026-06-25 22:34:29 +02:00
Colin Maudry
1bd15f627f
Mise un place d'un système DIY de migrations DB
2026-06-25 22:15:31 +02:00
Colin Maudry
6e0722e2d7
S'assure que src/ n'est pas dans le path au démarrage
2026-06-25 21:56:10 +02:00
Colin Maudry
89bcd9f161
Merge branch 'feature/90_subscriptions' into dev
2026-06-25 21:14:47 +02:00
Colin Maudry
e932c66af0
Corrections des bugs de la connexion à Frisbii #90
2026-06-25 21:14:35 +02:00
Colin Maudry
5f500a1aa8
fix(abonnement): garde active→pending, datetime parse, resolve_handle vide ( #90 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DRGb8NAMwaTZxUszSbaj4N
2026-06-25 19:26:15 +02:00
Colin Maudry
d3025e323b
feat(abonnement): page /compte/abonnement + accès premium réel ( #90 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DRGb8NAMwaTZxUszSbaj4N
2026-06-25 19:08:22 +02:00
Colin Maudry
3d1cb69463
feat(abonnement): routes subscribe/cancel/webhook + câblage app ( #90 )
2026-06-25 19:00:53 +02:00
Colin Maudry
4b1d8bf5c3
feat(abonnement): signature + mapping des webhooks Frisbii ( #90 )
2026-06-25 18:56:26 +02:00
Colin Maudry
4f90184ddd
feat(abonnement): catalogue de plans + durée d'essai dynamique ( #90 )
2026-06-25 18:53:41 +02:00
Colin Maudry
b7a79d8d86
feat(abonnement): table subscriptions + état ( #90 )
2026-06-25 18:50:50 +02:00
Colin Maudry
007cb28b21
feat(abonnement): client HTTP Frisbii ( #90 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DRGb8NAMwaTZxUszSbaj4N
2026-06-25 18:47:21 +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
6d07dcb0bb
orjson pour sérialiser les sorties API
2026-06-25 13:04:24 +02:00
Colin Maudry
06fad7ec2d
Changelog 2.8.1
v2.8.1
2026-06-25 09:54:45 +02:00
Colin Maudry
3eec248dab
Fix tokens_cli est maintenant autonome pour récupérer l'env
2026-06-25 09:50:19 +02:00
Colin Maudry
2701eb0422
Layout fluide (pleine largeur) pour /compte et /a-propos
2026-06-25 09:37:06 +02:00
Colin Maudry
b93aca9005
feat(ux): refonte barre latérale /compte et fix CLI tokens
...
- Déconnexion déplacée dans la sidebar (lien discret) et retirée du dropdown navbar
- Email utilisateur connecté = lien simple vers /compte/admin (sans dropdown)
- Hover orange pâle sur les nav-links des sidebars
- fix(cli): load_dotenv() dans tokens_cli pour charger .env hors contexte app
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DRGb8NAMwaTZxUszSbaj4N
2026-06-25 02:11:28 +02:00
Colin Maudry
82999ef056
Redesign de a-propos
2026-06-25 01:19:36 +02:00
Colin Maudry
590b927e31
fix(auth): corrections runtime LinkedIn OAuth ( #88 )
...
- Workaround nonce OIDC LinkedIn (non-conformité) : capture MissingClaimError après échange de code réussi et fetch userinfo séparément
- Ajout token_endpoint_auth_method: client_secret_post (requis par LinkedIn)
- suppress_callback_exceptions=True pour corriger les erreurs Dash multi-pages
- Suppression bouton déconnexion redondant sur /compte/admin et style hover incorrect sur la navbar
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-25 00:38:01 +02:00
Colin Maudry
5a702ac77e
fix(auth): null password_hash pour utilisateurs OAuth ( #88 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-24 23:27:15 +02:00
Colin Maudry
aac3753226
feat(auth): bouton Connexion avec LinkedIn sur connexion/inscription ( #88 )
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-24 23:18:41 +02:00
Colin Maudry
9f10f1c4de
feat(auth): routes /auth/linkedin et callback OIDC ( #88 )
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-24 23:14:29 +02:00
Colin Maudry
d79e990c04
feat(auth): init Authlib + provider LinkedIn (config env) ( #88 )
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-24 23:11:26 +02:00
Colin Maudry
d72cad90ec
feat(auth): resolve_oauth_user (liaison/création de compte OIDC) ( #88 )
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-24 23:07:46 +02:00
Colin Maudry
44031efcd5
feat(auth): oauth_identities table + password_hash nullable ( #88 )
...
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-06-24 23:04:18 +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
ccdf476c4f
fix(compte): styles nav sidebar, zone danger et bouton déconnexion ( #73 )
...
- Nav sidebar : indicateur bordure gauche rouge au lieu du pill rouge plein
- Zone danger : couleur rouge directe (#d9230f) au lieu de Bootstrap danger (violet en Simplex)
- Bouton Déconnexion : outline pour le rendre clairement stylisé
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-24 22:38:28 +02:00
Colin Maudry
ff7aaa54cd
fix(auth): vérification promote_pending_email, purge tokens change-email, fallback login ( #73 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-24 22:25:34 +02:00
Colin Maudry
dba8669f4b
test(compte): redirections d'accès de l'espace compte ( #73 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-24 22:16:02 +02:00
Colin Maudry
e2124024e1
fix: move _toggle_offcanvas callback to _compte_shell.py
...
The callback was defined in compte_admin.py but controlled components
(compte-offcanvas and compte-offcanvas-open) rendered by account_shell()
in _compte_shell.py. Moving the callback to where the components live
improves code organization and reduces coupling.
Closes #73
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-24 22:10:01 +02:00
Colin Maudry
95f7d80b45
feat(compte): page /compte/admin (email, mot de passe, suppression) ( #73 )
2026-06-24 22:07:05 +02:00
Colin Maudry
cce4d9873a
feat(compte): coquille de la section Abonnement ( #73 )
2026-06-24 22:06:42 +02:00
Colin Maudry
6144e3c18d
feat(auth): route delete-account avec confirmation par mot de passe ( #73 )
2026-06-24 18:49:52 +02:00
Colin Maudry
558df9627b
feat(auth): routes change-email + confirm-email-change ( #73 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-24 18:48:08 +02:00
Colin Maudry
90261d4f31
feat(auth): email de confirmation de changement d'adresse ( #73 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-24 18:45:37 +02:00
Colin Maudry
4602b45f30
feat(compte): coquille account_shell (sidebar + offcanvas + garde d'accès) ( #73 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-24 18:43:53 +02:00
Colin Maudry
f301a0a336
feat(auth): email en attente (pending_email) + migration ( #73 )
...
Adds pending_email column to users table with idempotent migration.
Implements set_pending_email() and promote_pending_email() for email-change workflow.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-24 18:43:04 +02:00