Suite à la publication du 1er article disponible ici : https://hts-learning.com/blog/2023-05-15/ml_net_basics qui posait les bases du machine learning et des possibilités offertes , j’ai décidé d’écrire un second article mais cette fois-ci sur les images et la détection d’objets. Cette fois-ci nous allons donc créer une application Blazor qui va nous permettre d’importer une image […]
Read More
Le 13 juin a été annoncé la preview 5 d’ASP .NET Core 8 et du noyau .NET 8. Je vais vous faire un résumé rapide de ce qui m’a intéressé personnellement. Commençons par le noyau : Celles doivent être enregistrés dans le conteneur d’injection de dépendances : Pour pouvoir être utilisées ensuite pour créer nos […]
Read More
Aujourd’hui , nous allons explorer une facette de ChatGPT qui est encore très peu connue. En effet , tout le monde a joué avec ChatGPT pour poser des questions, générer du code etc mais peu de personnes ou de sociétés ont mis en place des cas d’usage « professionnels ». Nous allons donc voir comment utiliser ChatGPT […]
Read More
Aujourd’hui on va s’intéresser aux filtres en ASP .NET Core. Je me suis aperçu qu’il y avait une confusion entre les filtres et les middlewares. En effet, les deux se ressemblent sur le papier mais n’utilisent pas les mêmes choses. Voici la pipeline d’exécution d’un middleware : Et celle d’un filtre : On voit tout […]
Read More
Avant l’arrivé de .NET 8.0, la construction des routes pour les contruscteurs ou les minimal API étaient fastidieuses car elles ressemblaient à cela : Nous saisissions du texte pour définir notre route mais nous ne savions pas ce si ce que nous saisissions était juste. Heureusement .NET améliore tout cela sur plusieurs axes : Mise […]
Read More
Lors d’un blog post du 11 avril , Microsoft a présenté 3 nouvelles features pour C#12. Nous allons donc détailler chacune de ces 3 features . Les constructeurs principaux Pour rappel, cette feature concerne toutes les classes et structures qui ne sont pas des records. Un record par exemple ressemble à ceci : ou ceci […]
Read More
L’API Web est généralement la partie la plus importante d’une application Web.C’est ainsi que vous exposez votre application Web au monde et aux autres utilisateurs, et elle doit être rapide, facile à utiliser et à jour.gRPC est l’une des API Web les plus avancées et les plus intéressantes de l’industrie aujourd’hui, et elle ajoute beaucoup […]
Read More
Il y a déjà quelques temps, le papa de Blazor Steve Sanderson, avait annoncé Blazor United avec une démo. Mais qu’est ce que c’est au final ? Dans ASP.NET Core aujourd’hui, nous avons plusieurs façons de créer une interface utilisateur Web : De nombreuses applications Web modernes doivent utiliser une combinaison de ces approches, à la […]
Read More
J’étais en train de faire de la veille lorsque je suis tombé sur une vidéo parlant de Twizzar. https://www.twizzar.com/ Par curiosité je suis allé voir ce que proposait de plus cette librairie de tests unitaires. Nous sommes tous conscients que les tests unitaires sont une partie extrêmement importante du développement et qu’elle est nécessaire. Personnellement, […]
Read More
Définition .NET 7.0 a été l’occasion de découvrir de nouveau middlewares et un de ceux qui m’a le plus fait plaisir est le middleware d’OutputCache. Nous avions précédemment le ResponseCache qui permettait de décorer nos endpoints et de mettre en cache les données renvoyées. Donc pourquoi créer un nouveau middleware pour faire la même chose […]
Read More
Aujourd’hui nous allons évoquer une technologie qui me tient à coeur particulièrement : Blazor. Blazor a été annoncé et publié en 2018 lors de la sortie d’ASP .NET Core 3.1 mais uniquement la version serveur. Le contexte Que ce soit de type Blazor Server ou Blazor WebAssembly, je crois énormément en cette typologie de projets […]
Read More
A l’heure actuelle, les API REST sont partout. Dans la vie de tous les jours, cela se matérialise par vos commandes de livraisons de repas,vos achats en ligne, écouter de la musique,streaming… Pour faire simple elles connectent un frontend avec un backend. Qu’est ce qu’une API ? API veut dire : Application Programming Interface. Cela […]
Read More
Nous avons tous été confrontés à des problèmes de performances lors du développement d’une application (.NET ou pas) et surtout on ne savait pas quels outils utiliser pour identifier la cause et la corriger. La performance reste une partie difficile du développement car elle peut être liée à énormément de choses comme l’infrastructure , le […]
Read More
Nous avons tous eu des soucis avec les dates et les heures au moins une fois, à chercher comment obtenir uniquement l’heure ou la date à partir d’une chaine ou d’un objet date. Depuis l’arrivé de .NET 6.0 , Microsoft nous a simplifié la vie. Nous allons voir dans cet article quelques une des méthodes […]
Read More
Microsoft vient d’annoncer un challenge en partenariat avec le site snppts afin de soumettre de nouveaux contrôles créés avec .NET MAUI. L’idée est simple, vous créez vos controles, vous les soumettez sur le github de Snppts ou .NET MAUI Good Looking UI. Vous remplissez ensuite un formulaire et si votre PR est acceptée, vous recevrez des […]
Read More
MAUI est une infrastructure multiplateforme qui vous aide à créer des applications mobiles et de bureau natives avec C# et XAML. Elle est censée être le successeur de Xamarin tout en incluant de nouvelles plateformes natives comme Windows ou MacOs. Elle permet de créer du code métier , des composants à la manière de Blazor […]
Read More
Comme prévu dans la roadmap, la preview de .NET Core a été annoncée et est disponible pour que nous puissions effectuer nos premiers retours. Au programme : MAUI en preview 13 Des améliorations de performance comme toujours 😎 Des améliorations sur HotReload une tentative d’intégration de Grpc Blazor Orleans dispo en preview (https://github.com/dotnet/orleans) .NET Core […]
Read More
Tout d’abord que sont les channels en ASP.NET Core ? un channel est une structure ou collection de données .NET où nous pouvons stocker les données du producteur et en même temps le consommateur peut les récupérer sans avoir besoin d’une synchronisation supplémentaire de notre côté. Celà peut se modéliser de la manière suivante : […]
Read More
En effet il est apparu une nouvelle pull request est apparue sur le repository Github de Donet qui va créer une nouvelle petite révolution. Cette PR consiste à vérifier la nullité d’un paramètre directement à l’exécution. Voici un exemple de ce que nous faisons aujourd’hui : Et voici ce que propose la PR : Ici […]
Read More
Dans cet article nous allons explorer la communication MicroService avec RabbitMq et ASP .Net Core. Nous verrons comment utiliser RabbitMQ et le package MassTransit pour faire communiquer des services. MassTransit nous aidera à publier et consommer des messages de notre serveur RabbitMQ. Qu’est-ce qu’un Message Broker ? Avant de commencer sur le sujet, il me […]
Read More
Une gateway d’API est une application ou un service responsable de la redirection des requêtes vers un autre service. Cette pratique est très utile et même commune dans le cadre d’une architecture microservices. Cela vous permettra de mutualiser toutes vos API REST en une seule adresse HTTP. Nous verrons donc ici comment créer cette gateway […]
Read More
Cette feature est activable sur les projets .NET 6 sous visual Studio. Ceci va vous permettre de : Valider si il n’y a pas de breaking changes entre deux versions Déterminer si la nouvelle version du package a le même ensemble de méthodes/API que la version actuelle afin d’éviter de se retrouver sans des méthodes […]
Read More
Aujourd’hui , les conteneurs sont devenus une sorte de norme en termes de déploiement. Docker s’est démocratisé mais aujourd’hui encore, Azure Kubernetes Service est une option compliquée à mettre en place pour la plupart mais prend en charge beaucoup plus de scénarios comme l’orchestration de conteneurs , le scaling automatique ou encore le service discovery. […]
Read More
Nous venons tout juste d’avoir C# 10 , .NET 6.0 et Visual Studio 2022 mais Microsoft n’est pas en reste pour les nouvelles versions de leurs produits. En effet nous avons mis à jour nos packages Nuget et librairies pour le passage à .NET 6.0 et l’une d’entre elles a bien été améliorée de mon […]
Read More
Nous avons beaucoup parlé de .NET dernièrement , mis en place de nombreux projers d’exemple en .NET mais que se passe t-il lorsque nous souhaitons migrer du framework 5.0 vers le 6.0 ? Quels sont les étapes clés pour la réussite de ce processus ? Je vais tenter de vous aiguiller pour que tout cela […]
Read More
Une des prérequis d’une API est de pouvoir valider les données reçues en entrée selon des règles business définies en amont. En tant que développeur, il nous appartient de porter un soin particulier à cette validation.
Read More
Un petit nouveau a fait son apparition dans les learning path de Microsoft : Blazor . La technologie commençant à émerger et les développeurs commencent à produire des applications complètes donc je pense que c’est une très bonne chose que Microsoft ait construit un parcours d’apprentissage pour ce type d’applications. Il vous permettra d’apprendre les […]
Read More
Parfois nous avons besoin d’effectuer des opérations non disponibles pour un type donné (string , int , List etc) et si nous savons que nous allons utiliser cette opération un grand nombre de fois , nous pouvons en faire une méthode d’extension. Imaginons que je veuille savoir si un entier est plus grand qu’un autre […]
Read More
Aujourd’hui nous allons parler d’Azure Hybrid Connections. Tout le monde connait Azure API Management ou Azure Data Gateway mais je trouve qu’Azure Hybrid Connections (AHC nous l’appellerons) est bien plus simple à utiliser. Le cas courant Selon Microsoft , AHC est définit comme suit : Azure Hybrid Connections enables you to connect your Azure App Services […]
Read More
Azure Defender permet de protéger vos ressources Azure de manière transparente. Au lieu de rajouter la protection sur chacune de vos ressources , vous pouvez directement protéger une souscription complète, ce qui est quand même moins fastidieux si vous avez beaucoup de ressources. 🚨 Malgré tout faites attention car le pricing est en fonction du […]
Read More
Microsoft vient d’annoncer la preview publique d’Azure Load Testing et nous allons voir ce que c’est et comment cela fonctionne 😄 Qu’est ce que c’est ? Tout d’abord Azure Load Testing sert à effectuer des tests de charge et de résilience pour être sur que votre application va tenir en production. Cette nouvelle feature est […]
Read More
Aujourd’hui nous allons voir comment implémenter des tests fonctionnels pour une API en .NET Core. A quoi servent les tests fonctionnels ? D’après la définition admise communément : Les tests fonctionnels sont le processus par lequel nous déterminons si un logiciel agit conformément à des exigences prédéterminées. Il utilise des techniques de test de type […]
Read More
L’authentification et la gestion des autorisations est un aspect clé dans les API.Elle permet de vérifier les permissions , les droits d’accès des applications qui se connectent ( via un utilisateur ou une autorisation déléguée).Elles sont largement utilisées aujourd’hui et sont généralement contenues dans les headers des requêtes comme par exemple JSON Web Token (JWT) […]
Read More
Pour faire suite à l’article sur l’intégration de K6 avec Azure DevOps, nous allons maintenant voir comment intégrer les tests K6 avec GitHub et les GitHub Actions. Pour cela allez sur votre repository et créez une Action : Pour ma solution .NET cela a été très simple car GitHub met à disposition des VM sur […]
Read More
Après avoir couvert le « pourquoi » et le « comment » des tests de charges/stress, il nous fallait parler de son intégration dans un environnement Azure DevOps. Commencez tout d’abord par ajouter l’extension K6 à votre projet Azure DevOps: Pour le coup j’ai importé mon repository GitHub vers mon projet Azure Devops et j’ai crée une pipeline de […]
Read More
Aujourd’hui nous allons voir comment utiliser AutoMapper de façon simple dans une solution d’API .NET 6.0. Pour commencer, créez solution API .NET 6.0 avec Visual Studio 2022 et décochez la case « Use Controllers » car on va utiliser par la même occasion les minimal API de .NET 6.0. Une fois que cela est fait, ajoutezle package […]
Read More
Lors d’un de mes derniers articles, j’ai montré comment tester une application Web avec l’utilisation de JMeter. Dernièrement j’ai vu une vidéo de Nick Chapsas sur K6 et ça m’a convaincu de tester la librairie. Il existe plusieurs types de tests lorsque nous souhaitons tester notre applications en termes de charge : Smoke testing : […]
Read More
Visual Studio 2022 arrive aujourd’hui en version finale, il est donc temps de faire un récapitulatif des features les plus importantes pour moi : 1. .NET 6 La feature le plus importante bien sur est l’inclusion de .NET 6.0 avec les minimal API , la création d’application multiplateformes et l’incorporation de frameworks spécifiques pour Androitd […]
Read More
Depuis peu , des nouveaux types d’Azure Functions ont vu le jour : cela permet d’avoir une version de .NET découplée du runtime d’exécution. Du coup les développeurs ne seront plus limités par le runtime et pourront exploiter à 100% le framework sur lequel ils vont baser leur Azure Function. Du coup l’exécution change et […]
Read More
Aujourd’hui nous allons voir ensemble comment créer des packages Nuget à partir de notre solution .NET. Vous savez ce sont ces packages qui vous aident grandement dans vos développements comme NewtonSoft.json , RestSharp etc. Si vous estimez que vous avez une bibliothèque de classes qui mérite d’être publiée sur votre feed Azure Artifact accessible aux […]
Read More
Microsoft Ignite est une conférence annuelle organisée par Microsoft pour les développeurs et les professionnels de l’informatique et qui se tient traditionnellement dans une ville des USA. La conférence dure normalement entre trois et cinq jours et comprend des sessions de présentation et ateliers pratiques. C’est l’occasion d’apprendre des experts Microsoft, des MVP et des […]
Read More
Le 9-10 novembre seront les jours de la release officielle de visual Studio 2022 , .NEt 6.0 et C# 10 et tout cela se passera pendant la . NET Conf. Je pense qu’il est important de faire un tour d’horizon des features qui me semblent importantes. Minimal API Le principe étant de coder rapidement des […]
Read More
Aujourd’hui nous allons parler d’une partie importante du développement d’une application qui est souvent négligée au même titre que les tests unitaires ou les tests d’intégration : les tests de charge et les stress test. Pour cela nous allons voir un exemple avec un outil de test éprouvé et reconnu car il n’en existe pas […]
Read More
Aujourd’hui nous allons regarder comment implémenter le « pattern » AOP dans une application avec un exemple concret. Tout d’abord il est important de définir l’AOP. l’AOP est une implémentation permettant de répondre aux « cross cutting concerns » c’est à dire aux préoccupations transversales qui impactent plusieurs fonctionnalités d’une application , comme par exemple l’injection de dépendances, le […]
Read More
Aujourd’hui nous allons voir comment intégrer un rapport Power BI à une application ASP.NET et vous allez voir qu’il n’y a rien de plus simple. Pour commencer nous allons créer une application ASP.NET MVC Core. J’ai pris une application en .NET 6.0 mais celà fonctionne de la même façon avec le framework 5.0. Choisissez ASP […]
Read More
Microsoft a récemment annoncé la preview publique des Azure functions 4.0 incluant le support de .NET 6.0 . Plus tôt cette année, la société a pris en charge Node.JS 14 et .NET 5, y compris un nouveau modèle de processus isolé qui exécute les applications de fonction .NET dans un processus de travail distinct en […]
Read More
Il est possible de sécuriser vos WebAPi de façon efficace avec une clé d’APi d’authentification. En quelques étapes cela peut être réglé. Dans ce tutoriel, je vais vous expliquer comment sécuriser vos WebAPI ASP.NET Core avec deux solutions différentes : utilisation d’un middleware et utilisation d »un Custom Attribute. A noter que ce n’est pas une […]
Read More
Dans cet article nous allons voir un exemple simple afin de monitorer un iothub et potentiellement déclencher une action via une Azure function qui pourrait nous aider à détecter des éventuels problèmes ou même sauver notre facturation. Pour celà nous allons avoir besoin de 5 ressources dans notre ressource group: un iothub avec au moins […]
Read More
Il y a des processus que vous voulez lancer fréquemment et de façon automatique en tache de fond de votre application. Il existe plein de librairies capables d’effectuer ce travail comme Hangfire mais aujourd’hui, j’ai décidé de vous parler de Quartz.Net dans ce post. Nous allons donc, dans ce post, créer une application Console qui […]
Read More
Bonjour à tous, Dans cet article, je vais passer en revue une architecture clean d’une API, en .net core 5.0. En tant que développeur , j’ai participé au développement back-end de plusieurs projets présentant différentes architectures et je crois que c’est la clean architecture qui couvre la plus grande partie des cas d’usages et présente […]
Read More
Le versioning faisant partie intégrante du travail collaboratif, il est important de savoir l’utiliser sans faire d’impairs car la moindre erreur peut détruire le travail des autres. Il s’agit ici de définir une stratégie qui m’appartient et qui a fait ses preuves dans les différentes projets sur lesquels je suis passé. 1 Le gitFlow Il […]
Read More
Tout d’abord, il y a une grande différence entre Dependency Injection et Inversion of Control. DI c’est un patron de conception, tandis que IoC c’est plutôt un mécanisme, ou une librairie(Package Nuget) utilisé pour injecter automatiquement des dépendances. NINJECT ou Unity sont des exemples de librairies IoC. La modularité et la flexibilité de ASP.NET Core s’appuient énormément sur […]
Read More
Ici nous allons énumérer un certain nombre de principes et de bonnes pratiques qui ont été pensées et validées par l’ensemble du monde informatique. DRY Don’t repeat yourself Ne vous répétez pas (don’t repeat yourself en anglais, aussi désigné par l’acronyme DRY) est une philosophie en programmation informatique consistant à éviter la redondance de code au travers de l’ensemble d’une application afin de faciliter […]
Read More
En dehors de la technique, il existe des idées communes, des pratiques qui amélioreront votre quotidien, votre crédibilité et votre assurance etc et ça vous fera du bien au moral 😊 J’ai donc compilé des bonnes idées que je trouvais pertinentes trouvées sur différents sites. Maîtriser la recherche Google Faire de la programmation, c’est apprendre à trouver […]
Read More
Bonjour à tous , Comme vous le savez déjà tous, Visual Studio 2022 est en preview depuis un petit mois mais n’avait pas montré grand chose, en tout cas pas de fonctionnalités nouvelles. Dans cette seconde preview, nous n’avons droit à beaucoup plus de choses sur le papier. Nouvelles icones \o/ Live Preview : Celà […]
Read More
Il est temps de se lancer et de commencer à partager avec la communauté mon expérience et mes ressentis sur tous les sujets touchant de près ou de loin à l’écosystème Microsoft. Pour mon 1er article j’ai choisi de partager avec vous mon avis sur un livre que j’ai lu dernièrement. J’ai choisi un livre […]
Read More