Une petite présentation de notre support s'impose, comme ce tutoriel est ciblé aux débutants et que je ne suis pas expert en programmation, je vais m'appuyer sur le super, que dis-je, le magnifique projet Cosmos.
Cosmos est un système d'exploitation, ou plutôt un "kit de construction", basé sur SysLinux autour du compilateur IL2CPU (créé par les mêmes développeurs que CosmosOS). COSMOS signifie d'ailleurs C# Open Source Managed Operating System.
Bref, Cosmos n'est donc pas un système d'exploitation à proprement parler, mais plutôt un « kit de création de système d'exploitation ». Cosmos va vous permettre de créer des systèmes d'exploitation sur Visual Studio et en C# (ou Visual Basic). Le véritable point fort de Cosmos réside dans le fait qu'il est intégré à Visual Studio, ce qui va permettre un développement sous Windows accompagné d'éléments essentiels. En effet, Visual Studio (avec Cosmos) va débugger et générer votre OS avant de l'envoyer à une machine virtuelle.
1) Installation de Cosmos (dev-kit)
La dernière version officielle du projet Cosmos étant parue il y a déjà plusieurs années, il va falloir mettre à jour celle que vous avez déjà installée et si ce n'est pas déjà fait, l'installer. Car depuis, il y a eu plusieurs corrections de bugs, d'ajouts, qui améliorent fortement l'expérience utilisateur.
Il existe deux kits pour Cosmos, l'user-kit et le dev-kit. C'est ce dernier que nous allons compiler pour pouvoir profiter des mises à jour (dont beaucoup sur le système de fichiers que nous verrons un peu plus tard :P).
A. Pré-requis
- Un minimum de connaissances en algorithmique (C# ou VB par exemple) ;
- Être sous Windows 7 au minimum ;
- Visual Studio Community 2015 (à télécharger ici) ;
- .NET Framework 4.5 (à télécharger ici) ;
- VMWare Player (version gratuite) (à télécharger ici) ;
- .NET Framework 3.5 SP1, quelques composants requérant cette version (à télécharger ici).
B. Installation de Cosmos
Premièrement, commencez par télécharger ce répertoire (cliquez sur le bouton vert 'Clone or Download' puis 'Download ZIP') que je vous ai moi-même concocté, comprenant de nombreux correctifs et quelques ajouts. Décompressez ensuite l'archive ZIP sur votre bureau par exemple ou dans un dossier dédié (parce que c'est plus propre).
Et assurez-vous que vous n’êtes pas en train de faire des mises à jour Windows, ce qui pourrait éteindre votre ordinateur, ou quelque chose d’autre de stupide. 😛
Lancez maintenant le fichier "install-VS2015.bat".
Une fois le programme d'installation lancé, il va tout effectuer tout seul et vous pourrez voir les résultats dans cette fenêtre :
L'installation n'a normalement pas dû prendre de temps et si tout s'est bien passé, Visual Studio s'est lancé en ouvrant la solution "Cosmos" (où vous pouvez éditer ou voir le code source si vous êtes curieux) et le programme d'installation affiche alors en vert : Build Complete!
2) Créer son premier OS
A. Création du projet
Lancez Visual Studio, appuyez sur "Nouveau projet...", cette fenêtre se lance alors :
Créez un nouveau projet comme n'importe quel projet C#, mais sélectionnez Cosmos comme type de projet. Vous pouvez ensuite choisir de programmer votre OS en C# ou en Visual Basic (je conseille le C# mais Visual Basic est tout aussi bien).
Renseignez ensuite le nom de votre projet, ici "Custom Protocol". Appuyez ensuite sur "OK".
Oh, diable, du code ! Ne vous inquiétez : tout va être expliqué.
B. Le code
Tout d'abord, on peut remarquer que votre nouveau projet ressemble beaucoup à une application console C # standard.
Pour l'instant, il faudra rester dans "C# Custom Protocol" et non dans "Custom ProtocolBoot".
Le fichier Kernel.cs contient le code d'amorçage et d'exécution de votre OS.
Quant au fichier AssemblyInfos.cs, il contient des informations relatives à votre programme.
Voici le code source de votre OS, j'ai traduit le texte pour plus de compréhension (vous pouvez copier coller celui-là) :
using System; using System.Collections.Generic; using System.Text; using Sys = Cosmos.System; // Ceci permet d'importer des références. namespace Custom_Protocol { public class Kernel : Sys.Kernel { protected override void BeforeRun() //Ceci est le code exécuté avant l'exécution du programme { Console.Clear(); //Permet de nettoyer la console des logs de démarrage Console.WriteLine("Tutoriel de customprotocol.com"); Console.WriteLine("Cosmos a démarré avec succès. Tapez une ligne de texte pour la faire revenir."); //Ceci permet d'écrire une ligne } protected override void Run() //Ceci est le code exécuté pendant l'exécution du programme, il se répétera indéfiniment. { Console.Write("Votre texte: "); //Ceci permet d'écrire une ligne ou l'on peut écrire sur la même ligne. var texteutilisateur = Console.ReadLine(); //Ceci est une variable qui permet de lire le texte écrit par l'utilisateur Console.Write("Texte ecrit: "); //Ceci écrit une ligne Console.WriteLine(texteutilisateur); //Ceci écrit le texte que l'utilisateur a écrit. } } }
C. Votre premier boot !
Vous pouvez maintenant appuyer sur le petit bouton vert "Démarrer", il se situe sur la barre du haut de Visual Studio.
Si votre code n'a pas d'erreurs, et si VMWare est bien installé, la génération va commencer. Voici une petite vidéo d'exemple de génération.
Après que VMWare se soit lancé, vous devriez normalement voir du texte défiler (il correspond à l'initialisation de l'ISO dans VMWare). Et après tout ceci, si vous avez correctement copié-collé le code plus haut, vous devriez obtenir ceci :
Voilà, vous venez de créer la première version de votre premier OS en 32 bits, bravo ! Vous pouvez évidemment continuer à le développer, avec l'aide de plusieurs tutoriels qui vont arriver très bientôt ou de la documentation officielle du projet Cosmos.
Sympa comme initiative ce tuto j'aime bien merci @valentinbreiz
Je pense que tu as oublié quelque chose dans ton tuto. Tu as malheureusement oublié de mentionner que le setup avait besoin d'Inno Setup, qui est un créateur d'installateur. J'ai passé plusieurs minutes à trouver la raison de l'erreur, mais sinon, ton tuto est bien agencé, et mérite d'être vu ! Bon travail