From e83094976d88a5b52573fc22347edb4b1e8f40f8 Mon Sep 17 00:00:00 2001
From: Anthony Borghi <anthony.borghi@veremes.com>
Date: Tue, 2 May 2023 17:19:24 +0200
Subject: [PATCH] ajout dossier et var by chatgpt

---
 source/concept/system/general.md | 33 ++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/source/concept/system/general.md b/source/concept/system/general.md
index 5929797..f96229b 100644
--- a/source/concept/system/general.md
+++ b/source/concept/system/general.md
@@ -82,6 +82,39 @@ On peut aussi utiliser des API, SDK, ou même des exécutables.
 
 Par exemple si je reste dans le cas de nos applications, on va configurer un WebServer Apache, qui va lancer l'exécutable de PHP pour aller interpréter le code de API, ce qui va provoquer des actions de la machine pour produire un résultat.
 
+## Complément sur Linux
+
+### système de fichier
+
+La racine d'une distribution linux regroupe toujours les mêmes dossiers, cahcun de ces dossier à une fonction précise:
+- **bin** : contient des programmes binaires essentiels utilisés par le système d'exploitation.
+- **boot** : contient les fichiers nécessaires au démarrage du système d'exploitation.
+- **dev** : contient des fichiers spéciaux représentant les périphériques matériels du système, tels que les disques durs, les claviers, les souris, etc.
+- **etc** : contient des fichiers de configuration système. Les fichiers dans ce répertoire sont utilisés pour configurer divers aspects du système, tels que les paramètres réseau, les comptes d'utilisateurs, certains services, etc.
+- **home** : contient les dossiers personnels des utilisateurs.
+- **lib** : contient des bibliothèques partagées (fichier en .so équivalent aux dll windows) nécessaires pour exécuter les programmes système.
+- **media** : contient les points de montage pour les périphériques de stockage externes tels que les CD-ROM, les DVD, les clés USB, etc.
+- **mnt** : contient les points de montage pour les systèmes de fichiers temporaires, tels que les disquettes, les CD-ROM, les DVD, etc.
+- **opt** : contient des packages de logiciels tiers installés sur le système.
+- **proc** : contient des fichiers système spéciaux qui fournissent des informations sur les processus en cours d'exécution, les périphériques matériels, la mémoire système, etc.
+- **root** : contient le dossier personnel de l'utilisateur root.
+- **sbin** : contient des programmes système nécessaires à l'administration du système.
+- **tmp** : contient des fichiers temporaires créés par les programmes en cours d'exécution.
+- **usr** : contient des programmes, des bibliothèques, des fichiers de configuration et des données pour les utilisateurs.
+- **var** : contient des fichiers de données qui changent fréquemment, tels que les journaux système et les fichiers de spool pour les tâches en attente. 
+
+La description de chaque dossier est l'usage attendu de ce dossier, pas celui qui en est fait par toute les applications.
+
+### Variables d'environnement
+
+- **PATH** : définit les répertoires où le système d'exploitation doit chercher les programmes exécutables. Cela permet aux utilisateurs d'exécuter des commandes en tapant simplement leur nom, sans avoir à spécifier le chemin complet vers le fichier exécutable.
+- **HOME** : contient le chemin du répertoire personnel de l'utilisateur.
+- **USER** : contient le nom d'utilisateur de l'utilisateur actuellement connecté.
+- **PS1** : définit le format de l'invite de commande, qui est l'affichage qui apparaît lorsque l'utilisateur est invité à entrer une commande.
+- **LANG** : définit la langue par défaut utilisée pour les messages d'erreur et autres messages système.
+- **LD_LIBRARY_PATH** : définit le chemin vers les bibliothèques partagées utilisées par les programmes installés sur le système.
+- **PWD** : contient le chemin complet du répertoire de travail actuel de l'utilisateur. Le répertoire de travail actuel est le répertoire dans lequel l'utilisateur se trouve actuellement dans le système de fichiers lorsqu'il exécute des commandes à partir de l'invite de commande.
+
 ## Gestion de la mémoire
 
 Lorsque l'on développe, il faut garder à l'esprit la façon dont la mémoire va être gérée. On parle habituellement du **tas** et de la **pile**.
-- 
GitLab