# Connexion à Apache Superset

Dans cet article, nous expliquerons le processus de connexion d'Apache Superset à la base de données analytique. Pour rendre cela plus illustratif, nous construirons également un tableau de bord connecté à la base de données analytique et surveillerons l'état en temps réel des véhicules, le tout en utilisant Apache Superset.

{% 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, référez-vous à la [Sélection d'outils BI](https://www.navixy.com/docs/analytics/fr/iot-query/connection-setup/selecting-bi-tools) vue d’ensemble.
{% endhint %}

## Fonctionnalités du tableau de bord

* Afficher le nombre total d'objets
* Visualiser les statuts de déplacement des véhicules (en mouvement/arrêté/garé)
* Visualiser les statuts de connexion (actif/inactif/hors ligne)
* Tableau détaillé avec le statut actuel de tous les véhicules
* Filtrage par type de véhicule, groupe, statut de mouvement et statut de connexion
* Possibilités d’exportation des données et des rapports
* Notifications et alertes personnalisables

## Exigences techniques

* Docker et Docker Compose
* Minimum 4 Go de RAM (8 Go recommandés)
* 20 Go d'espace disque libre
* Linux/Windows avec WSL2/macOS
* Python 3.8+
* Accès Internet pour la connexion à la base de données

## Installation et configuration

### 1. Installation avec Docker (méthode recommandée)

1. Installez Docker et Docker Compose en suivant la documentation officielle :

* [Installation de Docker](https://docs.docker.com/engine/install/)
* [Installation de Docker Compose](https://docs.docker.com/compose/install/)

2. Téléchargez le fichier docker-compose officiel :

{% code overflow="wrap" %}

```sh
curl -fL https://raw.githubusercontent.com/apache/superset/master/docker-compose-non-dev.yml -o docker-compose.yml
```

{% endcode %}

3. Démarrez Superset :

```sh
docker-compose up -d
```

4. Créez un administrateur :

```sh
docker-compose exec superset superset fab create-admin \
  --username admin \
  --firstname Superset \
  --lastname Admin \
  --email admin@superset.com \
  --password admin
```

5. Initialisez la base de données :

```sh
docker-compose exec superset superset db upgrade
```

6. Chargez les exemples et initialisez les rôles :

```sh
docker-compose exec superset superset init
```

### 2. Installation avec pip (pour le développement)

1. Créez un environnement virtuel :

```sh
python -m venv venv
source venv/bin/activate  # pour Linux/macOS
# ou
.\venv\Scripts\activate  # pour Windows
```

2. Installez Superset :

```sh
pip install apache-superset
```

3. Initialisez la base de données :

```sh
superset db upgrade
```

4. Créez un administrateur :

```sh
export FLASK_APP=superset
superset fab create-admin
```

5. Chargez les exemples et initialisez les rôles :

```sh
superset init
```

6. Démarrez Superset :

```sh
superset run -p 8088 --with-threads --reload --debugger
```

## Connexion à la base de données

1. Connectez-vous à Superset (par défaut : <http://localhost:8088>)
2. Naviguez vers Data → Databases
3. Cliquez sur "+" pour ajouter une nouvelle base de données
4. Remplissez les paramètres de connexion :
   1. Base de données : PostgreSQL
   2. URI SQLAlchemy : `postgresql://${DB_USER}:${DB_PASS}@${DB_HOST}:${DB_PORT}/${DB_NAME}`
   3. Nom d'affichage : Analytics Database
   4. Extra : `{"engine_params": {"connect_args": {"sslmode": "require"}}}`
5. Cliquez **Tester la connexion** pour vérifier la connexion
6. Enregistrez les paramètres

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

<table><thead><tr><th width="177.9090576171875">Paramètre Lakehouse</th><th>Emplacement du paramètre dans Apache Superset</th><th>Remarques</th></tr></thead><tbody><tr><td><strong>Hôte</strong></td><td><code>DB_HOST</code> dans l'URI SQLAlchemy</td><td>L’adresse du serveur de base de données fournie dans votre email de bienvenue</td></tr><tr><td><strong>Port</strong></td><td><code>DB_PORT</code> dans l'URI SQLAlchemy</td><td>Par défaut, 5432 pour PostgreSQL</td></tr><tr><td><strong>Nom de la base de données</strong></td><td><code>DB_NAME</code> dans l'URI SQLAlchemy</td><td>Le nom de base de données qui vous est attribué</td></tr><tr><td><strong>Nom d'utilisateur</strong></td><td><code>DB_USER</code> dans l'URI SQLAlchemy</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 l'URI SQLAlchemy</td><td>Votre mot de passe de base de données sécurisé</td></tr><tr><td><strong>Mode SSL</strong></td><td><code>connect_args</code> dans les paramètres Extra</td><td>Définir sur <strong>require</strong> dans la configuration JSON Extra</td></tr><tr><td><strong>Schéma</strong></td><td>Configuration du jeu de données</td><td>Spécifiez le schéma (<code>raw_business_data</code> ou <code>raw_telematics_data</code>) dans chaque jeu de données</td></tr></tbody></table>

## Importation du tableau de bord et des graphiques

1. Clonez le [bi-integratons](https://github.com/SquareGPS/bi-intergrations) dépôt :

```sh
git clone https://github.com/SquareGPS/bi-intergrations.git
```

2. Dans Superset, allez à **Settings → Import/Export**
3. Importez les fichiers dans l'ordre suivant :
   1. `datasets.json` - datasets
   2. `charts.json` - charts
   3. `dashboards.json` - dashboards
4. Après l'importation, mettez à jour les connexions de base de données dans chaque jeu de données

## Dépannage

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

* **Erreur de connexion :** Vérifiez l'exactitude des identifiants et des paramètres de connexion
* **Erreur de pare-feu :** Assurez-vous que votre adresse IP est ajoutée à la liste d'autorisation
* **Problèmes SSL :** Vérifiez les paramètres SSL dans les paramètres de connexion

### Problèmes de performance

* **Chargement lent des visualisations :**
  * Optimisez les requêtes SQL
  * Réduisez le nombre d’éléments affichés simultanément
  * Utilisez la mise en cache des résultats
* **Utilisation élevée de la mémoire :**
  * Augmentez les ressources des conteneurs Docker
  * Optimisez les requêtes de la base de données

### Autres problèmes

Voici quelques astuces qui peuvent vous aider à résoudre des problèmes courants :

1. Vérifiez les logs de Superset :

```
docker-compose logs superset
```

2. Redémarrez les conteneurs :

```
docker-compose restart
```

3. Videz le cache du navigateur
4. Vérifiez la version de Superset et mettez à jour si nécessaire

## Étapes suivantes

Après avoir connecté Power BI à votre **IoT Query** instance, nous vous recommandons de :

* Explorer les schémas de données disponibles en consultant la section [Aperçu du schéma](https://www.navixy.com/docs/analytics/fr/iot-query/schema-overview) pour mieux comprendre la structure et les relations des données.
* Commencez par des requêtes simples centrées sur des entités métier spécifiques avant de construire des tableaux de bord complexes - consultez nos [requêtes d’exemple](https://www.navixy.com/docs/analytics/fr/example-queries) à titre de référence.

### **Assistance**

Pour des questions techniques ou des demandes d’accès à la base de données de démonstration, veuillez contacter : <support@squaregps.com>
