ci: docker_tag=dev-test - Mise à jour CONTRIBUTING.md complet et standardisé

This commit is contained in:
LeCoffre Deployment 2025-10-01 21:07:00 +00:00
parent 300cae7b70
commit 39018669b9
13 changed files with 287 additions and 18 deletions

@ -1 +1 @@
Subproject commit 8f5bc9cf3975e213b341953ec1cfbd659c34107b Subproject commit 710481d3348427fa7e52ad614192a854eb3340f9

@ -1 +1 @@
Subproject commit 308183b163552c084ee06eb04a308ee6ff86062c Subproject commit f1558d5eb58ef2d176d1edbd5bc3cecad5a748c7

@ -1 +1 @@
Subproject commit 729ffa8f508fb4c341e5d4db142c824543fcf2d8 Subproject commit fe2c21c0403a7034764af8d20e1fb6736c843118

@ -1 +1 @@
Subproject commit 2d5f731133f49a86e858c1749390f5d6edd26701 Subproject commit 6733f79b83012cc0c8dc851fee20fa1890bbc77f

@ -1 +1 @@
Subproject commit f93d86aa10de71ca4f4a62d77280692d5fd7ba46 Subproject commit 867cc4837bdce7de875643554720685ef48df3f5

@ -1 +1 @@
Subproject commit 236a0646ae3875957525b6151fe6eda657ff10ab Subproject commit f9929262a236356b731aa9afbac46bb7bcb45148

@ -1 +1 @@
Subproject commit 0d5e181c82ea160fb70851f6114673218ca4113a Subproject commit 89f75321b0705e1e299ef31452afffa97bc47fab

@ -1 +1 @@
Subproject commit b375e76bd9aab68c97732556215c001618cb0955 Subproject commit af49ee7f1b22dad44e9cb157438c88a727150ab1

@ -1 +1 @@
Subproject commit ba2e6a5e964cc7339baa105e89ce6e81aded70cf Subproject commit b151d6b53ebb3e10cea976c4ef50c99a2085019b

@ -1 +1 @@
Subproject commit e2e3121a4e8535e4afdd21e32f7ea7ef7056d8b9 Subproject commit 3eb898827ff255e8675ba46c9285126cb273bab4

@ -1 +1 @@
Subproject commit d66bfc4009f5f5376a154a053a94d6878fa1c57e Subproject commit 08d64fc0d256a71bccbf03358b5eab91ef1e3fb0

@ -1 +1 @@
Subproject commit e86f687f6c8145bd2a51e49aab732cdc50e2aed2 Subproject commit 16383491b494e05e691334ba1c4d1bb15333f8ea

View File

@ -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. ## 📋 Table des matières
- Travaillez sur une branche `feature/...`.
- Ajoutez systématiquement des tests (`tests/`) et mettez à jour la documentation (`docs/`). - [Code de conduite](#code-de-conduite)
- Assurez-vous que `cargo fmt`, `cargo clippy` et `cargo test` passent localement. - [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