Pourquoi un noyau : naissance de µcBlockly

Si vous suivez LibrEduc depuis un moment, vous avez croisé BlocklyDuino, Blockly@rduino, parfois Studio4Education. Derrière ces interfaces, une même question revient : comment faire vivre un moteur de blocs Arduino sans le recoller à chaque nouveau logiciel ?

La réponse, en 2026, s’appelle µcBlockly : un noyau open source, basé sur Blockly 13, qui transforme des blocs en C++ Arduino — et qui peut s’embarquer dans une démo, dans BlocklyDuino, dans une Factory, ou dans votre propre application.

Cet article raconte pourquoi ce noyau est né. Le prochain détaillera ce qu’il est (et n’est pas). Ensuite viendront l’écosystème, puis BlocklyDuino v3 côté classe.

Le problème : un moteur collé à l’appli

Pendant des années, la programmation visuelle pour microcontrôleurs a progressé par produits complets : une UI, des blocs, un générateur, parfois un moniteur série. Chaque avancée (accessibilité, typage, nouvelles cartes) risquait d’être recopiée ou forkée d’un outil à l’autre.

Résultat typique :

  • un correctif dans BlocklyDuino n’arrive pas tout de suite ailleurs ;
  • un fork pédagogique diverge silencieusement ;
  • mettre à jour Blockly (Google) devient un chantier monumental à chaque dépôt.

Autrement dit : on inventait souvent plusieurs fois le même moteur, au lieu d’inventer plusieurs interfaces.

L’idée du noyau

µcBlockly inverse la logique. On sépare volontairement trois couches :

  • Blockly — le moteur visuel générique (workspace, toolbox, sérialisation) ;
  • µcBlockly — les blocs Arduino typés, le générateur C++, l’API d’intégration ;
  • les produits — BlocklyDuino, Factory, démo, vos projets.

Le noyau ne doit pas embarquer toute la coque pédagogique (Monaco « produit », barre d’outils métier, choix de carte « marque »). Il fournit ce qui est commun et réutilisable. Le reste appartient à chaque application.

Cette idée n’est pas née en 2026 : dès 2021, on parlait déjà d’un noyau commun pour µcBlockly, BlocklyDuino et Studio4Education. La v3, sur Blockly 13, en est la forme aboutie et publiable.

Ce que change Blockly 13

µcBlockly 3.x s’aligne sur Blockly 13 et les plugins @blockly/* de la même génération. Ce n’est pas un détail de version :

  • accessibilité et navigation clavier plus cohérentes ;
  • écosystème de plugins maintenu ;
  • base saine pour les années à venir.

Conséquence claire : un projet encore en Blockly 12 reste sur µcBlockly 2.x. La rupture est assumée pour ne pas traîner deux générations dans le même dépôt.

Héritage Blockly@rduino — sans tout jeter

Blockly@rduino reste une référence pédagogique (instances, niveaux, packs de blocs…). µcBlockly reprend des idées fortes (typage, instances nommées, structure de programme) dans une architecture moderne.

Les projets existantsne sont pas abandonnés : documentation legacy et guide de conversion sont là pour migrer quand vous le souhaitez.

Pourquoi publier le noyau maintenant ?

Parce que le réseau LibrEduc a besoin d’une source de vérité technique claire :

  • code sur GitHub (AGPL-3.0-or-later, copyleft y compris pour une version modifiée proposée en service réseau) ;
  • doc sur le wiki ;
  • entraide sur le forum ;
  • produits dérivés qui s’appuient dessus au lieu de le forker (copiller comme on dit poliment…) en silence.

Sans noyau partagé, chaque « nouveau Blockly pour Arduino » recommence à zéro. Avec µcBlockly, on recommence surtout l’expérience utilisateur — là où l’innovation pédagogique a le plus de sens.

Bientôt la suite…

Réseau LibrEduc — comprendre pour ne pas dépendre, partager pour progresser.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*