JoliCode relate la création d'une machine virtuelle PHP en Rust, rendue possible grâce à l'intelligence artificielle. L'idée principale est que les modèles de langage ont réduit la complexité de comprendre des bases de code inconnues et d'explorer des stratégies d'implémentation, rendant des projets ambitieux comme celui-ci plus accessibles. L'article souligne que l'IA ne produit pas de logiciel prêt pour la production, mais accélère significativement les phases de recherche et de prototypage.
Le premier prototype, bien que fonctionnel et réalisé en une journée, était extrêmement lent et adoptait une approche naïve. Il reproduisait une machine virtuelle à pile, contrairement à l'architecture registre de PHP, ce qui aurait pu poser des problèmes de compatibilité avec l'écosystème PHP existant. Ce prototype a cependant validé la faisabilité du projet, tout en montrant la nécessité d'une architecture plus réfléchie.
L'objectif n'était pas de copier fidèlement le moteur Zend de PHP, mais d'en tirer des enseignements pour concevoir une machine virtuelle alignée avec la philosophie de Rust. Cela implique d'adopter la gestion de la mémoire par ownership, d'éviter les états mutables globaux et de minimiser l'usage de code unsafe, afin de tirer pleinement parti des avantages de Rust plutôt que de simplement traduire du C en Rust.
L'auteur partage son expérience de mise en place d'un environnement de préproduction pour son instance Yunohost, virtualisée à partir d'un clone de sa machine physique de production. Il explique les avantages de cette méthode, comme la conservation de tous les ajustements manuels et la possibilité de créer des machines jetables pour des tests. Il détaille les modifications nécessaires pour différencier les VM (nom de la machine, mots de passe, thèmes visuels, etc.) et les bonnes pratiques à adopter, comme l'import régulier des sauvegardes de la préproduction pour valider leur restauration. Les machines virtuelles sont lancées à la demande, ce qui permet d'économiser des ressources.
Tout est dans le titre
Il s'agit d'une extension de Kubernetes ajoutant la gestion des VM à celle des conteneurs
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Gnome Boxes est un logiciel de virtualisation simple dont l’objectif est de fournir une interface utilisateur graphique simple (GUI) pour gérer des machines virtuelles sur Linux.
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre