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> <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É. > ⚠️ 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É. > Ne vous reposez pas sur ce projet pour préparer votre SAÉ.
<br>
## Description ## Description
Ce projet est un simulateur visant à reproduire le comportement de l'évaluateur de la SAÉ 1.03 (Système). 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. 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>
<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