Menu

Aucun menu défini dans le customizer.

Lire la puce de sa carte d’identité en Python sous Linux

Hubert, fidèle lecteur de Korben.info m’a envoyé un mail pour me dire qu’il avait reçu sa nouvelle carte d’identité. Vous savez celle en petit format avec la puce dedans qu’on peut scanner avec l’app France Identité. Et il en est bien content !

Voilà, l’histoire s’arrête là !

Mais non, je plaisante ! En fait, Hubert s’est posé LA question que personne ne se pose à l’heure de l’
identité numérique européenne
: Y’a quoi là dedans ?

Un développeur a fait tourner Swift sur un Apple II de 1977

Swift, le langage maison qu’Apple a sorti en 2014 pour remplacer le vieillissant Objective-C, vient de débarquer sur une machine qui a quarante-neuf ans de plus que lui. Yeo Kheng Meng, un bidouilleur basé à Singapour, a restauré un Apple II Plus puis s’est demandé jusqu’où il pouvait pousser ce vieux tromblon, ce qui a donné SwiftII, un petit environnement Swift qui tourne aussi bien sur l’Apple II d’origine de 1977 que sur les IIe qui ont suivi.

Git 2.55 active Rust par défaut, et la fin du tout-C est déjà programmée

Vingt et un ans après sa création par Linus Torvalds, Git amorce pour de bon son changement de langage. La première version de test de Git 2.55, publiée hier, active par défaut le code Rust dans le gestionnaire de versions le plus utilisé au monde, celui qui héberge l’historique d’à peu près tous les projets logiciels de la planète.

Jusqu’ici, il fallait réclamer explicitement le Rust au moment de compiler le logiciel, c’est-à-dire de le fabriquer à partir de son code source, via une option baptisée WITH_RUST ou via le système de build Meson. Git 2.55 inverse la logique : le Rust est désormais supposé présent, et c’est pour s’en passer qu’il faut lever la main, avec une nouvelle option NO_RUST.

L’IOCCC 2025 couronne le code C le plus illisible du monde

Faire tourner Tetris sur un émulateur Game Boy dont le code source tient dans moins de 5 ko de C volontairement incompréhensible, voilà le genre de prouesse que célèbre l’IOCCC, le concours international de code C obfusqué, dont le palmarès 2025 mérite vraiment le détour.

Le principe de ce concours créé en 1984 n’a pas bougé : écrire un programme en C (un des plus vieux langages de programmation encore massivement utilisés) qui fonctionne parfaitement, mais dont le code est si tordu que personne ne comprend comment. L’obfuscation, c’est exactement ça : rendre un code illisible. Ici, on le fait exprès, pour la beauté du geste.

Le compilateur JIT de Python est menacé, et pas pour une raison technique

Le conseil de pilotage de Python, l’instance qui tranche les grandes décisions du langage, a demandé le 5 juin la suspension de tout nouveau développement sur son compilateur JIT.

Un JIT (just-in-time), c’est un compilateur à la volée : au lieu d’interpréter votre code ligne par ligne, il traduit les portions les plus sollicitées en instructions machine pendant l’exécution, histoire de gagner en vitesse. Python en a un, expérimental, depuis la version 3.13 sortie début 2024.

Un clone de DOOM en COBOL ça vous dit ?

Un développeur connu sous le pseudonyme icitry s’est posé une question que personne de sensé ne formule jamais, peut-on coder un jeu de tir à la première personne en COBOL ? La réponse, contre toute attente, est oui, et le résultat est même tout à fait jouable.

Pour ceux que ce nom laisse de marbre, COBOL, pour Common Business Oriented Language, est un langage né en 1959 qui fait encore tourner aujourd’hui une partie des mainframes chargés de vos virements bancaires et de la paie. C’est l’outil de la gestion et des relevés de compte, à peu près l’inverse de ce qu’on imagine pour un jeu vidéo.

NVIDIA CUDA 13.3 fait passer Python en stable et amène un nouveau modèle de programmation pour C++

Avec la sortie de CUDA 13.3, NVIDIA renforce son écosystème GPU sur deux fronts importants. La version Python passe officiellement en 1.0 (donc considérée comme stable et utilisable en production), et CUDA Tile arrive nativement pour les développeurs C++.

Petit rappel pour les non-initiés : CUDA, c’est l’outil que tout le monde utilise pour faire tourner du calcul sur les cartes graphiques NVIDIA, principalement pour l’IA et le calcul scientifique. 

Apprendre Prolog avec des Pokémon, c’est possible

Alexander Petros, qui tient le
blog Unplanned Obsolescence
, a publié un tutoriel d’environ 3 500 mots qui explique les bases de Prolog, un langage de programmation logique des années 70 très différent des langages courants comme Python ou JavaScript, en utilisant les combats Pokémon comme support pédagogique. C’est étonnamment efficace.

Pour ceux qui n’ont jamais touché Prolog, la grosse différence avec un langage classique style Python ou JavaScript, c’est qu’au lieu de dire à l’ordinateur comment résoudre un problème étape par étape, vous lui décrivez les règles du jeu et vous le laissez chercher les réponses tout seul.

Slint – Le framework UI Rust

Vous avez déjà voulu créer une appli desktop qui tourne sur Linux, Mac et Windows en même temps ? En Rust, c’était un peu compliqué jusqu’ici. Heureusement,
Slint
, créé par la société allemande SixtyFPS GmbH, propose une solution sympa !

L’idée, c’est de décrire votre interface dans des petits fichiers .slint (un genre de mini HTML/CSS pour appli native), et de brancher ça à du Rust, du C++, du JavaScript ou du Python. Comme ça, vous codez le visuel d’un côté, la logique de l’autre.

Scrapling – Le scraper Python qui se répare tout seul

Le scraping web, c’est un combat permanent contre les sites qui changent leur HTML toutes les deux semaines. Vous vous emmerdez à coder vos sélecteurs CSS, ça marche pendant un mois, puis le site refait son design et hop, votre script s’eteint en silence. C’est pourquoi Karim Shoair (alias D4Vinci sur GitHub) a sorti Scrapling, un framework Python qui s’adapte tout seul quand le DOM bouge.

La clé c’est adaptive=True sur n’importe quel sélecteur. Vous lui dites “je cherchais .product“, Scrapling sauvegarde alors la signature de l’élément (texte, attributs, position dans l’arbre), et la prochaine fois que le site a renommé sa classe, il retrouve l’élément via similarité.