Blazor : Framework Web .NET

Introduction Depuis les premiers navigateurs, Javascript a beaucoup évolué pour permettre de développer des applications web plus complexes. L’émergence récente des Web Assembly ouvre la possibilité de compiler du code que les navigateurs pourront exécuter directement sans avoir à parser le code source. Ceci offre une alternative à Javascript pour les développeurs qui souhaitent dynamiser […]

En savoir plus


Implémenter un service Windows avec TopShelf

Un article de Benoit Benardin – Lors de l’implémentation d’une tache de fond, se pose toujours la question Console App + Schedule ou Service Windows. L’un est plus facile développer car plus facile à débugger, l’autre apparait plus propre et plus en accord avec une solution d’entreprise. Mais saviez-vous que ce choix est obsolète avec […]

En savoir plus


Envoyer un rapport SSRS au format MHTML, en tant que corps de mail

On peut avoir besoin d’envoyer un rapport Sql Server Reporting Services (SSRS) dans un mail. En général pour cela, on génère un fichier au format choisi (PDF, Excel, Word…), qui est ajouté en pièce jointe au mail. Ceci dit on peut aussi avoir besoin d’envoyer ce rapport en tant que corps du mail, en utilisant un […]

En savoir plus


Pièges en C# – Episode 2

Parce qu’un article ne peut être nommé « Episode 1 » que s’il y a un épisode 2, voici le successeur de son prédécesseur. Comme tout épisode 2 qui se respecte, on reprend la recette du 1, mais avec des pièges encore plus inattendus et encore plus mortels. Double (ou float) et arrondi Le problème

Bien évidemment, 1.000001 – […]

En savoir plus


Build 2016 : les nouveautés UWP que vous avez peut-être manquées

Bonjour à tous, La Build 2016 de Microsoft est maintenant passée avec son lot de grandes nouveautés annoncées aux conférences principales. En parallèle de nombreuses nouveautés ont été présentées lors des conférences annexes, voici celles qui ont attiré mon attention et que vous avez peut-être manquées. Certaines sont déjà en places et d’autres sont en […]

En savoir plus


UWP : Empêcher les ContentDialog de prendre tout l’écran

Bonjour à tous, Une petite astuce au niveau du comportement des ContentDialog. Celles-ci ont un comportement par défaut qui peut s’avérer gênant. En fonction de la hauteur de la fenêtre elles vont : -Être centrées -Être fixées en haut -Prendre toute la hauteur disponible Le dernier comportement (qui peut être forcé avec la propriété FullSizeDesired) […]

En savoir plus


Analyse croisée des ETL SAS Data Integration Studio et Microsoft SSIS

Comme à mon habitude à la fin de chaque mission j’essaie de faire un état des lieux de mes connaissances et prendre un peu de recul sur les sujets traités. Aujourd’hui ma réflexion prendra dans cet article la forme d’une étude comparative à l’usage pour un développeur ( il ne s’agit pas de faire un test […]

En savoir plus


Pièges en C# – Épisode 1

Le C# a beau être un langage très agréable à utiliser, il comporte tout de même des pièges. Je parle de choses auxquelles on ne fait pas forcément attention, qui ne font pas d’erreur de compilation, mais qui aboutissent à un comportement imprévu ou lent. Voici donc une liste de pièges sur lesquels j’ai pu […]

En savoir plus


Les collections en .NET

Cet article a pour objectif de présenter les principales collections présentes dans le framework .NET et leurs avantages et inconvénients, principalement en terme de complexité algorithmique. Ensuite, je ferai une petite introduction à LINQ. Enfin, vous trouverez le code C# pour une classe nommée LazyList<T>, qui profite des avantages d’une énumération LINQ et de ceux […]

En savoir plus


Application UWP : Optimisation des pages multi résolutions

Les applications Windows 10 doivent être conçues pour réagir dynamiquement aux différentes diagonales d’écran. Une solution disponible est de « remodéliser » son application : par exemple un affichage sur téléphone nécessitera une navigation pour accéder au détail alors que sur un écran plus large le détail sera affiché sur la même page. Pour plus d’informations c’est […]

En savoir plus