Skip to content

Latest commit

 

History

History
104 lines (67 loc) · 3 KB

README.md

File metadata and controls

104 lines (67 loc) · 3 KB

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