diff --git a/architecture/os/terminus.ipynb b/architecture/os/terminus.ipynb new file mode 100644 index 0000000..1ac2f15 --- /dev/null +++ b/architecture/os/terminus.ipynb @@ -0,0 +1,677 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Terminus, ou introduction aux commandes Linux par le jeu" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Durée : 1h - 1h30\n", + "
\n", + "Objectifs à atteindre : Découvrir et apprendre les commandes de base d'un sytème Linux\n", + "
\n", + "Niveau des connaissances : Première
\n", + "Pré requis :
  • Savoir lire\n", + "
  • Être curieux\n", + " \n", + " \n", + "Systèmes mis en œuvre : PC / Machines personnelle / Téléphones connectés au réseau
    \n", + " \n", + "Logiciels utilisés : Navigateur Web.
    \n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Type de document\n", + "\n", + "Document d'accompagnement de l'activité" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Programme\n", + "\n", + "Découverte des commandes d'un système d'exploitation libre (via une activité ludique ici)\n", + "\n", + "![Programme 1ere NSI](assets/programme.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Contexte\n", + "\n", + "
    \n", + "\n", + "
  • Activité personnelle\n", + "
  • 1H à 1h30 de travail necessaire pour terminer le jeu.\n", + "
  • TP à compléter sur ce support afin que les élèves puissent donner leur ressenti, et également dans un cadre d'évaluation de leur connaissances\n", + "
  • L'utilisation d'un suppport MarkDown permet aux élèves de tester les commandes ici même\n", + "
  • Possibilité de transmettre le support version papier car cette activité est jouable à la maison ou dans les transports grâce aux téléphones et autres appareils mobiles disposant d'un navigateur web acceptant le JavaScript.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Approche de l'activité\n", + "\n", + "
    \n", + "\n", + "
  • Dans un premier temps, montrer l'activité au tableau et faire les premières minutes avec la classe\n", + "
  • Passage dans la classe, être proche des élèves mais leur laisser une liberté de découverte\n", + "
  • Des questions sont présentes sur le support, afin de proposer des recherches et rapprochement avec les \"vraies\" commandes.\n", + "
  • Celles ci permettent également de s'assurer de la compréhension du résultat de l'activité\n", + "
  • Introduction du prochain TP avec des commandes à réutiliser dans un environnement système Linux cette fois ci.\n", + "
  • Expliquer aux élèves qu'ils et elles peuvent jouer à Terminus depuis leurs machines personnelles ou même leurs téléphones.\n", + "
  • Permettre aux élèves de donner leur ressenti vis à vis de l'activité et agir en conséquence.\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Table des matières\n", + "\n", + "1. Les logiciels libres\n", + "2.\tTerminus\t\n", + "3.\tDébut de l'activité\n", + "4.\tLancez vous !\n", + "5.\tRetours sur l'activité\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " ## 1. Les logiciels libres\n", + "\n", + "Dans le cadre de votre spécialité NSI, nous allons nous interesser à un type de logiciels et de système d'exploitation : le monde du logiciel libre.\n", + "
    \n", + "\n", + "Comme nous l'avons vu dans le cours associé, il existe un pan de l'informatique qui tente de promouvoir un marché parralèle aux logiciels propriétaire : c'est le monde du libre, voir de l'open source.\n", + "\n", + "On parle de logiciels libre car ceux ci ne sont pas soumis aux règles du droit à la propriété mais à d'autres principes :\n", + "\n", + "
  • Le logiciel doit être utilisable par tout le monde\n", + "
  • Il doit être étudiable par n'importe qui\n", + "
  • On doit pouvoir le modifier\n", + "
  • Voir même le dupliquer\n", + "
  • Et enfin le partager, le diffuser
    \n", + "
    \n", + "Beaucoup de ces logiciels sont nés du projet GNU lequel est aujourd'hui couplé au noyau Linux dans une famille de système d'exploitation.\n", + " \n", + "Parmis les logiciels et systèmes d'exploitation libres, on peut citer Ubuntu, Gimp, LibreOffice, VLC, Mozilla Firefox...\n", + " \n", + "Ici, nous nous concentrerons sur une activité visant à vous faire découvrir les commandes de base de ces sytèmes GNU / Linux, à travers un jeu.\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "-------" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2.\tTerminus" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Avant de passer à l'utilisation des commandes en environnement Linux pur et dur, nous allons découvrir celles-ci en vous donnant l'occasion de jouer à Terminus.\n", + "\n", + "**Qu'est ce que Terminus ?**\n", + "\n", + "Et bien il s'agit d'un jeu d'aventure textuel, un peu à la façon des premiers jeux sur ordinateurs développés dans les années 80.\n", + "\n", + "Il vous sera demandé de naviguer dans l'aventure en utilisant les commandes Linux associées aux actions du jeu.\n", + "\n", + "Nous progresserons pas à pas dans un premier temps, histoire de ne pas se perdre tout de suite, puis vous pourrez tenter de parcourir l'aventure par vous mêmes par la suite.\n", + "\n", + "Après certaines étapes, vous trouverez des questions auxquelles il vous faudra répondre sur ce document en changeant la couleur du texte ( rappel : pour mettre en couleur, utilisez la balise html _< span style=\"color:red\">texte coloré en rouge < /span>_ en veillant bien sûr à retirer l'espace entre < et span )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "----------" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. Début de l'activité" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Ouvrez donc votre navigateur et rendez vous à cette adresse \n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Le jeu se présente sous forme de textes vous racontant une histoire, dans laquelle vous avez la possibilité d'intéragir avec votre environnement." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "![intro](assets/intro.png)\n", + "\n", + "\n", + "--------------------" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Le jeu commence par vous demander votre prénom : il vous sera plus facile de vous identifier au personnage de cette manière. Vous pouvez, évidemment, utiliser un pseudonyme.\n", + "\n", + "![prenom](assets/prenom.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Début de l'aventure" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "D'entrée, le jeu vous donne quelques commandes avec lesquelles vous allez pouvoir avancer :\n", + "\n", + "![debut](assets/linux.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Nous avons donc :
    \n", + "\n", + "
  • CAT (pour conCATener) qui vous permettra de d'examiner les objets, d'interroger les personnages présents sur le lieu où vous vous situez\n", + "
  • LS (pour LiSter) qui vous indiquera ce qui se trouve dans un lieu précis\n", + "
  • CD (pour Changer de Destination) qui vous permettra de vous déplacer d'un lieu à l'autre\n", + " \n", + "Ces trois commandes existent sous Linux et utilisent la même syntaxe que celle que vous rencontrerez ici." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "\n", + "Si vous arrivez dans un endroit que vous ne connaissez pas, que faites vous en premier ? Vous observez. Et bien la commande **LS** est parfaite pour cela, allons-y.\n", + "\n", + "![ls](assets/ls.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Ici, on peut donc voir qu'il y a une Palourde avec laquelle on peut **interagir** ainsi que deux chemins menant à de nouvelles places." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Question n°1\n", + "\n", + "À votre avis, que fait la commande LS dans un système d'exploitation Linux ?\n", + "Vous pouvez tester la commande vous même dans la cellule juste en dessous !\n", + "\n", + "Remarquez vous quelque chose au niveau des noms ?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "------------------------------------------------------" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Une fois cela fait, retournons à notre jeu : On peut commencer par parler avec la Palourde.\n", + "\n", + "\n", + "![palourde](assets/cat.png)\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Celle ci nous donne de plus amples informations sur les commandes dont l'on dispose.\n", + "\n", + "À retenir : Pour utiliser la commande **cd** il est necessaire de connaitre la destination souhaitée, car vous allez devoir l'indiquer!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Ainsi, pour parvenir au **BoisDeslutins/** il vous faut taper :
    \n", + "\n", + "\n", + "![cd](assets/cd.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "\n", + "#### Question n°2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Si vous refaites un coup de **ls** dans la cellule en dessous, puis que vous faites **cd** *Dossier*, que se passe t-il ?\n", + "\n", + "Executez les deux commandes, puis refaites un **ls** pour confirmer." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Astuce** Pour revenir dans le repertoire d'avant, tapez **_cd .._**\n", + "Allez y essayez !" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "-------------------------------------------------------" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "_Mais du coup, ça va être hyper long de tout taper !_\n", + "\n", + "Et bien pas forcément, car il se trouve que les personnes qui ont développé ces commandes ont pensé à vous aider : regardez en dessous, il y a une incone qui ressemble à la touche **_tabulation_** de votre clavier\n", + "\n", + "\n", + "![tab](assets/tab.png)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Si vous cliquez sur cette icone, la machine va tenter de remplir le texte par elle même !\n", + "\n", + "![tab_2](assets/tab_2.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "En realité, vous pouvez même vous passer de cliquer : votre touche **tab** du clavier effectue la même manipulation." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Question N°3\n", + "\n", + "
    \n", + "\n", + "Que se passe t-il si vous appuyez plusieurs fois sur tab ?
    \n", + "Réponse :" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "----------------------------------------------------" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Revenons donc en arrière, et choisissez d'entrer dans la **Prairie/**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Comme à chaque fois que l'on entre dans un nouveau lieu, que fait - on ?\n", + "\n", + "\n", + "![prairie](assets/ls_prairie.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Comme vous pouvez le voir, ce Poney a l'air tout content de pouvoir vous aider.\n", + "Parlez lui donc à l'aide de la commande **cat** et prenez la direction des Montagnes/" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![montagnes](assets/montagnes.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Question n°4\n", + "\n", + "
    \n", + "\n", + "Que signifie le \"/\" à la fin de certains noms ?
    \n", + "Réponse :" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---------------------------------------------------" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Suivez donc le conseil du jeu, et faites un **ls** afin de faire apparaître votre prochaine destination\n", + "\n", + "
    \n", + "Puis prenez en la direction
    \n", + "\n", + "\n", + "\n", + "![cd_montagnes](assets/cd_montagnes.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Si vous parlez au **Vieil Homme** qui se trouve là, vous débloquerez une nouvelle commande : **exit**\n", + "\n", + "
    \n", + "\n", + "![exit](assets/exit.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "N'oubliez pas qu'il fait également mention d'un manuscrit, que vous pouvez lire grâce à la commande **cat**\n", + "\n", + "
    \n", + "\n", + "![vieil_homme](assets/vieil_homme.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Question n° 5" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Que fait la commande **exit** dans un terminal de commande linux ?
    \n", + "Attention, ici, on ne testera pas la commande dans le document : faites des recherches sur Internet et indiquez votre réponse :" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "--------------" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Comme vous avez pu le remarquez en analysant le manuscrit, il existe deux commandes susceptibles de vous aider sur un système GNU / Linux : **help** et **man**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![help_man](assets/help_man.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "-----------------" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Executez donc la commande indiqué afin d'en savoir plus sur la commande **mv**\n", + "\n", + "
    \n", + "\n", + "![man_mv](assets/man_mv.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Plus loin un rocher vous bloque la route, essayez donc de le déplacer avec **mv** + lieu...\n", + "\n", + "
    \n", + "\n", + "Horreur ! Nous n'avons pas débloquer la commande mv, même si nous en connaissons le principe!\n", + "Peut-être serait il necessaire de revenir au départ et d'emprunter un chemin non bloqué cette fois ci, en direction, du **BoisDesLutins**..." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "------------" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4. Lancez-vous !" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "\n", + "Desormais, vous voilà aux manettes de cette aventure, et il vous reste beaucoup de choses à voir.\n", + "\n", + "Explorez, essayez, manipulez, bref, jouez, afin d'en apprendre davantage sur les commandes linux.\n", + "\n", + "Evidemment, si vous êtes en difficulté, n'hésitez pas à m'appeler (dans la limite du raisonnable !)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "-----------------" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 5. Retours sur l'activité" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "\n", + "Une fois la séance terminée, revenez à votre place devant le tableau, afin que nous puissions échanger à propos de cette activité.\n", + "\n", + "Préparez donc des notes sur :\n", + "\n", + "
  • Votre ressenti : Avez-vous aimé, préféré le jeu à d'autres séances ?\n", + "
  • La difficulté : Etait-ce trop dur ? Pas assez ?\n", + "
  • Le résultat : Qu'avez vous retenu de la séance ?\n", + "
  • La poursuite : Comptez-vous terminer le jeu chez vous, dans le bus, sur votre téléphone ou ordinateur ?\n", + "Pourquoi ?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---------------" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.8" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}