grapp / python.html
adrescop's picture
GRAPP : version app mobile (même look que la maquette)
ce92add verified
Raw History Blame Contribute Delete
1.65 kB
<!doctype html>
<html lang="fr">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>GRAPP</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@stlite/browser@1.9.2/build/stlite.css" />
<style>body{margin:0;background:#FAEFE7} #wait{font-family:system-ui,sans-serif;color:#7D1C4F;text-align:center;padding:3rem 1rem}</style>
</head>
<body>
<div id="root"><p id="wait">🍇 GRAPP se prépare… (le premier chargement prend environ 30 secondes : Python démarre dans ton navigateur)</p></div>
<script type="module">
// Version web de GRAPP : le même code Python (app.py) exécuté dans le navigateur
// grâce à stlite (Streamlit + Pyodide/WebAssembly). Aucun serveur nécessaire.
import { mount } from "https://cdn.jsdelivr.net/npm/@stlite/browser@1.9.2/build/stlite.js";
mount({
requirements: ["pandas", "numpy", "scikit-learn", "pillow"],
entrypoint: "app.py",
files: {
"app.py": { url: "./app.py" },
"assets/carte_exemple.png": { url: "./assets/carte_exemple.png" },
"data/carte_exemple.txt": { url: "./data/carte_exemple.txt" },
"data/dico.csv": { url: "./data/dico.csv" },
"data/vins.csv": { url: "./data/vins.csv" },
"grapp/__init__.py": { url: "./grapp/__init__.py" },
"grapp/carte.py": { url: "./grapp/carte.py" },
"grapp/engine.py": { url: "./grapp/engine.py" }
},
streamlitConfig: { "client.toolbarMode": "viewer", "theme.base": "light", "theme.primaryColor": "#FF5F8A" },
}, document.getElementById("root"));
</script>
</body>
</html>