> For the complete documentation index, see [llms.txt](https://navixy.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://navixy.com/docs/analytics/fr/iot-query/connection-setup/selecting-bi-tools/connecting-streamlit.md).

# Connexion à Streamlit

Créez des applications Streamlit personnalisées connectées à IoT Query via PostgreSQL. Interrogez les données du tracker en Python et affichez l'état de la flotte en direct dans des tableaux de bord personnalisés

Dans cet article, nous allons passer en revue le processus de création d’un tableau de bord à l’aide de Streamlit. Pour le rendre plus illustratif, nous créerons un tableau de bord qui se connecte à la base de données analytique et surveille l’état en temps réel des Véhicules.

{% hint style="info" %}
Ce guide fait partie de la **IoT Query** suite de documentation et couvre spécifiquement la connexion de Power BI à votre entrepôt de données. Si vous hésitez encore sur l'outil BI à utiliser, consultez la [Sélection des outils BI](/docs/analytics/fr/iot-query/connection-setup/selecting-bi-tools.md) Vue d'ensemble.
{% endhint %}

## Fonctionnalités du tableau de bord

* Afficher le nombre total d'objets
* Visualiser les statuts de Mouvement (En mouvement/Arrêté/Stationné)
* Visualiser les statuts de connexion (actif/inactif/Hors-ligne)
* Tableau détaillé avec l'état actuel de tous les Véhicules
* Filtrage par type de véhicule, Groupe, Mouvement et état de connexion
* Actualisation automatique des données toutes les 5 minutes
* Basculer entre les thèmes clair et sombre

## Exigences techniques

* Python 3.8+
* Accès Internet pour la connexion à la base de données
* 2 Go de RAM minimum

## Installation et configuration

### 1. Cloner le dépôt

```sh
git clone https://github.com/Navixy/bi-integrations.git
```

### 2. Créer un environnement virtuel

```
# Windows
python -m venv venv
venv\Scripts\activate

# Linux/macOS
python -m venv venv
source venv/bin/activate
```

{% hint style="danger" %}
Assurez-vous d’avoir Python 3.8 ou une version supérieure installé. Vous pouvez vérifier la version avec la commande `python --version`.
{% endhint %}

### 3. Installer les dépendances

Après avoir activé l’environnement virtuel, installez toutes les bibliothèques nécessaires :

```sh
pip install -r requirements.txt
```

## Connexion à la base de données

### 1. Créez un fichier de configuration

Créez un `.env` fichier dans le répertoire racine du projet :

```
DB_HOST=votre_hôte_de_BD
DB_NAME=votre_nom_de_BD
DB_USER=votre_utilisateur_de_BD
DB_PASS=votre_mot_de_passe_de_BD
DB_PORT=5432
DB_SCHEMA=raw_business_data
```

#### Référence des paramètres de connexion

<table><thead><tr><th width="188.81817626953125">Paramètre Lakehouse</th><th>Emplacement du paramètre Streamlit</th><th>Remarques</th></tr></thead><tbody><tr><td><strong>Hôte</strong></td><td><code>DB_HOST</code> dans <code>.env</code> fichier</td><td>L'adresse du serveur de base de données fournie dans votre e-mail de bienvenue</td></tr><tr><td><strong>Port</strong></td><td><code>DB_PORT</code> dans <code>.env</code> fichier</td><td>La valeur par défaut est 5432 pour PostgreSQL</td></tr><tr><td><strong>Nom de la base de données</strong></td><td><code>DB_NAME</code> dans <code>.env</code> fichier</td><td>Le nom de base de données qui vous a été attribué</td></tr><tr><td><strong>Nom d'utilisateur</strong></td><td><code>DB_USER</code> dans <code>.env</code> fichier</td><td>Votre nom d'utilisateur de base de données</td></tr><tr><td><strong>Mot de passe</strong></td><td><code>DB_PASS</code> dans <code>.env</code> fichier</td><td>Votre mot de passe de base de données sécurisé</td></tr><tr><td><strong>Mode SSL</strong></td><td>Chaîne de connexion dans le code Python</td><td>Réglez sur <strong>require</strong> dans la chaîne de connexion</td></tr><tr><td><strong>Schéma</strong></td><td><code>DB_SCHEMA</code> dans <code>.env</code> fichier</td><td>Spécifiez le schéma (<strong>raw_business_data</strong> ou <strong>raw_telematics_data</strong>)</td></tr></tbody></table>

### 2. Obtention des identifiants

Demandez les identifiants pour vous connecter à la base de données de démonstration en contactant l’administrateur.

{% hint style="info" %}
Le `.env` Le fichier ne doit pas être inclus dans le contrôle de version (GitHub) afin de garantir la Sécurité des identifiants. Le `.gitignore` le fichier est déjà configuré pour exclure ce fichier.
{% endhint %}

## Exécution du tableau de bord

Après avoir configuré la connexion à la base de données, démarrez le tableau de bord avec la commande :

```
streamlit run moving_status_dashboard.py
```

Après le lancement, vous verrez un message similaire à :

```
  Vous pouvez maintenant consulter votre application Streamlit dans votre navigateur.

  URL locale : http://localhost:8501
  URL réseau : http://192.168.1.5:8501
```

Ouvrez l'URL spécifiée dans votre navigateur. Le tableau de bord sera disponible à <http://localhost:8501> (ou à l'URL réseau si vous souhaitez l'ouvrir depuis un autre appareil sur le réseau).

## Développer des composants personnalisés

Si vous souhaitez modifier le tableau de bord ou créer de nouveaux composants :

### 1. Modification du tableau de bord existant

Streamlit recharge automatiquement l'application lorsque vous modifiez le code source. Il vous suffit de modifier le `en_mouvement_status_dashboard.py` fichier et enregistrez vos modifications.

### 2. Ajout de nouvelles visualisations

Pour ajouter de nouveaux graphiques et diagrammes, utilisez les bibliothèques :

* Plotly : `import plotly.express as px` ou `import plotly.graph_objects as go`
* Visualisations Streamlit intégrées : `st.bar_chart()`, `st.line_chart()`, etc.

Exemple d'ajout d'un nouveau graphique :

```python
import plotly.express as px

# Récupérer les données de la base de données
df = ... # votre requête de base de données

# Créer le graphique
fig = px.pie(df, values='count', names='status', title='Statuts des véhicules')
st.plotly_chart(fig, use_container_width=True)
```

### 3. Débogage

Pour le débogage, utilisez

```python
# Sortie vers l'interface Streamlit
st.write(f"Débogage : {your_variable}")

# Sortie vers la console
print(f"Débogage de la console : {your_variable}")

# Sortie de données étendue
st.json(data_dict)
st.dataframe(pandas_dataframe)
```

## Dépannage

### Problèmes de connexion à la base de données

* **Erreur de connexion :** Vérifiez l'exactitude des identifiants dans le `.env` la disponibilité du fichier et de la base de données
* **Erreur SSL :** Assurez-vous que votre IP figure sur la liste d'autorisation pour l'accès à la base de données
* **Erreurs de délai d'attente :** Vérifiez la stabilité de votre connexion Internet et les paramètres de votre pare-feu

### Problèmes de dépendances

**Erreur lors de l'installation de psycopg2-binary :**

* Windows : `pip install pipwin && pipwin install psycopg2-binary`
* Linux : `sudo apt install python3-dev libpq-dev`
* macOS : `brew install postgresql`

**Conflits de dépendances :**

* Créer un nouvel environnement virtuel
* Installez les dépendances une par une, en commençant par streamlit

### Autres problèmes

Voici quelques astuces qui peuvent vous aider à corriger les problèmes courants :

1. Mettre à jour les dépendances : `pip install -r requirements.txt --upgrade`
2. Vérifier la compatibilité de Python : `python --version` (devrait être 3.8+)
3. Lors de la modification du code, incluez des messages de débogage :

```
st.write(f"Débogage : {your_variable}")
```

4. Erreurs de cache Streamlit : arrêtez l'application et exécutez-la avec `--clear_cache` drapeau :

```
streamlit run En mouvement_status_dashboard.py --clear_cache
```

## Étapes suivantes

Après avoir connecté avec succès Power BI à votre instance Private Telematics Lakehouse, nous vous recommandons de :

* Explorez les schémas de données disponibles en consultant la [Vue d'ensemble du schéma](/docs/analytics/fr/iot-query/schema-overview.md) section afin de mieux comprendre la structure et les relations des données.
* Commencez par des requêtes simples axées sur des entités métier spécifiques avant de créer des tableaux de bord complexes - consultez nos [exemples de requêtes](/docs/analytics/fr/example-queries.md) pour référence.

### **Assistance**

Pour toute question technique ou demande d'accès à la base de données de démonstration, veuillez contacter : <support@squaregps.com>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://navixy.com/docs/analytics/fr/iot-query/connection-setup/selecting-bi-tools/connecting-streamlit.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
