MODULE 1 - Introduction à Linux
Vue d'Ensemble
Ce premier module vous introduit à Linux, le système d'exploitation open-source le plus utilisé au monde. Vous découvrirez pourquoi Linux existe, comment il fonctionne, et quels sont les concepts fondamentaux que vous utiliserez tout au long de ce cours.
Objectifs d'Apprentissage
À la fin de ce module, vous serez capable de:
- Expliquer ce qu'est Linux et pourquoi il est essentiel
- Comprendre l'évolution d'Unix vers Linux
- Identifier les composants principaux d'un système Linux
- Distinguer les différentes distributions Linux
- Utiliser le terminal pour interagir avec le système
- Installer et configurer un environnement Linux
Durée Estimée
Théorie: 3-4 heures
Pratique: 2-3 heures
Total: 5-7 heures
Table des Matières
Partie 1: Introduction et Concepts
- Chapitre 1.1 - Qu'est-ce que Linux?
- Chapitre 1.2 - Pourquoi Linux?
- Chapitre 1.3 - Histoire et Évolution
- Chapitre 1.4 - Architecture de Haut Niveau
- Chapitre 1.5 - Concepts Fondamentaux
Partie 2: Installation et Pratique
Labs Pratiques
- Lab 1.1 - Installation et Première Utilisation de Linux
- Lab 1.2 - Installation VM Ubuntu 24.04 avec VirtualBox
Validation
Qu'est-ce que Linux?
Linux est un système d'exploitation open-source de type Unix qui gère les ressources matérielles et logicielles d'un ordinateur. Il est utilisé partout: des serveurs aux smartphones, en passant par les supercalculateurs et les appareils embarqués.
Définition Simple
Linux est le système d'exploitation qui:
- Gère les ressources de votre ordinateur (CPU, mémoire, disque)
- Permet d'exécuter des applications et programmes
- Fournit une interface entre le matériel et les logiciels
- Offre un environnement stable et sécurisé pour le travail
Linux est partout autour de vous, souvent sans que vous le sachiez!
Analogie: Le Fondation d'une Maison
Comme les fondations d'une maison supportent toute la structure, Linux supporte et gère toutes les applications et ressources de votre système informatique.
Caractéristiques Principales
Linux offre:
-
Open Source et Libre
- Code source accessible et modifiable
- Gratuit d'utilisation
- Communauté active et support
-
Stabilité et Fiabilité
- Système robuste et stable
- Peut fonctionner des années sans redémarrage
- Idéal pour les serveurs critiques
-
Sécurité
- Architecture sécurisée par défaut
- Mises à jour de sécurité régulières
- Contrôle d'accès granulaire
-
Flexibilité et Personnalisation
- Nombreuses distributions (Ubuntu, Debian, Red Hat, etc.)
- Personnalisable selon les besoins
- Interface graphique ou ligne de commande
-
Performance
- Utilisation efficace des ressources
- Fonctionne sur du matériel ancien ou moderne
- Optimisé pour les serveurs et le cloud
Pourquoi Linux?
Les Défis Sans Linux (Systèmes Propriétaires)
Avec les systèmes d'exploitation propriétaires, vous êtes limité:
Problèmes:
- Coûts de licences élevés
- Peu de contrôle sur le système
- Dépendance vis-à-vis d'un fournisseur
- Personnalisation limitée
- Support payant ou restreint
- Moins de flexibilité
Les Avantages Avec Linux
Avantages:
- Gratuit et open source
- Contrôle total sur le système
- Personnalisable à l'infini
- Communauté active et support
- Sécurité renforcée
- Performance optimale
Cas d'Usage Typiques
Linux est utilisé partout:
-
Serveurs Web et Cloud
- La majorité des serveurs web utilisent Linux
- Infrastructure cloud (AWS, Azure, GCP)
- Hébergement de sites web
-
Supercalculateurs et HPC
- 100% des 500 supercalculateurs les plus puissants
- Calcul haute performance
- Recherche scientifique
-
Appareils Embarqués et IoT
- Smartphones Android (basé sur Linux)
- Routeurs et équipements réseau
- Appareils IoT et domotique
-
Développement et DevOps
- Environnement de développement
- Outils DevOps et CI/CD
- Conteneurs Docker
Histoire et Évolution
L'Évolution d'Unix vers Linux
Linus Torvalds et la Création de Linux
Linux a été créé par Linus Torvalds, un étudiant finlandais, en 1991.
Contexte (1991):
- Unix était cher et propriétaire
- Minix (Unix-like éducatif) était limité
- Linus voulait un système libre et complet
Linux (1991):
- Kernel open-source
- Nommé d'après Linus + Unix
- Licence GPL (GNU General Public License)
- Développement collaboratif via Internet
Adoption et Croissance
Chiffres clés:
- Utilisé sur 100% des 500 supercalculateurs
- 96% des 1 million de serveurs web les plus importants
- Android (basé sur Linux) : 70%+ du marché mobile
- Des millions de contributeurs et développeurs
- Écosystème open-source le plus vaste
Architecture de Haut Niveau
Vue d'Ensemble d'un Système Linux
Un système Linux est composé de plusieurs couches qui travaillent ensemble:
Le Kernel Linux
Le Kernel est le "cœur" du système. Il gère toutes les interactions entre le matériel et les logiciels.
Fonctions du Kernel:
-
Gestion des Processus
- Création, planification et terminaison des processus
- Multitâche et multiprocessing
- Communication inter-processus
-
Gestion de la Mémoire
- Allocation et libération de la mémoire
- Mémoire virtuelle et swap
- Protection mémoire
-
Système de Fichiers
- Gestion des fichiers et répertoires
- Support de multiples systèmes de fichiers
- Permissions et sécurité
-
Gestion du Réseau
- Protocoles réseau (TCP/IP, UDP, etc.)
- Gestion des interfaces réseau
- Pare-feu et sécurité réseau
-
Gestion des Périphériques
- Pilotes de périphériques (drivers)
- Interface avec le matériel
- Plug and play
Espace Utilisateur vs Espace Kernel
Linux sépare l'espace utilisateur (user space) de l'espace kernel (kernel space):
Séparation importante:
- User Space: Applications et programmes utilisateur
- Kernel Space: Fonctions système critiques
- Sécurité: Les applications ne peuvent pas accéder directement au matériel
Concepts Fondamentaux
Processus
Un processus est une instance d'un programme en cours d'exécution. Chaque processus a un identifiant unique (PID).
Caractéristiques:
- Chaque processus a un PID unique
- Processus parent et enfants (hiérarchie)
- États: running, sleeping, stopped, zombie
- Ressources: CPU, mémoire, fichiers ouverts
Système de Fichiers
Le système de fichiers organise les données sur le disque en fichiers et répertoires.
Structure importante:
- / : Racine du système
- /bin, /usr/bin : Exécutables système
- /etc : Fichiers de configuration
- /home : Répertoires utilisateurs
- /var : Données variables (logs, cache)
- /tmp : Fichiers temporaires
Utilisateurs et Permissions
Linux est un système multi-utilisateurs avec un système de permissions granulaire.
Types d'utilisateurs:
- Root (superutilisateur): Accès complet au système
- Utilisateurs normaux: Accès limité à leurs fichiers
- Groupes: Permissions partagées entre utilisateurs
Permissions fichiers:
- Lecture (r): Lire le fichier
- Écriture (w): Modifier le fichier
- Exécution (x): Exécuter le fichier
- Appliquées à: Propriétaire, Groupe, Autres
Shell et Ligne de Commande
Le shell est l'interface entre l'utilisateur et le système. Il interprète les commandes.
Fonctionnalités du shell:
- Exécution de commandes
- Scripting et automatisation
- Redirection et pipelines
- Variables d'environnement
- Historique des commandes
Écosystème Linux
Linux n'est pas seul. Il fait partie d'un écosystème riche d'outils et de projets open-source.
Distributions Majeures
Les distributions Linux sont des variantes de Linux avec des outils et configurations différentes:
- Debian/Ubuntu: Populaires, faciles à utiliser, basées sur Debian
- Red Hat/CentOS/Fedora: Entreprise, stables, basées sur Red Hat
- Arch Linux: Avancée, rolling release, personnalisable
- SUSE/openSUSE: Entreprise, stables, populaires en Europe
- Et des centaines d'autres...
Résumé du Module
Dans ce module, vous avez appris:
Linux est un système d'exploitation open-source de type Unix
Il gère les ressources matérielles et logicielles d'un ordinateur
Un système Linux est composé du Kernel et de l'Espace Utilisateur
Les processus sont des instances de programmes en cours d'exécution
Le système de fichiers organise les données en fichiers et répertoires
Les utilisateurs et permissions contrôlent l'accès aux ressources
Le shell est l'interface entre l'utilisateur et le système
Prochaines Étapes
Maintenant que vous comprenez les concepts de base, vous êtes prêt pour:
Module 2: Architecture détaillée du système Linux
Module 3: Système de fichiers et navigation
Ressources Complémentaires
- Linux Documentation Project
- GNU/Linux Command-Line Tools Summary
- Bash Reference Manual
- Linux Foundation Training
Module créé le: Décembre 2024