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

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

Semestre : Licence 2

  • Statistiques & Data Analysis

    Ce cours forme à l’analyse de données de bout en bout avec l’écosystème Python : explorer et nettoyer un jeu de données réel (EDA), le décrire statistiquement, le visualiser, en réduire la dimension (ACP, t-SNE, UMAP) puis construire des pipelines reproductibles avec scikit-learn. Les jeux de données utilisés sont inspirés du contexte nigérien : mesures de qualité du réseau mobile par ville, logs de serveurs, trafic d’une application de Mobile Money, performance d’une application mobile d’e-commerce. Ils sont simulés (générés par programme avec une graine fixe) afin que chaque résultat soit reproductible ; la même démarche s’applique à des données réelles. Tous les programmes du cours ont été exécutés (Python 3, pandas, numpy, scipy, scikit-learn, matplotlib, seaborn, plotly, streamlit, umap-learn).

    Objectifs d’apprentissage

    • Appliquer les techniques d’analyse exploratoire de données (EDA) à des datasets réels.
    • Maîtriser les méthodes de réduction de dimensionnalité : ACP, t-SNE, UMAP.
    • Implémenter des pipelines d’analyse de données avec Python (pandas, scikit-learn).
    • Visualiser et communiquer des résultats d’analyse avec matplotlib, seaborn et Plotly.

    Prérequis

    Statistiques Inférentielles & Probabilités (SIP2122, GELO S2) : moyenne, variance, lois usuelles, tests d’hypothèses, p-valeur. Bases de Python (listes, fonctions) ; une première pratique de pandas est un plus.

    Plan du cours

    1. Leçon 1 — Analyse Exploratoire des Données (EDA)
    2. Leçon 2 — Visualisation de Données
    3. Leçon 3 — Réduction de Dimensionnalité
    4. Leçon 4 — Pipelines d’Analyse avec Scikit-learn

    Travaux pratiques

    • TP : EDA sur un dataset de métriques réseau au Niger (Leçon 1).
    • TP : pipeline complet d’analyse de données de performance d’une application mobile (Leçon 4).
    • Réalisation d’un tableau de bord interactif Streamlit déployé en local (Leçon 2).

    Modalités d’évaluation

    Volume horaire : CM 20 h, TD 6 h, TP 0 h, TPE 14 h (CTT 40 h) — 2 crédits. Les TP du plan sont réalisés en TD et en travail personnel encadré. Évaluation CC + ET : contrôle continu 30 % (notebooks d’EDA et de pipeline), examen terminal 70 % ; nature mixte.

    Bibliographie

    • W. McKinney, Python pour l’analyse de données, O’Reilly.
    • A. Géron, Hands-On Machine Learning with Scikit-Learn, Keras and TensorFlow, O’Reilly.
    • J. VanderPlas, Python Data Science Handbook, O’Reilly (disponible en ligne).
    • Documentations officielles de pandas, scikit-learn, seaborn, Plotly et Streamlit.
  • Recherche Opérationnelle Avancée

    Ce cours prolonge la Recherche Opérationnelle de S3 (programmation linéaire, graphes) vers des outils plus puissants, largement utilisés en génie logiciel, en réseaux et en science des données : l’optimisation non linéaire (au cœur de l’apprentissage automatique), la programmation dynamique (algorithmes de chaînes, de graphes, de cache), la théorie des jeux (systèmes multi-agents, enchères de ressources, concurrence entre fournisseurs) et les méta-heuristiques (problèmes combinatoires trop grands pour les méthodes exactes). Chaque notion est illustrée par un calcul à la main et par un programme Python exécuté, sur des cas concrets : réseau fibre d’une commune, tournée d’agences d’une microfinance, cache d’une application e-commerce, routeurs Niamey–Maradi.

    Objectifs d’apprentissage

    • Maîtriser les méthodes d’optimisation non linéaire appliquées aux systèmes informatiques.
    • Appliquer la théorie des jeux aux problèmes de décision dans les systèmes multi-agents.
    • Utiliser la programmation dynamique pour résoudre des problèmes complexes d’optimisation.
    • Concevoir et analyser des algorithmes d’optimisation méta-heuristiques.

    Prérequis

    Recherche Opérationnelle (ROP3112, GELO S3) ; Mathématiques Discrètes & Logique (MDS2121). Sont supposés acquis : dérivées partielles, calcul matriciel élémentaire, graphes, programmation Python (listes, fonctions, boucles).

    Plan du cours

    1. Leçon 1 — Optimisation Non Linéaire
    2. Leçon 2 — Programmation Dynamique
    3. Leçon 3 — Théorie des Jeux
    4. Leçon 4 — Méta-heuristiques

    Travaux pratiques

    • TP Python : implémentation d’un algorithme génétique pour l’optimisation d’un réseau (Leçon 4), avec comparaison à la solution exacte.
    • TD intégrés : descente de gradient et Newton à la main, KKT, sac à dos et Floyd-Warshall, stratégies mixtes, enchères, recuit simulé et colonies de fourmis.

    Modalités d’évaluation

    Volume horaire : CM 20 h, TD 10 h, TP 0 h, TPE 30 h (CTT 60 h) — 3 crédits. Évaluation CC + ET : contrôle continu 30 % (TD, programmes rendus), examen terminal 70 % ; nature mixte.

    Bibliographie

    • F. S. Hillier & G. J. Lieberman, Introduction to Operations Research, McGraw-Hill.
    • J. Nocedal & S. J. Wright, Numerical Optimization, Springer.
    • T. H. Cormen et al., Introduction to Algorithms (chapitres programmation dynamique et plus courts chemins), MIT Press.
    • S. Boyd & L. Vandenberghe, Convex Optimization, Cambridge University Press (disponible en ligne).
  • Droit du Travail & Contrats Numériques

    Ce cours donne au futur développeur, chef de projet ou entrepreneur du numérique les bases juridiques pour travailler (comme salarié, freelance ou via une plateforme) et pour contracter (développement sur mesure, SLA, cloud, CGU/CGV) dans le contexte nigérien et ouest-africain. Il s’appuie sur le Code du travail du Niger, le droit OHADA, les textes nigériens sur le numérique et la protection des données personnelles, ainsi que sur le RGPD européen, souvent applicable aux startups qui ont des clients ou des partenaires en Europe.

    Objectifs d’apprentissage

    • Maîtriser les droits et obligations des parties dans un contrat de travail dans le secteur IT au Niger.
    • Analyser les clauses essentielles des contrats numériques : protection des données (RGPD), SLA, contrats cloud.
    • Comprendre les enjeux juridiques des nouvelles formes de travail IT : télétravail, freelance, portage.
    • Appliquer les règles de résolution des litiges dans les contrats informatiques.

    Prérequis

    Droit du Numérique & Propriété Intellectuelle (DDN2111, GELO S2) : notions de contrat, de droit d’auteur sur le logiciel et de responsabilité.

    Plan du cours

    1. Leçon 1 — Droit du Travail dans le Secteur IT Niger
    2. Leçon 2 — Nouvelles Formes de Travail Numérique
    3. Leçon 3 — Contrats Numériques Avancés
    4. Leçon 4 — Protection des Données et Litiges

    Travaux pratiques et dirigés

    • Le syllabus ne prévoit pas de TP ; les 4 h de TD portent sur des cas pratiques : qualification d’un contrat, calcul de pénalités SLA, analyse de CGU, et l’application finale — rédaction et analyse de clauses contractuelles pour une startup SaaS nigérienne (Leçon 4).

    Modalités d’évaluation

    Volume horaire : CM 20 h, TD 4 h, TP 0 h, TPE 16 h (CTT 40 h) — 2 crédits. Évaluation CC + ET : contrôle continu 40 % (cas pratiques, rédaction de clauses), examen terminal 60 % ; nature mixte.

    Bibliographie

    • Code du Travail du Niger — Loi n° 2012-45 du 25 septembre 2012 (texte officiel) et ses textes d’application.
    • RGPD et protection des données en Afrique — ressources du réseau CDAFRICA (cdafrica.org).
    • Actes uniformes OHADA (droit commercial général, arbitrage, médiation) — ohada.org.
    • Règlement (UE) 2016/679 du 27 avril 2016 (RGPD).

    Les références juridiques précises citées dans ce cours sont indicatives et doivent être vérifiées sur les textes en vigueur.

  • Gestion de Projet IT (Agile/Scrum/PMBOK)

    Ce cours approfondit la conduite de projets logiciels dans un contexte professionnel. Il articule deux cultures complémentaires : les méthodes agiles (Scrum, Kanban, Scrumban, SAFe), adaptées aux produits numériques dont le besoin évolue, et le référentiel PMBOK du Project Management Institute, utile pour les projets IT de grande envergure (systèmes d’information d’administrations, de banques ou de microfinances, projets financés par des bailleurs). Les exemples sont tirés du secteur numérique nigérien : application de scolarité d’EPI-NIGER, intégration d’Airtel Money ou de Moov Money, plateforme e-commerce de produits locaux, équipes travaillant avec une connectivité parfois limitée.

    Objectifs d’apprentissage

    • Maîtriser les méthodes agiles Scrum et Kanban pour piloter des projets de développement logiciel.
    • Appliquer les processus du référentiel PMBOK pour des projets IT de grande envergure.
    • Gérer les risques, les coûts et les délais d’un projet logiciel avec les outils professionnels.
    • Simuler la conduite complète d’un sprint Scrum : planning, daily, review, rétrospective.

    Prérequis

    Gestion de Projet Informatique — Introduction (GPI2112, GELO S2) ; Algorithmique Avancée & Complexité. Il est attendu de savoir rédiger un cahier des charges simple, découper un projet en tâches et lire un diagramme de Gantt.

    Plan du cours

    1. Leçon 1 — Scrum Avancé
    2. Leçon 2 — Kanban et Méthodes Hybrides
    3. Leçon 3 — PMBOK pour les Projets IT
    4. Leçon 4 — Outils et Simulation de Projet

    Travaux pratiques

    • TP : simulation d’un sprint complet — développement d’une feature en équipe de 4 (Leçon 4), avec tableau Jira/Trello/GitHub Projects, burndown chart et rétrospective.
    • Travaux dirigés intégrés : calcul de vélocité et de capacité, loi de Little, analyse de la valeur acquise (EVM), chemin critique.

    Modalités d’évaluation

    Volume horaire : CM 10 h, TD 10 h, TP 20 h, TPE 20 h (CTT 60 h) — 3 crédits. Évaluation CC + ET : contrôle continu 50 % (TD, livrables du sprint simulé, rapport d’avancement), examen terminal 50 % ; nature mixte (écrit et pratique).

    Bibliographie

    • K. Schwaber & J. Sutherland, Le Guide Scrum, version 2020 (scrumguides.org — gratuit).
    • PMI, A Guide to the Project Management Body of Knowledge (PMBOK Guide), 7e édition, Project Management Institute.
    • D. J. Anderson, Kanban : Successful Evolutionary Change for Your Technology Business, Blue Hole Press.
    • M. Cohn, Agile Estimating and Planning, Prentice Hall.
  • Méthodologie de Recherche & TEO

    Ce cours prépare l’étudiant de GELO aux productions de fin de cycle : rapport de stage, mémoire de fin d’études et soutenance devant un jury. Il prolonge les Techniques d’Expression Écrite et Orale (TEO) du premier semestre en y ajoutant la démarche scientifique propre à l’informatique : formuler une problématique, chercher et citer correctement les sources, présenter des résultats techniques vérifiables, assurer une veille technologique et défendre son travail à l’oral. Les exemples sont tirés de sujets réalistes pour le Niger : application de gestion de pharmacie hors ligne, plateforme de scolarité, intégration du Mobile Money dans une microfinance, système d’information d’une mairie. Les règles propres à l’établissement (nombre de pages, modèle de page de garde, durée de soutenance, charte graphique) sont fixées par le guide officiel de rédaction des mémoires GELO d’EPI-Niger, qui prévaut sur les indications générales de ce cours.

    Objectifs d’apprentissage

    • Maîtriser les étapes de la démarche de recherche et de documentation scientifique en informatique.
    • Concevoir et rédiger un rapport de stage ou un mémoire de fin d’études en GELO.
    • Réaliser une veille technologique et bibliographique sur un sujet informatique.
    • Préparer la soutenance de fin de cycle : structure, support, argumentation technique.

    Prérequis

    Techniques d’Expression Écrite et Orale (TEO1152, GELO S1) et Langue Vivante & Communication (LVI1151, GELO S1) : rédaction structurée, prise de parole, lecture de documents en anglais.

    Plan du cours

    1. Leçon 1 — Méthodologie de Recherche en Informatique
    2. Leçon 2 — Rédaction du Mémoire de Fin d’Études
    3. Leçon 3 — Veille Technologique
    4. Leçon 4 — Préparation à la Soutenance

    Travaux pratiques

    • Le syllabus ne prévoit pas de TP (0 h) ; les TD servent aux applications guidées : recherche documentaire et bibliographie Zotero (leçon 1), rédaction d’une introduction (leçon 2), note de veille sur le développement mobile en Afrique (leçon 3), simulation de soutenance avec retour entre pairs (leçon 4).

    Modalités d’évaluation

    Volume horaire : CM 10 h, TD 6 h, TP 0 h, travail personnel (TPE) 24 h, soit 40 h et 2 crédits. Évaluation : contrôle continu (50 %) et examen terminal (50 %), de nature mixte (dossier écrit — par exemple note de veille et introduction de mémoire — et présentation orale). Le quiz de fin de cours entre dans le contrôle continu.

    Bibliographie

    • EPI-Niger, Guide de rédaction des mémoires GELO (document interne).
    • Creswell, J. W. et Creswell, J. D., Research Design: Qualitative, Quantitative, and Mixed Methods Approaches, Sage.
    • Beaud, M., L’art de la thèse, La Découverte.
    • Zobel, J., Writing for Computer Science, Springer.
  • Anglais Technique Informatique

    L’anglais est la langue de travail de l’informatique : documentation des langages, normes de l’Internet (RFC), articles scientifiques, dépôts GitHub, forums, réunions avec des partenaires ou des clients étrangers. Au Niger, les développeurs travaillent de plus en plus pour des ONG internationales, des startups financées par des bailleurs anglophones ou des clients du Nigeria et du Ghana voisins. Ce cours de troisième semestre vise un niveau professionnel (B2 du Cadre européen commun de référence, CECR) dans trois compétences : lire des documents techniques avancés, rédiger les écrits du quotidien d’un ingénieur logiciel (rapports de test, spécifications, pull requests, résumés exécutifs) et communiquer à l’oral, tout en préparant le TOEIC Listening & Reading. Chaque leçon associe vocabulaire bilingue, textes originaux, modèles de rédaction et exercices corrigés.

    Objectifs d’apprentissage

    • Lire et comprendre des articles et documentations techniques avancés en anglais (RFC, IEEE).
    • Rédiger des rapports techniques et des spécifications en anglais de niveau professionnel.
    • Comprendre des présentations, cours et tutoriels techniques en anglais.
    • Se préparer à une certification de niveau B2 en anglais (TOEIC, IELTS Academic).

    Prérequis

    Langue Vivante & Anglais Technique (LVI2151, GELO S2) : grammaire de base (temps, modaux, comparatifs), vocabulaire informatique courant.

    Plan du cours

    1. Leçon 1 — Lecture de Documents Techniques Avancés
    2. Leçon 2 — Production Écrite Technique en Anglais
    3. Leçon 3 — Communication Orale et Préparation TOEIC

    Travaux pratiques

    • Le syllabus ne prévoit pas de TP (0 h) ; les TD sont consacrés aux exercices de lecture, de rédaction et aux simulations (présentation d’architecture, réunion de projet, épreuve TOEIC commentée).
    • Travail personnel conseillé : lire chaque semaine une page de documentation officielle (Python Docs, MDN) et écouter un tutoriel technique en anglais avec sous-titres anglais.

    Modalités d’évaluation

    Volume horaire : CM 12 h, TD 6 h, TP 0 h, travail personnel (TPE) 22 h, soit 40 h et 2 crédits. Évaluation : contrôle continu (50 %) et examen terminal (50 %), de nature mixte (épreuve écrite de compréhension et de rédaction, épreuve orale de présentation). Le contrôle continu comprend les productions écrites des TD et le quiz.

    Bibliographie

    • Ibbotson, M., Professional English in Use ICT, Cambridge University Press.
    • ETS, Official TOEIC Practice Tests (ets.org).
    • Murphy, R., English Grammar in Use, Cambridge University Press.
    • Sources en ligne : rfc-editor.org, docs.python.org, developer.mozilla.org (MDN Web Docs).
  • Introduction aux Réseaux TCP/IP

    Ce cours donne aux futurs développeurs et administrateurs GELO les bases indispensables des réseaux IP : comment un message émis par une application mobile de Mobile Money traverse le réseau Wi-Fi d’une agence, le réseau de l’opérateur puis Internet jusqu’au serveur, et comment un réseau local d’entreprise ou d’administration est adressé, segmenté et relié à Internet. L’approche combine calculs (adressage, sous-réseaux, débits), analyse de trafic avec Wireshark et configuration d’équipements dans un simulateur (Cisco Packet Tracer ou GNS3), à partir de cas du contexte nigérien : mairie, école, microfinance, cybercafé, agence d’un opérateur.

    Objectifs d’apprentissage

    • Comprendre le modèle TCP/IP en couches et le rôle de chaque protocole.
    • Maîtriser l’adressage IPv4 et IPv6 : calcul de sous-réseaux, masques, CIDR.
    • Analyser le trafic réseau avec Wireshark et comprendre les échanges protocolaires.
    • Configurer des équipements réseau de base : routage statique, VLAN, NAT.

    Prérequis

    Architecture des Ordinateurs & Systèmes (ARO2141, GELO S2) : numération binaire et hexadécimale ; Linux LPI 101 — Administration de Base (LNX2142, GELO S2) : ligne de commande, commandes ip, ping.

    Plan du cours

    1. Leçon 1 — Modèles Réseau et Couches
    2. Leçon 2 — Adressage IPv4 et Sous-réseaux
    3. Leçon 3 — Protocoles de Transport et Application
    4. Leçon 4 — Équipements et Configuration Réseau

    Travaux pratiques

    • TP guidé (leçon 4) : configuration d’un réseau local sous GNS3 ou Packet Tracer — VLAN et routage inter-VLAN, complété par une route statique et le NAT/PAT.
    • Manipulations Wireshark (leçon 3) : observation d’une poignée de main TCP, d’une requête DNS et d’un échange HTTP.
    • Exercices de calcul d’adressage (leçon 2) à vérifier avec ipcalc ou le module Python ipaddress.

    Modalités d’évaluation

    Volume horaire : CM 14 h, TD 6 h, TP 8 h, travail personnel (TPE) 32 h, soit 60 h et 3 crédits. Évaluation : contrôle continu (30 %) et examen terminal (70 %), de nature mixte (écrit comportant des calculs d’adressage et une partie pratique sur simulateur). Le contrôle continu intègre le compte rendu de TP et le quiz.

    Bibliographie

    • Tanenbaum, A. et Wetherall, D., Réseaux, Pearson.
    • Lammle, T., CompTIA Network+ Study Guide, Sybex.
    • Kurose, J. et Ross, K., Computer Networking: A Top-Down Approach, Pearson.
    • Cisco Networking Academy, supports CCNA « Introduction to Networks » (netacad.com).
  • Linux LPI 201 — Administration Intermédiaire

    Ce cours de troisième semestre prolonge « Linux LPI 101 » et fait passer l’étudiant du rôle d’utilisateur averti à celui d’administrateur de serveurs. Il s’appuie sur des situations courantes au Niger : serveur de scolarité d’une école à Niamey, partage de fichiers d’une mairie, serveur web d’une microfinance à Maradi, supervision d’un serveur hébergé derrière une liaison Internet parfois instable. Les distributions de référence sont Debian 12 et Ubuntu Server LTS ; les équivalents Red Hat (RHEL, Rocky Linux) sont signalés lorsque les commandes diffèrent. Le contenu est aligné sur les thèmes de la certification LPIC-2 (LPI 201/202), sans en reprendre le découpage exact.

    Objectifs d’apprentissage

    • Administrer des services réseau sous Linux : serveurs web, mail, DNS, FTP, NFS, Samba.
    • Configurer et sécuriser un système Linux : pare-feu iptables/nftables, SSH, PKI.
    • Automatiser l’administration système avec des scripts bash avancés et cron.
    • Surveiller les performances du système et gérer les journaux (logs) sous Linux.

    Prérequis

    Linux LPI 101 — Administration de Base (LNX2142, GELO S2) : arborescence, droits, gestion des paquets (apt), utilisateurs et groupes, éditeur vi/nano, bases du shell et du réseau (ip, ping).

    Plan du cours

    1. Leçon 1 — Services Réseau sous Linux
    2. Leçon 2 — Sécurité et Pare-feu
    3. Leçon 3 — Automatisation et Scripts Bash Avancés
    4. Leçon 4 — Monitoring et Gestion des Journaux

    Travaux pratiques

    • TP guidé (leçon 3) : script d’administration automatisée — sauvegarde, rotation des archives et des journaux, alertes e-mail.
    • TP guidé (leçon 4) : mise en place d’un tableau de bord de monitoring pour un serveur Linux.
    • Les exercices des leçons 1 et 2 se réalisent sur une machine virtuelle Debian (VirtualBox ou KVM) ; prévoir deux VM pour les tests client/serveur.

    Modalités d’évaluation

    Volume horaire : CM 12 h, TD 6 h, TP 12 h, travail personnel (TPE) 30 h, soit 60 h de charge totale et 3 crédits. Évaluation : contrôle continu (40 %) et examen terminal (60 %), de nature mixte (épreuve écrite et épreuve pratique sur machine). Le contrôle continu comprend notamment les comptes rendus des deux TP et le quiz de fin de cours.

    Bibliographie

    • Sobell, M. G., A Practical Guide to Linux Commands, Editors, and Shell Programming, Pearson.
    • LPI, LPIC-2 Study Guide et objectifs d’examen (lpi.org).
    • Nemeth, E. et al., UNIX and Linux System Administration Handbook, Addison-Wesley.
    • Documentation officielle : Debian Administrator’s Handbook (debian.org), pages de manuel (man).
  • Merise Avancée & Conception SI

    Ce cours conduit l’étudiant de Licence GELO de la modélisation des données, déjà pratiquée, à la conception complète d’un système d’information. Il approfondit la méthode Merise sur ses deux axes — traitements (MCT, MOT) et données (MCD avancé, MLD, MPD) —, outille l’analyse des besoins (techniques de recueil, cahier des charges, cas d’utilisation UML, prototypage) et présente les grandes architectures des SI (3-tiers, SOA, microservices). Les études de cas sont ancrées dans le contexte nigérien : bibliothèque universitaire, gestion des ressources humaines d’une administration, paiement des frais de scolarité par Mobile Money, PME de livraison à Niamey. Les scripts SQL des modèles physiques ont été exécutés sous PostgreSQL pour vérifier leur validité.

    Objectifs d’apprentissage

    • Maîtriser la démarche Merise complète : MCT, MOT, MCD, MLD, MPD pour des SI complexes.
    • Conduire une analyse des besoins et rédiger un dossier de spécifications fonctionnelles.
    • Comprendre et appliquer les architectures des systèmes d’information : SOA, microservices.
    • Réaliser une étude de cas complète de conception d’un SI : de l’expression du besoin au MPD.

    Prérequis

    Modélisation BDD & Merise Avancée (BDM2133) — GELO S2 ; SQL & Bases de Données Relationnelles (SQL3131) — GELO S3 : entités, associations, cardinalités, passage au relationnel, DDL SQL.

    Plan du cours

    1. Leçon 1 — Merise Niveau Conceptuel Complet
    2. Leçon 2 — Du MLD au MPD
    3. Leçon 3 — Analyse des Besoins et Spécifications
    4. Leçon 4 — Architectures des Systèmes d’Information

    Travaux pratiques

    • Applications guidées du syllabus : modélisation complète du SI d’une bibliothèque universitaire (leçon 1) ; génération du MPD et du script SQL d’un système de gestion RH (leçon 2).
    • Exercices corrigés : CIF et spécialisation, volumétrie, exigences MoSCoW, cas d’utilisation, choix d’architecture, découpage en microservices.
    • TP (leçon 4) : étude de cas complète — conception du SI d’une PME nigérienne du secteur numérique.

    Modalités d’évaluation

    Volume horaire : CM 14 h, TD 6 h, TP 8 h, travail personnel (TPE) 32 h, soit 60 h de charge totale (CTT) — 3 crédits. Évaluation : contrôle continu (CC, 40 %) + examen terminal (ET, 60 %) ; nature mixte. Le contrôle continu repose sur les dossiers de modélisation et l’étude de cas ; le quiz en ligne sert à l’auto-évaluation.

    Bibliographie

    • D. Nanci, B. Espinasse, Ingénierie des systèmes d’information — Merise, Vuibert.
    • M. Fowler, Patterns of Enterprise Application Architecture, Addison-Wesley.
    • P. Roques, UML 2 par la pratique, Eyrolles.
    • S. Newman, Building Microservices, O’Reilly.
  • SQL & Bases de Données Relationnelles

    Ce cours approfondit le langage SQL et l’administration des bases de données relationnelles, socle de presque toutes les applications de gestion : scolarité, pharmacie, microfinance, Mobile Money, e-commerce. Après la modélisation Merise étudiée au semestre 2, l’étudiant apprend à implémenter une base complète, à l’interroger avec des requêtes avancées, à y programmer des traitements (vues, procédures, fonctions, déclencheurs), puis à l’administrer (droits, transactions, performances, sauvegardes). Les exemples sont exécutés sous PostgreSQL 16 et la syntaxe MySQL est donnée chaque fois qu’elle diffère (vérifiée sous MariaDB) ; tous les résultats affichés proviennent d’exécutions réelles.

    Objectifs d’apprentissage

    • Maîtriser le langage SQL dans sa globalité : DDL, DML, DQL, DCL, TCL.
    • Optimiser les requêtes SQL : index, plans d’exécution, requêtes avancées avec fenêtrage.
    • Administrer une base de données MySQL/PostgreSQL : utilisateurs, droits, sauvegardes.
    • Concevoir et implémenter une base de données complète pour une application web réelle.

    Prérequis

    Modélisation BDD & Merise Avancée (BDM2133) — GELO S2 : MCD, passage au modèle relationnel, requêtes SQL de base (SELECT, INSERT, UPDATE, DELETE, jointures simples).

    Plan du cours

    1. Leçon 1 — SQL DDL et Contraintes d’Intégrité
    2. Leçon 2 — SQL DQL : Requêtes Avancées
    3. Leçon 3 — Vues, Procédures et Déclencheurs
    4. Leçon 4 — Administration et Performance

    Travaux pratiques

    • Exercices corrigés et exécutés dans chaque leçon : base d’une pharmacie, microfinance de Maradi, boutique de produits locaux, portefeuille Mobile Money.
    • TP projet (leçon 4) : conception et implémentation complète d’une base de données pour une application de e-commerce au Niger (« SahelMarket »).

    Modalités d’évaluation

    Volume horaire : CM 16 h, TD 8 h, TP 12 h, travail personnel (TPE) 44 h, soit 80 h de charge totale (CTT) — 4 crédits. Évaluation : contrôle continu (CC, 40 %) + examen terminal (ET, 60 %) ; nature mixte (écrit et pratique sur machine). Le contrôle continu s’appuie sur les TP et le projet ; le quiz en ligne sert à l’auto-évaluation.

    Bibliographie

    • R. Ramakrishnan & J. Gehrke, Database Management Systems, McGraw-Hill.
    • A. Molinaro, SQL Cookbook, O’Reilly.
    • Documentation officielle PostgreSQL (postgresql.org/docs) et MySQL (dev.mysql.com/doc).
    • C. Soutou, SQL pour Oracle / Programmer avec MySQL, Eyrolles.