logo sheen.bot

← Perspectives

Pourquoi les réseaux scolaires bloquent les extensions MakeCode et les bibliothèques Arduino

6 nov. 2026·Sheen Robotics
Pourquoi les réseaux scolaires bloquent les extensions MakeCode et les bibliothèques Arduino

Lorsque les cours de programmation se bloquent, c'est rarement le site principal qui est en cause ; les pare-feu d'entreprise rejettent silencieusement les points de terminaison GitHub en arrière-plan, les redirections CDN et les téléchargements d'archives dont dépendent ces outils.

Lorsque les extensions MakeCode ne parviennent pas à se charger ou que le gestionnaire de bibliothèques d'Arduino se fige à zéro pour cent, le pare-feu de l'établissement ne bloque presque jamais makecode.microbit.org ou arduino.cc. En réalité, le filtre de contenu d'entreprise de l'école rejette silencieusement les requêtes réseau dynamiques et multi-hôtes exécutées en arrière-plan : du code brut récupéré depuis les points de terminaison de l'API GitHub, des redirections CDN (content delivery network) à plusieurs sauts ou des archives binaires classées comme des téléchargements de logiciels.

Pour résoudre ce problème, l'administrateur informatique de votre établissement n'a pas besoin de compromettre la sécurité du réseau en ouvrant l'intégralité d'Internet. Il lui suffit d'établir une liste blanche ciblée qui prend en compte la manière dont les compilateurs dans le navigateur et les environnements de développement pour microcontrôleurs récupèrent réellement le code.

Pourquoi l'interface se charge, mais pas les bibliothèques

Les pare-feu d'entreprise en milieu scolaire — tels que les passerelles Fortinet FortiGate, Sophos, Smoothwall ou MikroTik, courantes dans les établissements publics comme privés en Afrique du Sud — reposent sur un filtrage par catégories. Ces équipements catégorisent le trafic en fonction de la réputation des domaines et des types MIME. Lorsqu'un élève saisit l'URL d'un IDE en ligne dans Google Chrome, le portail principal est classé dans la catégorie Éducation, qui est autorisée.

Le blocage survient dès qu'un élève ajoute une extension pour un écran OLED, un pilote de moteur ou un capteur à ultrasons. Ni le moteur Microsoft MakeCode ni l'IDE Arduino n'intègrent l'ensemble des pilotes matériels tiers au sein de l'application de base. Ils récupèrent plutôt des paquets externes de manière dynamique via HTTPS depuis des plateformes de développement. Or, ces requêtes ciblent des domaines classés dans Téléchargements de logiciels, Stockage personnel ou Dépôts de code open source, des catégories que les profils de pare-feu scolaires par défaut restreignent de manière agressive pour prévenir les logiciels malveillants, l'installation de programmes non approuvés et la saturation de la bande passante.

Le pipeline de dépendances de MakeCode

Microsoft MakeCode (qu'il fonctionne pour BBC micro:bit, Arcade ou des cartes personnalisées de makers) n'est pas un simple site web : c'est un orchestrateur qui rassemble du code provenant de plusieurs hôtes indépendants tout en compilant au sein d'un web worker dans le navigateur.

  • Découverte d'extensions : lorsqu'un élève recherche un paquet, MakeCode interroge api.github.com pour localiser les dépôts publics associés à PXT (le Programming eXperience Toolkit). Si l'API GitHub est bloquée ou bridée par des règles de limitation de débit (rate-limiting), la recherche ne renvoie aucun résultat.
  • Récupération du code source : une fois le paquet sélectionné, le code brut du pilote en JavaScript et C++ est téléchargé depuis raw.githubusercontent.com. De nombreux filtres scolaires traitent ce domaine comme un stockage de fichiers non vérifié (assimilable à un site de partage de fichiers) et interrompent la connexion, laissant l'élève face à une roue qui tourne indéfiniment ou à une alerte générique « Erreur lors du chargement du paquet ».
  • Simulateur et compilateurs cloud : les simulateurs spécifiques aux cibles matérielles et les cibles elles-mêmes sont chargés dynamiquement depuis pxt.io et des points de terminaison Azure gérés par Microsoft (*.makecode.org). Si ces ressources sont bloquées, l'espace de travail graphique peut s'afficher, mais le simulateur à l'écran restera vide.

IDE Arduino : archives, redirections et outils en ligne de commande

L'IDE Arduino (en particulier Arduino IDE 2.x, qui repose sur une interface Electron exécutant arduino-cli comme démon en arrière-plan) est confronté à un autre obstacle réseau : les téléchargements d'archives et les chaînes de redirection.

Lorsque vous installez une définition de carte (telle que le cœur ESP32, ESP8266 ou SAMD) ou une bibliothèque communautaire, l'outil suit cette séquence :

  1. Il récupère un fichier JSON d'index depuis un domaine d'origine (par exemple downloads.arduino.cc ou un lien brut GitHub spécifié dans les URL du gestionnaire de cartes).
  2. Le fichier d'index pointe vers une archive compressée — généralement un fichier .zip, .tar.bz2 ou .tar.gz hébergé sur GitHub Releases.
  3. GitHub Releases émet immédiatement une redirection HTTP 302 vers un compartiment de stockage Amazon S3 sous objects.githubusercontent.com.

Si le réseau de l'établissement bloque les extensions de fichiers exécutables ou les archives compressées provenant de domaines non autorisés, le téléchargement s'interrompt brutalement. De plus, comme arduino-cli gère ces transactions via des appels locaux en arrière-plan, il ne déclenche pas la page de connexion habituelle du portail captif que les réseaux Wi-Fi scolaires utilisent pour authentifier les utilisateurs.

L'inspection SSL et le problème des certificats

De nombreuses écoles sud-africaines acheminent le trafic à travers des serveurs mandataires (proxys) transparents appliquant une inspection approfondie des paquets (DPI, Deep Packet Inspection) afin de surveiller l'usage du Web par les élèves. Pour que cela fonctionne, un certificat racine d'autorité de certification (CA) personnalisé doit être installé sur chaque machine cliente. Même si les ordinateurs portables Windows administrés et distribués via un système de gestion scolaire peuvent disposer de cette autorité préinstallée, trois cas de panne fréquents surviennent dans une salle informatique :

  • Appareils personnels (BYOD) : les élèves utilisant leurs propres ordinateurs portables subiront des échecs de négociation SSL (handshake) sur chaque point de terminaison sécurisé, car leurs appareils ne font pas confiance au certificat d'inspection de l'école.
  • Outils CLI intégrés : les utilitaires en ligne de commande exécutés en arrière-plan par les outils de robotique utilisent souvent leur propre magasin de certificats intégré plutôt que de consulter le magasin de confiance du système d'exploitation, ce qui entraîne des réinitialisations de connexion.
  • WebSockets : la compilation en temps réel et les liaisons de débogage WebUSB/WebSerial peuvent échouer lorsqu'elles traversent d'anciens serveurs mandataires de mise en cache limités au protocole HTTP.

La liste blanche recommandée pour le service informatique

Transmettez cette liste concrète à l'administrateur réseau ou au service informatique de votre établissement. Demandez que ces domaines et protocoles soient ajoutés à la liste d'exclusion (bypass) du filtrage de contenu et de l'inspection SSL approfondie sur le VLAN ou le sous-réseau IP dédié à la salle de robotique ou d'informatique :

Domaine / Modèle d'URLFonctionPorts requis
makecode.microbit.org
*.makecode.org
Application web MakeCode, environnements d'exécution du simulateur et web workers locauxTCP 443 (HTTPS)
pxt.io
*.pxt.io
Cibles de compilation Microsoft PXT sous-jacentes et documentationTCP 443 (HTTPS)
api.github.comRecherche d'extensions et résolution des versions de paquetsTCP 443 (HTTPS)
raw.githubusercontent.comCode source des extensions MakeCode et fichiers d'index des cartes ArduinoTCP 443 (HTTPS)
objects.githubusercontent.comArchives de paquets binaires, chaînes d'outils de compilation et versions ZIP de bibliothèquesTCP 443 (HTTPS)
downloads.arduino.cc
*.arduino.cc
Index officiels de l'IDE Arduino, cartes de base et métadonnées du gestionnaire de bibliothèquesTCP 443 (HTTPS)

En plus de l'ajout des domaines sur liste blanche, l'équipe informatique doit s'assurer que le filtrage par extension de fichier ne bloque pas les flux .json, .hex, .zip, .tar.gz ou .tar.bz2 provenant des domaines ci-dessus.

Solutions de contournement pratiques en environnement contraint

Si votre établissement dépend d'un serveur mandataire centralisé rigide — comme les connexions des réseaux éducatifs provinciaux où les enseignants en salle informatique ne peuvent pas demander de modifications locales du pare-feu —, vous devez contourner cet obstacle réseau :

  • Pour MakeCode : téléchargez l'application hors ligne MakeCode pour micro:bit lorsqu'un programme d'installation est disponible, ou chargez les extensions sur un projet « maître » via une connexion externe (comme un partage de connexion mobile), enregistrez le projet sous forme de fichier .hex et demandez aux élèves d'ouvrir ce fichier localement. MakeCode intègre directement les extensions déjà importées à l'intérieur du fichier de projet .hex ; une fois l'importation réalisée, aucun accès réseau n'est donc nécessaire pour utiliser ces blocs.
  • Pour Arduino : préparez une installation de référence de l'IDE Arduino avec toutes les cartes nécessaires (comme les cœurs ESP32 ou AVR) et les bibliothèques du cours préinstallées dans la structure de dossiers portables. Distribuez ensuite l'intégralité de ce répertoire sur les ordinateurs de la salle via une clé USB ou un partage réseau local, en contournant totalement les gestionnaires de cartes et de bibliothèques en classe.

Pour les établissements qui installent des salles de matériel dédiées nécessitant une gestion fiable des appareils, des chaînes d'outils locales et des configurations compatibles avec leur pare-feu, au primaire comme au secondaire, notre équipe accompagne le déploiement des infrastructures directement via Sheen Robotics School Services.

Une salle informatique d'apprentissage du code moderne ne peut pas fonctionner avec une politique de filtrage web conçue uniquement pour la navigation passive. Dès lors que les administrateurs informatiques réalisent que les plateformes de programmation se comportent comme des pipelines de déploiement logiciel plutôt que comme des pages de texte statiques, la solution devient simple, précise et pérenne.

#réseaux scolaires#MakeCode#Arduino#configuration de pare-feu#salle informatique de programmation

Plus de Perspectives