Add complete French (fr) and Chinese (zh) translations for all documentation: - Root files: README, CHANGELOG, SECURITY, BETA-RELEASE - docs/: All 16 core documentation files - DOCS/: All 19 deep-dive documents including embedded/ and archive/ - package/secubox/: All 123+ package READMEs - Misc: secubox-tools/, scripts/, EXAMPLES/, config-backups/, streamlit-apps/ Total: 346 translation files created Each file includes language switcher links for easy navigation between English, French, and Chinese versions. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
3.5 KiB
3.5 KiB
Directives du Dépôt
🌐 Langues : English | Français | 中文
Structure du Projet & Organisation des Modules
- Les applications LuCI (
luci-app-secubox,luci-app-*) stockent les vues danshtdocs/luci-static/resourceset la logique RPC dansroot/usr/libexec/rpcd;package/secubox/contient les copies prêtes pour le SDK de ces modules. luci-theme-secubox,templates/etplugins/fournissent les CSS partagés, dégradés et widgets qui doivent être référencés viarequire secubox/*au lieu de dupliquer les assets.- L'automatisation se trouve dans
secubox-tools/,scripts/et les wrappersdeploy-*.sh, tandis que la documentation est dansdocs/(MkDocs) etDOCS/(approfondissements).
Commandes de Build, Test & Développement
./secubox-tools/local-build.sh build <module>effectue des builds SDK avec cache ; utilisezmake package/<module>/compile V=spour reproduire exactement la CI../secubox-tools/validate-modules.shdoit passer avant les commits ; il vérifie le nommage RPC, les chemins de menu, les permissions, le JSON et les vues orphelines../secubox-tools/quick-deploy.sh --profile luci-app --src luci-app-secuboxsynchronise les arborescencesroot/ethtdocs/vers un routeur ; ajoutez--list-appspour découvrir les IDs valides ou--app <name>pour en cibler un../deploy-to-router.shreconstruitsecubox-core+luci-app-secubox-admin, télécharge les derniers IPKs vers$ROUTER_IP, les installe et redémarrerpcd.
Style de Code & Conventions de Nommage
- Les vues LuCI utilisent ES5 :
'use strict';,'require ...'groupés, indentation par tabulation et rendureturn view.extend({ ... })+E('div', ...); déplacez la logique métier dans des helpers commesecubox/api. - Le JSON de menu
"path": "system-hub/overview"doit résoudre vershtdocs/.../view/system-hub/overview.js, et les scripts RPC dansroot/usr/libexec/rpcd/doivent correspondre à leurs noms d'objets ubus tout en ayant les permissions exécutables (755). - Exécutez
./secubox-tools/fix-permissions.sh --localpour maintenir les fichiers CSS/JS à 644, et gardez le vocabulaire de design cohérent (sh-*,sb-*, polices Inter/JetBrains, dégradés stockés dans les fichiers de thème).
Directives de Test
- Exécutez
./secubox-tools/validate-modules.shplusjsonlint file.jsonetshellcheck root/usr/libexec/rpcd/*pour chaque point de contact. - Exécutez
scripts/smoke_test.shsur le matériel pour confirmer les services Zigbee2MQTT, la santé des conteneurs et MQTT. - Déposez
test-direct.jsoutest-modules-simple.jsdans LuCI pour vérifier le câblage des menus, puis supprimez le fichier et enregistrez les commandesubus -S call luci.secubox ...dans la PR.
Directives de Commit & Pull Request
- Suivez le style d'historique observé :
type(scope): changement(ex :fix(luci-app-secubox-admin): add RPC fallback). - Les PRs doivent mettre en évidence le module affecté, lister les commandes de validation exécutées et joindre des captures d'écran pour les modifications UI.
- Liez les issues ou entrées TODO, mettez à jour
docs/+DOCS/quand le comportement ou les APIs changent, et signalez les hypothèses d'IP de routeur.
Conseils de Sécurité & Déploiement
- Exécutez le validateur et
./secubox-tools/fix-permissions.sh --localavant de pousser pour éviter les HTTP 403, et redémarrezrpcdplus purgez les caches LuCI (rm -f /tmp/luci-*) si vous n'utilisez pasdeploy-to-router.sh.