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.

Comment utiliser winget pour installer, et mettre à jour node.js LTS ?

Cela fait déjà une paire de fois que l'on me dit que winget ne permet d'installer, et de maintenir à jours node.js en version LTS. Vu que cela n'est pas vrai, je vais vous expliquer ici une manière de procéder.

Pour commencer, avant toute installation, j'ai l'habitude de procéder à une petite recherche via winget.


winget search node.js

Cette commande retourne une liste d'applications.

Nom           ID                Version Correspondance Source
-------------------------------------------------------------
Node.js       OpenJS.NodeJS     22.9.0                 winget
Nodist        Nodist.Nodist     0.10.3  Tag: node.js   winget
Volta         Volta.Volta       2.0.1   Tag: node.js   winget
Node.js (LTS) OpenJS.NodeJS.LTS 20.17.0                winget

Dans cette liste, on trouve Node.js (LTS) et son ID OpenJS.NodeJS.LTS. Il suffit alors d'utiliser cet ID de la manière qui suit.


winget install OpenJS.NodeJS.LTS

Et pour la mise à jour


winget update OpenJS.NodeJS.LTS

Simple, efficace, et reproductible avec tout type d'application.

Jérémy Jeanson