diff --git a/Inventaires-Excel.py b/Inventaires-Excel.py new file mode 100644 index 0000000..8f60925 --- /dev/null +++ b/Inventaires-Excel.py @@ -0,0 +1,61 @@ +import streamlit as st +import pandas as pd +import mysql.connector +from datetime import datetime +from dotenv import load_dotenv +import os + +# Charger les variables d'environnement (.env) +load_dotenv() + +def get_connection(database_name): + return mysql.connector.connect( + host=os.getenv("54.36.188.119"), + user=os.getenv("michel"), + password=os.getenv("#SO2&1nf%mZ@jfh"), + database=database_name + ) + +# --- Interface utilisateur --- +st.title("📦 Tableau de bord - Inventaires multi-sites") + +# Sélecteur de base (site) +sites = ["Roissy", "Meudon", "Saclay"] # ➕ tu peux en ajouter ici +site_selectionne = st.selectbox("Sélectionnez le site :", sites) + +try: + conn = get_connection(site_selectionne) + cursor = conn.cursor(dictionary=True) + + # Récupérer les mois disponibles + cursor.execute("SELECT DISTINCT DATE_FORMAT(Date, '%Y-%m') AS Mois FROM Inventaires ORDER BY Mois DESC") + mois_dispos = [row['Mois'] for row in cursor.fetchall()] + + if not mois_dispos: + st.warning("Aucun inventaire trouvé pour ce site.") + else: + mois_choisi = st.selectbox("Choisissez un mois :", mois_dispos) + + # Charger les données du mois + query = """ + SELECT Id_Article, Quantité, Prix, Date + FROM Inventaires + WHERE DATE_FORMAT(Date, '%%Y-%%m') = %s + ORDER BY Id_Article + """ + cursor.execute(query, (mois_choisi,)) + data = cursor.fetchall() + df = pd.DataFrame(data) + + st.success(f"{len(df)} lignes trouvées pour {site_selectionne} - {mois_choisi}") + st.dataframe(df) + + # Export CSV + csv = df.to_csv(index=False).encode('utf-8') + st.download_button("📥 Télécharger CSV", csv, f"Inventaire_{site_selectionne}_{mois_choisi}.csv", "text/csv") + + cursor.close() + conn.close() + +except Exception as e: + st.error(f"Erreur : {e}")