Aller au contenu principal

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​

  1. Chapitre 1.1 - Qu'est-ce que Linux?
  2. Chapitre 1.2 - Pourquoi Linux?
  3. Chapitre 1.3 - Histoire et Évolution
  4. Chapitre 1.4 - Architecture de Haut Niveau
  5. Chapitre 1.5 - Concepts Fondamentaux

Partie 2: Installation et Pratique​

  1. Chapitre 1.6 - Installation et Première Utilisation

Labs Pratiques​

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:

  1. Open Source et Libre

    • Code source accessible et modifiable
    • Gratuit d'utilisation
    • Communauté active et support
  2. Stabilité et Fiabilité

    • Système robuste et stable
    • Peut fonctionner des années sans redémarrage
    • Idéal pour les serveurs critiques
  3. Sécurité

    • Architecture sécurisée par défaut
    • Mises à jour de sécurité régulières
    • Contrôle d'accès granulaire
  4. Flexibilité et Personnalisation

    • Nombreuses distributions (Ubuntu, Debian, Red Hat, etc.)
    • Personnalisable selon les besoins
    • Interface graphique ou ligne de commande
  5. 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:

  1. Serveurs Web et Cloud

    • La majorité des serveurs web utilisent Linux
    • Infrastructure cloud (AWS, Azure, GCP)
    • Hébergement de sites web
  2. Supercalculateurs et HPC

    • 100% des 500 supercalculateurs les plus puissants
    • Calcul haute performance
    • Recherche scientifique
  3. Appareils Embarqués et IoT

    • Smartphones Android (basé sur Linux)
    • Routeurs et équipements réseau
    • Appareils IoT et domotique
  4. 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:

  1. Gestion des Processus

    • Création, planification et terminaison des processus
    • Multitâche et multiprocessing
    • Communication inter-processus
  2. Gestion de la Mémoire

    • Allocation et libération de la mémoire
    • Mémoire virtuelle et swap
    • Protection mémoire
  3. Système de Fichiers

    • Gestion des fichiers et répertoires
    • Support de multiples systèmes de fichiers
    • Permissions et sécurité
  4. Gestion du Réseau

    • Protocoles réseau (TCP/IP, UDP, etc.)
    • Gestion des interfaces réseau
    • Pare-feu et sécurité réseau
  5. 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​


Module créé le: Décembre 2024