Colin Maudry
fb45c8e7d5
feat: registre des votes feature_votes #94
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-30 13:55:28 +02:00
Colin Maudry
dc30d889c4
Merge vues sauvegardées #95
2026-06-29 16:54:11 +02:00
Colin Maudry
03023a6b8c
feat: table saved_views et CRUD #95
2026-06-29 16:14:00 +02:00
Colin Maudry
8cd5bfe821
fix(csrf): supprimer prevent_initial_call=True sur _fill_csrf_inputs
...
Avec prevent_initial_call=True, le callback ne s'exécutait pas lors de
la chaîne initiale (_generate_csrf_token → csrf-token), laissant le champ
csrf_token vide au premier chargement direct de /connexion → erreur 400.
Ajoute des tests comportementaux avec CSRF activé (comme en production) et
un test architectural qui vérifie que le callback reste appelable initialement.
Corrige aussi les assertions de redirection post-login (/compte/abonnement).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-29 15:46:30 +02:00
Colin Maudry
0eb2807630
Merge branch 'dev2' into dev
...
# Conflicts:
# CHANGELOG.md
# pyproject.toml
# src/assets/css/style.css
# src/pages/_apropos_shell.py
# uv.lock
2026-06-26 18:27:24 +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
6e0722e2d7
S'assure que src/ n'est pas dans le path au démarrage
2026-06-25 21:56:10 +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
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
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
95f7d80b45
feat(compte): page /compte/admin (email, mot de passe, suppression) ( #73 )
2026-06-24 22:07:05 +02:00
Colin Maudry
c99f4d970e
fix(csrf): centraliser l'injection des tokens CSRF via un dcc.Store et un callback pattern-matching
...
Remplace les 7 callbacks CSRF individuels (un par formulaire, avec IDs string
page-spécifiques) par un seul dcc.Store(id="csrf-token") dans le layout principal
et un callback pattern-matching Output({"type": "csrf-input", "index": ALL}).
Évite les erreurs Dash "id non trouvé dans le layout" sans recourir à
suppress_callback_exceptions=True.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-24 05:26:07 +02:00
Colin Maudry
cbce646fd8
Merge branch 'dev' into feature/73_compte_utilisateur
2026-06-24 03:01:43 +02:00
Colin Maudry
1aea71be7f
Merge branch 'main' into feature/78_api
2026-06-12 09:33:59 +02:00
Colin Maudry
c9a97fe9d2
feat(etapes): référencement de /etapes dans le sitemap
2026-06-04 21:51:30 +02:00
Colin Maudry
e55f3447db
Possibilité de charger les données depuis une URL, memoisation de last_modified
2026-06-04 21:34:36 +02:00
Colin Maudry
686218c639
API: branchement init_api dans l'app Dash ( #78 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-13 14:07:47 +02:00
Colin Maudry
0c9666204b
Autorisation du HTML dans les annonces
2026-05-11 10:34:06 +02:00
Colin Maudry
3e89dacff9
Correction de setup_table_columns et autres
2026-04-22 21:16:51 +02:00
Colin Maudry
d4844140b4
src/auth : exempter les routes Dash internes de la protection CSRF ( #73 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 23:11:17 +02:00
Colin Maudry
20e7eed424
src/app.py : navbar avec lien Connexion / dropdown utilisateur ( #73 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 22:56:13 +02:00
Colin Maudry
8896726e09
src/app.py : initialisation de l'authentification au démarrage ( #73 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 17:34:12 +02:00
Colin Maudry
da5a99b3af
Merge branch 'main' into dev
2026-04-20 10:49:31 +02:00
Colin Maudry
285ed37d79
Correction de l'import d'utils.cache
2026-04-20 00:06:44 +02:00
Colin Maudry
7aef7acd34
Petits ajustements (cache => utils, noms de variables)
2026-04-19 23:49:02 +02:00
Colin Maudry
4d0baebb75
Vérification de l'existence de cache_dir
2026-04-19 15:54:36 +02:00
Colin Maudry
26169abc2f
Suppression du cache à chaque redémarrage
2026-04-19 15:29:34 +02:00
Colin Maudry
a7516d65e3
Utilisation du logger global dans app et db
2026-04-18 19:28:34 +02:00
Colin Maudry
e352624c02
Capitalisation des constantes
2026-04-18 18:09:42 +02:00
Colin Maudry
9a19e5cba7
Mise en place d'un cache pour l'observatoire
2026-04-15 12:11:44 +02:00
Colin Maudry
24e0cee2b1
Améliorations de typage
2026-03-30 14:58:18 +02:00
Colin Maudry
d50ec5b01e
Statistiques => Observatoire #65
2026-03-17 22:59:01 +01:00
Colin Maudry
5c43bfea78
AMélioration de la génération de liens canoniques (pas de doublons)
2026-02-15 16:50:09 +01:00
Colin Maudry
61dbf237cf
Premier test UI
2026-02-04 23:33:59 +01:00
Colin Maudry
8c11a018a0
Alignement du logo et du numéro de version
2026-01-29 02:38:10 +01:00
Colin Maudry
274e06cde4
Hébergement de bootstrap pour supprimer google fonts
2026-01-29 01:37:56 +01:00
Colin Maudry
f9aadede8b
robots.txt généré par le code #66
2026-01-29 01:37:08 +01:00
Colin Maudry
fb5c37b34b
Merge branch 'feature/66_seo' into dev
2026-01-28 14:06:03 +01:00
Colin Maudry
1eecc45e29
Meta keywords (même si a priori ça aide pas pour le SEO) #66
2026-01-28 13:49:19 +01:00
Colin Maudry
9a1e5bee63
Départements sous forme de liste, ajout des titulaires par département #66
2026-01-28 11:57:41 +01:00
Colin Maudry
965f24ab92
Meta tag noindex sur test.decp.info
2026-01-26 07:02:03 +01:00
Colin Maudry
d499906bbe
Génération d'une sitemap #50
2026-01-21 17:40:53 +01:00
Colin Maudry
2fc501efbb
Container de l'app toujours fluid, fix noms props #63
2026-01-21 16:32:20 +01:00
Colin Maudry
945f7974c8
Configuration du point de rupture de la navbar à 992px #63
2026-01-21 15:13:59 +01:00
Colin Maudry
1044379425
Meilleur affichage sur petit écran #63
2026-01-21 14:22:52 +01:00
Colin Maudry
421eaa0772
Premier jet navbar #63
2026-01-20 17:31:42 +01:00
Colin Maudry
c3e801a15a
Utilisation des dbc pour /marche #63
2026-01-19 11:34:20 +01:00
Colin Maudry
032ca5554e
Déplacement des notes de version vers CHANGELOG.md
2025-12-24 09:31:33 +01:00
Colin Maudry
24ef21761f
Gestion des annonces dans .env
2025-12-18 01:37:58 +01:00
Colin Maudry
19d7735306
Message informant du problème avec les données MINEF
2025-12-04 16:34:56 +01:00