Formation Système d'Exploitation Linux
Maîtrise des Systèmes Linux et Administration Serveur
Code du cours: 420-XX
Session: Hiver 2025
Enseignant: Haythem Rehouma
Institution: inskillflow academy
Vue d'Ensemble du Cours
Cette formation complète vous permettra de maîtriser les systèmes d'exploitation Linux, l'administration système et la gestion de serveurs. De l'introduction aux concepts avancés, vous apprendrez à administrer, sécuriser et optimiser des systèmes Linux en production.
Objectifs d'Apprentissage
À la fin de ce cours, vous serez capable de:
- Comprendre l'architecture et les concepts fondamentaux de Linux
- Administrer des systèmes Linux (installation, configuration, maintenance)
- Gérer les utilisateurs, permissions et sécurité système
- Maîtriser le shell et l'automatisation avec des scripts
- Configurer et gérer les réseaux Linux
- Administrer les services système et les démons
- Monitorer et déboguer des systèmes Linux
- Déployer et maintenir des serveurs Linux en production
Approche Pédagogique
70% Pratique - 30% Théorie
Chaque module combine:
- Explications théoriques détaillées avec diagrammes Mermaid
- Laboratoires pratiques hands-on
- Exemples concrets et cas d'usage réels
- Exercices et quiz de validation
📚 Plan de Cours - 13 Modules
Cette formation est structurée en 13 modules progressifs qui vous mèneront de l'introduction à Linux jusqu'à l'administration avancée de serveurs en production. Chaque module est conçu pour construire sur les connaissances acquises précédemment.
Vue d'Ensemble de la Progression
Structure des Modules
Chaque module comprend:
- Chapitres théoriques avec diagrammes et exemples
- Laboratoires pratiques pour appliquer les concepts
- Quiz de validation pour vérifier vos connaissances
- Ressources complémentaires pour approfondir
MODULE 1 - Introduction à Linux
Durée: 2-3 séances
Contenu:
- Qu'est-ce que Linux et pourquoi l'utiliser?
- Histoire et évolution (Unix → Linux)
- Distributions Linux (Debian, Red Hat, Ubuntu, etc.)
- Architecture Linux (Kernel, Shell, Système de fichiers)
- Comparaison avec d'autres systèmes d'exploitation
Objectifs:
- Comprendre le rôle de Linux dans l'informatique moderne
- Identifier les composants principaux
- Découvrir l'écosystème Linux
Labs:
- Lab 1.1: Installation et Première Utilisation de Linux
MODULE 2 - Architecture du Système Linux
Durée: 2-3 séances
Contenu:
- Architecture détaillée du système
- Kernel Linux
- Processus système (init, systemd)
- Gestion mémoire et swap
- Système de fichiers virtuel (VFS)
- Composants système
- Shell et interpréteur de commandes
- Bibliothèques système
- Utilitaires système
- Boot process et niveaux d'exécution
- Communication inter-processus
Objectifs:
- Comprendre le fonctionnement interne de Linux
- Identifier le rôle de chaque composant
- Visualiser les flux de communication système
Labs:
- Lab 2.1: Analyse du processus de démarrage
- Lab 2.2: Exploration de l'architecture système
- Lab 2.3: Monitoring des composants système
MODULE 3 - Système de Fichiers
Durée: 3-4 séances
Contenu:
- Structure du système de fichiers Linux (FHS)
- Navigation et commandes de base (cd, ls, pwd, mkdir, rmdir)
- Gestion des fichiers (cp, mv, rm, touch)
- Permissions fichiers (chmod, chown, chgrp)
- Recherche de fichiers (find, locate, which, whereis)
- Liens symboliques et durs
- Types de systèmes de fichiers (ext4, xfs, btrfs)
Objectifs:
- Naviguer efficacement dans le système de fichiers
- Gérer les fichiers et répertoires
- Comprendre et gérer les permissions
- Utiliser les outils de recherche
Labs:
- Lab 3.1: Navigation et Création
- Lab 3.2: Gestion des Permissions
- Lab 3.3: Recherche et Liens
- Lab 3.4: Pratique Complète
MODULE 4 - Gestion des Processus
Durée: 3-4 séances
Contenu:
- Introduction aux processus Linux
- Visualisation des processus (ps, top, htop)
- Contrôle des processus (kill, killall, pkill)
- Priorités et nice values
- Processus en arrière-plan (jobs, fg, bg, nohup)
- Signaux système
- Processus zombies et orphelins
Objectifs:
- Comprendre le cycle de vie des processus
- Visualiser et contrôler les processus
- Gérer les priorités et les jobs
- Utiliser les signaux système
Labs:
- Lab 4.1: Visualisation des Processus
- Lab 4.2: Contrôle des Processus
- Lab 4.3: Priorités et Nice
- Lab 4.4: Jobs en Arrière-plan
MODULE 5 - Utilisateurs et Permissions
Durée: 2-3 séances
Contenu:
- Gestion des utilisateurs (useradd, usermod, userdel)
- Gestion des groupes (groupadd, groupmod, groupdel)
- Permissions fichiers (chmod, chown, chgrp)
- Permissions numériques et symboliques
- Sudo et privilèges élevés
- ACL (Access Control Lists)
- Quotas utilisateurs
Objectifs:
- Créer et gérer des utilisateurs et groupes
- Comprendre et configurer les permissions
- Utiliser sudo de manière sécurisée
- Implémenter les ACL
Labs:
- Lab 5.1: Gestion des Utilisateurs
- Lab 5.2: Gestion des Groupes
- Lab 5.3: Permissions Avancées
- Lab 5.4: Bonnes Pratiques
MODULE 6 - Scripting Shell
Durée: 3-4 séances
Contenu:
- Introduction au scripting Bash
- Variables et paramètres
- Structures de contrôle (if, for, while)
- Fonctions et scripts réutilisables
- Gestion des erreurs et debugging
- Cron et crontab: planification de tâches
- Syntaxe cron et exemples pratiques
- Cron système vs cron utilisateur
- systemd timers (alternative moderne)
Objectifs:
- Maîtriser le scripting shell Bash
- Automatiser des tâches administratives
- Planifier des tâches avec cron et systemd timers
- Créer des scripts robustes et maintenables
Labs:
- Lab 6.1: Scripts Bash de base
- Lab 6.2: Scripts avancés avec fonctions
- Lab 6.3: Configuration et utilisation de cron
- Lab 6.4: systemd timers et planification moderne
MODULE 7 - Réseau et Configuration
Durée: 3-4 séances
Contenu:
- Configuration réseau Linux
- Interfaces réseau (ifconfig, ip, nmcli)
- Routage et tables de routage
- DNS et résolution de noms
- Configuration IP statique vs DHCP
- Pare-feu de base (iptables, firewalld)
- Troubleshooting réseau
Objectifs:
- Configurer et gérer les réseaux Linux
- Comprendre le routage et le DNS
- Sécuriser les communications réseau
- Diagnostiquer les problèmes réseau
Labs:
- Lab 7.1: Configuration d'interface réseau
- Lab 7.2: Routage et tables de routage
- Lab 7.3: Configuration DNS
- Lab 7.4: Pare-feu et sécurité réseau
MODULE 8 - Services et Démon
Durée: 3-4 séances
Contenu:
- Gestion des services avec systemd
- Unit files (service, timer, target)
- Démarrage, arrêt et redémarrage de services
- Services au démarrage (enable/disable)
- Journal systemd (journalctl)
- Cron avancé: crontab, /etc/cron.d, anacron
- Gestion des logs cron
- Bonnes pratiques pour les tâches planifiées
- Alternatives: at, batch
Objectifs:
- Administrer les services système
- Comprendre systemd et les unit files
- Maîtriser cron et les tâches planifiées
- Gérer les logs et le monitoring
Labs:
- Lab 8.1: Gestion des services systemd
- Lab 8.2: Création de services personnalisés
- Lab 8.3: Cron et crontab avancés
- Lab 8.4: systemd timers vs cron
MODULE 9 - Sécurité Système
Durée: 3-4 séances
Contenu:
- Authentification et autorisation
- Gestion des utilisateurs et groupes
- Permissions fichiers (chmod, chown, ACL)
- Sudo et privilèges élevés
- Pare-feu (iptables, firewalld, ufw)
- SELinux et AppArmor (introduction)
- Audit de sécurité
- Sécurité des crons: permissions et environnement
Objectifs:
- Sécuriser un système Linux
- Gérer les permissions et l'accès
- Configurer et maintenir un pare-feu
- Auditer la sécurité système
Labs:
- Lab 9.1: Gestion des permissions
- Lab 9.2: Configuration de sudo
- Lab 9.3: Pare-feu et règles iptables
- Lab 9.4: Audit de sécurité et logs
MODULE 10 - Gestion des Paquets
Durée: 2-3 séances
Contenu:
- Gestionnaires de paquets (apt, yum, dnf, pacman)
- Installation et mise à jour de logiciels
- Repositories et sources de paquets
- Résolution de dépendances
- Compilation depuis les sources
- Gestion des paquets .deb et .rpm
- Snap, Flatpak et AppImage
Objectifs:
- Installer et gérer les logiciels Linux
- Comprendre les différents systèmes de paquets
- Résoudre les problèmes de dépendances
- Utiliser les outils modernes (Snap, Flatpak)
Labs:
- Lab 10.1: Gestion avec apt/yum
- Lab 10.2: Configuration de repositories
- Lab 10.3: Compilation depuis les sources
- Lab 10.4: Snap et Flatpak
MODULE 11 - Monitoring et Logs
Durée: 3-4 séances
Contenu:
- Monitoring système (top, htop, iotop, vmstat)
- Utilisation CPU, mémoire, disque
- Processus et ressources
- Logs système (/var/log, journald)
- Rotation des logs (logrotate)
- Monitoring des crons: logs et notifications
- Outils de monitoring (sar, sysstat)
- Alertes et notifications
Objectifs:
- Monitorer les performances système
- Analyser les logs et diagnostiquer les problèmes
- Configurer la rotation des logs
- Surveiller les tâches planifiées
Labs:
- Lab 11.1: Monitoring des ressources système
- Lab 11.2: Analyse des logs avec journalctl
- Lab 11.3: Configuration de logrotate
- Lab 11.4: Monitoring des crons et alertes
MODULE 12 - Administration Avancée
Durée: 3-4 séances
Contenu:
- Administration serveur en production
- Backup et restauration
- Maintenance et mises à jour système
- Troubleshooting avancé
- Performance tuning
- Automatisation avec cron et scripts
- Best practices pour les tâches planifiées
- Documentation et procédures
Objectifs:
- Administrer des serveurs Linux en production
- Implémenter des stratégies de backup
- Optimiser les performances
- Automatiser les tâches administratives
Labs:
- Lab 12.1: Stratégies de backup
- Lab 12.2: Performance tuning
- Lab 12.3: Automatisation complète avec cron
- Lab 12.4: Projet final - Serveur Linux complet
Outils et Technologies
Environnement de Développement
- Bash / Zsh: Shells Linux
- SSH: Accès distant sécurisé
- Vim / Nano / Emacs: Éditeurs de texte
- Git: Contrôle de version
- tmux / screen: Multiplexeurs de terminal
Distributions Linux
- Ubuntu / Debian: Distributions basées sur Debian
- CentOS / RHEL / Fedora: Distributions basées sur Red Hat
- Arch Linux: Distribution avancée
- SUSE / openSUSE: Distribution entreprise
Outils Complémentaires
- systemd: Gestionnaire de services
- rsync / scp: Transfert de fichiers
- cron / systemd timers: Planification de tâches
- iptables / firewalld: Pare-feu
- logrotate / journald: Gestion des logs
Compétences Développées
Compétences Techniques
Administration Système:
- Installation et configuration de systèmes Linux
- Gestion des utilisateurs et permissions
- Administration des services et processus
- Maintenance et mise à jour système
Scripting et Automatisation:
- Scripting shell (Bash)
- Automatisation de tâches administratives
- Planification avec cron et systemd
- Gestion de configuration
Réseau et Sécurité:
- Configuration réseau Linux
- Pare-feu et sécurité système
- SSH et accès distant sécurisé
- Monitoring et logs système
Compétences Professionnelles
- Compréhension de l'écosystème Linux
- Administration de serveurs en production
- Résolution de problèmes système complexes
- Collaboration avec les équipes IT/DevOps
Évaluations
Travaux Pratiques (50%)
- TP1: Configuration et administration système (15%)
- TP2: Scripting et automatisation (20%)
- TP3: Projet serveur Linux complet (15%)
Laboratoires (30%)
- Labs hebdomadaires (25%)
- Participation et engagement (5%)
Projet Final (20%)
- Serveur Linux configuré et sécurisé (15%)
- Documentation et présentation (5%)
Total: 100%
Prérequis
Connaissances Préalables
- Notions de base en informatique
- Utilisation d'un ordinateur
- Concepts de base des systèmes d'exploitation
- Aucune connaissance préalable de Linux requise
Matériel Requis
- Ordinateur avec minimum 4 GB RAM (8 GB recommandé)
- 20 GB d'espace disque libre
- Connexion Internet stable
- Processeur 64-bit
Logiciels à Installer
- Distribution Linux (Ubuntu, Debian, ou VM)
- Terminal/SSH client
- Éditeur de texte (VS Code, Vim, ou Nano)
- Accès root ou sudo
Ressources du Cours
Documentation Officielle
Livres Recommandés
- "Linux Command Line and Shell Scripting Bible" - Richard Blum
- "The Linux Command Line" - William Shotts
- "Linux Administration Handbook" - Evi Nemeth
Communauté
Progression du Cours
[🔄 EN COURS] MODULE 1 - Introduction à Linux
[📝 À VENIR] MODULE 2 - Architecture du Système
[📝 À VENIR] MODULE 3 - Système de Fichiers
[📝 À VENIR] MODULE 4 - Gestion des Processus
[📝 À VENIR] MODULE 5 - Utilisateurs et Permissions
[📝 À VENIR] MODULE 6 - Scripting Shell
[📝 À VENIR] MODULE 7 - Réseau et Configuration
[📝 À VENIR] MODULE 8 - Services et Démon
[📝 À VENIR] MODULE 9 - Sécurité Système
[📝 À VENIR] MODULE 10 - Gestion des Paquets
[📝 À VENIR] MODULE 11 - Monitoring et Logs
[📝 À VENIR] MODULE 12 - Administration Avancée
Commencez Maintenant!
Explorez les modules dans le menu latéral et commencez votre apprentissage de Linux!
Bon cours et bon apprentissage!
Dernière mise à jour: Décembre 2024