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

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

Semestre : Master 1

  • Défense contre les attaques avancées

    Ce cours prolonge le penetration testing du côté de la défense : détecter, prévenir et répondre aux attaques avancées, en particulier les menaces persistantes (APT), les vulnérabilités zero-day et les attaques de la chaîne d’approvisionnement. Il articule une culture de la menace (kill chain, MITRE ATT&CK, renseignement) avec des dispositifs concrets (SIEM, IDS/IPS, EDR), un processus de réponse à incident normalisé (NIST SP 800-61, ISO/IEC 27035) et une justification économique des mesures (ALE, ROSI). Les travaux pratiques, réalisés sur les machines virtuelles de l’étudiant, portent sur la collecte de journaux, l’écriture et le triage d’alertes et la chasse aux menaces.

    Objectifs d’apprentissage

    • Caractériser les attaques avancées (APT, zero-day, chaîne d’approvisionnement) et leur mode opératoire.
    • Utiliser la kill chain et MITRE ATT&CK comme cadres défensifs.
    • Concevoir une pile de détection (SIEM, IDS/IPS, EDR) et en évaluer les règles.
    • Conduire une réponse à incident selon un cycle normalisé.
    • Exploiter le renseignement sur les menaces à trois niveaux.
    • Justifier économiquement les mesures de sécurité (ALE, ROSI).

    Prérequis

    Connaissances en sécurité informatique, notions de penetration testing (cours PTE4231) et de gestion des incidents, administration système et réseaux.

    Plan du cours

    1. Leçon 1 — Anatomie des attaques avancées, kill chain et ATT&CK
    2. Leçon 2 — SIEM, IDS/IPS, EDR et évaluation des détections
    3. Leçon 3 — Réponse à incident (NIST SP 800-61) et justification économique
    4. Leçon 4 — Renseignement sur les menaces, couverture ATT&CK et TP de chasse

    Modalités d’évaluation

    Volume horaire : CM 10 h, TD 20 h, TP 10 h, TPE 40 h (4 crédits). Contrôle continu (TD, TP de laboratoire noté sur grille, étude de cas de réponse à incident) et examen terminal (calculs de dimensionnement et de ROSI, analyse de scénarios, cartographie ATT&CK).

    Bibliographie

    • Bejtlich, R. The Practice of Network Security Monitoring, No Starch Press.
    • NIST, SP 800-61 — Computer Security Incident Handling Guide.
    • ISO/IEC 27035 — Gestion des incidents de sécurité de l’information.
    • MITRE, ATT&CK (base de connaissances) et projet D3FEND.
    • NIST, Cybersecurity Framework (CSF).
  • Intelligence artificielle

    Ce cours présente les fondements scientifiques et les techniques opérationnelles de l’intelligence artificielle (IA) dans une perspective d’ingénieur logiciel. Il part de la notion d’agent rationnel et de la formalisation d’un problème en espace d’états, passe par les algorithmes de recherche aveugle et heuristique (A*, minimax, élagage alpha-bêta), la représentation des connaissances (logique, règles, systèmes experts, raisonnement incertain), puis introduit l’apprentissage automatique (arbres de décision, classification bayésienne, perceptron et réseaux de neurones) et son évaluation. Les exemples sont tirés du contexte nigérien : planification d’itinéraires entre Niamey et Zinder, scoring de crédit en microfinance, détection de fraude sur le mobile money, filtrage de SMS indésirables. Une attention particulière est portée à l’intégration de composants d’IA dans des applications logicielles et aux enjeux éthiques (biais, explicabilité, protection des données).

    Objectifs d’apprentissage

    • Formaliser un problème en termes d’agent, d’environnement, d’espace d’états et de fonction de coût.
    • Choisir, dérouler et comparer des algorithmes de recherche (largeur, coût uniforme, glouton, A*, minimax, alpha-bêta) en justifiant complétude et optimalité.
    • Représenter des connaissances en logique et en règles de production, et construire un petit système expert à chaînage avant et arrière.
    • Appliquer le raisonnement probabiliste (théorème de Bayes, classifieur bayésien naïf) à un problème de décision.
    • Entraîner et évaluer des modèles d’apprentissage (arbre de décision, perceptron, réseau de neurones) avec les métriques adaptées (précision, rappel, F1).
    • Analyser de façon critique l’intégration d’un composant d’IA dans un système d’information (données, biais, explicabilité).

    Prérequis

    Algorithmique et structures de données avancées (graphes, files de priorité), logique propositionnelle, notions de probabilités et d’algèbre linéaire, programmation (Python recommandé).

    Plan du cours

    1. Leçon 1 — Fondements de l’IA et résolution de problèmes par recherche
    2. Leçon 2 — Recherche heuristique, algorithme A* et jeux
    3. Leçon 3 — Représentation des connaissances, raisonnement et systèmes experts
    4. Leçon 4 — Apprentissage automatique et réseaux de neurones

    Modalités d’évaluation

    Volume horaire : 10 h de cours (CM), 10 h de travaux dirigés (TD), 10 h de travaux pratiques (TP) et 30 h de travail personnel (TPE), soit 60 h pour 3 crédits. Évaluation : contrôle continu (TD, comptes rendus de TP en Python, quiz en ligne : 40 %) et examen terminal écrit (60 %).

    Bibliographie

    • Stuart Russell, Peter Norvig, Artificial Intelligence: A Modern Approach, Pearson (trad. fr. Intelligence artificielle, Pearson Education France).
    • Tom M. Mitchell, Machine Learning, McGraw-Hill, 1997.
    • Aurélien Géron, Hands-On Machine Learning with Scikit-Learn, Keras and TensorFlow, O’Reilly (trad. fr. Dunod).
    • Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press, 2016.
    • Documentation officielle de scikit-learn (scikit-learn.org).
  • Penetration testing

    Ce cours forme au test d’intrusion dans une perspective strictement défensive : comprendre comment un système peut être mis en défaut afin de mieux le protéger, le détecter et le corriger. Conformément au cadre légal (loi nigérienne sur la cybercriminalité, convention de Budapest, convention de Malabo) et à la déontologie de la profession, il met l’accent sur le cadrage autorisé des missions, la méthodologie (PTES, NIST SP 800-115, OWASP), la cotation des vulnérabilités (CVSS), la validation contrôlée à moindre impact, et surtout la production d’un rapport exploitable et d’un plan de remédiation. Les travaux pratiques se déroulent uniquement sur les machines virtuelles de l’étudiant.

    Objectifs d’apprentissage

    • Situer le test d’intrusion parmi les évaluations de sécurité et en maîtriser le cadre légal et éthique.
    • Cadrer une mission : périmètre, exclusions, règles d’engagement, autorisation écrite.
    • Conduire les phases de reconnaissance et d’analyse de vulnérabilités du point de vue de la surface d’exposition.
    • Coter une vulnérabilité avec CVSS v3.1 et prioriser la remédiation selon le risque réel.
    • Connaître les familles de vulnérabilités, leur mécanisme et leurs contre-mesures.
    • Rédiger un rapport d’audit clair et conduire un TP de durcissement en laboratoire.

    Prérequis

    Connaissances en sécurité informatique et en réseaux (modèle TCP/IP, services courants), notions d’administration système Linux et Windows, bases de la cryptographie.

    Plan du cours

    1. Leçon 1 — Cadre, éthique et cadrage d’un test d’intrusion
    2. Leçon 2 — Reconnaissance, analyse de vulnérabilités et cotation CVSS
    3. Leçon 3 — Familles de vulnérabilités, validation contrôlée et solidité des secrets
    4. Leçon 4 — Rapport, priorisation de la remédiation et TP de durcissement

    Modalités d’évaluation

    Volume horaire : CM 10 h, TD 20 h, TP 10 h, TPE 40 h (4 crédits). Évaluation par contrôle continu (TD, TP de laboratoire noté sur grille, étude de cas de cadrage) et examen terminal (cotation CVSS, rédaction de constats, cas de priorisation). L’usage éthique et le respect du cadre légal sont évalués en continu.

    Bibliographie

    • Weidman, G. Penetration Testing: A Hands-On Introduction to Hacking, No Starch Press.
    • NIST, SP 800-115 — Technical Guide to Information Security Testing and Assessment.
    • OWASP, Web Security Testing Guide (WSTG) et Top 10.
    • Penetration Testing Execution Standard (PTES), documentation en ligne.
    • FIRST, Common Vulnerability Scoring System v3.1 — Specification Document.
  • Management stratégique

    Le management stratégique étudie la manière dont une organisation définit ses orientations de long terme, choisit ses domaines d’activité et ses modes de développement, puis mobilise ses ressources pour créer un avantage concurrentiel durable. Pour un ingénieur génie logiciel appelé à devenir architecte, DSI, chef de projet ou créateur d’entreprise numérique, ces outils sont indispensables : un projet informatique ne vaut que s’il sert la stratégie de l’organisation, et une start-up ou une entreprise de services numériques (ESN) de Niamey doit elle-même se positionner face à la concurrence nationale et régionale. Le cours couvre le diagnostic externe (PESTEL, cinq forces de Porter, facteurs clés de succès), le diagnostic interne (ressources et compétences, chaîne de valeur, VRIO) et sa synthèse SWOT, les choix stratégiques (stratégies génériques, matrices d’Ansoff et du BCG, modes de croissance), puis l’alignement stratégique des systèmes d’information, la gouvernance du numérique et le pilotage de la mise en œuvre par le tableau de bord prospectif.

    Objectifs d’apprentissage

    • Conduire un diagnostic stratégique externe et interne d’une organisation avec les outils de référence.
    • Synthétiser le diagnostic dans une matrice SWOT exploitable et des matrices d’évaluation pondérées.
    • Formuler et justifier des choix stratégiques au niveau de l’entreprise et des domaines d’activité.
    • Analyser l’alignement entre stratégie d’affaires et stratégie des systèmes d’information et proposer un schéma directeur.
    • Traduire une stratégie en objectifs, indicateurs et initiatives avec le tableau de bord prospectif (Balanced Scorecard).

    Prérequis

    Notions générales d’économie et de gestion d’entreprise, connaissance du fonctionnement d’un projet informatique ; curiosité pour l’environnement économique du Niger et de l’UEMOA.

    Plan du cours

    1. Leçon 1 — Fondements du management stratégique et diagnostic externe : PESTEL et cinq forces de Porter
    2. Leçon 2 — Diagnostic interne et synthèse : ressources, chaîne de valeur, VRIO et SWOT
    3. Leçon 3 — Choix stratégiques : stratégies génériques, matrices d’Ansoff et du BCG, modes de croissance
    4. Leçon 4 — Stratégie et systèmes d’information : alignement, gouvernance, mise en œuvre et pilotage

    Modalités d’évaluation

    Volume horaire : 10 h de cours magistral, 10 h de travaux dirigés (20 h en présentiel) et 20 h de travail personnel (TPE), soit 40 h pour 2 crédits. Évaluation : contrôle continu (études de cas en TD, dossier de diagnostic stratégique d’une organisation nigérienne réalisé en groupe) et examen terminal écrit (cas de synthèse).

    Bibliographie

    • Michael E. Porter, Competitive Strategy: Techniques for Analyzing Industries and Competitors, Free Press.
    • Michael E. Porter, Competitive Advantage: Creating and Sustaining Superior Performance, Free Press.
    • Gerry Johnson, Richard Whittington, Kevan Scholes et al., Stratégique, Pearson (adaptation française d’Exploring Strategy).
    • Robert S. Kaplan, David P. Norton, The Balanced Scorecard: Translating Strategy into Action, Harvard Business School Press.
    • ISACA, COBIT 2019 Framework ; norme ISO/IEC 38500 (gouvernance des technologies de l’information).
  • Passation des marchés publics

    Ce cours de l’UE2 forme les futurs responsables sécurité et auditeurs à la commande publique : de nombreuses solutions et prestations de cybersécurité (pare-feu, SIEM, SOC externalisé, audits, plateformes nationales) sont acquises par des administrations, établissements et sociétés publics, et le RSSI est souvent rédacteur de spécifications, membre de commission d’évaluation ou responsable de la réception. Le cours présente les principes et le cadre juridique (directives UEMOA, code nigérien des marchés publics et délégations de service public, organes de contrôle et de régulation, présentés à titre indicatif), le processus de passation et la rédaction des dossiers d’appel d’offres, l’évaluation des offres (moins-disant évalué, qualité-coût, offres anormalement basses), puis l’attribution, l’exécution, la conformité et les litiges. Les exercices chiffrés portent sur des achats de sécurité numérique au Niger.

    Objectifs d’apprentissage

    • Connaître les principes et les cadres juridiques communautaire et national des marchés publics.
    • Maîtriser la planification, le choix du mode de passation et la préparation d’un dossier d’appel d’offres.
    • Évaluer les offres et proposer une attribution motivée.
    • Gérer l’exécution d’un marché : garanties, avances, pénalités, avenants, réception, décomptes.
    • Prévenir les risques de non-conformité, de fraude et de corruption et traiter les recours.

    Prérequis

    Connaissances de base en droit des affaires et en gestion ; notions de budget et de fiscalité (HT, TVA).

    Plan du cours

    1. Leçon 1 — Principes et cadres juridiques des marchés publics
    2. Leçon 2 — Processus de passation et préparation des appels d’offres
    3. Leçon 3 — Analyse et évaluation des offres
    4. Leçon 4 — Attribution, gestion des contrats, conformité et litiges

    Modalités d’évaluation

    Volume horaire : 20 h de CM, 20 h de TD et 40 h de TPE ; 4 crédits. Contrôle continu (40 %) : quiz, rédaction de spécifications techniques et d’un rapport d’évaluation d’offres en TD. Examen terminal (60 %) : cas intégré de passation d’un marché de cybersécurité (choix de procédure, évaluation chiffrée, exécution).

    Bibliographie

    • UEMOA, Directive n° 04/2005/CM/UEMOA portant procédures de passation, d’exécution et de règlement des marchés publics et des délégations de service public ; Directive n° 05/2005/CM/UEMOA portant contrôle et régulation des marchés publics et des délégations de service public.
    • République du Niger, Code des marchés publics et des délégations de service public et textes d’application (versions en vigueur) ; publications de l’Agence de régulation des marchés publics (ARMP).
    • Banque mondiale, Règlement de passation des marchés pour les emprunteurs sollicitant le financement de projets d’investissement (FPI).
    • OCDE (2015), Recommandation du Conseil sur les marchés publics.
    • Arrowsmith, S. The Law of Public and Utilities Procurement. Sweet & Maxwell.
  • Management d’équipe projet et leadership

    Un projet logiciel est d’abord une aventure humaine : les études sur l’échec des projets citent régulièrement des causes humaines (communication défaillante, rôles flous, démotivation, conflits non traités) avant les causes techniques. Ce cours de l’UE Management prépare l’ingénieur génie logiciel appelé à devenir chef de projet, Scrum Master, responsable technique (tech lead) ou manager d’une équipe de développement dans une entreprise de services numériques, une banque, un opérateur télécom ou une administration. Il aborde la constitution et l’organisation d’une équipe projet, les théories et styles de leadership, la délégation et la prise de décision, la motivation, la communication et la gestion des conflits, puis l’animation d’une équipe agile avec Scrum et le suivi de sa performance. Les cas pratiques sont ancrés dans le contexte nigérien : équipes pluriculturelles et multilingues, relations hiérarchiques marquées, collaboration à distance avec des partenaires étrangers, contraintes de ressources.

    Objectifs d’apprentissage

    • Constituer une équipe projet équilibrée (rôles, compétences, taille, organisation) et accompagner son développement.
    • Analyser et adapter son style de leadership à la maturité des collaborateurs et à la situation.
    • Déléguer efficacement et choisir un mode de prise de décision adapté.
    • Mobiliser les leviers de motivation, communiquer avec assertivité et gérer les conflits de manière constructive.
    • Animer une équipe Scrum et piloter sa performance (vélocité, capacité, rétrospectives) sans dérive managériale.

    Prérequis

    Notions de gestion de projet (cycle de vie, planification), expérience d’un travail en équipe (projets tutorés, stage), bases du génie logiciel agile.

    Plan du cours

    1. Leçon 1 — Constituer et organiser une équipe projet : rôles, compétences et dynamique de groupe
    2. Leçon 2 — Leadership, délégation et prise de décision
    3. Leçon 3 — Motivation, communication et gestion des conflits
    4. Leçon 4 — Animer une équipe agile : Scrum, rôles, cérémonies et pilotage de la performance

    Modalités d’évaluation

    Volume horaire : 10 h de cours magistral, 10 h de travaux dirigés (20 h en présentiel) et 20 h de travail personnel (TPE), soit 40 h pour 2 crédits. Évaluation : contrôle continu (études de cas, jeux de rôle en TD, fiche d’analyse réflexive sur une expérience d’équipe) et examen terminal écrit (cas de synthèse).

    Bibliographie

    • Tom DeMarco, Timothy Lister, Peopleware: Productive Projects and Teams, Addison-Wesley.
    • Frederick P. Brooks Jr., The Mythical Man-Month, Addison-Wesley.
    • Patrick Lencioni, The Five Dysfunctions of a Team, Jossey-Bass.
    • Ken Schwaber, Jeff Sutherland, The Scrum Guide (scrumguides.org, version 2020).
    • Daniel H. Pink, Drive: The Surprising Truth About What Motivates Us, Riverhead Books.
  • Lois et régulations sur la vie privée et la protection des données

    Ce cours de l’UE1 « Éthique et aspects juridiques de la cybersécurité » donne aux futurs RSSI, délégués à la protection des données, auditeurs et analystes les connaissances juridiques nécessaires pour concevoir et exploiter des systèmes d’information conformes aux lois sur la vie privée. Il présente les fondements et les principes de la protection des données, le cadre africain et nigérien (Acte additionnel de la CEDEAO, Convention de Malabo, loi n° 2017-28 modifiée et HAPDP, présentés à titre indicatif), le RGPD européen, référence mondiale à portée extraterritoriale, puis les régulations américaines (CCPA/CPRA et lois sectorielles). Il se termine par la mise en œuvre opérationnelle : droits des personnes, programme de conformité, gestion et notification des violations, analyse de cas de sanctions. Les exercices associent raisonnement juridique et calculs (plafonds d’amende, délais, coûts de violation).

    Objectifs d’apprentissage

    • Maîtriser les notions et principes fondamentaux de la protection des données personnelles.
    • Connaître les principales régulations nationales et internationales (loi nigérienne, RGPD, CCPA/CPRA, lois sectorielles américaines).
    • Déterminer le droit applicable à un traitement et les obligations qui en découlent.
    • Mettre en conformité un système d’information et organiser l’exercice des droits des personnes.
    • Gérer une violation de données de la détection à la notification.

    Prérequis

    Connaissances de base en droit et en cybersécurité (principes DIC, gestion des incidents).

    Plan du cours

    1. Leçon 1 — Fondements et principes de la protection des données personnelles
    2. Leçon 2 — Le Règlement général sur la protection des données (RGPD)
    3. Leçon 3 — Régulations américaines : CCPA/CPRA et lois sectorielles
    4. Leçon 4 — Droits des personnes, mise en conformité et gestion des violations : études de cas

    Modalités d’évaluation

    Volume horaire : 20 h de CM, 10 h de TD et 30 h de TPE ; 3 crédits. Contrôle continu (40 %) : quiz et cas pratiques (qualification de traitements, registre, analyse de violation). Examen terminal (60 %) : cas intégré de mise en conformité et de gestion d’une violation de données.

    Bibliographie

    • Règlement (UE) 2016/679 du Parlement européen et du Conseil du 27 avril 2016 (RGPD), Journal officiel de l’Union européenne.
    • République du Niger, Loi n° 2017-28 du 3 mai 2017 relative à la protection des données à caractère personnel, modifiée par la loi n° 2019-71.
    • Union africaine, Convention sur la cybersécurité et la protection des données à caractère personnel (Malabo, 2014) ; CEDEAO, Acte additionnel A/SA.1/01/10 (2010).
    • Solove, D. J. & Schwartz, P. M. Privacy Law Fundamentals. International Association of Privacy Professionals (IAPP).
    • Voigt, P. & von dem Bussche, A. (2017). The EU General Data Protection Regulation (GDPR): A Practical Guide. Springer.
  • Analyse et montage d’un projet informatique

    Beaucoup de projets informatiques échouent non pas pour des raisons techniques, mais parce qu’ils ont été mal cadrés, mal estimés ou mal financés : périmètre flou, budget sous-évalué, planning irréaliste, absence d’étude de rentabilité. Ce cours de l’UE Management donne au futur chef de projet et architecte logiciel une démarche complète pour transformer une idée (dématérialiser les inscriptions d’une université, créer une application de paiement de factures d’eau, informatiser la gestion d’un hôpital régional) en un projet structuré, chiffré et finançable. Il couvre le cycle de vie et le cadrage, l’étude d’opportunité et de faisabilité, l’expression des besoins et le cahier des charges, l’estimation des charges (points de fonction, COCOMO) et des coûts, la planification (WBS, PERT, Gantt), l’analyse financière (VAN, TRI, délai de récupération) et la constitution du dossier de projet présenté à un décideur ou à un bailleur.

    Objectifs d’apprentissage

    • Situer un projet informatique dans son cycle de vie et mener une étude d’opportunité et de faisabilité multicritère.
    • Recueillir et formaliser des besoins dans un cahier des charges fonctionnel et technique exploitable.
    • Estimer la charge d’un logiciel par points de fonction et par le modèle COCOMO, puis en déduire un budget en FCFA.
    • Construire un WBS, un réseau PERT et un diagramme de Gantt, et identifier le chemin critique.
    • Évaluer la rentabilité (VAN, TRI, délai de récupération) et monter un dossier de projet complet et argumenté.

    Prérequis

    Notions de génie logiciel (cycles de vie, UML ou Merise), bases de gestion (charges, budget), tableur.

    Plan du cours

    1. Leçon 1 — Cycle de vie et cadrage d’un projet informatique : opportunité, faisabilité et parties prenantes
    2. Leçon 2 — Du besoin au cahier des charges : expression des besoins, périmètre et exigences
    3. Leçon 3 — Estimation des charges et des coûts : points de fonction, COCOMO et budget
    4. Leçon 4 — Planification et montage du dossier de projet : WBS, PERT, Gantt et rentabilité

    Modalités d’évaluation

    Volume horaire : 10 h de cours magistral, 10 h de travaux dirigés (20 h en présentiel) et 20 h de travail personnel (TPE), soit 40 h pour 2 crédits. Évaluation : contrôle continu (TD et dossier de projet réalisé en équipe sur un cas réel ou réaliste) et examen terminal écrit (étude de cas avec estimation, planification et analyse financière).

    Bibliographie

    • Project Management Institute, A Guide to the Project Management Body of Knowledge (PMBOK Guide), PMI.
    • Barry W. Boehm, Software Engineering Economics, Prentice Hall.
    • Barry W. Boehm et al., Software Cost Estimation with COCOMO II, Prentice Hall.
    • Norme ISO 21500, Lignes directrices sur le management de projet ; manuel de comptage IFPUG (Function Point Counting Practices Manual).
    • Axelos, Managing Successful Projects with PRINCE2, The Stationery Office.
  • Droit du travail

    Ce cours de l’UE1 « Éthique et aspects juridiques de la cybersécurité » donne aux futurs RSSI, analystes SOC et enquêteurs numériques les bases du droit du travail indispensables à leur pratique : la sécurité de l’information se joue largement dans la relation de travail (recrutement sur des postes sensibles, clauses de confidentialité, charte informatique, surveillance des salariés, sanctions après un incident, preuve devant le juge). Le cours présente le droit du travail nigérien (Code du travail de 2012 et textes d’application, présentés à titre indicatif), l’articule avec la loi sur la protection des données à caractère personnel et la loi sur la cybercriminalité, et s’appuie sur des références comparées (Cour européenne des droits de l’homme, jurisprudence française). Chaque leçon comporte des cas pratiques nigériens corrigés selon la méthode problème – règle – application – conclusion.

    Objectifs d’apprentissage

    • Maîtriser les principes fondamentaux et les sources du droit du travail nigérien.
    • Rédiger et apprécier les clauses contractuelles propres aux métiers de la cybersécurité.
    • Élaborer une charte informatique opposable et exercer le pouvoir disciplinaire régulièrement.
    • Encadrer légalement la surveillance des salariés et la protection de leurs données.
    • Analyser les responsabilités et les voies de règlement des litiges liés à la sécurité.

    Prérequis

    Connaissances de base en droit et en gestion des ressources humaines ; notions de politique de sécurité (charte, journalisation).

    Plan du cours

    1. Leçon 1 — Introduction au droit du travail et contrat de travail
    2. Leçon 2 — Règlement intérieur, charte informatique et discipline
    3. Leçon 3 — Surveillance des salariés et protection de leurs données
    4. Leçon 4 — Litiges, responsabilités et études de cas en cybersécurité

    Modalités d’évaluation

    Volume horaire : 20 h de CM, 10 h de TD et 30 h de TPE ; 3 crédits. Contrôle continu (40 %) : quiz et cas pratiques rédigés en TD. Examen terminal (60 %) : cas pratique intégré (conflit lié à un incident de sécurité) et questions de cours.

    Bibliographie

    • République du Niger, Loi n° 2012-45 du 25 septembre 2012 portant Code du travail, et sa partie réglementaire (textes en vigueur à consulter au Journal officiel).
    • République du Niger, Loi n° 2017-28 du 3 mai 2017 relative à la protection des données à caractère personnel, modifiée.
    • Auzero, G., Baugard, D. & Dockès, E. Droit du travail. Dalloz, coll. Précis.
    • Organisation internationale du travail, Recueil de directives pratiques sur la protection des données personnelles des travailleurs (1997).
    • Cour européenne des droits de l’homme (Grande Chambre), Bărbulescu c. Roumanie, 5 septembre 2017.
  • Linux et programmation système

    Linux fait tourner l’essentiel des serveurs web, des plateformes cloud, des conteneurs Docker et une grande partie des systèmes embarqués. Pour un ingénieur génie logiciel qui déploie des API, administre un serveur d’application dans une banque ou un opérateur de Niamey, ou écrit des services performants, la maîtrise de Linux et de son interface de programmation système est indispensable. Ce cours présente l’architecture du système, l’usage avancé du shell et des scripts Bash, la gestion des fichiers, des utilisateurs et des droits, puis la programmation système en C selon la norme POSIX : création et contrôle de processus, signaux, tubes et autres mécanismes de communication inter-processus, threads et sockets. Les TP guidés se déroulent sur une distribution Debian ou Ubuntu (machine virtuelle ou WSL).

    Objectifs d’apprentissage

    • Expliquer l’architecture de Linux (noyau, appels système, espace utilisateur, arborescence FHS).
    • Automatiser des tâches d’exploitation avec des scripts Bash robustes (variables, tests, boucles, tubes, codes de retour).
    • Gérer fichiers, utilisateurs, groupes et permissions en appliquant le principe du moindre privilège.
    • Programmer en C la création et la synchronisation de processus (fork, exec, wait) et la gestion des signaux.
    • Faire communiquer des processus et des threads (tubes, mémoire partagée, mutex, sockets TCP).

    Prérequis

    Langage C (pointeurs, structures, compilation avec gcc), notions de systèmes d’exploitation (processus, mémoire, fichiers), bases des réseaux TCP/IP.

    Plan du cours

    1. Leçon 1 — Architecture de Linux, shell et scripts Bash
    2. Leçon 2 — Fichiers, utilisateurs, droits et administration de base
    3. Leçon 3 — Processus en C : fork, exec, wait et signaux
    4. Leçon 4 — Communication inter-processus, threads et sockets

    Modalités d’évaluation

    Volume horaire : 10 h de cours magistral, 10 h de travaux dirigés, 10 h de travaux pratiques (30 h en présentiel) et 30 h de travail personnel (TPE), soit 60 h pour 3 crédits. Évaluation : contrôle continu (comptes rendus de TP guidés, scripts et programmes rendus) et examen terminal écrit (commandes, lecture de code C système, questions de cours).

    Bibliographie

    • Michael Kerrisk, The Linux Programming Interface, No Starch Press.
    • W. Richard Stevens, Stephen A. Rago, Advanced Programming in the UNIX Environment, Addison-Wesley.
    • Christophe Blaess, Développement système sous Linux, Eyrolles.
    • Andrew S. Tanenbaum, Herbert Bos, Modern Operating Systems, Pearson.
    • Pages de manuel Linux (man7.org) et norme POSIX.1 (The Open Group, IEEE Std 1003.1).