alpinux-wiki/docs/apprendre/semaine-college-lycee.md
Alpinux 261d6e7eef Ajouter la rubrique « Apprendre » : programme d'une semaine 3e/Terminale et fiche terminal
- apprendre/index.md : présentation du site de jeux et de cours, et du parcours
- apprendre/semaine-college-lycee.md : cinq journées (Linux, terminal, Bash, Python,
  Git/Forgejo) avec une enquête en fil rouge — brouillon à valider
- apprendre/terminal-se-reperer.md : fiche de référence du terminal

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019V4mhmHoJD3b8YfQy249dC
2026-10-22 07:53:38 +02:00

11 KiB

description
Programme d'une semaine d'initiation (5 jours de 6 h) pour des élèves de 3e et de Terminale — Linux, terminal, Bash, Python, Git et Forgejo, avec une enquête en fil rouge.

Une semaine pour découvrir Linux — 3e et Terminale

Cinq journées de six heures pour faire découvrir à des élèves ce qui se cache derrière les serveurs, les sites web et le code : Linux, le terminal, Bash, Python, Git et la forge Forgejo. Le même déroulé sert pour les deux niveaux ; ce qui change, c'est la profondeur.

!!! warning "Brouillon à valider" Ce programme est une première proposition. Les points encore ouverts sont listés en fin de page, dans À décider avant la semaine.


Les principes

Alterner toutes les 45 minutes. Une journée de 6 h devant un écran ne tient pas sans changer de forme. Chaque demi-journée enchaîne un cours court (sur le site), un jeu, de la pratique sur un vrai terminal, et si possible une activité débranchée.

Un fil rouge : l'enquête. Lundi matin, le site du club informatique d'un lycée imaginaire a été modifié pendant la nuit. Chaque après-midi, les élèves avancent dans l'enquête sur les vrais postes Linux de la salle, avec les commandes apprises le matin. Vendredi, une épreuve finale en équipes désigne le coupable et remet le site en état.

Les outils :

Outil Rôle
dynamic.alpinux.org Cours avec terminal d'essai intégré, jeux, quiz. Rien à installer.
Les postes Linux de la salle La pratique pour de vrai, et l'enquête.
Ce wiki Les fiches de référence, et ce programme.
La forge d'Alpinux Vendredi : publier son travail et collaborer.
Un carnet de bord papier Une page par jour : ce que j'ai appris, une commande à retenir, une question.

Le déroulé type d'une journée

Horaire Durée Activité
9 h 00 15 min Rappel de la veille : quiz éclair au tableau, ou une commande « mystère » à deviner
9 h 15 45 min Cours sur le site, avec le terminal d'essai
10 h 00 30 min Jeu sur le site
10 h 30 15 min Pause
10 h 45 75 min Pratique sur le vrai terminal, en binômes
12 h 00 Repas
13 h 30 15 min Activité débranchée, pour se remettre en route
13 h 45 90 min Enquête : le chapitre du jour
15 h 15 15 min Pause
15 h 30 45 min Approfondissement, différent selon le niveau
16 h 15 15 min Bilan et carnet de bord

Lundi — Linux et le terminal

Objectif du jour : savoir ce qu'est Linux, se repérer dans l'arborescence et s'y déplacer au clavier.

  • Accueil (30 min) : qui est Alpinux, ce qu'est un logiciel libre, où se trouve Linux sans qu'on le voie (téléphones Android, box Internet, serveurs, voitures, la Station spatiale…).
  • Débranché — l'arbre humain : chaque élève porte une étiquette de dossier (/, home, alex, etc…) et tient l'épaule de son « parent ». Un élève-curseur se déplace selon les commandes cd lancées par la classe. Chemins absolus et relatifs se comprennent dans l'espace avant de se comprendre à l'écran.
  • Site : jeu Où range-t-on quoi ?, puis cours Le terminal : se repérer et se déplacer et jeu Premier jour sur le serveur.
  • Vrai terminal : ouvrir un terminal (Ctrl + Alt + T), les trois défis de fin de cours, explorer son dossier personnel. Fiche : Le terminal.
  • Enquête, chapitre 1 — L'alerte : le dossier de l'enquête apparaît sur les postes. Le premier message est caché quelque part : ls -a, cd, cat.
3e Terminale
Approfondissement Course d'orientation dans l'arborescence : trouver des fichiers à partir d'indices (« je suis un réglage du réseau… ») Comment Linux démarre : noyau, /boot, /proc, PID 1 ; explorer /proc/cpuinfo et /proc/meminfo

Mardi — Fichiers, droits et recherche

Objectif du jour : créer, déplacer et supprimer des fichiers, comprendre les droits, et retrouver une information dans une montagne de texte.

  • Site : jeu Préparer un déploiement, puis rwx : le jeu des permissions.
  • Vrai terminal : mkdir, cp, mv, rm, les redirections > et >>, et un premier éditeur de texte dans le terminal, nano.
  • Débranché — le pipe humain : une file d'élèves se passe un paquet de cartes. Le premier ne garde que les cartes rouges (grep), le suivant les trie (sort), le dernier les compte (wc -l). C'est exactement ce que fait |.
  • Enquête, chapitre 2 — Les morceaux : le message du pirate est découpé en plusieurs fichiers à rassembler (cat, >), l'un d'eux est verrouillé (chmod), et un indice se cache dans un long journal (grep).
3e Terminale
Approfondissement Défi « ménage » : ranger un dossier en désordre dans des sous-dossiers par type de fichier find, et les enchaînements grep … | sort | uniq -c | sort -n sur un vrai journal

Mercredi — Bash : faire travailler l'ordinateur à sa place

Objectif du jour : écrire un script, c'est-à-dire une suite de commandes que l'on peut relancer à volonté.

  • Cours : la ligne #!/bin/bash, chmod +x, les variables, echo, read, if, for.
  • Site : jeux Sous le capot et, pour les Terminale, Incident à 3 h du matin.
  • Débranché — le robot idiot : un élève joue le robot qui exécute à la lettre un « script » écrit par un autre groupe pour, par exemple, faire un sandwich. Les bugs apparaissent tout seuls, et l'on comprend pourquoi un programme doit être précis.
  • Enquête, chapitre 3 — Le script du pirate : un script laissé sur le serveur. Il faut le lire sans le lancer, comprendre ce qu'il fait, puis écrire son propre script pour décoder le message qu'il a chiffré.
3e Terminale
Script du jour Un quiz interactif en Bash avec read et if, à faire passer au voisin Un script de sauvegarde qui prend des arguments ($1), vérifie les erreurs ($?) et date ses archives
Approfondissement Commandes « pour le plaisir » si elles sont installées : figlet, cowsay, sl Processus et signaux : ps, kill, top ; lien avec le thème « processus » de NSI

Jeudi — Python

Objectif du jour : écrire et lancer un programme Python depuis le terminal, puis s'en servir comme outil.

Le wiki contient déjà un cours complet de Python pour débutants : la journée s'appuie sur ses chapitres plutôt que de tout réécrire.

  • Lancer Python : l'interpréteur interactif python3, puis un fichier .py écrit avec nano et lancé avec python3 mon_programme.py.
  • Enquête, chapitre 4 — Les traces : un journal de connexions de plusieurs milliers de lignes. Écrire un programme Python qui compte les connexions par adresse et par heure, pour trouver quand le pirate est entré.
3e Terminale
Notions Variables, input, conditions, boucles : chapitres 01, 02 et 03 Fichiers, dictionnaires, CSV : chapitres 04 et 07
Projet Le jeu « devine le nombre », puis des dessins avec turtle Le même comptage qu'en Bash mardi, réécrit en Python : comparer les deux approches

!!! tip "Pour les Terminale NSI" Python est déjà le langage de NSI. L'intérêt de la journée n'est pas d'apprendre la syntaxe, mais de l'utiliser hors de l'éditeur de l'école : depuis le terminal, sur de vraies données, avec la bibliothèque standard (pathlib, csv, collections).


Vendredi — Git, Forgejo, et le dénouement

Objectif du jour : garder l'historique de son travail avec Git, le publier sur une forge, et travailler à plusieurs sur le même code.

  • Débranché — la machine à remonter le temps : un texte écrit à plusieurs sur une feuille, avec une photo prise à chaque étape. Revenir à la photo d'hier, c'est un git checkout ; la pile de photos, c'est git log.
  • Git en local : git init, git add, git commit, git log, git diff. Chacun versionne les scripts et programmes écrits pendant la semaine.
  • Forgejo : déposer ce travail sur la forge d'Alpinux, en explorer l'interface web, et proposer une modification sur le dépôt d'un camarade.
  • Enquête, chapitre 5 — Le dénouement : épreuve en équipes, chronométrée. Le site du club est versionné avec Git : l'historique des commits révèle qui l'a modifié et quand. Il faut identifier le coupable, croiser avec les indices des jours précédents, puis remettre le site en état en revenant à une version saine.
  • Clôture (45 min) : remise des diplômes, ce qu'on retient de la semaine, et la suite (réunions Alpinux, install parties, spécialité NSI).
3e Terminale
Forgejo Modifier un fichier depuis l'interface web et ouvrir une pull request Branches, pull request depuis le terminal, résolution d'un conflit provoqué exprès

Ce qu'il faut préparer

Sur les postes, à vérifier en amont :

  • un terminal accessible aux élèves, et les commandes git, python3, nano, tree ;
  • facultatif, pour le plaisir : figlet, cowsay, sl ;
  • l'accès à dynamic.alpinux.org et à gitea.alpinux.org depuis le réseau de l'établissement (certains filtres bloquent les forges) ;
  • le dossier de l'enquête, installé par un script à lancer sur chaque poste.

Pour la salle : un vidéoprojecteur, des étiquettes et des cartes pour les activités débranchées, un carnet de bord par élève, des diplômes à imprimer.


À décider avant la semaine

Question Pourquoi c'est important
Les comptes Forgejo des élèves. Comptes AlpID nominatifs, comptes anonymes de classe (eleve01, eleve02…), ou forge installée localement pour la semaine ? Les élèves sont mineurs : la solution la plus simple côté données personnelles est celle des comptes anonymes, créés à l'avance et supprimés après la semaine.
Le nombre d'élèves et de postes. Le travail en binômes demande un poste pour deux au minimum.
La distribution installée et les droits. Peut-on installer des paquets ? Les élèves ont-ils sudo ? Sans droits d'installation, il faut vérifier toute la liste ci-dessus avant le lundi.
Les horaires exacts de l'établissement. Le déroulé type se décale facilement, mais les pauses et le repas sont imposés.
Les scores sur le site. Ils ne s'enregistrent qu'avec un compte AlpID. Sans compte, on peut faire un classement par équipe à la main, à partir des écrans de fin de partie.