Commit Graph

  • 7c77524a3a feat: UI sauvegarde et application des vues sur /tableau #95 Colin Maudry 2026-06-29 16:29:58 +02:00
  • 3d09b489b9 feat: helpers UI/validation des vues sauvegardées #95 Colin Maudry 2026-06-29 16:22:54 +02:00
  • 22fc0cbab2 refactor: extrait build_view_query et le réutilise dans le partage #95 Colin Maudry 2026-06-29 16:19:51 +02:00
  • db148eef90 Page connexion : réorganisation et bouton inscription #90 Colin Maudry 2026-06-29 16:14:43 +02:00
  • 03023a6b8c feat: table saved_views et CRUD #95 Colin Maudry 2026-06-29 16:14:00 +02:00
  • cb14b7c68e Ajoute plan d'implémentation sauvegarde des vues #95 Colin Maudry 2026-06-29 16:05:40 +02:00
  • 9d4280f69d Ajoute spec sauvegarde des vues #95 Colin Maudry 2026-06-29 15:57:44 +02:00
  • 8cd5bfe821 fix(csrf): supprimer prevent_initial_call=True sur _fill_csrf_inputs Colin Maudry 2026-06-29 15:46:30 +02:00
  • f8112274cf Gestion abonnement existant : ajout PM et résiliation avec confirmation #90 Colin Maudry 2026-06-29 14:34:30 +02:00
  • 98b4d13f94 Petites améliorations sur la facturation #90 Colin Maudry 2026-06-29 13:35:52 +02:00
  • b5f529c789 Formulaire d'infos de facturation avant paiement (#abonnement) Colin Maudry 2026-06-29 13:21:10 +02:00
  • 5e5c5170a7 Page erreur 500 Colin Maudry 2026-06-26 18:29:04 +02:00
  • 0eb2807630 Merge branch 'dev2' into dev Colin Maudry 2026-06-26 18:27:24 +02:00
  • b6a95e5464 Premier jet des CGU #93 Colin Maudry 2026-06-26 18:25:12 +02:00
  • 401bf5e204 Ajoute spec et plan d'implémentation TOUS_ABONNES Colin Maudry 2026-06-26 18:23:42 +02:00
  • 8faeaa5804 Bandeau TOUS_ABONNES et boutons S'abonner désactivés Colin Maudry 2026-06-26 18:12:58 +02:00
  • 2bdcfdeb1a Ajoute le drapeau TOUS_ABONNES pour l'accès gratuit Colin Maudry 2026-06-26 18:06:27 +02:00
  • 57dd4d22eb Lien a propos direct, ordre section, mini erreur dans marche.py Colin Maudry 2026-06-26 15:46:10 +02:00
  • b25150faa3 orjson pour sérialiser les sorties API Colin Maudry 2026-06-25 13:04:24 +02:00
  • 8926c5b02c Layout fluide (pleine largeur) pour /a-propos Colin Maudry 2026-06-26 12:24:15 +02:00
  • b4f7e94800 Redesign de a-propos Colin Maudry 2026-06-25 01:19:36 +02:00
  • e229caf320 Fix affichage jours d'essai Colin Maudry 2026-06-25 22:41:48 +02:00
  • 5bd7029066 Wrap les erreurs httpx du client Frisbii en FrisbiiError Colin Maudry 2026-06-25 22:34:29 +02:00
  • 1bd15f627f Mise un place d'un système DIY de migrations DB Colin Maudry 2026-06-25 22:15:31 +02:00
  • 6e0722e2d7 S'assure que src/ n'est pas dans le path au démarrage Colin Maudry 2026-06-25 21:56:10 +02:00
  • 89bcd9f161 Merge branch 'feature/90_subscriptions' into dev Colin Maudry 2026-06-25 21:14:47 +02:00
  • e932c66af0 Corrections des bugs de la connexion à Frisbii #90 Colin Maudry 2026-06-25 21:14:35 +02:00
  • 5f500a1aa8 fix(abonnement): garde active→pending, datetime parse, resolve_handle vide (#90) Colin Maudry 2026-06-25 19:26:15 +02:00
  • d3025e323b feat(abonnement): page /compte/abonnement + accès premium réel (#90) Colin Maudry 2026-06-25 19:08:22 +02:00
  • 3d1cb69463 feat(abonnement): routes subscribe/cancel/webhook + câblage app (#90) Colin Maudry 2026-06-25 19:00:53 +02:00
  • 4b1d8bf5c3 feat(abonnement): signature + mapping des webhooks Frisbii (#90) Colin Maudry 2026-06-25 18:56:26 +02:00
  • 4f90184ddd feat(abonnement): catalogue de plans + durée d'essai dynamique (#90) Colin Maudry 2026-06-25 18:53:41 +02:00
  • b7a79d8d86 feat(abonnement): table subscriptions + état (#90) Colin Maudry 2026-06-25 18:50:50 +02:00
  • 007cb28b21 feat(abonnement): client HTTP Frisbii (#90) Colin Maudry 2026-06-25 18:47:21 +02:00
  • b0543c0c03 docs(abonnement): mention explicite 'sans période d'essai' si essai déjà utilisé (#90) Colin Maudry 2026-06-25 18:43:51 +02:00
  • a18d43dae4 docs(abonnement): anti-abus essai (trial_used + no_trial) (#90) Colin Maudry 2026-06-25 18:41:31 +02:00
  • 421750957f docs(abonnement): plan d'implémentation Frisbii (#90) Colin Maudry 2026-06-25 18:36:25 +02:00
  • 78aea4a69a docs(abonnement): durée d'essai lue depuis le plan Frisbii (non codée en dur) (#90) Colin Maudry 2026-06-25 18:29:22 +02:00
  • 3f12e6e210 docs(abonnement): essai gratuit de 2 jours (config plan Frisbii) (#90) Colin Maudry 2026-06-25 18:06:37 +02:00
  • 3528924857 docs(abonnement): spec Frisbii (souscription, résiliation, webhooks) (#90) Colin Maudry 2026-06-25 18:03:33 +02:00
  • 6d07dcb0bb orjson pour sérialiser les sorties API Colin Maudry 2026-06-25 13:04:24 +02:00
  • 06fad7ec2d Changelog 2.8.1 main v2.8.1 Colin Maudry 2026-06-25 09:54:45 +02:00
  • 3eec248dab Fix tokens_cli est maintenant autonome pour récupérer l'env Colin Maudry 2026-06-25 09:50:19 +02:00
  • 2701eb0422 Layout fluide (pleine largeur) pour /compte et /a-propos Colin Maudry 2026-06-25 09:37:06 +02:00
  • b93aca9005 feat(ux): refonte barre latérale /compte et fix CLI tokens Colin Maudry 2026-06-25 02:11:28 +02:00
  • 82999ef056 Redesign de a-propos Colin Maudry 2026-06-25 01:19:36 +02:00
  • 590b927e31 fix(auth): corrections runtime LinkedIn OAuth (#88) Colin Maudry 2026-06-25 00:38:01 +02:00
  • 5a702ac77e fix(auth): null password_hash pour utilisateurs OAuth (#88) Colin Maudry 2026-06-24 23:27:15 +02:00
  • aac3753226 feat(auth): bouton Connexion avec LinkedIn sur connexion/inscription (#88) Colin Maudry 2026-06-24 23:18:41 +02:00
  • 9f10f1c4de feat(auth): routes /auth/linkedin et callback OIDC (#88) Colin Maudry 2026-06-24 23:14:29 +02:00
  • d79e990c04 feat(auth): init Authlib + provider LinkedIn (config env) (#88) Colin Maudry 2026-06-24 23:11:26 +02:00
  • d72cad90ec feat(auth): resolve_oauth_user (liaison/création de compte OIDC) (#88) Colin Maudry 2026-06-24 23:07:46 +02:00
  • 44031efcd5 feat(auth): oauth_identities table + password_hash nullable (#88) Colin Maudry 2026-06-24 23:04:18 +02:00
  • 8037f2733e docs(auth): plan d'implémentation connexion LinkedIn Colin Maudry 2026-06-24 22:58:28 +02:00
  • 6038b44fa8 docs(auth): spec connexion LinkedIn (OIDC) Colin Maudry 2026-06-24 22:51:56 +02:00
  • ccdf476c4f fix(compte): styles nav sidebar, zone danger et bouton déconnexion (#73) Colin Maudry 2026-06-24 22:38:28 +02:00
  • ff7aaa54cd fix(auth): vérification promote_pending_email, purge tokens change-email, fallback login (#73) Colin Maudry 2026-06-24 22:25:34 +02:00
  • dba8669f4b test(compte): redirections d'accès de l'espace compte (#73) Colin Maudry 2026-06-24 22:16:02 +02:00
  • e2124024e1 fix: move _toggle_offcanvas callback to _compte_shell.py Colin Maudry 2026-06-24 22:10:01 +02:00
  • 95f7d80b45 feat(compte): page /compte/admin (email, mot de passe, suppression) (#73) Colin Maudry 2026-06-24 22:07:05 +02:00
  • cce4d9873a feat(compte): coquille de la section Abonnement (#73) Colin Maudry 2026-06-24 22:06:42 +02:00
  • 6144e3c18d feat(auth): route delete-account avec confirmation par mot de passe (#73) Colin Maudry 2026-06-24 18:49:52 +02:00
  • 558df9627b feat(auth): routes change-email + confirm-email-change (#73) Colin Maudry 2026-06-24 18:48:08 +02:00
  • 90261d4f31 feat(auth): email de confirmation de changement d'adresse (#73) Colin Maudry 2026-06-24 18:45:37 +02:00
  • 4602b45f30 feat(compte): coquille account_shell (sidebar + offcanvas + garde d'accès) (#73) Colin Maudry 2026-06-24 18:43:53 +02:00
  • f301a0a336 feat(auth): email en attente (pending_email) + migration (#73) Colin Maudry 2026-06-24 18:43:04 +02:00
  • 442192cb35 docs(compte): plan d'implémentation de l'espace compte (#73) Colin Maudry 2026-06-24 18:38:09 +02:00
  • ba5ad2c2ac docs(compte): design de l'espace compte multi-sections (#73) Colin Maudry 2026-06-24 18:32:17 +02:00
  • 816c6d67b0 Changelog 2.9.0 Colin Maudry 2026-06-24 18:01:59 +02:00
  • 9baf02810f Merge branch 'feature/89_backup' into dev Colin Maudry 2026-06-24 17:49:15 +02:00
  • 6161a103b0 Fix README Colin Maudry 2026-06-24 17:49:08 +02:00
  • ac3ba89c0a fix(backup): retirer users.sqlite du suivi git, logging, test restore CLI, garde snapshot (#89) Colin Maudry 2026-06-24 17:45:40 +02:00
  • 02df6c10a0 feat(backup): unités systemd, variables d'env et doc de déploiement (#89) Colin Maudry 2026-06-24 17:29:03 +02:00
  • 196a9db8c1 refactor(backup): retirer le return 1 inaccessible dans main() (#89) Colin Maudry 2026-06-24 17:26:37 +02:00
  • 1453990f7a feat(backup): CLI backup/list/restore (#89) Colin Maudry 2026-06-24 17:23:57 +02:00
  • ded5e66ccc fix(backup): nettoyer le fichier temporaire en cas d'erreur dans restore (#89) Colin Maudry 2026-06-24 17:21:28 +02:00
  • cae0a528f3 feat(backup): orchestration backup/list/restore (#89) Colin Maudry 2026-06-24 17:18:47 +02:00
  • 0234505932 refactor(backup): type hints sur FakeStorage (#89) Colin Maudry 2026-06-24 17:16:40 +02:00
  • 108592f289 feat(backup): wrapper de stockage S3 (boto3) + faux stockage de test (#89) Colin Maudry 2026-06-24 17:13:17 +02:00
  • efefc3f5b0 feat(backup): snapshot SQLite cohérent et contrôle d'intégrité (#89) Colin Maudry 2026-06-24 17:10:22 +02:00
  • 2a691e37b7 feat(backup): chiffrement Fernet des sauvegardes Colin Maudry 2026-06-24 17:08:34 +02:00
  • 927f56cb1c feat(backup): rotation multi-paliers (fonction pure) Colin Maudry 2026-06-24 17:06:27 +02:00
  • 48c0649a68 feat(backup): nommage horodaté des clés S3 (#89) Colin Maudry 2026-06-24 17:02:47 +02:00
  • 1d2a945aa1 feat(backup): config et dépendances pour la sauvegarde S3 (#89) Colin Maudry 2026-06-24 17:00:34 +02:00
  • 3ad328103c docs(backup): plan d'implémentation sauvegarde S3 (#89) Colin Maudry 2026-06-24 16:57:11 +02:00
  • 555a87fdf7 docs(backup): conception sauvegarde base utilisateurs sur S3 Colin Maudry 2026-06-24 16:51:45 +02:00
  • 3f1c39d5a6 fix(brevo): passer X-Sib-Sandbox dans le body email, pas en header HTTP (#87) Colin Maudry 2026-06-24 16:15:07 +02:00
  • c3408ecc3c refactor(brevo): utiliser DEVELOPMENT pour le mode sandbox Brevo (#87) Colin Maudry 2026-06-24 15:40:46 +02:00
  • c0927c718d test(brevo): test d'intégration sandbox optionnel (#87) Colin Maudry 2026-06-24 15:35:23 +02:00
  • 162bc550c0 chore(brevo): retirer la config SMTP et les templates Jinja d'email (#87) Colin Maudry 2026-06-24 15:34:45 +02:00
  • e4c291a785 feat(brevo): envoyer les emails transactionnels via l'API Brevo v5 (#87) Colin Maudry 2026-06-24 15:33:14 +02:00
  • 570f9f4153 build(brevo): remplacer flask-mail par brevo-python v5 (#87) Colin Maudry 2026-06-24 15:30:48 +02:00
  • 99abdfed0b docs(brevo): plan d'implémentation + maj spec avec l'API v5 vérifiée (#87) Colin Maudry 2026-06-24 15:19:42 +02:00
  • f41ee64c32 docs(brevo): spec de migration des emails transactionnels vers Brevo (#87) Colin Maudry 2026-06-24 15:08:09 +02:00
  • afe99ea79f fix(auth): utiliser threading.local() pour les connexions SQLite par thread Colin Maudry 2026-06-24 12:23:55 +02:00
  • 7be0332f02 Merge branch 'dev' into feature/73_compte_utilisateur Colin Maudry 2026-06-24 05:34:27 +02:00
  • 8830b2ac91 fix(test): mettre à jour les assertions de compute_considerations_stats pour le retour en 3-tuple Colin Maudry 2026-06-24 05:34:03 +02:00
  • b1c33c29ed Env MAIL_SUPPRESS_SEND Colin Maudry 2026-06-24 05:29:24 +02:00
  • c99f4d970e fix(csrf): centraliser l'injection des tokens CSRF via un dcc.Store et un callback pattern-matching Colin Maudry 2026-06-24 05:26:07 +02:00
  • c228f7be55 fix(auth): corriger le lien de validation email et l'isolation des tests Colin Maudry 2026-06-24 03:55:52 +02:00