尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
Modifier les fichiers dans js/, css/, data/ et icons/. À la racine, seuls index.html, sw.js, manifest.json et les trois fichiers GMU sont utilisés. Les documents PDF téléchargeables sont dans docs/ (ex. docs/fdf/ : GDO et GTO feux de forêts). Version : modifier APP_VERSION dans js/app.js, CACHE_NAME dans sw.js et version dans package.json. Générateur IA (Claude Sonnet 5) : variables Vercel `ANTHROP查看完整 README ↗
Vulcain/
├── index.html # Page principale (HTML uniquement, aucun script ni style en ligne)
├── api/
│ └── gemini.js # Fonction Vercel du générateur IA (API Claude, protégée)
├── css/
│ └── styles.css # Tous les styles
├── js/
│ ├── data-loader.js # Chargeur de données JSON
│ ├── app.js # Logique principale (navigation, calculateurs, À propos, APP_VERSION)
│ ├── pwa-theme.js # Service worker, installation PWA, thème clair/sombre
│ ├── navigation.js # Accueil, onglets, recherche, favoris, fil d'Ariane
│ └── modules/
│ ├── sal.js # SAL (plongée/décompression)
│ ├── gaz.js # Explosimétrie
│ ├── bouteilles.js # Bouteilles de gaz (identification, refroidissement)
│ ├── commandement.js # PATRAC DR, DPIF, SMES, SOIEC, SAOIECL
│ ├── trajet.js # Temps de trajet
│ ├── lspcc.js # Facteur de chute LSPCC
│ └── ia-manoeuvre.js # Générateur de manœuvre IA (côté navigateur)
├── guides-gmu.js, affichage-gmu.js, gmu-integration.js # Fiches GMU (TMD)
└── data/
├── config.json # Configuration de l'application
├── tmd.json # Base TMD
├── gaz.json # Base des gaz pour explosimétrie
├── densites.json # Densités des matériaux
├── conversions.json # Facteurs de conversion
├── navigation.json # Registre de navigation : domaines, thèmes, fiches, mots-clés
├── modules.json # Mots-clés d'origine (repris dans navigation.json)
├── gaz_bouteilles.json # Couleurs des bouteilles de gaz
├── lspcc.json # Lot de sauvetage LSPCC
└── tables_mt2012.json # Tables de décompression plongée
Modifier les fichiers dans
js/,css/,data/eticons/. À la racine, seulsindex.html,sw.js,manifest.jsonet les trois fichiers GMU sont utilisés. Les documents PDF téléchargeables sont dansdocs/(ex.docs/fdf/: GDO et GTO feux de forêts).Version : modifier
APP_VERSIONdansjs/app.js,CACHE_NAMEdanssw.jsetversiondanspackage.json.Générateur IA (Claude Sonnet 5) : variables Vercel
ANTHROPIC_API_KEY(obligatoire),CLAUDE_MODEL(pour changer de modèle sans toucher au code),ALLOWED_ORIGINS,RATE_LIMIT_MAX(2 par défaut),RATE_LIMIT_WINDOW_MS(24 h par défaut) etDAILY_GLOBAL_MAX(50 générations par jour, tous utilisateurs) en option. Si une base Upstash Redis est reliée au projet (KV_REST_API_URL/KV_REST_API_TOKEN), les compteurs de limite y sont conservés.
Tout le menu est généré à partir de data/navigation.json :
couleursThemes (facultatif) dans un domaine : une pastille de couleur par sous-menu
(utilisé pour les 4 années JSP : blanc, jaune, orange, vert).index.html : <div id="mon-id" class="module">…</div> ;pages de data/navigation.json :{
"id": "mon-id",
"titre": "Titre affiché",
"domaine": "incendie",
"theme": "Calculs incendie",
"type": "fiche",
"motsCles": ["mot", "autre mot"]
}
domaine : incendie, risques, sap, routier, specialites, commandement ou outils ;theme : un des thèmes listés pour ce domaine dans domaines (en ajouter un si besoin) ;type : calculateur (apparaît aussi dans l'onglet Calculs), fiche, ordre,
presentation (page d'introduction d'un thème) ou menu (page de boutons, absente des menus).À chaque modification de main (y compris depuis l'interface GitHub) et à chaque pull request,
GitHub lance 34 tests dans un navigateur mobile (onglet Actions du dépôt). Une croix rouge
sur le commit signale un problème, avec le détail dans le rapport.
Les tests vérifient notamment :
data/navigation.json : domaines, thèmes et types valides, aucun écran oublié ;sw.js) existent tous ;package.json, js/app.js, sw.js et index.html ;api/gemini.js.Pour les lancer sur un ordinateur : npm install, npx playwright install chromium, puis npm test.
index.html dans un navigateur# Python
python -m http.server 8000
# Node.js
npx serve
Éditez data/tmd.json et ajoutez un objet :
{
"onu": "1234",
"nom": "Nom du produit",
"classe": 3,
"danger": "33",
"risques": "Inflammable",
"picto": "🔥"
}
Éditez data/gaz.json :
"nouveau_gaz": {
"nom": "Nouveau Gaz",
"formule": "XX₂",
"lie": 2.5
}
Éditez data/conversions.json pour ajouter des unités ou modifier les facteurs.
Le fichier js/data-loader.js charge les JSON de manière asynchrone :
const data = await DataLoader.loadAll();
// ou
const tmd = await DataLoader.getTMD();
Les données sont stockées dans des variables globales pour compatibilité :
tmdDatabase - Produits TMDgazDatabase - Gaz explosimétriedensityData - Densités matériauxconversionData - Facteurs conversionmodulesData - Index modulesHelmet Legend - Solution professionnelle pour sapeurs-pompiers © 2025 Vulcain - Tous droits réservés