Skip to content
luffah edited this page Jul 7, 2019 · 8 revisions

Terminus est un jeu d'aventure textuel illustré qui peut servir d'initiation à la ligne de commande et au hack.

####### Terminologie

  • La ligne de commande (ou CLI pour Command-Line Interface) est l'interface utilisateur la plus minimale et la plus facile à personnaliser. C'est un outil indispensable pour reprendre le contrôle de son ordinateur.
  • Le terme hack fait référence à la modification de programmes informatiques.

À propos de cette page

Cette page réunit les réflexions sur les objectifs pédagogiques du jeu :

  • qu'est-ce qu'on apprend ?
  • à quel rythme ?
  • avec quel niveau de détails ?

Ces objectifs serviront de base au scénario du jeu, et pour concevoir des phases tutorielles et des épreuves adaptées.

Pour contribuer, voir les règles d'éditions.

TÂCHES RELATIVES À LA PAGE
[x] Création
[x] Ajout des idées - ici, tu tutoies
[ ] Idées en cours de maturations - ici, tu tutoies
[ ] Validation

[ ] Mis en oeuvre des commandes 

Structuration des objectifs

On réunit les objectifs par "niveau" pour construire l'avancée de l'utilisatrice-utilisateur.

La règle tacite est que le conclusion du jeu doit permettre d'atteindre un niveau de base. Les savoirs faire plus spécifiques font l'objet de quêtes annexes (soit intégrés dans le jeu de base soit en extension).

Quel public ?

Le jeu de base s'adresse à tous les publics suivants.

  • Personnes sachant lire de manière autonome, mais peu habituées aux ordinateurs de bureaux.
  • Personnes découvrant GNU/linux, utilisant déjà une interface graphique.
  • Utilisateurs Utilisatrices confirmé·e·s souhaitant revoir des bases ou faire découvrir les concepts du jeu.
  • (avec lecteur d'écran) Personnes malvoyantes.
  • (avec lecteur d'écran) Personnes déscolarisées, peu habiles avec un clavier.

Pour les quêtes annexes, on fera attention à rester inclusif tant que cela reste pertinent. En cas de prérequis à une quête annexe, tu veillera à les indiquer afin de consolider le flux narratif. (Il s'agit d'éviter que la quête ne soit accessible qu'en déambulant par hazard dans des espaces/lieux liés à un passage de l'histoire passé)

Quel profils utilisatrice·teur·s ?
  1. Utilisatrice·teur dans un environnement "verrouillé"
  2. Utilisatrice·teur administratrice·teur de sa machine (débutant)
Comment faire que le·la joueuse·eur s'habitue aux pratiques telles que le complètement avec la touche Tab ?

Pour attirer l'attention sur les notions d'historiques et sur les raccourcis claviers les plus utilisés, tu devras peut-être conçevoir de minijeux.

Comment faire un lien avec le monde réel ?

Pour mettre en pratique les commandes sur un vrai système, tu peux :

  • à la fin de chaque niveau, suggérer de "faire une pause" et aller tester les commandes ailleurs.
  • à la fin du jeu ou de la quête, renvoyer sur des sites, jeux ou outils relatifs aux savoirs-faire explorés

Concepts à faire découvrir

  • Toute donnée (et tout programme) est liée à un fichier
  • La prise en main du Terminal et de ses commandes
    • Utilisation des instructions du Shell : cd, pwd ,alias, fg, for; do; done , if; then; else; fi, pushd... bref tout ce que l'on trouve avec l'aide du Shell utilisé (help pour bash; man sh pour sh).
    • Utilisation des programmes présents dans le PATH : ls, man ou whatis, chmod, find
    • Utilisation de programmes locaux : ./hello_word.sh
  • [ optionnel ] Les base de configuration du Shell
    • Le PATH (listes des répertoires contenant des programmes)
  • [ optionnel ] Structure d'un projet : readme, MakeFile ...
  • [ optionnel++ ] Configuration d'un système, par exemple un Raspberry ...

Types de commandes

Niveau 1

  • Système de fichiers
  • Modification des fichiers, dossiers et droits
  • Les bases du shell : ce qui est puissant

Niveau 2

  • ? gestion des utilisateurs et groupes ?
  • ? gestion du réseau et interfaces ?
  • ? gestion des disques ?
  • Installation de nouveaux paquets et applications

Niveau 3

  • Utilisation de PIP (hors mode admin)

Parmi les objectifs ultérieurs, on peut s'inspirer des commandes notées sur le Cube Pense-Bête pour Ubuntu.

Ce qui doit être implémenté par le jeu

Commandes

| Commandes | Niveau | Utilisable | Réalisable | Intégré au jeu | Commentaires | | | | | (les briques | | | | | | | techniques sont | | |

déjà présentes)
ls 1 Oui
cd 1 Oui
pwd 1 Oui
mv 1 Oui
rm 1 Oui
cat 1 Oui
grep 1 Oui
touch 1 Oui
mkdir 1 Oui
less 1 Oui
./ 1 Oui
sudo 1 Sans effet
help 1 Oui
man 1 Oui
history 1 Pas encore
fc 1 Pas encore
unzip 2 Oui
exit 2 Oui
ps 2 Non que sera t il affiché ?
whatis 2 Pas encore
which 2 Pas encore
alias 2 Non
chmod 2 Pas encore Oui
pipe | 2 Oui
redirections < > 2 Pas encore Oui
tee 3 Pas encore Oui
apt 3 Pas encore
passwd 3 Pas encore
useradd 3 Pas encore Oui
popd et pushd 3 Non Oui alternative à cd (bash)
install 3 Non alternative à touch et à mkdir
type 4 Pas encore sert à comprendre les variables et commandes
(variables) 4 Non Oui
declare 4 Non
sed 4 Pas encore Oui
bash 4 Pas encore Partiellement
vi 4 Non
lsof 5 Non Oui
stat 5 Non Oui
strace 5 Non

Facilités du shell

Concept Niveau Utilisable Intégré au jeu Comm.
Fleches 1 Oui Oui
* 1 Oui Oui
[ab] 1 Pas encore,Todo
{alpha,beta} 1 Pas encore,Todo
variables 2
${%} substitution de variables 2
~ 2 Oui Oui
~+, ~- 2 Non
1 Oui
<Ctrl+r> 1 Pas encore
!! 1 Pas encore
2 Pas encore
<Ctrl+Flèches> 2 Pas encore
<Ctrl+a> 2 Pas encore
<Ctrl+e> 2 Pas encore
<Ctrl+u> 2 Pas encore