❌

Vue lecture

Éviter la suspension du permis, préjugés sur l’électrique balayés et l’Allemagne veut homologuer rapidement le Tesla FSD : le récap’ Vroom de la semaine

smartphone téléphone volant route

À la une sur Vroom cette semaine : le gouvernement généralise la suspension du permis pour usage du téléphone au volant, l’Ademe débunk trois idées reçues sur la voiture électrique et le ministre allemand des Transports plaide pour autoriser le FSD en Europe.

  •  

Si toute la glace de ce bassin en Antarctique venait à fondre, le niveau de la mer monterait de 3 à 4 mètres

Le bassin de Wilkes, en Antarctique, est gelé et en partie situé sous le niveau de la mer. Si toute sa glace venait à fondre en raison du changement climatique, le niveau global de la mer monterait de 3 à 4 mètres. C’est déjà arrivé par le passé, à des températures que nous risquons d’atteindre. Il est urgent de mieux documenter son évolution actuelle et de comprendre comment il a réagi par le passé à d’autres réchauffements.

  •  

Sur Mars, cet étrange nuage est dû à un phénomène physique unique dans le Système Solaire

AMEC sur Mars

Un nuage qui peut s'étirer sur 1 800 kilomètres apparaît régulièrement sur Mars, avant de disparaître. Depuis des années, les scientifiques cherchent à comprendre pourquoi, et une étude parue dans Nature Geoscience avance une explication inédite, fondée sur un mode de formation des nuages jamais observé jusqu'ici dans l'atmosphère d'une planète.

  •  

Nouveautés d’octobre 2026 de la communauté Scenari

Scenari est un ensemble de logiciels open source dédiés à la production collaborative, publication et diffusion de documents multi-support. Vous rédigez une seule fois votre contenu et vous pouvez les générer sous plusieurs formes : site web, PDF, OpenDocument, diaporama, paquet SCORM (Sharable Content Object Reference Model)… Vous ne vous concentrez que sur le contenu et l’outil se charge de créer un rendu professionnel accessible et responsive (qui s’adapte à la taille de l’écran).

À chaque métier/contexte son modèle Scenari :

  • Opale pour la formation 
  • Dokiel pour la documentation 
  • Optim pour les présentations génériques 
  • Topaze pour les études de cas 
  • Parcours pour créer des scénarios de formation 

Sommaire

🚀 Visio de découverte de Scenari

🤔 Tu as des questions sur Scenari avant de tester ?
🧙‍♂️ Tu voudrais une petite demo ?
🚀 Tu commences à utiliser Scenari et tu as besoin d’un peu de soutien ?

Cette visio est faite pour toi (ou eux⋅elles): mercredi 28 octobre à 16h sur https://scenari.org/visio/miniwebinaire

🧭 Lien Agenda du libre / 🧭 Lien Mobilizon / 🧭 Lien LinkedIn

🖥️ Prochain mini-webinaire : « Découverte du modèle Progress' » 29 octobre

🗓️ Jeudi 29 octobre 2026

⌚ 17h à 18h, heure de Paris

🌐 https://scenari.org/visio/miniwebinaire

Viens découvrir avec Katia le modèle Progress’ à travers ses premiers scénarios disponibles : flashcards, pas à pas, positionnement et recommandations. 🤩

Ce mini-webinaire sera l’occasion de tester sa prise en main, nous te conseillons d’installer ⬇️ Progress’ au préalable.

Pour que la session colle au mieux aux besoins de la communauté, tu peux participer à ce fil de discussion sur le forum.

🧭 Lien Agenda du libre / 🧭 Lien Mobilizon / 🧭 Lien LinkedIn

Les enregistrements des mini-webinaires précédents sont sur la page dédiée de scenari.org et dans notre canal peertube.

Pour proposer des sujets, rends-toi sur ce fil de discussion.

💗 Parole de la communauté

J’ai commencé à utiliser Scenari en 2022 pour concevoir un parcours en ligne destiné aux étudiants du Master « Pharmacie Galénique Industrie ». Dans ce cadre, j’ai accompagné les enseignants dans la prise en main d’Opale afin qu’ils puissent intégrer et actualiser directement leurs contenus dans l’outil. J’ai ensuite conçu le parcours, en y intégrant des activités conditionnelles et des éléments de gamification avec Topaze. Ce que j’apprécie particulièrement, c’est l’interopérabilité entre les modèles Scenari. Elle me permet de réutiliser, au sein du parcours, les contenus régulièrement mis à jour par les enseignants. Associé à notre LMS Moodle, le dispositif permet également de suivre les indicateurs d’activité des apprenants et de les communiquer aux enseignants.

Au quotidien, j’utilise Parcours comme conducteur pédagogique pour construire mes séances de formation et Opale pour produire des contenus dans différents formats, en cohérence avec la charte de l’Université de Lille. Je peux mettre à jour les ressources diffusées sur Moodle directement depuis l’outil, ce qui constitue également un véritable gain de temps.

Plus largement, les modèles Scenari accompagnent ma pratique de l’ingénierie pédagogique en me permettant de concevoir et de diffuser des ressources ouvertes, interopérables et accessibles, tout en limitant ma dépendance aux logiciels propriétaires et leur impact environnemental.

Photo de Hélène Toulgoat Hélène Toulgoat, ingénieure pédagogique à l'Université de Lille.

Modèles utilisés : Opale, Topaze, Parcours

📣 Rencontres 2027, bloque les dates !

Icone Rencontres Scenari

12-13-14 mai 2027.

Ce seront les dates des Rencontres Scenari 2027 et elles auront lieu à nouveau dans cette place forte de la communauté Scenari qu’est la ville de Lille, à l’Université Catholique de Lille plus exactement.

📣 L’extension Opale2Moodle a été mise à jour (merci Franck !)

logo extension Opale2Moodle

Cette extension sert à exporter des quiz Opale vers le format Moodle afin de les utiliser dans cette LMS.

Franck l’a mise à jour pour corriger un souci d’export qui ne traitait pas correctement les listes de questions.

Retrouve-la sur la plateforme des contributions.

📣 Panne MyScenari de septembre et rappel

icone myScenari

Le 29 septembre dernier, OVH a réalisé une maintenance du système de refroidissement de l’armoire où est hébergé le serveur de MyScenari. L’association n’a pas été prévenue de cette maintenance, ce qui a occasionné une coupure de l’accès à MyScenari sans que nous ayons pu en prévenir les personnes usagères.

La maintenance n’a heureusement duré que quelques heures mais peut-être as-tu été impacté par cette coupure.

Nous en profitons pour rappeler que, comme indiqué sur la page de présentation de MyScenari : « MyScenari est une offre "communautaire". C’est-à-dire que l’association est confiante que cela puisse globalement bien fonctionner mais n’offre pas de garantie ou d’engagement absolu ».

Pense à avoir une solution de repli en cas de problème ponctuel 🙂

📣 Nouvelle version de Progress’

Logo du modèle Scenari Progress'

Une nouvelle version de Progress’ est disponible : Progress 26.0.2.

Progress’ permet la création de scénarios d’apprentissage personnalisés. L’innovation de ce modèle pédagogique réside dans sa capacité à produire des supports web adaptatifs, tout en conservant une interface simplifiée pour les auteurs.

Cinq scénarios clés en main sont proposés et des exemples sont téléchargeables pour t’aider dans leur prise en main.

  • Fiches de révision (flashcards) : Concevoir des exercices de mémorisation de type « Flaschcards » ou « Memocards ».
  • Cours pas à pas : Créer un cours à la navigation contrôlée où l’affichage du contenu peut être conditionné par la validation des étapes précédentes.
  • Cours avec positionnement : Pré-valider des notions via des quiz servant à générer automatiquement un test de positionnement ainsi qu’à valider ses acquis.
  • Cours avec positionnement avancé : Ajouter des tests de positionnement spécifiques pour pré-valider des notions et des quiz pour valider ses acquis.
  • Recommandations : Proposer des recommandations et conseils personnalisés via des jeux de quiz et des questions de sondage.

Un scénariste peut modifier l’un des scénarios pour l’adapter aux besoins d’un auteur ou en concevoir un nouveau pour répondre à un contexte pédagogique spécifique.

📣 Nouvelle version de LTI-suite

logo LTIsuite

Une nouvelle version de LTI-suite est disponible : LTI-suite 26.0.0.

Cette version apporte :

  • Un nouvel écran d’administration des liens d’une ressource.
  • L’amélioration de la gestion des versions et du support LTI.
  • L’amélioration de la suppression des données.
  • Un nouveau point d’accès anonyme.
  • Une adaptation terminologique : les termes consommateur/plateforme LTI sont remplacés par client LTI 1.1 / 1.3.

La liste complète des nouveautés est disponible dans la documentation.

✨ Le savais-tu ?

Dans Opale (à partir de Opale 26), si tu veux activer par défaut une fonctionnalité dys sans que l’apprenant n’ait à cliquer pour l’obtenir, il suffit de créer un skin et d’y mettre une ligne dans le bloc de javascript personnalisé.

Exemples :
* ✨ « if ("tplMgr" in window) tplMgr.fDysOptions.defaults.dysNumHeadings = true; » va afficher par défaut la numérotation des titres sans besoin de l’activer dans le panneau dys.
* ✨ « if ("tplMgr" in window) tplMgr.fDysOptions.counterFormat: "A" » va numéroter les titres avec A, B, C… si l’apprenant active l’option.

Voici la liste exhaustive des options :

  • pathBtnParent: "ide:tools/chi:menu", // Chemin vers l’élément où va s’insérer le bouton dys
  • defaultPanelInactive: true, // true = volet dys fermé par défaut
  • optNumHeadings: true, // true = proposer l’option de numérotation des titres
  • counterFormat: "1", // Format de la numérotation. Formats possibles 1,A,a,I,i exemple : "I1a" montre la numérotation 5.4.3. sous la forme « V.4.c ».
  • optScaleH2: true, // true = proposer l’option des titres à l’échelle
  • optAltLineColor: true, // true = proposer l’option des lignes colorées
  • optMoreSpaceWord: true, // true = proposer l’option de texte aéré (entre les mots)
  • optMoreSpaceLine: true, // true = proposer l’option de texte aéré (entre les lignes)
  • optFontActive: true, // true = proposer l’option de changement de police de caractères
  • optFontSize: true, // true = proposer l’option de taille de police
  • defaults.dysFontActive:"false", // Activation par défaut la police définie
  • defaults.dysFontDefaults:"true", // Ajout par défaut des options de police serif, sans & mono
  • defaults.dysFontList:["OpenDyslexic"], // Liste des polices additionnelles disponibles pour l’apprenant
  • defaults.dysFontSize:false, // Ex : 120 : texte zoomé par défaut à 120%
  • defaults.dysMoreSpaceWord:false, // Activation par défaut l’espacement entre les mots
  • defaults.dysMoreSpaceLine:false, // Activation par défaut l’espacement entre les lignes
  • defaults.dysNumHeadings:false, // Activation par défaut les titres numérotés
  • defaults.dysScaleH2:false, // Activation par défaut des titres à l’échelle
  • defaults.dysAltLineColor:false // Activation par défaut des lignes colorées

📊 Le chiffre du mois

5 5, c’est en euros ce que l’association Scenari reçoit par mois en micro-dons.

L’association offre de nombreux services à la communauté Scenari et tout ceci a un coût. Les adhésions ne couvrent malheureusement pas la totalité du budget, donc nous recevrons avec grande joie ton micro-don sur notre compte Liberapay.

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

Scrippy : en finir avec script_final_old_v3_OK_last.py

Tout administrateur système a croisé un jour, au détour d'un serveur, un script_final_old_v3_OK_last.py sans logs, sans historique, avec un mot de passe en clair à la ligne 42 et un commentaire # TODO: gérer les erreurs daté de 2014.

Après cinq ans de développement en parallèle de mes activités professionnelles, je publie Scrippy, un framework Python sous licence MIT pour écrire des scripts d'exploitation standardisés, robustes et prêts pour la production.

Sommaire

Le constat : le script d'exploitation, ce grand oublié

Dans beaucoup d'équipes, les scripts d'exploitation sont écrits vite, chacun à sa manière, puis maintenus dans la douleur. Le cycle de vie typique est bien connu :

  1. « C'est juste un petit script, je l'écris vite fait. »
  2. Le petit script part en production.
  3. L'auteur part en vacances (ou change d'entreprise).
  4. Le script plante un dimanche à 3 h du matin.
  5. L'astreinte découvre qu'il n'y a ni logs, ni historique, ni documentation, et que la configuration est codée en dur entre deux print("ici").

Le tout agrémenté d'un mot de passe qui s'affiche fièrement dans la sortie standard. Oui, hunter2, on te voit.

Le principe : un en-tête déclaratif

Avec Scrippy, un script décrit son comportement dans un en-tête déclaratif : auteur, version, description, configuration attendue, options acceptées, utilisateurs autorisés, nombre d'exécutions simultanées. Une seule instruction with dans le code suffit ensuite pour bénéficier de l'ensemble des fonctionnalités, sans écrire une seule ligne de plomberie :

  • un fichier de log par exécution, avec sortie colorée sur le terminal ;
  • un historique complet des exécutions (paramètres, durée, code retour) ;
  • un fichier de configuration par script, chargé et validé au démarrage ;
  • des options de ligne de commande analysées et validées depuis l'en-tête, avec un --help généré automatiquement (personne n'aura plus d'excuse pour ne pas RTFM) ;
  • le masquage automatique des secrets dans les logs et l'historique ;
  • la restriction des utilisateurs et groupes autorisés à lancer le script ;
  • une limite d'exécutions simultanées, avec file d'attente ;
  • un répertoire de travail temporaire par exécution, supprimé automatiquement ;
  • une gestion d'erreurs propre et des codes retour exploitables par votre ordonnanceur préféré.

Un exemple vaut mieux qu'un long discours

Voici un script de surveillance de l'occupation d'un système de fichiers. Toute ressemblance de l'auteur avec un personnage des Monty Python n'est évidemment pas fortuite : on fait du Python, on a des traditions.

#!/usr/bin/env python3
"""
--------------------------------------------------------------------------------
  @author         : Luiggi Vercotti
  @date           : 2026-10-08
  @version        : 1.0.0
  @description    : Monitor filesystem usage
--------------------------------------------------------------------------------
  Configuration:
    @conf:thresholds|warning|int|false
--------------------------------------------------------------------------------
  Options:
    @args:mount-point|str|Mount point to check|1|/|||false|false
--------------------------------------------------------------------------------
"""
import shutil
import scrippy_core
from scrippy_core import logger

def main():
  with scrippy_core.ScriptContext() as _context:
    usage = shutil.disk_usage(_context.args.mount_point)
    percent = round(usage.used * 100 / usage.total, 1)
    if percent >= _context.config.get("thresholds", "warning", "int"):
      logger.warning(f"[+] {_context.args.mount_point}: {percent}% used")

if __name__ == '__main__':
  main()

Ce court script dispose déjà de --help, --version, d'un fichier de configuration validé, d'une option --mount-point validée, d'un log par exécution (--log), d'un historique (--hist), d'un mode debug (--debug) et d'un espace de travail temporaire. Le tout sans avoir vendu son âme à un fichier YAML de 800 lignes, ni avoir à relire une n-ième fois la doc de argparse, ni sans incantation mystique pour la configuration de log, ni pentacle renversé. Ni !

Le double bénéfice

D'une part, tous les scripts d'exploitation suivent le même standard : ils se lisent, s'exploitent et se maintiennent de la même façon, quel que soit leur auteur. Le script du collègue parti n'est plus une boîte noire.

D'autre part, ils s'écrivent beaucoup plus vite : inutile de recoder ces contrôles dans chaque script, on se concentre sur ce qu'il doit réellement faire. Le temps gagné peut être réinvesti dans des activités à haute valeur ajoutée, comme le troll sur systemd.

Les modules

Le cœur (scrippy-core) est complété par des modules optionnels :

  • scrippy-remote : exécution distante et transferts de fichiers (SSH/SFTP, FTP/FTPS, CIFS) ;
  • scrippy-api : client d'API REST, avec prise en charge d'OpenAPI ;
  • scrippy-db : requêtes PostgreSQL, MySQL et SQLite ;
  • scrippy-mail : envoi et lecture de courriels (SMTP, IMAP, POP3) ;
  • scrippy-snmp : opérations SNMP get, walk et set ;
  • scrippy-git : gestion de dépôts Git ;
  • scrippy-template : génération de documents à partir de modèles Jinja2.

Pas un prototype

Scrippy n'est pas né d'un week-end pluvieux. Il tourne depuis plusieurs années en production, sur des usages bien réels. Il a donc survécu à des mises à jour, des migrations et des vendredis après-midi, ce qui constitue une forme de certification assez exigeante.

Pourquoi seulement maintenant ?

Parce que je n'étais pas satisfait de la documentation. Un outil mal documenté ou dont la documentation n'est pas à jour est un outil qu'on n'adopte pas, et, même si jusque là celà a été le cas pour Scrippy, « Use The Source, Luke » n'est pas une stratégie d'adoption. Je ne voulais pas publier un projet que d'autres ne pourraient pas s'approprier.

Dans les faits le code a toujours été publié mais n'ayant jamais fait aucune annonce l'adoption de Scrippy est relativement comparable à celle de GNU Hurd !

La question qui fâche : et l'IA dans tout ça ?

Avant que le Jihad butlérien ne se lève dans les commentaires, par souci de transparence : le code de Scrippy a été écrit par un humain, sur cinq ans.

Claude m'a aidé à remettre à plat la documentation, à l'enrichir d'un tutoriel progressif (voir la documentation pas à pas) et à maintenir à jour les README.md des dépôts. Il m'a également permis de détecter et corriger quelques bogues passés sous les radars malgré des années d'exploitation, ce qui est à la fois utile et clairement vexant.

L'IA reste un outil. Le meilleur des outils, entre les mains de quelqu'un qui ne sait pas ce qu'il fait, ne le rendra pas meilleur : un rm -rf reste un rm -rf, quelle que soit la qualité du clavier. C'est l'expérience, la compréhension du besoin et l'exigence qui font la qualité d'un projet. L'outil permet d'aller plus loin et plus vite.

Licence

Scrippy est un logiciel libre distribué sous licence MIT : vous pouvez l'utiliser, le modifier, le redistribuer et l'intégrer à vos projets, y compris commerciaux, à la seule condition de conserver la mention de copyright et le texte de la licence.

Vos retours sont les bienvenus

Si vous écrivez des scripts d'exploitation en Python, je serais ravi d'avoir vos retours, critiques comprises : la syntaxe de l'en-tête, les fonctionnalités manquantes, ou la comparaison avec ce que vous utilisez aujourd'hui.

Les rapports de bogues sont acceptés. Les trolls aussi, tant qu'ils sont de qualité (et vous pouvez y aller car mon Prumpleffer a été calibré par tTh).

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

Python 3.15 released

✇LWN
Par : jzb

Version 3.15 of the Python programming language has been released. Notable changes in this release include the addition of the sentinel and frozendict built-in types, the use of UTF-8 encoding by default, package start-up configuration files, as well as improvements in the experimental JIT compiler. See the "What's new in Python 3.15" article for an in-depth look at new features in this release, and the changelog for a full list of changes.

  •  

[$] Adding kernel control-flow-integrity checking to GCC

✇LWN
Par : corbet
While many developers are struggling to keep up with the flood of vulnerability reports, others are still focused on preventing those reports from happening in the first place. Control-flow integrity (CFI) is the term for preventing (or at least detecting) exploits that divert the flow of control from its intended paths. At the 2026 GNU Tools Cauldron, Kees Cook presented his changes to the GCC compiler suite to support forward-edge CFI for the kernel.
  •  

[$] The state of systemd: 2026 edition

✇LWN
Par : jzb

At the 2026 All Systems Go! conference, systemd maintainers Luca Boccassi and Zbigniew Jędrzejewski-Szmek delivered the traditional "state of the project" session with an overview of the systemd project's accomplishments in the past year. That was followed by a maintainer round table where Boccassi, Jędrzejewski-Szmek, Daan De Meyer, and project leader Lennart Poettering fielded questions about systemd's size, health, and if it might replace Kubernetes. (It will not.)

  •  

Let's Encrypt moving to 64-day certificate lifetimes in 2027

✇LWN
Par : jzb

Let's Encrypt, the nonprofit that provides free TLS certificates for millions of sites, has announced that it will be moving to certificates with 64-day lifetimes on February 10, 2027:

This means that any certificate we issue or renew on and after that date will have a 64 day validity period, and we expect the last 90-day certificate to expire on May 11, 2027. We will not revoke valid certificates as a part of this process.

This is the second stage of Let's Encrypt's plan, announced in 2025, to move to 45-day certificate lifetimes as required by the the CA/Browser Forum Baseline Requirements. In 2028, Let's Encrypt will switch to 45-day certificates.

  •  
❌