Contexte
Jusqu'en novembre 2020, Mercator était exclusivement compilé pour le .net Framework 4. En novembre 2020, Microsoft a publié une release majeure de l'environnement .net avec la version .net 5.0. Cette version n'est pas l'évolution du framework 4 utilisé par Mercator, mais une mise à jour de .net Core 3.0. Dès lors, la migration de Mercator vers .net 5.0 a demandé de nombreuses adaptations.
En novembre 2021, Microsoft a fait évoluer la version 5.0 vers 6.0.
En novembre 2022, Microsoft a fait évoluer la version 6.0 vers 7.0.
En novembre 2023, Microsoft a fait évoluer la version 7.0 vers 8.0.
A ce jour (décembre 2023), Mercator est compilé pour ces deux environnements, qui se reconnaissent par une icône particulière :
Le framework .net classique
version 4.8
Le framework .net Core
version 8.0
Dans sa communication, Microsoft abandonne le mot Core. Nous le maintenons afin de bien différencier les versions.
Fonctionnellement, ces versions sont absolument identiques. Techniquement parlant, les outils sous-jacents utilisés par les programmeurs Mercator sont très différents.
Migration
La migration est très simple. Elle se fait au départ du répertoire principal d'un Mercator classique parfaitement fonctionnel et avec un voucher 11.0 minimum. Tous les utilisateurs doivent quitter le Mercator de ce répertoire (pas nécessairement Mercator sur d'autres postes qui utilisent chacun leur propre répertoire principal).
Il faut dézipper le contenu du fichier zip ci-dessous dans ce répertoire. Ensuite, il convient d'exécuter MercatorUpdater.exe afin d'effectuer une mise à jour. Lors de ce premier démarrage d'une application .net Core, il est possible qu'une boîte de dialogue suggère le téléchargement et l'installation du framework .net Core. Il suffit de l'accepter.
Rien de plus !
Points d'attention
Mercator classique et Mercator Core peuvent parfaitement cohabiter. Cela signifie que certains postes peuvent être en .net 4.8 et d'autres en .net Core.
Notez que l'assistant de mise à jour ne modifie jamais le framework d'un Mercator. Il effectue les mises à jour de chaque version individuellement (Mercator classique continue à prendre les mises à jour de Mercator classique, tandis que Mercator Core prendra les mises à jour de Mercator Core).
Mercator Core n'est pas destiné à fonctionner sur une version de Windows 32 bits. Il est toutefois toujours possible de le faire fonctionner en 32 bits sur une version de Windows 64 bits.
MercatorShield ne doit pas être adapté. Toutefois, une version .net Core existe.
MercatorPenginServer doit être adapté car il nécessite une installation .net Core pour se connecter à un Mercator Core.
Si la liaison OLE à Mercator est utilisée, il faut remplacer MercatorOle.net.dll par sa version Core. L'installation et l'inscription dans le registry sont détaillées sur cette page.
Points d'attention pour les développeurs lors de la migration de Mercator vers .net Core.
Questions - Réponses
Pourquoi migrer vers la version Core ?
- La refonte complète de certaines parties du framework améliore de façon considérable les performances de toute une série de points du logiciel. Il en résulte donc un Mercator plus rapide.
- D'autres développements autour de Mercator peuvent se trouver facilités ou plus cohérents, s'ils reposent complètement sur l'architecture .net Core. C'est spécialement le cas pour les sites et autres applications web développées sur base de ASP.net Core ou de MAUI.
Cette migration est-elle ou sera-t-elle à terme obligatoire ?
Non. Nous n'avons actuellement aucun plan en ce sens.
Mercator classique sera-t-il abandonné au profit de Mercator Core ?
Non, puisque le framework 4.8 n'a pas de date de fin de support. Le framework 4.8 est distribué en tant que composant de Windows et a le même cycle de vie que le Windows avec lequel il est fourni. Ce Mercator "classique" continuera à évoluer de façon identique à Mercator Core. Il peut donc recevoir un voucher avec une version 11.0 afin de bénéficier des nouvelles fonctionnalités.
Pourquoi n'y a-t-il pas eu de publication de Mercator Core en version 5.0 et 6.0 ?
En 2020, Microsoft a annoncé sa nouvelle stratégie concernant les outils de développement et leur arborescence. Le planning de l'époque prévoyait, à partir de novembre 2020 une release chaque année pour "aboutir" en octobre 2022 à la version 7.0 présentée comme un aboutissement. L'équipe de développement a effectué dès l'automne 2020 le portage du code vers la version 5.0. Ce fut la partie la plus importante du travail. Ensuite, chaque année, l'upgrade vers la dernière version a été effectué. Nous avions jugé opportun d'attendre cette version finale 7.0 pour une publication plus large.
Comme la version 8.0 n'est pas "finale", Mercator Core sera-t-il porté vers la version 9.0 ?
Oui, en novembre 2024, nous effectuerons le portage vers la version 9.0. Et le processus continuera les années suivantes.
.net Core est une plateforme de développement multi-plateformes (Mac, Linux, ...). Mercator Core sera-t-il dès lors utilisable sur ces plateformes ?
Non, son utilisation se fera donc toujours dans l'environnement Windows. Mercator reste dépendant des ressources fournies par Windows. En retirant la dépendance à Windows, l'équipe de développement aurait imposé que TOUS les paramétrages et développements sur mesure effectués dans et autour de Mercator soient recommencés. Nous avons plutôt opté pour une migration indolore.
A télécharger :
0000003163.zip (69261 Kb - 01/08/2024)