Data Engineering Stage Professionnel

πŸ—ΊοΈ Geotir - Middleware Data Pipeline

Pipeline de donnees pour centraliser les donnees publiques urbaines de Paris. Projet realise durant mon stage chez Aptero.

πŸ“‹ Contexte

Geotir est un POC (Proof of Concept) de pipeline de donnees concu pour un partenaire client d'Aptero. L'objectif : centraliser les donnees publiques de la ville de Paris pour l'aide a la decision immobiliere. Le systeme extrait, formate, enrichit et stocke les donnees dans une base PostgreSQL.

Objectif du POC
Definir la vision et la direction du projet, identifier les limitations techniques, et valider la faisabilite de l'approche avant un developpement complet.

πŸ“Š Sources de donnees

🏫
Ecoles (API Education Nationale)
⚽
Infrastructures sportives (Data.gouv)
πŸš‡
Stations de metro (OpenStreetMap)
πŸ₯
Hopitaux (Fichiers JSON)

πŸ—οΈ Architecture


β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    Collect    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    Format    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ call_api.pyβ”‚ ───────────>  β”‚ processing β”‚ ───────────> β”‚ convert_df β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜               β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜              β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
                                                              β–Ό
                                                            PostgreSQL
                                                            (bdd.py)

πŸ“¦ Modules

Fichier Description
call_api.py Recuperation des donnees via API ou fichiers JSON locaux
processing.py Normalisation de la structure des donnees (noms de champs, coordonnees)
convert_df.py Conversion en DataFrames Pandas et ajout de metadonnees
bdd.py Insertion dans PostgreSQL et creation des tables
main.py Orchestration de tous les modules et planification

πŸ› οΈ Technologies utilisees

Python 3.10+ PostgreSQL Pandas Docker Tableau REST APIs OpenStreetMap

✨ Fonctionnalites cles

🐳 Deploiement Docker

# Build de l'image
docker build -t projet_geotier .

# Execution du pipeline
docker run --env-file .env projet_geotier

# Push vers Docker Hub
docker tag projet_geotier monregistry/projet_geotier:latest
docker push monregistry/projet_geotier:latest

πŸ“ˆ Visualisation Tableau

Le projet inclut un fichier Tableau (geotir_uat.twbx) pour la visualisation des donnees :

πŸ”— Liens

Voir sur GitHub