secubox-openwrt/docs-fr/repository-guidelines.md
CyberMind-FR ccfb58124c docs: Add trilingual documentation (French and Chinese translations)
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>
2026-03-20 10:00:18 +01:00

33 lines
3.5 KiB
Markdown

# Directives du Dépôt
🌐 **Langues :** [English](../docs/repository-guidelines.md) | Français | [中文](../docs-zh/repository-guidelines.md)
## Structure du Projet & Organisation des Modules
- Les applications LuCI (`luci-app-secubox`, `luci-app-*`) stockent les vues dans `htdocs/luci-static/resources` et la logique RPC dans `root/usr/libexec/rpcd` ; `package/secubox/` contient les copies prêtes pour le SDK de ces modules.
- `luci-theme-secubox`, `templates/` et `plugins/` fournissent les CSS partagés, dégradés et widgets qui doivent être référencés via `require secubox/*` au lieu de dupliquer les assets.
- L'automatisation se trouve dans `secubox-tools/`, `scripts/` et les wrappers `deploy-*.sh`, tandis que la documentation est dans `docs/` (MkDocs) et `DOCS/` (approfondissements).
## Commandes de Build, Test & Développement
- `./secubox-tools/local-build.sh build <module>` effectue des builds SDK avec cache ; utilisez `make package/<module>/compile V=s` pour reproduire exactement la CI.
- `./secubox-tools/validate-modules.sh` doit 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-secubox` synchronise les arborescences `root/` et `htdocs/` vers un routeur ; ajoutez `--list-apps` pour découvrir les IDs valides ou `--app <name>` pour en cibler un.
- `./deploy-to-router.sh` reconstruit `secubox-core` + `luci-app-secubox-admin`, télécharge les derniers IPKs vers `$ROUTER_IP`, les installe et redémarre `rpcd`.
## Style de Code & Conventions de Nommage
- Les vues LuCI utilisent ES5 : `'use strict';`, `'require ...'` groupés, indentation par tabulation et rendu `return view.extend({ ... })` + `E('div', ...)` ; déplacez la logique métier dans des helpers comme `secubox/api`.
- Le JSON de menu `"path": "system-hub/overview"` doit résoudre vers `htdocs/.../view/system-hub/overview.js`, et les scripts RPC dans `root/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 --local` pour 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.sh` plus `jsonlint file.json` et `shellcheck root/usr/libexec/rpcd/*` pour chaque point de contact.
- Exécutez `scripts/smoke_test.sh` sur le matériel pour confirmer les services Zigbee2MQTT, la santé des conteneurs et MQTT.
- Déposez `test-direct.js` ou `test-modules-simple.js` dans LuCI pour vérifier le câblage des menus, puis supprimez le fichier et enregistrez les commandes `ubus -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 --local` avant de pousser pour éviter les HTTP 403, et redémarrez `rpcd` plus purgez les caches LuCI (`rm -f /tmp/luci-*`) si vous n'utilisez pas `deploy-to-router.sh`.