Application Python de consolidation, nettoyage et visualisation de donnees financieres.
Le projet permet d'importer plusieurs fichiers CSV ou Excel, de les fusionner dans un pipeline unique, de nettoyer automatiquement les donnees, de produire un dashboard Streamlit multi-profils et d'exporter un rapport PDF de synthese.
Demonstrer un savoir-faire moderne sur un cas d'automatisation financiere:
- ingestion multi-sources
- normalisation de donnees heterogenes
- inference de colonnes sans imposer des noms exacts
- restitution executive via dashboard interactif
- generation de livrables exploitables (CSV + PDF)
- Import simultane de plusieurs fichiers
CSV,XLSXouXLS - Consolidation de toutes les sources dans un seul
DataFrame - Nettoyage automatique:
- suppression des doublons
- gestion des valeurs manquantes
- normalisation des dates
- ajout de la colonne
regiona partir du nom de fichier
- Inference automatique des colonnes metier:
- montant
- date
- flux
- PME / contrepartie
- Dashboard Streamlit avec sidebar de controle
- Export PDF via
fpdf2 - Export CSV des donnees consolidees
- Themes visuels:
- Finance Pro
- Dark Mode
- Executive Mode
- Palette de graphiques dissociable du theme visuel
- Dashboard de Performance Financiere
- Dashboard de Tresorerie
- Dashboard Budget vs Reel
- Dashboard de Risque Financier
- Dashboard de Portefeuille d'Investissement
- Dashboard Comptable
- Dashboard de Rentabilite Produits / Services
- Dashboard de KPI Financiers
- Dashboard de Prevision Financiere
- Dashboard Fraude & Conformite
- Dashboard Trading
- Dashboard de Performance Bancaire
Graphiques numeriques:
- Barres
- Barres horizontales
- Ligne
- Aire
- Waterfall
- Scatter
- Histogramme
Graphiques de repartition:
- Camembert
- Donut
- Treemap
- Sunburst
- Funnel
- Barres
.
|-- .streamlit/
|-- dashboard/
| `-- app.py
|-- data/
| |-- inputs/
| `-- outputs/
|-- docs/
| `-- ARCHITECTURE.md
|-- scripts/
| |-- aggregation.py
| |-- charts.py
| |-- cleaning.py
| |-- dashboard_profiles.py
| |-- ingestion.py
| |-- reporting.py
| `-- types.py
|-- themes/
|-- main.py
|-- requirements.txt
|-- pyrightconfig.json
`-- .pylintrc
- Python
3.11+ - PowerShell sous Windows ou un shell compatible
python -m venv .venv
.venv\Scripts\Activate.ps1
pip install --upgrade pip
pip install -r requirements.txtstreamlit run dashboard/app.pypython main.py --input-dir data/inputs --output-dir data/outputsExemple:
python main.py --input-dir data/inputs --output-dir data/outputsLes fichiers peuvent utiliser des noms de colonnes differents. Le systeme tente de reconnaitre automatiquement les concepts metier a partir:
- du nom de la colonne
- de son contenu
- du type de valeurs detectees
Exemples de variantes reconnues:
- montant:
montant,engagement,amount,volume financier,value - date:
date,date valeur,periode,timestamp - flux:
flux,sens operation,type operation,flow - PME:
pme,contrepartie,beneficiaire,client,entreprise
La region est inferee depuis le nom du fichier source.
Exemple:
engagements_nord.csv->Nordoperations_sud.xlsx->Sud
Mode dashboard:
- visualisation interactive
- telechargement PDF
- telechargement CSV
Mode CLI:
consolidated_data.csvsummary_by_region.csvsummary_by_flow.csvreport_summary.pdf
Le projet implemente trois themes:
- Finance Pro: bleu / vert / blanc
- Dark Mode: fond sombre, accent bleu electrique
- Executive Mode: minimaliste, neutre et directeur
Les fichiers de theme Streamlit sont stockes dans themes/.
Verification statique:
.\.venv\Scripts\python.exe -m pyright
.\.venv\Scripts\python.exe -m pylint main.py dashboard scripts switch_theme.py
.\.venv\Scripts\python.exe -m compileall main.py dashboard scripts switch_theme.pyEtat actuel du projet:
pyright: 0 erreurpylint: 10.00/10- test de fumee pipeline: OK
Voir docs/ARCHITECTURE.md pour:
- l'architecture interne
- le flux de traitement
- la responsabilite de chaque module
- les choix de typage et de qualite
- les points d'extension
Le projet est adapte a:
- direction financiere
- controle de gestion
- reporting bancaire
- consolidation de suivis regionaux
- demonstration de competences d'automatisation et de developpement d'outils