Blazor Custom Elements en HTML ou en React
Introduction
Depuis la version 7.0 de .NET, Microsoft a amélioré et intégré la possibilité de créer des HTML Custom Elements. Ces éléments personnalisés offrent aux développeurs, un moyen de créer leurs propres éléments DOM à fonctionnalités complètes. Dans Blazor, cela permet de publier ces composants vers d’autres Frameworks SPA, tels qu’Angular ou React. Plus d’info dans la documentation de Microsoft.
Les composants personnalisés Blazor :
-
Utilisent les interfaces HTML standard pour mettre en œuvre des éléments HTML personnalisés.
-
Éliminent la nécessité de gérer manuellement l’état et le cycle de vie des composants Blazor en utilisant les API JavaScript.
-
Sont utiles pour introduire progressivement des composants Blazor dans des projets existants écrits dans d’autres frameworks SPA.
Remarquez que ces éléments personnalisés Blazor ne prennent pas en charge les Child Contents ou les Templated Contents.
Multiple comptes SSH en GitHub
Lorsque vous travailler avec GitHub (ou GIT), vous devrez peut-être utiliser plusieurs comptes sur le même ordinateur. Cet article décrit comment créer et utiliser plusieurs clés SSH afin de travailler sur plusieurs dépôts, depuis le même PC.
C# TryParse Vs Try Catch
Cet article analyse les performances C# entre l’utilisation de TryParse et de Try Catch. Il arrive fréquemment que l’on recoive des données, dont le format est suspect, et qu’il faut convertir vers un type de données bien précis. Pour cela, le développeur utilise fréquemment TryParse ou Try Catch. Mais quelle est la meilleure solution ?
Chacun a ses avantages et ses inconvénients en fonction du contexte. Je pense que la plupart des développeurs suggéreraient
- l’approche Try Catch permet d’obtenir plus d’informations sur l’erreur de conversion.
- l’utilisation de TryParse si vous ne vous souciez pas de savoir pourquoi quelque chose échoue.
Un GUID plus court et plus convivial
Lorsque vous générer du code HTML, vous avez souvent besoin d’un identifiant unique.
Un GUID fonctionne très bien mais il est très long (3297F0F2-35D3-4231-919D-1CFCF4035975
).
Vous pouvez le racourcir mais n’existe-t’il pas une manière plus optimisée (plus rapide)
de générer un identifiant en C# ?
Visual Studio - Ajouter un nouveau fichier
Contrairement à VSCode, Visual Studio ne dispose pas d’un raccourcis clavier pour ajouter rapidement un fichier dans le Solution Explorer.
Pour résoudre ce manquement, Mads Kristensen a créé l’extension Add New File (64-bit).
Azure DevOps - Azure Service Connection
Pour déployer un site internet, une Azure fonction ou un WebJob dans Azure, via Azure DevOps, le plus simple et le plus performant est d’utiliser la tâche Azure Web App Deployment.
Si votre compte Azure DevOps est le même que celui utilisé dans le portail Azure, vous n’aurez probablement pas de difficulté à sélectionner votre Azure Subscription dans la liste des abonnements affichés dans cet écran.
Par contre, si vous devez déployer dans un environnement Azure qui ne vous appartient pas (celui du client, par exemple), cela devient beaucoup plus compliqué car vous devez préalablement enregistrer ce compte dans votre liste d’Azure Subscriptions. Mais une fois cette Subscription définie, le reste est un jeu d’enfant.
Blazor - Authentification par Cookie
Pour authentifier un utilisateur, Blazor Server utilise les mêmes composants que ceux d’ASP.NET Core.
Le principe est donc d’injecter le service services.AddAuthentication().AddCookie()
et d’appeler la méthode HttpContext.SignInAsync
en précissant les Claims
adéquats.
Mais le principal problème est que Blazor Server utilise SignalR pour communiquer entre le navigateur internet et le serveur. Ce qui empêche le transfert correct des cookies. Il est donc nécessaire de définir des WebAPIs et de les appeler en Http.
Pour aider à la compréhension du développement de ces différentes étapes, je vous ai enregistré une vidéo qui reprend la création d’un projet Blazor Server et l’intégration de toutes étapes pour sécuriser une page ou des composants.
Video - Comment créer un projet Blazor Server authentifié
Le code source complet est disponible ici.
Blazor - Capturer les pages 404 (non trouvées)
Pour capturer toutes les routes qui ne correspondent à aucune page déjà existante, il existe deux techniques :
- App.razor
Cette méthode classique consiste à modifier le balise NotFound de la page App.razor. Cela fonctionne très bien, tant que vous n’avez pas besoin du contenu de la route erronée.
Micro, Webcam, logiciels pour vos réunions ou vos podcasts.
Depuis plusieurs années, j’anime le podcast DevApps.ms, qui traite l’actualité, le développement et l’architecture des technologies .NET. A cette occasion, je me suis renseigné sur le matériel et les logiciels qui permettent de produire des podcasts de qualité. Le site de Scott Hanselman m’a bien aidé.
Depuis quelques mois maintenant, la pandémie mondiale nous force souvent à télétravailler. Pour quelques jours, discuter aves des collègues en utilisant le micro et la caméra de l’ordinateur portable peut probablement suffire. Mais au bout de quelques mois, vous souhaitez probablement disposer d’une qualité d’image et de son plus appréciable.
Voilà deux des raisons qui m’incitent à partager mes expériences dans le choix de matériel audio et vidéo. Ce matériel n’est certainement pas de qualité professionnelle, mais dispose de beaucoup d’atout pour améliorer notre télétravail quotidien.
Microsoft Teams - Créer un Bot en C#
Dans cet article, nous allons créer un Microsoft Teams Bot développé en C#, en utilisant le SDK de Microsoft. Ensuite, nous l’hébergerons dans Azure et nous le publierons dans le Teams de votre entreprise. Vous pouvez ainsi adapter le code C# facilement pour améliorer la discussion avec votre Bot.
Les étapes sont :
- Développer un Bot en C#
- Tester le Bot localement
- Publier le Bot dans Azure
- Créer un Bot Channels Registration
- Configurer le canal Teams
- Créer un package de déploiement pour Teams
- Installer le package dans Teams