📘 MODULE 5 – AUTOMATISATION &
SCRIPTING
Bash – PowerShell – Ansible
Durée totale : 5 heures
🎯 Objectifs pédagogiques du module
À la fin de ce module, l’étudiant sera capable de :
Comprendre pourquoi l’automatisation est indispensable en entreprise
Écrire des scripts Bash et PowerShell simples et fiables
Automatiser des tâches répétitives d’administration système
Gérer les erreurs et la journalisation
Comprendre le principe des outils d’automatisation comme Ansible
Appliquer des bonnes pratiques professionnelles
Répartition horaire recommandée
Temps Contenu
1h Introduction à l’automatisation
1h Scripting Bash
1h Scripting PowerShell
1h Ansible & gestion de configuration
1h TP complets & cas entreprise
1 Pourquoi automatiser ? (1 heure)
1️⃣
1.1 Problème sans automatisation
Tâches répétitives
Erreurs humaines
Perte de temps
Stress en production
📌 Exemple :
Créer 20 utilisateurs manuellement = risque élevé d’erreur.
1.2 Principe de l’automatisation
Automatiser = écrire une fois, exécuter plusieurs fois.
🧠 Analogie
Script = recette de cuisine
Exécution = repas répété à l’identique
1.3 Tâches courantes automatisées
Sauvegardes
Création utilisateurs
Nettoyage logs
Déploiement services
Surveillance
2️⃣Scripting Bash (1 heure)
2.1 Qu’est-ce que Bash ?
Bash est le shell le plus courant sous Linux.
2.2 Structure d’un script Bash
#!/bin/bash
# commentaire
echo "Bonjour"
Rendre exécutable :
chmod +x [Link]
2.3 Variables & conditions
USER="admin"
if [ $USER = "admin" ]; then
echo "Accès autorisé"
fi
2.4 Boucles
for i in 1 2 3
do
echo "Serveur $i"
done
2.5 Bonnes pratiques Bash
✔ Toujours commenter
✔ Tester avant production
✔ Utiliser des chemins absolus
❌ Scripts non documentés
3️⃣Scripting PowerShell (1 heure)
3.1 Pourquoi PowerShell ?
Orienté objets
Puissant pour Windows
Compatible Linux
3.2 Script PowerShell de base
Write-Host "Bonjour Admin"
Exécution :
Set-ExecutionPolicy RemoteSigned
.\script.ps1
3.3 Variables & conditions
$user = "admin"
if ($user -eq "admin") {
Write-Host "Accès OK"
3.4 Gestion d’erreurs & logs
try {
New-Item C:\[Link]
catch {
Write-Host "Erreur détectée"
3.5 Bonnes pratiques PowerShell
✔ Scripts lisibles
✔ Logs systématiques
✔ Tester en environnement isolé
4️⃣Ansible & gestion de configuration (1 heure)
4.1 Pourquoi Ansible ?
Automatiser plusieurs machines
Sans agent
Simple à lire (YAML)
4.2 Principe Ansible
Control node
Hosts
Playbooks
4.3 Exemple de playbook Ansible
- hosts: servers
tasks:
- name: Installer Apache
apt:
name: apache2
state: present
Exécution :
ansible-playbook [Link]
4.4 Cas réel entreprise
Mise à jour de 50 serveurs
Installation homogène
Gain de temps énorme
5️⃣Travaux Pratiques (1 heure)
🧪 TP1 – Script Bash
Objectif
Afficher date
Lister utilisateurs connectés
Vérifier espace disque
🧪 TP2 – Script PowerShell
Objectif
Créer dossier sauvegarde
Copier fichiers
Générer un log
🧪 TP3 – Ansible (simulation)
Objectif
Installer un service sur plusieurs machines
Vérifier résultat
6️⃣Cas d’étude entreprise
Une entreprise doit :
sauvegarder chaque nuit
créer des comptes automatiquement
déployer des services
Solution attendue
Bash / PowerShell + Ansible
Logs
Planification
7️⃣Erreurs courantes
❌ Scripts sans logs
❌ Droits excessifs
❌ Pas de tests
8️⃣Questions de réflexion
Quand utiliser Bash vs Ansible ?
Pourquoi versionner les scripts ?
Quels risques sans automatisation ?