Skip to content

About

Cours Linux, travaux pratiques, exercices guidés, scripts Bash et administration système. Un dépôt pédagogique pour apprendre Linux à travers des labs concrets, du niveau débutant à avancé.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Formation Linux : de zéro à l'administration système et au DevOps

Modules Langue Plateforme Format Niveau

Une formation Linux complète, structurée en 23 modules autonomes. Chaque module est un fichier README.md détaillé, pédagogique et directement utilisable pour apprendre et pratiquer : théorie, commandes détaillées, travaux pratiques guidés, exercices corrigés, lab final et checklist de validation.

L'objectif est simple : te faire progresser depuis la découverte de Linux jusqu'à un niveau d'administrateur système et d'ingénieur DevOps, en pratiquant sur un vrai serveur Ubuntu.


Sommaire

  1. À qui s'adresse cette formation
  2. Ce que tu vas apprendre
  3. Environnement de pratique
  4. Comment utiliser ce dépôt
  5. Structure d'un module
  6. Liste des modules
  7. Parcours recommandés
  8. Arborescence du dépôt
  9. Conventions utilisées
  10. Avertissement de sécurité
  11. Contribuer

À qui s'adresse cette formation

Profil Ce que tu y trouveras
Débutant complet Un point de départ sans prérequis, avec des analogies concrètes et une progression douce
Étudiant en informatique Une base solide pour les cours de systèmes, réseaux et sécurité
Futur administrateur système Tous les domaines du métier : utilisateurs, disques, réseau, services, sécurité, dépannage
Futur DevOps / SRE Conteneurs, automatisation, Infrastructure as Code, CI/CD, haute disponibilité
Candidat aux certifications Une préparation utile pour LPIC, RHCSA/RHCE, CKA et Linux Foundation

Aucun prérequis technique n'est demandé pour commencer. Il suffit d'être à l'aise avec un ordinateur et d'avoir envie de pratiquer.


Ce que tu vas apprendre

À la fin de la formation, tu seras capable de :

  • Utiliser le shell avec aisance et comprendre le fonctionnement interne d'un système Linux
  • Gérer fichiers, permissions, ACL, utilisateurs, groupes et processus
  • Administrer disques, partitions, LVM, RAID et chiffrement LUKS
  • Configurer et diagnostiquer un réseau, un pare-feu, SSH et un VPN
  • Installer et gérer des logiciels sur les grandes familles de distributions
  • Comprendre et réparer la séquence de démarrage (UEFI, GRUB2, systemd)
  • Durcir un serveur et mettre en place audit, chiffrement et sauvegardes
  • Écrire des scripts Bash robustes et automatiser avec Python et Ansible
  • Déployer et exploiter des services : web, bases de données, messagerie, DNS, annuaires
  • Conteneuriser avec Docker et Podman, découvrir Kubernetes et le cloud
  • Concevoir des architectures hautement disponibles
  • Appliquer une méthodologie de dépannage structurée

Environnement de pratique

Cette formation est pensée pour Ubuntu Server (version LTS recommandée). Quand une commande est spécifique à une autre famille de distributions (Red Hat, Arch, SUSE), le module le précise explicitement.

Options pour obtenir un serveur de test

Option Avantages Recommandé pour
Machine virtuelle (VirtualBox, VMware, KVM) Isolation totale, snapshots, aucun risque pour ta machine Tous les modules, surtout disques, démarrage et réseau
Serveur dédié ou VPS Ubuntu Environnement réel, accès SSH Services, sécurité, haute disponibilité
Multipass ou LXD Instances Ubuntu légères et jetables Tests rapides, modules de scripting et de services
WSL2 sous Windows Pratique pour débuter Modules 1 à 6, 13, 19 (limites sur démarrage, noyau, disques)
Machine physique dédiée Comportement matériel authentique Modules démarrage, noyau, stockage

Configuration minimale conseillée

Ressource Minimum Confortable
CPU 2 coeurs 4 coeurs
RAM 2 Go 4 Go ou plus
Disque principal 20 Go 40 Go
Disques supplémentaires 2 disques virtuels de 5 Go 3 disques virtuels de 10 Go
Réseau 1 interface en NAT 1 NAT et 1 réseau interne ou en pont

Les disques supplémentaires servent aux modules sur les systèmes de fichiers, LVM, RAID, LUKS et sauvegardes. Prends l'habitude de réaliser un snapshot de ta machine virtuelle avant chaque TP risqué.


Comment utiliser ce dépôt

1. Récupérer le dépôt

# Cloner le dépôt (remplace l'URL par celle de ton dépôt)
git clone https://github.com/dspitech/linux-learning-lab

# Se placer dans le dossier
cd linux-learning-lab

# Lister les modules
ls

2. Lire un module

Chaque module se lit directement sur la plateforme d'hébergement (GitHub, GitLab, Gitea) ou dans n'importe quel lecteur Markdown. Les solutions des exercices sont masquées dans des blocs <details> : essaie toujours de résoudre l'exercice avant de les ouvrir.

3. Pratiquer, toujours

La règle d'or : ne te contente jamais de lire. Tape chaque commande, observe la sortie, casse des choses dans ton environnement de test, puis répare-les.

4. Méthode de travail conseillée

  1. Lis l'introduction théorique et le glossaire
  2. Tape les exemples de la section Commandes détaillées
  3. Réalise les travaux pratiques dans l'ordre
  4. Fais les exercices sans regarder les solutions
  5. Termine par le lab pratique
  6. Valide la checklist avant de passer au module suivant

Structure d'un module

Chaque module respecte exactement la même structure, ce qui te permet de te repérer immédiatement.

Section Contenu
1. Titre et badge de niveau Niveau, durée estimée, prérequis
2. Objectifs pédagogiques Ce que tu sauras faire à la fin
3. Prérequis Modules précédents et notions nécessaires
4. Introduction théorique Explications progressives, analogies, schémas ASCII, cas d'usage
5. Concepts clés Glossaire sous forme de tableau : terme, définition, exemple
6. Commandes détaillées Description, syntaxe, options, exemples concrets, erreurs fréquentes
7. Travaux pratiques guidés 3 à 5 TP progressifs avec résultats attendus
8. Exercices corrigés 8 à 15 exercices classés de facile à challenge, solutions masquées
9. Lab pratique Mini-projet combinant tout le module
10. Erreurs courantes et pièges Tableau : erreur, cause, solution
11. Checklist de validation Cases à cocher pour mesurer ta progression
12. Ressources complémentaires Pages de manuel, documentation officielle, livres
13. Pour aller plus loin Lien vers le module suivant et pistes d'approfondissement

Liste des modules

Partie 1 : Les fondations

N° Module Contenu principal Niveau
01 Introduction et fondamentaux Histoire d'Unix et de GNU/Linux, distributions, licences, architecture, installation, UEFI, MBR et GPT Débutant
02 Le shell et la ligne de commande Shells, navigation, aide, historique, redirections, pipes, expansions, variables, alias, fichiers de configuration Débutant
03 Gestion des fichiers et répertoires Arborescence FHS, copie, liens, recherche, filtres, archives, permissions, ACL, attributs étendus Débutant
04 Éditeurs de texte Nano, Vim et Neovim, Emacs, VS Code via SSH, éditeurs alternatifs Débutant
05 Utilisateurs et groupes Comptes, groupes, mots de passe, sudo, sessions, PAM Débutant
06 Processus et gestion des tâches ps, top, signaux, priorités, tmux, systemd, cron, strace, lsof Débutant

Partie 2 : Administration système

N° Module Contenu principal Niveau
07 Systèmes de fichiers et disques ext4, XFS, Btrfs, ZFS, partitionnement, fstab, LVM, RAID, LUKS, quotas, swap Intermédiaire
08 Réseau Modèle OSI et TCP/IP, ip, Netplan, DNS, pare-feu, SSH, VPN, NFS, Samba, tcpdump Intermédiaire
09 Gestion des paquets et logiciels apt, dnf, pacman, zypper, compilation, dépôts, Snap, Flatpak, AppImage Intermédiaire
10 Démarrage du système UEFI, GRUB2, initramfs, systemd, targets, réparation avec live USB et chroot Intermédiaire
11 Noyau (Kernel) Modules, sysctl, initramfs, firmware, DKMS, compilation du noyau Intermédiaire
12 Sécurité Hardening, SELinux, AppArmor, GPG, TLS, OpenSSL, auditd, Fail2ban, logrotate Intermédiaire

Partie 3 : Scripting et automatisation

N° Module Contenu principal Niveau
13 Scripting Bash Variables, tableaux, conditions, boucles, fonctions, gestion d'erreurs, ShellCheck Intermédiaire
14 Scripting avancé Python pour l'administration, AWK et sed avancés, PowerShell Core, Ansible, Terraform Avancé
19 Ligne de commande avancée xargs, parallel, find avancé, jq, yq, dd, regex, expect Avancé

Partie 4 : Services, développement et environnement de travail

N° Module Contenu principal Niveau
15 Administration système avancée Logs, monitoring, performance, OOM killer, Docker, Podman, KVM, Kubernetes, CLI cloud Avancé
16 Services et serveurs Apache, Nginx, bases de données, Postfix, DNS, DHCP, LDAP, Samba, CUPS, Git Avancé
17 Développement sous Linux GCC, Make, CMake, Git, langages, environnements virtuels, CI/CD Intermédiaire
18 Bureautique et Desktop Linux GNOME, KDE, XFCE, X11, Wayland, applications, multimédia, périphériques Débutant

Partie 5 : Exploitation professionnelle

N° Module Contenu principal Niveau
20 Stockage et sauvegardes Stratégie 3-2-1, rsync, Borg, Restic, snapshots, rclone, tests de restauration Avancé
21 Cloud et DevOps IaaS, PaaS, SaaS, AWS, GCP, Azure, Terraform, CI/CD, GitOps, serverless Avancé
22 Haute disponibilité et scalabilité HAProxy, Keepalived, Pacemaker, Corosync, réplication, Ceph, GlusterFS, auto-scaling Expert
23 Dépannage (Troubleshooting) Méthodologie, boot cassé, réseau, disque, mémoire, CPU, mode rescue, récupération de données Expert

Parcours recommandés

Le plus simple est de suivre les modules dans l'ordre numérique. Si tu as un objectif précis, voici des parcours ciblés.

Parcours complet (recommandé aux débutants)

Modules 01 à 23, dans l'ordre.

Parcours Administrateur système

Étape Modules
Bases 01, 02, 03, 05, 06
Cœur du métier 07, 08, 09, 10, 11
Sécurité et exploitation 12, 13, 20
Services et diagnostic 16, 15, 23

Parcours DevOps et Cloud

Étape Modules
Bases 01, 02, 03, 06
Réseau et paquets 08, 09
Automatisation 13, 14, 19
Plateformes 15, 21, 22

Parcours Sécurité

Étape Modules
Bases 01, 02, 03, 05
Système 06, 07, 10, 11
Réseau et défense 08, 12
Réponse aux incidents 20, 23

Parcours Développeur sous Linux

Étape Modules
Bases 01, 02, 03, 04
Outillage 09, 13, 17
Conteneurs et déploiement 15, 21

Parcours Utilisateur desktop

Étape Modules
Bases 01, 02, 03, 04
Environnement 09, 18

Arborescence du dépôt

Formation-Linux/
├── README.md
├── 01-Introduction-Fondamentaux/
│   └── README.md
├── 02-Shell-Ligne-de-commande/
│   └── README.md
├── 03-Gestion-fichiers-repertoires/
│   └── README.md
├── 04-Editeurs-de-texte/
│   └── README.md
├── 05-Utilisateurs-Groupes/
│   └── README.md
├── 06-Processus-Taches/
│   └── README.md
├── 07-Systemes-de-fichiers-Disques/
│   └── README.md
├── 08-Reseau/
│   └── README.md
├── 09-Gestion-paquets-logiciels/
│   └── README.md
├── 10-Demarrage-systeme/
│   └── README.md
├── 11-Noyau-Kernel/
│   └── README.md
├── 12-Securite/
│   └── README.md
├── 13-Scripting-Bash/
│   └── README.md
├── 14-Scripting-avance/
│   └── README.md
├── 15-Administration-systeme-avancee/
│   └── README.md
├── 16-Services-Serveurs/
│   └── README.md
├── 17-Developpement-sous-Linux/
│   └── README.md
├── 18-Bureautique-Desktop-Linux/
│   └── README.md
├── 19-Ligne-de-commande-avancee/
│   └── README.md
├── 20-Stockage-Sauvegardes/
│   └── README.md
├── 21-Cloud-DevOps/
│   └── README.md
├── 22-Haute-disponibilite-Scalabilite/
│   └── README.md
└── 23-Depannage-Troubleshooting/
    └── README.md

Conventions utilisées

Blocs de code

Toutes les commandes sont dans des blocs bash commentés. Les sorties attendues sont indiquées en commentaires pour que tu puisses comparer avec ce que tu obtiens.

# Afficher le répertoire courant
pwd
# Sortie attendue :
# /home/utilisateur

Distinction des distributions

Quand une commande ne s'applique qu'à une famille de distributions, elle est signalée clairement :

Famille Distributions Gestionnaire de paquets
Debian Debian, Ubuntu, Linux Mint apt, dpkg
Red Hat RHEL, Fedora, Rocky Linux, AlmaLinux dnf, rpm
Arch Arch Linux, Manjaro pacman
SUSE openSUSE, SLES zypper

Niveaux de difficulté des exercices

Niveau Signification
Facile Application directe d'une commande vue dans le module
Moyen Combinaison de plusieurs commandes ou options
Difficile Raisonnement et enchaînement plus longs
Challenge Scénario réel, proche d'une situation de production

Avertissements

Les commandes dangereuses (suppression récursive, écriture directe sur disque, modification du pare-feu à distance, etc.) sont toujours signalées par la mention ATTENTION avant l'exemple.


Avertissement de sécurité

Certains modules manipulent des opérations irréversibles ou à risque : formatage de disques, partitionnement, dd, rm -rf, règles de pare-feu, modification de /etc/fstab, de GRUB ou du noyau.

  • Réalise les TP uniquement dans une machine virtuelle ou un environnement jetable
  • Fais un snapshot avant les modules 07, 10, 11, 12, 20 et 22
  • Ne teste jamais une commande destructrice sur un serveur de production
  • Garde toujours un second accès (console de la VM, accès hors bande) quand tu modifies SSH, le réseau ou le pare-feu à distance
  • Lis la commande en entier avant d'appuyer sur Entrée, surtout après un sudo

Contribuer

Les contributions sont les bienvenues : corrections de fautes, améliorations d'explications, nouvelles erreurs courantes, exercices supplémentaires.

  1. Crée un fork du dépôt
  2. Crée une branche dédiée : git checkout -b correction-module-08
  3. Respecte la structure et les conventions décrites plus haut
  4. Teste toutes les commandes sur Ubuntu Server avant de proposer un changement
  5. Ouvre une pull request en décrivant clairement la modification

Signaler un problème

Si une commande ne fonctionne pas, ouvre une issue en précisant :

  • Le module et la section concernés
  • La version d'Ubuntu utilisée (lsb_release -a)
  • La commande exécutée et le message d'erreur complet

Bon apprentissage

Commence par le module 01 et avance à ton rythme. La régularité compte plus que la vitesse : une heure de pratique par jour vaut mieux qu'une journée entière une fois par mois.

About

Cours Linux, travaux pratiques, exercices guidés, scripts Bash et administration système. Un dépôt pédagogique pour apprendre Linux à travers des labs concrets, du niveau débutant à avancé.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages