diff --git a/4NK_modules/4NK_certificator b/4NK_modules/4NK_certificator index 8f5bc9c..710481d 160000 --- a/4NK_modules/4NK_certificator +++ b/4NK_modules/4NK_certificator @@ -1 +1 @@ -Subproject commit 8f5bc9cf3975e213b341953ec1cfbd659c34107b +Subproject commit 710481d3348427fa7e52ad614192a854eb3340f9 diff --git a/4NK_modules/4NK_vault b/4NK_modules/4NK_vault index 308183b..f1558d5 160000 --- a/4NK_modules/4NK_vault +++ b/4NK_modules/4NK_vault @@ -1 +1 @@ -Subproject commit 308183b163552c084ee06eb04a308ee6ff86062c +Subproject commit f1558d5eb58ef2d176d1edbd5bc3cecad5a748c7 diff --git a/4NK_modules/blindbit-oracle b/4NK_modules/blindbit-oracle index 729ffa8..fe2c21c 160000 --- a/4NK_modules/blindbit-oracle +++ b/4NK_modules/blindbit-oracle @@ -1 +1 @@ -Subproject commit 729ffa8f508fb4c341e5d4db142c824543fcf2d8 +Subproject commit fe2c21c0403a7034764af8d20e1fb6736c843118 diff --git a/4NK_modules/ihm_client b/4NK_modules/ihm_client index 2d5f731..6733f79 160000 --- a/4NK_modules/ihm_client +++ b/4NK_modules/ihm_client @@ -1 +1 @@ -Subproject commit 2d5f731133f49a86e858c1749390f5d6edd26701 +Subproject commit 6733f79b83012cc0c8dc851fee20fa1890bbc77f diff --git a/4NK_modules/rust-silentpayments b/4NK_modules/rust-silentpayments index f93d86a..867cc48 160000 --- a/4NK_modules/rust-silentpayments +++ b/4NK_modules/rust-silentpayments @@ -1 +1 @@ -Subproject commit f93d86aa10de71ca4f4a62d77280692d5fd7ba46 +Subproject commit 867cc4837bdce7de875643554720685ef48df3f5 diff --git a/4NK_modules/sdk-signer-client b/4NK_modules/sdk-signer-client index 236a064..f992926 160000 --- a/4NK_modules/sdk-signer-client +++ b/4NK_modules/sdk-signer-client @@ -1 +1 @@ -Subproject commit 236a0646ae3875957525b6151fe6eda657ff10ab +Subproject commit f9929262a236356b731aa9afbac46bb7bcb45148 diff --git a/4NK_modules/sdk_client b/4NK_modules/sdk_client index 0d5e181..89f7532 160000 --- a/4NK_modules/sdk_client +++ b/4NK_modules/sdk_client @@ -1 +1 @@ -Subproject commit 0d5e181c82ea160fb70851f6114673218ca4113a +Subproject commit 89f75321b0705e1e299ef31452afffa97bc47fab diff --git a/4NK_modules/sdk_common b/4NK_modules/sdk_common index b375e76..af49ee7 160000 --- a/4NK_modules/sdk_common +++ b/4NK_modules/sdk_common @@ -1 +1 @@ -Subproject commit b375e76bd9aab68c97732556215c001618cb0955 +Subproject commit af49ee7f1b22dad44e9cb157438c88a727150ab1 diff --git a/4NK_modules/sdk_relay b/4NK_modules/sdk_relay index ba2e6a5..b151d6b 160000 --- a/4NK_modules/sdk_relay +++ b/4NK_modules/sdk_relay @@ -1 +1 @@ -Subproject commit ba2e6a5e964cc7339baa105e89ce6e81aded70cf +Subproject commit b151d6b53ebb3e10cea976c4ef50c99a2085019b diff --git a/4NK_modules/sdk_signer b/4NK_modules/sdk_signer index e2e3121..3eb8988 160000 --- a/4NK_modules/sdk_signer +++ b/4NK_modules/sdk_signer @@ -1 +1 @@ -Subproject commit e2e3121a4e8535e4afdd21e32f7ea7ef7056d8b9 +Subproject commit 3eb898827ff255e8675ba46c9285126cb273bab4 diff --git a/4NK_modules/sdk_storage b/4NK_modules/sdk_storage index d66bfc4..08d64fc 160000 --- a/4NK_modules/sdk_storage +++ b/4NK_modules/sdk_storage @@ -1 +1 @@ -Subproject commit d66bfc4009f5f5376a154a053a94d6878fa1c57e +Subproject commit 08d64fc0d256a71bccbf03358b5eab91ef1e3fb0 diff --git a/4NK_modules/skeleton b/4NK_modules/skeleton index e86f687..1638349 160000 --- a/4NK_modules/skeleton +++ b/4NK_modules/skeleton @@ -1 +1 @@ -Subproject commit e86f687f6c8145bd2a51e49aab732cdc50e2aed2 +Subproject commit 16383491b494e05e691334ba1c4d1bb15333f8ea diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b60d0c7..5a9a725 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,8 +1,277 @@ -# Contribuer à sdk_storage +# Contribuer à 4NK Environment -Merci de proposer des issues et des Pull Requests. +Merci de votre intérêt pour contribuer au projet 4NK Environment ! Ce document fournit des directives pour contribuer efficacement à l'écosystème 4NK. -- Discutez via une issue avant une modification majeure. -- Travaillez sur une branche `feature/...`. -- Ajoutez systématiquement des tests (`tests/`) et mettez à jour la documentation (`docs/`). -- Assurez-vous que `cargo fmt`, `cargo clippy` et `cargo test` passent localement. +## 📋 Table des matières + +- [Code de conduite](#code-de-conduite) +- [Comment contribuer](#comment-contribuer) +- [Processus de développement](#processus-de-développement) +- [Standards de code](#standards-de-code) +- [Tests](#tests) +- [Documentation](#documentation) +- [Déploiement](#déploiement) +- [Questions et support](#questions-et-support) + +## 🤝 Code de conduite + +Ce projet adhère à notre [Code de Conduite](CODE_OF_CONDUCT.md). En participant, vous acceptez de respecter ces règles. + +## 🚀 Comment contribuer + +### Types de contributions + +- **🐛 Corrections de bugs** : Signaler et corriger des problèmes +- **✨ Nouvelles fonctionnalités** : Ajouter des capacités +- **📚 Documentation** : Améliorer la documentation +- **🧪 Tests** : Ajouter ou améliorer les tests +- **🔧 Maintenance** : Refactoring, optimisation, nettoyage + +### Processus de contribution + +1. **Créer une issue** pour discuter des changements majeurs +2. **Fork le repository** si nécessaire +3. **Créer une branche** de fonctionnalité +4. **Développer** avec les standards de code +5. **Tester** vos modifications +6. **Documenter** les changements +7. **Soumettre** une Pull Request + +## 🛠️ Processus de développement + +### Structure du projet + +``` +4NK_env/ +├── 4NK_modules/ # Modules 4NK (SDKs, services) +├── projects/ # Projets applicatifs (LeCoffre) +├── docs/ # Documentation technique +├── IA_agents/ # Agents IA et prompts +├── scripts/ # Scripts de déploiement +└── confs/ # Configurations centralisées +``` + +### Branches + +- **`main`** : Branche principale stable +- **`ext`** : Branche de développement étendue +- **`feature/*`** : Nouvelles fonctionnalités +- **`fix/*`** : Corrections de bugs +- **`docs/*`** : Améliorations documentation + +### Workflow Git + +```bash +# 1. Créer une branche de fonctionnalité +git checkout -b feature/nouvelle-fonctionnalite + +# 2. Développer et tester +# ... modifications ... + +# 3. Commiter avec un message descriptif +git add . +git commit -m "feat: ajouter nouvelle fonctionnalité X" + +# 4. Pousser la branche +git push origin feature/nouvelle-fonctionnalite + +# 5. Créer une Pull Request (si applicable) +``` + +## 📝 Standards de code + +### Messages de commit + +Utilisez le format conventionnel : + +``` +type(scope): description + +[corps optionnel] + +[footer optionnel] +``` + +**Types** : +- `feat` : Nouvelle fonctionnalité +- `fix` : Correction de bug +- `docs` : Documentation +- `style` : Formatage, point-virgules manquants, etc. +- `refactor` : Refactoring de code +- `test` : Ajout de tests +- `chore` : Maintenance, dépendances + +**Exemples** : +``` +feat(sdk_relay): ajouter support WebSocket sécurisé +fix(lecoffre): corriger authentification OAuth2 +docs(architecture): mettre à jour diagrammes de flux +``` + +### Standards par technologie + +#### Rust (modules 4NK) +```bash +# Formatage +cargo fmt + +# Linting +cargo clippy + +# Tests +cargo test + +# Documentation +cargo doc --open +``` + +#### TypeScript/JavaScript (frontend) +```bash +# Formatage +npm run format + +# Linting +npm run lint + +# Tests +npm test + +# Build +npm run build +``` + +#### Docker +- Utiliser des images officielles +- Multi-stage builds pour optimiser la taille +- Utilisateurs non-root +- Healthchecks appropriés + +## 🧪 Tests + +### Tests obligatoires + +- **Tests unitaires** : Fonctionnalités individuelles +- **Tests d'intégration** : Interactions entre composants +- **Tests de déploiement** : Validation des scripts +- **Tests de sécurité** : Vérification des bonnes pratiques + +### Exécution des tests + +```bash +# Tests globaux +./scripts/test-all.sh + +# Tests par module +cd 4NK_modules/sdk_relay && cargo test +cd projects/lecoffre/lecoffre-front && npm test + +# Tests de déploiement +./scripts/validate-deployment.sh +``` + +## 📚 Documentation + +### Types de documentation + +- **README.md** : Vue d'ensemble du projet +- **docs/** : Documentation technique détaillée +- **IA_agents/** : Prompts et guides pour agents IA +- **Commentaires de code** : Documentation inline + +### Standards de documentation + +- **Markdown** pour tous les documents +- **Diagrammes** avec Mermaid ou PlantUML +- **Exemples de code** fonctionnels +- **Liens** vers les ressources externes + +### Mise à jour de la documentation + +```bash +# Vérifier la cohérence +./scripts/validate-docs.sh + +# Générer la documentation +./scripts/generate-docs.sh +``` + +## 🚀 Déploiement + +### Environnements + +- **Développement** : Tests et développement local +- **Staging** : Validation avant production +- **Production** : Environnement de production + +### Processus de déploiement + +1. **Tests** : Validation complète +2. **Build** : Construction des artefacts +3. **Déploiement** : Mise en production +4. **Validation** : Vérification post-déploiement +5. **Monitoring** : Surveillance continue + +### Scripts de déploiement + +```bash +# Déploiement complet +./scripts/deploy-all.sh + +# Déploiement par phase +./scripts/deploy-phase-base.sh +./scripts/deploy-phase-blockchain.sh +./scripts/deploy-phase-application.sh +``` + +## 🔒 Sécurité + +### Bonnes pratiques + +- **Aucun secret** dans le code source +- **Variables d'environnement** pour la configuration +- **Utilisateurs non-root** dans les conteneurs +- **Clés SSH** pour l'authentification Git +- **Chiffrement** des données sensibles + +### Signalement de vulnérabilités + +Pour signaler une vulnérabilité de sécurité : +1. **Ne pas** créer d'issue publique +2. **Contacter** directement l'équipe de sécurité +3. **Attendre** la confirmation avant divulgation + +## 📞 Questions et support + +### Canaux de communication + +- **Issues GitHub** : Bugs et demandes de fonctionnalités +- **Discussions** : Questions générales +- **Documentation** : Guides et références + +### Obtenir de l'aide + +1. **Consulter** la documentation existante +2. **Rechercher** dans les issues existantes +3. **Créer** une nouvelle issue si nécessaire +4. **Fournir** le contexte et les détails + +## 🏷️ Versioning + +Le projet utilise le [Semantic Versioning](https://semver.org/) : + +- **MAJOR** : Changements incompatibles +- **MINOR** : Nouvelles fonctionnalités compatibles +- **PATCH** : Corrections de bugs + +## 📄 Licence + +Ce projet est sous licence MIT. Voir le fichier [LICENSE](LICENSE) pour plus de détails. + +## 🙏 Remerciements + +Merci à tous les contributeurs qui rendent ce projet possible ! + +--- + +**Dernière mise à jour** : 2024-09-25 +**Version** : 1.0.0 \ No newline at end of file