merge: chore/docs-agents-ci-2025-08-27 → main (v2025.08.2)
This commit is contained in:
commit
e1b89fa6ed
@ -300,8 +300,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
OPENAI_API_KEY: ""
|
OPENAI_API_KEY: ""
|
||||||
run: |
|
run: |
|
||||||
mkdir -p tests/reports/agents
|
scripts/agents/run.sh
|
||||||
scripts/agents/run.sh . tests/reports/agents all
|
|
||||||
- name: Upload agents reports
|
- name: Upload agents reports
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
@ -325,8 +324,7 @@ jobs:
|
|||||||
chmod +x scripts/agents/*.sh || true
|
chmod +x scripts/agents/*.sh || true
|
||||||
- name: Run agents with AI
|
- name: Run agents with AI
|
||||||
run: |
|
run: |
|
||||||
mkdir -p tests/reports/agents
|
scripts/agents/run.sh
|
||||||
scripts/agents/run.sh . tests/reports/agents all
|
|
||||||
- name: Upload agents reports
|
- name: Upload agents reports
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
@ -406,7 +404,7 @@ jobs:
|
|||||||
if: startsWith(github.ref, 'refs/tags/')
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
env:
|
env:
|
||||||
RELEASE_TOKEN: ${{ secrets.RELEASE_TOKEN }}
|
RELEASE_TOKEN: ${{ secrets.RELEASE_TOKEN }}
|
||||||
GITEA_BASE_URL: ${{ vars.GITEA_BASE_URL }}
|
BASE_URL: ${{ vars.BASE_URL }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
@ -415,18 +413,18 @@ jobs:
|
|||||||
set -e
|
set -e
|
||||||
if [ -z "${RELEASE_TOKEN}" ]; then
|
if [ -z "${RELEASE_TOKEN}" ]; then
|
||||||
echo "RELEASE_TOKEN secret is missing" >&2; exit 1; fi
|
echo "RELEASE_TOKEN secret is missing" >&2; exit 1; fi
|
||||||
if [ -z "${GITEA_BASE_URL}" ]; then
|
if [ -z "${BASE_URL}" ]; then
|
||||||
GITEA_BASE_URL="https://git.4nkweb.com"; fi
|
BASE_URL="https://git.4nkweb.com"; fi
|
||||||
TAG="${GITHUB_REF##*/}"
|
TAG="${GITHUB_REF##*/}"
|
||||||
REPO="${GITHUB_REPOSITORY}"
|
REPO="${GITHUB_REPOSITORY}"
|
||||||
OWNER="${REPO%%/*}"
|
OWNER="${REPO%%/*}"
|
||||||
NAME="${REPO##*/}"
|
NAME="${REPO##*/}"
|
||||||
echo "Publishing release ${TAG} to ${GITEA_BASE_URL}/${OWNER}/${NAME}"
|
echo "Publishing release ${TAG} to ${BASE_URL}/${OWNER}/${NAME}"
|
||||||
curl -sSf -X POST \
|
curl -sSf -X POST \
|
||||||
-H "Authorization: token ${RELEASE_TOKEN}" \
|
-H "Authorization: token ${RELEASE_TOKEN}" \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-d "{\"tag_name\":\"${TAG}\",\"name\":\"${TAG}\",\"draft\":false,\"prerelease\":false}" \
|
-d "{\"tag_name\":\"${TAG}\",\"name\":\"${TAG}\",\"draft\":false,\"prerelease\":false}" \
|
||||||
"${GITEA_BASE_URL}/api/v1/repos/${OWNER}/${NAME}/releases" >/dev/null
|
"${BASE_URL}/api/v1/repos/${OWNER}/${NAME}/releases" >/dev/null
|
||||||
echo "Release created"
|
echo "Release created"
|
||||||
|
|
||||||
# Job de tests de performance
|
# Job de tests de performance
|
||||||
|
@ -5,13 +5,13 @@
|
|||||||
- [Introduction](#introduction)
|
- [Introduction](#introduction)
|
||||||
- [Principes communs](#principes-communs)
|
- [Principes communs](#principes-communs)
|
||||||
- [Agents fondamentaux](#agents-fondamentaux)
|
- [Agents fondamentaux](#agents-fondamentaux)
|
||||||
- [Agents spécialisés documentation](#agents-specialises-documentation)
|
- [Agents spécialisés documentation] (#agents-specialises-documentation)
|
||||||
- [Agents spécialisés tests](#agents-specialises-tests)
|
- [Agents spécialisés tests] (#agents-specialises-tests)
|
||||||
- [Agents techniques](#agents-techniques)
|
- [Agents techniques](#agents-techniques)
|
||||||
- [Agents frontend](#agents-frontend)
|
- [Agents frontend](#agents-frontend)
|
||||||
- [Agents open source et CI](#agents-open-source-et-ci)
|
- [Agents open source et CI](#agents-open-source-et-ci)
|
||||||
- [Agents de synchronisation et dérogations](#agents-de-synchronisation-et-derogations)
|
- [Agents de synchronisation et dérogations] (#agents-de-synchronisation-et-derogations)
|
||||||
- [Matrice de coordination](#matrice-de-coordination)
|
- [Matrice de coordination] (#matrice-de-coordination)
|
||||||
- [Conclusion](#conclusion)
|
- [Conclusion](#conclusion)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
@ -26,6 +26,13 @@ et ce projet adhère au [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
|
|||||||
- Déploiement: copie étendue (.cursor, AGENTS.md, LICENSE, CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md, TEMPLATE_VERSION, .markdownlint.json, .cursorignore, .gitignore, security/, scripts/)
|
- Déploiement: copie étendue (.cursor, AGENTS.md, LICENSE, CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md, TEMPLATE_VERSION, .markdownlint.json, .cursorignore, .gitignore, security/, scripts/)
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
## [2025.08.2] - 2025-08-27
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Renommage variable CI/Docs `GITEA_BASE_URL` → `BASE_URL`
|
||||||
|
- Exécution des agents simplifiée: `scripts/agents/run.sh` sans arguments par défaut
|
||||||
|
- CI mise à jour pour utiliser l’exécution sans paramètres
|
||||||
|
|
||||||
|
|
||||||
## [2025.08.1] - 2025-08-27
|
## [2025.08.1] - 2025-08-27
|
||||||
|
|
||||||
@ -40,7 +47,6 @@ et ce projet adhère au [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
|
|||||||
- Normalisation MD005/MD007/MD051 dans la documentation
|
- Normalisation MD005/MD007/MD051 dans la documentation
|
||||||
- Ancrages ASCII dans `AGENTS.md`, correction des titres emphase (MD036)
|
- Ancrages ASCII dans `AGENTS.md`, correction des titres emphase (MD036)
|
||||||
|
|
||||||
|
|
||||||
- Documentation projet réécrite à partir des modèles `docs/templates/**` (générique, non applicative)
|
- Documentation projet réécrite à partir des modèles `docs/templates/**` (générique, non applicative)
|
||||||
- `docs/INDEX.md` mis à jour (liens Déploiement et SSH)
|
- `docs/INDEX.md` mis à jour (liens Déploiement et SSH)
|
||||||
- Alignement documentaire sur 4NK_template (titres, liens Gitea, wording) dans docs/**
|
- Alignement documentaire sur 4NK_template (titres, liens Gitea, wording) dans docs/**
|
||||||
|
@ -4,16 +4,16 @@ Merci de votre intérêt pour contribuer au projet 4NK Node ! Ce guide vous aide
|
|||||||
|
|
||||||
## 📋 Table des Matières
|
## 📋 Table des Matières
|
||||||
|
|
||||||
- [🎯 Comment Contribuer](#comment-contribuer)
|
- [🎯 Comment Contribuer] (#comment-contribuer)
|
||||||
- [🚀 Premiers Pas](#premiers-pas)
|
- [🚀 Premiers Pas] (#premiers-pas)
|
||||||
- [🔧 Environnement de Développement](#environnement-de-developpement)
|
- [🔧 Environnement de Développement] (#environnement-de-developpement)
|
||||||
- [📝 Processus de Contribution](#processus-de-contribution)
|
- [📝 Processus de Contribution] (#processus-de-contribution)
|
||||||
- [🧪 Tests](#tests)
|
- [🧪 Tests] (#tests)
|
||||||
- [📚 Documentation](#documentation)
|
- [📚 Documentation] (#documentation)
|
||||||
- [🐛 Signaler un Bug](#signaler-un-bug)
|
- [🐛 Signaler un Bug] (#signaler-un-bug)
|
||||||
- [💡 Proposer une Fonctionnalité](#proposer-une-fonctionnalite)
|
- [💡 Proposer une Fonctionnalité] (#proposer-une-fonctionnalite)
|
||||||
- [🔍 Code Review](#code-review)
|
- [🔍 Code Review] (#code-review)
|
||||||
- [📦 Release](#release)
|
- [📦 Release] (#release)
|
||||||
|
|
||||||
## 🎯 Comment Contribuer
|
## 🎯 Comment Contribuer
|
||||||
|
|
||||||
|
25
SECURITY.md
25
SECURITY.md
@ -9,6 +9,7 @@ Nous prenons la sécurité très au sérieux. Si vous découvrez une vulnérabil
|
|||||||
**NE PAS** créer d'issue publique pour les vulnérabilités de sécurité.
|
**NE PAS** créer d'issue publique pour les vulnérabilités de sécurité.
|
||||||
|
|
||||||
#### À la place
|
#### À la place
|
||||||
|
|
||||||
1. Envoyez un email à [security@4nkweb.com](mailto:security@4nkweb.com)
|
1. Envoyez un email à [security@4nkweb.com](mailto:security@4nkweb.com)
|
||||||
2. Incluez "SECURITY VULNERABILITY" dans l'objet
|
2. Incluez "SECURITY VULNERABILITY" dans l'objet
|
||||||
3. Décrivez la vulnérabilité de manière détaillée
|
3. Décrivez la vulnérabilité de manière détaillée
|
||||||
@ -34,6 +35,7 @@ Nous prenons la sécurité très au sérieux. Si vous découvrez une vulnérabil
|
|||||||
### Pour les Contributeurs
|
### Pour les Contributeurs
|
||||||
|
|
||||||
#### Code
|
#### Code
|
||||||
|
|
||||||
- Validez toutes les entrées utilisateur
|
- Validez toutes les entrées utilisateur
|
||||||
- Utilisez des requêtes préparées pour les bases de données
|
- Utilisez des requêtes préparées pour les bases de données
|
||||||
- Évitez les injections de code
|
- Évitez les injections de code
|
||||||
@ -41,12 +43,14 @@ Nous prenons la sécurité très au sérieux. Si vous découvrez une vulnérabil
|
|||||||
- Utilisez HTTPS pour toutes les communications
|
- Utilisez HTTPS pour toutes les communications
|
||||||
|
|
||||||
#### Configuration
|
#### Configuration
|
||||||
|
|
||||||
- Ne committez jamais de secrets
|
- Ne committez jamais de secrets
|
||||||
- Utilisez des variables d'environnement pour les données sensibles
|
- Utilisez des variables d'environnement pour les données sensibles
|
||||||
- Vérifiez les permissions des fichiers
|
- Vérifiez les permissions des fichiers
|
||||||
- Maintenez les dépendances à jour
|
- Maintenez les dépendances à jour
|
||||||
|
|
||||||
#### Tests
|
#### Tests
|
||||||
|
|
||||||
- Incluez des tests de sécurité
|
- Incluez des tests de sécurité
|
||||||
- Testez les cas limites
|
- Testez les cas limites
|
||||||
- Validez les entrées malveillantes
|
- Validez les entrées malveillantes
|
||||||
@ -55,18 +59,21 @@ Nous prenons la sécurité très au sérieux. Si vous découvrez une vulnérabil
|
|||||||
### Pour les Utilisateurs
|
### Pour les Utilisateurs
|
||||||
|
|
||||||
#### Installation
|
#### Installation
|
||||||
|
|
||||||
- Utilisez des sources officielles
|
- Utilisez des sources officielles
|
||||||
- Vérifiez les checksums
|
- Vérifiez les checksums
|
||||||
- Maintenez le système à jour
|
- Maintenez le système à jour
|
||||||
- Utilisez un pare-feu
|
- Utilisez un pare-feu
|
||||||
|
|
||||||
#### Configuration
|
#### Configuration
|
||||||
|
|
||||||
- Changez les mots de passe par défaut
|
- Changez les mots de passe par défaut
|
||||||
- Utilisez des clés SSH fortes
|
- Utilisez des clés SSH fortes
|
||||||
- Limitez l'accès réseau
|
- Limitez l'accès réseau
|
||||||
- Surveillez les logs
|
- Surveillez les logs
|
||||||
|
|
||||||
#### Opération
|
#### Opération
|
||||||
|
|
||||||
- Surveillez les connexions
|
- Surveillez les connexions
|
||||||
- Sauvegardez régulièrement
|
- Sauvegardez régulièrement
|
||||||
- Testez les sauvegardes
|
- Testez les sauvegardes
|
||||||
@ -77,24 +84,28 @@ Nous prenons la sécurité très au sérieux. Si vous découvrez une vulnérabil
|
|||||||
### Composants Principaux
|
### Composants Principaux
|
||||||
|
|
||||||
#### Bitcoin Core
|
#### Bitcoin Core
|
||||||
|
|
||||||
- **RPC Interface** : Authentification requise
|
- **RPC Interface** : Authentification requise
|
||||||
- **ZMQ** : Communication locale uniquement
|
- **ZMQ** : Communication locale uniquement
|
||||||
- **P2P** : Validation des blocs
|
- **P2P** : Validation des blocs
|
||||||
- **Wallet** : Chiffrement des clés
|
- **Wallet** : Chiffrement des clés
|
||||||
|
|
||||||
#### Blindbit
|
#### Blindbit
|
||||||
|
|
||||||
- **API HTTP** : Validation des entrées
|
- **API HTTP** : Validation des entrées
|
||||||
- **Filtres** : Vérification des signatures
|
- **Filtres** : Vérification des signatures
|
||||||
- **Cache** : Protection contre les attaques DoS
|
- **Cache** : Protection contre les attaques DoS
|
||||||
- **Logs** : Pas d'informations sensibles
|
- **Logs** : Pas d'informations sensibles
|
||||||
|
|
||||||
#### SDK Relay
|
#### SDK Relay
|
||||||
|
|
||||||
- **WebSocket** : Validation des messages
|
- **WebSocket** : Validation des messages
|
||||||
- **Synchronisation** : Authentification des pairs
|
- **Synchronisation** : Authentification des pairs
|
||||||
- **Cache** : Protection contre les attaques
|
- **Cache** : Protection contre les attaques
|
||||||
- **Configuration** : Validation des paramètres
|
- **Configuration** : Validation des paramètres
|
||||||
|
|
||||||
#### Tor
|
#### Tor
|
||||||
|
|
||||||
- **Proxy** : Configuration sécurisée
|
- **Proxy** : Configuration sécurisée
|
||||||
- **Contrôle** : Accès restreint
|
- **Contrôle** : Accès restreint
|
||||||
- **Logs** : Anonymisation
|
- **Logs** : Anonymisation
|
||||||
@ -103,6 +114,7 @@ Nous prenons la sécurité très au sérieux. Si vous découvrez une vulnérabil
|
|||||||
### Tests de Sécurité
|
### Tests de Sécurité
|
||||||
|
|
||||||
#### Tests Automatisés
|
#### Tests Automatisés
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Tests de sécurité
|
# Tests de sécurité
|
||||||
./tests/run_security_tests.sh
|
./tests/run_security_tests.sh
|
||||||
@ -115,6 +127,7 @@ Nous prenons la sécurité très au sérieux. Si vous découvrez une vulnérabil
|
|||||||
```
|
```
|
||||||
|
|
||||||
#### Tests Manuels
|
#### Tests Manuels
|
||||||
|
|
||||||
- Tests de pénétration
|
- Tests de pénétration
|
||||||
- Audit de code
|
- Audit de code
|
||||||
- Tests de configuration
|
- Tests de configuration
|
||||||
@ -147,6 +160,7 @@ Nous prenons la sécurité très au sérieux. Si vous découvrez une vulnérabil
|
|||||||
## 📋 Checklist de Sécurité
|
## 📋 Checklist de Sécurité
|
||||||
|
|
||||||
### Avant le Déploiement
|
### Avant le Déploiement
|
||||||
|
|
||||||
- [ ] Audit de code de sécurité
|
- [ ] Audit de code de sécurité
|
||||||
- [ ] Tests de vulnérabilités
|
- [ ] Tests de vulnérabilités
|
||||||
- [ ] Vérification des dépendances
|
- [ ] Vérification des dépendances
|
||||||
@ -154,6 +168,7 @@ Nous prenons la sécurité très au sérieux. Si vous découvrez une vulnérabil
|
|||||||
- [ ] Tests de charge
|
- [ ] Tests de charge
|
||||||
|
|
||||||
### Pendant l'Opération
|
### Pendant l'Opération
|
||||||
|
|
||||||
- [ ] Monitoring de sécurité
|
- [ ] Monitoring de sécurité
|
||||||
- [ ] Surveillance des logs
|
- [ ] Surveillance des logs
|
||||||
- [ ] Mise à jour des composants
|
- [ ] Mise à jour des composants
|
||||||
@ -161,6 +176,7 @@ Nous prenons la sécurité très au sérieux. Si vous découvrez une vulnérabil
|
|||||||
- [ ] Tests de récupération
|
- [ ] Tests de récupération
|
||||||
|
|
||||||
### Après un Incident
|
### Après un Incident
|
||||||
|
|
||||||
- [ ] Analyse post-mortem
|
- [ ] Analyse post-mortem
|
||||||
- [ ] Mise à jour des procédures
|
- [ ] Mise à jour des procédures
|
||||||
- [ ] Formation de l'équipe
|
- [ ] Formation de l'équipe
|
||||||
@ -170,18 +186,21 @@ Nous prenons la sécurité très au sérieux. Si vous découvrez une vulnérabil
|
|||||||
## 🔧 Outils de Sécurité
|
## 🔧 Outils de Sécurité
|
||||||
|
|
||||||
### Monitoring
|
### Monitoring
|
||||||
|
|
||||||
- **Logs** : Centralisation et analyse
|
- **Logs** : Centralisation et analyse
|
||||||
- **Métriques** : Surveillance en temps réel
|
- **Métriques** : Surveillance en temps réel
|
||||||
- **Alertes** : Notification automatique
|
- **Alertes** : Notification automatique
|
||||||
- **Tableaux de bord** : Vue d'ensemble
|
- **Tableaux de bord** : Vue d'ensemble
|
||||||
|
|
||||||
### Tests
|
### Tests
|
||||||
|
|
||||||
- **SAST** : Analyse statique
|
- **SAST** : Analyse statique
|
||||||
- **DAST** : Tests dynamiques
|
- **DAST** : Tests dynamiques
|
||||||
- **IAST** : Tests interactifs
|
- **IAST** : Tests interactifs
|
||||||
- **Fuzzing** : Tests de robustesse
|
- **Fuzzing** : Tests de robustesse
|
||||||
|
|
||||||
### Protection
|
### Protection
|
||||||
|
|
||||||
- **WAF** : Pare-feu applicatif
|
- **WAF** : Pare-feu applicatif
|
||||||
- **IDS/IPS** : Détection d'intrusion
|
- **IDS/IPS** : Détection d'intrusion
|
||||||
- **Antivirus** : Protection des endpoints
|
- **Antivirus** : Protection des endpoints
|
||||||
@ -190,18 +209,21 @@ Nous prenons la sécurité très au sérieux. Si vous découvrez une vulnérabil
|
|||||||
## 📚 Ressources
|
## 📚 Ressources
|
||||||
|
|
||||||
### Documentation
|
### Documentation
|
||||||
|
|
||||||
- [Guide de Sécurité Bitcoin](https://bitcoin.org/en/security)
|
- [Guide de Sécurité Bitcoin](https://bitcoin.org/en/security)
|
||||||
- [OWASP Top 10](https://owasp.org/www-project-top-ten/)
|
- [OWASP Top 10](https://owasp.org/www-project-top-ten/)
|
||||||
- [CWE/SANS Top 25](https://cwe.mitre.org/top25/)
|
- [CWE/SANS Top 25](https://cwe.mitre.org/top25/)
|
||||||
- [NIST Cybersecurity Framework](https://www.nist.gov/cyberframework)
|
- [NIST Cybersecurity Framework](https://www.nist.gov/cyberframework)
|
||||||
|
|
||||||
### Outils
|
### Outils
|
||||||
|
|
||||||
- [Bandit](https://bandit.readthedocs.io/) - Analyse Python
|
- [Bandit](https://bandit.readthedocs.io/) - Analyse Python
|
||||||
- [Clang Static Analyzer](https://clang-analyzer.llvm.org/) - Analyse C/C++
|
- [Clang Static Analyzer](https://clang-analyzer.llvm.org/) - Analyse C/C++
|
||||||
- [SonarQube](https://www.sonarqube.org/) - Qualité du code
|
- [SonarQube](https://www.sonarqube.org/) - Qualité du code
|
||||||
- [OpenVAS](https://www.openvas.org/) - Scan de vulnérabilités
|
- [OpenVAS](https://www.openvas.org/) - Scan de vulnérabilités
|
||||||
|
|
||||||
### Formation
|
### Formation
|
||||||
|
|
||||||
- Cours de sécurité applicative
|
- Cours de sécurité applicative
|
||||||
- Formation aux tests de pénétration
|
- Formation aux tests de pénétration
|
||||||
- Certification en cybersécurité
|
- Certification en cybersécurité
|
||||||
@ -210,18 +232,21 @@ Nous prenons la sécurité très au sérieux. Si vous découvrez une vulnérabil
|
|||||||
## 🤝 Collaboration
|
## 🤝 Collaboration
|
||||||
|
|
||||||
### Bug Bounty
|
### Bug Bounty
|
||||||
|
|
||||||
- Programme de récompenses pour les vulnérabilités
|
- Programme de récompenses pour les vulnérabilités
|
||||||
- Critères d'éligibilité
|
- Critères d'éligibilité
|
||||||
- Montants des récompenses
|
- Montants des récompenses
|
||||||
- Processus de validation
|
- Processus de validation
|
||||||
|
|
||||||
### Responsible Disclosure
|
### Responsible Disclosure
|
||||||
|
|
||||||
- Timeline de divulgation
|
- Timeline de divulgation
|
||||||
- Coordination avec les chercheurs
|
- Coordination avec les chercheurs
|
||||||
- Communication publique
|
- Communication publique
|
||||||
- Remerciements
|
- Remerciements
|
||||||
|
|
||||||
### Communauté
|
### Communauté
|
||||||
|
|
||||||
- Groupe de sécurité
|
- Groupe de sécurité
|
||||||
- Discussions techniques
|
- Discussions techniques
|
||||||
- Partage d'informations
|
- Partage d'informations
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
v2025.08.1
|
v2025.08.2
|
||||||
|
|
||||||
|
@ -16,10 +16,12 @@ Ce guide décrit comment utiliser et intégrer les agents de conformité (qualit
|
|||||||
## 3. Commandes
|
## 3. Commandes
|
||||||
|
|
||||||
- Bash (recommandé):
|
- Bash (recommandé):
|
||||||
- `scripts/agents/run.sh [target_dir] [output_dir] [agent]`
|
- `scripts/agents/run.sh`
|
||||||
- Par défaut: `target_dir=.` `output_dir=tests/reports/agents` `agent=all`
|
- Options (facultatives): `scripts/agents/run.sh [target_dir] [output_dir] [agent]`
|
||||||
|
- Par défaut: `target_dir=.` `output_dir=tests/reports/agents` `agent=all`
|
||||||
- PowerShell (fallback Windows):
|
- PowerShell (fallback Windows):
|
||||||
- `scripts/agents/run.ps1 -TargetDir . -OutputDir tests/reports/agents -Agent <nom>`
|
- `scripts/agents/run.ps1`
|
||||||
|
- Options (facultatives): `-TargetDir . -OutputDir tests/reports/agents -Agent <nom>`
|
||||||
|
|
||||||
## 4. Agents disponibles
|
## 4. Agents disponibles
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
- Secrets CI uniquement (pas de secrets en clair)
|
- Secrets CI uniquement (pas de secrets en clair)
|
||||||
- Variables agents : OPENAI_API_KEY, OPENAI_MODEL, OPENAI_API_BASE, OPENAI_TEMPERATURE
|
- Variables agents : OPENAI_API_KEY, OPENAI_MODEL, OPENAI_API_BASE, OPENAI_TEMPERATURE
|
||||||
- Secret release: RELEASE_TOKEN (publication des releases via l’API Gitea)
|
- Secret release: RELEASE_TOKEN (publication des releases via l’API Gitea)
|
||||||
- Variable optionnelle: GITEA_BASE_URL (ex: `https://git.4nkweb.com`)
|
- Variable optionnelle: BASE_URL (ex: `https://git.4nkweb.com`)
|
||||||
|
|
||||||
## Conventions
|
## Conventions
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
- Script d’installation: `scripts/deploy/setup.sh`
|
- Script d’installation: `scripts/deploy/setup.sh`
|
||||||
- Crée `~/.4nk_template/` (chmod 700) et `~/.4nk_template/.env` (chmod 600)
|
- Crée `~/.4nk_template/` (chmod 700) et `~/.4nk_template/.env` (chmod 600)
|
||||||
- Copie depuis `scripts/env/.env.template` si présent, sinon génère un modèle
|
- Copie depuis `scripts/env/.env.template` si présent, sinon génère un modèle
|
||||||
- À compléter: `OPENAI_API_KEY`, `OPENAI_MODEL`, `RELEASE_TOKEN`, `GITEA_BASE_URL` (si custom)
|
- À compléter: `OPENAI_API_KEY`, `OPENAI_MODEL`, `RELEASE_TOKEN`, `BASE_URL` (si custom)
|
||||||
- Applique la structure 4NK_template au projet cible (sans écraser par défaut):
|
- Applique la structure 4NK_template au projet cible (sans écraser par défaut):
|
||||||
- `.gitea/**`, `.cursor/**`, `.cursorignore`, `.gitignore`, `.markdownlint.json`
|
- `.gitea/**`, `.cursor/**`, `.cursorignore`, `.gitignore`, `.markdownlint.json`
|
||||||
- `AGENTS.md`, `LICENSE`, `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`, `SECURITY.md`, `TEMPLATE_VERSION`
|
- `AGENTS.md`, `LICENSE`, `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`, `SECURITY.md`, `TEMPLATE_VERSION`
|
||||||
|
@ -1,29 +1,35 @@
|
|||||||
# Configuration Gitea — 4NK_template (projet)
|
# Configuration Gitea — 4NK_template (projet)
|
||||||
|
|
||||||
## 1. Repository
|
## 1. Repository
|
||||||
|
|
||||||
- Activer les Actions (workflows `.gitea/workflows/*.yml`)
|
- Activer les Actions (workflows `.gitea/workflows/*.yml`)
|
||||||
- Vérifier les templates d’issues/PR
|
- Vérifier les templates d’issues/PR
|
||||||
|
|
||||||
## 2. Protections de branches
|
## 2. Protections de branches
|
||||||
|
|
||||||
- Reviews requises avant merge
|
- Reviews requises avant merge
|
||||||
- Status checks requis (CI verte)
|
- Status checks requis (CI verte)
|
||||||
- Mise à jour obligatoire de la branche avant merge
|
- Mise à jour obligatoire de la branche avant merge
|
||||||
|
|
||||||
## 3. Secrets et variables
|
## 3. Secrets et variables
|
||||||
|
|
||||||
- Secrets: `OPENAI_API_KEY` (optionnel), `RELEASE_TOKEN` (obligatoire pour publier les releases via API Gitea)
|
- Secrets: `OPENAI_API_KEY` (optionnel), `RELEASE_TOKEN` (obligatoire pour publier les releases via API Gitea)
|
||||||
- Variables: paramètres de CI non sensibles, ex: `OPENAI_MODEL`, `OPENAI_API_BASE`, `OPENAI_TEMPERATURE`, `GITEA_BASE_URL`
|
- Variables: paramètres de CI non sensibles, ex: `OPENAI_MODEL`, `OPENAI_API_BASE`, `OPENAI_TEMPERATURE`, `BASE_URL`
|
||||||
|
|
||||||
### Ajouter `RELEASE_TOKEN`
|
### Ajouter `RELEASE_TOKEN`
|
||||||
|
|
||||||
- Aller dans Repository Settings → Secrets → New Repository Secret
|
- Aller dans Repository Settings → Secrets → New Repository Secret
|
||||||
- Nom: `RELEASE_TOKEN` ; Valeur: un token personnel avec portée API sur le dépôt
|
- Nom: `RELEASE_TOKEN` ; Valeur: un token personnel avec portée API sur le dépôt
|
||||||
- Le job `release-create` utilisera ce secret lors d’un push de tag `v*`
|
- Le job `release-create` utilisera ce secret lors d’un push de tag `v*`
|
||||||
|
|
||||||
## 4. Workflows requis
|
## 4. Workflows requis
|
||||||
|
|
||||||
- `code-quality`, `unit-tests`, `documentation-tests`, `security-audit`
|
- `code-quality`, `unit-tests`, `documentation-tests`, `security-audit`
|
||||||
- `deployment-checks`, `bash-required`, `markdownlint`, `release-guard`, `release-create`
|
- `deployment-checks`, `bash-required`, `markdownlint`, `release-guard`, `release-create`
|
||||||
- (Optionnels) `agents-smoke`, `openia-agents`
|
- (Optionnels) `agents-smoke`, `openia-agents`
|
||||||
|
|
||||||
## 5. Processus PR
|
## 5. Processus PR
|
||||||
|
|
||||||
- Branche dédiée, PR petite et ciblée
|
- Branche dédiée, PR petite et ciblée
|
||||||
- CI verte, review approuvée
|
- CI verte, review approuvée
|
||||||
- Doc et changelog à jour
|
- Doc et changelog à jour
|
||||||
|
@ -1,15 +1,18 @@
|
|||||||
# Guide open source — 4NK_template (projet)
|
# Guide open source — 4NK_template (projet)
|
||||||
|
|
||||||
## Pré-requis
|
## Pré-requis
|
||||||
|
|
||||||
- LICENSE, CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md
|
- LICENSE, CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md
|
||||||
|
|
||||||
## CI
|
## CI
|
||||||
|
|
||||||
- tests, lint, security-audit, release-guard, bash-required
|
- tests, lint, security-audit, release-guard, bash-required
|
||||||
|
|
||||||
## Publication
|
## Publication
|
||||||
|
|
||||||
- Alignement version/changelog/tag, notes de release
|
- Alignement version/changelog/tag, notes de release
|
||||||
|
|
||||||
## Communauté
|
## Communauté
|
||||||
|
|
||||||
- Templates issues/PR, labels, milestones
|
- Templates issues/PR, labels, milestones
|
||||||
- Divulgation responsable des vulnérabilités
|
- Divulgation responsable des vulnérabilités
|
||||||
|
|
||||||
|
@ -6,4 +6,3 @@
|
|||||||
- Tests verts (catégories pertinentes) et rapports conservés
|
- Tests verts (catégories pertinentes) et rapports conservés
|
||||||
- Documentation à jour (INDEX, guides impactés)
|
- Documentation à jour (INDEX, guides impactés)
|
||||||
- Sécurité de base: secrets, permissions, audit CI
|
- Sécurité de base: secrets, permissions, audit CI
|
||||||
|
|
||||||
|
@ -1,20 +1,23 @@
|
|||||||
# Plan de release — 4NK_template (projet)
|
# Plan de release — 4NK_template (projet)
|
||||||
|
|
||||||
## Objectifs
|
## Objectifs
|
||||||
|
|
||||||
- Version documentée, testée, sécurisée
|
- Version documentée, testée, sécurisée
|
||||||
- Processus reproductible et traçable
|
- Processus reproductible et traçable
|
||||||
|
|
||||||
## Préparation
|
## Préparation
|
||||||
|
|
||||||
- CI verte: lint/tests/doc/security‑audit/release‑guard
|
- CI verte: lint/tests/doc/security‑audit/release‑guard
|
||||||
- Docs à jour (INDEX, guides impactés)
|
- Docs à jour (INDEX, guides impactés)
|
||||||
- Version/Changelog/Tag alignés
|
- Version/Changelog/Tag alignés
|
||||||
|
|
||||||
## Lancement
|
## Lancement
|
||||||
|
|
||||||
- Tagging: `vX.Y.Z` ou `vX.Y.Z-wip.N`
|
- Tagging: `vX.Y.Z` ou `vX.Y.Z-wip.N`
|
||||||
- Notes de release (résumé, changements majeurs, impacts)
|
- Notes de release (résumé, changements majeurs, impacts)
|
||||||
|
|
||||||
## Post‑lancement
|
## Post‑lancement
|
||||||
|
|
||||||
- Suivi issues/retours
|
- Suivi issues/retours
|
||||||
- Corrections critiques
|
- Corrections critiques
|
||||||
- Mise à jour de la roadmap
|
- Mise à jour de la roadmap
|
||||||
|
|
||||||
|
@ -1,22 +1,25 @@
|
|||||||
# Roadmap — 4NK_template (projet)
|
# Roadmap — 4NK_template (projet)
|
||||||
|
|
||||||
## Vision
|
## Vision
|
||||||
|
|
||||||
Maintenir un template robuste (docs, CI, sécurité) pour accélérer les projets.
|
Maintenir un template robuste (docs, CI, sécurité) pour accélérer les projets.
|
||||||
|
|
||||||
## Objectifs (12 mois)
|
## Objectifs (12 mois)
|
||||||
|
|
||||||
- Qualité: standards renforcés, automatisations CI supplémentaires
|
- Qualité: standards renforcés, automatisations CI supplémentaires
|
||||||
- Documentation: squelettes enrichis, index cohérents
|
- Documentation: squelettes enrichis, index cohérents
|
||||||
- Sécurité: contrôles CI étendus, guides pratiques
|
- Sécurité: contrôles CI étendus, guides pratiques
|
||||||
- Outillage: agents élargis, rapports synthétiques
|
- Outillage: agents élargis, rapports synthétiques
|
||||||
|
|
||||||
## Jalons
|
## Jalons
|
||||||
|
|
||||||
- T1: Mise à jour squelettes docs et agents
|
- T1: Mise à jour squelettes docs et agents
|
||||||
- T2: Extensions CI (lint multi‑langages, déploiement dry‑run)
|
- T2: Extensions CI (lint multi‑langages, déploiement dry‑run)
|
||||||
- T3: Guides open source/qualité consolidés
|
- T3: Guides open source/qualité consolidés
|
||||||
- T4: Synchronisation de template outillée
|
- T4: Synchronisation de template outillée
|
||||||
|
|
||||||
## Mesure du progrès
|
## Mesure du progrès
|
||||||
|
|
||||||
- CI verte en continu
|
- CI verte en continu
|
||||||
- Adoption des squelettes par projets
|
- Adoption des squelettes par projets
|
||||||
- Diminution des écarts de conformité
|
- Diminution des écarts de conformité
|
||||||
|
|
||||||
|
@ -1,24 +1,28 @@
|
|||||||
# Audit de sécurité — 4NK_template (projet)
|
# Audit de sécurité — 4NK_template (projet)
|
||||||
|
|
||||||
## Menaces
|
## Menaces
|
||||||
|
|
||||||
- Secrets, permissions, endpoints sensibles, dépendances, supply chain
|
- Secrets, permissions, endpoints sensibles, dépendances, supply chain
|
||||||
|
|
||||||
## Contrôles
|
## Contrôles
|
||||||
|
|
||||||
- Scan secrets/permissions
|
- Scan secrets/permissions
|
||||||
- Audit dépendances (outil selon la pile des projets)
|
- Audit dépendances (outil selon la pile des projets)
|
||||||
- Vérifs de configuration (auth/TLS/CORS/rate‑limit)
|
- Vérifs de configuration (auth/TLS/CORS/rate‑limit)
|
||||||
- Journalisation sécurité, traçabilité
|
- Journalisation sécurité, traçabilité
|
||||||
|
|
||||||
## CI
|
## CI
|
||||||
|
|
||||||
- Job `security-audit` échoue si alerte critique
|
- Job `security-audit` échoue si alerte critique
|
||||||
- Rapports archivés en artefacts
|
- Rapports archivés en artefacts
|
||||||
|
|
||||||
## Politique des secrets
|
## Politique des secrets
|
||||||
|
|
||||||
- Exclusivement secrets CI/variables d’environnement
|
- Exclusivement secrets CI/variables d’environnement
|
||||||
- Rotation régulière, révocation sur incident
|
- Rotation régulière, révocation sur incident
|
||||||
- Aucun secret en clair dans le dépôt
|
- Aucun secret en clair dans le dépôt
|
||||||
|
|
||||||
## Remédiation
|
## Remédiation
|
||||||
|
|
||||||
- Prioriser, corriger, documenter dans `CHANGELOG.md`
|
- Prioriser, corriger, documenter dans `CHANGELOG.md`
|
||||||
- Ajouter des tests de non‑régression sécurité si pertinent
|
- Ajouter des tests de non‑régression sécurité si pertinent
|
||||||
|
|
||||||
|
@ -3,54 +3,63 @@
|
|||||||
Ce document explique comment utiliser le template pour initier, documenter, contrôler et publier des projets dérivés, en respectant les standards qualité, sécurité et open source.
|
Ce document explique comment utiliser le template pour initier, documenter, contrôler et publier des projets dérivés, en respectant les standards qualité, sécurité et open source.
|
||||||
|
|
||||||
## 1. Pré‑requis
|
## 1. Pré‑requis
|
||||||
|
|
||||||
- Git opérationnel et accès à votre forge (Gitea recommandé)
|
- Git opérationnel et accès à votre forge (Gitea recommandé)
|
||||||
- CI activée sur le repository
|
- CI activée sur le repository
|
||||||
- bash disponible pour les agents (recommandé). À défaut, fallback PowerShell local
|
- bash disponible pour les agents (recommandé). À défaut, fallback PowerShell local
|
||||||
|
|
||||||
## 2. Démarrer un projet dérivé
|
## 2. Démarrer un projet dérivé
|
||||||
|
|
||||||
1) Créer un repository à partir de 4NK_template
|
1) Créer un repository à partir de 4NK_template
|
||||||
2) Copier/adapter la documentation depuis `docs/templates/**` vers votre `docs/**`
|
2) Copier/adapter la documentation depuis `docs/templates/**` vers votre `docs/**`
|
||||||
3) Tenir `docs/INDEX.md` et `CHANGELOG.md` à jour
|
3) Tenir `docs/INDEX.md` et `CHANGELOG.md` à jour
|
||||||
4) Activer les workflows CI et vérifier `release-guard`/`security-audit`
|
4) Activer les workflows CI et vérifier `release-guard`/`security-audit`
|
||||||
|
|
||||||
## 3. Documentation
|
## 3. Documentation
|
||||||
|
|
||||||
- Utiliser les squelettes de `docs/templates/**` comme base
|
- Utiliser les squelettes de `docs/templates/**` comme base
|
||||||
- Documenter uniquement votre domaine applicatif (le template reste générique)
|
- Documenter uniquement votre domaine applicatif (le template reste générique)
|
||||||
- À chaque changement de code/dépendance/CI, synchroniser la doc correspondante
|
- À chaque changement de code/dépendance/CI, synchroniser la doc correspondante
|
||||||
|
|
||||||
## 4. Agents (contrôles)
|
## 4. Agents (contrôles)
|
||||||
|
|
||||||
- Recommandé (bash): `scripts/agents/run.sh [target_dir] [output_dir] [agent]`
|
- Recommandé (bash): `scripts/agents/run.sh [target_dir] [output_dir] [agent]`
|
||||||
- Windows fallback: `scripts/agents/run.ps1 -TargetDir . -OutputDir tests/reports/agents -Agent <nom>`
|
- Windows fallback: `scripts/agents/run.ps1 -TargetDir . -OutputDir tests/reports/agents -Agent <nom>`
|
||||||
- Rapports: `tests/reports/agents/*.md`
|
- Rapports: `tests/reports/agents/*.md`
|
||||||
- Agents utiles en premier passage: `documentation`, `quality-technique`, `open-source`, `securite`, `deploiement`
|
- Agents utiles en premier passage: `documentation`, `quality-technique`, `open-source`, `securite`, `deploiement`
|
||||||
|
|
||||||
## 5. Qualité et CI
|
## 5. Qualité et CI
|
||||||
|
|
||||||
- Jobs attendus: qualité, tests (catégories pertinentes), documentation, security‑audit, bash‑required, release‑guard
|
- Jobs attendus: qualité, tests (catégories pertinentes), documentation, security‑audit, bash‑required, release‑guard
|
||||||
- `bash-required` garantit la présence de bash et du runner des agents
|
- `bash-required` garantit la présence de bash et du runner des agents
|
||||||
- `release-guard` bloque les publications si tests/doc/build/sécurité/version/changelog/tag ne sont pas cohérents
|
- `release-guard` bloque les publications si tests/doc/build/sécurité/version/changelog/tag ne sont pas cohérents
|
||||||
|
|
||||||
## 6. Sécurité
|
## 6. Sécurité
|
||||||
|
|
||||||
- Secrets uniquement via la CI (variables d’environnement), jamais en clair dans le dépôt
|
- Secrets uniquement via la CI (variables d’environnement), jamais en clair dans le dépôt
|
||||||
- Audit sécurité automatisé (job `security-audit`) et remédiations tracées dans `CHANGELOG.md`
|
- Audit sécurité automatisé (job `security-audit`) et remédiations tracées dans `CHANGELOG.md`
|
||||||
|
|
||||||
## 7. Workflow quotidien
|
## 7. Workflow quotidien
|
||||||
|
|
||||||
- Éditer: code et documentation (toujours en parallèle)
|
- Éditer: code et documentation (toujours en parallèle)
|
||||||
- Exécuter: tests locaux, agents (diagnostics)
|
- Exécuter: tests locaux, agents (diagnostics)
|
||||||
- Vérifier: sorties CI, rapports `tests/reports/`
|
- Vérifier: sorties CI, rapports `tests/reports/`
|
||||||
- Commiter: messages clairs, PR petites et ciblées
|
- Commiter: messages clairs, PR petites et ciblées
|
||||||
|
|
||||||
## 8. Publication
|
## 8. Publication
|
||||||
|
|
||||||
- Choisir `latest` (tag `vX.Y.Z`) ou `wip` (ex: `vX.Y.Z-wip.N`)
|
- Choisir `latest` (tag `vX.Y.Z`) ou `wip` (ex: `vX.Y.Z-wip.N`)
|
||||||
- Aligner: fichier de version, `CHANGELOG.md`, tag git
|
- Aligner: fichier de version, `CHANGELOG.md`, tag git
|
||||||
- Déployer si pipeline défini; sinon documenter la procédure
|
- Déployer si pipeline défini; sinon documenter la procédure
|
||||||
|
|
||||||
## 9. Dépannage
|
## 9. Dépannage
|
||||||
|
|
||||||
- Agents fallback PowerShell si bash indisponible localement
|
- Agents fallback PowerShell si bash indisponible localement
|
||||||
- Consulter `tests/reports/agents/*.md` pour les écarts à corriger
|
- Consulter `tests/reports/agents/*.md` pour les écarts à corriger
|
||||||
- Vérifier les logs de la CI et le job `release-guard`
|
- Vérifier les logs de la CI et le job `release-guard`
|
||||||
|
|
||||||
## 10. Bonnes pratiques
|
## 10. Bonnes pratiques
|
||||||
|
|
||||||
- Pas d’exemples applicatifs dans le template
|
- Pas d’exemples applicatifs dans le template
|
||||||
- Toujours mettre à jour la documentation et le changelog
|
- Toujours mettre à jour la documentation et le changelog
|
||||||
- Réduire la dérive: synchroniser régulièrement vos projets avec les squelettes et standards
|
- Réduire la dérive: synchroniser régulièrement vos projets avec les squelettes et standards
|
||||||
|
|
||||||
|
5
docs/templates/README.md
vendored
5
docs/templates/README.md
vendored
@ -1,14 +1,17 @@
|
|||||||
# README — Template de projet
|
# README — Template de projet
|
||||||
|
|
||||||
## Présentation
|
## Présentation
|
||||||
|
|
||||||
Décrivez brièvement l’objectif du projet, son périmètre et ses utilisateurs cibles.
|
Décrivez brièvement l’objectif du projet, son périmètre et ses utilisateurs cibles.
|
||||||
|
|
||||||
## Démarrage rapide
|
## Démarrage rapide
|
||||||
|
|
||||||
- Prérequis (langages/outils)
|
- Prérequis (langages/outils)
|
||||||
- Étapes d’installation
|
- Étapes d’installation
|
||||||
- Commandes de démarrage
|
- Commandes de démarrage
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
- Index: `docs/INDEX.md`
|
- Index: `docs/INDEX.md`
|
||||||
- Architecture: `docs/ARCHITECTURE.md`
|
- Architecture: `docs/ARCHITECTURE.md`
|
||||||
- Configuration: `docs/CONFIGURATION.md`
|
- Configuration: `docs/CONFIGURATION.md`
|
||||||
@ -17,8 +20,10 @@ Décrivez brièvement l’objectif du projet, son périmètre et ses utilisateur
|
|||||||
- Déploiement: `docs/DEPLOYMENT.md`
|
- Déploiement: `docs/DEPLOYMENT.md`
|
||||||
|
|
||||||
## Contribution
|
## Contribution
|
||||||
|
|
||||||
- GUIDE: `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`
|
- GUIDE: `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`
|
||||||
- Processus de PR et revues
|
- Processus de PR et revues
|
||||||
|
|
||||||
## Licence
|
## Licence
|
||||||
|
|
||||||
- Indiquez la licence choisie (MIT/Apache-2.0/GPL)
|
- Indiquez la licence choisie (MIT/Apache-2.0/GPL)
|
||||||
|
@ -67,7 +67,7 @@ OPENAI_API_BASE=https://api.openai.com/v1
|
|||||||
OPENAI_TEMPERATURE=0.2
|
OPENAI_TEMPERATURE=0.2
|
||||||
|
|
||||||
# Gitea (release via API)
|
# Gitea (release via API)
|
||||||
GITEA_BASE_URL=https://git.4nkweb.com
|
BASE_URL=https://git.4nkweb.com
|
||||||
RELEASE_TOKEN=
|
RELEASE_TOKEN=
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
Ce répertoire décrit la stratégie et l’organisation des tests exigées par le template 4NK.
|
Ce répertoire décrit la stratégie et l’organisation des tests exigées par le template 4NK.
|
||||||
|
|
||||||
## Pyramide de tests
|
## Pyramide de tests
|
||||||
|
|
||||||
- Unit: validation des unités logicielles
|
- Unit: validation des unités logicielles
|
||||||
- Integration: interactions multi-composants
|
- Integration: interactions multi-composants
|
||||||
- Connectivity: réseau et endpoints
|
- Connectivity: réseau et endpoints
|
||||||
@ -10,16 +11,20 @@ Ce répertoire décrit la stratégie et l’organisation des tests exigées par
|
|||||||
- Performance: charge et temps de réponse
|
- Performance: charge et temps de réponse
|
||||||
|
|
||||||
## Exécution
|
## Exécution
|
||||||
|
|
||||||
- Local: exécuter les suites pertinentes et déposer les résultats dans `tests/reports`
|
- Local: exécuter les suites pertinentes et déposer les résultats dans `tests/reports`
|
||||||
- CI: orchestrée par `.gitea/workflows/ci.yml`
|
- CI: orchestrée par `.gitea/workflows/ci.yml`
|
||||||
|
|
||||||
## Journaux et rapports
|
## Journaux et rapports
|
||||||
|
|
||||||
- `tests/logs`: journaux d’exécution
|
- `tests/logs`: journaux d’exécution
|
||||||
- `tests/reports`: rapports synthétiques
|
- `tests/reports`: rapports synthétiques
|
||||||
|
|
||||||
## Nettoyage
|
## Nettoyage
|
||||||
|
|
||||||
Utiliser `tests/cleanup.sh` après exécution.
|
Utiliser `tests/cleanup.sh` après exécution.
|
||||||
|
|
||||||
## Critères d’acceptation
|
## Critères d’acceptation
|
||||||
|
|
||||||
- Zéro échec avant commit
|
- Zéro échec avant commit
|
||||||
- Documentation associée à jour dans `docs/TESTING.md`
|
- Documentation associée à jour dans `docs/TESTING.md`
|
||||||
|
Loading…
x
Reference in New Issue
Block a user