Introduction au cours

Spotify traite plus de mille milliards d’événements par jour, d’une grande hétérogénéité avec plus de 1 800 types (Spotify Engineering, 2024). Chaque play, chaque clic, chaque interaction dans l’application produit une donnée brute. Isolément, cette donnée brute est inexploitable. Accumulée, elle constitue un capital que l’analytique, le machine learning ou l’IA transforment en valeur. Cette transformation doit s’opérer de manière fiable, à grande échelle, en quelques secondes ou en plusieurs heures selon l’usage.

Ce passage de la donnée brute à la donnée exploitable n’a rien d’automatique. Il repose sur une chaîne de systèmes et de traitements qu’il faut concevoir, surveiller et maintenir : c’est le rôle de l’ingénierie des données. La qualité d’une analyse, d’un modèle ou d’un agent IA dépend de la chaîne qui prépare et met à disposition les données.

Les 4 V du big data nomment les contraintes habituelles. Volume : une seule machine ne suffit plus. Vitesse : du batch quotidien au streaming. Variété : tables, JSON, logs, PDF, images. Véracité : données incomplètes, bruitées ou contradictoires. Les technologies employées pour répondre à ces contraintes évoluent rapidement, mais les grandes étapes du cycle de vie de la donnée restent relativement stables : génération, ingestion, stockage, transformation et mise à disposition. Ce cours étudie à la fois ces principes durables et les outils actuels permettant de les mettre en œuvre.

Le CM1 introduit les fondements de la discipline : son histoire, le cycle de vie de la donnée, les architectures de stockage (data lake, data warehouse et lakehouse), les bases de données SQL et NoSQL, les pipelines ETL et ELT, ainsi que la modélisation des données. Les séances suivantes passent progressivement à la mise en pratique avec le cloud et SQL sur Google Cloud Platform, notamment grâce à BigQuery, puis le traitement distribué avec Spark. La dernière partie du cours est consacrée à l’ingénierie des données pour l’IA. Elle aborde la préparation des données non structurées, comme les documents PDF et les images, à travers le parsing et l’OCR, puis les bases vectorielles et les architectures RAG.

Présentation de l’enseignant

Ouael Ettouileb

Diplômé en 2022 du Master 2 APE, parcours Statistique pour l’évaluation et la prévision, je suis aujourd’hui Senior Machine Learning Engineer chez Niji.

Mon activité

Mon travail se situe à l’intersection de l’ingénierie logicielle, de l’ingénierie des données et de l’intelligence artificielle. Il consiste principalement à :

  • développer et industrialiser des modèles de machine learning et des systèmes d’intelligence artificielle ;
  • concevoir les pipelines de données nécessaires à l’entraînement, à l’évaluation et au déploiement de ces modèles.

Domaines d’expertise

  • Machine learning ;
  • séries temporelles ;
  • intelligence artificielle ;
  • recherche opérationnelle ;
  • big data avec PySpark et BigQuery.

Environnement technique

Python, SQL, BigQuery, Spark, GCP, Databricks, Azure, Docker, Git, FastAPI et LangChain.

Contact

ouael@mailbox.org, linkedin.com/in/ouael

Panorama des métiers de la donnée

L’ingénierie des données est une compétence transversale à tous les métiers de la donnée.

Ce cours porte sur le socle commun entre les métiers de la donnée : ingestion, stockage, bases de données, transformation, traitement distribué et cloud.

Le tableau suivant propose une cartographie indicative des compétences généralement mobilisées par chaque métier. L’encadré marque le périmètre de ce cours : ingénierie des données et cloud.

Compétence Data Analyst Data Scientist Data Engineer ML Engineer AI Engineer
Analyse et modélisation
Statistique
Apprentissage automatique
Visualisation et storytelling
Intelligence artificielle
Apprentissage profond
NLP et LLM
Vision par ordinateur
Agents IA
Ingénierie des données Dans ce cours
Collecte et ingestion : ETL, ELT
Bases de données SQL et NoSQL
Orchestration des pipelines : Airflow, Prefect
Traitement distribué : Spark
Cloud
Plateformes cloud : GCP, Azure, AWS
Ingénierie logicielle
Python et conception de systèmes
Git, tests, CI/CD et Docker
MLOps et déploiement de modèles
Compétences métier et relationnelles
Compréhension du besoin métier
Communication et gestion de projet

Ce que vous allez apprendre

Le cours suit la donnée tout au long de son cycle de vie. Vous apprendrez d’abord à la collecter, la stocker et la modéliser, puis à la traiter à grande échelle. Vous étudierez enfin la manière de préparer et d’exploiter des données non structurées pour construire des applications d’intelligence artificielle.

À l’issue du cours, vous serez capable de mobiliser les compétences suivantes.

1. Fondamentaux de l’ingénierie des données

  • Décrire les différentes étapes du cycle de vie de la donnée ;
  • distinguer les principales architectures de stockage : data lake, data warehouse et lakehouse ;
  • comprendre les différences entre les bases de données SQL et NoSQL ;
  • expliquer le fonctionnement des pipelines ETL et ELT ;
  • concevoir un modèle de données adapté à un besoin analytique.

2. Cloud, GCP, BigQuery et SQL

  • Comprendre les principes du cloud et le fonctionnement général de Google Cloud Platform ;
  • identifier les principaux services GCP utilisés en ingénierie des données, notamment BigQuery et Cloud Storage ;
  • comprendre les principes de stockage et d’exécution des requêtes dans BigQuery ;
  • écrire des requêtes SQL analytiques utilisant des jointures, des expressions de table communes et des fonctions de fenêtrage ;
  • estimer et optimiser le coût des requêtes.

3. Traitement distribué avec Spark

  • Comprendre les principes du calcul distribué et l’architecture de Spark ;
  • identifier le rôle des RDD et des DataFrames ;
  • manipuler des données avec PySpark et Spark SQL ;
  • construire des pipelines de feature engineering ;
  • entraîner des modèles distribués avec Spark MLlib.

4. Données non structurées, bases vectorielles et RAG

  • Préparer des données non structurées issues de fichiers XLSX, DOCX, PPTX, PDF ou d’images ;
  • mettre en œuvre des techniques de parsing et d’OCR ;
  • transformer des documents en représentations vectorielles à l’aide d’embeddings ;
  • construire une base de données vectorielle ;
  • développer un pipeline RAG complet comprenant le parsing, le chunking, la vectorisation, l’indexation et l’interrogation d’un LLM avec un contexte métier.

Organisation des séances

Séance Date Contenu
CM1 11/09/2026 Fondamentaux : histoire, cycle de vie de la donnée, bases de données et modélisation
CM2 25/09/2026 Cloud, GCP, BigQuery et SQL analytique
TD1 09/10/2026 Atelier : construction d’un data lake, d’un data warehouse et d’un pipeline ETL à partir de données SNCF
CM3 16/10/2026 Traitement distribué avec PySpark et Spark SQL
TD2 23/10/2026 Atelier : prédiction de séries temporelles avec PySpark
CM4 06/11/2026 Ingénierie des données pour l’IA : données non structurées, bases vectorielles et RAG
CM5 à définir Restitution finale des projets

Évaluation

L’évaluation repose sur trois composantes :

  1. un examen individuel ;
  2. un rendu de TD réalisé dans le cadre du projet fil rouge ;
  3. un projet final mobilisant plusieurs compétences abordées pendant le semestre.

Le périmètre de ces composantes est adapté aux objectifs pédagogiques des parcours SEP et CS.

Master 2 SEP : Statistique pour l’évaluation et la prévision

Examen

L’examen porte sur les fondamentaux de l’ingénierie des données, SQL, BigQuery, Spark, les bases vectorielles et le RAG.

Il comprend :

  • des questions à choix multiple ;
  • des questions ouvertes ;
  • des questions de compréhension de code ;
  • des exercices de programmation.

Rendu de TD

Le rendu correspond au projet fil rouge réalisé en séance à partir des données ouvertes de la SNCF. Il consiste à construire une chaîne de traitement comprenant :

  • la collecte et l’ingestion des données ;
  • leur stockage dans un data lake ;
  • leur transformation à l’aide d’un pipeline ETL ;
  • leur mise à disposition dans un data warehouse;
  • Construction d’un modèle de prédiction de séries temporelles pour prédire l’affluence des gares SNCF.

Projet final

À partir de plusieurs jeux de données de votre choix, vous devrez construire une chaîne complète d’ingénierie des données comprenant au minimum :

  • la récupération de données à partir d’API open data ;
  • le nettoyage et la transformation des données ;
  • la réalisation de jointures et d’agrégations ;
  • le calcul de KPI ou de variables explicatives ;
  • une exploitation finale prenant la forme d’une analyse de données, d’un modèle de machine learning ou d’un système d’IA agentique.

Master 2 CS : Calcul scientifique

Examen

L’examen porte sur Spark, les bases vectorielles et le RAG.

Il comprend :

  • des questions à choix multiple ;
  • des questions ouvertes ;
  • des questions de compréhension de code ;
  • des exercices de programmation.

Rendu de TD

Le rendu correspond au projet fil rouge réalisé en séance à partir du corpus NewsEye de la Bibliothèque nationale de France. Ce corpus contient des images numérisées de journaux historiques.

L’objectif est de préparer ces documents et de construire une base de connaissances vectorielle permettant de les interroger en langage naturel.

Projet final

À partir d’un corpus d’images de votre choix, vous devrez :

  • préparer des images ;
  • extraire les informations utiles ;
  • produire des représentations vectorielles à l’aide d’embeddings ;
  • indexer ces représentations dans une base vectorielle ;
  • construire un agent conversationnel capable de répondre à des questions à partir du corpus.

Accès à Google Cloud Platform

Pour réaliser les exercices sur Google Cloud Platform, 40 coupons de 50 USD sont mis à disposition des étudiants.

Action requise

Les crédits seront nécessaires dès le CM2, prévu le 25 septembre 2026. Il est donc recommandé de demander et de valider votre coupon dès maintenant.

Pour être éligible, vous devez utiliser une adresse appartenant à l’un des domaines suivants :

  • @etudiant.univ-reims.fr ;
  • @univ-reims.fr.

Comment obtenir les crédits ?

  1. Remplissez le formulaire de demande de coupon.
  2. Suivez les slides d’aide pour activer les crédits sur votre compte Google Cloud.
  3. Vérifiez que les crédits apparaissent dans la section de facturation de votre compte avant le CM2.

Offre gratuite utile pour le cours

En complément des coupons, l’offre gratuite de Google Cloud couvre une partie des besoins du semestre :

  • BigQuery : les 10 premiers Gio de stockage et le premier Tio de données traitées par les requêtes à la demande chaque mois (offre gratuite et tarification BigQuery) ;
  • Cloud Storage : 5 Go-mois de stockage, selon les conditions et les régions éligibles ;
  • Compute Engine : une machine virtuelle e2-micro, selon les conditions et les régions éligibles ;
  • Cloud Run : un quota gratuit permettant de déployer des applications légères.

Les quotas et les conditions de l’offre gratuite peuvent évoluer. Consultez la documentation officielle de Google Cloud avant de créer vos ressources.

Déroulé de la séance CM1

Bloc Durée Contenu
Cadre du semestre 10 min Organisation du cours, panorama des métiers, modalités d’évaluation et accès à GCP
Histoire et cycle de vie de la donnée 40 min Évolution de la discipline, ruptures techniques, définition de l’ingénierie des données et cycle de vie de la donnée
Pause 10 min
ETL/ELT et architectures de stockage 20 min Pipelines ETL et ELT, data lake, data warehouse et lakehouse
Bases de données 40 min Modèle relationnel, modélisation des données, schéma en étoile et bases NoSQL
TP : Prise en main de SQL et BDD 45 min Exercices de rappel de SQL et de manipulation de bases de données