Page de test et page de mesure du moteur WebAssembly

web/ : le moteur tourne dans un Web Worker (module ES) ; la page de
test donne le meilleur coup d'une position et son temps de calcul ;
la page de mesure chronomètre les positions de référence, mesure la
taille téléchargée et la mémoire, compare aux seuils de l'étape 0b et
produit un rapport à copier. make bench fait la même mesure sous Node,
make deploy-web sert les pages sur le réseau local. Guide de test pour
le Fairphone 4 dans docs/guide-test-etape-0.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Pierre MARTIN
2026-11-02 19:13:04 +01:00
co-authored by Claude Opus 5.5
parent b0030521d8
commit 120367e6d3
12 changed files with 747 additions and 4 deletions
+7 -4
View File
@@ -76,8 +76,10 @@ deploy: ## Installe l'application sur le téléphone (pas encore disponible)
@echo "Page de test du moteur WebAssembly : make deploy-web"
@exit 1
# Sert web/ à la racine et build/wasm/ sous /wasm/, en lecture seule, avec le
# serveur HTTP de Python (types MIME corrects, dont application/wasm).
# Sert web/ à la racine et build/wasm/ sous /wasm/ avec le serveur HTTP de
# Python (types MIME corrects, dont application/wasm). Les deux dossiers sont
# montés en lecture seule puis copiés dans le conteneur au démarrage : relancer
# après une modification.
# L'adresse affichée est celle du PC sur l'interface de sa route par défaut,
# c'est-à-dire sur le réseau local (Wi-Fi ou câble).
deploy-web: engine-wasm ## Sert la page de test WebAssembly sur le réseau local (Ctrl+C pour arrêter)
@@ -86,8 +88,9 @@ deploy-web: engine-wasm ## Sert la page de test WebAssembly sur le réseau local
echo "Page de mesure : http://$${ip:-ADRESSE-DU-PC}:$(WEB_PORT)/bench.html"; \
echo "À ouvrir depuis le téléphone, sur le même Wi-Fi. Ctrl+C pour arrêter."
@docker run --rm --init -p $(WEB_PORT):8080 \
-v "$(CURDIR)/web:/site:ro" -v "$(CURDIR)/build/wasm:/site/wasm:ro" \
$(BUILD_C_IMAGE) python3 -m http.server 8080 --directory /site
-v "$(CURDIR)/web:/web:ro" -v "$(CURDIR)/build/wasm:/wasm:ro" $(BUILD_C_IMAGE) \
sh -c 'cp -r /web /tmp/site && cp -r /wasm /tmp/site/wasm \
&& exec python3 -m http.server 8080 --directory /tmp/site'
clean: ## Supprime les artefacts de build (garde les images Docker)
rm -rf $(BUILD_DIR)