Assiste.com
|
06.09.2023 : Pierre Pinard.
Dossier (collection) : Variables d'environnement de Microsoft Windows |
---|
Introduction Liste Malwarebytes et Kaspersky ou Emsisoft (incluant Bitdefender) |
Sommaire (montrer / masquer) |
---|
Sécurité informatique - Vie privée - Neutralité |
Une variable d'environnement est un nom conventionnel symbolique auquel on fait appel pour désigner une ressource dont la valeur est susceptible de varier.
Une variable d'environnement permet de travailler sur/avec une donnée/ressource indépendamment de la réalité et de la localisation de cette ressource (par exemple, indépendamment du chemin d'accès à un fichier, qui n'est désigné que symboliquement, peu importe où il se trouve réellement).
Annonce |
Une variable d'environnement est un nom conventionnel symbolique auquel on fait appel pour désigner une ressource, indépendamment de la réalité et de la localisation de cette ressource (par exemple, indépendamment du chemin d'accès à un fichier, qui n'est désigné que symboliquement, peu importe où il se trouvera réellement au moment de l'exécution d'une application sur un appareil donné par un utilisateur donné).
Si on vous dit, dans une procédure d'assistance (forum d'entraide) à la décontamination de votre appareil, de détruire un fichier dans le répertoire racine de l'installation du Système d'Exploitation Windows, sans savoir où est, réellement ce répertoire racine, on vous dira :
« Détruire le fichier %systemroot%\fichier machin.exe »
Vous n'avez pas à chercher où se trouve ce répertoire dans votre hiérarchie de répertoires, qui peut être totalement différente d'un utilisateur à un autre pour le même système d'exploitation (installations personnalisées). Il vous suffit de saisir %systemroot% dans la barre d'adresse de votre « Explorateur de Windows » pour atteindre votre répertoire symboliquement nommé %systemroot%. Ce sera, probablement, C:\windows, mais cela peut être n'importe où ailleurs si l'installation de votre système d'exploitation n'est pas standard, mais personnalisée. Exemple dans une installation de Windows par défaut :
« Détruire le fichier %systemroot%\fichier machin.exe »
sera compris et conduira automatiquement à :
« Détruire le fichier C:\windows\fichier machin.exe »
Mais si le système d'exploitation a été installé, par vous ou votre administrateur, dans un tout autre répertoire (d:\mon petit win perso), la même requête sera malgré tout aussi bien correctement interprétée et exécutée:
« Détruire le fichier %systemroot%\fichier machin.exe »
sera compris et conduira automatiquement à :
« Détruire le fichier d:\mon petit win perso\fichier machin.exe »
Avec l'usage d'une variable d'environnement, si le répertoire habituellement appelé C:\windows porte un tout autre nom et se trouve complètement ailleurs (par exemple H:\Sys\Mon petit système à moi ou C:\Winnt), vous n'avez pas à vous creuser la tête et à chercher (et l'assistant qui vous guide, depuis un forum d'entraide, non plus).
Vous comprenez donc qu'en termes de développement, un développeur (un programmeur) ne manipule que des noms symboliques afin d'être totalement indépendant de la réalité physique. Le travail se fait sur des « abstractions invariables » et non pas sur des « réalités incertaines ».
Les variables d'environnement permettent d’identifier les dossiers fréquemment utilisés par les applications, mais qui n’ont pas nécessairement le même nom ou le même emplacement sur des ordinateurs différents.
Sous le Système d'Exploitation Microsoft Windows, la liste de la plupart des variables d'environnement peut être obtenue de trois manières. Voir le § 8 ci-après.
Annonce |
En informatique, les « Variables d'environnement » sont des noms conventionnels symboliques auxquels on fait appel pour utiliser une ressource, indépendamment de la valeur qu'elle prend. Par exemple, une « Variable d'environnement » peut avoir, comme valeur, le chemin d'accès complet à une ressource physique (un fichier...). La fonction (le programme...) faisant appel à cette valeur fonctionnera toujours, même si le fichier en question change d'emplacement. Cela permet une portabilité des applications et une adaptation automatique d'une application à une modification de certaines valeurs. Les fonctions utilisant ces valeurs deviennent totalement indépendantes des valeurs elles-mêmes qui sont désormais des variables stockées à l'extérieur de la fonction et modifiables sans avoir à réécrire la fonction.
Les « variables d'environnement » existent depuis la nuit des temps (de l'informatique). Elles existent, par exemple, sous les systèmes d'exploitation :
Unix (créé en 1969).
CP/M (créé en 1974).
MS-DOS (basé sur le système d'exploitation de la société SCP (Seattle Computer Products), développé en 4 mois à partir d'avril 1980 sous le nom de QDOS durant la phase de développement et renommé 86-DOS en phase de commercialisation pour les ordinateurs à base de processeurs Intel 8086. Microsoft achète une licence 86-Dos à SCP pour 25.000 $, en décembre 1980, tout en cachant à SCP le contrat entre Microsoft et IBM où il s'agit de le fournir sous le nom de MS-DOS. SCP portera plainte, obtiendra un peu moins de 1 million de dollars et disparaîtra tandis que Microsoft surfera sur des milliards).
Les « variables d'environnement » se reconnaissent à leur convention d'écriture : un nom précédé et suivi du caractère "%".
Par exemple, il est souvent fait référence aux valeurs contenues dans les « variables d'environnement » suivantes pour localiser les emplacements d'une installation de Windows, car rien ne vous oblige à utiliser les emplacements par défaut pour installer Windows :
%systemroot%
%programfiles%
%Windir%
Etc.
Il n'est pas possible de faire un inventaire complet des « Variables d'environnement », chaque éditeur de logiciel pouvant en créer plusieurs pour chacun de ses logiciels.
Les « Variables d'environnement » indiquées dans le tableau ci-dessous sont présentes sur tous les ordinateurs fonctionnant sous Windows.
Vous pouvez également avoir des « Variables d'environnement » spécifiques à l'ordinateur et/ou spécifiques à des utilisateurs supplémentaires de l’ordinateur. Pour en avoir la liste, tapez SET dans une « invite de commande ».
Nom de la variable d'environnement | Variable | Variable | Variable | Variable Processus |
---|---|---|---|---|
NUMBER_OF_PROCESSORS | ||||
PROCESSOR_ARCHITECTURE | ||||
PROCESSOR_IDENTIFIER | ||||
PROCESSOR_LEVEL | ||||
PROCESSOR_REVISION | ||||
OS | ||||
COMSPEC | ||||
HOMEDRIVE | ||||
HOMEPATH | ||||
PATH | ||||
PATHEXT | ||||
PROMPT | ||||
SYSTEMDRIVE | ||||
SYSTEMROOT | ||||
WINDIR | ||||
TEMP | ||||
TMP |
Annonce |
Pourquoi mes chemins d'accès ne sont-ils pas désignés directement ?
Parce que, depuis le début de l'informatique diffusée à grande échelle, il est apparu nécessaire, lors de l'écriture d'un programme par exemple, de désigner les objets manipulés (les répertoires, les fichiers...) indépendamment de l'emplacement physique de ceux-ci sur les supports (les disques durs...). Ceci est nécessaire à la portabilité des applications. Les chemins d'accès à ces objets sont donc désignés « symboliquement », la symbolique désignant la réalité physique au dernier moment, lors de l'installation puis de l'exécution d'une application ou d'un processus. L'exécution d'une même application par Pierre, Paul ou Jacques peut donc être totalement différente, l'application s'exécutant correctement malgré tout.
Par exemple, les « variables d'environnement » TMP et TEMP fournissent à Windows l'emplacement des répertoires temporaires dont Windows a besoin. Une astuce d'installation de Windows consiste, par exemple, à créer une partition dans laquelle sont installés tous les répertoires temporaires, le fichier de mémoire virtuelle de Windows (le swap-file), etc. Le « nettoyage » par l'utilisateur est grandement facilité.
Et puis, ces mêmes « variables d'environnement » TMP et TEMP permettent aux mêmes processus de travailler sans se soucier de savoir quel est le compte utilisateur (la session) ouvert.
Les « variables d'environnement » sont des clés dans le Registre Windows et continuent d'exister et d'être utilisées. Elles se trouvent dans les hiérarchies suivantes :
Variables d’environnement utilisateur :
HKEY_CURRENT_USER\Environment
Variables d’environnement système :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
Vous pouvez, à partir de ces emplacements, consulter, ajouter, modifier et supprimer des variables d’environnement.
Pensez à sauvegarder votre Registre Windows avant toute modification.
Le déplacement d'un objet, un fichier par exemple, ne nécessite que la modification d'une unique « Variable d'environnement ». Toutes les applications et tous les processus utilisant cet objet sont à jour immédiatement, en même temps, et savent le trouver. Il en va de même lors de la création (enregistrement) d'un nouvel utilisateur de la même application pour ses fichiers et ressources privés ou pour les données et ressources partagées.
Annonce |
Les noms des « Variables d'environnement » sont insensibles à la case (majuscules / minuscules sont indifférentes). La casse (majuscule ou minuscule) n'a aucune importance dans l'écriture des noms de ces variables. Nous les écrirons en minuscules pour de simples raisons « esthétiques ».
Annonce |
Ceci peut être modifié volontairement, entre autres pour des questions de sécurisation d'un système, au moment de l'installation de celui-ci. La personne qui installe le système peut demander à ce que les emplacements de divers répertoires de base soient différents de leurs emplacements standard (par défaut). Cette précaution vise à aveugler certains parasites « primaires » qui s'attaquent directement aux emplacements par défaut.
Par exemple, le dossier système peut être C:\Windows sur un ordinateur et C:\Winnt sur un autre.
Annonce |
Vous pouvez utiliser l’astérisque (*) comme caractère générique dans les fichiers MigUser.xml, MigApp.xml et MigDoc.xml. Cependant, le caractère astérisque (*) n’est pas autorisé dans le fichier Config.xml.
Le point d’interrogation (?) n’est pas autorisé comme caractère générique.
Annonce |
Sous le système d'exploitation Microsoft Windows, la plupart des variables d'environnement peuvent être vues et listées avec une commande simple parmi les 3 suivantes :
Obtension de la liste des variables d'environnement avec la commande « set » sans aucun paramètre.
Obtension de la liste des variables d'environnement (et pouvoir les modifier) :
Obtension de la liste des variables d'environnement directement :
Il est dit parfois que l'appui simultané sur les touches Windows + R affiche immédiatement la liste des variables d'environnement actuellement utilisées. Cela a peut-être existé dans un passé fort fort lointain, mais l'appui simultané sur ces deux touches, depuis fort fort longtemps, permet de lancer l'exécution d'une application. La touche R est utilisée pour « RUN » (exécuter).
Voici un exemple obtenu de variables d'environnement :
Annonce |
Si l'on vous dit, dans une procédure d'assistance à la décontamination de votre appareil, sur un forum d'entraide et de décontamination de confiance :
« Détruire le fichier %systemroot%\fichier machin.exe »
Vous devez comprendre, lorsque la valeur de votre %systemroot% est c:\windows :
« Détruire le fichier c:\windows\fichier machin.exe »
Annonce |
Annonce |
Annonce |
Annonce |