merge: chore/docs-agents-ci-2025-08-27 → main (v2025.08.2)

This commit is contained in:
Nicolas Cantu 2025-08-28 00:11:30 +02:00
commit e1b89fa6ed
19 changed files with 106 additions and 38 deletions

View File

@ -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

View File

@ -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)
--- ---

View File

@ -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 lexé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/**

View File

@ -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

View File

@ -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

View File

@ -1,2 +1,2 @@
v2025.08.1 v2025.08.2

View File

@ -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

View File

@ -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 lAPI Gitea) - Secret release: RELEASE_TOKEN (publication des releases via lAPI Gitea)
- Variable optionnelle: GITEA_BASE_URL (ex: `https://git.4nkweb.com`) - Variable optionnelle: BASE_URL (ex: `https://git.4nkweb.com`)
## Conventions ## Conventions

View File

@ -20,7 +20,7 @@
- Script dinstallation: `scripts/deploy/setup.sh` - Script dinstallation: `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`

View File

@ -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 dissues/PR - Vérifier les templates dissues/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 dun push de tag `v*` - Le job `release-create` utilisera ce secret lors dun 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

View File

@ -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

View File

@ -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

View File

@ -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/securityaudit/releaseguard - CI verte: lint/tests/doc/securityaudit/releaseguard
- 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)
## Postlancement ## Postlancement
- Suivi issues/retours - Suivi issues/retours
- Corrections critiques - Corrections critiques
- Mise à jour de la roadmap - Mise à jour de la roadmap

View File

@ -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 multilangages, déploiement dryrun) - T2: Extensions CI (lint multilangages, déploiement dryrun)
- 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é

View File

@ -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/ratelimit) - Vérifs de configuration (auth/TLS/CORS/ratelimit)
- 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 denvironnement - Exclusivement secrets CI/variables denvironnement
- 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 nonrégression sécurité si pertinent - Ajouter des tests de nonrégression sécurité si pertinent

View File

@ -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, securityaudit, bashrequired, releaseguard - Jobs attendus: qualité, tests (catégories pertinentes), documentation, securityaudit, bashrequired, releaseguard
- `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 denvironnement), jamais en clair dans le dépôt - Secrets uniquement via la CI (variables denvironnement), 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 dexemples applicatifs dans le template - Pas dexemples 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

View File

@ -1,14 +1,17 @@
# README — Template de projet # README — Template de projet
## Présentation ## Présentation
Décrivez brièvement lobjectif du projet, son périmètre et ses utilisateurs cibles. Décrivez brièvement lobjectif 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 dinstallation - Étapes dinstallation
- 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 lobjectif 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)

View File

@ -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

View File

@ -3,6 +3,7 @@
Ce répertoire décrit la stratégie et lorganisation des tests exigées par le template 4NK. Ce répertoire décrit la stratégie et lorganisation 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 lorganisation 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 dexécution - `tests/logs`: journaux dexé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 dacceptation ## Critères dacceptation
- 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`