Skip to content

entrepreneur-interet-general/cibnav

Repository files navigation

Documentation

La documentation de l'outil, des variables et du modèle est disponible ici.

La source en markdown est dans le dossier "docs", et la documentation est mise-à-jour en cas de changement à chaque push.

L'alogithme est documenté dans cette fiche d'identité qui reprend les recommendations d'Etalab.

Data Engineering For CibNav

Utiliser Python3

Connexion au serveur

L'accès au serveur se fait via Bastion.

  • Lien bastion. Le premier mot de passe est le mot de passe personnel et le deuxième est le mot de passe d'application (token InWebo).

Backend

  • Base de données : Postgresql, utilisateur cibnav, nom de la base cibnav

Commande de connexion :

psql -U cibnav -W -h localhost
  • Dashboard : Metabase

Metabase en local

Exporter les données

make dump-data

Exporter la configuration Metabase

make dump-metabase-config

Télécharger les données localement avec scp via bastion

Menu contextuel > "Téléchargement SCP"

Et récupérer :

  • /root/cibnav-dev/dump/metabase.tar
  • /root/cibnav-dev/dump/cibnav.tar

Lancer le docker-compose

make run-metabase

Config connecteur postgresql - metabase

Se connecter au metabase après avoir lancé le docker-compose : firefox localhost:3000 Le compte adminstrateur est diponible dans le keepass : Cibnav Metabase Admin

Allez dans le panneau Réglages Adminstrateur puis choisir l'onglet Base de Données. Séléctionnez la base CibNav et éditez les informations suivantes :

  • Host : Adresse IP du containeur postgres (utiliser docker inspect)
  • Port : 5432
  • Nom de la database : cibnav
  • User : cibnav
  • Password : Défini par la variable $POSTGRES_PASSWORD
  • Option SSL : Non

Airflow en local

Configuration d'Airflow

  • L'installation d'Airflow se fait via pip selon la manière recommandée sur le site officiel
  • Mettre à jour le répertoire des DAGs dags_folder dans "~/airflow/airflow.cfg"
  • Créer un utilisateur Airflow avec la commande :
airflow users create --username admin --firstname F --lastname L --role Admin --email [email protected]
  • Créer le fichier .env cp .env.example .env et compléter les variables d'environnement.

  • Lancer airflow avec make run-airflow.

Python en local

Nous utilisons l'outil poetry pour gérer les dépendances et le packaging.

  • Installer poetry au besoin
  • Installer les dépendances avec poetry poetry install
  • Activer le shell poetry shell
  • Installer le reste des dépendances (notamment airflow qui ne supporte pas poetry) via pip install -r requirements.txt