Translate

dimanche 16 août 2015

Le type var ou la magie du CLR !

Le type var ?

"var" est un type implicite utilisé pour la déclaration d'une variable.

Mais a quoi sert ce type ?

Il permet simplement de déclarer une variable sans avoir à se soucier lors de la déclaration du type explicite. Il permet également une lecture simplifiée du code.

Euh... et avec un exemple ?

Voici un petit exemple qui montre qu'on peut facilement déclarer des variables sans avoir à ce soucier du type :

public class TestVar
{
   public static void Main()
   {
      var testVarString = "toto";
      var testVarInt = 5;
   }
}

Ce code équivaut à écrire :

public class TestVar
{
   public static void Main()
   {
      string testVarString = "toto";
      int testVarInt = 5;
   }
}

Comment ça marche ? C'est magique ?

Pour le développeur presque car c'est le compilateur qui fait tout le boulot !
Au moment de la compilation le compilateur (CLR) détermine le type réel et convertit le type var par celui déterminé. C'est transparent pour le développeur. Cela s'appelle l'inférence de type.
Cependant pour utiliser le type var il est obligatoire d'initialiser la variable en lui attribuant par exemple une valeur au moment de sa déclaration ! Autrement le compilateur vous retournera une belle erreur :
"Implicitly-typed local variables must be initialized"


lundi 20 avril 2015

Les premiers pas en C#

Un petit pas pour l'homme, un grand pas pour le développeur

Aujourd'hui j'ai décidé de vous accompagner dans la création de votre tout premier programme en C#.  Pour ce faire, je vous invite à vous munir en prérequis d'un environnement de développement (IDE pour les intimes) tel que Visual Studio Community.

Ok c'est fait, et maintenant ?

Une fois l'environnement de développement installé nous allons procéder à la création de notre tout premier projet : une application console !

C'est quoi une application console ?

Une application console est une application dépourvue d'interface graphique, elle permet d'interagir avec l'utilisateur et d'exécuter des traitements au travers de lignes de commande.
Pour débuter un langage informatique, l'application console est le type de projet le plus simple pour apprendre car il n'impose pas de gérer une couche graphique supplémentaire.

Il est courant de voir des tutoriaux qui présentent la très célèbre application "Hello world" pour débuter dans un langage de programmation. Celle-ci démontre comment afficher un message à l'écran, en l'occurrence "Hello World !". J'ai décidé pour ces premiers pas en C# de vous présenter le développement d'un programme un peu plus interactif sans être trop compliqué (n'hésitez pas à me faire un retour en commentaire si vous trouvez que la difficulté est trop élevée pour un premier programme).

Quand est ce que je commence à coder ?

Commençons !
Tout d'abord ouvrons notre environnement de développement préféré Visual studio.

Créons notre premier projet. Allez dans File > New > cliquez sur Project. (Voir image1)
Image1
 
Comme expliqué précédemment nous allons créer un projet de type "Console Application". Choisissez un nom pour votre projet, dans mon exemple je l'ai nommé "HelloYou". Nous laisserons le reste de la configuration par défaut. Cliquez sur "OK" (Voir image2)
Image2

Visual studio va gentiment générer des fichiers sources correspondant à notre squelette de projet "Application console". Dans la fenêtre "Solution Explorer" (voir image3) nous voyons le contenu de notre projet. Il est composé d'une arborescence contenant des fichiers de propriété (Properties), d'une arborescence contenant les références nécessaires au projet (References), d'un fichier "App.config" contenant la configuration du projet et d'un fichier "Program.cs" qui est le point d'entrée de l'exécution de notre programme.

Image3

Intéressons nous au fichier "Program.cs" qui contient les sources interprétés lors de l'exécution de notre programme. Voici quelques détails sur son contenu :
  1. Déclaration de notre namespace "HelloYou". Le namespace est un espace permettant le rangement des classes d'un projet. Les premières lignes commençant par "using" référencent les espaces de nom contenant les classes utiles au programme.
  2. Déclaration de la classe "Program". Une classe regroupe un ensemble d'élément (méthodes, attributs, propriétés...) formant une entité décrivant un objet. 
  3. Déclaration de la méthode "Main". La méthode "Main" est celle exécutée par défaut au démarrage du programme.
    Image4
     
Nous allons ajouter dans notre méthode principale "Main" quelques lignes de code :
Note : Les lignes préfixées par "//" correspondent à des commentaires dont le but est de faciliter la compréhension du code. Elles ne sont pas prises en compte dans l'exécution de celui-ci.
  1. Affichage sur la sortie standard de la question "What's your name ?"
  2. Lecture de la réponse est inscription du résultat dans la variable "name".
  3. Affichage du résultat sur la sortie standard en utilisant la variable "name".
  4. La dernière ligne de code nous permet de garder le programme ouvert. Sans cette ligne le programme s'exécuterait et se fermerait sans que l'on ai le temps de voir s'afficher le résultat.
Image5
Pour finir cliquez sur le bouton "Start" en haut de la fenêtre ce qui lancera la compilation du code et l'exécution du programme. Voici le résultat :

Image6

Voilà j'espère que ce petit tutoriel vous a plu !
Comme il est plus facile d'apprendre par la pratique je vous conseille de le tester chez vous :).

 

lundi 13 avril 2015

Sondage : Avec quel langage de programmation développez-vous principalement ?

Un sondage ?

Curieux de voir les dernières tendances sur le développement informatique, j'ai mis en place un sondage permettant de vous exprimer sur le langage de programmation que vous utilisez dans votre quotidien.


Ok mais je développe en C#, HTML, javascript...etc.

La plupart des développeurs utilisent plusieurs langages pour développer leurs projets. L'objectif de ce sondage n'est pas de connaître tous les langages utilisés dans un projet mais de cibler le langage principalement utilisé.




Bon vote ! :)

dimanche 12 avril 2015

Développer avec les produits et technologies Microsoft... gratuitement ! si si !

Où est l'arnaque ?

Non ce n'est pas une blague ou une incitation au piratage, aujourd'hui il est possible de monter tout un environnement de développement... gratuitement !

On m'aurait donc menti toutes ces années ?

La légende urbaine voudrait que la firme de Redmond vende des produits onéreux ou non accessible à tous car uniquement disponible sous licence payante, mais que nenni, je vais vous montrer que ces légendes ne sont aujourd'hui plus d'actualités.
Pour ceux qui souhaitent utiliser les produits Microsoft pour leurs projets de développement, celui-ci met à disposition une panoplie de ses produits phares gratuitement !

Mais quels sont ces logiciels ??

Un environnement de développement 

Tout d'abord il nous faut un environnement de développement, ça tombe bien, Microsoft offre une version gratuite de son célèbre IDE Visual studio! Cette version nommée "Community" est destinée aux développeurs indépendants, aux startups ou encore aux étudiants !
Pour télécharger la dernière version de l'IDE en version "Community" cliquez ici.

Un serveur de base de données 

Vous allez me dire, avoir un environnement de développement c'est bien mais où je vais stocker les données de mon application ? Très simplement dans la version Express de SQL Server ! SQL Server Express est une version allégée de SQL Server qui est LE système de gestion de base de données (SGBD) de Microsoft. Pouvant contenir des bases de données d'une taille allant jusqu'à 10Go, elle conviendra parfaitement pour des petits projets.
Pour plus d'infos sur les possibilités de cette version et ses limites je vous invite à consulter la documentation MSDN.
 

Un serveur web

Vous souhaitez créer une application web ? Microsoft met à disposition une version "Express" de son serveur Internet Information Services (IIS ou 2IS) ! Cette version allégée d'IIS vous permettra de développer et de tester facilement vos applications web sur votre environnement de développement.
Pour utiliser IIS, vous pouvez l'activer dans les fonctionnalités Windows, pour cela allez dans :
Panneau de configuration\Programmes\Programmes et fonctionnalités
Puis Activer ou désactiver des fonctionnalités Windows

Cochez la fonctionnalité Internet Information Services
 

Un gestionnaire de sources

Vous avez maintenant un environnement de développement, un système de gestion de base de données et un serveur web, c'est déjà plus qu'il n'en faut pour créer une application ! Mais nous n'allons pour nous arrêter là car nous voulons faire du travail propre ! Pour cela nous allons utiliser la version gratuite de Visual Studio Team Foundation Server (TFS pour les intimes) ! Et oui cette version gratuite nommée "Express" vous permettra de manager et versionner vos codes sources, gérer le travail en équipe, partager les tâches, archiver vos modifications ...etc.

Un environnement de travail collaboratif

La petite cerise sur le gâteau, pour ceux qui ont accès à une version serveur de Windows (2008/2012) il est possible d'installer une version gratuite de Sharepoint nommée Sharepoint Foundation. Sharepoint est un environnement de travail collaboratif permettant entre autre le partage et le versioning de document, la mise en place d'espaces collaboratifs pour le partage d'information, la gestion de planning, la création de blogs ou de wikis pour une équipe ou pour un projet... Cette version même gratuite offre de nombreuses fonctionnalités couvrant une bonne partie des besoins courants qu'une petite ou moyenne entreprise peut rencontrer.
 

Et bien d'autres ...

Je pourrais également vous présenter Skype pour les communications à distance, onedrive pour la partie cloud, outlook ...et bien d'autres, mais je vais m'arrêter là pour ce sujet. :)

Note : Je vous invite à vérifier les préconisations et les configurations minimales requises à l'installation des logiciels.

En espérant que cet article vous aura montré une autre facette du développement avec les technologies Microsoft ! En attendant je vous souhaite à tous bon développement ! :)

mercredi 8 avril 2015

Windows Redstone !

Un nouveau jeu vidéo ?

Et non, bien que Windows 10 ne soit pas encore sorti, un nouveau projet serait inscrit dans la roadmap Windows, nom de code : Windows Redstone !

Et Windows 10 dans tout ça ?

Redstone serait en fait de nouvelles évolutions majeures de Windows 10, apportant de nouvelles fonctionnalités et probablement une modification du noyau pour la prise en compte de nouveaux dispositifs.
Prévues courant de l'année 2016, ces nouvelles évolutions semblent s'inscrire dans la continuité de la stratégie "Windows as a service".

Pour plus d'informations : Source


lundi 6 avril 2015

Règles de nommage en C#

Quèsaco ?

Les règles de nommage déterminent le formatage des éléments constituants le code.

Ok et alors ?

Presque chaque langage informatique utilise ses propres règles de nommage. Il faut avant tout savoir qu'il n'y a pas une bonne ou mauvaise manière de nommer les éléments dans un programme informatique, ce dernier n'aura pas de problème à compiler et fonctionnera correctement peu importe qu'une classe ou qu'un paramètre soit écrit en majuscule ou minuscule. Cependant il est important de noter que pour faciliter la maintenance d'un programme il est préférable d'utiliser une norme dans l'équipe de développement pour nommer chacun des éléments constituant un programme (Classe, méthode, propriété, champs...). Et même si vous développez seul, utiliser une règle de nommage offrira de la cohérence au code !
En C# il est fréquent d'utiliser deux conventions de nommage :
Camel Case : La première lettre de l'identifiant commence par une minuscule et chaque mot concaténé commencera par une majuscule. (exemple : camelCase)
Pascal Case : La première lettre tout comme tous les mots concaténés commencerons en majuscule. (exemple : PascalCase)

Voici les règles conseillées par Microsoft et que la plupart des développeurs suivent :

IdentifierCaseExample
ClassPascalAppDomain
Enum typePascalErrorLevel
Enum valuesPascalFatalError
EventPascalValueChange
Exception classPascalWebException
Note   Always ends with the suffix Exception.
Read-only Static fieldPascalRedValue
InterfacePascalIDisposable
Note   Always begins with the prefix I.
MethodPascalToString
NamespacePascalSystem.Drawing
ParameterCameltypeName
PropertyPascalBackColor
Protected instance fieldCamelredValue
Note   Rarely used. A property is preferable to using a protected instance field.
Public instance fieldPascalRedValue
Note   Rarely used. A property is preferable to using a public instance field.

Pour plus d'informations n'hésitez pas à consulter le site MSDN Microsoft.

Un petit exemple simple :

namespace World.Humain
{
   public enum Gender
   {
              Female,
              Male 
    }
   class Person : IPerson
   {
      private string name;
      private int age;
      public int Age { get { return age; } private set { age = value; } }
      public string Name { get { return name; } private set { name = value; } }
      public Gender Gender { get; private set; }
      public Person(string name, int age, Gender gender)
      {
                     Age = age;
                     Name = name;
                     Gender = gender;
       }
    }
}

dimanche 5 avril 2015

Easter egg !

La période de Pâques oblige, je vais vous présenter ce qu'est un "easter egg".

Ben oui c'est quoi ?

Traduit de l'anglais au français cela signifie "œuf de Pâques".

Mais qu'est-ce que cela a à voir avec l'informatique ?

En informatique, un "easter egg" représente un élément caché dans un logiciel apparaissant généralement à la suite de l'inscription d'un mot clé ou d'une combinaison spécifique de touche du clavier.

Un exemple ?

Oui je vais même en montrer deux pour illustrer mes propos, le premier vient d'un petit programme perso créé pour l'occasion. Son objectif est de répondre à certaines questions simples que je lui pose ("Salut","comment tu vas ?" ...) et lorsque j'inscris dans ma question le mot secret "easteregg" ce dernier me répond d'une manière un peu inhabituelle...


Un autre exemple, vous pouvez tester sur internet depuis le 1er avril et pendant encore quelques jours le célèbre jeu Pacman en accédant su site Google Maps. Pour cela il suffit de vous rendre sur le site de Google et de cliquer sur l'icône que vous pouvez voir en bas à gauche de la "Figure 1". Et voilà vous pouvez désormais jouer à Pacman dans vos rues favorites !

Figure1

Figure2

Joyeuses pâques à tous !