Windows Server 2025, le nouvel indispensable pour les Dev, et le DevOps ?

Il est un temps que les moins de vingt ans ne peuvent pas connaitre. Je vous parle d'un temps où les développeurs utilisaient Windows Server comme OS pour leur PC (même sur leurs portables). Un temps où il était impossible de développer pour SharePoint sans cet OS. Un temps où il était inimaginable d'utiliser Visual Studio dans une machine virtuelle... etc.

Nombre de développeurs ne connaissent pas cette époque, car Microsoft a rendu possible 100% des tâches de développement possible avec un simple OS client. Progressivement, une nouvelle génération de développeurs s'est installée, et Windows Server n'a plus trouvé sa place que sur nos serveurs.

Et, Zorro est arrivé...

Pardon, je m'emballe. Windows Server 2025 est arrivé.

Depuis sa publication en RTM le 1er novembre 2024, je trouve dommage que les blogueurs Dev / DevOps ne publient pas de contenus. Je vais tenter de changer cela. Mais pour commencer, je vais aller en douceur. Je ne vais pas m'attaquer à l'aspect serveur, qui contient quelques modifications qui risquent d'avoir un impacte sur vos applications (ex: TLS 1.3 pour LDAPS, pas cool pour certains frameworks).

Attaquons le côté ludique de Windows Server 2025, et ce qui va avoir un intérêt pour les développeurs. Voici mon top 3.

1. UI / UX

L'une des grandes nouveautés est l'adoption des codes d'UI/UX de Windows 11. Fini l'obligation de passer par telle ou telle interface vieillotte, et l'obligation de maitriser les MMC. Cela va grandement simplifier la configuration pour les néophytes (sans parler du débogage). L'un des aspects les plus sympathiques se cache justement dans cette interface : "For developers".

Interface "For developers"

2. DevDrive

Le menu System a une entrée "For developers" qui contient les mêmes options que Windows 11.

Ce qui m'intéresse du côté de cet UI, c'est la possibilité d'utiliser DevDrive :

Configuration de DevDrive

Cette fonctionnalité étant aussi sur Windows 11, vous demandez peut-être pourquoi je suis intéressé par le fait de la retrouver sur Windows Server. Effectivement, celle-ci n'est pas un motif suffisant pour installer un OS serveur sur un PC de Dev. Par contre, elle peut légitimer la migration de serveurs de builds. Utiliser DevDrive peut aider à réduire les temps de builds, et la durée d'exécution des pipelines Azure DevOps sur les agents autohébergés.

3. CLI

Winget est enfin de la partie. Il est installé par défaut. Ceci qui va permettre d'automatisé la mise à jour du tooling des serveurs de builds, déploiement, ou test. Un point de plus pour le DevOps!

Pour les allergiques à PowerShell Remoting, Microsoft a installé le serveur SSH par défaut. Il ne reste qu'à l'activé via la console Server Manager.

Activation du serveur SSH

Azure ARC est aussi installé par défaut. Ce qui va faciliter les intégrations à Azure. Il ne reste qu'à le configurer.

Jérémy Jeanson

Upgrader un serveur transactionnel openSUSE vers Leap 15.6

Comme l’an dernier, la mise à jour des serveurs transactionnels openSUSE nécessite de passer par une session via shell transactional-update.

Je vous propose donc aujourd’hui une version actualisée de mon article dédié à l’upgrade d’openSUSE Leap.

Pour commencer, il faut ouvrir un Shell transactional-update afin de créer un nouveau snapshot de l'OS et le patcher.

Ceci passe par la commande :


transactional-update shell

On peut ensuite rafraichir la liste des repositories:


zypper --releasever=15.6 refresh

Lancement de la mise à jour :


zypper --releasever=15.6 dup --download-in-advance

À la fin de la mise à jour, il faut fermer le Shell :


exit

Pour finir, il faut rebooter le serveur pour que le snapshoot réalisé lors de la mise à jour soit utilisé :


reboot

Quand le serveur a redémarré, on peut utiliser la commande hostnamectl. Celle-ci affichera un message similaire à ceci :

Static hostname: xxx

Icon name: computer-vm

Chassis: vm

Machine ID: xxx

Boot ID: xxx

Virtualization: microsoft

Operating System: openSUSE Leap 15.6

CPE OS Name: cpe:/o:opensuse:leap:15.6

Kernel: Linux 6.4.0-150600.23.25-default

Architecture: x86-64

Hardware Vendor: Microsoft Corporation

Hardware Model: Virtual Machine

Firmware Version: Hyper-V UEFI Release v4.1

Firmware Date: Mon 2024-03-11

Firmware Age: 7month 4w 1d

Pour finir, il ne faut pas oublier de faire un peu de ménage dans la liste des repositories. Si vous tapez la commande zypper repos, vous vous rendrez compe que plusieurs repositories ont été désactivés (zypper repos -u, affichera un peu plus de détails, c’est une histoire de goûts).

On peut par exemple supprimer le repo lié à Leap 15.5 :


zypper removerepo openSUSE-Leap-15.5-1
Jérémy Jeanson

Faut-il migrer vers .net 9, dès sa sortie ?

Hors mis si vous vivez dans une grotte, vous n'êtes pas sans savoir qu'une nouvelle version de .net va être disponible le mois prochain. Cela fait maintenant quelques années que Microsoft publie une version majeure chaque année au mois de novembre. Cette année ne fera pas exception.

Nous aurons donc très prochainement un tout beau, et tout nouveau .net 9.

Je m'apprêtais donc à sortir ma petite série d'articles sur le sujet, dont le fameux : "Fau-il migrer...". Je préparais mes arguments, et puis je me suis rendu compte que j'avais fait une grosse erreur. Cela fait des années que je recommande de migrer le plus tôt possible afin que le travail nécessaire soit le plus simple, et le plus rapide possible. Malheureusement, je me suis rendu compte que j'avais oublié un de mes projets. Celui-ci avait été lâchement abandonné au fin fond d'un projet d'Azure DevOps depuis des années. Je ne respectais pas mon propre conseil, et je ne savais pas à quel point cela allait me couter cher.

Bien entendu, si je suis tombé sur ce projet, ce n'est pas par erreur. Il me fallait publier une nouvelle version de cette application de toute urgence sur le Google Play Store, afin que le compte développeur associé ne soit pas désactivé. Comble du bonheur, aucune des versions de .net/xamrin/android de l'époque ne peut être utilisée pour publier une application de nos jours. Je vous épargne le détail des problèmes à rallonge. La mise à jour des packages nuget ne pouvait se faire en une fois, et il fallait en remplacer quelques-uns au passage. Un vrai plaisir. Après quelques heures de travail, je pouvais enfin publier une nouvelle version de cette application. Malheureusement, je n'avais plus de temps pour ajouter de nouvelles fonctionnalités ni mettre à jour l'interface, et je me trouve avec une liste de warnings longue comme le bras (moi qui suis allergique aux warnings, c'est un comble). Sans parler de la migration vers MAUI qui n'a pas commencé.

Conclusion

Plus jamais je ne ferai cela. Que ce soit pour une application mobile, web ou autre.

Depuis .net 5, les migrations sont très rapides à réaliser si elles ont lieu tôt. Il ne faut donc pas se priver. Donc oui, il faut migrer vers .net 9, et le faire vite afin de s’éviter de gros problèmes, et des pertes de temps à rallonge.

.

Jérémy Jeanson

Et si l'IA nous offrait la solution à tous nos problèmes ?

Comme beaucoup de développeurs, je suis accro aux nouvelles technologies. Je m'intéresse à un peu tout, mais je n'ai pas forcément le temps de tout tester. Alors je me fis à l'avis des personnes qui font référence dans les différents domaines.

L'IA n'échappe pas à la règle. J'ai beaucoup travaillé le sujet durant les premières années d'Azure Cognitive Services. Aujourd'hui, je ne suis plus qu'un utilisateur comme un autre.

Mais je commence à entrer dans la catégorie des utilisateurs qui s'agacent. Oui, les nouveautés de l'IA sont enthousiasmantes, et soulèvent aussi beaucoup de préoccupations. S'il vous plaît, arrêtez de me survendre l'IA,comme on m'a déjà survendu tant de technologies.

Et si tout ce que l'on m'a présenté comme solution ces 30 dernières années était arrivé au niveau de ce qui m'a été vendu ?

Aujourd'hui, il n'existerait plus qu'un langage de développement, qu'un IDE, une seule méthode de gestion de projet, une seule plateforme DevOps, une seule licence ... etc. …

Vous vous rendez bien compte que nous ne vivons pas dans ce monde.

Comme dit plus haut, l'IA n'échappe pas à la règle. Dans ce monde, il y a de multiples IA, avec de multiples finalités. L'IA n'est pas la solution. C'est un bel outil qui s'ajoute aux autres pour étoffer la palette de vos possibilités. En tant que développeurs, c'est à vous de construire vos solutions, et de voir si l'IA a un intérêt. Ne cherchez donc pas à en mettre partout, et à toutes les sauces.

Avez-vous vraiment besoin de demander à une IA si True est vrai?

Jérémy Jeanson

Comment fermer une application avant de procéder à une installation avec Wix Toolset ?

Depuis longtemps déjà, Wix Toolset dispose d'une action CloseApplication permettant de fermer une application. Depuis Wix 5 les choses ont un peu changé, et utiliser cette action n'est plus aussi facile. Surtout si l'on souhaite exécuter celle-ci avant de procéder à une installation.

Si vous suivez les indications qui suivent, vous devriez y arriver du premier coup.