12 Commits

Author SHA1 Message Date
syoul
9fb80ef59f fix: sbom-generate - inclure node_modules pour SBOM complet
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Retirer l'exclusion des node_modules permet a Syft de scanner
les paquets reellement installes (transitifs inclus).
Seuls les artefacts de build sont exclus (build/, .next/, out/).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 20:42:49 +01:00
syoul
53ceb29bbe fix: sbom-generate - scanner le repertoire source au lieu de l'image Docker
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Les vars CI (CI_REPO_OWNER etc.) ne sont pas injectees dans les steps
avec volumes: sans environment: (bug Woodpecker next). Supprimer le
docker socket et scanner dir:. evite le probleme et donne un SBOM
complet des dependances npm declarees.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 19:20:47 +01:00
syoul
7862bb11b7 fix: sbom-generate - calculer le nom image depuis les vars CI
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Remplace la lecture de .env.deploy par un recalcul direct
depuis CI_REPO_OWNER/CI_REPO_NAME/CI_COMMIT_BRANCH (meme
logique que write-env), evitant la dependance sur le fichier.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 19:13:00 +01:00
syoul
42b3d28505 feat: integrer SBOM dans la pipeline CI
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
- sbom-generate: Syft scanne l'image Docker buildee (radar-business)
- sbom-scan: Trivy CVE depuis le SBOM (cache /home/syoul/trivy-cache)
- sbom-publish: envoi vers Dependency-Track (dtrack.syoul.fr)
Nouveau secret requis: dependency_track_token

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 19:04:20 +01:00
syoul
a2fbbe5d44 fix: restaurer cd .. après radar-app (shell partagé dans Woodpecker)
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Les commandes d'un step partagent le même shell dans Woodpecker.
cd radar-app persiste aux commandes suivantes — cd .. est nécessaire.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 18:43:50 +01:00
syoul
e1447aca28 fix: resynchroniser radar-app/package-lock.json + sous-shell Woodpecker
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
- radar-app/package-lock.json : lock file désynchronisé (Next.js 15 -> 16), ajout au suivi git
- .woodpecker.yml : supprimer && cd .. inutile (chaque commande = sous-shell séparé dans Woodpecker next)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 18:41:04 +01:00
syoul
7bb7484ec8 ci: corrections conformité prestashop
- Ajout step validate (docker compose config avec placeholder)
- Remplacement export \$(cat .env.deploy | xargs) → --env-file .env.deploy
- SERVICE_3000_TAGS : urlprefix-DOMAIN/ → urlprefix-DOMAIN/* (match tous les paths)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 18:33:40 +01:00
syoul
940834d993 refactor: COMPOSE_PROJECT_NAME dynamique depuis les vars CI
docker-compose.business.yml:
- Ajout name: ${COMPOSE_PROJECT_NAME:-ajr-techradardev-main}
- container_name et SERVICE_3000_NAME utilisent COMPOSE_PROJECT_NAME

.woodpecker.yml:
- write-env génère COMPOSE_PROJECT_NAME=owner-repo-branch (même convention que prestashop)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 18:31:05 +01:00
syoul
fa0aa808ac feat: intégration Fabio/Consul/Registrator + TLS acme.sh
docker-compose.business.yml:
- Suppression version: obsolete et ports: (Fabio gère le routing)
- Ajout labels SERVICE_3000_* pour Registrator/Consul/Fabio
- Ajout LETSENCRYPT_HOST pour sonic-acme-1
- Ajout réseau sonic (externe, partagé avec la stack)

.woodpecker.yml:
- Ajout write-env (RADAR_DOMAIN depuis secret, séparé car from_secret + volumes incompatibles)
- Ajout TLS acme.sh dans deploy (idempotent, exit 2 = skip)
- Healthcheck sur https://RADAR_DOMAIN (100s max)

Secret Woodpecker à créer : radar_domain

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 18:29:39 +01:00
syoul
002764ea9a ci: aligner pipeline sur le modèle de référence (fabio/consul/registrator)
- Suppression de deploy-rsync (hors stack)
- Renommage deploy-docker → deploy
- Ajout healthcheck (curl localhost:3006, max 100s)
- Remplacement notify Telegram/vars Drone → notify-failure avec vars CI
  ($CI_BUILD_NUMBER, $CI_COMMIT_SHA, $CI_COMMIT_BRANCH)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 18:26:52 +01:00
syoul
7c4204c689 ci: correction syntaxe Woodpecker (.woodpecker.yml)
- Suppression des headers Drone CI (kind/type/name)
- Déplacement du trigger when: au niveau global
- Volumes inline (host:container) au lieu des named volumes
- Suppression de la section volumes: Drone en bas de fichier
- Correction $$ → $ pour les variables dans les commandes
- Chaînage des cd avec && pour les commandes radar-app
- Image docker:27-cli cohérente avec le modèle de référence

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 18:03:33 +01:00
syoul
27685ee250 docs: mise à jour du README et ajout de la configuration CI Woodpecker
- Réécriture complète du README pour le projet stand-alone Techradar Laplank
- Ajout de .woodpecker.yml pour la pipeline CI/CD
- Mise à jour du .gitignore pour exclure les dossiers docs/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 17:34:12 +01:00