Upload of the scripts and tutorial

master
Rémi LAVERGNE 7 months ago
parent 13796a79c4
commit 6ecee465ca
Signed by: remi.lavergne
GPG Key ID: 7781E77D13479085

@ -2,20 +2,95 @@
<br>
Disclaimer
> ⚠️ L'évaluateur ainsi que ses questions ne correspondent pas à la version de l'évaluateur utilisée lors de l'évaluation de votre SAÉ.
> Ne vous reposez pas sur ce projet pour préparer votre SAÉ.
<br>
## Description
Ce projet est un simulateur visant à reproduire le comportement de l'évaluateur de la SAÉ 1.03 (Système).
Il permet de vous entraîner sur quelques questions de connaissances pratiques.
<br>
## Installation
# 🎓 Tuto d'Installation
## 📋 Prérequis
1. **Oracle VM VirtualBox**
2. **ISO de Debian 12** (téléchargeable ici : [Debian Officiel](https://www.debian.org/)).
*Il est recommandé d'utiliser la version netinst - amd64 pour éviter d'exploser votre quota de votre home. (600Mb environ)*
3. Accès aux fichiers `evaluateur.sh` et `init.sh`.
---
## 1⃣ Création d'une Machine Virtuelle Debian 12
### Étape 1 : Configurer la VM
1. **Ouvre VirtualBox** et clique sur `Nouvelle`.
2. **Paramètres** :
- Nom : `LeNomQueTuVeux`.
- Type : `Linux`.
- Version : `Debian (64-bit)`.
3. **Ressources** :
- Mémoire vive : Alloue **2 Go** (2048 Mo) minimum.
- Disque dur : Crée un disque de type **VDI**, taille dynamique, avec au moins **15 Go** despace.
### Étape 2 : Ajouter l'ISO Debian
1. Dans les paramètres de la VM, va dans l'onglet `Stockage`.
2. Clique sur `Vide` sous le contrôleur IDE.
3. Ajoute lISO en cliquant sur `Choisir un fichier disque` et sélectionne ton fichier **Debian 12 ISO**.
### Étape 3 : Installer Debian
1. Lance la VM et démarre linstallation :
- Choisis `Graphical Install` (si tu préfères une installation graphique).
- Langue : **Français**.
- Partitions : Automatique.
- Logiciels à inclure : Outils de base + **Serveur SSH** (important pour transférer des fichiers).
2. Configure un utilisateur avec mot de passe et termine linstallation.
---
## 2⃣ Préparer lEnvironnement dans la VM
### Mettre à Jour le Système
Connecte-toi dans la VM et exécute :
```bash
sudo apt update && sudo apt upgrade -y
```
## 3⃣ Récupérer les Scripts
```bash
git clone https://codefirst.iut.uca.fr/git/remi.lavergne/sae103-evaluateur.git
```
## 4⃣ Lancer les Scripts
1. **Donner les Permissions dExécution** :
```bash
cd sae103-evaluateur/scripts
chmod +x evaluateur.sh init.sh
```
2. **Exécuter le Script `init.sh`** :
```bash
./init.sh
```
3. **Exécuter le Script `evaluateur.sh`** :
```bash
./evaluateur.sh
```
## 5⃣ Sauvegarder lEnvironnement pour Revenir à un État Propre (Avancé)
> Une fois lenvironnement configuré, crée un instantané dans VirtualBox :
> Menu Machine > Outils > Instantanés > Prendre un instantané
> Nomme-le pour y revenir facilement si nécessaire.
Il te suffira juste de restaurer cet instantané pour retrouver un environnement propre.
<br>
<br>

@ -0,0 +1,141 @@
#!/bin/bash
# Script d'évaluateur de la SAE 1.03
# Auteur: Rémi LAVERGNE
print_status() {
if [ "$1" -eq 0 ]; then
echo -e "\\e[32mOK\\e[0m - $2"
else
echo -e "\\e[31mKO\\e[0m - $2"
fi
}
history -a # Pour sauvegarder l'historique des commandes dans le fichier ~/.bash_history
clear
echo -e "\\e[33mSi certains tests sont toujours en rouge, faites la commande 'history -a' puis relancez l'évaluateur.\\e[0m"
# ========================================
# Section 1
# ========================================
echo -e "\\e[1mSection 1: Installation des outils/paquets\\e[0m"
# Étape 1: Outils pour éditer une image vectorielle (Inkscape ou GIMP)
[ -x /usr/bin/inkscape ] || [ -x /usr/bin/gimp ]
print_status $? "Avoir (au moins) un outil pour éditer une image vectorielle."
# Étape 2: Outils pour compiler un programme C (gcc, g++, clang)
[ -x /usr/bin/gcc ] || [ -x /usr/bin/g++ ] || [ -x /usr/bin/clang ]
print_status $? "Avoir (au moins) un outil pour compiler un programme C."
# Étape 3: Navigateur web (Firefox ou Chromium)
[ -x /usr/bin/firefox-esr ] || [ -x /usr/bin/chromium ]
print_status $? "Avoir un navigateur web."
# Étape 4: Lister les paquets installés
grep -Fq 'apt list --installed' ~/.bash_history
print_status $? "Lister les paquets installés."
# Étape 5: Savoir supprimer un paquet
dpkg -s nano &> /dev/null
print_status $? "Supprimer le paquet 'nano', utiliser VIM."
# Etape 6: Mettre à jour les paquets disponibles
grep -Fq 'apt update' ~/.bash_history
print_status $? "Mettre à jour la liste des paquets disponibles."
# Etape 7: Mettre à jour les paquets installés
grep -Fq 'apt upgrade' ~/.bash_history
print_status $? "Mettre à jour les paquets installés."
# ========================================
# Section 2
# ========================================
echo -e "\\n\\e[1mSection 2: Utilisateurs et groupes\\e[0m"
# Étape 1: Créer un utilisateur
grep -q '^bob:' /etc/passwd
print_status $? "Créer l'utilisateur 'bob'."
# Étape 2: Modifier un mot de passe
grep -Fq 'passwd bob' ~/.bash_history
print_status $? "Modifier le mot de passe de l'utilisateur 'bob'."
# Étape 3: Créer un groupe
grep -q '^dev:' /etc/group
print_status $? "Créer le groupe 'dev'."
# Étape 4: Ajouter un utilisateur à un groupe
grep -q '^dev:' /etc/group && grep -q '^bob:.*dev' /etc/group
print_status $? "Ajouter l'utilisateur 'bob' au groupe 'dev'."
# Etape 5: Supprimer un utilisateur
grep -q '^john:' /etc/passwd
if [ $? -eq 0 ]; then
echo -e "\\e[31mKO\\e[0m - L'utilisateur 'john' existe encore, il doit être supprimé."
else
echo -e "\\e[32mOK\\e[0m - L'utilisateur 'john' a été supprimé."
fi
# ========================================
# Section 3
# ========================================
echo -e "\\n\\e[1mSection 3: Manipulation de fichiers\\e[0m"
# Etape 1: Afficher l'espacement disque disponible
grep -Fq 'df' ~/.bash_history
print_status $? "Afficher l'espace disque disponible."
# ========================================
# Section 4
# ========================================
echo -e "\\n\\e[1mSection 4: Partitions\\e[0m"
# Etape 1: Afficher les partitions sur le disque (option -l)
grep -Fq 'fdisk -l' ~/.bash_history
print_status $? "Afficher les partitions."
# Etape 2: Partitionner un disque pour créer une partition primaire
grep -Fq 'fdisk' ~/.bash_history
print_status $? "Partitionner un disque (partition primaire)."
# Etape 3: Créer un système de fichier
grep -Fq 'mkfs' ~/.bash_history
print_status $? "Créer un système de fichier dans une partition."
# Etape 4: Créer une partition SWAP
grep -Fq 'mkswap' ~/.bash_history
print_status $? "Créer une partition d'échange (SWAP)."
# ========================================
# Section 5
# ========================================
echo -e "\\n\\e[1mSection 5: Clé USB & périphériques\\e[0m"
# Etape 1: Lister le matériel présent sur la machine (lspci ou lshw)
grep -Fq 'lspci' ~/.bash_history || grep -Fq 'lshw' ~/.bash_history
print_status $? "Lister le matériel présent sur la machine."
# Etape 2: Savoir identifier sur quels bus ils sont connectés (lspci -b)
grep -Fq 'lsusb' ~/.bash_history
print_status $? "Lister les bus connectés pour le matériel."
# Etape 3: Vérifier quel module gère un périphérique (lspci -nnv)
grep -Fq 'lspci -nnv' ~/.bash_history
print_status $? "Vérifier quel module gère un périphérique."
# Etape 4: Lister les modules chargés
grep -Fq 'lsmod' ~/.bash_history
print_status $? "Lister les modules chargés en mémoire."

@ -0,0 +1,38 @@
#!/bin/bash
# Script d'initialisation de la machine virtuelle pour la SAE 1.03
# Auteur: Rémi LAVERGNE
# Vérification des droits
if [ "$EUID" -ne 0 ]; then
echo "Ce script doit être lancé avec des droits supérieurs (sudo/root)."
exit 1
fi
# Installer nano si absent
if ! dpkg -s nano &> /dev/null; then
apt update && apt install -y nano
fi
if ! id "franck" &> /dev/null; then
useradd -m franck
fi
# Création de l'arborescence
sudo -u franck mkdir -p /home/franck/{Documents,Images,Musique,Vidéos}
sudo -u franck touch /home/franck/Documents/{notes.txt,TODO.txt}
sudo -u franck bash -c "echo '- Faire les courses' >> /home/franck/Documents/TODO.txt"
sudo -u franck bash -c "echo '- Appeler le plombier' >> /home/franck/Documents/TODO.txt"
sudo -u franck bash -c "echo '- Installer Arch' >> /home/franck/Documents/TODO.txt"
sudo -u franck bash -c "echo 'Réunion du 12/12/2019' >> /home/franck/Documents/notes.txt"
sudo -u franck bash -c "echo 'Présents: Bob, Alice, Franck' >> /home/franck/Documents/notes.txt"
sudo -u franck bash -c "echo 'Absents: John' >> /home/franck/Documents/notes.txt"
sudo -u franck bash -c "echo 'Sujet: Préparation du projet' >> /home/franck/Documents/notes.txt"
sudo -u franck bash -c "echo 'Date de la prochaine réunion: 19/12/2019' >> /home/franck/Documents/notes.txt"
# Créer un deuxième utilisateur
if ! id "john" &> /dev/null; then
useradd john
fi
Loading…
Cancel
Save