Vue normale

Reçu aujourd’hui — 21 octobre 2025

Valkey 9.0.0 released

Par :jzb
21 octobre 2025 à 16:25

Version 9.0.0 of the Valkey distributed key-value database has been released. Notable features of this release include Multipath TCP (MPTCP) support, new filters for client commands, multi-database support for cluster mode and much more. See the Valkey 9.0.0 RC1 release notes for a full list of new features in this major release.

According to a recent blog post, this release includes major improvements to performance and scaling of Valkey clusters to more than 2,000 nodes and one billion requests per second. Valkey began as a fork of the Redis key-value database in March 2024, but has evolved separately since then.

Sortie de Cocotb version 2.0.0

21 octobre 2025 à 15:50

Cocotb, le cadriciel libre de vérification matérielle en Python, vient de publier sa version majeure 2.0. Cette sortie marque une étape importante dans l’évolution de ce projet qui permet de tester des circuits numériques décrits en VHDL ou Verilog directement depuis Python, sans avoir à écrire de testbench en HDL.

Pour celles et ceux qui ne connaissent pas encore cocotb, il s’agit d’un outil qui facilite grandement la vie des personnes travaillant sur la conception de circuits intégrés. Plutôt que d’écrire des bancs de test complexes en VHDL ou Verilog, cocotb permet d’utiliser Python et son écosystème riche (NumPy, pytest, etc.) pour vérifier le comportement des circuits.
Cocotb (Coroutines-based Cosimulation Test-Bench) permet d’écrire en python des bancs de test qui vont piloter directement le simulateur HDL via différentes interfaces (VPI, VHPI, FLI). La plupart des simulateurs HDL du marché sont supportés, qu’ils soient libres ou non.

Logo cocotb

Sommaire

Une version majeure synonyme de changements

Comme l’indique le numéro de version, cocotb 2.0 introduit des changements incompatibles avec les versions précédentes. L’équipe de développement a profité de cette version majeure pour nettoyer l’API, supprimer du code obsolète et moderniser l’architecture du projet. Un guide de migration détaillé est disponible pour accompagner la transition.

Principales ruptures de compatibilité

La transition vers cocotb 2.0 nécessite quelques adaptations du code existant :

  • Suppression des coroutines à base de générateurs : La syntaxe yield (avec le décorateur @cocotb.coroutine) a été supprimée. Il faut désormais utiliser exclusivement la syntaxe moderne async/await.

  • Nouvelles conventions de nommage : Les variables d’environnement ont été renommées pour éviter les conflits avec les simulateurs. Par exemple, MODULE devient COCOTB_TEST_MODULES, TOPLEVEL devient COCOTB_TOPLEVEL, etc.

  • Changements dans les types de données : Les objets BinaryValue ont été remplacés par LogicArray, offrant une API plus cohérente et moderne pour manipuler les valeurs logiques.

  • Modifications des déclencheurs : L’objet Join est devenu obsolète au profit d’une utilisation directe des tâches. La syntaxe await task.join() devient simplement await task.

Les nouveautés marquantes

Amélioration des performances

La nouvelle version apporte des gains de performance significatifs, notamment grâce à l’implémentation en C++ d’un générateur d’horloge (GpiClock). Cette optimisation réduit les échanges entre Python et l’interface GPI, permettant des simulations plus rapides, particulièrement pour les designs utilisant de nombreuses horloges.

Prise en charge étendue des simulateurs

Cocotb 2.0 élargit sa prise en charge des simulateurs commerciaux et libres :

  • DSim (Siemens) est maintenant officiellement géré
  • Questa bénéficie d’un nouveau flux de compilation qisqrun utilisant le Questa Information System pour de meilleures performances
  • NVC, le simulateur VHDL libre, est désormais géré
  • Verilator (version 5.036 minimum) avec le flag --timing est maintenant pleinement fonctionnel

Gestion améliorée des tâches

L’API de gestion des tâches a été modernisée pour s’aligner sur celle d’asyncio` :

# Nouvelle fonction pour démarrer une tâche
cocotb.start_soon(ma_coroutine())

# Nouveau déclencheur pour attendre la fin d’une tâche
await task.complete  # au lieu de await Join(task)

# Annulation de tâches
task.cancel()  # au lieu de task.kill()

# Variables locales aux tâches
task.locals.ma_variable = valeur

Nouvelles fonctionnalités pour les signaux

Cocotb 2.0 enrichit les possibilités d’interaction avec les signaux HDL :

  • Dépôts sans délai : La classe Immediate permet d’effectuer des assignations immédiates
  • Nouvelle méthode set() : Une alternative à la propriété value avec un typage plus strict
  • Gestion étendue des actions : Force, Freeze, Release et Deposit pour un contrôle fin des signaux
# Différents types d’assignations
dut.signal.set(42)                    # Assignation normale
dut.signal.set(42, Immediate())       # Assignation immédiate
dut.signal.set(42, Force())           # Forcer une valeur
dut.signal.set(Release())             # Libérer un signal forcé

Améliorations du typage

Cocotb 2.0 intègre maintenant mypy dans son processus de CI, garantissant une meilleure qualité du typage. Les utilisateurs bénéficient ainsi d’une meilleure expérience avec les IDE modernes et les vérificateurs de types.

Décorateur @cocotb.parametrize

Un nouveau décorateur simplifie la création de tests paramétrés, offrant une alternative plus moderne à TestFactory :

@cocotb.parametrize(
    width=[8, 16, 32],
    signed=[True, False]
)
@cocotb.test()
async def test_additionneur(dut, width, signed):
    # Test avec différentes combinaisons de paramètres
    pass

Gestion du logging améliorée

Le système de logging a été revu pour être moins intrusif :

  • Nouvelle variable COCOTB_LOG_PREFIX pour personnaliser le préfixe des logs
  • Séparation des niveaux de log pour GPI avec GPI_LOG_LEVEL
  • Meilleure gestion de la capture des warnings Python
  • Timestamps de simulation accessibles dans les LogRecord

Nouvelles structures de données

La version 2.0 enrichit considérablement le module cocotb.types :

  • LogicArray : Représentation des tableaux de valeurs logiques avec gestion des états X, Z, etc.
  • Logic : Valeur logique unique avec gestion des 9 états VHDL
  • Méthodes de conversion : to_signed(), to_unsigned(), to_bytes(), from_bytes() pour faciliter les conversions
from cocotb.types import LogicArray, Range

# Création d’un tableau logique
data = LogicArray("10XZ01", Range(5, "downto", 0))

# Conversions
valeur_entier = data.to_unsigned(resolve=True)
octets = data.to_bytes()

Améliorations de l’écosystème

Flux de test en Python

Le flux de test Python (Python Test Runner), introduit expérimentalement en version 1.8, est maintenant mature et constitue l’alternative recommandée au système de Makefile traditionnel. Il permet une intégration plus naturelle avec pytest et simplifie la configuration des simulations.

Queues asyncio

Cocotb 2.0 introduit des files d’attente compatibles avec asyncio (Queue, PriorityQueue, LifoQueue), facilitant la communication entre coroutines.

Gestion des packages SystemVerilog

L’accès aux packages SystemVerilog est maintenant possible via cocotb.packages, permettant d’interagir avec les définitions globales du design.

Considérations sur l’adoption

Cette version majeure représente un investissement conséquent de l’équipe de développement. Pour les utilisatrices et utilisateurs existants, la migration nécessitera quelques ajustements, mais les bénéfices en termes de maintenabilité et de performances en valent la peine.

Le projet cocotb, développé principalement par la communauté et utilisé dans l’industrie comme dans l’enseignement, continue de démontrer la pertinence de l’approche Python pour la vérification matérielle. Cette version 2.0 consolide les bases pour les évolutions futures.

Pour les personnes qui débutent avec cocotb, c’est le moment idéal pour se lancer : la documentation a été revue, les exemples mis à jour, et l’API est désormais plus cohérente.

Remerciements et perspectives

Cette version est le fruit du travail de nombreuses personnes contributrices. Le projet est hébergé sur GitHub et accepte volontiers les contributions, qu’il s’agisse de code, de documentation ou de retours d’expérience.

Les prochaines versions devraient continuer à améliorer les performances, étendre la prise en charge des simulateurs et enrichir l’écosystème de bibliothèques de vérification. La communauté cocotb est active et accueillante, n’hésitez pas à la rejoindre !

Commentaires : voir le flux Atom ouvrir dans le navigateur

Après la collision avec un avion Boeing en vol, voilà comment le ballon fautif va changer

21 octobre 2025 à 15:04

avion ballon

WindBorne Systems n'a pas traîné. Alors qu'un de ses ballons météo a été impliqué dans un choc aérien avec un avion Boeing en plein vol, la société a annoncé plusieurs changements, dont certains sont déjà appliqués. D'autres sont en cours d'évaluation... y compris la forme d'un sachet de sable. Explications.

Vous n’avez pas revu Kaamelott depuis un moment ? Ce qu’il faut revoir avant d’aller au cinéma pour Kaamelott Volet 2 Partie 1

21 octobre 2025 à 13:59

Kaamelott

Un nouveau film Kaamelott sort le 22 octobre 2025, quatre ans après le premier. Pour qui n'est plus tout à fait à jour des aventures du royaume de Logres, une petite session de rattrapage peut s'organiser, en allant droit à l'essentiel.

Il n’y a plus vraiment besoin de mot de passe pour se connecter à World of Warcraft ou Diablo 4

21 octobre 2025 à 14:58

Khadgar passkey

C'est l’option qui manquait pour protéger davantage son compte Battle.net. Désormais, il est possible de se connecter à son lanceur de jeux Blizzard sans avoir besoin de taper son mot de passe, grâce à la prise en charge des passkeys.

Pour notre anniversaire, Micromania vous offre une Switch 2 avec Pokémon Z-A !

21 octobre 2025 à 09:57

La console qui a marqué 2025 ? C'est évidemment la Switch 2, enfin disponible ! Pour nos 10 ans chez Humanoid, on vous propose de remporter la toute nouvelle Nintendo Switch 2, généreusement offerte par Micromania que nous remercions pour ce cadeau d'exception.

Avant la sortie de Kaamelott 2 Partie 1 au cinéma, que faut-il voir pour être à jour ?

21 octobre 2025 à 09:00

Kaamelott

Un nouveau film Kaamelott sort le 22 octobre 2025, quatre ans après le premier. Pour qui n'est plus tout à fait à jour des aventures du royaume de Logres, une petite session de rattrapage peut s'organiser, en allant droit à l'essentiel.

Alexandre Astier (Kaamelott) tacle l’industrie auto : pourquoi il juge la voiture thermique totalement absurde

21 octobre 2025 à 07:54

En promo pour le film Kaamelott, Alexandre Astier a profité d'un passage sur Clique pour étriller la voiture thermique. Cette ode en creux à la voiture électrique pourrait donner le ton d'une nouvelle œuvre qu'il souhaite écrire.

Des fans de Kaamelott ont décodé un message secret avant la sortie du film Volet 2 Partie 1

21 octobre 2025 à 07:06

Arthur Kaamelott

Ces derniers jours, des internautes ont résolu une énigme que l'on pouvait voir dans le trailer du film Kaamelott Volet 2 Partie 1. Ils ont saisi le sens d'une étrange inscription sur un mur. On ne spoilera pas sa signification, mais la piste suivie est la bonne.

Reçu hier — 20 octobre 2025

Un avion Boeing 737 Max frappé par un débris spatial en plein vol ? Personne ne sait

20 octobre 2025 à 14:55

Décidément, le Boeing 737 Max n'a pas de chance. Après des années compliquées, voilà qu'un exemplaire de cette famille d'avion se retrouve mêlé à un choc aérien pour l'instant inexpliqué.

[$] The RubyGems.org takeover

Par :jzb
20 octobre 2025 à 20:45

In September, a group of long-time maintainers of Ruby packaging tools projects had their GitHub privileges revoked by nonprofit corporation Ruby Central in what many people are calling a hostile takeover. Ruby Central and its board members have issued several public statements that have, so far, failed to satisfy many in the Ruby community. In response, some of the former contributors to RubyGems are working on an alternative service called gem.coop. On October 17, ownership of the RubyGems and Bundler repositories was handed over to the Ruby core team, even though those projects had never been part of core Ruby previously. The takeover and subsequent events have raised a number of questions in the Ruby community.

[$] Explicit lazy imports for Python

Par :jake
20 octobre 2025 à 16:30
Importing modules in Python is ubiquitous; most Python programs start with at least a few import statements. But the performance impact of those imports can be large—and may be entirely wasted effort if the symbols imported end up being unused. There are multiple ways to lazily import modules, including one in the standard library, but none of them are part of the Python language itself. That may soon change, if the recently proposed PEP 810 ("Explicit lazy imports") is approved.

Révolutionnez votre ménage en gagnant le Tineco Floor One S9, le lot du jour de notre grand concours

20 octobre 2025 à 15:47

L'aspirateur-laveur qui change la vie ? On en a testé des dizaines, mais c'est bien un Tineco qui trône dans nos bureaux. Pour fêter nos 10 ans chez Humanoid, on vous offre le Tineco Floor One S9, l'aspirateur-laveur intelligent mis en jeu par Tineco que nous remercions avec enthousiasme.

Un règne sans rival : SpaceX franchit les 10 000 satellites Starlink envoyés dans l’espace, et ça ne s’arrête pas

20 octobre 2025 à 15:45

Falcon 9 SpaceX

SpaceX a lancé plus de 10 000 satellites Starlink depuis le début du projet, en 2019. L'entreprise garde un rythme très intense aujourd'hui, notamment pour les renouveler régulièrement. Aucun autre opérateur ne dispose d'une constellation aussi dense pour l'instant.

Un avion Boeing 737 Max frappé par un débris spatial en plein vol ? Personne ne sait (mais tout le monde parle)

20 octobre 2025 à 14:55

Décidément, le Boeing 737 Max n'a pas de chance. Après des années compliquées, voilà qu'un exemplaire de cette famille d'avion se retrouve mêlé à un choc aérien pour l'instant inexpliqué.

Security updates for Monday

Par :jake
20 octobre 2025 à 14:21
Security updates have been issued by Debian (imagemagick, incus, lxd, pgagent, svgpp, and sysstat), Fedora (chromium, complyctl, fetchmail, firefox, mbedtls, mingw-binutils, mingw-python3, mingw-qt5-qtsvg, mingw-qt6-qtsvg, python3.10, python3.11, python3.12, python3.9, runc, and suricata), Mageia (expat), Red Hat (firefox, kernel, qt5-qtbase, and qt6-qtbase), Slackware (stunnel), SUSE (chromium, coredns, ctdb, firefox, kernel, libexslt0, libpoppler-cpp2, ollama, openssl-1_1, pam, samba, and thunderbird), and Ubuntu (samba).

Le ciel est-il désormais à Elon Musk ? SpaceX dépasse les 10 000 satellites Starlink lancés depuis le début, et ça continue

20 octobre 2025 à 10:10

Falcon 9 SpaceX

SpaceX a lancé plus de 10 000 satellites Starlink depuis le début du projet, en 2019. L'entreprise garde un rythme très intense aujourd'hui, notamment pour les renouveler régulièrement. Aucun autre opérateur ne dispose d'une constellation aussi dense pour l'instant.

Mauvaise nouvelle pour la fusée Ariane 6, sa plus puissante version ratera son objectif initial

20 octobre 2025 à 08:10

Ariane 6

Exploitée depuis la mi-2024, la plus grosse fusée européenne n'avait pas encore montré toutes ses facultés. La version la plus puissante d'Ariane 6 devait faire ses débuts cette année. Mais finalement, elle ne volera pas à la date prévue.

Immunisés à vie contre le cancer, grâce à un super vaccin ?

20 octobre 2025 à 04:55

« En rémission ». Ces mots apportent un immense soulagement, mais laissent planer la sourde menace d’une rechute. Une nouvelle génération de vaccins ouvre enfin une nouvelle perspective, celle de la guérison.

Depuis quelques années, l’idée de créer des vaccins contre le cancer s’est imposée dans les laboratoires du monde entier. Pas encore pour prévenir la maladie, mais pour aider le système immunitaire à reconnaître les cellules cancéreuses déjà présentes ou celles pouvant induire un risque de récidive.
Beaucoup de ces vaccins utilisent la fameuse technologie à ARNm, personnalisée en fonction des mutations spécifiques trouvées dans la tumeur de chaque patient. Des essais cliniques avancés (en phases 2 ou 3) sont en cours, et les résultats sont prometteurs pour certains cancers comme le mélanome (un cancer de la peau) ou ceux du pancréas. Mais la réponse reste très inégale : chez certains patients, elle est positive, chez d’autres, nullement.

Pourquoi cette différence ? Parce que, pour qu’un vaccin soit efficace, il ne lui suffit pas d’avoir une cible précise, qu’on appelle un antigène (que l’on pourrait schématiquement comparer à une étiquette capable de signaler les cellules cancéreuses au système immunitaire). Il faut aussi un signal d’alerte puissant pour réveiller et activer le système immunitaire de façon durable. Ce signal, on l’appelle un adjuvant. Dans de nombreux vaccins contre le cancer actuels, ce signal est trop faible, ce qui explique pourquoi la réponse immunitaire n’est pas toujours au rendez-vous, ni en termes de durabilité, ni d’efficacité.

C’est précisément ce verrou qu’une équipe du Massachusetts a voulu faire sauter, dans une étude parue en octobre 2025 dans la revue Cell Reports Medicine. Elle a développé un « super-adjuvant » sous forme de nanoparticules lipidiques – de minuscules bulles de graisse, invisibles à l’œil nu, qui transportent un duo de signaux d’alerte immunitaires. Ceux-ci provoquent deux réactions conjointes : l’une, appelée STING, détecte de l’ADN anormal (comme celui des cellules cancéreuses), et l’autre, TLR4, déclenche une inflammation contrôlée pour alerter le corps. Ensemble, ces deux signaux créent une réaction immunitaire explosive mais ciblée. Elle se manifeste par le réveil de cellules dendritiques – pensez à elles comme à des instructeurs qui forment les soldats du système immunitaire – provoquant la mobilisation d’une armée de lymphocytes T et B, qui attaquent et détruisent les tumeurs.

À la différence des habituels vaccins à ARNm, ces nanoparticules ne contiennent aucun code génétique. Elles servent juste d’amplificateur. C’est comme ajouter un turbo à un moteur existant, sans modification du véhicule.

Les chercheurs ont testé cette approche sur des souris avec des résultats impressionnants. Près de 90 % des animaux n’ont pas développé de tumeur après avoir été exposés à des cancers très agressifs, comme ceux du pancréas, du sein ou de type mélanome. Ce qui est encore plus remarquable, c’est que la réexposition des animaux aux mêmes cancers plusieurs semaines plus tard n’a provoqué aucune rechute. Leur système immunitaire se souvenait du danger et a réagi immédiatement pour l’éliminer.

Un autre point fort de cette technologie tient à sa flexibilité et à sa facilité d’adaptation. Nul besoin d’analyser en détail la génétique de chaque tumeur, ce qui rend le processus plus simple et potentiellement moins cher que celui actuellement engagé dans les vaccins personnalisés. On peut l’utiliser avec différents types d’antigènes, selon la pathologie.

Il est néanmoins pour l’instant évident que les tests, exclusivement effectués sur des souris, restent à confirmer chez l’humain, sans certitude de résultats équivalents. Mais cette découverte ouvre des perspectives extrêmement encourageantes, notamment la possibilité, au lieu de créer de tout nouveaux vaccins, d’améliorer ceux qui existent en leur ajoutant cet adjuvant surpuissant, de manière à transformer une réponse immunitaire faible en une défense robuste contre la tumeur.

À l’avenir, traiter un cancer pourrait se fonder sur une combinaison entre les traditionnelles chimio- et radiothérapies, engagées pour détruire les cellules pathogènes, et ces vaccins entraînant le corps du patient à les reconnaître et à les combattre une bonne fois pour toutes, par la création d’une véritable mémoire immunitaire. Un espoir fascinant.

L’article Immunisés à vie contre le cancer, grâce à un super vaccin ? est apparu en premier sur Les Électrons Libres.

Reçu avant avant-hier

C’étaient les 10 plus grands moments de la conquête spatiale 2015-2025

19 octobre 2025 à 17:20

Voilà 10 ans que Numerama a rejoint le groupe Humanoid. Dix ans où l'on a suivi avec de plus en plus d'attention ce qui se passait du côté de la conquête spatiale, aussi bien aux États-Unis qu'en Europe, sans oublier la Chine ou la Russie. Et il s'en est passé des choses, comme le montrent ces 10 moments les plus marquants de la décennie passée.

❌