import streamlit as st from PIL import Image # TECHSOLUT branding assets TECHSOLUT_LOGO_PATH = "assets/techsolut_logo.png" def apply_techsolut_theme(): # # Hide Streamlit default footer & menu # hide_streamlit_style = """ # # """ # st.markdown(hide_streamlit_style, unsafe_allow_html=True) # TECHSOLUT theme CSS with animated SVG background custom_css = """ """ st.markdown(custom_css, unsafe_allow_html=True) # Add TECHSOLUT logo & title col1, col2 = st.columns([1, 8]) with col1: try: logo = Image.open(TECHSOLUT_LOGO_PATH) st.image(logo, width=40) except Exception: st.write(":sparkles:") with col2: st.title("TECHSOLUT Platform - Vision par Ordinateur") # Optional banner / call to action widget st.markdown("""

👋 Bienvenue sur la plateforme TECHSOLUT !

🎯 Plateforme de Computer Vision pour l'analyse d'images et de vidéos en temps réel.

Effectuez des analyses en temps réel avec YOLO, RT-DETR, SAM2 et plus encore.
Multi-caméras, détection d'intrusion, export PDF, et enregistrement vidéo intégrés.

⚙️ Configurez vos préférences via la barre latérale.
📹 Multi-caméras | 🛡️ Détection d'intrusion | 📄 Export PDF | 🎬 Enregistrement vidéo

""", unsafe_allow_html=True) # Sticky footer with widgets and links st.markdown(""" """, unsafe_allow_html=True) def techsolut_sidebar_widgets(): st.sidebar.markdown("---") st.sidebar.header("🌐 Liens utiles") st.sidebar.markdown("[TECHSOLUT Website](https://www.techsolut.fr)") st.sidebar.markdown("[Documentation](https://www.techsolut.fr/docs)") st.sidebar.markdown("[Contact Support](mailto:contact@techsolut.fr)") st.sidebar.markdown("---") st.sidebar.markdown(""" 📦 Version 1.0 - Avril 2025 """, unsafe_allow_html=True) def main(): st.set_page_config( page_title="Plateforme de Vision par Ordinateur - TECHSOLUT", layout="wide" ) apply_techsolut_theme() techsolut_sidebar_widgets() # Exemple de widget dynamique supplémentaire st.sidebar.markdown("---") st.sidebar.subheader("📊 Indicateurs en direct") col1, col2 = st.sidebar.columns(2) col1.metric("🎥 Caméras", "3", "+1") col2.metric("⚠️ Alertes", "5", "-2") st.sidebar.markdown("""
Plateforme alimentée par Streamlit & YOLO
""", unsafe_allow_html=True) if __name__ == "__main__": main()