École Privée d’Ingénierie du Niger — L’école du nouveau monde

✉ elearning@epiniger.edu.ne    🌐 epiniger.edu.ne

Unité d’enseignement : GELO · S5 · UE2 — Big Data & Bases de Données Avancées

  • Oracle & BDD Avancées

    Ce cours approfondit l’usage professionnel des bases de données. Dans les banques, les institutions de microfinance, les régies financières et les grands comptes de l’administration nigérienne, Oracle Database reste un SGBD de référence : l’ingénieur génie logiciel doit savoir en comprendre l’architecture, y programmer la logique métier en PL/SQL et diagnostiquer les requêtes lentes. Le cours ouvre ensuite sur MongoDB et l’architecture « polyglotte », qui combine un SGBDR transactionnel et une base documentaire selon la nature des données. Les exemples s’appuient sur des cas locaux : microfinance à Maradi, réseau de pharmacies à Niamey, gestion de scolarité.

    Objectifs d’apprentissage

    • Administrer une base de données Oracle : architecture, instances, schémas, utilisateurs.
    • Optimiser les performances d’une BDD Oracle : plans d’exécution, hints, partitionnement.
    • Programmer en PL/SQL : procédures, fonctions, packages, curseurs, exceptions, triggers.
    • Comprendre les BDD NoSQL avancées (MongoDB) et les cas d’usage de l’architecture polyglotte.

    Prérequis

    SQL & Bases de Données Relationnelles (SQL3131, GELO S3) ; Modélisation BDD & Merise Avancée (BDM2133, GELO S2). Les jointures, sous-requêtes, contraintes d’intégrité et la normalisation doivent être maîtrisées.

    Plan du cours

    1. Leçon 1 — Architecture Oracle Database
    2. Leçon 2 — PL/SQL Avancé
    3. Leçon 3 — Optimisation des Performances Oracle
    4. Leçon 4 — MongoDB et BDD Polyglotte

    Travaux pratiques

    • Environnement conseillé : Oracle Database Free (édition gratuite de la dernière version) ou Oracle XE, SQL*Plus ou SQL Developer ; MongoDB Community Server et mongosh.
    • TP guidés : création de tablespaces et d’utilisateurs ; programmation d’un package PL/SQL de microfinance ; lecture de plans d’exécution et indexation ; TP de synthèse du syllabus : migration partielle d’une application Java/Oracle vers une architecture avec MongoDB (leçon 4).

    Modalités d’évaluation

    Volume horaire : CM 10 h, TD 10 h, TP 20 h, TPE 20 h, soit 60 h de charge totale (CTT) ; 3 crédits. Évaluation CC + ET : contrôle continu 30 %, examen terminal 70 % ; nature mixte (écrit et pratique sur machine).

    Bibliographie

    • S. Alapati, Expert Oracle Database Architecture (T. Kyte et D. Kuhn pour les éditions récentes), Apress.
    • K. Chodorow (et S. Bradshaw, E. Brazil pour les éditions récentes), MongoDB: The Definitive Guide, O’Reilly.
    • S. Feuerstein, B. Pribyl, Oracle PL/SQL Programming, O’Reilly (complément).
    • Documentation Oracle Database (docs.oracle.com) et MongoDB (mongodb.com/docs).
  • Big Data & Hadoop/Spark

    Ce cours de semestre 5 initie les étudiants de la Licence professionnelle Génie Logiciel aux systèmes de traitement de très grandes volumétries de données. Opérateurs de téléphonie, services de Mobile Money, programmes de santé publique ou administrations fiscales produisent chaque jour des millions d’enregistrements que les bases relationnelles classiques ne suffisent plus à stocker et à analyser dans des délais utiles. Le cours part des concepts (les 5 V, les architectures Lambda et Kappa, les bases NoSQL et le théorème CAP), présente l’écosystème Hadoop (HDFS, MapReduce, YARN, Hive, HBase, Sqoop, Flume), puis se concentre sur Apache Spark, devenu le moteur de référence du traitement distribué. Il se termine par la conception de pipelines de données complets et un cas pratique sur des données de télécommunications nigériennes.

    Objectifs d’apprentissage

    • Comprendre les enjeux et les architectures des systèmes Big Data : les 5 V.
    • Maîtriser l’écosystème Hadoop : HDFS, MapReduce, YARN — principes et configuration.
    • Utiliser Apache Spark pour le traitement distribué de grandes volumétries de données.
    • Concevoir des pipelines de données (data pipelines) pour l’ingestion, le traitement et la visualisation.

    Prérequis

    SQL & Bases de Données Relationnelles (SQL3131, GELO S3) ; Python & Data Science (PDS5141, GELO). Une aisance avec la ligne de commande Linux est recommandée.

    Plan du cours

    1. Leçon 1 — Fondamentaux du Big Data
    2. Leçon 2 — Écosystème Hadoop
    3. Leçon 3 — Apache Spark
    4. Leçon 4 — Pipelines de Données et Cas Pratiques

    Travaux pratiques

    Le syllabus ne prévoit pas d’heures de TP encadrées (0 h) ; les 8 h de TD et les 50 h de travail personnel (TPE) s’appuient sur des exercices corrigés exécutables avec PySpark en mode local (pip install pyspark, Java 17) : WordCount Hadoop Streaming, transformations RDD, DataFrames et Spark SQL, et un pipeline complet CSV → Spark → Parquet sur des CDR (Call Detail Records) simulés d’un opérateur nigérien.

    Modalités d’évaluation

    Volume horaire : CM 22 h, TD 8 h, TP 0 h, TPE 50 h, soit 80 h de charge totale (CTT) ; 4 crédits. Évaluation CC + ET : contrôle continu 30 %, examen terminal 70 % ; nature mixte (écrit et pratique).

    Bibliographie

    • T. White, Hadoop: The Definitive Guide, O’Reilly.
    • J. Damji, B. Wenig, T. Das, D. Lee (M. Zaharia et al. pour la 1re édition), Learning Spark, O’Reilly.
    • M. Kleppmann, Designing Data-Intensive Applications, O’Reilly (complément).
    • Documentation officielle Apache Spark (spark.apache.org/docs) et Apache Hadoop (hadoop.apache.org).