jeudi 24 septembre 2020

Déployer dans l'Azure sur IIS avec ASP.NET Core et SQL Server

En fait les derniers articles font référencent à cette problématique de déploiement dans l'Azure avec ASP.NET Core, c'est une série de problèmes tout à fait nouveaux !

Avec, allez pourquoi pas, une problématique de plus :


Mais là encore pas de solution très simple ... Le grand fautif cette fois c'est le Web Server IIS et la façon dont il traite ASP.NET Core qu'il considère comme un étranger avec de mauvais gène. Ce qui m'interpelle, c'est que quand je fais tourner mes applications avec Kestrel cela fonctionne mais dès que je passe à IIS c'est la cata !

Publish dans l'Azure

Du coup, je retourne dans ma machine de DEV pour tenter de peaufiner les logs afin de comprendre. Et puis je clique sur le bouton Publish (bouton droit sur le projet -> Publish).

Publish dans l'Azure avec IIS
Publish dans l'Azure avec IIS - An Error has occured

Oh bas mince alors, ça commence vraiment mal ! En plus c'est très décevant car ça fait longtemps que je ne suis pas venu ici (publier depuis ma machine de Dev) et c'est très pénible d'avoir à se remémorer tout cela.

Des histoires de sécurité sur des serveurs qui sont dans l'Azure donc qui me coûtent chers. Et soit disant que je ne devrait pas truster ce serveur, un comble car c'est le mien de Server !

Solution

Alors la solution est dans l'édition de la connexion Publish comme ceci :

Validate Connection

C'est navrant ! Bref, je vais peut être pouvoir publier ...

Bon et maintenant que j'ai mes logs ... Je m’aperçois que quand j'ai déployé, le fichier le fichier appsettings.production.json est créé automatiquement ... 

Et quand j'exécute mon site avec IIS, je suis en développement ...

Pour passer en production, je décide de mettre "production" dans le fichier : Web.config


C'est curieux avec Kestrel le site passe automatiquement en production, avec IIS, il faut modifier le Web.config, j'ai perdu un peu de temps mais je progresse.

Grrrr !!!

mercredi 26 août 2020

The setup for this installation of Visual Studio is not complete

Je ne comprends pas comment les ingénieurs de Redmond peuvent encore laisser passer ce genre chose tout à fait insupportable. J'ai une machine de développement installée avec Visual Studio Community 2019, je ne l'ai pas faite fonctionner depuis quelques temps, environ un mois peut être un mois et demi même et Poufff !

Au moment de redémarrer : BOUM !!!

Visual Studio - The setup for this installation of Visual Studio is not complete

Impossible d'exécuter Visual Studio, de quoi parle t-il ? Je n'ai pas fait d'installe, j'ai encore moins laissé cette machine avec un installe incomplet !

Je ne peux pas en être certain mais je pense que, comme cette machine est dans le cloud, et comme ces derniers temps quand j'utilisais VS et qu'il me proposait une mise à jour, je cliquais NON ! Il faut dire que j'avais autre chose à faire ... Dans le cloud c'est facile de forcer la mise à jour de la machine et surtout de la planter.

Ce n'est  pas admissible, j'ai client à satisfaire dans la journée et voilà que mon Visual Studio est cassé !

Comme indiqué, je lance l'exécution de Visual Studio Installer ... Avec un peu d’appréhension. Vais-je arriver à réparer mon installation de Visual Studio où vais-je devoir indiquer à mon client qu'il va falloir qu'il attende !

Visual Studio Installer - Please update Visual Studio Installer before proceeding

Je ne sais pas vous, mais moi j'ai comme l'impression que je n'ai pas le choix ;-) En gros Visual Studio me propose la mise à jour du metteur à jour, c'est fort non ?

Je clique donc sur le bouton Update

Update Visual Studio Installer
Update Visual Studio Installer
En suite, il s'exécute ....

Et BOOOUUUMMM !!!

Visual Studio Installer - Setup Failed !
Visual Studio Installer - Setup Failed !

Du coup, il ne me reste plus qu'une option, cliquer sur View problems

Et ARRRGGGGGS !!!

Visual Studio Installer - Sorry, something went wrong !
Visual Studio Installer - Sorry, something went wrong !

Ça fait beaucoup d'erreurs, remarquez en même temps il s'excuse c'est déjà ça.

Mais ce n'est véritablement pas, dans un monde compétitif, admissible. Si cet idiot d'installeur s'est pris les pieds dans le tapis, la moindre des choses c'était de remettre tout ça comme avant en état de fonctionnement.

Il ne me reste plus qu'à cliquer sur le bouton : More troubleshooting tips

Et là ... c'est le drame ... Résolution des problèmes d’installation et de mise à niveau de Visual Studio. 

Réparation de l'installation de la mise à jour ratée

Pour ma part, je vais directement à l'étape 4 :

Étape 4 : supprimer le répertoire Visual Studio Installer pour résoudre les problèmes de mise à niveau

1. Fermez le programme d’installation de Visual Studio.
2. Supprimez le répertoire du programme d’installation de Visual Studio. En règle générale, le répertoire est C:\Program Files (x86)\Microsoft Visual Studio\Installer.
3. Exécutez le programme d’amorçage du programme d’installation de Visual Studio. Vous pouvez trouver le programme d’amorçage dans votre dossier Téléchargements sous un nom respectant le modèle vs_[Visual Studio edition]__*.exe.

Exécution du programme d'amorçage :

Visual Studio Installer - Programme d'amorçage
Visual Studio Installer - Programme d'amorçage

Et l'installeur me propose alors une mise à jour :

Visual Studio Installer - Update available
Visual Studio Installer - Update available

Je clique sur le bouton Update

C'est aussi long qu'une installe complète mais au bout du processus, Visual Studio Installer me propose :

Visual Studio Réparation de mon installation
Visual Studio Réparation de mon installation
Je clique sur le bouton Launch

Un peu fébrile car je viens de perdre une bonne heure ... Mais ça  y est mon installation de Visual Studio est réparée.

Si je prends note de tout ce processus, c'est parce que, croyez moi mais quand je clique sur le bouton de mon Visual Studio et qu'il ne se lance pas, je ne sais pas du tout ce que je vais trouver ! 

Il est bien possible que ce problème vous fasse perdre beaucoup plus de temps. Que l'installe n'arrive pas à réparer et que vous deviez tout désinstaller ... proprement, c'est à dire en trouvant les répertoires les fichiers à supprimer ceux que la désinstallation n'a pas pu effacer ... à la manière de la réinstalle d'IIS.

Donc cette fois, je suis plutôt chanceux ...

vendredi 21 août 2020

Déployer dans l'Azure - Web Management Service - Stopped by SSL Certificate

Cause SSL Certificate is broken ! Pas mal celui là, j'ai du supprimer le WMSvc Certificate pour installer le mien. J'en avais marre que cet idiot de googoole me propose ce certificat à la place du mien lorsque je browsais mes sites en https ...

Et du coup, je ne peux plus déployer dans l'Azure sur ma machine virtuelle ! Vous ne voyez pas le rapport, le voici dans le journal des événements :

Log Name:      Application
Source:        Microsoft-Windows-IIS-IISManager
Date:          7/21/2020 1:12:05 PM
Event ID:      1007
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      XXX-00X
Description:
The description for Event ID 1007 from source Microsoft-Windows-IIS-IISManager cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.

If the event originated on another computer, the display information had to be saved with the event.

The following information was included with the event: 

IISWMSVC_STARTUP_UNABLE_TO_READ_CERTIFICATE

Unable to read the certificate with thumbprint 'bea251c156b5a4b3eb5d1189ba86502b0b26a496'.  Please make sure the SSL certificate exists and that is correctly configured in the Management Service page.

Process:WMSvc
User=NT AUTHORITY\LOCAL SERVICE

Je sais c'est un peu technique mais le sujet qui nous intéresse c'est ; le Certificat SSL du Web Deploy de Microsoft ... et si vous le supprimez que se passe t-il ? GRRRrrr ! Et je vais vous corriger cette erreur.

Il me semble qu'une bonne part de lecture se trouve Ici pour fixer les idées voici une première page à lire attentivement :

Microsoft - Vue d'ensemble sur le déploiement de projet d'application Web pour Visual Studio et ASP.NET

Et en fait la meilleure et la solution se trouve Ici :

SuperTekboy - Web Management Service (WMSvc) could not be started: 2147483640

Bon alors on n'a pas de "Serveur Exchange" ... mais ce n'est pas grave, on peut s'en sortir sans. En gros il s'agit de créer un "self-certificate" de le nommer correctement :

WMSvc-NOM-DE-MACHINE

et de l'appeler au bon endroit.

J'ai supprimé le certificat SSL WMSvc - car je pensais qu'il ne servait à rien Grrrr.

Voilà, nous venons de réparer un Web Deploy qui ne fonctionnait plus suite à la suppression du Certificat SSL : WMSvc ...

Je pars à la plage, j'en ai marre de ces conneries ...

mardi 18 août 2020

Créer une application Web API RETSful HTTP

C'est quoi une application Web API RESTful HTTP ? Et quelles différences il y a-t-il entre ASP.NET Framework et ASP.NET Core pour ce type d'application ?

C'est ce que je vais essayer de décrire dans ce post. Déjà créons ces deux template d'application avec Visual Studio 2019.

Un peu de lecture : JDN - C'est quoi RESTful ?

Créer une application ASP.NET Standard RESTful HTTP

Voici l'écran que nous propose Visual Studio Community 2019:

Create an ASP.NET Web Application - Web API

Cherchons un peu de doc sur les applications ASP.NET Web API, je trouve un article intéressant :

TutorialsTeacher - ASP.NET Web API Tutorials

Une application ASP.NET Web API peut être accéder par n'importe quel type de client y compris les appareils mobiles tout se passe dans l'url.

Voici la structure de l'application :

ASP.NET Web API - Structure

Avec le contenu de quelques fichiers remarquables ...

Global.asax.cs


ASP.NET Web API - Global.asax

Controllers ValueController.cs


ASP.NET Web API - ValuesController dérive de l'ApiController

Dans le Get, je modifie le valeur "value" par "Ici c'est ma valeur".

Modification de "value" par "Ici c'est ma valeur"


Je lance une exécution de l'application :


ASP.NET Web API - Exécution de l'application

Et quand je requête l'url :

https://localhost:44398/api/values/5

ASP.NET Web API - Requête de l'url : api/values/5

Ce qui est bien le résultat escompté. J'ai mis 5 dans la requête le code m'indique que j'aurais pu mettre n'importe quelle valeur du paramètre id de Get( in id ) cela n'aurait rien changé c'est simplement une préparation pour l'avenir.

Tout ceci est paramétrable les "routes" sont configurables dans le fichier RouteConfig.cs :

ASP.NET Web API - RouteConfig.cs

Bon, je dirais que le plus embêtant, c'est que c'est du Razor ...Grrr

Ce qui est amusant et intéressant concernant ce type d'application c'est l"onglet "API" nous avons des pages d'aides concernant l'utilisation de l'API :

ASP.NET Web API - Les Pages d'Aide auto-descriptives de l'API
Si je clique sur la page d'aide concernant le GET api/values/{id} :

ASP.NET Web API - Page d'Aide de GET api/values/{id}
Voilà j'ai fait le tour complet je peux ajouter mon propre controller et gérer les données que je souhaite.

Qu'en est-il des applications ASP.NET Core Web API

Voici l'écran de Visual Studio Community 2019 :

ASP.NET Core Web API

Si je cherche un peu de doc j'arrive ici :


L'exemple n'est pas le même pas besoin, il y un controller on va dire qui retourne des objets structurés: 

ASP.NET Core Web API - WeatherForecastController
Qui fait que quand on requête l'url :

https://localhost:<port>/WeatherForecast

l'application nous rend une liste l'objet de type WeatherForecast.

La suite du didacticiel nous fait ajouter un objet TodoItem et son utilisation dans une base de données grâce à l'EntityFrameworkCore. Je vous conseille également l'utilisation de Postman qui un outil qui permet de tester les API c'est très complet.

Voilà c'est tout pour les applications ASP.NET Core RESTful. Nous venons de faire un tour rapide des applications Web API avec Visual Studio 2019.

Rien de très nouveau sous le soleil.

jeudi 16 juillet 2020

Comment effectuer une réinstallation propre d'IIS ?

Voilà un sujet que je souhaite automatiser sur le bout de doigts, mon IIS ne fonctionne plus. L'expérience que j'ai me fait penser que IIS s'est cassé ! Bien sûr pas tout seul mais je suis incapable de le réparer. Quand je fais browse Default Web Site

Comment tester l'installation correcte de IIS 

J'obtiens le message suivant "Ce site est inaccessible" :

Ce site est inaccessible
Ce site est inaccessible
D'autre part; la partie ASP.NET, sur un IIS qui fonctionne correctement "a disparu" !

Server IIS qui fonctionne
Donc je me lance dans la réinstallation d'IIS Grrrr !!!! Je trouve la page :

Microsoft - How to perform a clean reinstallation of IIS

Mais quand vous avez à faire à un Serveur Windows avec le "Server Manager", c'est une autre affaire alors allons-y ...

Comment supprimer correctement IIS sur un Serveur Windows 10


J'ai comme un petit peu l'impression de faire une connerie mais je n'ai pas le choix l'IIS de ce Windows Server ne fonctionne plus du tout !

Le plus important dans le page de Microsoft - How to perform a clean reinstallation of IIS c'est qu'il te donne le droit de supprimer le dossier suivant :

C:\Windows\System32\inetsrv

Car franchement, il faut oser trifouiller à la main dans le répertoire Windows\System32, mais là c'est Microsoft qui le dit, pour ma part je me retrouve après désinstallation de Web Services (IIS) avec un répertoire vide. Mais je vais le renommer tout de même.

Réinstaller IIS 

Je me retrouve à faire l'opération inverse : réinstaller IIS.


Comment Installer IIS sur Serveur Windows 10 Data Center

Je parcours le wizard d'installation des features de mon Windows Data Server :

Wizard d'installation d'IIS sur Windows 10 Server Data Center - 1

Il me détaille les éléments à installer ...

Wizard d'installation d'IIS sur Windows 10 Server Data Center - 2
Wizard d'installation d'IIS sur Windows 10 Server Data Center - 2
Je continue le parcours du wizard d'installation des features de mon Data Server ...

Wizard d'installation d'IIS sur Windows 10 Server Data Center - 3 Vide !
Wizard d'installation d'IIS sur Windows 10 Server Data Center - 3 Vide !
Mais là, heureusement que je suis concentré ... Je trouve qu'il manque des trucs, je suis une machine de Dev j'ai également la possibilité d'aller regarder un autre serveur qui lui fonctionne ...

Pas de doute, ici il manque des trucs ... Je coche donc les éléments suivants :


Wizard d'installation d'IIS sur Windows 10 Server Data Center - 3 Vide !
Voici les éléments à cocher à mon avis, pour avoir une chance qu'IIS fonctionne correctement.

Vérifier qu'IIS est correctement installé

Je vais dans le répertoire :

C:\Windows\System32\inetsrv

J'en profite pour mettre InetMgr.exe dans la barre des tâches. Je clique sur le Default Web Site  la partie ASP.NET est bien revenue. 

Je clique sur Browse *:80 (http)


Vérifier l'installation d'IIS

J'ai bien le site par défaut qui s'affiche dans mon navigateur :

Vérification d'IIS - Affichage du site par défaut sur Browse *:80 (http)

Maintenant que j'y pense, je crois que l'erreur est venue avec l'ouverture du fichier :

C:\Windows\System32\inetsrv\config\applicationHost.config

Et j'ai peut être effectuer une suppression "à la va vite" à moins qu'il ne soit resté ouvert dans un éditeur au moment d'une opération de management d'IIS. Auquel cas il y aurait pu avoir un problème de conflit.

Voilà, nous venons d'apprendre à réparer IIS sur une machine Windows 10 Server Data Center.

Reconnaissez que ce n'est pas aussi facile que dans la doc Microsoft !

Don't forget to go to the beach!

mercredi 15 juillet 2020

Internet Integration Services - IIS Management - Binding

Un jour j'ai travaillé sur une plateforme en ligne complexe, faite de plusieurs sites derrière le même serveur IIS, de serveurs de base de données, de moteurs d'indexation et depuis j'y reviens chaque fois que j'ai besoin de configurer ce fameux IIS (Internet Integration Services ) alors prenons quelques notes.

Avant tout la console de Management de IIS se trouve Ici :

%windir%\system32\inetsrv\InetMgr.exe

C'est à dire là :

C:\Windows\system32\inetsrv

Et donc là aussi, vous pouvez faire un raccourcis sur le bureau ainsi vous aurez votre IIS Management Console sous la mains.

Gestionnaire des Services Internet

J'accède à la console de management de IIS et je vais voir comment tout ceci est configuré.

Configuration d'une Plateforme complexe IIS
Configuration d'une Plateforme complexe IIS

Comment configuré tout ça ? C'est dans Modifier le site -> Liaisons ...


IIS Configuration du Sous-Domaine

On trouve cette commande également Ici :

IIS Site modifier les liaisons
Il est important de configurer le site dans le bon pool d'application.

IIS - Quelle application dans quel Pool d'application
IIS - Quelle application dans quel Pool d'application

Des informations importantes, Ici :

IIS - Management
IIS - Management

Voici l'ensemble des sites pour certes plateforme et les différents Bindings. Vous voyez c'est un peu complexe comme plateforme.

Ne pas oublier le fichier hosts pour diriger les sous-domaines vers la bonne adresse IP :

Le fichier host qui reprend les liaisons (binding) et redirige vers localhost

Voilà maintenant, j'ai compris comment je pouvais configurer les bindings sur ma machine de dev.

vendredi 10 juillet 2020

Serilog - Ne fonctionne pas avec IIS

Impossible de déployer un site qui utilise Serilog comme module de Logger derrière IIS car quand on déploie le site sur le serveur de production et bien il n'y a pas de Log ...

Je viens de me faire piéger et de lire environ 300 pages sur ce sujet et dans ces 300 pages il n'y a pas cette solution alors je vous la donne ! Il faut Restarter IIS

En effet, bien sûr il faut donner les droits d'écriture sur le répertoire de Log à l'utilisateur IIS_IUSR. Mais ce n'est pas tout. En développant avec ASP.NET Core et Kestrel en production, on créé un petit batch pour relancer Kestrel et les Logs de Serilog apparaissent tout naturellement mais avec IIS, on relance le site et il n'y a pas de Log ?!

Pour avoir des Logs il faut Redémarrer l'exécution du site et dans IIS cela s'appelle cliquer sur le bouton Restart.

En production Serilog n'affiche pas de Log

Oui c'est une étourderie mais compte tenu de ce que je lis sur Internet, nous ne sommes pas les seuls à commettre cette bêtise et les solutions données ailleurs ne sont pas aussi claires.

Have fun!

jeudi 9 juillet 2020

ASP.NET Core Manage Authorize Policy

Ce sujet c'est comment gérer les autorisations au sein des applications ASP.NET Core ? Pour l'instant je connais deux mécanismes :

Dans le Startup.cs l'Authorise policy, exemple :

// Usage : [Authorize(Policy = "AdminPolicy")]
services.AddAuthorization( options => {
options.AddPolicy( "AdminPolicy",
builder => builder.RequireRole( Roles.Admin ) );
} );

Et dans le code, aller chercher une Claim de l'utilisateur mais c'est pas mal de code. Par exemple, mon Utilisateur possède un bool IsAdmin que je suis le seul à gérer (oui, j'ai fait comme ça) si je veux aller tester dans mon code ce bool pour savoir si j’octroie les droits ou non à l'utilisateur d'effectuer l'action.

Dans le contrôleur de l'action, voici le code :

    public class RoleController : Controller
    {
    private UserManager<ApplicationUser> userManager;

        public RoleController( UserManager<ApplicationUser> userManager )
        {
            this.userManager = userManager;
        }


[HttpPost]
        public async Task<IActionResult> Delete( string id )
        {
            var user = await userManager.GetUserAsync( User );
            if ( user.IsAdmin == false ) 
            {
                return RedirectToAction( nameof( HomeController.ErrorUserIsNotSuperAdmin ), "Home" );
            }

Mais bon, je ne vais pas écrire ce code pour tout les composants de mon application qui ont besoin de savoir de quel utilisateur il s'agit pour octroyer ou non les actions, ce serait fastidieux et rébarbatif.

Note de l'auteur (moi) : Au passage je réponds à une question souvent posé dans la StackOverflow :

stackoverflow - How to get current user in asp.net core

Curieux de voir à quel point cette communauté se perd elle même. Ils manquent de modérateurs à mon goût pour supprimer les mauvaises réponses car ils ne trouve pas de réponse correcte à des questions pourtant toutes simples. Peut être que c'est l'indexation de googoole qui le mets dans le vent...

Du coût je regarde la définition de RequireRole et juste à côté je remarque le définition de RequireAssertion alors ma chaine de recherche devient :

ASP.NET Core Authorize Policy Requires Assertion example

Et je tombe sur la bonne page :

MSDN - Policy-based authorization in ASP.NET Core

Et je tombe là dessus :

[Authorize(Roles = "Administrator")]

Grrrr ! Je conserve quand même mon AdminPolicy qui est plus facile à faire évoluer et qui est un bon exemple si je souhaite évoluer. Et finalement ce que je veux faire, peut se faire simplement par :

services.AddAuthorization(options =>
{
options.AddPolicy("IsSuperAdmin", policy => policy.RequireClaim( "role", "SuperAdmin"));
});

Et dans : StsIdentityServer\IdentityWithAdditionalClaimsProfileService.cs
public async Task GetProfileDataAsync( ProfileDataRequestContext context )
{
if ( user.IsAdmin )
{
claims.Add( new Claim( JwtClaimTypes.Role, "SuperAdmin" ) );
}

Le tour est joué, il ne me reste plus qu'à tester.

Identity Server - Configure Microsoft.Hosting.Lifetime to hear on prod

J'ai déployé mon application ASP.NET Core StsIdentity Server sur ma machine de PROD et lorsque j'exécute la partie serveur pour adresser la BD d'une part et le front, j'ai le message suivant :

[INF] Now listening on: http://localhost:xxxx<Microsoft.Hosting.Lifetime>

J'en déduis donc que pour que mon application fonctionne, il me faut modifier cette écoute sur une adresse qui diffère en PROD.

Donc la bonne question c'est : How to configure Microsoft.Hosting.Lifetime to hear on the right address in PROD ?

En posant la question de cette façon, je tombe sur ce site :

Andrew Lock | .NET Escapades - 5 ways to set the URLs for an ASP.NET Core app

Alors pour ma part, j'avais trouvé que en cliquant sur le StsIdentityServer.exe la partie serveur de mon application s'exécutait et j'obtiens les messages suivants

10:08:00.718 [INF] Now listening on: http://localhost:5000 <Microsoft.Hosting.Lifetime>
10:08:00.719 [INF] Now listening on: https://localhost:5001 <Microsoft.Hosting.Lifetime>

Alors, je me dis qu'en appelant mon exécutable avec le paramètre

--urls "http://localhost:5100;https://localhost:5101" 

Ca va marcher ! Et devinez quoi ? Ca Marche !

lundi 1 juin 2020

Outils pour développer avec la stack Angular

Vous connaissez Visual Studio Code mais je découvre d'autres outils comme TYPEDOC, quels sont les outils pour travailler et développer avec Angular ?

damienbod occupe pas mal de mes pensés en ce moment et je découvre ce projet :

software engineering - ASP.NET CORE, ANGULAR WITH WEBPACK AND VISUAL STUDIO

Un projet où il décrit tout un tas d'outils pour travailler avec cette stack, ASP.NET Core & Angular. Alors allons voir de plus prêt tous ces outils. Dans son post, il y a un lien vers ce projet du Github

https://github.com/preboot/angular-webpack

Ce que je pourrais un peu reprocher à ce genre de stack et à javascript c'est la prolifération des outils et la difficulté de savoir lequel utiliser. En plus cela donne un trop grande force au chef de projet qui passe par là  pour imposer un outil que vous ne connaissez pas et comment estimer le gain/temps passé qu'il va apporter.

Voici donc le premier outil de cette Stack TYPEDOC

Documentez votre projet avec TYPE DOC

Il faut toujours un outil pour documenter votre code. Typedoc fonctionne sous forme de balises de commentaire à ajouter dans votre code Anugular que du très classique mais il en faut bien un.

TYPE DOC
TYPE DOC
Cet outil lui même en invoque d'autres comme Grunt, Gulp, Webpack, bas ça fait une sacrée pile !

C'est quoi Webpack - bundle your images ?

Le problème avec tous ces outils, c'est de prendre la décision d'investir du temps et de la formation et d'estimer le gain que l'on aura en utilisant l'outil. Finalement l'utilisation de l'outil n'est t-elle pas une contrainte trop forte ?

webpack
Le schéma est assez explicite pour comprendre en le regardant ce schéma, vous avez d'un côté tout un tas de scripts java de css sous forme sass d'images aux formats jpg png et l'outil vous permet d'en faire des paquets.

Cet outil vous permet donc d’empaqueter votre application. J'irai plus loin une autre fois, perso je ne suis pas encore convaincu du rapport gain/temps.

C'est quoi Protractor end to end testing for Angular

Dans le développement moderne d'applications apprendre à faire des tests est essentiel là encore la difficulté est de choisir le bon framework, NUnit, UnitTest, XUnit, ils sont nombreux c'est toujours un peu le même principe mais là encore il faut investir en auto-formation. 

Les frameworks JS sont encore plus nombreux.

Framework de tests pour Angular
Voilà donc tout une stack, stack car l'ensemble de ces outils intervient à tous les niveaux du dev, pour bien travailler avec ASP.NET Core & Angular.

lundi 25 mai 2020

Migration angular 7 vers angular 8

A votre avis est-ce facile de migrer de Angular 7 vers Angular 8, je vais m'atteler à cette question pour découvrir toutes les subtilités d'Angular afin de migrer mon application en Angular 8, allant de l'avant vers la modernité.

Angular
Angular
Bien sûr tout le monde connait le guide de migration qui soit disant permet de migrer n'importe quelle application d'une version d'Angular vers un autre. Je vous présente, roulements de tambours le guide de migration de toutes les versions d'Angular vers toutes les autres ...


https://update.angular.io/
Guide de migration Angular

Encore qu'après quelques manipulation et un peu de lecture, on comprend que cela ne va pas être si facile.

Donc tout dépend de votre application actuelle en Angular 7. Est-elle au goût du jour, ou avez vous attendu trop longtemps. Le logiciel c'est évolutif en permanence, rester figé c'est mourir, n'attendez pas trop longtemps pour migrer.

#editeurlogiciel #agile