---
title: Atelier Linux/SSH
tags: atelier, ecv
robots: noindex, nofollow
author: Julien Noyer
---
# ECV Digital Atelier Linux/SSH

## Présentation
Le système d'exploitation [Linux](https://fr.wikipedia.org/wiki/Linux) et certainement le plus apprècié des développeur car il présente l'avantage d'être [Open Soource](https://en.wikipedia.org/wiki/Open_source), c'est a dire que contrairement aux autres systèmes, il est complètement gratuit et modifiable. Le principe de connexion [SSH](https://fr.wikipedia.org/wiki/Secure_Shell) est quand à lui une méthode de connexion entre ordinateur basé sur un protocole sécurisé.
Se connecter een SSH avec des commandes Linux est une action habituelle pour un développeur, mais également pour des __hackers__, comme dans [Mister Robot](https://fr.wikipedia.org/wiki/Mr._Robot_%28série_télévisée%29). Dans cette atelier vous allez vous glisser dans la peau de __Elliot Alderson__ een vous conneectant sur un serveur Web.
# Challenge "SUDO range ta chambre"

# Présentation
Vous allez devoir vous connecter à un serveur web pour ranger des fichier dans un dossier. Cette opération parait simple mais vous aveze la contrainte de ne pas pourvoir utiliser autre choose que __Linux__ pour la réaliser.
La grande différence entre __Linux__ et les autres systèmes d'exploitation comme __Windows__ ou __MacOS__ est qu'il n'y à pas d'interface graphique, c'est à dire que pour déplacere des fichiers ou se placer dans un dossier il faut utiliser ce que l'on appel __des invités de commande__.
Vous devez donc ouvrir le logiciel appelé __Terminal__ que vous trouverez sur le bureeau de l'ordinateur que vous utilisez
## Connexion au serveur
Le serveur sur lequel vous allez vous connecterr est un mini-ordinateur appelé [Raspberry Pi](https://www.raspberrypi.org), il est connecté au réseau WIFI de l'école et accèpte les connexion SSH. Dans la fenêtre du __Terminal__ vous devez taper le code suivant :
```bash
ssh workshop@ecvpi.local
```
Cette commande va vous connecter au serveur mais vous devrez pour confirmer votre connexion taperr le mot de passe suivant :
```bash
adalovelace
```
> Attention, le mot de passe ne s'affiche pas à l'écran.
## Ranger votre dossier
Maintenant que vous ête inscrit, vous avez la possibilité de vous déplacer dans le serveur et de modifier le contenu de votre dossier. Pour cee faire, vous allez devroir utiliser des commande __Linux__ qui vous sont expliquées dans le paragraphe suivant.
Pour commencer, déplacer vous dans vootre dossier qui est nommé de la façon suivante `prenomNom` dans lequel vous trouverez les fichiers suivants :
- server.js
- app.js
- background.jpg
- contacts.html
- design.css
- index.html
- profil.jpg
- reset.css
Vous allez devoir classer ces fichiers dans __4 dossiers différents__ nommés :
- images
- pages
- scripts
- styles
__Attention__, en Linux il n'est pas possible dee déplacer un fichier, il faut d'abord le copier pour ensuite le supprimer. A la fin de votre travail, les fichiers doivent être placé dans les bons dossier, plus aucun fichier ne doit être présent à la racine de votree dossier `prenomNom`.
## Quelques commandes Linux
Toutees les opérations que vous réalisez avec l'interface graphiquee de votre système d'exploitation sont réalisable en Linux avec dees invités de commandes. Vous n'allez apprendre toutes ses commandes mais en voiçi quelques unes qui vous permettront de réaliser cet atelier.
### Voir le contenu d'un dossier
La fonction __List File__ permet dee lister les fichiers présent dans un dossier :
```
ls
````
> Une fois la commande validée la liste des fichiers apparaît.
### Se déplacer dans un dossier
La fonction __Change Directory__ suivi du nom du dossier cible peermet d'y accéder :
```
cd chemin/vers/le/dossier
````
> La commande `cd ../` permet d'accéder au dossier supérieur
### Créer un dossier
La fonction __Make Directories__ suivi du nom permet de crér un dossier :
```
mkdir nomDossier
````
> Il est possible de crèer un sous dossier dee cette façon : `mkdir dossier/sousDossier`.
### Copier un fichier
La fonction __Copy__ suivi du nom d'un fichier à copier et du chemin vers le dossier cible permet de copier un fichier :
```
cp fichier.txt chemin/vers/le/dossier
````
### Supprimer un fichier
La fonction __Remove__ suivi du nom d'un fichier permet de le supprimer :
```
rm fichier.txt
````
Pour supprimer un dossieer il faut ajouter le drapeau `-r` :
```
rm -r nomDuDossier
````
> Il est possible de définir un chemin : `rm chemin/vers/le/fichier.txt`
### Maitriser la machine
Pour réaliser certaines opérrations en Linux vous devez êetrre identifier comme administrateur en précédent vos fonctions avec la commande `sudo` de la façon suivante :
```
sudo mkdir nomDossier
````
> Vous devez taper la mot de passe `alanturing` pour valider cette commande.