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

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

Unité d’enseignement : GELO · S2 · UE4 — Systèmes & Réseaux I

  • Linux LPI 101 — Administration de Base

    Ce cours initie à l’administration d’un système Linux en ligne de commande, en suivant les thèmes de l’examen LPI 101 (Linux Professional Institute, certification LPIC-1). Linux fait tourner la grande majorité des serveurs web, des plateformes cloud et de nombreux équipements réseau ; dans les PME, les administrations et les opérateurs nigériens, il héberge sites, bases de données, serveurs de fichiers et passerelles. L’administrateur travaille souvent à distance, en SSH, sur des liaisons à faible débit : la maîtrise du terminal, sans interface graphique, est donc essentielle. Le cours couvre la navigation, les fichiers et permissions, les utilisateurs et les paquets, les processus, le démarrage et l’automatisation par scripts bash planifiés avec cron. Toutes les sessions présentées ont été exécutées sur Ubuntu 24.04 ; elles s’appliquent à Debian et, pour l’essentiel, aux distributions Red Hat/Fedora.

    Objectifs d’apprentissage

    • Naviguer et administrer un système Linux en ligne de commande avec aisance.
    • Gérer les fichiers, les permissions, les utilisateurs et les groupes sous Linux.
    • Installer, configurer et administrer des paquets logiciels sur une distribution Debian/Ubuntu.
    • Comprendre le démarrage du système Linux, les processus et les scripts shell de base.

    Prérequis

    Architecture des Ordinateurs & Systèmes (ARO2141) — GELO S2 : notions de système d’exploitation, processus, mémoire, mode noyau et appels système.

    Plan du cours

    1. Leçon 1 — Prise en Main de Linux
    2. Leçon 2 — Gestion des Fichiers et des Permissions
    3. Leçon 3 — Gestion des Utilisateurs et des Paquets
    4. Leçon 4 — Processus et Scripts Shell

    Travaux pratiques

    • Machine virtuelle Debian ou Ubuntu (VirtualBox), WSL sous Windows ou serveur de salle de TP accessible en SSH.
    • TP par leçon : navigation, permissions et répertoire partagé, comptes et groupes d’un service municipal, compilation depuis les sources.
    • TP (leçon 4) : script de sauvegarde automatisée et de monitoring système avec cron.

    Modalités d’évaluation

    Volume horaire : CM 12 h, TD 6 h, TP 12 h, TPE 30 h, soit 60 h (3 crédits). Évaluation CC + ET : contrôle continu 40 % (TP notés, scripts rendus, quiz), examen terminal 60 %. Nature : mixte (questions de cours et manipulations sur machine).

    Bibliographie

    • Linux Professional Institute, Linux Essentials Study Guide et supports d’apprentissage LPIC-1 (learning.lpi.org).
    • Sobell M., A Practical Guide to Linux Commands, Editors, and Shell Programming, Pearson.
    • Shotts W., The Linux Command Line, No Starch Press (complément, disponible librement en ligne).
  • Architecture des Ordinateurs & Systèmes

    Ce cours relie le matériel et le logiciel : il explique comment un processeur moderne exécute les instructions (pipeline, caches, cœurs multiples) puis comment le système d’exploitation partage ce matériel entre de nombreux programmes (processus, mémoire virtuelle, ordonnancement, synchronisation). Ces notions sont indispensables au développeur : elles expliquent pourquoi un programme est lent ou rapide, pourquoi un smartphone Android à processeur ARM consomme peu, pourquoi une application multi-thread de paiement mobile peut perdre des transactions si elle est mal synchronisée. Les calculs du cours sont vérifiés par de petits simulateurs en Python et des programmes C (fork, threads POSIX) exécutables sous Linux.

    Objectifs d’apprentissage

    • Comprendre en profondeur l’architecture des processeurs modernes : pipelines, caches, RISC/CISC.
    • Maîtriser les concepts fondamentaux des systèmes d’exploitation : processus, mémoire, entrées/sorties.
    • Analyser les mécanismes de gestion de la mémoire : pagination, segmentation, mémoire virtuelle.
    • Appliquer les notions d’ordonnancement des processus et de synchronisation des threads.

    Prérequis

    Algèbre de Boole & Architecture Numérique (BOO1142) — GELO S1 : numération binaire et hexadécimale, logique combinatoire et séquentielle, structure de base d’un ordinateur (processeur, mémoire, bus). Des bases de programmation en C et en Python sont utiles pour les TP.

    Plan du cours

    1. Leçon 1 — Architecture du Processeur
    2. Leçon 2 — Systèmes d’Exploitation : Concepts Fondamentaux
    3. Leçon 3 — Gestion de la Mémoire
    4. Leçon 4 — Ordonnancement et Synchronisation

    Travaux pratiques

    • Simulation du mécanisme de pagination avec translation d’adresses et comparaison des algorithmes de remplacement (leçon 3).
    • TP : simulation d’ordonnancement (FCFS, SJF, Round-Robin, priorités) et analyse de la performance d’un système (leçon 4).
    • Démonstrations en C sous Linux : fork/wait, condition de course et mutex, producteur-consommateur avec sémaphores.

    Modalités d’évaluation

    Volume horaire : CM 15 h, TD 8 h, TP 5 h, TPE 32 h, soit 60 h (3 crédits). Évaluation CC + ET : contrôle continu 30 % (TD, TP, quiz), examen terminal 70 %. Nature : mixte (exercices chiffrés et questions de cours).

    Bibliographie

    • Tanenbaum A., Systèmes d’exploitation, Pearson.
    • Patterson D. & Hennessy J., Computer Organization and Design, Morgan Kaufmann.
    • Silberschatz A., Galvin P. & Gagne G., Operating System Concepts, Wiley (complément).