002 Ecrire Son Premier Programme C#

Dans cette vidéo, vous aller créer avec simplicité votre première application en C# pour afficher « Bonjour monde ! » sur une console Windows grâce à Visual Studio 2013.

Cette première application servira comme exemple dans la vidéo suivante pour comprendre les mécanismes mis en jeu.

Application001 Application001

Créer son premier programme C#

Vous allez pouvoir créer votre premier programme en C#. Pour cela, vous lancez Visual Studio Express 2013: la page de démarrage s’affiche.

Celle-ci sert à gérer facilement les projets sur lesquels vous travaillez et aussi à communiquer avec la communauté de Visual Studio. Vous trouvez dessus des annonces, ainsi qu’un certain nombre de possibilités qui sont proposées : mise en route, découvrir les nouveautés, etc.

Créer son premier projet

Pour créer un nouveau projet soit vous pouvez cliquer directement sur Nouveau projet de la page de démarrage, soit vous pouvez cliquer dans le menu sur Fichier puis Nouveau projet. Cela revient au même.

Sachez que si vous perdez l’affichage de la page de démarrage. Vous la retrouver en cliquant sur Afficher Page de démarrage.

Cliquez sur Nouveau projet pour créer un premier projet. Vérifiez que vous êtes bien sous Modèles > Visual C#. C’est important. En effet, lors du premier lancement Visual Studio propose le langage Visual Basic. Il faut donc modifier le langage sélectionné sur Visual C#.

Modèles de projet

Sous Visual C#, vous voyez différents modèles : Application Windows Forms, Application WPF, Application Console, etc.

Cliquez sur le modèle Application Console, pour le sélectionner. Puis, donnez un nom à votre projet comme Application001, et cliquez sur le bouton OK.

Visual Studio Express 2013 a créé plusieurs fichiers dont un fichier qui s’appelle Program.cs et qui s’ouvre par défaut.

static void Main(string[] args)

Ce fichier possède notamment un point d’entrée important qui est static void Main(string[] args). C’est le point d’entrée principal du programme. Cela veut dire que lors du lancement du programme, les premières instructions exécutées seront celles qui seront entre les accolades.

La vidéo suivante décortiquera les instructions qui sont être tapées.

Pour l’instant, positionnez votre souris entre les deux accolades qui sont juste sous static void Main(string[] args). Ces deux accolades, ainsi que leur futur contenu, appartiennent à static void Main(string[] args).

Instruction Console.WriteLine()

Laissez un peu d’espace entre ces deux accolades et vous tapez en respectant scrupuleusement la casse, c’est-à-dire en respectant les majuscules et les minuscules, l’instruction suivante Console.WriteLine.

Pour l’instant, ne prêtez pas attention aux différentes fenêtres qui s’ouvrent. Vous aurez l’occasion de découvrir un peu plus tard leur intérêt.

Respectez bien la casse car souvent les problèmes que l’on rencontre au début, proviennent d’une mauvaise frappe qui ne respecte pas les minuscules et les majuscules. Hors, C# est sensible à la casse.

Cliquez sur la parenthèse ouvrante pour mettre le message que vous souhaitez afficher, qui est : « Bonjour monde ! ».

Visual Studio complète automatiquement ce que vous êtes en train de taper.

Écrivez : « Bonjour monde ! » entre les parenthèses de Console.WriteLine().

Visual Studio vous signale qu’il manque quelque chose avec un petit souligné rouge au bout de la ligne. En effet, toutes les instructions C# doivent se terminer par un point-virgule (;).

Le point-virgule est un délimiteur important car il signale au compilateur que l’instruction s’arrête juste avant l’endroit où est le point-virgule. En effet, le compilateur n’est pas sensible aux espaces. En revanche, il est sensible à la présence de ce délimiteur.

Instruction Console.ReadLine()

La première instruction permet uniquement d’afficher un message, mais il faut avoir le temps de voir ce message.

Pour cela, vous allez taper juste en dessous : Console.ReadLine.

Appuyez sur la parenthèse ouvrante et vous pensez à fermer avec un point-virgule.

Quel est l’intérêt de Console.ReadLine ?

Cette instruction indique qu’il faut « attraper » ce que l’utilisateur saisit. Par contre, tant que l’utilisateur ne saisit rien, le programme attend. Tout ce qui était affiché avant, continuera d’être affiché.

Concrètement l’intérêt de Console.WriteLine() est d’afficher le message « Bonjour monde ! » alors que Console.ReadLine() va vous permettre d’avoir le temps de lire ce message tant que l’utilisateur n’aura pas appuyé sur une touche.

Exécution du premier programme C#

Maintenant, vous pouvez lancer le programme : vous avez plusieurs possibilités pour le faire.

Dans le menu vous avez un bouton Démarrer Vous verrez plus tard la notion de debug, qui se trouve juste à coté.

Lancez le programme : une fenêtre s’ouvre.

Le message « Bonjour monde ! » qui s’affiche dans la fenêtre correspond bien à l’instruction Console.WriteLine() du programme et le petit curseur qui clignote correspond à Console.ReadLine().

Tant que vous ne tapez rien dans la fenêtre le message reste affiché. Si vous tapez par exemple sur la touche entrée, le message disparaît.

Solution Visual Studio

Avec Visual Studio, vous avez créé ce qu’on appelle une solution. Celle-ci est composée de différents fichiers. Vous pouvez visualiser ces fichiers sur le disque dur.

Lancez l’explorateur Windows, sous la bibliothèque intitulée Documents, vous trouvez un dossier intitulé Visual Studio 2013.

Sous ce dossier, ce trouve un autre dossier intitulé Projets, dans lequel vous retrouvez votre solution qui est enregistré sous forme d’un dossier qui s’appelle Application001 puisque c’est le nom que vous avez donné.

Si vous l’ouvrez-vous trouverez les fichiers qui correspondent à cette solution : le fichier Application001.sln s’appelle le fichier solution. L’ensemble constitue la solution avec tous ses fichiers.

Si vous ouvrez le dossier Application001 vous retrouvez les fichiers du projet. En particulier, il y a le fichier source qui contient les instructions du programme, ainsi que l’exécutable. Le fichier source est le fichier Program.cs. Si vous l’ouvrez avec un éditeur de texte comme Notepad++, vous retrouverez exactement ce que vous avez saisie dans l’éditeur de Visual Studio.

Dans l’éditeur de texte, vous n’avez aucune aide alors que dans l’éditeur de Visual Studio vous avez de nombreuses aides qui vont vous faciliter le travail. C’est la raison pour laquelle, vous travaillerez toujours avec l’éditeur de Visual studio.

Sous le dossier bin, le sous-dossier debug est aussi intéressant, car vous trouvez le fichier Application001.exe. C’est le programme qui s’est exécuté pour afficher la fenêtre avec le message. Si vous double-cliquez pour le lancer, vous retrouvez le programme qui affiche « Bonjour monde ! » et qui attend que vous fassiez une saisie quelconque pour le terminer.

Application001.exe est donc l’exécutable qui permet de lancer le programme.

Page de démarrage

Si vous retournez dans Visual Studio que vous fermez la solution, c’est-à-dire l’ensemble des fichiers, plus rien ne s’affiche.

Vous pouvez retrouver la solution, en demandant d’afficher la page de démarrage. Pour cela, vous cliquez sur Afficher, puis Page de démarrage. Dans cette page de démarrage, vous remarquerez que Application001 apparaît dans la liste des fichiers récents. Si vous cliquez dessus, vous l’ouvrez.

Vous pouvez aussi épingler la solution dans la page de démarrage. Cela va vous permettre de retrouver ce projet en tête de liste, quel que soit le nombre de projets sur lesquels vous aurez travaillé et que vous n’aurez pas épinglé. Faites cette manipulation pour les projets sur lesquels, vous travaillez fréquemment afin de pouvoir les récupérer rapidement.

Second projet C#

Maintenant, créez un second projet que vous appelez ApplicationTest.

Vérifiez que vous êtes bien sous Modèles > Visual C#, puis sélectionnez le modèle Application console. Normalement, ça devrait être le cas car Visual Studio garde les dernières options sélectionnées.

Puis refaites à peu près la même chose que pour le projet précédent.

Autrement dit, saisissez une instruction Console.WriteLine() avec un message quelconque, suivi d’une instruction Console.ReadLine().

Lancez-le avec le bouton Démarrer pour vérifier qu’il n’y a pas de problème.

Fermez la solution puis afficher la page de démarrage sur laquelle vous retrouvez bien les différents projets, sous Récent.

Téléchargez la vidéo : 002 Ecrire Son Premier Programme C#.

Téléchargez les exemples de code.

Tous les articles sur le développement en C#.

001 Installer Visual Studio 2013 pour C#

Dans cette série de vidéos ( garantie sans chat 😉 ) vous allez apprendre à programmer en C# et vous avez aussi apprendre des notions relatives à l’objet.

Pour apprendre à programmer en C#, le mieux est d’utiliser les outils de Microsoft et notamment les dernières versions, comme la version Visual Studio 2013.

Dans cette première vidéo, l’installation de la version gratuite de Visual Studio 2013 Express pour Bureau Windows est expliquée.

Ce tutoriel présente les manipulations à faire pour installer Visual Studio 2013 Express Windows Desktop en français.

Visual Studio est ce qu’on appelle parfois l’IDE, autrement dit l’outil de développement graphique intégré qui vous permet beaucoup plus rapidement par rapport à un simple éditeur de texte.

Rechercher la bonne version

Lancez votre moteur de recherche préféré, puis vous recherchez l’édition Visual Studio Express qui est totalement gratuite.

Faites attention parce qu’il existe plusieurs versions de Visual studios express : 2010, 2012, 2013, etc.: prenez bien la version 2013.

Si vous avez un lien qui renvoie vers la version 2013 du site anglais, vous pouvez le corriger facilement. Pour cela, vous remplacez les caractères en-us par les caractères fr-fr dans l’URL.

Lien pour télécharger Express 2013 pour Bureau Windows :
http://www.visualstudio.com/fr-fr/products/visual-studio-express-vs.aspx.

Faites attention car il existe aussi plusieurs versions gratuites de Visual Studio Express 2013. Il existe une version dédiée au développement d’applications dans le langage ASP.NET, ainsi qu’une version Express 2013 pour Windows, qui est en réalité dédiée au développement d’applications pour les Windows Phone.

Pour l’instant, prenez bien l’édition Express 2013 pour Bureau Windows.

Téléchargement et installation

Cliquez pour télécharger. Parmi, les différentes options d’installation, sélectionnez la version en français, ainsi que l’installation directe de Visual Studio 2013 avec sa dernière mise à jour.

Pour procéder au téléchargement, vous devez vous identifier sur le site de Microsoft. C’est gratuit et cela sera nécessaire pour la suite.

Une fois que vous êtes identifié, vous pouvez télécharger la version Express 2013 pour Windows Desktop, autrement dit, la version bureau. En cliquant sur le lien de téléchargement, vous enregistrez le fichier de lancement.

Avant d’ouvrir le dossier, vous remarquerez que Microsoft vous propose de créer un compte sur Visual Studio Online. Pour l’instant ne le faites pas car ce n’est pas nécessaire, et vous pourrez toujours le faire plus tard, si vous voulez.

Ouvrez le dossier où est téléchargé l’installateur, puis double-cliquez dessus. Dans la fenêtre qui s’ouvre, acceptez les termes du contrat, en cochant la case, et cliquez sur Installer.

Selon la vitesse de votre téléchargement, et votre matériel, il faut compter parfois jusqu’à une trentaine de minutes.

Le téléchargement, l’installation et la configuration sont terminés.

Vous cliquez sur Lancer.

Page de démarrage

Sur la page de démarrage, vous pouvez voir les nouveaux projets que vous pouvez créer ainsi que les projets récents. Les projets récents sont les projets sur lesquels vous avez pu travailler, par exemple s’il s’agit d’une réinstallation de Visual Studio.

Vous avez aussi le menu que l’on aura l’occasion de détailler dans la prochaine vidéo. Vous aurez aussi l’occasion de mettre les « mains dans le cambouis » et de voir concrètement comment faire les premiers développements avec C#.

Lien pour télécharger Express 2013 pour Bureau Windows :
http://www.visualstudio.com/fr-fr/products/visual-studio-express-vs.aspx.

Téléchargez la vidéo : 001 Installer Visual Studio 2013 pour C#.

Téléchargez les exemples de code.

Tous les articles sur le développement en C#.

Journal des changements NTFS USNJRNL

http://forensicsfromthesausagefactory.blogspot.co.uk/2010/08/usn-change-journal.html

http://www.microsoft.com/msj/0999/journal/journal.aspx

http://msdn.microsoft.com/en-us/library/windows/desktop/aa363801(v=vs.85).aspx

http://msdn.microsoft.com/en-us/library/ff469400.aspx

http://msdn.microsoft.com/en-us/library/windows/desktop/aa363877(v=vs.85).aspx

http://inform.pucp.edu.pe/~inf232/Ntfs/ntfs_doc_v0.5/files/usnjrnl.html

http://msdn.microsoft.com/en-us/library/windows/desktop/aa365732(v=vs.85).aspx

https://tzworks.net/prototype_page.php?proto_id=5

http://msdn.microsoft.com/en-us/library/windows/desktop/aa363997(v=vs.85).aspx

http://msdn.microsoft.com/en-us/library/windows/desktop/aa363803(v=vs.85).aspx

DEP / NX SEHOP ASLR PINNING EMET

How to determine that hardware DEP is available and configured on your computer

New NX APIs added to Windows Vista SP1, Windows XP SP3 and Windows Server 2008

How to enable Structured Exception Handling Overwrite Protection (SEHOP) in Windows operating systems

SEHOP per-process opt-in support in Windows 7 – Security Research & Defense

http://msdn.microsoft.com/en-us/library/bb430720.aspx

http://www.cs.bu.edu/fac/goldbe/teaching/HW55813/vulNmit.pdf

Data Execution Prevention (DEP)

Structured Exception Handler Overwrite Protection (SEHOP)

http://unifiedsecurity.wordpress.com/

Preventing the Exploitation of Structured Exception Handler (SEH) Overwrites with SEHOP

Address Space Layout Randomization (ASLR)

Certificat Trust (Pinning)

http://blogs.technet.com/b/srd/archive/2013/06/17/emet-4-0-now-available-for-download.aspx

http://blogs.technet.com/b/srd/archive/2012/05/15/introducing-emet-v3.aspx

http://blogs.technet.com/b/srd/archive/2010/09/02/enhanced-mitigation-experience-toolkit-emet-v2-0-0.aspx

http://esec-lab.sogeti.com/post/Bypassing-ASLR-and-DEP-on-Adobe-Reader-X