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.
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.
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.
03-ligne-de-commande/ligne-de-commande.md— 57 diapositives ; le cœur du propos est la lecture complète de la sortie dels -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-linuxutilisé par les exercices.
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-dejavumake # 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.mdLes variables du Makefile sont toutes surchargeables :
make pdf THEME=black OUTDIR=/tmp/cours
make up PORT=9000Ouvrez le fichier HTML de build/ dans un navigateur.
F— plein écranS— vue du présentateur, avec les notes et le chronomètreO— vue d'ensemble des diapositivesB— é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.
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 ;::: notesajoute des notes visibles seulement du présentateur ;```consoleproduit un bloc à fond sombre, pour les sessions de terminal ;```bashproduit un bloc clair avec coloration.
Après modification, vérifiez qu'aucune diapositive ne déborde :
make checkreveal.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.
MIT — voir LICENSE.md.
Historique des versions : CHANGELOG.md.