{"id":12963,"date":"2017-05-18T10:47:11","date_gmt":"2017-05-18T08:47:11","guid":{"rendered":"https:\/\/www.customprotocol.com\/?post_type=it_programmation&amp;p=12963"},"modified":"2017-05-18T10:47:11","modified_gmt":"2017-05-18T08:47:11","slug":"windows-utilisation-systeme-de-fichiers-cosmos","status":"publish","type":"it_programmation","link":"https:\/\/www.customprotocol.com\/programmation\/windows-utilisation-systeme-de-fichiers-cosmos\/","title":{"rendered":"[Windows] TUTO &#8211; [Partie 2] Utilisation du syst\u00e8me de fichiers sous Cosmos"},"content":{"rendered":"<p style=\"text-align: justify;\">Voici une suite au <a href=\"https:\/\/www.customprotocol.com\/programmation\/windows-creer-son-systeme-exploitation-os-avec-cosmos\/\">premier tutoriel<\/a>\u00a0(mis \u00e0 jour \u00e0 la suite de cette deuxi\u00e8me partie, n'h\u00e9sitez pas \u00e0 y faire un tour au cas o\u00f9&nbsp;:P)\u00a0sur comment cr\u00e9er et lancer sur une machine virtuelle son premier syst\u00e8me d'exploitation. Sous forme de console pour l'instant, le syst\u00e8me n'est pas pourvu d'un syst\u00e8me de fichiers (cr\u00e9er des dossiers\/fichiers, se d\u00e9placer dans les dossiers, etc.). Nous allons donc ici voir comment faire cela. Faites place au tutoriel&#8239;!<\/p>\n<figure id=\"attachment_12292\" aria-describedby=\"caption-attachment-12292\" style=\"width: 700px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.customprotocol.com\/medias\/2017\/01\/cosmos.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-12292 size-full\" src=\"https:\/\/www.customprotocol.com\/medias\/2017\/01\/cosmos.png\" width=\"700\" height=\"448\" srcset=\"https:\/\/www.customprotocol.com\/medias\/2017\/01\/cosmos.png 700w, https:\/\/www.customprotocol.com\/medias\/2017\/01\/cosmos-300x192.png 300w, https:\/\/www.customprotocol.com\/medias\/2017\/01\/cosmos-370x237.png 370w, https:\/\/www.customprotocol.com\/medias\/2017\/01\/cosmos-270x173.png 270w, https:\/\/www.customprotocol.com\/medias\/2017\/01\/cosmos-470x300.png 470w, https:\/\/www.customprotocol.com\/medias\/2017\/01\/cosmos-570x365.png 570w, https:\/\/www.customprotocol.com\/medias\/2017\/01\/cosmos-300x192@2x.png 600w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><figcaption id=\"caption-attachment-12292\" class=\"wp-caption-text\">Logo de <strong>Cosmos<\/strong><\/figcaption><\/figure>\n<hr \/>\n<h4 style=\"text-align: justify;\"><span style=\"text-decoration: underline;\"><strong>Utilisation du syst\u00e8me de fichiers<\/strong><\/span><\/h4>\n<h5 style=\"text-align: justify;\"><strong><span style=\"text-decoration: underline;\">A. Pr\u00e9sentation du VFS<\/span><br \/><\/strong><\/h5>\n<p style=\"text-align: justify;\">Comme d\u00e9fini plus haut, un syst\u00e8me de fichiers va vous permettre de cr\u00e9er des fichiers et dossiers depuis votre syst\u00e8me d'exploitation et vous d\u00e9placer, ouvrir, supprimer ces fichiers, dossiers, etc. Comme pour l'instant l'utilisation de <strong>Cosmos<\/strong> ne se fait essentiellement que sur machine virtuelle et non sur un support physique, nous allons utiliser ce qu'on appelle un syst\u00e8me de fichiers virtuel (VFS) ou comme Wikip\u00e9dia le d\u00e9finit&nbsp;: \"Une couche d'abstraction au-dessus d'un syst\u00e8me de fichiers plus concret\".<\/p>\n<h5 style=\"text-align: justify;\"><strong><span style=\"text-decoration: underline;\">B. Utilisation du VFS<\/span><br \/><\/strong><\/h5>\n<p style=\"text-align: justify;\">Lancez <em>Visual Studio<\/em>, cr\u00e9ez un\u00a0projet ou ouvrez votre projet <em>Cosmos C#<\/em>. Rendez-vous maintenant dans le fichier <em>Kernel.cs<\/em>.<\/p>\n<h6 style=\"text-align: justify;\">Initialisation<strong><br \/><\/strong><\/h6>\n<p style=\"text-align: justify;\">Avant d'utiliser le syst\u00e8me de fichiers virtuel, il va falloir l'initialiser depuis la boucle <em>BeforeRun()<\/em> de votre projet (<a href=\"https:\/\/www.customprotocol.com\/programmation\/windows-creer-son-systeme-exploitation-os-avec-cosmos\/\">voir le premier tutoriel<\/a> \u00e0 la partie 2B pour plus d'informations). Voici le code \u00e0 utiliser&nbsp;:<\/p>\n<pre class=\"lang:c# decode:true\">FS&nbsp;=&nbsp;new Sys.FileSystem.CosmosVFS();\nSys.FileSystem.VFS.VFSManager.RegisterVFS(FS);<\/pre>\n<p style=\"text-align: justify;\">Il est bon de savoir que le syst\u00e8me de fichiers utilis\u00e9 par <strong>Cosmos<\/strong> ressemble \u00e0 celui de <em>Windows<\/em>, chaque lecteur a sa propre lettre et le r\u00e9pertoire par d\u00e9faut est \"0:\\\" comme \"C:\\\" sur <em>Windows<\/em>.<\/p>\n<p style=\"text-align: justify;\">La variable <em>dossier_actuel<\/em> sera par d\u00e9faut d\u00e9finie par&nbsp;:<\/p>\n<pre class=\"lang:c# decode:true\">string\u00a0dossier_actuel&nbsp;=&nbsp;\"0:\\\\\";<\/pre>\n<p style=\"text-align: justify;\"><div align=\"center\" class=\"alert alert-warning \">Il faut imp\u00e9rativement utiliser une double barre oblique (\"\\\\\") invers\u00e9e pour \u00e9crire une simple \"\\\".<\/div>\n<h6 style=\"text-align: justify;\"><strong>Commande pour cr\u00e9er un fichier<br \/><\/strong><\/h6>\n<pre class=\"lang:c# decode:true\">var f&nbsp;=&nbsp;File.Create(dossier_actuel&nbsp;+&nbsp;\"\\\\fichier.txt\"); \/\/Cr\u00e9er un fichier pour chemin dossier_actuel\\fichier.txt\nf.Close();<\/pre>\n<h6 style=\"text-align: justify;\"><strong>Commande pour lire un fichier<br \/><\/strong><\/h6>\n<pre class=\"lang:c# decode:true\">string texte&nbsp;=&nbsp;File.ReadAllText(dossier_actuel&nbsp;+&nbsp;\"\\\\fichier.txt\"); \/\/La variable 'texte' contiendra le texte contenu dans le fichier<\/pre>\n<h6 style=\"text-align: justify;\"><strong>Commande pour supprimer un fichier<br \/><\/strong><\/h6>\n<pre class=\"lang:c# decode:true \">File.Delete(dossier_actuel&nbsp;+&nbsp;\"\\\\fichier.txt\");<\/pre>\n<h6 style=\"text-align: justify;\"><strong>Commande pour cr\u00e9er un dossier<br \/><\/strong><\/h6>\n<pre class=\"lang:c# decode:true\">FS.CreateDirectory(dossier_actuel&nbsp;+&nbsp;\"\\\\nomdudossier\");<\/pre>\n<h6 style=\"text-align: justify;\"><strong>Commande pour supprimer un dossier<br \/><\/strong><\/h6>\n<pre class=\"lang:c# decode:true\">Directory.Delete(dossier_actuel&nbsp;+&nbsp;\"\\\\dossier\", true); \/\/ 'true' signifie que le contenu du dossier va \u00eatre \u00e9galement supprim\u00e9<\/pre>\n<h6 style=\"text-align: justify;\"><strong>Commande pour se d\u00e9placer vers un dossier<br \/><\/strong><\/h6>\n<pre class=\"lang:c# decode:true\">if (input.StartsWith(\"cd \")) \/\/L'utilisateur entre 'cd nomdudossier'\n            {\n                var newdir&nbsp;=&nbsp;input.Remove(0, 3); \/\/On extrait le nom du dossier\n\n                if (Directory.Exists(dossier_actuel&nbsp;+&nbsp;newdir))\n                \/\/On v\u00e9rifie si le dossier existe.\n                {\n                    Directory.SetCurrentDirectory(dossier_actuel);\n                    dossier_actuel&nbsp;=&nbsp;dossier_actuel&nbsp;+&nbsp;newdir&nbsp;+&nbsp;\"\\\\\";\n                }\n                else\n                {\n                    Console.WriteLine(\"Ce dossier n'existe pas&#8239;!\");\n                }\n            }<\/pre>\n<h6 style=\"text-align: justify;\"><strong>Commande pour se d\u00e9placer vers un dossier parent (retour)<br \/><\/strong><\/h6>\n<pre class=\"lang:default decode:true\">var dir&nbsp;=&nbsp;FS.GetDirectory(dossier_actuel);\ndossier_actuel&nbsp;=&nbsp;dir.mParent.mFullPath;<\/pre>\n<h6 style=\"text-align: justify;\"><strong>Commande pour lister les dossiers et fichiers\u00a0du dossier ouvert<br \/><\/strong><\/h6>\n<pre class=\"lang:c# decode:true\">Console.WriteLine(\"Type\\t     Nom\");\n                foreach (var dir in Directory.GetDirectories(dossier_actuel))\n                {\n                    Console.WriteLine(\"&lt;Dossier&gt;\\t\"&nbsp;+&nbsp;dir);\n                }\n                foreach (var file in Directory.GetFiles(dossier_actuel))\n                {\n                    Console.WriteLine(\"&lt;Fichier&gt;\\t\"&nbsp;+&nbsp;file);\n                }<\/pre>\n<h6 style=\"text-align: justify;\"><strong>Commande pour lister les lecteurs disponibles<br \/><\/strong><\/h6>\n<pre class=\"lang:c# decode:true \">var vols&nbsp;=&nbsp;FS.GetVolumes();\n                Console.WriteLine(\"Nom\\tTaille\\tParent\");\n                foreach (var vol in vols)\n                {\n                    Console.WriteLine(vol.mName&nbsp;+&nbsp;\"\\t\"&nbsp;+&nbsp;vol.mSize&nbsp;+&nbsp;\"\\t\"&nbsp;+&nbsp;vol.mParent);\n                }<\/pre>\n<p style=\"text-align: justify;\">Voil\u00e0 voil\u00e0, vous avez pu voir une liste de diff\u00e9rentes commandes utiles \u00e0 la cr\u00e9ation d'un syst\u00e8me d'exploitation, si vous voulez voir l'application r\u00e9elle de ces commandes, vous pouvez aller voir la m\u00e9thode <a href=\"https:\/\/github.com\/valentinbreiz\/Ode-OS\/blob\/master\/Ode%20OS\/Kernel.cs#L505\">I<em>nterpredCMD<\/em><\/a>\u00a0d'un petit syst\u00e8me d'exploitation r\u00e9alis\u00e9 par mes soins, o\u00f9 ces commandes y sont inscrites (Ctrl&nbsp;+&nbsp;F pour rechercher dans la page&#8239;;) ).<\/p>\n<h5 style=\"text-align: justify;\"><strong><span style=\"text-decoration: underline;\">C. Exemple d'impl\u00e9mentation du syst\u00e8me de fichiers<\/span><br \/><\/strong><\/h5>\n<p style=\"text-align: justify;\">Maintenant, depuis votre console, vous pouvez impl\u00e9menter diff\u00e9rentes commandes. Voici un algorithme basique qui va pouvoir interpr\u00e9ter les commandes transmises depuis l'utilisateur (comme depuis le CMD sur <em>Windows<\/em>) et permettre la cr\u00e9ation et suppression d'un dossier. Ensuite, \u00e0 vous d'impl\u00e9menter vos propres commandes&#8239;!<\/p>\n<pre class=\"lang:c# decode:true\">using System;\nusing Sys&nbsp;=&nbsp;Cosmos.System;\nusing System.IO;\nusing Cosmos.System.FileSystem;\n\/\/ Ceci permet d'importer des r\u00e9f\u00e9rences.\n\nnamespace Custom_Protocol\n{\n    public class Kernel&nbsp;: Sys.Kernel\n    {\n        string dossier_actuel&nbsp;=&nbsp;\"0:\\\\\";\n        public CosmosVFS FS { get; private set; }\n\n        protected override void BeforeRun()\n        \/\/Ceci est le code ex\u00e9cut\u00e9 avant l'ex\u00e9cution du programme.\n        {\n            Console.Clear();\n            \/\/Permet de nettoyer la console des logs de d\u00e9marrage.\n\n            \/\/On met le clavier en fran\u00e7ais\n            Sys.KeyboardManager.SetKeyLayout(new Sys.ScanMaps.FR_Standard());\n\n            \/\/Initialisation du syst\u00e8me de fichier.\n            FS&nbsp;=&nbsp;new Sys.FileSystem.CosmosVFS();\n            Sys.FileSystem.VFS.VFSManager.RegisterVFS(FS);\n            \/\/Fin de l'initialisation\n\n            Console.WriteLine(\"Tutoriel de customprotocol.com\");\n            Console.WriteLine(\"Cosmos a demarre avec succes.\");\n            \/\/Ceci permet d'\u00e9crire une ligne.\n        }\n\n        protected override void Run()\n        \/\/Ceci est le code ex\u00e9cut\u00e9 pendant l'ex\u00e9cution du programme, il se r\u00e9p\u00e9tera ind\u00e9finiment.\n        {\n            Console.Write(\"commande&gt; \");\n            \/\/Ceci permet d'\u00e9crire une ligne ou l'on peut \u00e9crire sur la m\u00eame ligne.\n            var input&nbsp;=&nbsp;Console.ReadLine();\n            \/\/Ceci est une variable qui permet de lire le texte \u00e9crit par l'utilisateur.\n            InterpretCMD(input);\n            \/\/Ceci permet de lancer la m\u00e9thode qui va interpr\u00e9ter la commande (input)\n        }\n\n        private void InterpretCMD(string input)\n        \/\/Ceci est la m\u00e9thode qui interpr\u00e8te la commande envoy\u00e9e (d'o\u00f9 le \"string input\") \n        {\n\n            if (input.StartsWith(\"dir -c \")) \/\/Si la commande commence par dir -c\n            {\n                string dir&nbsp;=&nbsp;input.Remove(0, 7); \/\/On extrait la commande\n                if (!Directory.Exists(dossier_actuel&nbsp;+&nbsp;dir)) \/\/Si le dossier n'existe pas (! symbole de n\u00e9gation)\n                {\n                    FS.CreateDirectory(dossier_actuel&nbsp;+&nbsp;dir); \/\/On cr\u00e9er le dossier\n                    Console.WriteLine(\"Dossier cree&#8239;!\");\n                }\n                else if (Directory.Exists(dossier_actuel&nbsp;+&nbsp;dir)) \/\/Sinon si le dossier existe alors\n                {\n                    Console.WriteLine(\"Le dossier existe deja&#8239;!\");\n                    Console.WriteLine(\"Dossier cree&#8239;!\");\n                    FS.CreateDirectory(dossier_actuel&nbsp;+&nbsp;dir&nbsp;+&nbsp;\"-1\"); \/\/On cr\u00e9er tout de m\u00eame un dossier avec comme nom 'nomdudossier-1'\n                }\n            }\n\n            else if (input.StartsWith(\"dir -r \")) \/\/Si la commande commence par dir -r alors\n            {\n                string dirr&nbsp;=&nbsp;input.Remove(0, 7); \/\/On extrait le nom du dossier de la commande\n                if (Directory.Exists(dossier_actuel&nbsp;+&nbsp;dirr)) \/\/Si le dossier existe alors\n                {\n                    Directory.Delete(dossier_actuel&nbsp;+&nbsp;dirr, true); \/\/On le supprime\n                    Console.WriteLine(\"Le dossier '\"&nbsp;+&nbsp;dirr&nbsp;+&nbsp;\"' a ete supprime&#8239;!\");\n                }\n                else \/\/Si il n'existe pas\n                {\n                    Console.WriteLine(\"Le dossier '\"&nbsp;+&nbsp;dirr&nbsp;+&nbsp;\"' n'existe pas&#8239;!\");\n                }\n            }\n\n            else if (input == \"dir -l\") \/\/Si la commande est \u00e9gale \u00e0 dir -l\n            {\n                Console.WriteLine(\"Type\\t     Nom\");\n                foreach (var dir in Directory.GetDirectories(dossier_actuel)) \/\/On r\u00e9cupere tous les dossiers\n                {\n                    Console.WriteLine(\"&lt;Dossier&gt;\\t\"&nbsp;+&nbsp;dir); \/\/On affiche tous les dossiers\n                }\n            }\n\n            else if (input == \"hello\")\n            { \/\/Si la commande est \u00e9gale \u00e0 hello alors\n                Console.WriteLine(\"Bonjour!\"); \/\/Afficher \"Bonjour!\".\n            }\n\n            else if (input == \"bye\")\n            { \/\/Sinon si la commande est \u00e9gale \u00e0 bye\n                Sys.Power.Shutdown(); \/\/\u00c9teindre le syst\u00e8me.\n            }\n\n            else\n            { \/\/Sinon (si la commande n'est ni hello ni bye)\n                Console.WriteLine(\"Erreur&nbsp;: Commande inconnue\"); \/\/Afficher la commande est inconnue.\n            }\n\n        }\n    }\n}<\/pre>\n<h4 style=\"text-align: justify;\"><span style=\"text-decoration: underline;\"><strong>3)\u00a0Conclusion<\/strong><\/span><\/h4>\n<p style=\"text-align: justify;\">\u00c0 travers ce tutoriel, vous avez pu voir comment utiliser un syst\u00e8me de fichiers dans votre projet <strong>Cosmos<\/strong>. Amusez-vous, d\u00e9veloppez et partagez votre projet&#8239;! Si vous manquez d'inspiration, voici m\u00eame une page comprenant plusieurs projets sous <strong>Cosmos<\/strong>&nbsp;: <em><a href=\"https:\/\/github.com\/CosmosOS\/Cosmos\/wiki\/Cosmos-Projects\">Cosmos Projects<\/a><\/em>.<\/p>\n<p style=\"text-align: justify;\">D'autres tutoriels \u00e0 propos de <strong>Cosmos<\/strong> arriveront sur <strong>Custom Protocol<\/strong> bient\u00f4t, si vous avez besoin de quoi que ce soit vous pouvez poser une question en commentaire ou sur la <a href=\"https:\/\/gitter.im\/CosmosOS\/Cosmos\">conversation Gitter<\/a> du projet <strong>Cosmos<\/strong>&#8239;!&#8239;;)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Suite du premier tutoriel sur Cosmos, le syst\u00e8me d'exploitation \u00e9crit en C#. Vous allez ici apprendre \u00e0 utiliser un syst\u00e8me de fichiers&#8239;!<\/p>\n","protected":false},"author":466,"featured_media":12292,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"categories":[454,22,581],"tags":[604,605,606,678,608,679],"programmation-categorie":[580],"class_list":["post-12963","it_programmation","type-it_programmation","status-publish","format-standard","has-post-thumbnail","hentry","category-programmation","category-tutos","category-tutos-programmation","tag-cosmos","tag-cosmos-c-open-source-managed-operating-system","tag-cosmosos","tag-filesystem","tag-osdev","tag-systeme-de-fichiers","programmation_categorie-tutos"],"yoast_head":"\n<title>[Windows] Utilisation du syst\u00e8me de fichiers sous Cosmos OS<\/title>\n<meta name=\"description\" content=\"Suite du premier tutoriel sur Cosmos, le syst\u00e8me d&#039;exploitation \u00e9crit en C#. Vous allez ici apprendre \u00e0 utiliser un syst\u00e8me de fichiers !\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.customprotocol.com\/programmation\/windows-utilisation-systeme-de-fichiers-cosmos\/\" \/>\n<meta property=\"og:locale\" content=\"fr_CA\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Windows] Utilisation du syst\u00e8me de fichiers sous Cosmos OS\" \/>\n<meta property=\"og:description\" content=\"Suite du premier tutoriel sur Cosmos, le syst\u00e8me d&#039;exploitation \u00e9crit en C#. Vous allez ici apprendre \u00e0 utiliser un syst\u00e8me de fichiers !\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.customprotocol.com\/programmation\/windows-utilisation-systeme-de-fichiers-cosmos\/\" \/>\n<meta property=\"og:site_name\" content=\"Custom Protocol\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.customprotocol.com\/medias\/2017\/01\/cosmos.png\" \/>\n\t<meta property=\"og:image:width\" content=\"700\" \/>\n\t<meta property=\"og:image:height\" content=\"448\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimation du temps de lecture\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.customprotocol.com\/programmation\/windows-utilisation-systeme-de-fichiers-cosmos\/\",\"url\":\"https:\/\/www.customprotocol.com\/programmation\/windows-utilisation-systeme-de-fichiers-cosmos\/\",\"name\":\"[Windows] Utilisation du syst\u00e8me de fichiers sous Cosmos OS\",\"isPartOf\":{\"@id\":\"https:\/\/www.customprotocol.com\/#website\"},\"datePublished\":\"2017-05-18T08:47:11+00:00\",\"dateModified\":\"2017-05-18T08:47:11+00:00\",\"description\":\"Suite du premier tutoriel sur Cosmos, le syst\u00e8me d'exploitation \u00e9crit en C#. Vous allez ici apprendre \u00e0 utiliser un syst\u00e8me de fichiers !\",\"breadcrumb\":{\"@id\":\"https:\/\/www.customprotocol.com\/programmation\/windows-utilisation-systeme-de-fichiers-cosmos\/#breadcrumb\"},\"inLanguage\":\"fr-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.customprotocol.com\/programmation\/windows-utilisation-systeme-de-fichiers-cosmos\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.customprotocol.com\/programmation\/windows-utilisation-systeme-de-fichiers-cosmos\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.customprotocol.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Programmation\",\"item\":\"https:\/\/www.customprotocol.com\/programmation\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"[Windows] TUTO &#8211; [Partie 2] Utilisation du syst\u00e8me de fichiers sous Cosmos\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.customprotocol.com\/#website\",\"url\":\"https:\/\/www.customprotocol.com\/\",\"name\":\"Custom Protocol\",\"description\":\"Site d&#039;hack-tualit\u00e9 et de tutoriels sur la customisation de consoles et appareils (homebrews, plugins, \u00e9mulation...)\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.customprotocol.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-CA\"}]}<\/script>\n","yoast_head_json":{"title":"[Windows] Utilisation du syst\u00e8me de fichiers sous Cosmos OS","description":"Suite du premier tutoriel sur Cosmos, le syst\u00e8me d'exploitation \u00e9crit en C#. Vous allez ici apprendre \u00e0 utiliser un syst\u00e8me de fichiers !","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.customprotocol.com\/programmation\/windows-utilisation-systeme-de-fichiers-cosmos\/","og_locale":"fr_CA","og_type":"article","og_title":"[Windows] Utilisation du syst\u00e8me de fichiers sous Cosmos OS","og_description":"Suite du premier tutoriel sur Cosmos, le syst\u00e8me d'exploitation \u00e9crit en C#. Vous allez ici apprendre \u00e0 utiliser un syst\u00e8me de fichiers !","og_url":"https:\/\/www.customprotocol.com\/programmation\/windows-utilisation-systeme-de-fichiers-cosmos\/","og_site_name":"Custom Protocol","og_image":[{"width":700,"height":448,"url":"https:\/\/www.customprotocol.com\/medias\/2017\/01\/cosmos.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Estimation du temps de lecture":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.customprotocol.com\/programmation\/windows-utilisation-systeme-de-fichiers-cosmos\/","url":"https:\/\/www.customprotocol.com\/programmation\/windows-utilisation-systeme-de-fichiers-cosmos\/","name":"[Windows] Utilisation du syst\u00e8me de fichiers sous Cosmos OS","isPartOf":{"@id":"https:\/\/www.customprotocol.com\/#website"},"datePublished":"2017-05-18T08:47:11+00:00","dateModified":"2017-05-18T08:47:11+00:00","description":"Suite du premier tutoriel sur Cosmos, le syst\u00e8me d'exploitation \u00e9crit en C#. Vous allez ici apprendre \u00e0 utiliser un syst\u00e8me de fichiers !","breadcrumb":{"@id":"https:\/\/www.customprotocol.com\/programmation\/windows-utilisation-systeme-de-fichiers-cosmos\/#breadcrumb"},"inLanguage":"fr-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.customprotocol.com\/programmation\/windows-utilisation-systeme-de-fichiers-cosmos\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.customprotocol.com\/programmation\/windows-utilisation-systeme-de-fichiers-cosmos\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.customprotocol.com\/"},{"@type":"ListItem","position":2,"name":"Programmation","item":"https:\/\/www.customprotocol.com\/programmation\/"},{"@type":"ListItem","position":3,"name":"[Windows] TUTO &#8211; [Partie 2] Utilisation du syst\u00e8me de fichiers sous Cosmos"}]},{"@type":"WebSite","@id":"https:\/\/www.customprotocol.com\/#website","url":"https:\/\/www.customprotocol.com\/","name":"Custom Protocol","description":"Site d&#039;hack-tualit\u00e9 et de tutoriels sur la customisation de consoles et appareils (homebrews, plugins, \u00e9mulation...)","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.customprotocol.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-CA"}]}},"_links":{"self":[{"href":"https:\/\/www.customprotocol.com\/api\/wp\/v2\/programmation\/12963","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.customprotocol.com\/api\/wp\/v2\/programmation"}],"about":[{"href":"https:\/\/www.customprotocol.com\/api\/wp\/v2\/types\/it_programmation"}],"author":[{"embeddable":true,"href":"https:\/\/www.customprotocol.com\/api\/wp\/v2\/users\/466"}],"replies":[{"embeddable":true,"href":"https:\/\/www.customprotocol.com\/api\/wp\/v2\/comments?post=12963"}],"version-history":[{"count":0,"href":"https:\/\/www.customprotocol.com\/api\/wp\/v2\/programmation\/12963\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.customprotocol.com\/api\/wp\/v2\/media\/12292"}],"wp:attachment":[{"href":"https:\/\/www.customprotocol.com\/api\/wp\/v2\/media?parent=12963"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.customprotocol.com\/api\/wp\/v2\/categories?post=12963"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.customprotocol.com\/api\/wp\/v2\/tags?post=12963"},{"taxonomy":"programmation_categorie","embeddable":true,"href":"https:\/\/www.customprotocol.com\/api\/wp\/v2\/programmation-categorie?post=12963"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}