Aller au contenu

Introduction aux systèmes d'exploitation

Chaque fois que vous visitez un site web, une chaîne invisible se met en marche : votre navigateur envoie une requête à un serveur, ce serveur exécute du code, interroge une base de données et renvoie une page. Au cœur de cette mécanique se trouve un système d’exploitation — le logiciel qui orchestre tout le matériel et permet aux applications de fonctionner.

Ce premier bloc pose les bases : qu’est-ce qu’un système d’exploitation, comment un ordinateur est organisé, et pourquoi Linux est l’environnement de référence pour le développement web.


Avant de parler de système d’exploitation, clarifions la notion de système. Un système est un ensemble de composants qui interagissent pour accomplir un objectif commun.

Système de transport

Routes, véhicules, feux de circulation et conducteurs collaborent pour déplacer des personnes d’un point à un autre.

Système informatique

Matériel, logiciels et utilisateurs collaborent pour traiter, stocker et communiquer de l’information.

Un système informatique peut être décomposé en trois couches qui communiquent les unes avec les autres :

CoucheRôleExemples
Matériel (hardware)Exécuter physiquement les opérationsProcesseur, mémoire, disque, carte réseau
Système d’exploitationGérer le matériel et offrir des services aux applicationsLinux, Windows, macOS, Android
ApplicationsRépondre aux besoins de l’utilisateurNavigateur, éditeur de code, serveur web

Le système d’exploitation (SE) est le logiciel fondamental qui démarre avec l’ordinateur et reste actif en permanence. Il joue deux rôles principaux.

Le SE répartit les ressources matérielles entre les programmes qui en ont besoin :

RessourceCe que le SE gèreExemple concret
Processeur (CPU)Quel programme s’exécute, et pendant combien de tempsVotre navigateur et votre éditeur de code partagent le même processeur
Mémoire vive (RAM)Quel espace mémoire est attribué à chaque programmeNode.js reçoit 512 Mo, le navigateur reçoit 1 Go
Stockage (disque)Comment les fichiers sont organisés et accessiblesVos fichiers HTML sont rangés dans /home/etudiant/projet/
PériphériquesComment communiquer avec le clavier, l’écran, le réseauLes données reçues par la carte réseau sont transmises au serveur web

Sans système d’exploitation, il faudrait programmer directement le matériel pour chaque tâche. Le SE offre une couche d’abstraction : vous tapez une commande ou cliquez sur un bouton, et le SE traduit cette action en instructions que le matériel comprend.


Architecture générale d’un système informatique

Section intitulée « Architecture générale d’un système informatique »

Le processeur (CPU — Central Processing Unit) est le cerveau de l’ordinateur. Il exécute les instructions des programmes, une à une, à très grande vitesse.

Caractéristiques clés :

  • Fréquence (ex. : 3,5 GHz) — vitesse d’exécution des instructions
  • Cœurs (ex. : 8 cœurs) — capacité à exécuter plusieurs tâches en parallèle

En développement web : Quand un serveur reçoit 100 requêtes simultanées, le processeur (avec l’aide du SE) alterne rapidement entre elles pour donner l’impression qu’elles sont traitées en même temps.


Il existe plusieurs familles de systèmes d’exploitation, chacune avec ses usages principaux :

SystèmeFamilleUsage principal
Windows 10/11NTPostes de travail, bureautique, jeux
macOSUnix (BSD)Postes de travail créatifs et développement
Linux (Ubuntu, Debian, Fedora…)UnixServeurs web, cloud, développement
AndroidLinuxTéléphones et tablettes
iOSUnix (BSD)Téléphones et tablettes Apple

Ce n’est pas un hasard si ce cours utilise Linux. Dans le monde professionnel du développement web, Linux est omniprésent.

Serveurs web

La très grande majorité des serveurs web dans le monde tournent sous Linux. Quand vous visitez un site, il y a de fortes chances qu’il soit hébergé sur un serveur Linux.

Outils de développement

Git, Node.js, npm, Docker, les bases de données — la plupart des outils du développeur web sont conçus d’abord pour Linux.

Cloud et déploiement

AWS, Google Cloud, Azure, Heroku — les plateformes d’hébergement utilisent massivement Linux. Déployer une application web, c’est souvent configurer un serveur Linux.

Gratuit et ouvert

Linux est un logiciel libre : gratuit, modifiable et transparent. On peut inspecter exactement comment il fonctionne — un avantage pédagogique majeur.

Pour comprendre où Linux se situe dans l’écosystème web, voici une pile (stack) serveur typique :

CoucheComposantRôle
Système d’exploitationLinux (ex: Ubuntu)Gère le matériel et les processus
Serveur webNginx ou ApacheReçoit les requêtes HTTP et les distribue
Environnement d’exécutionNode.js, Python, PHPExécute le code de l’application
Base de donnéesPostgreSQL, MongoDBStocke les données de l’application

Pour les premières semaines du cours, vous travaillerez dans LabEx, un environnement Linux accessible directement depuis votre navigateur. Aucune installation n’est nécessaire.

  1. Accéder à LabEx via le lien fourni sur le site du cours
  2. Ouvrir un terminal — c’est la fenêtre noire avec une invite de commande
  3. Taper votre première commande et observer le résultat

Ouvrez le terminal LabEx et essayez ces commandes une par une :

Fenêtre de terminal
# Afficher un message
echo "Bonjour, monde !"
# Qui suis-je ? (nom d'utilisateur)
whoami
# Où suis-je ? (répertoire courant)
pwd
# Quelle date sommes-nous ?
date
# Quel système d'exploitation tourne ici ?
uname -a
# Depuis combien de temps le système est-il allumé ?
uptime

🎯Quiz — Bloc 1

1

Quel est le rôle principal d'un système d'exploitation ?

2

Quelle est la différence fondamentale entre la mémoire vive (RAM) et le stockage (disque) ?

3

Pourquoi Linux est-il l'environnement de référence pour le développement web ?

4

Dans la pile serveur web typique, quelle couche se trouve à la base ?


Système d'exploitation

Logiciel fondamental qui gère les ressources matérielles (CPU, RAM, disque, périphériques) et offre une interface aux applications.

Trois couches

Un système informatique s’organise en matériel → système d’exploitation → applications. Chaque couche dépend de celle du dessous.

Linux et le web

Linux domine les serveurs web. L’apprendre, c’est maîtriser l’environnement où vos applications seront déployées.

LabEx

Environnement Linux en ligne pour pratiquer sans installation.