Why we migrated from Python to Node.js
Un retour d'expérience (à nuancer comme toujours) sur une migration de Python vers Node justifiée par la difficulté d'écrire du code asynchrone avec Python.
— Permalink
Un retour d'expérience (à nuancer comme toujours) sur une migration de Python vers Node justifiée par la difficulté d'écrire du code asynchrone avec Python.
Un retour d'expérience (à nuancer comme toujours) sur une migration de Python vers Node justifiée par la difficulté d'écrire du code asynchrone avec Python.
Je trouve ça fou qu'avec le succès phénoménal de Python il n'y ait jamais eu de manière plus simple et intégré de gérer les versions et les dépendances. virtualenv semble ne satisfaire personne.
Je trouve ça fou qu'avec le succès phénoménal de Python il n'y ait jamais eu de manière plus simple et intégré de gérer les versions et les dépendances. virtualenv semble ne satisfaire personne.
Bonjour à tous,
Aujourd'hui, nous avons l'occasion de nous pencher sur le microcontrôleur MicroPython le plus rapide à ce jour.
IMXRT1010RM de NXP qui équipe la carte RT1010-Py d'Olimex, une carte de développement Cortex M7 fonctionnant à 500 MHz. soit 4 fois plus rapide que le RP2040 avec MicroPython pré-installé.
![]() |
| carte RT1010-Py d'Olimex |
Avec un Cortex M7 et un support DSP, ce microcontrôleur sera surtout intéressant pour les applications en besoin de réactivité et de puissance de calcul (unité de calcul en virgule flottante à double précision).
Nous avons travaillé/collaboré sur le manuel utilisateur et la documentation afin de rendre la carte de développement et son DevKit plus accessibles. Vous savez... dès qu'il s'agit de MicroPython, on ne se tient plus!
![]() |
| Brochage du RT1010-Py (par MCHobby) |
Nous avons apporté quelques ressources graphiques mais également étayé la documentation avec des exemples et des ressources utiles autour pour MicroPython. Nos apports les plus significatifs restant l'exemple I2S, le support WS2812/NeoPixel et la gestion du PMIC (gestion d'alimentation intégrée au RT1010) qui permet, par exemple, de maintenir la RTC à l'heure alors que le MCU est arrêté.
Cette plateforme existe depuis un moment mais le support MicroPython est maintenant mature.
![]() |
| RT1010-Py DevKit |
Le kit de développement RT1010-Py propose:
Comme pour le RT1010-Py, nous avons participé à la rédaction de son manuel utilisateur et aux ressources graphiques facilitant la prise en main.
![]() |
| Brochage des connecteurs UEXT |
![]() |
| Edge connector du RT1010Py-DevKit |
Bonjour à tous,
Nombre d'entre-vous savent que nous sommes impliqué dans le projet CanSat (voir précédents articles sur le sujet CanSat).
Nous poursuivons les travaux sur Kit CANSAT version 2, l'occasion de s'intéresser à des extensions utiles.
Pour rappel, notre kit utilise un Raspberry-Pi Pico et du code Python sur microcontrôleur (MicroPython).
CanSat est
un concours visant a stimuler l'apprentissage des sciences dans le
domaine de l'AéroSpatial en réalisant un mini-satellite (la CanSat) pas
plus grande qu'une boîte de Soda. Ce satellite est envoyé et éjecté à
3000m d'altitude à l'aide d'une roquette. C'est à partir de ce moment
que votre projet capture les données et les envois au sol.
Si vous voulez en apprendre plus sur le concours CanSat, je vous invite à visiter la page d'accueil CANSAT sur EseroBelgium.be .
Dans les divers modules envisagé, il y a le module GPS/GNSS destiné à communiquer la position de la CanSat durant son vol.
Ci-dessous le module en cours de validation.
![]() |
| CANSAT-GPS-V2 par MCHobby |
Ainsi, une variante de l'attache parachute (dit CanSat-BUN) pour l'équiper d'un GPS Ultime.
Etant donné que ce module est supposé se retrouver sur le dessus de la CanSat (pour exposer l'antenne vers le ciel), le point de connexion est reporté sous la carte.
Un simple câble Grove permettra de raccorder le GPS sur l'entrée UART de la CANSAT en deux clicks.
![]() |
| CANSAT-GPS-V2 par MCHobby |
La carte expose également les deux signaux supplémentaires:
C'est que le breakout GPS/GNSS produit par AdaFruit dispose d'une excellente module GPS/GNSS disposant d'une grande sensibilité et d'une antenne intégrée (dite Patch Antenna).
Même avec son antenne Patch, le démarrage à froid de ce module permet d'obtenir un fix GPS/GNSS relativement rapidement (de l'ordre de la minute).
Tandis que s'il est utilisé avec un pile CR2032, le démarrage à chaud permet de réduire drastiquement le temps du fix GPS/GNSS.
Le GPS-Ultime est capable d'offrir un rafraîchissement des données jusqu'à 10 fois par secondes (10 Hz).
Le dépôt cansat-belgium-micropython reprend la bibliothèque lib/adafruit_gps.py résulte d'un précédent portage Arduino vers MicroPython.
Maintenant compatible avec les trames GNSS, la bibliothèque permet de tester les scripts d'exemples test-gps pour CanSat :
![]() |
| cansat-belgium-micropython |
======================================== Fix timestamp: 10/18/2025 17:03:51 Latitude: 50.69063 degrees Longitude: 4.400778 degrees Fix quality: 1 # satellites: 10 Altitude: 110.0 meters Speed: 0.36 knots and 0.666468 km/h Track angle: 159.4 degrees Horizontal dilution: 1.19 Height geo ID: 47.4 meters ======================================== Fix timestamp: 10/18/2025 17:03:52 Latitude: 50.69063 degrees Longitude: 4.40078 degrees Fix quality: 1 # satellites: 10 Altitude: 110.0 meters Speed: 0.31 knots and 0.573903 km/h Track angle: 159.4 degrees Horizontal dilution: 1.19 Height geo ID: 47.4 meters
Il est possible de visualiser les coordonnées dans google maps en saisissant les coordonnées "50.69063 , 4.400778" (lattitude , longitude) dans la zone de recherche.
Using Google bq CLI, the following command allows to get the top Pypi keywords from the bigquery-public-data.pypi.distribution_metadata table:
bq query --use_legacy_sql=false 'SELECT keyword, COUNT(*) as keyword_count FROM `bigquery-public-data.pypi.distribution_metadata`, UNNEST(SPLIT(keywords, ", ")) as keyword GROUP BY keyword ORDER BY keyword_count DESC LIMIT 100'
Result for the top-15 keywords:
python : 128555 appearancesDuckDB Database SQL OLAP : 70739 appearancesai : 64997 appearancestensorflow tensor machine learning : 51144 appearancespulumi : 50076 appearancesapi : 47986 appearancesprobabilities probabilistic-graphical-models inference diagnosis : 46552 appearancesrust : 45607 appearancescli : 39512 appearancesOpenAPI : 38814 appearancessdk : 38060 appearancesllm : 37487 appearancesOpenAPI-Generator : 36734 appearancesdatabase : 35578 appearancesautomation : 34393 appearancesNote that this is a very basic query, that does take into account that some packages have a lot more versions published on Pypi than others.

Project documentation: pdfly.readthedocs.io
pdfly is the youngest project of the py-pdf organization.
It has been created by Martin Thoma in 2022.
It's simply a CLI tool to manipulate PDF files, written in Python and based on the fpdf2 & pypdf libraries.
I'm a maintainer of the project 🙂
Find out by reading the full article
Bonjour à tous,
ROMFS: une nouvelle fonctionnalité fait son apparition dans MicroPython.
ROMFS qui est en développement depuis plusieurs années permet de stocker
Le but de ROMFS est d'optimiser l'accès et la rapidité d'exécution de ressources SANS DEVOIR RECOMPILER MicroPython à chaque fois.
Jusqu'à maintenant, seule l'inclusion -au sein du firmware- de scripts pré-compilés avec mpy-cross permettait d'atteindre les performances nécessaires à l'exécution de code "time sensitive".
Certes, mpy-cross permet de compiler un script en byte-code (des fichiers .mpy) mais l'accès reste encore conditionné par le système de fichiers pour le chargement (ou chargements multiples). Les fichiers .mpy, bien que pré-compilé, nécessite malgré tout des vérifications de routine et du chargement d'information en RAM.
Avec ROMFS, une partition dans la mémoire Flash permet d'être accédée directement par la VirtualMachine MicroPython. Les ressources sont directement accessibles par le noyaux MicroPython qui peut aussi lancer l'exécution directement en Flash (In-Place execution)... et cela en s'évitant la lourdeur du système de fichiers, les phases de compilations et allocations de RAM. Les routines de vérifications sont elles aussi réduites au stricte nécessaire puisque celles-ci sont opérées majoritairement au moment de l'assemblage/compilation de la ROMFS.
Au moment de l'écriture de ces ligne (MicroPython v1.25), ROMFS n'est disponible nativement que sur certaines plateformes: PYBD-SFx (Pyboard D), ALIF-Ports, ESP8266_Generic, STM32 boards.
Sinon, il est possible de compiler le firmware en activant la flash_romfs (voir FLASH_2M_ROMFS).
L'utilitaire MPRemote de MicroPython a également le nouveau mot clé romfs avec les options:
A noter que la compilation/build d'une image romfs require l'utilitaire mpy-cross .
La capture suivante indique le contenu de la romfs sur le microcontroleur.
mpremote romfs query
Prenons l'exemple d'un répertoire "utilities" qui contient les sources. Celui-ci ne contient qu'un script nommé "scan_i2c.py".
L'image de la partition romfs est créé avec la commande suivante:
mpremote romfs -o utilities.img build utilities
Le nom de l'image à créer est spécifié par le paramètre '-o'.
Le contenu du répertoire à compiler est précisé après le paramètre 'build'.
Une fois l'image prête sur l'ordinateur, l'option deploy permet de copier celle-ci sur le microcontroleur.
mpremote romfs deploy utilities.img
Une fois romfs initialisé, il est très facile d'utiliser son contenu.
Utiliser Thonny IDE permet d'inspecter le système de fichiers MicroPython.
La partition romfs est montée dans le système de fichiers MicroPython sous le répertoire 'rom'.
Il est donc possible d'en inspecter le contenu.
Comme le démontre le shell interactif, il est possible de charger et d'exécuter le contenu de scan_i2c.py (compilé en .mpy) en executant un simple "import" sous Python.
L'appel de mount() sans paramètre affiche les systèmes de fichiers déjà monté dans MicroPython.
Ainsi les lignes suivantes indique la présence de romfs:
>>> import vfs
>>> print( vfs.mount() )
[ VfsRom('rom'), VfsFat('/flash') ]
>>> Toutes les fonctions de manipulation de fichiers sont donc utilisable sur le système de fichiers ROMFS.
Ressources
Crée ton propre assistant vocal Jarvis en Python ! Suis notre tutoriel débutant pour intégrer IA locale (Ollama), reconnaissance et synthèse vocale. Apprends à coder ton IA !
# Création des répertoires et scripts
python3 -m venv ./project
# Activation pour votre shell
. ./project/bin/activate
# Désactivation pour votre shell
deactivate
Vous pouvez désormais utiliser pip, les packages seront localisés dans votre projet.
# Setup du fichier normalisé requirements.txt
pip freeze > requirements.txt
# Installation des packets
pip install -r requirements.txt
Note: Sous debian, il vous faudra le packet python3-venv
pyenv et pyenv:# Avec virtualenv:
python3 -m virtualenv ./venv
. ./venv/bin/activate
deactivate
# Avec pyenv
# Il s'agit d'une gestion plus avancée vous permettant de basculer entre versions de python
# Voir https://github.com/pyenv/pyenv?tab=readme-ov-fileBonjour à tous,
Nombre d'entre-vous savent que nous sommes impliqué dans le projet CanSat (voir précédents articles sur le sujet CanSat).
Nous poursuivons les travaux sur Kit CANSAT version 2, l'occasion de faire le point.
Pour rappel, notre kit utilise un Raspberry-Pi Pico et du code Python sur microcontrôleur (MicroPython).
CanSat est
un concours visant a stimuler l'apprentissage des sciences dans le
domaine de l'AéroSpatial en réalisant un mini-satellite (la CanSat) pas
plus grande qu'une boîte de Soda. Ce satellite est envoyé et éjecté à
3000m d'altitude à l'aide d'une roquette. C'est à partir de ce moment
que votre projet capture les données et les envois au sol.
Si vous voulez en apprendre plus sur le concours CanSat, je vous invite à visiter la page d'accueil CANSAT sur EseroBelgium.be .
100% compatible avec la version précédente (câblage code), nous avons terminé le premier round de test du prototype Alpha. Les correctifs nécessaires sont apportés et aux cartes et le prototype Beta arrive prochainement.
Outre les aspects mécaniques déjà abordés au précédent article, nous allons pouvoir nous attarder sur les caractéristiques électroniques.
Je vous présente Cansat-Pico V2
![]() |
| Cansat Pico V2 (source: MCHobby Wiki) |
![]() |
| Cansat Pico V2 (source: MCHobby Wiki) Note: connecteur d'antenne manquant. |
Et le visite ne serait pas complète sans inspecter le dessous de la carte.
![]() |
| Cansat Pico V2 (source: MCHobby Wiki) |
Comme annoncé, nous avons cherché à faciliter les connexions en utilisant des connectiques populaires (Qwiic/StemmaQt et Groove).
LA sérigraphie reprend également de nombreuses informations pour permettre
![]() |
| Cansat Pico V2 (source: MCHobby Wiki) Note: le connecteur d'antenne est manquant sur la photo |
![]() |
| Cansat Pico V2 (source: MCHobby Wiki) |
Les autres cartes permettant de créer une CANSAT complete sont également prêtes...
![]() |
| Cansat Pico V2 (Lettuce, Onion et Bun) |
Pour l'instant, nous consacrons les efforts sur:
Bonne lecture,
Dominique
Envie de plonger dans la robotique sans prise de tête ? Découvrez le TPBot EDU Car Kit d’Elecfreaks pour micro:bit ! Un robot accessible, ludique et bourré de potentiel, parfait pour petits et grands bidouilleurs. Montage rapide, programmation simple avec MakeCode ou Python, défis variés (suiveur de ligne, évitement d’obstacles…)… Que vous soyez enseignant, parent ou maker […]
Cet article Test du robot TPBot EDU Car Kit pour micro:bit par Elecfreaks a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....
Bonjour à tous,
Nombre d'entre-vous savent que nous sommes impliqué dans le projet CanSat (voir précédents articles sur le sujet CanSat).
Nous faisons actuellement évoluer notre Kit CANSAT vers une version 2 .
Pour rappel, notre kit utilise un Raspberry-Pi Pico et du code Python sur microcontrôleur (MicroPython).
CanSat est
un concours visant a stimuler l'apprentissage des sciences dans le
domaine de l'AéroSpatial en réalisant un mini-satellite (la CanSat) pas
plus grande qu'une boîte de Soda. Ce satellite est envoyé et éjecté à
3000m d'altitude à l'aide d'une roquette. C'est à partir de ce moment
que votre projet capture les données et les envois au sol.
Si vous voulez en apprendre plus sur le concours CanSat, je vous invite à visiter la page d'accueil CANSAT sur EseroBelgium.be .
Des précédents tirs et expériences utilisateurs, voici ce qu'il serait utile d'améliorer sur le kit actuel:
![]() |
| Carte contrôleur (PICO-CANSAT-BASE v2) |
Le module de charge Lipo est maintenant intégré à la carte.
Le connecteur J108 (en bas) permet de brancher l'accu.
Le Pico est directement alimenté par l'accu tandis qu'un circuit de régulation permet d'obtenir 3.3V @ 600mA.
Les points VBat/GND (sous le libellé "Pico Facing this side") permettent de brancher un second circuit de régulation si cela était nécessaire (ex: produire une tension de 5V pour une expérience).
Bien que l'électronique du module Lipo se trouve principalement sous la carte, les composants pratiques sont restés accessible sur le dessus de la carte.
Par exemple, la LED CHG (orange) est allumée pendant la charge de l'accu Lipo (qui se fait par l'intermédiaire du connecteur USB du Pico).
La résistance R_PROG permet d'ajuster le courant de recharge de l'accu (fixé à 250mA par défaut).
Bien que je ne sois pas fan de la connectique Grove, je dois reconnaître:
Le haut de la carte reprend les points de connexion "PWR Enable".
Soudez y un interrupteur pour contrôler le circuit d'alimentation. Sans interrupteur, le circuit reste activé jusqu'à la décharge complète de l'accumulateur.
Une fois fermé, le circuit de régulation du Lipo est désactivé. Par effet de cascade, le régulateur 3.3V du Pico est aussi désactivé et le Pico s'éteint.
Les premières cartes prototype sont commandées et le montage ne tardera plus.
A tout bientôt pour la suite...
Voici un module Python bien pratique pour injecter les entêtes HTTP de sécurité, avec des valeurs par défaut et strictes qui font bien le travail (cf HSTS, COEP, COOP, CSP, Cache-Control, Server, Permissions-Policy, Referrer-Policy, X-Content-Type-Options, X-Frame-Options, et custom).
Et il prend en charge quasiment tous les framework web actuels !