-
Notifications
You must be signed in to change notification settings - Fork 15
Pédagogie
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.
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
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).
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é)
- Utilisatrice·teur dans un environnement "verrouillé"
- 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.
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
- 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
pourbash
;man sh
poursh
). - Utilisation des programmes présents dans le PATH :
ls
,man
ouwhatis
,chmod
,find
- Utilisation de programmes locaux :
./hello_word.sh
- Utilisation des instructions du Shell :
- [ 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 ...
- Système de fichiers
- Modification des fichiers, dossiers et droits
- Les bases du shell : ce qui est puissant
- ? gestion des utilisateurs et groupes ?
- ? gestion du réseau et interfaces ?
- ? gestion des disques ?
- Installation de nouveaux paquets et applications
- 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.
| 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 | |||
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 |