- Correction des 907 erreurs ruff (pathlib, imports, nommage, simplifications, docstrings)
- Fix déduplication labels dans multiselect nœuds d'arrivée (analyse)
- Expansion 1→N label→IDs pour le Sankey (Pays d'opération)
- Ajout CLAUDE.md et document de design de l'audit
- Mise à jour .gitignore (artefacts tests exploratoires)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Problème:
- Warning lors de la génération PDF: Missing character U+2083 (₃)
- La police Latin Modern Roman ne supporte pas les indices Unicode
Cause:
- XeLaTeX utilise par défaut lmroman10-regular qui ne contient pas
les caractères Unicode étendus (indices, exposants, symboles)
Solution:
- Configuration de polices Liberation qui supportent pleinement Unicode
* mainfont=Liberation Serif (texte principal)
* sansfont=Liberation Sans (titres, interface)
* monofont=Liberation Mono (code, technique)
- Polices Liberation sont des équivalents open-source de Times/Arial/Courier
- Pré-installées sur Fedora/RHEL et disponibles sur toutes distributions
Avantages:
- Support complet Unicode (indices ₀₁₂₃, exposants ⁰¹²³, etc.)
- Polices open-source et largement disponibles
- Meilleur rendu pour caractères scientifiques et mathématiques
- Compatibles avec la métrique des polices Microsoft
Impact:
- Plus de warnings pour les caractères Unicode
- PDF générés avec caractères spéciaux correctement affichés
Problème:
- Lors du changement de fiche dans le selectbox, l'ancienne fiche
restait affichée et il fallait cliquer 2 fois pour changer
Cause:
- Le code assignait manuellement la valeur du selectbox au session_state
AVANT l'affichage du widget, créant un conflit avec l'index forcé
- Streamlit réexécutait le script avec l'ancienne valeur stockée
Solution:
- Utilisation du paramètre 'key' pour lier automatiquement le selectbox
au session_state au lieu d'une assignation manuelle
- Suppression des lignes redondantes d'assignation
Changements:
- app/fiches/interface.py: Ajout key pour les 2 selectbox
- .gitignore: Précision /Fiches/ pour ne pas ignorer app/fiches/
Impact:
- Sélection de fiche fonctionne maintenant au premier clic
- Comportement Streamlit standard et prévisible