solutions >
nos expertises techniques >
focus net core

Interview d’expert

Aurélien, Ingénieur d’études et développement nous éclaire sur les évolutions majeures par rapport à .NET

Djamel, développeur expert WINDEV MOBILE

Déjà dix ans quAurélien a rejoint Isia en tant qu’Ingénieur d’études et développement spécialisé dans les technologies Microsoft. Avant ça, il y avait déjà effectué ses deux stages de Master. Autant dire que l’entreprise l’a vu grandir !

.net Core en bref

  • Nouveau framework de Microsoft complètement distinct de .NET
  • Composants modulaires, cross plateforme et open source
  • Sorti en 2016, .net Core en est à sa 3e version et à désormais une couverture technologique équivalente au Framework .net
Aurélien, quels sont pour toi les évolutions majeures de .net Core ?
Avant toute chose, je dirais que c’est un virage audacieux qu’a négocié Microsoft avec la sortie de .NET Core. Audacieux mais nécessaire pour adapter sa stratégie à l’air du temps et ainsi coller davantage aux méthodes de codage des développeurs.
On a donc pu découvrir le renforcement de l’aspect modulaire, mis à disposition sous la forme de paquets NuGet où le développeur pourra choisir d’ajouter ou non des librairies selon le contexte de sa solution. Par rapport à .NET, un minimum de librairies sont intégrées par défaut et cela dans un souci de légèreté.
 L’avènement du multiplateforme est un des points cruciaux de la nouvelle stratégie Microsoft, qui permet désormais d’exécuter les projets sur les systèmes d’exploitation Windows, MacOs et Linux. Une manière pour Microsoft de s’ouvrir au monde qui l’entoure et de limiter la dépendance à Windows.
 Avec l’Open Source on assiste également à l’ouverture de la coquille du géant informatique puisque le code source .NET Core est en libre accès sur GitHub. Une ouverture qui favorise la création de projets dérivés et la collaboration entre développeurs.
Quels autres avantages vois-tu ?
Outre ces trois mutations qui ont changé la donne pour les habitués du .NET, je vois bien d’autres aspects positifs à utiliser .NET Core, et notamment sa vitesse d’exécution. En comparaison à d’autres technologies dédiées au développement d’API web, je dois dire que Microsoft s’est beaucoup amélioré !
Le développement sur ce Framework est aussi plus ouvert au niveau des outils. Avant on était restreint à Visual studio, aujourd’hui on a le choix entre différents outils, plus légers,
qui s’adaptent mieux, comme Visual studio Code par exemple
.
Pour l’hébergement, plus obligé d’utiliser IIS, on peut tout aussi bien passer sur du Apache2 ou Nginx.

Selon toi, qu’est ce qui a amené Microsoft à changer de stratégie et à ouvrir son Framework ?
Je pense que l’objectif premier est d’augmenter l’usage de la plateforme .NET et d’attirer plus d’utilisateurs. Avec l’open source, l’image de .NET est rajeunie et peut séduire une jeune génération de développeurs. En effet, l’aspect contributif et communautaire déployé sur GitHub permet d’être plus proche des dernières pratiques de développement.
La stratégie Microsoft serait donc d’aller de plus en plus vers du libre, en ce qui concerne le développement, et de passer sur un modèle de fournisseur de service via la plateforme Azure, qui elle est payante. Un net changement dans leur business model, qui ne repose plus uniquement sur la vente de licences Windows.

 Peut-on facilement porter une application .NET existante vers .NET Core ?
Le portage d’une application .NET existante vers .NET Core dépendra de son architecture logicielle. Dans tous les cas, le portage d’un Framework à l’autre nécessitera de la réécriture de code, mais en fonction des dépendances de l’application, certaines ne pourront être compatibles avec .NET Core.
Pour une application avec une conception bien découpée en couches applicatives, l’effort de réécriture pourra être moindre. Dans le cas contraire, il sera plus judicieux de réécrire l’application de zéro.
 Il existe un outil permettant d’analyser le code existant et d’identifier ce qui devra être réécrit : l’Analyseur de portabilité .NET.

 Quelle base de données préconises-tu d’utiliser avec .NET Core ?
Tout dépend bien sûr des contraintes et du contexte du projet. On peut rester dans les technologies Microsoft avec SQL Server.
Pour des raisons de coût, on peut aussi passer à d’autres SGBD gratuits tel que PostGreSQL, plus moderne, performant et qui permet d’implémenter une base de données NoSQL (ou en partie NoSQL). 

 Parle nous d’un exemple de projet Isia développé sous .Net Core 
J’ai participé à la conception de l’application web NIRI pour l’Université de Montpellier. Cette solution permet de référencer et localiser sur une carte les chercheurs et institutions relatifs aux INM (Interventions Non Médicamenteuses).
Le site web a été développé en ASP.NET Core MVC qui communique avec une API web RESTful, développée également en ASP.NET Core. La base de données utilisée est PostGreSQL avec une partie en NoSQL et l’autre partie avec un schéma relationnel plus classique.
Au travers de ce projet nous avons pu nous rendre compte des très bonnes performances de .NET Core, notamment en ce qui concerne les temps de réponse de l’API web.
Ce site web venait compléter un site web déjà existant, ce pourquoi nous avons mis en place un système d’authentification unique (SSO) qui permet de s’authentifier une seule fois pour les deux sites.

Découvrez l’application NIRI développée en .Net Core.

MICROSOFT

Découvrez les solutions sur-mesure développées par ISIA avec MICROSOFT :

NGE | FDJ