Skip to content

Repository files navigation

Introduction à Linux

Note — Ce dépôt a été intégralement vibe-codé par OpenCode (modèle Claude Opus), à partir d'une consigne en langage naturel : contenu des trois parties, chaîne de génération, scripts, thème et documentation. Les faits historiques et techniques ont été vérifiés, les commandes ont été exécutées et les PDF contrôlés, mais relisez le contenu avant de l'enseigner : la responsabilité pédagogique reste humaine.

Support de cours complet pour une introduction à Linux destinée à des apprenti·e·s informaticien·ne·s de première année.

Le cours se déroule en trois parties : une présentation magistrale, un exercice de présentation orale préparé par les étudiant·e·s, et un atelier pratique en ligne de commande.

Tout le contenu est écrit en Markdown. Les présentations sont générées en HTML autonome (reveal.js) et en PDF ; les supports de travail sont générés en PDF A4.

Contenu

Partie 1 — Présentation d'introduction

01-introduction/introduction-linux.md — 57 diapositives :

  • histoire : d'Unix (1969) à GNU (1983), puis Linux (1991) ;
  • où l'on trouve Linux : serveurs, cloud, mobile, embarqué, bureau ;
  • comparaison avec Windows, macOS et les BSD ;
  • avantages et limites, avec les contournements possibles ;
  • anatomie du système : noyau, espace utilisateur, shell, serveur d'affichage (X11, Wayland), gestionnaire de fenêtres, environnement de bureau, système d'initialisation, gestionnaire de paquets ;
  • les distributions : familles, rythmes de publication, comment choisir ;
  • licences libres et quiz de révision.

Partie 2 — Présenter une distribution

Les étudiant·e·s choisissent une distribution, l'installent, l'essaient et la présentent en dix minutes.

  • 02-distributions/consignes.md — objectifs, contenu attendu, déroulement et barème sur 20 points ;
  • 02-distributions/modele-presentation.md — modèle Markdown à compléter, avec mode d'emploi intégré ;
  • 02-distributions/rendus/ — répertoire de dépôt des travaux.

Partie 3 — Atelier ligne de commande

  • 03-ligne-de-commande/ligne-de-commande.md — 57 diapositives ; le cœur du propos est la lecture complète de la sortie de ls -l, colonne par colonne et caractère par caractère ;
  • 03-ligne-de-commande/aide-memoire.md — aide-mémoire à imprimer ;
  • 03-ligne-de-commande/exercices.md — huit séries d'exercices plus un défi final ;
  • 03-ligne-de-commande/corriges.md — corrigé destiné à l'enseignant·e ;
  • 03-ligne-de-commande/preparer-atelier.sh — crée le bac à sable ~/atelier-linux utilisé par les exercices.

Démarrage rapide

Prérequis : pandoc, make, curl, un navigateur Chromium (google-chrome ou chromium) pour l'export PDF, et xelatex pour les supports A4.

make test        # vérifie que tout est installé
make deps        # télécharge reveal.js dans vendor/
make all         # construit tout dans build/

Sur Debian ou Ubuntu :

sudo apt install pandoc make curl chromium texlive-xetex \
                 texlive-lang-french fonts-dejavu

Utilisation

make             # affiche l'aide
make slides      # présentations HTML autonomes
make pdf         # présentations PDF
make handouts    # supports A4 (consignes, exercices, aide-mémoire)
make check       # signale les diapositives qui débordent
make up          # sert build/ sur http://localhost:8000
make down        # arrête le serveur
make clean       # vide build/

Pour construire un seul fichier :

./scripts/build.sh --pdf 01-introduction/introduction-linux.md
./scripts/handout.sh 03-ligne-de-commande/exercices.md

Les variables du Makefile sont toutes surchargeables :

make pdf THEME=black OUTDIR=/tmp/cours
make up PORT=9000

Présenter

Ouvrez le fichier HTML de build/ dans un navigateur.

  • F — plein écran
  • S — vue du présentateur, avec les notes et le chronomètre
  • O — vue d'ensemble des diapositives
  • B — écran noir
  • ? — liste des raccourcis

Les notes du présentateur sont écrites dans les sources sous la forme ::: notes, et n'apparaissent ni à l'écran ni dans le PDF.

Écrire du contenu

Les sources suivent la syntaxe Markdown de pandoc.

  • # ouvre une diapositive de séparation de chapitre ;
  • ## ouvre une diapositive normale ;
  • ::: {.note}, ::: {.tip}, ::: {.warning}, ::: {.danger} produisent des encadrés colorés ;
  • ::: notes ajoute des notes visibles seulement du présentateur ;
  • ```console produit un bloc à fond sombre, pour les sessions de terminal ; ```bash produit un bloc clair avec coloration.

Après modification, vérifiez qu'aucune diapositive ne déborde :

make check

Détails techniques

reveal.js prépare sa vue d'impression de façon asynchrone, en s'appuyant sur requestAnimationFrame. Or cette fonction cesse d'être appelée dans un navigateur sans interface dès que plus rien n'est peint : l'export PDF produisait une page blanche. Le fichier assets/print-fix.html, injecté dans l'en-tête de chaque présentation, remplace requestAnimationFrame par setTimeout pendant l'export.

Par ailleurs, la feuille de style d'impression de pandoc applique une indentation suspendue aux lignes de code colorées, ce qui décalait tous les blocs vers la droite dans le PDF. assets/css/epfl.css neutralise ce réglage dans son bloc @media print.

Enfin, la police à chasse fixe par défaut de LaTeX ne contient pas les caractères de dessin de tableaux utilisés dans les schémas ; les supports A4 sont donc composés avec DejaVu Sans Mono.

Licence

MIT — voir LICENSE.md.

Historique des versions : CHANGELOG.md.

About

Linux@LEIT

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages