Le sport le plus tendance du moment n'est pas fait pour tout le monde... Et les blessures le prouvent


J’ai vu un trio se démener lorsqu’un Vault s’est scellé et que le minuteur a clignoté en rouge. On pouvait sentir le chat monter en flèche et les streamers se pencher en avant — leurs mains stables, leurs inventaires pas. Le vaisseau Marathon ressemblait à un coffre-fort vivant et aujourd’hui, tout le monde veut la […]
Le post Qui gagne la course mondiale pour être le premier à cryo-archiver un marathon ? Mises à jour en direct est apparu en premier sur Moyens I/O.
J’ai appuyé sur le bouton de mise à jour et les serveurs se sont éteints – le chat de mon équipe s’est rempli d’un mélange d’excitation et de panique contenue. Les fichiers contiennent désormais le nouvel Archive Cryo, qui laisse entrevoir des runs que seuls les plus astucieux atteindront. On sent déjà que le grind […]
Le post Mise à jour Marathon : nouvelle carte, mods, avantages et corrections de bugs est apparu en premier sur Moyens I/O.
Je me suis faufilé dans le Complexe avec un seul objectif : deux hacks, une seule tentative. La porte s’est refermée derrière moi et mon cœur s’est emballé, non pas à cause des ennemis, mais à cause des calculs : les deux téléchargements doivent être terminés avant que je ne parte. On sent l’opération s’effondrer en temps […]
Le post Changement de Paradigme 2 Marathon Contractuel Complexe: Protocole de Téléchargement G est apparu en premier sur Moyens I/O.
L’air s’est raréfié au moment où les volets laser se sont ouverts. Je pouvais voir deux vagues de milice UESC converger pendant que la caisse de ravitaillement clignotait sur le sol comme une promesse et une menace. Un seul faux mouvement et la manche se termine pour tout le monde sauf l’équipe qui est arrivée […]
Le post Contrat ROI 5 complet : Conteneur UESC truqué dans le canal Marathon est apparu en premier sur Moyens I/O.
Je suis tombé dans un couloir rouillé de l’UESC Marathon et j’ai entendu le faible sifflement des pods cryogéniques qui s’ouvraient. La carte était caviardée sur le sélecteur, mais Discord était en ébullition avec des clips, des fragments de code et un streamer acharné faisant la course contre la montre. On sent le jeu changer […]
Le post Carte finale de Marathon sur le point d’être débloquée alors que la communauté perce l’ARG est apparu en premier sur Moyens I/O.
Je me suis connecté vendredi soir et le chat global s’est tu. Mon inventaire me semblait soudainement fragile – chaque Holotag et chaque mod comptaient. On pouvait sentir le compte à rebours comme une cocotte-minute. Les horloges tournent déjà sur le calendrier – Compte à rebours de la sortie du mode Classé de la Saison […]
Le post Marathon Saison 1 Mode Classé : Date et heure de sortie exactes est apparu en premier sur Moyens I/O.
Je me souviens de ce moment : mon équipe a dérapé jusqu’à l’extraction avec un Holotag Pinnacle et une pluie de balles dans le ciel. L’un de nous a abandonné tôt, un autre a agrippé une arme qui valait plus que les crédits gagnés pendant le match, et le tableau des scores ne disait rien […]
Le post Comment fonctionne le mode classé dans Marathon : Guide complet est apparu en premier sur Moyens I/O.
🔩 Like builtins, but boltons. 250+ constructs, recipes, and snippets which extend (and rely on nothing but) the Python standard library. Nothing like Michael Bolton. - mahmoud/boltons
SunFounder m’a envoyé cette carte PiPower 5 pour la tester sur le Raspberry Pi. Il s’agit d’une UPS (Uninterruptible Power Supply), c’est-à-dire d’une alimentation secourue : en cas de coupure du secteur, la batterie prend le relais pour éviter un arrêt brutal du système. La PiPower 5 sert donc à protéger la carte, la carte […]
Cet article SunFounder PiPower 5 HAT+ : test complet de l’UPS pour Raspberry Pi 5 a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française..... - Framboise 314, le Raspberry Pi à la sauce française.... - La référence du Raspberry Pi en France - Par l'auteur du livre "Raspberry Pi 4" paru aux Edts. ENI
iCloud, c'est sympa pour stocker vos photos et vos documents... jusqu'au jour où comme moi, vous décidez de vous barrer. Parce que récupérer vos 200 Go de fichiers en masse depuis le cloud d'Apple (plusieurs To pour moi), c'est pas vraiment ce qu'il y a de plus simple (genre, y'a pas de bouton "tout télécharger"). J'ai bien essayé de demander un export de mes datas à Apple et pour la partie iCloud Drive, j'ai juste eu des espèces de CSV bizarres mais pas mes documents.
Heureusement, pour s'extraire des griffes de l'entreprise de Cupertino, y'a un outil Python parfait pour ça.
iFetch , c'est un utilitaire en ligne de commande qui va se connecter à votre compte iCloud Drive et tout rapatrier en local. Le truc gère la 2FA (parce que bon, en 2026, si vous n'avez pas de 2FA activée quand c'est possible, vous méritez d'être envahi de puces de lit), les téléchargements parallèles avec 4 workers par défaut, et surtout les updates différentiels.
En gros, seuls les morceaux de fichiers qui ont changé sont re-téléchargés, du coup, sur un dossier de 50 Go déjà synchro, ça passe en quelques secondes au lieu de tout re-pomper. Et si ça plante au milieu, pas de panique, l'outil reprend là où il s'est arrêté grâce à un système de checkpointing.
Y'a aussi un truc malin, c'est le système de profils. Vous créez un fichier JSON avec des règles d'inclusion et d'exclusion, genre "tous les PDF du dossier Documents sauf ceux du dossier Private" et hop, en une commande et c'est plié.
Le support des dossiers partagés est aussi de la partie (le fameux --list-shared), y'a un système de plugins pour ceux qui veulent étendre le bazar, et même un historique de versions avec rollback automatique. Pas mal pour un outil libre !
Pour l'installer, après c'est du classique. Virtualenv Python, pip install pyicloud tqdm requests keyring, et vous stockez vos identifiants via icloud --username=votre@email.com qui balance tout ça dans le trousseau système (Keychain sur macOS, libsecret sur Linux). D'ailleurs, si vous êtes du genre à
sauvegarder vos dotfiles dans iCloud
, c'est l'outil parfait pour faire le chemin inverse.
Côté utilisation, c'est super sobre :
python ifetch/cli.py Documents/Photos ~/Downloads/icloud-photos
...et ça mouline !! Vous pouvez même monter jusqu'à 8 workers pour aller plus vite (--max-workers=8), configurer les retries (--max-retries=5) ou juste lister le contenu sans rien télécharger avec --list. Attention, si vous avez des noms de fichiers avec des caractères spéciaux (genre des accents ou des espaces... merci macOS, groumpf), vérifiez bien que tout est passé après le transfert.
Alors oui, c'est CLI only, donc oubliez l'interface graphique. La doc mériterait un petit coup de polish et surtout, si votre session 2FA expire en plein transfert... faut relancer l'auth. Ça casse pas le téléchargement en cours, mais bon, c'est un peu "chiant".
Bon au final, pour un projet open source sous licence MIT, c'est plutôt du solide. Et si vous voulez chiffrer vos sauvegardes une fois récupérées en local, y'a des solutions pour ça aussi.
Bref, c'est simple, ça fait le job et c'est gratuit. Que demande le peuple à part du matos Apple moins cher, lool ?
Merci à Lorenper pour le lien !

Le nouveau shooter de Bungie, Marathon, pourrait finalement sortir sur les consoles de génération précédente (Xbox One et PlayStation 4)
Cet article Marathon cartonne sur Steam et voilà la tentation cross-gen a été publié en premier par GinjFo.
Ansible, c'est bien. Mais du YAML à perte de vue pour configurer trois serveurs c'est pas non plus l'idéal. Hé bien ça tombe bien car y'a maintenant pyinfra , qui fait tout pareil sauf qu'on écrit du Python. En gros, votre script de déploiement c'est juste du code Python normal avec des imports, des boucles, des conditions... tout ça, tout ça...
Ce projet existe depuis 2014, il est sous licence MIT et côté perfs, c'est de ce que j'ai lu, jusqu'à 10 fois plus rapide qu'Ansible sur des déploiements massifs (genre plusieurs milliers de machines). Bon, sur le papier c'est bien, mais en fait ça dépend surtout de votre infra SSH et de la latence réseau.
Alors ça marche comment ?
Hé bien vous installez le bazar avec uv tool install pyinfra et hop, vous pouvez déjà lancer des commandes sur vos serveurs comme ceci :
pyinfra mon-serveur.net exec -- echo "hello world"
Ça fonctionne en SSH sur le port 22, sur des conteneurs Docker, ou même en local. Le truc est complètement agentless, du coup pas besoin d'installer quoi que ce soit sur les machines cibles. Suffit d'un accès shell POSIX tout ce qu'il y a de plus classique et c'est réglé.
Bon, ça c'est pour l'ad-hoc mais en fait le vrai kiff, ce sont les opérations déclaratives. Je vous montre... Vous créez un fichier deploy.py et dedans, vous mettez ça :
from pyinfra.operations import apt, systemd
apt.packages(
name="Install nginx",
packages=["nginx"],
)
systemd.service(
name="Ensure nginx is running",
service="nginx.service",
running=True,
enabled=True,
)
C'est du bon vieux Python sans DSL bizarre (Domain-Specific Language), pas d'indentation YAML qui vous pète entre les doigts à 3h du mat parce qu'il manque un espace. Et si vous voulez une boucle ? bah for. Une condition ? bah if. Ou encore importer
boto3 pour causer avec AWS
depuis votre Debian 12 ? No problemo !
Et pour cibler vos machines, suffit de créer un fichier inventory.py comme ceci :
targets = ["@docker/ubuntu", "mon-serveur.net", "autre-serveur.net"]
Puis ensuite un petit : pyinfra inventory.py deploy.py et c'est parti mon kiki. L'outil gère le parallélisme sur 50 serveurs, les diffs (pour voir ce qui va changer AVANT d'appliquer), et le mode dry-run pour les plus prudents.
Côté intégrations, ça cause avec Terraform, Docker, Vagrant... et comme c'est du Python, vous avez accès à tout l'écosystème. Genre, vous voulez checker l'état d'une API avant de déployer ? Un import requests et c'est plié. La doc sur
docs.pyinfra.com
est plutôt complète, et y'a même la gestion des secrets intégrée avec variables d'environnement, fichiers chiffrés, HashiCorp Vault ou AWS Secrets Manager.
Ça tourne depuis Linux et macOS (et Windows via WSL), mais les cibles doivent être des systèmes POSIX donc pas de déploiement natif sur Windows. Et si votre inventaire contient 3 000 machines avec des configs SSH différentes... bon courage pour le debug en cas de souci (le mode -vvv aide, mais bon...).
Bref, si vous en avez marre du YAML et que Python c'est votre truc, allez jeter un oeil.
Merci à Letsar pour la découverte !

À l’approche du Server Slam de Marathon, Bungie détaille l’architecture réseau et les protections anti-triche de son shooter d’extraction.
Cet article Marathon : Bungie sort l’artillerie anti-triche avec du Permaban à vie ! a été publié en premier par GinjFo.
Bonjour à tous,
Tout récemment, je voulais utiliser un module RFM69 sur un Compute Module 5 (autrement dit l'équivalent d'un Raspberry-Pi 5) faisant fonctionner un logiciel écrit Python.
L'image ci-dessous se présente le module RFM69HCW 433MHz . Ce module permet de transmettre des données sur un réseau numérique utilisant le ondes-radios comme medium de transfert. C'est un peu le protocole internet appliqué à la radio.
| RFM69HCW 433MHz |
Comme le Pilote est développé sous le précepte "Plateform Agnostic Driver" de sorte à pouvoir fonctionner indépendamment de la plateforme MicroPython cible.
| esp8266-upy - Plateform Agnostic Micrpython Driver |
| Source: Raspberry-pi.ovh |
Les connexions suivantes sont établies entre le module RFM69 et le GPIO Raspberry-Pi.
La broche CS (chip select) est branchée sur le GPIO 25 alors qu'il existe les broches CE0 (GPIO8) et CE1 (GPIO7).
Le problème ici est que CE0 et CE1 sont automatiquement gérés par le système d'exploitation alors que sous MicroPython, c'est le code utilisateur qui gère l'état du signal CS.
Dans le cas présent, la gestion automatique de CE0 et CE1 empêche l'utilisation du burst_read sur le module RFM69 raison pour laquelle le GPIO25 est utilisé comme signal CS (ce signal étant contrôlé par le code utilisateur).
Commençons par récupérer la bibliothèque MicroPython du RFM69 depuis le dépôt esp8266-upy pour y ajouter l'encodage du fichier (important pour Python).
| Ajout de l'encodage dans le bibliothèque RFM69 |
Couche de compatibilité Python --> MicroPython
Création des fichiers machine.py et micropython.py pour accueillir les classes Pin & SPI ainsi que la déclaration de la fonction const()
#!/usr/bin/python # -*- coding: utf-8 -*- """ hack_time.py : mimic the MicroPython alike specific methods """ import time def _sleep_us( us ): time.sleep( us*0.000001 ) def _sleep_ms( ms ): time.sleep( ms*0.001 ) def _ticks_ms(): return int(time.time()*1000) def _ticks_diff( v1, v2 ): return v1-v2 time.sleep_us = _sleep_us time.sleep_ms = _sleep_ms time.ticks_ms = _ticks_ms time.ticks_diff = _ticks_diff
Il ne reste plus qu'a adapter le script d'exemple pour créer l'instance du bus SPI (sur le RPi) et passer le tout à la bibliothèque MicroPython originale.
#!/usr/bin/python # -*- coding: utf-8 -*- from machine import SPI, Pin import hack_time from rfm69 import RFM69 # Machine.py for Raspberry-Pi 5 spi = SPI( 0 ) nss = Pin( 25, Pin.OUT, value=True ) # Do not use the RPI CE0/CE1, it is not compatible with the Burst_Read of RFM69 rst = Pin( 18, Pin.OUT, value=False ) rfm = RFM69( spi=spi, nss=nss, reset=rst ) rfm.frequency_mhz = 433.1 ....
Le bus SPI est rattaché au bus matériel SPI0 & CE0.
Une broche Enabled (nss) alternative est utilisé avec le GPIO25 pour contrôler les transactions du bus SPI. La broche CE0 du GPIO est donc ignorée.
Enfin, le GPIO 10 est utilisé pour réinitialisé le module RFM69.
Au final, la création de l'instance RFM69 et le restant du code (y compris la bibliothèque RFM69) est identique entre MicroPython et Python (sur RPi5).
L'exécution de l'exemple sur le Raspberry-Pi 5 produit le résultat attendu (identique lorsqu'il est exécuté sur un Pico).
| test_config.py : exécution de la bibliothèque MicroPython RFM69 sur Raspberry-Pi 5 |
La SunFounder Fusion HAT+ ressemble à un simple HAT pour Raspberry Pi… jusqu’au moment où vous réalisez que c’est plutôt un couteau suisse pour robot “assisté par IA”. Elle ne “fait” pas l’IA toute seule : les neurones restent sur le Raspberry Pi (un Pi 5 dans mon cas), mais la carte apporte le muscle […]
Cet article SunFounder Fusion HAT+ : alimentation 2×18650, moteurs et contrôle “IA-ready” pour Raspberry Pi a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française..... - Framboise 314, le Raspberry Pi à la sauce française.... - La référence du Raspberry Pi en France - Par l'auteur du livre "Raspberry Pi 4" paru aux Edts. ENI