0. Introduction CMD Windows et NTFS
Cette quête te fera découvrir les merveilles du terminal
Objectifs
- Comprendre ce qu'est un terminal
- Pourquoi utiliser un terminal
- Comprendre une arborescence NTPath
- Naviguer dans le système de fichiers NTFS
Qu'est-ce qu'un terminal ?

A quoi ça sert ?
Le terminal permet d'exécuter des commandes, en les saisissant au clavier. À quoi cela peut-il bien servir, à une époque où nos ordinateurs sont dotés d'interfaces graphiques conviviales, et nos smartphones d'écrans tactiles ?
Eh bien, même si cela ne te semble pas tout de suite évident, le terminal offre énormément de possibilités. Il existe par exemple des commandes pour :
-
manipuler (copier, déplacer, renommer, effacer) les fichiers et répertoires
-
extraire des informations spécifiques de fichiers de texte volumineux, d'une façon plus immédiate qu'avec un éditeur de texte
-
rechercher efficacement des fichiers dans une arborescence de fichiers, selon différents critères (nom, date de modification, etc.)
-
configurer le système
-
formater les disques
-
etc. (la liste complète serait longue !)
Avec un peu d'habitude, certaines opérations se font bien plus rapidement dans le terminal que via l'interface graphique !
Un peu d'histoire
Le mot terminal désignait à l'origine un "ordinateur" rudimentaire - façon Minitel - équipé d'un simple clavier, et connecté par réseau à un serveur central. Ci-dessous, l'un des précurseurs, le Dec VT100.

L'utilisateur se connectait au serveur, puis pouvait saisir les commandes au clavier. Bien que la souris ait été inventée à la même époque que les terminaux, les ordinateurs n'en étaient pas équipés et, qui plus est, les écrans étaient très limités et ne pouvaient afficher que du texte, en vert sur fond noir (penses-y, la prochaine fois que tu regarderas Matrix !).

Histoire et différents types de terminaux
Système de fichiers NTFS
Sur tous les systèmes d'exploitation, les fichiers et les répertoires sont organisés en "arborescence", c'est-à-dire une structure hiérarchique. Le terme d'arborescence n'est pas anodin, car une arborescence de fichiers ressemble à un bon vieil arbre : la "racine" de l'arborescence serait le tronc de l'arbre, les répertoires, ses branches, et les fichiers, ses feuilles.
Il y a quelques disparités tout de même entre les systèmes : ainsi, sous Windows, chaque lecteur physique (partition de disque dur, lecteur optique DVD ou Blu Ray, clé USB) se voit attribuer une lettre (C: pour le disque dur de démarrage, D: pour le lecteur optique, par exemple).
Sous Windows, le programme qui gère le stockage des fichiers est nommé New Technology File System (NTFS).
Voyons à quoi ressemble une arborescence de fichiers sous Windows :

Comme vu précédemment, le système de fichier NTFS a plusieurs racines. Ces racines sont des partitions disques (partage réseau, lecteur de CD-ROM, partition système, partition de données).
Le système de fichier NTFS met aussi à disposition une gestion des droits nommée Access Control List (ACL pour les intimes), bien plus riche que celle des systèmes Unix. Mais richesse implique complexité, donc il est beaucoup moins facile de configurer efficacement les droits d'accès :

Le système de fichier NTFS spécifie comment stocker, mais comment sont référencés les fichiers ? Comment peut-on les localiser, les répertorier ?
Regarder de 00:00 à 8:21
Détails techniques de NTFS
NTPath
NTPath est une convention de nommage de fichiers appliquée au système de fichier NTFS en particulier. Il s'agit d'une manière de classifier les fichiers. Beaucoup de points différencient NTPath de POSIX, POSIX étant la convention de nommage sur les sytèmes UNIX-Like (Linux, FreeBSD, MacOS).
Il est possible d'accéder au système de fichiers NTFS en naviguant avec la norme POSIX (puisque POSIX n'est qu'une convention et non un système de fichiers). Cependant, NTPath reflète à merveille le système de fichiers NTFS, qui permet entre autres de naviguer sur plusieurs racines (C:,D:,E: ...).
Il est très important que tu comprennes la sémantique d'un chemin NTPath, décrite ci-dessous:
-
Commence par la lettre du volume (la racine). Exemple: C:, D:, E:, Z:
-
Séparée par une ou deux barres obliques inverses (backslash). Exemple: C:, D:\
-
Suis alors le chemin à emprunter à partir de la racine.
- Chaque unité du chemin est séparée par un backslash. Exemple: C:\Windows\System32, D:\Data\VideoGames, C:\Program Files\Steam\steamapps\steam.exe
Naviguer dans le système
A partir du terminal, tu peux naviguer dans tous les dossiers possibles. La connaissance de seulement deux commandes te permettra de naviguer rapidement dans ton arborescence:
-
cd {ton chemin}- change de répertoire -
dir- affiche le contenu du répertoire courant
Vidéo présentant l'utilisation de la ligne de commande Windows
Réaliser une capture d'écran
Il te sera nécessaire, pour valider cette quête (et d'autres), que tu sois capable de prendre une capture d'écran, de l'héberger sur un site puis d'envoyer son lien. Voici plusieurs ressources te décrivant les opérations à entreprendre.
Une fois que tu auras hébergé ta capture d'écran sur NoelShack, il te faudra copier-coller l'URL de l'image et la soumettre dans la solution pour la quête.
Challenge
Création d'une arborescence et sécurisation
Créer un répertoire nommé "Secured" dans ton dossier personnel (C:\Users{ton nom d'utilisateur}). Applique-lui la règle suivante : Accessible en lecture uniquement pour tout le monde, sauf pour l'administrateur qui a tous les droits sur le dossier.
Navigue ensuite dans le terminal jusqu'au dossier en question et affiche son contenu, après y avoir créé au moins un fichier bien entendu.
Critères de validation
- Soumets une capture d'écran de ton terminal lorsque tu es dans le dossier créé pour la quête.
- Soumets une capture d'écran des droits qui lui sont appliqués pour toi, et pour l'administrateur.