F.CISSE

Pipeline ETL : Offres d'Alternance

Automatisation de la recherche d'opportunités en Data (Python, SQL, CI/CD)

Le Contexte


Pour optimiser ma recherche d'alternance pour mon entrée en école d'ingénieur (Data & IA), j'ai décidé de construire mon propre outil de veille automatisée.

J'ai conçu un pipeline de données de bout en bout qui interroge quotidiennement les serveurs de la plateforme Welcome to the Jungle, nettoie les données, et les stocke dans une base de données cloud pour que je n'aie plus à chercher les offres manuellement.

Architecture Technique


Le projet repose sur une architecture d'Ingénierie des Données classique :

1. Extraction (API Algolia)

  • Au lieu de faire du web-scraping HTML instable, j'ai analysé le trafic réseau du site pour cibler directement leur moteur de recherche Algolia.
  • Utilisation de la librairie requests en Python pour envoyer un payload JSON complexe et récupérer les offres "Data" en France.

2. Transformation (Pandas)

  • Parsing du fichier JSON renvoyé par l'API.
  • Utilisation de Pandas pour nettoyer les données, gérer les valeurs manquantes (ex: offres 100% télétravail sans ville précisée), et structurer l'information (Titre, Entreprise, Localisation) dans un DataFrame propre.

3. Chargement & Automatisation (SQL & CI/CD)

  • Connexion à une base de données PostgreSQL cloud via l'ORM SQLAlchemy.
  • Insertion sécurisée des données (variables d'environnement protégées par un fichier .env et les secrets GitHub).
  • Automatisation : Mise en place d'un workflow GitHub Actions (CRON job) qui installe l'environnement, exécute le script Python et met à jour ma base de données de manière 100% autonome tous les jours à 8h00.

Technologies Utilisées


Python

Python

PostgreSQL

PostgreSQL

GitHub Actions

GitHub Actions

Curieux de voir mon code Python et mon fichier YAML ?

Voir le code source sur GitHub