% INF1070 — Utilisation et administration des systèmes informatiques % UQAM — Département d'informatique % Plan de cours — Été 2021 * Horaires, locaux et enseignants: * Site web du cours: Responsable(s) du cours ======================= Coordination ------------ Privat, Jean PK-4830 Enseignement ------------- Tsheke Shele, Johnny PK-4115 Groupes: 020 Les étudiants doivent consulter régulièrement leur courriel UQAM, moyen de communication des enseignants avec les groupes-cours. - Un [canal de discussion](https://mattermost.info.uqam.ca/signup_user_complete/?id=ez9wih9axir3tpoogyqjf9nefw) en ligne est disponible pour interagir avec les enseignants, démonstrateurs et les autres étudiants. - Pour les questions d'ordre général, utilisez ce canal Mattermost, attendez un délai de quelques jours avant de relancer. *Aucune question d'ordre général ne sera répondu en privé si elle n'a pas été posée sur le canal de discussion en premier.* - Pour des questions plus spécifiques, personnelles ou pour relancer, contactez les enseignants par courriel. - Aucune remise de TP par courriel n'est acceptée. Le site web officiel du cours est sur [Moodle](https://www.moodle.uqam.ca/), il contient le matériel du cours (diapositives, vidéos, etc.) et servira pour les évaluations en ligne (examens, quiz, remises de TP, etc.). Description du cours ==================== Ce cours vise à former les étudiants à l'utilisation éclairée des systèmes informatiques et à introduire les concepts de l'administration de ces systèmes. Sommaire du contenu ------------------- Commandes et applications, gestion des processus, entrées-sorties et leurs redirections, tubes et conduites, fichiers de commandes. Système de fichiers hiérarchiques, types de fichiers, utilisateurs et droits, recherche et expressions régulières, fiabilité et sécurité des systèmes de fichiers. Terminologie, concepts de base et principaux protocoles des réseaux téléinformatiques. Sécurité des réseaux et vie privée. Installation, configuration, sécurisation et mise à jour d'un système informatique. Installation et configuration de services et de serveurs. Supervision et qualité de service. Modalité d'enseignement ----------------------- Ce cours comporte une séance obligatoire de laboratoire (2 heures). Objectif du cours ================= - Comprendre les bases d'un système informatique, en particulier un système Linux/Unix - Développer de bonnes pratiques d'utilisation d'un système informatique - Développer de bonnes pratiques d'administration d'un système informatique Formule pédagogique =================== Les exposés magistraux (3h) et les laboratoires (2h) se dérouleront principalement de façon synchrone avec le logiciel Zoom. Ils seront enregistrés et mis à disposition des étudiants inscrits au cours. Les discussions et débats auront lieu sur Mattermost. Contenu du cours ================ - **Chapitre 1: Introduction.** Présentation du cours, systèmes informatiques, Unix/Linux, ligne de commande. (Semaine 1) - **Chapitre 2: Introduction au shell.** Manuel en ligne, commandes et arguments, redirections et tubes, développement en caractères spéciaux. (Semaines 2 et 3) - **Chapitre 3: Fichiers.** Répertoires et chemins, manipulation des fichiers, types de fichiers, métadonnées des fichiers, droits et utilisateurs, dates, liens, recherche et filtres, compression, archivage, sauvegarde, fichiers spéciaux, partitions, systèmes de fichiers. (Semaines 3 à 6) - **Chapitre 4: Expressions régulières.** Langage et construction, expressions basiques et étendues, captures, recherche et filtres avancés. (Semaines 7 et 9) - **Chapitre 5: Administration des systèmes.** Services et démons, gestionnaire de paquets, configuration, client et serveur (exemple: le web), sécurité, ssh. (Semaine 10) - **Chapitre 6: Processus.** Caractéristiques et gestion des processus, taches, signaux, priorité. (Semaine 11) - **Chapitre 7: Scripts shell.** Programmes et exécutables, groupes et séquences de commandes, redirections avancées, développements et substitutions, paramètres, variables et variables d'environnement, code de retour et structures de contrôle. (Semaines 12 et 13) - **Chapitre 8: Services et réseau.** Internet, modèle en couche, couches réseau, transport et applications, protocoles, sécurité, réseaux locaux, tunnels. (Semaine 14) Modalités d'évaluation ====================== Outil d'évaluation Pondération Échéance ----------------------------------- ------------- -------------------------- Machine virtuelle Linux et Docker 5% Semaines 2 à 5 Quiz 1 5% Semaine 5 (10-11 juin.) Travail pratique 1 20% Semaines 4 à 7 Examen intra 20% 29 juin 09:30 à 12:30 Quiz 2 5% Semaine 12 (29-30 juil.) Travail pratique 2 25% Semaines 11 à 14 Examen final 20% 17 août 09:30 à 12:30 Détails ------- - Les quiz portent sur toute la matière vue à date. - Les examens pourront être sous la forme de questions tirées au hasard par Moodle, d'une banque de questions et dure 3h. La série et l'ordre des questions/réponses éventuelles pourraient donc varier d'une personne à l'autre. L'examen portera sur toute la matière vue à date. - L'enseignant(e) pourrait organiser des entretiens oraux pour valider les résultats obtenus aux travaux, quiz ou examens. - L'évaluation orale consistera à faire un exercice pratique sous le regard de l'enseignant et/ou à répondre oralement à des questions (type mise en situation ou autre) d'environ 15 minutes. L'entretien se fera sur zoom et sera enregistré, mais ne sera pas diffusé. L'enregistrement sera détruit 6 mois plus tard s'il n'y a pas de contestation de la note. - Pour les évaluations orales, les étudiants devront prendre rendez-vous et être disponibles durant des plages horaires proposées. Ces plages pourraient être en dehors des heures des cours. - Les évaluations sur la Machine virtuelle et le Docker consistent à montrer qu'on a réussi à installer un environnement fonctionnel chez soi. - Le TP1 portera majoritairement sur l'utilisation des commandes shells et la manipulation de fichiers. - Le TP2 consistera en la mise en situation d'installation, administration et utilisation d'une application concrète. Règles concernant le seuil de passage ------------------------------------- L'étudiant doit obtenir - Une moyenne générale pondérée supérieure ou égale à 60% Si ce seuil n'est pas atteint, la mention échec sera automatiquement attribuée au cours. Séances de laboratoires ======================= Les laboratoires se font principalement dans un environnement Linux et servent à: - Expérimenter les concepts et outils vus au cours - Approfondir l'utilisation de certains outils - Présenter de la matière technique nouvelle qui ne sera pas vue en classe - Offrir un support pour la réalisation des travaux pratiques Les laboratoires ne sont pas notés, mais la participation active aux laboratoires est recommandée. En particulier, de la matière uniquement vue en laboratoire pourra faire partie des évaluations. Les heures de laboratoires pourront être utilisées pour des évaluations synchrones. Matériel et logiciels utilisés ============================== - Il est indispensable d'avoir accès à un ordinateur pour installer Linux (en système principal, en dual-boot, dans une machine virtuelle, etc.). Un laboratoire sera dédié à l'installation d'une distribution Linux. Le TP2 sera sur un container Docker. - Dans le cadre du cours, nous utilisons des distributions basées sur Debian (dont Ubuntu), mais la plupart des autres distributions Linux à jour seront acceptables. - MacOS X comme le Sous-système Windows pour Linux (WSL), n'est pas suffisant pour participer et réussir le cours. Ces systèmes ne sont pas supportés. - Lors des évaluations orales et des présentations des travaux, les étudiants doivent avoir une webcam et du matériel audio(écouteurs, micro). Calendrier détaillé du cours ============================ Le calendrier est donné à titre indicatif seulement. Semaine 1 --------- - Chapitre 1: Introduction à l'utilisation et à l'administration des systèmes informatiques - Laboratoire: Installation d'une machine virtuelle Ubuntu Semaine 2 --------- - Chapitre 2: Introduction au shell (partie 1) Semaine 3 --------- - Chapitre 2: Introduction au shell (partie 2) - Chapitre 3: Fichiers (partie 1) - répertoires et manipulation Semaine 4 --------- - Chapitre 3: Fichiers (partie 2) - types, taille et droits - Distribution du sujet du TP1 Semaine 5 --------- - Chapitre 3: Fichiers (partie 3) - dates et liens - Quiz noté en ligne (moodle) Semaine 6 --------- - Chapitre 3: Fichiers (partie 4) - chercher, compression et archivage, fichiers spéciaux et partitions Semaine 7 --------- - Chapitre 4: Expressions régulières (partie 1) - expressions régulières basiques (BRE) - Remise du TP1 Semaine 8 --------- - Examen intra Semaine 9 --------- - Chapitre 4: Expressions régulières (partie 2) - expressions régulières étendues (ERE) - Correction de l'examen - Attention à la date limite d'abandon sans mention d'échec Semaines 10 ----------- - Chapitre 5: Administration des systèmes Semaines 11 ----------- - Chapitre 6: Gestion des processus - Distribution du TP2 Semaine 12 ---------- - Chapitre 7: Shell avancé et programmation de scripts shell (partie 1) - Quiz noté en ligne (moodle) Semaine 13 ---------- - Chapitre 7: Scripts shell (partie 2) - développement, substitutions, paramètres et variables Semaine 14 ---------- - Chapitre 8: Introduction aux réseaux Semaine 15 ---------- - Examen final Médiagraphie ============ Obligatoire ----------- - [Site web du cours (Moodle)](https://www.moodle2.uqam.ca/): incluant entre autres les diapositives utilisées en classe. - [Labortoire](https://gitlab.info.uqam.ca/inf1070/labs): les énoncés des laboratoires, la documentation, etc. Ressources complémentaires -------------------------- - [The Linux Command Line](http://linuxcommand.org/tlcl.php), par William Shotts, 4e édition, 544 pages. Disponible en ligne, seulement en anglais. - [The Debian Administrator's Handbook](https://debian-handbook.info/), par Raphaël Hertzog and Roland Mas, 512 pages. Disponible en ligne. Existe en français [Le cahier de l'administrateur Debian](https://debian-handbook.info/get/#french). - [UNIX and Linux System Administration Handbook](https://www.admin.com/), par Evi Nemeth, Garth Snyder, Trent R. Hein, Ben Whaley et Dan Mackin, 1232 pages. Disponible à la bibliothèque, en anglais. - [Les cahiers du débutant, Debian sans se prendre la tête](https://debian-facile.org/projets/lescahiersdudebutant/), par l'Équipe 3HG, 328 pages. Disponible en ligne en français.