DevOps Expert Skill
Quick Start
# 1. Navigation rapide vers un agent
devops/agents/cicd/github-actions # Configurer GitHub Actions
devops/agents/containers/docker # Dockerfile et optimisation
devops/agents/kubernetes/deployments # Manifestes K8s
devops/agents/infrastructure/terraform # Infrastructure as Code
devops/agents/monitoring/prometheus # Métriques et alertes
# 2. Exécuter les tests de validation
cd .web-agency/skills/devops && npm test
# 3. Questions fréquentes
"Configurer une pipeline CI/CD ?" → cicd/github-actions
"Optimiser mon Dockerfile ?" → containers/docker
"Déployer sur Kubernetes ?" → kubernetes/deployments
"Créer mon infra avec Terraform ?" → infrastructure/terraform
"Configurer Prometheus/Grafana ?" → monitoring/prometheus
Position dans l'Architecture
Ce skill est au NIVEAU 3 : IMPLÉMENTATION. Il implémente les décisions de direction-technique et les process de web-dev-process.
┌─────────────────────────────────────────────────────────────────────┐
│ NIVEAU 1 : STRATÉGIE (direction-technique/infrastructure) │
│ → POURQUOI : Quelle stratégie CI/CD ? Quel cloud provider ? │
├─────────────────────────────────────────────────────────────────────┤
│ NIVEAU 2 : OPÉRATIONS │
│ ┌────────────────────────────┐ ┌────────────────────────────┐ │
│ │ web-dev-process │ │ lead-dev │ │
│ │ setup/ + deployment/ │ │ delivery/ │ │
│ │ QUOI : Process CI/CD │ │ QUI : Coordination │ │
│ └────────────────────────────┘ └────────────────────────────┘ │
├─────────────────────────────────────────────────────────────────────┤
│ NIVEAU 3 : IMPLÉMENTATION │
│ ┌────────────────────────────────────────────────────────────┐ │
│ │ devops ← CE SKILL │ │
│ │ COMMENT : Pipelines, containers, K8s, IaC, monitoring │ │
│ └────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
Philosophie
Automatiser, fiabiliser, observer.
Le DevOps est le pont entre développement et opérations. Il :
- ✅ Automatise les pipelines de build, test, deploy
- ✅ Conteneurise les applications
- ✅ Orchestre les déploiements (Kubernetes)
- ✅ Provisionne l'infrastructure (IaC)
- ✅ Observe et alerte (monitoring)
Il ne fait PAS :
- ❌ Les décisions stratégiques d'infrastructure →
direction-technique
- ❌ La définition des process CI/CD →
web-dev-process
- ❌ La coordination des releases →
lead-dev
- ❌ L'implémentation applicative →
backend-developer, frontend-developer
Domaines et Agents (30 agents)
1. cicd/ - Pipelines CI/CD (6 agents)
Automatisation des builds, tests et déploiements.
| Agent |
Responsabilité |
Technologies |
orchestrator |
Coordination CI/CD |
- |
github-actions |
Pipelines GitHub |
GitHub Actions, workflows |
gitlab-ci |
Pipelines GitLab |
GitLab CI, .gitlab-ci.yml |
pipelines |
Patterns de pipelines |
Stages, jobs, cache |
quality-gates |
Validation qualité |
SonarQube, coverage |
artifacts |
Gestion des artefacts |
npm, Docker, releases |
2. containers/ - Conteneurisation (5 agents)
Docker et gestion des images.
| Agent |
Responsabilité |
Technologies |
orchestrator |
Coordination containers |
- |
docker |
Dockerfile et build |
Multi-stage, optimisation |
docker-compose |
Orchestration locale |
docker-compose.yml |
registries |
Registres d'images |
Docker Hub, ECR, GCR |
security |
Sécurité des images |
Trivy, Snyk, best practices |
3. kubernetes/ - Orchestration K8s (6 agents)
Déploiement et gestion Kubernetes.
| Agent |
Responsabilité |
Technologies |
orchestrator |
Coordination K8s |
- |
deployments |
Déploiements |
Deployment, ReplicaSet |
services |
Exposition |
Service, Ingress |
helm |
Charts Helm |
values.yaml, templates |
scaling |
Auto-scaling |
HPA, VPA, Keda |
config |
Configuration |
ConfigMaps, Secrets |
4. infrastructure/ - Infrastructure as Code (5 agents)
Provisionnement d'infrastructure.
| Agent |
Responsabilité |
Technologies |
orchestrator |
Coordination IaC |
- |
terraform |
Terraform |
HCL, modules, state |
aws |
Amazon Web Services |
EC2, RDS, S3, EKS |
gcp |
Google Cloud Platform |
GCE, GKE, Cloud SQL |
networking |
Réseau |
VPC, subnets, security groups |
5. monitoring/ - Observabilité (5 agents)
Métriques, logs et alertes.
| Agent |
Responsabilité |
Technologies |
orchestrator |
Coordination monitoring |
- |
prometheus |
Métriques |
Prometheus, exporters |
grafana |
Dashboards |
Grafana, panels |
logging |
Logs centralisés |
ELK, Loki, Fluentd |
alerting |
Alertes |
Alertmanager, PagerDuty |
6. deployment/ - Stratégies de déploiement (3 agents)
Patterns de déploiement avancés.
| Agent |
Responsabilité |
Technologies |
orchestrator |
Coordination déploiement |
- |
strategies |
Stratégies (Blue-Green, Canary) |
ArgoCD, Flux |
rollback |
Rollback et recovery |
Procédures, automation |
Total : 30 agents spécialisés
Règles de Routage
Par Type de Question
| Question |
Domaine |
| Pipeline CI/CD, GitHub Actions, GitLab CI |
cicd/ |
| Docker, Dockerfile, images |
containers/ |
| Kubernetes, Helm, pods, services |
kubernetes/ |
| Terraform, AWS, GCP, cloud |
infrastructure/ |
| Prometheus, Grafana, logs, alertes |
monitoring/ |
| Blue-Green, Canary, rollback |
deployment/ |
Par Mots-Clés
| Mots-clés |
Domaine/Agent |
| GitHub Actions, workflow, .github |
cicd/github-actions |
| GitLab CI, .gitlab-ci.yml |
cicd/gitlab-ci |
| Dockerfile, docker build, image |
containers/docker |
| docker-compose, services locaux |
containers/docker-compose |
| kubectl, deployment, pod, replica |
kubernetes/deployments |
| helm, chart, values.yaml |
kubernetes/helm |
| terraform, tf, HCL, plan, apply |
infrastructure/terraform |
| EC2, RDS, S3, Lambda, EKS |
infrastructure/aws |
| prometheus, metrics, scrape |
monitoring/prometheus |
| grafana, dashboard, panels |
monitoring/grafana |
| logs, ELK, Loki, Fluentd |
monitoring/logging |
| blue-green, canary, feature flag |
deployment/strategies |
Arbre de Décision
Requête DevOps
│
├─ Concerne les pipelines CI/CD ?
│ ├─ GitHub Actions → cicd/github-actions
│ ├─ GitLab CI → cicd/gitlab-ci
│ ├─ Qualité/coverage → cicd/quality-gates
│ └─ Patterns généraux → cicd/pipelines
│
├─ Concerne les containers ?
│ ├─ Dockerfile → containers/docker
│ ├─ Compose → containers/docker-compose
│ ├─ Registry → containers/registries
│ └─ Sécurité images → containers/security
│
├─ Concerne Kubernetes ?
│ ├─ Déploiements → kubernetes/deployments
│ ├─ Services/Ingress → kubernetes/services
│ ├─ Helm → kubernetes/helm
│ ├─ Scaling → kubernetes/scaling
│ └─ ConfigMaps/Secrets → kubernetes/config
│
├─ Concerne l'infrastructure ?
│ ├─ Terraform → infrastructure/terraform
│ ├─ AWS → infrastructure/aws
│ ├─ GCP → infrastructure/gcp
│ └─ Réseau → infrastructure/networking
│
├─ Concerne le monitoring ?
│ ├─ Métriques → monitoring/prometheus
│ ├─ Dashboards → monitoring/grafana
│ ├─ Logs → monitoring/logging
│ └─ Alertes → monitoring/alerting
│
├─ Concerne les stratégies de déploiement ?
│ ├─ Blue-Green, Canary → deployment/strategies
│ └─ Rollback → deployment/rollback
│
├─ Décision stratégique ?
│ └─ → skill direction-technique/infrastructure
│
└─ Process CI/CD ?
└─ → skill web-dev-process/setup
Interaction avec les Autres Skills
Flux Entrants
direction-technique/infrastructure ──► devops (stratégie → implémentation)
web-dev-process/setup/cicd ──► devops (process → implémentation)
lead-dev/delivery ──► devops (coordination → exécution)
Flux Sortants
devops ──► backend-developer (déploiement → app backend)
devops ──► frontend-developer (déploiement → app frontend)
devops ──► nextjs-expert (complément Next.js spécifique)
Points d'Escalade
Vers direction-technique
| Situation |
Raison |
| Choix de cloud provider |
Décision stratégique |
| Architecture infrastructure |
Impact long terme |
| Budget infrastructure |
Validation financière |
| Sécurité réseau globale |
Politique sécurité |
Vers lead-dev
| Situation |
Raison |
| Planification release |
Coordination équipe |
| Hotfix urgent |
Décision go/no-go |
| Rollback production |
Validation métier |
Vers l'humain
| Situation |
Raison |
| Accès credentials production |
Sensibilité sécurité |
| Incident P1/P2 |
Responsabilité |
| Coûts cloud imprévus |
Validation budget |
| Changement architecture majeur |
Impact business |
Security Best Practices
Le DevOps gère des opérations sensibles (secrets, déploiements, infrastructure). Appliquer ces principes de sécurité :
1. Gestion des Secrets
| Pratique |
Description |
| Ne jamais committer de secrets |
Pas de .env, credentials, API keys dans git |
| Variables d'environnement |
Utiliser les secrets managers (GitHub Secrets, GitLab CI/CD Variables) |
| Secrets par environnement |
Séparer dev, staging, production |
| Rotation régulière |
Changer les credentials périodiquement |
# ✅ Bon : référence à un secret
env:
DATABASE_URL: ${{ secrets.DATABASE_URL }}
# ❌ Mauvais : secret en clair
env:
DATABASE_URL: "postgresql://user:password@host:5432/db"
2. Scanning et Validation
| Outil |
Usage |
Intégration |
| Secret scanning |
Détection de secrets dans le code |
GitHub Advanced Security, GitLeaks |
| SAST |
Analyse statique sécurité |
SonarQube, Snyk Code |
| DAST |
Tests dynamiques |
OWASP ZAP |
| Container scanning |
Vulnérabilités images |
Trivy, Snyk Container |
| Dependency scanning |
Vulnérabilités deps |
Dependabot, npm audit |
# Pipeline avec security gates
jobs:
security:
steps:
- name: Secret Scan
uses: trufflesecurity/trufflehog@main
- name: SAST
uses: SonarSource/sonarcloud-github-action@master
- name: Container Scan
run: trivy image ${{ env.IMAGE }}
3. Infrastructure Security
| Domaine |
Bonnes Pratiques |
| Réseau |
VPC privés, security groups restrictifs, pas de 0.0.0.0/0 |
| IAM |
Principe du moindre privilège, pas de credentials root |
| Encryption |
At-rest et in-transit, KMS pour les clés |
| Logging |
CloudTrail/Audit logs activés, centralisation |
4. Container Security
Voir l'agent containers/security pour les détails complets :
- Images de base minimales (alpine, distroless)
- Utilisateur non-root dans les containers
- Scan des vulnérabilités avant push
- Pas de secrets dans les images
- Healthchecks configurés
5. Pipeline Security
| Risque |
Mitigation |
| Injection dans workflows |
Éviter ${{ github.event.*.body }} non échappé |
| Permissions excessives |
permissions: read-all par défaut |
| Actions tierces |
Pin par SHA, pas par tag |
| Artifacts sensibles |
Ne pas exposer de logs avec secrets |
# Sécurité pipeline GitHub Actions
permissions:
contents: read
pull-requests: write # Seulement si nécessaire
jobs:
build:
steps:
# ✅ Pin par SHA
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
# ❌ Pin par tag (peut changer)
- uses: actions/checkout@v4
6. Checklist Sécurité
## Pre-Deployment Security Checklist
### Secrets
- [ ] Aucun secret dans le code source
- [ ] Variables d'environnement configurées
- [ ] Secret scanning activé
### Scanning
- [ ] SAST passé (0 critical)
- [ ] Container scan passé
- [ ] Dependency audit passé
### Infrastructure
- [ ] Security groups restrictifs
- [ ] IAM least privilege
- [ ] Encryption activée
### Pipeline
- [ ] Permissions minimales
- [ ] Actions pinnées par SHA
- [ ] Logs sanitisés
Références
- Agent détaillé :
containers/security
- OWASP DevSecOps Guidelines
- CIS Benchmarks (Docker, Kubernetes)
Skills Associés
| Skill |
Niveau |
Relation |
direction-technique |
STRATÉGIE |
Reçoit les directives infra |
web-dev-process |
OPÉRATIONS |
Suit les process CI/CD |
lead-dev |
OPÉRATIONS |
Coordonne les releases |
backend-developer |
IMPLÉMENTATION |
Déploie les apps backend |
frontend-developer |
IMPLÉMENTATION |
Déploie les apps frontend |
nextjs-expert |
IMPLÉMENTATION |
Complément Vercel/Next.js |
Changelog
v1.0.0
- Création initiale avec 6 domaines et 30 agents
- Extraction depuis backend-developer/devops
- Position : NIVEAU 3 IMPLÉMENTATION
- Couverture : CI/CD, containers, K8s, IaC, monitoring, deployment
1---2name: devops3description: Expert DevOps pour CI/CD, containers, Kubernetes et Infrastructure as Code. Utilise ce skill quand: (1) mise en place de pipelines CI/CD, (2) containerisation avec Docker/K8s, (3) infrastructure as code (Terraform, Pulumi), (4) monitoring et alerting, (5) optimisation des déploiements, (6) sécurisation de l'infrastructure.4---56# DevOps Expert Skill78## Quick Start910```bash11# 1. Navigation rapide vers un agent12devops/agents/cicd/github-actions # Configurer GitHub Actions13devops/agents/containers/docker # Dockerfile et optimisation14devops/agents/kubernetes/deployments # Manifestes K8s15devops/agents/infrastructure/terraform # Infrastructure as Code16devops/agents/monitoring/prometheus # Métriques et alertes1718# 2. Exécuter les tests de validation19cd .web-agency/skills/devops && npm test2021# 3. Questions fréquentes22"Configurer une pipeline CI/CD ?" → cicd/github-actions23"Optimiser mon Dockerfile ?" → containers/docker24"Déployer sur Kubernetes ?" → kubernetes/deployments25"Créer mon infra avec Terraform ?" → infrastructure/terraform26"Configurer Prometheus/Grafana ?" → monitoring/prometheus27```2829## Position dans l'Architecture3031Ce skill est au **NIVEAU 3 : IMPLÉMENTATION**. Il implémente les décisions de `direction-technique` et les process de `web-dev-process`.3233```34┌─────────────────────────────────────────────────────────────────────┐35│ NIVEAU 1 : STRATÉGIE (direction-technique/infrastructure) │36│ → POURQUOI : Quelle stratégie CI/CD ? Quel cloud provider ? │37├─────────────────────────────────────────────────────────────────────┤38│ NIVEAU 2 : OPÉRATIONS │39│ ┌────────────────────────────┐ ┌────────────────────────────┐ │40│ │ web-dev-process │ │ lead-dev │ │41│ │ setup/ + deployment/ │ │ delivery/ │ │42│ │ QUOI : Process CI/CD │ │ QUI : Coordination │ │43│ └────────────────────────────┘ └────────────────────────────┘ │44├─────────────────────────────────────────────────────────────────────┤45│ NIVEAU 3 : IMPLÉMENTATION │46│ ┌────────────────────────────────────────────────────────────┐ │47│ │ devops ← CE SKILL │ │48│ │ COMMENT : Pipelines, containers, K8s, IaC, monitoring │ │49│ └────────────────────────────────────────────────────────────┘ │50└─────────────────────────────────────────────────────────────────────┘51```5253## Philosophie5455> Automatiser, fiabiliser, observer.5657Le DevOps est le **pont entre développement et opérations**. Il :58- ✅ Automatise les pipelines de build, test, deploy59- ✅ Conteneurise les applications60- ✅ Orchestre les déploiements (Kubernetes)61- ✅ Provisionne l'infrastructure (IaC)62- ✅ Observe et alerte (monitoring)6364Il ne fait PAS :65- ❌ Les décisions stratégiques d'infrastructure → `direction-technique`66- ❌ La définition des process CI/CD → `web-dev-process`67- ❌ La coordination des releases → `lead-dev`68- ❌ L'implémentation applicative → `backend-developer`, `frontend-developer`6970## Domaines et Agents (30 agents)7172### 1. cicd/ - Pipelines CI/CD (6 agents)7374Automatisation des builds, tests et déploiements.7576| Agent | Responsabilité | Technologies |77|-------|----------------|--------------|78| `orchestrator` | Coordination CI/CD | - |79| `github-actions` | Pipelines GitHub | GitHub Actions, workflows |80| `gitlab-ci` | Pipelines GitLab | GitLab CI, .gitlab-ci.yml |81| `pipelines` | Patterns de pipelines | Stages, jobs, cache |82| `quality-gates` | Validation qualité | SonarQube, coverage |83| `artifacts` | Gestion des artefacts | npm, Docker, releases |8485### 2. containers/ - Conteneurisation (5 agents)8687Docker et gestion des images.8889| Agent | Responsabilité | Technologies |90|-------|----------------|--------------|91| `orchestrator` | Coordination containers | - |92| `docker` | Dockerfile et build | Multi-stage, optimisation |93| `docker-compose` | Orchestration locale | docker-compose.yml |94| `registries` | Registres d'images | Docker Hub, ECR, GCR |95| `security` | Sécurité des images | Trivy, Snyk, best practices |9697### 3. kubernetes/ - Orchestration K8s (6 agents)9899Déploiement et gestion Kubernetes.100101| Agent | Responsabilité | Technologies |102|-------|----------------|--------------|103| `orchestrator` | Coordination K8s | - |104| `deployments` | Déploiements | Deployment, ReplicaSet |105| `services` | Exposition | Service, Ingress |106| `helm` | Charts Helm | values.yaml, templates |107| `scaling` | Auto-scaling | HPA, VPA, Keda |108| `config` | Configuration | ConfigMaps, Secrets |109110### 4. infrastructure/ - Infrastructure as Code (5 agents)111112Provisionnement d'infrastructure.113114| Agent | Responsabilité | Technologies |115|-------|----------------|--------------|116| `orchestrator` | Coordination IaC | - |117| `terraform` | Terraform | HCL, modules, state |118| `aws` | Amazon Web Services | EC2, RDS, S3, EKS |119| `gcp` | Google Cloud Platform | GCE, GKE, Cloud SQL |120| `networking` | Réseau | VPC, subnets, security groups |121122### 5. monitoring/ - Observabilité (5 agents)123124Métriques, logs et alertes.125126| Agent | Responsabilité | Technologies |127|-------|----------------|--------------|128| `orchestrator` | Coordination monitoring | - |129| `prometheus` | Métriques | Prometheus, exporters |130| `grafana` | Dashboards | Grafana, panels |131| `logging` | Logs centralisés | ELK, Loki, Fluentd |132| `alerting` | Alertes | Alertmanager, PagerDuty |133134### 6. deployment/ - Stratégies de déploiement (3 agents)135136Patterns de déploiement avancés.137138| Agent | Responsabilité | Technologies |139|-------|----------------|--------------|140| `orchestrator` | Coordination déploiement | - |141| `strategies` | Stratégies (Blue-Green, Canary) | ArgoCD, Flux |142| `rollback` | Rollback et recovery | Procédures, automation |143144**Total : 30 agents spécialisés**145146## Règles de Routage147148### Par Type de Question149150| Question | Domaine |151|----------|---------|152| Pipeline CI/CD, GitHub Actions, GitLab CI | `cicd/` |153| Docker, Dockerfile, images | `containers/` |154| Kubernetes, Helm, pods, services | `kubernetes/` |155| Terraform, AWS, GCP, cloud | `infrastructure/` |156| Prometheus, Grafana, logs, alertes | `monitoring/` |157| Blue-Green, Canary, rollback | `deployment/` |158159### Par Mots-Clés160161| Mots-clés | Domaine/Agent |162|-----------|---------------|163| GitHub Actions, workflow, .github | `cicd/github-actions` |164| GitLab CI, .gitlab-ci.yml | `cicd/gitlab-ci` |165| Dockerfile, docker build, image | `containers/docker` |166| docker-compose, services locaux | `containers/docker-compose` |167| kubectl, deployment, pod, replica | `kubernetes/deployments` |168| helm, chart, values.yaml | `kubernetes/helm` |169| terraform, tf, HCL, plan, apply | `infrastructure/terraform` |170| EC2, RDS, S3, Lambda, EKS | `infrastructure/aws` |171| prometheus, metrics, scrape | `monitoring/prometheus` |172| grafana, dashboard, panels | `monitoring/grafana` |173| logs, ELK, Loki, Fluentd | `monitoring/logging` |174| blue-green, canary, feature flag | `deployment/strategies` |175176## Arbre de Décision177178```179Requête DevOps180│181├─ Concerne les pipelines CI/CD ?182│ ├─ GitHub Actions → cicd/github-actions183│ ├─ GitLab CI → cicd/gitlab-ci184│ ├─ Qualité/coverage → cicd/quality-gates185│ └─ Patterns généraux → cicd/pipelines186│187├─ Concerne les containers ?188│ ├─ Dockerfile → containers/docker189│ ├─ Compose → containers/docker-compose190│ ├─ Registry → containers/registries191│ └─ Sécurité images → containers/security192│193├─ Concerne Kubernetes ?194│ ├─ Déploiements → kubernetes/deployments195│ ├─ Services/Ingress → kubernetes/services196│ ├─ Helm → kubernetes/helm197│ ├─ Scaling → kubernetes/scaling198│ └─ ConfigMaps/Secrets → kubernetes/config199│200├─ Concerne l'infrastructure ?201│ ├─ Terraform → infrastructure/terraform202│ ├─ AWS → infrastructure/aws203│ ├─ GCP → infrastructure/gcp204│ └─ Réseau → infrastructure/networking205│206├─ Concerne le monitoring ?207│ ├─ Métriques → monitoring/prometheus208│ ├─ Dashboards → monitoring/grafana209│ ├─ Logs → monitoring/logging210│ └─ Alertes → monitoring/alerting211│212├─ Concerne les stratégies de déploiement ?213│ ├─ Blue-Green, Canary → deployment/strategies214│ └─ Rollback → deployment/rollback215│216├─ Décision stratégique ?217│ └─ → skill direction-technique/infrastructure218│219└─ Process CI/CD ?220 └─ → skill web-dev-process/setup221```222223## Interaction avec les Autres Skills224225### Flux Entrants226227```228direction-technique/infrastructure ──► devops (stratégie → implémentation)229web-dev-process/setup/cicd ──► devops (process → implémentation)230lead-dev/delivery ──► devops (coordination → exécution)231```232233### Flux Sortants234235```236devops ──► backend-developer (déploiement → app backend)237devops ──► frontend-developer (déploiement → app frontend)238devops ──► nextjs-expert (complément Next.js spécifique)239```240241## Points d'Escalade242243### Vers direction-technique244245| Situation | Raison |246|-----------|--------|247| Choix de cloud provider | Décision stratégique |248| Architecture infrastructure | Impact long terme |249| Budget infrastructure | Validation financière |250| Sécurité réseau globale | Politique sécurité |251252### Vers lead-dev253254| Situation | Raison |255|-----------|--------|256| Planification release | Coordination équipe |257| Hotfix urgent | Décision go/no-go |258| Rollback production | Validation métier |259260### Vers l'humain261262| Situation | Raison |263|-----------|--------|264| Accès credentials production | Sensibilité sécurité |265| Incident P1/P2 | Responsabilité |266| Coûts cloud imprévus | Validation budget |267| Changement architecture majeur | Impact business |268269## Security Best Practices270271Le DevOps gère des opérations sensibles (secrets, déploiements, infrastructure). Appliquer ces principes de sécurité :272273### 1. Gestion des Secrets274275| Pratique | Description |276|----------|-------------|277| **Ne jamais committer de secrets** | Pas de `.env`, credentials, API keys dans git |278| **Variables d'environnement** | Utiliser les secrets managers (GitHub Secrets, GitLab CI/CD Variables) |279| **Secrets par environnement** | Séparer dev, staging, production |280| **Rotation régulière** | Changer les credentials périodiquement |281282```yaml283# ✅ Bon : référence à un secret284env:285 DATABASE_URL: ${{ secrets.DATABASE_URL }}286287# ❌ Mauvais : secret en clair288env:289 DATABASE_URL: "postgresql://user:password@host:5432/db"290```291292### 2. Scanning et Validation293294| Outil | Usage | Intégration |295|-------|-------|-------------|296| **Secret scanning** | Détection de secrets dans le code | GitHub Advanced Security, GitLeaks |297| **SAST** | Analyse statique sécurité | SonarQube, Snyk Code |298| **DAST** | Tests dynamiques | OWASP ZAP |299| **Container scanning** | Vulnérabilités images | Trivy, Snyk Container |300| **Dependency scanning** | Vulnérabilités deps | Dependabot, npm audit |301302```yaml303# Pipeline avec security gates304jobs:305 security:306 steps:307 - name: Secret Scan308 uses: trufflesecurity/trufflehog@main309 - name: SAST310 uses: SonarSource/sonarcloud-github-action@master311 - name: Container Scan312 run: trivy image ${{ env.IMAGE }}313```314315### 3. Infrastructure Security316317| Domaine | Bonnes Pratiques |318|---------|------------------|319| **Réseau** | VPC privés, security groups restrictifs, pas de 0.0.0.0/0 |320| **IAM** | Principe du moindre privilège, pas de credentials root |321| **Encryption** | At-rest et in-transit, KMS pour les clés |322| **Logging** | CloudTrail/Audit logs activés, centralisation |323324### 4. Container Security325326Voir l'agent `containers/security` pour les détails complets :327328- Images de base minimales (alpine, distroless)329- Utilisateur non-root dans les containers330- Scan des vulnérabilités avant push331- Pas de secrets dans les images332- Healthchecks configurés333334### 5. Pipeline Security335336| Risque | Mitigation |337|--------|------------|338| Injection dans workflows | Éviter `${{ github.event.*.body }}` non échappé |339| Permissions excessives | `permissions: read-all` par défaut |340| Actions tierces | Pin par SHA, pas par tag |341| Artifacts sensibles | Ne pas exposer de logs avec secrets |342343```yaml344# Sécurité pipeline GitHub Actions345permissions:346 contents: read347 pull-requests: write # Seulement si nécessaire348349jobs:350 build:351 steps:352 # ✅ Pin par SHA353 - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11354 # ❌ Pin par tag (peut changer)355 - uses: actions/checkout@v4356```357358### 6. Checklist Sécurité359360```markdown361## Pre-Deployment Security Checklist362363### Secrets364- [ ] Aucun secret dans le code source365- [ ] Variables d'environnement configurées366- [ ] Secret scanning activé367368### Scanning369- [ ] SAST passé (0 critical)370- [ ] Container scan passé371- [ ] Dependency audit passé372373### Infrastructure374- [ ] Security groups restrictifs375- [ ] IAM least privilege376- [ ] Encryption activée377378### Pipeline379- [ ] Permissions minimales380- [ ] Actions pinnées par SHA381- [ ] Logs sanitisés382```383384### Références385386- Agent détaillé : `containers/security`387- OWASP DevSecOps Guidelines388- CIS Benchmarks (Docker, Kubernetes)389390## Skills Associés391392| Skill | Niveau | Relation |393|-------|--------|----------|394| `direction-technique` | STRATÉGIE | Reçoit les directives infra |395| `web-dev-process` | OPÉRATIONS | Suit les process CI/CD |396| `lead-dev` | OPÉRATIONS | Coordonne les releases |397| `backend-developer` | IMPLÉMENTATION | Déploie les apps backend |398| `frontend-developer` | IMPLÉMENTATION | Déploie les apps frontend |399| `nextjs-expert` | IMPLÉMENTATION | Complément Vercel/Next.js |400401## Changelog402403### v1.0.0404- Création initiale avec 6 domaines et 30 agents405- Extraction depuis backend-developer/devops406- Position : NIVEAU 3 IMPLÉMENTATION407- Couverture : CI/CD, containers, K8s, IaC, monitoring, deployment