“C’est la chose la plus sombre”, on sait enfin de quoi parle le dernier Conjuring

"C'est la chose la plus sombre que l'on ait vue dans la saga". Conjuring : Last Rites s'offre un teaser et de premiers détails sur son intrigue.
La représentation par IA d'un homme tué par balles a été autorisée à s'exprimer à l'audience de son tueur. Une première aux États-Unis.
Comme tous les ans, Qemu sort une nouvelle version majeure. Le numéro n'implique donc pas de grands bouleversements. Il s'agit plutôt d'une base stable qui va être maintenue et améliorée pendant quelques années. Ainsi, les versions 7, 8 et 9 ont eu des mises à jour en mars 2025.
Comme d'habitude, les architectures ARM et Risc-V se taillent la part du lion et sont enrichies de nouvelles architectures. Les accès aux stockages sont partout plus rapides, et l'espace utilisateur accède toujours mieux au matériel.
Qemu est devenu une pièce importante dans le monde des serveurs et des développeurs. En tant qu'émulateur il permet de développer, compiler ou lancer un programme sur un processeur ou une machine différente. Couplé à KVM, XEN ou VMWare, il permet une virtualisation performante.
L'article de Next résume bien les changements sur ARM et Risc-V. C'est technique, n'étant pas connaisseur je vous y renvoie.
x86 bénéficie de changements globaux à toutes les architectures avec quelques ajouts spécifiques pour des processeurs Intel. Mon petit doigt impatient de tester me souffle que ça sera plus rapide avec des accès "multithread1" aux périphériques de stockage (virtio-scsi
et virtio-blk
). L'accès direct au matériel en espace utlisateur continue de s'améliorer (VFIO, fonctions virtuelles d'entrées-sorties).
Les autres changements concernent l'émulation des architectures HPPA et S390.
À chaque version ou presque, des morceaux sont enlevés. Si vous faites dans l'exotique, ne vous précipitez pas sur la dernière version sans consulter la liste des Removed features.
En guise de conclusion, voici quelques pistes pour ceux et celles qui débutent avec la virtualisation sous Linux et/ou QEMU. Différentes distributions Linux ont de la documentation sous licence libre. Loin d'être exhaustif, voici quelques choix :
Qu'on me pardonne ce mot, je simplifie pour faire court! ↩
Commentaires : voir le flux Atom ouvrir dans le navigateur
Kivy est un cadriciel (framework) graphique, permettant de développer des interfaces tactiles (ou utilisable à la souris) sur toutes les plateformes, y compris mobiles. Il s'accompagne d'une suite de logiciels très pratiques que nous allons présenter ici.
Kivy permet de créer des interfaces graphiques naturellement adaptées aux écrans tactiles (mais qui restent utilisables sur un environnement de bureau traditionnel, à la souris et sans écran tactile). Il est écrit principalement en Python mais les parties critiques sont écrites en Cython, ce qui lui permet d’avoir de bonnes performances.
Une interface Kivy peut s’écrire de deux façons (ou, plus couramment, par une combinaison de ces deux façons) : en Python directement, ou via kv
, une syntaxe déclarative dont nous parlons plus bas.
Pour vous donner une idée, voici un exemple de hello world
repris du site officiel de Kivy :
from kivy.app import App
from kivy.uix.button import Button
class TestApp(App):
def build(self):
return Button(text='Hello World')
TestApp().run()
Ce qui donnera :
Une interface est composée de « widgets » agencés via des « layouts ». Certains widgets permettent de facilement mettre en place des composants communs de nos jours, comme par exemple le widget Carousel :
D’autre part, Kivy fournit des outils qui simplifient la vie du développeur ou de la développeuse, en particulier un système de propriétés (à ne pas confondre avec les propriétés Python) qui permet de mettre automatiquement l’interface à jour quand elles sont modifiées, ou de facilement attacher une fonction de rappel (« callback »), voir plus bas pour un exemple simple. On peut aussi citer un mécanisme d’animations très pratique et efficace.
kv est un langage permettant de décrire des interfaces, il met à profit les propriétés mentionnées plus haut et l’interface va se mettre à jour automatiquement quand des propriétés utilisées dans kv sont modifiées.
Reprenons le hello world vu plus haut, et faisons-le avec kv:
Widget:
Button:
text: "Hello World"
Plutôt simple non ?
Le code kv est généralement mis dans des fichiers séparés avec l’extension .kv
.
Kivy a donc un concept de propriété, qui permettent la liaison de données bidirectionnelles (two-way data binding), ou en d’autres termes de facilement avoir l’état mis à jour entre le code python et l’interface décrite dans le fichier kv
. C’est à l’usage très pratique et facile.
Un exemple va sans doute aider à comprendre.
Commençons par faire un environnement virtuel Python avec Kivy:
$ mkdir demo
$ cd demo
$ python -m venv env
$ source env/bin/activate
$ pip install kivy
Ensuite créez le fichier demo.py
suivant :
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import NumericProperty
class CompteurWidget(BoxLayout):
compteur = NumericProperty(0)
def increment(self):
self.compteur += 1
class DemoApp(App):
def build(self):
return CompteurWidget()
DemoApp().run()
Et maintenant, dans le même répertoire, ajoutez le fichier demo.kv
suivant, ce dernier sera automatiquement découvert par Kivy parce qu’il s’appelle comme notre application (DemoApp
) sans le suffixe App
et en minuscule :
<CompteurWidget>:
orientation: 'vertical'
padding: 20
Label:
text: str(root.compteur)
font_size: 30
Button:
text: "Incrémenter"
on_press: root.increment()
Il ne nous reste plus qu’à lancer le programme :
python demo.py
Et à admirer :
Le label se met automatiquement à jour quand le compteur compteur
est incrémenté.
La lectrice ou le lecteur assidu de DLFP pourra faire un TapTempo en exercice.
Note: Ne vous arrêtez pas au fait que l’UI est un peu "moche" par défaut, il y a des extensions beaucoup plus attractives (cf. KivyMD
plus bas), et il est très facile de personnaliser l’interface et d’en faire une très belle en modifiant un peu ses fichiers .kv
.
Plyer est une bibliothèque permettant d’accéder à nombre de fonctions utiles de manière indépendante de la plateforme. Ainsi vous avez une API commune pour afficher une notification, demander l’état de la batterie, faire vibrer l’appareil, faire de la synthèse vocale de texte (« text-to-speech »), ouvrir un fichier avec le dialogue natif de la plateforme, etc.
Bien que développé par la même équipe que Kivy, ce paquet est utilisable indépendamment et est donc particulièrement utile pour n’importe quel projet multi-plateformes. Référez-vous à la page du projet pour avoir un tableau des fonctionnalités supportées selon les plateformes, et à la documentation pour plus de détails.
Si vous souhaitez distribuer votre application sur Android, vous allez devoir avoir une version de Python compilée pour cette plateforme, ainsi que de tous les paquets nécessitant une compilation.
C’est le rôle de Python pour Android, qui est une collection d’outils qui s’appuient sur l’Android SDK pour permettre d’utiliser Kivy ou d’autre paquets Python sur Android, et ainsi faire votre propre distribution Python.
Si vous utilisez un paquet qui n’est pas en pur Python (c’est-à-dire qu’il y a des parties à compiler) et qui n’est pas encore disponible ou qui l’est mais dans une version trop ancienne, vous pouvez écrire ou mettre à jour des « recettes » (recipes en anglais) qui indiquent comment compiler. Référez-vous à la documentation pour voir comment faire.
Notez toutefois qu’il y a une pénalité à utiliser du Python par rapport à une application dans un langage compilé : il faut charger l’interprète au démarrage, et au tout premier lancement de votre application (et uniquement au premier) il y a aura une phase de décompression de vos fichiers. En dehors de ces petits inconvénients, ça fonctionne très bien.
Là encore, le projet est indépendant de Kivy et peut être utilisé avec un autre cadriciel.
À l’instar d’Android, l’équipe de Kivy fournit les outils pour faire votre distribution Python pour iOS.
Il vous faudra posséder une machine Apple pour les utiliser, à cause des restrictions imposées par cette plateforme (ceci n’est pas spécifique à Kivy pour iOS, mais s’applique à tous les outils pour développer sur iOS).
Ainsi avec une seule base de code (et après avoir passé un peu de temps pour configurer correctement les outils de compilation), vous pouvez déployer votre application Kivy/Python sur toutes les plateformes majeures (hormis le web, pour lequel il existe d’autres options comme Brython, Pyodide ou PyScript, mais c’est un sujet pour une autre dépêche).
Parfois l’utilisation de Plyer mentionné plus haut et de la bibliothèque standard Python ne suffisent pas, et vous avez besoin d’accéder à l’API d’Android, mais cette dernière est faite pour être utilisée avec Java ou Kotlin.
Pour pouvoir utiliser l’API d’Android depuis Python, PyJNIus est disponible. Ce paquet permet d’accéder aux classes Java comme à des classes Python en utilisant JNI (« Java Native Interface » ou « Interface Native de Java »).
Ce paquet fournit une méthode autoclass
qui convertit automatiquement une classe Java en Python, c’est très facile à utiliser et souvent suffisant pour les cas simples.
KivyMD n’est pas un projet officiel de l’équipe Kivy, mais un projet tiers dédié à la création d’un ensemble de Widgets thémables adoptant Material Design.
L'image ci-dessus est issue de la documentation de KivyMD, vous trouverez également des démos vidéo sur le dépôt du projet.
Une petite note sur mon expérience personnelle (Goffi). Kivy est un excellent cadriciel, et l’équipe est accueillante et réactive : c’est un projet que je recommanderais en général. Ceci dit, dans mon cas particulier (un client XMPP ayant de nombreuses fonctionnalités), j’ai quelques limitations qui me poussent actuellement à chercher des alternatives, notamment basées sur Qt (PyQt et PySide) :
Notez que je n’ai pas eu l’occasion de travailler avec Kivy récemment, peut-être que ces remarques ne sont plus à jour. Merci d’indiquer en commentaires s’il y a eu de l’évolution sur ces points.
Aussi, mon cas d’utilisation est très demandant (rendu HTML, affichage de texte performant, etc). Dans la plupart des cas, Kivy remplit sans problème toutes les cases (sauf l’accessibilité, qui reste son problème le plus important à mon sens).
Comme vous pouvez le voir, un travail considérable a été effectué sur Kivy et son écosystème, et il en sort un cadriciel performant, pratique, et qui peut potentiellement fonctionner sur la plupart des plateformes. Kivy est agréable à utiliser, et dispose d’une communauté très active et disponible.
Ce cadriciel mérite de s’y attarder, et est une option sérieuse si vous voulez développer un projet rapidement pour une ou plusieurs plateformes.
Cette dépêche a été commencée le 04 octobre 2018 à 14:19 (au premier jour de la Pycon FR 2018, à Lille, où une partie de l’équipe de Kivy était présente). Je crois que c’est haut la main la dépêche qui est restée le plus longtemps dans l’espace de rédaction. Comme quoi, tout vient à point à qui sait attendre, comme dirait l’autre.
Merci à toutes les personnes qui ont participé à la correction de la dépêche.
Commentaires : voir le flux Atom ouvrir dans le navigateur
Rockstar Games a frappé fort ce 6 mai 2025. Outre un deuxième trailer de GTA 6, le studio en profite pour partager des informations sur l'histoire officiel, les personnages et quelques lieux emblématiques du jeu vidéo.
Des ponts fermés ? Trop facile. Dans GTA 6, la zone du monde ouvert pourrait être limitée dans un premier temps par un détail repéré dans la deuxième bande-annonce du jeu.
La conquête de la planète Mars se joue aussi en Europe. L'Agence spatiale européenne (ESA) travaille sur un plan permettant de concevoir un service de transport interplanétaire entre la Terre et la planète rouge. Celui-ci se matérialiserait par LightShip, un remorqueur spatial.
Des associations et syndicats ont déposé un recours pour excès de pouvoir, défendu lundi après-midi devant le Conseil d’État. Ils déplorent les effets délétères de l’interdiction d’activités qui ont pour but de favoriser la réinsertion des détenus, dans un contexte de surpopulation carcérale dramatique. Le rapporteur public n'a donné que partiellement raison aux requérants.
Le 1er février 2025, la maison d’arrêt de Toulouse-Seysse affichait un taux d’occupation de 216,9%, contre 158,9% en moyenne nationale dans les maisons d’arrêt. Elle fait partie des 18 établissements à dépasser les 200% de taux d’occupation, alors que 66 établissements ont un taux compris entre 150% et 200%. Quelque 42.000 personnes sont donc incarcérées dans des conditions dégradées, dont 4.490 dorment sur un matelas posé à même le sol. La population carcérale, toujours au 1er février, atteint 81.599 détenus pour 58.000 places environ, record absolu.
C’est dans ce contexte de surpopulation extrême et chronique qu’un atelier de soins du corps visant à aider les détenus à «retrouver une estime de soi», mené bénévolement par des élèves esthéticiennes, devait se tenir le 14 février. Concrètement, les détenus ont reçu des produits de base et des conseils, mais aucun soin de la part des intervenantes.
Soutien dynamique de la politique du Ministère de la justice, le syndicat FO Justice a étalé son indignation dans un tract au style tapageur et à la prose tendant à rappeler, en substance, que la prison ce n’est pas le Club Med, et qu'ils (les surveillants) sont ébahis que l’argent du contribuable serve à payer des massages crâniens aux meurtriers d’enfant. Sans recul ni discernement, la presse locale diffusa ladite indignation.
Et ce fut l’embrasement médiatique. Les médias Bolloré, bien aidés par le panurgisme des médias dits mainstream, s’interrogèrent à voix haute sur les...
Finis les trous de mémoire sur Assassin’s Creed Shadows quand on recroise un personnage. Le patch 1.0.4 d'AC Shadows ajoute une base de données pour regrouper toutes les personnes déjà croisées en jeu. La mise à jour ajoute également une nouvelle histoire et apporte un certain nombre de correctifs.
En attendant les résultats de l'enquête pour comprendre l'échec du vol survenu fin avril 2025, et déployer toute mesure correctrice appropriée, la fusée Firefly Alpha n'a plus le droit de revoler pour l'instant.
L'application WhatsApp accueille une nouvelle icône dans la fenêtre principale de la messagerie instantanée, là où se trouvent toutes vos discussions. Représentée par un cercle bleu, elle renvoie à un autre service de Meta, centré sur l'intelligence artificielle générative.
Après un spectaculaire match aller conclu sur un score de 3-3, l'Inter Milan et le FC Barcelone s'affrontent ce mardi 6 mai 2025 à 21h au stade Giuseppe Meazza (San Siro) pour la demi-finale retour de la Ligue des champions.
Le procès judiciaire dans lequel se trouve Google au sujet de sa domination sur le web est aussi une affaire de survie pour Firefox. Le démantèlement potentiel de l'entreprise américaine pourrait par ricochet asphyxier le célèbre navigateur libre, dernier bastion d'une certaine idée du web.
La Maison-Blanche voudrait économiser sur la Station spatiale internationale (ISS), en retirant plus de 500 millions d'euros de la NASA, dans le budget 2026 consacré à cette mission. Cela pourrait avoir une incidence sur la taille des équipages, leur rotation ainsi que la durée des séjours et les activités à bord.
Le procès judiciaire dans lequel se trouve Google au sujet de sa domination sur le web est aussi une affaire de survie pour Firefox. Le démantèlement potentiel de l'entreprise américaine pourrait par ricochet asphyxier le célèbre navigateur libre, dernier bastion d'une certaine idée du web.