Aller au contenu

Au quotidien

Accès aux consoles

ssh -L 8080:127.0.0.1:8080 -L 3000:127.0.0.1:3000 -L 5432:127.0.0.1:5432 \
    debian@57.129.141.234

Sous VS Code Remote, la redirection est automatique : onglet PORTS.

Adresse Compte
Airflow http://localhost:8080 admin / cf. AIRFLOW_ADMIN_PASSWORD
Metabase http://localhost:3000 compte créé à l'installation
PostgreSQL 127.0.0.1:5432 warehouse / cf. WAREHOUSE_DB_PASSWORD

Commandes courantes

# État des services
docker compose ps

# Journaux d'un service
docker compose logs -f --tail=100 airflow-scheduler

# Redémarrer après modification du docker-compose.yml
docker compose up -d --force-recreate <service>

# Exécutions récentes des DAGs
docker compose exec postgres psql -U metrika -d airflow -c \
  "SELECT dag_id, run_type, state, start_date FROM dag_run
   ORDER BY start_date DESC LIMIT 10;"

# Volumétrie de l'entrepôt
docker compose exec postgres psql -U metrika -d warehouse -c \
  "SELECT n.nspname AS schema, c.relname AS table, c.reltuples::bigint AS lignes,
          pg_size_pretty(pg_total_relation_size(c.oid)) AS taille
   FROM pg_class c JOIN pg_namespace n ON n.oid = c.relnamespace
   WHERE n.nspname IN ('bronze','silver','gold') AND c.relkind = 'r'
   ORDER BY 1, 2;"

Rejouer une journée d'ingestion

Le DAG d'ingestion accepte un paramètre jour :

docker compose exec airflow-scheduler airflow dags trigger 20_ingest_eco2mix \
  --conf '{"jour": "2026-08-10"}'

Sans paramètre, un déclenchement manuel traite la veille. L'opération est idempotente : la journée est remplacée, jamais dupliquée.

Réinitialiser la démonstration

# Remet le jeu synthétique à son état de référence
docker compose exec airflow-scheduler airflow dags test 10_seed_bronze_demo
# La transformation dbt suit automatiquement (asset)

Le générateur étant déterministe, l'état obtenu est toujours identique.

Reconstruire les tableaux de bord

set -a; source .env; set +a
python3 scripts/metabase_provision.py

Idempotent : les objets existants sont mis à jour, pas dupliqués. Utile si un tableau de bord a été abîmé pendant une démonstration.

Warning

Le script écrase les modifications manuelles faites dans l'interface Metabase sur les objets qu'il gère. Toute personnalisation à conserver doit être portée dans le script.

Mise à jour d'un composant

# Modifier la version dans .env, puis :
docker compose pull <service>
docker compose up -d <service>

Vérifier au préalable la matrice de compatibilité — Airflow 3.3 supporte PostgreSQL 14 à 18, Metabase jusqu'à la dernière version stable.