Another World, une belle leçon d'architecture logicielle
🔗 publié par Olivier Poncet le 02/10/2025 à 12:30
Sorti il y a près de 35 ans, en 1991, le jeu Another World est bien plus qu’un jeu culte : c’est une prouesse tant technique qu’artistique. Portée par la vision singulière d’Éric Chahi, alors jeune développeur d’à peine 22 ans, sa réalisation cache une architecture logicielle très audacieuse et résolument moderne : une machine virtuelle sur mesure pensée pour contourner les limites matérielles de l’époque, faciliter le développement et le portage, tout en offrant une expérience de qualité cinématographique jusqu’alors inédite.
Anatomie d'une faille
🔗 publié par Olivier Poncet le 11/10/2024 à 12:30
Coup de tonnerre ! Le vendredi 29 mars 2024 fut révélée une tentative d’attaque qui aurait pu avoir des conséquences désastreuses ; le projet xz-utils, fournissant des outils et bibliothèques de compression de données, était alors compromis par une ingénieuse attaque qui aurait pu donner accès à n’importe quel serveur exposé dans le monde … attaque qui n’a pu aboutir grâce à un heureux concours de circonstances.
Sortez les scalpels ! Je vous propose de mettre cette attaque sur la table d’autopsie afin d’en étudier son anatomie : de son déroulement,s’écoulant sur plus de deux longues années, aux techniques d’ingénierie sociale et d’ingénierie logicielle utilisées. Nous reviendrons enfin sur les risques et conséquences liés aux attaques visant la supply-chain du monde du logiciel libre et open-source.
Créer sa propre VM avec compilation JIT pour les nuls
🔗 publié par Olivier Poncet le 19/06/2023 à 12:30
La compilation « Just In Time » est une technique d’exécution très utilisée depuis de nombreuses années au sein des machines virtuelles de langages tels que Java, C#, JavaScript, etc …. Elle permet d’interpréter et d’exécuter un byte-code tout en le transformant « à la volée » vers le langage machine natif de la machine hôte nous permettant ainsi d’obtenir des performances bien plus élevées lors d’une seconde exécution du code.