Introduction à l’infrastructure système et réseau
Ce cours consiste en deux parties : systèmes d’exploitation et réseaux. Le but du cours est d’offrir une vue d’ensemble sur les sujets proposés. Le cours se déroule sur 21 séances, dont au moins 4 seront dédiés aux travaux pratiques sur ordinateur. Le cours comprend une interrogation écrite après la première partie (système d’exploitation) et une autre à la fin du cours.
Les matériaux de ce cours sont distribués sous la licence Creative Commons Paternité.
CM 1 : systèmes d’exploitation, réseaux, virtualisation
Cette partie introduit les concepts de base utilisés dans ce cours. Les diapositives se trouvent ici.
CM 2 : Linux : l’organisation de dossiers et la ligne de commande
Cette partie énumère les dossiers prévus par Filesystem Hierarchy Standard en expliquant la destination de chacun. Ensuite quelques commandes de base de la ligne de commande Linux sont expliquées. Les diapositives se trouvent ici.
TP 1 : ligne de commande
Ce TP vise à familiariser les étudiants avec la ligne de commande Linux, mais aussi avec les façons habituelles de retrouver l’information sur les commandes et les applications disponibles. L’énoncé du TP se trouve ici.
CM 3 : droits, liens, transformations, recherche
Cette partie s’attaque à trois sujets importants pour la gestion
d’un système de la famille UNIX: les permissions d’accès aux
fichiers, les liens symboliques et matériels et les
transformations. On utilisera le terme « transformation » pour faire
référence aux commandes qui sont bien adaptées à être chaînées avec
d’autres commandes par des pipes. Cette partie du cours présente
quelques transformations utiles (head
, cut
, xargs
, etc.) et
finit par expliquer deux commandes de recherche très souvent
employées : grep
et find
. Les diapositives se trouvent ici.
Dans le cas de dossiers, les permissions d’accès contrôlent les fonctions légèrement différentes de celles qui sont gérées par les permissions d’accès aux fichiers normaux. Cette différence n’est pas expliquée dans le cours ; les personnes intéressées sont invitées à regarder cet article (en anglais).
TP 2 : ligne de commande 2
Ce TP propose quelques cas d’utilisation avancés de la ligne de commande afin de permettre aux étudiants d’acquérir des connaissances pratiques en ce qui concerne la redirection de flux, le chaînage de commandes, ainsi que l’application de transformations. L’énoncé du TP se trouve ici.
CM 4 : scripts shell
Cette partie fait un tour rapide du langage de la ligne de commande
en tant que langage de programmation. Ainsi, les éléments comme
variables, tableaux, structures de contrôle (if
, case
, for
,
while
, etc.) et fonctions sont abordés. Certaines irrégularités
d’interprétation du code shell sont mises en évidence. Les
diapositives se trouvent ici.
TP 3 : scripts shell
Ce TP propose d’automatiser quelques tâches typiques que l’on peut
rencontrer dans la gestion d’un serveur Linux : monitoring,
sauvegarde, échange de messages au niveau d’une machine. Les
étudiants seront également amenés à implémenter quelques outils de
base dont une version simplifiée de xargs
. L’énoncé du TP se
trouve ici.
CM 5 : le modèle OSI
Cette partie se focalise sur le modèle OSI : la spécification formelle détaillée de la structure d’une pile réseau. Toutes les couches de communication sont survolées, une présentation plus étendue étant faite pour les couches réseau et transport. Une liste des protocoles les plus connus est donnée à la fin de la présentation afin d’offrir une vue d’ensemble sur le domaine. Les diapositives se trouvent ici.
CM 6 : outils pour le réseau
Cette partie introduit les concepts de base liés au système de noms
de domaine, dont la hiérarchie des noms de domaine et de serveurs
DNS. Quelques outils pratiques de réseau, dont ifconfig
et
netcat
, sont ensuite brièvement présentés. Les diapositives se
trouvent ici.
TP 4 : outils réseau
Ce TP propose de mettre en application les outils pour le réseau
présentés dans la section CM 6 du cours. Des exercices sont
notamment proposés pour l’utilisation des commandes scp
, wget
et
nc
. L’énoncé du TP se trouve ici.
Projet : messagerie en réseau
Ce projet propose aux étudiants de combiner leur savoir-faire dans la gestion du système Linux et l’usage d’outils réseau pour réaliser un système simple de messagerie en réseau. L’énoncé du projet se trouve ici.