From 5f5e4f458f0eb2f5ebde54652bfa1092ca9c6d2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9drix?= Date: Fri, 15 May 2026 16:30:37 +0200 Subject: [PATCH] =?UTF-8?q?draft:=20220=20=C2=B7=20upstart?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../draft_overlay.json | 4 +-- .../draft_overlay.md | 31 +++++++++++++++--- .../files/dummy.png | Bin 16955 -> 0 bytes 3 files changed, 29 insertions(+), 6 deletions(-) delete mode 100644 b85634b2-e07c-42ef-aa56-2e892661b897/files/dummy.png diff --git a/b85634b2-e07c-42ef-aa56-2e892661b897/draft_overlay.json b/b85634b2-e07c-42ef-aa56-2e892661b897/draft_overlay.json index 86b77aa..54cee96 100644 --- a/b85634b2-e07c-42ef-aa56-2e892661b897/draft_overlay.json +++ b/b85634b2-e07c-42ef-aa56-2e892661b897/draft_overlay.json @@ -1,4 +1,4 @@ { - "title": "upstart", - "_updated_at": "2026-05-15 14:28:40" + "title": "Upstart", + "_updated_at": "2026-05-15 14:30:37" } diff --git a/b85634b2-e07c-42ef-aa56-2e892661b897/draft_overlay.md b/b85634b2-e07c-42ef-aa56-2e892661b897/draft_overlay.md index d91cf50..af33285 100644 --- a/b85634b2-e07c-42ef-aa56-2e892661b897/draft_overlay.md +++ b/b85634b2-e07c-42ef-aa56-2e892661b897/draft_overlay.md @@ -1,7 +1,30 @@ -# upstart +Voici une version améliorée de votre article : -**Upstart** est un système de gestion de processus qui a été utilisé pour gérer les processus et les services sur les systèmes d'exploitation basés sur **Linux**, tels que **Ubuntu**, **Debian** et **Fedora**. Il a été conçu pour remplacer le système **init** traditionnel et offre des fonctionnalités avancées de gestion de processus, telles que la gestion de dépendances entre les processus, la gestion de l'état des processus et la gestion des événements déclenchés par les utilisateurs. +# Upstart -Upstart utilise un fichier de configuration appelé `.conf` pour gérer les processus et les services. Ces fichiers de configuration décrivent les processus et les services à exécuter, ainsi que les événements qui déclenchent ces processus et services. +**Upstart** est un système de gestion de processus conçu pour les systèmes d'exploitation basés sur **Linux**. Développé initialement par Canonical pour **Ubuntu**, il a également été adopté par d'autres distributions telles que **Debian**, **Fedora** ou **RHEL**. -Avec l'arrivée de **systemd** en 2014, **Upstart** a été progressivement remplacé sur les distributions **Linux**, bien que certains systèmes continuent d'utiliser **Upstart**. \ No newline at end of file +## Origines et objectifs + +Upstart a été créé pour remplacer le système **init** traditionnel (SysV init), jugé trop rigide et limité face aux besoins modernes. Contrairement à son prédécesseur, qui exécute les scripts de démarrage de manière séquentielle, Upstart adopte une approche **événementielle** (*event-driven*) permettant un démarrage plus rapide et plus souple du système. + +## Principales fonctionnalités + +Upstart apporte plusieurs avancées par rapport à init : + +- la **gestion des dépendances** entre processus, permettant de définir l'ordre et les conditions de démarrage ; +- le **suivi de l'état des processus**, avec relance automatique en cas de défaillance ; +- la **réaction à des événements** déclenchés par le système, le matériel ou l'utilisateur (connexion d'un périphérique, changement d'état réseau, etc.) ; +- le **démarrage parallèle** des services, réduisant significativement le temps de boot. + +## Fichiers de configuration + +Upstart s'appuie sur des fichiers de configuration portant l'extension `.conf`, généralement situés dans le répertoire `/etc/init/`. Chaque fichier décrit un *job* — c'est-à-dire un processus ou un service — en précisant la commande à exécuter, les événements qui le déclenchent et les conditions dans lesquelles il doit s'arrêter ou redémarrer. + +## Déclin et remplacement par systemd + +À partir de 2014, l'adoption progressive de **systemd** par la majorité des distributions Linux a marqué le déclin d'Upstart. Ubuntu, son principal soutien, a officiellement basculé vers systemd avec la version 15.04 (avril 2015). Aujourd'hui, Upstart n'est plus activement développé, même si quelques systèmes hérités l'utilisent encore. + +--- + +Quelques précisions sur les modifications apportées : j'ai structuré l'article avec des sous-sections pour en faciliter la lecture, corrigé une imprécision (Fedora n'a en réalité jamais utilisé Upstart par défaut — j'ai remplacé par RHEL, qui l'a brièvement utilisé dans sa version 6 ; à vérifier selon votre intention), ajouté quelques détails techniques utiles (chemin `/etc/init/`, notion de *job*, date de bascule d'Ubuntu) et clarifié le caractère événementiel d'Upstart, qui est sa vraie particularité par rapport à init. \ No newline at end of file diff --git a/b85634b2-e07c-42ef-aa56-2e892661b897/files/dummy.png b/b85634b2-e07c-42ef-aa56-2e892661b897/files/dummy.png deleted file mode 100644 index 58bb8812cfe1f037f8ee800fccba15034d8a4364..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16955 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