{"id":4005,"date":"2020-01-13T15:50:59","date_gmt":"2020-01-13T14:50:59","guid":{"rendered":"https:\/\/www.unicoda.com\/?p=4005"},"modified":"2021-07-07T11:43:05","modified_gmt":"2021-07-07T09:43:05","slug":"recuperation-de-variables-systeme-sur-windows","status":"publish","type":"post","link":"https:\/\/www.unicoda.com\/?p=4005","title":{"rendered":"R\u00e9cup\u00e9ration de variables syst\u00e8me sur Windows"},"content":{"rendered":"\n<p>Aujourd&rsquo;hui j&rsquo;ai install\u00e9 Python et Django sur mon syst\u00e8me Windows pour essayer de faire un petit site web rapidement, disons avant la fin de la journ\u00e9e.<\/p>\n\n\n\n<p>Je commence donc ma configuration sur mon syst\u00e8me Windows et en parall\u00e8le je fais la m\u00eame chose en SSH sur une console MSYS2,une VM en mode console d&rsquo;un syst\u00e8me linux pour faire simple.<\/p>\n\n\n\n<p>Sur windows je teste alors que sur la console MYSYS je suis connect\u00e9 \u00e0 mon serveur d\u00e9di\u00e9 de l&rsquo;autre c\u00f4t\u00e9 de la France mon serveur de production en quelque sorte.<\/p>\n\n\n\n<p>Arriv\u00e9 \u00e0 l&rsquo;\u00e9tape d&rsquo;installation de Django sur mon Windows, j&rsquo;ai un message qui attire mon attention. Il semblerait qu&rsquo;il manque un chemin dans PATH.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"979\" height=\"150\" src=\"https:\/\/www.unicoda.com\/wp-content\/uploads\/2020\/01\/Snag_a8d4d246.png\" alt=\"\" class=\"wp-image-4006\" srcset=\"https:\/\/www.unicoda.com\/wp-content\/uploads\/2020\/01\/Snag_a8d4d246.png 979w, https:\/\/www.unicoda.com\/wp-content\/uploads\/2020\/01\/Snag_a8d4d246-300x46.png 300w, https:\/\/www.unicoda.com\/wp-content\/uploads\/2020\/01\/Snag_a8d4d246-768x118.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<p>Pas de soucis. Touche Windows, j&rsquo;\u00e9cris \u00ab\u00a0path\u00a0\u00bb et j&rsquo;appuie sur entr\u00e9e. Je me retrouve sur les propri\u00e9t\u00e9s syst\u00e8me. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"412\" height=\"529\" src=\"https:\/\/www.unicoda.com\/wp-content\/uploads\/2020\/01\/Snag_a8d4d217.png\" alt=\"\" class=\"wp-image-4007\" srcset=\"https:\/\/www.unicoda.com\/wp-content\/uploads\/2020\/01\/Snag_a8d4d217.png 412w, https:\/\/www.unicoda.com\/wp-content\/uploads\/2020\/01\/Snag_a8d4d217-234x300.png 234w\" sizes=\"auto, (max-width: 412px) 85vw, 412px\" \/><\/figure>\n\n\n\n<p>Un clic de plus sur \u00ab\u00a0Variables d&rsquo;environnement&#8230;\u00a0\u00bb et je me retrouve devant deux choix.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Variables utilisateur pour MonOrdinateur<\/li><li>Variables syst\u00e8me<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"618\" height=\"585\" src=\"https:\/\/www.unicoda.com\/wp-content\/uploads\/2020\/01\/Snag_a8da5047.png\" alt=\"\" class=\"wp-image-4009\" srcset=\"https:\/\/www.unicoda.com\/wp-content\/uploads\/2020\/01\/Snag_a8da5047.png 618w, https:\/\/www.unicoda.com\/wp-content\/uploads\/2020\/01\/Snag_a8da5047-300x284.png 300w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/figure>\n\n\n\n<p>Dans les deux cas j&rsquo;ai acc\u00e8s \u00e0 une variable PATH que je peux modifier. Je ne me pose pas plus de questions et je modifie la variable Path dans variables syst\u00e8me et y ajoute mon chemin.<\/p>\n\n\n\n<p>Je valide tout, je suis content, tout va marcher et la commande <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">django-admin --version<\/pre>\n\n\n\n<p>devrait enfin m&rsquo;afficher quelque chose \u00e0 l&rsquo;\u00e9cran. Mais ce n&rsquo;est pas le cas&#8230;<\/p>\n\n\n\n<p>Je retourne dans les propri\u00e9t\u00e9s syst\u00e8me et je commence vraiment \u00e0 avoir peur. Plus aucuns chemins n&rsquo;est accessible dans la liste PATH des variables syst\u00e8me. Je pose la question \u00e0 mon moteur de recherche qui m&rsquo;indique qu&rsquo;une restauration est le seul moyen de retrouver mes donn\u00e9es perdues. Mais pour cela, il faut un point de restauration.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"412\" height=\"529\" src=\"https:\/\/www.unicoda.com\/wp-content\/uploads\/2020\/01\/Snag_a8d4d1e8.png\" alt=\"\" class=\"wp-image-4010\" srcset=\"https:\/\/www.unicoda.com\/wp-content\/uploads\/2020\/01\/Snag_a8d4d1e8.png 412w, https:\/\/www.unicoda.com\/wp-content\/uploads\/2020\/01\/Snag_a8d4d1e8-234x300.png 234w\" sizes=\"auto, (max-width: 412px) 85vw, 412px\" \/><\/figure>\n\n\n\n<p>Je n&rsquo;ai pas de point de restauration actif, la protection du syst\u00e8me semble d\u00e9sactiv\u00e9e.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"566\" height=\"497\" src=\"https:\/\/www.unicoda.com\/wp-content\/uploads\/2020\/01\/Snag_a8d4d1ca.png\" alt=\"\" class=\"wp-image-4011\" srcset=\"https:\/\/www.unicoda.com\/wp-content\/uploads\/2020\/01\/Snag_a8d4d1ca.png 566w, https:\/\/www.unicoda.com\/wp-content\/uploads\/2020\/01\/Snag_a8d4d1ca-300x263.png 300w\" sizes=\"auto, (max-width: 566px) 85vw, 566px\" \/><\/figure>\n\n\n\n<p>Je continue les recherches avec de moins en moins d&rsquo;espoir de pouvoir red\u00e9marrer mon syst\u00e8me dans de bonne condition. Pour ce qui ne le savent pas, les variables syst\u00e8me dans PATH conditionnent beaucoup de chemins vers des ex\u00e9cutables utiles au bon fonctionnement de votre ordinateur.<\/p>\n\n\n\n<p>Plus d&rsquo;une heure passe, en d\u00e9sespoir de cause je r\u00e9cup\u00e8re quelques PATH sur un autre ordinateur et un ami m&rsquo;envoie les siens, mais je vois bien qu&rsquo;il n&rsquo;y a pas tous les chemins que j&rsquo;avais avant de tout casser.<\/p>\n\n\n\n<p>Quand mes recherches prennent un tournant inattendu. Je trouve enfin quelque chose d&rsquo;int\u00e9ressant. On peut ex\u00e9cuter la commande set pour lister et modifier les variables d&rsquo;environnement et syst\u00e8me propre \u00e0 l&rsquo;ex\u00e9cution d&rsquo;un interpr\u00e9teur de commande (CMD). D&rsquo;ailleurs si on modifie des chemins dans l&rsquo;interpr\u00e9teur et qu&rsquo;on le quitte, les chemins ajout\u00e9s ne sont pas sauvegard\u00e9s. De la m\u00eame mani\u00e8re si j&rsquo;ai modifi\u00e9 les variables PATH par l&rsquo;interface graphique sans relancer l&rsquo;interpr\u00e9teur celui-ci connait encore les anciennes valeurs de PATH.<\/p>\n\n\n\n<p>J&rsquo;ai un sursaut d&rsquo;excitation. Est-ce que j&rsquo;ai encore une CMD ouverte ?<\/p>\n\n\n\n<p>Malheureursment non. Je n&rsquo;ai plus aucune CMD ouvertes dans la barre des t\u00e2ches. Par contre il y a toujours MYSYS ouvert avec une connexion SSH en cours vers mon serveur.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"193\" height=\"40\" src=\"https:\/\/www.unicoda.com\/wp-content\/uploads\/2020\/01\/Snag_a8d4d1c9.png\" alt=\"\" class=\"wp-image-4013\"\/><\/figure>\n\n\n\n<p>Se pourrait-il que j&rsquo;avais la solution pour r\u00e9cup\u00e9rer mes variables syst\u00e8me PATH sous les yeux depuis le d\u00e9but ?<\/p>\n\n\n\n<p>Apr\u00e8s avoir mis fin \u00e0 la connexion ssh avec le serveur. Le verdict. Je tape au hasard la commande Windows \u00ab\u00a0SET\u00a0\u00bb dans l\u2019interpr\u00e9teur MYSYS Linux. Un r\u00e9sultat ! Peut \u00eatre que j&rsquo;ai de la chance apr\u00e8s tout ? Je fracasse la molette pour remonter rapidement tout en haut de la sortie affich\u00e9e, quand enfin j&rsquo;ai ce que je cherchais !<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"208\" src=\"https:\/\/www.unicoda.com\/wp-content\/uploads\/2020\/01\/Snag_a8d4d226.png\" alt=\"\" class=\"wp-image-4012\" srcset=\"https:\/\/www.unicoda.com\/wp-content\/uploads\/2020\/01\/Snag_a8d4d226.png 960w, https:\/\/www.unicoda.com\/wp-content\/uploads\/2020\/01\/Snag_a8d4d226-300x65.png 300w, https:\/\/www.unicoda.com\/wp-content\/uploads\/2020\/01\/Snag_a8d4d226-768x166.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<p>Toutes mes variables PATH gard\u00e9es en m\u00e9moire par MSYS2. Avec pour seul inconv\u00e9nient un typage Unix et non Windows. Dix minutes plus tard j&rsquo;ai mes variables syst\u00e8me PATH d&rsquo;origine. Et en bonus, j&rsquo;ai m\u00eame compris mon erreur. J&rsquo;aurais du mettre mon chemin dans les variables utilisateur et v\u00e9rifier qu&rsquo;il \u00e9tait bien \u00e9crit. En plus j&rsquo;aurais pu tester que tout fonctionne en le faisant avec la commande set en console avant de faire la modification r\u00e9el.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>Si vous perdez toutes vos variables syst\u00e8me ou variables utilisateur sur Windows vous pouvez les r\u00e9cup\u00e9rer en dernier recours si il vous reste une console ouverte avant la r\u00e9alisation des modifications qui ont d\u00e9truits vos chemins. Pour les trouver il suffit de taper la commande \u00ab\u00a0set\u00a0\u00bb ou \u00ab\u00a0path\u00a0\u00bb dans cette console et de r\u00e9cup\u00e9rer et mettre en forme les chemins, puis de les r\u00e9ins\u00e9rer par l&rsquo;interface graphique dans PATH en v\u00e9rifiant si ce sont des variables utilisateur ou syst\u00e8me.<\/p>\n\n\n\n<p>Pour la petite astuce, ne faites pas comme moi et pensez \u00e0 faire des points de restauration syst\u00e8me r\u00e9guliers.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Aujourd&rsquo;hui j&rsquo;ai install\u00e9 Python et Django sur mon syst\u00e8me Windows pour essayer de faire un petit site web rapidement, disons avant la fin de la journ\u00e9e. Je commence donc ma configuration sur mon syst\u00e8me Windows et en parall\u00e8le je fais la m\u00eame chose en SSH sur une console MSYS2,une VM en mode console d&rsquo;un syst\u00e8me &hellip; <a href=\"https:\/\/www.unicoda.com\/?p=4005\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo;&nbsp;R\u00e9cup\u00e9ration de variables syst\u00e8me sur Windows&nbsp;&raquo;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[337,316,415],"tags":[186,491,488,490],"class_list":["post-4005","post","type-post","status-publish","format-standard","hentry","category-auto-hebergement","category-configuration","category-sauvegarde","tag-path","tag-set","tag-variables-systeme","tag-windows-10"],"_links":{"self":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/4005","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4005"}],"version-history":[{"count":3,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/4005\/revisions"}],"predecessor-version":[{"id":4017,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/4005\/revisions\/4017"}],"wp:attachment":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4005"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4005"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4005"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}