Objectifs pédagogiques :
Ce module initie à l’automatisation et à l’administration de systèmes via le scripting, principalement sous environnement GNU/Linux. Il combine des éléments d’histoire et d’architecture des systèmes, de gestion des fichiers et répertoires, et de programmation shell. L’objectif est de rendre l’étudiant capable de comprendre le rôle du terminal et du shell dans l’interaction avec le système d’exploitation, et de développer des scripts robustes pour automatiser des tâches récurrentes.

Contenus principaux :

  • Contexte et fondements : historique des systèmes et du terminal, place du shell dans l’architecture logicielle.

  • Système de fichiers : organisation hiérarchique, droits d’accès, commandes essentielles (navigation, manipulation de fichiers et répertoires, liens symboliques et physiques).

  • Programmation shell :

    • syntaxe et structures de contrôle (conditions, boucles, case)

    • variables, variables d’environnement, paramètres en ligne de commande

    • lecture/écriture, redirections et pipes

    • automatisation de tâches courantes par scripts (.sh)

  • Manipulation avancée : métacaractères, recherche et filtrage de fichiers, combinaisons de commandes.

  • Recette et validation : test de scripts, gestion des erreurs, codes de retour.