diff --git a/source/concept/system/general.md b/source/concept/system/general.md index 5929797892a94a6acff18ede36e4acba350b1a90..f96229b595e567c22666e15131e0d8103377dec0 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**.