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
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 :
- un examen individuel ;
- un rendu de TD réalisé dans le cadre du projet fil rouge ;
- 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 ?
- Remplissez le formulaire de demande de coupon.
- Suivez les slides d’aide pour activer les crédits sur votre compte Google Cloud.
- 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 |