Vous n'avez pas encore de notification

Page d'accueil

Options d'affichage

Abonné

Actualités

Abonné

Des thèmes sont disponibles :

Thème de baseThème de baseThème sombreThème sombreThème yinyang clairThème yinyang clairThème yinyang sombreThème yinyang sombreThème orange mécanique clairThème orange mécanique clairThème orange mécanique sombreThème orange mécanique sombreThème rose clairThème rose clairThème rose sombreThème rose sombre

Vous n'êtes pas encore INpactien ?

Inscrivez-vous !

Développez votre première application sous Windows : Hello, world !

Version Matrix !
Développez votre première application sous Windows : Hello, world !
Crédits : Ekaterina79/iStock

Nous avons réussi à vous convaincre de tester l'aventure du développement d'applications pour maitriser un peu mieux l'outil informatique et son fonctionnement ? Tant mieux ! Nous allons commencer par faire simple avec un exemple en général connu de tous : « Hello, World ! ».

Une application peut être un élément relativement simple, qui prend quelques lignes de code au sein d'un script. Cela peut également être une page web qui vise un but précis. Pour commencer à vous faire découvrir le développement, nous avons décidé de ne pas aller vers une solution de facilité ou à vous effrayer. Plutôt à faire dans l'entre-deux.

Notre objectif pour la première partie de ce dossier est de vous faire développer une application complète avec une interface graphique. Mais avant d'entrer dans le dur, vous devrez installer quelques outils et maitriser des notions de base. Pour cela, commençons donc par quelque chose d'assez basique : une application console qui se contentera d'afficher le célèbre « Hello, World ! » que vous pouvez réaliser en quelques lignes dans de nombreux langages.

Notre dossier sur la programmation et le développement d'application :

Installation de l'environnement de développement

Avant de commencer, il nous faut choisir un langage et un environnement de développement (EDI). L'objectif final étant d'obtenir une application complète avec une fenêtre, nous nous tournons vers C#, via Visual Studio, un outil et un langage reposant sur le framework .NET qui sont plutôt faciles à appréhender pour un débutant.

L'application se limitera alors à un fonctionnement sous Windows pour ce premier exercice. Il faut tout d'abord configurer l'environnement de base. Différentes éditions de Visual Studio existent, dont une version Community gratuite. Elle intègre toutes les fonctionnalités principales, du développement d'applications console à celles avec une interface WinForms en passant par les applications Universelles.

Vous pouvez aussi l'utiliser pour développer des projets multiplateformes, pour des appareils mobiles ou des sites web. De nombreux plugins sont disponibles pour cet EDI qui vous permettra de découvrir le monde de la programmation de manière simple et complète, et surtout sans frais. Un bon point d'entrée, les versions payantes proposant surtout des fonctionnalités propres à un usage professionnel.

Pour l'installer, il suffit de télécharger un petit programme qui se chargera de lancer la procédure. C'est également lui qui gèrera les éventuelles mises à jour.

L'outil d'installation vous demandera quel type d'application vous désirez développer. Visual Studio est un outil complet, mais qui peut être assez lourd si vous n'y prenez pas garde. Sa nouvelle procédure installe néanmoins le strict nécessaire par défaut, réclamant 609 Mo d'espace disque.

Pour du développement .NET Desktop – le cas qui nous intéresse aujourd'hui – le poids grimpera à pas moins de 3,3 Go. Vous pourrez bien entendu modifier ce choix par la suite via Visual Studio Installer.

Visual Studio CommunityVisual Studio Community

Une fois la procédure terminée, vous serez invité à vous connecter avec un compte Microsoft, qui débloque l'accès à différents services. Pour notre guide, cette étape n'est pas nécessaire, vous pouvez ainsi la remettre à plus tard.

Au premier lancement, vous devrez choisir entre différents thèmes : Bleu, Clair ou Sombre. Plusieurs paramètres de développement vous seront aussi proposés en fonction du langage visé : développement web, Visual Basic, C# ou C++. Ici nous choisirons C#. L'environnement sera alors prêt à être utilisé.

Microsoft propose de nombreuses vidéos de découverte de son outil, comme un guide de mise en route ou un tutoriel pour créer une première application en C++. Ceux qui veulent aller plus loin trouveront des ressources dans le centre de développement Windows, la documentation dédiée aux développeurs, les exemples de code, les nombreuses vidéos de Channel 9 ou encore les cours de la Microsoft Virtual Academy (en anglais).

Notez que notre but n'est pas ici de tout vous faire connaître de C# ou de la programmation orientée objet. Des livres entiers étant consacrés au sujet, il serait bien présomptueux de penser pouvoir tout simplifier en quelques articles. Certaines notions pourront donc parfois vous échapper, c'est tout à fait normal et ça ne doit pas vous empêcher pas de vous lancer.

Nous aurons l'occasion de développer différents éléments au fur et à mesure de la publication de ce dossier. Nous placerons néanmoins tous les liens nécessaires vous permettant d'approfondir le sujet si vous le désirez.

Hello, World !

Il est maintenant temps de créer l'application console affichant le célèbre « Hello, World ! » pour vous faire la main. Créez d'abord un projet dans Fichier > Nouveau > Projet (CTRL + MAJ + N), puis sélectionnez Application console (.Net Framework), avant de lui donner le nom HelloWorld et de cliquer sur OK.

L'interface de Visual Studio se découpe en plusieurs parties. Outre l'habituel menu et sa barre d'outils, on retrouve l'espace central où seront ouverts les différents éléments comme les fichiers à éditer. À droite, l'Explorateur de solutions permet de naviguer dans le projet et l'application.

Cette dernière se compose de fichiers, de propriétés et de références créés par défaut. On trouve également les sections Propriétés et Sortie (en bas, invisible au départ) qui nous seront utiles plus tard.

Application Console Code C#

Notre application se compose principalement d'un fichier Program.cs. Dans celui-ci on trouve différentes sections qui vous seront pour le moment étrangères et sur lesquelles vous ne devez pas vous attarder pour le moment.

Sachez seulement que cela commence par les directives using, qui sont des références à des espaces de nom, qui contiennent des classes et méthodes spécifiques. Elles ne sont pas utilisées dans la version de base du programme, ce qui explique qu'elles soient grisées dans l'interface de Visual Studio (voir ci-dessus).

L'application est représentée par l'espace de nom HelloWorld qui contient une classe Program avec une procédure Main. Celle-ci est de type static, et renvoie une valeur vide (void). C'est d'ailleurs pour cela qu'on parle de procédure et non de méthode (ou fonction).

Les arguments qui peuvent être envoyés par l'utilisateur via la ligne de commande sont transmis sous la forme d'un tableau (symbole []) de variables de type string, c'est-à-dire des variables composées de chaînes de caractères.

Tout ce que vous devez savoir à ce stade, c'est que lorsque le programme est lancé, c'est cette méthode Main qui est lancée. Pour le moment, elle est vide. Si on exécute l'application, rien ne se passe et elle sera directement fermée. Pour le vérifier, il suffit de lancer la procédure de débogage avec la touche F5 ou Déboguer > Démarrer le débogage. L'application sera alors compilée puis exécutée.

Si l'on veut voir quelque chose se passer à l'écran, il faut éviter que l'application ne se ferme. Pour cela, il existe une méthode permettant de simuler une pause : Console.Read() Elle attend que vous tapiez un caractère au clavier et renvoie sa valeur sous la forme d'un entier (int), qui peut être attribué à une variable.

Vous verrez qu'au fur et à mesure que vous tapez dans l'éditeur, les différentes méthodes et variables disponibles s'afficheront par autocomplétion. Cela pourra vous permettra de gagner du temps. Notez qu'une ligne de commande se termine toujours par le symbole « ; ».

Si vous lancez à nouveau l'application (F5), elle ne se fermera que lorsque vous presserez une touche.

Maintenant nous allons afficher le texte « Hello, World ! ». Nous pourrions le faire simplement, mais nous allons plutôt passer par une variable string nommée textToShow. Une fois déclarée et initialisée, nous afficherons le texte avec la méthode Console.Write(). Cela donne le code suivant :

Finissons par une petite gourmandise : nous la jouer à la Matrix avec une police verte ! Pour cela, il existe la propriété Console.ForegroundColor à laquelle nous pouvons attribuer la valeur ConsoleColor.Green.

Avant de finaliser notre application, nous allons en simplifier le code, notamment au niveau des directives using inutilisées. Visual Studio intègre une fonction Supprimer et trier les directives using accessibles d'un clic droit dans la partie de l'éditeur de code (CTRL+R, CTRL+G). La directive System sera la seule à être préservée, puisque c'est d'elle que dépend la classe Console que nous utilisons pour les méthodes Read() et Write().

Voici le résultat final :

Vous n'avez plus qu'à compiler une version définitive de votre application. Pour cela il vous suffit de sélectionner Release à la place de Debug dans la barre d'outils. Pour générer la solution sous la forme d'un fichier exécutable, pressez la touche F6 (Générer > Générer la solution). L'application se trouvera dans le répertoire HelloWorld\bin\Release de votre projet.

Le dossier de votre projet peut être ouvert via un clic droit sur le projet dans l'Explorateur de solution (Ouvrir le dossier dans l'Explorateur de fichiers). Voilà, vous avez développé votre première application !

Notez que C# rend ces premières étapes plus simples  à compter de sa version 9.

Hello World C#

127 commentaires
Avatar de GruntZ Abonné
Avatar de GruntZGruntZ- 22/12/17 à 16:17:29

La première application sous Windows, c'est pas "Hello world !", c'est "Goodbye Freedom !"

Apprendre à marcher avec des chaînes aux pieds, non merci.

Avatar de Spaz001 INpactien
Avatar de Spaz001Spaz001- 22/12/17 à 16:17:56

Intéressant.
Je pense que l'on préfèrera utiliser WriteLine plutôt que Write, sinon vous devez écrire des Environnement.NewLine pour le retour à la ligne, assez lourd. Mais c'est un "Hello World", peu importe :D

Ce genre d'article va-t-il aller plus loin que l'initiation ?

Avatar de neointhematrix INpactien
Avatar de neointhematrixneointhematrix- 22/12/17 à 16:24:35

Vous auriez pu mettre "Wake up, Neo..."

Avatar de David_L Équipe
Avatar de David_LDavid_L- 22/12/17 à 16:26:47

Oui pour le coup, l'osef est total :D

Avatar de OlivierJ Abonné
Avatar de OlivierJOlivierJ- 22/12/17 à 16:27:30

GruntZ a écrit :

La première application sous Windows, c'est pas "Hello world !", c'est "Goodbye Freedom !"

Apprendre à marcher avec des chaînes aux pieds, non merci.

+1

Je vais faire mon râleur aussi, mais je regrette aussi que ce soit sous Windows avec de l'écosystème MS (du .Net en particulier, même si ce dernier est en partie libre si je ne m'abuse).

[MA VIE]Mon fils est encore en maternelle mais je compte bien ensuite le laisser s'amuser avec du Linux et un langage de programmation bien fichu genre Python (ou autre peut-être plus adapté aux enfants pour débuter, je n'ai pas creusé).
J'avais appris à programmer d'abord sur une calculatrice HP puis en Basic sur Commodore 64 :phibee: [/MAVIE]

Avatar de Argonaute Abonné
Avatar de ArgonauteArgonaute- 22/12/17 à 16:36:23

La dernière version de VS est basé sur .Net Core qui est s'appuie sur les packages nuget et qui est multi environnement Windows/Linux.

L'environnement de développement est disponible sur Linux via Visual Studio Editor.

MS est de moins en moins Windows centrique quand aux environnements de développement ou d'exécution même s'il existe encore quelques restrictions liées aux librairies de fenêtrage.

Édité par Argonaute le 22/12/2017 à 16:38
Avatar de David_L Équipe
Avatar de David_LDavid_L- 22/12/17 à 16:39:13

Si tu veux tu peux aussi lire en détail l'intro du dossier et les explications sur pourquoi on commence par ça et le fait qu'on ne se limitera pas à ça. 

Mais comme dit par Argonaute, C#/VS ne se limitent pas à Windows notamment depuis l'arrivée de .Net Core/Standard, m'enfin si on veut faire un guide qui touche potentiellement pas mal de monde et qui soit simple pour une première approche, on peut éviter de commencer par Netbeans/Qt.

Avatar de tazvld Abonné
Avatar de tazvldtazvld- 22/12/17 à 16:41:26

J'ai une question : pourquoi C# ?
Je comprend que vu la cible visée par le tutos, considérer qu'il sera sous Windows est logique, mais le choix du langage m'est moins claire, c'est un peu donner le bâton pour se faire battre par la communauté de NxI qui aime tant écrire Micro$oft avec plein de dollar.
Python est par exemple bien plus commun comme premier langage (d'après ce que j'ai compris, c'est dans le cursus du lycée).

Avatar de David_L Équipe
Avatar de David_LDavid_L- 22/12/17 à 16:45:33

tazvld a écrit :

J'ai une question : pourquoi C# ? 

La réponse est dans le dossier
 

tazvld a écrit :

c'est un peu donner le bâton pour se faire battre par la communauté de NxI qui aime tant écrire Micro$oft avec plein de dollar. 

On peut être critique de certaines actions de Microsoft mais aussi reconnaître leur bon boulot côté environnement de développement, sur .Net et C#. Je suis sûr que la majorité de la communauté en est largement capable ;)
 

tazvld a écrit :

Python est par exemple bien plus commun comme premier langage (d'après ce que j'ai compris, c'est dans le cursus du lycée).

Oui, si tu veux faire du script. Ce n'est pas ce que l'on cherche à faire ici (mais ça aussi c'est détaillé dans le dossier qu'il est intéressant de lire avant de commenter :chinois:) Et comme dit également, on ferra le tour de différents langages outils si le retour sur ce genre d'article est bon, mais c'était plus "Fun" de commencer par quelque chose de plus concret que de la simple ligne de commande

Édité par David_L le 22/12/2017 à 16:47
Avatar de OlivierJ Abonné
Avatar de OlivierJOlivierJ- 22/12/17 à 16:51:51

David_L a écrit :

Si tu veux tu peux aussi lire en détail l'intro du dossier et les explications sur pourquoi on commence par ça et le fait qu'on ne se limitera pas à ça.

J'ai relu l'autre article d'introduction, ainsi que celui-ci, mais je reste sur ma faim.

David_L a écrit :

Mais comme dit par Argonaute, C#/VS ne se limitent pas à Windows notamment depuis l'arrivée de .Net Core/Standard, m'enfin si on veut faire un guide qui touche potentiellement pas mal de monde et qui soit simple pour une première approche, on peut éviter de commencer par Netbeans/Qt.

Ben vu que MS a une fois de plus décidé d'utiliser sa stratégie "Embrace and Extend", de copier Java en faisant leur sauce à eux, j'aurais préféré du Java tant qu'à faire (avec Eclipse pourquoi pas).

En plus quand je lis ces passages, ça ne me donne pas envie :

  • « L'application se limitera alors à un fonctionnement sous Windows pour ce premier exercice. »
  • « Visual Studio est un outil complet, mais qui peut être assez lourd si vous n'y prenez pas garde. Sa nouvelle procédure installe néanmoins le strict nécessaire par défaut, réclamant 609 Mo d'espace disque.
    Pour du développement .NET Desktop – le cas qui nous intéresse aujourd'hui – le poids grimpera à pas moins de 3,3 Go. »
    • « Une fois la procédure terminée, vous serez invité à vous connecter avec un compte Microsoft, qui débloque l'accès à différents services. Pour notre guide, cette étape n'est pas nécessaire, vous pouvez ainsi la remettre à plus tard. »

Vouloir apprendre la programmation à certains, au départ j'y suis tout à fait favorable. Mais je suis devenu allergique à MS dans les années 90 (comme on disait déjà, "MS is to computer what McDonalds is to gourmet cooking") et même si j'ai réussi à y échapper une partie de ma carrière, la suite ne m'a pas réconcilié (cf le dossier de SebSauvage http://sebsauvage.net/wiki/doku.php?id=microsoft que j'ai redécouvert il y a quelques jours et qui me rappelle pourquoi je n'aime pas du tout MS, il y a trop de passif).

Édité par OlivierJ le 22/12/2017 à 16:54
Il n'est plus possible de commenter cette actualité.
Page 1 / 13