L'instruction using en C#

17. January 2011 16:01 by Renaud in   //  Tags:   //   Comments (0)

Lors d'un gros projet, il est important pour garder de bonnes performances de bien manager les ressources. Une astuce pour éviter bien des problèmes avec l'utilisation des classes implémentant l'interface IDisposable, est d'utiliser l'instruction using. Prenons deux cas problèmatiques: Votre application ouvre des fichiers en lectures avec un StreamReader. Ces fichiers sont dès lors locké et ne peuvent plus être accédé en écriture. Si pour une raison le code  n’atteint pas l'appel à Dispose(), les ressources ne seront pas libérées. Cela signifie que votre fichier restera locké jusqu'à la fin d'exécution de votre code. Un deuxième exemple, avec des SqlConnection cette-fois. Si votre code n'atteint jamais Dispose() ou Close(), vos connections resteront actives même si une exception a eu lieu pendant une requête. Le problème est que le risque d'atteindre la limite du pool de connexion existe, et à ce moment votre base de données n'acceptera plus aucune connexion. Pour illustrer la bonne pratique à suivre, nous allons utiliser un StreamReader:

StreamReader streamReader = new StreamReader("monFichier");
String line;
while((line = streamReader.ReadLine()) != null)
{
       Console.WriteLine(line);
}
streamReader.Dispose();

Dans cet exemple, même si les risques sont faibles, la dernière instruction pour ne jamais être atteinte. Dans ce cas on se retrouvera avec un fichier locké. Une solution plus acceptable est d'utiliser les try-catch:

StreamReader streamReader = null;
try
{
    streamReader = new StreamReader("monFichier");
    String line;
    while((line = streamReader.ReadLine()) != null)
    {
        Console.WriteLine(line);
    }
}catch(Exception e){
    // Gestion des exceptions
}finally{
     streamReader.Dispose();
}

Dans ce cas-ci, quoi qu'il arrive on libèrera toujours la mémoire. Cette solution est équivalente à la dernière que je vais vous présenter, mais vous allez voir qu'il y a moyen de faire un code beaucoup plus joli! :)

using(StreamReader streamReader = new StreamReader("monFichier")){
    String line;
    while((line = streamReader.ReadLine()) != null)
    {
        Console.WriteLine(line);
    }
}

Et voilà, ça suffit. L'instruction using s'occupe d'appeler Dispose() sur les objets dont elle s'occupe dès qu'on sort du bloc d'instruction. Cette pratique est recommandée pour toutes les classes implémentant l'interface IDisposable! A savoir: cette instruction peut aussi s'utiliser pour des cas plus complexes et augmentera fortement la lisibilité du code. Vous pouvez par exemple sans problème gérer plusieurs objets comme ceci:

using ( StreamReader r1 = new StreamReader("monFichier1"),
                     r2 = new StreamReader("monFichier2"))
{
    Console.WriteLine( r1.ReadLine());
    Console.WriteLine( r2.ReadLine());
}

Premier contact avec l'échantillon

15. January 2011 21:01 by Renaud in   //  Tags:   //   Comments (0)

Un stage en entreprise c'est bon quand tu participes vraiment à la vie de l'entreprise et qu'au final tu ne te sens pas comme un simple stagiaire. C'est d'ailleurs là tout l'intérêt. Je pense être assez bien tombé de ce point de vue. Ce vendredi avec Suzanne, on est allé voir les résidents du Sacré-Coeur à Ciney. Finalement je ne les ai pas vu pratiquer, c'était pas le bon jour, mais on a discuté avec Alexandra, leur coach informatique, et Anne Jadin, directrice de l'établissement. J'ai pu leur présenter vite fait l'idée de l'éditeur. Apparemment les aînés sont très demandeurs, ça pourrait vraiment les motiver à s'intéresser aux nouvelles technologies. J'ai assisté aussi aux discutions plus business, c'était sympa même si j'ai pas tout entravé niveau acronyme. A la base, la santé, c'est pas trop mon domaine! Bref, la journée s'est terminée assez vite autour d'un verre :)

Pas seulement coder!

11. January 2011 21:01 by Renaud in   //  Tags:   //   Comments (1)

Mardi 11, j'me rends compte que je ne vais pas seulement coder durant mon stage. Pour commencer, il a fallu installer le serveur (HP ProLiant G6) tout neuf dédié au projet. Il a été baptisé Juventix, en référence à la jeunesse, et aux TICs (devenues tiX).

HP ProLiant G6

J'irai refaire une photo plus nette de la bête, avec le flash cette fois-ci :) Là-dedans y'a 5 x 500Go de dd + 8Go de RAM. On a mis 2 dd en RAID-1 pour l'OS (Windows server 2008 Standard) et les 3 autres disques en RAID-5 pour la bdd. L'après-midi, rendez-vous avec Suzanne pour discuter de mon rôle dans le projet. Deux choses:

  1. Une partie du projet a été sous-traitée par une société extérieure. Cette société a fourni un template pour aider à la création du projet, et ce template utilise des librairies dont ils sont propriétaires. A ce jour, on ne souhaite plus collaborer avec ces gens. Il faut donc coder un workaround à ces librairies pour ne plus être dépendants de leurs mises à jour.
  2. Nos amis utilisateurs et béta-testeurs du Sacré-Coeur de Ciney publient un journal trimestriel et aimeraient avoir un outil pour participer à la rédaction de ce journal. On va donc mettre en place un éditeur de texte simplifié avec quelques styles, juste ce qu'il faut pour faire un bel article!

User Story

10. January 2011 21:01 by Renaud in   //  Tags:   //   Comments (0)
Lundi 10, arrivée au MIC juste à temps, à 8h30; pour un premier speech de Ben Piquard. Je suis installé dans la salle de meeting avec 2 autres stagiaires. C'est le moment de nous expliquer les bases:
  • ambiance décontractée
  • autonomie => responsabilités
  • tout un tas de ressources à notre disposition
On attend beaucoup de nous, ça met la pression, mais on nous donne ce qu'il faut pour qu'on s'en tire bien. Après l'intro de Ben, on a eu droit à un petit mot de David Hernie (qui m'a vivement conseillé de tenir ce blog à jour quotidiennement [mea culpa, j'ai déjà 2 jours de retard comme vous pouvez le voir], parce que ce sera un putain d'aide-mémoire le jour venu où il faudra commencer la rédaction de mon TFE), et pour finir de notre coach: Pierre Mengal. Pierre, c'est celui qui va tout faire pour nous aider à mener notre stage au mieux, nous guider et nous soutenir en cas de conflit. Bon évidemment faut pas jouer au con non plus :) C'est bon de sentir qu'on a un soutient derrière, et il joue parfaitement son rôle. Même s'il doit clairement être overbooké, jusqu'à présent j'ai toujours reçu des réponses très rapide aux mails que je lui ai envoyé! Bref, on a discuté avec Pierre jusqu'à midi en terminant par une brève intro sur le multi-threading. Ca n'a pas l'air bien compliqué :) Après midi, rencontre avec la maître de stage. Elle m'a présenté vite fait le projet Keep-In-Touch que je connaissais déjà pour l'avoir déjà vu à la Journée Découverte Entreprise.

Un début

9. January 2011 21:01 by Renaud in   //  Tags:   //   Comments (1)

Microsoft Innovation Center

Pour débuter ce blog, il aura fallu attendre le début d'une nouvelle année (2011 en l'occurrence), et le début de mon stage. Nous sommes le 9 janvier, et c'est demain, lundi, que je ferai mon premier jour au Microsoft Innovation Center de Mons en tant que stagiaire pour le projet Keep-In-Touch de Suzanne Kieffer.

C'est drôle parce que c'est à la fois excitant et stressant. Les gens sont assez relax, même si il savent comment te mettre la pression. Quand tu les as en face tu sens qu'ils ont plein de trucs à t'apprendre, c'est assez intimidant. J'suis du genre timide, et eux veulent des gens avec des personnalités originales. C'est doublement angoissant de le savoir.

Enfin, je ferai de mon mieux! Je ne m'inquiète pas pour le niveau technique, je pense que je serai à la hauteur. Si ça marche pour moi, ce sera une bonne opportunité pour m'ouvrir des portes! Et puis y'a de fortes chances qu'on puisse se faire quelques parties de Xbox 360 pendant les pauses. J'crache pas desssus: j'ai toujours voulu jouer à Guitar Hero sur console!

Projets

1. December 2010 21:12 by Renaud in   //  Tags:   //   Comments (0)
2011
  • WP7Team
Pendant le premier semestre de 2011, mes amis et moi avons pas mal développé pour la plateform Windows Phone! Nous y avons consacré un blog: http://www.wp7team.com/ Il n'est plus tellement tenus à jour ces derniers temps parce que nous avons tous notre activité professionnelle sur le côté qui nous occupe pas mal, mais il reste tout de même Matthieu Vandenhende qui est développeur Windows Phone chez Agilys. Si vous cherchez du nouveau contenu, vous pouvez aller visiter son blog :) 2010-1011
  • Projet C++:

Team: Matthieu Vandenhende, Kévin Rapaille, et moi.

Ce projet est encore en cours de développement. Pas de deadline précise pour le moment!

Le but ici est d'utiliser la librairie QT! On a décidé de se lancer dans la réalisation d'un Tower Defense, style VectorTD. C'est assez fun à faire :) l'intérêt étant de bien comprendre comment fonctionne la librairie, comment gérer les QGraphicsView, les QGraphicsItem et tout le reste correctement pour garder des performances correctes. Si on s'y prend mal on se retrouve vite avec une application qui tourne à 5fps, et c'est assez difficile à défendre :)

Bref, le projet avance tout doucement, on a plus ou moins fini le mode solo. Globalement il nous reste à dessiner quelques tours différentes pour que ce soit plus chouette à jouer, mais la base est là. Ce qui va être plus chaud par contre, c'est implémenter le mode multijoueur! Mais je vous en reparlerai certainement plus tard ici-même! ;)

  • Projet VB.NET + ASP.NET MVC 2:

Ce projet a été réalisé par groupe de 4 dans le cadre des cours d'Analyse, de Projet et de Technologies Internet.

Le but était de réaliser un site de gestion de recettes accompagné d'une application Windows en VB.Net pour permettre à l'admin de gérer la plupart des tables de la base de données.

Deux personnes (dont Matthieu Vandenhende) se sont focalisées sur le développement de la partie VB du projet tandis que Kévin Rapaille et moi nous nous sommes lancés dans la conception du site.

Le MVC 2 a été une grande découverte pour nous deux :) Et une bonne découverte pour ma part! C'est une façon tout à fait intéressante de faire un site pour moi qui apprécie l'orienté objet. On a travaillé avec l'Entity Framework et fait toutes nos pages à la main, html, css et tout le tsoin-tsoin! C'était plus amusant ainsi, et je pense pouvoir dire qu'au final ça en valait la peine!

Pour voir le résultat, c'est ici: n'hésitez pas à vous inscrire et poster vos recettes :) C'est une sorte de réseau social de la cuisine sur lequel vous pouvez créer des repas sur base d'une recette du site, inviter vos amis inscrits sur le site à ce repas. Vous pouvez également partager des recettes, les noter, les commenter, renseigner vos goûts pour que vos hôtes sachent si la recette qu'ils vont vous proposer peut vous convenir ou si au contraire elle est à éviter de toute urgence!

Une Recette Presque Parfaite! 2010-1011
  • Projet Polyac:

Cette année aura été l'année du java:

Le plus gros projet a consisté à réaliser (dans le cadre des cours) une application de gestion des prestations des professeurs d'une école privée de langue à Mons.

Le sous-directeur de l'établissement est venu à plusieurs reprises nous faire part de ses desiderata. Nous avons commencé par une petite phase d'analyse, puis une grosse période de codage.

C'était en quelque sorte notre premier gros projet puisqu'on a bossé pour un vrai client. J'ai ainsi pu constater les problèmes auxquels on peut être confrontés, comme par exemple un client qui change d'avis ou qui ne sait pas ce qu'il veut. Évidemment c'est notre boulot aussi de mettre des mots sur ses idées pour que tout le monde soit d'accord.

Au final cette application m'a permis de bien gérer les interfaces graphique. Pas de designer, c'était plus drôle à la main. J'suis un pro des layouts maintenant. J'me suis bien pris la tête pour que toute l'application se resize correctement, etc. Une autre bonne chose a été l'utilisation d'un ftp. Bon, dans le fond ce n'est clairement pas la meilleure solution, mais on avait pour consigner d'utiliser la sérialisation, et pas de bases de données. Mais il fallait bien trouver un moyen de communication car nos utilisateurs étaient de deux types: l'administrateur qui gère de son bureau les listes des clients (venant d'une entreprise ou pas), des cours, des profs et de leurs prestations. De leur côté, les professeurs devaient avoir accès à la liste des cours qui leurs étaient attribués ainsi qu'aux étudiants inscrits dans ces cours. Ils devaient également pouvoir remplir des tableaux de prestations pour préciser combien d'heures de cours ont été données à chaque groupe d'étudiant, envoyer ces fiches de prestation à l'admin qui les contrôlera et rémunérera les professeurs en fonction.

On a donc décidé d'utiliser un ftp pour stocker des fichiers de données, tout ça en réfléchissant à comment les découper de manière à ce qu'à aucun moment il n'y ait de danger d'accès concurrent et donc de perte ou de modification foireuse des données.

Un autre truc cool, c'est qu'on a judicieusement mis en place un système de mise à jour from scratch du programme via un ftp à nous! On place sur notre ftp un fichier contenant un indication sur la dernière version du programme se trouvant en ligne. Si cette version correspond à la version du programme installée, pas de soucis! Si par contre ce n'est pas le cas, on propose à l'utilisateur de faire la mise à jour. A ce moment, notre application lance une deuxième application chargée de faire la mise à jour avant de s'éteindre. La deuxième application télécharge la nouvelle version et écrase l'ancien exécutable. Une fois que c'est fait, et si tout s'est bien passé, elle lance l'exécution de l'application principale! Et voilà notre programme mis à jour. Cette petite astuce nous a permis de continuer à développer même après avoir dû rendre notre projet :)

  • Projet Simplexe/Dual:

Encore un projet java, mais cette fois lié à notre cours de math. Vous avez déjà entendu parler du simplexe. C'est une méthode qui permet de minimiser (ou maximiser) une fonction objectif d'après un ensemble d'inégalités linéaires.

Bref, si un jour on arrive à vous demander de résoudre ce genre de trucs, voici une application java qui fonctionne en mode console et qui permet de résoudre des problèmes linéaires de n contraintes à m variables selon deux méthodes: simplexe ou dual.

A l'époque j'avais posté mon code ici: http://files.codes-sources.com/fichier.aspx?id=50984. La javadoc est fournie avec. N'hésitez pas à réutiliser le code si ça vous intéresse.

2008-2009 Laissez-moi le temps de me rappeler...

2011

  • WP7Team

Pendant le premier semestre de 2011, mes amis et moi avons pas mal développé pour la plateform Windows Phone! Nous y avons consacré un blog: http://www.wp7team.com/

Il n'est plus tellement tenus à jour ces derniers temps parce que nous avons tous notre activité professionnelle sur le côté qui nous occupe pas mal, mais il reste tout de même Matthieu Vandenhende qui est développeur Windows Phone chez Agilys. Si vous cherchez du nouveau contenu, vous pouvez aller visiter son blog :)

2010-1011

  • Projet C++:

Team:

Matthieu Vandenhende,

Kévin Rapaille,

et moi.

Ce projet est encore en cours de développement. Pas de deadline précise pour le moment!

Le but ici est d'utiliser la librairie QT! On a décidé de se lancer dans la réalisation d'un Tower Defense, style VectorTD. C'est assez fun à faire :) l'intérêt étant de bien comprendre comment fonctionne la librairie, comment gérer les QGraphicsView, les QGraphicsItem et tout le reste correctement pour garder des performances correctes. Si on s'y prend mal on se retrouve vite avec une application qui tourne à 5fps, et c'est assez difficile à défendre :)

Bref, le projet avance tout doucement, on a plus ou moins fini le mode solo. Globalement il nous reste à dessiner quelques tours différentes pour que ce soit plus chouette à jouer, mais la base est là. Ce qui va être plus chaud par contre, c'est implémenter le mode multijoueur! Mais je vous en reparlerai certainement plus tard ici-même! ;)

  • Projet VB.NET + ASP.NET MVC 2:

Ce projet a été réalisé par groupe de 4 dans le cadre des cours d'Analyse, de Projet et de Technologies Internet.

Le but était de réaliser un site de gestion de recettes accompagné d'une application Windows en VB.Net pour permettre à l'admin de gérer la plupart des tables de la base de données.

Deux personnes (dont Matthieu Vandenhende) se sont focalisées sur le développement de la partie VB du projet tandis que Kévin Rapaille et moi nous nous sommes lancés dans la conception du site.

Le MVC 2 a été une grande découverte pour nous deux :) Et une bonne découverte pour ma part! C'est une façon tout à fait intéressante de faire un site pour moi qui apprécie l'orienté objet. On a travaillé avec l'Entity Framework et fait toutes nos pages à la main, html, css et tout le tsoin-tsoin! C'était plus amusant ainsi, et je pense pouvoir dire qu'au final ça en valait la peine!

Pour voir le résultat, c'est ici: n'hésitez pas à vous inscrire et poster vos recettes :) C'est une sorte de réseau social de la cuisine sur lequel vous pouvez créer des repas sur base d'une recette du site, inviter vos amis inscrits sur le site à ce repas. Vous pouvez également partager des recettes, les noter, les commenter, renseigner vos goûts pour que vos hôtes sachent si la recette qu'ils vont vous proposer peut vous convenir ou si au contraire elle est à éviter de toute urgence!

Une Recette Presque Parfaite!

2010-1011

  • Projet Polyac:

Cette année aura été l'année du java:

Le plus gros projet a consisté à réaliser (dans le cadre des cours) une application de gestion des prestations des professeurs d'une école privée de langue à Mons.

Le sous-directeur de l'établissement est venu à plusieurs reprises nous faire part de ses desiderata. Nous avons commencé par une petite phase d'analyse, puis une grosse période de codage.

C'était en quelque sorte notre premier gros projet puisqu'on a bossé pour un vrai client. J'ai ainsi pu constater les problèmes auxquels on peut être confrontés, comme par exemple un client qui change d'avis ou qui ne sait pas ce qu'il veut. Évidemment c'est notre boulot aussi de mettre des mots sur ses idées pour que tout le monde soit d'accord.

Au final cette application m'a permis de bien gérer les interfaces graphique. Pas de designer, c'était plus drôle à la main. J'suis un pro des layouts maintenant. J'me suis bien pris la tête pour que toute l'application se resize correctement, etc. Une autre bonne chose a été l'utilisation d'un ftp. Bon, dans le fond ce n'est clairement pas la meilleure solution, mais on avait pour consigner d'utiliser la sérialisation, et pas de bases de données. Mais il fallait bien trouver un moyen de communication car nos utilisateurs étaient de deux types: l'administrateur qui gère de son bureau les listes des clients (venant d'une entreprise ou pas), des cours, des profs et de leurs prestations. De leur côté, les professeurs devaient avoir accès à la liste des cours qui leurs étaient attribués ainsi qu'aux étudiants inscrits dans ces cours. Ils devaient également pouvoir remplir des tableaux de prestations pour préciser combien d'heures de cours ont été données à chaque groupe d'étudiant, envoyer ces fiches de prestation à l'admin qui les contrôlera et rémunérera les professeurs en fonction.

On a donc décidé d'utiliser un ftp pour stocker des fichiers de données, tout ça en réfléchissant à comment les découper de manière à ce qu'à aucun moment il n'y ait de danger d'accès concurrent et donc de perte ou de modification foireuse des données.

Un autre truc cool, c'est qu'on a judicieusement mis en place un système de mise à jour from scratch du programme via un ftp à nous! On place sur notre ftp un fichier contenant un indication sur la dernière version du programme se trouvant en ligne. Si cette version correspond à la version du programme installée, pas de soucis! Si par contre ce n'est pas le cas, on propose à l'utilisateur de faire la mise à jour. A ce moment, notre application lance une deuxième application chargée de faire la mise à jour avant de s'éteindre. La deuxième application télécharge la nouvelle version et écrase l'ancien exécutable. Une fois que c'est fait, et si tout s'est bien passé, elle lance l'exécution de l'application principale! Et voilà notre programme mis à jour. Cette petite astuce nous a permis de continuer à développer même après avoir dû rendre notre projet :)

  • Projet Simplexe/Dual:

Encore un projet java, mais cette fois lié à notre cours de math.

Vous avez déjà entendu parler du simplexe. C'est une méthode qui permet de minimiser (ou maximiser) une fonction objectif d'après un ensemble d'inégalités linéaires.

Bref, si un jour on arrive à vous demander de résoudre ce genre de trucs, voici une application java qui fonctionne en mode console et qui permet de résoudre des problèmes linéaires de n contraintes à m variables selon deux méthodes: simplexe ou dual.

A l'époque j'avais posté mon code ici: http://files.codes-sources.com/fichier.aspx?id=50984. La javadoc est fournie avec. N'hésitez pas à réutiliser le code si ça vous intéresse.

2008-2009

Laissez-moi le temps de me rappeler...

À propos

30. November 2010 20:11 by Renaud in   //  Tags:   //   Comments (0)
Renaud Dumont.

Intéressé par les technologies depuis toujours, je me passionne pour la programmation depuis quelques années. C'est assez pratique puisque je peux généralement faire les choses que j'aime simultanément: écouter de la musique, et toucher à toutes sortes de technologies. J'aime ce qui est pratique! Parfois il m'arrive d'essayer de regarder les infos à la télé en même temps, mais ça devient critique.

Après une brève introduction à l'ex-Université Mons-Hainaut, qui était clairement une erreur d'orientation, j'ai obtenu mon diplôme de bachelier en Informatique de gestion à la HELHa (qui s'appelait encore IRAM à l'époque).

Ma formation s'est terminée par un stage de 5 mois au Microsoft Innovation Center. Cela a été une expérience incroyable. Souvent stressante, mais également libératrice.

Plus le temps passe, et plus je passe de temps à me consacrer à la programmation, ce qui me rend parfois dingue quand mon ratio sommeil/boulot devient incroyablement déséquilibré.

J'ai signé mon premier contrat avant d'obtenir mon diplôme: Junior Software Engineer chez RealDolmen. J'ai ainsi découvert le monde des SSI et les projets de grosses envergures. Durant les quelques mois passés chez RealDolmen, j'ai continué à entretenir mon goût non seulement pour le développement, mais aussi pour l'écriture et le partage.

J'ai eu l'occasion de participer à de nombreux évènements partout en Belgique, et quelques fois même en France. Souvent en anglais, et généralement loin de chez moi. J'ai la chance de pouvoir me déplacer facilement, mais je conçois tout à fait que ces events ne soient pas à la portée de tous (je pense par exemple aux étudiants, aux personnes ayant des horaires moins flexibles ou à ceux pour qui l'anglais reste une barrière). Jusqu'à présent il n'y avait pas vraiment d'alternative dans notre région, et c'est dans ce contexte que j'ai changé de job pour retourner au Microsoft Innovation Center... mais cette fois-ci dans le rôle d'IT Evangelist.

Pour me contacter, n'hésitez pas à cliquer sur l'un des liens en haut à droite de cette page ! ;)Renaud Dumont.

Intéressé par les technologies depuis toujours, je me passionne pour la programmation depuis quelques années. C'est assez pratique puisque je peux généralement faire les choses que j'aime simultanément: écouter de la musique, et toucher à toutes sortes de technologies. J'aime ce qui est pratique! Parfois il m'arrive d'essayer de regarder les infos à la télé en même temps, mais ça devient critique.

Après une brève introduction à l'ex-Université Mons-Hainaut, qui était clairement une erreur d'orientation, j'ai obtenu mon diplôme de bachelier en Informatique de gestion à la HELHa (qui s'appelait encore IRAM à l'époque).

Ma formation s'est terminée par un stage de 5 mois au Microsoft Innovation Center. Cela a été une expérience incroyable. Souvent stressante, mais également libératrice.

Plus le temps passe, et plus je passe de temps à me consacrer à la programmation, ce qui me rend parfois dingue quand mon ratio sommeil/boulot devient incroyablement déséquilibré.

J'ai signé mon premier contrat avant d'obtenir mon diplôme: Junior Software Engineer chez RealDolmen. J'ai ainsi découvert le monde des SSI et les projets de grosses envergures. Durant les quelques mois passés chez RealDolmen, j'ai continué à entretenir mon goût non seulement pour le développement, mais aussi pour l'écriture et le partage.

J'ai eu l'occasion de participer à de nombreux évènements partout en Belgique, et quelques fois même en France. Souvent en anglais, et généralement loin de chez moi. J'ai la chance de pouvoir me déplacer facilement, mais je conçois tout à fait que ces events ne soient pas à la portée de tous (je pense par exemple aux étudiants, aux personnes ayant des horaires moins flexibles ou à ceux pour qui l'anglais reste une barrière). Jusqu'à présent il n'y avait pas vraiment d'alternative dans notre région, et c'est dans ce contexte que j'ai changé de job pour retourner au Microsoft Innovation Center... mais cette fois-ci dans le rôle d'Evangelist IT Jr.

Pour me contacter, n'hésitez pas à cliquer sur l'un des liens à droite de cette page ! ;)

TextBox

About the author

I'm a developer, blog writer, and author, mainly focused on Microsoft technologies (but not only Smile). I'm Microsoft MVP Client Development since July 2013.

Microsoft Certified Professional

I'm currently working as an IT Evangelist with an awesome team at the Microsoft Innovation Center Belgique, where I spend time and energy helping people to develop their projects. I also give training to enthusiastic developers and organize afterworks with the help of the Belgian community.

MIC Belgique

Take a look at my first book (french only): Développez en HTML 5 pour Windows 8

Développez en HTML5 pour Windows 8

Membre de l'association Fier d'être développeur

TextBox

Month List